WO2018205267A1 - Input device implementation method and implementation apparatus thereof - Google Patents

Input device implementation method and implementation apparatus thereof Download PDF

Info

Publication number
WO2018205267A1
WO2018205267A1 PCT/CN2017/084182 CN2017084182W WO2018205267A1 WO 2018205267 A1 WO2018205267 A1 WO 2018205267A1 CN 2017084182 W CN2017084182 W CN 2017084182W WO 2018205267 A1 WO2018205267 A1 WO 2018205267A1
Authority
WO
WIPO (PCT)
Prior art keywords
input device
input
operating system
guest operating
event
Prior art date
Application number
PCT/CN2017/084182
Other languages
French (fr)
Chinese (zh)
Inventor
李岩刚
Original Assignee
深圳前海达闼云端智能科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳前海达闼云端智能科技有限公司 filed Critical 深圳前海达闼云端智能科技有限公司
Priority to CN201780000721.4A priority Critical patent/CN107278294B/en
Priority to PCT/CN2017/084182 priority patent/WO2018205267A1/en
Publication of WO2018205267A1 publication Critical patent/WO2018205267A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Definitions

  • the present application relates to the field of virtual machine technologies, and in particular, to an input device implementation method and an implementation device thereof.
  • a virtual machine is a computer system that is simulated by software and has a complete hardware system function and runs in a completely isolated environment.
  • multiple different operating systems are based on analog hardware, sharing physical hardware devices such as CPUs, memory, and input and output devices.
  • HOST host operating system
  • GUIEST guest operating system
  • the virtual machine can run as one of the applications within the primary operating system, providing an analog hardware device for use by the guest operating system.
  • the "goldfish" virtual hardware platform provided by Google in the prior art can support the virtual Android operating system supported by the QEMU virtual machine.
  • a backend program capable of supporting the operation of the sensor device is usually implemented in the virtual machine in the prior art.
  • the backend program can provide the client operating system with input device related data that needs to be configured, such as input device configuration information, attributes, and input device data.
  • the operation of the input device is implemented by the corresponding input device driver and the input device service program in the guest operating system on the basis of the virtual input device provided by the backend program.
  • the device's common layer is processed. But since the input data has been processed by the main operating system, the input device in the guest operating system drives The application program and the input device common layer can be directly applied to the service layer for some of the data without processing. Therefore, the input device driver in the guest operating system and the input device common layer have repeated processing on the input device data, which reduces the efficiency of data processing.
  • the embodiment of the present application mainly solves the problem that the input device is repeatedly processed when the input device is implemented in the related art.
  • a technical solution adopted by the embodiment of the present application is to provide an input device implementation method, which is applied to a virtual machine system, where the virtual machine system includes a main operating system and a plurality of guest operating systems,
  • the primary operating system includes a physical input device drive unit for communicating with the physical input device;
  • the guest operating system includes a client input device drive unit for communicating with the virtual input device and an input device service unit for providing an input device application.
  • the method includes: acquiring, by the physical input device driving unit, device data of a physical input device, where the device data includes at least an input event; and transmitting the input event to the input device service unit through a dedicated transmission channel;
  • the dedicated transmission channel does not pass through the customer input device drive unit.
  • an input device implementation device which is applied in a virtual machine system, where the virtual machine system includes a main operating system and a plurality of guest operating systems.
  • the main operating system includes a physical input device drive unit for communicating with a physical input device;
  • the guest operating system includes a client input device drive unit for communicating with the virtual input device and an input device service unit for providing an input device application .
  • the device includes: an input device back end support unit, configured to acquire device data of the physical input device by the physical input device driving unit, the device data includes at least an input event; and a dedicated transmission channel, configured to input the event Transmitting to the input device service unit; the dedicated transmission channel does not pass through the client input device drive unit.
  • the input device implementation method and the implementation device thereof provided by the embodiments of the present application directly transmit an input event to an input device service unit of a guest operating system through a specific dedicated transmission channel, and do not need to pass through a client input device driving unit, thereby avoiding a guest operating system. Guest
  • the repeated processing of the input event by the input device driving unit effectively improves the data processing efficiency in the implementation process of the input device.
  • FIG. 1 is a schematic diagram of a virtual machine system provided by an embodiment of the present application.
  • FIG. 2 is a schematic diagram of an implementation of an input device implementation apparatus provided in an embodiment of the present application on a virtual machine system;
  • FIG. 3 is a schematic diagram of input event transmission of a dedicated transmission channel provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of data interaction between a virtual machine program and a guest operating system provided by an embodiment of the present application
  • FIG. 5 is a flowchart of a method for implementing an input device according to an embodiment of the present disclosure
  • FIG. 6 is a flowchart of a method for starting a dedicated transmission channel according to an embodiment of the present application
  • FIG. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
  • An input device driver refers to a driver or a corresponding function module for an input device. It can serve as a bridge between the input device hardware and the upper operating system, and implements the high-level programming language used in the operating system and the electronic signals of the hardware devices used by the input device.
  • the host operating system has an input device driver corresponding to the physical input device.
  • Each client operating system also has an input device driver corresponding to the virtual input device for implementing a communication connection between the input device and the operating system.
  • FIG. 1 is a virtual machine system to which an input device implementation method provided by an embodiment of the present application is applied.
  • the virtual machine system includes: a physical hardware device 100, a main operating system 200, a plurality of guest operating systems 300, and a virtual machine program 400.
  • the physical hardware device 100 is a hardware device shared by the host operating system 200 and the guest operating system 300. It can include any suitable one or more device components that make up a complete computer system, including processor 101, storage medium 102, input/output device 103, sensor device 104, and communication module 105.
  • the processor 101 may be any suitable type of processor having a certain logic operation capability, such as a central processing unit, a graphics processor, or the like. Processor 101 may also include multiple cores for multi-threading or parallel processing.
  • the storage medium 102 may include a memory module such as a ROM, a RAM, a flash memory module, and a mass storage such as an optical disk and a hard disk.
  • Computer programs may also be stored in the storage medium 102, and when the processor 101 executes the computer programs, various method steps or processes may be implemented.
  • the input/output device 103 can be any suitable type of peripheral device that provides one or more user interaction modes, such as a mouse, keyboard or touch input screen that receives user action instructions, a somatosensory camera for acquiring image information, A microphone for collecting sound information or a display screen (LCD display, LED display, etc.) for displaying image information to a user or a speaker for outputting audio.
  • a mouse keyboard or touch input screen that receives user action instructions
  • a somatosensory camera for acquiring image information
  • a microphone for collecting sound information or a display screen (LCD display, LED display, etc.) for displaying image information to a user or a speaker for outputting audio.
  • LCD display LCD display, LED display, etc.
  • the input/output device 103 can choose to use a wired or wireless peripheral connection, such as a USB cable or a Bluetooth connection. After the connection is established, device-related information such as device attributes and configuration information that the input/output device has will be transmitted to the operating system for the operating system to configure or correctly use the input/output device.
  • the input device 103 can also receive an operation instruction of the user, etc., and provide the input event to the operating system to implement interaction between the user and the operating system.
  • Sensor device 104 can be any suitable detection device that is capable of sensing detected information and converting the detected information into an electrical signal or other suitable form of output information.
  • the sensor device can be used for a variety of different types of detected information, with corresponding one or more sensing functions, such as temperature, light intensity, air pressure, acceleration, rotation angle, magnetic field Detection of status, humidity, sound, etc.
  • the sensor device 104 can include one or more discrete sensors for detecting different information to meet the requirements of use.
  • the communication module 105 can include some network interface devices that establish connections through a wired or wireless communication network. For example, a network cable interface, a bus interface, a USB interface, a WiFi module, or a Bluetooth communication module.
  • the physical hardware device 100 may also add or reduce one or more devices to meet different practical application requirements, such as adding a database or server device, and reducing one or more sensors.
  • Both the main operating system 200 and the guest operating system 300 may be any suitable type of operating system for receiving user instructions and outputting corresponding processing results to the user accordingly.
  • the main operating system 200 uses the hardware devices of the physical hardware device 100.
  • the guest operating system 300 uses the simulated hardware devices provided by the virtual machine program 400.
  • the virtual machine program 400 emulates the hardware device for its use on the basis of the physical hardware device through some backend programs.
  • the virtual machine program 400 runs as one of the applications in the main operating system 200. That is, the virtual machine may provide an analog hardware device for use by the guest operating system based on the physical hardware device or the basis of the simulated hardware device provided by the other virtual machine.
  • main operating system 200 is also unable to access the memory space of the guest operating system 300.
  • main operating system and other guest operating systems can also operate normally and are isolated from each other.
  • the virtual machine program runs as an application in the main operating system. Therefore, all guest operating systems need to be restarted when the primary operating system restarts due to an exception.
  • the main operating system 200 includes a physical input device driving unit 210 for establishing a connection between the main operating system 200 and the physical input device 100, and providing services such as an interface port in the main operating system. Control of the input device is implemented in 200.
  • the guest operating system 300 also includes a client input device driver unit 310.
  • the client input device driving unit 310 is in communication with the virtual machine program 400 to establish a connection between the virtual input devices simulated by the virtual machine program 400 to implement customer operations. System control of the input device.
  • the guest operating system 300 is further provided with an input device service unit 320 on the upper layer of the client input device driving unit 310.
  • the input device service unit 320 provides one or more input device related services to the guest operating system by the device data processed by the client input device driving unit 310.
  • the main operating system is first started, and the activated main operating system occupies the input/output device 103 in the physical hardware device 100 through which the physical input device driving unit 210 is You can get information about the device properties, configuration information, and input events of the input device.
  • the main operating system 200 After the main operating system is started, when there is no task required to execute the main operating system (it can be judged according to the input event), the main operating system 200 can enter the sleep mode and release the occupied input device.
  • each guest operating system 300 has its own input device configured or configured.
  • the client input device driving unit 310 in the kernel of the guest operating system 300 reads the device attributes and configuration information of the corresponding input device, and completes the configuration of the input device of the guest operating system.
  • the input event of the input device can be processed by the method provided by the embodiment of the present application, and provided to the client operating system to obtain better data processing efficiency.
  • the guest operating system can also automatically enter sleep mode and boot other guest operating systems.
  • the operating system can be located in the foreground or in the sleep state, and exists in the background.
  • the operating system can switch between two different states of the foreground and the background according to predetermined instructions. For example, when the predetermined time is not operated, the switch enters the background, or after receiving the operating system switching instruction, the background is switched from the background to the foreground. .
  • FIG. 2 is a schematic structural diagram of an apparatus for implementing an input device according to an embodiment of the present disclosure.
  • the input device implementation device can be applied in the virtual machine system shown in FIG. 1.
  • the input device implementation device includes: an input device backend support unit 410 and a dedicated transmission. Channel 500.
  • the input device backend support unit 410 is configured to acquire device data of the physical input device by using the physical input device driving unit, where the device data includes at least an input event.
  • the dedicated transmission channel 500 is for transmitting an input event therein to the input device service unit.
  • the input device backend support unit 410 may be one of the functional modules in the virtual machine program 400.
  • the input device backend support unit 410 can acquire device data (such as device attribute information, configuration information, or input event) from an input device of the main operating system, and provide a virtual input device for the guest operating system according to the guest operating system. Implement input device services.
  • the dedicated transmission channel 500 is a communication channel connecting the virtual machine program 400 and the guest operating system 300, which may be any suitable form or type, a program, a hardware unit, or a data transmission function running in the virtual machine system. functional module.
  • the dedicated transmission channel 500 provides another communication channel in which the guest operating system 300 is coupled to the virtual machine program 400 in addition to the customer input device driver unit 310.
  • the input event can be directly transmitted to the input device service unit 320 without the need to input the device driving unit 310 through the client.
  • the dedicated transmission channel 500 can prevent the client input device driving unit 310 from repeatedly processing the input events of the input device, and can effectively improve the processing efficiency of the input event.
  • the device data may generally include two types, one is input data obtained directly by the device and having obvious time properties.
  • "input event” is used to indicate that the input device collects the obtained input data.
  • the other is data that has no timing property, is determined by the nature of the input device itself, for example, device properties or configuration information of the device.
  • the input device backend support unit 410 may also associate the device attribute or configuration information of the physical input device with the input device for configuring the information of the input device. Sended to the customer input device driving unit 310, and then the virtual input device preset by the guest operating system 300 is implemented by the customer input device driving unit 310.
  • the input device backend support unit 410 is a backend program in the virtual machine program for supporting the input device driver operation of the guest operating system. It can provide virtual device virtual registers, address spaces, and virtual interrupt services based on the basis of the physical input device.
  • FIG. 3 is a schematic diagram of input event transmission performed by the dedicated transmission channel 500 according to an embodiment of the present application.
  • the dedicated transmission channel 500 may be composed of a transmission channel backend support unit 420 belonging to the virtual machine program 400 and an input event driving unit 330 in the guest operating system.
  • the transmission channel backend support unit 420 is configured to acquire an input event in the device data; and send the input event to the guest operating system.
  • the input event driving unit 330 is configured to receive the input event. After receiving the input event, the input device service unit 320 can read one or more of the input events to provide a corresponding input service. That is, the transmission channel backend support unit 420 serves as a transmitting end of data, and the input event driving unit 330 is a matching receiving end dedicated to receiving an input event transmitted by the input event.
  • the input event belongs to data having time characteristics. Therefore, during the transmission and reception, the input event 1, the input event 2, the input event 3, and the like can be sequentially transmitted and received in time sequence to ensure that the input event can be accurately read.
  • the input device service unit 320 of the guest operating system can retrieve the device file node corresponding to the preset input device, and read the file from the client input device driving unit 310 one by one. Determining the attributes and configuration information of the virtual input device, and reading the input event of the corresponding device node received by the input event driving unit 330, or detecting whether a new input event is received by the input event driving unit 330, and then The input events of the virtual input device are processed accordingly.
  • the direct data source based on the virtual input device is assumed to be a physical input device corresponding to the main operating system.
  • the direct data source of the virtual input device may also be a virtual input device corresponding to other guest operating systems.
  • the direct data source of the virtual input device can be distinguished by setting an additional identifier or label.
  • the input device backend support unit 410 in the virtual machine program 400 acquires attributes of the physical input device, configuration information, and input data acquired by the input device (ie, input events) according to corresponding input device files in the kernel of the main operating system 200.
  • the attribute and configuration information is transmitted to the client input device driving unit 310 of the guest operating system 300, and after being processed by the client input device driving unit 310, is received by the input device service unit 320.
  • the input event can then be transmitted to the input device service unit 320 via the dedicated transmission channel 500.
  • the input device service unit 320 provides one or more services in the guest operating system to implement the virtual input device according to the received data.
  • FIG. 5 is a flowchart of a method for implementing an input device according to an embodiment of the present disclosure.
  • the method may include the following steps:
  • the physical input device driving unit Acquire, by the physical input device driving unit, device data of a physical input device, where the device data includes at least an input event.
  • the dedicated transmission channel does not pass through the client input device driving unit and supports between the virtual input device and the input device service unit Conduct communication transmission.
  • the input events of the physical input device can be independently transmitted to the input device service unit of the guest operating system, thereby avoiding redundant processing of input events by the customer input device driving unit, and improving data processing efficiency.
  • each guest operating system has its own predetermined input device, which can be determined by a preset configuration file.
  • the device attributes and configuration information provided by the virtual machine program are read by the customer input device drive unit (step 300).
  • the client input device driving unit performs processing
  • the device attribute or configuration information corresponding to the preset virtual input device is read by the input device service unit (step 400).
  • the transmission of the input event can be accomplished in a manner that is sent by the virtual machine and received by the guest operating system. Input event due to input device during transmission There are specific time characteristics, so the input events can be sent sequentially according to the chronological order of the input events.
  • the operating system can run in the foreground or in the background to sleep.
  • 6 is a method of the guest operating system enabling the dedicated transmission channel. As shown in FIG. 6, after receiving the system switching request (step 10), it is determined whether the guest operating system is still in the foreground (step 20). If the guest operating system is switched from the foreground to the background sleep, the input data from the input device of the host operating system may be stopped from the virtual machine program (step 30). If the guest operating system is switched from the background sleep mode to the foreground, the guest operating system begins to retrieve input data from the input device of the host operating system from the virtual machine program (step 40).
  • the input device implementation method and the input device implementation device provided in the above embodiments are all based on the same inventive concept. Therefore, the steps of the specific implementations of the sensor implementation method may be performed by the corresponding function modules, and the specific functions of the function modules may also have corresponding method steps in the implementation method of the input device, and details are not described herein again.
  • FIG. 7 is a schematic structural diagram of hardware of an electronic device according to an embodiment of the present disclosure.
  • the hardware device can be applied in a virtual machine system to perform the above input device implementation method.
  • the device 70 includes: one or more processors 710 and a memory 720, and one processor 710 is taken as an example in FIG.
  • the processor 710 and the memory 720 can be connected through a bus or other manners, and the bus connection is taken as an example in FIG. 7 .
  • the memory 720 is a non-volatile computer readable storage medium, and can be used for storing a non-volatile software program, a non-volatile computer executable program, and a module, such as a program corresponding to the input device implementation method in the embodiment of the present application.
  • An instruction/module for example, the input device backend support unit 410 and the dedicated transmission channel 500 shown in FIG. 2).
  • the processor 710 implements various functional applications and data processing of the device by executing non-volatile software programs, instructions, and modules stored in the memory 720, that is, implementing the input device implementation method of the above method embodiments.
  • the memory 720 can include a storage program area and a storage data area, wherein the storage program area can store an operating system, an application required for at least one function; the storage data area can be stored Data created by the use of the device by the input device, and the like.
  • memory 720 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device.
  • memory 720 can optionally include memory remotely located relative to processor 710, which can be connected to the sensor-implemented device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • the one or more modules are stored in the memory 720, and when executed by the one or more processors 710, perform an input device implementation in any of the above method embodiments.
  • An embodiment of the present application provides a computer program product, including a computing program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions, when the program instructions are executed by a computer,
  • the computer performs the input device implementation method in any of the above method embodiments, for example, performing the method steps 100 and 200 of FIG. 5 described above to implement the functions of the corresponding functional modules in FIG.
  • the device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, ie may be located A place, or it can be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random storage memory. (RandomAccessMemory, RAM), etc.

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)

Abstract

An input device implementation method and an implementation apparatus thereof, wherein same are applied in a virtual machine system. The virtual machine system comprises a main operating system (200) and a plurality of guest operating systems (300), wherein the main operating system (200) comprises a physical input device drive unit (210) for communicating with a physical input device; and the guest operating system (300) comprises a guest input device drive unit (310) for communicating with a virtual input device and an input device service unit (320) for providing an input device application. The method comprises: obtaining device data of the physical input device by means of the physical input device drive unit (210), wherein the device data at least comprises an input event; and transmitting the input event to the input device service unit (320) via a dedicated transmission channel, wherein the dedicated transmission channel does not pass through the guest input device drive unit (310).

Description

输入设备实现方法及其实现装置Input device implementation method and implementation device thereof 技术领域Technical field
本申请涉及虚拟机技术领域,特别是涉及一种输入设备实现方法及其实现装置。The present application relates to the field of virtual machine technologies, and in particular, to an input device implementation method and an implementation device thereof.
背景技术Background technique
虚拟机是指通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的计算机系统。在虚拟机应用环境中,多个不同的操作系统基于模拟硬件,共享物理硬件设备,例如CPU,内存和输入输出设备等。A virtual machine is a computer system that is simulated by software and has a complete hardware system function and runs in a completely isolated environment. In a virtual machine application environment, multiple different operating systems are based on analog hardware, sharing physical hardware devices such as CPUs, memory, and input and output devices.
一般的,可以将物理存在的计算机称为“主机”(HOST),在主机上运行的操作系统可以称为主操作系统(HOST OS),其它的操作系统则可以被称为客户操作系统(GUEST OS)。Generally, a physically existing computer can be referred to as a "host" (HOST), an operating system running on a host can be referred to as a host operating system (HOST OS), and other operating systems can be referred to as a guest operating system (GUEST). OS).
虚拟机可以作为主操作系统内的其中一个应用程序运行,提供模拟硬件设备供客户操作系统使用。例如现有技术中由Google公司提供的“goldfish”虚拟硬件平台,其可以支持在QEMU虚拟机支持下虚拟安卓操作系统。The virtual machine can run as one of the applications within the primary operating system, providing an analog hardware device for use by the guest operating system. For example, the "goldfish" virtual hardware platform provided by Google in the prior art can support the virtual Android operating system supported by the QEMU virtual machine.
为在虚拟机中实现输入设备,现有技术中通常在虚拟机中实现一个能够支持传感器设备运行的后端程序。该后端程序可以为客户操作系统提供需要配置的输入设备相关数据,例如输入设备的配置信息、属性以及输入设备数据等。客户操作系统中由对应的输入设备驱动程序以及输入设备服务程序,在后端程序提供的虚拟输入设备的基础上实现对于输入设备的操作。In order to implement an input device in a virtual machine, a backend program capable of supporting the operation of the sensor device is usually implemented in the virtual machine in the prior art. The backend program can provide the client operating system with input device related data that needs to be configured, such as input device configuration information, attributes, and input device data. The operation of the input device is implemented by the corresponding input device driver and the input device service program in the guest operating system on the basis of the virtual input device provided by the backend program.
申请人在研究现有技术的过程中发现:在现有输入设备实现过程中,后端程序提供的虚拟输入设备的输入设备相关数据,会通过客户操作系统的内核中的输入设备驱动程序以及输入设备通用层进行处理。但由于输入数据已经由主操作系统进行过处理,客户操作系统中的输入设备驱 动程序以及输入设备通用层对于其中的一些数据并不需要进行处理即可直接应用至服务层。因此,客户操作系统中的输入设备驱动程序以及输入设备通用层存在着对于输入设备数据的重复处理,降低了数据处理的效率。In the process of researching the prior art, the applicant finds that in the implementation process of the existing input device, the input device related data of the virtual input device provided by the backend program passes the input device driver and input in the kernel of the guest operating system. The device's common layer is processed. But since the input data has been processed by the main operating system, the input device in the guest operating system drives The application program and the input device common layer can be directly applied to the service layer for some of the data without processing. Therefore, the input device driver in the guest operating system and the input device common layer have repeated processing on the input device data, which reduces the efficiency of data processing.
发明内容Summary of the invention
本申请实施例主要解决相关技术中输入设备实现时,存在对输入设备数据重复处理的问题。The embodiment of the present application mainly solves the problem that the input device is repeatedly processed when the input device is implemented in the related art.
为解决上述技术问题,本申请实施例采用的一个技术方案是:提供一种输入设备实现方法,应用在虚拟机系统中,所述虚拟机系统包括主操作系统以及若干个客户操作系统,所述主操作系统包括用于与物理输入设备通信的物理输入设备驱动单元;所述客户操作系统包括用于与虚拟输入设备通信的客户输入设备驱动单元以及用于提供输入设备应用的输入设备服务单元。其中,所述方法包括:通过所述物理输入设备驱动单元获取物理输入设备的设备数据,所述设备数据至少包括输入事件;将所述输入事件通过专用传输通道传输至所述输入设备服务单元;所述专用传输通道不经过所述客户输入设备驱动单元。To solve the above technical problem, a technical solution adopted by the embodiment of the present application is to provide an input device implementation method, which is applied to a virtual machine system, where the virtual machine system includes a main operating system and a plurality of guest operating systems, The primary operating system includes a physical input device drive unit for communicating with the physical input device; the guest operating system includes a client input device drive unit for communicating with the virtual input device and an input device service unit for providing an input device application. The method includes: acquiring, by the physical input device driving unit, device data of a physical input device, where the device data includes at least an input event; and transmitting the input event to the input device service unit through a dedicated transmission channel; The dedicated transmission channel does not pass through the customer input device drive unit.
为解决上述技术问题,本申请实施例采用的另一个技术方案是:提供一种输入设备实现装置,应用在虚拟机系统中,所述虚拟机系统包括主操作系统以及若干个客户操作系统,所述主操作系统包括用于与物理输入设备通信的物理输入设备驱动单元;所述客户操作系统包括用于与虚拟输入设备通信的客户输入设备驱动单元以及用于提供输入设备应用的输入设备服务单元。其中该装置包括:输入设备后端支持单元,用于通过所述物理输入设备驱动单元获取物理输入设备的设备数据,所述设备数据至少包括输入事件;专用传输通道,用于将所述输入事件传输至所述输入设备服务单元;所述专用传输通道不经过所述客户输入设备驱动单元。In order to solve the above technical problem, another technical solution adopted by the embodiment of the present application is to provide an input device implementation device, which is applied in a virtual machine system, where the virtual machine system includes a main operating system and a plurality of guest operating systems. The main operating system includes a physical input device drive unit for communicating with a physical input device; the guest operating system includes a client input device drive unit for communicating with the virtual input device and an input device service unit for providing an input device application . The device includes: an input device back end support unit, configured to acquire device data of the physical input device by the physical input device driving unit, the device data includes at least an input event; and a dedicated transmission channel, configured to input the event Transmitting to the input device service unit; the dedicated transmission channel does not pass through the client input device drive unit.
本申请实施例提供的输入设备实现方法及其实现装置,通过特定的专用传输通道将输入事件直接传输至客户操作系统的输入设备服务单元,不需要经过客户输入设备驱动单元,从而避免客户操作系统中的客 户输入设备驱动单元对输入事件的重复处理,有效的提高了在输入设备实现过程中的数据处理效率。The input device implementation method and the implementation device thereof provided by the embodiments of the present application directly transmit an input event to an input device service unit of a guest operating system through a specific dedicated transmission channel, and do not need to pass through a client input device driving unit, thereby avoiding a guest operating system. Guest The repeated processing of the input event by the input device driving unit effectively improves the data processing efficiency in the implementation process of the input device.
附图说明DRAWINGS
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。The one or more embodiments are exemplified by the accompanying drawings in the accompanying drawings, and FIG. The figures in the drawings do not constitute a scale limitation unless otherwise stated.
图1是本申请实施例提供的虚拟机系统的示意图;1 is a schematic diagram of a virtual machine system provided by an embodiment of the present application;
图2是本申请实施例提供的输入设备实现装置在虚拟机系统上实现的示意图;2 is a schematic diagram of an implementation of an input device implementation apparatus provided in an embodiment of the present application on a virtual machine system;
图3是本申请实施例提供的专用传输通道的输入事件传输示意图;3 is a schematic diagram of input event transmission of a dedicated transmission channel provided by an embodiment of the present application;
图4是本申请实施例提供的虚拟机程序与客户操作系统之间的数据交互示意图;4 is a schematic diagram of data interaction between a virtual machine program and a guest operating system provided by an embodiment of the present application;
图5是本申请实施例提供的输入设备实现方法的方法流程图;FIG. 5 is a flowchart of a method for implementing an input device according to an embodiment of the present disclosure;
图6是本申请实施例提供的专用传输通道启动方法的方法流程图;6 is a flowchart of a method for starting a dedicated transmission channel according to an embodiment of the present application;
图7是本申请实施例提供的电子设备的结构示意图。FIG. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
具体实施方式detailed description
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。In order to make the objects, technical solutions, and advantages of the present application more comprehensible, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It is understood that the specific embodiments described herein are merely illustrative of the application and are not intended to be limiting.
输入设备驱动(input-device driver)是指用于输入设备的驱动程序或者对应的功能模块。其能够作为输入设备硬件和上层操作系统之间的连接桥梁,实现操作系统中使用的高级编程语言以及输入设备使用的硬件设备电子信号之间相互翻译。An input device driver refers to a driver or a corresponding function module for an input device. It can serve as a bridge between the input device hardware and the upper operating system, and implements the high-level programming language used in the operating system and the electronic signals of the hardware devices used by the input device.
因此,在具有多个不同的操作系统的虚拟机系统中,主操作系统具有与物理输入设备对应的输入设备驱动。各个客户操作系统内也具有与虚拟输入设备对应的输入设备驱动用以实现输入设备和操作系统之间的通信连接。 Thus, in a virtual machine system having a plurality of different operating systems, the host operating system has an input device driver corresponding to the physical input device. Each client operating system also has an input device driver corresponding to the virtual input device for implementing a communication connection between the input device and the operating system.
图1为应用本申请实施例提供的输入设备实现方法的虚拟机系统。如图1所示,该虚拟机系统中包括:物理硬件设备100、主操作系统200、若干个客户操作系统300以及虚拟机程序400。FIG. 1 is a virtual machine system to which an input device implementation method provided by an embodiment of the present application is applied. As shown in FIG. 1, the virtual machine system includes: a physical hardware device 100, a main operating system 200, a plurality of guest operating systems 300, and a virtual machine program 400.
所述物理硬件设备100为主机操作系统200和客户操作系统300共享的硬件设备。其可以包括任何合适的,一种或者多种组成完整计算机系统的设备组件,包括处理器101、存储介质102、输入/输出设备103、传感器设备104以及通信模组105。The physical hardware device 100 is a hardware device shared by the host operating system 200 and the guest operating system 300. It can include any suitable one or more device components that make up a complete computer system, including processor 101, storage medium 102, input/output device 103, sensor device 104, and communication module 105.
其中,处理器101可以是任何合适类型的,具有一定逻辑运算能力的处理器,例如中央处理器、图形处理器等。处理器101还可以包括用于多线程或并行处理的多个核心。The processor 101 may be any suitable type of processor having a certain logic operation capability, such as a central processing unit, a graphics processor, or the like. Processor 101 may also include multiple cores for multi-threading or parallel processing.
存储介质102可以包括内存模块,例如ROM、RAM、闪存模块,以及大容量存储器,例如光盘和硬盘。存储介质102中还可以存储有计算机程序,当处理器101执行这些计算机程序时,可以实现各种方法步骤或流程。The storage medium 102 may include a memory module such as a ROM, a RAM, a flash memory module, and a mass storage such as an optical disk and a hard disk. Computer programs may also be stored in the storage medium 102, and when the processor 101 executes the computer programs, various method steps or processes may be implemented.
输入/输出设备103可以是任何合适类型的,提供一种或者多种用户交互方式的外围设备,例如接收用户动作操作指令的鼠标、键盘或者触摸输入屏,用于采集图像信息的体感摄像机、用于采集声音信息的麦克风或者向用户展示图像信息的显示屏(LCD显示屏、LED显示屏等)或者用于输出音频的扬声器。The input/output device 103 can be any suitable type of peripheral device that provides one or more user interaction modes, such as a mouse, keyboard or touch input screen that receives user action instructions, a somatosensory camera for acquiring image information, A microphone for collecting sound information or a display screen (LCD display, LED display, etc.) for displaying image information to a user or a speaker for outputting audio.
所述输入/输出设备103可以选择使用有线或者无线的外围设备连接方式,例如USB线缆或者蓝牙连接。建立连接后,所述输入/输出设备具有的设备属性以及配置信息等设备相关信息将传输到操作系统中,供操作系统配置或者正确的使用该输入/输出设备。所述输入设备103还可以接收用户的操作指令等,作为输入事件提供至所述操作系统中,实现用户与操作系统之间的交互。The input/output device 103 can choose to use a wired or wireless peripheral connection, such as a USB cable or a Bluetooth connection. After the connection is established, device-related information such as device attributes and configuration information that the input/output device has will be transmitted to the operating system for the operating system to configure or correctly use the input/output device. The input device 103 can also receive an operation instruction of the user, etc., and provide the input event to the operating system to implement interaction between the user and the operating system.
传感器设备104可以是任何合适的,能够感知被检测信息并将被检测信息转换为电信号或者其它合适形式的输出信息的检测装置。所述传感器设备可以用于各种不同类型的被检测信息,具有相应的一种或者多种感知功能,例如对温度,光照强度、气压、加速度、旋转角度、磁场 状态、湿度、声音等信息的检测。该传感器设备104可以包括一个或者多个分立的传感器,分别用于检测不同的信息,以满足使用的要求。 Sensor device 104 can be any suitable detection device that is capable of sensing detected information and converting the detected information into an electrical signal or other suitable form of output information. The sensor device can be used for a variety of different types of detected information, with corresponding one or more sensing functions, such as temperature, light intensity, air pressure, acceleration, rotation angle, magnetic field Detection of status, humidity, sound, etc. The sensor device 104 can include one or more discrete sensors for detecting different information to meet the requirements of use.
通信模组105可以包括某些通过有线或者无线通信网络建立连接的网络接口设备。例如,网线接口、总线接口、USB接口、WiFi模组或者蓝牙通信模组等。The communication module 105 can include some network interface devices that establish connections through a wired or wireless communication network. For example, a network cable interface, a bus interface, a USB interface, a WiFi module, or a Bluetooth communication module.
在实际应用过程中,所述物理硬件设备100还可以添加或者减省一个或者多个设备,用以满足不同的实际应用情况需求,例如增加数据库或者服务器设备、减省一个或者多个传感器。In the actual application process, the physical hardware device 100 may also add or reduce one or more devices to meet different practical application requirements, such as adding a database or server device, and reducing one or more sensors.
所述主操作系统200和客户操作系统300均可以是任何合适类型的操作系统,用以接收用户指令并据此输出对应的处理结果向用户展示。主操作系统200使用所述物理硬件设备100的硬件设备。客户操作系统300则使用由虚拟机程序400提供的模拟硬件设备。Both the main operating system 200 and the guest operating system 300 may be any suitable type of operating system for receiving user instructions and outputting corresponding processing results to the user accordingly. The main operating system 200 uses the hardware devices of the physical hardware device 100. The guest operating system 300 uses the simulated hardware devices provided by the virtual machine program 400.
在客户操作系统300运行时,虚拟机程序400在物理硬件设备的基础上,通过一些后端程序,模拟硬件设备供其使用。所述虚拟机程序400作为主操作系统200中的其中一个应用程序运行。亦即,所述虚拟机可以基于所述物理硬件设备或者其它虚拟机提供的模拟硬件设备的基础,提供模拟硬件设备供客户操作系统使用。While the guest operating system 300 is running, the virtual machine program 400 emulates the hardware device for its use on the basis of the physical hardware device through some backend programs. The virtual machine program 400 runs as one of the applications in the main operating system 200. That is, the virtual machine may provide an analog hardware device for use by the guest operating system based on the physical hardware device or the basis of the simulated hardware device provided by the other virtual machine.
不同的操作系统之间存在有内存隔离,主操作系统200也不能够访问客户操作系统300的内存空间。这样的,在存在2个以上的客户操作系统时,当其中一个客户操作系统因为异常重新启动时,主操作系统和其它客户操作系统还可以正常运行,相互隔离。当然,由于虚拟机程序是作为主操作系统中的应用程序运行的。因此,在主操作系统因为异常重新启动时,所有的客户操作系统都需要随之重新启动。There is memory isolation between different operating systems, and the main operating system 200 is also unable to access the memory space of the guest operating system 300. In this way, when there are more than two guest operating systems, when one of the guest operating systems restarts due to an abnormality, the main operating system and other guest operating systems can also operate normally and are isolated from each other. Of course, since the virtual machine program runs as an application in the main operating system. Therefore, all guest operating systems need to be restarted when the primary operating system restarts due to an exception.
其中,如图1所示,所述主操作系统200包括物理输入设备驱动单元210,用以建立主操作系统200与物理输入设备100之间的连接,提供如接口端口等服务,在主操作系统200中实现对于输入设备的控制。As shown in FIG. 1 , the main operating system 200 includes a physical input device driving unit 210 for establishing a connection between the main operating system 200 and the physical input device 100, and providing services such as an interface port in the main operating system. Control of the input device is implemented in 200.
相对应地,所述客户操作系统300也包括客户输入设备驱动单元310。所述客户输入设备驱动单元310则与所述虚拟机程序400通信连接,从而在虚拟机程序400模拟的虚拟输入设备之间建立连接,实现客户操作 系统对输入设备的控制。Correspondingly, the guest operating system 300 also includes a client input device driver unit 310. The client input device driving unit 310 is in communication with the virtual machine program 400 to establish a connection between the virtual input devices simulated by the virtual machine program 400 to implement customer operations. System control of the input device.
所述客户操作系统300在所述客户输入设备驱动单元310的上层还设置有输入设备服务单元320。所述输入设备服务单元320通过经由所述客户输入设备驱动单元310处理后的设备数据,为客户操作系统提供一种或者多种的输入设备相关服务。The guest operating system 300 is further provided with an input device service unit 320 on the upper layer of the client input device driving unit 310. The input device service unit 320 provides one or more input device related services to the guest operating system by the device data processed by the client input device driving unit 310.
在虚拟机系统的启动过程中,作为客户操作系统的基础,主操作系统首先启动,启动后的主操作系统占用物理硬件设备100中的输入/输出设备103,通过所述物理输入设备驱动单元210,可以获取输入设备的设备属性、配置信息以及输入事件等相关的消息。During the startup process of the virtual machine system, as the basis of the guest operating system, the main operating system is first started, and the activated main operating system occupies the input/output device 103 in the physical hardware device 100 through which the physical input device driving unit 210 is You can get information about the device properties, configuration information, and input events of the input device.
在主操作系统启动完毕后,在暂时没有任务需要主操作系统执行时(可以根据输入事件进行判断),主操作系统200可以进入休眠模式并释放占用的输入设备。After the main operating system is started, when there is no task required to execute the main operating system (it can be judged according to the input event), the main operating system 200 can enter the sleep mode and release the occupied input device.
主操作系统200进入休眠模式后,其中一个客户操作系统300启动。在虚拟机系统中,每个客户操作系统都具有自己预定或者配置的输入设备。客户操作系统启动时也通过客户操作系统300内核中的客户输入设备驱动单元310,读取对应的输入设备的设备属性以及配置信息等,完成客户操作系统的输入设备的配置。After the main operating system 200 enters the sleep mode, one of the guest operating systems 300 is booted. In a virtual machine system, each guest operating system has its own input device configured or configured. When the guest operating system is started, the client input device driving unit 310 in the kernel of the guest operating system 300 reads the device attributes and configuration information of the corresponding input device, and completes the configuration of the input device of the guest operating system.
而所述输入设备的输入事件可以通过本申请实施例提供的方法进行数据处理,提供给客户操作系统以获得更好的数据处理效率。在具有多个客户操作系统的情况下,所述客户操作系统还可以自动进入休眠模式,并启动其它客户操作系统。The input event of the input device can be processed by the method provided by the embodiment of the present application, and provided to the client operating system to obtain better data processing efficiency. In the case of multiple guest operating systems, the guest operating system can also automatically enter sleep mode and boot other guest operating systems.
相对应地,在虚拟机系统运行过程中,操作系统既可以位于前台运行也可以处于休眠状态,存在于后台。操作系统可以根据预定的一些指令,在前台与后台两种不同的状态之间切换,例如,超过预定时间不操作时,切换进入后台,或者接收到操作系统切换指令后,从后台切换进入前台运行。Correspondingly, during the operation of the virtual machine system, the operating system can be located in the foreground or in the sleep state, and exists in the background. The operating system can switch between two different states of the foreground and the background according to predetermined instructions. For example, when the predetermined time is not operated, the switch enters the background, or after receiving the operating system switching instruction, the background is switched from the background to the foreground. .
图2为本申请实施例提供的输入设备实现装置的结构示意图。所述输入设备实现装置可以在图1所示的虚拟机系统中应用。如图2所示,所述输入设备实现装置包括:输入设备后端支持单元410以及专用传输 通道500。FIG. 2 is a schematic structural diagram of an apparatus for implementing an input device according to an embodiment of the present disclosure. The input device implementation device can be applied in the virtual machine system shown in FIG. 1. As shown in FIG. 2, the input device implementation device includes: an input device backend support unit 410 and a dedicated transmission. Channel 500.
其中,所述输入设备后端支持单元410用于通过所述物理输入设备驱动单元获取物理输入设备的设备数据,所述设备数据至少包括输入事件。所述专用传输通道500用于将其中的输入事件传输至所述输入设备服务单元。The input device backend support unit 410 is configured to acquire device data of the physical input device by using the physical input device driving unit, where the device data includes at least an input event. The dedicated transmission channel 500 is for transmitting an input event therein to the input device service unit.
在本实施例中,如图2所示,所述输入设备后端支持单元410可以为所述虚拟机程序400中的其中一个功能模块。该输入设备后端支持单元410可以获取来自主操作系统的输入设备的设备数据(如设备属性信息、配置信息或者输入事件),并据此为客户操作系统提供虚拟的输入设备,在客户操作系统中实现输入设备服务。In this embodiment, as shown in FIG. 2, the input device backend support unit 410 may be one of the functional modules in the virtual machine program 400. The input device backend support unit 410 can acquire device data (such as device attribute information, configuration information, or input event) from an input device of the main operating system, and provide a virtual input device for the guest operating system according to the guest operating system. Implement input device services.
所述专用传输通道500是一个连接虚拟机程序400和客户操作系统300的通信通道,其可以是任何合适形式或者类型的,运行在虚拟机系统中的,具有数据传输功能的程序、硬件单元或者功能模块。该专用传输通道500提供了除客户输入设备驱动单元310外,客户操作系统300与虚拟机程序400连接的另一条通信通道。The dedicated transmission channel 500 is a communication channel connecting the virtual machine program 400 and the guest operating system 300, which may be any suitable form or type, a program, a hardware unit, or a data transmission function running in the virtual machine system. functional module. The dedicated transmission channel 500 provides another communication channel in which the guest operating system 300 is coupled to the virtual machine program 400 in addition to the customer input device driver unit 310.
通过该专用传输通道500,可以直接将输入事件传输至输入设备服务单元320,而不需要通过客户输入设备驱动单元310。这样的,专用传输通道500可以避免客户输入设备驱动单元310对于输入设备的输入事件进行重复处理,可以有效的提高对输入事件的处理效率。Through the dedicated transmission channel 500, the input event can be directly transmitted to the input device service unit 320 without the need to input the device driving unit 310 through the client. In this way, the dedicated transmission channel 500 can prevent the client input device driving unit 310 from repeatedly processing the input events of the input device, and can effectively improve the processing efficiency of the input event.
在实际应用过程中,所述设备数据通常可以包括两种类型,一种是由设备直接采集获得的,具有明显的时间性质的输入数据。在本实施例中,使用“输入事件”表示输入设备采集获得的输入数据。另一种是不具有时序性质,由输入设备自身性质所决定的数据,例如,设备属性或者设备的配置信息等。In actual application, the device data may generally include two types, one is input data obtained directly by the device and having obvious time properties. In the present embodiment, "input event" is used to indicate that the input device collects the obtained input data. The other is data that has no timing property, is determined by the nature of the input device itself, for example, device properties or configuration information of the device.
如图4所示,为实现输入设备的配置或者设置,所述输入设备后端支持单元410还可以将物理输入设备的设备属性或者配置信息等与输入设备相关的,用于配置输入设备的信息发送至所述客户输入设备驱动单元310中,然后由所述客户输入设备驱动单元310实现客户操作系统300预设的虚拟输入设备。 As shown in FIG. 4, in order to implement the configuration or setting of the input device, the input device backend support unit 410 may also associate the device attribute or configuration information of the physical input device with the input device for configuring the information of the input device. Sended to the customer input device driving unit 310, and then the virtual input device preset by the guest operating system 300 is implemented by the customer input device driving unit 310.
所述输入设备后端支持单元410是虚拟机程序中,用以支持客户操作系统的输入设备驱动运行的后端程序。其可以基于物理输入设备的基础,提供虚拟设备的虚拟寄存器、地址空间以及虚拟中断的服务。The input device backend support unit 410 is a backend program in the virtual machine program for supporting the input device driver operation of the guest operating system. It can provide virtual device virtual registers, address spaces, and virtual interrupt services based on the basis of the physical input device.
图3为本申请实施例提供的专用传输通道500进行输入事件传输的示意图。如图3所示,在本实施例中,所述专用传输通道500可以由属于虚拟机程序400中的传输通道后端支持单元420以及在所述客户操作系统中的输入事件驱动单元330组成。FIG. 3 is a schematic diagram of input event transmission performed by the dedicated transmission channel 500 according to an embodiment of the present application. As shown in FIG. 3, in the present embodiment, the dedicated transmission channel 500 may be composed of a transmission channel backend support unit 420 belonging to the virtual machine program 400 and an input event driving unit 330 in the guest operating system.
其中,所述传输通道后端支持单元420用于获取所述设备数据中的输入事件;并且将所述输入事件发送至所述客户操作系统。所述输入事件驱动单元330则用于接收所述输入事件。在接收所述输入事件后,所述输入设备服务单元320可以读取其中的一个或者多个输入事件,用以提供相应的输入服务。亦即所述传输通道后端支持单元420作为数据的发送端,所述输入事件驱动单元330为相配合的接收端,专用于接收其发送的输入事件。The transmission channel backend support unit 420 is configured to acquire an input event in the device data; and send the input event to the guest operating system. The input event driving unit 330 is configured to receive the input event. After receiving the input event, the input device service unit 320 can read one or more of the input events to provide a corresponding input service. That is, the transmission channel backend support unit 420 serves as a transmitting end of data, and the input event driving unit 330 is a matching receiving end dedicated to receiving an input event transmitted by the input event.
具体的,如图3所示,由于所述输入事件属于具有时间特性的数据。因此,在发送和接收过程中,可以按照时间顺序,依次发送和接收输入事件1、输入事件2、输入事件3等,以保证输入事件可被准确的读取。Specifically, as shown in FIG. 3, since the input event belongs to data having time characteristics. Therefore, during the transmission and reception, the input event 1, the input event 2, the input event 3, and the like can be sequentially transmitted and received in time sequence to ensure that the input event can be accurately read.
由此,为在客户操作系统中实现输入设备,所述客户操作系统的输入设备服务单元320可以检索与预设的输入设备对应的设备文件节点,逐个从客户输入设备驱动单元310中读取所需要的虚拟输入设备的属性和配置信息,并且读取所述输入事件驱动单元330接收的对应设备节点的输入事件,或者侦测是否有新的输入事件被输入事件驱动单元330接收,然后对特定虚拟输入设备的输入事件进行相应的处理。Thus, to implement the input device in the guest operating system, the input device service unit 320 of the guest operating system can retrieve the device file node corresponding to the preset input device, and read the file from the client input device driving unit 310 one by one. Determining the attributes and configuration information of the virtual input device, and reading the input event of the corresponding device node received by the input event driving unit 330, or detecting whether a new input event is received by the input event driving unit 330, and then The input events of the virtual input device are processed accordingly.
在本实施例中,基于所述虚拟输入设备的直接数据来源为主操作系统对应的物理输入设备的假设。在另一些实施例中,所述虚拟输入设备的直接数据来源也可以为其它客户操作系统对应的虚拟输入设备。在实际虚拟机操作过程中,可以通过设置额外的标识符或者标注,对所述虚拟输入设备的直接数据来源进行区分。In this embodiment, the direct data source based on the virtual input device is assumed to be a physical input device corresponding to the main operating system. In other embodiments, the direct data source of the virtual input device may also be a virtual input device corresponding to other guest operating systems. During the actual virtual machine operation, the direct data source of the virtual input device can be distinguished by setting an additional identifier or label.
图4为本申请实施例提供的客户操作系统配置虚拟输入设备的完整 过程的示意图。虚拟机程序400中的输入设备后端支持单元410根据主操作系统200内核中对应的输入设备文件,获取物理输入设备的属性、配置信息以及输入设备采集获得的输入数据(即输入事件)。4 is a complete configuration of a virtual input device of a guest operating system provided by an embodiment of the present application. Schematic diagram of the process. The input device backend support unit 410 in the virtual machine program 400 acquires attributes of the physical input device, configuration information, and input data acquired by the input device (ie, input events) according to corresponding input device files in the kernel of the main operating system 200.
其中,属性和配置信息传输至客户操作系统300的客户输入设备驱动单元310,经过客户输入设备驱动单元310处理后,在由输入设备服务单元320接收。所述输入事件则可以通过所述专用传输通道500传输至所述输入设备服务单元320。The attribute and configuration information is transmitted to the client input device driving unit 310 of the guest operating system 300, and after being processed by the client input device driving unit 310, is received by the input device service unit 320. The input event can then be transmitted to the input device service unit 320 via the dedicated transmission channel 500.
所述输入设备服务单元320根据接收获得数据,在客户操作系统中提供一个或者多个服务,以实现虚拟输入设备。The input device service unit 320 provides one or more services in the guest operating system to implement the virtual input device according to the received data.
基于上述实施例提供的输入设备实现装置,本申请实施例还进一步提供了一种应用在虚拟机系统上的输入设备实现方法。图5为本申请实施例提供的输入设备实现方法的方法流程图。Based on the input device implementation device provided by the foregoing embodiment, the embodiment of the present application further provides an input device implementation method applied to the virtual machine system. FIG. 5 is a flowchart of a method for implementing an input device according to an embodiment of the present disclosure.
如图5所示,该方法可以包括如下步骤:As shown in FIG. 5, the method may include the following steps:
100、通过所述物理输入设备驱动单元获取物理输入设备的设备数据,所述设备数据至少包括输入事件。100. Acquire, by the physical input device driving unit, device data of a physical input device, where the device data includes at least an input event.
200、将所述输入事件通过专用传输通道传输至所述输入设备服务单元;所述专用传输通道不经过所述客户输入设备驱动单元并支持所述虚拟输入设备与所述输入设备服务单元之间进行通信传输。200. Transmitting the input event to the input device service unit through a dedicated transmission channel; the dedicated transmission channel does not pass through the client input device driving unit and supports between the virtual input device and the input device service unit Conduct communication transmission.
通过专用传输通道,可以将物理输入设备的输入事件独立的传输至客户操作系统的输入设备服务单元,从而避免客户输入设备驱动单元的对输入事件的多余处理,提高了数据的处理效率。Through the dedicated transmission channel, the input events of the physical input device can be independently transmitted to the input device service unit of the guest operating system, thereby avoiding redundant processing of input events by the customer input device driving unit, and improving data processing efficiency.
在实际使用过程中,每个客户操作系统都具有自己预定的输入设备,其可以由预设的配置文件所决定。为在客户操作系统中实现这些输入设备,除了对于输入事件的传递外,会由所述客户输入设备驱动单元读取由虚拟机程序提供的设备属性以及配置信息(步骤300)。在客户输入设备驱动单元进行处理后,再通过所述输入设备服务单元读取与所述预设的虚拟输入设备对应的设备属性或者配置信息(步骤400)。In actual use, each guest operating system has its own predetermined input device, which can be determined by a preset configuration file. To implement these input devices in the guest operating system, in addition to the transfer of input events, the device attributes and configuration information provided by the virtual machine program are read by the customer input device drive unit (step 300). After the client input device driving unit performs processing, the device attribute or configuration information corresponding to the preset virtual input device is read by the input device service unit (step 400).
在一些实施例中,所述输入事件的传输可以采用由虚拟机发送,客户操作系统接收的方式完成。在发送过程中,由于输入设备的输入事件 具有特定的时间特性,因此可以根据输入事件的时间次序,依次发送所述输入事件。In some embodiments, the transmission of the input event can be accomplished in a manner that is sent by the virtual machine and received by the guest operating system. Input event due to input device during transmission There are specific time characteristics, so the input events can be sent sequentially according to the chronological order of the input events.
如上虚拟机系统中所揭露的,在虚拟机系统中,操作系统可以运行在前台或者处于后台中休眠。图6为所述客户操作系统启用所述专用传输通道的方法。如图6所示,接收系统切换请求(步骤10)后,判断客户操作系统是否仍处于前台运行(步骤20)。若所述客户操作系统由前台切换到后台休眠时,可以停止从虚拟机程序中获取来自主操作系统的输入设备的输入数据(步骤30)。若所述客户操作系统由后台休眠模式切换到前台时,客户操作系统则开始从虚拟机程序中获取来自主操作系统的输入设备的输入数据(步骤40)。As disclosed in the virtual machine system, in a virtual machine system, the operating system can run in the foreground or in the background to sleep. 6 is a method of the guest operating system enabling the dedicated transmission channel. As shown in FIG. 6, after receiving the system switching request (step 10), it is determined whether the guest operating system is still in the foreground (step 20). If the guest operating system is switched from the foreground to the background sleep, the input data from the input device of the host operating system may be stopped from the virtual machine program (step 30). If the guest operating system is switched from the background sleep mode to the foreground, the guest operating system begins to retrieve input data from the input device of the host operating system from the virtual machine program (step 40).
应当说明的是,上述实施例中提供的输入设备实现方法和输入设备实现装置均是基于相同的发明构思。因此,传感器实现方法中各个具体实施例的步骤均可以由对应的功能模块所执行,功能模块中具体的功能也可以在所述输入设备实现方法中具有对应的方法步骤,在此不再赘述。It should be noted that the input device implementation method and the input device implementation device provided in the above embodiments are all based on the same inventive concept. Therefore, the steps of the specific implementations of the sensor implementation method may be performed by the corresponding function modules, and the specific functions of the function modules may also have corresponding method steps in the implementation method of the input device, and details are not described herein again.
图7为本申请实施例提供的电子设备的硬件结构示意图。该硬件设备可以在虚拟机系统中应用,用以执行上述输入设备实现方法。如图7所示,该设备70包括:一个或多个处理器710以及存储器720,图7中以一个处理器710为例。FIG. 7 is a schematic structural diagram of hardware of an electronic device according to an embodiment of the present disclosure. The hardware device can be applied in a virtual machine system to perform the above input device implementation method. As shown in FIG. 7, the device 70 includes: one or more processors 710 and a memory 720, and one processor 710 is taken as an example in FIG.
其中,处理器710、存储器720可以通过总线或者其他方式连接,图7中以通过总线连接为例。The processor 710 and the memory 720 can be connected through a bus or other manners, and the bus connection is taken as an example in FIG. 7 .
存储器720作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的输入设备实现方法对应的程序指令/模块(例如,图2所示的输入设备后端支持单元410以及专用传输通道500)。处理器710通过运行存储在存储器720中的非易失性软件程序、指令以及模块,从而执行的输入设备实现装置的各种功能应用以及数据处理,即实现上述方法实施例的输入设备实现方法。The memory 720 is a non-volatile computer readable storage medium, and can be used for storing a non-volatile software program, a non-volatile computer executable program, and a module, such as a program corresponding to the input device implementation method in the embodiment of the present application. An instruction/module (for example, the input device backend support unit 410 and the dedicated transmission channel 500 shown in FIG. 2). The processor 710 implements various functional applications and data processing of the device by executing non-volatile software programs, instructions, and modules stored in the memory 720, that is, implementing the input device implementation method of the above method embodiments.
存储器720可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储 根据输入设备实现装置的使用所创建的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器720可选包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至传感器实现装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The memory 720 can include a storage program area and a storage data area, wherein the storage program area can store an operating system, an application required for at least one function; the storage data area can be stored Data created by the use of the device by the input device, and the like. Moreover, memory 720 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some embodiments, memory 720 can optionally include memory remotely located relative to processor 710, which can be connected to the sensor-implemented device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
所述一个或者多个模块存储在所述存储器720中,当被所述一个或者多个处理器710执行时,执行上述任意方法实施例中的输入设备实现方法。The one or more modules are stored in the memory 720, and when executed by the one or more processors 710, perform an input device implementation in any of the above method embodiments.
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。The above products can perform the methods provided by the embodiments of the present application, and have the corresponding functional modules and beneficial effects of the execution method. For technical details that are not described in detail in this embodiment, reference may be made to the method provided by the embodiments of the present application.
本申请实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时时,使所述计算机执行上述任意方法实施例中的输入设备实现方法,例如,执行以上描述的图5中的方法步骤100和200,实现图2中相应功能模块的功能。An embodiment of the present application provides a computer program product, including a computing program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions, when the program instructions are executed by a computer, The computer performs the input device implementation method in any of the above method embodiments, for example, performing the method steps 100 and 200 of FIG. 5 described above to implement the functions of the corresponding functional modules in FIG.
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, ie may be located A place, or it can be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体 (RandomAccessMemory,RAM)等。Through the description of the above embodiments, those skilled in the art can clearly understand that the various embodiments can be implemented by means of software plus a general hardware platform, and of course, by hardware. A person skilled in the art can understand that all or part of the process of implementing the above embodiments can be completed by a computer program to instruct related hardware, and the program can be stored in a computer readable storage medium. When executed, the flow of an embodiment of the methods as described above may be included. The storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random storage memory. (RandomAccessMemory, RAM), etc.
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。 Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, and are not limited thereto; in the idea of the present application, the technical features in the above embodiments or different embodiments may also be combined. The steps may be carried out in any order, and there are many other variations of the various aspects of the present application as described above, which are not provided in the details for the sake of brevity; although the present application has been described in detail with reference to the foregoing embodiments, The skilled person should understand that the technical solutions described in the foregoing embodiments may be modified, or some of the technical features may be equivalently replaced; and the modifications or substitutions do not deviate from the embodiments of the present application. The scope of the technical solution.

