欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

大規(guī)模服務(wù)器集群應(yīng)用部署方法和大規(guī)模服務(wù)器集群的制作方法

文檔序號:7721329閱讀:248來源:國知局
專利名稱:大規(guī)模服務(wù)器集群應(yīng)用部署方法和大規(guī)模服務(wù)器集群的制作方法
技術(shù)領(lǐng)域
本申請涉及大規(guī)模服務(wù)器集群的應(yīng)用部署,尤其涉及在大型網(wǎng)站的后端服務(wù)器集群中(例如大于2000臺服務(wù)器的規(guī)模)實現(xiàn)應(yīng)用部署的方法、集群。
背景技術(shù)
在現(xiàn)在的互聯(lián)網(wǎng)公司巨頭,比如Google、Facebook、yahoo等網(wǎng)站,為了支撐海量用戶的訪問,其后端往往存在著上萬臺服務(wù)器集群來提供服務(wù)。原本在只有十幾臺服務(wù)器的集群運行和維護(hù)過程中使用的應(yīng)用部署的成熟技術(shù)在同時維護(hù)成千上萬臺服務(wù)器的時候,就暴露出了性能瓶頸。例如,研發(fā)部門研發(fā)出了一個新的應(yīng)用,這個新的應(yīng)用能否快速穩(wěn)定地部署到后端成千上萬臺服務(wù)器并以最快的時間為用戶提供服務(wù)關(guān)系著公司的業(yè)務(wù)水平和贏利效果。已知的服務(wù)器集群應(yīng)用部署技術(shù)采用的是C/S架構(gòu),如圖I所示,通過一臺部署服務(wù)器,先把應(yīng)用打包部署到這一臺部署服務(wù)器上,然后這一臺部署服務(wù)器對集群內(nèi)的從服務(wù)器分發(fā)這個應(yīng)用的包?;蛘?,各從服務(wù)器輪流排隊,等待部署服務(wù)器對其進(jìn)行部署。在大規(guī)模服務(wù)器集群的情況下,已知一種應(yīng)用部署技術(shù)是在C/S架構(gòu)的基礎(chǔ)上,采用分層的分發(fā)技術(shù),如圖2所示,先把應(yīng)用打包,部署到一臺中心部署服務(wù)器,再由這一臺中心部署服務(wù)器將應(yīng)用包部署到多臺主部署服務(wù)器上,然后再由這些主部署服務(wù)器同時向其從服務(wù)器分發(fā)應(yīng)用包。然而這樣的分層部署方式造成管理上的復(fù)雜和不便,以及成本的增加,例如,需要專門設(shè)置和管理大量的專用于部署的部署服務(wù)器。從上述的已知技術(shù)的架構(gòu)圖中可以看出,在大規(guī)模服務(wù)器集群的情況下,已知的應(yīng)用部署技術(shù)暴露出了如下缺點或問題I、通過C/S模式部署應(yīng)用時,當(dāng)部署服務(wù)器需要部署的從服務(wù)器數(shù)量很大,部署服務(wù)器的網(wǎng)絡(luò)吞吐性能和硬件負(fù)載就會出現(xiàn)瓶頸。比如一臺部署服務(wù)器要同時向1000臺從服務(wù)器分發(fā)應(yīng)用包,遠(yuǎn)遠(yuǎn)超過了現(xiàn)在服務(wù)器網(wǎng)卡帶寬的性能指標(biāo)。隨著需要部署應(yīng)用的從服務(wù)器的增多,對部署服務(wù)器帶寬的要求就越來越高,分發(fā)的速度也就越來越慢,并且非常容易弓丨起部署服務(wù)器崩潰。而若采用各從服務(wù)器輪流排隊由同一臺部署服務(wù)器對其進(jìn)行部署的情況,則部署周期過長。2、如果為了避免上述缺點的發(fā)生而對服務(wù)器集群進(jìn)行分層,則需要通過多層的C/S架構(gòu)以使得每臺部署服務(wù)器向有限的從服務(wù)器分發(fā)應(yīng)用部署包。這樣就意味著維護(hù)成本、管理成本和開發(fā)成本的上升。本來一個應(yīng)用的負(fù)載均衡設(shè)備后的所有后端服務(wù)器的軟件環(huán)境往往是統(tǒng)一的,為了應(yīng)用的部署,人為地劃分出部署層次來。每個層次的部署節(jié)點都要單獨地進(jìn)行管理、操作、維護(hù),每個部署節(jié)點還要為了向不同的應(yīng)用服務(wù)器分發(fā)應(yīng)用部署包而開發(fā)不同的部署代碼,這樣就造成了嚴(yán)重的浪費,使得服務(wù)器集群的維護(hù)和管理變得越來越復(fù)雜。3、同時,已知的基于C/S架構(gòu)的部署技術(shù),無法滿足在大規(guī)模服務(wù)器集群中快速部署應(yīng)用的需求,一個對千臺服務(wù)器的集群部署動輒需要耗費I 2個小時的時間,嚴(yán)重地影響了應(yīng)用上線的時間進(jìn)度。

