CN104219260B - 同一物理机内虚拟机间数据交换的方法、系统与物理主机 - Google Patents
同一物理机内虚拟机间数据交换的方法、系统与物理主机 Download PDFInfo
- Publication number
- CN104219260B CN104219260B CN201310208045.3A CN201310208045A CN104219260B CN 104219260 B CN104219260 B CN 104219260B CN 201310208045 A CN201310208045 A CN 201310208045A CN 104219260 B CN104219260 B CN 104219260B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- packet
- exchanging
- machine
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000005540 biological transmission Effects 0.000 claims description 18
- 239000011800 void material Substances 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 12
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 description 6
- 102100039558 Galectin-3 Human genes 0.000 description 6
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 description 6
- 101150051246 MAC2 gene Proteins 0.000 description 6
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 5
- 101150115300 MAC1 gene Proteins 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种同一物理机内虚拟机间数据交换的方法、系统与物理主机。该方法包括截获源虚拟机发送的数据包;根据包中目的虚拟机的MAC地址判断该包为内部还是外部流量;如为内部流量,则根据预设的访问控制策略确定源虚拟机是否有访问目的虚拟机的权限,如有,则接收内部交换管理中心在外部存储区内为数据交换所分配的地址;接收管理中心发送的QoS等级;基于所分配的地址和QoS等级将截获的数据包写入外部存储区;将所分配的地址和QoS等级发送至目的虚拟机,以使目的虚拟机按照QoS等级自所分配的地址读取源虚拟机写入外部存储区的数据。本公开可以解决在同一物理机内虚拟机之间进行内部数据交换时占用内存资源过多的问题。
Description
技术领域
本公开涉及云计算技术领域,特别地,涉及一种同一物理机内虚拟机间数据交换的方法、系统与物理主机。
背景技术
目前,实现同一物理机内不同虚拟机之间数据交换的系统和方法主要有以下几种:
技术一:Vmware等虚拟化厂商采用在VMM(Virtual Machine Manager,虚拟机管理器)中内置虚拟交换机(vSwitch)的技术实现同一物理机内虚拟机间数据的交换,如图1所示。
技术二:HP等硬件厂商基于VEPA(Virtual Ethernet Port Aggregator,虚拟以太网端口汇聚器)技术来实现同一物理机内各虚拟机之间数据的交换,如图2所示,即,将服务器上虚拟机生成的所有流量均转移到外部的网络交换机上,流量能够从同一网络接口“原路返回”。
上述技术一存在如下弊端:
采用虚拟交换机的方法完成同一物理机内虚拟机之间的内部交换,随着同一物理机内虚拟机数量的增长与交换流量的增多,此方法占用的内存会超出物理机的负荷。
同时,同一物理机内各虚拟机之间的交换通过这种“服务器中的网络”来实现,缺乏对虚拟机之间流量的可视性,对流量的监控与策略控制变得非常困难。
上述技术二存在如下弊端:
采用VEPA技术完成同一物理机内各虚拟机之间的内部交换,整个过程中带来了更多的网络带宽开销,且这种“原路返回”的模式需要交换机升级、STP(Spanning TreeProtocol,修改生成树协议)。
发明内容
本公开鉴于以上问题中的至少一个提出了新的技术方案。
本公开在其一个方面提供了一种同一物理机内虚拟机间数据交换的方法,其可以解决在同一物理机内虚拟机之间进行内部数据交换时占用内存资源过多的问题。
本公开在其另一方面提供了一种物理主机,其可以解决在同一物理机内虚拟机之间进行内部数据交换时占用内存资源过多的问题。
本公开在其又一方面提供了一种同一物理机内虚拟机间数据交换的系统,其可以解决在同一物理机内虚拟机之间进行内部数据交换时占用内存资源过多的问题。
根据本公开,提供一种同一物理机内各虚拟机间数据交换的方法,包括:
截获源虚拟机通过其虚拟网卡发送的数据包;
根据数据包中的目的虚拟机的MAC地址判断数据包为内部流量还是外部流量;
如果为内部流量,则根据预设的访问控制策略确定源虚拟机是否有访问目的虚拟机的权限,如有访问权限,则接收内部交换管理中心在物理主机之外的外部存储区内为虚拟机间数据交换所分配的交换地址;
接收内部交换管理中心发送的传输数据包的QoS等级;
基于所分配的交换地址和传输数据包的QoS等级将截获的源虚拟机发送的数据包写入外部存储区;
将所分配的交换地址和传输数据包的QoS等级发送至目的虚拟机,以使目的虚拟机按照QoS等级自所分配的交换地址读取源虚拟机写入外部存储区的数据。
在本公开的一些实施例中,该方法还包括:
在目的虚拟机自外部存储区读取完数据后,判断设定时间内是否截获到源虚拟机向目的虚拟机发送新数据的请求;
如未收到发送新数据的请求,则告知内部交换管理中心,以使内部交换管理中心收回为源虚拟机与目的虚拟机进行数据交换所分配的交换地址。
在本公开的一些实施例中,该方法还包括:
如收到发送新数据的请求,则告知内部交换管理中心,以使内部交换管理中心不收回为源虚拟机与目的虚拟机进行数据交换所分配的交换地址,并在上次写入的数据之后继续写入新的数据。
在本公开的一些实施例中,该方法还包括:
在源虚拟机与目的虚拟机进行数据交换的过程中,内部交换管理中心对交换的数据进行记录,并根据需求对指定帧进行抓取。
在本公开的一些实施例中,根据数据包中的目的虚拟机的MAC地址判断数据包为内部流量还是外部流量的步骤包括:
判断物理主机内是否存储了目的虚拟机的MAC地址;
如果存储了目的虚拟机的MAC地址,则确定传输至目的虚拟机的数据包为内部流量,否则,确定为外部流量。
根据本公开,还提供了一种物理主机,包括虚拟机管理器和多个虚拟机,虚拟机管理器包括:
流量判断单元,用于截获源虚拟机通过其虚拟网卡发送的数据包,并根据数据包中的目的虚拟机的MAC地址判断数据包为内部流量还是外部流量;
内部交换单元,用于如果为内部流量,则根据预设的访问控制策略确定源虚拟机是否有访问目的虚拟机的权限,如有访问权限,则接收内部交换管理中心在物理主机之外的外部存储区内为虚拟机间数据交换所分配的交换地址,接收内部交换管理中心发送的传输数据包的QoS等级,基于所分配的交换地址和传输数据包的QoS等级将截获的源虚拟机发送的数据包写入外部存储区,将所分配的交换地址和传输数据包的QoS等级发送至目的虚拟机,以使目的虚拟机按照QoS等级自所分配的交换地址读取源虚拟机写入外部存储区的数据。
在本公开的一些实施例中,流量判断单元还在目的虚拟机自外部存储区读取完数据后,判断设定时间内是否截获到源虚拟机向目的虚拟机发送新数据的请求,如未收到发送新数据的请求,则告知内部交换管理中心,以使内部交换管理中心收回为源虚拟机与目的虚拟机进行数据交换所分配的交换地址。
在本公开的一些实施例中,流量判断单元还在收到发送新数据的请求的情况下,告知内部交换管理中心,以使内部交换管理中心不收回为源虚拟机与目的虚拟机进行数据交换所分配的交换地址;
内部交换单元还在流量判断单元收到发送新数据的请求的情况下,在上次写入的数据之后继续写入新的数据。
在本公开的一些实施例中,流量判断单元判断物理主机内是否存储了目的虚拟机的MAC地址,如果存储了目的虚拟机的MAC地址,则确定传输至目的虚拟机的数据包为内部流量,否则,确定为外部流量。
根据本公开,还提供了一种同一物理机内各虚拟机间数据交换的系统,包括内部交换管理中心、前述实施例中的物理主机、以及置于物理主机之外的外部存储区。
在本公开的技术方案中,在截获了源虚拟机发往目的虚拟机的数据包后,首先根据目的虚拟机的MAC地址判断该数据包是否为内部流量,如为内部流量,则基于内部交换管理中心分配的外部存储区的数据交换地址和设定的QoS等级,源虚拟机借助于物理主机外部的存储区将其发送的数据包交换给目的虚拟机。这样,由于在源与目的虚拟机之间进行数据交换时,借助于物理主机之外的外部存储设备,而无需在物理主机内部开辟内存,因此,也就有效解决了在同一物理机内虚拟机之间进行内部数据交换时占用内存资源过多的问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分。在附图中:
图1是现有技术中利用VMM中内置虚拟交换机技术实现同一物理机内各虚拟机间数据交换的示意图。
图2是现有技术中利用VEPA技术实现同一物理机内各虚拟机间数据交换的示意图。
图3是本公开一个实施例的同一物理机内各虚拟机间数据交换的方法的流程示意图。
图4是本公开一个实施例的物理主机的结构示意图。
图5是本公开一个实施例的同一物理机内各虚拟机间数据交换的系统的结构示意图。
图6是基于同一物理机内各虚拟机间数据交换的系统的同一服务器内各虚拟机之间的数据交换流程示意图。
图7是基于同一物理机内各虚拟机间数据交换的系统的同一服务器内各虚拟机之间的连续数据交换时的流程示意图。
具体实施方式
下面将参照附图描述本公开。要注意的是,以下的描述在本质上仅是解释性和示例性的,决不作为对本公开及其应用或使用的任何限制。除非另外特别说明,否则,在实施例中阐述的部件和步骤的相对布置以及数字表达式和数值并不限制本公开的范围。另外,本领域技术人员已知的技术、方法和装置可能不被详细讨论,但在适当的情况下意在成为说明书的一部分。
本公开下述实施例提供了一种同一物理机内虚拟机间数据交换的方法和系统,包括将同一物理机上各虚拟机之间的交换转化为对外部存储上数据交换区的I/O(Input/Output,输入/输出)操作,避免了分配额外的内存来实现虚拟机之间的交换,减轻了物理主机处理内部虚拟机之间交换的压力。此外,还在物理主机之外增加了内部交换管理中心,实现了内部流量能够被外部设备监控及对内部流量的策略控制。
图3是本公开一个实施例的同一物理机内各虚拟机间数据交换的方法的流程示意图。
如图3所示,该实施例可以包括以下步骤:
S302,截获源虚拟机通过其虚拟网卡发往目的虚拟机的数据包。
S304,根据数据包中的目的虚拟机的MAC(Medium Access Control,媒体接入控制)地址判断该数据包为物理主机的内部流量还是外部流量。
S306,如果为物理主机的内部流量,则根据预设的访问控制策略确定源虚拟机是否有访问目的虚拟机的权限,如有访问权限,则接收内部交换管理中心在物理主机之外的外部存储区内为虚拟机间数据交换所分配的交换地址;
具体地,访问控制策略可以设定各个虚拟机是否具有访问其他虚拟机的权限。在源虚拟机具有访问目的虚拟机的权限的情况下才可以将源虚拟机发往目的虚拟机的数据包中的数据暂存在物理主机外部的存储区内,在源虚拟机不具备访问目的虚拟机的权限的情况下,丢弃源虚拟机发往目的虚拟机的数据包。
S308,接收内部交换管理中心发送的传输数据包的QoS(Quality of Service,服务质量)等级;
具体地,在物理主机内,如果同时存在多组虚拟机进行数据交换,此时可以根据内部交换管理中心为各个虚拟机设定的QoS等级来依次进行数据交换,在QoS等级较高的情况下,可以优先进行数据的交换。
S310,基于所分配的交换地址和传输数据包的QoS等级将截获的源虚拟机发送的数据包写入外部存储区;
具体地,在获知了外部数据存储区的数据交换地址和传输数据包的QoS等级后,可以按照QoS等级对应的优先级顺序将发往目的虚拟机的数据包存储在内部交换管理中心为数据交换所分配的地址处,以方便目的虚拟机到指定地址读取或者由内部交换单元根据QoS等级对应的优先级将数据传输至目的虚拟机。
S312,将所分配的交换地址和传输数据包的QoS等级发送至目的虚拟机,以使目的虚拟机按照QoS等级自所分配的交换地址读取源虚拟机写入外部存储区的数据。
在该实施例中,在截获了源虚拟机发往目的虚拟机的数据包后,首先根据目的虚拟机的MAC地址判断该数据包是否为内部流量,如为内部流量,则基于内部交换管理中心分配的外部存储区的数据交换地址和设定的QoS等级,源虚拟机借助于物理主机外部的存储区将其发送的数据包交换给目的虚拟机。这样,由于在源与目的虚拟机之间进行数据交换时,借助于物理主机之外的外部存储设备,而无需在物理主机内部开辟内存,因此,也就有效解决了在同一物理机内虚拟机之间进行内部数据交换时占用内存资源过多的问题。
进一步地,在步骤S312之后,在目的虚拟机自外部存储区读取完数据后,还可以:
判断设定时间内是否截获到源虚拟机向目的虚拟机发送新数据的请求,即,判断源虚拟机是否连续地向目的虚拟机发送数据包;
如未收到发送新数据的请求,则告知内部交换管理中心没有新数据,以使内部交换管理中心收回为源虚拟机与目的虚拟机进行数据交换所分配的交换地址,进而便于内部交换管理中心再次将该地址分配给另一组进行数据交换的虚拟机使用。
进一步地,如收到发送新数据的请求,则告知内部交换管理中心有新数据,以使内部交换管理中心不收回为源虚拟机与目的虚拟机进行数据交换所分配的交换地址,并在上次写入的数据之后继续写入新的数据。
此外,在源虚拟机与目的虚拟机进行数据交换的过程中,内部交换管理中心可以对虚拟机之间交换的数据进行记录,并根据需求对指定帧进行抓取。
另外,步骤S304中根据数据包中的目的虚拟机的MAC地址判断数据包为内部流量还是外部流量的步骤可以包括:
判断物理主机内是否存储了目的虚拟机的MAC地址;
如果存储了目的虚拟机的MAC地址,则确定传输至目的虚拟机的数据包为内部流量,否则,确定为外部流量。
本领域普通技术人员可以理解,实现上述方法实施例的全部和部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算设备可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质可以包括ROM、RAM、磁碟和光盘等各种可以存储程序代码的介质。
图4是本公开一个实施例的物理主机的结构示意图。
如图4所示,该实施例中的物理主机40可以包括虚拟机管理器402和多个虚拟机404,其中,虚拟机管理器402可以包括流量判断单元402a和内部交换单元402b。其中,
流量判断单元402a,用于截获源虚拟机通过其虚拟网卡发送的数据包,并根据数据包中的目的虚拟机的MAC地址判断数据包为内部流量还是外部流量;
内部交换单元402b,用于如果为内部流量,则根据预设的访问控制策略确定源虚拟机是否有访问目的虚拟机的权限,如有访问权限,则接收内部交换管理中心在物理主机之外的外部存储区内为虚拟机间数据交换所分配的交换地址,接收内部交换管理中心发送的传输数据包的QoS等级,基于所分配的交换地址和传输数据包的QoS等级将截获的源虚拟机发送的数据包写入外部存储区,将所分配的交换地址和传输数据包的QoS等级发送至目的虚拟机,以使目的虚拟机按照QoS等级自所分配的交换地址读取源虚拟机写入外部存储区的数据。
在该实施例中,在截获了源虚拟机发往目的虚拟机的数据包后,首先根据目的虚拟机的MAC地址判断该数据包是否为内部流量,如为内部流量,则基于内部交换管理中心分配的外部存储区的数据交换地址和设定的QoS等级,源虚拟机借助于物理主机外部的存储区将其发送的数据包交换给目的虚拟机。这样,由于在源与目的虚拟机之间进行数据交换时,借助于物理主机之外的外部存储设备,而无需在物理主机内部开辟内存,因此,也就有效解决了在同一物理机内虚拟机之间进行内部数据交换时占用内存资源过多的问题。
进一步地,流量判断单元还在目的虚拟机自外部存储区读取完数据后,判断设定时间内是否截获到源虚拟机向目的虚拟机发送新数据的请求,如未收到发送新数据的请求,则告知内部交换管理中心,以使内部交换管理中心收回为源虚拟机与目的虚拟机进行数据交换所分配的交换地址。
进一步地,流量判断单元还在收到发送新数据的请求的情况下,告知内部交换管理中心,以使内部交换管理中心不收回为源虚拟机与目的虚拟机进行数据交换所分配的交换地址;内部交换单元还在流量判断单元收到发送新数据的请求的情况下,在上次写入的数据之后继续写入新的数据。
具体地,流量判断单元判断物理主机内是否存储了目的虚拟机的MAC地址,如果存储了目的虚拟机的MAC地址,则确定传输至目的虚拟机的数据包为内部流量,否则,确定为外部流量。
图5是本公开一个实施例的同一物理机内各虚拟机间数据交换的系统的结构示意图。
如图5所示,该实施例中的系统50可以包括内部交换管理中心502、物理主机504、以及置于物理主机之外的外部存储区506。其中,物理主机504可以通过前述实施例实现。
在该实施例中,各个实体的功能如下:
外部存储区506是内部交换管理中心502在存储区上划分的、用于完成同一物理主机内各虚拟机间内部交换的区域,该外部存储区用于进行数据交换。
内部交换管理中心502位于独立的服务器上,负载在虚拟机间进行数据交换时在外部存储区选定起始地址,用于内部交换;交换完成后回收交换用到的存储空间;同时用于设定虚拟机之间交换的ACL(Access Control List,访问控制列表)、QoS、以及关键帧的抓取。内部交换管理中心。
物理主机504中包括流量判断单元和内部交换单元。其中,
流量判断单元可以以插件的方式安装在物理主机的VMM上,用于判断虚拟机间进行数据交换时,经过VMM的数据包为内部流量或外部流量,若为内部流量则请求内部交换单元处理,若为外部流量则将数据通过物理端口发往外部交换机。
内部交换单元同样以插件的方式安装在物理主机的VMM上,依照内部交换管理中心的策略调度虚拟机在外部存储区上完成虚拟机之间的内部数据交换。
图6是基于同一物理机内各虚拟机间数据交换的系统的同一服务器内各虚拟机之间的数据交换流程示意图。
如图6所示,假设源虚拟机VM(Virtual Machine,虚拟机)1与目的虚拟机VM2的MAC地址分别为MAC1与MAC2,具体操作流程如下:
S602,源虚拟机VM1通过虚拟网卡发送数据。
S604,位于VMM上的流量判断单元截获VM1发送的数据包。
S606,流量判断单元根据数据包中的目的地址MAC2确定该数据包为内部流量或外部流量。
S608,若该数据包为外部流量,则调用相应的物理端口发送至外部交换机。
S610,若该数据包为内部流量,则流量判断单元通知内部交换单元,同时,流量判断单元向内部交换管理中心发送进行数据交换请求。
S612,内部交换管理中心根据设置选项确定源地址MAC1与目的地址MAC2的访问控制策略,其中,设置选项可以包括访问控制策略、QoS服务等级以及需要抓取的关键帧,访问控制策略即源虚拟机与目的虚拟机之间是否可以交换数据,QoS等级可以包括但不限于每次交换数据时的优先级。
S614,若MAC2禁止MAC1访问,则内部交换管理中心通知内部交换单元丢弃该数据包。
S616,若MAC2允许MAC1访问,则内部交换管理中心在外部存储区上分配交换地址,并返回给内部交换单元,内部交换单元将需要发送的数据在该地址上写入。
S618,目的虚拟机VM2根据内部交换管理中心提供的QoS等级,通过内部交换单元从内部交换管理中心返回的地址上读取数据。
进一步地,在整个交换期间,内部交换管理中心能够对交换的数据记录并对关键帧进行抓取;交换结束后,内部交换管理中心对位于外部存储区上的交换数据进行清除。
图7是基于同一物理机内各虚拟机间数据交换的系统的同一服务器内各虚拟机之间的连续数据交换时的流程示意图。
如图7所示,假设源虚拟机VM1与目的虚拟机VM2的MAC地址分别为MAC1与MAC2,具体操作流程如下:
S702,源虚拟机VM1与目的虚拟机VM2完成了一次内部交换。
S704,内部交换管理中心监控一段时期内源虚拟机VM1是否请求向目的虚拟机VM2发送新的数据。
S706,若内部交换管理中心监控到在设定时间内源虚拟机VM1请求向目的虚拟机VM2发送新的数据,则内部交换管理中心在外部存储区上不再分配新的交换地址,并通知内部交换单元在原有的地址之后继续写入新的数据,以便于将源虚拟机VM1写入的数据保存在存储区的同一个或相邻的扇区。
S708,内部交换单元接收到内部交换管理中心的响应后,只将以太网帧的数据区写入后续地址,以使目的虚拟机VM2无需重组读取到的数据。
S710,当源虚拟机VM1与目的虚拟机VM2在设定时间内不再交换数据,则内部交换单元在源虚拟机VM1与目的虚拟机VM2的交换地址中插入规定的交换停止符,待目的虚拟机VM2读取到交换停止符后,即终止了源虚拟机VM1与目的虚拟机VM2的数据交换。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同和相似的部分可以相互参见。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处可以参见方法实施例部分的说明。
本公开上述实施例与现有技术相比具有以下优点:
(1)解决了同一物理机内各虚拟机之间进行内部数据交换时,占用内存资源过多的问题;本公开实施例无需修改传统交换机的软硬件,也不用修改生成树协议;
(2)实现了对同一物理机内虚拟机之间的内部交换流量的准确监控,便于完成对虚拟机的故障查找,抓包及网络监视;
(3)实现了对同一物理机内虚拟机之间的内部交换的策略控制,便于实现虚拟机的数据安全与流量镜像;
(4)将虚拟机之间数据交换的流量转化为对外部存储上的I/O操作,降低了服务器网卡的出口流量;
(5)通过连续数据交换时的优化提高了数据交换速度、降低了数据交换的延迟。
虽然已参照示例性实施例描述了本公开,但应理解,本公开不限于上述的示例性实施例。对于本领域技术人员显然的是,可以在不背离本公开的范围和精神的条件下修改上述的示例性实施例。所附的权利要求的范围应被赋予最宽的解释,以包含所有这样的修改以及等同的结构和功能。
Claims (10)
1.一种同一物理机内各虚拟机间数据交换的方法,其特征在于,包括:
截获源虚拟机通过其虚拟网卡发送的数据包;
根据所述数据包中的目的虚拟机的MAC地址判断所述数据包为内部流量还是外部流量;
如果为内部流量,则根据预设的访问控制策略确定所述源虚拟机是否有访问所述目的虚拟机的权限,如有访问权限,则接收内部交换管理中心在物理主机之外的外部存储区内为虚拟机间数据交换所分配的交换地址;
接收所述内部交换管理中心发送的传输所述数据包的QoS等级;
基于所分配的交换地址和传输所述数据包的QoS等级将截获的源虚拟机发送的数据包写入外部存储区;
将所分配的交换地址和传输所述数据包的QoS等级发送至所述目的虚拟机,以使所述目的虚拟机按照所述QoS等级自所分配的交换地址读取所述源虚拟机写入外部存储区的数据。
2.根据权利要求1所述的同一物理机内各虚拟机间数据交换的方法,其特征在于,所述方法还包括:
在所述目的虚拟机自外部存储区读取完数据后,判断设定时间内是否截获到所述源虚拟机向所述目的虚拟机发送新数据的请求;
如未收到发送新数据的请求,则告知所述内部交换管理中心,以使所述内部交换管理中心收回为所述源虚拟机与所述目的虚拟机进行数据交换所分配的交换地址。
3.根据权利要求2所述的同一物理机内各虚拟机间数据交换的方法,其特征在于,所述方法还包括:
如收到发送新数据的请求,则告知所述内部交换管理中心,以使所述内部交换管理中心不收回为所述源虚拟机与所述目的虚拟机进行数据交换所分配的交换地址,并在上次写入的数据之后继续写入新的数据。
4.根据权利要求1所述的同一物理机内各虚拟机间数据交换的方法,其特征在于,所述方法还包括:
在所述源虚拟机与所述目的虚拟机进行数据交换的过程中,所述内部交换管理中心对交换的数据进行记录,并根据需求对指定帧进行抓取。
5.根据权利要求1所述的同一物理机内各虚拟机间数据交换的方法,其特征在于,根据所述数据包中的目的虚拟机的MAC地址判断所述数据包为内部流量还是外部流量的步骤包括:
判断所述物理主机内是否存储了所述目的虚拟机的MAC地址;
如果存储了所述目的虚拟机的MAC地址,则确定传输至所述目的虚拟机的数据包为内部流量,否则,确定为外部流量。
6.一种物理主机,其特征在于,包括虚拟机管理器和多个虚拟机,所述虚拟机管理器包括:
流量判断单元,用于截获源虚拟机通过其虚拟网卡发送的数据包,并根据所述数据包中的目的虚拟机的MAC地址判断所述数据包为内部流量还是外部流量;
内部交换单元,用于如果为内部流量,则根据预设的访问控制策略确定所述源虚拟机是否有访问所述目的虚拟机的权限,如有访问权限,则接收内部交换管理中心在物理主机之外的外部存储区内为虚拟机间数据交换所分配的交换地址,接收所述内部交换管理中心发送的传输所述数据包的QoS等级,基于所分配的交换地址和传输所述数据包的QoS等级将截获的源虚拟机发送的数据包写入外部存储区,将所分配的交换地址和传输所述数据包的QoS等级发送至所述目的虚拟机,以使所述目的虚拟机按照所述QoS等级自所分配的交换地址读取所述源虚拟机写入外部存储区的数据。
7.根据权利要求6所述的物理主机,其特征在于,所述流量判断单元还在所述目的虚拟机自外部存储区读取完数据后,判断设定时间内是否截获到所述源虚拟机向所述目的虚拟机发送新数据的请求,如未收到发送新数据的请求,则告知所述内部交换管理中心,以使所述内部交换管理中心收回为所述源虚拟机与所述目的虚拟机进行数据交换所分配的交换地址。
8.根据权利要求7所述的物理主机,其特征在于,
所述流量判断单元还在收到发送新数据的请求的情况下,告知所述内部交换管理中心,以使所述内部交换管理中心不收回为所述源虚拟机与所述目的虚拟机进行数据交换所分配的交换地址;
所述内部交换单元还在所述流量判断单元收到发送新数据的请求的情况下,在上次写入的数据之后继续写入新的数据。
9.根据权利要求6所述的物理主机,其特征在于,所述流量判断单元判断所述物理主机内是否存储了所述目的虚拟机的MAC地址,如果存储了所述目的虚拟机的MAC地址,则确定传输至所述目的虚拟机的数据包为内部流量,否则,确定为外部流量。
10.一种同一物理机内各虚拟机间数据交换的系统,其特征在于,包括内部交换管理中心、权利要求6-9中任一项所述的物理主机、以及置于所述物理主机之外的外部存储区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310208045.3A CN104219260B (zh) | 2013-05-30 | 2013-05-30 | 同一物理机内虚拟机间数据交换的方法、系统与物理主机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310208045.3A CN104219260B (zh) | 2013-05-30 | 2013-05-30 | 同一物理机内虚拟机间数据交换的方法、系统与物理主机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104219260A CN104219260A (zh) | 2014-12-17 |
CN104219260B true CN104219260B (zh) | 2017-12-12 |
Family
ID=52100393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310208045.3A Active CN104219260B (zh) | 2013-05-30 | 2013-05-30 | 同一物理机内虚拟机间数据交换的方法、系统与物理主机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104219260B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105592088A (zh) * | 2015-12-24 | 2016-05-18 | 北京奇虎科技有限公司 | 一种虚拟机流量的监控方法及装置、终端 |
CN109413001B (zh) * | 2017-08-15 | 2021-06-22 | 东软集团股份有限公司 | 对云计算系统内的交互数据进行安全保护的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465863A (zh) * | 2009-01-14 | 2009-06-24 | 北京航空航天大学 | 一种内核虚拟机环境下高效网络i/o的实现方法 |
CN101667144A (zh) * | 2009-09-29 | 2010-03-10 | 北京航空航天大学 | 一种基于共享内存的虚拟机通信方法 |
CN102075537A (zh) * | 2011-01-19 | 2011-05-25 | 华为技术有限公司 | 一种实现虚拟机间数据传输的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100929852B1 (ko) * | 2007-09-20 | 2009-12-04 | 한국전자통신연구원 | 공유 메모리를 이용한 가상 기계 상의 응용프로그램 간통신 인터페이스 장치 및 그 방법 |
-
2013
- 2013-05-30 CN CN201310208045.3A patent/CN104219260B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465863A (zh) * | 2009-01-14 | 2009-06-24 | 北京航空航天大学 | 一种内核虚拟机环境下高效网络i/o的实现方法 |
CN101667144A (zh) * | 2009-09-29 | 2010-03-10 | 北京航空航天大学 | 一种基于共享内存的虚拟机通信方法 |
CN102075537A (zh) * | 2011-01-19 | 2011-05-25 | 华为技术有限公司 | 一种实现虚拟机间数据传输的方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于共享内存的Xen虚拟机间通信的研究;朱团结等;《计算机技术与发展》;20110731;第21卷(第7期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104219260A (zh) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104915151B (zh) | 多虚拟机系统中一种主动共享的内存超量分配方法 | |
EP3627358B1 (en) | Method, system, and apparatus for cloud application redundancy | |
CN103827842B (zh) | 向控制器存储器空间写入消息 | |
CN103645957B (zh) | 一种虚拟机资源管控方法及装置 | |
US9335932B2 (en) | Storage unit selection for virtualized storage units | |
CN103827825B (zh) | 虚拟资源对象组件 | |
CN101739282B (zh) | 一种虚拟机的管理方法、装置和系统 | |
CN104301430B (zh) | 软件定义存储系统、方法及其集中控制设备 | |
CN100562842C (zh) | 存储系统 | |
CN103870341A (zh) | 一种调整虚拟机资源的方法和系统 | |
CN103581183B (zh) | 一种虚拟化安全隔离方法与装置 | |
CN102684970B (zh) | 瘦客户端环境提供系统、服务器和瘦客户端环境管理方法 | |
CN105320628B (zh) | 使能单根i/o设备多根共享的适配装置、系统及方法 | |
CN108924221A (zh) | 分配资源的方法和装置 | |
CN102082692A (zh) | 基于网络数据流向的虚拟机迁移方法、设备和集群系统 | |
CN108681565A (zh) | 区块链数据并行处理方法、装置、设备和存储介质 | |
CN106020926B (zh) | 一种用于虚拟交换机技术中数据传输的方法及装置 | |
CN104038444B (zh) | 一种资源分配的方法、设备及系统 | |
CN104731635B (zh) | 一种虚拟机访问控制方法,及虚拟机访问控制系统 | |
WO2017054536A1 (zh) | 一种容灾方法、设备和系统 | |
CN103455363B (zh) | 一种虚拟机的指令处理方法、装置及物理主机 | |
CN103902225B (zh) | 存储资源集中管理的方法与系统 | |
CN104219260B (zh) | 同一物理机内虚拟机间数据交换的方法、系统与物理主机 | |
CN109218086A (zh) | 一种交换网构建方法与系统 | |
CN106873980A (zh) | 一种ui和业务逻辑分离方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20141217 Assignee: Tianyiyun Technology Co.,Ltd. Assignor: CHINA TELECOM Corp.,Ltd. Contract record no.: X2024110000020 Denomination of invention: Methods, systems, and physical hosts for data exchange between virtual machines within the same physical machine Granted publication date: 20171212 License type: Common License Record date: 20240315 |
|
EE01 | Entry into force of recordation of patent licensing contract |