Claims (14)

  1. 一种输入设备实现方法,应用在虚拟机系统中,所述虚拟机系统包括主操作系统以及若干个客户操作系统,所述主操作系统包括用于与物理输入设备通信的物理输入设备驱动单元;所述客户操作系统包括用于与虚拟输入设备通信的客户输入设备驱动单元以及用于提供输入设备应用的输入设备服务单元,其特征在于,所述方法包括:An input device implementation method is applied in a virtual machine system, the virtual machine system includes a main operating system and a plurality of guest operating systems, and the main operating system includes a physical input device driving unit for communicating with the physical input device; The guest operating system includes a client input device drive unit for communicating with a virtual input device and an input device service unit for providing an input device application, wherein the method comprises:
    通过所述物理输入设备驱动单元获取物理输入设备的设备数据,所述设备数据至少包括输入事件;Obtaining, by the physical input device driving unit, device data of the physical input device, where the device data includes at least an input event;
    将所述输入事件通过专用传输通道传输至所述输入设备服务单元;所述专用传输通道不经过所述客户输入设备驱动单元。The input event is transmitted to the input device service unit through a dedicated transmission channel; the dedicated transmission channel does not pass through the client input device drive unit.
  2. 根据权利要求1所述的方法,其特征在于,所述设备数据包括:物理输入设备的设备属性、物理输入设备的配置信息以及输入事件。The method according to claim 1, wherein the device data comprises: device attributes of the physical input device, configuration information of the physical input device, and input events.
  3. 根据权利要求2所述的方法,其特征在于,所述客户操作系统具有预设的虚拟输入设备;The method of claim 2, wherein the guest operating system has a preset virtual input device;
    所述方法还包括:当所述设备数据为物理输入设备的设备属性或者配置信息时,将所述设备数据传输至所述客户输入设备驱动单元;The method further includes: when the device data is a device attribute or configuration information of a physical input device, transmitting the device data to the client input device driving unit;
    通过所述客户输入设备驱动单元读取与所述预设的虚拟输入设备对应的设备属性或者配置信息。The device attribute or configuration information corresponding to the preset virtual input device is read by the client input device driving unit.
  4. 根据权利要求1-3任一所述的方法,其特征在于,所述将所述输入事件通过专用传输通道传输至所述输入设备服务单元,具体包括:The method according to any one of claims 1-3, wherein the transmitting the input event to the input device service unit through a dedicated transmission channel comprises:
    根据获取时序,依次将所述输入事件通过专用传输通道传输至所述输入设备服务单元。According to the acquisition timing, the input event is sequentially transmitted to the input device service unit through a dedicated transmission channel.
  5. 根据权利要求1-3任一所述的方法,其特征在于,所述将所述输入事件通过专用传输通道传输至所述输入设备服务单元,具体包括:The method according to any one of claims 1-3, wherein the transmitting the input event to the input device service unit through a dedicated transmission channel comprises:
    获取所述设备数据中的输入事件;Obtaining an input event in the device data;
    将所述输入事件发送至所述客户操作系统;Transmitting the input event to the guest operating system;
    接收所述输入事件,并通过所述输入设备服务单元读取对应的输入事件。The input event is received and a corresponding input event is read by the input device service unit.
  6. 根据权利要求5所述的方法,其特征在于,所述主操作系统以及若干个 客户操作系统中的其中一个操作系统在前台运行,其余操作系统运行在休眠状态;The method of claim 5 wherein said primary operating system and a plurality of One of the operating systems in the guest operating system runs in the foreground, and the remaining operating systems run in a sleep state;
    在所述客户操作系统从前台运行切换至休眠状态时,停止读取所述输入事件。The reading of the input event is stopped when the guest operating system switches from the foreground operation to the sleep state.
  7. 一种输入设备实现装置,应用在虚拟机系统中,所述虚拟机系统包括主操作系统以及若干个客户操作系统,所述主操作系统包括用于与物理输入设备通信的物理输入设备驱动单元;所述客户操作系统包括用于与虚拟输入设备通信的客户输入设备驱动单元以及用于提供输入设备应用的输入设备服务单元,其特征在于,包括:An input device implementing device is applied in a virtual machine system, the virtual machine system includes a main operating system and a plurality of guest operating systems, and the main operating system includes a physical input device driving unit for communicating with the physical input device; The guest operating system includes a client input device driving unit for communicating with the virtual input device and an input device service unit for providing the input device application, including:
    输入设备后端支持单元,用于通过所述物理输入设备驱动单元获取物理输入设备的设备数据,所述设备数据至少包括输入事件;An input device back end support unit, configured to acquire device data of the physical input device by using the physical input device driving unit, where the device data includes at least an input event;
    专用传输通道,用于将所述输入事件传输至所述输入设备服务单元;所述专用传输通道不经过所述客户输入设备驱动单元。a dedicated transmission channel for transmitting the input event to the input device service unit; the dedicated transmission channel does not pass through the client input device drive unit.
  8. 根据权利要求7所述的装置,其特征在于,所述设备数据包括:物理输入设备的设备属性、物理输入设备的配置信息以及输入事件。The apparatus according to claim 7, wherein the device data comprises: a device attribute of the physical input device, configuration information of the physical input device, and an input event.
  9. 根据权利要求8所述的装置,其特征在于,所述客户操作系统具有预设的虚拟输入设备;The device according to claim 8, wherein the guest operating system has a preset virtual input device;
    所述输入设备后端支持单元还用于,当所述设备数据为物理输入设备的设备属性或者配置信息时,将所述设备数据传输至所述客户输入设备驱动单元;The input device backend support unit is further configured to: when the device data is a device attribute or configuration information of the physical input device, transmit the device data to the client input device driving unit;
    所述输入设备服务单元用于,通过所述客户输入设备驱动单元读取与所述预设的虚拟输入设备对应的设备属性或者配置信息。The input device service unit is configured to read, by the customer input device driving unit, device attributes or configuration information corresponding to the preset virtual input device.
  10. 根据权利要求7-9任一所述的装置,其特征在于,所述专用传输通道具体用于:根据获取时序,依次将所述输入事件传输至所述输入设备服务单元。The device according to any one of claims 7-9, wherein the dedicated transmission channel is specifically configured to: sequentially transmit the input event to the input device service unit according to an acquisition timing.
  11. 根据权利要求7-9任一所述的装置,其特征在于,所述专用传输通道具体包括:The device according to any one of claims 7-9, wherein the dedicated transmission channel specifically comprises:
    传输通道后端支持单元,用于获取所述设备数据中的输入事件;并且将所述输入事件发送至所述客户操作系统;a transmission channel back end support unit, configured to acquire an input event in the device data; and send the input event to the guest operating system;
    设置在所述客户操作系统中的输入事件驱动单元,用于接收所述输入事件以使所述输入设备服务单元读取对应的输入事件。An input event driving unit disposed in the guest operating system for receiving the input event to cause the input device service unit to read a corresponding input event.
  12. 根据权利要求11所述的装置,其特征在于,所述主操作系统以及若干 个客户操作系统中的其中一个操作系统在前台运行,其余操作系统运行在休眠状态;The apparatus of claim 11 wherein said primary operating system and One of the operating systems of the guest operating system runs in the foreground, and the remaining operating systems run in the sleep state;
    在所述客户操作系统从前台运行切换至休眠状态时,所述输入设备服务单元用于:停止读取所述输入事件。The input device service unit is configured to stop reading the input event when the guest operating system switches from a foreground operation to a sleep state.
  13. 一种电子设备,其特征在于,包括:An electronic device, comprising:
    至少一个处理器;以及,At least one processor; and,
    与所述至少一个处理器通信连接的存储器;其中,a memory communicatively coupled to the at least one processor; wherein
    所述存储器存储有可被所述至少一个处理器执行的指令程序,所述指令程序被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-6任一项所述的方法。The memory stores an instruction program executable by the at least one processor, the instruction program being executed by the at least one processor to cause the at least one processor to perform any of claims 1-6 The method described.
  14. 一种计算机程序产品,其特征在于,所述计算机程序产品包括:非易失性计算机可读存储介质以及内嵌于所述非易失性计算机可读存储介质的计算机程序指令;所述计算机程序指令包括用以使处理器执行如权利要求1-6任一项所述的方法的指令。 A computer program product, comprising: a non-transitory computer readable storage medium; and computer program instructions embedded in the non-transitory computer readable storage medium; The instructions include instructions for causing a processor to perform the method of any of claims 1-6.
