星空管控策略新模型升级方案原创
金蝶云社区-haikuan_huang
haikuan_huang
1人赞赏了该文章 207次浏览 未经作者许可,禁止转载编辑于2024年07月02日 16:39:55

新模型启动前提

 平台版本6.0以上

 星空旗舰版本20240314版本以上

新模型优缺点

 新模型优点:主要提高基础资料列表的查询性能、局部共享性能

 新模型缺点:分配关系不再使用_u等表,使用_bit表记录数据,直接sql查询数据不可读,较不方便

管控策略新模型实现的技术方案

一、新建的受控基础资料默认就是新模型

查看受控基础资料分配采用的模型是哪种方式步骤如下:

方式一:管控策略设置页面查看

0fab982e9c1a5b1edf9233fd1ca5846a_wFWpKIBTfanrgAAAABJRU5ErkJggg==.png

模型状态为: 未升级 或 空  表示使用的是旧模型

模型状态为: 已升级 表示使用的是新模型

方式二:进入开发平台,搜索受控基础资料:xk_bd_bddefctrlstrtgy

3ec67c77fe2012428c7a9cd63eb618a3_0ZA8aAMWAMGAPGgDFgDNSAgf8H7cU2EUxJgIIAAAAASUVORK5CYII=.png

打开受控基础资料列表

fec50171e69d4752ed35ffb18e974a09_4AAAAASUVORK5CYII=.png

模型状态为 已升级 说明此受控基础资料分配会启动新模型

二、受控基础资料出厂设置启用新模型

1、受控基础资料没有配置管控策略,用户新增管控策略时默认启用的就是新模型

2、出厂的受控基础资料已内置了管控策略,在基准库中把此基础资料加入新模型的白名单表中:

        INSERT INTO t_bd_newmodel_whitelist (fid, fbasedataid) VALUES(fid, '基础资料编码');

        加入白名单的基础资料新开客户环境的管控策略会是新模型、历史客户环境不会变动。

        

3、启用新模型在受控基础资料对应的表中必须包含以下三个字段

  1a0a643c11354e2d943ea5bd27d6a935_AWoFdX0ZkhqgAAAAAElFTkSuQmCC.png

 如已有的表中删除了必须增加回去

4、检查代码是否存在直接访问U表的情况,存在访问U表的不能使用新模型,必须改为使用平台底层提供的操作方法,比如:

查哪些组织已分配过滤条件:

BaseDataServiceHelper.getBaseDataFilter(entity, new ArrayList<>(orgIds), Boolean.FALSE);  

 查询数据分配了哪些组织:

BaseDataServiceHelper.assignQueryByData(dataIds, entity, createOrgId, appId)

建议:

有性能问题的基础资料都在启用新模式。

三、有历史数据的受控基础资料升级新模型

客户环境进行受控基础资料升级到新模型时处理历史数据的操作步骤

受控基础资料的模型升级在基础数据管控策略维护界面上操作执行。

92d05d29e9fe2ae1a1542a1bcd5bab39_oNA+AgfjQGNAY0BjQGNAY0BjQGNAY0BjQGNAY0BjQGNAY0BjQGNgdGMgf8HEodyQC8zeosAAAAASUVORK5CYII=.png

现在基础数据管控模型升级功能是默认隐藏的,需要先对基础数据管控策略维护界面进行扩展开发配置,把相关的几个功能按钮显示出来。

在设计器上扩展表单基础数据管控策略(xkbd_bdctrstratege_form).

‘数据校验’、‘数据修复’和‘模型升级’ 默认是隐藏元素、把元素打开让其在工具栏上显示按钮

21b4eb826a77ab87a4e4597ff90265b2_AbhOgogHnzjpAAAAAElFTkSuQmCC.png

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

9b6c838675051737042da5e69b09f188_ncacAAAAASUVORK5CYII=.png

打开4个隐藏元素后,进入管控策略配置页面可查看到元素都已展示:

‘数据校验’、‘数据修复’和‘模型升级’、‘模型状态’

de74234c27f2610bbdbafbecb2766967_OIhgH4EAAAAAElFTkSuQmCC.png

升级历史数据操作步骤

依次点击:‘数据校验’-->‘数据修复’-->‘模型升级’

具体如下

1、模型升级前提条件:基础资料使用范围数据正确。即使用范围数据不能有重复,也不能缺少数据。

执行模型升级前先执行‘数据校验’功能,检查指定的基础资料是否存在重复的使用范围数据。

2、如果提示存在重复的使用范围数据,则执行‘数据修复’功能。

执行‘数据修复’功能后,再执行一次‘数据校验’功能,确认基础资料不存在重复的使用范围数据。

3、执行过‘数据修复’和‘数据校验’功能后,可以执行‘模型升级’功能。执行‘模型升级’功能可能需要几分钟到十几分钟,与实际基础数据数量有关。

执行‘模型升级’功能成功后,对应的‘模型状态’会变成‘已升级’。

升级新模型时日志的查看:https://vip.kingdee.com/article/596016867995397376


4486c9bfb00b195d596156e1acdce0d1_B2bbdvLwxdgAAAABJRU5ErkJggg==.png

模型升级成功后,安排业务测试人员对对应的基础数据维护功能进行功能验证,以及验证业务单据选择对应基础数据功能是否正常。

查看是否正常可以把基础资料列表的字段:原资料id、原资料位图、位图的显示出来查看,新模式下是有值的,如:

55db0ae1b8df0b3c2ac9002a9b843026_v+oOOQi4S9E3QAAAABJRU5ErkJggg==.png

二、回退方案

如果在现场验证新模型功能发现重大问题时,可以通过在开发平台上对受控基础资料(xk_bd_bddefctrlstrtgy)进行扩展开发,将‘模型状态’恢复到‘未升级’。

修改‘模型状态’控件的‘可见性’和‘锁定性’配置。

d99f6bb3e9e77aa07d3f02f9b2920c7d_Bxh1kCjwyAOhAAAAAElFTkSuQmCC.png

预览列表界面

55eed710c4191029e99c766dfbef1768_D6hFPSPkWp09AAAAAElFTkSuQmCC.png

在列表界面上查询出需要恢复模型状态的基础资料,修改‘模型状态’为‘未升级’。

c4b2723a5190bb6f70540207b068dc30_0h7juE56qecAAAAASUVORK5CYII=.png

保存后,在基础数据管控策略中的‘模型状态’恢复为‘未升级’。


e6d64b8b94ed6a9264166884c71900a2_z8WibbSmPS4dAAAAABJRU5ErkJggg==.png

恢复‘模型状态’后,对于在之前模型升级后分配的数据,需要重新执行分配操作处理。

三、约束

1.为了避免组织移动引起不确定的数据问题,建议在验证基础数据模型升级过程中,停止组织移动操作。

2.为了应对现场验证新模型功能发现重大问题时,需要重新执行分配操作处理。因此建议通知执行数据分配的操作人员,在模型升级后执行数据分配操作时,要记录下分配操作的详细数据。

可以参考附件“分配操作详细记录表.xlsx”。

四、附件

分配操作详细记录表.xlsx

分配日期分配组织编码分配组织名称分配数据编码分配数据名称分配目标组织编码分配目标组织名称




























































































赞 1