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

一種數(shù)據(jù)驅(qū)動(dòng)的圖查詢方法及裝置

文檔序號(hào):40638923發(fā)布日期:2025-01-10 18:45閱讀:3來源:國(guó)知局
一種數(shù)據(jù)驅(qū)動(dòng)的圖查詢方法及裝置

本發(fā)明屬于圖計(jì)算效率優(yōu)化領(lǐng)域,更具體地,涉及一種數(shù)據(jù)驅(qū)動(dòng)的圖查詢方法及裝置。


背景技術(shù):

1、隨著大數(shù)據(jù)技術(shù)的發(fā)展,圖數(shù)據(jù)得到了廣泛使用。如社交網(wǎng)絡(luò)、推薦系統(tǒng)、物聯(lián)網(wǎng)(iot)網(wǎng)絡(luò)等,這些數(shù)據(jù)通常以圖的形式表示。以社交網(wǎng)絡(luò)為例,每個(gè)社交網(wǎng)絡(luò)用戶都可以視為圖中的一個(gè)節(jié)點(diǎn)。這些節(jié)點(diǎn)可以包含用戶的個(gè)人信息,如用戶名、頭像、年齡、性別等屬性。用戶之間的社交關(guān)系(如好友關(guān)系、關(guān)注關(guān)系)可以通過邊來表示。例如,如果用戶a關(guān)注了用戶b,則在圖中就會(huì)有一條從a指向b的邊。用戶之間的好友關(guān)系會(huì)隨時(shí)間發(fā)生變化,新的好友關(guān)系會(huì)創(chuàng)建新的邊,已有的關(guān)系斷絕會(huì)導(dǎo)致邊的刪除。

2、在圖結(jié)構(gòu)數(shù)據(jù)的應(yīng)用中,常涉及到點(diǎn)對(duì)點(diǎn)查詢,其目的在于獲取源頂點(diǎn)和目的頂點(diǎn)之間的特定路徑,這種獨(dú)特的遍歷特性顯著提高了查詢效率,擴(kuò)展了點(diǎn)對(duì)點(diǎn)查詢?cè)谌粘?chǎng)景中的適用性。例如,在地圖上優(yōu)化物流路線,在社交平臺(tái)上通過社交網(wǎng)絡(luò)分析推薦朋友,以及在支付平臺(tái)上分析財(cái)務(wù)評(píng)估中的風(fēng)險(xiǎn)傳播。這些應(yīng)用程序日益增長(zhǎng)的需求對(duì)底層圖結(jié)構(gòu)上的并發(fā)點(diǎn)對(duì)點(diǎn)查詢提出了挑戰(zhàn)。

3、以往的研究遵循點(diǎn)對(duì)所有算法的并發(fā)執(zhí)行模式,而忽視了點(diǎn)對(duì)點(diǎn)算法的優(yōu)化潛力;即使進(jìn)行點(diǎn)對(duì)點(diǎn)算法的優(yōu)化,要么也專注于優(yōu)化單個(gè)點(diǎn)對(duì)點(diǎn)查詢的速度,而忽視了并發(fā)查詢的吞吐量??傮w而言,現(xiàn)有的圖數(shù)據(jù)的并發(fā)點(diǎn)對(duì)點(diǎn)查詢效率不高,無法有效滿足上層應(yīng)用需求。


技術(shù)實(shí)現(xiàn)思路

1、針對(duì)現(xiàn)有技術(shù)的缺陷和改進(jìn)需求,本發(fā)明提供了一種數(shù)據(jù)驅(qū)動(dòng)的圖查詢方法及裝置,其目的在于,提高系統(tǒng)對(duì)于圖數(shù)據(jù)并發(fā)點(diǎn)對(duì)點(diǎn)查詢的執(zhí)行效率。

2、為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種數(shù)據(jù)驅(qū)動(dòng)的圖查詢方法,包括:

3、將由待執(zhí)行的點(diǎn)對(duì)點(diǎn)查詢構(gòu)成的查詢池劃分為多個(gè)查詢集;同一查詢集內(nèi)點(diǎn)對(duì)點(diǎn)查詢的相似度高于不同查詢集間點(diǎn)對(duì)點(diǎn)查詢的相似度,且查詢集大小不超過預(yù)設(shè)的并發(fā)查詢數(shù)n;

