基于網絡的不限長度的文件傳輸方法和系統的制作方法
【技術領域】
[0001] 本發明涉及通信技術領域,尤其涉及一種基于網絡的不限長度的文件傳輸方法和 系統。
【背景技術】
[0002] 中國藝術品數據庫(簡稱中藝庫)平臺負責雅昌深圳、北京、上海三大運營中心的 數據存儲與管理,通過專線傳輸北京主數據庫,平臺涉及資源與數據類型較多,各資源間相 互關聯且數量巨大。每天上海、深圳有200-400G的海量的數據傳輸到北京主數據庫,特別 是非結構化文件數據較大,作品圖片1:1原大尺寸的復制級的單張圖片會在1GB左右,對于 長卷如《清明上河圖》的圖片最大高達15個GB以上,出版級的圖片基本在15-150M,因此大 數據的文件傳輸入庫與異地備份必須保證是準確的、無損的、安全的和高效的。
【發明內容】
[0003] 本發明的實施例提供了一種基于網絡的不限長度的文件傳輸方法和系統,以實現 高效率地通過網絡異地傳輸文件。
[0004] 為了實現上述目的,本發明采取了如下技術方案。
[0005] 根據本發明的一個方面,提供了一種基于網絡的不限長度的文件傳輸方法,包 括:
[0006] 在發送端按照設定的文件分割長度對文件進行分割,得到所述文件的多個分割 塊;
[0007] 根據每個分割塊的數據和序列號,采用數字簽名形式的算法生成每個分割塊的獨 立驗證代碼文件,所述獨立驗證代碼文件作為每個分割塊是否完整無損的驗證依據;
[0008] 所述發送端將每個分割塊的數據、序列號和獨立驗證代碼文件傳輸給接收端。
[0009] 優選地,所述的在發送端按照設定的文件分割長度對文件進行分割,得到所述文 件的多個分割塊,包括:
[0010] 在發送端,獲取文件F的字節長度L,設定一個固定的文件分割長度T,按照所述文 件分割長度T對L進行等比例分割,得到文件F的各個分割塊:Bi,By··BN,分割塊的總數為N;
[0011] 如果L不是T的整數倍,則L= (N-l) *T+Len(Bn)
[0012] 如果L是T的整數倍,則L=N*T。
[0013] 優選地,所述的根據每個分割塊的數據和序列號,采用數字簽名形式的算法生成 每個分割塊的獨立驗證代碼文件,包括:
[0014] 選取初始序列號i= 1;
[0015] 根據分割塊&的數據X4卩序列號i,采用數字簽名形式的算法生成獨立驗證代碼 文件Q=V(Xi,i),所述V表示數字簽名形式的算法,所述獨立驗證代碼文件Q的文件長度 為固定長度;
[0016] 序列號i加1,根據分割塊B1+1的數據X1+1和序列號i+1,采用數字簽名形式的算法 生成獨立驗證代碼文件C1+1=V(B1+1,i),計算出分割塊B1+1對應的C1+1;
[0017] 重復執行上述處理過程,直到序列號等于N,所有分割塊的獨立驗證代碼文件都生 成了。
[0018] 優選地,所述的發送端將每個分割塊的數據、序列號和獨立驗證代碼文件傳輸給 接收端,包括:
[0019] 所述發送端把分割塊的總數N傳遞到接收端;
[0020] 選取初始序列號i= 1 ;
[0021]所述發送端將分割塊&的序列號i、數據Xi和獨立驗證代碼文件Ci傳輸給接收 端;
[0022] 序列號i加1 ;
[0023] 所述發送端將分割塊B1+1的序列號i+Ι、數據X1+1和獨立驗證代碼文件C1+1傳輸給 接收端;
[0024] 重復執行上述處理過程,直到序列號等于N,所有分割塊的序列號、數據和獨立驗 證代碼文件都傳輸給接收端。
[0025] 優選地,所述的方法還包括:
[0026] 所述接收端接收所述發送端傳輸過來的分割塊的總數N;
[0027] 所述接收端接收到所述發送端發送過來的分割塊&的序列號i、數據X獨立驗 證代碼文件(^后,采用和所述發送端相同的數字簽名形式的算法V生成獨立驗證代碼文件 TCfV(Xyi),將所述TQ和所述C通行比較,如果比較結果為一致,則確定所述分割塊Bi 的數據Xi有效;
[0028] 如果比較結果為不一致,則確定所述分割塊&的數據Xi無效,通知所述發送端重 新發送分割塊&的序列號i、數據Xi和獨立驗證代碼文件C1;之后,接收端重新對分割塊Bi 的數據&進行驗證,一直到確定所述分割塊Bi的數據Xi有效;
[0029] 所述接收端在確定所有分割塊的數據有效后,按照序列號i從1到N的順序,將各 個分割塊的數據進行合并,得到發送端發送的文件F;
[0030] F=XA...+XJ…XNJXn。
[0031]
[0032] 根據本發明的另一個方面,提供了一種基于網絡的不限長度的文件傳輸系統,包 括:發送端,所述發送端具體包括:
[0033] 文件分割模塊,用于按照設定的文件分割長度對文件進行分割,得到所述文件的 多個分割塊;
[0034] 驗證文件生成模塊,用于根據每個分割塊的數據和序列號,采用數字簽名形式的 算法生成每個分割塊的獨立驗證代碼文件;
[0035] 數據傳輸模塊,用于將每個分割塊的數據、序列號和獨立驗證代碼文件傳輸給接 收端。
[0036]優選地,所述的文件分割模塊,用于獲取文件F的字節長度L,設定一個固定的文 件分割長度T,按照所述文件分割長度T對L進行等比例分割,得到文件F的各個分割塊: BpByh,分割塊的總數為N;
[0037]如果L不是T的整數倍,則L= (N-l) *T+Len(BN),
[0038] 如果L是T的整數倍,則L=N*T。
[0039] 優選地,所述的驗證文件生成模塊,用于選取初始序列號i=1 ;
[0040] 根據分割塊&的數據X序列號i,采用數字簽名形式的算法生成獨立驗證代碼 文件Q=V(Xi,i),所述V表示數字簽名形式的算法,所述獨立驗證代碼文件Q的文件長度 為固定長度;
[0041] 序列號i加1,根據分割塊B1+1的數據X1+1和序列號i+Ι,采用數字簽名形式的算法 生成獨立驗證代碼文件C1+1=V(B1+1,i),計算出分割塊B1+1對應的C1+1;
[0042] 重復執行上述處理過程,直到序列號等于N,所有分割塊的獨立驗證代碼文件都生 成了。
[0043] 優選地,所述的數據傳輸模塊,用于把分割塊的總數N傳遞到接收端;
[0044] 選取初始序列號i= 1 ;
[0045]將分割塊&的序列號i、數據Xi和獨立驗證代碼文件C^專輸給接收端;
[0046] 序列號i加1;
[0047] 將分割塊B1+1的序列號i+Ι、數據X1+1和獨立驗證代碼文件C1+1傳輸給接收端;
[0048] 重復執行上述處理過程,直到序列號等于N,所有分割塊的序列號、數據和獨立驗 證代碼文件都傳輸給接收端。
[0049] 優選地,所述的系統還包括:接收端,所述接收端包括:
[0050] 數據接收模塊,用于接收所述發送端傳輸過來的分割塊的總數N;接收到所述發 送端發送過來的分割塊&的序列號i、數據Xi和獨立驗證代碼文件C1;
[0051] 數據驗證模塊,用于采用和所述發送端相同的數字簽名形式的算法V生成獨立驗 證代碼文件!^=V(Xyi),將所述TQ和所述C1進行比較,如果比較結果為一致,則確定所 述分割塊&的數據Xi有效;
[0052]如果比較結果為不一致,則確定所述分割塊&的數據Xi無效,通知所述發送端重 新發送分割塊&的序列號i、數據Xi和獨立驗證代碼文件C1;之后,重新對分割塊Bi的數 據&進行驗證,一直到確定所述分割塊Bi的數據Xi有效;
[0053] 數據合并模塊,用于在確定所有分割塊的數據有效后,按照序列號i從1到N的順 序,將各個分割塊的數據進行合并,得到發送端發送的文件F;
[0054]F=Χ^..+XJ…Xn !+Xn。
[0055]
[0056] 由上述本發明的實施例提供的技術方案可以看出,本發明實施例通過在發送端對 文件進行分割,采用數字簽名形式的算法生成每個分割塊的獨立驗證代碼文件,發送端將 每個分割塊的數據、序列號和獨立驗證代碼文件傳輸給接收端,接收端根據獨立驗證代碼 文件進行驗收與拼接,進而達到可以支持任何大小的文件進行異步傳輸,并保證傳輸文件 的完整、準確、無損與安全,實現了高效率地通過網絡進行文件的異地傳輸。
[0057]本發明附加的方面和優點將在下面的描述中部分給出,這些將從下面的描述中變 得明顯,或通過本發明的實踐了解到。
【附圖說明】
[0058] 為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用 的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本 領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他 的附圖。
[0059] 圖1為本發明實施例一提供的一種基于網絡的不限長度的文件傳輸方法的處理 流程圖;
[0060] 圖2為本發明實施例二提供的一種基于網絡的不限長度的文件傳輸系統的具體 實現結構圖,圖中,發送端1和接收端2,文件分割模塊11,驗證文件生成模塊12,數據傳輸 模塊13,數據接收模塊21,數據驗證模塊22,數據合并模塊23。
【具體實施方式】
[0061] 下面詳細描述本發明的實施方式,所述實施方式的示例在附圖中示出,其中自