• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種海洋環(huán)境數(shù)據(jù)存儲(chǔ)模型設(shè)計(jì)與應(yīng)用?

      2015-03-22 07:55:52沈飛飛郭忠文胡克勇
      關(guān)鍵詞:關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)表數(shù)據(jù)模型

      沈飛飛,郭忠文,胡克勇

      (中國(guó)海洋大學(xué)信息科學(xué)與工程學(xué)院, 山東 青島 266100)

      ?

      一種海洋環(huán)境數(shù)據(jù)存儲(chǔ)模型設(shè)計(jì)與應(yīng)用?

      沈飛飛,郭忠文,胡克勇

      (中國(guó)海洋大學(xué)信息科學(xué)與工程學(xué)院, 山東 青島 266100)

      海洋環(huán)境數(shù)據(jù)種類繁多且數(shù)量巨大,多數(shù)以文檔數(shù)據(jù)集形式存在,這使得海洋環(huán)境大規(guī)模數(shù)據(jù)的存儲(chǔ)和訪問(wèn)變得困難。針對(duì)當(dāng)前海洋環(huán)境大數(shù)據(jù)存儲(chǔ)方法不足和編程訪問(wèn)的局限性,提出了一種面向應(yīng)用編程的數(shù)據(jù)存儲(chǔ)訪問(wèn)模型。該模型將文件數(shù)據(jù)模型結(jié)構(gòu)信息映射到虛擬數(shù)據(jù)庫(kù)中,提供基于SQL語(yǔ)法的訪問(wèn)接口,降低數(shù)據(jù)訪問(wèn)復(fù)雜度,提高軟件編程效率。

      海洋環(huán)境數(shù)據(jù);數(shù)據(jù)存儲(chǔ);訪問(wèn)接口;SQL

      隨著科學(xué)技術(shù)的進(jìn)步和人類對(duì)海洋認(rèn)識(shí)的加深,海洋觀測(cè)已然成為進(jìn)行海洋科學(xué)研究重要的方式,其在海洋氣候研究、海洋生態(tài)預(yù)測(cè)、海洋災(zāi)害預(yù)防等多方面都起到了重要作用[1]。目前,海洋觀測(cè)已經(jīng)形成從近岸到深海大洋關(guān)鍵海區(qū)的立體、連續(xù)、實(shí)時(shí)、多要素綜合集成觀測(cè)能力,其由不同類型感知平臺(tái)組成立體監(jiān)測(cè)體系,包括海洋數(shù)值模擬構(gòu)成的研究分析平臺(tái),獲取了大量海洋環(huán)境要素?cái)?shù)據(jù)。典型應(yīng)用如美國(guó)的整合海洋觀測(cè)系統(tǒng)(IOOS)和大洋觀測(cè)計(jì)劃(OOI)[2]等。這些數(shù)據(jù)來(lái)源于不同的國(guó)家和調(diào)查項(xiàng)目,資料內(nèi)容多樣,涉及學(xué)科多,資料年限跨度較大,多數(shù)以文檔形式存在,使得其數(shù)據(jù)格式異構(gòu),進(jìn)行有效數(shù)據(jù)存儲(chǔ)和檢索困難。

      目前,對(duì)文檔形式海洋環(huán)境數(shù)據(jù)的存儲(chǔ)組織方法包括2個(gè)方向。一個(gè)是采用傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)模型,抽取數(shù)據(jù)實(shí)體和實(shí)體間關(guān)系,建立相應(yīng)的數(shù)據(jù)存儲(chǔ)表,將海洋數(shù)據(jù)分類加載到相應(yīng)的數(shù)據(jù)庫(kù)系統(tǒng)[3-6];一個(gè)是采用基于文件的通用數(shù)據(jù)模型(Common Data Model)[7],建立相應(yīng)的數(shù)據(jù)管理服務(wù)器,提供一致的數(shù)據(jù)訪問(wèn)協(xié)議,便于不同的客戶端進(jìn)行訪問(wèn),例如OPeNDAP(Open Data Access Protocal)[8]。前者需要將大規(guī)模海洋科學(xué)數(shù)據(jù)集分類加載至數(shù)據(jù)庫(kù)系統(tǒng)中,這將產(chǎn)生巨大的時(shí)間、空間資源消耗,降低了存儲(chǔ)效率,同時(shí)會(huì)造成冗余數(shù)據(jù)列,缺乏對(duì)海量數(shù)據(jù)的快速訪問(wèn)能力,不能有效利用現(xiàn)有并行策略進(jìn)行數(shù)據(jù)處理,導(dǎo)致信息系統(tǒng)在大數(shù)據(jù)量處理上性能不高[9-10]。文獻(xiàn)[11]分析了對(duì)象關(guān)系數(shù)據(jù)庫(kù)模型和通用數(shù)據(jù)模型對(duì)海洋環(huán)境數(shù)據(jù)的存儲(chǔ)和查詢效率,在進(jìn)行大規(guī)模數(shù)據(jù)存儲(chǔ)和查詢時(shí)性能低于后者。后者針對(duì)海洋環(huán)境數(shù)據(jù)的特點(diǎn)建立海洋環(huán)境科學(xué)數(shù)據(jù)模型,數(shù)據(jù)采集結(jié)果和數(shù)值模擬輸入輸出采用通用數(shù)據(jù)模型,對(duì)數(shù)據(jù)的集成存儲(chǔ)和管理可以采用統(tǒng)一的方式,被推薦為海洋數(shù)據(jù)格式標(biāo)準(zhǔn)[12]。以該模型為基礎(chǔ),為本地系統(tǒng)透明的訪問(wèn)遠(yuǎn)程數(shù)據(jù)的客戶端服務(wù)器系統(tǒng)OPeNDAP被開(kāi)發(fā),方便海洋科研人員通過(guò)不同的數(shù)據(jù)分析工具獲取數(shù)據(jù),例如Matlab、GrADS等[13-14]。OPeNDAP基于HTTP協(xié)議,通過(guò)向特定的URI發(fā)送請(qǐng)求獲取相應(yīng)的文件數(shù)據(jù)集元數(shù)據(jù)、變量數(shù)據(jù)、屬性數(shù)據(jù)等。但這需要開(kāi)發(fā)人員掌握相應(yīng)的協(xié)議規(guī)范,解析相應(yīng)的數(shù)據(jù)流,增加了軟件開(kāi)發(fā)復(fù)雜度。

      本文針對(duì)上述2種數(shù)據(jù)存儲(chǔ)模型的不足,結(jié)合其優(yōu)勢(shì)和海洋環(huán)境數(shù)據(jù)應(yīng)用需求,提出了一種面向大規(guī)模文檔數(shù)據(jù)存儲(chǔ)訪問(wèn)模型。該模型以通用數(shù)據(jù)模型為基礎(chǔ),建立通用數(shù)據(jù)模型到關(guān)系數(shù)據(jù)模型的映射,將對(duì)關(guān)系數(shù)據(jù)的操作轉(zhuǎn)換為對(duì)文件的操作,允許以數(shù)據(jù)庫(kù)編程方式查詢數(shù)據(jù)文件內(nèi)容,提高軟件編程效率。

      1 數(shù)據(jù)存儲(chǔ)模型

      本文提出的海洋環(huán)境大規(guī)模數(shù)據(jù)存儲(chǔ)訪問(wèn)模型以海洋環(huán)境多維科學(xué)數(shù)據(jù)為存儲(chǔ)對(duì)象,建立通用數(shù)據(jù)模型數(shù)據(jù)集如NetCDF、HDF到關(guān)系數(shù)據(jù)模型的數(shù)據(jù)映射——結(jié)構(gòu)映射,映射結(jié)果定義為規(guī)則模型(Regular Model),由一個(gè)虛擬關(guān)系數(shù)據(jù)庫(kù)(Virtual Relation Database)承載用來(lái)存儲(chǔ)文件數(shù)據(jù)集的結(jié)構(gòu),可以編寫(xiě)直接的SQL查詢語(yǔ)句對(duì)文件數(shù)據(jù)集進(jìn)行查詢,包括點(diǎn)數(shù)據(jù)、線數(shù)據(jù)、面數(shù)據(jù)、體數(shù)據(jù)等多種形式(見(jiàn)圖1)。

      圖1 存儲(chǔ)模型框架Fig.1 Storage model framework

      數(shù)據(jù)映射完成海洋環(huán)境科學(xué)數(shù)據(jù)集的聚集和存儲(chǔ),不同格式的數(shù)據(jù)集與不同的映射適配器相關(guān)聯(lián),數(shù)據(jù)集結(jié)構(gòu)信息通過(guò)相應(yīng)的映射器被映射到虛擬關(guān)系數(shù)據(jù)庫(kù)中。數(shù)據(jù)引擎接收查詢請(qǐng)求,對(duì)請(qǐng)求進(jìn)行解析驗(yàn)證,結(jié)合虛擬關(guān)系數(shù)據(jù)庫(kù)中的規(guī)則模型,將命令映射成相應(yīng)的操作函數(shù),對(duì)數(shù)據(jù)集文件進(jìn)行操作返回相應(yīng)數(shù)據(jù)。數(shù)據(jù)驅(qū)動(dòng)提供類似于Sql server、Oracle、MySql的數(shù)據(jù)提供者(Data Provider),可以根據(jù)規(guī)則模型編寫(xiě)查詢語(yǔ)句獲取相應(yīng)的數(shù)據(jù)。

      1.1 數(shù)據(jù)映射

      海洋環(huán)境多維科學(xué)數(shù)據(jù)在數(shù)據(jù)庫(kù)中存儲(chǔ)會(huì)帶來(lái)大量冗余信息,例如時(shí)間、經(jīng)度、緯度、海拔信息,這在海洋數(shù)值模式數(shù)據(jù)中尤其嚴(yán)重,而通用數(shù)據(jù)模型則通過(guò)文件存儲(chǔ)結(jié)構(gòu)固定方式避免了此類問(wèn)題。數(shù)據(jù)映射是將通用數(shù)據(jù)模型數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)映射到虛擬關(guān)系模型中,并沒(méi)有將實(shí)際數(shù)據(jù)加載到數(shù)據(jù)表中,不存在數(shù)據(jù)冗余等問(wèn)題。

      本文主要實(shí)現(xiàn)了通用數(shù)據(jù)模型NetCDF數(shù)據(jù)結(jié)構(gòu)到關(guān)系模型的映射,其他類型的數(shù)據(jù)模型如HDF和自定義格式可以通過(guò)增加相應(yīng)的映射器實(shí)現(xiàn)關(guān)系映射。變量、維度、屬性、數(shù)據(jù)被映射為相應(yīng)的規(guī)則模型,整個(gè)數(shù)據(jù)集元數(shù)據(jù)被映射為一個(gè)規(guī)則模型,下面對(duì)規(guī)則模型中各實(shí)體進(jìn)行描述(見(jiàn)圖2)。

      數(shù)據(jù)集實(shí)體描述數(shù)據(jù)的元數(shù)據(jù),包括數(shù)據(jù)集標(biāo)識(shí)、存儲(chǔ)路徑、元數(shù)據(jù)版本、數(shù)據(jù)形式屬性。

      變量信息實(shí)體描述數(shù)據(jù)集中的變量,包括變量標(biāo)識(shí)、名字、依賴維集、數(shù)據(jù)集標(biāo)識(shí)屬性。

      維度信息實(shí)體描述數(shù)據(jù)集中所有維,包括維標(biāo)識(shí)、名字、長(zhǎng)度屬性。

      圖2 規(guī)則模型Fig.2 Regular model

      屬性信息實(shí)體描述數(shù)據(jù)集中所有變量屬性和全局屬性,包括屬性標(biāo)識(shí)、名字、值類型、屬性值、變量標(biāo)識(shí)屬性,當(dāng)為全局屬性時(shí)變量標(biāo)識(shí)前綴為Global。

      數(shù)據(jù)信息實(shí)體描述數(shù)據(jù)集中所有變量的所有數(shù)據(jù)值,其被映射后包括的屬性有變量標(biāo)識(shí)、維1、維2、……、維N、數(shù)據(jù)值。

      為了對(duì)數(shù)據(jù)映射進(jìn)行形式化描述,本文進(jìn)行了如下定義。

      一個(gè)S完整刻畫(huà)了一個(gè)NetCDF數(shù)據(jù)集,對(duì)S的操作可以無(wú)縫反應(yīng)到對(duì)數(shù)據(jù)集操作,包括元數(shù)據(jù)的查詢和數(shù)據(jù)的查詢。

      定義2 記S′={Si|i=1,2,3,…,N}表示多個(gè)相關(guān)的NetCDF數(shù)據(jù)集集合,它們具有相同的數(shù)據(jù)結(jié)構(gòu),既相同變量、維度、屬性,具有相同的空間緯度,不同的是在時(shí)間維度上的取值。

      一個(gè)S′完整刻畫(huà)了一組來(lái)自于同一海洋觀測(cè)過(guò)程中的環(huán)境數(shù)據(jù),它們?cè)谖锢砩洗硐嗤挠^測(cè)要素或者相同的數(shù)值模擬過(guò)程。定義3 記R(U)表示一個(gè)關(guān)系模型,其中U={Ci|i=1,2,3,…N}表示關(guān)系模型中數(shù)據(jù)列集合;Ci表示數(shù)據(jù)列;R(U)=R(C1,C2,C3,…,CN)。記DB=(R′(U),L)表示一個(gè)關(guān)系數(shù)據(jù)庫(kù)模型,其中R′(U)={Ri(U)|i=1,2,3,…,N}表示不同關(guān)系模型集合;L={|i,j=1,2,3,…,N}表示集合中不同關(guān)系模型之間的關(guān)系集合;表示關(guān)系Ri通過(guò)外鍵Cf與關(guān)系Rj相關(guān)聯(lián)。

      根據(jù)定義3,對(duì)圖3描述的關(guān)系模型進(jìn)行形式化定義,數(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具有自我描述性,可以通過(guò)編寫(xiě)自動(dòng)化的程序抽取NetCDF數(shù)據(jù)集的結(jié)構(gòu)信息(變量、維度、屬性)映射到關(guān)系數(shù)據(jù)庫(kù)中,這個(gè)操作過(guò)程可以表示為DB=f(S)。

      對(duì)多數(shù)據(jù)集S′的結(jié)構(gòu)數(shù)據(jù)進(jìn)行提取的操作可以表示為:

      為了實(shí)現(xiàn)上述結(jié)構(gòu)信息提取,設(shè)計(jì)了數(shù)據(jù)映射算法(算法1),其接受輸入的數(shù)據(jù)集,遍歷提取數(shù)據(jù)集包含的變量、維度、屬性信息,根據(jù)提取信息創(chuàng)建相應(yīng)的數(shù)據(jù)庫(kù)表,并將結(jié)構(gòu)數(shù)據(jù)寫(xiě)入到數(shù)據(jù)庫(kù)中。

      算法1.根據(jù)輸入的數(shù)據(jù)集提取相應(yīng)結(jié)構(gòu)數(shù)據(jù)1:Input:S//一個(gè)NetCDF數(shù)據(jù)集2:Output:DB//關(guān)系數(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ù)的存儲(chǔ)固然重要,良好的數(shù)據(jù)訪問(wèn)接口也不可忽略,尤其大規(guī)模數(shù)據(jù)的分發(fā),對(duì)于領(lǐng)域內(nèi)科學(xué)研究人員、數(shù)據(jù)用戶、管理決策者具有重要意義。

      海洋環(huán)境科學(xué)數(shù)據(jù)無(wú)論以何種形式存在,其區(qū)別于業(yè)務(wù)數(shù)據(jù)的最大特點(diǎn)在于一次寫(xiě)入,多次讀取,即采集數(shù)據(jù)或模式輸出數(shù)據(jù)除了質(zhì)控需要對(duì)數(shù)據(jù)進(jìn)行編輯外,基本無(wú)任何其他修改操作,絕大多數(shù)應(yīng)用場(chǎng)景是被讀取用于進(jìn)行統(tǒng)計(jì)分析、數(shù)據(jù)挖掘、可視化表達(dá)等。本文提出的數(shù)據(jù)存儲(chǔ)模型中數(shù)據(jù)信息虛擬表Rvalue(U)反映數(shù)據(jù)集中變量數(shù)據(jù)信息,所有對(duì)變量數(shù)據(jù)的訪問(wèn)操作均反應(yīng)在此關(guān)系模型上。相應(yīng)于虛擬關(guān)系數(shù)據(jù)庫(kù),存在一個(gè)虛擬數(shù)據(jù)庫(kù)引擎VDE(VirtualDatabaseEngine),該引擎負(fù)責(zé)解釋執(zhí)行所有對(duì)虛擬數(shù)據(jù)表的SQL操作(見(jiàn)圖3)。

      圖3 虛擬數(shù)據(jù)庫(kù)引擎工作流程Fig.3 Workflow of VDE

      SQL語(yǔ)法模型描述了虛擬關(guān)系數(shù)據(jù)庫(kù)的查詢規(guī)則,包括數(shù)據(jù)庫(kù)、數(shù)據(jù)表的創(chuàng)建,查詢、插入、更新刪除操作的定義,以及相應(yīng)操作詞法、語(yǔ)法定義等,本文所設(shè)計(jì)的虛擬關(guān)系數(shù)據(jù)庫(kù)語(yǔ)法模型基于開(kāi)源關(guān)系數(shù)據(jù)庫(kù)框架SharpHSQL[15];SQL解析參照SQL語(yǔ)法模型對(duì)請(qǐng)求的語(yǔ)句進(jìn)行解析,進(jìn)行規(guī)范化操作,保證語(yǔ)句的正確性和有效性;SQL命令執(zhí)行將相應(yīng)的語(yǔ)句轉(zhuǎn)換為對(duì)數(shù)據(jù)集的相應(yīng)操作,返回符合關(guān)系模型的數(shù)據(jù)記錄。

      1.3 數(shù)據(jù)驅(qū)動(dòng)

      虛擬關(guān)系數(shù)據(jù)庫(kù)并不是真正意義上的關(guān)系數(shù)據(jù)庫(kù),它只是將數(shù)據(jù)集文件映射成數(shù)據(jù)表的一個(gè)中間件,具有常規(guī)關(guān)系數(shù)據(jù)庫(kù)的一些特征。針對(duì)該虛擬關(guān)系數(shù)據(jù)庫(kù),開(kāi)發(fā)了.Net環(huán)境下相應(yīng)的數(shù)據(jù)驅(qū)動(dòng),用戶可以通過(guò)該驅(qū)動(dòng)實(shí)現(xiàn)到虛擬關(guān)系數(shù)據(jù)的連接、執(zhí)行操作、關(guān)閉連接等操作,就像操作一個(gè)真實(shí)的關(guān)系數(shù)據(jù)庫(kù)。數(shù)據(jù)驅(qū)動(dòng)包括數(shù)據(jù)庫(kù)連接類、命令執(zhí)行類、數(shù)據(jù)適配器類、數(shù)據(jù)讀取類。

      2 模型應(yīng)用

      將該方法應(yīng)用在實(shí)際的海洋環(huán)境大數(shù)據(jù)存儲(chǔ)服務(wù)中,使用相應(yīng)的數(shù)據(jù)映射器將數(shù)據(jù)集結(jié)構(gòu)信息映射到虛擬關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)中,通過(guò)數(shù)據(jù)引擎響應(yīng)用戶請(qǐng)求,驗(yàn)證海洋環(huán)境大規(guī)模數(shù)據(jù)存儲(chǔ)模型的有效性。下面以實(shí)際海洋科研項(xiàng)目系統(tǒng)中海洋數(shù)據(jù)存儲(chǔ)服務(wù)為例,說(shuō)明該存儲(chǔ)模型的數(shù)據(jù)處理流程(見(jiàn)圖4)。

      圖4 數(shù)據(jù)處理流程Fig.4 Data process flow

      WRF(WeatherResearchandForecasting)和ROMS(RegionalOceanModelingSystem)為在某近海海域建立的海洋大氣和海洋水動(dòng)力數(shù)值模擬模型系統(tǒng),WRF每日定時(shí)輸出數(shù)值模擬數(shù)據(jù)海面溫度(T2.nc)、海面氣壓(SLP.nc)、海面相對(duì)濕度(RH.nc)和海面風(fēng)(Wind.nc)海洋大氣數(shù)據(jù)集,ROMS每日定時(shí)輸出數(shù)值模擬數(shù)據(jù)海水溫度(Temp.nc)、鹽度(Salinity.nc)和海流(Current.nc)海洋環(huán)境水動(dòng)力數(shù)據(jù)集,其中大氣數(shù)據(jù)單層,網(wǎng)格大小41×41,水動(dòng)力數(shù)據(jù)5層,網(wǎng)格大小201×201。

      下面以海面溫度(T2.nc)數(shù)據(jù)集為例描述其向虛擬關(guān)系數(shù)據(jù)庫(kù)的映射。

      以變量T2為例,其屬性集合為:

      對(duì)上述數(shù)據(jù)集ST2的映射結(jié)果為:

      Rvalue=Values(vid,frtime,lat,lon,value)。

      對(duì)于規(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ù)關(guān)系模型編寫(xiě)數(shù)據(jù)查詢語(yǔ)句,服務(wù)器接收查詢語(yǔ)句并對(duì)語(yǔ)句中的條件字符串進(jìn)行解析獲取語(yǔ)句查詢的數(shù)據(jù)點(diǎn)的集合,數(shù)據(jù)點(diǎn)依賴于該變量所依賴的維,根據(jù)獲取的數(shù)據(jù)點(diǎn)的集合從數(shù)據(jù)集文件中讀取相應(yīng)的數(shù)據(jù),根據(jù)查詢請(qǐng)求返回的字段構(gòu)造行數(shù)據(jù)記錄(見(jiàn)圖5)。

      圖5 查詢語(yǔ)句處理Fig.5 Query process for SQL request

      3 性能測(cè)試

      本文提出的數(shù)據(jù)存儲(chǔ)模型只存儲(chǔ)文件的結(jié)構(gòu)信息,與將文件數(shù)據(jù)加載到數(shù)據(jù)庫(kù)中相比,空間消耗很少。因此本文只對(duì)數(shù)據(jù)存儲(chǔ)模型的時(shí)間消耗進(jìn)行了實(shí)際測(cè)試,包括文件結(jié)構(gòu)映射和查詢時(shí)間消耗。測(cè)試程序基于.Net平臺(tái),使用SqLServer2005。

      使用具有不同結(jié)構(gòu)不同數(shù)據(jù)量的數(shù)據(jù)集文件進(jìn)行測(cè)試(見(jiàn)圖6,以3.1中ROMS輸出和WRF輸出為例)。映射時(shí)間消耗主要包括文件I/O和結(jié)構(gòu)信息提取。同一類數(shù)據(jù)集(如ROMS)數(shù)據(jù)量大小不一樣,文件I/O消耗有差別,但差別不大。由于具有相同的結(jié)構(gòu)數(shù)據(jù)(只有維度長(zhǎng)度不一樣),因此同一類數(shù)據(jù)集結(jié)構(gòu)映射時(shí)間消耗隨數(shù)據(jù)集增大而變大,但變化不大;同時(shí)結(jié)構(gòu)越復(fù)雜,時(shí)間消耗越多(ROMS比WARF時(shí)間消耗多)。

      使用多值查詢對(duì)數(shù)據(jù)庫(kù)存儲(chǔ)和本文提出的映射存儲(chǔ)進(jìn)行查詢時(shí)間消耗測(cè)試(見(jiàn)圖7)。可以看出,當(dāng)數(shù)據(jù)量較小時(shí)(數(shù)據(jù)點(diǎn)數(shù)小于100萬(wàn))兩種數(shù)據(jù)存儲(chǔ)方式查詢時(shí)間消耗幾乎一樣。隨著數(shù)據(jù)量的增長(zhǎng),數(shù)據(jù)庫(kù)存儲(chǔ)的查詢時(shí)間消耗有了較快的增長(zhǎng),而映射存儲(chǔ)雖然也有增長(zhǎng),但時(shí)間消耗低于數(shù)據(jù)庫(kù)存儲(chǔ)。從測(cè)試中發(fā)現(xiàn),映射存儲(chǔ)非常適合查詢一維、二維、三維等多維連續(xù)數(shù)據(jù)(或子集),而這也正符合這類數(shù)據(jù)的應(yīng)用場(chǎng)景。

      圖6 數(shù)據(jù)集結(jié)構(gòu)映射時(shí)間消耗Fig.6 Time consuming of mapping

      圖7 多值查詢時(shí)間消耗Fig.7 Time consuming of multi-value query

      4 結(jié)語(yǔ)

      目前海洋環(huán)境大規(guī)模數(shù)據(jù)集主要以文件形式存儲(chǔ),針對(duì)現(xiàn)有數(shù)據(jù)管理方式不利于數(shù)據(jù)檢索訪問(wèn),缺乏關(guān)系數(shù)據(jù)模型優(yōu)點(diǎn),本文提出了一種虛擬關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)模型,通過(guò)將通用數(shù)據(jù)集(NetCDF)結(jié)構(gòu)信息映射為相應(yīng)的虛擬關(guān)系數(shù)據(jù)表,將用戶對(duì)數(shù)據(jù)表的操作直接反應(yīng)到相應(yīng)的數(shù)據(jù)集上,方便對(duì)數(shù)據(jù)的管理和使用,提高軟件編程效率。該模型無(wú)需將數(shù)據(jù)集變量數(shù)據(jù)真正加載到數(shù)據(jù)庫(kù)系統(tǒng)中,既滿足科研人員對(duì)原始數(shù)據(jù)集文件操作的需求,又方便了軟件開(kāi)發(fā)人員對(duì)數(shù)據(jù)的操作,利用關(guān)系數(shù)據(jù)模型完成數(shù)據(jù)的使用,對(duì)于大規(guī)模海洋環(huán)境數(shù)據(jù)集的存儲(chǔ)訪問(wèn)方法具有一定的參考意義和應(yīng)用價(jià)值。

      [1]Rayner,Ralph.TheUSintegratedoceanobservingsysteminaglobalcontext[J].MarineTechnologySocietyJournal, 2010, 44(6): 26-31.

      [2] 同濟(jì)大學(xué)海洋科技中心海底觀測(cè)組. 美國(guó)的兩大海洋觀測(cè)系統(tǒng):OOI與IOOS[J]. 地球科學(xué)進(jìn)展, 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.

      責(zé)任編輯 陳呈超

      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

      海洋公益項(xiàng)目(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

      猜你喜歡
      關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)表數(shù)據(jù)模型
      關(guān)系數(shù)據(jù)庫(kù)在高爐數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
      山東冶金(2022年2期)2022-08-08 01:51:30
      湖北省新冠肺炎疫情數(shù)據(jù)表
      黨員生活(2020年2期)2020-04-17 09:56:30
      基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
      面板數(shù)據(jù)模型截面相關(guān)檢驗(yàn)方法綜述
      加熱爐爐內(nèi)跟蹤數(shù)據(jù)模型優(yōu)化
      基于索引結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫(kù)關(guān)鍵詞檢索
      圖表
      基于VSL的動(dòng)態(tài)數(shù)據(jù)表應(yīng)用研究
      河南科技(2014年24期)2014-02-27 14:19:25
      一種基于數(shù)據(jù)圖劃分的關(guān)系數(shù)據(jù)庫(kù)關(guān)鍵詞檢索方法
      面向集成管理的出版原圖數(shù)據(jù)模型
      新平| 长汀县| 东乡| 铜陵市| 托克逊县| 东至县| 巴青县| 南岸区| 太仆寺旗| 尼玛县| 永川市| 克什克腾旗| 平江县| 博罗县| 大埔区| 东辽县| 五大连池市| 旬邑县| 应用必备| 泽库县| 车致| 天津市| 明光市| 辉县市| 文昌市| 玉林市| 宝鸡市| 吴忠市| 焉耆| 伊宁市| 青龙| 金沙县| 贵港市| 昌都县| 达尔| 万全县| 和龙市| 藁城市| 岢岚县| 霍城县| 洪江市|