[发明专利]一种数据转发方法、装置及系统有效
申请号: | 201380001388.0 | 申请日: | 2013-07-31 |
公开(公告)号: | CN104508632B | 公开(公告)日: | 2018-03-13 |
发明(设计)人: | 张逢喆;吴红宁;段小祥;刘相斌;藏洪永 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F12/02 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 转发 方法 装置 系统 | ||
技术领域
本发明涉及通讯技术领域,尤其涉及一种数据转发方法、装置及系统。
背景技术
虚拟化技术(Virtualization)使用软件技术在一台物理计算机上模拟产生多个虚拟计算机(Virtual Machine,简称VM),每个VM可以和物理计算机一样安装操作系统、安装应用软件、运行各种程序。多个VM可以同时在一台物理计算机上运行,互相之间不感知对方,彼此隔离,只能通过网络互相通讯,就如同两台物理计算机一样。多个VM的性能总和不超过其所在的物理计算机。
在虚拟化技术中,一台物理计算机上模拟多个VM的软件叫虚拟监控器(Virtual Machine Monitor,简称VMM)。由于虚拟技术引入了VMM这一中间层,VM内运行的应用程序的性质不同,虚拟化带来的性能损耗也不同。进行大量CPU运算的应用程序,其在VM中运行时性能损失较小。与外界进行大量输入/输出(Input/Output,简称I/O)通讯的应用程序(例如网络通讯或磁盘读写),其在VM中运行时性能损失较大。由于虚拟化技术能够带来更好的综合成本优势,无线通讯行业开始大规模采用虚拟化技术。但是在无线通讯设备中,应用程序往往需要进行大量的网络通讯,有大量的数据吞吐,因此应用程序在VM中的运行性能会大幅下降。
现有技术中是采用标准虚拟化I/O通讯机制通过VM内部和外部的通讯两端的配合,以高效的接口实现数据的交换,简化了虚拟硬件的模拟过程降低了I/O过程的损耗。但是这种方案虽然降低了损耗,但是损耗还是很大。现有技术中又引用单根I/O虚拟化(Single Root I/O Virtualization,简称SR-IOV)硬件直通技术将物理计算机上的硬件直接交给VM使用而不是由VMM虚拟出来的虚拟硬件。这种技术中VM中的驱动程序可以直接驱动物理网卡,进行收发包操作。VM直接使用物理硬件而旁路了VMM的中间过程,使得性能损耗减至最小。但是由于VM需要感知不同的物理硬件,为不同的硬件安装对应的驱动程序,硬件升级或变更时VM也需要一同变动,对VM的开发、维护、部署等产生较大影响,使得工作效率降低,实际操作起来也比较麻烦。
发明内容
本发明的实施例提供一种数据转发方法、装置及系统,解决了虚拟机中的应用程序与物理机通信时损耗大问题,同时提高了工作效率,操作方便。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种数据转发方法,包括:
主机接收网络设备发送的第一通知信息;其中,所述第一通知信息中包括所述网络设备存储在内存中的数据包的内存地址;
根据逻辑通道号与通讯实体的关系映射表获取与所述网络设备通信的虚拟机;其中,所述逻辑通道号是所述网络设备与所述虚拟机通信的逻辑通道号;
根据所述第一通知信息获得第二通知信息;其中,所述第二通知信息包括所述逻辑通道号和所述数据包的内存地址;
发送所述第二通知信息至所述虚拟机,以便于所述虚拟机根据所述数据包的内存地址获得所述数据包;其中,所述虚拟机是通过所述虚拟机上的连接模块接收所述第二通知信息的。
在第一种可能的实现方式中,结合第一方面,所述根据所述第一通知信息获得第二通知信息,包括:
解析所述第一通知信息获得所述数据包的内存地址;
将所述数据包的内存地址的形式转换为标准形式;
根据转换为标准形式的所述数据包的内存地址和所述逻辑通道号获得所述第二通知信息。
在第二种可能的实现方式中,结合第一方面或第一种可能的实现方式,
所述第二通知信息中的数据包的内存地址以标准形式存在;其中,所述标准形式指的是预先与所述虚拟机约定的格式。
在第三种可能的实现方式中,结合第一方面或第一种可能的实现方式,
所述逻辑通道号与通讯实体的关系映射表可以根据通讯实体的变化进行实时更新。
在第四种可能的实现方式中,结合第一方面或第一种可能的实现方式,
所述第一通知信息传输数据的接口根据所述网络设备的不同而不同;
所述第二通知信息传输数据的接口的形式为所述标准形式。
第二方面,提供一种数据转发方法,包括:
虚拟机通过所述虚拟机上的连接模块接收所述主机发送的第二通知信息;其中,所述第二通知信息是根据第一通知信息获得的,包括网络设备与所述虚拟机通信的逻辑通道号和数据包的内存地址;所述第一通知信息是所述网络设备发送至所述主机的,包括所述网络设备存储在内存中的所述数据包的内存地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380001388.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置