中文字幕无码日韩视频无码三区

一種基于多網盤的文件加密存儲系統及方法_3

文檔序號:9929764閱讀:來源:國知局
件塊”詳細信息包括該“文件±夬”的編號、“文件塊”所屬文件編號、“文件塊”的“網盤路徑”、“本地路徑”和“文件塊”密鑰;“文件塊”密鑰包括加密算法和密鑰值。
[0098]例如:如圖4所示,文件I包括10個“文件塊”,每個“文件塊”長度為IMB;第O塊“文件±夬”的基本信息包括:“文件塊”的編號(O)、“文件塊”所屬文件編號(I)、“文件塊”的文件偏移量(O)和“文件塊”長度(IMB);第I塊“文件塊”的基本信息包括:“文件塊”的編號(1)、“文件塊”所屬文件編號(I)、“文件塊”的文件偏移量(1MB)、“文件塊”長度(IMB)、“文件塊”狀態(未下載);第O塊“文件塊”的詳細信息包括:“文件塊”的編號(O)、“文件塊”所屬文件編號(I)、“文件塊”的“網盤路徑”(新浪網盤,/data/file_l_0)、“本地路徑” (/1caldata/Ifi le_l_0)和“文件塊”密鑰(算法AES,密鑰(123pwd))。
[0099]“文件訪問接口”模塊110直接調用“文件塊索引”模塊150來完成將調用者的文件訪問操作所要訪問文件區域轉化為“文件塊”編號序列;“文件訪問接口”模塊110直接調用“文件塊分解與合成”模塊120來完成指定“文件塊”的讀操作或者寫操作;“文件塊分解與合成”模塊120直接調用“文件塊索引”模塊150來完成查詢指定“文件塊”的“文件塊”文件偏移量和“文件塊”長度;“文件塊分解與合成”模塊120直接調用“文件塊加密解密”模塊160來完成“文件塊”的加密和解密;“文件塊分解與合成”模塊120直接調用“文件塊發送接收”模塊130來完成“文件塊”數據在本地存儲與網盤之間的上傳下載,而“文件塊發送接收”模塊130直接調用“網盤訪問”模塊140來完成“文件塊”數據的網絡傳輸;上述模塊所涉及的整個系統以及文件元的信息都存儲在“本地存儲介質”模塊170,已下載的“文件塊”以及被操作處理的“文件塊”可存儲在“本地存儲介質”模塊170中的文件塊本地存儲池174,上述模塊操作處理中產生的中間數據也可存儲在“本地存儲介質”模塊170中的臨時存儲空間175。
[0100]所述的文件,文件的數據內容以“文件塊”為最小單位存儲在多個“網盤”裝置300中,文件的元信息即“文件”概要信息和“文件塊”概要信息存儲在“文件加密”裝置;同一個文件的不同“文件塊”既可以存儲在同一個“網盤”裝置中,也可以存儲在不同的“網盤”裝置中;“文件塊”長度既可以是固定長度,也可以是變長長度,“文件塊”長度由“文件塊”長度策略決定;一個文件所包含的所有“文件塊”長度由該文件的“文件塊”概要信息給出;“文件±夬”長度策略由包含在系統配置信息和“文件”概要信息的“文件塊”長度策略依次決定,“文件塊”長度策略包括全局固定長度、全局變長長度、文件固定長度、文件變長長度和自定義長度策略。
[0101]例如:圖4中文件I的“文件塊”劃分為固定長度;圖5中文件2的“文件塊”劃分為變長長度。
[0102]所述的“文件塊”長度,每個“文件塊”長度的具體值由“網盤存儲分配算法”根據多級“文件塊”長度策略來產生;針對全局變長長度策略和文件變長長度策略,“網盤存儲分配算法”按照文件的邏輯內容結構來進行“文件塊”的劃分;文件的長度、每個“文件塊”的文件偏移量以及“文件塊”長度最終更新到對應的“文件”概要信息和“文件塊”概要信息中。
[0103]例如:圖5中文件2的“文件塊”劃分為變長長度,劃分算法包括基于內容的CDC算法、滑動塊SB算法等。
[0104]所述的“網盤存儲分配算法”,“網盤存儲分配算法”主要負責根據“文件塊”長度策略和“網盤信息”列表針對指定文件給出一整套“網盤文件塊存儲規劃”,包括“文件塊”劃分方案、每個“文件塊”的密鑰信息、以及每個“文件塊”數據的“網盤路徑”;“文件塊”劃分方案包括“文件塊”的文件偏移量和“文件塊”長度。
[0105]所述“文件塊”的密鑰信息,“文件塊”的密鑰信息既可以是對稱密鑰,也可以是非對稱密鑰;同一個文件的不同“文件塊”的密鑰信息既可以是相同的,也可以是不同的;“文件塊”的密鑰信息持久存儲在“文件塊”概要信息中。
[0106]例如:對稱加密算法:DES、AES、RC5等;非對稱加密算法:RSA、ECC、D-H等。
[0107]二、本發明所提供的基于多網盤的文件加密存儲系統的讀方法,所述方法包括具體步驟如下:
[0108]第1、“文件訪問接口”模塊獲取調用者“讀操作請求”文件的所要讀操作區域,即讀操作的文件偏移量和長度;
[0109]例如:如圖4所示實例,讀取文件I的具體讀操作read(int fd,void*buf, size_tcount)中count為1048577字節(S卩1MB+1字節),當前偏移量為O的實例:那么則文件偏移量為O和長度為1048577字節;
[0110]第2、“文件訪問接口”模塊獲取系統配置信息;
[0111]例如:系統配置信息庫實例:系統總容量(10TB)、“文件塊”長度策略(全局固定長度)、默認“文件塊”長度(IMB)、“網盤信息”列表(網盤信息I,網盤信息2,...,網盤信息K);網盤信息實例I (百度網盤,用戶名I,訪問口令I, http: //pan.baidu.com, / data, I TB)。
[0112]第3、“文件訪問接口”模塊調用“文件塊索引”模塊將第I步中讀操作區域轉化為所要讀的“文件塊”編號序列,具體步驟如下:
[0113]第3.1、“文件塊索引”模塊獲取第I步中文件的“文件”概要信息;
[0114]例如:如圖4所示,文件I的概要信息:文件名(文件I)、文件編號(I )、文件長度(10MB)、“文件塊”長度策略(文件固定長度)、默認“文件塊”長度(1MB)、“文件塊”數目(10)。
[0115]第3.2、“文件塊索引”模塊獲取第I步中文件的“文件塊”基本信息列表;
[0116]例如:如圖4所示,文件I包括10個“文件塊”,每個“文件塊”長度為1MB;第O塊“文件±夬”的基本信息包括:“文件塊”的編號(O)、“文件塊”所屬文件編號(I)、“文件塊”的文件偏移量(0)“文件塊”長度(1MB)、“文件塊”狀態(未下載);第I塊“文件塊”的基本信息包括:“文件塊”的編號(I)、“文件塊”所屬文件編號(I)、“文件塊”的文件偏移量(IMBWP“文件塊”長度(IMB);第i塊“文件塊”的基本信息等等。
[0117]第3.3、“文件塊索引”模塊根據第I步中讀操作區域以及第3.2步中“文件塊”基本信息列表,計算出第I步中的讀操作區域所對應的“文件塊”編號序列;
[0118]例如:第I步中的讀操作區域所對應的“文件塊”編號序列為:(0,1)即第O塊和第I塊,因為每個“文件塊”長度為IMB,共要讀1MB+1B個字節。
[0119]第4、“文件塊索引”模塊獲取第3.3步中“文件塊”編號序列所對應的“文件塊”詳細信息列表;
[0120]例如:如圖4所示,要讀取文件I中的“文件塊”(0,1即第O塊和第I塊)的詳細信息列表;
[0121]第O塊“文件塊”的詳細信息包括:“文件塊”的編號(O)、“文件塊”所屬文件編號(I)、“文件塊”的“網盤路徑”(新浪網盤,/data/file_l_0)、“本地路徑” (/1caldata/If i Ie j_0)和“文件塊”密鑰(算法AES,密鑰(123pwd));第I塊“文件塊”的詳細信息限于篇幅略去。
[0122]第5、“文件訪問接口”模塊調用“文件塊分解與合成”模塊,“文件塊分解與合成”模塊針對第4步中的“文件塊”詳細信息列表,“文件塊分解與合成”模塊進一步調用“文件塊發送接收”模塊下載所對應的已“加密文件數據塊”序列;若全部下載成功則執行第6步,否則執行第7步;
[0123]例如:“文件塊發送接收”模塊從“網盤路徑”(新浪網盤,/data/file j_0)下載文件I的第O塊“文件塊”到本地,此時第O塊“文件塊”為已加密的“文件塊”即“加密文件數據±夬”;并更改“文件塊”狀態。
[0124]第6、“加密文件數據塊”序列下載全部成功,執行具體步驟如下:
[0125]第6.1、針對第5步中已下載“加密文件數據塊”序列,“文件塊分解與合成”模塊根據第4步中每個“文件塊”密鑰并調用“文件塊加密解密”模塊對所述已下載“加密文件數據±夬”進行解密,生成對應的“文件數據塊”;
[0126]例如:對已下載的第O塊“加密文件數據塊”,根據該塊的詳細信息,采用AES算法并用密鑰(123pwd)進行解密生成第O塊“文件數據塊”即已解密的第O塊“文件塊”;同理解密第I塊“加密文件數據塊”;并更改“文件塊”狀態。
[0127]第6.2、“文件訪問接口”模塊根據第I步中讀操作區域從第6.1步中已解密“文件數據塊”序列中抽取出所要讀操作區域的內容到調用者指定的空間中;
[0128]例如:本案例中從偏移量為O的位置要讀取1048577字節(S卩1MB+1字節),因此要讀取已解密的第O塊“文件塊”全部數據和已解密的第I塊“文件塊”的第I個字節,將上述1048577字節復制到調用者指定的空間buf中。
[0129]第6.3、設置讀操作結果為成功;并執行第8步;
[0130]第7、“加密文件數據塊”序列下載失敗,執行具體步驟如下:
[0131 ]第7.1、在本地存儲中刪除所有第5步中已下載的“加密文件數據塊”;
[0132]第7.2、設置讀操作結果為失敗;并執行第8步;
[0133]第8、返回讀操作結果,程序執行結束。
[0134]三、本發明所提供的基于多網盤的文件加密存儲系統的寫方法,所述方法包括具體步驟如下:
[0135]第1、“文件訪問接口”模塊獲取調用者“寫操作請求”文件的所要寫操作區域,即寫操作的文件偏移量和長度;
[0136]例如:如圖4所示實例,寫文件I的具體寫操作write (int fd, void*buf, size_tnbyte)中nbyte為1048577字節(S卩1MB+1字節),當前偏移量為O的實例:那么則文件偏移量為O和長度為1048577字節;
[0137]第2、“文件訪問接口”模塊獲取系統配置信息庫;
[0138]例如:系統配置信息庫實例:系統總容量(10TB)、“文件塊”長度策略(全局固定長度)、默認“文件塊”長度(IMB)、“網盤信息”列表(網盤信息I,網盤信息2,...,網盤信息K);網盤信息實例I (百度網盤,用戶名I,訪問口令I, http: //pan.baidu.com, / data, I TB)。
[0139]第3、“文件訪問接口”模塊調用“文件塊索引”模塊將第I步中的寫操作區域轉化為所要寫的“文件塊”編
當前第3頁1 2 3 4 5 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1