一种虚拟化网络的数据传输方法,节点控制器及系统的制作方法_5

文档序号:9923821阅读:来源:国知局
或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0190]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0191]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0192]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0193]以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种虚拟化网络的数据传输方法,其特征在于,包括: 第一节点控制器从源虚拟机的存储区域读取数据报文;所述第一节点控制器为所述源虚拟机本地的节点控制器; 所述第一节点控制器解析所述数据报文获得目的地址,并根据所述目的地址确定第二节点控制器;所述第二节点控制器为所述目的地址指向的目的虚拟机本地的节点控制器;所述第一节点控制器通过所述第二节点控制器,将所述数据报文写入所述目的虚拟机的存储区域地址。2.根据权利要求1所述方法,其特征在于,所述第一节点控制器通过所述第二节点控制器,将所述数据报文写入所述目的虚拟机的存储区域地址包括: 所述第一节点控制器向所述第二节点控制器发送地址请求信息,然后接收所述第二节点控制器返回的所述目的虚拟机的存储区域地址; 所述第一节点控制器将所述数据报文写入所述存储区域地址。3.根据权利要求2所述方法,其特征在于,所述存储区域地址为直接内存存取DMA地址; 所述第一节点控制器将所述数据报文写入所述存储区域地址包括: 所述第一节点控制器通过缓存一致性处理功能,将所述数据报文写入所述存储区域地址。4.根据权利要求1所述方法,其特征在于,还包括: 所述第一节点控制器在写入完毕后,向所述第二节点控制器发送写完成消息,使所述第二节点控制器向所述目的虚拟机发送中断并告知所述目的虚拟机收到了所述数据报文。5.根据权利要求4所述方法,其特征在于,所述第一节点控制器从源虚拟机的存储区域读取数据报文,包括: 所述第一节点控制器的虚拟网卡引擎从源虚拟机的DMA发送队列中读取数据报文;所述第一节点控制器通过所述第二节点控制器,将所述数据报文写入所述目的虚拟机的存储区域地址包括: 所述第一节点控制器的虚拟网卡引擎向第二节点控制区的虚拟网卡引擎发送通知消息告知有新的数据报文需要写入,并接收所述第二节点控制器的虚拟网卡引擎返回的DMA队列的内存空间; 所述第一节点控制器的虚拟网卡引擎向所述第二节点控制器的远程协议引擎发送写请求,使所述远程协议引擎将所述写请求转发给所述第二节点控制器的本地协议引擎,并使所述第二节点控制器的本地协议引擎将所述数据报文写入所述内存空间; 所述第一节点控制器在写入完毕后,向所述第二节点控制器发送写完成消息,使所述第二节点控制器向所述目的虚拟机发送中断并告知所述目的虚拟机收到了所述数据报文包括: 所述第一节点控制器的虚拟网卡引擎在接收到写完成消息后,向所述第二节点控制器的虚拟网卡引擎发送所述写完成消息,使所述第二节点控制器的虚拟网卡引擎通知所述虚拟机的中央处理器收到所述数据报文。6.一种节点控制器,作为第一节点控制器使用,其特征在于,包括: 报文读取单元,用于从源虚拟机的存储区域读取数据报文;所述第一节点控制器为所述源虚拟机本地的节点控制器; 报文解析单元,用于解析所述数据报文获得目的地址; 控制器确定单元,用于根据所述目的地址确定第二节点控制器;所述第二节点控制器为所述目的地址指向的目的虚拟机本地的节点控制器; 数据传输单元,用于通过所述第二节点控制器,将所述数据报文写入所述目的虚拟机的存储区域地址。7.根据权利要求6所述节点控制器,其特征在于,所述数据传输单元包括: 请求发送单元,用于向所述第二节点控制器发送地址请求信息; 地址接收单元,用于接收所述第二节点控制器返回的所述目的虚拟机的存储区域地址; 报文写入单元,用于将所述数据报文写入所述存储区域地址。8.根据权利要求7所述节点控制器,其特征在于,所述存储区域地址为直接内存存取DMA地址; 所述报文写入单元,用于通过缓存一致性处理功能,将所述数据报文写入所述存储区域地址。9.根据权利要求6所述节点控制器,其特征在于,还包括: 消息发送单元,用于在所述数据报文写入完毕后,向所述第二节点控制器发送写完成消息,使所述第二节点控制器向所述目的虚拟机发送中断并告知所述目的虚拟机收到了所述数据报文。10.根据权利要求9所述节点控制器,其特征在于, 所述报文读取单元,用于通过所述第一节点控制器的虚拟网卡引擎从源虚拟机的DMA发送队列中读取数据报文; 所述数据传输单元包括:通知发送单元、接收地址单元以及请求写发送单元; 所述通知发送单元,用于通过所述第一节点控制器的虚拟网卡引擎向第二节点控制区的虚拟网卡引擎发送通知消息告知有新的数据报文需要写入; 所述接收地址单元,用于接收所述第二节点控制器的虚拟网卡引擎返回的DMA队列的内存空间; 所述请求写发送单元,用于通过所述第一节点控制器的虚拟网卡引擎向所述第二节点控制器的远程协议引擎发送写请求,使所述远程协议引擎将所述写请求转发给所述第二节点控制器的本地协议引擎,并使所述第二节点控制器的本地协议引擎将所述数据报文写入所述内存空间; 所述消息发送单元包括:成功消息接收单元和成功消息发送单元; 所述成功消息接收单元,用于通过所述第一节点控制器的虚拟网卡引擎接收写完成消息; 所述成功消息发送单元,用于在所述第一节点控制器的虚拟网卡引擎接收到写完成消息后,向所述第二节点控制器的虚拟网卡引擎发送所述写完成消息,使所述第二节点控制器的虚拟网卡引擎通知所述虚拟机的中央处理器收到所述数据报文。11.一种虚拟化网络的数据传输系统,包括:采用可通信连接的至少三个节点控制器,并且包含第一节点控制器和第二节点控制器;所述第一节点控制器为源虚拟机本地的节点控制器;所述第二节点控制器为目的虚拟机本地的节点控制器;其特征在于,所述第一节点控制器为权利要求6?10任意一项所述节点控制器。
【专利摘要】本发明实施例公开了一种虚拟化网络的数据传输方法,节点控制器及系统,其中方法的实现包括:第一节点控制器从源虚拟机的存储区域读取数据报文;所述第一节点控制器为所述源虚拟机本地的节点控制器;解析所述数据报文获得目的地址,并根据所述目的地址确定第二节点控制器;所述第二节点控制器为所述目的地址指向的目的虚拟机本地的节点控制器;通过所述第二节点控制器,将所述数据报文写入所述目的虚拟机的存储区域地址。实现了将数据报文的传输操作变为存储空间的搬移操作,因此不仅速度快,而且不需额外占用NC的协议层处理能力,并且可以避免因网卡设备成为访问热点造成的性能瓶颈。
【IPC分类】H04L29/06, H04L29/12, G06F13/28
【公开号】CN105704098
【申请号】CN201410696956
【发明人】赵献明, 陈昊, 陆斌
【申请人】杭州华为数字技术有限公司
【公开日】2016年6月22日
【申请日】2014年11月26日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1