星空管控策略新模型升级方案

新模型启动前提
平台版本6.0以上
星空旗舰版本20240314版本以上
新模型优缺点
新模型优点:主要提高基础资料列表的查询性能、局部共享性能
新模型缺点:分配关系不再使用_u等表,使用_bit表记录数据,直接sql查询数据不可读,较不方便
一、新建的受控基础资料默认就是新模型
查看受控基础资料分配采用的模型是哪种方式步骤如下:
方式一:管控策略设置页面查看

模型状态为: 未升级 或 空 表示使用的是旧模型
模型状态为: 已升级 表示使用的是新模型
方式二:进入开发平台,搜索受控基础资料:xk_bd_bddefctrlstrtgy

打开受控基础资料列表

模型状态为 已升级 说明此受控基础资料分配会启动新模型
二、受控基础资料出厂设置启用新模型
1、受控基础资料没有配置管控策略,用户新增管控策略时默认启用的就是新模型
2、出厂的受控基础资料已内置了管控策略,在基准库中把此基础资料加入新模型的白名单表中:
INSERT INTO t_bd_newmodel_whitelist (fid, fbasedataid) VALUES(fid, '基础资料编码');
加入白名单的基础资料新开客户环境的管控策略会是新模型、历史客户环境不会变动。
3、启用新模型在受控基础资料对应的表中必须包含以下三个字段

如已有的表中删除了必须增加回去
4、检查代码是否存在直接访问U表的情况,存在访问U表的不能使用新模型,必须改为使用平台底层提供的操作方法,比如:
查哪些组织已分配过滤条件:
BaseDataServiceHelper.getBaseDataFilter(entity, new ArrayList<>(orgIds), Boolean.FALSE);
查询数据分配了哪些组织:
BaseDataServiceHelper.assignQueryByData(dataIds, entity, createOrgId, appId)
建议:
有性能问题的基础资料都在启用新模式。
三、有历史数据的受控基础资料升级新模型
客户环境进行受控基础资料升级到新模型时处理历史数据的操作步骤
受控基础资料的模型升级在基础数据管控策略维护界面上操作执行。

现在基础数据管控模型升级功能是默认隐藏的,需要先对基础数据管控策略维护界面进行扩展开发配置,把相关的几个功能按钮显示出来。
在设计器上扩展表单基础数据管控策略(xkbd_bdctrstratege_form).
‘数据校验’、‘数据修复’和‘模型升级’ 默认是隐藏元素、把元素打开让其在工具栏上显示按钮

‘模型状态’字段默认是隐藏元素,把字段元素打开

打开4个隐藏元素后,进入管控策略配置页面可查看到元素都已展示:
‘数据校验’、‘数据修复’和‘模型升级’、‘模型状态’

升级历史数据操作步骤
依次点击:‘数据校验’-->‘数据修复’-->‘模型升级’
具体如下
1、模型升级前提条件:基础资料使用范围数据正确。即使用范围数据不能有重复,也不能
星空管控策略新模型升级方案
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