PCT/CN2017/084182 2017-05-12 2017-05-12 Input device implementation method and implementation apparatus thereof WO2018205267A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780000721.4A CN107278294B (en) 2017-05-12 2017-05-12 Input device implementation method and implementation device thereof
PCT/CN2017/084182 WO2018205267A1 (en) 2017-05-12 2017-05-12 Input device implementation method and implementation apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/084182 WO2018205267A1 (en) 2017-05-12 2017-05-12 Input device implementation method and implementation apparatus thereof

Publications (1)

Publication Number Publication Date
WO2018205267A1 true WO2018205267A1 (en) 2018-11-15

Family

ID=60076622

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/084182 WO2018205267A1 (en) 2017-05-12 2017-05-12 Input device implementation method and implementation apparatus thereof

Country Status (2)

Country Link
CN (1) CN107278294B (en)
WO (1) WO2018205267A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108235759B (en) * 2017-12-20 2022-09-16 深圳前海达闼云端智能科技有限公司 Input processing method and device based on multiple operating systems and electronic equipment
WO2019127476A1 (en) * 2017-12-29 2019-07-04 深圳前海达闼云端智能科技有限公司 Virtual system bluetooth communication method and device, virtual system, storage medium, and electronic apparatus
CN109189523B (en) * 2018-08-08 2022-03-15 广东微云科技股份有限公司 Method and system for judging idle virtual machine and method for closing virtual machine
CN110642028B (en) * 2019-09-25 2021-06-15 张占军 Multi-link automatic bunker allocation system and method based on bunker coal position
CN112905275B (en) * 2019-12-03 2024-08-27 斑马智行网络(香港)有限公司 Display method and display device for multiple operating systems
CN113741718B (en) * 2020-05-29 2024-06-04 杭州海康威视数字技术股份有限公司 Control data conversion method and device and main control equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075188A (en) * 2006-05-17 2007-11-21 联想(北京)有限公司 Safety inputting method based on virtual machine
US20080077917A1 (en) * 2006-09-25 2008-03-27 Jun Chen Virtual machine system and a method for sharing a graphics card amongst virtual machines
CN103246544A (en) * 2013-04-09 2013-08-14 何钦淋 Virtual hardware drive terminal and method
CN104391672A (en) * 2014-10-27 2015-03-04 深圳市京华科讯科技有限公司 Earphone mic virtualization implementation system based on virtual desktop and audio frequency transmission method of earphone mic virtualization implementation system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100594503C (en) * 2006-08-29 2010-03-17 联想(北京)有限公司 Virtual machine system and safety input method thereof
CN101493781B (en) * 2008-01-24 2012-02-15 中国长城计算机深圳股份有限公司 Virtual machine system and start-up method thereof
CN102385525B (en) * 2010-08-30 2015-03-04 联想(北京)有限公司 Virtual machine system and method for uninstalling docking station equipment in virtual machine system
US9317444B2 (en) * 2013-03-15 2016-04-19 Vmware, Inc. Latency reduction for direct memory access operations involving address translation
CN104253842B (en) * 2013-06-28 2018-03-06 华为技术有限公司 Method, apparatus, terminal and the server of synchronous terminal mirror image
CN105573816B (en) * 2015-12-11 2018-12-21 北京奇虎科技有限公司 The method, apparatus and system virtually inputted

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075188A (en) * 2006-05-17 2007-11-21 联想(北京)有限公司 Safety inputting method based on virtual machine
US20080077917A1 (en) * 2006-09-25 2008-03-27 Jun Chen Virtual machine system and a method for sharing a graphics card amongst virtual machines
CN103246544A (en) * 2013-04-09 2013-08-14 何钦淋 Virtual hardware drive terminal and method
CN104391672A (en) * 2014-10-27 2015-03-04 深圳市京华科讯科技有限公司 Earphone mic virtualization implementation system based on virtual desktop and audio frequency transmission method of earphone mic virtualization implementation system

