freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

p2p環(huán)境下的內(nèi)容分發(fā)機制研究碩士學(xué)位論文(參考版)

2025-07-01 08:18本頁面
  

【正文】 請求者端的負(fù)載均衡的詳細(xì)的流程如圖 47所示。//包的大小 struct ClientInfoStreamNode * next。具體的定義為:struct ClientInfoStreamNode{ const BYTE * packet。(2) ClientInfoStreamNode結(jié)構(gòu)。//已經(jīng)發(fā)出資源請求的中服務(wù)器的個數(shù) uint32 allReceivedServerCount。//文件ID int nearListCount。//等待被處理的鏈表的尾 bool working。//正在處理的服務(wù)器信息包鏈 struct ClientInfoStreamNode * waitingHead。//距離大于65536的服務(wù)器列表 CPartFile * partfile。//距離小于256的服務(wù)器列表 CListServerInfo* midServerList。該類的主要功能是把資源發(fā)現(xiàn)中獲得的服務(wù)器信息以及資源請求中返回的下載者信息作為潛在的上傳者信息保存起來,然后根據(jù)上面所介紹的原理進行服務(wù)器選擇。請求者接收到該集合以后,把集合中提供者按照的大小插入到鏈表中。而接收請求的提供者直接從鏈表中移出。然后提供者向請求者返回一個阻塞通知。在請求者端對排序完成以后,向前n個提供者發(fā)出資源請求信號(n的取值由系統(tǒng)靜態(tài)設(shè)置,一般為10)。的定義是請求者與提供者之間的邏輯距離,事實上就是兩者IP的異或值。為消除網(wǎng)絡(luò)通信所帶來的不良后果,但在具體的實現(xiàn)細(xì)節(jié)上采用兩次優(yōu)先級計算,或者說在請求者端使用優(yōu)先級排序,而在提供者端使用阻塞機制。因此直接按照公式在請求者端進行優(yōu)先級計算,有可能出現(xiàn)低效的情況。如果在請求者端直接采用優(yōu)先級計算公式(即請求者向提供者發(fā)出狀態(tài)查詢信號,獲得提供者的CPU、內(nèi)存和網(wǎng)絡(luò)等相關(guān)信息,然后在請求者端計算優(yōu)先級,并進行排序),那么在這個優(yōu)先級計算中,總計算時間=提供者CPU與內(nèi)存狀態(tài)的查詢時間+網(wǎng)絡(luò)通信時間+優(yōu)先級計算時間+排序時間。這四個參數(shù)有分別由公式33到36計算出來。負(fù)載均衡的優(yōu)先級計算公式為:。下載端的處理(即接收端分塊處理模塊)流程如圖 46所示。流程圖如圖 45所示。本系統(tǒng)的塊選擇模塊采用比較簡單的連續(xù)塊選擇。部分選擇模塊的流程圖如圖 44所示。}//表示該部分的完成度在代表一個文件的CPartFile中定義一個數(shù)組,該數(shù)組的元素為上面定義的結(jié)構(gòu)fileInfo。//表示該部分的分布情況 Int upload。因此依據(jù)本身的含義和系統(tǒng)的構(gòu)造,的數(shù)據(jù)結(jié)構(gòu)是一個int型的數(shù)組,該數(shù)組的長度為文件的部分?jǐn)?shù),并且該數(shù)組是作為代表上傳客戶端的CUpDownClient的一個成員變量。在上述的四個因素中,不僅與文件的部分有關(guān),還與資源請求者有關(guān);而其余的三個因素只與文件的部分有關(guān),與具體的資源請求者并沒有密切的關(guān)系。這幾個因素應(yīng)該在優(yōu)先級計算前就已經(jīng)得出結(jié)果,也就是說這幾個因素不是即時計算的,而是通過某些事件觸發(fā)計算的。部分選擇模塊首先執(zhí)行,從文件的眾多部分中選擇出一個合適的部分作為分發(fā)文件部分;然后在該分發(fā)文件部分的各個塊中,通過塊選擇模塊選擇合適的塊進行分發(fā)。在資源提供者接受到請求者所發(fā)出的OP_REQUESTPART信號后,提供者系統(tǒng)進入文件分塊選擇模塊。圖 43文件分塊模塊類圖 文件分塊選擇實現(xiàn)技術(shù),本系統(tǒng)采用的分發(fā)方式是一個混合式的分發(fā)方式。首先對文件的每個部分進行Hash值計算,這些部分構(gòu)成一個樹,樹根為整個文件的Hash值;然后針對每一個部分,對一個部分中的每個塊進行Hash值計算,該部分中的各個塊的Hash值又構(gòu)成一個樹,樹根為該部分的Hash值。在本系統(tǒng)中文件的各個分塊的Hash值集合采用的數(shù)據(jù)結(jié)構(gòu)是樹。在一個新的Gap_Struct加入到gaplist的過程中,有一點是需要注意的,即如果某兩個部分可以合并成一個更大的部分,則應(yīng)該刪除原來的那個Gap_Struct數(shù)據(jù),并把合并得到的部分作為一個新的元素加入到gaplist中去。它的作用是告訴系統(tǒng)從start到end的部分已經(jīng)下載完成了。這個數(shù)據(jù)結(jié)構(gòu)所保存的部分并不是上面文件分塊所定義的part。//表示該部分的起始偏移量 uint64 end。在系統(tǒng)中,有一個數(shù)據(jù)結(jié)構(gòu)是專門用于保存文件已經(jīng)下載(或者擁有的)的分塊的偏移量的。其中startPos為起始偏移量,endPos為結(jié)束偏移量;i為該塊所在的部分在整個文件部分集合中的索引,而j為該塊在所在部分中的塊集合的索引;PARTSIZE為每個部分的大小,即9500KB;EMBLOCKSIZE為每個塊的大小,即180KB;FILESIZE為文件結(jié)尾偏移量。由于分塊的大小是固定的,因此要想獲得某個部分的某個塊,只需要知道該部分索引(設(shè)為i)以及該塊在該部分中的索引(設(shè)為j),然后根據(jù)公式得到該塊在實際文件中的起始偏移量以及結(jié)束偏移量。在進行文件傳輸前,資源提供者首先要把文件的Hash值集合傳輸給請求者。這樣傳輸?shù)淖钚挝皇菈K,為防止文件傳輸中出現(xiàn)錯誤,系統(tǒng)采用Hash算法SHA1來對文件分塊進行傳輸后的文件檢驗。本系統(tǒng)的文件分塊采用了兩種不同粒度的文件分塊方式:第一粒度是9500KB大小的部分(part);第二粒度是180KB大小的塊(block)。這樣在進行文件傳輸?shù)臅r候,可以把傳輸?shù)淖钚挝豢s小到分塊上,如此擁有不同分塊的主機之間也可以進行相互的分發(fā)。資源請求者與擁有者之間的交互如圖 42所示。(2) 通過負(fù)載均衡算法獲得合適的資源提供者子集S。在本系統(tǒng)中,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用的是開源軟件Emule所采用的的Kademlia網(wǎng)絡(luò),它是一個分布式的結(jié)構(gòu)化覆蓋網(wǎng)絡(luò)。在這個過程中,它涉及到了資源查找與發(fā)布以及網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)方面的內(nèi)容。其中資源請求模塊、文件分塊模塊和內(nèi)容傳輸模塊屬于底層功能支持的模塊,而文件分塊選擇模塊和負(fù)載均衡模塊為內(nèi)容分發(fā)機制的核心功能模塊。在章節(jié)3的內(nèi)容分發(fā)機制的算法設(shè)計中,本系統(tǒng)采用分布式結(jié)構(gòu)化覆蓋網(wǎng)絡(luò)Kademlia作為本系統(tǒng)的P2P環(huán)境,結(jié)合第三章中所設(shè)計的內(nèi)容分發(fā)機制,構(gòu)造一個P2P內(nèi)容分發(fā)系統(tǒng)。 本章小結(jié)本章主要介紹了P2P環(huán)境下的內(nèi)容分發(fā)機制的設(shè)計思想,確定了系統(tǒng)的分發(fā)方式為混合式,設(shè)計了關(guān)于內(nèi)容分發(fā)機制的兩個重要算法:兩層的文件分塊選擇算法以及負(fù)載均衡算法。根據(jù)計算出來的對各個提供者進行排序,請求者向前十個提供者發(fā)出資源請求命令。則優(yōu)先級的計算公式為: 32 33 34 35 36其中為的CPU頻率,為的CPU利用率;為的內(nèi)存容量,為的內(nèi)存利用率;為的IP地址,為資源請求者的IP地址;表示資源請求者向發(fā)送網(wǎng)絡(luò)狀況訪問包的開始時間,為返回時間。假設(shè)資源請求者所請求的文件為(,m為該節(jié)點所請求的文件數(shù)目),在資源查找中獲得的資源提供者(,n為資源提供者的數(shù)目),則對于,的優(yōu)先級為。它們之間的區(qū)別只在于本身性能以及網(wǎng)絡(luò)環(huán)境的差別。而本系統(tǒng)的網(wǎng)絡(luò)環(huán)境是分布式的結(jié)構(gòu)化的P2P環(huán)境——Kademlia,因此本系統(tǒng)的負(fù)載均衡算法不能采用傳統(tǒng)內(nèi)容分發(fā)網(wǎng)絡(luò)的負(fù)載均衡算法,而應(yīng)該充分考慮Kademlia網(wǎng)絡(luò)的特點,并借鑒已有的負(fù)載均衡算法來設(shè)計新的負(fù)載均衡算法。 負(fù)載均衡算法設(shè)計現(xiàn)今對負(fù)載均衡算法[36-40]的研究已經(jīng)比較深入,特別是在傳統(tǒng)的內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)中的負(fù)載均衡算法已經(jīng)很成熟了。(2) 為資源請求者提高更好的服務(wù)質(zhì)量。這個問題的解決方法就是使用負(fù)載均衡。同時由于這些競爭,高性能的服務(wù)者由于獲得太多的請求,導(dǎo)致高負(fù)載從而變成低性能,而低性能則因為低負(fù)載變?yōu)楦咝阅?。這些差異會導(dǎo)致節(jié)點提供服務(wù)的性能出現(xiàn)差異。塊選擇算法不采用優(yōu)先級的方式,而是采用簡單的連續(xù)選擇算法:第一次發(fā)送該部分時,從第一塊開始連續(xù)發(fā)送五塊,如果接受端已經(jīng)全部擁有這五塊,則返回該部分第一個沒有擁有的塊,下一次發(fā)送從該塊開始連續(xù)發(fā)送五塊,然后接著發(fā)送下五塊;如果連續(xù)三次發(fā)送了接受端已經(jīng)擁有的塊,或者該部分已經(jīng)下載完成,則接受端應(yīng)該返回下一部分的請求通知。而且不能為零值,即的值應(yīng)該為該部分已有的接受上傳者數(shù)加上一。由此可見優(yōu)先級的計算公式為: 31其中max表示該文件各個部分中的最大上傳次數(shù)加上一。其中、和用整數(shù)表示,用百分比表達。假設(shè)要計算優(yōu)先級的部分為第i部分,記為,設(shè)該部分接受者為j,則對于接受者j的優(yōu)先級為。4) 該部分的正在上傳狀況,即獲得本節(jié)點該部分上傳的接受者的數(shù)目。3) 該部分是否已經(jīng)被發(fā)送到請求者。2) 該部分的完成度,即該部分中本節(jié)點已經(jīng)下載完的塊所占的百分比。綜合起來,優(yōu)先級主要考慮以下的幾個方面:1) 該部分在其他節(jié)點的分布情況,即該部分在其他的節(jié)點的擁有數(shù)目。而算法的重點在于優(yōu)先級的設(shè)定與計算。從小節(jié)0的算法目標(biāo)設(shè)定可以看到,本系統(tǒng)采用以上的兩種算法都不合適,因此本系統(tǒng)采用了能夠適應(yīng)大多數(shù)情況的優(yōu)先級算法。而采用單純的隨機分塊選擇,則會導(dǎo)致太多的未知情況,難以對性能進行估計。其中部分選擇算法主要功能是從文件的n個部分中選擇合適的部分作為下一次傳輸?shù)牟糠郑挥性谏弦粋€部分傳輸完成以后,或者該部分已擁有的部分已經(jīng)全部傳輸完成以后,才能啟動下一次的部分選擇算法;塊選擇算法的功能是從部分選擇算法已得到的部分中選擇合適的塊進行分發(fā)。由于算法的調(diào)用比較頻繁,故有效高速應(yīng)該是一個重要的標(biāo)準(zhǔn)。這樣可以避免下載集中在某一部分,而其他部分卻無人下載;還可以促進各個下載者之間分享資源。而采用兩層分塊模式的原因是:采用一層模式的系統(tǒng)只能以塊(180KB)為單位進行分塊選擇,如此每次發(fā)送完一塊以后都要重新進行分塊選擇,分塊選擇過多會導(dǎo)致性能下降;而采用兩層模式時,可以以部分為單位進行分塊選擇,這樣可以適當(dāng)?shù)臏p少分塊選擇次數(shù)。如圖 31,在文件分塊系統(tǒng)中,文件的分塊有兩層:第一層是把整個文件分成n個部分(part),每個部分的大小都為9500KB(除了最后的一部分);第二層則是把每個部分劃分為52個塊(block),除最后的一塊為140KB以外,每塊的大小為180KB。另外分塊還有一個好處就是如果保留了每一分塊的hash值,就能在只下載到文件的一部分時判斷出下載內(nèi)容的有效性。對于如此大容量的文件,分發(fā)系統(tǒng)如果以整個文件來作為一個單位進行分發(fā),那么性能可想而知是非常低下的。具體的內(nèi)容在文件分塊選擇算法以及負(fù)載均衡算法中進行說明。在本系統(tǒng)中,分發(fā)方式也是采用混合式。拉方式是在明確知道向哪個資源擁有者發(fā)出相應(yīng)的資源請求,但是一般來說對于一個資源只能向眾多的資源擁有者的其中一個發(fā)出請求,但是網(wǎng)絡(luò)的狀況是實時變化的,之前最優(yōu)的被請求者可能在下一刻變成最差的。推方式對分發(fā)策略性能要求太高,甚至可以說分發(fā)策略性能決定著推方式性能。在拉方式下,內(nèi)容的分發(fā)是按需的。拉方式是一種被動的分發(fā)技術(shù),它通常由用戶請求驅(qū)動。一般來說,內(nèi)容分發(fā)策略主要分為靜態(tài)策略和動態(tài)策略。通常,推方式是由資源擁有者發(fā)起,將內(nèi)容從源或者中心媒體資源庫分發(fā)到各個資源請求者。 分發(fā)方式內(nèi)容分發(fā)方式的形式主要有三種:推方式、拉方式和混合式,其中混合式是指推方式和拉方式的結(jié)合。因此不能把CDN網(wǎng)絡(luò)下的內(nèi)容分發(fā)機制一成不變地用到本系統(tǒng)的內(nèi)容分發(fā)機制中。3 P2P環(huán)境下的內(nèi)容分發(fā)機制 內(nèi)容分發(fā)機制的設(shè)計思想在傳統(tǒng)的內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)中的內(nèi)容分發(fā)機制的主要原理是:首先用戶向中心服務(wù)器發(fā)送請求,中心服務(wù)器把請求發(fā)向全局負(fù)載均衡中心,然后全局負(fù)載均衡中心根據(jù)負(fù)載均衡算法得到最優(yōu)的地區(qū)服務(wù)器,然后由地區(qū)服務(wù)器向用戶提供服務(wù)。另外,對于每一個用戶,系統(tǒng)會根據(jù)用戶信息產(chǎn)生一個Hsah值的ID,該ID的主要作用已經(jīng)在上一小節(jié)進行介紹,這里不再重復(fù)。系統(tǒng)采用的是Emule的文件分塊功能,具體的分塊思想在下一章的文件分塊選擇算法再進行詳細(xì)說明。需要鑒權(quán)的一方,向?qū)⒈昏b權(quán)的一方發(fā)送隨機串(“挑戰(zhàn)”),被鑒權(quán)方將該隨機串和自己的鑒權(quán)口令字一起進行Hash運算后,返還鑒權(quán)方,鑒權(quán)方將收到的Hash值與在己端用該隨機串和對方的鑒權(quán)口令字進行Hash運算的結(jié)果相比較,如相同,則可在統(tǒng)計上認(rèn)為對方擁有該口令字,即通過鑒權(quán)。對方在驗證簽名時,也是先對該數(shù)據(jù)文件進行計算其散列值,然后再用非對稱算法驗證數(shù)字簽名。在這種簽名協(xié)議中,雙方必須事先協(xié)商好雙方都支持的Hash函數(shù)和簽名算法。(2) 數(shù)字簽名Hash算法也是現(xiàn)代密碼體系中的一個重要組成部分。Hash算法在信息安全方面的應(yīng)用主要體現(xiàn)在以下的3個方面:(1) 文件檢驗在文件傳送后,將得到的目標(biāo)文件計算哈希值,與源文件的哈希值對比,由兩者的一致性,可以從統(tǒng)計上保證兩個文件的每一個碼元也是完全相同的。最后生成160bit的輸出。接著各個512位消息分組以16個32位字的形式進入算法的主循環(huán)。消息首先被拆成若干個512位的分組,其中最后512位一個分組是“消息尾+填充字節(jié)(100……0 )+64位消息長度”,以確保對于不同長度的消息,該分組不相同。SHA1設(shè)計時基于和MD4相同原理,并且模仿了該算法。它的安全性不像RSA那樣基于數(shù)學(xué)假設(shè),盡管DenBoer、Bosselaers和Dobbertin很快就用分析和差分成功的攻擊了它3輪變換中的2輪,證明了它并不像期望的那樣安全,但它的整個算法并沒有真正被破解過,Rivest也很快進行了改進。(1) MD4MD4(RFC1320)是以MIT的Ronald L . Rivest在1990年設(shè)計的,MD是MessageDigest的縮寫。其實質(zhì)是必須使輸入中每一個比特的信息,盡量均勻的反映到輸出的每一個比特上去;輸出中的每一個比特,都是輸入中盡可能多比特的信息一起作用的結(jié)果。(3) 映射分布均勻性和差分分布均勻性。計算上也難以尋找一對任意的M和,使?jié)M足H(M)=H(),此謂強抗沖突性。即在統(tǒng)計上無法產(chǎn)生2個散列值相同的預(yù)映射。這樣,散列值就能在統(tǒng)計上唯一的表征輸入值,因此,密碼學(xué)上的Hash又被稱為“消息摘要”,就是要求能方便的將“消息”進行“摘要”,但在“摘要”中無法得到比“摘要”本身更多的關(guān)于“消息”的信息。在
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1