亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種p2sp多源下載系統(tǒng)的制作方法

文檔序號:7985163閱讀:8805來源:國知局
一種p2sp多源下載系統(tǒng)的制作方法
【專利摘要】本發(fā)明適用于網(wǎng)絡通信領域,提供了一種P2SP多源下載系統(tǒng),所述系統(tǒng)包括:多個跟蹤接入服務器,用于定期上報自身的負載信息;以及跟蹤接入管理服務器,用于根據(jù)所述多個跟蹤接入服務器上報的負載信息,選擇合適的跟蹤接入服務器的地址和端口返回給請求接入的客戶端。本發(fā)明根據(jù)跟蹤接入服務器的負載情況,實現(xiàn)跟蹤服務器的動態(tài)負載均衡,可以充分利用系統(tǒng)的硬件資源,減少設備投入,增加了系統(tǒng)的效率,并可以應對突發(fā)情況,提高系統(tǒng)整體的容錯性和穩(wěn)定性。
【專利說明】—種P2SP多源下載系統(tǒng)
【技術領域】
[0001]本發(fā)明屬于網(wǎng)絡通信領域,尤其涉及一種P2SP多源下載系統(tǒng)。
【背景技術】
[0002]在點對服務器和點(Peer to Server&Peer,P2SP)多源下載系統(tǒng)中,通過P2SP方式分發(fā)大型文件,例如多媒體文件、游戲的升級包和補丁包等,能夠有效降低服務器帶寬消耗。
[0003]P2SP核心功能都是在跟蹤(Tracker)服務器系統(tǒng)上實現(xiàn)的。現(xiàn)有的Tracker服務器系統(tǒng)如I圖所示,系統(tǒng)采用兩層架構,其中跟蹤應用服務器(TraCker_app)負責維護索引文件的節(jié)點共享信息,處理查找節(jié)點的請求和節(jié)點選擇算法的實現(xiàn),跟蹤接入服務器(Tracker_conn )負責接收下載客戶端請求,緩沖存儲一些中間的結果數(shù)據(jù)。
[0004]跟蹤接入服務器可并行擴展部署多臺,每個跟蹤接入服務器管理一些客戶端節(jié)點,每個客戶端節(jié)點只跟一個跟蹤接入服務器通信。跟蹤接入服務器支持傳輸控制協(xié)議(Transmission Control Protocol, TCP)和用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP)。跟蹤接入服務器接收處理客戶端的上報、心跳、節(jié)點查詢請求,每個跟蹤接入服務器和每個跟蹤應用服務器保持TCP長連接。
[0005]該系統(tǒng)的處理流程詳述如下:
[0006]1.客戶端從主跟蹤接入服務器獲取跟蹤接入服務器列表;
[0007]客戶端進入Tracker系統(tǒng)的第一步就是在UDP或TCP協(xié)議下,通過域名系統(tǒng)(Domain Name System, DNS)解析的方式訪問到一臺主跟蹤接入服務器,然后從主跟蹤接入服務器獲取跟蹤接入服務器列表,主跟蹤接入服務器以輪詢的方式把所有跟蹤接入服務器其中一個的地址返回給客戶端,客戶端之后心跳和消息更新都在該跟蹤接入服務器上操作。
[0008]2.節(jié)點上報、心跳;
[0009]節(jié)點第一次上報信息,視為該節(jié)點的登陸操作,跟蹤接入服務器會生成一個會話標識(SessionID)返回給節(jié)點,節(jié)點以后每次上報、查詢都必須帶上該SessionID。同時生成一個跟SessionID相關的密鑰(Key)返回給節(jié)點,之后節(jié)點與跟蹤接入服務器的通信包需要用該Key加解密,防止協(xié)議泄密。
[0010]SessionID在各個跟蹤接入服務器上生成的,只用來唯一標識節(jié)點。可以采取如下方法生成:每個跟蹤接入服務器有一個進程編號,從O開始記。SessionID是32位整型,其中高6位表示跟蹤接入服務器的編號,低26位表示節(jié)點信息在跟蹤接入服務器里面節(jié)點數(shù)組的下標。
[0011]Tracker服務器系統(tǒng)分成兩層結構,是為了降低節(jié)點心跳帶來的壓力,所以節(jié)點在跟蹤接入服務器上心跳后,并不是馬上同步到跟蹤應用服務器,而是對跟蹤接入服務器上每個節(jié)點設置一個同步時間間隔,例如lmin,達到時間后再同步。
[0012]3.節(jié)點添加/刪除文件;[0013]節(jié)點添加/刪除文件的同樣采用TCP和UDP協(xié)議,只是在添加/刪除文件的字段里包含文件的哈希(Hash)信息,Tracker服務器系統(tǒng)通過不同的命令選擇處理。
[0014]目前在不增加服務器帶寬投入的情況下,采用P2P技術是降低服務商帶寬消耗最有效的辦法。在上述應用場景中都涉及單個文件需要在短時間內被分發(fā)到大量的節(jié)點,P2P系統(tǒng)中就會有大量的查詢節(jié)點種子和心跳的需求。此時Tracker服務器系統(tǒng)會存在很大的訪問壓力。
[0015]目前,節(jié)點通常采用DNS解析方法獲取Tracker服務器的訪問地址,然后再和對應的跟蹤接入服務器保持通訊。當大量節(jié)點在線訪問的時候,由于DNS解析是按照接入時延來選擇主跟蹤接入服務器,主跟蹤接入服務器又是按照全隨機的策略返回一個跟蹤接入服務器的地址供客戶端使用,導致系統(tǒng)中跟蹤接入服務器的負載嚴重不均。
[0016]另外,在實際應用系統(tǒng)中,各跟蹤接入服務器的硬件條件并不完全一致,隨機的策略使得部分跟蹤接入服務器負載非常高,其他跟蹤接入服務器的負載卻很低,導致資源利用非常不充分。
[0017]同時,如果某一臺跟蹤接入服務器出現(xiàn)故障,需要被替換時,鑒于DNS解析緩存的原因,客戶端可能繼續(xù)訪問這些故障機器,若在發(fā)布高峰,跟蹤接入服務器的工作異常會嚴重影響整個系統(tǒng)的效率。

