基于網(wǎng)格結(jié)構(gòu)的樹型cdn-p2p融合網(wǎng)絡(luò)構(gòu)架及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于內(nèi)容分發(fā)網(wǎng)絡(luò)(ContentDeliveryNetwork)領(lǐng)域和對等網(wǎng)絡(luò) P2P(PeertoPeer)領(lǐng)域,具體涉及一種基于網(wǎng)格結(jié)構(gòu)的樹型⑶N-P2P融合網(wǎng)絡(luò)構(gòu)架及方 法。
【背景技術(shù)】
[0002] 網(wǎng)絡(luò)技術(shù)的變革與發(fā)展在給社會帶來巨大進步的同時,也讓人們不再僅僅滿足 于獲取網(wǎng)絡(luò)靜態(tài)內(nèi)容和文本信息。多媒體內(nèi)容(Multi-mediaContent)的流行,在一定 程度上推動了網(wǎng)絡(luò)技術(shù)的持續(xù)發(fā)展和變革以適應(yīng)人們的需求,目前,較為流行的網(wǎng)絡(luò)技術(shù) 中,有兩種技術(shù)非常適合多媒體內(nèi)容的分發(fā)和傳送,它們分別是內(nèi)容分發(fā)網(wǎng)絡(luò)⑶N(Content DeliveryNetwork)和對等網(wǎng)絡(luò)P2P(PeertoPeer)。
[0003] Q)N是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)的簡稱,Q)N網(wǎng)絡(luò)的根本原理 在于,其將服務(wù)Peer節(jié)點部署在網(wǎng)絡(luò)的邊緣,盡可能靠近用戶側(cè),從而用戶可以較傳統(tǒng)網(wǎng) 絡(luò)方式而言更近距離地請求和獲取內(nèi)容,達到更好地服務(wù)效果。在網(wǎng)絡(luò)傳輸?shù)倪^程中,越長 的傳輸距離意味著越大的延遲和越大的丟包率,因此,讓服務(wù)Peer節(jié)點盡可能地靠近用戶 能夠有效減少延遲和丟包率給用戶帶來的負面影響。
[0004] P2P是英文Peer to Peer(對等)的簡稱,相對于傳統(tǒng)的C/S模式而言,P2P技術(shù) 無疑是一次巨大的革新,它將原來由少數(shù)主機單獨完成的任務(wù)分配到網(wǎng)絡(luò)中任何一臺有能 力完成這一服務(wù)的機器,網(wǎng)絡(luò)構(gòu)架將不再是傳統(tǒng)的主-從模式,而是完全平等的一種模式, P2P網(wǎng)絡(luò)中,所有的終端都是平等的,當(dāng)用戶希望獲取某項資源的時候,P2P網(wǎng)絡(luò)中的調(diào)度 設(shè)備--tracker將會根據(jù)用戶的請求和實際網(wǎng)絡(luò)情況,為用戶指定合適的Peer節(jié)點列 表peerlist,用戶可以根據(jù)這個peerlist向列表中的Peer節(jié)點發(fā)送獲取內(nèi)容請求,從而建 立連接,從多個Peer節(jié)點獲取相關(guān)內(nèi)容。
[0005] ⑶N-P2P融合網(wǎng)絡(luò),顧名思義,就是將⑶N網(wǎng)絡(luò)與P2P網(wǎng)絡(luò)通過某些技術(shù)融合起來, 形成能夠取長補短的⑶N-P2P融合網(wǎng)絡(luò)。⑶N-P2P融合網(wǎng)絡(luò)的好處在于,其既具備了⑶N網(wǎng) 絡(luò)的"一跳式"服務(wù)特性,又有效地降低了服務(wù)成本。因為系統(tǒng)將不再單純依賴CDN能力, 當(dāng)P2P能力能夠滿足系統(tǒng)需求的時候,系統(tǒng)將優(yōu)先選擇P2P為用戶提供服務(wù)。
[0006] 就像交叉學(xué)科的出現(xiàn),網(wǎng)絡(luò)技術(shù)的融合也是為了集各種技術(shù)所長,充分取長補短, 實現(xiàn)效益最大化的同時兼得用戶體驗。隨著CDN和P2P技術(shù)的流行,人們除了在享受這兩 種技術(shù)帶給人們的快捷體驗和忍受這兩種技術(shù)中的不足之外,也在設(shè)想如何能夠?qū)⑦@兩種 技術(shù)融合起來揚長避短,因此,CDN-P2P融合網(wǎng)絡(luò)構(gòu)架應(yīng)運而生。伴隨著這一研究的流行化, 人們對這一領(lǐng)域的研究也逐漸多元化,基本涵蓋了如何構(gòu)建⑶N-P2P融合網(wǎng)絡(luò)、⑶N-P2P融 合網(wǎng)絡(luò)下的策略研究,包括調(diào)度策略、組網(wǎng)策略等、各類因素對CDN-P2P融合網(wǎng)絡(luò)的影響及 處理措施等、運行于⑶N-P2P融合網(wǎng)絡(luò)構(gòu)架上的各種業(yè)務(wù)和操作。
[0007] 綜上所述,盡管有關(guān)⑶N-P2P融合網(wǎng)絡(luò)的研究包含了問題的多個方面,以上研究 均沒有涉及⑶N-P2P融合網(wǎng)絡(luò)中有關(guān)⑶N部署策略的研究,然而,⑶N-P2P融合網(wǎng)絡(luò)本來的 出發(fā)點是如何在保證網(wǎng)絡(luò)服務(wù)質(zhì)量和用戶體驗的前提下,盡可能地減少CDN的部署,以減 少部署和運維開銷。并且,現(xiàn)有的研究成果并沒有給CDN服務(wù)提供商和用戶提供一種能最 大化發(fā)揮⑶N和P2P優(yōu)勢的⑶N-P2P融合網(wǎng)絡(luò)構(gòu)架,現(xiàn)階段,無論是樹型⑶N-P2P融合網(wǎng)絡(luò) 構(gòu)架還是網(wǎng)格型⑶N-P2P融合網(wǎng)絡(luò)構(gòu)架,都無法在保證⑶N-P2P融合網(wǎng)絡(luò)健壯性的同時,保 證網(wǎng)絡(luò)的服務(wù)質(zhì)量,因此,需要一種全新的網(wǎng)絡(luò)構(gòu)架來同時實現(xiàn)健壯性和高效性。
[0008] 現(xiàn)階段,關(guān)于⑶N-P2P融合網(wǎng)絡(luò)的拓撲結(jié)構(gòu)有多重提議,在文獻1(ZhiHuiLu,Ye Wang,YangRichardYang,"AnAnalysisandComparisonofCDN_P2PhybridContent DeliverySystemandModel",JournalofCommunications,Vol7,No3 (2012),232-245, Mar2012doi:10. 4304/jcm. 7. 3. 232-245.)中,如圖 1 所示,作者給出 了一種基于層 (layer-based)的⑶N-P2P拓撲結(jié)構(gòu),⑶N和P2P分屬于不同的層,⑶N服務(wù)器之間可以進行 資源交互和負載均衡,系統(tǒng)中的Peer可以請求CDN或者其他Peer獲取相應(yīng)資源。然而,這 一系統(tǒng)中,所有的Peer節(jié)點是隨機分布的,因此,一個Peer可以為任意其他Peer服務(wù),這 樣的機制帶來的后果是,可能會引進沖突,因為存在這樣一種情況:系統(tǒng)中所有的Peer節(jié) 點并發(fā)地同時向一個Peer請求內(nèi)容。為了避免這一缺陷,一種具備健壯性的網(wǎng)絡(luò)拓撲非常 必要。
[0009]在文獻 2(CesarA.V.Melo,Jo~aodaMataLib'orio,NelsonL.S.da Fonseca, "0bjectManagementPoliciesinP2P-CDNNetworks,',Communications(ICC), 2012IEEEInternationalConferenceonDateofConference:l〇-15June2012)中,作者 提出了一種基于網(wǎng)格結(jié)構(gòu)的CDN-P2P融合網(wǎng)絡(luò)構(gòu)架,圖2展示了這一構(gòu)架的拓撲原理。這 一構(gòu)架結(jié)合了傳統(tǒng)P2P網(wǎng)絡(luò)的網(wǎng)格結(jié)構(gòu),將P2P網(wǎng)格結(jié)構(gòu)直接應(yīng)用于CDN-P2P融合網(wǎng)絡(luò)構(gòu) 架當(dāng)中,因此,整個網(wǎng)絡(luò)的運行模式仍然類似傳統(tǒng)的P2P網(wǎng)絡(luò),盡管這一構(gòu)架更加靈活,然 而由于這一構(gòu)架同時引進了P2P網(wǎng)絡(luò)中存在的弱點,使得網(wǎng)絡(luò)和網(wǎng)絡(luò)中的Peer節(jié)點難以管 控。
[0010] 為了解決⑶N-P2P融合網(wǎng)絡(luò)的可管可控性問題,文獻1中亦給出了一種由某研 究機構(gòu)提出的樹型CDN-P2P融合網(wǎng)絡(luò)拓撲結(jié)構(gòu)(如圖3所示),樹型結(jié)構(gòu)的網(wǎng)絡(luò)拓撲的 好處在于,相對于傳統(tǒng)P2P的網(wǎng)格結(jié)構(gòu)拓撲,樹型結(jié)構(gòu)網(wǎng)絡(luò)中,每個Peer節(jié)點都知道自己 的位置,即每個Peer節(jié)點既知道自己的父輩(parent)Peer節(jié)點的信息,也知道自己的子 (children)Peer節(jié)點和兄弟(sibling)Peer節(jié)點的信息,從而實現(xiàn)整個網(wǎng)絡(luò)的有序性,并 以此達到網(wǎng)絡(luò)的可管可控。但是,樹型結(jié)構(gòu)網(wǎng)絡(luò)也存在一些問題,例如,相對于其他網(wǎng)絡(luò) 拓撲(網(wǎng)格、環(huán)形、星型等)來說,樹型結(jié)構(gòu)網(wǎng)絡(luò)中的Peer節(jié)點對于樹根,也就是⑶N-P2P 融合網(wǎng)絡(luò)中的CDN服務(wù)器的依賴性會比較大,這將不利于CDN-P2P融合網(wǎng)絡(luò)未來的發(fā)展, 同時,樹型結(jié)構(gòu)中,離根Peer節(jié)點越近的Peer節(jié)點,其性能越好,而離根Peer節(jié)點越遠的 Peer節(jié)點其性能卻越差,這也會影響CDN-P2P融合網(wǎng)絡(luò)的整體性能和擴展性,不利于網(wǎng)絡(luò) 層數(shù)的增長。
【發(fā)明內(nèi)容】
[0011] 本發(fā)明的目的在于解決上述現(xiàn)有技術(shù)中存在的難題,提供一種基于網(wǎng)格結(jié)構(gòu)的樹 型CDN-P2P融合網(wǎng)絡(luò)構(gòu)架及方法,在保證系統(tǒng)的擴展性、健壯性和靈活性的同時,保證系統(tǒng) 的有序性和可管可控。
[0012] 本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
[0013] 一種基于網(wǎng)格結(jié)構(gòu)的樹型⑶N-P2P融合網(wǎng)絡(luò)構(gòu)架,包括⑶N服務(wù)器和各層的Peer 節(jié)點,在整體保持樹狀網(wǎng)絡(luò)拓撲的前提下,上、下層的Peer節(jié)點之間形成網(wǎng)格結(jié)構(gòu);
[0014] 所述⑶N服務(wù)器能夠提供N。的服務(wù)能力,即N。條并發(fā)連接數(shù);
[0015]每個Peer節(jié)點需要k個連接同時為其服務(wù),該k個連接分別連接到k個不同的Peer節(jié)點(這k個Peer節(jié)點可以是任意層的),形成網(wǎng)格結(jié)構(gòu)。
[0016] 一種所述構(gòu)架的使用方法,包括:
[0017] 確定所述CDN服務(wù)器的服務(wù)能力后,對Peer節(jié)點進行調(diào)度;
[0018] 為所述網(wǎng)絡(luò)構(gòu)架所服務(wù)的系統(tǒng)中的每一個Peer節(jié)點設(shè)置權(quán)值,對于有Peer節(jié)點 退出的情況,采取新加入Peer節(jié)點補充策略;
[0019] 采取獎勵機制提升系統(tǒng)中每個Peer節(jié)點的貢獻率。
[0020] 所述確定所述⑶N服務(wù)器的服務(wù)能力后,對Peer節(jié)點進行調(diào)度是這樣實現(xiàn)的:
[0021] 步驟1 :第一個Peer節(jié)點加入系統(tǒng),⑶N服務(wù)器為其提供服務(wù);
[0022] 步驟2 :后續(xù)n個Peer節(jié)點加入系統(tǒng),采取以下策略:
[0023] 當(dāng)前用戶規(guī)模為M(t),⑶N服務(wù)器能支持的最大用戶規(guī)模為M,當(dāng)M(t)大于M時, 選擇P2P為其提供服務(wù),否則選擇CDN服務(wù)器為其提供服務(wù)。
[0024] 所述新加入Peer節(jié)點補充策略具體如下:
[0025] 狀態(tài)1:初始狀態(tài)
[0026] 設(shè)置當(dāng)前權(quán)值currentWeight為0,最小權(quán)值minWeight為0,Peer節(jié)點編號i為 0,退出Peer節(jié)點標(biāo)識ID為無窮大;
[0027] 狀態(tài)2:用戶開始加入系統(tǒng)
[0028] 將用戶行為user, action設(shè)置為加入狀態(tài)add時,比較i和ID的大小:
[0029] 當(dāng)i小于ID時,Peer節(jié)點的編號user,identifier設(shè)置為i,Peer節(jié)點的權(quán)值 user,weight設(shè)置為currentWeight,minWeight設(shè)置為currentWeight,currentWeight累 加1,i累加1 ;
[0030] 否則,Peer節(jié)點的編號user,identifier設(shè)置為ID,即標(biāo)識系統(tǒng)中有Peer節(jié)點退 出,Peer節(jié)點的權(quán)值user,weight設(shè)置為minWeight,即標(biāo)識為退出Peer節(jié)點權(quán)值,將退出 Peer節(jié)點標(biāo)識ID再次設(shè)置為無窮大00,最后將minWeight設(shè)置為currentWeight;
[0031] 狀態(tài)3:用戶離開系統(tǒng)
[0032] 將用戶行為user,action設(shè)置為離開狀態(tài)abort,用ID記錄離開Peer節(jié)點的編號 user,identifier,并將minWeight設(shè)置為離開Peer節(jié)點的權(quán)值user,weight。
[0033] 將上述各個參數(shù)均用數(shù)組類型存儲后,能夠?qū)eer節(jié)點進行并發(fā)處理。
[0034] 當(dāng)一個新Peer節(jié)點要求加入系統(tǒng)時,系統(tǒng)首先將其放置到之前退出的Peer節(jié)點 的位置。
[0035] 所述采取獎勵機制提升系統(tǒng)中每個Peer節(jié)點的貢獻率是這樣實現(xiàn)的:
[0036] 1)新加入系統(tǒng)的Peer節(jié)點享有在⑶N服務(wù)器空閑時獲得由⑶N