亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種面向大規(guī)模社交網(wǎng)絡(luò)的圖數(shù)據(jù)存儲(chǔ)及查詢方法_4

文檔序號(hào):8922524閱讀:來(lái)源:國(guó)知局
edis。本發(fā)明的數(shù)據(jù)交換采用報(bào)文的形式傳輸字節(jié)流。而Redis和Neo4j采用查詢命令或語(yǔ)言,降低了數(shù)據(jù)的傳輸效率。此外本發(fā)明的后臺(tái)數(shù)據(jù)寫(xiě)入采用多線程處理,提高的效率。Redis采用事件驅(qū)動(dòng)模型的單線出處理。
[0072]本發(fā)明測(cè)試了本發(fā)明以及比較系Redis和Neo4j在不同并發(fā)量下的遠(yuǎn)程讀性能,該讀性能取了十個(gè)數(shù)據(jù)集下的平均值。
[0073]如圖7所示,遠(yuǎn)程讀操作,本發(fā)明采用了數(shù)據(jù)預(yù)取機(jī)制,能夠批量傳輸有效數(shù)據(jù)。而Redis和Neo4j都沒(méi)有采用預(yù)取機(jī)制。
[0074]實(shí)例2數(shù)據(jù)更新實(shí)例
[0075]本文測(cè)試了本發(fā)明以及比較系Redis和Neo4j的數(shù)據(jù)更新性能,該性能取了十個(gè)數(shù)據(jù)集下的平均值。
[0076]如圖8所示,對(duì)于數(shù)據(jù)的增量更新,本發(fā)明采用了鏈?zhǔn)降姆峙浞绞?,能夠消除?shù)據(jù)插入和刪除引起的數(shù)據(jù)頻繁挪動(dòng)問(wèn)題。而Redis和Neo4j采用了順序分配的方式,隨著數(shù)據(jù)的更新,需要挪動(dòng)數(shù)據(jù),重定位數(shù)據(jù),在這個(gè)過(guò)程中,無(wú)法進(jìn)行新的查詢處理。
[0077]實(shí)例3數(shù)據(jù)遠(yuǎn)程訪問(wèn)實(shí)例
[0078]本文測(cè)試了本發(fā)明在有預(yù)取機(jī)制和非預(yù)取的情況下的性能差異。本發(fā)明提供多種數(shù)據(jù)預(yù)取機(jī)制,便于上層應(yīng)用更加自己的應(yīng)用背景選擇最佳的數(shù)據(jù)預(yù)取方式。本實(shí)驗(yàn)采用BFS預(yù)取,實(shí)驗(yàn)用到的算法是統(tǒng)計(jì)圖數(shù)據(jù)集中圖的總邊數(shù),算法的思路為:將圖的頂點(diǎn)劃分為η個(gè)分片,每個(gè)分片指定一個(gè)線程處理,所有線程并行訪問(wèn)本發(fā)明中的圖數(shù)據(jù)。線程將訪問(wèn)請(qǐng)求中要訪問(wèn)的頂點(diǎn)放入隊(duì)列,然后處理隊(duì)列頭部的頂點(diǎn),訪問(wèn)頂點(diǎn)的鄰域,統(tǒng)計(jì)頂點(diǎn)邊數(shù)。如果當(dāng)前邊的終點(diǎn)位于線程所屬分片,則將該終點(diǎn)放入隊(duì)列。不斷的循環(huán)處理隊(duì)列的首部,直到隊(duì)列為空。但所有的線程完成頂點(diǎn)的統(tǒng)計(jì),將結(jié)果累計(jì),算法結(jié)束。該算法為BFS遍歷算法,能夠很好的利用BFS預(yù)取機(jī)制,預(yù)取數(shù)據(jù)在后續(xù)的訪問(wèn)中,具有很高的命中率。
[0079] 如圖9所示,本發(fā)明提供了多種數(shù)據(jù)預(yù)取機(jī)制,比如順序預(yù)取,BFS預(yù)取和DFS預(yù)取。上層的計(jì)算框架可以選擇最佳的預(yù)取方式批量的從異地獲取圖數(shù)據(jù),圖數(shù)據(jù)訪問(wèn)過(guò)程中,每次讀取數(shù)據(jù)量比較少,雖然相鄰時(shí)間的數(shù)據(jù)讀取是可以預(yù)測(cè)的。通過(guò)將大批小量數(shù)據(jù)的訪問(wèn)積攢成大塊數(shù)據(jù),可以充分利用帶寬資源,降低1啟動(dòng)時(shí)間,這樣我們可以通過(guò)較低的并發(fā)獲得較高的數(shù)據(jù)吞吐率。
【主權(quán)項(xiàng)】
1.一種面向大規(guī)模社交網(wǎng)絡(luò)的圖數(shù)據(jù)存儲(chǔ)方法,其步驟為: 1)數(shù)據(jù)存儲(chǔ)管理器對(duì)收到的圖數(shù)據(jù)采用Key-Value方式存儲(chǔ),其中以圖數(shù)據(jù)的頂點(diǎn)ID為Key,以頂點(diǎn)鄰域?yàn)閂alue ; 2)對(duì)每一頂點(diǎn)鄰域的數(shù)據(jù)存儲(chǔ):將與該頂點(diǎn)鄰域?qū)?yīng)頂點(diǎn)相連的多條邊以時(shí)間戳有序存儲(chǔ)到固定大小的內(nèi)存塊Block中,并使用鏈表結(jié)構(gòu)將所占用的內(nèi)存塊Block構(gòu)成Block雙向鏈表,將該頂點(diǎn)的屬性信息和指向該Block雙向鏈表頭部和尾部的索引信息存儲(chǔ)到一數(shù)據(jù)結(jié)構(gòu)Vertex中。2.如權(quán)利要求1所述的方法,其特征在于,所述內(nèi)存塊Block由一負(fù)責(zé)存儲(chǔ)資源分配的Block池管理器進(jìn)行分配與回收;所述Block雙向鏈表中的內(nèi)存塊Block包括三部分:第一部分為指向Block雙向鏈表中當(dāng)前內(nèi)存塊Block的前一個(gè)內(nèi)存塊Block的指針,第二部分為指向Block雙向鏈表中當(dāng)前內(nèi)存塊Block的后一個(gè)Block的指針,第三部分為當(dāng)前內(nèi)存塊Block存儲(chǔ)的邊。3.如權(quán)利要求2所述的方法,其特征在于,所述步驟2)中,當(dāng)一頂點(diǎn)有新邊需要存儲(chǔ)到頂點(diǎn)鄰域時(shí),將該新邊按時(shí)間戳排序,查看Block雙向鏈表頭部的Block是否未滿,如果未滿,則將該新邊追加在該Block的頭部;如果頭部的Block已滿,則由Block池管理器分配一新的內(nèi)存塊Block并添加到該Block雙向鏈表的頭部,然后將該新邊存儲(chǔ)到該新內(nèi)存塊Block 中。4.如權(quán)利要求1或2或3所述的方法,其特征在于,每一所述內(nèi)存塊Block中設(shè)有一數(shù)據(jù)域,用于保存所存邊的時(shí)間戳區(qū)間;當(dāng)對(duì)頂點(diǎn)領(lǐng)域中的邊進(jìn)行刪除時(shí),從Block雙向鏈表尾部的內(nèi)存塊Block開(kāi)始選取一邊,如果該邊的時(shí)間戳小于尾部?jī)?nèi)存塊Block的時(shí)間戳區(qū)間下界,則結(jié)束刪除操作,如果該邊的時(shí)間戳大于該時(shí)間戳區(qū)間的上界,則從該Block雙向鏈表末尾移除該內(nèi)存塊Block;如果該邊的時(shí)間戳位于該時(shí)間戳區(qū)間內(nèi),則掃描該內(nèi)存塊Block中的邊,刪除比該邊的時(shí)間戳早的邊。5.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)存儲(chǔ)管理器將存儲(chǔ)資源分成兩類(lèi):粗粒度存儲(chǔ)資源和細(xì)粒度存儲(chǔ)資源,所述數(shù)據(jù)存儲(chǔ)管理器的內(nèi)存中設(shè)置有界緩存窗口 ;其中所述粗粒度存儲(chǔ)資源用于存儲(chǔ)設(shè)定的大文件,并常駐于內(nèi)存,所述細(xì)粒度存儲(chǔ)資源用于存儲(chǔ)按需分配的小文件;所述數(shù)據(jù)存儲(chǔ)管理器按需將細(xì)粒度存儲(chǔ)資源載入該有界緩存窗口,當(dāng)該有界緩存窗口被占滿,需要加載新的細(xì)粒度存儲(chǔ)資源時(shí),采用緩存替換算法將該有界緩存窗口中已有的細(xì)粒度存儲(chǔ)資源換出,然后載入新的細(xì)粒度存儲(chǔ)資源。6.如權(quán)利要求5所述的方法,其特征在于,所述粗粒度存儲(chǔ)資源和所述細(xì)粒度存儲(chǔ)資源均劃分成固定大小的所述內(nèi)存塊Block,每一內(nèi)存塊Block擁有唯一的Block ID。7.如權(quán)利要求5所述的方法,其特征在于,所述數(shù)據(jù)存儲(chǔ)管理器首先分配粗粒度存儲(chǔ)資源的內(nèi)存塊Block,當(dāng)粗粒度存儲(chǔ)資源耗盡時(shí),開(kāi)始按需地動(dòng)態(tài)地分配細(xì)粒度存儲(chǔ)資源在內(nèi)存塊Block。8.如權(quán)利要求5所述的方法,其特征在于,所述數(shù)據(jù)存儲(chǔ)器定期地掃描圖數(shù)據(jù),將過(guò)期的圖數(shù)據(jù)從所述粗粒度存儲(chǔ)資源中刪除并轉(zhuǎn)存到所述細(xì)粒度存儲(chǔ)資源中。9.一種基于權(quán)利要求1所述方法存儲(chǔ)的圖數(shù)據(jù)的圖數(shù)據(jù)查詢方法,其特征在于,當(dāng)數(shù)據(jù)存儲(chǔ)管理器收到訪問(wèn)頂點(diǎn)V的訪問(wèn)請(qǐng)求時(shí),數(shù)據(jù)存儲(chǔ)管理器將該頂點(diǎn)V及其k階鄰域傳輸給請(qǐng)求者;請(qǐng)求者將返回?cái)?shù)據(jù)緩存在本地,下次查詢時(shí),首先檢查本地的緩存,如果不存在查詢的頂點(diǎn),則將訪問(wèn)請(qǐng)求發(fā)送給所述數(shù)據(jù)存儲(chǔ)管理器。10.如權(quán)利要求9所述的方法,其特征在于,所述頂點(diǎn)V的k階鄰域?yàn)閺脑擁旤c(diǎn)V出發(fā)經(jīng)過(guò)最短距離k條邊可達(dá)的全部頂點(diǎn)構(gòu)成的集合。
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種面向大規(guī)模社交網(wǎng)絡(luò)的圖數(shù)據(jù)存儲(chǔ)及查詢方法,本發(fā)明數(shù)據(jù)存儲(chǔ)管理器對(duì)收到的圖數(shù)據(jù)采用Key-Value方式存儲(chǔ),以圖數(shù)據(jù)的頂點(diǎn)ID為Key,以頂點(diǎn)鄰域?yàn)閂alue;對(duì)每一頂點(diǎn)鄰域的數(shù)據(jù)存儲(chǔ):將與該頂點(diǎn)鄰域相連的多條邊以時(shí)間戳有序存儲(chǔ)到固定大小的內(nèi)存塊中,并構(gòu)成雙向鏈表,將該頂點(diǎn)的屬性信息和索引信息存儲(chǔ)到一數(shù)據(jù)結(jié)構(gòu)中。當(dāng)數(shù)據(jù)存儲(chǔ)管理器收到訪問(wèn)頂點(diǎn)v的訪問(wèn)請(qǐng)求時(shí),數(shù)據(jù)存儲(chǔ)管理器將該頂點(diǎn)v及其k階鄰域傳輸給請(qǐng)求者;請(qǐng)求者將返回?cái)?shù)據(jù)緩存在本地,下次查詢時(shí),首先檢查本地的緩存,如果不存在查詢的頂點(diǎn),則將訪問(wèn)請(qǐng)求發(fā)送給所述數(shù)據(jù)存儲(chǔ)管理器。本發(fā)明能滿足動(dòng)態(tài)更新、適合處理數(shù)據(jù)稀疏的場(chǎng)景和隨機(jī)訪問(wèn)。
【IPC分類(lèi)】G06F12/06
【公開(kāi)號(hào)】CN104899156
【申請(qǐng)?zhí)枴緾N201510229346
【發(fā)明人】周薇, 包秀國(guó), 馬宏遠(yuǎn), 程工, 冉攀峰, 劉春陽(yáng), 王卿, 韓冀中, 龐琳, 李雄, 賀敏, 劉瑋
【申請(qǐng)人】中國(guó)科學(xué)院信息工程研究所, 國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)與信息安全管理中心
【公開(kāi)日】2015年9月9日
【申請(qǐng)日】2015年5月7日
當(dāng)前第4頁(yè)1 2 3 4 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1