一个省级门户网站更换后台发布系统的记录
yuyutoo 2024-12-11 17:59 3 浏览 0 评论
网站编辑队伍将近100人,工作日更稿量1000+。因为种种原因,公司网站要升级已经使用了8年的网站CMS内容管理系统。
关于是换一套全新的CMS,还是在现有基础上进行升级一直是内部争论的热点。最终为了保证平滑升级以及方便与集团内部其他系统打通,选择升级现有CMS。
升级后的新系统只是继承了旧系统的名字(为避嫌隐掉名字),但是其实内核架构等方面均不相同,严格来讲还是已经算是另外一套系统了,选用他的主要原因是接口、网页URL结构等可以保持不变。
整个升级过程原定周期一个月,预计十二月中旬开始,到一月中旬升级完成。但是因为种种原因领导需要我们在2019年元旦前完成升级,所以工期直接压缩一半,这半个月过的很悲催,升级完之后的一个月的测试过程也很悲催。
准备阶段:
1、因为新旧系统的模板标签完全不同,更换系统之后需要重新制作所有在用模板。所以需要对需要重制的模板量进行评估,最终确定大约有200多个PC模板和100多个移动模板需要重新制作。其他模板对应的频道和专题因为已经停止更新,可以仅保留静态页面而不用重新制作。(旧系统自2010年使用以来一共做了6364个模板,平均一天做两个模板,辛苦大家了。)
当初和新系统对接人谈的时候,对方说旧模板需要全部手工重制,我已经准备带着小团队一起手动改了,真正操作起来这边的技术工程师提供了一个转换脚本。该脚本可以将旧模板95%以上的地方转换成新系统的模板,我们只需要进行微调即可,省了很大的事,是个惊喜,不然这半个月我和参与改版的同学会更悲催的。
更换完新系统之后陆续有同事找来,说旧专题打开错乱了。我们才知道原来网站还有这么多的旧专题还在维护。
2、根据旧系统使用经验,稿件和栏目的生成速度与系统数据量成反比。在近几年经常会出现稿件发布之后几分钟才生成出来的情况,还有的时候会出现系统卡死的情况。8年下来,差不多是300多万的数据,在此基础上生成的各种页面预计在千万左右,慢也算是正常的。为了减轻旧数据对新系统的压力,仅导入了2018年1月1日之后的数据到新系统。之前数据全部以静态页面的形式保存。如需修改只能去服务器上修改静态页面了,还好试运行大半个月以来,没有接到任何修改旧页面的请求。
3、考虑到用户习惯以及搜索引擎优化等因素,此次更换系统要保证所有前台URL保持不变、新增URL结构与旧系统相同。这也是选择升级CMS,而不是直接更换另外一个调研了很久的CMS的重要考虑。更换CMS要么是URL结构改变,要么就是需要花费巨大资源才能保证新系统URL结构不变。其实个人也蛮想直接换个CMS的,这么多年光用一个都用腻了……
主要入口页面URL也都进行了保留,只有列表页因为新系统中没有数据,在重新生成列表页的过程中丢失了旧数据的入口。由于网站性质,丢失该部分数据入口也问题不大。后续跟踪网站流量的过程中发现整站流量虽有一定的下滑,但是在可控范围内,可以接受。
4、升级之后对外RSS要及时重制:现在与其他网站间的合作主要是通过为对方提供Rss内容来实现的。为了保证升级之后合作数据不中断,需要第一时间在新模板上重制Rss文件。
5、做好升级过程中出现问题的预案及解决办法。分析了多种解决方案,发现最稳妥的办法还是在极限状态下切回旧系统。当然,最好的结果是顺利切换到新系统。
6、权限的继承工作。网站非常关键的一环就是权限管理。虽然在出了问题之后可以通过分析日志确定相关责任人(庆幸在负责网站权限的8年里,没因权限出过问题。),但是最好的办法还是授予账号最小操作权来保证更新安全。
权限问题和预期的一样,是个大工程。因为新旧系统权限控制方式不一样了,而且新系统在旧权限上有点Bug,导致我需要将所有账号删除重建。将近两百个账号,一百多个频道,每个账号都有不同的权限。为每个账号指定不同的权限,然后一一进行通知。还得保证删除过程中,编辑未正在使用。原本想通过修改数据表完成这部分工作,发现还不如手动操作来得快。权限整理工作耗费了我大量的时间,现在回想起来就是噩梦……
7、编辑培训工作。新系统完全是另一套CMS,操作习惯基本全变了,虽然我个人使用时觉得上手还算简单,但是编辑水平参差不齐,基本的培训是必不可少的。而且得做好后期二次甚至三次培训的准备,但是不准备像旧系统培训那样整理出一份几十页的文档出来了,都没什么人看……
新系统的培训工作由新系统的驻点技术来讲,但是由于并未结合我们日常工作,而且偏重理论,编辑在培训结束之后向我反映希望我在给他们开展一次落地培训,我觉得这项工作得过年之后了。
8、升级过程中日常工作的开展。升级过程中,日常工作也不能停,但是为了减少升级之后的专题重制工作以及减少不可预知的问题,在新旧系统准备切换的最后几天,准备将所有专题等页面的制作工作尽量延后。
实际情况是有几个突发专题,必须马上制作上线。还好量不大,可以接受。
9、再次确定切换系统时间以及最后一次增量倒库所需时间。因为要保证新旧CMS的切换过程中前后台都尽量平滑过渡,所以需要将旧系统的数据陆续导入到新系统之中,直到到达切换时间点,让编辑停止更新旧系统数据,开始往新系统里更新数据。
而且为了避免切换过程中出现的页面打不开等异常问题,所以选择在用户访问量较小的晚上开始进行,同时为了晚上能早点结束,所以19点多开始准备,23点左右开始正式操作。
10、开通防火墙。为了保证网站安全,服务器端开启了防火墙,需要根据所有编辑电脑IP开放白名单。
现在登录网站后台主要分为三种情况:
a、在公司使用有线网络访问后台。解决方法为直接为工位IP开通白名单(工位IP固定)。
b、在公司使用无线网络访问后台,因为无线网络重新链接之后IP会变动,所以每一次链接之后都需要联系运维的同学添加新IP到白名单(这种情况一般为实习生或者还没工位的新同学),每次都联系运维同学很麻烦。
c、在单位外使用VPN访问网站后台。除了速度有点慢,没别的毛病。同时建议b情况,即在单位使用无线网络的同学也使用VPN访问后台,省事。
11、新旧系统切换之前通过更改域名Hosts文件,提前测试重要页面在新系统中的可用性,保证首页(www域名)等重要页面在换了系统之后没问题。
但是中间也出现了很多问题。
只考虑到升级过程中文件是否丢失、URL是否继承、各频道首页是否丢失文章导致空白。谁曾想新系统迁移过来的图片数据全部需要重新生成。原定24点左右可以结束的活,到24点都还没开始做……
整个技术中心加班的同学在凌晨一点之前基本闲置。追着运维同学一直到凌晨2点左右才开始正式工作。主要工作就是协助签发各频道首页旧文章中的标题图片。但是这些图片必须先由系统生成一遍,后台再签发一遍才能显示,后台光跑生成图片的程序跑到了凌晨四五点。所以生成图片工作进度很慢,一直持续到天亮其他同事来上班。真的是千算万算,还是出现了不可预料的问题。
使用过程中无可避免会出现各种问题。新系统对浏览器的要求与旧系统并不相同,即使使用官方推荐的浏览器有时候还是会出问题。比如,我的浏览器和对方技术支持的一模一样,但是有些功能我就是不能用,对方的就可以用。
还有一些小Bug等待解决。我将期间汇总的各种Bug汇总发给对方之后,对方回复“你昨天发给*总的问题已经都把我们震惊了。问题太尖锐,好多犄角旮旯的都翻腾出来了。”
总的来说升级之后的系统比旧系统进步了很多,升级过程虽有曲折,但是还可以接受。:)
祝大家2019年工作顺利、万事如意~
有问题欢迎留言讨论
- 上一篇:我心中大流量网站的建设思路
- 下一篇:6种经典的网页布局设计,你最喜欢哪个?
相关推荐
- TCP协议原理,有这一篇就够了
-
先亮出这篇文章的思维导图:TCP作为传输层的协议,是一个软件工程师素养的体现,也是面试中经常被问到的知识点。在此,我将TCP核心的一些问题梳理了一下,希望能帮到各位。001.能不能说一说TC...
- Win10专业版无线网络老是掉线的问题
-
有一位电脑基地的用户,使用...
- 学习计算机网络需要掌握以下几方面基础知识
-
计算机基础知识操作系统:了解常见操作系统(如Windows、Linux)的基本操作和网络配置,例如如何设置IP地址、子网掩码、网关和DNS服务器等,以及如何通过命令行工具(如ping、tr...
- 网络工程师的圣经!世界级网工手绘268张图让TCP/IP直接通俗易懂
-
要把知识通俗地讲明白,真的不容易。——读者说TCP/IP从字面意义上讲,有人可能会认为TCP/IP是指TCP和IP两种协议。实际生活当中有时候也确实就是这两种协议。然而在很多情况下,它只是...
- 三分钟了解通信知识TCP与IP协议(含“通信技术”资料分享)
-
TCP/IPTCP/IP分层模型①应用层...
- 网闸与防火墙:网络安全设备的差异与应用
-
在网络安全领域,网闸(安全隔离网闸,GAP)和防火墙(Firewall)是两类重要的防护设备。尽管它们都服务于网络安全防护,但在设计理念、技术原理、安全效能及适用场景等方面存在显著差异,以下从五个维度...
- S7-300的TCP/IP通信
-
一、首先在项目中创建2个S7-300的站点;二、硬件组态中,设置合适的TCP/IP地址,在同一网段内;...
- 西门子S7-1500 PLC的 MODBUS TCP通信
-
MODBUSTCP使MODBUS_RTU协议运行于以太网,MODBUSTCP使用TCP/IP和以太网在站点间传送MODBUS报文,MODBUSTCP结合了以太网物理网络和网络标准TC...
- 系统规划与管理师新版备考必备:第7章考点思维导图解析
-
备考系统规划与管理师的小伙伴们,福利又来啦!今天为大家带来《系统规划与管理师(第2版)》第7章考点的思维导图,助你高效梳理重点,让备考更有方向!...
- TCP/IP、Http、Socket 有何区别与联系?
-
HTTP协议对应于应用层,Socket则是对TCP/IP协议的封装和应用(程序员层面上)。HTTP是应用层协议,主要解决如何包装数据。而我们平时说的最多的Socket是什么呢?实际上...
- 西门子PLC串口协议与以太网通信协议对比
-
西门子plc品牌众多,通信协议的类型就更多了,具体可分为串口协议和以太网通信协议两大类。...
- 网络编程懒人入门(十三):一泡尿的时间,快速搞懂TCP和UDP的区别
-
本文引用了作者Fundebug的“一文搞懂TCP与UDP的区别”一文的内容,感谢无私分享。1、引言...
- 程序员必备的学习笔记《TCP/IP详解(一)》
-
为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样...
- 一文读懂TCP/IP协议工作原理和工作流程
-
简述本文主要介绍TCP/IP协议工作原理和工作流程。含义TCP/IP协议,英文全称TransmissionControlProtocol/InternetProtocol,包含了一系列构成互联网...
- 如何在 Windows 10 和 Windows 11 上重置 TCP/IP 堆栈
-
传输控制协议/Internet协议,通常称为TCP/IP,是您的WindowsPC如何与Internet上的其他设备进行通信的关键部分。但是当事情出错时会发生什么?你如何解决它?幸运的...
你 发表评论:
欢迎- 一周热门
-
-
前端面试:iframe 的优缺点? iframe有那些缺点
-
带斜线的表头制作好了,如何填充内容?这几种方法你更喜欢哪个?
-
漫学笔记之PHP.ini常用的配置信息
-
其实模版网站在开发工作中很重要,推荐几个参考站给大家
-
推荐7个模板代码和其他游戏源码下载的网址
-
[干货] JAVA - JVM - 2 内存两分 [干货]+java+-+jvm+-+2+内存两分吗
-
正在学习使用python搭建自动化测试框架?这个系统包你可能会用到
-
织梦(Dedecms)建站教程 织梦建站详细步骤
-
【开源分享】2024PHP在线客服系统源码(搭建教程+终身使用)
-
2024PHP在线客服系统源码+完全开源 带详细搭建教程
-
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)