專利名稱:一種針對海量數據的分布式數據存儲方法
技術領域:
本發明涉及一種數據存儲的方法。
背景技術:
隨著信息化的深入開展,各行各業的業務系統所產生的數據越來越多,傳統的集中式存儲方案顯得越來越力不從心了。集中式存儲是指為待存儲的數據制定一個特定的存儲區域,將所有都存儲在該區域中。上述集中式存儲方案的主要缺點是對現有計算機系統的利用率低、成本高、存在性能瓶頸、存在單點故障等。
發明內容
本發明的目的是提供一種能最大限度利用現有計算機資源且成本較低、不易發生單點故障的數據存儲方法。為了達到上述目的,本發明的技術方案是提供了一種針對海量數據的分布式數據存儲方法,其特征在于,步驟為
步驟1、查找并得到某一計算機系統的所有存儲區域的起始物理地址、端口信息以及存儲區域的,為每一個存儲區域分配唯一的存儲區域標識符,根據上述信息建立存儲區域映射表;
步驟2、建立元數據目錄系統,為元數據目錄系統建立元數據目錄表,該表包括主關鍵字、元數據內容及數據的統一資源標識符(以下簡稱為URI),將計算機系統內每個存儲區域內現有的數據通過元數據目錄系統注冊到元數據目錄表內;
步驟3、存儲數據時,用戶輸入需要存儲的具體數據內容及希望使用的存儲區域的存儲區域標識符,計算機系統將數據內容存入該存儲區域后,產生一個唯一定位該數據的URI, 將生成的URI與用戶輸入的具體數據內容所對應的元數據內容合并后通過元數據目錄系統注冊到元數據目錄表中;
查詢數據時,元數據目錄系統通過用戶提供的查詢字找到符合要求的元數據內容及該元數據內容對應的URI,用戶根據該URI找到相應的具體數據內容。本發明采用一種以元數據管理為核心的分布式存儲方案,能夠為許多業務領域提供一種有效的、低成本的存儲解決方案。
具體實施例方式以下結合實施例來具體說明本發明。本發明提供了一種針對海量數據的分布式數據存儲方法,步驟為
步驟1、構建存儲代理系統,存儲代理系統的主要任務是建立和維護一張存儲區域映射表,該表包括以下內容
存儲區域標識符該標識符是該存儲代理系統中的唯一標識符,每一個存儲區域唯一對應一個存儲區域標識符。
存儲區域地址存儲區域的物理地址。存儲區域端口 存儲區域的端口信息。存儲區域類型存儲區域的類型,如 sqlserver、oracle、Berkley DB、Cassandra寸寸。在系統初始化的時候,存儲代理系統查找并得到某一計算機系統的所有存儲區域的起始物理地址、端口信息以及存儲區域的,為每一個存儲區域分配唯一的存儲區域標識符,依據上述信息建立存儲區域映射表;
存儲代理系統有兩個對外接口
數據提交接口 該接口接受2個參數,一個是存儲區域標識符,一個是具體的數據內容。該接口負責將用戶提交的數據存儲到指定存儲區域中。提交成功后,產生一個唯一定位該數據的URI,然后該接口會調用下面步驟中提到的元數據目錄系統的注冊接口將該URI 信息與該數據元數據信息合并,然后進行注冊。URI——即通用資源標識符,是語義和語法由具體協議規定的類URL字符串的規范文法。數據提取接口 該接口接收1個參數,該參數是一個URI信息,它準確地定位了該數據在整個分布式存儲區域中的位置。該接口負責按照用戶提供URI信息到具體的存儲區域中提取數據并返回給用戶。步驟2、建立元數據目錄系統,元數據目錄系統是一個輕量級的系統,為了使系統具有更強的適應性,本發明采用XML DB技術來存儲元數據信息。這樣,當業務需求發生變化時,譬如用戶關注的元數據內容發生改變時,目錄系統可以自動適應,而無需修改表結構。但是數據的URI信息沒有必要存放在XML字段,仍然是存放在傳統的關系字段中。目前Oralce和DB2的XML DB技術日臻成熟,能夠支持關系與XML混合的表結構。因此,本發明為目錄系統建立如下表結構
字段名稱字段類型字段說明IDStringType主鍵MetadataXMLType元數據內容URIStringType數據的統一資源標識符
在初始化時,將計算機系統內每個存儲區域內現有的數據通過元數據目錄系統注冊到元數據目錄表內;
元數據目錄系統提供2個接口
注冊接口該接口負責存儲代理系統提交的元數據和URI信息注冊到元數據目錄中。查詢接口 該接口依據用戶提供的元數據內容查詢符合要求的元數據信息和URI 信息,并返回給用戶;
步驟3、存儲數據時,用戶輸入需要存儲的具體數據內容及希望使用的存儲區域的存儲區域標識符,計算機系統將數據內容存入該存儲區域后,產生一個唯一定位該數據的URI 信息,將生成的URI信息與用戶輸入的具體數據內容所對應的元數據內容合并后通過元數據目錄系統注冊到元數據目錄表中;
查詢數據時,元數據目錄系統通過用戶提供的查詢字找到符合要求的元數據內容及該元數據內容對應的URI,用戶根據該URI找到相應的具體數據內容。本發明提供的方法最大限度的利用系統中已有的軟硬件設施,將數據內容的分存儲在各個系統的存儲區域。這個存儲區域可能是關系數據庫也可能是BerkleyDB等非關系數據庫,也可能只是文件系統。我們在各類存儲區域之上研制一套存儲代理系統,通過抽象,消除各種存儲類型的差異,改存儲代理系統對外提供統一的存儲和提取接口。然后,我們在通過提取各類數據的元數據信息,將其注冊在一個輕量級存儲目錄中。該元數據信息不但包括其所對應數據的概要信息,也還包含該數據的存儲位置信息。當我們需要調取數據時,將以該存儲位置信息為參數調用存儲代理系統,存儲代理系統即可返回該數據內容。
權利要求
1. 一種針對海量數據的分布式數據存儲方法,其特征在于,步驟為 步驟1、查找并得到某一計算機系統的所有存儲區域的起始物理地址、端口信息以及存儲區域的,為每一個存儲區域分配唯一的存儲區域標識符,根據上述信息建立存儲區域映射表;步驟2、建立元數據目錄系統,為元數據目錄系統建立元數據目錄表,該表包括主關鍵字、元數據內容及數據的統一資源標識符,將計算機系統內每個存儲區域內現有的數據通過元數據目錄系統注冊到元數據目錄表內;步驟3、存儲數據時,用戶輸入需要存儲的具體數據內容及希望使用的存儲區域的存儲區域標識符,計算機系統將數據內容存入該存儲區域后,產生一個唯一定位該數據的統一資源標識符,將生成的統一資源標識符與用戶輸入的具體數據內容所對應的元數據內容合并后通過元數據目錄系統注冊到元數據目錄表中;查詢數據時,元數據目錄系統通過用戶提供的查詢字找到符合要求的元數據內容及該元數據內容對應的統一資源標識符,用戶根據該統一資源標識符找到相應的具體數據內容。
全文摘要
本發明提供了一種針對海量數據的分布式數據存儲方法,其特征在于,步驟為分別建立存儲代理系統及元數據目錄系統,存儲數據時,用戶輸入需要存儲的具體數據內容及希望使用的存儲區域的存儲區域標識符,計算機系統將數據內容存入該存儲區域后,產生一個唯一定位該數據的URI并注冊到元數據目錄表中;查詢數據時,元數據目錄系統通過用戶提供的查詢字找到符合要求的元數據內容及該元數據內容對應的URI,用戶根據該URI找到相應的具體數據內容。本發明采用一種以元數據管理為核心的分布式存儲方案,能夠為許多業務領域提供一種有效的、低成本的存儲解決方案。
文檔編號G06F17/30GK102314480SQ20111018664
公開日2012年1月11日 申請日期2011年7月5日 優先權日2011年7月5日
發明者浮光紀, 肖筱華, 陳誠, 高尚 申請人:萬達信息股份有限公司