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

来源:互联网 发布:mysql root 密码丢失 编辑:程序博客网 时间:2024/05/17 18:26

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

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

原创粉丝点击