CN105808320A - Equipment virtualization system and method based on Linux container - Google Patents

Equipment virtualization system and method based on Linux container Download PDF

Info

Publication number
CN105808320A
CN105808320A CN201610141294.9A CN201610141294A CN105808320A CN 105808320 A CN105808320 A CN 105808320A CN 201610141294 A CN201610141294 A CN 201610141294A CN 105808320 A CN105808320 A CN 105808320A
Authority
CN
China
Prior art keywords
equipment
virtual
service end
function
device service
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.)
Granted
Application number
CN201610141294.9A
Other languages
Chinese (zh)
Other versions
CN105808320B (en
Inventor
杨霞
郭文生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yang Xia
Original Assignee
Sichuan Anqian Technology Co ltd
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 Sichuan Anqian Technology Co ltd filed Critical Sichuan Anqian Technology Co ltd
Priority to CN201610141294.9A priority Critical patent/CN105808320B/en
Publication of CN105808320A publication Critical patent/CN105808320A/en
Application granted granted Critical
Publication of CN105808320B publication Critical patent/CN105808320B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/45554Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The invention provides a system and a method for virtualizing equipment based on the system, wherein a virtual equipment client and a virtual equipment server are loaded between an Android system HAL and an equipment subsystem; sending the equipment operation request to a virtual equipment server through a virtual equipment client, and then completing function call in a manufacturer dynamic library by the virtual equipment server to realize proxy of equipment operation; or constructing the operation result of the equipment to realize the multiplexing of the equipment subsystems. According to the equipment virtualization system and method provided by the invention, the virtual equipment client and the virtual equipment server are loaded in the plurality of Android systems and container management services in the Linux kernel, so that the agent of equipment operation and the equipment subsystem are multiplexed, the equipment virtualization is realized, and a new method different from the traditional equipment virtualization method is provided; the multiplexing of special equipment (especially equipment without open source codes) such as Radio and the like can be realized on a multi-Android platform based on a Linux container technology.

Description

Device virtualization system and method based on linux container
Technical field
The invention belongs to communication technical field, relate to device virtualization technology, be specifically related to a kind of device virtualization system and method based on linux container.
Background technology
Intel Virtualization Technology is a kind of technology that bottom hardware equipment and upper strata operating system, application program are easily separated uncoupling.Intel Virtualization Technology, as one of the bottom important support technology of the cloud computing platform of current popular, can greatly improve the resource utilization of physical equipment.Particular with the continuous lifting of intelligent communication device variation day by day and communication equipment performance, the hardware resource of current communication equipment (such as smart mobile phone) is in relative surplus state.Use the virtual multiple operating systems of Intel Virtualization Technology, it is possible to achieve the application of different safety class is mutually isolated, improve the security performance of system.
Container is the Intel Virtualization Technology of a kind of lightweight.Container technique can on-demand structure number of containers, this can be greatly promoted work efficiency undoubtedly.Linux container (LinuxContainer) is one of the hottest container technique of current research, owing to android system is a mobile device operation system of increasing income based on linux kernel, this makes linux container to be deployed in android system easily.In view of the increasing income property of android system, enter Intel Virtualization Technology to android system and can improve the safety of android system well.At present, the Cells of Columbia University and the Condroid of Zhejiang University is all based on the Android virtualization product of linux container.
But, no matter adopting any virtualization mode, device virtualization is all the difficult problem can't steer clear of.The method that traditional device virtualization technology generally uses simulator, provides virtual hardware equipment for client operating system, as Microsoft Loopback Adapter drives, can well be applied on the virtual platform such as PC and server.And for some task equipments (telephone plant etc. on such as cell phone platform), equipment vendors need their intellectual property is protected, it is common that the source code do not developed;When can not get equipment vendors' support, it is achieved the virtualization of equipment is extremely difficult.Additionally, the multiformity of equipment vendors and equipment, even causing that same category of device also likely to be present very big difference between driving, this is also that the virtualization realizing equipment adds difficulty.
How to support more equipment as simply as possible, be technical problem underlying to be solved by this invention.
Summary of the invention
The purpose of the present invention aims to above-mentioned problems of the prior art, a kind of device virtualization system based on linux container is provided, based on many Android platform of container technique realize equipment multiplexing, particularly the equipment not having open source code can realized virtualization.
Another object of the present invention aims to provide a kind of device virtualization method based on linux container.
In order to reach object above, the present invention realizes by the following technical solutions.
The invention provides a kind of device virtualization system based on linux container, it is adaptable to based on the Android virtual platform of linux container, including the container management service being arranged under root namespace;Container management service creates one or more containers according to configuration file, runs android system in each container, loads virtual device service end simultaneously;Android system is provided with HAL;When android system starts, HAL loads the virtual unit client of the same name with Manufacturer News storehouse;
Virtual unit client, it is achieved android system HAL is the interface function of equipment subsystem definition;Virtual unit client farther includes the first processing module and the second processing module;
First processing module, is sent to virtual device service end by the equipment operation requests from android system;Equipment operation requests includes synchronizer operation requests and asynchronous device operation requests;
Second processing module, monitors and actively submits asynchronous event from the equipment operating result of virtual device service end or equipment, and will receive equipment operating result or equipment is actively submitted asynchronous event and is submitted to android system;
Virtual device service end, it is achieved the interface function of Manufacturer News storehouse readjustment android system HAL corresponding device subsystem;Virtual device service end farther includes the 3rd processing module and fourth processing module;
3rd processing module, monitor the equipment operation requests from virtual unit client, and call the equipment handling function in relevant device Manufacturer News storehouse according to the equipment operation requests received and complete the operation to equipment, or according to equipment operation requests, construct equipment operating result;
Fourth processing module, the asynchronous event of actively submitting by equipment operating result or from equipment sends virtual unit client to;
Manufacturer News storehouse, is provided by equipment supplier;Manufacturer News storehouse is that manufacturer increases income dynamic base or manufacturer closes source dynamic base.
The above-mentioned device virtualization system based on linux container, when request is for synchronizer operation requests, synchronizer operation requests from android system is sent to virtual device service end by the first processing module, it is responsible for receiving the corresponding synchronizer operating result returned simultaneously, and synchronizer operating result is submitted to android system;Or, the first processing module calls the second processing module, receives the corresponding synchronizer operating result returned, and synchronizer operating result is submitted to android system;
When equipment operating result is by the 3rd processing module structure, the 3rd processing module, according to the equipment operation requests structure equipment operating result received, is responsible for structure equipment operating result is fed back to virtual unit client simultaneously;Or, the 3rd processing module calls fourth processing module, and structure equipment operating result is fed back to virtual unit client.
The above-mentioned device virtualization system based on linux container, in the first processing module, is sent to the function call number farther including to set of virtual device service end;Function call number and android system HAL interface one_to_one corresponding.
The above-mentioned device virtualization system based on linux container, virtual device service end farther includes request filtering module and response filtering module;
Request filtering module, according to the request filtering rule arranged, the equipment operation requests that virtual device service end the 3rd processing module is received is filtered;Virtual device service end, according to filter result, decides whether agent operation equipment subsystem or structure relevant device operating result;
Response filtering module, according to the response filtering rule arranged, intercept and capture asynchronous event that all hardware equipment submits upwardly through virtual device service end fourth processing module to and its be filtered;Virtual device service end, according to filter result, decides whether to be sent to asynchronous event virtual unit client.
The above-mentioned device virtualization system based on linux container, response filtering module, according to the response filtering rule arranged, the equipment operating result affecting two and above virtual unit client is filtered, with reference to the information/attribute sending equipment operation requests virtual unit client, structure equipment operating result, and feed back to virtual unit client by virtual device service end fourth processing module.
The above-mentioned device virtualization system based on linux container, virtual device service end realizes the interface function of Manufacturer News storehouse transmission function pointer and parameter further;Manufacturer News storehouse is called this interface and function pointer and function parameter is passed to virtual unit client, and then passes to android system HAL, and under imposing a condition, HAL completes the readjustment of function pointer and parameter.
Invention further provides a kind of device virtualization method based on said system, between android system HAL and equipment subsystem, load virtual unit client and virtual device service end;By virtual unit client, equipment operation requests is sent to virtual device service end;Then called the equipment handling function in Manufacturer News storehouse by virtual device service end, realize agency that equipment operate, or construct asynchronous device operating result, it is achieved the multiplexing to equipment subsystem, specifically include following steps:
Initialize the Android platform based on linux container, load virtual unit client and virtual device service end;
By virtual unit client, the equipment operation requests from android system upper layer application is sent to virtual device service end;
Monitor the equipment operation requests from virtual unit client by virtual device service end, and call the equipment handling function in equipment vendors' dynamic base according to the equipment operation requests received, complete equipment to be operated, realizes the agency to equipment operation;Or, according to the equipment operation requests structure equipment operating result received, it is achieved the multiplexing to equipment subsystem;
By virtual device service end, the equipment operating result of the equipment operating result acted on behalf of or structure is fed back to virtual unit client;
Monitor the equipment operating result from virtual device service end by virtual unit client, and the equipment operating result received is submitted to android system.
The above-mentioned device virtualization method based on linux container, actively submits asynchronous event for equipment subsystem, sends the asynchronous event of actively submitting from equipment subsystem to virtual unit client further by virtual device service end;
Monitored by virtual unit client and actively submit asynchronous event from the equipment of virtual device service end, and the equipment received actively is submitted asynchronous event be submitted to android system.
The above-mentioned device virtualization method based on linux container, for the equipment subsystem needing function pointer to complete function call, adopt the mode to function pointer agency, Manufacturer News storehouse is called virtual device service end and function pointer and function parameter is passed to virtual unit client, and then passes to android system HAL;
Under imposing a condition, HAL function pointer and parameter being sent to virtual device service end, virtual device service end, by receiving function pointer and parameter, calls the function in Manufacturer News storehouse, completes calling of function pointer, it is achieved the agency to function pointer.
The above-mentioned device virtualization method based on linux container, to function pointer agency to implement step as follows:
S1, according to the function pointer function prototype existed in HAL, virtual unit client realizes acting on behalf of call back function;
S2, virtual device service end realizes transmitting the proxy function of function pointer to android system HAL, and is called by Manufacturer News storehouse, and function pointer and parameter are passed to virtual unit client;
S3, the function pointer received and parameter are saved in internal memory by virtual unit client, and use the value of current memory address alternative parameter, as the parameter acting on behalf of call back function;
S4, virtual unit client passes to android system HAL by acting on behalf of the parameter acting on behalf of call back function obtained in call back function and step S3;
S5, under imposing a condition, HAL calls and acts on behalf of call back function, acts on behalf of call back function and resolves its parameter, it is thus achieved that the function pointer of memory headroom pointed by this parameter and parameter, is then sent to virtual device service end by HAL;
S6, virtual device service end, with the function pointer received and parameter, calls the parameter in Manufacturer News storehouse, completes calling of function pointer.
Device virtualization technical scheme based on linux container provided by the invention, has at least one beneficial effect following:
(1) based on technical scheme provided by the invention, it is possible to based on many Android platform of linux container technology realize the task equipments such as Radio (particularly without the equipment handling function storehouse of open source code) multiplexing;
(2) pass through the multiple android system in linux kernel and container management service loads virtual unit client and virtual device service end, complete the agency to equipment operation, realize device virtualization, it is proposed that a kind of new method being different from legacy equipment virtual method;
(3) by device virtualization technology provided by the invention, owing to requiring no knowledge about device drives source code, it would be preferable to support multiple different vendor equipment, it is to avoid traditional virtual method is required for distinct device and provides the loaded down with trivial details of virtual hardware equipment;
(4) the virtual device service end by arranging can support multiple android system simultaneously, improves resource utilization;
(5) for the equipment needing function pointer to complete function call, the present invention can realize the agency to function pointer further by virtual device service end and virtual unit client, provides extending space for developing more application.
Accompanying drawing explanation
In order to be illustrated more clearly that the embodiment of the present invention or technical scheme of the prior art, the accompanying drawing used required in embodiment or description of the prior art will be briefly described below, apparently, accompanying drawing in being described below is only some embodiments of the present invention, for those of ordinary skills, under the premise not paying creative work, it is also possible to obtain other embodiment and accompanying drawing thereof according to these accompanying drawing illustrated embodiments.
Fig. 1 is the device virtualization system framework figure based on linux container provided by the invention;
Fig. 2 is the device virtualization system framework figure being applied to Radio and Sensor equipment provided by the invention;
Fig. 3 is virtual device service end frame figure provided by the invention;
Fig. 4 is the device virtualization method flow diagram based on linux container provided by the invention;
Fig. 5 is virtual device service end the 3rd processing module workflow diagram provided by the invention;
Fig. 6 is function pointer Proxy Method flow chart provided by the invention.
Wherein, 100-device virtualization system;101-container management service;102-virtual device service end;1021-Radio virtual device service end;1022-Sensor virtual device service end;103-manufacturer closes source dynamic base;1031-Radio manufacturer closes source dynamic base;1032-Sensor manufacturer closes source dynamic base;104-Android system;1041-Android1;1042-Android2;105-virtual unit client;1051-Radio virtual unit client;1052-Sensor virtual unit client;106-HAL;1061-RadioHAL;1062-SensorHAL;201-virtual unit status architecture body;202-asks filtering module;203-responds filtering module.
Detailed description of the invention
Below with reference to accompanying drawing, the technical scheme of various embodiments of the present invention is carried out clear, complete description, it is clear that described embodiment is only a part of embodiment of the present invention, rather than whole embodiments.Based on the embodiment in the present invention, all other embodiments that those of ordinary skill in the art are obtained under the premise not making creative work, broadly fall into the scope that the present invention protects.
Device virtualization technical scheme provided by the invention, it is possible to be applied to the terminal unit based on android system, for instance smart mobile phone, panel computer etc..Technical scheme provided by the invention is based on android system research and development.Android system devises a hardware abstraction layer (HardwareAbstractionLayer is called for short HAL) between linux kernel and Androidframework.HAL is except definition HAL entirety standard interface, and one standard interface that has been also each module definition, such as the HAL interface of Radio module.The realization of HAL interface function is completed by hardware supplier, generally issues with the form of dynamic base.AndroidHAL by being loaded into the in-process of corresponding device subsystem by these dynamic base, and calls equipment handling function therein to use hardware resource.
It is difficult to adopt traditional method to realize virtualized problem in android system for some task equipment (such as Radio, Sensor etc.) at present.The present invention is based on agent skill group, it is proposed that a kind of device virtualization system and method, it is possible to suitable in the equipment that device drives is not open source code, it is achieved equipment multiplexing, achieve good effect in the place that legacy equipment virtual method is difficult to carry out.It is pointed out that device virtualization system and method provided by the invention, may be equally applicable for the equipment that device drives is open source code.
One, based on the device virtualization system of linux container
Fig. 1 illustrates the device virtualization system framework figure based on linux container provided according to embodiments of the present invention.Device virtualization system 100 based on linux container provided by the invention, including the container management service 101 being arranged on linux kernel;Container management service 101 creates one or more containers according to configuration file, runs android system 104 in each container.This device virtualization system 100 also includes equipment virtual client 105 and equipment component 102.
Virtual unit client 105 is when android system starts, HAL load, and it is of the same name that itself and manufacturer close source dynamic base 103.Individual android system one by one in office can all be loaded with the virtual unit client 105 corresponding with each equipment subsystem.Virtual unit client 105, it is achieved android system HAL is the interface function of equipment subsystem definition, and creates dynamic link libraries according to interface function, in order to dynamic load during system start-up.Virtual unit client 105 is equivalent to virtual equipment corresponding with equipment subsystem in android system 104, directly and android system HAL106 mutual.
Virtual unit client 105 farther includes the first processing module and the second processing module: the first processing module, and the equipment operation requests from android system is sent to virtual device service end 102;Second processing module, monitors and actively submits asynchronous event from the equipment operating result of virtual device service end or equipment, and will receive equipment operating result or equipment is actively submitted asynchronous event and is submitted to android system.Equipment operation requests in first processing module includes synchronizer operation requests (such as device status inquiries operation) and asynchronous device operation requests (such as equipment opening operation).When for synchronizer operation requests, send synchronizer operation requests and reception synchronizer operating result can use a processing module to complete, namely the synchronizer operation requests from android system is sent to virtual device service end by the first processing module, it is responsible for receiving the corresponding synchronizer operating result returned simultaneously, and synchronizer operating result is submitted to android system;Here the second processing module can not needed.Another kind is achieved in that, calls the second processing module by the first processing module, receives the corresponding synchronizer operating result returned, and synchronizer operating result is submitted to android system.
Virtual device service end 102 is loaded by container management service 101.Container management service 101 loads the virtual device service end 102 corresponding with each equipment subsystem.Virtual device service end 102, it is achieved manufacturer closes source dynamic base 103 and adjusts back the android system HAL interface function for equipment subsystem.Apply for the ease of the later stage, it is possible to create dynamic link libraries according to these interface functions, load when virtual device service end 102 initializes, naturally it is also possible to this type of interface function is directly connected to container management service 101.
Virtual device service end 102 farther includes the 3rd processing module and fourth processing module: the 3rd processing module, monitor the equipment operation requests from virtual unit client, and call, according to the equipment operation requests received, the equipment handling function that relevant device manufacturer closes in source dynamic base 103 and complete the operation to equipment, or according to equipment operation requests, construct equipment operating result;Fourth processing module, the asynchronous event of actively submitting by the equipment operating result of the equipment operating result acted on behalf of or structure or from equipment sends virtual unit client to.Structure equipment operating result includes synchronizer operating result and asynchronous device operating result.When equipment operating result is by the 3rd processing module structure, structure synchronizer operating result and the synchronizer operating result of structure is fed back to virtual unit client a processing module can be used to complete, namely the 3rd processing module is according to the equipment operation requests structure equipment operating result received, and is responsible for structure equipment operating result is fed back to virtual unit client simultaneously;Here the second processing module can not needed.Another kind is achieved in that, the 3rd processing module calls fourth processing module, and structure equipment operating result is fed back to virtual unit client.
Above-mentioned first processing module, the second processing module, the 3rd processing module and fourth processing module all can adopt the mode of thread to realize.Owing to being difficult to call between thread, send synchronizer operation requests and reception synchronizer operating result all uses same thread to realize;Construct synchronizer operating result and the synchronizer operating result of structure is fed back to same the realizing at same thread of virtual unit client.
Manufacturer closes source dynamic base 103 and is provided by equipment supplier.Here with have manufacturer close source dynamic base 103 equipment citing illustrate, it is because traditional virtual method and cannot realize having the virtual of not open source code equipment, and the problem that device virtualization system provided by the invention exactly can solve this respect, it is simple to the difference of the present invention and traditional virtual method is described.It practice, device virtualization system provided by the invention also apply be applicable to have the equipment (i.e. manufacturer increase income dynamic base) of exploitation source code.
For Radio equipment and Sensor equipment, the composition of device virtualization system is provided further instruction.As in figure 2 it is shown, container management service 101 creates two containers according to configuration file, each container runs android system, i.e. client Android11041 and client Android21042.
Client Android1 and and Android2 be designed with RadioHAL1061 and SensorHAL1062.When client Android1 starts, RaidoHAL1061 load and close, with Radio manufacturer, the Radio virtual unit client 1051 that source dynamic base 1031 is of the same name;Loaded by SensorHAL1062 and close, with Sensor manufacturer, the Sensor virtual unit client 1052 that source dynamic base 1032 is of the same name.Client Android2 also does same process.
Container management service loads the Radio virtual device service end 1021 corresponding with Radio and Sensor equipment subsystem and Sensor virtual device service end 1022 respectively.
Device virtualization system is carried out detailed explanation by the establishment process below in conjunction with device virtualization system.
The establishment of device virtualization system mainly includes procedure below:
(1) initializing the Android platform based on linux container technology, this platform initialization comprises the following steps:
1.1Linux kernel starts, and redirects execution init process;
1.2init process resolves and initializes root namespace, starts container management service 101;
1.3 container management service devices 101 read the preparation file editted in advance, according to the container number parameter started in configuration file, determine to create how many containers, and in each container, run the init process (such as Android11041 and Android21042) of android system;
Android system 104 in 1.4 each containers starts to start;Initialization completes.
Said vesse management service 101 is in a finger daemon of root namespace, for creating one or more containers according to configuration file, it is also possible to be used for initializing and destroying container.
(2) virtual unit client 105 is loaded: in client's android system 104 start-up course, HAL106 automatically loads and closes source dynamic base 103 virtual unit client of the same name 105 (such as Radio virtual unit client 1051 and Sensor virtual unit client 1052) with manufacturer, starts the initialization of Androud system 104 and virtual unit client 105.
For Radio equipment subsystem, in Android11041 start-up course, RadioHAL1061 can automatically load and close, with Radio equipment vendors, the Radio virtual unit client 1051 that source dynamic base 1031 is of the same name.In order to realize foregoing, Radio virtual unit client 1051 must realize the interface function that RadioHAL1061 is the definition of Radio equipment subsystem, and creates dynamic link libraries according to interface function, in order to dynamic load during system start-up.For Radio equipment, it is achieved interface function include module initialization function RIL_Init and the function pointer in structure RIL_RadioFunctions.Function pointer in RIL_RadioFunctions is the interface function of operation Radio equipment.It is as follows that module initialization function RIL_Init and structure RIL_RadioFunctions describes paragraph:
typedefstruct{
intversion;
RIL_RequestFunconRequest;
RIL_RadioStateRequestonStateRequest;
RIL_Supportssupports;
RIL_CancelonCancel;
RIL_GetVersiongetVersion;
}RIL_RadioFunctions;
Wherein, onRequest corresponding device operation requests interface, onStateRequest corresponding states request interface, supports corresponding requests test interface, it is used for testing whether current dynamic base supports that certain is asked, onCanel correspondence cancels appointment request interface, and getVersion correspondence obtains manufacturer RIL dynamic library version interface.
Realize above-mentioned interface function, and be compiled into virtual unit client link dynamic base, when running for Android1, RadioHAL1061 dynamic load.
Function pointer in structure RIL_RadioFunctions, namely operates the interface function of Radio equipment, is the client function of far call between process.This class function needs calling sequence method that function parameter is processed, and is finally packaged according to the communication protocol of definition between virtual unit client 105 and virtual device service end 102, is subsequently sent to virtual device service end 102;Virtual device service end 102 is also required to after receiving the data of reception are carried out unserializing operation, then could perform step below, explain in detail and will hereinafter be provided.
(3) virtual device service end is loaded: virtual device service end 102 is loaded by container management service 101.Container management service 101 is that each equipment subsystem loads a virtual device service end 102 (such as Radio virtual device service end 1021 and Sensor virtual device service end 1022).
When client's android system starts, virtual device service end 102 is initialized by container management service 101, register virtual unit for client's android system (such as Android1 and Android2) each virtual device service end 102 (such as Radio virtual device service end 1021 and Sensor virtual device service end 1022), monitor the equipment operation requests of the virtual unit client 105 (such as Radio virtual unit client 1051 and Sensor virtual unit client 1052) from each android system.The initialization of virtual device service end 102 includes this module itself is initialized, and the initialization to hardware device.
Virtual device service end 102 loads and initializes manufacturer and closes source dynamic base 103, and device service is used.In order to realize this content, virtual device service end 102 must realize manufacturer and close source dynamic base 103 and adjust back the interface of android system HAL106 corresponding device subsystem, and the equipment that this interface defines returns operating result or actively submits the interface function of asynchronous event.Realize this interface at virtual device service end 102, be to the equipment of virtual device service end 102 be operated operating result or actively submitting asynchronous event and be submitted to virtual unit client 105.Noted above, it is possible to create according to these interface functions and connect dynamic base, load when virtual device service end 102 initializes;This type of interface function can certainly be directly connected to container management service 101, make program run and simplify further;Or in employing this area, other similar means process, it is simple to the later stage calls.
For Radio equipment subsystem, Radio virtual device service end 1021 need to realize the function pointer in structure RIL_Env.Structure RIL_Env contains Radio equipment and returns operating result or actively submit the interface function of asynchronous event.It is as follows that structure RIL_Env describes paragraph:
structRIL_Env{
void(*OnRequestComplete)(RIL_Tokent,RIL_Errnoe,
void*response,size_tresponselen);
void(*OnUnsolicitedResponse)(intunsolResponse,constvoid*data,
size_tdatalen);
void(*RequestTimedCallback)(RIL_TimedCallbackcallback,
void*param,conststructtimeval*relativeTime);
};
Wherein, OnRequestComplete correspondence asynchronous operation completes interface, and OnUnsolicitedResponse correspondence asynchronous event upwards submits interface, and RequestTimedCallback correspondence manufacturer closes source dynamic base to the HAL timing callback interface asked.
Function pointer in structure RIL_Evn, namely adjusts back the interface function of the interface of android system HAL106 corresponding device subsystem, is the service end function of far call between process.This class function needs calling sequence method that function parameter is processed, and is finally packaged according to the communication protocol of definition between virtual device service end 102 and virtual unit client 105, is subsequently sent to virtual unit client 105;Virtual unit client 105 is also required to after receiving the data of reception are carried out unserializing operation, then just can be submitted to android system 104, explain in detail and will hereinafter be provided.
Fig. 3 illustrates virtual device service end 102 frame diagram provided according to embodiments of the present invention, below in conjunction with accompanying drawing, the structure of virtual device service end 102 is made an explanation.
Container management service 101 is that the content that client's android system registers virtual unit at each virtual device service end 102 farther includes, and container management service 101 is that each virtual unit client creates corresponding virtual unit status architecture body at virtual device service end 102.The multiple virtual unit status architecture bodies corresponding with same equipment subsystem constitute virtual unit status architecture body array 201.Virtual unit status architecture body is for storing the virtual unit status information of virtual unit client 105, and is safeguarded by virtual device service end 102.Virtual unit state at least includes the state of virtual equipment in reflection android system, it is also possible to include the state etc. of reflection data cube computation.
For Radio equipment subsystem, container management service 101 is the Radio virtual unit client 1051 in Android11041 and the Radio virtual unit client 1051 in Android11042 creates two virtual unit status architecture bodies at Radio virtual device service end 1021 respectively, and is safeguarded by Radio virtual device service end 1021.Two virtual state structures constitute virtual state Array for structural body.
Virtual state structure is for recording the virtual unit status information of virtual state client 105.Such as, container management service 101 creates virtual unit status architecture body PerVPData at Radio virtual device service end 1021 for Radio virtual unit client 1051 in Android11041, for recording the status information of virtual Radio equipment, as follows:
typedefstruct{
intradioState;
intscreenOnOff;
intdataOnOff;
//...
}PerVPData;
Wherein, the open and close state (i.e. virtual unit client state) of radioState correspondence Radio, the open and close state (i.e. android system state) of screenOnOff correspondence screen, open and close state that dataOnOff corresponding data connects etc..
In order to improve the work efficiency of virtual device service end 102, virtual device service end 102 is additionally provided with request filtering module 202 and response filtering module 203.
Request filtering module 202, according to the request filtering rule arranged, the equipment operation requests that virtual device service end the 3rd processing module is received is filtered (the equipment operation requests that namely virtual unit client 105 is sent) and is filtered;Virtual device service end 102, according to filter result, decides whether agent operation equipment subsystem, or according to equipment operation requests structure respective synchronization/asynchronous device operating result.
Request filtering module 202, the equipment operation requests being responsible for virtual unit client 105 is sent is filtered.Request filtering module 202 with reference to being placed on all virtual unit states in virtual unit status architecture body array, according to the request filtering rule formulated, can provide filter result;Equipment in equipment operation requests, according to filter result, is operated and arbitrates by virtual device service end 102, then decides whether operation hardware device again.
The request filtering rule adopted in the present embodiment is as follows:
2.1 for changing the equipment operation requests of real equipment state or virtual unit state, for instance equipment open and close etc. operate, and can process according to the determination strategy formulated.Operate for equipment open and close, the more commonly used determination strategy is: (1) is for closing the request of hull closure, only it is in closed mode when all virtual unit status architecture bodies relate to the state of virtual equipment in android system, virtual device service end 102 agency closes the request of hull closure, close hull closure, and virtual unit state is updated to closed mode simultaneously;Otherwise virtual device service end structure is turned off the asynchronous device operating result of equipment, and virtual unit state is updated to closed mode simultaneously;(2) for opening the request of equipment, as long as there being a request to open equipment, just agency opens the request of equipment, and virtual unit state is updated to simultaneously and opens.
2.2 operate for the equipment of exclusive class, for instance call, virtual device service end 102 be in foreground or backstage according to the current android system sending request and arbitrate, decide whether to carry out equipment operation agent;When current android system is in foreground, virtual device service end proxy device operation (such as calling);When current android system is in backstage, virtual device service end 102 refusal is background proxy, simultaneously constructor failure asynchronous device operating result.
2.3 operate for status poll kind equipment, and the virtual unit state in virtual unit status architecture body is directly configured to synchronizer operating result and returns by virtual device service end 102.
2.4 operate for other type of equipment apart from the above, and virtual device service end 102 is all acted on behalf of.
From above-mentioned to request filtering module 202 analysis it can be seen that
(1) for relating to situation in filtering rule 2.1, no matter whether virtual device service end 102 is acted on behalf of equipment operation;It is both needed to according to equipment operation requests, corresponding virtual unit state is updated;
(2) for filtering rule relates to structure asynchronous device operating result be referred in equipment operation requests and HAL for equipment subsystem define interface be designed;
(3) virtual device service end 102 can not only realize the agency to equipment operation, and according to different situations, can construct equipment operating result, by equipment operation virtualization, it is achieved the multiplexing of equipment subsystem;Realize the multiplexing of equipment subsystem, it is possible to make equipment operation not affect the operation of real equipment other virtual unit clients corresponding.
It will be appreciated by those skilled in the art that request filtering rule given above is merely illustrative of, the effect of request filtering module is carried out in detail, the present invention is not had any restriction effect.Those skilled in the art completely can under guiding theory of the present invention, and amendment filtering rule reaches other purpose slightly.Therefore, the amendment of filtering rule also can not surpassed protection scope of the present invention.
Response filtering module 203, according to the response filtering rule arranged, intercepts and captures asynchronous event that all hardware equipment submits upwardly through virtual device service end fourth processing module and it is filtered;Virtual device service end 102, according to filter result, decides whether to be sent to asynchronous event virtual unit client 105.
For asynchronous event in the present embodiment, the response filtering rule of employing is as follows:
3.1 arrange collocation strategy, and according to strategy, the event that each virtual unit client 105 can be received is configured.
In the present embodiment, rule of thumb data, asynchronous event is classified, is broadly divided into conventional asynchronous event, equipment state class asynchronous event and other asynchronous event.Conventional asynchronous event be mainly occurrence frequency higher asynchronous event, for instance receive calls, note prompting, qq prompting message, wechat prompting etc..Other asynchronous event is primarily referred to as the asynchronous event that occurrence frequency is not high.Above-mentioned classification is not absolute, it is possible to the change according to occurrence frequency, is being adjusted whenever necessary.For conventional asynchronous event, it is usually employing collocation strategy.
Such as, definition only client Android11041 can receive incoming call/note prompting, and other client Android can only use out the function (such as functions such as data cube computation) outside this.
3.2 notify class event for equipment state, such as identify the message of opening of device, closed mode, with reference to the virtual unit state of corresponding virtual unit client 105, it must be filtered, if not with the virtual unit state conflict of virtual unit client 105, just equipment state being notified, class event is sent to virtual unit client 105, otherwise not response.Virtual unit client 105 can not be allowed to receive the state notifying event conflicted with oneself state.
3.3 for other event, arranges acquiescence filtering rule and they are filtered.Such as, default rule could be arranged to: acquiescence is sent to all virtual unit clients 105, or acquiescence is merely sent to equipment and is on the virtual unit client 105 of state.
For the asynchronous device operating result after virtual device service end proxy device operation, all asynchronous device operating results can not be all filtered by response filtering module 203, and be filtered just for response in need, for instance the asynchronous device operating result affecting two and above virtual unit client needs to be filtered.It is established as example with data channel process, the Radio virtual unit client 1051 of client Android11041 is initiated data channel and is set up request, radio virtual device service end 1021 is according to equipment operation requests, proxy device operation, and the response (equipment operating result) that real equipment returns comprises real equipment in network informations such as the IP address of operator's place's acquisition, gateway informations;But after introducing virtualization, there is multiple virtual unit client, necessarily use each different network informations, therefore here need equipment operating result is filtered.Information/attribute with reference to Radio virtual unit client 1051, construct a rational asynchronous device operating result (comprising virtual ip address and gateway information), return to the Radio virtual unit client 1051 of Android11041, set up the data channel between the Radio virtual unit client 1051 of Android11041 and Radio virtual device service end 1021.Data channel establishing method between Radio virtual unit client 1051 and the Radio virtual device service end 1021 of Android11041, those skilled in the art can adopt conventional means to set up.
From above-mentioned to response filtering module 203 analysis it can be seen that
(1) by filtering rule 3.2, it is possible to filter out the event conflicted with virtual unit client state, it is ensured that the state that the state that each virtual unit client receives is in itself is compared and joined;
(2) by filtering rule 3.1 and 3.3, it is possible to increase asynchronous event distribute efficiency;
(3) on the asynchronous device operating result affecting two and above virtual unit client, virtual device service end 102 is with reference to the information/attribute sending equipment operation requests virtual unit client, structure asynchronous device operating result, this further embodies the virtualization effect of system in the application.
It will be appreciated by those skilled in the art that response filtering rule given above is merely illustrative of, the effect of response filtering module is carried out in detail, the present invention is not had any restriction effect.Those skilled in the art completely can under guiding theory of the present invention, and amendment filtering rule reaches other purpose slightly.Therefore, the amendment of filtering rule also can not surpassed protection scope of the present invention.
Two, equipment operation agent is realized device virtualization
Above in association with the establishment process of device virtualization system, device virtualization system is described in detail.The process that equipment operation agent realizes device virtualization below is described in detail.
Before implementing to illustrate to device virtualization, it is necessary to first sequencing method and unserializing method to adopting in the present embodiment make an explanation.Present invention introduces serializing and unserializing function, the parameter of remote function calls is processed, Parameters Transformation is become the form that can store or transmit.The present invention has used for reference the thought of conventional sequence and unserializing, and each parameter is carried out serializing process, it is ensured that all information that this parameter is relevant all saved, it is sufficient to reconstruct this parameter in the new process space.
1, sequencing method:
Serializing function is with function parameter and relief area for input, and according to data type, structure sends relief area.For remote function call parameter, serializing operating procedure is as follows:
The value of parameter p is copied to transmission relief area by 4.1;
4.2 judge parameter p whether pointer, if not, jumped to step 4.6;
4.3 by p the internal memory pointed to shared by type T copy to transmission relief area;
4.4 judge in type T whether be structure type, if not, jumped to step 4.6;
Each member variable in 4.5 couples of structure T, jumps to step 4.1 and investigates;
4.6 process terminate.
For the relief area that remote function call parameter is constituted, described serialisation step is as follows:
Buffer contents is copied to transmission relief area by 4.7.
The data that 4.8 pairs of relief areas are deposited, jump to 4.1 and process.
4.9 buffer data serializings terminate.
2, unserializing method:
The input of unserializing is consistent with serializing function, but its objective is that the relief area that parameter and parameter are constituted is reconstructed.Unserializing operating procedure is as follows:
5.1 type judging parameter p, in this way structure types, then jump to step 5.2;Pointer type in this way, then jump to step 5.3;Otherwise jump to step 5.6.
5.2, for all members of structure p, jump to step 5.1 and process.
5.3 values judging p, if value is NULL, then jump to step 5.6.
P assignment is the pointed type address in current process space by 5.4.
5.5 judge whether p is structure pointer type, in this way, jump to step 5.2 and the p structure pointed to is processed.
5.6 parameter unserializings terminate.
For relief area, unserializing specifically comprises the following steps that
5.7 according to information such as HAL standard interfaces, and data type is deposited in analysis buffers.To all data types in relief area, jump to step 5.1 and process.
5.8 relief area unserializings terminate.
Serializing operation and the conventional means that unserializing operation is this area, for serializing i.e. achievable data transmission, those skilled in the art can select data not to be serialized, and directly transmits, for instance binary data etc..
After multiple android system start on same hardware platform, the problem that can face equipment multiplexing, in order to solve time problem, the present invention adopts agent skill group to realize device virtualization, propose a kind of device virtualization method based on linux container, between android system HAL and equipment subsystem, load virtual unit client 105 and virtual device service end 102;By virtual unit client 105, equipment operation requests is sent to virtual device service end 102;Then called, by virtual device service end 102, equipment handling function that manufacturer closes in source dynamic base 103, realize agency that equipment is operated, or structure equipment operating result, realize the multiplexing to equipment subsystem, Fig. 4 illustrates the device virtualization method flow diagram based on linux container, comprises the following steps:
A1, initializes the Android platform based on linux container, loads virtual unit client 105 and virtual device service end 102;
A2, is sent to virtual device service end 102 by virtual unit client 105 by the equipment operation requests from android system upper layer application;
A3, the equipment operation requests from virtual unit client 105 is monitored by virtual device service end 102, and call, according to the equipment operation requests received, the equipment handling function that equipment vendors close in source dynamic base 103, complete equipment to be operated, realizes the agency to equipment operation;Or, according to the equipment operation requests structure equipment operating result received, it is achieved the multiplexing to equipment subsystem;
A4, feeds back to virtual unit client 105 by virtual device service end 102 by the equipment operating result of the equipment operating result acted on behalf of or structure;
A5, monitors the equipment operating result from virtual device service end 102 by virtual unit client 105, and the equipment operating result received is submitted to android system.
For step A1, device virtualization system creation process above, have been given by describing in detail, repeat no more here.
The purpose of step A2 is that by HAL interface, equipment operation requests is sent to virtual device service end 102 by virtual unit client 105, specifically, HAL106 calls the interface function of virtual unit client 105 dynamic link libraries, and with the form of function call, equipment operation requests is passed to virtual device service end 102.
For the convenient agency to HAL interface, further according to HAL interface, virtual unit public head file defines function call number, function call number and the function one_to_one corresponding in HAL interface, also closes the equipment handling function one_to_one corresponding in source dynamic base 103 with manufacturer simultaneously.This function call function parameter is sent to virtual device service end 102 together.
The realization of above-mentioned steps A2, farther include following step by step:
A21, the equipment operation requests according to android system upper layer application, HAL calls the interface function in virtual unit client 105;
For Radio equipment, equipment operation requests is interface function onRequest, and by present first processing module in fact, function prototype is as follows:
typedefvoid(*RIL_RequestFunc)(intrequest,void*data,size_tdatalen,RIL_Tokent);
Wherein request is equipment operation requests number, represents concrete equipment operation;The memory headroom that data and datalen is constituted contains the parameter that equipment operation is required;T is then the handle of mark equipment operation.
A22, function parameter is carried out serializing process by virtual unit client 105 first processing module;Serializing operation is referred to sequencing method given above;
For Radio equipment, being then in interface function onResquest, 4 parameters of oneself are carried out serializing process by it.
A23, processes, by function call number and serializing, the data preserved by virtual unit client 105 first processing module and is sent to virtual device service end 102;Communication protocol between virtual unit client 105 and virtual device service end 102 can be defined according to the conventional means of this area;For Radio equipment, the data after the function call number of corresponding onRequest itself and serializing process can be sent function by one and be sent to Radio virtual device service end 1021 by Radio virtual unit client 1051.
The purpose of step A3 is, virtual device service end 102, according to the equipment operation requests received, calls the equipment handling function that manufacturer closes in source dynamic base 103, completes equipment to be operated, realizes the agency to equipment operation;Or, according to the equipment operation requests structure synchronous/asynchronous equipment operating result received, it is achieved the multiplexing to equipment subsystem.
The realization of above-mentioned steps A3, as it is shown in figure 5, farther include following step by step:
A31, monitors the equipment operation requests from virtual unit client 105 first processing module by virtual device service end 102 the 3rd processing module;
A32, when receiving equipment operation requests, virtual device service end 102 the 3rd processing module extracts function call number, and adopts antitone sequence method reconstruction of function parameter, so as to effective in current process space;Then equipment operation requests is added waiting list, wait the process of virtual device service end.Unserializing operation can adopt unserializing method given above.
For above-mentioned Radio equipment, namely Radio virtual device service end 1021 extracts function call number, and utilizes unserializing operation that parameter is reconstructed to obtain 4 parameters.
A33, virtual device service end 102 the 3rd processing module, with reference to virtual unit state, equipment operation is arbitrated, decide whether that the equipment operation to step A31 gained function call number is representative is acted on behalf of;If acting on behalf of, enter step A34;If not acting on behalf of, enter step 35;
For Radio equipment, namely parameter request is arbitrated.Can according to request filtering rule, by asking filtering module to judge action type according to parameter request, whether operation affects real equipment state or virtual unit state, or whether it is the equipment operation monopolizing class, utilize request filtering module that equipment operation requests is filtered, Radio virtual device service end 1021, according to filter result, decides whether equipment operation is acted on behalf of.
A34, virtual device service end 102 the 3rd processing module uses function call number and function parameter to call manufacturer and closes equipment handling function corresponding in source dynamic base 103, completes equipment is operated.
For Radio equipment, according to function call number, the interface function onRequest call another, being implemented in manufacturer and close in source dynamic base 103, then use step A32 4 parameters obtained to complete equipment operation.
A35, for the equipment operation requests of agency cannot be carried out, virtual device service end 102 the 3rd processing module reference device operation requests, construct corresponding synchronous/asynchronous equipment operating result.
For the equipment operation requests of agency cannot be carried out, at least include several situation: (1) device status inquiries operation requests;(2) real equipment state or the operation requests of virtual unit state are affected;(3) android system is in the exclusive generic operation request on backstage.
For situation (1), virtual device service end 102 the 3rd processing module utilizes the virtual unit state structure synchronizer operating result in respective virtual equipment state structure.Then the synchronizer operating result after serializing being processed feeds back to virtual unit client 105 first processing module or the second processing module.For Radio equipment, Radio virtual unit client 1051 calling interface function onStateRequest, Radio virtual device service end 1021 is in inquiring respective virtual Radio structure after the value of parameter radiostate, this value will be done serializing process, thereafter as the return value of onStateRequest, it is fed directly to Radio virtual unit client 1,051 first processing module or the second processing module by Radio virtual device service end 1021 the 3rd processing module.
For situation (2), with reference to virtual unit state in virtual unit status architecture body, structure does not affect the equipment operating result that other virtual unit client is run.Then the asynchronous device operating result after function call number and serializing being processed feeds back to virtual unit client 105 second processing module.For Radio equipment, when shutoff operation request is not with all virtual unit state consistencies in virtual unit status architecture body array, can not implement to close the operation of hull closure, the asynchronous device operating result that structure equipment is closed, close as parameter call interface function OnRequestComplete using equipment, the parameter of OnRequestComplete is serialized;Then the data after the function call number corresponding with OnRequestComplete and serializing being processed feed back to Radio virtual unit client 1,051 second processing module by Radio virtual device service end 1021 the 3rd processing module or fourth processing module together;Virtual unit state corresponding for this virtual unit client is updated to closedown simultaneously.
For situation (3), owing to android system is in backstage, virtual device service end 102 refuses background proxy operation, the therefore direct constructor failure asynchronous device operating result of virtual device service end 102.Then the asynchronous device operating result after function call number and serializing being processed feeds back to virtual unit client 105 second processing module.For Radio equipment, after asynchronous device operating result constructs, will as parameter, calling interface function OnRequestComplete, its parameter is carried out serializing process;Then Radio virtual unit client 1,051 second processing module is fed back to by Radio virtual device service end 1021 the 3rd processing module or fourth processing module together with the data after function call number being processed with serializing.
After step A31~A35 completes, from a procedural view, be equivalent to have been completed the agency to equipment operation or the multiplexing to equipment subsystem.As can be seen from the above analysis, in device virtualization method provided by the invention, do not adopt the method for simulator that virtual machine is set, but complete above-mentioned task with the virtual device service end arranged.In this way, it is not necessary to know device drives source code, it is possible to support multiple different vendor equipment, it is to avoid traditional virtual method is required for distinct device the loaded down with trivial details of virtual hardware equipment is provided.
The purpose of step A4 is that equipment operating result is fed back to virtual unit client 105 first processing module or the second processing module by virtual device service end 102.Generally, equipment operation structure has two ways to return: for few operation equipment consuming time, generally follow the design specification of android system, equipment operating result is immediately returned to virtual unit client 105 first processing module (when the first processing module can receive synchronizer operating result simultaneously) to android system or the second processing module (the first processing module with call form and complete synchronizer operating result reception time), for instance device status inquiries operation (having been given by step A35);And the remaining overwhelming majority more equipment operation (being primarily referred to as the equipment acted on behalf of by virtual device service end 102 to operate) consuming time, equipment operating result returns to virtual unit client 105 second processing module in the way of asynchronous message.Noted above, when equipment operating result is by the 3rd processing module structure, virtual device service end 102 the 3rd processing module can according to the equipment operation requests structure equipment operating result received;It is responsible for being fed back to virtual unit client 105 simultaneously;And step A35 part has described the process that the equipment operating result of structure is fed back to virtual unit client 105 by virtual device service end 102 in detail, therefore step A4 relevant portion is no longer explained here.
Certainly, the 3rd processing module can also be called fourth processing module the equipment operating result of structure is fed back to virtual unit client 105.For this situation, fourth processing module, according to the interface function that the equipment operating result of structure is parameter call readjustment HAL;The parameter of interface function is carried out serializing process;Then Radio virtual unit client 105 second processing module is fed back to by virtual device service end 102 fourth processing module together with the data after function call number being processed with serializing.
When the equipment operating result after virtual device service end 102 has been acted on behalf of returns virtual unit client 105 second processing module in asynchronous message mode, farther include following step by step:
A41, manufacturer closes source dynamic base 103 and calls the readjustment HAL interface being implemented in virtual device service end 102, returns asynchronous operation result to virtual unit client 105.
For Radio equipment, Ze Shi manufacturer closes source dynamic base 103 and uses asynchronous operation result as parameter call interface function OnRequestComplete.
A42, equipment operating result is carried out serializing process by virtual device service end 102 fourth processing module;Serializing operation is referred to sequencing method given above.
For Radio equipment, the parameter of OnRequestComplete preserves equipment operating result, serializes by the parameter of OnRequestComplete.
A43, serializing is processed the data preserved and is sent to virtual unit client 105 second processing module by virtual device service end 102 fourth processing module.
For Radio equipment, it is simply that the function call number corresponding with OnRequestComplete and serializing are processed the data preserved and be sent to Radio virtual unit client 1051 by Radio virtual device service end 1021 fourth processing module.
Contrast step A4 also relates to a kind of special circumstances, namely affects the asynchronous device operating result of two and above virtual unit client 105, for the process of this type of request, explains in detail when introducing response filtering module 203.For this situation, virtual device service end 102 fourth processing module needs to first pass through response filtering module 203 after step A41 and is filtered, then according to filter result, with reference to the information/attribute sending equipment operation requests virtual unit client, construct a rational equipment operating result, according still further to step A42, A43 mode, equipment operating result is fed back to virtual unit client 105.
The purpose of step A5 is that by virtual unit client 105, equipment operating result is fed back to android system further.The data initially received due to virtual unit client 105 are through serializing, it is necessary to it is carried out antitone sequence operation, so as to effective in current process space;Unserializing operation can adopt unserializing method given above.Virtual unit client 105 again by the data delivery that obtains after unserializing to client's android system.
Except the equipment operational access that android system upper layer application is actively initiated, some hardware device also oriented android system actively submits the demand of asynchronous event, for instance Radio equipment needs notice android system to have phone to arrive.
In the present embodiment, virtual device service end 102 asynchronous event being sent to virtual unit client 105, then be submitted to android system by virtual unit client 105, specific operation process is similar with what submit equipment operating result, including following step by step:
B1, manufacturer closes source dynamic base 103 and calls the readjustment HAL interface being implemented in virtual device service end 102, submits asynchronous event to virtual unit client 105.
For Radio equipment, Ze Shi manufacturer closes source dynamic base 103 and uses asynchronous event as parameter call interface function RIL_onUnsolicitedResponse.
B2, with reference to each virtual unit state, is filtered by responding the filtering module 203 asynchronous event to needing response;Virtual device service end 102 fourth processing module is according to filter result, it is determined whether asynchronous event be distributed to this virtual unit corresponding virtual unit client 105 second processing module.
In step bl is determined., can according to response filtering rule, the asynchronous event that all hardware equipment intercepted and captured upwards is submitted by response filtering module is adopted to be filtered, virtual device service end 102 fourth processing module, according to filter result, decides whether this event is distributed to virtual unit client 105 second processing module.By the response filtering module arranged, asynchronous event can be improved and distribute work efficiency, and avoid virtual unit client 105 to receive the event with self virtual unit state conflict, it is ensured that the state that the state that each virtual unit client receives is in itself is compared and is joined.
Such as, for Radio equipment, if certain virtual unit is closed, then corresponding virtual unit client cannot receive any event contrary with its state, for instance signal intensity event.So response filtering module needs to filter out this type of asynchronous event.
B3, asynchronous event is carried out serializing process by virtual device service end 102 fourth processing module;Serializing operation is referred to sequencing method given above.
For Radio equipment, process by the argument sequenceization of interface function RIL_onUnsolicitedResponse.
B4, function call number and serializing are processed the data preserved and are sent to virtual unit client 105 second processing module by virtual device service end 102 fourth processing module.
For Radio equipment, namely the data after the function call number corresponding with RIL_onUnsolicitedResponse and serializing process are sent collectively to Radio virtual unit client 1051 by Radio virtual device service end 1021.
B5, monitors the asynchronous event from virtual device service end 102 fourth processing module by virtual unit client 105 second processing module, and the asynchronous event received is submitted to android system.
The purpose of step B5 is that by virtual unit client 105, asynchronous event is fed back to android system further.The data initially received due to virtual unit client 105 are through serializing, it is necessary to it is carried out antitone sequence operation, so as to effective in current process space;Unserializing operation can adopt unserializing method given above.Virtual unit client 105 again by the data delivery that obtains after unserializing to client's android system.
Equipment operation requests and equipment operating result in the present embodiment are set by equipment vendors are unified.Equipment operation requests cited in the present invention and equipment operating result are only for the purpose of illustration; not any refering in particular to; those skilled in the art completely can be different according to the equipment adopted, and replace accordingly, and this replacement can not be beyond the scope of the present invention.
Three, proxy function pointer
Above for be the most equipment operation faced in general terminal unit, and some equipment are operated, are then need function pointer just can complete to close calling of function the dynamic base of source from manufacturer, it is achieved equipment operation.Being directed to this type of situation, manufacturer closes source dynamic base 103 meeting calling interface, submits a function pointer and parameter to AndroidHAL106, in order to this function pointer can be adjusted back by HAL106 in due course.
And for function pointer, it it is only substantially function entrance address, memory copying can not be carried out as General Parameters, therefore can not be serialized and unserializing, the present embodiment provides a kind of function pointer Proxy Method, it is possible to make the function pointer being present in remote function calls parameter effectively can perform at far-end.
If AndroidHAL106 has similar following function prototype:
voidRIL_requestTimedCallback(RIL_TimedCallbackcallback,
void*param,conststructtimeval*relativeTime);
When adopting device virtualization scheme of the present invention, just had following function calling relationship: manufacturer close source dynamic base 103 call virtual device service end 102 realize proxy function RIL_requestTimedCallback function pointer (callback) and function parameter (arg) are delivered to virtual unit client 105, and then pass to AndroidHAL106, HAL106 and in due course function pointer (callback) is adjusted back.Agency for function pointer, can be realized by the first processing module, the second processing module, the 3rd processing module and fourth processing module, for the special circumstances of function pointer, corresponding processing module can also be separately provided in virtual unit client and virtual device service end respectively.
Fig. 6 illustrates function pointer Proxy Method flow chart.In specific implementation, the function pointer agent operation that the present embodiment adopts comprises the following steps:
S1, according to the function pointer prototype existed in HAL106, virtual unit client 105 realizes acting on behalf of call back function.In the present embodiment, according to above-mentioned function prototype RIL_requestTimedCallback, virtual unit client 105 realizes a function callback_proxy.
S2, virtual device service end 102 realizes transmitting the proxy function of function pointer to android system HAL, and is closed source dynamic base 103 by manufacturer and call, and function pointer and parameter are passed to virtual unit client 105.In the present embodiment, the proxy function that virtual device service end 102 realizes is requestTimedCallback_proxy;Manufacturer closes source dynamic base 103 and calls the proxy function requestTimedCallback_proxy of virtual device service end 102, parameter arg except function pointer is carried out serializing process, together with the data after then function call number, function pointer and serializing being processed, passes to virtual device service end 105.This process can complete in the fourth processing module of virtual device service end 102 or independent processing module.
S3, the function pointer received and parameter are saved in internal memory by virtual unit client 105, and use the value of current memory address alternative parameter, as the parameter acting on behalf of call back function.In the present embodiment, virtual unit client 105 is called according to function call number and is acted on behalf of call back function callback_proxy, and the data received are carried out unserializing process reconstruction parameter, the function pointer callback same parameter arg received is saved in internal memory, and use current memory address to replace the original value of arg, as the parameter arg_proxy acting on behalf of call back function callback_proxy;Here callback_proxy is responsible for function reading pointer and parameter arg from the parameter arg_proxy memory headroom pointed to.This process can complete in the second processing module of virtual unit client 105 or independent processing module.
S4, virtual unit client 105 passes to android system HAL106 by acting on behalf of the parameter acting on behalf of call back function obtained in call back function and step S3.In the present embodiment, the parameter arg_proxy in function pointer callback_proxy and step S3 is passed to AndroidHAL106;This process can complete in the second processing module of virtual unit client 105 or independent processing module.
S5, under imposing a condition, HAL106 calls and acts on behalf of call back function, acts on behalf of call back function and resolves its parameter, it is thus achieved that the function pointer of memory headroom pointed by this parameter and parameter, is then sent to virtual device service end by HAL.The condition set can be determined according to the specific requirement of distinct device, for instance setting at set intervals, HAL106 just adjusts back linear function pointer.In the present embodiment, when HAL106 call back function pointer, HAL106 calls function callbank_proxy, function callbank_proxy analytic parameter arg_proxy, it is thus achieved that the function pointer callback of memory headroom performed by parameter arg_proxy and parameter arg;Parameter arg is carried out serializing process by virtual unit client 105, and the data after then function pointer callback and serializing being processed are sent collectively to virtual device service end 102.This process can complete in the first processing module of virtual unit client 105 or independent processing module.
S6, virtual device service end 102, with the function pointer received and parameter, calls manufacturer and closes the function in source dynamic base 103, complete the readjustment of function pointer.In the present embodiment, virtual device service end 102 receives the proxy requests of callback_proxy, does function pointer with the callback received, and arg does parameter, completes the readjustment of function pointer;Then close the function in source dynamic base 103 further according to function pointer and parameter call manufacturer, complete subsequent operation.This process can complete in the 3rd processing module of virtual unit client 105 or independent processing module.
For different equipment, the purpose of call back function pointer also differs, and specifically effect is also different because of equipment for it.As long as being capable of the purpose of function pointer readjustment in the present invention.
In sum, by the device virtualization technology based on linux container provided by the invention, it is capable of the agency to equipment operation and function pointer, it is possible to make the multiple task equipments such as Radio realize multiplexing, achieve good effect in the place that legacy equipment virtual method is difficult to carry out.
Those of ordinary skill in the art is it will be appreciated that embodiment described here is to aid in reader understanding's principles of the invention, it should be understood that protection scope of the present invention is not limited to such special statement and embodiment.Those of ordinary skill in the art can make various other various concrete deformation and combination without departing from essence of the present invention according to these technology disclosed by the invention enlightenment, and these deformation and combination remain in protection scope of the present invention.

Claims (10)

1. the device virtualization system based on linux container, it is characterised in that be applicable to the Android virtual platform based on linux container, including the container management service being arranged under root namespace;Container management service creates one or more containers according to configuration file, runs android system in each container, loads virtual device service end simultaneously;Android system is provided with HAL;When android system starts, HAL loads the virtual unit client of the same name with Manufacturer News storehouse;
Virtual unit client, it is achieved android system HAL is the interface function of equipment subsystem definition;Virtual unit client farther includes the first processing module and the second processing module;
First processing module, is sent to virtual device service end by the equipment operation requests from android system;Equipment operation requests includes synchronizer operation requests and asynchronous device operation requests;
Second processing module, monitors and actively submits asynchronous event from the equipment operating result of virtual device service end or equipment, and will receive equipment operating result or equipment is actively submitted asynchronous event and is submitted to android system;
Virtual device service end, it is achieved the interface function of Manufacturer News storehouse readjustment android system HAL corresponding device subsystem;Virtual device service end farther includes the 3rd processing module and fourth processing module;
3rd processing module, monitor the equipment operation requests from virtual unit client, and call the equipment handling function in relevant device Manufacturer News storehouse according to the equipment operation requests received and complete the operation to equipment, or according to equipment operation requests, construct equipment operating result;Structure equipment operating result includes synchronizer operating result and asynchronous device operating result;
Fourth processing module, the asynchronous event of actively submitting by the equipment operating result of the equipment operating result acted on behalf of or structure or from equipment sends virtual unit client to;
Manufacturer News storehouse, is provided by equipment supplier;Manufacturer News storehouse is that manufacturer increases income dynamic base or manufacturer closes source dynamic base.
2. the device virtualization system based on linux container according to claim 1, it is characterized in that, when request is for synchronizer operation requests, synchronizer operation requests from android system is sent to virtual device service end by the first processing module, it is responsible for receiving the corresponding synchronizer operating result returned simultaneously, and synchronizer operating result is submitted to android system;Or, the first processing module calls the second processing module, receives the corresponding synchronizer operating result returned, and synchronizer operating result is submitted to android system;
When equipment operating result is by the 3rd processing module structure, the 3rd processing module, according to the equipment operation requests structure equipment operating result received, is responsible for structure equipment operating result is fed back to virtual unit client simultaneously;Or, the 3rd processing module calls fourth processing module, and structure equipment operating result is fed back to virtual unit client.
3. the device virtualization system based on linux container according to claim 1, it is characterised in that in the first processing module, is sent to the function call number farther including to set of virtual device service end;Function call number and android system HAL interface one_to_one corresponding.
4. according to the arbitrary described device virtualization system based on linux container of claims 1 to 3, it is characterised in that virtual device service end farther includes request filtering module and response filtering module;
Request filtering module, according to the request filtering rule arranged, the equipment operation requests that virtual device service end the 3rd processing module is received is filtered;Virtual device service end, according to filter result, decides whether agent operation equipment subsystem or structure relevant device operating result;
Response filtering module, according to the response filtering rule arranged, intercept and capture asynchronous event that all hardware equipment submits upwardly through virtual device service end fourth processing module to and its be filtered;Virtual device service end, according to filter result, decides whether to be sent to asynchronous event virtual unit client.
5. the device virtualization system based on linux container according to claim 4, it is characterized in that, response filtering module, according to the response filtering rule arranged, the equipment operating result affecting two and above virtual unit client is filtered, with reference to the information/attribute sending equipment operation requests virtual unit client, construct equipment operating result, and feed back to virtual unit client by virtual device service end.
6. the device virtualization system based on linux container according to claim 1, it is characterised in that virtual device service end realizes the interface function of Manufacturer News storehouse transmission function pointer and parameter further;Manufacturer News storehouse is called this interface and function pointer and function parameter is passed to virtual unit client, and then passes to android system HAL, and under imposing a condition, HAL completes the readjustment of function pointer and parameter.
7. the device virtualization method based on the arbitrary described system of claim 1-6, it is characterised in that load virtual unit client and virtual device service end between android system HAL and equipment subsystem;By virtual unit client, equipment operation requests is sent to virtual device service end;Then called the equipment handling function in Manufacturer News storehouse by virtual device service end, realize agency that equipment operate, or construct asynchronous device operating result, it is achieved the multiplexing to equipment subsystem, specifically include following steps:
Initialize the Android platform based on linux container, load virtual unit client and virtual device service end;
By virtual unit client, the equipment operation requests from android system upper layer application is sent to virtual device service end;
Monitor the equipment operation requests from virtual unit client by virtual device service end, and call the equipment handling function in equipment vendors' dynamic base according to the equipment operation requests received, complete equipment to be operated, realizes the agency to equipment operation;Or, according to the equipment operation requests structure equipment operating result received, it is achieved the multiplexing to equipment subsystem;
By virtual device service end, the equipment operating result of the equipment operating result acted on behalf of or structure is fed back to virtual unit client;
Monitor the equipment operating result from virtual device service end by virtual unit client, and the equipment operating result received is submitted to android system.
8. device virtualization method according to claim 7, it is characterized in that, farther include step: actively submit asynchronous event for equipment subsystem, send the asynchronous event of actively submitting from equipment subsystem to virtual unit client by virtual device service end;
Monitored by virtual unit client and actively submit asynchronous event from the equipment of virtual device service end, and the equipment received actively is submitted asynchronous event be submitted to android system.
9. device virtualization method according to claim 7, it is characterized in that, for the equipment subsystem needing function pointer to complete function call, adopt the mode to function pointer agency, Manufacturer News storehouse is called virtual device service end and function pointer and function parameter is passed to virtual unit client, and then passes to android system HAL;
Under imposing a condition, HAL function pointer and parameter being sent to virtual device service end, virtual device service end, by receiving function pointer and parameter, calls the function in Manufacturer News storehouse, completes calling of function pointer, it is achieved the agency to function pointer.
10. device virtualization method according to claim 9, it is characterised in that to function pointer agency to implement step as follows:
S1, according to the function pointer prototype existed in HAL, virtual unit client realizes acting on behalf of call back function;
S2, virtual device service end realizes transmitting the proxy function of function pointer to android system HAL, and is called by Manufacturer News storehouse, and function pointer and parameter are passed to virtual unit client;
S3, the function pointer received and parameter are saved in internal memory by virtual unit client, and use the value of current memory address alternative parameter, as the parameter acting on behalf of call back function;
S4, virtual unit client passes to android system HAL by acting on behalf of the parameter acting on behalf of call back function obtained in call back function and step S3;
S5, under imposing a condition, HAL calls and acts on behalf of call back function, acts on behalf of call back function and resolves its parameter, it is thus achieved that the function pointer of memory headroom pointed by this parameter and parameter, is then sent to virtual device service end by HAL;
S6, virtual device service end, with the function pointer received and parameter, calls the function in Manufacturer News storehouse, completes calling of function pointer.
CN201610141294.9A 2016-03-11 2016-03-11 Equipment virtualization system and method based on L inux container Expired - Fee Related CN105808320B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610141294.9A CN105808320B (en) 2016-03-11 2016-03-11 Equipment virtualization system and method based on L inux container

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610141294.9A CN105808320B (en) 2016-03-11 2016-03-11 Equipment virtualization system and method based on L inux container

Publications (2)

Publication Number Publication Date
CN105808320A true CN105808320A (en) 2016-07-27
CN105808320B CN105808320B (en) 2018-12-04

Family

ID=56467366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610141294.9A Expired - Fee Related CN105808320B (en) 2016-03-11 2016-03-11 Equipment virtualization system and method based on L inux container

Country Status (1)

Country Link
CN (1) CN105808320B (en)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293896A (en) * 2016-08-10 2017-01-04 四川安嵌科技有限公司 Equipment multiplexing method and device applied to multiple systems
CN106502913A (en) * 2016-11-29 2017-03-15 北京元心科技有限公司 Method and device for debugging dual-system mobile terminal
CN106528133A (en) * 2016-11-03 2017-03-22 四川安嵌科技有限公司 Equipment request processing method and device applied to multiple systems
CN106776067A (en) * 2016-11-29 2017-05-31 北京元心科技有限公司 Method and device for managing system resources in multi-container system
CN106844000A (en) * 2016-12-21 2017-06-13 北京大学 Using the method and apparatus of browser access linux container cluster under a kind of multi-user environment
CN107741877A (en) * 2017-11-06 2018-02-27 湖南红手指信息技术有限公司 A kind of method, storage medium and the processor of cloud handset starting virtual opetrating system
WO2018036452A1 (en) * 2016-08-25 2018-03-01 Huawei Technologies Co., Ltd. Device and method for managing a communication interface of a communication device
TWI617982B (en) * 2016-11-21 2018-03-11 財團法人資訊工業策進會 Computer device and method for facilitating user to manage containers
WO2018045921A1 (en) * 2016-09-09 2018-03-15 Huawei Technologies Co., Ltd. Device virtualization for containers
CN108319849A (en) * 2017-01-16 2018-07-24 中标软件有限公司 Equipment strategy management system based on Android twin containers system and management domain implementation method
CN108390810A (en) * 2018-01-05 2018-08-10 郑州信大捷安信息技术股份有限公司 One kind is based on the more android system network virtualization methods of single linux kernel
CN108595536A (en) * 2018-04-03 2018-09-28 北京航空航天大学 Artificial intelligence program person writes digital spacecraft assembly information description and storage method
CN109062542A (en) * 2018-03-15 2018-12-21 山东超越数控电子股份有限公司 A kind of method that domestic ten thousand Broadcom realizes network communication
CN109542588A (en) * 2018-11-27 2019-03-29 郑州云海信息技术有限公司 A kind of method and apparatus for managing virtual unit under cloud environment
WO2019072182A1 (en) * 2017-10-13 2019-04-18 阿里巴巴集团控股有限公司 Hardware abstraction layer multiplexing method and apparatus, operating system and device
CN110162381A (en) * 2019-04-04 2019-08-23 北京升鑫网络科技有限公司 Proxy executing method in a kind of container
CN110737428A (en) * 2019-10-21 2020-01-31 Oppo广东移动通信有限公司 Hidl-based universal interface design method, device, terminal and readable storage medium
CN110750684A (en) * 2018-07-06 2020-02-04 武汉斗鱼网络科技有限公司 Message prompting method for multi-dimensional verification, storage medium, electronic device and system
CN111625293A (en) * 2020-05-15 2020-09-04 武汉蓝星科技股份有限公司 Terminal dual system based on linux kernel and hardware access management method thereof
WO2020248885A1 (en) * 2019-06-13 2020-12-17 中兴通讯股份有限公司 Service configuration management method and device, terminal, and computer-readable storage medium
US11042398B2 (en) 2018-07-09 2021-06-22 Samsung Electronics Co., Ltd. System and method for guest operating system using containers
CN113032095A (en) * 2021-03-15 2021-06-25 深圳市瑞驰信息技术有限公司 System and method for realizing android container operation on ARM architecture
CN113296890A (en) * 2021-05-21 2021-08-24 南京大学 Android virtualization method and system based on system call agent
CN113778714A (en) * 2021-09-13 2021-12-10 北京技德系统技术有限公司 Linux-compatible Android-compatible shear plate sharing method and device
CN113835768A (en) * 2021-11-29 2021-12-24 北京鲸鲮信息系统技术有限公司 Management method and system of Android hybrid HAL
CN113986476A (en) * 2021-12-24 2022-01-28 北京鲸鲮信息系统技术有限公司 Sensor equipment virtualization method and device, electronic equipment and storage medium
CN114077460A (en) * 2021-04-07 2022-02-22 北京鲸鲮信息系统技术有限公司 Method, equipment and medium for calling Android dynamic library HAL interface by software operating system
CN114995955A (en) * 2022-06-16 2022-09-02 广州千悦科技有限公司 Android plug-in virtualization Binder Hook method
WO2023024589A1 (en) * 2021-08-25 2023-03-02 荣耀终端有限公司 Request processing method and related apparatus
CN116339870A (en) * 2023-05-22 2023-06-27 南京美乐威电子科技有限公司 Method for scheduling hardware interface of equipment by third-party application and audio/video processing equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100064299A1 (en) * 2008-09-09 2010-03-11 Kace Networks, Inc. Deployment and Management of Virtual Containers
CN102270186A (en) * 2011-07-21 2011-12-07 华中科技大学 Virtual desktop external equipment support system
CN103593225A (en) * 2013-10-30 2014-02-19 浙江大学 Method for multiplexing Binder IPC mechanism by multiple Android systems in mobile virtualization scene
CN105183551A (en) * 2015-09-10 2015-12-23 电子科技大学 Multi-Android-system switching method based on Linux container technology

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100064299A1 (en) * 2008-09-09 2010-03-11 Kace Networks, Inc. Deployment and Management of Virtual Containers
CN102270186A (en) * 2011-07-21 2011-12-07 华中科技大学 Virtual desktop external equipment support system
CN103593225A (en) * 2013-10-30 2014-02-19 浙江大学 Method for multiplexing Binder IPC mechanism by multiple Android systems in mobile virtualization scene
CN105183551A (en) * 2015-09-10 2015-12-23 电子科技大学 Multi-Android-system switching method based on Linux container technology

Cited By (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293896A (en) * 2016-08-10 2017-01-04 四川安嵌科技有限公司 Equipment multiplexing method and device applied to multiple systems
CN106293896B (en) * 2016-08-10 2019-09-13 成都凛冬科技有限公司 Equipment multiplexing method and device applied to multiple systems
WO2018036452A1 (en) * 2016-08-25 2018-03-01 Huawei Technologies Co., Ltd. Device and method for managing a communication interface of a communication device
CN109691028A (en) * 2016-09-09 2019-04-26 华为技术有限公司 Device virtualization for container
CN109691028B (en) * 2016-09-09 2021-02-09 华为技术有限公司 Device virtualization for containers
US10452419B2 (en) 2016-09-09 2019-10-22 Huawei Technologies Co., Ltd. Device virtualization for containers
WO2018045921A1 (en) * 2016-09-09 2018-03-15 Huawei Technologies Co., Ltd. Device virtualization for containers
CN106528133B (en) * 2016-11-03 2021-04-02 成都凛冬科技有限公司 Equipment request processing method and device applied to multiple systems
CN106528133A (en) * 2016-11-03 2017-03-22 四川安嵌科技有限公司 Equipment request processing method and device applied to multiple systems
TWI617982B (en) * 2016-11-21 2018-03-11 財團法人資訊工業策進會 Computer device and method for facilitating user to manage containers
CN106502913A (en) * 2016-11-29 2017-03-15 北京元心科技有限公司 Method and device for debugging dual-system mobile terminal
CN106502913B (en) * 2016-11-29 2019-02-15 北京元心科技有限公司 Method and device for debugging dual-system mobile terminal
CN106776067A (en) * 2016-11-29 2017-05-31 北京元心科技有限公司 Method and device for managing system resources in multi-container system
CN106776067B (en) * 2016-11-29 2020-10-23 北京元心科技有限公司 Method and device for managing system resources in multi-container system
CN106844000A (en) * 2016-12-21 2017-06-13 北京大学 Using the method and apparatus of browser access linux container cluster under a kind of multi-user environment
WO2018113443A1 (en) * 2016-12-21 2018-06-28 北京大学 Method and device for accessing linux container cluster using browser under multi-user environment
CN108319849A (en) * 2017-01-16 2018-07-24 中标软件有限公司 Equipment strategy management system based on Android twin containers system and management domain implementation method
WO2019072182A1 (en) * 2017-10-13 2019-04-18 阿里巴巴集团控股有限公司 Hardware abstraction layer multiplexing method and apparatus, operating system and device
CN109669782A (en) * 2017-10-13 2019-04-23 阿里巴巴集团控股有限公司 Hardware abstraction layer multiplexing method, device, operating system and equipment
CN107741877A (en) * 2017-11-06 2018-02-27 湖南红手指信息技术有限公司 A kind of method, storage medium and the processor of cloud handset starting virtual opetrating system
CN108390810A (en) * 2018-01-05 2018-08-10 郑州信大捷安信息技术股份有限公司 One kind is based on the more android system network virtualization methods of single linux kernel
CN109062542A (en) * 2018-03-15 2018-12-21 山东超越数控电子股份有限公司 A kind of method that domestic ten thousand Broadcom realizes network communication
CN108595536B (en) * 2018-04-03 2021-11-09 北京航空航天大学 Method for describing and storing assembly information of digital spacecraft written by artificial intelligence programmer
CN108595536A (en) * 2018-04-03 2018-09-28 北京航空航天大学 Artificial intelligence program person writes digital spacecraft assembly information description and storage method
CN110750684A (en) * 2018-07-06 2020-02-04 武汉斗鱼网络科技有限公司 Message prompting method for multi-dimensional verification, storage medium, electronic device and system
CN110750684B (en) * 2018-07-06 2022-08-16 武汉斗鱼网络科技有限公司 Message prompting method for multi-dimensional verification, storage medium, electronic device and system
US11042398B2 (en) 2018-07-09 2021-06-22 Samsung Electronics Co., Ltd. System and method for guest operating system using containers
CN109542588A (en) * 2018-11-27 2019-03-29 郑州云海信息技术有限公司 A kind of method and apparatus for managing virtual unit under cloud environment
CN110162381A (en) * 2019-04-04 2019-08-23 北京升鑫网络科技有限公司 Proxy executing method in a kind of container
WO2020248885A1 (en) * 2019-06-13 2020-12-17 中兴通讯股份有限公司 Service configuration management method and device, terminal, and computer-readable storage medium
CN110737428A (en) * 2019-10-21 2020-01-31 Oppo广东移动通信有限公司 Hidl-based universal interface design method, device, terminal and readable storage medium
CN110737428B (en) * 2019-10-21 2023-08-15 Oppo广东移动通信有限公司 Hidl-based universal interface design method, device, terminal and readable storage medium
CN111625293A (en) * 2020-05-15 2020-09-04 武汉蓝星科技股份有限公司 Terminal dual system based on linux kernel and hardware access management method thereof
CN111625293B (en) * 2020-05-15 2023-04-11 武汉蓝星科技股份有限公司 Terminal dual system based on linux kernel and hardware access management method thereof
CN113032095A (en) * 2021-03-15 2021-06-25 深圳市瑞驰信息技术有限公司 System and method for realizing android container operation on ARM architecture
CN114077460B (en) * 2021-04-07 2024-03-26 北京字节跳动网络技术有限公司 Method, equipment and medium for calling Android dynamic library HAL interface by software operating system
CN114077460A (en) * 2021-04-07 2022-02-22 北京鲸鲮信息系统技术有限公司 Method, equipment and medium for calling Android dynamic library HAL interface by software operating system
CN113296890A (en) * 2021-05-21 2021-08-24 南京大学 Android virtualization method and system based on system call agent
CN113296890B (en) * 2021-05-21 2023-09-26 南京大学 Android virtualization method and system based on system call agent
WO2023024589A1 (en) * 2021-08-25 2023-03-02 荣耀终端有限公司 Request processing method and related apparatus
CN113778714B (en) * 2021-09-13 2024-01-09 北京技德系统技术有限公司 Shared shear plate method and device compatible with Android for Linux
CN113778714A (en) * 2021-09-13 2021-12-10 北京技德系统技术有限公司 Linux-compatible Android-compatible shear plate sharing method and device
CN113835768A (en) * 2021-11-29 2021-12-24 北京鲸鲮信息系统技术有限公司 Management method and system of Android hybrid HAL
WO2023116859A1 (en) * 2021-12-24 2023-06-29 抖音视界有限公司 Sensor device virtualization method and apparatus, electronic device and storage medium
CN113986476A (en) * 2021-12-24 2022-01-28 北京鲸鲮信息系统技术有限公司 Sensor equipment virtualization method and device, electronic equipment and storage medium
CN114995955A (en) * 2022-06-16 2022-09-02 广州千悦科技有限公司 Android plug-in virtualization Binder Hook method
CN116339870A (en) * 2023-05-22 2023-06-27 南京美乐威电子科技有限公司 Method for scheduling hardware interface of equipment by third-party application and audio/video processing equipment

Also Published As

Publication number Publication date
CN105808320B (en) 2018-12-04

Similar Documents

Publication Publication Date Title
CN105808320A (en) Equipment virtualization system and method based on Linux container
CN110535831B (en) Kubernetes and network domain-based cluster security management method and device and storage medium
CN106471791B (en) Method and apparatus for a mobile device based cluster computing architecture
CN106548077B (en) Communication system and electronic equipment
US8949364B2 (en) Apparatus, method and system for rapid delivery of distributed applications
US7536688B2 (en) Segmented virtual machine
EP2457176A1 (en) Virtual-machine-based application-service provision
CN107707622A (en) A kind of method, apparatus and desktop cloud controller for accessing desktop cloud virtual machine
US11463330B2 (en) System and methods for scalable cloud-based platform and related applications
CN101657793A (en) Method, system and computer program for configuring firewalls
CN104516885A (en) Implementation method and device of browse program double-kernel assembly
CN106354546A (en) Virtual machine remote control method and system
CN101635726A (en) Service end of C/S architecture and service executing method and service executing system of client
CN110308987A (en) A method of distributed training mission Connecting quantity on more new container cloud
CN103677983A (en) Scheduling method and device of application
CN113162802A (en) Communication method, equipment and storage medium based on InfiniBand
CN109857464A (en) System and method for Platform deployment and operation Mobile operating system
KR101927721B1 (en) Method for cross-device functionality sharing
CN111447076B (en) Container deployment method and network element of network function virtualization (NVF) system
CN116132344A (en) Container service debugging method and device based on K8s cluster and electronic equipment
US9367512B2 (en) Systems and methods for dynamically updating virtual desktops or virtual applications in a standard computing environment
US11513833B1 (en) Event listener interface for container-based execution of serverless functions
CN115167985A (en) Virtualized computing power providing method and system
CN114257614A (en) Multi-service-mode hospital big data platform system and resource scheduling method
CN110581848B (en) Cloud desktop multi-network isolation system and method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200819

Address after: 610041 Chengdu province high tech Zone (West), West Park, the new route No. 4, No.

Patentee after: Chengdu Bingdong Technology Co.,Ltd.

Address before: West high tech Zone Fucheng Road in Chengdu city of Sichuan Province in 610041 399, 8 8 storey building No. 2

Patentee before: SICHUAN ANQIAN TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220519

Address after: 610000, No. two, section 4, Jianshe North Road, Chengdu, Sichuan, Chenghua District

Patentee after: Yang Xia

Address before: 610041 No.4, Xinhang Road, West Park, high tech Zone, Chengdu, Sichuan

Patentee before: Chengdu Bingdong Technology Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181204