本公开涉及计算机,具体地,涉及一种算法插件加载方法、装置、存储介质及电子设备。
背景技术:
1、应用程序的业务服务主要为客户端提供不同业务对应的数据,该数据通过集成在算法jar包内的不同算法策略计算得到。在应用程序使用过程中,为了提高应用程序的品质,往往需要对算法策略进行优化或调整。
2、相关技术中,在算法开发人员提供新的算法jar包后,为了能够正常加载并使用该新的算法jar包,应用程序的开发人员也需要根据该新的算法jar包对应用程序进行适应性调整,并发布新的应用程序版本,这样,会导致应用程序频繁发版,提高了应用程序的服务风险。
技术实现思路
1、为了解决上述问题,本公开提供一种算法插件加载方法、装置、存储介质及电子设备。
2、第一方面,本公开提供一种算法插件加载方法,所述方法包括:
3、在满足预设展示条件的情况下,展示目标插件容器对应的多个算法插件的插件信息,所述算法插件为按照预设插件框架对目标算法进行封装得到的插件,不同的算法插件对应不同的目标算法;
4、在接收到用户根据展示的多个所述算法插件的插件信息触发的算法启动指令后,从多个所述算法插件中确定目标算法插件;
5、启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法。
6、可选地,所述展示目标插件容器对应的多个算法插件的插件信息包括:
7、通过预先创建的算法插件关联关系,确定所述目标插件容器对应的多个所述算法插件,所述算法插件关联关系包括不同的插件容器与算法插件之间的对应关系;
8、获取多个所述算法插件的插件信息;
9、展示多个所述算法插件的插件信息。
10、可选地,所述预设展示条件包括:
11、检测到所述目标插件容器中存在新增的算法插件;或者,
12、接收到所述用户触发的算法插件展示指令。
13、可选地,所述目标应用程序运行在多个服务器中,在所述预设展示条件为检测到所述目标插件容器中存在新增的算法插件的情况下,在所述从多个所述算法插件中确定目标算法插件前,所述方法还包括:
14、确定多个所述算法插件的状态信息,所述状态信息包括灰度启用状态和非灰度启用状态,所述灰度启用状态表示所述算法插件在部分所述服务器中启用;
15、所述从多个所述算法插件中确定目标算法插件包括:
16、在多个所述算法插件的状态信息不包括所述灰度启用状态的情况下,将多个所述算法插件中新增的算法插件作为所述目标算法插件。
17、可选地,在所述启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法前,所述方法还包括:
18、从多个所述服务器中确定目标服务器;
19、所述启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法包括:
20、在所述目标服务器中启用所述目标算法插件,以便在所述目标服务器的目标应用程序中运行所述目标算法插件对应的目标算法。
21、可选地,所述从多个所述服务器中确定目标服务器包括:
22、获取预设灰度比例;
23、按照所述预设灰度比例,从多个所述服务器中确定所述目标服务器。
24、可选地,所述方法还包括:
25、在所述目标服务器中启用所述目标算法插件后,将所述目标算法插件的状态信息更新为所述灰度启用状态。
26、可选地,所述方法还包括:
27、在所述目标算法插件对应的目标算法的运行结果能够达到预期运行结果的情况下,在每个所述服务器中启用所述目标算法插件,以便在每个所述服务器的目标应用程序中运行所述目标算法插件对应的目标算法。
28、第二方面,本公开提供一种算法插件加载装置,所述装置包括:
29、插件展示模块,用于在满足预设展示条件的情况下,展示目标插件容器对应的多个算法插件的插件信息,所述算法插件为按照预设插件框架对目标算法进行封装得到的插件,不同的算法插件对应不同的目标算法;
30、插件确定模块,用于在接收到用户根据展示的多个所述算法插件的插件信息触发的算法启动指令后,从多个所述算法插件中确定目标算法插件;
31、插件启用模块,用于启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法。
32、可选地,所述插件展示模块,还用于:
33、通过预先创建的算法插件关联关系,确定所述目标插件容器对应的多个所述算法插件,所述算法插件关联关系包括不同的插件容器与算法插件之间的对应关系;
34、获取多个所述算法插件的插件信息;
35、展示多个所述算法插件的插件信息。
36、可选地,所述预设展示条件包括:
37、检测到所述目标插件容器中存在新增的算法插件;或者,
38、接收到所述用户触发的算法插件展示指令。
39、可选地,所述目标应用程序运行在多个服务器中,所述装置还包括:
40、状态信息确定模块,用于确定多个所述算法插件的状态信息,所述状态信息包括灰度启用状态和非灰度启用状态,所述灰度启用状态表示所述算法插件在部分所述服务器中启用;
41、所述插件确定模块,还用于:
42、在多个所述算法插件的状态信息不包括所述灰度启用状态的情况下,将多个所述算法插件中新增的算法插件作为所述目标算法插件。
43、可选地,所述装置还包括:
44、服务器确定模块,用于从多个所述服务器中确定目标服务器;
45、所述插件启用模块,还用于:
46、在所述目标服务器中启用所述目标算法插件,以便在所述目标服务器的目标应用程序中运行所述目标算法插件对应的目标算法。
47、可选地,所述服务器确定模块,还用于:
48、获取预设灰度比例;
49、按照所述预设灰度比例,从多个所述服务器中确定所述目标服务器。
50、可选地,所述装置还包括:
51、状态信息更新模块,用于在所述目标服务器中启用所述目标算法插件后,将所述目标算法插件的状态信息更新为所述灰度启用状态。
52、可选地,所述插件启用模块,还用于:
53、在所述目标算法插件对应的目标算法的运行结果能够达到预期运行结果的情况下,在每个所述服务器中启用所述目标算法插件,以便在每个所述服务器的目标应用程序中运行所述目标算法插件对应的目标算法。
54、第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。
55、第四方面,本公开提供一种服务器,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
56、通过上述技术方案,在满足预设展示条件的情况下,展示目标插件容器对应的多个算法插件的插件信息,所述算法插件为按照预设插件框架对目标算法进行封装得到的插件,不同的算法插件对应不同的目标算法;在接收到用户根据展示的多个所述算法插件的插件信息触发的算法启动指令后,从多个所述算法插件中确定目标算法插件;启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法。也就是说,本公开可以根据用户触发的算法启动指令灵活加载不同的算法插件,以便在应用程序中运行不同的目标算法,这样,可以在不影响应用程序的正常使用的情况下,在应用程序中更换不同的目标算法,降低了应用程序的服务风险。
57、本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。