CN113900741B - 基于插件的业务处理方法、装置、计算机设备以及介质 - Google Patents
基于插件的业务处理方法、装置、计算机设备以及介质 Download PDFInfo
- Publication number
- CN113900741B CN113900741B CN202111502401.3A CN202111502401A CN113900741B CN 113900741 B CN113900741 B CN 113900741B CN 202111502401 A CN202111502401 A CN 202111502401A CN 113900741 B CN113900741 B CN 113900741B
- Authority
- CN
- China
- Prior art keywords
- plug
- ins
- target
- business
- calling
- 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.)
- Active
Links
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
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
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
本发明公开了一种基于插件的业务处理方法、装置、计算机设备以及介质,应用于计算机领域,包括:创建执行目标业务流程所需的M个插件,通过业务系统的主线程加载M个插件的视图层,基于对M个插件的调用操作,对应执行目标业务流程的M个子业务流程,其中,在同步对M个插件中任意N个插件执行调用操作时,触发在业务系统的线程池中启动N个线程对应运行N插件的业务层和控制层。通过本发明插件适用场景受限技术问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于插件的业务处理方法、装置、计算机设备以及介质。
背景技术
java插件一般基于spring架构的自动管理策略进行调用,Spring是一个开源的轻量级Java开发应用框架,其目的是用于简化企业级应用程序开发。在配置文件中进行参数配置后,插件实现单例调用。现有技术中插件之间参数通用,因此,插件之间耦合性强,一旦任意一个插件的参数改动,就会影响其他插件和业务系统的现有功能,不适用于多方调用的业务场景,因此,插件适用场景受限。
发明内容
本发明实施例通过提供一种基于插件的业务处理方法、装置、计算机设备以及介质,解决了现有技术中插件适用场景受限的技术问题。
第一方面,本发明实施例提供了一种基于插件的业务处理方法,应用于业务系统,所述方法包括:
创建执行目标业务流程所需的M个插件,将所述M个插件中每个插件的插件参数注入至同一参数容器,且将所述业务系统的系统参数注入至所述参数容器,所述M个插件的插件参数在所述参数容器中相互独立,所述系统参数相对于每个插件的插件参数独立,M为大于1的整数;
通过所述业务系统的主线程加载所述M个插件的视图层,其中,所述视图层的多个视图相互独立;
基于对所述M个插件的调用操作,对应执行所述目标业务流程的M个子业务流程,其中,在同步对所述M个插件中任意N个插件执行调用操作时,触发在所述业务系统的线程池中启动N个线程对应运行N插件的业务层和控制层。
在一些实施方式下,所述基于插件的业务处理方法还包括:
所述目标业务流程的M个子业务流程存在相互关联关系;
通过业务系统对所述M个插件中第一插件的调用,以及所述M个插件之间的调用,串联所述目标业务流程的M个子业务流程。
在一些实施方式下,所述基于对所述M个插件的调用操作,对应执行所述目标业务流程的M个子业务流程,包括:
当触发所述目标业务流程中的当前子业务流程时,从所述M个插件中确定出用于执行所述当前子业务流程的目标插件;
对所述目标插件进行调用,以通过所述目标插件的业务逻辑执行所述当前子业务流程。
在一些实施方式下,所述对所述目标插件进行调用,包括:
从插件应用管理中心复制出所述目标插件对应的复件,其中,所述插件应用管理中心为所述M个插件生成后的存放位置;
从所述参数容器中获取所述目标插件的环境参数,其中,所述环境参数包括所述业务系统的系统参数以及所述目标插件的插件参数;
基于所述目标插件的环境参数,对所述目标插件的复件执行调用操作。
在一些实施方式下,在对所述目标插件的复件执行调用操作之后,还包括:
响应于对所述目标插件的复件的调用操作,在所述线程池中开启一个新的线程,以运行所述目标插件的复件的业务层和控制层。
在一些实施方式下,所述基于对所述M个插件的调用操作,对应执行所述目标业务流程的M个子业务流程,包括:
通过所述M个插件中的当前插件,监听所述业务系统分发的系统事件,和/或所述M个插件中除所述当前插件之外的至少一个插件所发布的插件事件;
所述当前插件根据监听到的系统事件和/或插件事件执行相应操作,以完成所述目标业务流程的当前业务子流程。
在一些实施方式下,所述视图层包括:
全局视图;
插件视图;
设置视图。
第二方面,本发明实施例提供了一种基于插件的业务处理装置,应用于业务系统,所述基于插件的业务处理装置包括:
插件创建单元,用于创建执行目标业务流程所需的M个插件,将所述M个插件中每个插件的插件参数注入至同一参数容器,且将所述业务系统的系统参数注入至所述参数容器,所述M个插件的插件参数在所述参数容器中相互独立,所述系统参数相对于每个插件的插件参数独立,M为大于1的整数;
视图加载单元,用于通过所述业务系统的主线程加载所述M个插件的视图层,其中,所述视图层的多个视图相互独立;
调用操作单元,用于基于对所述M个插件的调用操作,对应执行所述目标业务流程的M个子业务流程,其中,在同步对所述M个插件中任意N个插件执行调用操作时,触发在所述业务系统的线程池中启动N个线程对应运行N插件的业务层和控制层。
第三方面,本发明实施例提供了一种计算机设备,包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现第一方面任一实施方式所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一实施方式所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
创建执行目标业务流程所需的M个插件,将M个插件中每个插件的插件参数注入至同一参数容器,且将业务系统的系统参数注入至所述参数容器,所述M个插件的插件参数在所述参数容器中相互独立,所述系统参数相对于每个插件的插件参数独立,M为大于1的整数;通过业务系统的主线程加载M个插件的视图层,其中,视图层的多个视图相互独立;基于对M个插件的调用操作,对应执行目标业务流程的M个子业务流程,其中,在对M个插件中任意N个插件执行调用操作时,触发在业务系统的线程池中通过N个线程对应运行N插件的业务层和控制层。由此可见,本发明实施例中,不同插件的插件参数以及系统参数在参数容器都是独立,避免插件之间相互依赖,也避免了插件与系统之间的依赖,将插件之间的耦合度降低,以及插件与系统之间的耦合度降低,从而,一个插件的参数或者调用不会对其他插件和系统构成影响,因此,可以适用于多方调用场景。
进一步的,通过插件视图与业务层及控制层分离,视图运行于业务系统主线程,业务多线程运行在业务系统的线程池中,节省了业务系统开销。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于插件的业务处理方法的流程图;
图2为本发明实施例中插件调用的示意图;
图3为本发明实施例中基于插件的业务处理装置的功能模块图;
图4为本发明实施例中计算机设备的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
首先说明,本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明实施例提供了一种基于插件的业务处理方法,参考图1所示,包括如下步骤:
S101、针对执行目标业务流程所需的M个插件,将所述M个插件中每个插件的插件参数注入至同一参数容器,且将业务系统的系统参数组注入至参数容器,M为大于1的整数。
具体的,目标业务流程的执行需要调用M个插件,每个插件可以是基于MVC(Model-View-Controller,模型-视图-控制器)模式设计而成,设计而成的每个插件包括业务层(model)、控制层(controller)以及视图层(view)。而M个插件的任意两个插件之间可以进行调用操作,业务系统也可以调用插件。
参考图2所示,M个插件的插件参数在参数容器中相互独立,从而降低了插件与插件之间的耦合度,使得任意一个插件的插件参数变动均不会影响业务系统的整体功能,且任意一个插件的调用也不会对其他插件构成影响。
其中,每个插件的插件参数包括:插件ID、插件名称、插件分类、插件执行顺序、插件逻辑描述等等。每个插件参数的数据结构是由参数名称(key)和参数值(value)构成。
在一些实施方式下,为了进一步降低各个插件与业务系统之间耦合度。参考图2所示的,系统参数也注入至参数容器中,且系统参数相对于每个插件的插件参数独立,使得无论哪个插件或者哪几个插件运行或者参数修改,均不会对业务系统构成影响。
在本发明实施例中,系统参数以及每个插件的插件参数可以被M个插件中任意一个插件调用。
S102、通过业务系统的主线程加载M个插件中每个插件的视图层,每个插件的不同视图相互独立。
参考图2所示,M个插件中不同插件的视图(view)相互独立,互不影响。其中,视图层包括:全局视图、每个插件的插件视图以及每个插件的设置视图。
具体的,全局视图包括M个插件中每个插件的图标以及设置图标,还一一对应的加载M个插件的M个插件视图,主线程加载全局视图以及M个插件中每个插件的插件视图,又比如,获取到用户对设置图标执行针对任意一个插件的设置触发操作,则主线程加载该插件的设置视图。
S103、基于对M个插件的调用操作,对应执行目标业务流程的M个子业务流程,其中,在同步对M个插件中任意N个插件执行调用操作时,触发在业务系统的线程池中通过N个线程对应运行N插件的业务层和控制层。
目标业务流程包括的M个子业务流程中,一个或者多个子业务流程或者每个子业务流程的执行均需要通过调用对应的插件来完成。
本发明实施例中,由于本发明实施例将插件的视图层相对于控制层和业务层分离,仅将视图层运行在业务系统的主线程,而将插件的业务层和控制层均不需要占用主线程,从而节省了系统开销。
在一些实施方式下,目标业务流程所包括的M个子业务流程之间存在相互关联关系;通过业务系统对M个插件中第一插件的调用,以及第一插件与其余M-1个插件之间的调用,串联目标业务流程的M个子业务流程。
举例来讲,目标业务流程为商品交易流程,具体包括如下多个子业务流程:商品详情、订单创建、加入购物车、订单支付、订单完成,上述这些子业务流程之间的关联关系可以包括如下串联关系:一、商品详情→订单创建→订单支付→订单完成→订单详情;二、商品详情→加入购物车→订单创建→订单支付→订单完成→订单详情;并且在订单支付之后还可以串联订单取消这一子业务流程。
具体的,第一插件为用于执行相互关联关系的M个子业务流程中的首个子业务流程的插件,比如,第一插件具体为上述用于执行“商品详情”子业务流程。
需要说明的是,在线程池中可以运行至少一个线程,用于一一对应的运行被调用插件的业务层和控制层。在执行目标业务流程的过程中,每新调用一个插件,就对应在线程池中启动一个新的独立线程来运行该新调用的插件的业务层和控制层,以运行该插件的业务逻辑,通过运行该插件的业务逻辑来完成目标业务流程中的一个子业务流程。
具体而言,预先针对目标业务流程创建的M个插件存放于插件应用管理中心,插件在插件应用管理中心中处于未启动状态,不需要占用线程池中线程资源。在M个插件中任意一个或者多个插件需要启动时,才在线程池中对应新开一个或者多个独立线程,用于对应执行该插件的业务层和控制层,以执行该插件的业务逻辑。
具体的,执行目标业务流程的过程中,需要执行一次或者多次对插件的调用操作,参考图3所示,以目标业务流程仅仅包括商品详情→订单创建→订单支付这三个子业务流程为例,依赖于插件A、插件B、插件C一一对应的进行执行。举例来讲,对插件A的调用操作,用以执行商品详情这一子业务流程、对调用插件B的调用操作,用以执行创建订单这一子业务流程;对插件A的调用操作,用以执行订单支付这一子业务流程。
具体的,当触发所述目标业务流程中的当前子业务流程时,从M个插件中确定出用于执行所述当前子业务流程的目标插件;对目标插件进行调用,以通过目标插件的业务逻辑执行当前子业务流程。在当前子业务流程完成之后,如果触发下一个子业务流程,则从M个插件中确定出用于执行下一个子业务流程的插件并进行调用,以执行下一子业务流程。
举例来讲,目标业务流程为商品交易流程,则具体可以包括如下子业务流程:商品详情、订单创建、加入购物车、订单支付、订单取消、订单完成、订单取消等子业务流程,每个子业务流程均通过调用对应插件的业务逻辑来实现。
举例来讲,当用户触发订单支付这一子业务流程时,确定出订单支付插件,并对订单支付插件进行调用,来执行订单支付的业务逻辑,来响应用户的订单支付操作下的请求,完成订单支付过程。
在执行目标业务流程的过程中,对插件的调用操作可以是:通过事件传递的插件调用方式执行对插件的调用操作,或者通过参数调用的插件调用方式执行对插件的调用操作,而针对任意一次调用操作而言,可以根据需求选择如上任意一种调用方式,从而调用配置更加灵活。
下面分别对上述两种调用方式进行更为详细的描述,以理解调用操作的实施过程:
一、参数调用的插件调用方式:
从插件应用管理中心复制出目标插件对应的复件,其中,插件应用管理中心为M个插件生成后的存放位置;从参数容器中获取目标插件的环境参数,其中,环境参数包括业务系统的系统参数以及目标插件的插件参数;基于目标插件的环境参数,对目标插件的复件执行调用操作。
在对目标插件的复件执行调用操作之后,响应于对目标插件的复件的调用操作,在线程池中开启一个新的线程,以运行所述目标插件的复件的业务层和控制层。
由于是调用目标插件的复件,在线程池中运行复件的业务层和控制层,从而,针对M个插件中每个插件在运行时都单独构造运行环境,实现了插件运行环境的隔离,也从一方面避免了对其他插件造成影响。
举例来讲,系统参数包括:时间参数,某一被调用的插件根据时间参数在到达零点时执行某一操作。
二、事件传递的插件调用方式:
通过M个插件中当前插件,进行监听业务系统分发的系统事件,和/或M个插件中除当前插件之外的至少一个插件所发布的插件事件;当前插件根据监听到的系统事件和/或插件事件执行相应操作,以完成目标业务流程中的当前子业务流程。
参考图2进行举例来讲,业务系统发布系统事件1、系统事件2、系统事件3,插件C监听到业务系统发布的系统事件1、系统事件2、系统事件3,并执行系统事件1、系统事件2以及系统事件3所指示的操作,以完成对应的子业务流程。
参考图2进行举例来讲,插件B监听到插件A发布的插件事件X、插件事件Y,并执行该插件事件X以及插件事件Y的操作,以完成对应的子业务流程。
通过技术方案实现了插件与插件之间、插件与系统之间均可以通过参数调用或事件传递进行协同,进一步降低了插件与插件之间耦合,以及插件与系统之间耦合。
第二方面,基于同一发明构思,本发明实施例提供了一种基于插件的业务处理装置,应用于业务系统,参考图3所示,本发明实施例提供的基于插件的业务处理装置,包括:
插件创建单元301,用于创建执行目标业务流程所需的M个插件,将所述M个插件中每个插件的插件参数注入至同一参数容器,且将所述业务系统的系统参数注入至所述参数容器,所述M个插件的插件参数在所述参数容器中相互独立,所述系统参数相对于每个插件的插件参数独立,M为大于1的整数;
视图加载单元302,用于通过所述业务系统的主线程加载所述M个插件的视图层,其中,所述视图层的多个视图相互独立;
调用操作单元303,用于基于对所述M个插件的调用操作,对应执行所述目标业务流程的M个子业务流程,其中,在同步对所述M个插件中任意N个插件执行调用操作时,触发在所述业务系统的线程池中启动N个线程对应运行N插件的业务层和控制层。
在一些实施方式下,本发明实施例提供的基于插件的业务处理装置还包括:
关联单元,用于所述目标业务流程的M个子业务流程存在相互关联关系;
串联调用单元,用于通过业务系统对所述M个插件中第一插件的调用,以及所述M个插件之间的调用,串联所述目标业务流程的M个子业务流程。
在一些实施方式下,调用操作单元303包括:
插件确定子单元,用于当触发所述目标业务流程中的当前子业务流程时,从所述M个插件中确定出用于执行所述当前子业务流程的目标插件;
插件调用子单元,用于对所述目标插件进行调用,以通过所述目标插件的业务逻辑执行所述当前子业务流程。
在一些实施方式下,插件调用子单元,包括:
插件复制模块,用于从插件应用管理中心复制出所述目标插件对应的复件,其中,所述插件应用管理中心为所述M个插件生成后的存放位置;
参数获取模块,用于从所述参数容器中获取所述目标插件的环境参数,其中,所述环境参数包括所述业务系统的系统参数以及所述目标插件的插件参数;
复件调用模块,用于基于所述目标插件的环境参数,对所述目标插件的复件执行调用操作。
在一些实施方式下,用于对所述目标插件进行调用,以通过所述目标插件的业务逻辑执行所述当前子业务流程。调用操作单元303还包括:
线程开启子单元,用于响应于对所述目标插件的复件的调用操作,在所述线程池中开启一个新的线程,以运行所述目标插件的复件的业务层和控制层。
在一些实施方式下,调用操作单元303包括:
事件监听器,用于通过所述M个插件中的当前插件,监听所述业务系统分发的系统事件,和/或所述M个插件中除所述当前插件之外的至少一个插件所发布的插件事件;
业务执行子单元,述当前插件根据监听到的系统事件和/或插件事件执行相应操作,以完成所述目标业务流程的当前业务子流程。
在一些实施方式下,所述视图层包括:全局视图;插件视图以及设置视图。
上述基于插件的业务处理装置为用于执行上述基于插件的业务处理方法的装置,具体实施细节可以参考前述基于插件的业务处理方法实施例,为了说明书的简洁,在此不再赘述。
第三方面,基于同一发明构思,本发明实施例提供了一种计算机设备,参考图4所示,包括一个或多个处理器402和一个或多个存储器401,所述一个或多个存储器401中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器402加载并执行以实现第一方面任一实施方式所述方法。
其中,在图4中,总线架构(用总线400来代表),总线400可以包括任意数量的互联的总线和桥,总线400将包括由处理器402代表的一个或多个处理器和存储器401代表的存储器的各种电路链接在一起。总线400还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口405在总线400和接收器403和发送器404之间提供接口。接收器403和发送器404可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器402负责管理总线400和通常的处理,而存储器401可以被用于存储处理器402在执行操作时所使用的数据。
第四方面,基于同一发明构思,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一实施方式所述的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于插件的业务处理方法,应用于业务系统,其特征在于,所述方法包括:
创建执行目标业务流程所需的M个插件,将所述M个插件中每个插件的插件参数注入至同一参数容器,且将所述业务系统的系统参数注入至所述参数容器,所述M个插件的插件参数在所述参数容器中相互独立,所述系统参数相对于每个插件的插件参数独立,M为大于1的整数;
通过所述业务系统的主线程加载所述M个插件的视图层,其中,所述视图层的多个视图相互独立;
基于对所述M个插件的调用操作,对应执行所述目标业务流程的M个子业务流程,其中,在同步对所述M个插件中任意N个插件执行调用操作时,触发在所述业务系统的线程池中启动N个线程对应运行N插件的业务层和控制层,其中,在执行目标业务流程的过程中,对插件的调用操作是:通过事件传递的插件调用方式执行对插件的调用操作,或者通过参数调用的插件调用方式执行对插件的调用操作。
2.如权利要求1所述的方法,其特征在于,还包括:
所述目标业务流程的M个子业务流程存在相互关联关系;
通过业务系统对所述M个插件中第一插件的调用,以及所述M个插件之间的调用,串联所述目标业务流程的M个子业务流程。
3.如权利要求1或2所述的方法,其特征在于,所述基于对所述M个插件的调用操作,对应执行所述目标业务流程的M个子业务流程,包括:
当触发所述目标业务流程中的当前子业务流程时,从所述M个插件中确定出用于执行所述当前子业务流程的目标插件;
对所述目标插件进行调用,以通过所述目标插件的业务逻辑执行所述当前子业务流程。
4.如权利要求3所述的方法,其特征在于,所述对所述目标插件进行调用,包括:
从插件应用管理中心复制出所述目标插件对应的复件,其中,所述插件应用管理中心为所述M个插件生成后的存放位置;
从所述参数容器中获取所述目标插件的环境参数,其中,所述环境参数包括所述业务系统的系统参数以及所述目标插件的插件参数;
基于所述目标插件的环境参数,对所述目标插件的复件执行调用操作。
5.如权利要求4所述的方法,其特征在于,在对所述目标插件的复件执行调用操作之后,还包括:
响应于对所述目标插件的复件的调用操作,在所述线程池中开启一个新的线程,以运行所述目标插件的复件的业务层和控制层。
6.如权利要求1所述的方法,其特征在于,所述基于对所述M个插件的调用操作,对应执行所述目标业务流程的M个子业务流程,包括:
通过所述M个插件中的当前插件,监听所述业务系统分发的系统事件,和/或所述M个插件中除所述当前插件之外的至少一个插件所发布的插件事件;
所述当前插件根据监听到的系统事件和/或插件事件执行相应操作,以完成所述目标业务流程的当前业务子流程。
7.如权利要求1所述的方法,其特征在于,所述视图层包括:
全局视图;
插件视图;
设置视图。
8.一种基于插件的业务处理装置,应用于业务系统,其特征在于,所述基于插件的业务处理装置包括:
插件创建单元,用于创建执行目标业务流程所需的M个插件,将所述M个插件中每个插件的插件参数注入至同一参数容器,且将所述业务系统的系统参数注入至所述参数容器,所述M个插件的插件参数在所述参数容器中相互独立,所述系统参数相对于每个插件的插件参数独立,M为大于1的整数;
视图加载单元,用于通过所述业务系统的主线程加载所述M个插件的视图层,其中,所述视图层的多个视图相互独立;
调用操作单元,用于基于对所述M个插件的调用操作,对应执行所述目标业务流程的M个子业务流程,其中,在同步对所述M个插件中任意N个插件执行调用操作时,触发在所述业务系统的线程池中启动N个线程对应运行N插件的业务层和控制层,其中,在执行目标业务流程的过程中,对插件的调用操作是:通过事件传递的插件调用方式执行对插件的调用操作,或者通过参数调用的插件调用方式执行对插件的调用操作。
9.一种计算机设备,其特征在于,包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如权利要求1-7中任一项权利要求所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111502401.3A CN113900741B (zh) | 2021-12-10 | 2021-12-10 | 基于插件的业务处理方法、装置、计算机设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111502401.3A CN113900741B (zh) | 2021-12-10 | 2021-12-10 | 基于插件的业务处理方法、装置、计算机设备以及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113900741A CN113900741A (zh) | 2022-01-07 |
CN113900741B true CN113900741B (zh) | 2022-04-08 |
Family
ID=79025469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111502401.3A Active CN113900741B (zh) | 2021-12-10 | 2021-12-10 | 基于插件的业务处理方法、装置、计算机设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113900741B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111190609B (zh) * | 2018-11-14 | 2024-01-12 | 广东万丈金数信息技术股份有限公司 | 业务的处理方法、装置、设备和存储介质 |
CN110007980B (zh) * | 2019-01-29 | 2022-05-24 | 创新先进技术有限公司 | 多业务服务端的实现方法和装置 |
CN112068902B (zh) * | 2020-09-10 | 2021-07-30 | 北京五八信息技术有限公司 | 一种插件调用方法、装置、电子设备及存储介质 |
US11019031B1 (en) * | 2020-09-22 | 2021-05-25 | Netskope, Inc. | Client software connection inspection and access control |
CN112506681B (zh) * | 2020-12-22 | 2023-08-29 | 深圳市优必选科技股份有限公司 | 参数调用方法、装置、电子设备及存储介质 |
CN113034049A (zh) * | 2021-04-23 | 2021-06-25 | 中国建设银行股份有限公司 | 业务流程编排方法、装置、设备及存储介质 |
-
2021
- 2021-12-10 CN CN202111502401.3A patent/CN113900741B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113900741A (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8442958B2 (en) | Server change management | |
CN111144982B (zh) | 订单状态转移方法、装置、电子设备和存储介质 | |
CN108985937B (zh) | 一种基于区块链技术的计算资源共享方法及区块链系统 | |
US8504501B2 (en) | Dynamic constraint satisfaction problem solver | |
CN105979007A (zh) | 加速资源处理方法、装置及网络功能虚拟化系统 | |
CN106803790A (zh) | 一种集群系统的升级控制方法及装置 | |
CN109684057A (zh) | 任务处理方法、装置和存储介质 | |
CN108304267B (zh) | 高可靠低资源开销的多源数据引接方法 | |
CN111695827A (zh) | 业务流程的管理方法、装置、电子设备及存储介质 | |
CN103677983A (zh) | 应用的调度方法及装置 | |
CN102511041A (zh) | 将因果律归因于程序执行能力修改和动态修改程序执行能力 | |
CN113900741B (zh) | 基于插件的业务处理方法、装置、计算机设备以及介质 | |
CN112529711B (zh) | 基于区块链虚拟机复用的交易处理方法及装置 | |
CN111352706B (zh) | 一种数据访问方法、装置、设备及存储介质 | |
US11120513B2 (en) | Capital chain information traceability method, system, server and readable storage medium | |
US10747579B2 (en) | Method and device for allocating resources in a system | |
CN115361382B (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
CN115480910A (zh) | 多集群资源管理方法、装置及电子设备 | |
CN115291891A (zh) | 一种集群管理的方法、装置及电子设备 | |
CN112379952B (zh) | 一种跨进程回调的实现方法 | |
CN105760973A (zh) | 业务处理方法及装置 | |
CN109901933B (zh) | 业务系统的操作方法及装置、存储介质、电子装置 | |
CN109144597B (zh) | 一种获得下载接口回调信息的方法和装置 | |
CN113312202B (zh) | 基于组件的故障处理逻辑生成方法、装置、设备和介质 | |
CN117114613A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |