CN115016859A - 业务插件的动态部署方法及装置 - Google Patents

业务插件的动态部署方法及装置 Download PDF

Info

Publication number
CN115016859A
CN115016859A CN202210593747.7A CN202210593747A CN115016859A CN 115016859 A CN115016859 A CN 115016859A CN 202210593747 A CN202210593747 A CN 202210593747A CN 115016859 A CN115016859 A CN 115016859A
Authority
CN
China
Prior art keywords
plug
service
deployment
ins
service 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
Application number
CN202210593747.7A
Other languages
English (en)
Inventor
李华宏
邢磊
舒展
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202210593747.7A priority Critical patent/CN115016859A/zh
Publication of CN115016859A publication Critical patent/CN115016859A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种业务插件的动态部署方法及装置,可用于计算机技术领域或其他领域。该业务插件的动态部署方法包括:接收部署业务插件的指令,所述指令包括需要启动或停止的外联业务对应的业务插件信息;所述外联业务与所述业务插件一一对应,处于启动状态的外联业务对应的业务插件独立加载于外联平台的插件底座上,并通过所述插件底座对外提供服务;根据所述指令确定所述业务插件对应的部署流程;基于所述部署流程对所述业务插件信息进行处理,实现业务插件的部署。本申请通过服务热部署的方式实现了插件的动态部署,在无需重启外联平台、不影响其他外联业务的条件下,动态的启动或停止单个外联业务的自定义服务。

Description

