系统的升级,别忘了验证

C/S系统最大的弊端就是升级麻烦,因此通常产品都会增加一个自动升级的功能,方法也是多种多样,但是在最近的一次实施中,我犯了一个致命的错误,就是---验证。

在LiveUpdate的升级中,通常把精力都放到怎么能够更好的进行文件的传输,提高传输的速率等等问题,但是往往忽视了升级之后的校验。这次升级,我们是将升级的文件放入到SQL Server数据库中的,我们有单独的表来存储需要升级的文件,注意这个就有了一个严重的隐患,因为数据库是需要经常的备份和还原的,因此升级文件放入到数据库的后果就是,随着数据库的备份和还原,升级文件也有可能随着数据库还原为旧数据而丢失。

其实升级文件如果放到服务端,不管是任何介质,都有可能丢失的,因此采用FTP方式还是数据库流方式下载,都只是形式而已,但是服务端都有可能造成升级文件的丢失,这只是其中的一点。

还有就是在下载的过程中,总会遇到丢失字节、防火墙拦截、恶意篡改等情况,因此即使升级文件没问题也不能保证升级的成功。

因此在升级之后,一定要做升级文件的验证,一旦发现错误,立刻进行处理。。。

这次产品中恰恰没有做验证,出现了客户端版本与服务端要求版本不一致的问题,郁闷,唉,早干什么去了。

你可能感兴趣的:(验证)