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

一種應(yīng)用調(diào)度系統(tǒng)、方法和相關(guān)裝置的制作方法

文檔序號:7764936閱讀:263來源:國知局
專利名稱:一種應(yīng)用調(diào)度系統(tǒng)、方法和相關(guān)裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及移動互聯(lián)網(wǎng)領(lǐng)域,尤其涉及一種應(yīng)用調(diào)度系統(tǒng)、方法和相關(guān)裝置。
背景技術(shù)
現(xiàn)有作業(yè)(任務(wù))調(diào)度方法中,主要有計算機(jī)集群、網(wǎng)格中使用的作業(yè)(任務(wù))調(diào)度方法等,這些方法大多以系統(tǒng)為中心,以提高系統(tǒng)吞吐率、使用率、實現(xiàn)整個系統(tǒng)上所有任務(wù)的完成時間最小為目標(biāo)。目前有代表性的作業(yè)調(diào)度系統(tǒng)及其中的方法介紹如下Condor是用來管理計算密集型的作業(yè)的批處理隊列系統(tǒng),是一個計算機(jī)集群管理的開源工具,用于管理計算機(jī)集群中的專用計算節(jié)點和有效地利用網(wǎng)格中未用的時鐘周期。Condor的作業(yè)調(diào)度方法解決了兩個領(lǐng)域的問題,一方面它使用一種基于批處理隊列方法管理集群中的計算機(jī)節(jié)點,另一方面可以有效地利用空閑節(jié)點計算資源。在典型的使用情境中,用戶將任務(wù)提交給Condor,它會對任務(wù)進(jìn)行排隊并監(jiān)視,然后在任務(wù)完成時將結(jié)果表示出來。Condor也可以利用資源空閑時的空閑周期有效地管理非專用資源,有效地利用空閑周期是Condor調(diào)度方法的特色。LSF是一個多集群管理系統(tǒng),它使多個異構(gòu)的計算機(jī)能夠通過局域網(wǎng)或廣域網(wǎng)共享計算資源,并能夠為用戶提供對資源的透明訪問。LSF中的資源調(diào)度方法能夠?qū)崿F(xiàn)負(fù)載平衡,當(dāng)用戶發(fā)送了一個任務(wù)請求時,LSF系統(tǒng)能將此任務(wù)發(fā)送到對應(yīng)的資源所在地,并根據(jù)調(diào)度策略選擇負(fù)載較輕的機(jī)器對此任務(wù)進(jìn)行處理。同時還可以實現(xiàn)優(yōu)先級調(diào)度,當(dāng)多個用戶請求同一個資源時,根據(jù)用戶的請求優(yōu)先級來確保優(yōu)先級高的用戶的緊急任務(wù)能首先得到滿足。在上述兩個系統(tǒng)中,作業(yè)(任務(wù))調(diào)度處理的對象是作業(yè)隊列,通常使用基于批處理隊列的方法處理作業(yè)(任務(wù)),以提高系統(tǒng)吞吐率、使用率、實現(xiàn)整個系統(tǒng)上所有任務(wù)的完成時間最小為目標(biāo),對于沒有實時性調(diào)度要求的作業(yè)(任務(wù))可以滿足要求。而對于具有實時性調(diào)度要求的作業(yè)(任務(wù))調(diào)度卻無法滿足需求。當(dāng)應(yīng)用調(diào)度的對象是互聯(lián)網(wǎng)托管環(huán)境下的應(yīng)用實例時,目前已有的作業(yè)調(diào)度方法和系統(tǒng)缺乏對計算機(jī)資源實時、動態(tài)的跟蹤, 從而無法實現(xiàn)可用資源的及時發(fā)現(xiàn)和應(yīng)用的彈性部署。由此可見,如何根據(jù)系統(tǒng)外部對應(yīng)用的請求以及系統(tǒng)當(dāng)前的運行情況對應(yīng)用執(zhí)行實時、動態(tài)的調(diào)度,以實現(xiàn)互聯(lián)網(wǎng)托管環(huán)境中應(yīng)用的良好運行和彈性部署,提高系統(tǒng)資源利用率,成為現(xiàn)有技術(shù)中亟待解決的問題之一。

發(fā)明內(nèi)容
本發(fā)明公開了一種應(yīng)用調(diào)度系統(tǒng)、方法和相關(guān)裝置,用以對應(yīng)用執(zhí)行實時、動態(tài)的調(diào)度,以實現(xiàn)應(yīng)用的良好運行和彈性部署,提高系統(tǒng)資源利用率。本發(fā)明實施例提供一種應(yīng)用調(diào)度系統(tǒng),包括至少兩個計算機(jī)節(jié)點和應(yīng)用集群管理裝置,其中所述計算機(jī)節(jié)點,用于生成自身當(dāng)前的負(fù)載信息并上報,所述負(fù)載信息包括計算機(jī)節(jié)點的節(jié)點負(fù)載和計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載;以及根據(jù)所述應(yīng)用集群管理裝置下發(fā)的調(diào)度指令執(zhí)行相應(yīng)的應(yīng)用調(diào)度;所述應(yīng)用集群管理裝置,用于接收每一個計算機(jī)節(jié)點上報的負(fù)載信息,根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載確定需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點和應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,并結(jié)合所述源計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載生成調(diào)度指令下發(fā)給所述源計算機(jī)節(jié)點,所述調(diào)度指令指示所述目標(biāo)計算機(jī)節(jié)點、以及部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用。本發(fā)明實施例提供一種應(yīng)用調(diào)度方法,包括接收每一個計算機(jī)節(jié)點上報的負(fù)載信息,所述負(fù)載信息包括計算機(jī)節(jié)點的節(jié)點負(fù)載和計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載;根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載確定需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點和應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,并結(jié)合所述源計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載生成調(diào)度指令,所述調(diào)度指令指示所述目標(biāo)計算機(jī)節(jié)點、以及部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用;將生成的調(diào)度指令下發(fā)給所述源計算機(jī)節(jié)點。本發(fā)明實施例提供一種計算機(jī)節(jié)點,包括計算機(jī)節(jié)點代理模塊,所述計算機(jī)節(jié)點代理模塊包括生成子模塊、上報子模塊、執(zhí)行子模塊,其中所述生成子模塊,用于生成計算機(jī)節(jié)點當(dāng)前的負(fù)載信息,所述負(fù)載信息包括計算機(jī)節(jié)點的節(jié)點負(fù)載和計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載;所述上報子模塊,用于上報生成的負(fù)載信息;所述執(zhí)行子模塊,用于根據(jù)接收到的調(diào)度指令執(zhí)行相應(yīng)的應(yīng)用調(diào)度,所述調(diào)度指令指示應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點、以及部署在當(dāng)前計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用。本發(fā)明實施例提供一種應(yīng)用集群管理裝置,包括接口模塊,用于接收每一個計算機(jī)節(jié)點上報的負(fù)載信息,所述負(fù)載信息包括計算機(jī)節(jié)點的節(jié)點負(fù)載和計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載;以及將生成的調(diào)度指令下發(fā)給需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點;管理模塊,用于根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載確定需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點和應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,并結(jié)合所述源計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載生成調(diào)度指令,所述調(diào)度指令指示所述目標(biāo)計算機(jī)節(jié)點、以及部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用。本發(fā)明實施例提供的應(yīng)用調(diào)度系統(tǒng)、方法和相關(guān)裝置,每一個計算機(jī)節(jié)點上報自身當(dāng)前的負(fù)載信息,負(fù)載信息包括節(jié)點負(fù)載和應(yīng)用負(fù)載兩部分內(nèi)容;應(yīng)用集群管理裝置根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載,確定需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點和應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,并結(jié)合源計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載確定需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用,從而生成調(diào)度指令下發(fā)給源計算機(jī)節(jié)點,調(diào)度指令指示目標(biāo)計算機(jī)節(jié)點和部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用。相應(yīng)的,源計算機(jī)節(jié)點根據(jù)接收到的調(diào)度指令可以執(zhí)行應(yīng)用調(diào)度。從而實現(xiàn)了在互聯(lián)網(wǎng)應(yīng)用托管環(huán)境下,根據(jù)應(yīng)用調(diào)度系統(tǒng)外部對應(yīng)用的請求以及應(yīng)用調(diào)度系統(tǒng)當(dāng)前的運行情況對源計算機(jī)節(jié)點上部署的應(yīng)用執(zhí)行實時、動態(tài)的調(diào)度,達(dá)到了對應(yīng)用的良好運行和彈性部署,提高了系統(tǒng)資源利用率。本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。


