亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種資源分配方法及裝置制造方法

文檔序號:7820825閱讀:139來源:國知局
一種資源分配方法及裝置制造方法
【專利摘要】本發(fā)明實施例公開了一種資源分配方法及裝置。一種資源分配方法,應用于分布式計算系統(tǒng),所述方法包括:接收待處理的第一作業(yè);提取所述第一作業(yè)的特征信息;根據(jù)所述特征信息,從預先建立的歷史作業(yè)記錄庫中,查詢與所述第一作業(yè)相匹配的目標歷史作業(yè),其中,所述歷史作業(yè)記錄庫中包括:歷史作業(yè)的特征信息,該歷史作業(yè)運行過程中占用的硬件資源的資源量;根據(jù)所述目標歷史作業(yè)運行過程中占用的硬件資源的資源量,為所述第一作業(yè)分配硬件資源。應用上述技術方案,本發(fā)明實施例能夠根據(jù)作業(yè)的特征信息,靈活地為該作業(yè)分配硬件資源,一方面保證了作業(yè)的正常運行,另一方面提高了分布式計算系統(tǒng)的資源利用率。
【專利說明】一種資源分配方法及裝置

【技術領域】
[0001]本發(fā)明涉及分布式計算【技術領域】,特別涉及一種資源分配方法及裝置。

【背景技術】
[0002]分布式計算系統(tǒng)是一種基于互聯(lián)網(wǎng)的包含多臺機器的計算機系統(tǒng),它能夠將一項作業(yè)分配給多臺機器進行處理,解決了由互聯(lián)網(wǎng)業(yè)務量的快速提高,用戶訪問量及數(shù)據(jù)流量的快速增長所帶來單一機器數(shù)據(jù)處理瓶頸的問題。在分布式計算系統(tǒng)為互聯(lián)網(wǎng)行業(yè)帶來巨大便利的同時,如何能夠高效地為該系統(tǒng)中的作業(yè)調度計算資源已成為分布式計算領域亟待解決的問題。
[0003]現(xiàn)有技術中,主要是通過為作業(yè)統(tǒng)一分配固定硬件資源的手段,來實現(xiàn)資源的調度。具體的,每項作業(yè)分配到的硬件資源量均相同,且該硬件資源量為一個固定的資源量。
[0004]然而,不同的作業(yè)需要消耗的硬件資源量不同,對于資源消耗量小的作業(yè),可能會造成硬件資源的浪費,對于資源消耗量大的作業(yè),可能會由于硬件資源不足,導致作業(yè)不能正常執(zhí)行。


【發(fā)明內容】

