CN111737271A - 数据同步更新方法、装置、设备及存储介质 - Google Patents
数据同步更新方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111737271A CN111737271A CN202010400960.2A CN202010400960A CN111737271A CN 111737271 A CN111737271 A CN 111737271A CN 202010400960 A CN202010400960 A CN 202010400960A CN 111737271 A CN111737271 A CN 111737271A
- Authority
- CN
- China
- Prior art keywords
- mirror image
- data
- container
- image
- updated
- 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
Images
Classifications
-
- 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/23—Updating
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Abstract
本发明涉及人工智能,公开了一种数据同步更新方法、装置、设备及存储介质,该方法根据更新请求获取当前终端上的待更新的数据;确定所述镜像仓库中的主容器和辅助容器;根据镜像规则将待更新的所述数据转换成第一镜像;比较所述第一镜像是否与所述主容器中的第二镜像一致,其中所述第一镜像与所述第二镜像均由多个数据层构成;若不一致,则根据所述第一镜像更新至所述第二镜像,将所述主容器中更新后的第二镜像备份至所述辅助容器中。此外,本发明还涉及区块链技术,数据可存储于区块链节点中。本发明使得不同的终端设备部署的容器可以相互备份使得脚本驱动更新的步骤简化,提高了工作效率。
Description
技术领域
本发明涉及人工智能的云技术领域,尤其涉及一种数据同步更新方法、装置、设备及存储介质。
背景技术
自互联网信息革命以来,数据量每年急剧增长,数据涉及工业生产、交通出行、教育、医疗、金融交易等方方面面。伴随大量数据的诞生还有数据存储方法与设备,存储能力从几十KB升级至几十TB乃至更高的水平。数据丢失的方式主要为不可抗拒的自然灾难、计算机病毒、掉电、网络和通信失败、硬件和软件错误、人为操作失误等一系列方式。解决数据丢失提高数据存储安全人们发明了异地存储的方式。
但传统的异地存储方式中异地数据库不能统一升级。需要人工去使用脚本去进行更新,并且在更新不同的服务器时,使用的脚本还不一样。这样对一种更新内容却要人工去开发好几种脚本去对不同的存储器进行更新。数据量变大的情况下,重复的工作量就变得极其大。异地存储的数据无法使用统一的格式进行更新,造成巨大的人工浪费。
发明内容
本发明的主要目的在于解决现有的存储数据的同步更新方案中需要针对不同设备设置不同脚本,而造成操作流程复杂的问题。
本发明第一方面提供了一种数据同步更新方法,包括:在接收到数据的更新请求时,根据所述更新请求获取目标终端上的待更新数据;查询k8s集群环境中与所述目标终端对应的镜像仓库,并确定所述镜像仓库中的主容器和辅助容器,其中,所述辅助容器用于备份所述主容器中的数据层;获取所述主容器存储数据的镜像规则,并根据所述镜像规则将所述待更新数据转换成第一镜像;比较所述第一镜像是否与所述主容器中的第二镜像一致,其中,所述第一镜像和所述第二镜像均是基于相同的数据层框架写入数据后构成的数据集合;若不一致,则根据所述第一镜像更新所述第二镜像,并在所述主容器更新所述第二镜像的同时触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中。
可选的,在本发明第一方面的第一种实现方式中,所述获取所述主容器存储数据的镜像规则,并根据所述镜像规则将所述待更新数据转换成第一镜像包括:读取所述待更新数据的内容,并根据预设的数据种类对所述待更新数据进行种类标记;获取预设的数据层框架,将被标记后的所述待更新数据按照所述种类标记依序写入到所述数据层框架中,得到镜像数据层集;将所述镜像数据层集进行封装处理,得到所述第一镜像。
可选的,在本发明第一方面的第二种实现方式中,在所述比较所述第一镜像是否与所述主容器中的第二镜像一致之前,还包括:调用探针判断所述主容器中的所述第二镜像是否正常启动,其中,所述探针为检测镜像状态的内置检测工具;若无法正常启动,则将所述主容器从所述镜像仓库中删除,并重新组建容器,得到新的主容器;将所述辅助容器中的备份数据层复制进入所述新的主容器中,得到第二镜像。
可选的,在本发明第一方面的第三种实现方式中,在所述比较所述第一镜像与所述主容器中的第二镜像不一致之后,还包括:提取所述第二镜像中与所述第一镜像所有的比对不一致的差异点以及每个差异点所在的数据层,其中,所述差异点为所述目标终端新增的数据或减少的数据或修改的数据;
所述根据所述第一镜像更新所述第二镜像包括:判断每个差异点所在的数据层是否包含所述第二镜像中所有的数据层;若是,将所述主容器中的所述第二镜像删除,将所述第一镜像更新至所述主容器中;若不是,将所述主容器中的所述第二镜像的差异点所在数据层替换为所述第一镜像中对应的数据层。
可选的,在本发明第一方面的第四种实现方式中,所述触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中包括:调用所述主容器的主镜像仓库管理器,将所述主镜像仓库管理器与接口服务器连接;调用所述辅助容器的辅助镜像仓库管理器,将所述辅助镜像仓库管理器与所述接口服务器连接;将所述第二镜像依次通过所述主镜像仓库管理器、所述接口服务器连接、所述辅助镜像仓库管理器更新至所述辅助容器中。
可选的,在本发明第一方面的第五种实现方式中,所述触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中包括:调用所述主容器的主镜像仓库管理器,将所述主镜像仓库管理器与接口服务器连接;调用所述辅助容器的辅助镜像仓库管理器,将所述辅助镜像仓库管理器与所述接口服务器连接;将所述第二镜像依次通过所述主镜像仓库管理器、所述接口服务器连接、所述辅助镜像仓库管理器更新至所述辅助容器中。
可选的,在本发明第一方面的第六种实现方式中,在所述将所述主容器中更新后的第二镜像备份至所述辅助容器中之后,还包括:读取所述k8s集群环境中的所述辅助容器的处理器使用率,判断所述处理器使用率是否超过上限阈值;若超过所述上限阈值,在所述镜像仓库新增上限容器,将所述第二镜像复制至所述上限容器,直至所述处理器使用率小于所述上限阈值;判断所述处理器使用率是否低于下限阈值;若低于所述下限阈值,则将所述辅助容器删除,在所述镜像仓库新增下限容器,将所述第二镜像从所述主容器复制至所述下限容器中。
本发明第二方面提供了一种数据同步更新装置,包括:
接收模块,用于在接收到数据的更新请求时,根据所述更新请求获取目标终端上的待更新数据;
查询模块,用于查询k8s集群环境中与所述目标终端对应的镜像仓库,并确定所述镜像仓库中的主容器和辅助容器,其中,所述辅助容器用于备份所述主容器中的数据层;
转化模块,用于获取所述主容器存储数据的镜像规则,并根据所述镜像规则将所述待更新数据转换成第一镜像;
比较模块,用于比较所述第一镜像是否与所述主容器中的第二镜像一致,其中,所述第一镜像和所述第二镜像均是基于相同的数据层框架写入数据后构成的数据集合;
更新模块,用于若不一致,则根据所述第一镜像更新所述第二镜像,并在所述主容器更新所述第二镜像的同时触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中。
可选的,在本发明第二方面的第一种实现方式中,所述转化模块具体用于:读取所述待更新数据的内容,并根据预设的数据种类对所述待更新数据进行种类标记;获取预设的数据层框架,将被标记后的所述待更新数据按照所述种类标记依序写入到所述数据层框架中,得到镜像数据层集;将所述镜像数据层集进行封装处理,得到所述第一镜像。
可选的,在本发明第二方面的第二种实现方式中,所述数据同步更新装置还包括检测模块,所述检测模块具体用于:调用探针判断所述主容器中的所述第二镜像是否正常启动,其中,所述探针为检测镜像状态的内置检测工具;若无法正常启动,则将所述主容器从所述镜像仓库中删除,并重新组建容器,得到新的主容器;将所述辅助容器中的备份数据层复制进入所述新的主容器中,得到第二镜像。
可选的,在本发明第二方面的第三种实现方式中,所述数据同步更新装置还包括提取模块,所述提取模块具体用于:提取所述第二镜像中与所述第一镜像所有的比对不一致的差异点以及每个差异点所在的数据层,其中,所述差异点为所述目标终端新增的数据或减少的数据或修改的数据;
所述更新模块包括分析单元,所述分析单元具体用于:判断每个差异点所在的数据层是否包含所述第二镜像中所有的数据层;若是,将所述主容器中的所述第二镜像删除,将所述第一镜像更新至所述主容器中;若不是,将所述主容器中的所述第二镜像的差异点所在数据层替换为所述第一镜像中对应的数据层。
可选的,在本发明第二方面的第四种实现方式中,所述更新模块还包括传输单元,所述传输单元具体用于:调用所述主容器的主镜像仓库管理器,将所述主镜像仓库管理器与接口服务器连接;调用所述辅助容器的辅助镜像仓库管理器,将所述辅助镜像仓库管理器与所述接口服务器连接;将所述第二镜像依次通过所述主镜像仓库管理器、所述接口服务器连接、所述辅助镜像仓库管理器更新至所述辅助容器中。
可选的,在本发明第二方面的第五种实现方式中,所述数据同步更新装置还包括异地更新模块,所述异地更新模块具体用于:通过接口服务器与异地服务器连接,将所述主容器的所述第二镜像复制入所述异地存储服务器中部署的异地主容器中;在所述k8s集群环境中的所述本地服务器中选择测试容器,从所述异地主容器中将所述第二镜像复制到所述测试容器;通过探针对所测试容器中的所述第二镜像进行测试,判断是否能成功启动;若成功启动,则将备份成功的通知邮件发送至管理设备处。
可选的,在本发明第二方面的第六种实现方式中,所述数据同步更新装置还包括监控模块,所述监控模块具体用于:读取所述k8s集群环境中的所述辅助容器的处理器使用率,判断所述处理器使用率是否超过上限阈值;若超过所述上限阈值,在所述镜像仓库新增上限容器,将所述第二镜像复制至所述上限容器,直至所述处理器使用率小于所述上限阈值;判断所述处理器使用率是否低于下限阈值;若低于所述下限阈值,则将所述辅助容器删除,在所述镜像仓库新增下限容器,将所述第二镜像从所述主容器复制至所述下限容器中。
本发明第三方面提供了一种数据同步更新设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据同步更新设备执行上述的数据同步更新方法。
本发明的第四方面提供了一种计算机可读存储介质,包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的数据同步更新方法。
本发明提供的技术方案中,在接收到数据的更新请求时,根据所述更新请求获取目标终端上的待更新数据;查询k8s集群环境中与所述目标终端对应的镜像仓库,并确定所述镜像仓库中的主容器和辅助容器,其中,所述辅助容器用于备份所述主容器中的数据层;获取所述主容器存储数据的镜像规则,并根据所述镜像规则将所述待更新数据转换成第一镜像;比较所述第一镜像是否与所述主容器中的第二镜像一致,其中,所述第一镜像和所述第二镜像是由相同的数据层框架写入数据后构成的数据集合;若不一致,则根据所述第一镜像更新所述第二镜像,并在所述主容器更新所述第二镜像的同时触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中。
本发明实施例中,本发明解决了不同的终端设备之间配置不同而导致需要不同的脚本无法自动更新的技术问题。例如:在一个本地终端设备上Python语言版本为Python2.7,而在另外一个异地终端设备上的Python语言版本为Python3.1,这样两个版本不一致导致更新某一个数据会产生两个脚本分别对应本地终端设备与异地终端设备。在容器技术上可以很好的解决这个版本不一致的情况,在k8s集群环境中,不同的终端设备部署的容器可以相互备份使得脚本驱动更新的步骤简化,提高了工作效率与解决了一个无法自动更新的技术问题。
附图说明
图1为本发明实施例中数据同步更新方法的一个实施例示意图;
图2为本发明实施例中数据同步更新方法的另一个实施例示意图;
图3为本发明实施例中数据同步更新装置的一个实施例示意图;
图4为本发明实施例中数据同步更新装置的另一个实施例示意图;
图5为本发明实施例中数据同步更新设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种数据同步更新方法、装置、设备及存储介质,在接收到数据的更新请求时,根据所述更新请求获取目标终端上的待更新数据;查询k8s集群环境中与所述目标终端对应的镜像仓库,并确定所述镜像仓库中的主容器和辅助容器,其中,所述辅助容器用于备份所述主容器中的数据层;获取所述主容器存储数据的镜像规则,并根据所述镜像规则将所述待更新数据转换成第一镜像;比较所述第一镜像是否与所述主容器中的第二镜像一致,其中,所述第一镜像和所述第二镜像是由相同的数据层框架写入数据后构成的数据集合;若不一致,则根据所述第一镜像更新所述第二镜像,并在所述主容器更新所述第二镜像的同时触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中。本发明解决了不同的终端设备之间配置不同而导致需要不同的脚本无法自动更新的技术问题。例如:在一个本地终端设备上Python语言版本为Python2.7,而在另外一个异地终端设备上的Python语言版本为Python3.1,这样两个版本不一致导致更新某一个数据会产生两个脚本分别对应本地终端设备与异地终端设备。在容器技术上可以很好的解决这个版本不一致的情况,在k8s集群环境中,不同的终端设备部署的容器可以相互备份使得脚本驱动更新的步骤简化,提高了工作效率与解决了一个无法自动更新的技术问题。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中数据同步更新方法的一个实施例包括:
101、在接收到数据的更新请求时,根据所述更新请求获取目标终端上的待更新数据;
在该步骤中,这里所接收到的更新请求可以是一个仅用于触发终端进行数据存储更新和备份的触发信号,也可以是一个携带有指示信息的数据包;若更新请求是一个数据包时,在接收到该请求后,还包括对请求进行解析,得到请求中携带的用于指示存储更新的数据类别或者指示终端存储数据的位置,甚至还可以是数据的名称与版本号,并且名称与版本号组合就能决定唯一的数据。更新请求中包含更新数据的更新内容,可以根据名称与版本号进行查找唯一的数据源。
在本实施例中,该更新请求应当有终端产生,其产生具体可以通过在终端检测到其自身的数据产生变化,且变化的部分达到触发更新的条件时,终端获取对应的数据的名称以及版本号,而这里的版本号应该理解为是数据的产生时间或者时间段;在进行数据更新时,服务器根据终端发送过来的更新请求中的数据的名称和版本号从终端中截取对应的数据。例如:数据的名称为“营销方案”,数据的版本号为“201912.01-10”,则更新请求中包含“营销方案”与“201912.01-10”这样的查询组合,在查找待更新的数据时,服务器依据这样的特征信息进行查找就能在终端的数据存储单元中找到对应的特定数据。此外,该更新请求中还包括数据的历史版本号,服务器在确定k8s集群环境中用于服务当前终端的数据存储的镜像仓库后,服务器可根据历史版本号查询其镜像仓库中容器的镜像。
在本实施例中,所述更新请求中还包括数据更新方式指令,该指令包括替换更新指令和增加更新指令,其中增加更新指令是用于控制服务器在对镜像更新时采用扩容的方式进行数据更新,保留镜像中原有的数据;替换更新指令是用于控制全部替换镜像实现更新。
102、查询k8s集群环境中与所述目标终端对应的镜像仓库,并确定所述镜像仓库中的主容器和辅助容器;
在该步骤中,每个终端都有其自己的镜像仓库。例如:私人移动终端有私有镜像仓库、本地服务器有本地的镜像仓库、异地服务器有异地的镜像仓库、在网络云端有公共的镜像仓库。每个镜像仓库都有其特定的编号方式,对内部的容器和镜像进行编号。
查询目标终端的仓库可以依据每个镜像仓库的特征码,例如:有稳定数据存储的镜像仓库特征码为“SDADA123”,且特征码唯一。而如果需要兼容性强的镜像仓库特征码为“DDFGSA563”,特征码也唯一。根据特征码进行查询,可以得到数据信息。
在每个镜像仓库处均有一个默认为首选作为处理对象的容器,该容器被称为主容器,而主容器对应的备份容器则称为辅助容器。在k8s集群环境中,镜像是在主容器和辅助容器中,而主容器与辅助容器是来源于镜像仓库。
对于每个终端都有其所属的镜像仓库,而镜像仓库中有主容器和辅助容器。在一种实施例中,在本地服务器中有镜像仓库,在私有设备中也有镜像仓库,先在私有设备中查询镜像仓库中的主容器中查询出镜像数据,然后在复制到其他终端的主容器中,最后在整个k8s集群环境中获得复制。
103、获取所述主容器存储数据的镜像规则,并根据所述镜像规则将所述待更新数据转换成第一镜像;
在主容器中的镜像为类似文件夹存在,里面有很多的数据,根据镜像规则将存储数据变成镜像。镜像规则主要是根据数据的分类将数据合并为不同的文件夹,然后成为镜像。主容器中待更新的数据转换为第一镜像,而更新请求的数据转化为第二镜像。
在一个实施例中,主容器中并没有数据,而是更新请求中有数据,那么更新请求中的数据根据镜像规则生成了第二镜像。然后由第二镜像来更新主容器,然后在给第二镜像一个名词与版本号。
在一个实施例中,更新请求就是一个从镜像仓库中获取的镜像,则不需要数据根据镜像规则转换,直接将更新请求中的镜像与主容器中的镜像进行比较。
104、比较所述第一镜像是否与所述主容器中的第二镜像一致;
第一镜像与第二镜像是同一个数据层框架由于输入的数据不同而形成的不同镜像,但数据的组成结构模板是一致的。对比时就根据内部对应的数据层中数据进行比对然后判断是否为同一镜像。将第一镜像与第二镜像进行判断,观察两者的镜像数据是否一致,如果不是一致的,镜像主要是由一堆只读层数据构成,在形成镜像时必须要在某个特定目录下进行才行,找一个专门的目录,在这个目录中放进来dockerfile,而且dockerfile文件名首字母必须大写。在形成镜像打包时,使用dockerbuild命令针对这个目录通过dockerfile将镜像形成,镜像在容器中形成后,将镜像附上标签。实际上dockerbuild自己还会隐藏启一个容器。因此在dockerfile中我们可以执行很多shell命令的,但是这个shell命令不是宿主机的命令而是底层这个镜像所包含的命令,镜像中如果没这个命令,想在dockefile中运行一些shell程序是做不到的。在初始化镜像为容器时,可直接向环境变量赋值,从而可以接收环境信息。
在本实施例中,第一镜像与第二镜像在每个对应的数据层都会进行比较判断,在所有的数据层都比较判断完成后,便得出两个镜像是否一致的结论。在每个数据层判断时,都会标记内容不同的数据层。
105、若不一致,则根据所述第一镜像更新所述第二镜像,并在所述主容器更新所述第二镜像的同时触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中。
在已经判断出第一镜像与第二镜像不同的情况下,就需要将主容器的第二镜像进行修改与调整。k8s集群环境由多个工作节点和一个集群控制节点,以及一个集群状态存储系统组成,所以基于k8s集群环境的架构而来的磁盘共享策略,在不同设备与地区部署的容器之间都可以相互备份。
在一种实施例中,主容器与辅助容器所在的磁盘不是在同一台服务器中,就要先将服务器之间用通信联系,然后再通过信道将第二镜像从主容器复制到辅助容器。
在一种实施例中,第二镜像先上传至网络云端中,异地存储服务器连接网络云端下载第二镜像。然后再在异地存储服务器中的容器中进行与本地服务器中类似的更新。
在一种实施例中,本地接口与异地存储服务器的数据接口连接,在异地存储服务器中先更新一个容器,然后异地存储服务器再将其他容器一起更新。在一种实施例中,异地存储服务器不只有一个,本地更新完成容器后,先将一个异地存储服务器更新,然后该异地存储服务器将与本地服务器作为模板一起将其他异地服务器共同更新。
本发明实施例中,本发明解决了不同的终端设备之间配置不同而导致需要不同的脚本无法自动更新的技术问题。例如:在一个本地终端设备上Python语言版本为Python2.7,而在另外一个异地终端设备上的Python语言版本为Python3.1,这样两个版本不一致导致更新某一个数据会产生两个脚本分别对应本地终端设备与异地终端设备。在容器技术上可以很好的解决这个版本不一致的情况,在k8s集群环境中,不同的终端设备部署的容器可以相互备份使得脚本驱动更新的步骤简化,提高了工作效率与解决了一个无法自动更新的技术问题。
请参阅图2,本发明实施例中数据同步更新方法的另一个实施例包括:
201、在接收到数据的更新请求时,根据所述更新请求获取目标终端上的待更新数据;
202、查询k8s集群环境中与所述目标终端对应的镜像仓库,并确定所述镜像仓库中的主容器和辅助容器;
203、获取所述主容器存储数据的镜像规则,并根据所述镜像规则将所述待更新数据转换成第一镜像;
在镜像进行转化过程中,还有具体实现方式如下:
读取所述待更新数据的内容,并根据数据种类对所述待更新数据进行种类标记;
获取预设的数据层框架,将被标记后的所述待更新数据按照所述种类标记依序写入到所述数据层框架中,得到第一类数据层集;
将所述第一类数据层集进行封装得到所述第一镜像。
在主容器中还存在基于上次存储的第二镜像,第二镜像是根据上次待更新的数据分类组合成数据层集而来。主容器中也可以是没有镜像数据,第一镜像为最初的镜像。数据层的语法格式由两类语句组成:#注释信息,由#开头指令及其参数,一行一个指令一般是这样的。一般指令是写成纯大写的,其本身不区分大小写。约定俗称是使用大写是顺序执行的指令。整个dockerfile第一个非注释行的第一个指令必须是FROM指令,指的是做当前镜像必须要基于哪个基础镜像数据层来实现。不同的数据分类聚合成一个的数据层,一个镜像由好几个数据层构成。
在一种实施例中,用于从镜像仓库的宿主机中的文件打包提供到目标镜像中去。相当于从宿主机的当前工作目录当中把某一个文件或某些文件复制到目标镜像的文件系统中,在镜像仓库中的复制指令可以用多次的,在dockerfile中每一条指令都会生成一个新的镜像层,但层越多将来联合挂载的时候效率越差。
204、调用探针判断所述主容器中的所述第二镜像是否正常启动;
205、若无法正常启动,则将所述主容器从所述镜像仓库中删除,并重新组建容器,得到新的主容器;
206、将所述辅助容器中的备份数据层复制进入所述新的主容器中;
在k8s集群环境中,镜像仓库管理器控制探针重新启动容器。例如,容器中的应用运行时进入死锁状态,探针对容器进行健康检查时检测到这种情况,那么探针检测失败,则镜像仓库管理器就会重新启动容器。可以看到重新启动并没有从根本上解决死锁问题,只是忽略了问题使容器继续运行。
镜像仓库管理器通过探针决定容器是否准备就绪处理流量,当pod中的所有容器全部处于准备状态时,pod被认为可以对外提供服务。探针的典型应用是控制pod是否作为服务的对象。探针作为内置检测工具可以打开容器和重启容器,但是无法修复。
在本实施例中,判断无法正常启动后,则将主容器的上层节点删除,重新创建一个新的节点,然后在这个新的节点上创建容器。存在一种实施例,在删除主容器的上层节点后,不创建新的主容器,而是将取一个辅助容器标记为主容器替代主容器的功能与作用。在另一种实施例中,主容器在监测后正常启动,某一辅助容器中的第一镜像复制后无法打开,就将辅助容器的上层节点删除,并创建新的节点与新的辅助容器。
207、比较所述第一镜像是否与所述主容器中的第二镜像一致;
在比较所述第一镜像与所述主容器中的第二镜像不一致之后,还包括:
提取所述第二镜像中与所述第一镜像所有的比对不一致的差异点以及每个差异点所在的数据层,其中,所述差异点为所述目标终端新增的数据或减少的数据或修改的数据。
208、判断每个差异点所在的数据层是否包含所述第二镜像中所有的数据层;
209、若是,将所述主容器中的所述第二镜像删除,将所述第一镜像更新至所述主容器中;
210、若不是,将所述主容器中的所述第二镜像的差异点所在数据层替换为所述第一镜像中对应的数据层;
在更新第一镜像时,需要判断第二镜像与第一镜像差别是否在每个数据层都存在。然后再根据第一镜像与第二镜像的数据层中的数据的差异来进行判断那种更新方式。
在本实施例中,第一镜像与第二镜像的数据层框架是一样的,只是数据内容有所不同,因此比较时均是按照框架协议的内容不断对比得出是否镜像一致。更改方式是根据差异点在数据数据层的分布来进行决定,在判断出数据层中数据不同时,则将该数据层标记,在标记出所有的差异点后。再进一步判断是否为全部数据层都有差异。一般来说有三种更新实现的方式:(1)修该配置文件;(2)patch方式;(3)setimage方式。
在一种实施例中,修该配置文件,然后再应用配置文件,在此种修改过程中,主要是将整个文件的版本与名称进行修改,对数据层中的内容更改较少。
在一种实施例中,使用patch命令,先找到deployment文件让后通过patch文件更新内部的数据将全部数据层的数据都更新,然后在更新完成后将镜像数据层的数据内容改成第一镜像的数据内容。
在一种实施例中,使用setimage命令进行更新,使用setimage命令将第一镜像更新到第二镜像版本的信息中,在此种更新时,一般是对整个镜像进行复制,例如:将主容器中的第二镜像的数据层全部删除,然后将第一镜像的数据层更新至主容器的对应的第二镜像的位置。
211、若不一致,则根据所述第一镜像更新所述第二镜像,并在所述主容器更新所述第二镜像的同时触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中。
所述触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中包括:
调用所述主容器的主镜像仓库管理器,将所述主镜像仓库管理器与接口服务器连接;
调用所述辅助容器的辅助镜像仓库管理器,将所述辅助镜像仓库管理器与所述接口服务器连接;
将所述第二镜像依次通过所述主镜像仓库管理器、所述接口服务器连接、所述辅助镜像仓库管理器更新至所述辅助容器中。
在k8s集群环境中,镜像仓库管理器控制探针重新启动容器。例如,容器中的应用运行时进入死锁状态,探针对容器进行健康检查时检测到这种情况,那么探针检测失败,则镜像仓库管理器就会重新启动容器。可以看到重新启动并没有从根本上解决死锁问题,只是忽略了问题使容器继续运行。
镜像仓库管理器通过探针决定容器是否准备就绪处理流量,当pod中的所有容器全部处于准备状态时,pod被认为可以对外提供服务。探针的典型应用是控制pod是否作为服务的对象。探针作为内置检测工具可以打开容器和重启容器,但是无法修复。
在本实施例中,判断无法正常启动后,则将主容器的上层节点删除,重新创建一个新的节点,然后在这个新的节点上创建容器。存在一种实施例,在删除主容器的上层节点后,不创建新的主容器,而是将取一个辅助容器标记为主容器替代主容器的功能与作用。在另一种实施例中,主容器在监测后正常启动,某一辅助容器中的第一镜像复制后无法打开,就将辅助容器的上层节点删除,并创建新的节点与新的辅助容器。
在所述将所述第二镜像依次通过所述主镜像仓库管理器、所述接口服务器连接、所述辅助镜像仓库管理器更新至所述辅助容器中之后,还包括:
通过接口服务器与异地服务器连接,将所述主容器的所述第二镜像复制入所述异地存储服务器中部署的异地主容器中;
在所述k8s集群环境中的所述本地服务器中选择测试容器,从所述异地主容器中将所述第二镜像复制到所述测试容器;
通过探针对所测试容器中的所述第二镜像进行测试,判断是否能成功启动;
若成功启动,则将备份成功的通知邮件发送至管理设备处。
k8s集群环境中的包括,本地服务器、异地服务器、独立镜像仓库的仓库共同提供集群环境中。其中独立镜像仓库可以是移动硬盘、手机设备、独立电脑设备、云端数据库,具备存储功能被纳入集群环境的设备都能作为独立镜像仓库。
在本实施例中,若异地服务器在无法与本地服务器连接,同样异地服务器也无法与以前连接过的独立镜像仓库进行连接。异地服务器可以将新的设备纳入集群环境,然后以物理连接将镜像备份进入新的设备。此时新的设备变为新的独立镜像仓库,而物理连接可以是数据线。作为新的集群环境中的镜像仓库,可以接收来自接口服务器传输的本地服务器部署的容器中的第二镜像,然后在新的镜像仓库中备份第二镜像,之后再传输至本地的测试容器中,在本地的测试容器中使用探针技术,对该模拟备份的第二镜像进行启动判断。若成功则发送邮件通知给管理设备处。在另一种实施例中,异地服务器存储设备已经损坏,在更换异地服务器存储设备后,就需要新的存储设备进行IP认证。这样在没有被认证的存储设备是无法进入集群环境对镜像进行复制、删除、备份、修改等操作。在更新储存设备之后,因为通信原因异地服务器无法直接与本地服务器连接,而本地服务器将第二镜像上传至公共镜像仓库。从公共镜像仓库下载第二镜像至服务器异地服务器中的容器中,再由异地服务器中的容器备份至本地服务器的测试容器中,完成测试过程。
在将所述主容器中更新后的第二镜像备份至所述辅助容器中之后,还包括:
读取所述k8s集群环境中的所述辅助容器的处理器使用率,判断所述处理器使用率是否超过上限阈值;
若超过所述上限阈值,在所述镜像仓库新增上限容器,将所述第二镜像复制至所述上限容器,直至所述处理器使用率小于所述上限阈值;
判断所述处理器使用率是否低于下限阈值;
若低于所述下限阈值,则将所述辅助容器删除,在所述镜像仓库新增下限容器,将所述第二镜像从所述主容器复制至所述下限容器中。
需要解释的,在备份数据时,需要不断监控集群环境中的辅助容器的处理器使用率,如果发现一个辅助容器的处理器使用率高于一个上限的设置,则说明该辅助容器的使用过载。此时,需要增加容器来分担这个辅助容器的数据量,增加的容器直到处理器使用率不高于上限阈值。在k8s集群环境中可以通过镜像仓库管理器内置的cadvisor对容器的数据进行监控。在Prometheus的配置文件中,配置了相关的Target之后,这些指标就可以从Prometheus中查询到。直接访问镜像仓库管理器的apiserver接口,可以读取以Prometheus支持的格式呈现的指标。CPU使用率的定义:即在过去的一段时间里进程占用的CPU时间与CPU总时间的比率,如果有多个CPU或者多核,需要将每个CPU的时间相加。
显然,还可能存在辅助容器直接损坏不再运行镜像,若处理器使用率小于下限阈值则需要将该辅助容器的上层节点一并删除,然后再创建一个新的节点,该节点区别与上面处理器使用率高于上限阈值的创建的节点,命名为下限节点。并创建下限节点的下限容器,下限容器用于替代之前判定为损坏的辅助容器。将第一镜像更新进入下限容器后,就完成了替代。
在一种实施例中,定时扫描集群环境中的辅助容器的处理器使用率,发现有些辅助容器的处理器使用率低于下限阈值,有些辅助容器的处理器使用率高于上限阈值。则同时增加上限容器与下限容器并将低于下限阈值的容器删除,两种判断同时进行。
在一种实施例中,在独立镜像仓库接入本地服务器或者是异地服务器中,就对独立镜像仓库镜像中的容器扫描,然后对超过上限阈值的容器增加新的容器分担数据量,对已经低于下限阈值的容器删除,并新增下限容器替代损坏的容器。
本发明实施例中,本发明解决了不同的终端设备之间配置不同而导致需要不同的脚本无法自动更新的技术问题。例如:在一个本地终端设备上Python语言版本为Python2.7,而在另外一个异地终端设备上的Python语言版本为Python3.1,这样两个版本不一致导致更新某一个数据会产生两个脚本分别对应本地终端设备与异地终端设备。在容器技术上可以很好的解决这个版本不一致的情况,在k8s集群环境中,不同的终端设备部署的容器可以相互备份使得脚本驱动更新的步骤简化,提高了工作效率与解决了一个无法自动更新的技术问题。
上面对本发明实施例中数据同步更新方法进行了描述,下面对本发明实施例中数据同步更新装置进行描述,请参阅图3,本发明实施例中数据同步更新装置一个实施例包括:
接收模块301,用于在接收到数据的更新请求时,根据所述更新请求获取目标终端上的待更新数据;
查询模块302,用于查询k8s集群环境中与所述目标终端对应的镜像仓库,并确定所述镜像仓库中的主容器和辅助容器,其中,所述辅助容器用于备份所述主容器中的数据层;
转化模块303,用于获取所述主容器存储数据的镜像规则,并根据所述镜像规则将所述待更新数据转换成第一镜像;
比较模块304,用于比较所述第一镜像是否与所述主容器中的第二镜像一致,其中,所述第一镜像和所述第二镜像均是基于相同的数据层框架写入数据后构成的数据集合;
更新模块305,用于若不一致,则根据所述第一镜像更新所述第二镜像,并在所述主容器更新所述第二镜像的同时触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中。
本发明实施例中,本发明解决了不同的终端设备之间配置不同而导致需要不同的脚本无法自动更新的技术问题。例如:在一个本地终端设备上Python语言版本为Python2.7,而在另外一个异地终端设备上的Python语言版本为Python3.1,这样两个版本不一致导致更新某一个数据会产生两个脚本分别对应本地终端设备与异地终端设备。在容器技术上可以很好的解决这个版本不一致的情况,在k8s集群环境中,不同的终端设备部署的容器可以相互备份使得脚本驱动更新的步骤简化,提高了工作效率与解决了一个无法自动更新的技术问题。
请参阅图4,本发明实施例中数据同步更新装置的另一个实施例包括:
接收模块401,用于在接收到数据的更新请求时,根据所述更新请求获取目标终端上的待更新数据;
查询模块402,用于查询k8s集群环境中与所述目标终端对应的镜像仓库,并确定所述镜像仓库中的主容器和辅助容器,其中,所述辅助容器用于备份所述主容器中的数据层;
转化模块403,用于获取所述主容器存储数据的镜像规则,并根据所述镜像规则将所述待更新数据转换成第一镜像;
比较模块404,用于比较所述第一镜像是否与所述主容器中的第二镜像一致,其中,所述第一镜像和所述第二镜像均是基于相同的数据层框架写入数据后构成的数据集合;
更新模块405,用于若不一致,则根据所述第一镜像更新所述第二镜像,并在所述主容器更新所述第二镜像的同时触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中。
可选的,转化模块403还可以具体用于:读取所述待更新数据的内容,并根据数据种类对所述待更新数据进行种类标记;获取预设的数据层框架,将被标记后的所述待更新数据按照所述种类标记依序写入到所述数据层框架中,得到镜像数据层集;将所述镜像数据层集进行封装得到所述第一镜像。
可选的,所述数据同步更新装置还包括检测模块406,所述检测模块406具体用于:调用探针判断所述主容器中的所述第二镜像是否正常启动,其中,所述探针为检测镜像状态的内置检测工具;若无法正常启动,则将所述主容器从所述镜像仓库中删除,并重新组建容器,得到新的主容器;将所述辅助容器中的备份数据层复制进入所述新的主容器中,得到第二镜像。
可选的,所述数据同步更新装置还包括提取模块407,所述提取模块407具体用于:
取所述第二镜像中与所述第一镜像所有的比对不一致的差异点以及每个差异点所在的数据层,其中,所述差异点为所述目标终端新增的数据或减少的数据或修改的数据;
这时,所述更新模块405包括分析单元4051,所述分析单元4051具体用于:判断每个差异点所在的数据层是否包含所述第二镜像中所有的数据层;若是,将所述主容器中的所述第二镜像删除,将所述第一镜像更新至所述主容器中;若不是,将所述主容器中的所述第二镜像的差异点所在数据层替换为所述第一镜像中对应的数据层。
可选的,所述更新模块405还包括传输单元4052,所述传输单元4052具体用于:调用所述主容器的主镜像仓库管理器,将所述主镜像仓库管理器与接口服务器连接;调用所述辅助容器的辅助镜像仓库管理器,将所述辅助镜像仓库管理器与所述接口服务器连接;将所述第二镜像依次通过所述主镜像仓库管理器、所述接口服务器连接、所述辅助镜像仓库管理器更新至所述辅助容器中。
可选的,所述数据同步更新装置还包括异地更新模块408,所述异地更新模块408具体用于:通过接口服务器与异地服务器连接,将所述主容器的所述第二镜像复制入所述异地存储服务器中部署的异地主容器中;在所述k8s集群环境中的所述本地服务器中选择测试容器,从所述异地主容器中将所述第二镜像复制到所述测试容器;通过探针对所测试容器中的所述第二镜像进行测试,判断是否能成功启动;若成功启动,则将备份成功的通知邮件发送至管理设备处。
可选的,所述数据同步更新装置还包括监控模块409,所述监控模块409具体用于:读取所述k8s集群环境中的所述辅助容器的处理器使用率,判断所述处理器使用率是否超过上限阈值;若超过所述上限阈值,在所述镜像仓库新增上限容器,将所述第二镜像复制至所述上限容器,直至所述处理器使用率小于所述上限阈值;判断所述处理器使用率是否低于下限阈值;若低于所述下限阈值,则将所述辅助容器删除,在所述镜像仓库新增下限容器,将所述第二镜像从所述主容器复制至所述下限容器中。
本发明实施例中,本发明解决了不同的终端设备之间配置不同而导致需要不同的脚本无法自动更新的技术问题。例如:在一个本地终端设备上Python语言版本为Python2.7,而在另外一个异地终端设备上的Python语言版本为Python3.1,这样两个版本不一致导致更新某一个数据会产生两个脚本分别对应本地终端设备与异地终端设备。在容器技术上可以很好的解决这个版本不一致的情况,在k8s集群环境中,不同的终端设备部署的容器可以相互备份使得脚本驱动更新的步骤简化,提高了工作效率与解决了一个无法自动更新的技术问题。
上面图3和图4从模块化功能实体的角度对本发明实施例中的数据同步更新装置进行详细描述,下面从硬件处理的角度对本发明实施例中数据同步更新设备进行详细描述。
图5是本发明实施例提供的一种数据同步更新设备的结构示意图,该数据同步更新设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据同步更新设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在数据同步更新设备500上执行存储介质530中的一系列指令操作。
基于数据同步更新设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的数据同步更新设备结构并不构成对基于数据同步更新设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述数据同步更新方法的步骤。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据同步更新方法,其特征在于,所述数据同步更新方法包括:
在接收到数据的更新请求时,根据所述更新请求获取目标终端上的待更新数据;
查询k8s集群环境中与所述目标终端对应的镜像仓库,并确定所述镜像仓库中的主容器和辅助容器,其中,所述辅助容器用于备份所述主容器中的数据层;
获取所述主容器存储数据的镜像规则,并根据所述镜像规则将所述待更新数据转换成第一镜像;
比较所述第一镜像是否与所述主容器中的第二镜像一致,其中,所述第一镜像和所述第二镜像均是基于相同的数据层框架写入数据后构成的数据集合;
若不一致,则根据所述第一镜像更新所述第二镜像,并在所述主容器更新所述第二镜像的同时触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中。
2.根据权利要求1所述的数据同步更新方法,其特征在于,所述获取所述主容器存储数据的镜像规则,并根据所述镜像规则将所述待更新数据转换成第一镜像包括:
读取所述待更新数据的内容,并根据预设的数据种类对所述待更新数据进行种类标记;
获取预设的数据层框架,将被标记后的所述待更新数据按照所述种类标记依序写入到所述数据层框架中,得到镜像数据层集;
将所述镜像数据层集进行封装处理,得到所述第一镜像。
3.根据权利要求1所述的数据同步更新方法,其特征在于,在所述比较所述第一镜像是否与所述主容器中的第二镜像一致之前,还包括:
调用探针判断所述主容器中的所述第二镜像是否正常启动,其中,所述探针为检测镜像状态的内置检测工具;
若无法正常启动,则将所述主容器从所述镜像仓库中删除,并重新组建容器,得到新的主容器;
将所述辅助容器中的备份数据层复制进入所述新的主容器中,得到第二镜像。
4.根据权利要求1所述的数据同步更新方法,其特征在于,在所述比较所述第一镜像与所述主容器中的第二镜像不一致之后,还包括:
提取所述第二镜像中与所述第一镜像所有的比对不一致的差异点以及每个差异点所在的数据层,其中,所述差异点为所述目标终端新增的数据或减少的数据或修改的数据;
所述根据所述第一镜像更新所述第二镜像包括:
判断每个差异点所在的数据层是否包含所述第二镜像中所有的数据层;
若是,将所述主容器中的所述第二镜像删除,将所述第一镜像更新至所述主容器中;
若不是,将所述主容器中的所述第二镜像的差异点所在数据层替换为所述第一镜像中对应的数据层。
5.根据权利要求1所述的数据同步更新方法,其特征在于,所述触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中包括:
调用所述主容器的主镜像仓库管理器,将所述主镜像仓库管理器与接口服务器连接;
调用所述辅助容器的辅助镜像仓库管理器,将所述辅助镜像仓库管理器与所述接口服务器连接;
将所述第二镜像依次通过所述主镜像仓库管理器、所述接口服务器连接、所述辅助镜像仓库管理器更新至所述辅助容器中。
6.根据权利要求5所述的数据同步更新方法,其特征在于,在所述将所述第二镜像依次通过所述主镜像仓库管理器、所述接口服务器连接、所述辅助镜像仓库管理器更新至所述辅助容器中之后,还包括:
通过接口服务器与异地服务器连接,将所述主容器的所述第二镜像复制入所述异地存储服务器中部署的异地主容器中;
在所述k8s集群环境中的所述本地服务器中选择测试容器,从所述异地主容器中将所述第二镜像复制到所述测试容器;
通过探针对所测试容器中的所述第二镜像进行测试,判断是否能成功启动;
若成功启动,则将备份成功的通知邮件发送至管理设备处。
7.根据权利要求1-6任一项所述的数据同步更新方法,其特征在于,在所述将所述主容器中更新后的第二镜像备份至所述辅助容器中之后,还包括:
读取所述k8s集群环境中的所述辅助容器的处理器使用率,判断所述处理器使用率是否超过上限阈值;
若超过所述上限阈值,在所述镜像仓库新增上限容器,将所述第二镜像复制至所述上限容器,直至所述处理器使用率小于所述上限阈值;
判断所述处理器使用率是否低于下限阈值;
若低于所述下限阈值,则将所述辅助容器删除,在所述镜像仓库新增下限容器,将所述第二镜像从所述主容器复制至所述下限容器中。
8.一种数据同步更新装置,其特征在于,所述数据同步更新装置包括:
接收模块,用于在接收到数据的更新请求时,根据所述更新请求获取目标终端上的待更新数据;
查询模块,用于查询k8s集群环境中与所述目标终端对应的镜像仓库,并确定所述镜像仓库中的主容器和辅助容器,其中,所述辅助容器用于备份所述主容器中的数据层;
转化模块,用于获取所述主容器存储数据的镜像规则,并根据所述镜像规则将所述待更新数据转换成第一镜像;
比较模块,用于比较所述第一镜像是否与所述主容器中的第二镜像一致,其中,所述第一镜像和所述第二镜像均是基于相同的数据层框架写入数据后构成的数据集合;
更新模块,用于在比较不一致时,根据所述第一镜像更新所述第二镜像,并在所述主容器更新所述第二镜像的同时触发所述k8s集群环境中容器间的磁盘共享策略,将所述主容器中更新后的第二镜像备份至所述辅助容器中。
9.一种数据同步更新设备,其特征在于,所述数据同步更新设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据同步更新设备执行如权利要求1-7中任意一项所述的数据同步更新方法。
10.一种计算机可读存储介质,包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述数据同步更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010400960.2A CN111737271A (zh) | 2020-05-13 | 2020-05-13 | 数据同步更新方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010400960.2A CN111737271A (zh) | 2020-05-13 | 2020-05-13 | 数据同步更新方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111737271A true CN111737271A (zh) | 2020-10-02 |
Family
ID=72647131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010400960.2A Pending CN111737271A (zh) | 2020-05-13 | 2020-05-13 | 数据同步更新方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737271A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527797A (zh) * | 2020-12-14 | 2021-03-19 | 中国联合网络通信集团有限公司 | 排队数据存储方法、边缘数据存储服务器及终端设备 |
CN112818183A (zh) * | 2021-02-03 | 2021-05-18 | 恒安嘉新(北京)科技股份公司 | 一种数据合成方法、装置、计算机设备和存储介质 |
CN112974289A (zh) * | 2020-11-09 | 2021-06-18 | 重庆康佳光电技术研究院有限公司 | 分选方法、分选装置、计算机可读存储介质及电子设备 |
CN113742138A (zh) * | 2021-09-06 | 2021-12-03 | 深圳市云鼠科技开发有限公司 | 一种数据管理方法、装置、电子设备及存储介质 |
CN116955015A (zh) * | 2023-09-19 | 2023-10-27 | 恒生电子股份有限公司 | 基于数据存储服务的数据备份系统及方法 |
CN112818183B (zh) * | 2021-02-03 | 2024-05-17 | 恒安嘉新(北京)科技股份公司 | 一种数据合成方法、装置、计算机设备和存储介质 |
-
2020
- 2020-05-13 CN CN202010400960.2A patent/CN111737271A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112974289A (zh) * | 2020-11-09 | 2021-06-18 | 重庆康佳光电技术研究院有限公司 | 分选方法、分选装置、计算机可读存储介质及电子设备 |
CN112974289B (zh) * | 2020-11-09 | 2023-04-28 | 重庆康佳光电技术研究院有限公司 | 分选方法、分选装置、计算机可读存储介质及电子设备 |
CN112527797A (zh) * | 2020-12-14 | 2021-03-19 | 中国联合网络通信集团有限公司 | 排队数据存储方法、边缘数据存储服务器及终端设备 |
CN112527797B (zh) * | 2020-12-14 | 2023-10-20 | 中国联合网络通信集团有限公司 | 排队数据存储方法、边缘数据存储服务器及终端设备 |
CN112818183A (zh) * | 2021-02-03 | 2021-05-18 | 恒安嘉新(北京)科技股份公司 | 一种数据合成方法、装置、计算机设备和存储介质 |
CN112818183B (zh) * | 2021-02-03 | 2024-05-17 | 恒安嘉新(北京)科技股份公司 | 一种数据合成方法、装置、计算机设备和存储介质 |
CN113742138A (zh) * | 2021-09-06 | 2021-12-03 | 深圳市云鼠科技开发有限公司 | 一种数据管理方法、装置、电子设备及存储介质 |
CN116955015A (zh) * | 2023-09-19 | 2023-10-27 | 恒生电子股份有限公司 | 基于数据存储服务的数据备份系统及方法 |
CN116955015B (zh) * | 2023-09-19 | 2024-01-23 | 恒生电子股份有限公司 | 基于数据存储服务的数据备份系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737271A (zh) | 数据同步更新方法、装置、设备及存储介质 | |
EP2210183B1 (en) | Managing updates to create a virtual machine facsimile | |
CN110209650B (zh) | 数据规整迁移方法、装置、计算机设备和存储介质 | |
WO2017162032A1 (zh) | 执行数据恢复操作的方法及装置 | |
US20070022023A1 (en) | Method and apparatus for populating a software catalogue with software knowledge gathering | |
CN107783816A (zh) | 虚拟机的创建方法及装置、大数据集群创建的方法及装置 | |
CN110990335B (zh) | 日志归档方法、装置、设备及计算机可读存储介质 | |
WO2019085290A1 (zh) | 测试前置实现方法、装置、终端设备及存储介质 | |
CN111736762B (zh) | 数据存储网络的同步更新方法、装置、设备及存储介质 | |
CN110063042A (zh) | 一种数据库故障的响应方法及其终端 | |
CN110647318A (zh) | 一种有状态应用的实例创建方法、装置、设备及介质 | |
CN106406923A (zh) | 动态库文件的处理方法及装置 | |
CN113315754B (zh) | 容器出访防火墙智能联动方法及装置、设备、介质 | |
CN112367186B (zh) | 一种基于0penStack裸机的故障保护方法及装置 | |
CN112445519B (zh) | 文件变更控制方法、装置、设备及存储介质 | |
JP2021140430A (ja) | データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム | |
CN113420081A (zh) | 数据校验方法、装置、电子设备及计算机存储介质 | |
CN113286014B (zh) | 基础域名的动态配置方法、装置及相关设备 | |
CN113238956A (zh) | 异常应用的故障分析方法、装置、设备及存储介质 | |
CN113110804A (zh) | 重复图片删除方法、装置、设备及存储介质 | |
CN112511493B (zh) | 业务数据报文处理方法、装置、计算机设备和存储介质 | |
CN111079199B (zh) | 基于区块链技术的企业信用数据截图防篡改方法 | |
EP1746501A1 (en) | Method and apparatus for populating a software catalogue with software knowledge gathering | |
CN113157645B (zh) | 集群数据迁移方法、装置、设备及存储介质 | |
CN110162507B (zh) | 快照覆写方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220929 Address after: Room 2601 (Unit 07), Qianhai Free Trade Building, No. 3048, Xinghai Avenue, Nanshan Street, Qianhai Shenzhen-Hong Kong Cooperation Zone, Shenzhen, Guangdong 518000 Applicant after: Shenzhen Ping An Smart Healthcare Technology Co.,Ltd. Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000 Applicant before: Ping An International Smart City Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |