Jbpm3历史库数据与当前工作库数据分开思路

 

    Jbpm3是个非常不错的工作流引擎,由于其灵活、直白,易于扩展等特点,可构建出独立的Bpms。由于jbpm_logjbpm_taskinstance,jbpm_variableinstance等表的数据膨胀得非常快,其性能常遭诟病。因此,为其创建怎样的历史库,以解决性能问题呢?以下是一个简单思路,不当之处,请指正:

1)历史数据是指流程已结束的所有表的相关数据;主流程未结束的流程虽已结束仍留在当前库工作表中;

2)创建另一schema(如history),表结构完全相同,作为历史库,用于从当前工作库接收满足1)的数据;

3)历史库数据表使用独立的hibernate_history.cfg.xml配置文件,从现有的*.hbm.xml文件创建新的对应配置文件,新建的配置文件,表名带schemahistory),并删除所有外键关系,主键生成机制均为assigned

4) 历史库数据表包含现有所有流程定义表;

5)将数据从当前工作库数据表插入到历史库数据表中,包括流程定义表;

6)删除工作库数据表符合1)的所有数据;删除历史库数据表中所有不符合1)的数据;即前者和后者互为补集;对于流程定义表先清空历史库,再执行步骤5);

7) 定期(每天?每周?,根据自己系统情况而定)执行步骤5)和6);用触发器来达到5)和6)的移库也是一种思路,但肯定会影响工作性能;

8)外部业务系统对工作流查询的逻辑处理,先查询当前工作库,查不到再查询历史库;这里需要2configuration:一个使用hibernate.cfg.xml,另一个使用hibernate_history.cfg.xml,分别对应工作库和历史库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值