本申請涉及計算機領域,尤其涉及一種用于基于時間調整的負載均衡的技術。
背景技術:
目前,隨著業務量的提高,訪問量和數據流量的快速增長,單一的服務器由于其處理能力的瓶頸已經無法滿足需求,因此,采用多個服務器所構成的服務器集群,為了對資源和負載進行有效調度,引入了負載均衡技術,以將大量的數據流量分擔到集群中的多個服務器上。另外,產生了相應的負載均衡策略供用戶選擇使用。
用戶使用負載均衡策略時會有一些需求,例如,用戶的流量有明顯的時間特征,比如工作時間流量大,晚上使用流量小。如果按固定帶寬付費,晚上流量可能跑不滿;如果按流量付費,在流量大的情況下,成本會很高。再如,用戶某個時間段有大促,需要提高帶寬。但是過了這個時間段后,需要再恢復回去如果多個用戶在某個時間段都有大促的需求,需要提前計算負載均衡的容量是否能夠支持,目前用戶使用的負載均衡策略的配置不夠彈性,無法對用戶使用的流量情況做出預判。
技術實現要素:
本申請的目的是提供一種基于時間調整的負載均衡的方法與設備,通過多種時間段的定義方式創建不同的負載均衡方法以實現用戶的彈性配置,并對用戶使用的流量情況做出預判。
根據本申請的一個方面,提供了一種基于時間調整的負載均衡的方法,包括:
獲取并記錄至少一個定時任務,其中,所述定時任務包括執行時間段及所述執行時間段內待執行的負載均衡方法;
判斷當前時間是否進入某一所述定時任務的執行時間段,若是,則獲取所述定時任務所對應的負載均衡方法,并基于對應所述負載均衡方法處理多個服務器之間的負載均衡,直至對應所述定時任務的執行時間段結束。
進一步地,獲取并記錄至少一個定時任務包括:
獲取用戶請求,其中,所述用戶請求包括請求時間段及所述請求時間段內待執行的負載均衡方法;基于所述用戶請求,生成至少一個定時任務,并基于所述請求時間段確定所述定時任務的執行時間段;基于所述用戶請求,確定所述執行時間段內待執行的負載均衡方法。
根據本申請的另一方面,還提供了一種基于時間調整的負載均衡的設備,包括:
獲取裝置,用于獲取并記錄至少一個定時任務,其中,所述定時任務包括執行時間段及所述執行時間段內待執行的負載均衡方法;
執行裝置,用于判斷當前時間是否進入某一所述定時任務的執行時間段,若是,則獲取所述定時任務所對應的負載均衡方法,并基于對應所述負載均衡方法處理多個服務器之間的負載均衡,直至對應所述定時任務的執行時間段結束。
進一步地,所述獲取裝置包括:
獲取請求單元,用于獲取用戶請求,其中,所述用戶請求包括請求時間段及所述請求時間段內待執行的負載均衡方法;
生成單元,用于基于所述用戶請求,生成至少一個定時任務,并基于所述請求時間段確定所述定時任務的執行時間段;
確定單元,用于基于所述用戶請求,確定所述執行時間段內待執行的負載均衡方法。
此外,本申請還提供了一種基于時間調整的負載均衡的設備,包括:
處理器;
以及被安排成存儲計算機可執行指令的存儲器,所述可執行指令在被執行時使所述處理器:
獲取并記錄至少一個定時任務,其中,所述定時任務包括執行時間段及所述執行時間段內待執行的負載均衡方法;
判斷當前時間是否進入某一所述定時任務的執行時間段,若是,則獲取所述定時任務所對應的負載均衡方法,并基于對應所述負載均衡方法處理多個服務器之間的負載均衡,直至對應所述定時任務的執行時間段結束。
與現有技術相比,根據本申請的實施例所述的基于時間調整的負載均衡的方法和設備,通過獲取并記錄至少一個定時任務,其中,所述定時任務包括執行時間段及所述執行時間段內待執行的負載均衡方法;進一步地,基于用戶請求,獲取負載均衡的性能參數信息;接著,基于所述負載均衡的性能參數信息確定所述執行時間段內待執行的負載均衡方法。從而實現基于定義多種時間段的方式創建不同的負載均衡方法,在執行時間段內執行對應的負載均衡方法。進一步地,判斷當前時間是否進入某一所述定時任務的執行時間段,若是,則獲取所述定時任務所對應的負載均衡方法,并基于對應所述負載均衡方法處理多個服務器之間的負載均衡,直至對應所述定時任務的執行時間段結束,進而實現用戶的彈性配置,采用滿足用戶需求的負載均衡方法被靈活應用于復雜的用戶場景,進而增強了負載均衡的適用性。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優點將會變得更明顯:
圖1示出根據本申請一個方面的一種基于時間調整的負載均衡的設備的結構示意圖;
圖2示出根據本申請一個方面的一個優選實施例的獲取裝置11的結構示意圖;
圖3(a)示出的已有的定時任務和對應時間段內的策略;
圖3(b)示出根據本申請一個方面的更新定時任務的一個優選實施例的示意圖;
圖4示出根據本申請又一個方面的一種基于時間調整的負載均衡的方法流程示意圖;
圖5示出根據本申請又一個方面的一個優選實施例的步驟s11的方法流程示意圖。
附圖中相同或相似的附圖標記代表相同或相似的部件。
具體實施方式
下面結合附圖對本申請作進一步詳細描述。
圖1示出根據本申請一個方面的一種基于時間調整的負載均衡的設備的結構示意圖。所述設備1包括獲取裝置11和執行裝置12,其中,獲取裝置11獲取并記錄至少一個定時任務,其中,所述定時任務包括執行時間段及所述執行時間段內待執行的負載均衡方法;執行裝置12判斷當前時間是否進入某一所述定時任務的執行時間段,若是,則獲取所述定時任務所對應的負載均衡方法,并基于對應所述負載均衡方法處理多個服務器之間的負載均衡,直至對應所述定時任務的執行時間段結束。
在此,所述設備1包括但不限于用戶設備、或用戶設備與網絡設備通過網絡相集成所構成的設備。所述用戶設備其包括但不限于任何一種可與用戶通過觸摸板進行人機交互的移動電子產品,例如智能手機、pda等,所述移動電子產品可以采用任意操作系統,如android操作系統、ios操作系統等。其中,所述網絡設備包括一種能夠按照事先設定或存儲的指令,自動進行數值計算和信息處理的電子設備,其硬件包括但不限于微處理器、專用集成電路(asic)、可編程門陣列(fpga)、數字處理器(dsp)、嵌入式設備等。所述網絡包括但不限于互聯網、廣域網、城域網、局域網、vpn網絡、無線自組織網絡(adhoc網絡)等。優選地,設備1還可以是運行于所述用戶設備、或用戶設備與網絡設備、觸摸終端或網絡設備與觸摸終端通過網絡相集成所構成的設備上的腳本程序。當然,本領域技術人員應能理解上述設備1僅為舉例,其他現有的或今后可能出現的設備1如可適用于本申請,也應包含在本申請保護范圍以內,并在此以引用方式包含于此。
上述各裝置之間是持續不斷工作的,在此,本領域技術人員應理解“持續”是指上述各裝置分別實時地或者按照設定的或實時調整的工作模式要求,例如所述獲取裝置11持續獲取并記錄至少一個定時任務;執行裝置12持續判斷當前時間是否進入某一所述定時任務的執行時間段,若是,則獲取所述定時任務所對應的負載均衡方法,并基于對應所述負載均衡方法處理多個服務器之間的負載均衡,直至對應所述定時任務的執行時間段結束,直至所述設備1完成調整負載均衡工作或停止工作。
本申請一實施例所述設備1用于基于時間調整的負載均衡使得根據用戶的請求在請求的執行時間段內執行對應的負載均衡方法,進而實現用戶的彈性配置以滿足用戶的需求,同時增強負載均衡的適用性。
本領域技術人員應能理解,在具體的方案實施中,所述負載均衡策略用于根據用戶的訪問請求根據相應的已制定的負載均衡策略選擇后臺服務器去處理請求,為表述方便,我們將在實施例中對負載均衡方法與負載均衡策略(slb策略)進行互換使用。
具體地,獲取裝置11獲取并記錄至少一個定時任務,其中,所述定時任務包括執行時間段及所述執行時間段內待執行的負載均衡方法。
在此,負載均衡(serverloadbalancer,slb)是對多臺云服務器進行流量分發的負載均衡服務,負載均衡可以通過流量分發擴展應用系統對外的服務能力,通過消除單點故障提升應用系統的可用性。在本申請一實施例中,slb控制器(slbcontroller)將slb策略下發給slb轉發服務器,為實現基于時間的策略,需要在slb控制器上創建一個時間服務器,所有與時間相關的策略都會發送給時間服務器,時間服務器根據時間策略下發相應的轉發策略到轉發服務器。需要說明的是,在上述實施例中,獲取裝置11可包括時間服務器,時間服務器實現一次性定時任務和循環的定時任務,其中,定時任務為在時間段內執行用戶選擇的待執行的負載均衡策略。通過獲取用戶請求的時間段信息和在時間段內待執行的slb策略信息生成至少一個定時任務,基于定時任務在請求的時間段內執行相應的slb策略。例如,用戶根據自己的流量使用情況,在時間段06:00-18:00內選擇slb策略a,在時間段18:00-次日06:00內選擇slb策略b,將選擇的時間段請求信息及對應時間段內執行的slb策略信息發送給時間服務器,并生成了兩個定時任務,定時任務a用于時間服務器在時間段06:00-18:00內執行slb策略a,定時任務b用于時間服務器在時間段18:00-次日06:00內執行slb策略b。
本領域技術人員應能理解,所述獲取并記錄定時任務的方法僅為舉例,其他現有的或今后可能出現的獲取并記錄定時任務的方法如可適用于本申請,也應包含在本申請保護范圍以內,并在此以引用方式包含于此。
具體地,執行裝置12判斷當前時間是否進入某一所述定時任務的執行時間段,若是,則獲取所述定時任務所對應的負載均衡方法,并基于對應所述負載均衡方法處理多個服務器之間的負載均衡,直至對應所述定時任務的執行時間段結束。
接前例,當用戶根據自己的流量使用情況,在時間段06:00-18:00內選擇slb策略a,在時間段18:00-次日06:00內選擇slb策略b后,時間服務器獲取到所述用戶選擇的時間段請求信息及對應時間段內執行的slb策略信息,將獲取到的信息根據轉發策略轉發給轉發服務器進而實現多個服務器之間的負載均衡,而在執行多個定時任務時,需要判斷當前時間是否進入所選擇的某一時間段,如若當前時間屬于時間段06:00-18:00內,則執行slb策略a,直至時間點18:00結束,然后開始進入下一時間段18:00-次日06:00,此段時間內一直執行slb策略b直至該段時間對應的定時任務b結束。
優選地,如圖2示出的根據本申請一個方面的一個優選實施例的獲取裝置11的結構示意圖。所述獲取裝置11包括:獲取請求單元111、生成單元112和確定單元113。其中,獲取請求單元111獲取用戶請求,其中,所述用戶請求包括請求時間段及所述請求時間段內待執行的負載均衡方法;生成單元112基于所述用戶請求,生成至少一個定時任務,并基于所述請求時間段確定所述定時任務的執行時間段;確定單元113基于所述用戶請求,確定所述執行時間段內待執行的負載均衡方法。
在一具體實施例中,獲取請求單元111獲取用戶選擇的時間段信息及該時間段內所要使用的slb策略信息,生成單元112根據所獲取到的請求信息生成對應的定時任務,確定要執行定時任務的時間段,接著,確定單元113確定在執行時間段內執行用戶所需的slb策略,即每一時間段內執行相應的slb策略,在該時間段的時間開始時加入slb策略,在時間點結束時刪除該slb策略,進入下一個時間段重新加入新的策略然后執行,從而使得根據用戶的需求完成用戶的彈性配置。
優選地,所述確定單元113用于基于用戶請求,獲取負載均衡的性能參數信息;接著,基于所述負載均衡的性能參數信息確定所述執行時間段內待執行的負載均衡方法。
在此,更優選地,所述性能參數信息包括至少以下任一項:帶寬量、可創建的連接數、每秒可新建連接數。例如,用戶某個月要促銷,在該月內要求增大帶寬量,所需帶寬由之前的a變為b,則根據用戶的請求,確定在該月內執行分配給該用戶帶寬b,其余月的時間段分配帶寬a的slb策略;又如,某企業的服務器要在某個時間段內調整可創建連接的個人計算機(pc)的數量,根據可創建的連接數的請求確定在所需的時間段內的slb策略。又或者服務器所需的每秒可新建連接數的請求確定對應的調整的slb策略。需要說明的是,所述帶寬量、可創建的連接數和每秒可新建連接數是負載均衡對外提供的資源,可作為用戶所擁有的slb性能參數,通過基于時間所創建的slb策略調整了負載均衡分配給用戶服務器的資源,使得滿足用戶使用slb的要求。比如在用戶流量較大時增大帶寬而在用戶流量小時減小帶寬這樣的彈性策略節省了用戶的開支。
優選地,所述確定單元113還用于:當所獲取的負載均衡的性能參數信息超過負載均衡已有服務能力的性能參數信息時,則停止生成所述定時任務,并反饋報警通知信息。
在此,判斷負載均衡的服務能力是基于轉發服務器的能力和定時任務執行的策略所引用的服務能力,比如帶寬、可創建的連接數、每秒可新建連接數這些性能參數。如果所有用戶選擇的slb策略所引用的服務能力之和超過了轉發服務器的能力,則告警并通知管理員采取相應的措施,比如限制用戶所引用的服務能力或者轉發服務器擴容,其中,限制用戶所引用的服務能力可以為停止當前所生成的定時任務,即將不滿足負載均衡容量的某一slb策略在對應的時間段內停止執行,根據實際情況進行調整slb策略生成新的定時任務以滿足要求。
優選地,所述獲取裝置11還包括:第一更新單元(未示出)和第二更新單元(未示出),其中,所述第一更新單元用于當所述請求時間段與所述已有定時任務的執行時間段存在重合時間段時,則基于所述重合時間段更新所述已有定時任務的執行時間段;第二更新單元用于基于更新的所述執行時間段更新已有定時任務,其中,所述定時任務為單次執行的定時任務或定期循環執行的定時任務。
在一具體實施例中,如圖3(a)示出的已有的定時任務和對應時間段內的策略,在時間段a中執行策略a,在時間段b中執行策略b。當用戶突然有某種需求,如圖3(b)所示的需要在時間段c內執行策略c,而時間段c的一部分時間段屬于時間段a,另外一部分時間段屬于時間段b,存在重合時間段,此時,需要更新已有定時任務的執行時間段,即將原來的時間段a執行slb策略a和時間段b執行slb策略b更新為時間段a’內執行slb策略a,下一個時間段c內執行slb策略c,接著的時間段b’內執行slb策略b,可以看出,策略a和策略b對應的定時任務的執行時間段發生了改變,這樣根據用戶的選擇請求彈性的配置了用戶所需的slb策略,使得負載均衡更加的靈活和適應于不同的環境,拓展了負載均衡的適應性。另外,根據更新的時間段,更新已有的定時任務,如在時間段a’內單次執行策略a的定時任務和在時間段c內循環執行策略c。
優選地,所述執行裝置12用于:當對應所述定時任務的執行時間段結束時,刪除已有負載均衡方法并獲取下一所述執行時間段所對應的負載均衡方法。
在此,在時間段開始的時間點獲取到該時間段對應的定時任務,在時間段結束的時間點結束該定時任務,刪除該時間段內對應的slb策略,并獲取下一個執行時間段對應的slb策略,如在一具體實施例中,用戶在3月需要增大帶寬,則在3月開始前執行的是slb策略1,當3月開始時刪除之前的slb策略1并獲取3月對應的slb策略2,即調整3月這個時間段的負載均衡策略,使得用戶的配置彈性化。
優選地,所述定時任務包括以下任一項:定期循環執行的定時任務;單次執行的定時任務;所述單次執行的定時任務與定期循環執行的定時任務配合的定時任務。
在此,優選地,基于時間的slb策略可以按照以下方式創建:
1)按時間段循環的策略,如以一天為單位,定義24小時內的slb策略,這些策略每天循環;或以一周為單位,定義7*24小時內的slb策略,這些策略每周循環,又或者以一月為單位,定義30天內的slb策略,這些策略每月循環。獲取裝置11獲取到需要定期循環的時間段信息及對應的slb策略后生成對應的定時任務,該定時任務按要求定期循環執行。需要說明的是,上述按時間段循環的策略的創建方式僅為舉例,還可以是以任一單位時間為循環時間段進行循環相應的slb策略,其他現有的或今后可能出現的定期循環執行的定時任務如可適用于本申請,也應包含在本申請保護范圍以內,并在此以引用方式包含于此。
2)每個時間段不同的策略,在不同的時間段對應不同的slb策略,且時間段內的策略不循環。即獲取到這些時間段信息及對應的slb策略后生成時間段對應的定時任務,當時間段結束時刪除對應的策略,不循環執行時間段內的策略。例如,在具體場景中,9:00-17:00這個時間段是上班時間,需要增大帶寬,使用slb策略2,而在時間段22:00-次日06:00這個時間段內需要減少帶寬,使用slb策略3,其他時間段執行策略1,則生成的定時任務都是單次執行,即在9:00-17:00這個時間段內執行策略2后就結束相應的定時任務,在時間段22:00-次日06:00這個時間段內執行完策略3就結束相對應額定時任務。又如,用戶付款時,以一個月為限產生賬單,用戶因某種情況需要在某一個月內的前一時間段內選擇固定帶寬的方式,而在剩余的時間段內采用按流量計費方式,則根據用戶的需求,在前一時間段內單次執行定時任務a,在此定時任務a是前一時間段內按固定帶寬付費的策略,時間段結束則改變付費方式,在剩余的時間段內也單次執行定時任務b,在此定時任務b是指在剩余時間段內按流量付費的策略,時間段結束則停止定時任務b,刪除按流量付費策略并獲取新的時間段及時間段對應的策略。
3)創建組合策略,在不同的時間段使用不同的策略,且某個時間段內又可以定義循環執行策略。例如,用戶在某個月(如11月)流量要大促,則在這個月定一個大帶寬,即在其他的月份里執行策略a,在11月這個時間段內執行策略b,增大帶寬,但在這個月內的時間段內還可以定義循環策略,按照不同時間段所需的帶寬大小不同定義循環的策略,如在這個月的白天時間段內執行策略b’1,在晚上時間段內執行策略b’2。根據用戶的選擇請求完成單次執行的定時任務與定期循環執行的定時任務配合的定時任務。
需要說明的是,在以上實施例中,獲取用戶所選擇的多種slb策略進而調整的負載均衡進行服務時需滿足所有用戶使用的策略所引用的服務能力之和不能超過轉發服務器的服務能力,若超過,則需要告警并發通知信息進而采取相應的措施。
本領域技術人員應能理解,所述基于時間的slb策略的創建方式僅為舉例,其他現有的或今后可能出現的創建方式如可適用于本申請,也應包含在本申請保護范圍以內,并在此以引用方式包含于此。
圖4示出根據本申請又一個方面的一種基于時間調整的負載均衡的方法的流程示意圖。所述方法包括步驟s11和步驟s12,其中,在步驟s11中,獲取并記錄至少一個定時任務,其中,所述定時任務包括執行時間段及所述執行時間段內待執行的負載均衡方法;在步驟s12中,判斷當前時間是否進入某一所述定時任務的執行時間段,若是,則獲取所述定時任務所對應的負載均衡方法,并基于對應所述負載均衡方法處理多個服務器之間的負載均衡,直至對應所述定時任務的執行時間段結束。
本申請一實施例所述基于時間調整的負載均衡的方法使得根據用戶的請求在請求的執行時間段內執行對應的負載均衡方法,進而實現用戶的彈性配置以滿足用戶的需求,同時增強負載均衡的適用性。
本領域技術人員應能理解,在具體的方案實施中,所述負載均衡策略用于根據用戶的訪問請求根據相應的已制定的負載均衡策略選擇后臺服務器去處理請求,為表述方便,我們將在實施例中對負載均衡方法與負載均衡策略(slb策略)進行互換使用。
具體地,在步驟s11中,獲取并記錄至少一個定時任務,其中,所述定時任務包括執行時間段及所述執行時間段內待執行的負載均衡方法。
在此,負載均衡(serverloadbalancer,slb)是對多臺云服務器進行流量分發的負載均衡服務,負載均衡可以通過流量分發擴展應用系統對外的服務能力,通過消除單點故障提升應用系統的可用性。在本申請一實施例中,slb控制器(slbcontroller)將slb策略下發給slb轉發服務器,為實現基于時間的策略,需要在slb控制器上創建一個時間服務器,所有與時間相關的策略都會發送給時間服務器,時間服務器根據時間策略下發相應的轉發策略到轉發服務器。需要說明的是,在上述實施例中,在步驟s11中創建時間服務器,時間服務器實現一次性定時任務和循環的定時任務,其中,定時任務為在時間段內執行用戶選擇的待執行的負載均衡策略。通過獲取用戶請求的時間段信息和在時間段內待執行的slb策略信息生成至少一個定時任務,基于定時任務在請求的時間段內執行相應的slb策略。例如,用戶根據自己的流量使用情況,在時間段06:00-18:00內選擇slb策略a,在時間段18:00-次日06:00內選擇slb策略b,將選擇的時間段請求信息及對應時間段內執行的slb策略信息發送給時間服務器,并生成了兩個定時任務,定時任務a用于時間服務器在時間段06:00-18:00內執行slb策略a,定時任務b用于時間服務器在時間段18:00-次日06:00內執行slb策略b。
本領域技術人員應能理解,所述獲取并記錄定時任務的方法僅為舉例,其他現有的或今后可能出現的獲取并記錄定時任務的方法如可適用于本申請,也應包含在本申請保護范圍以內,并在此以引用方式包含于此。
具體地,在步驟s12中,判斷當前時間是否進入某一所述定時任務的執行時間段,若是,則獲取所述定時任務所對應的負載均衡方法,并基于對應所述負載均衡方法處理多個服務器之間的負載均衡,直至對應所述定時任務的執行時間段結束。
接前例,當用戶根據自己的流量使用情況,在時間段06:00-18:00內選擇slb策略a,在時間段18:00-次日06:00內選擇slb策略b后,時間服務器獲取到所述用戶選擇的時間段請求信息及對應時間段內執行的slb策略信息,將獲取到的信息根據轉發策略轉發給轉發服務器進而實現多個服務器之間的負載均衡,而在執行多個定時任務時,需要判斷當前時間是否進入所選擇的某一時間段,如若當前時間屬于時間段06:00-18:00內,則執行slb策略a,直至時間點18:00結束,然后開始進入下一時間段18:00-次日06:00,此段時間內一直執行slb策略b直至該段時間對應的定時任務b結束。
優選地,如圖5示出的根據本申請又一個方面的一個優選實施例的步驟s11的流程示意圖。所述步驟s11包括:步驟s111、步驟s112和步驟s113。其中,在步驟s111中,獲取用戶請求,其中,所述用戶請求包括請求時間段及所述請求時間段內待執行的負載均衡方法;接著步驟s112中,基于所述用戶請求,生成至少一個定時任務,并基于所述請求時間段確定所述定時任務的執行時間段;最后在步驟s113中,基于所述用戶請求,確定所述執行時間段內待執行的負載均衡方法。
在一具體實施例中,在步驟s111中獲取用戶選擇的時間段信息及該時間段內所要使用的slb策略信息,進行步驟s112:根據所獲取到的請求信息生成對應的定時任務,確定要執行定時任務的時間段,接著,經過步驟s113確定在執行時間段內執行用戶所需的slb策略,即每一時間段內執行相應的slb策略,在該時間段的時間開始時加入slb策略,在時間點結束時刪除該slb策略,進入下一個時間段重新加入新的策略然后執行,從而使得根據用戶的需求完成用戶的彈性配置。
優選地,所述步驟s113包括:基于用戶請求,獲取負載均衡的性能參數信息;基于所述負載均衡的性能參數信息確定所述執行時間段內待執行的負載均衡方法。
在此,更優選地,所述性能參數信息包括至少以下任一項:帶寬量、可創建的連接數、每秒可新建連接數。例如,用戶某個月要促銷,在該月內要求增大帶寬量,所需帶寬由之前的a變為b,則根據用戶的請求,確定在該月內執行分配給該用戶帶寬b,其余月的時間段分配帶寬a的slb策略;又如,某企業的服務器要在某個時間段內調整可創建連接的個人計算機(pc)的數量,根據可創建的連接數的請求確定在所需的時間段內的slb策略。又或者服務器所需的每秒可新建連接數的請求確定對應的調整的slb策略。需要說明的是,所述帶寬量、可創建的連接數和每秒可新建連接數是負載均衡對外提供的資源,可作為用戶所擁有的slb性能參數,通過基于時間所創建的slb策略調整了負載均衡分配給用戶服務器的資源,使得滿足用戶使用slb的要求。比如在用戶流量較大時增大帶寬而在用戶流量小時減小帶寬這樣的彈性策略節省了用戶的開支。
優選地,所述步驟s113還包括:當所獲取的負載均衡的性能參數信息超過負載均衡已有服務能力的性能參數信息時,則停止生成所述定時任務,并反饋報警通知信息。
在此,判斷負載均衡的服務能力是基于轉發服務器的能力和定時任務執行的策略所引用的服務能力,比如帶寬、可創建的連接數、每秒可新建連接數這些性能參數。如果所有用戶選擇的slb策略所引用的服務能力之和超過了轉發服務器的能力,則告警并通知管理員采取相應的措施,比如限制用戶所引用的服務能力或者轉發服務器擴容,其中,限制用戶所引用的服務能力可以為停止當前所生成的定時任務,即將不滿足負載均衡容量的某一slb策略在對應的時間段內停止執行,根據實際情況進行調整slb策略生成新的定時任務以滿足要求。
優選地,所述步驟s11還包括:當所述請求時間段與所述已有定時任務的執行時間段存在重合時間段時,則基于所述重合時間段更新所述已有定時任務的執行時間段;接著,基于更新的所述執行時間段更新已有定時任務,其中,所述定時任務為單次執行的定時任務或定期循環執行的定時任務。
在一具體實施例中,如圖3(a)示出的已有的定時任務和對應時間段內的策略,在時間段a中執行策略a,在時間段b中執行策略b。當用戶突然有某種需求,如圖3(b)所示的需要在時間段c內執行策略c,而時間段c的一部分時間段屬于時間段a,另外一部分時間段屬于時間段b,存在重合時間段,此時,需要更新已有定時任務的執行時間段,即將原來的時間段a執行slb策略a和時間段b執行slb策略b更新為時間段a’內執行slb策略a,下一個時間段c內執行slb策略c,接著的時間段b’內執行slb策略b,可以看出,策略a和策略b對應的定時任務的執行時間段發生了改變,這樣根據用戶的選擇請求彈性的配置了用戶所需的slb策略,使得負載均衡更加的靈活和適應于不同的環境,拓展了負載均衡的適應性。另外,根據更新的時間段,更新已有的定時任務,如在時間段a’內單次執行策略a的定時任務和在時間段c內循環執行策略c。
優選地,所述步驟s12包括:當對應所述定時任務的執行時間段結束時,刪除已有負載均衡方法并獲取下一所述執行時間段所對應的負載均衡方法。
在此,在時間段開始的時間點獲取到該時間段對應的定時任務,在時間段結束的時間點結束該定時任務,刪除該時間段內對應的slb策略,并獲取下一個執行時間段對應的slb策略,如在一具體實施例中,用戶在3月需要增大帶寬,則在3月開始前執行的是slb策略1,當3月開始時刪除之前的slb策略1并獲取3月對應的slb策略2,即調整3月這個時間段的負載均衡策略,使得用戶的配置彈性化。
優選地,所述定時任務包括以下任一項:定期循環執行的定時任務;單次執行的定時任務;所述單次執行的定時任務與定期循環執行的定時任務配合的定時任務。
在此,優選地,基于時間的slb策略可以按照以下方式創建:
1)按時間段循環的策略,如以一天為單位,定義24小時內的slb策略,這些策略每天循環;或以一周為單位,定義7*24小時內的slb策略,這些策略每周循環,又或者以一月為單位,定義30天內的slb策略,這些策略每月循環。獲取裝置11獲取到需要定期循環的時間段信息及對應的slb策略后生成對應的定時任務,該定時任務按要求定期循環執行。需要說明的是,上述按時間段循環的策略的創建方式僅為舉例,還可以是以任一單位時間為循環時間段進行循環相應的slb策略,其他現有的或今后可能出現的定期循環執行的定時任務如可適用于本申請,也應包含在本申請保護范圍以內,并在此以引用方式包含于此。
2)每個時間段不同的策略,在不同的時間段對應不同的slb策略,且時間段內的策略不循環。即獲取到這些時間段信息及對應的slb策略后生成時間段對應的定時任務,當時間段結束時刪除對應的策略,不循環執行時間段內的策略。例如,在具體場景中,9:00-17:00這個時間段是上班時間,需要增大帶寬,使用slb策略2,而在時間段22:00-次日06:00這個時間段內需要減少帶寬,使用slb策略3,其他時間段執行策略1,則生成的定時任務都是單次執行,即在9:00-17:00這個時間段內執行策略2后就結束相應的定時任務,在時間段22:00-次日06:00這個時間段內執行完策略3就結束相對應額定時任務。又如,用戶付款時,以一個月為限產生賬單,用戶因某種情況需要在某一個月內的前一時間段內選擇固定帶寬的方式,而在剩余的時間段內采用按流量計費方式,則根據用戶的需求,在前一時間段內單次執行定時任務a,在此定時任務a是前一時間段內按固定帶寬付費的策略,時間段結束則改變付費方式,在剩余的時間段內也單次執行定時任務b,在此定時任務b是指在剩余時間段內按流量付費的策略,時間段結束則停止定時任務b,刪除按流量付費策略并獲取新的時間段及時間段對應的策略。
3)創建組合策略,在不同的時間段使用不同的策略,且某個時間段內又可以定義循環執行策略。例如,用戶在某個月(如11月)流量要大促,則在這個月定一個大帶寬,即在其他的月份里執行策略a,在11月這個時間段內執行策略b,增大帶寬,但在這個月內的時間段內還可以定義循環策略,按照不同時間段所需的帶寬大小不同定義循環的策略,如在這個月的白天時間段內執行策略b’1,在晚上時間段內執行策略b’2。根據用戶的選擇請求完成單次執行的定時任務與定期循環執行的定時任務配合的定時任務。
需要說明的是,在以上實施例中,獲取用戶所選擇的多種slb策略進而調整的負載均衡進行服務時需滿足所有用戶使用的策略所引用的服務能力之和不能超過轉發服務器的服務能力,若超過,則需要告警并發通知信息進而采取相應的措施。
本領域技術人員應能理解,所述基于時間的slb策略的創建方式僅為舉例,其他現有的或今后可能出現的創建方式如可適用于本申請,也應包含在本申請保護范圍以內,并在此以引用方式包含于此。
此外,本申請還提供了一種基于時間調整的負載均衡的設備,包括:
處理器;
以及被安排成存儲計算機可執行指令的存儲器,所述可執行指令在被執行時使所述處理器:
獲取并記錄至少一個定時任務,其中,所述定時任務包括執行時間段及所述執行時間段內待執行的負載均衡方法;
判斷當前時間是否進入某一所述定時任務的執行時間段,若是,則獲取所述定時任務所對應的負載均衡方法,并基于對應所述負載均衡方法處理多個服務器之間的負載均衡,直至對應所述定時任務的執行時間段結束。
需要注意的是,本申請可在軟件和/或軟件與硬件的組合體中被實施,例如,可采用專用集成電路(asic)、通用目的計算機或任何其他類似硬件設備來實現。在一個實施例中,本申請的軟件程序可以通過處理器執行以實現上文所述步驟或功能。同樣地,本申請的軟件程序(包括相關的數據結構)可以被存儲到計算機可讀記錄介質中,例如,ram存儲器,磁或光驅動器或軟磁盤及類似設備。另外,本申請的一些步驟或功能可采用硬件來實現,例如,作為與處理器配合從而執行各個步驟或功能的電路。
另外,本申請的一部分可被應用為計算機程序產品,例如計算機程序指令,當其被計算機執行時,通過該計算機的操作,可以調用或提供根據本申請的方法和/或技術方案。而調用本申請的方法的程序指令,可能被存儲在固定的或可移動的記錄介質中,和/或通過廣播或其他信號承載媒體中的數據流而被傳輸,和/或被存儲在根據所述程序指令運行的計算機設備的工作存儲器中。在此,根據本申請的一個實施例包括一個裝置,該裝置包括用于存儲計算機程序指令的存儲器和用于執行程序指令的處理器,其中,當該計算機程序指令被該處理器執行時,觸發該裝置運行基于前述根據本申請的多個實施例的方法和/或技術方案。
對于本領域技術人員而言,顯然本申請不限于上述示范性實施例的細節,而且在不背離本申請的精神或基本特征的情況下,能夠以其他的具體形式實現本申請。因此,無論從哪一點來看,均應將實施例看作是示范性的,而且是非限制性的,本申請的范圍由所附權利要求而不是上述說明限定,因此旨在將落在權利要求的等同要件的含義和范圍內的所有變化涵括在本申請內。不應將權利要求中的任何附圖標記視為限制所涉及的權利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數不排除復數。裝置權利要求中陳述的多個單元或裝置也可以由一個單元或裝置通過軟件或者硬件來實現。第一,第二等詞語用來表示名稱,而并不表示任何特定的順序。