F2工作流引擎参与者类型成员的交、并、互拆计算规则
计算描述:计算规则指的是和其它“参与者类型成员”的之间的计算,必须求解处理人不为空的情况下才进行规则计算,各个“参与者类型成员”按序号顺序执行。
计算算法:并集(权重最低),交集(权重中),互拆(权重最高,且是独占式)
规则要点:
- 按序号顺序执行计算结果
- 参与者处理人不为空才参与成员间计算
- 权重
示例讲解

以上图图示为例,总共有三个参与者类型成员:SQL参与者,指定用户参与者,角色参与者。
那么我们用示例来解释一下规则里面的描述要点:
- 1. 按序号顺序执行计算结果
参与者前面都有一个序号:1是SQL参与者。2是指定用户参与者。3是角色参与者。那么引擎的执行会把这个顺序来执行求解各自的处理人。
通过右侧的上下剑头可以调整顺序。
示例假如:
1SQL参与者求解得出ABC
2指定用户参与者是BD
3角色参与者是EFG
条件假设
假设条件情况一:1是并集,2交集,3并集
那么执行过程是这样的:
引擎执行1结果一定是ABC,因为1是第一个参与者,然后把ABC存入一个临时的结果集中我们称之为temp,因为1是并集,那么继续执行(注意只要不是互拆类型的都继续执行),2是BD,那么BD相交于tem,执行BD∩temp=B,将B放入temp=B,那么继续执行3EFG,用EFG并集于temp,执行EFG∪temp=BEFG放入临时结果集temp=BEFG,由于后面没有了,所以最终结果就是:BEFG。
假设条件情况二:1是并集,2互拆,3交集
那么执行过程是这样的:
引擎执行1结果 temp=ABC,因为1是并集那么继续执行(注意只要不是互拆类型的都继续执行),2是BD,那么BD互拆于temp,此时得到的新结果就是BD,由于2是互拆权重最高了所以后面的3不再执行去计算了,最终BD放入temp=BD,所以最终结果就是:BD
设置条件2求得得出的人是空的执行情况又会是怎样的?
1SQL参与者求解得出ABC
2指定用户参与者是 空
3角色参与者是EFG
按上面的情况二,执行的结果就是1 temp=ABC,先执行2由于为空(虽然权重是互拆但是自身没有处理人所以不参与计算),所以2不参与计算,继续执行3EFG相交于temp,得出的结果就是空 temp=空
- 2. 参与者类型求解到的处理人不为空才参与计算
这里是指参与者类型自已求出来的处理人不能为空才参与。
比如:1的SQL参与者,如果求解出来的处理人是空的,那么这SQL参与者不参与成员之间的交集,并集,互拆的计算。
- 3. 权重
并集(权重最低)与temp进行合并
交集(权重中)与temp取相同共有的处理人
互拆(权重最高,且是独占式)代替掉temp成为新的结果,并且后面所有参与者都忽略掉。
F2工作流引擎参与者类型成员的交、并、互拆计算规则的更多相关文章
- F2工作流引擎这工作流引擎体系架构(二)
F2工作流体系架构概览图 为了能更好的了解F2工作流引擎的架构体系,花了些时间画了整个架构的体系图.F2工作流引擎遵循参考WFCM规范,目标是实现轻量级的工作流引擎,支持多种数据库及快速应用到任何基于 ...
- F2工作流引擎之-纯JS Web在线可拖拽的流程设计器(八)
Web纯JS流程设计器无需编程,完全是通过鼠标拖.拉.拽的方式来完成,支持串行.并行.分支.异或分支.M取N路分支.会签.聚合.多重聚合.退回.传阅.转交,都可以非常方便快捷地实现,管理员 ...
- F2工作流引擎Web层全新扁平化UI上线
特点:引入Bootstrap开源UI样式和fontawesome图标集 扁平化样式使用界面更舒服,按钮主题可快速定义更换,对于集成到业主系统UI图标更加丰富. 以下截取部分图片展示,更多请联系作者登录 ...
- F2工作流引擎之 概述(一)
简介 工作流应该算是基础框架软件,主要用于流程的重组和优化,它有广阔的应用领域.在java下有很多优秀的开源工作流可以选择比如activit5.jpbm4等,在.net下却几乎找不到令人满意的工作流引 ...
- F2工作流引擎之 工作流运转模型(三)
1流程单起点单终止模型 单起点:一个流程定义必须有且唯一起点 单结束点:一个流程定义必须有且唯一结束点. 约定:提单与结束是每个流程必须有的活动,且唯一只有一个提单和结束. 2串行模型 描述:串行(S ...
- F2工作流引擎模型
工作流引擎(Workflow Engine ) [编辑] 工作流引擎概述 工作流引擎是指workflow(工作流)作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色.分工和条件的不同决定 ...
- F2工作流引擎之组织用户模型(四)
1 概述 工作流组织模型是工作流引擎中核心重要的一部份,是实现人机交互中不可或缺的组成部分,而由于工作流引擎需要适应不同的系统之间存在组织用户结构的不同, 如组织表中字段名不同,所以需要实现适应不同系 ...
- F2.Net工作流引擎系列索引
索引如下 F2工作流引擎遵循参考WFCM标准规范,符合中国国情特色,更轻量级的工作流引擎,支持多种数据库(mmsqlserver,mysql,oracle),有强大智能的组织模型接口可快速应用到任何基 ...
- 工作流引擎在vivo营销自动化中的应用实践 | 引擎篇03
作者:vivo 互联网服务器团队- Cheng Wangrong 本文是<vivo营销自动化技术解密>的第4篇文章,分析了在营销自动化业务引入工作流技术的背景和工作流引擎的介绍,同时介绍了 ...
随机推荐
- linux内存占用查看命令
ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep tomcat | sort -nrk5 其中rsz为实际内存,上例实现按内存排序 ...
- all ,any,abs的使用
#!/usr/bin/env python #all循环参数,如果每个元素都为真,那么all的返回值为真 r = all([True,'sad','asd']) print(r) #any 只有一个真 ...
- linux文件系统,文件的分类
从硬盘的构造可知,每次对物理磁盘的访问的最小单位是一个盘面上的一个磁道的扇区,即使用户需要读取一个字节的数据,实际读写时都是先把该字节所在的扇区读读入到内存,然后再访问. 1.普通文件 2.目录文件 ...
- Kanzi编程基础2 - Kanzi节点读取和属性设置
UI设计师在Kanzi studio把Kanzi的节点做好后,就要编码读取这些节点并根据实际功能去控制刷新它. Kanzi读取节点的api发生过很多次变化,从2.7.2.8到3.0,每次变化都比较大, ...
- SQL知识整理三:变量、全局变量、视图、事务、异常
变量 1.局部变量的声明(一个@) declare @n int --声明变量关键字为declare 然后@加变量名 后面是变量类型 declare @s varchar(36) 2 ...
- 编辑距离——Edit Distance
编辑距离 在计算机科学中,编辑距离是一种量化两个字符串差异程度的方法,也就是计算从一个字符串转换成另外一个字符串所需要的最少操作步骤.不同的编辑距离中定义了不同操作的集合.比较常用的莱温斯坦距离(Le ...
- sublime text 3插件
Package Control Messages Emmet emmet插件 Thank you for installing Emmet -- a toolkit that can greatly ...
- Xcode7 模拟器安装app (转)
本文转自同事zz的博客http://archerzz.cn/ios/xcode-install-app.html 原由 很多时候,为了学习了解别人的app,很多时候我们是直接拿别人的app安装在自己的 ...
- jquery ajax 方法及各参数详解
1.$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息. 参数列表: 参数名 类型 描述 url String (默认: 当前页地址) 发送请求的地址. type ...
- L2TP协议
L2TP协议 L2TP(Layer 2 Tunneling Protocol) 第二层隧道协议.该协议是工业标准的Internet隧道协议. L2TP实现的两种方式 LAC (L2TP Access ...