CN107643938A - 数据传输方法、装置及存储介质 - Google Patents

数据传输方法、装置及存储介质 Download PDF

Info

Publication number
CN107643938A
CN107643938A CN201710733530.0A CN201710733530A CN107643938A CN 107643938 A CN107643938 A CN 107643938A CN 201710733530 A CN201710733530 A CN 201710733530A CN 107643938 A CN107643938 A CN 107643938A
Authority
CN
China
Prior art keywords
virtual network
virtual
network card
input
virtual machine
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.)
Pending
Application number
CN201710733530.0A
Other languages
English (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.)
Computer Network Information Center of CAS
Original Assignee
Computer Network Information Center of CAS
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 Computer Network Information Center of CAS filed Critical Computer Network Information Center of CAS
Priority to CN201710733530.0A priority Critical patent/CN107643938A/zh
Publication of CN107643938A publication Critical patent/CN107643938A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种数据传输方法、装置及存储介质,用于在虚拟网络中进行数据包传输。本发明实施例方法包括:基于物理网卡,生成多个虚拟网络功能;分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。

Description

数据传输方法、装置及存储介质
技术领域
本发明涉及,尤其涉及一种数据传输方法、装置及存储介质。
背景技术
随着服务器承载的客户虚拟机数量越来越多,以及提供的网络服务和应用越来越复杂,对虚拟网络的需求也随之迅速增长。
目前,数据包在虚拟机和宿主机之间,以及在虚拟机和虚拟机之间传输,均需要经过虚拟化层中的虚拟交换机的交换,导致数据包需要在虚拟机和宿主机的内核与用户空间之间进行多次拷贝,从而导致数据传输效率低。
发明内容
本发明实施例提供了一种数据传输方法、装置及存储介质。
本发明实施例的第一方面提供一种数据传输方法,包括:
基于物理网卡,生成多个虚拟网络功能;
分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。
结合本发明实施例的第一方面,在本发明实施例的第一方面的第一种实现方式中,所述基于物理网卡,生成多个虚拟网络功能,包括:
对所述物理网卡进行划分,得到多个所述虚拟网络功能。
结合本发明实施例的第一方面,本发明实施例的第一方面的第二种实现方式中,所述方法还包括:
基于所述虚拟网络功能,将数据包由所述物理网卡传输至所述虚拟网络功能对应的虚拟机的输入/输出接口。
结合本发明实施例的第一方面的第二种实现方式,本发明实施例的第一方面的第三种实现方式中,所述数据包包括:测试仪表实例。
结合本发明实施例的第一方面,本发明实施例的第一方面的第四种实现方式中,所述方法基于数据平面开发套件单根输入/输出虚拟化DPDK-SRIOV环境。
本发明实施例的第二方面提供一种数据传输装置,包括:
生成模块,用于基于物理网卡,生成多个虚拟网络功能;
添加模块,用于分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。
结合本发明实施例的第二方面,本发明实施例的第二方面的第一种实现方式中,所述生成模块包括:
生成子模块,用于对所述物理网卡进行划分,得到多个所述虚拟网络功能。
结合本发明实施例的第二方面,本发明实施例的第二方面的第二种实现方式中,所述装置还包括:
传输模块,用于基于所述虚拟网络功能,将数据包由所述物理网卡传输至所述虚拟网络功能对应的虚拟机的输入/输出接口。
结合本发明实施例的第二方面的第二种实现方式,本发明实施例的第二方面的第三种实现方式中,所述传输模块传输的所述数据包包括:测试仪表实例。
结合本发明实施例的第二方面,本发明实施例的第二方面的第四种实现方式中,所述装置基于数据平面开发套件单根输入/输出虚拟化DPDK-SRIOV环境。
本发明实施例的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面提供方法的步骤。
本发明实施例提供的技术方案中,通过基于物理网卡生成的多个虚拟网络功能,将数据包由物理网卡传输至虚拟网络功能对应的虚拟机的输入/输出接口。因此相对于现有技术,本发明实施例直接通过虚拟网络功能从物理网卡获取数据包,可以避免通过虚拟交换机对数据包进行传输,即可以避免开销巨大的内核协议栈,从而可以提高数据传输效率。
附图说明
图1为本发明实施例中数据传输方法一个实施例示意图;
图2为本发明实施例中数据传输方法另一实施例示意图;
图3为本发明实施例中数据传输装置一实施例示意图;
图4为本发明实施例中数据传输装置另一实施例示意图;
图5为本发明实施例中数据传输装置另一实施例示意图。
具体实施方式
本发明实施例提供了一种数据传输方法、装置及存储介质,用于在虚拟网络中进行数据包传输,以下分别进行详细说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,本发明实施例提供一种数据传输方法,包括:
101、基于物理网卡,生成多个虚拟网络功能。
对于本发明实施例,具体可以由SR-IOV(Single-root I/O virtualization,单根输入/输出虚拟化)对物理网卡进行划分,得到多个虚拟网络功能。
102、分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。
可选地,每个虚拟机VM中可以加入对应的一个虚拟网络功能VF,也可以加入对应的多个虚拟网络功能VF。
对于本发明实施例,虚拟机内部可以看到多个网卡设备,供虚拟机内部加载的实例进行数据包I/O,以实现基于硬件的物理网卡的虚拟化和共享,进而实现减小资源开销。
本发明实施例提供的技术方案中,通过基于物理网卡生成的多个虚拟网络功能,将数据包由物理网卡传输至虚拟网络功能对应的虚拟机的输入/输出接口。因此相对于现有技术,本发明实施例直接通过虚拟网络功能从物理网卡获取数据包,可以避免通过虚拟交换机对数据包进行传输,即可以避免开销巨大的内核协议栈,从而可以提高数据传输效率。
请参阅图2,本发明又一实施例提供一种数据传输方法,包括:
201、对所述物理网卡进行划分,得到多个所述虚拟网络功能。
对于本发明实施例,具体可以由SR-IOV(Single-root I/O virtualization,单根输入/输出虚拟化)对物理网卡进行划分,得到多个虚拟网络功能。
202、分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。
可选地,每个虚拟机VM中可以加入对应的一个虚拟网络功能VF,也可以加入对应的多个虚拟网络功能VF。
对于本发明实施例,虚拟机内部可以看到多个网卡设备,供虚拟机内部加载的实例进行数据包I/O,以实现基于硬件的物理网卡的虚拟化和共享,进而实现减小资源开销。
203、基于所述虚拟网络功能,将数据包由所述物理网卡传输至所述虚拟网络功能对应的虚拟机的输入/输出接口。
其中,数据包可以包括实例。在本发明实施例中,实例可以包括测试仪表实例。
对于本发明实施例,测试仪表实例的传输过程具体可以为:由物理网卡,通过虚拟网络功能传输至虚拟机的输入/输出接口,以实现虚拟网络下的数据包传输。
本发明实施例提供的数据传输方法可以基于数据平面开发套件单根输入/输出虚拟化DPDK-SRIOV(Data Plane Development Kit Single-root I/O virtualization),实现虚拟化环境下的数据包传输。其中,DPDK充分利用Hugepape、零拷贝、NUMA、Poll Mode驱动等技术,可以直接通过虚拟网络功能从物理网卡捕获和回放数据包,绕过开销巨大的内核协议栈,实现高性能的用户空间的网络I/O,相比于现有的虚拟机基于网桥和veth-peer设备的虚拟网络有很大程度的优化,从而可以实现虚拟化场景下高性能的南北向网络I/O。
上面对本发明实施例中的数据传输方法进行了描述,下面对本发明实施例中的数据传输装置进行描述,请参阅图3,本发明实施例提供了一种数据传输装置,包括:
生成模块31,用于基于物理网卡,生成多个虚拟网络功能。
添加模块32,用于分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。
进一步地,请参阅图4,所述生成模块31包括:
生成子模块311,用于对所述物理网卡进行划分,得到多个所述虚拟网络功能。
进一步地,请参阅图5,所述装置还包括:
传输模块51,用于基于所述虚拟网络功能,将数据包由所述物理网卡传输至所述虚拟网络功能对应的虚拟机的输入/输出接口。
传输模块51传输的所述数据包可以包括:测试仪表实例。
本发明实施例提供的技术方案中,通过基于物理网卡生成的多个虚拟网络功能,将数据包由物理网卡传输至虚拟网络功能对应的虚拟机的输入/输出接口。因此相对于现有技术,本发明实施例直接通过虚拟网络功能从物理网卡获取数据包,可以避免通过虚拟交换机对数据包进行传输,即可以避免开销巨大的内核协议栈,从而可以提高数据传输效率。
本发明实施例还提供另一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序被一个或者一个以上的处理器用来执行图1、图2所示实施例提供的数据传输方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据传输装置和计算机可读存储介质的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (11)

