业务流程处理方法及电子设备与流程

专利2025-03-01  30


本技术涉及计算机,具体而言,涉及一种业务流程处理方法及电子设备。


背景技术:

1、现有的业务流程处理系统通常采用责任链模式对业务流程进行处理,例如针对数据交换、数据处理、人员调动等业务流程进行处理。其中,责任链模式是一种对象行为模型,责任链中包括多个处理类,各处理类负责处理用户请求中的内容,如此可通过定义责任链的各个处理类的处理方法实现对业务流程的处理。

2、但由于现有的业务流程处理系统仅支持业务流程的新增和删除,所以在业务流程运行过程中,若业务流程受外界因素干扰而中断,则无法重新启动,并且如果业务流程流转到责任链末端还未被处理,则业务流程将不会被接收,对数据安全性和易用性造成一定影响。此外,现有的业务流程处理系统仅支持单线程运行业务流程,若同时存在多个业务流程需要处理,则需要耗费大量时间排队等待,并且责任链的合理性依赖于客户端,不仅严重消耗资源,且严重影响了业务流程处理系统的性能。

3、综上,现有的业务流程处理系统具有性能支持性差、可维护性差以及流程可控性不高的缺点,因此如何针对现有业务流程处理系统的缺点,提供一种更加优化的、能够提升业务流程处理系统功能的业务流程处理方法是本领域亟待解决的问题之一。


技术实现思路

1、本技术的目的在于,针对上述现有技术中的不足,提供一种业务流程处理方法及电子设备,以解决现有技术中现有的业务流程处理系统具有性能支持性差、可维护性差以及流程可控性不高的问题。

2、为实现上述目的,本技术实施例采用的技术方案如下:

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、基于所述业务流程信息、所述执行步骤以及各流程阶段的流程类型、业务模型和业务执行方式创建所述报送任务。

42、作为一种可能的实现方式,所述调用模块具体用于:

43、确定用于创建线程池的参数信息,所述参数信息包括声明参数、线程栈的大小以及线程的入口函数;

44、响应用户输入的用于创建线程池的创建指令,基于所述参数信息创建线程池,所述线程池中包括多个处理线程;

45、从所述线程池中调用所述第一处理线程,所述第一处理线程为所述多个处理线程中的一个。

46、作为一种可能的实现方式,所述调用模块具体用于:

47、由所述第一处理线程获取第一流程阶段对应的流程实例以及业务执行实例;

48、根据所述流程实例创建第一流程阶段对应的任务启动流程,并根据所述业务执行实例初始化所述第一流程阶段对应的流程上下文;

49、按照所述任务启动流程启动所述第一流程阶段对应的任务,并按照所述流程上下文执行所述第一流程阶段对应的任务。

50、作为一种可能的实现方式,所述处理模块具体用于:

51、根据所述线程池中各处理线程的占用状态,从所述线程池中筛选出处于空闲状态的处理线程;

52、在所述第一流程阶段对应的任务的处理状态为已完成的情况下,修改所述第二流程阶段的运行状态,并从处于空闲状态的处理线程中确定所述第二处理线程。

53、作为一种可能的实现方式,所述处理模块还用于:

54、若所述线程池中不存在处于空闲状态的处理线程,则将所述第二流程阶段调整为等待状态,直至所述线程池中存在处于空闲状态的处理线程。

55、作为一种可能的实现方式,所述处理模块还用于:

56、响应启动业务流程处理系统的操作,采集各流程阶段对应的任务的处理状态;

57、根据各流程阶段对应的任务的处理状态,从多个流程阶段中筛选目标流程阶段,并重启目标流程阶段对应的任务,所述目标流程阶段为所述多个流程阶段中处于异常状态的流程阶段。

58、作为一种可能的实现方式,所述处理模块还用于:

59、将所述目标流程阶段对应的任务添加到任务队列中,基于所述任务队列重新执行所述目标流程阶段对应的任务。

60、作为一种可能的实现方式,所述处理模块还用于:

61、获取各流程阶段对应的流程记录信息,所述流程记录信息中包括记录报送批次的任务表、记录日志详情的日志表、记录报错信息的异常表以及上下级接收数据的文件记录;

62、若业务流程处理系统在运行过程中存在异常运行情况,则根据所述流程记录信息确定异常位置信息。

63、第三方面,本技术实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,在电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述第一方面任一所述业务流程处理方法的步骤。

64、第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面任一所述业务流程处理方法的步骤。

65、根据本技术实施例的业务流程处理方法及电子设备,接收业务请求,根据业务请求中包含的业务属性信息创建报送任务,其中,报送任务由多个流程阶段构成;调用第一处理线程,由第一处理线程执行第一流程阶段对应的任务;监测第一流程阶段对应的任务的处理状态,并根据第一流程阶段对应的任务的处理状态以及线程池中各处理线程的占用状态,确定用于执行第二流程阶段对应的任务的第二处理线程,并由第二处理线程执行第二流程阶段对应的任务。根据本技术实施例,报送任务是根据业务请求中的业务属性信息自定义创建的,且将报送任务定义为多个流程阶段,不仅便于对报送任务的处理进度进行阶段掌握,而且实现了业务流程阶段的自定义。此外,从线程池中调用线程对各流程阶段的任务进行处理,在此过程中,结合上一流程阶段任务的处理状态,确定用于处理下一流程阶段的任务的线程,实现对线程池的线程资源的合理利用。因此,根据本技术实施例能够提高业务流程处理的可维护性、可控性和性能支持性,进而能够提升业务流程处理系统功能的业务性能。


技术特征:

1.一种业务流程处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述业务属性信息创建报送任务,包括:

3.根据权利要求1所述的方法,其特征在于,所述调用第一处理线程,包括:

4.根据权利要求1所述的方法,其特征在于,所述由所述第一处理线程执行第一流程阶段对应的任务,包括:

5.根据权利要求1所述的方法,其特征在于,所述根据所述第一流程阶段对应的任务的处理状态以及线程池中各处理线程的占用状态,确定用于执行第二流程阶段对应的任务的第二处理线程,包括:

6.根据权利要求5所述的方法,其特征在于,所述根据所述线程池中各处理线程的占用状态,从所述线程池中筛选出处于空闲状态的处理线程之后,还包括:

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,所述重启目标流程阶段对应的任务,包括:

9.根据权利要求1所述的方法,其特征在于,所述方法还包括:

10.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器执行所述机器可读指令,以执行如权利要求1至9任一所述的业务流程处理方法的步骤。


技术总结
本申请提供了一种业务流程处理方法及电子设备,其中,该方法包括:接收业务请求;根据业务属性信息创建报送任务,报送任务中包含多个流程阶段;调用第一处理线程,由第一处理线程执行第一流程阶段对应的任务;监测第一流程阶段对应的任务的处理状态,并根据第一流程阶段对应的任务的处理状态以及线程池中各处理线程的占用状态,确定用于执行第二流程阶段对应的任务的第二处理线程,由第二处理线程执行第二流程阶段对应的任务,其中,第一流程阶段和第二流程阶段为多个流程阶段中任意两个相邻的流程阶段。本申请通过自定义业务流程阶段,结合任务的处理状态合理利用线程进行业务流程处理,提高了业务流程处理的可维护性、可控性和性能支持性。

技术研发人员:石鑫磊,李文强,蔡印达,申婷婷,刘林
受保护的技术使用者:中软信息系统工程有限公司
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1816734.html

最新回复(0)