业务插件的动态部署方法及装置
技术领域
本申请涉及计算机技术领域,具体涉及一种业务插件的动态部署方法及装置。
背景技术
在企业级外联平台中,针对某些外联业务,经常需要调用特定逻辑的自定义服务,这要求外联平台具备启动或停止单个外联业务的能力。现有方案在进程内新增服务模块并集成的时候,均是通过静态编译的模式将模块jar包与核心引擎类程序联合编译链接成一个整体。在上线新业务模块的服务功能时,需要先停止整个进程,删除原程序包,部署新的程序包并重新启动进程,这样原有服务模块连同新的服务模块才能一起整体发布。
银行业务的特殊性使其需提供7×24小时不间断服务,因此,为了解决服务重启时带来服务中断的问题,往往采用集群的方式,在集群内部逐一部署、重启。然而这种集群方式容易带来维护操作繁琐、容易误操作、服务中断等风险。
由此可见,在不停止外联平台的条件下,如何重新部署调整过业务逻辑代码的外联业务,成为了一个技术难点。
发明内容
为了实现在不停止外联平台的条件下重新部署外联业务的目的,第一方面,本申请提供一种业务插件的动态部署方法,包括:
接收部署业务插件的指令,所述指令包括需要启动或停止的外联业务对应的业务插件信息;所述外联业务与所述业务插件一一对应,处于启动状态的外联业务对应的业务插件独立加载于外联平台的插件底座上,并通过所述插件底座对外提供服务;
根据所述指令确定所述业务插件对应的部署流程;
基于所述部署流程对所述业务插件信息进行处理,实现业务插件的部署。
在一实施例中,所述指令包括业务插件加载指令,所述业务插件信息包括需要加载的业务插件对应的JAR文件的名称;
其中,所述需要加载的业务插件与需要启动的外联业务对应。
在一实施例中,所述部署流程包括插件加载流程;
所述基于所述部署流程对所述业务插件信息进行处理,包括:
判断所述JAR文件是否存在;若存在,则根据预设的插件规范将所述JAR文件加载至所述插件底座上;
提取加载至所述插件底座上的所述JAR文件中的插件ID和版本信息,并将所述插件ID和所述版本信息登记到插件注册表中;
按照预设的插件业务配置信息对所述JAR文件对应的业务插件进行配置,以使所述业务插件的服务生效。
在一实施例中,所述指令包括业务插件卸载指令,所述业务插件信息包括需要卸载的业务插件对应的插件ID;
其中,所述需要卸载的业务插件与需要停止的外联业务对应。
在一实施例中,所述部署流程包括插件卸载流程;
所述基于所述部署流程对所述业务插件信息进行处理,包括:
根据所述插件ID从插件注册表中查找对应的业务插件;
停止所述业务插件的IO服务;
根据预设的插件规范从所述插件底座中卸载所述业务插件对应的JAR包。
第二方面,本申请提供一种业务插件的动态部署装置,包括:
指令接收模块,用于接收部署业务插件的指令,所述指令包括需要启动或停止的外联业务对应的业务插件信息;所述外联业务与所述业务插件一一对应,处于启动状态的外联业务对应的业务插件独立加载于外联平台的插件底座上,并通过所述插件底座对外提供服务;
部署流程确定模块,用于根据所述指令确定所述业务插件对应的部署流程;
部署模块,用于基于所述部署流程对所述业务插件信息进行处理,实现业务插件的部署。
在一实施例中,所述指令包括业务插件加载指令,所述业务插件信息包括需要加载的业务插件对应的JAR文件的名称;所述需要加载的业务插件与需要启动的外联业务对应;所述部署流程包括插件加载流程;
所述部署模块包括插件加载模块,用于:
判断所述JAR文件是否存在;若存在,则根据预设的插件规范将所述JAR文件加载至所述插件底座上;
提取加载至所述插件底座上的所述JAR文件中的插件ID和版本信息,并将所述插件ID和所述版本信息登记到插件注册表中;
按照预设的插件业务配置信息对所述JAR文件对应的业务插件进行配置,以使所述业务插件的服务生效。
在一实施例中,所述指令包括业务插件卸载指令,所述业务插件信息包括需要卸载的业务插件对应的插件ID;所述需要卸载的业务插件与需要停止的外联业务对应;所述部署流程包括插件卸载流程;
所述部署模块包括插件卸载模块,用于:
根据所述插件ID从插件注册表中查找对应的业务插件;
停止所述业务插件的IO服务;
根据预设的插件规范从所述插件底座中卸载所述业务插件对应的JAR包。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请提供的任一业务插件的动态部署方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请提供的任一业务插件的动态部署方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本申请提供的任一业务插件的动态部署方法。
本申请提供的业务插件的动态部署方法及装置,通过服务热部署的方式实现了插件的动态部署,相较于服务冷部署方案,本申请可以在无需重启外联平台、不影响其他外联业务的条件下,动态的启动或停止单个外联业务的自定义服务。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的系统架构的示意图。
图2为本申请提供的业务插件的动态部署方法的一种示意图。
图3为本申请提供的业务插件加载流程的示意图。
图4为本申请提供的业务插件卸载流程的示意图。
图5为本申请提供的业务插件的动态部署装置的一种示意图。
图6为本申请提供的业务插件的动态部署装置的另一种示意图。
图7为本申请提供的一种电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请公开的业务插件的动态部署方法及装置可用于计算机技术领域,也可用于除计算机技术领域之外的任意领域,本申请对公开的业务插件的动态部署方法及装置的应用领域不作限定。
在对本申请的业务插件的动态部署方法介绍之前,首先对本申请的应用场景和系统架构进行说明,便于公众更好的理解本申请。需要说明的是,本申请中所提及的系统架构为本申请的一部分,并非现有技术。本申请后续实施例提供的业务插件的动态部署方法是基于该系统架构实现的,或者说是由该系统架构中的一个或多个模块执行的。
图1即为本申请的系统架构,其中,外联平台中包括插件底座、底座控制台、以及多个业务插件。
其中,外联平台是客户(例如企业)和银行按照一定的接口协议,将银行系统与客户的财务软件直接连接,使客户无需进入网上银行的页面,通过自身财务系统接口使用企业网上银行的功能。
外联平台可提供多种外联业务,其中有一部分外联业务需要通过调用业务插件实现,这些业务插件就加载于插件底座上。这里的业务插件指根据预设的插件规范以及业务插件开发接口,形成的JAR包文件。
外联平台中的各业务插件加载至插件底座后,外部使用方即可通过插件底座实现业务插件对应服务的调用,且业务插件只能通过插件底座对外释放服务能力,外部使用方无法直接感知到业务插件的存在。换言之,插件底座为外部使用方调用业务插件的“接口”、“中介”。更具象化来说,插件底座与业务插件的关系可以理解为:插件底座类似于插线板,各业务插件相当于插头,插件底座上可以动态插入多个业务插件。
底座控制台与插件底座通过外联平台提供的接口连接,用于接收其他服务器/终端发送的业务插件部署指令,并基于部署指令实现业务插件的部署,部署包括将未插入插件底座的业务插件加载至插件底座上(参见图1中的实线箭头所示),以及将插入插件底座的业务插件从插件底座上卸载(参见图1中的虚线箭头所示)。
通过本申请的系统架构,业务插件遵循插件规范开发,外联平台的插件底座按照插件规范动态加载插件,底座和插件之间无需静态联合编译。实际应用时,先启动外联平台的插件底座,当需要启动业务插件对应的外联业务时,与插件底座连接的底座控制台根据插件加载指令动态地加载业务插件,注入业务插件服务;当需要停止业务插件对应的外联业务时,与插件底座连接的底座控制台根据插件卸载指令动态地卸载业务插件,注销业务插件服务。
基于上述系统架构,本申请提供一种业务插件的动态部署方法,该方法应用于图1所述的系统架构中,更具体地,该方法的执行主体可以是外联平台的底座控制台。如图2所示,该方法包括以下步骤S101至步骤S103:
步骤S101,接收部署业务插件的指令。
具体地,部署业务插件的指令来自管理业务插件的服务器/终端,由底座控制台接收。部署业务插件的指令包括需要启动或停止的外联业务对应的业务插件信息。当需要启动某一外联业务时,部署业务插件的指令为将与该需要启动的外联业务对应的业务插件加载至插件底座上,即业务插件加载指令;当需要停止某一外联业务时,部署业务插件的指令为将与该需要停止的外联业务对应的业务插件从插件底座上卸载。
本申请中的业务插件与外联业务一一对应,处于启动状态的外联业务对应的业务插件独立(不需要和外联平台绑定)加载于外联平台的插件底座上(编译和打包插件服务),并通过所述插件底座对外提供服务。换言之,只要插件底座处于启动状态,各业务插件可以在不影响外联平台的其他外联业务的基础上,独立加载于插件底座上或者从插件底座上卸载,实现业务逻辑更新。
步骤S102,根据所述指令确定所述业务插件对应的部署流程。
步骤S103,基于所述部署流程对所述业务插件信息进行处理,实现业务插件的部署。
如步骤S101中所述,部署业务插件的指令包括业务插件加载指令和业务插件卸载指令,相应地,当指令为业务插件加载指令时,部署流程为业务插件加载流程,执行该加载流程即可实现业务插件的加载,启动业务插件对应的外联业务;当指令为业务插件卸载指令时,部署流程为业务插件卸载流程,执行该卸载流程即可实现业务插件的卸载,停止业务插件对应的外联业务。具体地业务插件加载流程和业务插件卸载流程可参见后续实施例。
本申请在外联平台的单机JVM环境中,通过采用底座加载插件的方式,实现热部署能力,可以在不需要重启外联平台,不影响其他外联业务的条件下,动态的启动或停止单个外联业务对应的业务插件,从而为企业级外联平台更好地提供外联业务的部署能力。
以下将通过两个具体的实施例分别对业务插件加载流程和业务插件卸载流程进行详细的说明。
《实施例一》
本实施例中,部署业务插件的指令为业务插件加载指令,此时的业务插件信息包括需要加载的业务插件对应的JAR文件的名称;其中,所述需要加载的业务插件与需要启动的外联业务对应。
实际应用中,业务插件加载指令的形式可以为“install xxx.jar”,该指令中指定了需要加载的业务插件jar文件,即xxx.jar。
此时,请参见图3,部署流程为以下的业务插件加载流程:
(1)解析业务插件加载指令中的业务插件信息;
(2)判断所述业务插件信息中的JAR文件是否存在;若存在,则执行步骤(3);若不存在,则报错;
(3)根据预设的插件规范将所述JAR文件加载至插件底座上;
本申请所提及的“插件规范”与开发环境相关,不同的开发环境的插件规范有所差异。
(4)提取加载至所述插件底座上的所述JAR文件中的插件ID和版本信息,并将所述插件ID和所述版本信息登记到插件注册表中;
其中,插件注册表可保存在插件底座中,其中记录了加载于插件底座上的业务插件的插件ID和版本信息,以及插件ID与插件服务之间的映射关系。
(5)初始化所述业务插件的插件服务,以启动所述业务插件的各项服务。
这里的插件服务指的时在业务插件开发接口的定义中包含的IO服务、路由服务、解码器服务、自定义处理等服务,本步骤特别要通过调用业务插件中的启动接口启动业务插件的IO服务。
(6)按照预设的插件业务配置信息对所述JAR文件对应的业务插件进行配置,
其中,插件业务配置指的是与业务插件所提供的服务额外相关的配置,业务插件的业务配置信息是注册到外联平台中,并通过插件底座的动态信息配置的机制,注入到插件底座的。配置完成后,通过插件ID即可定位到业务插件提供的服务并使这些服务生效。插件业务配置信息因具体的业务插件和开发环境的不同而有所差异。
《实施例二》
本实施例中,部署业务插件的指令为业务插件卸载指令,此时的业务插件信息包括需要卸载的业务插件对应的插件ID;其中,所述需要卸载的业务插件与需要停止的外联业务对应。
实际应用中,业务插件卸载指令的形式可以为“uninstall ID”,该指令中的ID即为需要卸载的业务插件的插件ID。其中,插件ID可通过底座控制台的命令“ps”,列出当前的插件注册表,查询得到。
此时,请参见图4,部署流程为以下的业务插件卸载流程:
(1)解析业务插件加载指令中的业务插件信息;
(2)根据所述业务插件信息中的插件ID从插件注册表中查找对应的业务插件;若找到,则执行步骤(3);若未找到,则报错;
(3)停止所述业务插件的IO服务;
(4)根据预设的插件规范从所述插件底座中卸载所述业务插件对应的JAR包,以将所述业务插件从所述插件底座上彻底清除。
本申请所提及的“插件规范”与开发环境相关,不同的开发环境的插件规范有所差异。
本申请提供的业务插件的动态部署方法,通过服务热部署的方式实现了插件的动态部署,相较于服务冷部署方案,本申请可以在无需重启外联平台、不影响其他外联业务的条件下,动态的启动或停止单个外联业务的自定义服务。
基于同一发明构思,本申请实施例还提供了一种业务插件的动态部署装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于业务插件的动态部署装置解决问题的原理与业务插件的动态部署方法相似,因此业务插件的动态部署装置的实施可以参见业务插件的动态部署方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
如图5所示,本申请提供一种业务插件的动态部署装置,包括:
指令接收模块201,用于接收部署业务插件的指令,所述指令包括需要启动或停止的外联业务对应的业务插件信息;所述外联业务与所述业务插件一一对应,处于启动状态的外联业务对应的业务插件独立加载于外联平台的插件底座上,并通过所述插件底座对外提供服务;
部署流程确定模块202,用于根据所述指令确定所述业务插件对应的部署流程;
部署模块203,用于基于所述部署流程对所述业务插件信息进行处理,实现业务插件的部署。
在一实施例中,所述指令包括业务插件加载指令,所述业务插件信息包括需要加载的业务插件对应的JAR文件的名称;所述需要加载的业务插件与需要启动的外联业务对应;所述部署流程包括插件加载流程;
如图6所示,所述部署模块203包括插件加载模块2031,用于:
判断所述JAR文件是否存在;若存在,则根据预设的插件规范将所述JAR文件加载至所述插件底座上;
提取加载至所述插件底座上的所述JAR文件中的插件ID和版本信息,并将所述插件ID和所述版本信息登记到插件注册表中;
按照预设的插件业务配置信息对所述JAR文件对应的业务插件进行配置,以使所述业务插件的服务生效。
在一实施例中,所述指令包括业务插件卸载指令,所述业务插件信息包括需要卸载的业务插件对应的插件ID;所述需要卸载的业务插件与需要停止的外联业务对应;所述部署流程包括插件卸载流程;
请继续参见图6,所述部署模块203还包括插件卸载模块2032,用于:
根据所述插件ID从插件注册表中查找对应的业务插件;
停止所述业务插件的IO服务;
根据预设的插件规范从所述插件底座中卸载所述业务插件对应的JAR包。
本申请提供的业务插件的动态部署装置,通过服务热部署的方式实现了插件的动态部署,相较于服务冷部署方案,本申请可以在无需重启外联平台、不影响其他外联业务的条件下,动态的启动或停止单个外联业务的自定义服务。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请提供的任一业务插件的动态部署方法。
图7是本申请实施例提供的电子设备的实体结构示意图,如图7所示,电子设备600可以包括:处理器100和存储器140。存储器140耦合到处理器100。处理器100可以调用存储器140中的逻辑指令,以执行上述方法。
如图7所示,电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图7中所示的所有部件;此外,电子设备600还可以包括图7中没有示出的部件,可以参考现有技术。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
如图7所示,处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且处理器100可执行存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向处理器100提供输入。输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。显示器160例如可为LCD显示器,但并不限于此。
存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,存储器140的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲器141(有时被称为缓冲存储器)。存储器140可以包括应用/功能存储部142,应用/功能存储部142用于存储应用程序和功能程序或用于通过处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110包括经由天线111发送和接收信号的发送机/接收机。通信模块110耦合到处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请提供的任一业务插件的动态部署方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本申请提供的任一业务插件的动态部署方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种业务插件的动态部署方法,其特征在于,包括:
接收部署业务插件的指令,所述指令包括需要启动或停止的外联业务对应的业务插件信息;所述外联业务与所述业务插件一一对应,处于启动状态的外联业务对应的业务插件独立加载于外联平台的插件底座上,并通过所述插件底座对外提供服务;
根据所述指令确定所述业务插件对应的部署流程;
基于所述部署流程对所述业务插件信息进行处理,实现业务插件的部署。
2.根据权利要求1所述的业务插件的动态部署方法,其特征在于,所述指令包括业务插件加载指令,所述业务插件信息包括需要加载的业务插件对应的JAR文件的名称;
其中,所述需要加载的业务插件与需要启动的外联业务对应。
3.根据权利要求2所述的业务插件的动态部署方法,其特征在于,所述部署流程包括插件加载流程;
所述基于所述部署流程对所述业务插件信息进行处理,包括:
判断所述JAR文件是否存在;若存在,则根据预设的插件规范将所述JAR文件加载至所述插件底座上;
提取加载至所述插件底座上的所述JAR文件中的插件ID和版本信息,并将所述插件ID和所述版本信息登记到插件注册表中;
按照预设的插件业务配置信息对所述JAR文件对应的业务插件进行配置,以使所述业务插件的服务生效。
4.根据权利要求1所述的业务插件的动态部署方法,其特征在于,所述指令包括业务插件卸载指令,所述业务插件信息包括需要卸载的业务插件对应的插件ID;
其中,所述需要卸载的业务插件与需要停止的外联业务对应。
5.根据权利要求4所述的业务插件的动态部署方法,其特征在于,所述部署流程包括插件卸载流程;
所述基于所述部署流程对所述业务插件信息进行处理,包括:
根据所述插件ID从插件注册表中查找对应的业务插件;
停止所述业务插件的IO服务;
根据预设的插件规范从所述插件底座中卸载所述业务插件对应的JAR包。
6.一种业务插件的动态部署装置,其特征在于,包括:
指令接收模块,用于接收部署业务插件的指令,所述指令包括需要启动或停止的外联业务对应的业务插件信息;所述外联业务与所述业务插件一一对应,处于启动状态的外联业务对应的业务插件独立加载于外联平台的插件底座上,并通过所述插件底座对外提供服务;
部署流程确定模块,用于根据所述指令确定所述业务插件对应的部署流程;
部署模块,用于基于所述部署流程对所述业务插件信息进行处理,实现业务插件的部署。
7.根据权利要求6所述的业务插件的动态部署装置,其特征在于,所述指令包括业务插件加载指令,所述业务插件信息包括需要加载的业务插件对应的JAR文件的名称;所述需要加载的业务插件与需要启动的外联业务对应;所述部署流程包括插件加载流程;
所述部署模块包括插件加载模块,用于:
判断所述JAR文件是否存在;若存在,则根据预设的插件规范将所述JAR文件加载至所述插件底座上;
提取加载至所述插件底座上的所述JAR文件中的插件ID和版本信息,并将所述插件ID和所述版本信息登记到插件注册表中;
按照预设的插件业务配置信息对所述JAR文件对应的业务插件进行配置,以使所述业务插件的服务生效。
8.根据权利要求6所述的业务插件的动态部署装置,其特征在于,所述指令包括业务插件卸载指令,所述业务插件信息包括需要卸载的业务插件对应的插件ID;所述需要卸载的业务插件与需要停止的外联业务对应;所述部署流程包括插件卸载流程;
所述部署模块包括插件卸载模块,用于:
根据所述插件ID从插件注册表中查找对应的业务插件;
停止所述业务插件的IO服务;
根据预设的插件规范从所述插件底座中卸载所述业务插件对应的JAR包。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的业务插件的动态部署方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的业务插件的动态部署方法。
11.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至5中任一项所述的业务插件的动态部署方法。
CN202210593747.7A 2022-05-27 2022-05-27 业务插件的动态部署方法及装置 Pending CN115016859A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210593747.7A CN115016859A (zh) 2022-05-27 2022-05-27 业务插件的动态部署方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210593747.7A CN115016859A (zh) 2022-05-27 2022-05-27 业务插件的动态部署方法及装置

