[快取]迅雷下載的原理——P2SP加速技術

weixin_33816946發表於2009-07-24

BT的出現使大多數人現在對P2P並不陌生,P2P的下載概念,簡單點說,就是下載不再象傳統方式那樣只能依賴伺服器,內容的傳遞可以在網路上的各個終端機器中進行。

而現在,P2SP出現使使用者有了更好的選擇,它除了包含P2P以外,更多了個S(P2SP的“S”是指伺服器)。P2SP有效地通過多媒體檢索資料庫這個橋樑把原本孤立的伺服器和其映象資源以及P2P資源整合到了一起。也就是說,在下載的穩定性和下載的速度上,都比傳統的P2P或P2S有了非常大的提高。

迅雷的加速原理就是採用了P2SP技術,說起來並不複雜

迅雷P2S技術的核心

1. 智慧資源選擇

如何在多達1億資源中選擇合適的資源是智慧選擇的關鍵。

合適的資源既要考慮資源本身的服務能力,又要考慮具體的網路環境,我們不妨看幾個具體的例子:

示例一:

使用者A在進行下載時,候選資源有R1、R2,其中,R1來自專用下載伺服器,專用頻寬100M,R2則是網友個人站點,在同等條件下,選擇R1顯然獲得更高的下載速度。

示例二:

在示例一中,如果A是網通使用者,而R1是電信資源,R2是網通資源,那麼,由於網間限速的原因,R1的速度未必高過R2。

迅雷的智慧資源選擇技術來自迅雷核心技術的積累和對每日海量資料的挖掘利用,它充分考慮使用者的網路條件、伺服器的服務能力、當前的網路負載等,實時、迅速的選擇最佳資源。

2. 下載伺服器負載均衡

很顯然,由於巨大的下載量,單個下載伺服器,無論能力如何出色,總可能被壓垮,傳統的解決方法是提供多個下載地址,讓使用者自己選擇;下圖是一個典型的下載頁面:

這樣做的實際結果是:

第一, 把複雜性轉移給了使用者。使用者面對一堆的下載地址,一個一個的嘗試,一直到碰到能夠下載的為止。

第二, 由於人的選擇一般是從上到下,所以上面的伺服器壓力大甚至垮掉,而下面的伺服器則可能根本用不上;伺服器的使用效率和使用者的下載速度都受到損害。

迅雷技術則完全解決了這些問題,除了智慧資源選擇,迅雷會自動根據當前伺服器壓力進行負載均衡。迅雷的負載均衡技術保證:

第一, 網站A的下載會自動在A的下載伺服器列表中選擇負載最低的伺服器;

第二, 網站A可能有限使用B的下載伺服器,當然是在保證B網站本身下載速度的前提下;

第三, 為防止網站A不提供下載服務,大量盜用網站B資源,迅雷會自動對網站進行分級,降低甚至取消對貢獻小和不貢獻網站的加速;

綜上可知,迅雷的P2S技術做到了:

首先,給使用者節省了時間,提高了速度;

其次,提高下載網站的服務能力,迅雷作為全域性的負載均衡器,有效的把各下載網站的伺服器組織為一體,提供7*24的服務;該服務不會因為部分伺服器或部分網站的全部伺服器的Down機而受到大的影響;

第三,迅雷的演算法保證公平原則,在下載服務方面投入越多,則網站的加速效果越好,反之亦然;這樣,專注使用者體驗的網站,投入越大,其流量和價值越高,投機取巧的網站則必然衰落;從這個意義上講,迅雷不是在盜鏈,而恰恰是在幫助下載網站進行更有效的資料傳遞。

盜鏈的理解
假如迅雷提供的資源是盜鏈,那麼百度MP3搜尋是什麼?

隱私威脅
有使用者提出,迅雷所具有的P2SP技術可能會造成使用者資訊洩露,由於P2SP技術類似於P2P技術,因此必定存在於一個索引伺服器。如果使用者下載的個人隱私檔案在下載完成後即使從伺服器上刪除,但未在客戶端刪除的話,將有可能導致個人使用者隱私洩露。
任何使用者只要安裝了迅雷下載工具,使用迅雷下載的時候,使用者的下載行為會完全被迅雷記錄並上傳,這樣的行為也侵犯了使用者的合法隱私,造成了網路安全的隱患。 迅雷下載技術跳過了網頁環節,使得使用者在下載檔案的時候,有可能下載到非法網站的內容,使使用者可能感染電腦病毒和木馬,並對信產部網站監管工作造成不利影響。(華軍軟體園宣告)

迅雷的工作原理
也就是說,迅雷會收集網際網路上的所有下載地址和裝了迅雷的電腦的資料.

1.其實收集網際網路上的伺服器的下載地址,很多軟體都會這樣做.如網際快車等,但網際快車不會收集在下載地址裡包涵了使用者名稱和密碼的下載地址,為什麼?因為網際快車的程式設計師知道,下載地址裡有使用者名稱和密碼,就是不想讓所有人都使用.但迅雷的程式設計師可不理你,一樣收集,然後供其它人使用.說白了,就是我們站長最恨的"盜鏈".

例:包涵使用者名稱的下載地:ftp://Thund:Issue@202.154.123.218/0718/世界大戰.rmvb

這個下載地址裡的Thund:Issue就是使用者名稱和密碼了


2.上面說到的,只是提供下載的站長利益受損,下載的使用者好像說,關我什麼事?我下載快,就行了.

嘿嘿,天下可沒那麼便宜的事.如果網上就那麼幾個網站的下載點,作用也不是很大,人家站長也不是傻的,讓你迅雷一直的盜鏈.那有什麼辦法增加下載點呢?不就是那個用過迅雷下載的人嘍

迅雷一裝好後,以後你係統啟動,在你的系統背後,都會啟動兩個執行緒(迅雷的),Thunder.exe和Issue.exe,但你在系統的右下角的工具欄裡是看不到迅雷已經悄悄的啟動了.只有線上程裡才能看到.

這兩個執行緒有什麼用呢?就是要像BT那樣,共享你硬碟上的檔案,讓其它人下載.所以,區域網的網管可就辛苦了,找死你也找不出,為什麼你的網裡面的流量那麼大.

從以上看出來,迅雷的程式設計師是很清楚使用者是不想共享自己電腦上的檔案給其它人下載的,所以他在系統後面悄悄啟動迅雷的兩個執行緒,而讓你不發覺.

所以就算你不在下載,你上網也會慢得要死.硬碟不用多久就可以丟進垃圾桶裡.

3.在迅雷的客戶端上,還能通過搜尋,找到不同的東西下載.如搜win2003,就會搜到win2003的下載點.但這些下載點可不是在迅雷伺服器上的,但這個不要面的,卻通過這種方式,讓迅雷的使用者覺得迅雷提供了速度快的下載點.

這種行為,我相信會得到眾多的普通迅雷使用者的支援.但這種盜鏈,嚴重影響到一個網站的生存.再有,每個迅雷使用者也不一定同意自己每天一開電腦,就給別人上傳.

迅雷下載速度快的原因和工作原理 迅雷比其它下載工具快,是因為他是P2SP機制,說白了,就是BT的升級:

例:當有一個使用者在一個電影網站上,得到一個下載地址(A),然後用迅雷下載,這個下載地址就會收集到迅雷的伺服器上.

在地求的另一個地方又有一個使用者在另一個網站上下載同一部電影,而得到另一個下載地址(B),就又會給迅雷伺服器收集.

然後迅雷伺服器就會把相同檔案的下載地址(A,B)集合在一起,形成一個資源.那兩個用迅雷下載這兩個電影的使用者也算上.就會有四個下載點了.

而又有使用者在別的地方準備下載相同的電影的時候,迅雷就會在資料庫裡比較,找出相同的資源(其它下載點,也就是上面收集到的),提供給那個準備下載的使用者下載,那這個使用者就會同時有多個下載點來下載,而達到速度的提升.而這個使用者當然也不可能只是享受高速的下載,他同時也會上傳了他下載的那部份資料(BT原理).

所以,當一個使用者用迅雷下載時,就會連上迅雷伺服器,查詢資源,如果是熱門的檔案,迅雷就能返回大量的下載點,供這個使用者下載.從而達到下載速度的提升.

相關文章