WO2023174184A1 - 虚拟资源处理方法以及装置 - Google Patents

虚拟资源处理方法以及装置 Download PDF

Info

Publication number
WO2023174184A1
WO2023174184A1 PCT/CN2023/080914 CN2023080914W WO2023174184A1 WO 2023174184 A1 WO2023174184 A1 WO 2023174184A1 CN 2023080914 W CN2023080914 W CN 2023080914W WO 2023174184 A1 WO2023174184 A1 WO 2023174184A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual
module
network
result
resource
Prior art date
Application number
PCT/CN2023/080914
Other languages
English (en)
French (fr)
Inventor
朴君
Original Assignee
阿里云计算有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 阿里云计算有限公司 filed Critical 阿里云计算有限公司
Publication of WO2023174184A1 publication Critical patent/WO2023174184A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Definitions

  • the embodiments of this specification relate to the field of computer technology, and in particular, to a virtual resource processing method.
  • embodiments of this specification provide a virtual resource processing method.
  • One or more embodiments of this specification simultaneously relate to a virtual resource processing device, a computing device, a computer-readable storage medium, and a computer program, so as to solve the technical deficiencies existing in the existing technology.
  • a virtual resource processing method including:
  • the data processing type corresponding to the data processing request determine the first resource consumption result corresponding to the virtual storage module of the target virtual machine, and the second resource consumption result corresponding to the virtual network module of the target virtual machine;
  • the virtual resource processing method also includes:
  • the data read and write request is parsed, a corresponding parsing result is generated, and the parsing result is sent to the network card driver module.
  • the virtual resource processing method also includes:
  • the data read and write request is parsed, a corresponding parsing result is generated, and the parsing result is sent to the network card driver module.
  • the virtual resource processing method also includes:
  • the parsing result is encapsulated by the physical network card according to the preset network transmission protocol, and the encapsulation result is sent to the storage server.
  • the encapsulation result is used for parsing by the storage server to return the target virtual machine according to the parsing result.
  • the virtual resource processing method also includes:
  • the data to be distributed is encapsulated by the physical network card according to the preset network transmission protocol, and the encapsulation result is sent to at least one virtual machine in the virtual private cloud network, where the virtual private cloud network contains the target virtual machine. machine and the at least one virtual machine.
  • the virtual resource processing method also includes:
  • the data to be distributed in the virtual machine memory is sent to the storage server.
  • the virtual resource processing method also includes:
  • the speech recognition model to be trained is trained to generate the speech recognition model.
  • the virtual resource processing method also includes:
  • the virtual network module receives the data read and write request of the second driver module, parses the data read and write request through the second virtual resource to be consumed, generates the corresponding parsing result, and sends the parsing result to The network card driver module;
  • the data to be distributed is encapsulated by the physical network card according to the preset network transmission protocol, and the encapsulation result is sent to at least one virtual machine in the virtual private cloud network, where the virtual private cloud network contains the target virtual machine. machine and the at least one virtual machine.
  • the first resource consumption result corresponding to the virtual storage module of the target virtual machine and the second resource consumption corresponding to the virtual network module of the target virtual machine are determined according to the data processing type corresponding to the data processing request.
  • Results include:
  • the traffic sensing sub-module in the traffic adaptation module counts the access traffic of the virtual storage module and virtual network module of the target virtual machine within a preset time period according to the data processing type corresponding to the data processing request;
  • the first resource consumption result corresponding to the virtual storage module and the second resource consumption result of the virtual network module are determined according to the statistical result of the access traffic.
  • adjusting the virtual resources of the virtual storage module and the virtual network module according to the first resource consumption result and/or the second resource consumption result includes:
  • the traffic control sub-module in the traffic adaptation module performs an initial allocation of virtual resources of the virtual storage module and the virtual network module based on the first resource consumption result and/or the second resource consumption result. Adjustment.
  • adjusting the virtual resources of the virtual storage module and the virtual network module according to the first resource consumption result and/or the second resource consumption result includes:
  • the first resource consumption result is greater than the first preset threshold, adjust the initial allocation of virtual resources of the virtual storage module and the virtual network module; and/or,
  • the initial allocation of virtual resources of the virtual storage module and the virtual network module is adjusted.
  • a virtual resource processing device including:
  • the acquisition module is configured to acquire data processing requests received by the network card driver module within a preset time period
  • a determining module configured to determine, according to the data processing type corresponding to the data processing request, a first resource consumption result corresponding to the virtual storage module of the target virtual machine, and a second resource consumption corresponding to the virtual network module of the target virtual machine. result;
  • the adjustment module is configured to adjust the virtual resources of the virtual storage module and the virtual network module according to the first resource consumption result and/or the second resource consumption result.
  • a computing device including:
  • the memory is used to store computer-executable instructions
  • the processor is used to execute the computer-executable instructions to implement any one of the steps of the virtual resource processing method.
  • a computer-readable storage medium which stores computer-executable instructions. When the instructions are executed by a processor, any one of the steps of the virtual resource processing method is implemented.
  • a computer program is provided, wherein when the computer program is executed in a computer, the computer is caused to execute the steps of the above virtual resource processing method.
  • One embodiment of this specification determines the first resource consumption result corresponding to the virtual storage module of the target virtual machine by obtaining the data processing request received by the network card driver module within a preset time period and based on the data processing type corresponding to the data processing request. and the second resource consumption result corresponding to the virtual network module of the target virtual machine. According to the first resource consumption result and/or the second resource consumption result, the virtual storage module and the virtual network module are Virtual resources are adjusted.
  • the embodiment of this specification determines the resource consumption of the virtual storage module and/or the virtual network module respectively according to the load of the two. consumption results to dynamically adjust the virtual resource proportions of virtual storage modules and virtual network modules according to their resource consumption results. In this way, it is conducive to improving the virtual resource utilization of virtual storage modules and virtual network modules, and is conducive to reducing data Processing takes time to improve data processing efficiency.
  • Figure 1 is a flow chart of a virtual resource processing method provided by an embodiment of this specification
  • Figure 2 is a schematic diagram of a virtual resource processing process provided by an embodiment of this specification
  • Figure 3 is a processing flow chart of a virtual resource processing method provided by an embodiment of this specification.
  • Figure 4 is a schematic structural diagram of a virtual resource processing device provided by an embodiment of this specification.
  • Figure 5 is a structural block diagram of a computing device provided by an embodiment of this specification.
  • first, second, etc. may be used to describe various information in one or more embodiments of this specification, the information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other.
  • the first may also be called the second, and similarly, the second may also be called the first.
  • the word "if” as used herein may be interpreted as "when” or “when” or “in response to determining.”
  • PCIe Peripheral Component Interconnect Express
  • VPC Virtual Private Cloud
  • Primary Cloud Virtual Private Cloud
  • P2P peer-to-peer: a network technology and network topology.
  • a virtual resource processing method is provided.
  • This specification also relates to a virtual resource processing device, a computing device, a computer-readable storage medium, and a computer program.
  • a virtual resource processing device a computing device, a computer-readable storage medium, and a computer program.
  • a virtual resource processing device a computing device, a computer-readable storage medium, and a computer program.
  • Figure 1 shows a flow chart of a virtual resource processing method provided according to an embodiment of this specification.
  • the body includes the following steps.
  • Step 102 Obtain data processing requests received by the network card driver module within a preset time period.
  • the virtual resource processing method provided by the embodiments of this specification is applied to the host machine, and the host machine includes a virtual machine.
  • the network card driver module (user Network interface card driver) is the network card driver of the host's physical network card and is deployed on the hardware offload card; data processing requests can be data read and write requests, that is, I/O requests.
  • FIG. 2 A schematic diagram of the virtual resource processing process provided by the embodiment of this specification is shown in Figure 2.
  • the hardware offload card contains a virtual storage module and a virtual network module; the virtual machine contains a block device driver module and a network card device driver module.
  • the data processing requests received by the network card driver module are sent by the virtual storage module and the virtual network module, and the data processing requests of the virtual storage module are sent by the upper-layer application of the virtual machine through the block device driver module (virtio-blk driver).
  • the data of the virtual network module The processing request is sent by the upper-layer application of the virtual machine through the network card device driver module (virtio-net driver).
  • the data processing request is a data read and write request
  • the data read and write request of the first driving module can be received through the virtual storage module
  • the data read and write request is parsed, a corresponding parsing result is generated, and the parsing result is sent to the network card driver module.
  • the data read and write request of the second driver module can be received through the virtual network module
  • the data read and write request is parsed, a corresponding parsing result is generated, and the parsing result is sent to the network card driver module.
  • the virtual storage module is SPDK; the virtual network device is DPDK; the first driver module is the block device driver module; and the second driver module is the network card device driver module.
  • the upper-layer application of the virtual machine can forward the data read and write requests to the virtual storage module (SPDK module) of the hardware offload card (offload card) through the PCIe bus through the block device driver module (virtio-blk driver).
  • the block device in the virtual storage module The polling driver sub-module (blk pmd, block polling mode driver) parses the data read and write request, and then sends the parsing result to the network card driver module, specifically the user network interface card driver.
  • the upper-layer application of the virtual machine can forward the data read and write requests to the virtual network module (DPDK module) of the hardware offload card (offload card) through the PCIe bus through the network card device driver module (virtio-net driver).
  • the network card device polling driver sub-module (net pmd, network polling mode driver) parses the data read and write request, and then sends the parsing result to the network card driver module (user network interface card driver).
  • SPDK as the backend of the virtual machine block device, processes the data read and write requests sent by the virtio-blk driver in a polling manner, and forwards the processing results to the user network interface card driver;
  • DPDK as the backend of the virtual machine network device, processes the data read and write requests of the virtio-net driver in a polling manner, and forwards the processing results to the user network interface card driver.
  • Step 104 Determine the first resource consumption result corresponding to the virtual storage module of the target virtual machine and the second resource consumption result corresponding to the virtual network module of the target virtual machine according to the data processing type corresponding to the data processing request.
  • the first resource consumption result corresponding to the virtual storage module of the target virtual machine and the second resource consumption result corresponding to the virtual network module of the target virtual machine are determined, include:
  • the traffic sensing sub-module in the traffic adaptation module counts the access traffic of the virtual storage module and virtual network module of the target virtual machine within a preset time period according to the data processing type corresponding to the data processing request;
  • the first resource consumption result corresponding to the virtual storage module and the second resource consumption result of the virtual network module are determined according to the statistical result of the access traffic.
  • the first resource consumption result and the second resource consumption result may be the consumption result of virtual resources, and the virtual resource may be bandwidth. Therefore, the resource consumption result may be the occupation result of bandwidth.
  • the virtual storage module and virtual network module are used to process different types of data processing requests.
  • the virtual storage module can be used to process data read requests, that is, to read data from a remote storage server to a virtual machine.
  • memory and the virtual network module can be used to process data write requests, that is, to write data from the virtual machine memory to the memory of other virtual machines, specifically to distribute the data to the memory of other virtual machines.
  • the virtual storage module and the virtual network module use their respective pre-allocated virtual resources to read and write data.
  • Read and write but because the data processing types corresponding to the data read and write requests processed by the virtual storage module and the virtual network module are different, in the process of the virtual storage module using virtual resources to read the data of the remote storage server into the virtual machine memory , the virtual resources of the virtual network module are in an idle state; after the virtual machine performs data processing based on the read data, the virtual network module can distribute the data processing results to other virtual machines through its virtual resources. In this process, the virtual storage module The resources are idle, resulting in low utilization of virtual resources of the virtual storage module and virtual network module.
  • the embodiment of this specification configures the traffic adaptation module to use the traffic sensing sub-module in the traffic adaptation module to conduct real-time statistics on the access traffic of the virtual network module and the virtual storage module within a certain period of time, so as to determine based on the statistical results
  • the virtual resource consumption of the virtual storage module and the virtual network module per unit time that is, the bandwidth occupancy rate per unit time, is used to adjust the virtual resources of the two based on the statistical results.
  • the hardware offload card contains the network flow adapter (Flow Adapter), and the network flow adapter includes the flow sensing sub-module (Flow Sensor) and the flow control sub-module (Flow Controller).
  • the perception sub-module is responsible for real-time statistics of the access traffic of the virtual storage module and virtual network module, and combines the current storage bandwidth of the virtual storage module and the current network bandwidth threshold of the virtual network module to analyze the load trends of storage traffic and network traffic, and then analyzes the The results are sent to the traffic control sub-module, so that the traffic control sub-module dynamically adjusts the storage traffic and network traffic ratio based on the traffic load analysis results of the traffic sensing sub-module.
  • Step 106 Adjust virtual resources of the virtual storage module and the virtual network module according to the first resource consumption result and/or the second resource consumption result.
  • adjusting the virtual resources of the virtual storage module and the virtual network module according to the first resource consumption result and/or the second resource consumption result includes:
  • the first resource consumption result is greater than the first preset threshold, adjust the initial allocation of virtual resources of the virtual storage module and the virtual network module; and/or,
  • the initial allocation of virtual resources of the virtual storage module and the virtual network module is adjusted.
  • the virtual storage module usually uses virtual resources to read the data of the remote storage server into the virtual machine memory, and the virtual machine performs data processing based on the read data.
  • the virtual network module can distribute the data processing results to other virtual machines through its virtual resources.
  • the virtual storage module needs to be used, that is, the virtual resources of the virtual storage module are occupied for data reading.
  • the virtual resources of the virtual network module are in an idle state; during the data distribution process, the virtual storage module needs to be used.
  • the network module needs to occupy the virtual resources of the virtual network module for data distribution.
  • the virtual resources of the virtual storage module are idle, resulting in low utilization of the virtual resources of the virtual storage module and virtual network module.
  • embodiments of this specification can count the consumption results of virtual resources of the virtual network module and the virtual storage module in real time, so as to adjust the virtual resource allocation of the virtual network module and the virtual storage module according to the statistical results. ratio, thereby improving resource usage efficiency.
  • the first resource consumption result can be compared with the first preset threshold, and/or The second resource consumption result is compared with the second preset threshold to determine the virtual resource adjustment direction and adjustment amplitude of the virtual storage module and the virtual network module based on the comparison result.
  • the virtual resource ratio of the virtual storage module can be increased, that is, the storage bandwidth can be increased to improve data reading performance; when the second resource consumption result is greater than Under the second preset threshold, the network bandwidth is increased to improve data distribution performance.
  • adjusting the virtual resources of the virtual storage module and the virtual network module according to the first resource consumption result and/or the second resource consumption result includes:
  • the traffic control sub-module in the traffic adaptation module performs an initial allocation of virtual resources of the virtual storage module and the virtual network module based on the first resource consumption result and/or the second resource consumption result. Adjustment.
  • the hardware offload card contains a network flow adapter (Flow Adapter), the network flow adapter contains a flow sensing sub-module (Flow Sensor), and the flow sensing sub-module analyzes storage traffic. After analyzing the load trend of network traffic, the analysis results are sent to the flow control sub-module, so that the flow control sub-module dynamically adjusts the storage flow and network flow configuration according to the flow load analysis results of the flow sensing sub-module. ratio to meet the current demand for the use of virtual resources in the data processing process.
  • Flow Adapter network flow adapter
  • Flow Sensor flow sensing sub-module
  • the flow sensing sub-module analyzes storage traffic. After analyzing the load trend of network traffic, the analysis results are sent to the flow control sub-module, so that the flow control sub-module dynamically adjusts the storage flow and network flow configuration according to the flow load analysis results of the flow sensing sub-module. ratio to meet the current demand for the use of virtual resources in the data processing process.
  • the embodiments of this specification realize the integration and adaptation capabilities of the virtual machine storage network and the VPC network (virtual private cloud network) based on hardware offload technology.
  • the storage bandwidth and network bandwidth of the virtual machine are uniformly taken over by the hardware offload card, and the storage bandwidth and network bandwidth of the virtual machine can be uniformly taken over according to the virtual machine's requirements.
  • the ratio of storage bandwidth and network bandwidth is dynamically adjusted to realize flexible mutual conversion of the above two bandwidth resources, provide better throughput performance for upper-layer services, and greatly improve the resource utilization of the physical network.
  • the network card driver module After the network card driver module receives the parsing result generated by the virtual storage module parsing the data processing request, it can forward the parsing result to the physical network card of the host;
  • the parsing result is encapsulated by the physical network card according to the preset network transmission protocol, and the encapsulation result is sent to the storage server.
  • the encapsulation result is used for parsing by the storage server to return the target virtual machine according to the parsing result.
  • the network card driver module can forward the data to be distributed carried in the data distribution request to the host's physical network card;
  • the data to be distributed is encapsulated by the physical network card according to the preset network transmission protocol, and the encapsulation result is sent to at least one virtual machine in the virtual private cloud network, where the virtual private cloud network contains the target virtual machine. machine and the at least one virtual machine.
  • the physical network card (Network Card) is the physical network card on the hardware offload card, which is responsible for forwarding data processing requests to the remote storage server or other virtual machine network cards within the same VPC.
  • the blk pmd in the virtual storage module parses the data read request sent by the virtio-blk driver, and forwards the parsing result to the physical network card through the network card driver module (user network interface card driver); the physical network card encapsulates the parsing result into a network protocol and sends it to the remote end in the storage server.
  • the network card driver module user network interface card driver
  • the net pmd in the virtual network module parses the data write request sent by the virtio-net driver, and forwards the parsing result to the physical network card through the network card driver module (user network interface card driver); the physical network card encapsulates the parsing result into a network protocol and sends it to In the memory of virtual machines in the same VPC.
  • the network card driver module user network interface card driver
  • the first virtual resource to be consumed of the virtual storage module can be determined based on the adjustment result; through the first virtual resource to be consumed, the virtual machine memory is The data to be distributed is sent to the storage server.
  • the data to be read After reading the data to be read, the data to be read can be used as training data to train the speech recognition model to be trained and generate the speech recognition model.
  • the second virtual resource to be consumed of the virtual network module may also be determined based on the adjustment result
  • the virtual network module receives the data read and write request of the second driver module, parses the data read and write request through the second virtual resource to be consumed, generates the corresponding parsing result, and sends the parsing result to The network card driver module;
  • the data to be distributed is encapsulated by the physical network card according to the preset network transmission protocol, and the encapsulation result is sent to at least one virtual machine in the virtual private cloud network, where the virtual private cloud network contains the target virtual machine. machine and the at least one virtual machine.
  • the first virtual resource to be consumed is the adjusted virtual resource of the virtual storage module, such as the adjusted storage bandwidth
  • the second virtual resource to be consumed is the adjusted virtual resource of the virtual network module, such as the adjusted Network bandwidth.
  • Model training in a virtual machine mainly involves running the model to be trained on massive data, and generating target models, such as speech recognition models, automatic driving models, etc., through long-term calculations and repeated debugging.
  • the entire training process includes two stages: 1) loading the model to be trained, model configuration information and dependent libraries from a remote storage server (such as a cloud disk) into the virtual machine memory; 2) using the loaded data to train the model
  • the loaded data is input into the model to be trained for processing, and the model to be trained is used to analyze massive data to generate a usable target model.
  • the data volume of the model to be trained is generally around tens to hundreds of GB. This data loading process takes up a lot of overhead in the entire training process, causing the entire process of model training to take a long time. .
  • cloud disk plus P2P transmission is currently generally used. That is, the training data of the model is first read from the high-performance cloud disk into the memory of some virtual machines, and then the P2P technology is used to transfer the data through
  • the virtual private cloud network (VPC network) distributes the data read into the memory of the virtual machine to the memory of other virtual machines in the VPC network.
  • VPC network virtual private cloud network
  • a virtual machine reads data from the cloud disk and writes data into the virtual machine memory
  • its data throughput capability is limited by the storage bandwidth
  • the VPC network is limited by the VPC network bandwidth, resulting in data being read from the cloud disk.
  • the VPC network bandwidth is idle, and during the P2P stage, the storage bandwidth is idle.
  • the loading process of the entire model takes a long time, and the network resources of the virtual machine cannot be fully utilized.
  • the speech recognition model, model configuration information, and training data for model training can be read from the cloud disk first.
  • the hardware is uninstalled.
  • the traffic statistics sub-module on the card can count the traffic information of the virtual network module and virtual storage module in real time. Then, combined with the current storage bandwidth and network bandwidth thresholds, it analyzes the growth trend of storage traffic and sends the bandwidth threshold to the flow control sub-module.
  • the virtual network module can receive data read and write requests from the virtual network card, parse the data read and write requests through the adjusted network bandwidth, generate corresponding parsing results, and send the parsing results to the network card driver module ;Forward the model parameters of the speech recognition model, specifically the speech recognition model, model configuration information, and training data used for model training, to the physical network card of the host through the network card driver module; through the physical network card according to The preset network transmission protocol encapsulates the model parameters, and sends the encapsulation result to at least one virtual machine in the virtual private cloud network through P2P, where the virtual private cloud network includes the target virtual machine and at least one virtual machine, that is, the target The virtual machine and at least one virtual machine are in the same VPC network.
  • the embodiment of this manual uses a hardware offload card to uniformly take over the storage bandwidth and network bandwidth of the virtual machine, and dynamically adjusts the ratio of storage bandwidth and network bandwidth according to the load of the virtual machine to provide better throughput performance for upper-layer services and significantly improve It improves the resource utilization of the physical network. In addition, it also helps improve the model loading speed of speech recognition training, thereby reducing the overall time-consuming of model training.
  • One embodiment of this specification determines the first resource consumption result corresponding to the virtual storage module of the target virtual machine by obtaining the data processing request received by the network card driver module within a preset time period and based on the data processing type corresponding to the data processing request. and the second resource consumption result corresponding to the virtual network module of the target virtual machine. According to the first resource consumption result and/or the second resource consumption result, the virtual storage module and the virtual network module are Virtual resources are adjusted.
  • the embodiment of this specification determines the resource consumption results of the virtual storage module and/or the virtual network module respectively according to the load of the two, so as to dynamically adjust the virtual resource proportions of the virtual storage module and the virtual network module according to the resource consumption results.
  • FIG. 3 shows a process flow chart of a virtual resource processing method provided by an embodiment of this specification, which specifically includes the following steps.
  • Step 302 Receive, through the virtual storage module, a data read and write request sent by the block device driver module for the training data of the speech recognition model to be trained.
  • Step 304 Parse the data read and write request, generate a corresponding parsing result, and send the parsing result to the network card driver module.
  • Step 306 Forward the parsing result to the physical network card of the host through the network card driver module.
  • Step 308 Encapsulate the parsing result through the physical network card according to the preset network transmission protocol, and send the encapsulated result to the storage server.
  • the storage server parses the encapsulated results and returns training data based on the parsed results.
  • Step 310 Obtain data read and write requests received by the network card driver module within a preset time period.
  • Step 312 Determine the access traffic information corresponding to the virtual storage module of the target virtual machine according to the data processing type corresponding to the data read and write request.
  • Step 314 Adjust the bandwidth of the virtual storage module and the virtual network module according to the statistical results.
  • Step 316 Receive data read and write requests from the network card device driver module through the virtual network module, parse the data read and write requests, generate corresponding parsing results, and send the parsing results to the network card driver module.
  • Step 318 forward the data to be distributed in the virtual machine memory to the physical network card of the host through the network card driver module.
  • Step 320 Encapsulate the data to be distributed through the physical network card according to the preset network transmission protocol, and send the encapsulation result to at least one virtual machine in the virtual private cloud network.
  • the target virtual machine and at least one virtual machine belong to the same virtual private cloud network.
  • the embodiments of this specification can dynamically adjust the ratio of storage bandwidth and network bandwidth according to the load of the virtual machine, providing better throughput performance for upper-layer services, and greatly improving the resource utilization of the physical network.
  • it is also beneficial to Improve the model loading speed of speech recognition training, thereby reducing the overall time-consuming of model training.
  • Figure 4 shows a schematic structural diagram of a virtual resource processing device provided by an embodiment of this specification. As shown in Figure 4, the device includes:
  • the acquisition module 402 is configured to acquire data processing requests received by the network card driver module within a preset time period
  • the determination module 404 is configured to determine the first resource consumption result corresponding to the virtual storage module of the target virtual machine and the second resource corresponding to the virtual network module of the target virtual machine according to the data processing type corresponding to the data processing request. consumption results;
  • the adjustment module 406 is configured to adjust the virtual resources of the virtual storage module and the virtual network module according to the first resource consumption result and/or the second resource consumption result.
  • the virtual resource processing device also includes a first parsing module configured to:
  • the data read and write request is parsed, a corresponding parsing result is generated, and the parsing result is sent to the network card driver module.
  • the virtual resource processing device further includes a second parsing module configured to:
  • the data read and write request is parsed, a corresponding parsing result is generated, and the parsing result is sent to the network card driver module.
  • the virtual resource processing device also includes a first encapsulation module configured to:
  • the parsing result is encapsulated by the physical network card according to the preset network transmission protocol, and the encapsulation result is sent to the storage server.
  • the encapsulation result is used for parsing by the storage server to return the target virtual machine according to the parsing result.
  • the virtual resource processing device further includes a second encapsulation module configured to:
  • the data to be distributed is encapsulated through the physical network card according to the preset network transmission protocol, and the encapsulation result is Sent to at least one virtual machine in the virtual private cloud network, where the virtual private cloud network includes the target virtual machine and the at least one virtual machine.
  • the virtual resource processing device also includes a writing module configured to:
  • the data to be distributed in the virtual machine memory is sent to the storage server.
  • the virtual resource processing device also includes a training module configured to:
  • the speech recognition model to be trained is trained to generate the speech recognition model.
  • the virtual resource processing device also includes a third encapsulation module configured to:
  • the virtual network module receives the data read and write request of the second driver module, parses the data read and write request through the second virtual resource to be consumed, generates the corresponding parsing result, and sends the parsing result to The network card driver module;
  • the data to be distributed is encapsulated by the physical network card according to the preset network transmission protocol, and the encapsulation result is sent to at least one virtual machine in the virtual private cloud network, where the virtual private cloud network contains the target virtual machine. machine and the at least one virtual machine.
  • the determination module 404 is further configured to:
  • the traffic sensing sub-module in the traffic adaptation module counts the access traffic of the virtual storage module and virtual network module of the target virtual machine within a preset time period according to the data processing type corresponding to the data processing request;
  • the first resource consumption result corresponding to the virtual storage module and the second resource consumption result of the virtual network module are determined according to the statistical result of the access traffic.
  • the adjustment module 406 is further configured to:
  • the traffic control sub-module in the traffic adaptation module performs an initial allocation of virtual resources of the virtual storage module and the virtual network module based on the first resource consumption result and/or the second resource consumption result. Adjustment.
  • the adjustment module 406 is further configured to:
  • the first resource consumption result is greater than the first preset threshold, adjust the initial allocation of virtual resources of the virtual storage module and the virtual network module; and/or,
  • the initial allocation of virtual resources of the virtual storage module and the virtual network module is adjusted.
  • the above is a schematic solution of a virtual resource processing device in this embodiment. It should be noted that the technical solution of the virtual resource processing device and the technical solution of the above-mentioned virtual resource processing method belong to the same concept.
  • the virtual resource processing method For details that are not described in detail in the technical solution of the device, please refer to the description of the technical solution of the virtual resource processing method mentioned above.
  • Figure 5 shows a structural block diagram of a computing device 500 provided according to an embodiment of this specification.
  • Components of the computing device 500 include, but are not limited to, memory 510 and processor 520 .
  • the processor 520 is connected to the memory 510 through a bus 430, and the database 550 is used to save data.
  • Computing device 500 also includes an access device 540 that enables computing device 500 to communicate via one or more networks 560 .
  • networks include the Public Switched Telephone Network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communications networks such as the Internet.
  • Access device 540 may include one or more of any type of network interface (eg, a network interface card (NIC)), wired or wireless, such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, Global Interconnection for Microwave Access ( Wi-MAX) interface, Ethernet interface, Universal Serial Bus (USB) interface, cellular network interface, Bluetooth interface, Near Field Communication (NFC) interface, etc.
  • NIC network interface card
  • the above-mentioned components of the computing device 500 and other components not shown in FIG. 5 may also be connected to each other, such as through a bus. It should be understood that the structural block diagram of the computing device shown in FIG. 5 is for illustrative purposes only and does not limit the scope of this specification. Those skilled in the art can add or replace other components as needed.
  • Computing device 500 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., tablet computer, personal digital assistant, laptop computer, notebook computer, netbook, etc.), a mobile telephone (e.g., smartphone ), a wearable computing device (e.g., smart watch, smart glasses, etc.) or other type of mobile device, or a stationary computing device such as a desktop computer or PC.
  • a mobile computer or mobile computing device e.g., tablet computer, personal digital assistant, laptop computer, notebook computer, netbook, etc.
  • a mobile telephone e.g., smartphone
  • a wearable computing device e.g., smart watch, smart glasses, etc.
  • stationary computing device such as a desktop computer or PC.
  • Computing device 500 may also be a mobile or stationary server.
  • the processor 520 is configured to execute the following computer-executable instructions. When the computer-executable instructions are executed by the processor, the steps of the virtual resource processing method are implemented.
  • the above is a schematic solution of a computing device in this embodiment. It should be noted that the technical solution of the computing device and the technical solution of the above-mentioned virtual resource processing method belong to the same concept. For details that are not described in detail in the technical solution of the computing device, please refer to the description of the technical solution of the above virtual resource processing method. .
  • An embodiment of the present specification also provides a computer-readable storage medium that stores computer-executable instructions.
  • the computer-executable instructions are executed by a processor, the steps of the virtual resource processing method are implemented.
  • the above is a schematic solution of a computer-readable storage medium in this embodiment. It should be noted that the technical solution of the storage medium and the technical solution of the above-mentioned virtual resource processing method belong to the same concept. For details that are not described in detail in the technical solution of the storage medium, please refer to the description of the technical solution of the above virtual resource processing method. .
  • An embodiment of the present specification also provides a computer program, wherein when the computer program is executed in a computer, the computer is caused to execute the steps of the above virtual resource processing method.
  • the computer instructions include computer program code, which may be in the form of source code, object code, executable file or some intermediate form.
  • the computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory) , Random Access Memory (RAM, Random Access Memory), electrical carrier signals, telecommunications signals, and software distribution media, etc.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • electrical carrier signals telecommunications signals
  • software distribution media etc.
  • the content contained in the computer-readable medium can be appropriately added or deleted according to the requirements of legislation and patent practice in the jurisdiction.
  • the computer-readable medium Excludes electrical carrier signals and telecommunications signals.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本说明书实施例提供虚拟资源处理方法以及装置,其中所述虚拟资源处理方法包括:获取网卡驱动模块在预设时间周期内接收的数据处理请求,根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。

