CN117077218B - 一种多中心医疗机构镜像的同步方法、装置、介质及设备 - Google Patents
一种多中心医疗机构镜像的同步方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN117077218B CN117077218B CN202311285990.3A CN202311285990A CN117077218B CN 117077218 B CN117077218 B CN 117077218B CN 202311285990 A CN202311285990 A CN 202311285990A CN 117077218 B CN117077218 B CN 117077218B
- Authority
- CN
- China
- Prior art keywords
- image
- mirror image
- file
- warehouse
- end processor
- 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 76
- 230000001360 synchronised effect Effects 0.000 claims abstract description 91
- 238000004590 computer program Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000006872 improvement Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000011160 research Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本说明书公开了一种多中心医疗机构镜像的同步方法、装置、介质及电子设备,响应于将待同步镜像同步给第二前置机的请求,获取待同步镜像的镜像组成清单文件,镜像组成清单文件中包括组成待同步镜像的各镜像层文件的文件标识,根据文件标识,通过第一前置机中的第二镜像仓库,将各镜像层文件上传至第一镜像仓库,使用第二前置机对应的加密方式,对镜像组成清单文件进行加密,将加密后的镜像组成清单文件上传至第一镜像仓库,以使第二前置机通过第二前置机中的第二镜像仓库,获取第一镜像仓库中的加密后的镜像组成清单文件,对加密后的镜像组成清单文件进行解密,并从第一镜像仓库中同步待同步镜像。该方法保证了镜像同步过程中的安全性与隐私性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种多中心医疗机构镜像的同步方法、装置、介质及设备。
背景技术
随着科技的飞速发展,数据以及信息保护愈发受到大众的关注。目前,在医疗领域,在进行医学研究时,基于多中心医疗机构的医学研究方式应用广泛。一般的,多中心医疗机构对应的数据传输系统中包括一个中心机以及多个前置机,也即在该系统中,在云端部署有一个中心机,以及在多个医疗机构分别部署有前置机,中心机与前置机可通过电信运营商的专线通信,且中心机可以与多个医疗机构的前置机通信,以实现多个医疗机构共同进行医学研究的目的。
在Registry的推动下,使得基于多中心医疗机构的医学研究更为便利。当某两个医疗机构的前置机之间进行镜像的推送时,作为发送端的前置机中的镜像仓库要先将镜像推送到中心机上的镜像仓库,进而使得作为接收端的前置机中的镜像仓库对该镜像进行拉取下载,但是,由于Registry对用户不隔离,也即当作为发送端的前置机中的镜像仓库将镜像推送到中心机上的镜像仓库之后,该多中心医疗机构中的其他医疗机构的前置机上的镜像仓库也可以拉取该镜像,从而丢失了镜像同步过程中的安全性和隐私性。
基于此,本申请说明书提供了基于Registry的一种多中心医疗机构镜像的同步方法。
发明内容
本说明书提供一种多中心医疗机构镜像的同步方法、装置、介质及设备,以至少部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种多中心医疗机构镜像的同步方法,多中心医疗机构对应的数据传输系统中包括多个前置机,一个中心机,所述中心机部署于云端,所述多个前置机分别部署于多个医疗机构,所述中心机中有预先构建的第一镜像仓库,所述多个前置机中分别有预先构建的第二镜像仓库,所述方法应用于第一前置机,所述第一前置机为多中心医疗机构中作为镜像发送端的前置机,所述方法包括:
响应于将待同步镜像同步给第二前置机的同步请求,获取所述待同步镜像的镜像组成清单文件;其中,所述镜像组成清单文件中包括组成所述待同步镜像的各镜像层文件的文件标识;所述第二前置机为多中心医疗机构中作为镜像接收端的前置机;
根据所述镜像组成清单文件中的各镜像层文件的文件标识,通过所述第一前置机中的第二镜像仓库,将组成所述待同步镜像的各镜像层文件上传至所述第一镜像仓库;
使用所述第二前置机对应的加密方式,对所述镜像组成清单文件进行加密;
将加密后的镜像组成清单文件上传至所述第一镜像仓库,以使所述第二前置机通过所述第二前置机中的第二镜像仓库,获取所述第一镜像仓库中的加密后的镜像组成清单文件,并对所述加密后的镜像组成清单文件进行解密,并基于解密后的镜像组成清单文件从所述第一镜像仓库中同步所述待同步镜像。
可选地,所述第一镜像仓库有多个;
根据所述镜像组成清单文件中的各镜像层文件的文件标识,通过所述第一前置机中的第二镜像仓库,将组成所述待同步镜像的各镜像层文件上传至所述第一镜像仓库,具体包括:
针对每个镜像层文件,根据该镜像层文件的文件标识以及所述第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识;
根据确定出的各仓库标识,通过所述第一前置机中的第二镜像仓库,将组成所述待同步镜像的各镜像层文件上传至所述第一镜像仓库。
可选地,根据该镜像层文件的文件标识以及所述第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识,具体包括:
使用该镜像层文件的文件标识对所述总数量进行取模,得到取模结果;
根据所述取模结果,确定该镜像层文件所存储的第一镜像仓库的仓库标识。
可选地,使用所述第二前置机对应的加密方式,对所述镜像组成清单文件进行加密,具体包括:
使用所述第二前置机对应的公钥,对所述镜像组成清单文件进行加密,其中,所述公钥是预先从所述中心机获取的。
本说明书提供了一种多中心医疗机构镜像的同步方法,多中心医疗机构对应的数据传输系统中包括多个前置机,一个中心机,所述中心机部署于云端,所述多个前置机分别部署于多个医疗机构,所述中心机中有预先构建的第一镜像仓库,所述多个前置机中分别有预先构建的第二镜像仓库,所述方法应用于第二前置机,所述第二前置机为多中心医疗机构中作为镜像接收端的前置机,所述方法包括:
获取所述中心机中的待同步镜像的加密后的镜像组成清单文件;其中,所述镜像组成清单文件中包括组成所述待同步镜像的各镜像层文件的文件标识;
对所述加密后的镜像组成清单文件进行解密处理,得到解密后的镜像组成清单文件;
解析所述解密后的镜像组成清单文件,得到组成所述待同步的镜像的各镜像层文件的文件标识;
根据得到的各镜像层文件的文件标识,通过所述第二前置机中的第二镜像仓库从所述第一镜像仓库中同步组成所述待同步镜像的各镜像层文件。
对所述加密后的镜像组成清单文件进行解密处理,具体包括:
使用所述第二前置机对应的私钥对所述镜像组成清单文件进行解密。
可选地,所述第一镜像仓库有多个;
根据得到的各镜像层文件的文件标识,通过镜像接收端的前置机中的第二镜像仓库从所述第一镜像仓库中同步组成所述待同步镜像的各镜像层文件,具体包括:
针对每个镜像层文件,根据该镜像层文件的文件标识以及所述第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识;
根据确定出的各仓库标识以及所述文件标识,通过镜像接收端的前置机中的第二镜像仓库从所述第一镜像仓库中同步组成所述待同步镜像的各镜像层文件。
可选地,根据该镜像层文件的文件标识以及所述第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识,具体包括:
使用该镜像层文件的文件标识对所述总数量进行取模,得到取模结果;
根据所述取模结果,确定该镜像层文件所存储的第一镜像仓库的仓库标识。
可选地,所述待同步镜像包括Docker镜像;所述第一镜像仓库以及所述第二镜像仓库是基于Docker中的Registry构建的。
本说明书提供了一种多中心医疗机构镜像的同步装置,多中心医疗机构对应的数据传输系统中包括多个前置机,一个中心机,所述中心机部署于云端,所述多个前置机分别部署于多个医疗机构,所述中心机中有预先构建的第一镜像仓库,所述多个前置机中分别有预先构建的第二镜像仓库,所述装置位于第一前置机中,所述第一前置机为多中心医疗机构中作为镜像发送端的前置机,所述装置包括:
响应模块,用于响应于将待同步镜像同步给第二前置机的同步请求,获取所述待同步镜像的镜像组成清单文件;其中,所述镜像组成清单文件中包括组成所述待同步镜像的各镜像层文件的文件标识;所述第二前置机为多中心医疗机构中作为镜像接收端的前置机;
第一上传模块,用于根据所述镜像组成清单文件中的各镜像层文件的文件标识,通过所述第一前置机中的第二镜像仓库,将组成所述待同步镜像的各镜像层文件上传至所述第一镜像仓库;
加密模块,用于使用所述第二前置机对应的加密方式,对所述镜像组成清单文件进行加密;
第二上传模块,用于将加密后的镜像组成清单文件上传至所述第一镜像仓库,以使所述第二前置机通过所述第二前置机中的第二镜像仓库,获取所述第一镜像仓库中的加密后的镜像组成清单文件,并对所述加密后的镜像组成清单文件进行解密,并基于解密后的镜像组成清单文件从所述第一镜像仓库中同步所述待同步镜像。
可选地,所述第一镜像仓库有多个;
所述第一上传模块具体用于,针对每个镜像层文件,根据该镜像层文件的文件标识以及所述第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识;根据确定出的各仓库标识,通过所述第一前置机中的第二镜像仓库,将组成所述待同步镜像的各镜像层文件上传至所述第一镜像仓库。
可选地,所述第一上传模块具体用于,使用该镜像层文件的文件标识对所述总数量进行取模,得到取模结果;根据所述取模结果,确定该镜像层文件所存储的第一镜像仓库的仓库标识。
可选地,所述加密模块具体用于,使用所述第二前置机对应的公钥,对所述镜像组成清单文件进行加密,其中,所述公钥是预先从所述中心机获取的。
本说明书提供了一种多中心医疗机构镜像的同步装置,多中心医疗机构对应的数据传输系统中包括多个前置机,一个中心机,所述中心机部署于云端,所述多个前置机分别部署于多个医疗机构,所述中心机中有预先构建的第一镜像仓库,所述多个前置机中分别有预先构建的第二镜像仓库,所述装置位于第二前置机中,所述第二前置机为多中心医疗机构中作为镜像接收端的前置机,所述装置包括:
获取模块,用于获取所述中心机中的待同步镜像的加密后的镜像组成清单文件;其中,所述镜像组成清单文件中包括组成所述待同步镜像的各镜像层文件的文件标识;
解密模块,用于对所述加密后的镜像组成清单文件进行解密处理,得到解密后的镜像组成清单文件;
解析模块,用于解析所述解密后的镜像组成清单文件,得到组成所述待同步的镜像的各镜像层文件的文件标识;
同步模块,用于根据得到的各镜像层文件的文件标识,通过所述第二前置机中的第二镜像仓库从所述第一镜像仓库中同步组成所述待同步镜像的各镜像层文件。
可选地,所述解密模块具体用于,使用所述第二前置机对应的私钥对所述镜像组成清单文件进行解密。
可选地,所述第一镜像仓库有多个;
所述同步模块具体用于,针对每个镜像层文件,根据该镜像层文件的文件标识以及所述第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识;根据确定出的各仓库标识以及所述文件标识,通过镜像接收端的前置机中的第二镜像仓库从所述第一镜像仓库中同步组成所述待同步镜像的各镜像层文件。
可选地,所述同步模块具体用于,使用该镜像层文件的文件标识对所述总数量进行取模,得到取模结果;根据所述取模结果,确定该镜像层文件所存储的第一镜像仓库的仓库标识。
可选地,所述待同步镜像包括Docker镜像;所述第一镜像仓库以及所述第二镜像仓库是基于Docker中的Registry构建的。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述多中心医疗机构镜像的同步方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述多中心医疗机构镜像的同步方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的多中心医疗机构镜像的同步方法中可以看出,作为镜像发送端的前置机将待同步镜像同步给作为镜像接收端的前置机时,作为镜像发送端的前置机使用作为镜像接收端的前置机对应的加密方式对待同步镜像的镜像文件组成清单进行加密,并将加密后的镜像文件组成清单以及镜像层文件上传到中心机中的第一仓库,以使作为镜像接收端的前置机可以从第一镜像仓库中获取待同步镜像的镜像文件组成清单并进行解密,以基于解密后的镜像文件组成清单从第一镜像仓库中进行待同步镜像的同步。通过使用作为镜像接收端的前置机对应的加密方式对待同步镜像的镜像文件组成清单进行加密,使得其他前置机无法解密待同步镜像的镜像文件组成清单,也即无法得知构成待同步镜像的镜像层文件的文件标识,因此其他前置机无法对待同步镜像进行同步,保证了镜像同步过程中的安全性与隐私性。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中一种多中心医疗机构镜像的同步方法的流程示意图;
图2为本说明书中一种多中心医疗机构镜像的同步方法的流程示意图;
图3为本说明书提供的一种多中心医疗机构镜像的同步装置示意图;
图4为本说明书提供的一种多中心医疗机构镜像的同步装置示意图;
图5为本说明书提供的对应于图1以及图2的电子设备示意图。
具体实施方式
一般的,多中心医疗机构对应的数据传输系统中包括一个中心机以及多个前置机,也即在该系统中部署一个中心机,该中心机位于云端,该中心机可为云服务器,以及在多个医疗机构分别部署前置机,也即一个医疗机构对应部署一个前置机。通过电信运营商的专线通信,中心机可以与多个医疗机构的前置机进行通信,进行数据的传输,实现多个医疗机构共同进行医学研究的目的。
进一步的,在Docker技术的推动下,使得基于多中心医疗机构的医学研究更为便利。Docker技术可以让研发人员打包应用和依赖包到一个可移植的容器中,然后发布到不同操作系统(如Linux、Windows)的机器上,极大地简化了应用软件的开发和部署流程,节省了应用系统的运维成本。Docker以镜像的形式封装应用和依赖环境,开发者可以从公共的镜像仓库中下载需要的镜像进行开发。其中,Registry是Docker原生的私有镜像仓库技术,可用于在局域网中对容器镜像进行管理。在本说明书中,多中心医疗机构框架中的中心机上有预先构建的第一镜像仓库,多个前置机中分别有预先构建的第二镜像仓库。当某两个医疗机构的前置机之间进行镜像的推送时,作为发送端的前置机中的镜像仓库要先将镜像推送到中心机上的镜像仓库,进而使得作为接收端的前置机中的镜像仓库对该镜像进行拉取下载,为基于多中心医疗机构的医学研究增加了便利。
但是,由于Registry对用户不隔离,也即当作为发送端的前置机中的镜像仓库将镜像推送到中心机上的镜像仓库之后,该多中心医疗机构中的其他医疗机构的前置机上的镜像仓库也可以拉取该镜像,从而丢失了镜像同步过程中的安全性和隐私性。基于此,本申请说明书提供了基于Registry的一种多中心医疗机构镜像的同步方法,通过使用作为镜像接收端的前置机对应的加密方式对待同步镜像的镜像文件组成清单进行加密,使得其他前置机无法解密待同步镜像的镜像文件组成清单,也即无法得知构成待同步镜像的镜像层文件的文件标识,因此其他前置机无法对待同步镜像进行同步,保证了镜像同步过程中的安全性与隐私性。
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书提供的一种多中心医疗机构镜像的同步方法的流程示意图,具体可包括以下步骤:
S100:响应于将待同步镜像同步给第二前置机的同步请求,获取所述待同步镜像的镜像组成清单文件;其中,所述镜像组成清单文件中包括组成所述待同步镜像的各镜像层文件的文件标识;所述第二前置机为多中心医疗机构中作为镜像接收端的前置机。
在本说明书的一个或多个实施例中,中心机中有预先构建的第一镜像仓库,各前置机中分别有预先构建的第二镜像仓库,第一前置机为多中心医疗机构中作为镜像发送端的前置机,第二前置机为多中心医疗机构中作为镜像接收端的前置机。其中,第一镜像仓库以及第二镜像仓库是基于Docker中的Registry构建的。
在本说明书的一个或多个实施例中,待同步镜像包括Docker镜像。
对于第一前置机而言,可响应于将待同步镜像同步给第二前置机的同步请求,获取待同步镜像的镜像组成清单文件,其中,所述镜像组成清单文件中包括组成所述待同步镜像的各镜像层文件的文件标识。
在第一前置机的第二镜像仓库中,各镜像层文件可具有文件标识,不同的镜像层文件可构成不同镜像,例如:假设第二镜像仓库中有三个镜像层文件,文件标识分别为1、2、3,镜像1可由文件标识1与2对应的镜像层文件构成,镜像2可由文件标识1、2与3对应镜像层文件构成,镜像3可由文件标识1、3对应的镜像层文件构成。对于镜像1而言,镜像1的镜像组成清单文件中包括:1与2。
S102:根据所述镜像组成清单文件中的各镜像层文件的文件标识,通过所述第一前置机中的第二镜像仓库,将组成所述待同步镜像的各镜像层文件上传至所述第一镜像仓库。
进而,第一前置机可根据镜像组成清单文件中的各镜像层文件的文件标识,通过第一前置机中的第二镜像仓库,将组成待同步镜像的各镜像层文件上传至第一镜像仓库。
其中,中心机中的第一镜像仓库可为多个,且在中心机中各第一镜像仓库具有仓库标识。具体的,第一前置机可针对每个镜像层文件,根据该镜像层文件的文件标识以及第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识,也即确定该进行层文件所要上传到的第一镜像仓库的仓库标识。进而根据确定出的各仓库标识,通过第一前置机中的第二镜像仓库,将组成待同步镜像的各镜像层文件上传至第一镜像仓库,也就是说,可针对每个镜像层文件,根据确定出的该镜像层文件对应的仓库标识,通过第一前置机中的第二镜像仓库,将该镜像层文件上传到与该镜像层文件对应的仓库标识所对应的第一镜像仓库中。
在本说明书中,在针对每个镜像层文件,根据该镜像层文件的文件标识以及第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识时,具体可使用该镜像层文件的文件标识对第一镜像仓库的总数量进行取模,得到取模结果,并根据取模结果,确定该镜像层文件所存储的第一镜像仓库的仓库标识。也即针对每个镜像层文件,将该镜像层文件上传至与该镜像层文件对应的取模结果相同的仓库标识对应的第一镜像仓库。
需要说明的是,在本说明书的一个或多个实施例中,仓库标识与上述步骤S102中的文件标识都可为自然数。当然也可使用字母等作为标识,具体不做限制。例如:中心机中包含两个第一镜像仓库,其仓库标识为分别为0、1。
S106:使用所述第二前置机对应的加密方式,对所述镜像组成清单文件进行加密。
S108:将加密后的镜像组成清单文件上传至所述第一镜像仓库,以使所述第二前置机通过所述第二前置机中的第二镜像仓库,获取所述第一镜像仓库中的加密后的镜像组成清单文件,并对所述加密后的镜像组成清单文件进行解密,并基于解密后的镜像组成清单文件从所述第一镜像仓库中同步所述待同步镜像。
第一前置机可使用第二前置机对应的加密方式,对镜像组成清单文件进行加密。在本说明书的一个或多个实施例中,该加密方式可为非对称加密,第一前置机可使用第二前置机对应的公钥,对镜像组成清单文件进行加密,其中,所述公钥是预先从中心机获取的。
在本说明书中,各前置机可预先将各自的公钥发送至中心机,也即中心机中保存有各前置机对应的公钥,各前置机可从中心机中获取各前置机对应的公钥并存储。则该第一前置机当确定未存储从中心机获取的第二前置机对应的公钥时,可向中心机发送加密方式获取请求,使中心机将第二前置机对应的公钥发送至第一前置机。该第一前置机可接收第二前置机对应的公钥,并使用第二前置机对应的公钥,对镜像组成清单文件进行加密。
进而,第一前置机可将加密后的镜像组成清单文件上传至第一镜像仓库,以使第二前置机通过第二前置机中的第二镜像仓库,获取第一镜像仓库中的加密后的镜像组成清单文件,并对加密后的镜像组成清单文件进行解密,并基于解密后的镜像组成清单文件从第一镜像仓库中同步待同步镜像。
图2为本说明书提供的一种多中心医疗机构镜像的同步方法的流程示意图,具体可包括以下步骤:
S200:获取所述中心机中的待同步镜像的加密后的镜像组成清单文件;其中,所述镜像组成清单文件中包括组成所述待同步镜像的各镜像层文件的文件标识。
S202:对所述加密后的镜像组成清单文件进行解密处理,得到解密后的镜像组成清单文件。
对于第二前置机而言,该第二前置机可获取中心机中的待同步镜像的加密后的镜像组成清单文件,该镜像组成清单文件中包括组成待同步镜像的各镜像层文件的文件标识。
由于该加密后的镜像组成清单文件是第一前置机使用第二前置机对应的公钥加密后上传到中心机中的,因此该第二前置机从中心机中获取到加密后的镜像组成清单文件之后,可对加密后的镜像组成清单文件进行解密处理,得到解密后的镜像组成清单文件。也即可使用第二前置机对应的私钥对镜像组成清单文件进行解密,得到解密后的镜像组成清单文件。
S204:解析所述解密后的镜像组成清单文件,得到组成所述待同步的镜像的各镜像层文件的文件标识。
S206:根据得到的各镜像层文件的文件标识,通过所述第二前置机中的第二镜像仓库从所述第一镜像仓库中同步组成所述待同步镜像的各镜像层文件。
进而,该第二前置机可对解密后的镜像组成清单文件进行解析,得到组成待同步的镜像的各镜像层文件的文件标识。具体可针对每个镜像层文件,根据该镜像层文件的文件标识以及第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识,进而根据确定出的各仓库标识以及文件标识,通过镜像接收端的前置机中的第二镜像仓库从第一镜像仓库中同步组成待同步镜像的各镜像层文件。
在本说明书的一个或多个实施例中,与上述步骤S104中第一前置机确定镜像仓库标识的方法一致,该第二前置机也可使用该镜像层文件的文件标识对第一镜像仓库的总数量进行取模,得到取模结果,并根据取模结果,确定该镜像层文件所存储的第一镜像仓库的仓库标识。具体不再赘述。
该第二前置机确定该镜像层文件所存储的第一镜像仓库的仓库标识之后,可通过第二前置机中的第二镜像仓库从第一镜像仓库中同步组成待同步镜像的各镜像层文件。具体可针对每一个镜像层文件,通过第二前置机中的第二镜像仓库,从该镜像层文件所存储的第一镜像仓库的仓库标识对应的第一镜像仓库中获取该镜像层文件。
基于图1以及图2所示本说明书提供的上述多中心医疗机构镜像的同步方法中,通过使用作为镜像接收端的前置机对应的加密方式对待同步镜像的镜像文件组成清单进行加密,使得其他前置机无法解密待同步镜像的镜像文件组成清单,也即无法得知构成待同步镜像的镜像层文件的文件标识,因此其他前置机无法对待同步镜像进行同步,保证了镜像同步过程中的安全性与隐私性。
此外,在本说明书中,可使用Registry的容器镜像进行创建多个容器,作为中心机上的多个第一镜像仓库。也即基于Registry的容器镜像,在中心机中构建多个容器,将该多个容器作为中心机中的多个第一镜像仓库。
在构建第一镜像仓库的过程中,针对每个容器,每个容器都需配置好https服务,设置登陆用户名和密码。当然,也可基于Registry的容器镜像,在各前置机中分别构建容器,并将各前置机中的容器作为各前置机中的第二镜像仓库。各第二镜像仓库对应的容器也需配置好https服务,设置登陆用户和密码。
具体的,创建容器时,首先可使用openSSL工具创建.crt和.key证书文件,并使用htpasswd工具生成密码文件,在密码文件中添加用户名和密码。然后,下载Registry的容器镜像,使用Registry的容器镜像创建容器,并配置容器创建的参数“REGISTRY_AUTH”为“htpasswd”,以及,分别设置容器“/securitit/registry/certs/”和“/securitit/registry/auth/”的挂载路径作为认证文件的存放路径,以及,设置容器“/data/registry”的挂载路径作为镜像文件数据的存放路径,以及,配置参数“REGISTRY_HTTP_TLS_CERTIFICATE”和“REGISTRY_HTTP_TLS_KEY”分别为.crt和.key证书文件的路径,得到的创建好的容器即作为镜像仓库。
在本说明书的一个或多个实施例中,各前置机可使用非对称加密算法生成公钥与私钥,并可将公钥与前置机的标识信息注册在中心机上,而私钥保存在本地前置机中,中心机可保存各前置机的公钥和标识信息。且各前置机可向中心机申请下载各前置机的公钥和标识信息,保存到本地。
进一步的,在上述步骤S104所述的内容中,第一前置机可通过第一前置机中的第二镜像仓库将镜像层文件上传到中心机的第二镜像仓库中。具体的,该第一前置机可使用Registry API将待同步镜像的镜像层文件上传到多个第一镜像仓库中。具体步骤可为:首先,使用Registry API,向上传仓库发送post请求,从请求的响应结果中截取“Location”参数的值,作为上传地址URL,然后,使用Registry API,向上传地址URL发送put请求,其中,put请求的请求头“Content-Type”设置为“application/octet-stream”,请求头“Content-Length”设置为镜像层文件的大小,“data-binary”参数设置为镜像层文件的路径,“digest”参数设置为镜像层文件的文件标识。
更进一步的,在第一前置机通过第一前置机中的第二镜像仓库使用Registry API将各镜像层文件上传到中心机的第一镜像仓库时,可对根据镜像层文件的文件标识,对各镜像层文件中的文件标识进行去重,得到各镜像层文件的文件标识对应的新标识。manifest文件的内容是一个json格式的字符串,因此第一前置机可读取待同步镜像的manifest文件,得到该文件对应的字符串,并确定该字符串中fsLayers字段的值,一般的,fsLayers字段的值是一个json数组,则可对得到的fsLayers字段的值进行去重处理,根据去重后的各文件标识,得到去重后的标识列表,在该表示列表中的序号可为各文件标识对应的新标识,则每一个新标识代表一个镜像层文件。进而,可根据各新标识,确定仓库标识。也即针对每个镜像层文件,使用该镜像层文件对应的新标识对第一镜像仓库的总数量进行取模,得到取模结果,根据该取模结果,得到该镜像层文件所存储的第一镜像仓库的仓库标识。简单的来说,针对每个镜像层文件,可计算m%n的值x,m为该镜像层文件的文件标识在去重后的标识列表中的相应序号,也即新标识,n为第一镜像仓库的总数量,则x为第一镜像仓库的仓库标识,该仓库标识对应的第一镜像仓库即为该镜像层文件所应上传的仓库。
在上述步骤S108所述的内容中,该第一前置机将镜像组成清单文件上传至中心机时,可使用第二前置机对应的公钥对镜像组成清单文件进行加密,得到加密后的镜像组成清单文件,并可将加密后的镜像组成清单文件上传至第一镜像仓库中的指定目录。
另外,在上述步骤S200-S206所述的内容中,第二前置机可从中心机的指定目录下载加密后的镜像组成清单文件,并使用本地的私钥对加密后的镜像组成清单文件进行解密,得到解密后的镜像组成清单文件。进而第二前置机可根据解密后的镜像组成清单文件,从中心机的第一镜像仓库中下载各镜像层文件。在下载各镜像层文件之后,第二前置机可将各镜像层文件导入到第二前置机的第二镜像仓库中,也即进行镜像的同步。
具体步骤可为:首先,针对每个镜像层文件,使用Registry API向第二前置机的第二镜像仓库发送post请求,并从该请求的响应结果中截取“Location”参数的值,作为第二前置机的第二镜像仓库的上传地址URL。然后,使用Registry API,向第二前置机的第二镜像仓库的上传地址URL发送put请求,其中,put请求的请求头“Content-Type”设置为“application/octet-stream”,该请求头“Content-Length”设置为镜像层文件的大小,“data-binary”参数设置为镜像层文件的路径,“digest”参数设置为镜像层文件的标识。最后,上传完所有的镜像层文件后,再上传镜像组成清单文件,使用Registry API向第二前置机的第二镜像仓库发送put请求,其中,put请求的请求头“Content-Type”设置为“application/octet-stream”,请求头“Content-Length”设置为镜像组成清单文件的大小,“data-binary”参数设置为镜像组成清单文件的路径。至此,同步完成。
基于上述图1所述的多中心医疗机构镜像的同步方法,本说明书实施例还对应的提供一种用于多中心医疗机构镜像的同步装置示意图,如图3所示。
图3为本说明书实施例提供的一种用于多中心医疗机构镜像的同步装置的示意图,多中心医疗机构对应的数据传输系统中包括多个前置机,一个中心机,所述中心机部署于云端,所述多个前置机分别部署于多个医疗机构,所述中心机中有预先构建的第一镜像仓库,所述多个前置机中分别有预先构建的第二镜像仓库,所述装置位于第一前置机中,所述第一前置机为多中心医疗机构中作为镜像发送端的前置机,所述装置包括:
响应模块300,用于响应于将待同步镜像同步给第二前置机的同步请求,获取所述待同步镜像的镜像组成清单文件;其中,所述镜像组成清单文件中包括组成所述待同步镜像的各镜像层文件的文件标识;所述第二前置机为多中心医疗机构中作为镜像接收端的前置机;
第一上传模块302,用于根据所述镜像组成清单文件中的各镜像层文件的文件标识,通过所述第一前置机中的第二镜像仓库,将组成所述待同步镜像的各镜像层文件上传至所述第一镜像仓库;
加密模块304,用于使用所述第二前置机对应的加密方式,对所述镜像组成清单文件进行加密;
第二上传模块306,用于将加密后的镜像组成清单文件上传至所述第一镜像仓库,以使所述第二前置机通过所述第二前置机中的第二镜像仓库,获取所述第一镜像仓库中的加密后的镜像组成清单文件,并对所述加密后的镜像组成清单文件进行解密,并基于解密后的镜像组成清单文件从所述第一镜像仓库中同步所述待同步镜像。
可选地,所述第一镜像仓库有多个;
所述第一上传模块302具体用于,针对每个镜像层文件,根据该镜像层文件的文件标识以及所述第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识;根据确定出的各仓库标识,通过所述第一前置机中的第二镜像仓库,将组成所述待同步镜像的各镜像层文件上传至所述第一镜像仓库。
可选地,所述第一上传模块302具体用于,使用该镜像层文件的文件标识对所述总数量进行取模,得到取模结果;根据所述取模结果,确定该镜像层文件所存储的第一镜像仓库的仓库标识。
可选地,所述加密模块304具体用于,使用所述第二前置机对应的公钥,对所述镜像组成清单文件进行加密,其中,所述公钥是预先从所述中心机获取的。
基于上述图2所述的多中心医疗机构镜像的同步方法,本说明书实施例还对应的提供一种用于多中心医疗机构镜像的同步装置示意图,如图4所示。
图4为本说明书实施例提供的一种用于多中心医疗机构镜像的同步装置的示意图,多中心医疗机构中包括多个前置机,一个中心机,所述中心机部署于云端,所述多个前置机分别部署于多个医疗机构,所述中心机中有预先构建的第一镜像仓库,所述多个前置机中分别有预先构建的第二镜像仓库,所述装置应用于第二前置机,所述第二前置机为多中心医疗机构中作为镜像接收端的前置机,所述装置包括:
获取模块400,用于获取所述中心机中的待同步镜像的加密后的镜像组成清单文件;其中,所述镜像组成清单文件中包括组成所述待同步镜像的各镜像层文件的标识;
解密模块402,用于对所述加密后的镜像组成清单文件进行解密处理,得到解密后的镜像组成清单文件;
解析模块404,用于解析所述解密后的镜像组成清单文件,得到组成所述待同步的镜像的各镜像层文件的文件标识;
同步模块406,用于根据得到的各镜像层文件的文件标识,通过所述第二前置机中的第二镜像仓库从所述第一镜像仓库中同步组成所述待同步镜像的各镜像层文件。
可选地,所述解密模块402具体用于,使用所述第二前置机对应的私钥对所述镜像组成清单文件进行解密。
可选地,所述第一镜像仓库有多个;
所述同步模块406具体用于,针对每个镜像层文件,根据该镜像层文件的文件标识以及所述第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识;根据确定出的各仓库标识以及所述文件标识,通过镜像接收端的前置机中的第二镜像仓库从所述第一镜像仓库中同步组成所述待同步镜像的各镜像层文件。
可选地,所述同步模块406具体用于,使用该镜像层文件的文件标识对所述总数量进行取模,得到取模结果;根据所述取模结果,确定该镜像层文件所存储的第一镜像仓库的仓库标识。
可选地,所述待同步镜像包括Docker镜像;所述第一镜像仓库以及所述第二镜像仓库是基于Docker中的Registry构建的。
本说明书实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述内容所述的多中心医疗机构镜像的同步方法。
基于上述内容所述的多中心医疗机构镜像的同步方法,本说明书实施例还提出了图5所示的电子设备的示意结构图。如图5,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述内容所述的多中心医疗机构镜像的同步方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种多中心医疗机构镜像的同步方法,其特征在于,多中心医疗机构对应的数据传输系统中包括多个前置机,一个中心机,所述中心机部署于云端,所述多个前置机分别部署于多个医疗机构,所述中心机中有预先构建的第一镜像仓库,所述多个前置机中分别有预先构建的第二镜像仓库,所述方法应用于第一前置机,所述第一前置机为多中心医疗机构中作为镜像发送端的前置机,所述方法包括:
响应于将待同步镜像同步给第二前置机的同步请求,获取所述待同步镜像的镜像组成清单文件;其中,所述镜像组成清单文件中包括组成所述待同步镜像的各镜像层文件的文件标识;所述第二前置机为多中心医疗机构中作为镜像接收端的前置机;
根据所述镜像组成清单文件中的各镜像层文件的文件标识,通过所述第一前置机中的第二镜像仓库,将组成所述待同步镜像的各镜像层文件上传至所述第一镜像仓库;
使用所述第二前置机对应的公钥,对所述镜像组成清单文件进行加密,其中,所述公钥是预先从所述中心机获取的;
将加密后的镜像组成清单文件上传至所述第一镜像仓库,以使所述第二前置机通过所述第二前置机中的第二镜像仓库,获取所述第一镜像仓库中的加密后的镜像组成清单文件,并对所述加密后的镜像组成清单文件进行解密,并基于解密后的镜像组成清单文件从所述第一镜像仓库中同步所述待同步镜像。
2.如权利要求1所述的方法,其特征在于,所述第一镜像仓库有多个;
根据所述镜像组成清单文件中的各镜像层文件的文件标识,通过所述第一前置机中的第二镜像仓库,将组成所述待同步镜像的各镜像层文件上传至所述第一镜像仓库,具体包括:
针对每个镜像层文件,根据该镜像层文件的文件标识以及所述第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识;
根据确定出的各仓库标识,通过所述第一前置机中的第二镜像仓库,将组成所述待同步镜像的各镜像层文件上传至所述第一镜像仓库。
3.如权利要求2所述的方法,其特征在于,根据该镜像层文件的文件标识以及所述第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识,具体包括:
使用该镜像层文件的文件标识对所述总数量进行取模,得到取模结果;
根据所述取模结果,确定该镜像层文件所存储的第一镜像仓库的仓库标识。
4.一种多中心医疗机构镜像的同步方法,其特征在于,多中心医疗机构对应的数据传输系统中包括多个前置机,一个中心机,所述中心机部署于云端,所述多个前置机分别部署于多个医疗机构,所述中心机中有预先构建的第一镜像仓库,所述多个前置机中分别有预先构建的第二镜像仓库,所述方法应用于第二前置机,所述第二前置机为多中心医疗机构中作为镜像接收端的前置机,所述方法包括:
获取所述中心机中的待同步镜像的加密后的镜像组成清单文件;其中,所述镜像组成清单文件中包括组成所述待同步镜像的各镜像层文件的文件标识;
对所述加密后的镜像组成清单文件进行解密处理,得到解密后的镜像组成清单文件;
解析所述解密后的镜像组成清单文件,得到组成所述待同步的镜像的各镜像层文件的文件标识;
根据得到的各镜像层文件的文件标识,通过所述第二前置机中的第二镜像仓库从所述第一镜像仓库中同步组成所述待同步镜像的各镜像层文件。
5.如权利要求4所述的方法,其特征在于,对所述加密后的镜像组成清单文件进行解密处理,具体包括:
使用所述第二前置机对应的私钥对所述镜像组成清单文件进行解密。
6.如权利要求4所述的方法,其特征在于,所述第一镜像仓库有多个;
根据得到的各镜像层文件的文件标识,通过镜像接收端的前置机中的第二镜像仓库从所述第一镜像仓库中同步组成所述待同步镜像的各镜像层文件,具体包括:
针对每个镜像层文件,根据该镜像层文件的文件标识以及所述第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识;
根据确定出的各仓库标识以及所述文件标识,通过镜像接收端的前置机中的第二镜像仓库从所述第一镜像仓库中同步组成所述待同步镜像的各镜像层文件。
7.如权利要求6所述的方法,其特征在于,根据该镜像层文件的文件标识以及所述第一镜像仓库的总数量,确定该镜像层文件所存储的第一镜像仓库的仓库标识,具体包括:
使用该镜像层文件的文件标识对所述总数量进行取模,得到取模结果;
根据所述取模结果,确定该镜像层文件所存储的第一镜像仓库的仓库标识。
8.如权利要求1或4所述的方法,其特征在于,所述待同步镜像包括Docker镜像;
所述第一镜像仓库以及所述第二镜像仓库是基于Docker中的Registry构建的。
9.一种多中心医疗机构镜像的同步装置,其特征在于,多中心医疗机构对应的数据传输系统中包括多个前置机,一个中心机,所述中心机部署于云端,所述多个前置机分别部署于多个医疗机构,所述中心机中有预先构建的第一镜像仓库,所述多个前置机中分别有预先构建的第二镜像仓库,所述装置位于第一前置机中,所述第一前置机为多中心医疗机构中作为镜像发送端的前置机,所述装置包括:
响应模块,用于响应于将待同步镜像同步给第二前置机的同步请求,获取所述待同步镜像的镜像组成清单文件;其中,所述镜像组成清单文件中包括组成所述待同步镜像的各镜像层文件的文件标识;所述第二前置机为多中心医疗机构中作为镜像接收端的前置机;
第一上传模块,用于根据所述镜像组成清单文件中的各镜像层文件的文件标识,通过所述第一前置机中的第二镜像仓库,将组成所述待同步镜像的各镜像层文件上传至所述第一镜像仓库;
加密模块,用于使用所述第二前置机对应的公钥,对所述镜像组成清单文件进行加密,其中,所述公钥是预先从所述中心机获取的;
第二上传模块,用于将加密后的镜像组成清单文件上传至所述第一镜像仓库,以使所述第二前置机通过所述第二前置机中的第二镜像仓库,获取所述第一镜像仓库中的加密后的镜像组成清单文件,并对所述加密后的镜像组成清单文件进行解密,并基于解密后的镜像组成清单文件从所述第一镜像仓库中同步所述待同步镜像。
10.一种多中心医疗机构镜像的同步装置,其特征在于,多中心医疗机构对应的数据传输系统中包括多个前置机,一个中心机,所述中心机部署于云端,所述多个前置机分别部署于多个医疗机构,所述中心机中有预先构建的第一镜像仓库,所述多个前置机中分别有预先构建的第二镜像仓库,所述装置位于第二前置机中,所述第二前置机为多中心医疗机构中作为镜像接收端的前置机,所述装置包括:
获取模块,用于获取所述中心机中的待同步镜像的加密后的镜像组成清单文件;其中,所述镜像组成清单文件中包括组成所述待同步镜像的各镜像层文件的文件标识;
解密模块,用于对所述加密后的镜像组成清单文件进行解密处理,得到解密后的镜像组成清单文件;
解析模块,用于解析所述解密后的镜像组成清单文件,得到组成所述待同步的镜像的各镜像层文件的文件标识;
同步模块,用于根据得到的各镜像层文件的文件标识,通过所述第二前置机中的第二镜像仓库从所述第一镜像仓库中同步组成所述待同步镜像的各镜像层文件。
11.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-8任一所述的方法。
12.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述权利要求1-8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311285990.3A CN117077218B (zh) | 2023-10-07 | 2023-10-07 | 一种多中心医疗机构镜像的同步方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311285990.3A CN117077218B (zh) | 2023-10-07 | 2023-10-07 | 一种多中心医疗机构镜像的同步方法、装置、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117077218A CN117077218A (zh) | 2023-11-17 |
CN117077218B true CN117077218B (zh) | 2024-01-26 |
Family
ID=88711926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311285990.3A Active CN117077218B (zh) | 2023-10-07 | 2023-10-07 | 一种多中心医疗机构镜像的同步方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117077218B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367883A (zh) * | 2020-02-25 | 2020-07-03 | 平安科技(深圳)有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
CN111857959A (zh) * | 2020-07-24 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种跨局域网的Docker镜像同步的方法、系统、设备及介质 |
CN113900772A (zh) * | 2021-10-14 | 2022-01-07 | 成都卫士通信息产业股份有限公司 | 一种镜像文件传输方法、装置、设备及存储介质 |
CN114143309A (zh) * | 2021-11-30 | 2022-03-04 | 招商局金融科技有限公司 | 文件传输方法、装置、计算机设备及介质 |
CN114466028A (zh) * | 2022-02-16 | 2022-05-10 | 京东科技信息技术有限公司 | 镜像同步方法、装置、设备及存储介质 |
CN115129425A (zh) * | 2022-07-11 | 2022-09-30 | 京东科技信息技术有限公司 | 一种复制镜像的方法和装置 |
CN115510163A (zh) * | 2022-09-29 | 2022-12-23 | 苏州浪潮智能科技有限公司 | 镜像文件的同步方法、装置、存储介质及电子设备 |
CN115941704A (zh) * | 2022-12-07 | 2023-04-07 | 山石网科通信技术股份有限公司 | 镜像同步方法及装置、电子设备、存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230254127A1 (en) * | 2013-11-06 | 2023-08-10 | Pure Storage, Inc. | Sharing Encryption Information Amongst Storage Devices In A Storage System |
-
2023
- 2023-10-07 CN CN202311285990.3A patent/CN117077218B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111367883A (zh) * | 2020-02-25 | 2020-07-03 | 平安科技(深圳)有限公司 | 数据同步方法、装置、设备及计算机可读存储介质 |
CN111857959A (zh) * | 2020-07-24 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种跨局域网的Docker镜像同步的方法、系统、设备及介质 |
CN113900772A (zh) * | 2021-10-14 | 2022-01-07 | 成都卫士通信息产业股份有限公司 | 一种镜像文件传输方法、装置、设备及存储介质 |
CN114143309A (zh) * | 2021-11-30 | 2022-03-04 | 招商局金融科技有限公司 | 文件传输方法、装置、计算机设备及介质 |
CN114466028A (zh) * | 2022-02-16 | 2022-05-10 | 京东科技信息技术有限公司 | 镜像同步方法、装置、设备及存储介质 |
CN115129425A (zh) * | 2022-07-11 | 2022-09-30 | 京东科技信息技术有限公司 | 一种复制镜像的方法和装置 |
CN115510163A (zh) * | 2022-09-29 | 2022-12-23 | 苏州浪潮智能科技有限公司 | 镜像文件的同步方法、装置、存储介质及电子设备 |
CN115941704A (zh) * | 2022-12-07 | 2023-04-07 | 山石网科通信技术股份有限公司 | 镜像同步方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117077218A (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102200790B1 (ko) | 로그인 정보 프로세싱 방법 및 디바이스 | |
JP6878609B2 (ja) | データバックアップ方法およびデータバックアップ装置、記憶媒体ならびにサーバ | |
US9413754B2 (en) | Authenticator device facilitating file security | |
US10185894B2 (en) | Picture management method and device, picture synchronization method and device | |
US9124563B2 (en) | Method for asynchronously provisioning keys from one secure device to another | |
US11947673B2 (en) | Over-the-air upgrade method and related apparatus | |
US20170371625A1 (en) | Content delivery method | |
CN107113164B (zh) | 加密数据的重复删除的方法、装置和计算机可读介质 | |
CN112287376B (zh) | 一种隐私数据的处理方法及装置 | |
CN113032357A (zh) | 文件的存储方法、装置和服务器 | |
CN111190974B (zh) | 可验证声明的转发、获取方法、装置及设备 | |
WO2017039785A2 (en) | Apparatus and method for secure file transfer | |
CN113301431A (zh) | 视频数据的加解密方法、装置、电子设备及系统 | |
US20110154015A1 (en) | Method For Segmenting A Data File, Storing The File In A Separate Location, And Recreating The File | |
CN111726230A (zh) | 一种数据的存储方法、数据的恢复方法、装置及设备 | |
CN116167044A (zh) | 一种应用容器的创建方法、装置及设备 | |
CN112788151B (zh) | 数据同步的方法、装置和系统 | |
CN117077218B (zh) | 一种多中心医疗机构镜像的同步方法、装置、介质及设备 | |
CN115118486B (zh) | 物联网系统、基于区块链获取数据的方法和装置、存储介质以及计算设备 | |
CN110825815A (zh) | 基于区块链的云笔记系统信息处理方法、设备及介质 | |
CN106453335B (zh) | 一种数据传输方法及装置 | |
CN113497787B (zh) | 文件传输方法、设备以及系统 | |
JP2015138336A (ja) | 電子データの管理方法、そのためのプログラム及び、プログラムの記録媒体 | |
CN113467989A (zh) | 快照创建与读取方法、设备及存储介质 | |
CN111680003B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |