两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

任務(wù)調(diào)度方法及任務(wù)調(diào)度裝置的制造方法

文檔序號(hào):9249154閱讀:307來(lái)源:國(guó)知局
任務(wù)調(diào)度方法及任務(wù)調(diào)度裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息處理領(lǐng)域,特別涉及一種任務(wù)調(diào)度方法及一種任務(wù)調(diào)度裝置。
【背景技術(shù)】
[0002]Hadoop是一個(gè)基于Java實(shí)現(xiàn)的、開源的、包含分布式文件系統(tǒng)和MapReduce計(jì)算框架的項(xiàng)目,分布式開源系統(tǒng)Hadoop通過(guò)文件系統(tǒng)和計(jì)算系統(tǒng)的分離,各個(gè)計(jì)算節(jié)點(diǎn)無(wú)共享數(shù)據(jù),實(shí)現(xiàn)機(jī)器的線性擴(kuò)展,通過(guò)使用MapReduce計(jì)算模型實(shí)現(xiàn)計(jì)算方法的歸一化,MapReduce計(jì)算模型將數(shù)據(jù)分析過(guò)程分為兩個(gè)階段:用以實(shí)現(xiàn)數(shù)據(jù)分揀&分堆的map階段、用以實(shí)現(xiàn)數(shù)據(jù)匯總的reduce階段,從而解決了海量數(shù)據(jù)的線性計(jì)算,主要是解決數(shù)據(jù)量大的問(wèn)題。
[0003]Hive是Apache名下的開源SQL解析引擎,是基于Hadoop的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,可以將SQL (Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)言,一種用于訪問(wèn)和處理數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)的計(jì)算機(jī)語(yǔ)言)語(yǔ)句轉(zhuǎn)換為MapReduce任務(wù)運(yùn)行,從而實(shí)現(xiàn)了編程方法的簡(jiǎn)單化和結(jié)構(gòu)化,熟悉SQL語(yǔ)句,就可以快速實(shí)現(xiàn)復(fù)雜的計(jì)算,提高了開發(fā)效率。
[0004]但是基于Hadoop+Hive的解決方案,當(dāng)任務(wù)之間存在依賴關(guān)系時(shí),比如數(shù)據(jù)的計(jì)算必須等待數(shù)據(jù)的入庫(kù)完成之后,需要通過(guò)其他方法來(lái)保證任務(wù)的順序執(zhí)行。目前保證任務(wù)能夠順序執(zhí)行的方式,以數(shù)據(jù)的計(jì)算必須等待數(shù)據(jù)的入庫(kù)完成為例,是在數(shù)據(jù)入庫(kù)任務(wù)腳本完成之后生成一個(gè)文件,數(shù)據(jù)計(jì)算任務(wù)腳本啟動(dòng)之前先檢測(cè)這個(gè)文件是否存在,不存在則需要等待,直至檢測(cè)到有這個(gè)文件。基于這種方式,需要配置各任務(wù)執(zhí)行的共享文件,配置過(guò)程比較復(fù)雜,且在各任務(wù)執(zhí)行過(guò)程中,需要持續(xù)不斷地向該共享區(qū)域?qū)懳募妥x文件,過(guò)多的讀寫次數(shù)會(huì)嚴(yán)重影響到任務(wù)執(zhí)行的效率。

【發(fā)明內(nèi)容】