【發(fā)明內容】

[0018]本發(fā)明實施例提供一種P2SP多源下載系統(tǒng),旨在解決當前P2SP下載系統(tǒng)中跟蹤接入服務器的負載不均衡,導致資源利用不充分,影響系統(tǒng)效率的問題。
[0019]本發(fā)明實施例是這樣實現(xiàn)的,一種P2SP多源下載系統(tǒng),包括:
[0020]多個跟蹤接入服務器,用于定期上報自身的負載信息;以及
[0021]跟蹤接入管理服務器,用于根據(jù)所述多個跟蹤接入服務器上報的負載信息,選擇合適的跟蹤接入服務器的地址和端口返回給請求接入的客戶端。
[0022]本發(fā)明實施例根據(jù)跟蹤接入服務器的負載情況,實現(xiàn)跟蹤服務器的動態(tài)負載均衡,可以充分利用系統(tǒng)的硬件資源,減少設備投入,增加了系統(tǒng)的效率,并可以應對突發(fā)情況,提高系統(tǒng)整體的容錯性和穩(wěn)定性。
【專利附圖】

【附圖說明】
[0023]圖1是現(xiàn)有技術提供的Tacker服務器系統(tǒng)的架構圖;
[0024]圖2是本發(fā)明實施例提供的P2SP多源下載系統(tǒng)的結構圖;
[0025]圖3是本發(fā)明實施例提供的P2SP多源下載系統(tǒng)的業(yè)務流程圖。
【具體實施方式】
[0026]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0027]本發(fā)明實施例在P2SP多源下載系統(tǒng)中配置跟蹤接入管理服務器,根據(jù)跟蹤接入服務器的負載情況,動態(tài)實現(xiàn)跟蹤接入服務器的負載均衡。[0028]圖2是本發(fā)明實施例提供的P2SP多源下載系統(tǒng)的結構,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。
[0029]跟蹤接入服務器21定期向跟蹤接入管理服務器22上報自身的負載信息。
[0030]作為本發(fā)明的一個實施例,跟蹤接入服務器21上報的負載信息包括:
[0031]當前跟蹤接入服務器的節(jié)點在線人數(shù)OnlineNum;
[0032]當前跟蹤接入服務器的CPU負載Cpu ;以及
[0033]請求數(shù)Requst。
[0034]作為本發(fā)明的一個實施例,對于Linux操作系統(tǒng)CPU負載可以有2種不同的獲取方法:
[0035]第一種方法是通過分析內存文件系統(tǒng)對于服務器進程下載的統(tǒng)計信息,例如/proc/pid/stat進程狀態(tài)獲取。具體為分別獲取時間點T1、T2進程的(user+system)狀態(tài),通過算出用戶態(tài)時間和核心態(tài)時間總和的變化值Delta,然后通過Delta/ (T1-T2)計算。
[0036]第二種方法是通過/proc/stat+/proc/pid/stat方法,分別獲取時間點Tl、T2的CPU 狀態(tài),包括(user+system+nice+idle+iowait+irq+softirq),算出各個時間的 Delta值,Ι-1dle/total就是CPU的利用率,然后通過/proc/pid/stat數(shù)據(jù),獲取進程在哪個CPU上,從而得到該CPU的負載Cpu。
[0037]請求數(shù)Requst包括與客戶端心跳的數(shù)目及查詢種子的請求數(shù)目之和,因為這兩項是與跟蹤接入服務器的負載最相關的因素。實際應用時也可以考慮其他因素,例如刪除、注冊文件的請求數(shù)目。
[0038]作為發(fā)明的一個實施例,跟蹤接入服務器的總負載TrackerLoad具體計算公式為:
[0039]TrackerLoad=OnlineNum*a+Cpu*b+Requst*c。
[0040]其中,a, b, c分別是OnlineNum, Cpu, Requst三者的權重系數(shù)。
[0041]權重使用梯度方式,即在不同的梯度下,三者的權重不一樣,Cpu是影響負載最主要的因素,Cpu越高,其權重也越大;同樣在線人數(shù)越大,其權重也越大。其中OnlineNum、Cpu在各階段的負載是變化的,超過了一定的閾值,其權重將變得非常大,而在閾值范圍內,作用則較小。
[0042]作為本發(fā)明的一個優(yōu)選實施例,除了按照負載情況來選擇跟蹤接入服務器外,還可以增加一部分輔助策略,例如:
[0043]a.當跟蹤接入服務器上報的CPU利用率率大于一定閾值時,例如設為95%,則直接剔除,且不允許注冊和返回給客戶端;
[0044]b.Delta過大不信任,即CPU下降速度過快,可以設為大于20%,進行數(shù)據(jù)去噪,防止機器抖動影響結果,此類情況可能發(fā)生在意外進程重啟時。
[0045]c.剔除超時不注冊的跟蹤接入服務器,例如服務器出現(xiàn)故障,或者負載過大,無法發(fā)送持續(xù)的上報協(xié)議。
[0046]跟蹤接入管理服務器22根據(jù)跟蹤接入服務器21上報的負載信息,選擇合適的跟蹤接入服務器的地址和端口返回給請求接入的客戶端25。
[0047]在本發(fā)明實施例中,跟蹤接入管理服務器22接受跟蹤接入服務器21的注冊,與跟蹤接入服務器21保持定期的心跳,同時接收跟蹤接入服務器21上報的負載信息,按照上述負載選擇算法和輔助策略挑選合適的跟蹤接入服務器返回給客戶端25作為接入服務器。同時,與客戶端25保持通訊,為客戶端25提供跟蹤接入服務器的接入導航服務。
[0048]在本發(fā)明實施例中,當前跟蹤接入服務器的負載越高,被選中的概率越小。
[0049]作為本發(fā)明的一個優(yōu)選實施例,為了解決跟蹤接入管理服務器22的單點故障問題,避免跟蹤接入管理服務器22出現(xiàn)故障影響系統(tǒng)的運行,配置跟蹤接入管理備份服務器23同步備份跟蹤接入管理服務器22的數(shù)據(jù)和信息。跟蹤接入管理服務器22定期將內存的當前跟蹤接入服務器列表配置信息和分組訪問跟蹤應用服務器的配置信息同步給跟蹤接入管理備份服務器23,在跟蹤接入管理服務器22出現(xiàn)故障的時候接管跟蹤接入管理服務器22的工作。
[0050]在本發(fā)明實施例中,跟蹤接入管理服務器22維護跟蹤接入服務器21訪問跟蹤應用服務器24的分組配置信息,并且將分組配置信息返回給跟蹤接入服務器21的查詢請求,這樣新增的跟蹤接入服務器只需簡單向跟蹤接入管理服務器24進行注冊,即可快速擴容上線。若需擴容跟蹤應用服務器,也只要修改跟蹤接入管理服務器的配置即可。
[0051]作為本發(fā)明的一個實施例,在跟蹤接入服務器21中配置跟蹤應用服務器信息獲取單元211,從跟蹤接入管理服務器22定期獲取訪問跟蹤應用服務器24的分組策略和地址信息。在跟蹤接入管理服務器22中配置跟蹤應用服務器配置信息維護單元221,維護跟蹤接入服務器21訪問跟蹤應用服務器24的分組配置信息,并且將配置信息返回給請求查詢的跟蹤接入服務器21。
[0052]客戶端25定期向跟蹤接入服務器21匯報在線情況和本地擁有的資源信息,同時向跟蹤接入服務器21查詢節(jié)點信息。跟蹤接入服務器21和客戶端25維持節(jié)點上報、心跳、添加/刪除文件的通訊。
[0053]在本發(fā)明實施例中,客戶端25通過DNS解析配置獲取跟蹤接入管理服務器22的地址,向跟蹤接入管理服務器22發(fā)起接入請求,然后從跟蹤接入管理服務器22返回的結果中獲取到相應的跟蹤接入服務器的地址和端口。
[0054]跟蹤應用服務器24接受跟蹤接入服務器21的節(jié)點信息注冊同步,維持某一個文件在線節(jié)點的信息列表,實現(xiàn)具體節(jié)點的選擇算法和策略,為跟蹤接入服務器21提供節(jié)點查詢服務。
[0055]統(tǒng)計服務器26接收客戶端25的下載完成和下載過程中節(jié)點下載速度、下載時間、連通情況、下載結果、文件大小等信息的上報,并寫成流水日志的方式供后續(xù)統(tǒng)計分析。
[0056]圖3是本發(fā)明實施例提供的P2SP多源下載系統(tǒng)的業(yè)務流程圖,詳述如下:
[0057]1.客戶端通過DNS解析接入跟蹤接入管理服務器,查詢跟蹤接入服務器地址。
[0058]2.跟蹤接入管理服務器實時收集跟蹤接入服務器的負載信息。
[0059]3.跟蹤接入管理服務器計算跟蹤接入服務器的實際負載,或者參考響應的輔助策略,返回合適的跟蹤接入服務器的IP地址和端口給客戶端,并將信息同步給跟蹤接入管理備份服務器。
[0060]此外,跟蹤接入管理服務器還負責維護跟蹤接入服務器訪問跟蹤應用服務器的分組策略和地址信息,并且定期將配置信息返回給跟蹤接入服務器。
[0061]4.客戶端向跟蹤接入服務器上報在線情況和本地擁有的資源信息,并查詢節(jié)點信息、保持心跳。[0062]5.跟蹤接入服務器訪問跟蹤應用服務器,查詢候選節(jié)點。
[0063]6.下載任務結束后,客戶端向統(tǒng)計服務器上報本次下載任務的下載時間、下載速度、下載結果、文件大小、下載時間等信息,統(tǒng)計服務器以日志形式保存以上內容供后續(xù)統(tǒng)計分析。
[0064]本發(fā)明實施例根據(jù)跟蹤接入服務器的負載情況,實現(xiàn)跟蹤服務器的動態(tài)負載均衡,可以充分利用系統(tǒng)的硬件資源,減少設備投入,增加了系統(tǒng)的效率,并可以應對突發(fā)情況,提高系統(tǒng)整體的容錯性和穩(wěn)定性。同時,實現(xiàn)了跟蹤應用服務器的快速擴容,減少了系統(tǒng)的運營維護操作。
[0065]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種P2SP多源下載系統(tǒng),其特征在于,所述系統(tǒng)包括: 多個跟蹤接入服務器,用于定期上報自身的負載信息;以及 跟蹤接入管理服務器,用于根據(jù)所述多個跟蹤接入服務器上報的負載信息,選擇合適的跟蹤接入服務器的地址和端口返回給請求接入的客戶端。
2.如權利要求1所述的P2SP多源下載系統(tǒng),其特征在于,所述負載信息包括CPU負載、在線人數(shù)和請求數(shù)。
3.如權利要求2所述的P2SP多源下載系統(tǒng),其特征在于,所述跟蹤接入管理服務器根據(jù)以下公式選擇合適的跟蹤接入服務器的地址和端口:
TrackerLoad=OnlineNum^a+Cpu^b+Requst^c ; 其中,TrackerLoad為當前跟蹤接入服務器的負載,當前跟蹤接入服務器的負載越高,被選中的概率越??; OnlineNum為當前跟蹤接入服務器的節(jié)點在線人數(shù); Cpu為當前跟蹤接入服務器的CPU負載; Requst為請求數(shù),為與客戶端心跳的數(shù)目及查詢種子的請求數(shù)目之和; a、b、c分別為OnlineNum、Cpu和Requst的權重系數(shù)。
4.如權利要求3所述的P2SP多源下載系統(tǒng),其特征在于,當出現(xiàn)如下情況時,所述跟蹤接入管理服務器將相應的跟蹤接入服務器剔除: 跟蹤接入服務器上報的CPU使用率率大于設定閾值時;或者 跟蹤接入服務器超時未注冊。
5.如權利要求1所述的P2SP多源下載系統(tǒng),其特征在于,所述系統(tǒng)還包括: 跟蹤接入管理備份服務器,用于同步備份所述跟蹤接入管理服務器的數(shù)據(jù)和信息。
6.如權利要求1所述的P2SP多源下載系統(tǒng),其特征在于,所述跟蹤接入服務器還包括: 跟蹤應用服務器信息獲取單元,用于從所述跟蹤接入管理服務器定期獲取訪問跟蹤應用服務器的分組策略和地址信息; 所述跟蹤接入管理服務器還包括: 跟蹤應用服務器配置信息維護單元,用于維護跟蹤接入服務器訪問跟蹤應用服務器的分組配置信息,并且將所述配置信息返回給請求查詢的跟蹤接入服務器。
【文檔編號】H04L29/08GK103795766SQ201210433548
【公開日】2014年5月14日 申請日期:2012年11月2日 優(yōu)先權日:2012年11月2日
【發(fā)明者】劉剛 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1