4、將待查詢的圖結(jié)構(gòu)劃分為多個(gè)共享圖塊;

5、依次執(zhí)行各查詢集;對(duì)于當(dāng)前執(zhí)行的查詢集,并行執(zhí)行其中的點(diǎn)對(duì)點(diǎn)查詢,且在執(zhí)行過程中,實(shí)時(shí)計(jì)算各共享圖塊的優(yōu)先級(jí),按照優(yōu)先級(jí)從高到底的順序?qū)⒐蚕韴D塊加載到末級(jí)緩存中;

6、其中,在任一時(shí)刻,共享圖塊的優(yōu)先級(jí)與其所關(guān)聯(lián)的點(diǎn)對(duì)點(diǎn)查詢數(shù)量正相關(guān);與點(diǎn)對(duì)點(diǎn)查詢關(guān)聯(lián)的共享圖塊包含了該點(diǎn)對(duì)點(diǎn)查詢所需的活動(dòng)頂點(diǎn)。

7、進(jìn)一步地,對(duì)于任意兩個(gè)點(diǎn)對(duì)點(diǎn)查詢qi和qj,其相似性為:

8、

9、其中,sij表示點(diǎn)對(duì)點(diǎn)查詢qi和qj間的相似性;和分別表示點(diǎn)對(duì)點(diǎn)查詢qi的源頂點(diǎn)和目的頂點(diǎn),和分別表示點(diǎn)對(duì)點(diǎn)查詢qj的源頂點(diǎn)和目的頂點(diǎn);表示和間的距離,表示和間的距離。

10、進(jìn)一步地,在任一時(shí)刻,共享圖塊的優(yōu)先級(jí)為:

11、

12、其中,p表示共享圖塊的優(yōu)先級(jí);nquery表示共享圖塊所關(guān)聯(lián)的點(diǎn)對(duì)點(diǎn)查詢數(shù);表示共享圖塊所包含的活動(dòng)頂點(diǎn)中熱頂點(diǎn)的比例,熱頂點(diǎn)為度數(shù)超過預(yù)設(shè)閾值的頂點(diǎn);ω1和ω2為預(yù)設(shè)的權(quán)重系數(shù)。

13、進(jìn)一步地,待查詢的圖結(jié)構(gòu)的邊按源頂點(diǎn)id升序順序存儲(chǔ)于邊列表中;

14、并且,將待查詢的圖結(jié)構(gòu)劃分為多個(gè)共享圖塊,包括:

15、按照預(yù)設(shè)的共享圖塊大小,計(jì)算每個(gè)共享圖塊所能容納的邊數(shù)c,并按順序?qū)⑦吜斜碇械倪厔澐譃槎鄠€(gè)邏輯分區(qū);各邏輯分區(qū)包含c條邊;

16、將各邏輯分區(qū)中邊的數(shù)量、第一條邊的源頂點(diǎn)id、最后一條邊的源頂點(diǎn)id存儲(chǔ)到相應(yīng)的數(shù)據(jù)結(jié)構(gòu)tblock中;

17、每個(gè)邏輯分區(qū)所對(duì)應(yīng)的圖結(jié)構(gòu)為一個(gè)共享圖塊。

18、進(jìn)一步地,共享圖塊大小滿足:除去末級(jí)緩存的保留冗余空間后,末級(jí)緩存的剩余空間足以存儲(chǔ)共享圖塊及其所對(duì)應(yīng)的邏輯分區(qū)信息。

19、進(jìn)一步地,共享圖塊大小滿足:

20、

21、其中,sblock表示共享圖塊的大小,sgraph表示邏輯分區(qū)的大小,|v|表示頂點(diǎn)總數(shù),vvertex表示單個(gè)頂點(diǎn)的存儲(chǔ)開銷,sllc表示末級(jí)緩存大小,sreserve表示保留冗余空間。

22、進(jìn)一步地,本發(fā)明提供的數(shù)據(jù)驅(qū)動(dòng)的圖查詢方法,還包括:當(dāng)共享圖塊被加載到末級(jí)緩存時(shí),執(zhí)行預(yù)處理操作;預(yù)處理操作包括:

