CN107278293B - 虚拟机的传感器实现装置及其方法 - Google Patents
虚拟机的传感器实现装置及其方法 Download PDFInfo
- Publication number
- CN107278293B CN107278293B CN201780000615.6A CN201780000615A CN107278293B CN 107278293 B CN107278293 B CN 107278293B CN 201780000615 A CN201780000615 A CN 201780000615A CN 107278293 B CN107278293 B CN 107278293B
- Authority
- CN
- China
- Prior art keywords
- sensor
- sensor data
- virtual machine
- hardware
- operating system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004088 simulation Methods 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 230000001960 triggered effect Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000252229 Carassius auratus Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本发明实施例公开了一种虚拟机的传感器实现装置及其方法。该装置包括:主操作系统以及客户操作系统,所述主操作系统运行有用于提供模拟硬件的虚拟机,所述客户操作系统基于所述模拟硬件运行。其中,所述主操作系统包括:虚拟机服务单元,用于获取硬件传感器的传感器数据并发送所述传感器数据;所述虚拟机包括:后端支持单元,用于接收所述虚拟机服务单元发送的传感器数据并提供给所述客户操作系统;所述客户操作系统包括:硬件抽象层单元,用于读取所述后端支持单元提供的传感器数据。
Description
技术领域
本发明涉及虚拟机技术领域,特别是涉及虚拟机的传感器实现装置及其方法。
背景技术
虚拟机是指通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的计算机系统。在虚拟机应用环境中,多个不同的操作系统基于模拟硬件,共享物理硬件设备,例如CPU,内存和输入输出设备等。
一般的,可以将物理存在的计算机称为“主机”(HOST),在主机上运行的操作系统可以称为主机操作系统(HOST OS),其它的操作系统则可以被称为客户操作系统(GUESTOS)。
虚拟机可以作为主机操作系统内的其中一个应用程序运行,提供模拟硬件设备供客户操作系统使用。例如现有技术中由Google公司提供的“goldfish”虚拟硬件平台,其可以支持在QEMU虚拟机支持下虚拟安卓操作系统。
为在虚拟机中实现传感器设备,现有技术中通常在虚拟机中实现一个能够支持传感器设备运行的后端程序。后端程序通过获取主操作系统中的硬件传感器的传感器数据或者生成的模拟传感器数据,并且将这些传感器数据发送到客户操作系统中。客户操作系统中则由硬件抽象层程序接收、解析这些传感器数据或者与后端程序通信实现对客户操作系统中的模拟的传感器设备(虚拟机提供)的操作。
申请人在研究现有技术的过程中发现:在现有传感器设备实现过程中,由于在虚拟机的后端程序获取传感器数据后,需要首先对数据进行解析和分类,才能将传感器数据逐条发送到客户操作系统中。因此,每次传感器数据的发送均需要进行一次操作系统的切换操作(即需要从主操作系统切换至客户操作系统)。而频繁的切换操作系统会导致系统能耗的上升。
发明内容
本发明实施例主要解决相关技术中传感器数据发送时,需要频繁切换操作系统导致系统能耗上升的问题。
为解决上述技术问题,本发明实施例采用的一个技术方案是:提供一种虚拟机的传感器实现装置,包括主操作系统以及客户操作系统,所述主操作系统运行有用于提供模拟硬件的虚拟机,所述客户操作系统基于所述模拟硬件运行。所述主操作系统包括:虚拟机服务单元,用于获取硬件传感器的传感器数据并发送所述传感器数据;所述虚拟机包括:后端支持单元,用于接收所述虚拟机服务单元发送的传感器数据并即时发送给所述客户操作系统;所述客户操作系统包括:硬件抽象层单元,用于读取所述后端支持单元提供的传感器数据。
为解决上述技术问题,本发明实施例采用的另一个技术方案是:提供一种应用如上所述的传感器实现装置的传感器实现方法。该方法包括:获取硬件传感器的传感器数据;发送所述传感器数据至所述后端支持单元中;通过所述后端支持单元将所述传感器数据提供给所述客户操作系统;读取所述后端支持单元提供的传感器数据。
本发明实施例提供的传感器实现方法及其装置,通过在主操作系统中引入一个额外的功能模块-虚拟机服务单元,用以对传感器数据进行处理和发送,令后端程序仅作为连接通道,用于在主操作系统和客户操作系统之间传输数据,即时将接收的传递传感器数据至客户操作系统中,避免不同操作系统的频繁切换。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的传感器实现装置的应用环境示意图;
图2是本发明实施例提供的传感器实现装置的结构示意图;
图3是本发明实施例提供的虚拟机服务单元的数据交互示意图;
图4是本发明实施例提供的后端支持单元的数据交互示意图;
图5是本发明实施例提供的硬件抽象层单元的数据交互示意图;
图6是本发明实施例提供的传感器实现方法的方法流程图;
图7是本发明实施例提供的定时发送传感器数据的方法流程图;
图8是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1为应用本发明实施例提供的传感器实现装置的应用环境。如图1所示,该应用环境中包括:物理硬件设备10、主操作系统11以及若干个客户操作系统12。
所述物理硬件设备10可以包括任何合适的,组成完整计算机系统的设备组件,包括处理器101、存储介质102、输入/输出设备103、传感器设备104以及通信模组105。
其中,处理器101可以是任何合适类型的,具有一定逻辑运算能力的处理器,例如中央处理器、图形处理器等。处理器101还可以包括用于多线程或并行处理的多个核心。
存储介质102可以包括内存模块,例如ROM、RAM、闪存模块,以及大容量存储器,例如光盘和硬盘。存储介质102中存储有计算机程序,当处理器101执行这些计算机程序时,可以实现各种方法步骤或流程。
输入/输出设备103可以是任何合适类型的,提供一种或者多种用户交互方式的外围设备,例如接收用户动作操作指令的鼠标、键盘或者触摸输入屏,用于采集图像信息的体感摄像机、用于采集声音信息的麦克风或者向用户展示图像信息的显示屏或者用于输出音频的扬声器。所述输入/输出设备103可以选择使用有线或者无线的外围设备连接方式,例如USB线缆或者蓝牙连接。
传感器设备104可以是任何合适的,能够感知被检测信息并将被检测信息转换为电信号或者其它合适形式的输出信息的检测装置。所述传感器设备可以用于各种不同类型的被检测信息,具有相应的一种或者多种感知功能,例如对温度,光照强度、气压、加速度、旋转角度、磁场状态、湿度、声音等信息的检测。该传感器设备104可以包括一个或者多个分立的传感器,分别用于检测不同的信息,以满足使用的要求。
通信模组105可以包括某些通过有线或者无线通信网络建立连接的网络接口设备。例如,网线接口、总线接口、USB接口、WiFi模组或者蓝牙通信模组等。
在实际应用过程中,所述物理硬件设备10还可以添加或者减省一个或者多个设备,用以满足不同的实际应用情况需求,例如增加数据库或者服务器设备。
所述主操作系统11以及若干个客户操作系统12之间共享所述物理硬件设备。在客户操作系统12运行时,虚拟机在物理硬件设备的基础上,模拟硬件设备供其使用。而所述虚拟机作为主操作系统中的其中一个应用程序运行。
不同的操作系统之间存在有内存隔离,主操作系统也不能够访问客户操作系统的内存空间。这样的,在存在2个以上的客户操作系统时,当其中一个客户操作系统因为异常重新启动时,主操作系统和其它客户操作系统还可以正常运行,相互隔离。
当然,由于虚拟机是作为主操作系统中的应用程序运行的。因此,在主操作系统因为异常重新启动时,所有的客户操作系统都需要随之重新启动。
所述主操作系统和客户操作系统均可以是任何合适类型的操作系统,用以接收用户指令并据此输出对应的处理结果向用户展示。主操作系统11使用所述物理硬件设备10的硬件设备。客户操作系统则使用由虚拟机提供的模拟硬件设备。所述虚拟机可以基于所述物理硬件设备或者其它虚拟机提供的模拟硬件设备的基础,提供模拟硬件设备供客户操作系统使用。
其中,在该虚拟机系统中,任意一个客户操作系统中12使用的传感器设备均需要通过虚拟机提供。在虚拟机上实现模拟传感器设备的过程可以基于本发明实施例提供的传感器实现装置来完成,以降低系统的能耗和提高效率。
图2为本发明实施例提供的传感器实现装置的结构示意图。如图2所示,所述传感器实现装置包括:物理硬件层20,用户操作系统21,虚拟机22以及客户操作系统23。
所述物理硬件层包括主机操作系统21和客户操作系统23共享的硬件设备,可以包括上述物理硬件设备中的一种或者多种,例如中央处理器(CPU)、存储介质、显示屏(LCD)或者传感器等其它外围设备。
相对应的,使用该物理硬件层的主操作系统21中包括传感器驱动单元212。所述传感器驱动单元212可以获取物理硬件设备中硬件传感器获得的检测数据,例如加速度变化、方位变化或者温度变化等。所述传感器驱动单元212还可以用于根据指令,控制传感器执行与指令对应的操作,例如控制传感器的开启/关闭或者获取传感器的属性或者配置信息。
所述主操作系统21中还包括一虚拟机服务单元211。所述虚拟机服务单元211用于通过传感器驱动单元212获取硬件传感器的传感器数据并发送所述传感器数据。可选地,所述虚拟机服务单元211还可以进一步的对所述传感器数据进行归类、解析或者其它合适的处理。
所述传感器数据包括传感器检测获得的检测数据,也可以包括一些与传感器自身相关的属性或者配置信息,例如传感器的输出端口配置,传感器的误差范围等。在一些实施例中,所述虚拟机服务单元211可以选择获取其中的一种或者多种传感器数据,具体根据输入至所述虚拟机服务单元211的控制指令所确定。
当然,所述虚拟机服务单元211和所述传感器驱动单元212这两个功能模块还可以整合到同一个功能模块中,执行上述的两种功能或者根据实际需要,添加或者减省一个或者多个其它的功能单元。
所述客户操作系统23包括硬件抽象层单元231。所述硬件抽象层单元231用于读取所述后端支持单元传输至所述客户操作系统的传感器数据,从而实现客户操作系统对于其对应的模拟传感器的控制。
当然,为完整的在客户操作系统中实现模拟传感器,所述客户操作系统中还可以包括相应的模拟传感器服务单元232以及模拟传感器驱动单元233,以实现对模拟传感器相对应的操作。
虚拟机22中包括后端支持单元221。所述后端支持单元221用于接收所述虚拟机服务单元211发送的传感器数据并传输至所述客户操作系统23的硬件抽象层单元231中。
亦即所述后端支持单元221的功能是作为一个连接通道,用于连接主操作系统与客户操作系统,在所述虚拟机服务单元211和硬件抽象层单元231中传递数据流。
例如,所述后端支持单元221既可以接收来自于客户操作系统的控制指令(由硬件抽象层单元231发出),使虚拟机提供的模拟传感器设备执行对应的操作。可选地,所述控制指令可以包括:查询传感器列表、查询传感器属性、使能传感器或者不使能传感器中的一种或者多种。虚拟机22则可以根据该控制指令,对模拟传感器执行相应操作后,反馈至客户操作系统。
所述后端支持单元221还可以接收来自主操作系统中虚拟机服务单元211提供的传感器数据,并将其即时、直接转送至客户操作系统的硬件抽象层单元231,提供给客户操作系统使用。
在上述实施例中公开的传感器实现装置中,由于在主操作系统中引入了虚拟机传感器服务单元,将获取硬件传感器的传感器数据在主操作系统中完成。这样的,后端支持单元221只需要作为数据传输的通道,在接收到传感器数据后,提供给客户操作系统,由客户操作系统中一系列功能模块(如硬件抽象层单元)完成检测数据的读取、传感器属性或者配置信息的获取或者对传感器设备的控制等操作(针对于模拟传感器)。
在另一些实施例中,所述传感器实现装置还可以包括一定时器24。所述定时器以预定的时间周期触发,为整个装置提供持续的时间周期输出。所述虚拟机服务单元211可以与所述定时器24连接,根据定时器24提供的时间周期,定时的发送已获取的传感器数据。可选地,还可以通过其它合适的软件、硬件或者软硬件结合的方式提供时间或者时间周期信息,实现所述定时器,以使所述虚拟机服务单元211定时发送传感器数据。
所述预定的时间周期可以根据实际情况设置或者调整,例如1s或者更长/更短的周期,取决于客户操作系统的需求等。
以下结合图3-图5提供的实施例,详细说明通过虚拟机服务单元211、后端支持单元221以及硬件抽象层单元231三者之间的数据交互,在虚拟机上实现模拟传感器的具体实现策略。
图3为本发明实施例提供的虚拟机服务单元211的数据交互示意图。如图3所示,所述虚拟机服务单元211包括虚拟机服务控制子单元211a以及虚拟机服务单元缓存211b。
其中,所述虚拟机服务控制子单元211a用于:在所述定时器24未触发时,将获取的传感器数据保存在所述虚拟机服务单元缓存211b中以及在所述定时器24触发时,从所述虚拟机服务单元缓存211b中读取所述传感器数据后,发送至所述后端支持单元221。
亦即虚拟机服务单元211中维护有缓存,用以存储传感器数据。在未达到发送时刻时,传感器数据存储在缓存中。而在发送时刻时,从缓存中读取数据并清空缓存,供另一个传感器数据写入,在下一个发送时刻发送。
图4为本发明实施例提供的后端支持单元221的数据交互的示意图。该后端支持单元221是虚拟机22中用以支持模拟传感器设备运行的后端程序,而该模拟传感器设备供客户操作系统使用。
如图4所示,所述后端支持单元221作为虚拟机服务单元211与硬件抽象层单元231之间的数据交互通道,实现主操作系统与客户操作系统之间的数据交流,将数据传输至对应的功能模块单元中,例如,接收来自客户操作系统的控制命令或者接收来自虚拟机服务单元211的数据,并将这些数据直接传递给客户操作系统。
图5为本发明实施例提供的硬件抽象层单元231的数据交互的示意图。硬件抽象层(Hardware Abstract Level HAL)是指位于操作系统内核和硬件设备之间的接口层,用于将硬件抽象化,隐藏硬件接口系统以提供虚拟硬件平台供用户使用。
在本实施例中的硬件抽象层单元231与虚拟机的后端支持单元221建立连接,一方面可以将一些控制指令发送至后端程序的方式完成客户操作系统对其使用的模拟传感器设备的控制,例如,使能/不使能传感器、查询传感器属性等。另外,硬件抽象层单元231还可以读取经由后端支持单元221传输的传感器数据,并将这些传感器数据提供给客户操作系统内核中的传感器服务程序使用。
在一些情况下,硬件抽象层单元231获取的传感器数据可能暂时并未上传至上层的模拟传感器服务单元中。由此,如图5所示,所述硬件抽象层单元231可以包括硬件抽象层控制子单元231a和硬件抽象层缓存231b。
其中,所述硬件抽象层控制子单元231a用于读取所述传感器数据并且将所述传感器数据传递至模拟传感器服务单元中。所述硬件抽象层缓存231b则用于存储尚未传递的传感器数据。
这样的,在上层的模拟传感器服务单元需要调用传感器数据时,所述硬件抽象层控制子单元231a优先读取存储在所述硬件抽象层缓存231b内的传感器数据。
亦即,硬件抽象层单元231中维护有一个硬件抽象层缓存。硬件抽象层单元231将一些暂时尚未向上传递的数据保存在该硬件抽象层缓存中。然后,当模拟传感器服务单元下一次请求调用传感器数据时,在该硬件抽象层缓存中获取尚未处理的传感器数据。
基于上述实施例提供的传感器实现装置,本发明实施例还进一步提供了一种在虚拟机上的传感器实现方法。图6为本发明实施例提供的传感器实现方法的方法流程图。
如图6所示,该方法可以包括如下步骤:
100、获取硬件传感器的传感器数据。该硬件传感器可以是图1中所示的物理硬件设备中的一种或者多种传感器,包括但不限于重力传感器、加速度传感器或者光照传感器等。该传感器数据可以是某段时间内传感器的检测数据,也可能是与传感器的本质属性相关的数据,例如配置信息,传感器设备列表等。
200、发送所述传感器数据至所述后端支持单元中。在本实施例中,步骤100和步骤200均在主操作系统中完成。亦即,对于传感器的解析或者分类等传感器数据的获取操作均在主操作系统中完成。
300、通过所述后端支持单元将所述传感器数据提供给所述客户操作系统。在主操作系统中获取传感器数据完毕后,其经由支持模拟传感器的后端支持单元传输至客户操作系统中。
400、读取所述后端支持单元提供的传感器数据。该传感器数据由硬件抽象层单元读取并进一步的传递至上层的传感器服务程序等使用,完成完整的传感器实现过程。
在本发明实施例提供的传感器实现方法中,由于在主操作系统中已经完成传感器数据的获取操作。因此,后端支持单元不需要自行在主操作系统中获取数据并进行解析或者分类处理。这样的,与现有的传感器实现流程相比,在发送数据时,不需要从主操作系统切换至客户操作系统后,再由硬件抽象层读取的方式来完成,而可以由主操作系统直接通过虚拟机中的后端支持单元发送至客户操作系统,进而减少客户操作系统与主操作系统之间的切换次数,降低系统的功耗。
在另一些实施例中,所述传感器数据的发送方式是定时发送的。由此,可以通过设置定时器等方式,根据定时器提供的时间周期,定时的将已获取的传感器数据发送至所述后端支持单元。
图7为本发明实施例提供的定时发送传感器数据的方法流程图。如图7所示,该方法包括:
210:判断定时器是否触发。若否则执行步骤220,若是则执行步骤230。
220:缓存获取的传感器数据。
230:读取所述缓存的传感器数据并发送至所述后端支持单元。当然,在读取缓存中的传感器数据后,还需要进一步清空传感器缓存(步骤240),以使另一个需要暂存的传感器数据可以写入。
在传感器设备实现方法中,在读取即时传递至所述客户操作系统的传感器数据后(步骤400),还需要进一步的将这些数据提供或传递至上层的传感器服务程序。
当然,与定时发送传感器数据相类似的,在提供或传递至上层的传感器服务程序过程中,也可以维护另一个缓存,将尚未传递至上层的传感器数据存储在缓存中,并在传感器服务程序下一次调用时,优先从缓存内获取传感器数据。
应当说明的是,上述实施例中提供的传感器实现方法和传感器实现装置均是基于相同的发明构思。因此,传感器实现方法中各个具体实施例的步骤均可以由对应的功能模块所执行,功能模块中具体的功能也可以在所述传感器方法中具有对应的方法步骤,在此不再赘述。
图8为本发明实施例提供的电子设备的硬件结构示意图。如图8所示,该设备80包括:一个或多个处理器810以及存储器820,图8中以一个处理器810为例。
其中,处理器810、存储器820可以通过总线或者其他方式连接,图8中以通过总线连接为例。
存储器820作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的传感器实现方法对应的程序指令/模块(例如,图2所示的虚拟机服务单元211、后端支持单元221以及硬件抽象层单元231)。处理器810通过运行存储在存储器820中的非易失性软件程序、指令以及模块,从而执行的传感器实现装置的各种功能应用以及数据处理,即实现上述方法实施例的传感器实现方法。
存储器820可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据传感器实现装置的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器820可选包括相对于处理器810远程设置的存储器,这些远程存储器可以通过网络连接至传感器实现装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器820中,当被所述一个或者多个处理器810执行时,执行上述任意方法实施例中的传感器实现方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的传感器实现方法,例如,执行以上描述的图6中的方法步骤100-400,实现图2中相应功能模块的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (16)
1.一种虚拟机的传感器实现装置,包括主操作系统以及客户操作系统,所述主操作系统运行有用于提供模拟硬件的虚拟机,所述客户操作系统基于所述模拟硬件运行,其特征在于,
所述主操作系统包括:虚拟机服务单元,用于获取多个硬件传感器的传感器数据集合,对所述传感器数据集合进行分类处理,得到各硬件传感器的传感器数据;还用于选择至少一个硬件传感器的传感器数据发送;
所述虚拟机包括:后端支持单元,用于接收所述虚拟机服务单元发送的传感器数据并即时发送给所述客户操作系统;
所述客户操作系统包括:硬件抽象层单元,用于读取所述后端支持单元提供的传感器数据。
2.根据权利要求1所述的装置,其特征在于,所述虚拟机的传感器实现装置还包括:定时器,所述定时器以预定的时间周期触发;
所述虚拟机服务单元还用于:根据所述预定的时间周期,定时发送已获取的传感器数据至所述后端支持单元。
3.根据权利要求2所述的装置,其特征在于,所述虚拟机服务单元具体包括:虚拟机服务控制子单元和虚拟机服务单元缓存;
所述虚拟机服务控制子单元,用于在所述定时器未触发时,将获取的传感器数据保存在所述虚拟机服务单元缓存中;
以及在所述定时器触发时,从所述虚拟机服务单元缓存中读取所述传感器数据后,发送至所述后端支持单元。
4.根据权利要求1-3任一所述的装置,其特征在于,所述传感器数据还包括传感器硬件的属性和配置信息。
5.根据权利要求1所述的装置,其特征在于,所述传感器设备硬件抽象层单元还用于:向所述虚拟机提供的模拟硬件发送与传感器相关的控制指令;所述后端支持单元还用于:接收所述控制指令。
6.根据权利要求5所述的装置,其特征在于,所述控制指令包括:查询传感器列表、查询传感器属性、使能传感器或者不使能传感器。
7.根据权利要求1所述的装置,其特征在于,所述硬件抽象层单元具体包括:硬件抽象层控制子单元和硬件抽象层缓存;
所述硬件抽象层控制子单元,用于读取所述传感器数据并且将所述传感器数据传递至上层;
所述硬件抽象层缓存,用于存储尚未传递至上层的传感器数据;所述硬件抽象层控制子单元优先读取存储在所述硬件抽象层缓存内的传感器数据。
8.一种应用如权利要求1所述的传感器实现装置的传感器实现方法,其特征在于,包括:
获取多个硬件传感器的传感器数据集合;
对所述传感器数据集合进行分类处理,得到各硬件传感器的传感器数据;
选择至少一个硬件传感器的传感器数据发送所述传感器数据至所述后端支持单元中;
通过所述后端支持单元将所述传感器数据即时发送给所述客户操作系统;
读取所述后端支持单元提供的传感器数据。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
为定时器设置预定的时间周期;
根据预定的时间周期,定时发送已获取的传感器数据至所述后端支持单元。
10.根据权利要求9所述的方法,其特征在于,所述通过所述后端支持单元将所述传感器数据即时发送给所述客户操作系统,具体包括:
在所述定时器未触发时,缓存获取的传感器数据;
在所述定时器触发时,读取所述缓存的传感器数据,并发送至所述后端支持单元。
11.根据权利要求8-10任一所述的方法,其特征在于,所述传感器数据还包括传感器硬件的属性和配置信息。
12.根据权利要求8所述的方法,其特征在于,所述方法还包括:
向所述虚拟机提供的模拟硬件发送与传感器相关的控制指令;
由所述后端支持单元接收所述控制指令。
13.根据权利要求12所述的方法,其特征在于,所述控制指令包括:查询传感器列表、查询传感器属性、使能传感器或者不使能传感器。
14.根据权利要求8所述的方法,其特征在于,所述读取所述后端支持单元提供的传感器数据,具体包括:
读取所述传感器数据并且将所述传感器数据传递至上层;
缓存尚未传递至上层的传感器数据;其中,在读取所述传感器数据时,优先读取缓存的传感器数据。
15.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令程序,所述指令程序被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求8至14任一项所述的方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括:非易失性计算机可读存储介质以及内嵌于所述非易失性计算机可读存储介质的计算机程序指令;所述计算机程序指令包括用以使处理器执行如权利要求8至14任一项所述的方法的指令。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/083489 WO2018205105A1 (zh) | 2017-05-08 | 2017-05-08 | 虚拟机的传感器实现装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107278293A CN107278293A (zh) | 2017-10-20 |
CN107278293B true CN107278293B (zh) | 2020-11-06 |
Family
ID=60076621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780000615.6A Active CN107278293B (zh) | 2017-05-08 | 2017-05-08 | 虚拟机的传感器实现装置及其方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107278293B (zh) |
WO (1) | WO2018205105A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3534594B1 (de) * | 2018-02-28 | 2020-11-25 | Kistler Holding AG | Kommunikationssystem zur datenübermittlung zwischen datenerzeugereinheiten und datenauswerteeinheiten |
CN111314799A (zh) * | 2018-12-11 | 2020-06-19 | 中兴通讯股份有限公司 | 终端系统构架、通信系统及通信方法、存储介质 |
CN110322979B (zh) * | 2019-07-25 | 2024-01-30 | 美核电气(济南)股份有限公司 | 基于fpga的核电站数字控制计算机系统核心处理单元 |
CN112446117B (zh) * | 2019-08-13 | 2024-04-19 | 浙江深酷机器人有限公司 | 一种直流电机虚拟机及其实现方法 |
CN114510523A (zh) * | 2022-01-19 | 2022-05-17 | 岚图汽车科技有限公司 | 系统间的数据传输方法、装置、终端设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763238A (zh) * | 2008-12-25 | 2010-06-30 | 北京联想软件有限公司 | 提高音频播放质量的方法、音频数据采集方法及系统 |
CN101998629A (zh) * | 2009-08-28 | 2011-03-30 | 国际商业机器公司 | 搜索虚拟资源的位置的方法、装置和系统 |
CN103853597A (zh) * | 2014-02-21 | 2014-06-11 | 北京神舟航天软件技术有限公司 | 实现嵌入式虚拟机平台高频率数据采集方法 |
CN104823171A (zh) * | 2012-11-15 | 2015-08-05 | 三菱电机株式会社 | 虚拟计算机系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098698B2 (en) * | 2008-09-12 | 2015-08-04 | George Mason Research Foundation, Inc. | Methods and apparatus for application isolation |
US8473958B2 (en) * | 2009-05-31 | 2013-06-25 | Red Hat Israel, Ltd. | Adjusting client display devices based on settings included in a notification from remote virtual machine host prior to connection establishment |
US9010641B2 (en) * | 2010-12-07 | 2015-04-21 | Hand Held Products, Inc. | Multiple platform support system and method |
CN103118115B (zh) * | 2013-02-04 | 2016-04-20 | 中国科学院信息工程研究所 | 面向云计算用户的虚拟机管理方法及装置 |
US9921864B2 (en) * | 2015-02-26 | 2018-03-20 | Vmware, Inc. | Dynamic host performance tuning of a network stack |
-
2017
- 2017-05-08 CN CN201780000615.6A patent/CN107278293B/zh active Active
- 2017-05-08 WO PCT/CN2017/083489 patent/WO2018205105A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763238A (zh) * | 2008-12-25 | 2010-06-30 | 北京联想软件有限公司 | 提高音频播放质量的方法、音频数据采集方法及系统 |
CN101998629A (zh) * | 2009-08-28 | 2011-03-30 | 国际商业机器公司 | 搜索虚拟资源的位置的方法、装置和系统 |
CN104823171A (zh) * | 2012-11-15 | 2015-08-05 | 三菱电机株式会社 | 虚拟计算机系统 |
CN103853597A (zh) * | 2014-02-21 | 2014-06-11 | 北京神舟航天软件技术有限公司 | 实现嵌入式虚拟机平台高频率数据采集方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107278293A (zh) | 2017-10-20 |
WO2018205105A1 (zh) | 2018-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107278293B (zh) | 虚拟机的传感器实现装置及其方法 | |
CN106504185B (zh) | 一种渲染优化方法和装置 | |
CN107786794B (zh) | 向应用提供由图像传感器获取的图像的电子装置和方法 | |
WO2019174595A1 (zh) | 资源配置方法、装置、终端及存储介质 | |
CN107278294B (zh) | 输入设备实现方法及其实现装置 | |
CN108235759B (zh) | 基于多操作系统的输入处理方法、装置及电子设备 | |
CN111813713B (zh) | 数据加速运算处理方法、装置及计算机可读存储介质 | |
CN110554831B (zh) | 操作同步方法、装置、设备及存储介质 | |
CN103309437B (zh) | 基于摄像机的姿势的缓存机制 | |
KR102326945B1 (ko) | 태스크 마이그레이션 방법 및 장치 | |
US9415309B2 (en) | Supplemental computing devices for game consoles | |
GB2498045A (en) | Portable storage devices with two interfaces for coupling to a display and a host | |
KR102631745B1 (ko) | 이종 운영체제의 실행을 제어하기 위한 방법, 이를 위한 전자 장치 및 저장 매체 | |
CN111338745B (zh) | 一种虚拟机的部署方法、装置及智能设备 | |
CN115774655A (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
JP2017507447A (ja) | Usbオーバーipを用いた、別のデバイスとの非usbセンサの共有 | |
US9325576B2 (en) | Dynamic server to server configuration and initialization | |
US20140258347A1 (en) | Grouping files for optimized file operations | |
CN117724852B (zh) | 一种云电脑计算资源分配方法及装置 | |
CN105824682B (zh) | 一种虚拟机的监控方法、装置和系统 | |
CN111858016A (zh) | 计算作业处理方法、系统、移动设备及加速设备 | |
CN108549573B (zh) | 一种内存模型的计算方法、装置及计算机可读存储介质 | |
KR102225414B1 (ko) | 클라우드 컴퓨팅 기반의 컨텐츠 관리를 위한 시스템 및 장치 | |
CN113407477A (zh) | 基于PCIe总线的CameraLink数据传输方法、装置及存储介质 | |
KR20220072748A (ko) | 버퍼 메모리 장치의 헤드 오브 라인 엔트리 처리 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |