欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于分散處理的大容量文件的分塊化方法及其裝置與流程

文檔序號(hào):11063556閱讀:739來源:國知局
用于分散處理的大容量文件的分塊化方法及其裝置與制造工藝

本發(fā)明涉及一種用于分散處理的大容量文件的分塊化方法及其裝置。更詳細(xì)地,涉及一種以用于分散處理經(jīng)分塊化的大容量文件的作業(yè)節(jié)點(diǎn)能夠?qū)嵸|(zhì)上同時(shí)處理完成所述大容量文件的方式對(duì)大容量文件進(jìn)行分塊化的方法及其裝置。



背景技術(shù):

提供有用于分散處理大容量數(shù)據(jù)的技術(shù)。此外,提供有通過彼此不同的計(jì)算裝置來分散存儲(chǔ)包含有大容量數(shù)據(jù)的文件的技術(shù)。

例如,在作為廣為人知的大容量數(shù)據(jù)處理平臺(tái)的hadoop分散文件處理系統(tǒng)的hadoop分布式文件系統(tǒng)(HDFS:Hadoop Distributed File System)中,大容量數(shù)據(jù)被分割為塊單位并分散存儲(chǔ)在經(jīng)聚類的數(shù)據(jù)節(jié)點(diǎn)(date node)中。此外,分散存儲(chǔ)的各塊的元信息被存儲(chǔ)在名稱節(jié)點(diǎn)(name node)中。所述元信息例如可包含有各塊的存儲(chǔ)位置信息。在以固定大小形成塊的情況下,隨著數(shù)據(jù)大小增加,塊的個(gè)數(shù)會(huì)增多,由此元信息的大小也會(huì)增加。下面的表1表示伴隨文件的分散存儲(chǔ)的元信息大小根據(jù)文件大小而增加。

【表1】

如上述表1所示,例如,如果文件大小為1PB,則分成16,777,216個(gè)塊來存儲(chǔ), 由此可知光元信息大小就達(dá)到2400MB(2.34GB)。由于元信息被頻繁訪問,因此需要加載在存儲(chǔ)器上。將達(dá)到大約2.34GB的數(shù)據(jù)加載在存儲(chǔ)器中來運(yùn)用的負(fù)擔(dān)會(huì)相當(dāng)重。不僅產(chǎn)生根據(jù)分散存儲(chǔ)的元信息運(yùn)用方面的負(fù)擔(dān),而且還產(chǎn)生根據(jù)分散處理的各塊處理任務(wù)(task)的生成和運(yùn)用方面的負(fù)擔(dān)。這是因?yàn)樾枰芾砀鱾€(gè)任務(wù)處理歷史。

即便如此,也不能盲目增加塊的大小。這是因?yàn)闀?huì)降低根據(jù)分散處理的作業(yè)分散的效果。

因此,要求提供一種能夠維持作業(yè)分散的效果的同時(shí),抑制塊的個(gè)數(shù)隨文件大小的增加而增加的程度的有效的文件分塊化方法及應(yīng)用該方法的大容量文件的分散處理管理方法。本說明書中,分塊化(blocking)是指將文件以塊單位進(jìn)行分割。

現(xiàn)有技術(shù)文獻(xiàn)

專利文獻(xiàn):韓國授權(quán)專利第1374655號(hào)



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

本發(fā)明所要解決的技術(shù)問題是提供一種能夠維持作業(yè)分散的效果的同時(shí),抑制塊的個(gè)數(shù)隨文件大小的增加而增加的程度的有效的文件分塊化方法及其裝置。

本發(fā)明所要解決的另一技術(shù)問題是提供一種與現(xiàn)有技術(shù)相比利用更少的數(shù)量的塊來分散處理經(jīng)分割的大容量數(shù)據(jù)的同時(shí),以使各作業(yè)節(jié)點(diǎn)盡可能同時(shí)完成對(duì)經(jīng)分割的塊的處理(processing)的方式對(duì)分散處理進(jìn)行管理的方法及其裝置。

本發(fā)明所要解決的又一技術(shù)問題是提供一種通過在用于分散處理的大容量文件的分塊化過程中自動(dòng)反映分散處理系統(tǒng)的作業(yè)環(huán)境,以使各作業(yè)節(jié)點(diǎn)盡可能同時(shí)完成對(duì)經(jīng)分割的塊的處理(processing)的方式對(duì)分散處理進(jìn)行管理的方法及其裝置。

本發(fā)明的技術(shù)問題并不限定于以上所提及的技術(shù)問題,本領(lǐng)域技術(shù)人員能夠從下面的記載中明確理解沒有提及的其它技術(shù)問題。

為了解決上述技術(shù)問題,本發(fā)明一實(shí)施例的由屬于分散處理系統(tǒng)的多個(gè)作業(yè)節(jié)點(diǎn)進(jìn)行分散處理的文件的分塊化方法包括以下步驟:將所述文件劃分為第一區(qū)域和與所述第一區(qū)域的數(shù)據(jù)相比較晚被處理的第二區(qū)域;將所述第一區(qū)域分割為多個(gè)各種大小的塊;以及將所述第二區(qū)域分割為多個(gè)固定大小的塊。

在幾種實(shí)施例中,所述第一區(qū)域所包含的各種大小的塊分別為M個(gè)。(M為所述作業(yè)節(jié)點(diǎn)的個(gè)數(shù))。此時(shí),將第一區(qū)域分割為多個(gè)各種大小的塊的步驟可包括:從所述文件的最前面起將第一大小的塊形成M個(gè)(M為所述作業(yè)節(jié)點(diǎn)的個(gè)數(shù));在未形成塊的區(qū)域,將與所述第一大小相比小的第二大小的塊形成M個(gè);以及將在未形成塊的區(qū)域?qū)⑴c上一次形成的塊的大小相比小的大小的塊形成M個(gè)的步驟,以所述小的大小大 于所述固定大小為條件,反復(fù)進(jìn)行。

在幾種實(shí)施例中,所述第二區(qū)域的大小可被設(shè)置為所述作業(yè)節(jié)點(diǎn)的個(gè)數(shù)和/或在各作業(yè)節(jié)點(diǎn)中執(zhí)行的用于數(shù)據(jù)分散處理的并行進(jìn)程的個(gè)數(shù)和/或各作業(yè)節(jié)點(diǎn)的性能越相同則越小,或者所述第二區(qū)域的大小可通過反映作業(yè)分散效果參數(shù)來確定,所述作業(yè)分散效果參數(shù)被設(shè)置為各作業(yè)節(jié)點(diǎn)的運(yùn)行費(fèi)用越低則越小。

在一實(shí)施例中,由屬于所述分散處理系統(tǒng)的多個(gè)作業(yè)節(jié)點(diǎn)進(jìn)行分散處理的文件的分塊化方法進(jìn)一步可包括以下步驟:僅在所述文件的大小大于所確定的第二區(qū)域的大小的情況下,執(zhí)行所述劃分;將所述第一區(qū)域分割為各種大小的塊;以及將所述第二區(qū)域分割為相同大小的塊。

