CN114924843A - Information transmission method and device, computer equipment and storage medium - Google Patents

Information transmission method and device, computer equipment and storage medium Download PDF

Info

Publication number
CN114924843A
CN114924843A CN202210826292.9A CN202210826292A CN114924843A CN 114924843 A CN114924843 A CN 114924843A CN 202210826292 A CN202210826292 A CN 202210826292A CN 114924843 A CN114924843 A CN 114924843A
Authority
CN
China
Prior art keywords
network card
virtual network
sending
target
receiving
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
CN202210826292.9A
Other languages
Chinese (zh)
Other versions
CN114924843B (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.)
Shenzhen Yuxian Microelectronics Co ltd
Original Assignee
Shenzhen Yuxian Microelectronics 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 Shenzhen Yuxian Microelectronics Co ltd filed Critical Shenzhen Yuxian Microelectronics Co ltd
Priority to CN202210826292.9A priority Critical patent/CN114924843B/en
Publication of CN114924843A publication Critical patent/CN114924843A/en
Application granted granted Critical
Publication of CN114924843B publication Critical patent/CN114924843B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/083Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application relates to a method, a device, computer equipment and a storage medium for information transmission. The method comprises the following steps: acquiring a sending instruction and physical position information corresponding to each candidate sending virtual network card; reading information to be sent from the storage address through a kernel; respectively calculating the physical distance between the kernel and each candidate sending virtual network card, and determining a target sending virtual network card based on the physical distance; transmitting the information to be transmitted to the target transmitting virtual network card through the inner core; determining a target receiving virtual network card corresponding to the receiving object address based on the network card node mapping table and the receiving object address; and sending the message to a receiving object corresponding to the receiving object address through the target sending virtual network card. By adopting the method, the speed of information transmission between the container and the POD in the two virtual machines of the same server can be improved.

Description

