999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用P2P下載工具實現離線下載服務

2012-06-01 06:58:46佳都新太科技股份有限公司鄧任遠
電子世界 2012年21期
關鍵詞:引擎頁面用戶

佳都新太科技股份有限公司 鄧任遠

利用P2P下載工具實現離線下載服務

佳都新太科技股份有限公司 鄧任遠

當用戶使用普通下載工具下載大的資源文件或者冷門資源時,常常要等待一天甚至更長時間才能完成,下載時需要長時間地占用用戶的電腦資源和網絡資源,用戶不能關閉下載工具和個人機器。而離線下載是利用服務器“代”用戶進行下載,待服務端下載完成后,用戶再用下載工具將資源從服務器取到自己本機,具備無需掛機等待、高速的特點。本文所述的是利用成熟的P2P下載工具BitComet、eMule進行二次開發,對用戶提供離線下載服務的方法,該方法同時支持HTTP、BT、ED2K、MAGNET多種下載方式。而且在服務端可以分布運行多個P2P下載工具,以滿足客戶端的大量用戶下載請求,下載任務在各個下載引擎上的分配由服務端統一調度管理。

離線下載;p2p;BT;ED2K;下載任務管理;下載引擎

1.引言

在傳統下載方式中,一般是把文件由服務器端傳送到客戶端,例如FTP,HTTP等等。由于是從一臺服務器下載,服務器所提供的帶寬是一定的,因而下載人越多速度越慢。但是這樣就出現了一個問題,隨著用戶的增多,對帶寬的要求也隨之增多,用戶過多就會造成瓶頸,而且搞不好還會把服務器掛掉,所以很多的服務器會都有用戶人數的限制,這樣即使你使用的是寬帶網,通常也很難達到運營商許諾的最高下載速度,這里面固然有網絡的原因,但與服務器的限制也不無關系。

隨著P2P技術的出現,用戶可以充分利用網絡帶寬,人可以直接連接到其他用戶的計算機、交換文件,而不是像過去那樣連接到服務器去瀏覽與下載,改變互聯網現在的以大網站為中心的狀態、重返”非中心化”,并把權力交還給用戶。目前常用的P2P工具有支持BitTorrent協議的比特彗星BitComet,支持ED2K協議的電騾eMule。

但用戶使用P2P工具下載電影、游戲大型資源,或者冷門資源時,用戶就得下很久,有時需要花費幾天的時間,期間用戶必須長期掛機以保證下載任務的不中斷,給用戶的設備使用帶來了很多不便和限制。

我們在此依托成熟的工具和技術,實現了一種離線下載的服務方案。將比特彗星BitComet和電騾eMule運行在服務端,用戶通過web頁面向服務端提交下載請求,服務端接受情況后,會根據下載請求的類型,分布將請求加載到這些P2P工具的中,生成下載任務,由這些工具在服務端利用高速的帶寬進行下載,或者由服務器掛機“代”用戶下載冷門資源。而用戶的設備在成果提交完下載任務請求后,就可斷開網絡或者關機。用戶可以隨時訪問離線下載的服務頁面,查詢自己要求資源的下載進度,當看到下載完成后,就可以一次性地取回下載文件,完成下載過程。

圖1

我們提供的離線下載服務,是幫助用戶提供了一個下載代理,用戶只需提交下載請求,由我們的下載代理保持在線,幫助用戶完成下載任務。而這些代理的實現,我們使用的是比特彗星、電騾這樣的成熟穩定工具,避免了完全從P2P底層協議進行開發,同時可以更好地利用網絡中的已有資源點。

2.技術方案原理及實現

離線下載原理如下:

(1)用戶通過Web頁面提交一個下載請求。

圖2

圖3

(2)服務端的下載任務管理器接收到請求后,首先查詢提交的下載鏈接是否被下載過。如果已下載過,直接把已下載的資源文件復制到服務器上用戶的個人儲存空間;如果沒有,就將用戶的下載請求轉發到一個下載引擎模塊。

