第二章 相關研究
2.1 端對端網路的相關研究
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
3
第二章 相關研究
在此章節中將會介紹與本研究相關的文獻及知識。由於我們的研究是建立在超級節點網 路上,首先會介紹關於端對端環境,及其延伸發展出的超級節點網路架構與層疊式網路。
接著會描述在此環境下其他相關研究如何進行所謂的相似文件搜尋的方法。
2.1 端對端網路的相關研究
端對端網路架構近年來在高度分散式環境下,對於內文搜尋領域已成為一種相當具有吸 引力的解決辦法。所謂的端對端網路架構,是一種合作式型態的網路技術,相較於集中 式資料庫系統和單純主從式系統的侷限性,端對端網路依賴的是網路中參與節點的計算 能力與頻寬,而非僅靠單一伺服器處理運算,且任意節點在網路中皆可以作為客戶端 (Clients) 和伺服器端 (Severs)。當節點為客戶端時,主要是發出查詢在整個 P2P 環 境中搜尋;而節點為伺服器端時,則是負責提供資訊內容,且可將查詢路由至其他的伺 服器端。像是過去典型的檔案分享 P2P 系統:BitTorrent [6] 和 eMule [7],當某一節 點從其他節點下載檔案時,同時本身也分享著檔案給其他節點。
而在 P2P 環境下的查詢種類一般可區分為:一般查詢 (Queries)、路由查詢(Query Routing)、檢索 (Retrieval) 三大種類。而本篇研究主要是針對檢索類型中的相似度 查詢,將其延伸至高度分散式環境下,做 Top-k 相似文件搜尋,故以下我們會先介紹所 謂的高度分散式環境。
2.1.1 超級節點網路
超級節點網路 (Super-peer Networks) [8] 運作與一般的純 P2P 網路相似,只是在網 路中選擇了特定節點作為超級節點 (Super-peer),這個特定節點在某些客戶端節點集
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
4
合 (Subsets of clients) 中,運作方式和集中式伺服器相似。比起普通節點,超級節 點一般都擁有較好的處理能力、儲存空間和網路頻寬等,且每一個超級節點負責連結著 一組客戶端節點,而每一個客戶端節點只可連結單一超級節點。如下圖表示在超級節點 網路可能存在的網路拓撲圖:
圖 2.1:超級節點網路 (引自 [8] 圖 1) (a)為無冗餘超級節點網路
(b)有 2-冗餘超級節點網路
在圖 2.1(a)中,黑點表示一個超級節點,而每個超級節點連結的客戶端節點集合可 形成一個節點群集 (Peer Cluster)。當超級節點接收查詢時,會將查詢傳送至底下所 連結的客戶端節點集合,同時也會保留著這些客戶端節點集合的索引方便查詢。而這些 索引必須提供將來所有查詢時,可能會用到的資訊。舉例來說:若有一檔案分享 P2P 環 境,使用者下達的查詢皆是針對檔案標題的關鍵字搜尋,因此在這樣的環境下,超級節 點必須建立一張列表,內容包含底下所有連結的客戶端節點的檔案標題。當找到其中一 個節點存在著查詢結果時,會回傳一組回覆訊息,當中包含著結果和結果所在客戶端節 點的網路位址。超級節點為了維護這些索引資訊,當有任意的節點作為客戶端加入此超 級節點時,此節點資料庫會將本身的元資料 (Meta-data) 傳送給超級節點,並依據此 資料新增索引。若有客戶端節點離開時,超級節點也會將該資料從索引中移除。當客戶
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
5
端節點想提交查詢至整體 P2P 環境上,只需將查詢傳送所屬的超級節點即可,而超級節 點會再將此查詢路由至其他相鄰的超級節點鄰居,再由這些超級節點進行查詢。
為了提供節點群集的可靠性以及降低超級節點的負載,在設計超級節點網路時,引 入了 k-冗餘 (k-redundant)。所謂的 k-冗餘,就是以 k 個節點去分擔超級節點的負載,
形成單一虛擬的超級節點 (Virtual Super-peer),如圖 2.1(b)所示:在每一個虛擬超 級節點中,每個節點互相都是合作夥伴擁有相同的負載,皆連結著群集中所有的客戶端 節點和所有的節點索引。因此,有 k-冗餘特性的超級節點網路在可靠性及分享性,是優 於無冗餘超級節點網路,但是其建置成本與搜尋時間較高。
目前已有相當多的 P2P 檔案分享系統,諸如:Gnutella [9] 和 KaZaA [10],皆是 採用超級節點的網路拓撲做為其架構,本研究一樣是採用超級節點網路架構做為基礎。
2.1.2 層疊式網路
所謂層疊式網路 (Overlay Networks) 是指我們刻意忽略網路的實體架構,將網路上的 每台電腦都視為一個單獨的節點,並且假設他們可以自由的互相連接。將這些單獨的節 點採用某種特殊的結構來建置一個網路,一條層疊式網路上的連線可能是由數條實體網 路的連線所構成,透過互相連接的網路節點,使其能夠達到某種我們期望的效果,也就 是透過虛擬環境所提供的系統機制來建立另一種網路系統。
層疊式網路是架構在實體網路之上的另一層網路,所以實體網路的連接關係與變動 絕對性的影響了層疊式網路的穩定性,而任何的端對端網路都有節點會隨時加入及離線 的特性,相當於在其上運作的系統必需有適應高度變化的能力。因此,目前已發展出的 路由機制,可允許非網路位址來當訊息,來傳送至目的地:例如分散式雜湊表,將訊息 路由到一個特定的邏輯地址,但其網路位址是事前未知的。
‧
來解決較複雜的內容檢索問題,諸如:Christos. Doulkeridis 所提出建構在分散及分 佈式語義層疊式網路下,執行相似文件搜尋的架構 (SON-based) 。此方法主要是先利 用傳統資訊檢索技術,針對各資料中文件做特徵抽取 (Feature extraction),並將文 件表達成特徵向量 (Feature vector) 後,計算各文件之間的相似度,依此做為分群依 據。接著,依照各資料庫的群集資訊,將具有相似文件內容的資料庫再做一次分群合併,向量空間模型 (Vector Space Model) [11] 主要是用來表示文件在空間上的關係。在 此模型下,一份文件通常可以表示成為一個字詞向量 [12],而每一向量內的元素代表 著其對應的字詞在文件中的重要性。各元素的計算是依據 TF/IDF 的加權技術處理,其 中 TF (Term Frequency) 代表字詞在文件中的頻率,而 IDF (Inverse Document Frequency) 表示擁有該字詞的文件在資料庫中的頻率。此加權技術背後的想法,是若 某一字詞在文件中出現的越頻繁越可以作為這份文件的代表字詞。任何查詢在此空間中