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

一種子圖匹配的查詢方法

文檔序號:6639836閱讀:549來源:國知局
一種子圖匹配的查詢方法
【專利摘要】本發(fā)明涉及一種子圖匹配的查詢方法,屬于數(shù)據(jù)庫和分布式圖分析處理領域;該方法包括以下步驟:首先,修改查詢圖為查詢樹;其次,對數(shù)據(jù)圖節(jié)點按照查詢樹從葉節(jié)點到根節(jié)點逐層依次匹配,得到匹配計數(shù),并發(fā)送計數(shù)給相鄰節(jié)點,直到匹配根節(jié)點;再次,數(shù)據(jù)圖節(jié)點按照查詢樹從根節(jié)點到葉節(jié)點逐層依次發(fā)送匹配要求,直到匹配要求發(fā)送至葉節(jié)點;最后,數(shù)據(jù)圖節(jié)點按照查詢樹從葉節(jié)點到根節(jié)點的順序依次向查詢要求的來源發(fā)送子樹匹配結果。對比現(xiàn)有分布式方法,本發(fā)明在通信量和計算代價方面都有很大的提高。
【專利說明】-種子圖匹配的查詢方法

【技術領域】
[0001] 本發(fā)明涉及一種查詢方法,特別涉及一種在分布式系統(tǒng)中處理大規(guī)模圖數(shù)據(jù)的子 圖匹配的查詢方法,屬于數(shù)據(jù)庫和分布式圖分析處理領域。

