• 苹果落到地上而不是天上,这是重力的作用;
  • 树叶从树枝上飘落的样子谁也无法预测,这是混沌过程;
  • 热恋中的恋人总是难分难舍,这是荷尔蒙等激素作用于下丘脑的结果;
  • 。。。 。。。

诸如这些“复杂”的问题,背后总有一个“机制”在作用,找到了这个机制,我们就能化繁为简,解决复杂的问题。

在软件的生命周期中,维护是一个很重要的过程,我们需要不断的为软件升级,以解决不断变化的新问题,如何升级,这是我们设计系统的时候必须考虑的问题。网站程序也需要不断的升级,不过相对而言比较简单,但工作量不算小,我们看看具体的工作场景:
1,手工使用FTP升级
    确认那些网页文件刚刚修改过,然后将这些文件一个个的使用FTP工具上传到FTP服务器上。该过程大部分都是使用手工完成,靠人来识别那些是要上传得文件,但这种方式仅适用于升级不是很频繁,文件不是很多的情况。

2,采用专用的版本管理软件
    详细登记要升级的每个文件的基本信息和版本信息,通过版本来确定当前文件是否需要升级。由于要升级的文件可能比较多,工作量相当大,而且需要一套严格的版本管理流程,一旦版本管理出现问题就会引起严重的后果。借助于专用的版本管理软件,能够减轻版本管理的问题,但仍然有大量的文件信息需要录入。这种方式适用于需要严格进行版本管理的情况,通常情况下会为每一个版本准备一个“升级包”,将这个文件包上传到服务器后,再由人或者程序解压缩到网站目录。

对于场景1,我们可以设计一个自动识别新修改文件的程序,将文件自动上传到FTP服务器,从而进一步减少工作量,对于场景2,由于强化了“版本管理”过程,似乎很难找到更优的解决方案。

程序升级为什么要使用版本管理?

  • 方便我们知道当前开发的是哪个时候,哪个客户的的程序;
  • 让客户知道当前软件的版本信息,了解新版本软件的新功能,从而决定是否购买我们的新软件;
  • 让老板知道,当前发布的软件有那些功能升级和那些bug被修复了;
  • 出于商业化考虑,推出XX个人版,XX企业版,XX旗舰版,面向不同的客户进行营销;
  • 。。。 。。。

有很多理由然我们需要有“版本”这个东西,存在既是合理的,我们不用再去深究“版本”和“版本管理”这个词语,看看它们背后的机制是什么:
================推理过程:======================
因为
1,版本代表了新的功能,新的程序;
2,功能体现在对应的程序上;
3,程序就是一个个程序文件;

所以
版本对应一个个文件;

推论1:
不同的版本 区分 不同的文件;

推论2:
发布新版本(升级) 等于 发布新(增加或者新修改)文件;

推论3:
程序升级 等于 文件同步
说明:就是将客户方的程序升级为我们这边一样的程序,也就是双方程序文件的同步。

================================================

大功告成,我们得到了“网站程序升级”也就是“文件同步”的过程,或者说它背后的机制,就是“文件同步”。
有了“文件同步”这个机制,我们明白“FTP”,仅仅是文件同步的工具而已,“版本管理”,也不过是文件同步的手段(措施)而已。
    有了这个简单的机制,我们还需要复杂的版本管理吗?当然对于市场,对于客户或者老板却是需求,而对于我们技术人员,我们不要在被它的表象蒙蔽了,“版本”这个东西不是我需要的,一边去吧!

在WXXX项目中,第一次采用了“文件同步”的理念来做网站程序的升级,开发人员将测试通过的程序,重新编译一次,然后全部复制到一个发布服务器上,再运行一个文件同步发送端程序,将新的文件打包,使用邮件发送到客户方的邮箱中,客户方的文件同步接收端程序检查到新文件后,接收并解压缩到网站目录,结束文件同步操作,完成最终的“网站程序升级”功能。
    整个过程,仅需要将编译后的文件不管三七二十一复制到发布服务器即可,其它操作都由程序自动完成。文件的发送过程可以采用邮件,也可以采用FTP或者其它你喜欢的方式。

有了“文件同步”这个机制,呈现升级是不是非常简单了呢?

探寻背后的机制,才是解决复杂问题的有效手段!

