国产精品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ù)系統(tǒng)和分布式任務(wù)管理方法

      文檔序號(hào):6571044閱讀:252來源:國(guó)知局
      專利名稱:一種分布式任務(wù)系統(tǒng)和分布式任務(wù)管理方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及任務(wù)調(diào)度與策略技術(shù)領(lǐng)域,尤其涉及一種分布式任務(wù)系統(tǒng)和 分布式任務(wù)管理方法。
      背景技術(shù)
      任務(wù)是指按照預(yù)先訂制的策略進(jìn)行執(zhí)行的一個(gè)工作。例如windows的任務(wù) 系統(tǒng),可以制定一個(gè)任務(wù)12: 50系統(tǒng)自動(dòng)關(guān)機(jī);則在12: 50時(shí)系統(tǒng)執(zhí)行該 任務(wù),完成自動(dòng)關(guān)機(jī)的工作。目前,大部分任務(wù)系統(tǒng)采用的是單系統(tǒng),但是單系統(tǒng)的處理能力非常有 限。隨著任務(wù)的復(fù)雜性和精度要求的不斷提高,系統(tǒng)需要處理的任務(wù)越來越 重,因此單系統(tǒng)已經(jīng)不能4艮好地滿足用戶的需要。為了解決系統(tǒng)處理能力有限的問題,現(xiàn)在一般采用分布式任務(wù)系統(tǒng),該 系統(tǒng)由一個(gè)任務(wù)策略運(yùn)行單元和一組任務(wù)執(zhí)行單元組成,在任務(wù)策略運(yùn)行單 元的控制下,每個(gè)任務(wù)執(zhí)行單元共同分擔(dān)需要處理的任務(wù)。在該系統(tǒng)中,要 求在任務(wù)單位時(shí)間內(nèi)有且只能有一個(gè)任務(wù)執(zhí)行單元執(zhí)行該任務(wù),即在分布式 任務(wù)系統(tǒng)中,要保證任務(wù)是線性執(zhí)行的。在同一時(shí)刻出現(xiàn)兩個(gè)任務(wù)執(zhí)行單元 從任務(wù)策略運(yùn)行單元獲得任務(wù)執(zhí)行權(quán)是錯(cuò)誤的?,F(xiàn)有^fe術(shù)的一種分布式任務(wù)系統(tǒng)如圖l所示,該系統(tǒng)包括任務(wù)策略運(yùn)行單 元11和N個(gè)任務(wù)執(zhí)行單元12 ,其中任務(wù)策略運(yùn)行單元11分別與每個(gè)任務(wù)執(zhí)行單 元12進(jìn)行通信。任務(wù)策略運(yùn)行單元11分配任務(wù)到任務(wù)執(zhí)行單元12,監(jiān)控每個(gè) 任務(wù)執(zhí)行單元12,并對(duì)該任務(wù)執(zhí)行單元12進(jìn)行管理;任務(wù)執(zhí)行單元12執(zhí)行任 務(wù)策略運(yùn)行單元ll分配的任務(wù),并向任務(wù)策略運(yùn)行單元ll報(bào)告自己的狀態(tài)。多服務(wù)器處理的能力。但是,采用該系統(tǒng)時(shí),任務(wù)執(zhí)行單元12只是被動(dòng)的^皮調(diào)用者,而無法進(jìn) 行自我平衡。因此,當(dāng)有很多個(gè)任務(wù)需要執(zhí)行,且長(zhǎng)任務(wù)和短任務(wù)都混合在 一起時(shí),任務(wù)策略運(yùn)行羊元11對(duì)任務(wù)執(zhí)行單元12的控制能力變?nèi)?,甚至不?控。發(fā)明內(nèi)容本發(fā)明要解決的問題是提供一種分布式任務(wù)管理方法和分布式任務(wù)系 統(tǒng),以克服任務(wù)執(zhí)行單元只是被動(dòng)的被調(diào)用者,而無法進(jìn)行自我平衡的缺陷。為了實(shí)現(xiàn)以上目的,本發(fā)明的實(shí)施例提供了一種分布式任務(wù)系統(tǒng),包括 任務(wù)事務(wù)服務(wù)器和至少一個(gè)任務(wù)服務(wù)器,所述任務(wù)事務(wù)服務(wù)器,接收所述任 務(wù)服務(wù)器發(fā)送的任務(wù)請(qǐng)求,向所述任務(wù)服務(wù)器進(jìn)行反饋,并記錄各個(gè)任務(wù)的 執(zhí)行情況;所述任務(wù)服務(wù)器,向所述任務(wù)事務(wù)服務(wù)器發(fā)送任務(wù)請(qǐng)求,并根據(jù) 所述任務(wù)事務(wù)服務(wù)器的反饋結(jié)果執(zhí)行所述任務(wù)。所述任務(wù)服務(wù)器進(jìn)一步包括自我平衡單元和任務(wù)執(zhí)行單元;所述自我平 衡單元,向所述任務(wù)事務(wù)服務(wù)器發(fā)送任務(wù)請(qǐng)求,并接收所述任務(wù)事務(wù)服務(wù)器 發(fā)送的反饋結(jié)果,根據(jù)所述反饋結(jié)果觸發(fā)所述任務(wù)執(zhí)行單元執(zhí)行所述任務(wù); 所述任務(wù)執(zhí)行單元,與所述自我平衡單元連接,在所述自我平衡單元的控制 下執(zhí)行所述任務(wù)。所述任務(wù)服務(wù)器還包括任務(wù)策略運(yùn)行單元,與所述自我平衡單元連接, 用于觸發(fā)所述自我平衡單元發(fā)送任務(wù)請(qǐng)求。當(dāng)所述反饋結(jié)果為所述任務(wù)服務(wù)器可以執(zhí)行所述任務(wù)時(shí),所述自我平衡 單元檢測(cè)所述任務(wù)服務(wù)器是否忙碌,如果忙碌,則向所述任務(wù)事務(wù)服務(wù)器發(fā) 送任務(wù)^f金查消息;所述任務(wù)事務(wù)服務(wù)器檢查是否有其它任務(wù)服務(wù)器申請(qǐng)所述 任務(wù),并向所述自我平衡單元發(fā)送檢查結(jié)果。所述任務(wù)服務(wù)器的忙碌情況包括當(dāng)前線程數(shù)量大于或等于預(yù)先設(shè)定的 線程數(shù)量門限值和/或當(dāng)前長(zhǎng)時(shí)間線程數(shù)量大于或等于預(yù)先設(shè)定的長(zhǎng)時(shí)間線程 數(shù)量門P艮值和/或所述任務(wù)服務(wù)器的運(yùn)行能力值大于或等于1。本發(fā)明的實(shí)施例還提供了一種分布式任務(wù)管理方法,包括以下步驟任務(wù)服務(wù)器向任務(wù)事務(wù)服務(wù)器發(fā)送任務(wù)請(qǐng)求消息;所述任務(wù)事務(wù)服務(wù)器根據(jù)記 錄的各個(gè)任務(wù)的執(zhí)行情況,判斷所述任務(wù)服務(wù)器是否可以執(zhí)行所述任務(wù),并將判斷結(jié)果發(fā)送到所迷任務(wù)服務(wù)器;如果判斷結(jié)果為是,則所述任務(wù)服務(wù)器 執(zhí)行所述任務(wù)。在任務(wù)服務(wù)器向任務(wù)事務(wù)服務(wù)器發(fā)送任務(wù)請(qǐng)求消息后,如果在第一間隔時(shí)間內(nèi)收到所述任務(wù)事務(wù)服務(wù)器反饋的判斷結(jié)果,則開始事務(wù);否則重新進(jìn) 行申請(qǐng)。如果在第二間隔時(shí)間內(nèi)沒有收到所述任務(wù)事務(wù)服務(wù)器反饋的判斷結(jié)果, 則所述任務(wù)服務(wù)器放棄申請(qǐng)。所述判斷任務(wù)服務(wù)器是否可以執(zhí)行所述任務(wù)具體為所述任務(wù)事務(wù)服務(wù) 器檢查各個(gè)任務(wù)的執(zhí)行情況,如果有其它任務(wù)服務(wù)器正在執(zhí)行所述任務(wù),則 判斷結(jié)果為所述任務(wù)服務(wù)器不可以執(zhí)行所述任務(wù);否則判斷結(jié)果為所述任務(wù) 服務(wù)器可以執(zhí)行所迷任務(wù)。在所述任務(wù)服務(wù)器執(zhí)行任務(wù)之前,還包括所述任務(wù)服務(wù)器檢測(cè)本身是 否忙碌,如果不忙碌,則執(zhí)行所述任務(wù);如果忙碌,則向所述任務(wù)事務(wù)服務(wù) 器發(fā)送任務(wù)檢查消息;所述任務(wù)事務(wù)服務(wù)器檢查是否有其它任務(wù)服務(wù)器申請(qǐng) 所述任務(wù),并向所述自我平衡單元發(fā)送檢查結(jié)果;如果檢查結(jié)果為是,則所 述任務(wù)服務(wù)器放棄本次任務(wù)請(qǐng)求,否則執(zhí)行所述任務(wù)。所述任務(wù)服務(wù)器檢測(cè)本身是否忙碌,包括判斷當(dāng)前線程數(shù)量是否大于 或等于預(yù)先設(shè)定的線程數(shù)量門限值,如果是,則所述任務(wù)服務(wù)器忙碌。所述任務(wù)服務(wù)器檢測(cè)本身是否忙碌,包括判斷當(dāng)前長(zhǎng)時(shí)間線程數(shù)量是 否大于或等于預(yù)先設(shè)定的長(zhǎng)時(shí)間線程數(shù)量門限值,如果是,則所述任務(wù)服務(wù) 器忙碌。所述任務(wù)服務(wù)器檢測(cè)本身是否忙碌,包括根據(jù)CPU使用率、當(dāng)前線程 數(shù)量和長(zhǎng)時(shí)間線程數(shù)量獲取所述任務(wù)服務(wù)器的運(yùn)行能力值,如果所述運(yùn)行能 力值大于或等于l,則所述任務(wù)服務(wù)器忙碌。所述任務(wù)服務(wù)器執(zhí)行任務(wù),包括獲取執(zhí)行所述任務(wù)的數(shù)據(jù);根據(jù)所述 數(shù)據(jù)和所述任務(wù)的執(zhí)行時(shí)間,對(duì)所述數(shù)據(jù)進(jìn)行分組;對(duì)每組數(shù)據(jù)進(jìn)行處理。所述各個(gè)任務(wù)的執(zhí)行情況包括任務(wù)執(zhí)行者、上次任務(wù)執(zhí)行時(shí)間和任務(wù)名稱。與現(xiàn)有抆術(shù)相比,本發(fā)明的實(shí)施例具有以下優(yōu)點(diǎn)在本發(fā)明的實(shí)施例中,任務(wù)服務(wù)器采用自我平衡單元檢測(cè)任務(wù)服務(wù)器本 身是否忙碌,并在忙碌時(shí),將任務(wù)轉(zhuǎn)移到其它任務(wù)服務(wù)器執(zhí)行,實(shí)現(xiàn)了任務(wù) 服務(wù)器的自我平衡。因此,當(dāng)有很多個(gè)任務(wù)需要執(zhí)行,且長(zhǎng)任務(wù)和短任務(wù)都 混合在一起時(shí),自我平衡單元也能夠?qū)θ蝿?wù)執(zhí)行單元進(jìn)行有效地控制。另外,本發(fā)明的實(shí)施例采用任務(wù)事務(wù)服務(wù)器,根據(jù)各個(gè)任務(wù)的執(zhí)行情況 對(duì)任務(wù)服務(wù)器的任務(wù)請(qǐng)求進(jìn)行反饋,保證了任務(wù)的線性執(zhí)行。附困說明

      圖1是現(xiàn)有技術(shù)的一種分布式任務(wù)系統(tǒng)圖;圖2是本發(fā)明實(shí)施例的一種分布式任務(wù)系統(tǒng)圖;圖3是本發(fā)明的一種分布式任務(wù)管理方法實(shí)施例的流程圖;圖4是圖3實(shí)施例中執(zhí)行任務(wù)實(shí)施例的流程圖。
      具體實(shí)施方式
      下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式
      作進(jìn)一步詳細(xì)描述 本發(fā)明實(shí)施例的一種分布式任務(wù)系統(tǒng)如圖2所示,該系統(tǒng)包括任務(wù)服務(wù) 器21、任務(wù)事務(wù)服務(wù)器22和任務(wù)服務(wù)器23。其中任務(wù)事務(wù)服務(wù)器22分別與 任務(wù)服務(wù)器21和任務(wù)服務(wù)器23連接。任務(wù)事務(wù)服務(wù)器22用于接收任務(wù)服務(wù) 器21和/或任務(wù)服務(wù)器23發(fā)送的任務(wù)請(qǐng)求,向任務(wù)服務(wù)器21和/或任務(wù)服務(wù) 器23進(jìn)行反饋,并記錄各個(gè)任務(wù)的執(zhí)行情況;該任務(wù)的執(zhí)行情況包括任務(wù)執(zhí) 行者、上次任務(wù)執(zhí)行時(shí)間和任務(wù)名稱。任務(wù)服務(wù)器21和/或任務(wù)服務(wù)器23向 任務(wù)事務(wù)服務(wù)器22發(fā)送任務(wù)請(qǐng)求,并根據(jù)任務(wù)事務(wù)服務(wù)器22的反饋結(jié)果執(zhí) 行該任務(wù)。任務(wù)服務(wù)器21進(jìn)一步包括任務(wù)策略運(yùn)行單元211、自我平衡單元212和 任務(wù)執(zhí)行單元213,其中自我平衡單元212分別與任務(wù)策略運(yùn)行單元211和任務(wù)執(zhí)4亍單元213連接。4壬務(wù)策略運(yùn)4亍單元211用于觸發(fā)自我平衡單元212發(fā) 送任務(wù)請(qǐng)求;自我平衡單元212用于向任務(wù)事務(wù)服務(wù)器22發(fā)送任務(wù)請(qǐng)求,并 接收任務(wù)亊務(wù)服務(wù)器22發(fā)送的反饋結(jié)果,當(dāng)該反饋結(jié)杲為任務(wù)服務(wù)器21可 以執(zhí)行該任務(wù)時(shí),自我平衡單元212檢測(cè)任務(wù)服務(wù)器21是否忙碌,如果忙碌, 則向任務(wù)事務(wù)服務(wù)器22發(fā)送任務(wù)檢查消息;任務(wù)事務(wù)服務(wù)器22檢查是否有 其它任務(wù)服務(wù)器申請(qǐng)?jiān)撊蝿?wù),并向自我平衡單元212發(fā)送檢查結(jié)果;如果檢 查結(jié)果為否,則自我平衡單元212觸發(fā)任務(wù)執(zhí)行單元213執(zhí)行該任務(wù)。其中,任務(wù)服務(wù)器21的忙碌情況包括任務(wù)服務(wù)器21的當(dāng)前線程數(shù)量 大于或等于預(yù)先設(shè)定的線程數(shù)量門限值和/或當(dāng)前長(zhǎng)時(shí)間線程數(shù)量大于或等于 預(yù)先設(shè)定的長(zhǎng)時(shí)間線程數(shù)量門限值和/或任務(wù)服務(wù)器21的運(yùn)行能力值大于或 等于l。例如任務(wù)服務(wù)器21預(yù)先設(shè)定的線程數(shù)量門限值為500,當(dāng)前線程數(shù)量 為500;因?yàn)樵摦?dāng)前線程數(shù)量等于預(yù)先設(shè)定的線程數(shù)量門限值,所以任務(wù)服務(wù) 器21處于忙碌狀態(tài),沒有能力執(zhí)行其它任務(wù)。再例如任務(wù)服務(wù)器21預(yù)先設(shè)定的長(zhǎng)時(shí)間線程數(shù)量門P艮值為5,當(dāng)前長(zhǎng) 時(shí)間線程數(shù)量為5;因?yàn)樵摦?dāng)前長(zhǎng)時(shí)間線程數(shù)量等于預(yù)先設(shè)定的長(zhǎng)時(shí)間線程數(shù) 量門限值,所以任務(wù)服務(wù)器21處于忙碌狀態(tài),沒有能力執(zhí)行其它任務(wù)。再例如任務(wù)服務(wù)器21預(yù)先設(shè)定的線程數(shù)量門限值為500,預(yù)先設(shè)定的 長(zhǎng)時(shí)間線程數(shù)量門限值為5;任務(wù)服務(wù)器21的當(dāng)前CPU使用率為85%,當(dāng)前 長(zhǎng)時(shí)間線程數(shù)量為3,當(dāng)前線程數(shù)量為100;則任務(wù)服務(wù)器21的運(yùn)行能力值 可由以下公式獲取運(yùn)行能力值-CPU使用率x80。/q +長(zhǎng)時(shí)間線程數(shù)量乂75%/5+線程數(shù)量乂40 %/500根據(jù)上式,得出任務(wù)服務(wù)器21當(dāng)前的運(yùn)行能力值=85°/<^80%+3x75% /5+100x40%/500 = 0.68 + 0.45 + 0.08 = 1.21,因?yàn)樵撨\(yùn)行能力值大于1,所以 任務(wù)服務(wù)器21處于忙碌狀態(tài),沒有能力執(zhí)行其它任務(wù)。其中,上式中的80%、 75%和40%是經(jīng)驗(yàn)者,可依據(jù)硬件和操作系統(tǒng)的 變化而進(jìn)行調(diào)整。再例如任務(wù)服務(wù)器21預(yù)先設(shè)定的線程數(shù)量門限值為500,預(yù)先設(shè)定的 長(zhǎng)時(shí)間線程數(shù)量門P艮值為5;任務(wù)服務(wù)器21的當(dāng)前CPU使用率為80%,當(dāng)前 長(zhǎng)時(shí)間線程數(shù)量為2,當(dāng)前線程數(shù)量為50;則任務(wù)服務(wù)器21當(dāng)前的運(yùn)行能力值=80°/-80% +2x75%/5+50x40%/500 = 0.64+ 0.3+ 0.04 = 0.98 <1;如果再執(zhí)行一個(gè)長(zhǎng)時(shí)間線程,則任務(wù)服務(wù)器21當(dāng)前的運(yùn)行能力值= 80%x80% + 3x75 %/5+50x40%/500 = 0.64 + 0.45 + 0.04 = 1.13 〉 1;如果再執(zhí)行一個(gè)短時(shí)間線程,則任務(wù)服務(wù)器21當(dāng)前的運(yùn)行能力值-80%x80 % + 2x75 % /5+51 x40 % /500 = 0.64 + 0.3 + 0.0408 = 0.9808 < 1;所以任務(wù)服務(wù)器21處于非忙碌狀態(tài),但只能再執(zhí)行短時(shí)間線程,不能再 執(zhí)行長(zhǎng)時(shí)間線程。當(dāng)采用圖2所示分布式任務(wù)系統(tǒng)時(shí),本發(fā)明的一種分布式任務(wù)管理方法 實(shí)施例的流程如圖3所示。首先,任務(wù)服務(wù)器向任務(wù)事務(wù)服務(wù)器發(fā)送任務(wù)請(qǐng)求消息;然后,所述任務(wù)事務(wù)服務(wù)器根據(jù)記錄的各個(gè)任務(wù)的執(zhí)行情況,判斷 所述任務(wù)服務(wù)器是否可以執(zhí)行所述任務(wù),并將判斷結(jié)果發(fā)送到所述任務(wù)服務(wù) 器;如果判斷結(jié)果為是,則所述任務(wù)服務(wù)器執(zhí)行所述任務(wù)。參照?qǐng)D3,以任務(wù) 服務(wù)器21申請(qǐng)執(zhí)行任務(wù)A為例,本實(shí)施例包括以下步驟步驟s301,任務(wù)服務(wù)器12向任務(wù)事務(wù)服務(wù)器22發(fā)送任務(wù)請(qǐng)求消息。即 任務(wù)策略運(yùn)行單元211觸發(fā)自我平衡單元212,向任務(wù)事務(wù)服務(wù)器22發(fā)送執(zhí) 行任務(wù)A的請(qǐng)求。步驟s302,任務(wù)服務(wù)器21判斷在預(yù)設(shè)的第一間隔時(shí)間內(nèi)是否收到任務(wù)事 務(wù)服務(wù)器22反饋的判斷結(jié)果,如果是,則轉(zhuǎn)步驟s304,否則轉(zhuǎn)步驟s303。步驟s303,任務(wù)服務(wù)器21判斷接收任務(wù)事務(wù)服務(wù)器22反饋的判斷結(jié)果 的時(shí)間是否超過預(yù)設(shè)的第二間隔時(shí)間,如果是,則轉(zhuǎn)步驟s308,否則轉(zhuǎn)步驟 s301;該預(yù)設(shè)的第二間隔時(shí)間可以為30秒或者調(diào)度間隔的1/3。步驟s304,任務(wù)事務(wù)服務(wù)器22根據(jù)記錄的各個(gè)任務(wù)的執(zhí)行情況,判斷任 務(wù)服務(wù)器21是否可以執(zhí)行任務(wù)A,并向任務(wù)服務(wù)器21反饋判斷結(jié)果;如果 是,則轉(zhuǎn)步驟s305,否則結(jié)束。判斷任務(wù)服務(wù)器21是否可以執(zhí)行任務(wù)A的過程具體為任務(wù)事務(wù)服務(wù)器 22檢查各個(gè)任務(wù)的執(zhí)行情況,該任務(wù)的執(zhí)行情況包括任務(wù)執(zhí)行者、上次任務(wù) 執(zhí)行時(shí)間和任務(wù)名稱;如果任務(wù)服務(wù)器23正在執(zhí)行任務(wù)A,則任務(wù)服務(wù)器21 不可以執(zhí)行所述任務(wù);否則任務(wù)服務(wù)器21可以執(zhí)行任務(wù)A。本實(shí)施例中假設(shè) 任務(wù)A沒有被任務(wù)服務(wù)器23執(zhí)行,所以任務(wù)事務(wù)服務(wù)器22向任務(wù)服務(wù)器21 反饋其可以執(zhí)行任務(wù)A的判斷結(jié)果,并轉(zhuǎn)步驟s305。步驟s305,自我平衡單元212檢測(cè)任務(wù)服務(wù)器21是否忙碌,如果是,則 轉(zhuǎn)步驟s306;否則轉(zhuǎn)步驟s309。自我平衡單元212檢測(cè)任務(wù)服務(wù)器21是否忙碌,包括判斷任務(wù)服務(wù)器 21的當(dāng)前線程數(shù)量是否大于或等于預(yù)先設(shè)定的線程數(shù)量門限值,如果是,則 任務(wù)服務(wù)器21忙碌;還包括判斷任務(wù)服務(wù)器21的當(dāng)前長(zhǎng)時(shí)間線程數(shù)量是 否大于或等于預(yù)先設(shè)定的長(zhǎng)時(shí)間線程數(shù)量門限值,如果是,則任務(wù)服務(wù)器21 忙碌;還包括判斷任務(wù)服務(wù)器21的運(yùn)行能力值是否大于或等于1,如果是, 則任務(wù)服務(wù)器21忙碌。其中任務(wù)服務(wù)器21的運(yùn)行能力值可以根據(jù)其CPU使 用率、當(dāng)前線程數(shù)量和長(zhǎng)時(shí)間線程數(shù)量計(jì)算得到。本實(shí)施例中假設(shè)任務(wù)服務(wù)器21預(yù)先設(shè)定的線程數(shù)量門限值為500,預(yù)先 設(shè)定的長(zhǎng)時(shí)間線程數(shù)量門限值為5;任務(wù)服務(wù)器21的當(dāng)前CPU使用率為85%, 當(dāng)前長(zhǎng)時(shí)間線程數(shù)量為3,當(dāng)前線程數(shù)量為100;則任務(wù)服務(wù)器21的運(yùn)行能 力值可由以下公式計(jì)算得到運(yùn)行能力值-CPU使用率x80。/。 +長(zhǎng)時(shí)間線程數(shù)量><75%/5+線程數(shù)量乂40 %/500根據(jù)上式,得出任務(wù)服務(wù)器21當(dāng)前的運(yùn)行能力值=85°/(^80% +3x75% /5+100x40%/500-0.68 + 0.45 + 0.08 = 1.21,因?yàn)樵撨\(yùn)行能力值大于1,所以 任務(wù)服務(wù)器21處于忙碌狀態(tài),轉(zhuǎn)步驟s306。其中,上式中的80%、 75%和40%是經(jīng)驗(yàn)者,可依據(jù)硬件和操作系統(tǒng)的 變化而進(jìn)行調(diào)整。步驟s306,自我平衡單元212向任務(wù)事務(wù)服務(wù)器22發(fā)送任務(wù)A的檢查消步驟s307,任務(wù)事務(wù)服務(wù)器22檢查任務(wù)服務(wù)器23是否申請(qǐng)執(zhí)行任務(wù)A; 如果是,則轉(zhuǎn)步驟s308;否則轉(zhuǎn)步驟s309。步驟s308,任務(wù)服務(wù)器21放棄本次執(zhí)行任務(wù)A的請(qǐng)求并結(jié)東。 步驟s309,自我平衡單元212觸發(fā)任務(wù)執(zhí)行單元213執(zhí)行任務(wù)A。 任務(wù)執(zhí)行單元213在執(zhí)行任務(wù)A時(shí)進(jìn)行了預(yù)處理,其執(zhí)行任務(wù)A的流程如圖4所示,包括以下步驟步驟s401,任務(wù)執(zhí)行單元213獲取執(zhí)行任務(wù)A的數(shù)據(jù)。步驟s402,根據(jù)任務(wù)A的數(shù)據(jù)和任務(wù)A的執(zhí)行時(shí)間,對(duì)該數(shù)據(jù)進(jìn)行分組。即為任務(wù)A的數(shù)據(jù)分派具體的執(zhí)行者來運(yùn)行,依據(jù)數(shù)據(jù)的多少動(dòng)態(tài)選擇創(chuàng)建任務(wù)執(zhí)行者的數(shù)量。本實(shí)施例中假設(shè)有IOOO個(gè)數(shù)據(jù)要在1分鐘之內(nèi)完成,則需要20個(gè)任務(wù)執(zhí)行者來運(yùn)行該些數(shù)據(jù)。步驟s403,對(duì)每組數(shù)據(jù)進(jìn)行處理,并監(jiān)控任務(wù)執(zhí)行情況。即調(diào)用實(shí)際的任務(wù)執(zhí)行者分別運(yùn)行對(duì)應(yīng)的數(shù)據(jù),并監(jiān)控任務(wù)A的執(zhí)行情況;對(duì)超過最大任務(wù)執(zhí)行時(shí)間的任務(wù)進(jìn)行標(biāo)記處理,表明任務(wù)服務(wù)器21有任務(wù)處于異常狀態(tài)。 在本發(fā)明的實(shí)施例中,自我平衡單元212檢測(cè)任務(wù)服務(wù)器21是否忙碌,并在忙碌時(shí),將任務(wù)轉(zhuǎn)移到其它任務(wù)服務(wù)器執(zhí)行,實(shí)現(xiàn)了任務(wù)服務(wù)器的自我平衡。并且,任務(wù)事務(wù)服務(wù)器22根據(jù)各個(gè)任務(wù)的執(zhí)行情況對(duì)任務(wù)服務(wù)器21的任務(wù)請(qǐng)求進(jìn)行反饋,保證了任務(wù)的線性執(zhí)行。以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
      權(quán)利要求
      1. 一種分布式任務(wù)系統(tǒng),其特征在于,包括任務(wù)事務(wù)服務(wù)器和至少一個(gè)任務(wù)服務(wù)器,所述任務(wù)事務(wù)服務(wù)器,接收所述任務(wù)服務(wù)器發(fā)送的任務(wù)請(qǐng)求,向所述任務(wù)服務(wù)器進(jìn)行反饋,并記錄各個(gè)任務(wù)的執(zhí)行情況;所述任務(wù)服務(wù)器,向所述任務(wù)事務(wù)服務(wù)器發(fā)送任務(wù)請(qǐng)求,并根據(jù)所述任務(wù)事務(wù)服務(wù)器的反饋結(jié)果執(zhí)行所述任務(wù)。
      2、 如權(quán)利要求1所述分布式任務(wù)系統(tǒng),其特征在于,所述任務(wù)服務(wù)器 進(jìn)一步包括自我平衡單元和任務(wù)執(zhí)行單元;所述自我平衡單元,向所述任務(wù)事務(wù)服務(wù)器發(fā)送任務(wù)請(qǐng)求,并接收所述 任務(wù)事務(wù)服務(wù)器發(fā)送的反饋結(jié)果,根據(jù)所述反饋結(jié)果觸發(fā)所述任務(wù)執(zhí)行單元 執(zhí)行所述任務(wù);所述任務(wù)執(zhí)行單元,與所述自我平衡單元連接,在所述自我平衡單元的 控制下執(zhí)行所述任務(wù)。
      3、 如權(quán)利要求2所述分布式任務(wù)系統(tǒng),其特征在于,所述任務(wù)服務(wù)器 還包括任務(wù)策略運(yùn)行單元,與所述自我平衡單元連接,用于觸發(fā)所述自我平 衡單元發(fā)送任務(wù)請(qǐng)求。
      4、 如權(quán)利要求2所述分布式任務(wù)系統(tǒng),其特征在于,當(dāng)所述反饋結(jié)果為 所述任務(wù)服務(wù)器可以執(zhí)行所述任務(wù)時(shí),所述自我平衡單元檢測(cè)所述任務(wù)服務(wù) 器是否忙碌,如果忙碌,則向所述任務(wù)事務(wù)服務(wù)器發(fā)送任務(wù)檢查消息;所述任務(wù)事務(wù)服務(wù)器檢查是否有其它任務(wù)服務(wù)器申請(qǐng)所述任務(wù),并向所 述自我平衡單元發(fā)送檢查結(jié)果。
      5、 如權(quán)利要求4所述分布式任務(wù)系統(tǒng),其特征在于,所述任務(wù)服務(wù)器的 忙碌情況包括當(dāng)前線程數(shù)量大于或等于預(yù)先設(shè)定的線程數(shù)量門P艮值和/或當(dāng) 前長(zhǎng)時(shí)間線程數(shù)量大于或等于預(yù)先設(shè)定的長(zhǎng)時(shí)間線程數(shù)量門限值和/或所述任 務(wù)服務(wù)器的運(yùn)行能力值大于或等于1。
      6、 一種分布式任務(wù)管理方法,其特征在于,包括以下步驟 任務(wù)服務(wù)器向任務(wù)事務(wù)服務(wù)器發(fā)送任務(wù)請(qǐng)求消息;所述任務(wù)事務(wù)服務(wù)器根據(jù)記錄的各個(gè)任務(wù)的執(zhí)行情況,判斷所述任務(wù)服務(wù)器是否可以執(zhí)行所述任務(wù),并將判斷結(jié)果發(fā)送到所述任務(wù)服務(wù)器; 如果判斷結(jié)果為是,則所述任務(wù)服務(wù)器執(zhí)行所迷任務(wù)。
      7、 如權(quán)利要求6所述分布式任務(wù)管理方法,其特征在于,在任務(wù)服務(wù)器 向任務(wù)事務(wù)服務(wù)器發(fā)送任務(wù)請(qǐng)求消息后,如果在第一間隔時(shí)間內(nèi)收到所述任 務(wù)事務(wù)11務(wù)器>^饋的判斷結(jié)果,則開始事務(wù);否則重新進(jìn)行申請(qǐng)。
      8、 如權(quán)利要求7所述分布式任務(wù)管理方法,其特征在于,如果在第二間 隔時(shí)間內(nèi)沒有收到所述任務(wù)事務(wù)服務(wù)器反饋的判斷結(jié)果,則所述任務(wù)服務(wù)器 放棄申請(qǐng)。
      9、 如權(quán)利要求6所述分布式任務(wù)管理方法,其特征在于,所述判斷任務(wù) 服務(wù)器是否可以執(zhí)行所述任務(wù)具體為所述任務(wù)事務(wù)服務(wù)器檢查各個(gè)任務(wù)的 執(zhí)行情況,如果有其它任務(wù)服務(wù)器正在執(zhí)行所述任務(wù),則判斷結(jié)果為所述任 務(wù)服務(wù)器不可以執(zhí)行所述任務(wù);否則判斷結(jié)果為所述任務(wù)服務(wù)器可以執(zhí)行所 述任務(wù)。
      10、 如權(quán)利要求6所述分布式任務(wù)管理方法,其特征在于,在所述任務(wù) 服務(wù)器執(zhí)行任務(wù)之前,還包括所述任務(wù)服務(wù)器檢測(cè)本身是否忙碌,如果不忙碌,則執(zhí)行所述任務(wù); 如果忙碌,則向所述任務(wù)事務(wù)服務(wù)器發(fā)送任務(wù)檢查消息; 所述任務(wù)事務(wù)服務(wù)器檢查是否有其它任務(wù)服務(wù)器申請(qǐng)所述任務(wù),并向所 述自我平衡單元發(fā)送檢查結(jié)果;如果檢查結(jié)果為是,則所述任務(wù)服務(wù)器放棄本次任務(wù)請(qǐng)求,否則執(zhí)行所述任務(wù)。
      11、 如權(quán)利要求10所述分布式任務(wù)管理方法,其特征在于,所述任務(wù)服 務(wù)器檢測(cè)本身是否忙碌,包括判斷當(dāng)前線程數(shù)量是否大于或等于預(yù)先設(shè)定 的線程數(shù)量門限值,如果是,則所述任務(wù)服務(wù)器忙碌。
      12、 如權(quán)利要求IO所述分布式任務(wù)管理方法,其特征在于,所述任務(wù)服 務(wù)器檢測(cè)本身是否忙碌,包括判斷當(dāng)前長(zhǎng)時(shí)間線程數(shù)量是否大于或等于預(yù) 先設(shè)定的長(zhǎng)時(shí)間線程數(shù)量門限值,如果是,則所述任務(wù)服務(wù)器忙碌。
      13、 如權(quán)利要求10所述分布式任務(wù)管理方法,其特征在于,所述任務(wù)服務(wù)器檢測(cè)本身是否忙碌,包括根據(jù)CPU使用率、當(dāng)前線程數(shù)量和長(zhǎng)時(shí)間線程數(shù)量獲取所迷任務(wù)服務(wù)器的運(yùn)行能力值,如果所迷運(yùn)行能力值大于或等子 1,則所述任務(wù)服務(wù)器忙碌。
      14、 如權(quán)利要求6至13任一項(xiàng)所述分布式任務(wù)管理方法,其特征在于, 所述任務(wù)服務(wù)器執(zhí)行任務(wù),包括獲取執(zhí)行所述任務(wù)的數(shù)據(jù);根據(jù)所述數(shù)據(jù)和所述任務(wù)的執(zhí)行時(shí)間,對(duì)所述數(shù)據(jù)進(jìn)行分組; 對(duì)每組數(shù)據(jù)進(jìn)行處理。
      全文摘要
      本發(fā)明公開了一種分布式任務(wù)管理方法,包括以下步驟任務(wù)服務(wù)器向任務(wù)事務(wù)服務(wù)器發(fā)送任務(wù)請(qǐng)求消息;所述任務(wù)事務(wù)服務(wù)器根據(jù)記錄的各個(gè)任務(wù)的執(zhí)行情況,判斷所述任務(wù)服務(wù)器是否可以執(zhí)行所述任務(wù),并將判斷結(jié)果發(fā)送到所述任務(wù)服務(wù)器;如果判斷結(jié)果為是,則所述任務(wù)服務(wù)器執(zhí)行所述任務(wù)。本發(fā)明還公開了一種分布式任務(wù)系統(tǒng),包括任務(wù)事務(wù)服務(wù)器和至少一個(gè)任務(wù)服務(wù)器。本發(fā)明解決了任務(wù)執(zhí)行單元只是被動(dòng)的被調(diào)用者,而無法進(jìn)行自我平衡的問題。
      文檔編號(hào)G06F9/50GK101236513SQ20071000296
      公開日2008年8月6日 申請(qǐng)日期2007年1月30日 優(yōu)先權(quán)日2007年1月30日
      發(fā)明者姚建東 申請(qǐng)人:阿里巴巴公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1