工作流系统中的动态任务调度

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

qm - S 1 qm - S 2 … qm - S n
(2) 对平衡矩阵进行兴趣修正
e11 - ∆11 e12 - ∆12 … e1n - ∆1n
E ′=
e21 - ∆21
e22 - ∆22
… e2n - ∆2n = (e′ij )m ×n
em 1 - ∆m 1 em 2 - ∆m 2 … em n - ∆m n
(1) 工作流过程的不确定性 在工作流的执 行过程中存在的迭代与反复现象造成任务总量和 过程的不确定性。
(2) 工作流过程中A gen t 的参与也存在不确 定性 由于工作流过程有时可能会持续较长的时 间。 因此, A gen t 的数量和组成可能发生变化, 这 就使工作流的任务分配问题与事务开始时的定义 存在较大的差别。
ຫໍສະໝຸດ Baidu
m
6 ∆ij = I ij -
I ij m Κ
j= 1
式中, Κ为调整系数, Κ值越大, 兴趣对任务分配的影响程
度越大。
(1) 计算能力与难度的平衡矩阵
q1 - S 1
q1 - S 2 … q1 - S n
E=
q2 - S 1
q2 - S 2

q2 - S n = (eij )m ×n
图 2 三角模糊数示意图
(3) 影响因素的多样性和动态性 许多因素 对任务的分配将产生影响, 例如, A gen t 的能力, 任务的难度, A gen t 的工作负荷, A gen t 的兴趣, 任务的数量和种类。 任务分配需要综合考虑各种 因素。
综上所述, 由于工作流过程的不确定性, 加之 新的任务有可能在某时引入, 任务的数量是不断 变化的, 而且 A gen t 的参与和离去是动态的。 所 以传统的通过事先定义过程的任务调度方法由于 其本质上是静态的, 不能很好适应工作流实际执 行中的动态性。 我们需要一种能够适合实际动态 环境要求的任务分配算法。
1 工作流系统中任务调度及存在的问题
工作流是由不同的机构 人为实现一个共同 的商业目标而协同开展的一系列活动 (A ctivity) , 这些活动可以分解成任务 (T a sk) , 任务是工作流 过程模型的工作单位。 把任务分配给能完成此任 务的 A gen t ( 执 行 任 务 的 实 体—— 人 或 应 用 系 统) , 则 A gen t 在此工作流的执行中充当了某种 角色 (Ro le) , 角色是一个能够执行某项 (些) 特定 任务的过程实体的特定描述, 它说明了A gen t 执 行任务的能力。
图 1 动态任务调度策略示意图
系统的触发事件集合中有新任务加入、任务 结束和资源加入。其中, 新任务加入和资源加入直 接引起当前待执行任务和资源数目的变动, 而任 务结束引发新的待执行任务和资源释放。 当某一 事件发生时, 系统中将存在一组当前可执行的任 务和可用的资源, 此时, 我们运用调度算法决定哪 些任务真正投入执行以及分配给这些任务的相应 的资源数量和种类。任务执行后, 继续监测有无触 发事件集合中的事件发生, 一旦监测到事件发生, 执行调度算法, 直到设计项目结束。
·233·
中国机械工程第 13 卷第 3 期 2002 年 2 月上半月
2 基于约束的动态任务调度策略
设计时的全局最优静态任务调度定义虽然能 够达到理想最优, 但并不适应动态变化着的实际 情况。 在工作流过程中任务调度的直接影响因素 为任务和资源的变化, 其中, 资源包括软硬件、技 术标准、其它设备等。工作流中的任务只有在相应 资源的数量、种类、能力得到保证的前提下才能进 行, 否则就会使工作陷入停滞状态[2]。从广义的观 点看, 任务的执行者 A gen t 也是一种特殊的资 源, 这种资源同样具有数量、种类和能力的要求。 因此, 工作流过程应该是在多种类型资源约束下 不断完成任务的过程。因此, 我们提出事件触发的 工作流系统动态任务调度策略见图 1。
方面实现了任务难度与任务承担者能力的平衡。基于该算法的任务调度策略
不仅可以适应动态环境的要求, 而且增强了系统的并行处理能力。
关键词: 工作流管理系统; 动态任务调度; 资源约束; 三角模糊数
中图分类号: T P316 文献标识码: A
段永强 博士研究生
工作流 (W o rkflow ) 系统得到了越来越多的 重视, 无论是生产系统的工作流还是办公自动化 和电子商务的工作流系统都是软件界的研究热 点。 工作流管理系统 (W fM S) 就是通过软件来管 理和执行工作流的通用系统。 工作流管理的目的 在于使人和应用软件适时地进行相应的任务。 但 是, 人们对于W fM S 批评最多的莫过于其“僵硬” 的过程模型, 这使得用户在某些情况下不得不越 过W fM S 而用其它方法来完成有关的工作。主要 是由于工作流的设计时的过程定义与运行时的过 程执行脱节, 而致使预定义的过程模型不能很好 地反应实际的业务流程。 由于对过程定义及过程 实例动态修改将会带来一系列的困难, 因此需要 寻找更为灵活的工作流过程形式化表示方法及过 程的执行策略[1 ]。
在分配过程中, 主要考虑一是 A gen t 的能力 要与任务的难度相适应, 二是 A gen t 在执行其感 兴趣的任务时, 效率将大大提高。因此, 在确定任 务难度的基础上, 适当考虑 A gen t 的兴趣, 根据 A gen t 能力与任务难度的平衡进行任务的合理分 配。 3. 2. 1 任务难度的确定
(3) 设 f j 为 第 j 个 任 务 所 需 的 该 种 类 型 A gen t 的数量, 显然, f j 为已知值, 则问题归结为
新决定。
得 到有效难度值后, 根据阈值确定难度的语
言变量值, 并用标准值 0、0. 25、0. 50、0. 75 和 1. 00
表示难度很小、小、中、大、很大。
经过此过程后可以得到系统中任务难度向量
[S 1, S 2, …, S n ]。 3. 2. 2 任务分配算法
对A gen t 能力描述采用等级法, 如分成 1, 2,
角色的任务集为 T a sk = {P 1, P 2, …, P n}, 该种类 型 的角色的集合为 A gen t = {E 1, E 2, …, Em }。角 色分配到任务的问题实际上是寻找一个从 Ta sk
工作流系统中的动态任务调度—— 段永强 曹 健 张申生
到A gen t 的一对多的映射: 将合适的任务分配给 合适的A gen t。
·234·
单元结束时间均值; tlj 为任务 j 完成所需时间长 度; tc 为目前时间; tf p 为项目 p 的预期完成时间, 对应于过程模型中的项目结束时间均值加上开始
时间; tkp 为项目 p 完成所需的时间长度, 对应于过 程模型中的项目结束时间均值。
则任务执行的时间裕度 taj = tsj - tlj - tc, 若 taj 为正, 表明时间上存在提前量, taj 为负, 表明任 务已经滞后。
rk t
k= 1, k≠j