Publications (1)

Publication Number Publication Date
CN115016859A true CN115016859A (zh) 2022-09-06

Family

ID=83071975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210593747.7A Pending CN115016859A (zh) 2022-05-27 2022-05-27 业务插件的动态部署方法及装置

Country Status (1)

Country Link
CN (1) CN115016859A (zh)

Similar Documents

Publication Publication Date Title
US7904895B1 (en) Firmware update in electronic devices employing update agent in a flash memory card
KR100915564B1 (ko) 실행하는 동안 애플리케이션을 업그레이드하기 위한 방법,소프트웨어 및 장치
US8904518B2 (en) Information processing device, information processing method, and program distribution system
US8448187B2 (en) Conflict resolution apparatus
CN109828772B (zh) 热更新方法、操作系统、终端设备和存储介质
US20100325622A1 (en) Updating Firmware of an Electronic Device
EP2017726A2 (en) Software updating method and portable terminal device
RU2291573C2 (ru) Динамическая загрузка и создание функциональных объектов в беспроводном устройстве
US20140075438A1 (en) Method, server, and system for starting an application
US20040103340A1 (en) Upgrading of firmware with tolerance to failures
US20080288237A1 (en) System and method for provisioning a third party mobile device emulator
CN104834555A (zh) 调用功能模块的方法、相关装置及装置修复方法
CN105302563A (zh) 移动应用服务的插件化方法及系统
JPWO2009078285A1 (ja) 無線端末、無線端末の不揮発性メモリ、および診断情報のフェイルセーフ保存方法
KR20120109800A (ko) Fota 기반의 데이터 갱신 방법 및 이를 지원하는 휴대 단말기
US20170163787A1 (en) Method and electronic device for upgrading or downgrading system
CN110851204A (zh) 应用启动的方法及装置、应用打包的方法及装置
CN112416411B (zh) 升级方法及装置、设备端、服务器、计算机可读介质
CN115016859A (zh) 业务插件的动态部署方法及装置
CN113934437B (zh) 云手机安装应用的方法、系统和客户端云手机
CN115562732A (zh) 一种开机方法、电子设备及计算机存储介质
CN113515299A (zh) 软件开发工具包sdk热升级方法、装置、设备及存储介质
CN106022125A (zh) 一种客户端的修复方法及装置
CN110913417A (zh) 一种保护射频参数的方法、系统、设备及存储介质
CN115033139B (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