1.本发明实施例涉及自动程序设计技术领域,尤其涉及一种业务流程编排方法、装置、设备及存储介质。
背景技术:2.随着科学技术的发展以及人们物质生活水平的不断提高,诸如购车分期、装修分期、分期通、车位分期以及租房分期等分期业务在银行等金融机构中得到了广泛应用。在各分期业务上线之前,如何对各业务进行分期,得到了业界的广泛关注。
3.现阶段,在各分期业务上线之前,需要为分期业务设计完整的流程(流程中包括多个实体),将各实体强耦合连接在一起,从而形成与一个分期业务对应的业务流程;由于这种方法将各个实体强耦合在一起,一旦某一实体发生功能变化时,将导致下游实体全部发生变化,维护成本较高,并且可扩展性以及复用性较差。
技术实现要素:4.本发明实施例提供一种业务流程编排方法、装置、设备及存储介质,以实现对待上线的业务进行流程编排。
5.第一方面,本发明实施例提供了一种业务流程编排方法,包括:
6.响应于与目标业务对应的目标事件的待执行指令,确定与所述目标事件对应的目标元数据;
7.确定与所述目标元数据对应的目标实体,并指示所述目标实体执行所述目标事件;
8.响应于与所述目标业务对应的全部事件的执行完成指令,生成与所述目标业务对应的业务流程。
9.第二方面,本发明实施例还提供了一种业务流程编排装置,包括:
10.目标元数据确定模块,用于响应于与目标业务对应的目标事件的待执行指令,确定与所述目标事件对应的目标元数据;
11.目标实体确定模块,用于确定与所述目标元数据对应的目标实体,并指示所述目标实体执行所述目标事件;
12.业务流程生成模块,用于响应于与所述目标业务对应的全部事件的执行完成指令,生成与所述目标业务对应的业务流程。
13.第三方面,本发明实施例还提供了一种业务流程编排设备,所述业务流程编排设备包括:
14.一个或多个处理器;
15.存储装置,用于存储一个或多个程序,
16.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一实施例所述的业务流程编排方法。
17.第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例中任一实施例所述的业务流程编排方法。
18.本发明实施例通过响应于与目标业务对应的目标事件的待执行指令,确定与目标事件对应的目标元数据;确定与目标元数据对应的目标实体,并指示目标实体执行目标事件;可以通过目标事件驱动目标实体,无需各个实体之间进行强耦合;响应于与目标业务对应的全部事件的执行完成指令,生成与目标业务对应的业务流程,实现了对待上线的业务进行流程编排,维护成本低、可扩展性以及复用性较好。
附图说明
19.图1是本发明实施例一中的一种业务流程编排方法的流程图;
20.图2是本发明实施例二中的一种业务流程编排方法的流程图;
21.图3是本发明实施例三中的一种业务流程编排方法的流程图;
22.图4是本发明实施例四中的一种业务流程编排方法的流程图;
23.图5是本发明实施例五中的一种业务流程编排装置的结构示意图;
24.图6是本发明实施例六中的一种业务流程编排设备的结构示意图。
具体实施方式
25.下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
26.实施例一
27.图1为本发明实施例一提供的一种业务流程编排方法的流程图,本实施例可适用于对待上线的业务产品进行流程编排的情况,该方法可以由业务流程编排装置来执行,该装置可以通过软件和/或硬件的方式实现,并集成在执行本方法的业务流程编排设备中,在本实施例中,业务流程编排设备可以为计算机、服务器或者平板电脑等电子设备。具体的,参考图1,该方法具体包括如下步骤:
28.步骤110、响应于与目标业务对应的目标事件的待执行指令,确定与目标事件对应的目标元数据。
29.其中,目标业务可以为待上线的分期业务、贷款业务或者租赁业务等,本实施例中对其不加以限定。目标事件可以为指示消息,该消息中不包含待执行的实体的相关信息,例如待执行的实体的名称或者位置等属性信息。
30.在本实施例的一个可选实现方式中,在监听到与目标业务对应的目标事件的待执行指令时,即对目标事件进行响应,确定与目标事件对应的目标元数据;其中,与目标事件对应的目标元数据可以包括事件编号或者事件类型等,本实施例中对其不加以限定。
31.需要说明的是,在本实施例中,与一个目标业务对应的目标时间可以为多个,例如,10个、12个或者20个等,本实施例中对其不加以限定。
32.在本实施例的一个可选实现方式中,在监听到与目标业务对应的目标事件的待执行指令时,可以在数据库中获取与目标事件对应的目标元数据,例如,可以在数据库中获取
目标事件的事件类型或者事件编号等。
33.步骤120、确定与目标元数据对应的目标实体,并指示目标实体执行目标事件。
34.其中,目标实体可以为目标业务的业务流程中的任一实体,例如,受理申请、交叉检查、评分、征信、审批、建档、请款、调额或者放款等,本实施例中对其不加以限定。需要说明的是,本实施例中涉及到的各实体之间相互独立,且无耦合关系;同时,每一个目标实体可以同时参与多个业务流程,例如,较差检查实体可以同时参与购房分期以及购车分期两个业务流程,本实施例中对其不加以限定。
35.在本实施例的一个可选实现方式中,在确定与目标事件对应的目标元数据之后,可以进一步的确定与目标元数据对应的目标实体,即根据目标元数据确定与其对应的目标实体,并进一步的指示目标实体执行目标事件。
36.示例性的,在确定与目标事件对应的目标元数据之后,可以进一步的根据目标事件的事件编号确定目标实体,例如,事件编号为024,则可以在事件编号与实体对应表中查找目标实体;若确定与事件编号024对应的目标实体为交叉检查,则进一步的可以通过交叉检查实体执行监听到的目标事件。
37.步骤130、响应于与目标业务对应的全部事件的执行完成指令,生成与目标业务对应的业务流程。
38.在本实施例的一个可选实现方式中,如果与目标业务对应的全部事件都执行完毕,即在接收到与目标业务对应的全部事件的执行完成指令之后,可以进一步的生成与目标业务对应的业务流程。
39.在本实施例的一个可选实现方式中,响应于与目标业务对应的全部事件的执行完成指令,生成与目标业务对应的业务流程,可以包括:当与目标业务对应的全部事件执行完毕之后,确定各实体执行各事件的时间;按照设定顺序对各实体进行排序,生成与目标业务对应的业务流程。
40.在本实施例的一个可选实现方式中,当与目标业务对应的全部事件执行完毕之后,可以进一步的确定各实体执行事件的时间,并按照时间先后顺序进行排序,从而生成与目标业务对应的业务流程,其中,预设顺序可以为时间先后顺序。
41.本实施例的方案通过响应于与目标业务对应的目标事件的待执行指令,确定与目标事件对应的目标元数据;确定与目标元数据对应的目标实体,并指示目标实体执行目标事件;可以通过目标事件驱动目标实体,无需各个实体之间进行强耦合;响应于与目标业务对应的全部事件的执行完成指令,生成与目标业务对应的业务流程,实现了对待上线的业务进行流程编排,维护成本低、可扩展性以及复用性较好。
42.实施例二
43.图2是本发明实施例二中的一种业务流程编排方法的流程图,本实施例是对上述各技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图2所示,业务流程编排方法可以包括如下步骤:
44.步骤210、通过预先设置的事件监听器对目标事件进行监听。
45.其中,事件监听器可以为软件模块,也可以为硬件模块,本实施例中对其不加以限定。
46.在本实施例的一个可选实现方式中,可以通过预先设置的事件监听器对目标事件
进行监听,一旦事件监听器监听到任一事件的待执行指令,即可发出确定与目标事件对应的目标元数据的指令,以使其他模块进行目标元数据的确定的操作。
47.步骤220、根据与目标事件对应的路由规则从事件注册器中获取与目标事件对应的元数据。
48.其中,事件注册器中预先注册有多个事件。
49.在本实施例的一个可选实现方式中,当事件监听器监听到与目标业务对应的目标事件的待执行指令之后,可以进一步的确定与目标事件对应的路由规则,并从事件注册器中获取与目标事件对应的元数据。
50.步骤230、确定与目标元数据对应的目标实体,并指示目标实体执行目标事件。
51.在本实施例的一个可选实现方式中,目标元数据中可以包括事件类型;相应的,确定与目标元数据对应的目标实体,并指示目标实体执行目标事件,可以包括:根据与目标元数据对应的事件类型,对目标元数据进行初始化,生成与目标事件对应的事件编号;根据事件编号确定目标实体,并向目标实体发送执行目标事件的指令信息。
52.在本实施例的一个可选实现方式中,在根据与目标事件对应的路由规则从事件注册器中获取与目标事件对应的元数据之后,可以根据目标元数据的数据类型,对目标元数据进行初始化,从而生成与目标事件对应的事件编号,进一步的,可以根据事件编号确定目标实体,例如,可以根据各事件编号与各实体的对应关系,确定目标实体,进一步的,可以向目标实体发送执行目标事件的指令信息。
53.步骤240、响应于与目标业务对应的全部事件的执行完成指令,生成与目标业务对应的业务流程。
54.本实施例的方案,确定与目标元数据对应的目标实体,并指示目标实体执行目标事件,可以包括:根据与目标元数据对应的事件类型,对目标元数据进行初始化,生成与目标事件对应的事件编号;根据事件编号确定目标实体,并向目标实体发送执行目标事件的指令信息,实现了通过事件来驱动各个实体,可以将不同功能的实体进行解耦,从而降低维护成本,实现了业务产品的快速定制化。
55.实施例三
56.图3是本发明实施例三中的一种业务流程编排方法的流程图,本实施例是对上述各技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图3所示,业务流程编排方法可以包括如下步骤:
57.步骤310、响应于与目标业务对应的目标事件的待执行指令,确定与目标事件对应的目标元数据。
58.步骤320、确定与目标元数据对应的目标实体,并指示目标实体执行目标事件。
59.步骤330、继续执行响应于与目标业务对应的目标事件的待执行指令的操作,直至与目标业务对应的全部事件执行完毕为止。
60.在本实施例的一个可选实现方式中,在确定与目标元数据对应的目标实体,并指示目标实体执行目标事件之后,还可以继续执行响应于与目标业务对应的目标事件的待执行指令的操作,即继续监听与目标业务对应的目标事件的待执行指令,并在监听到目标事件之后,继续确定与新监听到的目标事件对应的目标元数据,直至与目标业务对应的全部事件执行完毕为止。
61.在本实施例的另一个可选实现方式中,在确定与目标元数据对应的目标实体,并指示目标实体执行目标事件之后,还可以生成与目标事件匹配的参考事件,并确定与参考事件对应的参考元数据;确定与参考元数据对应的参考实体,并指示参考实体执行参考事件。
62.示例性的,在目标实体结束对目标事件的执行时,可以生成与目标事件匹配的参考事件,例如,若目标实体为受理申请,那么与目标事件匹配的参考时间可以为受理申请已结束;若目标实体为交叉检查,那么与目标事件匹配的参考时间可以为交叉检查已结束;进一步的,可以确定与参考事件对应的参考元数据;其中,确定与参考事件对应的参考元数据的方法可以与确定与目标事件的对应的元数据的方法一致,本实施例中在此不再对其进行赘述。
63.进一步的,可以确定与参考元数据对应的参考实体,并指示参考实体执行参考事件。
64.这样设置的好处在于,在于目标业务对应的事件不全面的情况下,依然可以快速地生成与目标业务对应的业务流程,处理效率较高。
65.步骤340、响应于与目标业务对应的全部事件的执行完成指令,生成与目标业务对应的业务流程。
66.本实施例的方案,在在确定与目标元数据对应的目标实体,并指示目标实体执行目标事件之后,还可以继续执行响应于与目标业务对应的目标事件的待执行指令的操作,直至与目标业务对应的全部事件执行完毕为止,可以快速地对目标业务的全部事件进行响应,为快速地得到与目标业务对应的业务流程提供依据。
67.实施例四
68.图4是本发明实施例四中的一种业务流程编排方法的流程图,本实施例是对上述各技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图4所示,业务流程编排方法可以包括如下步骤:
69.步骤410、响应于与目标业务对应的目标事件的待执行指令,确定与目标事件对应的目标元数据。
70.步骤420、确定与目标元数据对应的目标实体,并指示目标实体执行目标事件。
71.步骤430、响应于与目标业务对应的全部事件的执行完成指令,生成与目标业务对应的业务流程。
72.步骤440、响应于业务流程的扩展指令,获取扩展事件,并确定与扩展事件对应的扩展实体;将扩展实体添加至业务流程中,生成与目标业务对应的新的业务流程。
73.其中,扩展实体可以为除与目标业务对应的业务流程的各实体之外的任一实体,本实施例中对其不加以限定。
74.在本实施例的一个可选实现方式中,在生成与目标业务对应的业务流程之后,可以进一步的对业务流程的扩展指令进行响应,如果接收到了针对目标业务的业务流程的扩展指令,则可以进一步的获取扩展事件,并确定与扩展事件对应的扩展实体,并将扩展实体添加至业务流程中,从而生成与目标业务对应的新的业务流程。
75.本实施例的方案,在生成与目标业务对应的业务流程之后,响应于业务流程的扩展指令,获取扩展事件,并确定与扩展事件对应的扩展实体;将扩展实体添加至业务流程
中,生成与目标业务对应的新的业务流程,实现了业务流程的快速扩展,并且不会对原有的业务流程产生影响。
76.在上述技术方案的基础上,在生成与目标业务对应的业务流程之后,还可以包括:响应于业务流程的修改指令,获取修改事件,并确定与修改事件对应的修改实体;将修改实体将业务流程中的对应实体进行替换,生成与目标业务对应的新的业务流程。
77.其中,修改实体可以为与目标业务对应的业务流程的各实体中的任一实体,本实施例中对其不加以限定。
78.在本实施例的一个可选实现方式中,在生成与目标业务对应的业务流程之后,可以进一步的对业务流程的修改指令进行响应,如果接收到了针对目标业务的业务流程的修改指令,则可以进一步的获取修改事件,并确定与修改事件对应的修改实体,并将修改实体添加至业务流程中,从而生成与目标业务对应的新的业务流程。
79.这样设置的好处在于,可以快速地对业务流程中的任一实体进行修改,并且不会对其他实体产生影响,增强了业务流程的可维护性。
80.为了更好地理解本发明实施例,以目前的专项分期产品系统为例,审批流程可分为:受理申请、交叉检查、评分、征信、审批、建档、请款、调额、放款等环节。目前专项分期产品的维护是基于产品工厂来分别配置产品参数和业务参数,并通过相对灵活的可定制化流程配置来实现新产品和新流程的关联。然而,产品和流程的可配置化设计依赖于系统下沉后的领域层所划分出来的各个限界上下文后,对聚合实体的复用来实现的。这种方式目前存在不足的地方有:
81.(1)、实体与实体的调用为直接引用,当实体数量达到一定规模时,使用这种强耦合的方式所带来的维护成本会指数级增加。例如,多个实体都依赖公共实体的短信发送功能,若采用直接引用的方法,当依赖的实体越来越多时,维护短信发送功能所带来的成本也会越来越高。
82.(2)、现有工作流引擎虽然支持节点灵活可配置且支持产品关联,然而工作流框架限制了其流程节点必须实现其接口才能提供流程节点应有的功能。这样一方面也会时业务代码和流程代码耦合,同时新增流程节点时,还需要开发对应的流程代码,不利于其扩展。
83.本发明实施例的方案,设计了一种低耦合可扩展的业务流程编排架构设计方法,着力于领域层,将领域实体之间进行解耦,同时使领域实体支持流程节点的扩展,降低维护成本,从而实现产品的快速定制化。
84.实施例五
85.图5是本发明实施例五中的一种业务流程编排装置的结构示意图,该装置可以执行上述各实施例中涉及到的业务流程编排方法。参照图5,该装置包括:目标元数据确定模块510、目标实体确定模块520以及业务流程生成模块530。
86.目标元数据确定模块510,用于响应于与目标业务对应的目标事件的待执行指令,确定与所述目标事件对应的目标元数据;
87.目标实体确定模块520,用于确定与所述目标元数据对应的目标实体,并指示所述目标实体执行所述目标事件;
88.业务流程生成模块530,用于响应于与所述目标业务对应的全部事件的执行完成指令,生成与所述目标业务对应的业务流程。
89.本发明实施例的方案,通过目标元数据确定模块响应于与目标业务对应的目标事件的待执行指令,确定与所述目标事件对应的目标元数据;通过目标实体确定模块确定与所述目标元数据对应的目标实体,并指示所述目标实体执行所述目标事件;通过业务流程生成模块响应于与所述目标业务对应的全部事件的执行完成指令,生成与所述目标业务对应的业务流程,可以通过目标事件驱动目标实体,无需各个实体之间进行强耦合,实现了对待上线的业务进行流程编排,维护成本低、可扩展性以及复用性较好。
90.在本实施例的一个可选实现方式中,目标元数据确定模块510,具体用于
91.根据与所述目标事件对应的路由规则从事件注册器中获取与所述目标事件对应的元数据;
92.其中,所述事件注册器中预先注册有多个事件。
93.在本实施例的一个可选实现方式中,所述目标元数据包括事件类型;
94.目标实体确定模块520,具体用于根据与所述目标元数据对应的事件类型,对所述目标元数据进行初始化,生成与所述目标事件对应的事件编号;
95.根据所述事件编号确定所述目标实体,并向所述目标实体发送执行所述目标事件的指令信息。
96.在本实施例的一个可选实现方式中,业务流程编排装置,还包括:继续执行模块,用于
97.继续执行响应于与目标业务对应的目标事件的待执行指令的操作,直至与目标业务对应的全部事件执行完毕为止。
98.在本实施例的一个可选实现方式中,业务流程编排装置,还包括:参考事件生成模块,用于
99.生成与目标事件匹配的参考事件,并确定与所述参考事件对应的参考元数据;
100.确定与所述参考元数据对应的参考实体,并指示所述参考实体执行所述参考事件。
101.在本实施例的一个可选实现方式中,业务流程生成模块530,具体用于
102.当与所述目标业务对应的全部事件执行完毕之后,确定各实体执行各所述事件的时间;
103.按照设定顺序对各所述实体进行排序,生成与所述目标业务对应的业务流程。
104.在本实施例的一个可选实现方式中,目标元数据确定模块510,还具体用于
105.通过预先设置的事件监听器对所述目标事件进行监听。
106.在本实施例的一个可选实现方式中,业务流程编排装置,还包括:扩展模块,用于
107.响应于所述业务流程的扩展指令,获取扩展事件,并确定与所述扩展事件对应的扩展实体;
108.将所述扩展实体添加至所述业务流程中,生成与所述目标业务对应的新的业务流程。
109.在本实施例的一个可选实现方式中,业务流程编排装置,还包括:修改模块,用于
110.响应于所述业务流程的修改指令,获取修改事件,并确定与所述修改事件对应的修改实体;
111.将所述修改实体将所述业务流程中的对应实体进行替换,生成与所述目标业务对
应的新的业务流程。
112.在本实施例的一个可选实现方式中,所述目标实体包括下述至少一项:
113.受理申请、交叉检查、评分、征信、审批、建档、请款、调额以及放款。
114.在本实施例的一个可选实现方式中,各所述目标实体之间相互独立、无耦合关系。
115.在本实施例的一个可选实现方式中,所述目标实体同时参与多个业务流程。
116.本发明实施例所提供的业务流程编排装置可执行本发明任意实施例所提供的业务流程编排方法,具备执行方法相应的功能模块和有益效果。
117.实施例六
118.图6为本发明实施例六提供的一种业务流程编排设备的结构示意图,如图6所示,该业务流程编排设备包括处理器60、存储器61、输入装置62和输出装置63;业务流程编排设备中处理器60的数量可以是一个或多个,图6中以一个处理器60为例;业务流程编排设备中的处理器60、存储器61、输入装置62和输出装置63可以通过总线或其他方式连接,图6中以通过总线连接为例。
119.存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的业务流程编排方法对应的程序指令/模块(例如,业务流程编排装置中的目标元数据确定模块510、目标实体确定模块520以及业务流程生成模块530)。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行业务流程编排设备的各种功能应用以及数据处理,即实现上述的业务流程编排方法。
120.存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至业务流程编排设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
121.输入装置62可用于接收输入的数字或字符信息,以及产生与业务流程编排设备的用户设置以及功能控制有关的键信号输入。输出装置63可包括显示屏等显示设备。
122.实施例七
123.本发明实施例七还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种业务流程编排方法,该方法包括:
124.响应于与目标业务对应的目标事件的待执行指令,确定与所述目标事件对应的目标元数据;
125.确定与所述目标元数据对应的目标实体,并指示所述目标实体执行所述目标事件;
126.响应于与所述目标业务对应的全部事件的执行完成指令,生成与所述目标业务对应的业务流程。
127.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的业务流程编排方法中的相关操作。
128.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明
可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read
‑
only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
129.值得注意的是,上述业务流程编排装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
130.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。