專利名稱:面向集群站點(diǎn)的發(fā)布控制方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種互聯(lián)網(wǎng)應(yīng)用軟件發(fā)布技術(shù)的實(shí)現(xiàn)方法和系統(tǒng)。
背景技術(shù):
集群站點(diǎn)的工作特點(diǎn)通常是工作在大負(fù)載,高流量的網(wǎng)絡(luò)訪問環(huán)境中,通過使用多臺(tái)服務(wù)器來負(fù)載均衡網(wǎng)絡(luò)應(yīng)用業(yè)務(wù)。一般中型或大型的互聯(lián)網(wǎng)企業(yè),通常在線上平臺(tái)上會(huì)同時(shí)部署上數(shù)十臺(tái)、上百臺(tái)以上的WEB服務(wù)器。傳統(tǒng)WEB部署方式在更新這些服務(wù)器集群的時(shí)候,通常是遠(yuǎn)程大量復(fù)制站點(diǎn)信息到生產(chǎn)服務(wù)器工作目錄,例如單臺(tái)機(jī)器時(shí)間5分鐘左右,導(dǎo)致站點(diǎn)群和用戶訪問中處于及其不穩(wěn)定狀態(tài),一旦發(fā)布失敗又面臨大量文件回滾的風(fēng)險(xiǎn),對(duì)于應(yīng)用服務(wù)穩(wěn)定和用戶的可用性來說是非??膳碌氖虑?。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的在于解決以上問題,提供一種面向集群站點(diǎn)的發(fā)布方法,該方法可實(shí)現(xiàn)應(yīng)用工作和應(yīng)用更新分離,及或?qū)崿F(xiàn)生產(chǎn)環(huán)境提供冒煙測(cè)試機(jī)制;確保最后生產(chǎn)版本正確可用;及或通過有效的發(fā)布策略,平滑每一個(gè)機(jī)器應(yīng)用升級(jí);而不會(huì)對(duì)前端使用的用戶造成麻煩;及或快速的配置回切機(jī)制,可以確保應(yīng)用回滾高效。為實(shí)現(xiàn)上述目的,本發(fā)明提供的方法其包括在各WEB服務(wù)器建立至少一備份目錄;將待發(fā)布應(yīng)用傳輸?shù)郊褐械母鱾€(gè)WEB服務(wù)器上的該備份目錄;執(zhí)行IIS切換將WEB服務(wù)器從當(dāng)前工作目錄切換至該備份目錄,并將該備份目錄指定為當(dāng)前工作目錄;以及,至少激活一部分WEB服務(wù)器中的備份目錄中的應(yīng)用。優(yōu)選的是,所述備份目錄包括至少一個(gè)對(duì)應(yīng)應(yīng)用的一個(gè)版本的子備份目錄,執(zhí)行Iis切換將WEB服務(wù)器從當(dāng)前目錄切換至該子備份目錄。有益的是,激活的WEB服務(wù)器中的備份目錄中的應(yīng)用占總數(shù)的1%。此外,如激活備份目錄中的應(yīng)用失敗,則回滾至原工作目錄。此外,如激活備份目錄中的應(yīng)用成功,則按比例逐步激活剩余的WEB服務(wù)器中的備份目錄中的應(yīng)用。本發(fā)明還提供了對(duì)應(yīng)的面向集群站點(diǎn)的發(fā)布系統(tǒng),其包括在各WEB服務(wù)器建立至少一備份目錄的裝置;將待發(fā)布應(yīng)用傳輸?shù)郊褐械母鱾€(gè)WEB服務(wù)器上的該備份目錄的裝置;執(zhí)行IIS切換將WEB服務(wù)器從當(dāng)前工作目錄切換至該備份目錄,并將該備份目錄指定為當(dāng)前工作目錄的裝置;以及,至少激活一部分WEB服務(wù)器中的備份目錄中的應(yīng)用的裝置。本發(fā)明提供了一整套完備的發(fā)布工具、技術(shù)實(shí)現(xiàn)方案和配套的流程實(shí)施工藝,可以輕松的對(duì)一個(gè)大規(guī)模集群站點(diǎn)實(shí)現(xiàn)發(fā)布;第一,實(shí)現(xiàn)應(yīng)用工作和應(yīng)用更新分離,即工作,更新兩不誤;第二,實(shí)現(xiàn)生產(chǎn)環(huán)境提供冒煙測(cè)試機(jī)制;確保最后生產(chǎn)版本正確可用;第三。通過有效的發(fā)布策略,平滑每一個(gè)機(jī)器應(yīng)用升級(jí);而不會(huì)對(duì)前端使用的用戶造成麻煩;。最后,快速的配置回切機(jī)制,可以確保應(yīng)用回滾高效。
圖I為依照本發(fā)明的一種實(shí)施例的系統(tǒng)的部署圖;圖2為系統(tǒng)中各功能的邏輯架構(gòu)視圖;圖3為IIS配置切換的流程圖;圖4為發(fā)布方法的流程圖;圖5為發(fā)布代理服務(wù)的功能示意圖;
圖6為發(fā)布控制器的功能示意圖。
具體實(shí)施例方式參照?qǐng)D1,2所示,本發(fā)明由以下三個(gè)核心模塊組成即,上傳系統(tǒng)(AutoUploader),用于將待發(fā)布應(yīng)用傳輸?shù)郊焊鱾€(gè)WEB服務(wù)器功能,服務(wù)器代理(ServerAgent)長(zhǎng)期駐守WEB生產(chǎn)服務(wù)器,用于提供IIS管理功能;以及發(fā)布控制器(ReleaseContooller),用于調(diào)度并管理集群中服務(wù)器的服務(wù)器代理指令。系統(tǒng)中還可以包括運(yùn)維人員計(jì)算機(jī)的操作以及數(shù)據(jù)庫(kù)(DB)的支持。其中,上傳系統(tǒng)實(shí)現(xiàn)模式較簡(jiǎn)單,可以實(shí)際上是一個(gè)FTP客戶端,需要實(shí)現(xiàn)FTP文件傳輸協(xié)議,結(jié)合多線程管理機(jī)制,進(jìn)行文件采集,上傳隊(duì)列管理,失敗重試,以及錯(cuò)誤預(yù)警功能;一般WEB服務(wù)器都部署FTP標(biāo)準(zhǔn)服務(wù)端,如IIS (互聯(lián)網(wǎng)信息服務(wù))FTP服務(wù),Server-U都提供FTP功能,服務(wù)端會(huì)負(fù)責(zé)監(jiān)聽的上傳系統(tǒng)文件傳輸請(qǐng)求,并通過FTP協(xié)議就可以保證將源文件完整的傳遞到服務(wù)器端。如圖1、5所示,發(fā)布代理服務(wù)安裝在所有待發(fā)布WEB工作服務(wù)器上,主要實(shí)現(xiàn)的是對(duì)IIS的管理,同時(shí)兼容IIS6,IIS7,并且可以實(shí)現(xiàn)對(duì)FTP配置和文件操作的管理;它有如下特征第一部署WEB服務(wù)端本應(yīng)用是WEB服務(wù)部署,通過HTTP形式提供給控制端訪問。本應(yīng)用和生產(chǎn)環(huán)境業(yè)務(wù)應(yīng)用捆綁在生產(chǎn)服務(wù)器IIS上;第二,單指令執(zhí)行;每次請(qǐng)求僅處理一個(gè)指令,不做任何業(yè)務(wù)邏輯處理,單純的執(zhí)行,返回結(jié)果。如圖1、6所示,發(fā)布控制器主要用來管理并調(diào)度集群中服務(wù)器的代理中服務(wù)器,借助代理服務(wù)器進(jìn)行IIS信息切換和掃描操作,并且負(fù)責(zé)通知上傳系統(tǒng)去更新在線(online)站點(diǎn)中具體的待發(fā)布目錄,上傳完畢后自動(dòng)切換完成發(fā)布過程。它有以下幾個(gè)特征第一,任務(wù)模板功能;控制器可以加載編寫的任務(wù)模板;每個(gè)任務(wù)包含有不同的指令;第二,中央指令管理調(diào)度職能;負(fù)責(zé)處理任務(wù)隊(duì)列,生成各種各樣指令,將這些指令按不同順序,交由Agent端執(zhí)行,并負(fù)責(zé)回收?qǐng)?zhí)行結(jié)果;依據(jù)這些結(jié)果再生成新的指令;直至整個(gè)任務(wù)隊(duì)列完成。本系統(tǒng)及方法的的實(shí)現(xiàn)機(jī)制為首先,服務(wù)器多版本部署,配置快速切換代替遠(yuǎn)程文件覆蓋;即原來單獨(dú)應(yīng)用程序?qū)?huì)被擴(kuò)充為多個(gè)版本在服務(wù)器上,通過上傳系統(tǒng)定位到不同版本的目錄進(jìn)行文件更新。再通過IIS配置切換就可以實(shí)現(xiàn)一個(gè)站點(diǎn)的發(fā)布(通常IIS切換時(shí)間少于I秒,遠(yuǎn)少于目錄遠(yuǎn)程覆蓋的時(shí)間),同理由,現(xiàn)在的待發(fā)布目錄就過渡為工作中目錄的備份目錄。再執(zhí)行回滾,通過反切目錄即可完成,效率上比傳統(tǒng)遠(yuǎn)程運(yùn)送大量文件效率要高,其中,開發(fā)人員發(fā)起版本,選擇適當(dāng)?shù)陌l(fā)布方式,發(fā)布人員根據(jù)用戶的需要啟動(dòng)相應(yīng)的流程。其次,服務(wù)器集群管理自動(dòng)化,防撞車發(fā)布機(jī)制;在發(fā)布管理站點(diǎn)和集群中的一個(gè)發(fā)布控制器,主要是用來管理集群中服務(wù)器的代理服務(wù)器應(yīng)用進(jìn)行IIS信息切換和掃描工作,并且告訴發(fā)布服務(wù)去更新在線站點(diǎn)中 具體的待發(fā)布目錄,上傳完畢后自動(dòng)切換完成發(fā)布過程。為了保持集群站點(diǎn)新舊發(fā)布平緩過渡,發(fā)布控制器還有另一個(gè)重要的功能,就是集中管理集群中的服務(wù)器。在Iis切換過程中,分批從負(fù)載均衡器中拉出(根據(jù)配置,等待5到10分鐘,釋放IIS工作線程,然后調(diào)用服務(wù)器代理對(duì)虛擬目錄進(jìn)行切換,激活應(yīng)用程序)拉入服務(wù)器,如圖2所示。其中如圖3所示,將集群站點(diǎn)上每一個(gè)機(jī)器的應(yīng)用程序目錄分解為兩個(gè)或兩個(gè)以上的發(fā)布目錄,每個(gè)目錄部署站點(diǎn)都是一樣,只是應(yīng)用程序版本有差別。原有的一個(gè)工作虛擬目錄變成兩個(gè),工作中目錄A不變,新增加一個(gè)待發(fā)布目錄B,上傳系統(tǒng)進(jìn)行上傳操作僅僅通過FTP更新待發(fā)布目錄B這個(gè)時(shí)候,工作中目錄不受影響任然提供穩(wěn)定服務(wù)。當(dāng)整個(gè)文件上傳操作完成后,發(fā)布人員點(diǎn)擊配置切換,通過部署在服務(wù)器上的ServerAgent應(yīng)用可以直接對(duì)IIS工作的虛擬目錄進(jìn)行切換;將待發(fā)布目錄B切換為工作中目錄B,將工作中目錄A切換程待發(fā)布目錄A。目錄切換的方式,僅僅通過IIS配置切換就可以實(shí)現(xiàn)一個(gè)站點(diǎn)的發(fā)布(通常IIS切換時(shí)間少于I秒,遠(yuǎn)少于目錄遠(yuǎn)程覆蓋的時(shí)間),同理由,現(xiàn)在的待發(fā)布目錄A就過渡為工作中目錄B的備份目錄。需要回滾的時(shí)候,反切目錄即可完成,效率上比傳統(tǒng)遠(yuǎn)程運(yùn)送大量文件效率要高。最后,生產(chǎn)環(huán)境預(yù)發(fā)布機(jī)制,提供生產(chǎn)環(huán)境冒煙測(cè)試;冒煙測(cè)試是指將新的應(yīng)用發(fā)布前做常規(guī)性功能測(cè)試;因?yàn)榄h(huán)境差異,發(fā)布總會(huì)存在各式各樣的不確定問題,所以仍然面臨著上線失敗的危險(xiǎn);如何將危險(xiǎn)在全部應(yīng)用上線前解決,我們系統(tǒng)可以實(shí)現(xiàn)一套生產(chǎn)環(huán)境冒煙測(cè)試的機(jī)制。.首先更新所有生產(chǎn)服務(wù)器的待發(fā)布版本B ;然后,將集群中百分之一的機(jī)器自動(dòng)切換到新版本B,提供給測(cè)試人員測(cè)試;其他百分九九用戶不受影響;然后,如果冒煙測(cè)試失敗,百分之一新版本回切老版本A,完成回滾;最后,如果冒煙測(cè)試成功,啟動(dòng)防撞車發(fā)布機(jī)制,逐臺(tái)切換,完成發(fā)布,如圖4所示。本發(fā)明的效果在于本發(fā)明提供了一整套完備的發(fā)布工具、技術(shù)實(shí)現(xiàn)方案和配套的流程實(shí)施工藝,可以輕松的對(duì)一個(gè)大規(guī)模集群站點(diǎn)實(shí)現(xiàn)發(fā)布;第一,實(shí)現(xiàn)應(yīng)用工作和應(yīng)用更新分離,即工作,更新兩不誤;第二,實(shí)現(xiàn)生產(chǎn)環(huán)境提供冒煙測(cè)試機(jī)制;確保最后生產(chǎn)版本正確可用;第三。通過有效的發(fā)布策略,平滑每一個(gè)機(jī)器應(yīng)用升級(jí);而不會(huì)對(duì)前端使用的用戶造成麻煩;。最后,快速的配置回切機(jī)制,可以確保應(yīng)用回滾高效。通過以上機(jī)制,通過選擇不同的發(fā)布方式,滿 足不同應(yīng)用發(fā)布的要求;其核心目的在于盡可能保障整個(gè)集群業(yè)務(wù)的穩(wěn)定,可以使得用戶有良好的用戶體驗(yàn);使發(fā)布過程變得安全、可控,發(fā)布人員可以7X24小時(shí)工作,而不必非得等到夜深人靜,工作通宵到天亮。綜合匯總,如表I所示,系統(tǒng)可以提供以下三種發(fā)布方式表I
權(quán)利要求
1.一種面向集群站點(diǎn)的發(fā)布方法,其包括 在各WEB服務(wù)器建立至少一備份目錄; 將待發(fā)布應(yīng)用傳輸?shù)郊褐械母鱾€(gè)WEB服務(wù)器上的該備份目錄; 執(zhí)行IIS切換將WEB服務(wù)器從當(dāng)前工作目錄切換至該備份目錄,并將該備份目錄指定為當(dāng)前工作目錄; 至少激活一部分WEB服務(wù)器中的備份目錄中的應(yīng)用。
2.根據(jù)權(quán)利要求I中的方法,其特征在于所述備份目錄包括至少一個(gè)對(duì)應(yīng)應(yīng)用的一個(gè)版本的子備份目錄,執(zhí)行IIS切換將WEB服務(wù)器從當(dāng)前目錄切換至該子備份目錄。
3.根據(jù)權(quán)利要求I中的方法,其特征在于激活的WEB服務(wù)器中的備份目錄中的應(yīng)用占總數(shù)的1%。
4.根據(jù)權(quán)利要求I至3中任意一項(xiàng)的方法,其特征在于如激活備份目錄中的應(yīng)用失敗,則回滾至原工作目錄。
5.根據(jù)權(quán)利要求I至3中任意一項(xiàng)的方法,其特征在于如激活備份目錄中的應(yīng)用成功,則按比例逐步激活剩余的WEB服務(wù)器中的備份目錄中的應(yīng)用。
6.—種面向集群站點(diǎn)的發(fā)布系統(tǒng),其包括 在各WEB服務(wù)器建立至少一備份目錄的裝置; 將待發(fā)布應(yīng)用傳輸?shù)郊褐械母鱾€(gè)WEB服務(wù)器上的該備份目錄的裝置; 執(zhí)行IIS切換將WEB服務(wù)器從當(dāng)前工作目錄切換至該備份目錄,并將該備份目錄指定為當(dāng)前工作目錄的裝置;以及, 至少激活一部分WEB服務(wù)器中的備份目錄中的應(yīng)用的裝置。
全文摘要
本發(fā)明公開了一種面向集群站點(diǎn)的發(fā)布方法,其包括在各WEB服務(wù)器建立至少一備份目錄;將待發(fā)布應(yīng)用傳輸?shù)郊褐械母鱾€(gè)WEB服務(wù)器上的該備份目錄;執(zhí)行IIS切換將WEB服務(wù)器從當(dāng)前工作目錄切換至該備份目錄,并將該備份目錄指定為當(dāng)前工作目錄;以及至少激活一部分WEB服務(wù)器中的備份目錄中的應(yīng)用。本發(fā)明可以輕松的對(duì)一個(gè)大規(guī)模集群站點(diǎn)實(shí)現(xiàn)發(fā)布;第一,實(shí)現(xiàn)應(yīng)用工作和應(yīng)用更新分離,即工作,更新兩不誤;第二,實(shí)現(xiàn)生產(chǎn)環(huán)境提供冒煙測(cè)試機(jī)制;確保最后生產(chǎn)版本正確可用;第三。通過有效的發(fā)布策略,平滑每一個(gè)機(jī)器應(yīng)用升級(jí);而不會(huì)對(duì)前端使用的用戶造成麻煩。最后,快速的配置回切機(jī)制,可以確保應(yīng)用回滾高效。
文檔編號(hào)H04L29/08GK102752394SQ20121024345
公開日2012年10月24日 申請(qǐng)日期2012年7月13日 優(yōu)先權(quán)日2012年7月13日
發(fā)明者葛雋, 陳昱, 馬騏, 黃賢飛 申請(qǐng)人:攜程計(jì)算機(jī)技術(shù)(上海)有限公司