CN116048645A - 算法插件加载方法、装置、存储介质及电子设备 - Google Patents
算法插件加载方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116048645A CN116048645A CN202111266531.1A CN202111266531A CN116048645A CN 116048645 A CN116048645 A CN 116048645A CN 202111266531 A CN202111266531 A CN 202111266531A CN 116048645 A CN116048645 A CN 116048645A
- Authority
- CN
- China
- Prior art keywords
- plug
- algorithm
- target
- ins
- algorithm plug
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 426
- 238000011068 loading method Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 27
- 230000001960 triggered effect Effects 0.000 claims abstract description 23
- 238000004806 packaging method and process Methods 0.000 claims abstract description 7
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及一种算法插件加载方法、装置、存储介质及电子设备,该方法包括:在满足预设展示条件的情况下,展示目标插件容器对应的多个算法插件的插件信息,算法插件为按照预设插件框架对目标算法进行封装得到的插件,不同的算法插件对应不同的目标算法;在接收到用户根据展示的多个算法插件的插件信息触发的算法启动指令后,从多个算法插件中确定目标算法插件;启用该目标算法插件,以便在目标应用程序中运行该目标算法插件对应的目标算法。也就是说,本公开可以根据用户触发的算法启动指令灵活加载不同的算法插件,这样,可以在不影响应用程序的正常使用的情况下,在应用程序中更换不同的目标算法,降低了应用程序的服务风险。
Description
技术领域
本公开涉及计算机技术领域,具体地,涉及一种算法插件加载方法、装置、存储介质及电子设备。
背景技术
应用程序的业务服务主要为客户端提供不同业务对应的数据,该数据通过集成在算法Jar包内的不同算法策略计算得到。在应用程序使用过程中,为了提高应用程序的品质,往往需要对算法策略进行优化或调整。
相关技术中,在算法开发人员提供新的算法Jar包后,为了能够正常加载并使用该新的算法Jar包,应用程序的开发人员也需要根据该新的算法Jar包对应用程序进行适应性调整,并发布新的应用程序版本,这样,会导致应用程序频繁发版,提高了应用程序的服务风险。
发明内容
为了解决上述问题,本公开提供一种算法插件加载方法、装置、存储介质及电子设备。
第一方面,本公开提供一种算法插件加载方法,所述方法包括:
在满足预设展示条件的情况下,展示目标插件容器对应的多个算法插件的插件信息,所述算法插件为按照预设插件框架对目标算法进行封装得到的插件,不同的算法插件对应不同的目标算法;
在接收到用户根据展示的多个所述算法插件的插件信息触发的算法启动指令后,从多个所述算法插件中确定目标算法插件;
启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法。
可选地,所述展示目标插件容器对应的多个算法插件的插件信息包括:
通过预先创建的算法插件关联关系,确定所述目标插件容器对应的多个所述算法插件,所述算法插件关联关系包括不同的插件容器与算法插件之间的对应关系;
获取多个所述算法插件的插件信息;
展示多个所述算法插件的插件信息。
可选地,所述预设展示条件包括:
检测到所述目标插件容器中存在新增的算法插件;或者,
接收到所述用户触发的算法插件展示指令。
可选地,所述目标应用程序运行在多个服务器中,在所述预设展示条件为检测到所述目标插件容器中存在新增的算法插件的情况下,在所述从多个所述算法插件中确定目标算法插件前,所述方法还包括:
确定多个所述算法插件的状态信息,所述状态信息包括灰度启用状态和非灰度启用状态,所述灰度启用状态表示所述算法插件在部分所述服务器中启用;
所述从多个所述算法插件中确定目标算法插件包括:
在多个所述算法插件的状态信息不包括所述灰度启用状态的情况下,将多个所述算法插件中新增的算法插件作为所述目标算法插件。
可选地,在所述启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法前,所述方法还包括:
从多个所述服务器中确定目标服务器;
所述启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法包括:
在所述目标服务器中启用所述目标算法插件,以便在所述目标服务器的目标应用程序中运行所述目标算法插件对应的目标算法。
可选地,所述从多个所述服务器中确定目标服务器包括:
获取预设灰度比例;
按照所述预设灰度比例,从多个所述服务器中确定所述目标服务器。
可选地,所述方法还包括:
在所述目标服务器中启用所述目标算法插件后,将所述目标算法插件的状态信息更新为所述灰度启用状态。
可选地,所述方法还包括:
在所述目标算法插件对应的目标算法的运行结果能够达到预期运行结果的情况下,在每个所述服务器中启用所述目标算法插件,以便在每个所述服务器的目标应用程序中运行所述目标算法插件对应的目标算法。
第二方面,本公开提供一种算法插件加载装置,所述装置包括:
插件展示模块,用于在满足预设展示条件的情况下,展示目标插件容器对应的多个算法插件的插件信息,所述算法插件为按照预设插件框架对目标算法进行封装得到的插件,不同的算法插件对应不同的目标算法;
插件确定模块,用于在接收到用户根据展示的多个所述算法插件的插件信息触发的算法启动指令后,从多个所述算法插件中确定目标算法插件;
插件启用模块,用于启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法。
可选地,所述插件展示模块,还用于:
通过预先创建的算法插件关联关系,确定所述目标插件容器对应的多个所述算法插件,所述算法插件关联关系包括不同的插件容器与算法插件之间的对应关系;
获取多个所述算法插件的插件信息;
展示多个所述算法插件的插件信息。
可选地,所述预设展示条件包括:
检测到所述目标插件容器中存在新增的算法插件;或者,
接收到所述用户触发的算法插件展示指令。
可选地,所述目标应用程序运行在多个服务器中,所述装置还包括:
状态信息确定模块,用于确定多个所述算法插件的状态信息,所述状态信息包括灰度启用状态和非灰度启用状态,所述灰度启用状态表示所述算法插件在部分所述服务器中启用;
所述插件确定模块,还用于:
在多个所述算法插件的状态信息不包括所述灰度启用状态的情况下,将多个所述算法插件中新增的算法插件作为所述目标算法插件。
可选地,所述装置还包括:
服务器确定模块,用于从多个所述服务器中确定目标服务器;
所述插件启用模块,还用于:
在所述目标服务器中启用所述目标算法插件,以便在所述目标服务器的目标应用程序中运行所述目标算法插件对应的目标算法。
可选地,所述服务器确定模块,还用于:
获取预设灰度比例;
按照所述预设灰度比例,从多个所述服务器中确定所述目标服务器。
可选地,所述装置还包括:
状态信息更新模块,用于在所述目标服务器中启用所述目标算法插件后,将所述目标算法插件的状态信息更新为所述灰度启用状态。
可选地,所述插件启用模块,还用于:
在所述目标算法插件对应的目标算法的运行结果能够达到预期运行结果的情况下,在每个所述服务器中启用所述目标算法插件,以便在每个所述服务器的目标应用程序中运行所述目标算法插件对应的目标算法。
第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。
第四方面,本公开提供一种服务器,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
通过上述技术方案,在满足预设展示条件的情况下,展示目标插件容器对应的多个算法插件的插件信息,所述算法插件为按照预设插件框架对目标算法进行封装得到的插件,不同的算法插件对应不同的目标算法;在接收到用户根据展示的多个所述算法插件的插件信息触发的算法启动指令后,从多个所述算法插件中确定目标算法插件;启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法。也就是说,本公开可以根据用户触发的算法启动指令灵活加载不同的算法插件,以便在应用程序中运行不同的目标算法,这样,可以在不影响应用程序的正常使用的情况下,在应用程序中更换不同的目标算法,降低了应用程序的服务风险。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开一示例性实施例示出的一种算法插件加载方法的流程图;
图2是根据本公开一示例性实施例示出的一种客户端的示意图;
图3是根据本公开一示例性实施例示出的一种插件信息的示意图;
图4是根据本公开一示例性实施例示出的另一种算法插件加载方法的流程图;
图5是根据本公开一示例性实施例示出的一种算法插件加载装置的框图;
图6是根据本公开一示例性实施例示出的第二种算法插件加载装置的框图;
图7是根据本公开一示例性实施例示出的第三种算法插件加载装置的框图;
图8是根据本公开一示例性实施例示出的第四种算法插件加载装置的框图;
图9是根据本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
首先,对本公开的应用场景进行说明。本公开可以用于应用程序的算法迭代,例如,对应用程序的业务相关的算法策略进行计算规则调整或者模型计算调整,目前,不同的算法以算法Jar包的方式提供给应用程序,应用程序通过加载该算法Jar包运行该算法进行策略计算。在调整算法策略后,需要为应用程序提供新的算法Jar包,同时,应用程序也需要同步修改,以便能够正常加载该新的算法Jar包,而应用程序修改后,需要发布新的版本,用户更新应用程序的版本后才能使用新的算法。在这种情况下,算法策略的更新迭代需要依赖于应用程序的发版,导致算法策略的迭代效率较低,并且,由于算法策略更新迭代导致应用程序频繁发版,提高了应用程序的服务风险。
为了解决上述存在的问题,本公开提供了一种算法插件加载方法、装置、存储介质及电子设备,可以根据用户触发的算法启动指令灵活加载不同的算法插件,以便在应用程序中运行不同的目标算法,这样,可以在不影响应用程序的正常使用的情况下,在应用程序中更换不同的目标算法,降低了应用程序的服务风险。
下面结合具体实施例对本公开进行说明。
图1是根据本公开一示例性实施例示出的一种算法插件加载方法的流程图,如图1所示,该方法可以包括:
S101、在满足预设展示条件的情况下,展示目标插件容器对应的多个算法插件的插件信息。
其中,该预设展示条件可以包括:检测到该目标插件容器中存在新增的算法插件;或者,接收到用户触发的算法插件展示指令。该插件容器可以是用户部署算法插件的服务,该算法插件可以是按照预设插件框架对目标算法进行封装得到的插件,示例地,该预设插件框架可以是PF4J;不同的算法插件对应不同的目标算法,示例地,不同的算法插件可以对应不同功能的目标算法,不同的算法插件也可以对应相同功能的目标算法的不同版本,不同版本的目标算法的运行效率可以不同。
需要说明的是,用户可以通过插件管理平台对算法插件进行管理,例如,添加新的算法插件,部署、加载、启用算法插件等。用户可以通过该插件管理平台对应的客户端添加新的算法插件,图2是根据本公开一示例性实施例示出的一种客户端的示意图,如图2所示,魔盒aapkey为插件容器的名称,用户可以自定义该名称,在输入该名称后,可以选择该插件容器所属的业务线,之后,可以在基础设置中输入对应的信息,默认魔盒对应的下拉菜单中可以列出对应业务线的全部魔盒appkey,选择其中一个魔盒appkey后,可以建立该算法插件与该魔盒appkey对应的插件容器之间的关联关系。
在本步骤中,在用户通过该插件管理平台对应的客户端添加新的算法插件后,该插件管理平台可以检测到插件容器中存在新增算法插件,在这种情况下,该插件管理平台可以展示新增算法插件的目标插件容器中的全部算法插件的插件信息,图3是根据本公开一示例性实施例示出的一种插件信息的示意图,如图3所示,该目标插件容器包括4个算法插件,该4个算法插件为同一目标算法对应的4个版本,第一列为算法插件的名称(版本信息),第二列为算法插件的状态信息,第三列为状态切换栏,通过该状态切换栏可以切换算法插件的状态。
另外,用户也可以根据需要选择使用该目标插件容器中的任一算法插件,示例地,若新增的算法插件不满足预期效果或者出现异常问题,则用户可以选择回滚至旧的算法插件。在这种情况下,用户可以触发算法插件展示指令,该插件管理平台在接收到该算法插件展示指令后,可以展示该目标插件容器对应的多个算法插件的插件信息。
S102、在接收到用户根据展示的多个算法插件的插件信息触发的算法启动指令后,从多个算法插件中确定目标算法插件。
在本步骤中,在展示该目标插件容器对应的多个算法插件的插件信息后,用户可以根据多个算法插件的插件信息,从多个算法插件中选择目标算法插件,之后,可以将该目标算法插件的状态切换为启用状态,以触发该算法启动指令,该插件管理平台在接收到该算法启动指令后,将状态信息切换为启用状态的算法插件作为该目标算法插件。
S103、启用该目标算法插件,以便在目标应用程序中运行该目标算法插件对应的目标算法。
其中,该应用程序可以是PC(Personal Computer,个人计算机)的应用程序,也可以是终端的应用程序,本公开对此不作限定。
在本步骤中,在确定该目标算法插件后,可以启用该目标算法插件,该应用程序可以通过预先封装好的接口调用该目标算法插件,并运行该目标算法插件对应的目标算法。
需要说明的是,上述步骤中以算法插件运行在该插件管理平台为例进行说明,该算法插件也可以以其它方式运行,本公开对此不作限定。
采用上述方法,可以根据用户触发的算法启动指令灵活加载不同的算法插件,以便在应用程序中运行不同的目标算法,这样,可以在不影响应用程序的正常使用的情况下,在应用程序中更换不同的目标算法,降低了应用程序的服务风险。
图4是根据本公开一示例性实施例示出的另一种算法插件加载方法的流程图,如图4所示,该方法可以包括:
S401、在满足预设展示条件的情况下,通过预先创建的算法插件关联关系,确定该目标插件容器对应的多个算法插件。
其中,该预设展示条件可以包括:检测到该目标插件容器中存在新增的算法插件;或者,接收到用户触发的算法插件展示指令。该插件容器可以是用户部署算法插件的服务,该目标插件容器可以是部署在多个服务器中的插件容器集群;该算法插件可以是按照预设插件框架对目标算法进行封装得到的插件,示例地,该预设插件框架可以是PF4J;不同的算法插件对应不同的目标算法,示例地,不同的算法插件可以对应不同功能的目标算法,不同的算法插件也可以对应相同功能的目标算法的不同版本,不同版本的目标算法的运行效率可以不同。
该算法插件关联关系可以包括不同的插件容器与算法插件之间的对应关系,示例地,如步骤S101中添加算法插件时,可以创建该算法插件与插件容器之间的对应关系。不同插件容器对应的算法插件可以不同。
在本步骤中,在检测到该目标插件容器中存在新增的算法插件,或者接收到用户触发的算法插件展示指令的情况下,可以根据该插件关联关系,确定该目标插件容器对应的多个算法插件。
S402、获取多个算法插件的插件信息。
其中,该插件信息可以包括算法插件的名称(版本信息)、状态信息、可执行的状态切换操作等。
在本步骤中,在确定该目标插件容器对应的多个算法插件后,针对每个算法插件,可以获取该算法插件的名称、状态信息,并根据该状态信息确定针对该算法插件可执行的状态切换操作。示例地,如图3所示,第二行的算法插件的状态信息为已加载,则该算法插件对应的可执行的状态切换操作为启用和卸载。
S403、展示多个算法插件的插件信息。
S404、在该预设展示条件为检测到该目标插件容器中存在新增的算法插件的情况下,在接收到用户根据展示的多个算法插件的插件信息触发的算法启动指令后,确定多个算法插件的状态信息。
其中,该状态信息可以包括灰度启用状态和非灰度启用状态,该灰度启用状态表示该算法插件在部分服务器中启用。
在本步骤中,在接收到用户根据展示的多个算法插件的插件信息触发的算法启动指令的情况下,可以针对每个算法插件,确定该算法插件是否为灰度启用状态。
S405、在多个算法插件的状态信息不包括该灰度启用状态的情况下,将多个算法插件中新增的算法插件作为该目标算法插件。
在本步骤中,在确定每个算法插件的状态信息均不是灰度启用状态的情况下,可以获取每个算法插件的添加时间,将多个算法插件中最晚添加的算法插件作为该目标算法插件。
S406、从多个服务器中确定目标服务器。
其中,运行该目标算法插件的目标应用程序可以运行在多个服务器中。
在本步骤中,在该目标算法插件为新增的算法插件的情况下,考虑到新增的算法插件可能存在异常,可以从多个服务器中选择部分服务器,在部分服务器中启用该目标算法插件。在一种可能的实现方式中,可以获取预设灰度比例,按照该预设灰度比例,从多个服务器中确定该目标服务器。其中,该预设灰度比例可以根据该目标算法插件的波及范围确定,示例地,在该目标算法插件的波及范围较大的情况下,可以设置较小的预设灰度比例,比如5%,在该目标算法插件的波及范围较小的情况下,可以设置较大的预设灰度比例,例如10%,该预设灰度比例也可以设置为固定值,本公开对此不作限定。
S407、在该目标服务器中启用该目标算法插件,以便在该目标服务器的目标应用程序中运行该目标算法插件对应的目标算法。
在本步骤中,在确定该目标服务器后,可以在该目标服务器中启用该目标算法插件,示例地,若该目标插件容器中存在全量启用的旧算法插件,即在每个服务器的目标应用程序中均运行该旧算法插件,则可以将目标服务器的目标应用程序中运行的旧算法插件替换为该目标算法插件,多个服务器中除目标服务器之外的服务器的目标应用程序中仍然运行该旧算法插件。
S408、在该目标服务器中启用该目标算法插件后,将该目标算法插件的状态信息更新为该灰度启用状态。
在本步骤中,若该目标插件容器中存在多个灰度启用状态的算法插件,则可能提高该目标应用程序的服务风险,在该目标服务器中启用该目标算法插件后,可以将该目标算法插件的状态信息更新为该灰度启用状态,这样,在未全量启用该目标算法插件之前,可以对该目标算法插件进行充分的验证,其中,全量启用表示在每个服务器的目标应用程序中运行该目标算法插件。
S409、在该目标算法插件对应的目标算法的运行结果能够达到预期运行结果的情况下,在每个服务器中启用该目标算法插件,以便在每个服务器的目标应用程序中运行该目标算法插件对应的目标算法。
在本步骤中,在该目标服务器的目标应用程序中运行该目标算法插件过程中,可以获取该目标算法插件对应的目标算法的运行结果,对该运行结果进行评估,以确定该运行结果是否达到预期运行结果,示例地,可以确定该目标算法的运行效率是否达到预设效率阈值,也可以确定该目标算法的运行准确率是否达到预设准确率阈值。在该运行结果达到该预期运行结果的情况下,可以将该目标算法插件切换为全量启用状态,即在每个服务器中启用该目标算法插件;在该运行结果未达到该预期运行结果的情况下,表示该目标算法插件对应的目标算法不满足需求,可以将该目标服务器运行的目标算法插件切换为旧的算法插件,以确保该目标服务器中目标应用程序的正常运行。
采用上述方法,可以根据用户触发的算法启动指令灵活加载不同的算法插件,以便在应用程序中运行不同的目标算法,这样,可以在不影响应用程序的正常使用的情况下,在应用程序中更换不同的目标算法,降低了应用程序的服务风险。进一步地,在该目标算法插件为新增的算法插件的情况下,可以灰度启用该新增的算法插件,以降低对目标应用程序的影响范围,进一步降低了应用程序的服务风险。
图5是根据本公开一示例性实施例示出的一种算法插件加载装置的框图,如图5所示,该装置可以包括:
插件展示模块501,用于在满足预设展示条件的情况下,展示目标插件容器对应的多个算法插件的插件信息,该算法插件为按照预设插件框架对目标算法进行封装得到的插件,不同的算法插件对应不同的目标算法;
插件确定模块502,用于在接收到用户根据展示的多个该算法插件的插件信息触发的算法启动指令后,从多个该算法插件中确定目标算法插件;
插件启用模块503,用于启用该目标算法插件,以便在目标应用程序中运行该目标算法插件对应的目标算法。
可选地,该插件展示模块501,还用于:
通过预先创建的算法插件关联关系,确定该目标插件容器对应的多个该算法插件,该算法插件关联关系包括不同的插件容器与算法插件之间的对应关系;
获取多个该算法插件的插件信息;
展示多个该算法插件的插件信息。
可选地,该预设展示条件包括:
检测到该目标插件容器中存在新增的算法插件;或者,
接收到该用户触发的算法插件展示指令。
可选地,该目标应用程序运行在多个服务器中,图6是根据本公开一示例性实施例示出的第二种算法插件加载装置的框图,如图6所示,该装置还包括:
状态信息确定模块504,用于确定多个该算法插件的状态信息,该状态信息包括灰度启用状态和非灰度启用状态,该灰度启用状态表示该算法插件在部分该服务器中启用;
该插件确定模块502,还用于:
在多个该算法插件的状态信息不包括该灰度启用状态的情况下,将多个该算法插件中新增的算法插件作为该目标算法插件。
可选地,图7是根据本公开一示例性实施例示出的第三种算法插件加载装置的框图,如图7所示,该装置还包括:
服务器确定模块505,用于从多个该服务器中确定目标服务器;
该插件启用模块503,还用于:
在该目标服务器中启用该目标算法插件,以便在该目标服务器的目标应用程序中运行该目标算法插件对应的目标算法。
可选地,该服务器确定模块505,还用于:
获取预设灰度比例;
按照该预设灰度比例,从多个该服务器中确定该目标服务器。
可选地,图8是根据本公开一示例性实施例示出的第四种算法插件加载装置的框图,如图8所示,该装置还包括:
状态信息更新模块506,用于在该目标服务器中启用该目标算法插件后,将该目标算法插件的状态信息更新为该灰度启用状态。
可选地,该插件启用模块503,还用于:
在该目标算法插件对应的目标算法的运行结果能够达到预期运行结果的情况下,在每个该服务器中启用该目标算法插件,以便在每个该服务器的目标应用程序中运行该目标算法插件对应的目标算法。
通过上述装置,可以根据用户触发的算法启动指令灵活加载不同的算法插件,以便在应用程序中运行不同的目标算法,这样,可以在不影响应用程序的正常使用的情况下,在应用程序中更换不同的目标算法,降低了应用程序的服务风险。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据本公开一示例性实施例示出的一种电子设备900的框图。例如,电子设备900可以被提供为一服务器。参照图9,电子设备900包括处理器922,其数量可以为一个或多个,以及存储器932,用于存储可由处理器922执行的计算机程序。存储器932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器922可以被配置为执行该计算机程序,以执行上述的算法插件加载方法。
另外,电子设备900还可以包括电源组件926和通信组件950,该电源组件926可以被配置为执行电子设备900的电源管理,该通信组件950可以被配置为实现电子设备900的通信,例如,有线或无线通信。此外,该电子设备900还可以包括输入/输出(I/O)接口958。电子设备900可以操作基于存储在存储器932的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的算法插件加载方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器932,上述程序指令可由电子设备900的处理器922执行以完成上述的算法插件加载方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的算法插件加载方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (11)
1.一种算法插件加载方法,其特征在于,所述方法包括:
在满足预设展示条件的情况下,展示目标插件容器对应的多个算法插件的插件信息,所述算法插件为按照预设插件框架对目标算法进行封装得到的插件,不同的算法插件对应不同的目标算法;
在接收到用户根据展示的多个所述算法插件的插件信息触发的算法启动指令后,从多个所述算法插件中确定目标算法插件;
启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法。
2.根据权利要求1所述的方法,其特征在于,所述展示目标插件容器对应的多个算法插件的插件信息包括:
通过预先创建的算法插件关联关系,确定所述目标插件容器对应的多个所述算法插件,所述算法插件关联关系包括不同的插件容器与算法插件之间的对应关系;
获取多个所述算法插件的插件信息;
展示多个所述算法插件的插件信息。
3.根据权利要求1所述的方法,其特征在于,所述预设展示条件包括:
检测到所述目标插件容器中存在新增的算法插件;或者,
接收到所述用户触发的算法插件展示指令。
4.根据权利要求3所述的方法,其特征在于,所述目标应用程序运行在多个服务器中,在所述预设展示条件为检测到所述目标插件容器中存在新增的算法插件的情况下,在所述从多个所述算法插件中确定目标算法插件前,所述方法还包括:
确定多个所述算法插件的状态信息,所述状态信息包括灰度启用状态和非灰度启用状态,所述灰度启用状态表示所述算法插件在部分所述服务器中启用;
所述从多个所述算法插件中确定目标算法插件包括:
在多个所述算法插件的状态信息不包括所述灰度启用状态的情况下,将多个所述算法插件中新增的算法插件作为所述目标算法插件。
5.根据权利要求4所述的方法,其特征在于,在所述启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法前,所述方法还包括:
从多个所述服务器中确定目标服务器;
所述启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法包括:
在所述目标服务器中启用所述目标算法插件,以便在所述目标服务器的目标应用程序中运行所述目标算法插件对应的目标算法。
6.根据权利要求5所述的方法,其特征在于,所述从多个所述服务器中确定目标服务器包括:
获取预设灰度比例;
按照所述预设灰度比例,从多个所述服务器中确定所述目标服务器。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述目标服务器中启用所述目标算法插件后,将所述目标算法插件的状态信息更新为所述灰度启用状态。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述目标算法插件对应的目标算法的运行结果能够达到预期运行结果的情况下,在每个所述服务器中启用所述目标算法插件,以便在每个所述服务器的目标应用程序中运行所述目标算法插件对应的目标算法。
9.一种算法插件加载装置,其特征在于,所述装置包括:
插件展示模块,用于在满足预设展示条件的情况下,展示目标插件容器对应的多个算法插件的插件信息,所述算法插件为按照预设插件框架对目标算法进行封装得到的插件,不同的算法插件对应不同的目标算法;
插件确定模块,用于在接收到用户根据展示的多个所述算法插件的插件信息触发的算法启动指令后,从多个所述算法插件中确定目标算法插件;
插件启用模块,用于启用所述目标算法插件,以便在目标应用程序中运行所述目标算法插件对应的目标算法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8中任一项所述方法的步骤。
11.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111266531.1A CN116048645A (zh) | 2021-10-28 | 2021-10-28 | 算法插件加载方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111266531.1A CN116048645A (zh) | 2021-10-28 | 2021-10-28 | 算法插件加载方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116048645A true CN116048645A (zh) | 2023-05-02 |
Family
ID=86126050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111266531.1A Pending CN116048645A (zh) | 2021-10-28 | 2021-10-28 | 算法插件加载方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048645A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056115A (zh) * | 2023-10-10 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 应用程序的修复方法和装置、存储介质及电子设备 |
-
2021
- 2021-10-28 CN CN202111266531.1A patent/CN116048645A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056115A (zh) * | 2023-10-10 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 应用程序的修复方法和装置、存储介质及电子设备 |
CN117056115B (zh) * | 2023-10-10 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 应用程序的修复方法和装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060156129A1 (en) | System for maintaining data | |
CN109901881B (zh) | 应用程序的插件加载方法、装置、计算机设备及存储介质 | |
US8954949B2 (en) | Smart patch delivery system | |
CN110730090B (zh) | 云环境中代理端批量更新方法、装置、介质及电子设备 | |
CN108647032B (zh) | 应用加载方法及装置、计算机装置和计算机可读存储介质 | |
CN112134961B (zh) | 客户端的使用控制方法、客户端及计算机存储介质 | |
CN116048645A (zh) | 算法插件加载方法、装置、存储介质及电子设备 | |
US20150277892A1 (en) | Multi-phase software delivery | |
CN111722857A (zh) | 软件开发工具包的更新方法、装置、电子设备及存储介质 | |
CN105227600A (zh) | 移动设备系统升级的方法 | |
CN114090048B (zh) | 一种软件升级方法及装置 | |
CN111143134B (zh) | 故障处理方法、设备及计算机存储介质 | |
CN111381932B (zh) | 触发应用程序更改的方法、装置、电子设备及存储介质 | |
CN114546842A (zh) | 接口测试方法、装置和存储介质及电子设备 | |
CN115220861A (zh) | 虚拟客户机管理方法、装置、介质和设备 | |
CN112395072A (zh) | 模型部署的方法、装置、存储介质及电子设备 | |
US20130110294A1 (en) | Method for operating an energy automation system and energy automation system | |
CN112822257B (zh) | 一种Web服务管理系统、方法及存储介质 | |
CN114661412A (zh) | 算法模型部署方法、装置、可读介质及电子设备 | |
CN112241283B (zh) | 软件升级方法、装置、计算机设备和存储介质 | |
US20240129202A1 (en) | Analysis device, analysis system, analysis method, and analysis program | |
CN112732332B (zh) | 适用于koji管理系统的软件包管理方法、装置及电子设备 | |
US11523281B1 (en) | Validating customized user equipment (UE) | |
CN115714713B (zh) | 电力监控系统多群组服务实例切换方法和装置 | |
CN113973108B (zh) | 双系统终端在线升级方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |