一种用于虚拟机间数据传输的方法和系统的制作方法

文档序号:10654355阅读:389来源:国知局
一种用于虚拟机间数据传输的方法和系统的制作方法
【专利摘要】本发明提供了一种用于虚拟机间数据传输的方法和系统,所述各虚拟机位于同一宿主机中,将执行数据传输的两台虚拟机中的发送方记为第一虚拟机,接收方记为第二虚拟机,技术方案为:所述宿主机截取到第一虚拟机发送的针对第二虚拟机的数据传输请求时,构造用于本次数据传输的传输媒介,并通知第一虚拟机基于该传输媒介向第二虚拟机传输数据。本发明能够降低成本,减少资源浪费,提高数据传输可控性。
【专利说明】
一种用于虚拟机间数据传输的方法和系统
技术领域
[0001]本发明涉及计算机技术领域,特别涉及一种用于虚拟机间数据传输的方法和系统。
【背景技术】
[0002]在一些涉密单位,为了防止单位内部数据泄露,常常禁止掉办公机的外网访问权限,但由于员工有时需要访问外网查询资料或对外发送邮件,所以又会为员工配置一台能访问外网的办公机,也有的是让员工共享几台外网机。
[0003]内网机和外网机分离可以在一定程度上防止泄密,但是也带来了诸多不便,例如,外网机和内网机间同步数据往往靠移动存储设备(如u盘)或者光盘,使得员工拷贝数据不方便,降低了员工工作效率,特别是在使用光盘拷贝数据时每次刻录都会造成光盘浪费。另一方面,内网机和外网机分离,由于需要额外为员工配置能够访问外网的办公机或共享的外网机,成本较高且机器利用率低,造成资源浪费。

【发明内容】

[0004]有鉴于此,本发明的目的在于提供一种用于虚拟机间数据传输的方法和系统,能够降低成本,减少资源浪费,提高数据传输可控性。
[0005]为了达到上述目的,本发明提供了如下技术方案:
[0006]—种用于虚拟机间数据传输的方法,所述各虚拟机位于同一宿主机中,将执行数据传输的两台虚拟机中的发送方记为第一虚拟机,接收方记为第二虚拟机,该方法应用于所述宿主机,包括:
[0007]截取到第一虚拟机发送的针对第二虚拟机的数据传输请求时,构造用于本次数据传输的传输媒介,利用该传输媒介触发用于第一虚拟机向第二虚拟机传输数据的数据传输事件以建立第一虚拟机与第二虚拟机之间的数据传输连接,并在第一虚拟机与第二虚拟机之间的数据传输连接建立后通知第一虚拟机基于该传输媒介向第二虚拟机传输数据。
[0008]—种用于虚拟机间数据传输的系统,所述各虚拟机位于同一宿主机中,所述宿主机中还配置有传输控制模块;将执行数据传输的两台虚拟机中的发送方记为第一虚拟机,接收方记为第二虚拟机,该系统包括第一虚拟机、第二虚拟机、宿主机中的传输控制模块;
[0009]所述第一虚拟机用于向宿主机发送针对第二虚拟机的数据传输请求;
[0010]所述宿主机的传输控制模块,用于截取到第一虚拟机发送的针对第二虚拟机的数据传输请求时,构造用于本次数据传输的传输媒介,利用该传输媒介触发用于第一虚拟机向第二虚拟机传输数据的数据传输事件以建立第一虚拟机与第二虚拟机之间的数据传输连接,并在第一虚拟机与第二虚拟机之间的数据传输连接建立后通知第一虚拟机基于该传输媒介向第二虚拟机传输数据。
[0011]由上面的技术方案可知,本发明中,当共用同一宿主机的两台虚拟机之间需要进行数据传输时,通过在宿主机中为本次数据传输分配一个传输媒介,使得两台虚拟机仅利用该传输媒介就可以实现数据传输,不需要使用额外的光盘或移动存储设备就可以实现虚拟机间的数据传输,因而可以降低成本,减少资源浪费,提高数据传输可控性。
【附图说明】
[0012]图1是本发明实施例用于虚拟机间数据传输的系统架构图;
[0013]图2是本发明实施例在宿主机的虚拟化引擎内部设置传输控制模块示意图;
[0014]图3是本发明实施例在宿主机的特权虚拟机内部设置传输控制模块示意图;
[0015]图4是本发明实施例用于虚拟机间数据传输的系统的扩展架构图;
[0016]图5是本发明实施例具体应用场景示意图;
[0017]图6是本发明实施例一用于虚拟机间数据传输的方法流程图;
[0018]图7是本发明实施例二用于虚拟机间数据传输的系统架构图。
【具体实施方式】
[0019]为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本发明的技术方案进行详细说明。
[0020]参见图1,图1是本发明实施例用于虚拟机间数据传输的系统架构图,其中,虚拟机A、虚拟机B位于同一宿主机内,宿主机内配置有一传输控制模块,该传输控制模块用于控制虚拟机A和虚拟机B之间的数据传输。
[0021]在本发明实施例中,宿主机是一台具有虚拟化能力的计算设备,包括但不限于PC机、服务器、工作站和平板电脑等电子设备。
[0022]在不同的虚拟化引擎(如Xen、KVM、VirtualBox等)架构中,有的架构将设备管理权交给特权虚拟机,有的架构则由虚拟化引擎直接管理设备。本发明中,对于宿主机中传输控制模块所在的位置不做具体限制,既可以位于宿主机的虚拟化引擎内部(如图2所示),也可位于宿主机上层的特权虚拟机内部(如图3所示)。
[0023]在本发明实施例中,虚拟机A和虚拟机B之间需要传输数据时,宿主机内的传输控制模块会在虚拟化底层构造一传输媒介,虚拟机A和虚拟机B利用该传输媒介实现数据传输。
[0024]以虚拟机A向虚拟机B传输数据为例,数据传输过程如下:
[0025]虚拟机A向虚拟机B发送数据传输请求,宿主机中的传输控制模块截获到该数据传输请求后,为本次数据传输在虚拟化底层构造传输媒介;然后利用该传输媒介触发用于虚拟机A向虚拟机B传输数据的数据传输事件以建立虚拟机A与虚拟机B之间的数据传输连接;接着通知虚拟机A基于该传输媒介向虚拟机B传输数据;最后虚拟机A从本地读取待传输数据(例如字符串或文件等数据),并利用该传输媒介向虚拟机B传输数据。其中,利用该传输媒介触发数据传输事件以建立虚拟机A与虚拟机B之间的数据传输连接的具体实现方法为:将虚拟机A发送的数据传输请求中携带的待传输数据信息写入该传输媒介,并触发用于虚拟机A向虚拟机B传输数据的数据传输事件(可采用现有虚拟化底层技术实现),虚拟机B获知该数据传输事件后从该传输媒介中读取待传输数据信息,从而使得虚拟机A和虚拟机B之间建立起数据传输连接(也即虚拟机A和虚拟机B通过该传输媒介协商确定了待传输数据信息,从而形成了逻辑上的数据传输连接)。
[0026]上述传输媒介可以为共享内存或共享磁盘,也就是说,宿主机中的传输控制模块实际上是为本次数据传输分配了一块共享内存或共享磁盘,而虚拟机A利用传输媒介向虚拟机B传输数据的具体方法为:虚拟机A先将待传输数据写入传输媒介,而后虚拟机B从传输媒介中读取虚拟机A写入的待传输数据,从而完成了从虚拟机A到虚拟机B的数据传输过程。
[0027]上述传输媒介也可以是基于消息队列的虚拟机间传输协议;宿主机中的传输控制模块实际上是为本次数据传输创建了一个适用于虚拟机间传输协议的消息队列,将此消息队列作为本次数据传输的传输媒介,虚拟机A利用传输媒介向虚拟机B传输数据的具体方法为:虚拟机A通过虚拟机间传输协议将待传输数据写入消息队列,而后虚拟机B从消息队列中读取虚拟机A写入的待传输数据,从而完成了从虚拟机A到虚拟机B的数据传输过程。
[0028]其中,在传输数据之前,虚拟机A和虚拟机B均需获知传输媒介的具体信息,例如在传输媒介为共享内存的情况下,需要获知共享内存的起始位置、大小等信息,以便于虚拟机A和B后续根据这些信息对共享内存进行访问。可以由宿主机中的传输控制模块将传输媒介信息通知虚拟机A和虚拟机B,例如,在通知虚拟机A基于该传输媒介向虚拟机B传输数据时,将该传输媒介信息通知虚拟机A,在利用该传输媒介触发数据传输事件以建立虚拟机A与虚拟机B之间的数据传输连接的过程中,将该传输媒介信息通知给虚拟机B。当然,宿主机中的传输控制模块也可以采用其他方法将传输媒介信息通知给虚拟机A和B,不属于本发明的重点,不再赘述。
[0029]在本发明实施例中,可以进一步对虚拟机A向虚拟机B传输数据进行控制,例如,允许/禁止符合某些特性的数据的传输,为此,可以预先配置审计策略,当宿主机中的传输控制模块截获到虚拟机A发往虚拟机B的数据传输请求时,获取待传输数据信息,根据审计策略对待传输数据信息进行审计,确定是否允许传输待传输数据,允许则再执行创建相应的传输媒介等操作,禁止则可直接通知虚拟机A取消本次数据传输。
[0030]实际上,还可以对图1所示传输系统进行扩展,利用一台审计服务器实现对多台宿主机中虚拟机间数据传输的控制,具体如图4所示,配置一台审计服务器,该审计服务器同时连接到多台宿主机,任意一台宿主机中的虚拟机间需要进行数据传输时,该宿主机中的传输控制模块将待传输数据信息发送到审计服务器进行审计,并根据审计结果确定是否允许该次数据传输或禁止该次数据传输。
[0031]上述审计服务器包括但不局限于计算机、平板电脑、手机、智能电视等电子设备。在实际实现中,审计服务器中可配置策略配置模块和传输审计模块,其中,策略配置模块,用于为传输审计模块提供各种审计策略。传输审计模块,用于与传输控制模块通信,接收待传输数据信息,并利用策略配置模块提供的审计策略对待传输数据信息进行审计,并返回审计结果。进一步地,为了便于管理,传输审计模块还可以为管理员提供数据审计的可视化管理界面。
[0032]在实际应用中,审计策略可以根据需求设定,例如可以为基于用户级别的审计策略、基于部门级别的审计策略、基于文件类型(包括应用程序、word文档、视频、音频、图片等)的审计策略、基于虚拟机类型(如:windows虚拟机、Iinux虚拟机,或者内网虚拟机、夕卜网虚拟机)的审计策略等。以下以上述几种审计策略为例,对具体的审计方法进行说明,其中,
[0033]当审计策略为基于用户级别的审计策略时,审计策略包括:每个用户的用户信息及该用户对应的访问规则,所述访问规则包括:禁止传输、允许传输;相应地,待传输数据信息中应包括用户信息。这样,审计服务器根据配置的审计策略对待传输数据信息进行审计时,可以用待传输数据信息中的用户信息匹配审计策略中的各用户信息,成功匹配到一条用户信息后,根据该用户对应的访问规则确定审计结果:若匹配成功的用户对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的用户对应的访问规则为允许传输,则将允许数据传输作为审计结果。
[0034]当审计策略为基于部门级别的审计策略时,审计策略包括:每个部门的部门信息及该部门对应的访问规则,所述访问规则包括:禁止传输、允许传输;相应地,待传输数据信息中应包括部门信息(也即发起该数据传输过程的用户所属的部门信息)。这样,审计服务器根据配置的审计策略对待传输数据信息进行审计时,可以用待传输数据信息中的部门信息匹配审计策略中的各部门信息,成功匹配到一条部门信息后,根据该部门对应的访问规则确定审计结果:若匹配成功的部门对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的部门对应的访问规则为允许传输,则将允许数据传输作为审计结果O
[0035]当审计策略为基于文件类型的审计策略时,审计策略包括:文件类型信息及该类型文件对应的访问规则,所述访问规则包括禁止传输、允许传输;相应地,待传输数据信息应包括文件类型信息。这样,审计服务器根据配置的审计策略对待传输数据信息进行审计时,可以用待传输数据信息中的文件类型信息匹配审计策略中的各文件类型信息,成功匹配到一条文件类型信息后,根据该类型文件对应的访问规则确定审计结果:若匹配成功的文件类型对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的文件类型对应的访问规则为允许传输,则将允许数据传输作为审计结果。
[0036]当审计策略为基于虚拟机类型的审计策略时,审计策略包括:虚拟机类型信息及该类型虚拟机对应的访问规则,所述访问规则包括禁止传输、允许传输,相应地,待传输数据信息应包括虚拟机类型信息。这样,审计服务器根据配置的审计策略对待传输数据信息进行审计时:用待传输数据信息中的虚拟机类型信息匹配审计策略中的各虚拟机类型信息,若匹配成功的虚拟机类型对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的虚拟机类型对应的访问规则为允许传输,则将允许数据传输作为审计结果O
[0037]下面以一个具体应用场景,对本发明的虚拟机间数据传输的实现过程进行说明。本发明的一种典型应用场景是一些涉密单位为防止内部数据泄露,常常将计算机设置为禁止访问外网,同时又为了让员工访问外网而额外配置外网计算机,结果导致单位虽然付出了双倍的成本,却使得外网计算机向内网计算机传输数据变得很不方便。
[0038]本发明可以很好的解决该应用场景遇到的问题。
[0039]对于该场景,本发明对虚拟机进行网络隔离,将虚拟机分为内网虚拟机和外网虚拟机。内网虚拟机只能访问内网局域网,外网虚拟机只能访问外网因特网,这样保证两台虚拟机在网络上隔离,不能通过网络进行数据传输。同时利用本发明提供的数据传输方法使得外网虚拟机可以向内网虚拟机进行单向数据传输,内网虚拟机可以向外网虚拟机进行受控数据传输。
[0040]其中,对网络隔离的【具体实施方式】如图5所示:
[0041]内网虚拟机和外网虚拟机均通过前端网络驱动和特权虚拟机上的后端网络驱动保持通信。
[0042]对于内网虚拟机,后端网络驱动是桥接在网桥上,该桥接网桥具有二层链路层的包转发功能,这样内网虚拟机等同于直接连接局域网环境,与局域网上的其他计算机具有同网段的ip。
[0043]对于外网虚拟机,后端网络驱动通过NAT(网络地址转换)方式连接在网桥上,网桥为外网虚拟机提供NAT子网的ip。外网虚拟机上的包将在三层网络层被NAT网桥转发到桥接网桥上,这样局域网网段的计算机就无法访问NAT子网的虚拟机。
[0044]通过上述方式,内网虚拟机可以访问内网网段和外网,但是无法访问NAT子网的虚拟机;外网虚拟机还能访问外网和内网网段。
[0045]为了实现内网虚拟机只能访问内网网段不能上外网,外网虚拟机只能上外网无法访问内网网段,还需要在桥接网桥上添加如下iptab I es规则:
[0046]a.对于外网虚拟机,只允许其通过网关访问外网,发向内网网段的包都丢弃;
[0047]b.对于内网虚拟机,只允许其访问内网网段,除此外的包都被丢弃。
[0048]通过上述方式则可以将虚拟机进行网络隔离,分成了内网虚拟机和外网虚拟机,但用户可能同时使用windows和Iinux操作系统,windows又分为办公用外网虚拟机、家用的外网虚拟机和办公用的内网虚拟机,I inux可能是一台开发用的内网虚拟机。这样虚拟机间的数据传输控制包括四种情况:
[0049]第一种:外网虚拟机向内网虚拟机传输数据,可以设置允许用户直接传输:宿主机中的传输控制模块截获到数据传输请求并确定数据传输的发送者为外网虚拟机,而接收者为内网虚拟机时,不发送到审计服务器进行审计,允许直接传输。
[0050]第二种:内网虚拟机向外网虚拟机传输数据,可以设置成受控传输,宿主机中的传输控制模块截获到数据传输请求并确定数据传输的发送者为内网虚拟机,而接收者为外网虚拟机时,将待传输数据信息发送到审计服务器,审计服务器完成审计后将审计结果反馈给传输控制模块,根据审计结果确定允许数据传输或禁止数据传输。
[0051]第三种:外网虚拟机向外网虚拟机传输数据,可以设置允许用户直接传输,宿主机中的传输控制模块截获到数据传输请求并确定数据传输的发送者为外网虚拟机,而接收者为外网虚拟机时,不发送到审计服务器进行审计,允许直接传输。
[0052]第四种:内网虚拟机向内网虚拟机传输数据,设置成允许用户直接传输,宿主机中的传输控制模块截获到数据传输请求并确定数据传输的发送者为外网虚拟机,而接收者为外网虚拟机时,不发送到审计服务器进行审计,允许直接传输。
[0053]以上对本发明用于虚拟机将数据传输的方法进行了原理性说明,基于上述原理,本发明提供了一种用于虚拟机间数据传输的方法和一种用于虚拟机间数据传输的系统,以下结合图6、图7进行详细说明。
[0054]参见图6,图6是本发明实施例一用于虚拟机间数据传输的方法流程图,所述各虚拟机位于同一宿主机中,将执行数据传输的两台虚拟机中的发送方记为第一虚拟机,接收方记为第二虚拟机,该方法应用于所述宿主机,如图6所示,具体包括以下步骤:
[0055]步骤601、截取第一虚拟机发送的针对第二虚拟机的数据传输请求时,构造用于本次数据传输的传输媒介,利用该传输媒介触发用于第一虚拟机向第二虚拟机传输数据的数据传输事件以建立第一虚拟机与第二虚拟机之间的数据传输连接;
[0056]步骤602、在第一虚拟机与第二虚拟机之间的数据传输连接建立后通知第一虚拟机基于该传输媒介向第二虚拟机传输数据。
[0057]图6所示本发明实施例中,
[0058]所述数据传输请求携带待传输数据信息;
[0059]截取到第一虚拟机发送的针对第二虚拟机的数据传输请求之后,构造用于本次数据传输的传输媒介之前,进一步包括:将数据传输请求中的待传输数据信息发往审计服务器,并接收审计服务器返回的对待传输数据信息的审计结果,如果审计结果为允许数据传输,则构造用于数据传输的传输媒介,如果审计结果为禁止数据传输,则将该审计结果通知给第一虚拟机,以使第一虚拟机取消本次数据传输。
[0060]图6所示本发明实施例中,
[0061 ]审计服务器中配置有审计策略;
[0062]审计服务器根据配置的审计策略对待传输数据信息进行审计。
[0063]图6所示本发明实施例中,
[0064]所述待传输数据信息包括用户信息;
[0065]所述审计策略包括:每个用户的用户信息及该用户对应的访问规则,所述访问规则包括:禁止传输、允许传输;
[0066]审计服务器根据配置的审计策略对待传输数据信息进行审计的方法为:用待传输数据信息中的用户信息匹配审计策略中的各用户信息,若匹配成功的用户对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的用户对应的访问规则为允许传输,则将允许数据传输作为审计结果;
[0067]或者,
[0068]所述待传输数据信息包括文件类型信息;
[0069]所述审计策略包括:文件类型信息及该类型文件对应的访问规则,所述访问规则包括禁止传输、允许传输;
[0070]审计服务器根据配置的审计策略对待传输数据信息进行审计的方法为:用待传输数据信息中的文件类型信息匹配审计策略中的各文件类型信息,若匹配成功的文件类型对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的文件类型对应的访问规则为允许传输,则将允许数据传输作为审计结果;
[0071]或者,
[0072]所述待传输数据信息包括虚拟机类型信息;
[0073]所述审计策略包括:虚拟机类型信息及该类型虚拟机对应的访问规则,所述访问规则包括禁止传输、允许传输;
[0074]审计服务器根据配置的审计策略对待传输数据信息进行审计的方法为:用待传输数据信息中的虚拟机类型信息匹配审计策略中的各虚拟机类型信息,若匹配成功的虚拟机类型对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的虚拟机类型对应的访问规则为允许传输,则将允许数据传输作为审计结果。
[0075]图6所示本发明实施例中,
[0076]所述传输媒介为共享内存;
[0077]构造用于本次数据传输的传输媒介的方法为:分配共享内存,将分配的共享内存作为本次数据传输的传输媒介;
[0078]或者,
[0079]所述传输媒介为共享磁盘;
[0080]构造用于本次数据传输的传输媒介的方法为:分配共享磁盘,将分配的共享磁盘作为本次数据传输的传输媒介;
[0081]或者,
[0082]所述传输媒介为基于消息队列的虚拟机间传输协议;
[0083]构造用于本次数据传输的传输媒介的方法为:建立消息队列,将建立的消息队列作为本次数据传输的传输媒介。
[0084]图6所示本发明实施例中,
[0085]第一虚拟机基于该传输媒介向第二虚拟机传输数据的方法为:第一虚拟机在接收到所述宿主机的通知后,将待传输数据写入到该传输媒介,第二虚拟机从该传输媒介读取待传输数据。
[0086]参见图7,图7是本发明实施例二用于虚拟机间数据传输的系统架构图,所述各虚拟机位于同一宿主机中,宿主机中还配置有传输控制模块;将执行数据传输的两台虚拟机中的发送方记为第一虚拟机,接收方记为第二虚拟机,其中,
[0087]所述第一虚拟机用于发送针对第二虚拟机的数据传输请求;
[0088]所述宿主机中的传输控制模块,用于截取到第一虚拟机发送的针对第二虚拟机的数据传输请求时,构造用于本次数据传输的传输媒介,利用该传输媒介触发用于第一虚拟机向第二虚拟机传输数据的数据传输事件以建立第一虚拟机与第二虚拟机之间的数据传输连接,并在第一虚拟机与第二虚拟机的数据传输连接建立后通知第一虚拟机基于该传输媒介向第二虚拟机传输数据。
[0089]图7所示系统还包括审计服务器;
[0090]所述数据传输请求携带待传输数据信息;
[0091]所述宿主机中的传输控制模块截取到第一虚拟机发送的针对第二虚拟机的数据传输请求之后,构造用于本次数据传输的传输媒介之前,进一步用于:将数据传输请求中的待传输数据信息发往审计服务器,并接收审计服务器返回的审计结果,如果审计结果为允许数据传输,则构造用于数据传输的传输媒介,如果审计结果为禁止数据传输,则将该审计结果通知给第一虚拟机,以使第一虚拟机取消本次数据传输;
[0092]所述审计服务器,用于接收宿主机中的传输控制模块发来的待传输数据信息,对待传输数据进行审计,并将审计结果返回给宿主机中的传输控制模块。
[0093]图7所示系统中,
[0094]所述审计服务器中配置有审计策略;
[0095]所述审计服务器根据配置的审计策略对待传输数据信息进行审计。
[0096]图7所示系统中,
[0097]所述待传输数据信息包括用户信息;
[0098]所述审计策略包括:每个用户的用户信息及该用户对应的访问规则,所述访问规则包括:禁止传输、允许传输;
[0099]所述审计服务器根据配置的审计策略对待传输数据信息进行审计时,用于:用待传输数据信息中的用户信息匹配审计策略中的各用户信息,若匹配成功的用户对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的用户对应的访问规则为允许传输,则将允许数据传输作为审计结果;
[0100]或者,
[0101 ]所述待传输数据信息包括文件类型信息;
[0102]所述审计策略包括:文件类型信息及该类型文件对应的访问规则,所述访问规则包括禁止传输、允许传输;
[0103]所述审计服务器根据配置的审计策略对待传输数据信息进行审计时,用于:用待传输数据信息中的文件类型信息匹配审计策略中的各文件类型信息,若匹配成功的文件类型对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的文件类型对应的访问规则为允许传输,则将允许数据传输作为审计结果;
[0104]或者,
[0105]所述待传输数据信息包括虚拟机类型信息;
[0106]所述审计策略包括:虚拟机类型信息及该类型虚拟机对应的访问规则,所述访问规则包括禁止传输、允许传输;
[0107]所述审计服务器根据配置的审计策略对待传输数据信息进行审计时,用于:用待传输数据信息中的虚拟机类型信息匹配审计策略中的各虚拟机类型信息,若匹配成功的虚拟机类型对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的虚拟机类型对应的访问规则为允许传输,则将允许数据传输作为审计结果。
[0108]图7所示系统中,
[0109]所述传输媒介为共享内存;
[0110]所述宿主机中的传输控制模块构造用于本次数据传输的传输媒介时,用于:分配共享内存,将分配的共享内存作为本次数据传输的传输媒介;
[0111]或者,
[0112]所述传输媒介为共享磁盘;
[0113]所述宿主机中的传输控制模块构造用于本次数据传输的传输媒介时,用于:分配共享磁盘,将分配的共享磁盘作为本次数据传输的传输媒介;
[0114]或者,
[0115]所述传输媒介为基于消息队列的虚拟机间传输协议;
[0116]所述宿主机中的传输控制模块构造用于本次数据传输的传输媒介时,用于:建立消息队列,将建立的消息队列作为本次数据传输的传输媒介。
[0117]图7所示系统中,
[0118]第一虚拟机基于该传输媒介向第二虚拟机传输数据的方法为:第一虚拟机在接收到所述宿主机中的传输控制模块的通知后,将待传输数据存储到该传输媒介,第二虚拟机从该传输媒介读取待传输数据。
[0119]本发明的一个技术效果是用户可以在虚拟机间复制/粘贴字符串或文件,就如同在一台计算机内执行复制/粘贴操作一样方便透明,无跨虚拟机感知。具体实现过程为:用户在虚拟机之间执行拷贝/粘贴操作时,触发数据所在虚拟机发起数据传输请求,并在宿主机中的传输控制模块为其创建传输媒介后,将拷贝的数据写入传输媒介,粘贴数据的目标虚拟机从传输媒介中读取数据并粘贴到相应位置。此过程在用户看来仅是一次普通的拷贝/粘贴操作,但实现过程则是虚拟机间的一次数据传输过程。
[0120]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1.一种用于虚拟机间数据传输的方法,其特征在于,所述各虚拟机位于同一宿主机中,将执行数据传输的两台虚拟机中的发送方记为第一虚拟机,接收方记为第二虚拟机,该方法应用于所述宿主机,包括: 截取到第一虚拟机发送的针对第二虚拟机的数据传输请求时,构造用于本次数据传输的传输媒介,利用该传输媒介触发用于第一虚拟机向第二虚拟机传输数据的数据传输事件以建立第一虚拟机与第二虚拟机之间的数据传输连接,并在第一虚拟机与第二虚拟机之间的数据传输连接建立后通知第一虚拟机基于该传输媒介向第二虚拟机传输数据。2.根据权利要求1所述的方法,其特征在于, 所述数据传输请求携带待传输数据信息; 截取到第一虚拟机发送的针对第二虚拟机的数据传输请求之后,构造用于本次数据传输的传输媒介之前,进一步包括:将数据传输请求中的待传输数据信息发往审计服务器,并接收审计服务器返回的对待传输数据信息的审计结果,如果审计结果为允许数据传输,则构造用于数据传输的传输媒介,如果审计结果为禁止数据传输,则将该审计结果通知给第一虚拟机,以使第一虚拟机取消本次数据传输。3.根据权利要求2所述的方法,其特征在于, 审计服务器中配置有审计策略; 审计服务器根据配置的审计策略对待传输数据信息进行审计。4.根据权利要求3所述的方法,其特征在于, 所述待传输数据信息包括用户信息; 所述审计策略包括:每个用户的用户信息及该用户对应的访问规则,所述访问规则包括:禁止传输、允许传输; 审计服务器根据配置的审计策略对待传输数据信息进行审计的方法为:用待传输数据信息中的用户信息匹配审计策略中的各用户信息,若匹配成功的用户对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的用户对应的访问规则为允许传输,则将允许数据传输作为审计结果; 或者, 所述待传输数据信息包括文件类型信息; 所述审计策略包括:文件类型信息及该类型文件对应的访问规则,所述访问规则包括禁止传输、允许传输; 审计服务器根据配置的审计策略对待传输数据信息进行审计的方法为:用待传输数据信息中的文件类型信息匹配审计策略中的各文件类型信息,若匹配成功的文件类型对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的文件类型对应的访问规则为允许传输,则将允许数据传输作为审计结果; 或者, 所述待传输数据信息包括虚拟机类型信息; 所述审计策略包括:虚拟机类型信息及该类型虚拟机对应的访问规则,所述访问规则包括禁止传输、允许传输; 审计服务器根据配置的审计策略对待传输数据信息进行审计的方法为:用待传输数据信息中的虚拟机类型信息匹配审计策略中的各虚拟机类型信息,若匹配成功的虚拟机类型对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的虚拟机类型对应的访问规则为允许传输,则将允许数据传输作为审计结果。5.根据权利要求1所述的方法,其特征在于, 所述传输媒介为共享内存; 构造用于本次数据传输的传输媒介的方法为:分配共享内存,将分配的共享内存作为本次数据传输的传输媒介; 或者, 所述传输媒介为共享磁盘; 构造用于本次数据传输的传输媒介的方法为:分配共享磁盘,将分配的共享磁盘作为本次数据传输的传输媒介; 或者, 所述传输媒介为基于消息队列的虚拟机间传输协议; 构造用于本次数据传输的传输媒介的方法为:建立消息队列,将建立的消息队列作为本次数据传输的传输媒介。6.根据权利要求1或5所述的方法,其特征在于, 第一虚拟机基于该传输媒介向第二虚拟机传输数据的方法为:第一虚拟机在接收到所述宿主机的通知后,将待传输数据写入到该传输媒介,第二虚拟机从该传输媒介读取待传输数据。7.—种用于虚拟机间数据传输的系统,其特征在于,所述各虚拟机位于同一宿主机中,宿主机中还配置有传输控制模块,将执行数据传输的两台虚拟机中的发送方记为第一虚拟机,接收方记为第二虚拟机,该系统包括第一虚拟机、第二虚拟机、宿主机中的传输控制模块; 所述第一虚拟机用于发送针对第二虚拟机的数据传输请求; 所述宿主机中的传输控制模块,用于截取到第一虚拟机发送的针对第二虚拟机的数据传输请求时,构造用于本次数据传输的传输媒介,利用该传输媒介触发用于第一虚拟机向第二虚拟机传输数据的数据传输事件以建立第一虚拟机与第二虚拟机之间的数据传输连接,并在第一虚拟机与第二虚拟机之间的数据传输连接建立后通知第一虚拟机基于该传输媒介向第二虚拟机传输数据。8.根据权利要求7所述的系统,其特征在于,该系统还包括审计服务器; 所述数据传输请求携带待传输数据信息; 所述宿主机中的传输控制模块截取到第一虚拟机发送的针对第二虚拟机的数据传输请求之后,构造用于本次数据传输的传输媒介之前,进一步用于:将数据传输请求中的待传输数据信息发往审计服务器,并接收审计服务器返回的审计结果,如果审计结果为允许数据传输,则构造用于数据传输的传输媒介,如果审计结果为禁止数据传输,则将该审计结果通知给第一虚拟机,以使第一虚拟机取消本次数据传输; 所述审计服务器,用于接收宿主机中的传输控制模块发来的待传输数据信息,对待传输数据进行审计,并将审计结果返回给宿主机中的传输控制模块。9.根据权利要求8所述的系统,其特征在于, 所述审计服务器中配置有审计策略; 所述审计服务器根据配置的审计策略对待传输数据信息进行审计。10.根据权利要求9所述的系统,其特征在于, 所述待传输数据信息包括用户信息; 所述审计策略包括:每个用户的用户信息及该用户对应的访问规则,所述访问规则包括:禁止传输、允许传输; 所述审计服务器根据配置的审计策略对待传输数据信息进行审计时,用于:用待传输数据信息中的用户信息匹配审计策略中的各用户信息,若匹配成功的用户对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的用户对应的访问规则为允许传输,则将允许数据传输作为审计结果; 或者, 所述待传输数据信息包括文件类型信息; 所述审计策略包括:文件类型信息及该类型文件对应的访问规则,所述访问规则包括禁止传输、允许传输; 所述审计服务器根据配置的审计策略对待传输数据信息进行审计时,用于:用待传输数据信息中的文件类型信息匹配审计策略中的各文件类型信息,若匹配成功的文件类型对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的文件类型对应的访问规则为允许传输,则将允许数据传输作为审计结果; 或者, 所述待传输数据信息包括虚拟机类型信息; 所述审计策略包括:虚拟机类型信息及该类型虚拟机对应的访问规则,所述访问规则包括禁止传输、允许传输; 所述审计服务器根据配置的审计策略对待传输数据信息进行审计时,用于:用待传输数据信息中的虚拟机类型信息匹配审计策略中的各虚拟机类型信息,若匹配成功的虚拟机类型对应的访问规则为禁止传输,则将禁止数据传输作为审计结果,若匹配成功的虚拟机类型对应的访问规则为允许传输,则将允许数据传输作为审计结果。11.根据权利要求7所述的系统,其特征在于, 所述传输媒介为共享内存; 所述宿主机中的传输控制模块构造用于本次数据传输的传输媒介时,用于:分配共享内存,将分配的共享内存作为本次数据传输的传输媒介; 或者, 所述传输媒介为共享磁盘; 所述宿主机中的传输控制模块构造用于本次数据传输的传输媒介时,用于:分配共享磁盘,将分配的共享磁盘作为本次数据传输的传输媒介; 或者, 所述传输媒介为基于消息队列的虚拟机间传输协议; 所述宿主机中的传输控制模块构造用于本次数据传输的传输媒介时,用于:建立消息队列,将建立的消息队列作为本次数据传输的传输媒介。12.根据权利要求7或11所述的系统,其特征在于, 第一虚拟机基于该传输媒介向第二虚拟机传输数据的方法为:第一虚拟机在接收到所述宿主机中的传输控制模块的通知后,将待传输数据写入到该传输媒介,第二虚拟机从该传输媒介读取待传输数据。
【文档编号】G06F9/54GK106020997SQ201610318167
【公开日】2016年10月12日
【申请日】2016年5月13日
【发明人】马彦青, 张瑞, 张玉昆
【申请人】北京红山世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1