專利名稱:一種互聯(lián)網(wǎng)應用托管系統(tǒng)、設備和方法
技術領域:
本發(fā)明實施例涉及通信技術領域,特別涉及一種互聯(lián)網(wǎng)應用托管系統(tǒng)、設備和方法。
背景技術:
現(xiàn)有互聯(lián)網(wǎng)應用托管的相關技術主要有Amazon EC2和應用集群兩種,下面分別介紹。(I)Amazon EC2Amazon EC2是一個讓使用者可以租用網(wǎng)絡側(cè)運行所需應用的系統(tǒng)。EC2使用虛擬機技術,在物理機器上搭建虛擬機,并將其分配給申請應用的用戶。每個虛擬機器,又稱作實例,能夠運行小、大、極大三種能力的虛擬私有服務器。EC2借由提供web服務的方式讓使用者可以彈性地運行自己的Amazon機器,使用者可以隨時創(chuàng)建、執(zhí)行、終止自己的虛擬服務器,因此這個系統(tǒng)是"彈性"使用的。但這種彈性是由用戶來實現(xiàn)的,并非EC2本身,因此在提供較高靈活性的同時,也對系統(tǒng)使用者提出了較高的要求,同時這也給系統(tǒng)本身帶來一些問題,比如資源不能盡用的問題。(2)應用集群集群技術是使用特定的連接方式,將比超級計算機便宜許多的硬件設備結合起來,提供與超級計算機性能相當?shù)娜蝿仗幚砟芰?。目前最為流行的方式是用高速網(wǎng)絡傳輸設備將幾臺服務器相連,實現(xiàn)并行處理,屏蔽單點失效與單一服務器相比較,集群提供了以下兩個關鍵特性可擴展性集群的性能不限于單一的服務器或單一的機器。新的服務器可以動態(tài)地加入到集群,從而增強集群的性能。如果需要更多的硬件,可以在新的一臺機器上發(fā)布一個新服務器。如果一個服務器不能充分利用已有機器的性能,那么可以在那臺機器上再新增服務器。高可用性集群通過服務器冗余使客戶端免于失敗。在集群中,同樣的服務可以由多個服務器提供。如果一個服務器失敗了,那么另一臺服務器會接管這臺失敗的服務器。 集群提供的從一臺服務器錯誤回復到另一服務器的功能增強了應用的可用性。在實現(xiàn)本發(fā)明實施例的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題從上面對兩種相關技術的介紹可以看出,無論是Amazon EC2還是應用集群都面臨著軟硬資源的不能充分利用的問題。對于EC2來說,用戶租用了一系列的軟硬件資源,一旦用戶租用下來,即使這些資源沒有被使用,它們依然不能被其他用戶使用。對應用集群也有同樣的問題,為了實現(xiàn)高可用性,應用服務器集群中的多臺機器安裝相同的應用,這些冗余帶來了軟硬件資源的不能充分利用。用戶在使用資源租用時,需要自行維護租用的服務器,進行系統(tǒng)的維護和保障。當用戶租用多臺服務器時,需要自行維護服務器之間的關系。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種互聯(lián)網(wǎng)應用托管系統(tǒng)、設備和方法,根據(jù)當前的資源狀態(tài)和應用訪問情況在各計算機設備中進行應用的部署和調(diào)整,實現(xiàn)互聯(lián)網(wǎng)應用托管。為達到上述目的,本發(fā)明實施例一方面提供了一種互聯(lián)網(wǎng)應用托管系統(tǒng),具體包括應用集群管理設備、智能應用路由設備和部署于不同的計算機設備上的多個節(jié)點代理單元所述應用集群管理設備,分別與所述智能應用路由設備和所述節(jié)點代理單元相連接,用于通過所述節(jié)點代理單元管理相對應的計算機設備中資源,以及通過所述節(jié)點代理單元在相對應的計算機設備中部署和調(diào)度相對應的應用,并通知所述智能應用路由設備當前的應用部署情況和各計算機設備中的負載情況;所述智能應用路由設備,用于根據(jù)所述應用集群管理設備所通知的當前的應用部署情況記錄各應用所對應的路由信息,并根據(jù)各計算機設備中的負載情況,按照負載均衡策略,將接收到的應用請求消息發(fā)送給相對應的計算機設備,以使所述計算機設備上部署的相應的應用對所述應用請求消息進行處理;所述節(jié)點代理單元,用于根據(jù)所述應用集群管理設備的指令,在所對應的計算機設備上進行資源調(diào)度和應用的調(diào)度,并向所述應用集群管理設備上報所對應的計算機設備當前的資源狀態(tài)和應用部署情況。另一方面,本發(fā)明實施例還提供了一種應用集群管理設備,包括信息獲取模塊,用于通過節(jié)點代理單元獲取相對應的計算機設備當前的資源狀態(tài)和應用部署信息;管理模塊,與所述信息獲取模塊相連接,用于根據(jù)所述信息獲取模塊所獲取的資源狀態(tài)和應用部署信息,生成相應的應用管理指示;指示模塊,與所述管理模塊相連接,用于向所述節(jié)點代理單元發(fā)送所述管理模塊所生成的應用管理指示,在所述節(jié)點代理單元所對應的計算機設備中進行應用部署和調(diào)度;通知模塊,與所述信息獲取模塊相連接,用于將所述信息獲取模塊所獲取的各計算機設備當前的資源狀態(tài)和應用部署信息通知所述智能應用路由設備。另一方面,本發(fā)明實施例還提供了一種節(jié)點代理單元,分別部署于應用集群中的不同的計算機設備上,所述節(jié)點代理單元,具體包括信息獲取模塊,用于獲取所述節(jié)點代理單元所對應的計算機設備中當前的資源狀態(tài)和應用部署情況;發(fā)送模塊,用于將所述信息獲取模塊所獲取的所述計算機設備中當前的資源狀態(tài)和應用部署情況,上報給應用集群管理設備;指示接收模塊,用于接收所述應用集群管理設備所發(fā)送的指令,在所述節(jié)點代理單元所對應的計算機設備上進行資源和應用的調(diào)度。另一方面,本發(fā)明實施例還提供了一種智能應用路由設備,包括接收模塊,用于接收應用請求消息,以及應用集群管理設備所通知的當前的應用部署情況和資源狀態(tài)信息;存儲模塊,用于根據(jù)所述接收模塊所接收的所述應用集群管理設備所通知的當前
6的應用部署情況記錄各應用所對應的路由信息,路由模塊,用于所述存儲模塊所存儲的路由信息,并根據(jù)所述資源狀態(tài)信息,按照負載均衡策略,將所述接收模塊所接收到的應用請求消息發(fā)送給相對應的計算機設備,以使所述計算機設備上部署的相應的應用對所述應用請求消息進行處理。另一方面,本發(fā)明實施例還提供了一種互聯(lián)網(wǎng)應用托管的方法,包括應用集群管理設備獲取各計算機設備當前的資源狀態(tài)和應用部署信息;所述應用集群管理設備根據(jù)所述資源狀態(tài)和應用部署信息,生成應用管理指示;所述應用集群管理設備向相應的計算機設備發(fā)送所述應用管理指示,所述應用管理指示對所述計算機設備中的應用進行應用部署和調(diào)度。與現(xiàn)有技術相比,本發(fā)明實施例具有以下優(yōu)點通過應用本發(fā)明實施例所提出的技術方案,應用集群管理設備可以實時的收集計算機設備中的資源狀態(tài)信息和應用部署信息,據(jù)此進行應用的彈性部署和調(diào)度,并將當前的資源狀態(tài)信息和應用部署信息通知智能應用路由設備,使智能應用路由設備可以據(jù)此進行路由的記錄,并以及據(jù)負載均衡策略將應用請求在各計算機設備中進行負載均衡,從而, 使系統(tǒng)實現(xiàn)對應用的彈性部署,實現(xiàn)了軟硬件資源的最大限度的利用,有效的節(jié)約了資源。
圖1為本發(fā)明實施例所提出的一種互聯(lián)網(wǎng)應用托管的方法的流程示意圖;圖2為本發(fā)明實施例所提出的一種實現(xiàn)互聯(lián)網(wǎng)應用托管環(huán)境的系統(tǒng)的總體結構示意圖;圖3為本發(fā)明實施例所提出的一種資源加入和維持的方法的流程示意4為本發(fā)明實施例提出的一種應用實例部署的流程示意圖;圖5為本發(fā)明實施例提出的一種應用部署取消的流程示意圖;圖6為本發(fā)明實施例提出的一種應用部署信息同步的流程示意圖;圖7為本發(fā)明實施例提出的一種應用路由分發(fā)的流程示意圖;圖8為本發(fā)明實施例所提出的一種具體應用場景下的互聯(lián)網(wǎng)應用托管的方法的流程示意圖;圖8為本發(fā)明實施例提出的一種互聯(lián)網(wǎng)應用托管系統(tǒng)的結構示意圖;圖9為本發(fā)明實施例提出的一種應用集群管理設備的結構示意圖;圖10為本發(fā)明實施例提出的一種計算機設備的結構示意圖;圖11為本發(fā)明實施例提出的一種智能應用路由設備的結構示意圖。 圖12為本發(fā)明實施例提出的一種智能應用路由設備的結構示意圖。
具體實施例方式如背景技術所述,現(xiàn)有的互聯(lián)網(wǎng)應用的托管技術存在著資源相對固定,不能根據(jù)當前的應用部署和資源占用情況進行動態(tài)調(diào)整的缺陷,從而,可能會造成資源的浪費。本發(fā)明實施例所提出的技術方案的核心思想在于,應用集群管理設備根據(jù)獲取到的各計算機設備當前的資源狀態(tài)和應用部署信息,進行應用調(diào)度和部署,并將相應的應用部署情況通知智能應用路由設備,以使智能應用路由設備對相應的應用請求進行路由處理,從而,實現(xiàn)根據(jù)當前的應用部署和資源占用情況進行資源的動態(tài)調(diào)整,有效的利用各計算機設備中的資源進行應用托管。如圖1所示,為本發(fā)明實施例所提出的一種互聯(lián)網(wǎng)應用托管的方法的流程示意圖,該方法具體包括以下步驟步驟S101、應用集群管理設備獲取各計算機設備當前的資源狀態(tài)和應用部署信肩、ο在實際應用中,本步驟完成之后,還包括將資源狀態(tài)和應用部署信息通知智能應用路由設備的通知過程?;谏鲜龅耐ㄖ^程,智能應用路由設備可以根據(jù)資源狀態(tài)和應用部署信息確定各應用相應的路由轉(zhuǎn)發(fā)信息,并在智能應用路由設備接收到應用請求時,根據(jù)資源狀態(tài)和應用部署信息,按照負載均衡策略,選擇相應的應用,并將應用請求發(fā)送給應用。步驟S102、應用集群管理設備根據(jù)資源狀態(tài)和應用部署信息,生成應用管理指示。步驟S103、應用集群管理設備向相應的計算機設備發(fā)送應用管理指示,該應用管理指示對計算機設備中的應用進行應用部署和調(diào)度。需要進一步指出的是,上述的部署和調(diào)度一方面包括應用的建立和調(diào)整,另一方面,也包括應用的取消,具體說明如下。首先,能夠觸發(fā)應用取消處理的情況包括以下幾種(1)應用集群管理設備接收到應用停止指示。(2)應用集群管理設備根據(jù)資源狀態(tài)和應用部署信息,判斷存在當前負載量超過預設負載閾值的計算機設備。(3)應用集群管理設備根據(jù)資源狀態(tài)和應用部署信息,判斷存在業(yè)務量低于業(yè)務量閾值的應用。當出現(xiàn)以上的一種或多種情況時,應用集群管理設備確定需要停止的應用,并通過以下方式進行應用取消(1)應用集群管理設備向需要停止的應用所對應的計算機設備發(fā)送應用停止指示,以停止該應用。(2)應用集群管理設備向其他計算機設備發(fā)送應用部署指示,以將該需要停止的應用部署在其他計算機設備中。不僅如此,為了記錄當前系統(tǒng)中各計算機設備自身,以及部署在該計算機設備上的應用的運行狀態(tài),本發(fā)明實施例所提出的技術方案中還需要應用集群管理設備建立相應的日志記錄和反饋機制,具體如下應用集群管理設備根據(jù)獲取到的各計算機設備當前的資源狀態(tài)和應用部署信息, 生成相應的運行日志。當應用集群管理設備接收到應用管理設備所發(fā)送的日志請求時,將生成的相應的運行日志反饋給應用管理設備。在實際應用中,應用集群的資源是動態(tài)變化的,會存在計算機設備的加入或退出, 現(xiàn)對其說明如下(1)當應用集群管理設備接收到當前沒有加入互聯(lián)網(wǎng)應用托管系統(tǒng)的計算機設備發(fā)送的節(jié)點加入請求時,獲取該計算機設備當前的資源狀態(tài)信息,將該計算機設備的資源加入互聯(lián)網(wǎng)應用托管系統(tǒng)。(2)為了保持應用集群管理設備對應用集群中的各應用運行狀態(tài)的監(jiān)控,本發(fā)明實施例所提出的技術方案還包括應用集群管理設備與各計算機設備保持心跳檢測,以驗證應用集群管理設備與計算機設備之間的通信是否正常。如果應用集群管理設備和一臺計算機設備之間已經(jīng)建立了心跳檢測機制,那么, 如果出現(xiàn)以下情況(1)在預設的心跳檢測周期中,應用集群管理設備沒有收到該計算機設備上報的心跳檢測,或在預設的響應周期中,應用集群管理設備沒有收到節(jié)點代理單元上報的資源狀態(tài)和應用部署信息,或應用集群管理設備接收到節(jié)點代理單元發(fā)送的退出請求時,應用集群管理設備將節(jié)點代理單元所對應的計算機設備中當前部署的應用調(diào)整到其他計算機設備中,并將更新后的各計算機設備的資源狀態(tài)和應用部署信息通知智能應用路由設備。通過上述方式,可以動態(tài)的調(diào)整應用集群中的計算機設備的資源,實現(xiàn)資源和應用部署的靈活調(diào)整。與現(xiàn)有技術相比,本發(fā)明實施例具有以下優(yōu)點通過應用本發(fā)明實施例所提出的技術方案,應用集群管理設備可以通過節(jié)點代理單元實時的收集計算機設備中的資源狀態(tài)信息和應用部署信息,據(jù)此進行應用的彈性部署和調(diào)度,并將當前的資源狀態(tài)信息和應用部署信息通知智能應用路由設備,使智能應用路由設備可以據(jù)此進行路由的記錄,并以及據(jù)負載均衡策略將應用請求在各計算機設備中進行負載均衡,從而,使系統(tǒng)實現(xiàn)對應用的彈性部署,實現(xiàn)了軟硬件資源的最大限度的利用, 有效的節(jié)約了資源。下面,結合具體的應用場景,對本發(fā)明實施例所提出的技術方案進行說明。本發(fā)明提供了一種互聯(lián)網(wǎng)應用托管環(huán)境的實現(xiàn)方法。該方法是基于云計算思想的網(wǎng)絡側(cè)應用托管環(huán)境,該系統(tǒng)能夠提供應用的托管能力、應用部署配置和管理能力,并能夠?qū)崿F(xiàn)對不同用戶按照資源使用量進行計費和結算的能力。這些能力使得應用開發(fā)者無需考慮任何與服務器相關的安裝,部署和維護工作,只需要將注意力集中在應用的創(chuàng)意和開發(fā)上。同時,該方法可以做到對應用的彈性部署,達到最大限度的利用和節(jié)省資源的目的。該方法對托管的應用根據(jù)訪問量和全局資源的使用情況,將應用動態(tài)的部署到運行環(huán)境的一臺或多臺計算機上,并根據(jù)訪問量決定需要運行的應用實例的個數(shù),當應用的訪問量增加時,可以動態(tài)增加資源分配提高應用的部署實例,進行負載均衡;當應用的訪問量降低時, 可以動態(tài)降低分配的資源減少應用的實例部署。下面從技術體系結構和技術流程兩方面對本發(fā)明實施例所提出的互聯(lián)網(wǎng)應用托管環(huán)境的實現(xiàn)方法的實現(xiàn)過程進行詳細說明。首先,如圖2所示,為本發(fā)明實施例所提出的一種實現(xiàn)互聯(lián)網(wǎng)應用托管環(huán)境的系統(tǒng)的總體結構示意圖,具體包括應用集群管理設備21、智能應用路由設備22、部署于不同的計算機設備上的多個節(jié)點代理單元23、應用管理設備M和應用集群其他管理25 應用集群管理設備21,負責控制節(jié)點代理單元23進行應用的部署,應用的啟動和停止,應用部署的自動伸縮等;負責存儲應用代碼,收集應用和其所部署的計算機設備的運行信息、形成日志;負責和運行支撐環(huán)境交互完成登錄鑒權等操作;負責和應用管理設備 24(包括用戶自管理門戶以及運營商管理門戶)交互完成應用的上傳部署、應用狀態(tài)統(tǒng)計和日志的記錄。智能應用路由設備22,位于應用訪問的前端,作為反向代理負責屏蔽后臺服務器拓撲;負責緩存用戶請求的靜態(tài)文件;負責對用戶請求的分發(fā);負責在多個應用實例間進行負載均衡;節(jié)點代理單元23,運行在計算機設備上,負責執(zhí)行應用集群管理設備21的指令, 并向應用集群管理設備21報告計算機負載情況和應用運行的資源占用情況。應用管理設備M,在具體的應用場景中,可以是開放給應用開發(fā)者的TOB門戶,用于應用開發(fā)者上傳自己的應用;應用集群其他管理25,管理員對應用服務器集群進行配置和管理的接口,管理員通過此接口對服務器集群進行管理和配置,如服務器的初始化等。其中,所包含的接口說明如下Al接口,應用集群管理設備21和節(jié)點代理單元23之間的接口。該接口用于應用集群管理設備21從節(jié)點代理單元23獲取部署計算機的負載信息等狀態(tài)信息,以及節(jié)點代理單元23接收應用集群管理設備21的部署和調(diào)整指令,進行部署的調(diào)整等工作。A2接口,應用集群管理設備21和智能應用路由設備22之間的接口。該接口用于應用集群管理設備21向智能應用路由設備22通報應用最新的部署信息和負載信息,供智能應用路由設備22進行負載均衡的參考。A3接口,應用集群管理設備21和應用管理設備M之間的接口。該接口使用HTTP/SOAP協(xié)議,用于應用管理設備M與應用集群管理設備21交互完成應用部署調(diào)整,新建應用,門戶請求應用狀態(tài)信息和日志信息等操作。Bl接口,智能應用路由設備22和應用實例之間的接口。該接口使用HTTP協(xié)議,是請求分發(fā)接口,由智能應用路由設備22通過負載均衡策略將請求分發(fā)至合適的應用實例?;谏鲜龅南到y(tǒng)設置,上述的各實體以及實體間交互的執(zhí)行過程,主要包括兩部分應用部署和調(diào)度流程、應用路由流程,下面分別對其介紹(一 )應用部署和調(diào)度流程應用部署和調(diào)度流程主要涉及到應用集群管理設備21、節(jié)點代理單元23和智能應用路由設備22間的信息交互。節(jié)點代理單元23實時地向應用集群管理設備21提交計算機設備負載情況和應用運行的資源占用情況信息;應用集群管理設備21通過將應用部署指令(或取消部署指令)發(fā)送給節(jié)點代理單元23,通過節(jié)點代理單元23實現(xiàn)應用實例在計算機設備上的部署 (或取消部署)。每次應用部署和調(diào)度結束前,應用集群管理設備21都要將應用部署的變更信息發(fā)送給智能應用路由設備22,促使智能應用路由設備22中應用路由信息的更新。具體的部署和調(diào)度流程主要包括以下幾種情況情況一、計算機設備加入和維持流程當決定將一個計算機設備的資源加入互聯(lián)網(wǎng)應用托管系統(tǒng)時,可以向應用集群管理設備進行資源登記并請求加入系統(tǒng)。如圖3所示,具體過程如下
步驟S301、待加入的計算機設備上部署的節(jié)點代理單元收集本地資源信息。具體的本地資源信息包括內(nèi)存和CPU的信息,虛擬運行環(huán)境的類型等。步驟S302、節(jié)點代理單元向應用集群管理設備上報節(jié)點加入請求。其中,節(jié)點加入請求中帶有本地資源信息。步驟S303、應用集群管理設備對新增資源進行登記。步驟S304、應用集群管理設備向節(jié)點代理單元返回節(jié)點加入的響應,該計算機位于就緒狀態(tài)。為了保證應用集群管理設備了解計算機的活動狀態(tài),計算機設備上的節(jié)點代理單元定期向應用集群管理設備發(fā)送狀態(tài)報告,應用集群管理設備也可以主動向計算機設備發(fā)送資源狀態(tài)請求報告。情況二、計算機設備退出流程當應用集群管理設備長時間沒有接收到心跳消息或無法收到某個計算機設備的資源狀態(tài)報告時,應用集群管理設備認為該計算機設備退出互聯(lián)網(wǎng)應用托管服務,應用集群管理設備將已經(jīng)部署到該計算機上的應用調(diào)整部署到其他計算機,并通知智能應用路由設備。當節(jié)點代理單元發(fā)送主動退出消息時,應用集群管理設備也會執(zhí)行節(jié)點退出流程。情況三、應用實例部署流程當應用集群管理設備接收到應用部署指令進行初始部署,或根據(jù)系統(tǒng)運行情況進行應用的彈性調(diào)度時,執(zhí)行應用部署流程,初始部署流程如圖4所示,包括以下步驟步驟S401、應用集群管理設備接收應用部署指令。步驟S402、查找合適的可用資源,確定合適的部署節(jié)點。具體的,根據(jù)應用集群管理設備中記錄的系統(tǒng)當前負載情況,找出負載低的計算機設備作為目標部署節(jié)點。步驟S403、向部署在計算機設備上的節(jié)點代理單元發(fā)送應用部署請求,攜帶應用的信息。步驟S404、節(jié)點代理單元請求獲取應用文件。步驟S405、節(jié)點代理單元獲取應用文件。步驟S406、節(jié)點代理單元在本地進行應用部署操作。步驟S407、節(jié)點代理單元向應用集群管理設備返回應用部署結果。步驟S408、應用集群管理設備更新應用部署和負載信息,以及向智能應用路由設備通報這些信息,促使智能應用路由設備更新應用的路由信息。調(diào)度觸發(fā)的應用部署流程和初始部署流程的區(qū)別在步驟S401中,后者是部署指令觸發(fā)應用部署,而前者是應用集群管理設備根據(jù)搜集到的系統(tǒng)運行信息,自動、實時地進行應用調(diào)度觸發(fā)應用部署。系統(tǒng)運行信息包括計算機節(jié)點負載、應用負載(指應用實例占有的計算資源)等信息,主要來自于節(jié)點代理單元的實時報告。情況四、應用部署取消流程當用戶或管理員發(fā)起應用停止請求,或應用集群管理設備發(fā)現(xiàn)某個應用的業(yè)務量降低或某個計算機設備的負載過高需要減少部署的應用數(shù)量時,應用集群管理設備將通知某個計算機設備對某個應用的部署實例的部署進行取消,流程如圖5所示,包括以下步驟步驟S501、應用集群管理設備確定取消部署請求。步驟S502、應用集群管理設備向節(jié)點代理單元發(fā)送取消部署請求。步驟S503、節(jié)點代理單元進行取消部署操作。步驟S504、節(jié)點代理單元向應用集群管理設備返回取消應用部署響應。步驟S505、應用集群管理設備更新應用部署信息。(二)應用路由流程對于應用路由流程,主要包括應用部署信息同步流程、應用路由分發(fā)流程兩部分。情況一、應用部署信息同步流程應用集群管理設備根據(jù)應用的當前部署實例的數(shù)量、應用的動態(tài)負載情況和計算機設備的健康情況周期性的調(diào)整應用實例的部署數(shù)量,當應用實例的部署數(shù)量發(fā)生變化時,應用集群管理設備應該將新的應用實例部署信息同步給智能應用路由設備,具體流程如圖6所示,包括以下步驟步驟S601、應用集群管理設備進行應用實例的部署信息調(diào)整;步驟S602、應用集群管理設備將應用實例的部署信息同步給智能應用路由設備;步驟S603、智能應用路由設備向應用集群管理設備反饋應用部署信息同步的響應;步驟S604、智能應用路由設備更新本地的應用部署信息。情況二、應用路由分發(fā)流程智能應用路由設備會根據(jù)應用實例的部署情況,將應用的請求通過負載均衡策略分發(fā)到不同的應用實例上去,如圖7所示,包括以下步驟步驟S701、智能應用路由設備接收應用請求;步驟S702、智能應用路由設備根據(jù)策略選擇相應的應用實例;步驟S703、智能應用路由設備轉(zhuǎn)發(fā)應用請求至相應的應用實例。綜合以上的各實施例,本發(fā)明實施例結合具體的應用場景,以一個計算機設備從加入互聯(lián)網(wǎng)應用托管系統(tǒng),到部署應用,最后退出互聯(lián)網(wǎng)應用托管系統(tǒng)的全過程,給出應用本發(fā)明技術方案的完整技術流程,其流程示意圖如圖8所示,具體包括以下步驟在初始狀態(tài)下,一個計算機設備沒有加入互聯(lián)網(wǎng)應用托管系統(tǒng),但該計算機設備當前決定加入該系統(tǒng)。步驟S801、計算機設備A上部署的節(jié)點代理單元收集本地資源信息。步驟S802、節(jié)點代理單元向應用集群管理設備上報節(jié)點加入請求。其中,節(jié)點加入請求中帶有本地資源信息。步驟S803、應用集群管理設備對新增資源進行登記。步驟S804、應用集群管理設備向節(jié)點代理單元返回節(jié)點加入響應,該計算機設備 A的資源位于就緒狀態(tài)。步驟S805、應用集群管理設備接收到應用管理設備發(fā)送的應用部署指令。步驟S806、應用集群管理設備查找當前的可用資源,確定計算機設備A中的資源為當前合適的應用部署資源,從而,確定該計算機設備A為目標部署節(jié)點。步驟S807、應用集群管理設備向部署在該計算機設備A上的節(jié)點代理單元發(fā)送應用部署請求,攜帶應用的信息。步驟S808、節(jié)點代理單元在本地進行應用部署操作。具體的還可以包括應用的信息獲取流程,參見步驟S404和步驟S405,在此不再贅述。步驟S809、節(jié)點代理單元向應用集群管理設備返回應用部署結果。步驟S810、應用集群管理設備更新應用部署和負載信息。步驟S811、應用集群管理設備向智能應用路由設備發(fā)送更新后的應用部署和負載 fn息ο步驟S812、智能應用路由設備更新本地的應用部署信息。步驟S813、智能應用路由設備接收應用請求。步驟S814、智能應用路由設備根據(jù)策略在各計算機設備上所部署的應用中選擇相應的應用實例。步驟S815、智能應用路由設備轉(zhuǎn)發(fā)應用請求至該應用實例所部署的計算機設備 A,實現(xiàn)該應用。步驟S816、節(jié)點代理單元向應用集群管理設備發(fā)送主動退出請求。步驟S817、應用集群管理設備將已經(jīng)部署到計算機設備A上的應用調(diào)整部署到其他計算機設備,并更新本地資源。步驟S818、應用集群管理設備向智能應用路由設備發(fā)送更新后的應用部署和負載 fn息ο步驟S819、智能應用路由設備更新本地的應用部署信息。需要指出的是,上述流程指示本發(fā)明實施例提出的一種優(yōu)選示例,在實際應用中, 可以根據(jù)部署的應用的數(shù)量,以及相應策略的變化進行處理流程上的調(diào)整,這樣的變化并不影響本發(fā)明的保護范圍。與現(xiàn)有技術相比,本發(fā)明實施例具有以下優(yōu)點通過應用本發(fā)明實施例所提出的技術方案,應用集群管理設備可以通過節(jié)點代理單元實時的收集計算機設備中的資源狀態(tài)信息和應用部署信息,據(jù)此進行應用的彈性部署和調(diào)度,并將當前的資源狀態(tài)信息和應用部署信息通知智能應用路由設備,使智能應用路由設備可以據(jù)此進行路由的記錄,并以及據(jù)負載均衡策略將應用請求在各計算機設備中進行負載均衡,從而,使系統(tǒng)實現(xiàn)對應用的彈性部署,實現(xiàn)了軟硬件資源的最大限度的利用, 有效的節(jié)約了資源。為了實現(xiàn)本發(fā)明實施例所提出的技術方案,本發(fā)明實施例還提供了一種互聯(lián)網(wǎng)應用托管系統(tǒng),如圖9所示,具體包括應用集群管理設備91、智能應用路由設備92和多個部署有節(jié)點代理單元93的計算機設備,其中,多臺不同的計算機設備組成應用集群94 應用集群管理設備91,分別與智能應用路由設備92和各計算機設備上的節(jié)點代理單元93相連接,用于通過各節(jié)點代理單元93管理相對應的計算機設備中資源,以及通過節(jié)點代理單元93在相對應的計算機設備中部署和調(diào)度相對應的應用,并通知智能應用路由設備92當前的應用部署情況和各計算機設備中的負載情況。智能應用路由設備92,用于根據(jù)應用集群管理設備91所通知的當前的應用部署情況記錄各應用所對應的路由信息,并根據(jù)各計算機設備中的負載情況,按照負載均衡策略,將接收到的應用請求消息發(fā)送給相對應的計算機設備,以使計算機設備上部署的相應的應用對應用請求消息進行處理。各計算機設備上部署的節(jié)點代理單元93,用于根據(jù)應用集群管理設備91的指令, 在所對應的計算機設備上進行資源調(diào)度和應用的調(diào)度,并向應用集群管理設備91上報所對應的計算機設備當前的資源狀態(tài)和應用部署情況。進一步的,上述的系統(tǒng)中,還包括應用管理設備95,與應用集群管理設備91相連接,用于接收上傳的應用,并向應用集群管理設備91進行上傳,以及向應用集群管理設備91發(fā)送管理消息,指示應用集群管理設備91進行相應的處理。在具體的應用場景中,應用集群管理設備91,還用于根據(jù)接收到的各節(jié)點代理單元93反饋的相對應的計算機設備的運行信息,以及計算機設備上的應用的運行信息,生成運行日志,并在接收到應用管理設備95發(fā)送的日志請求時,向應用管理設備95反饋運行日
ο進一步的,上述的系統(tǒng)中,還包括應用集群其他管理設備96,與各計算機設備所組成的應用集群94相連接,用于對應用集群94進行除應用外的其他管理和配置。進一步的,如圖10所示,為本發(fā)明實施例提出的一種應用集群管理設備的結構示意圖,包括信息獲取模塊911,用于通過各節(jié)點代理單元93獲取相對應的計算機設備當前的資源狀態(tài)和應用部署信息;管理模塊912,與信息獲取模塊911相連接,用于根據(jù)信息獲取模塊911所獲取的資源狀態(tài)和應用部署信息,生成相應的應用管理指示;指示模塊913,與管理模塊912相連接,用于向各節(jié)點代理單元93發(fā)送管理模塊 912所生成的應用管理指示,對節(jié)點代理單元93所對應的計算機設備進行應用部署和調(diào)度;通知模塊914,與信息獲取模塊911相連接,用于將信息獲取模塊911所獲取的各計算機設備當前的資源狀態(tài)和應用部署信息通知智能應用路由設備92。具體的,應用集群管理設備還包括指示接收模塊915,用于接收應用管理設備95所發(fā)送的指示消息和/或上傳的應用。其中,管理模塊912,還用于根據(jù)信息獲取模塊911所獲取的資源狀態(tài)和應用部署信息,生成運行日志。具體的,應用集群管理設備還包括反饋模塊916,與指示接收模塊915和管理模塊912相連接,當指示接收模塊915 接收到應用管理設備所發(fā)送的日志請求時,將管理模塊912所生成的運行日志反饋給應用
管理設備。具體的,應用集群管理設備還包括心跳檢測模塊917,用于與各節(jié)點代理單元93保持心跳檢測,驗證節(jié)點代理單元 93所對應的計算機設備中的資源的通信正常。
14
進一步的,如圖11所示,為本發(fā)明實施例提出的一種計算機設備的結構示意圖。該計算機設備上部署有節(jié)點代理單元93,該節(jié)點代理單元93,具體包括信息獲取模塊931,用于獲取該計算機設備中當前的資源狀態(tài)和應用部署情況;發(fā)送模塊932,用于將信息獲取模塊931所獲取的計算機設備中當前的資源狀態(tài)和應用部署情況,上報給應用集群管理設備91 ;指示接收模塊933,用于接收應用集群管理設備91所發(fā)送的指令,在該計算機設備上進行資源和應用的調(diào)度。在具體的應用場景中,當該計算機設備當前沒有加入互聯(lián)網(wǎng)應用托管系統(tǒng)時,如果該計算機設備需要將自身的資源加入互聯(lián)網(wǎng)應用托管系統(tǒng),發(fā)送模塊932,還用于向該互聯(lián)網(wǎng)應用托管系統(tǒng)中的應用集群管理設備91發(fā)送節(jié)點加入請求。進一步的,如圖12所示,為本發(fā)明實施例提出的一種智能應用路由設備的結構示意圖,包括接收模塊921,用于接收應用請求消息,以及應用集群管理設備所通知的當前的應用部署情況和資源狀態(tài)信息;存儲模塊922,用于根據(jù)接收模塊921所接收的應用集群管理設備所通知的當前的應用部署情況記錄各應用所對應的路由信息,路由模塊923,用于存儲模塊922所存儲的路由信息,并根據(jù)資源狀態(tài)信息,按照負載均衡策略,將接收模塊921所接收到的應用請求消息發(fā)送給相對應的計算機設備,以使計算機設備上部署的相應的應用對應用請求消息進行處理。與現(xiàn)有技術相比,本發(fā)明實施例具有以下優(yōu)點通過應用本發(fā)明實施例所提出的技術方案,應用集群管理設備可以通過節(jié)點代理單元實時的收集計算機設備中的資源狀態(tài)信息和應用部署信息,據(jù)此進行應用的彈性部署和調(diào)度,并將當前的資源狀態(tài)信息和應用部署信息通知智能應用路由設備,使智能應用路由設備可以據(jù)此進行路由的記錄,并以及據(jù)負載均衡策略將應用請求在各計算機設備中進行負載均衡,從而,使系統(tǒng)實現(xiàn)對應用的彈性部署,實現(xiàn)了軟硬件資源的最大限度的利用, 有效的節(jié)約了資源。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明實施例可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)。基于這樣的理解,本發(fā)明實施例的技術方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是⑶-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明實施例各個實施場景所述的方法。本領域技術人員可以理解附圖只是一個優(yōu)選實施場景的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明實施例所必須的。本領域技術人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進行分布于實施場景的裝置中,也可以進行相應變化位于不同于本實施場景的一個或多個裝置中。上述實施場景的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。上述本發(fā)明實施例序號僅僅為了描述,不代表實施場景的優(yōu)劣。
以上公開的僅為本發(fā)明實施例的幾個具體實施場景,但是,本發(fā)明實施例并非局限于此,任何本領域的技術人員能思之的變化都應落入本發(fā)明實施例的保護范圍。
權利要求
1.一種互聯(lián)網(wǎng)應用托管系統(tǒng),其特征在于,具體包括應用集群管理設備、智能應用路由設備和多個部署有節(jié)點代理單元的計算機設備所述應用集群管理設備,分別與所述智能應用路由設備和各計算機設備上的節(jié)點代理單元相連接,用于通過各節(jié)點代理單元管理相對應的計算機設備中資源,以及通過各節(jié)點代理單元在相對應的計算機設備中部署和調(diào)度相對應的應用,并通知所述智能應用路由設備當前的應用部署情況和各計算機設備中的負載情況;所述智能應用路由設備,用于根據(jù)所述應用集群管理設備所通知的當前的應用部署情況記錄各應用所對應的路由信息,并根據(jù)各計算機設備中的負載情況,按照負載均衡策略, 將接收到的應用請求消息發(fā)送給相對應的計算機設備,以使所述計算機設備上部署的相應的應用對所述應用請求消息進行處理;各所述計算機設備上部署的節(jié)點代理單元,用于根據(jù)所述應用集群管理設備的指令, 在所對應的計算機設備上進行資源和應用的調(diào)度,并向所述應用集群管理設備上報所對應的計算機設備當前的資源狀態(tài)和應用部署情況。
2.如權利要求1所述的系統(tǒng),其特征在于,還包括應用管理設備,與所述應用集群管理設備相連接,用于接收上傳的應用,并向所述應用集群管理設備進行上傳,以及向所述應用集群管理設備發(fā)送管理消息,指示所述應用集群管理設備進行相應的處理。
3.如權利要求2所述的系統(tǒng),其特征在于,所述應用集群管理設備,還用于根據(jù)接收到的各所述節(jié)點代理單元反饋的相對應的計算機設備的運行信息,以及所述計算機設備上的應用的運行信息,生成運行日志,并在接收到所述應用管理設備發(fā)送的日志請求時,向所述應用管理設備反饋所述運行日志。
4.如權利要求1所述的系統(tǒng),其特征在于,還包括應用集群其他管理設備,與所述各計算機設備所組成的應用集群相連接,用于對所述應用集群進行除應用外的其他管理和配置。
5.一種應用集群管理設備,其特征在于,包括信息獲取模塊,用于通過各節(jié)點代理單元獲取相對應的計算機設備當前的資源狀態(tài)和應用部署信息;管理模塊,與所述信息獲取模塊相連接,用于根據(jù)所述信息獲取模塊所獲取的資源狀態(tài)和應用部署信息,生成相應的應用管理指示;指示模塊,與所述管理模塊相連接,用于向各所述節(jié)點代理單元發(fā)送所述管理模塊所生成的應用管理指示,對所述節(jié)點代理單元所對應的計算機設備進行應用部署和調(diào)度;通知模塊,與所述信息獲取模塊相連接,用于將所述信息獲取模塊所獲取的各計算機設備當前的資源狀態(tài)和應用部署信息通知所述智能應用路由設備。
6.如權利要求5所述的應用集群管理設備,其特征在于,還包括指示接收模塊,用于接收應用管理設備所發(fā)送的指示消息和/或上傳的應用。
7.如權利要求5所述的應用集群管理設備,其特征在于,所述管理模塊,還用于根據(jù)所述信息獲取模塊所獲取的資源狀態(tài)和應用部署信息,生成運行日志。
8.如權利要求6或7所述的應用集群管理設備,其特征在于,還包括反饋模塊,與所述指示接收模塊和所述管理模塊相連接,當所述指示接收模塊接收到所述應用管理設備所發(fā)送的日志請求時,將所述管理模塊所生成的運行日志反饋給所述應用管理設備。
9.如權利要求5所述的應用集群管理設備,還包括心跳檢測模塊,用于與各所述節(jié)點代理單元保持心跳檢測,以驗證所述節(jié)點代理單元所對應的計算機設備中的資源的通信正常。
10.一種計算機設備,其特征在于,部署有節(jié)點代理單元,所述節(jié)點代理單元,具體包括信息獲取模塊,用于獲取所述計算機設備中當前的資源狀態(tài)和應用部署情況;發(fā)送模塊,用于將所述信息獲取模塊所獲取的所述計算機設備中當前的資源狀態(tài)和應用部署情況,上報給應用集群管理設備;指示接收模塊,用于接收所述應用集群管理設備所發(fā)送的指令,在所述計算機設備上進行資源和應用的調(diào)度。
11.如權利要求10所述的計算機設備,其特征在于,當所述計算機設備當前沒有加入到互聯(lián)網(wǎng)應用托管系統(tǒng)時,如果所述計算機設備需要將自身的資源加入到所述互聯(lián)網(wǎng)應用托管系統(tǒng),所述發(fā)送模塊,還用于向所述互聯(lián)網(wǎng)應用托管系統(tǒng)中的應用集群管理設備發(fā)送節(jié)點加入請求。
12.—種智能應用路由設備,其特征在于,包括接收模塊,用于接收應用請求消息,以及應用集群管理設備所通知的當前的應用部署情況和資源狀態(tài)信息;存儲模塊,用于根據(jù)所述接收模塊所接收的所述應用集群管理設備所通知的當前的應用部署情況記錄各應用所對應的路由信息,路由模塊,用于所述存儲模塊所存儲的路由信息,并根據(jù)所述資源狀態(tài)信息,按照負載均衡策略,將所述接收模塊所接收到的應用請求消息發(fā)送給相對應的計算機設備,以使所述計算機設備上部署的相應的應用對所述應用請求消息進行處理。
13.—種互聯(lián)網(wǎng)應用托管的方法,其特征在于,包括應用集群管理設備獲取各計算機設備當前的資源狀態(tài)和應用部署信息;所述應用集群管理設備根據(jù)所述資源狀態(tài)和應用部署信息,生成應用管理指示;所述應用集群管理設備向相應的計算機設備發(fā)送所述應用管理指示,所述應用管理指示對所述計算機設備中的應用進行應用部署和調(diào)度。
14.如權利要求13所述的方法,其特征在于,所述應用集群管理設備獲取各計算機設備當前的資源狀態(tài)和應用部署信息之后,還包括所述應用集群管理設備將所述資源狀態(tài)和應用部署信息通知智能應用路由設備。
15.如權利要求14所述的方法,其特征在于,當所述智能應用路由設備接收到應用請求時,所述方法還包括所述智能應用路由設備根據(jù)所述資源狀態(tài)和應用部署信息,按照負載均衡策略,選擇相應的應用;所述智能應用路由設備將所述應用請求發(fā)送給所述應用。
16.如權利要求13所述的方法,其特征在于,當所述應用集群管理設備接收到應用停止指示,或根據(jù)所述資源狀態(tài)和應用部署信息判斷存在當前負載量超過預設負載閾值的計算機設備或存在業(yè)務量低于業(yè)務量閾值的應用時,還包括 所述應用集群管理設備確定需要停止的應用;所述應用集群管理設備向所述應用所對應的計算機設備發(fā)送應用停止指示,以停止所述應用,和/或向其他計算機設備發(fā)送應用部署指示,以將所述需要停止的應用部署在所述其他計算機設備中。
17.如權利要求13所述的方法,其特征在于,還包括所述應用集群管理設備根據(jù)獲取到的各計算機設備當前的資源狀態(tài)和應用部署信息, 生成相應的運行日志;當所述應用集群管理設備接收到應用管理設備所發(fā)送的日志請求時,將生成的相應的運行日志反饋給所述應用管理設備。
18.如權利要求13所述的方法,其特征在于,還包括當所述應用集群管理設備接收到當前沒有加入到互聯(lián)網(wǎng)應用托管系統(tǒng)的計算機設備發(fā)送的節(jié)點加入請求時,獲取所述計算機設備當前的資源狀態(tài)信息,將所述資源狀態(tài)信息加入所述互聯(lián)網(wǎng)應用托管系統(tǒng)的資源列表。
19.如權利要求13所述的方法,其特征在于,還包括所述應用集群管理設備與所述計算機設備保持心跳檢測,以驗證所述應用集群管理設備與所述計算機設備之間的通信是否正常;當在預設的心跳檢測周期中沒有收到所述計算機設備上報的所述心跳檢測,或在預設的響應周期中沒有收到所述計算機設備上報的資源狀態(tài)和應用部署信息,或接收到所述計算機設備發(fā)送的退出請求時,將所述計算機設備中當前部署的應用調(diào)整到其他計算機設備中,并將更新后的各計算機設備的資源狀態(tài)和應用部署信息通知所述智能應用路由設備。
20.如權利要求13所述的方法,其特征在于,所述各計算機設備上分別部署節(jié)點代理單元,所述應用集群管理設備獲取各計算機設備當前的資源狀態(tài)和應用部署信息,具體為 所述應用集群管理設備通過各計算機設備上的節(jié)點代理單元獲取所述各計算機設備當前的資源狀態(tài)和應用部署信息;所述應用集群管理設備向計算機設備發(fā)送所述應用管理指示,具體為 所述應用集群管理設備向所述計算機設備上部署的節(jié)點代理單元發(fā)送所述應用管理指示。
21.如權利要求16、18或19中任意一項所述的方法,其特征在于,所述應用集群管理設備向所述應用所對應的計算機設備發(fā)送應用停止指示,和/或向其他計算機設備發(fā)送應用部署指示,具體為所述應用集群管理設備向所述應用所對應的計算機設備上部署的節(jié)點代理單元發(fā)送應用停止指示,以停止所述應用,和/或向其他計算機設備上部署的節(jié)點代理單元發(fā)送應用部署指示;所述當前沒有加入互聯(lián)網(wǎng)應用托管系統(tǒng)的計算機設備發(fā)送的節(jié)點加入請求,具體為當前沒有加入互聯(lián)網(wǎng)應用托管系統(tǒng)的計算機設備上部署的節(jié)點代理單元發(fā)送的節(jié)點加入請求;所述應用集群管理設備與所述計算機設備保持心跳檢測,具體為所述應用集群管理設備與所述計算機設備上部署的節(jié)點代理單元保持心跳檢測。
全文摘要
本發(fā)明實施例公開了一種互聯(lián)網(wǎng)應用托管系統(tǒng)、設備和方法,通過應用本發(fā)明實施例所提出的技術方案,應用集群管理設備可以實時的收集計算機設備中的資源狀態(tài)信息和應用部署信息,據(jù)此進行應用的彈性部署和調(diào)度,并將當前的資源狀態(tài)信息和應用部署信息通知智能應用路由設備,使智能應用路由設備可以據(jù)此進行路由的記錄,并以及據(jù)負載均衡策略將應用請求在各計算機設備中進行負載均衡,從而,使系統(tǒng)實現(xiàn)對應用的彈性部署,實現(xiàn)了軟硬件資源的最大限度的利用,有效的節(jié)約了資源。
文檔編號H04L29/08GK102377598SQ20101026372
公開日2012年3月14日 申請日期2010年8月26日 優(yōu)先權日2010年8月26日
發(fā)明者劉濤, 孔令軍, 孫悅, 李勇, 王磊建 申請人:中國移動通信集團公司