在幾種實(shí)施例中,所述第一區(qū)域的塊為由最初分配的作業(yè)節(jié)點(diǎn)進(jìn)行處理的塊,所述第二區(qū)域的塊為最初分配的作業(yè)節(jié)點(diǎn)還能移交給其它作業(yè)節(jié)點(diǎn)的塊。

在其它幾種實(shí)施例中,所述第一區(qū)域的塊中的一部分為由最初分配的作業(yè)節(jié)點(diǎn)進(jìn)行處理的塊,而另一部分為最初分配的作業(yè)節(jié)點(diǎn)能移交給其它節(jié)點(diǎn)的塊,所述第二區(qū)域的塊為最初分配的作業(yè)節(jié)點(diǎn)還能移交給其它作業(yè)節(jié)點(diǎn)的塊。

為了解決上述技術(shù)問題,本發(fā)明另一實(shí)施例的大容量文件的分散處理方法包括以下步驟:接收具有第一區(qū)域和第二區(qū)域的文件,所述第一區(qū)域被分割為多個(gè)各種大小的塊,所述第二區(qū)域與所述第一區(qū)域的數(shù)據(jù)相比較晚被處理并被分割為多個(gè)固定大小的塊;將第一區(qū)域的多個(gè)塊和第二區(qū)域的多個(gè)塊均等地分配給屬于分散處理系統(tǒng)的多個(gè)作業(yè)節(jié)點(diǎn);以及監(jiān)測(cè)所述多個(gè)作業(yè)節(jié)點(diǎn)的塊處理現(xiàn)狀,并根據(jù)各作業(yè)節(jié)點(diǎn)的未處理塊現(xiàn)狀來執(zhí)行負(fù)荷再平衡作業(yè)。在幾種實(shí)施例中,執(zhí)行所述負(fù)荷再平衡作業(yè)的步驟可包括:僅將所述第二區(qū)域的塊作為所述負(fù)荷再平衡對(duì)象。

為了解決上述技術(shù)問題,本發(fā)明又一實(shí)施例的大容量文件的分散處理管理裝置可包括:一個(gè)以上的處理器;存儲(chǔ)器,用于加載(load)由所述處理器執(zhí)行的計(jì)算機(jī)程序;和網(wǎng)絡(luò)接口,連接到屬于分散處理系統(tǒng)的多個(gè)作業(yè)節(jié)點(diǎn)。此時(shí),所述計(jì)算機(jī)程序可包括以下操作:將由所述多個(gè)作業(yè)節(jié)點(diǎn)進(jìn)行分散處理的文件劃分為第一區(qū)域和與所述第一區(qū)域的數(shù)據(jù)相比較晚被處理的第二區(qū)域;將所述第一區(qū)域分割為多個(gè)各種大小的塊;將所述第二區(qū)域分割為多個(gè)固定大小的塊;以及通過所述網(wǎng)絡(luò)接口將第一區(qū)域的塊和第二區(qū)域的塊均等地分配發(fā)送給所述多個(gè)作業(yè)節(jié)點(diǎn)。

附圖說明

圖1是本發(fā)明一實(shí)施例的大容量文件的分散處理系統(tǒng)的結(jié)構(gòu)圖。

圖2是本發(fā)明另一實(shí)施例的大容量文件的分塊化方法的順序圖。

圖3是用于說明在本發(fā)明的幾種實(shí)施例中所考慮的劃分大容量文件的第一區(qū)域和第二區(qū)域時(shí),確定第二區(qū)域的大小的方法的示意圖。

圖4是用于說明在本發(fā)明的幾種實(shí)施例中所考慮的大容量文件的第一區(qū)域和第二區(qū)域的概念圖。

圖5a是根據(jù)圖2的大容量文件的分塊化方法對(duì)文件的第一區(qū)域進(jìn)行分塊化的示意圖。

圖5b是根據(jù)圖2的大容量文件的分塊化方法對(duì)文件的第二區(qū)域進(jìn)行分塊化的示意圖。

圖6是用于說明在圖5a和圖5b中例示的分塊化以后,各塊被分配到多個(gè)作業(yè)節(jié)點(diǎn)的結(jié)果的概念圖。

圖7是表示與圖6相比較的、根據(jù)現(xiàn)有技術(shù)的數(shù)據(jù)塊的分配結(jié)果的概念圖。

圖8是用于更仔細(xì)說明圖2的一部分動(dòng)作的詳細(xì)順序圖。

圖9是用于更仔細(xì)說明圖8的一部分動(dòng)作的詳細(xì)順序圖。

圖10是本發(fā)明又一實(shí)施例的大容量文件的分散處理方法的順序圖。

圖11是本發(fā)明又一實(shí)施例的大容量文件的分散處理裝置的結(jié)構(gòu)圖。

具體實(shí)施方式

下面,參照附圖,對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)說明。參照附圖的同時(shí)參照詳細(xì)地后述的實(shí)施例,本發(fā)明的優(yōu)點(diǎn)及特征以及實(shí)現(xiàn)這些的方法將會(huì)明確。但是,本發(fā)明并不限定于以下所公開的實(shí)施例,而是可以以彼此不同的多種方式實(shí)現(xiàn),本實(shí)施例僅僅用于完整地公開本發(fā)明,并且為了向本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員完整地告知本發(fā)明的范圍而提供的,本發(fā)明僅由權(quán)利要求的范圍定義。在說明書全文中相同的附圖標(biāo)記指相同的結(jié)構(gòu)要素。

如果沒有其它定義,則在本說明書中所使用的所有用語(包括技術(shù)用語及科技用語)能夠以本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員共同理解的含義使用。另外,在通常使用的詞典中定義的用語只要沒有被明確地特別定義,就不能理想地或過度地解釋。在本說明書中所使用的用語用于說明實(shí)施例,并不旨在限制本發(fā)明。在本說明書中,單數(shù)形式只要在句子中未特別提及就可以包括復(fù)數(shù)形式。

大容量文件的分散處理系統(tǒng)

下面,參照?qǐng)D1,對(duì)本發(fā)明一實(shí)施例的大容量文件的分散處理系統(tǒng)的結(jié)構(gòu)及動(dòng)作進(jìn)行說明。本實(shí)施例的分散處理系統(tǒng)可包括分散處理管理裝置100和由多個(gè)作業(yè)節(jié)點(diǎn)202構(gòu)成的作業(yè)節(jié)點(diǎn)集群200。

分散處理管理裝置100可對(duì)由大容量文件生成系統(tǒng)300提供的大容量文件進(jìn)行分塊化,將分塊化的結(jié)果所形成的各個(gè)塊分配給各作業(yè)節(jié)點(diǎn)202。各個(gè)作業(yè)節(jié)點(diǎn)202對(duì)分配的塊執(zhí)行事先定義的處理邏輯。大容量文件生成系統(tǒng)300是指通過收集大容量數(shù)據(jù)來生成大容量文件的多功能系統(tǒng)。例如,大容量文件生成系統(tǒng)300可以是統(tǒng)計(jì)信用卡交易明細(xì)的系統(tǒng)、統(tǒng)計(jì)社交網(wǎng)絡(luò)系統(tǒng)上的用戶活動(dòng)明細(xì)的系統(tǒng)、收集各終端裝置的位置信息的系統(tǒng)等。