發(fā)明內(nèi)容
為了解決上述問題,本申請一個方面提出了一種大規(guī)模服務(wù)器集群應(yīng)用部署方法,所述方法包括步驟I:所述大規(guī)模服務(wù)器集群中的中心部署服務(wù)器將一個應(yīng)用的部署包切分成多個片段,并將切分后的多個片段部署于所述大規(guī)模服務(wù)器集群中的多個應(yīng)用服務(wù)器上;以及步驟2 :各個所述應(yīng)用服務(wù)器在被部署完所述部署包的所有片段后,將所述所有片段拼合成一個完整的部署包。本申請的另一個方面提出了一種大規(guī)模服務(wù)器集群,所述大規(guī)模服務(wù)器集群包括一個中心部署服務(wù)器和多個應(yīng)用服務(wù)器,其中,所述中心部署服務(wù)器用于將一個應(yīng)用的部署包切分成多個片段,并將該切分后的多個片段部署于所述多個應(yīng)用服務(wù)器上;以及各 個所述應(yīng)用服務(wù)器在被部署完所述部署包的所有片段后,將所述所有片段拼合成一個完整的部署包。本申請的實現(xiàn)大規(guī)模服務(wù)器集群應(yīng)用快速部署的方法及集群大大減輕了部署服務(wù)器的性能負(fù)載,成許多倍地加快了從部署服務(wù)器向應(yīng)用服務(wù)器分發(fā)應(yīng)用部署包的速度和效率,基本上消除部署服務(wù)器的處理瓶頸和網(wǎng)絡(luò)資源瓶頸,可以做到應(yīng)用部署的時間即發(fā)布時間幾乎與集群內(nèi)的應(yīng)用服務(wù)器數(shù)量無關(guān),也無需如傳統(tǒng)的分層分發(fā)技術(shù)的C/S架構(gòu)那樣維護(hù)大量的分層部署節(jié)點,還降低了開發(fā)和維護(hù)的難度。通過以下參照附圖對本申請實施例的說明,本申請的上述以及其它目的、特征和優(yōu)點將更加明顯。


