CN114924843B - 一种信息传输的方法、装置、计算机设备和存储介质 - Google Patents

一种信息传输的方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN114924843B
CN114924843B CN202210826292.9A CN202210826292A CN114924843B CN 114924843 B CN114924843 B CN 114924843B CN 202210826292 A CN202210826292 A CN 202210826292A CN 114924843 B CN114924843 B CN 114924843B
Authority
CN
China
Prior art keywords
virtual network
network card
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.)
Active
Application number
CN202210826292.9A
Other languages
English (en)
Other versions
CN114924843A (zh
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/zh
Publication of CN114924843A publication Critical patent/CN114924843A/zh
Application granted granted Critical
Publication of CN114924843B publication Critical patent/CN114924843B/zh
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

本申请涉及一种信息传输的方法、装置、计算机设备和存储介质。所述方法包括:获取发送指令和各个候选发送虚拟网卡对应的物理位置信息;通过内核从所述存储地址中读取待发送信息;分别计算所述内核与所述各个候选发送虚拟网卡之间的物理距离,基于所述物理距离确定目标发送虚拟网卡;通过所述内核将所述待发送信息传递给所述目标发送虚拟网卡;基于所述网卡节点映射表及所述接收对象地址,确定所述接收对象地址对应的目标接收虚拟网卡;通过所述目标发送虚拟网卡将所述报文发送给所述接收对象地址对应的接收对象。采用本方法能够提高同一个服务器的两个虚拟机中容器以及POD之间信息传输的速度。

Description

一种信息传输的方法、装置、计算机设备和存储介质
技术领域
本申请涉及云计算领域,特别是涉及一种信息传输的方法、装置、计算机设备和存储介质。
背景技术
随着云原生技术的发展,越来越多应用程序部署在容器中,通过容器与容器之间或者POD(Kubernetes中的最小部署单元)与POD之间的信息传输完成应用程序之间数据交互。
在现有技术中,基于CNI(Container Network Interface,即容器网络接口)完成容器之间或者POD之间的信息传输,信息传输速度慢。
发明内容
基于此,有必要针对上述技术问题,提供一种信息传输的方法、装置、计算机设备、计算机可读存储介质,提高同一服务器的不同虚拟机中容器之间或者POD之间信息传输速度。
本申请提供了一种信息传输的方法,所述方法包括:
获取发送指令和各个候选发送虚拟网卡对应的物理位置信息,所述发送指令包括存储地址、接收对象地址;
通过内核从所述存储地址中读取待发送信息,获取所述内核的物理位置信息;
基于所述内核对应的物理位置信息以及所述各个候选发送虚拟网卡对应的物理位置信息,分别计算所述内核与所述各个候选发送虚拟网卡之间的物理距离,基于所述物理距离确定目标发送虚拟网卡;
通过所述内核将所述待发送信息传递给所述目标发送虚拟网卡,通过所述目标发送虚拟网卡对所述待发送信息进行封装,得到对应的报文;
获取网卡节点映射表,基于所述网卡节点映射表及所述接收对象地址确定所述接收对象地址对应的目标接收虚拟网卡;所述网卡节点映射表为对象地址与虚拟网卡标识之间的映射关系;
基于所述目标发送虚拟网卡与所述目标接收虚拟网卡之间的物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述接收对象地址对应的接收对象。
在一个实施例中,所述获取发送指令和各个候选发送虚拟网卡对应的物理位置信息包括:
获取发送指令;
获取各个发送虚拟网卡标识,以及所述各个发送虚拟网卡标识对应的发送虚拟网卡的状态信息;
确定状态信息为空闲状态的发送虚拟网卡为候选发送虚拟网卡;
获取所述候选发送虚拟网卡对应的物理位置信息。
在一个实施例中,所述基于所述物理距离确定目标发送虚拟网卡包括:
将所述物理距离从小到大排序;
将最小的物理距离对应的候选发送虚拟网卡作为目标发送虚拟网卡。
在一个实施例中,所述基于所述网卡节点映射表及所述接收对象地址确定所述接收对象地址对应的目标接收虚拟网卡包括:
从所述网卡节点映射表中获取与所述接收对象地址对应的各个接收虚拟网卡标识;
获取所述各个接收虚拟网卡标识对应的接收虚拟网卡的状态信息,确定状态信息为空闲状态的接收虚拟网卡为候选接收虚拟网卡;
获取所述候选接收虚拟网卡的物理位置信息及所述目标发送虚拟网卡的物理位置信息;
基于所述候选接收虚拟网卡的物理位置信息及所述目标发送虚拟网卡的物理位置信息,计算所述候选接收虚拟网卡与所述目标发送虚拟网卡之间的物理距离;
确定最小的物理距离对应的候选接收虚拟网卡为目标接收虚拟网卡。
在一个实施例中,所述基于所述目标发送虚拟网卡与所述目标接收虚拟网卡之间的物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述接收对象地址对应的接收对象包括:
基于所述物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述目标接收虚拟网卡;
通过所述目标接收虚拟网卡对所述报文进行解封,将解封得到的所述待发送信息传递给所述接收对象地址对应的接收对象配置的内核。
在一个实施例中,所述通过所述目标接收虚拟网卡对所述报文进行解封,将解封得到的所述待发送信息传递给所述接收对象地址对应的接收对象配置的内核包括:
通过所述目标接收虚拟网卡对所述报文进行解封,解封得到目标地址和所述待发送信息;
通过所述目标接收虚拟网卡确认所述目标地址与所述接收对象地址一致;
通过所述目标接收虚拟网卡将所述待发送信息传递给所述接收对象地址对应的接收对象配置的内核。
在一个实施例中,所述待发送信息的接收对象和发送对象分别位于同一个服务器的两个虚拟机中。
本申请还提供了一种信息传输的装置,所述装置包括:
指令获取模块,用于获取发送指令和各个候选发送虚拟网卡对应的物理位置信息,所述发送指令包括存储地址、接收对象地址;
内核信息获取模块,用于通过内核从所述存储地址中读取待发送信息,获取所述内核的物理位置信息;
计算模块,用于基于所述内核对应的物理位置信息以及匹配的各个候选发送虚拟网卡对应的物理位置信息,分别计算所述内核与所述各个候选发送虚拟网卡之间的物理距离,基于所述物理距离确定目标发送虚拟网卡;
传递模块,用于所述内核将所述待发送信息传递给所述目标发送虚拟网卡,所述目标发送虚拟网卡对所述待发送信息进行封装,得到对应的报文;
选择模块,用于获取网卡节点映射表,基于所述网卡节点映射表及所述接收对象地址确定所述接收对象地址对应的目标接收虚拟网卡;所述网卡节点映射表为地址与虚拟网卡标识之间的映射关系;
发送模块,用于基于所述目标发送虚拟网卡与所述目标接收虚拟网卡之间的物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述接收对象地址对应的接收对象。
本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取发送指令和各个候选发送虚拟网卡对应的物理位置信息,所述发送指令包括存储地址、接收对象地址;
通过内核从所述存储地址中读取待发送信息,获取所述内核的物理位置信息;
基于所述内核对应的物理位置信息以及所述各个候选发送虚拟网卡对应的物理位置信息,分别计算所述内核与所述各个候选发送虚拟网卡之间的物理距离,基于所述物理距离确定目标发送虚拟网卡;
通过所述内核将所述待发送信息传递给所述目标发送虚拟网卡,通过所述目标发送虚拟网卡对所述待发送信息进行封装,得到对应的报文;
获取网卡节点映射表,基于所述网卡节点映射表及所述接收对象地址确定所述接收对象地址对应的目标接收虚拟网卡;所述网卡节点映射表为对象地址与虚拟网卡标识之间的映射关系;
基于所述目标发送虚拟网卡与所述目标接收虚拟网卡之间的物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述接收对象地址对应的接收对象。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取发送指令和各个候选发送虚拟网卡对应的物理位置信息,所述发送指令包括存储地址、接收对象地址;
通过内核从所述存储地址中读取待发送信息,获取所述内核的物理位置信息;
基于所述内核对应的物理位置信息以及所述各个候选发送虚拟网卡对应的物理位置信息,分别计算所述内核与所述各个候选发送虚拟网卡之间的物理距离,基于所述物理距离确定目标发送虚拟网卡;
通过所述内核将所述待发送信息传递给所述目标发送虚拟网卡,通过所述目标发送虚拟网卡对所述待发送信息进行封装,得到对应的报文;
获取网卡节点映射表,基于所述网卡节点映射表及所述接收对象地址确定所述接收对象地址对应的目标接收虚拟网卡;所述网卡节点映射表为对象地址与虚拟网卡标识之间的映射关系;
基于所述目标发送虚拟网卡与所述目标接收虚拟网卡之间的物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述接收对象地址对应的接收对象。
上述信息传输的方法、装置、计算机设备、存储介质,通过读取待发送信息的内核的物理位置信息和各个候选发送虚拟网卡的物理位置信息,确定与内核距离最短的候选发送虚拟网卡为目标发送虚拟网卡,内核将获取的待发送信息传递给目标发送虚拟网卡,提高了待发送信息在内核和目标发送虚拟网卡之间传递的速度;从网卡节点映射表中获取接收对象地址对应的各个接收虚拟网卡标识,通过接收虚拟网卡标识对应的接收虚拟网卡的状态信息,确定状态信息为空闲状态的接收虚拟网卡为候选接收虚拟网卡,通过目标发送虚拟网卡和各个候选接收虚拟网卡的物理位置信息,确定与目标发送虚拟网卡距离最短的候选接收虚拟网卡为目标接收虚拟网卡,目标发送虚拟网卡将待发送信息封装成报文,通过与目标接收虚拟网卡之间的物理链路将报文发送给目标接收虚拟网卡,且物理链路距离最短,提高了报文在目标发送虚拟网卡和目标接收虚拟网卡之间传输的速度,目标接收虚拟网卡将解封装得到的待发送信息传递给接收对象配置的内核。提高了待发送信息在发送对象配置的内核到接收对象配置的内核之间传输的速度。
附图说明
图1为一个实施例中信息传输方法的应用环境图;
图2为一个实施例中信息传输方法的流程示意图;
图3为一个实施例中获取目标发送虚拟网卡位置信息步骤的流程示意图;
图4为一个实施例中确定目标接收虚拟网卡步骤的流程示意图;
图5为一个实施例中信息传输步骤的流程示意图;
图6为一个实施例中容器之间信息传输的结构框图;
图7为一个实施例中虚拟网卡逻辑功能的结构框图;
图8为一个实施例中信息传输装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的信息传输的方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102向服务器104发送信息发送请求,服务器104中发送对象接收信息发送指令,接收对象配置的内核从发送指令中的存储地址中读取待发送信息,获取读取待发送信息的内核的物理位置信息,通过内核的物理位置信息和各个候选发送虚拟网卡的物理位置信息,确定与内核距离最短的候选发送虚拟网卡为目标发送虚拟网卡,内核将获取的待发送信息传递给目标发送虚拟网卡;从网卡节点映射表中获取接收对象地址对应的各个接收虚拟网卡标识,通过接收虚拟网卡标识对应的接收虚拟网卡的状态信息,确定状态信息为空闲状态的接收虚拟网卡为候选接收虚拟网卡,通过目标发送虚拟网卡和各个候选接收虚拟网卡的物理位置信息,确定与目标发送虚拟网卡距离最短的候选接收虚拟网卡为目标接收虚拟网卡,目标发送虚拟网卡将待发送信息封装成报文,通过与目标接收虚拟网卡之间的物理链路将报文发送给目标接收虚拟网卡,目标接收虚拟网卡将解封装得到的待发送信息传递给接收对象配置的内核。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种信息传输的方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤202,获取发送指令和各个候选发送虚拟网卡对应的物理位置信息,发送指令包括存储地址、接收对象地址。
其中,指令是指告诉接收对象执行特定动作的代码。例如,数据发送指令、算术运算指令、位运算指令、程序流程控制指令、操作指令、处理器控制指令等。发送指令是指告诉接收对象执行信息发送的代码。发送指令中可以包含发送对象IP地址(Internet ProtocolAddress,即互联网协议地址)、待发送信息存储地址或者待发送信息、接收对象IP地址等中的一个或者多个信息。候选发送虚拟网卡是指空闲状态,用于允许计算机在计算机网络上进行通讯的计算机硬件,它使接收对象和发送对象可以通过电缆或无线进行信息传输。候选发送虚拟网卡具有数据封装与解封、链路管理、数据编码与译码等功能,可以采用多队列技术,网卡多队列是指一个网卡具有多个队列,收到的数据根据TCP四元组(源地址、源端口、目的地址、目的端口)信息确定唯一一个链接后放入其中一个队列, 后面该链接的所有包都放入该队列,每个队列对应不同的中断, 可以将不同的中断绑定到不同的核。物理位置信息是指位于中央处理器芯片上的具体位置的信息,可以用二维坐标或者三位坐标表示。接收对象地址,是指接收对象的IP地址,IP地址是IP协议提供的一种统一的地址格式,它为服务器上的每一个对象分配一个逻辑地址。比如,为服务器中的虚拟机、POD、容器等分配IP地址。POD是指云原生系统中的最小部署单元,由一个或多个容器组成。容器是指用于部署应用程序的单元,具有应用程序运行的所有必要文件。接收对象是指接收待发送信息的设备或者模块。接收对象可以为部署在虚拟机上的容器或者POD。
具体的,发送对象接收发送指令,获取发送对象配置的候选发送虚拟网卡的标识,再获取候选发送虚拟网卡的标识对应的候选发送虚拟网卡的物理位置坐标。
步骤204,通过内核从存储地址中读取待发送信息,获取内核的物理位置信息。
其中,内核又称为核心,是CPU(Central Processing Unit,即中央处理器)中间的核心芯片,由单晶硅制成,用来完成所有的计算、接受命令、存储命令、处理数据等。
具体的,发送对象配置的内核从存储地址中读取待发送信息,获取读取待发送信息的内核标识,再获取与内核标识对应的内核的物理位置坐标。
在一个实施例中,可以指定读取待发送信息的内核,如未对读取待发送信息的内核进行指定,则由系统决定读取待发送信息的内核。
步骤206,基于内核对应的物理位置信息以及各个候选发送虚拟网卡对应的物理位置信息,分别计算内核与各个候选发送虚拟网卡之间的物理距离,基于物理距离确定目标发送虚拟网卡。
其中,物理距离是指两点之间的直线距离。可以理解为,同一平面的两点之间的直线距离。目标发送虚拟网卡是指发送对象用于发送待发送信息的网卡。
具体的,根据内核的二维坐标与各个候选发送虚拟网卡的二维坐标,通过坐标之间直线距离计算公式计算内核与候选发送虚拟网卡之间的物理距离,比较各个候选发送虚拟网卡对应的物理距离,确定发送对象的目标发送虚拟网卡。
步骤208,通过内核将待发送信息传递给目标发送虚拟网卡,通过目标发送虚拟网卡对待发送信息进行封装,得到对应的报文。
其中,封装是指对待发送的信息以及相关附加信息进行打包。打包的内容可以基于协议栈确定。比如,常见的TCP\IP(Transmission Control Protocol/InternetProtocol,即传输控制协议/网际协议)协议栈,协议栈又称协议堆叠,是指计算机网络协议套件的一个具体的软件实现。报文是指网络中交换与传输的数据单元,即站点一次性要发送的数据块,包含了将要发送的完整的数据信息,长度不限且可变。例如,报文可以包含发送对象地址、待发送消息、接收对象地址等。
具体的,发送对象中的内核通过网卡驱动程序将待发送信息发送给目标发送虚拟网卡,目标发送虚拟网卡将发送对象地址、待发送消息以及接收对象地址等信息进行封装得到报文。
步骤210,获取网卡节点映射表,基于网卡节点映射表及接收对象地址确定接收对象地址对应的目标接收虚拟网卡;网卡节点映射表为对象地址与虚拟网卡标识之间的映射关系。
具体的,发送对象从网卡节点映射中获取与接收对象地址对应的各个接收虚拟网卡标识,从各个接收虚拟网卡标识对应的接收虚拟网卡中确定目标接收虚拟网卡。
步骤212,基于目标发送虚拟网卡与目标接收虚拟网卡之间的物理链路,通过目标发送虚拟网卡将报文发送给接收对象地址对应的接收对象。
其中,物理链路是指用于信息传输的物理通道。例如,DMA(Direct MemoryAccess,即直接存储器存取)通道。
具体的,通过目标发送虚拟网卡与目标接收虚拟网卡之间的物理通道,发送对象中的目标发送虚拟网卡将报文发送给接收对象。
上述信息传输的方法中,通过读取待发送信息的内核的物理位置信息和各个候选发送虚拟网卡的物理位置信息,确定与内核距离最短的候选发送虚拟网卡为目标发送虚拟网卡,内核将获取的待发送信息传递给目标发送虚拟网卡,提高了待发送信息在内核和目标发送虚拟网卡之间传递的速度;从网卡节点映射表中获取接收对象地址对应的各个接收虚拟网卡标识,通过接收虚拟网卡标识对应的接收虚拟网卡的状态信息,确定状态信息为空闲状态的接收虚拟网卡为候选接收虚拟网卡,通过目标发送虚拟网卡和各个候选接收虚拟网卡的物理位置信息,确定与目标发送虚拟网卡距离最短的候选接收虚拟网卡为目标接收虚拟网卡,目标发送虚拟网卡将待发送信息封装成报文,通过与目标接收虚拟网卡之间的物理链路将报文发送给目标接收虚拟网卡,且物理链路距离最短,提高了报文在目标发送虚拟网卡和目标接收虚拟网卡之间传输的速度,目标接收虚拟网卡将解封装得到的待发送信息传递给接收对象配置的内核。提高了待发送信息在发送对象配置的内核到接收对象配置的内核之间传输的速度。
在一个实施例中,如图3所示,获取发送指令和各个候选发送虚拟网卡对应的物理位置信息包括:
步骤302,获取发送指令。
具体的,发送对象接收发送指令。
步骤304,获取各个发送虚拟网卡标识,以及各个发送虚拟网卡标识对应的发送虚拟网卡的状态信息。
其中,发送虚拟网卡标识是指可以唯一代表发送虚拟网卡的字符串,可以理解为发送虚拟网卡的名称,可以由数字、英文字母或者数字和英文字母的组合构成。状态信息是指虚拟网卡的运行形式,可以分为空闲状态、使用状态、等候状态等形式。状态信息可以从监听器获取的监听信息中得到。
具体的,发送对象获取配置的各个发送虚拟网卡标识,再获取各个发送虚拟网卡标识对应的各个发送虚拟网卡的状态信息。
步骤306,确定状态信息为空闲状态的发送虚拟网卡为候选发送虚拟网卡。
其中,空闲状态是指未执行任务的状态。
具体的,发送对象根据各个发送虚拟网卡对应的状态信息,确定状态信息为空闲状态的发送虚拟网卡为候选发送虚拟网卡。
步骤308,获取候选发送虚拟网卡对应的物理位置信息。
具体的,发送对象获取各个候选发送虚拟网卡对应的物理位置坐标。
在本实施例中,发送对象获取发送指令之后,获取配置的各个发送虚拟网卡标识,根据发送虚拟网卡标识对应的发送虚拟网卡的状态信息,确定状态信息为空闲状态的发送虚拟网卡为候选发送虚拟网卡,获取候选发送虚拟网卡的物理位置信息,通过层层的筛选确定候选发送虚拟网卡,提高了确定候选发送虚拟网卡的精确度。
在一个实施例中,确定目标发送虚拟网卡包括:
将物理距离从小到大排序;将最小的物理距离对应的候选发送虚拟网卡作为目标发送虚拟网卡。
具体的,发送对象将内核与各个候选发送虚拟网卡之间对应的物理距离进行从小到大的排序,将最小的物理距离对应的候选发送虚拟网卡确定为发送对象的目标发送虚拟网卡。
在本实施例中,根据内核与各个候选发送虚拟网卡之间对应的物理距离,确定与内核距离最短的候选发送虚拟网卡为目标发送虚拟网卡,缩短了待发送数据从内核传递到目标发送虚拟网卡的延迟。
在一个实施例中,如图4所示,确定接收对象地址对应的目标接收虚拟网卡包括:
步骤402,从网卡节点映射表中获取与接收对象地址对应的各个接收虚拟网卡标识。
具体的,发送对象对网卡节点映射表进行遍历,获取与接收对象地址关联的接收虚拟网卡标识。
步骤404,获取各个接收虚拟网卡标识对应的接收虚拟网卡的状态信息,确定状态信息为空闲状态的接收虚拟网卡为候选接收虚拟网卡。
具体的,发送对象获取各个接收虚拟网卡标识对应的监听器的监听信息,从监听信息中获取对应接收虚拟网卡的状态信息,将状态信息为空闲状态的接收虚拟网卡作为候选接收虚拟网卡。
步骤406,获取候选接收虚拟网卡的物理位置信息及目标发送虚拟网卡的物理位置信息。
步骤408,基于候选接收虚拟网卡的物理位置信息及目标发送虚拟网卡的物理位置信息,计算候选接收虚拟网卡与目标发送虚拟网卡之间的物理距离。
具体的,发送对象根据目标发送虚拟网卡的物理位置坐标与各个候选接收虚拟网卡的物理位置坐标,通过坐标之间的直线距离计算公式计算目标发送虚拟网卡与各个候选接收虚拟网卡之间的距离。
步骤410,确定最小的物理距离对应的候选接收虚拟网卡为目标接收虚拟网卡。
在本实施例中,发送对象从网卡节点映射表中获取接收对象配置的接收虚拟网卡标识,根据接收虚拟网卡标识对应的接收虚拟网卡的状态信息,确定空闲状态的接收虚拟网卡为候选接收虚拟网卡,计算目标发送虚拟网卡与各个候选接收虚拟网卡之间的物理距离,确定接收对象的目标接收虚拟网卡,经过筛选与计算确定与目标发送虚拟网卡距离最近的目标接收虚拟网卡,提高了确定目标接收虚拟网卡的灵活性。
在一个实施例中,目标发送虚拟网卡将报文发送给接收对象包括:
基于物理链路,通过目标发送虚拟网卡将报文发送给目标接收虚拟网卡;通过目标接收虚拟网卡对报文进行解封,将解封得到的待发送信息传递给接收对象地址对应的接收对象配置的内核。
具体的,发送对象中的目标发送虚拟网卡通过目标发送虚拟网卡与目标接收虚拟网卡之间的物理通道将报文发送给接收对象中的目标接收虚拟网卡,目标接收虚拟网卡对接收到的报文进行解封,将解封得到的待发送信息传递给接收对象中的内核。
在本实施例中,发送对象中的目标发送虚拟网卡通过目标发送虚拟网卡与目标接收虚拟网卡之间的物理通道将报文发送给接收对象中的目标接收虚拟网卡,未经过广播阶段和网络发送过程,缩短了报文在目标发送虚拟网卡和目标接收虚拟网卡之间的传输时间。
在一个实施例中,如图5所示,目标接收虚拟网卡将待发送信息传递给接收对象配置的内核包括:
步骤502,通过目标接收虚拟网卡对报文进行解封,解封得到目标地址和待发送信息。
其中,目标地址是指接收待发送信息对象的IP地址。
具体的,根据目标发送虚拟网卡封装待发送信息的协议,接收对象中的目标接收虚拟网卡对报文进行解封装,解封装得到目标地址和待发送信息。
步骤504,通过目标接收虚拟网卡确认目标地址与接收对象地址一致。
具体的,接收对象将解封装得到的目的地址与接收对象地址进行比对,如果目的地址与接收对象地址一致,则进行下列步骤。
步骤506,通过目标接收虚拟网卡将待发送信息传递给接收对象地址对应的接收对象配置的内核。
具体的,接收对象中的目标接收虚拟网卡通过网卡驱动程序将待发送信息传递给接收对象配置的内核。
在本实施例中,接收对象中的目标接收虚拟网卡对报文进行解封装,将解封装得到目的地址与自身的地址进行比对,若目的地址与自身的地址一致,则将待发送信息通过网卡驱动程序传递给接收对象中的内核,提高了信息传输的准确性。
在一个实施例中,待发送信息的接收对象和发送对象分别位于同一个服务器的两个虚拟机中。
其中,服务器是指具备承担响应服务请求、承担服务、保障服务的能力的设备。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O(Input/Output,即输入/输出)能力、外部数据吞吐能力以及更好的扩展性,在网络中为其它客户机(如电脑终端、智能手机、甚至是火车系统等大型设备)提供计算或者应用服务。虚拟机是指指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机具有独立的内核、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。
具体的,接收对象位于服务器的一个虚拟机中,发送对象位于同一个服务器的另外一个虚拟机中。
在本实施例中,信息传输的方法用于发送对象和接收对象,发送对象和接收对象位于同一个服务器的两个虚拟中,说明了信息传输的方法的使用场景。
在一个具体的实施例中,发送对象和接收对象分别为位于同一个服务器的两个虚拟机中的发送容器和接收容器,发送容器和接收容器分别配置了多个内核和多个虚拟网卡,如图6所示。虚拟网卡为多队列网卡,具有如图7所述的逻辑功能。
待发送信息在发送容器中的传输。发送容器接收信息发送指令,发送容器中的内核从发送指令中的待发送信息储存位置读取待发送信息,获取读取待发送信息的内核对应的内核标识,以及内核标识对应的内核的物理位置二维坐标;再获取发送容器配置各个发送虚拟网卡标识,以及发送虚拟网卡标识对应的发送虚拟网卡的状态信息,确定状态信息为空闲状态的发送虚拟网卡为候选发送虚拟网卡,获取各个候选发送虚拟网卡的物理位置坐标;根据内核的二维坐标与各个候选发送虚拟网卡二维坐标,通过坐标点之间的直线距离计算公式计算内核与各个候选发送虚拟网卡之间的物理距离,确定与内核的物理距离最短的候选发送虚拟网卡为目标发送虚拟网卡;内核通过网卡驱动程序将待发送信息传递给目标发送虚拟网卡;目标发送虚拟网卡将待发送信息进行封装得到报文。
报文在目标发送虚拟网卡和目标接收虚拟网卡之间的传输。发送容器根据接收对象地址从网卡节点映射表中获取接收对象配置的各个接收虚拟网卡标识,获取各个接收虚拟网卡标识对应的接收虚拟网卡的状态信息,确定状态信息为空闲状态的接收虚拟网卡为候选接收虚拟网卡,获取各个候选接收虚拟网卡的物理位置坐标;计算目标发送虚拟网卡与各个候选接收虚拟网卡之间的物理距离,确定与目标发送虚拟网卡的物理距离最短的候选接收虚拟网卡为目标接收虚拟网卡;目标发送虚拟网卡通过物理通道将报文发送给目标接收虚拟网卡。
待发送信息在接收对象中的传递。目标接收虚拟网卡对报文进行解封装,得到目标IP地址与待发送信息;核实目标IP地址与自身的IP地址是否一致,如果一致,则将待发送信息通过网卡驱动程序传递给接收对象中的内核。
在本实施例中,通过读取待发送信息的内核的物理位置信息和各个候选发送虚拟网卡的物理位置信息,确定与内核距离最短的候选发送虚拟网卡为目标发送虚拟网卡,内核将获取的待发送信息传递给目标发送虚拟网卡,提高了待发送信息在内核和目标发送虚拟网卡之间传递的速度;从网卡节点映射表中获取接收对象地址对应的各个接收虚拟网卡标识,通过接收虚拟网卡标识对应的接收虚拟网卡的状态信息,确定状态信息为空闲状态的接收虚拟网卡为候选接收虚拟网卡,通过目标发送虚拟网卡和各个候选接收虚拟网卡的物理位置信息,确定与目标发送虚拟网卡距离最短的候选接收虚拟网卡为目标接收虚拟网卡,目标发送虚拟网卡将待发送信息封装成报文,通过与目标接收虚拟网卡之间的物理链路将报文发送给目标接收虚拟网卡,且物理链路距离最短,提高了报文在目标发送虚拟网卡和目标接收虚拟网卡之间传输的速度,目标接收虚拟网卡将解封装得到的待发送信息传递给接收对象配置的内核。提高了待发送信息在发送对象配置的内核到接收对象配置的内核之间传输的速度。
应该理解的是,虽然图1-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的信息传输装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个信息传输装置,实施例中的具体限定可以参见上文中对于信息传输方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种信息传输装置,包括指令获取模块、内核信息获取模块、计算模块、传递模块、选择模块、发送模块,其中:
指令获取模块802,用于获取发送指令和各个候选发送虚拟网卡对应的物理位置信息,所述发送指令包括存储地址、接收对象地址;
内核信息获取模块804,用于通过内核从所述存储地址中读取待发送信息,获取所述内核的物理位置信息;
计算模块806,用于基于所述内核对应的物理位置信息以及匹配的各个候选发送虚拟网卡对应的物理位置信息,分别计算所述内核与所述各个候选发送虚拟网卡之间的物理距离,基于所述物理距离确定目标发送虚拟网卡;
传递模块808,用于所述内核将所述待发送信息传递给所述目标发送虚拟网卡,所述目标发送虚拟网卡对所述待发送信息进行封装,得到对应的报文;
选择模块810,用于获取网卡节点映射表,基于所述网卡节点映射表及所述接收对象地址确定所述接收对象地址对应的目标接收虚拟网卡;所述网卡节点映射表为地址与虚拟网卡标识之间的映射关系;
发送模块812,用于基于所述目标发送虚拟网卡与所述目标接收虚拟网卡之间的物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述接收对象地址对应的接收对象。
在一个实施例中,指令获取模块802还用于:获取发送指令;获取各个发送虚拟网卡标识,以及所述各个发送虚拟网卡标识对应的发送虚拟网卡的状态信息;确定状态信息为空闲状态的发送虚拟网卡为候选发送虚拟网卡;获取所述候选发送虚拟网卡对应的物理位置信息。
在一个实施例中,计算模块806还用于:将所述物理距离从小到大排序;将最小的物理距离对应的候选发送虚拟网卡作为目标发送虚拟网卡。
在一个实施例中,选择模块810还用于:从所述网卡节点映射表中获取与所述接收对象地址对应的各个接收虚拟网卡标识;获取所述各个接收虚拟网卡标识对应的接收虚拟网卡的状态信息,确定状态信息为空闲状态的接收虚拟网卡为候选接收虚拟网卡;获取所述候选接收虚拟网卡的物理位置信息及所述目标发送虚拟网卡的物理位置信息;基于所述候选接收虚拟网卡的物理位置信息及所述目标发送虚拟网卡的物理位置信息,计算所述候选接收虚拟网卡与所述目标发送虚拟网卡之间的物理距离;确定最小的物理距离对应的候选接收虚拟网卡为目标接收虚拟网卡。
在一个实施例中,发送模块812还用于:基于所述物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述目标接收虚拟网卡;通过所述目标接收虚拟网卡对所述报文进行解封,将解封得到的所述待发送信息传递给所述接收对象地址对应的接收对象配置的内核。
在一个实施例中,发送模块812还用于:通过所述目标接收虚拟网卡对所述报文进行解封,解封得到目标地址和所述待发送信息;通过所述目标接收虚拟网卡确认所述目标地址与所述接收对象地址一致;通过所述目标接收虚拟网卡将所述待发送信息传递给所述接收对象地址对应的接收对象配置的内核。
在一个实施例中,发送模块812还用于:所述待发送信息的接收对象和发送对象分别位于同一个服务器的两个虚拟机中。
上述信息传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图9示出了一个实施例中计算机设备的内部结构图。该计算机设备既可以是终端,也可以是服务器。如图9所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频合成方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行业务单据转换方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取发送指令和各个候选发送虚拟网卡对应的物理位置信息,所述发送指令包括存储地址、接收对象地址;通过内核从所述存储地址中读取待发送信息,获取所述内核的物理位置信息;基于所述内核对应的物理位置信息以及匹配的各个候选发送虚拟网卡对应的物理位置信息,分别计算所述内核与所述各个候选发送虚拟网卡之间的物理距离,基于所述物理距离确定目标发送虚拟网卡;所述内核将所述待发送信息传递给所述目标发送虚拟网卡,所述目标发送虚拟网卡对所述待发送信息进行封装,得到对应的报文;获取网卡节点映射表,基于所述网卡节点映射表及所述接收对象地址确定所述接收对象地址对应的目标接收虚拟网卡;所述网卡节点映射表为地址与虚拟网卡标识之间的映射关系;基于所述目标发送虚拟网卡与所述目标接收虚拟网卡之间的物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述接收对象地址对应的接收对象。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取发送指令;获取各个发送虚拟网卡标识,以及所述各个发送虚拟网卡标识对应的发送虚拟网卡的状态信息;确定状态信息为空闲状态的发送虚拟网卡为候选发送虚拟网卡;获取所述候选发送虚拟网卡对应的物理位置信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将所述物理距离从小到大排序;将最小的物理距离对应的候选发送虚拟网卡作为目标发送虚拟网卡。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从所述网卡节点映射表中获取与所述接收对象地址对应的各个接收虚拟网卡标识;获取所述各个接收虚拟网卡标识对应的接收虚拟网卡的状态信息,确定状态信息为空闲状态的接收虚拟网卡为候选接收虚拟网卡;获取所述候选接收虚拟网卡的物理位置信息及所述目标发送虚拟网卡的物理位置信息;基于所述候选接收虚拟网卡的物理位置信息及所述目标发送虚拟网卡的物理位置信息,计算所述候选接收虚拟网卡与所述目标发送虚拟网卡之间的物理距离;确定最小的物理距离对应的候选接收虚拟网卡为目标接收虚拟网卡。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于所述物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述目标接收虚拟网卡;通过所述目标接收虚拟网卡对所述报文进行解封,将解封得到的所述待发送信息传递给所述接收对象地址对应的接收对象配置的内核。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过所述目标接收虚拟网卡对所述报文进行解封,解封得到目标地址和所述待发送信息;通过所述目标接收虚拟网卡确认所述目标地址与所述接收对象地址一致;通过所述目标接收虚拟网卡将所述待发送信息传递给所述接收对象地址对应的接收对象配置的内核。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:所述待发送信息的接收对象和发送对象分别位于同一个服务器的两个虚拟机中。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取发送指令和各个候选发送虚拟网卡对应的物理位置信息,所述发送指令包括存储地址、接收对象地址;通过内核从所述存储地址中读取待发送信息,获取所述内核的物理位置信息;基于所述内核对应的物理位置信息以及匹配的各个候选发送虚拟网卡对应的物理位置信息,分别计算所述内核与所述各个候选发送虚拟网卡之间的物理距离,基于所述物理距离确定目标发送虚拟网卡;所述内核将所述待发送信息传递给所述目标发送虚拟网卡,所述目标发送虚拟网卡对所述待发送信息进行封装,得到对应的报文;获取网卡节点映射表,基于所述网卡节点映射表及所述接收对象地址确定所述接收对象地址对应的目标接收虚拟网卡;所述网卡节点映射表为地址与虚拟网卡标识之间的映射关系;基于所述目标发送虚拟网卡与所述目标接收虚拟网卡之间的物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述接收对象地址对应的接收对象。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取发送指令;获取各个发送虚拟网卡标识,以及所述各个发送虚拟网卡标识对应的发送虚拟网卡的状态信息;确定状态信息为空闲状态的发送虚拟网卡为候选发送虚拟网卡;获取所述候选发送虚拟网卡对应的物理位置信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将所述物理距离从小到大排序;将最小的物理距离对应的候选发送虚拟网卡作为目标发送虚拟网卡。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从所述网卡节点映射表中获取与所述接收对象地址对应的各个接收虚拟网卡标识;获取所述各个接收虚拟网卡标识对应的接收虚拟网卡的状态信息,确定状态信息为空闲状态的接收虚拟网卡为候选接收虚拟网卡;获取所述候选接收虚拟网卡的物理位置信息及所述目标发送虚拟网卡的物理位置信息;基于所述候选接收虚拟网卡的物理位置信息及所述目标发送虚拟网卡的物理位置信息,计算所述候选接收虚拟网卡与所述目标发送虚拟网卡之间的物理距离;确定最小的物理距离对应的候选接收虚拟网卡为目标接收虚拟网卡。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于所述物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述目标接收虚拟网卡;通过所述目标接收虚拟网卡对所述报文进行解封,将解封得到的所述待发送信息传递给所述接收对象地址对应的接收对象配置的内核。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过所述目标接收虚拟网卡对所述报文进行解封,解封得到目标地址和所述待发送信息;通过所述目标接收虚拟网卡确认所述目标地址与所述接收对象地址一致;通过所述目标接收虚拟网卡将所述待发送信息传递给所述接收对象地址对应的接收对象配置的内核。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:所述待发送信息的接收对象和发送对象分别位于同一个服务器的两个虚拟机中。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种信息传输的方法,其特征在于,所述方法包括:
获取发送指令和各个候选发送虚拟网卡对应的物理位置信息,所述发送指令包括存储地址、接收对象地址;
通过内核从所述存储地址中读取待发送信息,获取所述内核的物理位置信息;
基于所述内核对应的物理位置信息以及所述各个候选发送虚拟网卡对应的物理位置信息,分别计算所述内核与所述各个候选发送虚拟网卡之间的物理距离,确定与所述内核之间的物理距离最小的候选发送虚拟网卡为目标发送虚拟网卡;
通过所述内核将所述待发送信息传递给所述目标发送虚拟网卡,通过所述目标发送虚拟网卡对所述待发送信息进行封装,得到对应的报文;
获取网卡节点映射表,从所述网卡节点映射表中获取与所述接收对象地址对应的各个接收虚拟网卡标识,获取所述各个接收虚拟网卡标识对应的接收虚拟网卡的状态信息,确定状态信息为空闲状态的接收虚拟网卡为候选接收虚拟网卡,获取所述候选接收虚拟网卡的物理位置信息及所述目标发送虚拟网卡的物理位置信息,基于所述候选接收虚拟网卡的物理位置信息及所述目标发送虚拟网卡的物理位置信息,计算所述候选接收虚拟网卡与所述目标发送虚拟网卡之间的物理距离,确定与所述目标发送虚拟网卡之间的物理距离最小的候选接收虚拟网卡为目标接收虚拟网卡;所述网卡节点映射表为对象地址与虚拟网卡标识之间的映射关系;
基于所述目标发送虚拟网卡与所述目标接收虚拟网卡之间的物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述接收对象地址对应的接收对象。
2.根据权利要求1所述的方法,其特征在于,所述获取发送指令和各个候选发送虚拟网卡对应的物理位置信息,包括:
获取发送指令;
获取各个发送虚拟网卡标识,以及所述各个发送虚拟网卡标识对应的发送虚拟网卡的状态信息;
确定状态信息为空闲状态的发送虚拟网卡为候选发送虚拟网卡;
获取所述候选发送虚拟网卡对应的物理位置信息。
3.根据权利要求1所述的方法,其特征在于,所述分别计算所述内核与所述各个候选发送虚拟网卡之间的物理距离,确定与所述内核之间的物理距离最小的候选发送虚拟网卡为目标发送虚拟网卡,包括:
将所述物理距离从小到大排序;
将最小的所述物理距离对应的候选发送虚拟网卡作为目标发送虚拟网卡。
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标发送虚拟网卡与所述目标接收虚拟网卡之间的物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述接收对象地址对应的接收对象,包括:
基于所述物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述目标接收虚拟网卡;
通过所述目标接收虚拟网卡对所述报文进行解封,将解封得到的所述待发送信息传递给所述接收对象地址对应的接收对象配置的内核。
5.根据权利要求4所述的方法,其特征在于,所述通过所述目标接收虚拟网卡对所述报文进行解封,将解封得到的所述待发送信息传递给所述接收对象地址对应的接收对象配置的内核,包括:
通过所述目标接收虚拟网卡对所述报文进行解封,解封得到目标地址和所述待发送信息;
通过所述目标接收虚拟网卡确认所述目标地址与所述接收对象地址一致;
通过所述目标接收虚拟网卡将所述待发送信息传递给所述接收对象地址对应的接收对象配置的内核。
6.根据权利要求1所述的方法,其特征在于,所述待发送信息的接收对象和发送对象分别位于同一个服务器的两个虚拟机中。
7.一种信息传输的装置,其特征在于,所述装置包括:
指令获取模块,用于获取发送指令和各个候选发送虚拟网卡对应的物理位置信息,所述发送指令包括存储地址、接收对象地址;
内核信息获取模块,用于通过内核从所述存储地址中读取待发送信息,获取所述内核的物理位置信息;
计算模块,用于基于所述内核对应的物理位置信息以及匹配的各个候选发送虚拟网卡对应的物理位置信息,分别计算所述内核与所述各个候选发送虚拟网卡之间的物理距离,确定与所述内核之间的物理距离最小的候选发送虚拟网卡为目标发送虚拟网卡;
传递模块,用于所述内核将所述待发送信息传递给所述目标发送虚拟网卡,所述目标发送虚拟网卡对所述待发送信息进行封装,得到对应的报文;
选择模块,用于获取网卡节点映射表,从所述网卡节点映射表中获取与所述接收对象地址对应的各个接收虚拟网卡标识,获取所述各个接收虚拟网卡标识对应的接收虚拟网卡的状态信息,确定状态信息为空闲状态的接收虚拟网卡为候选接收虚拟网卡,获取所述候选接收虚拟网卡的物理位置信息及所述目标发送虚拟网卡的物理位置信息,基于所述候选接收虚拟网卡的物理位置信息及所述目标发送虚拟网卡的物理位置信息,计算所述候选接收虚拟网卡与所述目标发送虚拟网卡之间的物理距离,确定与所述目标发送虚拟网卡之间的物理距离最小的候选接收虚拟网卡为目标接收虚拟网卡;所述网卡节点映射表为地址与虚拟网卡标识之间的映射关系;
发送模块,用于基于所述目标发送虚拟网卡与所述目标接收虚拟网卡之间的物理链路,通过所述目标发送虚拟网卡将所述报文发送给所述接收对象地址对应的接收对象。
8.根据权利要求7所述的装置,其特征在于,所述发送模块还用于:
通过所述目标接收虚拟网卡对所述报文进行解封,解封得到目标地址和所述待发送信息;
通过所述目标接收虚拟网卡确认所述目标地址与所述接收对象地址一致;
通过所述目标接收虚拟网卡将所述待发送信息传递给所述接收对象地址对应的接收对象配置的内核。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202210826292.9A 2022-07-14 2022-07-14 一种信息传输的方法、装置、计算机设备和存储介质 Active CN114924843B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210826292.9A CN114924843B (zh) 2022-07-14 2022-07-14 一种信息传输的方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210826292.9A CN114924843B (zh) 2022-07-14 2022-07-14 一种信息传输的方法、装置、计算机设备和存储介质

Publications (2)

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

Family

ID=82815621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210826292.9A Active CN114924843B (zh) 2022-07-14 2022-07-14 一种信息传输的方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114924843B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013038547A1 (ja) * 2011-09-15 2013-03-21 富士通株式会社 仮想マシン管理装置、仮想マシン移動制御プログラムおよび仮想マシン移動制御方法
CN103036949A (zh) * 2012-11-27 2013-04-10 华中科技大学 一种虚拟化环境下Cassandra系统的优化方法和系统
CN103460191A (zh) * 2011-03-28 2013-12-18 日本电气株式会社 虚拟机管理系统和虚拟机管理方法
CN104750542A (zh) * 2015-04-22 2015-07-01 成都睿峰科技有限公司 一种基于云平台的数据迁移方法
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 (zh) * 2011-03-28 2013-12-18 日本电气株式会社 虚拟机管理系统和虚拟机管理方法
WO2013038547A1 (ja) * 2011-09-15 2013-03-21 富士通株式会社 仮想マシン管理装置、仮想マシン移動制御プログラムおよび仮想マシン移動制御方法
CN103036949A (zh) * 2012-11-27 2013-04-10 华中科技大学 一种虚拟化环境下Cassandra系统的优化方法和系统
US9832256B1 (en) * 2013-09-20 2017-11-28 Ca, Inc. Assigning client virtual machines based on location
CN104750542A (zh) * 2015-04-22 2015-07-01 成都睿峰科技有限公司 一种基于云平台的数据迁移方法
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
CN114924843A (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
CN100470517C (zh) 用于信息处理系统pci快速先进交换的系统和方法
WO2017067391A1 (zh) 虚拟机的数据共享方法及装置
WO2016101288A1 (zh) 一种远程直接数据存取方法、设备和系统
US10341264B2 (en) Technologies for scalable packet reception and transmission
CN112243046B (zh) 通信方法和网卡
CN109690512A (zh) 具有触发操作的gpu远程通信
WO2017032112A1 (zh) 一种与无中央处理器单板通讯的方法及通讯设备
CN113891396B (zh) 数据包的处理方法、装置、计算机设备和存储介质
CN105389120A (zh) 支持通过活动消息的rma api
CN105610730A (zh) Cpu与网络设备之间的消息交互方法及系统
CN103823721A (zh) 一种进程间通信的方法及设备
CN113986969A (zh) 数据处理方法、装置、电子设备和存储介质
CN111936982A (zh) 主机系统和集成电路加速系统之间有效而可靠的消息通道
CN106407151A (zh) 信息处理方法和装置
CN114924843B (zh) 一种信息传输的方法、装置、计算机设备和存储介质
CN109819026B (zh) 用于传输信息的方法及装置
CN110958216B (zh) 安全的在线网络分组传输
CN115022424B (zh) 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质
WO2021036189A1 (zh) Rdma数据发送及接收方法、电子设备及可读存储介质
CN114465770A (zh) 数据处理方法及相关装置
CN113422792A (zh) 数据传输方法、装置、电子设备及计算机存储介质
US11042497B2 (en) Communication between field programmable gate arrays
US11847316B2 (en) System and method for managing data storage in network interface controllers
WO2022227053A1 (zh) 通信设备和通信方法
CN115225586B (zh) 数据包发送方法、装置、设备及计算机可读存储介质

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