一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据保留方法、系统、装置及其存储介质与流程

2021-12-17 22:18:00 来源:中国专利 TAG:


1.本发明涉及计算机领域,尤其是指一种数据保留方法、系统、装置及其存储介质。


背景技术:

2.目前,容器类系统,如kubernetes提供了强大的容器编排能力,开放了网络接口,支持自定义灵活的容器网络。在一些情况下,容器中的数据需要进行延续或者保留。比如,在 kubernetes网络方案中,每个pod拥有独立的ip地址,pod运行在一个扁平的网络中,容器之间可以直连网络,但是在某个pod产生问题时,则需要删除原有ip地址,并附一个新的ip 地址,但是在一些情况下,用户依赖于固定ip地址的服务,则需要重新配置。
3.所以发明人发现现有技术中至少存在如下问题,有助于解决在容器类系统中原有容器中的数据无法进行保留的技术问题。


技术实现要素:

4.本技术提供了一种数据保留方法,其目的在于,当其中一个容器出现问题时,通过将出现问题容器中的目标数据存储于数据池,再加载到新的容器中,以对所述目标数据实现保留,有助于解决在容器类系统中原有容器中的数据无法进行保留的技术问题。
5.接收数据保留指令,其中,所述数据保留指令为指示是否对目标数据进行保留的指令,且所述目标数据加载在预设的第一容器中;
6.判断所述数据保留指令,
7.如果所述数据保留指令为保留所述目标数据,则将所述第一容器中的所述目标数据存储于预置的数据池中;
8.删除所述第一容器并创建第二容器;
9.将所述目标数据加载到所述第二容器中以实现所述目标数据的保留。
10.在另一实施例中,所述判断所述数据保留指令步骤后,该方法还包括:
11.如果所述数据保留指令为不保留所述目标数据,则删除所述第一容器和所述目标数据,并创建所述目标数据的替代数据和第三容器,并将所述替代数据加载到所述第三容器中。
12.在另一实施例中,所述如果所述数据保留指令为保留所述目标数据,则将所述第一容器中的所述目标数据存储于预置的数据池中步骤后,该方法包括:
13.确认所述数据池中是否可以获取所述目标数据,
14.如果能够从所述数据池中获取所述目标数据,则获取所述数据池中的所述目标数据,以用于加载到所述第二容器中。
15.在另一实施例中,所述确认所述数据池中是否可以获取所述目标数据步骤,该方法还包括:
16.如果无法从所述数据池中获取所述目标数据,则反馈为空。
17.在另一实施例中,所述目标数据为ip地址数据。
18.在另一实施例中,所述ip地址数据以yaml文件中的app/group进行注解标识。
19.本技术还提供了一种数据保留系统,所述系统包括:操控台和kubernetes组件,以及ip 地址管理组件;
20.所述操控台用于根据预定操作生成数据保留指令,其中,所述数据保留指令为指示是否对ip地址数据进行保留的指令,且所述ip地址数据加载在预设的第一容器中,以判断所述数据保留指令,如果所述数据保留指令为保留所述ip地址数据,则将所述第一容器中的所述 ip地址数据存储于预置的数据池中;
21.所述kubernetes组件用于获取所述数据池中的所述ip地址数据,并通过cni插件删除所述第一容器并创建第二容器;
22.所述ip地址管理组件用于将所述ip地址数据加载到所述第二容器中以实现所述ip地址数据的保留。
23.本技术还提供了一种数据保留装置,该装置包括:
24.接收模块,用于接收数据保留指令,其中,所述数据保留指令为指示是否对目标数据进行保留的指令,且所述目标数据加载在预设的第一容器中;
25.判断模块,用于判断所述数据保留指令,如果所述数据保留指令为保留所述目标数据,则将所述第一容器中的所述目标数据存储于预置的数据池中;
26.删除创建模块,用于删除所述第一容器并创建第二容器;
27.加载模块,用于将所述目标数据加载到所述第二容器中以实现所述目标数据的保留。
28.本技术还提供了一种数据保留装置,所述装置包括:处理器和存储器;
29.所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行所述的数据保留方法的步骤。
30.本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时所述的数据保留方法的步骤。
31.如上可见,基于上述实施例,提供了一种数据保留方法、系统、装置及其存储介质,当其中一个容器出现问题时,通过将出现问题容器中的目标数据存储于数据池,再加载到新的容器中,以对所述目标数据实现保留,有助于解决在容器类系统中原有容器中的数据无法进行保留的技术问题。
附图说明
32.图1为本发明一个实施例中数据保留方法的示意图;
33.图2为本发明现有技术解决数据保留的技术框架示意图;
34.图3为本发明一个实施例中数据保留系统的框架示意图;
35.图4为本发明另一个实施例中数据保留系统endpoint的状态示意图;
36.图5为本发明另一个实施例中数据保留装置架构示意图。
具体实施方式
37.在容器类系统或插件使用过程中,如果发现在网络配置过程中,其中的一个容器出现问题,那么往往需要删除出现问题的容器,然后生成一个新的容器代替出现问题的容
器。在上述过程中,出现问题容器的内部数据也会随之被删除。比如,在云原生kubernetes 环境下,所述内部数据为ip地址时,由于配置容器网络需要cni(container networkinterface,定义容器网络的接口规范),可以通过自定义配置容器网络,而配置的过程需要原有的固定ip地址,如果更换了新的ip地址,则无法实现后续的网络配置。
38.在本技术中会使用cni的一些固有性质和特性,cni在创建和删除容器的情况下,现有的cni开源插件如calico,flannel等支持在创建pod(即容器)时配置容器网络,在销毁pod时删除容器网络。在创建容器的时候,cni插件会分配一个未使用的ip给容器使用,并配置容器的网卡、路由等信息;在销毁容器的时候,cni插件会删除容器网卡、路由,释放容器ip到总的ip池中。
39.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
40.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
41.下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
42.图1为本发明一个实施例中数据保留方法的示意图。如图1所示,在一实施例中,本技术提供了一种数据保留方法,该方法包括:
43.s101,接收数据保留指令,其中,所述数据保留指令为指示是否对目标数据进行保留的指令,且所述目标数据加载在预设的第一容器中。
44.在本步骤中首先要接收是否需要对所述目标数据进行保留的指令。其中,所述目标数据加载在预设的所述第一容器中,比如所述第一容器记为pod1,所述目标数据为目标 ip地址,所述ip地址被加载在pod1中。
45.s102,判断所述数据保留指令,如果所述数据保留指令为保留所述目标数据,则将所述第一容器中的所述目标数据存储于预置的数据池中。
46.本步骤提供了一种当接收到所述数据保留指令后的具体步骤,在本步骤中判断所述数据保留指令,如果所述数据保留指令确定需要对所述目标数据进行保留,则将所述目标数据暂时存储在所述数据池中,所说数据池可以理解为一个数据库。比如之前的所述 ip地址会被拖拽到所述数据池中。
47.s103,删除所述第一容器并创建第二容器。
48.在本步骤中提供了一种当将所述目标数据暂存在所述数据池后,会将所述第一容器删除,并创建新的所述第二容器,即pod2。
49.s104,将所述目标数据加载到所述第二容器中以实现所述目标数据的保留。
50.在本步骤中会将所述数据池中的所述目标数据加载到pod2中,这样就完成了所述目标数据的保留,并且将需要更换代谢的第一容器pod1实现了删除。
51.在本实施例中提供了一种将所述第一容器中的所述目标数据加载到所述第二容器中的具体实施方式。首先,接收数据保留指令,其中,所述数据保留指令为指示是否对目标数据进行保留的指令,且所述目标数据加载在预设的第一容器中,然后,判断所述数据保留指令,如果所述数据保留指令为保留所述目标数据,则将所述第一容器中的所述目标数据存储于预置的数据池中。删除所述第一容器并创建第二容器,最后,将所述目标数据加载到所述第二容器中以实现所述目标数据的保留。在上述过程中,通过将出现问题容器中的目标数据存储于数据池,再加载到新的容器中,即所述第二容器,以对所述目标数据实现保留,有助于解决在容器类系统中原有容器中的数据无法进行保留的技术问题。
52.在另一可选实施例中,所述判断所述数据保留指令步骤后,该方法还包括:
53.如果所述数据保留指令为不保留所述目标数据,则删除所述第一容器和所述目标数据,并创建所述目标数据的替代数据和第三容器,并将所述替代数据加载到所述第三容器中。
54.在本实施例中提供了一种当所述数据保留指令表示为不保留所述目标数据时,此时会再次创建一个新的容器,即所述第三容器,pod3。虽然和上一实施例中一致,都是创建一个新的容器,但是相应地也会将所述第一容器,即所述pod1删除,但是所述目标数据此时也会同时删除,同时会生成一个所述目标数据的替代数据,通过所述替代数据将所述目标数据替换掉,加载到所述第三容器中。
55.在另一可选实施例中,所述如果所述数据保留指令为保留所述目标数据,则将所述第一容器中的所述目标数据存储于预置的数据池中步骤后,该方法包括:
56.确认所述数据池中是否可以获取所述目标数据,如果能够从所述数据池中获取所述目标数据,则获取所述数据池中的所述目标数据,以用于加载到所述第二容器中。
57.在本实施例中提供了一种确认是否可以从所述数据池中查询到所述目标数据的具体实施方式,如果可以查询到所述目标数据,说明可以将所述目标数据进行后续处理。
58.在另一可选实施例中,所述确认所述数据池中是否可以获取所述目标数据步骤,该方法还包括:
59.如果无法从所述数据池中获取所述目标数据,则反馈为空。
60.在本实施例中提供了一种当无法从所述数据池中获取所述目标数据时,则会反馈为空。
61.在另一可选实施例中,所述目标数据为ip地址数据。
62.在本实施例中提供了一种所述目标数据的具体实施方式,即所述目标数据为ip地址数据。
63.在另一可选实施例中,所述ip地址数据以yaml文件中的app/group进行注解标识。
64.在本实施例中提供了一种使用yaml文件对所述ip地址数据进行注解的具体实施方式。
65.在另一可选实施例中,本技术还提供了一种数据保留系统,所述系统包括:操控台和kubernetes组件,以及ip地址管理组件;
66.所述操控台用于根据预定操作生成数据保留指令,其中,所述数据保留指令为指
示是否对ip地址数据进行保留的指令,且所述ip地址数据加载在预设的第一容器中,以判断所述数据保留指令,如果所述数据保留指令为保留所述ip地址数据,则将所述第一容器中的所述ip地址数据存储于预置的数据池中;
67.所述kubernetes组件用于获取所述数据池中的所述ip地址数据,并通过cni插件删除所述第一容器并创建第二容器;
68.所述ip地址管理组件用于将所述ip地址数据加载到所述第二容器中以实现所述ip 地址数据的保留。
69.在本实施例中提供了一种所述数据保留系统。图2为本发明现有技术解决数据保留的技术框架示意图,如图2所示,在现有技术中会创建所述第一容器,即pod1,其对应的节点为node1,然后被分配所述ip地址数据,ip1。假如node1由于网络故障等原因出现问题,则会将所述ip地址数据迁移到node2上,此时所述ip地址数据会被另一个新的ip地址取代,同时会在node2上建立所述第二容器,即pod2实现灰度更新,但是原生的k8s(即kubernetes)和开源的cni插件支持销毁重建,但不支持用户pod保留ip 重建,在node2上建立的pod2的ip会变成新的ip地址,用户依赖于固定ip地址的服务需要重新配置,所以如果所述ip地址数据被替换为新的ip地址,那么需要重新配置网络信息。
70.图3为本发明一个实施例中数据保留系统的框架示意图,图4为本发明另一个实施例中数据保留系统endpoint的状态示意图。如图3和图4所示,即本技术的数据保留方法,首先在pod的yaml文件中用annotation的app/group标识应用信息。ip地址管理组件可以理解为ipam,即ip address management的缩写,即ip地址管理。pod在生命周期对应数据库中的ipam endpoint的状态机,pod1(即所述第一容器)创建后对应的ipamendpoint数据中存入容器的所述ip地址数据、app、group、podname等信息。status设置为running,isreserved设置为false,此时并不保留所述ip地址数据,此时,如果node1 出现了网络故障等,则会反应到所述操控台上,此时用户可以根据反应的情况通过所述预定操作生成所述数据保留指令,所述数据保留指令有两个逻辑,即进行所述ip地址数据的数据保留或者不进行所述ip地址数据的数据保留。当所述保留指令确定需要进行数据保留时,控制端调用接口把所述ip地址数据放入所述数据池中。此时key可以根据 app/group来定,同时把ipam endpoint数据中的isreserved设置为ture,表示需要进行数据保留。
71.随后,调用k8s的接口执行容器删除创建流程,即删除所述第一容器,即pod1,然后创建所述第二容器,即pod2。在上述删除pod1的过程中,调用cni,修改网络配置。需要指出的是,ipam本身作用就是不断释放ip地址给不同的容器,此时,调用ipam 释放新的ip地址,但是当isreserved设置为ture时,则ipam不释放新的ip地址,并将 status更新为free,表示原有的所述ip地址数据可以继续被使用,因为本身原有的所述ip地址数据在被释放后,不可以再次使用,这样就可以继续使用了,如果释放了所述ip 地址数据,则删除endpoint数据,至此pod1中的所有数据全部删除,即销毁。
72.在pod2的创建过程,k8s根据annotation的app、group信息从reserved pool中查找所述数据池中是否有保留有所述ip数据地址,因此此时k8s会根据所述数据保留指令主动去检验所述数据池中是否存在所述ip地址数据,如果所述数据池中可以获取所述ip 数据地址,则写入annotation中的ip字段,即写入所述ip数据地址,kubelet调用cni 的网络配置流程,ipam根据cni是否具有所述ip数据地址来确认是否指定所述ip数据地址,如果指
定所述ip数据地址,则只更新endpoint数据,重新将status设置为running, isreserved设置为false,使pod2不再保留ip地址数据,如果没有所述ip数据地址,反馈为空,则重新从ipam的所述数据池中拉取一个为分配的新ip地址,这样就和现有技术的情况相同了。
73.图5为本发明另一个实施例中数据保留装置架构示意图。如图5所示,在另一可选实施例中,本技术还提供了一种数据保留装置,该装置包括:
74.接收模块101,用于接收数据保留指令,其中,所述数据保留指令为指示是否对目标数据进行保留的指令,且所述目标数据加载在预设的第一容器中;
75.判断模块102,用于判断所述数据保留指令,如果所述数据保留指令为保留所述目标数据,则将所述第一容器中的所述目标数据存储于预置的数据池中;
76.删除创建模块103,用于删除所述第一容器并创建第二容器;
77.加载模块104,用于将所述目标数据加载到所述第二容器中以实现所述目标数据的保留。
78.本技术还提供了一种数据保留装置,所述装置包括:处理器和存储器;
79.所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行所述的数据保留方法的步骤。
80.本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的数据保留方法的步骤。
81.所述计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上所述的智能客服应答方法中的步骤。实际应用中,所述的计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。
82.根据本技术公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本技术保护的范围。在本技术公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
83.本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本技术中。特别地,在不脱离本技术精神和教导的情况下,本技术的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本技术公开的范围。
84.本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思路,并不用于限制本技术。对于本领域的技术人员来说,可以依据本发明的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献