系统迁移的重点步骤及注意事项

news2024/10/5 14:23:19

在实际项目中会有迁移合并正在使用中的环境的需求,本文将以把B环境迁移合并到A环境为例,介绍如何迁移合并两个环境。
迁移前准备工作如下:

  1. 防止迁移过程中出现不可控的错误,迁移之前请备份目标环境default数据源库
  2. 确保两个环境的版本号相同,若不同请更换相同的war
  3. 获得被迁移系统的所有数据源信息

迁移合并系统的主要步骤为:

  1. 迁移数据源配置
  2. 备份恢复项目元数据
  3. 迁移权限数据
  4. 迁移文件数据源

系统迁移步骤

迁移数据源配置

在A系统中添加B系统中的所有数据源连接(详见数据源连接),此处需要添加ODS数据源

当需要迁移的数据源较多时,可以在B系统的系统数据项目下,进入资源模块,导出data-source下的所有项目,再导入到A系统的相同位置即可

备份恢复项目元数据

备份元数据步骤如下:

  1. 在B系统的系统设置-备份页面中,点击立即备份生成备份包
  2. 备份日志列表中,点击下载新生成的备份包

恢复元数据分为以下两部分:

  • 恢复项目元数据:恢复备份包中的模型、仪表板、表单等元数据
  • 迁移系统权限数据:包括部门、用户、用户组、用户组成员、权限数据,分别对应default数据源中的SZSYS_4_DEPTSSZSYS_4_USERSSZSYS_4_USER_GROUPSSZSYS_4_USER_GROUP_MEMBERSSZSYS_4_PERMISSIONS

恢复元数据步骤如下:

  1. 在A系统的系统设置-恢复页面上传备份元数据步骤中下载的备份包
  2. 选择需要恢复的项目列表中勾选B,不勾选恢复系统设置

WARNING
由于元数据恢复功能支持将备份包中的权限数据覆盖到当前系统,所以此处根据对权限迁移的实际需求不同有不同的处理方式,常见情况及其处理方式见迁移权限数据

迁移权限数据

迁移权限数据常见需求及处理方式如下:

  • 使用迁移目标系统权限数据:在元数据恢复时不勾选恢复用户和权限数据
  • 使用被迁移系统权限数据:在元数据恢复时勾选恢复用户和权限数据
  • 选择性保留双方权限数据:在元数据恢复时不勾选恢复用户和权限数据,手动处理权限数据,步骤如下:
  1. 备份两系统权限相关数据
  2. 在A系统中连接B系统default数据源,将B中的权限相关系统表以新表的方式导入A系统
  3. 插入权限数据,顺序依次为部门,用户,用户组,用户组成员,权限。
  4. 备份当前权限信息表
  5. 删除不需要的权限数据,顺序依次为权限、用户组成员、用户组、用户、部门
  6. 合并部门信息

使用迁移目标系统权限数据

若合并后的系统中,不需要原B系统的权限设置,则在元数据恢复时不勾选恢复用户和权限数据,点击恢复即可完成元数据恢复

使用被迁移系统权限数据

若合并后的系统中,使用原B系统的权限设置,且A系统中的权限设置不再使用,则在元数据恢复时勾选恢复用户和权限数据,将备份包中的权限数据覆盖当前系统中的数据,然后点击恢复即可完成元数据恢复

保留双方权限数据

本次迁移合并需求为保留A系统中的"上级单位" "外单位"部门,B中的"无锡市市场监督管理局"部门,并合并dev、赛思部门,保留所有用户组,因此在元数据恢复时不勾选恢复用户和权限数据,点击恢复完成项目元数据恢复

为实现需求需要手动处理权限相关数据,具体步骤如下:

  1. 防止处理权限数据时出现误操作,需要先备份相关表,推荐使用CREATE TABLE SZSYS_4_DEPTS_SJZT AS SELECT * FROM SZSYS_4_DEPTS语句
  2. 在A系统中连接B系统default数据源,将B中的权限相关系统表以新表的方式导入A系统,具体方法如下:
  • 进入恢复的A项目,将原A系统default数据源添加到数据中台系统中,命名为ZHJGDEFAULT
  • 右键点击ZHJGDEFAULT中的部门表(SZSYS_4_DEPTS),选择开始加工

    • 给模型添加输出节点,设置目标物理表为default/SDI/SZSYS_4_DEPTS_B,并提取数据

    • 依次导入用户、用户组、用户组成员、权限数据,物理表名依次为SZSYS_4_USERS_B、SZSYS_4_USER_GROUPS_B、SZSYS_4_USER_GROUP_MEMBERS_B、SZSYS_4_PERMISSIONS_B
  1. 插入权限相关数据,可使用数据库管理工具或直接运行INSERT语句的方式,顺序依次为部门,用户,用户组,用户组成员,权限。插入时注意:
  • 确保各表主键字段数据不重复,重复部分以A系统优先,可使用NOT EXISTS(SELECT 1 FROM t1 WHERE t1.PK=t2.PK)语句
  • 用户组成员、权限确保导入的用户、用户组数据在当前系统是存在的,可使用EXISTS (SELECT 1 FROM t1 WHERE t1.GROUP_ID=t2.GROUP_ID)
  • 备份当前权限信息表,方法与步骤1相同
  • 删除权限相关数据,可使用数据库管理工具或直接运行DELETE语句的方式,顺序依次为权限、用户组成员、用户组、用户、部门。删除时注意:
  • 部门表以SZ_PID字段记录部门层级,因此通过SZ_PID0=xx条件筛选出部门ID为xx的部门及其所有下级部门的权限数据
  • 权限表中OWNER_TYPE字段记录权限拥有者类型,'u'为用户,'g'为用户组,语句中需要增加类型的判断,例如WHERE t2.USER_ID=t1.OWNER_ID AND t1.OWNER_TYPE='u')
  • 合并部门信息,可使用数据库管理工具或直接运行UPDATE语句的方式,例如将dev(DEPT_ID为'01')和赛思(DEPT_ID为'Succez')合并步骤如下:
  1. 在用户表中将DEPT_ID为'01'的DEPT_ID列修改为'Succez'
  2. 在部门表中删除dev部门

迁移文件数据源

经过以上步骤,B项目已经合并迁移到了A项目所在的系统中来,但由于文件数据源不包含在元数据内且目前文件数据源不支持导出,所以需要在服务器中手动将文件数据源迁移,步骤如下:

  1. 进入原B项目所在服务器的workdir/cluster-share/data-files/B目录,拷贝该目录下的所有文件到A项目所在服务器的相同目录下,工作目录在/Tomcat/bin/setenv.sh下配置,详见此处
  2. 重启Tomcat

迁移完工验证

经过以上步骤,迁移合并系统已完成,需要对迁移后的系统进行相关测试,确定该系统下的项目都能稳定运行,大致范围如下:

  1. 数据源:连接其他数据库
  2. 数据:上传数据文件,数据加工,SQL查询等
  3. 分析:设计、分享、评论仪表板
  4. 表单:设计表单、流程并发布表单应用
  5. 应用:设计门户
  6. 资源:管理系统资源,如新建、删除、移动、复制资源等
  7. 系统设置:设置系统登录页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/81765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GCSE英语语言考试-虚构小说考试问题和答案案例​

Analysing Fiction - Question and extract 虚构小说分析--问题和摘要 The extracts your exam questions are based on might be longer than the one here but you should still be able to write a close analysis. First of all, have a read, and see what ideas you can …

[附源码]Python计算机毕业设计大学生运动员健康管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

27-Vue之ECharts-通用配置

