沈飛飛,郭忠文,胡克勇
(中國海洋大學信息科學與工程學院, 山東 青島 266100)
?
一種海洋環(huán)境數(shù)據(jù)存儲模型設計與應用?
沈飛飛,郭忠文,胡克勇
(中國海洋大學信息科學與工程學院, 山東 青島 266100)
海洋環(huán)境數(shù)據(jù)種類繁多且數(shù)量巨大,多數(shù)以文檔數(shù)據(jù)集形式存在,這使得海洋環(huán)境大規(guī)模數(shù)據(jù)的存儲和訪問變得困難。針對當前海洋環(huán)境大數(shù)據(jù)存儲方法不足和編程訪問的局限性,提出了一種面向應用編程的數(shù)據(jù)存儲訪問模型。該模型將文件數(shù)據(jù)模型結構信息映射到虛擬數(shù)據(jù)庫中,提供基于SQL語法的訪問接口,降低數(shù)據(jù)訪問復雜度,提高軟件編程效率。
海洋環(huán)境數(shù)據(jù);數(shù)據(jù)存儲;訪問接口;SQL
隨著科學技術的進步和人類對海洋認識的加深,海洋觀測已然成為進行海洋科學研究重要的方式,其在海洋氣候研究、海洋生態(tài)預測、海洋災害預防等多方面都起到了重要作用[1]。目前,海洋觀測已經(jīng)形成從近岸到深海大洋關鍵海區(qū)的立體、連續(xù)、實時、多要素綜合集成觀測能力,其由不同類型感知平臺組成立體監(jiān)測體系,包括海洋數(shù)值模擬構成的研究分析平臺,獲取了大量海洋環(huán)境要素數(shù)據(jù)。典型應用如美國的整合海洋觀測系統(tǒng)(IOOS)和大洋觀測計劃(OOI)[2]等。這些數(shù)據(jù)來源于不同的國家和調查項目,資料內容多樣,涉及學科多,資料年限跨度較大,多數(shù)以文檔形式存在,使得其數(shù)據(jù)格式異構,進行有效數(shù)據(jù)存儲和檢索困難。
目前,對文檔形式海洋環(huán)境數(shù)據(jù)的存儲組織方法包括2個方向。一個是采用傳統(tǒng)的關系數(shù)據(jù)庫模型,抽取數(shù)據(jù)實體和實體間關系,建立相應的數(shù)據(jù)存儲表,將海洋數(shù)據(jù)分類加載到相應的數(shù)據(jù)庫系統(tǒng)[3-6];一個是采用基于文件的通用數(shù)據(jù)模型(Common Data Model)[7],建立相應的數(shù)據(jù)管理服務器,提供一致的數(shù)據(jù)訪問協(xié)議,便于不同的客戶端進行訪問,例如OPeNDAP(Open Data Access Protocal)[8]。前者需要將大規(guī)模海洋科學數(shù)據(jù)集分類加載至數(shù)據(jù)庫系統(tǒng)中,這將產生巨大的時間、空間資源消耗,降低了存儲效率,同時會造成冗余數(shù)據(jù)列,缺乏對海量數(shù)據(jù)的快速訪問能力,不能有效利用現(xiàn)有并行策略進行數(shù)據(jù)處理,導致信息系統(tǒng)在大數(shù)據(jù)量處理上性能不高[9-10]。文獻[11]分析了對象關系數(shù)據(jù)庫模型和通用數(shù)據(jù)模型對海洋環(huán)境數(shù)據(jù)的存儲和查詢效率,在進行大規(guī)模數(shù)據(jù)存儲和查詢時性能低于后者。后者針對海洋環(huán)境數(shù)據(jù)的特點建立海洋環(huán)境科學數(shù)據(jù)模型,數(shù)據(jù)采集結果和數(shù)值模擬輸入輸出采用通用數(shù)據(jù)模型,對數(shù)據(jù)的集成存儲和管理可以采用統(tǒng)一的方式,被推薦為海洋數(shù)據(jù)格式標準[12]。以該模型為基礎,為本地系統(tǒng)透明的訪問遠程數(shù)據(jù)的客戶端服務器系統(tǒng)OPeNDAP被開發(fā),方便海洋科研人員通過不同的數(shù)據(jù)分析工具獲取數(shù)據(jù),例如Matlab、GrADS等[13-14]。OPeNDAP基于HTTP協(xié)議,通過向特定的URI發(fā)送請求獲取相應的文件數(shù)據(jù)集元數(shù)據(jù)、變量數(shù)據(jù)、屬性數(shù)據(jù)等。但這需要開發(fā)人員掌握相應的協(xié)議規(guī)范,解析相應的數(shù)據(jù)流,增加了軟件開發(fā)復雜度。
本文針對上述2種數(shù)據(jù)存儲模型的不足,結合其優(yōu)勢和海洋環(huán)境數(shù)據(jù)應用需求,提出了一種面向大規(guī)模文檔數(shù)據(jù)存儲訪問模型。該模型以通用數(shù)據(jù)模型為基礎,建立通用數(shù)據(jù)模型到關系數(shù)據(jù)模型的映射,將對關系數(shù)據(jù)的操作轉換為對文件的操作,允許以數(shù)據(jù)庫編程方式查詢數(shù)據(jù)文件內容,提高軟件編程效率。
本文提出的海洋環(huán)境大規(guī)模數(shù)據(jù)存儲訪問模型以海洋環(huán)境多維科學數(shù)據(jù)為存儲對象,建立通用數(shù)據(jù)模型數(shù)據(jù)集如NetCDF、HDF到關系數(shù)據(jù)模型的數(shù)據(jù)映射——結構映射,映射結果定義為規(guī)則模型(Regular Model),由一個虛擬關系數(shù)據(jù)庫(Virtual Relation Database)承載用來存儲文件數(shù)據(jù)集的結構,可以編寫直接的SQL查詢語句對文件數(shù)據(jù)集進行查詢,包括點數(shù)據(jù)、線數(shù)據(jù)、面數(shù)據(jù)、體數(shù)據(jù)等多種形式(見圖1)。
圖1 存儲模型框架Fig.1 Storage model framework
數(shù)據(jù)映射完成海洋環(huán)境科學數(shù)據(jù)集的聚集和存儲,不同格式的數(shù)據(jù)集與不同的映射適配器相關聯(lián),數(shù)據(jù)集結構信息通過相應的映射器被映射到虛擬關系數(shù)據(jù)庫中。數(shù)據(jù)引擎接收查詢請求,對請求進行解析驗證,結合虛擬關系數(shù)據(jù)庫中的規(guī)則模型,將命令映射成相應的操作函數(shù),對數(shù)據(jù)集文件進行操作返回相應數(shù)據(jù)。數(shù)據(jù)驅動提供類似于Sql server、Oracle、MySql的數(shù)據(jù)提供者(Data Provider),可以根據(jù)規(guī)則模型編寫查詢語句獲取相應的數(shù)據(jù)。
1.1 數(shù)據(jù)映射
海洋環(huán)境多維科學數(shù)據(jù)在數(shù)據(jù)庫中存儲會帶來大量冗余信息,例如時間、經(jīng)度、緯度、海拔信息,這在海洋數(shù)值模式數(shù)據(jù)中尤其嚴重,而通用數(shù)據(jù)模型則通過文件存儲結構固定方式避免了此類問題。數(shù)據(jù)映射是將通用數(shù)據(jù)模型數(shù)據(jù)存儲結構映射到虛擬關系模型中,并沒有將實際數(shù)據(jù)加載到數(shù)據(jù)表中,不存在數(shù)據(jù)冗余等問題。
本文主要實現(xiàn)了通用數(shù)據(jù)模型NetCDF數(shù)據(jù)結構到關系模型的映射,其他類型的數(shù)據(jù)模型如HDF和自定義格式可以通過增加相應的映射器實現(xiàn)關系映射。變量、維度、屬性、數(shù)據(jù)被映射為相應的規(guī)則模型,整個數(shù)據(jù)集元數(shù)據(jù)被映射為一個規(guī)則模型,下面對規(guī)則模型中各實體進行描述(見圖2)。
數(shù)據(jù)集實體描述數(shù)據(jù)的元數(shù)據(jù),包括數(shù)據(jù)集標識、存儲路徑、元數(shù)據(jù)版本、數(shù)據(jù)形式屬性。
變量信息實體描述數(shù)據(jù)集中的變量,包括變量標識、名字、依賴維集、數(shù)據(jù)集標識屬性。
維度信息實體描述數(shù)據(jù)集中所有維,包括維標識、名字、長度屬性。
圖2 規(guī)則模型Fig.2 Regular model
屬性信息實體描述數(shù)據(jù)集中所有變量屬性和全局屬性,包括屬性標識、名字、值類型、屬性值、變量標識屬性,當為全局屬性時變量標識前綴為Global。
數(shù)據(jù)信息實體描述數(shù)據(jù)集中所有變量的所有數(shù)據(jù)值,其被映射后包括的屬性有變量標識、維1、維2、……、維N、數(shù)據(jù)值。
為了對數(shù)據(jù)映射進行形式化描述,本文進行了如下定義。
一個S完整刻畫了一個NetCDF數(shù)據(jù)集,對S的操作可以無縫反應到對數(shù)據(jù)集操作,包括元數(shù)據(jù)的查詢和數(shù)據(jù)的查詢。
定義2 記S′={Si|i=1,2,3,…,N}表示多個相關的NetCDF數(shù)據(jù)集集合,它們具有相同的數(shù)據(jù)結構,既相同變量、維度、屬性,具有相同的空間緯度,不同的是在時間維度上的取值。
一個S′完整刻畫了一組來自于同一海洋觀測過程中的環(huán)境數(shù)據(jù),它們在物理上代表相同的觀測要素或者相同的數(shù)值模擬過程。定義3 記R(U)表示一個關系模型,其中U={Ci|i=1,2,3,…N}表示關系模型中數(shù)據(jù)列集合;Ci表示數(shù)據(jù)列;R(U)=R(C1,C2,C3,…,CN)。記DB=(R′(U),L)表示一個關系數(shù)據(jù)庫模型,其中R′(U)={Ri(U)|i=1,2,3,…,N}表示不同關系模型集合;L={
根據(jù)定義3,對圖3描述的關系模型進行形式化定義,數(shù)據(jù)集、變量信息、維度信息、屬性信息、數(shù)據(jù)信息分別如下:
Rds=DS(dsid,path,cf,type)Rvar=
V(vid,name,dims,type,dsid)
Rdim=D(did,name,length)
Ratt=A(aid,name,type,value,vid)
Rvalue=Value(vid,dim1,dim2,…,dimN,value)。
作為通用數(shù)據(jù)模型,NetCDF具有自我描述性,可以通過編寫自動化的程序抽取NetCDF數(shù)據(jù)集的結構信息(變量、維度、屬性)映射到關系數(shù)據(jù)庫中,這個操作過程可以表示為DB=f(S)。
對多數(shù)據(jù)集S′的結構數(shù)據(jù)進行提取的操作可以表示為:
為了實現(xiàn)上述結構信息提取,設計了數(shù)據(jù)映射算法(算法1),其接受輸入的數(shù)據(jù)集,遍歷提取數(shù)據(jù)集包含的變量、維度、屬性信息,根據(jù)提取信息創(chuàng)建相應的數(shù)據(jù)庫表,并將結構數(shù)據(jù)寫入到數(shù)據(jù)庫中。
算法1.根據(jù)輸入的數(shù)據(jù)集提取相應結構數(shù)據(jù)1:Input:S//一個NetCDF數(shù)據(jù)集2:Output:DB//關系數(shù)據(jù)模型3:Begin4: Createtable(Rds)//創(chuàng)建Rds5: record=Getmetadata(S)6: insertintoRds(record)7: Createtable(Rvar)//創(chuàng)建Rvar8: VinquireallvariablesfromS9: foreachvariableVi∈V10: record=getid,name,type,dsidofVi
11: DiinquirealldimensionsofVi12: dims=Compose(Di,',')//用','組合變量依賴的維度13: record=(id,name,dims,type,dsid)14: insertintoRvar(record)15: endforeach16: Createtable(Rdim)//創(chuàng)建Rdim17: D=inquirealldimensionsofS18: foreachdimensionDi∈D19: record=getid,name,lengthofDi20: insertintoRdim(record)21: endforeach22: Createtable(Ratt)//創(chuàng)建Ratt23: foreachvariableVi∈V24: AiinquireallattributeofVi25: foreachattributeAii∈Ai26: record=getid,name,type,valuevidofAii27: insertintoRatt(record)28: endforeach29: endforeach30 AginquireallattributeofS31: foreachattributeAi∈Ag32: record=getid,name,type,valuevidofAi33: insertintoRatt(record)34: endforeach35: Createtable(Rvalue)//創(chuàng)建Rvalue36: returnDB={Rds,Rvar,Rdim,Ratt,Rvalue}37: end
1.2 數(shù)據(jù)引擎
海洋環(huán)境大規(guī)模數(shù)據(jù)的存儲固然重要,良好的數(shù)據(jù)訪問接口也不可忽略,尤其大規(guī)模數(shù)據(jù)的分發(fā),對于領域內科學研究人員、數(shù)據(jù)用戶、管理決策者具有重要意義。
海洋環(huán)境科學數(shù)據(jù)無論以何種形式存在,其區(qū)別于業(yè)務數(shù)據(jù)的最大特點在于一次寫入,多次讀取,即采集數(shù)據(jù)或模式輸出數(shù)據(jù)除了質控需要對數(shù)據(jù)進行編輯外,基本無任何其他修改操作,絕大多數(shù)應用場景是被讀取用于進行統(tǒng)計分析、數(shù)據(jù)挖掘、可視化表達等。本文提出的數(shù)據(jù)存儲模型中數(shù)據(jù)信息虛擬表Rvalue(U)反映數(shù)據(jù)集中變量數(shù)據(jù)信息,所有對變量數(shù)據(jù)的訪問操作均反應在此關系模型上。相應于虛擬關系數(shù)據(jù)庫,存在一個虛擬數(shù)據(jù)庫引擎VDE(VirtualDatabaseEngine),該引擎負責解釋執(zhí)行所有對虛擬數(shù)據(jù)表的SQL操作(見圖3)。
圖3 虛擬數(shù)據(jù)庫引擎工作流程Fig.3 Workflow of VDE
SQL語法模型描述了虛擬關系數(shù)據(jù)庫的查詢規(guī)則,包括數(shù)據(jù)庫、數(shù)據(jù)表的創(chuàng)建,查詢、插入、更新刪除操作的定義,以及相應操作詞法、語法定義等,本文所設計的虛擬關系數(shù)據(jù)庫語法模型基于開源關系數(shù)據(jù)庫框架SharpHSQL[15];SQL解析參照SQL語法模型對請求的語句進行解析,進行規(guī)范化操作,保證語句的正確性和有效性;SQL命令執(zhí)行將相應的語句轉換為對數(shù)據(jù)集的相應操作,返回符合關系模型的數(shù)據(jù)記錄。
1.3 數(shù)據(jù)驅動
虛擬關系數(shù)據(jù)庫并不是真正意義上的關系數(shù)據(jù)庫,它只是將數(shù)據(jù)集文件映射成數(shù)據(jù)表的一個中間件,具有常規(guī)關系數(shù)據(jù)庫的一些特征。針對該虛擬關系數(shù)據(jù)庫,開發(fā)了.Net環(huán)境下相應的數(shù)據(jù)驅動,用戶可以通過該驅動實現(xiàn)到虛擬關系數(shù)據(jù)的連接、執(zhí)行操作、關閉連接等操作,就像操作一個真實的關系數(shù)據(jù)庫。數(shù)據(jù)驅動包括數(shù)據(jù)庫連接類、命令執(zhí)行類、數(shù)據(jù)適配器類、數(shù)據(jù)讀取類。
將該方法應用在實際的海洋環(huán)境大數(shù)據(jù)存儲服務中,使用相應的數(shù)據(jù)映射器將數(shù)據(jù)集結構信息映射到虛擬關系數(shù)據(jù)庫系統(tǒng)中,通過數(shù)據(jù)引擎響應用戶請求,驗證海洋環(huán)境大規(guī)模數(shù)據(jù)存儲模型的有效性。下面以實際海洋科研項目系統(tǒng)中海洋數(shù)據(jù)存儲服務為例,說明該存儲模型的數(shù)據(jù)處理流程(見圖4)。
圖4 數(shù)據(jù)處理流程Fig.4 Data process flow
WRF(WeatherResearchandForecasting)和ROMS(RegionalOceanModelingSystem)為在某近海海域建立的海洋大氣和海洋水動力數(shù)值模擬模型系統(tǒng),WRF每日定時輸出數(shù)值模擬數(shù)據(jù)海面溫度(T2.nc)、海面氣壓(SLP.nc)、海面相對濕度(RH.nc)和海面風(Wind.nc)海洋大氣數(shù)據(jù)集,ROMS每日定時輸出數(shù)值模擬數(shù)據(jù)海水溫度(Temp.nc)、鹽度(Salinity.nc)和海流(Current.nc)海洋環(huán)境水動力數(shù)據(jù)集,其中大氣數(shù)據(jù)單層,網(wǎng)格大小41×41,水動力數(shù)據(jù)5層,網(wǎng)格大小201×201。
下面以海面溫度(T2.nc)數(shù)據(jù)集為例描述其向虛擬關系數(shù)據(jù)庫的映射。
以變量T2為例,其屬性集合為:
對上述數(shù)據(jù)集ST2的映射結果為:
Rvalue=Values(vid,frtime,lat,lon,value)。
對于規(guī)則模型中數(shù)據(jù)表Rds,其數(shù)據(jù)記錄為:
{T2_1,D:/T2,cf1.4,model}。
數(shù)據(jù)表Rvar的數(shù)據(jù)記錄為:
{(3,T2,[frtime,lat,lon],T2_1),
(2,Frtime,[frtime],T2_1),
(1,lat,[lat],T2_1),
(0,lon,[lon],T2_1)}。
數(shù)據(jù)表Rdim的數(shù)據(jù)記錄為:
{(2,frtime,24,T2_1),(1,lat,41,T2_1),(0,lon,41,T2_1)}。
數(shù)據(jù)表Ratt的數(shù)據(jù)記錄為:
{(0,history,string,GAO_Shanhong,Global_T2_1),
(1,title,string,WRF_Forecast,Global_T2_1),
(3,long_name,string,IEMP_at_2M,T2),
(…)}。
用戶根據(jù)關系模型編寫數(shù)據(jù)查詢語句,服務器接收查詢語句并對語句中的條件字符串進行解析獲取語句查詢的數(shù)據(jù)點的集合,數(shù)據(jù)點依賴于該變量所依賴的維,根據(jù)獲取的數(shù)據(jù)點的集合從數(shù)據(jù)集文件中讀取相應的數(shù)據(jù),根據(jù)查詢請求返回的字段構造行數(shù)據(jù)記錄(見圖5)。
圖5 查詢語句處理Fig.5 Query process for SQL request
本文提出的數(shù)據(jù)存儲模型只存儲文件的結構信息,與將文件數(shù)據(jù)加載到數(shù)據(jù)庫中相比,空間消耗很少。因此本文只對數(shù)據(jù)存儲模型的時間消耗進行了實際測試,包括文件結構映射和查詢時間消耗。測試程序基于.Net平臺,使用SqLServer2005。
使用具有不同結構不同數(shù)據(jù)量的數(shù)據(jù)集文件進行測試(見圖6,以3.1中ROMS輸出和WRF輸出為例)。映射時間消耗主要包括文件I/O和結構信息提取。同一類數(shù)據(jù)集(如ROMS)數(shù)據(jù)量大小不一樣,文件I/O消耗有差別,但差別不大。由于具有相同的結構數(shù)據(jù)(只有維度長度不一樣),因此同一類數(shù)據(jù)集結構映射時間消耗隨數(shù)據(jù)集增大而變大,但變化不大;同時結構越復雜,時間消耗越多(ROMS比WARF時間消耗多)。
使用多值查詢對數(shù)據(jù)庫存儲和本文提出的映射存儲進行查詢時間消耗測試(見圖7)??梢钥闯?,當數(shù)據(jù)量較小時(數(shù)據(jù)點數(shù)小于100萬)兩種數(shù)據(jù)存儲方式查詢時間消耗幾乎一樣。隨著數(shù)據(jù)量的增長,數(shù)據(jù)庫存儲的查詢時間消耗有了較快的增長,而映射存儲雖然也有增長,但時間消耗低于數(shù)據(jù)庫存儲。從測試中發(fā)現(xiàn),映射存儲非常適合查詢一維、二維、三維等多維連續(xù)數(shù)據(jù)(或子集),而這也正符合這類數(shù)據(jù)的應用場景。
圖6 數(shù)據(jù)集結構映射時間消耗Fig.6 Time consuming of mapping
圖7 多值查詢時間消耗Fig.7 Time consuming of multi-value query
目前海洋環(huán)境大規(guī)模數(shù)據(jù)集主要以文件形式存儲,針對現(xiàn)有數(shù)據(jù)管理方式不利于數(shù)據(jù)檢索訪問,缺乏關系數(shù)據(jù)模型優(yōu)點,本文提出了一種虛擬關系數(shù)據(jù)庫數(shù)據(jù)存儲模型,通過將通用數(shù)據(jù)集(NetCDF)結構信息映射為相應的虛擬關系數(shù)據(jù)表,將用戶對數(shù)據(jù)表的操作直接反應到相應的數(shù)據(jù)集上,方便對數(shù)據(jù)的管理和使用,提高軟件編程效率。該模型無需將數(shù)據(jù)集變量數(shù)據(jù)真正加載到數(shù)據(jù)庫系統(tǒng)中,既滿足科研人員對原始數(shù)據(jù)集文件操作的需求,又方便了軟件開發(fā)人員對數(shù)據(jù)的操作,利用關系數(shù)據(jù)模型完成數(shù)據(jù)的使用,對于大規(guī)模海洋環(huán)境數(shù)據(jù)集的存儲訪問方法具有一定的參考意義和應用價值。
[1]Rayner,Ralph.TheUSintegratedoceanobservingsysteminaglobalcontext[J].MarineTechnologySocietyJournal, 2010, 44(6): 26-31.
[2] 同濟大學海洋科技中心海底觀測組. 美國的兩大海洋觀測系統(tǒng):OOI與IOOS[J]. 地球科學進展, 2011, 26(6): 650-655.
[3]JeffdeLaBeaujardiereJ.TheNOAAIOOSDataIntegrationFramework:Initialimplementationreport[C].QuebecCity:ProceedingsoftheOCEANS2008, 2008: 1-8.
[4]HorsburghJS,TarbotonDG,MaidmentDR,etal.Arelationalmodelforenvironmentalandwaterresourcesdata[J].WaterResourcesResearch, 2008, 44(5): 570-575.
[5]ShenF,GuoZ,HuT,etal.Adevelopmentframeworkforoceanenvironmentalinformationserviceapplication[C].Halifax:ProceedingsoftheOceans,IEEE, 2012: 1-6.
[6]ZhouJ,BernardL,BouchardR,etal.DatabasedesignsandmetadatamanagementforclimateobservationsandTsunamisea-levelmonitoringandqualitycontrol[C].SanDiego:ProceedingsoftheOCEANS2009,MTS/IEEEBiloxi-MarineTechnologyforOurFuture:GlobalandLocalChallenges.IEEE, 2009: 1-6.
[7]CommonDataModel(CDM) [OL]. [2013-09-10]http://www.unidata.ucar.edu/software/netcdf-java/CDM/.
[8]OPeNDAP[OL]. [2013-09-10].http://www.opendap.org/.
[9]Whydon'tscientistsusedatabases[OL]. [2013-09-10].http://www.barrodale.com/docs/Whydon'tscientistsusedatabases.pdf.
[10]GrayJ,LiuDT,Nieto-SantistebanM,etal.Scientificdatamanagementinthecomingdecade[J].ACMSIGMODRecord, 2005, 34(4): 34-41.
[11]CohenS,HurleyP,SchulzKW,etal.Scientificformatsforobject-relationaldatabasesystems:astudyofsuitabilityandperformance[J].ACMSIGMODRecord, 2006, 35(2): 10-15.
[12]DomenicoB.OGCNetworkCommonDataForm(NetCDF)CoreEncodingStandardversion1.0 [S].CandidateOpenGISEncodingStandard, 2011: 5.
[13]WielgoszJ,DotyB,AdamsJ.Thegrads-dodsserver:Anopen-sourcetoolfordistributeddataaccessandanalysis[C].Southampton:Proceedingsofthe19thInternationalConferenceonInteractiveInformationandProcessingSystems(IIPS)forMeteorology,OceanographyandHydrology, 2003.
[14]DenboD,SirottJ,ZhuWH.Dapper:AMatlabinterfacetoDapperanOPeNDAPin-situdataservice[C].Southampton:Proceedingsofthe23ndConferenceonInteractiveInformationandProcessingSystems(IIPS)forMeteorology,OceanographyandHydrologyAMS, 2007: 15-20.
[15]SharpHSQL-AnSQLenginewritteninC# [OL]. [2013-09-10],http://www.csharpcorner.com/database/SharpHSQL.asp.
責任編輯 陳呈超
Design and Application of a Marine Environmental Data Storage Model
SHEN Fei-Fei, GUO Zhong-Wen, HU Ke-Yong
(College of Information Science and Engineering, Ocean University of China, Qingdao 266100, China)
There are many different kinds of and huge number of marine environment data in a variety of document form, which makes it difficult to retrieve and access. This paper proposed a data access model for application programming in view of the current marine environment huge data storage method and programming access limitations. The model was constructed on the basis of unified file data mode, mapping the file structure to virtual relational database, and could be accessed based on SQL syntax, which reduced the data access complexity and improved software programming efficieng.
marine environmental data; data storage; access interface; SQL
海洋公益項目(201105030;201105034)資助
2013-05-20;
2013-10-20
沈飛飛(1983-),男,博士生。E-mail:shenfeifei@ouc.edu.cn
TP31
A
1672-5174(2015)06-122-06
10.16441/j.cnki.hdxb.20130344