1.一种数据传输方法,其特征在于,包括:
基于物理网卡,生成多个虚拟网络功能;
分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。
2.如权利要求1所述的方法,其特征在于,所述基于物理网卡,生成多个虚拟网络功能,包括:
对所述物理网卡进行划分,得到多个所述虚拟网络功能。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述虚拟网络功能,将数据包由所述物理网卡传输至所述虚拟网络功能对应的虚拟机的输入/输出接口。
4.如权利要求3所述的方法,其特征在于,所述数据包包括:测试仪表实例。
5.如权利要求1-4任一项所述的方法,其特征在于,所述方法基于数据平面开发套件单根输入/输出虚拟化DPDK-SRIOV环境。
6.一种数据传输装置,其特征在于,包括:
生成模块,用于基于物理网卡,生成多个虚拟网络功能;
添加模块,用于分别将每个所述虚拟网络功能,加入对应的虚拟机中,每个所述虚拟机均对应有输入/输出端口。
7.如权利要求6所述的装置,其特征在于,所述生成模块包括:
生成子模块,用于对所述物理网卡进行划分,得到多个所述虚拟网络功能。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
传输模块,用于基于所述虚拟网络功能,将数据包由所述物理网卡传输至所述虚拟网络功能对应的虚拟机的输入/输出接口。
9.如权利要求8所述的装置,其特征在于,
所述传输模块传输的所述数据包包括:测试仪表实例。
10.如权利要求6-9任一项所述的装置,其特征在于,所述装置基于数据平面开发套件单根输入/输出虚拟化DPDK-SRIOV环境。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-5所述方法的步骤。
CN201710733530.0A 2017-08-24 2017-08-24 数据传输方法、装置及存储介质 Pending CN107643938A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710733530.0A CN107643938A (zh) 2017-08-24 2017-08-24 数据传输方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710733530.0A CN107643938A (zh) 2017-08-24 2017-08-24 数据传输方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN107643938A true CN107643938A (zh) 2018-01-30

