国产精品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>

      一種p2p流媒體數(shù)據(jù)請求方法

      文檔序號:7665878閱讀:181來源:國知局
      專利名稱:一種p2p流媒體數(shù)據(jù)請求方法
      技術領域
      本發(fā)明涉及計算機網絡流媒體技術領域,更具體地,本發(fā)明涉及一 種P2P流媒體數(shù)據(jù)請求方法。
      背景技術
      數(shù)據(jù)請求分配是目前P2P流媒體技術領域中的一個關鍵技術問題。 按照分配粒度,P2P流媒體系統(tǒng)中使用的數(shù)據(jù)請求分配方法主要分為兩 類,分別是基于數(shù)據(jù)層的粗粒度分配和基于數(shù)據(jù)包的細粒度分配。在基 于數(shù)據(jù)層的粗粒度分配方法中,主要是基于多重描述編碼(MDC)的數(shù)據(jù) 分配方法,所述方法對每條多重描述編碼子流采用獨立多播樹進行傳輸, 接收方根據(jù)自身帶寬情況選擇加入到多棵多播樹中,適應節(jié)點的異構性, 但是,多重描述編碼的效率比分層編碼的效率低,同時,多重描述編碼 的各個分層之間的解碼不存在依賴關系?;跀?shù)據(jù)包的細粒度分配方法 主要分為兩種, 一種是基于TCP友好(TCP-friendly)帶寬測試的數(shù)據(jù) 分配方法,在不知發(fā)送節(jié)點可用帶寬的條件下,確保每個數(shù)據(jù)包僅被一 個發(fā)送節(jié)點發(fā)送;另一種是基于前向糾錯編碼(FEC)的數(shù)據(jù)分配方法, 可以在突發(fā)丟包網絡環(huán)境中,減小數(shù)據(jù)包的丟失概率。
      上述現(xiàn)有的數(shù)據(jù)請求分配方法,或者以整個數(shù)據(jù)段為單位向入節(jié)點(本地節(jié)點向某個或某幾個節(jié)點請求數(shù)據(jù),這些,皮請求的節(jié)點稱為本地 節(jié)點的入節(jié)點)進行數(shù)據(jù)請求,或者以數(shù)據(jù)包為單位輪流向入節(jié)點進行 數(shù)據(jù)請求。對于前者,在剛開始播放的時候,如果數(shù)據(jù)段比較大,因為 入節(jié)點根據(jù)數(shù)據(jù)包的優(yōu)先級進行響應,序號較小并具有較高優(yōu)先級的數(shù) 據(jù)包往往集中在同一個數(shù)據(jù)段中,所述同一數(shù)據(jù)段發(fā)向一個入節(jié)點,而 一些優(yōu)先級較低的數(shù)據(jù)包放在另 一個數(shù)據(jù)段中,發(fā)向另外一個入節(jié)點, 從而導致部分優(yōu)先級高的數(shù)據(jù)包得不到及時的響應,而部分優(yōu)先級較低 的數(shù)據(jù)包在另外一個入節(jié)點得到優(yōu)先響應。對于后者,在數(shù)據(jù)請求到達 入節(jié)點中某個或某幾個節(jié)點的緩沖區(qū)末端時,即部分入節(jié)點可供請求的 最新數(shù)據(jù)數(shù)目已經不能達到正常播放碼率所要求的數(shù)據(jù)包的數(shù)目時,由 于該方法以數(shù)據(jù)包為單位輪流向入節(jié)點進行數(shù)據(jù)請求,將造成擁有稀有 數(shù)據(jù)包的入節(jié)點同時也承擔共有數(shù)據(jù)包的請求響應,從而導致?lián)碛邢∮?數(shù)據(jù)包的入節(jié)點負載過大,變成網絡中的瓶頸節(jié)點。

      發(fā)明內容
      為克服現(xiàn)有技術中的數(shù)據(jù)資源不能有效利用、帶寬不能合理分配的
      缺陷,本發(fā)明提出一種P2P流媒體數(shù)據(jù)請求方法。 一種P2P流媒體數(shù)據(jù)請求方法,包括
      步驟IO)、用戶節(jié)點加入P2P網絡,獲得入節(jié)點列表,向所述列表中 的入節(jié)點發(fā)送請求,檢測丟包情況,獲得各入節(jié)點的上行帶寬;
      步驟20)、根據(jù)所述各個入節(jié)點的上行帶寬,向所述各個入節(jié)點分配 數(shù)據(jù)請求步驟210)、當本地緩沖區(qū)的大小小于預設值時,將要請求的數(shù)據(jù)包 按照優(yōu)先級從大到小進行排序,按照排序結果依次將所述各個數(shù)據(jù)包按 照一定的塊大小進行分塊,并分配給各個入節(jié)點,直至已分配的數(shù)量達 到所述入節(jié)點的請求量;
      步驟220 )、當本地緩沖區(qū)的大小大于預設值時,依次檢測從各入節(jié) 點能獲得的數(shù)據(jù)包的個數(shù),根據(jù)所述數(shù)據(jù)包個數(shù)的比例,確定所述各入 節(jié)點分配的請求量。
      其中,數(shù)據(jù)包請求過程中,記錄所述用戶節(jié)點的唯一標識號,如果 發(fā)往某個入節(jié)點的數(shù)據(jù)包丟失,則下次優(yōu)先選擇其他用戶節(jié)點發(fā)送所述 丟失數(shù)據(jù)包的請求。
      在步驟IO)中,在所述請求發(fā)送之前,檢測上上次發(fā)送隊列的全部 和上次發(fā)送隊列的前半部分的數(shù)據(jù)包是否存在丟包,或者檢測上上次發(fā) 送隊列的數(shù)據(jù)包是否存在丟包。
      其中,當還未開始播放時,在每次請求數(shù)據(jù)前,檢測上上次發(fā)送隊 列的全部和上次發(fā)送隊列的前半部分是否有數(shù)據(jù)包未收到,如果有數(shù)據(jù) 包未收到,將所述數(shù)據(jù)包的播放位置值和對應的唯一標識號加入緊急隊 列,同時統(tǒng)計所述唯一標識號相應的入節(jié)點的丟包數(shù)。
      其中,當已經開始播放時,在每次請求數(shù)據(jù)前,只檢測上上次發(fā)送 隊列是否有數(shù)據(jù)包未收到,如果有數(shù)據(jù)包未收到,將所述數(shù)據(jù)包的播放 位置值和對應的唯一標識號加入緊急隊列,同時統(tǒng)計所述唯一標識號相 應的入節(jié)點的丟包數(shù)。
      其中,所述方法進一步包括步驟110)、將所述緊急隊列中的序列號按照優(yōu)先級的大小排序; 步驟120)、在數(shù)據(jù)請求前,優(yōu)先處理所述緊急隊列的數(shù)據(jù)請求,檢
      測要請求的數(shù)據(jù)包的序列號是否過期,如果過期則放棄請求,如果沒有
      過期,則請求所述數(shù)據(jù)包;
      步驟130)、檢查所述緊急隊列中要請求的數(shù)據(jù)包對應節(jié)點的唯一標
      識號是否為空,如果不為空,在請求數(shù)據(jù)時,優(yōu)先將所述數(shù)據(jù)包的請求 向節(jié)點唯一標識號不同于所述緊急隊列所記錄的唯一標識號的節(jié)點發(fā)送。
      其中,步驟210)中,根據(jù)所述入節(jié)點一次能夠同時發(fā)送的數(shù)據(jù)包的 大小,確定所述塊的大??;為保證數(shù)據(jù)勻速發(fā)送,所述入節(jié)點將整個數(shù) 據(jù)請求分作許多個時隙來發(fā)送;所述一次能夠同時發(fā)送的數(shù)據(jù)包的大小 是指一個時隙所i^節(jié)點發(fā)送的數(shù)據(jù)包的數(shù)目。
      其中,步驟220 )進一步包括將相鄰序號的所述各數(shù)據(jù)包請求分配 給同一個入節(jié)點,直至分配數(shù)量達到所述入節(jié)點的請求量,然后將鄰接 的下一個數(shù)據(jù)包請求發(fā)送給下一個入節(jié)點,循環(huán)進行,直至本次數(shù)據(jù)包 請求分配結束。
      通過應用本發(fā)明,使得用戶節(jié)點根據(jù)初始時對各入節(jié)點帶寬的探測 情況和所要請求數(shù)據(jù)包的優(yōu)先級大小,對各個入節(jié)點進行數(shù)據(jù)請求,加 快數(shù)據(jù)到達速度,減少單點故障帶來的影響,在數(shù)據(jù)請求末端靈活調整 連續(xù)請求數(shù)據(jù)塊的大小,從而能更快請求到最新的數(shù)據(jù)包,達到流暢播 放的目的。


      圖1為P2P流媒體網絡結構圖; 圖2為用戶節(jié)點加入P2P網絡流程圖; 圖3為數(shù)據(jù)請求流程圖; 圖4為丟包檢測處理流程具體實施例方式
      下面結合附圖和具體實施例,對本發(fā)明提供的一種P2P流媒體數(shù)據(jù) 請求方法作進一步說明。
      圖1示出P2P流媒體網絡結構,數(shù)據(jù)源服務器為流媒體直播提供數(shù) 據(jù)源,數(shù)據(jù)中轉服務器負責在各流媒體直播區(qū)域中轉數(shù)據(jù)源的數(shù)據(jù),相 當于各個直播區(qū)域的數(shù)據(jù)源服務器,各直播區(qū)域中的先加入的節(jié)點直接 和數(shù)據(jù)中轉服務器連接,獲取流媒體數(shù)據(jù),并為后加入的節(jié)點提供數(shù)據(jù) 信息。
      圖2示出節(jié)點加入P2P網絡的流程,用戶節(jié)點A (下面稱節(jié)點A)加 入圖1所示的P2P直播網絡,節(jié)點A首先連接本區(qū)域的索引服務器,即 圖中所示的索引服務器l,索引服務器l根據(jù)節(jié)點A的IP地址在已有的 網絡節(jié)點中選擇與其網絡距離最近并且播放位置相近的節(jié)點列表返回給 節(jié)點A。
      節(jié)點A向所獲得的節(jié)點列表中的所有節(jié)點發(fā)送連接請求,設圖1中 用戶節(jié)點B (簡稱節(jié)點B)和用戶節(jié)點C (簡稱節(jié)點C)在節(jié)點列表中, 例如節(jié)點A向節(jié)點B發(fā)送連接請求,如果連接成功,則節(jié)點A將節(jié)點B設置為其入節(jié)點,節(jié)點B將節(jié)點A設置為其出節(jié)點,并定期向節(jié)點A發(fā) 送自己的緩沖區(qū)映像,告知節(jié)點A目前節(jié)點B緩沖區(qū)所有的數(shù)據(jù)包的情 況。
      節(jié)點A根據(jù)節(jié)點列表中所有入節(jié)點所返回的緩沖區(qū)映像中播放位置 (index)值確定節(jié)點A自身的起始播放點(Playinglndex )。
      圖3示出用戶節(jié)點發(fā)送數(shù)據(jù)請求的流程,節(jié)點A根據(jù)自己的緩沖區(qū) 情況,向入節(jié)點發(fā)送數(shù)據(jù)請求。
      節(jié)點A根據(jù)向各個入節(jié)點的上上次的請求量(Last2ReqNum)確定 本次向該入節(jié)點的請求量;
      如果是第一次請求,由于各個入節(jié)點的異構性,無法預知各個入節(jié) 點的上行帶寬,在第一次數(shù)據(jù)請求時,根據(jù)播放碼率的M倍,向各個入 節(jié)點均分請求量,M為自定義量,優(yōu)選地,M取1.2-1.4。本次請求的目 的是探測各個入節(jié)點的上行帶寬,在第一次檢測丟包情況的時候,可以 根據(jù)各個入節(jié)點的丟包情況獲得各個入節(jié)點的上行帶寬的估計值,如果 某些節(jié)點不存在丟包情況,說明這些節(jié)點具有足夠的上行帶寬,如果需 要,可以增加對這些節(jié)點的數(shù)據(jù)請求量。
      如果是第二次請求,節(jié)點A根據(jù)入節(jié)點中向各個節(jié)點的上次的請求 量(LastReqN咖)確定本次向該節(jié)點的請求量,如果某些節(jié)點存在丟包 情況,則把上次對該節(jié)點的請求量(LastReqNum)減去丟包數(shù)進行請求, 如果某些節(jié)點不存在丟包現(xiàn)象,此時默認請求速度處在快增長狀態(tài),則 繼續(xù)向該節(jié)點增加請求量N, N取較大值,可以快速逼近入節(jié)點上行帶寬, 并且,向各個入節(jié)點的請求總量控制在碼率的M倍,M為自定義量,優(yōu)選地,M取1.2-1. 4。
      第三次請求及以后的每次請求,節(jié)點A根據(jù)入節(jié)點中向各個節(jié)點的 上上次的請求量(Last2ReqNum)確定本次向該節(jié)點的請求量,如果某些 節(jié)點存在丟包情況,則把上次對該節(jié)點的請求量(LastReqNum)減去丟 包數(shù)進行請求,如果某些節(jié)點不存在丟包現(xiàn)象,此時默認請求速度處在 快增長狀態(tài),則繼續(xù)向該節(jié)點增加請求量N, N取較大值,可以快速逼近 入節(jié)點上行帶寬,并且,向各個入節(jié)點的請求總量控制在碼率的M倍,M 為自定義量,優(yōu)選地,M取1.2-1. 4。
      如圖4所示,當本地緩沖區(qū)(Buffer)的百分比未達到開始播放百 分比(START-PERCENT ),此時還未開始播放,丟包檢測采用立即檢測機 制,即本次發(fā)送數(shù)據(jù)之前檢測上上次發(fā)送隊列(Last-SentQue)和上次 發(fā)送隊列(This-SentQue)的前半部分數(shù)據(jù)是否到達。當本地緩沖區(qū)的 百分比達到START-PERCENT后,此時已經開始播放,丟包檢測釆用隔輪 檢測機制,即在本次發(fā)送數(shù)據(jù)之前檢測上上次發(fā)送隊列(Last-SentQue) 的數(shù)據(jù)包是否有丟包(具體檢測方法見后面敘述的丟包檢測方法)。
      如果不存在丟包,根據(jù)目前請求速度所處的狀態(tài),進行請求增加, 即如果處于初始快增長狀態(tài),則請求量增加N, N取值越大,可以越快逼 i^節(jié)點上行帶寬,如果請求速度狀態(tài)處于慢速狀態(tài),增加一個小量n, n<N;如果發(fā)現(xiàn)存在丟包,將丟失的數(shù)據(jù)加入緊急隊列中,如果丟包數(shù)小 于預先設定的值一最大延遲數(shù)(MAX-DELAY-NUM ),則本次請求量設置為 上上次的請求量(Last2ReqNum)減去丟包數(shù),當采用立即檢測機制時, 本次請求量設置為上次的請求量(LastReqNum)減去丟包數(shù);如果丟包數(shù)大于一個預先設定的值一最大延遲數(shù)(MAX-DELAY-NUM),則將請求量 設置為(Last2ReqNum-MAX-DEUY-NUM),當采用立即檢測機制時,請求 量設置為(LastReqNum-MAX-DELAY-NUM)。
      根據(jù)請求過程中測量的各個入節(jié)點的上行帶寬,向各個入節(jié)點分配 本次請求的請求量。
      當本地緩沖區(qū)(Buffer)的大小小于預設值(SWITCH-PERCENT)時, 根據(jù)實時性(或者優(yōu)先級大小)的要求將要請求的數(shù)據(jù)包從高到低進行 排序,按照排序結果依次將各個數(shù)據(jù)包按照一定的塊大小(假設為K)進 行分塊分配給各個入節(jié)點,直至已分配數(shù)量達到該入節(jié)點的請求量,此 時的塊大小取決于目標節(jié)點一次能夠同時發(fā)送的數(shù)據(jù)包的大小,由于節(jié) 點的異構性,每個節(jié)點一次能夠同時發(fā)送的數(shù)據(jù)包大小會有所不同。發(fā) 送端為保證數(shù)據(jù)勻速發(fā)送會將整個數(shù)據(jù)請求分作許多個時隙來發(fā)送,這 里所指的一次能夠同時發(fā)送的數(shù)據(jù)包的大小表示的是一個時隙發(fā)送端所 發(fā)送的數(shù)據(jù)包的數(shù)目。
      當本地緩沖區(qū)(Buffer)的大小大于預設值(SWITCH-PERCENT)時, 依次檢測從各入節(jié)點能獲得的數(shù)據(jù)包的個數(shù)(Retr ivNum)并根據(jù)各個入 節(jié)點的RetrivNum比例確定各入節(jié)點本次分配的請求量,將相鄰序號的 各數(shù)據(jù)包請求分配給同一個節(jié)點,直至分配的數(shù)量達到該入節(jié)點的請求 量,然后將鄰接的下一個數(shù)據(jù)包請求發(fā)送給下一個入節(jié)點,如此循環(huán), 直至本次分配完畢。
      數(shù)據(jù)包請求過程中,記錄請求發(fā)送目的節(jié)點的唯一標識號(ID),如 果遇到發(fā)往某個節(jié)點的數(shù)據(jù)包丟失,則下次發(fā)送是優(yōu)先選擇其他節(jié)點發(fā)送該數(shù)據(jù)包的請求。 丟包檢測方法
      采用雙發(fā)送隊列機制,即使用兩個發(fā)送隊列, 一個發(fā)送隊列
      This一SentQue存儲本次發(fā)送請求的數(shù)據(jù)包的序列號值(index)和發(fā)送目 的節(jié)點的唯一標識號(ID),另一個發(fā)送隊列Last-SentQue存儲上次發(fā) 送請求的數(shù)據(jù)包的序列號值(index)和發(fā)送目的節(jié)點的唯一標識號(ID);
      請求時,在This-SentQue當中記錄請求數(shù)據(jù)包的序列號值(index ) 和請求發(fā)送的目的節(jié)點的唯一標識號(ID);
      當本地緩沖區(qū)大小小于START-PERCENT時(此時還未開始播放),在 每次請求數(shù)據(jù)前,檢測Last-SentQue隊列和This—SentQue的前半部分 中是否還有數(shù)據(jù)包未收到,如果有數(shù)據(jù)包未收到,則將數(shù)據(jù)包的序列號 值(index)和對應的唯一標識號(ID)加入緊急隊列(Urgent Que ),使 用下述的緊急隊列處理方法進行處理,同時才艮據(jù)唯一標識號(ID),統(tǒng)計 相應的入節(jié)點的丟包數(shù);
      當本地緩沖區(qū)大小大于START—PERCENT時(此時已經開始播放),在 每次請求數(shù)據(jù)前,只檢測Last-SentQue隊列是否有數(shù)據(jù)包未收到,如果 有數(shù)據(jù)包未收到,則將數(shù)據(jù)包的序列號值(index)和對應的唯一標識號 (ID)加入緊急隊列(UrgentQue ),使用下述的緊急隊列處理方法進行 處理,同時根據(jù)唯一標識號(ID ),統(tǒng)計相應的入節(jié)點的丟包數(shù)。
      緊急隊列(UrgentQue)處理方法
      將緊急隊列中的序列號值(index)按照優(yōu)先級的大小排序; 每次數(shù)據(jù)請求前優(yōu)先處理緊急隊列的數(shù)據(jù)請求,當處理緊急隊列數(shù)據(jù)請求時,首先檢測要請求的數(shù)據(jù)包的序列號值(index)是否過期,如 果過期則放棄請求,如果沒有過期,則請求該數(shù)據(jù)包;
      檢查緊急隊列中要請求的數(shù)據(jù)包對應節(jié)點的唯一標識號(ID)是否 為空,如果不為空,在請求數(shù)據(jù)時,優(yōu)先將該數(shù)據(jù)包的請求向節(jié)點唯一 標識號(ID)不同于緊急隊列所記錄的唯一標識號(ID)的節(jié)點發(fā)送。
      總的來說,在本實施例中,首先根據(jù)初始時對各入節(jié)點帶寬的探測 情況和所要請求的數(shù)據(jù)包的優(yōu)先級大小,對各個入節(jié)點所進行的數(shù)據(jù)請 求輪塊分配,在播放的初始階段,以單個數(shù)據(jù)包為單位,按照優(yōu)先級的 大小將優(yōu)先級較大的數(shù)據(jù)包分別先向不同的入節(jié)點發(fā)送請求,其次再發(fā) 送優(yōu)先級較低的數(shù)據(jù)包請求,使優(yōu)先級較高的數(shù)據(jù)包請求能夠得到快速 的響應,從而加快數(shù)據(jù)響應速度;同時在數(shù)據(jù)請求末端靈活調整連續(xù)請 求數(shù)據(jù)塊的大小,采用一定大小的數(shù)據(jù)塊為單位,向各個入節(jié)點發(fā)送數(shù) 據(jù)請求,將公共擁有的數(shù)據(jù)請求發(fā)往擁有公共數(shù)據(jù)比重較大的入節(jié)點, 而把稀有數(shù)據(jù)請求發(fā)往擁有稀有數(shù)據(jù)比重較大的入節(jié)點,以平衡各個入 節(jié)點的帶寬負載,從而減少單點故障帶來的影響,并且結合丟包重傳機 制,最終達到流暢播放的目的。
      最后應說明的是,以上所述實施例僅用以說明本發(fā)明的技術方案而 非對其限制,并且在應用上可以延伸到其他的^"改、變化、應用和實施 例,同時認為所有這樣的修改、變化、應用、實施例都在本發(fā)明的精神 和范圍內。
      權利要求
      1、一種P2P流媒體數(shù)據(jù)請求方法,包括步驟10)、用戶節(jié)點加入P2P網絡,獲得入節(jié)點列表,向所述列表中的入節(jié)點發(fā)送請求,檢測丟包情況,獲得各入節(jié)點的上行帶寬;步驟20)、根據(jù)所述各個入節(jié)點的上行帶寬,向所述各個入節(jié)點分配數(shù)據(jù)請求步驟210)、當本地緩沖區(qū)的大小小于預設值時,將要請求的數(shù)據(jù)包按照優(yōu)先級從大到小進行排序,按照排序結果依次將所述各個數(shù)據(jù)包按照一定的塊大小進行分塊,并分配給各個入節(jié)點,直至已分配的數(shù)量達到所述入節(jié)點的請求量;步驟220)、當本地緩沖區(qū)的大小大于預設值時,依次檢測從各入節(jié)點能獲得的數(shù)據(jù)包的個數(shù),根據(jù)所述數(shù)據(jù)包個數(shù)的比例,確定所述各入節(jié)點分配的請求量。
      2、 權利要求l的方法,其中,數(shù)據(jù)包請求過程中,記錄所述用戶節(jié)點的唯一標識號,如果發(fā)往某個入節(jié)點的數(shù)據(jù)包丟失,則下次優(yōu)先選擇其他用戶節(jié)點發(fā)送所述丟失數(shù)據(jù)包的請求。
      3、 權利要求l的方法,在步驟IO)中,在所述請求發(fā)送之前,檢測上上次發(fā)送隊列的全部和上次發(fā)送隊列的前半部分的數(shù)據(jù)包是否存在丟包,或者檢測上上次發(fā)送隊列的數(shù)據(jù)包是否存在丟包。
      4、 權利要求3的方法,其中,當還未開始播放時,在每次請求數(shù)據(jù)前,檢測上上次發(fā)送隊列的全部和上次發(fā)送隊列的前半部分是否有數(shù)據(jù)包未收到,如果有數(shù)據(jù)包未收到,將所述數(shù)據(jù)包的播放位置值和對應的唯一標識號加入緊急隊列,同時統(tǒng)計所述唯一標識號相應的入節(jié)點的丟包數(shù)。
      5、 權利要求3的方法,其中,當已經開始播放時,在每次請求數(shù)據(jù)前,只檢測上上次發(fā)送隊列是否有數(shù)據(jù)包未收到,如果有數(shù)據(jù)包未收到,將所述數(shù)據(jù)包的播放位置值和對應的唯一標識號加入緊急隊列,同時統(tǒng)計所述唯一標識號相應的入節(jié)點的丟包數(shù)。
      6、 權利要求4或者權利要求5的方法,進一步包括步驟110)、將所述緊急隊列中的序列號按照優(yōu)先級的大小排序;步驟120)、在數(shù)據(jù)請求前,優(yōu)先處理所述緊急隊列的數(shù)據(jù)請求,檢測要請求的數(shù)據(jù)包的序列號是否過期,如果過期則放棄請求,如果沒有過期,則請求所述數(shù)據(jù)包;步驟130)、檢查所述緊急隊列中要請求的數(shù)據(jù)包對應節(jié)點的唯一標識號是否為空,如果不為空,在請求數(shù)據(jù)時,優(yōu)先將所述數(shù)據(jù)包的請求向節(jié)點唯一標識號不同于所述緊急隊列所記錄的唯一標識號的節(jié)點發(fā)送。
      7、 權利要求l的方法,其中,步驟210)中,根據(jù)所述入節(jié)點一次能夠同時發(fā)送的數(shù)據(jù)包的大小,確定所述塊的大??;為保證數(shù)據(jù)勻速發(fā)送,所述入節(jié)點將整個數(shù)據(jù)請求分作許多個時隙來發(fā)送;所述一次能夠同時發(fā)送的數(shù)據(jù)包的大小是指一個時隙所述入節(jié)點發(fā)送的數(shù)據(jù)包的數(shù)目。
      8、 權利要求l的方法,其中,步驟220 )進一步包括將相鄰序號的所述各數(shù)據(jù)包請求分配給同 一個入節(jié)點,直至分配數(shù)量達到所述入節(jié)點的請求量,然后將鄰接的下一個數(shù)據(jù)包請求發(fā)送給下一個入節(jié)點,循環(huán)進行,直至本次數(shù)據(jù)包請求分配結束。
      全文摘要
      本發(fā)明提供一種P2P流媒體數(shù)據(jù)請求方法,針對P2P網絡異構性,根據(jù)不同節(jié)點的帶寬,對不同節(jié)點進行相應的數(shù)據(jù)請求。用戶節(jié)點根據(jù)初始時對各入節(jié)點帶寬的探測情況和所要請求的數(shù)據(jù)包的優(yōu)先級大小,對各個入節(jié)點進行數(shù)據(jù)請求和輪塊分配,加快數(shù)據(jù)到達速度,同時減少單點故障帶來的影響;在數(shù)據(jù)請求末端,靈活調整連續(xù)請求數(shù)據(jù)塊的大小,可以更快請求到最新的數(shù)據(jù)包,并且結合丟包檢測重傳機制,達到流暢播放的目的。
      文檔編號H04L12/56GK101459585SQ20071017958
      公開日2009年6月17日 申請日期2007年12月14日 優(yōu)先權日2007年12月14日
      發(fā)明者浩 任, 馮偵探, 王勁林, 杭 蘇, 蘇少煒, 魯逸峰 申請人:中國科學院聲學研究所
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1