監(jiān)控方法和裝置、數(shù)據(jù)處理方法和裝置及分布式計(jì)算系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例涉及分布式計(jì)算中的監(jiān)控方法和裝置、數(shù)據(jù)處理方法和裝置以及分布式計(jì)算系統(tǒng)。所述監(jiān)控方法包括:從每個(gè)計(jì)算節(jié)點(diǎn)接收與相應(yīng)計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息;基于從各個(gè)計(jì)算節(jié)點(diǎn)接收的狀態(tài)信息而針對(duì)相應(yīng)計(jì)算節(jié)點(diǎn)生成任務(wù)執(zhí)行指令;將所述任務(wù)執(zhí)行指令發(fā)送給相應(yīng)計(jì)算節(jié)點(diǎn)以使其執(zhí)行相應(yīng)的后續(xù)處理。由此實(shí)現(xiàn)對(duì)海量數(shù)據(jù)的實(shí)時(shí)處理。
【專利說(shuō)明】監(jiān)控方法和裝置、數(shù)據(jù)處理方法和裝置及分布式計(jì)算系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,更具體來(lái)說(shuō),涉及一種用于海量數(shù)據(jù)處理的分布式數(shù)據(jù)處理的方法和設(shè)備。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,海量數(shù)據(jù)的處理逐漸成為一個(gè)熱點(diǎn)問(wèn)題。通常來(lái)說(shuō),人們采用分布式計(jì)算的方式來(lái)執(zhí)行海量數(shù)據(jù)的處理。
[0003]在一種已有的海量數(shù)據(jù)的分布式計(jì)算中,通過(guò)以下步驟來(lái)執(zhí)行處理:按照海量數(shù)據(jù)在存儲(chǔ)裝置中的位置來(lái)將較長(zhǎng)時(shí)間(例如一天、一個(gè)小時(shí))內(nèi)的海量數(shù)據(jù)劃分為各個(gè)數(shù)據(jù)塊;分別將各個(gè)數(shù)據(jù)塊傳送給計(jì)算系統(tǒng)中的各個(gè)工作計(jì)算節(jié)點(diǎn);每個(gè)工作計(jì)算節(jié)點(diǎn)對(duì)接收到的數(shù)據(jù)塊進(jìn)行處理,并輸出處理結(jié)果;通過(guò)主計(jì)算節(jié)點(diǎn)對(duì)各個(gè)工作計(jì)算節(jié)點(diǎn)輸出的處理結(jié)果進(jìn)行合并。由此實(shí)現(xiàn)了在分布式系統(tǒng)上基于批量處理的對(duì)海量數(shù)據(jù)的處理。
[0004]但是,在這種處理方式中,無(wú)法實(shí)現(xiàn)對(duì)海量數(shù)據(jù)的實(shí)時(shí)處理。
【發(fā)明內(nèi)容】
[0005]在下文中給出了關(guān)于本發(fā)明的簡(jiǎn)要概述,以便提供關(guān)于本發(fā)明的某些方面的基本理解。應(yīng)當(dāng)理解,這個(gè)概述并不是關(guān)于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關(guān)鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡(jiǎn)化的形式給出某些概念,以此作為稍后論述的更詳細(xì)描述的前序。
[0006]本發(fā)明的一個(gè)目的在于提供一種可以實(shí)現(xiàn)海量數(shù)據(jù)的實(shí)時(shí)處理的方法和裝置。
[0007]本發(fā)明的一個(gè)實(shí)施例提供了一種在分布式計(jì)算中的監(jiān)控方法,包括:從每個(gè)計(jì)算節(jié)點(diǎn)接收與相應(yīng)計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息;基于從各個(gè)計(jì)算節(jié)點(diǎn)接收的狀態(tài)信息而針對(duì)相應(yīng)計(jì)算節(jié)點(diǎn)生成任務(wù)執(zhí)行指令;將所述任務(wù)執(zhí)行指令發(fā)送給相應(yīng)計(jì)算節(jié)點(diǎn)以使其執(zhí)行相應(yīng)的后續(xù)處理。
[0008]本發(fā)明的另一個(gè)實(shí)施例提供了一種分布式計(jì)算中的數(shù)據(jù)處理方法,包括:計(jì)算節(jié)點(diǎn)從任務(wù)隊(duì)列中請(qǐng)求并獲取任務(wù);計(jì)算節(jié)點(diǎn)執(zhí)行獲取的任務(wù),并將與所述計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息發(fā)送給監(jiān)控裝置;從所述監(jiān)控裝置接收所述監(jiān)控裝置基于所述計(jì)算節(jié)點(diǎn)的狀態(tài)信息而針對(duì)所述計(jì)算節(jié)點(diǎn)生成的任務(wù)執(zhí)行指令;以及根據(jù)從所述監(jiān)控裝置接收的所述任務(wù)執(zhí)行指令來(lái)執(zhí)行相應(yīng)的后續(xù)處理。
[0009]本發(fā)明的另一個(gè)實(shí)施例提供了一種在分布式計(jì)算中的監(jiān)控裝置,包括:接收單元,用于從每個(gè)計(jì)算節(jié)點(diǎn)接收與相應(yīng)計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息;任務(wù)執(zhí)行指令生成單元,用于基于從各個(gè)計(jì)算節(jié)點(diǎn)接收的狀態(tài)信息而針對(duì)相應(yīng)計(jì)算節(jié)點(diǎn)生成任務(wù)執(zhí)行指令;發(fā)送單元,用于將所述任務(wù)執(zhí)行指令發(fā)送給相應(yīng)計(jì)算節(jié)點(diǎn)以使其執(zhí)行相應(yīng)的后續(xù)處理。
[0010]本發(fā)明的另一個(gè)實(shí)施例提供了一種分布式計(jì)算中的數(shù)據(jù)處理裝置,包括:任務(wù)請(qǐng)求和獲取單元,用于計(jì)算節(jié)點(diǎn)從任務(wù)隊(duì)列中請(qǐng)求并獲取任務(wù);任務(wù)執(zhí)行單元,用于計(jì)算節(jié)點(diǎn)執(zhí)行獲取的任務(wù)并將與所述計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息發(fā)送給監(jiān)控裝置;任務(wù)執(zhí)行指令接收單元,用于從所述監(jiān)控裝置接收所述監(jiān)控裝置基于所述計(jì)算節(jié)點(diǎn)的狀態(tài)信息而針對(duì)所述計(jì)算節(jié)點(diǎn)生成的任務(wù)執(zhí)行指令;以及后續(xù)處理執(zhí)行單元,用于根據(jù)從所述監(jiān)控裝置接收的所述任務(wù)執(zhí)行指令來(lái)執(zhí)行相應(yīng)的后續(xù)處理。
[0011]本發(fā)明的另一個(gè)實(shí)施例還提供了一種分布式計(jì)算系統(tǒng),包括:至少一個(gè)計(jì)算節(jié)點(diǎn);以及監(jiān)控裝置,其中每個(gè)計(jì)算節(jié)點(diǎn)包括上述的數(shù)據(jù)處理裝置,所述監(jiān)控裝置是上述的監(jiān)控
>J-U ρ?α裝直。
[0012]在根據(jù)本發(fā)明實(shí)施例,計(jì)算節(jié)點(diǎn)可以按照時(shí)間順序依次獲取任務(wù)來(lái)進(jìn)行處理,由此可以實(shí)現(xiàn)海量數(shù)據(jù)的實(shí)時(shí)處理。此外,由于監(jiān)控裝置可以及時(shí)監(jiān)控各個(gè)計(jì)算節(jié)點(diǎn)的數(shù)據(jù)處理是否正常,并可以將未得到正常處理的任務(wù)及時(shí)放回至任務(wù)隊(duì)列或重新啟動(dòng),因而還可以在海量數(shù)據(jù)的分布式處理中確保各個(gè)任務(wù)得到及時(shí)的處理,消除了時(shí)間延遲和任務(wù)無(wú)法得到及時(shí)處理的情況。
[0013]【專利附圖】
【附圖說(shuō)明】
[0014]通過(guò)結(jié)合附圖閱讀以下對(duì)目前優(yōu)選的實(shí)施例的詳細(xì)描述,本發(fā)明的前述和其他特征及優(yōu)點(diǎn)將變得更加明顯。該詳細(xì)描述和附圖只是用于說(shuō)明本發(fā)明,而不是用于限制本發(fā)明的范圍,本發(fā)明的范圍由 所附的權(quán)利要求及其等同形式來(lái)限定。
[0015]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的可以進(jìn)行海量數(shù)據(jù)計(jì)算的分布式計(jì)算系統(tǒng)的不意圖;
[0016]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于海量數(shù)據(jù)處理的分布式計(jì)算中的監(jiān)控方法的流程圖;
[0017]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)處理方法的流程圖;
[0018]圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的分布式計(jì)算中的監(jiān)控裝置的示意圖;
[0019]圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的分布式計(jì)算中的數(shù)據(jù)處理裝置的示意圖;以及
[0020]圖6示出了可以實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的計(jì)算設(shè)備的示意圖。
【具體實(shí)施方式】
[0021]以下將參考附圖詳細(xì)地描述本發(fā)明的實(shí)施例。
[0022]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的可以進(jìn)行海量數(shù)據(jù)計(jì)算的分布式計(jì)算系統(tǒng)的示意圖。
[0023]如圖1所示,所述分布式計(jì)算系統(tǒng)可以包括至少一個(gè)計(jì)算節(jié)點(diǎn)(為簡(jiǎn)潔起見,圖中僅示例性地示出三個(gè)計(jì)算節(jié)點(diǎn),本領(lǐng)域技術(shù)人員可以明白,計(jì)算節(jié)點(diǎn)的數(shù)目可以為任意正整數(shù))和監(jiān)控裝置。所述計(jì)算節(jié)點(diǎn)可以依次從任務(wù)序列中獲取數(shù)據(jù)處理任務(wù),而所述監(jiān)控裝置與各個(gè)計(jì)算節(jié)點(diǎn)通信,以監(jiān)控各個(gè)計(jì)算節(jié)點(diǎn)的數(shù)據(jù)處理任務(wù)的處理狀態(tài)并根據(jù)各個(gè)計(jì)算節(jié)點(diǎn)的數(shù)據(jù)處理任務(wù)的狀態(tài)而生成相應(yīng)的任務(wù)執(zhí)行指令并提供給相應(yīng)的計(jì)算節(jié)點(diǎn)。
[0024]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于海量數(shù)據(jù)處理的分布式計(jì)算中的監(jiān)控方法的流程圖。該監(jiān)控方法可以在用于監(jiān)控分布式計(jì)算中的每個(gè)計(jì)算節(jié)點(diǎn)處的任務(wù)處理狀態(tài)的監(jiān)控裝置處實(shí)施。
[0025]如圖2所示,在步驟S210處,可以從每個(gè)計(jì)算節(jié)點(diǎn)接收與相應(yīng)計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息。[0026]具體來(lái)說(shuō),在計(jì)算節(jié)點(diǎn)執(zhí)行任務(wù)時(shí),計(jì)算節(jié)點(diǎn)可以生成與當(dāng)前正在執(zhí)行的任務(wù)有關(guān)的狀態(tài)信息。并且,計(jì)算節(jié)點(diǎn)可以按照預(yù)定的時(shí)間間隔將狀態(tài)信息發(fā)送給分布式計(jì)算系統(tǒng)中的監(jiān)控裝置。
[0027]由此,監(jiān)控裝置可以接收到每個(gè)計(jì)算節(jié)點(diǎn)按一定的時(shí)間間隔發(fā)送的狀態(tài)信息,以獲得每個(gè)計(jì)算節(jié)點(diǎn)的任務(wù)處理狀態(tài)。
[0028]接著,在步驟S220中,基于從各個(gè)計(jì)算節(jié)點(diǎn)接收的狀態(tài)信息而針對(duì)相應(yīng)計(jì)算節(jié)點(diǎn)生成任務(wù)執(zhí)行指令。
[0029]具體來(lái)說(shuō),監(jiān)控裝置可以基于從各個(gè)計(jì)算節(jié)點(diǎn)接收的狀態(tài)信息來(lái)判斷相應(yīng)的計(jì)算節(jié)點(diǎn)的數(shù)據(jù)計(jì)算任務(wù)是否得到正常的執(zhí)行,并據(jù)此生成相應(yīng)的任務(wù)執(zhí)行指令。
[0030]所述狀態(tài)信息可以是任意合適的能夠表示計(jì)算節(jié)點(diǎn)處理狀態(tài)的信息。
[0031]在本發(fā)明的一個(gè)實(shí)施例中,狀態(tài)信息可以包括任務(wù)接收時(shí)間、階段指示信息以及任務(wù)涉及的數(shù)據(jù)量大小信息。其中,所述任務(wù)接收時(shí)間可以用來(lái)表示計(jì)算節(jié)點(diǎn)接收到數(shù)據(jù)任務(wù)時(shí)的時(shí)間。所述階段指示信息可以用來(lái)指示計(jì)算節(jié)點(diǎn)目前所處的處理階段。例如,在計(jì)算節(jié)點(diǎn)基于SEDA (staged event-driven architecture:階段式事件驅(qū)動(dòng)架構(gòu))模型來(lái)處理數(shù)據(jù)計(jì)算任務(wù)的情況下,任務(wù)執(zhí)行過(guò)程至少可以包括以下處理階段:任務(wù)讀取階段、任務(wù)解析階段、驗(yàn)證和過(guò)濾階段、任務(wù)處理階段和處理結(jié)果輸出階段。這里,SEDA模型是一種常用的可以提升單機(jī)吞吐和計(jì)算處理性能的計(jì)算機(jī)處理方法,其中,可以按階段來(lái)執(zhí)行任務(wù)處理,并根據(jù)階段的不同和自身的負(fù)載來(lái)動(dòng)態(tài)調(diào)整參數(shù)以提升單機(jī)處理性能。其具體技術(shù)細(xì)節(jié)可參見 Matt Welsh 等人在 Proceedings of the Eighteenth Symposium onOperating Systems Principles (S0SP-18)上發(fā)表的論文 SEDA:An Architecture forWell-Conditioned Scalable Internet Services,在此不再進(jìn)行贊述,以免混淆本發(fā)明。
[0032]在狀態(tài)信息包括任務(wù)接收時(shí)間、階段指示信息以及任務(wù)涉及的數(shù)據(jù)量大小信息的情況下,監(jiān)控裝置可以基于任務(wù)接收時(shí)間、階段指示信息以及任務(wù)涉及的數(shù)據(jù)量大小信息來(lái)判斷相應(yīng)的計(jì)算節(jié)點(diǎn)所執(zhí)行的數(shù)據(jù)處理任務(wù)是否得到了正常的執(zhí)行。
[0033]在一個(gè)具體的示例中,監(jiān)控裝置可以首先根據(jù)計(jì)算節(jié)點(diǎn)所執(zhí)行的數(shù)據(jù)處理任務(wù)的大小并基于計(jì)算節(jié)點(diǎn)的處理性能(例如,與計(jì)算節(jié)點(diǎn)的處理性能有關(guān)的信息可以被預(yù)存在監(jiān)控裝置中;或者;也可以通過(guò)監(jiān)控裝置與計(jì)算節(jié)點(diǎn)之間的通信而獲得與計(jì)算節(jié)點(diǎn)的處理性能有關(guān)的信息)來(lái)確定計(jì)算節(jié)點(diǎn)處理所述數(shù)據(jù)處理任務(wù)最多可能花費(fèi)的時(shí)間。更具體來(lái)說(shuō),在計(jì)算節(jié)點(diǎn)基于SEDA模型來(lái)處理數(shù)據(jù)計(jì)算任務(wù)的情況下,監(jiān)控裝置可以根據(jù)計(jì)算節(jié)點(diǎn)所執(zhí)行的數(shù)據(jù)處理任務(wù)的大小和計(jì)算節(jié)點(diǎn)的處理性能來(lái)確定出任務(wù)處理的各個(gè)階段(即任務(wù)讀取階段、任務(wù)解析階段、驗(yàn)證和過(guò)濾階段、任務(wù)處理階段和處理結(jié)果輸出階段各個(gè)階段)花費(fèi)的最長(zhǎng)時(shí)間。
[0034]接著,監(jiān)控裝置可以根據(jù)從計(jì)算節(jié)點(diǎn)接收到的狀態(tài)信息中的任務(wù)接收時(shí)間以及當(dāng)前時(shí)間,并結(jié)合計(jì)算出的任務(wù)處理的各個(gè)階段允許花費(fèi)的最長(zhǎng)時(shí)間,來(lái)確定計(jì)算節(jié)點(diǎn)當(dāng)前應(yīng)該所處的處理階段。
[0035]然后,監(jiān)控裝置可以根據(jù)從計(jì)算節(jié)點(diǎn)接收到的狀態(tài)信息中的階段指示信息以及確定出的計(jì)算節(jié)點(diǎn)當(dāng)前應(yīng)該所處的處理階段來(lái)判斷計(jì)算節(jié)點(diǎn)的處理狀態(tài)是否正常。例如,在計(jì)算節(jié)點(diǎn)基于SEDA模型來(lái)處理數(shù)據(jù)計(jì)算任務(wù)的情況下,如果階段指示信息表明計(jì)算節(jié)點(diǎn)處于任務(wù)讀取階段而確定出的計(jì)算節(jié)點(diǎn)當(dāng)前應(yīng)該所處的處理階段是任務(wù)解析階段,則可以判定計(jì)算節(jié)點(diǎn)的處理狀態(tài)不正常;相反,如果階段指示信息表明的計(jì)算節(jié)點(diǎn)所處的處理階段和確定出的計(jì)算節(jié)點(diǎn)當(dāng)前應(yīng)該所處的處理階段相一致,則可以判定計(jì)算節(jié)點(diǎn)的處理狀態(tài)正常。
[0036]在監(jiān)控裝置判定計(jì)算節(jié)點(diǎn)的處理狀態(tài)正常的情況下,監(jiān)控裝置例如可以產(chǎn)生用于指示相應(yīng)計(jì)算節(jié)點(diǎn)繼續(xù)執(zhí)行任務(wù)的任務(wù)執(zhí)行指令,并在步驟S230處將該任務(wù)執(zhí)行指令發(fā)送相應(yīng)的計(jì)算節(jié)點(diǎn)。
[0037]在監(jiān)控裝置判定計(jì)算節(jié)點(diǎn)的處理狀態(tài)不正常的情況下,監(jiān)控裝置例如可以產(chǎn)生用于指示相應(yīng)計(jì)算節(jié)點(diǎn)停止任務(wù)的任務(wù)執(zhí)行指令或用于指示相應(yīng)計(jì)算節(jié)點(diǎn)重新啟動(dòng)任務(wù)的任務(wù)執(zhí)行指令,并在步驟S230處將該任務(wù)執(zhí)行指令發(fā)送相應(yīng)的計(jì)算節(jié)點(diǎn)。
[0038]在一個(gè)具體示例中,在監(jiān)控裝置判定計(jì)算節(jié)點(diǎn)的處理狀態(tài)不正常的且該計(jì)算節(jié)點(diǎn)的任務(wù)處理沒(méi)有出現(xiàn)過(guò)不正常的情況下,監(jiān)控裝置可以產(chǎn)生用于指示相應(yīng)計(jì)算節(jié)點(diǎn)重新啟動(dòng)任務(wù)的任務(wù)執(zhí)行指令,并將該任務(wù)執(zhí)行指令發(fā)送相應(yīng)的計(jì)算節(jié)點(diǎn)以重新啟動(dòng)當(dāng)前處理的任務(wù)。
[0039]在另一個(gè)具體示例中,在監(jiān)控裝置判定計(jì)算節(jié)點(diǎn)的處理狀態(tài)不正常的且該計(jì)算節(jié)點(diǎn)的所述任務(wù)的處理之前也出現(xiàn)過(guò)不正常的情況下,監(jiān)控裝置可以產(chǎn)生用于指示相應(yīng)計(jì)算節(jié)點(diǎn)停止任務(wù)的任務(wù)執(zhí)行指令,并將所停止的任務(wù)重新放回至任務(wù)隊(duì)列。
[0040]在根據(jù)本發(fā)明實(shí)施例的上述處理中,計(jì)算節(jié)點(diǎn)是按照時(shí)間順序依次獲取任務(wù)來(lái)進(jìn)行處理,由此可以實(shí)現(xiàn)海量數(shù)據(jù)的實(shí)時(shí)處理。此外,由于監(jiān)控裝置可以及時(shí)監(jiān)控各個(gè)計(jì)算節(jié)點(diǎn)的數(shù)據(jù)處理是否正常,并將未得到正常處理的任務(wù)及時(shí)放回至任務(wù)隊(duì)列或重新啟動(dòng),因而還可以在海量數(shù)據(jù)的分布式處理中確保各個(gè)任務(wù)得到及時(shí)的處理,消除了時(shí)間延遲和任務(wù)無(wú)法得到及時(shí)處理的情況。
[0041]與上述的在分布式計(jì)算中的監(jiān)控方法類似,本發(fā)明的實(shí)施例還提供了一種可以在分布式計(jì)算中的計(jì)算節(jié)點(diǎn)處實(shí)施的數(shù)據(jù)處理方法。
[0042]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)處理方法的流程圖。
[0043]如圖3所示,在步驟S310處,計(jì)算節(jié)點(diǎn)從任務(wù)隊(duì)列中請(qǐng)求并獲取任務(wù)。
[0044]具體來(lái)說(shuō),在計(jì)算節(jié)點(diǎn)完成上一個(gè)任務(wù)之后,可以接著向任務(wù)隊(duì)列請(qǐng)求處理下一個(gè)任務(wù)。而任務(wù)隊(duì)列可以按照時(shí)間的先后順序來(lái)向各個(gè)計(jì)算節(jié)點(diǎn)分配任務(wù)。由此,計(jì)算節(jié)點(diǎn)從任務(wù)隊(duì)列中獲取了數(shù)據(jù)處理任務(wù)。
[0045]接著,在步驟S320中,計(jì)算節(jié)點(diǎn)執(zhí)行獲取的任務(wù),并將與所述計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息發(fā)送給監(jiān)控裝置。
[0046]具體來(lái)說(shuō),在計(jì)算節(jié)點(diǎn)獲取到任務(wù)之后,計(jì)算節(jié)點(diǎn)可以按照任務(wù)要求來(lái)執(zhí)行數(shù)據(jù)處理任務(wù)。例如,在計(jì)算節(jié)點(diǎn)基于SEDA模型來(lái)處理數(shù)據(jù)計(jì)算任務(wù)的情況下,任務(wù)執(zhí)行過(guò)程至少可以包括以下處理階段:任務(wù)讀取階段、任務(wù)解析階段、驗(yàn)證和過(guò)濾階段、任務(wù)處理階段和處理結(jié)果輸出階段。
[0047]此外,在計(jì)算節(jié)點(diǎn)執(zhí)行任務(wù)的同時(shí),計(jì)算節(jié)點(diǎn)還可以按照一定的時(shí)間間隔,將與所述計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息發(fā)送給監(jiān)控裝置。
[0048]關(guān)于狀態(tài)信息的技術(shù)細(xì)節(jié)可以參加之前結(jié)合圖2所進(jìn)行的描述,在此不再進(jìn)行贅述,以使說(shuō)明書保持簡(jiǎn)潔。
[0049]接著,如圖3所示,在步驟S330處,計(jì)算節(jié)點(diǎn)可以從所述監(jiān)控裝置接收所述監(jiān)控裝置基于所述計(jì)算節(jié)點(diǎn)的狀態(tài)信息而針對(duì)所述計(jì)算節(jié)點(diǎn)生成的任務(wù)執(zhí)行指令。
[0050]接著,在步驟S340處,計(jì)算節(jié)點(diǎn)可以根據(jù)從監(jiān)控裝置接收的任務(wù)執(zhí)行指令來(lái)執(zhí)行相應(yīng)的后續(xù)處理。
[0051]具體來(lái)說(shuō),如果從監(jiān)控裝置處接收到用于指示計(jì)算節(jié)點(diǎn)重新啟動(dòng)任務(wù)的任務(wù)執(zhí)行指令(例如監(jiān)控裝置判定計(jì)算節(jié)點(diǎn)的處理狀態(tài)不正常的且該計(jì)算節(jié)點(diǎn)的任務(wù)處理沒(méi)有出現(xiàn)過(guò)不正常的情況),則計(jì)算節(jié)點(diǎn)可以根據(jù)所述任務(wù)執(zhí)行指令而重新啟動(dòng)所述任務(wù)。
[0052]如果從監(jiān)控裝置處接收到用于指示計(jì)算節(jié)點(diǎn)停止任務(wù)的任務(wù)執(zhí)行指令(例如,在監(jiān)控裝置判定計(jì)算節(jié)點(diǎn)的處理狀態(tài)不正常且該計(jì)算節(jié)點(diǎn)的所述任務(wù)的處理之前也出現(xiàn)過(guò)不正常的情況),則所述計(jì)算節(jié)點(diǎn)可以根據(jù)所述任務(wù)執(zhí)行指令而停止所述任務(wù)并從任務(wù)隊(duì)列中獲取新的任務(wù)。
[0053]如果從監(jiān)控裝置處接收到用于指示計(jì)算節(jié)點(diǎn)繼續(xù)執(zhí)行任務(wù)的任務(wù)執(zhí)行指令(例如,監(jiān)控裝置判定計(jì)算節(jié)點(diǎn)的處理狀態(tài)正常的情況下),則計(jì)算節(jié)點(diǎn)可以根據(jù)所述任務(wù)執(zhí)行指令而繼續(xù)執(zhí)行所述任務(wù)。
[0054]在根據(jù)本發(fā)明實(shí)施例的上述處理中,計(jì)算節(jié)點(diǎn)是按照時(shí)間順序依次獲取任務(wù)來(lái)進(jìn)行處理,由此可以實(shí)現(xiàn)海量數(shù)據(jù)的實(shí)時(shí)處理。此外,由于監(jiān)控裝置可以及時(shí)監(jiān)控各個(gè)計(jì)算節(jié)點(diǎn)的數(shù)據(jù)處理是否正常,并將未得到正常處理的任務(wù)及時(shí)放回至任務(wù)隊(duì)列或要求計(jì)算節(jié)點(diǎn)重新啟動(dòng),因而可以在海量數(shù)據(jù)的分布式處理中確保各個(gè)任務(wù)得到及時(shí)的處理,消除了時(shí)間延遲和任務(wù)無(wú)法得到及時(shí)處理的情況。
[0055]與根據(jù)上述實(shí)施例的方法類似,本發(fā)明的實(shí)施例還提供了相應(yīng)的裝置。
[0056]圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的在分布式計(jì)算中的監(jiān)控裝置。如圖4所示,所述監(jiān)控裝置400包括:接收單元410,用于從每個(gè)計(jì)算節(jié)點(diǎn)接收與相應(yīng)計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息;任務(wù)執(zhí)行指令生成單元420,用于基于從各個(gè)計(jì)算節(jié)點(diǎn)接收的狀態(tài)信息而針對(duì)相應(yīng)計(jì)算節(jié)點(diǎn)生成任務(wù)執(zhí)行指令;發(fā)送單元430,用于將所述任務(wù)執(zhí)行指令發(fā)送給相應(yīng)計(jì)算節(jié)點(diǎn)以使其執(zhí)行相應(yīng)的后續(xù)處理。
[0057]圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的分布式計(jì)算中的數(shù)據(jù)處理裝置。如圖5所示,數(shù)據(jù)處理裝置500包括:任務(wù)請(qǐng)求和獲取單元510,用于計(jì)算節(jié)點(diǎn)從任務(wù)隊(duì)列中請(qǐng)求并獲取任務(wù);任務(wù)執(zhí)行單元520,用于計(jì)算節(jié)點(diǎn)執(zhí)行獲取的任務(wù)并將與所述計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息發(fā)送給監(jiān)控裝置;任務(wù)執(zhí)行指令接收單元530,用于從所述監(jiān)控裝置接收所述監(jiān)控裝置基于所述計(jì)算節(jié)點(diǎn)的狀態(tài)信息而針對(duì)所述計(jì)算節(jié)點(diǎn)生成的任務(wù)執(zhí)行指令;以及后續(xù)處理執(zhí)行單元540,用于根據(jù)從所述監(jiān)控裝置接收的所述任務(wù)執(zhí)行指令來(lái)執(zhí)行相應(yīng)的后續(xù)處理。
[0058]根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理裝置和監(jiān)控裝置與上述的數(shù)據(jù)處理方法和監(jiān)控方法是相對(duì)應(yīng)的,其更多技術(shù)細(xì)節(jié)可以參加之前結(jié)合圖2和圖3所描述的內(nèi)容,在此不再進(jìn)行贅述以使說(shuō)明書保持簡(jiǎn)潔。
[0059]此外,本發(fā)明的實(shí)施例還提供了一種分布式計(jì)算系統(tǒng)。所述系統(tǒng)包括至少一個(gè)計(jì)算節(jié)點(diǎn)和根據(jù)上述實(shí)施例的監(jiān)控裝置,其中每個(gè)計(jì)算節(jié)點(diǎn)都包括根據(jù)上述實(shí)施例的數(shù)據(jù)處
理裝置。
[0060]圖6示出了可以實(shí)現(xiàn)根據(jù)本發(fā)明的實(shí)施例的計(jì)算設(shè)備的示意圖。
[0061]圖6中所示的計(jì)算機(jī)系統(tǒng)包括CPU(中央處理單元)601、RAM(隨機(jī)存取存儲(chǔ)器)602、ROM(只讀存儲(chǔ)器)603、系統(tǒng)總線604,硬盤控制器605、鍵盤控制器606、串行接口控制器607、并行接口控制器608、顯示器控制器609、硬盤610、鍵盤611、串行外部設(shè)備612、并行外部設(shè)備613和顯示器614。在這些部件中,與系統(tǒng)總線604相連的有CPU601、RAM602、R0M603、硬盤控制器605、鍵盤控制器606、串行接口控制器607、并行接口控制器608和顯示器控制器609。硬盤610與硬盤控制器605相連,鍵盤611與鍵盤控制器606相連,串行外部設(shè)備612與串行接口控制器607相連,并行外部設(shè)備613與并行接口控制器608相連,以及顯示器614與顯示器控制器609相連。
[0062]圖6中每個(gè)部件的功能在本【技術(shù)領(lǐng)域】?jī)?nèi)都是眾所周知的,并且圖6所示的結(jié)構(gòu)也是常規(guī)的。這種結(jié)構(gòu)不僅用于個(gè)人計(jì)算機(jī),而且用于手持設(shè)備,如Palm PC、PDA(個(gè)人數(shù)據(jù)助理)、移動(dòng)電話等等。在不同的應(yīng)用中,可以向圖6中所示的結(jié)構(gòu)添加某些部件,或者圖6中的某些部件可以被省略。圖6中所示的整個(gè)系統(tǒng)由通常作為軟件存儲(chǔ)在硬盤610中、或者存儲(chǔ)在EPROM或者其它非易失性存儲(chǔ)器中的計(jì)算機(jī)可讀指令控制。軟件也可從網(wǎng)絡(luò)(圖中未示出)下載?;蛘叽鎯?chǔ)在硬盤610中,或者從網(wǎng)絡(luò)下載的軟件可被加載到RAM602中,并由CPU 601執(zhí)行,以便完成由軟件確定的功能。
[0063]盡管圖6中描述的計(jì)算機(jī)系統(tǒng)能夠支持根據(jù)本發(fā)明的分布式計(jì)算中的監(jiān)控和數(shù)據(jù)處理的方案,但是該計(jì)算機(jī)系統(tǒng)只是計(jì)算機(jī)系統(tǒng)的一個(gè)例子。本領(lǐng)域的熟練技術(shù)人員可以理解,許多其它計(jì)算機(jī)系統(tǒng)設(shè)計(jì)也能實(shí)現(xiàn)本發(fā)明的實(shí)施方式。
[0064]本發(fā)明還可以實(shí)現(xiàn)為例如由圖6所示計(jì)算機(jī)系統(tǒng)所使用的計(jì)算機(jī)程序產(chǎn)品,其可以包含有用于實(shí)現(xiàn)根據(jù)本發(fā)明的分布式計(jì)算中的監(jiān)控方法和數(shù)據(jù)處理方法的代碼。在使用之前,可以把代碼存儲(chǔ)在其它計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器中,例如,存儲(chǔ)在硬盤或諸如光盤或軟盤的可移動(dòng)的存儲(chǔ)器中,或者經(jīng)由因特網(wǎng)或其它計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行下載。
[0065]雖然結(jié)合附圖描述了本發(fā)明的實(shí)施方式,但是本領(lǐng)域技術(shù)人員可以在所附權(quán)利要求的范圍內(nèi)做出各種變形或修改。
【權(quán)利要求】
1. 一種在分布式計(jì)算中的監(jiān)控方法,包括: 從每個(gè)計(jì)算節(jié)點(diǎn)接收與相應(yīng)計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息; 基于從各個(gè)計(jì)算節(jié)點(diǎn)接收的狀態(tài)信息而針對(duì)相應(yīng)計(jì)算節(jié)點(diǎn)生成任務(wù)執(zhí)行指令; 將所述任務(wù)執(zhí)行指令發(fā)送給相應(yīng)計(jì)算節(jié)點(diǎn)以使其執(zhí)行相應(yīng)的后續(xù)處理。
2.根據(jù)權(quán)利要求1所述的方法,基于從各個(gè)計(jì)算節(jié)點(diǎn)接收的狀態(tài)信息而針對(duì)相應(yīng)計(jì)算節(jié)點(diǎn)生成任務(wù)執(zhí)行指令的步驟包括: 基于所述狀態(tài)信息而產(chǎn)生用于指示相應(yīng)計(jì)算節(jié)點(diǎn)停止任務(wù)的任務(wù)執(zhí)行指令,并將所停止的任務(wù)放回至所述任務(wù)隊(duì)列中;或者 基于所述狀態(tài)信息而產(chǎn)生用于指示相應(yīng)計(jì)算節(jié)點(diǎn)重新啟動(dòng)任務(wù)的任務(wù)執(zhí)行指令;或者 基于所述狀態(tài)信息而產(chǎn)生用于指示相應(yīng)計(jì)算節(jié)點(diǎn)繼續(xù)執(zhí)行任務(wù)的任務(wù)執(zhí)行指令。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述狀態(tài)信息包括:任務(wù)接收時(shí)間、階段指示信息以及任務(wù)涉及的數(shù)據(jù)量大小信息。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述階段指示信息用于指示當(dāng)前任務(wù)執(zhí)行到讀取階段、解析階段、驗(yàn)證和過(guò)濾階段、處理階段和輸出階段中的哪一個(gè)。
5.一種分布式計(jì)算中的數(shù)據(jù)處理方法,包括: 計(jì)算節(jié)點(diǎn)從任務(wù)隊(duì)列中請(qǐng)求并獲取任務(wù); 計(jì)算節(jié)點(diǎn)執(zhí)行獲取的任務(wù),并將與所述計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息發(fā)送給監(jiān)控裝置; 從所述監(jiān)控裝置接收所述監(jiān)控裝置基于所述計(jì)算節(jié)點(diǎn)的狀態(tài)信息而針對(duì)所述計(jì)算節(jié)點(diǎn)生成的任務(wù)執(zhí)行指令;以及 根據(jù)從所述監(jiān)控裝置接收的所述任務(wù)執(zhí)行指令來(lái)執(zhí)行相應(yīng)的后續(xù)處理。
6.根據(jù)權(quán)利要求5所述的方法,其中,根據(jù)從所述監(jiān)控裝置接收的所述任務(wù)執(zhí)行指令來(lái)執(zhí)行相應(yīng)的后續(xù)處理的步驟包括: 根據(jù)所述任務(wù)執(zhí)行指令而停止所述任務(wù)并從所述任務(wù)隊(duì)列中獲取新的任務(wù);或者 根據(jù)所述任務(wù)執(zhí)行指令而重新啟動(dòng)所述任務(wù);或者 根據(jù)所述任務(wù)執(zhí)行指令而繼續(xù)執(zhí)行所述任務(wù)。
7.根據(jù)權(quán)利要求5所述的方法,其中,所述狀態(tài)信息至少包括:任務(wù)接收時(shí)間、階段指示信息、任務(wù)涉及的數(shù)據(jù)量大小信息。
8.根據(jù)權(quán)利要求7所述的方法,其中,所述階段指示信息用于指示當(dāng)前任務(wù)執(zhí)行到讀取階段、解析階段、驗(yàn)證和過(guò)濾階段、處理階段和輸出階段中的哪一個(gè)。
9.一種在分布式計(jì)算中的監(jiān)控裝置,包括: 接收單元,用于從每個(gè)計(jì)算節(jié)點(diǎn)接收與相應(yīng)計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息; 任務(wù)執(zhí)行指令生成單元,用于基于從各個(gè)計(jì)算節(jié)點(diǎn)接收的狀態(tài)信息而針對(duì)相應(yīng)計(jì)算節(jié)點(diǎn)生成任務(wù)執(zhí)行指令; 發(fā)送單元,用于將所述任務(wù)執(zhí)行指令發(fā)送給相應(yīng)計(jì)算節(jié)點(diǎn)以使其執(zhí)行相應(yīng)的后續(xù)處理。
10.一種分布式計(jì)算中的數(shù)據(jù)處理裝置,包括: 任務(wù)請(qǐng)求和獲取單兀,用于計(jì)算節(jié)點(diǎn)從任務(wù)隊(duì)列中請(qǐng)求并獲取任務(wù);任務(wù)執(zhí)行單元,用于計(jì)算節(jié)點(diǎn)執(zhí)行獲取的任務(wù)并將與所述計(jì)算節(jié)點(diǎn)的當(dāng)前任務(wù)處理有關(guān)的狀態(tài)信息發(fā)送給監(jiān)控裝置; 任務(wù)執(zhí)行指令接收單元,用于從所述監(jiān)控裝置接收所述監(jiān)控裝置基于所述計(jì)算節(jié)點(diǎn)的狀態(tài)信息而針對(duì)所述計(jì)算節(jié)點(diǎn)生成的任務(wù)執(zhí)行指令;以及 后續(xù)處理執(zhí)行單元,用于根據(jù)從所述監(jiān)控裝置接收的所述任務(wù)執(zhí)行指令來(lái)執(zhí)行相應(yīng)的后續(xù)處理。
11.一種分布式計(jì)算系統(tǒng),包括: 至少一個(gè)計(jì)算節(jié)點(diǎn);以及 監(jiān)控裝置, 其中每個(gè)計(jì)算節(jié)點(diǎn)包括根據(jù)權(quán)利 要求10所述的數(shù)據(jù)處理裝置,所述監(jiān)控裝置是根據(jù)權(quán)利要求9所述的監(jiān)控裝置。
【文檔編號(hào)】G06F11/30GK103577299SQ201210279571
【公開日】2014年2月12日 申請(qǐng)日期:2012年8月2日 優(yōu)先權(quán)日:2012年8月2日
【發(fā)明者】嚴(yán)巖 申請(qǐng)人:北京千橡網(wǎng)景科技發(fā)展有限公司