[go: up one dir, main page]

CN103414535A - Data sending method, data receiving method and relevant devices - Google Patents

Data sending method, data receiving method and relevant devices Download PDF

Info

Publication number
CN103414535A
CN103414535A CN2013103302174A CN201310330217A CN103414535A CN 103414535 A CN103414535 A CN 103414535A CN 2013103302174 A CN2013103302174 A CN 2013103302174A CN 201310330217 A CN201310330217 A CN 201310330217A CN 103414535 A CN103414535 A CN 103414535A
Authority
CN
China
Prior art keywords
formation
user
network interface
interface card
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013103302174A
Other languages
Chinese (zh)
Other versions
CN103414535B (en
Inventor
朱国庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310330217.4A priority Critical patent/CN103414535B/en
Publication of CN103414535A publication Critical patent/CN103414535A/en
Application granted granted Critical
Publication of CN103414535B publication Critical patent/CN103414535B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了数据发送方法和数据接收方法及相关装置。一种数据发送方法可包括:基于第一用户态虚拟内存空间地址,将待发送的第一数据写入第一内核态物理内存空间地址;向虚拟网卡发送第一数据发送指令,以便于虚拟网卡在确定出与K个用户态网卡队列标识所表示的K个用户态网卡队列具有一一映射关系的K个虚拟网卡队列之后,指示N个物理网卡从与第一用户态虚拟内存空间地址具有映射关系的第一内核态物理内存空间地址,读取出第一数据,并基于与K个虚拟网卡队列具有一一映射关系的K个物理网卡队列发送第一数据。本发明实施例提供的技术方案有利于提高物理网卡聚合后的带宽利用率。

The embodiment of the invention discloses a data sending method, a data receiving method and related devices. A data sending method may include: based on the first user-mode virtual memory space address, writing the first data to be sent to the first kernel-mode physical memory space address; sending the first data sending instruction to the virtual network card, so that the virtual network card After determining the K virtual network card queues that have a one-to-one mapping relationship with the K user state network card queues represented by the K user state network card queue identifiers, instruct the N physical network cards to have a mapping with the first user state virtual memory space address The address of the first kernel state physical memory space of the relationship, reads the first data, and sends the first data based on the K physical network card queues that have a one-to-one mapping relationship with the K virtual network card queues. The technical solutions provided by the embodiments of the present invention are beneficial to improving the utilization rate of bandwidth after aggregation of physical network cards.

Description

Data transmission method for uplink and data receive method and relevant apparatus
Technical field
The present invention relates to communication technical field, be specifically related to data transmission method for uplink and data receive method and relevant apparatus.
Background technology
Along with developing rapidly of computer network bandwidth, how quick, the complete network packet of catching is the basis that efficient forwarding data bag and accurate analysis are processed network message in high speed network environment.Because special-purpose network message processing network interface card is expensive and lack flexibility, upper at the computing node (as server) of the operating systems such as operation Linux, by common network interface card, realize just becoming particularly important based on the high-speed message capture systems of software.
Yet the limited bandwidth of single common network interface card, be difficult to reach the requirement of high-speed message system.In some prior aries by the aggregation of links technology a plurality of network card bindings together, can be with the bandwidth of a kind of cheapness, effective method extended network equipment, improve flexibility and the availability of network, thereby reach the requirement of high-performance network data bag capture systems.Wherein, the polylith network interface card can obtain the bandwidth be doubled and redoubled after such as aggregation of links technology such as bonding, bundling.But, in the situation that some for example parcel is as basic load in network, the transfer rate of each physical network card may be far below speed limit so that condensate also far can't reach the bandwidth of expection, bandwidth availability ratio may be lower.
Summary of the invention
The embodiment of the present invention provides data transmission method for uplink and data receive method and relevant apparatus, to the bandwidth availability ratio after the polymerization of raising physical network card.
First aspect present invention provides a kind of data transmission method for uplink, can comprise:
Based on first user state virtual memory space address, the first data to be sent are write to the first kernel state physical memory space address, wherein, described first user state virtual memory space address and described the first kernel state physical memory space address have mapping relations;
To Microsoft Loopback Adapter, send the first data and send instruction, wherein, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, wherein, described the first data send instruction and carry K user's state network interface card queue identity and described first user state virtual memory space address, so that described Microsoft Loopback Adapter is after determining K the user state network interface card formation represented with described K user's state network interface card queue identity and having K Microsoft Loopback Adapter formation of mapping relations one by one, indicate a described N physical network card from described first user state virtual memory space address, having the described first kernel state physical memory space address of mapping relations, read out described the first data, and send described the first data based on described K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, described K and N are positive integer.
In conjunction with first aspect, in the possible execution mode of the first,
Describedly to Microsoft Loopback Adapter, send the first data and also comprise before sending instruction:
Generate the formation of M user's state network interface card;
Set up M Microsoft Loopback Adapter formation and described M user's state network interface card formation mapping relations one by one;
Wherein, the formation of described K user's state network interface card is the part or all of user's state network interface card formation among the formation of described M user's state network interface card; A described M physical network card formation and described M Microsoft Loopback Adapter formation has mapping relations one by one; Described K physical network card formation is the part or all of physical network card formation among described M physical network card formation, and described K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among described M Microsoft Loopback Adapter formation; Described M physical network card formation is the physical network card formation that a described N physical network card is corresponding, and described M is the positive integer that is more than or equal to described K.
In conjunction with the possible execution mode of the first of first aspect, in the possible execution mode of the second, described first user state virtual memory space address is the first client computer guest virtual memory space address, described the first kernel state physical memory space address is a guest physical memory space address, and described K user's state network interface card queue identity is K guest user's state network interface card queue identity.
The possible execution mode of the second in conjunction with the possible execution mode of the first of first aspect or first aspect or first aspect, in the third possible execution mode, in described Microsoft Loopback Adapter formation, record queue size, current descriptor pointer and available descriptor quantity; And/or, in the formation of described user's state network interface card, record queue size, current descriptor pointer and available descriptor quantity.
Second aspect present invention provides a kind of data transmission method for uplink, can comprise:
Receive the first data of self virtualizing machine to send instruction, described the first data send instruction and carry K client computer guest user state network interface card queue identity and a described guest physical memory space address, the client layer of described virtual machine is based on a guest virtual memory space address, the first data to be sent are write to a guest physical memory space address, and a described guest virtual memory space address and a described guest physical memory space address have mapping relations;
The guest physical memory space address that the first data transmission instruction is carried replaces with the first host Host virtual memory space address, and described K guest user's state network interface card queue identity that the first data transmission instruction is carried replaces with K Host user's state network interface card queue identity, wherein, a described guest physical memory space address and a described Host virtual memory space address have mapping relations, described K K Host user's state network interface card formation that Host user's state network interface card queue identity is represented, K the guest user state network interface card formation represented with described K guest user's state network interface card queue identity has mapping relations,
To Microsoft Loopback Adapter, forward the first data that have been replaced a described guest virtual memory space address and described K guest user's state network interface card queue identity and send instruction, so that described Microsoft Loopback Adapter is in the mapping relations one by one according between the network interface card formation of Host user's state and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K Host user's state network interface card formation represented with described K Host user's state network interface card queue identity have mapping relations one by one, indicate N physical network card from a described Host virtual memory space address, having a Host physical memory space address of mapping relations, read out described the first data, and send described the first data based on described K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, wherein, described K and N are positive integer, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms.
In conjunction with second aspect, in the possible execution mode of the first, described described K guest user's state network interface card queue identity that the first data transmission instruction is carried also comprises before replacing with K Host user's state network interface card queue identity:
Generate the formation of M Host user's state network interface card; Set up M Microsoft Loopback Adapter formation and described M Host user's state network interface card formation mapping relations one by one; Wherein, a M physical network card formation and described M Microsoft Loopback Adapter formation has mapping relations one by one; The formation of described K Host user's state network interface card is the part or all of Host user's state network interface card formation among the formation of described M Host user's state network interface card, described K physical network card formation is the part or all of physical network card formation among described M physical network card formation, and described K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among described M Microsoft Loopback Adapter formation; Described M physical network card formation is the physical network card formation that a described N physical network card is corresponding, and described M is the positive integer that is more than or equal to described K.
In conjunction with the possible execution mode of the first of second aspect or second aspect, in the possible execution mode of the second, in described Microsoft Loopback Adapter formation, record queue size, current descriptor pointer and available descriptor quantity; And/or, in the formation of described Host user's state network interface card, record queue size, current descriptor pointer and available descriptor quantity; And/or, in the formation of described guest user's state network interface card, record queue size, current descriptor pointer and available descriptor quantity.
Third aspect present invention provides a kind of data receive method, can comprise:
To Microsoft Loopback Adapter, send the first data receiver query statement;
The the first data reception acknowledgement instruction sent if receive described Microsoft Loopback Adapter response the first data receiver query statement, inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if described available descriptor quantity is greater than 0, based on described current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, described the second data are that one of them physical network card in a described N physical network card receives based on the first physical network card formation, wherein, described first user state network interface card formation and described the first physical network card formation have mapping relations.
In conjunction with the third aspect, in the possible execution mode of the first, described to Microsoft Loopback Adapter transmission the first data receiver query statement, comprising: to Microsoft Loopback Adapter, send the first data receiver query statement that has carried first user state network interface card queue identity.
Fourth aspect present invention provides a kind of data receive method, can comprise:
Receive the first data receiver query statement of self virtualizing machine;
To described Microsoft Loopback Adapter, forward the first data receiver query statement;
The the first data reception acknowledgement instruction sent if receive described Microsoft Loopback Adapter response the first data receiver query statement, to described virtual machine, forward the first data receiver query statement, so that described virtual machine inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if described available descriptor quantity is greater than 0, based on described current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, described the second data are that one of them physical network card in a described N physical network card receives based on the first physical network card formation, wherein, described first user state network interface card formation and described the first physical network card formation have mapping relations.
In conjunction with fourth aspect, in the possible execution mode of the first,
The first data receiver query statement has carried the first client computer guest user state network interface card queue identity;
Described method also comprises: guest user's state network interface card queue identity that the first data receiver query statement is carried replaces with the first host Host user state network interface card queue identity, wherein, Host user's state network interface card formation that described Host user's state network interface card queue identity is represented, a guest user state network interface card formation represented with described guest user's state network interface card queue identity has mapping relations;
Described to described Microsoft Loopback Adapter forwarding the first data receiver query statement, comprising:
To described Microsoft Loopback Adapter, forward the first data that have been replaced described guest user's state network interface card queue identity and send instruction.
Fifth aspect present invention provides a kind of data sending device, can comprise:
Write device, be used for based on first user state virtual memory space address, the first data to be sent are write to the first kernel state physical memory space address, and wherein, described first user state virtual memory space address and described the first kernel state physical memory space address have mapping relations;
Transmitter, send instruction for to Microsoft Loopback Adapter, sending the first data, and wherein, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, wherein, described the first data send instruction and carry K user's state network interface card queue identity and described first user state virtual memory space address, so that described Microsoft Loopback Adapter is after determining K the user state network interface card formation represented with described K user's state network interface card queue identity and having K Microsoft Loopback Adapter formation of mapping relations one by one, indicate a described N physical network card from described first user state virtual memory space address, having the described first kernel state physical memory space address of mapping relations, read out described the first data, and send described the first data based on described K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, described K and N are positive integer.
In conjunction with the 5th aspect, in the possible execution mode of the first,
Described data sending device also comprises:
Generate mapper, before at described transmitter, to Microsoft Loopback Adapter, sending data transmission instruction, generate the formation of M user's state network interface card; Set up M Microsoft Loopback Adapter formation and described M user's state network interface card formation mapping relations one by one; Wherein, the formation of described K user's state network interface card is the part or all of user's state network interface card formation among the formation of described M user's state network interface card; A described M physical network card formation and described M Microsoft Loopback Adapter formation has mapping relations one by one; Described K physical network card formation is the part or all of physical network card formation among described M physical network card formation, and described K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among described M Microsoft Loopback Adapter formation; Described M physical network card formation is the physical network card formation that a described N physical network card is corresponding, and described M is the positive integer that is more than or equal to described K.
The possible execution mode of the first in conjunction with the 5th aspect or the 5th aspect, in the possible execution mode of the second, described first user state virtual memory space address is the first client computer guest virtual memory space address, described the first kernel state physical memory space address is a guest physical memory space address, and described K user's state network interface card queue identity is K guest user's state network interface card queue identity.
The possible execution mode of the second in conjunction with the possible execution mode of the first of the 5th aspect or the 5th aspect or the 5th aspect, in the third possible execution mode, in described Microsoft Loopback Adapter formation, record queue size, current descriptor pointer and available descriptor quantity; And/or, in the formation of described user's state network interface card, record queue size, current descriptor pointer and available descriptor quantity.
Sixth aspect present invention provides a kind of data sending device, can comprise:
Receiver, for the first data that receive self virtualizing machine, send instruction, described the first data send instruction and carry K client computer guest user state network interface card queue identity and a described guest physical memory space address, the client layer of described virtual machine is based on a guest virtual memory space address, the first data to be sent are write to a guest physical memory space address, and a described guest virtual memory space address and a described guest physical memory space address have mapping relations;
Transducer, for the guest physical memory space address that the first data transmission instruction is carried, replace with the first host Host virtual memory space address, and described K guest user's state network interface card queue identity that the first data transmission instruction is carried replaces with K Host user's state network interface card queue identity, wherein, a described guest physical memory space address and a described Host virtual memory space address have mapping relations, described K K Host user's state network interface card formation that Host user's state network interface card queue identity is represented, K the guest user state network interface card formation represented with described K guest user's state network interface card queue identity has mapping relations,
Transponder, for to Microsoft Loopback Adapter, forwarding the first data that have been replaced a described guest virtual memory space address and described K guest user's state network interface card queue identity, send instruction, so that described Microsoft Loopback Adapter is in the mapping relations one by one according between the network interface card formation of Host user's state and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K Host user's state network interface card formation represented with described K Host user's state network interface card queue identity have mapping relations one by one, indicate N physical network card from a described Host virtual memory space address, having a Host physical memory space address of mapping relations, read out described the first data, and send described the first data based on described K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, wherein, described K and N are positive integer, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms.
In conjunction with the 6th aspect, at the possible execution mode of the first,
Described data sending device also comprises:
Generate mapper, before for described K guest user's state network interface card queue identity of the first data transmission instruction being carried at described transducer, replacing with K Host user's state network interface card queue identity, generate the formation of M Host user's state network interface card; Set up M Microsoft Loopback Adapter formation and described M Host user's state network interface card formation mapping relations one by one; Wherein, a M physical network card formation and described M Microsoft Loopback Adapter formation has mapping relations one by one; The formation of described K Host user's state network interface card is the part or all of Host user's state network interface card formation among the formation of described M Host user's state network interface card, described K physical network card formation is the part or all of physical network card formation among described M physical network card formation, and described K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among described M Microsoft Loopback Adapter formation; Described M physical network card formation is the physical network card formation that a described N physical network card is corresponding, and described M is the positive integer that is more than or equal to described K.
Seventh aspect present invention provides a kind of data sink, can comprise:
Transmitter, for sending the first data receiver query statement to Microsoft Loopback Adapter;
Reader, if the first data reception acknowledgement instruction sent for receiving described Microsoft Loopback Adapter response the first data receiver query statement, inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if described available descriptor quantity is greater than 0, based on described current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, described the second data are that one of them physical network card in a described N physical network card receives based on the first physical network card formation, wherein, described first user state network interface card formation and described the first physical network card formation have mapping relations.
In conjunction with the 7th aspect, in the possible execution mode of the first,
Described transmitter specifically for, to Microsoft Loopback Adapter, send the first data receiver query statement carried first user state network interface card queue identity.
Eighth aspect present invention provides a kind of data sink, can comprise:
Receiver, be used to receiving the first data receiver query statement of self virtualizing machine;
Transponder, for forwarding the first data receiver query statement to described Microsoft Loopback Adapter, the the first data reception acknowledgement instruction sent if receive described Microsoft Loopback Adapter response the first data receiver query statement, to described virtual machine, forward the first data receiver query statement, so that described virtual machine inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if described available descriptor quantity is greater than 0, based on described current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, described the second data are that one of them physical network card in a described N physical network card receives based on the first physical network card formation, wherein, described first user state network interface card formation and described the first physical network card formation have mapping relations.
In conjunction with eight aspect, in the possible execution mode of the first, the first data receiver query statement has carried guest user's state network interface card queue identity; Described data sink also comprises:
Transducer, for guest user's state network interface card queue identity that the first data receiver query statement is carried, replace with Host user's state network interface card queue identity, wherein, Host user's state network interface card formation that described Host user's state network interface card queue identity is represented, a guest user state network interface card formation represented with described guest user's state network interface card queue identity has mapping relations;
To described Microsoft Loopback Adapter, forward the first data receiver query statement aspect, described transponder specifically sends instruction for to described Microsoft Loopback Adapter, forwarding the first data that have been replaced described guest user's state network interface card queue identity.
Ninth aspect present invention provides a kind of computing node, can comprise:
Hardware layer, operate in the host Host on described hardware layer, operate in the virtual machine on described Host; Wherein, described hardware layer comprises N physical network card, and N physical network card polymerization forms Microsoft Loopback Adapter;
The client layer of described virtual machine, be used for based on the first client computer guest virtual memory space address, the first data to be sent are write to a guest physical memory space address, wherein, a described guest virtual memory space address and a described guest physical memory space address have mapping relations; Send the first data and send instruction, wherein, described the first data send instruction and carry K guest user's state network interface card queue identity and a described guest virtual memory space address;
The inner nuclear layer of described virtual machine, replace with a guest physical memory space address for the guest virtual memory space address that the first data transmission instruction is carried; The first data that transmission has been replaced a guest virtual memory space address send instruction;
The client layer of described Host, for receiving the first data that have been replaced a guest virtual memory space address, send instruction, the guest physical memory space address that the first data transmission instruction is carried replaces with a Host virtual memory space address, and described K guest user's state network interface card queue identity that the first data transmission instruction is carried replaces with K Host user's state network interface card queue identity, wherein, a described guest physical memory space address and a described Host virtual memory space address have mapping relations, described K K Host user's state network interface card formation that Host user's state network interface card queue identity is represented, K the guest user state network interface card formation represented with described K guest user's state network interface card queue identity has mapping relations,
To Microsoft Loopback Adapter, forward the first data that have been replaced a described guest virtual memory space address and described K guest user's state network interface card queue identity and send instruction, so that described Microsoft Loopback Adapter is in the mapping relations one by one according between the network interface card formation of Host user's state and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K Host user's state network interface card formation represented with described K Host user's state network interface card queue identity have mapping relations one by one, indicate N physical network card from a described Host virtual memory space address, having a Host physical memory space address of mapping relations, read out described the first data, and send described the first data based on described K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, wherein, described K and N are positive integer.
In conjunction with the 9th aspect, in the possible execution mode of the first,
The client layer of described virtual machine also for, to Microsoft Loopback Adapter, send the first data and generate the formation of M user's state network interface card before sending instruction;
Set up M Microsoft Loopback Adapter formation and described M user's state network interface card formation mapping relations one by one;
Wherein, the formation of described K user's state network interface card is the part or all of user's state network interface card formation among the formation of described M user's state network interface card; A described M physical network card formation and described M Microsoft Loopback Adapter formation has mapping relations one by one; Described K physical network card formation is the part or all of physical network card formation among described M physical network card formation, and described K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among described M Microsoft Loopback Adapter formation; Described M physical network card formation is the physical network card formation that a described N physical network card is corresponding, and described M is the positive integer that is more than or equal to described K.
The possible execution mode of the first in conjunction with the 9th aspect or the 9th aspect, in the possible execution mode of the second, the client layer of described Host also for, the first data are sent before described K guest user's state network interface card queue identity that instruction carries replace with K Host user's state network interface card queue identity, generate the formation of M Host user's state network interface card; Set up M Microsoft Loopback Adapter formation and described M Host user's state network interface card formation mapping relations one by one; Wherein, a M physical network card formation and described M Microsoft Loopback Adapter formation has mapping relations one by one; The formation of described K Host user's state network interface card is the part or all of Host user's state network interface card formation among the formation of described M Host user's state network interface card, described K physical network card formation is the part or all of physical network card formation among described M physical network card formation, and described K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among described M Microsoft Loopback Adapter formation; Described M physical network card formation is the physical network card formation that a described N physical network card is corresponding, and described M is the positive integer that is more than or equal to described K.
The possible execution mode of the second in conjunction with the possible execution mode of the first of the 9th aspect or the 9th aspect or the 9th aspect, in the third possible execution mode, in described Microsoft Loopback Adapter formation, record queue size, current descriptor pointer and available descriptor quantity; And/or, in the formation of described Host user's state network interface card, record queue size, current descriptor pointer and available descriptor quantity; And/or, in the formation of described guest user's state network interface card, record queue size, current descriptor pointer and available descriptor quantity.
Tenth aspect present invention provides a kind of computing node, can comprise: hardware layer, operate in the host Host on described hardware layer, operate in the virtual machine on described Host; Wherein, described hardware layer comprises N physical network card, and N physical network card polymerization forms Microsoft Loopback Adapter;
Described virtual machine, for sending the first data receiver query statement to Microsoft Loopback Adapter, the the first data reception acknowledgement instruction sent if receive described Microsoft Loopback Adapter response the first data receiver query statement, inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if described available descriptor quantity is greater than 0, based on described current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, described the second data are that one of them physical network card in a described N physical network card receives based on the first physical network card formation, wherein, described first user state network interface card formation and described the first physical network card formation have mapping relations,
The client layer of described Host, for receiving the first data receiver query statement from described virtual machine, to described Microsoft Loopback Adapter, forward the first data receiver query statement, the the first data reception acknowledgement instruction sent if receive described Microsoft Loopback Adapter response the first data receiver query statement, to described virtual machine, forward the first data receiver query statement, so that described virtual machine inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if described available descriptor quantity is greater than 0, based on described current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, described the second data are that one of them physical network card in a described N physical network card receives based on the first physical network card formation, wherein, described first user state network interface card formation and described the first physical network card formation have mapping relations.
In conjunction with the tenth aspect, in the possible execution mode of the first,
Described virtual machine carries first user state network interface card queue identity to the first data receiver query statement that Microsoft Loopback Adapter sends;
The client layer of described Host also for, the first client computer guest user state network interface card queue identity that the first data receiver query statement received is carried replaces with Host user's state network interface card queue identity, Host user's state network interface card formation that wherein said Host user's state network interface card queue identity is represented, a guest user state network interface card formation represented with described guest user's state network interface card queue identity has mapping relations;
To described Microsoft Loopback Adapter, forward the first data receiver query statement aspect, the client layer of described Host specifically for, to described Microsoft Loopback Adapter, forward the first data that have been replaced described guest user's state network interface card queue identity and send instruction.
Can find out, in the technical scheme that some embodiments of the invention provide, due to the polymerization of polylith physical network card is formed to Microsoft Loopback Adapter, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, owing to having set up the formation of N user's state network interface card, mapping relations one by one between N Microsoft Loopback Adapter formation and N physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, can facilitate the on-premise network redundancy feature, be conducive to obtain higher concurrency in high speed network environment.
In the technical scheme that other embodiment of the present invention provide, due to the polymerization of polylith physical network card is formed to Microsoft Loopback Adapter, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, due to the mapping relations one by one of having set up between the network interface card formation of user's state and physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, can facilitate the on-premise network redundancy feature, be conducive to obtain higher concurrency in high speed network environment.
The accompanying drawing explanation
In order to be illustrated more clearly in the embodiment of the present invention or technical scheme of the prior art, below will the accompanying drawing of required use in embodiment or description of the Prior Art be briefly described, apparently, accompanying drawing in the following describes is only some embodiments of the present invention, for those of ordinary skills, under the prerequisite of not paying creative work, can also obtain according to these accompanying drawings other accompanying drawing.
Fig. 1 is the schematic diagram of a kind of network interface card paradigmatic system layout structure of providing of the embodiment of the present invention;
Fig. 2 is the schematic flow sheet of a kind of data transmission method for uplink of providing of the embodiment of the present invention;
Fig. 3 is the schematic flow sheet of the another kind of data transmission method for uplink that provides of the embodiment of the present invention;
Fig. 4 is the schematic diagram of the another kind of network interface card paradigmatic system layout structure that provides of the embodiment of the present invention;
Fig. 5 is the schematic diagram of the another kind of network interface card paradigmatic system layout structure that provides of the embodiment of the present invention;
Fig. 6 is the schematic flow sheet of a kind of data receive method of providing of the embodiment of the present invention;
Fig. 7 is the schematic flow sheet of a kind of data receive method of providing of the embodiment of the present invention;
Fig. 8 is the schematic diagram of a kind of data sending device of providing of the embodiment of the present invention;
Fig. 9 is the schematic diagram of the another kind of data sending device that provides of the embodiment of the present invention;
Figure 10 is the schematic diagram of a kind of data sink of providing of the embodiment of the present invention;
Figure 11 is the schematic diagram of the another kind of data sink that provides of the embodiment of the present invention;
Figure 12 is the schematic diagram of a kind of computing node of providing of the embodiment of the present invention;
Figure 13 is the schematic diagram of the another kind of computing node that provides of the embodiment of the present invention;
Figure 14 is the schematic diagram of the another kind of computing node that provides of the embodiment of the present invention.
Embodiment
The embodiment of the present invention provides data transmission method for uplink and data receive method and relevant apparatus, to the bandwidth availability ratio after the polymerization of raising physical network card.
In order to make those skilled in the art person understand better the present invention program, below in conjunction with the accompanying drawing in the embodiment of the present invention, technical scheme in the embodiment of the present invention is clearly and completely described, obviously, described embodiment is only the embodiment of a part of the present invention, rather than whole embodiment.Based on the embodiment in the present invention, those of ordinary skills, not making under the creative work prerequisite the every other embodiment obtained, should belong to the scope of protection of the invention.
Below be elaborated respectively.
Term " first " in specification of the present invention and claims and above-mentioned accompanying drawing, " second ", " the 3rd " " 4th " etc. (if existence) are be used to distinguishing similar object, and needn't be used to describing specific order or precedence.The data that should be appreciated that such use suitably can exchanged in situation, so as embodiments of the invention described herein for example can with except diagram here or describe those order enforcement.In addition, term " comprises " and " having " and their any distortion, intention is to cover not exclusive comprising, for example, comprised those steps or unit that process, method, system, product or the equipment of series of steps or unit are not necessarily limited to clearly list, but can comprise clearly do not list or for these processes, method, product or equipment intrinsic other step or unit.
To facilitate understanding of the present embodiment of the invention, at first at this, introduce the several key elements that can introduce in embodiment of the present invention description;
Virtual machine VM:
By software virtual machine, can on a physical computer, simulate one or many virtual computers, and these virtual machines carry out work just as real computer, can installing operating system and application program on virtual machine, virtual machine is the addressable network resource also.For for the application program of moving in virtual machine, virtual machine similarly is in real computer, to carry out work.
Hardware layer:
The hardware platform of virtualized environment operation.Wherein, hardware layer can comprise multiple hardwares, for example the hardware layer of certain computing node can comprise central processing unit (CPUCentral Processing Unit) and internal memory, can also comprise network interface card, memory etc. high speed/low speed I/O (I/O, Input/Output) equipment, hardware layer also may comprise the miscellaneous equipment with particular procedure function certainly.
The I/O virtual functions:
Has the I/O equipment of I/O virtual functions after starting the I/O virtual functions, can fictionalize corresponding physical function (PF, Physical Function) equipment and several virtual functions (VF, Virtual Function) equipment, wherein, the PF equipment that I/O equipment fictionalizes mainly is in charge of function, and VF equipment mainly is responsible for processing capacity.
Host (Host):
As management level, in order to management, the distribution that completes hardware resource; For virtual machine presents the virtual hardware platform; Realize scheduling and the isolation of virtual machine.Wherein, Host may be monitor of virtual machine (VMM); In addition, VMM and 1 franchise virtual machine coordinate sometimes, and both are in conjunction with forming Host.Wherein, the virtual hardware platform provides various hardware resources to each virtual machine of operation on it, as virtual cpu, internal memory, virtual disk, Microsoft Loopback Adapter etc. are provided.Wherein, this virtual disk can corresponding Host a file or a logical block equipment.Virtual machine operates in Host on the virtual hardware platform of its preparation, the one or more virtual machines of the upper operation of Host.
As shown in Figure 1, under application scenes, based on the link aggregation technology, at kernel, can construct 1 Microsoft Loopback Adapter equipment to physical network card after according to the related protocol polymerization, wherein, path to this Microsoft Loopback Adapter transceiving data bag can first pass through the core network protocol stack, then be the system call layer, finally just arrive user's state application program.As can be seen from Figure 1, this mode may have the following factor can have influence on the performance of this Microsoft Loopback Adapter transmitting-receiving bag: the multithreading of user's state can't correspond to the transmitting-receiving formation of hardware, thereby can't realize that every formation is tied to a specific CPU; Data copy between kernel state and user's state; Transmitting-receiving to each packet has certain system call expense; The multilayer of data path process protocol stack is such as iso-ip Internetworking protocol ISO-IP (IP, Internet Protocol) layer and transport layer etc., and this mode also can be brought more processing expenditure.
An embodiment of a kind of data transmission method for uplink of the present invention, wherein, a kind of data transmission method for uplink can comprise: based on first user state virtual memory space address, the first data to be sent are write to the first kernel state physical memory space address, wherein, first user state virtual memory space address and the first kernel state physical memory space address have mapping relations, to Microsoft Loopback Adapter, send the first data and send instruction, wherein, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, wherein, the first data send instruction and carry K user's state network interface card queue identity and first user state virtual memory space address, so that above-mentioned Microsoft Loopback Adapter is after determining K the user state network interface card formation represented with above-mentioned K user's state network interface card queue identity and having K Microsoft Loopback Adapter formation of mapping relations one by one, indicate an above-mentioned N physical network card from first user state virtual memory space address, having the first kernel state physical memory space address of mapping relations, read out the first data, and send the first data based on above-mentioned K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, above-mentioned K and N are positive integer.
Refer to Fig. 2, Fig. 2 is the schematic flow sheet of a kind of data transmission method for uplink of providing of one embodiment of the present of invention.As shown in Figure 2, a kind of data transmission method for uplink of providing of one embodiment of the present of invention can comprise following content:
201, based on first user state virtual memory space address, the first data to be sent are write to the first kernel state physical memory space address, wherein, first user state virtual memory space address and the first kernel state physical memory space address have mapping relations.
202, to Microsoft Loopback Adapter, send the first data and send instruction, wherein, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, the first data send instruction and carry K user's state network interface card queue identity and first user state virtual memory space address, so that above-mentioned Microsoft Loopback Adapter is after determining K the user state network interface card formation represented with above-mentioned K user's state network interface card queue identity and having K Microsoft Loopback Adapter formation of mapping relations one by one, indicate an above-mentioned N physical network card from first user state virtual memory space address, having the first kernel state physical memory space address of mapping relations, read out the first data, and send the first data based on above-mentioned K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, above-mentioned K and N are positive integer.
In some embodiments of the invention, above-mentioned, before sending instruction, above-mentioned Microsoft Loopback Adapter transmission data can also comprise: before to Microsoft Loopback Adapter, sending data transmission instruction, also comprise: generate the formation of M user's state network interface card; Set up M Microsoft Loopback Adapter formation and above-mentioned M user's state network interface card formation mapping relations one by one; Wherein the formation of above-mentioned K user's state network interface card is the part or all of user's state network interface card formation among the formation of above-mentioned M user's state network interface card; An above-mentioned M physical network card formation and above-mentioned M Microsoft Loopback Adapter formation has mapping relations one by one; Above-mentioned K physical network card formation is the part or all of physical network card formation among above-mentioned M physical network card formation, and above-mentioned K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among above-mentioned M Microsoft Loopback Adapter formation; Wherein, above-mentioned M physical network card formation is the physical network card formation that an above-mentioned N physical network card is corresponding, and above-mentioned M is the positive integer that is more than or equal to above-mentioned K.
Be understandable that, the above-mentioned steps of the present embodiment can specifically be implemented by virtual machine (as the client layer of virtual machine) or the objects such as client layer of Host, for example virtual machine (as the client layer of virtual machine) can be based on first user state virtual memory space address, the first data to be sent are write to the first kernel state physical memory space address, wherein, first user state virtual memory space address and the first kernel state physical memory space address have mapping relations, to Microsoft Loopback Adapter, send the first data and send instruction, wherein, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, wherein, the first data send instruction and carry K user's state network interface card queue identity and first user state virtual memory space address, so that above-mentioned Microsoft Loopback Adapter is after determining K the user state network interface card formation represented with above-mentioned K user's state network interface card queue identity and having K Microsoft Loopback Adapter formation of mapping relations one by one, indicate an above-mentioned N physical network card from first user state virtual memory space address, having the first kernel state physical memory space address of mapping relations, read out the first data, and send the first data based on above-mentioned K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, above-mentioned K and N are positive integer.
In some embodiments of the invention, for the virtual machine scene, but the formation of M client computer guest user state network interface card of above-mentioned M user's state network interface card formation.K user's state network interface card queue identity can be K guest user's state network interface card queue identity.Wherein, first user state virtual memory space address is a guest virtual memory space address, and the first kernel state physical memory space address is a guest physical memory space address.
Wherein, the client layer of Host can receive the first data of self virtualizing machine to send instruction, wherein the first data send instruction and carry K guest user's state network interface card queue identity and the first client computer guest physical memory space address, the client layer of above-mentioned virtual machine is based on a guest virtual memory space address, the first data to be sent are write to a guest physical memory space address, and a guest virtual memory space address and a guest physical memory space address have mapping relations, the guest physical memory space address that the first data transmission instruction is carried replaces with the first host Host virtual memory space address, and above-mentioned K guest user's state network interface card queue identity that the first data transmission instruction is carried replaces with K Host user's state network interface card queue identity, wherein, the one guest physical memory space address and a Host virtual memory space address have mapping relations, wherein, above-mentioned K K Host user's state network interface card formation that Host user's state network interface card queue identity is represented, K the guest user state network interface card formation represented with above-mentioned K guest user's state network interface card queue identity has mapping relations, to Microsoft Loopback Adapter, forward the first data that have been replaced a guest virtual memory space address and above-mentioned K guest user's state network interface card queue identity and send instruction, so that above-mentioned Microsoft Loopback Adapter is in the mapping relations one by one according between the network interface card formation of Host user's state and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K Host user's state network interface card formation represented with above-mentioned K Host user's state network interface card queue identity have mapping relations one by one, indicate N physical network card from a Host virtual memory space address, having a Host physical memory space address of mapping relations, read out the first data, and send the first data based on above-mentioned K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one.
In some embodiments of the invention, in above-mentioned Microsoft Loopback Adapter formation, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, record the information such as queue size, current descriptor pointer and available descriptor quantity in user's state network interface card formation (as the network interface card formation of guest user's state or the formation of Host user's state network interface card).In some embodiments of the invention, in the physical network card formation, can record the information such as queue size, current descriptor pointer and available descriptor quantity.
In some embodiments of the invention, with certain Microsoft Loopback Adapter formation, have certain user's state network interface card formation institute recorded informations of mapping relations, can be identical with this certain Microsoft Loopback Adapter formation institute recorded information or part is identical.With certain physics network interface card formation, have the information that the Microsoft Loopback Adapter formation of mapping relations is recorded, the information that can record with this certain physics network interface card formation is identical or part is identical.Wherein, have certain Host user's state network interface card formation institute recorded informations of mapping relations with certain Microsoft Loopback Adapter formation, can be identical with this certain Microsoft Loopback Adapter formation institute recorded information or part is identical; With certain Host user's state network interface card formation, have certain guest user's state network interface card formation institute recorded informations of mapping relations, can be identical with this certain Host user's state network interface card formation institute recorded information or part is identical.
Can find out, in the such scheme that the present embodiment provides, due to the polymerization of polylith physical network card is formed to Microsoft Loopback Adapter, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, owing to having set up the formation of N user's state network interface card, mapping relations one by one between N Microsoft Loopback Adapter formation and N physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, on-premise network redundancy feature easily, be conducive to obtain higher concurrency in high speed network environment, and if some physical network card formation is wherein broken down, but failover to remaining physical network card formation, work on, the fault emergency capability obtains greatly and improves.
Another embodiment of data transmission method for uplink of the present invention, wherein, another kind of data transmission method for uplink can comprise: can receive the first data of self virtualizing machine to send instruction, wherein, the first data send instruction and carry K guest user's state network interface card queue identity and the first client computer guest physical memory space address, the client layer of above-mentioned virtual machine is based on a guest virtual memory space address, the first data to be sent are write to a guest physical memory space address, the one guest virtual memory space address and a guest physical memory space address have mapping relations, the guest physical memory space address that the first data transmission instruction is carried replaces with the first host Host virtual memory space address, and above-mentioned K guest user's state network interface card queue identity that the first data transmission instruction is carried replaces with K Host user's state network interface card queue identity, the one guest physical memory space address and a Host virtual memory space address have mapping relations, above-mentioned K K Host user's state network interface card formation that Host user's state network interface card queue identity is represented, K the guest user state network interface card formation represented with above-mentioned K guest user's state network interface card queue identity has mapping relations, to Microsoft Loopback Adapter, forward the first data that have been replaced a guest virtual memory space address and above-mentioned K guest user's state network interface card queue identity and send instruction, so that above-mentioned Microsoft Loopback Adapter is in the mapping relations one by one according between the network interface card formation of Host user's state and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K Host user's state network interface card formation represented with above-mentioned K Host user's state network interface card queue identity have mapping relations one by one, indicate N physical network card from a Host virtual memory space address, having a Host physical memory space address of mapping relations, read out the first data, and send the first data based on above-mentioned K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, wherein, above-mentioned K and N are positive integer, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms.
Refer to Fig. 3, Fig. 3 is the schematic flow sheet of the another kind of data transmission method for uplink that provides of an alternative embodiment of the invention.As shown in Figure 3, the another kind of data transmission method for uplink that provides of an alternative embodiment of the invention can comprise following content:
301, receive the first data of self virtualizing machine to send instruction, wherein, the first data send instruction and carry K guest user's state network interface card queue identity and the first client computer guest physical memory space address, the client layer of above-mentioned virtual machine is based on a guest virtual memory space address, the first data to be sent are write to a guest physical memory space address, and a guest virtual memory space address and a guest physical memory space address have mapping relations;
302, the guest physical memory space address that the first data transmission instruction is carried replaces with the first host Host virtual memory space address, and above-mentioned K guest user's state network interface card queue identity that the first data transmission instruction is carried replaces with K Host user's state network interface card queue identity, the one guest physical memory space address and a Host virtual memory space address have mapping relations, above-mentioned K K Host user's state network interface card formation that Host user's state network interface card queue identity is represented, K the guest user state network interface card formation represented with above-mentioned K guest user's state network interface card queue identity has mapping relations,
303, to Microsoft Loopback Adapter, forward the first data that have been replaced a guest virtual memory space address and above-mentioned K guest user's state network interface card queue identity and send instruction, so that above-mentioned Microsoft Loopback Adapter is in the mapping relations one by one according between the network interface card formation of Host user's state and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K Host user's state network interface card formation represented with above-mentioned K Host user's state network interface card queue identity have mapping relations one by one, indicate N physical network card from a Host virtual memory space address, having a Host physical memory space address of mapping relations, read out the first data, and send the first data based on above-mentioned K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, wherein above-mentioned K and N are positive integer, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms.
In some embodiments of the invention, the first data are sent to above-mentioned K guest user's state network interface card queue identity that instruction carries and replace with K Host user's state network interface card queue identity and also can comprise before: generate the formation of M Host user's state network interface card; Set up M Microsoft Loopback Adapter formation and above-mentioned M Host user's state network interface card formation mapping relations one by one; Wherein, a M physical network card formation and above-mentioned M Microsoft Loopback Adapter formation has mapping relations one by one; The formation of above-mentioned K Host user's state network interface card is the part or all of Host user's state network interface card formation among the formation of above-mentioned M Host user's state network interface card, above-mentioned K physical network card formation is the part or all of physical network card formation among above-mentioned M physical network card formation, and above-mentioned K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among above-mentioned M Microsoft Loopback Adapter formation; Above-mentioned M physical network card formation is the physical network card formation that an above-mentioned N physical network card is corresponding, and above-mentioned M is the positive integer that is more than or equal to above-mentioned K.
In some embodiments of the invention, in above-mentioned Microsoft Loopback Adapter formation, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the formation of above-mentioned user's state network interface card, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the physical network card formation, can record the information such as queue size, current descriptor pointer and available descriptor quantity.
In some embodiments of the invention, with certain physics network interface card formation, have the information that the Microsoft Loopback Adapter formation of mapping relations is recorded, the information that can record with this certain physics network interface card formation is identical or part is identical.Wherein with certain Microsoft Loopback Adapter formation, have certain Host user's state network interface card formation institute recorded information of mapping relations, can be identical with this certain Microsoft Loopback Adapter formation institute recorded information or part is identical; With certain Host user's state network interface card formation, have certain guest user's state network interface card formation institute recorded informations of mapping relations, can be identical with this certain Host user's state network interface card formation institute recorded information or part is identical.
Can find out, in the such scheme that the present embodiment provides, due to the polymerization of polylith physical network card is formed to Microsoft Loopback Adapter, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, owing to having set up the formation of N user's state network interface card, mapping relations one by one between N Microsoft Loopback Adapter formation and N physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, on-premise network redundancy feature easily, be conducive to obtain higher concurrency in high speed network environment, and if some physical network card formation is wherein broken down, but failover to remaining physical network card formation, work on, the fault emergency capability obtains greatly and improves.
For ease of better understanding and implement the such scheme of the embodiment of the present invention, several application scenarioss of below giving an example are specifically described.
Referring to Fig. 4, the schematic diagram of a kind of network interface card paradigmatic system layout structure that Fig. 4 provides for one embodiment of the invention.The hardware layer of supposing computing node comprises network interface card NIC1 and network interface card NIC2, and wherein, network interface card NIC1 comprises that 4 physical network card formations 401, network interface card NIC2 comprise 2 physical network card formations 401.Network interface card NIC1 and network interface card NIC2 polymerization form a Microsoft Loopback Adapter 420.Wherein, by initialization operation, Microsoft Loopback Adapter 420 comprises with 6 physical network card formations 401 has set up 6 Microsoft Loopback Adapter formations 402 of mapping relations one by one.Client layer has generated 6 user's state network interface cards formation 403 equally; And the mapping relations one by one of the formation 403 of 6 user's state network interface cards and 6 Microsoft Loopback Adapter formations 402 have been set up.That is to say also have mapping relations one by one between 6 user's state network interface cards formation 403 and 6 physical network card formations 401.
In some embodiments of the invention, in each Microsoft Loopback Adapter formation 402, record the information such as this queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, record the information such as this queue size, current descriptor pointer and available descriptor quantity in each user's state network interface card formation 403.In some embodiments of the invention, in physical network card formation 401, can record the information such as this queue size, current descriptor pointer and available descriptor quantity.
In some embodiments of the invention, have with certain Microsoft Loopback Adapter formation 402 information that certain user's state network interface card formations 403 of mapping relations is recorded, the information that can record with this Microsoft Loopback Adapter formation 402 is identical or part is identical.Wherein, have with certain physics network interface card formation 401 information that the Microsoft Loopback Adapter formation 402 of mapping relations is recorded, the information that can record with this certain physics network interface card formation 401 is identical or part is identical.
For instance, if client layer (as certain user's application of client layer) needs to send the first data, it can be based on first user state virtual memory space address, the first data to be sent are write to the first kernel state physical memory space address, wherein, first user state virtual memory space address and the first kernel state physical memory space address have mapping relations; And after to Microsoft Loopback Adapter 420, send data and send instructions, wherein, above-mentioned data send instruction and carry K (K herein is less than or equal to 6) user's state network interface card queue identity and first user state virtual memory space address; Microsoft Loopback Adapter 420 can be in the mapping relations one by one according between the network interface card formation of user's state and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K user's state network interface card formation represented with above-mentioned K user's state network interface card queue identity have mapping relations one by one, indicate above-mentioned 2 physical network cards from first user state virtual memory space address, having the first kernel state physical memory space address of mapping relations, read out the first data, and send the first data based on above-mentioned K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one.
For instance, for the data receiver scene, client layer (as certain user's application of client layer) can send the first data receiver query statement to Microsoft Loopback Adapter, the the first data reception acknowledgement instruction sent if receive Microsoft Loopback Adapter response the first data receiver query statement, inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if this available descriptor quantity is greater than 0, based on this current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein this Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, the second data are that one of them physical network card in this N physical network card receives based on the first physical network card formation, wherein, the network interface card formation of first user state and the first physical network card formation have mapping relations.
Can find out, due to the polymerization of polylith physical network card is formed to Microsoft Loopback Adapter, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, owing to having set up the formation of N user's state network interface card, mapping relations one by one between N Microsoft Loopback Adapter formation and N physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, can facilitate the on-premise network redundancy feature, be conducive to obtain higher concurrency in high speed network environment, and if some physical network card formation is wherein broken down, can to remaining physical network card formation, work on by failover, the fault emergency capability obtains greatly and improves.
Referring to Fig. 5, the schematic diagram of a kind of network interface card paradigmatic system layout structure that Fig. 5 provides for one embodiment of the invention.The hardware layer of supposing computing node comprises network interface card NIC1 and network interface card NIC2, and wherein, network interface card NIC1 comprises that 4 physical network card formations 501, network interface card NIC2 comprise 2 physical network card formations 501.Network interface card NIC1 and network interface card NIC2 polymerization form a Microsoft Loopback Adapter 520.Wherein, by initialization operation, Microsoft Loopback Adapter 520 comprises with 6 physical network card formations 501 has set up 6 Microsoft Loopback Adapter formations 502 of mapping relations one by one.Host in client layer has generated 6 Host user's state network interface cards formation 503 equally; And the mapping relations one by one of the formation 503 of 6 Host user's state network interface cards and 6 Microsoft Loopback Adapter formations 502 have been set up.That is to say between 6 Host user's state network interface cards formation 503 and 6 physical network card formations 501 and also have mapping relations one by one.Virtual machine in client layer has generated 6 guest user's state network interface cards formation 504 equally, and has set up the mapping relations one by one of 6 guest user's state network interface cards formation 504 and 6 Host user's state network interface cards formation 503.That is to say also have mapping relations one by one between 6 guest user's state network interface cards formation 504 and 6 Microsoft Loopback Adapter formations 502, also have mapping relations one by one between 6 guest user's state network interface cards formation 504 and 6 physical network card formations 501.
In some embodiments of the invention, in each Microsoft Loopback Adapter formation 502, record the information such as this queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in each user's state network interface card formation (as guest user's state network interface card formation 504, Host user's state network interface card formation 503 etc.), record this queue size, current descriptor pointer and available descriptor quantity etc. information.In some embodiments of the invention, in each physical network card formation 501, can record the information such as this queue size, current descriptor pointer and available descriptor quantity.
In some embodiments of the invention, have with certain Host user's state network interface card formation 503 information that certain guest user's state network interface card formations 504 of mapping relations is recorded, the information that can record with this Host user's state network interface card formation 503 is identical or part is identical.Wherein, similarly, have with certain Microsoft Loopback Adapter formation 502 information that certain Host user's state network interface card formations 503 of mapping relations is recorded, the information that can record with this Microsoft Loopback Adapter formation 502 is identical or part is identical.Wherein, similarly, have with certain physics network interface card formation 501 information that the Microsoft Loopback Adapter formation 502 of mapping relations is recorded, the information that can record with this certain physics network interface card formation 501 is identical or part is identical.
For instance, if the client layer in certain virtual machine (as certain the user's application in client layer) needs to send the first data, wherein, the virtual machine user layer can be based on a Guest virtual memory space address, the first data to be sent are write to a Guest physical memory space address that has mapping relations with a Guest virtual memory space address, and after to Microsoft Loopback Adapter, send the first data and send instruction, wherein, the first data send instruction and carry K (wherein, K herein is less than or equal to 6) Guest user's state network interface card queue identity and a Guest virtual memory space address, the inner nuclear layer of above-mentioned certain virtual machine can send a Guest virtual memory space address of carrying in instruction by the first data and replace with a Guest physical memory space address, wherein, a Guest virtual memory space address and a Guest physical memory space address have mapping relations.
After the client layer of Host receives the first data transmission instruction, the first data are sent to a Guest physical memory space address of carrying in instruction and replace with a Host virtual memory space address, and K Guest user's state network interface card queue identity replaced with to K Host user's state network interface card queue identity; The one Host virtual memory space address and a Guest physical memory space address have mapping relations, above-mentioned K Guest user's state network interface card formation that Guest user's state network interface card queue identity is represented, and have mapping relations one by one between represented K the Host user's state network interface card formation of above-mentioned K Host user's state network interface card queue identity.Host forwards amended the first data to Microsoft Loopback Adapter 520 and sends instruction.
After Microsoft Loopback Adapter 520 receives the first data transmission instruction of Host forwarding, can be in the mapping relations one by one according between Host user's state network interface card queue identity and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K Host user's state network interface card formation represented with above-mentioned K Host user's state network interface card queue identity have mapping relations one by one, indicate above-mentioned 2 physical network cards to read out the first data from a Host physical memory space address that has mapping relations with a Host virtual memory space address, and send the first data based on above-mentioned K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one.
Under this application scenarios, except Host need be undertaken the memory address mapping by mmap, virtual machine also is mmap and is reflected so that guest user's state virtual memory address is penetrated into to the guest physical memory addresses.Host can do the direct forwarding of zero-copy or the functions such as network security isolation under virtual environment, Analysis of Network Malfunction, intrusion detection, network monitoring filtration are provided between the Microsoft Loopback Adapter of polymerization and virtual machine.
Again for instance, for some data receiver scenes, virtual machine can send the first data receiver query statement to Microsoft Loopback Adapter, the the first data reception acknowledgement instruction sent if receive above-mentioned Microsoft Loopback Adapter response the first data receiver query statement, inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if above-mentioned available descriptor quantity is greater than 0, based on above-mentioned current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, the second data are that one of them physical network card in an above-mentioned N physical network card receives based on the first physical network card formation, the network interface card formation of first user state and the first physical network card formation have mapping relations,
The client layer of Host can receive the first data receiver query statement from above-mentioned virtual machine, to above-mentioned Microsoft Loopback Adapter, forward the first data receiver query statement, the the first data reception acknowledgement instruction sent if receive above-mentioned Microsoft Loopback Adapter response the first data receiver query statement, to above-mentioned virtual machine, forward the first data receiver query statement, so that above-mentioned virtual machine inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if above-mentioned available descriptor quantity is greater than 0, based on above-mentioned current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, the second data are that one of them physical network card in an above-mentioned N physical network card receives based on the first physical network card formation, wherein, the network interface card formation of first user state and the first physical network card formation have mapping relations.
Again for instance, for other data receiver scenes, virtual machine can send the first data receiver query statement that carries first user state network interface card queue identity to Microsoft Loopback Adapter, the the first data reception acknowledgement instruction sent if receive above-mentioned Microsoft Loopback Adapter response the first data receiver query statement, inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if above-mentioned available descriptor quantity is greater than 0, based on above-mentioned current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, the second data are that one of them physical network card in an above-mentioned N physical network card receives based on the first physical network card formation, the network interface card formation of first user state and the first physical network card formation have mapping relations,
The client layer of Host can receive the first data receiver query statement that carries first user state network interface card queue identity of self virtualizing machine, guest user's state network interface card queue identity that the first data receiver query statement received is carried replaces with Host user's state network interface card queue identity, wherein, Host user's state network interface card formation that the one Host user's state network interface card queue identity is represented, a guest user state network interface card formation represented with guest user's state network interface card queue identity has mapping relations, to above-mentioned Microsoft Loopback Adapter, forward the first data that have been replaced guest user's state network interface card queue identity and send instruction, the the first data reception acknowledgement instruction sent if receive above-mentioned Microsoft Loopback Adapter response the first data receiver query statement, to above-mentioned virtual machine, forward the first data receiver query statement, so that above-mentioned virtual machine inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if above-mentioned available descriptor quantity is greater than 0, based on above-mentioned current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, the second data are that one of them physical network card in an above-mentioned N physical network card receives based on the first physical network card formation, wherein, the network interface card formation of first user state and the first physical network card formation have mapping relations.
Can find out, due to the polymerization of polylith physical network card is formed to Microsoft Loopback Adapter, be conducive to obtain higher integration handling property, and when obtaining low time delay and high-throughput, has better extensibility, owing to having set up the formation of N user's state network interface card, mapping relations one by one between N Microsoft Loopback Adapter formation and N physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, on-premise network redundancy feature easily, be conducive to obtain higher concurrency in high speed network environment, and if some physical network card formation is wherein broken down, but failover to remaining physical network card formation, work on, the fault emergency capability obtains greatly and improves.
Refer to Fig. 6, Fig. 6 is the schematic flow sheet of a kind of data receive method of providing of an alternative embodiment of the invention.As shown in Figure 6, a kind of data receive method of providing of an alternative embodiment of the invention can comprise following content:
601, to Microsoft Loopback Adapter, send the first data receiver query statement.
602, the the first data reception acknowledgement instruction sent if receive above-mentioned Microsoft Loopback Adapter response the first data receiver query statement (wherein, the data reception acknowledgement instruction means that physical network card has received data), inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if above-mentioned available descriptor quantity is greater than 0, based on above-mentioned current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, the second data are that one of them physical network card in an above-mentioned N physical network card receives based on the first physical network card formation, wherein, the network interface card formation of first user state and the first physical network card formation have mapping relations.
In some embodiments of the invention, above-mentionedly to Microsoft Loopback Adapter, send the first data receiver query statement and can comprise: to Microsoft Loopback Adapter, send the first data receiver query statement that has carried first user state network interface card queue identity.
In some embodiments of the invention, for the scene that has virtual machine, above-mentioned steps for example can for example, upper concrete enforcement of virtual machine (client layer of virtual machine).Further, the client layer of Host can receive the first data receiver query statement of self virtualizing machine, to above-mentioned Microsoft Loopback Adapter, forward the first data receiver query statement, the the first data reception acknowledgement instruction sent if receive above-mentioned Microsoft Loopback Adapter response the first data receiver query statement (wherein, the data reception acknowledgement instruction means that physical network card has received data), to above-mentioned virtual machine, forward the first data receiver query statement, so that above-mentioned virtual machine inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if above-mentioned available descriptor quantity is greater than 0, based on above-mentioned current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, wherein, the second data are that one of them physical network card in an above-mentioned N physical network card receives based on the first physical network card formation, the network interface card formation of first user state and the first physical network card formation have mapping relations.
In some embodiments of the invention, the first data receiver query statement has carried guest user's state network interface card queue identity; Method also can comprise: guest user's state network interface card queue identity that the first data receiver query statement is carried replaces with Host user's state network interface card queue identity, wherein, Host user's state network interface card formation that the one Host user's state network interface card queue identity is represented, a guest user state network interface card formation represented with guest user's state network interface card queue identity has mapping relations.Wherein, above-mentioned to above-mentioned Microsoft Loopback Adapter forwarding the first data receiver query statement, can comprise: to above-mentioned Microsoft Loopback Adapter, forward the first data that have been replaced guest user's state network interface card queue identity and send instruction.
In some embodiments of the invention, in above-mentioned Microsoft Loopback Adapter formation, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the formation of above-mentioned user's state network interface card, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the physical network card formation, can record the information such as queue size, current descriptor pointer and available descriptor quantity.
In some embodiments of the invention, with certain physics network interface card formation, have the information that the Microsoft Loopback Adapter formation of mapping relations is recorded, the information that can record with this certain physics network interface card formation is identical or part is identical.Wherein with certain Microsoft Loopback Adapter formation, have certain Host user's state network interface card formation institute recorded information of mapping relations, can be identical with this certain Microsoft Loopback Adapter formation institute recorded information or part is identical; With certain Host user's state network interface card formation, have certain guest user's state network interface card formation institute recorded informations of mapping relations, can be identical with this certain Host user's state network interface card formation institute recorded information or part is identical.
Can find out, in the such scheme that the present embodiment provides, due to the polymerization of polylith physical network card is formed to Microsoft Loopback Adapter, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, due to the mapping relations one by one of having set up between the network interface card formation of user's state and physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, on-premise network redundancy feature easily, be conducive to obtain higher concurrency in high speed network environment, and if some physical network card formation is wherein broken down, but failover to remaining physical network card formation, work on, the fault emergency capability obtains greatly and improves.
Refer to Fig. 7, Fig. 7 is the schematic flow sheet of the another kind of data receive method that provides of an alternative embodiment of the invention.As shown in Figure 7, the another kind of data receive method that provides of an alternative embodiment of the invention can comprise following content:
701, receive the first data receiver query statement of self virtualizing machine;
702, to above-mentioned Microsoft Loopback Adapter, forward the first data receiver query statement;
703, the the first data reception acknowledgement instruction (the data reception acknowledgement instruction means that physical network card has received data) sent if receive above-mentioned Microsoft Loopback Adapter response the first data receiver query statement, to above-mentioned virtual machine, forward the first data receiver query statement, so that above-mentioned virtual machine inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if above-mentioned available descriptor quantity is greater than 0, based on above-mentioned current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, wherein the second data are that one of them physical network card in an above-mentioned N physical network card receives based on the first physical network card formation, the network interface card formation of first user state and the first physical network card formation have mapping relations.
In some embodiments of the invention, the first data receiver query statement has carried guest user's state network interface card queue identity; Method also can comprise: guest user's state network interface card queue identity that the first data receiver query statement is carried replaces with Host user's state network interface card queue identity, wherein, Host user's state network interface card formation that the one Host user's state network interface card queue identity is represented, a guest user state network interface card formation represented with guest user's state network interface card queue identity has mapping relations.Wherein, above-mentioned to above-mentioned Microsoft Loopback Adapter forwarding the first data receiver query statement, can comprise: to above-mentioned Microsoft Loopback Adapter, forward the first data that have been replaced guest user's state network interface card queue identity and send instruction.
In some embodiments of the invention, in above-mentioned Microsoft Loopback Adapter formation, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the formation of above-mentioned user's state network interface card, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the physical network card formation, can record the information such as queue size, current descriptor pointer and available descriptor quantity.
In some embodiments of the invention, with certain physics network interface card formation, have the information that the Microsoft Loopback Adapter formation of mapping relations is recorded, the information that can record with this certain physics network interface card formation is identical or part is identical.Wherein with certain Microsoft Loopback Adapter formation, have certain Host user's state network interface card formation institute recorded information of mapping relations, can be identical with this certain Microsoft Loopback Adapter formation institute recorded information or part is identical; With certain Host user's state network interface card formation, have certain guest user's state network interface card formation institute recorded informations of mapping relations, can be identical with this certain Host user's state network interface card formation institute recorded information or part is identical.
Can find out, in the such scheme that the present embodiment provides, due to the polymerization of polylith physical network card is formed to Microsoft Loopback Adapter, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, due to the mapping relations one by one of having set up between the network interface card formation of user's state and physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, on-premise network redundancy feature easily, be conducive to obtain higher concurrency in high speed network environment, and if some physical network card formation is wherein broken down, but failover to remaining physical network card formation, work on, the fault emergency capability obtains greatly and improves.
Below also be provided for implementing the relevant apparatus of such scheme.
Referring to Fig. 8, the embodiment of the present invention also provides a kind of data sending device 800, can comprise: write device 810 and transmitter 820.
Wherein, write device 810, for based on first user state virtual memory space address, write the first kernel state physical memory space address by the first data to be sent, wherein, first user state virtual memory space address and the first kernel state physical memory space address have mapping relations.
Transmitter 820, send instruction for to Microsoft Loopback Adapter, sending the first data, and wherein, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, wherein, the first data send instruction and carry K user's state network interface card queue identity and first user state virtual memory space address, so that above-mentioned Microsoft Loopback Adapter is after determining K the user state network interface card formation represented with above-mentioned K user's state network interface card queue identity and having K Microsoft Loopback Adapter formation of mapping relations one by one, indicate an above-mentioned N physical network card from first user state virtual memory space address, having the first kernel state physical memory space address of mapping relations, read out the first data, and send the first data based on above-mentioned K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, above-mentioned K and N are positive integer.
In some embodiments of the invention, data sending device 800 also can comprise:
Generate mapper, before at above-mentioned transmitter, to Microsoft Loopback Adapter, sending data transmission instruction, generate the formation of M user's state network interface card; Set up M Microsoft Loopback Adapter formation and above-mentioned M user's state network interface card formation mapping relations one by one; Wherein, the formation of above-mentioned K user's state network interface card is the part or all of user's state network interface card formation among the formation of above-mentioned M user's state network interface card; An above-mentioned M physical network card formation and above-mentioned M Microsoft Loopback Adapter formation has mapping relations one by one; Above-mentioned K physical network card formation is the part or all of physical network card formation among above-mentioned M physical network card formation, and above-mentioned K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among above-mentioned M Microsoft Loopback Adapter formation; Above-mentioned M physical network card formation is the physical network card formation that an above-mentioned N physical network card is corresponding, and above-mentioned M is the positive integer that is more than or equal to above-mentioned K.
In some embodiments of the invention, first user state virtual memory space address is the first client computer guest virtual memory space address, the first kernel state physical memory space address is a guest physical memory space address, and above-mentioned K user's state network interface card queue identity is K guest user's state network interface card queue identity.
In some embodiments of the invention, for the scene that has virtual machine, data sending device 800 can be deployed in the client layer of virtual machine.
In some embodiments of the invention, in above-mentioned Microsoft Loopback Adapter formation, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the formation of above-mentioned user's state network interface card, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the physical network card formation, can record the information such as queue size, current descriptor pointer and available descriptor quantity.
In some embodiments of the invention, with certain physics network interface card formation, have the information that the Microsoft Loopback Adapter formation of mapping relations is recorded, the information that can record with this certain physics network interface card formation is identical or part is identical.Wherein with certain Microsoft Loopback Adapter formation, have certain Host user's state network interface card formation institute recorded information of mapping relations, can be identical with this certain Microsoft Loopback Adapter formation institute recorded information or part is identical; With certain Host user's state network interface card formation, have certain guest user's state network interface card formation institute recorded informations of mapping relations, can be identical with this certain Host user's state network interface card formation institute recorded information or part is identical.
Be appreciated that, the function of each functional module of the data sending device 800 of describing in the present embodiment can be according to the method specific implementation in said method embodiment, its specific implementation process can, with reference to the associated description of said method embodiment, repeat no more herein.
Can find out, in the such scheme that the present embodiment provides, due to the polymerization of polylith physical network card is formed to Microsoft Loopback Adapter, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, owing to having set up the formation of N user's state network interface card, mapping relations one by one between N Microsoft Loopback Adapter formation and N physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, on-premise network redundancy feature easily, be conducive to obtain higher concurrency in high speed network environment, and if some physical network card formation is wherein broken down, but failover to remaining physical network card formation, work on, the fault emergency capability obtains greatly and improves.
Referring to Fig. 9, the embodiment of the present invention also provides a kind of data sending device 900, can comprise:
Receiver 910, transducer 920 and transponder 930.
Wherein, receiver 910, for the first data that receive self virtualizing machine, send instruction, the first data send instruction and carry K guest user's state network interface card queue identity and the first client computer guest physical memory space address, the client layer of above-mentioned virtual machine is based on a guest virtual memory space address, the first data to be sent are write to a guest physical memory space address, and a guest virtual memory space address and a guest physical memory space address have mapping relations;
Transducer 920, for the guest physical memory space address that the first data transmission instruction is carried, replace with the first host Host virtual memory space address, and above-mentioned K guest user's state network interface card queue identity that the first data transmission instruction is carried replaces with K Host user's state network interface card queue identity, wherein, the one guest physical memory space address and a Host virtual memory space address have mapping relations, above-mentioned K K Host user's state network interface card formation that Host user's state network interface card queue identity is represented, K the guest user state network interface card formation represented with above-mentioned K guest user's state network interface card queue identity has mapping relations,
Transponder 930, for to Microsoft Loopback Adapter, forwarding the first data that have been replaced a guest virtual memory space address and above-mentioned K guest user's state network interface card queue identity, send instruction, so that above-mentioned Microsoft Loopback Adapter is in the mapping relations one by one according between the network interface card formation of Host user's state and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K Host user's state network interface card formation represented with above-mentioned K Host user's state network interface card queue identity have mapping relations one by one, indicate N physical network card from a Host virtual memory space address, having a Host physical memory space address of mapping relations, read out the first data, and send the first data based on above-mentioned K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, wherein, above-mentioned K and N are positive integer, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms.
In some embodiments of the invention, data sending device 900 also can comprise:
Generate mapper, before for above-mentioned K guest user's state network interface card queue identity of the first data transmission instruction being carried at above-mentioned transducer, replacing with K Host user's state network interface card queue identity, generate the formation of M Host user's state network interface card; Set up M Microsoft Loopback Adapter formation and above-mentioned M Host user's state network interface card formation mapping relations one by one; Wherein, a M physical network card formation and above-mentioned M Microsoft Loopback Adapter formation has mapping relations one by one; The formation of above-mentioned K Host user's state network interface card is the part or all of Host user's state network interface card formation among the formation of above-mentioned M Host user's state network interface card, above-mentioned K physical network card formation is the part or all of physical network card formation among above-mentioned M physical network card formation, and above-mentioned K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among above-mentioned M Microsoft Loopback Adapter formation; Above-mentioned M physical network card formation is the physical network card formation that an above-mentioned N physical network card is corresponding, and above-mentioned M is the positive integer that is more than or equal to above-mentioned K.
In some embodiments of the invention, data sending device 900 can be deployed in the client layer of Host.
In some embodiments of the invention, in above-mentioned Microsoft Loopback Adapter formation, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the formation of above-mentioned user's state network interface card, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the physical network card formation, can record the information such as queue size, current descriptor pointer and available descriptor quantity.
In some embodiments of the invention, with certain physics network interface card formation, have the information that the Microsoft Loopback Adapter formation of mapping relations is recorded, the information that can record with this certain physics network interface card formation is identical or part is identical.Wherein with certain Microsoft Loopback Adapter formation, have certain Host user's state network interface card formation institute recorded information of mapping relations, can be identical with this certain Microsoft Loopback Adapter formation institute recorded information or part is identical; With certain Host user's state network interface card formation, have certain guest user's state network interface card formation institute recorded informations of mapping relations, can be identical with this certain Host user's state network interface card formation institute recorded information or part is identical.
Be appreciated that, the function of each functional module of the data sending device 900 of describing in the present embodiment can be according to the method specific implementation in said method embodiment, its specific implementation process can, with reference to the associated description of said method embodiment, repeat no more herein.
Can find out, in the such scheme that the present embodiment provides, due to the polymerization of polylith physical network card is formed to Microsoft Loopback Adapter, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, owing to having set up the formation of N user's state network interface card, mapping relations one by one between N Microsoft Loopback Adapter formation and N physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, on-premise network redundancy feature easily, be conducive to obtain higher concurrency in high speed network environment, and if some physical network card formation is wherein broken down, but failover to remaining physical network card formation, work on, the fault emergency capability obtains greatly and improves.
Referring to Figure 10, the embodiment of the present invention also provides a kind of data sink 1000, can comprise:
Transmitter 1010 and reader 1010.
Transmitter 1010, for sending the first data receiver query statement to Microsoft Loopback Adapter;
Reader 1010, if the first data reception acknowledgement instruction sent for receiving above-mentioned Microsoft Loopback Adapter response the first data receiver query statement, inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if above-mentioned available descriptor quantity is greater than 0, based on above-mentioned current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, the second data are that one of them physical network card in an above-mentioned N physical network card receives based on the first physical network card formation, wherein, the network interface card formation of first user state and the first physical network card formation have mapping relations.
In some embodiments of the invention, transmitter 1010 can be specifically for, to Microsoft Loopback Adapter, send the first data receiver query statement that has carried first user state network interface card queue identity.
In some embodiments of the invention, further, the client layer of Host can receive the first data receiver query statement from data sink 1000, to above-mentioned Microsoft Loopback Adapter, forward the first data receiver query statement, the the first data reception acknowledgement instruction sent if receive above-mentioned Microsoft Loopback Adapter response the first data receiver query statement (wherein, the data reception acknowledgement instruction means that physical network card has received data), to data sink 1000, forward the first data receiver query statement, so that data sink 1000 inquiries obtain current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if above-mentioned available descriptor quantity is greater than 0, based on above-mentioned current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, wherein, the second data are that one of them physical network card in an above-mentioned N physical network card receives based on the first physical network card formation, the network interface card formation of first user state and the first physical network card formation have mapping relations.
In some embodiments of the invention, the first data receiver query statement has carried guest user's state network interface card queue identity; Guest user's state network interface card queue identity that the client layer of Host also can carry the first data receiver query statement replaces with Host user's state network interface card queue identity, wherein, Host user's state network interface card formation that the one Host user's state network interface card queue identity is represented, a guest user state network interface card formation represented with guest user's state network interface card queue identity has mapping relations.Wherein, above-mentioned to above-mentioned Microsoft Loopback Adapter forwarding the first data receiver query statement, can comprise: to above-mentioned Microsoft Loopback Adapter, forward the first data that have been replaced guest user's state network interface card queue identity and send instruction.
In some embodiments of the invention, for the scene that has virtual machine, data sink 1000 can be deployed in the client layer of virtual machine.
Be appreciated that, the function of each functional module of the data sink 1000 of describing in the present embodiment can be according to the method specific implementation in said method embodiment, its specific implementation process can, with reference to the associated description of said method embodiment, repeat no more herein.
Can find out, in the such scheme that the present embodiment provides, the polymerization of polylith physical network card is formed to Microsoft Loopback Adapter, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, owing to having set up the formation of N user's state network interface card, mapping relations one by one between N Microsoft Loopback Adapter formation and N physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, on-premise network redundancy feature easily, be conducive to obtain higher concurrency in high speed network environment, and if some physical network card formation is wherein broken down, but failover to remaining physical network card formation, work on, the fault emergency capability obtains greatly and improves.
Referring to Figure 11, the embodiment of the present invention also provides a kind of data sink 1100, can comprise: receiver 1110 and transponder 1120.
Wherein, receiver 1110, be used to receiving the first data receiver query statement of self virtualizing machine;
Transponder 1120, for forwarding the first data receiver query statement to above-mentioned Microsoft Loopback Adapter, the the first data reception acknowledgement instruction sent if receive above-mentioned Microsoft Loopback Adapter response the first data receiver query statement, to above-mentioned virtual machine, forward the first data receiver query statement, so that above-mentioned virtual machine inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if above-mentioned available descriptor quantity is greater than 0, based on above-mentioned current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, the second data are that one of them physical network card in an above-mentioned N physical network card receives based on the first physical network card formation, wherein, the network interface card formation of first user state and the first physical network card formation have mapping relations.
In some embodiments of the invention, the first data receiver query statement has carried guest user's state network interface card queue identity;
Data sink 1100 also comprises: transducer, for guest user's state network interface card queue identity that the first data receiver query statement is carried, replace with Host user's state network interface card queue identity, wherein, Host user's state network interface card formation that the one Host user's state network interface card queue identity is represented, a guest user state network interface card formation represented with guest user's state network interface card queue identity has mapping relations; To above-mentioned Microsoft Loopback Adapter, forward the first data receiver query statement aspect, transponder 1120 specifically sends instruction for to above-mentioned Microsoft Loopback Adapter, forwarding the first data that have been replaced guest user's state network interface card queue identity.
In some embodiments of the invention, in above-mentioned Microsoft Loopback Adapter formation, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the formation of above-mentioned user's state network interface card, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the physical network card formation, can record the information such as queue size, current descriptor pointer and available descriptor quantity.
In some embodiments of the invention, with certain physics network interface card formation, have the information that the Microsoft Loopback Adapter formation of mapping relations is recorded, the information that can record with this certain physics network interface card formation is identical or part is identical.Wherein with certain Microsoft Loopback Adapter formation, have certain Host user's state network interface card formation institute recorded information of mapping relations, can be identical with this certain Microsoft Loopback Adapter formation institute recorded information or part is identical; With certain Host user's state network interface card formation, have certain guest user's state network interface card formation institute recorded informations of mapping relations, can be identical with this certain Host user's state network interface card formation institute recorded information or part is identical.
Be appreciated that, the function of each functional module of the data sink 1100 of describing in the present embodiment can be according to the method specific implementation in said method embodiment, its specific implementation process can, with reference to the associated description of said method embodiment, repeat no more herein.
Can find out, in the such scheme that the present embodiment provides, the polymerization of polylith physical network card is formed to Microsoft Loopback Adapter, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, owing to having set up the formation of N user's state network interface card, mapping relations one by one between N Microsoft Loopback Adapter formation and N physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, on-premise network redundancy feature easily, be conducive to obtain higher concurrency in high speed network environment, and if some physical network card formation is wherein broken down, but failover to remaining physical network card formation, work on, the fault emergency capability obtains greatly and improves.
Referring to Figure 12, the embodiment of the present invention also provides a kind of computing node 1200, can comprise:
Hardware layer 1210, operate in the Host1220 on above-mentioned hardware layer, operate in the virtual machine 1230 on above-mentioned Host; Wherein, hardware layer 1210 comprises N physical network card 1211, and N physical network card 1211 polymerizations form Microsoft Loopback Adapter.
The client layer of virtual machine 1230, be used for based on the first client computer guest virtual memory space address, the first data to be sent are write to a guest physical memory space address, and wherein, a guest virtual memory space address and a guest physical memory space address have mapping relations; Send the first data and send instruction, wherein, the first data send instruction and carry K guest user's state network interface card queue identity and a guest virtual memory space address;
The inner nuclear layer of virtual machine 1230, replace with a guest physical memory space address for the guest virtual memory space address that the first data transmission instruction is carried; The first data that transmission has been replaced a guest virtual memory space address send instruction;
The client layer of Host1220, for receiving the first data that have been replaced a guest virtual memory space address, send instruction, the guest physical memory space address that the first data transmission instruction is carried replaces with a Host virtual memory space address, and above-mentioned K guest user's state network interface card queue identity that the first data transmission instruction is carried replaces with K Host user's state network interface card queue identity, wherein, the one guest physical memory space address and a Host virtual memory space address have mapping relations, above-mentioned K K Host user's state network interface card formation that Host user's state network interface card queue identity is represented, K the guest user state network interface card formation represented with above-mentioned K guest user's state network interface card queue identity has mapping relations,
To Microsoft Loopback Adapter, forward the first data that have been replaced a guest virtual memory space address and above-mentioned K guest user's state network interface card queue identity and send instruction, so that above-mentioned Microsoft Loopback Adapter is in the mapping relations one by one according between the network interface card formation of Host user's state and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K Host user's state network interface card formation represented with above-mentioned K Host user's state network interface card queue identity have mapping relations one by one, indicate N physical network card from a Host virtual memory space address, having a Host physical memory space address of mapping relations, read out the first data, and send the first data based on above-mentioned K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, wherein, above-mentioned K and N are positive integer.
In some embodiments of the invention, in above-mentioned Microsoft Loopback Adapter formation, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the formation of above-mentioned user's state network interface card, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the physical network card formation, can record the information such as queue size, current descriptor pointer and available descriptor quantity.
In some embodiments of the invention, with certain physics network interface card formation, have the information that the Microsoft Loopback Adapter formation of mapping relations is recorded, the information that can record with this certain physics network interface card formation is identical or part is identical.Wherein with certain Microsoft Loopback Adapter formation, have certain Host user's state network interface card formation institute recorded information of mapping relations, can be identical with this certain Microsoft Loopback Adapter formation institute recorded information or part is identical; With certain Host user's state network interface card formation, have certain guest user's state network interface card formation institute recorded informations of mapping relations, can be identical with this certain Host user's state network interface card formation institute recorded information or part is identical.
The function that is appreciated that each functional module of the computing node 1200 of describing in the present embodiment can be according to the method specific implementation in said method embodiment, and its specific implementation process can, with reference to the associated description of said method embodiment, repeat no more herein.
Can find out, in the such scheme that the present embodiment provides, computing node 1200 forms Microsoft Loopback Adapter to the polymerization of polylith physical network card, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, owing to having set up the formation of N user's state network interface card, mapping relations one by one between N Microsoft Loopback Adapter formation and N physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, on-premise network redundancy feature easily, be conducive to obtain higher concurrency in high speed network environment, and if some physical network card formation is wherein broken down, but failover to remaining physical network card formation, work on, the fault emergency capability obtains greatly and improves.
Referring to Figure 13, the embodiment of the present invention also provides a kind of computing node 1300, can comprise:
Hardware layer 1310, operate in the Host1320 on above-mentioned hardware layer, operate in the virtual machine 1330 on above-mentioned Host; Wherein, hardware layer 1310 comprises N physical network card 1311, and N physical network card 1311 polymerizations form Microsoft Loopback Adapter.
Virtual machine 1330, for sending the first data receiver query statement to Microsoft Loopback Adapter, the the first data reception acknowledgement instruction sent if receive above-mentioned Microsoft Loopback Adapter response the first data receiver query statement, inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if above-mentioned available descriptor quantity is greater than 0, based on above-mentioned current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, the second data are that one of them physical network card in an above-mentioned N physical network card receives based on the first physical network card formation, wherein, the network interface card formation of first user state and the first physical network card formation have mapping relations,
The client layer of Host1320, for receiving the first data receiver query statement from above-mentioned virtual machine, to above-mentioned Microsoft Loopback Adapter, forward the first data receiver query statement, the the first data reception acknowledgement instruction sent if receive above-mentioned Microsoft Loopback Adapter response the first data receiver query statement, to above-mentioned virtual machine, forward the first data receiver query statement, so that above-mentioned virtual machine inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if above-mentioned available descriptor quantity is greater than 0, based on above-mentioned current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, the second data are that one of them physical network card in an above-mentioned N physical network card receives based on the first physical network card formation, wherein, the network interface card formation of first user state and the first physical network card formation have mapping relations.
In some embodiments of the invention, virtual machine 1330 also can be used for carrying first user state network interface card queue identity to the first data receiver query statement that Microsoft Loopback Adapter sends.
The client layer of Host1320 also for, guest user's state network interface card queue identity that the first data receiver query statement received is carried replaces with Host user's state network interface card queue identity, wherein, Host user's state network interface card formation that the one Host user's state network interface card queue identity is represented, a guest user state network interface card formation represented with guest user's state network interface card queue identity has mapping relations.
To above-mentioned Microsoft Loopback Adapter, forward the first data receiver query statement aspect, the client layer of Host1320 specifically for, to above-mentioned Microsoft Loopback Adapter, forward the first data that have been replaced guest user's state network interface card queue identity and send instruction.
In some embodiments of the invention, the client layer of virtual machine 1330, be used for based on the first client computer guest virtual memory space address, the first data to be sent are write to a guest physical memory space address, wherein, a guest virtual memory space address and a guest physical memory space address have mapping relations; Send the first data and send instruction, wherein, the first data send instruction and carry K guest user's state network interface card queue identity and a guest virtual memory space address;
The inner nuclear layer of virtual machine 1330, replace with a guest physical memory space address for the guest virtual memory space address that the first data transmission instruction is carried; The first data that transmission has been replaced a guest virtual memory space address send instruction;
The client layer of Host1320, for receiving the first data that have been replaced a guest virtual memory space address, send instruction, the guest physical memory space address that the first data transmission instruction is carried replaces with a Host virtual memory space address, and above-mentioned K guest user's state network interface card queue identity that the first data transmission instruction is carried replaces with K Host user's state network interface card queue identity, wherein, the one guest physical memory space address and a Host virtual memory space address have mapping relations, above-mentioned K K Host user's state network interface card formation that Host user's state network interface card queue identity is represented, K the guest user state network interface card formation represented with above-mentioned K guest user's state network interface card queue identity has mapping relations,
To Microsoft Loopback Adapter, forward the first data that have been replaced a guest virtual memory space address and above-mentioned K guest user's state network interface card queue identity and send instruction, so that above-mentioned Microsoft Loopback Adapter is in the mapping relations one by one according between the network interface card formation of Host user's state and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K Host user's state network interface card formation represented with above-mentioned K Host user's state network interface card queue identity have mapping relations one by one, indicate N physical network card from a Host virtual memory space address, having a Host physical memory space address of mapping relations, read out the first data, and send the first data based on above-mentioned K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, wherein, above-mentioned K and N are positive integer.
In some embodiments of the invention, in above-mentioned Microsoft Loopback Adapter formation, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the formation of above-mentioned user's state network interface card, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the physical network card formation, can record the information such as queue size, current descriptor pointer and available descriptor quantity.
In some embodiments of the invention, with certain physics network interface card formation, have the information that the Microsoft Loopback Adapter formation of mapping relations is recorded, the information that can record with this certain physics network interface card formation is identical or part is identical.Wherein with certain Microsoft Loopback Adapter formation, have certain Host user's state network interface card formation institute recorded information of mapping relations, can be identical with this certain Microsoft Loopback Adapter formation institute recorded information or part is identical; With certain Host user's state network interface card formation, have certain guest user's state network interface card formation institute recorded informations of mapping relations, can be identical with this certain Host user's state network interface card formation institute recorded information or part is identical.
The function that is appreciated that each functional module of the computing node 1300 of describing in the present embodiment can be according to the method specific implementation in said method embodiment, and its specific implementation process can, with reference to the associated description of said method embodiment, repeat no more herein.
Can find out, in the such scheme that the present embodiment provides, computing node 1300 forms Microsoft Loopback Adapter to the polymerization of polylith physical network card, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, owing to having set up the formation of N user's state network interface card, mapping relations one by one between N Microsoft Loopback Adapter formation and N physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, on-premise network redundancy feature easily, be conducive to obtain higher concurrency in high speed network environment, and if some physical network card formation is wherein broken down, but failover to remaining physical network card formation, work on, the fault emergency capability obtains greatly and improves.
Figure 14 has described the structure of a kind of computing node 1400 that the embodiment of the present invention provides, this computing node 1400 comprises: at least one processor 1401, CPU for example, at least one network interface 1404 or other user interfaces 1403, memory 1405, at least one communication bus 1402.Wherein, few network interface 1404 comprises N physical network card.Communication bus 1402 is be used to realizing the connection communication between these assemblies.This computing node 1400 optionally comprises user interface 1403, comprises display, keyboard or pointing device (for example mouse, trace ball (trackball), touch-sensitive plate or touch sensitive display screen).Wherein, memory 1405 may comprise the high-speed RAM memory, also may also comprise non-unsettled memory (non-volatile memory), for example at least one magnetic disc store.Memory 1405 optionally can comprise at least one and be positioned at the storage device away from aforementioned processing device 1401.
In some embodiments, memory 1405 has been stored following element, executable module or data structure, or their subset, or their superset:
Operating system 14051, comprise various system programs, be used to realizing various basic businesses and processing hardware based task;
Application program module 14052, comprise various application programs, be used to realizing various applied business.
In application program module 14052, include but not limited to the modules such as write device 810 and transmitter 820 and/or transmitter 1010 and reader 1010 and/or receiver 1110 and transponder 1120 and/or receiver 910, transducer 920 and transponder 930.
In some embodiments, in application program module 14052, also can further comprise the generation mapper.
In application program module 14052, the specific implementation of each module, referring to the corresponding module in Fig. 8~embodiment illustrated in fig. 12, is not repeated herein.
In embodiments of the present invention, by calling program or the instruction of memory 1405 storages, processor 1401 can be used for: based on first user state virtual memory space address, the first data to be sent are write to the first kernel state physical memory space address, wherein, first user state virtual memory space address and the first kernel state physical memory space address have mapping relations, to Microsoft Loopback Adapter, send the first data and send instruction, wherein, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, wherein, the first data send instruction and carry K user's state network interface card queue identity and first user state virtual memory space address, so that above-mentioned Microsoft Loopback Adapter is after determining K the user state network interface card formation represented with above-mentioned K user's state network interface card queue identity and having K Microsoft Loopback Adapter formation of mapping relations one by one, indicate an above-mentioned N physical network card from first user state virtual memory space address, having the first kernel state physical memory space address of mapping relations, read out the first data, and send the first data based on above-mentioned K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, above-mentioned K and N are positive integer.
In some embodiments of the invention, above-mentioned, can also comprise before above-mentioned Microsoft Loopback Adapter transmission data send instruction: processor 1401 also comprises before to Microsoft Loopback Adapter, sending data transmission instruction: generate the formation of M user's state network interface card; Set up M Microsoft Loopback Adapter formation and above-mentioned M user's state network interface card formation mapping relations one by one; Wherein the formation of above-mentioned K user's state network interface card is the part or all of user's state network interface card formation among the formation of above-mentioned M user's state network interface card; An above-mentioned M physical network card formation and above-mentioned M Microsoft Loopback Adapter formation has mapping relations one by one; Above-mentioned K physical network card formation is the part or all of physical network card formation among above-mentioned M physical network card formation, and above-mentioned K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among above-mentioned M Microsoft Loopback Adapter formation; Wherein, above-mentioned M physical network card formation is the physical network card formation that an above-mentioned N physical network card is corresponding, and above-mentioned M is the positive integer that is more than or equal to above-mentioned K.
In embodiments of the present invention, by calling program or the instruction of memory 1405 storages, processor 1401 also can be used for: send the first data receiver query statement to Microsoft Loopback Adapter, the the first data reception acknowledgement instruction sent if receive above-mentioned Microsoft Loopback Adapter response the first data receiver query statement, inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if above-mentioned available descriptor quantity is greater than 0, based on above-mentioned current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, above-mentioned Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, the second data are that one of them physical network card in an above-mentioned N physical network card receives based on the first physical network card formation, wherein, the network interface card formation of first user state and the first physical network card formation have mapping relations.
In some embodiments of the invention, processor 1401 can comprise to Microsoft Loopback Adapter transmission the first data receiver query statement: processor 1401 sends the first data receiver query statement that has carried first user state network interface card queue identity to Microsoft Loopback Adapter.
In some embodiments of the invention, in above-mentioned Microsoft Loopback Adapter formation, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the formation of above-mentioned user's state network interface card, record the information such as queue size, current descriptor pointer and available descriptor quantity.In some embodiments of the invention, in the physical network card formation, can record the information such as queue size, current descriptor pointer and available descriptor quantity.
In some embodiments of the invention, with certain physics network interface card formation, have the information that the Microsoft Loopback Adapter formation of mapping relations is recorded, the information that can record with this certain physics network interface card formation is identical or part is identical.Wherein with certain Microsoft Loopback Adapter formation, have certain Host user's state network interface card formation institute recorded information of mapping relations, can be identical with this certain Microsoft Loopback Adapter formation institute recorded information or part is identical; With certain Host user's state network interface card formation, have certain guest user's state network interface card formation institute recorded informations of mapping relations, can be identical with this certain Host user's state network interface card formation institute recorded information or part is identical.
Visible, after adopting such scheme, due to the polymerization of polylith physical network card is formed to Microsoft Loopback Adapter, be conducive to obtain higher integration handling property, and, when obtaining low time delay and high-throughput, has better extensibility, owing to having set up the formation of N user's state network interface card, mapping relations one by one between N Microsoft Loopback Adapter formation and N physical network card formation, therefore, be conducive to give full play to the function of the many formations of physical network card and the advantage of current polycaryon processor concurrency, conveniently according to application scenarios, carry out bandwidth control, user's application of client layer can directly be controlled easily those physical network card formations and participate in the data transmission, simply realize the binding of user's state thread and physical network card formation, be conducive to improve the bandwidth availability ratio after the physical network card polymerization, on-premise network redundancy feature easily, be conducive to obtain higher concurrency in high speed network environment, and if some physical network card formation is wherein broken down, but failover to remaining physical network card formation, work on, the fault emergency capability obtains greatly and improves.
The embodiment of the present invention also provides a kind of computer-readable storage medium, and wherein, this computer-readable storage medium can have program stored therein, and this program comprises the part or all of step of the data transmission method for uplink of putting down in writing in said method embodiment while carrying out.
The embodiment of the present invention also provides a kind of computer-readable storage medium, and wherein, this computer-readable storage medium can have program stored therein, and this program comprises the part or all of step of the data receive method of putting down in writing in said method embodiment while carrying out.
It should be noted that, for aforesaid each embodiment of the method, for simple description, therefore it all is expressed as to a series of combination of actions, but those skilled in the art should know, the present invention is not subjected to the restriction of described sequence of movement, because according to the present invention, some step can adopt other orders or carry out simultaneously.Secondly, those skilled in the art also should know, the embodiment described in specification all belongs to preferred embodiment, and related action and module might not be that the present invention is necessary.
In the above-described embodiments, the description of each embodiment is all emphasized particularly on different fields, in certain embodiment, there is no the part described in detail, can be referring to the associated description of other embodiment.
In several embodiment that the application provides, should be understood that disclosed device can be realized by another way.For example, device embodiment described above is only schematic, the for example division of described unit, be only that a kind of logic function is divided, during actual the realization, other dividing mode can be arranged, for example a plurality of unit or assembly can in conjunction with or can be integrated into another system, or some features can ignore, or do not carry out.Another point, shown or discussed coupling each other or direct-coupling or communication connection can be by some interfaces, indirect coupling or the communication connection of device or unit can be electrical or other form.
Described unit as separating component explanation can or can not be also physically to separate, and the parts that show as unit can be or can not be also physical locations, namely can be positioned at a place, or also can be distributed on a plurality of network element.Can select according to the actual needs wherein some or all of unit to realize the purpose of the present embodiment scheme.
In addition, each functional unit in each embodiment of the present invention can be integrated in a processing unit, can be also that the independent physics of unit exists, and also can be integrated in a unit two or more unit.Above-mentioned integrated unit both can adopt the form of hardware to realize, also can adopt the form of SFU software functional unit to realize.
If the form of SFU software functional unit of usining described integrated unit realizes and during as production marketing independently or use, can be stored in a computer read/write memory medium.Based on such understanding, part or all or part of of this technical scheme that technical scheme of the present invention contributes to prior art in essence in other words can embody with the form of software product, this computer software product is stored in a storage medium, comprises that some instructions are used so that a computer equipment (can be personal computer, server or the network equipment etc.) is carried out all or part of step of the described method of each embodiment of the present invention.And aforesaid storage medium comprises: various media that can be program code stored such as USB flash disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), portable hard drive, magnetic disc or CDs.
The above, above embodiment only, in order to technical scheme of the present invention to be described, is not intended to limit; Although with reference to previous embodiment, the present invention is had been described in detail, those of ordinary skill in the art is to be understood that: it still can be modified to the technical scheme that aforementioned each embodiment puts down in writing, or part technical characterictic wherein is equal to replacement; And these modifications or replacement do not make the essence of appropriate technical solution break away from the spirit and scope of various embodiments of the present invention technical scheme.

Claims (23)

1. a data transmission method for uplink, is characterized in that, comprising:
Based on first user state virtual memory space address, the first data to be sent are write to the first kernel state physical memory space address, wherein, described first user state virtual memory space address and described the first kernel state physical memory space address have mapping relations;
To Microsoft Loopback Adapter, send the first data and send instruction, wherein, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, wherein, described the first data send instruction and carry K user's state network interface card queue identity and described first user state virtual memory space address, so that described Microsoft Loopback Adapter is after determining K the user state network interface card formation represented with described K user's state network interface card queue identity and having K Microsoft Loopback Adapter formation of mapping relations one by one, indicate a described N physical network card from described first user state virtual memory space address, having the described first kernel state physical memory space address of mapping relations, read out described the first data, and send described the first data based on described K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, described K and N are positive integer.
2. method according to claim 1, is characterized in that,
Describedly to Microsoft Loopback Adapter, send the first data and also comprise before sending instruction:
Generate the formation of M user's state network interface card;
Set up M Microsoft Loopback Adapter formation and described M user's state network interface card formation mapping relations one by one;
Wherein, the formation of described K user's state network interface card is the part or all of user's state network interface card formation among the formation of described M user's state network interface card; A described M physical network card formation and described M Microsoft Loopback Adapter formation has mapping relations one by one; Described K physical network card formation is the part or all of physical network card formation among described M physical network card formation, and described K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among described M Microsoft Loopback Adapter formation; Described M physical network card formation is the physical network card formation that a described N physical network card is corresponding, and described M is the positive integer that is more than or equal to described K.
3. method according to claim 1, it is characterized in that, described first user state virtual memory space address is the first client computer guest virtual memory space address, described the first kernel state physical memory space address is a guest physical memory space address, and described K user's state network interface card queue identity is K guest user's state network interface card queue identity.
4. according to the described method of claims 1 to 3 any one, it is characterized in that, in described Microsoft Loopback Adapter formation, record queue size, current descriptor pointer and available descriptor quantity; And/or, in the formation of described user's state network interface card, record queue size, current descriptor pointer and available descriptor quantity.
5. a data transmission method for uplink, is characterized in that, comprising:
Receive the first data of self virtualizing machine to send instruction, described the first data send instruction and carry K client computer guest user state network interface card queue identity and a described guest physical memory space address, the client layer of described virtual machine is based on a guest virtual memory space address, the first data to be sent are write to a guest physical memory space address, and a described guest virtual memory space address and a described guest physical memory space address have mapping relations;
The guest physical memory space address that the first data transmission instruction is carried replaces with the first host Host virtual memory space address, and described K guest user's state network interface card queue identity that the first data transmission instruction is carried replaces with K Host user's state network interface card queue identity, wherein, a described guest physical memory space address and a described Host virtual memory space address have mapping relations, described K K Host user's state network interface card formation that Host user's state network interface card queue identity is represented, K the guest user state network interface card formation represented with described K guest user's state network interface card queue identity has mapping relations,
To Microsoft Loopback Adapter, forward the first data that have been replaced a described guest virtual memory space address and described K guest user's state network interface card queue identity and send instruction, so that described Microsoft Loopback Adapter is in the mapping relations one by one according between the network interface card formation of Host user's state and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K Host user's state network interface card formation represented with described K Host user's state network interface card queue identity have mapping relations one by one, indicate N physical network card from a described Host virtual memory space address, having a Host physical memory space address of mapping relations, read out described the first data, and send described the first data based on described K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, wherein, described K and N are positive integer, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms.
6. method according to claim 5, is characterized in that, described described K guest user's state network interface card queue identity that the first data transmission instruction is carried also comprises before replacing with K Host user's state network interface card queue identity:
Generate the formation of M Host user's state network interface card; Set up M Microsoft Loopback Adapter formation and described M Host user's state network interface card formation mapping relations one by one; Wherein, a M physical network card formation and described M Microsoft Loopback Adapter formation has mapping relations one by one; The formation of described K Host user's state network interface card is the part or all of Host user's state network interface card formation among the formation of described M Host user's state network interface card, described K physical network card formation is the part or all of physical network card formation among described M physical network card formation, and described K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among described M Microsoft Loopback Adapter formation; Described M physical network card formation is the physical network card formation that a described N physical network card is corresponding, and described M is the positive integer that is more than or equal to described K.
7. according to the described method of claim 5 or 6, it is characterized in that, in described Microsoft Loopback Adapter formation, record queue size, current descriptor pointer and available descriptor quantity; And/or, in the formation of described Host user's state network interface card, record queue size, current descriptor pointer and available descriptor quantity; And/or, in the formation of described guest user's state network interface card, record queue size, current descriptor pointer and available descriptor quantity.
8. a data receive method, is characterized in that, comprising:
To Microsoft Loopback Adapter, send the first data receiver query statement;
The the first data reception acknowledgement instruction sent if receive described Microsoft Loopback Adapter response the first data receiver query statement, inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if described available descriptor quantity is greater than 0, based on described current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, described the second data are that one of them physical network card in a described N physical network card receives based on the first physical network card formation, wherein, described first user state network interface card formation and described the first physical network card formation have mapping relations.
9. method according to claim 8, is characterized in that, described to Microsoft Loopback Adapter transmission the first data receiver query statement, comprising: to Microsoft Loopback Adapter, send the first data receiver query statement that has carried first user state network interface card queue identity.
10. a data receive method, is characterized in that, comprising:
Receive the first data receiver query statement of self virtualizing machine;
To described Microsoft Loopback Adapter, forward the first data receiver query statement;
The the first data reception acknowledgement instruction sent if receive described Microsoft Loopback Adapter response the first data receiver query statement, to described virtual machine, forward the first data receiver query statement, so that described virtual machine inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if described available descriptor quantity is greater than 0, based on described current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, described the second data are that one of them physical network card in a described N physical network card receives based on the first physical network card formation, wherein, described first user state network interface card formation and described the first physical network card formation have mapping relations.
11. method according to claim 10, is characterized in that,
The first data receiver query statement has carried the first client computer guest user state network interface card queue identity;
Described method also comprises: guest user's state network interface card queue identity that the first data receiver query statement is carried replaces with the first host Host user state network interface card queue identity, wherein, Host user's state network interface card formation that described Host user's state network interface card queue identity is represented, a guest user state network interface card formation represented with described guest user's state network interface card queue identity has mapping relations;
Described to described Microsoft Loopback Adapter forwarding the first data receiver query statement, comprising:
To described Microsoft Loopback Adapter, forward the first data that have been replaced described guest user's state network interface card queue identity and send instruction.
12. a data sending device, is characterized in that, comprising:
Write device, be used for based on first user state virtual memory space address, the first data to be sent are write to the first kernel state physical memory space address, and wherein, described first user state virtual memory space address and described the first kernel state physical memory space address have mapping relations;
Transmitter, send instruction for to Microsoft Loopback Adapter, sending the first data, and wherein, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, wherein, described the first data send instruction and carry K user's state network interface card queue identity and described first user state virtual memory space address, so that described Microsoft Loopback Adapter is after determining K the user state network interface card formation represented with described K user's state network interface card queue identity and having K Microsoft Loopback Adapter formation of mapping relations one by one, indicate a described N physical network card from described first user state virtual memory space address, having the described first kernel state physical memory space address of mapping relations, read out described the first data, and send described the first data based on described K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, described K and N are positive integer.
13. device according to claim 12, is characterized in that,
Described data sending device also comprises:
Generate mapper, before at described transmitter, to Microsoft Loopback Adapter, sending data transmission instruction, generate the formation of M user's state network interface card; Set up M Microsoft Loopback Adapter formation and described M user's state network interface card formation mapping relations one by one; Wherein, the formation of described K user's state network interface card is the part or all of user's state network interface card formation among the formation of described M user's state network interface card; A described M physical network card formation and described M Microsoft Loopback Adapter formation has mapping relations one by one; Described K physical network card formation is the part or all of physical network card formation among described M physical network card formation, and described K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among described M Microsoft Loopback Adapter formation; Described M physical network card formation is the physical network card formation that a described N physical network card is corresponding, and described M is the positive integer that is more than or equal to described K.
14. according to the described device of claim 12 or 13, it is characterized in that, described first user state virtual memory space address is the first client computer guest virtual memory space address, described the first kernel state physical memory space address is a guest physical memory space address, and described K user's state network interface card queue identity is K guest user's state network interface card queue identity.
15. a data sending device, is characterized in that, comprising:
Receiver, for the first data that receive self virtualizing machine, send instruction, described the first data send instruction and carry K client computer guest user state network interface card queue identity and a described guest physical memory space address, the client layer of described virtual machine is based on a guest virtual memory space address, the first data to be sent are write to a guest physical memory space address, and a described guest virtual memory space address and a described guest physical memory space address have mapping relations;
Transducer, for the guest physical memory space address that the first data transmission instruction is carried, replace with the first host Host virtual memory space address, and described K guest user's state network interface card queue identity that the first data transmission instruction is carried replaces with K Host user's state network interface card queue identity, wherein, a described guest physical memory space address and a described Host virtual memory space address have mapping relations, described K K Host user's state network interface card formation that Host user's state network interface card queue identity is represented, K the guest user state network interface card formation represented with described K guest user's state network interface card queue identity has mapping relations,
Transponder, for to Microsoft Loopback Adapter, forwarding the first data that have been replaced a described guest virtual memory space address and described K guest user's state network interface card queue identity, send instruction, so that described Microsoft Loopback Adapter is in the mapping relations one by one according between the network interface card formation of Host user's state and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K Host user's state network interface card formation represented with described K Host user's state network interface card queue identity have mapping relations one by one, indicate N physical network card from a described Host virtual memory space address, having a Host physical memory space address of mapping relations, read out described the first data, and send described the first data based on described K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, wherein, described K and N are positive integer, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms.
16. device according to claim 15, is characterized in that,
Described data sending device also comprises:
Generate mapper, before for described K guest user's state network interface card queue identity of the first data transmission instruction being carried at described transducer, replacing with K Host user's state network interface card queue identity, generate the formation of M Host user's state network interface card; Set up M Microsoft Loopback Adapter formation and described M Host user's state network interface card formation mapping relations one by one; Wherein, a M physical network card formation and described M Microsoft Loopback Adapter formation has mapping relations one by one; The formation of described K Host user's state network interface card is the part or all of Host user's state network interface card formation among the formation of described M Host user's state network interface card, described K physical network card formation is the part or all of physical network card formation among described M physical network card formation, and described K Microsoft Loopback Adapter formation is the part or all of Microsoft Loopback Adapter formation among described M Microsoft Loopback Adapter formation; Described M physical network card formation is the physical network card formation that a described N physical network card is corresponding, and described M is the positive integer that is more than or equal to described K.
17. a data sink, is characterized in that, comprising:
Transmitter, for sending the first data receiver query statement to Microsoft Loopback Adapter;
Reader, if the first data reception acknowledgement instruction sent for receiving described Microsoft Loopback Adapter response the first data receiver query statement, inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if described available descriptor quantity is greater than 0, based on described current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, described the second data are that one of them physical network card in a described N physical network card receives based on the first physical network card formation, wherein, described first user state network interface card formation and described the first physical network card formation have mapping relations.
18. device according to claim 17, is characterized in that,
Described transmitter specifically for, to Microsoft Loopback Adapter, send the first data receiver query statement carried first user state network interface card queue identity.
19. a data sink, is characterized in that, comprising:
Receiver, be used to receiving the first data receiver query statement of self virtualizing machine;
Transponder, for forwarding the first data receiver query statement to described Microsoft Loopback Adapter, the the first data reception acknowledgement instruction sent if receive described Microsoft Loopback Adapter response the first data receiver query statement, to described virtual machine, forward the first data receiver query statement, so that described virtual machine inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if described available descriptor quantity is greater than 0, based on described current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, described Microsoft Loopback Adapter is the Microsoft Loopback Adapter that a polymerization N physical network card forms, described the second data are that one of them physical network card in a described N physical network card receives based on the first physical network card formation, wherein, described first user state network interface card formation and described the first physical network card formation have mapping relations.
20. device according to claim 19, is characterized in that, the first data receiver query statement has carried guest user's state network interface card queue identity;
Described data sink also comprises:
Transducer, for guest user's state network interface card queue identity that the first data receiver query statement is carried, replace with Host user's state network interface card queue identity, wherein, Host user's state network interface card formation that described Host user's state network interface card queue identity is represented, a guest user state network interface card formation represented with described guest user's state network interface card queue identity has mapping relations;
To described Microsoft Loopback Adapter, forward the first data receiver query statement aspect, described transponder specifically sends instruction for to described Microsoft Loopback Adapter, forwarding the first data that have been replaced described guest user's state network interface card queue identity.
21. a computing node, is characterized in that, comprising:
Hardware layer, operate in the host Host on described hardware layer, operate in the virtual machine on described Host; Wherein, described hardware layer comprises N physical network card, and N physical network card polymerization forms Microsoft Loopback Adapter;
The client layer of described virtual machine, be used for based on the first client computer guest virtual memory space address, the first data to be sent are write to a guest physical memory space address, wherein, a described guest virtual memory space address and a described guest physical memory space address have mapping relations; Send the first data and send instruction, wherein, described the first data send instruction and carry K guest user's state network interface card queue identity and a described guest virtual memory space address;
The inner nuclear layer of described virtual machine, replace with a guest physical memory space address for the guest virtual memory space address that the first data transmission instruction is carried; The first data that transmission has been replaced a guest virtual memory space address send instruction;
The client layer of described Host, for receiving the first data that have been replaced a guest virtual memory space address, send instruction, the guest physical memory space address that the first data transmission instruction is carried replaces with a Host virtual memory space address, and described K guest user's state network interface card queue identity that the first data transmission instruction is carried replaces with K Host user's state network interface card queue identity, wherein, a described guest physical memory space address and a described Host virtual memory space address have mapping relations, described K K Host user's state network interface card formation that Host user's state network interface card queue identity is represented, K the guest user state network interface card formation represented with described K guest user's state network interface card queue identity has mapping relations,
To Microsoft Loopback Adapter, forward the first data that have been replaced a described guest virtual memory space address and described K guest user's state network interface card queue identity and send instruction, so that described Microsoft Loopback Adapter is in the mapping relations one by one according between the network interface card formation of Host user's state and Microsoft Loopback Adapter formation, after determining K the Microsoft Loopback Adapter formation that K Host user's state network interface card formation represented with described K Host user's state network interface card queue identity have mapping relations one by one, indicate N physical network card from a described Host virtual memory space address, having a Host physical memory space address of mapping relations, read out described the first data, and send described the first data based on described K Microsoft Loopback Adapter formation, having K physical network card formation of mapping relations one by one, wherein, described K and N are positive integer.
22. a computing node, is characterized in that, comprising: hardware layer, operate in the host Host on described hardware layer, operate in the virtual machine on described Host; Wherein, described hardware layer comprises N physical network card, and N physical network card polymerization forms Microsoft Loopback Adapter;
Described virtual machine, for sending the first data receiver query statement to Microsoft Loopback Adapter, the the first data reception acknowledgement instruction sent if receive described Microsoft Loopback Adapter response the first data receiver query statement, inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if described available descriptor quantity is greater than 0, based on described current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, wherein, described the second data are that one of them physical network card in a described N physical network card receives based on the first physical network card formation, wherein, described first user state network interface card formation and described the first physical network card formation have mapping relations,
The client layer of described Host, for receiving the first data receiver query statement from described virtual machine, to described Microsoft Loopback Adapter, forward the first data receiver query statement, the the first data reception acknowledgement instruction sent if receive described Microsoft Loopback Adapter response the first data receiver query statement, to described virtual machine, forward the first data receiver query statement, so that described virtual machine inquiry obtains current descriptor pointer and the available descriptor quantity of first user state network interface card queue record, if described available descriptor quantity is greater than 0, based on described current descriptor pointer second user's state virtual memory space address pointed, from the second kernel state physical memory space address that has mapping relations with second user's state virtual memory space address, read the second data, described the second data are that one of them physical network card in a described N physical network card receives based on the first physical network card formation, wherein, described first user state network interface card formation and described the first physical network card formation have mapping relations.
23. computing node according to claim 22, is characterized in that,
Described virtual machine carries first user state network interface card queue identity to the first data receiver query statement that Microsoft Loopback Adapter sends;
The client layer of described Host also for, the first client computer guest user state network interface card queue identity that the first data receiver query statement received is carried replaces with Host user's state network interface card queue identity, Host user's state network interface card formation that wherein said Host user's state network interface card queue identity is represented, a guest user state network interface card formation represented with described guest user's state network interface card queue identity has mapping relations;
To described Microsoft Loopback Adapter, forward the first data receiver query statement aspect, the client layer of described Host specifically for, to described Microsoft Loopback Adapter, forward the first data that have been replaced described guest user's state network interface card queue identity and send instruction.
CN201310330217.4A 2013-07-31 2013-07-31 Data sending method, data receiving method and relevant devices Expired - Fee Related CN103414535B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310330217.4A CN103414535B (en) 2013-07-31 2013-07-31 Data sending method, data receiving method and relevant devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310330217.4A CN103414535B (en) 2013-07-31 2013-07-31 Data sending method, data receiving method and relevant devices

Publications (2)

Publication Number Publication Date
CN103414535A true CN103414535A (en) 2013-11-27
CN103414535B CN103414535B (en) 2017-04-19

Family

ID=49607522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310330217.4A Expired - Fee Related CN103414535B (en) 2013-07-31 2013-07-31 Data sending method, data receiving method and relevant devices

Country Status (1)

Country Link
CN (1) CN103414535B (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634225A (en) * 2013-12-18 2014-03-12 武汉朋客云计算有限公司 Service bandwidth expansion method in cloud computing network virtualization
CN104615495A (en) * 2015-01-28 2015-05-13 上海交通大学 Method for optimizing network throughput in virtualization environment of embedded network
CN105975407A (en) * 2016-03-22 2016-09-28 华为技术有限公司 Mapping method of memory address, and equipment
CN106874128A (en) * 2017-01-22 2017-06-20 广州华多网络科技有限公司 Data transmission method and device
CN107005495A (en) * 2017-01-20 2017-08-01 华为技术有限公司 Method, network interface card, host device and computer system for forwarding packet
CN107749893A (en) * 2017-11-09 2018-03-02 北京精强远科技有限公司 The quick method for receiving and storing data is realized in a kind of shared-file system
WO2019056380A1 (en) * 2017-09-25 2019-03-28 华为技术有限公司 Data access method and device
CN109634723A (en) * 2018-12-20 2019-04-16 国网新疆电力有限公司信息通信公司 The communication means for carrying module is deposited in fusion and load module is deposited in fusion
CN109688058A (en) * 2018-12-19 2019-04-26 迈普通信技术股份有限公司 Message processing method, device and the network equipment
CN111478794A (en) * 2020-03-05 2020-07-31 视联动力信息技术股份有限公司 Signaling message interaction method and device, terminal equipment and storage medium
CN112491570A (en) * 2019-09-11 2021-03-12 中兴通讯股份有限公司 A kind of virtual network card link state setting method, device and storage medium
CN113098955A (en) * 2021-03-30 2021-07-09 山东英信计算机技术有限公司 Data transmission method, device, equipment and computer readable storage medium
CN113438184A (en) * 2021-06-25 2021-09-24 北京汇钧科技有限公司 Network card queue management method and device and electronic equipment
WO2022001417A1 (en) * 2020-06-28 2022-01-06 华为技术有限公司 Data transmission method, processor system, and memory access system
CN113992425A (en) * 2021-11-12 2022-01-28 北京天融信网络安全技术有限公司 Method for receiving and transmitting network data packet, network equipment and communication system
CN114201317A (en) * 2021-12-16 2022-03-18 北京有竹居网络技术有限公司 Data transmission method, device, storage medium and electronic device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1866202A (en) * 2005-05-18 2006-11-22 大唐移动通信设备有限公司 Drive method for embedded apparatus
CN101917350A (en) * 2010-09-13 2010-12-15 南京中兴特种软件有限责任公司 Network card drive-based zero copy Ethernet message capturing and transmitting implementation method under Linux
CN102567226A (en) * 2011-12-31 2012-07-11 曙光信息产业股份有限公司 Data access implementation method and data access implementation device
US20130159580A1 (en) * 2009-12-17 2013-06-20 Yaozu Dong Cooperated interrupt moderation for a virtualization environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1866202A (en) * 2005-05-18 2006-11-22 大唐移动通信设备有限公司 Drive method for embedded apparatus
US20130159580A1 (en) * 2009-12-17 2013-06-20 Yaozu Dong Cooperated interrupt moderation for a virtualization environment
CN101917350A (en) * 2010-09-13 2010-12-15 南京中兴特种软件有限责任公司 Network card drive-based zero copy Ethernet message capturing and transmitting implementation method under Linux
CN102567226A (en) * 2011-12-31 2012-07-11 曙光信息产业股份有限公司 Data access implementation method and data access implementation device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
XIA XIE: "I/O Scheduling by Using Multi-network Interfaces of Virtualization System", 《TRUST,SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS (TRUSTICOM),2011 IEEE 10TH INTERNATIONAL CONFERENCE ON》, 18 November 2011 (2011-11-18) *
XIAOFEI DONG等: "Research and Implementation of Multi-network Adapter Bonding Technology Based on Multi-core Processor", 《COMPUTER SCIENCE AND AUTOMATION ENGINEERING(CSAE),2012 IEEE INTERNATIONAL CONFERENCE ON》, 27 May 2012 (2012-05-27) *
陈卫屏: "《中国优秀硕士学位论文全文全文数据库(电子期刊)》", 30 November 2009, article "网络数据流高速采集系统设计与实现" *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634225A (en) * 2013-12-18 2014-03-12 武汉朋客云计算有限公司 Service bandwidth expansion method in cloud computing network virtualization
CN104615495A (en) * 2015-01-28 2015-05-13 上海交通大学 Method for optimizing network throughput in virtualization environment of embedded network
CN105975407A (en) * 2016-03-22 2016-09-28 华为技术有限公司 Mapping method of memory address, and equipment
CN105975407B (en) * 2016-03-22 2020-10-09 华为技术有限公司 Memory address mapping method and device
CN107005495B (en) * 2017-01-20 2020-03-27 华为技术有限公司 Method, network card, host device and computer system for forwarding data packets
CN107005495A (en) * 2017-01-20 2017-08-01 华为技术有限公司 Method, network interface card, host device and computer system for forwarding packet
US11805058B2 (en) 2017-01-20 2023-10-31 Huawei Technologies Co., Ltd. Data packet forwarding method, network adapter, host device, and computer system
WO2018133035A1 (en) * 2017-01-20 2018-07-26 华为技术有限公司 Method, network card, host device and computer system for forwarding data packages
US11252087B2 (en) 2017-01-20 2022-02-15 Huawei Technologies Co., Ltd. Data packet forwarding method, network adapter, host device, and computer system
US10462056B2 (en) 2017-01-20 2019-10-29 Huawei Technologies Co., Ltd. Data packet forwarding method, network adapter, host device, and computer system
CN106874128A (en) * 2017-01-22 2017-06-20 广州华多网络科技有限公司 Data transmission method and device
US11249934B2 (en) 2017-09-25 2022-02-15 Huawei Technologies Co., Ltd. Data access method and apparatus
WO2019056380A1 (en) * 2017-09-25 2019-03-28 华为技术有限公司 Data access method and device
CN107749893A (en) * 2017-11-09 2018-03-02 北京精强远科技有限公司 The quick method for receiving and storing data is realized in a kind of shared-file system
CN109688058A (en) * 2018-12-19 2019-04-26 迈普通信技术股份有限公司 Message processing method, device and the network equipment
CN109688058B (en) * 2018-12-19 2021-03-02 迈普通信技术股份有限公司 Message processing method and device and network equipment
CN109634723A (en) * 2018-12-20 2019-04-16 国网新疆电力有限公司信息通信公司 The communication means for carrying module is deposited in fusion and load module is deposited in fusion
CN112491570A (en) * 2019-09-11 2021-03-12 中兴通讯股份有限公司 A kind of virtual network card link state setting method, device and storage medium
CN111478794A (en) * 2020-03-05 2020-07-31 视联动力信息技术股份有限公司 Signaling message interaction method and device, terminal equipment and storage medium
CN111478794B (en) * 2020-03-05 2022-11-15 视联动力信息技术股份有限公司 A signaling message interaction method, device, terminal equipment and storage medium
WO2022001417A1 (en) * 2020-06-28 2022-01-06 华为技术有限公司 Data transmission method, processor system, and memory access system
CN113098955A (en) * 2021-03-30 2021-07-09 山东英信计算机技术有限公司 Data transmission method, device, equipment and computer readable storage medium
CN113438184B (en) * 2021-06-25 2022-09-06 北京汇钧科技有限公司 Network card queue management method and device and electronic equipment
CN113438184A (en) * 2021-06-25 2021-09-24 北京汇钧科技有限公司 Network card queue management method and device and electronic equipment
CN113992425B (en) * 2021-11-12 2022-09-23 北京天融信网络安全技术有限公司 Method for receiving and transmitting network data packet, network equipment and communication system
CN113992425A (en) * 2021-11-12 2022-01-28 北京天融信网络安全技术有限公司 Method for receiving and transmitting network data packet, network equipment and communication system
CN114201317A (en) * 2021-12-16 2022-03-18 北京有竹居网络技术有限公司 Data transmission method, device, storage medium and electronic device
CN114201317B (en) * 2021-12-16 2024-02-02 北京有竹居网络技术有限公司 Data transmission method and device, storage medium and electronic equipment

Also Published As

Publication number Publication date
CN103414535B (en) 2017-04-19

Similar Documents

Publication Publication Date Title
CN103414535A (en) Data sending method, data receiving method and relevant devices
US10936535B2 (en) Providing remote, reliant and high performance PCI express device in cloud computing environments
US9798682B2 (en) Completion notification for a storage device
US10776144B2 (en) Address space management with respect to a coherent accelerator processor interface architecture
US10824466B2 (en) Container migration
US10498645B2 (en) Live migration of virtual machines using virtual bridges in a multi-root input-output virtualization blade chassis
CN102750178B (en) Virtualization management method of communication equipment hardware resources, and device related to method
US20180165177A1 (en) Debugging distributed web service requests
US11379387B2 (en) Storage system with submission queue selection utilizing application and submission queue priority
US20170017515A1 (en) Virtual Network Provisioning Prior to Virtual Machine Manager Launch by Loading a Partitioned Network Device with Attribute Data
CN106598696B (en) Method and device for data interaction between virtual machines
US20200344182A1 (en) Incoming packet processing for a computer system
CN108228099B (en) A method and device for data storage
US10467078B2 (en) Crash dump extraction of guest failure
US20250036481A1 (en) Device virtualization method and related device
CN105556473A (en) I/O task processing method, device and system
US9830110B2 (en) System and method to enable dynamic changes to virtual disk stripe element sizes on a storage controller
CN103336708A (en) Method and related equipment for aggregating network card resources, and computer system
US9817683B2 (en) Optimized remediation policy in a virtualized environment
US20120239826A1 (en) System authorizing direct data transfers between memories of several components of that system
US11119787B1 (en) Non-intrusive hardware profiling
CN108415779A (en) Technology for the queue management by main machine structure interface
US9336166B1 (en) Burst buffer appliance with operating system bypass functionality to facilitate remote direct memory access
CN107147532A (en) The virtual method and device of a kind of distributed apparatus
US10922253B1 (en) Implementing interrupt remapping via input/output memory management unit faults

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170419

Termination date: 20180731

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