P2P體系結(jié)構(gòu)(數(shù)據(jù)庫(kù))
時(shí)間:2022-11-05 16:30:01 | 來(lái)源:信息時(shí)代
時(shí)間:2022-11-05 16:30:01 來(lái)源:信息時(shí)代
P2P體系結(jié)構(gòu) : 一種分布式數(shù)據(jù)庫(kù)體系結(jié)構(gòu),它把眾多遠(yuǎn)程節(jié)點(diǎn)聚集為一個(gè)資源豐富的計(jì)算社區(qū)。在P2P(peer-to-peer)數(shù)據(jù)庫(kù)體系結(jié)構(gòu)中,每個(gè)對(duì)等節(jié)點(diǎn)(peer,如用Internet連接的PC)都擁有對(duì)等的功能與責(zé)任,既可充當(dāng)服務(wù)器為其他節(jié)點(diǎn)提供數(shù)據(jù)與服務(wù)功能,又可作為客戶機(jī)享用其他節(jié)點(diǎn)提供的數(shù)據(jù)與服務(wù)功能,節(jié)點(diǎn)間的交互直接對(duì)等。此外,任何一個(gè)節(jié)點(diǎn)可隨時(shí)加入或離開該系統(tǒng),形成一個(gè)真正的動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境。據(jù)已經(jīng)取得的研究成果表明,這類系統(tǒng)具有許多潛在優(yōu)良特性,如系統(tǒng)可伸縮性好、資源豐富、性能高等。P2P數(shù)據(jù)庫(kù)體系結(jié)構(gòu)是隨著計(jì)算機(jī)技術(shù)的發(fā)展而產(chǎn)生的,在當(dāng)今的軟、硬件技術(shù)環(huán)境下,客戶/服務(wù)器模型已不能滿足需求,其單點(diǎn)故障和熱點(diǎn)問(wèn)題已經(jīng)變得越來(lái)越不可接受,P2P這種體系結(jié)構(gòu)模型的許多優(yōu)勢(shì)有助于解決目前計(jì)算機(jī)技術(shù)和系統(tǒng)應(yīng)用中遇到的問(wèn)題。
1. P2P體系結(jié)構(gòu)
P2P模型是一種具有較高擴(kuò)展性的分布式系統(tǒng)結(jié)構(gòu),P2P體系結(jié)構(gòu)的實(shí)質(zhì)在于將互聯(lián)網(wǎng)的集中管理模式引向分散管理模式。相對(duì)于傳統(tǒng)的集中式C/S模型,P2P弱化了服務(wù)器的概念,系統(tǒng)中的各個(gè)節(jié)點(diǎn)不再區(qū)分服務(wù)器和客戶端的角色關(guān)系,每個(gè)節(jié)點(diǎn)既可請(qǐng)求服務(wù),也可提供服務(wù),節(jié)點(diǎn)之間可以直接交換資源而不必通過(guò)服務(wù)器。P2P體系結(jié)構(gòu)最大的特點(diǎn)就是用戶之間直接資源共享,它已經(jīng)成為一個(gè)共享大量數(shù)據(jù)的媒介。一般將P2P分為三種模型:純P2P分布式(見(jiàn)圖1)、集中式P2P(見(jiàn)圖2)和超級(jí)節(jié)點(diǎn)模式P2P(見(jiàn)圖3)。
圖1 純P2P分布式體系結(jié)構(gòu)
圖2 集中式P2P體系結(jié)構(gòu)
圖3 超級(jí)節(jié)點(diǎn)模式P2P體系結(jié)構(gòu)
2. P2P體系結(jié)構(gòu)的優(yōu)勢(shì)和特點(diǎn)
(1) P2P系統(tǒng)的每個(gè)成員均可貢獻(xiàn)數(shù)據(jù)和計(jì)算資源(如未用的CPU周期和存儲(chǔ)資源),新成員的加入可能引入系統(tǒng)中原來(lái)缺乏的特殊數(shù)據(jù)或資源,隨著系統(tǒng)成員的增加,系統(tǒng)的豐富性、多樣性等各種有益的特性得以擴(kuò)充。
(2) P2P系統(tǒng)的分散性、健壯性、可用性和性能可能隨著節(jié)點(diǎn)的數(shù)量增加而有所擴(kuò)充。
(3)通過(guò)在許多節(jié)點(diǎn)間路由請(qǐng)求和復(fù)制內(nèi)容,系統(tǒng)可以隱藏?cái)?shù)據(jù)的提供者和消費(fèi)者的身份,使個(gè)人的隱私得到保護(hù)。
因此,P2P被認(rèn)為是未來(lái)重構(gòu)分布式體系結(jié)構(gòu)的關(guān)鍵技術(shù),它在P2P覆蓋網(wǎng)絡(luò)模型、分布式存儲(chǔ)應(yīng)用、分布式科學(xué)計(jì)算,數(shù)據(jù)管理、文件共享和即時(shí)通信、搜索引擎、語(yǔ)義網(wǎng)、協(xié)作信息過(guò)濾等領(lǐng)域具有廣闊的應(yīng)用前景。
3. P2P數(shù)據(jù)管理
盡管P2P已經(jīng)成功應(yīng)用于文件共享和存儲(chǔ)領(lǐng)域(如國(guó)外的Gnutella、Napster、BitTorre,國(guó)內(nèi)北京大學(xué)的Maze和清華大學(xué)的Granary等),其系統(tǒng)只對(duì)整個(gè)文件進(jìn)行管理,不需要提供復(fù)雜數(shù)據(jù)類型的語(yǔ)義,也缺乏對(duì)復(fù)雜數(shù)據(jù)的管理能力,如關(guān)系結(jié)構(gòu)數(shù)據(jù)。它們只支持基于關(guān)鍵字的簡(jiǎn)單查詢,幾乎不支持基于內(nèi)容的復(fù)雜查詢??梢?jiàn)在缺乏語(yǔ)義支持下,P2P系統(tǒng)既不能很好地滿足用戶的需求,也不能有效地利用系統(tǒng)的資源。由于P2P系統(tǒng)的大多數(shù)問(wèn)題都可歸結(jié)為數(shù)據(jù)放置和檢索問(wèn)題,數(shù)據(jù)庫(kù)研究人員加入到P2P計(jì)算研究的行列,出現(xiàn)了PeerDB、Hyperion、Piazza等P2P數(shù)據(jù)管理項(xiàng)目,引起P2P系統(tǒng)從文件共享向復(fù)雜查詢處理的轉(zhuǎn)化,促進(jìn)了P2P計(jì)算向更廣闊的領(lǐng)域發(fā)展。
P2P上的數(shù)據(jù)管理主要包括以下內(nèi)容:
(1)數(shù)據(jù)定位: 如何找到數(shù)據(jù)資源。
(2)查詢處理:設(shè)計(jì)有效的索引結(jié)構(gòu)以及對(duì)應(yīng)的查詢路由算法,保證資源查找的效率和系統(tǒng)資源的使用效率。
(3)數(shù)據(jù)集成:對(duì)于不同模式的數(shù)據(jù),使用統(tǒng)一的表達(dá)形式,使得資源搜索完全,結(jié)果集合完整。
(4)數(shù)據(jù)一致性維護(hù):消除由于數(shù)據(jù)復(fù)制帶來(lái)的數(shù)據(jù)不一致性。
(5)數(shù)據(jù)訪問(wèn)安全: 抵制惡意攻擊。
4. P2P數(shù)據(jù)管理參考體系結(jié)構(gòu)
參考體系結(jié)構(gòu)把整個(gè)系統(tǒng)按功能分為用戶接口、數(shù)據(jù)管理和P2P網(wǎng)絡(luò)子層三個(gè)部分(見(jiàn)圖4)。用戶接口負(fù)責(zé)提交用戶查詢,數(shù)據(jù)管理層負(fù)責(zé)控制查詢處理,P2P網(wǎng)絡(luò)子層負(fù)責(zé)原數(shù)據(jù)信息和P2P網(wǎng)絡(luò)的連接。
圖4 P2P數(shù)據(jù)管理參考體系結(jié)構(gòu)
查詢經(jīng)用戶接口或數(shù)據(jù)管理API提交給數(shù)據(jù)管理子層,并且在數(shù)據(jù)子層進(jìn)行處理。查詢可能涉及在系統(tǒng)局部或全局存儲(chǔ)的數(shù)據(jù)。查詢請(qǐng)求由查詢管理模塊處理,當(dāng)系統(tǒng)集成了異構(gòu)數(shù)據(jù)源時(shí),查詢管理模塊處理往往需要從語(yǔ)義映射庫(kù)中檢索語(yǔ)義映射信息。語(yǔ)義映射庫(kù)中包含了一些元數(shù)據(jù),利用這些元數(shù)據(jù)查詢管理器可以找到存儲(chǔ)查詢相關(guān)數(shù)據(jù)的節(jié)點(diǎn),并且把查詢語(yǔ)句用這些節(jié)點(diǎn)能夠理解的詞匯重新組織。一些P2P系統(tǒng)或許利用特定某個(gè)節(jié)點(diǎn)存儲(chǔ)這些語(yǔ)義信息,處理查詢語(yǔ)句時(shí),查詢管理器將和該節(jié)點(diǎn)進(jìn)行通信或者把查詢語(yǔ)句傳遞給該節(jié)點(diǎn),由其執(zhí)行查詢語(yǔ)句。當(dāng)一個(gè)遠(yuǎn)程節(jié)點(diǎn)請(qǐng)求某節(jié)點(diǎn)的數(shù)據(jù)時(shí),該節(jié)點(diǎn)的查詢管理器也負(fù)責(zé)執(zhí)行局部查詢。在數(shù)據(jù)管理層和局部數(shù)據(jù)源之間引入包裝器(wrapper),這樣可以隱藏兩者之間在數(shù)據(jù)、查詢語(yǔ)言和其他方面的非兼容性。當(dāng)數(shù)據(jù)被更新時(shí),更新管理器在存有數(shù)據(jù)副本的節(jié)點(diǎn)之間協(xié)調(diào)更新的執(zhí)行。P2P網(wǎng)絡(luò)子層主要是為數(shù)據(jù)管理層提供通信服務(wù)。
5. P2P數(shù)據(jù)管理的目標(biāo)
(1)可擴(kuò)展性:查詢處理的性能和服務(wù)質(zhì)量不會(huì)因網(wǎng)絡(luò)規(guī)模擴(kuò)大而顯著下降。
(2) 自治性:查詢處理算法應(yīng)在一定程度上尊重節(jié)點(diǎn)的自治性。
(3)效率: 以消耗的絕對(duì)資源(帶寬、處理能力、存儲(chǔ)等)度量效率,為了保證高吞吐量,必須有效使用資源,降低系統(tǒng)開銷。
(4)服務(wù)質(zhì)量:它是用戶可感知的質(zhì)量,可以用不同的指標(biāo)(結(jié)果的數(shù)量、響應(yīng)時(shí)間等)度量。
(5)健壯性:包括對(duì)故障健壯和對(duì)攻擊健壯,在面臨節(jié)點(diǎn)故障、離開、攻擊時(shí)系統(tǒng)保持可用性、服務(wù)質(zhì)量和效率。
(6)支持語(yǔ)義異構(gòu)節(jié)點(diǎn):語(yǔ)義異構(gòu)是節(jié)點(diǎn)自治的結(jié)果,各節(jié)點(diǎn)用自己的模式組織和呈現(xiàn)數(shù)據(jù),為了互操作,需要適應(yīng)P2P動(dòng)態(tài)即興環(huán)境的解決方案。
(7)查詢處理能力:可以從其支持的被查詢的數(shù)據(jù)類型和查詢算子類型來(lái)體現(xiàn),因此支持對(duì)關(guān)系數(shù)據(jù)的關(guān)系完備查詢具有普遍性,同時(shí)適用于數(shù)據(jù)庫(kù)查詢和文本搜索。