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

文档序号:9923821阅读:来源:国知局
文从源虚拟机写到目的虚拟机的存储空间中,实现了将数据报文的传输操作变为存储空间的搬移操作,因此不仅速度快,而且不需额外占用NC的协议层处理能力,并且可以避免因网卡设备成为访问热点造成的性能瓶颈。
[0154]更具体地,本实施例还提供了写入数据报文的具体实现方案,如下:如图9所示,上述数据传输单元804包括:
[0155]请求发送单元901,用于向上述第二节点控制器发送地址请求信息;
[0156]地址接收单元902,用于接收上述第二节点控制器返回的上述目的虚拟机的存储区域地址;
[0157]报文写入单元903,用于将上述数据报文写入上述存储区域地址。
[0158]基于本发明实施例采用的是存储空间的数据直接搬移的方式,更具体地:上述存储区域地址为直接内存存取DMA地址;
[0159]上述报文写入单元903,用于通过缓存一致性处理功能,将上述数据报文写入上述存储区域地址。
[0160]基于本发明实施例采用的是存储空间的数据直接搬移的方式,在数据报文写入到目的虚拟机一侧的存储空间以后,还需要告知目的虚拟机已经写入完毕,具体方案如下:进一步地,如图10所示,上述节点控制器还包括:
[0161]消息发送单元1001,用于在上述数据报文写入完毕后,向上述第二节点控制器发送写完成消息,使上述第二节点控制器向上述目的虚拟机发送中断并告知上述目的虚拟机收到了上述数据报文。
[0162]本发明实施例还给出了基于缓存一致性处理功能进行内存搬移的具体实现方案,具体如下:可选地,如图11所示,上述报文读取单元801,用于通过上述第一节点控制器的虚拟网卡引擎从源虚拟机的DMA发送队列中读取数据报文;
[0163]上述数据传输单元804包括:通知发送单元1101、接收地址单元1102以及请求写发送单元1103 ;
[0164]上述通知发送单元1101,用于通过上述第一节点控制器的虚拟网卡引擎向第二节点控制区的虚拟网卡引擎发送通知消息告知有新的数据报文需要写入;
[0165]上述接收地址单元1102,用于接收上述第二节点控制器的虚拟网卡引擎返回的DMA队列的内存空间;
[0166]上述请求写发送单元1103,用于通过上述第一节点控制器的虚拟网卡引擎向上述第二节点控制器的远程协议引擎发送写请求,使上述远程协议引擎将上述写请求转发给上述第二节点控制器的本地协议引擎,并使上述第二节点控制器的本地协议引擎将上述数据报文写入上述内存空间;
[0167]上述消息发送单元1001包括:成功消息接收单元1104和成功消息发送单元1105 ;
[0168]上述成功消息接收单元1104,用于通过上述第一节点控制器的虚拟网卡引擎接收与完成消息;
[0169]上述成功消息发送单元1105,用于在上述第一节点控制器的虚拟网卡引擎接收到写完成消息后,向上述第二节点控制器的虚拟网卡引擎发送上述写完成消息,使上述第二节点控制器的虚拟网卡引擎通知上述虚拟机的中央处理器收到上述数据报文。
[0170]本发明实施例还提供了一种虚拟化网络的数据传输系统,如图12所示,包括:采用可通信连接的至少三个节点控制器1201,并且包含第一节点控制器12011和第二节点控制器12022 ;上述第一节点控制器12011为源虚拟机本地的节点控制器;上述第二节点控制器12022为目的虚拟机本地的节点控制器;其中,上述第一节点控制器12011为本发明实施例提供的任意一项的节点控制器。
[0171]在图12中所示了 η个NC,实际的NC个数并不仅限于如此,其个数也不影响本发明实施例的实现,因此图12的示意不应理解为对本发明实施例的唯一性限定。
[0172]本发明实施例,源虚拟机一侧的节点控制器解析数据报文,从而确定目的虚拟机一侧的节点控制器,并获得存储空间的地址,从而实现直接将数据报文从源虚拟机写到目的虚拟机的存储空间中,实现了将数据报文的传输操作变为存储空间的搬移操作,因此不仅速度快,而且不需额外占用NC的协议层处理能力,并且可以避免因网卡设备成为访问热点造成的性能瓶颈。
[0173]本发明实施例还提供了另外一种节点控制器,作为第一节点控制器使用,如图13所示,包括:接收器1301、发射器1302、处理器1303以及存储器1304 ;
[0174]其中,处理器1303,用于从源虚拟机的存储区域读取数据报文;上述第一节点控制器为上述源虚拟机本地的节点控制器;解析上述数据报文获得目的地址,并根据上述目的地址确定第二节点控制器;上述第二节点控制器为上述目的地址指向的目的虚拟机本地的节点控制器;通过上述第二节点控制器,将上述数据报文写入上述目的虚拟机的存储区域地址。
[0175]本发明实施例,源虚拟机一侧的节点控制器解析数据报文,从而确定目的虚拟机一侧的节点控制器,并获得存储空间的地址,从而实现直接将数据报文从源虚拟机写到目的虚拟机的存储空间中,实现了将数据报文的传输操作变为存储空间的搬移操作,因此不仅速度快,而且不需额外占用NC的协议层处理能力,并且可以避免因网卡设备成为访问热点造成的性能瓶颈。
[0176]更具体地,本实施例还提供了写入数据报文的具体实现方案,如下:上述处理器1303,用于通过上述第二节点控制器,将上述数据报文写入上述目的虚拟机的存储区域地址包括:向上述第二节点控制器发送地址请求信息,然后接收上述第二节点控制器返回的上述目的虚拟机的存储区域地址;将上述数据报文写入上述存储区域地址。
[0177]基于本发明实施例采用的是存储空间的数据直接搬移的方式,更具体地:上述存储区域地址为直接内存存取DMA地址;
[0178]上述处理器1303,用于将上述数据报文写入上述存储区域地址包括:
[0179]通过缓存一致性处理功能,将上述数据报文写入上述存储区域地址。
[0180]基于本发明实施例采用的是存储空间的数据直接搬移的方式,在数据报文写入到目的虚拟机一侧的存储空间以后,还需要告知目的虚拟机已经写入完毕,具体方案如下:进一步地,上述处理器1303,还用于在写入完毕后,向上述第二节点控制器发送写完成消息,使上述第二节点控制器向上述目的虚拟机发送中断并告知上述目的虚拟机收到了上述数据报文。
[0181]本发明实施例还给出了基于缓存一致性处理功能进行内存搬移的具体实现方案,具体如下:上述处理器1303,用于从源虚拟机的存储区域读取数据报文,包括:
[0182]通过上述第一节点控制器的虚拟网卡引擎从源虚拟机的DMA发送队列中读取数据报文;
[0183]上述处理器1303,用于通过上述第二节点控制器,将上述数据报文写入上述目的虚拟机的存储区域地址包括:
[0184]通过上述第一节点控制器的虚拟网卡引擎向第二节点控制区的虚拟网卡引擎发送通知消息告知有新的数据报文需要写入,并接收上述第二节点控制器的虚拟网卡引擎返回的DMA队列的内存空间;
[0185]通过上述第一节点控制器的虚拟网卡引擎向上述第二节点控制器的远程协议引擎发送写请求,使上述远程协议引擎将上述写请求转发给上述第二节点控制器的本地协议引擎,并使上述第二节点控制器的本地协议引擎将上述数据报文写入上述内存空间;
[0186]上述处理器1303,用于在写入完毕后,向上述第二节点控制器发送写完成消息,使上述第二节点控制器向上述目的虚拟机发送中断并告知上述目的虚拟机收到了上述数据报文包括:
[0187]通过上述第一节点控制器的虚拟网卡引擎在接收到写完成消息后,向上述第二节点控制器的虚拟网卡引擎发送上述写完成消息,使上述第二节点控制器的虚拟网卡引擎通知上述虚拟机的中央处理器收到上述数据报文。
[0188]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0189]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1