• 基于flowable的upp(统一流程平台)运行性能优化(2)


    upp整体架构决定了我们的内部并不全依赖于核心组件,我们完全由能力在外围控制核心组件的行为,所以有必要回归下upp的整体结构:

    基于(1)的分析,业务模型压缩方案基本确认。运行期需要压缩数据模型如下:

    act_ge_*

    a.act_ge_bytearray:

    这张表存储的是flowable中使用的大对象,如流程发布后的运行图/变量表中的大对象信息。运行图需要进行版本管理,所以不需要关注。

    所以整个来看关注运行期变量/与历史沉积变量

    --运行期总变量信息:

    select *from act_ge_bytearray where DEPLOYMENT_ID_ is null and NAME_='var-flow_assignee'

    --运行期有效变量信息:

    select *from act_ge_bytearray where DEPLOYMENT_ID_ is null and NAME_='var-flow_assignee' and ID_ in(select BYTEARRAY_ID_ from act_ru_variable where BYTEARRAY_ID_ is not null)

    --历史沉积变量信息

    select * from act_ge_bytearray where  DEPLOYMENT_ID_ is null and NAME_='hist.var-flow_assignee'

    --历史沉积有效变量信息

    select * from act_ge_bytearray where  DEPLOYMENT_ID_ is null and NAME_='hist.var-flow_assignee' and ID_ in(select BYTEARRAY_ID_ from act_hi_varinst ahv where BYTEARRAY_ID_ is not null)

    act_ru_*

    b.act_ru_actinst

    c.act_ru_execution

    d.act_ru_task

    e.act_ru_variable

    本质上运行期的信息不需要调整,但upp的结构提醒着我们一切皆有可能。

    业务数据终审是基于wfengine的流程索引表、撤回重选流程的数据运行期信息已经不再有意义。所以需要清理的信息将基于流程实例索引表与流程实例轮次表进行处理。

    ---需要考虑运行沉积时间:【15天到6个月】

    select *from act_hi_procinst where PROC_INST_ID_ in(select FLW_PROC_INSTANCE_ID from dhcc_flw_bizdata_index dfbi where FLW_STATUS='完成')

    ---需要考虑沉积时间
    select *from act_hi_procinst where PROC_INST_ID_ in(select FLW_PROC_INSTANCE_ID from dhcc_flw_bizdata_index_hi dfbih)

    根据获取到的流程实例对象进行数据转存操作。

    act_hi_*

    f.act_hi_comment

    g.act_hi_identitylink

    h.act_hi_instance_rel

    i.act_hi_procinst

    j.act_hi_actinst

    k.act_hi_taskinst

    *l.act_hi_taskinst_approve

    *m.act_hi_taskinst_approve_delete

    n.act_hi_varinst

    由于我们对审批记录信息进入重选构建(带*表),所以,当流程终审完或撤回重选流程后,相应的数据在表中沉积一段时间后,可以进行转存。转存的数据员类似ru表的检测。

    ---需要考虑运行沉积时间:【15天到6个月】

    select *from act_hi_procinst where PROC_INST_ID_ in(select FLW_PROC_INSTANCE_ID from dhcc_flw_bizdata_index dfbi where FLW_STATUS='完成')

    ---需要考虑沉积时间
    select *from act_hi_procinst where PROC_INST_ID_ in(select FLW_PROC_INSTANCE_ID from dhcc_flw_bizdata_index_hi dfbih)

    根据获取的流程实例,对相应的数据进行转存操作。

  • 相关阅读:
    c语言练习63:用malloc开辟二维数组的三种办法
    .NET借助虚拟网卡实现一个简单异地组网工具
    Day 47 MySQL Navcat、PyMYsql
    redis为什么使用跳跃表而不是树
    题解 [LuoguP3426][POI2005]SZA-Template
    c++——红黑树
    算法通关村之字符串(实战训练)经典问题:转换小写字母、字符串反转、K个一组反转、仅反转字母
    day42 cmd下数据库操作库表数据sql语句
    C语言——使用函数的形式打印1000年到2000年之间的闰年
    CorelDRAW和InDesign软件的功能区别
  • 原文地址:https://blog.csdn.net/tubierr/article/details/126116008