国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種網(wǎng)絡(luò)資源下載方法,裝置及系統(tǒng)的制作方法

      文檔序號:7766683閱讀:414來源:國知局
      專利名稱:一種網(wǎng)絡(luò)資源下載方法,裝置及系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)資源下載方法,裝置及系統(tǒng)。
      背景技術(shù)
      在傳統(tǒng)的文件下載方式中,互聯(lián)網(wǎng)的資源主要集中在各網(wǎng)站的服務(wù)器上,多個(gè)客 戶端分別通過訪問網(wǎng)站從服務(wù)器上下載文件,僅服務(wù)器提供下載服務(wù),客戶端不提供下載 服務(wù)。這種資源共享方式就形成了客戶端和中心服務(wù)器的結(jié)構(gòu),即C/S(client/server)。 由于客戶端依賴于中心服務(wù)器獲取資源,而服務(wù)器的處理能力和帶寬是有限的,所以越多 用戶訪問,服務(wù)器壓力越大,用戶獲取資源的效率也就越低。而端對端(P2P,Peer to Peer)的下載方式弱化了中心服務(wù)器的作用,甚至可以取 消中心服務(wù)器,基于比特洪流(BT,Bit Torrent)協(xié)議的下載方式是P2P的一種實(shí)現(xiàn)方式, 在BT下載中,用戶節(jié)點(diǎn)既下載文件又提供下載服務(wù),而服務(wù)器僅提供關(guān)于客戶端和下載文 件的目錄信息,各個(gè)節(jié)點(diǎn)可以訪問其他節(jié)點(diǎn)的資源,同時(shí)使相連的節(jié)點(diǎn)互相充當(dāng)服務(wù)器提 供資源,形成對等的網(wǎng)絡(luò)結(jié)構(gòu)。BT下載的客戶端在下載文件時(shí)存在一定的散列特征,該種文 件下載方式依賴的是各個(gè)用戶提供的處理能力和帶寬等資源,所以BT下載具有參與用戶 越多,可獲得的資源連接數(shù)就越大,訪問速度也就越快的下載特性,因此文件下載的數(shù)據(jù)傳 輸速率大幅度提高。私用種子服務(wù)器(PT,Private Tracker)下載是一種小范圍的BT下載,PT和BT 兩個(gè)最明顯的不同就是小范圍下載和下載過程中需要統(tǒng)計(jì)流量。PT使用普通的BT客戶端 下載工具,其中,tracker是指運(yùn)行于服務(wù)器上的一個(gè)程序,該程序能夠追蹤到底有多少用 戶同時(shí)在下載同一個(gè)文件,當(dāng)打開由PT網(wǎng)站提供的種子文件得到追蹤程序(tracker)地址 從而連接到服務(wù)器的同時(shí),還需要告訴服務(wù)器自己的密鑰(passkey),用于統(tǒng)計(jì)用戶的上傳 和下載量,計(jì)算用戶的分享率。當(dāng)用戶沒有PT賬號或沒有種子文件時(shí),無法對網(wǎng)絡(luò)資源進(jìn) 行下載。

      發(fā)明內(nèi)容
      本發(fā)明實(shí)施例提供了一種網(wǎng)絡(luò)資源下載方法,裝置及系統(tǒng),用于提高網(wǎng)絡(luò)資源下 載的可靠性和效率,提升用戶的下載體驗(yàn)。本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源下載方法,包括通過網(wǎng)絡(luò)資源數(shù)據(jù)包獲取到用戶 請求信息和網(wǎng)絡(luò)資源的大小,其中,用戶請求信息包括tracker地址,密鑰字段,info部分 的哈希值,下載字段和剩余字段;使用用戶請求信息與服務(wù)器進(jìn)行交互,獲得網(wǎng)絡(luò)資源的節(jié) 點(diǎn)列表和分片大?。桓鶕?jù)info部分的哈希值,網(wǎng)絡(luò)資源的大小和分片大小,與節(jié)點(diǎn)列表中 的節(jié)點(diǎn)進(jìn)行交互,對網(wǎng)絡(luò)資源進(jìn)行下載。本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源下載裝置,包括獲取單元,用于通過網(wǎng)絡(luò)資源數(shù)據(jù) 包獲取到用戶請求信息和網(wǎng)絡(luò)資源的大小,其中,用戶請求信息包括tracker地址,密鑰 字段,info部分的哈希值,下載字段和剩余字段;交互單元,用于使用用戶請求信息與服務(wù)器進(jìn)行交互,獲得網(wǎng)絡(luò)資源的節(jié)點(diǎn)列表和分片大?。痪W(wǎng)絡(luò)資源下載單元,用于根據(jù)info部 分的哈希值,網(wǎng)絡(luò)資源的大小和分片大小,與節(jié)點(diǎn)列表中的節(jié)點(diǎn)進(jìn)行交互,對網(wǎng)絡(luò)資源進(jìn)行 下載。本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)資源下載系統(tǒng),包括第一節(jié)點(diǎn),網(wǎng)絡(luò)資源下載裝置和第 ■~- T^ 點(diǎn)。從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn)通過網(wǎng)絡(luò)資源數(shù)據(jù)包可以獲取到網(wǎng)絡(luò)資源的用戶請求信息和網(wǎng)絡(luò)資源的大小,并 使用用戶請求信息與服務(wù)器進(jìn)行交互,獲得網(wǎng)絡(luò)資源的節(jié)點(diǎn)列表和分片大小,從而根據(jù)獲 取到的上述信息從節(jié)點(diǎn)列表中的節(jié)點(diǎn)處下載到網(wǎng)絡(luò)資源,由于在網(wǎng)絡(luò)資源的下載過程中, 不需要用戶提供PT賬號和種子文件即可以對網(wǎng)絡(luò)資源進(jìn)行下載,提高了網(wǎng)絡(luò)資源下載的 可靠性和效率,提升了用戶的下載體驗(yàn)。


      圖1是本發(fā)明實(shí)施例中網(wǎng)絡(luò)資源下載方法一個(gè)實(shí)施例示意圖;圖2是本發(fā)明實(shí)施例中網(wǎng)絡(luò)資源下載方法另一個(gè)實(shí)施例示意圖;圖3是本發(fā)明實(shí)施例中網(wǎng)絡(luò)資源下載方法另一個(gè)實(shí)施例示意圖;圖4是本發(fā)明實(shí)施例中網(wǎng)絡(luò)資源下載裝置一個(gè)實(shí)施例示意圖;圖5是本發(fā)明實(shí)施例中網(wǎng)絡(luò)資源下載裝置另一個(gè)實(shí)施例示意圖;圖6是本發(fā)明實(shí)施例中網(wǎng)絡(luò)資源下載系統(tǒng)一個(gè)實(shí)施例示意圖。
      具體實(shí)施例方式本發(fā)明實(shí)施例提供了一種網(wǎng)絡(luò)資源下載方法,裝置及系統(tǒng),用于提高網(wǎng)絡(luò)資源下 載的可靠性和效率,提升用戶的下載體驗(yàn)。請參閱圖1,本發(fā)明實(shí)施例中網(wǎng)絡(luò)資源下載方法一個(gè)具體實(shí)施例包括101、通過網(wǎng)絡(luò)資源數(shù)據(jù)包獲取到用戶請求信息和網(wǎng)絡(luò)資源的大小。當(dāng)節(jié)點(diǎn)在網(wǎng)絡(luò)中傳輸網(wǎng)絡(luò)資源數(shù)據(jù)包時(shí),網(wǎng)絡(luò)資源下載裝置能夠通過該網(wǎng)絡(luò)資源 數(shù)據(jù)包獲取到用戶請求信息(get announce)和網(wǎng)絡(luò)資源的大小,其中,用戶請求信息包括 tracker地址,密鑰字段(passkey),info部分的哈希值(info hash),下載字段和剩余字段 等,下載字段為用戶請求信息中download字段的內(nèi)容,剩余字段為用戶請求信息中l(wèi)eft字 段的內(nèi)容。用戶請求信息中的tracker地址是直接從傳輸控制協(xié)議(TCP, TransmissionControl Protocol)包頭中提取網(wǎng)絡(luò)之間互連的協(xié)議(IP, Internet Protocol)及端口號而得到,用戶請求信息中的info部分的哈希值是對種子文件的info 部分進(jìn)行安全散列算法(SHA-1,Secure Hash Algorithm-1)計(jì)算而得到的一個(gè)20字節(jié)長 的數(shù)據(jù),用于唯一標(biāo)識一個(gè)BT資源。用戶請求信息是一個(gè)標(biāo)準(zhǔn)的超文本傳輸協(xié)議(HTTP, Hyper Text Transfer Protocol) get i青求。102、使用用戶請求信息與服務(wù)器進(jìn)行交互,獲得網(wǎng)絡(luò)資源的節(jié)點(diǎn)列表和分片大 小。在步驟101中,獲取到info部分的哈希值,網(wǎng)絡(luò)資源的大小之后,通過對BT協(xié)議
      5的分析,只要再獲取到節(jié)點(diǎn)列表和分片大小,就能夠與節(jié)點(diǎn)列表中存儲有網(wǎng)絡(luò)資源的節(jié)點(diǎn) 進(jìn)行交互,節(jié)點(diǎn)通過與服務(wù)器進(jìn)行交互可以從服務(wù)器獲取到該網(wǎng)絡(luò)資源的節(jié)點(diǎn)列表。其中, 交互具體是指節(jié)點(diǎn)把用戶請求信息發(fā)送給服務(wù)器,服務(wù)器收到用戶請求信息后,返回節(jié)點(diǎn) 列表到節(jié)點(diǎn)。其中,該服務(wù)器可以為運(yùn)行tracker程序的服務(wù)器。在本步驟102中,通過模擬PT系統(tǒng)中節(jié)點(diǎn)與服務(wù)器的交互過程,即將用戶請求信 息發(fā)送給服務(wù)器,從而能夠從服務(wù)器獲取到節(jié)點(diǎn)列表,同時(shí)通過分析計(jì)算可以獲取到網(wǎng)絡(luò) 資源的分片大小,關(guān)于分片大小的獲取將在后續(xù)實(shí)施例中介紹。103、根據(jù)網(wǎng)絡(luò)資源的info部分的哈希值,網(wǎng)絡(luò)資源的大小和分片大小,與節(jié)點(diǎn)列 表中的節(jié)點(diǎn)進(jìn)行交互,對網(wǎng)絡(luò)資源進(jìn)行下載。當(dāng)獲取到分片大小后,根據(jù)分片大小和節(jié)點(diǎn)列表中的任一節(jié)點(diǎn)進(jìn)行交互,向該節(jié) 點(diǎn)請求下載某個(gè)分片,從而能夠從該節(jié)點(diǎn)返回的分片消息中提取分片數(shù)據(jù),完成對網(wǎng)絡(luò)資 源的一個(gè)分片的下載,由于已經(jīng)獲取到info部分的哈希值和網(wǎng)絡(luò)資源的大小,則能夠不斷 地和節(jié)點(diǎn)列表中的節(jié)點(diǎn)進(jìn)行交互,完成對網(wǎng)絡(luò)資源的下載。在本發(fā)明實(shí)施例中,通過網(wǎng)絡(luò)資源數(shù)據(jù)包獲取到網(wǎng)絡(luò)資源的用戶請求信息和網(wǎng)絡(luò) 資源的大小,并使用用戶請求信息與服務(wù)器進(jìn)行交互,獲得網(wǎng)絡(luò)資源的節(jié)點(diǎn)列表和分片大 小,從而根據(jù)獲取到的上述信息從節(jié)點(diǎn)列表中的節(jié)點(diǎn)處下載到網(wǎng)絡(luò)資源,由于在網(wǎng)絡(luò)資源 的下載過程中,不需要用戶提供PT賬號和種子文件即可以對網(wǎng)絡(luò)資源進(jìn)行下載,提高了網(wǎng) 絡(luò)資源下載的可靠性和效率,提升了用戶的下載體驗(yàn)。進(jìn)一步地,請參閱圖2,本發(fā)明實(shí)施例中網(wǎng)絡(luò)資源下載方法的另一個(gè)具體實(shí)施例包 括201、對網(wǎng)絡(luò)資源數(shù)據(jù)包進(jìn)行抓包,獲取到用戶請求信息,并通過用戶請求信息獲 取到網(wǎng)絡(luò)資源的大小。對節(jié)點(diǎn)在網(wǎng)絡(luò)中傳輸?shù)木W(wǎng)絡(luò)資源數(shù)據(jù)包進(jìn)行抓包,得到用戶請求信息,將用戶請 求信息中的下載字段的值和剩余字段的值進(jìn)行相加,即可得到網(wǎng)絡(luò)資源的大小。其中,抓包 方法是在傳送數(shù)據(jù)流的傳輸設(shè)備上開辟一個(gè)分路,通過傳輸設(shè)備(如網(wǎng)線或光纖)自動將 分路后的數(shù)據(jù)流連接到抓包設(shè)備上。需要說明的是,在本發(fā)明實(shí)施例中通過抓包的方法只 是獲取到用戶請求信息的其中一種實(shí)現(xiàn)方式,在實(shí)際應(yīng)用中仍可以采取其他的實(shí)現(xiàn)方式, 此處不作限定。在本發(fā)明實(shí)施例中,網(wǎng)絡(luò)資源數(shù)據(jù)包也可以為網(wǎng)絡(luò)中的上行數(shù)據(jù)包,或者上行數(shù) 據(jù)包的鏡像或分光,網(wǎng)絡(luò)資源下載裝置在對鏡像或分光后的數(shù)據(jù)包進(jìn)行抓包時(shí),不會對原 有網(wǎng)絡(luò)造成干擾。本實(shí)施例的網(wǎng)絡(luò)資源數(shù)據(jù)包,可以是真正攜帶有網(wǎng)絡(luò)資源的數(shù)據(jù)包,也可 以是在節(jié)點(diǎn)發(fā)送真正攜帶有網(wǎng)絡(luò)資源的數(shù)據(jù)包之前,該節(jié)點(diǎn)為了與其他接收方之間建立連 接而發(fā)送的交互數(shù)據(jù)包。202、判斷該網(wǎng)絡(luò)資源是否滿足預(yù)置的條件,若是,執(zhí)行步驟203,若不是,結(jié)束整個(gè) 過程。該步驟中網(wǎng)絡(luò)資源下載裝置可以實(shí)現(xiàn)有選擇地下載網(wǎng)絡(luò)資源,用戶可以預(yù)置一個(gè) 條件,對該網(wǎng)絡(luò)資源進(jìn)行判斷是否滿足該預(yù)置的條件,若是,再觸發(fā)后續(xù)的步驟,若不是,則 直接結(jié)束整個(gè)過程,以提高下載資源的針對性。需要說明的是,在本發(fā)明實(shí)施例中,預(yù)置的條件可以為熱門資源,即判斷該網(wǎng)絡(luò)資源是否為熱門資源,其中,定義被下載的次數(shù)超過該預(yù)置的數(shù)值的網(wǎng)絡(luò)資源為熱門資源,若 是,然后再觸發(fā)后續(xù)步驟,以實(shí)現(xiàn)下載網(wǎng)絡(luò)資源的針對性。其中,熱門資源只是其中一種具體的實(shí)際情況,在其他實(shí)施例中,預(yù)置的條件還可 以為冷門資源,或者在一定時(shí)間范圍內(nèi)下載次數(shù)在一定范圍內(nèi)的資源,或者是資源大小在 一定范圍內(nèi)的資源。簡言之,本步驟是根據(jù)資源的信息,滿足預(yù)置條件的資源進(jìn)行篩選。203、將用戶請求信息的下載字段的值和剩余字段的值進(jìn)行重置,獲得新的用戶請 求fe息。當(dāng)獲取到用戶請求信息后,通過對用戶請求信息中的下載字段的值和剩余字段的 值進(jìn)行重置,作為新的用戶請求信息,其中,新的用戶請求信息的下載字段的值為零,新的 用戶請求信息的剩余字段的值為步驟201中計(jì)算出的網(wǎng)絡(luò)資源的大小,新的用戶請求信息 中的其它字段不作修改,以保證服務(wù)器和節(jié)點(diǎn)能夠識別。通過對現(xiàn)有的PT下載的分析,重新構(gòu)造用戶請求信息,將下載字段的值設(shè)置為 零,剩余字段的值設(shè)置為網(wǎng)絡(luò)資源的大小,則網(wǎng)絡(luò)資源下載裝置在與服務(wù)器進(jìn)行交互時(shí),服 務(wù)器能夠判斷出下載字段的值為零,會認(rèn)為該用戶還沒有進(jìn)行網(wǎng)絡(luò)資源下載,不會要求該 用戶在下載時(shí)進(jìn)行上傳,能夠節(jié)省一定的網(wǎng)絡(luò)資源。需要說明的是,本步驟主要介紹下載字段的值可以被重置,具體可以為零只是其 中的一種實(shí)現(xiàn)方式的舉例說明。在特定的情形下,或者根據(jù)服務(wù)器制定的特定規(guī)則,下載字 段的值也可以重置為一個(gè)非零的數(shù)值,比如一個(gè)較小的數(shù)值也可以。204、使用新的用戶請求信息發(fā)送給服務(wù)器,接收服務(wù)器返回的節(jié)點(diǎn)列表。網(wǎng)絡(luò)資源下載裝置模擬PT系統(tǒng)中節(jié)點(diǎn)與服務(wù)器的交互過程,將重新構(gòu)造的用戶 請求信息發(fā)送給服務(wù)器,服務(wù)器對密鑰進(jìn)行驗(yàn)證成功后,會向網(wǎng)絡(luò)資源下載裝置返回一個(gè) 網(wǎng)絡(luò)資源的節(jié)點(diǎn)列表,該節(jié)點(diǎn)列表中記載了擁有該網(wǎng)絡(luò)資源的所有節(jié)點(diǎn),網(wǎng)絡(luò)資源下載裝 置能夠從該節(jié)點(diǎn)列表中選擇任一節(jié)點(diǎn)進(jìn)行交互。205、從節(jié)點(diǎn)列表中選擇任一節(jié)點(diǎn)進(jìn)行交互,獲得該節(jié)點(diǎn)返回的分片位圖消息。根據(jù)節(jié)點(diǎn)列表中記載的節(jié)點(diǎn),選擇其中任意一個(gè)節(jié)點(diǎn)進(jìn)行交互向該節(jié)點(diǎn)發(fā)送請 求,能夠獲取到該節(jié)點(diǎn)返回的分片位圖消息(bit field),與該節(jié)點(diǎn)相互通報(bào)各自擁有的資 源分片,從該消息中可以獲得消息長度字段(MessageLength)。206、通過分片位圖消息中的消息長度字段,計(jì)算出網(wǎng)絡(luò)資源的分片數(shù)區(qū)間。其中,分片數(shù)區(qū)間為網(wǎng)絡(luò)資源的分片數(shù)的值所在的數(shù)值范圍。具體可以采用如下 方式計(jì)算出分片數(shù)區(qū)間首先,得到分片位圖消息的數(shù)據(jù)(data)部分有多少個(gè)字節(jié),使用 的公式為Message Length-I0通過對BT協(xié)議可知,一個(gè)數(shù)據(jù)部分的每一位(bit)表示一個(gè) 分片,由于1字節(jié)=8位,通過分片位圖消息的數(shù)據(jù)部分的長度(nBitfieldBytes)可以確 定分片數(shù)區(qū)間為[(nBitfieldBytes*8_7),(nBitfieldBytes*8)],則網(wǎng)絡(luò)資源的分片數(shù)的值必定 在該分片數(shù)區(qū)間內(nèi)。207、選取一種試用分片大小,計(jì)算出試用分片數(shù)。通過BT協(xié)議可知,分片大小為2k+3千字節(jié),k為自然數(shù)。對k進(jìn)行賦值,則首先可 以確定一個(gè)試用分片大小,然后用網(wǎng)絡(luò)資源的大小除以選取的試用分片大小,可以計(jì)算出 一個(gè)試用分片數(shù)。
      208、將計(jì)算出的試用分片數(shù)的值和步驟206中計(jì)算出的分片數(shù)區(qū)間進(jìn)行比較,判 斷計(jì)算出的試用分片數(shù)的值是否在分片數(shù)區(qū)間內(nèi),若是,轉(zhuǎn)到步驟209,若不是,重新執(zhí)行步 驟207,選取另外一種試用分片大小,再次計(jì)算試用分片數(shù)。209、將選取的試用分片大小作為網(wǎng)絡(luò)資源的分片大小進(jìn)行存儲。210、根據(jù)網(wǎng)絡(luò)資源的info部分的哈希值,網(wǎng)絡(luò)資源的大小和分片大小,與節(jié)點(diǎn)列 表中的節(jié)點(diǎn)進(jìn)行交互,對網(wǎng)絡(luò)資源進(jìn)行下載。當(dāng)獲取到分片大小后,根據(jù)分片大小能夠和節(jié)點(diǎn)列表中的任一節(jié)點(diǎn)進(jìn)行交互,向 該節(jié)點(diǎn)請求下載某個(gè)分片,從而能夠從該節(jié)點(diǎn)返回的分片消息中提取分片數(shù)據(jù),完成對網(wǎng) 絡(luò)資源的一個(gè)分片的下載,由于已經(jīng)獲取到info部分的哈希值和網(wǎng)絡(luò)資源的大小,則能夠 不斷地和節(jié)點(diǎn)進(jìn)行交互,完成對網(wǎng)絡(luò)資源的下載。在本發(fā)明實(shí)施例中,通過網(wǎng)絡(luò)資源數(shù)據(jù)包獲取到網(wǎng)絡(luò)資源用戶請求信息和網(wǎng)絡(luò)資 源的大小,并重新構(gòu)造一個(gè)新的用戶請求信息與服務(wù)器進(jìn)行交互,獲得網(wǎng)絡(luò)資源的節(jié)點(diǎn)列 表和分片大小,從而根據(jù)獲取到的上述信息從節(jié)點(diǎn)列表中的節(jié)點(diǎn)處下載到網(wǎng)絡(luò)資源,由于 重構(gòu)的用戶請求信息中的下載字段的值可以為零,不需要用戶在下載的同時(shí)進(jìn)行上傳,能 夠節(jié)省網(wǎng)絡(luò)資源,另外由于在網(wǎng)絡(luò)資源的下載過程中,不需要用戶提供PT賬號和種子文件 即可以對網(wǎng)絡(luò)資源進(jìn)行下載,提高了網(wǎng)絡(luò)資源下載的可靠性和效率,不需要計(jì)算用戶的分 享率,提升了用戶的下載體驗(yàn)。為了便于理解,下面以一應(yīng)用場景對本發(fā)明實(shí)施例中的網(wǎng)絡(luò)資源下載方法進(jìn)行介 紹,請參閱圖3 網(wǎng)絡(luò)資源下載裝置對第一節(jié)點(diǎn)在網(wǎng)絡(luò)中傳輸?shù)木W(wǎng)絡(luò)資源數(shù)據(jù)包進(jìn) 行抓包,獲得用戶請求信息:get announce ? passkey = abc&info_hash = 2586b89ch425781e56d8&download = 1253265&left = 1125124& · ·,則網(wǎng)絡(luò)資源的大小為 download 值和 left 值之和,即 1253265+1125124 = 2378389 字節(jié)。獲取到用戶請求信息和網(wǎng)絡(luò)資源的大小后,可以對該網(wǎng)絡(luò)資源進(jìn)行判斷是否滿足 一個(gè)預(yù)置的條件,用戶可以預(yù)置一個(gè)條件,若是,再觸發(fā)后續(xù)的步驟,若不是,則直接結(jié)束整 個(gè)過程,以實(shí)現(xiàn)下載網(wǎng)絡(luò)資源的針對性。重新構(gòu)造一個(gè)新的用戶請求信息,將下載字段的值設(shè)置為零,將剩余字段的值設(shè) 置為該網(wǎng)絡(luò)資源的大小,該新的用戶請求信息為get announce ? passkey = abc &info_hash = 2586b89ch425781e56d8&download =O&left = 2378389&...將新的用戶請求信息發(fā)送給服務(wù)器,接收服務(wù)器返回的節(jié)點(diǎn)列表,該節(jié)點(diǎn)列表如 表1所示
      權(quán)利要求
      1. 一種網(wǎng)絡(luò)資源下載方法,其特征在于,包括通過網(wǎng)絡(luò)資源數(shù)據(jù)包獲取到用戶請求信息和網(wǎng)絡(luò)資源的大小,所述用戶請求信息包 括追蹤程序tracker地址,密鑰字段,info部分的哈希值,下載字段和剩余字段;使用所述用戶請求信息與服務(wù)器進(jìn)行交互,獲得所述網(wǎng)絡(luò)資源的節(jié)點(diǎn)列表和分片大根據(jù)所述info部分的哈希值,網(wǎng)絡(luò)資源的大小和分片大小,與所述節(jié)點(diǎn)列表中的節(jié)點(diǎn) 進(jìn)行交互,對所述網(wǎng)絡(luò)資源進(jìn)行下載。
      2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)資源下載方法,其特征在于,所述獲取到用戶請求信息之后包括將所述用戶請求信息的下載字段的值和剩余字段 的值進(jìn)行重置,作為新的用戶請求信息,所述新的用戶請求信息的下載字段的值為零,所述 新的用戶請求信息的剩余字段的值為所述網(wǎng)絡(luò)資源的大??;所述使用所述用戶請求信息與服務(wù)器進(jìn)行交互具體為使用所述新的用戶請求信息與服務(wù)器進(jìn)行交互。
      3.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)資源下載方法,其特征在于,所述使用所述用戶請求信 息與服務(wù)器進(jìn)行交互,獲得所述網(wǎng)絡(luò)資源的節(jié)點(diǎn)列表和分片大小包括將所述用戶請求信息發(fā)送給服務(wù)器,接收所述服務(wù)器返回的節(jié)點(diǎn)列表;從所述節(jié)點(diǎn)列表中選擇任一節(jié)點(diǎn)進(jìn)行交互,獲得所述節(jié)點(diǎn)返回的分片位圖消息;通過所述分片位圖消息的消息長度字段,計(jì)算出所述網(wǎng)絡(luò)資源的分片數(shù)區(qū)間,所述分 片數(shù)區(qū)間為所述網(wǎng)絡(luò)資源的分片數(shù)的值所在的數(shù)值范圍;選取一種試用分片大小,計(jì)算出試用分片數(shù),所述試用分片數(shù)為所述網(wǎng)絡(luò)資源的大小 除以所選取的試用分片大小的值;判斷所述計(jì)算出的試用分片數(shù)的值是否在所述分片數(shù)區(qū)間內(nèi),若所述計(jì)算出的試用分 片數(shù)的值在所述分片數(shù)區(qū)間內(nèi),則將選取的試用分片大小作為所述網(wǎng)絡(luò)資源的分片大小進(jìn) 行存儲;若所述計(jì)算出的試用分片數(shù)的值不在所述分片數(shù)區(qū)間內(nèi),則重新執(zhí)行選取一種試 用分片大小的步驟。
      4.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)資源下載方法,其特征在于,所述網(wǎng)絡(luò)資源數(shù)據(jù)包為網(wǎng) 絡(luò)中的上行數(shù)據(jù)包,上行數(shù)據(jù)包的鏡像或分光。
      5.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)資源下載方法,其特征在于,所述通過網(wǎng)絡(luò)資源數(shù)據(jù)包 獲取到用戶請求信息和網(wǎng)絡(luò)資源的大小之后包括判斷所述網(wǎng)絡(luò)資源是否滿足預(yù)置的條件,若是,則執(zhí)行將所述用戶請求信息與服務(wù)器 進(jìn)行交互的步驟。
      6.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)資源下載方法,其特征在于,所述通過網(wǎng)絡(luò)資源數(shù)據(jù)包 獲取到用戶請求信息和網(wǎng)絡(luò)資源的大小具體為對網(wǎng)絡(luò)資源數(shù)據(jù)包進(jìn)行抓包,得到用戶請求信息;將所述用戶請求信息中的下載字段的值和剩余字段的值相加,得到網(wǎng)絡(luò)資源的大小。
      7.—種網(wǎng)絡(luò)資源下載裝置,其特征在于,包括獲取單元,用于通過網(wǎng)絡(luò)資源數(shù)據(jù)包獲取到用戶請求信息和網(wǎng)絡(luò)資源的大小,所述用 戶請求信息包括追蹤程序tracker地址,密鑰字段,info部分的哈希值,下載字段和剩余 字段;交互單元,用于使用所述用戶請求信息與服務(wù)器進(jìn)行交互,獲得所述網(wǎng)絡(luò)資源的節(jié)點(diǎn) 列表和分片大??;網(wǎng)絡(luò)資源下載單元,用于根據(jù)所述info部分的哈希值,網(wǎng)絡(luò)資源的大小和分片大小, 與所述節(jié)點(diǎn)列表中的節(jié)點(diǎn)進(jìn)行交互,對所述網(wǎng)絡(luò)資源進(jìn)行下載。
      8.根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)資源下載裝置,其特征在于,所述裝置還包括重置單元,用于將所述用戶請求信息的下載字段的值和剩余字段的值進(jìn)行重置,作為 新的用戶請求信息,所述新的用戶請求信息的下載字段的值為零,所述新的用戶請求信息 的剩余字段的值為所述網(wǎng)絡(luò)資源的大?。凰鼋换卧?,具體用于使用所述新的用戶請求信息與服務(wù)器進(jìn)行交互。
      9.根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)資源下載裝置,其特征在于,所述交互單元包括節(jié)點(diǎn)列表獲取模塊,用于將所述用戶請求信息發(fā)送給服務(wù)器,接收所述服務(wù)器返回的 節(jié)點(diǎn)列表;分片位圖消息獲取模塊,用于從所述節(jié)點(diǎn)列表中選擇任一節(jié)點(diǎn)進(jìn)行交互,獲得所述節(jié) 點(diǎn)返回的分片位圖消息;分片數(shù)區(qū)間計(jì)算模塊,用于通過所述分片位圖消息的消息長度字段,計(jì)算出所述網(wǎng)絡(luò) 資源的分片數(shù)區(qū)間,所述分片數(shù)區(qū)間為所述網(wǎng)絡(luò)資源的分片數(shù)的值所在的數(shù)值范圍;分片大小預(yù)設(shè)模塊,用于選取一種試用分片大小,計(jì)算出試用分片數(shù),所述試用分片數(shù) 為所述網(wǎng)絡(luò)資源的大小除以所選取的試用分片大小的值;判斷模塊,用于判斷所述計(jì)算出的試用分片數(shù)的值是否在所述分片數(shù)區(qū)間內(nèi),若是,則 觸發(fā)存儲模塊,若不是,則觸發(fā)分片大小預(yù)設(shè)模塊;存儲模塊,用于將選取的試用分片大小作為所述網(wǎng)絡(luò)資源的分片大小進(jìn)行存儲。
      10.根據(jù)權(quán)利求7所述的網(wǎng)絡(luò)資源下載裝置,其特征在于,所述下載裝置還包括 判斷單元,用于判斷所述網(wǎng)絡(luò)資源是否滿足預(yù)置的條件,若是,則觸發(fā)交互單元執(zhí)行。
      11.根據(jù)權(quán)利求7所述的網(wǎng)絡(luò)資源下載裝置,其特征在于,所述獲取單元,具體用于對 網(wǎng)絡(luò)資源數(shù)據(jù)包進(jìn)行抓包,得到用戶請求信息,將所述用戶請求信息中的下載字段的值和 剩余字段的值相加,得到網(wǎng)絡(luò)資源的大小。
      12.—種網(wǎng)絡(luò)資源下載系統(tǒng),其特征在于,包括 第一節(jié)點(diǎn),用于在網(wǎng)絡(luò)中傳輸網(wǎng)絡(luò)資源數(shù)據(jù)包;網(wǎng)絡(luò)資源下載裝置,如權(quán)利要求7到11中任一項(xiàng)權(quán)利要求所述的網(wǎng)絡(luò)資源下載裝置; 第二節(jié)點(diǎn),用于向所述網(wǎng)絡(luò)資源下載裝置提供網(wǎng)絡(luò)資源。
      全文摘要
      本發(fā)明實(shí)施例公開了一種網(wǎng)絡(luò)資源下載方法,用于提高網(wǎng)絡(luò)資源下載的可靠性和效率。本發(fā)明實(shí)施例方法包括通過網(wǎng)絡(luò)資源數(shù)據(jù)包獲取到戶請求信息和網(wǎng)絡(luò)資源的大??;使用所述用戶請求信息與服務(wù)器進(jìn)行交互,獲得所述網(wǎng)絡(luò)資源的節(jié)點(diǎn)列表和分片大??;根據(jù)所述info部分的哈希值,網(wǎng)絡(luò)資源的大小和分片大小,與所述節(jié)點(diǎn)列表中的節(jié)點(diǎn)進(jìn)行交互,對所述網(wǎng)絡(luò)資源進(jìn)行下載。本發(fā)明實(shí)施例另外公開了一種網(wǎng)絡(luò)資源下載裝置及系統(tǒng)。本發(fā)明實(shí)施例可以提高網(wǎng)絡(luò)資源下載的可靠性和效率,提升用戶的下載體驗(yàn)。
      文檔編號H04L29/06GK102075561SQ201010563990
      公開日2011年5月25日 申請日期2010年11月29日 優(yōu)先權(quán)日2010年11月29日
      發(fā)明者張勇, 梁治軍 申請人:成都市華為賽門鐵克科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1