ECharts-通用配置前言标题提示框工具按钮图例完整代码前言 本篇来学习下ECharts图表中的通用配置 标题 title:标题 title: {text: "分数", // 标题文字textStyle: {color: red // 文字颜色},borderWidth: 2, // 标题边框宽度borderColor: blue, // 标…

[ Linux ] 可重入函数,volatile 关键字,SIGCHLD信号

目录 1.可重入函数 2.volatile 2.1从信号角度理解volatile的作用 2.2volatile的作用 3.SIGCHLD信号 3.1SIGCHLD信号的验证 1.可重入函数 在数据结构初阶时我们学习过链表,其中当然也学习过链表头插。在此我们复习一下链表头插,我们使用画图来演示…

Koa初体验

前面我们已经学习了express,另外一个非常流行的Node Web服务器框架就是Koa。 Koa官方的介绍: koa:next generation web framework for node.js; koa:node.js的下一代web框架; 事实上,koa是ex…

【云计算与大数据技术】Google、亚马逊、IBM、阿里云等云计算应用平台介绍讲解(超详细)

云应用跟云计算最大的不同在于,云计算作为一种宏观技术发展概念而存在,而云应用则是直接面对客户解决实际问题的产品。 “云应用”的工作原理是把传统软件“本地安装、本地运算”的使用方式变为”即取即用”的服务,通过互联网或局域网连接并操…

VUE学习(五)VUE项目发布启动

在项目目录下运行 npm run build 2.下载nginx nginx: download 双击nginx.exe运行 3.将打包好的vue项目下dist目录所有文件拷贝 4.粘贴至nginx目录html下 5.此时在浏览器中输入localhost 即可看到发布的网站了

【云计算与大数据技术】大数据概念和发展背景讲解(图文解释 超详细)

一、什么是大数据 大数据是一个不断发展的概念,可以指任何体量或负载下那个超出常规数据处理方法和处理能力的数据,数据本身可以是结构化,半结构化甚至是非结构化的,随着物联网技术与可穿戴设备的飞速发展,数据规模变…

首篇!BEV-Locator:多目端到端视觉语义定位网络(清华轻舟智航)

点击下方卡片,关注“自动驾驶之心”公众号ADAS巨卷干货,即可获取点击进入→自动驾驶之心【SLAM】技术交流群后台回复【BEV定位】获取本文论文!摘要准确的定位能力是自动驾驶的基础。传统的视觉定位框架通过几何模型来解决语义地图匹配问题&am…

【C语言经典面试题】这样的char * 定义怎么回事

作者简介 *架构师李肯(全网同名)**,一个专注于嵌入式IoT领域的架构师。有着近10年的嵌入式一线开发经验,深耕IoT领域多年,熟知IoT领域的业务发展,深度掌握IoT领域的相关技术栈,包括但不限于主流…

Cookie | Cookie的理论基础、Cookie中常用的方法

目录 一:Cookie的理论基础 二:Cookie中常用的方法 一:Cookie的理论基础 (1)cookie怎么生成? ①session的实现原理中,每一个session对象都会关联一个sessionid,例如:JS…

中创软件递交上会稿:年营收不到2亿 税收优惠占利润比高

雷递网 雷建平 12月10日山东中创软件商用中间件股份有限公司(简称:“中创软件”)日前递交上会稿,准备在科创板上市。中创软件计划募资6亿元,其中,2.3亿元用于应用基础设施及中间件研发项目,1.3亿…

开源一个各种USB电缆的测试仪,再也不用担心被只有充电功能的数据线坑了

作者:晓宇,排版:晓宇微信公众号:芯片之家(ID:chiphome-dy)01 想知道你的USB Type C数据线是USB2或者USB3吗?大家是否有一些仅有充电功能的USB数据线在你的抽屉里,等待某个…

量子计算(十三):量子计算的if和while

文章目录 量子计算的if和while 一、基于测量的跳转 二、基于量子信息的IF和WHILE 量子计算的if和while 所谓量子线路,从本质上是一个量子逻辑门的执行序列,它是从左至右依次执行的。即使介绍了函数调用的思想,也可以理解为这是一种简单地…

10-11-12 - 实模式到保护模式

---- 整理自狄泰软件唐佐林老师课程 文章目录1. 从计算机的历史谈起2. 绝对的权利带来的问题3. CPU历史的里程碑 - 80863.1 深入解析 [段地址 : 偏移地址]3.1.1 示例3.1.2 问题3.2 8086时期应用程序中的问题3.3 思考4. 80286的登场4.1 80286的兼容性4.2 初识保护模式4.2.1 描述…

JDBC连接数据库详解~

课前导读: 本文章有关JDBC连接数据库的操作,其中涉及了编译器idea的使用,其中连接的数据库为MySQL数据库,通过博主自己的学习和总结写出了下面的文章。 目录 课前导读: 一、JDBC简介 二、JDBC连接操作 三、源码提供…

数素数

目录 1013 数素数 输入格式: 输出格式: 输入样例: 输出样例: 代码长度限制: 时间限制: 内存限制: 思路: 1.判断素数 1.2素数判断代码: 2.数组存素数 2.2存素数代码: 3.输出Pm到Pn的全部素数 3.2代码 总代码: 总结: 题目…

Web大学生网页作业成品 bootstrap响应式网站开发 基于HTML+CSS+JS+Bootstrap制作火锅美食网站(4页)

🎀 精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

非零基础自学计算机操作系统 第1章 操作系统概述 1.4 操作系统的分类 1.4.3 实时操作系统 1.4.4 通用操作系统 1.4.5 单用户操作系统

非零基础自学计算机操作系统 文章目录非零基础自学计算机操作系统第1章 操作系统概述1.4 操作系统的分类1.4.3 实时操作系统1.4.4 通用操作系统1.4.5 单用户操作系统第1章 操作系统概述 1.4 操作系统的分类 1.4.3 实时操作系统 所谓实时,是指系统能够对外部请求做…

R语言多重比较方法

假设检验的基本原理是小概率原理,即我们认为小概率事件在一次试验中实际上不可能发生。 多重比较的问题 当同一研究问题下进行多次假设检验时,不再符合小概率原理所说的“一次试验”。如果在该研究问题下只要有检验是阳性的,就对该问题下阳性…