圖1為本發(fā)明實施例中,互聯(lián)網(wǎng)應(yīng)用托管環(huán)境總體結(jié)構(gòu)圖;圖2為本發(fā)明實施例中,應(yīng)用調(diào)度系統(tǒng)的一種可能的結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例中,應(yīng)用調(diào)度方法的實施流程示意圖;圖4為本發(fā)明實施例中,計算機(jī)設(shè)備的一種可能的結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例中,應(yīng)用調(diào)度裝置的一種可能的結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例中,多級分類模塊對計算機(jī)節(jié)點進(jìn)行分類的示意圖;圖7為本發(fā)明實施例中,當(dāng)前各計算機(jī)節(jié)點的節(jié)點負(fù)載數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)圖;圖8為本發(fā)明實施例中,當(dāng)前各計算機(jī)節(jié)點與各應(yīng)用之間的拓?fù)溆成潢P(guān)系二部圖;圖9為本發(fā)明實施例中,應(yīng)用調(diào)度系統(tǒng)各模塊通過交互消息實現(xiàn)應(yīng)用調(diào)度的實施流程示意圖。
具體實施例方式為了實現(xiàn)在互聯(lián)網(wǎng)應(yīng)用托管環(huán)境下,根據(jù)應(yīng)用調(diào)度系統(tǒng)外部對應(yīng)用的請求以及應(yīng)用調(diào)度系統(tǒng)當(dāng)前的運行情況對應(yīng)用執(zhí)行實時、動態(tài)的調(diào)度,以達(dá)到對應(yīng)用的良好運行和彈性部署,提高系統(tǒng)資源利用率的目的,本發(fā)明實施例提供了一種應(yīng)用調(diào)度系統(tǒng)、方法和相關(guān)
直ο以下結(jié)合說明書附圖對本發(fā)明的優(yōu)選實施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明,并且在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互組合。如圖1所示,為本發(fā)明實施例中,互聯(lián)網(wǎng)應(yīng)用托管環(huán)境總體結(jié)構(gòu)圖,包括智能路由應(yīng)用器,應(yīng)用集群管理裝置,應(yīng)用集群三部分,其中,應(yīng)用集群中包括應(yīng)用實例和計算機(jī)節(jié)點兩部分。應(yīng)用調(diào)度過程產(chǎn)生于應(yīng)用負(fù)載的增加,在應(yīng)用托管環(huán)境中,每個計算機(jī)節(jié)點上部署著多個應(yīng)用,一個應(yīng)用同時有多個應(yīng)用實例部署在不同的計算機(jī)節(jié)點上,應(yīng)用請求由智能路由應(yīng)用器按照負(fù)載均衡策略分散到不同計算機(jī)節(jié)點上。某個計算機(jī)節(jié)點上應(yīng)用請求的增加會導(dǎo)致該計算機(jī)節(jié)點的節(jié)點負(fù)載增大。所謂對應(yīng)用執(zhí)行實時、動態(tài)的調(diào)度,指的是根據(jù)應(yīng)用請求數(shù)量和系統(tǒng)資源的使用情況,將應(yīng)用動態(tài)的部署到系統(tǒng)中的一個或多個計算機(jī)節(jié)點上,并根據(jù)對應(yīng)用的訪問量決定需要運行的應(yīng)用實例的個數(shù),當(dāng)對應(yīng)用的訪問量增加時, 可以動態(tài)增加資源分配提高應(yīng)用的部署,進(jìn)行負(fù)載均衡;當(dāng)應(yīng)用的訪問量降低時,可以動態(tài)降低分配的資源減少應(yīng)用的部署。如圖2所示,為本發(fā)明實施例提供的應(yīng)用調(diào)度系統(tǒng)一種可能的結(jié)構(gòu)示意圖,包括至少兩個計算機(jī)節(jié)點和應(yīng)用集群管理裝置,其中
計算機(jī)節(jié)點10,用于生成自身當(dāng)前的負(fù)載信息并上報,該負(fù)載信息包括計算機(jī)節(jié)點的節(jié)點負(fù)載和計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載;以及根據(jù)應(yīng)用集群管理裝置 11下發(fā)的調(diào)度指令執(zhí)行相應(yīng)的應(yīng)用調(diào)度;具體實施中,計算機(jī)節(jié)點10可以是計算機(jī)設(shè)備,也可以是運行在計算機(jī)設(shè)備上, 負(fù)責(zé)執(zhí)行調(diào)度指令的邏輯模塊。計算機(jī)節(jié)點10負(fù)責(zé)向應(yīng)用集群管理裝置11上報自身當(dāng)前的負(fù)載信息。該負(fù)載信息中包括計算機(jī)節(jié)點的節(jié)點負(fù)載和計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載。應(yīng)用集群管理裝置11,用于接收每一個計算機(jī)節(jié)點10上報的負(fù)載信息,根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載確定需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點和應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,并結(jié)合該源計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載生成調(diào)度指令下發(fā)給該源計算機(jī)節(jié)點,該調(diào)度指令指示目標(biāo)計算機(jī)節(jié)點、以及部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用。具體的,應(yīng)用集群管理裝置11,用于根據(jù)預(yù)先設(shè)置的至少一個節(jié)點負(fù)載閾值,對各計算機(jī)節(jié)點10按照節(jié)點負(fù)載高低劃分隊列級別,得到至少兩個節(jié)點隊列;從最高隊列級別的節(jié)點隊列中選擇計算機(jī)節(jié)點作為源計算機(jī)節(jié)點;針對每一個源計算機(jī)節(jié)點,根據(jù)節(jié)點負(fù)載數(shù)據(jù)確定負(fù)載最低的計算機(jī)節(jié)點作為目標(biāo)計算機(jī)節(jié)點,以及根據(jù)各計算機(jī)節(jié)點與各應(yīng)用之間的拓?fù)溆成潢P(guān)系確定部署在源計算機(jī)節(jié)點上的應(yīng)用負(fù)載最高的應(yīng)用作為需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用,生成所述調(diào)度指令,所述節(jié)點負(fù)載數(shù)據(jù)根據(jù)從各計算機(jī)節(jié)點的負(fù)載報告消息中抽取出的各計算機(jī)節(jié)點的節(jié)點負(fù)載進(jìn)行更新,所述拓?fù)溆成潢P(guān)系根據(jù)從各計算機(jī)節(jié)點的負(fù)載報告消息中抽取出的各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載進(jìn)行更新。具體實施中,應(yīng)用集群管理裝置11,還用于接收源計算機(jī)節(jié)點10在根據(jù)調(diào)度指令成功執(zhí)行相應(yīng)的應(yīng)用調(diào)度之后發(fā)送的第一調(diào)度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息、 以及接收目標(biāo)計算機(jī)節(jié)點在源計算機(jī)節(jié)點上的應(yīng)用被調(diào)度到本節(jié)點之后發(fā)送的第二調(diào)度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息;從所述第一調(diào)度反饋消息和第二調(diào)度反饋消息中抽取調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的負(fù)載信息;根據(jù)調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的節(jié)點負(fù)載,更新節(jié)點負(fù)載數(shù)據(jù);根據(jù)調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載,更新源計算機(jī)節(jié)點、以及目標(biāo)計算機(jī)節(jié)點與執(zhí)行應(yīng)用調(diào)度的應(yīng)用之間的拓?fù)溆成潢P(guān)系。具體實施中,應(yīng)用調(diào)度系統(tǒng)還可以包括消息轉(zhuǎn)發(fā)裝置12,計算機(jī)節(jié)點10將生成的負(fù)載信息封裝在負(fù)載報告消息中發(fā)送給消息轉(zhuǎn)發(fā)裝置12,消息轉(zhuǎn)發(fā)裝置12負(fù)責(zé)計算機(jī)節(jié)點10與應(yīng)用集群管理裝置11之間負(fù)載報告消息的可靠交換和傳輸。消息轉(zhuǎn)發(fā)裝置12可以用于將接收到的負(fù)載報告消息進(jìn)行存儲,并提供消息讀取接口,應(yīng)用集群管理裝置11通過該消息讀取接口讀取負(fù)載報告消息;或者消息轉(zhuǎn)發(fā)裝置12將接收到的負(fù)載報告消息轉(zhuǎn)發(fā)給應(yīng)用集群管理裝置11?;谕话l(fā)明構(gòu)思,本發(fā)明實施例中還提供了一種應(yīng)用調(diào)度方法、一種計算機(jī)節(jié)點及一種應(yīng)用集群管理裝置,由于該方法、設(shè)備及相關(guān)裝置解決技術(shù)問題的原理與應(yīng)用調(diào)度系統(tǒng)相似,因此該方法、設(shè)備及相關(guān)裝置的實施可以參見系統(tǒng)的實施,重復(fù)之處不再贅述。如圖3所示,為本發(fā)明實施例提供的應(yīng)用調(diào)度方法實施流程示意圖,包括如下步驟S301、接收每一個計算機(jī)節(jié)點上報的負(fù)載信息,該負(fù)載信息包括計算機(jī)節(jié)點的節(jié)點負(fù)載和計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載;具體的,計算機(jī)節(jié)點的節(jié)點負(fù)載可以根據(jù)該計算機(jī)節(jié)點的CPU使用率確定,例如將計算機(jī)節(jié)點的CPU使用率作為節(jié)點負(fù)載;也可以根據(jù)該計算機(jī)節(jié)點的內(nèi)存使用率確定, 例如將計算機(jī)節(jié)點的內(nèi)存使用率作為節(jié)點負(fù)載;也可以結(jié)合CPU使用率和內(nèi)存使用率來確定,例如將內(nèi)存使用率與第一權(quán)值之積、CPU使用率與第二權(quán)值之積進(jìn)行求和運算作為節(jié)點負(fù)載;計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載可以根據(jù)該計算機(jī)節(jié)點上部署的每一個應(yīng)用對應(yīng)的應(yīng)用請求數(shù)量和應(yīng)用實例數(shù)量確定,具體的,計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載為單位時間內(nèi)該計算機(jī)節(jié)點上部署的該應(yīng)用對應(yīng)的應(yīng)用請求數(shù)量和應(yīng)用實例數(shù)量之比。S302、根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載確定需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點和應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,并結(jié)合該源計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載生成調(diào)度指令,該調(diào)度指令指示所述目標(biāo)計算機(jī)節(jié)點、以及部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用;具體實施中,根據(jù)預(yù)先設(shè)置的至少一個節(jié)點負(fù)載閾值,對各計算機(jī)節(jié)點按照節(jié)點負(fù)載高低劃分隊列級別,得到至少兩個節(jié)點隊列;從最高隊列級別的節(jié)點隊列中選擇計算機(jī)節(jié)點作為源計算機(jī)節(jié)點;具體的,可以按照計算機(jī)節(jié)點的節(jié)點負(fù)載由高到低的順序依次選擇計算機(jī)節(jié)點作為源計算機(jī)節(jié)點,也可以隨機(jī)從最高隊列級別的節(jié)點隊列中選擇計算機(jī)節(jié)點作為源計算機(jī)節(jié)點。針對每一個源計算機(jī)節(jié)點,根據(jù)節(jié)點負(fù)載數(shù)據(jù)確定負(fù)載最低的計算機(jī)節(jié)點作為目標(biāo)計算機(jī)節(jié)點,以及根據(jù)各計算機(jī)節(jié)點與各應(yīng)用之間的拓?fù)溆成潢P(guān)系確定部署在源計算機(jī)節(jié)點上的應(yīng)用負(fù)載最高的應(yīng)用作為需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用,生成所述調(diào)度指令,所述節(jié)點負(fù)載數(shù)據(jù)根據(jù)從各計算機(jī)節(jié)點的負(fù)載報告消息中抽取出的各計算機(jī)節(jié)點的節(jié)點負(fù)載進(jìn)行更新,所述拓?fù)溆成潢P(guān)系根據(jù)從各計算機(jī)節(jié)點的負(fù)載報告消息中抽取出的各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載進(jìn)行更新。具體的,節(jié)點負(fù)載數(shù)據(jù)為根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載維護(hù)的節(jié)點負(fù)載最小堆, 所述節(jié)點負(fù)載最小堆的根節(jié)點為節(jié)點負(fù)載最低的計算機(jī)節(jié)點。具體的,拓?fù)溆成潢P(guān)系根據(jù)各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載進(jìn)行維護(hù),所述拓?fù)溆成潢P(guān)系采用二部圖數(shù)據(jù)結(jié)構(gòu)進(jìn)行描述,所述二部圖數(shù)據(jù)結(jié)構(gòu)中的每一條邊連接一個應(yīng)用和一個計算機(jī)節(jié)點,每一條邊的權(quán)值為該條邊所連接的應(yīng)用在該條邊所連接的計算機(jī)節(jié)點上的應(yīng)用負(fù)載。也就是說,源計算機(jī)節(jié)點連接權(quán)值最大的邊對應(yīng)的應(yīng)用為部署在所述源計算機(jī)節(jié)點上的應(yīng)用負(fù)載最高的應(yīng)用。S303、將該調(diào)度指令下發(fā)給所述源計算機(jī)節(jié)點。具體實施中,還可以包括如下步驟計算機(jī)節(jié)點將生成的負(fù)載信息封裝在負(fù)載報告消息中發(fā)送給消息轉(zhuǎn)發(fā)裝置;該消息轉(zhuǎn)發(fā)裝置轉(zhuǎn)發(fā)接收到的負(fù)載報告消息。具體實施中,還可以包括接收源計算機(jī)節(jié)點在根據(jù)調(diào)度指令成功執(zhí)行相應(yīng)的應(yīng)用調(diào)度之后發(fā)送的第一調(diào)
11度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息;以及接收目標(biāo)計算機(jī)節(jié)點在源計算機(jī)節(jié)點上的應(yīng)用被調(diào)度到本節(jié)點之后發(fā)送的第二調(diào)度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息;從所述第一調(diào)度反饋消息和第二調(diào)度反饋消息中抽取調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的負(fù)載信息;根據(jù)調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的節(jié)點負(fù)載,更新節(jié)點負(fù)載數(shù)據(jù);根據(jù)調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載,更新源計算機(jī)節(jié)點、以及目標(biāo)計算機(jī)節(jié)點與執(zhí)行應(yīng)用調(diào)度的應(yīng)用之間的拓?fù)溆成潢P(guān)系。如圖4所示,為本發(fā)明實施例提供的計算機(jī)節(jié)點的一種可能的結(jié)構(gòu)示意圖,包括計算機(jī)節(jié)點10,該計算機(jī)節(jié)點代理模塊包括生成子模塊101、上報子模塊102、執(zhí)行子模塊 103,其中生成子模塊101,用于生成計算機(jī)節(jié)點當(dāng)前的負(fù)載信息,該負(fù)載信息包括計算機(jī)節(jié)點的節(jié)點負(fù)載和計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載;上報子模塊102,用于上報生成的負(fù)載信息;執(zhí)行子模塊103,用于根據(jù)接收到的調(diào)度指令執(zhí)行相應(yīng)的應(yīng)用調(diào)度,所述調(diào)度指令指示應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點、以及部署在當(dāng)前計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用。如圖5所示,為本發(fā)明實施例提供的應(yīng)用集群管理裝置一種可能的結(jié)構(gòu)示意圖, 包括接口模塊50,用于接收每一個計算機(jī)節(jié)點上報的負(fù)載信息,所述負(fù)載信息包括計算機(jī)節(jié)點的節(jié)點負(fù)載和計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載;以及將生成的調(diào)度指令下發(fā)給需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點;管理模塊51,用于根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載確定需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點和應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,并結(jié)合所述源計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載生成調(diào)度指令,所述調(diào)度指令指示所述目標(biāo)計算機(jī)節(jié)點、以及部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用。具體實施中,計算機(jī)節(jié)點將負(fù)載信息封裝在負(fù)載報告消息中進(jìn)行上報;管理模塊 51的一種可能結(jié)構(gòu),包括多級分類子模塊511、調(diào)度執(zhí)行子模塊512、選擇子模塊513和拓?fù)溆成渥幽K514,其中多級分類子模塊511,用于根據(jù)每一個計算機(jī)節(jié)點上報的負(fù)載報告消息,及預(yù)先設(shè)置的至少一個節(jié)點負(fù)載閾值,對各計算機(jī)節(jié)點按照節(jié)點負(fù)載高低劃分隊列級別,得到至少兩個節(jié)點隊列;并按照隊列級別將各計算機(jī)節(jié)點的負(fù)載報告消息發(fā)送給所述調(diào)度執(zhí)行子模塊 512 ;具體的,多級分類子模塊511,可以預(yù)先設(shè)置一個閾值,在接收到每一個計算機(jī)節(jié)點上報的負(fù)載報告消息后,并從該負(fù)載報告消息中提取節(jié)點負(fù)載,根據(jù)預(yù)先設(shè)置的閾值將節(jié)點負(fù)載高于閾值的計算機(jī)節(jié)點根據(jù)接收時間或者節(jié)點負(fù)載的高低進(jìn)行排列后形成高負(fù)載節(jié)點隊列;將節(jié)點負(fù)載低于閾值的計算機(jī)節(jié)點根據(jù)接收時間或者節(jié)點負(fù)載的高低進(jìn)行排列后形成低負(fù)載節(jié)點隊列。
如圖6所示,為多級分類子模塊511根據(jù)節(jié)點負(fù)載信息對計算機(jī)節(jié)點進(jìn)行分類的示意圖。多級分類子模塊511還可以預(yù)先設(shè)置兩個閾值,假設(shè)分別為第一閾值和第二閾值, 第一閾值高于第二閾值。根據(jù)設(shè)置的兩個閾值,將節(jié)點負(fù)載高于第一閾值的節(jié)點根據(jù)接收時間或者節(jié)點負(fù)載的高低進(jìn)行排列后形成高負(fù)載節(jié)點隊列;將節(jié)點負(fù)載低于第一閾值高于第二閾值的節(jié)點根據(jù)接收時間或者節(jié)點負(fù)載的高低進(jìn)行排列后形成低負(fù)載節(jié)點隊列;將節(jié)點負(fù)載低于第二閾值的節(jié)點根據(jù)接收時間或者節(jié)點負(fù)載的高低進(jìn)行排列后形成普通節(jié)點隊列。較佳的,多級分類子模塊511,可以優(yōu)先將高負(fù)載節(jié)點隊列發(fā)送給調(diào)度執(zhí)行子模塊 512進(jìn)行處理。調(diào)度執(zhí)行子模塊512,用于接收各計算機(jī)節(jié)點的負(fù)載報告消息,并轉(zhuǎn)發(fā)給所述選擇子模塊513和拓?fù)溆成渥幽K514 ;從最高隊列級別的節(jié)點隊列中一次選擇需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點;針對每一個源計算機(jī)節(jié)點,向選擇子模塊513請求節(jié)點負(fù)載最低的計算機(jī)節(jié)點、以及向拓?fù)溆成渥幽K514請求部署在所述源計算機(jī)節(jié)點上的應(yīng)用負(fù)載最高的應(yīng)用,根據(jù)選擇子模塊513的反饋確定應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,根據(jù)拓?fù)溆成渥幽K514的反饋確定部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用,生成所述調(diào)度指令。具體的,調(diào)度執(zhí)行子模塊512,從接收到的高負(fù)載節(jié)點隊列中,根據(jù)調(diào)度策略,選擇需要執(zhí)行應(yīng)用調(diào)度的計算機(jī)節(jié)點作為源計算機(jī)節(jié)點,并通過查詢選擇子模塊513和拓?fù)溆成渥幽K514,分別確定當(dāng)前節(jié)點負(fù)載最低的計算機(jī)節(jié)點作為目標(biāo)計算機(jī)節(jié)點和部署在源計算機(jī)節(jié)點上的應(yīng)用負(fù)載最高的應(yīng)用,生成將部署在該源計算機(jī)節(jié)點上的應(yīng)用負(fù)載最高的應(yīng)用調(diào)度到目標(biāo)計算機(jī)節(jié)點上運行的調(diào)度指令。選擇子模塊513,用于從調(diào)度執(zhí)行子模塊512轉(zhuǎn)發(fā)的各計算機(jī)節(jié)點的負(fù)載報告消息中抽取各計算機(jī)節(jié)點的節(jié)點負(fù)載,更新本地存儲的節(jié)點負(fù)載數(shù)據(jù);以及接收到所述調(diào)度執(zhí)行子模塊512對節(jié)點負(fù)載最低的計算機(jī)節(jié)點的請求之后,根據(jù)節(jié)點負(fù)載數(shù)據(jù)向所述調(diào)度執(zhí)行子模塊512反饋相應(yīng)的計算機(jī)節(jié)點;具體的,節(jié)點負(fù)載數(shù)據(jù)由稱為“堆”的數(shù)據(jù)結(jié)構(gòu)組成。具體實施中,可以包括節(jié)點選擇模塊和應(yīng)用選擇模塊兩種,節(jié)點選擇模塊可以快速的選擇當(dāng)前負(fù)載最大、最小的計算機(jī)節(jié)點;應(yīng)用選擇模塊可以快速的選擇當(dāng)前每個計算機(jī)節(jié)點上部署的應(yīng)用的應(yīng)用負(fù)載最大、 最小的應(yīng)用。節(jié)點選擇模塊和應(yīng)用選擇模塊都由“堆”組成,不同在于堆中節(jié)點的信息不同, 節(jié)點選擇模塊是當(dāng)前各計算機(jī)節(jié)點的節(jié)點負(fù)載數(shù)值,應(yīng)用選擇模塊是當(dāng)前各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載數(shù)值。選擇子模塊513抽取負(fù)載報告消息中各計算機(jī)節(jié)點的節(jié)點負(fù)載和當(dāng)前各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載的數(shù)值,根據(jù)負(fù)載報告消息來更新和維護(hù)“堆”??梢酝ㄟ^節(jié)點選擇模塊快速確定當(dāng)前節(jié)點負(fù)載最小的計算機(jī)節(jié)點和節(jié)點負(fù)載最大的計算機(jī)節(jié)點或者通過應(yīng)用負(fù)載模塊快速判斷當(dāng)前計算機(jī)節(jié)點上部署的每一應(yīng)用的應(yīng)用負(fù)載最小的計算機(jī)節(jié)點和應(yīng)用負(fù)載最大的計算機(jī)節(jié)點。具體的,如圖7所示,為當(dāng)前各計算機(jī)節(jié)點的節(jié)點負(fù)載數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)圖,各節(jié)點數(shù)據(jù)分別為1、3、5、7和9的數(shù)據(jù)最小堆的數(shù)據(jù)結(jié)構(gòu),根節(jié)點為所有節(jié)點中節(jié)點數(shù)據(jù)最小的節(jié)點。在接收到調(diào)度執(zhí)行子模塊512對節(jié)點負(fù)載最低的計算機(jī)節(jié)點的請求之后,將節(jié)點負(fù)載最小堆的根節(jié)點對應(yīng)的計算機(jī)節(jié)點發(fā)送給調(diào)度執(zhí)行子模塊512。
拓?fù)溆成渥幽K514,用于從調(diào)度執(zhí)行子模塊512轉(zhuǎn)發(fā)的各計算機(jī)節(jié)點的負(fù)載報告消息中抽取各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載,更新本地存儲的各計算機(jī)節(jié)點與各應(yīng)用之間的拓?fù)溆成潢P(guān)系;在接收到調(diào)度執(zhí)行子模塊512對部署在源計算機(jī)節(jié)點上的應(yīng)用負(fù)載最高的應(yīng)用的請求之后,根據(jù)拓?fù)溆成潢P(guān)系向所述調(diào)度執(zhí)行子模塊512反饋相應(yīng)的應(yīng)用。具體的,拓?fù)溆成渥幽K514從接收到的負(fù)載報告消息中抽取各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載,更新維護(hù)的各計算機(jī)節(jié)點與各應(yīng)用之間的拓?fù)溆成潢P(guān)系。拓?fù)溆成渥幽K514通過放置在內(nèi)存中的二部圖數(shù)據(jù)結(jié)構(gòu)來描述,如圖8所示,為各計算機(jī)節(jié)點與各應(yīng)用之間的拓?fù)溆成潢P(guān)系二部圖數(shù)據(jù)結(jié)構(gòu)示意圖,二部圖數(shù)據(jù)結(jié)構(gòu)中的每一條邊連接一個應(yīng)用和一個計算機(jī)節(jié)點,每一條邊的權(quán)值為該條邊所連接的應(yīng)用在該條邊所連接的計算機(jī)節(jié)點上的應(yīng)用負(fù)載。每個計算機(jī)節(jié)點上連接的邊的權(quán)值的和是這個節(jié)點的總負(fù)載, 每個應(yīng)用上連接的邊的權(quán)值的和是這個應(yīng)用的總負(fù)載。如圖8所示,分別為應(yīng)用1、應(yīng)用2、
應(yīng)用3、應(yīng)用4,......應(yīng)用M在計算機(jī)節(jié)點1、計算機(jī)節(jié)點2.......計算機(jī)節(jié)點N上的部
署情況,例如,對于應(yīng)用2來說,有0. 3個應(yīng)用實例部署在計算機(jī)節(jié)點1上,有0. 2個應(yīng)用實例部署在計算機(jī)節(jié)點2上,應(yīng)用2的應(yīng)用負(fù)載為0. 5 ;對于計算機(jī)節(jié)點2來說,計算機(jī)節(jié)點2 上部署了應(yīng)用2的0. 3個應(yīng)用實例,以及部署了應(yīng)用3的0. 4個應(yīng)用實例,計算機(jī)節(jié)點2的節(jié)點負(fù)載為0. 6。通過拓?fù)溆成渥幽K514可以快速查看各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載情況。另外,具體實施中,計算機(jī)節(jié)點將負(fù)載信息封裝在負(fù)載報告消息中進(jìn)行上報;管理模塊可以包括多級分類子模塊511,用于根據(jù)每一個計算機(jī)節(jié)點上報的負(fù)載報告消息,及預(yù)先設(shè)置的至少一個節(jié)點負(fù)載閾值,對各計算機(jī)節(jié)點按照節(jié)點負(fù)載高低劃分隊列級別,得到至少兩個節(jié)點隊列;并將最高隊列級別的節(jié)點隊列中的計算機(jī)節(jié)點的負(fù)載報告消息上報給調(diào)度執(zhí)行子模塊512,并將各計算機(jī)節(jié)點的負(fù)載報告消息轉(zhuǎn)發(fā)給選擇子模塊513和拓?fù)溆成渥幽K514;調(diào)度執(zhí)行子模塊512,用于從最高隊列級別的節(jié)點隊列中選擇需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點;針對每一個源計算機(jī)節(jié)點,向選擇子模塊513請求應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點、以及向拓?fù)溆成渥幽K514請求部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用,根據(jù)選擇子模塊513的反饋確定應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,根據(jù)拓?fù)溆成渥幽K514的反饋確定需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用,生成所述調(diào)度指令;選擇子模塊513,用于從多級分類子模塊511轉(zhuǎn)發(fā)的各計算機(jī)節(jié)點的負(fù)載報告消息中抽取各計算機(jī)節(jié)點的節(jié)點負(fù)載,更新本地存儲的節(jié)點負(fù)載數(shù)據(jù);以及接收到所述調(diào)度執(zhí)行子模塊512對目標(biāo)計算機(jī)節(jié)點的請求之后,根據(jù)節(jié)點負(fù)載數(shù)據(jù)向調(diào)度執(zhí)行子模塊512 反饋節(jié)點負(fù)載最低的計算機(jī)節(jié)點;拓?fù)溆成渥幽K514,用于從多級分類子模塊511轉(zhuǎn)發(fā)的各計算機(jī)節(jié)點的負(fù)載報告消息中抽取各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載,更新本地存儲的各計算機(jī)節(jié)點與各應(yīng)用之間的拓?fù)溆成潢P(guān)系;在接收到調(diào)度執(zhí)行子模塊512對需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用的請求之后,根據(jù)拓?fù)溆成潢P(guān)系向所述調(diào)度執(zhí)行子模塊512反饋部署在源計算機(jī)節(jié)點上的應(yīng)用負(fù)載最高的應(yīng)用。具體實施中,調(diào)度執(zhí)行子模塊512,還用于接收源計算機(jī)節(jié)點根據(jù)調(diào)度指令成功執(zhí)行相應(yīng)的應(yīng)用調(diào)度之后發(fā)送的第一調(diào)度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息;以及接收目標(biāo)計算機(jī)節(jié)點在源計算機(jī)節(jié)點上的應(yīng)用被調(diào)度到本節(jié)點之后發(fā)送的第二調(diào)度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息;從所述第一調(diào)度反饋消息和第二調(diào)度反饋消息中抽取調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的負(fù)載信息,并攜帶在拓?fù)涓孪⒅邪l(fā)送給所述選擇子模塊513和拓?fù)溆成渥幽K514 ;選擇子模塊513,還用于從所述拓?fù)涓孪⒅谐槿∷鲈从嬎銠C(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的節(jié)點負(fù)載,更新本地存儲的節(jié)點負(fù)載數(shù)據(jù);拓?fù)溆成渥幽K514,還用于從所述拓?fù)涓孪⒅谐槿∷鲈从嬎銠C(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載,更新本地存儲的源計算機(jī)節(jié)點、以及目標(biāo)計算機(jī)節(jié)點與執(zhí)行應(yīng)用調(diào)度的應(yīng)用之間的拓?fù)溆成潢P(guān)系。為了更好的理解本發(fā)明實施例,下面通過具體的實施例對本發(fā)明實施例的實施過程進(jìn)行說明,為了便于描述,本發(fā)明實施例中,通過調(diào)度執(zhí)行子模塊將各計算機(jī)節(jié)點的負(fù)載信息轉(zhuǎn)發(fā)給選擇模塊和拓?fù)溆成淠K,如圖9所示,應(yīng)用調(diào)度過程包括如下步驟S901、計算機(jī)節(jié)點將包括自身當(dāng)前的負(fù)載信息的負(fù)載報告消息發(fā)送給接口模塊;具體的,每個計算機(jī)節(jié)點根據(jù)自身當(dāng)前的節(jié)點負(fù)載和該計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載,生成負(fù)載信息并封裝在負(fù)載報告消息中發(fā)送給接口模塊。較佳的,計算機(jī)節(jié)點還可以將負(fù)載報告消息發(fā)送給消息轉(zhuǎn)發(fā)裝置,再由消息轉(zhuǎn)發(fā)裝置將負(fù)載報告消息轉(zhuǎn)發(fā)給接口模塊。S902、接口模塊將接收到的負(fù)載報告消息發(fā)送給多級分類子模塊;S903、多級分類子模塊根據(jù)接收到的負(fù)載報告消息中的負(fù)載信息對計算機(jī)節(jié)點進(jìn)行分類;具體的,多級分類子模塊可以根據(jù)預(yù)先設(shè)置的閾值及接收到的負(fù)載報告消息,將節(jié)點負(fù)載超過預(yù)先設(shè)置的閾值的計算機(jī)節(jié)點劃分為高負(fù)載節(jié)點隊列、將節(jié)點負(fù)載低于預(yù)先設(shè)置的閾值的計算機(jī)節(jié)點劃分為低負(fù)載節(jié)點隊列;較佳的,還可以預(yù)先設(shè)置一個小于上述閾值的第二閾值,將節(jié)點負(fù)載低于該第二閾值的計算機(jī)節(jié)點劃分為普通負(fù)載節(jié)點隊列。S904、將分類后的各計算機(jī)節(jié)點的負(fù)載報告消息發(fā)送給調(diào)度執(zhí)行子模塊;較佳的,多類分級子模塊可以優(yōu)先將分類后的高負(fù)載節(jié)點隊列的報告消息發(fā)送給調(diào)度執(zhí)行子模塊。S905、調(diào)度執(zhí)行子模塊觸發(fā)應(yīng)用調(diào)度,從高負(fù)載節(jié)點隊列中選擇需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點;S906、調(diào)度執(zhí)行子模塊分別將各計算機(jī)節(jié)點的負(fù)載報告消息發(fā)送給選擇子模塊和拓?fù)溆成渥幽K;S907、選擇子模塊更新維護(hù)的節(jié)點負(fù)載數(shù)據(jù);拓?fù)溆成渥幽K更新維護(hù)的各計算機(jī)節(jié)點與各應(yīng)用之間的拓?fù)溆成潢P(guān)系及映射關(guān)系中當(dāng)前應(yīng)用在所述計算機(jī)節(jié)點上的應(yīng)用負(fù)載;S908、調(diào)度執(zhí)行子模塊向選擇模塊請求當(dāng)前負(fù)載最低的計算機(jī)節(jié)點;S909、選擇子模塊向調(diào)度模塊返回當(dāng)前負(fù)載最低的計算機(jī)節(jié)點;S910、調(diào)度執(zhí)行子模塊向拓?fù)溆成渥幽K發(fā)送請求源計算機(jī)節(jié)點上部署的應(yīng)用負(fù)載最高的應(yīng)用;S911、拓?fù)溆成渥幽K向調(diào)度模塊返回源計算機(jī)節(jié)點上部署的應(yīng)用負(fù)載最高的應(yīng)用;S912、調(diào)度執(zhí)行子模塊生成調(diào)度指令;具體的,調(diào)度執(zhí)行子模塊根據(jù)確定的源計算機(jī)節(jié)點、選擇模塊的返回的節(jié)點負(fù)載最低的計算機(jī)節(jié)點確定目標(biāo)計算機(jī)節(jié)點及拓?fù)溆成淠K的返回的確定需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用,生成源計算機(jī)節(jié)點上應(yīng)用負(fù)載高的應(yīng)用調(diào)度到目標(biāo)計算機(jī)節(jié)點上執(zhí)行的調(diào)度指令。S913、調(diào)度執(zhí)行子模塊將生成的調(diào)度指令發(fā)送給接口模塊;S914、接口模塊將調(diào)度指令發(fā)送給源計算機(jī)節(jié)點;S915、源計算機(jī)節(jié)點根據(jù)接收到的調(diào)度指令執(zhí)行相應(yīng)的應(yīng)用調(diào)度;S916、源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點向接口模塊發(fā)送調(diào)度反饋消息;具體的,源計算機(jī)節(jié)點根據(jù)調(diào)度指令成功執(zhí)行相應(yīng)的應(yīng)用調(diào)度之后發(fā)送的第一調(diào)度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息;目標(biāo)計算機(jī)節(jié)點在源計算機(jī)節(jié)點上的應(yīng)用被調(diào)度到本節(jié)點之后發(fā)送的第二調(diào)度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息;S917、接口模塊向調(diào)度執(zhí)行模塊轉(zhuǎn)發(fā)調(diào)度反饋消息;S918、調(diào)度執(zhí)行子模塊分別向選擇子模塊和拓?fù)溆成渥幽K發(fā)送拓?fù)涓孪?;具體的,調(diào)度執(zhí)行子模塊分別從第一調(diào)度反饋消息和第二調(diào)度反饋消息中抽取調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的負(fù)載信息攜帶在拓?fù)涓孪⒅蟹謩e發(fā)送給選擇子模塊和拓?fù)溆成渥幽KS919、選擇子模塊根據(jù)調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的節(jié)點負(fù)載,更新節(jié)點負(fù)載數(shù)據(jù);S920、拓?fù)溆成渥幽K根據(jù)調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載,更新源計算機(jī)節(jié)點、以及目標(biāo)計算機(jī)節(jié)點與執(zhí)行應(yīng)用調(diào)度的應(yīng)用之間的拓?fù)溆成潢P(guān)系。本發(fā)明實施例提供的一種應(yīng)用調(diào)度系統(tǒng)、方法和相關(guān)裝置,每一個計算機(jī)節(jié)點上報自身當(dāng)前的負(fù)載信息,負(fù)載信息包括節(jié)點負(fù)載和應(yīng)用負(fù)載兩部分內(nèi)容;應(yīng)用集群管理裝置根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載,確定需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點和應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,并結(jié)合源計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載確定需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用,從而生成調(diào)度指令下發(fā)給源計算機(jī)節(jié)點,調(diào)度指令指示目標(biāo)計算機(jī)節(jié)點和部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用。相應(yīng)的,源計算機(jī)節(jié)點根據(jù)接收到的調(diào)度指令可以執(zhí)行應(yīng)用調(diào)度。從而實現(xiàn)了在互聯(lián)網(wǎng)應(yīng)用托管環(huán)境下,根據(jù)應(yīng)用調(diào)度系統(tǒng)外部對應(yīng)用的請求以及應(yīng)用調(diào)度系統(tǒng)當(dāng)前的運行情況對源計算機(jī)節(jié)點上部署的應(yīng)用執(zhí)行實時、動態(tài)的調(diào)度,達(dá)到了對應(yīng)用的良好運行和彈性部署,提高了系統(tǒng)資源利用率。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
1權(quán)利要求
1.一種應(yīng)用調(diào)度系統(tǒng),其特征在于,包括至少兩個計算機(jī)節(jié)點和應(yīng)用集群管理裝置,其中所述計算機(jī)節(jié)點,用于生成自身當(dāng)前的負(fù)載信息并上報,所述負(fù)載信息包括計算機(jī)節(jié)點的節(jié)點負(fù)載和計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載;以及根據(jù)所述應(yīng)用集群管理裝置下發(fā)的調(diào)度指令執(zhí)行相應(yīng)的應(yīng)用調(diào)度;所述應(yīng)用集群管理裝置,用于接收每一個計算機(jī)節(jié)點上報的負(fù)載信息,根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載確定需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點和應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,并結(jié)合所述源計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載生成調(diào)度指令下發(fā)給所述源計算機(jī)節(jié)點,所述調(diào)度指令指示所述目標(biāo)計算機(jī)節(jié)點、以及部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括消息轉(zhuǎn)發(fā)裝置,其中所述計算機(jī)節(jié)點,具體用于將生成的負(fù)載信息封裝在負(fù)載報告消息中發(fā)送給所述消息轉(zhuǎn)發(fā)裝置;所述消息轉(zhuǎn)發(fā)裝置,用于將接收到的負(fù)載報告消息轉(zhuǎn)發(fā)給所述應(yīng)用集群管理裝置。
3.如權(quán)利要求1或2所述的系統(tǒng),其特征在于,所述應(yīng)用集群管理裝置,具體用于根據(jù)預(yù)先設(shè)置的至少一個節(jié)點負(fù)載閾值,對各計算機(jī)節(jié)點按照節(jié)點負(fù)載高低劃分隊列級別,得到至少兩個節(jié)點隊列;從最高隊列級別的節(jié)點隊列中選擇計算機(jī)節(jié)點作為源計算機(jī)節(jié)點;針對每一個源計算機(jī)節(jié)點,根據(jù)節(jié)點負(fù)載數(shù)據(jù)確定負(fù)載最低的計算機(jī)節(jié)點作為目標(biāo)計算機(jī)節(jié)點,以及根據(jù)各計算機(jī)節(jié)點與各應(yīng)用之間的拓?fù)溆成潢P(guān)系確定部署在源計算機(jī)節(jié)點上的應(yīng)用負(fù)載最高的應(yīng)用作為需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用,生成所述調(diào)度指令,所述節(jié)點負(fù)載數(shù)據(jù)根據(jù)從各計算機(jī)節(jié)點的負(fù)載報告消息中抽取出的各計算機(jī)節(jié)點的節(jié)點負(fù)載進(jìn)行更新,所述拓?fù)溆成潢P(guān)系根據(jù)從各計算機(jī)節(jié)點的負(fù)載報告消息中抽取出的各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載進(jìn)行更新。
4.如權(quán)利要求1或2所述的系統(tǒng),其特征在于,所述應(yīng)用集群管理裝置,還用于接收源計算機(jī)節(jié)點在根據(jù)調(diào)度指令成功執(zhí)行相應(yīng)的應(yīng)用調(diào)度之后發(fā)送的第一調(diào)度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息;以及接收目標(biāo)計算機(jī)節(jié)點在源計算機(jī)節(jié)點上的應(yīng)用被調(diào)度到本節(jié)點之后發(fā)送的第二調(diào)度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息;從所述第一調(diào)度反饋消息和第二調(diào)度反饋消息中抽取調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的負(fù)載信息;根據(jù)調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的節(jié)點負(fù)載,更新所述節(jié)點負(fù)載數(shù)據(jù);根據(jù)調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載,更新源計算機(jī)節(jié)點、 以及目標(biāo)計算機(jī)節(jié)點與執(zhí)行應(yīng)用調(diào)度的應(yīng)用之間的拓?fù)溆成潢P(guān)系。
5.一種應(yīng)用調(diào)度方法,其特征在于,包括接收每一個計算機(jī)節(jié)點上報的負(fù)載信息,所述負(fù)載信息包括計算機(jī)節(jié)點的節(jié)點負(fù)載和計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載;根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載確定需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點和應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,并結(jié)合所述源計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載生成調(diào)度指令,所述調(diào)度指令指示所述目標(biāo)計算機(jī)節(jié)點、以及部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用;將生成的調(diào)度指令下發(fā)給所述源計算機(jī)節(jié)點。
6.如權(quán)利要求5所述的方法,其特征在于,還包括所述計算機(jī)節(jié)點將生成的負(fù)載信息封裝在負(fù)載報告消息中發(fā)送給消息轉(zhuǎn)發(fā)裝置;所述消息轉(zhuǎn)發(fā)裝置轉(zhuǎn)發(fā)所述接收到的負(fù)載報告消息。
7.如權(quán)利要求6所述的方法,其特征在于,所述根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載確定需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點和應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,并結(jié)合所述源計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載生成調(diào)度指令,具體包括根據(jù)預(yù)先設(shè)置的至少一個節(jié)點負(fù)載閾值,對各計算機(jī)節(jié)點按照節(jié)點負(fù)載高低劃分隊列級別,得到至少兩個節(jié)點隊列;從最高隊列級別的節(jié)點隊列中選擇計算機(jī)節(jié)點作為源計算機(jī)節(jié)點;針對每一個源計算機(jī)節(jié)點,根據(jù)節(jié)點負(fù)載數(shù)據(jù)確定負(fù)載最低的計算機(jī)節(jié)點作為目標(biāo)計算機(jī)節(jié)點,以及根據(jù)各計算機(jī)節(jié)點與各應(yīng)用之間的拓?fù)溆成潢P(guān)系確定部署在源計算機(jī)節(jié)點上的應(yīng)用負(fù)載最高的應(yīng)用作為需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用,生成所述調(diào)度指令,所述節(jié)點負(fù)載數(shù)據(jù)根據(jù)從各計算機(jī)節(jié)點的負(fù)載報告消息中抽取出的各計算機(jī)節(jié)點的節(jié)點負(fù)載進(jìn)行更新,所述拓?fù)溆成潢P(guān)系根據(jù)從各計算機(jī)節(jié)點的負(fù)載報告消息中抽取出的各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載進(jìn)行更新。
8.如權(quán)利要求6所述的方法,其特征在于,還包括接收源計算機(jī)節(jié)點在根據(jù)調(diào)度指令成功執(zhí)行相應(yīng)的應(yīng)用調(diào)度之后發(fā)送的第一調(diào)度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息;以及接收目標(biāo)計算機(jī)節(jié)點在源計算機(jī)節(jié)點上的應(yīng)用被調(diào)度到本節(jié)點之后發(fā)送的第二調(diào)度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息;從所述第一調(diào)度反饋消息和第二調(diào)度反饋消息中抽取調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的負(fù)載信息;根據(jù)調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的節(jié)點負(fù)載,更新所述節(jié)點負(fù)載數(shù)據(jù);根據(jù)調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載,更新源計算機(jī)節(jié)點、以及目標(biāo)計算機(jī)節(jié)點與執(zhí)行應(yīng)用調(diào)度的應(yīng)用之間的拓?fù)溆成潢P(guān)系。
9.如權(quán)利要求6所述的方法,其特征在于,所述節(jié)點負(fù)載數(shù)據(jù)為根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載維護(hù)的節(jié)點負(fù)載最小堆,所述節(jié)點負(fù)載最小堆的根節(jié)點為節(jié)點負(fù)載最低的計算機(jī)節(jié)點。
10.如權(quán)利要求6所述的方法,其特征在于,所述拓?fù)溆成潢P(guān)系根據(jù)各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載進(jìn)行維護(hù),所述拓?fù)溆成潢P(guān)系采用二部圖數(shù)據(jù)結(jié)構(gòu)進(jìn)行描述, 所述二部圖數(shù)據(jù)結(jié)構(gòu)中的每一條邊連接一個應(yīng)用和一個計算機(jī)節(jié)點,每一條邊的權(quán)值為該條邊所連接的應(yīng)用在該條邊所連接的計算機(jī)節(jié)點上的應(yīng)用負(fù)載。
11.如權(quán)利要求5所述的方法,其特征在于,所述計算機(jī)節(jié)點的節(jié)點負(fù)載根據(jù)所述計算機(jī)節(jié)點的CPU使用率和/或內(nèi)存使用率確定;所述計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載根據(jù)計算機(jī)節(jié)點上部署的每一個應(yīng)用對應(yīng)的應(yīng)用請求數(shù)量和應(yīng)用實例數(shù)量確定。
12.—種計算機(jī)節(jié)點,其特征在于,包括計算機(jī)節(jié)點代理模塊,所述計算機(jī)節(jié)點代理模塊包括生成子模塊、上報子模塊、執(zhí)行子模塊,其中所述生成子模塊,用于生成計算機(jī)節(jié)點當(dāng)前的負(fù)載信息,所述負(fù)載信息包括計算機(jī)節(jié)點的節(jié)點負(fù)載和計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載;所述上報子模塊,用于上報生成的負(fù)載信息;所述執(zhí)行子模塊,用于根據(jù)接收到的調(diào)度指令執(zhí)行相應(yīng)的應(yīng)用調(diào)度,所述調(diào)度指令指示應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點、以及部署在當(dāng)前計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用。
13.一種應(yīng)用集群管理裝置,其特征在于,包括接口模塊,用于接收每一個計算機(jī)節(jié)點上報的負(fù)載信息,所述負(fù)載信息包括計算機(jī)節(jié)點的節(jié)點負(fù)載和計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載;以及將生成的調(diào)度指令下發(fā)給需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點;管理模塊,用于根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載確定需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點和應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,并結(jié)合所述源計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載生成調(diào)度指令,所述調(diào)度指令指示所述目標(biāo)計算機(jī)節(jié)點、以及部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用。
14.如權(quán)利要求13所述的裝置,其特征在于,所述計算機(jī)節(jié)點將負(fù)載信息封裝在負(fù)載報告消息中進(jìn)行上報;以及所述管理模塊包括多級分類子模塊、調(diào)度執(zhí)行子模塊、選擇子模塊和拓?fù)溆成渥幽K, 其中所述多級分類子模塊,用于根據(jù)每一個計算機(jī)節(jié)點上報的負(fù)載報告消息,及預(yù)先設(shè)置的至少一個節(jié)點負(fù)載閾值,對各計算機(jī)節(jié)點按照節(jié)點負(fù)載高低劃分隊列級別,得到至少兩個節(jié)點隊列;并按照隊列級別將各計算機(jī)節(jié)點的負(fù)載報告消息發(fā)送給所述調(diào)度執(zhí)行子模塊;所述調(diào)度執(zhí)行子模塊,用于接收各計算機(jī)節(jié)點的負(fù)載報告消息,并轉(zhuǎn)發(fā)給所述選擇子模塊和拓?fù)溆成渥幽K;從最高隊列級別的節(jié)點隊列中選擇需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點;針對每一個源計算機(jī)節(jié)點,向所述選擇子模塊請求節(jié)點負(fù)載最低的計算機(jī)節(jié)點、以及向所述拓?fù)溆成渥幽K請求部署在所述源計算機(jī)節(jié)點上的應(yīng)用負(fù)載最高的應(yīng)用;根據(jù)所述選擇子模塊的反饋確定應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,根據(jù)所述拓?fù)溆成渥幽K的反饋確定部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用,生成所述調(diào)度指令;所述選擇子模塊,用于從所述調(diào)度執(zhí)行子模塊轉(zhuǎn)發(fā)的各計算機(jī)節(jié)點的負(fù)載報告消息中抽取各計算機(jī)節(jié)點的節(jié)點負(fù)載,更新本地存儲的節(jié)點負(fù)載數(shù)據(jù);以及接收到所述調(diào)度執(zhí)行模塊對節(jié)點負(fù)載最低的計算機(jī)節(jié)點的請求之后,根據(jù)節(jié)點負(fù)載數(shù)據(jù)向所述調(diào)度執(zhí)行模塊反饋相應(yīng)的計算機(jī)節(jié)點;所述拓?fù)溆成淠K,用于所述調(diào)度執(zhí)行模塊轉(zhuǎn)發(fā)的各計算機(jī)節(jié)點的負(fù)載報告消息中抽取各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載,更新本地存儲的各計算機(jī)節(jié)點與各應(yīng)用之間的拓?fù)溆成潢P(guān)系;在接收到所述調(diào)度執(zhí)行子模塊對部署在源計算機(jī)節(jié)點上的應(yīng)用負(fù)載最高的應(yīng)用的請求之后,根據(jù)拓?fù)溆成潢P(guān)系向所述調(diào)度執(zhí)行子模塊反饋相應(yīng)的應(yīng)用。
15.如權(quán)利要求13所述的裝置,其特征在于,所述計算機(jī)節(jié)點將負(fù)載信息封裝在負(fù)載報告消息中進(jìn)行上報;以及所述管理模塊包括多級分類子模塊、調(diào)度執(zhí)行子模塊、選擇子模塊和拓?fù)溆成渥幽K, 其中所述多級分類子模塊,用于根據(jù)每一個計算機(jī)節(jié)點上報的負(fù)載報告消息,及預(yù)先設(shè)置的至少一個節(jié)點負(fù)載閾值,對各計算機(jī)節(jié)點按照節(jié)點負(fù)載高低劃分隊列級別,得到至少兩個節(jié)點隊列;將最高隊列級別的節(jié)點隊列中的計算機(jī)節(jié)點的負(fù)載報告消息上報給所述調(diào)度執(zhí)行子模塊,并將各計算機(jī)節(jié)點的負(fù)載報告消息轉(zhuǎn)發(fā)給所述選擇子模塊和拓?fù)溆成渥幽K;所述調(diào)度執(zhí)行子模塊,用于從最高隊列級別的節(jié)點隊列中選擇需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點;針對每一個源計算機(jī)節(jié)點,向所述選擇子模塊請求應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點、以及向所述拓?fù)溆成渥幽K請求部署在源計算機(jī)節(jié)點上的需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用;根據(jù)所述選擇子模塊的反饋確定應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,根據(jù)所述拓?fù)溆成渥幽K的反饋確定需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用,生成所述調(diào)度指令;所述選擇子模塊,用于從多級分類子模塊轉(zhuǎn)發(fā)的各計算機(jī)節(jié)點的負(fù)載報告消息中抽取各計算機(jī)節(jié)點的節(jié)點負(fù)載,更新本地存儲的節(jié)點負(fù)載數(shù)據(jù);以及接收到所述調(diào)度執(zhí)行子模塊對目標(biāo)計算機(jī)節(jié)點的請求之后,根據(jù)節(jié)點負(fù)載數(shù)據(jù)向所述調(diào)度執(zhí)行子模塊反饋節(jié)點負(fù)載最低的計算機(jī)節(jié)點;所述拓?fù)溆成渥幽K,用于從多級分類子模塊轉(zhuǎn)發(fā)的各計算機(jī)節(jié)點的負(fù)載報告消息中抽取各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載,更新本地存儲的各計算機(jī)節(jié)點與各應(yīng)用之間的拓?fù)溆成潢P(guān)系;在接收到所述調(diào)度執(zhí)行子模塊對需要執(zhí)行應(yīng)用調(diào)度的應(yīng)用的請求之后,根據(jù)拓?fù)溆成潢P(guān)系向所述調(diào)度執(zhí)行子模塊反饋部署在源計算機(jī)節(jié)點上的應(yīng)用負(fù)載最高的應(yīng)用。
16.如權(quán)利要求14或15所述的裝置,其特征在于,所述調(diào)度執(zhí)行子模塊,還用于接收源計算機(jī)節(jié)點在根據(jù)調(diào)度指令成功執(zhí)行相應(yīng)的應(yīng)用調(diào)度之后發(fā)送的第一調(diào)度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息;以及接收目標(biāo)計算機(jī)節(jié)點在源計算機(jī)節(jié)點上的應(yīng)用被調(diào)度到本節(jié)點之后發(fā)送的第二調(diào)度反饋消息,其中攜帶自身當(dāng)前的負(fù)載信息;從所述第一調(diào)度反饋消息和第二調(diào)度反饋消息中抽取調(diào)度指令成功執(zhí)行之后源計算機(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的負(fù)載信息,并攜帶在拓?fù)涓孪⒅邪l(fā)送給所述選擇子模塊和拓?fù)溆成渥幽K;所述選擇子模塊,還用于從所述拓?fù)涓孪⒅谐槿∷鲈从嬎銠C(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點的節(jié)點負(fù)載,更新本地存儲的節(jié)點負(fù)載數(shù)據(jù);所述拓?fù)溆成渥幽K,還用于從所述拓?fù)涓孪⒅谐槿∷鲈从嬎銠C(jī)節(jié)點和目標(biāo)計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載,更新本地存儲的源計算機(jī)節(jié)點、以及目標(biāo)計算機(jī)節(jié)點與執(zhí)行應(yīng)用調(diào)度的應(yīng)用之間的拓?fù)溆成潢P(guān)系。
17.如權(quán)利要求14或15所述的裝置,其特征在于,所述選擇子模塊,具體用于根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載維護(hù)節(jié)點負(fù)載最小堆,所述節(jié)點負(fù)載最小堆的根節(jié)點為節(jié)點負(fù)載最低的計算機(jī)節(jié)點。
18.如權(quán)利要求14或15所述的裝置,其特征在于,所述拓?fù)溆成渥幽K,具體用于根據(jù)各計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載維護(hù)所述拓?fù)溆成潢P(guān)系,所述拓?fù)溆成潢P(guān)系采用二部圖數(shù)據(jù)結(jié)構(gòu)進(jìn)行描述,所述二部圖數(shù)據(jù)結(jié)構(gòu)中的每一條邊連接一個應(yīng)用和一個計算機(jī)節(jié)點,每一條邊的權(quán)值為該條邊所連接的應(yīng)用在該條邊所連接的計算機(jī)節(jié)點上的應(yīng)用負(fù)載。
全文摘要
本發(fā)明公開了一種應(yīng)用調(diào)度系統(tǒng)、方法和相關(guān)裝置,用以對應(yīng)用執(zhí)行實時、動態(tài)的調(diào)度,以實現(xiàn)應(yīng)用的良好運行和彈性部署,提高系統(tǒng)資源利用率。其中,所述應(yīng)用調(diào)度系統(tǒng)包括至少兩個計算機(jī)節(jié)點和應(yīng)用集群管理裝置,所述計算機(jī)節(jié)點,用于生成自身當(dāng)前的負(fù)載信息并上報;以及根據(jù)所述應(yīng)用集群管理裝置下發(fā)的調(diào)度指令執(zhí)行相應(yīng)的應(yīng)用調(diào)度;所述應(yīng)用集群管理裝置,用于接收每一個計算機(jī)節(jié)點上報的負(fù)載信息,根據(jù)各計算機(jī)節(jié)點的節(jié)點負(fù)載確定需要執(zhí)行應(yīng)用調(diào)度的源計算機(jī)節(jié)點和應(yīng)用被調(diào)度到的目標(biāo)計算機(jī)節(jié)點,并結(jié)合所述源計算機(jī)節(jié)點上部署的每一個應(yīng)用的應(yīng)用負(fù)載生成調(diào)度指令下發(fā)給所述源計算機(jī)節(jié)點。
文檔編號H04L29/08GK102469126SQ20101053949
公開日2012年5月23日 申請日期2010年11月10日 優(yōu)先權(quán)日2010年11月10日
發(fā)明者孔令軍, 李勇, 胡柏毓 申請人:中國移動通信集團(tuán)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
玉屏| 安宁市| 长宁县| 乃东县| 芒康县| 富宁县| 三江| 思茅市| 松桃| 绥德县| 浦江县| 新津县| 镇安县| 普兰县| 道真| 鹤庆县| 南京市| 东莞市| 林芝县| 增城市| 嘉禾县| 宜都市| 邵武市| 玛多县| 长汀县| 连州市| 剑川县| 潮州市| 胶州市| 钦州市| 灵武市| 台安县| 城固县| 宜章县| 福安市| 大洼县| 娄底市| 浮山县| 洪江市| 色达县| 芮城县|