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

一種基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法

文檔序號(hào):6537320閱讀:356來(lái)源:國(guó)知局
一種基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法
【專利摘要】本發(fā)明公開(kāi)了一種基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法,包括如下步驟:步驟1.用戶發(fā)起數(shù)據(jù)存儲(chǔ)請(qǐng)求,主服務(wù)器將接收到的數(shù)據(jù)進(jìn)行數(shù)據(jù)抽象,得到點(diǎn)數(shù)據(jù)、邊數(shù)據(jù)以及屬性數(shù)據(jù),并為每個(gè)數(shù)據(jù)申請(qǐng)索引值;步驟2.主服務(wù)器根據(jù)數(shù)據(jù)類型向?qū)?yīng)的從服務(wù)器存儲(chǔ)數(shù)據(jù);步驟3.用戶發(fā)起查詢請(qǐng)求,主服務(wù)器分析查詢請(qǐng)求所采用的圖形查詢語(yǔ)言并將查詢請(qǐng)求提交給關(guān)系服務(wù)器;步驟4.關(guān)系服務(wù)器對(duì)所述查詢請(qǐng)求基于索引值進(jìn)行查詢遍歷,并將查詢結(jié)果返回至主服務(wù)器;步驟5.主服務(wù)器處理返回的查詢結(jié)果,并向用戶發(fā)送處理結(jié)果。本發(fā)明方法提供了一個(gè)能夠進(jìn)行水平擴(kuò)展的數(shù)據(jù)庫(kù),為數(shù)據(jù)計(jì)算和數(shù)據(jù)分析提供了極大的便利。
【專利說(shuō)明】一種基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)處理領(lǐng)域,尤其涉及一種基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法。【背景技術(shù)】
[0002]隨著信息技術(shù)的不斷發(fā)展,海量大數(shù)據(jù)的存儲(chǔ)系統(tǒng)占據(jù)了舉足輕重的地位。當(dāng)今時(shí)代,在數(shù)據(jù)量每分每秒都在以幾何級(jí)別增長(zhǎng)的趨勢(shì)下,能夠應(yīng)對(duì)海量大數(shù)據(jù)的不斷膨脹和在不影響查詢效率小的持久性維持,同時(shí)需要支持快速有效率的數(shù)據(jù)結(jié)果查詢請(qǐng)求。一個(gè)有效和優(yōu)秀的大數(shù)據(jù)存儲(chǔ)體系的設(shè)計(jì)和構(gòu)建成為了當(dāng)下最為關(guān)鍵和熱火的討論話題之一。在保持高速查詢和遍歷的情況下,如何保證大數(shù)據(jù)的持久性維護(hù)和擴(kuò)容成為了本文提到的大數(shù)據(jù)存儲(chǔ)系統(tǒng)的設(shè)計(jì)基本思想。
[0003]傳統(tǒng)的大數(shù)據(jù)存儲(chǔ)大多都基于關(guān)系型數(shù)據(jù)庫(kù)和單純“鍵值對(duì)”非關(guān)系型數(shù)據(jù)庫(kù)。在關(guān)系型數(shù)據(jù)庫(kù)中,對(duì)于數(shù)據(jù)之間的內(nèi)在關(guān)系表示都是基于表格和表格之間的連接操作。由于表格和表格之間進(jìn)行連接操作是非常耗時(shí)的。所以對(duì)數(shù)據(jù)關(guān)系的查詢和基于圖數(shù)據(jù)庫(kù)的查詢相比是比較耗時(shí)的。在圖數(shù)據(jù)庫(kù)中,其數(shù)據(jù)的存儲(chǔ)基礎(chǔ)就是基于點(diǎn)和點(diǎn)之間的關(guān)系進(jìn)行設(shè)計(jì)的,所以基于數(shù)據(jù)關(guān)系的查詢和遍歷在圖數(shù)據(jù)庫(kù)中是更加適合的,其執(zhí)行效率在很大程度上都會(huì)表現(xiàn)得非常優(yōu)秀。單純“鍵值對(duì)”的非關(guān)系型數(shù)據(jù)庫(kù)可以存儲(chǔ)無(wú)關(guān)系的數(shù)據(jù),當(dāng)數(shù)據(jù)和數(shù)據(jù)之間存在必須的關(guān)系時(shí),單純“鍵值對(duì)”架構(gòu)在數(shù)據(jù)存儲(chǔ)方面就會(huì)變的非常棘手和無(wú)力。單純“鍵值對(duì)”模式的數(shù)據(jù)存儲(chǔ)體系對(duì)數(shù)據(jù)存儲(chǔ)容量能力的擴(kuò)展是非常適用的,但是在對(duì)數(shù)據(jù)之間關(guān)系的數(shù)據(jù)存儲(chǔ)會(huì)通過(guò)形式化的轉(zhuǎn)化,進(jìn)行復(fù)雜的存儲(chǔ)。這樣就會(huì)導(dǎo)致查詢效率的低下。所以對(duì)于一個(gè)能夠支持存儲(chǔ)能力水平橫向擴(kuò)展、支持基于數(shù)據(jù)關(guān)系的用戶定義的高效查詢和遍歷的大數(shù)據(jù)存儲(chǔ)體系是非常迫切需要的。
[0004]一個(gè)優(yōu)秀的大數(shù)據(jù)存儲(chǔ)體系會(huì)給很多系統(tǒng)帶來(lái)很多幫助,無(wú)論是對(duì)于數(shù)據(jù)計(jì)算和數(shù)據(jù)分析都會(huì)帶來(lái)極大的便利。同時(shí)基于數(shù)據(jù)關(guān)系優(yōu)秀的大數(shù)據(jù)庫(kù)會(huì)對(duì)現(xiàn)在的互聯(lián)網(wǎng)模式——Web2.0,以用戶主導(dǎo)而產(chǎn)生的內(nèi)容為互聯(lián)網(wǎng)產(chǎn)品下,數(shù)據(jù)之間的關(guān)系會(huì)比數(shù)據(jù)本身更加值得關(guān)注和研究計(jì)算。

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

