亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于JXTA的分布式存儲系統(tǒng)的設計

        2009-06-17 03:00:26馬黎艷
        中國校外教育(下旬) 2009年6期

        馬黎艷

        [摘要] 使用基于JXTA平臺的P2P分布式體系結(jié)構(gòu),采用Chord環(huán)路作為網(wǎng)絡的拓撲結(jié)構(gòu),節(jié)點ID和文件ID的生成則通過使用某種HASH算法如MD5,SHA等,設計了一個高可擴展、高可靠、高性能的分布式存儲系統(tǒng)。

        [關鍵詞] P2P Chord JXTA 分布式存儲系統(tǒng)

        一、引言

        由于計算機通信技術(shù)的高速發(fā)展,網(wǎng)絡上的信息資源越來越多,訪問量也越來越大,基于傳統(tǒng)的集中式存儲方式已經(jīng)不能滿足用戶的需要。隨著P2P技術(shù)的發(fā)展,基于P2P的分布式存儲系統(tǒng)也相應地得到了快速發(fā)展。目前,已經(jīng)有很多比較成熟的P2P分布式文件存儲系統(tǒng),其中最典型的有:Napster、OceanStore、Past、Chord等文件存儲系統(tǒng)。這些系統(tǒng)的基本思想是將數(shù)據(jù)存儲、訪問與固定的位置分離開來,通過P2P網(wǎng)絡將Internet上零散的計算機連接起來,整合這些計算機上的空閑存儲資源,構(gòu)建出一個高可擴展、高可靠、高性能的分布式存儲系統(tǒng)。

        二、相關技術(shù)

        1.Chord簡介

        Chord在2001年由麻省理工學院提出,其核心思想就是要解決如何在P2P網(wǎng)絡中找到存有特定數(shù)據(jù)的節(jié)點。Chord協(xié)議中其規(guī)定使用的散列算法為SHA-1,并在此基礎上提供了優(yōu)化的路由算法。

        在Chord中,每個節(jié)點需要存儲m個其他節(jié)點的信息,這些信息的集合被稱為查詢表。表格中的節(jié)點不是直接相鄰的節(jié)點,它們的間距(ID間隔)將成2k的關系排列(k表示表中的數(shù)組下標)。這樣形成的節(jié)點之間路由關系實際上就是折半查找算法需要的排列關系。在查詢的過程中,查詢節(jié)點將請求發(fā)送到與鍵值最接近的節(jié)點上。收到查詢請求的節(jié)點如果發(fā)現(xiàn)自身存儲了被查詢的信息,可以直接回應查詢節(jié)點;如果被查詢的信息不在本地,就根據(jù)查詢表將請求轉(zhuǎn)發(fā)到與鍵值最接近的節(jié)點上。這樣的過程一直持續(xù)到找到相應的節(jié)點為止,查詢過程實際上就是折半查找的過程。

        2.JXTA簡介

        JXTA是Sun微系統(tǒng)對等網(wǎng)絡的標準,以它來促進和探究分布式計算的新方法。JXTA具體來說是一種標準組件平臺,它提供了用于開發(fā)分布式服務和應用程序的基本組件。整套技術(shù)由一組開放源碼的P2P協(xié)議組成,這組協(xié)議使網(wǎng)絡上任何連接著的計算設備的協(xié)作變?yōu)榭赡?。使用這些協(xié)議,節(jié)點可以互相合作來建立自我組織、自我管理的對等組,而不必關心它們在網(wǎng)絡中所處的位置(在網(wǎng)絡邊緣或者防火墻的后面),并且也不需要集中的管理機構(gòu)。

        JXTA體系結(jié)構(gòu)由三層組成。應用層(Applications)包括了應用JXTA服務開發(fā)出來的完整的P2P應用程序。比如,P2P及時消息、文件和資源共享、P2P電子郵件系統(tǒng)、分布式存儲系統(tǒng)等。服務層(Services)包含一些網(wǎng)絡服務,提供了P2P網(wǎng)絡通用的功能,如查找、共享等機制、協(xié)議轉(zhuǎn)換等。核心層(JXTA Core)封裝了P2P網(wǎng)絡最基本的要素,包含了服務所需要的核心功能,包括對等體、對等組、對等體發(fā)現(xiàn)和相關的安全原語。

        三、系統(tǒng)設計

        系統(tǒng)采用JXTA平臺進行P2P的設計開發(fā),以Chord環(huán)路作為網(wǎng)絡的拓撲結(jié)構(gòu),節(jié)點ID和文件ID的生成則通過使用某種HASH算法如MD5,SHA等,文件的存儲與下載則使用CMS來管理。

        1.節(jié)點加入與離開

        Jxta為發(fā)現(xiàn)對等節(jié)點、對等組和其他信息提供了一個異步機制,所發(fā)布的關于對等節(jié)點或?qū)Φ冉M的信息被稱為通告,節(jié)點正是通過搜尋相應的通告來發(fā)現(xiàn)它所需要的資源。當節(jié)點X希望加入JXTA網(wǎng)絡時,首先,查找某個對等組內(nèi)的通告,發(fā)送加入請求,組內(nèi)其他節(jié)點收到該請求后做出響應。節(jié)點與第一個發(fā)出響應的節(jié)點Y通話,以便初始話本地節(jié)點查詢表(finger table)、跟新其他節(jié)點查詢表及轉(zhuǎn)移關鍵字信息。

        新節(jié)點X以x+2i-1 (l≤i≤m)為消息key值向Y發(fā)出請求,查找消息的Successor節(jié)點和查詢表(finger table)項,以此填充自己的查詢表(finger table)項。當新節(jié)點完成了自己的路由信息組建之后,通知其他相關節(jié)點自己的加入,以逆時針的方向遞歸地通知相關節(jié)點更新自己的路由信息。最后,其他節(jié)點將所有鍵值歸屬于X的關鍵字(即后繼節(jié)點是X的關鍵字)轉(zhuǎn)移到節(jié)點X上。當節(jié)點加入時首先通過哈希函數(shù)產(chǎn)生節(jié)點ID,然后找到ID 相鄰的兩個節(jié)點作為此節(jié)點的前驅(qū)和后繼節(jié)點,系統(tǒng)中每個節(jié)點都保留其鄰近的前驅(qū)和后繼節(jié)點信息。當節(jié)點退出時,此節(jié)點的前驅(qū)節(jié)點需將其后繼更新為退出節(jié)點的后繼節(jié)點。

        2.系統(tǒng)通信

        系統(tǒng)采用Java事件處理機制和Jxta自身的管道通信機制,實現(xiàn)了異步線程的節(jié)點通信功能。在這種通信機制下,節(jié)點可以接收單播和多播請求并做出響應。在管道消息到來之前,每個節(jié)點需要安裝偵聽器來處理來自其他節(jié)點的消息。當消息到達后,節(jié)點對管道報文消息進行解析處理,產(chǎn)生相應的事件,事件會激活偵聽器進行請求響應的處理。節(jié)點A建立輸入管道并實現(xiàn)net.jxta.pipe.PipeMsgListener接口的PipeMsgEvent(PipeMsgEvent event)方法來完成有管道消息輸入時觸發(fā)相關操作。節(jié)點B建立輸出管道并實現(xiàn)net.jxta.pipe.OutPipeListener接口的OutPipeEvent(OutPipeEvent event)方法來完成有管道消息輸出時時觸發(fā)相關操作。

        3.文件存儲與獲取

        在本部分功能實現(xiàn)中,利用了CMS服務。文件存儲與獲取通過LIST_REQ、LIST_RES、GET_REQ、GET_RES和ASK_DOWNLOAD_REQ等消息來實現(xiàn)。系統(tǒng)啟動后,用戶節(jié)點加入默認的NetPeerGroup。用戶存儲文件時,首先選取要存儲的文件,然后對文件進行編碼,最后將文件分塊發(fā)送到相應節(jié)點上。

        下載文件時,用戶選中要下載的文件,將這個文件的ID和本地接收內(nèi)容的輸入管道以及請求ID寫入到請求消息中傳給目標節(jié)點。節(jié)點收到LIST_REQ消息后,會發(fā)出一個LIST_RES的響應消息。用戶收到LIST_RES消息后,如果對其中的某個共享內(nèi)容感興趣,想要從對方節(jié)點下載,會向?qū)Ψ焦?jié)點發(fā)出一個GET_REQ消息,利用LIST_REQ中的輸入管道來請求下載分塊數(shù)據(jù)。節(jié)點收到GET_REQ消息后,首先,檢查自身是否包含GET_REQ消息中的共享內(nèi)容塊,如果包含,則通過GET_REQ消息中指定的輸入管道發(fā)出一個或多個GET_RES響應消息。節(jié)點根據(jù)文件ID獲得文件廣告和相關信息,通過文件路徑信息定位到文件,然后通過創(chuàng)建文件輸入流FilelnputStream(filepath)對象獲得輸入流,每次讀取指定大小的字節(jié)作為一個返回信息傳送給用戶。文件下載通過FilelnputStream讀取文件并將讀到的信息寫入CMS協(xié)議的GET-RES中,然后通過JXTA管道傳輸?shù)奖镜亍?/p>

        四、結(jié)束語

        JXTA技術(shù)是P2P的新發(fā)展,它提供的通用的平臺和協(xié)議可以高效靈活地開發(fā)P2P應用程序。本文提出了基于Chord協(xié)議,利用JXTA技術(shù)實現(xiàn)的分布式存儲。系統(tǒng)由地理分布的多個節(jié)點構(gòu)成,每個節(jié)點都是擁有存儲空間的獨立計算機,節(jié)點之間以JXTA網(wǎng)絡的方式組織,采用Chord環(huán)路作為網(wǎng)絡的拓撲結(jié)構(gòu),利用CMS來實現(xiàn)文件的存儲與下載。

        參考文獻:

        [1]田榮華,盧顯良,侯孟書.P2P分布式存儲系統(tǒng)[J].計算機科學,2007,(11):47-48.

        [2]趙森.基于DHT的Chord算法研究[J].網(wǎng)絡安全技術(shù)與應用,2007,(11):44-46.

        [3]Scott Oaks,Bernard TraversatεLi Gong著.技橋譯.JXTA技術(shù)手冊.北京:清華大學出版社,2004.4.

        [4]林川等.基于JXTA的P2P文件共享系統(tǒng)的研究[J].溫州大學學報,2007,(8):35-41.

        a毛片全部免费播放| 丝袜人妻无码中文字幕综合网| 亚洲二区三区四区太九| 国产精品成人久久a级片| 青青草手机在线观看视频在线观看 | 成人精品视频一区二区三区尤物 | 亚洲一区二区三区自拍麻豆| 亚洲专区路线一路线二网| 欧美奶涨边摸边做爰视频| 精品一区二区三区免费播放| 中文人妻无码一区二区三区信息| 高清亚洲精品一区二区三区| 国产精品视频自拍在线| 国产av无码专区亚洲av中文| 女人扒开下面无遮挡| 国产免费人成视频在线播放播| av是男人的天堂免费| 香蕉久久一区二区不卡无毒影院| 成品人视频ww入口| 色噜噜狠狠综曰曰曰| 国产成人麻豆精品午夜福利在线| 人人妻人人澡人人爽精品欧美| 亚洲性爱区免费视频一区| 性感美女脱内裤无遮挡| 日韩精品人成在线播放| 97无码免费人妻超级碰碰夜夜| 中文字幕在线亚洲日韩6页手机版| 一区二区在线视频大片| 蜜桃视频网站在线观看一区| 亚洲日韩一区二区三区| 国产精品偷伦免费观看的| 日韩亚洲国产中文字幕| 亚洲av无码成h在线观看| 国产精品免费久久久久软件| 亚洲AV无码日韩综合欧亚 | 亚洲啪啪视频一区二区| 台湾佬自拍偷区亚洲综合| 日本加勒比东京热日韩| 美女草逼视频免费播放| 国产人妻鲁鲁一区二区| 精品久久久久久777米琪桃花|