雖然圖1中示出了分散處理管理裝置100和大容量文件生成系統(tǒng)300彼此物理分離,但在幾種實(shí)施例中,分散處理管理裝置100也可以作為大容量文件生成系統(tǒng)300內(nèi)部的一個(gè)模塊來構(gòu)成。

如已提及那樣,分散處理管理裝置100對(duì)所述大容量文件進(jìn)行分塊化。所述大容量文件可分為第一區(qū)域和第二區(qū)域。所述第二區(qū)域?yàn)樵谟筛鱾€(gè)作業(yè)節(jié)點(diǎn)202進(jìn)行處理時(shí),與所述第一區(qū)域的數(shù)據(jù)相比較晚被處理的區(qū)域。分散處理管理裝置100以彼此不同的方式對(duì)所述第一區(qū)域和所述第二區(qū)域進(jìn)行分塊化。分散處理管理裝置100將所述第一區(qū)域分割為多個(gè)各種大小的塊。此外,分散處理管理裝置100將所述第二區(qū)域分割為多個(gè)固定大小的塊。

形成于所述第一區(qū)域的大部分塊具有與所述固定大小的塊相比更大的塊大小。因此,分散處理管理裝置100形成與將所述大容量文件整個(gè)分塊化為所述固定大小的塊相比更少的數(shù)量的塊。

此外,作為較晚被處理的區(qū)域的所述第二區(qū)域被分割為多個(gè)固定大小的塊,所述固定大小根據(jù)已固定的系統(tǒng)設(shè)置或用戶設(shè)置來確定。在不超過已指定的數(shù)據(jù)大小的范圍內(nèi),以可成為例如64MB(兆字節(jié))或128MB等負(fù)荷再平衡(load re-balancing)的單位的方式設(shè)置所述固定大小。

總之,分散處理管理裝置100將不需要負(fù)荷再平衡的大容量文件的前半部塊分塊化為大小較大的塊,并且將可能需要負(fù)荷再平衡的大容量文件的后半部塊分塊化為較小的固定大小的塊。與根據(jù)現(xiàn)有技術(shù)的固定大小分塊化相比,本發(fā)明中所提出的新分塊化方法可以以更少的數(shù)量的塊實(shí)現(xiàn)相同的作業(yè)分散。通過幾種實(shí)施例,對(duì)分散處理管理裝置100所執(zhí)行的分塊化方法進(jìn)行更仔細(xì)說明。

分散處理管理裝置100可根據(jù)HDFS對(duì)所述大容量文件進(jìn)行分塊化。此時(shí),各個(gè)塊被分散存儲(chǔ)在作業(yè)節(jié)點(diǎn)202中,并且關(guān)于各塊的位置等的元信息被存儲(chǔ)在分散處理管理裝置100中。即,此時(shí),可理解為作業(yè)節(jié)點(diǎn)202為HDFS的數(shù)據(jù)節(jié)點(diǎn),分散處理管理裝置100為HDFS的名稱節(jié)點(diǎn)。

分散處理管理裝置100在分散處理中可進(jìn)一步執(zhí)行任務(wù)調(diào)度器的功能。即,分散 處理管理裝置100通過向各作業(yè)節(jié)點(diǎn)202提供作為處理和存儲(chǔ)對(duì)象的塊,可執(zhí)行分配任務(wù)的動(dòng)作,并且通過監(jiān)測(cè)對(duì)各作業(yè)節(jié)點(diǎn)202被分配到的塊執(zhí)行處理邏輯的狀況,可根據(jù)各作業(yè)節(jié)點(diǎn)202的處理進(jìn)展?fàn)顩r來執(zhí)行負(fù)荷再平衡作業(yè)。

在本發(fā)明的幾種實(shí)施例中,所述負(fù)荷再平衡作業(yè)以各個(gè)作業(yè)節(jié)點(diǎn)202在實(shí)質(zhì)上相同的時(shí)間對(duì)被分配到的塊完成處理為目標(biāo)。在實(shí)質(zhì)上相同的時(shí)間完成處理是指處理完成預(yù)期時(shí)間之間的差距不超過已指定的時(shí)間。因此,所述負(fù)荷再平衡作業(yè)包括如下作業(yè):將分配給具有較多的未處理塊的作業(yè)節(jié)點(diǎn)202的塊重新分配給具有較少的未處理塊的作業(yè)節(jié)點(diǎn)202。通過幾種實(shí)施例,對(duì)分散處理管理裝置100所執(zhí)行的負(fù)荷再平衡方法也進(jìn)行更仔細(xì)說明。

大容量文件的分塊化

下面,參照?qǐng)D2,對(duì)本發(fā)明另一實(shí)施例的大容量文件的分塊化方法進(jìn)行說明。本實(shí)施例的大容量文件的分塊化方法可由計(jì)算裝置執(zhí)行。例如,本實(shí)施例的大容量文件的分塊化方法可由圖1所示的分散處理管理裝置100執(zhí)行。以下,應(yīng)注意,在與圖2關(guān)聯(lián)的說明中,為了便于理解可省略動(dòng)作主體。

如圖2所示,僅在作為分塊化對(duì)象的文件的大小大于第二區(qū)域的大小的情況下,對(duì)第一區(qū)域和第二區(qū)域應(yīng)用彼此不同的方式的分塊化(S14、S15)。即,圖2示出了在作為分塊化對(duì)象的文件的大小小于或等于第二區(qū)域的大小的情況下,以已指定的固定大小的塊對(duì)整個(gè)文件執(zhí)行分塊化(S12)。本發(fā)明的分塊化方法并不限定于圖2所示的方法。應(yīng)注意,本發(fā)明還包括與圖2所示的方法不同的如下實(shí)施:與作為分塊化對(duì)象的文件的大小無關(guān)地對(duì)第一區(qū)域和第二區(qū)域一直應(yīng)用彼此不同的方式的分塊化。

再次對(duì)圖2所示的實(shí)施例進(jìn)行說明,首先,判斷作為分割對(duì)象的文件的大小是否大于第二區(qū)域的大小(S10)。如已提及那樣,所述第二區(qū)域?yàn)樵谒鑫募休^晚被處理的區(qū)域。為了實(shí)現(xiàn)負(fù)荷分散的效果,第二區(qū)域需要具有適當(dāng)?shù)拇笮 ⒄請(qǐng)D3,對(duì)求解第二區(qū)域的大小的方法進(jìn)行說明。

如已提及那樣,在第二區(qū)域形成有固定大小的塊(以下,稱作“基本塊”)。假設(shè)所述基本塊的大小為64MB。形成于第二區(qū)域的基本塊被均等地分配給各作業(yè)節(jié)點(diǎn)202。例如,如果在第二區(qū)域形成有100個(gè)基本塊,并且作業(yè)節(jié)點(diǎn)為20個(gè),則各作業(yè)節(jié)點(diǎn)202分別會(huì)被分配五個(gè)(100/20)基本塊。

