CN102752394A - 面向集群站点的发布控制方法和系统 - Google Patents
面向集群站点的发布控制方法和系统 Download PDFInfo
- Publication number
- CN102752394A CN102752394A CN2012102434519A CN201210243451A CN102752394A CN 102752394 A CN102752394 A CN 102752394A CN 2012102434519 A CN2012102434519 A CN 2012102434519A CN 201210243451 A CN201210243451 A CN 201210243451A CN 102752394 A CN102752394 A CN 102752394A
- Authority
- CN
- China
- Prior art keywords
- directory
- backup directory
- web server
- application
- backup
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向集群站点的发布方法,其包括:在各WEB服务器建立至少一备份目录;将待发布应用传输到集群中的各个WEB服务器上的该备份目录;执行IIS切换将WEB服务器从当前工作目录切换至该备份目录,并将该备份目录指定为当前工作目录;以及至少激活一部分WEB服务器中的备份目录中的应用。本发明可以轻松的对一个大规模集群站点实现发布;第一,实现应用工作和应用更新分离,即工作,更新两不误;第二,实现生产环境提供冒烟测试机制;确保最后生产版本正确可用;第三。通过有效的发布策略,平滑每一个机器应用升级;而不会对前端使用的用户造成麻烦。最后,快速的配置回切机制,可以确保应用回滚高效。
Description
技术领域
本发明涉及一种互联网应用软件发布技术的实现方法和系统。
背景技术
集群站点的工作特点通常是工作在大负载,高流量的网络访问环境中,通过使用多台服务器来负载均衡网络应用业务。
一般中型或大型的互联网企业,通常在线上平台上会同时部署上数十台、上百台以上的WEB服务器。传统WEB部署方式在更新这些服务器集群的时候,通常是远程大量复制站点信息到生产服务器工作目录,例如单台机器时间5分钟左右,导致站点群和用户访问中处于及其不稳定状态,一旦发布失败又面临大量文件回滚的风险,对于应用服务稳定和用户的可用性来说是非常可怕的事情。
发明内容
本发明的一个目的在于解决以上问题,提供一种面向集群站点的发布方法,该方法可实现应用工作和应用更新分离,及或实现生产环境提供冒烟测试机制;确保最后生产版本正确可用;及或通过有效的发布策略,平滑每一个机器应用升级;而不会对前端使用的用户造成麻烦;及或快速的配置回切机制,可以确保应用回滚高效。
为实现上述目的,本发明提供的方法其包括:在各WEB服务器建立至少一备份目录;将待发布应用传输到集群中的各个WEB服务器上的该备份目录;执行IIS切换将WEB服务器从当前工作目录切换至该备份目录,并将该备份目录指定为当前工作目录;以及,至少激活一部分WEB服务器中的备份目录中的应用。
优选的是,所述备份目录包括至少一个对应应用的一个版本的子备份目录,执行IIS切换将WEB服务器从当前目录切换至该子备份目录。
有益的是,激活的WEB服务器中的备份目录中的应用占总数的1%。
此外,如激活备份目录中的应用失败,则回滚至原工作目录。
此外,如激活备份目录中的应用成功,则按比例逐步激活剩余的WEB服务器中的备份目录中的应用。
本发明还提供了对应的面向集群站点的发布系统,其包括在各WEB服务器建立至少一备份目录的装置;将待发布应用传输到集群中的各个WEB服务器上的该备份目录的装置;执行IIS切换将WEB服务器从当前工作目录切换至该备份目录,并将该备份目录指定为当前工作目录的装置;以及,至少激活一部分WEB服务器中的备份目录中的应用的装置。
本发明提供了一整套完备的发布工具、技术实现方案和配套的流程实施工艺,可以轻松的对一个大规模集群站点实现发布;第一,实现应用工作和应用更新分离,即工作,更新两不误;第二,实现生产环境提供冒烟测试机制;确保最后生产版本正确可用;第三。通过有效的发布策略,平滑每一个机器应用升级;而不会对前端使用的用户造成麻烦;。最后,快速的配置回切机制,可以确保应用回滚高效。
附图说明
图1为依照本发明的一种实施例的系统的部署图;
图2为系统中各功能的逻辑架构视图;
图3为IIS配置切换的流程图;
图4为发布方法的流程图;
图5为发布代理服务的功能示意图;
图6为发布控制器的功能示意图。
具体实施方式
参照图1,2所示,本发明由以下三个核心模块组成:即,上传系统(AutoUploader),用于将待发布应用传输到集群各个WEB服务器功能,服务器代理(ServerAgent)长期驻守WEB生产服务器,用于提供IIS管理功能;以及发布控制器(ReleaseController),用于调度并管理集群中服务器的服务器代理指令。系统中还可以包括运维人员计算机的操作以及数据库(DB)的支持。
其中,上传系统实现模式较简单,可以实际上是一个FTP客户端,需要实现FTP文件传输协议,结合多线程管理机制,进行文件采集,上传队列管理,失败重试,以及错误预警功能;
一般WEB服务器都部署FTP标准服务端,如IIS(互联网信息服务)FTP服务,Server-U都提供FTP功能,服务端会负责监听的上传系统文件传输请求,并通过FTP协议就可以保证将源文件完整的传递到服务器端。
如图1、5所示,发布代理服务安装在所有待发布WEB工作服务器上,主要实现的是对IIS的管理,同时兼容IIS6,IIS7,并且可以实现对FTP配置和文件操作的管理;它有如下特征:第一部署WEB服务端:本应用是WEB服务部署,通过HTTP形式提供给控制端访问。本应用和生产环境业务应用捆绑在生产服务器IIS上;第二,单指令执行;每次请求仅处理一个指令,不做任何业务逻辑处理,单纯的执行,返回结果。
如图1、6所示,发布控制器主要用来管理并调度集群中服务器的代理中服务器,借助代理服务器进行IIS信息切换和扫描操作,并且负责通知上传系统去更新在线(online)站点中具体的待发布目录,上传完毕后自动切换完成发布过程。它有以下几个特征:第一,任务模板功能;控制器可以加载编写的任务模板;每个任务包含有不同的指令;第二,中央指令管理调度职能;负责处理任务队列,生成各种各样指令,将这些指令按不同顺序,交由Agent端执行,并负责回收执行结果;依据这些结果再生成新的指令;直至整个任务队列完成。
本系统及方法的的实现机制为:
首先,服务器多版本部署,配置快速切换代替远程文件覆盖;即原来单独应用程序将会被扩充为多个版本在服务器上,通过上传系统定位到不同版本的目录进行文件更新。再通过IIS配置切换就可以实现一个站点的发布(通常IIS切换时间少于1秒,远少于目录远程覆盖的时间),同理由,现在的待发布目录就过渡为工作中目录的备份目录。再执行回滚,通过反切目录即可完成,效率上比传统远程运送大量文件效率要高,其中,开发人员发起版本,选择适当的发布方式,发布人员根据用户的需要启动相应的流程。
其次,服务器集群管理自动化,防撞车发布机制;在发布管理站点和集群中的一个发布控制器,主要是用来管理集群中服务器的代理服务器应用进行IIS信息切换和扫描工作,并且告诉发布服务去更新在线站点中具体的待发布目录,上传完毕后自动切换完成发布过程。为了保持集群站点新旧发布平缓过渡,发布控制器还有另一个重要的功能,就是集中管理集群中的服务器。在IIS切换过程中,分批从负载均衡器中拉出(根据配置,等待5到10分钟,释放IIS工作线程,然后调用服务器代理对虚拟目录进行切换,激活应用程序)拉入服务器,如图2所示。
其中如图3所示,将集群站点上每一个机器的应用程序目录分解为两个或两个以上的发布目录,每个目录部署站点都是一样,只是应用程序版本有差别。原有的一个工作虚拟目录变成两个,工作中目录A不变,新增加一个待发布目录B,上传系统进行上传操作仅仅通过FTP更新待发布目录B这个时候,工作中目录不受影响任然提供稳定服务。当整个文件上传操作完成后,发布人员点击配置切换,通过部署在服务器上的ServerAgent应用可以直接对IIS工作的虚拟目录进行切换;将待发布目录B切换为工作中目录B,将工作中目录A切换程待发布目录A。目录切换的方式,仅仅通过IIS配置切换就可以实现一个站点的发布(通常IIS切换时间少于1秒,远少于目录远程覆盖的时间),同理由,现在的待发布目录A就过渡为工作中目录B的备份目录。需要回滚的时候,反切目录即可完成,效率上比传统远程运送大量文件效率要高。
最后,生产环境预发布机制,提供生产环境冒烟测试;冒烟测试是指将新的应用发布前做常规性功能测试;因为环境差异,发布总会存在各式各样的不确定问题,所以仍然面临着上线失败的危险;如何将危险在全部应用上线前解决,我们系统可以实现一套生产环境冒烟测试的机制。.首先更新所有生产服务器的待发布版本B;然后,将集群中百分之一的机器自动切换到新版本B,提供给测试人员测试;其他百分九九用户不受影响;然后,如果冒烟测试失败,百分之一新版本回切老版本A,完成回滚;最后,如果冒烟测试成功,启动防撞车发布机制,逐台切换,完成发布,如图4所示。
本发明的效果在于:
本发明提供了一整套完备的发布工具、技术实现方案和配套的流程实施工艺,可以轻松的对一个大规模集群站点实现发布;第一,实现应用工作和应用更新分离,即工作,更新两不误;第二,实现生产环境提供冒烟测试机制;确保最后生产版本正确可用;第三。通过有效的发布策略,平滑每一个机器应用升级;而不会对前端使用的用户造成麻烦;。最后,快速的配置回切机制,可以确保应用回滚高效。
通过以上机制,通过选择不同的发布方式,满足不同应用发布的要求;其核心目的在于尽可能保障整个集群业务的稳定,可以使得用户有良好的用户体验;使发布过程变得安全、可控,发布人员可以7×24小时工作,而不必非得等到夜深人静,工作通宵到天亮。
综合汇总,如表1所示,系统可以提供以下三种发布方式:
表1
Claims (6)
1.一种面向集群站点的发布方法,其包括:
在各WEB服务器建立至少一备份目录;
将待发布应用传输到集群中的各个WEB服务器上的该备份目录;
执行IIS切换将WEB服务器从当前工作目录切换至该备份目录,并将该备份目录指定为当前工作目录;
至少激活一部分WEB服务器中的备份目录中的应用。
2.根据权利要求1中的方法,其特征在于:所述备份目录包括至少一个对应应用的一个版本的子备份目录,执行IIS切换将WEB服务器从当前目录切换至该子备份目录。
3.根据权利要求1中的方法,其特征在于:激活的WEB服务器中的备份目录中的应用占总数的1%。
4.根据权利要求1至3中任意一项的方法,其特征在于:如激活备份目录中的应用失败,则回滚至原工作目录。
5.根据权利要求1至3中任意一项的方法,其特征在于:如激活备份目录中的应用成功,则按比例逐步激活剩余的WEB服务器中的备份目录中的应用。
6.一种面向集群站点的发布系统,其包括:
在各WEB服务器建立至少一备份目录的装置;
将待发布应用传输到集群中的各个WEB服务器上的该备份目录的装置;
执行IIS切换将WEB服务器从当前工作目录切换至该备份目录,并将该备份目录指定为当前工作目录的装置;以及,
至少激活一部分WEB服务器中的备份目录中的应用的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210243451.9A CN102752394B (zh) | 2012-07-13 | 2012-07-13 | 面向集群站点的发布控制方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210243451.9A CN102752394B (zh) | 2012-07-13 | 2012-07-13 | 面向集群站点的发布控制方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102752394A true CN102752394A (zh) | 2012-10-24 |
CN102752394B CN102752394B (zh) | 2015-10-21 |
Family
ID=47032292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210243451.9A Active CN102752394B (zh) | 2012-07-13 | 2012-07-13 | 面向集群站点的发布控制方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102752394B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219329A (zh) * | 2014-09-28 | 2014-12-17 | 浪潮软件集团有限公司 | 一种集群服务器中通过内容分发部署业务的方法 |
CN106202123A (zh) * | 2015-05-07 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 灰度发布的方法及设备 |
CN108052329A (zh) * | 2017-12-14 | 2018-05-18 | 上海钢联电子商务股份有限公司 | 一种应用一键发布系统及方法 |
CN108156208A (zh) * | 2016-12-02 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 一种应用程序数据的发布方法、装置和系统 |
CN108595552A (zh) * | 2018-04-10 | 2018-09-28 | 平安科技(深圳)有限公司 | 数据立方体发布方法、装置、电子设备和存储介质 |
CN109725908A (zh) * | 2017-10-26 | 2019-05-07 | 卓望数码技术(深圳)有限公司 | 一种应用软件自动发布系统以及方法 |
CN110855735A (zh) * | 2019-09-20 | 2020-02-28 | 广州亚美信息科技有限公司 | 项目发布方法、装置、系统和计算机设备 |
CN115134238A (zh) * | 2022-08-30 | 2022-09-30 | 太平金融科技服务(上海)有限公司深圳分公司 | 业务系统发布方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858704A (zh) * | 2006-02-07 | 2006-11-08 | 华为技术有限公司 | 升级程序的方法 |
CN101207518A (zh) * | 2007-12-07 | 2008-06-25 | 华中科技大学 | 一种面向分布式资源节点的异步维护系统 |
CN102045201A (zh) * | 2010-12-27 | 2011-05-04 | 北京锐安科技有限公司 | 一种内网服务器集群自动升级方法及其系统 |
-
2012
- 2012-07-13 CN CN201210243451.9A patent/CN102752394B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858704A (zh) * | 2006-02-07 | 2006-11-08 | 华为技术有限公司 | 升级程序的方法 |
CN101207518A (zh) * | 2007-12-07 | 2008-06-25 | 华中科技大学 | 一种面向分布式资源节点的异步维护系统 |
CN102045201A (zh) * | 2010-12-27 | 2011-05-04 | 北京锐安科技有限公司 | 一种内网服务器集群自动升级方法及其系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219329A (zh) * | 2014-09-28 | 2014-12-17 | 浪潮软件集团有限公司 | 一种集群服务器中通过内容分发部署业务的方法 |
CN106202123A (zh) * | 2015-05-07 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 灰度发布的方法及设备 |
CN106202123B (zh) * | 2015-05-07 | 2019-07-05 | 阿里巴巴集团控股有限公司 | 灰度发布的方法及设备 |
CN108156208A (zh) * | 2016-12-02 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 一种应用程序数据的发布方法、装置和系统 |
CN108156208B (zh) * | 2016-12-02 | 2022-02-25 | 阿里巴巴集团控股有限公司 | 一种应用程序数据的发布方法、装置和系统 |
CN109725908A (zh) * | 2017-10-26 | 2019-05-07 | 卓望数码技术(深圳)有限公司 | 一种应用软件自动发布系统以及方法 |
CN108052329A (zh) * | 2017-12-14 | 2018-05-18 | 上海钢联电子商务股份有限公司 | 一种应用一键发布系统及方法 |
CN108595552A (zh) * | 2018-04-10 | 2018-09-28 | 平安科技(深圳)有限公司 | 数据立方体发布方法、装置、电子设备和存储介质 |
CN108595552B (zh) * | 2018-04-10 | 2022-09-27 | 平安科技(深圳)有限公司 | 数据立方体发布方法、装置、电子设备和存储介质 |
CN110855735A (zh) * | 2019-09-20 | 2020-02-28 | 广州亚美信息科技有限公司 | 项目发布方法、装置、系统和计算机设备 |
CN115134238A (zh) * | 2022-08-30 | 2022-09-30 | 太平金融科技服务(上海)有限公司深圳分公司 | 业务系统发布方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102752394B (zh) | 2015-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102752394A (zh) | 面向集群站点的发布控制方法和系统 | |
CN111027921B (zh) | 一种业务处理方法、装置及电子设备和存储介质 | |
CN104317610A (zh) | 一种hadoop平台自动安装部署的方法及装置 | |
US8639792B2 (en) | Job processing system, method and program | |
CN102611745B (zh) | 文件在线迁移方法、装置和系统 | |
CN107770229B (zh) | 云端文件分享方法、系统和云服务器 | |
CN102110121A (zh) | 一种数据处理方法及其系统 | |
CN105553741A (zh) | 一种基于云计算的应用系统自动化部署方法 | |
CN104134109A (zh) | 集成版本管理的工程组态方法及系统 | |
CN108228201A (zh) | 基于软件仓库的软件管理方法、电子设备及存储介质 | |
CN103595707A (zh) | 一种基于svn的文件自动网络同步方法 | |
JP5724735B2 (ja) | データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム | |
CN103716188B (zh) | Linux服务器集群管理的管理和维护方法 | |
CN109144785A (zh) | 用于备份数据的方法和装置 | |
JP2015026207A (ja) | ファイル管理プログラム,ファイル管理装置及びファイル管理方法 | |
CN106550022B (zh) | 一种应用程序分发控制处理方法及系统 | |
CN105787300B (zh) | 一种控制软件使用的方法及系统 | |
CN112711522B (zh) | 一种基于docker的云测试方法、系统及电子设备 | |
CN116974689A (zh) | 集群容器调度方法、装置、设备及计算机可读存储介质 | |
CN109388668B (zh) | 在工程系统的工程工具之间交换数据的方法和工程系统 | |
CN115658791A (zh) | 一种地面应用管理控制系统及方法 | |
CN103235988A (zh) | 数据库一体化监管平台及其工作方法以及依据此平台的备份任务流程管理的业务控制方法 | |
CN112055086B (zh) | 一种IIS站点、Windows服务的发布与管理方法、运维系统及平台 | |
CN114780137A (zh) | 软件版本管理方法及装置、存储介质及电子设备 | |
CN114489955A (zh) | 一种DockerSwarm集群实现GitOps的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160201 Address after: 200335 Shanghai city Changning District Admiralty Road No. 968 Building No. 16 10 floor Patentee after: SHANGHAI XIECHENG BUSINESS CO., LTD. Address before: 200335 Shanghai Changning District Fuquan Road No. 99 Patentee before: Ctrip computer technology (Shanghai) Co., Ltd. |