n
6 bt = R t -
rjt
j= 1
任务选择算法如下: ① 设被选中的任务集合
为U , 首先假设所有任务均属于U , 即U 中元素个
数 k = n; ② 对 U 中所有任务, 计算 d j ( j = 1, 2,
…, k ) , 计算 bt ( t = 1, 2, …, m ) ; ③ 若 bt 全为正, 则
任 务的难度是一个模糊概念, 因此我们以模 糊集理论来描述任务的难度。难度的原子单词有 大、中、小, 加上适当的语气算子后, 构成难度语言 变量值集合{很小, 小, 中, 大, 很大}。对每一语言 值给定一三角模糊数 F。
定义 4 三角模糊数可用一三元组 (m , Α, Β) 表示[3], 其中 m 为模糊数中值, Α和 Β 分别为模糊 数的左跨距和右跨距。L (u) 和 R (u ) 为模糊数的 左右隶属函数, 见图 2。
定义 3 设 n 为任务总数; m 为资源类型数; rjt 为任务 j 所需类型 t 的资源数目; R t 为类型 t 的 资源数目。以获益总值最大为目标函数, 以资源数 量为约束条件可以建立 N P 完善的优化问题, 为 了简化该过程, 定义调度指标
dj =
m
6
t= 1
Cj
rjt
rjt
n
6 R t
m
Γi =
1, 则难度值为 Sθ j
m
=
ΓiS ij。
i= 1
i= 1
在确定难度过程中, 引入意见一致性指标 u
以衡量结论的有效性, uj =
m
6 (ΓiS ij - Sθ j ) 2 ,
i= 1
u j 值在一定的范围内, 结论有效, 否则, 结论无效。
当结论无效时, 需要通过A gen t 之间进行讨论, 重
定义 1 任务 j 对项目 p 的影响度
式中, ( tf p -
Fj = M
tf p tkp
tsj
tlj tkp
tsj ) tkp 为任务在设计周期中的先后, 显然越
在前面的任务, 对项目的影响越大;
tlj tkp
为任务执行时间占
项目总时间的比例, 显然比例越大, 影响越大;M 为常数,
作为调整因子。
…, 6 等, 在算法中分别以能力系数 q = 1. 0, 0. 8,
0. 6, 0. 4, 0. 2, 0 表示。
n
6 每个 A gen t 以一矢量 [ I i1, I i2, …, I in ], I ij j= 1
= 1 描述对任务的选择倾向。针对某一任务 P j , 第
i 个A gen t 的兴趣修正系数为
定义每个语言值的三角模糊数 F i 见图 3。
图 3 语言值的三角模糊数
对每一任务 P j , 所有 A gen t 给出一个 0~ 1
的难度评价 S ij ( i = 1, 2, …, m ) , 该值越大, 表示
任务难度越大。每一 A gen t 有不同的权值 Γi ( i =
6 1, 2, …m ) ,
工作流系统中的动态任务调度—— 段永强 曹 健 张申生
文章编号: 1004- 132 (2002) 03- 0233- 03
工作流系统中的动态任务调度
段永强 曹 健 张申生
摘要: 在分析工作流中任务调度特点的基础上, 提出一种基于资源约束
的动态任务调度算法。 该算法一方面保证了任务调度满足资源的约束, 另一
这 k 个任务的资源要求均能得到满足, 可以同时
执行, 算法结束。若 bt 中出现负值, 将 U 中使用 bt
的任务记为U ′, 进行下一步; ④ 将U ′中 d j 最小的
任务从U 中删除, 令 k = k - 1, 重复 ②。
3. 2 任务的分配
在 资源约束下选择当前可执行任务后, 下一
步工作是将角色分配到任务上。设需要某种类型
3 动态任务调度算法
任务调度的目标是在规定的时间内, 将合适 的任务分配给合适的A gen t。因此, 任务调度一是 在规定的时间内, 选择合适的任务; 二是将合适的 任务分配给合适的A gen t。 3. 1 任务的选择
为了能够对任务进行定量的描述, 设 tsj 为任 务 j 的预期完成时间, 对应于过程模型中的过程
工作流过程在时间上表现为一系列任务的并 发、 串行和交叉耦合。 因此, 在同一时刻可能存 在一个项目的多个正在运行的任务, 甚至可能存
收稿日期: 2000—04—17 基金项目: 国家自然科学基金资助重点项目 (59789502) ; 国家 863 高技术研究发展计划资助项目 (863—511—930—002)
定义 2 任务 j 的获益函数
1 - Ξp K 1 tai F j ( taj ≥ 0) cj = 1 + Ξp F j K 2 taj ( taj < 0) 式中, Ξp 为 p 项目的加权系数, K 1、K 2 为调整因子。
该函数反映了任务的时间延误情况对调度的
影响, 那些可以提前进行的任务获益小, 而那些已 经被延误的任务获益大。
在不同项目的多个运行着的任务。 在工作流的任 务调度中要对任务按照一定的规则合理分配, 以 实现在正确的时刻将正确的任务分配给正确的 A gen t, 从而达到优化系统, 加速事务处理的目 的。
目前的工作流系统, 都是采用事先定义好事 务处理的过程模型, 在执行时由工作流管理系统 根据过程模型的定义分配任务给A gen t 执行。然 而, 由于实际执行环境的动态性, 使得这种静态定 义工作流过程的方式在很多方面不能适应实际的 要求。
相关文档
最新文档