
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
迭代更新相信大家在使用app软件的时候应该都不陌生的吧,我们在使用软件的时候偶尔就会遇到需要更新软件的现象,今天我们就通过案例分析来了解一下,软件开发产品迭代更新需要注意哪些问题。
现在都流行用敏捷开发模式中的“迭代”,来表示一个服务不断的更新程序,满足新的需求,修正BUG。如果我们仅仅管理一台服务器,那么更新这一台服务器上的程序是非常简单的:只要把软件包拷贝过去,然后修改下配置就好。但是如果你要对成百上千的服务器去做同样的操作,就不可能每台服务器登录上去处理。
服务器端的批量程序安装部署工具,是每个分布式系统开发者都需要的。然而,我们的安装工作除了拷贝二进制文件和配置文件外,还会有很多其他的操作需要完成。比如打开防火墙、建立共享内存文件、修改数据库表结构、改写一些数据文件等等……甚至有一些还要在服务器上安装新的软件。
如果我们在开发服务器端程序的时候,就考虑到软件更新、版本升级的问题,那么我们对于配置文件、命令行参数、系统变量的使用,就会预先做一定的规划,这能让安装部署的工具运行更快,可靠性更高。
除了安装部署的过程,还有一个重要的问题,就是不同版本间数据的问题。我们在升级版本的时候,旧版本程序生成的一些持久化数据一般都是旧的数据格式;而我们的升级版本中如果涉及到了修改的数据格式,比如数据表结构,那么这些旧格式的数据都要转换改写成新版本的数据格式才行。这导致了我们在设计数据结构的时候,就要考虑清楚这些表格的结构,是用简单直接的表达方式来让将来的修改更简单;还是一早就预计到修改的范围,专门预设一些字段,或者使用其他形式存放数据。
除了持久化数据以外,如果存在客户端程序(如手机APP),这些客户端程序的升级往往不能和服务器同步,如果升级的内容包含了通信协议的修改,这就造成了我们必须为不同的版本部署不同的服务器端系统的问题。为了避免同时维护多套服务器,我们在软件开发的时候,往往倾向于所谓“版本兼容”的协议定义方式。而怎样设计的协议才能有很好的兼容性,又是服务器端程序需要仔细考虑的问题。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。