下面將參照所附附圖來描述本申請的實施例,其中圖I是已知技術(shù)中采用C/S架構(gòu)部署應(yīng)用的示意圖;圖2是已知技術(shù)中采用分層分發(fā)技術(shù)的C/S架構(gòu)部署應(yīng)用的示意圖;圖3是采用本申請的實現(xiàn)大規(guī)模服務(wù)器集群應(yīng)用快速部署的方法部署應(yīng)用的示意圖;圖4是本申請的實現(xiàn)大規(guī)模服務(wù)器集群應(yīng)用快速部署的方法的一個實施例的示意流程圖;圖5是圖4所述的方法的一個實施例的示意流程圖;以及圖6是圖4所述的方法的另一個實施例的示意流程圖。
具體實施例方式
在下文中,將參照附圖詳細(xì)描述本申請的實施例。圖3是采用本申請的實現(xiàn)大規(guī)模服務(wù)器集群應(yīng)用快速部署的方法部署應(yīng)用的示意圖。如圖3中所示,本申請的大規(guī)模服務(wù)器集群包括一個中心部署服務(wù)器和多個應(yīng)用服務(wù)器。為了便于說明,圖3中僅示出了 5個應(yīng)用服務(wù)器,即應(yīng)用服務(wù)器I、應(yīng)用服務(wù)器2、應(yīng)用服務(wù)器3...應(yīng)用服務(wù)器M...以及應(yīng)用服務(wù)器N,然而本申請所涉及的服務(wù)器集群中的應(yīng)用服務(wù)器的實際數(shù)目可以為成千上萬個。
不同于已知技術(shù)中的C/S架構(gòu)和分層的C/S架構(gòu),在本申請中,大規(guī)模服務(wù)器集群的中心部署服務(wù)器把一個應(yīng)用的部署包切分成多個應(yīng)用部署片段(下文簡稱片段),例如可按照固定大小切分成多個片段,并將這些片段的每一個分別部署(例如隨機部署)到不同的應(yīng)用服務(wù)器上。圖3中的箭頭示例性地表示了應(yīng)用部署片段在網(wǎng)絡(luò)中可能的一種流向。由于每個應(yīng)用部署片段很小,所以只需要很少的網(wǎng)絡(luò)資源和很短的時間就能將這些片段部署到應(yīng)用服務(wù)器上。然后每個應(yīng)用服務(wù)器通過中心部署服務(wù)器提供的關(guān)于這些片段的分布路徑信息向其它已部署了一些片段的應(yīng)用服務(wù)器拉取自己需要的片段。例如,應(yīng)用服務(wù)器3可以不直接從中心部署服務(wù)器獲得應(yīng)用部署包的片段,而是從應(yīng)用服務(wù)器I和N獲得應(yīng)用部署包的不同片段,并且還可以從其它應(yīng)用服務(wù)器獲得自己所需的片段。作為另一個實施例,這時應(yīng)用服務(wù)器仍然可以從中心部署服務(wù)器拉取片段,以便充分利用中心部署服務(wù)器的資源。同時,其它應(yīng)用服務(wù)器也可以從應(yīng)用服務(wù)器3獲得所需的片段。每一個應(yīng)用服務(wù)器在獲得了該應(yīng)用的部署包的所有片段之后,將這些片段拼合成·一個完整的部署包。在部署過程中,集群中的每一個應(yīng)用服務(wù)器都可以把自己的關(guān)于當(dāng)前已經(jīng)拉取的片段的片段信息反饋給中心部署服務(wù)器,由中心部署服務(wù)器統(tǒng)計匯總,以指示其它應(yīng)用服務(wù)器拉取片段的路徑,集群中的每一個應(yīng)用服務(wù)器都可以向其它應(yīng)用服務(wù)器提供自己已經(jīng)拉取的片段,每一個應(yīng)用服務(wù)器都可以從最優(yōu)(例如最近或速度最快的)路徑來獲得所需要的片段,因此消除了傳統(tǒng)C/S部署技術(shù)中存在的部署服務(wù)器處理瓶頸和網(wǎng)絡(luò)資源瓶頸。根據(jù)本發(fā)明的一個實施例,本申請的大規(guī)模服務(wù)器集群應(yīng)用部署方法可以分為兩個基本步驟,即,在第一個步驟中,所述大規(guī)模服務(wù)器集群中的中心部署服務(wù)器將一個應(yīng)用的部署包切分成多個片段,并將該切分后的多個片段部署于所述大規(guī)模服務(wù)器集群中的多個應(yīng)用服務(wù)器上;在第二個步驟中,所述應(yīng)用服務(wù)器在被部署完所述部署包的所有片段后,將所述所有片段拼合成一個完整的部署包。圖4是本申請的實現(xiàn)大規(guī)模服務(wù)器集群應(yīng)用快速部署的方法的步驟的一個實施例的示意流程圖,圖4結(jié)合圖3 —起示意性地示出了本申請的實現(xiàn)大規(guī)模服務(wù)器集群應(yīng)用快速部署的方法的一個更具體的實施例。下面將結(jié)合如圖4中所示的各個步驟來進(jìn)一步描述本申請實現(xiàn)大規(guī)模服務(wù)器集群應(yīng)用快速部署的方法。在步驟SO,開始啟動應(yīng)用部署。在步驟SI,大規(guī)模服務(wù)器集群的中心部署服務(wù)器將一個應(yīng)用的部署包切分成多個片段。被切分后的多個片段將被部署于多個應(yīng)用服務(wù)器上。例如,由中心部署服務(wù)器向相應(yīng)應(yīng)用服務(wù)器發(fā)送用于通知拉取片段的拉取指令,然后,在步驟S2,由接收到拉取指令的相應(yīng)應(yīng)用服務(wù)器分別到中心部署服務(wù)器拉取片段。作為另一個替代方案,也可以將步驟SI替換為中心部署服務(wù)器直接將切分后的片段分別發(fā)送至相應(yīng)的應(yīng)用服務(wù)器上,這樣就可以省略如圖4中所示的步驟S2。在圖4所示的步驟S2中,相應(yīng)應(yīng)用服務(wù)器接收到拉取指令后分別到中心部署服務(wù)器拉取片段。
由于各應(yīng)用服務(wù)器此時還缺少其它片段,所以各應(yīng)用服務(wù)器在隨后的過程中將會繼續(xù)從中心部署服務(wù)器或其它應(yīng)用服務(wù)器拉取其它尚未拉取的片段。應(yīng)用服務(wù)器可以通過從中心服務(wù)器上獲取所需要的片段的路徑的方式去拉取尚未拉取的片段。如在圖4所示的步驟S3中,應(yīng)用服務(wù)器主動到中心部署服務(wù)器上獲取所需要的其它片段的路徑??梢岳斫?,這里也可以有替換的方案,即,中心部署服務(wù)器也可以將它所知道的片段的路徑信息主動分發(fā)給各個應(yīng)用服務(wù)器,讓應(yīng)用服務(wù)器自己選擇合適的路徑來拉取所需要的片段。接下來,在步驟S4,應(yīng)用服務(wù)器按照獲取所需要的其它片段的路徑去拉取所需要的其它片段,然后向中心部署服務(wù)器報告關(guān)于該其它片段的片段信息。最后,在步驟S5,當(dāng)一個應(yīng)用服務(wù)器在拉取完應(yīng)用的部署包的所有片段后,將所有片段拼合成一個完整的部署包。根據(jù)一個實施例,在步驟SI中,中心部署服務(wù)器在切分部署包的同時,將所切分的多個片段與將要部署的應(yīng)用服務(wù)器對應(yīng)。例如,中心部署服務(wù)器可以根據(jù)將要部署的應(yīng)用服務(wù)器的連接狀態(tài)、負(fù)載、IP地址、時間以及機器名中的一個或任意組合計算出的隨機數(shù) 或者哈希值,將將要部署的應(yīng)用服務(wù)器與多個片段一一對應(yīng),并將對應(yīng)關(guān)系包含在拉取指令中發(fā)送給將要部署的應(yīng)用服務(wù)器。然后在步驟S2中,將要部署的應(yīng)用服務(wù)器按照拉取指令中的對應(yīng)關(guān)系指定的片段到中心部署服務(wù)器上拉取片段?;蛘撸鳛榱硪环N方案,在步驟SI中,將所切分的多個片段與將要部署的應(yīng)用服務(wù)器一一對應(yīng)之后,直接根據(jù)所述對應(yīng)關(guān)系將相應(yīng)片段發(fā)送至相應(yīng)的應(yīng)用服務(wù)器上,相應(yīng)的應(yīng)用服務(wù)器直接接收中心部署服務(wù)器主動發(fā)送過來的片段,那么,則可以省略步驟S2。根據(jù)另一個實施例,在步驟SI中,中心部署服務(wù)器只將部署包切分成多個片段,而在步驟S2中,在應(yīng)用服務(wù)器到中心部署服務(wù)器拉取片段的過程中,將所切分的多個片段一一對應(yīng)到將要部署的應(yīng)用服務(wù)器。例如,可以按應(yīng)用服務(wù)器連接到中心部署服務(wù)器的連接先后次序依次拉取所切分的片段,或者按負(fù)載均衡原則負(fù)載較輕的應(yīng)用服務(wù)器優(yōu)先拉取所切分的片段,或者按IP地址、機器名等的一個或任意組合指定應(yīng)用服務(wù)器以便使部署時負(fù)載分布均勻。在步驟S4與步驟S5之間,應(yīng)用服務(wù)器可以判斷是否已拉取完部署包的所有片段,如果判斷結(jié)果為尚未拉取完所有片段,就返回到步驟S3,如果判斷結(jié)果為已經(jīng)拉取完所有片段,則進(jìn)入步驟S5。應(yīng)當(dāng)理解,中心部署服務(wù)器第一次向應(yīng)用服務(wù)器部署片段時,中心服務(wù)器知道哪個片段部署在哪個應(yīng)用服務(wù)器上,因此,這時沒有必要由應(yīng)用服務(wù)器向中心部署服務(wù)器報告片段信息,中心部署服務(wù)器只要記錄該片段信息即可。如果中心部署服務(wù)器不知道哪個片段部署在哪個應(yīng)用服務(wù)器上,那么,將由應(yīng)用服務(wù)器向中心部署服務(wù)器報告片段信息。關(guān)于片段的片段信息可以包括所述片段的地址以及該片段的代號,例如,所拉取片段的標(biāo)識、所拉取片段被存儲在當(dāng)前應(yīng)用服務(wù)器上的目錄路徑、以及當(dāng)前應(yīng)用服務(wù)器的地址等信息。在步驟S3中,中心部署服務(wù)器可以根據(jù)所需要的片段當(dāng)前所在的應(yīng)用服務(wù)器的連接狀態(tài)、負(fù)載、IP地址、時間以及機器名中的一個或任意組合計算出的隨機數(shù)或者哈希值,提供應(yīng)用服務(wù)器所需要的片段的路徑。例如,可以將所需要的片段當(dāng)前所在的應(yīng)用服務(wù)器中負(fù)載較輕的應(yīng)用服務(wù)器作為優(yōu)先拉取路徑,以便使部署時負(fù)載分布均勻。另外,在步驟S5或S5之前的任一步驟或任意步驟的組合中,應(yīng)用服務(wù)器可以獲得應(yīng)用的部署包的MD5碼,以便于應(yīng)用服務(wù)器在步驟S5中使用MD5碼對所拼合成的部署包進(jìn)行校驗。作為另一個實施例,中心部署服務(wù)器為應(yīng)用服務(wù)器提供的所需要的片段的路徑可以包括所述中心部署服務(wù)器自身,即,在步驟S3中,中心部署服務(wù)器首次部署完畢所切分的片段之后,仍然可以作為片段的提供者繼續(xù)參與到以后的部署過程中。圖4所示的各步驟所描述的僅僅是一種可能的實施方式,旨在說明本發(fā)明的精神和實質(zhì),根據(jù)具體的情況,各步驟可以被適當(dāng)修改、拆分或組合。圖5是圖4所述的方法的一個實施例的示意流程圖,其中假設(shè)所涉及的大規(guī)模服務(wù)器集群包括一個中心部署服務(wù)器和N個應(yīng)用服務(wù)器,例如N可以是2000以上,甚至超過10000。
如圖5中所示,在步驟S10,開始啟動應(yīng)用部署。在步驟S 11,大規(guī)模服務(wù)器集群的中心部署服務(wù)器把一個應(yīng)用的部署包切分成N個應(yīng)用部署片段。本領(lǐng)域技術(shù)人員可以根據(jù)實際情況(例如集群中需要部署的應(yīng)用服務(wù)器數(shù)量或安裝包大小)按照各種標(biāo)準(zhǔn)將應(yīng)用的部署包切分成N個應(yīng)用部署片段。例如,可以將一個應(yīng)用的部署包按照固定大小切分成N個部署片段,通過切分得到的部署片段也可稱為“分片”。中心部署服務(wù)器將將要部署的N個應(yīng)用服務(wù)器一一對應(yīng)到這N個片段。例如,中心部署服務(wù)器可以根據(jù)將要部署的各應(yīng)用服務(wù)器的連接狀態(tài)、負(fù)載、IP地址、時間以及機器名中的一個或任意組合計算出的隨機數(shù)或者哈希值,將各應(yīng)用服務(wù)器一一對應(yīng)到不同的具體片段。比如,應(yīng)用服務(wù)器I對應(yīng)于第E個片段,應(yīng)用服務(wù)器2對應(yīng)于第F個片段,應(yīng)用服務(wù)器3對應(yīng)于第H個片段。然后,中心部署服務(wù)器向這N個應(yīng)用服務(wù)器發(fā)送包含上述對應(yīng)關(guān)系的拉取指令,通知或邀請這N個應(yīng)用服務(wù)器到中心部署服務(wù)器去拉取已經(jīng)拆分好的應(yīng)用部署片段。在步驟S12,各應(yīng)用服務(wù)器在接收到拉取指令之后,自動啟動用于拉取其指定片段的相關(guān)進(jìn)程。然后,各應(yīng)用服務(wù)器分別到中心部署服務(wù)器拉取片段,并可以獲得該應(yīng)用的部署包的MD5碼。比如,應(yīng)用服務(wù)器I拉取了第E個片段,應(yīng)用服務(wù)器2拉取了第F個片段,應(yīng)用服務(wù)器3拉取了第H個片段。每一個應(yīng)用服務(wù)器一旦成功拉取完所部署的一個片段,就向中心部署服務(wù)器報告關(guān)于該片段的片段信息,從而中心部署服務(wù)器可以實時統(tǒng)計各應(yīng)用服務(wù)器已獲取的片段的片段信息。應(yīng)用服務(wù)器所報告的片段信息包括用于拉取該片段所需要的信息。本領(lǐng)域技術(shù)人員可以根據(jù)實際情況或各種需要,按照各種標(biāo)準(zhǔn)來配置片段的片段信息。例如,片段的片段信息可以包括所述片段的地址以及該片段的代號,例如,所拉取片段的標(biāo)識、所拉取片段備存儲在當(dāng)前應(yīng)用服務(wù)器上的目錄路徑、以及當(dāng)前應(yīng)用服務(wù)器的地址等信息。然后,在步驟S13,各應(yīng)用服務(wù)器到中心部署服務(wù)器上獲取各自所需要的其它部署片段的路徑。中心部署服務(wù)器可以根據(jù)應(yīng)用服務(wù)器所需要的片段當(dāng)前所在的應(yīng)用服務(wù)器的連接狀態(tài)、負(fù)載、IP地址、時間以及機器名中的一個或任意組合計算出的隨機數(shù)或者哈希值,為應(yīng)用服務(wù)器提供所需要的片段的片段路徑。例如,可以將負(fù)載較輕的應(yīng)用服務(wù)器作為優(yōu)先拉取路徑,以便使部署時負(fù)載分布均勻。
然后,在步驟S14,各應(yīng)用服務(wù)器根據(jù)中心部署服務(wù)器提供的片段路徑到其他應(yīng)用服務(wù)器拉取所需要的部署片段。如,應(yīng)用服務(wù)器I拉取了第E個片段,應(yīng)用服務(wù)器2拉取了第F個片段,應(yīng)用服務(wù)器3拉取了第H個片段。當(dāng)應(yīng)用服務(wù)器I從中心部署服務(wù)器獲得了片段F、H的片段信息后,就可以從應(yīng)用服務(wù)器2、3上分別拉取片段F、H。然后,在步驟S15,每一個應(yīng)用服務(wù)器一旦成功拉取完一個片段就向中心部署服務(wù)器報告各自的關(guān)于該片段的片段信息。也就是說,在整個部署期間,中心部署服務(wù)器一直實時統(tǒng)計匯總各應(yīng)用服務(wù)器反饋的各自的關(guān)于當(dāng)前已經(jīng)拉取的片段的片段信息,并整理,以便于尚未部署完畢的應(yīng)用服務(wù)器查詢使用。應(yīng)用服務(wù)器分別從中心部署服務(wù)器獲得尚未拉取的其它片段的片段信息,并根據(jù)該信息從其它應(yīng)用服務(wù)器拉取自己尚未拉取的其它片段。作為另一個實施例,中心部署服務(wù)器為應(yīng)用服務(wù)器提供的所需要的片段的路徑可以包括所述中心部署服務(wù)器自身,即,在步驟S13中,中心部署服務(wù)器首次部署完畢所切分的片段之后,仍然可以作為片段的 提供者繼續(xù)參與到以后的部署過程中,在條件適當(dāng)?shù)那闆r下為合適的應(yīng)用服務(wù)器提供一定量的片段。其中,在步驟S16,應(yīng)用服務(wù)器判斷是否已經(jīng)拉取完將要部署的應(yīng)用的部署包的所有片段。如果判斷的結(jié)果為尚未拉取完該應(yīng)用的部署包的所有片段,就重復(fù)進(jìn)行上述步驟S13至S16,以從其它應(yīng)用服務(wù)器拉取自己尚未拉取的片段。同時,本領(lǐng)域普通技術(shù)人員可以理解,圖5中的步驟S11、S12( S卩,在步驟Sll中中心部署服務(wù)器切分部署包并指定對應(yīng)的應(yīng)用服務(wù)器,在步驟S12中應(yīng)用服務(wù)器按照對應(yīng)關(guān)系拉取所切分的片段。)也可以按照圖4中的步驟S1、S2那樣有另一種實施方式。簡言之,在步驟Sll只切分部署包,而在步驟S12中,在應(yīng)用服務(wù)器拉取片段的過程中讓應(yīng)用服務(wù)器與所切分的片段對應(yīng)。如果應(yīng)用服務(wù)器在步驟S16判斷已拉取完該應(yīng)用的部署包的所有片段,那么該應(yīng)用服務(wù)器就在步驟S17將該應(yīng)用的部署包的所有片段拼合成一個完整的部署包,并校驗該應(yīng)用的部署包的MD5值,從而完成了在該應(yīng)用服務(wù)器上的應(yīng)用部署。最終,通過圖5中步驟SlO至步驟S17的過程,可以以極快的速度平穩(wěn)完成集群中所有應(yīng)用服務(wù)器的應(yīng)用部署。圖6是圖4所述的方法的另一個實施例的示意流程圖。圖6與圖5的不同之處在于,在步驟S21,中心部署服務(wù)器將應(yīng)用部署包僅拆分成M個片段并向所有N個應(yīng)用服務(wù)器發(fā)送拉取指令,其中M < N,且M為大于I的自然數(shù),例如,N可以超過10000,M可以是幾十、幾百或幾千,預(yù)先指定M個應(yīng)用服務(wù)器可以實際拉取到這M個片段,例如,中心部署服務(wù)器可以根據(jù)將要部署的應(yīng)用服務(wù)器的連接狀態(tài)、負(fù)載、IP地址、時間以及機器名中的一個或任意組合計算出的隨機數(shù)或者哈希值,指定M個將要部署的應(yīng)用服務(wù)器;以及在步驟S22,由M個應(yīng)用服務(wù)器去拉取所切分的片段,根據(jù)一個實施例,在所有N個應(yīng)用服務(wù)器中,預(yù)先指定的M個應(yīng)用服務(wù)器接收到拉取指令后到中心部署服務(wù)器分別拉取一個不同的片段,這時,這M個應(yīng)用服務(wù)器之外的其它應(yīng)用服務(wù)器暫不從中心服務(wù)器拉取片段,這M個應(yīng)用服務(wù)器在分別拉取完一個不同的片段之后向中心部署服務(wù)器報告關(guān)于該片段的片段信息。接下來的步驟與圖5中一樣,由于所有N個應(yīng)用服務(wù)器都收到了拉取指令,所以會不停向中心服務(wù)器請求并獲取所需要的片段的路徑。然后所有N個應(yīng)用服務(wù)器會執(zhí)行與圖5中S13至S17相同的步驟S23至S27,從而分別拉取各自所需要的片段。最終,通過圖6中步驟S20至步驟S27的過程,可以以極快的速度平穩(wěn)完成集群中所有應(yīng)用服務(wù)器的應(yīng)用部署。同時,本領(lǐng)域普通技術(shù)人員可以理解,圖6中的步驟S21、S22(在步驟S21中中心部署服務(wù)器切分部署包并指定M個將要部署的應(yīng)用服務(wù)器與所切分的M個片段的對應(yīng)關(guān)系,在步驟S22中應(yīng)用服務(wù)器按照對應(yīng)關(guān)系拉取所切分的片段。)也可以按照圖4中的SI、S2那樣有不同的實施方式。簡言之,在步驟S21只切分部署包,而在步驟S22中在應(yīng)用服務(wù)器拉取片段的過程中讓M個將要部署的應(yīng)用服務(wù)器與所切分的M個片段對應(yīng),即,在步驟S21中并不具體指定由哪M個應(yīng)用服務(wù)器拉取片段,而是在步驟S22中,在應(yīng)用服務(wù)器到中心部署服務(wù)器拉取片段的過程中,指定M個應(yīng)用服務(wù)器來拉取片段。例如,可以按前M個應(yīng)用服務(wù)器連接到中心部署服務(wù)器的連接先后次序依次拉取所切分的片段,或者按照負(fù)載均衡原則,例如負(fù)載較輕的M個應(yīng)用服務(wù)器優(yōu)先拉取所切分的片段,或者按IP地址、機器名等 參數(shù)分片劃分出M個代表應(yīng)用服務(wù)器以便使部署時負(fù)載分布均勻。與圖5的實施例相比,圖6的實施例適合于處理更大規(guī)模的服務(wù)器集群,這是因為,盡管集群中的應(yīng)用服務(wù)器總數(shù)N很大,但是可以選擇將應(yīng)用的部署包切分成合適大小的M塊,M可以遠(yuǎn)小于N,這樣,就可以使部署過程以緩和的方式開始,從而能夠進(jìn)一步避免初始拉取時可能產(chǎn)生的網(wǎng)絡(luò)擁擠。通過上面結(jié)合圖3至圖6對本申請的實現(xiàn)大規(guī)模服務(wù)器集群應(yīng)用快速部署的方法的實施例的描述,可以看到,由于本申請所針對的大規(guī)模服務(wù)器集群中的應(yīng)用服務(wù)器的數(shù)目為成千上萬,而每一個應(yīng)用服務(wù)器都可以作為一個部署服務(wù)器向其它應(yīng)用服務(wù)器分發(fā)自己已經(jīng)拉取的應(yīng)用部署包的片段,從而與傳統(tǒng)的C/S架構(gòu)的部署技術(shù)相比,大大減輕了部署服務(wù)器的性能負(fù)載。并且由于各應(yīng)用服務(wù)器可以同時向多個同級的應(yīng)用服務(wù)器并行地拉取不同的片段,成許多倍地加快了從部署服務(wù)器向應(yīng)用服務(wù)器分發(fā)應(yīng)用部署包的速度和效率。而且,集群中的應(yīng)用服務(wù)器越多,部署得也越快。這樣一來,就可以從基本上消除部署服務(wù)器的處理瓶頸和網(wǎng)絡(luò)資源瓶頸。采用本申請的實現(xiàn)大規(guī)模服務(wù)器集群應(yīng)用快速部署的方法、集群及裝置,在網(wǎng)絡(luò)穩(wěn)定的情況下,可以做到應(yīng)用部署的時間即發(fā)布時間幾乎與集群內(nèi)的應(yīng)用服務(wù)器數(shù)量無關(guān),部署成千上萬個應(yīng)用服務(wù)器的時間與目前部署一至兩個應(yīng)用服務(wù)器所需要的時間幾乎相等。而且,本申請的大規(guī)模服務(wù)器集群應(yīng)用快速部署的方法也無需如傳統(tǒng)的分層分發(fā)技術(shù)的C/S架構(gòu)那樣維護(hù)大量的分層部署節(jié)點。另外,由于每個應(yīng)用服務(wù)器上的用于拉取部署包的代碼(即進(jìn)程)是一致的,因此還降低了開發(fā)和維護(hù)的難度。雖然已參照典型實施例描述了本申請,但應(yīng)當(dāng)理解,所用的術(shù)語是說明和示例性、而非限制性的術(shù)語。由于本申請能夠以多種形式具體實施而不脫離發(fā)明的精神或?qū)嵸|(zhì),所以應(yīng)當(dāng)理解,上述實施例不限于任何前述的細(xì)節(jié),而應(yīng)在隨附權(quán)利要求所限定的精神和范圍內(nèi)廣泛地解釋,因此落入權(quán)利要求或其等效范圍內(nèi)的全部變化和改型都應(yīng)為隨附權(quán)利要求所涵蓋。
權(quán)利要求
1.一種大規(guī)模服務(wù)器集群應(yīng)用部署方法,所述方法包括 步驟I:所述大規(guī)模服務(wù)器集群中的中心部署服務(wù)器將一個應(yīng)用的部署包切分成多個片段,并將切分后的多個片段部署于所述大規(guī)模服務(wù)器集群中的多個應(yīng)用服務(wù)器上;以及步驟2 :各個所述應(yīng)用服務(wù)器在被部署完所述部署包的所有片段后,將所述所有片段拼合成一個完整的部署包。
2.根據(jù)權(quán)利要求I所述的方法,其中,所述步驟I包括 步驟111 :所述大規(guī)模服務(wù)器集群中的中心部署服務(wù)器將所述一個應(yīng)用的部署包切分成所述多個片段之后,將所述切分后的多個片段分別發(fā)送至相應(yīng)應(yīng)用服務(wù)器上; 步驟112 :所述應(yīng)用服務(wù)器從所述中心部署服務(wù)器上獲取所需要的其它片段的路徑;以及 步驟113 :所述應(yīng)用服務(wù)器按照所獲取的路徑去拉取所需要的其它片段,然后向所述中心部署服務(wù)器報告關(guān)于所述其它片段的片段信息。
3.根據(jù)權(quán)利要求I所述的方法,其中,所述步驟I包括 步驟121 :在所述步驟I中,所述大規(guī)模服務(wù)器集群中的中心部署服務(wù)器將所述一個應(yīng)用的部署包切分成所述多個片段之后,向應(yīng)用服務(wù)器發(fā)送拉取指令; 步驟122 :所述應(yīng)用服務(wù)器接收到所述拉取指令后到所述中心部署服務(wù)器拉取片段; 步驟123 :所述應(yīng)用服務(wù)器從所述中心部署服務(wù)器上獲取所需要的其它片段的路徑;以及 步驟124 :所述應(yīng)用服務(wù)器按照所獲取的路徑去拉取所需要的其它片段,然后向所述中心部署服務(wù)器報告關(guān)于所述其它片段的片段信息。
4.根據(jù)權(quán)利要求2所述的方法,其中, 在所述步驟113之后還包括以下判斷步驟 所述應(yīng)用服務(wù)器判斷是否已拉取完所述部署包的所有片段,如果判斷結(jié)果為尚未拉取完所有片段,就返回到所述步驟112,如果判斷結(jié)果為已經(jīng)拉取完所有片段,則進(jìn)入所述步驟2。
5.根據(jù)權(quán)利要求3所述的方法,其中, 在所述步驟124之后還包括以下判斷步驟 所述應(yīng)用服務(wù)器判斷是否已拉取完所述部署包的所有片段,如果判斷結(jié)果為尚未拉取完所有片段,就返回到所述步驟123,如果判斷結(jié)果為已經(jīng)拉取完所有片段,則進(jìn)入所述步驟2。
6.根據(jù)權(quán)利要求2所述的方法,其中, 在所述步驟111中,所述中心部署服務(wù)器將所切分的多個片段與所有所述應(yīng)用服務(wù)器一一對應(yīng),并將切分后的多個片段分別發(fā)送至所有所述應(yīng)用服務(wù)器中相應(yīng)應(yīng)用服務(wù)器上。
7.根據(jù)權(quán)利要求2所述的方法,其中, 在所述步驟111中,所述中心部署服務(wù)器將所切分的多個片段與部分所述應(yīng)用服務(wù)器一一對應(yīng),并將切分后的多個片段分別發(fā)送至所有所述應(yīng)用服務(wù)器中相應(yīng)應(yīng)用服務(wù)器上。
8.根據(jù)權(quán)利要求3所述的方法,其中, 在所述步驟121中,所述中心部署服務(wù)器使所切分的多個片段與所有所述應(yīng)用服務(wù)器具有一一對應(yīng)的對應(yīng)關(guān)系,并根據(jù)所述對應(yīng)關(guān)系向所有所述應(yīng)用服務(wù)器發(fā)送拉取指令,并且 在所述步驟122中,所有所述應(yīng)用服務(wù)器接收到所述拉取指令后,根據(jù)所述對應(yīng)關(guān)系到所述中心部署服務(wù)器分別拉取一個不同的片段。
9.根據(jù)權(quán)利要求3所述的方法,其中, 在所述步驟121中,所述中心部署服務(wù)器使所切分的多個片段與部分所述應(yīng)用服務(wù)器具有一一對應(yīng)的對應(yīng)關(guān)系,并根據(jù)所述對應(yīng)關(guān)系向所述部分所述應(yīng)用服務(wù)器發(fā)送拉取指令,并且 在所述步驟122中,所述部分所述應(yīng)用服務(wù)器接收到所述拉取指令后,根據(jù)所述對應(yīng)關(guān)系到所述中心部署服務(wù)器分別拉取一個不同的片段。
10.根據(jù)權(quán)利要求3所述的方法,其中, 在所述步驟122中,所述中心部署服務(wù)器在所述應(yīng)用服務(wù)器拉取片段的拉取過程中將所切分的多個片段與所有所述應(yīng)用服務(wù)器一一對應(yīng)。
11.根據(jù)權(quán)利要求3所述的方法,其中, 在所述步驟122中,所述中心部署服務(wù)器在所述應(yīng)用服務(wù)器拉取片段的拉取過程中將所切分的多個片段與部分所述應(yīng)用服務(wù)器一一對應(yīng)。
12.根據(jù)權(quán)利要求6或7所述的方法,其中, 在所述步驟111中,所述中心部署服務(wù)器根據(jù)所述應(yīng)用服務(wù)器的連接狀態(tài)、負(fù)載、IP地址、時間以及機器名中的一個或任意組合計算出的隨機數(shù)或者哈希值,將所述相應(yīng)應(yīng)用服務(wù)器與所述多個片段一一對應(yīng)。
13.根據(jù)權(quán)利要求8或9所述的方法,其中, 在所述步驟121中,所述中心部署服務(wù)器根據(jù)所述應(yīng)用服務(wù)器的連接到所述中心部署服務(wù)器的連接先后次序、負(fù)載、IP地址、機器名中的一個或任意組合,將所述應(yīng)用服務(wù)器與所述多個片段一一對應(yīng)。
14.根據(jù)權(quán)利要求2所述的方法,其中, 在所述步驟112中,所述中心部署服務(wù)器根據(jù)所述所需要的其它片段當(dāng)前所在的應(yīng)用服務(wù)器的連接狀態(tài)、負(fù)載、IP地址、時間以及機器名中的一個或任意組合計算出的隨機數(shù)或者哈希值,提供所述所需要的其它片段的路徑。
15.根據(jù)權(quán)利要求3所述的方法,其中, 在所述步驟123中,所述中心部署服務(wù)器根據(jù)所述所需要的其它片段當(dāng)前所在的應(yīng)用服務(wù)器連接到所述中心部署服務(wù)器的連接先后次序或負(fù)載均衡原則,提供所述所需要的其它片段的路徑。
16.根據(jù)權(quán)利要求2或3所述的方法,其中, 所述片段的片段信息包括所述片段的地址以及該片段的代號。
17.根據(jù)權(quán)利要求I所述的方法,其中, 在所述步驟I或步驟2中,所述應(yīng)用服務(wù)器獲得所述一個應(yīng)用的部署包的MD5碼,以及 在所述步驟2中,所述應(yīng)用服務(wù)器使用所述MD5碼對所拼合成的部署包進(jìn)行校驗。
18.一種大規(guī)模服務(wù)器集群,所述大規(guī)模服務(wù)器集群包括 一個中心部署服務(wù)器和多個應(yīng)用服務(wù)器,其中, 所述中心部署服務(wù)器用于將一個應(yīng)用的部署包切分成多個片段,并將該切分后的多個片段部署于所述多個應(yīng)用服務(wù)器上;以及 各個所述應(yīng)用服務(wù)器 在被部署完所述部署包的所有片段后,將所述所有片段拼合成一個完整的部署包。
全文摘要
一種大規(guī)模服務(wù)器集群應(yīng)用部署方法及相應(yīng)的大規(guī)模服務(wù)器集群,其中所述方法包括步驟1所述大規(guī)模服務(wù)器集群中的中心部署服務(wù)器將一個應(yīng)用的部署包切分成多個片段,并將切分后的多個片段部署于所述大規(guī)模服務(wù)器集群中的多個應(yīng)用服務(wù)器上;以及步驟2各個所述應(yīng)用服務(wù)器在被部署完所述部署包的所有片段后,將所述所有片段拼合成一個完整的部署包。本發(fā)明減輕了部署服務(wù)器性能負(fù)載,加快了從部署服務(wù)器向應(yīng)用服務(wù)器分發(fā)應(yīng)用部署包的速度和效率,消除部署服務(wù)器的處理和網(wǎng)絡(luò)資源瓶頸,做到應(yīng)用部署的時間與集群內(nèi)的應(yīng)用服務(wù)器數(shù)量無關(guān),也無需如傳統(tǒng)的分層分發(fā)技術(shù)的C/S架構(gòu)那樣維護(hù)大量的分層部署節(jié)點,還降低了開發(fā)和維護(hù)的難度。
文檔編號H04L29/06GK102882900SQ20111019334
公開日2013年1月16日 申請日期2011年7月11日 優(yōu)先權(quán)日2011年7月11日
發(fā)明者劉志達(dá), 魏玉璋 申請人:阿里巴巴集團(tuán)控股有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
湘乡市| 长治县| 波密县| 和平县| 天柱县| 军事| 和硕县| 即墨市| 宁阳县| 乐陵市| 大埔区| 库尔勒市| 敖汉旗| 兴安盟| 河东区| 西充县| 长武县| 扎兰屯市| 监利县| 石城县| 黄陵县| 洛浦县| 星子县| 区。| 丰镇市| 久治县| 天全县| 庆云县| 临颍县| 凤山县| 新干县| 海宁市| 清河县| 措美县| 贵溪市| 舞阳县| 海原县| 嘉荫县| 大兴区| 佳木斯市| 新巴尔虎左旗|