專利名稱:集群作業調度的賬單生成系統及方法
技術領域:
本發明涉及計算機技術高性能領域,特別涉及一種賬單生成系統及方法。
背景技術:
在高性能集群作業調度系統中,作業調度系統會根據用戶的作業請求,自動分配 計算節點供作業使用,而集群的管理者需要準確的掌握用戶作業使用機器資源的情況,并 據此向用戶收取使用費用。在集群的使用過程中,會產生大量的與集群作業調度相關的數 據,管理者需要對這些數據進行統計分析,得出供記賬收費的數據結果。 現有的賬單生成系統僅僅對指標數據進行簡單的相加,無法為用戶使用資源對比 提供可靠的數據支持。并且,現有的賬單生成系統僅僅只有數據,而沒有提供直觀的數據展 示方式。除此之外,管理者只能通過瀏覽器瀏覽數據,而不能進行下載。因此,需要一種系 統和方法解決上述問題。
發明內容
針對相關技術中存在的一個或多個問題,本發明的目的在于提供一種集群作業調 度的賬單生成系統及方法,以解決上述問題中的至少之一。 為實現上述目的,本發明一方面提供一種集群作業調度的賬單生成系統,包括作 業調度監控模塊、數據處理模塊、數據庫、交互模塊和記賬引擎。其中,作業調度監控模塊用 于監視每個作業的運行指標數據,并記錄每個作業的運行指標數據和作業對應的對象屬性 信息,以及將每個作業的運行指標數據和作業對應的對象屬性信息發送至數據處理模塊。 數據處理模塊用于接收來自作業調度監控模塊的每個作業的運行指標數據和作業對應的 對象屬性信息,對每個作業的運行指標數據進行處理,并將處理后的數據存儲至數據庫。數 據庫用于存儲數據處理模塊的數據。交互模塊用于接收管理者請求并將管理者請求發送至 記賬引擎,以及接收記賬引擎返回的賬單并呈現給管理者。記賬引擎用于接收來自交互模 塊的管理者請求,并根據管理者請求從數據庫中讀取滿足管理者請求的數據,以及根據管 理者請求對滿足管理者請求的數據分析處理后生成賬單,并將賬單反饋至交互模塊。
優選地,作業調度監控模塊包括監視模塊、記錄模塊和發送模塊。其中,監視模塊 用于監視每個作業的運行指標數據。記錄模塊用于記錄每個作業的運行指標數據和作業對 應的對象屬性信息。發送模塊用于將每個作業的運行指標數據和作業對應的對象屬性信息 發送至數據處理模塊。 優選地,數據處理模塊包括數據接收模塊和處理模塊。其中,數據接收模塊用于接 收來自作業調度監控模塊的每個作業的運行指標數據和作業對應的對象屬性信息。處理模 塊用于對每個作業的運行指標數據以作業為單位進行處理,以及將每個作業的運行指標數 據按作業對應的對象屬性進行分類,并以對象屬性為單位進行處理,以及將處理后的數據 存儲至數據庫。 優選地,交互模塊包括表示界面和請求處理模塊。其中,表示界面用于接收管理者2/4頁
請求,并將記賬引擎返回的賬單呈現給管理者。請求處理模塊用于將管理者請求發送至記 賬引擎。 優選地,記賬引擎包括接收模塊、數據讀取模塊、賬單生成模塊和結果反饋模塊。 其中,接收模塊用于接收來自交互模塊的管理者請求。數據讀取模塊用于根據管理者請求 從數據庫中讀取滿足管理者請求的數據。賬單生成模塊用于根據管理者請求對滿足管理者 請求的數據分析處理后生成賬單。結果反饋模塊用于將賬單生成模塊生成的賬單反饋給交 互模塊。 優選地,賬單的格式包括以下至少之一 PDF、XLS和HTML。作業對應的對象屬性信 息包括以下至少之一所述作業對應的提交用戶、所述作業的所屬集群。 本發明另一方面還提出一種集群作業調度的賬單生成方法,包括以下步驟作業 調度監控模塊監視每個作業的運行指標數據,并記錄每個作業的運行指標數據和作業對應 的對象屬性信息,然后將每個作業的運行指標數據和作業對應的對象屬性信息發送至數據 處理模塊。數據處理模塊接收來自作業調度監控模塊的每個作業的運行指標數據和作業對 應的對象屬性信息,對每個作業的運行指標數據進行處理,并將處理后的數據存儲至數據 庫。交互模塊接收管理者請求并將管理者請求發送至記賬引擎。記賬引擎接收來自交互模 塊的管理者請求,并根據管理者請求從數據庫中讀取滿足管理者請求的歸一化數據,然后 根據管理者請求對滿足管理者請求的數據分析處理后生成賬單,并將賬單反饋至交互模塊 呈現給管理者。 優選地,對每個作業的運行指標數據進行處理,包括對每個作業的運行指標數據 以作業為單位進行處理;以及將每個作業的運行指標數據按作業對應的對象屬性進行分 類,并以對象屬性為單位進行處理。 借助本發明上述至少一個技術方案,通過對作業運行指標數據進行分析、統計和
歸一化等處理后以合理的方式提供給管理者,為收費提供了更可靠可信的依據。 本發明附加的方面和優點將在下面的描述中部分給出,部分將從下面的描述中變
得明顯,或通過本發明的實踐了解到。
本發明上述的和/或附加的方面和優點從下面結合附圖對實施例的描述中將變 得明顯和容易理解,其中 圖1為根據本發明的集群作業調度的賬單生成系統的結構圖;以及
圖2為根據本發明的集群作業調度的賬單生成方法的流程圖。
具體實施例方式
考慮到相關技術中存在的一個或多個問題,本發明提供一種集群作業調度的賬單 生成系統及方法。下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出。應理 解,下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發明,而不能解釋為對本發 明的限制。 圖1為根據本發明的集群作業調度的賬單生成系統的結構圖。如圖1所示,該系 統包括作業調度監控模塊100、數據處理模塊200、數據庫300、交互模塊400和記賬引擎500。其中,作業調度監控模塊100用于監視每個作業的運行指標數據,并記錄每個作業的 運行指標數據和作業對應的對象屬性信息,以及將每個作業的運行指標數據和作業對應的 對象屬性信息發送至數據處理模塊200。數據處理模塊200用于接收來自作業調度監控模 塊100的每個作業的運行指標數據和作業對應的對象屬性信息,對每個作業的運行指標數 據進行處理,并將處理后的數據存儲至數據庫300。數據庫300用于存儲數據處理模塊200 的數據。交互模塊400用于接收管理者請求并將管理者請求發送至記賬引擎500,以及接收 記賬引擎500返回的賬單并呈現給管理者。記賬引擎500用于接收來自交互模塊400的管 理者請求,并根據管理者請求從數據庫300中讀取滿足管理者請求的數據,以及根據管理 者請求對滿足管理者請求的數據分析處理后生成賬單,并將賬單反饋至交互模塊400。
作業調度監控模塊100包括監視模塊110、記錄模塊120和發送模塊130。其中, 監視模塊110用于監視每個作業的運行指標數據。記錄模塊120用于記錄每個作業的運行 指標數據和作業對應的對象屬性信息。發送模塊130用于將每個作業的運行指標數據和作 業對應的對象屬性信息發送至數據處理模塊200。其中,作業的運行指標數據包括內存使 用量、CPU占用時間等。作業對應的對象屬性信息包括作業對應的提交用戶、所述集群等信 息。 數據處理模塊200包括數據接收模塊210和處理模塊220。其中,數據接收模塊 210用于接收來自作業調度監控模塊100的每個作業的運行指標數據和作業對應的對象屬 性信息。處理模塊220用于對每個作業的運行指標數據以作業為單位進行處理,以及將每 個作業的運行指標數據按作業對應的對象屬性進行分類,并以對象屬性為單位進行處理, 以及將處理后的數據存儲至數據庫300。其中,處理包括分析、歸一、統計等。
交互模塊400包括表示界面410和請求處理模塊420。其中,表示界面410用于接 收管理者請求,并將記賬引擎500返回的賬單呈現給管理者。請求處理模塊420用于將管 理者請求發送至記賬引擎500。 記賬引擎500包括接收模塊510、數據讀取模塊520、賬單生成模塊530和結果反 饋模塊540。其中,接收模塊510用于接收來自交互模塊400的管理者請求。數據讀取模塊 520用于根據管理者請求從數據庫300中讀取滿足管理者請求的數據。賬單生成模塊530 用于根據管理者請求,對滿足管理者請求的數據分析處理后生成賬單。結果反饋模塊540 用于將賬單生成模塊生成的賬單反饋給交互模塊400。其中,賬單的格式包括PDF、 XLS和 HTML等。 下面結合附圖2詳細描述根據本發明的集群作業調度的賬單生成方法。如圖2所 示,該方法包括以下步驟 步驟S210,作業調度監控模塊100監視每個作業的運行指標數據,并記錄每個作 業的運行指標數據和作業對應的對象屬性信息,然后將每個作業的運行指標數據和作業對 應的對象屬性信息發送至數據處理模塊200。 每個作業的運行指標數據包括內存使用量、CPU占用時間等。作業對應的對象屬 性信息包括作業對應的提交用戶、所屬集群等信息。以作業為單位記錄,做到了較小粒度的 數據統計,可以為后續的數據統計分析提供可靠的數據支持。同時記錄了作業對應的對象 屬性信息,可以為后續記賬提供多角度的數據支持,如可以統計某個用戶提交的所有作業 占用的計算資源。
步驟S220,數據處理模塊200接收來自作業調度監控模塊100的每個作業的運行 指標數據和作業對應的對象屬性信息,對每個作業的運行指標數據進行處理,并將數據存 儲至數據庫300。 由于作業調度監控模塊100中記錄的數據量會較大,為提高記賬功能的性能和效 率,數據處理模塊200每天會自動對當天作業運行的數據進行加權統計。為提高數據的可 用性,對數據進行單位歸一處理,如作業占用的內存都換算成MB承小時單位,通過歸一處 理,很好的使得數據具有可對比性和參照性,進而為記賬收費提供真實可靠可信的數據。還 提供了按用戶、按集群等不同層次的數據加權統計,以用戶為單位的使用資源占整個資源 的比例數據,為計費提供更多角度的依據。 步驟S230,交互模塊400接收管理者請求并將管理者請求發送至記賬引擎500。 管理者可以選擇記賬相關的條件,如選擇時間范圍、集群范圍等。 步驟S240,記賬引擎500接收來自交互模塊400的管理者請求,并根據管理者請求
從數據庫300中讀取滿足管理者請求的數據,然后根據管理者請求對滿足管理者請求的數
據分析處理后生成賬單,并將賬單反饋至交互模塊400呈現給管理者。 可以根據具體的運行指標數據生成賬單收費,如CPU使用量按每核X小時收費1
元,也可以按用戶使用資源占整個資源的百分比收費,因為有時管理者會根據電費、機器折
舊費等計算出運營成本,并據此均攤費用。因此,本發明的賬單生成方法為管理者收費提供
了多角度的數據支持。 同時,對以用戶為單位統計出的資源數據可以用曲線圖加以繪制展現,使得不同 用戶之間使用資源情況的對比更加直觀、一 目了然。 管理者可以直接瀏覽賬單,也可以以PDF、 XLS等格式將記賬內容以文件形式導 出,從而方便用戶對數據的二次處理,如寫月報、向上級匯報機器資源使用情況等。
應理解,上述實施例僅是示意性的實施例,并不限制本發明僅能夠通過上述實施 例實現。本領域的普通技術人員還能夠根據上述方案提出其他修改或變化,這些修改或變 化均應包含在本發明的包含范圍之內。 通過對作業運行指標數據進行分析、統計和歸一化等處理后以合理的方式提供給 管理者,為收費提供了更可靠可信的依據。 盡管已經示出和描述了本發明的實施例,對于本領域的普通技術人員而言,可以 理解在不脫離本發明的原理和精神的情況下可以對這些實施例進行多種變化、修改、替換 和變型,本發明的范圍由所附權利要求及其等同限定。
權利要求
一種集群作業調度的賬單生成系統,其特征在于,所述系統包括,作業調度監控模塊,用于監視每個作業的運行指標數據,并記錄所述每個作業的運行指標數據和所述作業對應的對象屬性信息,以及將所述每個作業的運行指標數據和所述作業對應的對象屬性信息發送至數據處理模塊;所述數據處理模塊,用于接收來自所述作業調度監控模塊的每個作業的運行指標數據和所述作業對應的對象屬性信息,對所述每個作業的運行指標數據進行處理,并將處理后的數據存儲至數據庫;所述數據庫,用于存儲所述數據處理模塊的數據;交互模塊,用于接收管理者請求并將所述管理者請求發送至所述記賬引擎,以及接收所述記賬引擎返回的賬單并呈現給管理者;以及所述記賬引擎,用于接收來自所述交互模塊的管理者請求,并根據所述管理者請求從所述數據庫中讀取滿足所述管理者請求的數據,以及根據所述管理者請求對所述滿足管理者請求的數據分析處理后生成賬單,并將所述賬單反饋至所述交互模塊。
2. 根據權利要求1所述的系統,其特征在于,所述作業調度監控模塊包括, 監視模塊,用于監視每個作業的運行指標數據;記錄模塊,用于記錄所述每個作業的運行指標數據和所述作業對應的對象屬性信息;以及發送模塊,用于將所述每個作業的運行指標數據和所述作業對應的對象屬性信息發送 至所述數據處理模塊。
3. 根據權利要求1所述的系統,其特征在于,所述數據處理模塊包括, 數據接收模塊,用于接收來自所述作業調度監控模塊的每個作業的運行指標數據和所述作業對應的對象屬性信息;以及處理模塊,用于對所述每個作業的運行指標數據以作業為單位進行處理,以及將所述 每個作業的運行指標數據按所述作業對應的對象屬性進行分類,并以對象屬性為單位進行 處理,以及將處理后的數據存儲至所述數據庫。
4. 根據權利要求1所述的系統,其特征在于,所述交互模塊包括,表示界面,用于接收管理者請求,并將所述賬單生成模塊返回的賬單呈現給管理者;以及請求處理模塊,用于將所述管理者請求發送至所述記賬引擎。
5. 根據權利要求1所述的系統,其特征在于,所述記賬引擎包括 接收模塊,用于接收來自所述交互模塊的管理者請求;數據讀取模塊,用于根據所述管理者請求從所述數據庫中讀取滿足所述管理者請求的 數據;賬單生成模塊,用于根據所述管理者請求,對所述滿足管理者請求的數據分析處理后 生成賬單;以及結果反饋模塊,用于將所述賬單生成模塊生成的所述賬單反饋給所述交互模塊。
6. 根據權利要求1或3所述的系統,其特征在于,所述對數據的處理包括以下至少之 一分析、歸一和統計。
7. 根據權利要求1或5所述的系統,其特征在于,所述賬單的格式包括以下至少之一 PDF、XLS禾卩HTML。
8. —種集群作業調度的賬單生成方法,其特征在于,所述方法包括以下步驟作業調度監控模塊監視每個作業的運行指標數據,并記錄所述每個作業的運行指標數據和所述作業對應的對象屬性信息,然后將所述每個作業的運行指標數據和所述作業對應的對象屬性信息發送至數據處理模塊;所述數據處理模塊接收來自所述作業調度監控模塊的每個作業的運行指標數據和所述作業對應的對象屬性信息,對所述每個作業的運行指標數據進行處理,并將處理后的數據存儲至數據庫;交互模塊接收管理者請求并將所述管理者請求發送至所述記賬引擎;以及所述記賬引擎接收來自所述交互模塊的管理者請求,并根據所述管理者請求從所述數據庫中讀取滿足所述管理者請求的數據,然后根據所述管理者請求對所述滿足管理者請求的數據分析處理后生成賬單,并將所述賬單反饋至所述交互模塊呈現給管理者。
9. 根據權利要求8所述的方法,其特征在于,所述作業對應的對象屬性信息包括以下至少之一 所述作業對應的提交用戶、所述作業的所屬集群。
10. 根據權利要求8或9所述的方法,其特征在于,所述對所述每個作業的運行指標數據進行處理,包括,對所述每個作業的運行指標數據以作業為單位進行處理;以及將所述每個作業的運行指標數據按所述作業對應的對象屬性進行分類,并以對象屬性為單位進行處理。
11. 根據權利要求8至10中任一項所述的方法,其特征在于,所述對數據的處理包括以下至少之一 分析、歸一和統計。
12. 根據權利要求8所述的方法,其特征在于,所述賬單的格式包括以下至少之一PDF、XLS禾卩HTML。
全文摘要
本發明提供一種集群作業調度的賬單生成系統和方法,其中,該方法包括以下步驟作業調度監控模塊監視每個作業的運行指標數據并記錄,同時記錄作業對應的對象屬性信息,然后將記錄的信息發送至數據處理模塊。數據處理模塊接收來自作業調度監控模塊的信息,對每個作業的運行指標數據進行處理后存儲至數據庫。交互模塊接收管理者請求并將其發送至記賬引擎。記賬引擎接收管理者請求,根據管理者請求從數據庫中讀取滿足請求的數據,并根據請求對數據分析處理后生成賬單,然后將賬單反饋至交互模塊呈現給管理者。本發明通過對作業運行指標數據進行分析、統計、歸一化等處理后以合理的方式提供給管理者,為收費提供了更可靠可信的依據。
文檔編號G06Q50/00GK101694712SQ20091009183
公開日2010年4月14日 申請日期2009年8月28日 優先權日2009年8月28日
發明者歷軍, 聶華, 邵宗有, 郭慶, 魯四美 申請人:曙光信息產業(北京)有限公司;