工作流中间件的流程仿真方法、装置及系统的制作方法

文档序号:6583352阅读:160来源:国知局
专利名称:工作流中间件的流程仿真方法、装置及系统的制作方法
技术领域
本发明涉及工作流中间件技术领域,尤其涉及工作流中间件的流程仿真方法、装
置及系统。
背景技术
中间件是基础软件的一大类,属于可复用软件的范畴,它处于操作系统软件与用 户应用软件之间。工作流是工作流程的计算模型,即将工作流程中的工作如何前后组织在 一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算,能够为企业应用提 供业务流程建模、管理和控制功能,可以应用于电子政务的一站式办公、电子商务中的流程 集成和金融信贷业务等领域。工作流中间件广泛应用于政府或企业,用以解决流程的计算 机化问题,流程仿真是工作流中间件的重要组成部分,熟悉公司业务的分析人员可仿真执 行流程,并根据仿真执行产生的流程数据对流程进行优化。 现在的流程仿真装置包括仿真调试单元、异常记录单元、数据持久化单元、数据缓 存单元和仿真分析单元。在仿真调试单元进行仿真的过程中需要程序员多次人工输入与流 程有关的业务数据,整个流程需要人工驱动直至流程结束,这使得该流程仿真装置只能作 为程序员的调试工具,非程序员的普通用户无法使用此流程仿真装置,只能通过与程序员 的交流来对流程进行了解,而普通用户才是对公司的业务流程了解的人员,在整个的流程 调试过程中,需要普通用户与程序员反复进行沟通,再由程序员进行仿真,过程过于繁杂, 不能适应企业流程快速变化的节奏。另外,现有的流程仿真装置的数据持久化单元将仿真 数据存储到系统运行库中,冗余的仿真数据严重影响了系统生产环境,增加了数据库的压 力。

发明内容
有鉴于此,本发明的目的在于提供工作流中间件的流程仿真方法、装置及系统,在 启动流程仿真后可以自动完成整个仿真过程,用以解决现有流程仿真方法不适用于非程序 员的普通用户问题。 为实现上述目的,本发明提供如下技术方案 —种工作流中间件的流程仿真方法,包括 依据用户的请求,从数据库中获取所述用户指定的流程模板; 将所述流程模板按照广度优先算法进行遍历,获得仿真数据; 将所述仿真数据存储于第一可扩展标记语言XML文件; 调用工作流接口,对存储在所述第一XML文件中的仿真数据进行仿真,获得流程 运行数据; 将所述流程运行数据进行存储; 对所述流程运行数据进行分析,获得分析结果; 将所述分析结果存储于第二 XML文件。
优选的,进一步包括对流程运行数据存储位置的确定,具体为接收到用户的持久化请求,将所述流程运行数据的存储位置确定为仿真库;未接收到用户的持久化请求,将所述流程运行数据的存储位置确定为内存。 优选的,对所述流程模板进行校验,将通过校验的流程模板按照广度优先算法进行遍历,对未通过校验的流程模板进行分析。
优选的,进一步包括对异常情况进行记录。
—种工作流中间件的流程仿真装置,包括 流程模板获取单元、仿真数据创建单元、第一存储单元、仿真单元、第二存储单元、分析单元和第三存储单元; 所述流程模板获取单元用于,依据用户的请求,从数据库中获取所述用户指定的流程模板; 所述仿真数据创建单元用于,将所述流程模板按照广度优先算法进行遍历,获得仿真数据; 所述第一存储单元用于,将所述仿真数据存储于第一可扩展标记语言XML文件;
所述仿真单元用于,调用工作流接口 ,对存储于所述第一 XML文件中的仿真数据进行仿真,获得流程运行数据; 所述第二存储单元用于,将所述流程运行数据进行存储; 所述分析单元用于,对所述流程运行数据进行分析,获得分析结果; 所述第三存储单元用于,将所述分析结果存储于第二 XML文件。 优选的,进一步包括存储位置确定单元,用于接收到用户的持久化请求,将运行数据存储位置确定为仿真库;未接收到用户的持久化请求,将运行数据存储位置确定为内存。 优选的,进一步包括流程模板校验单元,用于对所述从数据库中获取的流程模板进行校验,将通过校验的流程模板送入所述仿真数据创建单元,将未通过校验的流程模板送入所述分析单元。 优选的,进一步包括异常记录单元,用于记录异常情况。
—种工作流中间件的流程仿真系统,包括
客户端,浏览器和服务器端; 所述服务器端中设置有工作流中间件的流程仿真装置,所述流程中间件的流程仿真装置用于,依据用户的请求从数据库中获取所述用户指定的流程模板,将所述流程模板按照广度优先算法进行遍历,获得仿真数据,并将所述仿真数据存储在第一可扩展标记语言XML文件中,调用工作流接口 ,对存储在所述第一 XML文件中的仿真数据进行仿真,获得流程运行数据,并对所述流程运行数据进行存储,对所述流程运行数据进行分析,获得分析结果,并将所述分析结果存储在第二 XML文件中。 所述客户端用于,提供远程或本地调用流程仿真装置的接口和仿真界面,所述接口可接收用户的请求,所述仿真界面提供对第一 XML文件和第二 XML文件的管理功能,并可对所述分析结果进行显示; 所述浏览器,用于提供远程服务,支持客户端对所述流程仿真装置的调用。 由此可见,本发明的有益效果为本发明公开的工作流中间件的流程仿真方法、装置及系统,将依据用户请求从数据库中获取的流程模板,按照广度优先算法进行遍历,获得 仿真数据,该仿真数据可以遍历流程模板全部路径分支,将该仿真数据用于后续的仿真过 程,在启动流程之后自动完成整个仿真过程,不需要再输入业务数据,本发明公开的工作流 中间件的流程仿真方法、装置及系统不只是程序人员调试工具,它适用于了解公司业务的 普通用户,可以提高对流程的调试、优化速度。