(3)每個下載引擎模塊管理著一個BitComet和eMule下載工具,下載引擎判斷下載任務類型,如果是BT下載,則通過BitComet的http管理接口,將任務添加到BitComet的下載任務中,并開始下載;如果是ED2K下載,則通過eMule的http管理接口,將任務添加到eMule的下載任務中,并開始下載。

(4)BitComet和eMule下載工具執行下載任務,并由下載引擎模塊通過他們的http管理接口查詢下載進度。

(5)下載完成后,用戶在Web頁面上可以查詢到下載進度已為100%,用戶可以通過工具從本人的存儲空間一次性取回自己的文件。

系統采用典型的分層架構,為了信息隱匿的需要,要求每一層只能調用其下一層的接口。每層都根據業務需求提供最低限度的接口,保證層次之間的依賴僅僅停留在接口級別。系統結構如圖1。

離線下載系統包括:用戶離線下載Portal頁面、下載任務管理模塊、下載引擎模塊、文件管理模塊。

2.1 離線下載Portal頁面

對用戶以WEB頁面的方式提供離線下載功能使用。用戶離線下載Portal頁面通過調用下載任務管理模塊的下載管理接口提供給用戶添加、刪除、暫停、啟動下載任務及強制重新下載的功能。其中,強制重新下載的使用場景為,有可能系統下載歷史中的某一文件特征碼對應的文件已經不合實際,用戶根據系統下載歷史所獲取的文件并非用戶所需要的文件,則用戶可使用強制重新下載功能,讓系統刪除該文件特征碼對應的下載文件并重新下載。

用戶離線下載Portal網站可通過查詢數據庫獲取用戶的已完成下載任務及下載歷史。Protal網站需要分為正在下載任務列表及已完成下載列表兩個界面,正在下載任務列表中的任務清單及狀態是通過下載任務管理模塊的查詢接口中返回;而已完成下載列表的數據則通過查詢數據庫表獲取。

2.2 下載任務管理模

下載任務管理模塊通過讀取數據庫中的配置信息,以獲取各下載引擎模塊的信息。

下載任務管理模塊以HTTP+JSON方式提供給用戶離線下載Portal頁面調用,用于提供網站查詢用戶的下載任務列表、添加用戶下載任務、刪除用戶下載任務、暫停用戶下載任務、啟動用戶下載任務、強制重新下載。其中強制重新下載時,系統刪除該文件特征碼對應的下載文件并重新下載。

下載任務管理模塊通過定時調用各下載引擎的查詢下載任務接口,以獲取最新的下載任務狀態,并更新系統任務列表。對于下載完成的任務,需要將下載文件移動到系統備份空間,并復制到相應用戶的個人存儲空間上。下載完成后,還需要通知下載引擎刪除該完成的任務。

2.3 下載引擎模塊

下載引擎模塊代理第三方下載工具(BitComet及eMule)的下載控制操作,屏蔽各種下載工具的差異。根據配置信息,初始化本機上的第三方下載工具接口。

下載引擎模塊以HTTP+JSON方式提供文件下載接口給下載任務管理模塊調用,用于提供下載任務管理模塊獲取下載引擎節點上的下載任務列表、添加下載任務、刪除下載任務、暫停下載任務、啟動下載任務。

下載引擎模塊需要增加消息隊列以保證發向下載工具的操作是單線程操作,以確保操作順序。

下載引擎模塊對BitComet工具進行遠程暫停、刪除、啟動操作之前,需要先做一次獲取BitComet下載列表的操作,并根據特征碼找出BitComet的taskid,再進行暫停、刪除、啟動操作。

2.4 文件管理模塊

離線下載的文件往往是較大的文件,如果通過網絡連接來進行頻繁的復制、移動操作將影響網絡帶寬及操作時間過長。

文件管理模塊則在文件服務器上的一個應用模塊,用于接受下載任務管理模塊發出的下載文件復制、移動、刪除操作,并最終于文件服務器上,通過外調操作系統命令進行文件的復制、移動及刪除。經過測試,直接使用外調操作系統命令進行大文件的復制速度是最快的,比使用NIO或管道等方式都快。

參考代碼如下:

3.關鍵用例

離線下載系統中添加下載任務和刪除下載任務的活動圖分別如圖2和圖3。

