[發明專利]一種基于鍵值庫的文件與結構化數據統一存儲方法有效
| 申請號: | 201110272333.6 | 申請日: | 2011-09-14 |
| 公開(公告)號: | CN102298641A | 公開(公告)日: | 2011-12-28 |
| 發明(設計)人: | 王建民;朱妤晴;李旭嘉;楊義繁;丁貴廣 | 申請(專利權)人: | 清華大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京清亦華知識產權代理事務所(普通合伙) 11201 | 代理人: | 羅文群 |
| 地址: | 100084*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 鍵值 文件 結構 數據 統一 存儲 方法 | ||
技術領域
本發明涉及一種基于鍵值庫的文件與結構化數據統一存儲方法,屬于計算機數據管理技術領域。
背景技術
鍵值庫是針對關系數據庫而產生的一種新型數據管理系統。關系數據庫早在多年前就已經成為網站不可或缺的后臺數據持久化系統。然而,隨著Web?2.0的產生,搭建網站變得簡易,許多企業實體都搭建起了網站。然而,與Web?2.0伴隨而來的是更多的用戶交互,以及更多的UGC(User?Generated?Content,用戶生成內容),這使得網站需要處理的請求和數據倍增。鍵值庫主要是針對關系數據庫要解決其可擴展性、彈性和容錯性這些方面的問題,同時要保證的易于部署和管理。網站服務容量的非平穩決定了后臺存儲系統必須具備可擴展性和彈性的特點。可擴展性指的是,系統可以在更高的服務容量需求下,進行橫向擴容,且擴容的方面既包括存儲能力,也包括計算能力,總的評價就是服務能力。彈性指的是,系統既可以進行擴容,也可以在低服務容量需求下進行縮容,且這種擴容、縮容的變化需在系統運行過程中實現。容錯性是由系統所部署的條件所決定的,由于這些系統一般要求部署在由網絡聯接的低端PC機上,PC機極容易失效宕機,網絡也會出現分割的情況,因此,要求系統具有容錯性,能處理節點失效和網絡分割的情況。網絡應用的一個重要需求就是保證系統隨時可用,容錯性是系統可用的重要保證。除鍵值庫外,可同樣提供高可擴展性、彈性和容錯性的存儲系統還有云文件系統,如谷歌文件系統GFS及其開源項目Hadoop。
鍵值庫和云文件系統分別支持不同的數據類型,前者支持小數據量的列數據單元,而后者則支持大數據量的文件數據單元。然而,現實中對于數據的管理,尤其是非結構化數據的管理,不僅需要存儲海量結構化小單元的元數據,也需要存儲海量大單元的非結構化源數據。目前對于結構化和非結構化數據的存儲僅能通過使用兩套甚至更多的存儲系統的實現,從而使用得構造出來的系統非常復雜。為簡化數據存儲的使用,需要對結構化小單元數據與非結構化大單元數據進行統一存取,然而這樣的系統技術并不存在。擅長于存儲大單元數據的云文件系統在存儲小單元數據時存取性能較低,更無法靈活支持小單元數據的各種訪問操作,存儲小單元數據的鍵值庫則無法直接存儲大單元數據,且當單元數據較大時容易性能下降。
鍵值庫的各種數據模式中以谷歌寬表(BigTable)和卡珊多拉(Cassandra)的數據模式最為著名。此模式采用了表格、列簇、列這三級的標識來實現存儲。表格和列簇類似于關系數據庫中模式的表和列,一經定義不可改動,盡管列簇的實質與關系表的列有大的差別。列簇并不存儲原子的屬性和值,列簇中的列名及列值(鍵值對)才是原子的。列簇下可以存儲任意多的鍵值對。行由類似于主鍵作用的行鍵來唯一標識,同一表內的行鍵是唯一的。
發明內容
本發明的目的是提出一種基于鍵值庫的文件及結構化數據統一存儲方法,以數據塊的方式支持對大小不一的文件及結構化數據進行存儲,并提供統一對文件及結構化數據進行高效訪問的存儲接口,滿足用戶存儲海量數據時的多樣化需求。
本發明提出的基于鍵值庫的文件及結構化數據統一存儲方法,包括以下步驟:
(1)用戶初始化鍵值庫,鍵值庫中具有表格、列簇和列三種單元的結構化存儲模式,其中,表格包含多個列簇,每個列簇包含一個或多個列,數據按行存入表格中,每行數據在同一表格中用行鍵識別,數據存儲在列中,一行列數據存儲在一個或多個列簇中;
(2)建成對文件與結構化數據統一進行高效訪問的存儲接口模塊,在鍵值庫中為文件建立元數據表格,在元數據表格中存儲文件的屬性數據,所述的元數據表格包含元數據和內容數據兩個列簇,分別用以表示文件或文件所在的文件夾的屬性數據和文件的內容數據;
(3)存儲接口模塊通過將文件拆分成多個數據塊存儲在鍵值庫中,使用一行元數據和多行內容數據存儲一個文件,存儲形式如下:文件在所在文件系統中的路徑所形成的行鍵,與該行鍵相對應的行數據存儲在元數據列簇下,該行數據為文件的屬性數據,該屬性數據包括一列文件名、一列文件所在的父文件夾路徑和一列文件內容數據的第一個數據塊的行鍵;文件內容數據被切分成數據塊后存儲在內容數據列簇中,每個數據塊為一行,數據塊的行鍵為即時生成的通用唯一識別碼(UUID),所述的內容數據列簇包括一列下一個數據塊的行鍵、一列本數據塊的內容,若該數據塊為最后一個數據塊,則將下一個數據塊行鍵列的內容記為“文件結尾”;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學,未經清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110272333.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于確保交易安全的方法及其相應的設備和計算機程序
- 下一篇:防觸電的電熱水器