各個(gè)作業(yè)節(jié)點(diǎn)202可具有執(zhí)行多個(gè)并行進(jìn)程的環(huán)境。所述并行進(jìn)程利用多任務(wù)(multi-tasking)技術(shù)、在各作業(yè)節(jié)點(diǎn)202中同時(shí)并行執(zhí)行。對(duì)各個(gè)并行進(jìn)程需要分配至少一個(gè)基本塊。因此,在一實(shí)施例中,所述第二區(qū)域的大小可利用將作業(yè)節(jié)點(diǎn)的個(gè)數(shù)和用于數(shù)據(jù)分散處理的并行進(jìn)程的個(gè)數(shù)相乘的值來運(yùn)算。

從可用作負(fù)荷再平衡的對(duì)象的觀點(diǎn)來看,所述基本塊發(fā)揮一種緩沖作用。因此,各作業(yè)節(jié)點(diǎn)202所具有的基本塊越多,則利用所述負(fù)荷再平衡來使各作業(yè)節(jié)點(diǎn)的塊處理結(jié)束的時(shí)間一致的可能性越高。將分配給各作業(yè)節(jié)點(diǎn)202各自的所述并行進(jìn)程的基本塊的個(gè)數(shù)稱作作業(yè)分散效果參數(shù)??衫斫鉃?,所述作業(yè)分散效果參數(shù)為1以上的自然數(shù),并且被設(shè)置成各個(gè)所述作業(yè)節(jié)點(diǎn)需要同時(shí)完成所述文件處理的必要性越高則其值越大。此時(shí),通過將所述固定大小、屬于所述分散處理系統(tǒng)的作業(yè)節(jié)點(diǎn)的個(gè)數(shù)、用于所述數(shù)據(jù)分散處理的并行進(jìn)程的個(gè)數(shù)、以及作業(yè)分散效果參數(shù)相乘來自動(dòng)運(yùn)算所述第二區(qū)域的大小。

分散處理系統(tǒng)的管理者可將所述作業(yè)分散效果參數(shù)設(shè)置為各個(gè)所述作業(yè)節(jié)點(diǎn)需要同時(shí)完成所述文件處理的必要性越高,則其值越高。但是,由于所述作業(yè)分散效果參數(shù)越大則塊的個(gè)數(shù)也越多,因此應(yīng)避免將所述作業(yè)分散效果參數(shù)盲目設(shè)置為較大的值。以下,對(duì)分散處理系統(tǒng)根據(jù)分散處理系統(tǒng)的計(jì)算環(huán)境自動(dòng)設(shè)置所述作業(yè)分散效果參數(shù)的實(shí)施例進(jìn)行說明。

所述作業(yè)分散效果參數(shù)可反映各作業(yè)節(jié)點(diǎn)202之間的性能差異來自動(dòng)設(shè)置。關(guān)于各作業(yè)節(jié)點(diǎn)202之間的性能差異的數(shù)據(jù),可通過如下方式等來事先獲得:針對(duì)各作業(yè)節(jié)點(diǎn)202,自動(dòng)收集通過周期性地執(zhí)行或由特定事件發(fā)生觸發(fā)而執(zhí)行的運(yùn)算速度試驗(yàn)執(zhí)行結(jié)果。所述作業(yè)分散效果參數(shù)可設(shè)置為,各作業(yè)節(jié)點(diǎn)202的性能越相同則其值越小,各作業(yè)節(jié)點(diǎn)202之間的性能差異越大則其值越大。

所述作業(yè)分散效果參數(shù)也可以反映已輸入的各作業(yè)節(jié)點(diǎn)202的運(yùn)行費(fèi)用來自動(dòng)設(shè)置。以各作業(yè)節(jié)點(diǎn)202實(shí)質(zhì)上同時(shí)結(jié)束對(duì)各塊的處理的方式執(zhí)行負(fù)荷再平衡的理由如下:即,為了防止一部分作業(yè)節(jié)點(diǎn)202先結(jié)束作業(yè)并以閑置狀態(tài)待機(jī)到其它作業(yè)節(jié)點(diǎn)202結(jié)束作業(yè)為止。因此,各作業(yè)節(jié)點(diǎn)202的每小時(shí)的運(yùn)行費(fèi)用越高,優(yōu)選提高所述作業(yè)分散效果參數(shù),以使閑置狀態(tài)的發(fā)生概率最小化。相反,各作業(yè)節(jié)點(diǎn)202的每小時(shí)的運(yùn)行費(fèi)用越低,由于即使閑置狀態(tài)的發(fā)生概率提高某種程度,減少塊的分割個(gè)數(shù)反而可能相對(duì)有利(減少關(guān)于塊分割的元信息的大小更有利),因此優(yōu)選減小所述作業(yè)分散效果參數(shù)。

所述作業(yè)分散效果參數(shù)也可以利用適用于由各作業(yè)節(jié)點(diǎn)進(jìn)行分散處理的文件的邏輯的編程復(fù)雜度(programming complexity)來自動(dòng)設(shè)置。所述編程復(fù)雜度為軟件度量(software metric)之一,是指軟件內(nèi)部的多個(gè)實(shí)體之間的交互以何種程度存在。雖然適用于各個(gè)塊的邏輯相同,但由于所輸入的數(shù)據(jù)彼此不同,因此所述邏輯的所述編程復(fù)雜度越高,處理中所需的運(yùn)算負(fù)荷彼此不同的可能性越高。因此,所述邏輯的編程復(fù)雜度越高,優(yōu)選提高所述作業(yè)分散效果參數(shù)來進(jìn)一步增強(qiáng)負(fù)荷再平衡力度,以應(yīng)對(duì) 各作業(yè)節(jié)點(diǎn)的塊處理速度不同的情況。

所述編程復(fù)雜度可指例如由Thomas J.McCabe,Sr.在1976年定義的圈復(fù)雜度(Cyclomatic Complexity)值(以下,稱作“McCabe圈復(fù)雜度”)。所述McCabe圈復(fù)雜度為表示程序源代碼的獨(dú)立執(zhí)行路徑的個(gè)數(shù)的值。關(guān)于求解所述McCabe圈復(fù)雜度的方法,可參照如下廣為人知的文獻(xiàn):文獻(xiàn)1:McCabe(1976年12月),“A Complexity Measure”,IEEE Transactions on Software Engineering:308–320和文獻(xiàn)2:Arthur H.Watson和Thomas J.McCabe(1996),“Structured Testing:A Testing Methodology Using the Cyclomatic Complexity Metric”(PDF),NIST Special Publication 500-235等。

