国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種資源可用度預(yù)警方法及裝置與流程

      文檔序號(hào):12863609閱讀:303來源:國知局
      一種資源可用度預(yù)警方法及裝置與流程

      本發(fā)明涉及業(yè)務(wù)支撐技術(shù)領(lǐng)域,尤其涉及一種hadoop資源可用度預(yù)警的方法及裝置。



      背景技術(shù):

      hadoop是當(dāng)前大數(shù)據(jù)平臺(tái)的主流軟件之一,它提供了一種分布式海量數(shù)據(jù)存儲(chǔ)(hdfs,hadoopdistributedfilesystem)、分布式大規(guī)模計(jì)算(mapreduce)和通用資源管理系統(tǒng)(yarn,yetanotherresourcenegotiator)的基本框架,具有高容錯(cuò)性、易用性和可擴(kuò)展性等優(yōu)點(diǎn),被廣泛用于數(shù)據(jù)挖掘、聯(lián)機(jī)分析處理(olap,onlineanalyticalprocessing)、經(jīng)營分析等,能夠發(fā)掘潛在客戶群體、幫助進(jìn)行市場細(xì)分和客戶關(guān)系管理、預(yù)測(cè)未來市場趨勢(shì)等,為企業(yè)領(lǐng)導(dǎo)者提供決策支持,實(shí)現(xiàn)數(shù)據(jù)增值變現(xiàn)的目的。目前hadoop已經(jīng)被大量應(yīng)用于互聯(lián)網(wǎng)、通信、金融等眾多領(lǐng)域。

      現(xiàn)有的基于yarn的hadoop架構(gòu)如圖1所示,主要包括全局資源管理器(rm,resourcemanager)、應(yīng)用主管理程序(am,applicationmaster)、節(jié)點(diǎn)管理器(nm,nodemanager)和容器container等一系列模塊。

      基于yarn框架的hadoop整體執(zhí)行流程如下:

      步驟1:用戶通過客戶端jobclient提交mapreduce等應(yīng)用程序,向rm申請(qǐng)資源;

      步驟2:rm中的全局應(yīng)用管理器(asm,applicationsmanager)和資源調(diào)度器(rs,resourcescheduler)接受請(qǐng)求后給該應(yīng)用程序分配第一個(gè)容器container,并查到對(duì)應(yīng)的nm與之通信,發(fā)出在container中啟動(dòng)am的命令;

      步驟3:am在rm注冊(cè)自己,然后通過遠(yuǎn)程過程調(diào)用rpc協(xié)議采用輪詢 方式為各個(gè)任務(wù)申請(qǐng)資源,主要包括cpu、內(nèi)存等;

      步驟4:當(dāng)am領(lǐng)取到資源后會(huì)與nm通信,由nm啟動(dòng)待執(zhí)行的任務(wù);

      步驟5:各個(gè)任務(wù)通過rpc協(xié)議向am報(bào)告自己當(dāng)前的狀態(tài),am監(jiān)控所有任務(wù)的運(yùn)行狀態(tài),發(fā)現(xiàn)任務(wù)運(yùn)行失敗后會(huì)重新申請(qǐng)資源然后再重啟任務(wù);

      步驟6:當(dāng)應(yīng)用程序執(zhí)行完成后,am向rm注銷并關(guān)閉自己,回收釋放相關(guān)資源。

      hadoop現(xiàn)有的yarn架構(gòu)雖然為資源管理和任務(wù)調(diào)度監(jiān)控提供了很好的支持,但是目前只能監(jiān)控任務(wù)狀態(tài),不能在資源不足時(shí)提前給用戶發(fā)出預(yù)警因而無法提前進(jìn)行資源調(diào)整,有可能會(huì)導(dǎo)致任務(wù)進(jìn)度已經(jīng)接近完成卻發(fā)生資源嚴(yán)重不足,那么任務(wù)可能只能重新啟動(dòng)并再分配資源,這樣就會(huì)造成時(shí)間和資源的浪費(fèi)。



      技術(shù)實(shí)現(xiàn)要素:

      有鑒于此,本發(fā)明實(shí)施例期望提供一種資源可用度預(yù)警方法及裝置,能夠并且能夠有效的減少資源浪費(fèi)提高資源的利用率。

      為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:

      本發(fā)明實(shí)施例提供了一種資源可用度預(yù)警方法,所述方法包括:

      建立資源使用量預(yù)估模型;

      通過所述資源使用量預(yù)估模型,預(yù)估下一時(shí)間周期的資源使用量;

      當(dāng)所述預(yù)估的下一周期的資源使用量超出預(yù)設(shè)閾值時(shí),發(fā)出資源可用度預(yù)警。

      上述方案中,所述建立資源使用量預(yù)估模型包括:

      根據(jù)每個(gè)時(shí)間周期內(nèi)所有并行任務(wù)的進(jìn)度和消耗資源的增量以及時(shí)間周期規(guī)律和關(guān)聯(lián)關(guān)系確定下一時(shí)間周期任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源增量;

      多次對(duì)比所述確定的下一時(shí)間周期任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源增量與實(shí)際的任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源的增量,動(dòng)態(tài)調(diào)整權(quán)值減小誤差;

      選取對(duì)應(yīng)最小誤差的權(quán)值建立資源使用量預(yù)估模型。

      上述方案中,所述通過所述資源使用量預(yù)估模型,預(yù)估下一時(shí)間周期的資源使用量包括但不限于:通過所述資源使用量預(yù)估模型,預(yù)估下一時(shí)間周期的cpu資源使用量和內(nèi)存資源使用量。

      上述方案中,所述預(yù)估的下一周期的資源使用量超出第一閾值時(shí)包括:預(yù)估的下一周期的資源使用量超出剩余可用資源量的閾值。

      上述方案中,所述當(dāng)所述預(yù)估的下一周期的資源使用量超出預(yù)設(shè)閾值時(shí),發(fā)出資源可用度預(yù)警包括:當(dāng)所述預(yù)估的下一周期的資源使用量超出預(yù)設(shè)閾值時(shí),根據(jù)任務(wù)的優(yōu)先級(jí)、重要程度以及依賴關(guān)系發(fā)出不同級(jí)別的資源可用度預(yù)警。

      本發(fā)明實(shí)施例還提供了一種資源可用度預(yù)警裝置,所述裝置包括:模型建立模塊、資源預(yù)估模塊、資源預(yù)警模塊,其中,

      所述模型建立模塊,用于建立資源使用量預(yù)估模型;

      所述資源預(yù)估模塊,用于通過所述資源使用量預(yù)估模型,預(yù)估下一時(shí)間周期的資源使用量;

      所述資源預(yù)警模塊,用于當(dāng)所述預(yù)估的下一周期的資源使用量超出預(yù)設(shè)閾值時(shí),發(fā)出資源可用度預(yù)警。

      上述方案中,所述模型建立模塊具體用于:

      根據(jù)每個(gè)時(shí)間周期內(nèi)所有并行任務(wù)的進(jìn)度和消耗資源的增量以及時(shí)間周期規(guī)律和關(guān)聯(lián)關(guān)系確定下一時(shí)間周期任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源增量;

      多次對(duì)比所述確定的下一時(shí)間周期任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源增量與實(shí)際的任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源的增量,動(dòng)態(tài)調(diào)整權(quán)值減小誤差;

      選取對(duì)應(yīng)最小誤差的權(quán)值建立資源使用量預(yù)估模型。

      上述方案中,所述資源預(yù)估模塊具體用于:通過所述資源使用量預(yù)估模型,預(yù)估下一時(shí)間周期的cpu資源使用量和內(nèi)存資源使用量。

      上述方案中,所述資源預(yù)警模塊判斷預(yù)估的下一周期的資源使用量超出第一閾值時(shí)包括:所述資源預(yù)警模塊判斷預(yù)估的下一周期的資源使用量超出剩余可用資源量的閾值。

      上述方案中,資源預(yù)警模塊具體用于:當(dāng)所述預(yù)估的下一周期的資源使用量超出預(yù)設(shè)閾值時(shí),根據(jù)任務(wù)的優(yōu)先級(jí)、重要程度以及依賴關(guān)系發(fā)出不同級(jí)別的資源可用度預(yù)警。

      本發(fā)明實(shí)施例所提供的資源可用度預(yù)警方法及裝置,先建立資源使用量預(yù)估模型,然后通過所述資源使用量預(yù)估模型,預(yù)估下一時(shí)間周期的資源使用量,當(dāng)所述預(yù)估的下一周期的資源使用量超出預(yù)設(shè)閾值時(shí),發(fā)出資源可用度預(yù)警。如此,能夠避免因可用資源不足造成大量任務(wù)失敗的情況,改善原有運(yùn)行機(jī)制的不足,并且能夠有效的減少資源浪費(fèi)提高資源的利用率。

      附圖說明

      圖1為基于yarn的hadoop架構(gòu)圖;

      圖2為本發(fā)明實(shí)施例資源可用度預(yù)警方法流程示意圖;

      圖3為本發(fā)明實(shí)施例資源可用度預(yù)警方法的原理示意圖;

      圖4為本發(fā)明實(shí)施例資源可用度預(yù)警裝置結(jié)構(gòu)示意圖;

      圖5為本發(fā)明實(shí)施例資源可用度預(yù)警系統(tǒng)結(jié)構(gòu)示意圖;

      圖6為本發(fā)明實(shí)施例資源可用度預(yù)警系統(tǒng)工作流程示意圖。

      具體實(shí)施方式

      本發(fā)明實(shí)施例中,先建立資源使用量預(yù)估模型,然后通過所述資源使用量預(yù)估模型,預(yù)估下一時(shí)間周期的資源使用量,當(dāng)所述預(yù)估的下一周期的資源使用量超出預(yù)設(shè)閾值時(shí),發(fā)出資源可用度預(yù)警。

      正常情況下,hadoop的正常運(yùn)行離不開充足的cpu、內(nèi)存等資源支持,各種資源的可用度大小對(duì)hadoop的任務(wù)運(yùn)行的影響各不相同,比如,cpu資源如果不夠用可能不會(huì)直接造成任務(wù)失敗,但會(huì)致使整體運(yùn)行速度和處理效率顯著下降而出現(xiàn)大量任務(wù)積壓排隊(duì);內(nèi)存資源如果不夠用則往往是致命的,會(huì)出現(xiàn)內(nèi)存溢出,任務(wù)執(zhí)行中斷,造成很多任務(wù)失敗等。因此,對(duì)hadoop資源的可用度進(jìn)行實(shí)時(shí)監(jiān)控并且在資源可用度較低前進(jìn)行預(yù)警是十分必要的。

      本發(fā)明實(shí)施例中提供了一種hadoop資源可用度預(yù)警方法,首先建立基于時(shí)間序列的動(dòng)態(tài)反饋學(xué)習(xí)模型,根據(jù)每個(gè)時(shí)間序列增量范圍內(nèi)所有并行任務(wù)的進(jìn)度和消耗資源的增量動(dòng)態(tài),按照預(yù)設(shè)的規(guī)則學(xué)習(xí)本時(shí)間周期內(nèi)潛在的規(guī)律和關(guān)聯(lián)關(guān)系并產(chǎn)生下一時(shí)間周期任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源增量,再對(duì)比實(shí)際的任務(wù)進(jìn)度和消耗資源的增量值不斷反復(fù)的動(dòng)態(tài)調(diào)整權(quán)值減小誤差優(yōu)化模型,從一系列權(quán)值中取當(dāng)前時(shí)間序列范圍內(nèi)最小誤差的最優(yōu)權(quán)值形成模型,然后在此模型基礎(chǔ)上預(yù)估完成剩余任務(wù)所需的資源大小,如果所需資源值超過剩余可用資源量的閾值則按照任務(wù)不同的優(yōu)先級(jí)、重要程度和依賴關(guān)系發(fā)出不同高低級(jí)別的預(yù)警,提示資源可用度較低可能會(huì)造成大量任務(wù)失敗,為后期自動(dòng)調(diào)整容器的資源值提供參考,為用戶手工配置資源值提供依據(jù),從而避免因可用資源不足造成大量任務(wù)失敗的情況,改善原有運(yùn)行機(jī)制的不足,并且能夠有效的減少資源浪費(fèi)提高資源的利用率。

      下面結(jié)合附圖及具體實(shí)施例,對(duì)本發(fā)明技術(shù)方案的實(shí)施作進(jìn)一步的詳細(xì)描述。圖2為本發(fā)明實(shí)施例一資源可用度預(yù)警方法流程示意圖,如圖2所示,本實(shí)施例資源可用度預(yù)警方法包括以下步驟:

      步驟201:建立資源使用量預(yù)估模型;

      本發(fā)明實(shí)施例中,所述建立資源使用量預(yù)估模型包括:根據(jù)每個(gè)時(shí)間周期內(nèi)所有并行任務(wù)的進(jìn)度和消耗資源的增量以及時(shí)間周期規(guī)律和關(guān)聯(lián)關(guān)系確定下一時(shí)間周期任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源增量;多次對(duì)比所述確定的下一時(shí)間周期任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源增量與實(shí)際的任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源的增量,動(dòng)態(tài)調(diào)整權(quán)值減小誤差;選取對(duì)應(yīng)最小誤差的權(quán)值建立資源使用量預(yù)估模型。

      具體的,根據(jù)時(shí)間序列增量范圍內(nèi)所有并行任務(wù)的進(jìn)度和消耗資源的增量,按照預(yù)設(shè)的規(guī)則學(xué)習(xí)本時(shí)間周期內(nèi)潛在的規(guī)律和關(guān)聯(lián)關(guān)系并產(chǎn)生下一時(shí)間周期任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源增量,再對(duì)比實(shí)際的任務(wù)進(jìn)度和消耗資源的增量值不斷反復(fù)的動(dòng)態(tài)調(diào)整權(quán)值減小誤差優(yōu)化模型,從一系列權(quán)值中取當(dāng)前時(shí)間序列范圍內(nèi)最小誤差的最優(yōu)權(quán)值形成模型。

      圖3為本發(fā)明實(shí)施例資源可用度預(yù)警方法的原理示意圖,如圖3所示,hadoop中的所有任務(wù)的集合表示為jall={j1,j2,...,jn},其中n表示所有任務(wù)的數(shù)量。設(shè)置時(shí)間序列為從ti時(shí)刻到ti+1時(shí)刻內(nèi)的一段時(shí)間,則時(shí)間序列為δt=ti+1-ti。在時(shí)間序列范圍內(nèi)所有正在運(yùn)行的任務(wù)的集合表示為jrunning={j1,j2,...,jn},n≤n。對(duì)于hadoop中的所有運(yùn)行任務(wù)的進(jìn)度狀態(tài)進(jìn)行監(jiān)控并用百分比形式表示,即集合jprunning={jp1,jp2,...,jpn},其中任意一個(gè)任務(wù)jk在ti時(shí)刻進(jìn)度用表示,那么在時(shí)間序列范圍內(nèi)ti時(shí)刻到ti+1時(shí)刻內(nèi)任務(wù)jk的進(jìn)度增量為在單位時(shí)間內(nèi)任務(wù)jk進(jìn)度的平均增量如公式(1-1)所示:

      相應(yīng)地,計(jì)算在單位時(shí)間內(nèi)所有任務(wù)進(jìn)度的平均增量,如公式(1-2)所示:

      在時(shí)間序列范圍內(nèi)的ti+1時(shí)刻,所有正在運(yùn)行的任務(wù)的進(jìn)度中最快的進(jìn)度可以用來衡量,那么這個(gè)最快進(jìn)度的任務(wù)剩余的所需完成的進(jìn)度為與之同時(shí)運(yùn)行的所有任務(wù)的平均進(jìn)度增量通過公式(1-3)計(jì)算:

      在進(jìn)行資源可用度預(yù)警的過程中,主要從cpu、內(nèi)存等方面動(dòng)態(tài)反饋學(xué)習(xí)任務(wù)消耗資源的情況。假設(shè)在時(shí)間序列范圍內(nèi)從ti時(shí)刻到ti+1時(shí)刻用百分比形式表示所有運(yùn)行任務(wù)消耗cpu資源的增量,即δcp=cpi+1-cpi,則單位時(shí)間內(nèi)所有運(yùn)行任務(wù)消耗cpu資源的計(jì)算方法如公式(1-4):

      在本周期時(shí)間序列范圍內(nèi)完成最快進(jìn)度任務(wù)的剩余進(jìn)度期間,下一時(shí)間周期內(nèi)完成所有運(yùn)行任務(wù)還需要占用的cpu資源增量的計(jì)算方法如公式(1-5)所示:

      對(duì)比下一時(shí)間周期實(shí)際消耗cpu資源值cpi+2并調(diào)節(jié)權(quán)值σc減小誤差,如公式(1-6)所示:

      在時(shí)間序列范圍內(nèi)形成一系列權(quán)值集合從這些權(quán)值中取最小誤差的最優(yōu)權(quán)值作為當(dāng)前σc值,該值在這個(gè)時(shí)間序列內(nèi)隨資源消耗的不斷變化動(dòng)態(tài)地反復(fù)學(xué)習(xí)優(yōu)化調(diào)整取得最優(yōu)值。

      同理,在時(shí)間序列范圍內(nèi)從ti時(shí)刻到ti+1時(shí)刻,計(jì)算單位時(shí)間內(nèi)所有運(yùn)行任務(wù)消耗內(nèi)存資源的方法如公式(1-7)所示:

      在本周期完成最快進(jìn)度任務(wù)的剩余進(jìn)度期間,在下一時(shí)間周期內(nèi)完成所有運(yùn)行任務(wù)還需要的占用的內(nèi)存資源增量的計(jì)算方法如公式(1-8)所示:

      則對(duì)比下一時(shí)間周期實(shí)際消耗內(nèi)存資源值mpi+2并調(diào)節(jié)權(quán)值σm減小誤差,如公式(1-9):

      類似地在時(shí)間序列范圍內(nèi)形成一系列權(quán)值集合并且動(dòng)態(tài)地反復(fù)學(xué)習(xí)優(yōu)化調(diào)整取最小誤差的最優(yōu)權(quán)值作為當(dāng)前σm值。

      步驟202:通過所述資源使用量預(yù)估模型,預(yù)估下一時(shí)間周期的資源使用量;

      本發(fā)明實(shí)施例中,所述通過所述資源使用量預(yù)估模型,預(yù)估下一時(shí)間周期 的資源使用量包括但不限于:通過所述資源使用量預(yù)估模型,預(yù)估下一時(shí)間周期的cpu資源使用量和內(nèi)存資源使用量。

      具體的,在形成的最小誤差最優(yōu)資源使用量預(yù)估模型基礎(chǔ)上,以時(shí)間序列范圍內(nèi)進(jìn)度最快的任務(wù)的進(jìn)度狀況為基準(zhǔn),根據(jù)所有并行任務(wù)當(dāng)前已經(jīng)消耗資源的情況預(yù)估完成剩余任務(wù)所需資源的大小;

      本發(fā)明實(shí)施例中,若要保證所有運(yùn)行任務(wù)能夠正常完成,最重要的是保障在最多并行任務(wù)運(yùn)行的高峰期有充足的資源,如圖3所示,在時(shí)間序列范圍內(nèi)ti時(shí)刻到ti+1時(shí)刻內(nèi)并行任務(wù)數(shù)最多,當(dāng)進(jìn)度最快的任務(wù)jpk完成后會(huì)釋放一些資源,此時(shí)并行任務(wù)數(shù)量下降,cpu、內(nèi)存等相關(guān)資源消耗量也相應(yīng)下降,因此在時(shí)間序列范圍內(nèi)這些并行任務(wù)的成功與否主要取決于在最多最快進(jìn)度任務(wù)運(yùn)行的這段時(shí)間是否有足夠的cpu、內(nèi)存等可用資源。

      使用步驟201中建立的資源預(yù)估模型可以預(yù)估完成剩余任務(wù)所需資源的大小,若當(dāng)前時(shí)刻為tt,則預(yù)估所需cpu資源cpt的計(jì)算方法如公式(1-10)所示:

      預(yù)估所需內(nèi)存資源mpt的計(jì)算方法如(1-11)所示:

      步驟203:當(dāng)所述預(yù)估的下一周期的資源使用量超出預(yù)設(shè)閾值時(shí),發(fā)出資源可用度預(yù)警。

      本發(fā)明實(shí)施例中,所述預(yù)估的下一周期的資源使用量超出第一閾值時(shí)包括:預(yù)估的下一周期的資源使用量超出剩余可用資源量的閾值。

      所述當(dāng)所述預(yù)估的下一周期的資源使用量超出預(yù)設(shè)閾值時(shí),發(fā)出資源可用度預(yù)警包括:當(dāng)所述預(yù)估的下一周期的資源使用量超出預(yù)設(shè)閾值時(shí),根據(jù)任務(wù)的優(yōu)先級(jí)、重要程度以及依賴關(guān)系發(fā)出不同級(jí)別的資源可用度預(yù)警。

      具體的,如果預(yù)估完成剩余任務(wù)所需的資源使用量超過剩余的可用資源量的閾值則按照任務(wù)不同的優(yōu)先級(jí)、重要程度和依賴關(guān)系發(fā)出不同高低級(jí)別的預(yù)警,提示資源可用度較低可能會(huì)造成大量任務(wù)失?。?/p>

      在tt時(shí)刻hadoop實(shí)際剩余的可用cpu資源量為假設(shè)cpu資源可用度預(yù)警閾值為μc,那么預(yù)警規(guī)則如公式(1-12)所示:

      在tt時(shí)刻實(shí)際剩余的可用內(nèi)存資源量為設(shè)內(nèi)存資源可用度預(yù)警閾值為μm,則預(yù)警規(guī)則如公式(1-13)所示:

      其中,預(yù)警閾值μc和μm可以按照實(shí)際需求劃分為嚴(yán)重告警、重要告警、一般告警等不同級(jí)別的告警。嚴(yán)重告警主要是指對(duì)系統(tǒng)、平臺(tái)或應(yīng)用等產(chǎn)生致命影響需要立即干預(yù)的告警,這是最高級(jí)別的告警;重要告警主要是指部分地對(duì)系統(tǒng)、平臺(tái)或應(yīng)用產(chǎn)生影響的告警,這是中間級(jí)別的告警;一般告警主要是警告類別的告警,可能不會(huì)對(duì)系統(tǒng)、平臺(tái)或應(yīng)用產(chǎn)生直接影響的告警,這是最低級(jí)別的告警;可以根據(jù)實(shí)際情況設(shè)置更細(xì)粒度的告警。如果當(dāng)前運(yùn)行任務(wù)的優(yōu)先級(jí)較高、很重要并且有很多后續(xù)任務(wù)依賴該任務(wù),那么將會(huì)產(chǎn)生較高級(jí)別的告警,在實(shí)際應(yīng)用中可以量化優(yōu)先級(jí)、重要程度和依賴關(guān)系并設(shè)置對(duì)應(yīng)閾值,這樣可以實(shí)現(xiàn)在復(fù)雜多變的環(huán)境產(chǎn)生不同級(jí)別的告警。

      根據(jù)上述方法,還可以實(shí)現(xiàn)對(duì)其他資源的可用度的預(yù)警,這樣就實(shí)現(xiàn)了對(duì)hadoop所有可用資源進(jìn)行實(shí)時(shí)監(jiān)控并且在資源不足時(shí)能夠提前告警通知維護(hù)人員進(jìn)行擴(kuò)容,避免因資源不足造成運(yùn)行效率下降、任務(wù)失敗以及數(shù)據(jù)丟失等不良影響。

      本發(fā)明實(shí)施例還提供了一種資源可用度預(yù)警裝置,圖4為本發(fā)明實(shí)施例資源可用度預(yù)警裝置結(jié)構(gòu)示意圖,如圖4所示,所述裝置包括:模型建立模塊41、資源預(yù)估模塊42、資源預(yù)警模塊43,其中,

      所述模型建立模塊41,用于建立資源使用量預(yù)估模型;

      本發(fā)明實(shí)施例中,所述模型建立模塊具體用于:

      根據(jù)每個(gè)時(shí)間周期內(nèi)所有并行任務(wù)的進(jìn)度和消耗資源的增量以及時(shí)間周期規(guī)律和關(guān)聯(lián)關(guān)系確定下一時(shí)間周期任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源增量;多次對(duì)比所述確定的下一時(shí)間周期任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源增量與實(shí)際的任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源的增量,動(dòng)態(tài)調(diào)整權(quán)值減小誤差;選取對(duì)應(yīng)最小誤差的權(quán)值建立資源使用量預(yù)估模型。

      具體的,根據(jù)時(shí)間序列增量范圍內(nèi)所有并行任務(wù)的進(jìn)度和消耗資源的增量,按照預(yù)設(shè)的規(guī)則學(xué)習(xí)本時(shí)間周期內(nèi)潛在的規(guī)律和關(guān)聯(lián)關(guān)系并產(chǎn)生下一時(shí)間周期任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源增量,再對(duì)比實(shí)際的任務(wù)進(jìn)度和消耗資源的增量值不斷反復(fù)的動(dòng)態(tài)調(diào)整權(quán)值減小誤差優(yōu)化模型,從一系列權(quán)值中取當(dāng)前時(shí)間序列范圍內(nèi)最小誤差的最優(yōu)權(quán)值形成模型。

      所述資源預(yù)估模塊42,用于通過所述資源使用量預(yù)估模型,預(yù)估下一時(shí)間周期的資源使用量;

      本發(fā)明實(shí)施例中,所述資源預(yù)估模塊具體用于:通過所述資源使用量預(yù)估模型,預(yù)估下一時(shí)間周期的cpu資源使用量和內(nèi)存資源使用量。

      具體的,在形成的最小誤差最優(yōu)資源使用量預(yù)估模型基礎(chǔ)上,以時(shí)間序列范圍內(nèi)進(jìn)度最快的任務(wù)的進(jìn)度狀況為基準(zhǔn),根據(jù)所有并行任務(wù)當(dāng)前已經(jīng)消耗資源的情況預(yù)估完成剩余任務(wù)所需資源的大小。

      所述資源預(yù)警模塊43,用于當(dāng)所述預(yù)估的下一周期的資源使用量超出預(yù)設(shè)閾值時(shí),發(fā)出資源可用度預(yù)警。

      本發(fā)明實(shí)施例中,所述資源預(yù)警模塊判斷預(yù)估的下一周期的資源使用量超出第一閾值時(shí)包括:所述資源預(yù)警模塊判斷預(yù)估的下一周期的資源使用量超出剩余可用資源量的閾值;當(dāng)所述預(yù)估的下一周期的資源使用量超出預(yù)設(shè)閾值時(shí),根據(jù)任務(wù)的優(yōu)先級(jí)、重要程度以及依賴關(guān)系發(fā)出不同級(jí)別的資源可用度預(yù)警。

      本發(fā)明實(shí)施例還提供了一種資源可用度預(yù)警系統(tǒng),圖5為本發(fā)明實(shí)施例資源可用度預(yù)警系統(tǒng)結(jié)構(gòu)示意圖,如圖5所示,本發(fā)明實(shí)施例所述資源可用度預(yù)警裝置中的模型建立模塊41和資源預(yù)估模塊42位于5中的應(yīng)用任務(wù)預(yù)警器51(aw,applicationwarner),所述資源預(yù)警模塊43位于圖5中的全局資源預(yù)警 器52(rw,resourcewarner);

      從整體架構(gòu)來說,本發(fā)明實(shí)施例所述資源可用度預(yù)警系統(tǒng)在hadoop原有的yarn框架模塊架構(gòu)基礎(chǔ)上,新增具有資源可用度監(jiān)控預(yù)警機(jī)制的功能模塊rw和aw,分別實(shí)現(xiàn)全局資源的可用度監(jiān)控預(yù)警和局部容器container的資源可用度監(jiān)控預(yù)警,按照預(yù)設(shè)的規(guī)則,將資源可用度過低的告警信息及時(shí)推送通知給用戶,以便用戶提前處理,為運(yùn)維提供決策支持。

      本發(fā)明實(shí)施例所述資源可用度預(yù)警系統(tǒng)建立了基于時(shí)間序列動(dòng)態(tài)反饋學(xué)習(xí)模型的資源可用度預(yù)警機(jī)制,將每個(gè)時(shí)間序列增量范圍內(nèi)所有并行任務(wù)的進(jìn)度和消耗資源的增量動(dòng)態(tài)實(shí)時(shí)地反饋給aw,aw按照預(yù)設(shè)規(guī)則學(xué)習(xí)本時(shí)間周期內(nèi)潛在的規(guī)律和關(guān)聯(lián)關(guān)系并產(chǎn)生下一時(shí)間周期任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源增量,再對(duì)比實(shí)際的任務(wù)進(jìn)度和消耗資源增量不斷反復(fù)的動(dòng)態(tài)調(diào)整權(quán)值減小誤差優(yōu)化模型,從一系列權(quán)值中取當(dāng)前時(shí)間序列范圍內(nèi)最小誤差的最優(yōu)權(quán)值形成模型,然后在此基礎(chǔ)上預(yù)估完成剩余任務(wù)所需資源的大小,如果所需資源值超過剩余可用資源量的閥值則由aw通知rw,rw按照任務(wù)不同的優(yōu)先級(jí)、重要程度和依賴關(guān)系發(fā)出不同高低級(jí)別的預(yù)警。

      本發(fā)明實(shí)施例所述資源可用度預(yù)警系統(tǒng)首先由用戶提交mapreduce等應(yīng)用程序,分別向rm申請(qǐng)資源和向rw申請(qǐng)進(jìn)行資源可用度監(jiān)控預(yù)警,請(qǐng)求獲得允許后再由nm發(fā)出命令給container啟動(dòng)am和aw分別注冊(cè)資源和預(yù)警,然后nm會(huì)啟動(dòng)各個(gè)任務(wù),任務(wù)進(jìn)入運(yùn)行狀態(tài),其中aw按照公式(1-1)至(1-13)定義的規(guī)則執(zhí)行資源監(jiān)控預(yù)警,若發(fā)現(xiàn)資源不足時(shí)通知rw處理并發(fā)出預(yù)警信息,當(dāng)任務(wù)正常執(zhí)行完成后釋放資源并關(guān)閉告警,最后結(jié)束并退出流程。

      圖6為本發(fā)明實(shí)施例資源可用度預(yù)警系統(tǒng)工作流程示意圖,如圖6所示,本發(fā)明實(shí)施例所述資源可用度預(yù)警系統(tǒng)工作流程包括以下步驟:

      步驟601:用戶提交應(yīng)用程序,向rm申請(qǐng)資源,向rw請(qǐng)求啟動(dòng)資源可用度監(jiān)控預(yù)警;

      本步驟中,用戶以jobclient方式提交應(yīng)用程序,向rm申請(qǐng)資源,并向rw請(qǐng)求啟動(dòng)資源可用度監(jiān)控預(yù)警。

      步驟602:rm分配container并與nm通信要求啟動(dòng)aw,rw與nm通信要求啟動(dòng)aw;

      本步驟中,rm接受請(qǐng)求后給應(yīng)用程序分配第一個(gè)容器container,并與對(duì)應(yīng)的nm通信,發(fā)出在container中啟動(dòng)am的命令。同時(shí),rw也接受請(qǐng)求與nm進(jìn)行通信,并且要求在container中啟動(dòng)應(yīng)用任務(wù)監(jiān)控aw以期對(duì)每個(gè)container進(jìn)行資源可用度監(jiān)控預(yù)警。

      步驟603:am向rm注冊(cè)并領(lǐng)取資源,aw在rw注冊(cè)并報(bào)告資源;

      本步驟中,am向rm注冊(cè)自己為各個(gè)任務(wù)申請(qǐng)領(lǐng)取cpu、內(nèi)存等資源,同時(shí),aw在rw注冊(cè)自己并匯報(bào)各個(gè)任務(wù)已經(jīng)領(lǐng)取到的資源類型、大小等各種信息以便rw能夠按其進(jìn)行分類并采用不同的處理策略。

      步驟604:am要求nm啟動(dòng)任務(wù),nm通知aw對(duì)資源可用度進(jìn)行監(jiān)控預(yù)警;

      本步驟中,am要求nm啟動(dòng)執(zhí)行各個(gè)任務(wù),nm通知aw對(duì)資源可用度進(jìn)行監(jiān)控預(yù)警,然后,nm啟動(dòng)各個(gè)任務(wù),所有任務(wù)進(jìn)入正式運(yùn)行狀態(tài)。

      步驟605:am管理監(jiān)控任務(wù)狀態(tài),aw對(duì)資源可用度進(jìn)行監(jiān)控和預(yù)警;

      本步驟中,所有任務(wù)在運(yùn)行期間都由am負(fù)責(zé)管理和進(jìn)行狀態(tài)監(jiān)控,并由aw對(duì)資源可用度進(jìn)行監(jiān)控和預(yù)警。

      步驟606:aw判斷是否進(jìn)行預(yù)警,當(dāng)需要進(jìn)行嚴(yán)重預(yù)警時(shí),執(zhí)行步驟607,當(dāng)不需要進(jìn)行預(yù)警或者需要進(jìn)行非嚴(yán)重預(yù)警時(shí),執(zhí)行步驟608;

      本步驟中,在規(guī)定的時(shí)間序列范圍內(nèi)記錄任務(wù)的進(jìn)度以及container內(nèi)的資源可用度,按照公式(1-1)至(1-13)不斷反復(fù)進(jìn)行反饋學(xué)習(xí)獲得最小誤差的最優(yōu)模型并預(yù)估下一周期所需資源量,當(dāng)發(fā)現(xiàn)剩余的資源可用度比預(yù)估所需資源的閥值低時(shí)則發(fā)出告警。當(dāng)am發(fā)現(xiàn)處于致命預(yù)警狀態(tài)或已經(jīng)失敗狀態(tài)的無法挽回任務(wù)則重新申請(qǐng)資源并重啟任務(wù)。

      步驟607:發(fā)出嚴(yán)重預(yù)警,并返回步驟602;

      步驟608:rw實(shí)現(xiàn)全局資源的可用度監(jiān)控和預(yù)警,并將告警信息通知給戶。

      本步驟中,rw綜合來自aw報(bào)告的資源可用度及告警信息,實(shí)現(xiàn)全局資 源的可用度監(jiān)控和預(yù)警,并將告警信息推送通知給用戶。

      步驟609:應(yīng)用程序結(jié)束,am從rm中注銷釋放資源,aw從rw中關(guān)閉告警,本流程結(jié)束。

      本步驟中,當(dāng)應(yīng)用程序正常執(zhí)行完成后,am從rm中注銷自己釋放資源,相應(yīng)的aw也從rw中將自己的告警關(guān)閉,最終結(jié)束流程。

      本發(fā)明實(shí)施例所述資源可用度預(yù)警方法、裝置及系統(tǒng),以基于時(shí)間序列動(dòng)態(tài)反饋學(xué)習(xí)模型的資源可用度預(yù)警機(jī)制為核心方法,在hadoop原架構(gòu)上新增具有資源可用度監(jiān)控預(yù)警機(jī)制的功能模塊,如rw和aw,分別實(shí)現(xiàn)全局資源的可用度監(jiān)控預(yù)警和局部容器container的資源可用度監(jiān)控預(yù)警,并且按照預(yù)設(shè)的規(guī)則將資源可用度過低的告警信息及時(shí)通知給用戶以便提前處理和分配資源。在具體實(shí)現(xiàn)過程中,首先建立基于時(shí)間序列的動(dòng)態(tài)反饋學(xué)習(xí)模型,將每個(gè)時(shí)間序列增量范圍內(nèi)所有并行任務(wù)的進(jìn)度和消耗資源的增量動(dòng)態(tài)實(shí)時(shí)地反饋給aw,aw按照預(yù)設(shè)的規(guī)則學(xué)習(xí)本時(shí)間周期內(nèi)潛在的規(guī)律和關(guān)聯(lián)關(guān)系并產(chǎn)生下一時(shí)間周期任務(wù)進(jìn)度增量對(duì)應(yīng)的消耗資源增量,再對(duì)比實(shí)際的任務(wù)進(jìn)度和消耗資源的增量值不斷反復(fù)的動(dòng)態(tài)調(diào)整權(quán)值減小誤差優(yōu)化模型,從一系列權(quán)值中取當(dāng)前時(shí)間序列范圍內(nèi)最小誤差的最優(yōu)權(quán)值形成模型,然后在此模型基礎(chǔ)上預(yù)估完成剩余任務(wù)所需的資源大小,如果所需資源值超過剩余可用資源量的閥值則由aw通知rw,rw按照任務(wù)不同的優(yōu)先級(jí)、重要程度和依賴關(guān)系發(fā)出不同高低級(jí)別的預(yù)警。

      本發(fā)明實(shí)施例所述資源可用度預(yù)警方法、裝置及系統(tǒng),彌補(bǔ)了現(xiàn)有hadoop沒有相關(guān)模塊給用戶為其分配資源提供數(shù)據(jù)和事實(shí)依據(jù)的不足,以及只能實(shí)時(shí)監(jiān)控資源和任務(wù)狀態(tài)不能提前預(yù)知資源不足情況的缺陷,避免資源的浪費(fèi),降低資金成本,減輕維護(hù)人員的工作壓力,為運(yùn)維提供決策支持,本方案在實(shí)際應(yīng)用中具有較高的實(shí)用性。

      圖4中所示的資源可用度預(yù)警裝置中的各處理模塊的實(shí)現(xiàn)功能,可參照前述資源可用度預(yù)警方法的相關(guān)描述而理解。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,圖4所示的資源可用度預(yù)警裝置中各處理模塊的功能可通過運(yùn)行于處理器上的程序而 實(shí)現(xiàn),也可通過具體的邏輯電路而實(shí)現(xiàn),比如:可由中央處理器(cpu)、微處理器(mpu)、數(shù)字信號(hào)處理器(dsp)、或現(xiàn)場可編程門陣列(fpga)實(shí)現(xiàn)。

      在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的方法及裝置,可以通過其他的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,如:多個(gè)模塊或組件可以結(jié)合,或可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的通信連接可以是通過一些接口,設(shè)備或模塊的間接耦合或通信連接,可以是電性的、機(jī)械的或其他形式的。

      上述作為分離部件說明的模塊可以是、或也可以不是物理上分開的,作為模塊顯示的部件可以是、或也可以不是物理模塊,即可以位于一個(gè)地方,也可以分布到多個(gè)網(wǎng)絡(luò)模塊上;可以根據(jù)實(shí)際的需要選擇其中的部分或全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。

      另外,在本發(fā)明各實(shí)施例中的各功能模塊可以全部集成在一個(gè)處理模塊中,也可以是各模塊分別單獨(dú)作為一個(gè)模塊,也可以兩個(gè)或兩個(gè)以上模塊集成在一個(gè)模塊中;上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能模塊的形式實(shí)現(xiàn)。

      本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:移動(dòng)存儲(chǔ)設(shè)備、只讀存儲(chǔ)器(rom,read-onlymemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

      或者,本發(fā)明實(shí)施例上述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明實(shí)施例的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、或 者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分。而前述的存儲(chǔ)介質(zhì)包括:移動(dòng)存儲(chǔ)設(shè)備、rom、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

      本發(fā)明實(shí)施例中記載的資源可用度預(yù)警方法、裝置只以上述實(shí)施例為例,但不僅限于此,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。

      以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1