1.一种虚拟系统蓝牙通信方法,包括:
响应于虚拟机的蓝牙组件的操作指令,调用虚拟机的虚拟蓝牙前端的虚拟蓝牙通讯接口函数;
主机的虚拟蓝牙后端通过跨系统通信的方式获取所述操作指令的参数;
所述主机的虚拟蓝牙后端基于所述操作指令的参数调用主机内核的蓝牙驱动函数以控制蓝牙组件。
2.根据权利要求1所述的方法,还包括:
所述主机的虚拟蓝牙后端接收来自主机内核的串口数据;
所述主机的虚拟蓝牙后端通过跨系统通信的方式将所述串口数据传到所述虚拟蓝牙前端;
所述虚拟蓝牙前端将所述串口数据传到虚拟机的应用。
3.根据权利要求1或2所述的虚拟系统蓝牙通信方法,其特征在于,
所述虚拟系统包括多个虚拟机,所述多个虚拟机共用所述主机的虚拟蓝牙后端。
4.根据权利要求1所述的方法,所述调用虚拟机的虚拟蓝牙前端的虚拟蓝牙通讯接口函数包括:
将所述操作指令通过虚拟蓝牙Java接口传输至所述虚拟机的框架层;
通过所述框架层将所述操作指令传输至所述虚拟机的协议层以便于对所述操作指令按预设协议进行封装;
根据所述封装后的操作指令调用虚拟蓝牙通讯接口函数。
5.根据权利要求1所述的方法,所述跨系统通信方式包括:
共享内存、QEMU模拟器管道或Virtio驱动中的任意一种。
6.根据权利要求1所述的方法,所述操作指令包括以下情况至少一种:
对蓝牙组件的打开、关闭、扫描、配对、连接、硬件通讯接口配置、从硬件通讯接口读取数据以及通过硬件通讯接口向蓝牙芯片写入数据;
其中,所述硬件通讯接口包括串口或USB接口。
7.一种虚拟系统蓝牙通信装置,包括:
虚拟蓝牙前端,设置于虚拟机,设置为响应虚拟机的蓝牙组件的操作指令调用虚拟蓝牙通讯接口函数;
虚拟蓝牙后端,设置于主机,设置为通过跨系统通信的方式获取所述操作指令的参数,基于所述操作指令的参数调用主机内核的蓝牙驱动函数以控制蓝牙组件。
8.根据权利要求7所述的装置,所述跨系统通信方式包括:
共享内存、QEMU模拟器管道或Virtio驱动中的任意一种。
9.一种虚拟系统,所述虚拟系统包括:
虚拟蓝牙前端,用于响应所述虚拟机的蓝牙组件的操作指令调用虚拟蓝牙通讯接口函数,通过跨系统通信的方式与主机的虚拟蓝牙后端之间传输数据。
10.一种存储介质,设置为存储程序代码,所述程序代码用于执行权利要求1至6中任一项所述方法。
11.一种电子设备,包括:
处理器;以及
存储器,设置为存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行以下操作:
响应于虚拟机的蓝牙组件的操作指令,调用虚拟机的虚拟蓝牙前端的虚拟蓝牙通讯接口函数;
主机的虚拟蓝牙后端通过跨系统通信的方式获取所述操作指令的参数;
所述主机的虚拟蓝牙后端基于所述操作指令的参数调用主机内核的蓝牙驱动函数以控制蓝牙组件。