為了求解關(guān)于所述邏輯的McCabe圈復(fù)雜度,可應(yīng)用如下廣為人知的源代碼分析器:文獻(xiàn)3:A small C/C++source code analyzer using the cyclometric complexity metric(https://sites.google.com/site/maltapplication/)等。

總之,作業(yè)節(jié)點(diǎn)之間的性能差異越大,作業(yè)節(jié)點(diǎn)的每個(gè)時(shí)間的運(yùn)行費(fèi)用越高,處理邏輯的McCabe圈復(fù)雜度越大,則所述作業(yè)分散效果參數(shù)可被自動(dòng)設(shè)置為更大的值。

在圖3所示的狀況的情況下,各作業(yè)節(jié)點(diǎn)202同時(shí)執(zhí)行三個(gè)并行進(jìn)程,作業(yè)分散效果參數(shù)被設(shè)置為4。此外,基本塊的大小為64MB。因此,在作業(yè)節(jié)點(diǎn)的個(gè)數(shù)為n的情況下,第二區(qū)域的大小被自動(dòng)運(yùn)算為(768×n)MB。例如,在作業(yè)節(jié)點(diǎn)的個(gè)數(shù)為100個(gè)的情況下,第二區(qū)域的大小為76800MB=75GB。

參照?qǐng)D4,第二區(qū)域404的大小為75GB,第二區(qū)域位于文件的后面75GB區(qū)域。在本說明書中,以從前到后的順序?qū)ξ募?00進(jìn)行處理(processing),最前面是文件的偏移為0的數(shù)據(jù),最后面是文件的偏移為(文件大小–1)的數(shù)據(jù)。文件的劃分方法如下:以基準(zhǔn)偏移(文件大小-第二區(qū)域大小)為基準(zhǔn)將文件分為兩個(gè)連續(xù)的區(qū)域,并將首先被處理的前面區(qū)域確定為第一區(qū)域402,并將較晚被處理的后面區(qū)域確定為第二區(qū)域404。

再次返回到圖2來進(jìn)行說明,在文件具有與第二區(qū)域大小(關(guān)于求解第二區(qū)域大小的方法請(qǐng)參照?qǐng)D3)相比更大的大小的情況下(S10),將所述文件劃分為第一區(qū)域和第二區(qū)域(關(guān)于劃分方法請(qǐng)參照?qǐng)D4)(S13),并將第一區(qū)域分割為多個(gè)各種大小的塊(S14)。

在一實(shí)施例中,第一區(qū)域所包含的各種大小的塊可分別為M個(gè)(M為作業(yè)節(jié)點(diǎn)的個(gè)數(shù))。這是為了向各作業(yè)節(jié)點(diǎn)分別分配一個(gè)各種大小的塊。圖5a示出了在作業(yè)節(jié)點(diǎn)為兩個(gè)的情況下,在第一區(qū)域形成兩個(gè)256MB大小的塊420a、420b和兩個(gè)128MB大小的塊421a、421b。

第二區(qū)域被分割為多個(gè)固定大小的塊,即,被分割為多個(gè)基本塊(S15)。圖5b 示出了在作業(yè)節(jié)點(diǎn)為兩個(gè)、每個(gè)作業(yè)節(jié)點(diǎn)的并行進(jìn)程個(gè)數(shù)為一個(gè)、所述作業(yè)分散效果參數(shù)被設(shè)置為3的情況下,在第二區(qū)域形成六個(gè)(2×1×3)基本塊。

圖6示出了在如圖5a和圖5b那樣文件被分塊化的情況下,如何向兩個(gè)作業(yè)節(jié)點(diǎn)中每一個(gè)分配塊。作業(yè)節(jié)點(diǎn)#1以256MB的塊420a、128MB的塊421a和基本塊440a、440c、440e的順序?qū)Ω鲏K進(jìn)行處理。作業(yè)節(jié)點(diǎn)#2以256MB的塊420b、128MB的塊421b和基本塊440b、440d、440f的順序?qū)Ω鲏K進(jìn)行處理??纱_認(rèn)第一區(qū)域402的各種大小的塊420a、420b、421a、421b被均等地分配到作業(yè)節(jié)點(diǎn)#1、作業(yè)節(jié)點(diǎn)#2。此外,可確認(rèn)第二區(qū)域404的六個(gè)基本塊440a、440b、440c、440d、440e、440f也被各三個(gè)地均等地分配到作業(yè)節(jié)點(diǎn)#1、作業(yè)節(jié)點(diǎn)#2。

圖7示出在根據(jù)現(xiàn)有技術(shù)將整個(gè)文件僅分塊化為基本塊的情況下,向作業(yè)節(jié)點(diǎn)#1、作業(yè)節(jié)點(diǎn)#2分配相同個(gè)數(shù)的所述基本塊。根據(jù)本發(fā)明,文件被分塊化為總計(jì)十個(gè)塊,而在現(xiàn)有技術(shù)中文件被分塊化為總計(jì)18個(gè)塊。本發(fā)明中,各個(gè)作業(yè)節(jié)點(diǎn)以大小較大的塊為對(duì)象來執(zhí)行初始作業(yè),而后期作業(yè)的對(duì)象是大小較小的塊,因此必要時(shí)不會(huì)對(duì)負(fù)荷再平衡帶來較大的負(fù)擔(dān)。因此,本發(fā)明具有以更少的個(gè)數(shù)的塊也能實(shí)現(xiàn)負(fù)荷分散效果的效果。此外,本發(fā)明中,具有與分散處理系統(tǒng)的作業(yè)環(huán)境對(duì)應(yīng)的大小的第二區(qū)域被配置在大容量文件的后面,由此提供適合在所述分散處理系統(tǒng)中執(zhí)行負(fù)荷再平衡作業(yè)的塊配置。

下面,參照?qǐng)D8至圖9,對(duì)將第一區(qū)域分割為各種大小的塊的方法進(jìn)行更詳細(xì)說明。

圖8是圖2所示的第一區(qū)域分塊化步驟(S14)的詳細(xì)順序圖。

首先,判斷第一區(qū)域的未形成塊區(qū)域大小F是否大于將基本塊的固定大小b和作業(yè)節(jié)點(diǎn)的個(gè)數(shù)M相乘的值(S140)。可理解為,該判斷動(dòng)作用于確定能夠形成塊的區(qū)域是否具有對(duì)各作業(yè)節(jié)點(diǎn)形成超過b的大小的塊的程度的大小。例如,如果在b=64MB、M=10的情況下,第一區(qū)域的未形成塊區(qū)域小于640MB(假設(shè)為500MB),則將所述未形成塊區(qū)域的大小F除以10的大小(50MB)確定為塊大小(S146)。接著,從未形成塊區(qū)域的前面起形成十個(gè)50MB的塊,由此結(jié)束針對(duì)第一區(qū)域的塊形成(S148)。

在第一區(qū)域的未形成塊區(qū)域大小F大于將基本塊的固定大小b和作業(yè)節(jié)點(diǎn)的個(gè)數(shù)M相乘的值的情況下(S140),所要形成的塊大小被確定為F×i/M(S142)。i為具有0與1之間的值的可變分割參數(shù)。并且,i一旦被定義一次,則該i值不會(huì)變化并保持恒定。在確定了塊大小的情況下,從未形成塊區(qū)域的前面起依次形成M個(gè)該大小的塊(S144)。