[0005]本發(fā)明在圖論的基礎(chǔ)上,提供了一種大數(shù)據(jù)存儲(chǔ)及查找的方法,以適應(yīng)當(dāng)今海量數(shù)據(jù)的存儲(chǔ)和查找。
[0006]一種基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法,包括如下步驟:
[0007]步驟1,用戶發(fā)起數(shù)據(jù)存儲(chǔ)請(qǐng)求,主服務(wù)器將接收到的數(shù)據(jù)進(jìn)行數(shù)據(jù)抽象,得到點(diǎn)數(shù)據(jù)、邊數(shù)據(jù)以及屬性數(shù)據(jù)三類數(shù)據(jù),并為每個(gè)數(shù)據(jù)申請(qǐng)索引值;
[0008]步驟2,主服務(wù)器根據(jù)數(shù)據(jù)類型向?qū)?yīng)的從服務(wù)器存儲(chǔ)數(shù)據(jù),所述從服務(wù)器包括關(guān)系服務(wù)器和數(shù)值服務(wù)器;
[0009]步驟3,用戶發(fā)起查詢請(qǐng)求,主服務(wù)器分析查詢請(qǐng)求所采用的圖形查詢語(yǔ)言,分析出查詢所涉及到的點(diǎn)數(shù)據(jù)和邊數(shù)據(jù),并將分析得到的數(shù)據(jù)作為查詢請(qǐng)求提交給關(guān)系服務(wù)器;
[0010]步驟4,關(guān)系服務(wù)器對(duì)所述查詢請(qǐng)求基于索引值進(jìn)行查詢遍歷,并將查詢結(jié)果返回至主服務(wù)器;
[0011]步驟5,主服務(wù)器處理返回的查詢結(jié)果,并向用戶發(fā)送處理結(jié)果。
[0012]利用本發(fā)明基于圖論的數(shù)據(jù)存儲(chǔ)及查詢方法的數(shù)據(jù)庫(kù),在數(shù)據(jù)存儲(chǔ)方面和數(shù)據(jù)查詢遍歷方面,都是將其索引值和真正的數(shù)據(jù)分開(kāi)存儲(chǔ)的。其中索引值是由點(diǎn)和邊通過(guò)申請(qǐng)全局唯一 ID來(lái)統(tǒng)一分配的,用于指示數(shù)據(jù)的存儲(chǔ)位置。
[0013]主服務(wù)器存儲(chǔ)整個(gè)集群的配置關(guān)系、從服務(wù)器的數(shù)據(jù)狀態(tài)信息和數(shù)據(jù)的存儲(chǔ)位置,負(fù)責(zé)集群的整體調(diào)度。同時(shí)主服務(wù)器負(fù)責(zé)接受用戶的數(shù)據(jù)和查詢請(qǐng)求。從服務(wù)器包括關(guān)系服務(wù)器和若干數(shù)值服務(wù)器,其中關(guān)系服務(wù)器用于存儲(chǔ)數(shù)據(jù)的索引關(guān)系,包括點(diǎn)數(shù)據(jù)和數(shù)據(jù);數(shù)值服務(wù)器負(fù)責(zé)存儲(chǔ)基于點(diǎn)數(shù)據(jù)索引值和邊數(shù)據(jù)索引值的屬性數(shù)據(jù)。多個(gè)數(shù)值服務(wù)器的情況下,數(shù)值服務(wù)器之間是數(shù)據(jù)無(wú)關(guān)的,所以數(shù)值服務(wù)器支持集群的水平的擴(kuò)展和添加,如圖4所示。
[0014]在步驟I中,點(diǎn)數(shù)據(jù)和邊數(shù)據(jù)所分配的索引值是全局唯一的。
[0015]屬性數(shù)據(jù)表示點(diǎn)數(shù)據(jù)和邊數(shù)據(jù)的屬性,其索引值由點(diǎn)數(shù)據(jù)和邊數(shù)據(jù)決定。
[0016]步驟2中,存儲(chǔ)數(shù)據(jù)的方法為:
[0017]步驟2-1,主服務(wù)器根據(jù)數(shù)據(jù)類型向?qū)?yīng)的從服務(wù)器發(fā)送存儲(chǔ)請(qǐng)求;
[0018]步驟2-2,各個(gè)從服務(wù)器在接收到存儲(chǔ)請(qǐng)求后存儲(chǔ)數(shù)據(jù),并向主服務(wù)器發(fā)送反饋消息;
[0019]步驟2-3,主服務(wù)器根據(jù)反饋消息進(jìn)行相應(yīng)處理:反饋消息為存儲(chǔ)成功消息,則主服務(wù)器向用戶發(fā)送存儲(chǔ)成功消息并結(jié)束;反饋消息為存儲(chǔ)失敗消息,則主服務(wù)器再次向發(fā)送存儲(chǔ)失敗消息的從服務(wù)器發(fā)送存儲(chǔ)請(qǐng)求,進(jìn)入步驟2-4 ;
[0020]步驟2-4,重復(fù)步驟2-2和步驟2-3,直至達(dá)到存儲(chǔ)請(qǐng)求次數(shù)的上限值,此時(shí)主服務(wù)器進(jìn)行存儲(chǔ)請(qǐng)求的延遲處理并結(jié)束。
[0021]一個(gè)集群中的從服務(wù)器可能包括多個(gè)數(shù)值服務(wù)器,主服務(wù)器第一次向所有的從服務(wù)器發(fā)送存儲(chǔ)請(qǐng)求,此后再次發(fā)送存儲(chǔ)請(qǐng)求時(shí),主服務(wù)器僅對(duì)發(fā)送存儲(chǔ)失敗消息的服務(wù)
[0022]在步驟2-1中,主服務(wù)器據(jù)數(shù)據(jù)類型向?qū)?yīng)的服務(wù)器發(fā)送存儲(chǔ)請(qǐng)求的方法為,對(duì)數(shù)據(jù)類型進(jìn)行判斷并采用對(duì)應(yīng)的模式向?qū)?yīng)的服務(wù)器發(fā)送存儲(chǔ)請(qǐng)求:
[0023]數(shù)據(jù)類型為邊數(shù)據(jù),則將邊數(shù)據(jù)作為存儲(chǔ)請(qǐng)求發(fā)送至關(guān)系服務(wù)器;
[0024]數(shù)據(jù)類型為點(diǎn)數(shù)據(jù)和屬性數(shù)據(jù),則將點(diǎn)數(shù)據(jù)和屬性數(shù)據(jù)作為存儲(chǔ)請(qǐng)求發(fā)送至數(shù)值服務(wù)器。
[0025]其中點(diǎn)數(shù)據(jù)所存儲(chǔ)的數(shù)值服務(wù)器地址是在主服務(wù)器上進(jìn)行搜尋得到的,且在主服務(wù)器上記錄有所述點(diǎn)數(shù)據(jù)所存儲(chǔ)的數(shù)值服務(wù)器地址。
[0026]所述邊數(shù)據(jù)為鄰接鏈表形式。
[0027]其中,鄰接鏈表是指,為圖中的每個(gè)點(diǎn)建立的一個(gè)單鏈表,所述單鏈表用于存儲(chǔ)該點(diǎn)的所有鄰接點(diǎn)及其索引值。
[0028]所述屬性數(shù)據(jù)為鍵值對(duì)形式。
[0029]其中,所述鍵值對(duì)是指,以點(diǎn)數(shù)據(jù)或者邊數(shù)據(jù)的索引值為鍵,以屬性數(shù)據(jù)為值,建立鍵值對(duì)。[0030]所述圖形查詢語(yǔ)言包括:查詢遍歷的起始點(diǎn)、圖形的匹配模式、查詢遍歷的過(guò)濾條件以及返回結(jié)果的形式。
[0031]圖形匹配模式包括:相關(guān)節(jié)點(diǎn)模式、接出關(guān)系模式、定向關(guān)系模式、關(guān)系類型匹配模式、多種關(guān)系匹配模式以及最短路徑模式。其中,返回結(jié)果的形式包括數(shù)值展開(kāi)或者索引表示的形式。由用戶設(shè)定描述性的圖形查詢語(yǔ)言,用于描述查詢的方式以及返回結(jié)果的形式,具有較高的靈活性。
[0032]關(guān)系服務(wù)器基于索引值進(jìn)行查詢遍歷的方法為,判斷是否需要點(diǎn)數(shù)據(jù)和邊數(shù)據(jù)之間的屬性數(shù)據(jù)來(lái)繼續(xù)遍歷:是,則向主服務(wù)器發(fā)送屬性數(shù)據(jù)請(qǐng)求,主服務(wù)器從對(duì)應(yīng)的數(shù)值服務(wù)器獲取屬性數(shù)據(jù)發(fā)送至關(guān)系服務(wù)器,所述關(guān)系服務(wù)器根據(jù)屬性數(shù)據(jù)繼續(xù)進(jìn)行查詢遍歷;否則,直接繼續(xù)進(jìn)行查詢遍歷。
[0033]關(guān)系服務(wù)器會(huì)進(jìn)行基于索引值的查詢遍歷,只當(dāng)點(diǎn)數(shù)據(jù)和邊數(shù)據(jù)對(duì)應(yīng)的屬性數(shù)據(jù)必須被使用到時(shí)候,關(guān)系服務(wù)器才會(huì)向主服務(wù)器發(fā)出屬性數(shù)據(jù)請(qǐng)求,隨后主服務(wù)器會(huì)通過(guò)屬性數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)記錄向數(shù)值服務(wù)器發(fā)出數(shù)據(jù)請(qǐng)求。
[0034]根據(jù)用戶所設(shè)置的返回結(jié)果形式,將返回結(jié)果基于索引進(jìn)行數(shù)據(jù)展開(kāi)或者直接向用戶提供索引查詢結(jié)果。
[0035]關(guān)系服務(wù)器查詢遍歷得到的查詢結(jié)果也是基于索引值的,當(dāng)主服務(wù)器接收到關(guān)系服務(wù)器的查詢結(jié)果時(shí),才會(huì)將返回結(jié)果基于索引值根據(jù)用戶需要進(jìn)行展開(kāi)或者直接提供。
[0036]本發(fā)明方法提供了一個(gè)能夠進(jìn)行水平擴(kuò)展的數(shù)據(jù)庫(kù),為數(shù)據(jù)計(jì)算和數(shù)據(jù)分析提供了極大的便利。
【專利附圖】

