# 7.3.1 升级到 7.5.0
# 1. 升级准备
# eos平台升级
由于本次升级涉及到eos8.3.1版本升级到8.3.3版本,因此需要先完成eos部分的升级。
具体升级步骤可以参考EOS Platform 8.3.1升级EOS Platform 8.3.3。
# 元数据升级
元数据产品也需要重7.5.0版本升级到7.5.1版本,因此也需要先完成元数据的升级,并且需要将新版本元数据与公共资源管理做集成
# 数据库备份
将数据库进行备份,升级操作会执行UPDATE语句直接修改历史数据,包括数据资产(damp)、afcenter、元数据(intergration75)的数据库。
# 资产目录历史数据导出模版
在升级历史数据过程中还会用到老版本中导入导出等功能,请提前导出。
(1) 通过老版本的目录导出功能将历史数据导出
# 2. 执行数据库升级结构脚本
升级之前注意数据库备份!!!
升级之前注意数据库备份!!!
升级之前注意数据库备份!!!
微应用安介质安装时需要按顺序执行对应数据库的数据库初始化脚本。初始化脚本路径为 Primeton_DAMP_7.5.0_Server/db-scripts/
以Mysql为例,需要执行如下脚本:
#在afcenter数据库下执行
db-scripts/damp/upgrade/Mysql/7.3.1-7.5.0/afc_data.sql
#在damp数据库下执行
db-scripts/damp/upgrade/Mysql/7.3.1-7.5.0/damp.sql
db-scripts/damp/upgrade/Mysql/7.3.1-7.5.0/damp_data.sql
# 3. 更换升级介质
升级操作只支持微服务版本升级,数据库操作无需重复操作,全部介质更换新版介质,配置文件重新修改(不建议只替换jar)
具体安装步骤参考微应用版本安装。
# 4. 重启服务
脚本及介质更新完成后,需要重启afcenter、damp后端应用。
# 5. 修改配置
登陆系统,访问“数据资产-平台配置-平台参数配置”,检查平台配置信息是否配置准确。具体配置方法可以参考微服务配置中平台配置章节。
# 6. 环境验证
- 登陆系统,页面样式更新。
# 7. 按模块升级历史数据
由于本次版本变动比较大,需要通过页面操作以及脚本执行相结合的方式来实现数据升级。 脚本中存在Schame名称,如与示例不一致注意替换后执行。
升级过程中Afcenter数据库Schame 示例为:afcenter4eos8
升级过程中数据资产(DAMP)数据库Schame示例为:damp
升级过程中元数据数据库Schame示例为:intergration75
# 数据资产模块历史数据升级
# 数据源升级
数据资产7.5.0版本中数据源统一放在公共资源进行维护,在数据资产中只进行同步操作。
(1)在执行脚本将元数据库中的挂载点编码拼接环境信息和租户信息(源数据编码_dev_sys_tenant)
-- 更新元数据库中挂载点编码(t_md_instance.INSTANCE_CODE)确保公共资源可以通过编码可以关联到之前的数据源
UPDATE
intergration75.t_md_instance dgs
INNER JOIN damp.rcm_datasource datasource
ON dgs.INSTANCE_ID = datasource.META_CATALOG_ID
SET
dgs.INSTANCE_CODE = CONCAT(datasource.DS_CHARSET, '_dev_sys_tenant');
执行后元数据挂载点编目更新为(源数据编码_dev_sys_tenant)及成功更新数据。
方案一:
(1)将系统管理下所有系统的数据源通过【技术门户】-【配置中心】-【系统工具】 - 数据源同步公共资源功能 实现历史数据源同步至afc。
(2) 数据源升级成功验证
在数据资产数据源点击查看元数据,正常显示
方案二:也可以手动将数据源注册到公共资源,在执行关联数据库脚本
(1)将系统管理下所有系统的数据源统一在公共资源管理数据源管理中重新注册新增。
保证名称、编码保持于源数据源一致。
如果出现数据源编码不合规或者有重名,先修改数据资产数据源编码在执行步骤(1)脚本后,在进行注册。
(2)确保数据资产的数据源在公共资源数据源全部维护好后,执行如下脚本。
-- 更新数据资产数据源与公共资源数据源的关系,将公共资源的数据源ID、数据层级、环境信息保存到数据资产数据源中
UPDATE damp.rcm_datasource tgt
INNER JOIN (
SELECT
a.CODE,
a.ID,
a.LEVELS,
e.ENV_TYPE
FROM
afcenter4eos8.afc_datasource a
LEFT JOIN afcenter4eos8.afc_datasource_engine e
ON a.CODE = e.CODE
) src
ON tgt.DS_CHARSET = src.CODE
SET
tgt.AFC_DS_ID = src.ID,
tgt.AFC_LEVELS = src.LEVELS,
tgt.DS_DATABASE = tgt.DS_SCHEMA_NAME,
tgt.DS_ENTYPE = src.ENV_TYPE;
(3) 数据源升级成功验证
在数据资产数据源点击查看元数据,正常显示
# 主题域升级(目录分类)
新版本中主题域就是之前的目录分类,该模块需要补充分类的类型、层级、是否叶子节点等属性。
(1)使用主题域全部导出功能,导出历史数据。
(2)补充数据,补充分类的层级、是否叶子节点等属性信息
注意只有叶子节点可以关联目录。L0在根节点下,L1可以有多级,叶子节点只能是L2
(3)执行脚本删除掉主题域历史记录。
-- 执行脚本删除掉主题域历史记录保证导入不报错
delete from rcm_group;
delete from rcm_r_group_entity;
(4)重新导入主题域。
# 资产模版
(1)通过技术门户-》配置中心-》资产模版发布历史的自定义模版字段重新发布。
# 数据服务模块历史数据升级
(1)将服务重新发布
# 资产编目升级
7.5.0版本中资产目录的类型由逻辑实体、元数据、服务、文件、报表五种变更为逻辑实体编目,元数据、服务、文件、报表通过关联的方式挂载在目录下。不同类型的历史资产目录,处理的方式也不同。
(1) 下载新版本逻辑实体导入模版
(2)通过准备阶段导出的资产目录模版完善逻辑实体模版
Sheet页 | 新版本字段 | 老版本字段 |
---|---|---|
逻辑实体 | 实体名称 | 资产名称 |
逻辑实体 | 实体英文名 | 资产英文名 |
逻辑实体 | 实体编码 | 资产编号 |
逻辑实体 | 安全分类 | 安全分类 |
逻辑实体 | 主管部门 | 主管部门 |
逻辑实体 | 安全分级 | 安全等级 |
逻辑实体 | 主题域 | 手动补齐 |
逻辑实体 | 描述 | 目录摘要 |
属性信息 | 实体编码 | 所属资产编码 |
属性信息 | 属性编码 | 属性编码 |
属性信息 | 属性名称 | 属性名称 |
属性信息 | 属性类型 | 字段类型 |
属性信息 | 数据元标准编码 | 标准 |
属性信息 | 长度 | 长度 |
属性信息 | 安全等级名称 | 分级 |
属性信息 | 主键(Y/N) | 手动补齐 |
属性信息 | 非空(Y/N) | 手动补齐 |
属性信息 | 排序 | 手动补齐 |
逻辑实体的主题域须填写主题域编码,且只能填写一个L2层级的编码,根据老版本主题分类信息在主题域管理查找主题域编码进行填写。后续其他主题域的关联通过批量操作完成。
(3)导入逻辑实体
(5)导入成功后,执行逻辑实体与历史记录关联脚本
-- 将新导入的逻辑实体通过实体编码将之前的资产目录关联
update damp.rcm_catalog cata
INNER JOIN damp.rcm_model_entity model on cata.CATA_CODE = model.ENTITY_CODE
set cata.TMDR_ID = model.ENTITY_ID,
cata.CATA_SOURCE = 'model';
(6)批量关联主题域 如果之前资产目录关联了多个目录分类,根据准备阶段中的目录分类进行批量关联。
(7)关联逻辑实体与物理实体关系(技术元数据编目)
下载逻辑实体和物理实体关系模版
通过准备阶段导出的资产目录模版完善逻辑实体和物理实体关系模版
只筛选技术元数据的目录
Sheet页 | 新版本字段 | 老版本字段 |
---|---|---|
逻辑模型关联数据表 | 逻辑实体编码 | 资产编号 |
逻辑模型关联数据表 | 资产系统数据源编码 | 手动补充 |
逻辑模型关联数据表 | Schema(英文名称) | 手动补充 |
逻辑模型关联数据表 | Table(英文名) | 资产英文名称 |
资产系统数据源编码、Schema(英文名称)根据所属系统列在系统管理-数据源管理查找。
导入逻辑实体和物理实体关系
(8)关联逻辑实体与服务关系(服务编目)
-- INSERT INTO SELECT 将之前的关系查出来直接插入逻辑实体与资源的关系表中
INSERT INTO rcm_r_ldm_source (
REL_ID,
ENTITY_CODE,
ENTITY_NAME,
ENTITY_ID,
SOURCE_ID,
SOURCE_CODE,
SOURCE_NAME,
SOURCE_TYPE,
SOURCE_ORG_ID,
SOURCE_ORG_NAME,
SOURCE_PATH,
SERVICE_TYPE,
SERVICE_VERSION
)
SELECT
UUID() AS REL_ID,
me.ENTITY_CODE,
me.ENTITY_NAME,
me.ENTITY_ID,
a.SERVICE_ID AS SOURCE_ID,
a.SERVICE_ID AS SOURCE_CODE,
a.NAME AS SOURCE_NAME,
'service' AS SOURCE_TYPE,
a.OWNER_USER_ID AS SOURCE_ORG_ID,
a.OWNER_USER_NAME AS SOURCE_ORG_NAME,
a.SERVICE_URL AS SOURCE_PATH,
a.SERVICE_TYPE,
a.VERSION AS SERVICE_VERSION
FROM
rcm_model_entity me
JOIN (
SELECT
s.SERVICE_ID,
s.NAME,
s.SERVICE_URL,
s.OWNER_USER_ID,
s.OWNER_USER_NAME,
s.SERVICE_TYPE,
s.VERSION,
c.CATA_CODE
FROM
rcm_r_catalog_service r
INNER JOIN rcm_catalog c ON r.CATALOG_ID = c.CATA_ID
INNER JOIN pds_service_version s ON r.SERVICE_ID = s.SERVICE_ID
INNER JOIN (
SELECT SERVICE_ID, MAX(VERSION) AS MAX_VERSION
FROM pds_service_version
GROUP BY SERVICE_ID
) latest ON s.SERVICE_ID = latest.SERVICE_ID AND s.VERSION = latest.MAX_VERSION
) a ON me.ENTITY_CODE = a.CATA_CODE;
(9)关联逻辑实体与文件关系(文件编目)
-- INSERT INTO SELECT 将之前的关系查出来直接插入逻辑实体与资源的关系表中
INSERT INTO rcm_r_ldm_source (
REL_ID,
ENTITY_CODE,
ENTITY_NAME,
ENTITY_ID,
SOURCE_ID,
SOURCE_CODE,
SOURCE_NAME,
SOURCE_TYPE,
SOURCE_ORG_ID,
SOURCE_ORG_NAME,
SOURCE_PATH
)
SELECT
UUID() AS REL_ID,
me.ENTITY_CODE,
me.ENTITY_NAME,
me.ENTITY_ID,
a.SOURCE_ID,
a.SOURCE_CODE,
a.SOURCE_NAME,
'file' AS SOURCE_TYPE,
a.SOURCE_ORG_ID,
a.SOURCE_ORG_ID,
a.SOURCE_PATH
FROM
rcm_model_entity me
JOIN (
SELECT
r.RES_ID,
c.CATA_CODE,
s.RES_SOURCE_ID AS SOURCE_ID,
s.RES_SOURCE_ID AS SOURCE_CODE,
s.RES_NAME AS SOURCE_NAME,
s.RES_NAME AS SOURCE_PATH,
s.ORG_ID AS SOURCE_ORG_ID,
s.ORG_NAME AS SOURCE_ORG_NAME
FROM
rcm_r_catalog_resource r
INNER JOIN rcm_catalog c ON r.CATA_ID = c.CATA_ID
INNER JOIN rcm_resource s ON r.RES_ID = s.RES_ID
WHERE r.RES_TYPE = 'file'
) a ON me.ENTITY_CODE = a.CATA_CODE;
(10)关联逻辑实体与报表关系(表报编目)
-- INSERT INTO SELECT 将之前的关系查出来直接插入逻辑实体与资源的关系表中
INSERT INTO rcm_r_ldm_source (
REL_ID,
ENTITY_CODE,
ENTITY_NAME,
ENTITY_ID,
SOURCE_ID,
SOURCE_CODE,
SOURCE_NAME,
SOURCE_TYPE,
SOURCE_ORG_ID,
SOURCE_ORG_NAME,
SOURCE_PATH
)
SELECT
UUID() AS REL_ID,
me.ENTITY_CODE,
me.ENTITY_NAME,
me.ENTITY_ID,
a.SOURCE_ID,
a.SOURCE_CODE,
a.SOURCE_NAME,
'report' AS SOURCE_TYPE,
a.SOURCE_ORG_ID,
a.SOURCE_ORG_ID,
a.SOURCE_PATH
FROM
rcm_model_entity me
JOIN (
SELECT
r.RES_ID,
c.CATA_CODE,
s.RES_SOURCE_ID AS SOURCE_ID,
s.RES_SOURCE_ID AS SOURCE_CODE,
s.RES_NAME AS SOURCE_NAME,
s.RES_NAME AS SOURCE_PATH,
s.ORG_ID AS SOURCE_ORG_ID,
s.ORG_NAME AS SOURCE_ORG_NAME
FROM
rcm_r_catalog_resource r
INNER JOIN rcm_catalog c ON r.CATA_ID = c.CATA_ID
INNER JOIN rcm_resource s ON r.RES_ID = s.RES_ID
WHERE r.RES_TYPE = 'report'
) a ON me.ENTITY_CODE = a.CATA_CODE;
(11) 批量发布逻辑实体
# 标准模块历史数据升级
(1)自定义分域模版字段需要重新新增。
自定义字段编码、名称要与准备阶段导出的标准域文档保持一致
(2)将标准重新批量发布
← ESB集成说明 7.3 升级至 7.3.1 →