基于Kafka消息的插件安装方法、装置及存储介质与流程

文档序号:37179302发布日期:2024-03-01 12:35阅读:15来源:国知局
基于Kafka消息的插件安装方法、装置及存储介质与流程

本技术涉及插件检测,尤其涉及一种基于kafka消息的插件安装方法、装置及存储介质。


背景技术:

1、随着云计算的发展,越来越多的企业和个人选择将自己的应用程序和数据迁移到云上。为了方便用户管理和使用这些应用程序,许多云服务提供商都会提供插件或扩展功能,以增强其云平台的功能和性能。因此,检测插件是否安装,并在插件未安装时及时安装对于云服务中的应用能否正常运行非常重要。

2、目前主要通过定时轮询的方式检查应用列表中的每一个应用是否安装了其对应的插件,在应用重启时,由于应用所对应的插件在应用关闭时会被卸载,因此,定时轮询的方式会导致不能及时发现应用未安装插件的情况,插件安装的效率较低。


技术实现思路

1、本技术的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中在应用重启时,由于应用所对应的插件在应用关闭时会被卸载,因此,定时轮询的方式会导致不能及时发现应用未安装插件的情况,插件安装的效率较低的技术缺陷。

2、第一方面,本技术提供了一种基于kafka消息的插件安装方法,所述方法包括:

3、当监听到目标应用发送的kafka消息时,获取所述kafka消息中包含的部署状态和资源目录,并根据所述kafka消息,确定目标插件;其中,所述kafka消息是其对应的目标应用在启动时发送至已被服务端订阅的主题中的启动信息;

4、根据所述部署状态,判断所述目标应用是否启动成功;

5、若所述目标应用启动成功,则在所述kafka消息中提取与所述目标应用对应的应用连接信息;

6、根据所述应用连接信息,建立与所述目标应用的连接;

7、当确定所述目标插件已安装于所述目标应用中时,将所述目标应用中与所述目标插件对应的安装目录与所述资源目录进行匹配;

8、当确定所述资源目录中对应的每个插件功能包均存在于所述目标应用中时,检测所述目标应用中与所述资源目录中的每个记录对应的插件功能包是否均注入成功;

9、若所述目标应用中与所述资源目录中的每个记录对应的插件功能包均注入成功,则生成用于表征目标插件安装成功的通知信息,并将所述通知信息返回至客户端。

10、在其中一个实施例中,所述确定所述目标插件已安装于所述目标应用中,包括:

11、判断所述目标应用中是否存在与所述目标插件对应的安装信息;

12、若所述目标应用中存在与所述目标插件对应的安装信息,则确定所述目标插件已安装于所述目标应用中;

13、若所述目标应用中不存在与所述目标插件对应的安装信息,则从预设的公用服务器中将所述目标插件的安装包复制至所述目标应用中,并确定所述目标插件已安装于所述目标应用中。

14、在其中一个实施例中,所述确定所述资源目录中对应的每个插件功能包均存在于所述目标应用中,包括:

15、判断所述资源目录中的每个记录是否均存在于与所述目标插件对应的安装目录中;

16、若所述资源目录中的每个记录均存在于所述安装目录中,则确定所述资源目录中对应的每个插件功能包均存在于所述目标应用中;

17、若存在所述资源目录中的记录不存在于所述安装目录中,则将所述资源目录中不存在于所述安装目录中的记录确定为目标记录;

18、从预设的公用服务器中将与所述目标记录对应的插件功能包复制至所述目标应用中,并确定所述资源目录中对应的每个插件功能包均存在于所述目标应用中。

19、在其中一个实施例中,所述根据所述应用连接信息,建立与所述目标应用的连接,包括:

20、获取所述应用连接信息中的ip地址、端口号、账号和密码;

21、根据所述ip地址和所述端口号,确定目标地址;

22、利用所述账号和所述密码,登录所述目标地址,以完成与所述目标应用的连接。

23、在其中一个实施例中,所述方法还包括:

24、若所述目标应用中存在与所述资源目录对应的插件功能包未注入成功,则将所述目标应用中与所述资源目录对应的未注入成功的插件功能包确定为目标功能包;

25、将所述目标功能包加载至所述目标应用中;

26、生成用于表征目标插件安装成功的通知信息,并将所述通知信息返回至客户端。

27、在其中一个实施例中,所述方法还包括:

28、若所述目标应用启动失败,则生成告警信息,并将所述告警信息发送至客户端。

29、在其中一个实施例中,所述方法还包括:

30、当关闭所述目标应用时,卸载所述目标插件。

31、第二方面,本技术提供了一种基于kafka消息的插件安装装置,所述装置包括:

32、消息监听模块,用于当监听到目标应用发送的kafka消息时,获取所述kafka消息中包含的部署状态和资源目录,并根据所述kafka消息,确定目标插件;其中,所述kafka消息是其对应的目标应用在启动时发送至已被服务端订阅的主题中的启动信息;

33、应用启动判断模块,用于根据所述部署状态,判断所述目标应用是否启动成功;

34、信息提取模块,用于若所述目标应用启动成功,则在所述kafka消息中提取与所述目标应用对应的应用连接信息;

35、连接建立模块,用于根据所述应用连接信息,建立与所述目标应用的连接;

36、目录匹配模块,用于当确定所述目标插件已安装于所述目标应用中时,将所述目标应用中与所述目标插件对应的安装目录与所述资源目录进行匹配;

37、注入检测模块,用于当确定所述资源目录中对应的每个插件功能包均存在于所述目标应用中时,检测所述目标应用中与所述资源目录中的每个记录对应的插件功能包是否均注入成功;

38、通知信息发送模块,用于若所述目标应用中与所述资源目录中的每个记录对应的插件功能包均注入成功,则生成用于表征目标插件安装成功的通知信息,并将所述通知信息返回至客户端。

39、第三方面,本技术提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述任一项实施例所述基于kafka消息的插件安装方法的步骤。

40、第四方面,本技术提供了一种计算机设备,包括:一个或多个处理器,以及存储器;

41、所述存储器中存储有计算机可读指令,所述一个或多个处理器执行时所述计算机可读指令时,执行如上述任一项实施例所述基于kafka消息的插件安装方法的步骤。

42、从以上技术方案可以看出,本技术实施例具有以下优点:

43、本技术提供的一种基于kafka消息的插件安装方法、装置及存储介质,该方法包括:当监听到目标应用发送的kafka消息时,能够根据kafka消息判断应用是否成功启动,若目标应用成功启动,则启动对目标插件的安装。而kafka消息是其对应的目标应用在启动时发送至已被服务端订阅的主题中的启动信息。因此,能够在应用启动的第一时间对目标插件进行安装,从而提高插件安装的效率。而且,在目标应用已安装目标插件的情况下,相较于定时轮询的方式,能够避免重复轮询检查,进而节约服务资源,降低插件安装的成本。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1