计算机工程与应用2005.
141引言现在关于网格的一种较为普遍的认识是网格(Grid)技术是要把整个因特网上的各种资源整合成一台巨大的计算机,从而实现资源共享与协同工作[6].
信息网格是利用网格技术实现信息的共享、管理和提供信息服务的系统,主要解决的是广域、异构信息的共享、互连和互操作问题,以满足企业、政府部门等组织信息共享的需求.
信息网格(InfomationGrid)的目的是在数据库技术、因特网技术、网格技术、万维网服务等技术的基础上,研究信息网格的机制和体系结构,进而指导信息网格系统及应用的开发.
信息网格平台并不强调网格的地理规模,而是强调信息资源的有效共享和管理.
信息网格中有一种特殊的信息共享.
这是一种动态的类似于"流"的机制,由特定的人员分步骤地处理完一件事情,每个环节的信息只对指定的具有某种身份的人员共享.
比如在企业中很常见的报销机票事件.
通常由这几个阶段构成:提出申请,部门经理审批,经理审批,财务部门办理.
提出申请可以是每位员工.
员工填写的申请信息只能给部门经理看到和处理,以后各环节有类似的特点.
以往的信息网格主要解决如何实现资源的有效共享,以及由此而引发的访问控制,单一系统映像等问题,对于这类具有一定智能性,在系统中"自动"运行的"工作流程"的研究比较少.
该文对信息网格平台的工作流程作了研究和分析,本文的"工作流程"已经实现并加以应用,其典型的应用如信息群发、员工工作汇报、网络资源申请等.
文章的内容安排:第2节介绍信息网格平台工作流程的特点,第3节提出信息网格平台工作流程的体系结构,第4节介绍其设计和实现.
第5节是文章的结论.
2信息网格平台流程的特点一般的信息网格平台工作流程具有以下的特点:资源和节点的分布:接入信息网格的资源(物理资源、虚拟资源、有效资源)是分布的,呈现动态开放性和实时性,网格服务节点是分布的.
用户分散:建立在信息网格技术上的网格流程的用户在地理上也是分散的,相关的用户信息和权限信息是分布的.
用户接入网格客户端是分布的,可以跨局域网,也可跨广域网.
动态性:不仅体现在网格体系结构是动态扩展变化的;而且资源,用户信息、身份,用户登录点也是动态扩展的.
分散控制:针对以上特点和以用户为中心的原则,在设计和实现流程时实行分散控制.
这样比较灵活,高效,而且当某一节点发生问题,只需对该节点进行修复,而不影响其它节点正常工作,从而提高了系统的可靠性.
自主控制:定义好的流程作为一种特殊的资源,其提供者对它有自主控制的权限,并决定其共享方式.
3信息网格平台流程的体系结构信息网格流程主要解决的是企业分布的信息资源共享需要,同时还要满足自主控制的要求,这两个基本的需要通过社信息网格平台工作流程的实现郭域峰1李晓林1荣江21(中国科学院计算技术研究所软件室,北京100080)2(中国科学院研究生院,北京100039)E-mail:guoyufeng@software.
ict.
ac.
cn摘要信息网格系统是利用网格技术实现信息资源的共享、管理和提供信息服务的系统.
该文结合信息网格系统在企业信息共享研究和实施工作,分析了基于信息网格平台流程引擎的关键问题,提出了信息网格平台流程的体系结构,并讨论了实现细节,并就实际工程中的使用进行初步评价.
关键词信息网格工作流程文章编号1002-8331-(2005)14-0153-03文献标识码A中图分类号TP393TheImplementationofWorkFlowonInformationGridPlatformGuoYufeng1LiXiaolin1RongJiang21(InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100080)2(GraduateSchooloftheChineseAcademyofSciences,Beijing100039)Abstract:InformationGridisasystemusingthegridtechnologiestoachievethesharing,managingofinformationre-sourcesandtoprovideinformationservices.
Thispaperdiscussestheworkflowenginebasedontheinformationgridplatform,andpresentsitsarchitecture.
Animplementationcasedescribesdetailprocessofworkflowbasedoninformationgridplatform,primaryevaluationismadeaccordingtotheimplementation.
Keywords:InformationGrid,workflow基金项目:自然科学基金委国家杰出青年科学基金(编号:699925205);中国科学院知识创新工程(编号:20014010)资助作者简介:郭域峰,男,硕士生,主要研究方向为信息网格体系、信息网格应用技术.
李晓林,男,助理研究员,主要研究方向为信息网格使用模式、评价体系、体系结构.
1532005.
14计算机工程与应用区统一起来.
社区是信息网格最外围的概念和结构,其他的信息共享和管理都是以社区为组织单位.
信息网格平台中把企业内的分支机构或者职能部门抽象成为若干个独立、自治的逻辑单元,以实现信息共享和自主控制,称这些逻辑单元为社区.
每个社区由用户、资源、角色等基本元素组成.
如一个单位的人事处、财务处、物资处、经理办公室等部门均可视为社区.
其典型的数据结构是:Community{cid:社区代号name:社区的名称location:保存的位置desc:社区的描述信息userentry{}:社区所有的用户roleentry{}:用户的角色resourceentry{}:社区的资源}信息网格流程的体系结构是以社区为基本组织单位的体系结构,如图1所示.
图1信息网格平台流程体系结构流程各个层次的信息(定义信息、初始化信息、任务信息)都分别保存在本社区的数据库系统中.
一方面每个社区的流程操作及其相关信息是彼此独立的,这实现了分散控制和自主控制的目标.
另一方面社区间通过流程引擎对其他社区的流程进行操作和共享.
这种体系结构体现了分散控制和集中控制的有机统一.
流程引擎具体的又可分为三个层次:流程层、实例化层和任务层.
这三个层次是对流程的由粗粒度到细粒度,由宏观到微观的描述.
在流程层,流程是一个抽象、静态的概念,这和面向对象程序设计中的类相似.
流程信息存储在流程定义者所在社区.
在初始化层,流程初始化成一个个实例.
和面向对象程序设计中创建一个类的对象相似.
实例化信息存储在实例化发起人所在的社区,这样设计是为了便于信息的自主控制.
任务层处理的对象是流程各级的任务及其相应的状态信息和控制信息.
任务信息存储在每个参与者的本地社区.
在这一层,各个节点的信息是分散在自己的本地节点上,以便于实时、灵活地控制.
流程引擎的控制单元分布在各层,对工作流程进行管理和控制.
4设计和实现下面逐层介绍其实现:流程层的主要功能是流程的定义、修改、删除.
其中流程的定义是把具体的业务活动抽象化,根据业务活动的环节数确定流程的级数;根据业务活动每一级的参与者确定流程的相应各级的用户和角色;根据业务活动每个环节的处理信息决定流程各级所用的资源和服务.
一个完整的定义过程有两个阶段:总体定义阶段和详细定义阶段.
总体定义阶段的主要工作是确定流程的宏观信息,包括流程的标识、名称、类型、级数、描述信息、定义者、保存位置等.
总体定义完成之后,以上各项分别作为数据库表的字段保存在定义者所在社区的数据库表dataobject中.
其主要的数据结构是:wf-define{wfid:流程号(流程的唯一标识)wfname:流程名wftype:流程类型(有系统自定义的和用户订制的两类)totalrank::流程总级数(描述业务有几个环节)desc:流程描述信息creator:流程定义者的唯一标识dataobject:信息存储对象}详细定义阶段是对流程更细粒度的描述,规定每一级参加的用户和角色以及和下一级参与者的关系,到下一级的条件.
每一级都包含如下的数据结构:wf-detail{wfid:流程号(与总体定义的流程号相关联)currentrank:流程级currentuserid{}:本级可以参加的所有用户currentrole{}:用户对应的角色relationship:和下级用户的关系conditions:流程转移的条件}流程控制单元在此阶段的功能是保证定义的正确性,主要体现在以下两个方面:通过为所定义流程分配一个全网格范围唯一的标识号,保证流程在全网格范围内的唯一性.
当定义的currentrank小于0时,进行纠正提示,要求输入的级数应为非负整数;当currentrank大于总体定义阶段的to-talrank时,提示用户由于当前级数超过了总体定义阶段的总级数,当前定义无效.
分两个阶段定义的理由是在实际应用中,大多流程的总体情况相对稳定,就把这部分相对固定的信息作为第一个阶段的内容.
而有些具体情况则需要经常变动,如某一级的控制信息和参加人员,为了方便维护而把这部分的信息作为第二阶段的内容.
对于动态性较大的参加人员信息,主要借助角色来表示一类的用户.
数据结构中的currentrole的作用就定义一类用户,如财务部门的所有员工,就避免了只使用currentuserid时需要列举每位员工的低效率和由于人事变动造成的维护问题.
例如申请使用设备这一具体应用中.
流程定义阶段可以定义为五级:第一级:申请人(角色是员工或学生);第二级:科室领导(角色是室主任或副主任);第三级:所领导(角色是所长或书记、副所长);第四级:设备保管员(指定的员工);第五级:申请人(最初提出申请的人).
实例化层的主要功能是把流程实例化,是用已经定义好的154计算机工程与应用2005.
14流程信息新建一个流程的具体应用.
简单地称为流程的发起.
主要的数据结构是:wf-process{processid:流程实例号wfid:流程号wfname:流程名inittype:发起类型initrole:流程发起者角色inituid:流程发起者dataobject:流程存储对象的资源号startdate:实例化开始时间overdate:实例化结束时间status:流程实例状态(0:未完成1:已完成)流程初始化的主体也就是流程的发起人,有两类:流程的定义者和第一级用户.
初始化后的流程具有动态属性,它的生命周期从初始化开始到最后一级的用户处理完毕提交而结束.
任务层的功能是任务的分类管理和控制.
任务结构对象的主要数据结构是:wf-task{processid:流程实例IDwfid:流程IDcurrentrank:流程当前级数taskuserid:完成该级任务的用户IDcommituserid:提交到该级任务的用户IDtasktype:任务类型(0:提交1:退回)info:提示给下级用户的信息reason:回退原因contenttype:数据表记录的IDstartdate:开始时间overdate:结束时间status:是否完成(0:未完成1:完成2:退回)}分类管理体现在流程的控制单元在全网格每个节点的wf-task数据库表进行搜索,把所有taskuserid与当前用户的usedid一致的任务添加到用户的任务空间,并根据status的值区分为已完成任务和待完成任务.
这与进程的就绪队列和等待队列相类似.
用户可以处理待完成任务队列里的任务,也可以继续处理完成任务队列中下一级用户没有处理的任务.
流程引擎控制单元的功能主要体现在以下几个阶段:(1)用户提交:当用户处理完自己的任务,要向下一级用户提交当前任务时,控制单元把当前流程级currentrank加1.
控制单元在详细定义表wf-rankdefine里查找wfid=current.
wfid而且currentrank=currentrank的userid和roleid,把符合条件的userid,roleid加入到下一级用户列表,供当前用户选择.
提交成功后,控制单元为下一级用户生成一个task,把当前和下一级用户的usrid分别保存在commituserid和taskuserid中,提交信息保存在info里.
(2)返回:下一级用户处理前一级用户提交的信息,有两种情况发生,第一种是继续向下一级提交,这个过程和前一个用户的提交过程相似,不再重述.
第二种情况是将信息退回给前一级用户.
这是根据实际需求设立的功能,比如当申请使用的设备已经借出时,就可以将申请驳回.
流程引擎为前一级用户生成一个新task,其中的tasktype的值表明这是一个退回的任务.
退回的原因在reason里.
前一级用户可以修改自己提交的内容,重新进行提交.
图2任务被返回时的结构图(3)重新提交:与上一种情况不同的是,用户提交后,在下一级用户还没有进行处理时,由本级用户进行重新提交.
这在实际应用中有以下两种情况:因下一级用户的原因迟迟未得到处理;提交后发现有错误需要修改.
这种情况下流程控制单元把原来为下一级用户生成的task删除,也就是说相当于本级还没有进行提交.
图3信息网格平台流程全生命周期图5结论该文从信息网格平台流程的资源分布、用户分散、分散控制等特点出发,提出了它的体系结构,分层次并结合几个关键的阶段阐述了其具体实现细节.
信息网格平台流程解决了在分散控制下用户到用户的信息共享,具有结构简单,控制灵活方便,易扩展的特点,特别是分散控制和自主控制方面体现了以人为中心,让用户自主地使用网格,而不是让网格控制用户的优点.
其缺点是在性能方面,控制单元要在全网格节点搜索当前用户的任务,当网格节点很多时,系统的开销是很大的.
下一步要研究和解决的问题是利用信息网格流程进行实时通信等相关的问题.
信息网格的研究目前还处于起步阶段,信息网格平台流程还有待进一步研究.
在进一步的研究工作中,可以继续完善其体系结构,改进其工作性能.
(收稿日期:2005年3月)参考文献1.
徐志伟,李晓林,游赣梅.
织女星信息网格的体系结构研究[J].
计算机研究与发展,20022.
李晓林,杨宁,李慧等.
网格的全生命周期原理及应用[J].
计算机研究与发展,2003;40(11)3.
徐志伟.
织女星网格的总体思路[R].
中国科学院计算技术研究所,科技报告:VGD-1,20014.
李伟,徐志伟.
网格地址空间模型及其应用[J].
计算机研究与发展,2003;40(11)5.
IanFoster,CarlKesselman,GeneTsudiketal.
ASecurityArchitec-tureforComputationalGrids[C].
In:ACMConferenceonComputerandCommunicationsSecurity,1998:82~896.
IanFoster,CarlKesselman,StevenTuecke.
TheAnatomyoftheGrid:EnablingScalableVirtualOrganizations[J].
InternationalJSupercom-puterApplications,2001;15(3)155
RackNerd 商家我们应该是比较熟悉的商家,速度一般,但是人家便宜且可选机房也是比较多的,较多集中在美国机房。包括前面的新年元旦促销的时候有提供年付10美元左右的方案,实际上RackNerd商家的营销策略也是如此,每逢节日都有活动,配置简单变化,价格基本差不多,所以我们网友看到没有必要囤货,有需要就选择。RackNerd 商家这次2022农历新年也是有几款年付套餐。低至RackNerd VPS...
瓜云互联一直主打超高性价比的海外vps产品,主要以美国cn2、香港cn2线路为主,100M以内高宽带,非常适合个人使用、企业等等!安全防护体系 弹性灵活,能为提供简单、 高效、智能、快速、低成本的云防护,帮助个人、企业从实现网络攻击防御,同时也承诺产品24H支持退换,不喜欢可以找客服退现,诚信自由交易!官方网站:点击访问瓜云互联官网活动方案:打折优惠策略:新老用户购买服务器统统9折优惠预存返款活动...
atcloud主要提供常规cloud(VPS)和storage(大硬盘存储)系列VPS,其数据中心分布在美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国、新加坡,所有VPS默认提供480Gbps的超高DDoS防御+不限流量,杜绝DDoS攻击骚扰,比较适合海外建站等相关业务。ATCLOUD.NET是一家成立于2020年的海外主机商,主要提供KVM架构的VPS产品、LXC容器化产品、权威DNS智能解...
网格技术为你推荐
点击google亿元支付宝互联网网易yeahsns平台sns是什么平台aspweb服务器web服务器怎样才能支持.aspmysql下载Navicat for mysql怎么安装企业信息查询系统官网我公司注册不久,如何在网上查询到申请支付宝账户怎样申请支付宝账户?要填写什么信息?支持http银花珠树晓来看谜语白色花无人栽一夜北风遍地开。旡根无叶又无枝不知是谁送花来。谜底是什么
VPS之家 草根过期域名 GGC justhost 丹弗 北京双线 电信虚拟主机 photobucket 群英网络 免备案cdn加速 阿里云个人邮箱 重庆联通服务器托管 cdn加速技术 免费网站加速 ping值 hosts文件修改 so域名 paypal兑换 文件传输 天翼云主机 更多