例如,在可變分割參數(shù)為0.6的情況下,如果將第一區(qū)域的未形成塊區(qū)域中的60% 區(qū)域除以作業(yè)節(jié)點(diǎn)的個(gè)數(shù),則可確定所要形成的塊的大小。接著,通過將剩余的未形成塊區(qū)域的60%區(qū)域除以作業(yè)節(jié)點(diǎn)的個(gè)數(shù)來確定下一次所要形成的塊大小。因此,隨著時(shí)間的推移,所形成的塊的大小越來越小。在所形成的塊的大小小于所述基本塊的固定大小的情況下,通過將剩余的區(qū)域除以作業(yè)節(jié)點(diǎn)的個(gè)數(shù)來最終形成相同大小的塊之后,結(jié)束對(duì)第一區(qū)域的分塊化。

此外,塊的形成從未形成塊區(qū)域的前面(即,文件的偏移較小的一側(cè))起執(zhí)行。

因此,對(duì)第一區(qū)域的分塊化是指從文件的前面起依次形成第一至第n大小的塊(n為2以上的自然數(shù))。文件的前、后為表示包含在文件中的各數(shù)據(jù)的處理順序的概念。即,文件的第一偏移區(qū)域位于第二偏移區(qū)域的前面是指與第二偏移區(qū)域相比先處理第一偏移區(qū)域。

總之,所述第一區(qū)域的分塊化包括以下步驟:從所述文件的最前面起將第一大小的塊形成M個(gè)(M為所述作業(yè)節(jié)點(diǎn)的個(gè)數(shù));以及在未形成塊的區(qū)域上將小于所述第一大小的第二大小的塊形成M個(gè)。當(dāng)然,在文件的大小足夠大的情況下,進(jìn)一步可執(zhí)行以下步驟:在尚未形成塊的區(qū)域上將小于所述第二大小的第三大小的塊形成M個(gè);以及在尚未形成塊的區(qū)域上將小于所述第三大小的第四大小的塊形成M個(gè);等等。

為了實(shí)現(xiàn)本發(fā)明的塊個(gè)數(shù)減少效果,優(yōu)選至少所述第一大小大于所述基本塊的固定大小(以64MB被例示多次)。因此,優(yōu)選所述可變分割參數(shù)i的值被設(shè)置為0與1之間的實(shí)數(shù)值,并且以使第一大小(即,最初形成于第一區(qū)域內(nèi)的塊的大小)可具有大于所述基本塊的固定大小的值的方式限制可變分割參數(shù)i值的最小值。例如,在第一區(qū)域的大小為6400MB、M=10、基本塊的固定大小=64MB的情況下,由于6400×0.1/10=64MB,因此所述可變分割參數(shù)值為至少0.1以上的值。即,所述可變分割參數(shù)i值的最小值可利用第一區(qū)域的大小、作業(yè)節(jié)點(diǎn)的個(gè)數(shù)、基本塊的固定大小來自動(dòng)運(yùn)算。

所述可變分割參數(shù)的值越接近1,形成于第一區(qū)域的塊的個(gè)數(shù)越少,相反,可變分割參數(shù)的值越接近0,形成于第一區(qū)域的塊的個(gè)數(shù)越多。為了使本發(fā)明的塊減少效果最大化,也可以考慮通過將所述可變分割參數(shù)的值設(shè)置為1來將第一區(qū)域整個(gè)形成為一個(gè)塊。只是,如果以這種方式將第一區(qū)域整個(gè)形成為一個(gè)塊,則無法適當(dāng)?shù)膽?yīng)對(duì)因在特定作業(yè)節(jié)點(diǎn)中發(fā)生非正常狀況而作業(yè)速度變得極其慢的情況。在已說明的幾種實(shí)施例中,僅第二區(qū)域的塊可成為負(fù)荷再平衡的對(duì)象,但在本發(fā)明的其它幾種實(shí)施例中,不僅第二區(qū)域的塊而且也可以將第一區(qū)域的塊中具有已指定的大小以下的大小的塊作為負(fù)荷再平衡的對(duì)象來包含。如果考慮這種實(shí)施例,則考慮到也需要在第一區(qū)域中進(jìn)行負(fù)荷再平衡的狀況,有必要形成一種大小較小的多個(gè)塊。因此,優(yōu)選將所述可變分割參數(shù)值設(shè)置為小于1的值。

雖然也可以由管理者手動(dòng)設(shè)置所述可變分割參數(shù)值i,但還可以由系統(tǒng)自動(dòng)設(shè)置最優(yōu)化的值。以下,參照?qǐng)D9,對(duì)自動(dòng)設(shè)置所述可變分割參數(shù)值i的實(shí)施例進(jìn)行仔細(xì)說明。

可利用各作業(yè)節(jié)點(diǎn)的性能均勻度來自動(dòng)設(shè)置所述可變分割參數(shù)值。由于對(duì)文件進(jìn)行分散處理的各個(gè)作業(yè)節(jié)點(diǎn)具有的性能越相同則越能期待針對(duì)各塊的相同的處理速度,因此可減少應(yīng)形成于第一區(qū)域的塊的個(gè)數(shù)。因此,各作業(yè)節(jié)點(diǎn)的性能越均勻,所述可變分割參數(shù)可被自動(dòng)設(shè)置為越高的值。

各作業(yè)節(jié)點(diǎn)的性能均勻度可由硬件規(guī)格(spec.)信息測(cè)定出。這是因?yàn)樵诟髯鳂I(yè)節(jié)點(diǎn)中除用于處理所述塊的進(jìn)程以外未執(zhí)行較多的其它進(jìn)程的理想環(huán)境的情況下,所述硬件規(guī)格信息為用于預(yù)測(cè)所述塊的處理速度的能夠信賴的信息。

參照?qǐng)D9,對(duì)由硬件規(guī)格信息測(cè)定各作業(yè)節(jié)點(diǎn)的性能均勻度的方法進(jìn)行說明。首先,在分散處理系統(tǒng)的資源管理信息中查詢規(guī)格(spec.)信息(S1420)。接著,對(duì)各作業(yè)節(jié)點(diǎn)的規(guī)格進(jìn)行評(píng)分(scoring)(S1422)。在所述評(píng)分過程中可應(yīng)用多個(gè)基準(zhǔn)。例如,在應(yīng)用于所述文件的邏輯為需要較多的運(yùn)算的邏輯的情況下,可在評(píng)分過程中應(yīng)用對(duì)CPU性能賦予了較高的加權(quán)值的基準(zhǔn),在應(yīng)用于所述文件的邏輯為需要較多的存儲(chǔ)器的邏輯的情況下,可在評(píng)分過程中應(yīng)用對(duì)存儲(chǔ)器容量賦予了較高的加權(quán)值的基準(zhǔn),并且在應(yīng)用于所述文件的邏輯需要較多的I/O(對(duì)貯存器的輸出輸入作業(yè))的情況下,可在評(píng)分過程中應(yīng)用對(duì)貯存器容量和貯存器速度賦予了較高的加權(quán)值的基準(zhǔn)。接著,評(píng)分(S1422)的結(jié)果,通過對(duì)運(yùn)算出的各作業(yè)節(jié)點(diǎn)的規(guī)格分?jǐn)?shù)運(yùn)算方差值(Var_node)(或標(biāo)準(zhǔn)偏差值),從而測(cè)定所述性能均勻度(S1424)。所述方差值(或標(biāo)準(zhǔn)偏差值)越低,所述性能均勻度具有越高的值。

