CN114625481B - Data processing method and device, readable medium and electronic equipment - Google Patents
Data processing method and device, readable medium and electronic equipment Download PDFInfo
- Publication number
- CN114625481B CN114625481B CN202210287992.5A CN202210287992A CN114625481B CN 114625481 B CN114625481 B CN 114625481B CN 202210287992 A CN202210287992 A CN 202210287992A CN 114625481 B CN114625481 B CN 114625481B
- Authority
- CN
- China
- Prior art keywords
- data
- shared
- queue
- request message
- target data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 10
- 238000012545 processing Methods 0.000 claims abstract description 127
- 238000000034 method Methods 0.000 claims abstract description 72
- 230000008569 process Effects 0.000 claims abstract description 26
- 230000003993 interaction Effects 0.000 claims abstract description 19
- 230000001960 triggered effect Effects 0.000 claims abstract description 15
- 238000013507 mapping Methods 0.000 claims description 138
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012546 transfer Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The disclosure relates to a data processing method, a device, a readable medium and an electronic apparatus, wherein the method comprises the following steps: receiving a data request message triggered by a user through a virtual machine, wherein the data request message is used for requesting to process target data on a host machine running the virtual machine; according to the data request message, determining shared data information corresponding to target data, wherein the shared data information comprises a shared queue, and the shared queue is used for directly carrying out data interaction between the virtual machine and the host machine; and processing the target data through the kernel of the host machine according to the data request message and the shared queue. That is, the virtual machine and the host machine of the present disclosure may directly perform data interaction by sharing data information, without performing a transfer through Virtiofs Daemon of the host machine, and the kernel of the host machine may directly obtain a data processing request sent by the virtual machine, so that additional system call overhead may be avoided, thereby improving efficiency of data processing of the virtual machine.
Description
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a data processing method, a data processing device, a readable medium, and an electronic device.
Background
With the rise of the cloud-based concept, containers are increasingly applied to cloud environments. The mirror catalog corresponding to the container is usually stored in the host machine, and the secure container needs to be realized by a virtual machine-host machine shared catalog technology, such as the Virtiofs technology, when accessing the corresponding mirror file.
However, the file access request in the Virtiofs technology needs to be transferred once through the user state Virtiofs Daemon, which brings extra system call overhead and results in lower efficiency of virtual machine data processing.
Disclosure of Invention
This section is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This section is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
In a first aspect, the present disclosure provides a data processing method, the method comprising:
receiving a data request message triggered by a user through a virtual machine, wherein the data request message is used for requesting to process target data on a host machine running the virtual machine;
Determining shared data information corresponding to the target data according to the data request message, wherein the shared data information comprises a shared queue, and the shared queue is used for directly carrying out data interaction between the virtual machine and the host machine;
and processing the target data through the kernel of the host machine according to the data request message and the shared queue.
In a second aspect, the present disclosure provides a data processing apparatus, the apparatus comprising:
the system comprises a data request message receiving module, a data processing module and a data processing module, wherein the data request message receiving module is used for receiving a data request message triggered by a user through a virtual machine, and the data request message is used for requesting to process target data on a host machine running the virtual machine;
the shared data information determining module is used for determining shared data information corresponding to the target data according to the data request message, wherein the shared data information comprises a shared queue, and the shared queue is used for directly carrying out data interaction between the virtual machine and the host machine;
and the data processing module is used for processing the target data through the kernel of the host machine according to the data request message and the shared queue.
In a third aspect, the present disclosure provides a computer readable medium having stored thereon a computer program which when executed by a processing device performs the steps of the method of the first aspect of the present disclosure.
In a fourth aspect, the present disclosure provides an electronic device comprising:
a storage device having at least one computer program stored thereon;
at least one processing means for executing the at least one computer program in the storage means to carry out the steps of the method of the first aspect of the present disclosure.
According to the technical scheme, the data request message triggered by the user through the virtual machine is received, and the data request message is used for requesting to process target data on the host machine running the virtual machine; determining shared data information corresponding to the target data according to the data request message, wherein the shared data information comprises a shared queue, and the shared queue is used for directly carrying out data interaction between the virtual machine and the host machine; and processing the target data through the kernel of the host machine according to the data request message and the shared queue. That is, the virtual machine and the host machine of the present disclosure may directly perform data interaction by sharing data information, without performing a transfer through Virtiofs Daemon of the host machine, and the kernel of the host machine may directly obtain a data processing request sent by the virtual machine, so that additional system call overhead may be avoided, thereby improving efficiency of data processing of the virtual machine.
Additional features and advantages of the present disclosure will be set forth in the detailed description which follows.
Drawings
The above and other features, advantages, and aspects of embodiments of the present disclosure will become more apparent by reference to the following detailed description when taken in conjunction with the accompanying drawings. The same or similar reference numbers will be used throughout the drawings to refer to the same or like elements. It should be understood that the figures are schematic and that elements and components are not necessarily drawn to scale. In the drawings:
FIG. 1 is a diagram illustrating a file access according to an exemplary embodiment of the present disclosure;
FIG. 2 is a flow chart illustrating a method of data processing according to an exemplary embodiment of the present disclosure;
FIG. 3 is a flowchart illustrating another data processing method according to an exemplary embodiment of the present disclosure;
FIG. 4 is a schematic diagram of a shared mapping space, according to an exemplary embodiment of the present disclosure;
FIG. 5 is a schematic diagram of a data processing diagram according to an exemplary embodiment of the present disclosure;
FIG. 6 is a block diagram of a data processing apparatus according to an exemplary embodiment of the present disclosure;
FIG. 7 is a block diagram of a second data processing apparatus according to an exemplary embodiment of the present disclosure;
FIG. 8 is a block diagram of a third data processing apparatus according to an exemplary embodiment of the present disclosure;
FIG. 9 is a block diagram of a fourth data processing apparatus according to an exemplary embodiment of the present disclosure;
FIG. 10 is a block diagram of a fifth data processing apparatus according to an exemplary embodiment of the present disclosure;
FIG. 11 is a block diagram of a sixth data processing apparatus according to an exemplary embodiment of the present disclosure;
fig. 12 is a block diagram of an electronic device, according to an exemplary embodiment of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure have been shown in the accompanying drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustration purposes only and are not intended to limit the scope of the present disclosure.
It should be understood that the various steps recited in the method embodiments of the present disclosure may be performed in a different order and/or performed in parallel. Furthermore, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "including" and variations thereof as used herein are intended to be open-ended, i.e., including, but not limited to. The term "based on" is based at least in part on. The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments. Related definitions of other terms will be given in the description below.
It should be noted that the terms "first," "second," and the like in this disclosure are merely used to distinguish between different devices, modules, or units and are not used to define an order or interdependence of functions performed by the devices, modules, or units.
It should be noted that references to "one", "a plurality" and "a plurality" in this disclosure are intended to be illustrative rather than limiting, and those of ordinary skill in the art will appreciate that "one or more" is intended to be understood as "one or more" unless the context clearly indicates otherwise.
The names of messages or information interacted between the various devices in the embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
First, an application scenario of the present disclosure will be described. Fig. 1 is a schematic view of file access according to an exemplary embodiment of the present disclosure, as shown in fig. 1, the Virtiofs technology captures a file access request by using a FUSE module of a kernel of a virtual machine, forwards the file access request to Virtiofs Daemon of a host machine through a virtios mechanism, and then uses the Virtiofs Daemon to operate a corresponding file on the host machine, so that a local file of the host machine can be accessed in the virtual machine. However, the file access request in the Virtiofs technology needs to be transferred once through the user state Virtiofs Daemon, which brings extra system call overhead and results in lower efficiency of virtual machine data processing.
In order to solve the above-mentioned existing problems, the present disclosure provides a data processing method, apparatus, readable medium, and electronic device, where a virtual machine and a host machine can directly perform data interaction through sharing data information, without performing a transfer through Virtiofs Daemon of the host machine, and a kernel of the host machine can directly obtain a data processing request sent by the virtual machine, so that additional system call overhead can be avoided, thereby improving efficiency of data processing of the virtual machine.
The present disclosure is described below in connection with specific embodiments.
FIG. 2 is a flow chart of a data processing method, as shown in FIG. 2, according to an exemplary embodiment of the present disclosure, which may include:
s201, receiving a data request message triggered by a user through a virtual machine.
Wherein the data request message may be for requesting processing of target data on a host running the virtual machine, the data request message may include a data identification of the target data. For example, the target data may be a target file, the data request message may be a request to access the target file on the host, and the data request message may include a file identification of the target file. In this embodiment, the target data is described as a file type.
In this step, in the process of operating the virtual machine software, if an access operation to the target data on the host machine running the virtual machine is triggered, the data request message may be generated according to the data identifier of the target data and the type of the access operation.
S202, according to the data request message, the shared data information corresponding to the target data is determined.
The shared data information may include a shared queue, where the shared queue may be used for directly performing data interaction between the virtual machine and the host machine. The shared data information may be stored in a shared mapping space that is accessible to both the virtual machine and the host.
In this step, after receiving the data request message, the shared data information corresponding to the target data may be determined from the shared mapping space according to the data request message.
S203, processing the target data through the kernel of the host machine according to the data request message and the shared queue.
The shared queue may include a pending queue, and the shared data information further includes an address mapping table.
In this step, after determining the shared queue corresponding to the target data, the data request message may be sent to a pending queue in the shared queue and notified to the host, and the kernel of the host may extract the data request message from the pending queue and process the target data according to the data request message.
In one possible implementation, before the target data is processed by the kernel of the host according to the data request message and the shared queue, a virtual address of the host corresponding to a physical address of the virtual machine may be determined according to the address mapping table; the address mapping table may include a correspondence between a physical address of the virtual machine and a virtual address of the host machine; and processing the target data through the kernel of the host machine according to the virtual address, the data request message and the shared queue.
For example, after determining the virtual address of the host corresponding to the physical address of the virtual machine, the data request message may be sent to the pending queue and the host may be notified, and the kernel of the host may extract the data request message from the pending queue and process the target data according to the virtual address and the data request message.
By adopting the method, the virtual machine and the host machine can perform data interaction through sharing data information, the virtual machine does not need to transfer through the virtual fs Daemon (Daemon) of the host machine, and the kernel of the host machine can directly acquire the data processing request sent by the virtual machine, so that extra system call expenditure can be avoided, and the data processing efficiency of the virtual machine is improved.
FIG. 3 is a flowchart illustrating another data processing method according to an exemplary embodiment of the present disclosure, as shown in FIG. 3, which may include:
s301, receiving a data request message triggered by a user through a virtual machine.
Wherein the data request message may be for requesting processing of target data on a host running the virtual machine, the data request message may include a data identification of the target data. For example, the target data may be a target file, the data request message may be a request to access the target file on the host, and the data request message may include a file identification of the target file. In this embodiment, the target data is described as a file type.
S302, determining whether a shared queue corresponding to the target data exists in the shared mapping space, executing steps S303 to S306 when determining that the shared queue corresponding to the target data does not exist in the shared mapping space, and executing steps S307 to S314 when determining that the shared queue corresponding to the target data exists in the shared mapping space.
The shared data information may include an address mapping table and a shared queue, where the shared queue may be used for data interaction between the virtual machine and the host machine, and the shared queue may include a pending queue and a completion queue. The shared data information may be stored in the shared mapping space, which is accessible to both the virtual machine and the host. Illustratively, the shared mapping space may be one BAR (Base Address Register ) in a PCI (Peripheral Component Interconnect, peripheral component interconnect standard) device corresponding to Virtiofs of the virtual machine. The shared mapping space may include two areas, one for storing the address mapping table, and the other may include a plurality of mapping block areas for storing mapping information of the opened files, which may include a pending queue, a completion queue, and a notification area, different files corresponding to different mapping block areas.
It should be noted that, during the starting process of the virtual machine, a VMM (Virtual Machine Monitor ) may create a corresponding address mapping table for the virtual machine, create a corresponding EPT (Extended Page Tables, extended page table) mapping, and bind the address mapping table with an area in the shared mapping space for storing the address mapping table.
FIG. 4 is a schematic diagram of a shared mapping space, as shown in FIG. 4, with a size of 1GB, and a size of 1MB occupied by an address mapping table, which may include a plurality of entries, each including 3 64bit fields, according to an exemplary embodiment of the present disclosure: the physical address of the virtual machine, the virtual address of the host, and the mapping length. The size of the space occupied by each mapping block area is 128KB, wherein the size of the space occupied by the to-be-processed queue is 64KB, the size of the space occupied by the completion queue is 8KB, the maximum depth of the to-be-processed queue and the completion queue can be 1024, the size of the space occupied by the notification area is 4KB, and the remaining space in the mapping block area can be used as a padding area (padding) for data alignment processing.
In this step, after receiving the data processing request message triggered by the user, the Virtiofs module of the virtual machine kernel may determine whether a mapping block area corresponding to the target data exists in the shared mapping space, and indicate that the shared mapping space has a shared queue corresponding to the target data if it is determined that the mapping block area corresponding to the target data exists in the shared mapping space, and indicate that the shared mapping space does not have a shared queue corresponding to the target data if it is determined that the mapping block area corresponding to the target data does not exist in the shared mapping space.
S303, determining a mapping block area corresponding to the target data from the shared mapping space.
In this step, in the case that it is determined that the shared queue corresponding to the target data does not exist in the shared mapping space, it indicates that the mapping block area corresponding to the target data does not exist in the shared mapping space, and in this case, the Virtiofs module of the virtual machine kernel may send a mapping information creation request message to the Virtiofs Daemon (Daemon) through a preset FUSE command, and after receiving the mapping information creation request message, the Virtiofs Daemon may send a mapping information creation request message to the VMM, and after receiving the mapping information creation request message, the VMM may use any spatial mapping block area in the shared mapping space as the mapping block area corresponding to the target data. For example, the mapping block area in the shared mapping space may be traversed, and the traversed first free mapping block area is taken as the mapping block area corresponding to the target data.
S304, initializing the mapping block area.
In this step, after determining the mapping block area corresponding to the target data, the VMM may perform an initialization process on the mapping block area, and allocate a corresponding space for the mapping block area.
S305, creating a sharing queue corresponding to the target data in the mapping block area.
In this step, after the VMM initializes the map block area, the pending queue and the completion queue may be initialized through the io_setting_setup () interface, and a corresponding EPT map is established, so that the shared queue and the map block area are bound.
Further, after the shared queue corresponding to the target data is created, the shared data information corresponding to the target data and the mapping block area corresponding to the shared data information can be obtained, then, the data identifier corresponding to the target data can be determined, the corresponding relation between the data identifier and the mapping block area is established, and the corresponding relation is sent to the Virtiofs module of the virtual machine kernel.
S306, adding the target data and the shared queue corresponding to the target data to a preset queue association relation.
The preset queue association relationship may include a correspondence relationship between different data and a shared queue.
In this step, after the shared queue corresponding to the target data is created in the mapping block area, the target data and the shared queue corresponding to the target data may be added to the preset queue association relationship, and in addition, after the target data is closed, the target data and the shared queue corresponding to the target data in the preset queue association relationship may be deleted.
It should be noted that, for step S302, it may also be determined whether the shared queue corresponding to the target data exists in the shared mapping space through the preset queue association relationship, for example, when it is determined that the preset queue association relationship includes the target data, it is determined that the shared queue corresponding to the target data exists in the shared mapping space, and when it is determined that the preset queue association relationship does not include the target data, it is determined that the shared queue corresponding to the target data does not exist in the shared mapping space.
S307, according to the data request message, the shared data information corresponding to the target data is determined.
In this step, when it is determined that the shared queue corresponding to the target data exists in the shared mapping space, the data identifier in the data request message may be determined, and the target mapping block area corresponding to the data identifier is determined according to the correspondence between the pre-established data identifier and the mapping block area, where the shared data information stored in the target mapping block area is the shared data information corresponding to the target data.
S308, determining the virtual address of the host machine corresponding to the physical address of the virtual machine according to the address mapping table.
In this step, after the shared data information corresponding to the target data is determined, the virtual address of the host corresponding to the physical address of the virtual machine may be determined according to the address mapping table in the shared data information, so as to modify the physical address of the virtual machine corresponding to the data memory of the target data into the virtual address of the host.
S309, determining a shared data request message corresponding to the data request message according to a preset data format.
The preset data format may be a data format that can be processed by the host kernel.
In this step, after determining the shared data information corresponding to the target data, the corresponding information may be extracted from the data request message according to the preset data format, so as to obtain the shared data request message. For example, the preset data format may be a data structure corresponding to the shared data request message, and the shared data request message corresponding to the data request message may be obtained after extracting an element value corresponding to each element in the data structure from the data request message and filling the data structure with the element value.
S310, the shared data request message is sent to the pending queue.
S311, the shared data request message is extracted from the pending queue through the host.
The mapping block area corresponding to the target data may include a notification area, and the notification area may not establish a corresponding EPT mapping.
In this step, after the shared data request message is sent to the queue to be processed, the data processing request message may be sent to the host through the notification area, and after the host receives the data processing request message, the shared data request message is extracted from the queue to be processed. For example, the notification area may be used to implement the semantics of the system call ioring_enter_sq_wake of the ioring_enter_enter, and in the case that the virtual machine performs MMIO (Memory-mapped I/O) write operation on the notification area, the virtual machine may exit to a KVM (Kernel-based Virtual Machine) module, through which the actual operation corresponding to the ioring_enter () is executed to wake up the SQ process on the host machine to process the data processing request message in the pending queue. Thus, in a non-polling mode (e.g., interrupt mode), the data processing request message may be sent to the host over the io_rising_enter () interface.
It should be noted that, when the VMM calls io_setting_enter (), the flag bit of the ioring_setup_sqpoll needs to be set at the same time to create a corresponding kernel thread to asynchronously process the shared data request message. In addition, the VMM may call the io_rising_register () interface to perform the operation of the ioring_register_event tfd, and REGISTER the evenfd corresponding to the Virtiofs interrupt of the virtual machine to the rising as a notification manner of the completion queue.
S312, processing the target data through the kernel of the host machine according to the virtual address and the shared data request message.
S313, after the kernel of the host processes the target data, the processing result is sent to the completion queue.
In this step, after the kernel of the host machine finishes processing the target data, the processing result may be sent to the completion queue, and the Virtiofs module of the virtual machine may be notified by means of interrupt injection.
S314, extracting a processing result corresponding to the target data from the completion queue through the virtual machine.
In this step, the Virtiofs module of the virtual machine may extract a processing result corresponding to the target data from the completion queue after receiving the data processing completion notification.
It should be noted that, after the host machine finishes processing the target data, if it is determined that the access operation corresponding to the target data is canceled, the Virtiofs of the virtual machine kernel may request, through a corresponding FUSE command, that Virtiofs Daemon delete the binding between the target data and the mapping block area corresponding to the target data, cancel all EPT mapping corresponding to the target data, release the address space corresponding to the target data, and delete the file description corresponding to the target data.
FIG. 5 is a schematic diagram of a data process, as shown in FIG. 5, with bold lines representing data interactions during the data process and thin lines representing control interactions during the data process, according to an exemplary embodiment of the present disclosure. The shared data information is stored in the shared mapping space, and the virtual machine can send a request to a virtual machine monitor through a virtual machine Daemon (Daemon) to create the shared data information in the shared mapping space and a corresponding EPT map, so that the virtual machine can directly send a data processing request to the host machine kernel through the shared mapping space, and after the host machine processes the data processing request, a processing result can be sent to the virtual machine through the shared mapping space.
By adopting the method, the address mapping table, the queue to be processed and the completion queue on the host machine are mapped on the kernel of the virtual machine, so that the data request message of the virtual machine can be directly submitted to the kernel of the host machine in an logging mode, and the kernel of the host machine can directly acquire the data processing request sent by the virtual machine without transferring the data processing request through the virtual fs Daemon of the host machine, thereby avoiding additional system call overhead and improving the data processing efficiency of the virtual machine.
FIG. 6 is a block diagram of a data processing apparatus, as shown in FIG. 6, according to an exemplary embodiment of the present disclosure, which may include:
a data request message receiving module 601, configured to receive a data request message triggered by a user through a virtual machine, where the data request message is used to request processing of target data on a host machine running the virtual machine;
the shared data information determining module 602 is configured to determine shared data information corresponding to the target data according to the data request message, where the shared data information includes a shared queue, and the shared queue is used for directly performing data interaction between the virtual machine and the kernel of the host machine;
The data processing module 603 is configured to process the target data through the kernel of the host according to the data request message and the shared queue.
Optionally, the shared data information further includes an address mapping table, and fig. 7 is a block diagram of a second data processing apparatus according to an exemplary embodiment of the present disclosure, as shown in fig. 7, where the apparatus further includes:
a virtual address determining module 604, configured to determine, according to the address mapping table, a virtual address of the host machine corresponding to a physical address of the virtual machine; the address mapping table comprises the corresponding relation between the physical address of the virtual machine and the virtual address of the host machine;
the data processing module 603 is further configured to:
and processing the target data through the kernel of the host machine according to the virtual address, the data request message and the shared queue.
Optionally, the shared data information is stored in a shared mapping space, and the virtual machine and the host machine can both access the shared mapping space; FIG. 8 is a block diagram of a third data processing apparatus, as shown in FIG. 8, according to an exemplary embodiment of the present disclosure, the apparatus further comprising:
a shared queue determining module 605, configured to determine whether a shared queue corresponding to the target data exists in the shared mapping space;
The shared data information determining module 602 is further configured to:
and under the condition that the shared queue corresponding to the target data exists in the shared mapping space, determining the shared data information corresponding to the target data according to the data request message.
Optionally, the shared mapping space includes a plurality of mapping block areas, and fig. 9 is a block diagram of a fourth data processing apparatus according to an exemplary embodiment of the present disclosure, as shown in fig. 9, the apparatus further includes:
a mapping block area determining module 606, configured to determine, in a case where it is determined that the shared queue corresponding to the target data does not exist in the shared mapping space, a mapping block area corresponding to the target data from the shared mapping space;
an initialization module 607 for initializing the map block area;
and the shared queue creating module 608 is configured to create a shared queue corresponding to the target data in the mapping block area.
Optionally, fig. 10 is a block diagram of a fifth data processing apparatus according to an exemplary embodiment of the present disclosure, and as shown in fig. 10, the apparatus further includes:
the adding module 609 is configured to add the target data and the shared queue corresponding to the target data to a preset queue association relationship, where the preset queue association relationship includes a correspondence between different data and the shared queue.
Optionally, the shared queue includes a pending queue; the data processing module 604 is further configured to: determining a shared data request message corresponding to the data request message according to a preset data format;
sending the shared data request message to the queue to be processed;
extracting the shared data request message from the pending queue by the host;
and processing the target data through the kernel of the host machine according to the virtual address and the shared data request message.
Optionally, the shared data information further includes a completion queue, and fig. 11 is a block diagram of a sixth data processing apparatus according to an exemplary embodiment of the present disclosure, where, as shown in fig. 11, the apparatus further includes:
the result sending module 610 is configured to send a processing result to the completion queue after processing the target data by the kernel of the host;
the result extraction module 611 is configured to extract, by the virtual machine, a processing result corresponding to the target data from the completion queue.
Optionally, the map block area includes a notification area; the apparatus further comprises:
a notification module, configured to send a data processing request message to the host through the notification area;
the data processing module 604 is further configured to:
And after the host receives the data processing request message, the shared data request message is extracted from the pending queue.
Through the device, the virtual machine and the host machine can perform data interaction through sharing data information, the virtual machine does not need to transfer through the virtual fs Daemon (Daemon) of the host machine, and the kernel of the host machine can directly acquire a data processing request sent by the virtual machine, so that extra system call overhead can be avoided, and the data processing efficiency of the virtual machine is improved.
The specific manner in which the various modules perform the operations in the apparatus of the above embodiments have been described in detail in connection with the embodiments of the method, and will not be described in detail herein.
Referring now to fig. 12, a schematic diagram of an electronic device 1200 suitable for use in implementing embodiments of the present disclosure is shown. The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and the like, and stationary terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 12 is merely an example and should not be construed to limit the functionality and scope of use of the disclosed embodiments.
As shown in fig. 12, the electronic apparatus 1200 may include a processing device (e.g., a central processor, a graphics processor, etc.) 1201, which may perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 1202 or a program loaded from a storage device 1208 into a Random Access Memory (RAM) 1203. In the RAM 1203, various programs and data required for the operation of the electronic apparatus 1200 are also stored. The processing device 1201, the ROM 1202, and the RAM 1203 are connected to each other through a bus 1204. An input/output (I/O) interface 1205 is also connected to the bus 1204.
In general, the following devices may be connected to the I/O interface 1205: input devices 1206 including, for example, a touch screen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, and the like; an output device 1207 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 1208 including, for example, magnetic tape, hard disk, etc.; and a communication device 1209. The communication means 1209 may allow the electronic device 1200 to communicate wirelessly or by wire with other devices to exchange data. While fig. 12 shows an electronic device 1200 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may be implemented or provided instead.
In particular, according to embodiments of the present disclosure, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a non-transitory computer readable medium, the computer program comprising program code for performing the method shown in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication device 1209, or installed from the storage device 1208, or installed from the ROM 1202. The above-described functions defined in the methods of the embodiments of the present disclosure are performed when the computer program is executed by the processing device 1201.
It should be noted that the computer readable medium described in the present disclosure may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present disclosure, however, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, fiber optic cables, RF (radio frequency), and the like, or any suitable combination of the foregoing.
In some implementations, the server may communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol ), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the internet (e.g., the internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.
The computer readable medium may be contained in the electronic device; or may exist alone without being incorporated into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: receiving a data request message triggered by a user through a virtual machine, wherein the data request message is used for requesting to process target data on a host machine running the virtual machine; determining shared data information corresponding to the target data according to the data request message, wherein the shared data information comprises a shared queue, and the shared queue is used for directly carrying out data interaction between the virtual machine and the host machine; and processing the target data through the kernel of the host machine according to the data request message and the shared queue.
Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, including, but not limited to, an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules described in the embodiments of the present disclosure may be implemented in software or hardware. The name of a module is not limited to the module itself in some cases, and for example, the data request message receiving module may also be described as "a module that receives a data request message triggered by a user through a virtual machine, where the data request message is used to request processing of target data on a host machine running the virtual machine".
The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), an Application Specific Standard Product (ASSP), a system on a chip (SOC), a Complex Programmable Logic Device (CPLD), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
According to one or more embodiments of the present disclosure, example 1 provides a data processing method, the method comprising: receiving a data request message triggered by a user through a virtual machine, wherein the data request message is used for requesting to process target data on a host machine running the virtual machine; determining shared data information corresponding to the target data according to the data request message, wherein the shared data information comprises a shared queue, and the shared queue is used for directly carrying out data interaction between the virtual machine and the host machine; and processing the target data through the kernel of the host machine according to the data request message and the shared queue.
In accordance with one or more embodiments of the present disclosure, example 2 provides the method of example 1, the shared data information further comprising an address mapping table, the method further comprising, prior to the processing of the target data by the kernel of the host according to the data request message and the shared queue:
determining a virtual address of the host machine corresponding to the physical address of the virtual machine according to the address mapping table; the address mapping table comprises the corresponding relation between the physical address of the virtual machine and the virtual address of the host machine;
The processing, by the kernel of the host, the target data according to the data request message and the shared queue includes:
and processing the target data through the kernel of the host according to the virtual address, the data request message and the shared queue.
In accordance with one or more embodiments of the present disclosure, example 3 provides the method of example 2, the shared data information stored in a shared mapping space, the shared mapping space being accessible to both the virtual machine and the host machine; before determining the shared data information corresponding to the target data according to the data request message, the method further comprises: determining whether a shared queue corresponding to the target data exists in the shared mapping space; the determining, according to the data request message, shared data information corresponding to the target data includes: and under the condition that the shared queue corresponding to the target data exists in the shared mapping space, determining the shared data information corresponding to the target data according to the data request message.
In accordance with one or more embodiments of the present disclosure, example 4 provides the method of example 3, the shared mapping space comprising a plurality of mapping block regions, the method further comprising: under the condition that the shared mapping space is determined to have no shared queue corresponding to the target data, determining a mapping block area corresponding to the target data from the shared mapping space; initializing the mapping block area; and creating a shared queue corresponding to the target data in the mapping block area.
Example 5 provides the method of example 4, according to one or more embodiments of the present disclosure, the method further comprising: and adding the target data and the shared queue corresponding to the target data to a preset queue association relationship, wherein the preset queue association relationship comprises the corresponding relationship between different data and the shared queue.
Example 6 provides the method of example 4, the shared queue comprising a pending queue, according to one or more embodiments of the present disclosure; the processing, by the kernel of the host, the target data according to the virtual address, the data request message, and the shared queue includes: determining a shared data request message corresponding to the data request message according to a preset data format; sending the shared data request message to the queue to be processed; extracting the shared data request message from the pending queue by the host; and processing the target data through the kernel of the host machine according to the virtual address and the shared data request message.
In accordance with one or more embodiments of the present disclosure, example 7 provides the method of example 6, the shared data information further comprising a completion queue, the method further comprising: after the target data is processed through the kernel of the host machine, sending a processing result to the completion queue; and extracting a processing result corresponding to the target data from the completion queue through the virtual machine.
Example 8 provides the method of example 6, the map block area comprising a notification area, according to one or more embodiments of the present disclosure; before the extracting, by the host, the shared data request message from the pending queue, the method further includes: sending a data processing request message to the host through the notification area; the extracting, by the host, the shared data request message from the pending queue includes: and after the host receives the data processing request message, extracting the shared data request message from the waiting queue.
According to one or more embodiments of the present disclosure, example 9 provides a data processing apparatus, the apparatus comprising: the system comprises a data request message receiving module, a data processing module and a data processing module, wherein the data request message receiving module is used for receiving a data request message triggered by a user through a virtual machine, and the data request message is used for requesting to process target data on a host machine running the virtual machine; the shared data information determining module is used for determining shared data information corresponding to the target data according to the data request message, wherein the shared data information comprises a shared queue, and the shared queue is used for directly carrying out data interaction between the virtual machine and the kernel of the host machine; and the data processing module is used for processing the target data through the kernel of the host machine according to the data request message and the shared queue.
In accordance with one or more embodiments of the present disclosure, example 10 provides the apparatus of example 9, the shared data information further comprising an address mapping table, the apparatus further comprising: the virtual address determining module is used for determining the virtual address of the host machine corresponding to the physical address of the virtual machine according to the address mapping table; the address mapping table comprises the corresponding relation between the physical address of the virtual machine and the virtual address of the host machine; the data processing module is further configured to: and processing the target data through the kernel of the host according to the virtual address, the data request message and the shared queue.
In accordance with one or more embodiments of the present disclosure, example 11 provides the apparatus of example 10, the shared data information stored in a shared mapping space, the virtual machine and the host machine each having access to the shared mapping space; the apparatus further comprises: the shared queue determining module is used for determining whether a shared queue corresponding to the target data exists in the shared mapping space; the shared data information determining module is further configured to: and under the condition that the shared queue corresponding to the target data exists in the shared mapping space, determining the shared data information corresponding to the target data according to the data request message.
In accordance with one or more embodiments of the present disclosure, example 12 provides the apparatus of example 11, the shared mapping space comprising a plurality of mapping block regions, the apparatus further comprising: a mapping block area determining module, configured to determine, in a case where it is determined that a shared queue corresponding to the target data does not exist in the shared mapping space, a mapping block area corresponding to the target data from the shared mapping space; the initialization module is used for initializing the mapping block area; and the shared queue creating module is used for creating a shared queue corresponding to the target data in the mapping block area.
Example 13 provides the apparatus of example 12, according to one or more embodiments of the disclosure, the apparatus further comprising: the adding module is used for adding the target data and the shared queue corresponding to the target data to a preset queue association relation, wherein the preset queue association relation comprises the corresponding relation between different data and the shared queue.
Example 14 provides the apparatus of example 12, the shared queue comprising a pending queue, according to one or more embodiments of the disclosure; the data processing module is further configured to: determining a shared data request message corresponding to the data request message according to a preset data format; sending the shared data request message to the queue to be processed; extracting the shared data request message from the pending queue by the host; and processing the target data through the kernel of the host machine according to the virtual address and the shared data request message.
Example 15 provides the apparatus of example 14, the shared data information further comprising a completion queue, the apparatus further comprising: the result sending module is used for sending the processing result to the completion queue after the kernel of the host processes the target data; and the result extraction module is used for extracting the processing result corresponding to the target data from the completion queue through the virtual machine.
Example 16 provides the apparatus of example 14, the map block area comprising a notification area, according to one or more embodiments of the present disclosure; the apparatus further comprises: the notification module is used for sending a data processing request message to the host machine through the notification area; the data processing module is further configured to: and after the host receives the data processing request message, extracting the shared data request message from the waiting queue.
Example 17 provides a computer-readable medium having stored thereon a computer program which, when executed by a processing device, performs the steps of the method of any of examples 1-8, according to one or more embodiments of the present disclosure.
Example 18 provides an electronic device, according to one or more embodiments of the present disclosure, comprising: a storage device having a computer program stored thereon; processing means for executing the computer program in the storage means to implement the steps of the method of any one of examples 1-8.
The foregoing description is only of the preferred embodiments of the present disclosure and description of the principles of the technology being employed. It will be appreciated by persons skilled in the art that the scope of the disclosure referred to in this disclosure is not limited to the specific combinations of features described above, but also covers other embodiments which may be formed by any combination of features described above or equivalents thereof without departing from the spirit of the disclosure. Such as those described above, are mutually substituted with the technical features having similar functions disclosed in the present disclosure (but not limited thereto).
Moreover, although operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the present disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are example forms of implementing the claims. The specific manner in which the various modules perform the operations in the apparatus of the above embodiments have been described in detail in connection with the embodiments of the method, and will not be described in detail herein.
Claims (10)
1. A method of data processing, the method comprising:
receiving a data request message triggered by a user through a virtual machine, wherein the data request message is used for requesting to process target data on a host machine running the virtual machine;
determining shared data information corresponding to the target data according to the data request message, wherein the shared data information comprises a shared queue, and the shared queue is used for directly carrying out data interaction between the virtual machine and the host machine;
processing the target data through the kernel of the host according to the data request message and the shared queue;
The shared queue comprises a queue to be processed; the processing, by the kernel of the host, the target data according to the data request message and the shared queue includes:
sending the data request message to the queue to be processed;
extracting the data request message from the queue to be processed through the kernel of the host machine, and processing the target data according to the data request message;
the shared data information is stored in a shared mapping space, and the virtual machine and the host machine can access the shared mapping space; before determining the shared data information corresponding to the target data according to the data request message, the method further comprises:
determining whether a shared queue corresponding to the target data exists in the shared mapping space according to a preset queue association relation; the preset queue association relation comprises the corresponding relation between different data and a shared queue;
the determining, according to the data request message, shared data information corresponding to the target data includes:
and under the condition that the shared queue corresponding to the target data exists in the shared mapping space, determining the shared data information corresponding to the target data according to the data request message.
2. The method of claim 1, wherein the shared data information further comprises an address mapping table, the method further comprising, prior to the processing of the target data by the kernel of the host in accordance with the data request message and the shared queue:
determining a virtual address of the host machine corresponding to the physical address of the virtual machine according to the address mapping table; the address mapping table comprises a corresponding relation between the physical address of the virtual machine and the virtual address of the host machine;
the processing, by the kernel of the host, the target data according to the data request message and the shared queue includes:
and processing the target data through the kernel of the host according to the virtual address, the data request message and the shared queue.
3. The method of claim 2, wherein the shared mapping space comprises a plurality of mapping block areas, the method further comprising:
under the condition that the shared mapping space is determined to have no shared queue corresponding to the target data, determining a mapping block area corresponding to the target data from the shared mapping space;
Initializing the mapping block area;
and creating a shared queue corresponding to the target data in the mapping block area.
4. A method according to claim 3, characterized in that the method further comprises:
and adding the target data and the shared queue corresponding to the target data to a preset queue association relationship, wherein the preset queue association relationship comprises the corresponding relationship between different data and the shared queue.
5. The method of claim 3, wherein the processing, by the kernel of the host, the target data according to the virtual address, the data request message, and the shared queue comprises:
determining a shared data request message corresponding to the data request message according to a preset data format;
sending the shared data request message to the queue to be processed;
extracting the shared data request message from the pending queue by the host;
and processing the target data through the kernel of the host machine according to the virtual address and the shared data request message.
6. The method of claim 5, wherein the shared data information further comprises a completion queue, the method further comprising:
After the target data is processed through the kernel of the host machine, sending a processing result to the completion queue;
and extracting a processing result corresponding to the target data from the completion queue through the virtual machine.
7. The method of claim 5, wherein the map block area comprises a notification area; before the extracting, by the host, the shared data request message from the pending queue, the method further includes:
sending a data processing request message to the host through the notification area;
the extracting, by the host, the shared data request message from the pending queue includes:
and after the host receives the data processing request message, extracting the shared data request message from the waiting queue.
8. A data processing apparatus, the apparatus comprising:
the system comprises a data request message receiving module, a data processing module and a data processing module, wherein the data request message receiving module is used for receiving a data request message triggered by a user through a virtual machine, and the data request message is used for requesting to process target data on a host machine running the virtual machine;
the shared data information determining module is used for determining shared data information corresponding to the target data according to the data request message, wherein the shared data information comprises a shared queue, and the shared queue is used for directly carrying out data interaction between the virtual machine and the kernel of the host machine;
The data processing module is used for processing the target data through the kernel of the host machine according to the data request message and the shared queue;
the shared queue comprises a queue to be processed; the data processing module is used for:
sending the data request message to the queue to be processed;
extracting the data request message from the queue to be processed through the kernel of the host machine, and processing the target data according to the data request message;
the shared data information is stored in a shared mapping space, and the virtual machine and the host machine can access the shared mapping space; the apparatus further comprises:
the shared queue determining module is used for determining whether a shared queue corresponding to the target data exists in the shared mapping space according to a preset queue association relation before determining shared data information corresponding to the target data according to the data request message; the preset queue association relation comprises the corresponding relation between different data and a shared queue;
the shared data information determining module is further configured to:
and under the condition that the shared queue corresponding to the target data exists in the shared mapping space, determining the shared data information corresponding to the target data according to the data request message.
9. A computer readable medium on which a computer program is stored, characterized in that the program, when being executed by a processing device, carries out the steps of the method according to any one of claims 1-7.
10. An electronic device, comprising:
a storage device having at least one computer program stored thereon;
at least one processing means for executing said at least one computer program in said storage means to carry out the steps of the method according to any one of claims 1-7.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210287992.5A CN114625481B (en) | 2022-03-22 | 2022-03-22 | Data processing method and device, readable medium and electronic equipment |
PCT/CN2023/082365 WO2023179508A1 (en) | 2022-03-22 | 2023-03-18 | Data processing method and apparatus, readable medium and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210287992.5A CN114625481B (en) | 2022-03-22 | 2022-03-22 | Data processing method and device, readable medium and electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114625481A CN114625481A (en) | 2022-06-14 |
CN114625481B true CN114625481B (en) | 2024-04-05 |
Family
ID=81904903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210287992.5A Active CN114625481B (en) | 2022-03-22 | 2022-03-22 | Data processing method and device, readable medium and electronic equipment |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114625481B (en) |
WO (1) | WO2023179508A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114625481B (en) * | 2022-03-22 | 2024-04-05 | 北京有竹居网络技术有限公司 | Data processing method and device, readable medium and electronic equipment |
CN115220911A (en) * | 2022-06-17 | 2022-10-21 | 中科驭数(北京)科技有限公司 | Resource management method, device, equipment and medium |
CN116010127B (en) * | 2023-02-24 | 2023-08-29 | 荣耀终端有限公司 | Message processing method, device and storage medium |
CN117762572B (en) * | 2024-01-03 | 2024-08-09 | 北京火山引擎科技有限公司 | Unloading method and equipment for host and virtual machine shared directory file system |
CN118037531A (en) * | 2024-03-04 | 2024-05-14 | 北京七维视觉传媒科技有限公司 | Texture sharing method based on UE5 and Windows memory |
CN118034958B (en) * | 2024-04-07 | 2024-08-06 | 阿里云计算有限公司 | Task state notification system and method for multi-process scene |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667144A (en) * | 2009-09-29 | 2010-03-10 | 北京航空航天大学 | Virtual machine communication method based on shared memory |
CN111367472A (en) * | 2020-02-28 | 2020-07-03 | 北京百度网讯科技有限公司 | Virtualization method and device |
CN111679921A (en) * | 2020-06-09 | 2020-09-18 | Oppo广东移动通信有限公司 | Memory sharing method, memory sharing device and terminal equipment |
CN113867993A (en) * | 2021-12-03 | 2021-12-31 | 维塔科技(北京)有限公司 | Virtualized RDMA method, system, storage medium and electronic device |
CN114077480A (en) * | 2022-01-19 | 2022-02-22 | 维塔科技(北京)有限公司 | Method, device, equipment and medium for sharing memory between host and virtual machine |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9612973B2 (en) * | 2013-11-09 | 2017-04-04 | Microsoft Technology Licensing, Llc | Using shared virtual memory resources for performing memory-mapping |
CN114625481B (en) * | 2022-03-22 | 2024-04-05 | 北京有竹居网络技术有限公司 | Data processing method and device, readable medium and electronic equipment |
-
2022
- 2022-03-22 CN CN202210287992.5A patent/CN114625481B/en active Active
-
2023
- 2023-03-18 WO PCT/CN2023/082365 patent/WO2023179508A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101667144A (en) * | 2009-09-29 | 2010-03-10 | 北京航空航天大学 | Virtual machine communication method based on shared memory |
CN111367472A (en) * | 2020-02-28 | 2020-07-03 | 北京百度网讯科技有限公司 | Virtualization method and device |
CN111679921A (en) * | 2020-06-09 | 2020-09-18 | Oppo广东移动通信有限公司 | Memory sharing method, memory sharing device and terminal equipment |
CN113867993A (en) * | 2021-12-03 | 2021-12-31 | 维塔科技(北京)有限公司 | Virtualized RDMA method, system, storage medium and electronic device |
CN114077480A (en) * | 2022-01-19 | 2022-02-22 | 维塔科技(北京)有限公司 | Method, device, equipment and medium for sharing memory between host and virtual machine |
Also Published As
Publication number | Publication date |
---|---|
CN114625481A (en) | 2022-06-14 |
WO2023179508A1 (en) | 2023-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114625481B (en) | Data processing method and device, readable medium and electronic equipment | |
CN110489101B (en) | Interface simulation method, system, medium and electronic equipment | |
CN110389936B (en) | Method, equipment and computer storage medium for starting small program | |
CN108038112B (en) | File processing method, mobile terminal and computer readable storage medium | |
CN114089920B (en) | Data storage method and device, readable medium and electronic equipment | |
CN111079125A (en) | Method and device for calling third-party library dynamic lifting authority by application program | |
CN116774933A (en) | Virtualization processing method of storage device, bridging device, system and medium | |
WO2023174013A1 (en) | Video memory allocation method and apparatus, and medium and electronic device | |
CN110865852B (en) | Webpage component loading method and device, electronic equipment and storage medium | |
CN114691300A (en) | Hot migration method of virtual machine instance | |
CN113886019A (en) | Virtual machine creation method, device, system, medium and equipment | |
CN111309406A (en) | Event processing method and device of application program and electronic equipment | |
US20190107929A1 (en) | Method and device for loading content of page, and electronic device | |
WO2023174220A1 (en) | Data processing method and apparatus, and readable medium and computing device | |
CN116257320B (en) | DPU-based virtualization configuration management method, device, equipment and medium | |
CN111459822B (en) | Method, device, equipment and readable medium for extracting system component data | |
CN112835632A (en) | Method and device for calling end capability and computer storage medium | |
CN113391860B (en) | Service request processing method and device, electronic equipment and computer storage medium | |
CN112416303B (en) | Software development kit hot repair method and device and electronic equipment | |
Ahmad et al. | Comparative analysis of operating system of different smart phones | |
CN111273967A (en) | Remote hook setting method and device suitable for Android system and electronic equipment | |
CN113835790B (en) | Paging page display method and device based on Android | |
CN112445478B (en) | Graphic file processing method, device, equipment and medium | |
CN110764995B (en) | Method, device, medium and electronic equipment for detecting file access abnormality | |
CN111274513B (en) | Window display method, device, terminal and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |