本发明涉及云技术领域,尤其涉及一种数据存储网络的同步更新方法、装置、设备及存储介质。
背景技术:
在技术不断升级的时代,一个个网络技术如同雨后春笋般不断涌现。在为了高效地利用网络运算能力提高网络存储的稳定性,人们提出了一个个的方案,并且相互实践验证方案的可行性。通过kubernetes集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。
在数据更新时,不同地区或者是计算机的版本不同导致基于相同的kubernetes集群技术的数据更新,却要使用定制kubernetes集群的脚本来相互更新,不能一步到位使数据更新变的快速简单,目前需要一种管理方式将不同的kubernetes集群中数据同步进行协调更改。
技术实现要素:
本发明的主要目的在于解决不同的虚拟化集群环境中统一更新数据的步骤复杂的问题。
本发明第一方面提供了一种数据存储网络的同步更新方法,包括:获取数据同步更新请求,从所述数据同步更新请求中获取待同步更新的目标数据和待同步更新的目标集群集合;获取所述目标数据在所述目标集群集合中每个目标集群对应的存储规则;将所述目标数据按照每个目标集群对应的存储规则进行转换成存储数据,并基于所述存储数据生成对应的原始哈希校验码;将所述存储数据复制进入对应的目标集群的第一虚拟存储盘中,其中,所述第一虚拟存储盘为目标集群基于相同虚拟化技术形成的存储盘;读取每个目标集群中的存储数据进行哈希运算,得到哈希校验码;将每个目标集群的哈希校验码与对应的原始哈希校验码进行比较,得到比较结果;若所述比较结果中存在至少一个目标集群的哈希校验码与对应的原始哈希校验码不一致,则在所述哈希校验码对应的目标集群中构建第二虚拟存储盘,并将所述存储数据复制至所述第二虚拟存储盘。
可选的,在本发明第一方面的第一种实现方式中,所述获取所述目标数据在所述目标集群集合中每个目标集群对应的存储规则包括:调用接口服务器读取每个目标集群的格式码,其中,所述接口服务器为内置的数据传输接口,所述格式码为目标集群使用存储规则种类的特征码;判断基础数据库中是否存在所述格式码对应的存储规则,其中,所述基础数据库是在内置的保存目标集群的存储规则的数据库;若存在,调用所述接口服务器将所述存储规则获取;若不存在,调用所述接口服务器连接云端数据库,根据所述格式码在所述云端数据库中获取所述存储规则,其中,所述云端数据库为互联网网络中指定的虚拟化数据库。
可选的,在本发明第一方面的第二种实现方式中,所述将所述目标数据按照每个目标集群对应的存储规则进行转换成存储数据包括:根据所述存储规则生成初始层集模板,其中,所述初始层集模板为数据分类存储的框架;将所述目标数据分类写入所述初始层集模板获得目标数据层集模板;将所述存储规则的格式码写入所述目标数据层集模板进行封装生成存储数据。
可选的,在本发明第一方面的第三种实现方式中,所述将所述存储数据复制进入对应的目标集群的第一虚拟存储盘中包括:调用探针判断所述第一虚拟存储盘是否正常启动,其中,所述探针为检测虚拟存储盘状态的内置检测工具;若是,将所述存储数据复制进入所述第一虚拟存储盘;若否,将所述第一虚拟存储盘删除,在所述目标集群中创建第三虚拟存储盘,将所述存储数据复制进入所述第三虚拟存储盘。
可选的,在本发明第一方面的第四种实现方式中,所述在所述哈希校验码对应的目标集群中构建第二虚拟存储盘,并将所述存储数据复制至所述第二虚拟存储盘包括:调用第二接口服务器在所述目标集群中第二虚拟存储盘中写入识别标签,其中,所述第二接口服务器为所述目标集群中内置的接口服务器;在所述存储数据中写入识别标签;根据所述识别标签的匹配将所述存储数据复制进所述第二虚拟存储盘中。
可选的,在本发明第一方面的第五种实现方式中,所述在所述哈希校验码对应的目标集群中构建第二虚拟存储盘,并将所述存储数据复制至所述第二虚拟存储盘之后,还包括:根据预设的时间间隔,定时读取所述第二虚拟存储盘的处理器使用率;判断所述处理器使用率是否低于下限阈值;若低于所述下限阈值,则将所述第二虚拟存储盘删除,在所述目标集群中创建第四虚拟存储盘;调用第二接口服务器将所述存储数据复制进入所述第四虚拟存储盘。
可选的,在本发明第一方面的第六种实现方式中,所述在所述哈希校验码对应的目标集群中构建第二虚拟存储盘,并将所述存储数据复制至所述第二虚拟存储盘之后,还包括:分别读取所有目标集群对应的所述存储数据的读写频率;判断所述读写频率是否高于频率阈值;若是,将所述存储数据对应的存储规则复制进入所述基本数据库,并将所述存储规则标记为高频规则,其中,所述高频规则是在查询存储规则时会优先查询的存储规则。
本发明第二方面提供了一种数据存储网络的同步更新装置,包括:读取模块,用于获取数据同步更新请求,从所述数据同步更新请求中获取待同步更新的目标数据和待同步更新的目标集群集合;获取模块,用于获取所述目标数据在所述目标集群集合中每个目标集群对应的存储规则;转化模块,用于将所述目标数据按照每个目标集群对应的存储规则进行转换成存储数据,并基于所述存储数据生成对应的原始哈希校验码;复制模块,用于将所述存储数据复制进入对应的目标集群的第一虚拟存储盘中,其中,所述第一虚拟存储盘为目标集群基于相同虚拟化技术形成的存储盘;运算模块,用于读取每个目标集群中的存储数据进行哈希运算,得到哈希校验码;比较模块,用于将每个目标集群的哈希校验码与对应的原始哈希校验码进行比较,得到比较结果;构建模块,用于若所述比较结果中存在至少一个目标集群的哈希校验码与对应的原始哈希校验码不一致,则在所述哈希校验码对应的目标集群中构建第二虚拟存储盘,并将所述存储数据复制至所述第二虚拟存储盘。
可选的,在本发明第二方面的第一种实现方式中,所述获取模块具体用于:调用接口服务器读取每个目标集群的格式码,其中,所述接口服务器为内置的数据传输接口,所述格式码为目标集群使用存储规则种类的特征码;判断基础数据库中是否存在所述格式码对应的存储规则,其中,所述基础数据库是在内置的保存目标集群的存储规则的数据库;若存在,调用所述接口服务器将所述存储规则获取;若不存在,调用所述接口服务器连接云端数据库,根据所述格式码在所述云端数据库中获取所述存储规则,其中,所述云端数据库为互联网网络中指定的虚拟化数据库。
可选的,在本发明第二方面的第二种实现方式中,所述转化模块具体用于:根据所述存储规则生成初始层集模板,其中,所述初始层集模板为数据分类存储的框架;将所述目标数据分类写入所述初始层集模板获得目标数据层集模板;将所述存储规则的格式码写入所述目标数据层集模板进行封装生成存储数据。
可选的,在本发明第二方面的第三种实现方式中,所述复制模块具体用于:调用探针判断所述第一虚拟存储盘是否正常启动,其中,所述探针为检测虚拟存储盘状态的内置检测工具;若是,将所述存储数据复制进入所述第一虚拟存储盘;若否,将所述第一虚拟存储盘删除,在所述目标集群中创建第三虚拟存储盘,将所述存储数据复制进入所述第三虚拟存储盘。
可选的,在本发明第二方面的第四种实现方式中,所述构建模块具体用于:调用第二接口服务器在所述目标集群中第二虚拟存储盘中写入识别标签,其中,所述第二接口服务器为所述目标集群中内置的接口服务器;在所述存储数据中写入识别标签;根据所述识别标签的匹配将所述存储数据复制进所述第二虚拟存储盘中。
可选的,在本发明第二方面的第五种实现方式中,所述数据存储网络的同步更新装置还包括:
使用率读取模块,用于根据预设的时间间隔,定时读取所述第二虚拟存储盘的处理器使用率;
使用率判断模块,用于判断所述处理器使用率是否低于下限阈值;
存储盘创建模块,用于若低于所述下限阈值,则将所述第二虚拟存储盘删除,在所述目标集群中创建第四虚拟存储盘;
数据复制模块,用于调用第二接口服务器将所述存储数据复制进入所述第四虚拟存储盘。
可选的,在本发明第二方面的第六种实现方式中,所述数据存储网络的同步更新装置还包括:
频率获取模块,用于分别读取所有目标集群对应的所述存储数据的读写频率;
频率判断模块,用于判断所述读写频率是否高于频率阈值;
高频标记模块,用于若所述读写频率高于频率阈值,将所述存储数据对应的存储规则复制进入所述基本数据库,并将所述存储规则标记为高频规则,其中,所述高频规则是在查询存储规则时会优先查询的存储规则。
本发明第三方面提供了一种数据存储网络的同步更新设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据存储网络的同步更新设备执行上述的数据存储网络的同步更新方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的数据存储网络的同步更新方法。
本发明提供的技术方案中,获取数据同步更新请求,从所述数据同步更新请求中获取待同步更新的目标数据和待同步更新的目标集群集合;获取所述目标数据在所述目标集群集合中每个目标集群对应的存储规则;将所述目标数据按照每个目标集群对应的存储规则进行转换成存储数据,并基于所述存储数据生成对应的原始哈希校验码;将所述存储数据复制进入对应的目标集群的第一虚拟存储盘中,其中,所述第一虚拟存储盘为目标集群基于相同虚拟化技术形成的存储盘;读取每个目标集群中的存储数据进行哈希运算,得到哈希校验码;将每个目标集群的哈希校验码与对应的原始哈希校验码进行比较,得到比较结果;若所述比较结果中存在至少一个目标集群的哈希校验码与对应的原始哈希校验码不一致,则在所述哈希校验码对应的目标集群中构建第二虚拟存储盘,并将所述存储数据复制至所述第二虚拟存储盘。本发明实施例中,在集群技术不断在被实际的生产中应用,集群技术以其快速应用的更改内容方式地将不同物理机上的数据进行更改。而本发明通过对不同的集群之间数据调整使不同的k8s集群的数据能相互之间更改与更新。通过使用集群管理平台方式,对不同k8s集群的管理,对不同的k8s集群之间的数据实现协调同步的效果。
附图说明
图1为本发明实施例中数据存储网络的同步更新方法的第一个实施例示意图;
图2为本发明实施例中数据存储网络的同步更新方法的第二个实施例示意图;
图3为本发明实施例中数据存储网络的同步更新方法的第三个实施例示意图;
图4为本发明实施例中数据存储网络的同步更新装置的一个实施例示意图;
图5为本发明实施例中数据存储网络的同步更新装置的另一个实施例示意图;
图6为本发明实施例中数据存储网络的同步更新设备的一个实施例示意图。
具体实施方式
本发明提供的技术方案中,获取数据同步更新请求,从所述数据同步更新请求中获取待同步更新的目标数据和待同步更新的目标集群集合;获取所述目标数据在所述目标集群集合中每个目标集群对应的存储规则;将所述目标数据按照每个目标集群对应的存储规则进行转换成存储数据,并基于所述存储数据生成对应的原始哈希校验码;将所述存储数据复制进入对应的目标集群的第一虚拟存储盘中,其中,所述第一虚拟存储盘为目标集群基于相同虚拟化技术形成的存储盘;读取每个目标集群中的存储数据进行哈希运算,得到哈希校验码;将每个目标集群的哈希校验码与对应的原始哈希校验码进行比较,得到比较结果;若所述比较结果中存在至少一个目标集群的哈希校验码与对应的原始哈希校验码不一致,则在所述哈希校验码对应的目标集群中构建第二虚拟存储盘,并将所述存储数据复制至所述第二虚拟存储盘。本发明实施例中,在集群技术不断在被实际的生产中应用,集群技术以其快速应用的更改内容方式地将不同物理机上的数据进行更改。而本发明通过对不同的集群之间数据调整使不同的k8s集群的数据能相互之间更改与更新。通过使用集群管理平台方式,对不同k8s集群的管理,对不同的k8s集群之间的数据实现协调同步的效果。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中数据存储网络的同步更新方法的第一个实施例包括:
101、获取数据同步更新请求,从所述数据同步更新请求中获取待同步更新的目标数据和待同步更新的目标集群集合;
在本实施例中,获取数据处理请求时是使用统一的对外接口服务器,该对外接口服务器是独立于处理平台的服务器,接口服务器获得数据处理请求后,处理平台从接口服务器获得数据处理请求。而从整体框架来说,接口服务器对接的是来自用户终端、数据库、互联网等外部数据信息,并将信息传递给管理平台来进行处理。从接口服务器中获取数据请求,然后将数据请求放入管理平台进行进一步处理。
102、获取所述目标数据在所述目标集群集合中每个目标集群对应的存储规则;
在本实施例中,在外部的存储器的基本数据库federationetcd中获取到目标数据至集群管理平台federation-controller-manager,集群管理平台基于k8s集群对其他目标集群的集群规则进行获取,其中目标集群的集群可以是rides、tetra、ha等集群类型。不同的目标集群有不同的存储规则,不同的存储规则都在集群管理平台中,在平台中进行转化成存储规则。通过无线接口tcp/ip协议与接口服务器连接,从接口服务器中获得目标数据与存储规则。在一种实施例中,有多个管理平台,管理平台之间通过接口服务器相互传输数据,可以使用物理数据线进行传输,也能使用无线信号传播。在一种实施例中,管理平台内置接口服务器能在平台之间相互传输数据,当更新存储规则可以使用内置接口服务器更换规则。
103、将所述目标数据按照每个目标集群对应的存储规则进行转换成存储数据,并基于所述存储数据生成对应的原始哈希校验码;
在本实施例中,集群管理平台federation-controller-manager调用每个集群的apisever接口服务器,将存储格式数据复制进入在a地的redis集群,存储格式数据复制进入在b地的k8s集群,然后在每个集群的存储设备etcd中进行存储。在处理时要确定#dockerfile格式并说明依赖的镜像,然后写入制作者信息。之后找到工作目录,打包启动镜像后的所在目录,然后执行的命令,默认sh-c方式执行,采用[]后替代默认。复制文件到容器目录,add命令自动使用tar-x解压,镜像启动命令然后开启的端口。编写完毕后开始编译镜像赋予编译名,修改标签并上传。由于镜像是由于多个数据层构成,而这些数据层在数据没有被封装成镜像都可以进行修改,如果已经被封装那就无法再更改。根据存储规则将目标数据转为为存储格式数据时,会伴随存储格式数据生成对应的原始哈希校验码,原始哈希校验码是用于确定最开始的存储格式数据的数据内容,将存储格式数据复制进入集群的镜像仓库中,镜像仓库即为第一虚拟存储盘。不同的集群使用虚拟化的技术也不同,因此第一虚拟存储盘可以在不同的集群中表现不同表现为镜像仓库、数据节点、container等。
104、将所述存储数据复制进入对应的目标集群的第一虚拟存储盘中;
在本实施例中,第一虚拟存储盘有很多,每个目标集群中都有第一虚拟存储盘,这些目标容器是被指定为存储格式数据复制进入的数据中,在每个集群中分别将第一虚拟存储盘加载存储格式数据。使用正则规则判断第一虚拟存储盘有没有加载存储格式数据,例如,在存储格式数据的每层中写入特征码“####///###…**”当检测每个数据层中都有特征码时,就将存储格式数据已经复制进入第一虚拟存储盘。当成功检测后,就在计数器中增加一个计数,如之前计数为8,而多检测一个合格就为9,但目标集群集合中目标集群总数为18,只有当计数到18时才能确认目标集群集合中目标集群均为满足存储格式数据。
105、读取每个目标集群中的存储数据进行哈希运算,得到哈希校验码;
在一种实施例中,使用md5算法作为哈希运算,该算法是rivest于1991年对md4的改进版本。它对输入仍以512位分组,其输出是4个32位字的级联,与md4相同。md5比md4来得复杂,并且速度较之要慢一点,但更安全,在抗分析和抗差分方面表现更好。
在另一种实施例中,使用sha-1算法哈希运算,它对长度小于264的输入,产生长度为160bit的散列值,因此抗穷举(brute-force)性更好。sha-1设计时基于和md4相同原理,并且模仿了该算法。
106、将每个目标集群的哈希校验码与对应的原始哈希校验码进行比较,得到比较结果;
在本实施例中,已经将存储格式数据复制进入第一虚拟存储盘中,但是,还未确定存储格式数据是否已经发生变化,在生成存储格式数据时,哈希校验码在系统中已经被存储,获取存储格式数据与系统中哈希校验码一起进行比较,判断是否一致。“0x73dc1683,0xe3630b12,0x94643b84,0x0d6d6a3e,0x7a6a5aa8,0xe40ecf0b,0x9309ff9d,0x0a00ae27,0x7d079eb1”这是系统中的哈希校验码,而存储格式数据中也是“0x73dc1683,0xe3630b12,0x94643b84,0x0d6d6a3e,0x7a6a5aa8,0xe40ecf0b,0x9309ff9d,0x0a00ae27,0x7d079eb1”经过运算比对,确认是一致,则认为存储格式数据是没有发生改变。
107、若所述比较结果中存在至少一个目标集群的哈希校验码与对应的原始哈希校验码不一致,则在所述哈希校验码对应的目标集群中构建第二虚拟存储盘,并将所述存储数据复制至所述第二虚拟存储盘。
在本实施例中,确认存在没有成功加载的目标集群,则将每个没有成功加载的目标集群的第一容器的上层节点node删除,然后重新在集群中选择一个节点创建一个容器,并将该容器作为第二目标容器,将存储格式数据复制进入第二目标容器。由于容器与镜像具有关联性,因此只要镜像复制进入容器中,就无法完全删除,就必须删除上层节点,重新创建容器。在复制进入时,还需要调用k8s集群内置的接口服务器,处理平台调用接口服务器在目标集群中进行容器创建。
本发明实施例中,在集群技术不断在被实际的生产中应用,集群技术以其快速应用的更改内容方式地将不同物理机上的数据进行更改。而本发明通过对不同的集群之间数据调整使不同的k8s集群的数据能相互之间更改与更新。通过使用集群管理平台方式,对不同k8s集群的管理,对不同的k8s集群之间的数据实现协调同步的效果。
请参阅图2,本发明实施例中数据存储网络的同步更新方法的第二个实施例包括:
201、获取数据同步更新请求,从所述数据同步更新请求中获取待同步更新的目标数据和待同步更新的目标集群集合;
202、调用接口服务器读取每个目标集群的格式码;
在本实施例中,第一接口服务器是集合在外部的数据中转数据服务器,提供了集群管理的restapi接口。在获取数据时,构建的数据链路可以是tcp/ip通信协议的无线连接也可以是光纤数据连接。而基本数据库中的数据可以是以sql进行管理,获取到基本数据库中需要的数据。
203、判断基础数据库中是否存在所述格式码对应的存储规则;
在本实施例中,基础数据库是本地内置存储规则的数据库,在面对rides集群与k8s集群不同的格式码而转换的存储规则不同,而且不同的k8s集群的版本不同而对应的存储规则也不同,因此需要查询出格式码对应的存储规则。
204、若存在,调用所述接口服务器将所述存储规则获取;
在本实施例中,接口服务器会在基础数据库的内部地址中读取到特定的存储规则。在另一种实施例中,由于ipmi获取服务器硬件信息不够全面,于是基于idrac开发全新接口.idrac服务器详细信息获取数据包括(电池,mac地址,内核详情,cpu详情,内存详情,磁盘详情,系统名,操作系统类型等等)其它数据待开发作为存储数据的格式码然后比对在基础数据库中查询。
205、若不存在,调用所述接口服务器连接云端数据库,根据所述格式码在所述云端数据库中获取所述存储规则;
在本实施例中,则无法在基本数据库中获得存储规则,使用标准串口(rs232)连接云端数据库,向云端数据库发出请求,下载存储规则。可以使用netbeui协议和ipx/spx协议与云端数据库进行交流数据,最后获得存储规则。
206、根据所述存储规则生成初始层集模板;
在本实施例中,根据镜像规则生成读写层addtomcat、addmysql、根镜像rootfs、kernel五个数据层集模板,其中读写层为动态的环境,而addmysql是继承根镜像,封装为mysql镜像,而根镜像为操作系统的内容。上层文件叠于下层文件上,若上层文件有与下层文件重复的,则覆盖掉下层文件重复的部分。初级层集模板有很多类型,根据版本可以生成不同初级层集模板的框架。
207、将所述目标数据分类写入所述初始层集模板获得目标数据层集模板;
在本实施例中,将目标数据类似“001101000101”这样的数据根据类型不同写入镜像模板的数据内容中,然后根据层集模板的不同分类获得镜像层级。将一些代码操作数据也写入至镜像层级模板,“def__init__(self):self.file=codecs.open('spiderdata.json','w',encoding="utf-8")”将数据写入addtomcat的读写层,获得数据操作方式。
208、将所述存储规则的格式码写入所述目标数据层集模板进行封装生成存储数据;
在本实施例中,使用nginx封装的封装模式,找到镜像仓库中的存储位置,将当前的镜像层集模板拷贝至容器仓库中,并将协助封装工具nginx同样解压至容器仓库中,寻找仓库接口,编译指令生成第一镜像,然后再次构建将第一镜像中不需要的组件删除,获得第二镜像,启动镜像,生成镜像然后运行镜像。如果镜像成功运行则将第二镜像作为目标镜像写入目录中,以备后期调用。
209、调用探针判断所述第一虚拟存储盘是否正常启动;
在本实施例中,调用liveness探针来判断容器是否处于正常启动状态,当服务器死锁或者崩溃时,需要自行更改设置让机器恢复正常。其中,检测结果有三种情况,成功启动、启动失败、未知结果。若检测结果为未知就需要检测未知,人工干预。在另一种实施例中,探针检测检测容器的ip、port、path,并使用httpget请求检查,观察返回值是否介于200至400之间,若观察值介于200至400之间则为正常启动,若观察值不是介于200至400之间则认为启动失败。
210、若是,将所述存储数据复制进入所述第一虚拟存储盘;
在本实施例中,已经确认第一目标容器是能打开,但还不知道容器中是否存在目标镜像,则将将http默认发布文件所在目录挂载到http的默认发布目录下,然后根据镜像的名称与版本号查询出目标镜像。“classicalimage121,version:2.120.1”这样的组合是唯一的内容,根据组合可以根据组合的唯一性,遍历所有目录的名称获得目标镜像,则认为查询出目标镜像。
211、若否,将所述第一虚拟存储盘删除,在所述目标集群中创建第三虚拟存储盘,将所述存储数据复制进入所述第三虚拟存储盘;
在本实施例中,将目标集群中的已经损坏的第一虚拟存储盘进行删除,然后重新创建一个新的虚拟存储盘,第三虚拟存储盘是在管理平台上调整重新创建,可以在存储设备组不同于第一虚拟盘重新创建新的存储设备组进行虚拟化形成新的第三虚拟存储盘。
212、读取每个目标集群中的存储数据进行哈希运算,得到哈希校验码;
213、将每个目标集群的哈希校验码与对应的原始哈希校验码进行比较,得到比较结果;
214、若所述比较结果中存在至少一个目标集群的哈希校验码与对应的原始哈希校验码不一致,则在所述哈希校验码对应的目标集群中构建第二虚拟存储盘,并将所述存储数据复制至所述第二虚拟存储盘。
在具体实施过程还可以有以下步骤:
调用第二接口服务器在所述目标集群中第二虚拟存储盘中写入识别标签,其中,所述第二接口服务器为所述目标集群中内置的接口服务器;
在本实施例中,第二接口服务器是每个k8s集群中内置的接口服务器,该服务器为k8s集群中负责管理节点上的容器与镜像的服务器。在接口服务器里里使用随机将一个节点选择为目标节点。例如,将“pod12”作为目标节点,在“pod12”中将其中“image55”作为第二目标容器,并在目标容器“image55”中写入“target1”的识别标签,此时初级的识别目标已经完成。
在所述存储数据中写入识别标签;
在本实施例中,“classicalimage121,version:2.120.1”的镜像中的addtomcat层中写入“target1”的识别标签,此时是为了后一步的匹配工作。另一种实施例中,在addtomcat层在加上一层数据识别层,然后在数据识别层中增加“target1”。
根据所述识别标签的匹配将所述存储数据复制进所述第二虚拟存储盘中。
在本实施例中,镜像与容器均在识别标签“target1”匹配数据,然后根据“target1”的内容将目标镜像复制进入容器中。并且在容器的目录中添加镜像的名称“classicalimage121,version:2.120.1”,方便后期调用与更改。
本发明实施例中,在集群技术不断在被实际的生产中应用,集群技术以其快速应用的更改内容方式地将不同物理机上的数据进行更改。而本发明通过对不同的集群之间数据调整使不同的k8s集群的数据能相互之间更改与更新。通过使用集群管理平台方式,对不同k8s集群的管理,对不同的k8s集群之间的数据实现协调同步的效果。
请参阅图3本发明实施例中数据存储网络的同步更新方法的第三个实施例包括:
301、获取数据同步更新请求,从所述数据同步更新请求中获取待同步更新的目标数据和待同步更新的目标集群集合;
302、获取所述目标数据在所述目标集群集合中每个目标集群对应的存储规则;
303、将所述目标数据按照每个目标集群对应的存储规则进行转换成存储数据,并基于所述存储数据生成对应的原始哈希校验码;
304、将所述存储数据复制进入对应的目标集群的第一虚拟存储盘中;
305、读取每个目标集群中的存储数据进行哈希运算,得到哈希校验码;
306、将每个目标集群的哈希校验码与对应的原始哈希校验码进行比较,得到比较结果;
307、若所述比较结果中存在至少一个目标集群的哈希校验码与对应的原始哈希校验码不一致,则在所述哈希校验码对应的目标集群中构建第二虚拟存储盘,并将所述存储数据复制至所述第二虚拟存储盘。
308、根据预设的时间间隔,定时读取所述第二虚拟存储盘的处理器使用率;
在本实施例中,设定时间间隔为“20s”,即在20秒之内就要将处理器进行读取数据。若处理为单核处理器,则读取单核的使用率,若处理器的总处理速度为2.00ghz,单核处理速度为1ghz,则处理器使用率为50%。若为多核处理器,则读取多核处理器所有的使用率在于总处理速度相比。例如,处理器为4和处理器,总处理速度为2.00ghz,而4核处理器速度分别为500mhz、200mhz、0hz、300mhz,因此总的处理器使用率为(500+200+300)/1000/2=50%。
309、判断所述处理器使用率是否低于下限阈值;
在本实施例中,若设置下限阈值为12%,将上一步获得的处理器使用率与下限阈值的12%作比较,判断得出下限阈值与使用率的大小。其中,若处理器为多核处理器,按照每个核的使用率来说都是低于下限阈值,而总和大于下限阈值,认为处理器使用率是高于下限阈值。
310、若低于所述下限阈值,则将所述第二虚拟存储盘删除,在所述目标集群中创建第四虚拟存储盘;
在本实施例中,在判断处理器使用率低于下限阈值时,将第二虚拟存储盘删除,重新创建一个新的虚拟存储盘,第四虚拟存储盘是在管理平台上调整重新创建,可以在存储设备组不同于第二虚拟盘重新创建新的存储设备组进行虚拟化形成新的第四虚拟存储盘。
311、调用第二接口服务器将所述存储格式数据复制进入所述第四虚拟存储盘;
在本实施例中,将存储格式数据“image21,version:2.131.1”复制进入“pod2”的存储盘中,在复制方式上,可以使用循环拷贝,先使用for循环对镜像中元素进行逐个拷贝。也可以是目标拷贝,使用clone()函数将存储格式数据复制进入第四虚拟存储盘中。
312、分别读取所有目标集群对应的所述存储格式数据的读写频率;
在本实施例中,将节点如“pod1”、“pod2”、“pod3”、“pod4”逐个扫描获得每个节点下的容器“pod1,container1”、“pod1,container2”、“pod1,container3”、“pod1,container4”、“pod1,container5”而且在每个容器都有不同的镜像例如,“pod1,container1,image1”、“pod1,container1,image2”、“pod1,container1,image3”、“pod1,container1,image4”、“pod1,container1,image5”,将所有的数据分类都按着目录方式显示,也可以使用ui的方式,对每个目录的动画式的显示。
313、判断所述读写频率是否高于频率阈值;
在本实施例中,数据表中有“image1”、“image2”、“image3”、“image4”的在一天的读写的频率分别是52、36、81、75。而频率阈值是55,有超过55的频率才能认为是高频率的存储格式数据。
314、若是,将所述存储格式数据对应的存储规则复制进入所述基本数据库,并将所述存储规则标记为高频规则。
在本实施例中,当发现“imag2”、“imag6”读写频率为645与631,而频率阈值为500。因此,“imag2”、“imag6”的镜像的状态为活跃状态,将外部数据接口服务器、k8s内置的接口服务器、“imag2”建立链路方便更新与传输,外部数据接口服务器、k8s内置的接口服务器、“imag6”也同样建立相同的链路,并且将“imag2”、“imag6”均复制进入基本数据库,方便下次查询时能快速查询,属于机器学习的简单方式,增加数据库中特定数据库。
本发明实施例中,在集群技术不断在被实际的生产中应用,集群技术以其快速应用的更改内容方式地将不同物理机上的数据进行更改。而本发明通过对不同的集群之间数据调整使不同的k8s集群的数据能相互之间更改与更新。通过使用集群管理平台方式,对不同k8s集群的管理,对不同的k8s集群之间的数据实现协调同步的效果。
上面对本发明实施例中数据存储网络的同步更新方法进行了描述,下面对本发明实施例中数据存储网络的同步更新装置进行描述,请参阅图4,本发明实施例中数据存储网络的同步更新装置一个实施例包括:
读取模块401,用于获取数据同步更新请求,从所述数据同步更新请求中获取待同步更新的目标数据和待同步更新的目标集群集合;
获取模块402,用于获取所述目标数据在所述目标集群集合中每个目标集群对应的存储规则;
转化模块403,用于将所述目标数据按照每个目标集群对应的存储规则进行转换成存储数据,并基于所述存储数据生成对应的原始哈希校验码;
复制模块404,用于将所述存储数据复制进入对应的目标集群的第一虚拟存储盘中,其中,所述第一虚拟存储盘为目标集群基于相同虚拟化技术形成的存储盘;
运算模块405,用于读取每个目标集群中的存储数据进行哈希运算,得到哈希校验码;
比较模块406,用于将每个目标集群的哈希校验码与对应的原始哈希校验码进行比较,得到比较结果;
构建模块407,用于若所述比较结果中存在至少一个目标集群的哈希校验码与对应的原始哈希校验码不一致,则在所述哈希校验码对应的目标集群中构建第二虚拟存储盘,并将所述存储数据复制至所述第二虚拟存储盘。
本发明实施例中,在集群技术不断在被实际的生产中应用,集群技术以其快速应用的更改内容方式地将不同物理机上的数据进行更改。而本发明通过对不同的集群之间数据调整使不同的k8s集群的数据能相互之间更改与更新。通过使用集群管理平台方式,对不同k8s集群的管理,对不同的k8s集群之间的数据实现协调同步的效果。
请参阅图5,本发明实施例中数据存储网络的同步更新装置的另一个实施例包括:
读取模块501,用于获取数据同步更新请求,从所述数据同步更新请求中获取待同步更新的目标数据和待同步更新的目标集群集合;
获取模块502,用于获取所述目标数据在所述目标集群集合中每个目标集群对应的存储规则;
转化模块503,用于将所述目标数据按照每个目标集群对应的存储规则进行转换成存储数据,并基于所述存储数据生成对应的原始哈希校验码;
复制模块504,用于将所述存储数据复制进入对应的目标集群的第一虚拟存储盘中,其中,所述第一虚拟存储盘为目标集群基于相同虚拟化技术形成的存储盘;
运算模块505,用于读取每个目标集群中的存储数据进行哈希运算,得到哈希校验码;
比较模块506,用于将每个目标集群的哈希校验码与对应的原始哈希校验码进行比较,得到比较结果;
构建模块507,用于若所述比较结果中存在至少一个目标集群的哈希校验码与对应的原始哈希校验码不一致,则在所述哈希校验码对应的目标集群中构建第二虚拟存储盘,并将所述存储数据复制至所述第二虚拟存储盘。
其中,所述获取模块502包括:
格式读取单元5021,用于调用接口服务器读取每个目标集群的格式码,其中,所述接口服务器为内置的数据传输接口,所述格式码为目标集群使用存储规则种类的特征码;
格式比对单元5022,判断基础数据库中是否存在所述格式码对应的存储规则,其中,所述基础数据库是在内置的保存目标集群的存储规则的数据库;
规则获取单元5023,用于若基础数据库中存在对应的存储规则,调用所述接口服务器将所述存储规则获取;
云端获取单元5024,用于若基础数据库中不存在对应的存储规则,调用所述接口服务器连接云端数据库,根据所述格式码在所述云端数据库中获取所述存储规则,其中,所述云端数据库为互联网网络中指定的虚拟化数据库。
可选的,所述转化模块503还可以具体用于:根据所述存储规则生成初始层集模板,其中,所述初始层集模板为数据分类存储的框架;将所述目标数据分类写入所述初始层集模板获得目标数据层集模板;将所述存储规则的格式码写入所述目标数据层集模板进行封装生成存储数据。
可选的,所述复制模块504还可以具体用于:调用探针判断所述第一虚拟存储盘是否正常启动,其中,所述探针为检测虚拟存储盘状态的内置检测工具;若是,将所述存储数据复制进入所述第一虚拟存储盘;若否,将所述第一虚拟存储盘删除,在所述目标集群中创建第三虚拟存储盘,将所述存储数据复制进入所述第三虚拟存储盘。
可选的,所述运算模块505还可以具体用于:调用第二接口服务器在所述目标集群中第二虚拟存储盘中写入识别标签,其中,所述第二接口服务器为所述目标集群中内置的接口服务器;在所述存储数据中写入识别标签;根据所述识别标签的匹配将所述存储数据复制进所述第二虚拟存储盘中。
其中,所述数据存储网络的同步更新装置还包括:
使用率读取模块508,用于根据预设的时间间隔,定时读取所述第二虚拟存储盘的处理器使用率;
使用率判断模块509,用于判断所述处理器使用率是否低于下限阈值;
存储盘创建模块510,用于若所述处理器使用率低于所述下限阈值,则将所述第二虚拟存储盘删除,在所述目标集群中创建第四虚拟存储盘;
数据复制模块511,用于调用第二接口服务器将所述存储数据复制进入所述第四虚拟存储盘。
其中,所述数据存储网络的同步更新装置还包括:
频率获取模块512,用于分别读取所有目标集群对应的所述存储数据的读写频率;
频率判断模块513,用于判断所述读写频率是否高于频率阈值;
高频标记模块514,用于若是,将所述存储数据对应的存储规则复制进入所述基本数据库,并将所述存储规则标记为高频规则,其中,所述高频规则是在查询存储规则时会优先查询的存储规则。
本发明实施例中,在集群技术不断在被实际的生产中应用,集群技术以其快速应用的更改内容方式地将不同物理机上的数据进行更改。而本发明通过对不同的集群之间数据调整使不同的k8s集群的数据能相互之间更改与更新。通过使用集群管理平台方式,对不同k8s集群的管理,对不同的k8s集群之间的数据实现协调同步的效果。
上面图4、图5从模块化功能实体的角度对本发明实施例中的数据存储网络的同步更新装置进行详细描述,下面从硬件处理的角度对本发明实施例中数据存储网络的同步更新设备进行详细描述。
图6是本发明实施例提供的一种数据存储网络的同步更新设备的结构示意图,该数据存储网络的同步更新设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据存储网络的同步更新设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在数据存储网络的同步更新设备600上执行存储介质630中的一系列指令操作。
基于数据存储网络的同步更新设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图6示出的数据存储网络的同步更新设备结构并不构成对基于数据存储网络的同步更新设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述数据存储网络的同步更新方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。