|
@@ -1,13 +1,57 @@
|
|
|
+> 中间库说明:
|
|
|
+> * 假定trs_hycloud_iip与trs_mas为两台不同的服务器
|
|
|
+> * 每个节点建立一个中间库,命名为trs_data_migration_city[n]
|
|
|
+> * 分别在trs_hycloud_iip服务器与trs_mas服务器建立两个mas中间库
|
|
|
+ mas中间库均命名为trs_data_migration_mas
|
|
|
+
|
|
|
+
|
|
|
> SQL脚本说明:
|
|
|
> * 0开头:脚本为数据修复类SQL。
|
|
|
> * 1开头:脚本中间表。有data_migration_log(迁移日志表)、data_migration_offset(迁移偏移量表)
|
|
|
> * 3开头:脚本为迁移表对应的存储过程。
|
|
|
> * 4开头:脚本为迁移执行脚本。主要数据迁移的脚本都在脚本中。
|
|
|
> * 6开头:脚本为清除本次迁移的数据脚本。
|
|
|
-## 迁移方式
|
|
|
|
|
|
-1. 创建中间库,如:trs_data_migration_city*(用于迁移wcm数据;*表示节点ID)和 trs_data_migration_mas(用于迁移MAS数据);
|
|
|
- * 将WCM中的以下表迁移到trs_data_migration_city*
|
|
|
+> 增量说明
|
|
|
+> * 六个节点不存在增量情况
|
|
|
+> * 六个节点共用mas,必须增量,每次迁移完成data_migration_offset不可清除、修改数据
|
|
|
+
|
|
|
+> 后续步骤中需手动指定的参数说明:
|
|
|
+> * 节点id例如:4
|
|
|
+> * 节点后缀 例如 '_city4' 注:数字需与节点id匹配
|
|
|
+> * 中间库的数据库名称,当前所使用的中间库库 例如trs_data_migration_city4,
|
|
|
+> * 迁移起始tabelinfoID 传0即可
|
|
|
+> * masID的偏移量 可传0,会从中间库读取,务必保证存储过程执行前两个mas中间库的offset表同步完成。
|
|
|
+> * masurl前缀http://[ip]/mas/openapi/pages.do?method=exPlay&appKey=[appKey]&id=
|
|
|
+ 例如:http://172.16.153.72/mas/openapi/pages.do?method=exPlay&appKey=gov&id=
|
|
|
+
|
|
|
+## 迁移方式
|
|
|
+0. 迁移节点前可做的事:
|
|
|
+ 0-1-复制webpic目录下数据至采编服务器相同目录
|
|
|
+ 0-2-提前迁移mas数据:
|
|
|
+ **这里解释下为什么mas必须提前迁移**
|
|
|
+ **mas缩略图的存储规则为:masdata/public/[日期]/[masId].images/[pic文件]**
|
|
|
+ **迁移之后masId会变,所以需要修改缩略图存放路径**
|
|
|
+ mas迁移步骤:
|
|
|
+ * 将原mas服务器masdata/public目录下文件全部拷贝至新服务器临时文件夹
|
|
|
+ **这里再解释下为什么必须用临时文件夹**
|
|
|
+ **原视频id、日期与当前mas文件下极有可能相同,造成意料之外的错误**
|
|
|
+ * 将mas库中以下几张表的数据迁移到与trs_mas相同环境下的trs_data_migration_mas中间库
|
|
|
+ * mas_publishedvideo
|
|
|
+ * mas_videostream
|
|
|
+ * mas_masid
|
|
|
+ * mas_masvideo
|
|
|
+ * mas中间库 trs_data_migration_mas,迁移mas数据
|
|
|
+ ```sql
|
|
|
+ #mas数据迁移
|
|
|
+ call sp_city_mas();
|
|
|
+ ```
|
|
|
+ * 执行python脚本修改缩略图文件夹名称(暂未提供)
|
|
|
+ * 将临时文件夹与正式文件夹合并
|
|
|
+
|
|
|
+1. 正式迁移开始:
|
|
|
+ 创建节点中间库,trs_data_migration_city[n](用于迁移wcm数据;n表示节点ID,如trs_data_migration_city4)和 trs_data_migration_mas(用于迁移MAS数据);
|
|
|
+ * 将WCM中的以下表迁移到trs_data_migration_city[n]
|
|
|
* 所有元数据表(wcmmetatable...)
|
|
|
* wcmappendix
|
|
|
* wcmchannel
|
|
@@ -31,14 +75,21 @@
|
|
|
* xwcmtableinfo
|
|
|
* xwcmviewfieldinfo
|
|
|
* xwcmviewinfo
|
|
|
- * 将mas表的数据迁移到trs_data_migration_mas
|
|
|
+ * 重新将mas库中以下几张表的数据迁移到与trs_mas相同环境下的trs_data_migration_mas中间库
|
|
|
* mas_publishedvideo
|
|
|
* mas_videostream
|
|
|
* mas_masid
|
|
|
* mas_masvideo
|
|
|
+
|
|
|
2. 处理中间库的脏数据和加载SQL脚本。
|
|
|
- * 中间库trs_data_migration_city*,在Navicat中,中间库运行0-3开头的所有SQL存储过程。如果该节点第一次运行使用全量下的迁移SQL;
|
|
|
+ *** 中间库trs_data_migration_city[n],在Navicat中,中间库运行0-3开头的所有SQL存储过程。如果该节点第一次运行使用全量下的迁移SQL;
|
|
|
在trs_data_migration_mas运行3_sp_data_migration_mas*.sql;
|
|
|
+ * ----- 由于sql较多,上述步骤可以按下方分割线内步骤减轻实施工作 ----
|
|
|
+ * 工程下src\com\trs\exchange\MyScripts.java可对应生成merge.sql,
|
|
|
+ * 在trs_data_migration_city[n]中运行0,1,3,4_merge.sql
|
|
|
+ * 在trs_mas服务器下的trs_data_migration_mas库运行mas_merge.sql
|
|
|
+ * 在trs_hycloud_iip服务器下的trs_data_migration_mas无需运行sql
|
|
|
+ * ---------------------------------------------------------------------
|
|
|
* 清理脏数据脚本。
|
|
|
```sql
|
|
|
#删除有问题的素材库数据
|
|
@@ -59,7 +110,7 @@
|
|
|
```
|
|
|
|
|
|
3. 迁移站点,栏目,视图,模板等基本数据。(用户可以在新系统中增加角色,调整视图和模板)
|
|
|
- * 中间库trs_data_migration_city*,处理数据中视图字段,使字段字段对应;
|
|
|
+ * 中间库trs_data_migration_city[n],处理数据中视图字段,使字段字段对应;
|
|
|
```sql
|
|
|
# 相关视频 FieldType 由 51 变为 20
|
|
|
update XWCMDBFieldInfo set FieldType=20 where FieldType=51;
|
|
@@ -83,59 +134,72 @@
|
|
|
update XWCMDBFieldInfo set FieldType=12 where FieldType=63;
|
|
|
update XWCMViewFieldInfo set FieldType=12 where FieldType=63;
|
|
|
```
|
|
|
- * 中间库trs_data_migration_city*,迁移站点,栏目,视图到trs_hycloud_iip;
|
|
|
+ * 中间库trs_data_migration_city[n],迁移站点,栏目,视图到trs_hycloud_iip;
|
|
|
```sql
|
|
|
call sp_city_base(节点ID);
|
|
|
```
|
|
|
- * 中间库trs_data_migration_city*,处理元数据表信息;需要先对迁移元数据表进行整理,将需要迁移的元数据表拷贝到中间库;
|
|
|
+ * 中间库trs_data_migration_city[n],处理元数据表信息;需要先对迁移元数据表进行整理,将需要迁移的元数据表拷贝到中间库;
|
|
|
* 执行存储过程update_data_dbfield.sql和update_data_table.sql,。中间库,删除多余字段元数据,添加默认的元数据字段
|
|
|
+ **注意该脚本结果为sql 脚本。需要复制脚本再执行一遍。**
|
|
|
```sql
|
|
|
- # 注意该脚本结果为sql 脚本。需要复制脚本再执行一遍。
|
|
|
call update_data_table('_city4',迁移起始tabelinfoID);
|
|
|
```
|
|
|
- * 中间库trs_data_migration_city*,中间库修改元数据表名;
|
|
|
+ * 中间库trs_data_migration_city[n],中间库修改元数据表名;
|
|
|
+ **注意该脚本结果为sql 脚本。需要复制脚本再执行一遍。**
|
|
|
+ * 获取修改元数据的表名的SQL;拷贝以下SQL生成的结果,运行生成的SQL。
|
|
|
+
|
|
|
```sql
|
|
|
- #获取修改元数据的表名的SQL;拷贝以下SQL生成的结果,运行生成的SQL。
|
|
|
SELECT
|
|
|
- CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ', table_name, '_city4', ';' ) sqls
|
|
|
+ CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ', table_name, 节点后缀 , ';' ) sqls
|
|
|
FROM
|
|
|
information_schema.TABLES
|
|
|
WHERE
|
|
|
- table_schema = '中间库的数据库名称,比如:trs_data_migration_city4'
|
|
|
+ table_schema = 当前使用的数据库
|
|
|
AND table_name LIKE 'wcmmetatable%';
|
|
|
```
|
|
|
- * 中间库trs_data_migration_city*,生成创建表sql以保存元数据表索引;拷贝以下SQL生成的结果,运行生成的SQL。
|
|
|
+ * 中间库trs_data_migration_city[n],生成创建表sql以保存元数据表索引;拷贝以下SQL生成的结果,运行生成的SQL。
|
|
|
```sql
|
|
|
- SELECT concat('create table trs_hycloud_iip.wcmmetatable',TABLENAME,'_city5 like ','wcmmetatable',TABLENAME,'_city5;') from xwcmtableinfo;
|
|
|
+ SELECT concat('create table trs_hycloud_iip.wcmmetatable',TABLENAME,'_city4 like ','wcmmetatable',TABLENAME,'_city4;') from xwcmtableinfo;
|
|
|
```
|
|
|
4. 迁移数据 和 附件。
|
|
|
|
|
|
- * 中间库trs_data_migration_city*,将wcmdocuemnt,wcmchnldoc 元数据表中的数据拷贝到trs_hycloud_iip;拷贝以下SQL生成的结果,运行生成的SQL。
|
|
|
+ * 中间库trs_data_migration_city[n],将wcmdocuemnt,wcmchnldoc 元数据表中的数据拷贝到trs_hycloud_iip;拷贝以下SQL生成的结果,运行生成的SQL。
|
|
|
```sql
|
|
|
#生成插入数据sql
|
|
|
- SELECT concat('INSERT INTO trs_hycloud_iip.wcmmetatable',TABLENAME,'_city5 SELECT * from ','wcmmetatable',TABLENAME,'_city5;') from xwcmtableinfo;
|
|
|
+ SELECT concat('INSERT INTO trs_hycloud_iip.wcmmetatable',TABLENAME,'_city4 SELECT * from ','wcmmetatable',TABLENAME,'_city4;') from xwcmtableinfo;
|
|
|
```
|
|
|
- * 中间库trs_data_migration_city*,执行迁移脚本
|
|
|
+ * 中间库trs_data_migration_city[n],执行迁移脚本
|
|
|
```sql
|
|
|
#注意检查其中sp_data_migration_wcmmetatable 存储过程是否执行成功。查看结果是否存在 "sp_data_migration_wcmmetatable 执行完成"
|
|
|
call sp_city_data(节点ID)
|
|
|
```
|
|
|
- * 中间库 trs_data_migration_mas,迁移mas数据 **注意必须要对迁移数据表建主键索引**
|
|
|
- ```sql
|
|
|
- #mas数据迁移
|
|
|
- call sp_city_mas();
|
|
|
- ```
|
|
|
- * 中间库trs_data_migration_city*,迁移附件 **注意必须要对迁移数据表建主键索引**
|
|
|
+ * 中间库 trs_data_migration_mas,迁移mas数据
|
|
|
+ ```sql
|
|
|
+ #mas数据迁移
|
|
|
+ call sp_city_mas();
|
|
|
+ ```
|
|
|
+
|
|
|
+ * 节点中间库trs_data_migration_city[n],迁移附件
|
|
|
+ **注意迁移附件前必须完成数据的迁移**
|
|
|
+ **必须先完成迁移上一步骤的mas信息**
|
|
|
+ **同步trs_mas服务器下mas中间库的data_migration_offset表至trs_hycloud_iip服务器下的mas中间库**
|
|
|
+ **务必完成mas中间库偏移量同步操作,下一步骤中masId偏移量会从中间库读取**
|
|
|
```sql
|
|
|
#迁移附件
|
|
|
- call sp_city_appendix(节点ID, masID的偏移量);
|
|
|
+ call sp_city_appendix(节点ID, 0);
|
|
|
```
|
|
|
- * 中间库trs_data_migration_city*,修改元数据中相关图片,相关视频字段不对
|
|
|
+ * 中间库trs_data_migration_city[n],修改元数据中相关图片,相关视频字段不对
|
|
|
```sql
|
|
|
#注意检查其中update_data_relation_appendix_2 存储过程是否执行成功。查看结果是否存在 "update_data_relation_appendix_2 执行完成"
|
|
|
- call update_data_relation_appendix(节点ID, masurl前缀, 起始tabelID,起始docId);
|
|
|
- ```
|
|
|
- 5. 其他工具
|
|
|
+ call update_data_relation_appendix(节点ID, masurl前缀, 0,0);
|
|
|
+ ```
|
|
|
+ 5. 清除redis缓存,启动后台后的操作:
|
|
|
+ * 生成所有视图应用:进入http://ip/gov/wcm_use--应用工具--生成视图应用
|
|
|
+ * 发布全部站点
|
|
|
+ * 验证其他功能
|
|
|
+
|
|
|
+
|
|
|
+ 6. 其他工具
|
|
|
* 自动生成索引 
|
|
|
通过配置文件 idxid.generatedtable.properties 配置需要生成的元数据表名称。
|
|
|
|