專利名稱:一種用于點對點網絡的數據傳輸方法
技術領域:
本發明涉及網絡通信技術領域的一種數據傳輸方法,尤其涉及一種用于點對點網 絡的數據傳輸方法。
背景技術:
近年來,對等網絡(Peer-to-Peer,P2P)成為網絡界關注的熱門話題之一,P2P網 絡在提高資源利用率、擴展服務能力等方面具有潛在優勢。P2P網絡能利用以往被忽視的眾 多普通節點的資源,是一種性價比良好的服務體系。傳統的P2P網絡中待發送的數據流被分成多個數據段,接收節點可以從不同的種 子節點分別接收不同的數據段,以組成完整的數據流,同時接收節點也作為其他節點的種 子節點。每個中間節點只是單純的轉發數據段,不對數據段進行任何處理。現有的P2P網絡數據傳輸技術占用帶寬較多,且延時長,并且當某一個種子節點 退出系統后,會影響其他節點的接收,魯棒性不高。
發明內容
本發明要解決的技術問題是針對現有技術存在的缺陷提出一種點對點網絡數據 傳輸方法。本發明一種用于點對點網絡的數據傳輸方法,其特征在于包括數據發送方法和數 據接收方法,所述的數據發送方法包括如下步驟a)點對點網絡中待發送數據按照比特位置從低到高被平均分成多個數據段,每個 數據段再按比特位置從低到高被平均分成k個原始數據塊,每個數據段由多個種子節點轉 發;b)種子節點從k個數據塊中隨機選取m個原始數據塊,再從有限域體中隨機選取 m個編碼系數,m小于等于k;c)將選取的m個數據塊分別和m個編碼系數相乘之后再相加進行編碼,得到編碼 后的數據塊;d)種子節點把該數據段標識和m個編碼系數放在編碼后數據塊的首部,與編碼后 的數據塊一起轉發出去;所述的數據接收方法包括如下步驟1.)接收節點收到編碼后的數據塊后,首先從編碼后的數據塊首部的數據段標識 判斷該數據塊所屬的數據段,如果屬于已解碼的數據段,則丟棄該數據塊,如果屬于未解碼 的數據段,則把該數據塊放入該數據段的解碼緩沖區;2.)當解碼緩沖區收到屬于同一個數據段的k個編碼后的數據塊,且這k個數據塊 首部的編碼系數互不相關,則開始解碼;否則回到步驟1)繼續接收數據;3.)解碼的過程即為編碼過程的逆過程,利用k個數據塊首部的編碼系數,用高斯 消元法解出k個原始數據塊;
4.)把k個解碼后的數據塊重新組成一個數據段,完成接收過程,其中k和m都為 大于1的自然數。本發明中的P2P網絡數據傳輸技術,使用了網絡編碼技術,即網絡中的種子節點 不僅僅轉發數據,還對數據進行處理,從而提高數據傳輸速率,增強系統的魯棒性。并且由 于使用了網絡編碼,當某一節點退出系統后,由于節點之間的數據是獨立傳輸,并沒有相互 依賴關系,因此并不影響其他節點的傳輸,也不需要發送節點進行重新調整,簡化了設計, 提高了傳輸的穩定性。
圖1 本發明各節點關系圖;圖2 本發明傳輸數據塊結構示意圖;圖3 本發明數據發送方法流程圖;圖4 本發明數據接收方法流程圖。
具體實施例方式如圖1所示。本發明方法中各節點之間的關系圖。1、2和3為種子節點,發送編碼 后的數據塊給接收節點4。2和3之間的省略號表示有多個種子節點發送數據,圖中進行了 省略,即接收節點可以從多個種子節點接收數據塊。1和3指向其他方向的箭頭表示,種子 節點可以同時傳輸數據給多個接收節點。如圖2所示,是本發明傳輸的數據塊結構圖。待發送數據段被分成k個原始數據 塊,傳輸的數據塊是經過網絡編碼后的數據塊。由三個字段組成,數據段標識表示該編碼后 的數據塊屬于哪個數據段,編碼系數表示該數據塊是由哪些編碼系數與原始數據塊編碼得 到的,第三個字段是編碼后的數據。如圖3所示,本發明數據發送方法流程圖。數據發送方法包括如下步驟a)點對點網絡中待發送數據按照比特位置從低到高被平均分成多個數據段,每個 數據段再按比特位置從低到高被平均分成k個原始數據塊,每個數據段由多個種子節點轉 發;b)種子節點從k個數據塊中隨機選取m個原始數據塊,再從有限域體中隨機選取 m個編碼系數,m小于等于k;c)將選取的m個數據塊分別和m個編碼系數相乘之后再相加進行編碼,得到編碼 后的數據塊;d)種子節點把該數據段標識和m個編碼系數放在編碼后數據塊的首部,與編碼后 的數據塊一起轉發出去;如圖4所示,本發明數據接收方法流程圖。數據接收方法包括如下步驟1.)接收節點收到編碼后的數據塊后,首先從編碼后的數據塊首部的數據段標識 判斷該數據塊所屬的數據段,如果屬于已解碼的數據段,則丟棄該數據塊,如果屬于未解碼 的數據段,則把該數據塊放入該數據段的解碼緩沖區;2.)當解碼緩沖區收到屬于同一個數據段的k個編碼后的數據塊,且這k個數據塊 首部的編碼系數互不相關,則開始解碼;否則回到步驟1)繼續接收數據;
4
3.)解碼的過程即為編碼過程的逆過程,利用k個數據塊首部的編碼系數,用高斯 消元法解出k個原始數據塊;4.)把k個解碼后的數據塊重新組成一個數據段,完成接收過程,其中k和m都為 大于1的自然數。
權利要求
一種用于點對點網絡的數據傳輸方法,其特征在于包括數據發送方法和數據接收方法,所述的數據發送方法包括如下步驟a)點對點網絡中待發送數據按照比特位置從低到高被平均分成多個數據段,每個數據段再按比特位置從低到高被平均分成k個原始數據塊,每個數據段由多個種子節點轉發;b)種子節點從k個數據塊中隨機選取m個原始數據塊,再從有限域體中隨機選取m個編碼系數,m小于等于k;c)將選取的m個數據塊分別和m個編碼系數相乘之后再相加進行編碼,得到編碼后的數據塊;d)種子節點把該數據段標識和m個編碼系數放在編碼后數據塊的首部,與編碼后的數據塊一起轉發出去;所述的數據接收方法包括如下步驟1.)接收節點收到編碼后的數據塊后,首先從編碼后的數據塊首部的數據段標識判斷該數據塊所屬的數據段,如果屬于已解碼的數據段,則丟棄該數據塊,如果屬于未解碼的數據段,則把該數據塊放入該數據段的解碼緩沖區;2.)當解碼緩沖區收到屬于同一個數據段的k個編碼后的數據塊,且這k個數據塊首部的編碼系數互不相關,則開始解碼;否則回到步驟1)繼續接收數據;3.)解碼的過程即為編碼過程的逆過程,利用k個數據塊首部的編碼系數,用高斯消元法解出k個原始數據塊;4.)把k個解碼后的數據塊重新組成一個數據段,完成接收過程,其中k和m都為大于1的自然數。
全文摘要
本發明公布了一種用于點對點網絡的數據傳輸方法,屬于網絡通信技術領域。本發明方法基于隨機網絡編碼技術,包括數據發送方法和數據接收方法,所述數據發送方法在發送數據前,先用隨機網絡編碼的方法對數據進行處理;所述數據接收方法在接收時進行相應的解碼。該發明使網絡中的種子節點不僅僅轉發數據,還對數據進行處理,從而提高數據傳輸速率,增強系統的魯棒性,并且當某一節點退出網絡后,并不影響其他節點的傳輸,提高了傳輸的穩定性。
文檔編號H04L1/00GK101917468SQ20101024388
公開日2010年12月15日 申請日期2010年8月3日 優先權日2010年8月3日
發明者劉山川, 劉鎮, 張向勇, 林戀, 錢萍 申請人:江蘇科技大學