專利名稱:基于云計算的分布式網絡培訓資源管理系統及調度方法
技術領域:
本發(fā)明涉及計算機技術領域,具體涉及一種基于云計算的分布式網絡培訓資源管理系統及調度方法。
背景技術:
現有技術中,通過分布式存儲方式可以提高訪問效率和增強存儲系統的安全性,但是同時帶了新的問題——調度問題。因此,近年來對分布式存儲的負載均衡策略的研究成為了熱點,從靜態(tài)的負載均衡策略一直發(fā)展到效果相對較好的動態(tài)負載均衡策略。靜態(tài)負載均衡策略不必考慮各節(jié)點服務器上的實際負載情況,只要根據預先設定好的方案來分配任務,這種算法的優(yōu)點體現在其開銷小和簡單性上,但由于每個任務所占用的服務器資源不盡相同且難以預測,因此只能在一定程度上實現負載均衡,結果往往不能令人滿意。動態(tài)負載均衡策略考慮各節(jié)點服務器的實時負載和響應情況,將新進來的請求優(yōu)先分配到某一評價值最高服務器上,以此來提高整個系統的吞吐率和降低響應時間,其效果相對優(yōu)于靜態(tài)負載均衡策略?,F有的網絡培訓資源管理系統由于調度算法性能不佳,導致網絡資源消耗高,網絡資源利用率低,有待改進。
發(fā)明內容
本發(fā)明提供一種基于云計算的分布式網絡培訓資源管理系統及調度方法,能夠在滿足系統負載均衡的前提下提高用戶訪問的響應速度,并在保證負載均衡的前提下實現全局最佳就近訪問。
本發(fā)明一種基于云計算的分布式網絡培訓資源管理系統,包括:服務器管理模塊,用于管理系統的硬件服務器信息,為課件訪問調度模塊提供服務器信息;課件訪問調度模塊,用于系統負載均衡的分布式調度,生成調度日志,為報表模塊統計服務器使用情況和資源使用情況提供依據;報表模塊,用于所述統計課件訪問調度模塊分布式調度中的信息,并且為所述課件訪問調度模塊提供優(yōu)化的數據;系統監(jiān)控模塊,用于獲取服務器內存、存儲、CPU利用率以及應用服務器的會話數和內存信息,為所述課件訪問調度模塊提供調度依據;接口管理模塊,用于為所述系統監(jiān)控模塊提供服務器監(jiān)控信息以及為其它模塊提供課件資源信息;系統管理模塊,用于提供對系統運行所需的參數和業(yè)務流轉所需的配置信息進行統一維護,為其它模塊提供權限配置。優(yōu)選的,所述課件訪問調度模塊包括:策略配置模塊、分布式調度模塊、調度日志模塊,其中,
策略配置模塊,用于配置負載過重時調度遷移的方向;分布式調度模塊,用于配置調度值計算公式和調度決策算法,并且利用所述策略配置模塊啟動調度,并為調度日志模塊提供數據;調度日志模塊,用于記錄分布式調度模塊中產生的調度時間、URL、訪問時間、資源名稱的信息。優(yōu)選的,所述分布式調度模塊包括:調度模塊、負載均衡策略數據生成模塊;其中,調度模塊,用于直接對訪問進行調度,負責對用戶訪問的首次請求作出響應,所述響應包括對IP庫和負載均衡策略數據的查表以及訪問重定向操作;負載均衡策略數據生成模塊,用于生成負載均衡策略數據,用于為所述調度模塊提供調度數據。優(yōu)選的,所述負載均衡策略數據生成模塊生成數據的時候,以設定時間內來自各個QueryUnit的訪問數量統計數據作為生成數據的依據,所述統計數據是由所述報表模塊
負責收集。本發(fā)明還提供一種基于云計算的分布式網絡培訓資源管理系統調度方法,采用上述系統,所述系統調度流程包括如下步驟:501:獲取訪問的IP地址;502:根據所述IP地址查詢IP庫;503:查詢負載均衡 策略數據;504:進行重定向過程。優(yōu)選的,所述IP庫存儲在Hash表中,所述根據所述IP地址查詢IP庫包括:輸入IP地址,輸出地市id。優(yōu)選的,所述負載均衡策略數據存儲在一維數組上,該數組的下標對應地市id。上述技術方案可以看出,由于本發(fā)明實施例采用基于云計算的分布式網絡培訓資源管理系統及調度方法,能夠在滿足系統負載均衡的前提下提高用戶訪問的響應速度,在保證負載均衡的前提下實現全局最佳就近訪問。
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。圖1是本發(fā)明云計算的分布式網絡培訓資源管理系統的概括示意圖;圖2是本發(fā)明云計算的分布式網絡培訓資源管理系統的具體結構示意圖;圖3是本發(fā)明系統中的分布式調度模塊結構示意圖;圖4是本發(fā)明系統中的分布式調度模塊的處理流程示意圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例提供一種基于云計算的分布式網絡培訓資源管理系統及調度方法,能夠在滿足系統負載均衡的前提下提高用戶訪問的響應速度,在保證負載均衡的前提下實現全局最佳就近訪問。以下分別進行詳細說明。圖1和圖2描述了本發(fā)明系統的結構。其中圖1是系統的概括示意圖,圖2是系統的功能結構的具體示意圖。本發(fā)明分布式網絡培訓資源管理系統由服務器管理模塊、課件訪問調度模塊、系統監(jiān)控模塊、接口管理模塊、報表模塊以及系統管理模塊組成。其中:服務器管理模塊,用于管理系統的硬件服務器信息,為課件訪問調度模塊提供服務器信息。課件訪問調度模塊,用于系統負載均衡的分布式調度,生成調度日志,為報表模塊統計服務器使用情況和資源使用情況提供依據。課件訪問調度模塊由策略配置模塊、分布式調試模塊、調度日志模塊組成。策略配置模塊,用于配置負載過重時調度遷移的方向;分布式調度模塊,用于配置調度值計算公式和調度決策算法,并且利用策略配置模塊啟動調度,并為調度日志模塊提供數據;調度日志模塊,用于記錄分布式調度模塊中產生的調度時間、URL、訪問時間、資源名稱等信息。報表模塊,用于統計課件訪問調度模塊分布式調度中的相關信息,并且為課程訪問調度模塊提供優(yōu)化的數據。系統監(jiān)控模塊,用于獲取服務器內存、存儲、CPU利用率以及應用服務器的會話數、JVM內存等信息,為課件訪問調度模塊提供調度依據。接口管理模塊,主要用于為系統監(jiān)控模塊提供相關的報務器監(jiān)控信息以及為其它模塊提供課件資源相關信息。系統管理模塊,主要用于提供對系統運行所需的參數和業(yè)務流轉所需的相關配置信息進行統一維護,為其它模塊提供權限配置。如圖3所示,是課件訪問調度模塊中的分布式調度模塊結構示意圖。分布式調度模塊由調度模塊和負載均衡數據生成模塊組成。其中,調度模塊,用于直接對訪問進行調度,負責對用戶訪問的首次請求作出響應。這個響應主要是指對IP庫和負載均衡策略數據的查表以及訪問重定向操作。負載均衡策略生成模塊,生成負載均衡策略數據,用于為調度模塊提供調度數據。在負載均衡策略數據生成模塊生成數據的時候,需要以一段時間內來自各個QueryUnit ( “地市名”的值定義)的訪問數量統計數據作為生成數據的依據。這個統計數據是由報表模塊來負責收集的。報表模塊中的課件訪問情況統計模塊必須隨時記錄對系統的訪問情況,以該訪問所屬的QueryUnit來作為統計依據。統計數據必須存儲在數據庫中,并為負載均衡模塊提供實時數據。如圖4所示,是本發(fā) 明系統中分布式調度模塊的處理流程示意圖,該處理流程分為四個階段,分別是獲取客戶IP地址、查詢IP庫、查詢負載均衡策略數據以及重定向過程。(1)獲取客戶IP地址;獲取客戶IP地址只是簡單調用平臺系統提供的系統函數,可以利用現有技術實現,在此不再贅言。以下將重點分析剩下的三個過程是如何實現的。(2)查詢 IP 庫;為了使查詢更加高效,把IP庫存儲在Hash表中。Hash表key的類型定義為4字節(jié)的unsigned int,而value定義為pair < char >,pair中的元素分別表示地市id。在pair中之所以采用char而沒有采用int是因為地市數量比較少,使用I個字節(jié)的char完全可以滿足需求。系統實現采用現成的C++ STL類型hash_map < unsigned int, pair< char >>,采用這種數據結構理論上可以使單次查詢操作的效率達到0(1)。查詢IP庫過程的輸入和輸出如下:輸入:IP地址。輸出:地市id 即 QueryUnit。這個過程實際上調用一個hash_map的成員函數find()或者運算符重載函數[]O就可以解決。由于每次啟動調度模塊即是啟動一個CGI程序,每次在這個程序中都要使用上述的Hash表。在每次程序中載入這個Hash表顯然不太現實,可以將這個Hash表預先載入一段共享內存中,使它被所有需要使用它的CGI程序得到共享。
(3)查詢負載均衡策略數據;完成了上述查詢IP庫的過程,就可以進入查詢負載均衡策略數據階段。查詢負載均衡策略數據的過程與上述查詢IP庫的過程有些類似。為了方便查詢該數據,將該數據存儲在一個vector的一維數組上,該數組的下標對應地市id。因此,當得到了一個訪問所屬的QueryUnit后,就可以根據它得到一個vector,這個vector中存儲的是若干個資源服務器IP地址列表。剩下的工作就是在這個vector中求得選取一個特定的資源服務器IP地址。其中,負載均衡問題的目標可定義為如下:(1)每個QueryUnit的所有請求都必須得到分配。(2)分配到每個server的請求數量的總和都不能超過其最大容量。(3)使所有請求的平均延遲最小。對于以上的問題,使用貪心算法或者線性規(guī)劃算法解決。計算模塊的算法必須在幾種必要的數據下才能運行。主要有以下幾種數據。第一,業(yè)務接入服務器上報的各QueryUnit訪問數量的統計數據。第二,資源服務器狀態(tài)數據。第三,地市之間的網絡延遲數據。(4)重定向過程;與IP庫數據類似,負載均衡策略數據也不是在每次模塊程序啟動時裝載一次,而是存儲在一個共享內存中。這個數據在整個系統啟動時需要裝載一次,在數據更新的時候也需要重新裝載一遍。從上述技術方案可以看出,本發(fā)明技術方案能夠實現網絡培訓資源的集約化管理,節(jié)省網絡帶寬資源,提高用戶并發(fā)數量,在滿足系統負載均衡的前提下提高用戶訪問的響應速度,在保證負載均衡的前提下實現全局最佳就近訪問本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括:只讀存儲器(ROM,Read Only Memory)、隨機存取存儲器(RAM,RandomAccess Memory)、磁盤或光盤等。以上對本發(fā)明實施例所提供的技術方案,進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改 變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
權利要求
1.一種基于云計算的分布式網絡培訓資源管理系統,其特征在于,包括: 服務器管理模塊,用于管理系統的硬件服務器信息,為課件訪問調度模塊提供服務器信息; 課件訪問調度模塊,用于系統負載均衡的分布式調度,生成調度日志,為報表模塊統計服務器使用情況和資源使用情況提供依據; 報表模塊,用于統計所述課件訪問調度模塊分布式調度中的信息,并且為所述課件訪問調度模塊提供優(yōu)化的數據; 系統監(jiān)控模塊,用于獲取服務器內存、存儲、CPU利用率以及應用服務器的會話數和內存信息,為所述課件訪問調度模塊提供調度依據; 接口管理模塊,用于為所述系統監(jiān)控模塊提供服務器監(jiān)控信息以及為其它模塊提供課件資源信息。
系統管理模塊,用于提供對系統運行所需的參數和業(yè)務流轉所需的配置信息進行統一維護,為其它模塊提供權限配置。
2.根據權利要求1所述的基于云計算的分布式網絡培訓資源管理系統,其特征在于: 所述課件訪問調度模塊包括:策略配置模塊、分布式調度模塊、調度日志模塊,其中, 策略配置模塊,用于配置負載過重時調度遷移的方向; 分布式調度模塊,用于配置調度值計算公式和調度決策算法,并且利用所述策略配置模塊啟動調度,并為調度日志模塊提供數據; 調度日志模塊,用于記錄分布式調度模塊中產生的調度時間、URL、訪問時間、資源名稱的信息。
3.根據權利要求2所述的基于云計算的分布式網絡培訓資源管理系統,其特征在于: 所述分布式調度模塊包括:調度模塊、負載均衡策略數據生成模塊;其中, 調度模塊,用于直接對訪問進行調度,負責對用戶訪問的首次請求作出響應,所述響應包括對IP庫和負載均衡策略數據的查表以及訪問重定向操作; 負載均衡策略數據生成模塊,用于生成負載均衡策略數據,用于為所述調度模塊提供調度數據。
4.根據權利要求3所述的基于云計算的分布式網絡培訓資源管理系統,其特征在于: 所述負載均衡策略數據生成模塊生成數據的時候,以設定時間內來自各個QueryUnit的訪問數量統計數據作為生成數據的依據,所述統計數據是由所述報表模塊負責收集。
5.一種基于云計算的分布式網絡培訓資源管理系統調度方法,其特征在于: 采用權利要求1所述的系統,所述系統調度流程包括如下步驟: 501:獲取訪問的IP地址; 502:根據所述IP地址查詢IP庫; 503:查詢負載均衡策略數據; 504:進行重定向過程。
6.根據權利要求5所述的基于云計算的分布式網絡培訓資源管理系統調度方法,其特征在于: 所述IP庫存儲在Hash表中,所述根據所述IP地址查詢IP庫包括:輸入IP地址,輸出地市id。
7.根據權利要求5所述的基于云計算的分布式網絡培訓資源管理系統調度方法,其特征在于: 所述負載均衡策略數據存 儲在一維數組上,該數組的下標對應地市id。
全文摘要
本發(fā)明公開了一種基于云計算的分布式網絡培訓資源管理系統及調度方法。所述系統包括服務器管理模塊,用于管理系統的硬件服務器信息;課件訪問調度模塊,用于系統負載均衡的分布式調度,生成調度日志,為報表模塊提供依據;報表模塊,用于統計課件訪問調度模塊分布式調度中的信息;系統監(jiān)控模塊,用于獲取服務器信息,為課件訪問調度模塊提供調度依據;接口管理模塊,用于為系統監(jiān)控模塊提供服務器監(jiān)控信息以及為其它模塊提供課件資源信息;系統管理模塊,用于提供對系統運行所需的參數和業(yè)務流轉所需的配置信息進行統一維護。本發(fā)明能夠實現網絡培訓資源的集約化管理,在滿足系統負載均衡的前提下提高用戶訪問的響應速度。
文檔編號H04L29/08GK103220363SQ20131015230
公開日2013年7月24日 申請日期2013年4月26日 優(yōu)先權日2013年4月26日
發(fā)明者李軍鋒, 何雙伯 申請人:廣東電網公司教育培訓評價中心