負載調(diào)節(jié)方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施例提供了一種負載調(diào)節(jié)方法及系統(tǒng),可以根據(jù)服務(wù)處理負載的壓力信息及服務(wù)中各運行實例的運行狀態(tài)調(diào)整服務(wù)中的運行實例,并相應(yīng)修改負載分配配置文件,根據(jù)修改后的負載分配配置文件對負載進行分配。本發(fā)明通過調(diào)整服務(wù)中的運行實例可以調(diào)整服務(wù)處理負載的壓力,從而保證服務(wù)處理負載的壓力處于正常水平,即不會浪費系統(tǒng)資源,又保證了負載被處理的速度。同時,根據(jù)服務(wù)中各運行實例的運行狀態(tài)調(diào)整服務(wù)中的運行實例并相應(yīng)修改負載分配配置文件,可以使得負載不再被分配到無法正常處理負載的運行實例中,可以保證負載被成功處理。
【專利說明】負載調(diào)節(jié)方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及負載調(diào)節(jié)【技術(shù)領(lǐng)域】,特別是涉及一種負載調(diào)節(jié)方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著科技的發(fā)展,人們越來越多的通過網(wǎng)絡(luò)訪問服務(wù)器以尋找自己需要的各種信息。服務(wù)器中可以提供多種不同的服務(wù),以處理用戶不同類型的請求。例如:視頻播放服務(wù)用于處理用戶的視頻數(shù)據(jù)訪問請求。
[0003]為了提高服務(wù)的處理能力,一個服務(wù)中可以包括有多個運行實例,每一個運行實例即為一段用于處理相應(yīng)請求的程序。在接收到多個請求后,可以將其平均分配到該服務(wù)的各運行實例中。但 申請人:研究發(fā)現(xiàn),由于所接收的請求數(shù)量經(jīng)常變化,因此服務(wù)的負載壓力經(jīng)常發(fā)生變化。一方面,當接收的請求數(shù)量較多時,服務(wù)的負載壓力變大,導(dǎo)致各運行實例所需處理的請求數(shù)量變多,也延長了請求被處理所需花費的時間,使得請求無法被及時處理。另一方面,當接收的請求數(shù)量較少時,服務(wù)的負載壓力變小,部分運行實例將處于空閑狀態(tài),這也浪費了系統(tǒng)資源。同時,在運行實例的運行異常終止時,仍有請求被分配到已異常終止的運行實例上,導(dǎo)致該請求無法被成功處理。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例的目的在于提供一種負載調(diào)節(jié)方法及系統(tǒng),以實現(xiàn)保證服務(wù)處理負載的壓力處于正常水平、負載被成功處理的目的。
[0005]為達到上述目的,本發(fā)明實施例公開了一種負載調(diào)節(jié)方法,包括:
[0006]獲得服務(wù)處理負載的壓力信息及所述服務(wù)中各運行實例的運行狀態(tài);
[0007]根據(jù)所述壓力信息及所述運行狀態(tài)調(diào)整所述服務(wù)中的運行實例,并根據(jù)調(diào)整后的所述服務(wù)中的各運行實例,修改負載分配配置文件;
[0008]根據(jù)修改后的所述負載分配配置文件將負載分配到所述服務(wù)的運行實例中進行處理。
[0009]可選的,所述負載為數(shù)據(jù)訪問請求,所述獲得服務(wù)處理負載的壓力信息,包括:
[0010]獲得服務(wù)在單位時間內(nèi)所接收的數(shù)據(jù)訪問請求的數(shù)量;
[0011]和/或
[0012]獲得服務(wù)處理一個數(shù)據(jù)訪問請求平均花費的時間。
[0013]可選的,所述運行狀態(tài)包括:運行正常狀態(tài)和異常終止狀態(tài),所述根據(jù)所述壓力信息及所述運行狀態(tài)調(diào)整所述服務(wù)中的運行實例,包括:
[0014]在所述服務(wù)處理負載的壓力大于預(yù)設(shè)壓力上限時,增加運行實例到所述服務(wù)中;在所述服務(wù)處理負載的壓力小于預(yù)設(shè)壓力下限時,減少所述服務(wù)中的運行實例;確定處于異常終止狀態(tài)的運行實例的個數(shù),增加所確定的所述個數(shù)的運行實例到所述服務(wù)中并將處于異常終止狀態(tài)的運行實例從所述服務(wù)中去除。
[0015]可選的,所述根據(jù)調(diào)整后的所述服務(wù)中的各運行實例,修改負載分配配置文件,包括:
[0016]在所述服務(wù)中的運行實例增加時,將所增加的運行實例的信息添加到所述負載分配配置文件中;
[0017]在所述服務(wù)中的運行實例減少時,將所減少的運行實例的信息從所述負載分配配直文件中刪除;
[0018]在將處于異常終止狀態(tài)的運行實例從所述服務(wù)中去除時,將處于異常終止狀態(tài)的運行實例的信息從所述負載分配配置文件中刪除,并將所增加的運行實例的信息添加到所述負載分配配置文件中。
[0019]可選的,在增加所確定的所述個數(shù)的運行實例到所述服務(wù)中后,所述方法還包括:
[0020]根據(jù)修改后的所述負載分配配置文件,將處于異常終止狀態(tài)的運行實例未處理完畢的負載分配到所增加的運行實例中進行處理。
[0021]一種負載調(diào)節(jié)系統(tǒng),包括:獲得單元、調(diào)整單元、配置修改單元和分配單元,
[0022]所述獲得單元,用于獲得服務(wù)處理負載的壓力信息及所述服務(wù)中各運行實例的運行狀態(tài);
[0023]所述調(diào)整單元,用于根據(jù)所述壓力信息及所述運行狀態(tài)調(diào)整所述服務(wù)中的運行實例;
[0024]所述配置修改單元,用于根據(jù)調(diào)整后的所述服務(wù)中的各運行實例,修改負載分配配置文件;
[0025]所述分配單元,用于根據(jù)修改后的所述負載分配配置文件將負載分配到所述服務(wù)的運行實例中進行處理。
[0026]可選的,所述運行狀態(tài)包括:運行正常狀態(tài)和異常終止狀態(tài),所述負載為數(shù)據(jù)訪問請求,所述獲得單元,包括:壓力獲得子單元和狀態(tài)獲得子單元,
[0027]所述壓力獲得子單元,包括:數(shù)量獲得模塊和/或時間獲得模塊,
[0028]所述數(shù)量獲得模塊,用于獲得服務(wù)在單位時間內(nèi)所接收的數(shù)據(jù)訪問請求的數(shù)量;
[0029]所述時間獲得模塊,用于獲得服務(wù)處理一個數(shù)據(jù)訪問請求平均花費的時間;
[0030]所述狀態(tài)獲得子單元,用于獲得服務(wù)中各運行實例的運行狀態(tài)。
[0031]可選的,所述運行狀態(tài)包括:運行正常狀態(tài)和異常終止狀態(tài),所述調(diào)整單元,具體用于在所述服務(wù)處理負載的壓力大于預(yù)設(shè)壓力上限時,增加運行實例到所述服務(wù)中;在所述服務(wù)處理負載的壓力小于預(yù)設(shè)壓力下限時,減少所述服務(wù)中的運行實例;確定處于異常終止狀態(tài)的運行實例的個數(shù),增加所確定的所述個數(shù)的運行實例到所述服務(wù)中并將處于異常終止狀態(tài)的運行實例從所述服務(wù)中去除。
[0032]可選的,所述配置修改單元,具體用于在所述服務(wù)中的運行實例增加時,將所增加的運行實例的信息添加到所述負載分配配置文件中;在所述服務(wù)中的運行實例減少時,將所減少的運行實例的信息從所述負載分配配置文件中刪除;在將處于異常終止狀態(tài)的運行實例從所述服務(wù)中去除時,將處于異常終止狀態(tài)的運行實例的信息從所述負載分配配置文件中刪除,并將所增加的運行實例的信息添加到所述負載分配配置文件中。
[0033]可選的,還包括:異常處理單元,用于在所述調(diào)整單元增加所確定的所述個數(shù)的運行實例到所述服務(wù)中后,根據(jù)修改后的所述負載分配配置文件,將處于異常終止狀態(tài)的運行實例未處理完畢的負載分配到所增加的運行實例中進行處理。
[0034]本發(fā)明實施例提供的一種負載調(diào)節(jié)方法及系統(tǒng),可以根據(jù)服務(wù)處理負載的壓力信息及服務(wù)中各運行實例的運行狀態(tài)調(diào)整服務(wù)中的運行實例,并相應(yīng)修改負載分配配置文件,根據(jù)修改后的負載分配配置文件對負載進行分配。本發(fā)明通過調(diào)整服務(wù)中的運行實例可以調(diào)整服務(wù)處理負載的壓力,從而保證服務(wù)處理負載的壓力處于正常水平,即不會浪費系統(tǒng)資源,又保證了負載被處理的速度。同時,根據(jù)服務(wù)中各運行實例的運行狀態(tài)調(diào)整服務(wù)中的運行實例并相應(yīng)修改負載分配配置文件,可以使得負載不再被分配到無法正常處理負載的運行實例中,可以保證負載被成功處理。
【專利附圖】
【附圖說明】
[0035]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0036]圖1為本發(fā)明實施例提供的一種負載調(diào)節(jié)方法的流程圖;
[0037]圖2為本發(fā)明實施例提供的一種負載調(diào)節(jié)方法的一種實施架構(gòu)圖;
[0038]圖3為本發(fā)明實施例提供的增加運行實例的示意圖;
[0039]圖4為本發(fā)明實施例提供的增加運行實例的示意圖;
[0040]圖5為本發(fā)明實施例提供的一種負載調(diào)節(jié)系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0041]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0042]如圖1所示,本發(fā)明實施例提供了一種負載調(diào)節(jié)方法,可以包括:
[0043]S100、獲得服務(wù)處理負載的壓力信息及所述服務(wù)中各運行實例的運行狀態(tài);
[0044]本發(fā)明的負載調(diào)節(jié)方法可僅針對一個服務(wù)器中服務(wù),也可以針對由多個服務(wù)器構(gòu)成的集群服務(wù)器中的服務(wù)。
[0045]在針對集群服務(wù)器時,本發(fā)明的負載調(diào)節(jié)方法可以應(yīng)用于該集群服務(wù)器的控制服務(wù)器中,由該控制服務(wù)器執(zhí)行步驟SlOO至S300。當然,本發(fā)明的負載調(diào)節(jié)方法也可以應(yīng)用在由中心控制器和負載均衡服務(wù)器構(gòu)成的負載調(diào)節(jié)系統(tǒng)中,可選的,該負載調(diào)節(jié)系統(tǒng)中還可以包括監(jiān)控服務(wù)器。
[0046]其中,服務(wù)中各運行實例可以分別位于不同的服務(wù)器中??蛇x的,服務(wù)中的各運行實例可以分別位于集群服務(wù)器中的不同服務(wù)器中。可選的,同一服務(wù)器中可以具有多個運行實例,同一服務(wù)器中的多個運行實例可以歸屬于同一服務(wù),也可以歸屬于不同服務(wù)。可選的,不同服務(wù)器中運行實例的個數(shù)可以相同,也可以不同??蛇x的,可以根據(jù)服務(wù)器的處理能力設(shè)置運行實例的個數(shù),處理能力較強的服務(wù)器中可以設(shè)置有較多的運行實例。
[0047]可選的,可以為每一個服務(wù)器設(shè)置一個服務(wù)監(jiān)控器,用以監(jiān)控相應(yīng)服務(wù)器中各運行實例的運行狀態(tài)及各運行實例處理負載的壓力信息。各服務(wù)監(jiān)控器將監(jiān)控得到的各運行實例的運行狀態(tài)及各運行實例處理負載的壓力信息發(fā)送到中心控制器中,由中心控制器進行整理,從而獲得服務(wù)處理負載的壓力信息及服務(wù)中各運行實例的運行狀態(tài)。
[0048]其中,負載可以為數(shù)據(jù)訪問請求,SlOO中獲得服務(wù)處理負載的壓力信息,可以包括:
[0049]獲得服務(wù)在單位時間內(nèi)所接收的數(shù)據(jù)訪問請求的數(shù)量;
[0050]和/ 或
[0051 ] 獲得服務(wù)處理一個數(shù)據(jù)訪問請求平均花費的時間。
[0052]當服務(wù)在單位時間內(nèi)所接收的數(shù)據(jù)訪問請求的數(shù)量較多時,服務(wù)處理負載的壓力較大。同樣,服務(wù)處理一個數(shù)據(jù)訪問請求平均花費的時間較多時,服務(wù)處理負載的壓力較大。具體的,可以通過將服務(wù)中各運行實例在單位時間內(nèi)所接收的數(shù)據(jù)訪問請求的數(shù)量疊加在一起得到服務(wù)在單位時間內(nèi)所接收的數(shù)據(jù)訪問請求的數(shù)量。具體的,通過對服務(wù)中各運行實例處理一個數(shù)據(jù)訪問請求花費的時間進行平均計算可以得到服務(wù)處理一個數(shù)據(jù)訪問請求平均花費的時間。
[0053]在實際應(yīng)用中,可以同時獲得服務(wù)在單位時間內(nèi)所接收的數(shù)據(jù)訪問請求的數(shù)量和服務(wù)處理一個數(shù)據(jù)訪問請求平均花費的時間,當服務(wù)在單位時間內(nèi)所接收的數(shù)據(jù)訪問請求的數(shù)量較多,或者服務(wù)處理一個數(shù)據(jù)訪問請求平均花費的時間時,即可確定服務(wù)處理負載的壓力較大。
[0054]確定服務(wù)處理負載的壓力較小與確定服務(wù)處理負載的壓力較大的情況類似,不再贅述。
[0055]S200、根據(jù)所述壓力信息及所述運行狀態(tài)調(diào)整所述服務(wù)中的運行實例,并根據(jù)調(diào)整后的所述服務(wù)中的各運行實例,修改負載分配配置文件;
[0056]其中,所述運行狀態(tài)可以包括:運行正常狀態(tài)和異常終止狀態(tài),S200中根據(jù)所述壓力信息及所述運行狀態(tài)調(diào)整所述服務(wù)中的運行實例,可以包括:
[0057]在所述服務(wù)處理負載的壓力大于預(yù)設(shè)壓力上限時,增加運行實例到所述服務(wù)中;在所述服務(wù)處理負載的壓力小于預(yù)設(shè)壓力下限時,減少所述服務(wù)中的運行實例;確定處于異常終止狀態(tài)的運行實例的個數(shù),增加所確定的所述個數(shù)的運行實例到所述服務(wù)中并將處于異常終止狀態(tài)的運行實例從所述服務(wù)中去除。
[0058]具體的,增加運行實例的方式有多種,如在服務(wù)器中創(chuàng)建一個新的該服務(wù)的運行實例,或重新啟動之前中斷運行的該服務(wù)的運行實例??蛇x的,減少所述服務(wù)中的運行實例的方式可以為:中斷服務(wù)中的一個或多個運行實例的運行。
[0059]通過增加或減少服務(wù)中的運行實例,本發(fā)明可以相應(yīng)調(diào)節(jié)服務(wù)的負載壓力,即保證了請求被及時處理,又避免了系統(tǒng)資源的浪費。同時,本發(fā)明還可以將處于異常終止狀態(tài)的運行實例從所述服務(wù)中去除,同時增加相應(yīng)個數(shù)的運行實例,這樣就保證了該服務(wù)的正常運行。
[0060]進一步,S200中根據(jù)調(diào)整后的所述服務(wù)中的各運行實例,修改負載分配配置文件,可以包括:
[0061]在所述服務(wù)中的運行實例增加時,將所增加的運行實例的信息添加到所述負載分配配置文件中;
[0062]在所述服務(wù)中的運行實例減少時,將所減少的運行實例的信息從所述負載分配配直文件中刪除;
[0063]在將處于異常終止狀態(tài)的運行實例從所述服務(wù)中去除時,將處于異常終止狀態(tài)的運行實例的信息從所述負載分配配置文件中刪除,并將所增加的運行實例的信息添加到所述負載分配配置文件中。
[0064]負載分配配置文件中保存有服務(wù)中各運行實例的地址信息、端口信息等信息,這樣,就可以根據(jù)負載分配配置文件將負載分配到負載分配配置文件中記載的相應(yīng)運行實例中進行處理。
[0065]S300、根據(jù)修改后的所述負載分配配置文件將負載分配到所述服務(wù)的運行實例中進行處理。
[0066]圖2為本發(fā)明的負載調(diào)節(jié)方法的一種實施架構(gòu)圖,但本發(fā)明并不僅限于在圖2的實施架構(gòu)中實施。下面結(jié)合圖2對本發(fā)明的方案進行說明:
[0067]現(xiàn)有技術(shù)下,用戶側(cè)的終端設(shè)備001向負載均衡服務(wù)器002發(fā)送數(shù)據(jù)讀取請求,負載均衡服務(wù)器002根據(jù)存儲的負載均衡配置文件將所接收的數(shù)據(jù)讀取請求下發(fā)到集群服務(wù)器中的服務(wù)器003a或服務(wù)器003b中的運行實例中進行處理。
[0068]本發(fā)明相對于現(xiàn)有技術(shù)增加了監(jiān)控服務(wù)器和中心控制器,服務(wù)監(jiān)控器004a監(jiān)控服務(wù)器003a中各運行實例,服務(wù)監(jiān)控器004b監(jiān)控服務(wù)器003b中各運行實例。中心控制器005根據(jù)服務(wù)監(jiān)控器監(jiān)控得到的壓力信息及運行狀態(tài)調(diào)整服務(wù)的運行實例,并向負載均衡服務(wù)器002發(fā)送配置修改指令,控制負載均衡服務(wù)器002修改負載均衡服務(wù)器002中的負載分配配置文件。這樣,用戶側(cè)的終端設(shè)備001向負載均衡服務(wù)器002發(fā)送數(shù)據(jù)讀取請求,負載均衡服務(wù)器002根據(jù)修改后的負載均衡配置文件將所接收的數(shù)據(jù)讀取請求下發(fā)到集群服務(wù)器中的服務(wù)器003a或服務(wù)器003b中的運行實例中進行處理。
[0069]本發(fā)明實施例提供的另一種負載調(diào)節(jié)方法,在增加所確定的所述個數(shù)的運行實例到所述服務(wù)中后,還可以包括:
[0070]根據(jù)修改后的所述負載分配配置文件,將處于異常終止狀態(tài)的運行實例未處理完畢的負載分配到所增加的運行實例中進行處理。
[0071]為方便理解,下面舉例說明:請參見圖3,分別有服務(wù)器003d、服務(wù)器003e、服務(wù)器003f這三個服務(wù)器,服務(wù)器003d中有兩個運行實例,分別為服務(wù)A的實例I和服務(wù)B的實例I。服務(wù)器003e中有兩個運行實例,分別為服務(wù)A的實例2和服務(wù)B的實例2。服務(wù)器003f中也有兩個運行實例,分別為服務(wù)B的實例3和服務(wù)B的實例4。如圖4所示,當服務(wù)器003e宕機時,服務(wù)器003e上的運行實例就處于異常終止狀態(tài),這樣,可以將處于異常終止狀態(tài)的服務(wù)A的實例2和服務(wù)B的實例2就被刪除。同時,分別在服務(wù)器003d、服務(wù)器003f中建立服務(wù)A實例3和服務(wù)B實例5。這樣,就可以將之前在服務(wù)A的實例2上處理的請求分配到服務(wù)A實例3中,將之前在服務(wù)B的實例2上處理的請求分配到服務(wù)B實例5。
[0072]通過將未處理完畢的負載分配到增加的運行實例中進行處理,可以使得未處理完畢的負載得以繼續(xù)被處理,保證了系統(tǒng)的可靠性。
[0073]本發(fā)明實施例提供的一種負載調(diào)節(jié)方法,可以根據(jù)服務(wù)處理負載的壓力信息及服務(wù)中各運行實例的運行狀態(tài)調(diào)整服務(wù)中的運行實例,并相應(yīng)修改負載分配配置文件,根據(jù)修改后的負載分配配置文件對負載進行分配。本發(fā)明通過調(diào)整服務(wù)中的運行實例可以調(diào)整服務(wù)處理負載的壓力,從而保證服務(wù)處理負載的壓力處于正常水平,即不會浪費系統(tǒng)資源,又保證了負載被處理的速度。同時,根據(jù)服務(wù)中各運行實例的運行狀態(tài)調(diào)整服務(wù)中的運行實例并相應(yīng)修改負載分配配置文件,可以使得負載不再被分配到無法正常處理負載的運行實例中,可以保證負載被成功處理。
[0074]與上述方法實施例相對應(yīng),本發(fā)明還提供了一種負載調(diào)節(jié)系統(tǒng)。
[0075]如圖5所示,本發(fā)明實施例提供的一種負載調(diào)節(jié)系統(tǒng),可以包括:獲得單元100、調(diào)整單元200、配置修改單元300和分配單元400,
[0076]獲得單元100,用于獲得服務(wù)處理負載的壓力信息及所述服務(wù)中各運行實例的運行狀態(tài);
[0077]其中,所述負載可以為數(shù)據(jù)訪問請求,所述獲得單元100可以包括:壓力獲得子單元和狀態(tài)獲得子單元,
[0078]所述壓力獲得子單元,可以包括:數(shù)量獲得模塊和/或時間獲得模塊,
[0079]所述數(shù)量獲得模塊,用于獲得服務(wù)在單位時間內(nèi)所接收的數(shù)據(jù)訪問請求的數(shù)量;
[0080]所述時間獲得模塊,用于獲得服務(wù)處理一個數(shù)據(jù)訪問請求平均花費的時間;
[0081]所述狀態(tài)獲得子單元,用于獲得服務(wù)中各運行實例的運行狀態(tài)。
[0082]調(diào)整單元200,用于根據(jù)所述壓力信息及所述運行狀態(tài)調(diào)整所述服務(wù)中的運行實例;
[0083]其中,所述運行狀態(tài)可以包括:運行正常狀態(tài)和異常終止狀態(tài),所述調(diào)整單元200,可以具體用于在所述服務(wù)處理負載的壓力大于預(yù)設(shè)壓力上限時,增加運行實例到所述服務(wù)中;在所述服務(wù)處理負載的壓力小于預(yù)設(shè)壓力下限時,減少所述服務(wù)中的運行實例;確定處于異常終止狀態(tài)的運行實例的個數(shù),增加所確定的所述個數(shù)的運行實例到所述服務(wù)中并將處于異常終止狀態(tài)的運行實例從所述服務(wù)中去除。
[0084]配置修改單元300,用于根據(jù)調(diào)整后的所述服務(wù)中的各運行實例,修改負載分配配置文件;
[0085]其中,配置修改單元300,可以具體用于在所述服務(wù)中的運行實例增加時,將所增加的運行實例的信息添加到所述負載分配配置文件中;在所述服務(wù)中的運行實例減少時,將所減少的運行實例的信息從所述負載分配配置文件中刪除;在將處于異常終止狀態(tài)的運行實例從所述服務(wù)中去除時,將處于異常終止狀態(tài)的運行實例的信息從所述負載分配配置文件中刪除,并將所增加的運行實例的信息添加到所述負載分配配置文件中。
[0086]所述分配單元400,用于根據(jù)修改后的所述負載分配配置文件將負載分配到所述服務(wù)的運行實例中進行處理。
[0087]在本發(fā)明其他實施例中,圖5所示系統(tǒng)還可以包括:異常處理單元,用于在所述調(diào)整單元200增加所確定的所述個數(shù)的運行實例到所述服務(wù)中后,根據(jù)修改后的所述負載分配配置文件,將處于異常終止狀態(tài)的運行實例未處理完畢的負載分配到所增加的運行實例中進行處理。
[0088]本發(fā)明實施例提供的一種負載調(diào)節(jié)系統(tǒng),可以根據(jù)服務(wù)處理負載的壓力信息及服務(wù)中各運行實例的運行狀態(tài)調(diào)整服務(wù)中的運行實例,并相應(yīng)修改負載分配配置文件,根據(jù)修改后的負載分配配置文件對負載進行分配。本發(fā)明通過調(diào)整服務(wù)中的運行實例可以調(diào)整服務(wù)處理負載的壓力,從而保證服務(wù)處理負載的壓力處于正常水平,即不會浪費系統(tǒng)資源,又保證了負載被處理的速度。同時,根據(jù)服務(wù)中各運行實例的運行狀態(tài)調(diào)整服務(wù)中的運行實例并相應(yīng)修改負載分配配置文件,可以使得負載不再被分配到無法正常處理負載的運行實例中,可以保證負載被成功處理。
[0089]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0090]本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0091]以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。
【權(quán)利要求】
1.一種負載調(diào)節(jié)方法,其特征在于,包括: 獲得服務(wù)處理負載的壓力信息及所述服務(wù)中各運行實例的運行狀態(tài); 根據(jù)所述壓力信息及所述運行狀態(tài)調(diào)整所述服務(wù)中的運行實例,并根據(jù)調(diào)整后的所述服務(wù)中的各運行實例,修改負載分配配置文件; 根據(jù)修改后的所述負載分配配置文件將負載分配到所述服務(wù)的運行實例中進行處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述負載為數(shù)據(jù)訪問請求,所述獲得服務(wù)處理負載的壓力信息,包括: 獲得服務(wù)在單位時間內(nèi)所接收的數(shù)據(jù)訪問請求的數(shù)量; 和/或 獲得服務(wù)處理一個數(shù)據(jù)訪問請求平均花費的時間。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述運行狀態(tài)包括:運行正常狀態(tài)和異常終止狀態(tài),所述根據(jù)所述壓力信息及所述運行狀態(tài)調(diào)整所述服務(wù)中的運行實例,包括: 在所述服務(wù)處理負載的壓力大于預(yù)設(shè)壓力上限時,增加運行實例到所述服務(wù)中;在所述服務(wù)處理負載的壓力小于預(yù)設(shè)壓力下限時,減少所述服務(wù)中的運行實例;確定處于異常終止狀態(tài)的運行實例的個數(shù),增加所確定的所述個數(shù)的運行實例到所述服務(wù)中并將處于異常終止狀態(tài)的運行實例從所述服務(wù)中去除。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)調(diào)整后的所述服務(wù)中的各運行實例,修改負載分配配置文件,包括: 在所述服務(wù)中的運行實例增加時,將所增加的運行實例的信息添加到所述負載分配配置文件中; 在所述服務(wù)中的運行實例減少時,將所減少的運行實例的信息從所述負載分配配置文件中刪除; 在將處于異常終止狀態(tài)的運行實例從所述服務(wù)中去除時,將處于異常終止狀態(tài)的運行實例的信息從所述負載分配配置文件中刪除,并將所增加的運行實例的信息添加到所述負載分配配置文件中。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在增加所確定的所述個數(shù)的運行實例到所述服務(wù)中后,所述方法還包括: 根據(jù)修改后的所述負載分配配置文件,將處于異常終止狀態(tài)的運行實例未處理完畢的負載分配到所增加的運行實例中進行處理。
6.一種負載調(diào)節(jié)系統(tǒng),其特征在于,包括:獲得單元、調(diào)整單元、配置修改單元和分配單元, 所述獲得單元,用于獲得服務(wù)處理負載的壓力信息及所述服務(wù)中各運行實例的運行狀態(tài); 所述調(diào)整單元,用于根據(jù)所述壓力信息及所述運行狀態(tài)調(diào)整所述服務(wù)中的運行實例; 所述配置修改單元,用于根據(jù)調(diào)整后的所述服務(wù)中的各運行實例,修改負載分配配置文件; 所述分配單元,用于根據(jù)修改后的所述負載分配配置文件將負載分配到所述服務(wù)的運行實例中進行處理。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述運行狀態(tài)包括:運行正常狀態(tài)和異常終止狀態(tài),所述負載為數(shù)據(jù)訪問請求,所述獲得單元,包括:壓力獲得子單元和狀態(tài)獲得子單元, 所述壓力獲得子單元,包括:數(shù)量獲得模塊和/或時間獲得模塊, 所述數(shù)量獲得模塊,用于獲得服務(wù)在單位時間內(nèi)所接收的數(shù)據(jù)訪問請求的數(shù)量; 所述時間獲得模塊,用于獲得服務(wù)處理一個數(shù)據(jù)訪問請求平均花費的時間; 所述狀態(tài)獲得子單元,用于獲得服務(wù)中各運行實例的運行狀態(tài)。
8.根據(jù)權(quán)利要求6或7所述的系統(tǒng),其特征在于,所述運行狀態(tài)包括:運行正常狀態(tài)和異常終止狀態(tài),所述調(diào)整單元,具體用于在所述服務(wù)處理負載的壓力大于預(yù)設(shè)壓力上限時,增加運行實例到所述服務(wù)中;在所述服務(wù)處理負載的壓力小于預(yù)設(shè)壓力下限時,減少所述服務(wù)中的運行實例;確定處于異常終止狀態(tài)的運行實例的個數(shù),增加所確定的所述個數(shù)的運行實例到所述服務(wù)中并將處于異常終止狀態(tài)的運行實例從所述服務(wù)中去除。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述配置修改單元,具體用于在所述服務(wù)中的運行實例增加時,將所增加的運行實例的信息添加到所述負載分配配置文件中;在所述服務(wù)中的運行實例減少時,將所減少的運行實例的信息從所述負載分配配置文件中刪除;在將處于異常終止狀態(tài)的運行實例從所述服務(wù)中去除時,將處于異常終止狀態(tài)的運行實例的信息從所述負載分配配置文件中刪除,并將所增加的運行實例的信息添加到所述負載分配配置文件中。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,還包括:異常處理單元,用于在所述調(diào)整單元增加所確定的所述個數(shù)的運行實例到所述服務(wù)中后,根據(jù)修改后的所述負載分配配置文件,將處于異常終止狀態(tài)的運行實例未處理完畢的負載分配到所增加的運行實例中進行處理。
【文檔編號】H04L12/803GK104168207SQ201410416067
【公開日】2014年11月26日 申請日期:2014年8月21日 優(yōu)先權(quán)日:2014年8月21日
【發(fā)明者】許立劍 申請人:北京奇藝世紀科技有限公司