23、識(shí)別共享圖塊中的熱頂點(diǎn),并將熱頂點(diǎn)中度數(shù)最高的m個(gè)頂點(diǎn)識(shí)別為全局頂點(diǎn),其余熱頂點(diǎn)對(duì)應(yīng)的圖結(jié)構(gòu)作為核心子圖;熱頂點(diǎn)為度數(shù)超過預(yù)設(shè)閾值的頂點(diǎn);

24、分別獲得每一個(gè)全局頂點(diǎn)到共享圖塊中每一個(gè)頂點(diǎn)的查詢結(jié)果,并利用查詢結(jié)果構(gòu)建查詢結(jié)果表分別獲得共享圖塊中每一個(gè)頂點(diǎn)到每一個(gè)全局節(jié)點(diǎn)的查詢結(jié)果,并利用查詢結(jié)果構(gòu)建查詢結(jié)果表和中,源頂點(diǎn)和目的頂點(diǎn)相同的點(diǎn)對(duì)點(diǎn)查詢,其查詢結(jié)果為無窮大;

25、并且,對(duì)于任意一個(gè)以頂點(diǎn)vs為源頂點(diǎn)、以頂點(diǎn)vd為目的頂點(diǎn)的點(diǎn)對(duì)點(diǎn)查詢q(vs,vd),其初始的邊界值bound的確定方式包括:

26、從查詢結(jié)果表中獲取以頂點(diǎn)vs為源頂點(diǎn)、以全局頂點(diǎn)為目的頂點(diǎn)的點(diǎn)對(duì)點(diǎn)查詢的查詢結(jié)果r(vs,vi);vi∈vglobal,vglobal表示全局頂點(diǎn)集合;

27、從查詢結(jié)果表中獲取以全局頂點(diǎn)為源頂點(diǎn),以頂點(diǎn)vd為目的頂點(diǎn)的點(diǎn)對(duì)點(diǎn)查詢的查詢結(jié)果r(vi,vd);

28、對(duì)于全局頂點(diǎn)集合vglobal中的每一個(gè)全局頂點(diǎn)vi,計(jì)算r(vs,vi)+r(vi,vd),并將最小的計(jì)算結(jié)果初始化為點(diǎn)對(duì)點(diǎn)查詢q(vs,vd)的邊界值bound。

29、進(jìn)一步地,預(yù)處理操作還包括:

30、初始化查詢結(jié)果表tsubgraph,用于記錄核心子圖中各頂點(diǎn)對(duì)之間的查詢結(jié)果;核心子圖中,兩個(gè)熱頂點(diǎn)對(duì)間的路徑稱之為熱路徑段;

31、并且,點(diǎn)對(duì)點(diǎn)查詢q(vs,vd)的執(zhí)行包括:

32、步驟s1:遍歷頂點(diǎn)vs的出鄰居頂點(diǎn)vj,并計(jì)算頂點(diǎn)vs與其各出鄰居節(jié)點(diǎn)vj間的邊權(quán)重作為頂點(diǎn)vs到vj之間的查詢結(jié)果r,并將vj作為活動(dòng)頂點(diǎn),得到活動(dòng)頂點(diǎn)集;

33、步驟s2:若vs到vj構(gòu)成有效路徑,且r<bound,則將邊界值bound的值更新為r的值;有效路徑為以vs為源頂點(diǎn)、以vd為目的頂點(diǎn)的路徑;

34、步驟s3:若活動(dòng)頂點(diǎn)集為空,則轉(zhuǎn)入步驟s7;否則,轉(zhuǎn)入步驟s4;

35、步驟s4:對(duì)于活動(dòng)頂點(diǎn)集中的每一個(gè)頂點(diǎn)va,若為熱頂點(diǎn),則將每一個(gè)熱頂點(diǎn)均作為其出鄰居頂點(diǎn),并將查詢結(jié)果表tsubgraph中相應(yīng)的熱路徑段查詢結(jié)果作為邊權(quán)重;遍歷頂點(diǎn)va的出鄰居頂點(diǎn)van,并計(jì)算頂點(diǎn)va與其各出鄰居頂點(diǎn)van間的邊權(quán)重w(va,van),并按照r=r+w(va,van)更新頂點(diǎn)vs到van間的查詢結(jié)果;

