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