Family

ID=61110592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710733530.0A Pending CN107643938A (zh) 2017-08-24 2017-08-24 数据传输方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN107643938A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165271A (zh) * 2018-07-23 2019-01-08 中国科学院计算机网络信息中心 可定制的专属电子地图的展示方法、装置及存储介质
CN110324197A (zh) * 2018-03-30 2019-10-11 北京京东尚科信息技术有限公司 网络性能测试的方法和装置
WO2020019950A1 (zh) * 2018-07-23 2020-01-30 南京中兴软件有限责任公司 一种物理功能复用方法、装置和计算机存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932174A (zh) * 2012-10-25 2013-02-13 华为技术有限公司 一种物理网卡管理方法、装置及物理主机
CN103049331A (zh) * 2012-12-06 2013-04-17 华中科技大学 一种虚拟功能的动态调度方法
CN103609077A (zh) * 2013-06-18 2014-02-26 华为技术有限公司 用于数据传输的方法、装置和系统以及物理网卡
CN103916314A (zh) * 2013-12-26 2014-07-09 杭州华为数字技术有限公司 报文转发控制方法和相关装置及物理主机
CN107278359A (zh) * 2016-11-09 2017-10-20 华为技术有限公司 云计算系统中报文处理的方法、主机和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932174A (zh) * 2012-10-25 2013-02-13 华为技术有限公司 一种物理网卡管理方法、装置及物理主机
CN103049331A (zh) * 2012-12-06 2013-04-17 华中科技大学 一种虚拟功能的动态调度方法
CN103609077A (zh) * 2013-06-18 2014-02-26 华为技术有限公司 用于数据传输的方法、装置和系统以及物理网卡
CN103916314A (zh) * 2013-12-26 2014-07-09 杭州华为数字技术有限公司 报文转发控制方法和相关装置及物理主机
CN107278359A (zh) * 2016-11-09 2017-10-20 华为技术有限公司 云计算系统中报文处理的方法、主机和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110324197A (zh) * 2018-03-30 2019-10-11 北京京东尚科信息技术有限公司 网络性能测试的方法和装置
CN109165271A (zh) * 2018-07-23 2019-01-08 中国科学院计算机网络信息中心 可定制的专属电子地图的展示方法、装置及存储介质
WO2020019950A1 (zh) * 2018-07-23 2020-01-30 南京中兴软件有限责任公司 一种物理功能复用方法、装置和计算机存储介质
CN110752937A (zh) * 2018-07-23 2020-02-04 中兴通讯股份有限公司 一种物理功能复用方法、装置和计算机存储介质
CN110752937B (zh) * 2018-07-23 2022-04-15 中兴通讯股份有限公司 一种物理功能复用方法、装置和计算机存储介质