36、步驟s5:若r>bound,則頂點(diǎn)vs到van間的路徑剪枝掉;若剩余路徑中存在有效路徑,且有效路徑對(duì)應(yīng)的最小查詢結(jié)果小于邊界值bound,則將邊界值更新為有效路徑對(duì)應(yīng)的最小查詢結(jié)果;

37、步驟s6:將剩余路徑的目的頂點(diǎn)作為下一輪迭代的活動(dòng)頂點(diǎn),得到下一輪迭代的活動(dòng)頂點(diǎn)集,并轉(zhuǎn)入步驟s3;

38、步驟s7:將剩余路徑中具有最小查詢結(jié)果的有效路徑確定為點(diǎn)對(duì)點(diǎn)查詢q(vs,vd)的查詢路徑,并將該最小查詢結(jié)果確定為最終的查詢結(jié)果;

39、若點(diǎn)對(duì)點(diǎn)查詢q(vs,vd)的查詢路徑中包括熱路徑段,且查詢結(jié)果表tsubgraph中未記載該熱路徑段的查詢結(jié)果,則從點(diǎn)對(duì)點(diǎn)查詢q(vs,vd)的查詢路徑提取該熱路徑段的查詢結(jié)果并記載于查詢結(jié)果表tsubgraph中。

40、按照本發(fā)明的又一個(gè)方面,提供了一種數(shù)據(jù)驅(qū)動(dòng)的圖查詢裝置,包括:

41、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和處理器;

42、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)用于存儲(chǔ)計(jì)算機(jī)程序;

43、處理器用于讀取計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)的計(jì)算機(jī)程序,執(zhí)行本發(fā)明提供的上述數(shù)據(jù)驅(qū)動(dòng)的圖查詢方法。

44、總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案,能夠取得以下有益效果:

45、(1)本發(fā)明發(fā)現(xiàn),對(duì)底層圖結(jié)構(gòu)的查詢會(huì)出現(xiàn)重疊效應(yīng),即圖中72%-90%的頂點(diǎn)被多個(gè)查詢?cè)L問,這會(huì)導(dǎo)致大量冗余的數(shù)據(jù)訪問,嚴(yán)重影響并發(fā)點(diǎn)對(duì)點(diǎn)查詢的執(zhí)行效率;基于這一發(fā)現(xiàn),本發(fā)明按照將相似度較高的點(diǎn)對(duì)點(diǎn)查詢劃分至同一查詢集,其中的點(diǎn)對(duì)點(diǎn)查詢將在同一批次中被執(zhí)行,相似的點(diǎn)對(duì)點(diǎn)查詢,在路徑遍歷的過程中,訪問的數(shù)據(jù)重疊度較高,從而同一批次的點(diǎn)對(duì)點(diǎn)查詢可共享相同的數(shù)據(jù)塊,實(shí)現(xiàn)了數(shù)據(jù)共享,由此可以避免將相同數(shù)據(jù)反復(fù)加載到末級(jí)緩存(llc)中,同時(shí),本發(fā)明將圖結(jié)構(gòu)劃分為細(xì)粒度的共享圖塊,并按照所關(guān)聯(lián)的查詢數(shù)確定各共享圖塊被加載到llc中的優(yōu)先級(jí),使得關(guān)聯(lián)查詢數(shù)較多的共享圖塊將被優(yōu)先加載到llc中,可有效提高查詢執(zhí)行時(shí)命中l(wèi)lc的命中率,從而有效提高并發(fā)點(diǎn)對(duì)點(diǎn)查詢的執(zhí)行效率。

46、(2)點(diǎn)對(duì)點(diǎn)查詢涉及到路徑查詢,查詢的源頂點(diǎn)和目的頂點(diǎn)同時(shí)也是所查詢的路徑的源頂點(diǎn)和目的頂點(diǎn);在本發(fā)明的優(yōu)選方案中,對(duì)于兩個(gè)點(diǎn)對(duì)點(diǎn)查詢,基于源頂點(diǎn)和目的頂點(diǎn)間的距離完成相似度計(jì)算,具體地,以二者源頂點(diǎn)間的距離與目的頂點(diǎn)間的距離之和的倒數(shù)作為查詢間的相似度,能夠準(zhǔn)確的計(jì)算查詢之間的相似度。

