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