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

容器管理方法及装置与流程

2022-07-10 12:51:37 来源:中国专利 TAG:


1.本发明涉及容器管理技术领域,特别是指一种容器管理方法及装置。


背景技术:

2.如图1所示,当前容器(container)部署在独立的服务器(host)上运行。如图2所示,当服务器出现硬件(hardware)、网络等故障情况下,运行在服务器上的容器也会造成影响,需要重新下载容器包重新部署,这种情况下会造成服务中断,影响业务运行。


技术实现要素:

3.本发明要解决的技术问题是提供一种容器管理方法及装置,能够避免业务中断。
4.为解决上述技术问题,本发明的实施例提供技术方案如下:
5.一方面,提供一种容器管理方法,由映像反射器执行,所述方法包括:
6.在主服务器创建主容器,在第一从服务器上创建与所述主容器相同的辅助容器;
7.在所述主容器进行操作时,对所述辅助容器执行相同的操作,使得所述辅助容器与所述主容器的数据一致。
8.一些实施例中,所述对所述辅助容器执行相同的操作包括:
9.通过rsync mechanism机制保证所述主容器和所述辅助容器的同步运行,使得所述辅助容器在预设时钟周期内执行与所述主容器相同的操作。
10.一些实施例中,所述对所述辅助容器执行相同的操作包括以下至少一项:
11.把所述主容器的reflectioner日志传递给所述辅助容器,控制所述辅助容器执行与所述主容器相同的指令,并且处理相同的非确定性事件,所述非确定性事件至少包括网络数据包、用户输入、硬件时钟;
12.把发送给所述主容器的网络数据包复制后发送给所述辅助容器,控制所述辅助容器执行与所述主容器一致的指令流,按照相同的顺序对网络服务请求做出响应;
13.屏蔽所述辅助容器的对外输出。
14.一些实施例中,所述方法还包括:
15.在所述主容器失效后,启用所述辅助容器作为新的主容器;
16.在第二从服务器上创建与所述新的主容器相同的辅助容器。
17.一些实施例中,所述方法还包括:
18.在所述辅助容器失效后,在第三从服务器上创建与所述主容器相同的新的辅助容器。
19.本发明实施例还提供了一种容器管理装置,应用于映像反射器,所述装置包括:
20.创建模块,用于在主服务器创建主容器,在第一从服务器上创建与所述主容器相同的辅助容器;
21.处理模块,用于在所述主容器进行操作时,对所述辅助容器执行相同的操作,使得所述辅助容器与所述主容器的数据一致。
22.一些实施例中,所述处理模块具体用于通过rsync mechanism机制保证所述主容器和所述辅助容器的同步运行,使得所述辅助容器在预设时钟周期内执行与所述主容器相同的操作。
23.一些实施例中,所述处理模块具体用于执行以下至少一项:
24.把所述主容器的reflectioner日志传递给所述辅助容器,控制所述辅助容器执行与所述主容器相同的指令,并且处理相同的非确定性事件,所述非确定性事件至少包括网络数据包、用户输入、硬件时钟;
25.把发送给所述主容器的网络数据包复制后发送给所述辅助容器,控制所述辅助容器执行与所述主容器一致的指令流,按照相同的顺序对网络服务请求做出响应;
26.屏蔽所述辅助容器的对外输出。
27.一些实施例中,所述处理模块还用于在所述主容器失效后,启用所述辅助容器作为新的主容器;
28.所述创建模块还用于在第二从服务器上创建与所述新的主容器相同的辅助容器。
29.一些实施例中,所述创建模块还用于在所述辅助容器失效后,在第三从服务器上创建与所述主容器相同的新的辅助容器。
30.本发明实施例还提供了一种容器管理装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述程序时实现如上所述的容器管理方法。
31.所述处理器具体用于在主服务器创建主容器,在第一从服务器上创建与所述主容器相同的辅助容器;在所述主容器进行操作时,对所述辅助容器执行相同的操作,使得所述辅助容器与所述主容器的数据一致。
32.一些实施例中,所述处理器具体用于通过rsync mechanism机制保证所述主容器和所述辅助容器的同步运行,使得所述辅助容器在预设时钟周期内执行与所述主容器相同的操作。
33.一些实施例中,所述处理器具体用于执行以下至少一项:
34.把所述主容器的reflectioner日志传递给所述辅助容器,控制所述辅助容器执行与所述主容器相同的指令,并且处理相同的非确定性事件,所述非确定性事件至少包括网络数据包、用户输入、硬件时钟;
35.把发送给所述主容器的网络数据包复制后发送给所述辅助容器,控制所述辅助容器执行与所述主容器一致的指令流,按照相同的顺序对网络服务请求做出响应;
36.屏蔽所述辅助容器的对外输出。
37.一些实施例中,所述处理器还用于在所述主容器失效后,启用所述辅助容器作为新的主容器;在第二从服务器上创建与所述新的主容器相同的辅助容器。
38.一些实施例中,所述处理器还用于在所述辅助容器失效后,在第三从服务器上创建与所述主容器相同的新的辅助容器。
39.本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的容器管理方法中的步骤。
40.本发明的实施例具有以下有益效果:
41.上述方案中,当部署主容器的时候,在其他服务器上同时创建和维护与主容器相
同的辅助容器,当主服务器发生故障,可以进行切换将另一台服务器的辅助容器替换主容器,确保容器的连续可用性,不造成业务中断。
附图说明
42.图1和图2为现有技术中容器的部署示意图;
43.图3为本发明实施例容器管理方法的流程示意图;
44.图4为本发明实施例的容器的部署示意图;
45.图5为本发明实施例的主容器出现故障的示意图;
46.图6为本发明实施例对辅助容器执行与主容器相同的操作的示意图;
47.图7为本发明实施例通过rsync mechanism机制保证主容器和辅助容器的同步运行的示意图;
48.图8为本发明实施例实时同步进行故障转移的示意图;
49.图9为本发明实施例容器管理装置的结构示意图;
50.图10为本发明实施例容器管理装置的组成示意图。
具体实施方式
51.为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
52.本发明的实施例提供一种容器管理方法,由映像反射器执行,如图3所示,所述方法包括:
53.步骤101:在主服务器创建主容器,在第一从服务器上创建与所述主容器相同的辅助容器;
54.步骤102:在所述主容器进行操作时,对所述辅助容器执行相同的操作,使得所述辅助容器与所述主容器的数据一致。
55.本实施例中,当部署主容器的时候,在其他服务器上同时创建和维护与主容器相同的辅助容器,当主服务器发生故障,可以进行切换将另一台服务器的辅助容器替换主容器,确保容器的连续可用性,不造成业务中断。
56.一些实施例中,所述对所述辅助容器执行相同的操作包括:
57.通过rsync mechanism机制保证所述主容器和所述辅助容器的同步运行,使得所述辅助容器在预设时钟周期内执行与所述主容器相同的操作。
58.一些实施例中,所述对所述辅助容器执行相同的操作包括以下至少一项:
59.把所述主容器的reflectioner日志传递给所述辅助容器,控制所述辅助容器执行与所述主容器相同的指令,并且处理相同的非确定性事件,所述非确定性事件至少包括网络数据包、用户输入、硬件时钟;
60.把发送给所述主容器的网络数据包复制后发送给所述辅助容器,控制所述辅助容器执行与所述主容器一致的指令流,按照相同的顺序对网络服务请求做出响应;
61.屏蔽所述辅助容器的对外输出。
62.一些实施例中,所述方法还包括:
63.在所述主容器失效后,启用所述辅助容器作为新的主容器;
64.在第二从服务器上创建与所述新的主容器相同的辅助容器。
65.一些实施例中,所述方法还包括:
66.在所述辅助容器失效后,在第三从服务器上创建与所述主容器相同的新的辅助容器。
67.一具体示例中,如图4所示,当部署容器的时候,在不同服务器(主服务器和从服务器)上同时创建相同的容器(主容器和辅助容器),如图中相同粗细的虚线中的container彼此完全相同,当主服务器发生故障,另一台服务器的容器可以运行,不造成业务中断,其中,app为应用,bin/library为存储文件,operating system为操作系统。本实施例通过加入“映像反射器reflectioner”实现容器之间的监控和容错共享,通过创建和维护与主容器相同的辅助容器可在发生故障切换时随时替换主容器,来确保容器的连续可用性,如图5所示。
68.如图6所示,当user(用户)正常使用(包括读写、修改、更新)主容器时,通过“reflectioner”实时监控容器状态和数据操作变化,收集用户执行指令以及完整日志,在另外的辅助容器进行相同操作,达到容器之间数据的一致性。
[0069]“映像反射器reflectioner”技术的工作原理是把需要保护的主容器运行在主服务器上,指定集群中的另一台服务器为从服务器,“映像反射器reflectioner”在从服务器上也创建一个跟受保护容器一模一样的容器,称之为辅助容器。主容器和辅助容器的数据和状态是完全一致的,通过rsync mechanism技术来保证两台容器的同步运行。“映像反射器reflectioner”通过内部网络把主容器的reflectioner日志传递给从服务器上的辅助容器,保证两台容器在同一时间内处理相同的指令,并且处理相同的非确定性事件,如网络数据包、用户输入、硬件时钟等。reflectioner调用container runtime(容器运行时)进程处理相关服务,这些非确定性事件在物理机上几乎是无法同步的,但是容器的所有硬件和i(输入)/o(输出)都是由“映像反射器reflectioner”来控制的,所以就可以做到。
[0070]
rsync mechanism技术是主从服务器容器同步的关键实现技术之一,通过使用相同的、冗余的硬件组件来保证cpu、内存、磁盘等精确的同步,在一定时钟周期内执行相同的指令(包括cli(命令行)、api(应用程序接口)、ui(用户界面))。该技术能够保证发现任何错误,即使短暂的错误,系统也能在不间断处理和不损失数据的情况下恢复正常运行。
[0071]“映像反射器reflectioner”把发送给主容器的网络数据包也完全复制给辅助容器,辅助容器执行跟主容器完全一致的指令流,按照相同的顺序来对网络服务请求做出响应,两台容器产生完全一致的结果。唯一的区别在于,主容器对外的输出是实际生效的,磁盘写操作会提交给硬盘、网络数据包会被发送出去;辅助容器的所有对外输出都会被“映像反射器reflectioner”屏蔽,外界不会感知到辅助容器的存在。
[0072]
如图7所示,只有当主容器失效时(主服务发生故障),辅助容器才会真正生效。因为两个容器的cpu指令顺列、内存状态都是完全一致的,“映像反射器”实时同步进行故障转移,rsync mechanism进行stop操作,即刻让辅助容器变成新的主容器,所有的tcp(传输控制协议)网络连接都没有中断,容器中的应用可以继续运行。受保护的容器完全没有中断运行,为了继续保护新的主容器,如图8所示,“映像反射器”会在集群中寻找另一台合适的服务器作为新的从服务器,rsync mechanism进行provisioning操作,然后在上面复制一个新的辅助容器出来,从而形成新的容错保护机制。
[0073]
本实施例通过“映像反射器”创建一个辅助容器,可以提供连续性的服务能力,在不同的主机平台上创建一个与容器完全相同的副本。容器的副本(即辅助容器)处于活动状态,接受请求,服务信息,并运行程序。辅助容器接收与主容器相同的输入(cli、api、ui等),辅助容器完成的所有任务都依照主容器的变动,主容器所有非决定性的活动都将被捕捉,发送到运行在其他host上的辅助容器,辅助容器在一秒内将活动进行重演。由于辅助容器与主容器的执行方式相同,并且辅助容器可以无中断地接管任何点处的执行,因此可以提供容错保护。主容器和辅助容器会持续监控彼此的状态以确保维护:如果运行主容器的服务器发生故障,“映像反射器”装置将会执行透明故障切换,此时会立即启用辅助容器以替换主容器,启动新的辅助容器,并通过“映像反射器”装置重新建立副本规则。如果运行辅助容器的服务器发生故障,则该服务器也会立即被替换。在任一情况下,用户都不会遭遇服务中断和数据丢失的情况。
[0074]
其中,映像反射器使用反关联性规则,该规则可确保至少两个容器永远不会在同一服务器上,这可确保服务器故障无法导致两个容器都缺失。
[0075]
本发明实施例还提供了一种容器管理装置,应用于映像反射器,如图9所示,所述装置包括:
[0076]
创建模块21,用于在主服务器创建主容器,在第一从服务器上创建与所述主容器相同的辅助容器;
[0077]
处理模块22,用于在所述主容器进行操作时,对所述辅助容器执行相同的操作,使得所述辅助容器与所述主容器的数据一致。
[0078]
本实施例中,当部署主容器的时候,在其他服务器上同时创建和维护与主容器相同的辅助容器,当主服务器发生故障,可以进行切换将另一台服务器的辅助容器替换主容器,确保容器的连续可用性,不造成业务中断。
[0079]
一些实施例中,所述处理模块22具体用于通过rsync mechanism机制保证所述主容器和所述辅助容器的同步运行,使得所述辅助容器在预设时钟周期内执行与所述主容器相同的操作。
[0080]
一些实施例中,所述处理模块22具体用于执行以下至少一项:
[0081]
把所述主容器的reflectioner日志传递给所述辅助容器,控制所述辅助容器执行与所述主容器相同的指令,并且处理相同的非确定性事件,所述非确定性事件至少包括网络数据包、用户输入、硬件时钟;
[0082]
把发送给所述主容器的网络数据包复制后发送给所述辅助容器,控制所述辅助容器执行与所述主容器一致的指令流,按照相同的顺序对网络服务请求做出响应;
[0083]
屏蔽所述辅助容器的对外输出。
[0084]
一些实施例中,所述处理模块22还用于在所述主容器失效后,启用所述辅助容器作为新的主容器;
[0085]
所述创建模块21还用于在第二从服务器上创建与所述新的主容器相同的辅助容器。
[0086]
一些实施例中,所述创建模块21还用于在所述辅助容器失效后,在第三从服务器上创建与所述主容器相同的新的辅助容器。
[0087]
本发明实施例还提供了一种容器管理装置,如图10所示,包括存储器31、处理器32
及存储在所述存储器31上并可在所述处理器32上运行的计算机程序;所述处理器32执行所述程序时实现如上所述的容器管理方法。
[0088]
所述处理器32具体用于在主服务器创建主容器,在第一从服务器上创建与所述主容器相同的辅助容器;在所述主容器进行操作时,对所述辅助容器执行相同的操作,使得所述辅助容器与所述主容器的数据一致。
[0089]
一些实施例中,所述处理器32具体用于通过rsync mechanism机制保证所述主容器和所述辅助容器的同步运行,使得所述辅助容器在预设时钟周期内执行与所述主容器相同的操作。
[0090]
一些实施例中,所述处理器32具体用于执行以下至少一项:
[0091]
把所述主容器的reflectioner日志传递给所述辅助容器,控制所述辅助容器执行与所述主容器相同的指令,并且处理相同的非确定性事件,所述非确定性事件至少包括网络数据包、用户输入、硬件时钟;
[0092]
把发送给所述主容器的网络数据包复制后发送给所述辅助容器,控制所述辅助容器执行与所述主容器一致的指令流,按照相同的顺序对网络服务请求做出响应;
[0093]
屏蔽所述辅助容器的对外输出。
[0094]
一些实施例中,所述处理器32还用于在所述主容器失效后,启用所述辅助容器作为新的主容器;在第二从服务器上创建与所述新的主容器相同的辅助容器。
[0095]
一些实施例中,所述处理器32还用于在所述辅助容器失效后,在第三从服务器上创建与所述主容器相同的新的辅助容器。
[0096]
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的容器管理方法中的步骤。
[0097]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储待检测终端设备或任何其他非传输介质,可用于存储可以被计算待检测终端设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0098]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

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

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

相关文献