[0005]為了解決上述問題,本發(fā)明實施例公開了一種資源分配方法及裝置,具體技術方案如下:
[0006]一種資源分配方法,應用于分布式計算系統(tǒng),所述方法包括:
[0007]接收待處理的第一作業(yè);
[0008]提取所述第一作業(yè)的特征信息;
[0009]根據(jù)所述特征信息,從預先建立的歷史作業(yè)記錄庫中,查詢與所述第一作業(yè)相匹配的目標歷史作業(yè),其中,所述歷史作業(yè)記錄庫中包括:歷史作業(yè)的特征信息,該歷史作業(yè)運行過程中占用的硬件資源的資源量;
[0010]根據(jù)所述目標歷史作業(yè)運行過程中占用的硬件資源的資源量,為所述第一作業(yè)分配硬件資源。
[0011]可選的,所述預先建立的歷史作業(yè)記錄庫中還包括:歷史作業(yè)運行過程中占用的硬件資源的資源使用率;
[0012]在根據(jù)所述特征信息,從預先建立的歷史作業(yè)記錄庫中,查詢與所述第一作業(yè)相匹配的目標歷史作業(yè)之后,還包括:
[0013]獲取目標歷史作業(yè)運行過程中占用的硬件資源的資源使用率;
[0014]判斷所述目標歷史作業(yè)運行過程中占用的硬件資源中,每一類硬件資源的資源使用率值是否均小于預設的、該類型硬件資源使用率閾值;
[0015]如果是,執(zhí)行所述根據(jù)所述目標歷史作業(yè)運行過程中占用的硬件資源的資源量,為所述第一作業(yè)分配硬件資源的步驟;
[0016]否則,針對所述目標歷史作業(yè)占用的硬件資源中,存在瓶頸的硬件資源,使用預設的硬件資源計算方案,計算出:所述第一作業(yè)運行過程中需要的硬件資源的資源量,所述存在瓶頸的硬件資源為:資源量不小于所述預設的、硬件資源使用率閾值的硬件資源;
[0017]根據(jù)所述計算結果,為所述第一作業(yè)分配硬件資源。
[0018]可選的,所述根據(jù)計算結果,為所述第一作業(yè)分配硬件資源,包括:
[0019]檢測分布式計算系統(tǒng)可用的硬件資源中每一類硬件資源的資源量是否均不小于所述計算結果中的該類型的硬件資源的資源量;
[0020]如果是,為所述第一作業(yè)分配:資源量為所述計算結果的硬件資源。
[0021]可選的,所述硬件資源包括以下類型資源中的至少一種:內存、磁盤、網(wǎng)絡I/O帶寬、CPU。
[0022]可選的,所述預設的硬件資源計算方案,包括:
[0023]第一作業(yè)運行所需的內存的計算公式為:(l+a% )*被該目標歷史作業(yè)占用的內存量,其中,存在瓶頸的硬件資源為內存時,a>0 ;存在瓶頸的硬件資源不為內存時,a = O ;
[0024]第一作業(yè)運行所需的磁盤的計算公式為:(l+b% )*被該目標歷史作業(yè)占用的磁盤量,其中,存在瓶頸的硬件資源為磁盤時,b>0 ;存在瓶頸的硬件資源不為磁盤時,b = O ;
[0025]第一作業(yè)運行所需的網(wǎng)絡I/O帶寬的計算公式為:(1+C%)*被該目標歷史作業(yè)占用的網(wǎng)絡I/o帶寬量,其中,存在瓶頸的硬件資源為網(wǎng)絡I/O帶寬時,c>0 ;存在瓶頸的硬件資源不為網(wǎng)絡I/o帶寬時,C = O;
[0026]第一作業(yè)運行所需的CPU的計算公式為:(l+d% )*被該目標歷史作業(yè)占用的CPU量,其中,存在瓶頸的硬件資源為CPU時,d>0 ;存在瓶頸的硬件資源不為CPU時,d = O。
[0027]可選的,所述特征信息包括以下信息中的至少一種:
[0028]作業(yè)名稱、作業(yè)類型、作業(yè)提交者、輸入數(shù)據(jù)的類型和大小、輸出數(shù)據(jù)的類型、作業(yè)的配置參數(shù)。
[0029]一種資源分配裝置,應用于分布式計算系統(tǒng),所述裝置包括:
[0030]作業(yè)接收模塊,用于接收待處理的第一作業(yè);
[0031]特征信息提取模塊,用于提取所述作業(yè)接收模塊接收到的第一作業(yè)的特征信息;
[0032]作業(yè)查詢模塊,用于根據(jù)所述特征信息提取模塊提取到的特征信息,從預先建立的歷史作業(yè)記錄庫中,查詢與所述第一作業(yè)相匹配的目標歷史作業(yè),其中,所述歷史作業(yè)記錄庫中包括:歷史作業(yè)的特征信息,該歷史作業(yè)運行過程中占用的硬件資源的資源量;
[0033]第一硬件資源分配模塊,用于根據(jù)所述作業(yè)查詢模塊查詢到的目標歷史作業(yè)運行過程中占用的硬件資源的資源量,為所述第一作業(yè)分配硬件資源。
[0034]可選的,所述預先建立的歷史作業(yè)記錄庫中還包括:歷史作業(yè)運行過程中占用的硬件資源的資源使用率;
[0035]所述裝置還包括:
[0036]資源使用率獲取模塊,用于獲取所述作業(yè)查詢模塊查詢到的目標歷史作業(yè)運行過程中占用的硬件資源的資源使用率;
[0037]判斷模塊,用于判斷所述目標歷史作業(yè)運行過程中占用的硬件資源中,每一類硬件資源的資源使用率值是否均小于預設的、該類型硬件資源使用率閾值;在判斷結果為是的情況下,觸發(fā)所述第一硬件資源分配模塊執(zhí)行根據(jù)所述目標歷史作業(yè)運行過程中占用的硬件資源的資源量,為所述第一作業(yè)分配硬件資源的操作;在判斷結果為否的情況下,觸發(fā)資源量計算模塊;
[0038]所述資源量計算模塊,用于針對所述目標歷史作業(yè)占用的硬件資源中,存在瓶頸的硬件資源,使用預設的硬件資源計算方案,計算出:所述第一作業(yè)運行過程中需要的硬件資源的資源量,所述存在瓶頸的硬件資源為:資源量不小于所述預設的、硬件資源使用率閾值的硬件資源;
[0039]第二硬件資源分配模塊,用于根據(jù)所述資源量計算模塊的計算結果,為所述第一作業(yè)分配硬件資源。
[0040]可選的,所述第二硬件資源分配模塊,包括:
[0041]檢測子模塊,用于檢測分布式計算系統(tǒng)可用的硬件資源中每一類硬件資源的資源量是否均不小于所述計算結果中的該類型的硬件資源的資源量;并在檢測結果為是的情況下,觸發(fā)硬件資源分配子模塊;
[0042]所述第一硬件資源分配子模塊,用于為所述第一作業(yè)分配:資源量為所述計算結果的硬件資源。
[0043]可選的,所述硬件資源包括以下類型資源中的至少一種:內存、磁盤、網(wǎng)絡I/O帶寬、CPU。
[0044]可選的,所述預設的硬件資源計算方案,包括:
[0045]第一作業(yè)運行所需的內存的計算公式為:(l+a% )*被該目標歷史作業(yè)占用的內存量,其中,存在瓶頸的硬件資源為內存時,a>0 ;存在瓶頸的硬件資源不為內存時,a = O ;
[0046]第一作業(yè)運行所需的磁盤的計算公式為:(l+b% )*被該目標歷史作業(yè)占用的磁盤量,其中,存在瓶頸的硬件資源為磁盤時,b>0 ;存在瓶頸的硬件資源不為磁盤時,b = O ;
[0047]第一作業(yè)運行所需的網(wǎng)絡I/O帶寬的計算公式為:(1+C%)*被該目標歷史作業(yè)占用的網(wǎng)絡I/o帶寬量,其中,存在瓶頸的硬件資源為網(wǎng)絡I/O帶寬時,c>0 ;存在瓶頸的硬件資源不為網(wǎng)絡I/o帶寬時,C = O;
[0048]第一作業(yè)運行所需的CPU的計算公式為:(l+d% )*被該目標歷史作業(yè)占用的CPU量,其中,存在瓶頸的硬件資源為CPU時,d>0 ;存在瓶頸的硬件資源不為CPU時,d = O。
[0049]可選的,所述特征信息包括以下信息中的至少一種:
[0050]作業(yè)名稱、作業(yè)類型、作業(yè)提交者、輸入數(shù)據(jù)的類型和大小、輸出數(shù)據(jù)的類型、作業(yè)的配置參數(shù)。
[0051]應用上述技術方案,本發(fā)明實施例提供的資源分配方法和裝置,可以提取第一作業(yè)的特征信息,并根據(jù)提取到的特征信息,從預先建立的歷史作業(yè)記錄庫中,查詢與其相匹配的目標歷史作業(yè),進而根據(jù)所述目標歷史作業(yè)運行過程中占用的硬件資源的資源總量,為所述第一作業(yè)分配硬件資源。
[0052]與現(xiàn)有技術相比,本發(fā)明實施例能夠根據(jù)作業(yè)的特征信息,靈活地為該作業(yè)分配硬件資源,一方面保證了作業(yè)的正常運行,另一方面提高了分布式計算系統(tǒng)的資源利用率。

