[发明专利]一种工作流运行方法及系统无效
申请号: | 201010601175.X | 申请日: | 2010-12-22 |
公开(公告)号: | CN102043625A | 公开(公告)日: | 2011-05-04 |
发明(设计)人: | 刘旭;牛志嘉;刘博 | 申请(专利权)人: | 中国农业银行股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06Q10/00 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 逯长明;王宝筠 |
地址: | 100005 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 工作流 运行 方法 系统 | ||
技术领域
本发明涉及数据处理领域,特别是涉及一种工作流运行方法及系统。
背景技术
工作流运行工作由工作流引擎来完成,工作流引擎是工作流系统的核心组件,负责解析流程定义,维持流程实例运行的环境。它能够协调处理流程节点间的路由、客户端的请求(如启动流程、提交任务、查询任务、流程监控)、任务的分派和调度、资源分配等。流程定义是对真实业务过程进行抽象而形成的一套“计算模型”,它能够被工作流引擎理解并作为流程运行的程序规则,它由子流程和活动组成。子流程也是一个流程,它能够被流程嵌套。流程定义模型是一套用来描述“流程定义”以及其相关的定义对象的模型对象。活动定义是对真实业务过程中任务、事宜、工作项、步骤和环节等的抽象,它是流程执行中的最小工作单元,可以由计算机自动完成。任务定义为人工活动定义。是需要人工参与完成的一个活动。流程实例是流程定义的每一次执行所生成的对象,它维护一套属于自己的“运行环境和数据”,包含流程的状态、数据和控制信息,任务实例的状态、数据和控制信息,以及一些临时的执行信息等。流程运行模型是一套用来描述“流程实例”以及其相关的运行对象的模型对象。任务实例是任务定义的每一次执行所生成的对象,任务实例也具有状态、数据和控制信息。
现有技术中对于工作流运行方法或者产品有很多,但是现有技术中的每一款工作流产品都会有自己独特的工作流运行流程,根据工作流运行的需求和应用场景的不同,其控制流程也各不相同,但是因为这些工作流运行方法针对的应用场景不大,因此,各种工作流运行流程只能适应于较小范围的工作流运行。
因此现有的工作流运行方法和产品存在以下缺点:首先,难以满足大数据量以及大并发高负载的工作流运行需求,其次,模型和数据结构设计复杂,也增加了开发、测试和管理的应用难度,最后,在满足性能需求的可能性下,技术架构过于复杂或者硬件需求过高,又无法满足低成本集约化的要求。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够提出一种工作流运行方法,用以解决现有技术难以满足大数据量以及大并发高负载的工作流运行需求的问题。
发明内容
本发明所要解决的技术问题是提供一种工作流运行方法,用以解决现有技术难以满足大数据量以及大并发高负载的工作流运行需求的问题,进一步的,其模型和数据结构设计简单,也减少了开发、测试和管理的应用难度。
本发明的另一个目的是将上述构思应用于具体的应用环境中,提供一种工作流运行系统,从而保证该方法的实现和应用。
为解决上述技术问题,本发明实施例提供了一种工作流运行方法,包括:预先设置流程定义模型和流程运行模型,所述流程定义模型包括预置的任务定义、流程定义、节点和迁移四类对象,所述流程定义由节点和迁移构成,所述节点包括开始节点、结束节点和/或任务节点,所述任务定义从属于一个所述任务节点;所述流程运行模型包括预置的流程实例、流程分支、任务实例和流程变量四类对象;
按照预置的流程定义创建流程实例,并创建与所述流程实例对应的执行线程;
触发所述执行线程流转,以在所述流程实例的开始节点获取离开的流程迁移流向;
调用所述流程迁移流向以触发工作流的运行。
优选的,所述调用所述流程迁移流向以触发工作流的运行,具体包括:
调用流程迁移流向之后进入目标节点;
当所述目标节点为任务节点时,依据预置的任务定义创建任务实例并执行。
优选的,所述依据预置的任务定义创建任务实例并执行之后,还包括:
将所述流程实例和任务实例的数据一次性写入数据库中。
优选的,所述依据预置的任务定义创建任务实例并执行之后,还包括:
调用所述任务实例的结束方法;
提交用于存储流程数据或业务数据的流程变量;
创建执行线程并获取任务迁移流向;
按照所述任务迁移流向进入下一个目标任务节点。
优选的,所述依据进入的目标任务节点预置的任务定义创建任务实例并执行之后,还包括:
更新在流程实例中所述任务实例对应的当前节点;
写入新的任务实例数据和流程变量数据;
更新已经存在的流程变量数据。
优选的,当迁移流向为零个时,所述零个迁移流向对应于所述流程实例的结束节点;当迁移流向为多个时,所述多个迁移流向对应于并发分支或者选择分支的情况;所述并发分支表示所有的迁移流向同时执行,所述选择分支表示执行所述多个迁移流向中的一支。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国农业银行股份有限公司,未经中国农业银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010601175.X/2.html,转载请声明来源钻瓜专利网。