(计算机科学与技术专业论文)基于任务均衡分配算法的工作流引擎研究.pdf_第1页
(计算机科学与技术专业论文)基于任务均衡分配算法的工作流引擎研究.pdf_第2页
(计算机科学与技术专业论文)基于任务均衡分配算法的工作流引擎研究.pdf_第3页
(计算机科学与技术专业论文)基于任务均衡分配算法的工作流引擎研究.pdf_第4页
(计算机科学与技术专业论文)基于任务均衡分配算法的工作流引擎研究.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机科学与技术专业论文)基于任务均衡分配算法的工作流引擎研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

j : r e s e a r c ho nw o r k f l o we n g i n e b a s e do nb a l a n c e dt a s kd i s t r i b u t i o na l g o r i t h m s s p e c i a l t y :c o m p u t e rs c i e n c ea n dt e c h n o l o g y m a s t e r d e g r e ec a n d i d a t e :x i q 堕g 卫垒n h q 垒g s u p e r v i s o r :! q 兰b 垦n g 兰坠p i n g c o l l e g eo fi n f o r m a t i o ns c i e n c e & e n g i n e e r i n g c e n t r a ls o u t hu n i v e r s i t y c h a n g s h ah u n a n p r c 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 土作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。 作者签名: e i 其, i :旦l 年上月4 日 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文并根据国家或湖南省有关部门规定送交学位论文, 允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内 容,可以采用复印、缩印或其它手段保存学位论文。同时授权中国科 学技术信息研究所将本学位论文收录到中国学位论文全文数据库, 并通过网络向社会公众提供信息服务。 日期:2 盟年工月卫日 摘要 工作流技术是流程自动化管理领域新出现的一个研究热点, 它主要是将工作任务分解成多个小任务步骤,按照一定的规则和 时序来进行推进,己达到快速有效完成既定工作任务的目标。流 程自动化的管理,其核心是工作流引擎,而这也是当今研究的焦 点。 本文在对国内外开源工作流引擎进行深入研究的基础上,结 合企业实际需求特点,设计了一种基于n e t 平台的流程自动化管 理系统。本系统主要完成工作流引擎的设计和实现,特别是通过 引入时间控制机制,提出任务均衡分配算法,以此来改进传统的 工作流引擎体系结构,解决了任务分配不均衡的问题,减少了任 务的流转时间,提高了工作效率。本引擎的主要模块包括表单自 动生成,任务节点的判断,任务分配和数据存储等,它实现了对 工作流程的自动化管理,大大提高了企业人员的工作效率。引擎 采用b s 结构开发模式,充分发挥开发模式的优点,为用户提供 了简单明了的人机交互界面。通过数据事务处理技术实现了对数 据的并发访问控制,为大用户访问的实现提供了有效的数据基础, 确保数据的安全性和一致性。 论文首先介绍了工作流和流程自动化管理系统的相关信息, 接着通过对工作流实现的主要支撑技术进行了详细说明,并重点 阐述了对任务均衡分配算法和时间控制机制的研究,完成了对工 作流引擎的设计与实现。最后对工作进行了总结和展望。 关键词工作流,时间控制机制,任务均衡分配算法,流程引擎 a bs t r a c t w o r k f l o w t e c h n o l o g y i nt h ef i e l do f p r o c e s s a u t o m a t i o n m a n a g e m e n ti san e wr e s e a r c hf o c u sa tp r e s e n t i tu s u a l l yd e c o m p o s e s t h et a s ki n t os e v e r a ls m a l lt a s ks t e p s ,a c c o r d i n gt ot h ec e r t a i nt i m i n g r u l e s ,t oc o m p l e t e t h et a s k sq u i c k l ya n de f f e c t i v e l y t h ec o r eo f m a n a g e m e n to fp r o c e s sa u t o m a t i o ni sw o r k f l o we n g i n e ,w h i c hi st h e f o c u so ft h er e s e a r c hc u r r e n t l y t h i st h e s i sc o m b i n e sw i t ht h ea c t u a ln e e d so fe n t e r p r i s e ,w i t h i n d e p t hs t u d yo nt h ed o m e s t i ca n di n t e r n a t i o n a lo p e n s o u r c ew o r k f l o w e n g i n e ,d e s i g n e st h ep r o c e s sa u t o m a t i o nm a n a g e m e n ts y s t e mb a s e d o n n e tp l a t f o r m t h es y s t e ma c c o m p l i s h e sp r i m a r i l yt h ed e s i g na n d i m p l e m e n t a t i o n o fw o r k f i o w e n g i n e ,t h r o u g h t h et i m ec o n t r o l m e c h a n i s m ,p u t sf o r w a r dab a l a n c e dt a s kd i s t r i b u t i o na l g o r i t h m s ,i n o r d e rt oi m p r o v et h et r a d i t i o n a la r c h i t e c t u r eo ft h ew o r k f l o we n g i n e ,a n d s o l v e st h ei m b a l a n c ei nt h ed i s t r i b u t i o no ft a s k s ,r e d u c e st h ec i r c u l a t i o n t i m eo ft h et a s ka n di m p r o v e st h ew o r ke f f i c i e n c y t h em a i nm o d u l eo f t h i se n g i n ec o n s i s t so ft h ea u t o m a t i c a l l yg e n e r a t e df o r m ,j u d g e m e n to f t h et a s kn o d e s ,t a s ka s s i g n m e n t ,d a t as t o r a g ea n ds oo n i ta c h i e v e st h e a u t o m a t i o no fw o r k f l o wm a n a g e m e n t ,g r e a t l yi n c r e a s e st h ee f f i c i e n c yo f e n t e r p r i s es t a f f t h ee n g i n e ,w i t hb ss t r u c t u r e ,u s e st h ea d v a n t a g e so f t h ed e v e l o p i n gm o d e l st op r o v i d eu s e r sw i t has i m p l ei n t e r a c t i v e i n t e r f a c e t h r o u g ht h ed a t at r a n s a c t i o np r o c e s s i n gt e c h n o l o g yt oa c h i e v e c o n c u r r e n td a t aa c c e s sc o n t r o l ,i tr e a l i z e st h et a r g e tw h i c hal o to fu s e r s c a na c c e s st ot h ed a t ac o n c u r r e n t l y , a n da l s oe n s u r e st h ed a t as e c u r i t y a n d c o n s i s t e n c y f i r s t l y , t h i st h e s i si n t r o d u c e st h ew o r k f l o wa n dp r o c e s sa u t o m a t i o n m a n a g e m e n ts y s t e m ,a n dt h e n d e s c r i b si nd e t a i la b o u tt h em a i n s u p p o r t i n gt e c h n o l o g i e so ft h ew o r k f l o w , f o c u s e so nt h eb a l a n c e dt a s k d i s t r i b u t i o na l g o r i t h m sa n dt h et i m ec o n t r o lm e c h a n i s m a n di t c o m p l e t e st h ed e s i g na n di m p l e m e n t a t i o no fw o r k f l o we n g i n e f i n a l l y , t h ep 印e rs u m su pt h ew h o l ew o r k k e yw o r d sw o r k f l o w , t i m ec o n t r o lm e c h a n i s m ,b a l a n c e dt a s k l i d i s t r i b u t i o na l g o r i t h m s ,p r o c e s se n g i n e i i i 目录 第一章绪论1 1 1 课题的研究背景1 1 2 课题的研究现状2 。 1 3 课题的研究目标和意义及内容3 1 4 论文的组织3 第二章工作流与相关支撑技术研究5 2 1 工作流概述5 2 2 流程自动化管理系统7 2 2 1 流程自动化管理系统概念与介绍7 2 2 2 流程自动化管理系统的体系结构8 2 3 系统支撑技术分析9 2 3 1x l 、i l 9 2 3 1x p d l 1 1 2 4 流程自动化管理系统引擎技术l l 2 5 开源工作流引擎1 2 2 5 1 引擎分析一1 2 2 5 1 小结1 4 2 6 开发设计模式分析l4 第三章任务均衡分配算法的研究l6 3 1 引言1 6 3 1 1 问题描述1 6 3 1 2 当前研究分析17 3 2 任务均衡分配算法l9 3 2 1 时间控制机制1 9 3 2 2 基本思想2 0 3 2 3 过程分析2 2 3 3 算法分析2 2 3 3 1 理论分析2 2 3 3 2 性能分析2 6 3 4 本章小结2 6 第四章工作流引擎技术的实现2 7 4 1 引擎功能需求2 7 4 2 工作流引擎设计原则2 7 4 3 引擎总体设计方案2 8 4 3 1 引擎功能模块设计2 8 4 3 2 引擎结构设计2 9 4 3 3 表单的动态生成方案2 9 4 3 4 表单数据的存取方案3 2 4 3 5 节点流转的分析与判断3 4 4 3 6 任务时间换算解决方案一3 5 4 3 7 数据库设计3 6 4 3 8 网页安全设计。3 6 4 3 9 数据库安全设计3 9 4 4 系统性能测试3 9 第五章结束语4 1 5 1 工作总结4 1 5 2 今后的工作展望4 2 参考文献4 3 致谢4 7 攻读学位期间主要的研究成果4 8 v 硕士学位论文第章绪论 第一章绪论 在知识与技术日新月异,高速发展的今天,跨地域、跨平台的网络应用 其规模越来越大,其应用也越来越广泛,特别是在当今企业面临的激烈的竞 争环境中,怎样去有效提高工作效率,整合工作流程就显得尤为重要,为此 越来越多的企业也采用了工作流的解决方案去缓解和解决这一问题。当前如 何去设计与实现一个更贴合企业实际需要的工作流引擎已经成为当下的研究 热点。 1 1 课题的研究背景 本课题来源于中南大学与湖南移动长沙分公司合作研发的“流程自动化 管理系统 项目。为了充分去整合长沙移动分公司内部的各种信息资源,使 公司充分实现内部各种信息共享化、企业各个工作流程自动化、工作秩序的 规范化,从而形成一整套可以适用于企业日常业务需求以及信息化处理的应 用体系。 在现代社会,传统的企业工作流程已经逐渐不适应现代社会的快节奏了, 存在着许多问题,概况起来有以下几点。 1 信息传递效率缓慢,而且更为重要的是很多信息存储在不同的应用平 台和数据库中,格式与存储方式不一致,从而使得许多信息相对分散,不能 很好的利用。 2 多数工作流程存在不必要的环节过多,处理时间与工作任务量不匹配, 造成任务执行缓慢,缺乏竞争力。流程审批环节安排不合理,员工的许多工 作都要自己拿着纸质单据去向上级请示,往还虽然花费了大量的人力,物力, 但收效甚微。 3 工作环节缺乏智能性,若遇到工作任务不熟悉或任务量过多时,就只 能等待处理,而且原有体系架构相对陈1 日,无法很好地建立起这样一个协同 运作的环境。没有做到物尽其用,人尽其能。 现有系统已经不能完全满足企业日益增长的需求,企业迫切需要个可 以实现整合内外资源的高效的信息系统,从而提升其管理水平。 工作流,作为本项目的核心部分,可以为企业员工提高方便,快速,便 捷,高效的工作平台,特别是在竞争日益激烈的当今社会,为企业赢得宝贵 时问,最终获得成功提供了坚实的保障。 硕士学位论文第一章绪论 1 2 课题的研究现状 随着知识技术的迅速发展,现代企业的管理系统所具备的异构性特征越 来越明显和突出,相应的企业信息资源也分布在异构的数据环境中,信息资 源之间的联系表现出难以整合的特点,在这样的情况下工作流技术越来越成 为企业界和学术界关注的热点领域。 工作流近年来发展迅猛;是目前一个较新的课题,它是由执行者和管理 系统等组成的系统,以达到帮助其实现任务目标。也就是说,它是一个人机 交互性比较强的系统,能够在计算机的辅助下完成各种以往难以完成的工作, 更快速有效的推进工作的进展。它利用当前热门的信息网络技术、人机交互 技术和数据库技术实现对任务进行分解,并使其高效运转,而且对执行的各 项任务进行密切监控,以此切实有效的保证工作的顺利进行。 对于工作流的发展研究,上世纪八十年代一代工作流大师v a n d e ra a l s t 1 1 基于p e t r i 网【2 l 定义了工作流网( w f n e t ) t 3 1 模型更是进一步推动了p e t r i 网与工作 流技术1 4 j 的发展,目前关于工作流的大部分的文献资料中多以使用p e t r i 网或各 种扩展p e t r i 网以及马尔可夫链【5 】来为工作流模型【6 】建模和仿真其效果,例如时 间p e t r i 网【7 1 ,着色p e t r i 网【8 1 和时序p e t r i l 网【9 1 等。 对于工作流时间控制的研究方面,也是使用了基于工作流图和p e t r i 网的方 法来进行仿真建模。 文献【1 0 】介绍了使用两种方法来进行建模,其一是通过基于赋时活动图, 通过它来建立包括节点常有的各种属性,如节点的延迟、完成期限、正常日期 以及各种时间限制约束,并将所有的时间限制、约束条件等转变为节点的各种 属性;其二是基于延迟条件的工作流图模型,利用延迟的间隔条件因素来描 述节点执行任务时的各种不确定性,定义了最早延迟条件、最晚时间约束以及 其它条件约束,并引入延迟存储模式等不同的方式来对任务进行具体化描述。 例如任幻的延迟约束埘= m ,w q ) , a q ) a q ) 表两的最大最小延迟约束条件。 4 ( f ) b ( ,) 4 = b ( ,) 表看寸具有精确延迟。 文献1 1 l 】在时间p e t r i 网的基础上提出了一种新的p e t r i 网,也就是资源条件 任务网( r e s o u r c ec o n d i t i o n t a s kn e t ,简称i 坨t n ) ,利用它来描述流程自动化 管理系统的各种任务的执行的过程。它主要是对时间p e t r i 网进行了一些扩展, 和延伸,包括引入的位置和各个转移之间的相关权弧的数据结构、采用了比 较复杂的令牌类型和产生机制。 2 硕士学位论文第一章绪论 1 3 课题的研究目标和意义及内容 一个适合企业需要的流程自动化管理平台,解决以往工作流运转中发生的任 务分配不均,不能及时完成工作任务,而造成超时的问题,对企业中各个以往分 散的部门的工作有着重要意义。结合多种时下主流的技术,实现对传统业务流程 的电子化改造,极大地减轻了企业工作人员的工作强度,提高了工作效率。使企 业的业务管理从以往的分散、不易统计管理的局面迈向统一、高效的流程管理手 段,积极整合企业各种信息与相关资源,使企业实现管理、监督、执行、规划 于一体的适应新形势下的现代企业的目标,为企业带来全新的变革。 流程自动化管理平台的应用,目前在中小企业应用中还不普及。因此综合分 析,彻底解决企业以往工作任务流转时间过长,任务执行不到位的情况,这对于 其它工作流管理系统的设计开发与应用有较强的参考价值。 本课题研究了时间控制机制,通过任务均衡分配算法来改进和优化引擎系统 结构,并实现了工作流引擎,提出了在引擎中引入时间控制机制的思想来解决以 往任务分配不均的问题,任务流转时间过长的局面。 本文的主要研究内容。 1 研究当前热门的开源工作流引擎设计思想。 2 调研、分析当前企业已有的旧体系所面临的困境和问题。 3 设计时间控制机制,研究任务均衡分配算法,使其达到解决或大大缓解 目前工作流自动化系统中时常发生的任务分配不均,任务周转时间长的现状,并 通过实际应用来表明算法的有效性,达到最终的目标。 4 设计并实现了工作流的相关关键技术,并开发了引擎,使其具有很好的 扩展性,特别是以后的更新升级所需的接口。 1 4 论文的组织 本论文共分为五章。 第一章绪论。这一章主要介绍了课题当前的的研究背景和研究现状,并结 合目前热门的工作流研究领域特点,详细阐述了本课题开发的必要性及其重要 意义。 第二章工作流与相关支撑技术研究。这一章主要介绍了工作流的相关概念 和流程自动化管理系统的介绍,以及对实现工作流的主要技术进行了深入的研 究,特别是对工作流的核心工作流引擎的实现技术进行了进一步的分析与研究, 并对系统开发的工具和平台进行了选型分析。 第三章任务均衡分配算法的研究。这一章主要对时间控制机制的设计方案, 硕士学位论文第一章绪论 包括结构,接口设计和数据设计进行了详细的研究,对任务均衡分配算法的主 要思路,实现方式进行了研究,并与两种主流的任务分配算法进行了对比分析。 第四章工作流引擎技术的实现。这一章主要先分析研究了引入时间控制机 制对于解决任务分配的重要性,并介绍了工作流引擎的具体需求,制定了相关 设计原则和总体实现方案,包括引擎实现的任务分配,时间控制,表单生成和 数据库设计等方面的内容,并对较为头疼的系统安全设计进行了分析和实现。 第五章结束语。对所做的设计与开发工作进行了总结,并阐述了将来进一 步的扩展与完善此系统开发需要做的工作。 4 硕士学位论文第二章工作流与相关支撑技术研究 第二章工作流与相关支撑技术研究 工作流主要是针对日常工作中的工作进行分解成相关的小任务而提出的一 个概念。流程自动化管理系统是指利用工作流的相关概念和技术来具体实现其目 的的一种管理系统。 2 1 工作流概述 1 工作流定义和相关概念介绍 工作流,通俗来说是指将工作分解成定义好的任务,分派给合适的执行者, 并在规定的时间范围内完成,并流转后续任务,已达到完成工作的目的。 工作流,它是通过对于各种业务流程的一种信息化的表示,拥有所有能够完 成整个业务流程所需要的各种参数因子。这些参数包括对这些流程中所有步骤的 相关属性定义、流转的顺序、判断的条件以及所有步骤的具体相关执行人所属的 角色等。 一代工作流大师a a l s t 提出了工作流的一个相对较好的参考模型,并且这个 模型主要包括基本的工作流定义属性,所需的建模分析以及基本功能与结构等 盘蟹 专于。 于1 9 9 3 年成立的工作流管理联盟( w o r k f l o wm a n a g e m e n tc o a l i t i o n ,w f m c ) i l l 】 关于工作流的定义是:它是一种逻辑运行过程,依据不同的方式、规则和时序由 具体的负责人通过不同的方式来完成,并且这也成为当前的国际标准。它也对工 作流相关概念做了详细的说明。 ( 1 ) 业务过程( b u s i n e s sp r o g r e s s ) :是指企业中能够完整执行的清晰的,具体 的业务逻辑过程,能够具备可再细分性,并且能够对其各部分进行详细的解释和 划分。 ( 2 ) 过程定义( p r o c e s sd e f i n i t i o n ) :是指将业务过程的定义用计算机语言进行 说明和模拟。包括所需的条件、状态、属性等等要素。主要是通过定义工具来进 行定义和说明。 ( 3 ) 活动( a c t i v i t y ) 通常来说是指节点,它包括了很多重要的信息,例如各 种判断条件,所需的角色用户,组织层级关系,时间条件和各种约束机制。它通 常是在人机交互的过程中完成的,可以通过系统内部机制来管理,也可以通过执 行者来亲自执行,具体的实施依据活动节点的要求以及它所占的属性重要程度。 ( 4 ) 过程实例( p r o c e s si n s t a n c e s ) :是指已经对过程定义后,由抽象到具体实 施的一个过程,也可理解为将人员实际工作进行电子化。在它执行过程中,引擎 硕士学位论文 部分通过解释这些事先已经定义好的各种说明关系,按照一定的时序和相应的规 则来控制和监督它的运行过程,对其产生的数据进行分析和判断,按照要求进行 流转。 ( 5 ) 活动实例( a c t i v i t yi n s t a n c e s ) :是指对定义好的节点进行实际运行操作, 每一个实例都有不同的节点活动,它们相对独立,但又相互联系,是过程实例不 可缺少的一部分,也是人机交互中的重要组织部分,包括交互时的信息提示,显 示等。 ( 6 ) 工作项列表( w o r k l i s t ) :是指在任务分配过程中所有用户角色各自所拥有 的任务的详细描述,它主要包括任务的性质,所属类别,时间条件,优先等级, 任务主要内容等信息。 2 工作流参考模型 一般来说,一个构建合理,并且完备的工作流基本上都拥有如下特征。 ( 1 ) 定义实例化:主要是指在构建好的模型的基础上对定义好的工作流程进 行实例定义,包括相关数据域,流程运行数据,参数设定,任务相关负责人和各 项时间信息等。 ( 2 ) 实例监控:主要是指在执行工作流程过程中,对流程所有步骤中的所有 数据进行监控,并对所有工作任务进行合适的分配,流转,前推和调度工作。主 要包括对工作具体候选者,任务执行情况,所需时间,已经耗费时间,最迟完成 时间等信息进行监控。 ( 3 ) 扩展接口:主要是对工作流执行过程中所需要的具体用户进行操作的接 口设置,提供合理且必需的人机交互功能,以期实现在工作执行过程中具体用户 与实际系统进行所需的交互的目的。 对于工作流模型的研究开发和相关设计,工作流管理联盟制定了一个通用的 工作流参考模型,如图2 1 所示。 图2 - 1 工作流参考模型 6 硕士学位论文 第二章工作流与相关支撑技术研究 当前许多研究学者在研究工作流时也多数采用这个模型,它已经成为目前研 究人员设计和开发工作流时应遵循的重要国际标准。模型的各个模块和接口的功 能描述如下。 ( 1 ) 定义工具。通常是指使用流程设计工具来对流程进行定义说明,将逻辑 业务过程转化为计算机能够识别的定义语言,能够让系统明白怎样去解释说明这 些语言所表达的意思。它对应的接口l 主要是完成对数据的传输和过滤,将数据 解析过来后经过转变成为计算机的形式化语言。 ( 2 ) 工作流执行服务。它所完成的是工作流的核心工作,主要是对定义好的 业务流程进行解析和驱动,实现对流程的任务分解和节点活动判断,任务的分配 等等工作。它对应的接f f l 5 主要是完成对数据的分析和判断,任务的分配情况以 及数据的传递工作。 ( 3 ) 管理工具。主要是对流程实例的运行状态进行监控,对任务的执行情况 进行监督,及时发现运行过程中的错误和人员执行情况。它对应的接1 = 1 4 主要是 实现外部监控系统对引擎的数据进行分析和判断,记录日志,并及时发现情况和 完成数据传递。 ( 4 ) 客户应用。主要是一些外部的应用程序,根据具体需要而实现的一些程 序应用,由具体使用的客户决定。它对应的接d 3 主要是对一些接口设置提供帮 助,完成数据的传输工作。 ( 5 ) 直接应用程序。是指由引擎直接调用的应用程序,用于完成引擎所需的 各项任务。它对应的接1 = 1 2 也主要是完成对各项数据的传输和接口的调用情况, 并对数据进行相应的检测。 2 2 流程自动化管理系统 2 2 1 流程自动化管理系统概念与介绍 流程自动化管理系统也称为工作流管理系统,是将抽象的工作流具体实现 的一种业务管理系统,在国外已经发展的相对迅猛,在国内也有了相当好的发 展趋势,相关论文文献也比较多。 流程自动化管理系统:通常来说是指一个人机交互的管理系统,主要根据 一些定义和规则来完成对工作任务的执行推进情况,监控任务的流转情况,使 得任务能够及时高效完成。 流程自动化管理系统概况来说有以下几个发展阶段。 初级阶段( 1 9 8 9 1 9 9 0 ) 。主要是对办公领域【16 】的一些工作任务进行分析和 研究,将相应的认为分解成小模块任务,并提出了相应的理论分析。此阶段主 7 硕士学位论文 第二章工作流与相关支撑技术研究 要是对工作流有了最初的研究和认识。 模拟阶段( 1 9 9 0 1 9 9 4 ) 。主要是对初级阶段的理论研究和探索进行进一步 分析,并尝试模拟建模。并且重要的是对工作流的认识进一步加深,出现了一 个国际标准组织工作流管理联盟,并制定相关的参考模型和结构说明文档。 实践阶段( 1 9 9 4 至今) 。主要对工作流的研究和探索进一步加深,对工作 流的实际应用进行了越来越多的尝试,并产生了很好的效果,如今已经有很多 开源的工作流引擎以及商用的流程自动化管理系统。而且这种实践还会继续, 研究人员会对其结合当前的技术和环境特点一直研究和探索下去。 2 2 2 流程自动化管理系统的体系结构 在对工作流进行了详细的研究和分析之后,科研人员又对工作流的模型的 体系结构进行了探索,工作流管理联盟为此给出了一些体系结构标准。它主要 提供了体系机构的主要模块部分,包括流程的定义、解析、引擎的功能特征、 外部的常用应用、接口的设计、数据的存储和传输以及人机交互操作模块等等。 它基本概况了常用的工作流特点,如图2 2 所示。 臣亟习。 定义i 图2 - 2 流程自动化管理系统体系结构 8 硕士学位论文 第二章工作流与相关支撑技术研究 2 3 系统支撑技术分析 2 3 1x m l x m l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语言) 是由w 3 c ( w o r l dw d e w e b c o n s o r t i u m ,万维网组织) 提出的一种能够用于描述相应数据结构的语言。 也是s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,标准通用标记语言) 里的一 个子集合。除此之外,它还可以进行相应的结构调准,也就是可扩展性强,而 且肩负着数据传输的重要作用。 1 x m l 的组成 它主要包括以下几个部分。 ( 1 ) 模式( s c h e m a ) 。主要是对x m l 的逻辑结构进行了相应的规定。包括主 要的部件元素,属性特点等信息。可以用于对文档格式进行相应的审核。 ( 2 ) 可扩展连接语言( e x t e n s i b l el i n kl a n g u a g e ,x l l ) 。主要是对时下流行的 w e b 应用提供了快速有效的流转方向,特别适用于表单乔面的申请转向和外部 应用。 ( 3 ) 可扩展样式语言( e x t e n s i b l es t y l e s h e e tl a n g u a g e ,x s l ) 。主要是用于对 x m l 的文档样式进行确认,其过程就是从x m l 文档中提取相关信息并以h t m l 代码浏览效果的形式显示给用户浏览。 2 x m l 的特点 x m l 与其他w e b 技术有许多不同点。 ( 1 ) x m l 语法简单,可读性强,上手快,能够与不同技术结合应用,具有 很好的实用性。 ( 2 ) 它的通用性好,结构模式简单,对开发人员来说适应性好,层次简单 实用。 ( 3 ) 可扩展性好,标记语言可用于跨平台应用。特别是在数据的存储和解 析方面不受平台限制。 3 x m l 的应用和接口 x m l 的应用主要体现以下几方面。 ( 1 ) 可以通过它在异构数据库之间进行相应的转换,保证数据的可读性, 安全性。可以减少服务端的负载,通过x m l 文件,将数据处理的任务交给客 户端,这样就将大量运算任务分布在客户端,从而更容易的使分布式计算变为 可能。 ( 2 ) 最终呈现给用户的界面简单易懂,更重要的是他能够对负载均衡起到 重要作用,能够分担一部分负载,确保用户体验性好,无等待时间,快速方便 9 硕士学位论文第二章工作流与相关支撑技术研究 好用。 ( 3 ) x m l 接口丰富,主要有s a x 和d o m 两种。为使用者提供了不可多得 的接口设置,方便开发人员在很短的时间内就能开发出合适实用的各种应用程 序。 x m l 接1 5 1 特性丰富,类型较多,在不断的使用和开发过程中,已经对其的 接1 3 设置方面基本做到做到尽善尽美,在常用的主流接1 3 方面,主要有s a x 和 d o m 两种。 ( 1 ) s a x ( s i m p l e a p if o rx m l ) 。它是一个不错实用接口。主要原理是接收到 可以触发的数据事件时则及时触发相应的程序进行推进。迅速提交给服务器进 行相应处理。对接收的数据类型可以分门别类,对标记的开始和结束之处进行 判断,如同扫描设备一样,扫描到结尾则自动停止。 由于它的原理简单,对数据的处理时接收到一部分处理一部分,而且能够 同步进行,因此它具有相对较好的性能。 概况来说使用s a x 时会触发的事件较少,通常有三类。 一类扫描触发和结束触发类事件,主要它需要调用相应的启动函数或终止 函数。 二类在处理标记语言的各项元素时会产生相应的模式事件,主要是每处理 一部分数据,它就会对数据进行扫描和判断,对解析处理的数据进行匹配,通 过产生相应的事件来告知服务器去调用合适的函数去处理这些已经被解析的数 据。 三类在数据的属性和特征不确定前,它会一直去扫描和匹配合适的类型, 一旦扫描不到,它就会提示用户,反之则继续前进,对接收到的数据进行处理。 在这些过程中,它通常是单独的,相对独立的事件,不影响后续的数据处理情 况。 ( 2 ) d o m ( d o c u m e n to b j e c tm o d e l ,文档对象模型) 。它主要是提供了一个可 以用于解析文档的树结构接口,将文件进行层次划分和节点判断。包括对文档 的属性,元素等信息进行了模型化。 在d o m 的发展过程中,不同时期结合当时的技术特点发展了不同等级的 接口类别,通常来说,d o m 共有三个等级。 一级d o m 。主要是通过对h t m l 代码进行扩展,引入了其专用的数据对 象,以此来实现界面的呈现工作;通过对x m l 文档进行解析判断,将其解析 成为d o m 适用的结构模型,包括对结构和数据类型方面。方便了当时开发人 员的设计,开阔了视野。 二级d o m 。主要是对一级d o m 进行了相应的扩展和应用处理,引入了样 l o 硕士学位论文第二章工作流与相关支撑技术研究 式和视图的接口类型,并对事件接口进行了优化处理。其中样式接口主要是对 浏览器样式进行处理,使其更符合当前的样式标准,包括界面的优化处理,丰 富了用户的体验。 视图接口主要是对数据的处理上进行相应的调整和优化。增加了对不同界 面边缘的数据处理,使得效果更加人性化、实用化。能够对数据的处理更加快 速,性能得到一定的提升。 三级d o m 。主要是对二级d o m 进行了衍生扩展,它主要是对一份文档进 行判断,评估是否能进行处理,保存文档之后进行处理,并对文档结构进行分 析,对数据类型和属性特点进行判断,层次结构清晰易懂,条理清楚明白,使 开发人员的工作量大幅减少。 2 3 1x p d l x p d l ( x m lp r o c e s sd e f i n i t i o nl a n g u a g e ,x m l 过程定义语言) 概况来说是 指一个标准化的,适用性强,易于理解的语言,主要作用是用于定义逻辑业务 过程的。它的用户呈现界面表现可以大致相同,但由于内部设计与外部的样式 接口分开,具有相对的独立性。因此内部代码流程可以使开发人员不局限于外 部样式而设计达到自己想要的目的与结果,其前提是符合x p d l 的相关规范格 式。 2 4 流程自动化管理系统引擎技术 流程自动化管理系统的核心是引擎部分,它是整个流程能否正常工作的核 心所在。主要工作是对解析好的数据进行实例化,驱动工作流程的正常流转和 运行,为流程实例的正常运行提供必要的运行支持、监督管理以及相应的程序 服务接口。 从功能上划分,主要分为五个主要部分。 ( 1 ) 流程解析部分。主要是对外部流程设计器所做好的工作流程进行解释 说明,将节点数据和用户数据进行解析和过滤,并将其转换为可在系统中运行 的工作流程。 ( 2 ) 任务分配部分。主要将工作流程分解成多个小任务部分,并对每个任 务过程进行分配,调度以使其在规定的时间内完成相应的任务。这是引擎中相 当重要的部分。 ( 3 ) 流程监控部分。主要是对流程各项任务在流转过程中提供完善的时间 监控,任务执行者监控,以及其它相关信息的监控情况。相应的操作日志记录 也可由其完成。 硕士学位论文 ( 4 ) 用户操作部分。主要是提供人机交互的操作接i = 1 ,提供相应的可操作 性界面,提示用户进行操作,其内容主要包括任务信息显示、时间信息、任务 内容信息等功能。 ( 5 ) 扩展模块部分。主要用于提供可以适应多数主流应用平台的相关接口 部分,特别是对相关数据的访问和传输方面,以及数据的整合情况。具体包括 数据安全和数据一致性。 一个好的工作流引擎通常支持多种常用的工作流程模式,除了最基本的顺 序、循环、并发、嵌套、分支以及归并等模式外,还需支持企业特需的工作模 式。例如回退模式、延时模式、转派模式等其它多种特殊的流程模式。 2 5 开源工作流引擎 2 5 1 引擎分析 当前国内外流行的开源工作流引擎主要有s h a r k ,o b e ,i b p m , o s w o r k f l o w 。它们的设计思想有相似的地方,也有不同的地方。 ( 1 ) e n h y d r a s h a r k 。简称s h a r k ,是目前常用的引擎中比较庞大和比较完善 的开源引擎之一,它使用w f m c 推荐的流程定义语言x p d l 来定义工作流程, 采用j a v a 进行开发。由于它的内部所拥有的模块众多,支持异构数据处理方式, 快捷的数据传输机制以及数据处理的一致性机制,并且支持常用的各种工作流 程模式,接口设置丰富。 s h a r k 的引擎机制主要是通过对每一步的工作任务进行循环查找和遍历,一 旦发现符合继续流转的任务则提取并前进,如图2 3 所示。 图2 - 3s h a r k 调度示意图 1 2 叫亨。童哪字。固 硕士学位论文第二章工作流与相关支撑技术研究 ( 2 ) o b e ( o p e nb u s i n e s se n g i n e ) 。它也支持工作流管理联盟提出的定义标 准,主要使用x p d l 来进行流程定义工作。它是一款开源的比较优秀的引擎, 采用j a v a 进行构建,提供了丰富的工具包来帮助开发人员进行开发,其工作模 式如图2 4 所示。 圆 嘲 么塑 数|- - _ 。- 。- 。- 。_ _ _ 。h p - _ h - _ _ ,“j f i j 断任务节 点自进 1r 表单的构建 1 r r用户、 图2 - 4o b e 工作模式示意图 。 ( 3 ) j b p m ( j a v ab u s i n e s sp r o c e s sm a n a g e m e n t ) :它也是一款比较流行的采用 j a v a 进行开发的工作流引擎。通过生成一个随机标识,依靠标识的流转来管理 工作流的推进。通过这样来对工作任务进行判断,完成任务的流转工作,其过 程如图2 5 所示。 据 输 一 图2 - 5j b p m 工作示意图 锣争亨 硕士学位论文 第二章工作流与相关支撑技术研究 ( 4 ) o s w o r k f l o w - 它是一个轻量级的工作流引擎,支持的流程模式并不多, 但它拥有许多的很好的接口,可供开发人员进行自主开发。通过它丰富的扩展 函数机制,开发人员可以自己在o s w o r k f l o w 利用接1 2 1 来开发函数实现想要的 工作流效果。o s w o r k f l o w 原始模型如图2 - 6 所示。 图2 - 6o s w o r k f i o w 原始模型图 2 5 1 小结 本文分析的这几种工作流引擎都是当前比较流行的开源引擎,采用j a v a 进 行设计开发,大多都能支持基本的工作流程,有些已经进行了实际应用,取得 的不错的效果。但这些引擎都没有对任务进行均衡分配的机制,存在着任务分 配不均,流转时间过长,不利于提高工作效率的问题。因此可以对原有的工作 流引擎进行优化和改进,开发出一个可以解决以上问题的引擎,这对今后工作 流引擎的研究和开发起到参考作用。 2 6 开发设计模式分析 众所周知,一套好的设计模式的选择将对系统的开发起着相当大的影响, 直接影响到项目开发的进展情况。 当前流行的设计模式主要有c s ( c l i e n t s e r v e r ,客户端)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论