[0005]基于此,本發(fā)明實(shí)施例的目的在于提供一種任務(wù)調(diào)度方法及一種任務(wù)調(diào)度裝置,其可以提尚存在依賴關(guān)系的各任務(wù)進(jìn)行調(diào)度時(shí)的任務(wù)執(zhí)行效率。
[0006]為達(dá)到上述目的,本發(fā)明實(shí)施例采用以下技術(shù)方案:
[0007]一種任務(wù)調(diào)度方法,包括步驟:
[0008]在達(dá)到當(dāng)前任務(wù)觸發(fā)條件時(shí),觸發(fā)當(dāng)前任務(wù);
[0009]根據(jù)任務(wù)依賴圖判斷該當(dāng)前任務(wù)是否有依賴的任務(wù),若有,獲取所依賴的各任務(wù)的任務(wù)執(zhí)行結(jié)果狀態(tài),所述任務(wù)依賴圖為各任務(wù)之間的依賴關(guān)系的有向無(wú)環(huán)圖;
[0010]根據(jù)所依賴的各任務(wù)的任務(wù)結(jié)果執(zhí)行狀態(tài),判斷所依賴的各任務(wù)是否均執(zhí)行成功;
[0011]若是,將所述當(dāng)前任務(wù)下發(fā)給任務(wù)執(zhí)行節(jié)點(diǎn)執(zhí)行。
[0012]一種任務(wù)調(diào)度裝置,包括:
[0013]任務(wù)觸發(fā)模塊,用于判斷是否達(dá)到任務(wù)觸發(fā)條件,并在達(dá)到當(dāng)前任務(wù)觸發(fā)條件時(shí),觸發(fā)當(dāng)前任務(wù);
[0014]任務(wù)依賴性確定模塊,用于根據(jù)任務(wù)依賴圖判斷所述當(dāng)前任務(wù)是否有依賴的任務(wù),所述任務(wù)依賴圖為各任務(wù)之間的依賴關(guān)系的有向無(wú)環(huán)圖;
[0015]任何可執(zhí)行性確定模塊,用于在所述任務(wù)依賴性確定模塊的判定結(jié)果為是時(shí),獲取所依賴的各任務(wù)的任務(wù)執(zhí)行結(jié)果狀態(tài),根據(jù)所依賴的各任務(wù)的任務(wù)結(jié)果執(zhí)行狀態(tài),判斷所依賴的各任務(wù)是否均執(zhí)行成功;
[0016]任務(wù)處理模塊,用于在所述任務(wù)依賴性確定模塊的判定結(jié)果為否時(shí),或者所述任務(wù)可執(zhí)行性確定模塊的判定結(jié)果為是時(shí),將所述當(dāng)前任務(wù)進(jìn)行下發(fā)給任務(wù)執(zhí)行節(jié)點(diǎn)執(zhí)行。
[0017]根據(jù)如上所述的本發(fā)明實(shí)施例的方案,其基于任務(wù)依賴圖來(lái)體現(xiàn)數(shù)據(jù)任務(wù)流、計(jì)算任務(wù)流等任務(wù)之間的依賴關(guān)系,在達(dá)到當(dāng)前任務(wù)的觸發(fā)條件時(shí),先基于任務(wù)依賴圖獲得該當(dāng)前任務(wù)所依賴的任務(wù),并在所依賴的各任務(wù)的任務(wù)執(zhí)行結(jié)果狀態(tài)均為執(zhí)行成功的情況下,才將該任務(wù)下發(fā)執(zhí)行。其無(wú)需頻繁地進(jìn)行寫文件和讀文件的操作,直接基于任務(wù)執(zhí)行結(jié)果狀態(tài)即可確定所依賴的任務(wù)是否執(zhí)行成功,克服了頻繁的文件檢查操作造成的任務(wù)執(zhí)行效率低和由于文件錯(cuò)誤導(dǎo)致的可靠性低的問(wèn)題,提高了存在依賴關(guān)系的各任務(wù)進(jìn)行調(diào)度時(shí)的任務(wù)執(zhí)行效率。
【附圖說(shuō)明】
[0018]圖1是一個(gè)實(shí)施例中本發(fā)明方案的工作環(huán)境示意圖;
[0019]圖2是另一個(gè)實(shí)施例中本發(fā)明方案的工作環(huán)境示意圖;
[0020]圖3是一個(gè)實(shí)施例中的調(diào)度服務(wù)器的組成結(jié)構(gòu)示意圖;
[0021]圖4是一個(gè)實(shí)施例中的任務(wù)調(diào)度方法的流程示意圖;
[0022]圖5是一個(gè)具體示例中的任務(wù)依賴圖;
[0023]圖6是一個(gè)具體示例中的任務(wù)調(diào)度方法的交互流程示意圖;
[0024]圖7是一個(gè)具體示例中的任務(wù)調(diào)度裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0025]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的【具體實(shí)施方式】?jī)H僅用以解釋本發(fā)明,并不限定本發(fā)明的保護(hù)范圍。
[0026]圖1示出了本發(fā)明一個(gè)實(shí)施例中的工作環(huán)境示意圖。任務(wù)調(diào)度節(jié)點(diǎn)101與一個(gè)以上的任務(wù)執(zhí)行節(jié)點(diǎn)102連接,任務(wù)調(diào)度節(jié)點(diǎn)101在檢測(cè)到達(dá)到某個(gè)任務(wù)的觸發(fā)條件時(shí),分析該任務(wù)是否可以下發(fā)執(zhí)行,若可以,將該任務(wù)下發(fā)給任務(wù)執(zhí)行節(jié)點(diǎn)102進(jìn)行執(zhí)行。任務(wù)調(diào)度節(jié)點(diǎn)101下發(fā)的各任務(wù)之間可能會(huì)存在某種依賴關(guān)系,例如對(duì)數(shù)據(jù)的計(jì)算必須等待數(shù)據(jù)的入庫(kù),那么,數(shù)據(jù)計(jì)算任務(wù)依賴于數(shù)據(jù)入庫(kù)任務(wù)的完成,需在數(shù)據(jù)入庫(kù)任務(wù)完成之后才能保證該數(shù)據(jù)計(jì)算任務(wù)的正確執(zhí)行。各任務(wù)之間的依賴關(guān)系可以通過(guò)任務(wù)依賴圖來(lái)表示,該任務(wù)依賴圖可以是一個(gè)有向無(wú)環(huán)圖。該任務(wù)依賴圖可存儲(chǔ)在元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103。元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103中,還可以存儲(chǔ)各任務(wù)的任務(wù)結(jié)果執(zhí)行狀態(tài),例如執(zhí)行成功、執(zhí)行失敗等等。
[0027]圖2示出了本發(fā)明另一個(gè)實(shí)施例的工作環(huán)境示意圖,在該實(shí)施例中,相對(duì)于圖1中所示的工作環(huán)境而言,還包括有配置展示節(jié)點(diǎn)100,用以對(duì)各任務(wù)的依賴關(guān)系進(jìn)行配置,得到上述依賴關(guān)系圖,得到的依賴關(guān)系圖可以存儲(chǔ)到元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103。
[0028]在圖1、圖2所示的工作環(huán)境中,各節(jié)點(diǎn),包括配置展示節(jié)點(diǎn)100、任務(wù)調(diào)度節(jié)點(diǎn)101、任務(wù)執(zhí)行節(jié)點(diǎn)102以及元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103,可以分別采用獨(dú)立的機(jī)器設(shè)備實(shí)現(xiàn),以實(shí)現(xiàn)機(jī)器級(jí)別的任務(wù)調(diào)度。
[0029]以各節(jié)點(diǎn)分別采用獨(dú)立的機(jī)器設(shè)備實(shí)現(xiàn)為例,假設(shè)該任務(wù)調(diào)度節(jié)點(diǎn)101為任務(wù)調(diào)度設(shè)備服務(wù)器,圖3中示出了一個(gè)實(shí)施例中的任務(wù)調(diào)度服務(wù)器101的結(jié)構(gòu)示意圖。如圖3所示,該任務(wù)調(diào)度服務(wù)器101包括通過(guò)系統(tǒng)總線連接的處理器、存儲(chǔ)介質(zhì)、通信接口、電源接口和內(nèi)存。其中,任務(wù)調(diào)度服務(wù)器101的存儲(chǔ)介質(zhì)存儲(chǔ)有一種任務(wù)調(diào)度裝置,該裝置用于實(shí)現(xiàn)一種任務(wù)調(diào)度方法。任務(wù)調(diào)度服務(wù)器101的通信接口用于與配置展示節(jié)點(diǎn)100、各任務(wù)執(zhí)行節(jié)點(diǎn)102以及元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)103連接和通信,任務(wù)調(diào)度服務(wù)器101的電源接口用于與外部電源連接,外部電源通過(guò)該電源接口向任務(wù)調(diào)度服務(wù)器101供電。
[0030]結(jié)合圖1、圖2、圖3所示的示意圖,圖4中示出了一個(gè)實(shí)施例中的任務(wù)調(diào)度方法的流程示意圖,該方法實(shí)施于上述任務(wù)調(diào)度節(jié)點(diǎn)101。
[0031 ] 如圖4所示,本實(shí)施例中的任務(wù)調(diào)度方法包括步驟:
[0032]S401:在達(dá)到當(dāng)前任務(wù)觸發(fā)條件時(shí),觸發(fā)當(dāng)前任務(wù);
[0033]S402:根據(jù)任務(wù)依賴圖判斷該當(dāng)前任務(wù)是否有依賴的任務(wù),若有,進(jìn)入步驟S403 ;
[0034]步驟S403:獲取所依賴的各任務(wù)的任務(wù)執(zhí)行結(jié)果狀態(tài),所述任務(wù)依賴圖為各任務(wù)之間的依賴關(guān)系的有向無(wú)環(huán)圖;
[0035]步驟S404:根據(jù)所依賴的各任務(wù)的任務(wù)結(jié)果執(zhí)行狀態(tài),判斷所依賴的各任務(wù)是否均執(zhí)行成功,若是,進(jìn)入步驟S405 ;
[0036]步驟S405:將所述當(dāng)前任務(wù)下發(fā)給任務(wù)執(zhí)行節(jié)點(diǎn)執(zhí)行。
[0037]根據(jù)如上所述的本發(fā)明實(shí)施例的方案,其基于任務(wù)依賴圖來(lái)體現(xiàn)數(shù)據(jù)任務(wù)流、計(jì)算任務(wù)流等任務(wù)之間的依賴關(guān)系,在達(dá)到當(dāng)前任務(wù)的觸發(fā)條件時(shí),先基于任務(wù)依賴圖獲得該當(dāng)前任務(wù)所依賴的任務(wù),并在所依賴的各任務(wù)的任務(wù)執(zhí)行結(jié)果狀態(tài)均為執(zhí)行成功的情況下,才將該任務(wù)下發(fā)執(zhí)行。其無(wú)需頻繁地進(jìn)行寫文件和讀文件的操作,直接基于任務(wù)執(zhí)行結(jié)果狀態(tài)即可確定所依賴的任務(wù)是否執(zhí)行成功,克服了頻繁的文件檢查操作造成的任務(wù)執(zhí)行效率低和可靠性低的問(wèn)題,且避免了執(zhí)行過(guò)程中才判定所依賴任務(wù)是否執(zhí)行成功所造成的浪費(fèi)資源和效率低下的問(wèn)題,提高了存在依賴關(guān)系的各任務(wù)進(jìn)行調(diào)度時(shí)的任務(wù)執(zhí)行效率。
[0038]其中,在上述步驟S404中判定當(dāng)前任務(wù)所依賴的各任務(wù)中至少有一個(gè)未執(zhí)行成功時(shí),執(zhí)行等待過(guò)程,說(shuō)明當(dāng)前任務(wù)無(wú)法執(zhí)行,開始執(zhí)行等待過(guò)程,并在等待時(shí)間大于或者等于預(yù)設(shè)超時(shí)時(shí)間閾值時(shí),判定所述當(dāng)前任務(wù)執(zhí)行失敗,發(fā)出失敗告警信息。若在預(yù)設(shè)超時(shí)時(shí)間閾值內(nèi)所依賴的各任務(wù)均執(zhí)行完畢,則將該當(dāng)前任務(wù)下發(fā)給任務(wù)執(zhí)行節(jié)點(diǎn)執(zhí)行。
[0039]在將當(dāng)前任務(wù)下發(fā)后,任務(wù)執(zhí)行節(jié)點(diǎn)會(huì)執(zhí)行該當(dāng)前任務(wù),并基于任務(wù)執(zhí)行結(jié)果返回任務(wù)執(zhí)行返回碼。任務(wù)調(diào)度節(jié)點(diǎn)會(huì)接收任務(wù)執(zhí)行節(jié)點(diǎn)返回的任務(wù)執(zhí)行返回碼,并基于任務(wù)執(zhí)行返回碼判斷該任務(wù)執(zhí)行節(jié)點(diǎn)執(zhí)行當(dāng)前任務(wù)是否成功
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
大关县| 永昌县| 绥化市| 临沂市| 区。| 闽清县| 明溪县| 巴林右旗| 东辽县| 定结县| 三亚市| 乌兰察布市| 涞水县| 宝鸡市| 水富县| 德惠市| 报价| 漳浦县| 乐亭县| 威远县| 富宁县| 荥阳市| 潼关县| 来安县| 凯里市| 吉林省| 伊宁市| 奉化市| 宜都市| 鹤岗市| 班戈县| 韩城市| 万盛区| 汤原县| 旅游| 武平县| 澎湖县| 白朗县| 获嘉县| 泸水县| 崇明县|