如果是在各作業(yè)節(jié)點(diǎn)中除用于處理所述塊的進(jìn)程之外還執(zhí)行其它多種進(jìn)程的狀況,則所述硬件規(guī)格信息無法準(zhǔn)確地反映各作業(yè)節(jié)點(diǎn)的作業(yè)環(huán)境。此時(shí),可利用對(duì)實(shí)際運(yùn)算速度的標(biāo)桿試驗(yàn)結(jié)果來預(yù)測(cè)所述塊的處理速度。此時(shí),也可以在各作業(yè)節(jié)點(diǎn)中自動(dòng)收集周期性或非周期性地實(shí)施的運(yùn)算速度試驗(yàn)執(zhí)行結(jié)果之后,運(yùn)算根據(jù)所述試驗(yàn)執(zhí)行結(jié)果來定的分?jǐn)?shù)的方差值(或標(biāo)準(zhǔn)偏差值)來測(cè)定所述性能均勻度。

也可以利用應(yīng)用于由各作業(yè)節(jié)點(diǎn)進(jìn)行分散處理的文件的邏輯的編程復(fù)雜度來自動(dòng)設(shè)置所述可變分割參數(shù)值。如已提及那樣,雖然應(yīng)用于各個(gè)塊的邏輯相同,但由于所輸入的數(shù)據(jù)彼此不同,因此所述邏輯的所述編程復(fù)雜度越高則處理中所需的運(yùn)算負(fù)荷彼此不同的可能性越高。因此,所述邏輯的編程復(fù)雜度越高,則優(yōu)選降低所述可變分割參數(shù)來進(jìn)一步增強(qiáng)負(fù)荷再平衡的力度,以應(yīng)對(duì)各作業(yè)節(jié)點(diǎn)的塊處理速度不同的情況。所述編程復(fù)雜度可指McCabe圈復(fù)雜度。

在一實(shí)施例中,如果在求解所述第二區(qū)域的大小時(shí),以作業(yè)分散效果參數(shù)的形式 已反映了所述編程復(fù)雜度,則在應(yīng)用于所述第一區(qū)域的分塊化的所述可變分割參數(shù)值的自動(dòng)設(shè)置中,可不重復(fù)應(yīng)用所述編程復(fù)雜度。

而在另一實(shí)施例中,即使在求解所述第二區(qū)域的大小時(shí),以作業(yè)分散效果參數(shù)的形式已反映了所述編程復(fù)雜度,也可以在應(yīng)用于所述第一區(qū)域的分塊化的所述可變分割參數(shù)值的自動(dòng)設(shè)置中重復(fù)應(yīng)用所述編程復(fù)雜度。

在又一實(shí)施例中,在所述編程復(fù)雜度具有已設(shè)置的臨界值以下的值的情況下,如果在求解所述第二區(qū)域的大小時(shí)以作業(yè)分散效果參數(shù)的形式已反映了所述編程復(fù)雜度,則在應(yīng)用于所述第一區(qū)域的分塊化的所述可變分割參數(shù)值的自動(dòng)設(shè)置中不會(huì)重復(fù)應(yīng)用所述編程復(fù)雜度,并且在所述編程復(fù)雜度具有所述臨界值以上的值的情況下,當(dāng)求解所述第二區(qū)域的大小時(shí),即使以作業(yè)分散效果參數(shù)形式已反映了所述編程復(fù)雜度,也可以在應(yīng)用于所述第一區(qū)域的分塊化的所述可變分割參數(shù)值的自動(dòng)設(shè)置中重復(fù)應(yīng)用所述編程復(fù)雜度。

當(dāng)然,所述編程復(fù)雜度和所述性能均勻度(S1428)均可反映在所述可變分割參數(shù)值i的設(shè)置中。此時(shí),所述可變分割參數(shù)值i可與各作業(yè)節(jié)點(diǎn)的規(guī)格分?jǐn)?shù)的方差值(Var_node)和編程復(fù)雜度(PC)成反比。在圖9所示的數(shù)學(xué)式中,α為可在試驗(yàn)過程中適應(yīng)性地設(shè)置的系數(shù)。

對(duì)分散處理的管理(任務(wù)調(diào)度)

下面,參照?qǐng)D10,對(duì)本發(fā)明又一實(shí)施例的分散處理管理方法進(jìn)行說明。本實(shí)施例的分散處理管理方法可由計(jì)算裝置執(zhí)行。例如,本實(shí)施例的分散處理管理方法可由圖1所示的分散處理管理裝置100執(zhí)行。以下,應(yīng)注意,在與本實(shí)施例關(guān)聯(lián)的說明中,為了便于理解,可省略動(dòng)作主體。

首先,執(zhí)行圖2所示的文件分塊化動(dòng)作(S10、S12、S13、S14、S15)。此時(shí),當(dāng)然可適用參照?qǐng)D3至圖9來進(jìn)行說明的本發(fā)明的文件分塊化關(guān)聯(lián)實(shí)施例。

在文件分塊化結(jié)束之后,各個(gè)塊被均等地分配到各作業(yè)節(jié)點(diǎn)(S16)?!熬鹊胤峙洹笔侵柑囟ù笮〉膲K不會(huì)以偏重于特定作業(yè)節(jié)點(diǎn)的方式分配。例如,是指在第一作業(yè)節(jié)點(diǎn)具有M個(gè)第一大小的塊的情況下,以其它作業(yè)節(jié)點(diǎn)也具有M個(gè)所述第一大小的塊的方式分配。當(dāng)然,在塊個(gè)數(shù)不足以分配給所有作業(yè)節(jié)點(diǎn)的情況下,也有可能產(chǎn)生一部分作業(yè)節(jié)點(diǎn)未能獲得分配給其它作業(yè)節(jié)點(diǎn)的塊的情況。關(guān)于“均等地分配”的含義,請(qǐng)參照與圖6關(guān)聯(lián)的說明。

在塊分配結(jié)束之后,監(jiān)測(cè)各作業(yè)節(jié)點(diǎn)的塊處理現(xiàn)狀(S17)。所述監(jiān)測(cè)例如可通過如下方式執(zhí)行:確認(rèn)各作業(yè)節(jié)點(diǎn)所存儲(chǔ)的日志(LOG)或各作業(yè)節(jié)點(diǎn)在塊處理結(jié)束時(shí)發(fā)送報(bào)告消息等。塊處理(block processing)是指各作業(yè)節(jié)點(diǎn)對(duì)包含在分配到的塊中 的數(shù)據(jù)應(yīng)用經(jīng)分塊化的文件的處理邏輯。

