CN103559075B - 一种数据传输方法、装置和系统及内存装置 - Google Patents
一种数据传输方法、装置和系统及内存装置 Download PDFInfo
- Publication number
- CN103559075B CN103559075B CN201310528917.4A CN201310528917A CN103559075B CN 103559075 B CN103559075 B CN 103559075B CN 201310528917 A CN201310528917 A CN 201310528917A CN 103559075 B CN103559075 B CN 103559075B
- Authority
- CN
- China
- Prior art keywords
- main frame
- virtual machine
- shared drive
- data
- communication connection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了数据传输方法、装置和系统及内存装置,应用于通信技术领域。在主机之间通过另外的内存装置来提供各个主机的共享内存,第一虚拟机先与第二主机的第二虚拟机建立基于共享内存的通信连接,然后根据该通信连接,将数据报文通过虚拟机管理器写入到该共享内存的数据传输通道中,然后由第二虚拟机从共享内存中读取。第一主机不用考虑第二主机实际的通信性能等因素,而是先将数据报文先缓存到共享内存中,然后第二主机可以在任意时间去收取该数据报文,避免第一主机直接发送数据报文给第二主机的过程中由于网络或目的主机故障等原因而导致的数据报文发送失败的情况,保证了数据报文完整正确的传输,提高了主机之间的通信性能。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种数据传输方法、装置和系统及内存装置。
背景技术
随着部件快速互连局部总线(Peripheral Component Interconnect Express,PCIe)技术的发展,PCIe总线可以是两台主机之间的数据通信总线。PCIe总线上传输的数据包是通过地址范围来寻址,即一个主机的处理器访问外设时会读写分配给其它主机的地址空间,最终PCIe总线通过这个地址把数据报文路由给其它主机。
这样就要求在一个主机系统中分配给主机的地址空间是不能重复的,而非透明桥(Non-Transparent Bridge,NTB)可以根据预先设置的地址转换规则把一个主机发往另一个主机的数据报文的地址进行转换,转换为目标主机不会冲突的地址范围,保证了两个主机之间通过PCIe总线交互数据时地址空间不重复,从而实现PCIe总线在主机之间的数据路由。
发明内容
本发明实施例提供一种数据传输方法、装置和系统及内存装置,提高主机之间的通信性能。
本发明实施例第一方面提供一种数据传输方法,包括:
第一主机的第一虚拟机建立所述第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接;
所述第一虚拟机根据建立的所述通信连接,将所述第一主机的数据报文通过所述第一主机的虚拟机管理器写入到所述第一主机和第二主机的共享内存的数据传输通道中,以便所述第二虚拟机在检测到所述共享内存的数据传输通道中所述数据报文传输完成后,通过所述第二主机的虚拟机管理器收取所述数据报文;
所述建立所述第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接,具体包括:
所述第一虚拟机调用第一通信连接函数,所述第一通信连接函数用于建立所述第一虚拟机与第二虚拟机之间基于共享内存的通信连接。
结合本发明实施例第一方面的第一种实现方式,在本发明实施例第一方面的第二种实现方式中,所述方法还包括:
如果所述第一虚拟机与第二虚拟机之间基于共享内存的通信连接建立失败,则所述第一虚拟机调用第二通信连接函数,所述第二通信连接函数用于建立所述第一虚拟机与第二虚拟机之间的直接通信连接。
结合本发明实施例第一方面,或第一方面的第一种或第二种实现方式,在本发明实施例第一方面的第三种实现方式中,所述方法还包括:
所述第一虚拟机当检测到所述共享内存中其它主机的数据报文传输完成的信息,通过所述第一主机的虚拟机管理器收取所述共享内存中储存的其它主机的数据报文。
结合本发明实施例第一方面,或第一方面的第一种或第二种实现方式,在本发明实施例第一方面的第四种实现方式中,所述方法还包括:
所述第一主机的虚拟机管理器选择主机系统中任一主机作为中央管理节点,以便所述中央管理节点对所述主机系统对应的共享内存的使用信息进行管理;和/或,
所述第一主机的虚拟机管理器管理所述主机系统对应的共享内存的使用信息。
本发明实施例第二方面提供一种数据传输方法,包括:
内存装置接收第一主机的第一虚拟机发送的数据报文并缓存到数据传输通道,所述数据报文是由所述第一主机的第一虚拟机通过与第二主机的第二虚拟机之间共享内存的通信连接发送的;
当接收到所述第二主机的第二虚拟机的收取请求,所述内存装置将所述数据传输通道中的数据报文传输给所述第二主机的第二虚拟机;
其中,建立所述第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接,具体包括:
所述第一虚拟机调用第一通信连接函数,所述第一通信连接函数用于建立所述第一虚拟机与第二虚拟机之间基于共享内存的通信连接。
本发明实施例第二方面的第一种可能实现方式中,所述方法还包括:所述内存装置将所述第一主机和第二主机的共享内存的使用信息发送给主机系统中的中央管理节点进行管理,所述中央管理节点是所述主机系统中任一主机。
本发明实施例第三方面提供一种数据传输装置,包括虚拟机管理器和多个虚拟机,所述虚拟机包括:
连接建立单元,用于建立所述数据传输装置的第一虚拟机与第二主机的第二虚拟机基于共享内存的通信连接;
数据写入单元,用于根据所述连接建立单元建立的通信连接,将所述数据传输装置的数据报文通过所述虚拟机管理器写入到所述数据传输装置和第二主机的共享内存的数据传输通道中,以便所述第二主机的第二虚拟机在检测到所述共享内存中所述数据报文传输完成后,通过所述第二主机的虚拟机管理器收取所述数据报文;
其中,所述连接建立单元,具体用于调用第一通信连接函数,所述第一通信连接函数用于建立所述数据传输装置与第二主机之间基于共享内存的通信连接。
结合本发明实施例第三方面的第一种实现方式,在本发明实施例第三方面的第二种实现方式中,所述虚拟机还包括:
建立失败单元,用于如果所述数据传输装置与第二主机之间基于共享内存的通信连接建立失败,则调用第二通信连接函数,所述第二通信连接函数用于建立所述数据传输装置与第二主机之间的直接通信连接。
结合本发明实施例第三方面,或第三方面的第一种或第二种实现方式,在本发明实施例第三方面的第三种实现方式中,所述虚拟机还包括:
收取单元,用于当检测到所述共享内存中其它主机的数据报文传输完成的信息,通过所述虚拟机管理器收取所述共享内存中储存的其它主机的数据报文。
结合本发明实施例第三方面,或第三方面的第一种或第二种实现方式,在本发明实施例第三方面的第四种实现方式中,还包括所述虚拟机管理器单元,具体包括选择单元和/或管理单元,其中:
所述选择单元,用于选择主机系统中任一主机作为中央管理节点,以便所述中央管理节点对所述主机系统对应的共享内存的使用信息进行管理;
所述管理单元,用于管理所述主机系统对应的共享内存的使用信息。
本发明实施例第四方面提供一种内存装置,包括:
接收缓存单元,用于接收第一主机的第一虚拟机发送的数据报文并缓存到数据传输通道,所述数据报文是由所述第一主机的第一虚拟机通过与第二主机的第二虚拟机之间共享内存的通信连接发送的;
传输单元,用于当接收到所述第二主机的第二虚拟机的收取请求,将所述接收缓存单元在数据传输通道中缓存的所述数据报文传输给所述第二主机的第二虚拟机;
其中,建立所述第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接,具体包括:
所述第一虚拟机调用第一通信连接函数,所述第一通信连接函数用于建立所述第一虚拟机与第二虚拟机之间基于共享内存的通信连接。
本发明实施例第四方面的第一种可能实现方式中,所述内存装置还包括:信息发送单元,用于将所述第一主机和第二主机的共享内存的使用信息发送给主机系统中的中央管理节点进行管理,所述中央管理节点是所述主机系统中任一主机。
本发明实施例第五方面提供一种数据传输系统,包括多个主机、通信总线转换装置和内存装置,其中:
所述多个主机中的第一主机是如本发明实施例第三方面,或第三方面的第一种到第四种可能实现方式中任一种实现方式所述的数据传输装置;所述内存装置中包括所述第一主机和所述多个主机中第二主机的共享内存;
所述通信总线转换装置连接在所述主机与内存装置之间,用于对所述主机与内存装置之间传输的数据报文进行地址转换;
所述内存装置是如本发明实施例第四方面或第四方面的第一种可能实现方式中所述的内存装置。
本发明实施例第六方面提供一种数据传输系统,包括内存装置和多个主机,其中:
所述多个主机中的第一主机是如本发明实施例第三方面,或第三方面的第一种到第四种可能实现方式中任一种实现方式所述的数据传输装置;所述内存装置中包括所述第一主机和所述多个主机中第二主机的共享内存;
所述内存装置是如本发明实施例第四方面或第四方面的第一种可能实现方式中所述的内存装置。
可见,在本实施例中,在主机之间通过另外的内存装置来提供各个主机的共享内存,这样当第一主机需要传输数据报文给第二主机时,先由第一虚拟机与第二主机的第二虚拟机建立基于共享内存的通信连接,然后根据该通信连接,将数据报文通过第一主机的虚拟机管理器写入到该共享内存的数据传输通道中,然后由第二主机的第二虚拟机在检测到该数据传输通道中所述数据报文传输完成后,通过第二主机的虚拟机从共享内存的数据传输通道中收取数据报文。这样在传输数据报文时,第一主机可以不用考虑第二主机实际的通信性能等因素,而是先将数据报文先缓存到共享内存中,然后第二主机可以在任意时间去收取该数据报文,可以避免第一主机直接发送数据报文给第二主机的过程中由于网络或目的主机故障等原因而导致的数据报文发送失败的情况,保证了数据报文完整正确的传输,提高了主机之间的通信性能,且对于通信实时性的要求不是很高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的数据传输方法应用于的一种主机系统的结构示意图;
图1b是本发明实施例提供的数据传输方法应用于的另一种主机系统的结构示意图;
图2是本发明实施例提供的一种数据传输方法的流程图;
图3是本发明实施例提供的另一种数据传输方法的流程图;
图4是本发明实施例提供的另一种数据传输方法的流程图;
图5a是本发明实施例中一种主机系统的结构示意图;
图5b是本发明实施例中另一种主机系统的结构示意图;
图6是本发明实施例提供的一种数据传输装置的结构示意图;
图7是本发明实施例提供的另一种数据传输装置的结构示意图;
图8是本发明实施例提供的一种内存装置的结构示意图;
图9是本发明实施例提供的另一种内存装置的结构示意图;
图10是本发明实施例提供的另一种数据传输装置的结构示意图;
图11是本发明实施例提供的另一种内存装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种数据传输方法,可以应用于如图1a和图1b所示的主机系统中,在图1a所示的系统中包括多个主机(至少两个主机)和内存装置,其中多个主机可以直接访问内存装置,并通过内存装置中所包括的共享内存进行数据传输。
在图1b所示的系统中包括多个主机(至少两个主机)、通信总线转换装置和内存装置,其中,通信总线转换装置是连接多个主机之间通信的装置,比如PCIe总线转换装置,主要在某一主机发送数据报文给目的主机的过程中,对数据报文进行地址转换,使得数据传输过程中不会发生地址冲突的情况,具体可以支持NTB技术,在具体实现的过程中,每个主机对应连接通信总线转换装置的一个NTB模块;内存装置与通信总线转换装置连接,多个主机在传输数据的过程中可以通过通信总线转换装置共享该内存装置的内存,具体地,内存装置与通信总线装换装置中的一个NTB模块连接,通过该NTB模块用于对内存装置与主机之间传输的数据进行地址转换;系统中的每个主机中都包括访问内存装置的接口,该接口主要是通信总线转换装置访问内存装置的接口。
本实施例的方法也可以应用于除了图1a和图1b所示的主机系统之外的其它主机系统中,只要在主机系统中包括内存装置和多个主机,且多个主机能通过内存装置中所包括的共享内存进行数据传输即可,至于在主机系统与内存装置之间可以包括其它的路由转换装置。其中,每个主机都包括硬件、虚拟机管理器和多个虚拟机。
在该系统中任一主机(比如第一主机)的任一虚拟机(比如第一虚拟机)可以按照如下的方法与其它主机(比如第二主机)的虚拟机之间进行数据传输,流程图如图2所示,包括:
步骤101,建立第一主机的第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接。
可以理解,本实施例中的数据传输流程可以由用户来触发,当主机系统中第一主机的第一虚拟机需要传输数据报文给第二主机的第二虚拟机时,需要与第二主机的第二虚拟机之间建立基于共享内存的通信连接,比如套接字连接,在如图1b所示的主机系统中,建立的通信连接主要是第一主机的第一虚拟机通过通信总线转换装置与第二主机的第二虚拟机之间基于共享内存的连接,在建立通信连接时,每个主机的虚拟机都需要知道通信双方的共享内存的信息比如共享内存所在的内存装置的地址信息等,这样才能传输数据报文。
在具体实现的过程中,第一主机的第一虚拟机可以调用第一通信连接函数,比如vsocket函数,该第一通信连接函数主要是用来建立第一主机的第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接,这样在建立了基于共享内存的通信连接后,第一虚拟机与第二虚拟机就可以按照步骤102来传输数据报文。进一步地,如果第一虚拟机与第二虚拟机之间基于共享内存的通信连接建立失败,则第一虚拟机切换到调用第二通信连接函数,比如socket函数,该第二通信连接函数主要是用于建立第一虚拟机与第二虚拟机之间的直接通信连接,即第一虚拟机与第二虚拟机之间传输的数据报文不需要先缓存到另一内存装置中,而是第一虚拟机将数据包报文直接传输给第二虚拟机。
步骤102,根据步骤101中建立的通信连接,将第一主机的数据报文通过第一主机的虚拟机管理器写入到第一主机和第二主机的共享内存的数据传输通道中,以便第二虚拟机在检测到共享内存的该数据传输通道中所述数据报文传输完成后,通过第二主机的虚拟机管理器收取该数据报文。
当第一主机的第一虚拟机传输数据报文时,需要通过一定协议来封装该数据报文,并指明该数据报文对应的目的主机(即第二主机),比如通过目的主机的标识来指明,且还需要指明第一主机和第二主机共享内存的信息等,为了说明该数据报文是发送给哪个主机的哪个虚拟机,且缓存在哪个共享内存中,而该数据报文对应的目的主机的信息和共享内存的信息可以是在上述步骤101的建立过程中得到。
在如图1a所示的主机系统中,第一主机的第一虚拟机会将封装好的数据报文直接发送给内存装置,让内存装置将该数据报文缓存到相应的共享内存中。而在如图1b所示的主机系统中,第一主机的第一虚拟机会将封装好的数据报文先发送给通信总线转换装置,这样通信总线转换装置中与该第一主机连接的NTB模块就会对数据报文按照一定的规则进行地址转换,主要是将数据报文从第一主机的主机域地址转换成PCIe总线地址,然后再由与内存装置连接的NTB模块将数据报文从PCIe总线地址转换为内存装置的主机域地址;最后由于内存装置连接的NTB模块将进行地址转换后的数据报文写入到内存装置的共享内存中。
在具体实现时,可以将共享内存的空间划分为几部分,比如储存传输的数据报文的空间(即数据传输通道)和储存传输事件完成的信息的空间(即事件通道)等,这样通信总线转换装置就可以将进行地址转换后的数据报文写入到共享内存的数据传输通道中。进一步地,当数据报文写入到共享内存中完成后,第一主机的第一虚拟机还可以将该数据报文的传输事件完成信息写入到共享内存的事件通道中,这样第二主机的第二虚拟机通过访问内存装置的接口访问共享内存时,发现发送给第二虚拟机的数据报文已经传输完成,就可以从共享内存的数据传输通道中收取该数据报文。且在一个内存装置中可以包括多个主机系统的共享内存,其中一个主机系统对应一个共享内存。其中每一个通信连接可以对应一个数据传输通道,使得各个主机之间的通信互不影响。
需要说明的是,上述第一主机和第二主机并不表示顺序关系,而是为了指明不同的主机;第一虚拟机和第二虚拟机也不表示顺序关系,而是指明不同的虚拟机;且第一通信连接函数和第二通信连接函数也不表示顺序关系,而是为了指明不同的通信连接函数。
可见,在本实施例中,在主机之间通过另外的内存装置来提供各个主机的共享内存,这样当第一主机需要传输数据报文给第二主机时,由第一虚拟机先与第二主机的第二虚拟机建立基于共享内存的通信连接,然后根据该通信连接,将数据报文通过第一主机的虚拟机管理器写入到该共享内存的数据传输通道中,然后由第二主机的第二虚拟机检测到该数据传输通道中的数据报文传输完成后,通过第二主机的虚拟机管理器从共享内存的数据传输通道中收取数据报文。这样在传输数据报文时,第一主机可以不用考虑第二主机实际的通信性能等因素,而是先将数据报文先缓存到共享内存中,然后第二主机可以在任意时间去收取该数据报文,可以避免第一主机直接发送数据报文给第二主机的过程中由于网络或目的主机故障等原因而导致的数据报文发送失败的情况,保证了数据报文完整正确的传输,提高了主机之间的通信性能,且对于通信实时性的要求不是很高。
参考图3所示,在一个具体的实施例中,在主机系统中的任一主机(比如第一主机)不仅可以由虚拟机通过上述步骤101到102的方法进行数据报文的传输,还可以由主机中的虚拟机管理器执行步骤103;或执行步骤103和104;或由其它主机的虚拟机管理器选择该第一主机为中央管理节点,并由该第一主机的虚拟机管理器直接执行步骤104,图3中只是示出执行步骤103和104的情况,具体地:
步骤103,选择主机系统中任一主机作为中央管理节点,且第一主机的虚拟机管理器可以将选择的中央管理节点的信息通知相应的主机,可以通知其它主机以便中央管理节点对主机系统对应的共享内存的使用信息进行管理,具体地,第一主机可以选择处理器负荷较小的主机作为中央管理节点。
其中,如果第一主机的虚拟机管理器将该本机选择为中央管理节点,则该第一主机的虚拟机管理器还会执行步骤104中的管理。
步骤104,管理主机系统对应的共享内存的使用信息,这里使用信息是指各个主机所占用共享内存的情况等信息,且还可以包括共享内存中各个数据传输通道的状态信息等。
需要说明的是,上述步骤103和104,与步骤101和102之间并没有绝对的顺序关系,可以顺序执行也可以同时执行,图3中示出的只是其中一种具体的实现方式。
本实施例中对共享内存的使用信息的管理是主机的虚拟机管理器通过访问内存装置的接口进行的管理,且对共享内存的使用信息的管理主要可以包括但不限于如下的处理:储存内存装置中各个内存单元的信息,比如是空闲还是被主机占用的信息等;当某一主机需要用到共享内存时,对该主机是否可以占用共享内存进行裁定;当内存装置中可用的内存单元的信息发生变化时,更新主机内储存的各个内存单元的信息。
另外,需要说明的是,上述步骤101到102中的方法是第一主机的第一虚拟机作为发送数据报文的设备,当第一主机的第一虚拟机作为接收数据报文的设备,则当第一主机的第一虚拟机检测到共享内存中其它主机的数据报文传输完成的信息,比如当检测到共享内存的事件通道中其它主机的数据报文的传输事件完成信息,则说明其它主机发送给第一主机的数据报文已经传输完成,则第一虚拟机通过第一主机的虚拟机管理器收取共享内存中储存的其它主机的数据报文。
本发明实施例还提供另一种数据传输方法,可以应用于但不限于如图1a和图1b所示的主机系统中,且本实施例的方法是主机系统中的内存装置所执行的方法,流程图如图4所示,包括:
步骤201,接收第一主机的第一虚拟机发送的数据报文并缓存到数据传输通道,该数据报文是由第一主机的第一虚拟机通过与第二主机的第二虚拟机之间共享内存的通信连接发送的。
步骤202,当接收到第二主机的第二虚拟机的收取请求,将数据传输通道中缓存的数据报文传输给第二主机的第二虚拟机。
可以理解,当第一主机的第一虚拟机按照上述步骤101到102,将数据报文先写入到内存装置中第一主机与第二主机之间的共享内存的数据传输通道中,第二主机的第二虚拟机就可以随时收取该数据报文。进一步地,为了保证数据报文的完整传输,第一主机的第一虚拟机可以在将数据报文写入到共享内存的数据传输通道完成后,将该数据报文的传输事件完成信息也写入到共享内存的事件通道中,这样内存装置会接收第一主机的第一虚拟机发送的数据报文的传输事件完成信息并缓存。当第二主机的第二虚拟机通过访问共享内存的接口检测到该传输事件完成信息,就会向内存装置发送收取请求,请求收取该数据传输通道中的数据报文,这样内存装置会执行上述步骤202。
需要说明的是,内存装置不仅可以执行上述步骤201到202,还可以将第一主机和第二主机的共享内存的使用信息发送给主机系统中的中央管理节点进行管理,该中央管理节点是主机系统中任一主机。
可见,在本实施例中,在主机之间通过另外的内存装置来提供各个主机的共享内存,这样当第一主机需要传输数据报文给第二主机时,先由第一虚拟机将数据报文写入到内存装置的共享内存的数据传输通道中缓存,然后由第二主机的第二虚拟机从共享内存的数据传输通道中读取。这样在传输数据报文时,第一主机可以不用考虑第二主机实际的通信性能等因素,而是先将数据报文先缓存到共享内存中,然后第二主机可以在任意时间去收取该数据报文,可以避免第一主机直接发送数据报文给第二主机的过程中由于网络或目的主机故障等原因而导致的数据报文发送失败的情况,保证了数据报文完整正确的传输,提高了主机之间的通信性能,且对于通信实时性的要求不是很高。
以下以一个具体的实施例来说明本发明实施例的数据传输方法,该方法主要是应用的主机系统如图5a所示,本实施例中以两个主机(即主机1和主机2)之间的数据通信为例说明,每个主机都包括硬件(Hardware)、虚拟机管理器(Virtual Machine Monitor,VMM)和多个虚拟机(Virtual Machine,VM),其中每个虚拟机的结构都类似,且每个主机的结构也类似,图5中只画出一个虚拟机和一个主机的结构,具体地:
每个虚拟机中都可以包括套接字模块和虚拟网卡驱动模块,且在VMM中可以包括扩展内存节点上的共享内存(Extended Shared Memory,ESM)管理模块,其中套接字模块用来对拦截通信连接请求(比如socket请求),如果该请求是数据传输请求,则可以按照本发明实施例的方法进行共享内存加速的数据传输,如果该请求是控制请求,则需要通过普通的传输控制协议(Transmission Control Protocol,TCP)或互联网协议(Internet Protocol,IP)来进行数据传输;虚拟网卡驱动模块是用来感知并管理数据传输通道,通知上层的应用模块该数据传输通道的变化。在VMM中包括的ESM管理模块用来感知主机系统内在ESM节点上的共享内存的使用情况,提供共享内存的管理接口。
每个主机连接到PCIe总线转换装置(即上述的通信总线转转装置)中对应的NTB模块,该NTB模块用于对连接的主机发送或发送给主机的数据报文进行地址转换。
ESM节点即上述的内存装置,与PCIe总线转换装置中的一个NTB模块连接,用来为各个主机提供共享内存,ESM节点的硬件主要包括与PCIe总线转换装置的接口和扩展内存的接口,在ESM节点中还包括对扩展的内存配置模块,用来管理扩展内存的接口上连接内存。
在图5a所示的主机系统的构架下,两个主机之间可以按照如下的方法来进行数据传输:
(1)共享内存的初始化
ESM节点上的内存模块对ESM节点的内存控制器进行配置,初始化多个主机的共享内存的信息,即将共享内存都配置为可用的状态。其中内存控制器是计算机系统内控制内存并通过内存控制器使内存与处理器之间叫唤数据的重要组成部分。
对PCIe总线转换装置进行配置,使得主机系统内各个主机都可以通过对应的NTB模块的基地址寄存器(Base Address Registers,BAR)来储存ESM节点上物理内存的地址信息。这样当主机需要访问内存装置时,PCIe总线转换装置就可以指导ESM节点上主机的共享内存的信息。
(2)共享内存的管理
主要是由主机的VMM中ESM管理模块为上述BAR中储存的物理内存的物理地址映射对应的虚拟地址,使得主机可以通过虚拟地址来访问ESM节点上的内存。
且ESM管理模块还可以选择任一主机作为中央管理节点,由中央管理节点的ESM管理模块来管理多个主机的共享内存的使用信息,比如存储ESM节点上全部内存的状态信息等,根据ESM节点上内存的状态变化,更新储存的m内存信息等。
(3)主机之间的通信
用户通过操作主机1,使得主机1启动数据报文的传输流程,首先主机1的虚拟机会调用第一通信连接函数比如套接字函数,使得主机1发起套接字请求,请求与主机2的虚拟机建立基于共享内存的通信连接;而主机1的虚拟机中的套接字模块就会拦截该套接字请求。
套接字模块通过虚拟网卡驱动模块通知VMM中的ESM管理模块建立与主机2的虚拟机之间基于共享内存的数据传输通道和事件通道,如果基于共享内存的数据传输通道建立失败,则ESM管理模块会通过虚拟网卡驱动模块向套接字模块反馈通道建立失败的事件,套接字模块会切换到调用第二通信连接函数,来建立主机1和2之间直接传输数据报文。其中在建立数据传输通道和事件通道时,ESM管理模块需要先为这些通道从ESM节点申请内存,而是否能申请需要先经过主机系统内中央管理节点进行来裁定。
如果上述数据传输通道和事件通道建立成功,则主机1发送的数据报文会通过套接字模块透传到虚拟网卡驱动模块,然后再传输到PCIe总线转换装置中对应的NTB模块中,将数据报文的地址进行转换后,再写入到ESM节点中主机1和2共享内存的数据传输通道。当该数据报文的传输完成后,主机1中的虚拟网卡驱动模块会将该数据报文的传输事件完成信息通过NTB模块写入到共享内存的事件通道。
主机2的VMM中的ESM管理模块中提供了对ESM节点中共享内存的访问接口,这样主机2就会检测共享内存的事件通道,如果检测到上述的传输事件完成信息后,就会通过套接字模块透传给上层的应用模块。该应用模块会触发收取该数据报文,则收取请求会通过虚拟网卡驱动模块传输给ESM管理模块,由ESM管理模块提供的访问接口向ESM节点共享内存的数据传输通道中收取该数据报文。
需要说明的是,本发明实施例的数据传输方法还可以用于如图5b所示的主机系统中,本主机系统中包括ESM节点和多个主机,ESM节点与多个主机直接连接,而不是通过其它的路由转换装置连接。其中主机的结构与上述图5a所述的主机系统中主机的结构类似,且ESM节点的结构与上述图5a所示的主机系统中的ESM节点的结构也类似,不同的是,在如图5b所示主机系统中的ESM节点中的硬件包括的是主机接口和扩展内存的接口,其中主机接口主要是用来直接连接各个主机,与主机之间传输数据。且在图5b所示的主机系统架构下的数据传输方法与上述图5a所示的主机系统中数据传输方法类似,不同的是,本实施例中,各个主机与ESM节点之间可以直接传输数据报文,在此不进行赘述。
可见,通过本实施例的方法,实现了在主机之间内存的情况下,跨节点的虚拟机之间的数据通信。
本发明实施例还提供一种数据传输装置,即上述的第一主机,结构示意图如图6所示,包括虚拟机管理器和多个虚拟机,每个虚拟机都分别与虚拟机管理器连接,图中只画出一个虚拟机的结构,其它虚拟机的结构类似,其中任一个虚拟机包括:
连接建立单元10,用于建立所述数据传输装置的第一虚拟机与第二主机的第二虚拟机基于共享内存的通信连接;
数据写入单元11,用于根据所述连接建立单元10建立的通信连接,将所述数据传输装置的数据报文通过虚拟机管理器写入到所述数据传输装置和第二主机的共享内存的数据传输通道中,以便所述第二主机的第二虚拟机在检测到所述共享内存中所述数据报文传输完成后,通过第二主机的虚拟机管理器收取所述数据报文。
在本实施例中,在主机之间通过另外的内存装置来提供各个主机的共享内存,这样当该数据传输装置作为第一主机需要传输数据报文给第二主机时,先由虚拟机中的连接建立单元10与第二主机的第二虚拟机建立基于共享内存的通信连接,然后数据写入单元11根据该通信连接,将数据报文通过虚拟机管理器写入到该共享内存的数据传输通道中,然后由第二主机的第二虚拟机在检测到该数据传输通道中的数据报文传输完成后,通过第二主机的虚拟机管理器从共享内存中读取。这样在传输数据报文时,数据传输装置可以不用考虑第二主机实际的通信性能等因素,而是先将数据报文先缓存到共享内存中,然后第二主机可以在任意时间去收取该数据报文,可以避免数据传输装置直接发送数据报文给第二主机的过程中由于网络或目的主机故障等原因而导致的数据报文发送失败的情况,保证了数据报文完整正确的传输,提高了主机之间的通信性能,且对于通信实时性的要求不是很高。
参考图7所示,在一个具体的实施例中,数据传输装置中的虚拟机除了可以包括如图6所示的结构外,还可以包括建立失败单元12、完成写入单元13和收取单元14,且数据传输装置中的虚拟机管理器可以包括选择单元15和/或管理单元16,其中:
建立失败单元12,用于如果所述数据传输装置的第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接建立失败,则调用第二通信连接函数,所述第二通信连接函数用于建立所述数据传输装置的第一虚拟机与第二主机的第二虚拟机之间的直接通信连接。
完成写入单元13,用于当所述数据报文写入到所述共享内存中完成后,将所述数据报文的传输事件完成信息通过虚拟机管理器写入到所述共享内存的事件通道。
收取单元14,用于当检测到所述共享内存中其它主机的数据报文传输完成的信息,通过虚拟机管理器收取所述共享内存中储存的其它主机的数据报文。
选择单元15,用于选择主机系统中任一主机作为中央管理节点,以便所述中央管理节点对所述主机系统对应的共享内存的使用信息进行管理;
管理单元16,用于管理所述主机系统对应的共享内存的使用信息。
在本实施例的数据传输装置中,连接建立单元10在建立通信连接时,具体是调用第一通信连接函数,所述第一通信连接函数用于建立所述数据传输装置的第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接。如果所述数据传输装置的第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接建立失败,则由建立失败单元12调用第二通信连接函数,以便可以在该数据传输装置的第一虚拟机与第二主机的第二虚拟机之间进行数据报文的直接传输;如果连接建立单元10建立基于共享内存的通信连接成功,则由数据写入单元11按照上述步骤102进行数据报文的传输,在如图1b所示的主机系统下,具体地,数据写入单元11可以将所述数据传输装置的数据报文通过虚拟机管理器发送给所述通信总线转换装置,以便所述通信总线转换装置对所述数据报文进行地址转换后,将所述进行地址转换后的数据报文写入到所述共享内存的数据传输通道中,进一步地,当数据写入单元11将所述数据报文通过虚拟机管理器写入到所述共享内存中完成后,可以由完成写入单元13将传输事件完成信息通过虚拟机管理器写入到共享内存的事件通道,这样第二主机的第二虚拟机在检测到该传输事件完成信息后,就可以通过第二主机的虚拟机管理器收取数据报文,充分地保证了数据报文的完整传输。
另外,在本实施例中,该数据传输装置作为接收数据报文的装置时,可以通过收取单元14到共享内存中收取数据报文。且可以通过虚拟机管理器中的选择单元15选择中央管理节点,如果选择该数据传输装置作为中央管理节点,则管理单元16会进行管理;如果选择其它主机作为中央管理节点,该选择单元15还可以通知其它主机进行共享内存的使用信息的管理;而如果管理单元16接收到其它主机通知的选择该数据传输装置为中央管理节点,则该管理单元16也会进行管理操作。
本发明实施例还提供一种内存装置,在该内存装置中包括第一主机和第二主机的共享内存,结构示意图如图8所示,包括:
接收缓存单元20,用于接收第一主机的第一虚拟机发送的数据报文并缓存到数据传输通道,所述数据报文是由所述第一主机的第一虚拟机通过与第二主机的第二虚拟机之间共享内存的通信连接发送的;
传输单元21,用于当接收到所述第二主机的第二虚拟机的收取请求,将所述接收缓存单元20在数据传输通道中缓存的所述数据报文传输给所述第二主机的第二虚拟机。
在本实施例中,在主机之间通过另外的内存装置来提供各个主机的共享内存,这样当第一主机需要传输数据报文给第二主机时,先由第一主机的第一虚拟机将数据报文写入到内存装置的接收缓存单元20进行缓存,然后由传输单元21根据第二主机的第二虚拟机的收取请求来传输该数据报文。这样在传输数据报文时,第一主机可以不用考虑第二主机实际的通信性能等因素,而是先将数据报文先缓存到共享内存中,然后第二主机可以在任意时间去收取该数据报文,可以避免第一主机直接发送数据报文给第二主机的过程中由于网络或目的主机故障等原因而导致的数据报文发送失败的情况,保证了数据报文完整正确的传输,提高了主机之间的通信性能,且对于通信实时性的要求不是很高。
参考图9所示,在一个具体的实施例中,内存装置除了可以包括如图8所示的结构外,还可以包括完成缓存单元22和信息发送单元23,其中:
完成缓存单元22,用于接收所述第一主机的第一虚拟机发送的所述数据报文的传输事件完成信息并缓存。
信息发送单元23,用于将所述第一主机和第二主机的共享内存的使用信息发送给主机系统中的中央管理节点进行管理,所述中央管理节点是所述主机系统中任一主机。
在本实施例中,当第一主机的第一虚拟机发送数据报文给接收缓存单元20进行缓存后,如果数据报文发送完成,第一主机的第一虚拟机可以将该数据报文的传输事件完成信息发送给完成缓存单元22进行缓存;这样当第二主机的第二虚拟机检测到该传输事件完成信息后,就可以向内存装置发送收取请求来请求收取该数据报文,最后由传输单元21将该数据报文传输给第二主机的第二虚拟机。
本发明实施例还提供一种数据传输系统,结构示意图可以如图1b所示,包括多个主机、通信总线转换装置和内存装置,多个主机中的第一主机的结构可以如上述图6或图7所示的数据传输装置的结构,且而内存装置中包括所述第一主机和所述多个主机中第二主机的共享内存;所述通信总线转换装置连接在所述主机与内存装置之间,用于对所述主机与内存装置之间传输的数据报文进行地址转换;而内存装置的结构可以如上述图8或图9所示的内存装置的结构,在此不进行赘述。
本发明实施例还提供另一种数据传输系统,结构示意图可以如图1a所示,包括内存装置和多个主机,多个主机中的第一主机的结构可以如上述图6或图7所示的数据传输装置的结构,且而内存装置中包括所述第一主机和所述多个主机中第二主机的共享内存;而内存装置的结构可以如上述图8或图9所示的内存装置的结构,在此不进行赘述。
本发明实施例还提供另一种数据传输装置,即上述的第一主机,结构示意图如图10所示,包括分别连接到总线上的存储器30、处理器31、输入装置33和输出装置34,其中:
存储器30中用来储存从输入装置33输入的数据,且还可以储存处理器31处理数据的必要文件等信息;输入装置33和输出装置34是数据传输装置与其它设备通信的端口,还可以包括数据传输装置外接的设备比如显示器、键盘、鼠标和打印机等。
处理器31,用于建立所述数据传输装置的第一虚拟机与第二主机的第二虚拟机的通信连接;根据所述建立基于共享内存的通信连接,控制输出装置34将所述第一主机的数据报文通过虚拟机管理器写入到所述数据传输装置和第二主机的共享内存的数据传输通道中,以便所述第二主机的第二虚拟机在检测所述共享内存的数据传输通道中所述数据报文传输完成后,通过虚拟机管理器收取所述数据报文。这样在主机之间通过另外的内存装置来提供各个主机的共享内存,在传输数据报文时,数据传输装置可以不用考虑第二主机实际的通信性能等因素,而是先将数据报文先缓存到共享内存中,然后第二主机可以在任意时间去收取该数据报文,可以避免数据传输装置直接发送数据报文给第二主机的过程中由于网络或目的主机故障等原因而导致的数据报文发送失败的情况,保证了数据报文完整正确的传输,提高了主机之间的通信性能,且对于通信实时性的要求不是很高。
具体地,处理器31在在建立通信连接时,具体是调用第一通信连接函数,所述第一通信连接函数用于建立所述数据传输装置的第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接。如果所述数据传输装置的第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接建立失败,则调用第二通信连接函数,所述第二通信连接函数用于建立所述数据传输装置的第一虚拟机与第二主机的第二虚拟机之间的直接通信连接;如果数据传输装置的第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接建立成功,则处理器31可以按照上述步骤102进行数据报文的传输,具体地,处理器31可以控制输出装置34将所述数据传输装置的数据报文通过虚拟机管理器发送给所述通信总线转换装置,以便所述通信总线转换装置对所述数据报文进行地址转换后,将所述进行地址转换后的数据报文写入到所述共享内存的数据传输通道中,进一步地,当所述数据报文写入到所述共享内存中完成后,处理器31可以控制输出装置34将所述数据报文的传输事件完成信息通过虚拟机管理器写入到所述共享内存的事件通道,这样第二主机在检测到该传输事件完成信息后,就可以收取数据报文,充分地保证了数据报文的完整传输。
另外,当该数据传输装置作为接收数据报文的装置时,当处理器31检测到所述共享内存中其它主机的数据报文传输完成的信息,还可以控制输入装置23通过虚拟机管理器收取所述共享内存中储存的其它主机的数据报文。且处理器31还用于通过虚拟机管理器选择主机系统中任一主机作为中央管理节点,以便所述中央管理节点对所述主机系统对应的共享内存的使用信息进行管理,如果选择该数据传输装置作为中央管理节点,则会进行共享内存的使用信息的管理;如果选择其它主机作为中央管理节点,处理器31可以控制输出装置34来通知其它主机进行共享内存的使用信息的管理;而如果输入装置23接收到其它主机通知的选择该数据传输装置为中央管理节点,则处理器31也会通过虚拟机管理器进行共享内存的使用信息的管理操作。
本发明实施例还提供另一种内存装置,结构示意图如图11所示,包括分别连接到总线上的存储器40、处理器41、输入装置43和输出装置44,其中:
存储器40中用来储存从输入装置43输入的数据,且还可以储存处理器41处理数据的必要文件等信息,本实施例中存储器40包括多个主机的共享内存;输入装置43和输出装置44是内存输装置与其它设备通信的端口,还可以包括内存装置外接的设备比如显示器、键盘、鼠标和打印机等。
处理器41,用于将输入装置43接收的第一主机的第一虚拟机发送的数据报文缓存到存储器40的数据传输通道中,所述第一节点的数据报文是由所述第一主机的第一虚拟机通过与第二主机的第二虚拟机之间共享内存的通信连接发送的;当输入装置43接收到所述第二主机的第二虚拟机的收取请求,控制输出装置44将存储器40在数据传输通道中缓存的所述数据报文传输给所述第二主机的第二虚拟机。这样在主机之间通过另外的内存装置来提供各个主机的共享内存,在传输数据报文时,第一主机可以不用考虑第二主机实际的通信性能等因素,而是先将数据报文先缓存到共享内存中,然后第二主机可以在任意时间去收取该数据报文,可以避免第一主机直接发送数据报文给第二主机的过程中由于网络或目的主机故障等原因而导致的数据报文发送失败的情况,保证了数据报文完整正确的传输,提高了主机之间的通信性能,且对于通信实时性的要求不是很高。
进一步地,本实施例的内存装置中,处理器41还可以将输入装置43接收的所述第一主机的第一虚拟机发送的所述数据报文的传输事件完成信息缓存到存储器40中,这样当第二主机的第二虚拟机检测到该传输事件完成信息后,就可以通过第二主机的虚拟机管理器向内存装置发送收取请求来请求收取该数据报文。且处理器41还用于将所述第一主机和第二主机的共享内存的使用信息发送给主机系统中的中央管理节点进行管理,所述中央管理节点是所述主机系统中任一主机。
本发明实施例还提供另一种数据传输系统,结构示意图可以如图1b所示,包括多个主机、通信总线转换装置和内存装置,多个主机中的第一主机的结构可以如上述图10所示的数据传输装置的结构,且而内存装置中包括所述第一主机和所述多个主机中第二主机的共享内存;所述通信总线转换装置连接在所述主机与内存装置之间,用于对所述主机与内存装置之间传输的数据报文进行地址转换;而内存装置的结构可以如上述图11所示的内存装置的结构,在此不进行赘述。
本发明实施例还提供另一种数据传输系统,结构示意图可以如图1a所示,包括内存装置和多个主机,多个主机中的第一主机的结构可以如上述图10所示的数据传输装置的结构,且而内存装置中包括所述第一主机和所述多个主机中第二主机的共享内存;而内存装置的结构可以如上述图11所示的内存装置的结构,在此不进行赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
以上对本发明实施例所提供的数据传输方法、装置和系统及内存装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种数据传输方法,其特征在于,包括:
第一主机的第一虚拟机建立所述第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接;
所述第一虚拟机根据建立的所述通信连接,将所述第一主机的数据报文通过所述第一主机的虚拟机管理器写入到所述第一主机和第二主机的共享内存的数据传输通道中,以便所述第二虚拟机在检测到所述共享内存的数据传输通道中所述数据报文传输完成后,通过所述第二主机的虚拟机管理器收取所述数据报文;
其中,建立所述第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接,具体包括:
所述第一虚拟机调用第一通信连接函数,所述第一通信连接函数用于建立所述第一虚拟机与第二虚拟机之间基于共享内存的通信连接。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述第一虚拟机与第二虚拟机之间基于共享内存的通信连接建立失败,则所述第一虚拟机调用第二通信连接函数,所述第二通信连接函数用于建立所述第一虚拟机与第二虚拟机之间的直接通信连接。
3.如权利要求1至2任一项所述的方法,其特征在于,所述方法还包括:
所述第一虚拟机当检测到所述共享内存中其它主机的数据报文传输完成的信息,通过所述第一主机的虚拟机管理器收取所述共享内存中储存的其它主机的数据报文。
4.如权利要求1至2任一项所述的方法,其特征在于,所述方法还包括:
所述第一主机的虚拟机管理器选择主机系统中任一主机作为中央管理节点,以便所述中央管理节点对所述主机系统对应的共享内存的使用信息进行管理;和/或,
所述第一主机的虚拟机管理器管理所述主机系统对应的共享内存的使用信息。
5.一种数据传输方法,其特征在于,包括:
内存装置接收第一主机的第一虚拟机发送的数据报文并缓存到数据传输通道,所述数据报文是由所述第一主机的第一虚拟机通过与第二主机的第二虚拟机之间共享内存的通信连接发送的;
当接收到所述第二主机的第二虚拟机的收取请求,所述内存装置将所述数据传输通道中的数据报文传输给所述第二主机的第二虚拟机;
其中,建立所述第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接,具体包括:
所述第一虚拟机调用第一通信连接函数,所述第一通信连接函数用于建立所述第一虚拟机与第二虚拟机之间基于共享内存的通信连接。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:所述内存装置将所述第一主机和第二主机的共享内存的使用信息发送给主机系统中的中央管理节点进行管理,所述中央管理节点是所述主机系统中任一主机。
7.一种数据传输装置,其特征在于,包括虚拟机管理器和多个虚拟机,所述虚拟机包括:
连接建立单元,用于建立所述数据传输装置的第一虚拟机与第二主机的第二虚拟机基于共享内存的通信连接;
数据写入单元,用于根据所述连接建立单元建立的通信连接,将所述数据传输装置的数据报文通过所述虚拟机管理器写入到所述数据传输装置和第二主机的共享内存的数据传输通道中,以便所述第二主机的第二虚拟机在检测到所述共享内存中所述数据报文传输完成后,通过所述第二主机的虚拟机管理器收取所述数据报文;
其中,所述连接建立单元,具体用于调用第一通信连接函数,所述第一通信连接函数用于建立所述数据传输装置与第二主机之间基于共享内存的通信连接。
8.如权利要求7所述的装置,其特征在于,所述虚拟机还包括:
建立失败单元,用于如果所述数据传输装置与第二主机之间基于共享内存的通信连接建立失败,则调用第二通信连接函数,所述第二通信连接函数用于建立所述数据传输装置与第二主机之间的直接通信连接。
9.如权利要求7至8任一项所述的装置,其特征在于,所述虚拟机还包括:
收取单元,用于当检测到所述共享内存中其它主机的数据报文传输完成的信息,通过所述虚拟机管理器收取所述共享内存中储存的其它主机的数据报文。
10.如权利要求7至8任一项所述的装置,其特征在于,还包括所述虚拟机管理器单元,具体包括选择单元和/或管理单元,其中:
所述选择单元,用于选择主机系统中任一主机作为中央管理节点,以便所述中央管理节点对所述主机系统对应的共享内存的使用信息进行管理;
所述管理单元,用于管理所述主机系统对应的共享内存的使用信息。
11.一种内存装置,其特征在于,包括:
接收缓存单元,用于接收第一主机的第一虚拟机发送的数据报文并缓存到数据传输通道,所述数据报文是由所述第一主机的第一虚拟机通过与第二主机的第二虚拟机之间共享内存的通信连接发送的;
传输单元,用于当接收到所述第二主机的第二虚拟机的收取请求,将所述接收缓存单元在数据传输通道中缓存的所述数据报文传输给所述第二主机的第二虚拟机;
其中,建立所述第一虚拟机与第二主机的第二虚拟机之间基于共享内存的通信连接,具体包括:
所述第一虚拟机调用第一通信连接函数,所述第一通信连接函数用于建立所述第一虚拟机与第二虚拟机之间基于共享内存的通信连接。
12.如权利要求11所述的装置,其特征在于,还包括:信息发送单元,用于将所述第一主机和第二主机的共享内存的使用信息发送给主机系统中的中央管理节点进行管理,所述中央管理节点是所述主机系统中任一主机。
13.一种数据传输系统,其特征在于,包括多个主机、通信总线转换装置和内存装置,其中:
所述多个主机中的第一主机是如权利要求7到10任一项所述的数据传输装置;所述内存装置中包括所述第一主机和所述多个主机中第二主机的共享内存;
所述通信总线转换装置连接在所述主机与内存装置之间,用于对所述主机与内存装置之间传输的数据报文进行地址转换;
所述内存装置是如权利要求11到12任一项所述的内存装置。
14.一种数据传输系统,其特征在于,包括内存装置和多个主机,其中:
所述多个主机中的第一主机是如权利要求7到10任一项所述的数据传输装置;所述内存装置中包括所述第一主机和所述多个主机中第二主机的共享内存;所述内存装置是如权利要求11到12任一项所述的内存装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310528917.4A CN103559075B (zh) | 2013-10-30 | 2013-10-30 | 一种数据传输方法、装置和系统及内存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310528917.4A CN103559075B (zh) | 2013-10-30 | 2013-10-30 | 一种数据传输方法、装置和系统及内存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103559075A CN103559075A (zh) | 2014-02-05 |
CN103559075B true CN103559075B (zh) | 2016-10-05 |
Family
ID=50013328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310528917.4A Active CN103559075B (zh) | 2013-10-30 | 2013-10-30 | 一种数据传输方法、装置和系统及内存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103559075B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329410A (zh) * | 2017-06-23 | 2017-11-07 | 唐山钢铁集团微尔自动化有限公司 | 一种工业过程控制的快速数据存储方法 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117394A (zh) * | 2014-11-04 | 2015-12-02 | 合肥轩明信息科技有限公司 | 一种基于缓存技术的一种应用方式 |
CN104615934B (zh) * | 2015-02-03 | 2020-06-16 | 腾讯科技(深圳)有限公司 | Sql注入攻击安全防护方法和系统 |
DE102015214424A1 (de) * | 2015-07-29 | 2017-02-02 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Kommunizieren zwischen virtuellen Maschinen |
JP6847105B2 (ja) * | 2015-10-21 | 2021-03-24 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 分散キャッシュライブマイグレーション |
CN105404597B (zh) * | 2015-10-21 | 2018-10-12 | 华为技术有限公司 | 数据传输的方法、设备及系统 |
CN106612306A (zh) * | 2015-10-22 | 2017-05-03 | 中兴通讯股份有限公司 | 虚拟机的数据共享方法及装置 |
CN112486858A (zh) * | 2016-03-17 | 2021-03-12 | 华为技术有限公司 | 一种数据预取方法以及装置 |
CN107783860A (zh) * | 2016-08-31 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 一种数据传输的恢复点目标监控方法及设备 |
CN107832117A (zh) * | 2017-11-15 | 2018-03-23 | 北京东土科技股份有限公司 | 一种虚拟机状态信息同步方法及电子设备 |
CN108595244A (zh) * | 2017-12-05 | 2018-09-28 | 北京神州绿盟信息安全科技股份有限公司 | 虚拟机内外通信方法、虚拟机、物理主机及虚拟机系统 |
CN109213574A (zh) * | 2018-09-26 | 2019-01-15 | 郑州云海信息技术有限公司 | 一种用于存储系统之间的信息传输方法、装置及介质 |
CN111107663B (zh) * | 2018-10-26 | 2022-09-27 | 中兴通讯股份有限公司 | 数据的传输方法及装置、存储介质、电子装置 |
CN109361693B (zh) * | 2018-11-21 | 2020-11-24 | 南京中孚信息技术有限公司 | 虚拟设备通信方法和装置 |
CN111796901B (zh) * | 2019-04-08 | 2024-06-14 | 维塔科技(北京)有限公司 | 切换共享内存区的方法和装置、存储介质和电子设备 |
CN110086571A (zh) * | 2019-04-10 | 2019-08-02 | 广州华多网络科技有限公司 | 一种数据发送及接收的方法、装置及数据处理系统 |
CN113535241B (zh) * | 2020-04-21 | 2024-05-03 | 中兴通讯股份有限公司 | 无盘启动方法、装置、终端设备和存储介质 |
CN112667359B (zh) * | 2020-12-30 | 2024-01-30 | 深圳市科思科技股份有限公司 | 数据透传方法、电子设备及存储介质 |
CN112835775B (zh) * | 2021-01-29 | 2024-03-01 | 许继集团有限公司 | 模拟网络通讯方法、装置及继电保护装置仿真测试系统 |
CN112905304B (zh) * | 2021-03-08 | 2024-07-09 | 深信服科技股份有限公司 | 一种虚拟机间通信方法、装置、物理主机及介质 |
CN113596143A (zh) * | 2021-07-27 | 2021-11-02 | 西安万像电子科技有限公司 | 一种基于vdi多虚拟机间数据传输方法及系统 |
CN113794767B (zh) * | 2021-09-13 | 2023-09-22 | 联想(北京)有限公司 | 数据处理方法、服务器及通信交互系统 |
CN113821309B (zh) * | 2021-11-16 | 2022-03-22 | 科东(广州)软件科技有限公司 | 一种微内核虚拟机间的通信方法、装置、设备及存储介质 |
CN116074230B (zh) * | 2022-11-29 | 2024-09-17 | 阿里云计算有限公司 | 通信建立方法以及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847105A (zh) * | 2009-03-26 | 2010-09-29 | 联想(北京)有限公司 | 一种计算机及多操作系统共享内存的方法 |
CN102521015A (zh) * | 2011-12-08 | 2012-06-27 | 华中科技大学 | 嵌入式平台下的设备虚拟化方法 |
US8544010B2 (en) * | 2009-09-18 | 2013-09-24 | Vmware, Inc. | Providing notification to speculatively waking up target virtual machine for an I/O event using multiple virtual machines and processors |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100929852B1 (ko) * | 2007-09-20 | 2009-12-04 | 한국전자통신연구원 | 공유 메모리를 이용한 가상 기계 상의 응용프로그램 간통신 인터페이스 장치 및 그 방법 |
-
2013
- 2013-10-30 CN CN201310528917.4A patent/CN103559075B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847105A (zh) * | 2009-03-26 | 2010-09-29 | 联想(北京)有限公司 | 一种计算机及多操作系统共享内存的方法 |
US8544010B2 (en) * | 2009-09-18 | 2013-09-24 | Vmware, Inc. | Providing notification to speculatively waking up target virtual machine for an I/O event using multiple virtual machines and processors |
CN102521015A (zh) * | 2011-12-08 | 2012-06-27 | 华中科技大学 | 嵌入式平台下的设备虚拟化方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329410A (zh) * | 2017-06-23 | 2017-11-07 | 唐山钢铁集团微尔自动化有限公司 | 一种工业过程控制的快速数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103559075A (zh) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103559075B (zh) | 一种数据传输方法、装置和系统及内存装置 | |
CN104243265B (zh) | 一种基于虚拟机迁移的网关控制方法、装置及系统 | |
CN103942087B (zh) | 虚拟机热迁移方法及相关装置和集群系统 | |
CN108459988A (zh) | 持续性远程直接存储器存取 | |
CN103416025B (zh) | 用于经由云桥添加vlan标签的系统和方法 | |
CN103270492B (zh) | 用于网络使能应用的硬件加速图形的方法和系统 | |
CN105409172B (zh) | 逻辑交换机 | |
CN103677927B (zh) | 软件升级的方法及装置 | |
CN102915285B (zh) | 虚拟化环境中的应用加速 | |
CN106656846B (zh) | 一种sdn体系架构中协调层的构建方法 | |
CN103581276B (zh) | 集群管理装置、系统、业务客户端及相应方法 | |
CN103581062B (zh) | 用于处理未知单播数据包的方法和系统 | |
CN110313163A (zh) | 分布式计算系统中的负载平衡 | |
CN110198226A (zh) | 一种负载均衡集群中访问请求处理方法、系统和可读介质 | |
CN107111509A (zh) | 用于计算机网络中的虚拟机迁移的方法 | |
CN107483390A (zh) | 一种云渲染网络部署子系统、系统及云渲染平台 | |
CN105577723A (zh) | 虚拟化网络中实现负载分担的方法和装置 | |
CN109729190A (zh) | 网络访问方法、系统、设备及计算机可读存储介质 | |
CN103152200B (zh) | 虚拟机迁移方法、交换机、网络管理设备和网络系统 | |
CN107787483A (zh) | 经由多租户链接的无缝地址再分配 | |
CN108228309A (zh) | 基于虚拟机的数据包发送和接收方法及装置 | |
CN107634853A (zh) | 一种基于对象存储的可定制化分布式缓存方法 | |
CN106059945B (zh) | 一种流量控制方法及视频监控系统 | |
CN105959347A (zh) | 一种基于p2p网络的全数字协同仿真系统通信方法 | |
US11720413B2 (en) | Systems and methods for virtualizing fabric-attached storage devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |