8.1 ccflow如何提高工作流程管理系统运行效率?

8.1 ccflow如何提高工作流程管理系统运行效率?

关键字:工作流程管理系统,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放入缓存里。

你可能感兴趣的:(8.1 ccflow如何提高工作流程管理系统运行效率?)