Information transmission method and device, computer equipment and storage medium
Technical Field
The present application relates to the field of cloud computing, and in particular, to a method and an apparatus for information transmission, a computer device, and a storage medium.
Background
With the development of cloud native technology, more and more applications are deployed in containers, and data interaction between the applications is completed through information transmission between the containers or between PODs (the smallest unit of deployment in kubernets) and PODs.
In the prior art, information transmission between containers or between PODs is completed based on CNI (Container Network Interface), and the information transmission speed is slow.
Disclosure of Invention
In view of the foregoing, it is necessary to provide an information transmission method, apparatus, computer device, and computer-readable storage medium for improving information transmission speed between containers or PODs in different virtual machines of the same server.
The application provides an information transmission method, which comprises the following steps:
acquiring a sending instruction and physical position information corresponding to each candidate sending virtual network card, wherein the sending instruction comprises a storage address and a receiving object address;
reading information to be sent from the storage address through a kernel, and acquiring physical position information of the kernel;
respectively calculating the physical distance between the kernel and each candidate sending virtual network card based on the physical position information corresponding to the kernel and the physical position information corresponding to each candidate sending virtual network card, and determining a target sending virtual network card based on the physical distance;
transmitting the information to be transmitted to the target transmitting virtual network card through the inner core, and packaging the information to be transmitted through the target transmitting virtual network card to obtain a corresponding message;
acquiring a network card node mapping table, and determining a target receiving virtual network card corresponding to the receiving object address based on the network card node mapping table and the receiving object address; the network card node mapping table is a mapping relation between an object address and a virtual network card identifier;
and based on a physical link between the target sending virtual network card and the target receiving virtual network card, sending the message to a receiving object corresponding to the receiving object address through the target sending virtual network card.
In an embodiment, the obtaining the sending instruction and the physical location information corresponding to each candidate sending virtual network card includes:
acquiring a sending instruction;
acquiring each sending virtual network card identifier and state information of the sending virtual network card corresponding to each sending virtual network card identifier;
determining a sending virtual network card with idle state as a candidate sending virtual network card;
and acquiring the physical position information corresponding to the candidate sending virtual network card.
In one embodiment, the determining a target sending virtual network card based on the physical distance includes:
sorting the physical distances from small to large;
and taking the candidate sending virtual network card corresponding to the minimum physical distance as a target sending virtual network card.
In one embodiment, the determining a target receiving virtual network card corresponding to the receiving object address based on the network card node mapping table and the receiving object address includes:
acquiring each receiving virtual network card identifier corresponding to the receiving object address from the network card node mapping table;
acquiring state information of the receiving virtual network cards corresponding to the receiving virtual network card identifications, and determining the receiving virtual network cards with the state information in an idle state as candidate receiving virtual network cards;
acquiring the physical position information of the candidate receiving virtual network card and the physical position information of the target sending virtual network card;
calculating the physical distance between the candidate receiving virtual network card and the target sending virtual network card based on the physical position information of the candidate receiving virtual network card and the physical position information of the target sending virtual network card;
and determining the candidate receiving virtual network card corresponding to the minimum physical distance as the target receiving virtual network card.
In one embodiment, the sending, by the target sending virtual network card, the message to the receiving object corresponding to the receiving object address based on the physical link between the target sending virtual network card and the target receiving virtual network card includes:
based on the physical link, sending the message to the target receiving virtual network card through the target sending virtual network card;
and decapsulating the message through the target receiving virtual network card, and transmitting the to-be-transmitted information obtained by decapsulation to an inner core configured by a receiving object corresponding to the receiving object address.
In an embodiment, the decapsulating the message through the target receiving virtual network card, and transmitting the to-be-transmitted information obtained by decapsulating to a kernel of a receiving object configuration corresponding to the receiving object address includes:
decapsulating the message through the target receiving virtual network card to obtain a target address and the information to be sent;
confirming that the target address is consistent with the receiving object address through the target receiving virtual network card;
and transmitting the information to be transmitted to a kernel configured by a receiving object corresponding to the receiving object address through the target receiving virtual network card.
In one embodiment, the receiving object and the sending object of the information to be sent are respectively located in two virtual machines of the same server.
The present application further provides an information transmission apparatus, the apparatus comprising:
the instruction acquisition module is used for acquiring a sending instruction and physical position information corresponding to each candidate sending virtual network card, wherein the sending instruction comprises a storage address and a receiving object address;
the kernel information acquisition module is used for reading information to be sent from the storage address through a kernel and acquiring the physical position information of the kernel;
the computing module is used for respectively computing the physical distance between the kernel and each candidate sending virtual network card based on the physical position information corresponding to the kernel and the physical position information corresponding to each matched candidate sending virtual network card, and determining a target sending virtual network card based on the physical distance;
the transmission module is used for transmitting the information to be transmitted to the target transmission virtual network card by the kernel, and the target transmission virtual network card encapsulates the information to be transmitted to obtain a corresponding message;
the selection module is used for acquiring a network card node mapping table and determining a target receiving virtual network card corresponding to the receiving object address based on the network card node mapping table and the receiving object address; the network card node mapping table is a mapping relation between an address and a virtual network card identifier;
and the sending module is used for sending the message to a receiving object corresponding to the receiving object address through the target sending virtual network card based on a physical link between the target sending virtual network card and the target receiving virtual network card.
The present application further provides a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the following steps when executing the computer program:
acquiring a sending instruction and physical position information corresponding to each candidate sending virtual network card, wherein the sending instruction comprises a storage address and a receiving object address;
reading information to be sent from the storage address through a kernel, and acquiring physical position information of the kernel;
respectively calculating the physical distance between the kernel and each candidate sending virtual network card based on the physical position information corresponding to the kernel and the physical position information corresponding to each candidate sending virtual network card, and determining a target sending virtual network card based on the physical distance;
transmitting the information to be transmitted to the target transmitting virtual network card through the inner core, and packaging the information to be transmitted through the target transmitting virtual network card to obtain a corresponding message;
acquiring a network card node mapping table, and determining a target receiving virtual network card corresponding to the receiving object address based on the network card node mapping table and the receiving object address; the network card node mapping table is a mapping relation between an object address and a virtual network card identifier;
and based on a physical link between the target sending virtual network card and the target receiving virtual network card, sending the message to a receiving object corresponding to the receiving object address through the target sending virtual network card.
The present application also provides a computer readable storage medium having a computer program stored thereon, which when executed by a processor, performs the steps of:
acquiring a sending instruction and physical position information corresponding to each candidate sending virtual network card, wherein the sending instruction comprises a storage address and a receiving object address;
reading information to be sent from the storage address through a kernel, and acquiring physical position information of the kernel;
respectively calculating the physical distance between the kernel and each candidate sending virtual network card based on the physical position information corresponding to the kernel and the physical position information corresponding to each candidate sending virtual network card, and determining a target sending virtual network card based on the physical distance;
transmitting the information to be transmitted to the target transmitting virtual network card through the inner core, and packaging the information to be transmitted through the target transmitting virtual network card to obtain a corresponding message;
acquiring a network card node mapping table, and determining a target receiving virtual network card corresponding to the receiving object address based on the network card node mapping table and the receiving object address; the network card node mapping table is a mapping relation between an object address and a virtual network card identifier;
and sending the message to a receiving object corresponding to the receiving object address through the target sending virtual network card based on a physical link between the target sending virtual network card and the target receiving virtual network card.
According to the information transmission method, the information transmission device, the computer equipment and the storage medium, the candidate sending virtual network card with the shortest distance to the kernel is determined as the target sending virtual network card by reading the physical position information of the kernel of the information to be sent and the physical position information of each candidate sending virtual network card, the kernel transmits the acquired information to be sent to the target sending virtual network card, and the transmission speed of the information to be sent between the kernel and the target sending virtual network card is improved; acquiring each receiving virtual network card identification corresponding to the receiving object address from the network card node mapping table, determining the receiving virtual network card with the state information of idle state as a candidate receiving virtual network card by receiving the state information of the receiving virtual network card corresponding to the virtual network card identifier, determining the candidate receiving virtual network card with the shortest distance to the target transmitting virtual network card as the target receiving virtual network card through the physical position information of the target transmitting virtual network card and each candidate receiving virtual network card, encapsulating the information to be transmitted into a message by the target transmitting virtual network card, sending the message to the target receiving virtual network card through a physical link between the target receiving virtual network card and the target receiving virtual network card, and the physical link distance is shortest, so that the transmission speed of the message between the target sending virtual network card and the target receiving virtual network card is improved, and the target receiving virtual network card transmits the information to be transmitted, which is obtained by de-encapsulation, to the inner core configured by the receiving object. The speed of transmitting the information to be transmitted between the kernel configured by the transmitting object and the kernel configured by the receiving object is improved.
Drawings
FIG. 1 is a diagram of an exemplary embodiment of a method for transferring information;
FIG. 2 is a flow chart illustrating a method of information transfer according to an embodiment;
FIG. 3 is a flowchart illustrating a step of obtaining location information of a target sending virtual network card in one embodiment;
FIG. 4 is a flowchart illustrating the step of determining a target receiving virtual network card in one embodiment;
FIG. 5 is a flow chart illustrating the information transfer step in one embodiment;
FIG. 6 is a block diagram illustrating the structure of information transfer between containers according to one embodiment;
FIG. 7 is a block diagram illustrating the logical functions of the virtual network adapter in one embodiment;
FIG. 8 is a block diagram showing the structure of an information transmission apparatus according to an embodiment;
FIG. 9 is a diagram illustrating an internal structure of a computer device according to an embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The method for information transmission provided by the embodiment of the application can be applied to the application environment shown in fig. 1. Wherein the terminal 102 communicates with the server 104 via a network. The data storage system may store data that the server 104 needs to process. The data storage system may be integrated on the server 104, or may be located on the cloud or other network server. The terminal 102 sends an information sending request to the server 104, the sending object in the server 104 receives an information sending instruction, a kernel configured by the receiving object reads information to be sent from a storage address in the sending instruction, physical position information of the kernel for reading the information to be sent is obtained, a candidate sending virtual network card with the shortest distance from the kernel is determined to be a target sending virtual network card through the physical position information of the kernel and the physical position information of each candidate sending virtual network card, and the kernel transmits the obtained information to be sent to the target sending virtual network card; the method comprises the steps of obtaining receiving virtual network card identifications corresponding to receiving object addresses from a network card node mapping table, determining the receiving virtual network card with the state information in an idle state as a candidate receiving virtual network card through the state information of the receiving virtual network card corresponding to the receiving virtual network card identifications, determining the candidate receiving virtual network card with the shortest distance to the target sending virtual network card as the target receiving virtual network card through the physical position information of the target sending virtual network card and each candidate receiving virtual network card, packaging information to be sent into a message through the target sending virtual network card, sending the message to the target receiving virtual network card through a physical link between the target sending virtual network card and the target receiving virtual network card, and transmitting the information to be sent obtained by de-packaging to the target receiving virtual network card to an inner core configured by a receiving object. The terminal 102 may be, but not limited to, various personal computers, notebook computers, smart phones, tablet computers, internet of things devices and portable wearable devices, and the internet of things devices may be smart speakers, smart televisions, smart air conditioners, smart car-mounted devices, and the like. The portable wearable device can be a smart watch, a smart bracelet, a head-mounted device, and the like. The server 104 may be implemented as a stand-alone server or as a server cluster comprised of multiple servers.
In an embodiment, as shown in fig. 2, a method for information transmission is provided, and this embodiment is illustrated by applying the method to a terminal, and it is to be understood that the method may also be applied to a server, and may also be applied to a system including a terminal and a server, and is implemented through interaction between the terminal and the server. In this embodiment, the method includes the steps of:
step 202, obtaining a sending instruction and physical location information corresponding to each candidate sending virtual network card, where the sending instruction includes a storage address and a receiving object address.
Where an instruction refers to code that tells a receiving object to perform a particular action. Such as data sending instructions, arithmetic operation instructions, bit operation instructions, program flow control instructions, operational instructions, processor control instructions, and the like. The transmission instruction is a code that tells the receiving object to perform transmission of information. The transmission instruction may include one or more information of a transmission object IP Address (Internet Protocol Address), a storage Address of information to be transmitted, or information to be transmitted, a reception object IP Address, and the like. The candidate transmitting virtual network card refers to an idle state for allowing computer hardware to communicate on a computer network, which allows a receiving object and a transmitting object to transmit information through a cable or wirelessly. The candidate sending virtual network card has the functions of data encapsulation and decapsulation, link management, data encoding and decoding and the like, a multi-queue technology can be adopted, a network card multi-queue means that one network card is provided with a plurality of queues, received data are placed into one of the queues after determining a unique link according to TCP four-tuple (source address, source port, destination address and destination port) information, all packets of the link are placed into the queue, each queue corresponds to different interrupts, and different interrupts can be bound to different cores. The physical location information refers to information on a specific location on the cpu chip, and may be expressed by two-dimensional coordinates or three-dimensional coordinates. The receiving object address refers to the IP address of the receiving object, and the IP address is a uniform address format provided by the IP protocol and is used for allocating a logical address to each object on the server. For example, an IP address is assigned to a virtual machine, POD, container, and the like in the server. POD refers to the smallest unit of deployment in a cloud-native system, consisting of one or more containers. A container refers to a unit for deploying an application, with all necessary files for the application to run. The receiving object refers to a device or module that receives information to be transmitted. The receiving object may be a POD or a container deployed on the virtual machine.
Specifically, the sending object receives the sending instruction, obtains the identifier of the candidate sending virtual network card configured by the sending object, and then obtains the physical position coordinate of the candidate sending virtual network card corresponding to the identifier of the candidate sending virtual network card.
And step 204, reading the information to be sent from the storage address through the kernel, and acquiring the physical position information of the kernel.
The core is also called a core, and is a core chip in a Central Processing Unit (CPU), and is made of single crystal silicon and used for performing all calculations, receiving commands, storing commands, Processing data, and the like.
Specifically, the kernel configured by the sending object reads the information to be sent from the storage address, obtains a kernel identifier for reading the information to be sent, and then obtains the physical position coordinates of the kernel corresponding to the kernel identifier.
In one embodiment, a kernel that reads information to be transmitted may be designated, and if the kernel that reads information to be transmitted is not designated, the system determines to read the kernel that reads information to be transmitted.
And step 206, respectively calculating the physical distance between the kernel and each candidate sending virtual network card based on the physical position information corresponding to the kernel and the physical position information corresponding to each candidate sending virtual network card, and determining the target sending virtual network card based on the physical distance.
Wherein, the physical distance refers to a straight line distance between two points. It is understood that a straight-line distance between two points of the same plane. The target sending virtual network card refers to a network card used for sending information to be sent by a sending object.
Specifically, according to the two-dimensional coordinates of the kernel and the two-dimensional coordinates of each candidate sending virtual network card, the physical distance between the kernel and each candidate sending virtual network card is calculated through a linear distance calculation formula between the coordinates, the physical distances corresponding to the candidate sending virtual network cards are compared, and the target sending virtual network card of the sending object is determined.
And 208, transmitting the information to be transmitted to the target transmitting virtual network card through the inner core, and packaging the information to be transmitted through the target transmitting virtual network card to obtain a corresponding message.
The encapsulation means to package the information to be transmitted and the related additional information. The packaged content may be determined based on a protocol stack. For example, a common TCP \ IP (Transmission Control Protocol/Internet Protocol) Protocol stack, also called Protocol stack, refers to a specific software implementation of a computer network Protocol suite. The message refers to a data unit exchanged and transmitted in the network, that is, a data block to be sent by a station at a time, and includes complete data information to be sent, and the length is not limited and is variable. For example, the message may include a sending object address, a message to be sent, a receiving object address, and the like.
Specifically, the kernel in the sending object sends the information to be sent to the target sending virtual network card through the network card driver, and the target sending virtual network card encapsulates information such as the address of the sending object, the information to be sent, the address of the receiving object, and the like to obtain a message.
Step 210, acquiring a network card node mapping table, and determining a target receiving virtual network card corresponding to a receiving object address based on the network card node mapping table and the receiving object address; the network card node mapping table is a mapping relation between the object address and the virtual network card identifier.
Specifically, the sending object obtains each receiving virtual network card identifier corresponding to the receiving object address from the network card node mapping, and determines a target receiving virtual network card from the receiving virtual network cards corresponding to each receiving virtual network card identifier.
Step 212, based on the physical link between the target sending virtual network card and the target receiving virtual network card, sending the message to the receiving object corresponding to the receiving object address through the target sending virtual network card.
The physical link refers to a physical channel for information transmission. Such as a DMA (Direct Memory Access) channel.
Specifically, the target sending virtual network card in the sending object sends the message to the receiving object through a physical channel between the target sending virtual network card and the target receiving virtual network card.
In the information transmission method, the candidate sending virtual network card with the shortest distance to the kernel is determined as the target sending virtual network card by reading the physical position information of the kernel of the information to be sent and the physical position information of each candidate sending virtual network card, and the kernel transmits the acquired information to be sent to the target sending virtual network card, so that the transmission speed of the information to be sent between the kernel and the target sending virtual network card is increased; acquiring each receiving virtual network card identification corresponding to the receiving object address from the network card node mapping table, determining the receiving virtual network card with the state information of idle state as a candidate receiving virtual network card by receiving the state information of the receiving virtual network card corresponding to the virtual network card identifier, determining the candidate receiving virtual network card with the shortest distance to the target transmitting virtual network card as the target receiving virtual network card through the physical position information of the target transmitting virtual network card and each candidate receiving virtual network card, packaging the information to be transmitted into a message by the target transmitting virtual network card, sending the message to the target receiving virtual network card through a physical link between the target receiving virtual network card and the target receiving virtual network card, and the physical link distance is shortest, so that the transmission speed of the message between the target sending virtual network card and the target receiving virtual network card is improved, and the target receiving virtual network card transmits the information to be transmitted, which is obtained by de-encapsulation, to the inner core configured by the receiving object. The speed of transmitting the information to be transmitted from the kernel of the sending object configuration to the kernel of the receiving object configuration is improved.
In one embodiment, as shown in fig. 3, the obtaining the sending instruction and the physical location information corresponding to each candidate sending virtual network card includes:
step 302, a send instruction is obtained.
Specifically, the transmission target receives the transmission instruction.
Step 304, acquiring each sending virtual network card identifier and state information of the sending virtual network card corresponding to each sending virtual network card identifier.
The sending of the virtual network card identifier refers to a character string which can uniquely represent the sending of the virtual network card, can be understood as the name of the sending of the virtual network card, and can be composed of numbers, English letters or a combination of the numbers and the English letters. The state information refers to the running form of the virtual network card and can be divided into an idle state, a use state, a waiting state and the like. The status information may be derived from the listener information obtained by the listener.
Specifically, the sending object obtains each configured sending virtual network card identifier, and then obtains status information of each sending virtual network card corresponding to each sending virtual network card identifier.
Step 306, determining the sending virtual network card with the state information being in the idle state as a candidate sending virtual network card.
The idle state refers to a state in which a task is not executed.
Specifically, the sending object determines, according to the state information corresponding to each sending virtual network card, the sending virtual network card with the state information in the idle state as a candidate sending virtual network card.
And 308, acquiring physical position information corresponding to the candidate sending virtual network card.
Specifically, the sending object obtains physical position coordinates corresponding to each candidate sending virtual network card.
In this embodiment, after the sending object obtains the sending instruction, the sending virtual network card identifiers configured are obtained, the sending virtual network card with the state information in the idle state is determined as the candidate sending virtual network card according to the state information of the sending virtual network card corresponding to the sending virtual network card identifier, the physical position information of the candidate sending virtual network card is obtained, the candidate sending virtual network card is determined through layer-by-layer screening, and the accuracy of determining the candidate sending virtual network card is improved.
In one embodiment, determining the target sending virtual network card comprises:
sorting the physical distances from small to large; and taking the candidate sending virtual network card corresponding to the minimum physical distance as a target sending virtual network card.
Specifically, the sending object sorts the physical distances corresponding to the kernels and the candidate sending virtual network cards from small to large, and the candidate sending virtual network card corresponding to the smallest physical distance is determined as the target sending virtual network card of the sending object.
In this embodiment, according to the corresponding physical distance between the kernel and each candidate sending virtual network card, the candidate sending virtual network card with the shortest distance from the kernel is determined to be the target sending virtual network card, so that the delay of transferring the data to be sent from the kernel to the target sending virtual network card is shortened.
In one embodiment, as shown in fig. 4, determining the target receiving virtual network card corresponding to the receiving target address includes:
step 402, obtaining each receiving virtual network card identification corresponding to the receiving object address from the network card node mapping table.
Specifically, the sending object traverses the network card node mapping table to obtain the receiving virtual network card identifier associated with the address of the receiving object.
Step 404, obtaining the status information of the receiving virtual network card corresponding to each receiving virtual network card identifier, and determining the receiving virtual network card with the status information being in an idle state as a candidate receiving virtual network card.
Specifically, the sending object obtains monitoring information of a listener corresponding to each received virtual network card identifier, obtains status information corresponding to the received virtual network card from the monitoring information, and takes the received virtual network card with the status information being in an idle state as a candidate receiving virtual network card.
And step 406, acquiring the physical position information of the candidate receiving virtual network card and the physical position information of the target sending virtual network card.
Step 408, calculating the physical distance between the candidate receiving virtual network card and the target sending virtual network card based on the physical position information of the candidate receiving virtual network card and the physical position information of the target sending virtual network card.
Specifically, the transmitting object calculates the distance between the target transmitting virtual network card and each candidate receiving virtual network card through a linear distance calculation formula between the coordinates according to the physical position coordinates of the target transmitting virtual network card and the physical position coordinates of each candidate receiving virtual network card.
Step 410, determining the candidate receiving virtual network card corresponding to the minimum physical distance as the target receiving virtual network card.
In this embodiment, the sending object obtains the receiving virtual network card identifier configured for the receiving object from the network card node mapping table, determines the receiving virtual network card in an idle state as a candidate receiving virtual network card according to the state information of the receiving virtual network card corresponding to the receiving virtual network card identifier, calculates a physical distance between the target sending virtual network card and each candidate receiving virtual network card, determines the target receiving virtual network card of the receiving object, and determines the target receiving virtual network card closest to the target sending virtual network card through screening and calculation, thereby improving the flexibility of determining the target receiving virtual network card.
In one embodiment, the sending of the message to the receiving object by the target sending virtual network card includes:
based on the physical link, sending a message to a target receiving virtual network card through a target sending virtual network card; and decapsulating the message through the target receiving virtual network card, and transmitting the information to be transmitted obtained by decapsulation to an inner core configured by a receiving object corresponding to the receiving object address.
Specifically, a target sending virtual network card in the sending object sends a message to a target receiving virtual network card in the receiving object through a physical channel between the target sending virtual network card and the target receiving virtual network card, the target receiving virtual network card decapsulates the received message, and transmits the information to be sent obtained by decapsulation to an inner core in the receiving object.
In this embodiment, the target sending virtual network card in the sending object sends the message to the target receiving virtual network card in the receiving object through the physical channel between the target sending virtual network card and the target receiving virtual network card, and the transmission time of the message between the target sending virtual network card and the target receiving virtual network card is shortened without the broadcasting stage and the network sending process.
In one embodiment, as shown in fig. 5, the passing, by the target receiving virtual network card, information to be sent to the kernel configured by the receiving object includes:
and 502, decapsulating the message through the target receiving virtual network card to obtain a target address and information to be sent.
The destination address refers to an IP address for receiving an information object to be sent.
Specifically, according to a protocol that a target sending virtual network card encapsulates information to be sent, a target receiving virtual network card in a receiving object decapsulates a message, and decapsulates the message to obtain a target address and information to be sent.
Step 504, the target address is confirmed to be consistent with the receiving object address through the target receiving virtual network card.
Specifically, the receiving object compares the destination address obtained by decapsulation with the receiving object address, and if the destination address is consistent with the receiving object address, the following steps are performed.
Step 506, the information to be sent is transmitted to the kernel of the receiving object configuration corresponding to the receiving object address through the target receiving virtual network card.
Specifically, a target receiving virtual network card in the receiving object transmits information to be transmitted to a kernel configured by the receiving object through a network card driver.
In this embodiment, the target receiving virtual network card in the receiving object decapsulates the message, compares the destination address obtained by decapsulation with its own address, and if the destination address is consistent with its own address, transmits the information to be transmitted to the kernel in the receiving object through the network card driver, thereby improving the accuracy of information transmission.
In one embodiment, the receiving object and the sending object of the information to be sent are respectively located in two virtual machines of the same server.
The server is a device capable of supporting the capability of responding to the service request, supporting the service, and securing the service. The server has high-speed CPU computing capability, long-time reliable operation, strong I/O (Input/Output) capability, external data throughput capability and better expansibility, and provides computing or application service for other clients (such as computer terminals, smart phones, even large-scale equipment such as train systems and the like) in a network. A virtual machine refers to a complete computer system having complete hardware system functions and operating in a completely isolated environment, which is simulated by software. The virtual machine has an independent kernel, a hard disk and an operating system, and can be operated like a physical machine.
Specifically, the receiving object is located in one virtual machine of the server, and the sending object is located in another virtual machine of the same server.
In this embodiment, the information transmission method is used for a sending object and a receiving object, where the sending object and the receiving object are located in two virtualizations of the same server, and a usage scenario of the information transmission method is described.
In a specific embodiment, the sending object and the receiving object are respectively a sending container and a receiving container located in two virtual machines of the same server, and the sending container and the receiving container are respectively configured with a plurality of kernels and a plurality of virtual network cards, as shown in fig. 6. The virtual network card is a multi-queue network card and has the logic function as shown in fig. 7.
Transmission of information to be transmitted in a transmitting container. The sending container receives an information sending instruction, a kernel in the sending container reads information to be sent from an information storage position to be sent in the sending instruction, and a kernel identifier corresponding to the kernel reading the information to be sent and a two-dimensional coordinate of a physical position of the kernel corresponding to the kernel identifier are obtained; then acquiring sending virtual network card identifiers configured for each sending in the sending container and state information of the sending virtual network cards corresponding to the sending virtual network card identifiers, determining the sending virtual network cards with the state information in an idle state as candidate sending virtual network cards, and acquiring physical position coordinates of the candidate sending virtual network cards; according to the two-dimensional coordinates of the inner core and the two-dimensional coordinates of each candidate sending virtual network card, calculating the physical distance between the inner core and each candidate sending virtual network card through a straight-line distance calculation formula between coordinate points, and determining the candidate sending virtual network card with the shortest physical distance with the inner core as a target sending virtual network card; the kernel transmits the information to be transmitted to the target transmitting virtual network card through the network card driver; and the target sending virtual network card encapsulates the information to be sent to obtain a message.
And transmitting the message between the target sending virtual network card and the target receiving virtual network card. The sending container acquires each receiving virtual network card identifier configured by the receiving object from the network card node mapping table according to the receiving object address, acquires the state information of the receiving virtual network card corresponding to each receiving virtual network card identifier, determines the receiving virtual network card with the state information in an idle state as a candidate receiving virtual network card, and acquires the physical position coordinate of each candidate receiving virtual network card; calculating the physical distance between the target sending virtual network card and each candidate receiving virtual network card, and determining the candidate receiving virtual network card with the shortest physical distance to the target sending virtual network card as the target receiving virtual network card; and the target sending virtual network card sends the message to the target receiving virtual network card through the physical channel.
And (3) transferring the information to be transmitted in the receiving object. The target receiving virtual network card de-encapsulates the message to obtain a target IP address and information to be sent; and checking whether the target IP address is consistent with the IP address of the target IP address, and if so, transmitting the information to be transmitted to a kernel in the receiving object through a network card driver.
In this embodiment, by reading the physical location information of the kernel of the information to be transmitted and the physical location information of each candidate transmitting virtual network card, the candidate transmitting virtual network card with the shortest distance to the kernel is determined as the target transmitting virtual network card, and the kernel transmits the acquired information to be transmitted to the target transmitting virtual network card, so that the transmission speed of the information to be transmitted between the kernel and the target transmitting virtual network card is increased; acquiring each receiving virtual network card identification corresponding to the receiving object address from the network card node mapping table, determining the receiving virtual network card with the state information of idle state as a candidate receiving virtual network card by receiving the state information of the receiving virtual network card corresponding to the virtual network card identification, determining the candidate receiving virtual network card with the shortest distance to the target transmitting virtual network card as the target receiving virtual network card through the physical position information of the target transmitting virtual network card and each candidate receiving virtual network card, packaging the information to be transmitted into a message by the target transmitting virtual network card, sending the message to the target receiving virtual network card through a physical link between the target receiving virtual network card and the target receiving virtual network card, and the physical link distance is shortest, the transmission speed of the message between the target sending virtual network card and the target receiving virtual network card is improved, and the target receiving virtual network card transmits the information to be sent obtained by de-encapsulation to an inner core configured by a receiving object. The speed of transmitting the information to be transmitted between the kernel configured by the transmitting object and the kernel configured by the receiving object is improved.
It should be understood that although the various steps in the flow charts of fig. 1-7 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 1-7 may include multiple steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed sequentially, but may be performed alternately or alternately with other steps or at least some of the other steps.
Based on the same inventive concept, the embodiment of the application also provides an information transmission device for realizing the above related information. The implementation scheme for solving the problem provided by the apparatus is similar to the implementation scheme described in the above method, so specific limitations in the embodiments of one or more information transmission apparatuses provided below may refer to the limitations on the information transmission method in the above, and details are not described herein again.
In one embodiment, as shown in fig. 8, an information transmission apparatus is provided and includes an instruction obtaining module, a kernel information obtaining module, a calculating module, a transferring module, a selecting module, and a sending module, where:
an instruction obtaining module 802, configured to obtain a sending instruction and physical location information corresponding to each candidate sending virtual network card, where the sending instruction includes a storage address and a receiving object address;
a kernel information obtaining module 804, configured to read information to be sent from the storage address through a kernel, and obtain physical location information of the kernel;
a calculating module 806, configured to calculate physical distances between the kernel and each candidate sending virtual network card respectively based on the physical location information corresponding to the kernel and the physical location information corresponding to each matched candidate sending virtual network card, and determine a target sending virtual network card based on the physical distances;
a transfer module 808, configured to transfer, by the kernel, the to-be-sent information to the target sending virtual network card, where the target sending virtual network card encapsulates the to-be-sent information to obtain a corresponding message;
a selecting module 810, configured to obtain a network card node mapping table, and determine, based on the network card node mapping table and the receiving object address, a target receiving virtual network card corresponding to the receiving object address; the network card node mapping table is a mapping relation between an address and a virtual network card identifier;
a sending module 812, configured to send the message to the receiving object corresponding to the receiving object address through the target sending virtual network card based on a physical link between the target sending virtual network card and the target receiving virtual network card.
In one embodiment, the instruction fetch module 802 is further configured to: acquiring a sending instruction; acquiring each sending virtual network card identifier and state information of the sending virtual network card corresponding to each sending virtual network card identifier; determining a sending virtual network card with idle state as a candidate sending virtual network card; and acquiring the physical position information corresponding to the candidate sending virtual network card.
In one embodiment, the calculation module 806 is further configured to: sorting the physical distances from small to large; and taking the candidate sending virtual network card corresponding to the minimum physical distance as a target sending virtual network card.
In one embodiment, the selection module 810 is further configured to: acquiring each receiving virtual network card identifier corresponding to the receiving object address from the network card node mapping table; acquiring state information of the receiving virtual network cards corresponding to the receiving virtual network card identifications, and determining the receiving virtual network cards with the state information in an idle state as candidate receiving virtual network cards; acquiring the physical position information of the candidate receiving virtual network card and the physical position information of the target sending virtual network card; calculating the physical distance between the candidate receiving virtual network card and the target sending virtual network card based on the physical position information of the candidate receiving virtual network card and the physical position information of the target sending virtual network card; and determining the candidate receiving virtual network card corresponding to the minimum physical distance as the target receiving virtual network card.
In one embodiment, the sending module 812 is further configured to: based on the physical link, sending the message to the target receiving virtual network card through the target sending virtual network card; and decapsulating the message through the target receiving virtual network card, and transmitting the to-be-transmitted information obtained by decapsulation to an inner core configured by a receiving object corresponding to the receiving object address.
In one embodiment, the sending module 812 is further configured to: decapsulating the message through the target receiving virtual network card to obtain a target address and the information to be sent; confirming that the target address is consistent with the receiving object address through the target receiving virtual network card; and transmitting the information to be transmitted to a kernel configured by a receiving object corresponding to the receiving object address through the target receiving virtual network card.
In one embodiment, the sending module 812 is further configured to: and the receiving object and the sending object of the information to be sent are respectively positioned in two virtual machines of the same server.
The modules in the information transmission device can be wholly or partially realized by software, hardware and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
FIG. 9 is a diagram that illustrates an internal structure of the computer device in one embodiment. The computer device may be either a terminal or a server. As shown in fig. 9, the computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium of the computer device stores an operating system and may also store a computer program that, when executed by the processor, causes the processor to implement the video compositing method. The internal memory may also have stored therein a computer program that, when executed by the processor, causes the processor to perform a business document conversion method.
It will be appreciated by those skilled in the art that the configuration shown in fig. 9 is a block diagram of only a portion of the configuration associated with the present application, and is not intended to limit the computing device to which the present application may be applied, and that a particular computing device may include more or fewer components than shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided, comprising a memory and a processor, the memory having a computer program stored therein, the processor implementing the following steps when executing the computer program: acquiring a sending instruction and physical position information corresponding to each candidate sending virtual network card, wherein the sending instruction comprises a storage address and a receiving object address; reading information to be sent from the storage address through a kernel, and acquiring physical position information of the kernel; respectively calculating physical distances between the kernels and the candidate sending virtual network cards based on the physical position information corresponding to the kernels and the physical position information corresponding to the matched candidate sending virtual network cards, and determining a target sending virtual network card based on the physical distances; the kernel transmits the information to be sent to the target sending virtual network card, and the target sending virtual network card encapsulates the information to be sent to obtain a corresponding message; acquiring a network card node mapping table, and determining a target receiving virtual network card corresponding to the receiving object address based on the network card node mapping table and the receiving object address; the network card node mapping table is a mapping relation between an address and a virtual network card identifier; and based on a physical link between the target sending virtual network card and the target receiving virtual network card, sending the message to a receiving object corresponding to the receiving object address through the target sending virtual network card.
In one embodiment, the processor, when executing the computer program, further performs the steps of: acquiring a sending instruction; acquiring each sending virtual network card identifier and state information of the sending virtual network card corresponding to each sending virtual network card identifier; determining a sending virtual network card with idle state as a candidate sending virtual network card; and acquiring the physical position information corresponding to the candidate sending virtual network card.
In one embodiment, the processor, when executing the computer program, further performs the steps of: sorting the physical distances from small to large; and taking the candidate sending virtual network card corresponding to the minimum physical distance as a target sending virtual network card.
In one embodiment, the processor, when executing the computer program, further performs the steps of: acquiring each receiving virtual network card identifier corresponding to the receiving object address from the network card node mapping table; acquiring state information of the receiving virtual network card corresponding to each receiving virtual network card identifier, and determining the receiving virtual network card with the state information in an idle state as a candidate receiving virtual network card; acquiring the physical position information of the candidate receiving virtual network card and the physical position information of the target sending virtual network card; calculating the physical distance between the candidate receiving virtual network card and the target sending virtual network card based on the physical position information of the candidate receiving virtual network card and the physical position information of the target sending virtual network card; and determining the candidate receiving virtual network card corresponding to the minimum physical distance as the target receiving virtual network card.
In one embodiment, the processor, when executing the computer program, further performs the steps of: based on the physical link, sending the message to the target receiving virtual network card through the target sending virtual network card; and decapsulating the message through the target receiving virtual network card, and transmitting the to-be-transmitted information obtained by decapsulation to an inner core configured by a receiving object corresponding to the receiving object address.
In one embodiment, the processor, when executing the computer program, further performs the steps of: decapsulating the message through the target receiving virtual network card to obtain a target address and the information to be sent; confirming that the target address is consistent with the receiving object address through the target receiving virtual network card; and transmitting the information to be transmitted to a kernel configured by a receiving object corresponding to the receiving object address through the target receiving virtual network card.
In one embodiment, the processor, when executing the computer program, further performs the steps of: and the receiving object and the sending object of the information to be sent are respectively positioned in two virtual machines of the same server.
In one embodiment, a computer-readable storage medium is provided, having a computer program stored thereon, which when executed by a processor, performs the steps of: acquiring a sending instruction and physical position information corresponding to each candidate sending virtual network card, wherein the sending instruction comprises a storage address and a receiving object address; reading information to be sent from the storage address through a kernel, and acquiring physical position information of the kernel; respectively calculating physical distances between the kernels and the candidate sending virtual network cards based on the physical position information corresponding to the kernels and the physical position information corresponding to the matched candidate sending virtual network cards, and determining a target sending virtual network card based on the physical distances; the kernel transmits the information to be sent to the target sending virtual network card, and the target sending virtual network card packages the information to be sent to obtain a corresponding message; acquiring a network card node mapping table, and determining a target receiving virtual network card corresponding to the receiving object address based on the network card node mapping table and the receiving object address; the network card node mapping table is a mapping relation between an address and a virtual network card identifier; and sending the message to a receiving object corresponding to the receiving object address through the target sending virtual network card based on a physical link between the target sending virtual network card and the target receiving virtual network card.
In one embodiment, the computer program when executed by the processor further performs the steps of: acquiring a sending instruction; acquiring each sending virtual network card identifier and state information of the sending virtual network card corresponding to each sending virtual network card identifier; determining a sending virtual network card with idle state as a candidate sending virtual network card; and acquiring the physical position information corresponding to the candidate sending virtual network card.
In one embodiment, the computer program when executed by the processor further performs the steps of: sorting the physical distances from small to large; and taking the candidate sending virtual network card corresponding to the minimum physical distance as a target sending virtual network card.
In one embodiment, the computer program when executed by the processor further performs the steps of: acquiring each receiving virtual network card identifier corresponding to the receiving object address from the network card node mapping table; acquiring state information of the receiving virtual network cards corresponding to the receiving virtual network card identifications, and determining the receiving virtual network cards with the state information in an idle state as candidate receiving virtual network cards; acquiring the physical position information of the candidate receiving virtual network card and the physical position information of the target sending virtual network card; calculating the physical distance between the candidate receiving virtual network card and the target sending virtual network card based on the physical position information of the candidate receiving virtual network card and the physical position information of the target sending virtual network card; and determining the candidate receiving virtual network card corresponding to the minimum physical distance as the target receiving virtual network card.
In one embodiment, the computer program when executed by the processor further performs the steps of: based on the physical link, sending the message to the target receiving virtual network card through the target sending virtual network card; and decapsulating the message through the target receiving virtual network card, and transmitting the information to be transmitted obtained by decapsulation to an inner core configured by a receiving object corresponding to the receiving object address.
In one embodiment, the computer program when executed by the processor further performs the steps of: decapsulating the message through the target receiving virtual network card to obtain a target address and the information to be sent; confirming that the target address is consistent with the receiving object address through the target receiving virtual network card; and transmitting the information to be transmitted to a kernel configured by a receiving object corresponding to the receiving object address through the target receiving virtual network card.
In one embodiment, the computer program when executed by the processor further performs the steps of: and the receiving object and the sending object of the information to be sent are respectively positioned in two virtual machines of the same server.
It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) referred to in the present application are information and data authorized by the user or sufficiently authorized by each party.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, database, or other medium used in the embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, high-density embedded nonvolatile Memory, resistive Random Access Memory (ReRAM), Magnetic Random Access Memory (MRAM), Ferroelectric Random Access Memory (FRAM), Phase Change Memory (PCM), graphene Memory, and the like. Volatile Memory can include Random Access Memory (RAM), external cache Memory, and the like. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM), for example. The databases referred to in various embodiments provided herein may include at least one of relational and non-relational databases. The non-relational database may include, but is not limited to, a block chain based distributed database, and the like. The processors referred to in the embodiments provided herein may be general purpose processors, central processing units, graphics processors, digital signal processors, programmable logic devices, quantum computing based data processing logic devices, etc., without limitation.
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the present application. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.

Claims (10)

1. A method of information transmission, the method comprising:
acquiring a sending instruction and physical position information corresponding to each candidate sending virtual network card, wherein the sending instruction comprises a storage address and a receiving object address;
reading information to be sent from the storage address through a kernel, and acquiring physical position information of the kernel;
respectively calculating the physical distance between the kernel and each candidate sending virtual network card based on the physical position information corresponding to the kernel and the physical position information corresponding to each candidate sending virtual network card, and determining a target sending virtual network card based on the physical distance;
transmitting the information to be transmitted to the target transmitting virtual network card through the inner core, and packaging the information to be transmitted through the target transmitting virtual network card to obtain a corresponding message;
acquiring a network card node mapping table, and determining a target receiving virtual network card corresponding to the receiving object address based on the network card node mapping table and the receiving object address; the network card node mapping table is a mapping relation between an object address and a virtual network card identifier;
and sending the message to a receiving object corresponding to the receiving object address through the target sending virtual network card based on a physical link between the target sending virtual network card and the target receiving virtual network card.
2. The method of claim 1, wherein the obtaining the sending instruction and the physical location information corresponding to each candidate sending virtual network card comprises:
acquiring a sending instruction;
acquiring each sending virtual network card identifier and state information of the sending virtual network card corresponding to each sending virtual network card identifier;
determining a sending virtual network card with idle state as a candidate sending virtual network card;
and acquiring the physical position information corresponding to the candidate sending virtual network card.
3. The method of claim 1, wherein determining the target sending virtual network card based on the physical distance comprises:
sorting the physical distances from small to large;
and taking the candidate sending virtual network card corresponding to the minimum physical distance as a target sending virtual network card.
4. The method of claim 1, wherein the determining the target receiving virtual network card corresponding to the receiving object address based on the network card node mapping table and the receiving object address comprises:
acquiring each receiving virtual network card identifier corresponding to the receiving object address from the network card node mapping table;
acquiring state information of the receiving virtual network cards corresponding to the receiving virtual network card identifications, and determining the receiving virtual network cards with the state information in an idle state as candidate receiving virtual network cards;
acquiring the physical position information of the candidate receiving virtual network card and the physical position information of the target sending virtual network card;
calculating the physical distance between the candidate receiving virtual network card and the target sending virtual network card based on the physical position information of the candidate receiving virtual network card and the physical position information of the target sending virtual network card;
and determining the candidate receiving virtual network card corresponding to the minimum physical distance as the target receiving virtual network card.
5. The method according to claim 1, wherein the sending the message to the receiving object corresponding to the receiving object address through the target sending virtual network card based on the physical link between the target sending virtual network card and the target receiving virtual network card comprises:
based on the physical link, sending the message to the target receiving virtual network card through the target sending virtual network card;
and decapsulating the message through the target receiving virtual network card, and transmitting the to-be-transmitted information obtained by decapsulation to an inner core configured by a receiving object corresponding to the receiving object address.
6. The method according to claim 5, wherein the decapsulating the message by the target receiving virtual network card and transmitting the to-be-transmitted information obtained by decapsulation to a kernel of a receiving object configuration corresponding to the receiving object address includes:
decapsulating the message through the target receiving virtual network card to obtain a target address and the information to be sent;
confirming that the target address is consistent with the receiving object address through the target receiving virtual network card;
and transmitting the information to be transmitted to an inner core configured by a receiving object corresponding to the receiving object address through the target receiving virtual network card.
7. The method according to claim 1, wherein the receiving object and the sending object of the information to be sent are respectively located in two virtual machines of the same server.
8. An apparatus for information transmission, the apparatus comprising:
the instruction acquisition module is used for acquiring a sending instruction and physical position information corresponding to each candidate sending virtual network card, wherein the sending instruction comprises a storage address and a receiving object address;
the kernel information acquisition module is used for reading information to be sent from the storage address through a kernel and acquiring the physical position information of the kernel;
the computing module is used for respectively computing the physical distance between the kernel and each candidate sending virtual network card based on the physical position information corresponding to the kernel and the physical position information corresponding to each matched candidate sending virtual network card, and determining a target sending virtual network card based on the physical distance;
the transmission module is used for transmitting the information to be transmitted to the target transmission virtual network card by the kernel, and the target transmission virtual network card encapsulates the information to be transmitted to obtain a corresponding message;
the selection module is used for acquiring a network card node mapping table and determining a target receiving virtual network card corresponding to the receiving object address based on the network card node mapping table and the receiving object address; the network card node mapping table is a mapping relation between an address and a virtual network card identifier;
and the sending module is used for sending the message to a receiving object corresponding to the receiving object address through the target sending virtual network card based on a physical link between the target sending virtual network card and the target receiving virtual network card.
9. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor, when executing the computer program, implements the steps of the method of any of claims 1 to 7.
10. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 7.
CN202210826292.9A 2022-07-14 2022-07-14 Information transmission method and device, computer equipment and storage medium Active CN114924843B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210826292.9A CN114924843B (en) 2022-07-14 2022-07-14 Information transmission method and device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210826292.9A CN114924843B (en) 2022-07-14 2022-07-14 Information transmission method and device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114924843A true CN114924843A (en) 2022-08-19
CN114924843B CN114924843B (en) 2022-11-04

