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

一種啟動服務(wù)集群的方法及服務(wù)集群的制作方法

文檔序號:10555638閱讀:182來源:國知局
一種啟動服務(wù)集群的方法及服務(wù)集群的制作方法
【專利摘要】本申請?zhí)峁┝艘环N啟動服務(wù)集群的方法及服務(wù)集群,服務(wù)集群至少包括:多個子程序服務(wù)集群,每個子程序服務(wù)集群包括至少一個服務(wù)節(jié)點,方法包括:在接收到用戶的服務(wù)請求時,確定完成用戶的服務(wù)請求的目標(biāo)子程序服務(wù)集群;獲取目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài),目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài)包括目標(biāo)子程序服務(wù)集群中當(dāng)前啟動的服務(wù)節(jié)點的數(shù)量;當(dāng)目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,啟動目標(biāo)子程序服務(wù)集群。本申請不用預(yù)先將整個服務(wù)集群啟動,而是根據(jù)具體的訪問需求對服務(wù)集群中的子程序服務(wù)集群進行啟動,即整個服務(wù)集群的架構(gòu)是可調(diào)整,這使得服務(wù)集群節(jié)點的利用率大大提高,服務(wù)集群的功耗大大降低。
【專利說明】
一種啟動服務(wù)集群的方法及服務(wù)集群
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及互聯(lián)網(wǎng)及云計算技術(shù)領(lǐng)域,尤其涉及一種啟動服務(wù)集群的方法及服務(wù)集群。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)和云計算技術(shù)的不斷發(fā)展,越來越多的服務(wù)需要使用集群服務(wù)來更好的滿足用戶的需求。一方面,服務(wù)集群化使用戶可以得到更好的用戶體驗,例如訪問速度快,同時,服務(wù)集群化可以在同一時間為更多的用戶提供服務(wù);另一方面,服務(wù)集群化可以提高系統(tǒng)的可用性,減少系統(tǒng)故障對業(yè)務(wù)造成的危害。
[0003]然而,現(xiàn)實應(yīng)用中往往會存在如下場景:在很多情況下,用戶的訪問會在特定的時間段內(nèi)有大量的請求,而在部分時間段內(nèi)基本沒有請求或者只有少數(shù)請求。為了保證系統(tǒng)可以在訪問量峰值時保持高可用,后臺服務(wù)的集群需要一直保持運行。
[0004]對于一個大型的應(yīng)用服務(wù)而言,一方面,持續(xù)維護一系列的集群服務(wù)不僅加大了運維工作的難度,還極大的降低了服務(wù)器的利用率,另一方面,在服務(wù)集群啟動時,各個服務(wù)所占的系統(tǒng)資源的比例,集群中節(jié)點數(shù)量都是之前已經(jīng)確定好的,一旦服務(wù)啟動集群的架構(gòu)固定,在服務(wù)運行狀態(tài)下,根據(jù)具體的訪問需求對服務(wù)集群進行動態(tài)調(diào)整是比較困難的。

【發(fā)明內(nèi)容】