Description

虚拟资源处理方法以及装置
本申请要求于2022年03月17日提交中国专利局、申请号为202210263173.7、申请名称为“虚拟资源处理方法以及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种虚拟资源处理方法。
背景技术
目前主流的公共云厂商大多采用硬件卸载卡作为云盘以及VPC网络的流量转发装置,一般来说,云厂商会对虚拟机实例做一个存储网络和VPC网络的带宽规格限制,例如,VPC网络上限为10Gb,存储网络上限为6Gb。基于此,实际的数据处理过程中,VPC网络传输能力和云盘的吞吐能力分别被做了限制,导致数据处理任务的数据加载和数据分发过程均耗时很长。
因此,继续提供一种有效的方法以解决此类问题。
发明内容
有鉴于此,本说明书实施例提供了一种虚拟资源处理方法。本说明书一个或者多个实施例同时涉及一种虚拟资源处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种虚拟资源处理方法,包括:
获取网卡驱动模块在预设时间周期内接收的数据处理请求;
根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果;
根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
可选地,所述虚拟资源处理方法,还包括:
通过所述虚拟存储模块接收第一驱动模块的数据读写请求;
对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
可选地,所述虚拟资源处理方法,还包括:
通过所述虚拟网络模块接收第二驱动模块的数据读写请求;
对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
可选地,所述虚拟资源处理方法,还包括:
通过所述网卡驱动模块将所述解析结果转发至宿主机的物理网卡;
通过所述物理网卡按照预设网络传输协议对所述解析结果进行封装,并将封装结果发送至存储服务器,所述封装结果用于所述存储服务器进行解析,以根据解析结果返回所述目标虚拟机的待读取数据。
可选地,所述虚拟资源处理方法,还包括:
通过所述网卡驱动模块将待分发数据转发至宿主机的物理网卡;
通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目标虚拟机及所述至少一个虚拟机。
可选地,所述虚拟资源处理方法,还包括:
基于调整结果确定所述虚拟存储模块的第一待消耗虚拟资源;
通过所述第一待消耗虚拟资源,将虚拟机内存的待分发数据发送至所述存储服务器。
可选地,所述虚拟资源处理方法,还包括:
将所述待读取数据作为训练数据,对待训练的语音识别模型进行训练,生成所述语音识别模型。
可选地,所述虚拟资源处理方法,还包括:
基于调整结果确定所述虚拟网络模块的第二待消耗虚拟资源;
通过所述虚拟网络模块接收第二驱动模块的数据读写请求,通过所述第二待消耗虚拟资源对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块;
通过所述网卡驱动模块将虚拟机内存的待分发数据转发到宿主机的物理网卡;
通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目标虚拟机及所述至少一个虚拟机。
可选地,所述根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果,包括:
流量适配模块中的流量感知子模块,根据所述数据处理请求对应的数据处理类型,统计目标虚拟机的虚拟存储模块及虚拟网络模块在预设时间周期内的访问流量;
根据所述访问流量的统计结果确定所述虚拟存储模块对应的第一资源消耗结果,及所述虚拟网络模块的第二资源消耗结果。
可选地,所述根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整,包括:
流量适配模块中的流量控制子模块,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
可选地,所述根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整,包括:
在所述第一资源消耗结果大于第一预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整;和/或,
在所述第二资源消耗结果大于第二预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
根据本说明书实施例的第二方面,提供了一种虚拟资源处理装置,包括:
获取模块,被配置为获取网卡驱动模块在预设时间周期内接收的数据处理请求;
确定模块,被配置为根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果;
调整模块,被配置为根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现任意一项所述虚拟资源处理方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意一项所述虚拟资源处理方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述虚拟资源处理方法的步骤。
本说明书一个实施例通过获取网卡驱动模块在预设时间周期内接收的数据处理请求,根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
本说明书实施例根据虚拟存储模块和/或虚拟网络模块的负载,分别确定二者的资源消 耗结果,以根据其资源消耗结果动态调整虚拟存储模块和虚拟网络模块的虚拟资源占比,通过这种方式,有利于提升虚拟存储模块和虚拟网络模块的虚拟资源利用率,并有利于降低数据处理耗时,以提高数据处理效率。
附图说明
图1是本说明书一个实施例提供的一种虚拟资源处理方法的流程图;
图2是本说明书一个实施例提供的一种虚拟资源处理过程的示意图;
图3是本说明书一个实施例提供的一种虚拟资源处理方法的处理过程流程图;
图4是本说明书一个实施例提供的一种虚拟资源处理装置的结构示意图;
图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
PCIe(Peripheral Component Interconnect Express):是计算机总线的一个重要分支,它沿用现有的PCI编程概念及信号标准,并且构建了更加高速的串行通信系统标准;
VPC(Virtual Private Cloud):是存在于共享或公用云中的虚拟私有云(Private Cloud),亦即一种网际云。
P2P(peer-to-peer):一种网络技术和网络拓扑结构。
在本说明书中,提供了一种虚拟资源处理方法,本说明书同时涉及一种虚拟资源处理装置,一种计算设备,一种计算机可读存储介质,以及一种计算机程序,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一个实施例提供的一种虚拟资源处理方法的流程图,具 体包括以下步骤。
步骤102,获取网卡驱动模块在预设时间周期内接收的数据处理请求。
具体的,本说明书实施例提供的虚拟资源处理方法,应用于宿主机,该宿主机中包含虚拟机。
其中,网卡驱动模块(user Network interface card driver)为宿主机的物理网卡的网卡驱动,部署于硬件卸载卡;数据处理请求,即可以数据读写请求,即I/O请求。
本说明书实施例提供的虚拟资源处理过程的示意图如图2所示。图2中,硬件卸载卡中包含虚拟存储模块和虚拟网络模块;虚拟机中包含块设备驱动模块和网卡设备驱动模块。网卡驱动模块接收的数据处理请求由虚拟存储模块和虚拟网络模块发送,而虚拟存储模块的数据处理请求由虚拟机的上层应用通过块设备驱动模块(virtio-blk driver)发送,虚拟网络模块的数据处理请求由虚拟机的上层应用通过网卡设备驱动模块(virtio-net driver)发送。
因此,在数据处理请求为数据读写请求的情况下,可通过所述虚拟存储模块接收第一驱动模块的数据读写请求;
对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
或者,可通过所述虚拟网络模块接收第二驱动模块的数据读写请求;
对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
具体的,虚拟存储模块,即SPDK;虚拟网络设备,即DPDK;第一驱动模块即块设备驱动模块;第二驱动模块即网卡设备驱动模块。
虚拟机的上层应用可通过块设备驱动模块(virtio-blk driver)将数据读写请求通过PCIe总线转发到硬件卸载卡(offload card)的虚拟存储模块(SPDK模块),虚拟存储模块中的块设备轮询驱动子模块(blk pmd,block polling mode driver)解析该数据读写请求,再将解析结果发送至网卡驱动模块,具体是用户态网卡驱动模块(user network interface card driver)。
或者,虚拟机的上层应用可通过网卡设备驱动模块(virtio-net driver)将数据读写请求通过PCIe总线转发到硬件卸载卡(offload card)的虚拟网络模块(DPDK模块),虚拟网络模块中的网卡设备轮询驱动子模块(net pmd,network polling mode driver)解析该数据读写请求,再将解析结果发送至网卡驱动模块(user network interface card driver)。
其中,SPDK作为虚拟机块设备的后端,以polling(轮询)的方式处理virtio-blk driver发送的数据读写请求,并将处理结果转发到user network interface card driver;
同样的,DPDK作为虚拟机网络设备的后端,以polling的方式处理virtio-net driver的数据读写请求,并将处理结果转发到user network interface card driver。
步骤104,根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果。
具体实施时,根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果,包括:
流量适配模块中的流量感知子模块,根据所述数据处理请求对应的数据处理类型,统计目标虚拟机的虚拟存储模块及虚拟网络模块在预设时间周期内的访问流量;
根据所述访问流量的统计结果确定所述虚拟存储模块对应的第一资源消耗结果,及所述虚拟网络模块的第二资源消耗结果。
具体的,第一资源消耗结果和第二资源消耗结果,即可以是虚拟资源的消耗结果,而虚拟资源即可以是带宽,因此,资源消耗结果即可以是带宽的占用结果。
实际应用中,由于虚拟存储模块和虚拟网络模块用于处理不同类型的数据处理请求,例如,虚拟存储模块可用于处理数据读请求,即用于将远端存储服务器中的数据读取到虚拟机内存,而虚拟网络模块可用于处理数据写请求,即用于将虚拟机内存的数据写入其他虚拟机内存,具体即将数据分发至其他虚拟机内存。
由于宿主机可预先分别为虚拟存储模块和虚拟网络模块分配一定数量的虚拟资源,虚拟存储模块和虚拟网络模块在进行数据读写过程中,均使用各自的、预先为其分配的虚拟资源进行数据读写,但由于虚拟存储模块和虚拟网络模块处理的数据读写请求所对应的数据处理类型不同,在由虚拟存储模块利用虚拟资源将远端存储服务器的数据读取至虚拟机内存的过程中,虚拟网络模块的虚拟资源处于空闲状态;虚拟机基于读取的数据进行数据处理之后,可由虚拟网络模块将数据处理结果通过其虚拟资源分发至其他虚拟机,这个过程中,虚拟存储模块的虚拟资源处于空闲状态,导致虚拟存储模块和虚拟网络模块的虚拟资源的利用率较低。
因此,本说明书实施例通过配置流量适配模块,以利用流量适配模块中的流量感知子模块实时对一定时间周期内的虚拟网络模块和虚拟存储模块的访问流量进行统计,以根据统计结果确定单位时间内虚拟存储模块和虚拟网络模块二者的虚拟资源消耗情况,即单位时间内带宽的占用率,以根据统计结果对二者的虚拟资源进行调整。
图2所示的虚拟资源处理过程的示意图中,硬件卸载卡中包含网络流量适配器(Flow Adapter),网络流量适配器中包含流量感知子模块(Flow Sensor)和流量控制子模块(Flow Controller),流量感知子模块负责实时统计虚拟存储模块和虚拟网络模块的访问流量,并结合虚拟存储模块的当前存储带宽以及虚拟网络模块的当前网络带宽的阈值,分析存储流量和网络流量的负载趋势,再将分析结果发送到流量控制子模块,以由流量控制子模块根据流量感知子模块的流量负载分析结果,动态调整存储流量和网络流量配比。
步骤106,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
具体实施时,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整,包括:
在所述第一资源消耗结果大于第一预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整;和/或,
在所述第二资源消耗结果大于第二预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
具体的,如前所述,在一个完整的数据处理流程中,通常是先由虚拟存储模块利用虚拟资源将远端存储服务器的数据读取至虚拟机内存,虚拟机基于读取的数据进行数据处理之后,可由虚拟网络模块将数据处理结果通过其虚拟资源分发至其他虚拟机。
其中,数据读取过程中,需要使用虚拟存储模块,即占用虚拟存储模块的虚拟资源进行数据读取,这个过程中,虚拟网络模块的虚拟资源处于空闲状态;在数据分发过程中,需要使用虚拟网络模块,即需要占用虚拟网络模块的虚拟资源进行数据分发,这个过程中,虚拟存储模块的虚拟资源处于空闲状态,导致虚拟存储模块和虚拟网络模块的虚拟资源的利用率较低。
为提高虚拟资源的利用率,提高数据处理效率,本说明书实施例可实时统计虚拟网络模块和虚拟存储模块的虚拟资源的消耗结果,以根据统计结果调整虚拟网络模块和虚拟存储模块的虚拟资源配比,从而提高资源使用效率。
具体的,在获取虚拟存储模块的第一资源消耗结果,和/或获取虚拟网络模块的第二资源消耗结果后,可将第一资源消耗结果与第一预设阈值进行比对,和/或将第二资源消耗结果与第二预设阈值进行比对,以根据比对结果确定虚拟存储模块和虚拟网络模块的虚拟资源调整方向以及调整幅度。
其中,在第一资源消耗结果大于第一预设阈值的情况下,可调高虚拟存储模块的虚拟资源配比,即调高存储带宽,以提升数据读取性能;在第二资源消耗结果大于第二预设阈值的情况下,调高网络带宽,以提升数据分发性能。
或者,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整,包括:
流量适配模块中的流量控制子模块,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
具体的,图2所示的虚拟资源处理过程的示意图中,硬件卸载卡中包含网络流量适配器(Flow Adapter),网络流量适配器中包含流量感知子模块(Flow Sensor),流量感知子模块分析存储流量和网络流量的负载趋势后,将分析结果发送到流量控制子模块,以由流量控制子模块根据流量感知子模块的流量负载分析结果,动态调整存储流量和网络流量配 比,从而满足当前数据处理过程中虚拟资源的使用需求。
本说明书实施例基于硬件卸载技术实现了虚拟机存储网络和VPC网络(虚拟私有云网络)的融合变配能力,通过硬件卸载卡统一接管虚拟机的存储带宽和网络带宽,并可根据虚拟机的负载情况,动态的调整存储带宽和网络带宽的配比,实现了上述两种带宽资源的灵活相互转化,为上层业务提供更好的吞吐性能,也大幅提升了物理网络的资源利用率。
具体实施时,网卡驱动模块接收到虚拟存储模块对数据处理请求进行解析生成的解析结果后,可将解析结果转发至宿主机的物理网卡;
通过所述物理网卡按照预设网络传输协议对所述解析结果进行封装,并将封装结果发送至存储服务器,所述封装结果用于所述存储服务器进行解析,以根据解析结果返回所述目标虚拟机的待读取数据。
同样的,网卡驱动模块接收到虚拟网络模块的数据分发请求后,可将数据分发请求中携带的待分发数据转发至宿主机的物理网卡;
通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目标虚拟机及所述至少一个虚拟机。
具体的,物理网卡(Network Card)为硬件卸载卡上的物理网卡,负责将数据处理请求转发到远端的存储服务器或者相同VPC内部的其他虚拟机网卡中。
虚拟存储模块中的blk pmd解析virtio-blk driver发送的数据读请求,通过网卡驱动模块(user network interface card driver)将解析结果转发到物理网卡;物理网卡将解析结果封装成网络协议发送到远端的存储服务器中。
或者,虚拟网络模块中的net pmd解析virtio-net driver发送的数据写请求,通过网卡驱动模块(user network interface card driver)将解析结果转发到物理网卡;物理网卡将解析结果封装成网络协议发送到相同VPC的虚拟机内存中。
进一步的,对虚拟存储模块和虚拟网络模块的虚拟资源进行调整之后,可基于调整结果确定所述虚拟存储模块的第一待消耗虚拟资源;通过所述第一待消耗虚拟资源,将虚拟机内存的待分发数据发送至所述存储服务器。
在读取待读取数据后,可将所述待读取数据作为训练数据,对待训练的语音识别模型进行训练,生成所述语音识别模型。
另外,还可基于调整结果确定所述虚拟网络模块的第二待消耗虚拟资源;
通过所述虚拟网络模块接收第二驱动模块的数据读写请求,通过所述第二待消耗虚拟资源对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块;
通过所述网卡驱动模块将虚拟机内存的待分发数据转发到宿主机的物理网卡;
通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目标虚拟机及所述至少一个虚拟机。
具体的,第一待消耗虚拟资源即为虚拟存储模块的调整后的虚拟资源,例如调整后的存储带宽;第二待消耗虚拟资源即为虚拟网络模块的调整后的虚拟资源,例如调整后的网络带宽。
在虚拟机中进行模型训练,主要是将待训练模型运行在海量数据上,通过长时间运算和反复调试后生成目标模型,例如,语音识别模型、自动驾驶模型等。整个训练过程包括两个阶段,1)将待训练的模型、模型配置信息以及依赖的库从远端存储服务器(例如云盘)加载到虚拟机内存中;2)利用加载的数据对待训练的模型进行训练,即将加载的数据输入待训练的模型进行处理,利用待训练的模型分析海量的数据,以生成可使用的目标模型。其中,第一个过程中,待训练的模型的数据量一般在几十GB,上百GB左右,这个数据加载过程占据了整个训练过程的很大开销,导致模型训练的整个过程耗时较长。
为了提升待训练模型的数据加载速度,目前一般采用云盘加上P2P传输的方式,即先将模型的训练数据从高性能云盘中读取到部分虚拟机内存中,然后利用P2P技术,通过虚拟私有云网络(VPC网络)将读取到虚拟机内存的数据分发到VPC网络中其他的虚拟机内存中。但是,目前虚拟机在云盘读取数据以及将数据写入虚拟机内存的过程中,其数据吞吐能力受限于存储带宽,而VPC网络受限于VPC网络带宽,导致从云盘读取数据时,VPC网络带宽处于闲置状态,而P2P阶段中,存储带宽处于闲置状态,整个模型的加载过程耗时很长,而且无法充分利用虚拟机的网络资源。
因此,本说明书实施例中,当虚拟机内部存在语音识别模型训练任务时,可先从云盘读取语音识别模型、模型配置信息以及用于进行模型训练的训练数据,这个过程中,硬件卸载卡上的流量统计子模块可实时统计虚拟网络模块和虚拟存储模块的流量信息,然后,结合当前存储带宽和网络带宽的阈值,分析出存储流量的增长趋势,并向流量控制子模块发送带宽阈值调整请求,将存储带宽调高,提升云盘读取性能,以通过调整后的存储带宽将训练数据读取到虚拟机内存;然后可通过虚拟网络模块的网络带宽向其他虚拟机P2P分发读取到虚拟机内存的数据;这个过程中,硬件卸载卡上的流量统计子模块实时统计虚拟网络模块和虚拟存储模块的流量信息,然后结合当前存储带宽和网络带宽的阈值,分析出VPC网络流量的增长趋势,接着向流量控制子模块发送带宽阈值调整请求,将VPC网络带宽调高,提升P2P分发性能。
另外,调整网络带宽后,可通过虚拟网络模块接收虚拟网卡的数据读写请求,通过调整后的网络带宽对数据读写请求进行解析,生成对应的解析结果,并将解析结果发送至网卡驱动模块;通过网卡驱动模块将语音识别模型的模型参数,具体即语音识别模型、模型配置信息以及用于进行模型训练的训练数据转发到宿主机的物理网卡;通过物理网卡按照 预设网络传输协议对模型参数进行封装,并将封装结果通过P2P的方式发送至虚拟私有云网络中的至少一个虚拟机,其中,虚拟私有云网络包含目标虚拟机及至少一个虚拟机,即目标虚拟机和至少一个虚拟机处于同一VPC网络。
本说明书实施例利用硬件卸载卡统一接管虚拟机的存储带宽和网络带宽,根据虚拟机的负载情况,动态的调整存储带宽和网络带宽的配比,为上层业务提供更好的吞吐性能,也大幅提升了物理网络的资源利用率,另外,还有利于提升语音识别训练的模型加载速度,从而降低模型训练的整体耗时。
本说明书一个实施例通过获取网卡驱动模块在预设时间周期内接收的数据处理请求,根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
本说明书实施例根据虚拟存储模块和/或虚拟网络模块的负载,分别确定二者的资源消耗结果,以根据其资源消耗结果动态调整虚拟存储模块和虚拟网络模块的虚拟资源占比,通过这种方式,有利于提升虚拟存储模块和虚拟网络模块的虚拟资源利用率,并有利于降低数据处理耗时,以提高数据处理效率。
下述结合附图3,以本说明书提供的虚拟资源处理方法在模型训练场景的应用为例,对所述虚拟资源处理方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种虚拟资源处理方法的处理过程流程图,具体包括以下步骤。
步骤302,通过虚拟存储模块接收块设备驱动模块针对待训练语音识别模型的训练数据发送的数据读写请求。
步骤304,对所数据读写请求进行解析,生成对应的解析结果,并将解析结果发送至网卡驱动模块。
步骤306,通过网卡驱动模块将解析结果转发至宿主机的物理网卡。
步骤308,通过物理网卡按照预设网络传输协议对解析结果进行封装,并将封装结果发送至存储服务器。
具体的,存储服务器对封装结果进行解析,并根据解析结果返回训练数据。
步骤310,获取网卡驱动模块在预设时间周期内接收的数据读写请求。
步骤312,根据数据读写请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的访问流量信息。
步骤314,根据统计结果,对虚拟存储模块和虚拟网络模块的带宽进行调整。
步骤316,通过虚拟网络模块接收网卡设备驱动模块的数据读写请求,对数据读写请求进行解析,生成对应的解析结果,并将解析结果发送至网卡驱动模块。
步骤318,通过网卡驱动模块将虚拟机内存的待分发数据转发到宿主机的物理网卡。
步骤320,通过物理网卡按照预设网络传输协议对待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机。
其中,目标虚拟机与至少一个虚拟机属于同一虚拟私有云网络。
本说明书实施例可根据虚拟机的负载情况,动态的调整存储带宽和网络带宽的配比,为上层业务提供更好的吞吐性能,也大幅提升了物理网络的资源利用率,另外,还有利于提升语音识别训练的模型加载速度,从而降低模型训练的整体耗时。
与上述方法实施例相对应,本说明书还提供了虚拟资源处理装置实施例,图4示出了本说明书一个实施例提供的一种虚拟资源处理装置的结构示意图。如图4所示,该装置包括:
获取模块402,被配置为获取网卡驱动模块在预设时间周期内接收的数据处理请求;
确定模块404,被配置为根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果;
调整模块406,被配置为根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
可选地,所述虚拟资源处理装置,还包括第一解析模块,被配置为:
通过所述虚拟存储模块接收第一驱动模块的数据读写请求;
对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
可选地,所述虚拟资源处理装置,还包括第二解析模块,被配置为:
通过所述虚拟网络模块接收第二驱动模块的数据读写请求;
对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
可选地,所述虚拟资源处理装置,还包括第一封装模块,被配置为:
通过所述网卡驱动模块将所述解析结果转发至宿主机的物理网卡;
通过所述物理网卡按照预设网络传输协议对所述解析结果进行封装,并将封装结果发送至存储服务器,所述封装结果用于所述存储服务器进行解析,以根据解析结果返回所述目标虚拟机的待读取数据。
可选地,所述虚拟资源处理装置,还包括第二封装模块,被配置为:
通过所述网卡驱动模块将待分发数据转发至宿主机的物理网卡;
通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果 发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目标虚拟机及所述至少一个虚拟机。
可选地,所述虚拟资源处理装置,还包括写入模块,被配置为:
基于调整结果确定所述虚拟存储模块的第一待消耗虚拟资源;
通过所述第一待消耗虚拟资源,将虚拟机内存的待分发数据发送至所述存储服务器。
可选地,所述虚拟资源处理装置,还包括训练模块,被配置为:
将所述待读取数据作为训练数据,对待训练的语音识别模型进行训练,生成所述语音识别模型。
可选地,所述虚拟资源处理装置,还包括第三封装模块,被配置为:
基于调整结果确定所述虚拟网络模块的第二待消耗虚拟资源;
通过所述虚拟网络模块接收第二驱动模块的数据读写请求,通过所述第二待消耗虚拟资源对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块;
通过所述网卡驱动模块将虚拟机内存的待分发数据转发到宿主机的物理网卡;
通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目标虚拟机及所述至少一个虚拟机。
可选地,所述确定模块404,进一步被配置为:
流量适配模块中的流量感知子模块,根据所述数据处理请求对应的数据处理类型,统计目标虚拟机的虚拟存储模块及虚拟网络模块在预设时间周期内的访问流量;
根据所述访问流量的统计结果确定所述虚拟存储模块对应的第一资源消耗结果,及所述虚拟网络模块的第二资源消耗结果。
可选地,所述调整模块406,进一步被配置为:
流量适配模块中的流量控制子模块,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
可选地,所述调整模块406,进一步被配置为:
在所述第一资源消耗结果大于第一预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整;和/或,
在所述第二资源消耗结果大于第二预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
上述为本实施例的一种虚拟资源处理装置的示意性方案。需要说明的是,该虚拟资源处理装置的技术方案与上述的虚拟资源处理方法的技术方案属于同一构思,虚拟资源处理 装置的技术方案未详细描述的细节内容,均可以参见上述虚拟资源处理方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线430相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟资源处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的虚拟资源处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述虚拟资源处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟资源处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的虚拟资源处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述虚拟资源处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述虚拟资源处理方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技 术方案与上述的虚拟资源处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述虚拟资源处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

  1. 一种虚拟资源处理方法,包括:
    获取网卡驱动模块在预设时间周期内接收的数据处理请求;
    根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果;
    根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
  2. 根据权利要求1所述的虚拟资源处理方法,还包括:
    通过所述虚拟存储模块接收第一驱动模块的数据读写请求;
    对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
  3. 根据权利要求1所述的虚拟资源处理方法,还包括:
    通过所述虚拟网络模块接收第二驱动模块的数据读写请求;
    对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块。
  4. 根据权利要求2所述的虚拟资源处理方法,还包括:
    通过所述网卡驱动模块将所述解析结果转发至宿主机的物理网卡;
    通过所述物理网卡按照预设网络传输协议对所述解析结果进行封装,并将封装结果发送至存储服务器,所述封装结果用于所述存储服务器进行解析,以根据解析结果返回所述目标虚拟机的待读取数据。
  5. 根据权利要求3所述的虚拟资源处理方法,还包括:
    通过所述网卡驱动模块将待分发数据转发至宿主机的物理网卡;
    通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目标虚拟机及所述至少一个虚拟机。
  6. 根据权利要求4所述的虚拟资源处理方法,还包括:
    基于调整结果确定所述虚拟存储模块的第一待消耗虚拟资源;
    通过所述第一待消耗虚拟资源,将虚拟机内存的待分发数据发送至所述存储服务器。
  7. 根据权利要求4所述的虚拟资源处理方法,还包括:
    将所述待读取数据作为训练数据,对待训练的语音识别模型进行训练,生成所述语音识别模型。
  8. 根据权利要求3所述的虚拟资源处理方法,还包括:
    基于调整结果确定所述虚拟网络模块的第二待消耗虚拟资源;
    通过所述虚拟网络模块接收第二驱动模块的数据读写请求,通过所述第二待消耗虚拟资源对所述数据读写请求进行解析,生成对应的解析结果,并将所述解析结果发送至所述网卡驱动模块;
    通过所述网卡驱动模块将虚拟机内存的待分发数据转发到宿主机的物理网卡;
    通过所述物理网卡按照预设网络传输协议对所述待分发数据进行封装,并将封装结果发送至虚拟私有云网络中的至少一个虚拟机,其中,所述虚拟私有云网络包含所述目标虚拟机及所述至少一个虚拟机。
  9. 根据权利要求1所述的虚拟资源处理方法,所述根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果,包括:
    流量适配模块中的流量感知子模块,根据所述数据处理请求对应的数据处理类型,统计目标虚拟机的虚拟存储模块及虚拟网络模块在预设时间周期内的访问流量;
    根据所述访问流量的统计结果确定所述虚拟存储模块对应的第一资源消耗结果,及所述虚拟网络模块的第二资源消耗结果。
  10. 根据权利要求9所述的虚拟资源处理方法,所述根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整,包括:
    流量适配模块中的流量控制子模块,根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
  11. 根据权利要求1所述的虚拟资源处理方法,所述根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整,包括:
    在所述第一资源消耗结果大于第一预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整;和/或,
    在所述第二资源消耗结果大于第二预设阈值的情况下,对所述虚拟存储模块和所述虚拟网络模块的虚拟资源的初始配比进行调整。
  12. 一种虚拟资源处理装置,包括:
    获取模块,被配置为获取网卡驱动模块在预设时间周期内接收的数据处理请求;
    确定模块,被配置为根据所述数据处理请求对应的数据处理类型,确定目标虚拟机的虚拟存储模块对应的第一资源消耗结果,及所述目标虚拟机的虚拟网络模块对应的第二资源消耗结果;
    调整模块,被配置为根据所述第一资源消耗结果和/或所述第二资源消耗结果,对所述 虚拟存储模块和所述虚拟网络模块的虚拟资源进行调整。
  13. 一种计算设备,包括:
    存储器和处理器;
    所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述虚拟资源处理方法的步骤。
  14. 一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述虚拟资源处理方法的步骤。