Family

ID=82815621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210826292.9A Active CN114924843B (en) 2022-07-14 2022-07-14 Information transmission method and device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114924843B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013038547A1 (en) * 2011-09-15 2013-03-21 富士通株式会社 Virtual machine management device, virtual machine movement control program and virtual machine movement control method
CN103036949A (en) * 2012-11-27 2013-04-10 华中科技大学 Optimization method and system of Cassandra system in virtual environment
CN103460191A (en) * 2011-03-28 2013-12-18 日本电气株式会社 Virtual machine administration system and virtual machine administration method
CN104750542A (en) * 2015-04-22 2015-07-01 成都睿峰科技有限公司 Data migration method based on cloud platform
US9832256B1 (en) * 2013-09-20 2017-11-28 Ca, Inc. Assigning client virtual machines based on location
EP3835956A2 (en) * 2019-12-12 2021-06-16 Sap Se Data structure execution framework using virtual computing domains

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103460191A (en) * 2011-03-28 2013-12-18 日本电气株式会社 Virtual machine administration system and virtual machine administration method
WO2013038547A1 (en) * 2011-09-15 2013-03-21 富士通株式会社 Virtual machine management device, virtual machine movement control program and virtual machine movement control method
CN103036949A (en) * 2012-11-27 2013-04-10 华中科技大学 Optimization method and system of Cassandra system in virtual environment
US9832256B1 (en) * 2013-09-20 2017-11-28 Ca, Inc. Assigning client virtual machines based on location
CN104750542A (en) * 2015-04-22 2015-07-01 成都睿峰科技有限公司 Data migration method based on cloud platform
EP3835956A2 (en) * 2019-12-12 2021-06-16 Sap Se Data structure execution framework using virtual computing domains

