一种用于虚拟机间数据传输的方法和系统技术方案

技术编号:13835207 阅读:59 留言:0更新日期:2016-10-15 15:11
本发明专利技术提供了一种用于虚拟机间数据传输的方法和系统,所述各虚拟机位于同一宿主机中,将执行数据传输的两台虚拟机中的发送方记为第一虚拟机,接收方记为第二虚拟机,技术方案为:所述宿主机截取到第一虚拟机发送的针对第二虚拟机的数据传输请求时,构造用于本次数据传输的传输媒介,并通知第一虚拟机基于该传输媒介向第二虚拟机传输数据。本发明专利技术能够降低成本,减少资源浪费,提高数据传输可控性。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种用于虚拟机间数据传输的方法和系统
技术介绍
在一些涉密单位,为了防止单位内部数据泄露,常常禁止掉办公机的外网访问权限,但由于员工有时需要访问外网查询资料或对外发送邮件,所以又会为员工配置一台能访问外网的办公机,也有的是让员工共享几台外网机。内网机和外网机分离可以在一定程度上防止泄密,但是也带来了诸多不便,例如,外网机和内网机间同步数据往往靠移动存储设备(如u盘)或者光盘,使得员工拷贝数据不方便,降低了员工工作效率,特别是在使用光盘拷贝数据时每次刻录都会造成光盘浪费。另一方面,内网机和外网机分离,由于需要额外为员工配置能够访问外网的办公机或共享的外网机,成本较高且机器利用率低,造成资源浪费。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种用于虚拟机间数据传输的方法和系统,能够降低成本,减少资源浪费,提高数据传输可控性。为了达到上述目的,本专利技术提供了如下技术方案:一种用于虚拟机间数据传输的方法,所述各虚拟机位于同一宿主机中,将执行数据传输的两台虚拟机中的发送方记为第一虚拟机,接收方记为第二虚拟机,该方法应用于所述宿主机,包括:截取到第一虚拟机发送的针对第二虚拟机的数据传输请求时,构造用于本次数据传输的传输媒介,利用该传输媒介触发用于第一虚拟机向第二虚拟
机传输数据的数据传输事件以建立第一虚拟机与第二虚拟机之间的数据传输连接,并在第一虚拟机与第二虚拟机之间的数据传输连接建立后通知第一虚拟机基于该传输媒介向第二虚拟机传输数据。一种用于虚拟机间数据传输的系统,所述各虚拟机位于同一宿主机中,所述宿主机中还配置有传输控制模块;将执行数据传输的两台虚拟机中的发送方记为第一虚拟机,接收方记为第二虚拟机,该系统包括第一虚拟机、第二虚拟机、宿主机中的传输控制模块;所述第一虚拟机用于向宿主机发送针对第二虚拟机的数据传输请求;所述宿主机的传输控制模块,用于截取到第一虚拟机发送的针对第二虚拟机的数据传输请求时,构造用于本次数据传输的传输媒介,利用该传输媒介触发用于第一虚拟机向第二虚拟机传输数据的数据传输事件以建立第一虚拟机与第二虚拟机之间的数据传输连接,并在第一虚拟机与第二虚拟机之间的数据传输连接建立后通知第一虚拟机基于该传输媒介向第二虚拟机传输数据。由上面的技术方案可知,本专利技术中,当共用同一宿主机的两台虚拟机之间需要进行数据传输时,通过在宿主机中为本次数据传输分配一个传输媒介,使得两台虚拟机仅利用该传输媒介就可以实现数据传输,不需要使用额外的光盘或移动存储设备就可以实现虚拟机间的数据传输,因而可以降低成本,减少资源浪费,提高数据传输可控性。附图说明图1是本专利技术实施例用于虚拟机间数据传输的系统架构图;图2是本专利技术实施例在宿主机的虚拟化引擎内部设置传输控制模块示意图;图3是本专利技术实施例在宿主机的特权虚拟机内部设置传输控制模块示意图;图4是本专利技术实施例用于虚拟机间数据传输的系统的扩展架构图;图5是本专利技术实施例具体应用场景示意图;图6是本专利技术实施例一用于虚拟机间数据传输的方法流程图;图7是本专利技术实施例二用于虚拟机间数据传输的系统架构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本专利技术的技术方案进行详细说明。参见图1,图1是本专利技术实施例用于虚拟机间数据传输的系统架构图,其中,虚拟机A、虚拟机B位于同一宿主机内,宿主机内配置有一传输控制模块,该传输控制模块用于控制虚拟机A和虚拟机B之间的数据传输。在本专利技术实施例中,宿主机是一台具有虚拟化能力的计算设备,包括但不限于PC机、服务器、工作站和平板电脑等电子设备。在不同的虚拟化引擎(如Xen、KVM、VirtualBox等)架构中,有的架构将设备管理权交给特权虚拟机,有的架构则由虚拟化引擎直接管理设备。本专利技术中,对于宿主机中传输控制模块所在的位置不做具体限制,既可以位于宿主机的虚拟化引擎内部(如图2所示),也可位于宿主机上层的特权虚拟机内部(如图3所示)。在本专利技术实施例中,虚拟机A和虚拟机B之间需要传输数据时,宿主机内的传输控制模块会在虚拟化底层构造一传输媒介,虚拟机A和虚拟机B利用该传输媒介实现数据传输。以虚拟机A向虚拟机B传输数据为例,数据传输过程如下:虚拟机A向虚拟机B发送数据传输请求,宿主机中的传输控制模块截获到该数据传输请求后,为本次数据传输在虚拟化底层构造传输媒介;然后利用该传输媒介触发用于虚拟机A向虚拟机B传输数据的数据传输事件以建立虚拟机A与虚拟机B之间的数据传输连接;接着通知虚拟机A基于该传输媒介向虚拟机B传输数据;最后虚拟机A从本地读取待传输数据(例如字符串或文件等数据),并利用该传输媒介向虚拟机B传输数据。其中,利用该
传输媒介触发数据传输事件以建立虚拟机A与虚拟机B之间的数据传输连接的具体实现方法为:将虚拟机A发送的数据传输请求中携带的待传输数据信息写入该传输媒介,并触发用于虚拟机A向虚拟机B传输数据的数据传输事件(可采用现有虚拟化底层技术实现),虚拟机B获知该数据传输事件后从该传输媒介中读取待传输数据信息,从而使得虚拟机A和虚拟机B之间建立起数据传输连接(也即虚拟机A和虚拟机B通过该传输媒介协商确定了待传输数据信息,从而形成了逻辑上的数据传输连接)。上述传输媒介可以为共享内存或共享磁盘,也就是说,宿主机中的传输控制模块实际上是为本次数据传输分配了一块共享内存或共享磁盘,而虚拟机A利用传输媒介向虚拟机B传输数据的具体方法为:虚拟机A先将待传输数据写入传输媒介,而后虚拟机B从传输媒介中读取虚拟机A写入的待传输数据,从而完成了从虚拟机A到虚拟机B的数据传输过程。上述传输媒介也可以是基于消息队列的虚拟机间传输协议;宿主机中的传输控制模块实际上是为本次数据传输创建了一个适用于虚拟机间传输协议的消息队列,将此消息队列作为本次数据传输的传输媒介,虚拟机A利用传输媒介向虚拟机B传输数据的具体方法为:虚拟机A通过虚拟机间传输协议将待传输数据写入消息队列,而后虚拟机B从消息队列中读取虚拟机A写入的待传输数据,从而完成了从虚拟机A到虚拟机B的数据传输过程。其中,在传输数据之前,虚拟机A和虚拟机B均需获知传输媒介的具体信息,例如在传输媒介为共享内存的情况下,需要获知共享内存的起始位置、大小等信息,以便于虚拟机A和B后续根据这些信息对共享内存进行访问。可以由宿主机中的传输控制模块将传输媒介信息通知虚拟机A和虚拟机B,例如,在通知虚拟机A基于该传输媒介向虚拟机B传输数据时,将该传输媒介信息通知虚拟机A,在利用该传输媒介触发数据传输事件以建立虚拟机A与虚拟机B之间的数据传输连接的过程中,将该传输媒介信息通知给虚拟机B。当然,宿主机中的传输控制模块也可以采用其他方法将传输媒介信息通知给虚拟机A和B,不属于本专利技术的重点,不再赘述。在本专利技术实施例中,可以进一步对虚拟机A向虚拟机B传输数据进行控制,例如,允许/禁止符合某些特性的数据的传输,为此,可以预先配置审计策略,当宿主机中的传输控制模块截获到虚拟机A发往虚拟机B的数据传输请求时,获取待传输数据信息,根据审计策略对待传输数据信息进行审计,确定是否允许传输待传输数据,允许则再执行创建相应的传输媒介等操作,禁止则可直接通知虚拟机A取消本次数本文档来自技高网
...

