一種多功能服務器調度方法
【技術領域】
[0001]本發明涉及通信領域,尤其涉及一種多功能服務器調度方法。
【背景技術】
[0002]在一個服務器集群上,有很多不同功能的服務器,這些功能服務器各自獨立,處理自己的業務,提供企業所需的全方位網絡服務,包括:企業的電子郵件、企業網站、Web服務、FTP文件傳輸、文件共享、項目管理系統、網絡辦公系統等常見的互聯網服務需求,同時可與企業現有系統進行無縫整合,保證企業的投資及原有系統的運用。多種安全機制,用于解決網絡安全和網絡管理服務問題,保障企業上網安全及數據安全。為了增加這一類業務并行處理的能力,往往會采用多臺相同功能的服務器同時運算,這時就需要有一個資源調度的服務程序來將客戶端的請求均勻的分配到不同的機器上去。常見的服務器負載平衡方法為用戶手動選擇方法和DNS輪詢方式。這兩種方法可靠性低、負載分配不均衡,導致某幾臺服務器負荷很低,而另幾臺服務器負荷很高、處理緩慢、配置高的服務器分配到的請求少,而配置低的服務器分配的請求多,造成單個服務器壓力過重或者閑置的情況。
【發明內容】
[0003]針對上述技術問題,本發明提供了一種多功能服務器調度方法,步驟包括:
[0004]I)將服務器按功能分成多個服務器組;
[0005]2)建立服務器組與客戶端業務對應的索引表;
[0006]3)根據客戶端業務,比對所述索引表選擇服務器組;
[0007]4)采用輪詢調度的方法,為客戶端確定與其業務相對應的服務器組中的服務器。
[0008]優選方案是:同組的服務器排成一個隊列。
[0009]優選方案是:所述輪詢調度的方法步驟包括:
[0010]a)提取客戶端業務ID,然后在索引表中查找與該業務ID對應的服務器組;
[0011]b)將該服務器組的服務器指針往后移一個單位后判斷所對應的服務器組指針所指向服務器是否空閑,如果服務器空閑,返回客戶端“該服務器資源可用”;如果服務器忙碌,所述指針繼續后移,繼續判斷服務器是否空閑,如果到達所述隊列的隊尾仍無空閑服務器,則所述指針跳轉到所述隊列的隊頭,重新開始判斷服務器是否空閑,直到所述指針移動到指針最初指向的位置仍無空閑服務器,則返回客戶端“無可用服務器資源”。
[0012]優選方案是:所述服務器均有一個可使用的標識。
[0013]優選方案是:客戶端訪問服務器組的最初位置為客戶端上次訪問服務器組指針指向位置的下一個位置。
[0014]優選方案是:所述服務器按功能分成多個組,每組執行相同的功能。
[0015]本發明將服務器按照功能進行分組,并建立索引,能夠讓客戶端請求快速定位服務器資源,同一組服務器采用輪詢調度算法,能夠讓客戶端請求均勻的分配到不同的機器上,避免了單個服務器壓力過重或者閑置的可能。
【附圖說明】
[0016]圖1為本發明的工作流程示意圖。
【具體實施方式】
[0017]在一個服務器集群上,有很多不同功能的服務器,這些功能服務器各自獨立,處理自己的業務,為了增加這一類業務并行處理的能力,往往會采用多臺相同功能的服務器同時運算,這時就需要有一個資源調度的服務程序來將客戶端的請求均勻的分配到不同的機器上去。常見的服務器負載平衡方法為:
[0018]I)用戶手動選擇方法
[0019]這是一種較為古老的方式,通過在主站首頁入口提供不同線路、不同服務器連接的方式,來實現負載均衡。
[0020]2) DNS輪詢方式
[0021]大多域名注冊商都支持多條A記錄的解析,這就是DNS輪詢,DNS服務器將解析請求按照A記錄的順序,逐一分配到不同的IP上,這樣就完成了簡單的負載均衡。雖然DNS輪詢的成本非常低,但是,DNS負載均衡存在兩個明顯的缺點。
[0022]a.可靠性低
[0023]假設一個域名DNS輪詢多臺服務器,如果其中的一臺服務器發生故障,那么所有的訪問該服務器的請求將不會有所回應,這是任何人都不愿意看到的。即使從DNS中去掉該服務器的IP,但在Internet上,各地區電信、網通等寬帶接入商將眾多的DNS存放在緩存中,以節省訪問時間,DNS記錄全部生效需要幾個小時,甚至更久。所以,盡管DNS輪流在一定程度上解決了負載均衡問題,但是卻存在可靠性不高的缺點。
[0024]b.負載分配不均衡
[0025]DNS負載均衡采用的是最簡單的輪詢負載算法,不能區分服務器的差異,不能反映服務器的當前運行狀態,不能做到為性能較好的服務器多分配請求,甚至會出現客戶請求集中在某一臺服務器上的情況DNS服務器是按照一定的層次結構組織的,本地DNS服務器會緩沖已解析的域名到IP地址的映射,這會導致使用該DNS服務器的用戶在一段時間內訪問的是同一臺Web服務器,導致Web服務器間的負載不均衡。此外,用戶本地計算機也會緩存已解析的域名到IP地址的映射。當多個用戶計算機都緩存了某域名到IP地址的映射時,而這些用戶繼續訪問該域名下的網頁,這是也會導致不同Web服務器件的負載分配不均衡。負載不均衡可能導致的后果有:某幾臺服務器負荷很低,而另幾臺服務器負荷很高、處理緩慢;配置高的服務器分配到的請求少,而配置麴的服務器分配的請求多。因此,DNS輪詢方式僅適用于一些可靠性要求不高的服務器集群,例如:圖片服務器群、純靜態網頁服務器集群等。
[0026]本發明采用了輪詢調度方法,輪詢調度是通信中信道調度的一種策略,該調度策略使用戶輪流使用共享資源,不會考慮瞬時信道條件。從相同數量無線資源(相同調度時間段)被分配給每條通信鏈路的角度講,輪詢調度被視為公平調度。
[0027]下面結合圖1對本發明進行詳細描述:
[0028]本發明提供了一種多功能服務器調度方法,步驟包括:
[0029]I)將服務器按功能分成多個服務器組,所述服務器按功能分成多個組,每組執行相同的功能;
[0030]2)建立服務器組與客戶端業務對應的索引表,提取客戶端業務ID,然后在索引表中查找與該業務ID對應的服務器組;
[0031]3)根據客戶端業務,比對所述索引表選擇服務器組;
[0032]4)采用輪詢調度的方法,為客戶端確定與其業務相對應的服務器組中的服務器,同組的服務器排成一個隊列;所述輪詢調度的方法步驟包括:將該服務器組的服務器指針往后移一個單位后判斷所對應的服務器組指針所指向服務器是否空閑,如果服務器空閑,返回客戶端“該服務器資源可用”;如果服務器忙碌,所述指針繼續后移,繼續判斷服務器是否空閑,如果到達所述隊列的隊尾仍無空閑服務器,則所述指針跳轉到所述隊列的隊頭,重新開始判斷服務器是否空閑,直到所述指針移動到指針最初指向的位置仍無空閑服務器,則返回客戶端“無可用服務器資源”。所述服務器均有一個可使用的標識。客戶端訪問服務器組的最初位置為客戶端上次訪問服務器組指針指向位置的下一個位置。
[0033]盡管本發明的實施方案已公開如上,但其并不僅僅限于說明書和實施方式中所列運用,它完全可以被適用于各種適合本發明的領域,對于熟悉本領域的人員而言,可容易地實現另外的修改,因此在不背離權利要求及等同范圍所限定的一般概念下,本發明并不限于特定的細節和這里示出與描述的圖例。
【主權項】
1.一種多功能服務器調度方法,其特征在于,包括以下步驟: 1)將服務器按功能分成多個服務器組; 2)建立服務器組與客戶端業務對應的索引表; 3)根據客戶端業務,比對所述索引表選擇服務器組; 4)采用輪詢調度的方法,為客戶端確定與其業務相對應的服務器組中的服務器。
2.根據權利要求1所述的服務器調度方法,其特征在于,同組的服務器排成一個隊列。
3.根據權利要求2所述的服務器調度方法,其特征在于,所述輪詢調度的方法步驟包括: a)提取客戶端業務ID,然后在索引表中查找與該業務ID對應的服務器組; b)將該服務器組的服務器指針往后移一個單位后判斷所對應的服務器組指針所指向服務器是否空閑,如果服務器空閑,返回客戶端“該服務器資源可用”;如果服務器忙碌,所述指針繼續后移,繼續判斷服務器是否空閑,如果到達所述隊列的隊尾仍無空閑服務器,則所述指針跳轉到所述隊列的隊頭,重新開始判斷服務器是否空閑,直到所述指針移動到指針最初指向的位置仍無空閑服務器,則返回客戶端“無可用服務器資源”。
4.根據權利要求1所述的服務器調度方法,其特征在于,所述服務器均有一個可使用的標識。
5.根據權利要求4所述的服務器調度方法,其特征在于,客戶端訪問服務器組的最初位置為客戶端上次訪問服務器組指針指向位置的下一個位置。
6.根據權利要求1所述的服務器調度方法,其特征在于,所述服務器按功能分成多個組,每組執行相同的功能。
【專利摘要】本發明公開了一種多功能服務器調度方法,包括以下步驟:1)將服務器按功能分成多個服務器組;2)建立服務器組與客戶端業務對應的索引表;3)根據客戶端業務,比對所述索引表選擇服務器組;4)采用輪詢調度的方法,為客戶端確定與其業務相對應的服務器組中的服務器。本發明將服務器按照功能進行分組,并建立索引,能夠讓客戶端請求快速定位服務器資源,同一組服務器采用輪詢調度算法,能夠讓客戶端請求均勻的分配到不同的機器上,避免了單個服務器壓力過重或者閑置的可能。
【IPC分類】H04L29-08, H04L12-863
【公開號】CN104852964
【申請號】CN201510169232
【發明人】徐志剛, 張立, 楊愛民
【申請人】北京金和軟件股份有限公司
【公開日】2015年8月19日
【申請日】2015年4月10日