Also Published As

Publication number Publication date
CN107278294A (en) 2017-10-20
CN107278294B (en) 2020-11-06

Similar Documents

Publication Publication Date Title
WO2018205267A1 (en) Input device implementation method and implementation apparatus thereof
CN106445576B (en) Motherboard and its computer implemented method and the readable storage device of non-transient computer
TWI610167B (en) Computing device-implemented method and non-transitory medium holding computer-executable instructions for improved platform management, and computing device configured to provide enhanced management information
CN106681751B (en) Unified firmware management system and management method and computer readable medium
US20170031694A1 (en) System and method for remote system configuration managment
EP3255527B1 (en) Remote keyboard-video-mouse technologies
US9672060B2 (en) Managing virtual machine migration
WO2017124842A1 (en) Method and device for taking screenshots
US9223596B1 (en) Virtual machine fast provisioning based on dynamic criterion
US9912535B2 (en) System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI)
US20140365641A1 (en) Processor module, server system and method of controlling processor module
US20160342437A1 (en) Data path failover method for sr-iov capable ethernet controller
US10572434B2 (en) Intelligent certificate discovery in physical and virtualized networks
WO2019127476A1 (en) Virtual system bluetooth communication method and device, virtual system, storage medium, and electronic apparatus
JP2011100431A (en) Device and method for controlling virtual machine
KR101813480B1 (en) Hardware-based inter-device resource sharing
WO2016074127A1 (en) Computer device and memory starting method for computer device
JP6415581B2 (en) Dynamic reassignment for multi-operating system devices
US8417862B2 (en) Inter-virtual machine interrupt coalescing
WO2019119315A1 (en) Input processing method and apparatus based on multiple operating systems, and electronic device
WO2018205105A1 (en) Apparatus and method for implementing sensor of virtual machine
JP2016024811A (en) Out-of-band acquisition of network interface controller information
WO2016119322A1 (en) Method and apparatus for determining read/write path
TW201537447A (en) Mass storage virtualization for cloud computing
WO2017097176A1 (en) Operating system starting method, apparatus and system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17909594

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 28/04/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 17909594

Country of ref document: EP

Kind code of ref document: A1