PCT/CN2023/080914 2022-03-17 2023-03-10 虚拟资源处理方法以及装置 WO2023174184A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210263173.7 2022-03-17
CN202210263173.7A CN114363185B (zh) 2022-03-17 2022-03-17 虚拟资源处理方法以及装置

Publications (1)

Publication Number Publication Date
WO2023174184A1 true WO2023174184A1 (zh) 2023-09-21

Family

ID=81094825

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/080914 WO2023174184A1 (zh) 2022-03-17 2023-03-10 虚拟资源处理方法以及装置

Country Status (2)

Country Link
CN (1) CN114363185B (zh)
WO (1) WO2023174184A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363185B (zh) * 2022-03-17 2022-10-04 阿里云计算有限公司 虚拟资源处理方法以及装置
CN115686836A (zh) * 2022-10-17 2023-02-03 阿里巴巴(中国)有限公司 一种安装有加速器的卸载卡

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082612A1 (en) * 2012-09-17 2014-03-20 International Business Machines Corporation Dynamic Virtual Machine Resizing in a Cloud Computing Infrastructure
CN107222349A (zh) * 2017-06-23 2017-09-29 北京三快在线科技有限公司 一种配置虚拟机网卡速率的方法及装置
CN107306234A (zh) * 2016-04-20 2017-10-31 北京亿阳信通科技有限公司 一种云平台资源分配系统和方法
CN110505164A (zh) * 2019-07-25 2019-11-26 联想(北京)有限公司 虚拟设备的处理方法及电子设备
WO2020093976A1 (zh) * 2018-11-05 2020-05-14 南京中兴软件有限责任公司 一种资源变更的方法及装置、设备、存储介质
CN114363185A (zh) * 2022-03-17 2022-04-15 阿里云计算有限公司 虚拟资源处理方法以及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120072240A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 네트워크 가상화 기술을 이용하여 가상 전용망을 구성하기 위한 장치 및 그 방법
CN102368725B (zh) * 2011-09-09 2013-11-27 北京东方网信科技股份有限公司 一种多网卡的数据接收方法及系统
CN106170744B (zh) * 2014-12-31 2019-07-19 华为技术有限公司 虚拟机能耗确定方法、物理机和网络系统
CN107306230B (zh) * 2016-04-18 2020-12-29 中兴通讯股份有限公司 一种网络资源部署的方法、装置、控制器及核心网设备
CN105827523B (zh) * 2016-06-03 2019-04-30 无锡华云数据技术服务有限公司 一种在云存储环境中对多租户的带宽实现动态调整的虚拟网关
CN110661654B (zh) * 2019-09-19 2023-02-28 北京浪潮数据技术有限公司 一种网络带宽资源分配方法、装置、设备及可读存储介质
CN113486036B (zh) * 2021-07-07 2023-12-29 广州博冠信息科技有限公司 虚拟资源管理方法及装置、电子设备和存储介质
CN113918280A (zh) * 2021-09-28 2022-01-11 北京六方云信息技术有限公司 虚拟机资源的动态调整方法、终端设备以及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082612A1 (en) * 2012-09-17 2014-03-20 International Business Machines Corporation Dynamic Virtual Machine Resizing in a Cloud Computing Infrastructure
CN107306234A (zh) * 2016-04-20 2017-10-31 北京亿阳信通科技有限公司 一种云平台资源分配系统和方法
CN107222349A (zh) * 2017-06-23 2017-09-29 北京三快在线科技有限公司 一种配置虚拟机网卡速率的方法及装置
WO2020093976A1 (zh) * 2018-11-05 2020-05-14 南京中兴软件有限责任公司 一种资源变更的方法及装置、设备、存储介质
CN110505164A (zh) * 2019-07-25 2019-11-26 联想(北京)有限公司 虚拟设备的处理方法及电子设备
CN114363185A (zh) * 2022-03-17 2022-04-15 阿里云计算有限公司 虚拟资源处理方法以及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LUO JUAN, LI YUE-YANG: "Dynamical Resource Allocation Algorithm Research in Network Virtualization", JOURNAL ON COMMUNICATIONS, RENMIN YOUDIAN CHUBANSHE, BEIJING, CN, vol. 32, no. 7, 31 July 2011 (2011-07-31), CN , pages 64 - 70, XP093092671, ISSN: 1000-436X *

