一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理方法及系統(tǒng),預(yù)處理社交網(wǎng)絡(luò)數(shù)據(jù),并抽象出以頂點(diǎn)代表人物,以若干條帶有時(shí)間戳的邊代表人物間互動(dòng)關(guān)系的圖結(jié)構(gòu);該表示方法能夠有效的表示有互動(dòng)時(shí)序關(guān)系的社交網(wǎng)絡(luò)關(guān)系;根據(jù)名人效應(yīng)將圖結(jié)構(gòu)按照預(yù)定的歐式距離切分成若干個(gè)圖結(jié)構(gòu)塊,并給圖結(jié)構(gòu)塊及其內(nèi)部的頂點(diǎn)編號(hào);按照內(nèi)存組織方式將圖結(jié)構(gòu)塊導(dǎo)入內(nèi)存的相應(yīng)位置中;該內(nèi)存存儲(chǔ)方式充分利用了圖數(shù)據(jù)的分布特性,能達(dá)到高效的存儲(chǔ)和查詢性能;本發(fā)明本著節(jié)省計(jì)算時(shí)間和內(nèi)存空間的原則,改進(jìn)了原始以頂點(diǎn)為計(jì)算單元的編程模型,而是采用以消息為計(jì)算單元的編程模型,這種方式在很大程度上節(jié)省了計(jì)算時(shí)間,也節(jié)約了存儲(chǔ)空間。
【專利說明】一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及大規(guī)模圖數(shù)據(jù)處理領(lǐng)域,特別是涉及一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理方法及系統(tǒng)。
【背景技術(shù)】
[0002]近年來隨著互聯(lián)網(wǎng)的快速發(fā)展,社交網(wǎng)絡(luò)平臺(tái)也迅速發(fā)展和普及。用圖數(shù)據(jù)表示社交網(wǎng)絡(luò)中的人物關(guān)系,結(jié)合圖算法可以挖掘出社交網(wǎng)絡(luò)人物關(guān)系中的隱藏信息。所以,隨著社交網(wǎng)絡(luò)的發(fā)展,圖數(shù)據(jù)又一次迎來了熱潮。
[0003]但是,隨著社交網(wǎng)絡(luò)的逐漸普及,社交網(wǎng)絡(luò)數(shù)據(jù)也呈現(xiàn)指數(shù)級(jí)增長(zhǎng)的趨勢(shì)。所以,就不能用單機(jī)版圖數(shù)據(jù)處理程序來實(shí)現(xiàn)對(duì)這些大規(guī)模圖數(shù)據(jù)的分析處理。
[0004]隨著社交網(wǎng)絡(luò)的熱度以及社交網(wǎng)絡(luò)數(shù)據(jù)的大規(guī)模,目前采用的處理這些大規(guī)模數(shù)據(jù)的方案是在多臺(tái)機(jī)器上并行處理這些數(shù)據(jù)。這些并行方案基本上都遵循如下思路:首先將龐大的圖數(shù)據(jù)按照一定規(guī)律切分(以稠密度較大的區(qū)域?yàn)榛鶞?zhǔn)設(shè)定劃分內(nèi)存塊的依據(jù),這就造成了內(nèi)存塊能存儲(chǔ)下稠密度大的圖結(jié)構(gòu)的數(shù)據(jù),但對(duì)于較稀疏的圖結(jié)構(gòu)來說,雖然也能存儲(chǔ),但造成了大量存儲(chǔ)空間的浪費(fèi)),切分成多份,每份圖數(shù)據(jù)都存儲(chǔ)在其中一臺(tái)機(jī)器上。當(dāng)開始處理時(shí),從本機(jī)上加載本機(jī)上存儲(chǔ)的圖數(shù)據(jù),然后進(jìn)行計(jì)算,最后再通過消息傳輸?shù)臋C(jī)制交換中間計(jì)算結(jié)果,經(jīng)過多次迭代,從而得到最終的計(jì)算結(jié)果。
[0005]現(xiàn)有的圖數(shù)據(jù)處理的解決方案中,比較有代表性的解決方案有兩種。一個(gè)是Google 在 2009 年提出的 Pregel,Pregel 使用 BSP(Bulk Synchronous Parallel,整體同步并行計(jì)算模型)來完成計(jì)算。由于圖應(yīng)用的特點(diǎn),不能一次計(jì)算就得到最終結(jié)果,需要多次迭代計(jì)算。所以在每?jī)纱蔚g就有一次同步的過程,這個(gè)同步的過程是指等待所有任務(wù)都計(jì)算完畢,然后才能執(zhí)行同步。Pregel這種方式比較簡(jiǎn)單,容易理解,但是每?jī)纱蔚g的大同步過程比較耗時(shí),處理效率不高。另外一個(gè)典型代表是Microsoft的Ttrinity系統(tǒng),該系統(tǒng)是2012年公布出來,相對(duì)Pregel系統(tǒng),有如下優(yōu)勢(shì):首先,針對(duì)圖數(shù)據(jù)處理這一典型應(yīng)用,將圖數(shù)據(jù)從存儲(chǔ)在文件系統(tǒng)改成存儲(chǔ)在分布式內(nèi)存中,加快了圖數(shù)據(jù)的加載效率;其次,針對(duì)具體的圖應(yīng)用,把每?jī)纱蔚g的同步過程用異步代替,可以減少同步帶來的整體性能開銷。
[0006]但是,圖數(shù)據(jù)處理仍然面臨著如下幾個(gè)問題:
[0007]圖數(shù)據(jù)中除了有人與人之間的連接關(guān)系外,還有與時(shí)間序列相關(guān)的互動(dòng)關(guān)系。這種互動(dòng)關(guān)系與連接關(guān)系不同,連接關(guān)系用圖結(jié)構(gòu)中的一條邊即可表示,但是互動(dòng)關(guān)系與時(shí)間直接相關(guān),它表示兩個(gè)頂點(diǎn)之間依據(jù)時(shí)間關(guān)系有多種表示和互動(dòng)關(guān)系。但是目前,大規(guī)模圖數(shù)據(jù)處理系統(tǒng)都只處理了人與人之間的連接關(guān)系,并沒有處理人與人之間按照時(shí)間不同的互動(dòng)關(guān)系。
[0008]社交網(wǎng)絡(luò)的分布情況呈現(xiàn)名人效應(yīng),名人在社交網(wǎng)絡(luò)中比普通人更受關(guān)注。所以名人群體是圖結(jié)構(gòu)中稠密的部分,并且這個(gè)圈子的人基本上都互相認(rèn)識(shí)。所以在表示社交網(wǎng)絡(luò)的圖結(jié)構(gòu)中,稠密部分相對(duì)集中,剩下大部分的普通人就是該圖結(jié)構(gòu)中的稀疏部分。那么針對(duì)這種稠密和稀疏共存的圖結(jié)構(gòu),采用哪種圖數(shù)據(jù)存儲(chǔ)與組織方法能夠達(dá)到高效的特性呢?現(xiàn)有的圖數(shù)據(jù)處理系統(tǒng)中,沒有考慮到數(shù)據(jù)特性而采取統(tǒng)一的存儲(chǔ)策略,沒有定制化就無法達(dá)到高性能,所以,高效的圖數(shù)據(jù)組織也是該領(lǐng)域應(yīng)該考慮的一個(gè)重大問題。
[0009]圖數(shù)據(jù)處理中都以圖數(shù)據(jù)頂點(diǎn)作為處理單元,當(dāng)?shù)絹硪慌r(shí),針對(duì)圖數(shù)據(jù)的每個(gè)頂點(diǎn)遍歷所有消息,當(dāng)把圖數(shù)據(jù)頂點(diǎn)遍歷完畢后,才能把所有到來的消息刪掉,相當(dāng)于一個(gè)匹配過程。這個(gè)匹配過程不僅耗費(fèi)時(shí)間,要對(duì)每個(gè)頂點(diǎn)遍歷所有消息,而且要占用大量?jī)?nèi)存空間存儲(chǔ)這些中間消息直到所有頂點(diǎn)全部遍歷完。
【發(fā)明內(nèi)容】
[0010]本發(fā)明所要解決的技術(shù)問題是提供一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理方法及系統(tǒng),解決現(xiàn)有圖數(shù)據(jù)處理技術(shù)中無法表達(dá)時(shí)序互動(dòng)關(guān)系、圖數(shù)據(jù)的存儲(chǔ)沒有充分考慮到數(shù)據(jù)分布特性、以頂點(diǎn)為單位的圖數(shù)據(jù)處理編程模型在計(jì)算時(shí)間和存儲(chǔ)空間上存在著極大浪費(fèi)等問題。
[0011]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理方法,包括如下步驟:
[0012]步驟1:預(yù)處理社交網(wǎng)絡(luò)數(shù)據(jù),并抽象出以頂點(diǎn)代表人物,以若干條帶有時(shí)間戳的邊代表人物間互動(dòng)關(guān)系的圖結(jié)構(gòu);
[0013]步驟2:根據(jù)名人效應(yīng)將圖結(jié)構(gòu)按照預(yù)定的歐式距離切分成若干個(gè)圖結(jié)構(gòu)塊,并給圖結(jié)構(gòu)塊及其內(nèi)部的頂點(diǎn)編號(hào);
[0014]步驟3:將圖結(jié)構(gòu)塊分配給不同的節(jié)點(diǎn)進(jìn)行處理,每個(gè)節(jié)點(diǎn)按照內(nèi)存組織方式將其分得的圖結(jié)構(gòu)塊導(dǎo)入內(nèi)存的相應(yīng)位置中;
[0015]步驟4:用戶按照基于消息的編程模型編寫應(yīng)用作業(yè),并將應(yīng)用作業(yè)提交給應(yīng)用作業(yè)處理單元;
[0016]步驟5:應(yīng)用作業(yè)處理單元從內(nèi)存中獲取所需圖結(jié)構(gòu)塊的數(shù)據(jù),并按照基于消息的處理模式執(zhí)行應(yīng)用作業(yè),得到運(yùn)算結(jié)果。
[0017]本發(fā)明的有益效果是:本發(fā)明在兩個(gè)頂點(diǎn)之間建立多條邊,每條邊代表兩個(gè)頂點(diǎn)間的互動(dòng)關(guān)系,每條邊上帶有表示該條邊建立時(shí)間的時(shí)間戳,也就是互動(dòng)發(fā)生的時(shí)間,該表示方法能夠有效的表示有互動(dòng)時(shí)序關(guān)系的社交網(wǎng)絡(luò)關(guān)系;本發(fā)明針對(duì)圖數(shù)據(jù)的特殊分布(名人效應(yīng))設(shè)計(jì)了一種圖數(shù)據(jù)的內(nèi)存存儲(chǔ)方式,充分利用了圖數(shù)據(jù)的分布特性,能達(dá)到高效的存儲(chǔ)和查詢性能;本發(fā)明本著節(jié)省計(jì)算時(shí)間和內(nèi)存空間的原則,改進(jìn)了原始以頂點(diǎn)為計(jì)算單元的編程模型,而是采用以消息為計(jì)算單元的編程模型,這種方式在很大程度上節(jié)省了計(jì)算時(shí)間,也節(jié)約了存儲(chǔ)空間。
[0018]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0019]進(jìn)一步,所述步驟I對(duì)社交網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行預(yù)處理的具體步驟為:
[0020]步驟1.1:從社交網(wǎng)絡(luò)數(shù)據(jù)中抽取出具體人物,組成圖結(jié)構(gòu)的頂點(diǎn);
[0021]步驟1.2:從社交網(wǎng)絡(luò)數(shù)據(jù)中抽取出人物與人物間的互動(dòng),每次互動(dòng)組成圖結(jié)構(gòu)的一條邊;
[0022]步驟1.3:在圖結(jié)構(gòu)的每條邊上設(shè)置表示該條邊建立時(shí)間的時(shí)間戳。
[0023]進(jìn)一步,步驟2根據(jù)名人效應(yīng)將圖結(jié)構(gòu)按照歐式距離切分成若干個(gè)圖結(jié)構(gòu)塊,并給圖結(jié)構(gòu)塊及其內(nèi)部的頂點(diǎn)編號(hào)的具體實(shí)現(xiàn)為:
[0024]步驟2.1:統(tǒng)計(jì)圖結(jié)構(gòu)中與每個(gè)頂點(diǎn)相連的邊的條數(shù),計(jì)算圖結(jié)構(gòu)稠密度的平均值;
[0025]步驟2.2:根據(jù)圖結(jié)構(gòu)稠密度的平均值設(shè)定用于切分圖結(jié)構(gòu)的歐式距離,并根據(jù)歐式距離對(duì)圖結(jié)構(gòu)進(jìn)行切分,得到若干個(gè)圖結(jié)構(gòu)塊;
[0026]步驟2.3:對(duì)切分后的圖結(jié)構(gòu)塊進(jìn)行編號(hào)得到塊編號(hào),并且對(duì)圖結(jié)構(gòu)塊中的每個(gè)頂點(diǎn)進(jìn)行編號(hào),每個(gè)頂點(diǎn)的編號(hào)為塊編號(hào)加頂點(diǎn)編號(hào)。
[0027]進(jìn)一步,所述步驟3中每個(gè)節(jié)點(diǎn)按照內(nèi)存組織方式將其分得的圖結(jié)構(gòu)塊導(dǎo)入內(nèi)存的相應(yīng)位置中的具體步驟如下:
[0028]步驟3.1:在內(nèi)存中開辟一片內(nèi)存區(qū)間,并將內(nèi)存區(qū)間分成N個(gè)固定大小的內(nèi)存分區(qū),用于存儲(chǔ)N個(gè)圖結(jié)構(gòu)塊;
[0029]步驟3.2:在每個(gè)內(nèi)存分區(qū)中為每個(gè)頂點(diǎn)分配一個(gè)固定大小的內(nèi)存塊,用于存儲(chǔ)該頂點(diǎn)的頂點(diǎn)數(shù)據(jù)和關(guān)系數(shù)據(jù);
[0030]步驟3.3:判斷該頂點(diǎn)是否具有名人效應(yīng),如果具有,且所述內(nèi)存塊不能存儲(chǔ)該頂點(diǎn)的頂點(diǎn)數(shù)據(jù)和所有關(guān)系數(shù)據(jù),則將該頂點(diǎn)的頂點(diǎn)數(shù)據(jù)和部分關(guān)系數(shù)據(jù)存儲(chǔ)在內(nèi)存塊中,并再開辟一個(gè)或一個(gè)以上固定大小的附加內(nèi)存塊,將剩余的關(guān)系數(shù)據(jù)存儲(chǔ)在附加內(nèi)存塊中,并用指針指向所述附加內(nèi)存塊;否則直接將該頂點(diǎn)的頂點(diǎn)數(shù)據(jù)和所有關(guān)系數(shù)據(jù)存儲(chǔ)在相應(yīng)內(nèi)存塊中;
[0031]步驟3.4:在附件內(nèi)存塊中,建立以時(shí)間為主關(guān)鍵字,以圖結(jié)構(gòu)中的頂點(diǎn)為次關(guān)鍵字的索引。
[0032]進(jìn)一步,步驟5中應(yīng)用作業(yè)處理單元從內(nèi)存中獲取所需數(shù)據(jù),并按照基于消息的處理模式執(zhí)行應(yīng)用作業(yè),得到運(yùn)算結(jié)果的具體實(shí)現(xiàn)為:
[0033]步驟5.1:應(yīng)用作業(yè)執(zhí)行單元執(zhí)行應(yīng)用作業(yè),應(yīng)用作業(yè)包含若干個(gè)任務(wù),每個(gè)任務(wù)管理一個(gè)圖結(jié)構(gòu)塊;
[0034]步驟5.2:每個(gè)任務(wù)從其管理的圖結(jié)構(gòu)塊中按頂點(diǎn)編號(hào)獲取所需數(shù)據(jù),按照應(yīng)用作業(yè)的處理邏輯處理圖結(jié)構(gòu)塊中的數(shù)據(jù),處理完成后生成若干條消息,并將消息發(fā)送給其他任務(wù);
[0035]步驟5.3:接收消息的任務(wù)依次解析到來的每一條消息,提取出該消息應(yīng)要到達(dá)的目的頂點(diǎn);
[0036]步驟5.4:更新目的頂點(diǎn)的值,進(jìn)而刪除該條消息;
[0037]步驟5.5:判斷是否還有未處理的消息,如果有,返回步驟5.3,否則結(jié)束。
[0038]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理系統(tǒng),包括存儲(chǔ)層、計(jì)算層和用戶層;
[0039]所述存儲(chǔ)層,其用于建立能表示人物之間互動(dòng)關(guān)系的圖結(jié)構(gòu),并根據(jù)名人效應(yīng)實(shí)現(xiàn)圖結(jié)構(gòu)的個(gè)性化存儲(chǔ);
[0040]所述用戶層,其用于編寫基于消息處理的應(yīng)用作業(yè),并提交給計(jì)算層;
[0041]所述計(jì)算層,其用于從存儲(chǔ)層獲取所需圖結(jié)構(gòu)塊的數(shù)據(jù),并按照基于消息的處理模式執(zhí)行應(yīng)用作業(yè),得到運(yùn)算結(jié)果。
[0042]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。[0043]進(jìn)一步,所述存儲(chǔ)層包括數(shù)據(jù)預(yù)處理單元、圖結(jié)構(gòu)切割單元、數(shù)據(jù)導(dǎo)入單元和內(nèi)存單元;
[0044]所述數(shù)據(jù)預(yù)處理單元,其用于對(duì)社交網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行預(yù)處理,并抽象出以頂點(diǎn)代表人物,以若干條帶有時(shí)間戳的邊代表人物間互動(dòng)關(guān)系的圖結(jié)構(gòu);
[0045]所述圖結(jié)構(gòu)切割單元,其用于根據(jù)名人效應(yīng)將圖結(jié)構(gòu)按照預(yù)定的歐式距離切分成若干個(gè)圖結(jié)構(gòu)塊,并給圖結(jié)構(gòu)塊及其內(nèi)部的頂點(diǎn)編號(hào);
[0046]所述數(shù)據(jù)導(dǎo)入單元,其用于將圖結(jié)構(gòu)塊分配給不同的節(jié)點(diǎn)進(jìn)行處理,每個(gè)節(jié)點(diǎn)按照內(nèi)存組織方式將其分得的圖結(jié)構(gòu)塊導(dǎo)入內(nèi)存的相應(yīng)位置中;
[0047]所述內(nèi)存單元,包括若干個(gè)節(jié)點(diǎn)的內(nèi)存,分別用于存儲(chǔ)導(dǎo)入的圖結(jié)構(gòu)塊數(shù)據(jù)。
[0048]進(jìn)一步,所述用戶層包括應(yīng)用作業(yè)編寫單元和應(yīng)用作業(yè)提交單元,
[0049]所述應(yīng)用作業(yè)編寫單元,其用于編寫基于消息處理的應(yīng)用作業(yè),并將應(yīng)用作業(yè)發(fā)送給應(yīng)用作業(yè)提交單元;
[0050]所述應(yīng)用作業(yè)提交單元,其用于將應(yīng)用作業(yè)提交給計(jì)算層的應(yīng)用作業(yè)處理單元。
[0051]進(jìn)一步,所述計(jì)算層包括應(yīng)用作業(yè)處理單元,其用于按照消息處理模式執(zhí)行應(yīng)用作業(yè)。
[0052]進(jìn)一步,所述圖應(yīng)用作業(yè)中包含若干個(gè)任務(wù),每個(gè)任務(wù)負(fù)責(zé)處理一個(gè)圖結(jié)構(gòu)塊。
【專利附圖】
【附圖說明】
[0053]圖1為本發(fā)明所述一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理方法流程圖;
[0054]圖2為本發(fā)明所述步驟I的具體實(shí)現(xiàn)流程圖;
[0055]圖3為本發(fā)明所述步驟2的具體實(shí)現(xiàn)流程圖;
[0056]圖4為本發(fā)明所述步驟3的具體實(shí)現(xiàn)流程圖;
[0057]圖5為本發(fā)明所述步驟5的具體實(shí)現(xiàn)流程圖;
[0058]圖6為本發(fā)明所述一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理系統(tǒng)結(jié)構(gòu)框圖;
[0059]圖7為本發(fā)明所述實(shí)施例1中部分圖結(jié)構(gòu)示意圖;
[0060]圖8為本發(fā)明所述實(shí)施例2 —個(gè)節(jié)點(diǎn)的內(nèi)存中一個(gè)內(nèi)存分區(qū)的存儲(chǔ)結(jié)構(gòu)示意圖;
[0061]圖9為現(xiàn)有技術(shù)中以頂點(diǎn)為處理單元的處理過程示意圖;
[0062]圖10為本發(fā)明所述以消息為處理單元的處理過程示意圖。
[0063]附圖中,各標(biāo)號(hào)所代表的部件列表如下:
[0064]1、存儲(chǔ)層,2、用戶層,3、計(jì)算層,1-1、數(shù)據(jù)預(yù)處理單元,1-2、圖結(jié)構(gòu)切割單元,1_3、數(shù)據(jù)導(dǎo)入單元,1-4、內(nèi)存單元,2-1、應(yīng)用作業(yè)編寫單元,2-2、應(yīng)用作業(yè)提交單元,3-1、應(yīng)用作業(yè)處理單元;101、內(nèi)存塊,102、附加內(nèi)存塊,201、頂點(diǎn),202、消息。
【具體實(shí)施方式】
[0065]以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0066]如圖1所示,一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理方法,包括如下步驟:
[0067]步驟1:預(yù)處理社交網(wǎng)絡(luò)數(shù)據(jù),并抽象出以頂點(diǎn)代表人物,以若干條帶有時(shí)間戳的邊代表人物間互動(dòng)關(guān)系的圖結(jié)構(gòu);[0068]步驟2:根據(jù)名人效應(yīng)將圖結(jié)構(gòu)按照預(yù)定的歐式距離切分成若干個(gè)圖結(jié)構(gòu)塊,并給圖結(jié)構(gòu)塊及其內(nèi)部的頂點(diǎn)編號(hào);
[0069]步驟3:將圖結(jié)構(gòu)塊分配給不同的節(jié)點(diǎn)進(jìn)行處理,每個(gè)節(jié)點(diǎn)按照內(nèi)存組織方式將其分得的圖結(jié)構(gòu)塊導(dǎo)入內(nèi)存的相應(yīng)位置中;
[0070]步驟4:用戶按照基于消息的編程模型編寫應(yīng)用作業(yè),并將應(yīng)用作業(yè)提交給應(yīng)用作業(yè)處理單元;
[0071]步驟5:應(yīng)用作業(yè)處理單元從內(nèi)存中獲取所需圖結(jié)構(gòu)塊的數(shù)據(jù),并按照基于消息的處理模式執(zhí)行應(yīng)用作業(yè),得到運(yùn)算結(jié)果。
[0072]如圖2所示,所述步驟I對(duì)社交網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行預(yù)處理的具體步驟為:
[0073]步驟1.1:從社交網(wǎng)絡(luò)數(shù)據(jù)中抽取出具體人物,組成圖結(jié)構(gòu)的頂點(diǎn);
[0074]步驟1.2:從社交網(wǎng)絡(luò)數(shù)據(jù)中抽取出人物與人物間的互動(dòng),每次互動(dòng)組成圖結(jié)構(gòu)的一條邊;
[0075]步驟1.3:在圖結(jié)構(gòu)的每條邊上設(shè)置表示該條邊建立時(shí)間的時(shí)間戳。
[0076]如圖3所示,步驟2根據(jù)名人效應(yīng)將圖結(jié)構(gòu)按照歐式距離切分成若干個(gè)圖結(jié)構(gòu)塊,并給圖結(jié)構(gòu)塊及其內(nèi)部的頂點(diǎn)編號(hào)的具體實(shí)現(xiàn)為:
[0077]步驟2.1:統(tǒng)計(jì)圖結(jié)構(gòu)中與每個(gè)頂點(diǎn)相連的邊的條數(shù),計(jì)算圖結(jié)構(gòu)稠密度的平均值;
[0078]步驟2.2:根據(jù)圖結(jié)構(gòu)稠密度的平均值設(shè)定用于切分圖結(jié)構(gòu)的歐式距離,并根據(jù)歐式距離對(duì)圖結(jié)構(gòu)進(jìn)行切分,得到若干個(gè)圖結(jié)構(gòu)塊;
[0079]步驟2.3:對(duì)切分后的圖結(jié)構(gòu)塊進(jìn)行編號(hào)得到塊編號(hào),并且對(duì)圖結(jié)構(gòu)塊中的每個(gè)頂點(diǎn)進(jìn)行編號(hào),每個(gè)頂點(diǎn)的編號(hào)為塊編號(hào)加頂點(diǎn)編號(hào)。
[0080]如圖4所示,所述步驟3中每個(gè)節(jié)點(diǎn)按照內(nèi)存組織方式將其分得的圖結(jié)構(gòu)塊導(dǎo)入內(nèi)存的相應(yīng)位置中的具體步驟如下:
[0081]步驟3.1:在內(nèi)存中開辟一片內(nèi)存區(qū)間,并將內(nèi)存區(qū)間分成N個(gè)固定大小的內(nèi)存分區(qū),用于存儲(chǔ)N個(gè)圖結(jié)構(gòu)塊;
[0082]步驟3.2:在每個(gè)內(nèi)存分區(qū)中為每個(gè)頂點(diǎn)分配一個(gè)固定大小的內(nèi)存塊,用于存儲(chǔ)該頂點(diǎn)的頂點(diǎn)數(shù)據(jù)和關(guān)系數(shù)據(jù);
[0083]步驟3.3:判斷該頂點(diǎn)是否具有名人效應(yīng),如果具有,且所述內(nèi)存塊不能存儲(chǔ)該頂點(diǎn)的頂點(diǎn)數(shù)據(jù)和所有關(guān)系數(shù)據(jù),則將該頂點(diǎn)的頂點(diǎn)數(shù)據(jù)和部分關(guān)系數(shù)據(jù)存儲(chǔ)在內(nèi)存塊中,并再開辟一個(gè)或一個(gè)以上固定大小的附加內(nèi)存塊,將剩余的關(guān)系數(shù)據(jù)存儲(chǔ)在附加內(nèi)存塊中,并用指針指向所述附加內(nèi)存塊;否則直接將該頂點(diǎn)的頂點(diǎn)數(shù)據(jù)和所有關(guān)系數(shù)據(jù)存儲(chǔ)在相應(yīng)內(nèi)存塊中;
[0084]步驟3.4:在附件內(nèi)存塊中,建立以時(shí)間為主關(guān)鍵字,以圖結(jié)構(gòu)中的頂點(diǎn)為次關(guān)鍵字的索引。
[0085]如圖5所示,步驟5中應(yīng)用作業(yè)處理單元從內(nèi)存中獲取所需數(shù)據(jù),并按照基于消息的處理模式執(zhí)行應(yīng)用作業(yè),得到運(yùn)算結(jié)果的具體實(shí)現(xiàn)為:
[0086]步驟5.1:應(yīng)用作業(yè)執(zhí)行單元執(zhí)行應(yīng)用作業(yè),應(yīng)用作業(yè)包含若干個(gè)任務(wù),每個(gè)任務(wù)管理一個(gè)圖結(jié)構(gòu)塊;
[0087]步驟5.2:每個(gè)任務(wù)從其管理的圖結(jié)構(gòu)塊中按頂點(diǎn)編號(hào)獲取所需數(shù)據(jù),按照應(yīng)用作業(yè)的處理邏輯處理圖結(jié)構(gòu)塊中的數(shù)據(jù),處理完成后生成若干條消息,并將消息發(fā)送給其他任務(wù);
[0088]步驟5.3:接收消息的任務(wù)依次解析到來的每一條消息,提取出該消息應(yīng)要到達(dá)的目的頂點(diǎn);
[0089]步驟5.4:更新目的頂點(diǎn)的值,進(jìn)而刪除該條消息;
[0090]步驟5.5:判斷是否還有未處理的消息,如果有,返回步驟5.3,否則結(jié)束。
[0091]如圖6所示:一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理系統(tǒng),包括存儲(chǔ)層1、用戶層2和計(jì)算層3 ;
[0092]所述存儲(chǔ)層I,其用于建立能表示人物之間互動(dòng)關(guān)系的圖結(jié)構(gòu),并根據(jù)名人效應(yīng)實(shí)現(xiàn)圖結(jié)構(gòu)的個(gè)性化存儲(chǔ);
[0093]所述用戶層2,其用于編寫基于消息處理的應(yīng)用作業(yè),并提交給計(jì)算層3 ;
[0094]所述計(jì)算層3,其用于從存儲(chǔ)層I獲取所需圖結(jié)構(gòu)塊的數(shù)據(jù),并按照基于消息的處理模式執(zhí)行應(yīng)用作業(yè),得到運(yùn)算結(jié)果。
[0095]其中,所述存儲(chǔ)層I包括數(shù)據(jù)預(yù)處理單元1-1、圖結(jié)構(gòu)切割單元1-2、數(shù)據(jù)導(dǎo)入單元1-3和內(nèi)存單兀1-4 ;
[0096]所述數(shù)據(jù)預(yù)處理單元1-1,其用于對(duì)社交網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行預(yù)處理,并抽象出以頂點(diǎn)代表人物,以若干條帶有時(shí)間戳的邊代表人物間互動(dòng)關(guān)系的圖結(jié)構(gòu);
[0097]所述圖結(jié)構(gòu)切割單元1-2,其用于根據(jù)名人效應(yīng)將圖結(jié)構(gòu)按照預(yù)定的歐式距離切分成若干個(gè)圖結(jié)構(gòu)塊,并給圖結(jié)構(gòu)塊及其內(nèi)部的頂點(diǎn)編號(hào);
[0098]所述數(shù)據(jù)導(dǎo)入單元1-3,其用于將圖結(jié)構(gòu)塊分配給不同的節(jié)點(diǎn)進(jìn)行處理,每個(gè)節(jié)點(diǎn)按照內(nèi)存組織方式將其分得的圖結(jié)構(gòu)塊導(dǎo)入內(nèi)存的相應(yīng)位置中;
[0099]所述內(nèi)存單元1-4,包括若干個(gè)節(jié)點(diǎn)的內(nèi)存,分別用于存儲(chǔ)導(dǎo)入的圖結(jié)構(gòu)塊數(shù)據(jù)。
[0100]其中,所述用戶層2包括應(yīng)用作業(yè)編寫單元2-1和應(yīng)用作業(yè)提交單元2-2,
[0101]所述應(yīng)用作業(yè)編寫單元2-1,其用于編寫基于消息處理的應(yīng)用作業(yè),并將應(yīng)用作業(yè)發(fā)送給應(yīng)用作業(yè)提交單元2-2 ;
[0102]所述應(yīng)用作業(yè)提交單元2-2,其用于將應(yīng)用作業(yè)提交給計(jì)算層的應(yīng)用作業(yè)處理單兀 3-1 ο
[0103]其中,所述計(jì)算層3包括應(yīng)用作業(yè)處理單元3-1,其用于按照消息處理模式執(zhí)行應(yīng)用作業(yè)。
[0104]其中,所述圖應(yīng)用作業(yè)中包含若干個(gè)任務(wù),每個(gè)任務(wù)負(fù)責(zé)處理一個(gè)或一個(gè)以上編號(hào)相鄰的圖結(jié)構(gòu)。
[0105]圖數(shù)據(jù)中除了有人與人之間的連接關(guān)系外,還有人與人之間與時(shí)間序列相關(guān)的互動(dòng)關(guān)系。這種互動(dòng)關(guān)系與連接關(guān)系不同,連接關(guān)系用圖結(jié)構(gòu)中的一條邊即可表示,但是互動(dòng)關(guān)系與時(shí)間直接相關(guān),它表不兩個(gè)頂點(diǎn)之間依據(jù)時(shí)間關(guān)系有多種表不和互動(dòng)關(guān)系。但是目前,大規(guī)模圖數(shù)據(jù)處理系統(tǒng)都只處理了人與人之間的連接關(guān)系,并沒有處理人與人之間按照時(shí)間不同的互動(dòng)關(guān)系。
[0106]本發(fā)明設(shè)計(jì)了一種以頂點(diǎn)代表人物,以帶有時(shí)間戳的邊代表人物間的互動(dòng)關(guān)系的圖結(jié)構(gòu),該表示方法在兩個(gè)頂點(diǎn)之間建立多條邊,圖7為本發(fā)明實(shí)施例1中,能表示人物間互動(dòng)關(guān)系的部分圖結(jié)構(gòu)示意圖,每條邊上的值為該條邊的建立時(shí)間,也就是互動(dòng)發(fā)生的時(shí)間,該表不方法能夠有效的表不有互動(dòng)時(shí)序關(guān)系的社交網(wǎng)絡(luò)關(guān)系。數(shù)據(jù)的多版本除了可以表示社交網(wǎng)絡(luò)的圖結(jié)構(gòu),還能表示圖結(jié)構(gòu)中這些頂點(diǎn)之間以時(shí)間為單位的互動(dòng)關(guān)系,簡(jiǎn)稱為時(shí)序關(guān)系。抽象成圖結(jié)構(gòu)之后,與原始的圖結(jié)構(gòu)有本質(zhì)的區(qū)別。原始的圖結(jié)構(gòu)中每?jī)蓚€(gè)頂點(diǎn)之間只有一條邊(無向圖的情況)或兩條邊(有向圖的情況)相連,改進(jìn)后的圖結(jié)構(gòu)中每?jī)蓚€(gè)頂點(diǎn)之間有多條邊相連,每條邊表示這兩個(gè)頂點(diǎn)之間帶時(shí)間戳的互動(dòng)關(guān)系,如評(píng)論照片,評(píng)論說說,轉(zhuǎn)載,“贊”等。
[0107]現(xiàn)有的數(shù)據(jù)存儲(chǔ)方式是以稠密度較大的區(qū)域?yàn)榛鶞?zhǔn)設(shè)定劃分內(nèi)存塊的依據(jù),這就造成了內(nèi)存塊能存儲(chǔ)下稠密度大的圖結(jié)構(gòu)的數(shù)據(jù),但對(duì)于較稀疏的圖結(jié)構(gòu)來說,雖然也能存儲(chǔ),但造成了大量存儲(chǔ)空間的浪費(fèi);另一方面,對(duì)于數(shù)據(jù)的查詢,現(xiàn)有技術(shù)是將該塊圖結(jié)構(gòu)的所有數(shù)據(jù)(頂點(diǎn)數(shù)據(jù)和關(guān)系數(shù)據(jù),其中關(guān)系數(shù)據(jù)包括代表互動(dòng)關(guān)系的邊的方向和其時(shí)間戳)都存儲(chǔ)在分得的內(nèi)存塊中,數(shù)據(jù)查詢時(shí)要遍歷內(nèi)存分區(qū)中所有數(shù)據(jù),使數(shù)據(jù)查詢效率降低。
[0108]在社交網(wǎng)絡(luò)中,每個(gè)人的活躍程度和受歡迎程度不盡相同??上攵?,名人的微博相比起普通大眾來說更受關(guān)注。所以,代表名人的頂點(diǎn)有更多邊與其相連,同樣的道理,也會(huì)有更多的互動(dòng)關(guān)系。如此,可以理解為在社交網(wǎng)絡(luò)中,名人圈是一個(gè)稠密的圖結(jié)構(gòu),而普通人又是一個(gè)稀疏的圖結(jié)構(gòu)。但是,名人相對(duì)于普通人來說,畢竟是一個(gè)很小的群體。本發(fā)明針對(duì)圖數(shù)據(jù)的特殊分布(名人效應(yīng))設(shè)計(jì)了一種圖數(shù)據(jù)的內(nèi)存存儲(chǔ)方式,充分利用了圖數(shù)據(jù)的分布特性,能達(dá)到高效的存儲(chǔ)和查詢性能。如圖8所示,為本發(fā)明實(shí)施例2中一個(gè)節(jié)點(diǎn)的內(nèi)存中一個(gè)內(nèi)存分區(qū)存儲(chǔ)圖結(jié)構(gòu)塊的示意圖,本發(fā)明根據(jù)圖結(jié)構(gòu)塊的切割情況,在內(nèi)存中開辟一片內(nèi)存空間,并分成N塊固定大小的內(nèi)存分區(qū),將圖結(jié)構(gòu)塊存儲(chǔ)到相應(yīng)的內(nèi)存分區(qū)中。具體存儲(chǔ)方法為:在內(nèi)存分區(qū)中為每個(gè)頂點(diǎn)分配一個(gè)固定大小的內(nèi)存塊101,其中每個(gè)頂點(diǎn)的數(shù)據(jù)包括頂點(diǎn)數(shù)據(jù)和關(guān)系數(shù)據(jù),關(guān)系數(shù)據(jù)包括邊數(shù)據(jù)和時(shí)間戳數(shù)據(jù),將每個(gè)頂點(diǎn)的數(shù)據(jù)存入一個(gè)內(nèi)存塊中,當(dāng)某個(gè)頂點(diǎn)稠密度較大時(shí)(即其包含的關(guān)系數(shù)據(jù)較多),即該頂點(diǎn)的頂點(diǎn)數(shù)據(jù)和少量關(guān)系數(shù)據(jù)存儲(chǔ)在分得的內(nèi)存塊中,再另外開辟若干個(gè)附加內(nèi)存塊102,并用指針指向所述附加內(nèi)存塊102,并將剩余的關(guān)系數(shù)據(jù)存儲(chǔ)在附加內(nèi)存塊102中。本發(fā)明還在附件內(nèi)存塊102中建立以時(shí)間為第一關(guān)鍵字,以頂點(diǎn)為第二關(guān)鍵字的索引,便于數(shù)據(jù)的查找。
[0109]如圖9所示,為現(xiàn)有技術(shù)中以頂點(diǎn)為處理單元的處理過程示意圖,傳統(tǒng)的圖計(jì)算模型都是以頂點(diǎn)為處理單元,在每一輪迭代過程中,接收到了鄰居任務(wù)發(fā)過來的消息202,具體的處理過程就是針對(duì)每一個(gè)頂點(diǎn)201,遍歷所有消息202,找到與該頂點(diǎn)201匹配的消息202,然后將該消息202提取出來。在所有頂點(diǎn)201都遍歷完畢后,這些消息202才能刪除。所以,占用了大量的計(jì)算資源和存儲(chǔ)資源。
[0110]圖10為本發(fā)明所述以消息為處理單元的處理過程示意圖,在本發(fā)明中,這種以消息為處理單元的編程模型是指每來一條消息202,直接解析該條消息202,然后找出與該消息202對(duì)應(yīng)的頂點(diǎn)201進(jìn)行計(jì)算,同時(shí)可以刪除該消息202。這種方式下,計(jì)算只與消息202數(shù)目相關(guān),同時(shí)不必要保存所有的消息條數(shù),從很大程度上可以節(jié)省計(jì)算時(shí)間和存儲(chǔ)空間。
[0111]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理方法,其特征在于,包括如下步驟: 步驟1:預(yù)處理社交網(wǎng)絡(luò)數(shù)據(jù),并抽象出以頂點(diǎn)代表人物,以若干條帶有時(shí)間戳的邊代表人物間互動(dòng)關(guān)系的圖結(jié)構(gòu); 步驟2:根據(jù)名人效應(yīng)將圖結(jié)構(gòu)按照預(yù)定的歐式距離切分成若干個(gè)圖結(jié)構(gòu)塊,并給圖結(jié)構(gòu)塊及其內(nèi)部的頂點(diǎn)編號(hào); 步驟3:將圖結(jié)構(gòu)塊分配給不同的節(jié)點(diǎn)進(jìn)行處理,每個(gè)節(jié)點(diǎn)按照內(nèi)存組織方式將其分得的圖結(jié)構(gòu)塊導(dǎo)入內(nèi)存的相應(yīng)位置中; 步驟4:用戶按照基于消息的編程模型編寫應(yīng)用作業(yè),并將應(yīng)用作業(yè)提交給應(yīng)用作業(yè)處理單元; 步驟5:應(yīng)用作業(yè)處理單元從內(nèi)存中獲取所需圖結(jié)構(gòu)塊的數(shù)據(jù),并按照基于消息的處理模式執(zhí)行應(yīng)用作業(yè),得到運(yùn)算結(jié)果。
2.根據(jù)權(quán)利要求1所述一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理方法,其特征在于,所述步驟I對(duì)社交網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行預(yù)處理的具體步驟為: 步驟1.1:從社交網(wǎng)絡(luò)數(shù)據(jù)中抽取出具體人物,組成圖結(jié)構(gòu)的頂點(diǎn); 步驟1.2:從社交網(wǎng)絡(luò)數(shù)據(jù)中抽取出人物與人物間的互動(dòng),每次互動(dòng)組成圖結(jié)構(gòu)的一條邊; 步驟1.3:在圖結(jié)構(gòu)的每條邊上設(shè)置表示該條邊建立時(shí)間的時(shí)間戳。
3.根據(jù)權(quán)利要求1所述一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理方法,其特征在于,步驟2根據(jù)名人效應(yīng)將圖結(jié)構(gòu)按照歐式距離切分成若干個(gè)圖結(jié)構(gòu)塊,并給圖結(jié)構(gòu)塊及其內(nèi)部的頂點(diǎn)編號(hào)的具體實(shí)現(xiàn)為: 步驟2.1:統(tǒng)計(jì)圖結(jié)構(gòu)中與每個(gè)頂點(diǎn)相連的邊的條數(shù),計(jì)算圖結(jié)構(gòu)稠密度的平均值;步驟2.2:根據(jù)圖結(jié)構(gòu)稠密度的平均值設(shè)定用于切分圖結(jié)構(gòu)的歐式距離,并根據(jù)歐式距離對(duì)圖結(jié)構(gòu)進(jìn)行切分,得到若干個(gè)圖結(jié)構(gòu)塊; 步驟2.3:對(duì)切分后的圖結(jié)構(gòu)塊進(jìn)行編號(hào)得到塊編號(hào),并且對(duì)圖結(jié)構(gòu)塊中的每個(gè)頂點(diǎn)進(jìn)行編號(hào),每個(gè)頂點(diǎn)的編號(hào)為塊編號(hào)加頂點(diǎn)編號(hào)。
4.根據(jù)權(quán)利要求1所述一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理方法,其特征在于,所述步驟3中每個(gè)節(jié)點(diǎn)按照內(nèi)存組織方式將其分得的圖結(jié)構(gòu)塊導(dǎo)入內(nèi)存的相應(yīng)位置中的具體步驟如下: 步驟3.1:在內(nèi)存中開辟一片內(nèi)存區(qū)間,并將內(nèi)存區(qū)間分成N個(gè)固定大小的內(nèi)存分區(qū),用于存儲(chǔ)N個(gè)圖結(jié)構(gòu)塊; 步驟3.2: 在每個(gè)內(nèi)存分區(qū)中為每個(gè)頂點(diǎn)分配一個(gè)固定大小的內(nèi)存塊,用于存儲(chǔ)該頂點(diǎn)的頂點(diǎn)數(shù)據(jù)和關(guān)系數(shù)據(jù); 步驟3.3:判斷該頂點(diǎn)是否具有名人效應(yīng),如果具有,且所述內(nèi)存塊不能存儲(chǔ)該頂點(diǎn)的頂點(diǎn)數(shù)據(jù)和所有關(guān)系數(shù)據(jù),則將該頂點(diǎn)的頂點(diǎn)數(shù)據(jù)和部分關(guān)系數(shù)據(jù)存儲(chǔ)在內(nèi)存塊中,并再開辟一個(gè)或一個(gè)以上固定大小的附加內(nèi)存塊,將剩余的關(guān)系數(shù)據(jù)存儲(chǔ)在附加內(nèi)存塊中,并用指針指向所述附加內(nèi)存塊;否則直接將該頂點(diǎn)的頂點(diǎn)數(shù)據(jù)和所有關(guān)系數(shù)據(jù)存儲(chǔ)在相應(yīng)內(nèi)存塊中; 步驟3.4:在附件內(nèi)存塊中,建立以時(shí)間為主關(guān)鍵字,以圖結(jié)構(gòu)中的頂點(diǎn)為次關(guān)鍵字的索引。
5.根據(jù)權(quán)利要求1所述一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理方法,其特征在于,步驟5中應(yīng)用作業(yè)處理單元從內(nèi)存中獲取所需數(shù)據(jù),并按照基于消息的處理模式執(zhí)行應(yīng)用作業(yè),得到運(yùn)算結(jié)果的具體實(shí)現(xiàn)為: 步驟5.1:應(yīng)用作業(yè)執(zhí)行單元執(zhí)行應(yīng)用作業(yè),應(yīng)用作業(yè)包含若干個(gè)任務(wù),每個(gè)任務(wù)管理一個(gè)圖結(jié)構(gòu)塊; 步驟5.2:每個(gè)任務(wù)從其管理的圖結(jié)構(gòu)塊中按頂點(diǎn)編號(hào)獲取所需數(shù)據(jù),按照應(yīng)用作業(yè)的處理邏輯處理圖結(jié)構(gòu)塊中的數(shù)據(jù),處理完成后生成若干條消息,并將消息發(fā)送給其他任務(wù); 步驟5.3:接收消息的任務(wù)依次解析到來的每一條消息,提取出該消息應(yīng)要到達(dá)的目的頂點(diǎn); 步驟5.4:更新目的頂點(diǎn)的值,進(jìn)而刪除該條消息; 步驟5.5:判斷是否還有未處理的消息,如果有,返回步驟5.3,否則結(jié)束。
6.一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理系統(tǒng),其特征在于,包括存儲(chǔ)層、計(jì)算層和用戶層; 所述存儲(chǔ)層,其用于建立能表示人物之間互動(dòng)關(guān)系的圖結(jié)構(gòu),并根據(jù)名人效應(yīng)實(shí)現(xiàn)圖結(jié)構(gòu)的個(gè)性化存儲(chǔ); 所述用戶層,其用于編寫基于消息處理的應(yīng)用作業(yè),并提交給計(jì)算層; 所述計(jì)算層,其用于從存儲(chǔ)層獲取所需圖結(jié)構(gòu)塊的數(shù)據(jù),并按照基于消息的處理模式執(zhí)行應(yīng)用作業(yè),得到運(yùn)算結(jié)果。
7.根據(jù)權(quán)利要求6所述一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理系統(tǒng),其特征在于,所述存儲(chǔ)層包括數(shù)據(jù)預(yù)處理單元、圖結(jié)構(gòu)切割單元、數(shù)據(jù)導(dǎo)入單元和內(nèi)存單元; 所述數(shù)據(jù)預(yù)處理單元,其用于對(duì)社交網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行預(yù)處理,并抽象出以頂點(diǎn)代表人物,以若干條帶有時(shí)間戳的邊代表人物間互動(dòng)關(guān)系的圖結(jié)構(gòu); 所述圖結(jié)構(gòu)切割單元,其用于根據(jù)名人效應(yīng)將圖結(jié)構(gòu)按照預(yù)定的歐式距離切分成若干個(gè)圖結(jié)構(gòu)塊,并給圖結(jié)構(gòu)塊及其內(nèi)部的頂點(diǎn)編號(hào); 所述數(shù)據(jù)導(dǎo)入單元,其用于將圖結(jié)構(gòu)塊分配給不同的節(jié)點(diǎn)進(jìn)行處理,每個(gè)節(jié)點(diǎn)按照內(nèi)存組織方式將其分得的圖結(jié)構(gòu)塊導(dǎo)入內(nèi)存的相應(yīng)位置中; 所述內(nèi)存單元,包括若干個(gè)節(jié)點(diǎn)的內(nèi)存,分別用于存儲(chǔ)導(dǎo)入的圖結(jié)構(gòu)塊數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理系統(tǒng),其特征在于,所述用戶層包括應(yīng)用作業(yè)編寫單元和應(yīng)用作業(yè)提交單元, 所述應(yīng)用作業(yè)編寫單元,其用于編寫基于消息處理的應(yīng)用作業(yè),并將應(yīng)用作業(yè)發(fā)送給應(yīng)用作業(yè)提交單元; 所述應(yīng)用作業(yè)提交單元,其用于將應(yīng)用作業(yè)提交給計(jì)算層的應(yīng)用作業(yè)處理單元。
9.根據(jù)權(quán)利要求6所述一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理系統(tǒng),其特征在于,所述計(jì)算層包括應(yīng)用作業(yè)處理單元,其用于按照消息處理模式執(zhí)行應(yīng)用作業(yè)。
10.根據(jù)權(quán)利要求6所述一種面向海量時(shí)序數(shù)據(jù)的圖數(shù)據(jù)處理系統(tǒng),其特征在于,所述圖應(yīng)用作業(yè)中包含若干個(gè)任務(wù),每個(gè)任務(wù)負(fù)責(zé)處理一個(gè)圖結(jié)構(gòu)塊。
【文檔編號(hào)】G06F17/30GK103593433SQ201310559846
【公開日】2014年2月19日 申請(qǐng)日期:2013年11月12日 優(yōu)先權(quán)日:2013年11月12日
【發(fā)明者】周薇, 高赟, 冉攀峰, 韓冀中 申請(qǐng)人:中國(guó)科學(xué)院信息工程研究所