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

文档序号:9923821阅读:来源:国知局
消息发送单元包括:成功消息接收单元和成功消息发送单元;
[0046]所述成功消息接收单元,用于通过所述第一节点控制器的虚拟网卡引擎接收写完成消息;
[0047]所述成功消息发送单元,用于在所述第一节点控制器的虚拟网卡引擎接收到写完成消息后,向所述第二节点控制器的虚拟网卡引擎发送所述写完成消息,使所述第二节点控制器的虚拟网卡引擎通知所述虚拟机的中央处理器收到所述数据报文。
[0048]本发明实施例三方面提供了一种虚拟化网络的数据传输系统,包括:采用可通信连接的至少三个节点控制器,并且包含第一节点控制器和第二节点控制器;所述第一节点控制器为源虚拟机本地的节点控制器;所述第二节点控制器为目的虚拟机本地的节点控制器;所述第一节点控制器为本发明实施例提供的任意一项的节点控制器。
[0049]从以上技术方案可以看出,本发明实施例具有以下优点:源虚拟机一侧的节点控制器解析数据报文,从而确定目的虚拟机一侧的节点控制器,并获得存储空间的地址,从而实现直接将数据报文从源虚拟机写到目的虚拟机的存储空间中,实现了将数据报文的传输操作变为存储空间的搬移操作,因此不仅速度快,而且不需额外占用NC的协议层处理能力,并且可以避免因网卡设备成为访问热点造成的性能瓶颈。
【附图说明】
[0050]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0051]图1为本发明实施例方法流程示意图;
[0052]图2为本发明实施例方法流程示意图;
[0053]图3为本发明实施例节点控制器的内部结构示意图;
[0054]图4为本发明实施例节点结合控制器的内部结构数据流向示意图;
[0055]图5为本发明实施例系统结构示意图;
[0056]图6为本发明实施例方法流程示意图;
[0057]图7为本发明实施例方法流程示意图;
[0058]图8为本发明实施例节点控制器结构示意图;
[0059]图9为本发明实施例节点控制器结构示意图;
[0060]图10为本发明实施例节点控制器结构示意图;
[0061]图11为本发明实施例节点控制器结构示意图;
[0062]图12为本发明实施例系统结构示意图;
[0063]图13为本发明实施例节点控制器结构示意图。
【具体实施方式】
[0064]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0065]本发明实施例提供了一种虚拟化网络的数据传输方法,如图1所示,包括:
[0066]101:第一节点控制器从源虚拟机的存储区域读取数据报文;上述第一节点控制器为上述源虚拟机本地的节点控制器;
[0067]102:上述第一节点控制器解析上述数据报文获得目的地址,并根据上述目的地址确定第二节点控制器;上述第二节点控制器为上述目的地址指向的目的虚拟机本地的节点控制器;
[0068]103:上述第一节点控制器通过上述第二节点控制器,将上述数据报文写入上述目的虚拟机的存储区域地址。
[0069]本发明实施例,源虚拟机一侧的节点控制器解析数据报文,从而确定目的虚拟机一侧的节点控制器,并获得存储空间的地址,从而实现直接将数据报文从源虚拟机写到目的虚拟机的存储空间中,实现了将数据报文的传输操作变为存储空间的搬移操作,因此不仅速度快,而且不需额外占用NC的协议层处理能力,并且可以避免因网卡设备成为访问热点造成的性能瓶颈。
[0070]更具体地,本实施例还提供了写入数据报文的具体实现方案,如下:上述第一节点控制器通过上述第二节点控制器,将上述数据报文写入上述目的虚拟机的存储区域地址包括:
[0071]上述第一节点控制器向上述第二节点控制器发送地址请求信息,然后接收上述第二节点控制器返回的上述目的虚拟机的存储区域地址;
[0072]上述第一节点控制器将上述数据报文写入上述存储区域地址。
[0073]基于本发明实施例采用的是存储空间的数据直接搬移的方式,更具体地:上述存储区域地址为直接内存存取DMA地址;
[0074]上述第一节点控制器将上述数据报文写入上述存储区域地址包括:
[0075]上述第一节点控制器通过缓存一致性处理功能,将上述数据报文写入上述存储区域地址。
[0076]基于本发明实施例采用的是存储空间的数据直接搬移的方式,在数据报文写入到目的虚拟机一侧的存储空间以后,还需要告知目的虚拟机已经写入完毕,具体方案如下:进一步地,上述方法还包括:
[0077]上述第一节点控制器在写入完毕后,向上述第二节点控制器发送写完成消息,使上述第二节点控制器向上述目的虚拟机发送中断并告知上述目的虚拟机收到了上述数据报文。
[0078]本发明实施例还给出了基于缓存一致性处理功能进行内存搬移的具体实现方案,具体如下:上述第一节点控制器从源虚拟机的存储区域读取数据报文,包括:
[0079]上述第一节点控制器的虚拟网卡引擎从源虚拟机的DMA发送队列中读取数据报文;
[0080]上述第一节点控制器通过上述第二节点控制器,将上述数据报文写入上述目的虚拟机的存储区域地址包括:
[0081]上述第一节点控制器的虚拟网卡引擎向第二节点控制区的虚拟网卡引擎发送通知消息告知有新的数据报文需要写入,并接收上述第二节点控制器的虚拟网卡引擎返回的DMA队列的内存空间;
[0082]上述第一节点控制器的虚拟网卡引擎向上述第二节点控制器的远程协议引擎发送写请求,使上述远程协议引擎将上述写请求转发给上述第二节点控制器的本地协议引擎,并使上述第二节点控制器的本地协议引擎将上述数据报文写入上述内存空间;
[0083]上述第一节点控制器在写入完毕后,向上述第二节点控制器发送写完成消息,使上述第二节点控制器向上述目的虚拟机发送中断并告知上述目的虚拟机收到了上述数据报文包括:
[0084]上述第一节点控制器的虚拟网卡引擎在接收到写完成消息后,向上述第二节点控制器的虚拟网卡引擎发送上述写完成消息,使上述第二节点控制器的虚拟网卡引擎通知上述虚拟机的中央处理器收到上述数据报文。
[0085]以下实施例将分别就关键处理步骤、节点控制器的内部结构、以及结合内部控制器的数据报文写入过程三个方面进行详细说明。在以下实施例的举例中,第一节点控制器称为源NC,第二节点控制器为目的NC,存储空间均为DMA内存区域。
[0086]一、关键处理步骤:
[0087]如图2所示,包括:
[0088]201:源NC从源虚拟机的DMA内存区域读取数据报文;
[0089]202:源NC从数据报文中解析出目的互联网协议(Internet Protocol,IP)地址或者目的媒体访问控制(Media Access Control, MAC)地址;
[0090]203:源NC根据上述目的IP地址或者目的MAC地址查路由表,确定目的NC ;
[0091 ] 204:源NC向目的NC发送请求,获取目的NC的虚拟机的DMA内存地址;
[0092]205:源NC将数据报文写入到目的虚拟机的DMA内存中;
[0093]在以上步骤205中,数据报文写入完成后,目的NC会通知源NC写DMA完成。
[0094]206:源NC通知目的NC写DMA完成;
[0095]207:目的NC通知目的虚拟机CPU接收到一个新报文。
[0096]以上流程可以作为一个优选的实现流程,省略步骤205之后的目的NC通知源NC写DMA完成以及步骤206,直接执行207从理论上来说也是可以的,这样修改对NC进行较大的修改,目的虚拟机可以更快的获得数据包,因此数据传输速度会更快。
[0097]二、节点控制器的内部结构
[009
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1