所述監(jiān)測(cè)結(jié)果,在判斷為需要負(fù)荷再平衡的狀況的情況下,分散處理管理裝置100以第二區(qū)域的塊為對(duì)象執(zhí)行負(fù)荷再平衡(S18)。例如,在第一作業(yè)節(jié)點(diǎn)中存在被分配到所述第一作業(yè)節(jié)點(diǎn)的八個(gè)第二區(qū)域塊中的一個(gè)未處理塊,而在第二作業(yè)節(jié)點(diǎn)中存在被分配到所述第二作業(yè)節(jié)點(diǎn)的八個(gè)第二區(qū)域塊中的七個(gè)未處理塊的情況下,分散處理管理裝置100判斷為需要負(fù)荷再平衡的狀況,并且可將被分配到第二作業(yè)節(jié)點(diǎn)的第二區(qū)域塊中的至少一部分重新分配給所述第一作業(yè)節(jié)點(diǎn)。

在一實(shí)施例中,分散處理管理裝置100在第二區(qū)域的塊中的未處理塊的上下位偏差嚴(yán)重到超過已指定的基準(zhǔn)的情況下(例如,在最上位和最下位的未處理塊持有差異超過被分配到各作業(yè)節(jié)點(diǎn)的第二區(qū)域塊的個(gè)數(shù)的50%的情況下),可執(zhí)行負(fù)荷再平衡。

分散處理管理裝置100可通過執(zhí)行所述負(fù)荷再平衡,以各作業(yè)節(jié)點(diǎn)在實(shí)質(zhì)上相同的時(shí)間內(nèi)全部處理被分配的塊的方式進(jìn)行管理(S19)。

目前為止,在圖10及相關(guān)聯(lián)的說明中說明了僅第二區(qū)域的塊為負(fù)荷再平衡對(duì)象,但應(yīng)注意,在幾種實(shí)施例中,不僅對(duì)第二區(qū)域的塊而且也可以對(duì)第一區(qū)域的塊中的一部分塊執(zhí)行負(fù)荷再平衡。所述第一區(qū)域的塊中的、執(zhí)行負(fù)荷再平衡的塊為具有與已指定的大小相比更小的大小的塊。

目前為止參照?qǐng)D1至圖10來進(jìn)行說明的本發(fā)明的實(shí)施例的方法可通過執(zhí)行以計(jì)算機(jī)可讀代碼實(shí)現(xiàn)的計(jì)算機(jī)程序來執(zhí)行。所述計(jì)算機(jī)程序可通過互聯(lián)網(wǎng)等網(wǎng)絡(luò)從第一計(jì)算裝置被傳送到第二計(jì)算裝置并被安裝在所述第二計(jì)算裝置中,由此能夠在所述第二計(jì)算裝置中使用。所述第一計(jì)算裝置和所述第二計(jì)算裝置均包括服務(wù)器裝置、屬于用于云服務(wù)的服務(wù)器池的物理服務(wù)器和如臺(tái)式電腦的固定式計(jì)算裝置。

所述計(jì)算機(jī)程序也可以存儲(chǔ)在數(shù)字只讀光盤存儲(chǔ)器(DVD-ROM)、快閃存儲(chǔ)器等的存儲(chǔ)介質(zhì)中。

下面,參照?qǐng)D11,對(duì)本發(fā)明又一實(shí)施例的大容量文件的分散處理管理裝置的結(jié)構(gòu)及動(dòng)作進(jìn)行說明。

如圖11所示,本實(shí)施例的大容量文件的分散處理管理裝置100可包括:一個(gè)以上的處理器106;網(wǎng)絡(luò)接口102,連接到包含有屬于分散處理系統(tǒng)的多個(gè)作業(yè)節(jié)點(diǎn)的作業(yè)節(jié)點(diǎn)集群200;貯存器104;和存儲(chǔ)器(RAM)108,用于加載(load)由處理器106執(zhí)行的計(jì)算機(jī)程序。處理器106、網(wǎng)絡(luò)接口102、貯存器104和存儲(chǔ)器108通過系統(tǒng)總線110來收發(fā)數(shù)據(jù)。

貯存器104可臨時(shí)存儲(chǔ)通過網(wǎng)絡(luò)接口102從大容量數(shù)據(jù)生成系統(tǒng)接收的大容量文件400。

所述計(jì)算機(jī)程序包括文件分塊化軟件180。

文件分塊化軟件180包括以下操作(operation):將大容量文件400劃分為第一區(qū)域和與所述第一區(qū)域的數(shù)據(jù)相比較晚被處理的第二區(qū)域;將所述第一區(qū)域分割為多個(gè)各種大小的塊;以及將所述第二區(qū)域分割為多個(gè)固定大小的塊。關(guān)于文件分塊化方法,已參照?qǐng)D1至圖9進(jìn)行了詳細(xì)的說明。文件分塊化軟件180將大容量文件400的分塊化結(jié)果作為塊分割信息184存儲(chǔ)在存儲(chǔ)器108上。塊分割信息184可包括各塊的偏移范圍(offset range)。

分散處理管理軟件182包括負(fù)責(zé)任務(wù)調(diào)度的操作。分散處理管理軟件182可包括以下操作:參照塊分割信息184,并通過網(wǎng)絡(luò)接口102將第一區(qū)域的多個(gè)塊和第二區(qū)域的多個(gè)塊均等地分配并發(fā)送給所述多個(gè)作業(yè)節(jié)點(diǎn);以及監(jiān)測(cè)所述多個(gè)作業(yè)節(jié)點(diǎn)的塊處理現(xiàn)狀,并根據(jù)各個(gè)所述作業(yè)節(jié)點(diǎn)的未處理塊現(xiàn)狀來執(zhí)行以所述第二區(qū)域的塊為對(duì)象的負(fù)荷再平衡作業(yè)。

本實(shí)施例的大容量文件的分散處理管理裝置100將不需要負(fù)荷再平衡的大容量文件的前半部塊分塊化為大小較大的塊,并將可能需要負(fù)荷再平衡的大容量文件的后半部塊分塊化為較小的固定大小的塊。因此,分散處理管理裝置100可以以與現(xiàn)有技術(shù)的固定大小分塊化相比更少的數(shù)量的塊實(shí)現(xiàn)相同的作業(yè)分散的效果。

以上參照附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行了說明,但本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員應(yīng)能理解,本發(fā)明可不變更本發(fā)明的技術(shù)思想或必要特征而以其它具體方式實(shí)施。因此,應(yīng)理解為以上所述的實(shí)施例在所有方面為示例性的而并非限定性的。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
九台市| 广丰县| 鄂托克前旗| 宣武区| 墨脱县| 布拖县| 张家川| 福清市| 察隅县| 平罗县| 宜都市| 肃宁县| 海原县| 兰考县| 宁海县| 秀山| 汽车| 汽车| 无锡市| 西吉县| 公主岭市| 湾仔区| 陆丰市| 扬中市| 阳朔县| 德江县| 北碚区| 贵州省| 临颍县| 林州市| 浦城县| 兴国县| 铜山县| 贵定县| 泊头市| 黄石市| 韶关市| 桃江县| 西峡县| 木兰县| 河东区|