[0005]有鑒于此,本發(fā)明提供了一種啟動服務(wù)集群的方法及服務(wù)集群,用于解決現(xiàn)有技術(shù)中服務(wù)集群運維難度大、服務(wù)器利用率較低以及服務(wù)集群無法動態(tài)調(diào)整的問題,其技術(shù)方案如下:
[0006]—種啟動服務(wù)集群的方法,所述服務(wù)集群包括:多個子程序服務(wù)集群,每個子程序服務(wù)集群包括至少一個服務(wù)節(jié)點,所述方法包括:
[0007]在接收到用戶的服務(wù)請求時,確定完成所述用戶的服務(wù)請求的目標(biāo)子程序服務(wù)集群,所述目標(biāo)子程序服務(wù)集群為所述服務(wù)集群中的至少一個子程序服務(wù)集群;
[0008]獲取所述目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài),所述目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài)包括所述目標(biāo)子程序服務(wù)集群中當(dāng)前啟動的服務(wù)節(jié)點的數(shù)量;
[0009]當(dāng)所述目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,啟動所述目標(biāo)子程序服務(wù)集群。
[0010]其中,每個所述子程序服務(wù)集群對應(yīng)一容器且設(shè)置于所述容器中;
[0011]則所述在接收到用戶的服務(wù)請求時,確定完成所述用戶的服務(wù)請求的目標(biāo)子程序服務(wù)集群,包括:
[0012]在接收到所述用戶的服務(wù)請求時,從多個容器中確定目標(biāo)容器;
[0013]將所述目標(biāo)容器中的子程序服務(wù)集群確定為完成所述服務(wù)請求的目標(biāo)子程序服務(wù)集群;
[0014]則當(dāng)所述目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,啟動所述目標(biāo)子程序服務(wù)集群具體為:通過啟動所述目標(biāo)容器以使所述標(biāo)子程序服務(wù)集群啟動。
[0015]當(dāng)所述目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,啟動所述目標(biāo)子程序服務(wù)集群,包括:
[0016]當(dāng)所述目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,依據(jù)當(dāng)前用戶的服務(wù)請求的數(shù)量確定所述目標(biāo)子程序服務(wù)集群中需要啟動的服務(wù)節(jié)點的數(shù)量并啟動。
[0017]優(yōu)選地,所述方法還包括:
[0018]當(dāng)所述目標(biāo)子程序服務(wù)集群有已啟動的服務(wù)節(jié)點時,依據(jù)當(dāng)前用戶的服務(wù)請求的數(shù)量以及所述目標(biāo)子程序服務(wù)集群中已啟動的服務(wù)節(jié)點的數(shù)量確定是否需要啟動新的服務(wù)節(jié)點;
[0019]當(dāng)需要啟動所述新的服務(wù)節(jié)點時,啟動所述新的服務(wù)節(jié)點以使當(dāng)前已啟動的服務(wù)節(jié)點的服務(wù)能力滿足所述用戶的服務(wù)請求。
[0020]優(yōu)選地,所述方法還包括:
[0021]在所述目標(biāo)程序服務(wù)集群完成所有的所述用戶的服務(wù)請求之后,如果在預(yù)設(shè)時間段內(nèi)未接收到用戶針對所述目標(biāo)程序服務(wù)集群的新的服務(wù)請求,則關(guān)閉所述目標(biāo)程序服務(wù)集群。
[0022]優(yōu)選地,所述方法還包括:
[0023]當(dāng)所述目標(biāo)子程序服務(wù)集群中啟動的服務(wù)節(jié)點的數(shù)量多于當(dāng)前用戶請求的服務(wù)所需的服務(wù)節(jié)點的數(shù)量時,關(guān)閉所述目標(biāo)子程序服務(wù)集群中的至少一個服務(wù)節(jié)點。
[0024]優(yōu)選地,所述方法還包括:
[0025]在接收到所述用戶的服務(wù)請求之前,預(yù)先啟動所述目標(biāo)程序服務(wù)集群中的部分服務(wù)節(jié)點。
[0026]—種服務(wù)集群,所述服務(wù)集群包括:控制單元和多個子程序服務(wù)集群,每個子程序服務(wù)集群包括至少一個服務(wù)節(jié)點,
[0027]所述控制單元,用于在接收到用戶的服務(wù)請求時,確定完成所述用戶的服務(wù)請求的目標(biāo)子程序服務(wù)集群,并獲取所述目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài),在所述目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,向所述目標(biāo)子程序服務(wù)集群發(fā)送啟動指令;
[0028]所述目標(biāo)子程序服務(wù)集群,用于在接收到所述啟動指令時進行啟動。
[0029]其中,每個所述子程序服務(wù)集群對應(yīng)一容器且設(shè)置于所述容器中;
[0030]所述控制單元,具體用于在接收到所述用戶的服務(wù)請求時,通過所述服務(wù)請求確定目標(biāo)容器,并將向所述目標(biāo)容器發(fā)送所述啟動指令,以使所述目標(biāo)容器在接收到所述啟動指令時啟動所述目標(biāo)子程序服務(wù)集群。
[0031]其中,所述控制單元,具體用于當(dāng)所述目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,依據(jù)當(dāng)前用戶的服務(wù)請求的數(shù)量確定所述目標(biāo)子程序服務(wù)集群中需要啟動的服務(wù)節(jié)點,并向所述需要啟動的服務(wù)節(jié)點發(fā)送啟動指令,以使所述需要啟動的服務(wù)節(jié)點啟動。
[0032]優(yōu)選地,所述控制單元,還用于當(dāng)所述目標(biāo)子程序服務(wù)集群有已啟動的服務(wù)節(jié)點時,依據(jù)當(dāng)前用戶的服務(wù)請求的數(shù)量以及所述目標(biāo)子程序服務(wù)集群中已啟動的服務(wù)節(jié)點的數(shù)量確定是否需要啟動新的服務(wù)節(jié)點,當(dāng)需要啟動所述新的服務(wù)節(jié)點時,向所述新的服務(wù)節(jié)點發(fā)送啟動指令,以使所述新的服務(wù)節(jié)點啟動。
[0033]優(yōu)選地,所述控制單元,還用于在所述目標(biāo)程序服務(wù)集群完成所有的所述用戶的服務(wù)請求之后,如果在預(yù)設(shè)時間段內(nèi)未接收到用戶針對所述目標(biāo)程序服務(wù)集群的新的服務(wù)請求,則向所述目標(biāo)程序服務(wù)集群發(fā)送關(guān)閉指令,以使所述目標(biāo)程序服務(wù)集群中的所有服務(wù)節(jié)點關(guān)閉。
[0034]優(yōu)選地,所述控制單元,還用于當(dāng)所述目標(biāo)子程序服務(wù)集群中啟動的服務(wù)節(jié)點的數(shù)量多于當(dāng)前用戶請求的服務(wù)所需的服務(wù)節(jié)點的數(shù)量時,向所述目標(biāo)子程序服務(wù)集群中的至少一個服務(wù)節(jié)點發(fā)送關(guān)閉指令,以使所述至少一個服務(wù)節(jié)點關(guān)閉。
[0035]優(yōu)選地,所述控制單元,還用于在接收到所述用戶的服務(wù)請求之前,向所述目標(biāo)程序服務(wù)集群中的部分服務(wù)節(jié)點發(fā)送啟動指令以使所述部分服務(wù)節(jié)點預(yù)先啟動。
[0036]上述技術(shù)方案具有如下有益效果:
[0037]本發(fā)明提供的啟動服務(wù)集群的方法及服務(wù)集群,在接收到用戶的服務(wù)請求時,首先從多個子程序服務(wù)集群中確定出完成用戶的服務(wù)請求的子程序服務(wù)集群作為目標(biāo)子程序服務(wù)集群,并在目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài)指示目標(biāo)子程序服務(wù)集群未啟動時,控制目標(biāo)子程序服務(wù)集群啟動。即,本發(fā)明提供的啟動服務(wù)集群的方法及服務(wù)集群,不用預(yù)先將所有的服務(wù)集群節(jié)點啟動,而是根據(jù)具體的訪問需求對服務(wù)集群中的子程序服務(wù)集群進行啟動,即整個服務(wù)集群的架構(gòu)是可調(diào)整,這使得服務(wù)集群節(jié)點的利用率大大提高,服務(wù)集群的功耗大大降低。
【附圖說明】
[0038]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0039]圖1為本發(fā)明實施例提供的啟動服務(wù)集群的方法的一流程示意圖;
[0040]圖2為本發(fā)明實施例提供的啟動服務(wù)集群的方法的另一流程示意圖;
[0041 ]圖3為本發(fā)明實施例提供的服務(wù)集群的結(jié)構(gòu)示意圖。
【具體實施方式】
[0042]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0043]本發(fā)明實施例提供的一種啟動服務(wù)集群的方法,其中,服務(wù)集群包括:多個子程序服務(wù)集群,每個子程序服務(wù)集群包括至少一個服務(wù)節(jié)點,請參閱圖1,示出了該方法的流程示意圖,該方法可以包括:
[0044]步驟SlOl:在接收到用戶的服務(wù)請求時,確定完成用戶的服務(wù)請求的目標(biāo)子程序服務(wù)集群。
[0045]其中,目標(biāo)子程序服務(wù)集群為服務(wù)集群中的至少一個子程序服務(wù)集群。
[0046]步驟S102:獲取目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài)。
[0047]其中,目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài)包括目標(biāo)子程序服務(wù)集群中當(dāng)前啟動的服務(wù)節(jié)點的數(shù)量。
[0048]步驟S103:當(dāng)目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,啟動目標(biāo)子程序服務(wù)集群。
[0049]在本實施例中,當(dāng)目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,啟動目標(biāo)子程序服務(wù)集群的方式有多種,在一種可能的實現(xiàn)方式中,將目標(biāo)子程序服務(wù)集群中的所有服務(wù)節(jié)點都啟動。示例性的,目標(biāo)子程序服務(wù)集群中有5個服務(wù)節(jié)點,那么將這5個服務(wù)節(jié)點全部啟動。
[0050]在上述實現(xiàn)方式中,如果用戶的服務(wù)請求的數(shù)量較少,可能會存在部分空閑的服務(wù)節(jié)點,比較浪費服務(wù)資源。示例性的,當(dāng)前服務(wù)請求只需要3個服務(wù)節(jié)點進行服務(wù)即可,那么另外兩個服務(wù)節(jié)點即為多余的服務(wù)節(jié)點。
[0051]為了避免上述情況的發(fā)生,在另一種較優(yōu)選的實現(xiàn)方式中,依據(jù)當(dāng)前用戶的服務(wù)請求的數(shù)量確定目標(biāo)子程序服務(wù)集群中需要啟動的服務(wù)節(jié)點的數(shù)量并啟動。示例性的,目標(biāo)子程序服務(wù)集群中有5個服務(wù)節(jié)點,當(dāng)前服務(wù)請求只需要3個服務(wù)節(jié)點進行服務(wù)即可,那么啟動目標(biāo)子程序服務(wù)集群中的3個服務(wù)節(jié)點,另外兩個服務(wù)節(jié)點不啟動。
[0052]本發(fā)明實施例提供的啟動服務(wù)集群的方法,在接收到用戶的服務(wù)請求時,從多個子程序服務(wù)集群中確定出完成用戶的服務(wù)請求的子程序服務(wù)集群作為目標(biāo)子程序服務(wù)集群,并在目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài)指示目標(biāo)子程序服務(wù)集群未啟動時,控制目標(biāo)子程序服務(wù)集群啟動。即,本發(fā)明實施例提供的啟動服務(wù)集群的方法使得,不用預(yù)先將整個服務(wù)集群啟動,而是根據(jù)具體的訪問需求對服務(wù)集群中的子程序服務(wù)集群進行啟動,即整個服務(wù)集群的架構(gòu)是可調(diào)整,這使得服務(wù)集群節(jié)點的利用率大大提高,服務(wù)集群的功耗大大降低。
[0053]請參閱圖2,示出了本發(fā)明實施例提供的另一種啟動服務(wù)集群的方法,其中,服務(wù)集群包括多個子程序服務(wù)集群,每個子程序服務(wù)集群包括至少一個服務(wù)節(jié)點,該方法可以包括:
[0054]步驟S201:在接收到用戶的服務(wù)請求時,確定完成用戶的服務(wù)請求的目標(biāo)子程序服務(wù)集群。
[0055]其中,目標(biāo)子程序服務(wù)集群為服務(wù)集群中的至少一個子程序服務(wù)集群。
[0056]步驟S202:獲取目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài)。
[0057]其中,目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài)包括目標(biāo)子程序服務(wù)集群中當(dāng)前啟動的服務(wù)節(jié)點的數(shù)量。
[0058]步驟S203:判斷目標(biāo)子程序服務(wù)集群當(dāng)前是否有啟動的服務(wù)節(jié)點,如果目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點,則執(zhí)行步驟S204a,否則執(zhí)行步驟S204b和步驟S205。
[0059]如果標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài)指示目標(biāo)子程序服務(wù)集群中當(dāng)前啟動的服務(wù)節(jié)點的數(shù)量為O,那么表明目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點,否則表明目標(biāo)子程序服務(wù)集群當(dāng)前有啟動的服務(wù)節(jié)點。
[0060]步驟S204a:啟動目標(biāo)子程序服務(wù)集群。
[0061]步驟S204b:依據(jù)當(dāng)前用戶的服務(wù)請求的數(shù)量以及目標(biāo)子程序服務(wù)集群中已啟動的服務(wù)節(jié)點的數(shù)量確定是否需要啟動新的服務(wù)節(jié)點。
[0062]步驟S205:當(dāng)需要啟動新的服務(wù)節(jié)點時,啟動新的服務(wù)節(jié)點以使當(dāng)前已啟動的服務(wù)節(jié)點的服務(wù)能力滿足用戶的服務(wù)請求。
[0063]示例性的,目標(biāo)子程序服務(wù)集群有5個服務(wù)節(jié)點,其中有2個服務(wù)節(jié)點已啟動。如果當(dāng)前用戶的服務(wù)請求量較大,2個服務(wù)節(jié)點的服務(wù)能力已經(jīng)無法滿足當(dāng)前用戶的服務(wù)請求時,則啟動新的服務(wù)節(jié)點。需要啟動新的服務(wù)節(jié)點的數(shù)量依據(jù)當(dāng)前用戶的服務(wù)請求量確定,例如,還需要再啟動3個服務(wù)節(jié)點才能滿足用戶的服務(wù)請求,那么將剩余的3個服務(wù)節(jié)點啟動。
[0064]本發(fā)明實施例提供的啟動服務(wù)集群的方法,在接收到用戶的服務(wù)請求時,首先從多個子程序服務(wù)集群中確定出完成用戶的服務(wù)請求的子程序服務(wù)集群作為目標(biāo)子程序服務(wù)集群,并在目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài)指示目標(biāo)子程序服務(wù)集群未啟動時,控制目標(biāo)子程序服務(wù)集群啟動,在目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài)指示目標(biāo)子程序服務(wù)集群已啟動時,依據(jù)當(dāng)前用戶的服務(wù)請求的數(shù)量以及目標(biāo)子程序服務(wù)集群中已啟動的服務(wù)節(jié)點的數(shù)量確定是否需要啟動新的服務(wù)節(jié)點,并在需要啟動新的服務(wù)節(jié)點時進行啟動。即,本發(fā)明實施例提供的啟動服務(wù)集群的方法不用預(yù)先將整個服務(wù)集群啟動,而是根據(jù)具體的訪問需求對服務(wù)集群中的子程序服務(wù)集群進行啟動,還可根據(jù)具體的訪問需求對子程序服務(wù)集群中的服務(wù)節(jié)點進行啟動,即整個服務(wù)集群的架構(gòu)是可調(diào)整,這使得服務(wù)集群節(jié)點的利用率大大提高,服務(wù)集群的功耗大大降低。
[0065]在一種可能的實現(xiàn)方式中,上述任一實施例中的每個子程序服務(wù)集群對應(yīng)一容器且設(shè)置于容器中,容器使得子程序服務(wù)集群作為一個整體,彼此獨立。
[ΟΟ??] 示例性的,利用docker容器將服務(wù)集群容器化,獲得多個docker容器,每個docker容器中設(shè)置由至少一個服務(wù)節(jié)點組成的子程序服務(wù)集群。每個docker容器為服務(wù)集群的一個服務(wù)集群節(jié)點。通過控制docker容器的數(shù)量可控制服務(wù)集群的大小。通過使用docker容器可實現(xiàn)服務(wù)集群的虛擬化,從而可以動態(tài)調(diào)整服務(wù)集群的架構(gòu)。
[0067]則上述實施例提供的方法中,在接收到用戶的服務(wù)請求時,確定完成用戶的服務(wù)請求的目標(biāo)子程序服務(wù)集群,包括:在接收到用戶的服務(wù)請求時,從多個容器中確定目標(biāo)容器;將目標(biāo)容器中的子程序服務(wù)集群確定為完成服務(wù)請求的目標(biāo)子程序服務(wù)集群。
[0068]則當(dāng)目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,啟動目標(biāo)子程序服務(wù)集群具體為:通過啟動目標(biāo)容器以使目標(biāo)子程序服務(wù)集群啟動。
[0069]具體的,可通過服務(wù)請求的訪問接口確定目標(biāo)容器,訪問接口和容器存在關(guān)聯(lián)關(guān)系,當(dāng)接收到用戶的服務(wù)請求時,通過該服務(wù)請求的訪問接口即可確定與該訪問接口關(guān)聯(lián)的容器,與訪問接口關(guān)聯(lián)的容器即為目標(biāo)容器,目標(biāo)容器中的子程序服務(wù)集群即為完成服務(wù)請求的子程序服務(wù)集群。
[0070]對于某些子程序服務(wù)集群而言,用戶的服務(wù)請求可能是階段性的,例如,在某個時間段內(nèi),訪問量特別大,而在某個時間段沒有服務(wù)請求,如果在沒有服務(wù)請求時,仍然使子程序服務(wù)集群處于啟動狀態(tài),勢必會降低整個服務(wù)集群的利用率、增加功耗。為了解決上述問題,上述任一實施例提供的方法還可以包括:在目標(biāo)程序服務(wù)集群完成所有的用戶的服務(wù)請求之后,如果在預(yù)設(shè)時間段內(nèi)未接收到用戶針對目標(biāo)程序服務(wù)集群的新的服務(wù)請求,則關(guān)閉目標(biāo)程序服務(wù)集群。
[0071]上述任一實施例提供的方法還可以包括:當(dāng)目標(biāo)子程序服務(wù)集群中啟動的服務(wù)節(jié)點的數(shù)量多于當(dāng)前用戶請求的服務(wù)所需的服務(wù)節(jié)點的數(shù)量時,關(guān)閉目標(biāo)子程序服務(wù)集群中的至少一個服務(wù)節(jié)點。
[0072]示例性的,目標(biāo)子程序服務(wù)集群有5個服務(wù)節(jié)點,當(dāng)前用戶的服務(wù)請求量較大,5個節(jié)點全部處于服務(wù)狀態(tài),過了一段時間,用戶的服務(wù)請求量減少,只需要2個服務(wù)節(jié)點服務(wù)即可,3個服務(wù)節(jié)點空閑,則可將3個空閑的服務(wù)節(jié)點關(guān)閉。
[0073]由此可見,服務(wù)集群中各個子程序服務(wù)集群中的服務(wù)節(jié)點是動態(tài)調(diào)節(jié)的,用戶的服務(wù)請求量較大時,啟動服務(wù)節(jié)點以使服務(wù)能力滿足用戶的服務(wù)請求,當(dāng)用戶的服務(wù)請求量減少時,關(guān)閉空閑的服務(wù)節(jié)點以降低功耗。
[0074]上述任一實施例提供的方法還可以包括:在接收到用戶的服務(wù)請求之前,預(yù)先啟動目標(biāo)程序服務(wù)集群中的部分服務(wù)節(jié)點。
[0075]用戶對于各個子程序服務(wù)集群的響應(yīng)時間的容忍性是不同的。對于用戶所能忍受的響應(yīng)時間較長的程序,對應(yīng)的子程序服務(wù)集群中的服務(wù)節(jié)點可以不啟動,也可啟動較少的服務(wù)節(jié)點,當(dāng)接收到用戶的訪問請求時,再按需啟動該子程序服務(wù)集群中的服務(wù)節(jié)點。但是對于用戶所能容忍的響應(yīng)時間較小的程序,為了能夠保證快速響應(yīng)用戶的服務(wù)請求,則要預(yù)先啟動一定數(shù)量的服務(wù)節(jié)點。
[0076]示例性的,服務(wù)集群中一個子程序服務(wù)集群負(fù)責(zé)用戶登錄認(rèn)證,顯然,用戶對這個服務(wù)的實時性要求比較高,用戶點完登錄就需要迅速判斷是否為合法用戶。因此,需要預(yù)先啟動一定數(shù)量的服務(wù)節(jié)點,如果預(yù)先不啟動而在有用戶登錄時才啟動,用戶登錄時就會發(fā)現(xiàn)登錄響應(yīng)較慢,導(dǎo)致用戶體驗差。
[0077]示例性的,服務(wù)集群中某個子程序服務(wù)集群負(fù)責(zé)文件下載,用戶對這個服務(wù)的實時性要求可能不是很高。下載一個文件可能需要幾分鐘或者幾十秒。在這種情況下,啟動服務(wù)集群時,可只啟動該子程序服務(wù)集群中數(shù)量較少的服務(wù)節(jié)點,或者,一個服務(wù)節(jié)點也不啟動,在接收到用戶的服務(wù)請求時,再按需啟動服務(wù)節(jié)點。對于下載文件可能需要幾分鐘或者幾十秒,因此,即使加上系統(tǒng)啟動節(jié)點的時間比如幾秒或者幾百毫秒對于用戶來說體驗不會差很多。
[0078]本發(fā)明實施例還提供了一種服務(wù)集群,請參閱圖3,示出了該服務(wù)集群的結(jié)構(gòu)示意圖,該服務(wù)集群可以包括:控制單元301和多個子程序服務(wù)集群302,每個子程序服務(wù)集群302包括至少一個服務(wù)節(jié)點。
[0079]控制單元301,用于在接收到用戶的服務(wù)請求時,確定完成所述用戶的服務(wù)請求的目標(biāo)子程序服務(wù)集群,并獲取所述目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài),在所述目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,向所述目標(biāo)子程序服務(wù)集群發(fā)送啟動指令。
[0080]目標(biāo)子程序服務(wù)集群,用于在接收到啟動指令時進行啟動。
[0081]本發(fā)明實施例提供的服務(wù)集群,控制單元在接收到用戶的服務(wù)請求時,首先從多個子程序服務(wù)集群中確定出完成用戶的服務(wù)請求的子程序服務(wù)集群作為目標(biāo)子程序服務(wù)集群,并目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài)指示目標(biāo)子程序服務(wù)集群未啟動時,控制目標(biāo)子程序服務(wù)集群啟動。即,本發(fā)明實施例提供的服務(wù)集群不用預(yù)先將所有子程序服務(wù)集群啟動,而是根據(jù)具體的訪問需求對服務(wù)集群中的子程序服務(wù)集群進行啟動,即整個服務(wù)集群的架構(gòu)是可調(diào)整,這使得服務(wù)集群節(jié)點的利用率大大提高,服務(wù)集群的功耗大大降低。
[0082]在上述實施例中,每個所述子程序服務(wù)集群對應(yīng)一容器且設(shè)置于所述容器中。
[0083]則控制單元301,具體用于在接收到用戶的服務(wù)請求時,通過服務(wù)請求確定目標(biāo)容器,并將向目標(biāo)容器發(fā)送啟動指令,以使目標(biāo)容器在接收到啟動指令時啟動目標(biāo)子程序服務(wù)集群。
[0084]在上述實施例中,控制單元301,具體用于當(dāng)目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,依據(jù)當(dāng)前用戶的服務(wù)請求的數(shù)量確定目標(biāo)子程序服務(wù)集群中需要啟動的服務(wù)節(jié)點,并向需要啟動的服務(wù)節(jié)點發(fā)送啟動指令,以使需要啟動的服務(wù)節(jié)點啟動。
[0085]在上述實施例中,控制單元301,還用于當(dāng)目標(biāo)子程序服務(wù)集群有已啟動的服務(wù)節(jié)點時,依據(jù)當(dāng)前用戶的服務(wù)請求的數(shù)量以及目標(biāo)子程序服務(wù)集群中已啟動的服務(wù)節(jié)點的數(shù)量確定是否需要啟動新的服務(wù)節(jié)點,當(dāng)需要啟動所述新的服務(wù)節(jié)點時,向新的服務(wù)節(jié)點發(fā)送啟動指令,以使新的服務(wù)節(jié)點啟動。
[0086]對于某些子程序服務(wù)集群而言,用戶的服務(wù)請求可能是階段性的,例如,在某個時間段內(nèi),訪問量特別大,而在某個時間段沒有服務(wù)請求,如果在沒有服務(wù)請求時,仍然使子程序服務(wù)集群處于啟動狀態(tài),勢必會降低整個服務(wù)集群的利用率、增加功耗。
[0087]為了解決上述問題,上述實施例中的控制單元301,還用于在目標(biāo)程序服務(wù)集群完成所有的用戶的服務(wù)請求之后,如果在預(yù)設(shè)時間段內(nèi)未接收到用戶針對目標(biāo)程序服務(wù)集群的新的服務(wù)請求,則向目標(biāo)程序服務(wù)集群發(fā)送關(guān)閉指令,以使目標(biāo)程序服務(wù)集群中的所有服務(wù)節(jié)點關(guān)閉。
[0088]在上述實施例中,控制單元301,還用于當(dāng)目標(biāo)子程序服務(wù)集群中啟動的服務(wù)節(jié)點的數(shù)量多于當(dāng)前用戶請求的服務(wù)所需的服務(wù)節(jié)點的數(shù)量時,向目標(biāo)子程序服務(wù)集群中的至少一個服務(wù)節(jié)點發(fā)送關(guān)閉指令,以使至少一個服務(wù)節(jié)點關(guān)閉。
[0089]在上述實施例中,控制單元301,還用于在接收到用戶的服務(wù)請求之前,向目標(biāo)程序服務(wù)集群中的部分服務(wù)節(jié)點發(fā)送啟動指令以使部分服務(wù)節(jié)點預(yù)先啟動。
[0090]在一種可能的實現(xiàn)方式中,控制單元可由守護單元和引導(dǎo)單元實現(xiàn)。其中,守護單元接收用戶的服務(wù)請求,獲取各個子程序服務(wù)集群的狀態(tài),確定需要啟動或關(guān)閉的服務(wù)節(jié)點,而引導(dǎo)單元負(fù)責(zé)服務(wù)節(jié)點的啟動或關(guān)閉,即在服務(wù)子單元確定出需要啟動或關(guān)閉的服務(wù)節(jié)點之后,向需要啟動或關(guān)閉的服務(wù)節(jié)點發(fā)送啟動或關(guān)閉指令。
[0091]本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
[0092]在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的方法、裝置和設(shè)備,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0093]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
[0094]所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(R0M,Read-0nly Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0095]對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【主權(quán)項】
1.一種啟動服務(wù)集群的方法,其特征在于,所述服務(wù)集群包括:多個子程序服務(wù)集群,每個子程序服務(wù)集群包括至少一個服務(wù)節(jié)點,所述方法包括: 在接收到用戶的服務(wù)請求時,確定完成所述用戶的服務(wù)請求的目標(biāo)子程序服務(wù)集群,所述目標(biāo)子程序服務(wù)集群為所述服務(wù)集群中的至少一個子程序服務(wù)集群; 獲取所述目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài),所述目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài)包括所述目標(biāo)子程序服務(wù)集群中當(dāng)前啟動的服務(wù)節(jié)點的數(shù)量; 當(dāng)所述目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,啟動所述目標(biāo)子程序服務(wù)集群。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,每個所述子程序服務(wù)集群對應(yīng)一容器且設(shè)置于所述容器中; 則所述在接收到用戶的服務(wù)請求時,確定完成所述用戶的服務(wù)請求的目標(biāo)子程序服務(wù)集群,包括: 在接收到所述用戶的服務(wù)請求時,從多個容器中確定目標(biāo)容器; 將所述目標(biāo)容器中的子程序服務(wù)集群確定為完成所述服務(wù)請求的目標(biāo)子程序服務(wù)集群; 則當(dāng)所述目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,啟動所述目標(biāo)子程序服務(wù)集群具體為:通過啟動所述目標(biāo)容器以使所述標(biāo)子程序服務(wù)集群啟動。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,當(dāng)所述目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,啟動所述目標(biāo)子程序服務(wù)集群,包括: 當(dāng)所述目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,依據(jù)當(dāng)前用戶的服務(wù)請求的數(shù)量確定所述目標(biāo)子程序服務(wù)集群中需要啟動的服務(wù)節(jié)點的數(shù)量并啟動。4.根據(jù)權(quán)利I或2所述的方法,其特征在于,所述方法還包括: 當(dāng)所述目標(biāo)子程序服務(wù)集群有已啟動的服務(wù)節(jié)點時,依據(jù)當(dāng)前用戶的服務(wù)請求的數(shù)量以及所述目標(biāo)子程序服務(wù)集群中已啟動的服務(wù)節(jié)點的數(shù)量確定是否需要啟動新的服務(wù)節(jié)占.V , 當(dāng)需要啟動所述新的服務(wù)節(jié)點時,啟動所述新的服務(wù)節(jié)點以使當(dāng)前已啟動的服務(wù)節(jié)點的服務(wù)能力滿足所述用戶的服務(wù)請求。5.根據(jù)權(quán)利I或2所述的方法,其特征在于,所述方法還包括: 在所述目標(biāo)程序服務(wù)集群完成所有的所述用戶的服務(wù)請求之后,如果在預(yù)設(shè)時間段內(nèi)未接收到用戶針對所述目標(biāo)程序服務(wù)集群的新的服務(wù)請求,則關(guān)閉所述目標(biāo)程序服務(wù)集群。6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 當(dāng)所述目標(biāo)子程序服務(wù)集群中啟動的服務(wù)節(jié)點的數(shù)量多于當(dāng)前用戶請求的服務(wù)所需的服務(wù)節(jié)點的數(shù)量時,關(guān)閉所述目標(biāo)子程序服務(wù)集群中的至少一個服務(wù)節(jié)點。7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在接收到所述用戶的服務(wù)請求之前,預(yù)先啟動所述目標(biāo)程序服務(wù)集群中的部分服務(wù)節(jié)點。8.一種服務(wù)集群,其特征在于,所述服務(wù)集群包括:控制單元和多個子程序服務(wù)集群,每個子程序服務(wù)集群包括至少一個服務(wù)節(jié)點, 所述控制單元,用于在接收到用戶的服務(wù)請求時,確定完成所述用戶的服務(wù)請求的目標(biāo)子程序服務(wù)集群,并獲取所述目標(biāo)子程序服務(wù)集群的當(dāng)前狀態(tài),在所述目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,向所述目標(biāo)子程序服務(wù)集群發(fā)送啟動指令; 所述目標(biāo)子程序服務(wù)集群,用于在接收到所述啟動指令時進行啟動。9.根據(jù)權(quán)利要求8所述的服務(wù)集群,其特征在于,每個所述子程序服務(wù)集群對應(yīng)一容器且設(shè)置于所述容器中; 所述控制單元,具體用于在接收到所述用戶的服務(wù)請求時,通過所述服務(wù)請求確定目標(biāo)容器,并將向所述目標(biāo)容器發(fā)送所述啟動指令,以使所述目標(biāo)容器在接收到所述啟動指令時啟動所述目標(biāo)子程序服務(wù)集群。10.根據(jù)權(quán)利要求8或9所述的服務(wù)集群,其特征在于,所述控制單元,具體用于當(dāng)所述目標(biāo)子程序服務(wù)集群當(dāng)前沒有啟動的服務(wù)節(jié)點時,依據(jù)當(dāng)前用戶的服務(wù)請求的數(shù)量確定所述目標(biāo)子程序服務(wù)集群中需要啟動的服務(wù)節(jié)點,并向所述需要啟動的服務(wù)節(jié)點發(fā)送啟動指令,以使所述需要啟動的服務(wù)節(jié)點啟動。11.根據(jù)權(quán)利要求8或9所述的服務(wù)集群,其特征在于,所述控制單元,還用于當(dāng)所述目標(biāo)子程序服務(wù)集群有已啟動的服務(wù)節(jié)點時,依據(jù)當(dāng)前用戶的服務(wù)請求的數(shù)量以及所述目標(biāo)子程序服務(wù)集群中已啟動的服務(wù)節(jié)點的數(shù)量確定是否需要啟動新的服務(wù)節(jié)點,當(dāng)需要啟動所述新的服務(wù)節(jié)點時,向所述新的服務(wù)節(jié)點發(fā)送啟動指令,以使所述新的服務(wù)節(jié)點啟動。12.根據(jù)權(quán)利要求8或9所述的服務(wù)集群,其特征在于,所述控制單元,還用于在所述目標(biāo)程序服務(wù)集群完成所有的所述用戶的服務(wù)請求之后,如果在預(yù)設(shè)時間段內(nèi)未接收到用戶針對所述目標(biāo)程序服務(wù)集群的新的服務(wù)請求,則向所述目標(biāo)程序服務(wù)集群發(fā)送關(guān)閉指令,以使所述目標(biāo)程序服務(wù)集群中的所有服務(wù)節(jié)點關(guān)閉。13.根據(jù)權(quán)利要求11所述的服務(wù)集群,其特征在于,所述控制單元,還用于當(dāng)所述目標(biāo)子程序服務(wù)集群中啟動的服務(wù)節(jié)點的數(shù)量多于當(dāng)前用戶請求的服務(wù)所需的服務(wù)節(jié)點的數(shù)量時,向所述目標(biāo)子程序服務(wù)集群中的至少一個服務(wù)節(jié)點發(fā)送關(guān)閉指令,以使所述至少一個服務(wù)節(jié)點關(guān)閉。14.根據(jù)權(quán)利要求8所述的服務(wù)集群,其特征在于,所述控制單元,還用于在接收到所述用戶的服務(wù)請求之前,向所述目標(biāo)程序服務(wù)集群中的部分服務(wù)節(jié)點發(fā)送啟動指令以使所述部分服務(wù)節(jié)點預(yù)先啟動。
【文檔編號】H04L29/06GK105915583SQ201610184154
【公開日】2016年8月31日
【申請日】2016年3月28日
【發(fā)明人】楊帥, 余濤
【申請人】聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
曲阳县| 化州市| 太仆寺旗| 怀来县| 汽车| 阜南县| 天峨县| 中卫市| 连江县| 瑞丽市| 宣武区| 阿城市| 观塘区| 台南县| 开江县| 得荣县| 安义县| 连平县| 蒙阴县| 连山| 峡江县| 扎囊县| 科尔| 遵化市| 扶余县| 新化县| 临洮县| 湘西| 金沙县| 云梦县| 建平县| 青岛市| 吉木萨尔县| 崇文区| 博爱县| 康乐县| 于田县| 灵寿县| 连山| 名山县| 于田县|