国产精品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>

      分布式任務(wù)處理方法和裝置與流程

      文檔序號(hào):11233919閱讀:1094來(lái)源:國(guó)知局
      分布式任務(wù)處理方法和裝置與流程
      本申請(qǐng)涉及計(jì)算機(jī)應(yīng)用
      技術(shù)領(lǐng)域
      ,特別涉及分布式任務(wù)處理的方法和裝置。
      背景技術(shù)
      :在分布式環(huán)境下,一個(gè)待處理的分布式任務(wù)通常會(huì)被拆分成多個(gè)子任務(wù),并將拆分后得到的各個(gè)子任務(wù)分發(fā)到若干計(jì)算節(jié)點(diǎn)進(jìn)行處理?,F(xiàn)有技術(shù)中,在分布式環(huán)境中進(jìn)行的子任務(wù)處理方法一般通過(guò)控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)來(lái)實(shí)現(xiàn),具體可以包括下述過(guò)程:控制節(jié)點(diǎn)與各個(gè)計(jì)算節(jié)點(diǎn)建立心跳連接,以獲取各個(gè)計(jì)算節(jié)點(diǎn)的健康狀態(tài)信息(例如:數(shù)據(jù)庫(kù)連接數(shù)、cpu占用率及內(nèi)存使用率等)??刂乒?jié)點(diǎn)根據(jù)獲取的各個(gè)計(jì)算節(jié)點(diǎn)的健康狀態(tài)信息,將任務(wù)池中預(yù)先存儲(chǔ)的各子任務(wù)分發(fā)到相應(yīng)的計(jì)算節(jié)點(diǎn)進(jìn)行處理。其中,任務(wù)池中的各子任務(wù)是通過(guò)將待處理的分布式任務(wù)進(jìn)行拆分得到的??梢?jiàn),在現(xiàn)有技術(shù)中,必須通過(guò)控制節(jié)點(diǎn)來(lái)將任務(wù)池的各子任務(wù)分發(fā)到各個(gè)計(jì)算節(jié)點(diǎn)進(jìn)行處理。其中,由于每個(gè)計(jì)算節(jié)點(diǎn)需與控制節(jié)點(diǎn)建立心跳連接,這就導(dǎo)致計(jì)算節(jié)點(diǎn)群的規(guī)模受限于上述控制節(jié)點(diǎn)的運(yùn)算能力。技術(shù)實(shí)現(xiàn)要素:本申請(qǐng)實(shí)施例的目的是提供一種分布式任務(wù)處理方法及裝置,用以解決現(xiàn)有技術(shù)存在的計(jì)算節(jié)點(diǎn)群的規(guī)模受限于上述控制節(jié)點(diǎn)的運(yùn)算能力的問(wèn)題。為解決上述技術(shù)問(wèn)題,本申請(qǐng)實(shí)施例提供的分布式任務(wù)處理方法及裝置是這樣實(shí)現(xiàn)的:一種分布式任務(wù)處理方法,包括:計(jì)算節(jié)點(diǎn)通過(guò)守護(hù)進(jìn)程監(jiān)測(cè)該計(jì)算節(jié)點(diǎn)的至少一個(gè)健康指標(biāo)值;計(jì)算節(jié)點(diǎn)根據(jù)所述健康指標(biāo)值及與該健康指標(biāo)值對(duì)應(yīng)的預(yù)設(shè)閾值,判斷該計(jì)算節(jié)點(diǎn)是否具有從預(yù)先存儲(chǔ)有若干子任務(wù)的任務(wù)池中領(lǐng)取子任務(wù)的權(quán)限;其中,所述子任務(wù)是通過(guò)將待處理的分布式任務(wù)進(jìn)行拆分得到的;若該計(jì)算節(jié)點(diǎn)具有領(lǐng)取子任務(wù)的權(quán)限,計(jì)算節(jié)點(diǎn)從所述任務(wù)池中領(lǐng)取至少一個(gè)子任務(wù);計(jì)算節(jié)點(diǎn)生成與領(lǐng)取到的子任務(wù)對(duì)應(yīng)的任務(wù)線程并利用該任務(wù)線程執(zhí)行該子任務(wù)。一種分布式任務(wù)處理裝置,包括:獲取單元,用于通過(guò)守護(hù)進(jìn)程監(jiān)測(cè)該計(jì)算節(jié)點(diǎn)的至少一個(gè)健康指標(biāo)值;判斷單元,用于根據(jù)所述健康指標(biāo)值及與該健康指標(biāo)值對(duì)應(yīng)的預(yù)設(shè)閾值,判斷該計(jì)算節(jié)點(diǎn)是否具有從預(yù)先存儲(chǔ)有若干子任務(wù)的任務(wù)池中領(lǐng)取子任務(wù)的權(quán)限;其中,所述子任務(wù)是通過(guò)將待處理的分布式任務(wù)進(jìn)行拆分得到的;領(lǐng)取單元,用于在計(jì)算節(jié)點(diǎn)具有領(lǐng)取子任務(wù)的權(quán)限時(shí),從所述任務(wù)池中領(lǐng)取至少一個(gè)子任務(wù);生成單元,用于生成與領(lǐng)取到的子任務(wù)對(duì)應(yīng)的任務(wù)線程并利用該任務(wù)線程執(zhí)行該子任務(wù)。由以上本申請(qǐng)實(shí)施例提供的技術(shù)方案可見(jiàn),本申請(qǐng)實(shí)施例通過(guò)計(jì)算節(jié)點(diǎn)根據(jù)自身健康指標(biāo)值來(lái)確定是否可以從任務(wù)池中領(lǐng)取子任務(wù),在滿足領(lǐng)取子任務(wù)的條件時(shí)進(jìn)行領(lǐng)取動(dòng)作并隨后對(duì)領(lǐng)取到的子任務(wù)進(jìn)行處理。與現(xiàn)有技術(shù)相比,本申請(qǐng)實(shí)施例通過(guò)計(jì)算節(jié)點(diǎn)主動(dòng)地進(jìn)行任務(wù)領(lǐng)取動(dòng)作,無(wú)需額外設(shè)置用以與各計(jì)算節(jié)點(diǎn)進(jìn)行心跳連接并進(jìn)行任務(wù)分發(fā)的控制節(jié)點(diǎn),從而避免控制節(jié)點(diǎn)對(duì)計(jì)算節(jié)點(diǎn)群的規(guī)模的限制,使得計(jì)算節(jié)點(diǎn)群的規(guī)模更加靈活。附圖說(shuō)明為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講, 在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本申請(qǐng)實(shí)施例中的包含若干計(jì)算節(jié)點(diǎn)的任務(wù)處理裝置的框架圖;圖2為本申請(qǐng)實(shí)施例中的包含若干計(jì)算節(jié)點(diǎn)的任務(wù)處理裝置的示意圖;圖3為本申請(qǐng)一實(shí)施例中提供的分布式任務(wù)處理的方法的流程圖;圖4為本申請(qǐng)一實(shí)施例中提供的分布式任務(wù)處理的裝置的模塊示意圖。具體實(shí)施方式為了使本
      技術(shù)領(lǐng)域
      的人員更好地理解本申請(qǐng)中的技術(shù)方案,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請(qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。圖1為本申請(qǐng)實(shí)施例中的包含若干計(jì)算節(jié)點(diǎn)的任務(wù)處理裝置的框架圖,如圖1所示,該任務(wù)處理系統(tǒng)包括一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)101、一個(gè)或多個(gè)任務(wù)池102,及用以連接上述計(jì)算節(jié)點(diǎn)101和上述任務(wù)池102的網(wǎng)絡(luò)103。所述計(jì)算節(jié)點(diǎn)101可以通過(guò)網(wǎng)絡(luò)103向任務(wù)池102領(lǐng)取待處理的子任務(wù)。所述計(jì)算節(jié)點(diǎn)101可以是一個(gè)具有計(jì)算或處理任務(wù)能力的處理裝置,也可以是由多個(gè)具有處理任務(wù)能力的處理裝置組成的集群。處理裝置可以包括各類型的用來(lái)執(zhí)行指令、處理進(jìn)程或線程的處理器或微處理器。所述任務(wù)池102可以是一個(gè)具有存儲(chǔ)能力的存儲(chǔ)裝置(例如數(shù)據(jù)庫(kù)),也可以是由多個(gè)存儲(chǔ)裝置組成的集群。任務(wù)池102中可以存儲(chǔ)的數(shù)據(jù)可以包括例如待處理分布式任務(wù)的數(shù)據(jù)、待處理分布式任務(wù)拆分后的子任務(wù)的數(shù)據(jù)等。任務(wù)池102中的應(yīng)用可以與由開(kāi)發(fā)者提供的應(yīng)用程序?qū)?yīng)。應(yīng)用可以包括例如移動(dòng)應(yīng)用、超文本標(biāo)記語(yǔ)言5(html5)應(yīng)用、桌面應(yīng)用和/或其它應(yīng)用。上述網(wǎng)絡(luò)103可以包括例如局域網(wǎng)(lan)、廣域網(wǎng)(wan)、內(nèi)部網(wǎng)、互聯(lián)網(wǎng)、移動(dòng)電話網(wǎng)絡(luò)、虛擬專用網(wǎng)(vpn)、蜂窩式或其它移動(dòng)通信網(wǎng)絡(luò)、藍(lán)牙、nfc或其任何組合。本申請(qǐng)實(shí)施例的網(wǎng)絡(luò)化環(huán)境下,若干計(jì)算節(jié)點(diǎn)101可以通過(guò)網(wǎng)絡(luò)103向任務(wù)池102獲取子任務(wù)。所述子任務(wù)預(yù)先由分布式任務(wù)拆分并存儲(chǔ)于該任務(wù)池102中。待所述若干計(jì)算節(jié)點(diǎn)101將領(lǐng)取的子任務(wù)處理完成后,通過(guò)網(wǎng)絡(luò)103提交至所述任務(wù)池102。圖2為本申請(qǐng)實(shí)施例中的包含若干計(jì)算節(jié)點(diǎn)的任務(wù)處理裝置的示意圖。該示意圖中包括一個(gè)或若干計(jì)算機(jī)點(diǎn)101、任務(wù)池102。該示意圖能更清楚的示意出所述任務(wù)池102中包括由分布式任務(wù)拆分而得的若干子任務(wù),所述計(jì)算節(jié)點(diǎn)101分別向所述任務(wù)池102獲取子任務(wù)。如圖3所示,為本申請(qǐng)一實(shí)施例中提供的一種分布式任務(wù)處理的方法的流程圖。本實(shí)施例中,所述分布式任務(wù)處理的方法包括如下步驟:s210:計(jì)算節(jié)點(diǎn)通過(guò)守護(hù)進(jìn)程監(jiān)測(cè)該計(jì)算節(jié)點(diǎn)的至少一個(gè)健康指標(biāo)值。所述守護(hù)進(jìn)程,可以是與計(jì)算節(jié)點(diǎn)的用以處理子任務(wù)的程序或代碼對(duì)應(yīng)的實(shí)體。若用以處理子任務(wù)的計(jì)算節(jié)點(diǎn)包括不止一個(gè)時(shí),每個(gè)計(jì)算節(jié)點(diǎn)分別運(yùn)行一個(gè)守護(hù)進(jìn)程。所述子任務(wù)是通過(guò)將待處理的分布式任務(wù)進(jìn)行拆分得到的,并預(yù)先存儲(chǔ)于所述任務(wù)池中。本申請(qǐng)實(shí)施例中,所述守護(hù)進(jìn)程可以用于監(jiān)測(cè)其所在計(jì)算節(jié)點(diǎn)的可用資源的健康指標(biāo)值,可以用于對(duì)比所述監(jiān)測(cè)的健康指標(biāo)值與其對(duì)應(yīng)的閾值,并根據(jù)對(duì)比結(jié)果,確定該計(jì)算節(jié)點(diǎn)是否可以向任務(wù)池領(lǐng)取子任務(wù)。本申請(qǐng)實(shí)施例中,所述計(jì)算節(jié)點(diǎn)向任務(wù)池領(lǐng)取子任務(wù)之前,首先開(kāi)啟守護(hù)進(jìn)程。若有不止一個(gè)計(jì)算節(jié)點(diǎn),來(lái)共同完成任務(wù)池中的子任務(wù),則所述不止一個(gè)計(jì)算節(jié)點(diǎn),在向所述任務(wù)池獲取子任務(wù)之前,分別開(kāi)啟各自的守護(hù)進(jìn)程。所述計(jì)算節(jié)點(diǎn)的健康指標(biāo)值可以包括該計(jì)算節(jié)點(diǎn)的數(shù)據(jù)庫(kù)連接數(shù)、cpu占用率及內(nèi)存使用率該計(jì)算節(jié)點(diǎn)連接下述任務(wù)池的網(wǎng)絡(luò)帶寬、計(jì)算節(jié)點(diǎn)正在處理的子任務(wù)數(shù)、該計(jì)算節(jié)點(diǎn)的剩余內(nèi)存等。s220:根據(jù)所述健康指標(biāo)值及與該健康指標(biāo)值對(duì)應(yīng)的預(yù)設(shè)閾值,判斷該計(jì) 算節(jié)點(diǎn)是否具有領(lǐng)取子任務(wù)的權(quán)限。所述與健康指標(biāo)值對(duì)應(yīng)的預(yù)設(shè)閾值,由計(jì)算節(jié)點(diǎn)預(yù)先設(shè)置。具體的,計(jì)算節(jié)點(diǎn)根據(jù)任務(wù)池中存儲(chǔ)的子任務(wù)需消耗計(jì)算節(jié)點(diǎn)的資源量,確定與健康指標(biāo)值對(duì)應(yīng)的預(yù)設(shè)閾值。若所述健康指標(biāo)值用以表征所述計(jì)算節(jié)點(diǎn)的資源耗用情況(如當(dāng)前計(jì)算節(jié)點(diǎn)的cpu占用率),通過(guò)判斷所述健康指標(biāo)值是否小于與該健康指標(biāo)值對(duì)應(yīng)的預(yù)設(shè)閾值(例如,計(jì)算節(jié)點(diǎn)的cpu占用率的閾值),若是,確定該計(jì)算節(jié)點(diǎn)具有領(lǐng)取子任務(wù)的權(quán)限,則該計(jì)算節(jié)點(diǎn)可以向任務(wù)池領(lǐng)取子任務(wù),反之該計(jì)算節(jié)點(diǎn)不能領(lǐng)取子任務(wù)。若所述健康指標(biāo)值用以表征所述計(jì)算節(jié)點(diǎn)的可用資源量(如當(dāng)前計(jì)算節(jié)點(diǎn)的內(nèi)存),通過(guò)判斷所述健康指標(biāo)值是否大于與該健康指標(biāo)值對(duì)應(yīng)的預(yù)設(shè)閾值,確定該計(jì)算節(jié)點(diǎn)具有領(lǐng)取子任務(wù)的權(quán)限,則該計(jì)算節(jié)點(diǎn)可以向任務(wù)池領(lǐng)取,反之該計(jì)算節(jié)點(diǎn)不能領(lǐng)取子任務(wù)。所述健康指標(biāo)值對(duì)應(yīng)的預(yù)設(shè)閾值,可以是單個(gè)健康指標(biāo)值的閾值,也可以是多個(gè)健康指標(biāo)值的綜合閾值。具體的,計(jì)算機(jī)點(diǎn)根據(jù)子任務(wù)涉及或主要涉及的消耗計(jì)算節(jié)點(diǎn)的資源量而決定。下面結(jié)合例子對(duì)所述健康指標(biāo)值用以表征所述計(jì)算節(jié)點(diǎn)的資源耗用情況加以說(shuō)明。例如,任務(wù)池中的待處理的子任務(wù)對(duì)計(jì)算節(jié)點(diǎn)的要求為:計(jì)算節(jié)點(diǎn)的cpu占用率為70%及以上,就不可以領(lǐng)取并處理該任務(wù)池中的子任務(wù)。那么計(jì)算節(jié)點(diǎn)在設(shè)置閾值時(shí),便可以設(shè)置cpu占用率的閾值為70%(或0.7)。本實(shí)施例中,上述步驟s210中所述計(jì)算節(jié)點(diǎn)的守護(hù)進(jìn)程需要監(jiān)測(cè)的健康指標(biāo)值,監(jiān)測(cè)該計(jì)算節(jié)點(diǎn)的cpu占用率的健康指標(biāo)值即可。若守護(hù)進(jìn)程監(jiān)測(cè)到其所在計(jì)算節(jié)點(diǎn)a的cpu占用率為50%,那么該計(jì)算節(jié)點(diǎn)根據(jù)監(jiān)測(cè)到的該計(jì)算節(jié)點(diǎn)a的cpu占用率的健康指標(biāo)值(即cpu占用率50%)及與預(yù)設(shè)的cpu占用率的閾值(即70%),判斷該計(jì)算節(jié)點(diǎn)是否具有領(lǐng)取子任務(wù)的權(quán)限,具體的通過(guò)判斷監(jiān)測(cè)到的該計(jì)算節(jié)點(diǎn)a的cpu占用率健康指標(biāo)值是否小于預(yù)設(shè)的cpu占用率的閾值。再例如,根據(jù)某種規(guī)則,確定某計(jì)算節(jié)點(diǎn)在同一時(shí)間最多可以處理的子任 務(wù)個(gè)數(shù)10個(gè),即可以預(yù)設(shè)該計(jì)算節(jié)點(diǎn)正在處理子任務(wù)數(shù)的閾值為10,該計(jì)算節(jié)點(diǎn)的守護(hù)進(jìn)程對(duì)該計(jì)算節(jié)點(diǎn)進(jìn)行監(jiān)測(cè)時(shí),監(jiān)測(cè)該計(jì)算節(jié)點(diǎn)正在處理的子任務(wù)的個(gè)數(shù)的健康指標(biāo)值即可。若該計(jì)算節(jié)點(diǎn)的守護(hù)進(jìn)程監(jiān)測(cè)到該計(jì)算節(jié)點(diǎn)正在處理的子任務(wù)的個(gè)數(shù)為6(即該計(jì)算節(jié)點(diǎn)正在處理的子任務(wù)的健康指標(biāo)值為6),則該計(jì)算節(jié)點(diǎn)根據(jù)監(jiān)測(cè)到的該計(jì)算節(jié)點(diǎn)正在處理的子任務(wù)的健康指標(biāo)值6與該計(jì)算節(jié)點(diǎn)可同時(shí)處理子任務(wù)個(gè)數(shù)的閾值10,判斷該計(jì)算節(jié)點(diǎn)是否具有領(lǐng)取子任務(wù)的權(quán)限,具體的通過(guò)判斷該計(jì)算節(jié)點(diǎn)正在處理的子任務(wù)的健康指標(biāo)值是否小于可同時(shí)處理子任務(wù)個(gè)數(shù)的閾值。所述正在處理子任務(wù)數(shù)的閾值,可以通過(guò)計(jì)算節(jié)點(diǎn)的至少一個(gè)用以表征該計(jì)算節(jié)點(diǎn)的最大資源量的第一資源值(比如該計(jì)算節(jié)點(diǎn)的內(nèi)存),及任務(wù)池中的子任務(wù)至少需要消耗計(jì)算節(jié)點(diǎn)的資源量的第二資源值(比如每個(gè)子任務(wù)至少需要消耗的內(nèi)存)確定與該計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的正在處理子任務(wù)數(shù)的閾值。比如,若某一計(jì)算節(jié)點(diǎn)的內(nèi)存為100gb,任務(wù)池中的子任務(wù)至少需要消耗計(jì)算節(jié)點(diǎn)的內(nèi)存為10gb,那么所述該計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的正在處理子任務(wù)數(shù)的閾值可以通過(guò)該計(jì)算節(jié)點(diǎn)的內(nèi)存100gb除以任務(wù)池中的子任務(wù)至少需要消耗計(jì)算節(jié)點(diǎn)的內(nèi)存為10gb,從而確定該計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的正在處理子任務(wù)數(shù)的閾值為10。那么該計(jì)算節(jié)點(diǎn)最多可以同時(shí)領(lǐng)取并處理10個(gè)子任務(wù)。同樣,任務(wù)池中的子任務(wù)至少需要消耗計(jì)算節(jié)點(diǎn)的內(nèi)存為3gb,那么該內(nèi)存為100gb計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的正在處理子任務(wù)數(shù)的閾值為33。下面結(jié)合例子對(duì)所述健康指標(biāo)值用以表征所述計(jì)算節(jié)點(diǎn)的可用資源量的情況加以說(shuō)明。例如,任務(wù)池中的待處理的子任務(wù)對(duì)計(jì)算節(jié)點(diǎn)的要求為:只要達(dá)到內(nèi)存為20mb以上,就可以領(lǐng)取并處理該任務(wù)池中的子任務(wù)。那么計(jì)算節(jié)點(diǎn)在設(shè)置閾值時(shí),便可以設(shè)置閾值為20mb。本實(shí)施例中,上述步驟s210中所述計(jì)算節(jié)點(diǎn)的守護(hù)進(jìn)程需要監(jiān)測(cè)的健康指標(biāo)值時(shí),監(jiān)測(cè)當(dāng)前該計(jì)算節(jié)點(diǎn)的內(nèi)存的健康指標(biāo)值即可。若計(jì)算節(jié)點(diǎn)的守護(hù)進(jìn)程監(jiān)測(cè)到,該計(jì)算節(jié)點(diǎn)的當(dāng)前內(nèi)存為50mb。那么該計(jì)算節(jié)點(diǎn)根據(jù)監(jiān)測(cè)到的該計(jì)算節(jié)點(diǎn)的內(nèi)存的健康指標(biāo)值 50mb,及與預(yù)設(shè)的內(nèi)存的閾值(即20mb),判斷該計(jì)算節(jié)點(diǎn)是否具有領(lǐng)取子任務(wù)的權(quán)限,具體的通過(guò)判斷監(jiān)測(cè)到的該計(jì)算節(jié)點(diǎn)內(nèi)存的健康指標(biāo)值是否大于預(yù)設(shè)的內(nèi)存的閾值。同樣,若任務(wù)池中待處理的子任務(wù)對(duì)計(jì)算節(jié)點(diǎn)的要求中,同時(shí)包括計(jì)算節(jié)點(diǎn)的內(nèi)存和cpu。則計(jì)算節(jié)點(diǎn)預(yù)設(shè)的閾值可以為,通過(guò)一定的算法計(jì)算而得的內(nèi)存和cpu的綜合閾值,也可以直接設(shè)置這兩個(gè)健康指標(biāo)值的兩個(gè)閾值。相應(yīng)的,上述步驟s210中所述計(jì)算節(jié)點(diǎn)的守護(hù)進(jìn)程需要監(jiān)測(cè)的健康指標(biāo)值,需要監(jiān)測(cè)該計(jì)算節(jié)點(diǎn)的內(nèi)存和cpu的兩個(gè)健康指標(biāo)值,并進(jìn)行相應(yīng)的判斷。s230:若是,該計(jì)算節(jié)點(diǎn)從所述任務(wù)池中領(lǐng)取至少一個(gè)子任務(wù)。參照上述步驟s220中預(yù)設(shè)的閾值為cpu占用率70%,守護(hù)進(jìn)程監(jiān)測(cè)到其所在計(jì)算節(jié)點(diǎn)的cpu占用率為50%的例子,計(jì)算節(jié)點(diǎn)通過(guò)判斷所述計(jì)算節(jié)點(diǎn)的cpu占用率為50%小于預(yù)設(shè)的閾值cpu占用率70%,那么該計(jì)算節(jié)點(diǎn)可以向任務(wù)池領(lǐng)取子任務(wù)。此處需要說(shuō)明的是,若另一計(jì)算節(jié)點(diǎn)b,其守護(hù)進(jìn)程監(jiān)測(cè)到計(jì)算節(jié)點(diǎn)b的cpu占用率為70%,那么該計(jì)算節(jié)點(diǎn)不可以向任務(wù)池領(lǐng)取子任務(wù)。參照上述步驟s220中預(yù)設(shè)的閾值為內(nèi)存為20mb,守護(hù)進(jìn)程監(jiān)測(cè)到其所在計(jì)算節(jié)點(diǎn)的內(nèi)存為50mb的例子,計(jì)算節(jié)點(diǎn)通過(guò)判斷所述計(jì)算節(jié)點(diǎn)的內(nèi)存50mb大于預(yù)設(shè)的閾值20mb,那么該計(jì)算節(jié)點(diǎn)可以向任務(wù)池領(lǐng)取子任務(wù)。通過(guò)守護(hù)進(jìn)程監(jiān)測(cè)到的其所在計(jì)算節(jié)點(diǎn)的健康指標(biāo)值,與所述健康指標(biāo)值對(duì)應(yīng)的閾值對(duì)比,可以判斷出計(jì)算節(jié)點(diǎn)是否可以向任務(wù)池領(lǐng)取子任務(wù)。在判斷出計(jì)算節(jié)點(diǎn)可以向任務(wù)池領(lǐng)取子任務(wù)之后,還可以通過(guò)對(duì)比該計(jì)算節(jié)點(diǎn)正在處理的子任務(wù)數(shù)與該計(jì)算節(jié)點(diǎn)的正在處理子任務(wù)數(shù)的閾值,確定該計(jì)算節(jié)點(diǎn)最多還可以同時(shí)領(lǐng)取多少子任務(wù)。具體的,該計(jì)算節(jié)點(diǎn)可以最多同時(shí)領(lǐng)取的子任務(wù)數(shù),可以通過(guò)該計(jì)算節(jié)點(diǎn)的正在處理子任務(wù)數(shù)的閾值減去監(jiān)測(cè)到的該計(jì)算節(jié)點(diǎn)正在執(zhí)行的子任務(wù)數(shù)得到。同樣結(jié)合步驟s220中,某計(jì)算節(jié)點(diǎn)預(yù)設(shè)的可領(lǐng)取的正在處理子任務(wù)數(shù)的閾值為10,該計(jì)算節(jié)點(diǎn)的守護(hù)進(jìn)程監(jiān)測(cè)到的該計(jì)算節(jié)點(diǎn) 正在處理的子任務(wù)數(shù)為6,則該計(jì)算節(jié)點(diǎn)可以繼續(xù)領(lǐng)取子任務(wù),且該計(jì)算節(jié)點(diǎn)最多還可以同時(shí)領(lǐng)取4個(gè)子任務(wù)。需要說(shuō)明的是,若所述守護(hù)進(jìn)程判斷出其所在計(jì)算節(jié)點(diǎn)不可以向任務(wù)池領(lǐng)取子任務(wù)時(shí)(例如該計(jì)算節(jié)點(diǎn)的cpu占用率大于或等于預(yù)設(shè)的cpu占用率對(duì)應(yīng)的閾值),則該計(jì)算節(jié)點(diǎn)的守護(hù)進(jìn)程會(huì)根據(jù)預(yù)先配置的等待時(shí)長(zhǎng),進(jìn)行等待。之后,該守護(hù)進(jìn)程可以繼續(xù)對(duì)其所在計(jì)算節(jié)點(diǎn)的健康指標(biāo)值進(jìn)行檢測(cè)。任務(wù)池中通過(guò)拆分分布式任務(wù)生成若干個(gè)子任務(wù)時(shí),相應(yīng)的生成與每個(gè)子任務(wù)對(duì)應(yīng)的若干個(gè)子任務(wù)的狀態(tài)信息。所述子任務(wù)的狀態(tài)信息包括可以被計(jì)算節(jié)點(diǎn)的子任務(wù)鎖鎖定的狀態(tài)信息。所述計(jì)算節(jié)點(diǎn)向任務(wù)池領(lǐng)取子任務(wù)時(shí),該計(jì)算節(jié)點(diǎn)可以通過(guò)樂(lè)觀鎖定的方式領(lǐng)取子任務(wù)。具體的,計(jì)算節(jié)點(diǎn)的守護(hù)進(jìn)程生成與領(lǐng)取到的子任務(wù)對(duì)應(yīng)的子任務(wù)鎖信息。所述子任務(wù)鎖信息包含領(lǐng)取該子任務(wù)的計(jì)算節(jié)點(diǎn)的標(biāo)識(shí)id(例如當(dāng)前計(jì)算節(jié)點(diǎn)的主機(jī)名或ip地址)及鎖定該子任務(wù)的時(shí)間戳。計(jì)算節(jié)點(diǎn)利用所述子任務(wù)鎖信息對(duì)領(lǐng)取到的子任務(wù)的狀態(tài)信息進(jìn)行更新。子任務(wù)的狀態(tài)信息可以包括:最新子任務(wù)鎖、最近鎖定時(shí)間、被鎖定次數(shù)、當(dāng)前任務(wù)狀態(tài)。所述最新子任務(wù)鎖的信息即為當(dāng)前鎖定該子任務(wù)的子任務(wù)鎖信息。若最新子任務(wù)鎖對(duì)應(yīng)的信息不為空,則其對(duì)應(yīng)的信息為當(dāng)前領(lǐng)取該子任務(wù)的計(jì)算節(jié)點(diǎn)的子任務(wù)鎖信息,若最新子任務(wù)鎖對(duì)應(yīng)的信息為空,則表示當(dāng)前時(shí)刻沒(méi)有任何計(jì)算節(jié)點(diǎn)鎖定該子任務(wù)。所述最近鎖定時(shí)間為計(jì)算節(jié)點(diǎn)鎖定該子任務(wù)后更新的最新時(shí)間。被鎖定次數(shù),表示該子任務(wù)被計(jì)算節(jié)點(diǎn)領(lǐng)取和鎖定幾次;若被鎖定次數(shù)為零時(shí),表示該子任務(wù)還未被任何計(jì)算節(jié)點(diǎn)領(lǐng)取過(guò),若被鎖定次數(shù)為若被鎖定次數(shù)不為零,其對(duì)應(yīng)的數(shù)據(jù)為幾,則表示該子任務(wù)被鎖定幾次。當(dāng)前任務(wù)狀態(tài),表示子任務(wù)當(dāng)前處于的狀態(tài)信息,可用包括可用、執(zhí)行、成功等狀態(tài)。若某子任務(wù)的當(dāng)前任務(wù)狀態(tài)為可用,則表示該子任務(wù)可以別計(jì)算節(jié)點(diǎn)領(lǐng)取和鎖定;若當(dāng)前任務(wù)狀態(tài)為執(zhí)行,則表示該子任務(wù)當(dāng)前已被計(jì)算節(jié)點(diǎn)領(lǐng)取和鎖定,當(dāng)前不可被其他計(jì)算節(jié)點(diǎn)領(lǐng)?。蝗舢?dāng)前任務(wù)狀態(tài)為成功,則該子任務(wù) 被處理完成,該子任務(wù)將從任務(wù)池中結(jié)束,不會(huì)再被任何計(jì)算節(jié)點(diǎn)領(lǐng)取。所述子任務(wù)的狀態(tài)信息的更新可以用以表征該子任務(wù)被某計(jì)算節(jié)點(diǎn)鎖定的過(guò)程。例如,某計(jì)算節(jié)點(diǎn)的守護(hù)進(jìn)程生成的子任務(wù)鎖在鎖定某子任務(wù)之前,該子任務(wù)的狀態(tài)信息可以如表1所示:表1:子任務(wù)被鎖定之前的狀態(tài)信息最新子任務(wù)鎖最近鎖定時(shí)間被鎖定次數(shù)當(dāng)前任務(wù)狀態(tài)nullnull0可用如表1中所示的該子任務(wù)的當(dāng)前任務(wù)狀態(tài)為“可用”,表示該子任務(wù)可以被任意計(jì)算節(jié)點(diǎn)領(lǐng)取。表1中被鎖定的次數(shù)為“0”,表示該子任務(wù)沒(méi)有被任何一個(gè)計(jì)算節(jié)點(diǎn)領(lǐng)取并鎖定過(guò),其對(duì)應(yīng)的最近鎖定時(shí)間為空,其對(duì)應(yīng)的最新子任務(wù)鎖的信息也為空。表1中最新子任務(wù)鎖的信息為空,表示當(dāng)前時(shí)刻該子任務(wù)沒(méi)有被任何計(jì)算節(jié)點(diǎn)領(lǐng)取和鎖定。當(dāng)子任務(wù)鎖定成功后,所述子任務(wù)的狀態(tài)信息可以如表2所示:表2:子任務(wù)被鎖定成功的狀態(tài)信息最新子任務(wù)鎖最近鎖定時(shí)間被鎖定次數(shù)當(dāng)前任務(wù)狀態(tài)xx.com:145334565898914533456589891執(zhí)行表2所示的第一列中“xx.com:1453345658989”為鎖定該子任務(wù)的子任務(wù)鎖信息。其中“xx.com”為當(dāng)前鎖定該子任務(wù)的計(jì)算節(jié)點(diǎn)的標(biāo)識(shí)id,“1453345658989”為當(dāng)前鎖定該子任務(wù)時(shí)的時(shí)間戳。最近鎖定時(shí)間“1453345658989”為該子任務(wù)被鎖定時(shí)更新。相應(yīng)的,當(dāng)前該子任務(wù)被鎖定的次數(shù)為1。該子任務(wù)狀態(tài)信息中的當(dāng)前任務(wù)狀態(tài)為“執(zhí)行”,表示該子任務(wù)已被領(lǐng)取和鎖定,并且當(dāng)前任務(wù)狀態(tài)下,該子任務(wù)不能被其他計(jì)算節(jié)點(diǎn)所領(lǐng)取。所述超時(shí)時(shí)長(zhǎng)為預(yù)先配置的用于表征計(jì)算節(jié)點(diǎn)領(lǐng)取子任務(wù)后該計(jì)算節(jié)點(diǎn)正常工作的有效時(shí)間。計(jì)算機(jī)點(diǎn)通過(guò)心跳更新最近鎖定的時(shí)間。若計(jì)算節(jié)點(diǎn)領(lǐng)取子任務(wù)后在所述的超時(shí)時(shí)長(zhǎng)內(nèi)計(jì)算節(jié)點(diǎn)沒(méi)有更新最近鎖定時(shí)間,則可以表征該計(jì)算節(jié)點(diǎn)在超時(shí)時(shí)長(zhǎng)內(nèi)沒(méi)能正常工作,該計(jì)算節(jié)點(diǎn)已不可用。那么被該計(jì)算 節(jié)點(diǎn)領(lǐng)取的子任務(wù)可以重新被領(lǐng)取。若所述計(jì)算節(jié)點(diǎn)在領(lǐng)取該子任務(wù)后,在所述超時(shí)時(shí)長(zhǎng)內(nèi)有更新最近鎖定時(shí)間,則表征該計(jì)算節(jié)點(diǎn)仍處于正常工作狀態(tài),該計(jì)算節(jié)點(diǎn)可以正常領(lǐng)取和處理子任務(wù)。需要說(shuō)明的是,通過(guò)子任務(wù)鎖來(lái)鎖定和領(lǐng)取子任務(wù),保證了每個(gè)子任務(wù)在同一時(shí)間內(nèi),只能被一個(gè)計(jì)算節(jié)點(diǎn)領(lǐng)取和處理,這樣避免了子任務(wù)被重復(fù)領(lǐng)取和重復(fù)處理的情況,提高了子任務(wù)的領(lǐng)取效率和處理效率。需要說(shuō)明的是,可以將計(jì)算節(jié)點(diǎn)設(shè)置為同一時(shí)間內(nèi)只能向任務(wù)池領(lǐng)取一個(gè)任務(wù),也可以將計(jì)算節(jié)點(diǎn)設(shè)置為同一時(shí)間內(nèi)可以向任務(wù)池領(lǐng)取多個(gè)任務(wù)。若計(jì)算節(jié)點(diǎn)同時(shí)向任務(wù)池領(lǐng)取多個(gè)任務(wù)時(shí),該計(jì)算節(jié)點(diǎn)的守護(hù)進(jìn)程,可用生成多個(gè)子任務(wù)鎖信息。所述多個(gè)子任務(wù)鎖,分別向任務(wù)池鎖定子任務(wù)。s240:計(jì)算節(jié)點(diǎn)生成與領(lǐng)取到的子任務(wù)對(duì)應(yīng)的任務(wù)線程并利用該任務(wù)線程執(zhí)行該子任務(wù)。計(jì)算節(jié)點(diǎn)在領(lǐng)取子任務(wù)后,生成與該子任務(wù)對(duì)應(yīng)的任務(wù)線程,并利用該任務(wù)線程對(duì)該子任務(wù)進(jìn)行處理。通過(guò)這種異步線程的方式實(shí)現(xiàn)對(duì)子任務(wù)的獲取和處理。計(jì)算節(jié)點(diǎn)內(nèi)部可以設(shè)置一個(gè)更新時(shí)長(zhǎng),用于更新最近鎖定時(shí)間。該更新時(shí)長(zhǎng)一般不大于上述預(yù)設(shè)的超時(shí)時(shí)長(zhǎng)。計(jì)算節(jié)點(diǎn)領(lǐng)取子任務(wù)后,每隔一個(gè)更新時(shí)長(zhǎng),該計(jì)算節(jié)點(diǎn)會(huì)判斷領(lǐng)取到的子任務(wù)是否在所述子任務(wù)鎖信息中的鎖定該子任務(wù)的時(shí)間戳之后的預(yù)設(shè)的更新時(shí)長(zhǎng)內(nèi)執(zhí)行完畢;若否,計(jì)算節(jié)點(diǎn)判斷該子任務(wù)是否在執(zhí)行中;若該子任務(wù)在執(zhí)行中,計(jì)算節(jié)點(diǎn)將領(lǐng)取到的子任務(wù)的狀態(tài)信息中的最近鎖定時(shí)間的時(shí)間戳更新為當(dāng)前時(shí)間戳。若由于子任務(wù)在被計(jì)算節(jié)點(diǎn)領(lǐng)取超過(guò)超時(shí)時(shí)長(zhǎng)而未被執(zhí)行,或子任務(wù)在執(zhí)行過(guò)程中出現(xiàn)異常等情況而導(dǎo)致子任務(wù)執(zhí)行失敗的,計(jì)算節(jié)點(diǎn)將該子任務(wù)的狀態(tài)信息中的子任務(wù)鎖信息(即表2中最新子任務(wù)鎖)和最近鎖定時(shí)間進(jìn)行清空,并將該子任務(wù)的當(dāng)前任務(wù)狀態(tài)置于可用,其被鎖定次數(shù)不做調(diào)整。子任務(wù)在執(zhí)行失敗后至重新設(shè)置為可用的狀態(tài)的階段,為子任務(wù)的重置階 段。具體的,在子任務(wù)的重置階段,計(jì)算節(jié)點(diǎn)可以通過(guò)任務(wù)線程的操作,實(shí)現(xiàn)子任務(wù)的重置。具體的,子任務(wù)執(zhí)行失敗所在的任務(wù)線程預(yù)設(shè)一個(gè)重試時(shí)間間隔,接著該任務(wù)線程在等待重試時(shí)間間隔后,將該子任務(wù)的子任務(wù)鎖信息和最近鎖定時(shí)間進(jìn)行清空,并將該子任務(wù)的當(dāng)前任務(wù)狀態(tài)重置為可用。在該子任務(wù)被重置為可用后,符合領(lǐng)取該子任務(wù)條件的計(jì)算節(jié)點(diǎn)均可領(lǐng)取該子任務(wù)。本申請(qǐng)實(shí)施例中,設(shè)置重試時(shí)間隔,可以使得領(lǐng)取失敗或執(zhí)行失敗的子任務(wù)有一個(gè)調(diào)整和修復(fù)的時(shí)間,可以提高該子任務(wù)再次被領(lǐng)取和處理的成功率。所述重試時(shí)間間隔,可以根據(jù)子任務(wù)的狀態(tài)靈活設(shè)置。若子任務(wù)不需要做相應(yīng)的調(diào)整,也可以將重試時(shí)間間隔設(shè)置為零。這樣,領(lǐng)取失敗或執(zhí)行失敗的子任務(wù),可以立刻被重置為可領(lǐng)取的子任務(wù)。如表3所述為重置后的子任務(wù)狀態(tài)信息:表3:子任務(wù)被重置后的狀態(tài)信息最新子任務(wù)鎖最近鎖定時(shí)間被鎖定次數(shù)當(dāng)前任務(wù)狀態(tài)nullnull1可用表3中可以看出,重置后的子任務(wù)的狀態(tài)信息中的最新子任務(wù)鎖信息為空,表示該子任務(wù)被重置時(shí)之前鎖定該子任務(wù)的計(jì)算節(jié)點(diǎn)的子任務(wù)鎖信息被清空,待下一次被計(jì)算節(jié)點(diǎn)鎖定時(shí),更新為鎖定該子任務(wù)的計(jì)算節(jié)點(diǎn)的子任務(wù)鎖信息。最近鎖定時(shí)間也被清空,待下一次被計(jì)算節(jié)點(diǎn)鎖定時(shí)更新最近鎖定時(shí)間。被鎖定次數(shù)沒(méi)有被重置。當(dāng)前任務(wù)狀態(tài)重置為可用,表示重置后的子任務(wù),當(dāng)前時(shí)刻為可以被計(jì)算節(jié)點(diǎn)領(lǐng)取和鎖定。本申請(qǐng)實(shí)施例中,計(jì)算節(jié)點(diǎn)在領(lǐng)取到的子任務(wù)被執(zhí)行完畢后,將與該子任務(wù)對(duì)應(yīng)的狀態(tài)信息中的當(dāng)前任務(wù)狀態(tài)更新為成功;計(jì)算節(jié)點(diǎn)可以逐一檢查所述任務(wù)池中包含的每個(gè)子任務(wù)對(duì)應(yīng)的狀態(tài)信息中的當(dāng)前任務(wù)狀態(tài)是否為成功;若是,計(jì)算節(jié)點(diǎn)確定所述待處理的分布式任務(wù)執(zhí)行完畢。需要說(shuō)明的是,每一個(gè)被執(zhí)行完畢后的子任務(wù),其在任務(wù)池中生命周期也隨即結(jié)束,該子任務(wù)不會(huì)再被其他計(jì)算節(jié)點(diǎn)領(lǐng)取和處理。所述計(jì)算節(jié)點(diǎn)檢查所述任務(wù)池中的每個(gè)子任務(wù)是否執(zhí)行完畢,還可以是在該計(jì)算節(jié)點(diǎn)判斷領(lǐng)取到的子任務(wù)均執(zhí)行完畢后,向任務(wù)池提交已完成的子任務(wù),并進(jìn)行下一輪子任務(wù)的領(lǐng)取,而領(lǐng)取子任務(wù)失敗的情況下進(jìn)行的。本申請(qǐng)實(shí)施例,計(jì)算節(jié)點(diǎn)通過(guò)守護(hù)進(jìn)程對(duì)自身健康指標(biāo)值監(jiān)測(cè),并根據(jù)健康指標(biāo)值對(duì)應(yīng)的預(yù)設(shè)閾值,判斷該計(jì)算節(jié)點(diǎn)是否可以獲取子任務(wù)。在滿足領(lǐng)取子任務(wù)的條件下,計(jì)算節(jié)點(diǎn)向任務(wù)池獲取子任務(wù)并進(jìn)行處理。與現(xiàn)有技術(shù)相比,本申請(qǐng)實(shí)施例中這種計(jì)算節(jié)點(diǎn)主動(dòng)地進(jìn)行任務(wù)領(lǐng)取動(dòng)作,無(wú)需額外設(shè)置用以與各計(jì)算節(jié)點(diǎn)進(jìn)行心跳連接并進(jìn)行任務(wù)分發(fā)的控制節(jié)點(diǎn),從而避免控制節(jié)點(diǎn)對(duì)計(jì)算節(jié)點(diǎn)群的規(guī)模的限制,使得計(jì)算節(jié)點(diǎn)群的規(guī)模更加靈活。且本申請(qǐng)實(shí)施例中,計(jì)算節(jié)點(diǎn)通過(guò)守護(hù)進(jìn)程生成的子任務(wù)鎖信息,向任務(wù)池獲取子任務(wù)。計(jì)算節(jié)點(diǎn)的這種通過(guò)鎖機(jī)制領(lǐng)取子任務(wù),并采用異步線程的方式實(shí)現(xiàn)對(duì)子任務(wù)的獲取和處理的方法,可以大大提高分布式任務(wù)處理效率。本申請(qǐng)實(shí)施例還提供一種分布式任務(wù)處理的裝置,可以實(shí)現(xiàn)上述的方法步驟,且該裝置可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為邏輯意義上的裝置,是通過(guò)服務(wù)器的cpu(centralprocessunit,中央處理器)將對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。圖4為本申請(qǐng)一實(shí)施例中的分布式任務(wù)處理裝置的模塊示意圖。其中,該裝置中的各個(gè)單元實(shí)現(xiàn)的功能與上述方法中包含的各個(gè)步驟實(shí)現(xiàn)的功能類似,故該裝置中的各個(gè)單元可以參照上述方法中的各個(gè)步驟的具體內(nèi)容。本實(shí)施例中,與上述方法對(duì)應(yīng)的,所述裝置包括:獲取單元301,用于通過(guò)守護(hù)進(jìn)程監(jiān)測(cè)該計(jì)算節(jié)點(diǎn)的至少一個(gè)健康指標(biāo)值;判斷單元302,用于根據(jù)所述健康指標(biāo)值及與該健康指標(biāo)值對(duì)應(yīng)的預(yù)設(shè)閾值,判斷該計(jì)算節(jié)點(diǎn)是否具有從預(yù)先存儲(chǔ)有若干子任務(wù)的任務(wù)池中領(lǐng)取子任務(wù)的權(quán)限;其中,所述子任務(wù)是通過(guò)將待處理的分布式任務(wù)進(jìn)行拆分得到的;領(lǐng)取單元303,用于在計(jì)算節(jié)點(diǎn)具有領(lǐng)取子任務(wù)的權(quán)限時(shí),從所述任務(wù)池中領(lǐng)取至少一個(gè)子任務(wù);生成單元304,用于生成與領(lǐng)取到的子任務(wù)對(duì)應(yīng)的任務(wù)線程并利用該任務(wù)線程執(zhí)行該子任務(wù)。如圖4所示的分布式任務(wù)處理裝置,所述裝置還包括:子任務(wù)鎖生成單元,用于通過(guò)守護(hù)進(jìn)程生成與領(lǐng)取到的子任務(wù)對(duì)應(yīng)的子任務(wù)鎖信息;其中,所述子任務(wù)鎖信息包含領(lǐng)取該子任務(wù)的計(jì)算節(jié)點(diǎn)的標(biāo)識(shí)id及鎖定該子任務(wù)的時(shí)間戳;子任務(wù)狀態(tài)更新單元,用于利用所述子任務(wù)鎖信息對(duì)領(lǐng)取到的子任務(wù)的狀態(tài)信息進(jìn)行更新。如圖4所示的分布式任務(wù)處理裝置,所述裝置還包括:任務(wù)執(zhí)行狀態(tài)判斷單元,用于判斷領(lǐng)取到的子任務(wù)是否在所述子任務(wù)鎖信息中的鎖定該子任務(wù)的時(shí)間戳之后的預(yù)設(shè)更新時(shí)長(zhǎng)內(nèi)執(zhí)行完畢。如圖4所示的分布式任務(wù)處理裝置,所述裝置還包括:閾值確定單元,用于根據(jù)任務(wù)池中存儲(chǔ)的子任務(wù)需消耗計(jì)算節(jié)點(diǎn)的資源量,確定與健康指標(biāo)值對(duì)應(yīng)的預(yù)設(shè)閾值。如圖4所示的分布式任務(wù)處理裝置,所述裝置還包括:更新單元,用于在領(lǐng)取到的子任務(wù)執(zhí)行完畢后,將與該子任務(wù)對(duì)應(yīng)的狀態(tài)信息中的當(dāng)前任務(wù)狀態(tài)更新為成功;任務(wù)檢查單元,用于逐一檢查所述任務(wù)池中包含的每個(gè)子任務(wù)對(duì)應(yīng)的狀態(tài)信息中的當(dāng)前任務(wù)狀態(tài)是否為成功。本申請(qǐng)實(shí)施例,計(jì)算節(jié)點(diǎn)通過(guò)獲取單元對(duì)自身健康指標(biāo)值監(jiān)測(cè),判斷單元根據(jù)健康指標(biāo)值對(duì)應(yīng)的預(yù)設(shè)閾值,判斷該計(jì)算節(jié)點(diǎn)是否可以獲取子任務(wù)。在滿足領(lǐng)取子任務(wù)的條件下,計(jì)算節(jié)點(diǎn)的領(lǐng)取單元向任務(wù)池獲取子任務(wù),并通過(guò)處理單元生成任務(wù)線程對(duì)所述子任務(wù)進(jìn)行處理。與現(xiàn)有技術(shù)相比,本申請(qǐng)實(shí)施例中這種計(jì)算節(jié)點(diǎn)的領(lǐng)取單元主動(dòng)地進(jìn)行任務(wù)領(lǐng)取動(dòng)作,無(wú)需額外設(shè)置用以與各計(jì)算節(jié)點(diǎn)進(jìn)行心跳連接并進(jìn)行任務(wù)分發(fā)的控制節(jié)點(diǎn),從而避免控制節(jié)點(diǎn)對(duì)計(jì)算節(jié)點(diǎn)群的規(guī)模的限制,使得計(jì)算節(jié)點(diǎn)群的規(guī)模更加靈活。且本申請(qǐng)實(shí)施例中, 計(jì)算節(jié)點(diǎn)通過(guò)子任務(wù)鎖生成單元生成的子任務(wù)鎖信息,向任務(wù)池獲取子任務(wù)。計(jì)算節(jié)點(diǎn)的這種通過(guò)鎖機(jī)制領(lǐng)取子任務(wù),避免不同計(jì)算節(jié)點(diǎn)之間重復(fù)領(lǐng)取同一個(gè)子任務(wù),從而大大提高分布式任務(wù)處理效率。上述實(shí)施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計(jì)算機(jī)芯片或?qū)嶓w實(shí)現(xiàn),或者由具有某種功能的產(chǎn)品來(lái)實(shí)現(xiàn)。為了描述的方便,描述以上裝置時(shí)以功能分為各種單元分別描述。當(dāng)然,在實(shí)施本申請(qǐng)時(shí)可以把各單元的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè) 流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(rom)或閃存(flashram)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、其他類型的隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號(hào)和載波。還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者設(shè)備中還存在另外的相同要素。本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、 光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所述僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。當(dāng)前第1頁(yè)12
      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1