CN113342484A - 流程引擎方法、系统、设备及存储介质 - Google Patents
流程引擎方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN113342484A CN113342484A CN202110528507.4A CN202110528507A CN113342484A CN 113342484 A CN113342484 A CN 113342484A CN 202110528507 A CN202110528507 A CN 202110528507A CN 113342484 A CN113342484 A CN 113342484A
- Authority
- CN
- China
- Prior art keywords
- function
- logic unit
- service
- data
- preset
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 131
- 230000008569 process Effects 0.000 title claims abstract description 86
- 230000006870 function Effects 0.000 claims description 154
- 238000012545 processing Methods 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 238000011112 process operation Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 239000011800 void material Substances 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种流程引擎方法、系统、设备及存储介质,流程引擎方法,包括:获取业务系统的业务参数,并将业务参数发送至函数适配器,函数适配器根据业务参数和预设函数数据库确定业务参数匹配的功能函数,预设函数数据库包括业务参数和功能函数的匹配信息;获取业务数据,并解析业务数据以得到第一逻辑单元;将功能函数、第一逻辑单元放入任务队列,根据预设数据规则和功能函数对所述任务队列中的第一逻辑单元进行编排以得到第一执行顺序;根据第一执行顺序执行第一逻辑单元对应的任务。本发明的整个业务的流程引擎自动操作,无需借助外部数据库中间件,不仅使得业务高效执行,且业务流程操作更加简易。
Description
技术领域
本发明涉及流程控制的技术领域,尤其是涉及一种流程引擎方法、系统、设备及存储介质。
背景技术
流程引擎也称为工作流引擎,工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。
相关技术中的流程引擎需要依赖第三方数据库中间件,而且流程引擎在运行过程中需要频繁地操作外部地的数据库中间件,特别是遇到流程转接节点、任务处理增加的情况会需要更加频繁地操作外部地数据库中间件。因此,需要依赖第三方数据库中间件的流程引擎处理更加繁琐。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种流程引擎方法,能够无需依赖外部的数据库中间件,使得流程引擎运行过程中的操作更加简易。
本发明还提出一种流程引擎系统。
本发明还提出一种电子控制设备。
本发明还提出一种计算机可读存储介质。
第一方面,本发明的一个实施例提供了流程引擎方法,包括:
获取业务系统的业务参数,并将所述业务参数发送至函数适配器;
所述函数适配器根据所述业务参数和预设函数数据库确定所述业务参数匹配的功能函数,所述预设函数数据库包括所述业务参数和所述功能函数的匹配信息;
获取业务数据,并解析所述业务数据以得到第一逻辑单元;
将所述功能函数、所述第一逻辑单元放入任务队列,根据预设数据规则和所述功能函数对所述任务队列中的所述第一逻辑单元进行编排以得到第一执行顺序;
根据所述第一执行顺序执行所述第一逻辑单元对应的任务。
本发明实施例的流程引擎方法至少具有如下有益效果:通过函数适配器根据业务参数和预设函数数据库确定了业务参数对应的功能函数后,将采集的业务数据进行解析以得到第一逻辑单元,然后根据功能函数和预设数据规则对任务队列内的第一逻辑单元进行编排以得到第一执行顺序,则第一执行顺序执行第一逻辑单元对应的任务,因此整个业务的流程引擎自动操作,无需借助外部数据库中间件,不仅使得业务高效执行,且业务流程操作更加简易。
根据本发明的另一些实施例的流程引擎方法,还包括
获取所述第一逻辑单元对应的任务在执行过程中是否存在扩展事件;
若所述执行过程中存在所述扩展事件,则执行所述扩展事件。
根据本发明的另一些实施例的流程引擎方法,还包括:
若所述执行过程中不存在所述扩展事件,计算路由规则;
若所述路由规则满足预设路由规则,获取并解析下一个所述业务数据以得到第二逻辑单元;
将所述第二逻辑单元放入所述任务队列,根据所述预设数据规则和所述功能函数对所述任务队列中的所述第二逻辑单元进行编排以得到第二执行顺序;
根据所述第二执行顺序执行所述第二逻辑单元对应的任务。
根据本发明的另一些实施例的流程引擎方法,还包括:
若所述路由规则不满足预设路由规则,返回业务系统并将所述第一逻辑单元和/或所述第二逻辑单元对应的执行数据存储至数据库。
根据本发明的另一些实施例的流程引擎方法,所述功能函数包括以下任意一种或多种:发起流程函数、作废流程函数、结束流程函数、驳回流程函数、加签流程函数、转发流程函数和传阅流程函数。
根据本发明的另一些实施例的流程引擎方法,还包括:
若所述预设函数数据库中不存在与所述业务参数匹配的所述功能函数,输出异常提示信息至所述业务系统。
根据本发明的另一些实施例的流程引擎方法,所述获取业务数据,并解析所述业务数据以得到第一逻辑单元,包括:
获取所述业务数据;
解析所述业务数据以得到数据表达式和执行数据;
解析所述数据表达式以得到解析结果;
根据所述解析结果和所述执行数据确定所述第一逻辑单元。
第二方面,本发明的一个实施例提供了流程引擎系统,包括:
第一获取模块,用于获取业务参数;
函数适配器,用于根据所述业务参数和预设函数数据库确定所述业务参数匹配的功能函数,所述预设函数数据库包括所述业务参数和所述功能函数的匹配信息;
第二获取模块,用于获取业务数据和第一逻辑单元,并解析所述业务数据以得到第一逻辑单元;
处理模块,用于将所述功能函数、所述第一逻辑单元放入任务队列,根据预设数据规则和所述功能函数对所述任务队列中的所述第一逻辑单元进行编排以得到第一执行顺序;
执行模块,用于根据所述第一执行顺序执行所述第一逻辑单元对应的任务。
本发明实施例的流程引擎系统至少具有如下有益效果:通过函数适配器根据业务参数和预设函数数据库确定了业务参数对应的功能函数后,将采集的业务数据进行解析以得到第一逻辑单元,然后处理模块根据功能函数和预设数据规则对任务队列内的第一逻辑单元进行编排以得到第一执行顺序,然后执行模块根据第一执行顺序执行第一逻辑单元对应的任务,因此整个业务的流程引擎自动操作,无需接柱外部数据库中间件,不仅使得业务高效执行,且业务流程操作更加简易。
第三方面,本发明的一个实施例提供了电子控制设备,包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的流程引擎方法。
第四方面,本发明的一个实施例提供了计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的流程引擎方法。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书以及附图中所特别指出的结构来实现和获得。
附图说明
图1是本发明实施例中流程引擎方法的一具体实施例流程示意图;
图2是本发明实施例中流程引擎方法的另一具体实施例流程示意图;
图3是本发明实施例中流程引擎方法的另一具体实施例流程示意图;
图4是本发明实施例中流程引擎方法的另一具体实施例流程示意图;
图5是本发明实施例中流程引擎方法的另一具体实施例流程示意图;
图6是本发明实施例中流程引擎方法的另一具体实施例流程示意图;
图7是本发明实施例中流程引擎系统的另一具体实施例流程示意图;
图8是本发明实施例中电子控制设备的一具体实施例流程示意图。
附图标记:100、第一获取模块;200、函数适配器;300、第二获取模块;400、处理模块;500、执行模块;600、处理器;700、存储器。
具体实施方式
以下将结合实施例对本发明的构思及产生的技术效果进行清楚、完整地描述,以充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。
在本发明的描述中,如果涉及到方位描述,例如“上”、“下”、“前”、“后”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。如果某一特征被称为“设置”、“固定”、“连接”、“安装”在另一个特征,它可以直接设置、固定、连接在另一个特征上,也可以间接地设置、固定、连接、安装在另一个特征上。
在本发明实施例的描述中,如果涉及到“若干”,其含义是一个以上,如果涉及到“多个”,其含义是两个以上,如果涉及到“大于”、“小于”、“超过”,均应理解为不包括本数,如果涉及到“以上”、“以下”、“以内”,均应理解为包括本数。如果涉及到“第一”、“第二”,应当理解为用于区分技术特征,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
流程引擎用作流程开发中,是状态流转的核心模块。通过流程引擎来控制相关组件的协调工作,使得业务流程中的信息按照一定规则流传,实现业务流程自动化。
传统的流程引擎通过多实例实现对事务的分批处理多任务。但是流程引擎需要依赖第三方数据库中间件,所以在流程引擎运行过程中需要频繁操作外部的数据库中间件,遇到流程的节点、任务处理人增加的情况,则需要更加频繁地操作外部的数据库中间件。
基于此,本申请公开了一种流程引擎方法、系统、设备及存储介质,运行数据基于内存数据库操作,在流程引擎运行器件不依赖外部数据库中间件,使得流程引擎更加简易和灵活。
需要说明:函数适配器:扩展函数的参数接口(假如函数有一个参数,再扩展一个接口即可以传递两个参数)。
第一方面,参照图1,本发明实施例公开了一种流程引擎方法,包括:
S100、获取业务系统的业务参数,并将业务参数发送至函数适配器;
S200、函数适配器根据业务参数和预设函数数据库确定业务参数匹配的功能函数,预设函数数据库包括业务参数和功能函数的匹配信息;
S300、获取业务数据,并解析业务数据以得到第一逻辑单元;
S400、将功能函数、第一逻辑单元放入任务队列,根据预设数据规则和功能函数对任务队列中的第一逻辑单元进行编排以得到第一执行顺序;
S500、根据第一执行顺序执行第一逻辑单元对应的任务。
其中,流程引擎方法由流程引擎执行,且流程引擎和业务系统之间互相通信。所以获取业务系统的业务参数,然后将业务参数发送至函数适配器,函数适配器需要先判断预设函数数据库内是否存在与业务参数相匹配的功能函数,若预设函数数据库内存在与业务参数匹配的功能函数,函数适配器则直接调用预设函数数据库内与业务参数相匹配的功能函数,并将功能函数放入任务队列。通过获取业务系统的业务数据,然后对业务数据进行解析。其中,在本实施例中,对业务数据进行解析主要是通过元数据解析器进行解析以得到第一逻辑单元。通过将第一逻辑单元并放入任务队列,然后根据功能函数和预设数据规则对任务队列中的第一逻辑单元以得到第一执行顺序,然后根据第一执行顺序执行第一逻辑单元的程序。其中,对第一逻辑单元进行编排主要对任务队列中第一逻辑单元对应的任务进行编排,然后根据第一执行顺序对第一逻辑单元对应的任务执行。因此整个流程引擎无需调用外部数据库中间件,而且将复杂的处理逻辑拆分成第一逻辑单元,然后根据预设数据规则和功能函数对第一逻辑单元进行编排,调整实现这个第一逻辑单元,则流程扩展性高、灵活性好。
其中,根据预设数据规则和功能函数对任务队列中的第一逻辑单元进行编排主要根据任务队列的先进先出的规则进行编排,然后得到的第一执行顺序也是根据任务队列的先进先出规则进行第一逻辑单元对应程序的执行。
参照图2,在一些实施例中,流程引擎方法,还包括
S610、获取第一逻辑单元对应的任务在执行过程中是否存在扩展事件;
S620、若执行过程中存在扩展事件,则执行扩展事件。
按照第一执行顺序执行任务列表内第一逻辑单元对应的任务时,会实时检测执行过程是否存在扩展事件,若在执行过程中存在扩展事件,则会先暂停执行过程中第一逻辑单元对应的任务,直接执行扩展事件。通过在流程执行过程中进行扩展事件执行能够提高扩展能力,以便于用户在进行某一个任务操作时需要先执行另外的操作或者进行流程拦截可以快速响应,以提高用户体验感。
具体地,扩展事件包括:流程开始事件、流程结束事件、流程作废事件、节点激活事件、节点完成事件、任务提交事件和任务驳回事件。通过在第一逻辑单元对应任务执行过程中判断是否存在流程开始事件、流程作废事件等的扩展事件,则先执行扩展事件以快速响应用户的操作。
参照图3,在一些实施例中,流程引擎方法还包括:
S710、若执行过程中不存在扩展事件,计算路由规则;
S720、若路由规则满足预设路由规则,获取并解析下一个业务数据以得到第二逻辑单元;
S730、将第二逻辑单元放入任务队列,根据预设数据规则和功能函数对任务队列中的第二逻辑单元进行编排以得到第二执行顺序;
S740、根据第二执行顺序执行第二逻辑单元对应的任务。
若在第一逻辑单元对应的任务执行过程中不存在扩展事件,则计算路由规则。其中,路由规则主要表示第一逻辑单元对应的任务执行进度,若路由规则满足预设理由规则也即表示第一逻辑单元对应的任务未完成,则需要获取下一个业务数据以得到第二逻辑单元,然后重复第一逻辑单元的操作,也即将第二逻辑单元放入任务队列,且预设数据规则和功能函数对第二逻辑单元进行编排以得到第二执行顺序,然后根据第二执行顺序执行第二逻辑单元的任务。因此通过计算路由规则是否满足预设路由规则来判断第一逻辑单元对应的任务是否完成,若未完成则进行一个业务数据的操作,由此不断循环执行对应逻辑单元的任务。其中流程中路由规则的作用是根据配置的表达式来规定流向的节点,因此通过路由规则来表示逻辑单元的任务执行进度准确。
其中,若执行第二逻辑单元对应的任务后再计算路由规则还是满足预设路由规则,然后继续采集并解析下一个业务数据以得到第三逻辑单元,并根据预设数据规则和功能函数对第三逻辑单元进行编排以得到第三执行顺序,并根据第三执行顺序执行第三逻辑单元对应的任务。由此类推,当路由规则满足预设路由规则时,会持续重复步骤S720至S740,直到路由规则不满足预设路由规则。
参照图4,在一些实施例中,流程引擎方法还包括:
S750、若路由规则不满足预设路由规则,返回业务系统并将第一逻辑单元和/或第二逻辑单元对应的执行存储至数据库。
若路由规则不满足预设路由规则,则表示第一逻辑单元和/或第二逻辑单元对应的任务要处理结束,所以需要在程序退出之前将第一逻辑单元和/或第二逻辑单元对应的执行数据存储至数据库,以便于可以直接通过数据库获取每次流程执行的情况,以作为整个执行过程的监控。且路由规则不满足预设路由规则,返回业务系统,执行下一个预设数据规则,也即根据新的业务参数确定功能函数和预设数据规则,再完成另一个业务流程引擎。执行逻辑单元对应的任务可以为审批任务、创建任务、计算路由任务、激活流程节点任务等等。例如,在第一次执行业务参数对应的业务为创建任务,然后完成了整个创建任务后,路由规则不满足预设路由规则,则需要执行下一个业务流程,若下一个业务流程为审批任务,则需要获取审批任务对应的业务参数,然后得到对应的功能函数和预设数据规则,然后重新根据新的功能函数和预设数据规则对新的第一逻辑单元进行编排,以得到新的第一执行顺序,然后根据新的第一执行顺序执行第一逻辑单元对应的任务。
其中,功能函数包括以下任意一种或多种:发起流程函数、作废流程函数、结束流程函数、驳回流程函数、加签流程函数、转发流程函数和传阅流程函数。
预设函数数据库内存储功能函数,但是功能函数存在多种,主要包括发起流程函数、作废流程函数、结束流程函数、驳回流程函数、加签流程函数、转发流程函数和传阅流程函数。业务参数对应的业务包括以下任意一种:发起流程业务、作废流程业务、结束流程业务、驳回流程业务、加签流程业务、转发流程业务和传阅流程业务。例如,若业务参数对应的业务是作废流程业务,则接收业务参数后根据业务参数确定作废流程函数,然后根据作废流程函数和预设数据规则对第一逻辑单元进行编排以得到第一执行顺序,然后根据第一执行顺序执行第一逻辑单元对应的作废流程业务,以实现根据业务参数确定调用预设函数数据库哪一个功能函数,然后执行第一逻辑单元对应的业务。
参照图5,在一些实施例中,流程引擎方法,还包括:
S800、若预设函数数据库中不存在与业务参数匹配的功能函数,输出异常提示信息至业务系统。
若获取业务参数后,根据业务参数查询预设函数数据库是否存在与业务参数对应的功能函数,若预设函数数据库不存在与业务参数匹配的功能函数,则表示无法进行相对应的流程引擎,则需要输出异常提示信息至业务系统。用户可以通过业务系统接收的异常提示信息确认是否需要增加预设函数数据库内的功能函数,或者结束盖流程引擎,提高流程引擎的智能性。
参照图6,在一些实施例中,步骤S300包括:
S310、获取业务数据;
S320、解析业务数据以得到数据表达式和执行数据;
S330、解析数据表达式以得到解析结果;
S340、根据解析结果和执行数据确定第一逻辑单元。
在确定了功能函数后,获取业务数据,然后将业务数据借此得到数据表达式和执行数据,然后再对数据表达式进行解析和计算以得到解析结果。其中,执行结果主要是决定执行哪一个逻辑单元,因此根据执行结果和执行数据确定需要执行的第一逻辑单元。执行数据是一系列节点、连接线以及它们之上的配置组成的,解析结果可以判断需要激活哪一个节点,执行哪一个逻辑单元,所以根据解析结果和执行数据可以确定第一逻辑单元,然后根据预设数据规则和功能函数将第一逻辑单元进行编排以得到第一执行顺序,所以可以根据第一执行顺序执行第一逻辑单元对应的任务,实现业务开发者只需关注调用的功能函数本身,以及函数的输入、输出;执行对应任务是基于内存数据库操作,高效执行,在引擎运行期间不依赖外部数据库中间件,使得不同任务的流程引擎操作更加简易。
下面参考图1至图6以一个具体的实施例详细描述根据本发明实施例的流程引擎方法。值得理解的是,下述描述仅是示例性说明,而不是对发明的具体限制。
获取业务系统的业务参数,然后将业务参数发送至函数适配器,函数适配器需要先判断预设函数数据库内是否存在于业务参数相匹配的功能函数,若预设函数数据库内存在与业务参数匹配的功能函数,函数适配器则直接调用预设函数数据库内与业务参数相匹配的功能函数,并将功能函数放入任务队列。在确定了功能函数后,获取业务数据,然后将业务数据借此得到数据表达式和执行数据,然后再对数据表达式进行解析和计算以得到解析结果。根据解析结果和执行数据可以确定第一逻辑单元,然后根据预设数据规则和功能函数将第一逻辑单元进行编排以得到第一执行顺序,可以根据第一执行顺序执行第一逻辑单元对应的任务。若在执行过程中存在扩展事件,则会先暂停执行过程中第一逻辑单元对应的任务,直接执行扩展事件。若在第一逻辑单元对应的任务执行过程中不存在扩展事件,则计算路由规则,路由规则主要表示第一逻辑单元对应的任务执行进度。若路由规则满足预设理由规则也即表示第一逻辑单元对应的任务未完成,则需要获取下一个业务数据以得到第二逻辑单元,也即将第二逻辑单元放入任务队列,且预设数据规则和功能函数对第二逻辑单元进行编排以得到第二执行顺序,然后根据第二执行顺序执行第二逻辑单元的任务。若路由规则不满足预设路由规则,则表示第一逻辑单元和/或第二逻辑单元对应的任务要处理结束,所以需要在程序退出之前将第一逻辑单元和/或第二逻辑单元对应的执行数据存储至数据库,以便于可以直接通过数据库获取每次流程执行的情况,以作为整个执行过程的监控。因此,业务开发者只需关注调用的功能函数本身,执行第一逻辑单元和/或第二逻辑单元对应的任务是基于内存数据库操作,高效执行,在流程引擎运行期间不依赖外部数据库中间件;而且复杂的流程处理逻辑拆分为可重用的细小逻辑单元,根据预设数据规则对逻辑单元进行编排、调度实现整体逻辑,扩展性高、灵活性好。
第二方面,参照图7,本发明实施例还公开了一种流程引擎系统,包括:第一获取模块100、函数适配器200、第二获取模块300、处理模块400和执行模块500,第一获取模块100用于获取业务参数;函数适配器200用于根据业务参数和预设函数数据库确定业务参数匹配的功能函数,预设函数数据库包括业务参数和功能函数的匹配信息;第二获取模块300用于获取业务数据和第一逻辑单元,并解析业务数据以得到第一逻辑单元;处理模块400用于将功能函数、第一逻辑单元放入任务队列,根据预设数据规则和功能函数对任务队列中的第一逻辑单元进行编排以得到第一执行顺序;执行模块500用于根据第一执行顺序执行第一逻辑单元对应的任务。
通过函数适配器200根据业务参数和预设函数数据库确定了业务参数对应的功能函数后,将采集的业务数据进行解析以得到第一逻辑单元,然后处理模块400根据功能函数和预设数据规则对任务队列内的第一逻辑单元进行编排以得到第一执行顺序,然后执行模块500根据第一执行顺序执行第一逻辑单元对应的任务。因此整个业务的流程引擎自动操作,无需接柱外部数据库中间件,不仅使得业务高效执行,且业务流程操作更加简易。
第三方面,参照图8,本发明实施例还公开了一种电子控制设备,包括:至少一个处理器600,以及,与所述至少一个处理器600通信连接的存储器700;其中,所述存储器700存储有可被所述至少一个处理器600执行的指令,所述指令被所述至少一个处理器600执行,以使所述至少一个处理器600能够执行如第一方面所述的流程引擎方法。
电子控制设备可以为移动终端设备,也可以为非移动终端设备。移动终端设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载终端设备、可穿戴设备、超级移动个人计算机、上网本、个人数字助理、CPE、UFI(无线热点设备)等;非移动终端设备可以为个人计算机、电视机、柜员机或者自助机等;本发明实施方案不作具体限定。
存储器700可以为外部存储器,也可以为内部存储器,外部存储器为外部存储卡,例如Micro SD卡。外部存储卡通过外部存储器接口与处理器600通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。内部存储器可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。
处理器600可以包括一个或多个处理单元,例如:处理器600可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
第四方面,本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的流程引擎方法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
Claims (10)
1.一种流程引擎方法,其特征在于,包括:
获取业务系统的业务参数,并将所述业务参数发送至函数适配器;
所述函数适配器根据所述业务参数和预设函数数据库确定所述业务参数匹配的功能函数,所述预设函数数据库包括所述业务参数和所述功能函数的匹配信息;
获取业务数据,并解析所述业务数据以得到第一逻辑单元;
将所述功能函数、所述第一逻辑单元放入任务队列,根据预设数据规则和所述功能函数对所述任务队列中的所述第一逻辑单元进行编排以得到第一执行顺序;
根据所述第一执行顺序执行所述第一逻辑单元对应的任务。
2.根据权利要求1所述的流程引擎方法,其特征在于,还包括
获取所述第一逻辑单元对应的任务在执行过程中是否存在扩展事件;
若所述执行过程中存在所述扩展事件,则执行所述扩展事件。
3.根据权利要求2所述的流程引擎方法,其特征在于,还包括:
若所述执行过程中不存在所述扩展事件,计算路由规则;
若所述路由规则满足预设路由规则,获取并解析下一个所述业务数据以得到第二逻辑单元;
将所述第二逻辑单元放入所述任务队列,根据所述预设数据规则和所述功能函数对所述任务队列中的所述第二逻辑单元进行编排以得到第二执行顺序;
根据所述第二执行顺序执行所述第二逻辑单元对应的任务。
4.根据权利要求3所述的流程引擎方法,其特征在于,还包括:
若所述路由规则不满足预设路由规则,返回所述业务系统并将所述第一逻辑单元和/或所述第二逻辑单元对应的执行数据存储至数据库。
5.根据权利要求1至4任一项所述的流程引擎方法,其特征在于,所述功能函数包括以下任意一种或多种:发起流程函数、作废流程函数、结束流程函数、驳回流程函数、加签流程函数、转发流程函数和传阅流程函数。
6.根据权利要求1至4任一项所述的流程引擎方法,其特征在于,还包括:
若所述预设函数数据库中不存在与所述业务参数匹配的所述功能函数,输出异常提示信息至所述业务系统。
7.根据权利要求1至4任一项所述的流程引擎方法,其特征在于,所述获取业务数据,并解析所述业务数据以得到第一逻辑单元,包括:
获取所述业务数据;
解析所述业务数据以得到数据表达式和执行数据;
解析所述数据表达式以得到解析结果;
根据所述解析结果和所述执行数据确定所述第一逻辑单元。
8.一种流程引擎系统,其特征在于,包括:
第一获取模块,用于获取业务参数;
函数适配器,用于根据所述业务参数和预设函数数据库确定所述业务参数匹配的功能函数,所述预设函数数据库包括所述业务参数和所述功能函数的匹配信息;
第二获取模块,用于获取业务数据和第一逻辑单元,并解析所述业务数据以得到第一逻辑单元;
处理模块,用于将所述功能函数、所述第一逻辑单元放入任务队列,根据预设数据规则和所述功能函数对所述任务队列中的所述第一逻辑单元进行编排以得到第一执行顺序;
执行模块,用于根据所述第一执行顺序执行所述第一逻辑单元对应的任务。
9.一种电子控制设备,其特征在于,包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7任一项所述的流程引擎方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至7任一项所述的流程引擎方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110528507.4A CN113342484B (zh) | 2021-05-14 | 2021-05-14 | 流程引擎方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110528507.4A CN113342484B (zh) | 2021-05-14 | 2021-05-14 | 流程引擎方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342484A true CN113342484A (zh) | 2021-09-03 |
CN113342484B CN113342484B (zh) | 2022-04-26 |
Family
ID=77468661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110528507.4A Active CN113342484B (zh) | 2021-05-14 | 2021-05-14 | 流程引擎方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342484B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114466055A (zh) * | 2021-12-27 | 2022-05-10 | 天翼云科技有限公司 | 一种业务处理方法及装置 |
CN114757592A (zh) * | 2022-06-15 | 2022-07-15 | 北京乐开科技有限责任公司 | 一种工作流引擎与rpa融合的编排方法及系统 |
CN115564322A (zh) * | 2022-12-06 | 2023-01-03 | 连连(杭州)信息技术有限公司 | 一种业务处理方法、装置、电子设备及存储介质 |
CN117151610A (zh) * | 2023-07-13 | 2023-12-01 | 华能信息技术有限公司 | 一种基于工作流引擎的流程配置方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070244904A1 (en) * | 2006-04-18 | 2007-10-18 | Kristopher Durski | Method and Architecture for Goal Oriented Applications, Configurations and Workflow Solutions on-the-Fly |
US8131663B1 (en) * | 2007-10-12 | 2012-03-06 | Bonamy Taylor | Apparatus for generating software logic rules by flowchart design |
CN102479354A (zh) * | 2010-11-29 | 2012-05-30 | 平安科技(深圳)有限公司 | 一种基于工作流的数据处理方法以及系统 |
CN102810070A (zh) * | 2012-07-16 | 2012-12-05 | 福建富士通信息软件有限公司 | 高性能业务能力封装流程引擎及其流程控制方法 |
CN106919438A (zh) * | 2017-03-06 | 2017-07-04 | 郑州云海信息技术有限公司 | 一种虚拟化环境中工作流处理方法和框架 |
CN110852623A (zh) * | 2019-11-12 | 2020-02-28 | 北京计算机技术及应用研究所 | 一种基于bpmn的指挥控制流程设计方法 |
CN111339186A (zh) * | 2020-02-19 | 2020-06-26 | 平安科技(深圳)有限公司 | 工作流引擎数据同步方法、装置、介质及电子设备 |
CN111382177A (zh) * | 2020-03-09 | 2020-07-07 | 中国邮政储蓄银行股份有限公司 | 一种业务数据任务处理方法、装置及系统 |
CN112365239A (zh) * | 2020-11-23 | 2021-02-12 | 中国电子科技集团公司第十五研究所 | 一种基于事件的云服务管理处置方法及系统 |
-
2021
- 2021-05-14 CN CN202110528507.4A patent/CN113342484B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070244904A1 (en) * | 2006-04-18 | 2007-10-18 | Kristopher Durski | Method and Architecture for Goal Oriented Applications, Configurations and Workflow Solutions on-the-Fly |
US8131663B1 (en) * | 2007-10-12 | 2012-03-06 | Bonamy Taylor | Apparatus for generating software logic rules by flowchart design |
CN102479354A (zh) * | 2010-11-29 | 2012-05-30 | 平安科技(深圳)有限公司 | 一种基于工作流的数据处理方法以及系统 |
CN102810070A (zh) * | 2012-07-16 | 2012-12-05 | 福建富士通信息软件有限公司 | 高性能业务能力封装流程引擎及其流程控制方法 |
CN106919438A (zh) * | 2017-03-06 | 2017-07-04 | 郑州云海信息技术有限公司 | 一种虚拟化环境中工作流处理方法和框架 |
CN110852623A (zh) * | 2019-11-12 | 2020-02-28 | 北京计算机技术及应用研究所 | 一种基于bpmn的指挥控制流程设计方法 |
CN111339186A (zh) * | 2020-02-19 | 2020-06-26 | 平安科技(深圳)有限公司 | 工作流引擎数据同步方法、装置、介质及电子设备 |
CN111382177A (zh) * | 2020-03-09 | 2020-07-07 | 中国邮政储蓄银行股份有限公司 | 一种业务数据任务处理方法、装置及系统 |
CN112365239A (zh) * | 2020-11-23 | 2021-02-12 | 中国电子科技集团公司第十五研究所 | 一种基于事件的云服务管理处置方法及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114466055A (zh) * | 2021-12-27 | 2022-05-10 | 天翼云科技有限公司 | 一种业务处理方法及装置 |
CN114466055B (zh) * | 2021-12-27 | 2024-04-26 | 天翼云科技有限公司 | 一种业务处理方法及装置 |
CN114757592A (zh) * | 2022-06-15 | 2022-07-15 | 北京乐开科技有限责任公司 | 一种工作流引擎与rpa融合的编排方法及系统 |
CN114757592B (zh) * | 2022-06-15 | 2022-10-21 | 北京乐开科技有限责任公司 | 一种工作流引擎与rpa融合的编排方法及系统 |
CN115564322A (zh) * | 2022-12-06 | 2023-01-03 | 连连(杭州)信息技术有限公司 | 一种业务处理方法、装置、电子设备及存储介质 |
CN115564322B (zh) * | 2022-12-06 | 2023-09-19 | 连连(杭州)信息技术有限公司 | 一种业务处理方法、装置、电子设备及存储介质 |
CN117151610A (zh) * | 2023-07-13 | 2023-12-01 | 华能信息技术有限公司 | 一种基于工作流引擎的流程配置方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113342484B (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113342484B (zh) | 流程引擎方法、系统、设备及存储介质 | |
CN102087615B (zh) | 消息队列中消息的合并的方法和系统 | |
EP3828696A1 (en) | Method invoke chain tracing method, electronic apparatus, and computer-readable storage medium | |
CN107861765B (zh) | 产品配置方法、设备和计算机可读存储介质 | |
CN111158987A (zh) | 微服务架构的健康检查方法及装置 | |
CN113282850B (zh) | 资源标签管理方法、装置、电子设备、系统及存储介质 | |
CN114595074A (zh) | 一种基于分布式调度的编排中事务失败回滚方法及装置 | |
CN112367348A (zh) | 数据获取方法、装置、设备及介质 | |
CN103646644A (zh) | 一种获取语音识别业务信息认可度的方法和装置 | |
CN110009484A (zh) | 业务数据处理方法、设备、服务器及计算机可读存储介质 | |
CN110351435A (zh) | 通话黑名单设置方法及装置 | |
CN113760631B (zh) | 页面加载时长确定方法、装置、设备和存储介质 | |
CN113342553A (zh) | 一种数据的获取方法、装置、电子设备及存储介质 | |
CN114926045A (zh) | 一种作业管理方法及装置 | |
CN114185583A (zh) | 审批流程的生成、处理方法及装置 | |
CN113238855A (zh) | 一种路径检测方法及装置 | |
CN111475322A (zh) | 定位stuck线程的方法、装置、计算机设备及可读存储介质 | |
CN100501699C (zh) | 一种多核处理器中裸核异常捕获与存储的方法及系统 | |
JP2013069223A (ja) | 生成プログラム、生成方法及び生成装置 | |
EP3640821A1 (en) | Coefficient calculation method, component calling method, device, medium, server, and terminal | |
CN108848187B (zh) | 一种建立通信连接的方法、装置、设备及可读存储介质 | |
CN115658613A (zh) | 脚本文件清理方法、装置、电子设备及存储介质 | |
CN110806974B (zh) | 一种实现测试的方法、装置、计算机存储介质及终端 | |
CN113852627B (zh) | 一种可扩展的支付报文处理方法、装置及电子设备 | |
CN110264211B (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 |