[发明专利]用于虚拟化场景的数据交互方法及设备在审
| 申请号: | 201610968244.8 | 申请日: | 2016-10-26 |
| 公开(公告)号: | CN107992352A | 公开(公告)日: | 2018-05-04 |
| 发明(设计)人: | 李星 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;H04L12/24 |
| 代理公司: | 上海百一领御专利代理事务所(普通合伙)31243 | 代理人: | 陈贞健 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 虚拟 场景 数据 交互 方法 设备 | ||
技术领域
本申请涉及信息技术领域,尤其涉及一种用于虚拟化场景的数据交互方法及设备。
背景技术
在虚拟化场景下,一台物理机上会同时运行多台虚拟机,针对虚拟化场景下虚拟机与物理网络之间的数据交互的方案主要包括以下几种:
VirtIO技术是KVM(Kernel-based Virtual Machine,基于内核的虚拟机)虚拟化场景下针对I/O(Input/Output,输入输出)虚拟化的一种通用框架。该方案的交互原理如图1所示,使用一块网卡NIC进行数据交互处理,数据通过虚拟机Guest的前端驱动模块Virtio driver和物理机Host的后端功能模块Virtio backend实现前后端协商与通讯,该协商通讯的过程由物理机通过软件方式实现,由此物理机能够截获虚拟机的数据,并将其交付给虚拟交换机Vswitch进行业务逻辑处理,而虚拟交换机与所述物理网络LAN之间,由物理机的物理功能驱动模块PF driver和网卡的物理功能模块PF实现数据交互。由于后端功能模块实现的通讯功能需要由物理机通过软件方式实现相应的逻辑功能,因此会在处理过程中带来很大的性能损耗。
sr-iov(Single Root I/O Virtualization,单根I/O虚拟化)技术的原理如图2所示,该方案同样采用一块网卡NIC,能够将网卡虚拟出多个虚拟功能模块VF实例,并将虚拟功能模块直接交付给虚拟机Guest使用,虚拟机的数据由虚拟机的虚拟功能驱动模块VF driver与网卡上对应的虚拟功能模块VF实现直接通讯,而物理机的数据则由物理机的物理功能驱动模块PF driver与网卡的物理功能模块PF实现通讯,由此在处理虚拟机数据的通讯时避免了物理机上软件栈的开销,可以达到很高的网络处理性能。但是从图中可以看出,使用sr-iov技术后,虚拟机的数据直接通过网卡的二层交换模块l2-switch发送到了物理网络,对物理机完全不可见,运行在物理机上面的虚拟机交换机无法对虚拟机的数据进行业务逻辑处理。因此,常规的sr-iov方案无法实现对虚拟机与物理网络之间所交互的数据进行业务逻辑处理,例如数据流量控制、转发、修改等业务逻辑。
目前业界广泛使用的普通网卡(Simple NIC),基本都可以实现sr-iov的相应功能,其相应的网卡驱动也非常成熟,一般会内置于各类成熟操作系统的内核中,因此大规模配置虚拟机时可以直接使用这类网卡,而无需在虚拟机中单独安装网卡驱动。所述普通网卡是指使用硬件集成电路实现相应功能的网卡,由于其实现方式并非可编程设备,因此无法在普通网卡中实现虚拟交换的业务逻辑,解决常规的sr-iov方案无法实现对虚拟机与物理网络之间所交互的数据进行业务逻辑处理的问题。
此外,业界还存在另一种智能网卡(Smart NIC),该种网卡上集成由网络处理器(NP,Network Processor),具有可编程能力以及实现数据高速转发的能力。但是,目前大部分的智能网卡不具备sr-iov功能,因此无法高效地与虚拟机进行通讯。而少数具备sr-iov功能的智能网卡,由于由于其网卡驱动尚未成熟,并未集成至各类成熟操作系统的内核中,在大规模部署虚拟机时需要在各个虚拟机内部单独安装网卡驱动,并独立维护驱动的版本,因此实现成本较高,不适用于大规模部署的场景。
综上所述,现有技术在实现虚拟化场景的数据交互时,无法同时具备网络性能较高、能够对数据的流量进行控制以及适用于大规模部署的特点。
申请内容
本申请的一个目的是提供一种用于虚拟化场景的数据交互方法及设备,用以解决现有技术无法同时实现网络性能较高、能够对数据的流量进行控制以及适用于大规模部署的问题。
为实现上述目的,本申请提供了一种用于虚拟化场景的数据发送方法,所述方法应用于包含第一网卡和第二网卡的设备,所述第一网卡连接物理网络以及物理机,所述第一网卡包括虚拟交换机,所述第二网卡连接所述第一网卡以及所述物理机,所述第二网卡包括虚拟功能模块和二层交换模块,所述物理机运行有虚拟机,所述方法包括:
所述虚拟功能模块从对应的虚拟机的虚拟功能驱动模块获取所述虚拟机的数据,并发送至所述二层交换模块;
所述二层交换模块将所述虚拟功能模块获取的数据发送至所述虚拟交换机;
所述虚拟交换机对所述数据进行业务逻辑处理,并在完成所述业务逻辑处理之后将所述数据发送至物理网络。
进一步地,所述虚拟功能模块从对应的虚拟机的虚拟功能驱动模块获取所述虚拟机的数据,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610968244.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种硬件资源分配方法及装置、电子设备
- 下一篇:一种多普勒剖面流速测量装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





