CN108573162A - 数据拷贝系统、方法及装置 - Google Patents
数据拷贝系统、方法及装置 Download PDFInfo
- Publication number
- CN108573162A CN108573162A CN201710399811.7A CN201710399811A CN108573162A CN 108573162 A CN108573162 A CN 108573162A CN 201710399811 A CN201710399811 A CN 201710399811A CN 108573162 A CN108573162 A CN 108573162A
- Authority
- CN
- China
- Prior art keywords
- physical machine
- target data
- sent
- storage device
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了数据拷贝系统、方法及装置,该数据拷贝系统包括共享存储设备、控制器、作为数据源端的第一物理机、作为数据目的端的第二物理机;控制器用于获得控制第二物理机从第一物理机中拷贝目标数据的指令;基于该指令,生成第一命令以及第二命令;将第一命令发送给第一物理机;将第二命令发送给每个第二物理机;上述第一物理机,用于接收第一命令;按照第一命令,将目标数据发送给共享存储设备;每个第二物理机,用于接收第二命令;按照第二命令,从共享存储设备中获取目标数据。应用本发明实施例提供的方案,可以在实现物理机间数据拷贝的同时,保证物理机的数据安全性。
Description
技术领域
本发明涉及数据拷贝技术领域,特别是涉及数据拷贝系统、方法及装置。
背景技术
目前的生产环境中,常常会有物理机间数据需要拷贝的场景,物理机间的数据拷贝,可以是某一个物理机从另一个物理机中拷贝数据,也可以是多个物理机从同一个物理机中拷贝数据,例如,当前需要在物理机集群中的每个物理机中配置一个文件,则此时可以首先在一个物理机中配置该文件,然后再由集群中的其它物理机从该物理机中拷贝该文件。
现有技术中物理机间的数据拷贝可以通过采用linux(一种计算机操作系统)的scp(Secure Copy)命令来实现,具体的,如果物理机A从物理机B中拷贝数据,需要一个前提条件:物理机A和物理机B互相保存有对方的登录秘钥,在数据拷贝时,物理机A可以根据输入的scp命令,从物理机B中拷贝数据。
对于通过scp命令进行数据拷贝的两个物理机,其互相保存有对方的登录秘钥,则其中的任一物理机被恶意攻破,另一个物理机的登录秘钥也会被泄露,另一个物理机可直接被恶意攻破,其中的数据被直接暴露;所以通过scp命令进行数据拷贝的方式,会存在物理机数据安全性差的问题。
发明内容
本发明实施例的目的在于提供数据拷贝系统、方法及装置,以实现物理机间数据拷贝的同时,保证物理机的数据安全性。具体技术方案如下:
为达上述目的,第一方面,本发明实施例提供了一种数据拷贝系统,所述系统包括共享存储设备、作为数据源端的第一物理机、作为数据目的端的第二物理机以及用以控制所述第一物理机和各个第二物理机的控制器;
所述控制器,用于获得控制第二物理机从所述第一物理机中拷贝目标数据的指令;基于所述指令,生成将目标数据发送给共享存储设备的第一命令,以及从所述共享存储设备中获取所述目标数据的第二命令;将所述第一命令发送给所述第一物理机;将所述第二命令发送给每个第二物理机;
所述第一物理机,用于接收所述第一命令;按照所述第一命令,将所述目标数据发送给所述共享存储设备;
每个第二物理机,用于接收所述第二命令;按照所述第二命令,从所述共享存储设备中获取所述目标数据。
优选的,所述控制器,还用于在接收到所述指令后,生成用于对所述目标数据进行加密的加密秘钥以及对应于所述加密秘钥的解密秘钥;将所述加密秘钥发送给所述第一物理机;将所述解密秘钥发送给各个第二物理机;
所述第一物理机,接收所述加密秘钥;采用所述加密秘钥加密所述目标数据;按照所述第一命令,将加密后的所述目标数据发送给所述共享存储设备;
每个第二物理机,接收所述解密秘钥;按照所述第二命令,从所述共享存储设备中获取加密后的所述目标数据,采用所述解密秘钥对加密后的所述目标数据进行解密,获得所述目标数据。
优选的,所述控制器,还用于在将所述第一命令发送给所述第一物理机之后,判断所述共享存储设备是否接收到完整的所述目标数据;如果是,执行所述将所述第二命令发送给每个第二物理机的步骤;如果否,间隔第一预设时长后,返回执行所述判断所述共享存储设备是否接收到完整的所述目标数据的步骤。
优选的,所述第一物理机,还用于在感知到自身完成所述目标数据的发送后,向所述控制器发送所述目标数据发送完成的通知信息;
所述控制器,还用于接收所述通知消息;在接收到所述通知信息后,执行所述将所述第二命令发送给每个第二物理机的步骤。
优选的,每个第二物理机,还用于在接收到所述第二命令后,判断所述共享存储设备中是否存在完整的所述目标数据;如果存在,执行所述按照所述第二命令,从所述共享存储设备获取所述目标数据的步骤;如果不存在,间隔第二预设时长后,返回执行所述判断所述共享存储设备中是否存在完整的所述目标数据的步骤。
优选的,所述第一物理机,在接收到所述第一命令后,生成携带有所述目标数据以及标识信息的目标文件;按照所述第一命令,将所述目标文件发送给所述共享存储设备,完成将所述目标数据发送给所述共享存储设备的步骤;其中,所述标识信息包括所述目标数据的标识以及表明所述目标数据的数据源端为所述第一物理机、数据目的端为所有第二物理机的信息;
每个第二物理机,按照所述第二命令,向所述共享存储设备发送针对所述目标数据的下载请求;接收所述共享存储设备发送的所述目标文件,完成从所述共享存储设备获取所述目标数据的步骤;其中,所述下载请求中携带有所述目标数据的标识以及表明所述目标数据的数据源端为所述第一物理机、数据目的端包括该第二物理机的目标信息;
所述共享存储设备,用于接收所述下载请求;根据所述目标数据的标识以及所述目标信息,在本地搜索出所述目标文件;将所述目标文件发送给发送所述下载请求的第二物理机。
优选的,所述共享存储设备,还用于在所述第一物理机向其发送所述目标文件时,判断所述目标文件携带的标识信息所表明的数据源端是否为所述第一物理机,如果是,接收所述目标文件。
优选的,所述共享存储设备,还用于在接收到所述下载请求时,判断所述下载请求中的目标信息所表明的数据目的端是否包括所述第二物理机,如果是,再执行所述根据所述目标数据的标识以及所述目标信息,在本地搜索出所述目标文件的步骤。
第二方面,本发明实施例提供了一种数据拷贝方法,应用于数据拷贝系统中的控制器,所述系统包括共享存储设备、作为数据源端的第一物理机、作为数据目的端的第二物理机以及用以控制所述第一物理机和各个第二物理机的控制器,所述方法包括:
获得控制第二物理机从所述第一物理机中拷贝目标数据的指令;
基于所述指令,生成将目标数据发送给共享存储设备的第一命令,以及从所述共享存储设备中获取所述目标数据的第二命令;
将所述第一命令发送给所述第一物理机,以使得所述第一物理机按照所述第一命令,将所述目标数据发送给所述共享存储设备;
将所述第二命令发送给每个第二物理机,以使得每个第二物理机按照所述第二命令,从所述共享存储设备中获取所述目标数据。
优选的,所述方法还包括:
在获得所述指令后,生成用于对所述目标数据进行加密的加密秘钥以及对应于所述加密秘钥的解密秘钥;
将所述加密秘钥发送给所述第一物理机;以使得所述物理机接收到所述第一命令和所述加密秘钥后,采用所述加密秘钥加密所述目标数据,按照所述第一命令,将加密后的所述目标数据发送给所述共享存储设备;
将所述解密秘钥发送给各个第二物理机;以使得每个第二物理机在接收所述解密秘钥和所述第二命令后,按照所述第二命令,从所述共享存储设备中获取加密后的所述目标数据,采用所述解密秘钥对加密后的所述目标数据进行解密,获得所述目标数据。
优选的,在所述将所述第一命令发送给所述第一物理机的步骤之后,所述方法还包括:
判断所述共享存储设备是否接收到完整的所述目标数据;
如果是,执行所述将所述第二命令发送给每个第二物理机的步骤;
如果否,间隔第一预设时长后,返回执行所述判断所述共享存储设备是否接收到完整的所述目标数据的步骤。
优选的,在所述将所述第一命令发送给所述第一物理机的步骤之后,所述方法还包括:
接收所述第一物理机发送的、所述第一物理机完成所述目标数据发送的通知信息;在接收到所述通知信息后,执行所述将所述第二命令发送给每个第二物理机的步骤。
第三方面,本发明实施例还提供了一种数据拷贝装置,应用于数据拷贝系统中的控制器,所述系统包括共享存储设备、作为数据源端的第一物理机、作为数据目的端的第二物理机以及用以控制所述第一物理机和各个第二物理机的控制器,所述装置包括:
获得模块,用于获得将第一物理机中的目标数据拷贝给第二物理机的指令;
第一生成模块,用于基于所述指令,生成将目标数据发送给共享存储设备的第一命令,以及从所述共享存储设备中获取所述目标数据的第二命令;
第一发送模块,用于将所述第一命令发送给所述第一物理机,以使得所述第一物理机按照所述第一命令,将所述目标数据发送给所述共享存储设备;
第二发送模块,用于将所述第二命令发送给每个第二物理机;以使得每个第二物理机按照所述第二命令,从所述共享存储设备中获取所述目标数据。
优选的,所述装置还包括:
第二生成模块,用于在获得所述指令后,生成用于对所述目标数据进行加密的加密秘钥以及对应于所述加密秘钥的解密秘钥;
第三发送模块,用于将所述加密秘钥发送给所述第一物理机;以使得所述物理机接收到所述第一命令和所述加密秘钥后,采用所述加密秘钥加密所述目标数据,按照所述第一命令,将加密后的所述目标数据发送给所述共享存储设备;
第四发送模块,用于将所述解密秘钥发送给各个第二物理机;以使得每个第二物理机在接收所述解密秘钥和所述第二命令后,按照所述第二命令,从所述共享存储设备中获取加密后的所述目标数据,采用所述解密秘钥对加密后的所述目标数据进行解密,获得所述目标数据。
优选的,所述装置还包括:
判断模块,用于在所述将所述第一命令发送给所述第一物理机之后,判断所述共享存储设备是否接收到完整的所述目标数据;如果是,触发所述第二发送模块;如果否,间隔第一预设时长后,返回执行所述判断所述共享存储设备是否接收到完整的所述目标数据的步骤。
优选的,所述装置还包括:
接收模块,用于在将所述第一命令发送给所述第一物理机之后,接收所述第一物理机发送的、所述第一物理机完成所述目标数据发送的通知信息;在接收到所述通知信息后,触发所述第二发送模块。
第四方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一种数据拷贝方法所述的方法步骤。
第五方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行上述任一种数据拷贝方法所述的方法步骤。
由以上可见,在本发明实施例提供的方案中,数据拷贝系统包括共享存储设备、控制器、作为数据源端的第一物理机、作为数据目的端的第二物理机;控制器用于获得控制第二物理机从第一物理机中拷贝目标数据的指令;基于该指令,生成将目标数据发送给共享存储设备的第一命令,以及从共享存储设备中获取目标数据的第二命令;将第一命令发送给第一物理机;将第二命令发送给每个第二物理机;上述第一物理机,用于接收第一命令;按照第一命令,将目标数据发送给共享存储设备;每个第二物理机,用于接收第二命令;按照第二命令,从共享存储设备中获取目标数据。
与现有技术相比,本发明实施例提供的方案中,上述作为数据源端的第一物理机与作为数据目的端的第二物理机之间没有直接的数据通信,而是通过上述共享存储设备进行数据交互,第一物理机与第二物理机之间不需要互相保存对方的登录秘钥;所以,第一物理机与第二物理机之中,即使有一个物理机被攻破,另一个物理机的登录秘钥也不会被直接泄露,保证了该另一个物理机的数据安全性。另一方面,无论第二物理机的数量为多少,第一物理机都只需要向共享存储设备发送一次数据,由共享存储设备向所有的第二物理机发送数据,避免在第二物理机的数量多时,第一物理机分别向每个第二物理机发送数据造成的第一物理机内存、带宽等资源占用高的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据拷贝系统的第一种结构示意图;
图2为本发明实施例提供的数据拷贝系统的第二种结构示意图;
图3为本发明实施例提供的数据拷贝方法的第一种流程示意图;
图4为本发明实施例提供的数据拷贝方法的第二种流程示意图;
图5为本发明实施例提供的数据拷贝装置的第一种结构示意图;
图6为本发明实施例提供的数据拷贝装置的第二种结构示意图;
图7为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,需要进行数据拷贝的两个物理机互相保存有对方的登录秘钥,才能通过scp命令来实现物理机间的数据拷贝;例如物理机A需要从物理机B中拷贝数据x,则物理机A首先需要需要输入物理机B的登录秘钥,只有在正确输入物理机B的登录秘钥的情况下,物理机A才能通过输入的scp命令从物理机B中拷贝数据x。
可以理解,物理机A中保存有物理机B的登录秘钥,当物理机A被攻击者攻破时,物理机A中保存的物理机B的登录秘钥同时被暴露,攻击者在获知物理机B登录秘钥的情况下,可以很容易地登录物理机B,物理机B中的数据无疑等于是完全暴露给了攻击者,所以物理机B的数据安全性差。
为了解决上述问题,本发明提供了数据拷贝系统、方法及装置。具体的,参见图1,图1为本发明实施例提供的数据拷贝系统的第一种结构示意图;图1中,第二物理机的数量为一个。
如图1所示,控制器首先获得控制第二物理机从第一物理机中拷贝目标数据的指令;然后基于所获得的指令,生成将目标数据发送给共享存储设备的第一命令,以及从共享存储设备获取目标数据的第二命令;再将第一命令和第二命令分别发送给第一物理机和第二物理机。
第一物理机接收到第一命令后,按照第一命令,将目标数据发送给共享存储设备;此时目标数据被存储在共享存储设备中;而第二物理机接收到第二命令后,按照第二命令,从共享存储设备中获取目标数据,即将存储在共享存储设备中的目标数据下载到本地,实现获取目标数据的目的。
与现有技术相比,本发明实施例提供的方案中,上述作为数据源端的第一物理机与作为数据目的端的第二物理机之间没有直接的数据通信,而是通过上述共享存储设备进行数据交互,第一物理机与第二物理机之间不需要互相保存对方的登录秘钥;所以,第一物理机与第二物理机之中,即使有一个物理机被攻破,另一个物理机的登录秘钥也不会被直接泄露,保证了该另一个物理机的数据安全性。
需要说明的是,在本申请的各个实施例中,所述的作为数据源端的第一物理机和作为数据目的端的第二物理机,仅是为了方便说明具体操作而给定的名称,在实际应用中,根据业务需要,数据拷贝系统中的任何一个物理机都可以作为发送数据的第一物理机,也可以作为接收数据的第二物理机。而且,同一个物理机,在不同的时刻,既可能是发送数据的第一物理机,也可能是接收数据的第二物理机。
类似的,前述的目标数据是为了方便说明具体操作而给定的名称,其仅表示第二物理机需要从第一物理机中拷贝的数据。本申请的各个实施例中,也存在与前述类似的为了方便说明具体操作而给定名称的限定,其都是为了表述方便,并不是实质限定某个设备或数据仅具有什么功能。这里不再一一罗列。
下面通过具体实施例来对本发明进行详细介绍。
本发明实施例提供了一种数据拷贝系统,如图2所示,该系统包括共享存储设备、作为数据源端的第一物理机、至少一个作为数据目的端的第二物理机以及用以控制第一物理机和各个第二物理机的控制器。
可以理解,该控制器是用以控制第一物理机与第二物理机的控制设备,例如常见的Openstack(一种开源的云计算管理平台项目)控制器。需要说明的是,第二物理机的数量可以是一个,如图1所示,第二物理机的数量只有一个;第二物理机的数量也可以是至少两个,如图2所示,数据拷贝系统中包含有第二物理机1~n,其中,n≥2。
例如,在主从服务系统中,主节点的数量为一个,从节点的数量为至少一个,主节点中增加了新的数据A后,从节点需要与主节点保持数据同步,即每个从节点都需要从主节点中拷贝数据A,此时,主节点所在物理机可以作为上述第一物理机,每个从节点所在的物理机则可以作为上述第二物理机。
本发明实施例中,上述控制器,用于获得控制第二物理机从第一物理机中拷贝目标数据的指令;基于所获得的指令,生成将目标数据发送给共享存储设备的第一命令,以及从共享存储设备中获取目标数据的第二命令;将第一命令发送给第一物理机;将第二命令发送给每个第二物理机。
本发明实施例中的指令可以是人工通过控制器对应的用户界面输入给控制器的,例如,用户在用户界面中输入控制物理机B从物理机A中拷贝数据a的指令,则控制器直接获得该指令。
该指令还可以是其它设备向控制器发送的,例如,远程操作的用户在其所使用的设备上输入控制物理机B从物理机A中拷贝数据a的指令,然后其所使用的设备将该指令发送给控制器,即控制器获得该指令。
可以理解,控制器获得指令的方式是多种多样的,并不限于上述两种方式,本发明实施例并不限定控制器获得指令的具体方式。
在实际应用中,可以理解的是,上述指令为控制第二物理机从第一物理机中拷贝目标数据的指令,所以上述指令中可以包含第一物理机、第二物理机以及目标数据分别对应的标识信息;例如,该指令中包含有第一物理机以及第二物理机分别对应的MAC(MediaAccess Control,媒体访问介质)地址、目标数据在第一物理机中的文件路径。
所以控制器在生成上述第一命令后,可以按照第一物理机的MAC地址,将第一命令发送给上述第一物理机;控制器在生成上述第二命令后,可以按照第二物理机的MAC地址,将第二命令发送给上述第二物理机。
上述第一物理机,用于接收第一命令;按照第一命令,将目标数据发送给共享存储设备。
上述第一命令为从共享存储设备中获取目标数据的命令,所以第一命令中可以包含有目标数据的标识信息以及共享存储设备的标识信息,例如该第一命令中包含有目标数据的文件路径以及共享存储设备的IP地址(Internet Protocol Address,网际协议地址),则第一物理机在获得该第一命令后,首先按照目标数据的文件路径,从本地搜索到该目标数据,然后,按照共享存储设备的IP地址,将目标数据发送给共享存储设备。
可以理解,本发明实施例提供的数据拷贝系统中,无论第二存储设备的数量为多少,第一物理机都仅需要将目标数据发送给共享存储设备,且仅发送一次,而现有技术的方案则需要第一物理机向每个第二物理机发送一次目标数据,导致第一物理机在进行数据拷贝时,出现内存、带宽等资源占用高的问题。
例如,当前的第二物理机数量为20个,如果采用现有技术的方案,则第一物理机需要分别向20个第二物理机发送目标数据;如果采用本发明实施例提供的方案,则第一物理机仅需要向共享存数设备发送一次上述目标数据即可,内存、带宽等资源占用低。
每个第二物理机,用于接收第二命令;按照第二命令,从共享存储设备中获取目标数据。
上述第二命令为将目标数据发送给共享存储设备的命令,所以第二命令中可以包含有目标数据的标识信息以及共享存储设备的标识信息,例如该第二命令中包含有目标数据的文件名以及共享存储设备的IP地址(Internet Protocol Address,网际协议地址),则第二物理机在获得该第二命令后,首先按照共享存储设备的IP地址,向共享存储设备发送携带有目标数据的文件名的文件下载请求,然后共享存储设备根据目标数据的文件名在本地找到目标数据,再将该目标数据反馈给第二物理机,即使得第二物理机完成从共享设备中获取目标数据的目的。
与现有技术相比,本发明实施例提供的方案中,上述作为数据源端的第一物理机与作为数据目的端的第二物理机之间没有直接的数据通信,而是通过上述共享存储设备进行数据交互,第一物理机与第二物理机之间不需要互相保存对方的登录秘钥;所以,第一物理机与第二物理机之中,即使有一个物理机被攻破,另一个物理机的登录秘钥也不会被直接泄露,保证了该另一个物理机的数据安全性。另一方面,无论第二物理机的数量为多少,第一物理机都只需要向共享存储设备发送一次数据,由共享存储设备向所有的第二物理机发送数据,避免在第二物理机的数量多时,第一物理机分别向每个第二物理机发送数据造成的第一物理机内存、带宽等资源占用高的问题。
在实际应用中,目标数据的发送过程是需要一定时间的,如第一物理机向第二物理机开始发送数据至共享存储设备获得目标数据所消耗的时长为两秒。可以理解,在共享存储设备获得完整的目标数据之前,第二物理机是无法从共享存储设备中获得该目标数据的。
为了保证第二物理机能够获得上述目标数据,作为本发明实施例的第一种实现方式;上述控制器,还可以用于在将第一命令发送给第一物理机之后,判断共享存储设备是否接收到完整的目标数据;如果是,执行将第二命令发送给每个第二物理机的步骤;如果否,间隔第一预设时长后,返回执行判断共享存储设备是否接收到完整的目标数据的步骤。
可以理解,在此实现方式中,控制器与共享存储设备通信连接,控制器将第一命令发送给第一物理机后,并没有立即将第二命令发送给第二物理机,而是判断共享存储设备是否接收到完整的目标数据,只有在共享存储设备接收到完整目标数据的情况下,控制器才会继续将第二命令发送给每个第二物理机,由于此时共享存储设备中存储有完整的目标数据,所以第二物理机可以从共享存储设备中获取到目标数据。
当判断出共享存储设备未接收到完整的目标数据时,考虑到第一物理机向共享存储设备发送目标数据需要一定的时间,所以控制器可以间隔第一预设时长后再去判断共享存储设备是否接收到完整的目标数据,如果依然为否,则再间隔第一预设时长后做上述判断,如此循环,直至共享存储设备接收到完整的目标数据。
应该说明的是,控制器判断共享存储设备是否接收到完整的目标数据,可以是控制器根据目标数据的属性信息,查询共享存储设备中是否存在完整的目标数据,例如,根据目标数据的数据大小判断共享存储设备是否接收到完整的目标数据;控制器还可以是直接询问共享存储设备,由共享存储设备判断其自身是否接收到完整的目标数据。
针对上述第一种实现方式,示例性的,目标数据的数据大小为5M(兆),该第一预设时长为1秒,控制器在将第一命令发送给第一物理机之后,判断共享存储设备接收到的目标数据的数据大小是否达到5M;假设查询到共享存储设备中目标数据的数据大小为1M,表明共享存储设备未接收到完整的目标数据;在此间隔1s后,再次执行判断共享存储设备接收到的目标数据的数据大小是否达到5M的步骤;假设查询到共享存储设备中目标数据的数据大小为5M,表明共享存储设备已接收到完整的目标数据,则控制器将第二命令发送给每个第二物理机。
作为本发明实施例的第二种实现方式,上述第一物理机,还可以用于在感知到自身完成目标数据的发送后,向控制器发送目标数据发送完成的通知信息。
上述控制器,还用于接收通知消息;在接收到通知信息后,执行上述将第二命令发送给每个第二物理机的步骤。
可以理解,在此实现方式中,控制器将第一命令发送给第一物理机后,并没有立即将第二命令发送给第二物理机,而是等待第一物理机向控制器发送通知消息,只有接收到第一物理机发送的通知消息的情况下,控制器才会继续将第二命令发送给每个第二物理机,由于此时第一物理机已将目标数据发送给共享存储设备,即共享存储设备中存储有完整的目标数据,所以第二物理机可以从共享存储设备中获取到目标数据。
第一物理机向共享存储设备发送目标数据时,其作为数据源端,很容易感知到自身是否将目标数据完全发送给共享存储设备,所以本发明实施例在此并不限定第一物理机感知自身是否完成目标数据的发送的具体实现方式。
针对上述第二种实现方式,示例性的,控制器在将第一命令发送给第一物理机之后,第一物理机开始按照第一命令,向共享存储设备发送目标数据。在发送目标数据的过程中,第一物理机实时的监控自身是否将目标数据完全发送给共享存储设备;在自身将目标数据完全发送给共享存储设备时,向控制器发送目标数据发送完成的通知信息;控制器接收到上述通知信息时,以该通知信息为触发条件,将第二命令发送给每个第二物理机。
作为本发明实施例的第三种实现方式;上述每个第二物理机,还可以用于在接收到第二命令后,判断共享存储设备中是否存在完整的目标数据;如果存在,执行按照第二命令,从共享存储设备获取目标数据的步骤;如果不存在,间隔第二预设时长后,返回执行判断共享存储设备中是否存在完整的目标数据的步骤。
与前两种实现方式不同的是,在第三种实现方式中,控制器可以同时将第一命令和第二命令分别发送给第一物理机和各个第二物理机,每个第二物理机接收到第二命令后,并不是直接从共享存储设备中获取目标数据,而是先判断共享存储设备是否接收到完整的目标数据,只有在共享存储设备接收到完整目标数据的情况下,第二物理机才会直接从共享存储设备中获取目标数据。
第二物理机判断出共享存储设备未接收到完整的目标数据时,考虑到第一物理机向共享存储设备发送目标数据需要一定的时间,所以第二物理机可以间隔第二预设时长后再去判断共享存储设备是否接收到完整的目标数据,如果依然为否,则再间隔第二预设时长后做上述判断,如此循环,直至共享存储设备接收到完整的目标数据。
应该说明的是,第二物理机判断共享存储设备是否接收到完整的目标数据,可以是第二物理机根据目标数据的属性信息,查询共享存储设备中是否存在完整的目标数据,例如,根据目标数据的数据大小判断共享存储设备是否接收到完整的目标数据;第二物理机还可以是直接询问共享存储设备,由共享存储设备判断其自身是否接收到完整的目标数据,并反馈判断结果给第二物理机。
针对上述第三种实现方式,示例性的,目标数据的数据大小为5M(兆),该第二预设时长为1秒,第二物理机在接收到第二命令时,首先判断共享存储设备接收到的目标数据的数据大小是否达到5M;假设查询到共享存储设备中目标数据的数据大小为1M,表明共享存储设备未接收到完整的目标数据;间隔1秒后,第二物理机再次执行判断共享存储设备接收到的目标数据的数据大小是否达到5M的步骤;假设查询到共享存储设备中目标数据的数据大小为5M,表明共享存储设备已接收到完整的目标数据,则第二物理机向共享存储设备发送对应于目标数据的数据下载请求,以从共享设备中获取目标数据。
上述三种确保第二物理机可以获取到目标数据的具体实现方式仅是本发明实施例提供的优选实现方式,本领域技术人员完全可以借鉴于现有技术中的其他方式实现,本发明实施例并不限定确保第二物理机可以获取到目标数据的具体实现方式。
在上述图2所示的第一系统实施例的基础上,作为本发明的第二系统实施例,上述控制器,还用于在接收到上述指令后,生成用于对目标数据进行加密的加密秘钥以及对应于加密秘钥的解密秘钥;将加密秘钥发送给第一物理机;将解密秘钥发送给各个第二物理机。
在实际应用中,控制器可以按照预设的秘钥生成规则,生成上述加密秘钥以及解密秘钥,也可以在每次获得上述指令后,随机生成上述加密秘钥以及解密秘钥。
可以理解,本发明实施例中,控制器除了生成第一命令和第二命令外,还会生成上述加密秘钥和解密秘钥,而第一命令和第二命令的生成操作可以是在加密秘钥和解密秘钥的生成操作之前或之后完成,或者两个生成操作同时完成,本发明实施例并不限定两个生成操作的前后顺序,但应保证两个生成操作都是在获得指令后执行的。
另外,控制器除了向第一物理机发送第一命令外,还向第一物理机发送上述加密秘钥,本发明实施例并不限定第一命令和加密秘钥的发送顺序,例如,控制器同时将第一命令和加密秘钥发送给第一物理机。
同理,控制器除了向第二物理机发送第二命令外,还向第二物理机发送上述解密秘钥,本发明实施例并不限定第二命令和解密秘钥的发送顺序,例如,控制器同时将第二命令和解密秘钥发送给第二物理机。
在本实施例中,上述第一物理机,还用于接收加密秘钥;采用加密秘钥加密目标数据;按照第一命令,将加密后的目标数据发送给共享存储设备。
与上述第一系统实施例不同的是,本实施例中,第一物理机在接收到上述第一命令和上述加密秘钥后,并不是直接按照第一命令,将目标数据发送给共享存储设备;而是先用所获得的加密秘钥对目标数据进行加密,然后再按照第一命令,将加密后的目标数据发送给共享存储设备,即共享存储设备中所接收到的数据为加密后的目标数据。
当然,上述加密方式可以是现有技术中常见的加密方式,本领域技术人员可以参照现有技术实现,本发明实施例在此不做详细介绍。
可以理解,共享存储设备中存储的为加密后的目标数据,而共享设备自身并不具有解密秘钥,所以即使是共享存储设备自身,也无法直接获知目标数据的数据内容。故当共享存储设备被攻破时,也不会导致共享存储设备中存储的目标数据直接暴露,即保证了目标数据的安全性。
在本实施例中,每个第二物理机,还用于接收解密秘钥;按照第二命令,从共享存储设备中获取加密后的目标数据,采用解密秘钥对加密后的目标数据进行解密,获得目标数据。
可以理解,每个第二物理机除了接收到上述第二命令外,还会接收到解密秘钥;并且,按照第二命令,第二物理机从共享存储设备中所获得的目标数据为加密后的目标数据,第二物理机并不能直接获知目标数据的数据内容,所以在获取到加密后的目标数据后,第二物理机还需要采用解密秘钥对加密后的目标数据进行解密,才能最终得到目标数据。
由以上可见,在本实施例中,除了在第一物理机和第二物理机中存在未加密的目标数据外,其他的任何设备中的目标数据都是被加密的,所以在数据拷贝的过程中,可以防止其他设备截取到目标数据以直接获得目标数据的数据内容,保证目标数据的数据安全性。
针对本实施例,示例性的,控制器首先获得控制第二物理机从第一物理机中拷贝目标数据的指令;接收到上述指令后,控制器首先随机生成加密秘钥和对应该加密秘钥的解密秘钥,然后生成将目标数据发送给共享存储设备的第一命令,以及从共享存储设备中获取目标数据的第二命令。
然后,控制器将第一命令和加密秘钥同时发送给第一物理机。第一物理机接收到第一命令以及加密秘钥后,首先将本地存储的目标数据进行加密,然后再按照第一命令,将加密后的目标数据发送给共享存储设备。在将加密后的目标数据完全发送给共享设备后,第一物理机向控制器发送目标数据发送完成的通知信息。
接收到上述通知信息后,控制器将第二命令以及解密秘钥发送给各个第二物理机。每个第二物理机接收到第二命令以及解密秘钥后,首先按照第二命令从共享存储设备中获取加密后的目标数据,然后对加密后的目标数据进行解密,即获得目标数据。
在上述第一系统实施例或者第二系统实施例的基础上,作为本发明的第三系统实施例,上述第一物理机,可以在接收到第一命令后,生成携带有目标数据以及标识信息的目标文件;按照第一命令,将目标文件发送给共享存储设备,完成将目标数据发送给共享存储设备的步骤;其中,上述标识信息包括目标数据的标识以及表明目标数据的数据源端为第一物理机、数据目的端为所有第二物理机的信息。
可以理解,在本实施例中,第一物理机在接收到第一命令后,可以在目标数据上添加一些信息,得到一个目标文件,当然,该目标文件包括完整的目标数据;本实施例中所添加的信息,即上述标识信息,需要能够标识目标数据并表明目标数据的数据源端为第一物理机、数据目的端为所有第二物理机。
例如,在本发明实施例中,可以直接对目标数据进行重命名,重命名的规则为:目标数据原文件名-数据源端的MAC地址-数据目的端的MAC地址,并且当数据目的端的物理机的数目为多个时,各个数据目的端MAC地址之间可以用预设分隔符隔开,例如分割符为“;”;更有甚者,数据数据目的端为与除数据数据源端外,控制器所通信连接的所有物理机,则此时的命名规则可以是:目标数据原文件名-数据源端的MAC地址-public。
示例性的,目标数据的原文件名为file1,数据数据源端的MAC地址为MAC1,数据数据目的端共包括两个,对应的MAC地址分别为MAC2和MAC3,则目标文件的文件名可以命名为“file1-MAC1-MAC2;MAC3”。
当然,在第二系统实施例的基础上,本实施例中还需要对上述目标文件进行加密,再将加密后的目标文件发送给共享存储设备。
在本实施例中,每个第二物理机,按照第二命令,向共享存储设备发送针对目标数据的下载请求;接收共享存储设备发送的目标文件,完成从共享存储设备获取目标数据的步骤;其中,上述下载请求中携带有目标数据的标识以及表明目标数据的数据数据源端为第一物理机、数据数据目的端包括该第二物理机的目标信息。
同理,在第二系统实施例的基础上,本实施例中的第二物理机所获得的目标文件为被加密的目标文件,故第二物理机还需要解密被加密的目标文件,才能获得该目标文件。
在本实施例中,共享存储设备,用于接收下载请求;根据目标数据的标识以及目标信息,在本地搜索出目标文件;将目标文件发送给发送下载请求的第二物理机。
可以理解,在实际应用中,共享存储设备中可能会存储有大量的数据,所以控制器需要保证第一物理机发送的目标数据能够被准确地转发给第二物理机。
在本发明实施例中,第一物理机发送过来的目标文件中携带有上述标识信息,该标识信息能够标识目标数据并表明目标数据的数据源端为第一物理机、目的端为所有第二物理机;而每个第二物理机发送过来的下载请求中携带有目标数据的标识以及表明目标数据的数据源端为第一物理机、数据目的端包括该第二物理机的目标信息;下载请求中所携带的信息可以匹配上述标识信息,所以共享存储设备可以准确地将目标数据发送给第二物理机,确保数据拷贝的准确性。
在实际应用中,同一共享存储设备可以与大量的物理机通信,而每一个物理机都可以将数据发送到共享存储设备,但是共享存储设备的存储空间是有限的,所以共享存储设备需要对物理机发送给自身的数据进行监测,再判断是否接收物理机发送过来的数据。
故在本实施例中,共享存储设备,还可以用于在第一物理机向其发送目标文件时,判断目标文件携带的标识信息所表明的数据源端是否为第一物理机,如果是,接收目标文件。
可以理解,在此处的判断结果为否时,共享存储设备不接收目标文件,以保证共享存储设备所接收到的目标文件都是用来进行数据拷贝的文件;另一方面,保证第一物理机对目标文件命名的规范性,例如,共享存储设备只有在目标文件的命名规则满足上述重命名规则的情况下,才会接收目标文件。
在实际应用中,同一共享存储设备可以与大量的物理机通信,而共享存储设备中存储的每一个文件都有其对应的数据数据目的端,即每个文件都仅能被发送给指定的物理机,所以在本发明实施例中,为了保证上述目标数据仅能被转发给指定的第二物理机,上述共享存储设备,还可以用于在接收到下载请求时,判断下载请求中的目标信息所表明的数据目的端是否包括第二物理机,如果是,再执行根据上述目标数据的标识以及目标信息,在本地搜索出目标文件的步骤。
可以理解,当共享存储设备接收到针对目标文件的下载请求中,共享存储设备首先判断目标文件所对应的数据目的端是否包括发送下载请求的物理机,如果是,则将目标文件发送给该发送下载请求的物理机,否则,拒绝将目标文件发送给该发送下载请求的物理机。因此本实施例可以保证目标文件不会被非除第二物理机外的其他设备直接从共享设备中下载获得,保证了目标文件的数据安全性。
下面通过一具体实例来对本发明进行简单介绍。
数据拷贝系统包括控制器、共享存储设备、第一物理机以及第二物理机,第一物理机以及第二物理机的MAC地址分别为MAC1和MAC2,第一物理机中存储有目标数据,其原文件名为file1。控制器首先获得控制第二物理机从第一物理机中拷贝目标数据的指令;接收到上述指令后,控制器随机生成加密秘钥和对应该加密秘钥的解密秘钥,然后生成将目标数据发送给共享存储设备的第一命令,以及从共享存储设备中获取目标数据的第二命令。
然后,控制器将第一命令和加密秘钥同时发送给第一物理机。第一物理机接收到第一命令以及加密秘钥后,首先找到本地存储的目标数据,将目标数据重新命名为:file1-MAC1-MAC2,得到目标文件,然后对目标文件进行加密,再按照第一命令,将加密后的目标文件向共享存储设备发送。
共享存储设备判断目标文件的命名规则是否符合要求,判断结果为是,所以共享存储设备接收该目标文件。在将加密后的目标文件完全发送给共享设备后,第一物理机向控制器发送目标文件发送完成的通知信息。
接收到上述通知信息后,控制器将第二命令以及解密秘钥发送给各个第二物理机。每个第二物理机接收到第二命令以及解密秘钥后,首先按照第二命令,向共享存储设备发送针对目标文件的下载请求,共享存储设备判定目标文件所对应的数据目的端即为该第二物理机,所以,共享存储设备将加密后的目标文件发送给第二物理机,第二物理机获取到加密后的目标文件,对加密后的目标文件进行解密,得到加密文件,即获得目标数据。
相应于上述图2所示的第一系统实施例,本发明实施例还提供了一种数据拷贝方法,应用于数据拷贝系统中的控制器,该系统包括共享存储设备、作为数据源端的第一物理机、至少一个作为数据目的端的第二物理机以及用以控制所述第一物理机和各个第二物理机的控制器,如图3所示,该方法包括:
S101:获得控制第二物理机从第一物理机中拷贝目标数据的指令;
S102:基于所获得的指令,生成将目标数据发送给共享存储设备的第一命令,以及从共享存储设备获取目标数据的第二命令;
S103:将第一命令发送给第一物理机,以使得第一物理机按照第一命令,将目标数据发送给共享存储设备;
S104:将第二命令发送给每个第二物理机,以使得每个第二物理机按照第二命令,从共享存储设备中获取目标数据。
作为本发明实施例的一种实现方式,在上述将第一命令发送给第一物理机(S103)的步骤之后,所述方法还可以包括:
判断共享存储设备是否接收到完整的目标数据;
如果是,执行上述将第二命令发送给每个第二物理机(S104)的步骤;
如果否,间隔第一预设时长后,返回执行上述判断共享存储设备是否接收到完整的目标数据的步骤。
作为本发明实施例的另一种实现方式,上述将第一命令发送给第一物理机(S103)的步骤之后,所述方法还可以包括:
接收第一物理机发送的、第一物理机完成目标数据发送的通知信息;在接收到该通知信息后,执行上述将第二命令发送给每个第二物理机(S104)的步骤。
与现有技术相比,本实施例提供的方案中,上述作为数据源端的第一物理机与作为数据目的端的第二物理机之间没有直接的数据通信,而是通过上述共享存储设备进行数据交互,第一物理机与第二物理机之间不需要互相保存对方的登录秘钥;所以,第一物理机与第二物理机之中,即使有一个物理机被攻破,另一个物理机的登录秘钥也不会被直接泄露,保证了该另一个物理机的数据安全性。另一方面,无论第二物理机的数量为多少,第一物理机都只需要向共享存储设备发送一次数据,由共享存储设备向所有的第二物理机发送数据,避免在第二物理机的数量多时,第一物理机分别向每个第二物理机发送数据造成的第一物理机内存、带宽等资源占用高的问题。
相应于上述第二系统实施例,在上述方法实施例的基础上,上述方法还可以包括下述步骤A~步骤C:
步骤A:在获得指令后,生成用于对目标数据进行加密的加密秘钥以及对应于加密秘钥的解密秘钥;
步骤B:将加密秘钥发送给第一物理机;以使得物理机接收到第一命令和加密秘钥后,采用加密秘钥加密述目标数据,按照第一命令,将加密后的目标数据发送给共享存储设备;
步骤C:将解密秘钥发送给各个第二物理机;以使得每个第二物理机在接收解密秘钥和第二命令后,按照第二命令,从共享存储设备中获取加密后的目标数据,采用解密秘钥对加密后的目标数据进行解密,获得目标数据。
即本实施例的数据拷贝方法,如图4所示,包括:
S201:获得控制第二物理机从第一物理机中拷贝目标数据的指令。
S202:在获得所述指令后,生成用于对所述目标数据进行加密的加密秘钥以及对应于所述加密秘钥的解密秘钥。
S203:基于所获得的指令,生成将目标数据发送给共享存储设备的第一命令,以及从共享存储设备获取目标数据的第二命令。
S204:将第一命令发送给第一物理机。
S205:将所述加密秘钥发送给所述第一物理机;以使得所述物理机接收到所述第一命令和所述加密秘钥后,采用所述加密秘钥加密所述目标数据,按照所述第一命令,将加密后的所述目标数据发送给所述共享存储设备。
S206:将第二命令发送给每个第二物理机。
S207:将所述解密秘钥发送给各个第二物理机;以使得每个第二物理机在接收所述解密秘钥和所述第二命令后,按照所述第二命令,从所述共享存储设备中获取加密后的所述目标数据,采用所述解密秘钥对加密后的所述目标数据进行解密,获得所述目标数据。
由以上可见,在本实施例中,除了在第一物理机和第二物理机中存在未加密的目标数据外,其他的任何设备中的目标数据都是被加密的,所以在数据拷贝的过程中,可以防止其他设备截取到目标数据以直接获得目标数据的数据内容,保证目标数据的数据安全性。
相应于上述图2所示的第一系统实施例和图3所示的方法实施例,本发明实施例还提供了一种数据拷贝装置,应用于数据拷贝系统中的控制器,该系统包括共享存储设备、作为数据源端的第一物理机、至少一个作为数据目的端的第二物理机以及用以控制所述第一物理机和各个第二物理机的控制器。
如图5所示,所述装置包括:
获得模块110,用于获得将第一物理机中的目标数据拷贝给第二物理机的指令;
第一生成模块120,用于基于所述指令,生成将目标数据发送给共享存储设备的第一命令,以及从所述共享存储设备中获取所述目标数据的第二命令;
第一发送模块130,用于将所述第一命令发送给所述第一物理机,以使得所述第一物理机按照所述第一命令,将所述目标数据发送给所述共享存储设备;
第二发送模块140,用于将所述第二命令发送给每个第二物理机;以使得每个第二物理机按照所述第二命令,从所述共享存储设备中获取所述目标数据。
在实际应用中,作为本发明实施例的一种实现方式,所述装置还可以包括:
判断模块,用于在所述将所述第一命令发送给所述第一物理机之后,判断所述共享存储设备是否接收到完整的所述目标数据;如果是,触发所述第二发送模块;如果否,间隔第一预设时长后,返回执行所述判断所述共享存储设备是否接收到完整的所述目标数据的步骤。
作为本发明实施例的另一种实现方式,所述装置还可以包括:
接收模块,用于在将所述第一命令发送给所述第一物理机之后,接收所述第一物理机发送的、所述第一物理机完成所述目标数据发送的通知信息;在接收到所述通知信息后,触发所述第二发送模块。
与现有技术相比,本实施例提供的方案中,上述作为数据源端的第一物理机与作为数据目的端的第二物理机之间没有直接的数据通信,而是通过上述共享存储设备进行数据交互,第一物理机与第二物理机之间不需要互相保存对方的登录秘钥;所以,第一物理机与第二物理机之中,即使有一个物理机被攻破,另一个物理机的登录秘钥也不会被直接泄露,保证了该另一个物理机的数据安全性。另一方面,无论第二物理机的数量为多少,第一物理机都只需要向共享存储设备发送一次数据,由共享存储设备向所有的第二物理机发送数据,避免在第二物理机的数量多时,第一物理机分别向每个第二物理机发送数据造成的第一物理机内存、带宽等资源占用高的问题。
相应于上述第二系统实施例以及图4所示的方法实施例,在上图5所示述装置实施例的基础上,如图6所示,所述装置还可以包括:
第二生成模块150,用于在获得所述指令后,生成用于对所述目标数据进行加密的加密秘钥以及对应于所述加密秘钥的解密秘钥;
第三发送模块160,用于将所述加密秘钥发送给所述第一物理机;以使得所述物理机接收到所述第一命令和所述加密秘钥后,采用所述加密秘钥加密所述目标数据,按照所述第一命令,将加密后的所述目标数据发送给所述共享存储设备;
第四发送模块170,用于将所述解密秘钥发送给各个第二物理机;以使得每个第二物理机在接收所述解密秘钥和所述第二命令后,按照所述第二命令,从所述共享存储设备中获取加密后的所述目标数据,采用所述解密秘钥对加密后的所述目标数据进行解密,获得所述目标数据。
由以上可见,在本实施例中,除了在第一物理机和第二物理机中存在未加密的目标数据外,其他的任何设备中的目标数据都是被加密的,所以在数据拷贝的过程中,可以防止其他设备截取到目标数据以直接获得目标数据的数据内容,保证目标数据的数据安全性。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,实现如下步骤:
获得控制第二物理机从第一物理机中拷贝目标数据的指令;
基于所获得的指令,生成将目标数据发送给共享存储设备的第一命令,以及从共享存储设备获取目标数据的第二命令;
将第一命令发送给第一物理机,以使得第一物理机按照第一命令,将目标数据发送给共享存储设备;
将第二命令发送给每个第二物理机,以使得每个第二物理机按照第二命令,从共享存储设备中获取目标数据。
关于该方法各个步骤的具体实现以及相关解释内容可以参见上述的方法实施例对应的系统实施例,在此不做赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
与现有技术相比,本施例提供的方案中,上述作为数据源端的第一物理机与作为数据目的端的第二物理机之间没有直接的数据通信,而是通过上述共享存储设备进行数据交互,第一物理机与第二物理机之间不需要互相保存对方的登录秘钥;所以,第一物理机与第二物理机之中,即使有一个物理机被攻破,另一个物理机的登录秘钥也不会被直接泄露,保证了该另一个物理机的数据安全性。另一方面,无论第二物理机的数量为多少,第一物理机都只需要向共享存储设备发送一次数据,由共享存储设备向所有的第二物理机发送数据,避免在第二物理机的数量多时,第一物理机分别向每个第二物理机发送数据造成的第一物理机内存、带宽等资源占用高的问题。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据拷贝方法。
与现有技术相比,本施例提供的方案中,上述作为数据源端的第一物理机与作为数据目的端的第二物理机之间没有直接的数据通信,而是通过上述共享存储设备进行数据交互,第一物理机与第二物理机之间不需要互相保存对方的登录秘钥;所以,第一物理机与第二物理机之中,即使有一个物理机被攻破,另一个物理机的登录秘钥也不会被直接泄露,保证了该另一个物理机的数据安全性。另一方面,无论第二物理机的数量为多少,第一物理机都只需要向共享存储设备发送一次数据,由共享存储设备向所有的第二物理机发送数据,避免在第二物理机的数量多时,第一物理机分别向每个第二物理机发送数据造成的第一物理机内存、带宽等资源占用高的问题。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法、装置、电子设备以及计算机存储设备实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见系统实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (18)
1.一种数据拷贝系统,其特征在于,所述系统包括共享存储设备、作为数据源端的第一物理机、作为数据目的端的第二物理机以及用以控制所述第一物理机和各个第二物理机的控制器;
所述控制器,用于获得控制第二物理机从所述第一物理机中拷贝目标数据的指令;基于所述指令,生成将目标数据发送给共享存储设备的第一命令,以及从所述共享存储设备中获取所述目标数据的第二命令;将所述第一命令发送给所述第一物理机;将所述第二命令发送给每个第二物理机;
所述第一物理机,用于接收所述第一命令;按照所述第一命令,将所述目标数据发送给所述共享存储设备;
每个第二物理机,用于接收所述第二命令;按照所述第二命令,从所述共享存储设备中获取所述目标数据。
2.根据权利要求1所述的系统,其特征在于,
所述控制器,还用于在接收到所述指令后,生成用于对所述目标数据进行加密的加密秘钥以及对应于所述加密秘钥的解密秘钥;将所述加密秘钥发送给所述第一物理机;将所述解密秘钥发送给各个第二物理机;
所述第一物理机,接收所述加密秘钥;采用所述加密秘钥加密所述目标数据;按照所述第一命令,将加密后的所述目标数据发送给所述共享存储设备;
每个第二物理机,接收所述解密秘钥;按照所述第二命令,从所述共享存储设备中获取加密后的所述目标数据,采用所述解密秘钥对加密后的所述目标数据进行解密,获得所述目标数据。
3.根据权利要求1所述的系统,其特征在于,
所述控制器,还用于在将所述第一命令发送给所述第一物理机之后,判断所述共享存储设备是否接收到完整的所述目标数据;如果是,执行所述将所述第二命令发送给每个第二物理机的步骤;如果否,间隔第一预设时长后,返回执行所述判断所述共享存储设备是否接收到完整的所述目标数据的步骤。
4.根据权利要求1所述的系统,其特征在于,
所述第一物理机,还用于在感知到自身完成所述目标数据的发送后,向所述控制器发送所述目标数据发送完成的通知信息;
所述控制器,还用于接收所述通知消息;在接收到所述通知信息后,执行所述将所述第二命令发送给每个第二物理机的步骤。
5.根据权利要求1所述的系统,其特征在于,
每个第二物理机,还用于在接收到所述第二命令后,判断所述共享存储设备中是否存在完整的所述目标数据;如果存在,执行所述按照所述第二命令,从所述共享存储设备获取所述目标数据的步骤;如果不存在,间隔第二预设时长后,返回执行所述判断所述共享存储设备中是否存在完整的所述目标数据的步骤。
6.根据权利要求1~5任一项所述的系统,其特征在于,
所述第一物理机,在接收到所述第一命令后,生成携带有所述目标数据以及标识信息的目标文件;按照所述第一命令,将所述目标文件发送给所述共享存储设备,完成将所述目标数据发送给所述共享存储设备的步骤;其中,所述标识信息包括所述目标数据的标识以及表明所述目标数据的数据源端为所述第一物理机、数据目的端为所有第二物理机的信息;
每个第二物理机,按照所述第二命令,向所述共享存储设备发送针对所述目标数据的下载请求;接收所述共享存储设备发送的所述目标文件,完成从所述共享存储设备获取所述目标数据的步骤;其中,所述下载请求中携带有所述目标数据的标识以及表明所述目标数据的数据源端为所述第一物理机、数据目的端包括该第二物理机的目标信息;
所述共享存储设备,用于接收所述下载请求;根据所述目标数据的标识以及所述目标信息,在本地搜索出所述目标文件;将所述目标文件发送给发送所述下载请求的第二物理机。
7.根据权利要求6所述的系统,其特征在于,
所述共享存储设备,还用于在所述第一物理机向其发送所述目标文件时,判断所述目标文件携带的标识信息所表明的数据源端是否为所述第一物理机,如果是,接收所述目标文件。
8.根据权利要求6所述的系统,其特征在于,
所述共享存储设备,还用于在接收到所述下载请求时,判断所述下载请求中的目标信息所表明的数据目的端是否包括所述第二物理机,如果是,再执行所述根据所述目标数据的标识以及所述目标信息,在本地搜索出所述目标文件的步骤。
9.一种数据拷贝方法,其特征在于,应用于数据拷贝系统中的控制器,所述系统包括共享存储设备、作为数据源端的第一物理机、作为数据目的端的第二物理机以及用以控制所述第一物理机和各个第二物理机的控制器,所述方法包括:
获得控制第二物理机从所述第一物理机中拷贝目标数据的指令;
基于所述指令,生成将目标数据发送给共享存储设备的第一命令,以及从所述共享存储设备中获取所述目标数据的第二命令;
将所述第一命令发送给所述第一物理机,以使得所述第一物理机按照所述第一命令,将所述目标数据发送给所述共享存储设备;
将所述第二命令发送给每个第二物理机,以使得每个第二物理机按照所述第二命令,从所述共享存储设备中获取所述目标数据。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在获得所述指令后,生成用于对所述目标数据进行加密的加密秘钥以及对应于所述加密秘钥的解密秘钥;
将所述加密秘钥发送给所述第一物理机;以使得所述物理机接收到所述第一命令和所述加密秘钥后,采用所述加密秘钥加密所述目标数据,按照所述第一命令,将加密后的所述目标数据发送给所述共享存储设备;
将所述解密秘钥发送给各个第二物理机;以使得每个第二物理机在接收所述解密秘钥和所述第二命令后,按照所述第二命令,从所述共享存储设备中获取加密后的所述目标数据,采用所述解密秘钥对加密后的所述目标数据进行解密,获得所述目标数据。
11.根据权利要求9所述的方法,其特征在于,在所述将所述第一命令发送给所述第一物理机的步骤之后,所述方法还包括:
判断所述共享存储设备是否接收到完整的所述目标数据;
如果是,执行所述将所述第二命令发送给每个第二物理机的步骤;
如果否,间隔第一预设时长后,返回执行所述判断所述共享存储设备是否接收到完整的所述目标数据的步骤。
12.根据权利要求9所述的方法,在所述将所述第一命令发送给所述第一物理机的步骤之后,所述方法还包括:
接收所述第一物理机发送的、所述第一物理机完成所述目标数据发送的通知信息;在接收到所述通知信息后,执行所述将所述第二命令发送给每个第二物理机的步骤。
13.一种数据拷贝装置,其特征在于,应用于数据拷贝系统中的控制器,所述系统包括共享存储设备、作为数据源端的第一物理机、作为数据目的端的第二物理机以及用以控制所述第一物理机和各个第二物理机的控制器,所述装置包括:
获得模块,用于获得将第一物理机中的目标数据拷贝给第二物理机的指令;
第一生成模块,用于基于所述指令,生成将目标数据发送给共享存储设备的第一命令,以及从所述共享存储设备中获取所述目标数据的第二命令;
第一发送模块,用于将所述第一命令发送给所述第一物理机,以使得所述第一物理机按照所述第一命令,将所述目标数据发送给所述共享存储设备;
第二发送模块,用于将所述第二命令发送给每个第二物理机;以使得每个第二物理机按照所述第二命令,从所述共享存储设备中获取所述目标数据。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二生成模块,用于在获得所述指令后,生成用于对所述目标数据进行加密的加密秘钥以及对应于所述加密秘钥的解密秘钥;
第三发送模块,用于将所述加密秘钥发送给所述第一物理机;以使得所述物理机接收到所述第一命令和所述加密秘钥后,采用所述加密秘钥加密所述目标数据,按照所述第一命令,将加密后的所述目标数据发送给所述共享存储设备;
第四发送模块,用于将所述解密秘钥发送给各个第二物理机;以使得每个第二物理机在接收所述解密秘钥和所述第二命令后,按照所述第二命令,从所述共享存储设备中获取加密后的所述目标数据,采用所述解密秘钥对加密后的所述目标数据进行解密,获得所述目标数据。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:
判断模块,用于在所述将所述第一命令发送给所述第一物理机之后,判断所述共享存储设备是否接收到完整的所述目标数据;如果是,触发所述第二发送模块;如果否,间隔第一预设时长后,返回执行所述判断所述共享存储设备是否接收到完整的所述目标数据的步骤。
16.根据权利要求13所述的装置,所述装置还包括:
接收模块,用于在将所述第一命令发送给所述第一物理机之后,接收所述第一物理机发送的、所述第一物理机完成所述目标数据发送的通知信息;在接收到所述通知信息后,触发所述第二发送模块。
17.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求9-12任一所述的方法步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求9-12任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710399811.7A CN108573162A (zh) | 2017-05-31 | 2017-05-31 | 数据拷贝系统、方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710399811.7A CN108573162A (zh) | 2017-05-31 | 2017-05-31 | 数据拷贝系统、方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108573162A true CN108573162A (zh) | 2018-09-25 |
Family
ID=63576064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710399811.7A Pending CN108573162A (zh) | 2017-05-31 | 2017-05-31 | 数据拷贝系统、方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108573162A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495982A (zh) * | 2018-12-14 | 2019-03-19 | 锐迪科微电子科技(上海)有限公司 | 通信方法及装置、可读存储介质 |
CN113472715A (zh) * | 2020-03-30 | 2021-10-01 | 中国联合网络通信集团有限公司 | 数据传输方法和装置 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247316A (zh) * | 2007-02-13 | 2008-08-20 | 中国移动通信集团公司 | 一种通信终端的数据共享方法 |
US20090006771A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Digital data management using shared memory pool |
CN101764834A (zh) * | 2008-12-24 | 2010-06-30 | 中国移动通信集团公司 | 一种群组中共享文件的方法、用户终端及系统 |
CN101841425A (zh) * | 2009-12-25 | 2010-09-22 | 创新科存储技术有限公司 | 一种无代理的网络备份方法、装置和系统 |
CN102419770A (zh) * | 2011-11-23 | 2012-04-18 | 中兴通讯股份有限公司 | 文件共享系统及实现文件共享的方法、文件索引服务设备 |
CN103024041A (zh) * | 2012-12-13 | 2013-04-03 | 曙光云计算技术有限公司 | 云计算系统中的数据共享方法 |
CN103685532A (zh) * | 2013-12-20 | 2014-03-26 | 代玉松 | 一种基于云服务的企业间数据传输时安全保障系统及方法 |
CN103744618A (zh) * | 2013-12-20 | 2014-04-23 | 金蝶软件(中国)有限公司 | 实现团队共享存储的方法及系统 |
CN104410615A (zh) * | 2014-11-20 | 2015-03-11 | 北京奇虎科技有限公司 | 对共享数据进行访问的方法、客户端、服务器及系统 |
CN104935634A (zh) * | 2015-04-27 | 2015-09-23 | 南京大学 | 基于分布共享存储的移动设备数据共享方法 |
CN104980477A (zh) * | 2014-04-14 | 2015-10-14 | 航天信息股份有限公司 | 云存储环境下的数据访问控制方法和系统 |
CN105450693A (zh) * | 2014-08-22 | 2016-03-30 | 鸿富锦精密工业(深圳)有限公司 | 基于云计算的数据备份控制系统及方法 |
CN106487894A (zh) * | 2016-10-13 | 2017-03-08 | 安徽鼎集信息科技有限公司 | 一种数据共享平台 |
CN106612306A (zh) * | 2015-10-22 | 2017-05-03 | 中兴通讯股份有限公司 | 虚拟机的数据共享方法及装置 |
-
2017
- 2017-05-31 CN CN201710399811.7A patent/CN108573162A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247316A (zh) * | 2007-02-13 | 2008-08-20 | 中国移动通信集团公司 | 一种通信终端的数据共享方法 |
US20090006771A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Digital data management using shared memory pool |
CN101764834A (zh) * | 2008-12-24 | 2010-06-30 | 中国移动通信集团公司 | 一种群组中共享文件的方法、用户终端及系统 |
CN101841425A (zh) * | 2009-12-25 | 2010-09-22 | 创新科存储技术有限公司 | 一种无代理的网络备份方法、装置和系统 |
CN102419770A (zh) * | 2011-11-23 | 2012-04-18 | 中兴通讯股份有限公司 | 文件共享系统及实现文件共享的方法、文件索引服务设备 |
CN103024041A (zh) * | 2012-12-13 | 2013-04-03 | 曙光云计算技术有限公司 | 云计算系统中的数据共享方法 |
CN103685532A (zh) * | 2013-12-20 | 2014-03-26 | 代玉松 | 一种基于云服务的企业间数据传输时安全保障系统及方法 |
CN103744618A (zh) * | 2013-12-20 | 2014-04-23 | 金蝶软件(中国)有限公司 | 实现团队共享存储的方法及系统 |
CN104980477A (zh) * | 2014-04-14 | 2015-10-14 | 航天信息股份有限公司 | 云存储环境下的数据访问控制方法和系统 |
CN105450693A (zh) * | 2014-08-22 | 2016-03-30 | 鸿富锦精密工业(深圳)有限公司 | 基于云计算的数据备份控制系统及方法 |
CN104410615A (zh) * | 2014-11-20 | 2015-03-11 | 北京奇虎科技有限公司 | 对共享数据进行访问的方法、客户端、服务器及系统 |
CN104935634A (zh) * | 2015-04-27 | 2015-09-23 | 南京大学 | 基于分布共享存储的移动设备数据共享方法 |
CN106612306A (zh) * | 2015-10-22 | 2017-05-03 | 中兴通讯股份有限公司 | 虚拟机的数据共享方法及装置 |
CN106487894A (zh) * | 2016-10-13 | 2017-03-08 | 安徽鼎集信息科技有限公司 | 一种数据共享平台 |
Non-Patent Citations (1)
Title |
---|
吴晨涛: "《信息存储与IT管理》", 30 September 2015 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495982A (zh) * | 2018-12-14 | 2019-03-19 | 锐迪科微电子科技(上海)有限公司 | 通信方法及装置、可读存储介质 |
CN109495982B (zh) * | 2018-12-14 | 2020-12-18 | 锐迪科微电子科技(上海)有限公司 | 通信方法及装置、可读存储介质 |
US11601815B2 (en) | 2018-12-14 | 2023-03-07 | Rda Microelectronics Technologies (Shanghai) Co., Ltd. | Method and device for communication, and readable storage medium |
CN113472715A (zh) * | 2020-03-30 | 2021-10-01 | 中国联合网络通信集团有限公司 | 数据传输方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9674157B2 (en) | Secure network communication | |
EP3293934A1 (en) | Cloud storage method and system | |
KR20150141362A (ko) | 네트워크 노드 및 네트워크 노드의 동작 방법 | |
JP2009010470A (ja) | 端末装置、グループ管理サーバ、ネットワーク通信システム、並びに暗号化鍵生成方法 | |
WO2004034220A2 (en) | Method and system for sharing storage space on a computer | |
EP3479540A1 (en) | Multi-hop secure content routing based on cryptographic partial blind signatures and embedded terms | |
CN105871805A (zh) | 防盗链的方法及装置 | |
EP3041188B1 (en) | Method, device and system for controlling presentation of application | |
CN108573162A (zh) | 数据拷贝系统、方法及装置 | |
CN104618390A (zh) | 网站数据反馈方法、显示方法及系统、处理系统 | |
CN108509799A (zh) | 一种模板文档获取方法、装置及系统 | |
CN114499836A (zh) | 一种密钥管理方法、装置、计算机设备及可读存储介质 | |
CN109450849B (zh) | 一种基于区块链的云服务器组网方法 | |
CN108881257B (zh) | 分布式搜索集群加密传输方法及加密传输分布式搜索集群 | |
CN116166749A (zh) | 数据共享方法、装置、电子设备及存储介质 | |
JP6939313B2 (ja) | 分散認証システム | |
JP2006345160A (ja) | 情報通信システム | |
CN115834113A (zh) | Ot通信方法、装置、电子设备和存储介质 | |
CN114329596A (zh) | 一种物联网设备的固件更新方法、装置及系统 | |
CN111343150A (zh) | 一种基于区块链的交易数据传输方法、系统及相关组件 | |
CN111181831A (zh) | 通信数据处理方法和装置、存储介质及电子装置 | |
CN104717235A (zh) | 一种虚拟机资源检测方法 | |
CN114389825B (zh) | 一种基于区块链的数据通信方法和相关装置 | |
CN109769004B (zh) | 基于保留格式加密的匿名通信方法、设备及系统 | |
CN113783847B (zh) | 消息交互方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180925 |
|
RJ01 | Rejection of invention patent application after publication |