探寻背后的机制化繁为简:网站程序升级不过是文件同步相关推荐

  1. 网站升级改版服务器,网站程序升级改版 让网站无损失过渡

    当现有的网站遇到数据容量瓶颈,需要更换网站程序,如将自己编写的网站管理系统更换为开源的CMS;旧版ASP数据库不能支持大容量的数据,需要转换为SQL.更换带来的数据丢失和用户体验等麻烦就接连不断,特别 ...

  2. php网站本地调试工具,php本地调试工具-php/asp网站程序本地调试工具下载 v5.1--pc6下载站...

    一款用于php/asp网站程序本地调试的工具. 一款用于php/asp网站程序本地调试的工具.许多站长对编程不太熟悉,当自己的php/asp网站程序需要修改时,修改后的文件,本地电脑无法看到自己的修改 ...

  3. 织梦网站 mysql,织梦(DEDECMS)网站程序及数据库迁移搬家教程

    对于新手来说,网站程序和数据库搬家是最件非常痛苦的事情,稍有不慎就导致数据丢失或数据库连接百试不灵.织梦的搬家,怎么才能做到最简单最安全呢?笔者将带着大家来解决完整搬家问题,以及搬家过程中需要注意的事 ...

  4. 程序升级触发阿里云自身安全机制导致的莫名问题

    最近对放在阿里云的程序作了升级,但在升级的时候却出现了一个莫名其妙的问题,导致整个应用无法使用.这是一个ecshop的程序,程序升级完以后出现莫名其妙的语法错误.然而程序本地测试并无问题. 报错异常 ...

  5. ASP网站程序自动升级实现的方法

    现在流行虚拟主机建站,我也有个网站,也算是个站长咯.当了近一年的站长,感到网站程序每次升级的时候颇为麻烦:先去官方看公告,然后下载升级包到本地,解压,FTP上传到虚拟主机.这些都是累人的体力活,加之本 ...

  6. Android Loader 异步加载详解二:探寻Loader内部机制

    Android Loader 异步加载详解二:探寻Loader内部机制 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/7025991 ...

  7. 新无限天空服务器,天空魔域3782版最新服务端(含网站程序)

    天空魔域3782版最新服务端(含网站程序) 『版本更新11月30日』 1,奇迹之怒太瑞 一切正常 可购买 可孵化 可上图腾 2,更新所有发型,头像都可以购买!(在市场国王任务发布 那里的 发型师 和形 ...

  8. 网站 HTTP 升级 HTTPS 完全配置手册

    作者:葡萄城技术团队 链接: https://my.oschina.net/powertoolsteam/blog/1862967 今天,所有使用Google Chrome稳定版的用户迎来了v68正式 ...

  9. 文件名为空linux,文件系统:隐匿在Linux背后的机制

    原标题:文件系统:隐匿在Linux背后的机制 在 Linux 中,最直观.最可见的部分就是 文件系统(file system) .下面我们就来一起探讨一下关于 Linux 中国的文件系统,系统调用以及 ...

最新文章

  1. 将文件转成byte[]文件属组
  2. case when是不是只要满足第一个别的就不进行执行了
  3. [转]NS2 Data Collections by mitkook
  4. oracle dba_seg,Oracle DBA 应知应会 -- PGA自动管理
  5. 【Python】30天进阶Python!这个Github项目你值得拥有!
  6. JDK14的新特性:JFR,JMC和JFR事件流
  7. 光纤收发器在使用过程中有哪些需要注意的事项?
  8. git-版本控制介绍
  9. “哪吒”出世!华为开源中文版BERT模型
  10. ftp文件传输 vscode_在vscode中配置ftp
  11. SQL Server 2019中的证书管理
  12. sql用于字符串的聚合函数_SQL字符串函数用于数据整理(争用)
  13. Java Matcher源码学习记录
  14. python个人所得税怎么写_Python实现的个人所得税计算器示例
  15. [JNI]开发之旅(8)传递参数给JNI函数
  16. java读取Excel2016
  17. hdu 5053 水
  18. EGO1—UART串行接口设计及通信的实现
  19. html显示百度热搜,Python获取百度热搜的完整代码
  20. 渗透测试-Kali虚拟机技术

热门文章

  1. 干货回顾丨深度学习性能提升的诀窍
  2. 焦李成院士:进化优化与深度学习的思考
  3. 2018年中国人工智能100强研究报告
  4. 2018 中国开源年度报告发布,阿里系独占鳌头
  5. 大牛预测2018年深度学习走向:大批AI硬件初创将失败
  6. 道歉无用!被 Linux “拉黑”的明尼苏达大学还在努力重获信任
  7. 美团应届生年薪达 35 万?究竟什么导致薪资倒挂?
  8. 在新基建风口上,华为“鲲鹏”这次要翱翔了
  9. git查看各个branch之间的关系图
  10. 工作中MySql的了解到的小技巧