一种容器管控方法、装置、系统及电子设备与流程
未命名
08-15
阅读:85
评论:0
1.本技术涉及计算机信息安全技术领域,具体而言,涉及一种容器管控方法、装置、系统及电子设备。
背景技术:
2.随着时代的进步、容器技术的发展以及容器云的建设,越来越多的企业需要完成从主机安全到容器云安全的更新升级。其中,容器可以理解为一个个轻量级的独立系统,为了保证整个系统的安全性,除了需要对主机上的账号、病毒和文件等进行安全管控外,也需要对容器中的各项指标进行管控。
3.在现有技术中,代理客户端与引擎端一般一体安装在主机上,通过引擎端实现对容器的管控。但是,采用上述方式的灵活性较差。
技术实现要素:
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.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
33.请参照图1,图1为本技术实施例提供的一种容器管控系统的结构框图,该容器管控系统100可以包括:代理客户端101以及引擎端102。
34.具体的,代理客户端101是整个容器管控系统100上报数据处理的中心,在本技术实施例中,代理客户端101部署在第一容器中。作为一种实施方式,代理客户端101可以与上层服务端进行交互;作为另一种实施方式,代理客户端101可以与下层引擎端102进行通信。
35.引擎端102是整个容器管控系统100真正管控容器安全的组件,每一个引擎端102都分管不同的安全功能,与上层代理客户端101进行通信。在本技术实施例中,引擎端102部署在第二容器中,第一容器与第二容器为不同的容器。
36.可以理解的是,在容器管控系统100中,引擎端102的数量可以为一个或者多个;当引擎端102的数量为多个时,不同的引擎端102可以部署在不同的第二容器上。
37.需要说明的是,本技术实施例对上述交互以及通信的具体实施方式均不做具体的限定,本领域技术人员可以根据实际情况进行合适调整。举例来说,代理客户端101与服务端可以通过超文本传输安全协议(hypertext transfer protocol secure,https)进行交互;或者,代理客户端101与引擎端102通过socket方式进行通信。
38.其中,当代理客户端101与引擎端102通过socket方式进行通信时,为了节省输入/输出(input/output,i/o)资源的开销,在tcp socket通信的方式之后,开发了unix socket通信的方式进行平替,避免了多引擎下,io资源不够的情况。
39.请参照图2,图2为本技术实施例提供的另一种容器管控系统的示意图,在该容器管控系统中,除了代理客户端以及引擎端外,还包括服务端以及被管控容器。
40.其中,服务端可以通过https与代理客户端进行交互;代理客户端中可以存储有引擎状态表,用于与引擎端进行交互;引擎端可以通过socket方式与代理客户端进行通信;代理客户端与引擎端之吉安还可以存在挂载文件,作为代理客户端和引擎端少量持久信息的共享点;引擎端可以对被管控容器进行管控。
41.基于上述容器管控系统,本技术实施例还提供一种容器管控方法,下面分别对应用于代理客户端的容器管控方法以及应用于引擎端的容器管控方法进行详细的介绍。
42.请参照图3,图3为本技术实施例提供的一种应用于代理客户端的容器管控方法的流程图,该容器管控方法可以包括如下步骤:
43.步骤s301:接收服务端下发的第一管控数据并对第一管控数据进行处理,得到处理后的第二管控数据。
44.步骤s302:根据基础信息在引擎状态表中查询与引擎端对应的连接标识符。
45.步骤s303:根据连接标识符将任务信息发送至引擎端,以使引擎端基于任务信息对容器进行管控。
46.具体的,在上述步骤s301中,服务端可以向代理客户端下达任务和策略,在本技术实施例中,将服务端下发的数据命名为第一管控数据;代理客户端在接收到上述第一管控数据后,可以对上述第一管控数据进行处理后,得到第二管控数据。
47.其中,本技术实施例对上述处理的具体实施方式不做具体的限定,本领域技术人员可以根据实际情况进行合适的调整;举例来说,上述处理可以包括解密处理;或者,上述处理可以包括加密处理;或者,上述处理可以包括过滤处理等。
48.作为一种实施方式,第一管控数据可以包括处理前的任务信息以及处理前的引擎端对应的基础信息;相应的,第二管控数据可以包括任务信息以及引擎端对应的基础信息。
49.需要说明的是,本技术实施例对上述基础信息的具体实施方式不做具体的限定,本领域技术人员可以根据实际情况进行合适的调整;举例来说,基础信息可以包括引擎端的进程名、引擎端的模块组合、引擎端的版本等。
50.此外,本技术实施例对上述任务信息的具体实施方式同样不做具体的限定,本领域技术人员同样可以根据实际情况进行合适的调整;举例来说,任务信息可以包括透传数据以及自定义附加数据。
51.其中,透传数据是指用户想给引擎端直接传达的指令,例如:升级指令、发送文件指令等。作为一种实施方式,透传数据是服务端直接给引擎端的数据,为二进制格式的数据,代理客户端不做任何处理,也不会去解析获取,直接放在透传数据的字段中。
52.而自定义附加数据是代理客户端和引擎端协商的数据格式,通过这个数据判断数据的功能,例如:下发任务、下发策略、上报日志、上报健康状态、上报基础信息、引擎间信息传输等。可以理解的是,引擎端在接收到自定义附加数据后,需要向代理客户端上报对应的数据。
53.在上述步骤s302中,引擎状态表中可以存储有与引擎端对应的连接标识符以及基础信息,因此,根据上述基础信息,代理客户端可以在引擎状态表中查询与引擎端对应的连接标识符。
54.在上述步骤s303,代理客户端可以根据上述查询到的连接标识符,将上述任务信息发送至引擎端,以使引擎端基于任务信息对容器进行管控。
55.可以理解的是,引擎端在接收到自定义附加数据后,需要向代理客户端上报对应的数据;引擎端在接收到透传数据后,不需要向代理客户端进行上报。
56.在上述方案中,代理客户端与引擎端可以部署在不同的容器中,并且,代理客户端可以通过引擎状态表实现与引擎端之间的交互。当代理客户端得到第二管控数据后,可以基于引擎状态表向引擎端发送对应的任务信息,从而使得引擎端可以基于上述任务信息对容器进行管控。与现有技术中代理客户端与引擎端一体安装在主机上相比,本技术实施例提供的容器管控方法中由于代理客户端与引擎端部署在不同的容器中,因此灵活性更高。
57.进一步的,在上述实施例的基础上,下面对生成上述引擎状态表的具体实施方式进行介绍。在该种实施方式中,在上述步骤s201之前,本技术实施例提供的容器管控方法还可以包括如下步骤:
58.步骤1),接收引擎端发送的基础信息。
59.步骤2),根据基础信息生成与引擎端对应的连接标识符以及引擎状态表。
60.步骤3),将基础信息发送至服务端。
61.具体的,在上述步骤1)中,代理客户端可以根据用户的配置进行启动,其中,用户的配置可以包括与服务端的连接配置、与引擎端的连接配置、基础项的配置,例如:重连时间等;本技术实施例对此不做具体的限定。
62.代理客户端在启动后,引擎端可以使用和代理客户端配置的一样的连接方式进行连接,一旦代理客户端与引擎端连接成功,引擎端可以向代理客户端发送自身的基础信息。
63.在上述步骤2)中,根据上述基础信息,代理客户端可以生成与该引擎端对应的连接标识符以及引擎状态表,并且可以在上述引擎状态表中进行连接标识符以及基础信息的绑定,参照表1;这样,引擎端的动态可以随时更新到上述引擎状态表上。
64.表1
65.连接标识符进程名模块组合版本其它信息fd_conn1baseinfolog report...1.0.0...fd_conn2centerhelphandle log...1.0.1...
66.在上述步骤3)中,代理客户端还可以将上述接收到的基础信息同步给服务端,以使服务端可以向对应的引擎端下发任务和策略。
67.在上述方案中,代理客户端与引擎端在启动并建立通信连接后,引擎端可以向代理客户端发送自身的基础信息;基于上述基础信息,代理客户端可以生成对应的连接标识符以及引擎状态表。通过上述引擎状态表,代理客户端可以实现与部署在其他容器中的引擎端的交互,从而实现代理客户端与引擎端之间的低耦合以及引擎端与引擎端之间的相互隔离,因此可以提高灵活性。
68.进一步的,在上述实施例的基础上,代理客户端还可以对引擎端的状态进行监测,在该种实施方式中,本技术实施例提供的容器管控方法还可以包括如下步骤:
69.步骤1),查询连接标识符的状态。
70.步骤2),若连接标识符的状态表征连接标识符失效,则确定与连接标识符对应的引擎端故障。
71.具体的,由于连接标识符是在socket通信之后生成的,因此,代理客户端能根据连接标识符的状态感知引擎端是否正常工作通信。基于上述实施例中的引擎状态表,当一个引擎端出现故障的时候,会导致淇对应的连接标识符的失效,从而得到引擎端是否出现故障。
72.因此,代理客户端可以通过查询连接标识符的状态是否为失效,来判断与该连接标识符对应的引擎端是否故障。可以理解的使,由于每个引擎端均有单独的连接标识符,因此每个引擎端的故障状态是独立的。
73.此外,由于代理客户端和引擎端分别部署在不同的容器中,实现了他们的独立隔离、互不影响,因此,即使一个引擎端故障了,整个系统也能正常运行,而且能够快速进行一个同样功能的引擎端的新版本的替换。
74.在上述方案中,代理客户端可以定时轮询引擎状态表中连接标识符的状态,从而可以通过上述连接标识符的状态对引擎端的状态进行监测。此外,当代理客户端监测到某
一引擎端出现故障时,该引擎端的故障以及维护不会影响整个系统的运行。
75.请参照图4,图4为本技术实施例提供的一种应用于引擎端的容器管控方法的流程图,该容器管控方法可以包括如下步骤:
76.步骤s401:接收代理客户端根据引擎状态表发送的任务信息。
77.步骤s402:根据任务信息对容器进行管控。
78.具体的,在上述步骤s401中,服务端可以向代理客户端下达任务和策略,代理客户端对上述任务和策略进行相应的处理后,可以得到任务信息以及基础信息;基于上述基础信息,代理客户端可以在引擎状态表中查询与引擎端对应的连接标识符,从而根据查询到的连接标识符将上述任务信息发送至引擎端。
79.需要说明的是,本技术实施例对上述基础信息的具体实施方式不做具体的限定,本领域技术人员可以根据实际情况进行合适的调整;举例来说,基础信息可以包括引擎端的进程名、引擎端的模块组合、引擎端的版本等。
80.此外,本技术实施例对上述任务信息的具体实施方式同样不做具体的限定,本领域技术人员同样可以根据实际情况进行合适的调整;举例来说,任务信息可以包括透传数据以及自定义附加数据。
81.其中,透传数据是指用户想给引擎端直接传达的指令,例如:升级指令、发送文件指令等。作为一种实施方式,透传数据是服务端直接给引擎端的数据,为二进制格式的数据,代理客户端不做任何处理,也不会去解析获取,直接放在透传数据的字段中。
82.而自定义附加数据是代理客户端和引擎端协商的数据格式,通过这个数据判断数据的功能,例如:下发任务、下发策略、上报日志、上报健康状态、上报基础信息、引擎间信息传输等。可以理解的是,引擎端在接收到自定义附加数据后,需要向代理客户端上报对应的数据。
83.在上述步骤s402中,引擎端可以根据接收到的任务信息对被管控那个容器进行管控。可以理解的是,引擎端在接收到自定义附加数据后,需要向代理客户端上报对应的数据;引擎端在接收到透传数据后,不需要向代理客户端进行上报。
84.在上述方案中,代理客户端与引擎端可以部署在不同的容器中,并且,代理客户端可以通过引擎状态表实现与引擎端之间的交互。代理客户端可以向引擎端发送对应的任务信息,从而使得引擎端可以基于上述任务信息对容器进行管控。与现有技术中代理客户端与引擎端一体安装在主机上相比,本技术实施例提供的容器管控方法中由于代理客户端与引擎端部署在不同的容器中,因此灵活性更高。
85.进一步的,在上述实施例的基础上,下面对生成上述引擎状态表的具体实施方式进行介绍。在该种实施方式中,在上述步骤s301之前,本技术实施例提供的容器管控方法还可以包括如下步骤:
86.步骤1),向代理客户端发送基础信息,以使代理客户端根据基础信息生成与引擎端对应的连接标识符以及引擎状态表。
87.具体的,在上述步骤1)中,引擎端启动后,可以使用和代理客户端配置的一样的连接方式进行连接,一旦代理客户端与引擎端连接成功,引擎端可以向代理客户端发送自身的基础信息。
88.根据上述基础信息,代理客户端可以生成与该引擎端对应的连接标识符以及引擎
状态表,并且可以在上述引擎状态表中进行连接标识符以及基础信息的绑定,这样,引擎端的动态可以随时更新到上述引擎状态表上。
89.在上述方案中,代理客户端与引擎端在启动并建立通信连接后,引擎端可以向代理客户端发送自身的基础信息;基于上述基础信息,代理客户端可以生成对应的连接标识符以及引擎状态表。通过上述引擎状态表,代理客户端可以实现与部署在其他容器中的引擎端的交互,从而实现代理客户端与引擎端之间的低耦合以及引擎端与引擎端之间的相互隔离,因此可以提高灵活性。
90.请参照图5,图5为本技术实施例提供的一种容器管控方法的交互图,该容器管控方法可以包括如下步骤:
91.步骤s501:代理客户端接收引擎端发送的基础信息。
92.步骤s502:代理客户端根据基础信息生成与引擎端对应的连接标识符以及引擎状态表。
93.步骤s503:代理客户端将基础信息发送至服务端。
94.步骤s504:代理客户端接收服务端下发的第一管控数据并对第一管控数据进行处理,得到处理后的第二管控数据。
95.步骤s505:代理客户端根据基础信息在引擎状态表中查询与引擎端对应的连接标识符。
96.步骤s506:代理客户端根据连接标识符将任务信息发送至引擎端。
97.步骤s507:引擎端根据任务信息对容器进行管控。
98.在上述方案中,解决了现有技术中:代理客户端和引擎端解耦的问题;引擎过多时避免io资源浪费的问题;代理客户端和引擎间沟通方式、信息结构的问题;代理客户端对引擎的状态感知的问题;代理客户端和引擎对存在安全隐患的容器的处理方式问题;容器间的共享方式。
99.请参照图6,图6为本技术实施例提供的一种应用于代理客户端的容器管控装置的结构框图,该容器管控装置600可以包括:第一接收模块601,用于接收服务端下发的第一管控数据并对所述第一管控数据进行处理,得到处理后的第二管控数据;其中,所述第二管控数据包括任务信息以及引擎端对应的基础信息;第一查询模块602,用于根据所述基础信息在引擎状态表中查询与所述引擎端对应的连接标识符;其中,所述引擎端与所述代理客户端部署在不同的容器上;第一发送模块603,用于根据所述连接标识符将所述任务信息发送至所述引擎端,以使所述引擎端基于所述任务信息对容器进行管控。
100.在上述方案中,代理客户端与引擎端可以部署在不同的容器中,并且,代理客户端可以通过引擎状态表实现与引擎端之间的交互。当代理客户端得到第二管控数据后,可以基于引擎状态表向引擎端发送对应的任务信息,从而使得引擎端可以基于上述任务信息对容器进行管控。与现有技术中代理客户端与引擎端一体安装在主机上相比,本技术实施例提供的容器管控方法中由于代理客户端与引擎端部署在不同的容器中,因此灵活性更高。
101.进一步的,在上述实施例的基础上,所述容器管控装置600还包括:第三接收模块,用于接收所述引擎端发送的所述基础信息;生成模块,用于根据所述基础信息生成与所述引擎端对应的所述连接标识符以及所述引擎状态表;第二发送模块,用于将所述基础信息发送至所述服务端。
102.在上述方案中,代理客户端与引擎端在启动并建立通信连接后,引擎端可以向代理客户端发送自身的基础信息;基于上述基础信息,代理客户端可以生成对应的连接标识符以及引擎状态表。通过上述引擎状态表,代理客户端可以实现与部署在其他容器中的引擎端的交互,从而实现代理客户端与引擎端之间的低耦合以及引擎端与引擎端之间的相互隔离,因此可以提高灵活性。
103.进一步的,在上述实施例的基础上,所述容器管控装置600还包括:第二查询模块,用于查询所述连接标识符的状态;确定模块,用于若所述连接标识符的状态表征所述连接标识符失效,则确定与所述连接标识符对应的引擎端故障。
104.在上述方案中,代理客户端可以定时轮询引擎状态表中连接标识符的状态,从而可以通过上述连接标识符的状态对引擎端的状态进行监测。此外,当代理客户端监测到某一引擎端出现故障时,该引擎端的故障以及维护不会影响整个系统的运行。
105.请参照图7,图7为本技术实施例提供的一种应用于引擎端的容器管控装置的结构框图,该容器管控装置700可以包括:第二接收模块701,用于接收代理客户端发送的任务信息;其中,所述代理客户端与所述引擎端部署在不同的容器上;管控模块702,用于根据所述任务信息对容器进行管控。
106.在上述方案中,代理客户端与引擎端可以部署在不同的容器中,并且,代理客户端可以通过引擎状态表实现与引擎端之间的交互。代理客户端可以向引擎端发送对应的任务信息,从而使得引擎端可以基于上述任务信息对容器进行管控。与现有技术中代理客户端与引擎端一体安装在主机上相比,本技术实施例提供的容器管控方法中由于代理客户端与引擎端部署在不同的容器中,因此灵活性更高。
107.进一步的,在上述实施例的基础上,所述容器管控装置700还包括:第三发送模块,用于向所述代理客户端发送基础信息,以使所述代理客户端根据所述基础信息生成与所述引擎端对应的所述连接标识符以及所述引擎状态表。
108.在上述方案中,代理客户端与引擎端在启动并建立通信连接后,引擎端可以向代理客户端发送自身的基础信息;基于上述基础信息,代理客户端可以生成对应的连接标识符以及引擎状态表。通过上述引擎状态表,代理客户端可以实现与部署在其他容器中的引擎端的交互,从而实现代理客户端与引擎端之间的低耦合以及引擎端与引擎端之间的相互隔离,因此可以提高灵活性。
109.请参照图8,图8为本技术实施例提供的一种电子设备的结构框图,该电子设备800包括:至少一个处理器801,至少一个通信接口802,至少一个存储器803和至少一个通信总线804。其中,通信总线804用于实现这些组件直接的连接通信,通信接口802用于与其他节点设备进行信令或数据的通信,存储器803存储有处理器801可执行的机器可读指令。当电子设备800运行时,处理器801与存储器803之间通过通信总线804通信,机器可读指令被处理器801调用时执行上述容器管控方法。
110.例如,本技术实施例的处理器801通过通信总线804从存储器803读取计算机程序并执行该计算机程序可以实现如下方法:步骤s301:接收服务端下发的第一管控数据并对第一管控数据进行处理,得到处理后的第二管控数据。步骤s302:根据基础信息在引擎状态表中查询与引擎端对应的连接标识符。步骤s303:根据连接标识符将任务信息发送至引擎端,以使引擎端基于任务信息对容器进行管控。或者,可以实现如下方法:步骤s401:接收代
理客户端根据引擎状态表发送的任务信息。步骤s402:根据任务信息对容器进行管控。
111.其中,处理器801包括一个或多个,其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器801可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、微控制单元(micro controller unit,简称mcu)、网络处理器(network processor,简称np)或者其他常规处理器;还可以是专用处理器,包括神经网络处理器(neural-network processing unit,简称npu)、图形处理器(graphics processing unit,简称gpu)、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuits,简称asic)、现场可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器801为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
112.存储器803包括一个或多个,其可以是,但不限于,随机存取存储器(random access memory,简称ram),只读存储器(read only memory,简称rom),可编程只读存储器(programmable read-only memory,简称prom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),电可擦除可编程只读存储器(electric erasable programmable read-only memory,简称eeprom)等。
113.可以理解,图8所示的结构仅为示意,电子设备800还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。图8中所示的各组件可以采用硬件、软件或其组合实现。于本技术实施例中,电子设备800可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备、车载设备等实体设备,还可以是虚拟机等虚拟设备。另外,电子设备800也不一定是单台设备,还可以是多台设备的组合,例如服务器集群,等等。
114.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序指令,所述计算机程序指令被计算机运行时,使所述计算机执行前述方法实施例所述的容器管控方法。
115.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
116.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
117.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
118.需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现
出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
119.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
120.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种容器管控方法,其特征在于,应用于代理客户端,所述方法包括:接收服务端下发的第一管控数据并对所述第一管控数据进行处理,得到处理后的第二管控数据;其中,所述第二管控数据包括任务信息以及引擎端对应的基础信息;根据所述基础信息在引擎状态表中查询与所述引擎端对应的连接标识符;其中,所述引擎端与所述代理客户端部署在不同的容器上;根据所述连接标识符将所述任务信息发送至所述引擎端,以使所述引擎端基于所述任务信息对容器进行管控。2.根据权利要求1所述的容器管控方法,其特征在于,在所述接收服务端下发的第一管控数据并对所述第一管控数据进行处理,得到处理后的第二管控数据之前,所述方法还包括:接收所述引擎端发送的所述基础信息;根据所述基础信息生成与所述引擎端对应的所述连接标识符以及所述引擎状态表;将所述基础信息发送至所述服务端。3.根据权利要求1或2所述的容器管控方法,其特征在于,所述方法还包括:查询所述连接标识符的状态;若所述连接标识符的状态表征所述连接标识符失效,则确定与所述连接标识符对应的引擎端故障。4.一种容器管控方法,其特征在于,应用于引擎端,所述方法包括:接收代理客户端根据引擎状态表发送的任务信息;其中,所述代理客户端与所述引擎端部署在不同的容器上;根据所述任务信息对容器进行管控。5.根据权利要求4所述的容器管控方法,其特征在于,在所述接收代理客户端根据引擎状态表发送的任务信息之前,所述方法还包括:向所述代理客户端发送基础信息,以使所述代理客户端根据所述基础信息生成与所述引擎端对应的连接标识符以及所述引擎状态表。6.一种容器管控装置,其特征在于,应用于代理客户端,所述装置包括:第一接收模块,用于接收服务端下发的第一管控数据并对所述第一管控数据进行处理,得到处理后的第二管控数据;其中,所述第二管控数据包括任务信息以及引擎端对应的基础信息;第一查询模块,用于根据所述基础信息在引擎状态表中查询与所述引擎端对应的连接标识符;其中,所述引擎端与所述代理客户端部署在不同的容器上;第一发送模块,用于根据所述连接标识符将所述任务信息发送至所述引擎端,以使所述引擎端基于所述任务信息对容器进行管控。7.一种容器管控装置,其特征在于,应用于引擎端,所述装置包括:第二接收模块,用于接收代理客户端根据引擎状态表发送的任务信息;其中,所述代理客户端与所述引擎端部署在不同的容器上;管控模块,用于根据所述任务信息对容器进行管控。8.一种容器管控系统,其特征在于,包括:代理客户端,部署在第一容器中,用于执行如权利要求1-3任一项所述的容器管控方
法;引擎端,部署在第二容器中,与所述代理客户端通信连接,用于执行如权利要求4或5所述的容器管控方法。9.一种电子设备,其特征在于,包括:处理器、存储器和总线;所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的计算机程序指令,所述处理器调用所述计算机程序指令能够执行如权利要求1-3任一项所述的容器管控方法或者如权利要求4或5所述的容器管控方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序指令,所述计算机程序指令被计算机运行时,使所述计算机执行如权利要求1-3任一项所述的容器管控方法或者如权利要求4或5所述的容器管控方法。
技术总结
本申请提供一种容器管控方法、装置、系统及电子设备,应用于计算机信息安全领域,其中,容器管控方法包括:接收服务端下发的第一管控数据并对第一管控数据进行处理,得到处理后的第二管控数据;其中,第二管控数据包括任务信息以及引擎端对应的基础信息;根据基础信息在引擎状态表中查询与引擎端对应的连接标识符;其中,引擎端与代理客户端部署在不同的容器上;根据连接标识符将任务信息发送至引擎端,以使引擎端基于任务信息对容器进行管控。在上述方案中,与现有技术中代理客户端与引擎端一体安装在主机上相比,本申请实施例提供的容器管控方法中由于代理客户端与引擎端部署在不同的容器中,因此灵活性更高。因此灵活性更高。因此灵活性更高。
技术研发人员:曹迅 车志林
受保护的技术使用者:北京天融信科技有限公司 北京天融信软件有限公司
技术研发日:2023.05.23
技术公布日:2023/8/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