【專利附圖】

【附圖說明】
[0053]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0054]圖1為本發(fā)明實施例提供的一種資源分配方法的流程示意圖;
[0055]圖2為本發(fā)明實施例提供的另一種資源分配方法的流程示意圖;
[0056]圖3為本發(fā)明實施例提供的一種資源分配裝置的結構示意圖;
[0057]圖4為本發(fā)明實施例提供的另一種資源分配裝置的結構示意圖;
[0058]圖5為本發(fā)明實施例提供的第二硬件資源分配模塊308的一種結構示意圖。

【具體實施方式】
[0059]為了使本領域技術人員更好地理解本發(fā)明中的技術方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0060]隨著互聯(lián)網(wǎng)業(yè)務量的提高,單一的服務器設備已無法滿足作業(yè)處理需求,這就需要采用一定的策略將需要處理的作業(yè)分配到多個設備進行處理?,F(xiàn)有的資源分配方法,是通過為作業(yè)統(tǒng)一分配固定硬件資源的手段,來實現(xiàn)資源的調度。具體的,每項作業(yè)分配到的硬件資源量均相同,且該硬件資源量為一個固定的資源量。然而,由于不同的作業(yè)需要消耗的硬件資源量不同,因此,對于資源消耗量小的作業(yè),可能會造成硬件資源的浪費,對于資源消耗量大的作業(yè),可能會由于硬件資源不足,導致作業(yè)不能正常執(zhí)行。為了解決上述問題,本發(fā)明實施例提供了一種資源分配方法及裝置。
[0061]首先對本發(fā)明實施例提供的一種資源分配方法進行介紹。
[0062]如圖1所示,本發(fā)明實施例提供的一種資源分配方法,應用于分布式計算系統(tǒng),所述方法可以包括:
[0063]SlOl,接收待處理的第一作業(yè)。
[0064]S102,提取所述第一作業(yè)的特征信息。
[0065]在實際應用中,本發(fā)明實施例中的特征信息,可以包括以下信息中的至少一種:
[0066]作業(yè)名稱、作業(yè)類型、作業(yè)提交者、輸入數(shù)據(jù)的類型和大小、輸出數(shù)據(jù)的類型、作業(yè)的配置參數(shù)。
[0067]S103,根據(jù)所述特征信息,從預先建立的歷史作業(yè)記錄庫中,查詢與所述第一作業(yè)相匹配的目標歷史作業(yè)。
[0068]需要說明的是,所述歷史作業(yè)記錄庫為對分布式計算系統(tǒng)曾經(jīng)處理過的作業(yè)進行統(tǒng)計、分析得到的、包含歷史作業(yè)的特征信息和該歷史作業(yè)運行過程中占用的硬件資源的資源量的數(shù)據(jù)庫。
[0069]在本發(fā)明實施例中,在提取到第一作業(yè)的特征信息后,可以依據(jù)提取到的特征信息,查找預先建立的歷史作業(yè)記錄庫,比如,第一作業(yè)的特征信息包括:作業(yè)類型為視頻轉碼、輸入數(shù)據(jù)類型為標清碼流,大小為80K,輸出數(shù)據(jù)類型為高清碼流;由于預先建立的歷史作業(yè)記錄庫中包含作業(yè)的特征信息,因此,在查找預先建立的歷史作業(yè)記錄庫的過程中,如果發(fā)現(xiàn)該歷史作業(yè)記錄庫中存在:作業(yè)類型為視頻轉碼、輸入數(shù)據(jù)類型為標清碼流,大小為80K左右,輸出數(shù)據(jù)類型為高清碼流的作業(yè),則將該作業(yè)確認為與第一作業(yè)相匹配的目標歷史作業(yè)。
[0070]進一步的,由于歷史作業(yè)記錄庫中包含目標歷史作業(yè)運行過程中占用的硬件資源的資源量,因此,可以獲取該目標歷史作業(yè)運行過程中占有的硬件資源的資源量。
[0071]可選的,本發(fā)明實施例中的硬件資源,可以包括以下類型資源中的至少一種:內存、磁盤、網(wǎng)絡I/O帶寬、CPU。
[0072]S104,根據(jù)所述目標歷史作業(yè)運行過程中占用的硬件資源的資源量,為所述第一作業(yè)分配硬件資源。
[0073]在大規(guī)模分布式計算系統(tǒng)中,如Hadoop集群中,當一項作業(yè)進入系統(tǒng)時,該系統(tǒng)需要為作業(yè)分配硬件資源,分配的資源量過高,會導致系統(tǒng)資源的浪費;分配的資源量過低,會導致作業(yè)的完成效率較低。
[0074]由于SlOl中的第一作業(yè)與S103中確定的目標歷史作業(yè),在兩者的特征信息一定程度上比較相似,因此,一般情況下,兩者運行過程中占用的硬件資源的資源量會比較接近。
[0075]本發(fā)明實施例就可以以所述目標歷史作業(yè)運行過程中占用的硬件資源的資源量為參考依據(jù),來為所述第一作業(yè)分配硬件資源。
[0076]具體的,可以為所述第一作業(yè)分配:資源量為目標歷史作業(yè)運行過程中占用的硬件資源量的硬件資源;比如,目標歷史作業(yè)運行過程中占用的硬件資源分別為:內存、磁盤、CPU,對應于的資源量大小分別為A、B、C ;此時,可以為第一作業(yè)分配:資源量為A的內存、資源量為B的磁盤、資源量為C的CPU。
[0077]由此可見,本發(fā)明實施例提供的資源分配方法,可以提取第一作業(yè)的特征信息,并根據(jù)提取到的特征信息,從預先建立的歷史作業(yè)記錄庫中,查詢與其相匹配的目標歷史作業(yè),進而根據(jù)所述目標歷史作業(yè)運行過程中占用的硬件資源的資源總量,為所述第一作業(yè)分配硬件資源。
[0078]與現(xiàn)有技術相比,本發(fā)明實施例能夠根據(jù)作業(yè)的特征信息,靈活地為該作業(yè)分配硬件資源,一方面保證了作業(yè)的正常運行,另一方面提高了分布式計算系統(tǒng)的資源利用率。
[0079]在本發(fā)明的另一個實施例中,如圖2所示,所述預先建立的歷史作業(yè)記錄庫中還包括:歷史作業(yè)運行過程中占用的硬件資源的資源使用率,在上述S103之后,還可以包括:
[0080]S105,獲取目標歷史作業(yè)運行過程中占用的硬件資源的資源使用率。
[0081]比如目標歷史作業(yè)運行過程中占用的硬件資源包括:內存、磁盤、CPU和網(wǎng)絡I/O帶寬;
[0082]此時,在本發(fā)明實施例中,可以獲取目標歷史作業(yè)運行過程中的內存使用率、磁盤使用率、CPU使用率和網(wǎng)絡I/O帶寬使用率。
[0083]S106,判斷所述目標歷史作業(yè)運行過程中占用的硬件資源中,每一類硬件資源的資源使用率值是否均小于預設的、該類型硬件資源使用率閾值。如果是,執(zhí)行S104 ;否則執(zhí)行 S107。
[0084]在獲取目標歷史作業(yè)運行過程中的內存使用率、磁盤使用率、CPU使用率和網(wǎng)絡I/0帶寬使用率后,進一步判斷獲取到的內存使用率值、磁盤使用率值、CPU使用率值、網(wǎng)絡I/o帶寬使用率值,是否小于預設的內存使用率閾值、磁盤使用率閾值、CPU使用率閾值、網(wǎng)絡I/o帶寬使用率閾值。
[0085]S107,針對所述目標歷史作業(yè)占用的硬件資源中,存在瓶頸的硬件資源,使用預設的硬件資源計算方案,計算出:所述第一作業(yè)運行過程中需要的硬件資源的資源量;所述存在瓶頸的硬件資源為:資源量不小于所述預設的、硬件資源使用率閾值的硬件資源。
[0086]如果獲取到的內存使用率值大于或等于預設的內存使用率閾值,則存在瓶頸的硬件資源為內存;
[0087]如果獲取到的磁盤使用率值大于或等于預設的磁盤使用率閾值,則存在瓶頸的硬件資源為磁盤;
[0088]如果獲取到的CPU使用率值大于或等于預設的CPU使用率閾值,則存在瓶頸的硬件資源為CPU ;
[0089]如果獲取到的網(wǎng)絡I/O帶寬使用率值大于或等于預設的網(wǎng)絡I/O帶寬使用率閾值,則存在瓶頸的硬件資源為網(wǎng)絡I/O帶寬。
[0090]在確定出存在瓶頸的硬件資源的資源類型后,可以使用預設的硬件資源計算方案,計算出:所述第一作業(yè)運行過程中需要的硬件資源的資源量;
[0091]具體的,本發(fā)明實施例中的預設的硬件資源計算方案,可以包括:
[0092]第一作業(yè)運行所需的內存的計算公式為:(l+a% )*被該目標歷史作業(yè)占用的內存量,其中,存在瓶頸的硬件資源為內存時,a>0 ;存在瓶頸的硬件資源不為內存時,a = O ;
[0093]第一作業(yè)運行所需的磁盤的計算公式為:(l+b% )*被該目標歷史作業(yè)占用的磁盤量,其中,存在瓶頸的硬件資源為磁盤時,b>0 ;存在瓶頸的硬件資源不為磁盤時,b = O ;
[0094]第一作業(yè)運行所需的網(wǎng)絡I/O帶寬的計算公式為:(1+C%)*被該目標歷史作業(yè)占用的網(wǎng)絡I/o帶寬量,其中,存在瓶頸的硬件資源為網(wǎng)絡I/O帶寬時,c>0 ;存在瓶頸的硬件資源不為網(wǎng)絡I/o帶寬時,C = O;
[0095]第一作業(yè)運行所需的CPU的計算公式為:(l+d% )*被該目標歷史作業(yè)占用的CPU量,其中,存在瓶頸的硬件資源為CPU時,d>0 ;存在瓶頸的硬件資源不為CPU時,d = O。
[0096]需要說明的是,可以根據(jù)實際情況,對本發(fā)明實施例中的a、b、C、d進行取值;t匕如,分布式計算系統(tǒng)可用硬件資源較多的情況下,可以適當提高a、b、C、d的取值,本發(fā)明實施例對此不作限定。
[0097]S108,根據(jù)所述計算結果,為所述第一作業(yè)分配硬件資源。
[0098]可選的,在本發(fā)明的一個實施例中,上述S108,可以包括:
[0099]檢測分布式計算系統(tǒng)可用的硬件資源中每一類硬件資源的資源量是否均不小于所述計算結果中的該類型的硬件資源的資源量;
[0100]可選的,可以根據(jù)預設的時間周期,周期性地檢測分布式計算系統(tǒng)可用的硬件資源中每一類硬件資源的資源量是否均不小于所述計算結果中的該類型的硬件資源的資源量;
[0101]或根據(jù)觸發(fā)指令,來檢測分布式計算系統(tǒng)可用的硬件資源中每一類硬件資源的資源量是否均不小于所述計算結果中的該類型的硬件資源的資源量;本發(fā)明實施例對此不作限定。
[0102]如果是,為所述第一作業(yè)分配:資源量為所述計算結果的硬件資源。
[0103]在檢測到分布式計算系統(tǒng)可用的硬件資源中每一類硬件資源的資源量均不小于所述計算結果中的該類型的硬件資源的資源量的時,為所述第一作業(yè)分配:資源量為所述計算結果的硬件資源。
[0104]可選的,在本發(fā)明的另一個實施例中,所述預先建立的歷史作業(yè)記錄庫中還記錄有:所述分布式計算系統(tǒng)的硬件資源使用率分布趨勢,其中,所述硬件資源使用率分布趨勢為所述分布式計算系統(tǒng)對歷史各時段的硬件資源使用量進行分析、統(tǒng)計,得到的硬件資源使用率隨時間變化的趨勢。
[0105]上述S108,可以包括:
[0106]依據(jù)硬件資源使用率趨勢,選擇滿足所述第一作業(yè)運行過程中需要的硬件資源的資源量需求的時間點,并在該時間點為所述第一作業(yè)分配硬件資源。
[0107]進一步的,所述在該時間點為所述第一作業(yè)分配硬件資源,可以包括:
[0108]在所述分布式計算系統(tǒng)在該時間點可用的硬件資源的資源量達到預設的上限值的情況下,為所述第一作業(yè)分配:資源量大于所述計算結果的硬件資源。比如分布式計算系統(tǒng)當前可用的硬件資源較多,此時可以為第一作業(yè)分配:資源量為第一作業(yè)所需的資源量的1-2倍的硬件資源。
[0109]或
[0110]僅為所述第一作業(yè)分配:資源量為所述計算結果的硬件資源。
[0111]相應于上面的方法實施例,本發(fā)明實施例還提供了一種資源分配裝置。
[0112]如圖3所示,本發(fā)明實施例提供的一種資源分配裝置,應用于分布式存儲系統(tǒng),所述裝置可以包括:
[0113]作業(yè)接收模塊301,用于接收待處理的第一作業(yè);
[0114]特征信息提取模塊302,用于提取所述作業(yè)接收模塊301接收到的第一作業(yè)的特征信息;
[0115]作業(yè)查詢模塊303,用于根據(jù)所述特征信息提取模塊302提取到的特征信息,從預先建立的歷史作業(yè)記錄庫中,查詢與所述第一作業(yè)相匹配的目標歷史作業(yè),其中,所述歷史作業(yè)記錄庫中包括:歷史作業(yè)的特征信息,該歷史作業(yè)運行過程中占用的硬件資源的資源量;
[0116]第一硬件資源分配模塊304,用于根據(jù)所述作業(yè)查詢模塊303查詢到的目標歷史作業(yè)運行過程中占用的硬件資源的資源量,為所述第一作業(yè)分配硬件資源。
[0117]由此可見,本發(fā)明實施例提供的資源分配裝置,可以提取第一作業(yè)的特征信息,并根據(jù)提取到的特征信息,從預先建立的歷史作業(yè)記錄庫中,查詢與其相匹配的目標歷史作業(yè),進而根據(jù)所述目標歷史作業(yè)運行過程中占用的硬件資源的資源總量,為所述第一作業(yè)分配硬件資源。
[0118]與現(xiàn)有技術相比,本發(fā)明實施例能夠根據(jù)作業(yè)的特征信息,靈活地為該作業(yè)分配硬件資源,一方面保證了作業(yè)的正常運行,另一方面提高了分布式計算系統(tǒng)的資源利用率。
[0119]可選的,在本發(fā)明的另一個實施例中,所述預先建立的歷史作業(yè)記錄庫中還包括:歷史作業(yè)運行過程中占用的硬件資源的資源使用率;如圖4所示,所述裝置還可以包括:
[0120]資源使用率獲取模塊305,用于獲取所述作業(yè)查詢模塊303查詢到的目標歷史作業(yè)運行過程中占用的硬件資源的資源使用率;
[0121]判斷模塊306,用于判斷所述目標歷史作業(yè)運行過程中占用的硬件資源中,每一類硬件資源的資源使用率值是否均小于預設的、該類型硬件資源使用率閾值;在判斷結果為是的情況下,觸發(fā)所述第一硬件資源分配模塊304執(zhí)行根據(jù)所述目標歷史作業(yè)運行過程中占用的硬件資源的資源量,為所述第一作業(yè)分配硬件資源的操作;在判斷結果為否的情況下,觸發(fā)資源量計算模塊307;
[0122]所述資源量計算模塊307,用于針對所述目標歷史作業(yè)占用的硬件資源中,存在瓶頸的硬件資源,使用預設的硬件資源計算方案,計算出:所述第一作業(yè)運行過程中需要的硬件資源的資源量,所述存在瓶頸的硬件資源為:資源量不小于所述預設的、硬件資源使用率閾值的硬件資源;
[0123]第二硬件資源分配模塊308,用于根據(jù)所述資源量計算模塊307的計算結果,為所述第一作業(yè)分配硬件資源。
[0124]可選的,在本發(fā)明的一個實施例中,如圖5所示,所述第二硬件資源分配模塊308,可以包括:
[0125]檢測子模塊308a,用于檢測分布式計算系統(tǒng)可用的硬件資源中每一類硬件資源的資源量是否均不小于所述計算結果中的該類型的硬件資源的資源量;并在檢測結果為是的情況下,觸發(fā)第一硬件資源分配子模塊308b ;
[0126]所述第一硬件資源分配子模塊308b,用于為所述第一作業(yè)分配:資源量為所述計算結果的硬件資源。
[0127]可選的,在本發(fā)明的一個實施例中,所述預先建立的歷史作業(yè)記錄庫中還記錄有:所述分布式計算系統(tǒng)的硬件資源使用率分布趨勢,其中,所述硬件資源使用率分布趨勢為所述分布式計算系統(tǒng)對歷史各時段的硬件資源使用量進行分析、統(tǒng)計,得到的硬件資源使用率隨時間變化的趨勢。
[0128]所述第二硬件資源分配模塊308,可以包括:
[0129]時間點選擇子模塊,用于依據(jù)硬件資源使用率趨勢,選擇滿足所述第一作業(yè)運行過程中需要的硬件資源的資源量需求的時間點;
[0130]第二硬件資源分配子模塊,用于在時間點選擇子模塊選擇的時間點為所述第一作業(yè)分配硬件資源。
[0131]進一步的,所述第二硬件資源分配子模塊,具體可以用于:
[0132]在所述分布式計算系統(tǒng)在該時間點可用的硬件資源的資源量達到預設的上限值的情況下,為所述第一作業(yè)分配:資源量大于所述計算結果的硬件資源。比如分布式計算系統(tǒng)當前可用的硬件資源較多,此時可以為第一作業(yè)分配:資源量為第一作業(yè)所需的資源量的1-2倍的硬件資源。
[0133]或
[0134]僅為所述第一作業(yè)分配:資源量為所述計算結果的硬件資源。
[0135]可選的,在本發(fā)明的一個實施例中,所述硬件資源可以包括以下類型資源中的至少一種:內存、磁盤、網(wǎng)絡I/O帶寬、CPU。
[0136]可選的,在本發(fā)明的一個實施例中,所述預設的硬件資源計算方案,可以包括:
[0137]第一作業(yè)運行所需的內存的計算公式為:(l+a% )*被該目標歷史作業(yè)占用的內存量,其中,存在瓶頸的硬件資源為內存時,a>0 ;存在瓶頸的硬件資源不為內存時,a = O ;
[0138]第一作業(yè)運行所需的磁盤的計算公式為:(l+b% )*被該目標歷史作業(yè)占用的磁盤量,其中,存在瓶頸的硬件資源為磁盤時,b>0 ;存在瓶頸的硬件資源不為磁盤時,b = O ;
[0139]第一作業(yè)運行所需的網(wǎng)絡I/O帶寬的計算公式為:(1+C%)*被該目標歷史作業(yè)占用的網(wǎng)絡I/o帶寬量,其中,存在瓶頸的硬件資源為網(wǎng)絡I/O帶寬時,c>0 ;存在瓶頸的硬件資源不為網(wǎng)絡I/o帶寬時,C = O;
[0140]第一作業(yè)運行所需的CPU的計算公式為:(l+d% )*被該目標歷史作業(yè)占用的CPU量,其中,存在瓶頸的硬件資源為CPU時,d>0 ;存在瓶頸的硬件資源不為CPU時,d = O。
[0141]需要說明的是,可以根據(jù)實際情況,對本發(fā)明實施例中的a、b、C、d進行取值;t匕如,分布式計算系統(tǒng)可用硬件資源較多的情況下,可以適當提高a、b、C、d的取值,本發(fā)明實施例對此不作限定。
[0142]可選的,在本發(fā)明的一個實施例中,所述特征信息可以包括以下信息中的至少一種:
[0143]作業(yè)名稱、作業(yè)類型、作業(yè)提交者、輸入數(shù)據(jù)的類型和大小、輸出數(shù)據(jù)的類型、作業(yè)的配置參數(shù)。
[0144]對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0145]為了描述的方便,描述以上裝置時以功能分為各種模塊分別描述。當然,在實施本發(fā)明時可以把各模塊的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
[0146]需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0147]本說明書中的各個實施例均采用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0148]本領域普通技術人員可以理解實現(xiàn)上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,所述的程序可以存儲于計算機可讀取存儲介質中,這里所稱得的存儲介質,如:ROM/RAM、磁碟、光盤等。
[0149]以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內。
【權利要求】
1.一種資源分配方法,其特征在于,應用于分布式計算系統(tǒng),所述方法包括: 接收待處理的第一作業(yè); 提取所述第一作業(yè)的特征信息; 根據(jù)所述特征信息,從預先建立的歷史作業(yè)記錄庫中,查詢與所述第一作業(yè)相匹配的目標歷史作業(yè),其中,所述歷史作業(yè)記錄庫中包括:歷史作業(yè)的特征信息,該歷史作業(yè)運行過程中占用的硬件資源的資源量; 根據(jù)所述目標歷史作業(yè)運行過程中占用的硬件資源的資源量,為所述第一作業(yè)分配硬件資源。
2.根據(jù)權利要求1所述的方法,其特征在于,所述預先建立的歷史作業(yè)記錄庫中還包括:歷史作業(yè)運行過程中占用的硬件資源的資源使用率; 在根據(jù)所述特征信息,從預先建立的歷史作業(yè)記錄庫中,查詢與所述第一作業(yè)相匹配的目標歷史作業(yè)之后,還包括: 獲取目標歷史作業(yè)運行過程中占用的硬件資源的資源使用率; 判斷所述目標歷史作業(yè)運行過程中占用的硬件資源中,每一類硬件資源的資源使用率值是否均小于預設的、該類型硬件資源使用率閾值; 如果是,執(zhí)行所述根據(jù)所述目標歷史作業(yè)運行過程中占用的硬件資源的資源量,為所述第一作業(yè)分配硬件資源的步驟; 否則,針對所述目標歷史作業(yè)占用的硬件資源中,存在瓶頸的硬件資源,使用預設的硬件資源計算方案,計算出:所述第一作業(yè)運行過程中需要的硬件資源的資源量,所述存在瓶頸的硬件資源為:資源量不小于所述預設的、硬件資源使用率閾值的硬件資源; 根據(jù)所述計算結果,為所述第一作業(yè)分配硬件資源。
3.根據(jù)權利要求2所述的方法,其特征在于,所述根據(jù)計算結果,為所述第一作業(yè)分配硬件資源,包括: 檢測分布式計算系統(tǒng)可用的硬件資源中每一類硬件資源的資源量是否均不小于所述計算結果中的該類型的硬件資源的資源量; 如果是,為所述第一作業(yè)分配:資源量為所述計算結果的硬件資源。
4.根據(jù)權利要求1-3任意一項所述的方法,其特征在于,所述硬件資源包括以下類型資源中的至少一種:內存、磁盤、網(wǎng)絡I/O帶寬、CPU。
5.根據(jù)權利要求4所述的方法,其特征在于,所述預設的硬件資源計算方案,包括: 第一作業(yè)運行所需的內存的計算公式為:(l+a% )*被該目標歷史作業(yè)占用的內存量,其中,存在瓶頸的硬件資源為內存時,a>0 ;存在瓶頸的硬件資源不為內存時,a = O ; 第一作業(yè)運行所需的磁盤的計算公式為:(l+b% )*被該目標歷史作業(yè)占用的磁盤量,其中,存在瓶頸的硬件資源為磁盤時,b>0 ;存在瓶頸的硬件資源不為磁盤時,b = O ; 第一作業(yè)運行所需的網(wǎng)絡I/O帶寬的計算公式為:(1+C%)*被該目標歷史作業(yè)占用的網(wǎng)絡I/O帶寬量,其中,存在瓶頸的硬件資源為網(wǎng)絡I/O帶寬時,c>0 ;存在瓶頸的硬件資源不為網(wǎng)絡I/O帶寬時,c = 0; 第一作業(yè)運行所需的CPU的計算公式為:(l+d% )*被該目標歷史作業(yè)占用的CPU量,其中,存在瓶頸的硬件資源為CPU時,d>0 ;存在瓶頸的硬件資源不為CPU時,d = O。
6.根據(jù)權利要求1-5任意一項所述的方法,其特征在于,所述特征信息包括以下信息中的至少一種: 作業(yè)名稱、作業(yè)類型、作業(yè)提交者、輸入數(shù)據(jù)的類型和大小、輸出數(shù)據(jù)的類型、作業(yè)的配置參數(shù)。
7.一種資源分配裝置,其特征在于,應用于分布式計算系統(tǒng),所述裝置包括: 作業(yè)接收模塊,用于接收待處理的第一作業(yè); 特征信息提取模塊,用于提取所述作業(yè)接收模塊接收到的第一作業(yè)的特征信息;作業(yè)查詢模塊,用于根據(jù)所述特征信息提取模塊提取到的特征信息,從預先建立的歷史作業(yè)記錄庫中,查詢與所述第一作業(yè)相匹配的目標歷史作業(yè),其中,所述歷史作業(yè)記錄庫中包括:歷史作業(yè)的特征信息,該歷史作業(yè)運行過程中占用的硬件資源的資源量; 第一硬件資源分配模塊,用于根據(jù)所述作業(yè)查詢模塊查詢到的目標歷史作業(yè)運行過程中占用的硬件資源的資源量,為所述第一作業(yè)分配硬件資源。
8.根據(jù)權利要求7所述的裝置,其特征在于,所述預先建立的歷史作業(yè)記錄庫中還包括:歷史作業(yè)運行過程中占用的硬件資源的資源使用率; 所述裝置還包括: 資源使用率獲取模塊,用于獲取所述作業(yè)查詢模塊查詢到的目標歷史作業(yè)運行過程中占用的硬件資源的資源使用率; 判斷模塊,用于判斷所述目標歷史作業(yè)運行過程中占用的硬件資源中,每一類硬件資源的資源使用率值是否均小于預設的、該類型硬件資源使用率閾值;在判斷結果為是的情況下,觸發(fā)所述第一硬件資源分配模塊執(zhí)行根據(jù)所述目標歷史作業(yè)運行過程中占用的硬件資源的資源量,為所述第一作業(yè)分配硬件資源的操作;在判斷結果為否的情況下,觸發(fā)資源量計算模塊; 所述資源量計算模塊,用于針對所述目標歷史作業(yè)占用的硬件資源中,存在瓶頸的硬件資源,使用預設的硬件資源計算方案,計算出:所述第一作業(yè)運行過程中需要的硬件資源的資源量,所述存在瓶頸的硬件資源為:資源量不小于所述預設的、硬件資源使用率閾值的硬件資源; 第二硬件資源分配模塊,用于根據(jù)所述資源量計算模塊的計算結果,為所述第一作業(yè)分配硬件資源。
9.根據(jù)權利要求8所述的裝置,其特征在于,所述第二硬件資源分配模塊,包括: 檢測子模塊,用于檢測分布式計算系統(tǒng)可用的硬件資源中每一類硬件資源的資源量是否均不小于所述計算結果中的該類型的硬件資源的資源量;并在檢測結果為是的情況下,觸發(fā)硬件資源分配子模塊; 所述第一硬件資源分配子模塊,用于為所述第一作業(yè)分配:資源量為所述計算結果的硬件資源。
10.根據(jù)權利要求7-9任意一項所述的裝置,其特征在于,所述硬件資源包括以下類型資源中的至少一種:內存、磁盤、網(wǎng)絡I/O帶寬、CPU。
11.根據(jù)權利要求10所述的裝置,其特征在于,所述預設的硬件資源計算方案,包括: 第一作業(yè)運行所需的內存的計算公式為:(l+a%)*被該目標歷史作業(yè)占用的內存量,其中,存在瓶頸的硬件資源為內存時,a>0 ;存在瓶頸的硬件資源不為內存時,a = O ;第一作業(yè)運行所需的磁盤的計算公式為:(l+b% )*被該目標歷史作業(yè)占用的磁盤量,其中,存在瓶頸的硬件資源為磁盤時,b>0 ;存在瓶頸的硬件資源不為磁盤時,b = O ; 第一作業(yè)運行所需的網(wǎng)絡I/O帶寬的計算公式為:(1+C%)*被該目標歷史作業(yè)占用的網(wǎng)絡I/O帶寬量,其中,存在瓶頸的硬件資源為網(wǎng)絡I/O帶寬時,c>0 ;存在瓶頸的硬件資源不為網(wǎng)絡I/O帶寬時,c = 0; 第一作業(yè)運行所需的CPU的計算公式為:(l+d% )*被該目標歷史作業(yè)占用的CPU量,其中,存在瓶頸的硬件資源為CPU時,d>0 ;存在瓶頸的硬件資源不為CPU時,d = O。
12.根據(jù)權利要求7-11任意一項所述的裝置,其特征在于,所述特征信息包括以下信息中的至少一種: 作業(yè)名稱、作業(yè)類型、作業(yè)提交者、輸入數(shù)據(jù)的類型和大小、輸出數(shù)據(jù)的類型、作業(yè)的配置參數(shù)。
【文檔編號】H04L29/08GK104391749SQ201410691187
【公開日】2015年3月4日 申請日期:2014年11月26日 優(yōu)先權日:2014年11月26日
【發(fā)明者】郭磊濤 申請人:北京奇藝世紀科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1