【附圖說(shuō)明】
[0037]圖1為本發(fā)明方法的步驟流程圖;
[0038]圖2為本發(fā)明方法一個(gè)實(shí)施例的數(shù)據(jù)關(guān)系示意圖;
[0039]圖3為本發(fā)明方法數(shù)據(jù)抽象應(yīng)用于網(wǎng)絡(luò)用戶的示意圖;
[0040]圖4為本發(fā)明當(dāng)前實(shí)施例支持水平容量擴(kuò)展的圖數(shù)據(jù)庫(kù)架構(gòu)圖;
[0041]圖5為本發(fā)明當(dāng)前實(shí)施例中傳統(tǒng)文件系統(tǒng)抽象映射于圖論的示意圖。
【具體實(shí)施方式】
[0042]現(xiàn)結(jié)合具體實(shí)施例以及說(shuō)明書附圖對(duì)本發(fā)明進(jìn)行解釋。
[0043]本發(fā)明方法的一個(gè)實(shí)施例基于傳統(tǒng)文件系統(tǒng)進(jìn)行本發(fā)明方法的流程如圖1所示:
[0044]步驟1:用戶發(fā)起數(shù)據(jù)存儲(chǔ)請(qǐng)求,主服務(wù)器將接收到的數(shù)據(jù)進(jìn)行抽象分類,并為每個(gè)數(shù)據(jù)申請(qǐng)索引值。
[0045]主服務(wù)器將整個(gè)數(shù)據(jù)存儲(chǔ)體系中的數(shù)據(jù)抽象為三大類形式:“點(diǎn)”(點(diǎn)數(shù)據(jù))、“邊”(邊數(shù)據(jù))和“屬性”(屬性數(shù)據(jù))這三個(gè)概念,其中各個(gè)數(shù)據(jù)關(guān)系如圖2所示。其中,每個(gè)“點(diǎn)”都代表一個(gè)數(shù)據(jù);“點(diǎn)”和“點(diǎn)”之間的“邊”代表了數(shù)據(jù)和數(shù)據(jù)之間的關(guān)系,即關(guān)系數(shù)據(jù);“點(diǎn)”和“邊”都同時(shí)擁有屬性數(shù)據(jù),其中邊數(shù)據(jù)為有向邊數(shù)據(jù),即“邊”具有方向性的,也就是通常意義上圖論中有向圖內(nèi)有向邊方向性的概念。其中邊數(shù)據(jù)存儲(chǔ)形式為鄰接鏈表模式,屬性數(shù)據(jù)存儲(chǔ)形式為鍵值對(duì)模式。同時(shí)每個(gè)點(diǎn)數(shù)據(jù)和邊數(shù)據(jù)都擁有全局唯一的索引值。圖3所示為一個(gè)簡(jiǎn)單的基于圖存儲(chǔ)的例子。其中描述了關(guān)于社交人群之間粉絲與阻止的關(guān)系,描述的就是數(shù)據(jù)與數(shù)據(jù)之間的關(guān)系。
[0046]本發(fā)明當(dāng)前實(shí)施例所采用的系統(tǒng)為了能夠讓數(shù)據(jù)存儲(chǔ)對(duì)大數(shù)據(jù)存儲(chǔ)形式的支持更加廣泛性,系統(tǒng)會(huì)著重處理和支持傳統(tǒng)文件系統(tǒng)。因?yàn)槿绻髷?shù)據(jù)存儲(chǔ)系統(tǒng)支持了傳統(tǒng)的文件系統(tǒng),對(duì)其他的數(shù)據(jù)關(guān)系存儲(chǔ)模型就會(huì)變得非常簡(jiǎn)單和有效率。
[0047]因此在第一實(shí)施例中,數(shù)據(jù)滿足以下條件:
[0048]①文件夾和文件都被抽象為點(diǎn)數(shù)據(jù),文件與文件夾之間區(qū)別之處只在于它們含有不同的索引值且它們的屬性數(shù)據(jù)不同;
[0049]②文件夾和文件的包含關(guān)系被抽象為邊數(shù)據(jù),父文件夾“包含”子文件,子文件“被包含”于父文件夾中,亦即文件夾和文件之間存在一種有向邊的關(guān)系;
[0050]③文件的符號(hào)鏈接也被抽象為邊數(shù)據(jù),亦即文件和文件存在邊的關(guān)系。文件的符號(hào)鏈接包括軟鏈接和硬鏈接,硬鏈接表示同一個(gè)文件可以擁有別名,也就意味著點(diǎn)數(shù)據(jù)含有不同的索引值,但是其中數(shù)據(jù)擁有相同的屬性數(shù)據(jù)。軟鏈接表示同一個(gè)文件、同一個(gè)文件名的鏈接符號(hào),那就意味著點(diǎn)數(shù)據(jù)含有相同的索引值。
[0051]為所有數(shù)據(jù)分配索引值的方法為:如果是點(diǎn)數(shù)據(jù),則為其申請(qǐng)全局唯一點(diǎn)ID,為點(diǎn)數(shù)據(jù)分配全局唯一的索引值,并在主服務(wù)器上查到可以為其存儲(chǔ)的數(shù)值服務(wù)器地址,在主服務(wù)器上記錄下來(lái)其存儲(chǔ)的位置;如果是邊數(shù)據(jù),則為其申請(qǐng)全局唯一邊ID,為其分配好索引數(shù)據(jù),然后在主服務(wù)器的記錄上找到其兩邊端點(diǎn)的索引ID ;如果是屬性數(shù)據(jù),則查找到該屬性的父節(jié)點(diǎn)ID。
[0052]步驟2,主服務(wù)器根據(jù)數(shù)據(jù)類型向?qū)?yīng)的從服務(wù)器存儲(chǔ)數(shù)據(jù),所述從服務(wù)器包括關(guān)系服務(wù)器和數(shù)值服務(wù)器。
[0053]步驟2-1,主服務(wù)器根據(jù)數(shù)據(jù)類型向?qū)?yīng)的從服務(wù)器發(fā)送存儲(chǔ)請(qǐng)求。如果是點(diǎn)數(shù)據(jù),則根據(jù)分配的數(shù)值服務(wù)器存儲(chǔ)地址,將點(diǎn)數(shù)據(jù)通過(guò)網(wǎng)絡(luò)傳輸?shù)姆绞綄⒋鎯?chǔ)請(qǐng)求發(fā)向?qū)?yīng)的數(shù)值服務(wù)器;如果是邊數(shù)據(jù),則將邊數(shù)據(jù)根據(jù)索引值將存儲(chǔ)請(qǐng)求以鄰接鏈表發(fā)向?qū)?yīng)的關(guān)系服務(wù)器;如果是屬性數(shù)據(jù),則將屬性數(shù)據(jù)以鍵值對(duì)形式發(fā)向?qū)?yīng)的數(shù)值服務(wù)器。
[0054]步驟2-2,各個(gè)從服務(wù)器在接收到存儲(chǔ)請(qǐng)求后存儲(chǔ)數(shù)據(jù),并向主服務(wù)器發(fā)送反饋消息;
[0055]步驟2-3,主服務(wù)器根據(jù)反饋消息進(jìn)行相應(yīng)處理:反饋消息為存儲(chǔ)成功消息,則主服務(wù)器向用戶發(fā)送存儲(chǔ)成功消息并結(jié)束;反饋消息為存儲(chǔ)失敗消息,則主服務(wù)器再次向發(fā)送存儲(chǔ)失敗消息的從服務(wù)器發(fā)送存儲(chǔ)請(qǐng)求,進(jìn)入步驟2-4 ;
[0056]步驟2-4,重復(fù)步驟2-2和步驟2_3,直至主服務(wù)器不再接收到存儲(chǔ)失敗消息。
[0057]如圖5所示,顯示了當(dāng)前實(shí)施例基于“點(diǎn)-關(guān)系”存儲(chǔ)方式進(jìn)行傳統(tǒng)文件的存儲(chǔ),如圖所示,根目錄包含文件夾A,文件夾A包含文件B和文件夾C,其中文件夾C包含文件D,文件B通過(guò)軟鏈接到文件D。其中文件和文件夾都被理解抽象為點(diǎn)數(shù)據(jù),文件夾包含文件被理解抽象為有向的邊數(shù)據(jù),軟鏈接也被理解抽象為邊數(shù)據(jù),每個(gè)文件或者文件夾都包含其屬性數(shù)據(jù):包括文件最新修改時(shí)間、文件創(chuàng)建時(shí)間、文件大小、文件類型和文件校驗(yàn)值等等。
[0058]這樣整個(gè)傳統(tǒng)的文件系統(tǒng)就可以被抽象映射到基于圖存儲(chǔ)的數(shù)據(jù)存儲(chǔ)體系中。僅用點(diǎn)數(shù)據(jù)和邊數(shù)據(jù)就可以描寫表示整個(gè)傳統(tǒng)的文件系統(tǒng)。
[0059]步驟3,用戶發(fā)起查詢請(qǐng)求,主服務(wù)器分析查詢請(qǐng)求所采用的圖形查詢語(yǔ)言并將查詢請(qǐng)求提交給關(guān)系服務(wù)器。[0060]主服務(wù)器接收用戶發(fā)出定義的一種描述性的圖形查詢語(yǔ)言,該圖形查詢語(yǔ)言包括圖論中查詢遍歷的起始點(diǎn)、圖形的匹配模式、遍歷過(guò)濾條件和返回所需要的結(jié)果。
[0061]主服務(wù)器分析用戶提供的圖形查詢語(yǔ)言之后,會(huì)將查詢請(qǐng)求打包提交給關(guān)系服務(wù)器,此時(shí)進(jìn)入步驟4,關(guān)系服務(wù)器會(huì)進(jìn)行基于索引數(shù)據(jù)的圖論遍歷。
[0062]步驟4,關(guān)系服務(wù)器對(duì)所述查詢請(qǐng)求基于索引值進(jìn)行查詢遍歷,并將查詢結(jié)果返回至主服務(wù)器。
[0063]其中基于索引值進(jìn)行查詢遍歷時(shí),根據(jù)索引值查詢得到對(duì)應(yīng)的數(shù)據(jù)。主服務(wù)器根據(jù)用戶提供的圖形查詢語(yǔ)言,分析其需要展開(kāi)索引的地方。比如說(shuō)在條件篩選中含有屬性的表示,則需要將相對(duì)應(yīng)的成員替代為索引值展開(kāi)后的數(shù)據(jù)。
[0064]如果“點(diǎn)”和“邊”的屬性數(shù)據(jù)必須被使用才可以繼續(xù)遍歷查詢的時(shí)候,關(guān)系服務(wù)器會(huì)向主服務(wù)器發(fā)出屬性數(shù)據(jù)請(qǐng)求。
[0065]如果主服務(wù)器接收到屬性數(shù)據(jù)請(qǐng)求時(shí),主服務(wù)器會(huì)根據(jù)數(shù)據(jù)存儲(chǔ)記錄向?qū)?yīng)的數(shù)值服務(wù)器發(fā)出數(shù)據(jù)打包請(qǐng)求。當(dāng)獲得結(jié)果之后,會(huì)將需要查詢的屬性數(shù)據(jù)返回給關(guān)系服務(wù)器。
[0066]步驟5,主服務(wù)器處理返回的查詢結(jié)果,并向用戶發(fā)送處理結(jié)果。
[0067]關(guān)系服務(wù)器查詢返回得到的結(jié)果也是基于索引的,當(dāng)主服務(wù)器接收到關(guān)系服務(wù)器返回的查詢結(jié)果時(shí),根據(jù)用戶設(shè)定的返回結(jié)果形式,將返回結(jié)果基于索引進(jìn)行數(shù)據(jù)展開(kāi)或者直接向用戶提供索引查詢結(jié)果。如此,知道查詢遍歷的時(shí)候遇到需要展開(kāi)的地方就通過(guò)索弓I在數(shù)值服務(wù)器上進(jìn)行數(shù)據(jù)展開(kāi)。
[0068]本發(fā)明方法提供了一個(gè)能夠進(jìn)行水平擴(kuò)展的數(shù)據(jù)庫(kù),為數(shù)據(jù)計(jì)算和數(shù)據(jù)分析提供了極大的便利。
【權(quán)利要求】
1.一種基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法,其特征在于,包括如下步驟: 步驟1,用戶發(fā)起數(shù)據(jù)存儲(chǔ)請(qǐng)求,主服務(wù)器將接收到的數(shù)據(jù)進(jìn)行數(shù)據(jù)抽象,得到點(diǎn)數(shù)據(jù)、邊數(shù)據(jù)以及屬性數(shù)據(jù)三類數(shù)據(jù),并為每個(gè)數(shù)據(jù)申請(qǐng)索引值; 步驟2,主服務(wù)器根據(jù)數(shù)據(jù)類型向?qū)?yīng)的從服務(wù)器存儲(chǔ)數(shù)據(jù),所述從服務(wù)器包括關(guān)系服務(wù)器和數(shù)值服務(wù)器; 步驟3,用戶發(fā)起查詢請(qǐng)求,主服務(wù)器分析查詢請(qǐng)求所采用的圖形查詢語(yǔ)言,分析出查詢所涉及到的點(diǎn)數(shù)據(jù)和邊數(shù)據(jù),并將分析得到的數(shù)據(jù)作為查詢請(qǐng)求提交給關(guān)系服務(wù)器; 步驟4,關(guān)系服務(wù)器對(duì)所述查詢請(qǐng)求基于索引值進(jìn)行查詢遍歷,并將查詢結(jié)果返回至主服務(wù)器; 步驟5,主服務(wù)器處理返回的查詢結(jié)果,并向用戶發(fā)送處理結(jié)果。
2.如權(quán)利要求1所述基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法,其特征在于,在步驟I中,點(diǎn)數(shù)據(jù)和邊數(shù)據(jù)所分配的索引值是全局唯一的。
3.如權(quán)利要求1所述基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法,其特征在于,步驟2中,存儲(chǔ)數(shù)據(jù)的方法為: 步驟2-1,主服務(wù)器根據(jù)數(shù)據(jù)類型向?qū)?yīng)的從服務(wù)器發(fā)送存儲(chǔ)請(qǐng)求; 步驟2-2,各個(gè)從服務(wù)器在接收到存儲(chǔ)請(qǐng)求后存儲(chǔ)數(shù)據(jù),并向主服務(wù)器發(fā)送反饋消息; 步驟2-3,主服務(wù)器根據(jù)反饋消息進(jìn)行相應(yīng)`處理:反饋消息為存儲(chǔ)成功消息,則主服務(wù)器向用戶發(fā)送存儲(chǔ)成功消息并結(jié)束;反饋消息為存儲(chǔ)失敗消息,則主服務(wù)器再次向發(fā)送存儲(chǔ)失敗消息的從服務(wù)器發(fā)送存儲(chǔ)請(qǐng)求,進(jìn)入步驟2-4 ; 步驟2-4,重復(fù)步驟2-2和步驟2-3,直至達(dá)到存儲(chǔ)請(qǐng)求次數(shù)的上限值,此時(shí)主服務(wù)器進(jìn)行存儲(chǔ)請(qǐng)求的延遲處理并結(jié)束。
4.如權(quán)利要求3所述基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法,其特征在于,在步驟2-1中,主服務(wù)器據(jù)數(shù)據(jù)類型向?qū)?yīng)的服務(wù)器發(fā)送存儲(chǔ)請(qǐng)求的方法為,對(duì)數(shù)據(jù)類型進(jìn)行判斷并采用對(duì)應(yīng)的模式向?qū)?yīng)的服務(wù)器發(fā)送存儲(chǔ)請(qǐng)求: 數(shù)據(jù)類型為邊數(shù)據(jù),則將邊數(shù)據(jù)作為存儲(chǔ)請(qǐng)求發(fā)送至關(guān)系服務(wù)器; 數(shù)據(jù)類型為點(diǎn)數(shù)據(jù)和屬性數(shù)據(jù),則將點(diǎn)數(shù)據(jù)和屬性數(shù)據(jù)作為存儲(chǔ)請(qǐng)求發(fā)送至數(shù)值服務(wù)器。
5.如權(quán)利要求4所述基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法,其特征在于,所述邊數(shù)據(jù)為鄰接鏈表形式。
6.如權(quán)利要求4所述基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法,其特征在于,所述屬性數(shù)據(jù)為鍵值對(duì)形式。
7.如權(quán)利要求1所述基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法,其特征在于,所述圖形查詢語(yǔ)言包括:查詢遍歷的起始點(diǎn)、圖形的匹配模式、查詢遍歷的過(guò)濾條件以及返回結(jié)果的形式。
8.如權(quán)利要求1所述基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法,其特征在于,關(guān)系服務(wù)器基于索引值進(jìn)行查詢遍歷的方法為,判斷是否需要點(diǎn)數(shù)據(jù)和邊數(shù)據(jù)之間的屬性數(shù)據(jù)來(lái)繼續(xù)遍歷: 是,則向主服務(wù)器發(fā)送屬性數(shù)據(jù)請(qǐng)求,主服務(wù)器從對(duì)應(yīng)的數(shù)值服務(wù)器獲取屬性數(shù)據(jù)發(fā)送至關(guān)系服務(wù)器,所述關(guān)系服務(wù)器根據(jù)屬性數(shù)據(jù)繼續(xù)進(jìn)行查詢遍歷;否則,直接繼續(xù)進(jìn)行查詢遍歷。
9.如權(quán)利要求7所述基于圖論的大數(shù)據(jù)存儲(chǔ)及查詢方法,其特征在于,主服務(wù)器處理查詢結(jié)果的方式為:根據(jù)用戶所設(shè)置的返回結(jié)果的形式,將返回結(jié)果基于索引進(jìn)行數(shù)據(jù)展開(kāi)或者直接向用戶提供索引查 詢結(jié)果。
【文檔編號(hào)】G06F17/30GK103823846SQ201410042350
【公開(kāi)日】2014年5月28日 申請(qǐng)日期:2014年1月28日 優(yōu)先權(quán)日:2014年1月28日
【發(fā)明者】陳華鈞, 陳云路, 林久對(duì), 鄭國(guó)軸, 楊建華, 陶金火, 吳朝暉 申請(qǐng)人:浙江大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1