4.離線下載的應用

基于該種設計方案的離線下載系統,已經在北京聯通寬帶業務中心上線試運行。該系統充分利用了北京聯通寬帶業務中心的網絡帶寬優勢,通過在多臺服務上部署多個下載引擎,每個引擎各管理一套BitComet和eMule的方法,以滿足公網上大用戶量的下載任務請求。實用中表明,對于一些冷門資源,文件大小雖然只有600M,但完成下載所需的時間卻是57小時34分鐘,下載完成后取回到用戶本地只需要10多分鐘。通過離線下載系統大大提高了用戶的下載效率。

5.結語

本文所設計的離線下載方案,避免了完全從P2P底層協議開發或者掌握龐大的P2P開源代碼工程,利用成熟的P2P下載工具,通過分析這些工具的外部管理接口,而達到向工具中加載下載任務,啟動、暫停等控制下載任務,提供一種快速實現的離線下載服務。并且依靠成熟工具的穩定性來保障了服務的穩定性。通過離線下載服務,提高了用戶下載的效率,釋放了本地設備的使用,充分利用了服務端的帶寬資源和設備資源。隨著系統商業度的提供,將會為服務提供商帶來良好的經濟效益。

[1]茹林.P2P網絡中多線程下載的研究[Z].大連海事大學,2009.

[2]林泓,何巍.利用JXTA平臺實現P2P服務的研究[J].武漢理工大學學報(信息與管理工程版),2005(02).

猜你喜歡
引擎頁面用戶
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 国产中文一区a级毛片视频| 日本黄色不卡视频| 日韩色图区| 99视频在线免费观看| 在线一级毛片| 亚洲日产2021三区在线| 日本黄色不卡视频| 丰满人妻被猛烈进入无码| 无遮挡国产高潮视频免费观看| 国内a级毛片| 好吊妞欧美视频免费| 成年人国产视频| 无码丝袜人妻| 亚洲 成人国产| 久久精品无码中文字幕| 国产永久无码观看在线| 国产精品微拍| 毛片久久网站小视频| 日韩精品毛片| 国产一在线| 国产美女无遮挡免费视频| 国产精品九九视频| 在线日本国产成人免费的| 久久综合结合久久狠狠狠97色| 久久天天躁夜夜躁狠狠| 国产a v无码专区亚洲av| 中文字幕欧美成人免费| 51国产偷自视频区视频手机观看 | 久久久噜噜噜久久中文字幕色伊伊 | 操美女免费网站| 国产精品美乳| 久久99国产乱子伦精品免| 国产91色在线| 久久视精品| 国产精品女主播| 69免费在线视频| 国产青青草视频| 91毛片网| 欧美日韩另类国产| 成人国产免费| 试看120秒男女啪啪免费| 又黄又湿又爽的视频| 国产av一码二码三码无码 | 婷婷开心中文字幕| 亚洲精品自在线拍| 九色91在线视频| 一本大道香蕉中文日本不卡高清二区| 国产呦精品一区二区三区网站| 午夜影院a级片| 国产午夜福利亚洲第一| 在线国产91| 国产国语一级毛片在线视频| 日韩毛片基地| 国产69精品久久久久孕妇大杂乱 | 国产高清国内精品福利| 狼友视频国产精品首页| 日韩激情成人| 天堂在线www网亚洲| 亚洲V日韩V无码一区二区| 狠狠五月天中文字幕| 亚洲综合欧美在线一区在线播放| 国产成人亚洲无码淙合青草| 在线国产综合一区二区三区| 在线观看网站国产| 久热99这里只有精品视频6| 色有码无码视频| 日本精品中文字幕在线不卡| 激情六月丁香婷婷| 亚洲天堂免费在线视频| 亚洲日韩高清在线亚洲专区| 特级精品毛片免费观看| 亚洲成年网站在线观看| 国产一区免费在线观看| 国产99久久亚洲综合精品西瓜tv| 午夜日b视频| 精品人妻无码中字系列| 精品91视频| 天天色综网| 欧美精品亚洲精品日韩专区va| 18禁色诱爆乳网站| 特级做a爰片毛片免费69| 男女精品视频|