一种基于业务的流程处理方法及系统技术方案

技术编号:9034290 阅读:101 留言:0更新日期:2013-08-15 01:07
本申请提供了一种基于业务的流程处理方法及系统,以解决现有的处理方法使得订单的复杂度和维护度上升的问题。所述方法包括:将整体流程细分为各个子流程,每个子流程作为一个原子过程,整体流程也作为一个原子过程;针对每个原子过程分别创建单独的原子订单,每个原子订单用于跟踪对应的原子过程;根据预设的订单状态关联配置信息,当某个原子订单的状态变迁后,触发相关联的原子订单状态同步变迁。本申请通过原子订单关联,当某个原子订单的状态变更时,关联订单状态同步变迁,从而解决现有技术中单一订单的复杂度与维护度的问题,最终达到简化业务流程处理机制的目的。

【技术实现步骤摘要】

本申请涉及数据处理技术,特别是涉及一种基于业务的流程处理方法及系统
技术介绍
对于一个业务流程处理,通常包括多个阶段,每个阶段处理结束后进入下一个阶段,最后一个阶段完成后,整个业务处理结束。例如,参照图1所示,是现有技术中某个业务流程的示意图。该业务的整体流程可分解为3个任务,如图1中的任务1、任务2和任务3,每个任务完成之后开始执行下一个任务。其中,某些任务可以拆解成更小的任务而成为子流程,如图1中的任务I拆解为任务4 (Task4)和任务5 (Task5)构成的子流程,任务2拆解为任务6(Task6)和任务7(Task7)构成的子流程。针对这种场景,目前的处理方法是对这个业务过程记录一个订单(Order),该订单跟踪整个业务处理过程的所有进度信息,包括每一个阶段的状态,并最终由一个状态表示该订单的终结点。如图2所示,是一个订单示意图。所述订单记录了流程I中涉及到的字段I和字段2的信息,以及流程I的状态,然后进入流程2 ;记录流程2中涉及到的字段3和字段4的信息,以及流程2的状态,然后进入最后一个流程,记录字段5和字段6的信息,并记录整个业务过程结束时的整体状态,最后由该整体状态表示该订单的终结。这种针对一个业务过程记录一个订单的处理方法,由于订单本身跟踪的信息过多,容易造成订单本身属性复杂,订单本身表示的意义过多。而且,每个阶段的处理,还会对订单本身进行频繁读写,使得订单的复杂度整体上升,维护起来极其繁琐艰难。
技术实现思路
本申请提供了一种基于业务的流程处理方法及系统,以解决现有的处理方法使得订单的复杂度和维护度上升的问 题。为了解决上述问题,本申请公开了一种基于业务的流程处理方法,包括:将整体流程细分为各个子流程,每个子流程作为一个原子过程,整体流程也作为一个原子过程;针对每个原子过程分别创建单独的原子订单,每个原子订单用于跟踪对应的原子过程;根据预设的订单状态关联配置信息,当某个原子订单的状态变迁后,触发相关联的原子订单状态同步变迁。其中,整体流程对应的原子订单状态变迁由相关联的子流程对应的原子订单状态变迁而触发。优选的,所述将整体流程细分为各个子流程包括:按照整体流程涉及到的各个不同角色,将整体流程细分为各个子流程,每个子流程对应一个角色。优选的,所述针对每个原子过程分别创建单独的原子订单,包括:在流程初始化时,针对所有的原子过程,对其中每个原子过程分别创建单独的原子订单。优选的,所述针对每个原子过程分别创建单独的原子订单,包括:在每一个原子过程结束时,触发创建下一个相关联的原子过程对应的原子订单。优选的,所述根据预设的订单状态关联配置信息,当某个原子订单的状态变迁后,触发相关联的原子订单状态同步变迁,包括:所述订单状态关联配置信息中的每条配置信息都预设了相关联的两个原子订单的状态位以及状态位的同步关系描述;当其中一个原子订单的状态位的状态变迁后,触发相关联的另一个原子订单的状态位按照所述状态位的同步关系描述进行状态同步变迁。本申请还提供了一种基于业务的流程处理系统,包括:业务划分模块,用于将整体流程细分为各个子流程,每个子流程作为一个原子过程,整体流程也作为一个原子过程;订单创建模块,用于针对每个原子过程分别创建单独的原子订单,每个原子订单用于跟踪对应的原子过程;订单关联配置模块, 用于预设订单状态关联配置信息;订单状态同步器,用于根据预设的订单状态关联配置信息,当某个原子订单的状态变迁后,触发相关联的原子订单状态同步变迁。优选的,所述系统还包括:流程初始化器,用于流程初始化;所述订单创建模块设置在所述流程初始化器中,在流程初始化时,针对所有的原子过程,对其中每个原子过程分别创建单独的原子订单。优选的,所述系统还包括:订单业务处理器,每个原子订单对应一个订单业务处理器,用于原子订单的数据管理和状态变迁;所述订单创建模块设置在所述订单业务处理器中,在每一个原子过程结束时,触发下一个相关联的订单业务处理器创建对应的原子订单。优选的,各个订单业务处理器实现原子订单的状态变迁后,通知所述订单状态同步器,订单状态同步器再触发相关联的订单业务处理器触发状态变迁。与现有技术相比,本申请包括以下优点:首先,本申请通过对业务的原子过程抽取,生成多个原子订单,再把这些原子订单进行状态关联,当某个原子订单的状态变更时,关联订单状态同步变迁,从而解决现有技术中单一订单的复杂度与维护度的问题,最终达到简化业务流程处理机制的目的。其次,本申请按照整体流程涉及到的各个不同角色,将整体流程细分为各个子流程,每个子流程对应一个角色,使得各个角色只处理单一原子订单的业务,从而使整体流程的业务处理粒度化,可重用性提高,复杂度降低。再次,本申请这种对流程的处理机制,也可推广到很多不同的流程处理需求之中。当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优点。附图说明图1是现有技术中某个业务流程的示意图;图2是现有技术中一个订单示意图3是现有技术中各个角色对一个订单进行读写的示意图;图4是本申请实施例所述一种基于业务的流程处理方法流程图;图5是本申请实施例中针对某个业务创建的原子订单示意图;图6是图5所示实施例中参与角色对应原子订单的示意图;图7是本申请实施例中的订单状态转移图;图8是本申请实施例中流程初始化器创建订单的示意图;图9是本申请实施例中订单业务处理器创建订单的示意图;图10是本申请实施例中状态同步机制的示意图;图11是本申请实施例中包含订单创建和订单状态同步的整体方案示意图;图12是本申请实施例所述一种基于业务的流程处理系统结构图。具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。为了解决单一订单的复杂度与维护度的问题,本申请首先分析了其原因,如下:—个业务处理过程涉及到多 个角色的参与,包括多个参与角色和受益角色,而参与角色一般只关心自己涉及到的业务阶段,受益角色也只关心整体订单的处理情况。例如,银行卡绑定商户平台账户的业务,用户作为受益角色关心的是绑定本身是否完成,而其中很多个细分阶段,包括了不同的各种参与角色,或许是商户平台和银行间的信息交互过程、或许是商户平台的内部处理过程、或许是审核人员的审核过程,这些细分阶段的处理对作为最终受益角色的用户并不关心。而单一订单本身的信息包含很多细分阶段的业务过程信息,如处理过程的数据、阶段状态等,同时也包含对用户(受益角色)可见的订单整体数据、状态等。在业务处理的各个阶段,不同角色都可能对这个订单进行读写,而用户通过界面操作也对整体订单进行读写。例如,参照图3所示,是现有技术中各个角色对一个订单进行读写的示意图。图中,参与角色I会对流程I中的字段1、字段2和流程I状态进行读写。参与角色3会对流程I的中字段2和流程I状态进行读写,并对流程2中的字段4和流程2状态进行读写。而受益角色4会对流程2中的字段3和流程2状态进行读写,并对整体流程的字段6和整体状态进行读与。基于图3的示例,对于程序的处理,需要区分每个阶段数据状态对每个角色的可见度,这样每个角色才能对订单属于其阶段的数据状态进行读写,但是这使得订单的复杂度整体上升,维护起来极其繁琐艰难。由上述分析可知,造成单一订单的复杂度和维护度问本文档来自技高网...

【技术保护点】
一种基于业务的流程处理方法,其特征在于,包括:将整体流程细分为各个子流程,每个子流程作为一个原子过程,整体流程也作为一个原子过程;针对每个原子过程分别创建单独的原子订单,每个原子订单用于跟踪对应的原子过程;根据预设的订单状态关联配置信息,当某个原子订单的状态变迁后,触发相关联的原子订单状态同步变迁。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈锐发
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1