Browse Source

结构调整

lijihong 6 years ago
parent
commit
a07668104b

+ 0 - 0
TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/全量迁移/3_sp_data_migration_wcmchnldoc.sql → TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/3_sp_data_migration_wcmchnldoc.sql


+ 0 - 0
TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/全量迁移/3_sp_data_migration_wcmdocument.sql → TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/3_sp_data_migration_wcmdocument.sql


+ 0 - 0
TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/全量迁移/3_sp_data_migration_wcmmetatable.sql → TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/3_sp_data_migration_wcmmetatable.sql


BIN
TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/img/IdxId1.png


BIN
TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/img/备份1.png


BIN
TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/img/备份2.png


BIN
TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/img/脚本.png


+ 0 - 212
TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/readme.md

@@ -1,212 +0,0 @@
-## wiki地址
-http://wiki.devdemo.trs.net.cn/pages/viewpage.action?pageId=15009127
-
->中间库说明:
-> * 假定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 数据准备
-#### 1.1 拷贝图片(待补充)
-   复制webpic目录下数据至采编服务器相同目录,
-   通过 rsync + inotify 实现文件系统的 实时同步+增量同步
-#### 1.2 拷贝视频
-##### 1.2.1 拷贝视频文件(待补充)
-   * 将原mas服务器masdata/public目录下文件全部拷贝至新服务器临时文件夹
-    **这里解释下为什么mas必须提前迁移**
-       **mas缩略图的存储规则为:masdata/public/[日期]/[masId].images/[pic文件]**
-       **迁移之后masId会变,所以需要修改缩略图存放路径**
-       mas迁移步骤:
-        * 将原mas服务器masdata/public目录下文件全部拷贝至新服务器临时文件夹
-        **这里再解释下为什么必须用临时文件夹**
-        **原视频id、日期与当前mas文件下极有可能相同,造成意料之外的错误**
-        * 将mas库中以下几张表的数据迁移到与trs_mas相同环境下的trs_data_migration_mas中间库
-        * mas中间库 trs_data_migration_mas,迁移mas数据  
-        * 执行python脚本修改缩略图文件夹名称(暂未提供)
-        * 将临时文件夹与正式文件夹合并
-   * 通过 rsync + inotify 实现文件系统的 实时同步+增量同步
-##### 1.2.2 拷贝mas视频数据
- * 将mas库中以下几张表的数据迁移到与trs_mas相同环境下的trs_data_migration_mas中间库
-    * mas_publishedvideo
-    * mas_videostream
-    * mas_masid
-    * mas_masvideo
- * 在trs_data_migration_mas运行3_sp_data_migration_mas*.sql 和 4_sp_city_mas.sql
-#### 1.3 拷贝数据
-##### 1.3.1 拷贝wcm数据表
-  创建节点中间库,trs_data_migration_city[n](用于迁移wcm数据;n表示节点ID,如trs_data_migration_city4;
-  将WCM中的以下表迁移到trs_data_migration_city[n]
-   * 所有元数据表(wcmmetatable...)
-   * wcmappendix
-   * wcmchannel
-   * wcmchannelchildindexquote
-   * wcmchannelsyn
-   * wcmchnldoc
-   * wcmdocument
-   * wcmfolderpublishconfig
-   * wcmtemplate
-   * wcmtemplateargument
-   * wcmtemplateemploy
-   * wcmtemplatenest
-   * wcmtemplatequote
-   * wcmwebsite
-   * xwcmclassinfo
-   * xwcmclassinfoview
-   * xwcmdbfieldinfo
-   * xwcmmaterial
-   * xwcmmetaviewemployer
-   * xwcmmetaviewfieldgroup
-   * xwcmtableinfo
-   * xwcmviewfieldinfo
-   * xwcmviewinfo      
-##### 1.3.2 准备脚本
-   中间库trs_data_migration_city[n],在Navicat中,中间库运行0-3开头的所有SQL存储过程。
-   ![脚本](./img/脚本.png)
-##### 1.3.3 数据清洗
-   * 清理脏数据
-     ```sql
-        #删除有问题的素材库数据
-        DELETE FROM xwcmmaterial WHERE MATERIALTYPE = 1 and FILENAME is NULL;
-        DELETE FROM xwcmmaterial WHERE MATERIALTYPE = 2 and MASID is NULL;
-        #查询表中是否存在唯一建重复
-        SELECT DOCID,CHNLID FROM wcmchnldoc GROUP BY DOCID,CHNLID HAVING COUNT(1) > 1;
-        create table t_chnldoc as SELECT MAX(RECID) as 'RECID',DOCID,CHNLID,count(1) datacount FROM wcmchnldoc GROUP BY DOCID,CHNLID HAVING COUNT(1) > 1 ;
-        DELETE FROM	wcmchnldoc WHERE recid IN(SELECT recid FROM t_chnldoc);
-     ```
-   * 添加素材库的索引
-     ```sql
-           ALTER TABLE `xwcmmaterial`
-             ADD PRIMARY KEY (`MATERIALID`);
-           ALTER TABLE `xwcmmaterialquote`
-             ADD INDEX (`MATERIALID`) USING BTREE ,
-             ADD INDEX (`DOCID`) USING BTREE ;
-     ``` 
-   * 处理数据中视图字段
-      ```sql
-        # 相关视频 FieldType 由 51 变为 20
-        update XWCMDBFieldInfo set FieldType=20 where FieldType=51;
-        update XWCMViewFieldInfo set FieldType=20 where FieldType=51;
-        # 相关图片 FieldType 由 50 变为 32
-        update XWCMDBFieldInfo set FieldType=32 where FieldType=50;
-        update XWCMViewFieldInfo set FieldType=32 where FieldType=50;
-        # 相关文档 FieldType 由 57 变为 31
-        update XWCMDBFieldInfo set FieldType=31 where FieldType=57;
-        update XWCMViewFieldInfo set FieldType=31 where FieldType=57;
-        # mw_文本框 FieldType 由 53 变为 3
-        update XWCMDBFieldInfo set FieldType=3 where FieldType in (53,65);
-        update XWCMViewFieldInfo set FieldType=3 where FieldType in (53,65);
-        # mw_是否按钮 FieldType 由 54 变为 5
-        update XWCMDBFieldInfo set FieldType=5 where FieldType=54;
-        update XWCMViewFieldInfo set FieldType=5 where FieldType=54;
-        # mw_时间按钮FieldType 由 55 变为 11
-        update XWCMDBFieldInfo set FieldType=11 where FieldType=55;
-        update XWCMViewFieldInfo set FieldType=11 where FieldType=55;
-        # mw_复杂编辑器 FieldType 由 63 变为 12
-        update XWCMDBFieldInfo set FieldType=12 where FieldType=63;
-        update XWCMViewFieldInfo set FieldType=12 where FieldType=63;
-      ```
-   * 元数据表调整
-       ```sql
-         # [n]代表节点序号。迁移第1节点时,执行 call update_data_table('_city1', 0),迁移第2节点时执行 call update_data_table('_city2', 0),以此类推。
-         call update_data_table('_city[n]', 0);
-         # 注意该存储过程结果为sql 脚本。需要复制结果再执行一遍。
-    
-       ```
-       修改云数据表名
-       ```sql
-        # [n]代表节点序号。迁移第1节点时,执行 call update_data_table('_city1', 0),迁移第2节点时执行 call update_data_table('_city2', 0),以此类推。
-        SELECT
-        	CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ', table_name, '_city[n]' , ';' ) sqls 
-        FROM
-        	information_schema.TABLES 
-        WHERE
-        	table_schema = 'trs_data_migration_city[n]'
-        	AND table_name LIKE 'wcmmetatable%';
-        # 注意该存储过程结果为sql 脚本。需要复制结果再执行一遍。
-       ```
-  
-#### 1.4 备份正式库
-   使用Navicat打开海云正式环境IIP数据库,执行如下截图中的操作
-   ![备份1](./img/备份1.png)
-   
-   ![备份2](./img/备份2.png)
-
-### 2 迁移
-   该过程属于数据迁移到正式环境,一旦出现迁移错误,如果不能及时处理。请立即还原备份的正式库。迁移失败等待下次数迁移。
-#### 2.1 停止运行市州WCM、海云IIP
-   ```
-      # 使用XShell进入市州[n]IIP服务器运行以下命令
-      # 执行本命令,预期应该可以见到一串阿拉伯数字,代表IDS运行程序的PID,说明IDS正常运行
-      ps aux | grep java | grep IIP | grep -v 'grep' | awk '{print $2}'
-      # 执行本命令将kill IDS运行程序
-      ps aux | grep java | grep IIP | grep -v 'grep' | awk '{print $2}' | xargs kill -9
-      # 执行本命令(和上上条是一样的),预期将不会看到任何输出结果,说明IDS已被正常kill;否则,说明kill IDS失败,建议暂停暂停,并求助于项目组
-      ps aux | grep java | grep IIP | grep -v 'grep' | awk '{print $2}'
-   ```
-#### 2.2 基本数据迁移
-   迁移站点,栏目,视图到trs_hycloud_iip;
-   基本数据迁移后,可以实现在海云中,处理站点下栏目下角色模板视图样式等问题。
-   ```sql
-      # [n]代表节点序号。迁移第1节点时,执行 call update_data_table('_city1', 0),迁移第2节点时执行 call update_data_table('_city2', 0),以此类推。
-      call sp_city_base([n]);
-   ```
-   ```sql
-      # [n]代表节点序号。迁移第1节点时,执行 call update_data_table('_city1', 0),迁移第2节点时执行 call update_data_table('_city2', 0),以此类推。
-      SELECT concat('create table trs_hycloud_iip.wcmmetatable',TABLENAME,'_city[n] like ','wcmmetatable',TABLENAME,'_city[n];') from xwcmtableinfo;
-      # 注意sql结果为sql 脚本。需要复制结果再执行一遍。
-   ```
-#### 2.3 mas数据迁移
-   在中间库 trs_data_migration_mas,迁移mas数据
-   ```sql
-      #mas数据迁移
-      call sp_city_mas();
-   ```
-#### 2.4 文档和附件数据迁移
-   * 迁移元数据
-     ```sql
-       # [n]代表节点序号。迁移第1节点时,执行 call update_data_table('_city1', 0),迁移第2节点时执行 call update_data_table('_city2', 0),以此类推。
-       SELECT concat('INSERT INTO trs_hycloud_iip.wcmmetatable',TABLENAME,'_city[n] SELECT * from ','wcmmetatable',TABLENAME,'_city[n];') from xwcmtableinfo;
-       # 注意sql结果为sql 脚本。需要复制结果再执行一遍。
-     ```
-   * 迁移数据
-     ```sql 
-        call sp_city_data(节点ID)
-     ```
-   * 节点中间库trs_data_migration_city[n],迁移附件  
-     ```sql
-       # [n]代表节点序号。迁移第1节点时,执行 call update_data_table('_city1', 0),迁移第2节点时执行 call update_data_table('_city2', 0),以此类推。
-       call sp_city_appendix([n], 0);
-     ```
-   * 中间库trs_data_migration_city[n],修改元数据中相关图片,相关视频字段不对
-     ```sql
-       # [n]代表节点序号。迁移第1节点时,执行 call update_data_table('_city1', 0),迁移第2节点时执行 call update_data_table('_city2', 0),以此类推。
-       # 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=
-       call update_data_relation_appendix([n], masurl前缀, 0, 0);
-     ```  
-### 3 清除redis缓存,启动后台后的操作:
-   redis 清理命令
-   ```
-    redis-cli -h 127.0.0.1 -p 6379 
-    auth password
-    select 1
-    flushdb
-   ```
-    * 生成所有视图应用:进入http://ip/gov/wcm_use--应用工具--生成视图应用
-    * 发布全部站点
-    * 验证其他功能
- 
-### 4 其他工具
-   * 自动生成索引  ![索引相关规则](./img/IdxId1.png)
-      通过配置文件 idxid.generatedtable.properties 配置需要生成的元数据表名称。
-   
-

+ 0 - 0
TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/增量迁移/3_sp_data_migration_wcmchnldoc.sql → TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/如增量迁移需运行SQL/3_sp_data_migration_wcmchnldoc.sql


+ 0 - 0
TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/增量迁移/3_sp_data_migration_wcmdocument.sql → TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/如增量迁移需运行SQL/3_sp_data_migration_wcmdocument.sql


+ 0 - 0
TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/增量迁移/3_sp_data_migration_wcmmetablexx.sql → TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/如增量迁移需运行SQL/3_sp_data_migration_wcmmetablexx.sql


+ 0 - 0
TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/增量迁移/3_sp_data_migration_wcmmetatable.sql → TRS.WCM.Developer/贵州项目6个WCM节点迁移到海云/如增量迁移需运行SQL/3_sp_data_migration_wcmmetatable.sql