1. 程式人生 > >支持斷點續傳的大文件傳輸協議

支持斷點續傳的大文件傳輸協議

領域 意義 技術分享 高性能 bee ces 操作系統 方式 linux

文件傳輸協議(FTP)是一個被廣泛應用的網絡協議,FTP技術作為文件傳輸的重要手段,在數據通信領域一直發揮著舉足輕重的作用,不支持斷點續傳,是Internet上最早也是最廣泛使用的應用之一.

技術分享圖片
從1971年A.K.Bhushan提出第一個FTP協議版本(RFC114)到現在,人們對FTP的應用已經歷了40余年的時間,同時,許多基於FTP協議的數據傳輸軟件也應運而生。如Windows操作系統下經常使用的支持FTP協議的軟件有:CuteFTP、FlashFXP、迅雷(Thunder)、快車(FlashGet)、網絡螞蟻(NetAnts)等;Linux操作系統中經常使用的支持FTP協議的軟件有:FileZilla、gFTP、wget等,這些軟件中有些是GUI圖形界面的,有的只有簡單的命令行界面;有些是開源免費的,有的是收費的商業軟件,不管屬於以上哪個類型,這些支持FTP協議的軟件都有一個共同的特點:不支持斷點續傳。斷點續傳是指在文件傳輸或者下載的過程中,如果發生意外中斷,在重新建立連接後,可以直接從未傳輸或未下載的部分繼續傳輸任務,而不必重復傳輸已傳輸的內容,斷點續傳文件的功能需要 FTP服務器的支持。

大文件傳輸協議(Raysync)是針對大文件傳輸的網絡協議,Raysync作為在廣域網上進行大文件傳輸的重要手段,在用戶數據報協議(UDP)上進行了優化,支持斷點續傳,是大數據遠距離傳輸的重要協議。

技術分享圖片

然而,隨著互聯網的飛速發展,海量信息數據需要通過網絡傳輸,企業經常需要向服務器傳輸以GB為單位的大文件,如多媒體文件網絡共享等實際應用。提高大容量文件傳輸的效率對於多媒體文件的網絡共享等應用顯得越來越重要。但是,由於這些文件容量巨大,使用傳統FTP傳輸的方式耗時長,而且在傳輸過程中,可能會發生意外斷電或網絡連接中斷等不可預知的情況,導致文件重新傳輸的操作頻繁,極大影響了數據共享的效率。再如:利用某超級計算機中心(以下簡稱:超算中心)的計算機進行高性能相關的計算時,客戶端的用戶需要通過xxx傳輸大容量的計算數據,如果使用傳統FTP傳輸,效率會很低,嚴重影響高性能計算的效率,不能完全體現超級計算機的性能優勢。由此可見,大文件傳輸技術對於促進網絡應用的發展有著重大的意義。

大文件傳輸協議(Raysync),是基於UDP協議進行的開發優化,可以支持斷點續傳,能盡量減少了數據的重復傳輸量。實際應用中,有時用戶傳輸或者下載一個大文件需要數小時,網絡中斷或電腦死機、重啟等不可預測的意外情況發生導致傳輸中斷時,而具有斷點續傳功能的Raysync服務器與客戶端軟件允許用戶從傳輸或下載斷線的地方繼續傳輸,此時只需要傳輸之前還未傳輸的文件部分,減少了數據傳輸量,節約了時間,提高了企業的效率。

支持斷點續傳的大文件傳輸協議