Also Published As

Publication number Publication date
CN114924843B (en) 2022-11-04

Similar Documents

Publication Publication Date Title
CN100470517C (en) System and method for information handling system PCI express advanced switching
WO2017067391A1 (en) Data sharing method and device for virtual machines
US10341264B2 (en) Technologies for scalable packet reception and transmission
WO2016101288A1 (en) Remote direct memory accessmethod, device and system
CN112243046B (en) Communication method and network card
CN110661725A (en) Techniques for reordering network packets on egress
WO2017032112A1 (en) Method for communicating with board having no central processing unit and communication device
CN116860488B (en) Process communication method and related device
CN105389120A (en) Supporting RMA API over active message
CN110728558A (en) Virtual article package sending method, device, equipment and storage medium
CN113891396A (en) Data packet processing method and device, computer equipment and storage medium
CN105610730A (en) Method and system for message interaction between CPU and network equipment
CN114363055B (en) Data transmission method and device, computer equipment and storage medium
CN114050998A (en) Method, device, electronic equipment and medium for realizing remote direct memory access
CN113986969A (en) Data processing method and device, electronic equipment and storage medium
CN106407151A (en) Information processing method and device
CN114924843B (en) Information transmission method and device, computer equipment and storage medium
CN110958216B (en) Secure online network packet transmission
CN109819026B (en) Method and device for transmitting information
CN103823721A (en) Interprocess communication method and equipment
WO2021036189A1 (en) Rdma data sending and receiving methods, electronic device and readable storage medium
CN113422754A (en) Data processing method and device, electronic equipment and computer readable storage medium
US20200117630A1 (en) Communication between field programmable gate arrays
CN113422792B (en) Data transmission method, device, electronic equipment and computer storage medium
CN113934672B (en) Network equipment management method, system, device, computer equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant