工作流数据处理装置及方法转让专利
申请号 : CN200610072782.5
文献号 : CN1983313B
文献日 : 2011-08-10
发明人 : 李凌志
申请人 : 华为技术有限公司
摘要 :
权利要求 :
1.一种工作流数据处理装置,其特征在于,包括:
内存池,用于存储以字符串方式表达的工作流数据和字符解析表信息;所述工作流数据由至少两个流程节点组成,每个流程节点用一个字符串的标识符进行表示,每个流程节点均有自身的属性和动作;所述字符解析表定义字符串与所述属性及动作的对应关系;
解析模块,与所述内存池连接,用于定时更新内存池中的工作流数据,响应外部命令读取内存池中的工作流数据或者将工作流数据存储在内存池中,并且对工作流数据进行分析;
读写模块,与所述内存池和数据库连接,用于对数据库中以字符串方式表达的工作流数据进行读写;
侦听模块,与所述解析模块和客户端连接,用于侦听客户端的事件来对工作流的启动、调整和结束操作进行管理。
2.根据权利要求1所述的工作流数据处理装置,其特征在于,还包括监控模块,与所述侦听模块、解析模块、读写模块以及内存池连接,用于对所述侦听模块、解析模块、读写模块以及内存池的异常数据或异常事件进行监控和告警。
3.根据权利要求2所述的工作流数据处理装置,其特征在于,还包括日志模块,与所述监控模块连接,用于将监控模块监测到的异常数据或异常事件记录在日志文件中。
4.一种工作流数据的处理方法,其特征在于,包括以下步骤:
步骤1,读写模块将以字符串方式表达的工作流数据以及对应于所述工作流数据的字符解析表从数据库中读出,并保存在内存池中;所述工作流数据由至少两个流程节点组成,每个流程节点用一个字符串的标识符进行表示,每个流程节点均有自身的属性和动作;所述字符解析表定义字符串与所述属性及动作的对应关系;
步骤2,解析模块读取所述内存池中的工作流数据;
步骤3,所述解析模块读取所述内存池中的字符解析表,并根据该字符解析表对所述工作流数据进行分析;
步骤4,所述解析模块根据分析结果调用执行所述工作流数据对应的动作的执行机构。
5.根据权利要求4所述的工作流数据处理方法,其中所述步骤2具体为:侦听模块接收到客户端发送的执行工作流的指令,将所述指令转发给所述解析模块,再由所述解析模块在所述内存池中读取相应的工作流数据。
6.根据权利要求4所述的工作流数据处理方法,其中所述步骤2具体为:侦听模块定时读取所述内存池中的工作流数据。
7.根据权利要求4所述的工作流数据处理方法,其特征在于,所述步骤3中根据该字符解析表对所述工作流数据进行分析的操作具体为:根据对应于所述工作流数据的字符解析表分析所述工作流数据,获得状态数据、事件数据、扭转条件数据以及流程节点关系数据。
8.根据权利要求7所述的工作流数据处理方法,其特征在于,所述步骤4具体为:所述解析模块根据所述状态数据、事件数据、流程扭转条件数据以及流程节点关系数据调用事件执行程序,如果满足扭转条件数据,则执行扭转。
9.根据权利要求8所述的工作流数据处理方法,其特征在于,所述步骤4中,当监测模块监测到事件执行出错或者异常时,向所述解析模块返回修改状态的指令,再由所述解析模块将所述工作流数据设置为中断状态。
10.根据权利要求8所述的工作流数据处理方法,其特征在于,所述步骤4中,当监测模块监测到事件执行出错或者异常时,所述监控模块向解析模块返回所述事件执行出错或异常的告警级别。
11.根据权利要求9或10所述的工作流数据处理方法,其特征在于,所述步骤4中监测模块监测到事件执行出错或者异常时,所述监控模块将所述事件执行出错或异常信息通过日志模块输出到日志中。
说明书 :
工作流数据处理装置及方法
技术领域
简化存储并处理的方法。
背景技术
程。例如早期如果想安装一部电话,需要先到邮电局填写一张申请表,然后邮电局的工作
人员把填写好的申请单提交给相关部门审批,然后再把该申请单提交给相关部分进行审
批,然后再将该申请单依次传送给各个相关部门,最后才能够把该项业务开通。随着信息
技术的发展,逐渐出现了以IT为支撑的工作流技术,这种技术是通过计算机或者人机交互
的方式完成业务流程,现在的工作流数据主要是通过可扩展标记语言(Extensible Markup
Language,简称XML)进行承载、存储和表达,虽然XML具有非常简明的实现方式,但是其本
身的特点决定了这种XML方式作为工作流的承载、存储和表达方式具有一定的缺陷。
XML文档时,需要先取出相应的二进制流,通过解压缩工具进行解压,然后生成XML进行显
示或者修改,然后再次压缩,并以二进制的方式存回到数据库中。
后,这种存储方式会耗费数据库中相当大的存储空间,而且每次访问该流程实例时,都需要
从数据库中解压缩,尤其是对于并发量比较大的系统,将会占去相当多的内存和CPU资源,
将会大大的增加系统符合,降低系统的性能;另一种是只采用XML方式存储流程模版,流程
实例不采用XML方式存储,这种方法虽然在流程实例数量大的时候不会造成内存和CPU资
源的大量耗费,但是在创建后的修改非常困难。这两种实现方法均以数据库大对象类型经
压缩后入库,因此无法建立索引,更无法根据某些特征进行模糊查找,因此难以进行统计分
析。
发明内容
间,并且执行效率高、便于查找、显示速度快,方便统计分析。
程节点均有自身的属性和动作;所述字符解析表定义字符串与所述属性及动作的对应关
系;
进行分析;
常事件进行监控和告警;或者进一步包括日志模块,与所述监控模块连接,用于将监控模块
监测到的异常数据或异常事件记录在日志文件中。
组成,每个流程节点用一个字符串的标识符进行表示,每个流程节点均有自身的属性和动
作;所述字符解析表定义字符串与所述属性及动作的对应关系;
应的工作流数据;或者侦听模块定时读取所述内存池中的工作流数据。
(ACTION)和执行事件所需要的数据、流程扭转条件数据以及流程节点关系数据。解析模块
根据所述状态数据、事件数据、扭转条件数据以及流程节点关系数据。解析模块调用事件执
行程序,如果满足扭转条件数据,则执行相应的事件,使流程扭转。
块向解析模块返回所述事件出错或异常的告警级别。另外,还能够通过日志模块将所述事
件执行出错或异常信息输出到日志中。
系统的硬件配置要求低,降低了硬件投资。
附图说明
具体实施方式
简单、易修改、易查找的特点,对于这种字符串表达的工作流数据,本发明提供的处理装置
能够根据这些简化的字符串对应找出工作流的各个事件节点和扭转条件,再由系统自动执
行。
用来存储以字符串方式表达的工作流数据,其使用的是分配给工作流数据单独使用的一段
内存区域,其中也存储了对应于工作流数据的字符解析表,这种字符解析表提供了一种简
化的操作指令,与汇编语言相近似,每一个字符或是代表具体的执行动作,或是跳转 指令,
或是状态标识等,详细的字符解析表见下文;解析模块12与内存池11连接,可以对内存池
中的工作流数据进行解析,通常是响应外部命令读取内存池中的工作流数据或者将修改后
的工作流数据存储在内存池中,还能够定时的更新内存池中的工作流数据,并使内存池中
的工作流数据与数据库中的工作流数据同步,除此之外,还可以对工作流数据进行分析,根
据分析结果对执行机构进行驱动;读写模块13与内存池11以及数据库2连接,用于对数据
库和内存池中的工作流数据进行读写;侦听模块14与解析模块和客户端连接,用于侦听客
户端的事件来对工作流的启动、调整和结束操作进行管理。
据(即一个工作流程)由多个流程节点组成,每个流程节点用一个字符串的标识符表示,每
一个流程节点都有自己的属性和动作,属性表示节点的一些动态或静态的数值,例如节点
状态、节点名称等;动作表示流程到达该流程节点时需要执行的方法,例如执行向用户客户
端发送一个消息,或者将某事件写入日志等操作。
未激活 U
激活 A
执行中 E
挂起 H
中断 I
完成 0
符 编
码
开始 @ 表示流程的开始
结束 # 流程结束
流程节点上下级关系 表示上一个节点和下一节点之间的关系
流程分支关系 | 表示节点之间“或”的关系,处于这个关系之间的任何一个节点执行完毕 后,流程即可往下流转
流程并行关系 & 节点之间处于“与”的关系,处于这个关系之间的节点均完成后,流程才能往下流转。
流程组 () 一组可以相关的节点或子流程
根据业务的需要可以自定义相关的符号 ...
)-B04-C01-C02#”表示普通电话装机业务流程如果用文字描述的话,即为:从业务受理环节
开始,业务受理环节结束后的下一个流程是选号环节,选号环节结束后,是验单环节,验单
环节结束后是测量环节、装机环节、程控环节,这个三个环节是并行执行,但是需要每个完
成执行成功后才能到达该流程的下一个环节复测,复测环节结束后是复测环节,整个流程
结束。
据处理装置1对字符串表示的工作流数据进行解析获得的,解析的依据是存储在数据库中
的字符解析表,由这个字符解析表 完成字符串与各种属性值、动作的对应关系。
存池中。解析模块定期的对内存池中的工作流信息进行读取,然后根据对应于工作流数据
的字符解析表对工作流数据进行分析,即获得字符串表示的工作流数据的状态数据、事件
数据、扭转条件数据以及流程节点之间的关系数据等等,然后再由解析模块调用事件执行
程序,如果满足扭转条件数据,则执行扭转。解析模块除了定期读取之外,还可以响应侦听
模块侦听到的客户端发送的执行工作流的指令进行读取。例如侦听模块接收到用户通过客
户端发送的执行某个工作流的指令后,侦听模块会将指令转发给解析模块,再由解析模块
在内存池中读取相应的工作流数据,再进行分析,以及调用相应的执行机构执行该工作流。
池11、侦听模块14、解析模块12、读写模块13等连接,用来监测异常数据或异常事件,当发
生异常时告警。另外还可以加入日志模块15,与监控模块16连接,用于将监控模块监测到
的异常数据或异常事件记录在日志文件中。
控模块可以向解析模块返回事件出错或者异常的告警级别,并将该次出错或异常通过日志
模块15记录在日志文件4中。
提高了查询和调用的效率。用户可以通过客户端调用某个工作流数据,并对其中代表事件、
状态等信息的字符串进行修改,解析模块都能够立刻与数据库进行同步更新,而且还定时
的对数据库和内存池中的数据一致性进行检查,如果发现不一致,则将内存中的工作流数
据同步到数据库中。
方法、事件等数据,可以使本发明的工作流数据处理装置具备一定的学习能力。
可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发
明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。