【技术保护点】
一种用于虚拟机间数据传输的方法,其特征在于,所述各虚拟机位于同一宿主机中,将执行数据传输的两台虚拟机中的发送方记为第一虚拟机,接收方记为第二虚拟机,该方法应用于所述宿主机,包括:截取到第一虚拟机发送的针对第二虚拟机的数据传输请求时,构造用于本次数据传输的传输媒介,利用该传输媒介触发用于第一虚拟机向第二虚拟机传输数据的数据传输事件以建立第一虚拟机与第二虚拟机之间的数据传输连接,并在第一虚拟机与第二虚拟机之间的数据传输连接建立后通知第一虚拟机基于该传输媒介向第二虚拟机传输数据。

【技术特征摘要】
1.一种用于虚拟机间数据传输的方法,其特征在于,所述各虚拟机位于同一宿主机中,将执行数据传输的两台虚拟机中的发送方记为第一虚拟机,接收方记为第二虚拟机,该方法应用于所述宿主机,包括:截取到第一虚拟机发送的针对第二虚拟机的数据传输请求时,构造用于本次数据传输的传输媒介,利用该传输媒介触发用于第一虚拟机向第二虚拟机传输数据的数据传输事件以建立第一虚拟机与第二虚拟机之间的数据传输连接,并在第一虚拟机与第二虚拟机之间的数据传输连接建立后通知第一虚拟机基于该传输媒介向第二虚拟机传输数据。2.根据权利要求1所述的方法,其特征在于,所述数据传输请求携带待传输数据信息;截取到第一虚拟机发送的针对第二虚拟机的数据传输请求之后,构造用于本次数据传输的传输媒介之前,进一步包括:将数据传输请求中的待传输数据信息发往审计服务器,并接收审计服务器返回的对待传输数据信息的审计结果,如果审计结果为允许数据传输,则构造用于数据传输的传输媒介,如果审计结果为禁止数据传输,则将该审计结果通知给第一虚拟机,以使第一虚拟机取消本次数据传输。3.根据权利要求2所述的方法,其特征在于,审计服务器中配置有审计策略;审计服务器根据配置的审计策略对待传输数据信息进行审计。4.根据权利要求3所述的方法,其特征在于,所述待传输数据信息包括用户信息;所述审计策略包括:每个用户的用户信息及该用户对应的访问规则,所述访问规则包括:禁止传输、允许传输;审计服务器根据配置的审计策略对待传输数据信息进行审计的方法为:用待传输数据信息中的用户信息匹配审计策略中的各用户信息,若匹配成功的用户
\t对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的用户对应的访问规则为允许传输,则将允许数据传输作为审计结果;或者,所述待传输数据信息包括文件类型信息;所述审计策略包括:文件类型信息及该类型文件对应的访问规则,所述访问规则包括禁止传输、允许传输;审计服务器根据配置的审计策略对待传输数据信息进行审计的方法为:用待传输数据信息中的文件类型信息匹配审计策略中的各文件类型信息,若匹配成功的文件类型对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的文件类型对应的访问规则为允许传输,则将允许数据传输作为审计结果;或者,所述待传输数据信息包括虚拟机类型信息;所述审计策略包括:虚拟机类型信息及该类型虚拟机对应的访问规则,所述访问规则包括禁止传输、允许传输;审计服务器根据配置的审计策略对待传输数据信息进行审计的方法为:用待传输数据信息中的虚拟机类型信息匹配审计策略中的各虚拟机类型信息,若匹配成功的虚拟机类型对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的虚拟机类型对应的访问规则为允许传输,则将允许数据传输作为审计结果。5.根据权利要求1所述的方法,其特征在于,所述传输媒介为共享内存;构造用于本次数据传输的传输媒介的方法为:分配共享内存,将分配的共享内存作为本次数据传输的传输媒介;或者,所述传输媒介为共享磁盘;构造用于本次数据传输的传输媒介的方法为:分配共享磁盘,将分配的共享
\t磁盘作为本次数据传输的传输媒介;或者,所述传输媒介为基于消息队列的虚拟机间传输协议;构造用于本次数据传输的传输媒介的方法为:建立消息队列,将建立的消息队列作为本次数据传输的传输媒介。6.根据权利要求1或5所述的方法,其特征在于,第一虚拟机基于该传输媒介向第二虚拟机传输数据的方法为:第一虚拟机在接收到所述宿主机的通知后,将待传输数据写入到该传输媒介,第二虚拟机从该传输媒介读取待传输数据。7.一种用于虚拟机间数据传输的系统,其特征在于,所述各虚拟机位于同一宿主机中,宿主机中还配置有传输控制模块,将执行数据传输的两台虚拟机中的发送方记为第一虚拟机,接收方记为第二虚拟机,该系统包括第一虚拟机、第二...

【专利技术属性】
技术研发人员:马彦青张瑞张玉昆
申请(专利权)人:北京红山世纪科技有限公司
类型:发明
国别省市:北京;11

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1