关键字:工作流程管理系统,workflow,bpm,执行效率,缓存.
Ccflow 通过如下方提高业务流程系统执行效率。
缓存机制
1, 什么情况下用到缓存?
有以下几条缓存数据的规则。
1, 数据被频繁利用,但是不经常更新,数据量不太大.
比如人员、岗位、部门。
2, 数据在同一个过程中经常利用,比如:流程对一个实体进行运算. 它经常被各个方法所使用.
比如纳税人流程中: 纳税人的信息 \ 土地流程中的土地信息.
3, 用户的个人信息,比如他的岗位集合,部门集合.....
2 , 缓存分类.
全局级的: 在application 中应用. 比如:部门、岗位、人员、持久化存储的映射.
用户级的. 在session 中应用. 一个操作员的个人信息.
临时级的. 临时应用,在各个过程中应用,一个操作中消亡。
3, 缓存怎么在 ccflow 工作流引擎中表现?
1, 系统启动时,自动的把一个常用的数据调入到 全局级的缓存区。
2, 用户登陆后,把该用户的岗位、部门集合放入到 用户级的缓存区.
3, 系统在运算时,大部分数据已经被加工处理好, 大大减轻了服务器的负担.
事先计算:
事先计算就是把能够计算得到的属性在流程设计时提前计算出来,比如:节点的位置,它是一个枚举类型,开始节点、中间节点、结束节点。如果在运行中计算会消耗服务器的资源,如果在设计阶段计算好,就会节省这笔开销。
这些事先计算包含多个方面,比如:表单是否有明细、是否有框架、是否有扩展应用。。。。。
XML 数据的缓存
系统启动起来后就会把xml数据调入到缓存处理,节省了大量的IO 操作。
参数执行:
多达95%以上的sql 都是用参数执行的,您可以通过监控工具捕获到它们。Ccflow是运行在bp框架上的,所有的实体类,都是放在SQLCash 这个类中,所有的update,delete,insert,select 操作都是采用的参数执行,生成的sql放入缓存里。