專利名稱:一種對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對等網(wǎng)絡(luò)數(shù)據(jù)管理技術(shù),特別是指一種對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的方法及系統(tǒng)。
背景技術(shù):
對等(Peer to Peer,P2P)網(wǎng)絡(luò)是一種分布式網(wǎng)絡(luò),網(wǎng)絡(luò)的參與者共享各自所擁有的資源和服務(wù)。通常這些資源和服務(wù)的共享包括信息的共享與交換、計(jì)算資源,例如CPU,的共享、存儲資源,例如緩存和磁盤空間,的共享等。這些共享資源和服務(wù)能被網(wǎng)絡(luò)中的任意對等節(jié)點(diǎn)(Peer)訪問。在對等網(wǎng)絡(luò)中的每個(gè)參與者都既是資源和服務(wù)提供者(server),又是資源和服務(wù)獲取者(client)。
結(jié)構(gòu)化P2P網(wǎng)絡(luò)通常采用分布哈希表(Disrtibutded Hash Table,DHT)方法作為資源定位技術(shù)。DHT方法中同時(shí)實(shí)現(xiàn)了 P2P系統(tǒng)的拓?fù)錁?gòu)造、消息路由和資源搜索三大功能。在DHT方法中,每個(gè)節(jié)點(diǎn)都有唯一的節(jié)點(diǎn)標(biāo)識,即通過哈希函數(shù)根據(jù)其IP地址得到或根據(jù)某種規(guī)則動態(tài)創(chuàng)建,系統(tǒng)根據(jù)節(jié)點(diǎn)標(biāo)識構(gòu)建P2P網(wǎng)絡(luò)拓?fù)?。每個(gè)節(jié)點(diǎn)都維護(hù)一個(gè)“路由表”,其中保存了相關(guān)鄰居節(jié)點(diǎn)的信息。DHT消息路由過程與IP路由過程相似,每個(gè)節(jié)點(diǎn)根據(jù)所述路由表將消息轉(zhuǎn)發(fā)到相應(yīng)的鄰居節(jié)點(diǎn)上,直到消息最終到達(dá)目標(biāo)節(jié)點(diǎn)。當(dāng)節(jié)點(diǎn)加入或退出時(shí),各相關(guān)節(jié)點(diǎn)需要修改路由表,并動態(tài)調(diào)整,以維護(hù)分布哈希表的一致性。但是,在這種結(jié)構(gòu)化的P2P網(wǎng)絡(luò)中存儲的數(shù)據(jù),通常只能根據(jù)主關(guān)鍵詞進(jìn)行精確查找,如果要根據(jù)被搜索信息的某個(gè)特定搜索屬性進(jìn)行查詢則比較困難,例如根據(jù)詞語片段進(jìn)行條件或模糊查詢則比較困難。現(xiàn)有技術(shù)中能夠?qū)崿F(xiàn)根據(jù)屬性進(jìn)行查找的常用技術(shù)是選擇一些性能較高的節(jié)點(diǎn)作為超級節(jié)點(diǎn),將元數(shù)據(jù)隨機(jī)存儲在某個(gè)超級節(jié)點(diǎn)上。普通節(jié)點(diǎn)進(jìn)行模糊查詢時(shí),將查詢請求發(fā)給某個(gè)超級節(jié)點(diǎn),例如超級節(jié)點(diǎn)A,然后由該超級節(jié)點(diǎn)A向其余所有超級節(jié)點(diǎn)轉(zhuǎn)發(fā)查詢,所有超級節(jié)點(diǎn)對本地存儲的元數(shù)據(jù)進(jìn)行模糊查詢,然后將查詢結(jié)果返回給轉(zhuǎn)發(fā)請求的超級節(jié)點(diǎn)A,再由超級節(jié)點(diǎn)A將查詢結(jié)果返回給普通節(jié)點(diǎn)。針對上述技術(shù)現(xiàn)有的數(shù)據(jù)存儲和查詢的具體步驟如下所述圖I為現(xiàn)有技術(shù)的數(shù)據(jù)存儲的流程示意圖,如圖I所示,所述存儲流程包括步驟101,數(shù)據(jù)存儲請求節(jié)點(diǎn)對需要存儲的數(shù)據(jù)的主標(biāo)識哈希運(yùn)算后得到數(shù)據(jù)資源標(biāo)識,即資源ID;步驟102,數(shù)據(jù)存儲請求節(jié)點(diǎn)通過P2P算法向數(shù)據(jù)存儲節(jié)點(diǎn)發(fā)送存儲請求;步驟103,數(shù)據(jù)存儲節(jié)點(diǎn)根據(jù)收到的存儲請求將數(shù)據(jù)存儲下來,并向請求節(jié)點(diǎn)返回結(jié)果;步驟104,數(shù)據(jù)存儲請求節(jié)點(diǎn)隨機(jī)選擇一個(gè)超級節(jié)點(diǎn)A,向其發(fā)送存儲元數(shù)據(jù)的請求,其中包含索引信息,即需要存儲的數(shù)據(jù)的主標(biāo)識和數(shù)據(jù)存儲節(jié)點(diǎn)的索引信息;步驟105,超級節(jié)點(diǎn)A根據(jù)收到的請求存儲該元數(shù)據(jù),并向請求節(jié)點(diǎn)返回結(jié)果。這樣,粗要存儲的數(shù)據(jù)及其索引信息就存儲在P2P網(wǎng)絡(luò)中了,網(wǎng)絡(luò)中的節(jié)點(diǎn)可以對其進(jìn)行條件或模糊查詢。圖2為現(xiàn)有技術(shù)的數(shù)據(jù)查詢的流程示意圖,如圖2所示,所述查詢流程包括步驟201,數(shù)據(jù)查詢請求節(jié)點(diǎn)指定查詢條件,通過一個(gè)超級節(jié)點(diǎn)向所有超級節(jié)點(diǎn)發(fā)送查詢元數(shù)據(jù)的請求;步驟202,所有超級節(jié)點(diǎn)都根據(jù)收到的查詢條件,在本地存儲的元數(shù)據(jù)中進(jìn)行查詢滿足條件的元數(shù)據(jù);步驟203,所有超級節(jié)點(diǎn)向數(shù)據(jù)查詢請求節(jié)點(diǎn)返回查詢結(jié)果;步驟204,數(shù)據(jù)查詢請求節(jié)點(diǎn)從查詢到的元數(shù)據(jù)中讀取數(shù)據(jù)的主標(biāo)識,進(jìn)行哈希運(yùn)算后得到資源ID ;
步驟205,數(shù)據(jù)查詢請求節(jié)點(diǎn)根據(jù)P2P算法向數(shù)據(jù)存儲節(jié)點(diǎn)發(fā)送查詢數(shù)據(jù)請求;步驟206,數(shù)據(jù)存儲節(jié)點(diǎn)根據(jù)資源ID取得對應(yīng)的數(shù)據(jù),并將其向查詢請求節(jié)點(diǎn)返回。這樣,數(shù)據(jù)查詢節(jié)點(diǎn)就根據(jù)部分或全部匹配條件取得了需要的數(shù)據(jù)。
但在這種方法中所有元數(shù)據(jù),即索引數(shù)據(jù),都較集中的存儲在數(shù)量較少的超級節(jié)點(diǎn)上,導(dǎo)致超級節(jié)點(diǎn)的存儲和查詢負(fù)擔(dān)較重;而且,每次條件查詢都要查詢?nèi)砍壒?jié)點(diǎn),導(dǎo)致查詢效率較低。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的方法及系統(tǒng),解決了現(xiàn)有技術(shù)中必須將索引數(shù)據(jù)集中的存儲在數(shù)量較少的超級節(jié)點(diǎn)上,導(dǎo)致超級節(jié)點(diǎn)的存儲和查詢負(fù)擔(dān)較重的問題,并且解決了查詢效率較低的問題。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明提供了一種對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的方法,所述方法包括根據(jù)需要存儲的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將所述需要存儲的數(shù)據(jù)存入數(shù)據(jù)存儲節(jié)點(diǎn);根據(jù)所述數(shù)據(jù)的各個(gè)搜索屬性確定索引存儲節(jié)點(diǎn),將數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識,以及所述搜索屬性的索引關(guān)系存入所述索引存儲節(jié)點(diǎn);查詢數(shù)據(jù)時(shí),根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)查詢到索引關(guān)系后,根據(jù)其中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識查詢獲得對應(yīng)的數(shù)據(jù)。其中,當(dāng)指定的數(shù)據(jù)需要刪除時(shí),所述方法還包括根據(jù)所述指定的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將刪除請求發(fā)送給數(shù)據(jù)存儲節(jié)點(diǎn);數(shù)據(jù)存儲節(jié)點(diǎn)刪除所述數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)的各搜索屬性分別向各索引存儲節(jié)點(diǎn)發(fā)送刪除索引請求;各索引存儲節(jié)點(diǎn)接到刪除索引請求后,刪除對應(yīng)的索引關(guān)系。其中,所述搜索屬性包括屬性名稱和屬性值。其中,所述確定的索引存儲節(jié)點(diǎn),包括針對各個(gè)單獨(dú)的搜索屬性預(yù)設(shè)的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn);或者根據(jù)各個(gè)單獨(dú)的搜索屬性的屬性名生成一個(gè)或多個(gè)屬性資源標(biāo)識,然后根據(jù)對等(P2P)算法確定的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)。其中,所述根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)查詢到索引關(guān)系,包括根據(jù)待查詢的搜索屬性確定索引存儲節(jié)點(diǎn)后,發(fā)送查詢請求;一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)根據(jù)查詢請求進(jìn)行匹配,得到符合匹配的所有索引關(guān)系。其中,所述根據(jù)其中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識查詢獲得對應(yīng)的數(shù)據(jù),具體為根據(jù)各個(gè)索引關(guān)系中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識確定各數(shù)據(jù)存儲節(jié)點(diǎn),然后從各數(shù)據(jù)存儲節(jié)點(diǎn)獲取查詢得到的數(shù)據(jù)。本發(fā)明還提供了一種對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的系統(tǒng),所述系統(tǒng)包括數(shù)據(jù)存儲請求節(jié)點(diǎn)、數(shù)據(jù)存儲節(jié)點(diǎn)、索引存儲節(jié)點(diǎn)和數(shù)據(jù)查詢請求節(jié)點(diǎn),其中,所述數(shù)據(jù)存儲請求節(jié)點(diǎn),用于根據(jù)需要存儲的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將所述需要存儲的數(shù)據(jù)存入數(shù)據(jù)存儲節(jié)點(diǎn),根據(jù)所述數(shù)據(jù)的各個(gè)搜索屬性確定索引存儲節(jié)點(diǎn),將數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識,以及所述搜索屬性的索引關(guān)系存入所述索引存儲節(jié)點(diǎn);所述數(shù)據(jù)查詢請求節(jié)點(diǎn),用于查詢數(shù)據(jù)時(shí),根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)查
詢到索引關(guān)系后,根據(jù)其中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識查詢獲得對應(yīng)的數(shù)據(jù)。其中,所述系統(tǒng)還包括數(shù)據(jù)刪除請求節(jié)點(diǎn),用于當(dāng)指定的數(shù)據(jù)需要刪除時(shí),根據(jù)所述指定的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將刪除請求發(fā)送給數(shù)據(jù)存儲節(jié)點(diǎn);所述數(shù)據(jù)存儲節(jié)點(diǎn),還用于刪除所述數(shù)據(jù),根據(jù)所述數(shù)據(jù)的各搜索屬性分別向各索引存儲節(jié)點(diǎn)發(fā)送刪除索引請求;所述索引存儲節(jié)點(diǎn),還用于接到刪除索引請求后,刪除對應(yīng)的索引關(guān)系。其中,所述搜索屬性包括屬性名稱和屬性值;所述確定的索引存儲節(jié)點(diǎn),包括針對各個(gè)單獨(dú)的搜索屬性預(yù)設(shè)的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn);或者根據(jù)各個(gè)單獨(dú)的搜索屬性的屬性名生成一個(gè)或多個(gè)屬性資源標(biāo)識,然后根據(jù)P2P算法確定的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)。其中,所述數(shù)據(jù)查詢請求節(jié)點(diǎn)根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)查詢到索引關(guān)系,包括所述數(shù)據(jù)查詢請求節(jié)點(diǎn)根據(jù)待查詢的搜索屬性確定索引存儲節(jié)點(diǎn)后,發(fā)送查詢請求;一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)根據(jù)查詢請求進(jìn)行匹配,得到符合匹配的所有索引關(guān)系。本發(fā)明所提供的對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的方法及系統(tǒng),根據(jù)需要存儲的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將所述需要存儲的數(shù)據(jù)存入數(shù)據(jù)存儲節(jié)點(diǎn);根據(jù)所述數(shù)據(jù)的各個(gè)搜索屬性確定索引存儲節(jié)點(diǎn),將數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識,以及所述搜索屬性的索引關(guān)系存入所述索引存儲節(jié)點(diǎn);查詢數(shù)據(jù)時(shí),根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)查詢到索引關(guān)系后,根據(jù)其中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識查詢獲得對應(yīng)的數(shù)據(jù)。能夠?qū)⑺饕龜?shù)據(jù)分散的存儲在P2P網(wǎng)絡(luò)的不同的節(jié)點(diǎn)中,不再局限于存儲在超級節(jié)點(diǎn)中,提高了存儲和查詢的分散性;在進(jìn)行條件查詢時(shí)只查詢相關(guān)的一個(gè)或少數(shù)幾個(gè)節(jié)點(diǎn),查詢效率比較高。
圖I為現(xiàn)有技術(shù)的數(shù)據(jù)存儲的流程示意圖;圖2為現(xiàn)有技術(shù)的數(shù)據(jù)查詢的流程示意圖;圖3為本發(fā)明一種對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的方法流程示意圖;圖4為本發(fā)明實(shí)施例一中數(shù)據(jù)存儲的流程示意圖;圖5為本發(fā)明實(shí)施例一中數(shù)據(jù)查詢的流程示意圖;圖6為本發(fā)明實(shí)施例一中數(shù)據(jù)刪除的流程示意圖7為本發(fā)明實(shí)施例一的網(wǎng)絡(luò)結(jié)構(gòu)示意圖;圖8為本發(fā)明一種對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明的基本思想是根據(jù)需要存儲的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將所述需要存儲的數(shù)據(jù)存入數(shù)據(jù)存儲節(jié)點(diǎn);根據(jù)所述數(shù)據(jù)的各個(gè)搜索屬性確定索引存儲節(jié)點(diǎn),將數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識,以及所述搜索屬性的索引關(guān)系存入所述索引存儲節(jié)點(diǎn);查詢數(shù)據(jù)時(shí),根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)查詢到索引關(guān)系后,根據(jù)其中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識查詢獲得對應(yīng)的數(shù)據(jù)。下面結(jié)合附圖和具體實(shí)施例對本發(fā)明的技術(shù)方案進(jìn)一步詳細(xì)闡述。圖3為本發(fā)明一種對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的方法流程示意圖,如圖3所示,所 述方法具體包括以下步驟步驟301,根據(jù)需要存儲的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將所述需要存儲的數(shù)據(jù)存入數(shù)據(jù)存儲節(jié)點(diǎn);具體的,所述根據(jù)需要存儲的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識,具體為根據(jù)需要存儲的數(shù)據(jù)的唯一標(biāo)識,進(jìn)行哈希運(yùn)算生成數(shù)據(jù)資源標(biāo)識。所述將所述需要存儲的數(shù)據(jù)存入數(shù)據(jù)存儲節(jié)點(diǎn),具體為根據(jù)網(wǎng)絡(luò)所采用的P2P算法確定數(shù)據(jù)存儲節(jié)點(diǎn),然后將數(shù)據(jù)存入數(shù)據(jù)存儲節(jié)點(diǎn)中。步驟302,根據(jù)所述數(shù)據(jù)的各個(gè)搜索屬性確定索引存儲節(jié)點(diǎn),將數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識,以及所述搜索屬性的索引關(guān)系存入所述索引存儲節(jié)點(diǎn);具體的,所述搜索屬性包括屬性名稱和屬性值。所述確定的索引存儲節(jié)點(diǎn),包括針對各個(gè)單獨(dú)的搜索屬性預(yù)設(shè)的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn);或者根據(jù)各個(gè)單獨(dú)的搜索屬性的屬性名生成一個(gè)或多個(gè)屬性資源標(biāo)識,然后根據(jù)P2P算法確定的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)。其中,一種屬性的索引關(guān)系可以存儲在一個(gè)索引存儲節(jié)點(diǎn)上,也可以存儲在多個(gè)索引存儲節(jié)點(diǎn)上。需要進(jìn)一步說明的是,多個(gè)數(shù)據(jù)同一屬性的索引關(guān)系可以分散存儲在幾個(gè)節(jié)點(diǎn)上,以降低單個(gè)索引存儲節(jié)點(diǎn)的負(fù)擔(dān)。當(dāng)索引數(shù)據(jù)量比較小時(shí),可以將同一屬性的索引關(guān)系只存儲在一個(gè)節(jié)點(diǎn)上,此時(shí)屬性資源標(biāo)識直接通過屬性名產(chǎn)生即可。步驟303,查詢數(shù)據(jù)時(shí),根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)查詢到索引關(guān)系后,根據(jù)其中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識查詢獲得對應(yīng)的數(shù)據(jù)。具體的,所述根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)查詢到索引關(guān)系,包括根據(jù)待查詢的搜索屬性確定索引存儲節(jié)點(diǎn)后,發(fā)送索引查詢請求;一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)根據(jù)查詢請求進(jìn)行匹配,得到符合匹配的所有索引關(guān)系。其中所述匹配方式可以為模糊匹配。所述確定的索引存儲節(jié)點(diǎn),包括針對各個(gè)單獨(dú)的搜索屬性預(yù)設(shè)的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn);或者根據(jù)各個(gè)單獨(dú)的搜索屬性的屬性名生成一個(gè)或多個(gè)屬性資源標(biāo)識,然后根據(jù)P2P算法確定的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)。所述根據(jù)其中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識查詢獲得對應(yīng)的數(shù)據(jù),具體為根據(jù)各個(gè)索引關(guān)系中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識確定各數(shù)據(jù)存儲節(jié)點(diǎn),然后從各數(shù)據(jù)存儲節(jié)點(diǎn)獲取查詢得到的數(shù)據(jù)。進(jìn)一步的,當(dāng)指定的數(shù)據(jù)需要刪除時(shí),所述方法還包括根據(jù)所述指定的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將刪除請求發(fā)送給數(shù)據(jù)存儲節(jié)點(diǎn);數(shù)據(jù)存儲節(jié)點(diǎn)刪除所述數(shù)據(jù),根據(jù)所述數(shù)據(jù)的各搜索屬性分別向各索引存儲節(jié)點(diǎn)發(fā)送刪除索引請求;各索引存儲節(jié)點(diǎn)接到刪除索引請求后,刪除對應(yīng)的索引關(guān)系。其中,刪除所述數(shù)據(jù)可以在發(fā)送刪除索引請求之前,也可以在收到索引關(guān)系已刪除之后。進(jìn)一步的,所述方法的各步驟中,各個(gè)節(jié)點(diǎn)根據(jù)接收的消息進(jìn)行處理后,還包括將處理的結(jié)果返回給發(fā)送消息的節(jié)點(diǎn)。其中,需要特別說明的是步驟102中,所述索引存儲節(jié)點(diǎn)存儲所述索引關(guān)系成功后,向發(fā)送數(shù)據(jù)存儲請求的節(jié)點(diǎn)返回成功結(jié)果,所述送數(shù)據(jù)存儲請求的節(jié)點(diǎn)進(jìn)一步還可以將所述索引關(guān)系發(fā)送到數(shù)據(jù)存儲節(jié)點(diǎn)中進(jìn)行保存,以方便后續(xù)進(jìn)一步對索引關(guān)系進(jìn)行維護(hù)。以下通過具體的實(shí)施例對上述方法進(jìn)行進(jìn)一步闡述。圖4為本發(fā)明實(shí)施例一中數(shù)據(jù)存儲的流程示意圖,如圖4所示,所述存儲流程中數(shù) 據(jù)存儲請求節(jié)點(diǎn)根據(jù)數(shù)據(jù)唯一標(biāo)識,將數(shù)據(jù)存儲在P2P網(wǎng)絡(luò)中;該數(shù)據(jù)有兩個(gè)屬性需要支持條件查詢屬性I、屬性2,因此需要針對這兩個(gè)屬性建立索引,即根據(jù)屬性I的名稱和屬性2的名稱分別產(chǎn)生索引數(shù)據(jù)標(biāo)識,或者根據(jù)屬性與索引存儲節(jié)點(diǎn)對應(yīng)關(guān)系的配置,將其索引關(guān)系存儲在P2P網(wǎng)絡(luò)中,并假設(shè)每個(gè)屬性的索引存儲節(jié)點(diǎn)數(shù)為3,具體流程為步驟401,數(shù)據(jù)存儲請求節(jié)點(diǎn)(設(shè)為節(jié)點(diǎn)8)將數(shù)據(jù)I的唯一標(biāo)識經(jīng)哈希運(yùn)算得到其資源標(biāo)識,稱為數(shù)據(jù)資源標(biāo)識;步驟402,數(shù)據(jù)存儲請求節(jié)點(diǎn)8根據(jù)網(wǎng)絡(luò)所采用的P2P算法將數(shù)據(jù)存儲在該數(shù)據(jù)的負(fù)責(zé)節(jié)點(diǎn)(設(shè)為節(jié)點(diǎn)3),即數(shù)據(jù)存儲節(jié)點(diǎn)3 ;步驟403,數(shù)據(jù)存儲節(jié)點(diǎn)3將存儲請求中的數(shù)據(jù)存儲下來,并向數(shù)據(jù)存儲請求節(jié)點(diǎn)8返回結(jié)果;步驟404,數(shù)據(jù)存儲請求節(jié)點(diǎn)8取3以內(nèi)的隨機(jī)數(shù)(例如2),將屬性I的名稱與字符“2”拼接,生成一個(gè)標(biāo)識字符串,對其進(jìn)行哈希運(yùn)算后得到屬性資源標(biāo)識;步驟405,數(shù)據(jù)存儲請求節(jié)點(diǎn)8根據(jù)網(wǎng)絡(luò)所采用的P2P算法,將數(shù)據(jù)I的屬性I的索引關(guān)系,存儲在索引存儲節(jié)點(diǎn)(設(shè)為節(jié)點(diǎn)9);具體的,索引關(guān)系至少包括數(shù)據(jù)I的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)I的唯一標(biāo)識,以及屬性I的值。步驟406,索引存儲節(jié)點(diǎn)9存儲數(shù)據(jù)的屬性I的索引關(guān)系,并向數(shù)據(jù)存儲請求節(jié)點(diǎn)8返回響應(yīng);步驟407,數(shù)據(jù)存儲請求節(jié)點(diǎn)8取3以內(nèi)的隨機(jī)數(shù)(例如I),將屬性2名稱與字符“I”拼接,生成一個(gè)標(biāo)識字符串,對其進(jìn)行哈希運(yùn)算后得到屬性資源標(biāo)識;步驟408,數(shù)據(jù)存儲請求節(jié)點(diǎn)8根據(jù)網(wǎng)絡(luò)采用的P2P所算法,將數(shù)據(jù)I的屬性2的索引關(guān)系,存儲在索引存儲節(jié)點(diǎn)(設(shè)為節(jié)點(diǎn)20);具體的,索引關(guān)系至少包括數(shù)據(jù)I的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)I的唯一標(biāo)識,以及屬性2的值。步驟409,索引存儲節(jié)點(diǎn)20存儲數(shù)據(jù)的屬性2的索引關(guān)系,并向數(shù)據(jù)存儲請求節(jié)點(diǎn)8返回響應(yīng)。進(jìn)一步的,通過選取不同的隨機(jī)數(shù)和屬性名稱進(jìn)行組合,可以針對同一個(gè)屬性名生成多個(gè)屬性資源標(biāo)識,這樣可以把同一屬性名的索引關(guān)系存儲在多個(gè)節(jié)點(diǎn)上。例如,屬性I的名稱結(jié)合3以內(nèi)的隨機(jī)數(shù)生成三個(gè)標(biāo)識字符串分別為屬性I名稱+i(i = 0,1,2),對其進(jìn)行哈希運(yùn)算后得到三個(gè)屬性資源標(biāo)識,分別對應(yīng)索引存儲節(jié)點(diǎn)I、索引存儲節(jié)點(diǎn)9、索引存儲節(jié)點(diǎn)16,即屬性I的索引關(guān)系分別存儲在索引存儲節(jié)點(diǎn)I、索引存儲節(jié)點(diǎn)9、索引存儲節(jié)點(diǎn)16中。進(jìn)一步的,索引存儲節(jié)點(diǎn)完成索引關(guān)系的存儲后,想數(shù)據(jù)存儲請求節(jié)點(diǎn)返回響應(yīng),數(shù)據(jù)存儲請求節(jié)點(diǎn)8可以將索引存儲節(jié)點(diǎn)(例如節(jié)點(diǎn)9和節(jié)點(diǎn)20)的信息也存入數(shù)據(jù)存儲節(jié)點(diǎn)3上,以便維護(hù)時(shí)使用。圖5為本發(fā)明實(shí)施例一中數(shù)據(jù)查詢的流程示意圖,如圖5所示,所述查詢流程中數(shù)據(jù)查詢節(jié)點(diǎn)根據(jù)查詢條件對應(yīng)的屬性及索引存儲策略,確定該屬性的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn),然后向這些索引存儲節(jié)點(diǎn)查詢滿足條件的索引關(guān)系,再根據(jù)索引關(guān)系中的數(shù)據(jù)唯一標(biāo)識或數(shù)據(jù)資源標(biāo)識查詢對應(yīng)的數(shù)據(jù)。具體流程為步驟501,數(shù)據(jù)查詢請求節(jié)點(diǎn)14針對待查詢數(shù)據(jù)的屬性I設(shè)定查詢條件; 步驟502,數(shù)據(jù)查詢請求節(jié)點(diǎn)14生成根據(jù)3以內(nèi)的隨機(jī)數(shù)生成三個(gè)標(biāo)識字符串分別為屬性I名稱+i(i = 0,1,2),再對所述三個(gè)標(biāo)識字符串進(jìn)行哈希運(yùn)算得到三個(gè)屬性資源標(biāo)識,根據(jù)網(wǎng)絡(luò)采用的P2P算法,這三個(gè)屬性資源標(biāo)識的負(fù)責(zé)節(jié)點(diǎn)分別為索引存儲節(jié)點(diǎn)
I、索引存儲節(jié)點(diǎn)9、索引存儲節(jié)點(diǎn)16 ;步驟503,數(shù)據(jù)查詢請求節(jié)點(diǎn)14向索引存儲節(jié)點(diǎn)I發(fā)送索引查詢請求;步驟504,索引存儲節(jié)點(diǎn)I收到請求后,對本地存儲的索引關(guān)系進(jìn)行條件匹配(如模糊匹配),并向數(shù)據(jù)查詢請求節(jié)點(diǎn)14返回匹配結(jié)果;步驟505,數(shù)據(jù)查詢請求節(jié)點(diǎn)14向索引存儲節(jié)點(diǎn)9發(fā)送索引查詢請求;步驟506,索引存儲節(jié)點(diǎn)9收到請求后,對本地存儲的索引關(guān)系進(jìn)行條件匹配(如模糊匹配),并向數(shù)據(jù)查詢請求節(jié)點(diǎn)14返回匹配結(jié)果;步驟507,數(shù)據(jù)查詢請求節(jié)點(diǎn)14向索引存儲節(jié)點(diǎn)16發(fā)送索引查詢請求;步驟508,索引存儲節(jié)點(diǎn)16收到請求后,對本地存儲的索引關(guān)系進(jìn)行條件匹配(可以是模糊匹配),并向數(shù)據(jù)查詢請求節(jié)點(diǎn)14返回匹配結(jié)果;步驟509,綜合所有索引存儲節(jié)點(diǎn)返回的滿足匹配條件的索引關(guān)系(也可能為空或只有一條),根據(jù)查詢的需要從中選擇某條或某些索引關(guān)系;步驟510,數(shù)據(jù)查詢請求節(jié)點(diǎn)14將索引關(guān)系中的數(shù)據(jù)唯一標(biāo)識經(jīng)哈希運(yùn)算后得到數(shù)據(jù)資源標(biāo)識;進(jìn)一步的,如果索引關(guān)系中包括數(shù)據(jù)資源標(biāo)識可以直接采用,則不需要執(zhí)行步驟510。步驟511,數(shù)據(jù)查詢請求節(jié)點(diǎn)14根據(jù)網(wǎng)絡(luò)采用的P2P算法向數(shù)據(jù)存儲節(jié)點(diǎn)3發(fā)送數(shù)據(jù)查詢請求;步驟512,數(shù)據(jù)存儲節(jié)點(diǎn)3根據(jù)請求讀取對應(yīng)的存儲數(shù)據(jù),并將查詢結(jié)果返回給查詢請求節(jié)點(diǎn)14。圖6為本發(fā)明實(shí)施例一中數(shù)據(jù)刪除的流程示意圖,如圖6所示,當(dāng)指定數(shù)據(jù)(例如數(shù)據(jù)I)需要刪除時(shí),需要將其相應(yīng)的所有屬性(例如屬性I、屬性2)的索引關(guān)系也刪除。具體流程為步驟601,數(shù)據(jù)刪除請求節(jié)點(diǎn)19對指定數(shù)據(jù)的唯一標(biāo)識進(jìn)行哈希運(yùn)算得到數(shù)據(jù)資源標(biāo)識;步驟602,數(shù)據(jù)刪除請求節(jié)點(diǎn)19根據(jù)網(wǎng)絡(luò)采用的P2P算法,向數(shù)據(jù)存儲節(jié)點(diǎn)3發(fā)送刪除請求;步驟603,數(shù)據(jù)存儲節(jié)點(diǎn)3收到刪除請求后,針對屬性I生成三個(gè)標(biāo)識字符串 屬性I名稱+i (i = 0,1,2),再將這三個(gè)標(biāo)識字符串進(jìn)行哈希運(yùn)算得到三個(gè)屬性資源標(biāo)識;進(jìn)一步的,本步驟中的這三個(gè)屬性資源標(biāo)識,也可以從數(shù)據(jù)存儲節(jié)點(diǎn)3獲得,其由存儲策略決定。步驟604,數(shù)據(jù)存儲節(jié)點(diǎn)3根據(jù)網(wǎng)絡(luò)采用的P2P算法,向索引存儲節(jié)點(diǎn)I、索引存儲節(jié)點(diǎn)9、索引存儲節(jié)點(diǎn)16發(fā)送刪除屬性I的索引關(guān)系的請求。步驟605,屬性I的三個(gè)屬性資源標(biāo)識的負(fù)責(zé)節(jié)點(diǎn)收到請求后將對應(yīng)的索引關(guān)系刪除,并向數(shù)據(jù)存儲節(jié)點(diǎn)3返回結(jié)果; 步驟606,數(shù)據(jù)存儲節(jié)點(diǎn)3收到刪除請求刪除所述數(shù)據(jù)后,針對屬性2生成三個(gè)標(biāo)識字符串屬性2名稱+i(i = 0,1,2),再將這三個(gè)標(biāo)識字符串進(jìn)行哈希運(yùn)算得到三個(gè)屬性資源標(biāo)識;進(jìn)一步的,本步驟中的這三個(gè)屬性資源標(biāo)識,也可以從數(shù)據(jù)存儲節(jié)點(diǎn)3獲得,其由存儲策略決定。步驟607,數(shù)據(jù)存儲節(jié)點(diǎn)3根據(jù)網(wǎng)絡(luò)采用的P2P算法,向網(wǎng)絡(luò)發(fā)送刪除屬性2的索引關(guān)系的請求,相關(guān)索引存儲節(jié)點(diǎn)收到請求后刪除索引關(guān)系,并向數(shù)據(jù)存儲節(jié)點(diǎn)3返回結(jié)果,數(shù)據(jù)存儲節(jié)點(diǎn)3刪除數(shù)據(jù)后,向數(shù)據(jù)刪除請求節(jié)點(diǎn)19返回刪除結(jié)果。由上述三個(gè)流程示意圖可知本發(fā)明實(shí)施例一的網(wǎng)絡(luò)結(jié)構(gòu),圖7為本發(fā)明實(shí)施例一的網(wǎng)絡(luò)結(jié)構(gòu)示意圖,如圖7所示,節(jié)點(diǎn)3為數(shù)據(jù)I的存儲節(jié)點(diǎn);節(jié)點(diǎn)I、節(jié)點(diǎn)9和節(jié)點(diǎn)16為數(shù)據(jù)I的屬性I的索引存儲節(jié)點(diǎn);節(jié)點(diǎn)6、節(jié)點(diǎn)11和節(jié)點(diǎn)20為數(shù)據(jù)I的屬性2的索引存儲節(jié)點(diǎn);節(jié)點(diǎn)8為數(shù)據(jù)存儲請求節(jié)點(diǎn);節(jié)點(diǎn)14為數(shù)據(jù)查詢請求節(jié)點(diǎn);節(jié)點(diǎn)19為數(shù)據(jù)刪除請求節(jié)點(diǎn)。圖8為本發(fā)明一種對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的系統(tǒng)結(jié)構(gòu)示意圖,如圖8所示,所述系統(tǒng)包括數(shù)據(jù)存儲請求節(jié)點(diǎn)81、數(shù)據(jù)存儲節(jié)點(diǎn)82、索引存儲節(jié)點(diǎn)83和數(shù)據(jù)查詢請求節(jié)點(diǎn)84,其中,所述數(shù)據(jù)存儲請求節(jié)點(diǎn)81,用于根據(jù)需要存儲的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將所述需要存儲的數(shù)據(jù)存入數(shù)據(jù)存儲節(jié)點(diǎn)82,根據(jù)所述數(shù)據(jù)的各個(gè)搜索屬性確定索引存儲節(jié)點(diǎn)83,將數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識,以及所述搜索屬性的索引關(guān)系存入所述索引存儲節(jié)點(diǎn)83 ;具體的,所述數(shù)據(jù)存儲請求節(jié)點(diǎn)81根據(jù)需要存儲的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識,具體為數(shù)據(jù)存儲請求節(jié)點(diǎn)81根據(jù)需要存儲的數(shù)據(jù)的唯一標(biāo)識,進(jìn)行哈希運(yùn)算生成數(shù)據(jù)資源標(biāo)識。所述將所述需要存儲的數(shù)據(jù)存入數(shù)據(jù)存儲節(jié)點(diǎn)82,具體為根據(jù)網(wǎng)絡(luò)所采用的P2P算法確定數(shù)據(jù)存儲節(jié)點(diǎn)82,然后將數(shù)據(jù)存入數(shù)據(jù)存儲節(jié)點(diǎn)82中。所述搜索屬性包括屬性名稱和屬性值。所述確定的索引存儲節(jié)點(diǎn)83,包括針對各個(gè)單獨(dú)的搜索屬性預(yù)設(shè)的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)83 ;或者根據(jù)各個(gè)單獨(dú)的搜索屬性的屬性名生成一個(gè)或多個(gè)屬性資源標(biāo)識,然后根據(jù)P2P算法確定的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)83。其中,一種屬性的索引關(guān)系可以存儲在一個(gè)索引存儲節(jié)點(diǎn)83上,也可以存儲在多個(gè)索引存儲節(jié)點(diǎn)83上。需要進(jìn)一步說明的是,多個(gè)數(shù)據(jù)同一屬性的索引關(guān)系可以分散存儲在幾個(gè)索引存儲節(jié)點(diǎn)83上,以降低單個(gè)索引存儲節(jié)點(diǎn)83的負(fù)擔(dān)。當(dāng)索引數(shù)據(jù)量比較小時(shí),可以將同一屬性的索引關(guān)系只存儲在一個(gè)索引存儲節(jié)點(diǎn)83上,此時(shí)屬性資源標(biāo)識直接通過屬性名產(chǎn)生即可。所述數(shù)據(jù)查詢請求節(jié)點(diǎn)84,用于查詢數(shù)據(jù)時(shí),根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)83查詢到索引關(guān)系后,根據(jù)其中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識查詢獲得對應(yīng)的數(shù)據(jù)。具體的,所述數(shù)據(jù)查詢請求節(jié)點(diǎn)84根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)83查詢到索引關(guān)系,包括根據(jù)待查詢的搜索屬性確定索引存儲節(jié)點(diǎn)83后,發(fā)送索引查詢請求;一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)83根據(jù)查詢請求進(jìn)行匹配,得到符合匹配的所有索引關(guān)系。其中所述匹配方式可以為模糊匹配。所述確定的索引存儲節(jié)點(diǎn)83,包括針對各個(gè)單獨(dú)的搜索屬性預(yù)設(shè)的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)83 ;或者根據(jù)各個(gè)單獨(dú)的搜索屬性的屬性名生成一個(gè)或多個(gè)屬性資源標(biāo)識,然后根據(jù)P2P算法確定的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)83。所述根據(jù)其中 的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識查詢獲得對應(yīng)的數(shù)據(jù),具體為根據(jù)各個(gè)索引關(guān)系中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識確定各數(shù)據(jù)存儲節(jié)點(diǎn)82,然后從各數(shù)據(jù)存儲節(jié)點(diǎn)82獲取查詢得到的數(shù)據(jù)。進(jìn)一步的,所述系統(tǒng)還包括數(shù)據(jù)刪除請求節(jié)點(diǎn)85,用于當(dāng)指定的數(shù)據(jù)需要刪除時(shí),根據(jù)所述指定的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將刪除請求發(fā)送給數(shù)據(jù)存儲節(jié)點(diǎn)82 ;所述數(shù)據(jù)存儲節(jié)點(diǎn)82,還用于刪除所述數(shù)據(jù),根據(jù)所述數(shù)據(jù)的各搜索屬性分別向各索引存儲節(jié)點(diǎn)83發(fā)送刪除索引請求;其中,刪除所述數(shù)據(jù)可以在發(fā)送刪除索引請求之前,也可以在收到索引關(guān)系已刪除之后。所述索引存儲節(jié)點(diǎn)83,還用于接到刪除索引請求后,刪除對應(yīng)的索引關(guān)系。進(jìn)一步的,所述系統(tǒng)中,各個(gè)節(jié)點(diǎn)根據(jù)接收的消息進(jìn)行處理后,還包括將處理的結(jié)果返回給發(fā)送消息的節(jié)點(diǎn)。其中,需要特別說明的是,所述索引存儲節(jié)點(diǎn)83存儲所述索引關(guān)系成功后,向發(fā)送數(shù)據(jù)存儲請求的節(jié)點(diǎn)81返回成功結(jié)果,所述送數(shù)據(jù)存儲請求的節(jié)點(diǎn)81進(jìn)一步還可以將所述索引關(guān)系發(fā)送到數(shù)據(jù)存儲節(jié)點(diǎn)82中進(jìn)行保存,以方便后續(xù)進(jìn)一步對索引關(guān)系進(jìn)行維護(hù)。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的方法,其特征在于,所述方法包括 根據(jù)需要存儲的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將所述需要存儲的數(shù)據(jù)存入數(shù)據(jù)存儲節(jié)點(diǎn); 根據(jù)所述數(shù)據(jù)的各個(gè)搜索屬性確定索引存儲節(jié)點(diǎn),將數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識,以及所述搜索屬性的索引關(guān)系存入所述索引存儲節(jié)點(diǎn); 查詢數(shù)據(jù)時(shí),根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)查詢到索引關(guān)系后,根據(jù)其中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識查詢獲得對應(yīng)的數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,當(dāng)指定的數(shù)據(jù)需要刪除時(shí),所述方法還包括 根據(jù)所述指定的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將刪除請求發(fā)送給數(shù)據(jù)存儲節(jié)點(diǎn);數(shù)據(jù)存儲節(jié)點(diǎn)刪除所述數(shù)據(jù)后,根據(jù)所述數(shù)據(jù)的各搜索屬性分別向各索引存儲節(jié)點(diǎn)發(fā)送刪除索引請求;各索引存儲節(jié)點(diǎn)接到刪除索引請求后,刪除對應(yīng)的索引關(guān)系。
3.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,所述搜索屬性包括屬性名稱和屬性值。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述確定的索引存儲節(jié)點(diǎn),包括針對各個(gè)單獨(dú)的搜索屬性預(yù)設(shè)的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn);或者根據(jù)各個(gè)單獨(dú)的搜索屬性的屬性名生成一個(gè)或多個(gè)屬性資源標(biāo)識,然后根據(jù)對等(P2P)算法確定的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)。
5.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,所述根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)查詢到索引關(guān)系,包括 根據(jù)待查詢的搜索屬性確定索引存儲節(jié)點(diǎn)后,發(fā)送查詢請求;一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)根據(jù)查詢請求進(jìn)行匹配,得到符合匹配的所有索引關(guān)系。
6.根據(jù)權(quán)利要求I或2所示的方法,其特征在于,所述根據(jù)其中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識查詢獲得對應(yīng)的數(shù)據(jù),具體為 根據(jù)各個(gè)索引關(guān)系中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識確定各數(shù)據(jù)存儲節(jié)點(diǎn),然后從各數(shù)據(jù)存儲節(jié)點(diǎn)獲取查詢得到的數(shù)據(jù)。
7.一種對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的系統(tǒng),其特征在于,所述系統(tǒng)包括數(shù)據(jù)存儲請求節(jié)點(diǎn)、數(shù)據(jù)存儲節(jié)點(diǎn)、索引存儲節(jié)點(diǎn)和數(shù)據(jù)查詢請求節(jié)點(diǎn),其中, 所述數(shù)據(jù)存儲請求節(jié)點(diǎn),用于根據(jù)需要存儲的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將所述需要存儲的數(shù)據(jù)存入數(shù)據(jù)存儲節(jié)點(diǎn),根據(jù)所述數(shù)據(jù)的各個(gè)搜索屬性確定索引存儲節(jié)點(diǎn),將數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識,以及所述搜索屬性的索引關(guān)系存入所述索引存儲節(jié)點(diǎn); 所述數(shù)據(jù)查詢請求節(jié)點(diǎn),用于查詢數(shù)據(jù)時(shí),根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)查詢到索引關(guān)系后,根據(jù)其中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識查詢獲得對應(yīng)的數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括數(shù)據(jù)刪除請求節(jié)點(diǎn),用于當(dāng)指定的數(shù)據(jù)需要刪除時(shí),根據(jù)所述指定的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將刪除請求發(fā)送給數(shù)據(jù)存儲節(jié)點(diǎn); 所述數(shù)據(jù)存儲節(jié)點(diǎn),還用于刪除所述數(shù)據(jù),根據(jù)所述數(shù)據(jù)的各搜索屬性分別向各索引存儲節(jié)點(diǎn)發(fā)送刪除索引請求; 所述索引存儲節(jié)點(diǎn),還用于接到刪除索引請求后,刪除對應(yīng)的索引關(guān)系。
9.根據(jù)權(quán)利要求7或8所述的系統(tǒng),其特征在于,所述搜索屬性包括屬性名稱和屬性值; 所述確定的索引存儲節(jié)點(diǎn),包括針對各個(gè)單獨(dú)的搜索屬性預(yù)設(shè)的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn);或者根據(jù)各個(gè)單獨(dú)的搜索屬性的屬性名生成一個(gè)或多個(gè)屬性資源標(biāo)識,然后根據(jù)P2P算法確定的一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)。
10.根據(jù)權(quán)利要求7或8所述的系統(tǒng),其特征在于,所述數(shù)據(jù)查詢請求節(jié)點(diǎn)根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)查詢到索引關(guān)系,包括 所述數(shù)據(jù)查詢請求節(jié)點(diǎn)根據(jù)待查詢的搜索屬性確定索引存儲節(jié)點(diǎn)后,發(fā)送查詢請求;一個(gè)或多個(gè)索引存儲節(jié)點(diǎn)根據(jù)查詢請求進(jìn)行匹配,得到符合匹配的所有索引關(guān)系。
全文摘要
本發(fā)明公開了一種對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的方法,根據(jù)需要存儲的數(shù)據(jù)的標(biāo)識生成數(shù)據(jù)資源標(biāo)識后,將所述需要存儲的數(shù)據(jù)存入數(shù)據(jù)存儲節(jié)點(diǎn);根據(jù)所述數(shù)據(jù)的各個(gè)搜索屬性確定索引存儲節(jié)點(diǎn),將數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識,以及所述搜索屬性的索引關(guān)系存入所述索引存儲節(jié)點(diǎn);查詢數(shù)據(jù)時(shí),根據(jù)搜索屬性從所述索引存儲節(jié)點(diǎn)查詢到索引關(guān)系后,根據(jù)其中的數(shù)據(jù)資源標(biāo)識或數(shù)據(jù)標(biāo)識查詢獲得對應(yīng)的數(shù)據(jù)。本發(fā)明還公開了一種對等網(wǎng)絡(luò)中數(shù)據(jù)存儲和查詢的系統(tǒng),通過上述方法和系統(tǒng),能夠?qū)⑺饕龜?shù)據(jù)分散的存儲在對等網(wǎng)絡(luò)的不同的節(jié)點(diǎn)中,提高了存儲和查詢的分散性,在進(jìn)行查詢時(shí)只查詢相關(guān)的一個(gè)或少數(shù)幾個(gè)節(jié)點(diǎn),查詢效率比較高。
文檔編號H04L29/08GK102891872SQ20111020400
公開日2013年1月23日 申請日期2011年7月20日 優(yōu)先權(quán)日2011年7月20日
發(fā)明者彭永林 申請人:中興通訊股份有限公司