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篇文章,分析了在营销自动化业务引入工作流技术的背景和工作流引擎的介绍,同时介绍了 ...
随机推荐
- MYSQL中存储过程的创建,调用及语法
MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...
- Unity LightmapParameters的使用
Unity5的烘培十分不好用,今天看官方demo时发现可以用LightmapParameters对模型的GI配置进行单独覆写,介绍一下 LightmapParameters可以把全局光照的配置做成预设 ...
- 阅读笔记 火球——UML大战需求分析 2
从大一一开始接触C++的时候,上课模模糊糊的听王辉老师讲,我们第一学期学的是面向过程,第二学期学的是面向对象,迷迷糊糊的上了一年,到了大二的时候,对这个面向什么没有什么深层次的理解.知道学了JAVA ...
- x86和x64的区别
整理了下网上的资料,归类了下,大似表述是这样的:IBM/PC兼容机,也就是Intel的i80x86指令架构,就简称了x86.x86并不是指32位环境,而是指80x86架构,这个架构目前有32位,64位 ...
- Mac下体验Hexo与Github Pages搭建
很久之前就知道Github可以发布自己的博客,因为仅支持静态文件,一直懒于动手自己进行编辑.再了解到还存在 JekyII 和 Hexo 这样的内容生成框架后,终于决定体验一下. 一.本地环境准备. G ...
- nginx ssl 更换问题
公司之前使用的是免费startssl证书,听说IOS 以后不信任这些免费的验证不严格的证书,公司果断购买了一个统配域名证书,其实不用貌似也没什么事,主要是提交app的时候得说明理由,被拒的可能性比较大 ...
- TLD目标跟踪算法
1. 简介 TLD目标跟踪算法是Tracking-Learning-Detection算法的简称.这个视频跟踪算法框架由英国萨里大学的一个捷克籍博士生Zdenek Kalal提出.TLD将传统的视频跟 ...
- c语言练习
#include<stdio.h> struct student{ ]; int No; ]; int sum; }; int strcmp(char *s, char *t) { int ...
- A little bit about Handlers in JAX-WS
by Rama Pulavarthi Handlers are message interceptors that can be easily plugged in to the JAX-WS run ...
- String.getBytes()
package entity; import java.io.UnsupportedEncodingException; public class Test { public static void ...