一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于工作流的业务处理方法、装置、设备及存储介质与流程

2022-09-03 16:20:07 来源:中国专利 TAG:


1.本发明涉及研发管理领域,尤其涉及一种基于工作流的业务处理方法、装置、设备及存储介质。


背景技术:

2.工作流是指在业务工作执行过程中对部分或整体的各操作步骤间业务规则的概括描述。传统的工作流开发是通过设置不同业务的api接口实现的,由于用户对业务流程的个性化需求异常丰富,需要针对不同的业务流程进行个性化配置或开发,现有工作流需要开发不同的接口连接不同的工作流,使得工作流开发部署过程较为复杂,需要耗费大量时间,导致工作流的执行效率较低。


技术实现要素:

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.图1为本发明一实施例提供的基于工作流的业务处理方法的流程示意图;
42.图2为本发明一实施例提供的基于工作流的业务处理方法中一个步骤的详细流程示意图;
43.图3为本发明一实施例提供的基于工作流的业务处理方法中一个步骤的详细流程示意图;
44.图4为本发明一实施例提供的基于工作流的业务处理装置的模块示意图;
45.图5为本发明一实施例提供的实现基于工作流的业务处理方法的电子设备的内部结构示意图;
46.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
47.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
48.本发明实施例提供一种基于工作流的业务处理方法。所述基于工作流的业务处理方法的执行主体包括但不限于服务端、终端等能够被配置为执行本技术实施例提供的该方法的电子设备中的至少一种。换言之,所述基于工作流的业务处理方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
49.参照图1所示的本发明一实施例提供的基于工作流的业务处理方法的流程示意图,在本发明实施例中,所述基于工作流的业务处理方法包括以下步骤s1-s4:
50.s1、获取业务数据集,基于所述业务数据集定义工作流配置信息,识别所述工作流配置信息中流程节点之间的依赖关系,根据所述依赖关系创建标准工作流程库。
51.应当了解,所述业务数据集是指基于实际业务场景涉及的业务类型、业务信息等,比如,在电商业务场景中,该业务数据集包括商品订购、订单更新、物流查询、优惠商品等业务类型,以及业务执行的整个流程,对应的流程编码、流程名称、流程执行方法等业务信息,其中,所述业务数据集可以从业务系统的数据库中获取。
52.本发明实施例中,所述工作流配置信息是指业务数据集中每个业务对应的工作流程配置信息,该工作流程配置信息可以包括工作流程定义基表(包括工作流程编码、名称、描述信息等)、工作定义基表(包括工作执行方法等)、流程节点定义基表(包括流程中的每个节点、每个节点的描述信息等)、流程子节点定义基表(包括每个子节点的描述信息)及节点流转配置表(包括节点流转规则、路由规则、执行规则及流程信息等)等配置信息。
53.本发明实施例中,所述依赖关系是指每个标准工作流程中包括的流程节点之间的依赖关系;所述标准工作流程库可以为存储各种业务对应的标准工作流程的模板集合,该标准工作流程是对部分或整体的各操作步骤间业务规则的概括描述,主要作用是将业务之间的操作流水线化,将每个业务流程划分成为若干个步骤,且每个步骤的流转都清晰展示;进一步,本发明实施例通过识别所述工作流配置信息中流程节点之间的依赖关系,并根据所述依赖关系创建标准工作流程库,可以针对不同的业务流程需求个性化配置或开发,提高工作流开发效率。
54.本发明实施例中,所述基于所述业务数据集定义工作流配置信息,可以通过从所述业务数据集中归纳工作流程定义基表、工作定义基表、流程节点定义基表、流程子节点定义基表及节点流转配置表等一系列与工作流相关的数据表,以定义工作流配置信息。
55.详细地,所述识别所述工作流配置信息中流程节点之间的依赖关系,包括:
56.查询所述工作流配置信息中的多个流程节点,判断多个所述流程节点之间是否存在调用关系;当多个所述流程节点之间不存在调用关系,则确定多个所述流程节点之间不存在所述依赖关系;当多个所述流程节点之间存在调用关系,则确定多个所述流程节点之间存在所述依赖关系。
57.其中,工作流配置信息中的流程节点可以通过查询语句(如mysql查询语句)查询工作流配置信息中的流程节点定义基表。
58.进一步地,参考图2所示,所述根据所述依赖关系创建标准工作流程库,包括以下步骤s11-s13:
59.s11、获取所述依赖关系的源代码,根据所述源代码提取所述依赖关系包括的所有流程节点的节点标签;
60.s12、将所述节点标签执行继承及重置,得到依赖关系标记图;
61.s13、利用预设的工作流引擎将所述依赖关系标记图进行编译,生成所述标准工作流程库。
62.其中,所述依赖关系的源代码可以通过预设的开源软件(如github)获取;所述节点标签是指每个流程节点所属的业务工作流程,由于一些流程可能在不同的业务工作流程之间会被反复调用或者是在同一个业务工作流程之间反复涉及该流程节点,所以设置该节点标签进行流程节点标识。
63.本发明实施例种,所述依赖关系标记图包括所有流程节点之间的相互依赖关系,且每个流程节点代表一个标准工作流程的实际业务操作;对节点标签执行继承操作可以看做节点标签的归类,例如,节点标签1、节点标签2、节点标签3之间相互独立,但是都依赖于节点标签4,则节点标签4可以继承节点标签1、2、3的标签,并将节点标签4看作父节点,节点标签1、2、3作为节点标签4的子节点;对节点标签执行重置可以看作将节点标签继承之后的重置,比如节点标签4可以继承节点标签1[tag1]、节点标签2[tag2]、节点标签3[tag3]的标签,则节点标签4进行重置后为[tag1,tag2,tag3,tag4]。
[0064]
本发明一实施例中,所述预设的工作流引擎可以看做一种开发框架(如spring开发框架),主要作用是将依赖关系标记图编译成具有逻辑的可运行代码,并根据可运行代码通过该工作流引擎的插件视图将依赖关系标记图编排为对应的工作流程。
[0065]
本发明另一可选实施例中,根据所述依赖关系创建标准工作流程库之后,所述方
法还包括:
[0066]
判断所述依赖关系标记图的节点是否为关键节点,若所述节点为非关键节点,直接按照预设的标签标签划分标记子图;若所述节点为关键节点,则递归判断所述节点的父节点是否为关键节点;若所述节点的父节点不是关键节点,将所述节点与所述父节点连接的边断开,更新所述节点为父节点并将与所述节点相连接的其余节点划分标记子图;若所述节点的父节点是关键节点,直接将所述节点的父节点连接的所有节点划分为标记子图;根据所述标记子图的连接,得到更新依赖关系,根据所述更新依赖关系创建更新标准工作流程。
[0067]
其中,所述标记子图可以是根据依赖关系排列的业务类型关系子图;所述业务标签可以代表一种业务类型,且业务标签可以不唯一,在标记子图划分时,可以根据不同的业务类型划分不同的标记子图。
[0068]
具体地,例如,存在节点v1、v2、v3和v4对应的业务标签为a[taga]、b[tagb]、c[tagc]和d[tagd],其中v1是v2和v4的父节点,而v2又为v3的父节点,则v2节点可包括两个业务标签[tagb]和[tagb,tagc]。在划分标记子图时,尽可能将不是同一业务类型的节点筛选掉。若v2不是关键节点,首先找到v2的父节点(即v1),根据v2父节点v1的业务标签划分标记子图,即将原先的依赖关系标记图划分为一个标记子图;若v2为关键节点,因为v1是v2的父节点,先判断v1是不是关键节点,若v1不是关键节点,将节点v1和v4断开,划分v2和v3为一组标记子图;若v1是关键节点,断开v2与v3的连接,v3重新连接与自己同一实体类型的父节点,将v1、v2和v4直接划分为标记子图。
[0069]
进一步地,通过根据所述更新依赖关系创建更新标准工作流程,可以实现对现有的工作流程进行更新,更好的满足针对不同的业务流程需求进行个性化配置或开发。
[0070]
s2、接收待执行的业务请求,根据所述业务请求查询所述标准工作流程库中的目标工作流程。
[0071]
本发明实施例中,所述待执行的业务请求是指用户发出的待执行业务的工作流程请求,该请求可以为用户编写的json object(json对象)格式。所述目标工作流程是指可以响应该业务请求的工作流程。本发明实施例通根据所述业务请求查询所述标准工作流程库中的目标工作流程,可以
[0072]
作为本发明的一个实施例,所述根据所述业务请求查询所述标准工作流程库中的目标工作流程,包括:
[0073]
利用预设的工作流接口识别所述业务请求的业务类型,将所述业务类型与所述标准工作流程库中的业务类型进行匹配,根据匹配结果获取所述业务类型对应的业务流程编码;从所述标准工作流程库中选择所述业务流程编码对应的标准工作流程为所述目标工作流程。
[0074]
其中,所述预设的工作流接口是开发人员提前编写的连接标准工作流程库与前端的接口,通过该接口用户可以直接根据应用需求从标准工作流程库中调用目标工作流程,避免每个工作流程都开发不同的接口,提高工作流的数据处理效率。
[0075]
本发明一实施例中,所述业务类型是指业务请求的类型,比如,商品订购、订单更新、物流查询、优惠商品等业务类型,由于标准工作流程库中的标准工作流程都有对应的业务类型及工作流程名称,所以便于用户进行查找调用,将所述业务类型与所述标准工作流
程库中的业务类型进行匹配,在所述匹配一致时,可获取业务类型对应的业务流程编码,该业务流程编码可以看作为标准工作流程的唯一标识,并包括该标准工作流程的版本号。
[0076]
本发明一实施例中,在所述匹配不一致时,可以通过预设的通知界面通知开发人员,以添加新的业务工作流程。
[0077]
s3、查询所述目标工作流程的节点信息,识别所述节点信息中节点之间的业务逻辑。
[0078]
本发明实施例中,所述节点信息是指目标工作流程涉及的每个节点的描述信息,其中,节点是工作流程的一个基本单元,节点的主要作用是接收输入数据,对数据进行操作处理后,并将输出数据传递给下一个节点。所述业务逻辑是指目标工作流程中各个节点的执行的先后逻辑。
[0079]
本发明实施例通过查询所述目标工作流程的节点信息,识别所述节点信息中节点之间的业务逻辑,可以便于后续直接根据该业务逻辑对业务请求进行处理,提高工作流的执行效率。
[0080]
本发明一实施例中,可以通过预设的查询语句(如mysql查询语句)查询所述目标工作流程的节点信息。
[0081]
作为本发明的一个实施例,参考图3所示,所述识别所述节点信息中节点之间的业务逻辑,包括以下步骤s31-s33:
[0082]
s31、利用预设的查询函数查询所述节点信息的起始节点;
[0083]
s32、根据所述目标工作流程中的节点流转规则确定所述起始节点连接的下一个节点,并利用预设的循环函数将所述节点进行循环,直到所述循环完成,确定结束节点;
[0084]
s33、将所述起始节点流转至所述结束节点的过程作为所述节点之间业务逻辑。
[0085]
其中,所述预设的查询函数是指input函数,也可以承做输入函数;所述起始节点是指目标工作流在执行业务时的第一个节点;所述工作流转规则是指节点之间进行流转的规则,比如,目标工作流程中存在支流,则通过节点流转规则可以确定节点流转的路径。
[0086]
本发明一实施例中,所述预设的循环函数是指mapreduce循环函数,该函数包括map(映射)函数及reduce(循环)函数,主要作用是通过这两个函数将业务请求映射至不同的节点上执行。
[0087]
s4、根据所述业务逻辑执行所述业务请求,得到所述业务请求的执行结果。
[0088]
本发明实施例中,所述执行结果是指目标工作流程执行业务请求所得的结果。具体的执行结果是根据实际业务确定的,比如,业务请求为物流查询,则执行结果为物流信息。
[0089]
本发明实施例通过根据所述业务逻辑执行所述业务请求,得到所述业务请求的执行结果,可以减少工作流开发部署过程需要耗费大量时间的问题,以提高工作流的执行效率。
[0090]
作为本发明的一个实施例,所述根据所述业务逻辑执行所述业务请求,得到所述业务请求的执行结果,包括:
[0091]
获取所述目标工作流程中每个节点对应的执行动作;按照所述节点之间的业务逻辑,利用所述执行动作执行所述业务请求,得到所述业务请求的执行结果。
[0092]
其中,所述执行动作是指每个节点对业务请求执行的操作,比如,在电商领域中,
该执行动作可以为关闭订单、更新退款状态等,且该执行动作是开发人员提前编写的可执行程序。
[0093]
本发明另一可选实施例中,所述根据所述业务逻辑执行所述业务请求,得到所述业务请求的执行结果之前,所述方法还包括:
[0094]
利用预设的脚本引擎对所述业务逻辑进行语法校验;在所述语法校验未通过时,确定所述业务逻辑的语法存在问题;在所述语法校验通过时,确定所述业务逻辑的语法未存在问题。
[0095]
其中,所述脚本引擎可以为scriptengine,主要作用是校验业务逻辑的语法是否存在问题,进一步保证工作流程的正常执行;在所述语法校验未通过时,确定所述业务逻辑的语法存在问题,且可以将该存在语法的问题的业务逻辑返回至开发人员处,使开发人员完善该业务逻辑,保证工作流程的正常执行。
[0096]
本发明实施例中,首先通过基于所述业务数据集定义工作流配置信息,识别所述工作流配置信息中流程节点之间的依赖关系,根据所述依赖关系创建标准工作流程库,可以针对不同的业务流程需求进行个性化配置或开发,提高工作流开发效率;其次,根据待执行的业务请求查询所述标准工作流程库中的目标工作流程,可以实现直接选取目标工作流程,提高业务处理的效率;最后,通过识别节点信息中节点之间的业务逻辑,并根据所述业务逻辑执行所述业务请求,得到所述业务请求的执行结果,可以减少工作流开发部署过程需要耗费大量时间的问题,提高工作流的执行效率。因此本发明实施例提出的基于工作流的业务处理方法可以提高工作流的执行效率。
[0097]
本发明所述基于工作流的业务处理装置100可以安装于电子设备中。根据实现的功能,所述基于工作流的业务处理装置可以包括工作流程库创建模块101、目标工作流程查询模块102、业务逻辑识别模块103、目标工作流程执行模块104,本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
[0098]
在本实施例中,关于各模块/单元的功能如下:
[0099]
所述工作流程库创建模块101,用于获取业务数据集,基于所述业务数据集定义工作流配置信息,识别所述工作流配置信息中流程节点之间的依赖关系,根据所述依赖关系创建标准工作流程库。
[0100]
应当了解,所述业务数据集是指基于实际业务场景涉及的业务类型、业务信息等,比如,在电商业务场景中,该业务数据集包括商品订购、订单更新、物流查询、优惠商品等业务类型,以及业务执行的整个流程,对应的流程编码、流程名称、流程执行方法等业务信息,其中,所述业务数据集可以从业务系统的数据库中获取。
[0101]
本发明实施例中,所述工作流配置信息是指业务数据集中每个业务对应的工作流程配置信息,该工作流程配置信息可以包括工作流程定义基表(包括工作流程编码、名称、描述信息等)、工作定义基表(包括工作执行方法等)、流程节点定义基表(包括流程中的每个节点、每个节点的描述信息等)、流程子节点定义基表(包括每个子节点的描述信息)及节点流转配置表(包括节点流转规则、路由规则、执行规则及流程信息等)等配置信息。
[0102]
本发明实施例中,所述依赖关系是指每个标准工作流程中包括的流程节点之间的依赖关系;所述标准工作流程库可以为存储各种业务对应的标准工作流程的模板集合,该
标准工作流程是对部分或整体的各操作步骤间业务规则的概括描述,主要作用是将业务之间的操作流水线化,将每个业务流程划分成为若干个步骤,且每个步骤的流转都清晰展示;进一步,本发明实施例通过识别所述工作流配置信息中流程节点之间的依赖关系,并根据所述依赖关系创建标准工作流程库,可以针对不同的业务流程需求个性化配置或开发,提高工作流开发效率。
[0103]
本发明实施例中,所述基于所述业务数据集定义工作流配置信息,可以通过从所述业务数据集中归纳工作流程定义基表、工作定义基表、流程节点定义基表、流程子节点定义基表及节点流转配置表等一系列与工作流相关的数据表,以定义工作流配置信息。
[0104]
本发明实施例中,所述识别所述工作流配置信息中流程节点之间的依赖关系,包括:
[0105]
查询所述工作流配置信息中的多个流程节点,判断多个所述流程节点之间是否存在调用关系;当多个所述流程节点之间不存在调用关系,则确定多个所述流程节点之间不存在所述依赖关系;当多个所述流程节点之间存在调用关系,则确定多个所述流程节点之间存在所述依赖关系。
[0106]
其中,工作流配置信息中的流程节点可以通过查询语句(如mysql查询语句)查询工作流配置信息中的流程节点定义基表。
[0107]
进一步地,所述工作流程库创建模块101通过执行下述操作根据所述依赖关系创建标准工作流程库,包括:
[0108]
获取所述依赖关系的源代码,根据所述源代码提取所述依赖关系包括的所有流程节点的节点标签;
[0109]
将所述节点标签执行继承及重置,得到依赖关系标记图;
[0110]
利用预设的工作流引擎将所述依赖关系标记图进行编译,生成所述标准工作流程库。
[0111]
其中,所述依赖关系的源代码可以通过预设的开源软件(如github)获取;所述节点标签是指每个流程节点所属的业务工作流程,由于一些流程可能在不同的业务工作流程之间会被反复调用或者是在同一个业务工作流程之间反复涉及该流程节点,所以设置该节点标签进行流程节点标识。
[0112]
本发明实施例种,所述依赖关系标记图包括所有流程节点之间的相互依赖关系,且每个流程节点代表一个标准工作流程的实际业务操作;对节点标签执行继承操作可以看做节点标签的归类,例如,节点标签1、节点标签2、节点标签3之间相互独立,但是都依赖于节点标签4,则节点标签4可以继承节点标签1、2、3的标签,并将节点标签4看作父节点,节点标签1、2、3作为节点标签4的子节点;对节点标签执行重置可以看作将节点标签继承之后的重置,比如节点标签4可以继承节点标签1[tag1]、节点标签2[tag2]、节点标签3[tag3]的标签,则节点标签4进行重置后为[tag1,tag2,tag3,tag4]。
[0113]
本发明一实施例中,所述预设的工作流引擎可以看做一种开发框架(如spring开发框架),主要作用是将依赖关系标记图编译成具有逻辑的可运行代码,并根据可运行代码通过该工作流引擎的插件视图将依赖关系标记图编排为对应的工作流程。
[0114]
所述工作流程库创建模块101还可用于:
[0115]
所述根据所述依赖关系创建标准工作流程库之后,判断所述依赖关系标记图的节
点是否为关键节点,若所述节点为非关键节点,直接按照预设的标签标签划分标记子图;若所述节点为关键节点,则递归判断所述节点的父节点是否为关键节点;若所述节点的父节点不是关键节点,将所述节点与所述父节点连接的边断开,更新所述节点为父节点并将与所述节点相连接的其余节点划分标记子图;若所述节点的父节点是关键节点,直接将所述节点的父节点连接的所有节点划分为标记子图;根据所述标记子图的连接,得到更新依赖关系,根据所述更新依赖关系创建更新标准工作流程。
[0116]
其中,所述标记子图可以是根据依赖关系排列的业务类型关系子图;所述业务标签可以代表一种业务类型,且业务标签可以不唯一,在标记子图划分时,可以根据不同的业务类型划分不同的标记子图。
[0117]
具体地,例如,存在节点v1、v2、v3和v4对应的业务标签为a[taga]、b[tagb]、c[tagc]和d[tagd],其中v1是v2和v4的父节点,而v2又为v3的父节点,则v2节点可包括两个业务标签[tagb]和[tagb,tagc]。在划分标记子图时,尽可能将不是同一业务类型的节点筛选掉。若v2不是关键节点,首先找到v2的父节点(即v1),根据v2父节点v1的业务标签划分标记子图,即将原先的依赖关系标记图划分为一个标记子图;若v2为关键节点,因为v1是v2的父节点,先判断v1是不是关键节点,若v1不是关键节点,将节点v1和v4断开,划分v2和v3为一组标记子图;若v1是关键节点,断开v2与v3的连接,v3重新连接与自己同一实体类型的父节点,将v1、v2和v4直接划分为标记子图。
[0118]
进一步地,通过根据所述更新依赖关系创建更新标准工作流程,可以实现对现有的工作流程进行更新,更好的满足针对不同的业务流程需求进行个性化配置或开发。
[0119]
所述目标工作流程查询模块102,用于接收待执行的业务请求,根据所述业务请求查询所述标准工作流程库中的目标工作流程。
[0120]
本发明实施例中,所述待执行的业务请求是指用户发出的待执行业务的工作流程请求,该请求可以为用户编写的json object(json对象)格式。所述目标工作流程是指可以响应该业务请求的工作流程。本发明实施例通根据所述业务请求查询所述标准工作流程库中的目标工作流程,可以
[0121]
作为本发明的一个实施例,所述目标工作流程查询模块102通过执行下述操作根据所述业务请求查询所述标准工作流程库中的目标工作流程,包括:
[0122]
利用预设的工作流接口识别所述业务请求的业务类型,将所述业务类型与所述标准工作流程库中的业务类型进行匹配,根据匹配结果获取所述业务类型对应的业务流程编码;从所述标准工作流程库中选择所述业务流程编码对应的标准工作流程为所述目标工作流程。
[0123]
其中,所述预设的工作流接口是开发人员提前编写的连接标准工作流程库与前端的接口,通过该接口用户可以直接根据应用需求从标准工作流程库中调用目标工作流程,避免每个工作流程都开发不同的接口,提高工作流的数据处理效率。
[0124]
本发明一实施例中,所述业务类型是指业务请求的类型,比如,商品订购、订单更新、物流查询、优惠商品等业务类型,由于标准工作流程库中的标准工作流程都有对应的业务类型及工作流程名称,所以便于用户进行查找调用,将所述业务类型与所述标准工作流程库中的业务类型进行匹配,在所述匹配一致时,可获取业务类型对应的业务流程编码,该业务流程编码可以看作为标准工作流程的唯一标识,并包括该标准工作流程的版本号。
[0125]
本发明一实施例中,在所述匹配不一致时,可以通过预设的通知界面通知开发人员,以添加新的业务工作流程。
[0126]
所述业务逻辑识别模块103,用于查询所述目标工作流程的节点信息,识别所述节点信息中节点之间的业务逻辑。
[0127]
本发明实施例中,所述节点信息是指目标工作流程涉及的每个节点的描述信息,其中,节点是工作流程的一个基本单元,节点的主要作用是接收输入数据,对数据进行操作处理后,并将输出数据传递给下一个节点。所述业务逻辑是指目标工作流程中各个节点的执行的先后逻辑。
[0128]
本发明实施例通过查询所述目标工作流程的节点信息,识别所述节点信息中节点之间的业务逻辑,可以便于后续直接根据该业务逻辑对业务请求进行处理,提高工作流的执行效率。
[0129]
本发明一实施例中,可以通过预设的查询语句(如mysql查询语句)查询所述目标工作流程的节点信息。
[0130]
作为本发明的一个实施例,所述业务逻辑识别模块103通过执行下述操作识别所述节点信息中节点之间的业务逻辑,包括:
[0131]
利用预设的查询函数查询所述节点信息的起始节点;
[0132]
根据所述目标工作流程中的节点流转规则确定所述起始节点连接的下一个节点,并利用预设的循环函数将所述节点进行循环,直到所述循环完成,确定结束节点;
[0133]
将所述起始节点流转至所述结束节点的过程作为所述节点之间业务逻辑。
[0134]
其中,所述预设的查询函数是指input函数,也可以承做输入函数;所述起始节点是指目标工作流在执行业务时的第一个节点;所述工作流转规则是指节点之间进行流转的规则,比如,目标工作流程中存在支流,则通过节点流转规则可以确定节点流转的路径。
[0135]
本发明一实施例中,所述预设的循环函数是指mapreduce循环函数,该函数包括map(映射)函数及reduce(循环)函数,主要作用是通过这两个函数将业务请求映射至不同的节点上执行。
[0136]
所述目标工作流程执行模块104,用于根据所述业务逻辑执行所述业务请求,得到所述业务请求的执行结果。
[0137]
本发明实施例中,所述执行结果是指目标工作流程执行业务请求所得的结果。具体的执行结果是根据实际业务确定的,比如,业务请求为物流查询,则执行结果为物流信息。
[0138]
本发明实施例通过根据所述业务逻辑执行所述业务请求,得到所述业务请求的执行结果,可以减少工作流开发部署过程需要耗费大量时间的问题,以提高工作流的执行效率。
[0139]
作为本发明的一个实施例,所述目标工作流程执行模块104通过执行下述操作根据所述业务逻辑执行所述业务请求,得到所述业务请求的执行结果,包括:
[0140]
获取所述目标工作流程中每个节点对应的执行动作;按照所述节点之间的业务逻辑,利用所述执行动作执行所述业务请求,得到所述业务请求的执行结果。
[0141]
其中,所述执行动作是指每个节点对业务请求执行的操作,比如,在电商领域中,该执行动作可以为关闭订单、更新退款状态等,且该执行动作是开发人员提前编写的可执
architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述通信总线12总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0151]
图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0152]
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
[0153]
可选地,所述通信接口13可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
[0154]
可选地,所述通信接口13还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
[0155]
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
[0156]
所述电子设备中的所述存储器11存储的基于工作流的业务处理程序是多个计算机程序的组合,在所述处理器10中运行时,可以实现:
[0157]
获取业务数据集,基于所述业务数据集定义工作流配置信息,识别所述工作流配置信息中流程节点之间的依赖关系,根据所述依赖关系创建标准工作流程库;
[0158]
接收待执行的业务请求,根据所述业务请求查询所述标准工作流程库中的目标工作流程;
[0159]
查询所述目标工作流程的节点信息,识别所述节点信息中节点之间的业务逻辑;
[0160]
根据所述业务逻辑执行所述业务请求,得到所述业务请求的执行结果。
[0161]
具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
[0162]
进一步地,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取介质中。所述计算机可读介质可以是非易失性的,也可以是易失性的。所述计算机可读介质可以包括:能够携待所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
[0163]
本发明实施例还可以提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
[0164]
获取业务数据集,基于所述业务数据集定义工作流配置信息,识别所述工作流配
置信息中流程节点之间的依赖关系,根据所述依赖关系创建标准工作流程库;
[0165]
接收待执行的业务请求,根据所述业务请求查询所述标准工作流程库中的目标工作流程;
[0166]
查询所述目标工作流程的节点信息,识别所述节点信息中节点之间的业务逻辑;
[0167]
根据所述业务逻辑执行所述业务请求,得到所述业务请求的执行结果。
[0168]
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
[0169]
在本发明所提供的几个实施例中,应该理解到,所揭露的介质、设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0170]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0171]
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0172]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
[0173]
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
[0174]
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0175]
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
[0176]
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献