热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

工作流资源模式折回模式9种

实际工作中,工作的执行状态不可能总是与预想相符,总会出现各种各样的情况,例如原本分配给员工甲的活动由于甲要请假不得不重新分配,由于需要处理新的紧急活动,员工乙当前的工作需要挂起一段

实际工作中,工作的执行状态不可能总是与预想相符,总会出现各种各样的情况,例如原本 分配给员工甲的活动由于甲要请假不得不重新分配,由于需要处理新的紧急活动,员工乙当前的 工作需要挂起一段时间等等。折回模式对应着这些情况,折回代表着工作项状态的反复和回退, 如图B-40所示。

图B-40 工作项生命周期里的折回模式

折回模式共有9种,如图B-41所示。

图B-41 折回模式



  1. 委派:资源将先前指派给他的工作项委派给他人执行。

  2. 系统重新分配:系统将没有完成的工作项重新提供或指派给其他资源执行。

  3. 退回指派:资源撤销指派给他的工作项,工作项重新指派给其他资源。

  4. 有状态工作移交:资源将其已经开始执行的工作项移交给他人执行,工作项保持状态。

  5. 无状态工作移交:资源将其已经开始执行的工作项移交给他人重新开始执行。

  6. 挂起/恢复执行:资源临时挂起当前执行的工作项,并在某一个时候重新恢复执行该工作项。

  7. 跳过:资源选择跳过指派给他的工作项,不执行该工作项同时将工作项置为完成。

  8. 重做:资源重新执行先前已经完成的工作项。

  9. 提前执行:资源在流程实例实际触发该工作前提前执行该工作。


委派(WRP_27: Delegation)

描述

资源能够将先前指派给他的工作项指派给另外的资源执行,如图B-42所示。

图B-42 委派

应用

委派在工作中非常常见,例如员工请假/出差/繁忙,需要将他的工作委派给其他同事执行、 领导将相关工作委派给下属执行等。

实际应用中,委派按照粒度分为了两种:一种是工作项的委派,这是一种细粒度的委派,指 单一活动的委派,与某一特定的流程实例关联;另一种是业务的委派,这是一种粗粒度的委派, 例如,资源将其负责的某类业务的工作全部委派给他人,这意味着属于这类业务的所有工作都将 由委派人执行。业务的委派与权限紧密关联。

注意:委派意味着原先指派的资源还必须对该工作负责。例如,员工甲将某项工作委派给员工 乙执行,尽管员工乙实际执行了该工作,但该工作仍然必须由员工甲负责,所以在实现 中,员工甲必须能够保持对委派工作项的追踪和控制。


系统重新分配(WRP_28: Escalation)

描述

系统能够重新分配已经分配的工作项,以加快工作项的执行。

如图B-43所示,工作项原先提供或指派给了一个或多个资源执行,现在由于各种原因,需要优化该工作项的执行,所以将该工作项收回重新分配,提供或指派给其他的资源。

图B-43 系统重新分配

应用

系统驱动工作分配的优化。很多时候,计划跟不上变化,工作也是这样,分配工作前有许多 的考虑因素,如个人能力、工作经验、技能要求等,但在实际工作中会发现原先的资源分配并不 合理,或者有些人承担了太多的职责,或者有人能力超出其目前担承的职责等等,在这种时候就 需要对工作进行灵活的重新分配以到达最高的执行效率。

对流程的优化始终是一个对人的命题,而不是对机器和工具的命题,工具所能做到的只是尽 可能多的提供可供参考的数据模型,例如各种报表、数据分析等,最后做出决策的还是人。所以 该模式的实现也以提供给流程管理员重新分配工作项的能力为主,同时提供工作项超时的提示 为辅。


退回指派(WRP_29: Deallocation)

描述

资源能够撤销指派给他的工作项,工作项可以重新分配给其他资源,如图B-44所示。

图B-44 退回指派

应用

资源驱动工作分配的优化。


有状态工作移交(WRP_30: Stateful Reallocation)

描述

资源能够将正在执行的工作项移交给其他资源执行,该工作的状态将得到保存,如图B-45 所示。

图B-45 工作移交

应用

该模式与委派模式很相似,差别就在于委派模式是将未开始执行的工作进行重新指派执行, 而该模式则是将已开始执行的工作进行重新指派执行。委派模式中的委派者仍需要为委派出去的 工作负责,而移交则意味着责任的移交。


无状态工作移交(WRP_31: Stateless Reallocation) 描述

资源能够将正在执行的工作项移交给其他资源执行,该工作的状态不会得到保存。

应用

工作的无状态移交意味着该工作的重新执行,原有工作对重启的工作而言没有价值。


挂起/恢复执行(WRP_32: Suspension/Resumption)

描述

资源能够挂起当前执行的工作项,并在某一个时候重新恢复执行该工作项,如图B-46所示。

图B-46 挂起/恢复执行工作

应用

资源对分配给其的工作进行优化执行,能够根据自己和当前流程实例的实际情况合理的安排工作执行,挂起正在执行的工作,执行当前最重要或效率最高的工作,然后再返回执行该工作。


跳过(WRP_33: Skip)

描述

资源能够选择跳过指派给他的工作项的执行,不执行该工作项,并将该工作项标识为完成, 如图B-47所示。

图B-47 跳过工作的执行

应用

因为变化,当前工作不再具有价值,选择跳过继续执行后续工作。


重做(WRP_34: Redo)

描述

资源能够对先前完成的工作项重新处理,同时,该工作的后续工作项(后续活动所对应的工 作项)也将被重新处理,如图B-48所示。

图B-48 重新执行工作

应用

对已完成的工作进行重新处理并不少见,但该模式最为重要的部分还是在于要求所有后续工 作的重新处理,所以该模式应用在极其重要的关键活动里。例如,非常重要的决策工作,因为后 续的活动严重依赖于该工作所作出的决策,所以一旦决策发生变化,那么相应的后续工作必须都 要做出变化。这也是业务敏捷性的一种反映。

注意,该模式是一种代价高昂的应用,因为这意味着该流程实例中的所有后续工作都需要重 7 新处理,所以如何在业务处理中尽早发现可能的环境变化并及时作出决策的调整并避免成本高昂 的返工才是最重要的一点。


提前执行(WRP_35: Pre-Do)

描述

在工作实际提供或指派给资源执行之前,资源能够提前执行该工作。示例见图B-49。

该模式需要一个前提条件:活动不能依赖于前续活动的处理输出。该模式与推模式里的提前 分配模式非常相似,所不同的是:提前分配强调一种通知机制,强调预先准备;而提前执行则已 经可以开始实际的执行工作。

图B-49 提前执行工作

应用

和提前分配模式不同,该模式提供了一种流程活动执行的灵活机制,在预先定义的流程里, 活动的执行是具有一定顺序的,在大多数情况下,这种顺序是合理的,但是在某些具体的流程实 例里,某些串行执行的活动可以并行的执行以达到最好的执行效率和负载均衡,在这种情况下, 就应该应用该模式并行执行部分活动。

注意:该模式仅仅引入了一种实际执行活动的灵活性,是对流程定义固化的补偿,如果在实际 流程实例中频繁应用到该模式,则意味着流程定义本身需要作出调整。



推荐阅读
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • Linux系统高级网络配置:链路聚合
    链路聚合网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同 ... [详细]
  • Python 可视化 | Seaborn5 分钟入门 (六)——heatmap 热力图
    微信公众号:「Python读财」如有问题或建议,请公众号留言Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seabo ... [详细]
  • 1.webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用(1) ... [详细]
  • css div中文字位置_超赞的 CSS 阴影技巧与细节
    本文的题目是CSS阴影技巧与细节。CSS阴影,却不一定是box-shadow与filter:drop-shadow,为啥?因为使用其他属性 ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
  • 表达式树摘录(1)
    本文主要讲述ConstantExpression介绍表示具有常量值的表达式。ParameterExpression介绍表示命名的参数表达式。UnaryExpression介绍表示包 ... [详细]
  • 语法必须遵守的语法推荐遵守语法不做要求文件格式文件应该使用Unicode(UTF-8)编码保存。同时不要使用字节序标记(BOM)。与UTF-16和 ... [详细]
  • OrbitDBPeer 2 Peer Database using CRDTs
    2019独角兽企业重金招聘Python工程师标准Apeer-to-peerdatabaseforthedecentralizedwebOrbitDBisaserverless ... [详细]
  • nginx使用内置模块配置限速限流的方法实例_nginx
    Nginx现在已经是最火的负载均衡之一,在流量陡增的互联网面前,接口限流也是很有必要的,尤其是针对高并发的场景,下面这篇文章主要给大家介绍了关于nginx使用内置模块配置限速限流的 ... [详细]
author-avatar
j相知相守相爱
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有