Also Published As

Publication number Publication date
CN114363185A (zh) 2022-04-15
CN114363185B (zh) 2022-10-04

Similar Documents

Publication Publication Date Title
WO2023174184A1 (zh) 虚拟资源处理方法以及装置
US11374995B2 (en) Multimedia file processing
US10120820B2 (en) Direct memory access transmission control method and apparatus
WO2023005748A1 (zh) 数据处理方法以及装置
EP4024763A1 (en) Network congestion control method, node, system and storage medium
CN112486074B (zh) 数据处理系统、方法及装置
US10360913B2 (en) Speech recognition method, device and system based on artificial intelligence
CN111538605B (zh) 一种分布式数据访问层中间件及命令执行方法和装置
CN113285931B (zh) 流媒体的传输方法、流媒体服务器及流媒体系统
CN112132942B (zh) 一种三维场景漫游实时渲染方法
CN112153415B (zh) 一种视频转码方法、装置、设备及存储介质
JP2022546108A (ja) 情報処理方法、装置、設備及びコンピュータ読み取り可能な記憶媒体
CN105812439A (zh) 一种音频传输方法及装置
CN114595167A (zh) 分布式缓存系统、方法以及装置
KR101403935B1 (ko) 마이크로-서버 클러스터 기반의 적응형 동영상 스트리밍 서버
CN109951532B (zh) 一种基于dpdk的流量模型自动变换装置
CN111680791A (zh) 适用于异构环境中的通信方法、装置、系统
CN116244231A (zh) 一种数据传输方法、装置、系统、电子设备及存储介质
CN114756312B (zh) 用于对本地服务进行远程协助优化的系统和方法
WO2015101344A1 (zh) 一种终端上网的分配方法及装置
CN114221870B (zh) 用于服务器的带宽分配方法和装置
CN111432384B (zh) 用于具有录音功能设备的大数据量音频蓝牙实时传输方法
CN116561202A (zh) 一种对象序列化处理的方法和装置
CN113297110A (zh) 数据采集系统、方法以及装置
CN113391985A (zh) 资源分配方法及装置

Legal Events

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

Ref document number: 23769688

Country of ref document: EP

Kind code of ref document: A1