本发明涉及应用开发,尤指一种可配置化程序流程处理方法、装置及系统。
背景技术:
1、随着社会发展与计算机技术的不断进步,各行各业涌现出越来越多的信息化的需求。其中很多一大部分需求中都涉及流程化的管理,例如货舱管理、电子合同审批和业务流程审批等。
2、目前开发这些流程化的需求的常用办法是利用线性的思维模式,使用一些程序设计语言来编写具体的代码逻辑。当有新的流程时可能要重写新的代码逻辑或者复用一小部分公共部分。但是随着应用开发的不断深入,越来越复杂的流程会带来代码繁琐臃肿和逻辑混乱的问题,也不利于后续的开发人员去梳理和维护代码。
技术实现思路
1、针对现有技术中存在的问题,本发明实施例的主要目的在于提供一种可配置化程序流程处理方法、装置及系统,提高代码的可复用化,利于后续进行逻辑梳理。
2、为了实现上述目的,本发明实施例提供一种可配置化程序流程处理方法,方法包括:
3、根据接收到的调用请求,并利用预设的配置表,对调用请求进行状态名匹配,确定所述调用请求对应的状态模块名;
4、利用反射调用方式,调用与状态模块名对应的状态模块,以使被调用的状态模块利用调用请求进行前置操作处理及事件名匹配,确定对应的事件模块;
5、接收状态模块反馈的返回值,并将返回值发送至调用方;其中,返回值是通过调用事件模块对调用请求进行处理得到的。
6、可选的,在本发明一实施例中,调用请求包括请求参数及触发器枚举名。
7、可选的,在本发明一实施例中,配置表包括触发条件与状态模块名关联表、状态模块与事件模块关联表、事件模块表及任务表。
8、可选的,在本发明一实施例中,利用预设的配置表,对调用请求进行状态名匹配,确定调用请求对应的状态模块名包括:
9、对触发器枚举名进行校验,得到校验结果;
10、若校验结果为校验通过,则利用配置表中的触发条件与状态模块名关联表,对调用请求中的触发器枚举名进行状态名匹配,确定触发器枚举名对应的状态模块名。
11、可选的,在本发明一实施例中,状态模块与事件模块关联表中的字段包括状态模块名、初始状态名、目标状态名、状态模块类全名和事件模块名;事件模块表中的字段包括事件模块名及事件模块类全名;任务表中的字段包括任务id、任务当前状态、信息json串及当前处理状态。
12、可选的,在本发明一实施例中,返回值包括返回码、返回码备注及传递对象字段。
13、本发明实施例还提供一种可配置化程序流程处理系统,系统包括:控制模块、状态模块及事件模块;
14、控制模块根据接收到的调用请求,并利用预设的配置表,对调用请求进行状态名匹配,确定调用请求对应的状态模块名;利用反射调用方式,调用与状态模块名对应的状态模块;
15、状态模块利用预设的配置表,对调用请求进行前置操作处理及事件名匹配,确定对应的事件模块名,并利用反射调用方式调用事件模块;
16、事件模块对调用请求进行处理,得到返回值,并将返回值反馈至状态模块;
17、状态模块对返回值进行后置处理,并将后置处理后的返回值发送至控制模块,以使控制模块将所述返回值发送至调用方。
18、可选的,在本发明一实施例中,系统还包括触发器模块,用于接收调用方发送的触发器枚举名及请求参数,并根据预设的触发条件,将触发器枚举名及请求参数发送至控制模块。
19、可选的,在本发明一实施例中,系统还包括加载模块,用于存储预设的配置表;其中,配置表包括触发条件与状态模块名关联表、状态模块与事件模块关联表、事件模块表及任务表。
20、本发明实施例还提供一种可配置化程序流程处理装置,装置包括:
21、配置表模块,用于根据接收到的调用请求,并利用预设的配置表,对调用请求进行状态名匹配,确定调用请求对应的状态模块名;
22、调用模块,利用反射调用方式,调用与状态模块名对应的状态模块,以使被调用的状态模块利用调用请求进行前置操作处理及事件名匹配,确定对应的事件模块;
23、返回值模块,用于接收状态模块反馈的返回值,并将返回值发送至调用方;其中,返回值是通过调用事件模块对调用请求进行处理得到的。
24、可选的,在本发明一实施例中,调用请求包括请求参数及触发器枚举名。
25、可选的,在本发明一实施例中,配置表模块包括:
26、校验单元,用于对触发器枚举名进行校验,得到校验结果;
27、匹配单元,用于若校验结果为校验通过,则利用配置表中的触发条件与状态模块名关联表,对调用请求中的触发器枚举名进行状态名匹配,确定触发器枚举名对应的状态模块名。
28、可选的,在本发明一实施例中,返回值包括返回码、返回码备注及传递对象字段。
29、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述方法。
30、本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有由计算机执行上述方法的计算机程序。
31、本发明还提供一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述方法的步骤。
32、本发明通过动态化的配置来建立关联关系表,既可以实现代码的复用也可以加快后续流程的开发进度,提高代码的可复用化,减少代码的繁琐臃肿,同时关联关系表也有利于后续的进行逻辑梳理,提高工作效率。
1.一种可配置化程序流程处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述调用请求包括请求参数及触发器枚举名。
3.根据权利要求2所述的方法,其特征在于,所述配置表包括触发条件与状态模块名关联表、状态模块与事件模块关联表、事件模块表及任务表。
4.根据权利要求3所述的方法,其特征在于,所述利用预设的配置表,对所述调用请求进行状态名匹配,确定所述调用请求对应的状态模块名包括:
5.根据权利要求3所述的方法,其特征在于,所述状态模块与事件模块关联表中的字段包括状态模块名、初始状态名、目标状态名、状态模块类全名和事件模块名;所述事件模块表中的字段包括事件模块名及事件模块类全名;所述任务表中的字段包括任务id、任务当前状态、信息json串及当前处理状态。
6.根据权利要求1所述的方法,其特征在于,所述返回值包括返回码、返回码备注及传递对象字段。
7.一种可配置化程序流程处理系统,其特征在于,所述系统包括:控制模块、状态模块及事件模块;
8.一种可配置化程序流程处理装置,其特征在于,所述装置包括:
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有由计算机执行权利要求1至6任一项所述方法的计算机程序。