为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的 介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人 员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一公开的工作流中间件的流程仿真方法的流程图;
图2为本发明实施例二公开的工作流中间件的流程仿真方法的流程图;
图3为本发明实施例一公开的工作流中间件的流程仿真装置的结构示意图;
图4为本发明实施例二公开的工作流中间件的流程仿真装置的结构示意图;
图5为本发明公开的工作流中间件的流程仿真系统的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本 发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他 实施例,都属于本发明保护范围。 本发明公开了一种工作流中间件的流程仿真方法,在启动仿真后可以自动完成流 程仿真。
图1为本发明实施例一公开的工作流中间件的流程仿真方法的流程图,具体为
步骤Sll :依据用户请求,从数据库中获取用户指定的流程模板;
步骤S12 :将获得的流程模板按照广度优先算法进行遍历,获得仿真数据;
步骤S13 :将获得的仿真数据存储于第一 XML文件; 步骤S14 :调用工作流接口 ,对存储在第一 XML文件中的仿真数据进行仿真,获得 流程运行数据; 步骤S15 :将获得的流程运行数据进行存储; 步骤S16 :对存储的流程运行数据进行分析,获得分析结果; 步骤S17 :将获得的分析结果存储于第二 XML文件。 在步骤S12中,对步骤Sll中获得的流程模板按照广度优先算法进行遍历,从流程 模板的第一个分支节点开始,根据节点间的连接弧的源节点和目标节点的属性判断出最大 的闭环,之后循环遍历,确认该流程闭环的全部路径,最终获得可以遍历流程模板中所有可 能路径的多组仿真数据,将该仿真数据用于后续的仿真过称,不需要再输入业务数据即可 自动完成仿真过程。本发明公开的流程仿真方法适用于普通用户,在用户启动流程仿真并 选择流程模板之后,自动完成对该流程模板的仿真及分析。 在步骤S15中,将步骤S14中获得的流程运行数据进行存储,其默认的存储位置为
6内存,实现流程运行数据的缓存。 图2为本发明实施例二公开的工作流中间件的流程仿真方法的流程图,进一步包括对流程运行数据存储位置的确定。步骤S18判断是否接收到用户的持久化请求,若接收到用户的持久化请求,则执行步骤S801,将流程运行数据的存储位置确定为仿真库;若未接收到用户的持久化请求,则执行步骤S802,将流程运行数据的存储位置确定为内存,步骤S15依据此确定的存储位置对流程运行数据进行存储。 由于流程运行数据的持久化是通过将其存储到仿真库中实现的,不会造成数据的冗余,不会增加数据库的压力。 进一步设置流程模板校验步骤,对步骤Sll获取的流程模板进行校验,通过校验的流程模板送入步骤S12进行仿真数据的创建,未通过校验的流程模板送入步骤S16进行分析。此流程模板校验步骤通过在仿真初始阶段对流程模板进行校验,当获得的流程模板不符合校验标准时,直接对其进行分析,而不需要进行仿真,降低了流程仿真过程的复杂度。 还可以在该方法中设置异常记录步骤,在流程仿真的过程中有可能出现某些异常情况,通过异常记录步骤可以将这些异常情况进行记录,为流程仿真方法的改进提供参考数据和理论支持。 本发明公开了一种工作流中间件的流程仿真装置,在启动流程后可以自动完成整个仿真过程。 图3为本发明实施例一所公开的工作流中间件的流程仿真装置的结构示意图,包括流程模板获取单元11、仿真数据创建单元12、第一存储单元13、仿真单元14、第二存储单元15、分析单元16和第三存储单元17。 其中,流程模板获取单元ll用于,接收用户发送的请求,从数据库中获取用户指定的流程模板;仿真数据创建单元12用于,将流程模板获取单元11从数据库中获取的流程模板按照广度优先算法进行遍历,获得能够覆盖模板中所有路径的多组仿真数据;第一存储单元13用于,将仿真数据创建单元12获得的仿真数据存储在第一可扩展标记语言XML文件中;仿真单元14用于,调用工作流接口 ,将存储在第一 XML文件中的仿真数据进行仿真,获得流程运行数据;第二存储单元15用于,将仿真单元14获得的流程运行数据进行存储;分析单元16用于,对流程运行数据进行分析,获得分析结果;第三存储单元17用于,将分析单元16获得的分析结果存储在第二 XML文件中。 当流程模板获取单元11依据用户的请求从数据库中取出用户指定的流程模板后,仿真数据创建单元12按照广度优先算法对获得的流程模板进行遍历,从流程模板的第一个分支节点开始,根据节点间的连接弧的源节点和目标节点的属性,判断出最大的闭环,之后循环遍历,确认该部分流程闭环的全部路径,最终获得可以遍历流程模板中所有可能路径的多组仿真数据。 由于仿真数据创建单元12创建的仿真数据遍历了流程模板的全部可能路径,将此仿真数据用于后续的仿真过程中,不需要在仿真过程中输入业务数据,即可以完成全部的仿真过程,这就使得本发明公开的流程仿真装置适用于普通用户,而不是只有程序人员才可运行,普通用户启动流程后只要选择流程模板就可以完成整个仿真,在企业中熟悉业务的是普通用户,普通用户通过此流程仿真装置可以直观的对流程进行判断,提出优化方案,加快了企业的流程优化速度。另外由于仿真数据创建单元12所创建仿真数据的完整 性,在分析单元进行分析时,可以得到更优的分析结果。 第二存储单元15默认为将仿真单元14获得的流程运行数据存储于内存,但只是 实现了数据的缓存,不能实现数据的持久化。 图4为本发明实施例二所公开的工作流中间件的流程仿真装置的结构示意图,进 一步包括存储位置确定单元18。 存储位置确定单元18用于确定仿真单元14获得的流程运行数据的存储位置,当 接收到用户发送的持久化请求后,将流程运行数据的存储位置确定为仿真库,未接收到用 户的持久化请求,将流程运行数据的存储位置确定为内存,将流程运行数据存储于仿真库 可以实现数据存储的持久化,而且不会造成数据的冗余,增加系统数据库的压力,进而影响 系统的运行环境。 可以在本发明公开的装置中进一步设置流程模板校验单元,用于对流程模板获取
单元11获取的流程模板进行校验,将通过校验的流程模板送入仿真数据创建单元12,对其
进行仿真数据创建及后续的仿真和分析,对于未通过校验的流程模板则直接送入分析单元
16,由分析单元16对其进行分析,得到其问题报告,并作为分析结果进行存储。 进一步设置异常记录单元,对流程仿真过程中出现的异常情况进行记录,为流程
仿真装置的改进提供支持。 本发明还公开了一种工作流中间件的流程仿真系统,图5示出了该系统的结构, 包括客户端1、浏览器2和服务器端3。 在服务器端3中设置有工作流中间件的流程仿真装置4,流程仿真装置4用于,依 据用户在客户端1输入的请求,从数据库中获取用户指定的流程模板,将获取的流程模板 按照广度优先算法进行遍历,获得仿真数据,并存储在第一 XML文件中,然后调用工作流接 口 ,对存储在第一 XML文件中的仿真数据进行仿真,获得流程运行数据并进行存储,对存储 的流程运行数据进行分析,获得分析结果,并存储在第二 XML文件中。客户端1可提供远程 或本地调用流程仿真装置4的接口 ,该接口可以接收用户的请求,诸如启动流程仿真请求、 数据持久化请求,或用户选择流程模板的请求,另外客户端1还提供了仿真界面,该仿真界 面提供对第一 XML文件和第二 XML文件的管理功能,并可对流程仿真装置4获得的分析结 果进行显示。浏览器2用于提供远程服务,支持客户端1调用安装于服务器端3的流程仿 真装置4。 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置 而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说 明即可。 本领域技术人员可以理解,可以使用许多不同的工艺和技术中的任意一种来表示 信息、消息和信号。例如,上述说明中提到过的消息、信息都可以表示为电压、电流、电磁波、 磁场或磁性粒子、光场或以上任意组合。 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元 及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和 软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些
8功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业 技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应 认为超出本发明的范围。 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执 行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存 储器(ROM)、电可编程R0M、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术 领域内所公知的任意其它形式的存储介质中。 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明 将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
权利要求
工作流中间件的流程仿真方法,其特征在于,包括依据用户的请求,从数据库中获取所述用户指定的流程模板;将所述流程模板按照广度优先算法进行遍历,获得仿真数据;将所述仿真数据存储于第一可扩展标记语言XML文件;调用工作流接口,对存储在所述第一XML文件中的仿真数据进行仿真,获得流程运行数据;将所述流程运行数据进行存储;对所述流程运行数据进行分析,获得分析结果;将所述分析结果存储于第二XML文件。
2. 根据权利要求1所述的方法,其特征在于,进一步包括确定所述流程运行数据存储 位置,具体为接收到用户的持久化请求,将所述流程运行数据的存储位置确定为仿真库;未接收到 用户的持久化请求,将所述流程运行数据的存储位置确定为内存。
3. 根据权利要求1所述的方法,其特征在于,进一步包括对所述流程模板进行校验,将 通过校验的流程模板按照广度优先算法进行遍历,对未通过校验的流程模板进行分析。
4. 根据权利要求1所述的方法,其特征在于,进一步包括对异常情况进行记录。
5. 工作流中间件的流程仿真装置,其特征在于,包括流程模板获取单元、仿真数据创 建单元、第一存储单元、仿真单元、第二存储单元、分析单元和第三存储单元;其中所述流程模板获取单元用于,依据用户的请求,从数据库中获取所述用户指定的流程 模板;所述仿真数据创建单元用于,将所述流程模板按照广度优先算法进行遍历,获得仿真 数据;所述第一存储单元用于,将所述仿真数据存储于第一可扩展标记语言XML文件; 所述仿真单元用于,调用工作流接口 ,对存储在所述第一 XML文件中的仿真数据进行 仿真,获得流程运行数据;所述第二存储单元用于,将所述流程运行数据进行存储; 所述分析单元用于,对所述流程运行数据进行分析,获得分析结果; 所述第三存储单元用于,将所述分析结果存储在第二 XML文件中。
6. 根据权利要求5所述的装置,其特征在于,进一步包括存储位置确定单元,用于 接收到用户的持久化请求,将所述流程运行数据存储位置确定为仿真库;未接收到用户的持久化请求,将所述流程运行数据存储位置确定为内存。
7. 根据权利要求5所述的装置,其特征在于,进一步包括流程模板校验单元,用于对 所述流程模板进行校验,将通过校验的流程模板送入所述仿真数据创建单元,将未通过校 验的流程模板送入所述分析单元。
8. 根据权利要求5所述的装置,其特征在于,进一步包括异常记录单元,用于记录异 常情况。
9. 工作流中间件的流程仿真系统,其特征在于,包括客户端,浏览器和服务器端;其中所述服务器端中设置有工作流中间件的流程仿真装置,所述流程中间件的流程仿真装置用于,依据用户的请求从数据库中获取所述用户指定的流程模板,将所述流程模板按照广度优先算法进行遍历,获得仿真数据,并将所述仿真数据存储在第一可扩展标记语言XML文件中,调用工作流接口 ,对存储在所述第一 XML文件中的仿真数据进行仿真,获得流程运行数据并进行存储,对所述流程运行数据进行分析,获得分析结果,并将所述分析结果存储在第二 XML文件中;所述客户端用于,提供远程或本地调用流程仿真装置的接口和仿真界面,所述接口可接收用户的请求,所述仿真界面提供对所述第一 XML文件和第二 XML文件的管理功能,并可对所述分析结果进行显示;所述浏览器,用于提供远程服务,支持所述客户端对所述流程仿真装置的调用。
全文摘要
本发明公开了工作流中间件的流程仿真方法、装置及系统,依据用户请求,从数据库中获取用户指定的流程模板;将获得的流程模板按照广度优先算法进行遍历,获得仿真数据;将仿真数据存储于第一可扩展标记语言XML文件;调用工作流接口,对存储在第一XML文件中的仿真数据进行仿真,获得流程运行数据;将获得的流程运行数据进行存储;对存储的流程运行数据进行分析,获得分析结果;将分析结果存储于第二XML文件。本发明公开的工作流中间件流程仿真方法、装置及系统,将流程模板按照广度优先算法进行遍历,获得的仿真数据覆盖了流程模板的全部可能路径,在仿真策略的驱动下可以自动完成仿真过程,不需要再输入业务数据,适用于非程序人员的普通用户。
文档编号G06F11/36GK101751332SQ200910215589
公开日2010年6月23日 申请日期2009年12月30日 优先权日2009年12月30日
发明者何忠胜, 刘宗福, 刘春 , 刘民, 张文治, 戴海宏 申请人:山东中创软件工程股份有限公司;山东中创软件商用中间件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1