一種提高hdfs文件傳輸安全性和讀取效率的方法
2023-06-05 17:48:31 1
一種提高hdfs文件傳輸安全性和讀取效率的方法
【專利摘要】本發明提出一種提高HDFS文件傳輸安全性和讀取效率的方法。本發明首先通過名稱節點為將要存儲的文件選擇的合適的塊進行存放,在塊存儲於數據節點後,對塊文件及其備份進行多次隨機線性網絡編碼。讀取文件時,同時從多個塊文件中讀出字符,並進行解碼,還原出原始文件。在整個文件傳輸和存取過程中,編碼部分由名稱節點負責,解碼部分在客戶端完成,信道中不會出現未加密的原始數據,同時,由於從多個節點同時獲取數據,提高了文件的讀取效率。
【專利說明】一種提高HDFS文件傳輸安全性和讀取效率的方法
【技術領域】
[0001]本發明基於HDFS,提出了一種增強文件傳輸過程中的安全性,以及提高文件讀取效率的方法。
【背景技術】
[0002]由Apache 基金會所開發的 HDFS (Hadoop Distributed File System)在面對海量文件存儲問題的處理時,相較於一般的存儲方式具有明顯優勢。然而在雲計算越來越普及的今天,用戶將自己的私人數據大量存放在雲端,對於絕大部分的用戶而言,他們考慮的不再僅僅是需要這些數據時是否可以方便快捷的得到,與之相對應的,他們將更加關注於自己數據的存放是否安全。目前針對數據加密的幾種方法中,都是以犧牲系統存讀取文件效率為代價,並沒有同時加強文件安全性和讀取效率的有效方法。舉例說明,Facebook作為現今全球最大的社交網站,每天將處理27億次Like按鈕的點擊,有3億張圖片被上傳,吸收逾500TB的新數據。這些數據中,有可能是用戶的留言,或者心情狀態,也可能是一張照片或者一段視頻,其中很多都是用戶不願公開或者半公開的內容,這就要求公司在存儲這些數據時既要保證不洩露用戶的個人隱私,又要保證用戶在任意時刻想要查找它們時可以很快得到,這無疑是一項巨大的挑戰。本文在HDFS模型的基礎上,提出了一種採用網絡編碼和多節點讀取技術以增強文件傳輸過程中的安全性和提高文件讀取效率的方法,即利用隨機線性網絡編碼對存儲文件進行加密,在讀取文件時,同時從多個加密後的文件塊中讀取字符進行解碼。
【發明內容】
[0003]針對現有技術中存在的問題,本發明在HDFS架構的基礎上,採用隨機線性網絡編碼和多節點讀取的方法,在雲計算平臺上建立了一套安全性好、解碼成本低、讀取效率高的分布式文件存儲系統。
[0004]本發明的發明目的是:在提高文件讀取效率的基礎上,能夠保證用戶的私人數據不在文件傳輸或者存儲的過程中被非法獲取。主要應用於雲存儲、網盤等應用。
[0005]為了實現上述目的,本發明的技術方案為:一種提高HDFS文件傳輸安全性和讀取效率的方法,本方法及系統主要由四個主要步驟組成。
[0006]第一個步驟為文件存儲階段。在這一階段中,名稱節點(Namenode)根據客戶端發出的儲存文件請求,選取合適的塊(block)儲存文件,並建立從文件到塊和從塊到文件的映射關係,這些映射關係將作為元數據(Metadata)的一部分被存儲在名稱節點中,以方便名稱節點可以快速響應用戶對於某個文件的查找。
[0007]第二個步驟為編碼塊文件階段。在這一階段中,名稱節點對存儲在塊中的文件進行隨機線性網絡編碼,並將編碼後的文件存儲在數據節點(Datanode)中。隨機線性網絡編碼是一種簡單有效的網絡編碼方式,常用於對網絡數據的加密算法中,具有編碼成本低、解碼成功率高、可容錯性強等特點。隨機線性網絡編碼是一種文件加密方式,非用戶本人即使使用非正常手段得到了存儲在數據節點中的塊文件,在不知道編碼方式,無法得到編碼係數的情況下,是無法通過解碼的方法還原出原始文件的,由此保證了文件存儲的安全性。名稱節點首先選取編碼係數n(同時可以得到η個二進位表示的編碼因子&1、a2、a^an),並選擇最小編碼單元。由編碼長度決定每次從塊文件中讀取的字符串長度。假設η行待編碼的字符串為Vbylvbn,則該編碼單元中,第一行至最後一行的編碼結果可以表示為:
【權利要求】
1.一種提高HDFS文件傳輸安全性和讀取效率的方法,其特徵在於,包含以下步驟:步驟一、在存儲操作之前,名稱節點對將要存儲的文件進行篩選,保留單個文件大小小於62MB的文件作為有效文件,超過62MB的文件按照一般的文件方式進行存儲;名稱節點為每個有效文件選取合適的塊儲存,並建立從文件到塊和從塊到文件的映射關係,這些映射關係將作為元數據的一部分被存儲在名稱節點中; 步驟二、對存儲在塊中的文件進行隨機線性網絡編碼,將編碼後的文件存儲在數據節佔中.1 ? 步驟三、名稱節點對已經過編碼的塊文件再次進行隨機線性網絡編碼,編碼結果作為塊文件的第一個備份保存在數據節點中,位置為原始的HDFS系統中塊文件的第一個備份的位置;名稱節點對已經過二次編碼的塊文件進行第三次隨機線性網絡編碼,編碼結果作為塊文件的第二個備份保存在數據節點中,位置為原始的HDFS系統中塊文件的第二個備份的位置;如果增加備份文件的數量,由上述方法類推可得; 步驟四、當收到來自客戶端讀取文件的請求後,名稱節點根據元數據中塊到文件的映射關係找出客戶端需要的文件和備份文件,客戶端每次同時從多個塊文件中讀取定長的字符放入解碼矩陣中,解出原始文件;由於隨機線性網絡編碼解碼方法的特殊性,從不同的備份中同時讀取文件時,只 要保證讀取的文件是由同一個塊文件經的編碼得到(編碼次數可以不同),並在解碼時,對放入的字符做行列變換,每次捨去線性相關部分,總會得到一個滿秩矩陣,該矩陣中的內容即為原始文件。
【文檔編號】H04L29/08GK103986718SQ201410224697
【公開日】2014年8月13日 申請日期:2014年5月23日 優先權日:2014年5月23日
【發明者】都思丹, 馬雁楠, 於耀, 周餘 申請人:南京大學