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

        ?

        P2P文件共享系統(tǒng)的設(shè)計

        2008-12-31 00:00:00葉曉瓊
        電腦知識與技術(shù) 2008年30期

        摘要:系統(tǒng)Qt P2P file-sharing System (QPS)是利用Qt開發(fā)的P2P文件共享系統(tǒng)。QPS采用P2P中的混合模式,此模式結(jié)合了集中目錄式和純分布式兩者的優(yōu)點,在實現(xiàn)上具有簡易性,在共享度上具有很強的擴(kuò)展性。QPS的最大特點是加入了策略。這種策略能限制一些用戶只下載而不共享資源的行為。策略的引入是為了鼓勵用戶與其他人分享自己的資源,而不僅僅是索取。入策略的QPS不僅能比較有效的限制只下載不分享的行為,而且對系統(tǒng)的壽命也有相當(dāng)程度的提高。

        關(guān)鍵詞: 文件共享;P2P;策略;Qt

        中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)30-0633-03

        The Design of a P2P File Ssharing System

        YE Xiao-qiong

        (Xianning Vocational Technical College, Xianning 37100, China)

        Abstract: QPS is a peer-to-peer file sharing system implemented in Qt. It uses a mediated-based mode. This mode combines the strengths of centralized-directory mode and purely-distributed mode, and can be implements simply and has strong expansibility on the share pitch. The most favorable characteristic of QPS is that it introduces a strategy, which can restrict the free rider behavior of users who only download file but not share any. The purpose of the strategy is to encourage users to share their resources with others but not only ask for.With the strategy as described above, QPS can not only restrict downloading but also increase its lifetime.

        Key words: file sharing system; P2P; scheme; Qt

        1 引言

        C/S式架構(gòu)造就了一批著名的門戶網(wǎng)站,如雅虎,新浪等。這些網(wǎng)站容易受到黑客的親睞后果是服務(wù)崩潰。C/S式架構(gòu)只有一個服務(wù)器或服務(wù)機群,服務(wù)器一旦崩潰,它提供的服務(wù)也將停止。而P2P式架構(gòu)卻正好相反,它沒有服務(wù)器(相對C/S架構(gòu)而言)或服務(wù)器是分布的,一個服務(wù)器崩潰了,其他的服務(wù)器照樣能提供服務(wù)。這種架構(gòu)能有效的抵抗DDOS攻擊,它的安全性有很可靠的保障。另外,采用P2P式架構(gòu)的網(wǎng)絡(luò)資源共享系統(tǒng)不但大大的減輕了單個服務(wù)器的負(fù)擔(dān),而且也提高了很大的安全性。人們也可以通過這種架構(gòu)建立自己的信息天地,與其他的人分享自己的資源。

        P2P有三種模式,分別是:1)集中目錄式;2)純分布式;3)混合式。三種模式各有優(yōu)缺點。具體介紹如下:

        1)集中目錄式:這種方式類似C/S架構(gòu)。C/S架構(gòu)的資源集中在server上,而集中目錄式的P2P架構(gòu)資源是分布在各個peer中。此模式也有一個server,它起的是一個橋接作用,并不保存任何的資源。各個peer在共享或分享資源前必須要先連接上server,將本地的所有共享信息上傳server,同時也下載server上的所有或部分其他peer的共享信息。在獲得了共享信息后,就等于有了其他peer的IP,這樣就可以直接發(fā)起連接。此后,server對peer而言就不在有用,peer之間可以直接通信。在此,server只起一個索引的作用。這種模式的優(yōu)點是實現(xiàn)復(fù)雜度較低,對peer的管理也相對容易;缺點是共享面比較窄。這種模式的文件共享系統(tǒng)代表是Naspter。

        2)純分布式:這種模式是真正意義上的P2P,因為它不需要server來建立連接。Peer之間的查找與發(fā)現(xiàn)可以通過特定的方法來進(jìn)行。目前,此類相關(guān)的研究比較多。一旦一個新peer-A發(fā)現(xiàn)了某個peer-B后, peer-B就會發(fā)現(xiàn)其他的peer。這種模式的P2P文件共享系統(tǒng)主要側(cè)重于文件的搜索。設(shè)計好的搜索算法是關(guān)鍵。這種模式的優(yōu)點是共享面很廣,自由度(不受server的制約)很高;缺點是實現(xiàn)復(fù)雜度很高,peer相當(dāng)難管理,安全性也很低。這種模式的文件共享系統(tǒng)代表是Gnutella。

        3)混合式:混合式是上面兩種模式的結(jié)合。它有兩層,leader-peer層和ordinary-peer層。Leader-peer可以相互連接,而ordinary-peer則可以選擇連接某個leader-peer。這樣一個leader-peer只為該組的ordinary-peer建立索引。這種模式集合了上面兩種模式的優(yōu)點,屏除了它們的缺點。在文件搜索方面,這種模式的效率很高;在管理上,它是比較簡便;在共享面上,它有很強的擴(kuò)展性;在安全上,能有效的抵御DDOS攻擊。這種模式的文件共享系統(tǒng)代表是KaZaA。

        對于上面所述的三種P2P模式,我選擇了混合式。這種模式當(dāng)前是最流行的,也是研究比較多的。選擇它有一定的實用意義。

        2 設(shè)計原理

        系統(tǒng)QPS的主要目的是使網(wǎng)絡(luò)中的資源得到廣泛的共享。在模式上選擇了混合式,但僅此還是不夠的。為了防止了某些使用者只下載不共享,設(shè)定相應(yīng)的策略也是很重要的。以下將對二者詳細(xì)說明。

        2.1 模式選擇

        系統(tǒng)QPS采用的是混合模式P2P。現(xiàn)在來講述下這系統(tǒng)QPS的運行過程。

        圖1是系統(tǒng)QPS運行時的一個整體結(jié)構(gòu)。由此圖可以看出,它確實是一個混合式的。Group-leader peer之間存在著連接,這樣就不會導(dǎo)致某個Group被孤立,它非常有效的擴(kuò)大了共享面。每當(dāng)有新的Group-leader peer進(jìn)來時,都可以選擇的連接一個或多個其他的Group-leader peer。對ordinary peer而言,它可以選擇鄰近的或資源相對比較多的Group-leader peer進(jìn)行連接。當(dāng)然,這種選擇是在多次連接后,由用戶發(fā)現(xiàn)和比較而最終確定的。Ordinary peer在連接上Group-leader peer后,將本地的共享資源給leader,并下載leader上的其他共享資源信息。自然,leader上的共享資源信息是不斷改變的,這是有新ordinary peer進(jìn)來和老ordinary peer離開而引起的。系統(tǒng)中的Group-leader peer會在一個固定的時間間隔給每個ordinary peer發(fā)送當(dāng)前的共享資源信息。當(dāng)然,這種更新也不是完全有效的,因為Group中的ordinary peer的進(jìn)來與離開的時刻是不確定的。Ordinary peer在等獲得資源信息后即可下載感興趣的文件。當(dāng)然,它的下載前提是在策略的允許之下。文件的下載過程是,請求下載的ordinary peer向文件所在的ordinary peer發(fā)起連接,然后發(fā)送請求下載的文件信息(文件信息將在系統(tǒng)實施中講述)。文件所在的ordinary peer在收到請求后,將對應(yīng)的文件數(shù)據(jù)發(fā)給請求方。這樣直到文件被完全傳輸完。Ordinary peer也可以向Group-leader peer發(fā)出文件搜索請求信息(這也將在系統(tǒng)實施部分講述),Group-leader peer向其他的Group-leader peer發(fā)送請求,等待返回結(jié)果,并將結(jié)果返回給請求的ordinary peer。前面,我說了用戶可以選擇下次要連接的Group-leader peer,這些信息又從何而來呢?Group-leader peer會獲得它連接的Group-leader peer的信息,并定時的將這些信息發(fā)送個組內(nèi)的ordinary peer。

        3 策略設(shè)計

        任何一個ordinary peer對資源的下載都是在策略控制之下的。接下來,我將詳細(xì)說明QPS中的策略。

        策略的出發(fā)點是迫使每個ordinary peer都共享一定的資源。這樣才能達(dá)到網(wǎng)絡(luò)資源廣泛分享的目的。在Internet上,由于種種原因,比如網(wǎng)絡(luò)帶寬,磁盤的讀寫損傷,CPU的負(fù)荷等使得很多用戶不愿意去與別人分享它的資源。這樣的結(jié)果是系統(tǒng)的使用者數(shù)量減少,并最終導(dǎo)致系統(tǒng)被棄用。換句話說,即使是一個非常優(yōu)秀的系統(tǒng),缺少了用戶后最終將會被淘汰。

        QPS系統(tǒng)中的策略主要是對每個用戶計算一個分值。在分值滿足條件的情況下才可以對相應(yīng)的資源進(jìn)行下載。該策略由以下幾部分組成:

        1)分值的計算:每個ordinary peer的總分值根據(jù)資源的個數(shù)、資源被下載次數(shù)及每個資源的大小來計算??偡种涤上旅娴牡仁降玫剑?/p>

        totalValue = ∑(fileSize×α)+ (fileSisze×downloadTimes×β+ε)×shareNumber (1)

        其中,fileSize表示每個文件的大小,α是一個常量系數(shù),downloadTimes每個文件被下載的次數(shù),β也是一個常量系數(shù),ε同樣是一個常量系數(shù),shareNumber表示共享的文件數(shù)量。從上面的等式可以看出,totalValue是隨著fileSize等變量的增大而增大的。

        2)下載判定:每個用戶在下載文件時,都必須被檢驗,檢驗它是否有足夠的分值來下載該文件。當(dāng)用戶選擇了一個文件準(zhǔn)備下載時,系統(tǒng)首先將獲取該文件的大小,然后與用戶具有的分值相比較。如果用戶分值大于文件的大小,那么他被允許下載該文件,否則的話他將被禁止。每當(dāng)用戶開始下載文件,它的總分值將會被相應(yīng)的減少,減少的大小即為fileSize。而被下載的用戶其分值會得到增加。增加的大小為fileSisze×β。

        3)鼓勵措施:對有些用戶來說,它對某個文件特別有興趣,但它的分值卻不夠。這時,它可能就會關(guān)閉系統(tǒng),這樣帶來的結(jié)果是整個共享群體中的資源減少了。為了留住他們,必須有措施讓他們愿意繼續(xù)分享他們的資源。在固定的時間間隔內(nèi),給整個系統(tǒng)中的每個用戶都免費的派送一定量的分值,這樣就能讓那些渴望得到分值的用戶選擇留下。

        4 分析系統(tǒng)設(shè)計原理的有效性和可行性。

        4.1 有效性

        P2P的三種模式中,我選則了混合式。這中模式是集中目錄式和純分布式的一個結(jié)合。文件共享系統(tǒng)中,KaZaA采用的也是這種模式。理論上,在P2P共享方面,這種模式擁有很強的擴(kuò)張性。在Internet上,只要新的Group-leader peer能發(fā)現(xiàn)其他的任何一個Group-leader peer,它就可以加入到整個共享團(tuán)體中,這樣整個共享系統(tǒng)便得到了擴(kuò)展。與集中目錄式相比,這種模式也不會在遭受DDOS攻擊后而崩潰。共享系統(tǒng)中的任何Group-leader peer都能對其本組的ordinary peer進(jìn)行管理,約束他們的一些不合法行為。

        在策略方面,它是比較合理的。每個共享者所共享的資源數(shù)目、每個資源的大小和每個資源的受歡迎程度都是不一樣的。在策略方面,只考慮共享數(shù)目是不合理的。有的用戶共享著許多的小文件,而有的用戶共享著少量的大文件。對這兩類用戶來說,他們貢獻(xiàn)出的系統(tǒng)資源是不同的。小文件占的磁盤總空間可能比大文件占的空間還要小。在上傳時,用戶的網(wǎng)絡(luò)帶寬資源占用量也是不等的。同等帶寬下,小文件可能很短的時間就能上傳完,而大文件卻需要更多的時間,這樣共享大文件用戶的CPU資源也被很大的占用。所以只考慮兩者中的任何一個都不是合理的。再一個,每個資源都有一定的受歡迎程度。比如一首歌曲,當(dāng)前很流行,那么下載的人就多,而對于一首過時的歌曲來說,可能沒有人去下載。這樣,對于這兩類共享來說也是不合理的。因此,在等式(1)中有個downloadTimes變量,它就是用來記錄每個資源的流行程度的。流行程度越高,downloadTimes的值就會越大,而用戶的最終分值也就越大,他可以下載的資源也就越大??紤]了每個資源的三個因素,這樣的策略可以說是有效的。并且策略還采取了鼓勵措施,這一措施能延長了用戶呆在整個共享系統(tǒng)中的時間,即維持了共享系統(tǒng)總的資源的數(shù)量。這樣的好處是防止它的離開而導(dǎo)致惡性循環(huán)。

        4.2 可行性

        系統(tǒng)原理的可行性是系統(tǒng)能否實現(xiàn)的關(guān)鍵。對于一個不可行的原理來說,它沒有任何使用價值。

        C/S架構(gòu)的網(wǎng)絡(luò)程序有許多。在server端有專門的監(jiān)聽套接字,client端只需獲取server的IP和端口(port)就可以發(fā)起連接,連接后server會產(chǎn)生一個專門的通信套接字來服務(wù)client,直到client斷開連接。在這點上,P2P架構(gòu)的網(wǎng)絡(luò)程序并沒有特別之處。P2P架構(gòu)的網(wǎng)絡(luò)程序與C/S架構(gòu)程序的區(qū)別是,P2P架構(gòu)的程序至少需要有兩次這樣的過程。在QPS文件共享系統(tǒng)中,ordinary peer連接上Group-leader peer后,當(dāng)用戶要下載文件時,系統(tǒng)還將進(jìn)行一次連接,但這次的連接對象不是Group-leader peer而是文件所在的ordinary peer。在技術(shù)上來說,它的實現(xiàn)難度和C/S架構(gòu)的網(wǎng)絡(luò)程序相比并沒有很大的提高。因此,它確實是可行的。

        對于策略來說,它也是可行的。QPS文件共享系統(tǒng)的目的就是最大限度的共享網(wǎng)絡(luò)上的資源。采用任何一種簡單的策略都可以使得網(wǎng)絡(luò)資源共享度有所提升。例如,只考慮共享數(shù)量,共享資源越多的用戶,它能下載的資源也就越多。但是這樣的策略并不公平。這在有效性中我已經(jīng)講述了。自然,我設(shè)計的這個策略也不能說是完全公平的。它只是為到達(dá)最終目標(biāo)的一種方式。在實現(xiàn)上,這個策略也是比較簡單的。它不是一個復(fù)雜的算法,只是一種思想而已。對編程語言來說,它只一個簡單的數(shù)學(xué)計算。共享的文件數(shù)量和每個文件的大小都可以用開發(fā)平臺中的簡單函數(shù)獲得,而每個文件的下載次數(shù)只需保存在一個文件中,每次運行系統(tǒng)時都從文件中讀取出這個信息就能達(dá)到目的。所以,此策略在實現(xiàn)是完全可行的。

        參考文獻(xiàn):

        [1] 陸正中,馬進(jìn)德,石正貴,等.JBuilder 9軟件開發(fā)項目實踐[M].北京:清華大學(xué)出版社,2005:240-261.

        [2] James F.Kurose, Keith W R. 計算機網(wǎng)絡(luò)——自頂向下方法與Internet特色[M].北京:高等教育出版社,2005:136-145.

        [3] Flenner R. Java P2P技術(shù)內(nèi)幕[M]. 北京:電子工業(yè)出版社,2003:200-235.

        [4] 許斌. JXTA--Java P2P網(wǎng)絡(luò)編程技術(shù)[M]. 北京:清華大學(xué)出版社,2003:1-256.

        [5] 吳文輝.對等網(wǎng)絡(luò)編程源代碼解析[M].北京:電子工業(yè)出版社,2002:315-410.

        [6] 楊天路.P2P網(wǎng)絡(luò)技術(shù)原理與系統(tǒng)開發(fā)案例[M].北京:人民郵電出版社,2007:18-109.

        [7] Traversat O G. JXTA技術(shù)手冊[M].北京:清華大學(xué)出版社,2004:23-78.

        [8] 倪繼利. Qt及Linux操作系統(tǒng)窗口設(shè)計[M].北京:電子工業(yè)出版社,2006:72-103.

        注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文

        天天色天天操天天日天天射| 无码av免费精品一区二区三区 | 秋霞国产av一区二区三区| 日韩在线精品视频观看 | 色婷婷综合久久久久中文| 97人妻视频妓女网| 丰满少妇又爽又紧又丰满动态视频| 国产精品国产三级国产专播下| 久久久久国产综合av天堂| japanese无码中文字幕| 一级一级毛片无码免费视频| 久久丁香花综合狼人| 成年人视频在线观看麻豆| 日本av一区二区三区在线| 专干老肥熟女视频网站300部| 理论片午午伦夜理片影院| 国产清品夜色一区二区三区不卡| 亚洲一区二区三区自拍麻豆| 久草视频这里只有精品| 天堂网www资源在线| 日韩a∨精品日韩在线观看| 国产免费三级三级三级| 日韩av一区二区不卡| 亚洲娇小与黑人巨大交| 香蕉视频毛片| 人妻中出中文字幕在线| 天天躁夜夜躁狠狠躁婷婷| 毛片24种姿势无遮无拦| 精品国产福利一区二区在线| 亚洲乱码少妇中文字幕| 人妻尤物娇呻雪白丰挺| 曰日本一级二级三级人人| 国产精品人妻一区二区三区四| 综合久久给合久久狠狠狠97色| 国产情侣一区在线| 在线不卡精品免费视频| 国产欧美亚洲精品第一页| 极品熟妇大蝴蝶20p| 日韩成精品视频在线观看| 精品熟人妻一区二区三区四区不卡| 300部国产真实乱|