Similar Documents

Publication Publication Date Title
CN106874128B (zh) 数据传输方法及装置
CN105700826A (zh) 虚拟化方法和装置
CN103609077B (zh) 用于数据传输的方法、装置和系统以及物理网卡
CN105159753A (zh) 加速器虚拟化的方法、装置及集中资源管理器
CN103176833A (zh) 一种基于虚拟机的数据发送方法、接收方法及系统
CN104965757A (zh) 虚拟机热迁移的方法、虚拟机迁移管理装置及系统
CN104486234A (zh) 一种将业务交换机卸载到物理网卡的方法及服务器
CN102316043B (zh) 端口虚拟化方法、交换机及通信系统
CN109739668A (zh) 一种虚拟机间数据传输的方法、系统及设备
CN107643938A (zh) 数据传输方法、装置及存储介质
US10649915B1 (en) Disaggregated computing architecture using device pass-through wherein independent physical address spaces between systems nodes are implemented in a single execution environment
CN104731635A (zh) 一种虚拟机访问控制方法,及虚拟机访问控制系统
CN108228309A (zh) 基于虚拟机的数据包发送和接收方法及装置
CN107526620A (zh) 一种用户态输入输出设备配置方法及装置
CN115269174A (zh) 一种数据传输方法、数据处理方法及相关产品
CN115408108A (zh) 一种云环境下的i/o卸载方法、设备、系统及存储介质
CN104598409B (zh) 一种处理输入输出请求的方法及设备
CN108182119A (zh) 读写分离控制方法和装置、存储介质及电子装置
CN109656675A (zh) 总线设备、计算机设备及实现物理主机云存储的方法
CN103092676A (zh) 虚拟机集群的模拟输入输出方法、装置及系统
CN107844304A (zh) 虚拟机热升级方法及装置
CN113923259A (zh) 数据处理方法及系统
CN110659143B (zh) 一种容器间的通讯方法、装置及电子设备
CN106161501A (zh) 虚拟桌面的数据共享方法和装置
CN107861803A (zh) 一种基于中断的xp系统下cpci总线rs422通信驱动方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180130

RJ01 Rejection of invention patent application after publication