閱讀67 返回首頁    go 阿裏雲 go 技術社區[雲棲]


軟件下載站如何應對迅雷的P2SP流量

 中國用戶在使用眾多類型的下載軟件中,使用迅雷軟件的用戶一定會對迅雷的下載速度印象深刻,普通ADSL線路下,大多數軟件或者電影都能達到數百K的下載速度,即使相對冷門的軟件也不例外,下載體驗遠遠優於先前流行的P2P下載軟件。

  迅雷軟件的下載機理

  從原理上講,P2P(Peer to Peer)是基於點對點(對等網絡),一端的下載速度和另一端的上傳速度密切相關,由於中國用戶大多使用ADSL上網,ADSL的上傳速度並不快,僅幾十K速度,一些用戶還會人為限製上傳速度,這導致了P2P方式的上傳帶寬資源的缺乏,因此中國用戶會普遍感覺P2P的速度較慢慢。

  P2S(Peer to Server)是基於用戶對服務器,用戶直接到某個大型的下載網站去下載文件,文件存儲在網站服務器上,因此速度可以得到保證,通常都會有數百K的速度,但存在的問題是資源分散、不易搜索。

  而迅雷使用的P2SP(Peer to Server & Peer)基於用戶對服務器和用戶機製,不同於P2P,也不同於P2S,P2SP下載方式實際上對P2P技術的進一步延伸,它不但支持P2P技術,同時還通過檢索數據庫把服務器資源和P2P資源整合到了一起,用戶下載某一個文件的時候,會自動搜索其他資源,選擇合適的資源進行加速,這使得迅雷在下載的穩定性和下載的速度上,比傳統的P2P有了非常大的提高。

  這裏麵的核心問題就是迅雷的智能資源選擇,用戶使用迅雷下載某個文件的同時,迅雷會自動收集用戶的下載地址,並以MD5值判斷是否為同一個文件,從而形成一個龐大的下載鏈接庫,這樣就在迅雷服務器端進行了資源的整合,當後麵的用戶下載同一個文件時,迅雷就會根據用戶具體的網速而去一個速度最快的服務器上麵下載同一個文件,由於選擇通常是最優化的結果,因此用戶感覺下載速度的確非常快。

  迅雷和軟件下載站的衝突

  然而這種下載機製卻對傳統的軟件下載站形成了較大的流量壓力,軟件下載站會發現自己的流量消耗越來越多,但是頁麵訪問量卻不見增長,很多流量被大量迅雷用戶默默的消耗了,也就是通常所講的“盜鏈”。

  “盜鏈”的定義是:此文件不在自己服務器上,而通過技術手段,繞過別人放廣告有利益的最終頁,直接在自己的頁麵上向最終用戶提供內容。

  於是,在2006年6月的某一天,華軍、天空等國內知名下載站點突然發布一則封殺令,宣稱迅雷采取非法盜鏈的手段,消耗其下載服務器資源,侵害下載站點的合法權益,因此停止提供迅雷軟件的下載服務。這一事件轟動了整個IT業界。

  迅雷被封殺事件終究以和解收場,和解協議上白紙黑字寫著是“……實現合作共贏,共同致力於打造一個和諧的產業鏈”,之後迅雷發展速度也越來越快,還推出了基於P2SP上的影視頻道——迅雷看看,實現了較為流暢的視頻點播服務。

  2009年初,迅雷聯盟也開始嚐試推送流量給各個軟件下載站,但這種推送流量類似彈窗的流量,其流量的質量並不太高。

  軟件下載站的對策

  普通的軟件下載站對這種“盜鏈”行為較為反感,如果其下載地址所在頁麵並沒有被用戶訪問,這些站點不僅沒有得到網頁流量,反而把自己的服務器資源免費貢獻給用戶,這會導致廣告投資等方麵受到經濟損失。但通常使用了很多辦法卻不見成效,例如使用校驗碼方式、FTP變化密碼方式、修改下載路徑方式,但最終的下載地址還是會被迅雷客戶端獲取,無法避免這種“盜鏈”,那麼,軟件下載站如果想要避免被盜鏈的話,應該如何操作呢?我這裏想到了幾個方法來應對P2SP,從理論上講應該可以解決這個問題,供大家分析和探討。

  1、修改下載文件的內容

  既然P2SP通過MD5等方式來判斷是否是同一個文件,那麼改變文件的MD5數值就可以避免被P2SP軟件下載,如何改變下載文件的MD5呢,隻要文件的內容有一點點改變,文件的MD5就會發生變化,因此解決方法也很簡單,例如ZIP格式的下載文件,隻要批量將文件裏加入一個無用的文件,即可改變文件的大小和MD5數值。不過,批量修改ZIP或RAR壓縮文件需要專門的軟件來執行。

  2、修改下載文件路徑

  如果下載文件放在同一個目錄下,那麼可以修改這個目錄名,這樣下載文件的下載鏈接URL地址就變化了,形成了一個新地址,如果這個地址的下載文件MD5再不相同,就不會被P2SP軟件判斷為同一個文件,從而避免了這類P2SP的下載。

  3、謹慎加入迅雷聯盟

  迅雷聯盟是迅雷為與合作下載站分享利益分成,共進共贏而形成的合作聯盟。下載站將下載鏈接修改為支持迅雷方式下載,迅雷即可按下載次數支付一定費用,並且迅雷還通過推送流量的方式增加下載站首頁流量。不過,用戶使用迅雷下載後,該文件就會被迅雷服務器端記錄,當下載量非常大的時候,會在迅雷搜索排名中列第一,這樣就會帶來直接從迅雷搜索而來的下載量,這些下載都不會訪問到下載站原始頁麵。

  4、使用單獨的下載空間

  使用一個獨立域名或網站放置下載文件,不要和主站放在一起,這樣就可以單獨配置下載網站的設置,限製同時連接的數量和下載帶寬,也是節省流量的好辦法。

  總的來說,小型的軟件下載站應該避免浪費流量,避免盜鏈,同時也應該量力而行,如果沒有足夠的流量支持,例如使用幾百元的虛擬主機,就不要提供大量文件下載,否則肯定會被拖垮。不過,大型軟件下載站的策略就可以不同,不一定非要節省流量,因為通常大型下載站都會托管了獨立的服務器,有了一定帶寬的保證,隻要不放一些大型文件,通常不會流量超限,那時就不必在乎迅雷的這種P2SP行為了,而可以利用迅雷做一些廣告,如果實在流量太大,可以直接使用上麵說的第四條方法,限製下載空間的連接數即可減輕服務器負載。

最後更新:2017-04-02 00:06:54

  上一篇:go Android開發14——監聽內容提供者ContentProvider的數據變化
  下一篇:go Qt 5.0 將支持 Android ?