本發(fā)明屬于圖數(shù)據(jù)平臺處理技術領域,特別涉及一種基于GPS平臺的k-bisimulation計算算法。
背景技術:
在基于圖的眾多研究中,互模劃分在許多應用領域中都起著至關重要的作用。直觀上,圖的互模劃分是指將圖中的點按照預先定義的“特征”進行劃分的操作,“特征”相同的點被劃分到同一集合中。“特征”可以根據(jù)需要而靈活定義;互模劃分有著廣泛的應用。在數(shù)據(jù)壓縮領域,同一集合中的點使用相同的編號;通過適當?shù)亩x,互模劃分可以被用來為XML以及RDF數(shù)據(jù)庫建立結構化索引;此外,在數(shù)據(jù)的查詢優(yōu)化以及分析中互模劃分也有明確的應用。隨著圖數(shù)據(jù)規(guī)模的增長,例如:點數(shù)目、邊數(shù)目的增長,許多圖數(shù)據(jù),例如社交網(wǎng)絡圖等,已經(jīng)包含數(shù)以億計的點和邊。傳統(tǒng)的運行在單機上的互模劃分算法面臨著越來越大的挑戰(zhàn),分布式算法以及并行算法則成為提高圖計算可擴展性的重要途徑。
針對圖的互模劃分問題,兩種基于MapReduce計算模型的分布式算法近來被提出來,這兩種算法均計算圖的局部互模劃分,又稱k-互模劃分。k-互模劃分預先定義點的特征,包含點的內(nèi)容以及與點距離為k以內(nèi)的鄰居的信息。這兩種算法均使用MapReduce計算模型的開源實現(xiàn)平臺:Hadoop,Hadoop是一種通用的分布式數(shù)據(jù)處理平臺,執(zhí)行計算時將計算的中間結果直接存儲在本地磁盤或者存儲在HDFS文件系統(tǒng)上。圖的局部互模計算算 法需要使用多輪迭代操作,采用Hadoop平臺處理則需要精細設計多輪MapReduce操作,每輪操作中的Map操作會將中間結果存儲在本地磁盤上,Reduce操作會將中間計算結果存儲在HDFS上,磁盤或者HDFS上的讀寫操作會帶來性能瓶頸。此外,每次MapReduce迭代操作均會將整個圖中所有點邊的狀態(tài)通過網(wǎng)絡傳輸,重新為點邊分配計算節(jié)點,這不可避免的帶來沉重的網(wǎng)絡通信負擔。盡管基于MapReduce模型可以解決互模劃分的可擴展性問題,但采用Hadoop平臺計算點的k-互模劃分特征,會帶來沉重的全局網(wǎng)絡通訊代價,進而影響算法本身的效率。這成為兩種基于Hadoop算法可能遇到的瓶頸之一。
技術實現(xiàn)要素:
發(fā)明目的:本發(fā)明提供基于GPS平臺的k-bisimulation計算算法,以解決現(xiàn)有技術中的問題。
技術方案:為實現(xiàn)上述目的,本發(fā)明采用的技術方案為:
基于GPS平臺的k-bisimulation計算算法,其算法步驟包括圖的預劃分處理和k-互模特征的分布式計算;所述圖的預劃分處理用于減少分配到不同工作節(jié)點上面的圖之間的邊數(shù),還保證各個工作節(jié)點處理的點規(guī)模相當;所述k-互模特征的分布式計算包括:點特征編號更新、計算節(jié)點特征的編號和計算圖中每個點的k-互模劃分特征;圖的預劃分處理和k-互模特征的分布式計算都基于節(jié)點編程的GPS分布式圖數(shù)據(jù)處理平臺,用于規(guī)定空間局域性。
進一步,所述輸入到GPS分布式圖數(shù)據(jù)處理平臺的圖數(shù)據(jù)格式為:<vertex-id><opt-vertex-value><outgoing-edge-id-1><opt-outgoing-edge-id-1-v alue><outgoing-edge-id-2><opt-outgoing-edge-id-2-value>…<outgoing-edge-i d-w><opt-outgoing-edge-id-w-value>;每一行數(shù)據(jù)代表了圖中一個點的信息,其中vertex-id表示點編號,opt-vertex-value表示點的內(nèi)容,outgoing-edge-id-1表示該點的第一條出邊指向的點的編號,opt-outgoing-edge-id-1-value表示該點第一條出邊的邊值,邊的編號w=1,2,3…;GPS分布式圖數(shù)據(jù)處理平臺的輸入按照點的標號從0開始輸入,如果某個點沒有邊,則獨自占一行輸入。
進一步,所述圖的預劃分處理的操作步驟包括:
步驟(A),將原始圖數(shù)據(jù)轉換成GPS分布式圖數(shù)據(jù)處理平臺要求的輸入格式;
步驟(B),將GPS分布式圖數(shù)據(jù)處理平臺中,圖信息的發(fā)送方向逆轉,將信息反向傳遞;
步驟(C),使用METIS程序對圖做預劃分處理,將劃分后的多個子圖輸入到GPS中;
步驟(D),使用METIS程序將圖劃分后獲得的子圖數(shù)目是實驗中使用的工作節(jié)點數(shù)目的5倍,所述每個工作節(jié)點處理五個子圖。
進一步,所述圖的預劃分處理的操作只需執(zhí)行一次。
進一步,所述k-互模特征的分布式計算的操作步驟包括:
步驟(E),根據(jù)點的內(nèi)容計算點的k-互模劃分特征編號,初始特征編號k=0;
步驟(F),向所有外出邊相鄰點發(fā)送點的初始特征編號λE0(u,u′)以及邊的編號pId0(u′);
步驟(G),從相鄰點中獲取自身的特征信息;
步驟(H),計算點的初始特征編號λE0(u,u′)以及邊的編號pId0(u′),處理獲取到的特征信息集合,獲取下一步的特征編號λE1(u,u′)以及邊的編號pId1(u′);
步驟(I),向所有外出邊相鄰點發(fā)送點的特征編號λE1(u,u′)以及邊的編號pId1(u′),從相鄰點中獲取自身的特征信息,計算下一步的點的特征編號以及邊的編號;
步驟(J),重復步驟(I),當計算完k-互模劃分后,輸出經(jīng)過k互模劃分的圖,運行狀態(tài)設置為休眠態(tài),程序結束。
進一步,所述算法通過網(wǎng)絡傳輸?shù)臄?shù)據(jù)主要有特殊標志、出發(fā)點編號、有向邊的編號、終止點編號以及出發(fā)點所在的劃分集合編號;假定這五個元素的長度都是a個字節(jié)、圖中點的個數(shù)為N、邊的個數(shù)為M;邊的起點和終點位于不同工作節(jié)點數(shù)目為M',總的網(wǎng)絡數(shù)據(jù)傳輸規(guī)模為3×a×M'。
有益效果:與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點:
1、本發(fā)明提出了基于GPS分布式圖處理平臺的局部互模劃分算法,利用分布式圖處理平臺的框架和編程思想大幅度提升算法運行效率,可達到網(wǎng)絡數(shù)據(jù)傳輸量僅為采用MapReduce計算模型算法的1/2~1/12;并且,對于計算包含數(shù)億邊、點的大圖的局部互模劃分,本發(fā)明算法所需的計算時間僅為采用MapReduce計算模型算法的1/7~1/16;
2、采用“預劃分處理”的做法,本發(fā)明進一步提升算法效率。在具體執(zhí)行前,對圖數(shù)據(jù)進行預劃分,使得對于分配到不同工作節(jié)點上處理的點之間邊數(shù)盡可能的減少,進一步降低了網(wǎng)絡數(shù)據(jù)傳輸量;
3、為了平衡不同工作節(jié)點之間的負載,本發(fā)明算法在做預處理的時候,預先劃分的子圖數(shù)目是工作節(jié)點數(shù)目的5倍,然后給每個工作節(jié)點分配5個子圖,以此達到不同工作節(jié)點之間的負載均衡的目的。
附圖說明
圖1是本發(fā)明實施例的算法樣例圖;
圖2是本發(fā)明實施例中輸入到GPS平臺的數(shù)據(jù)。
具體實施方式
基于GPS平臺的k-bisimulation計算算法,其算法步驟包括圖的預劃分處理和k-互模特征的分布式計算;所述圖的預劃分處理用于減少分配到不同工作節(jié)點上面的圖之間的邊數(shù),還保證各個工作節(jié)點處理的點規(guī)模相當;所述k-互模特征的分布式計算包括:點特征編號更新、計算節(jié)點特征的編號和計算圖中每個點的k-互模劃分特征;圖的預劃分處理和k-互模特征的分布式計算都基于節(jié)點編程的GPS分布式圖數(shù)據(jù)處理平臺,用于規(guī)定空間局域性。
前述輸入到GPS分布式圖數(shù)據(jù)處理平臺的圖數(shù)據(jù)格式為:<vertex-id><opt-vertex-value><outgoing-edge-id-1><opt-outgoing-edge-id-1-v alue><outgoing-edge-id-2><opt-outgoing-edge-id-2-value>…<outgoing-edge-i d-w><opt-outgoing-edge-id-w-value>;每一行數(shù)據(jù)代表了圖中一個點的信 息,其中vertex-id表示點編號,opt-vertex-value表示點的內(nèi)容,outgoing-edge-id-1表示該點的第一條出邊指向的點的編號,opt-outgoing-edge-id-1-value表示該點第一條出邊的邊值,邊的編號w=1,2,3…;GPS分布式圖數(shù)據(jù)處理平臺的輸入按照點的標號從0開始輸入,如果某個點沒有邊,則獨自占一行輸入。
前述圖的預劃分處理的操作步驟包括:
步驟(A),將原始圖數(shù)據(jù)轉換成GPS分布式圖數(shù)據(jù)處理平臺要求的輸入格式;
步驟(B),將GPS分布式圖數(shù)據(jù)處理平臺中,圖信息的發(fā)送方向逆轉,將信息反向傳遞;
步驟(C),使用METIS程序對圖做預劃分處理,將劃分后的多個子圖輸入到GPS中;
步驟(D),使用METIS程序將圖劃分后獲得的子圖數(shù)目是實驗中使用的工作節(jié)點數(shù)目的5倍,所述每個工作節(jié)點處理五個子圖。
前述圖的預劃分處理的操作只需執(zhí)行一次。
前述k-互模特征的分布式計算的操作步驟包括:
步驟(E),根據(jù)點的內(nèi)容計算點的k-互模劃分特征編號,初始特征編號k=0;
步驟(F),向所有外出邊相鄰點發(fā)送點的初始特征編號λE0(u,u′)以及邊的編號pId0(u′);
步驟(G),從相鄰點中獲取自身的特征信息;
步驟(H),計算點的初始特征編號λE0(u,u′)以及邊的編號pId0(u′),處理獲取到的特征信息集合,獲取下一步的特征編號λE1(u,u′)以及邊的編號pId1(u′);
步驟(I),向所有外出邊相鄰點發(fā)送點的特征編號λE1(u,u′)以及邊的編號pId1(u′),從相鄰點中獲取自身的特征信息,計算下一步的點的特征編號以及邊的編號;
步驟(J),重復步驟(I),當計算完k-互模劃分后,輸出經(jīng)過k互模劃分的圖,運行狀態(tài)設置為休眠態(tài),程序結束。
前述算法通過網(wǎng)絡傳輸?shù)臄?shù)據(jù)主要有特殊標志、出發(fā)點編號、有向邊的編號、終止點編號以及出發(fā)點所在的劃分集合編號;假定這五個元素的長度都是a個字節(jié)、圖中點的個數(shù)為N、邊的個數(shù)為M;邊的起點和終點位于不同工作節(jié)點數(shù)目為M',總的網(wǎng)絡數(shù)據(jù)傳輸規(guī)模為3×a×M'。
下面結合實施例對本發(fā)明作更進一步的說明。
為了并行進行高效圖的k-互模劃分計算,本發(fā)明算法的設計基于以下幾點考慮:
第一,進行圖的預劃分操作,較大幅度的減少了位于不同工作節(jié)點上的點之間的邊數(shù),而只有邊的起點終點處于不同工作節(jié)點上時的數(shù)據(jù)傳輸才需要通過網(wǎng)絡進行,這樣的處理意味著較大幅度的減少了通過網(wǎng)絡傳輸?shù)臄?shù)據(jù)量;
第二,“自動”實現(xiàn)點特征編號的更新,而不用為此增加額外操作;Luo為了實現(xiàn)節(jié)點特征編號的更新,增加了一次MapReduce操作。為 了實現(xiàn)節(jié)點特征編號的更新,不惜額外將圖中每條邊通過MapReduce處理,增加了網(wǎng)絡數(shù)據(jù)傳輸負擔。而由于本發(fā)明算法采用分布式圖數(shù)據(jù)處理平臺及相應的算法框架,所以無需為此增加額外操作。
第三,采用哈希函數(shù)來計算節(jié)點特征的編號,這相比較于Luo節(jié)省了很多運算;
第四,考慮到為了計算圖中每個點的k-互模劃分特征,算法只需要利用到點的鄰居(與點距離不超過k)信息,而采用基于節(jié)點編程的GPS分布式圖數(shù)據(jù)處理平臺,可以充分利用到這種空間局域性;
整個算法分為兩個部分:
第一部分實現(xiàn)圖的劃分,在盡可能減少分配到不同工作節(jié)點上面子圖之間的邊數(shù)的同時保證各個工作節(jié)點處理的點規(guī)模相當;
第二部分實現(xiàn)各個點的k-互模特征的分布式計算;
首先定義輸入到GPS分布式圖數(shù)據(jù)處理平臺的圖數(shù)據(jù)格式:
<vertex-id><opt-vertex-value><outgoing-edge-id-1><opt-outgoing-edge-id-1-v alue><outgoing-edge-id-2><opt-outgoing-edge-id-2-value>...
每一行數(shù)據(jù)代表了圖中一個點的信息,其中vertex-id表示點編號,opt-vertex-value表示點的內(nèi)容,outgoing-edge-id-1表示該點的第一條出邊指向的點的編號,opt-outgoing-edge-id-1-value表示該點第一條出邊的邊值(在接下來的實驗中,邊值為該邊的編號)。
GPS是要求輸入按照點的標號從0開始輸入,如果某個點沒有邊,那么也應獨自占一行輸入。
下述算法給出了本算法的部分(偽)代碼實現(xiàn)。
上述算法中,Pre_Process(G)代表了算法的第一部分,進行圖的預處理。在整個算法的執(zhí)行過程中,圖的預處理只需要執(zhí)行一次。圖的預處理需要完成以下四部分的工作:
1)將原始圖數(shù)據(jù)轉換成GPS要求的輸入格式,這部分工作在第5節(jié)有詳細的介紹;
2)實現(xiàn)圖中有向邊方向的倒轉,因為計算點的特征需要從其外向相鄰點中獲取信息,而GPS中信息的發(fā)送是沿著有向邊指向的方向,由有向邊的起點向終點傳遞;
3)使用METIS程序對圖做預劃分處理,同時,為了將劃分后的多個子圖輸入到GPS中,需要對圖數(shù)據(jù)進行轉換;
4)平衡各個工作節(jié)點的工作量;經(jīng)過METIS程序劃分后,每個工作節(jié)點處理一個子圖在部分實驗中會導致比較嚴重的負載不均衡問題,即某個工作節(jié)點的運行時間相比較于其他工作節(jié)點要長許多。為了均衡各個工作節(jié)點上的負載,實驗在做預劃分的時候使用METIS程序將圖劃分后獲得的子圖數(shù)目,是實驗中使用的工作節(jié)點數(shù)目的5倍,即每個工作節(jié)點處理五個子圖。算法運行樣例中預處理劃分的子圖數(shù)目等于工作節(jié)點數(shù)目;
函數(shù)compute()代表了算法的第二部分代碼。在第superstepNum輪迭代中,每個點均會執(zhí)行一次compute函數(shù),執(zhí)行完畢后superstepNum自動加一。詳細解釋如下:
1)3-4行代碼根據(jù)點的內(nèi)容計算點的初始特征編號,即0-互模劃分特征編號(k=0);
2)5-8行代碼向所有外出邊相鄰點發(fā)送點的初始特征編號以及邊的編號,即發(fā)送(λE(u,u'),pId0(u'));
3)10-12行代碼從相鄰點中獲取自身的特征信息;
4)13-14行代碼計算點的特征編號,采用哈希函數(shù)來處理獲取到的特征信息集合,進而獲取特征編號;需要注意的是哈希值應當與特征信息集中中元素的順序無關。
5)15-18行代碼向所有外出邊相鄰點發(fā)送點的特征編號以及邊的編號,即發(fā)送(λE(u,u'),pId0(u'));
6)當計算完k-互模劃分后,在第19行代碼中點將自己的運行狀態(tài)設置為休眠態(tài)。程序中所有點在下一輪迭代開始前進入休眠態(tài),程序結束;
圖1是算法樣例圖。圖1是原始樣例圖的翻轉圖,即將原始樣例圖中的每條有向邊邊的指向顛倒。
點的初始內(nèi)容(圖中的A,B)可以根據(jù)需要選擇是否輸入到GPS中;出于完整性的考慮。偽代碼中以及本節(jié)的算法運行樣例中均默認點的初始內(nèi)容是存在的。點的初始內(nèi)容經(jīng)過哈希函數(shù)的計算即可獲得點的初始特征編號,即0-互模劃分特征編號。
圖2是輸入到GPS平臺的數(shù)據(jù),根據(jù)GPS平臺的默認處理(假設有兩個工作節(jié)點),點0、2、4、6會被放在第一個工作節(jié)點中進行處理,點1、3、5會放在第二個工作節(jié)點中處理。有4條邊的起點和終點處于不同的工作節(jié)點中。
經(jīng)過圖的預劃分處理,圖從邊(1,w,2)處分為兩塊子圖。第一個工作節(jié)點處理點1、3、4而第二個工作節(jié)點處理點2、5、6、0,此時只有1條邊的起點和終點處于不同的工作節(jié)點中。為了將經(jīng)過預劃分的子圖輸入到GPS分布式圖數(shù)據(jù)處理平臺中,需要按照劃分結果處理圖2的算法運行樣例輸入,以便在GPS中實際的將點1、3、4放置于同一個工作節(jié)點中,將點0、2、5、6放置于另一個工作節(jié)點中。處理的方法是將圖2中的編號0、1、2、3、4、5、6分別映射成0、1、2、3、5、4、6,再按照第一列排序。這樣做的依據(jù)是GPS平臺內(nèi)部默認的分配算法是將編號為node_id的點分配到編號為vertex_id=node_id%vertex_num的工作節(jié)點上,其中vertex_num為工作節(jié)點的數(shù)目。
第0輪迭代,圖中各點根據(jù)點的內(nèi)容計算初始特征編號,并沿著有向邊向相鄰點發(fā)送信息{邊值,初始特征編號};
從第1輪到第k輪迭代,首先從相鄰點獲取其特征以及對應邊的邊值,加上點的內(nèi)容,即sigi(u)=(pId0(u),L),然后利用哈希函數(shù)計算點的當前特征編號,并更新;
當k-互模劃分計算完成后,所有的點進入休眠態(tài),程序結束。
下面給出算法性質的分析,在分析之前有兩點需要說明。第一,由于三種算法的本質是一樣的,故而認為對于同一個計算任務三種算法所需要的迭代次數(shù)也是相同的,同時算法均需要有個終止條件判斷部分,這部分需要的通訊量非常少,故而本節(jié)的討論沒有考慮這部分;第二,對于Hadoop平臺而言,無論mapper和reducer是否運行于同一臺機器,兩者之間的數(shù)據(jù)傳輸均使用網(wǎng)絡,即可以認為mapper和reducer之間所有的數(shù)據(jù)均通過網(wǎng)絡傳輸。
通過網(wǎng)絡傳輸?shù)臄?shù)據(jù)主要有特殊標志、出發(fā)點編號、有向邊的編號、終止點編號以及出發(fā)點所在的劃分集合編號。假定這五個元素的長度都是a個字節(jié)、圖中點的個數(shù)為N、邊的個數(shù)為M。
對于Luo的算法,第一次MapReduce操作通過網(wǎng)絡傳輸?shù)臄?shù)據(jù)有兩部分,(點編號,特別標注,點的初始集合編號,點在上一輪迭代后所在的集合編號)以及(發(fā)出點編號,有向邊的編號,終止點編號,終止點在上一輪迭代后所在的集合編號)。合并起來,第一輪通過網(wǎng)絡傳輸?shù)臄?shù)據(jù)規(guī)模為4×a×N+4×a×M;第二次通過網(wǎng)絡傳輸?shù)臄?shù)據(jù)為(點編號,特殊標志,點的初始集合編號,點的特征),其中點的特征包括了點上一輪迭代后所在的集合編號、從它出發(fā)的邊編號以及指向的點的上一輪迭代后所在集合編號。合并起來,第二次MapReduce操作通過網(wǎng)絡傳輸?shù)臄?shù)據(jù)規(guī)模為4×a×N+2×a×M;第三次MapReduce操作通過網(wǎng)絡傳輸?shù)臄?shù)據(jù)為(點編號,特殊標志,點所在的初始集合編號,點的本輪迭代后所在集合編號),故而為4×a×N。綜合整個過程,每一輪迭代需要通過網(wǎng)絡傳輸?shù)臄?shù)據(jù)總量為6×a×M+8×a×N。
對于的算法,其需要通過網(wǎng)絡傳輸?shù)臄?shù)據(jù)也有兩部分:(起始點編號,數(shù)字0,起始點編號,邊編號,終止點編號,終止點所在的集合編號)和(終止點編號,數(shù)字1,起始點編號,邊編號,終止點編號,終止點所在的集合編號),為了方便起見可以認為數(shù)字0和數(shù)字1的大小也是a個字節(jié)??梢杂嬎愠鰜恚ㄟ^網(wǎng)絡傳輸?shù)臄?shù)據(jù)規(guī)模為6×a×M+6×a×M=12×a×M。
對于本發(fā)明提出的算法,僅當邊的起點和終點位于不同工作節(jié)點的時候,它們之間的數(shù)據(jù)傳輸才需要通過網(wǎng)絡,假設這樣的邊的數(shù)目為M'。需要通過網(wǎng)絡傳輸?shù)臄?shù)據(jù)為(邊編號,點在上一輪迭代后所在集合編號,終止點編號)則總的網(wǎng)絡數(shù)據(jù)傳輸規(guī)模為3×a×M'。
Luo的算法的網(wǎng)絡通訊量為6×a×M+8×a×N,圖中邊的數(shù)目一般比點的數(shù)目要多許多,如Twitter的數(shù)據(jù)中邊的數(shù)目幾乎為點的數(shù)目的30倍。故而可以認為Luo算法的網(wǎng)絡通訊量為6×a×M。的算法的網(wǎng)絡數(shù)據(jù) 通訊量為12×a×M。
根據(jù)實驗結果,M'在多數(shù)情況下相當于M的1/3,有些情況下甚至僅為M的1/50。這里取故所以本發(fā)明提出的算法網(wǎng)絡數(shù)據(jù)通訊量近似為a×M。算法的網(wǎng)絡數(shù)據(jù)通訊量下降為Luo的算法的1/6,的算法的1/12。最壞情況下M'=M,算法的網(wǎng)絡數(shù)據(jù)通訊量下降為Luo的算法的1/2,的算法的1/4。
根據(jù)上述分析,本發(fā)明提出的算法的網(wǎng)絡數(shù)據(jù)通訊量下降為Luo的算法的1/2~1/6,的算法的1/4~1/12。
k-互模是指預先定義點的特征只包含距離它k以內(nèi)(包含k)的鄰居信息以及點自身的信息(k≥0)。
N表示有限的點集,表示邊集合,λN表示從點集N到點編號集合ΓN的映射,λE表示從邊集E到邊編號集合ΓE的映射。k-互模嚴格的數(shù)學定義如下:
k是一個非負整數(shù),G=<N,E,λN,λE>是一個圖,那么點u,v∈N被稱為k-互模(表示為u≈k v),當且僅當下述條件成立:
λN(u)=λN(v);
當k>0時,則使得u'≈k-1v',λE(u,u')=λE(v,v');
當k>0時,則使得v'≈k-1u',λE(v,v')=λE(u,u');
本發(fā)明提出的的算法不是為了判斷兩個圖是否是k-互模,為的是將圖 中的點劃分為不同的集合,同一集合內(nèi)的點之間k-互模。
k是一個非負整數(shù),G=<N,E,λN,λE>是一個圖,k-互模劃分標識是k+1個函數(shù)映射的集合P={pId0,…,pIdk};對于0≤i≤k,pIdi是從點集N到點編號集合的一個映射,并且對于pIdi(u)=pIdi(v)當且僅當u≈iv。
為了將每個點劃分到對應的集合中,基于每個點所在的位置為每個點建立“特征”,特征的嚴格定義如下:
k是一個非負整數(shù),G=<N,E,λN,λE>是一個圖,P={pId0,…,pIdk}是圖G的k-互模劃分標識,那么u∈N的k-互模劃分特征sigk(u)=(pId0(u),L)。L為點的位置信息,
本發(fā)明提出的算法基于GPS分布式圖數(shù)據(jù)處理平臺,類似的平臺還有Google公司的Pregel圖數(shù)據(jù)處理平臺等,都可以將本發(fā)明用于這一類圖數(shù)據(jù)處理平臺。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出:對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。