【背景技術】
[0002] 圖模型在很多領域有重要的應用,如社交網(wǎng)絡、Web網(wǎng)絡、規(guī)劃問題、生物信息等 方面。隨著計算機、網(wǎng)絡的廣泛應用,大量的圖模型數(shù)據(jù)也呈現(xiàn)指數(shù)級的增長。2013年, facebook統(tǒng)計其每天新產(chǎn)生的數(shù)據(jù)量已達到500TB。與此同時,大多數(shù)圖模型處理的方法 通常復雜度遠高于〇 (n),如,最常見的最短路方法,其最常見的方法f Ioyd的計算復雜度是 0(rT3)。在大規(guī)模的數(shù)據(jù)量下,單機處理這樣的計算復雜度是遠遠不能接受的。也就是說, 在大數(shù)據(jù)的背景下圖計算問題大都要在分布式系統(tǒng)上進行處理。
[0003] 子圖匹配問題由來已久,它在圖模型中有廣泛的應用。比如化學分子結構中的比 對問題、生物蛋白質(zhì)的匹配問題,以及近年來最為廣泛的社交網(wǎng)絡中的模式匹配問題等等。 但是由于子圖匹配問題本身是NP問題,其問題本身復雜度高、常見方法性能差,所以在很 多領域的應用中通常存在很大的效率問題。其中尤以匹配順序、冗余的中間結果等引發(fā)的 效率低下問題最為普遍。
[0004] 本發(fā)明處理的子圖匹配問題是在有標簽(label)的圖上進行的,下面給出了問題 的相關定義。為了定義子圖匹配問題,首先需要給出同構圖的概念。
[0005] 定義1同構圖
[0006] 給定圖G (V,E,L)和Gtl (V。,E。,Ltl),這里V、V。表示節(jié)點集,E、Etl表示邊集,L、Ltl表 示每個節(jié)點所屬的分類(標簽)。如果存在映射F = V^Vtl,對于bVfr,L(V) =U(F(V)), 且對于bfw,vy逆,牙則稱G和Gtl是同構的圖。
[0007] 在本文中本發(fā)明統(tǒng)一使用u表示查詢圖節(jié)點,V表示數(shù)據(jù)圖節(jié)點,大寫字母A-Z表 示節(jié)點的分類(標簽/label)。
[0008] 定義2子圖匹配
[0009] 子圖匹配問題定義如下:給定數(shù)據(jù)圖G(V,E,L),對于一個查詢圖 Q(V',E',L'),對于數(shù)據(jù)圖中的任意子圖Gtl,若Gtl和Q同構,則Gtl為子圖匹配的一個查 詢結果。子圖匹配的目的是在數(shù)據(jù)圖G中找到所有和Q同構的子圖。
[0010] 可以發(fā)現(xiàn),對于子圖匹配而言,對于大部分的查詢,其查詢結果都會非常的多。子 圖匹配問題也是經(jīng)證明后屬于NP的問題,也就是說即便數(shù)據(jù)圖很小,對于特定的查詢,全 部結果的數(shù)據(jù)規(guī)模是不可接受的。為了更好的理解子圖匹配問題,這里給出一些例子。例 如,在有機高分子、蛋白質(zhì)中尋找相似的同構子結構;在社交網(wǎng)絡中尋找特定的模型用以數(shù) 據(jù)挖掘;在程序的調(diào)用圖、流程圖里查找相似的模塊等等。
[0011] 目前對于子圖匹配的方法主要可分為三類,其一是單機的方法,其方法主要思路 是首先對查詢圖節(jié)點給出一個順序,接下來按照順序依次匹配,每匹配完一個節(jié)點后,根據(jù) 情況遞歸匹配下一個查詢圖節(jié)點,直到能夠完整匹配全部的查詢圖節(jié)點。對于單機方法而 言其本身的方法性能良好,但是對于處理大規(guī)模的數(shù)據(jù)圖存在很大的問題。即當判定特定 數(shù)據(jù)邊是否存在的時候,因為內(nèi)存無法存儲完整的數(shù)據(jù)圖,需要額外的訪問外存或進行網(wǎng) 絡通信,這樣會造成很大的額外資源開銷。
[0012] 另一種方法是分布式方法,其中微軟提出的方法主要思路是首先將查詢圖拆分成 由一個父節(jié)點和若干子節(jié)點的"小枝"結構,然后在分布式的環(huán)境下對每個小枝進行匹配, 得到結果后進行網(wǎng)絡通信,之后對中間結果進行類似數(shù)據(jù)庫表連接的操作,最后得到完整 的匹配結果。然而對于這種方法,其普遍存在小枝的順序問題,即不同小枝順序會對查詢效 率產(chǎn)生很大的影響。
[0013] 另外,還可以將現(xiàn)有的單機方法與以節(jié)點為中心的分布式計算模型相結合。即對 于每個查詢圖節(jié)點,在每一輪的迭代中進行匹配,之后將中間結果發(fā)送給數(shù)據(jù)圖節(jié)點的鄰 接點。但是這樣的實現(xiàn)存在迭代次數(shù)過多、中間結果較大、額外通信判定數(shù)據(jù)邊等問題。最 終導致其查詢結果效率較低。


【發(fā)明內(nèi)容】

[0014] 本發(fā)明是為解決現(xiàn)有分布式子圖匹配方法查詢效率較低的問題,提出了一種在分 布式系統(tǒng)中處理大規(guī)模圖數(shù)據(jù)的子圖匹配的查詢方法。
[0015] 首先,給出本發(fā)明所使用的相關定義。
[0016] 定義3查詢樹
[0017] 給定查詢圖,如果其中存在由節(jié)點Up%、……、un構成的環(huán),那么將其中一個節(jié)點 Ui拆分為4和11' i,這樣就可以消除Ul、U2、……、un構成的環(huán)。如果查詢圖經(jīng)過多次拆分 節(jié)點的操作后不存在環(huán),將處理過的查詢圖稱為查詢樹。
[0018] 如圖1所示,對于查詢圖(a),圖中存在由節(jié)點UpUyUyU6構成的環(huán)和由節(jié)點Up u3、u4、U7構成的環(huán)。然后分別對這兩個環(huán)中的點u6、U 7執(zhí)行拆點操作,得到圖I (C)所示的 查詢樹。
[0019] 定義4關鍵節(jié)點集
[0020] 對于查詢樹的每一棵子樹,如果存在兩個節(jié)點U和u'分別在子樹內(nèi)部和子樹外 部,且它們在拆分操作前是同一個查詢節(jié)點,則節(jié)點u屬于該子樹的關鍵節(jié)點集。
[0021] 在具體實現(xiàn)的過程中,子樹的根節(jié)點也是在合并過程中必須要存在的,所以將查 詢子樹的根節(jié)點也添加入每個查詢子樹的關鍵節(jié)點集。
[0022] 如圖1所示,當查詢圖(a)被拆分后得到查詢樹(C)后,以U2為根節(jié)點的子樹為 例,根據(jù)關鍵節(jié)點集的定義,116和11' 6是被拆分的節(jié)點,并且分別在這棵子樹的內(nèi)外,所以 U6屬于U2的關鍵節(jié)點集。依此類推可以得到U1的關鍵節(jié)點集為{uj,U 2的關鍵節(jié)點集為 {112,116},113的關鍵節(jié)點集為{113,11 /6,117},114的關鍵節(jié)點集為{114,11 /7丨,%的關鍵節(jié)點集 為{u5},U6的關鍵節(jié)點集為{u6},U7的關鍵節(jié)點集為{u 7},U' 6的關鍵節(jié)點集為{V 6}, U' 7的關鍵節(jié)點集為{V 7}。
[0023] 定義5獨立節(jié)點
[0024] 查詢樹中的葉子節(jié)點。
[0025] 定義6非獨立節(jié)點
[0026] 查詢樹中的除獨立節(jié)點外的所有節(jié)點。
[0027] 定義7數(shù)據(jù)節(jié)點 [0028] 數(shù)據(jù)圖中的一個節(jié)點。
[0029] 定義8計算節(jié)點
[0030] 在迭代過程開始前被指定的節(jié)點集和在迭代過程中接收上一輪迭代的計算結果 的節(jié)點集。
[0031] 定義9獨立子節(jié)點
[0032] 在樹中,和節(jié)點U直接相鄰的子節(jié)點集中的葉子節(jié)點部分是U的獨立子節(jié)點。 [0033] 定義10非獨立子節(jié)點
[0034] 在樹中,和節(jié)點U直接相鄰的子節(jié)點集中的非葉子節(jié)點部分是U的非獨立子節(jié)點。
[0035] 定義11數(shù)據(jù)庫自然連接操作
[0036] 若兩張表有相同的列,則以相同的列為基準進行合并。若沒有相同的列,則合并時 直接使用兩列數(shù)據(jù)的笛卡爾積。
[0037] 本發(fā)明是通過下述技術方案實現(xiàn)的:
[0038] 一種子圖匹配的查詢方法,包括以下步驟:
[0039] 一、修改查詢圖為查詢樹;
[0040] 二、數(shù)據(jù)圖節(jié)點按照查詢樹從葉節(jié)點到根節(jié)點逐層依次匹配,得到匹配計數(shù),并發(fā) 送計數(shù)給相鄰節(jié)點,直到匹配根節(jié)點;
[0041] 三、數(shù)據(jù)圖節(jié)點按照查詢樹從根節(jié)點到葉節(jié)點逐層依次發(fā)送匹配要求,直到匹配 要求發(fā)送至葉節(jié)點;
[0042] 四、數(shù)據(jù)圖節(jié)點按照查詢樹從葉節(jié)點到根節(jié)點的順序依次向查詢要求的來源發(fā)送 子樹匹配結果。
[0043] 有益效果
[0044] 與現(xiàn)有的分布式方法相比,本發(fā)明方法存在以下優(yōu)勢:
[0045] 1.使用樹形查詢保證順序和查詢的穩(wěn)定性。
[0046] 2.多次迭代匹配過程中過濾了無效的中間結果,減少內(nèi)存占用和通信代價。
[0047] 3.使用索引和計數(shù)的方法,減少通信代價和內(nèi)存占用。
[0048] 與單機方法在分布式環(huán)境中的實現(xiàn)相比,本發(fā)明方法存在以下優(yōu)勢:
[0049] 1.使用自底向上的樹形匹配方法,在匹配過程中過濾無效中間結果數(shù)據(jù),減少通 信量和內(nèi)存占用。
[0050] 2.從查詢圖葉節(jié)點自底向上按層次匹配合并,減少了超步個數(shù),節(jié)省了同步時間。
[0051] 3.使用拆分節(jié)點的方式生成查詢樹,無需額外的迭代判斷一些數(shù)據(jù)邊是否存在, 減少超步個數(shù)和通信代價。
[0052] 4.使用索引和計數(shù)的方法,減少中間結果數(shù)據(jù)規(guī)模,節(jié)省通信代價。
[0053] 總的來說,本發(fā)明在分布式的模型上給出了一種新的解決子圖匹配問題的方法, 與現(xiàn)有的分布式子圖匹配方法相比,本發(fā)明利用對查詢樹代價估計、使用關鍵節(jié)點集索引 計數(shù)、壓縮通信量和簡化計算這幾個方法,在通信量和計算代價方面都有很大的提高。與傳 統(tǒng)單機方法相比,本方法能夠很好的處理大規(guī)模的數(shù)據(jù)圖。

【專利附圖】

【附圖說明】
[0054] 圖1為本發(fā)明實施例查詢圖、查詢樹以及數(shù)據(jù)圖示例。
[0055] 圖2是本發(fā)明方法整體流程示意圖。
[0056] 圖3是本發(fā)明實施例數(shù)據(jù)圖節(jié)點按照查詢樹自下向上計數(shù)過程流程示意圖。
[0057] 圖4是本發(fā)明實施例數(shù)據(jù)圖節(jié)點索引計數(shù)流程示意圖。
[0058] 圖5是本發(fā)明實施例數(shù)據(jù)圖節(jié)點按照查詢樹自上而下發(fā)送查詢要求和自下而上 發(fā)送匹配結果的流程示意圖。

【具體實施方式】
[0059] 下面將結合附圖和實施例對本發(fā)明加以詳細說明,同時也敘述了本發(fā)明技術方案 解決的技術問題及有益效果,需要指出的是,所描述的實施例僅旨在便于對本發(fā)明的理解, 而對其不起任何限定作用。
[0060] 如圖2所示,本發(fā)明方法包括以下幾個主要的步驟:
[0061] 一、修改查詢圖為查詢樹,分布查詢圖以及數(shù)據(jù)圖;
[0062] 二、數(shù)據(jù)圖節(jié)點按照查詢樹自下而上的方向傳遞匹配結果計數(shù);
[0063] 三、數(shù)據(jù)圖節(jié)點按照查詢樹從根節(jié)點到葉節(jié)點逐層依次發(fā)送匹配要求,直到匹配 要求發(fā)送至葉節(jié)點;
[0064] 四、數(shù)據(jù)圖節(jié)點按照查詢樹從葉節(jié)點到根節(jié)點的順序依次向查詢要求的來源發(fā)送 子樹匹配結果。
[0065] 下面具體說明各步驟的處理過程時,將步驟三、步驟四合并為一步進行說明:一、 修改查詢圖為查詢樹,并向所有數(shù)據(jù)圖節(jié)點發(fā)送查詢樹
[0066] 本步驟主要完成將查詢圖轉(zhuǎn)化為查詢樹,并向所有數(shù)據(jù)圖節(jié)點發(fā)送查詢樹的工 作。由于數(shù)據(jù)圖的分布不在本發(fā)明討論范圍,因而,可以認為,實施本發(fā)明方法前,數(shù)據(jù)圖已 經(jīng)被分布到集群中,并且可以被獲知。
[0067] 本部分結合附圖給出具體實施例來說明如何修改查詢圖為查詢樹。
[0068] 本方法將查詢圖拆分為樹的過程中主要有兩條原則,首先是讓被拆分的節(jié)點盡可 能的少,其次是讓每個節(jié)點單元子節(jié)點盡可能少。
[0069]由于被拆分的查詢節(jié)點需要在后續(xù)計算的時候進行合并操作,所以關鍵節(jié)點集的 匹配結果是必須發(fā)送的。如果能夠保證被拆分節(jié)點盡可能少,則其對應的關鍵節(jié)點集合就 小,那么中間結果的數(shù)據(jù)量也相應的減少,這樣可以提高效率。每個節(jié)點的子節(jié)點盡可能 少的原因是子節(jié)點的個數(shù)決定它在進行匹配時候的遞歸深度,它在進行匹配時遞歸的深度 越小,迭代速度越快。
[0070] 但是,由于上述原則無法在大規(guī)模數(shù)據(jù)圖中進行精確度量,所以本發(fā)明這里根據(jù) 數(shù)據(jù)圖的特征給出簡單的估值。通過使用估值來確定如何修改查詢圖以提高計算效率。而 對于參數(shù)的選取,本發(fā)明選取數(shù)據(jù)圖節(jié)點平均度數(shù)為參數(shù)對數(shù)據(jù)圖通信量進行簡單估算:

【權利要求】
1. 一種子圖匹配的查詢方法,其特征在于:包括以下步驟: 步驟一、修改查詢圖為查詢樹; 步驟二、數(shù)據(jù)圖節(jié)點按照查詢樹從葉節(jié)點到根節(jié)點逐層依次匹配,得到匹配計數(shù),并發(fā) 送計數(shù)給相鄰節(jié)點,直到匹配根節(jié)點; 步驟三、數(shù)據(jù)圖節(jié)點按照查詢樹從根節(jié)點到葉節(jié)點逐層依次發(fā)送匹配要求,直到匹配 要求發(fā)送至葉節(jié)點; 步驟四、數(shù)據(jù)圖節(jié)點按照查詢樹從葉節(jié)點到根節(jié)點的順序依次向查詢要求的來源發(fā)送 子樹匹配結果。
2. 根據(jù)權利要求1所述的一種子圖匹配的查詢方法,其特征在于:所述修改查詢圖為 查詢樹進一步包括以下過程: [1] 枚舉所有節(jié)點作為樹的根節(jié)點; [2] 使用廣度遍歷方法獲得當前根節(jié)點對應的查詢樹; [3] 對于生成的所有候選查詢樹,根據(jù)下式選取其中估值最?。ㄊ紫冗x擇通信量估值 最小,其次選擇計算量估值最小)的作為最終查詢樹;其中通信量估值計算公式如下:
計算量估值計算公式如下:
其中deg表示數(shù)據(jù)圖節(jié)點的平均度數(shù),cnt (u)表示查詢樹中節(jié)點u和第i個查詢節(jié)點 的距離,keyset^表示以第i個查詢節(jié)點為根的查詢子樹的關鍵節(jié)點集,Childi表示以第i 個查詢節(jié)點為根的查詢子樹的子節(jié)點集,η為查詢圖中的節(jié)點個數(shù)。
3. 根據(jù)權利要求2所述的一種子圖匹配的查詢方法,其特征在于:所述使用廣度遍歷 方法獲得當前根節(jié)點對應的查詢樹進一步包括以下過程: [1] 使用邊的訪問集evis來表示某一條邊(u,v)是否被加入樹中,使用點的訪問集 nvis來表示節(jié)點是否被訪問過,使用先進先出隊列q作為廣度遍歷的隊列; [2] 將查詢樹根節(jié)點加入隊列q ; [3] 取出隊首節(jié)點u,依次枚舉其鄰接點V ; [4] 如果邊(u,v)已經(jīng)在樹中,則跳過邊(u,v); [5] 如果邊(u, v)不在樹中,且節(jié)點V已經(jīng)被訪問過,則將節(jié)點V拆分出節(jié)點ν'加入樹 中; [6] 如果邊(u,v)不在樹中,且節(jié)點V未被訪問過,則將V直接加入樹中,并標記V為已 訪問,且將V加入隊列q; [7] 若隊列為空,算法結束;否則,轉(zhuǎn)到[3]。
4. 根據(jù)權利要求1所述的一種子圖匹配的查詢方法,其特征在于:對所述數(shù)據(jù)圖節(jié)點 按照查詢樹自下而上的方向傳遞匹配結果計數(shù)進一步包含以下步驟: [1] 輸入數(shù)據(jù)圖到分布式集群中,每個機器存儲一部分的子圖;跨機器的鄰接點間使 用網(wǎng)絡通信,其他的節(jié)點間使用內(nèi)存通信; [2] 獲得查詢樹高度-1層節(jié)點的label集合; [3] 選擇符合label集合的數(shù)據(jù)節(jié)點作為計算節(jié)點集合; [4] i = 1,N =查詢樹高度,根節(jié)點高度為1 ; [5] 對所有分布式集群中的計算節(jié)點V并行執(zhí)行如下過程; [6] 在i不為1的時候,計算節(jié)點V接受相鄰數(shù)據(jù)節(jié)點發(fā)送過來的匹配查詢樹第N-i+1 層查詢節(jié)點所代表子樹的匹配結果; [7] 計算節(jié)點V根據(jù)V的鄰接表匹配查詢樹第N-i層查詢節(jié)點的獨立子節(jié)點; [8] 計算節(jié)點V根據(jù)接收到的匹配結果匹配查詢樹第N-i層查詢節(jié)點的非獨立子節(jié) 占. [9] 將獨立、非獨立子節(jié)點的匹配結果進行數(shù)據(jù)庫表自然連接操作得到第N-i層查詢 節(jié)點的匹配結果; [10] 判斷當前的結果是否已經(jīng)匹配查詢樹根節(jié)點,如果匹配,結束計算; [11] 不匹配,將中間結果經(jīng)關鍵節(jié)點計數(shù)得到索引計數(shù),發(fā)送給相鄰數(shù)據(jù)節(jié)點,并設置 其為下一輪迭代中的計算節(jié)點; [12] 數(shù)據(jù)節(jié)點計算線程同步,i++,轉(zhuǎn)到[5]。
5. 根據(jù)權利要求4所述的一種子圖匹配的查詢方法,其特征在于:所述步驟[6]計算 節(jié)點匹配查詢樹查詢節(jié)點的獨立子節(jié)點進一步包括以下步驟: [1] 根據(jù)查詢樹來獲得當前查詢節(jié)點對應的子節(jié)點中的獨立查詢節(jié)點集合; [2] 根據(jù)獨立查詢節(jié)點的label,統(tǒng)計當前數(shù)據(jù)節(jié)點V的鄰接點中匹配對應label的節(jié) 點個數(shù),并按照個數(shù)的增序?qū)现械莫毩⒉樵児?jié)點排序; [3] 開始遞歸計算過程; [4] 根據(jù)獨立查詢節(jié)點順序依次獲得下一個待匹配的獨立查詢子節(jié)點u,如果不存在 下一個查詢子節(jié)點則說明已經(jīng)遞歸到最底層,結束當前層遞歸; [5] 接下來根據(jù)查詢節(jié)點u和其label依次枚舉所有的能夠匹配u的數(shù)據(jù)節(jié)點V ; [6] 添加<u, v>到當前匹配結果; [7] 開始下一層的遞歸過程,匹配下一個查詢節(jié)點; [8] 彈出當前層匹配結果中的<u,v> ; [9] 重復[5]-[9]繼續(xù)枚舉數(shù)據(jù)節(jié)點V,直到枚舉完所有能夠匹配u的數(shù)據(jù)節(jié)點; [10] 結束當前層遞歸,返回上一層中的步驟[7]。
6. 根據(jù)權利要求4所述的一種子圖匹配的查詢方法,其特征在于:所述步驟[7]計算 節(jié)點匹配查詢樹查詢節(jié)點的非獨立子節(jié)點還包括確定非獨立子節(jié)點的匹配順序過程,所述 確定匹配順序過程進一步包括以下步驟: [1] 枚舉所有非獨立查詢子節(jié)點的位置; [2] 若集合中沒有未確定順序的非獨立查詢節(jié)點,算法結束; [3] 枚舉集合中所有未確定順序的非獨立查詢節(jié)點; [4] 優(yōu)先選擇其關鍵節(jié)點集和已選取節(jié)點的關鍵節(jié)點集有交集的查詢節(jié)點; [5] 其次選取非獨立查詢節(jié)點u。所代表的子樹的匹配結果最少的節(jié)點; [6] 轉(zhuǎn)到[2]。
7. 根據(jù)權利要求4-6任一所述的一種子圖匹配的查詢方法,其特征在于:所述步驟[7] 計算節(jié)點匹配查詢樹查詢節(jié)點的非獨立子節(jié)點進一步包括以下步驟: [1] 獲得下一個非獨立查詢子節(jié)點U。,如果沒有下一個非獨立查詢子節(jié)點,則當前結果 為最終的匹配結果,加入非獨立子節(jié)點的匹配結果集合,結束當前層遞歸; [2] 根據(jù)查詢子節(jié)點u。取出接收到的匹配u。代表的查詢子樹的結果集; [3] 接下來根據(jù)當前遞歸結果和u。代表的查詢子樹,獲得索引的鍵值; [4] 枚舉u。代表的查詢子樹的匹配結果集中對應上述索引鍵值下的所有中間結果,與 中間結果分別合并; [5] 使用遞歸的方法繼續(xù)匹配后續(xù)的非獨立查詢節(jié)點; [6] 將[4]合并的結果分開; [7] 準備下一次的遞歸過程,重復[4]-[7]直到所有的中間結果枚舉完成。
8. 根據(jù)權利要求4所述的一種子圖匹配的查詢方法,其特征在于:所述將匹配結果經(jīng) 關鍵節(jié)點計數(shù)得到索引計數(shù)進一步包括以下步驟: [1] 枚舉所有匹配結果; [2] 對于每個匹配結果,根據(jù)其匹配的查詢子樹的根節(jié)點,獲得其關鍵節(jié)點集; [3] 根據(jù)關鍵節(jié)點集匹配內(nèi)容建立索引,對相同索引下的不同結果只簡單統(tǒng)計其匹配 的結果個數(shù); [4] 向相鄰的可作為父節(jié)點的數(shù)據(jù)節(jié)點發(fā)送匹配索引和個數(shù); [5] 保存本次完整的發(fā)送/接收記錄。
9. 根據(jù)權利要求1所述的一種子圖匹配的查詢方法,其特征在于:所述數(shù)據(jù)圖節(jié)點按 照查詢樹從根節(jié)點到葉節(jié)點逐層依次發(fā)送匹配要求,直到匹配要求發(fā)送至葉節(jié)點進一步包 括以下步驟: [1] 選擇能夠匹配查詢樹的根節(jié)點的數(shù)據(jù)節(jié)點作為待計算的數(shù)據(jù)節(jié)點集合; [2] i = 1,N =查詢樹高度,根節(jié)點高度為1 ; [3] 對集合中的數(shù)據(jù)節(jié)點V并行執(zhí)行如下過程; [4] 如果i為1,根節(jié)點接收匹配完整查詢樹的要求;否則,數(shù)據(jù)節(jié)點V接收查詢樹第 i-Ι層查詢節(jié)點對應的數(shù)據(jù)節(jié)點的匹配要求; [5] 數(shù)據(jù)節(jié)點V根據(jù)接收到的匹配要求和步驟二保存的發(fā)送\接收記錄,獲得查詢樹 的第i+Ι層查詢節(jié)點的匹配要求; [6] 數(shù)據(jù)節(jié)點計算線程同步,i++ ; [7] 將獲得的匹配要求發(fā)送給相鄰對應的數(shù)據(jù)節(jié)點,這些數(shù)據(jù)節(jié)點作為下一次迭代的 計算節(jié)點;如果i為N-1,算法結束;否則,轉(zhuǎn)到[3]。
10. 根據(jù)權利要求1所述的一種子圖匹配的查詢方法,其特征在于:所述數(shù)據(jù)圖節(jié)點按 照查詢樹從葉節(jié)點到根節(jié)點的順序依次向查詢要求的來源發(fā)送子樹匹配結果進一步包括 以下步驟: [1] 將收到匹配要求的數(shù)據(jù)節(jié)點集合作為計算節(jié)點集合; [2] i = 2, N =查詢樹高度,根節(jié)點高度為1 ; [3] 對集合中的數(shù)據(jù)節(jié)點w并行執(zhí)行如下過程; [4] 數(shù)據(jù)節(jié)點w根據(jù)查詢要求,合并接受的匹配結果,以完成對查詢樹第Ν-i+l層節(jié)點 的匹配; [5] 數(shù)據(jù)節(jié)點計算線程同步,i++;如果匹配的是查詢樹根節(jié)點,轉(zhuǎn)[7];否則,轉(zhuǎn)[6]; [6] 將完整的匹配結果發(fā)送給查詢要求的發(fā)送者,即數(shù)據(jù)圖中匹配查詢樹第N-i層查 詢節(jié)點的數(shù)據(jù)節(jié)點,并將其作為下一次迭代的計算節(jié)點;轉(zhuǎn)[3]; [7] 結束計算。
【文檔編號】G06F17/30GK104392010SQ201410812269
【公開日】2015年3月4日 申請日期:2014年12月23日 優(yōu)先權日:2014年12月23日
【發(fā)明者】金福生, 楊藝峰, 顏震, 薛野, 韓翔宇 申請人:北京理工大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
三台县| 合川市| 聂拉木县| 文水县| 英德市| 楚雄市| 彩票| 霸州市| 崇仁县| 淅川县| 望都县| 温宿县| 铁力市| 昔阳县| 桦甸市| 焦作市| 民勤县| 东台市| 马关县| 共和县| 东辽县| 大兴区| 綦江县| 宜兴市| 油尖旺区| 株洲市| 安平县| 南平市| 个旧市| 大渡口区| 巴林左旗| 蓬莱市| 四平市| 开江县| 自贡市| 桂林市| 酒泉市| 台东县| 靖江市| 石台县| 绥德县|