业务状态管理方法及系统与流程

文档序号:11621062阅读:192来源:国知局
本发明涉及订单系统
技术领域
,尤其涉及一种业务状态管理方法及系统。
背景技术
:在加电服务业务系统中,业务流程的流转规则非常复杂,这种流转并不是线性的,需要根据该加电服务的历史业务状态以及其他的一些触发条件来计算下一步需要进行的操作任务,并通过业务订单流程管理系统实现业务订单的流转,在业务订单的流转过程中需要有一个字段来标识服务状态,通常这个字段会是一个枚举值,有两种不同的取值方式。1.普通枚举这种枚举方式根据不同的值来表示服务当前的状态。如果需要获取服务的历史状态,则需要在数据库中另外存储一张表来记录服务的每一次状态变更,一个服务在这张表当中会存在多条记录。加电服务系统的业务流程并不是线性流转的,需要根据订单的历史操作状态以及其他的一些触发条件来计算下一步需要进行的操作任务,因此,每一次的业务流转都需要去历史状态表中查询所有的历史记录,并且将这些查询到的记录传递给负责计算下一步操作任务的规则引擎进行计算。这种处理方式不仅需要查询额外的数据表,而且传递的数据量较大,影响系统性能。2.位标记枚举这种枚举方式用二进制的方式进行表达,每一个位对应一种状态,0表示该状态未发生,1表示该状态已发生。这种枚举方式可以只使用一个字段记录服务的所有历史状态。但这种方式能存储的状态数量十分有限,在32位机器上,int类型占用4字节32位,也就只能表示32种状态,当业务流程非常复杂,所有可能的状态非常多时,这种方式对存储空间的利用效率十分低,整型、长整型都已不能满足需求。因此,既能在一个字段上表达服务历史状态,又能够在较少的存储空间中存放足够多的业务状态,成为了当下亟待解决的问题。技术实现要素:为了解决现有技术中的上述问题,即为了解决既能在一个字段上表达服务历史状态,又能够在较少的存储空间中存放足够多的业务状态的问题,本发明提供了一种业务状态管理方法,所述方法包括:获取业务订单所经历业务流程中各子流程对应的各业务状态;结合预设的业务状态分组,对所述各业务状态分别进行分组;分别对每一个分组中的所述业务订单的业务状态输出一个编码,并按照预设业务状态分组的顺序进行编码组合,形成所述业务订单的流程状态编码。优选地,所述预设的业务状态分组,其业务状态分组方法为:针对特定业务,依据单一性原则对顺次排列的特定业务的所有子流程的业务状态进行划分,形成各业务状态分组;所述单一性原则:顺次排列特定业务的所有子流程中,若当前业务状态的出现必然经历前一业务状态,则判断当前业务状态和前一业务状态具有单一性。优选地,所述预设的业务状态分组中,各业务状态分组中子流程的业务状态依据出现的先后顺序顺次排列,各业务状态分组依据所包含的子流程的业务状态出现的先后顺序顺次排列。优选地,所述的编码为二进制编码,各业务状态分组二进制编码的长度基于对应业务状态分组中业务状态的数量确定。优选地,业务状态分组二进制编码之间利用分隔符隔开。优选地,所述业务状态管理方法应用于业务订单流程管理系统中。本发明还提供了一种业务状态管理系统,所述系统包括:获取模块,用于获取业务订单所经历业务流程中各子流程对应的各业务状态;第一处理模块,用于结合预设业务状态分组数据库中的业务状态分组,对所述各业务状态分别进行分组;第二处理模块,用于分别对每一个分组中的所述业务订单的业务状态输出一个编码,并按照预设业务状态分组的顺序进行编码组合,形成所述业务订单的流程状态编码。优选地,所述第一处理模块,具体用于针对特定业务,依据单一性原则对顺次排列的特定业务的所有子流程的业务状态进行划分,形成各业务状态分组;所述单一性原则:顺次排列特定业务的所有子流程中,若当前业务状态的出现必然经历前一业务状态,则判断当前业务状态和前一业务状态具有单一性。优选地,所述预设的业务状态分组中,各业务状态分组中子流程的业务状态依据出现的先后顺序顺次排列,各业务状态分组依据所包含的子流程的业务状态出现的先后顺序顺次排列。优选地,所述的编码为二进制编码,各业务状态分组二进制编码的长度基于对应业务状态分组中业务状态的数量确定。优选地,各业务状态分组二进制编码之间利用分隔符隔开。优选地,所述业务状态管理系统应用于业务订单流程管理系统中。与现有技术相比,本发明至少具有以下优点:通过本发明的设计,不仅实现了能在一个字段上表达服务历史状态,又能够在较少的存储空间中存放足够多的业务状态的问题。方案1、一种业务状态管理方法,其特征在于,所述方法包括:获取业务订单所经历业务流程中各子流程对应的各业务状态;结合预设的业务状态分组,对所述各业务状态分别进行分组;分别对每一个分组中的所述业务订单的业务状态输出一个编码,并按照预设业务状态分组的顺序进行编码组合,形成所述业务订单的流程状态编码。方案2、根据方案1所述的业务状态管理方法,其特征在于,所述预设的业务状态分组,其业务状态分组方法为:针对特定业务,依据单一性原则对顺次排列的特定业务的所有子流程的业务状态进行划分,形成各业务状态分组;所述单一性原则:顺次排列特定业务的所有子流程中,若当前业务状态的出现必然经历前一业务状态,则判断当前业务状态和前一业务状态具有单一性。方案3、根据方案2所述的业务状态管理方法,其特征在于,所述预设的业务状态分组中,各业务状态分组中子流程的业务状态依据出现的先后顺序顺次排列,各业务状态分组依据所包含的子流程的业务状态出现的先后顺序顺次排列。方案4、根据方案1所述的业务状态管理方法,其特征在于,所述的编码为二进制编码,各业务状态分组二进制编码的长度基于对应业务状态分组中业务状态的数量确定。方案5、根据方案4所述的业务状态管理方法,其特征在于,各业务状态分组二进制编码之间利用分隔符隔开。方案6、根据方案1-5中任一项所述的业务状态管理方法,其特征在于,所述业务状态管理方法应用于业务订单流程管理系统中。方案7、一种业务状态管理系统,其特征在于,所述系统包括:获取模块,用于获取业务订单所经历业务流程中各子流程对应的各业务状态;第一处理模块,用于结合预设业务状态分组数据库中的业务状态分组,对所述各业务状态分别进行分组;第二处理模块,用于分别对每一个分组中的所述业务订单的业务状态输出一个编码,并按照预设业务状态分组的顺序进行编码组合,形成所述业务订单的流程状态编码。方案8、根据方案7所述的业务状态管理系统,其特征在于,所述第一处理模块,具体用于针对特定业务,依据单一性原则对顺次排列的特定业务的所有子流程的业务状态进行划分,形成各业务状态分组;所述单一性原则:顺次排列特定业务的所有子流程中,若当前业务状态的出现必然经历前一业务状态,则判断当前业务状态和前一业务状态具有单一性。方案9、根据方案8所述的业务状态管理系统,其特征在于,所述预设的业务状态分组中,各业务状态分组中子流程的业务状态依据出现的先后顺序顺次排列,各业务状态分组依据所包含的子流程的业务状态出现的先后顺序顺次排列。方案10、根据方案7所述的业务状态管理系统,其特征在于,所述的编码为二进制编码,各业务状态分组二进制编码的长度基于对应业务状态分组中业务状态的数量确定。方案11、根据方案10所述的业务状态管理系统,其特征在于,各业务状态分组二进制编码之间利用分隔符隔开。方案12、根据方案7-11中任一项所述的业务状态管理系统,其特征在于,所述业务状态管理系统应用于业务订单流程管理系统中。附图说明图1是本发明所提出的业务状态管理方法的步骤流程图。具体实施方式下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。本发明提出一种业务状态管理方法,通过将该业务状态管理方法应用于业务订单流程管理系统中,使得该业务订单流程管理系统对于其中业务订单流转中的业务状态的表达更加简洁,从而占用较小的存储空间来存储业务状态,下面结合附图,对本发明具体实施方式进行详细说明。如图1所示,业务状态管理方法具体包括如下步骤:步骤101,获取业务订单所经历业务流程中各子流程对应的各业务状态。步骤102,结合预设的业务状态分组,对所述各业务状态分别进行分组。其中,所述预设的业务状态分组,其业务状态分组方法为:针对特定业务,依据单一性原则对顺次排列的特定业务的所有子流程的业务状态进行划分,形成各业务状态分组。所述单一性原则:顺次排列特定业务的所有子流程中,若当前业务状态的出现必然经历前一业务状态,则判断当前业务状态和前一业务状态具有单一性。进一步地,所述预设的业务状态分组中,各业务状态分组中子流程的业务状态依据出现的先后顺序顺次排列,各业务状态分组依据所包含的子流程的业务状态出现的先后顺序顺次排列。步骤103,分别对每一个分组中的所述业务订单的业务状态输出一个编码,并按照预设业务状态分组的顺序进行编码组合,形成所述业务订单的流程状态编码。具体的,所述的编码为二进制编码,各业务状态分组二进制编码的长度基于对应业务状态分组中业务状态的数量确定;其中,各业务状态分组二进制编码之间利用分隔符隔开。当然也可以采用其他编码方式来进行编码。进一步地,所述将各二进制编码结果顺次组合后存储,具体包括:将各二进制编码结果顺次组合为一个序列后存储,且在该序列中,各二进制编码结果间利用分隔符隔开。本方法采用二进制+分段+普通枚举的方式来实现既能在一个字段上表达服务历史状态,又能在业务非常复杂业务状态数量非常多的情况下只占用较少的存储空间的需求,从而使加电服务业务流转所依赖的数据量减少,提高计算效率。在一套业务流程中,有一些流程状态的变化是具有依赖性的,如果对所有状态进行分组,将具有依赖性、规则单一性(规则单一性指,如果业务状态status1~status10具有规则单一性,那么只要当前的订单状态为status10,那么这个订单必然经历过status1~status9)的状态分为一个组,将状态字段的所有位分成多段,每段对应一个组,每个段采用普通枚举的二进制方式来记录对应组中的状态值,就能实现以较小的存储长度存储所有历史状态的目的。下面以一个具体实施方式就上述本发明所提供的方法做具体阐述。假设加电服务业务流程有status1~status50这五十种业务状态,根据各业务状态间的规则单一性关系共分为7个组,其中组与组之间不具有规则单一性,具体分组情况如下述表格1:表格1五十种业务状态分组情况组号业务状态1status1~status102status113status12,status13,status144status15,status165status17~status306status31~status357status36~status50每个组内的业务状态具有规则单一性,组与组之间不具有规则单一性,因此,整个业务状态字段被分为七段:其中第一段有十种状态(status1~status10),需要四个二进制编码位来记录该十种业务状态的普通枚举值(其中,对于具有规则单一性的子流程内的业务状态可以使用十进制的数字表示,每个数字代表经历了一种业务状态,比如status1~10,1代表经历了status1,2代表经历了status1~2,3代表经历了状态status1~3......10代表经历了status1~10,用二进制编码表示法来表示这个十进制的数字,则需要4个二进制编码位,比如0001=1(经历了status1),0010=2(经历了status1~2),0011=3(经历了status1~3)……1010=10(经历了status1~10),因此对于包含10种业务状态的子流程,只需要4个二进制编码位就可记录所有业务状态);第二组有一种状态,需要一个二进制编码位(不经历status11编码位为0,经历status11编码位为1);第三组有三种状态,需要两个二进制编码位(使用十进制数字1代表经历了status12,2代表经历了status12~13,3代表经历了status12~14,因此需要2个二进制编码位来记录这3种业务状态,00=0,(不经历该组任一业务状态),01=1(经历了status12),10=2(经历了status12~13),11=3(经历了status12~14));第四组有两种状态,需要两个二进制编码位;第五组有十四种状态,需要四个二进制编码位;第六组有五种状态,需要三个二进制编码位;第七组有十五种状态,需要四个二进制编码位;该种表示方式下总共只需二十个二进制编码位长度就可以存储这五十种状态。具体的,假设某订单经历了status1~status7,status12,status15,status16,status17,status18,status19,status20,status31,status32,根据上述表格1的分组,在将该订单所流经的各业务状态进行分组顺次编码组合后进行存储时,则在订单状态字段中的存储内容为:0111|0|01|10|0100|010|0000。基于与上述本发明所提供方法相同的构思,本发明还提供了一种业务状态管理系统,同样的,通过将该业务状态管理方法实现所基于的业务状态管理系统应用于该业务订单流程管理系统中,以实现对于该业务订单流程管理系统的业务订单流转中的业务状态的表达更加简洁,从而占用较小的存储空间来存储业务状态,所述系统包括:获取模块,用于获取业务订单所经历业务流程中各子流程对应的各业务状态;第一处理模块,用于结合预设业务状态分组数据库中的业务状态分组,对所述各业务状态分别进行分组;第二处理模块,用于分别对每一个分组中的所述业务订单的业务状态输出一个编码,并按照预设业务状态分组的顺序进行编码组合,形成所述业务订单的流程状态编码。优选地,所述第一处理模块,具体用于针对特定业务,依据单一性原则对顺次排列的特定业务的所有子流程的业务状态进行划分,形成各业务状态分组;所述单一性原则:顺次排列特定业务的所有子流程中,若当前业务状态的出现必然经历前一业务状态,则判断当前业务状态和前一业务状态具有单一性。优选地,所述预设的业务状态分组中,各业务状态分组中子流程的业务状态依据出现的先后顺序顺次排列,各业务状态分组依据所包含的子流程的业务状态出现的先后顺序顺次排列。优选地,所述的编码为二进制编码,各业务状态分组二进制编码的长度基于对应业务状态分组中业务状态的数量确定。优选地,各业务状态分组二进制编码之间利用分隔符隔开。本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1