书签 分享 收藏 举报 版权申诉 / 11

工作流执行中的资源冲突消解方法.pdf

  • 上传人:GAME****980
  • 文档编号:4270210
  • 上传时间:2018-09-13
  • 格式:PDF
  • 页数:11
  • 大小:1.48MB
  • 摘要
    申请专利号:

    CN201210398080.1

    申请日:

    2012.10.18

    公开号:

    CN102945154A

    公开日:

    2013.02.27

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 9/44申请日:20121018|||公开

    IPC分类号:

    G06F9/44

    主分类号:

    G06F9/44

    申请人:

    拓维信息系统股份有限公司

    发明人:

    李新宇; 宋鹰; 沈清; 周泽峰; 郑年斌; 龙炽; 王平; 王忠强

    地址:

    410205 湖南省长沙市岳麓区桐梓坡西路289号

    优先权:

    专利代理机构:

    长沙市融智专利事务所 43114

    代理人:

    黄美成

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种工作流执行中的资源冲突消解方法,用一个六元组表示对象P,即有P=(i,j,D,A,t,L);资源冲突消解进程如下:步骤1:工作流对象进入堆栈;步骤2:工作流对象从堆栈弹出,并进行冲突检测:当下述公式满足时,判断对象的实施为有冲突实施:((Ag,i∩Ah,j∩…∩Ak,l)≠φ)∧((Lg,i∨…∨Lh,j)=0)∧((Li,k∧…∧Lk,l)=1);步骤3:消解冲突步骤:当两对象的实施为有冲突实施时,优先级高的对象获得即时实施,并锁定相应空域;而优先级低的对象被压入堆栈,返回步骤2;随着时间片推进,当堆栈为空时,结束工作流执行中的资源冲突消解进程。该工作流执行中的资源冲突消解方法适用范围广,能有效减轻工作量中的资源冲突。

    权利要求书

    权利要求书一种工作流执行中的资源冲突消解方法,其特征在于,用一个六元组表示对象P,即有P=(i,j,D,A,t,L);
    其中,i,j为不相关的正整数,记i为用户号,j为属于用户i的有序对象号,D为对象描述,A为P的有界作用域,t为P的到达时间,即对象P投入应用的时间点,L表示对象P的修改属性,L=1为允许被其他对象修改,L=0则不允许被其他对象修改;
    多个用户共同参与对于对象P的工作流;
    用户数为N,对象序列为1,2,3,…,则标记某一特定的对象为Pi,j,与之相对应的有Di,j,Ai,j,ti,j,Li,j;
    记无冲突抢占为C1,有冲突抢占为C2;称C1或C2为1时为成功抢占,C2=0为失败抢占;
    资源冲突消解进程如下:
    步骤1:工作流对象进入堆栈;
    步骤2:工作流对象从堆栈弹出,并进行如下冲突检测:
    当下述两公式之一得到满足时,判断对象的实施为无冲突实施:
    (a)(Ag,i∩…∩Ak,l)=φ;
    (b)((Ag,i∩Ah,j∩…∩Ak,l)≠φ)∧(Lg,i=0)∧((Li,k∧…∧Lk,l)=1)
    而当下述公式满足时,判断对象的实施为有冲突实施:
    ((Ag,i∩Ah,j∩…∩Ak,l)≠φ)∧((Lg,i∨…∨Lh,j)=0)∧((Li,k∧…∧Lk,l)=1)
    步骤3:消解冲突步骤:
    当两对象的实施为有冲突实施时,优先级高的对象获得即时实施,并锁定相应空域;而优先级低的对象被压入堆栈,返回步骤2;
    随着时间片推进,当堆栈为空时,结束工作流执行中的资源冲突消解进程。
    根据权利要求1所述的工作流执行中的资源冲突消解方法,其特征在于,所述的对象为数据对象、文字对象、图像对象、语音对象、过程对象、通信对象和输入输出对象中的至少一种。
    根据权利要求1所述的工作流执行中的资源冲突消解方法,其特征在于,所述的空域为:有界数据空间、数据库字段、有界文字空间、有界图像空间、有界语音空间、命名程序段、通信设备或输入输出设备。

    说明书

    说明书工作流执行中的资源冲突消解方法
    技术领域
    本发明涉及一种工作流执行中的资源冲突消解方法,以“冲突检测模型”(Conflict Detecting,简称CD模型)作为消解工作流执行中资源冲突的主要策略,尤其适用于办公自动化领域。
    背景技术
    工作流(Workflow)是办公自动化中不可或缺的内容,它涉及业务过程的部分或整体在计算机应用环境下的自动化,它主要解决的是在多个参与者之间按照某种预定义的规则,将传递文档、信息或任务的过程自动推进,从而使某种预期的业务目标得以实现。
    为此于1993年成立了国际工作流管理联盟(Workflow ManagementCoalition,WfMC,http://www.wfmc.org/),联盟的成立标志着工作流技术业已进入相对成熟的阶段。为了实现不同工作流产品之间的互操作,WfMC在工作流管理系统的相关术语、体系结构、参考模型及应用编程接口等方面制定了一系列标准。
    虽然,一个具体的工作流管理系统可以只实现了这个模型的一部分,但这个模型提出的结构和模块间的职能分工仍是业内层级最高的样板(参见图1)。在该模型中设置了工作流引擎功能模块以及流程定义、客户端应用、应用程序调用、(与其他工作流管理系统的)互操作和管理监控等接口。简述如下:
    工作流引擎功能模块:工作流引擎是工作流参考模型的核心,它为工作流提供一个切实有效的运行环境。工作流引擎对工作流程进行初始化、调度和执行,包括执行中的退回、转交(任务转派)、催办,以及任务的合并和跳过等具体内容。特别地,流程引擎应能支持同一业务活动的多人指派原则(简称“双人原则”或“四眼原则”――Four Eyes Principle),即流程引擎能将某些关键业务指派给两个或两个以上的工作人员共同完成或决策,以期获得预期的效果。这种多人指派机制应该体现在业务流程的设计和建模过程中,并通过并行分支结构和同步结构来完成。
    流程定义接口:工作流中需要通过流程定义工具制定一个完整的流程。本接口实现流程定义工具与工作流引擎间数据模型和API的交换,生成可被计算机执行的形式化描述。
    客户端应用接口:定义所有客户应用和工作流服务间的功能操作方式,其主要表现形式是工作表处理器(Worklist Handler)。工作流参与者通过表处理器实现在工作表中选取、分配工作项,通报工作项完成情况。
    应用程序调用接口:是工作流引擎和直接调用的应用程序间的接口,工作流引擎通过本接口调用外部提供的应用服务。比如,在流程执行过程中调用业务系统提供的业务数据等。
    互操作接口:本接口实现与不同工作流管理系统间的信息交互。
    系统管理与监控接口:本接口提供对运行实例的管理与监控,包括用户管理、角色管理、资源控制、运行状态监控等。
    工作流(Workflow)是办公自动化中不可或缺的内容,它涉及部分或整体业务过程在计算机应用环境下的自动化,而“双人原则”或“四眼原则”是工作流实施中必须贯彻的普遍性原则。
    为保证此种原则的实施,就必须发现并消解工作流实施中的资源冲突,即必须在保持资源完整性和一致性的前提下,最大限度地“同时”满足工作人员甲、乙、丙、…对资源的共同需求。在异地跨局域网的情况下,由于网间传输所附加的时延更大、消息到达的时间和工作人员发出消息的顺序可能改变、甚至消息会丢失等原因,所以在此种背景下发现并消解工作流实施中的资源冲突就更为必要。
    传统做法是当资源访问冲突严重时放弃资源的共享,或采用分时间片的锁机制,锁的锁定及释放完全由时间标志确定,几名工作人员同时访问同一资源时由时间标志确定仅接受哪一位工作人员的访问以避免冲突。
    这种方式的不便之处在于:虽然理论上可以将“作用域”设置得“无限小”,从而可以使资源冲突局限在相对非常小的空域中;但在实践中,太小的空域又会影响执行效率。这种平衡只有在工程实施中针对不同的延时响应要求折衷地解决,也即,只能根据延时响应的允许值确定相应的空域设置,因而其应用受到诸多限制。
    因此,有必要设计一种新的工作流执行中的资源冲突消解方法。
    发明内容
    本发明所要解决的技术问题是提供一种工作流执行中的资源冲突消解方法,该工作流执行中的资源冲突消解方法适用范围广,能有效减轻工作量中的资源冲突。
    发明的技术解决方案如下:
    一种工作流执行中的资源冲突消解方法,用一个六元组表示对象P,即有P=(i,j,D,A,t,L);
    其中,i,j为不相关的正整数,记i为用户号,j为属于用户i的有序对象号,D为对象描述,A为P的有界作用域,t为P的到达时间,即对象P投入应用的时间点,L表示对象P的修改属性,L=1为允许被其他对象修改,L=0则不允许被其他对象修改;
    多个用户共同参与对于对象P的工作流;
    用户数为N,对象序列为1,2,3,…,则标记某一特定的对象为Pi,j,与之相对应的有Di,j,Ai,j,ti,j,Li,j;
    记无冲突抢占为C1,有冲突抢占为C2;称C1或C2为1时为成功抢占,C2=0为失败抢占;
    资源冲突消解进程如下:
    步骤1:工作流对象进入堆栈;
    步骤2:工作流对象从堆栈弹出,并进行如下冲突检测:
    当下述两公式之一得到满足时,判断对象的实施为无冲突实施:
    (a)(Ag,i∩…∩Ak,l)=φ;
    (b)((Ag,i∩Ah,j∩…∩Ak,l)≠φ)∧(Lg,i=0)∧((Li,k∧…∧Lk,l)=1)
    而当下述公式满足时,判断对象的实施为有冲突实施:
    ((Ag,i∩Ah,j∩…∩Ak,l)≠φ)∧((Lg,i∨…∨Lh,j)=0)∧((Li,k∧…∧Lk,l)=1)
    【公式中g,k,l均为序号(相当于身份证号),其取值由工作流实施程序指定,例如张三指定为g,Ag,i表示张三的第i个对象;李四指定为k,Ak,l就是李四的第l个对象;A的第一个下标为用户号,A的第二个下标为对象号】;
    步骤3:消解冲突步骤:
    当两对象的实施为有冲突实施时,优先级高【优先级由工作流实施程序指定】的对象获得即时实施,并锁定相应空域;而优先级低的对象被压入堆栈,返回步骤2;
    随着时间片推进,当堆栈为空时,结束工作流执行中的资源冲突消解进程。
    所述的对象为数据对象、文字对象、图像对象、语音对象、过程对象、通信对象和输入输出对象中的至少一种。
    所述的空域为:有界数据空间、数据库字段、有界文字空间、有界图像空间、有界语音空间、命名程序段、通信设备或输入输出设备【通信设备或输入输出设备,这些都是资源,都可能出现资源竞争冲突,如多人共用一台通讯设备】
    有益效果:
    为检测资源冲突并将这种冲突的影响锁定在尽可能狭小的范围内,即尽最大可能地推进工作流的进程,本专利提出一种“冲突检测模型”(Conflict Detecting),简称CD模型。在本模型中,将所有资源都视作不同类型、不同大小的对象,而且引入作用域、重叠方式等概念。因此具有如下特点:
    (1)适用性强:不仅适合有界数据空间,而且适合图像对象、语音对象、文字对象、过程对象、输入输出对象等;不仅适合双人协同工作时发生的资源冲突消解,而且适合多人协同工作时发生的资源冲突消解。
    (2)引入作用域的概念。由于理论上可以将“作用域”设置得“无限小”,故工程实践中在保证效率的考量下,可以使资源冲突局限在相对非常小的空域中。
    (3)引入重叠方式的概念【体现在“L=1为允许被其他对象修改,L=0则不允许被其他对象修改;”】,进一步减轻冲突。
    (4)控制对象的占时度,以限制空域冲突的持续期。
    本专利提出的CD模型不仅适合有界数据空间,而且适合图像对象、语音对象、文字对象、过程对象、输入输出对象等;不仅适合双人协同工作时发生的资源冲突消解,而且适合多人协同工作时发生的资源冲突消解。本模型引入作用域的概念,使竞争局限在相对小得多的空域中;引入重叠方式的概念,进一步减轻冲突。本模型通过控制对象的粒度以控制冲突的持续期。基于上述模型,使本专利能通过计算机编程实现最大限度的资源冲突消解。
    附图说明
    图1.WfMC的工作流管理系统模型;
    图2.CD模型的二维示意图[三角形、圆形图案只是区分不同内涵的对象,着色与未着色在图例中已说明是可覆盖和不可覆盖。];
    图3.冲突检测及其消解的软件机制;
    图4为工作流执行中的资源冲突消解方法的流程图;
    图1中的接口说明如下:
    接口1:流程定义接口,实现流程定义工具与工作流引擎间数据模型和API的交换;
    接口2:客户端应用接口,定义所有客户应用和工作流服务间的功能操作方式;
    接口3:应用程序调用接口,工作流引擎和直接调用的应用程序间的接口;
    接口4:系统管理与监控接口,实现对工作流的管理与监控;
    接口5:互操作接口,实现不同工作流管理系统间的信息交互。
    具体实施方式
    以下将结合附图和具体实施例对本发明做进一步详细说明:
    实施例1:
    CD模型由模型定义与冲突检测、消解两部分组成,分别在如下段落叙述。
    一、模型定义
    定义1.对象、空域与抢占
    对象=数据对象∪文字对象∪图像对象∪语音对象∪过程对象∪通信对象∪输入输出对象;
    空域=有界数据空间∪数据库字段∪有界文字空间∪有界图像空间∪有界语音空间∪命名程序段∪通信设备∪输入输出设备;
    抢占:某空域已被某一对象锁定,在解锁前其他对象无法使用该空域。
    定义2.对象
    对象P为一六元组
    P=(i,j,D,A,t,L)(1)
    其中,i,j为不相关的正整数,记i为用户号,j为属于用户i的有序对象号,D为对象描述(含对象实施指南),A为P的有界作用域,t为P的到达时间,(即对象P投入应用的时间点),L=1为允许被其他对象修改,L=0则不允许被其他对象修改。
    设用户数为N,对象序列为1,2,3,…,则可标记某一特定的对象P为Pi,j,与之相对应的有Di,j,Ai,j,ti,j,Li,j【这里的i,j是就是P=(i,j,D,A,t,L)中的i,j。i为用户号,j为属于用户i的有序对象号,对于这个处理文档的实例,j具体一个操作的次序】
    定义3.时间段
    时间段为一具有起止点的时间闭区间。
    用时间段控制对象的粒度,可以将连续的操作分割为离散的对象,仅对处于同一时间段内的对象才判断它们是否存在冲突,并考虑予以消解,记为T1,T2,…。
    定义4.无冲突抢占与有冲突抢占,以及成功抢占与失败抢占
    记无冲突抢占为C1,有冲突抢占为C2;称C1或C2为1时为成功抢占,C2=0为失败抢占。其中无冲突抢占总是成功抢占。
    设有效空间为S,Ai‑1,j,Ai,k,…,称Pi‑1,j,Pi,k,…与Pk,l在同一时间段中,即ti‑1,j,ti,k,…,tk,l均在时间段Ti中。
    从而有
    C1=1,iff((Ag,i∩…∩Ak,l)=φ)(2)
    C2=1,iff(((Ag,i∩Ah,j∩…∩Ak,l)≠φ)∧(Lg,i=0)∧((Li,k∧…∧Lk,l)=1)
    (3)
    C2=0,iff(((Ag,i∩Ah,j∩…∩Ak,l)≠φ)∧
    ((Lg,i∨…∨Lh,j)=0)∧((Li,k∧…∧Lk,l)=1))(4)
    Iff表示“当且仅当”;
    显见在C2=1的情况下Pg,i有冲突抢占获得成功;仅C2=0的情况下才需对Pg,i,…,ph,j引起的冲突予以消解。
    由于本模型中引入对象作用域和重叠方式这两概念,从而得以区分无冲突抢占和有冲突抢占,并将有冲突抢占失败的可能性减至最小。
    二、冲突检测及其消解
    (1)冲突检测
    对象实施冲突检测的依据是定义4给出的公式(2)~(4),即当下述两公式之一得到满足时,判断对象的实施为无冲突实施:
    (a)iff((Ag,i∩…∩Ak,l)=φ)
    (b)iff(((Ag,i∩Ah,j∩…∩Ak,l)≠φ)∧(Lg,i=0)∧((Li,k∧…∧Lk,l)=1)
    而当下述公式满足时,判断对象的实施为有冲突实施:
    (c)iff(((Ag,i∩Ah,j∩…∩Ak,l)≠φ)∧((Lg,i∨…∨Lh,j)=0)∧((Li,k∧…∧Lk,l)=1))
    公式(a)的含义:Ag,i,,,,Ak,l这几个有界作用域并无交集(=φ)所以是无冲突实施;
    公式(b)的含义:虽然Ag,i,,,,Ak,l这几个有界作用域有交集(≠φ),但是仅一个空域Lg,i不允许被其他对象修改(Lg,i=0),其它的Li,k,,,Lk,l是可以被其他对象修改的(Li,k∧…∧Lk,l)=1,所以资源可以被Lg,i独占而不存在冲突,
    与公式(b)相反,公式(c)中存在实实在在的冲突,因为逻辑运算中(1∨0)=1,(0∨0)=0,因此在(c)中((Lg,i∨…∨Lh,j)=0)是说Lg,i,,,Lh,j均不为1,即均不能被改写,因此有冲突。
    (2)冲突消解
    当两对象的实施为有冲突实施时,优先级高的对象获得即时实施,并锁定相应空域;而优先级低的对象被压入堆栈,等待在下一时间段中再次检测冲突。
    为完成冲突消解,在工作流引擎中设计了专属于每一工作人员的缓存栈,以及一个称为“虚拟空域”(Ag,i∪Ah,j∪…∪Ak,l)的冲突侦测区域,如图3所示。
    为简化表述,作出如下三项约定:
    1.假设工作人员g以较高的优先级和工作人员i共同参与此项任务;
    2.将时间划分成T0~T1,T1~T2,T2~T3,T3~T4这样4个时间段;
    3.工作人员g和i仅需要某些图像对象,据此,工作人员g和i所需要的对象以及能否抢占的情况将如图2所表示。
    从前面关于CD模型的定义可以判定,上述三项约定仅为用图2【定义2中i,j仅是一个序号,可以是1,2,3,4,…….,中任一数字,并不特指某一值,P12和P22是分属用户1和用户2的对象,它们之间没有内在联系】配合文字的表述而已,它丝毫不影响冲突检测和消解的实质。
    工作流实施过程:
    一、实施准备:对象流压入堆栈。
    工作流引擎在工作流程初始化时,将工作人员g和i所需要的对象流压入各自的缓存栈中;各自的栈计数器记录所压入的对象数。【前文的i并非唯一的i,而仅表示用户中的一人,一个序号而已,所以这里i与前文的i不存在冲突】
    二、工作流实施
    步骤1.如果栈计数器均不为0,则从工作人员g和i各自的缓存栈中弹出最下部的对象进入冲突检测模块,转步骤2;如仅一栈计数器不为0,从相应缓存栈中弹出最下部的对象转步骤4;反之【即当两个栈计数器均为0就结束】转步骤5。
    步骤2.冲突检测:
    冲突检测的依据是在模型定义中由定义4给出的公式(2)~(4),即当下述两公式之一得到满足时为无冲突:
    (a)iff((Ag,i∩…∩Ak,l)=φ)
    (b)iff(((Ag,i∩Ah,j…∩Ak,l)≠φ)∧(Lg,i=0)∧((Li,k∧…∧Lk,l)=1)
    而当下述公式满足时判断为有冲突:
    iff(((Ag,i∩Ah,j...∩Ak,l)≠φ)∧((Lg,i∨…∨Lh,j)=0)∧((Li,k∧…∧Lk,l)=1))
    根据工作人员g和i所需要的对象以及能否被覆盖的情况,得到如下检测结果和后继步骤:
    步骤2a.如C2=1(图2的T0~T1时间段即Case1时),转步骤4。因为这时Pg,i与Pi,k无冲突,工作人员g和i各自推进工作。
    步骤2b.如C2=0(图2的T1~T2时间段即Case2时),转步骤4。因为这时Pg,i重叠在Pi,k上,而此时Pi,k是允许重叠的(因为L=1),所以无冲突,工作人员g和i也可各自推进工作。
    步骤2c.如C2=0(图2的T2~T3时间段即Case3出现C2=0的情况),转步骤3。
    步骤3.冲突消解
    在T2~T3时间段(Case3时),出现C2=0的情况。这时Pg,i与Pi,k均不允许重叠,比较Dg,i和Di,k中设定的工作人员优先级后继步骤:
    步骤3a.优先级高的Pg,i在虚拟空域中抢占成功,从而锁定相关实际空域,转步骤4。工作人员g的工作推进一步。
    步骤3b.优先级低的Pi,k在虚拟空域中抢占失败,将它压入缓冲栈i底部,缓存栈i的栈计数器+1,转步骤1。这是因为Pi,k在与Pg,i抢占资源中抢占失败,所以Pi,k要压入缓冲栈i底部,以使工作人员i的工作今后有机会推进。
    步骤4.根据Dg,i和/或Di,k中的实施指南寻址在(图3的)“资源指派”中获得已锁定的实际空域,从而可以实施工作流规定的操作(包括数据改写);时间段推进1;栈计数器-1;转步骤1。
    步骤5.工作流实施完成。

    关 键  词:
    工作流 执行 中的 资源 冲突 消解 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:工作流执行中的资源冲突消解方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4270210.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1