应用容器管理系统、方法、装置、控制设备及存储介质与流程
未命名
09-08
阅读:94
评论:0
1.本技术涉及容器技术领域,尤其涉及应用容器管理系统、方法、装置、控制设备及存储介质。
背景技术:
2.对于客户而言,当应用容器未进行服务时,或应用容器的访问请求流量较少时,希望减少应用容器的资源占用,当应用容器的访问请求流量较多时,再增加应用容器的资源占用。基于上述考虑,出现了应用容器的扩容和缩容策略。
3.现有技术一般采用kubernetes容器编排平台(简称k8s)进行应用容器管理,包括应用容器扩容和缩容。现有技术存在的问题是,1、只能根据中央处理器cpu、内存等系统级信息进行自动地调整应用容器的副本数,但此类信息粒度过粗,对于计算机接口i/o密集型的互联网应用容器,此类信息无法用于准确判断应用容器是否需要扩容或缩容,例如应用容器能处理的系统吞吐量tps已经抵达上限了,但由于为i/o密集型应用容器,应用容器本身在等待下游响应,本身cpu和内存使用不高,不会触发扩容。2、当应用容器处于闲置状态时,客户希望应用容器能缩容至零来节省计算资源。但k8s无法在应用容器请求量为零时,自动将应用容器缩容至零,只能由应用方自行统计请求量并手动调整副本数为零。在k8s中手动将应用容器副本数调为零后,突发用户访问请求时,用户发起的访问请求将因为无可用副本而全部失败,影响突发访问请求时的交易成功率,只能提前人工介入手动扩容来处理交易。
技术实现要素:
4.本技术实施例提供了应用容器管理系统、方法、装置、控制设备及存储介质,用以解决现有技术的应用容器管理方案的准确性较差,应用容器副本数调为零后,导致突发的用户访问请求失败的问题。
5.第一方面,本技术提供了一种应用容器管理系统,所述系统包括:控制设备和转发设备;
6.所述控制设备,用于根据目标应用对应的应用容器的部署情况确定第一转发信息,将所述第一转发信息发送至所述转发设备;
7.所述转发设备,用于接收所述第一转发信息,当接收到对所述目标应用的访问请求信息,根据所述第一转发信息判断是否存在所述目标应用对应的应用容器,如果存在,将所述访问请求信息转发至对应的应用容器,如果不存在,向所述控制设备发送激活应用容器的激活请求信息,并缓存所述访问请求信息;
8.所述控制设备,用于接收所述激活请求信息,对所述应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至所述转发设备;
9.所述转发设备,还用于接收所述第二转发信息,根据所述第二转发信息将缓存的访问请求信息转发至对应的应用容器。
10.第二方面,本技术提供了一种应用容器管理方法,所述方法包括:
11.控制设备根据目标应用对应的应用容器的部署情况确定第一转发信息,将所述第一转发信息发送至转发设备,使所述转发设备当接收到对所述目标应用的访问请求信息,根据所述第一转发信息判断是否存在所述目标应用对应的应用容器,如果存在,将所述访问请求信息转发至对应的应用容器,如果不存在,向所述控制设备发送激活应用容器的激活请求信息,并缓存所述访问请求信息;
12.接收所述激活请求信息,对所述应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至所述转发设备;使所述转发设备根据所述第二转发信息将缓存的访问请求信息转发至对应的应用容器。
13.第三方面,本技术提供了一种应用容器管理装置,所述装置包括:
14.第一确定单元,用于根据目标应用对应的应用容器的部署情况确定第一转发信息,将所述第一转发信息发送至转发设备,使所述转发设备当接收到对所述目标应用的访问请求信息,根据所述第一转发信息判断是否存在所述目标应用对应的应用容器,如果存在,将所述访问请求信息转发至对应的应用容器,如果不存在,向所述控制设备发送激活应用容器的激活请求信息,并缓存所述访问请求信息;
15.第二确定单元,用于接收所述激活请求信息,对所述应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至所述转发设备;使所述转发设备根据所述第二转发信息将缓存的访问请求信息转发至对应的应用容器。
16.第四方面,本技术提供了一种控制设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
17.存储器,用于存放计算机程序;
18.处理器,用于执行存储器上所存放的程序时,实现上述方法步骤。
19.第五方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述方法步骤。
20.本技术提供了应用容器管理系统、方法、装置、控制设备及存储介质,所述系统包括:控制设备和转发设备;所述控制设备,用于根据目标应用对应的应用容器的部署情况确定第一转发信息,将所述第一转发信息发送至所述转发设备;所述转发设备,用于接收所述第一转发信息,当接收到对所述目标应用的访问请求信息,根据所述第一转发信息判断是否存在所述目标应用对应的应用容器,如果存在,将所述访问请求信息转发至对应的应用容器,如果不存在,向所述控制设备发送激活应用容器的激活请求信息,并缓存所述访问请求信息;所述控制设备,用于接收所述激活请求信息,对所述应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至所述转发设备;所述转发设备,还用于接收所述第二转发信息,根据所述第二转发信息将缓存的访问请求信息转发至对应的应用容器。
21.上述的技术方案具有如下优点或有益效果:
22.本技术中,控制设备根据目标应用对应的应用容器的部署情况确定第一转发信息并发送至转发设备,转发设备接收到对目标应用的访问请求信息,根据第一转发信息转发访问请求信息。首先,根据第一转发信息判断是否存在目标应用对应的应用容器,如果存在,也就是说当前部署了应用容器,则将访问请求信息转发至对应的应用容器,如果不存在,则说明当前未部署应用容器,此时缓存访问请求信息,并且向控制设备发送激活应用容
器的激活请求信息,以便控制设备对应用容器进行扩容之后,再转发缓存的访问请求信息。本技术实现了一种基于应用的应用容器管理方案,提高了应用容器管理的准确性,并且在当前未部署应用容器时,先缓存访问请求信息,并提示控制设备进行应用容器扩容,解决了因为无应用容器导致访问失败的问题。
附图说明
23.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1为本技术提供的应用容器管理系统结构示意图;
25.图2为本技术提供的另一应用容器管理系统结构示意图;
26.图3为本技术提供的第一种应用容器管理过程示意图;
27.图4为本技术提供的第二种应用容器管理过程示意图;
28.图5为本技术提供的第三种应用容器管理过程示意图;
29.图6为本技术提供的第四种应用容器管理过程示意图;
30.图7为本技术提供的应用容器管理框架图;
31.图8为本技术提供的另一应用容器管理框架图;
32.图9为本技术提供的转发设备缓存访问请求信息的流程图;
33.图10为本技术提供的应用容器管理装置结构示意图;
34.图11为本技术提供的控制设备结构示意图。
具体实施方式
35.为使本技术的目的和实施方式更加清楚,下面将结合本技术示例性实施例中的附图,对本技术示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本技术一部分实施例,而不是全部的实施例。
36.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
37.本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
38.术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
39.术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
40.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依
然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
41.为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
42.图1为本技术提供的应用容器管理系统结构示意图,系统包括:控制设备11和转发设备22;
43.所述控制设备11,用于根据目标应用对应的应用容器的部署情况确定第一转发信息,将所述第一转发信息发送至所述转发设备22;
44.所述转发设备22,用于接收所述第一转发信息,当接收到对所述目标应用的访问请求信息,根据所述第一转发信息判断是否存在所述目标应用对应的应用容器,如果存在,将所述访问请求信息转发至对应的应用容器,如果不存在,向所述控制设备11发送激活应用容器的激活请求信息,并缓存所述访问请求信息;
45.所述控制设备11,用于接收所述激活请求信息,对所述应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至所述转发设备22;
46.所述转发设备22,还用于接收所述第二转发信息,根据所述第二转发信息将缓存的访问请求信息转发至对应的应用容器。
47.本技术中,控制设备可以是pc、平板电脑等设备。转发设备可以是微处理器、服务器等设备。控制设备可以按照预设的时间间隔获取目标应用对应的应用容器的部署情况,预设的时间间隔例如是30秒、40秒等等,以预设的时间间隔是30秒,则每经过30秒,控制设备获取目标应用对应的应用容器的部署情况,然后根据目标应用对应的应用容器的部署情况确定第一转发信息,将第一转发信息发送至转发设备。第一转发信息中携带部署的应用容器的数量信息、各个应用容器的地址信息等。当未部署应用容器时,应用容器的数量信息是0。
48.需要说明的是,若当次获取的目标应用对应的应用容器的部署情况与上次获取的目标应用对应的应用容器的部署情况不同,则根据目标应用对应的应用容器的部署情况确定第一转发信息,将第一转发信息发送至转发设备;若当次获取的目标应用对应的应用容器的部署情况与上次获取的目标应用对应的应用容器的部署情况相同,因为转发设备已接收到了相同的第一转发信息,因此不需要再根据目标应用对应的应用容器的部署情况确定第一转发信息。
49.转发设备接收控制设备发送的第一转发信息,并且在接收到客户端对目标应用的访问请求信息之后,根据第一转发信息判断是否存在目标应用对应的应用容器。具体的,若第一转发信息中携带的目标应用对应的应用容器的数量信息为0,则确定不存在目标应用对应的应用容器,若第一转发信息中携带的目标应用对应的应用容器的数量信息不为0,则确定存在目标应用对应的应用容器。如果存在目标应用对应的应用容器,根据第一转发信息中携带的目标应用对应的各个应用容器的地址信息,将访问请求信息转发至对应的应用
容器。如果存在多个应用容器,可选的,可以将任意一个应用容器作为对应的应用容器,将访问请求信息转发至任意一个应用容器。可选的,可以将当前处理请求数量最少的应用容器作为对应的应用容器,将访问请求信息转发至当前处理请求数量最少的应用容器。可选的,可以将处理请求失败率最低的应用容器作为对应的应用容器,将访问请求信息转发至处理请求失败率最低的应用容器。其中,各个应用容器的当前处理请求数量、处理请求失败率等信息可以由控制设备进行统计,并将统计结果携带在第一转发信息中发送至转发设备。
50.如果确定不存在目标应用对应的应用容器,转发设备向控制设备发送激活应用容器的激活请求信息,并缓存接收到的访问请求信息。控制设备接收激活请求信息后,对应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至转发设备。在第二转发信息中携带扩容后的应用容器的地址信息,转发设备接收第二转发信息,根据第二转发信息中携带的扩容后的应用容器的地址信息,将缓存的访问请求信息转发至扩容后对应的应用容器。
51.本技术中,控制设备根据目标应用对应的应用容器的部署情况确定第一转发信息并发送至转发设备,转发设备接收到对目标应用的访问请求信息,根据第一转发信息转发访问请求信息。首先,根据第一转发信息判断是否存在目标应用对应的应用容器,如果存在,也就是说当前部署了应用容器,则将访问请求信息转发至对应的应用容器,如果不存在,则说明当前未部署应用容器,此时缓存访问请求信息,并且向控制设备发送激活应用容器的激活请求信息,以便控制设备对应用容器进行扩容之后,再转发缓存的访问请求信息。本技术实现了一种基于应用的应用容器管理方案,提高了应用容器管理的准确性,并且在当前未部署应用容器时,先缓存访问请求信息,并提示控制设备进行应用容器扩容,解决了因为无应用容器导致访问失败的问题。
52.图2为本技术提供的另一应用容器管理系统结构示意图,系统还包括:信息上报设备33;
53.所述转发设备22,具体用于将所述访问请求信息转发至所述信息上报设备33,通过所述信息上报设备33将所述访问请求信息转发至对应的应用容器;
54.所述信息上报设备33,还用于统计对所述目标应用的访问量,并按照设定的上报周期将所述访问量上报至所述控制设备11;
55.所述控制设备11,用于根据所述访问量对所述应用容器进行扩容或缩容。
56.本技术中,信息上报设备可以是微处理器、服务器等设备。应用容器管理系统中可以仅包括一个信息上报设备,目标应用的所有应用容器的访问请求信息都由信息上报设备转发。也就是说,转发设备将接收到的访问请求信息或缓存的访问请求信息,先转发至信息上报设备,并且将对应的应用容器的地址信息也发送至信息上报设备,然后信息上报设备根据对应的应用容器的地址信息将访问请求信息或缓存的访问请求信息转发至对应的应用容器。并且信息上报设备统计目标应用所有的访问量。
57.本技术中,应用容器管理系统中也可以包含与部署的应用容器数量相同的信息上报设备,且信息上报设备与应用容器一一对应,转发设备将接收到的访问请求信息或缓存的访问请求信息,根据应用容器的地址信息,转发至应用容器对应的信息上报设备,然后由信息上报设备转发至对应的应用容器。信息上报设备统计自身所对应的应用容器的访问
量,目标应用的所有的信息上报设备统计的访问量的和即为目标应用所有的访问量。
58.信息上报设备统计对目标应用的访问量,并按照设定的上报周期将访问量上报至控制设备,如果应用容器管理系统中包含一个信息上报设备,信息上报设备上报的访问量即为目标应用所有的访问量,如果应用容器管理系统中包含多个信息上报设备,多个信息上报设备上报的访问量的和即为目标应用所有的访问量。设定的上报周期例如是每隔10秒、20秒、30秒等时间,上报一次访问量。访问量为设定时长内处理的所有访问请求信息量,并且包含处理成功的访问量和处理失败的访问量。
59.控制设备根据目标应用所有的访问量对应用容器进行扩容或缩容。具体的,控制设备,具体用于当访问量大于预设的第一流量阈值时,对所述应用容器进行扩容;当所述访问量小于预设的第二流量阈值,且所述访问量不为零时,对所述应用容器进行缩容;当所述访问量为零时,将所述应用容器缩容至零;其中,所述预设的第一流量阈值大于所述预设的第二流量阈值。
60.需要说明的是,预设的第一流量阈值和预设的第二流量阈值可以根据应用容器部署的数量进行设定,部署的应用容器的数量不同,预设的第一流量阈值也可以是不同的,预设的第二流量阈值也可以是不同的。
61.本技术中,所述控制设备,具体用于对所述目标应用对应的应用容器进行扩容或缩容后,确定扩容或缩容后的应用容器的部署情况,根据扩容或缩容后的应用容器的部署情况确定第一转发信息。
62.控制设备可以按照预设的时间间隔获取目标应用对应的应用容器的部署情况,较佳的,考虑到不进行扩容或缩容时,应用容器的部署情况不变,不需要重复向转发设备发送转发信息,因此,本技术中,控制设备对应用对应的应用容器进行扩容或缩容后,确定扩容或缩容后的应用容器的部署情况,根据扩容或缩容后的应用容器的部署情况确定第一转发信息。如果未进行应用容器的扩容或缩容,可以不向转发设备发送第一转发信息。
63.本技术中,所述控制设备,具体用于根据部署的各应用容器的转发权重值确定第一转发信息;
64.所述转发设备,具体用于根据所述各应用容器的转发权重值,将所述访问请求信息转发至对应的应用容器。
65.本技术中可以采用负载均衡策略实现访问请求信息的转发。负载均衡策略是指控制设备为不同的应用容器分配不同的转发权重值。其中,可以根据应用容器的访问请求信息处理性能确定应用容器的转发权重值,处理性能越好,权重值越高。处理性能例如是访问请求信息处理成功率,成功率越高,性能越好。控制设备根据部署的各应用容器的转发权重值确定第一转发信息,也就是说在第一转发信息中携带各应用容器的转发权重值,转发设备根据各应用容器的转发权重值,将访问请求信息转发至对应的应用容器。转发权重值高则被选中为对应的应用容器的概率大。
66.本技术中,转发设备,具体用于若缓存队列中的访问请求信息的数量已达到上限,丢弃接收到的所述访问请求信息,否则缓存所述访问请求信息。
67.转发设备的缓存队列存在上限,当接收到对目标应用的访问请求信息了,并且判断不存在目标应用对应的应用容器时,首先判断缓存队列中的访问请求信息的数量是否已达到上限,如果否,缓存访问请求信息,如果是,则丢弃接收到的访问请求信息。
68.图3为本技术提供的应用容器管理过程示意图,该过程包括以下步骤:
69.s101:控制设备根据目标应用对应的应用容器的部署情况确定第一转发信息,将所述第一转发信息发送至转发设备,使所述转发设备当接收到对所述目标应用的访问请求信息,根据所述第一转发信息判断是否存在所述目标应用对应的应用容器,如果存在,将所述访问请求信息转发至对应的应用容器,如果不存在,向所述控制设备发送激活应用容器的激活请求信息,并缓存所述访问请求信息。
70.s102:接收所述激活请求信息,对所述应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至所述转发设备;使所述转发设备根据所述第二转发信息将缓存的访问请求信息转发至对应的应用容器。
71.本技术提供的应用容器管理方法应用于控制设备。
72.图4为本技术提供的应用容器管理过程示意图,该过程包括以下步骤:
73.s201:控制设备根据目标应用对应的应用容器的部署情况确定第一转发信息,将所述第一转发信息发送至转发设备,使所述转发设备当接收到对所述目标应用的访问请求信息,根据所述第一转发信息判断是否存在所述目标应用对应的应用容器,如果存在,通过信息上报设备将所述访问请求信息转发至对应的应用容器,如果不存在,向所述控制设备发送激活应用容器的激活请求信息,并缓存所述访问请求信息。
74.s202:接收所述激活请求信息,对所述应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至所述转发设备;使所述转发设备根据所述第二转发信息,通过信息上报设备将缓存的访问请求信息转发至对应的应用容器。
75.s203:接收信息上报设备上报的对所述目标应用的访问量,其中,所述访问量是所述信息上报设备统计对所述目标应用的访问量,并按照设定的上报周期上报至所述控制设备的;根据所述访问量对所述应用容器进行扩容或缩容。
76.图5为本技术提供的应用容器管理过程示意图,该过程包括以下步骤:
77.s301:控制设备根据目标应用对应的应用容器的部署情况确定第一转发信息,将所述第一转发信息发送至转发设备,使所述转发设备当接收到对所述目标应用的访问请求信息,根据所述第一转发信息判断是否存在所述目标应用对应的应用容器,如果存在,通过信息上报设备将所述访问请求信息转发至对应的应用容器,如果不存在,向所述控制设备发送激活应用容器的激活请求信息,并缓存所述访问请求信息。
78.s302:接收所述激活请求信息,对所述应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至所述转发设备;使所述转发设备根据所述第二转发信息,通过信息上报设备将缓存的访问请求信息转发至对应的应用容器。
79.s303:接收信息上报设备上报的对所述目标应用的访问量,其中,所述访问量是所述信息上报设备统计对所述目标应用的访问量,并按照设定的上报周期上报至所述控制设备的。
80.s304:当所述访问量大于预设的第一流量阈值时,对所述应用容器进行扩容;当所述访问量小于预设的第二流量阈值,且所述访问量不为零时,对所述应用容器进行缩容;当所述访问量为零时,将所述应用容器缩容至零;其中,所述预设的第一流量阈值大于所述预设的第二流量阈值。
81.图6为本技术提供的应用容器管理过程示意图,该过程包括以下步骤:
82.s401:对目标应用对应的应用容器进行扩容或缩容后,确定扩容或缩容后的应用容器的部署情况,根据扩容或缩容后的应用容器的部署情况和部署的各应用容器的转发权重值确定第一转发信息。
83.s402:将所述第一转发信息发送至转发设备,使所述转发设备当接收到对所述目标应用的访问请求信息,根据所述第一转发信息判断是否存在所述目标应用对应的应用容器,如果存在,根据各应用容器的转发权重值,通过信息上报设备将所述访问请求信息转发至对应的应用容器,如果不存在,向所述控制设备发送激活应用容器的激活请求信息,并缓存所述访问请求信息。
84.s403:接收所述激活请求信息,对所述应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至所述转发设备;使所述转发设备根据所述第二转发信息,根据第二转发信息中携带的各应用容器的转发权重值,通过信息上报设备将缓存的访问请求信息转发至对应的应用容器。
85.本技术提供的应用容器管理系统,能根据交易请求量(访问请求信息)智能识别应用容器是否处于闲置状态,并根据识别结果,在闲置状态时自动地将应用容器副本数缩减至零,使得应用容器在闲置状态不产生计算资源的消耗,减少计算资源的计费开销。
86.在应用容器副本数为被自动缩减为零时,若突发业务访问请求信息,能够迅速拉起应用容器副本,并在拉起期间仍对上游提供应用容器正常访问,不会因为无可用副本而提前返回失败,在应用容器拉起后,再将先前缓存的访问请求信息导向应用容器,保证从零扩容时的业务连续性。
87.能够识别并统计每笔访问请求信息的调用情况,根据并发请求数、调用成功率、超时统计等信息作为扩容、缩容的触发条件。
88.能够监控应用容器调用情况,如每秒查询率qps、调用成功率、超时率等信息。
89.本技术提供的应用容器管理系统包括控制设备、转发设备和信息上报设备。控制设备向转发设备发送携带应用容器地址信息和转发权重值的转发信息,转发设备解析并按序换成访问请求信息,以保证从零扩容完成前的访问请求信息被缓存,在扩容后的再转交给应用容器正常处理,不影响现有交易。
90.信息上报设备对应用容器透明,访问请求信息会先发往信息上报设备,由信息上报设备统计访问量并向控制设备上报,使得控制设备获取目标应用的访问情况,以便在无访问情况下,对应用容器进行缩容至零副本的操作。
91.控制设备定期根据目标应用的访问量与应用容器的配置,对应用容器的副本进行调整,并支持将其副本调整为零。若目标应用访问量高于设定阈值,也会对应用容器副本进行扩容。
92.控制设备实时控制转发设备的流量代理策略:若应用容器存在可用副本,将访问请求信息直接导入可用的应用容器。若应用容器因为闲置而被缩容为零副本,则将访问请求信息进行缓存,并向控制设备汇报,在应用容器被控制设备扩容后再将访问请求信息转发给应用容器。
93.图7为本技术提供的应用容器管理框架图,如图7所示,框架图包括客户端、控制设备、转发设备、信息上报设备和应用容器。客户端向转发设备发起对应用容器的访问请求信息,转发设备转发访问请求信息到信息上报设备,信息上报设备向控制设备上报访问量。并
且将访问请求信息转发到应用容器。控制设备根据访问量向应用容器下发扩容或缩容指令,并且根据应用容器的部署情况向转发设备发送转发信息。
94.控制设备负责监控应用容器调用状态,在满足扩容或缩容条件时,向应用容器下发扩容或缩容指令,使得应用容器的资源使用量与实际调用量进行匹配;在应用扩容或缩容完毕后,控制设备向转发设备发送转发信息,转发信息携带了变更的应用容器的地址信息、转发权重值等信息,转发设备根据转发信息,将访问请求信息转发至扩容或缩容后的应用容器;控制设备收集汇总应用容器上报的访问量,提供应用扩容或缩容判断信息,并向租户进行展示。
95.转发设备负责解析并转发应用容器的访问请求信息,根据控制设备下发的转发信息,以及应用容器配置的负载均衡策略,将访问请求信息转发给应用容器副本中的一个。若应用容器副本为零,则会缓存访问请求信息,并通知控制设备进行扩容,待扩容完毕后,根据控制设备通知的转发信息将缓存的访问请求信息转发给扩容后的应用容器。
96.应用容器与信息上报设备一同部署,访问请求信息先进入信息上报设备,由信息上报设备统计请求和响应,并定期向控制设备上报应用容器调用情况。但对于应用容器来说,信息上报设备是透明的。
97.图7描述的是应用容器正常被调用期间的流程,本技术中,应用容器缩容至零后,如何保证不影响突发访问请求信息的同时,将应用容器进行扩容。参见图8。图8为本技术提供的应用容器管理框架图,如图8所示,在客户端发起访问请求信息时,由于转发设备无法将访问请求信息转发至应用容器,因此会先将访问请求信息进行缓存,并通知控制设备进行应用容器激活。控制设备收到激活请求信息后,将下发扩容指令,对应用容器进行扩容。
98.在扩容期间,转发设备会持续缓存访问请求信息,直至应用容器扩容完毕,能够对外提供服务,并收到控制设备下发的转发信息后,再将缓存的访问请求信息与后续新发起的访问请求信息全部转发至信息上报设备上。信息上报设备将访问请求信息转发至应用容器。
99.图9为本技术提供的转发设备缓存访问请求信息的流程图,如图9所示,当转发设备收到请求时,会先对报文进行解析,确定该笔请求将要访问的应用。若对应的应用存在代理地址,也就是存在应用容器,则根据负载均衡策略,在代理地址中选择一个地址将请求进行转发。若不存在代理地址,则代表应用目前为闲置状态,已将副本缩容为零,因此需要将该笔请求进行缓存并进行通知控制设备进行应用容器扩容。缓存请求时,为防止瞬间请求过多,而应用本身启动耗时较久,堆积过多请求,会对请求缓存进行一个判断,在缓存队列过满时丢弃请求。在请求进行缓存后,会判断是否通知控制设备将该应用进行过扩容,若已通知过,则结束流程,若未通知过,则进行通知,并结束流程。当控制设备(控制中心)通知代理服务器扩容完毕后,代表已经获取到了最终的代理地址。因此代理服务器会将原本处于缓存队列里的请求进行转发。同时,后续新来的请求也会先查看缓存队列是否为空,不为空则先塞入缓存队列,为空则直接转发,以此保证客户端请求顺序与应用容器收到的请求顺序一致。
100.图10为本技术提供的应用容器管理装置结构示意图,包括:
101.第一确定单元1001,用于根据目标应用对应的应用容器的部署情况确定第一转发信息,将所述第一转发信息发送至转发设备,使所述转发设备当接收到对所述目标应用的
访问请求信息,根据所述第一转发信息判断是否存在所述目标应用对应的应用容器,如果存在,将所述访问请求信息转发至对应的应用容器,如果不存在,向所述控制设备发送激活应用容器的激活请求信息,并缓存所述访问请求信息;
102.第二确定单元1002,用于接收所述激活请求信息,对所述应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至所述转发设备;使所述转发设备根据所述第二转发信息将缓存的访问请求信息转发至对应的应用容器。
103.所述装置还包括:
104.扩容缩容单元1003,用于接收信息上报设备上报的对所述目标应用的访问量,其中,所述访问量是所述信息上报设备统计对所述目标应用的访问量,并按照设定的上报周期上报至所述控制设备的;根据所述访问量对所述应用容器进行扩容或缩容。
105.所述扩容缩容单元1003,具体用于当所述访问量大于预设的第一流量阈值时,对所述应用容器进行扩容;当所述访问量小于预设的第二流量阈值,且所述访问量不为零时,对所述应用容器进行缩容;当所述访问量为零时,将所述应用容器缩容至零;其中,所述预设的第一流量阈值大于所述预设的第二流量阈值。
106.所述第一确定单元1001,具体用于对所述目标应用对应的应用容器进行扩容或缩容后,确定扩容或缩容后的应用容器的部署情况,根据扩容或缩容后的应用容器的部署情况确定第一转发信息。
107.所述第一确定单元1001,具体用于根据部署的各应用容器的转发权重值确定第一转发信息;以使所述转发设备根据所述各应用容器的转发权重值,将所述访问请求信息转发至对应的应用容器。
108.本技术还提供了一种控制设备,如图11所示,包括:处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信;
109.所述存储器1103中存储有计算机程序,当所述程序被所述处理器301执行时,使得所述处理器1101执行以上任一方法步骤。
110.上述控制设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
111.通信接口1102用于上述控制设备与其他设备之间的通信。
112.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
113.上述处理器可以是通用处理器,包括中央处理器、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
114.本技术还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由控制设备执行的计算机程序,当所述程序在所述控制设备上运行时,使得所述控制
设备执行时实现以上任一方法步骤。
115.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
116.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种应用容器管理系统,其特征在于,所述系统包括:控制设备和转发设备;所述控制设备,用于根据目标应用对应的应用容器的部署情况确定第一转发信息,将所述第一转发信息发送至所述转发设备;所述转发设备,用于接收所述第一转发信息,当接收到对所述目标应用的访问请求信息,根据所述第一转发信息判断是否存在所述目标应用对应的应用容器,如果存在,将所述访问请求信息转发至对应的应用容器,如果不存在,向所述控制设备发送激活应用容器的激活请求信息,并缓存所述访问请求信息;所述控制设备,用于接收所述激活请求信息,对所述应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至所述转发设备;所述转发设备,还用于接收所述第二转发信息,根据所述第二转发信息将缓存的访问请求信息转发至对应的应用容器。2.如权利要求1所述的系统,其特征在于,所述系统还包括:信息上报设备;所述转发设备,具体用于将所述访问请求信息转发至所述信息上报设备,通过所述信息上报设备将所述访问请求信息转发至对应的应用容器;所述信息上报设备,还用于统计对所述目标应用的访问量,并按照设定的上报周期将所述访问量上报至所述控制设备;所述控制设备,用于根据所述访问量对所述应用容器进行扩容或缩容。3.如权利要求2所述的系统,其特征在于,所述控制设备,具体用于当所述访问量大于预设的第一流量阈值时,对所述应用容器进行扩容;当所述访问量小于预设的第二流量阈值,且所述访问量不为零时,对所述应用容器进行缩容;当所述访问量为零时,将所述应用容器缩容至零;其中,所述预设的第一流量阈值大于所述预设的第二流量阈值。4.如权利要求1所述的系统,其特征在于,所述控制设备,具体用于对所述目标应用对应的应用容器进行扩容或缩容后,确定扩容或缩容后的应用容器的部署情况,根据扩容或缩容后的应用容器的部署情况确定第一转发信息。5.如权利要求1或4所述的系统,其特征在于,所述控制设备,具体用于根据部署的各应用容器的转发权重值确定第一转发信息;所述转发设备,具体用于根据所述各应用容器的转发权重值,将所述访问请求信息转发至对应的应用容器。6.如权利要求1所述的系统,其特征在于,所述转发设备,具体用于若缓存队列中的访问请求信息的数量已达到上限,丢弃接收到的所述访问请求信息,否则缓存所述访问请求信息。7.一种应用容器管理方法,其特征在于,所述方法包括:控制设备根据目标应用对应的应用容器的部署情况确定第一转发信息,将所述第一转发信息发送至转发设备,使所述转发设备当接收到对所述目标应用的访问请求信息,根据所述第一转发信息判断是否存在所述目标应用对应的应用容器,如果存在,将所述访问请求信息转发至对应的应用容器,如果不存在,向所述控制设备发送激活应用容器的激活请求信息,并缓存所述访问请求信息;接收所述激活请求信息,对所述应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至所述转发设备;使所述转发设备根据所述第二转发信息将缓存的访
问请求信息转发至对应的应用容器。8.如权利要求7所述的方法,其特征在于,所述方法还包括:接收信息上报设备上报的对所述目标应用的访问量,其中,所述访问量是所述信息上报设备统计对所述目标应用的访问量,并按照设定的上报周期上报至所述控制设备的;根据所述访问量对所述应用容器进行扩容或缩容。9.如权利要求8所述的方法,其特征在于,所述根据所述访问量对所述应用容器进行扩容或缩容包括:当所述访问量大于预设的第一流量阈值时,对所述应用容器进行扩容;当所述访问量小于预设的第二流量阈值,且所述访问量不为零时,对所述应用容器进行缩容;当所述访问量为零时,将所述应用容器缩容至零;其中,所述预设的第一流量阈值大于所述预设的第二流量阈值。10.如权利要求7所述的方法,其特征在于,所述根据目标应用对应的应用容器的部署情况确定第一转发信息包括:对所述目标应用对应的应用容器进行扩容或缩容后,确定扩容或缩容后的应用容器的部署情况,根据扩容或缩容后的应用容器的部署情况确定第一转发信息。11.如权利要求7或10所述的方法,其特征在于,所述确定第一转发信息包括:根据部署的各应用容器的转发权重值确定第一转发信息;以使所述转发设备根据所述各应用容器的转发权重值,将所述访问请求信息转发至对应的应用容器。12.一种应用容器管理装置,其特征在于,所述装置包括:第一确定单元,用于根据目标应用对应的应用容器的部署情况确定第一转发信息,将所述第一转发信息发送至转发设备,使所述转发设备当接收到对所述目标应用的访问请求信息,根据所述第一转发信息判断是否存在所述目标应用对应的应用容器,如果存在,将所述访问请求信息转发至对应的应用容器,如果不存在,向所述控制设备发送激活应用容器的激活请求信息,并缓存所述访问请求信息;第二确定单元,用于接收所述激活请求信息,对所述应用容器进行扩容,并根据扩容后的应用容器确定第二转发信息,并发送至所述转发设备;使所述转发设备根据所述第二转发信息将缓存的访问请求信息转发至对应的应用容器。13.如权利要求12所述的装置,其特征在于,所述装置还包括:扩容缩容单元,用于接收信息上报设备上报的对所述目标应用的访问量,其中,所述访问量是所述信息上报设备统计对所述目标应用的访问量,并按照设定的上报周期上报至所述控制设备的;根据所述访问量对所述应用容器进行扩容或缩容。14.如权利要求13所述的装置,其特征在于,所述扩容缩容单元,具体用于当所述访问量大于预设的第一流量阈值时,对所述应用容器进行扩容;当所述访问量小于预设的第二流量阈值,且所述访问量不为零时,对所述应用容器进行缩容;当所述访问量为零时,将所述应用容器缩容至零;其中,所述预设的第一流量阈值大于所述预设的第二流量阈值。15.如权利要求12所述的装置,其特征在于,所述第一确定单元,具体用于对所述目标应用对应的应用容器进行扩容或缩容后,确定扩容或缩容后的应用容器的部署情况,根据扩容或缩容后的应用容器的部署情况确定第一转发信息。16.如权利要求12或15所述的装置,其特征在于,所述第一确定单元,具体用于根据部
署的各应用容器的转发权重值确定第一转发信息;以使所述转发设备根据所述各应用容器的转发权重值,将所述访问请求信息转发至对应的应用容器。17.一种控制设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求7-11任一项所述的方法步骤。18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求7-11任一项所述的方法步骤。
技术总结
本申请公开了应用容器管理系统、方法、装置、控制设备及存储介质,控制设备根据目标应用对应的应用容器的部署情况确定第一转发信息并发送至转发设备,转发设备接收到对目标应用的访问请求信息,根据第一转发信息转发访问请求信息。判断是否存在目标应用对应的应用容器,如果存在,则将访问请求信息转发至对应的应用容器,如果不存在,此时缓存访问请求信息,并且向控制设备发送激活应用容器的激活请求信息,以便控制设备对对应用容器进行扩容之后,再转发缓存的访问请求信息。本申请实现了一种基于应用的应用容器管理方案,提高了应用容器管理的准确性,并且解决了因为无应用容器导致访问失败的问题。导致访问失败的问题。导致访问失败的问题。
技术研发人员:杨斌 苗浩 水淼
受保护的技术使用者:中国银联股份有限公司
技术研发日:2023.04.18
技术公布日:2023/9/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
