專利名稱:多流多宿主環境下文件遞歸分割傳輸并重新組合的方法
技術領域:
本發明屬于數據傳輸技術領域,具體涉及一種多流多宿主環境下文件分割傳輸并重新組合的方法。
背景技術:
隨著互聯網技術地不斷發展,人們對于互聯網應用的需求逐漸提高,同時隨著通信技術的進步,接入技術的多樣化以及接入設備成本的降低,使得用戶可以利用多條通信路徑進行業務的并行傳輸,從而可以提高業務吞吐率,以更短的時間滿足通信雙方的傳輸業務需求。在一些對性能要求嚴格的系統中,總是會在各個層次中使用冗余備份的方案來防止數據的意外丟失,在應用到通信當中便演化為多宿主機制。然而在家庭網絡,車載網絡,辦公網絡迅速發展的情況下,個域網通信中也可以使用多宿主的實現機制,來提供數據的冗余備份,提高數據傳輸的可靠性,同時可以借助于多流多路徑傳輸,從而提高通信鏈路的吞吐量。在文獻[Liao, Jianxin;Wang, Jingyu;Zhu, Xiaomin;Li, Tonghong.Exploitingpath diversity to enhance aggregating throughput for multihomed wirelessdevices.1EEE Transactions on Consumer Electronics.2010.56:613-619]中概述了多流多宿主實現機制與應用。盡管基于多種接入技術和多個網絡地址的多宿主終端正在逐漸成為下一代互聯網的主要特征,但是傳統的傳輸層協議如TCP,UDP仍然只能基于一個網絡地址建立連接,在端到端的單路徑上傳輸數據,無法充分發揮多宿主特性。多宿主方面的研究近幾年已有所突破,基于SCTP的多路徑并行傳輸也越來越受到關注,如文獻[R.Stewart, Q.Xieet.al., “Stream Control Transmission Protocol”,RFC2960,IETF, 0ctober2000 ;]所述,SCTP是IETF提出的一個新的傳輸層協議,它提供了面向連接的可靠機制,提供差錯控制又保留了報文的邊界,又可以借助于主機的多宿主特性來提供數據的冗余備份,從而進一步提高通信的可靠性。同時也有越來越多的機構開始提出了一些端到端多路徑傳輸層架構。但在包括家庭網絡在內的個域網中SCTP及其變種作為一種多宿主解決方案并不合適,絕大多數現有的應用層業務都是基于TCP/UDP實現,SCTP的引入必然需要對現有的應用層程序進行大規模的修改,這就導致了在個域網應用層通信中SCTP作為多宿主解決方案的弊端,使SCTP廣泛應用到用戶級應用程序中成本太高,很難實現向前兼容。對于這種新型信息傳輸系統,現在并沒有針對其特性的文件傳輸方法,使得其優越的性能被大大的低估了,如果能有方法利用其新型的特性以提高文件傳輸效率。但是并沒有一種對于一個文件如何在發送端分割,在接收端重新組合,并且還需應對鏈路不穩定的情況的相關方法,所以文件傳輸的分割組合方法將有重大的意義。本發明因此而來。
發明內容
本發明提供了一種多流多宿主環境下文件分割傳輸并重新組合的方法,該方法充分利用多流多宿主環境的特性,根據網絡情況的變化遞歸的調整分割策略,將文件在多個鏈路上同時傳輸,并在接收端遞歸組合成完整的文件。為了解決現有技術中的這些問題,本發明提供的技術方案是:—種多流多宿主環境下文件分割傳輸并重新組合的方法,其中發送方通過多個鏈路同接收方相連接,其特征在于所述方法包括以下步驟:(I)發送方在發送前,根據連接的鏈路多少對文件進行遞歸分割,分割為大小相同的文件片段M并進行編號編碼,然后文件片段連同編號編碼從相對應的鏈路上發送到接收方;(2)接收方接收到文件片段連同編號編碼時,根據文件片段的編碼編號將相應的接受文件片段儲存到臨時文件夾中,臨時文件夾的目錄結構按照文件編碼編號進行構建;當所有文件片段接收完成后,則所有文件片段在接收方形成一個層層嵌套的樹形目錄結構的臨時文件夾,以臨時文件夾為樹的根,各個文件片段則為葉子,從最外層的目錄開始進行二叉樹后序遍歷的方式進行組合形成文件。優選的,所述方法步驟(I)中當文件一次分割無剩余部分時,無需后續編碼;否則將剩余部分作為新的初始文件,根據鏈路情況進行分割編碼后,繼續進行傳輸給接收方。優選的,所述方法步驟(I)中進行編碼編號的步驟包括:I)初始文件編號為m,首次分割的已傳輸部分編號m.1,剩余部分編號為m.2 ;如果無剩余部分,則無剩余部分編號;首次分割的已傳輸部分通過多個網絡傳輸完成的多個文件片段編號為m.1.Um.1.2...m.1.n,其中η為所接入傳輸的網絡數,編號順序由文件中順序確定,同時也是文件片段的序號;如果無剩余部分,則編號結束;否則進行步驟2);2)將剩余部分m.2作為首次文件繼續分割,按照I)類似步驟繼續編號。優選的,所述方法步驟(2)中臨時文件夾是根據文件片段的編號順序進行構建的,當收到文件的片段的編號為m.X.y.z,那么該片段的儲存地址為m/m.x/m.x.y/m.x.y.z。本發明提出一種多流多宿主環境下文件遞歸分割傳輸并重新組合的方法,包括以下步驟:發送方:(1)發送方通過多個鏈路同接收方相連,將文件從多個鏈路上同時傳輸,文件在發送方進行分割(分割為大小相同的文件片段M),并進行編碼,然后連同編碼從相對應的各個鏈路發送到接收端;(2)如果文件在這次分割后完成傳輸,即無剩余部分,則無后續編碼;(3)如果在文件傳輸過程中網絡情況發生變化,如鏈路發生變化等。則將剩余部分作為新的初始文件,遞歸的進行分割,編碼,繼而如上所述的方式繼續進行傳輸;接收方:(1)當接收方接受到具有新編號的文件時,則將上一編號及其相應的接受到的文件儲存到臨時文件夾中,文件夾的目錄結構是按照文件編號的遞歸進行排列;
(2)文件傳輸完畢,則在接收方建立了一個層層嵌套的樹形目錄結構文件夾,每個文件夾都是這棵樹的根,各個文件片段則為葉子。從最外層的目錄開始對這個文件樹進行類似二叉樹后序遍歷的方式進行遍歷并重新組合。優選的,所述發送方方法步驟中對文件片段進行遞歸編號方法步驟如下:(I)初始文件編號為m,由于傳輸調整使得文件被分割兩大部分,已傳輸部分編號m.1 ;剩余部分編號m.2,如果無剩余部分,則無剩余部分編號。(2)已傳輸部分通過多個網絡傳輸完成的多個文件片段編號為m.1.1、m.1.2...m.l.n,其中η為所接入傳輸的網絡數,編號順序由h中順序確定,同時也是文件片段的序號。如果無剩余部分,則編號結束;如果有剩余部分,則繼續步驟(3)。(3)將剩余部分的編號m.2作為新的初始編號轉到步驟(I)。優選的,所述接收方方法步驟(I)中在接收傳輸文件過程所述的建立文件夾的方法的步驟如下:當接收方接受到具有新編號的文件時,其將上一編號及其相應的接受文件儲存到臨時文件夾中,文件夾的目錄結構是按照文件編號的遞歸進行排列的。如收到文件的片段的編號為m.2.1.3,那么該片段的儲存目錄及文件名為m/m.2/m.2.1/m.2.1.3,其中m也是相應的目錄名。優選的,所述接收方方法步驟(2)中文件遞歸組合方法步驟如下:(I)文件傳輸完畢,則在接收方建立了一個層層嵌套的樹形目錄結構文件夾,每個文件夾都是這棵樹的根,各個文件片段則為葉子。(2)從最外層的目錄開始對這個文件樹進行類似二叉樹后序遍歷的方式進行重新組合,具體說來,當遍歷到葉子,即文件片段時,將該文件夾下所有文件片段按照各自編號順序進行組合(編號順序即文件的實際順序,這點在分割編號時已保證),組合完成后的文件編號為其文件夾名,然后將其文件夾刪除,組合的文件并入上一層目錄,如此遞歸的進行,直到完全重新組合。該方法具有文件傳輸的高效性、網絡鏈路的動態適應性和簡單實用性。相對于現有技術中的方案,本發明的優點是:1.高效性:利用本發明在多條鏈路上對文件進行分割傳輸,極大的提高了文件傳輸效率。2.適應性:利用遞歸的文件分割組合方法,可以應對鏈路連接狀況的變化,使得本發明的能應對網絡狀況的變化。3.簡單實用性:本發明不需要對網絡協議進行修改,只需在終端對傳輸的文件進行簡單的處理,并在接收端進行簡單的組合即可。
下面結合附圖及實施例對本發明作進一步描述:圖1為本發明的實施網絡環境的網絡架構圖;圖2為本發明的遞歸文件編碼方式原理圖。
具體實施例方式以下結合具體實施例對上述方案做進一步說明。應理解,這些實施例是用于說明本發明而不限于限制本發明的范圍。實施例中采用的實施條件可以根據具體廠家的條件做進一步調整,未注明的實施條件通常為常規實驗中的條件。實施例如圖1 2所示,本實施例采用的多流多宿主環境下文件遞歸分割傳輸并重新組合方法,該方法充分利用多流多宿主環境的特性,根據網絡情況的變化遞歸的調整分割策略,將文件在多個鏈路上同時傳輸,并在接收端遞歸組合成完整的文件,包括以下步驟:發送方:I)發送方通過多個鏈路同接收方相連,記其接入鏈路的集合為Wj,將文件中多個鏈路上同時傳輸,文件在發送方進行分割(分割為大小相同的文件片段如M = 500KB),在文件片段發送時對其進行編碼,Ca)初始文件編號為m Cm的格式為1.f,其中終端ID-1,文件序號_f),傳輸出去部分通過多個網絡傳輸完成的多個文件片段編號為m.1.1、m.1.2...m.1.n,其中η為文件序數,依次遞增以記錄文件秩序以便重新組合時使用;如圖2所示;2)如果文件傳輸結束,則在接收端對文件重新組合;3)當鏈路狀況發生變化,即Wj發生變化時,使得文件被分割兩大部分,已傳輸部分編號m.1.X ;剩余部分編號m.2,這里把剩余部分當作新的初始部分進行傳輸,則m.2也就作為新的初始編號,繼而如上所述的遞歸的編碼傳輸直到文件完全傳輸結束。接收方:(I)當接收方接受到具有新編號的文件時,其將上一編號及其相應的接受文件儲存到臨時文件夾中,文件夾的目錄結構是按照文件編號的遞歸進行排列的。建立文件夾的方法的步驟如下:當接收方接受到具有新編號的文件時,其將上一編號及其相應的接受文件儲存到臨時文件夾中,文件夾的目錄結構是按照文件編號的遞歸進行排列的。如收到文件的片段的編號為m.2.1.3,那么該片段的儲存目錄及文件名為m/m.2/m.2.1/m.2.1.3,其中m也是相應的目錄名。以下文件分割傳輸算法的示例:
權利要求
1.一種多流多宿主環境下文件分割傳輸并重新組合的方法,其中發送方通過多個鏈路同接收方相連接,其特征在于所述方法包括以下步驟: (1)發送方在發送前,根據連接的鏈路多少對文件進行遞歸分割,分割為大小相同的文件片段M并進行編號編碼,然后文件片段連同編號編碼從相對應的鏈路上發送到接收方; (2)接收方接收到文件片段連同編號編碼時,根據文件片段的編碼編號將相應的接受文件片段儲存到臨時文件夾中,臨時文件夾的目錄結構按照文件編碼編號進行構建;當所有文件片段接收完成后,則所有文件片段在接收方形成一個層層嵌套的樹形目錄結構的臨時文件夾,以臨時文件夾為樹的根,各個文件片段則為葉子,從最外層的目錄開始進行二叉樹后序遍歷的方式進行組合形成文件。
2.根據權利要求1所述的方法,其特征在于所述方法步驟(I)中當文件一次分割無剩余部分時,無需后續編碼;否則將剩余部分作為新的初始文件,根據鏈路情況進行分割編碼后,繼續進行傳輸給接收方。
3.根據權利要求2所述的方法,其特征在于所述方法步驟(I)中進行編碼編號的步驟包括: 1)初始文件編號為m,首次分割的已傳輸部分編號m.1,剩余部分編號為m.2 ;如果無剩余部分,則無剩余部分編號;首次分割的已傳輸部分通過多個網絡傳輸完成的多個文件片段編號為m.1.Um.1.2...m.1.n,其中η為所接入傳輸的網絡數,編號順序由文件中順序確定,同時也是文件片段的序號;如果無剩余部分,則編號結束;否則進行步驟2); 2)將剩余部分m.2作為首次文件繼續分割,按照I)類似步驟繼續編號。
4.根據權利要求3所述的方法,其特征在于所述方法步驟(2)中臨時文件夾是根據文件片段的編號順序進行構建的,當收到文件的片段的編號為m.X.y.z,那么該片段的儲存地址為 m/m.x/m.x.y/m.x.y.z。
全文摘要
本發明公開了一種多流多宿主環境下文件遞歸分割傳輸并重新組合的方法,其中發送方通過多個鏈路同接收方相連接,所述方法包括以下步驟(1)發送方在發送前,根據連接的鏈路多少對文件進行遞歸分割,分割為大小相同的文件片段M并進行編號編碼,然后文件片段連同編號編碼從相對應的鏈路上發送到接收方;(2)接收方接收到文件片段連同編號編碼時,根據文件片段的編碼編號將相應的接受文件片段儲存到臨時文件夾中,臨時文件夾的目錄結構按照文件編碼編號進行構建;當所有文件片段接收完成后,則所有文件片段在接收方形成一個層層嵌套的樹形目錄結構的臨時文件夾,以臨時文件夾為樹的根,各個文件片段則為葉子,從最外層的目錄開始進行二叉樹后序遍歷的方式進行組合形成文件。該方法具有文件傳輸的高效性、網絡鏈路的動態適應性和簡單實用性。
文檔編號H04L29/08GK103152422SQ20131008077
公開日2013年6月12日 申請日期2013年3月14日 優先權日2013年3月14日
發明者黃劉生, 孫權, 徐宏力 申請人:中國科學技術大學蘇州研究院