47、(3)考慮到熱頂點(diǎn)具有較高的訪問頻率,在本發(fā)明的優(yōu)選方案中,具體將所關(guān)聯(lián)的查詢數(shù)和活動(dòng)頂點(diǎn)中熱頂點(diǎn)的比例進(jìn)行加權(quán)求和作為相應(yīng)共享圖塊的優(yōu)先級(jí),由此使得關(guān)聯(lián)較多查詢,且熱頂點(diǎn)占比較高的共享圖塊,將具有較高的優(yōu)先級(jí),并被有限加載到llc中,由此能夠進(jìn)一步提高llc的命中率,并降低緩存替換的次數(shù),進(jìn)一步提高并發(fā)點(diǎn)對(duì)點(diǎn)查詢的執(zhí)行效率。

48、(4)在本發(fā)明的優(yōu)選方案中,借助邏輯分區(qū)將物理上連續(xù)的圖結(jié)構(gòu)數(shù)據(jù)劃分為邏輯上獨(dú)立的塊,并基于邊列表的有序性,僅將各邏輯分區(qū)中邊的數(shù)量、第一條邊的源頂點(diǎn)id、最后一條邊的源頂點(diǎn)id存儲(chǔ)到相應(yīng)的數(shù)據(jù)結(jié)構(gòu)tblock中,在保證完成共享圖塊劃分的同時(shí),降低了共享圖塊的維護(hù)開銷。

49、(5)在本發(fā)明的優(yōu)選方案中,所確定的共享圖塊大小,確保一個(gè)共享圖塊及相關(guān)信息可完整地存儲(chǔ)到llc中,由此可以充分利用llc的容量;在其進(jìn)一步優(yōu)選的方案中,同時(shí)考慮邏輯分區(qū)大小、頂點(diǎn)總數(shù)、頂點(diǎn)的平均存儲(chǔ)成本、并發(fā)查詢數(shù)、llc大小以及保留冗余空間這些因素,確定共享圖塊的最大粒度,在適應(yīng)llc大小的同時(shí)避免了過多的調(diào)度開銷。

50、(6)在本發(fā)明的優(yōu)選方案中,執(zhí)行點(diǎn)對(duì)點(diǎn)查詢時(shí),會(huì)依據(jù)度數(shù)識(shí)別共享圖塊中的熱頂點(diǎn),并將度數(shù)最高的部分熱頂點(diǎn)作為全局頂點(diǎn),并借助經(jīng)過全局頂點(diǎn)的路徑確定查詢的初始邊界值,由此優(yōu)化了剪枝機(jī)制,使得開始執(zhí)行點(diǎn)對(duì)點(diǎn)查詢時(shí),即可有效剔除不可能成為最終查詢路徑的路徑,避免了不必要的計(jì)算,降低計(jì)算開銷的同時(shí)提高查詢效率。

51、(7)本發(fā)明發(fā)現(xiàn),不同的查詢可能會(huì)涉及到對(duì)同一路徑段的重復(fù)計(jì)算,這會(huì)導(dǎo)致冗余計(jì)算,基于這一發(fā)現(xiàn),在本發(fā)明的優(yōu)選方案中,本發(fā)明將全局頂點(diǎn)之外的熱頂點(diǎn)分配給核心子圖,核心子圖中兩頂點(diǎn)間的路徑段被定義為熱路徑段,且熱路徑段的查詢結(jié)果被記錄下來,在執(zhí)行點(diǎn)對(duì)點(diǎn)查詢時(shí),熱路徑段的查詢結(jié)果只會(huì)被計(jì)算一次,此后的查詢則將直接利用該計(jì)算結(jié)果,由此實(shí)現(xiàn)了計(jì)算共享,基于計(jì)算共享,本發(fā)明可有效減少冗余計(jì)算,提高查詢效率的同時(shí)降低計(jì)算開銷。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
闵行区| 鲁山县| 双柏县| 鄄城县| 雷山县| 光山县| 大荔县| 慈利县| 伊通| 拜城县| 元谋县| 红安县| 洞口县| 阿克苏市| 汉沽区| 讷河市| 无棣县| 三亚市| 滕州市| 建德市| 阳高县| 禹城市| 新乡县| 修文县| 睢宁县| 宿松县| 嘉兴市| 富平县| 桂东县| 合川市| 承德市| 达孜县| 长海县| 金平| 高州市| 博湖县| 吉木萨尔县| 永安市| 满城县| 治多县| 河南省|