当前位置: 首页 > 专利查询>清华大学专利>正文

支持分布式执行的工作流模型动态分割方法技术

技术编号:4199633 阅读:256 留言:0更新日期:2012-04-11 18:40
支持分布式执行的工作流模型动态分割的方法属于企业工作流模型分割技术领域,其特征在于,在每一套由服务器端和客户端共同组成的工作流系统中实现;在服务器端设有:建模模块、分片池模块、分片管理模块、活动监控模块、活动分配模块以及数据库,在客户端设有任务客户端模块;其中,分片池模块把建模模块中设定的工作流模型送往分片管理模块,模型经过动态分割后得到的分片送往分片池模块,供任务客户端模块使用;活动分配模块的作用是为活动提供实际执行站点标识,或者为分割后新分片中的后继活动指定实际执行站点;活动监控模块用于动态记录实际执行站点所执行的各项活动。本发明专利技术给出了工作流模型动态分割和执行的方法,具有广泛的应用前景。

【技术实现步骤摘要】

属于企业信息处理,尤其是面向服务体系结 构的工作流模型分割

技术介绍
面向服务体系结构(Service Oriented Architecture, SOA)正以其面向业务、松散耦合、 基于标准等特点,成为企业信息系统的主流架构。在面向服务的工作流模型中,各个活动来自于不同的服务,这些服务物理上是分布的。 因此采用由多个工作流机共同执行一个(合成的)工作流模型成为工作流执行技术发展的必 然要求。这不仅符合服务分散和自治的特点,也可以使业务流程的并行性和系统的性能得到 提高。建模是工作流执行的首要任务,而对于分布式工作流,也存在同样的问题。因此,为了 实现工作流的分布式执行,即将业务流程的控制逻辑分布到多个工作流引擎上,首先要进行 工作流模型的分割(分片)。目前这方面的研究和应用还处于起步阶段。Mentor项目提出了一个分布式工作流执行框架,并采用状态图(state chart)作为其工作流模型。Mentor项目基于状态图模型给出了模型静态分割算法,并验证了算法的正确性(MuthP., et al., From centralized workflow specification to distributed workflow execution. Journal ofIntelligent Information Systems, 1998, 10(2): 159-184)。刘必欣等提出了基于角色(刘必欣等.一种基于角色的分布式动态服务组合方法.软件学报,2005, 16(11): 1859-1867.)的分布式动态服务组合方法。该方法将一个全局定义的流程有向图模型划分为各个角色的本地流程模型,每个本地流程模型由该角色的工作流引擎控制,系统模拟实验结果表明该方法比集中式流程控制的性能更好。上述的方法多集中在对模型静态分割方法的关注。已有的方法多用于解决模型静态分割 的情况。也就是说,在工作流实例初始化前就确定各个活动的执行站点,从而进行一次性的 模型分割。而SOA下流程的灵活性和动态性对模型动态分割提出了需求,也就是说,需要根 据工作流的运行情况实时地进行模型的分割和活动的分配。
技术实现思路
本专利技术的目的是针对SOA架构下业务流程分布自治的需求,提供工作流模型动态分割的 方法,使得业务流程在执行过程中实时地进行分割,分割得到的分片被发送到执行站点,从 而增强模型执行的并行性,提高流程执行的效率。本专利技术由多个工作流机共同完成一个业务流程,而且活动在工作流机间的分配随着流程 的运行而动态地进行,其特征是,所述方法是在每一套由服务器端和客户端共同组成的工作流执行系统中依次按照以下步骤实现的 步骤(l)初始化在做站点用的服务器端安装建模模块、分片池模块、活动分配模块、分片管理模块、活 动监控模块,以及数据库,其中建模模块建立以活动网络图模型描述的全局工作流模型,所述活动网络图是一种由节 点和连接弧组成的有向图;节点包括代表在工作流流程中活动的活动节点;代表活动之间关 系的逻辑节点,包括与分支节点、与汇合节点、或分支节点、或汇合节点;其中与分支节点 连接出多个并行执行,即同时执行的分支活动,而与汇合节点汇聚多个并行执行的分支活动; 或分支节点连接出多个选择执行,即互斥的分支活动,而或汇合节点汇聚多个选择执行的分 支活动;参见节点还包 括代表工作流流程开始和结束的标志节点;连接弧连接各种节点,定义节点间的执行顺序关 系,所述活动网络图使用CIMFlow工作流建模软件定义;数据库,设有活动-站点表,活动-实际分配站点表,分片实例表,活动实例表,相关 数据表,其中活动-站点表用于预先存储每个活动的允许执行站点,该活动-站点表分别用活动标识ID 和允许执行站点标识ID标志;活动-实际分配站点表用于记录活动的实际分配站点,设有以下数据项主键,用于标志 活动的标识ID;实际执行站点标识ID;以及分配该活动执行站点的时间;分片实例表,用于记录分片池中的由于对活动网络图模型进行分割后产生的分片的实例, 设有以下数据项主键,为分片实例标识ID,自动生成;分片所关联的过程标识ID;分片实 例状态,包括运行、暂停和终止状态;创建该分片实例的实际执行站点标识ID;该分片实例 的创建时间;以及该分片实例的当前活动标识ID;活动实例表,记录分片实例中的当前活动实例,设有以下数据项主键,是当前活动实 例标识,自动生成;当前活动所关联的分片实例标识ID;当前活动实例的状态,包括运行、 暂停和终止状态;当前活动实例的创建时间;创建该当前活动实例的实际执行站点标识ID; 当前活动实例的名称;当前活动实例执行者标识ID;及后继活动标识ID列表;相关数据表,记录分片实例的相关数据,设有以下数据项当前活动实例标识ID;分片 实例标识ID;数据名称;数据类型,包括数值型、布尔型、字符串型;以及数据值;活动分配模块,在初始化时,从数据库中输入所建活动-站点表,在运行时,接受所述分 片管理模块发送来的当前活动标识,査询该活动-站点表,为当前活动随机选择一个站点作为 实际执行站点,向分片管理模块返回执行站点标识ID;活动监控模块,根据分片管理模块输入的当前活动和实际执行站点数据,构建活动-实际 分配站点表,存储于所述数据库中;分片池模块,与所述分片管理模块互连,用于存取由所述活动-实例执行站点表中的当前 活动实例形成的分片运行信息,其中包括所述分片实例、活动实例和相关数据表;分片管理模块,是用于执行分片的工作流引擎,在运行时向所述活动监控模块报告活动 执行情况,按以下步骤对所述活动网络图模型进行动态分割,并把后继分片发送给目标站点 的分片池模块第l步分片池模块向所述分片管理模块输入用分片实例表示的分片i^,以及分片的当 前活动^第2步所述分片管理模块如步骤(l)所述,从活动分配模块得到一个实际执行站点标识ID;第3步判断当前活动节点的类型-若当前活动^非"与分支"类型的节点,贝U:当前活动^的后继活动记为&所述后继活动即在活动网络图中与^直接连接,并且在^之后的活动;把所述后继活动在分片^中所能达到的那部分记为一个新的分片,并把该部分加入到后继分片列表Fj:zsr中;若当前活动^为"与分支"类型的节点,贝IJ:当前活动^的多个后继活动分别为仏,~,...^},计算限制活动的集合^,其中所述&是分片Fd中,与分支活动4对应的与汇合活动组成的集合;对集合&,^...,^}中 的任意一个&当片i时,将/,.在分片&中达到的那部分加入Fj:i5r ;否则将^在分片i^中达到的,同时7^中的活动在分片i^中不能达到的那部分加入f—丄/sr ;在客户端安装任务客户端模块,该模块通过HTTP协议访问服务器端的分片池模块,获得 站点的实际执行活动列表,供该站点的工作流用户访问并完成任务;步骤(2)按以下步骤实施活动网络图模型的动态分割步骤(2.1)在设定站点,用所述建模模块构建用活动网络图形式描述的全局工作流模型; 步骤(2.2)所述建模模块把活动网络图模型实例信息输入到分片池模块,并把当前设定的 站点作为该活动网络图模型实例的实际执行站点;步骤(2.3)在该实际执行站点执行分片的当前活动,其步骤如下步骤(2.3本文档来自技高网
...

【技术保护点】
支持分布式执行的工作流模型动态分割方法,其特征在于:所述方法是在每一套由服务器端和客户端共同组成的工作流执行系统中依次按照以下步骤实现的:步骤(1)初始化在做站点用的服务器端安装建模模块、分片池模块、活动分配模块、分片管理模块、活动监控模块,以及数据库,其中:建模模块:建立以活动网络图模型描述的全局工作流模型,所述活动网络图是一种由节点和连接弧组成的有向图;节点包括代表在工作流流程中活动的活动节点,代表活动之间关系的逻辑节点,包括与分支节点、与汇合节点、或分支节点、或汇合节点,以及代表工作流流程开始和结束的标志节点;连接弧连接各种节点,定义节点间的执行顺序关系,所述活动网络图使用CIMFlow工作流建模软件定义;数据库,设有:活动-站点表,活动-实际分配站点表,分片实例表,活动实例表,相关数据表,其中:活动-站点表用于预先存储每个活动的允许执行站点,该活动-站点表分别用活动标识ID和允许执行站点标识ID标志;活动-实际分配站点表用于记录活动的实际分配站点,设有以下数据项:主键,用于标志活动的标识ID;实际执行站点标识ID;以及分配该活动执行站点的时间;分片实例表,用于记录分片池中的由于对活动网络图模型进行分割后产生的分片的实例,设有以下数据项:主键,为分片实例标识ID,自动生成;分片所关联的过程标识ID;分片实例状态,包括运行、暂停和终止状态;创建该分片实例的实际执行站点标识ID;该分片实例的创建时间;以及该分片实例的当前活动标识ID;活动实例表,记录分片实例中的当前活动实例,设有以下数据项:主键,是当前活动实例标识,自动生成;当前活动所关联的分片实例标识ID;当前活动实例的状态,包括运行、暂停和终止状态;当前活动实例的创建时间;创建该当前活动实例的实际执行站点标识ID;当前活动实例的名称;当前活动实例执行者标识ID;及后继活动标识ID列表;相关数据表,记录分片实例的相关数据,设有以下数据项:当前活动实例标识ID;分片实例标识ID;数据名称;数据类型,包括数值型、布尔型、字符串型;以及数据值;活动分配模块,在初始化时,从数据库中输入所建活动-站点表,在运行时,接受所述分片管理模块发送来的当前活动标识,查询该活动-站点表,为当前活动随机选择一个站点作为实际执行站点,向分片管理模块返回执行站点标识ID;活动监控模块,根据分片管理模块输入的当前活动和实际执行站点数据,构建活动-实际分配站点表,存储于所述数据库中;分片...

【技术特征摘要】

【专利技术属性】
技术研发人员:范玉顺谭伟
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

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

1