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

一種基于MapReduce的大型網(wǎng)絡(luò)圖中尋找公共聯(lián)系人及其路徑的計(jì)算方法與流程

文檔序號(hào):12272888閱讀:216來源:國知局
一種基于Map Reduce的大型網(wǎng)絡(luò)圖中尋找公共聯(lián)系人及其路徑的計(jì)算方法與流程
本發(fā)明涉及社交網(wǎng)絡(luò)領(lǐng)域,具體涉及一種基于MapReduce的大型網(wǎng)絡(luò)圖中尋找公共聯(lián)系人及其路徑的計(jì)算方法。
背景技術(shù)
:MapReduce是一種分布式大批量數(shù)據(jù)計(jì)算框架,它極大地方便了編程人員在不會(huì)分布式并行編程的情況下,將自己的程序運(yùn)行在分布式系統(tǒng)上。MapReduce的數(shù)據(jù)基于Key-Value形式進(jìn)行處理,在Mapper階段逐行讀取文件中一行一行的數(shù)據(jù)做邏輯處理,Reducer階段按照Mapper輸出的key值對(duì)多行數(shù)據(jù)做歸約,其優(yōu)勢在于集合多臺(tái)普通機(jī)器的運(yùn)算能力并行完成一件事。如何基于Map和Reduce這樣簡單的兩階段模型,尋找網(wǎng)絡(luò)圖中的多層關(guān)系連接,這是一個(gè)很有意思的問題。發(fā)明人發(fā)現(xiàn),目前還未有通過Map和Reduce模型的結(jié)合運(yùn)用,實(shí)現(xiàn)在大型網(wǎng)絡(luò)圖中尋找公共聯(lián)系人的有效計(jì)算方法。因此,本發(fā)明提供一種基于MapReduce的大型網(wǎng)絡(luò)圖中尋找公共聯(lián)系人及其路徑的計(jì)算方法,實(shí)現(xiàn)在大型網(wǎng)絡(luò)圖中尋找目標(biāo)群體在跳數(shù)K內(nèi)的所有公共聯(lián)系人及其最短聯(lián)系路徑,以解決現(xiàn)有技術(shù)存在的不足。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的就在于:針對(duì)目前存在的上述問題,提供一種基于MapReduce的大型網(wǎng)絡(luò)圖中尋找公共聯(lián)系人及其路徑的計(jì)算方法,實(shí)現(xiàn)在大型網(wǎng)絡(luò)圖中尋找目標(biāo)群體在跳數(shù)K內(nèi)的所有公共聯(lián)系人及其最短聯(lián)系路徑,以解決現(xiàn)有技術(shù)存在的不足。為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:一種基于MapReduce的大型網(wǎng)絡(luò)圖中尋找公共聯(lián)系人及其路徑的計(jì)算方法,所述計(jì)算方法通過MapReduce運(yùn)行機(jī)制,結(jié)合跳級(jí)原則(Mapper)和合并原則(Reducer),建立在大型網(wǎng)絡(luò)圖或社交網(wǎng)絡(luò)中尋找目標(biāo)群體在若干跳數(shù)內(nèi)的所有公共聯(lián)系人及其最短聯(lián)系路徑的分布式計(jì)算框架,計(jì)算所述目標(biāo)群體到所述公共聯(lián)系人之間的最短路徑,記錄并存儲(chǔ)于數(shù)據(jù)庫中。所述計(jì)算方法包括如下計(jì)算步驟:(1)初始狀態(tài):新建一個(gè)以“.txt”為后綴的任意命名文本文件,其內(nèi)容包含三行數(shù)據(jù),其中第一列數(shù)據(jù)為目標(biāo)群體節(jié)點(diǎn)群體,后面各列數(shù)據(jù)為目標(biāo)群體節(jié)點(diǎn)之間的最短距離,所述目標(biāo)群體之間的直接相互關(guān)系被記錄于所述文本文件中;(2)第一跳Mapper:從HBase中獲取各目標(biāo)群體節(jié)點(diǎn)的直接聯(lián)系人,并計(jì)算這些所述直接聯(lián)系人到所述目標(biāo)群體節(jié)點(diǎn)之間的距離;若某節(jié)點(diǎn)是滿足第K跳的公共聯(lián)系人之一,則該節(jié)點(diǎn)的直接聯(lián)系人均是滿足第K+1跳的公共聯(lián)系人;(3)第一跳Reducer:采用“合并原則”,若推導(dǎo)過程中對(duì)某個(gè)節(jié)點(diǎn)有多個(gè)不一樣的距離記錄,應(yīng)該將其合并,取最小值;具體規(guī)律為:非負(fù)距離之間的比較,取距離最小的路徑;如果非負(fù)距離的最小值有多個(gè),則計(jì)算路徑時(shí)保存所有最小距離上的不同路徑;距離未知和距離已知之間的比較,取距離已知的路徑;如果距離都是-1,那么路徑也是-1;(4)第二跳MapReduce:將第一次MapReduce輸出的距離矩陣文件作為第二次MapReduce的輸入,然后重復(fù)所述Mapper(跳級(jí)原則)和所述Reduce(合并原則)過程,獲取兩跳內(nèi)的公共聯(lián)系人及其聯(lián)系路徑;(5)第K跳MapReduce:將第K-1次MapReduce輸出的所述距離矩陣文件作為第K次MapReduce的輸入,然后重復(fù)Mapper(跳級(jí)原則)和Reducer(合并原則)過程,獲取K跳內(nèi)的公共聯(lián)系人及其聯(lián)系路徑;(6)結(jié)果輸出:根據(jù)“終止原則”,經(jīng)過多次跳級(jí)動(dòng)作之后,最終能成為目標(biāo)節(jié)點(diǎn)群體在K跳內(nèi)公共聯(lián)系人的節(jié)點(diǎn),一定滿足一個(gè)條件,即到目標(biāo)節(jié)點(diǎn)群體的距離均在0-K之內(nèi),只有距離不大于K的節(jié)點(diǎn)滿足條件,具體規(guī)則為:若尋找在K跳內(nèi)的公共聯(lián)系人,經(jīng)過K次MapReduce計(jì)算之后,距離矩陣中滿足條件的節(jié)點(diǎn)為Ni(D1,D2,D3,…,Dm),其中0<Dj(0<j<=m)<=K;所有滿足此規(guī)則的節(jié)點(diǎn)即為K跳內(nèi)的公共聯(lián)系人,距離向量中每個(gè)元素的路徑即為公共聯(lián)系人到目標(biāo)節(jié)點(diǎn)的最短聯(lián)系路徑。本發(fā)明實(shí)現(xiàn)的具體功能如下:1)大型網(wǎng)絡(luò)圖可以達(dá)到億級(jí)節(jié)點(diǎn)以上,并且平均每個(gè)節(jié)點(diǎn)對(duì)外的邊可以在百級(jí)別以上;2)目標(biāo)群體可以任意指定若干節(jié)點(diǎn),而不是簡單地尋找A、B兩點(diǎn);3)尋找出目標(biāo)群體在跳數(shù)K內(nèi)的所有公共聯(lián)系人,而不是簡單地探測在K跳內(nèi)是否可達(dá);4)對(duì)于任意一個(gè)公共聯(lián)系人,可以記錄目標(biāo)群體任意節(jié)點(diǎn)到該公共聯(lián)系人之間的最短路徑。假定用戶ID使用32字節(jié)的MD5值表示,則每個(gè)用戶的直接關(guān)聯(lián)關(guān)系至少需要100*32B約32KB存儲(chǔ)空間,1億用戶則至少需要1億*3.2KB約320GB存儲(chǔ)空間。若考慮備份等消耗,總存儲(chǔ)空間在T級(jí)別。本方案中采取HBase列式數(shù)據(jù)庫,以Key-Value形式存儲(chǔ),rowkey是用戶ID,qualifier及value是該用戶對(duì)應(yīng)的直接聯(lián)系人列表。HBase管理T級(jí)別數(shù)據(jù)毫無壓力,以rowkey提取數(shù)據(jù)非常快速,同時(shí)可與MapReduce分布式計(jì)算框架無縫結(jié)合。優(yōu)選的,所述目標(biāo)群體可以是任意指定的若干點(diǎn);對(duì)于任意一個(gè)所述公共聯(lián)系人,所述計(jì)算方法可以計(jì)算所述目標(biāo)群體的任意節(jié)點(diǎn)到所述公共聯(lián)系人之間的最短路徑。本發(fā)明的計(jì)算方法適用于在大型網(wǎng)絡(luò)圖中尋找目標(biāo)群體在跳數(shù)K內(nèi)的所有公共聯(lián)系人及其最短聯(lián)系路徑。優(yōu)選的,所述的大型網(wǎng)絡(luò)圖可以達(dá)到億級(jí)節(jié)點(diǎn)以上,并且平均每個(gè)節(jié)點(diǎn)對(duì)外的邊可以在百級(jí)別以上,以利于滿足大型網(wǎng)絡(luò)數(shù)據(jù)平臺(tái)中的社交需求。優(yōu)選的,所述的目標(biāo)群體的節(jié)點(diǎn)之間可以為多線交錯(cuò)關(guān)系,以利于滿足在關(guān)系錯(cuò)綜復(fù)雜的情況下,K跳內(nèi)尋找公共聯(lián)系人和最短聯(lián)系路徑的快速實(shí)現(xiàn)。優(yōu)選的,所述的目標(biāo)群體節(jié)點(diǎn)之間的直接相互關(guān)系,以距離矩陣的形式存儲(chǔ)在文件中,并作為后續(xù)MapReduce計(jì)算的輸入。優(yōu)選的,所述的數(shù)據(jù)庫總存儲(chǔ)量在T級(jí)別或T級(jí)別以上,以更好地滿足大量用戶數(shù)據(jù)的有效存儲(chǔ)。優(yōu)選的,所述的數(shù)據(jù)庫采用HBase列式數(shù)據(jù)庫,以Key-Value形式存儲(chǔ)。優(yōu)選的,所述MapReduce運(yùn)行機(jī)制為一種分布式批量數(shù)據(jù)計(jì)算框架,用于大規(guī)模數(shù)據(jù)集的并行運(yùn)算的編程模型。優(yōu)選的,所述公共聯(lián)系人為網(wǎng)路圖中任意兩個(gè)節(jié)點(diǎn)N1和N2在K跳之內(nèi)均可達(dá)的節(jié)點(diǎn)。由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:首先,成功地將Map模型和Reduce模型結(jié)合在一起,實(shí)現(xiàn)了目標(biāo)群體任意節(jié)點(diǎn)到該公共聯(lián)系人之間的最短路徑計(jì)算和記錄;其次,提出了一種效率較高的最短路徑優(yōu)化計(jì)算方法;再次,本發(fā)明的計(jì)算方法為社交網(wǎng)絡(luò)的進(jìn)一步推進(jìn)和發(fā)展提供了一種新的算法推進(jìn)思路。附圖說明圖1為本發(fā)明的兩點(diǎn)之間內(nèi)三跳公共聯(lián)系人示意圖(1);圖2為本發(fā)明的兩點(diǎn)之間內(nèi)三跳公共聯(lián)系人示意圖(2);圖3為本發(fā)明的三點(diǎn)之間內(nèi)一跳公共聯(lián)系人示意圖;圖4為本發(fā)明的三點(diǎn)之間內(nèi)兩跳公共聯(lián)系人示意圖;圖5為本發(fā)明三跳內(nèi)計(jì)算公共聯(lián)系人的時(shí)間對(duì)比圖;圖6為本發(fā)明三跳內(nèi)計(jì)算公共聯(lián)系人及路徑的時(shí)間對(duì)比圖。圖中:A、B、C、D、E、F、G-關(guān)系網(wǎng)絡(luò)中的節(jié)點(diǎn)。具體實(shí)施方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例1,如圖1所示:假定某關(guān)系網(wǎng)絡(luò)中有A、B、C、D、E、F、G七個(gè)節(jié)點(diǎn),其中AC之間、CD之間、DE之間、EF之間、FG之間、GB之間互為有關(guān)系的聯(lián)系人。以A來說,C、D、E分別為A的一跳、兩跳、三跳聯(lián)系人(圖中已用數(shù)字標(biāo)出,下同),同理對(duì)B來說,G、F、E分別為B的一跳、兩跳、三跳聯(lián)系人?,F(xiàn)以A、B兩節(jié)點(diǎn)為研究對(duì)象(圖中綠色標(biāo)注,下同),尋找A、B之間三跳之內(nèi)的公共聯(lián)系人,則只有E節(jié)點(diǎn)滿足條件(圖中藍(lán)色標(biāo)注,下同),因?yàn)锳、B到E之間的距離均在三跳之內(nèi)(含三跳),其他點(diǎn)均不滿足該條件(比如B距離D為四跳)。且A、B到E之間的最短聯(lián)系路徑分別為A->C->D->E和B->G->F->E。實(shí)施例2,如圖2所示:現(xiàn)在假如去掉G節(jié)點(diǎn),再尋找A、B之間三跳之內(nèi)的公共聯(lián)系人,此時(shí)滿足條件的公共聯(lián)系人有D、E節(jié)點(diǎn)。A到D為兩跳,最短路徑為A->C->D,B到D為三跳,最短路徑為B->F->E->D;同理,A到E為三跳,最短路徑為A->C->D->E,B到E為兩跳,最短路徑為B->F->E。實(shí)施例3,如圖3~4所示:目標(biāo)研究點(diǎn)為A、B、C三點(diǎn),點(diǎn)與點(diǎn)之間不再是簡單的單線聯(lián)系,而是多線交錯(cuò),比如F節(jié)點(diǎn)在兩跳內(nèi)的聯(lián)系人已經(jīng)囊括該微型網(wǎng)絡(luò)圖中的所有點(diǎn),這也正是現(xiàn)實(shí)社交網(wǎng)絡(luò)關(guān)系的一個(gè)鮮明的縮影代表。正如“六度空間”理論認(rèn)為,“你和任何一個(gè)陌生人之間所間隔的人不會(huì)超過六個(gè),也就是說,最多通過六個(gè)人你就能夠認(rèn)識(shí)任何一個(gè)陌生人”。在本例中,A、B、C之間一跳內(nèi)公共聯(lián)系人為空(如左圖所示),兩跳內(nèi)公共聯(lián)系人有E、F兩點(diǎn)(如右圖所示)。盡管A、B到D的最短距離在兩跳之內(nèi),但C到D的最短距離為三跳,所以D節(jié)點(diǎn)無法滿足條件。這里值得一提的是,B到F兩跳內(nèi)的最短聯(lián)系路徑有兩條,分別是B->D->F和B->A->F。實(shí)施例4,如圖3~4所示:本發(fā)明的存儲(chǔ)方案為:假定用戶ID使用32字節(jié)的MD5值表示,則每個(gè)用戶的直接關(guān)聯(lián)關(guān)系至少需要100*32B約32KB存儲(chǔ)空間,1億用戶則至少需要1億*3.2KB約320GB存儲(chǔ)空間。若考慮備份等消耗,總存儲(chǔ)空間在T級(jí)別。本方案中采取HBase列式數(shù)據(jù)庫,以Key-Value形式存儲(chǔ),rowkey是用戶ID,qualifier及value是該用戶對(duì)應(yīng)的直接聯(lián)系人列表。HBase管理T級(jí)別數(shù)據(jù)毫無壓力,以rowkey提取數(shù)據(jù)非??焖?,同時(shí)可與MapReduce分布式計(jì)算框架無縫結(jié)合。在HBase中可能存在以下幾行數(shù)據(jù):表1HBase存儲(chǔ)直接聯(lián)系人示例實(shí)施例5,如圖3~4所示:本發(fā)明的計(jì)算過程為:1.初始狀態(tài)新建一個(gè)空的文本文件,命名不限,以“.txt”后綴即可,內(nèi)容如下表所示:表2初始狀態(tài)A01-1B10-1C-1-10包含三行數(shù)據(jù),第一列是目標(biāo)節(jié)點(diǎn)群體,比如在該場景中我們要尋找節(jié)點(diǎn)A、B、C三者兩跳內(nèi)的公共聯(lián)系人,后面三列依次是到節(jié)點(diǎn)A、B、C三個(gè)節(jié)點(diǎn)的最短距離,如果目標(biāo)節(jié)點(diǎn)群體是5個(gè),則這里對(duì)應(yīng)的是5列。每一行數(shù)據(jù)之間的分隔符可自由定義。比如,第一行A01-1表示節(jié)點(diǎn)A到節(jié)點(diǎn)A、B、C的最短距離依次是0、1、-1。其中:1)0表示節(jié)點(diǎn)自己與自己之間的最短距離,比如A和A、B和B、C和C;2)1表示節(jié)點(diǎn)之間直接關(guān)聯(lián),比如A和B、B和A;3)-1表示節(jié)點(diǎn)之間距離未知或者說暫時(shí)永不可達(dá),比如A和C之間。初始狀態(tài)記錄的是目標(biāo)節(jié)點(diǎn)群體之間直接相互關(guān)系,以距離矩陣的形式存儲(chǔ)在文件之中,作為后續(xù)MapReduce計(jì)算的輸入。對(duì)于0、1、-1這樣的一組數(shù)據(jù),后續(xù)統(tǒng)一稱為某節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)群體的距離向量,簡稱某節(jié)點(diǎn)的距離向量,其中的每一個(gè)元素表示該節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的距離,比如節(jié)點(diǎn)A的距離向量為(0,1,-1)。如果要同時(shí)計(jì)算最短路徑,可在初始的文本文件中的距離元素之后記錄路徑。如下表所示:表3初始狀態(tài)(包含路徑)A01(A->B)-1B1(B->)0-1C-1-10節(jié)點(diǎn)B是節(jié)點(diǎn)A的直接聯(lián)系人,所以節(jié)點(diǎn)A到節(jié)點(diǎn)B的最短路徑為A->B,同理節(jié)點(diǎn)B到節(jié)點(diǎn)A之間的最短路徑為B->A。2.第一跳Mapper有了初始狀態(tài)的輸入,可以進(jìn)行第一跳內(nèi)的公共聯(lián)系人及最短聯(lián)系路徑的計(jì)算了。具體做法如下表所示:表4第一跳Mapper狀態(tài)如表4所示,在Mapper階段,從HBase中獲取A、B、C節(jié)點(diǎn)的直接聯(lián)系人,運(yùn)用第五節(jié)描述的“跳級(jí)原則”,依次計(jì)算這些直接聯(lián)系人到A、B、C節(jié)點(diǎn)的距離。這里需要特別注意的是,-1表示距離未知,所以在跳級(jí)時(shí),-1依然保持不變。比如,A的直接聯(lián)系人有E、F、B三點(diǎn),由于A的距離向量是(0,1,-1),那么根據(jù)跳級(jí)原則Ea、Fa、Ba的距離向量均是(1,2,-1)。同理,B的直接聯(lián)系人有A、D,則它們的距離向量均是(2,1,-1)。同理,節(jié)點(diǎn)C得到Ec的距離向量(-1,-1,1)。如下表所示,在Mapper狀態(tài)計(jì)算最短路徑的過程。表5第一跳Mapper狀態(tài)(包含路徑)運(yùn)用“跳級(jí)原則”計(jì)算最短路徑的規(guī)律比較簡單:在跳級(jí)之前的路徑前面加上因跳級(jí)帶來的節(jié)點(diǎn)即可。比如,節(jié)點(diǎn)E是A的直接聯(lián)系人,從節(jié)點(diǎn)A跳級(jí)會(huì)帶來節(jié)點(diǎn)E(圖中表示為Ea),A到B的路徑為A->B,那么E到B的路徑即為E->A->B。注意特殊情況:若跳級(jí)之前的路徑距離為-1,跳級(jí)之后的距離也是-1,相應(yīng)的路徑也表示為-1。3.第一跳Reducer如表6所示,簡單運(yùn)用“跳級(jí)原則”,此時(shí)的距離矩陣中不僅多出D、E、F這些新的節(jié)點(diǎn)記錄,同時(shí)也多出原有節(jié)點(diǎn)的情況。比如,節(jié)點(diǎn)A的距離向量既有(0,1,-1),也有(2,1,-1)。為便于區(qū)分,圖中同一節(jié)點(diǎn)的距離向量用相同的顏色標(biāo)識(shí)。這時(shí)需要用到第五節(jié)描述的“合并原則”了。Mapper階段的輸出key是節(jié)點(diǎn)名稱,value是該節(jié)點(diǎn)的所有距離向量。根據(jù)MapReduce原理,Reducer階段將獲取到按照節(jié)點(diǎn)名稱聚合的所有距離向量。可以看出,巧妙地使用MapReduce的運(yùn)行機(jī)制,極大的簡化了我們的處理流程。合并原則的處理效果如下表所示:表6第一跳Reducer狀態(tài)運(yùn)用“合并原則”,非負(fù)距離之間的比較結(jié)果取最小的,距離未知(即-1)和距離已知的比較結(jié)果取已知的,如果都是-1則取-1。如下表7所示,在Reducer狀態(tài)計(jì)算最短路徑的過程。表7第一跳Reducer狀態(tài)(包含路徑)運(yùn)用“合并原則”計(jì)算最短路徑的規(guī)律如下:1)非負(fù)距離之間的比較,取距離最小的路徑,比如A和Ab到A之間的距離分別為0和2,結(jié)果取0;2)如果非負(fù)距離的最小值有多個(gè),則計(jì)算路徑時(shí)保存所有最小距離上的不同路徑;3)距離未知和距離已知之間的比較,取距離已知的路徑,比如Ea和Ec到A之間的距離分別為1和-1,結(jié)果取E->A;4)如果距離都是-1,那么路徑也是-1。4.第二跳MapReducer根據(jù)前兩步的推導(dǎo)描述,可以很方便的做出第二跳的結(jié)果。將第一次MapReduce輸出的距離矩陣文件(注意該矩陣沒有嚴(yán)格的行與行之間的關(guān)系,所以可以分散到多個(gè)文件存儲(chǔ))作為第二次MapReduce的輸入,然后重復(fù)Mapper(跳級(jí)原則)和Reducer(合并原則)過程,可得兩跳內(nèi)的公共聯(lián)系人及其聯(lián)系路徑。具體如下表8-9所示:表8第二跳Mapper和Reducer狀態(tài)表9第二跳Mapper和Reducer狀態(tài)(包含路徑)5.第K跳MapReduce同理,將第K-1次MapReduce輸出的距離矩陣文件作為第K次MapReduce的輸入,然后重復(fù)Mapper(跳級(jí)原則)和Reducer(合并原則)過程,可得K跳內(nèi)的公共聯(lián)系人及其聯(lián)系路徑。6.結(jié)果輸出觀察表8右邊可以發(fā)現(xiàn),復(fù)雜的關(guān)系網(wǎng)絡(luò)中所有節(jié)點(diǎn)在兩跳內(nèi)的距離向量均已算出,根據(jù)“終止原則”只有距離不大于K(此處K=2)的節(jié)點(diǎn)滿足條件。具體規(guī)則如下:若尋找在K跳內(nèi)的公共聯(lián)系人,經(jīng)過K次MapReduce計(jì)算之后,距離矩陣中滿足條件的節(jié)點(diǎn)為Ni(D1,D2,D3,…,Dm),其中0<Dj(0<j<=m)<=K。所有滿足以上規(guī)則的節(jié)點(diǎn)即為K跳內(nèi)的公共聯(lián)系人,距離向量中每個(gè)元素的路徑即為公共聯(lián)系人到目標(biāo)節(jié)點(diǎn)的最短聯(lián)系路徑。實(shí)施例6,如圖5~6所示:為驗(yàn)證本專利提出的方法的有效性,我們以微博用戶為背景,模擬了一個(gè)擁有4000萬節(jié)點(diǎn)、平均每個(gè)節(jié)點(diǎn)隨機(jī)生成200條邊的大型網(wǎng)絡(luò),然后用兩種方法做效果對(duì)比。第一種方法,命名為“MR流”,即本專利提出的基于MapReduce的計(jì)算方法,啟動(dòng)多次MapReduce進(jìn)程,啟動(dòng)次數(shù)等于跳數(shù)K。第二種方法,命名為“多機(jī)多線程”,將每兩個(gè)節(jié)點(diǎn)之間的公共聯(lián)系人計(jì)算分配給一個(gè)獨(dú)立的線程,兩兩組合目標(biāo)節(jié)點(diǎn)需要多個(gè)線程,將這些線程分散到多臺(tái)機(jī)器,以降低單機(jī)壓力,最后將結(jié)果合并取交集。兩種方法運(yùn)行的機(jī)器配置、數(shù)量等保持一致。實(shí)驗(yàn)一:只計(jì)算公共聯(lián)系人將目標(biāo)節(jié)點(diǎn)群體依次設(shè)定為2個(gè)、4個(gè)、8個(gè)、16個(gè)、32個(gè),尋找它們?cè)谌鴥?nèi)的公共聯(lián)系人??梢缘贸觯繕?biāo)節(jié)點(diǎn)群體在大概10個(gè)范圍內(nèi)時(shí),多機(jī)多線程的方法優(yōu)于MR流的方法,隨著節(jié)點(diǎn)個(gè)數(shù)增加,MR流的方法優(yōu)勢漸漸顯現(xiàn)出來,且增長幅度明顯比多機(jī)多線程的方法要低。實(shí)驗(yàn)二:計(jì)算公共聯(lián)系人及路徑可以得出,加入路徑計(jì)算之后,MR流的方案一直優(yōu)于多機(jī)多線程的方案,并且MR流的時(shí)間消耗隨著節(jié)點(diǎn)個(gè)數(shù)增多基本穩(wěn)定,而多機(jī)多線程的時(shí)間消耗持續(xù)大幅增加。這進(jìn)一步說明了本發(fā)明提出的方法的有效性。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域
的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
福泉市| 乌兰浩特市| 农安县| 久治县| 射洪县| 饶河县| 西藏| 上高县| 罗平县| 湛江市| 定兴县| 读书| 射阳县| 安义县| 全州县| 河北省| 玛纳斯县| 万荣县| 肥城市| 铜陵市| 南通市| 合阳县| 双牌县| 会泽县| 江孜县| 冀州市| 如皋市| 深水埗区| 托克逊县| 东阳市| 临漳县| 临清市| 临武县| 利津县| 县级市| 醴陵市| 南城县| 合作市| 临泽县| 大埔区| 怀来县|