基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法
【專利摘要】本發(fā)明公開了一種基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法,步驟如下:1)數(shù)據(jù)監(jiān)聽器監(jiān)聽指定目錄,則將新的Argo數(shù)據(jù)文件轉(zhuǎn)發(fā)到數(shù)據(jù)服務(wù)器;2)數(shù)據(jù)分類器將匯總在數(shù)據(jù)服務(wù)器上的Argo數(shù)據(jù)文件按照文件格式分為三個(gè)類別;3)數(shù)據(jù)控制器檢查數(shù)據(jù)庫中是否存在當(dāng)前數(shù)據(jù),并檢查數(shù)據(jù)文件內(nèi)容是否完整;4)數(shù)據(jù)提取器從數(shù)據(jù)文件中提取相關(guān)的元數(shù)據(jù)和數(shù)據(jù)塊;5)數(shù)據(jù)入庫模塊將非結(jié)構(gòu)化的數(shù)據(jù)塊上傳到HDFS分布式存儲系統(tǒng);6)數(shù)據(jù)歸檔模塊將入庫完成的數(shù)據(jù)進(jìn)行歸檔,形成日志文件。本發(fā)明基于混合數(shù)據(jù)庫架構(gòu),將全球Argo數(shù)據(jù)中不同類型的數(shù)據(jù)文件統(tǒng)一到同一個(gè)數(shù)據(jù)庫平臺中進(jìn)行存儲與更新,為全球Argo數(shù)據(jù)提供了高效的、可靈活擴(kuò)展的存儲與更新解決方案。
【專利說明】
基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)存儲與更新技術(shù)領(lǐng)域,尤其涉及一種基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法。
【背景技術(shù)】
[0002]全球Argo計(jì)劃是由美國、法國和日本等國的大氣、海洋科學(xué)家于1998年推出的全球性海洋觀測計(jì)劃,旨在快速、準(zhǔn)確、大范圍地收集全球海洋上層的海水溫、鹽度剖面資料,以提高氣候預(yù)報(bào)的精度,有效防御全球日益嚴(yán)重的氣候?yàn)?zāi)害(如颶風(fēng)、龍卷風(fēng)、臺風(fēng)、冰暴、洪水和干旱等)給人類造成的威脅。十五年以來,各國在全球海洋布放的Argo浮標(biāo)數(shù)量超過12,000個(gè),已累計(jì)獲得了約150萬條溫、鹽度剖面,形成了龐大的全球Argo數(shù)據(jù)海洋。
[0003]隨著全球Argo數(shù)據(jù)量的不斷遞增,且由于Argo數(shù)據(jù)存在多源異構(gòu)、動態(tài)多維以及海量等特性,全球Arg0數(shù)據(jù)的高效存儲與更新一直都是一個(gè)挑戰(zhàn)性的難題。目前Argo數(shù)據(jù)以文件存儲作為主要存儲形式,對未經(jīng)加工的原始數(shù)據(jù)的提取和分類工作難以進(jìn)行,也不利于進(jìn)一步的數(shù)據(jù)挖掘,無法匹配當(dāng)前日益增長的Argo數(shù)據(jù)海洋。長期積累下來的各類Argo資料被存放在相互孤立的不同地點(diǎn),無法進(jìn)行有效的協(xié)同工作,數(shù)據(jù)的更新也無法做到快速的時(shí)效性。因此,將不同類型的全球Argo數(shù)據(jù)統(tǒng)一到同一個(gè)數(shù)據(jù)庫平臺中進(jìn)行存儲與更新,成為科研業(yè)務(wù)的迫切需求。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是為克服現(xiàn)有技術(shù)存在的問題,提供一種基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法。
[0005]基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法,它的步驟如下:
[0006]I)數(shù)據(jù)監(jiān)聽器在遠(yuǎn)程數(shù)據(jù)主機(jī)上監(jiān)聽指定目錄,一旦有新的Argo數(shù)據(jù)文件生成,則將數(shù)據(jù)文件轉(zhuǎn)發(fā)到數(shù)據(jù)服務(wù)器;
[0007]2)數(shù)據(jù)分類器將匯總在數(shù)據(jù)服務(wù)器上的Argo數(shù)據(jù)文件按照文件格式分為全球Argo浮標(biāo)元數(shù)據(jù)、全球Argo浮標(biāo)觀測剖面數(shù)據(jù)和全球Argo網(wǎng)格化數(shù)據(jù)產(chǎn)品三個(gè)類別;
[0008]3)數(shù)據(jù)控制器檢查數(shù)據(jù)庫中是否存在當(dāng)前數(shù)據(jù),并檢查數(shù)據(jù)文件內(nèi)容是否完整;
[0009]4)數(shù)據(jù)提取器從數(shù)據(jù)文件中提取相關(guān)的元數(shù)據(jù)和數(shù)據(jù)塊;
[0010]5)數(shù)據(jù)入庫模塊將非結(jié)構(gòu)化的數(shù)據(jù)塊上傳到HDFS分布式存儲系統(tǒng),將結(jié)構(gòu)化的元數(shù)據(jù)記錄到PostgreSQL關(guān)系型數(shù)據(jù)庫中,并建立數(shù)據(jù)塊與元數(shù)據(jù)之間的索引;
[0011 ] 6)數(shù)據(jù)歸檔模塊將入庫完成的數(shù)據(jù)進(jìn)行歸檔,形成日志文件。
[0012]所述的步驟I)具體為:數(shù)據(jù)監(jiān)聽器是一個(gè)常駐在數(shù)據(jù)服務(wù)器上的模塊,它會周期性地啟動線程,用于連接全球Argo數(shù)據(jù)相關(guān)的各個(gè)遠(yuǎn)程數(shù)據(jù)主機(jī),并通過日志文檔判斷指定目錄上是否有新的Argo數(shù)據(jù)生成,一旦有新文件生成,則將該數(shù)據(jù)文件轉(zhuǎn)發(fā)到數(shù)據(jù)服務(wù)器上,并記錄在日志文檔中。
[0013]所述的步驟2)具體為:數(shù)據(jù)分類器對匯總在數(shù)據(jù)服務(wù)器上的Argo數(shù)據(jù)文件進(jìn)行分類,DAT文件格式為全球Argo浮標(biāo)元數(shù)據(jù),NetCDF文件格式的為全球Argo浮標(biāo)觀測剖面數(shù)據(jù),PNG文件格式的為全球Argo網(wǎng)格化數(shù)據(jù)產(chǎn)品,由此將這三類文件劃分到各自的數(shù)據(jù)中心。
[0014]所述的步驟3)具體為:數(shù)據(jù)控制器根據(jù)文件名稱從PostgreSQL關(guān)系型數(shù)據(jù)庫中查詢是否存在該數(shù)據(jù)文件,并根據(jù)文件大小判斷該數(shù)據(jù)文件是否完整,若符合數(shù)據(jù)庫中不存在該數(shù)據(jù)文件且數(shù)據(jù)文件完整,則可確定為新的數(shù)據(jù)文件,可以入庫。
[0015]所述的步驟4)具體為:數(shù)據(jù)提取器從全球Argo浮標(biāo)元數(shù)據(jù)文件、全球Argo浮標(biāo)觀測剖面數(shù)據(jù)文件和全球Argo網(wǎng)格化數(shù)據(jù)產(chǎn)品中分別提取對應(yīng)的元數(shù)據(jù),同時(shí)從全球Argo浮標(biāo)觀測剖面數(shù)據(jù)文件提取塊數(shù)據(jù)并轉(zhuǎn)換為JSON格式文件。
[0016]所述的步驟5)具體包括如下子步驟:
[0017]5.1)數(shù)據(jù)入庫模塊將步驟4)中提取出來的結(jié)構(gòu)化的元數(shù)據(jù)記錄到PostgreSQL關(guān)系型數(shù)據(jù)庫中,主要存儲在浮標(biāo)元數(shù)據(jù)表、浮標(biāo)觀測剖面數(shù)據(jù)信息表和浮標(biāo)網(wǎng)格化數(shù)據(jù)產(chǎn)品信息表這三類表,其中浮標(biāo)元數(shù)據(jù)表用于存儲所有Argo浮標(biāo)的元數(shù)據(jù)信息,即每個(gè)Argo浮標(biāo)的技術(shù)參數(shù),包括WMO編號、平臺號、傳輸系統(tǒng)、信號傳輸重復(fù)率、定位系統(tǒng)、制造商、剖面采樣方向、傳感器信息以及循環(huán)信息等;浮標(biāo)觀測剖面數(shù)據(jù)信息表用于存儲所有觀測剖面相關(guān)信息,為提高查詢效率,該表按年份分多表存儲,主要包括浮標(biāo)ID、WMO編號、剖面循環(huán)數(shù)、剖面觀測方向、日期以及經(jīng)瑋度等;浮標(biāo)網(wǎng)格化數(shù)據(jù)產(chǎn)品信息表用于存儲所有網(wǎng)格化數(shù)據(jù)產(chǎn)品相關(guān)信息,主要包括產(chǎn)品類別、產(chǎn)品日期、產(chǎn)品范圍等;
[0018]5.2)數(shù)據(jù)入庫模塊將非結(jié)構(gòu)化的JSON和PNG文件數(shù)據(jù)塊上傳到HDFS分布式存儲系統(tǒng),并在多個(gè)物理節(jié)點(diǎn)上完成存儲和冗余備份,其數(shù)據(jù)塊訪問路徑存放在集群的主節(jié)點(diǎn)上;
[0019]5.3)數(shù)據(jù)入庫模塊同時(shí)將數(shù)據(jù)塊訪問路徑與對其對應(yīng)的元數(shù)據(jù)信息統(tǒng)一存儲在PostgreSQL關(guān)系型數(shù)據(jù)庫中,以此建立數(shù)據(jù)塊與元數(shù)據(jù)之間的索引,實(shí)現(xiàn)全球Argo數(shù)據(jù)在HDFS分布式存儲系統(tǒng)和PostgreSQL關(guān)系型數(shù)據(jù)庫的混合存儲。
[0020]所述的步驟6)具體為:數(shù)據(jù)歸檔模塊將入庫完成的數(shù)據(jù)進(jìn)行歸檔,以日為單位,按照全球Argo數(shù)據(jù)的三個(gè)類別分別形成日志文件。
[0021]本發(fā)明與現(xiàn)有技術(shù)相比具有的有益效果是:
[0022]I)本發(fā)明克服了目前文件存儲方式和單一關(guān)系型數(shù)據(jù)庫無法協(xié)同存儲和有效更新的不足,將全球Argo數(shù)據(jù)中不同類型的數(shù)據(jù)文件統(tǒng)一到同一個(gè)數(shù)據(jù)庫平臺中進(jìn)行存儲與更新,為全球Argo數(shù)據(jù)提供了一種高效的、可靈活擴(kuò)展的存儲與更新解決方案。
[0023]2)本發(fā)明利用HDFS存儲全球Argo數(shù)據(jù)中的非結(jié)構(gòu)化數(shù)據(jù),將每個(gè)數(shù)據(jù)塊復(fù)制到集群中的多個(gè)節(jié)點(diǎn)上,提高了數(shù)據(jù)的容錯(cuò)性,并可以動態(tài)添加或移除節(jié)點(diǎn),保證了數(shù)據(jù)的可擴(kuò)展性,為全球Argo數(shù)據(jù)的高效訪問及快速更新提供了基礎(chǔ)保障。
【附圖說明】
[0024]圖1為基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法的流程圖;
[0025]圖2為混合數(shù)據(jù)庫架構(gòu)圖。
【具體實(shí)施方式】
[0026]下面結(jié)合附圖對本發(fā)明做進(jìn)一步闡述和說明。本發(fā)明中各個(gè)實(shí)施方式的技術(shù)特征在沒有相互沖突的前提下,均可進(jìn)行相應(yīng)組合。
[0027]如圖1所示,一種基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法,它的步驟如下:
[0028]I)數(shù)據(jù)監(jiān)聽器在遠(yuǎn)程數(shù)據(jù)主機(jī)上監(jiān)聽指定目錄,一旦有新的Argo數(shù)據(jù)文件生成,則將數(shù)據(jù)文件轉(zhuǎn)發(fā)到數(shù)據(jù)服務(wù)器。具體為:
[0029]數(shù)據(jù)監(jiān)聽器是一個(gè)常駐在數(shù)據(jù)服務(wù)器上的模塊,它會周期性地啟動線程,用于連接全球Argo數(shù)據(jù)相關(guān)的各個(gè)遠(yuǎn)程數(shù)據(jù)主機(jī),并通過日志文檔判斷指定目錄上是否有新的Argo數(shù)據(jù)生成,一旦有新文件生成,則將該數(shù)據(jù)文件轉(zhuǎn)發(fā)到數(shù)據(jù)服務(wù)器上,并記錄在日志文檔中。
[0030]2)數(shù)據(jù)分類器將匯總在數(shù)據(jù)服務(wù)器上的Argo數(shù)據(jù)文件按照文件格式分為全球Argo浮標(biāo)元數(shù)據(jù)、全球Argo浮標(biāo)觀測剖面數(shù)據(jù)和全球Argo網(wǎng)格化數(shù)據(jù)產(chǎn)品三個(gè)類別。具體為:
[0031]數(shù)據(jù)分類器對匯總在數(shù)據(jù)服務(wù)器上的Argo數(shù)據(jù)文件進(jìn)行分類,DAT文件格式為全球Argo浮標(biāo)元數(shù)據(jù),Net⑶F文件格式的為全球Argo浮標(biāo)觀測剖面數(shù)據(jù),PNG文件格式的為全球Argo網(wǎng)格化數(shù)據(jù)產(chǎn)品,由此將這三類文件劃分到各自的數(shù)據(jù)中心。
[0032]3)數(shù)據(jù)控制器檢查數(shù)據(jù)庫中是否存在當(dāng)前數(shù)據(jù),并檢查數(shù)據(jù)文件內(nèi)容是否完整。具體為:
[0033]數(shù)據(jù)控制器根據(jù)文件名稱從PostgreSQL關(guān)系型數(shù)據(jù)庫中查詢是否存在該數(shù)據(jù)文件,并根據(jù)文件大小判斷該數(shù)據(jù)文件是否完整,若符合數(shù)據(jù)庫中不存在該數(shù)據(jù)文件且數(shù)據(jù)文件完整,則可確定為新的數(shù)據(jù)文件,可以入庫;否則不可入庫。一般可預(yù)設(shè)一個(gè)對比值,用于判斷數(shù)據(jù)文件是否完整。對比值可根據(jù)目前國際Argo文件的標(biāo)準(zhǔn)進(jìn)行確定,正常的剖面文件大小都為38KB。
[0034]4)數(shù)據(jù)提取器從數(shù)據(jù)文件中提取相關(guān)的元數(shù)據(jù)和數(shù)據(jù)塊。具體為:
[0035]數(shù)據(jù)提取器從全球Argo浮標(biāo)元數(shù)據(jù)文件、全球Argo浮標(biāo)觀測剖面數(shù)據(jù)文件和全球Argo網(wǎng)格化數(shù)據(jù)產(chǎn)品中分別提取對應(yīng)的元數(shù)據(jù),同時(shí)從全球Argo浮標(biāo)觀測剖面數(shù)據(jù)文件提取塊數(shù)據(jù)并轉(zhuǎn)換為JSON格式文件。
[0036]5)數(shù)據(jù)入庫模塊將非結(jié)構(gòu)化的數(shù)據(jù)塊上傳到HDFS分布式存儲系統(tǒng),將結(jié)構(gòu)化的元數(shù)據(jù)記錄到PostgreSQL關(guān)系型數(shù)據(jù)庫中,并建立數(shù)據(jù)塊與元數(shù)據(jù)之間的索引。具體為:
[0037]5.1)數(shù)據(jù)入庫模塊將步驟4)中提取出來的結(jié)構(gòu)化的元數(shù)據(jù)記錄到PostgreSQL關(guān)系型數(shù)據(jù)庫中,主要存儲在浮標(biāo)元數(shù)據(jù)表、浮標(biāo)觀測剖面數(shù)據(jù)信息表和浮標(biāo)網(wǎng)格化數(shù)據(jù)產(chǎn)品信息表這三類表,其中浮標(biāo)元數(shù)據(jù)表用于存儲所有Argo浮標(biāo)的元數(shù)據(jù)信息,即每個(gè)Argo浮標(biāo)的技術(shù)參數(shù),包括WMO編號、平臺號、傳輸系統(tǒng)、信號傳輸重復(fù)率、定位系統(tǒng)、制造商、剖面采樣方向、傳感器信息以及循環(huán)信息等;浮標(biāo)觀測剖面數(shù)據(jù)信息表用于存儲所有觀測剖面相關(guān)信息,為提高查詢效率,該表按年份分多表存儲,主要包括浮標(biāo)ID、WMO編號、剖面循環(huán)數(shù)、剖面觀測方向、日期以及經(jīng)瑋度等;浮標(biāo)網(wǎng)格化數(shù)據(jù)產(chǎn)品信息表用于存儲所有網(wǎng)格化數(shù)據(jù)產(chǎn)品相關(guān)信息,主要包括產(chǎn)品類別、產(chǎn)品日期、產(chǎn)品范圍等;
[0038]5.2)數(shù)據(jù)入庫模塊將非結(jié)構(gòu)化的JSON和PNG文件數(shù)據(jù)塊(即前述“JS0N格式文件”和“PNG文件格式的為全球Argo網(wǎng)格化數(shù)據(jù)產(chǎn)品”)上傳到HDFS分布式存儲系統(tǒng),并在多個(gè)物理節(jié)點(diǎn)上完成存儲和冗余備份,其數(shù)據(jù)塊訪問路徑存放在集群的主節(jié)點(diǎn)上;
[0039]5.3)數(shù)據(jù)入庫模塊同時(shí)將數(shù)據(jù)塊訪問路徑與對其對應(yīng)的元數(shù)據(jù)信息統(tǒng)一存儲在PostgreSQL關(guān)系型數(shù)據(jù)庫中,以此建立數(shù)據(jù)塊與元數(shù)據(jù)之間的索引,實(shí)現(xiàn)全球Argo數(shù)據(jù)在HDFS分布式存儲系統(tǒng)和PostgreSQL關(guān)系型數(shù)據(jù)庫的混合存儲。
[0040]6)數(shù)據(jù)歸檔模塊將入庫完成的數(shù)據(jù)進(jìn)行歸檔,以日為單位,按照全球Argo數(shù)據(jù)的三個(gè)類別分別形成日志文件。
[0041]下面以實(shí)施例對本發(fā)明做進(jìn)一步闡述,實(shí)施例的操作步驟與上述方法一致,因此簡潔起見,部分步驟未具體說明。
[0042]實(shí)施例
[0043]I)數(shù)據(jù)監(jiān)聽器在遠(yuǎn)程數(shù)據(jù)主機(jī)上(ftp://ftp.arg0.0rg.cn/pub/ARGO)監(jiān)聽指定目錄,一旦有新的Argo數(shù)據(jù)文件生成,比如說監(jiān)聽到新的數(shù)據(jù)文件1900726_285.nc,則將該數(shù)據(jù)文件轉(zhuǎn)發(fā)到數(shù)據(jù)服務(wù)器;
[0044]2)數(shù)據(jù)分類器將匯總在數(shù)據(jù)服務(wù)器上的Argo數(shù)據(jù)文件1900726_285.nc按照文件格式判斷為全球Argo浮標(biāo)觀測剖面數(shù)據(jù),將此文件轉(zhuǎn)移到對應(yīng)的數(shù)據(jù)中心;
[0045]3)數(shù)據(jù)控制器檢查PostgreSQL關(guān)系型數(shù)據(jù)庫是否存在當(dāng)前數(shù)據(jù),若不存在,則可確定為新數(shù)據(jù)文件,并根據(jù)文件大小判斷此數(shù)據(jù)文件內(nèi)容是否完整,若該文件大小為38KB,則確定該文件內(nèi)容完整;
[0046]4)數(shù)據(jù)提取器從1900726_285.nc數(shù)據(jù)文件中提取相關(guān)的元數(shù)據(jù)和數(shù)據(jù)塊,元數(shù)據(jù)內(nèi)容包括了WMO編號為1900726、平臺號為39506、傳輸系統(tǒng)為ARG0S、定位系統(tǒng)為ARG0S、制造商為Webb、循環(huán)周期為285、經(jīng)瑋度信息為南瑋25.761°西經(jīng)115.159°等相關(guān)信息;數(shù)據(jù)塊內(nèi)容則為提取的具體觀測剖面信息,并轉(zhuǎn)換為JSON格式文件1900726_285.json;
[0047]5)數(shù)據(jù)入庫模塊將非結(jié)構(gòu)化的1900726_285.json文件作為數(shù)據(jù)塊上傳到HDFS分布式存儲系統(tǒng),保存在各個(gè)數(shù)據(jù)節(jié)點(diǎn)中,將結(jié)構(gòu)化的元數(shù)據(jù)記錄到PostgreSQL關(guān)系型數(shù)據(jù)庫中的浮標(biāo)觀測剖面數(shù)據(jù)信息表,同時(shí)將數(shù)據(jù)塊訪問路徑與對其對應(yīng)的元數(shù)據(jù)信息統(tǒng)一存儲在PostgreSQL關(guān)系型數(shù)據(jù)庫中,以此建立數(shù)據(jù)塊與元數(shù)據(jù)之間的索引,具體如圖2所示;
[0048]6)數(shù)據(jù)歸檔模塊將入庫完成的數(shù)據(jù)進(jìn)行歸檔,形成日志文件。
[0049]以上所述的實(shí)施方式只是本發(fā)明的一種較佳的方案,然其并非用以限制本發(fā)明。有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型。因此凡采取等同替換或等效變換的方式所獲得的技術(shù)方案,均落在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法,其特征在于它的步驟如下: 1)數(shù)據(jù)監(jiān)聽器在遠(yuǎn)程數(shù)據(jù)主機(jī)上監(jiān)聽指定目錄,一旦有新的Argo數(shù)據(jù)文件生成,則將數(shù)據(jù)文件轉(zhuǎn)發(fā)到數(shù)據(jù)服務(wù)器; 2)數(shù)據(jù)分類器將匯總在數(shù)據(jù)服務(wù)器上的Argo數(shù)據(jù)文件按照文件格式分為全球Argo浮標(biāo)元數(shù)據(jù)、全球Argo浮標(biāo)觀測剖面數(shù)據(jù)和全球Argo網(wǎng)格化數(shù)據(jù)產(chǎn)品三個(gè)類別; 3)數(shù)據(jù)控制器檢查數(shù)據(jù)庫中是否存在當(dāng)前數(shù)據(jù),并檢查數(shù)據(jù)文件內(nèi)容是否完整; 4)數(shù)據(jù)提取器從數(shù)據(jù)文件中提取相關(guān)的元數(shù)據(jù)和數(shù)據(jù)塊; 5)數(shù)據(jù)入庫模塊將非結(jié)構(gòu)化的數(shù)據(jù)塊上傳到HDFS分布式存儲系統(tǒng),將結(jié)構(gòu)化的元數(shù)據(jù)記錄到PostgreSQL關(guān)系型數(shù)據(jù)庫中,并建立數(shù)據(jù)塊與元數(shù)據(jù)之間的索引; 6)數(shù)據(jù)歸檔模塊將入庫完成的數(shù)據(jù)進(jìn)行歸檔,形成日志文件。2.根據(jù)權(quán)利要求1所述的一種基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法,其特征在于所述的步驟I)為:數(shù)據(jù)監(jiān)聽器是一個(gè)常駐在數(shù)據(jù)服務(wù)器上的模塊,它會周期性地啟動線程,用于連接全球Argo數(shù)據(jù)相關(guān)的各個(gè)遠(yuǎn)程數(shù)據(jù)主機(jī),并通過日志文檔判斷指定目錄上是否有新的Argo數(shù)據(jù)生成,一旦有新文件生成,則將該數(shù)據(jù)文件轉(zhuǎn)發(fā)到數(shù)據(jù)服務(wù)器上,并記錄在日志文檔中。3.根據(jù)權(quán)利要求1所述的一種基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法,其特征在于所述的步驟2)為:數(shù)據(jù)分類器對匯總在數(shù)據(jù)服務(wù)器上的Argo數(shù)據(jù)文件進(jìn)行分類,DAT文件格式為全球Argo浮標(biāo)元數(shù)據(jù),NetCDF文件格式的為全球Argo浮標(biāo)觀測剖面數(shù)據(jù),PNG文件格式的為全球Argo網(wǎng)格化數(shù)據(jù)產(chǎn)品,由此將這三類文件劃分到各自的數(shù)據(jù)中心。4.根據(jù)權(quán)利要求1所述的一種基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法,其特征在于所述的步驟3)為:數(shù)據(jù)控制器根據(jù)文件名稱從PostgreSQL關(guān)系型數(shù)據(jù)庫中查詢是否存在該數(shù)據(jù)文件,并根據(jù)文件大小判斷該數(shù)據(jù)文件是否完整,若符合數(shù)據(jù)庫中不存在該數(shù)據(jù)文件且數(shù)據(jù)文件完整,則可確定為新的數(shù)據(jù)文件,可以入庫。5.根據(jù)權(quán)利要求1所述的一種基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法,其特征在于所述的步驟4)為:數(shù)據(jù)提取器從全球Argo浮標(biāo)元數(shù)據(jù)文件、全球Argo浮標(biāo)觀測剖面數(shù)據(jù)文件和全球Argo網(wǎng)格化數(shù)據(jù)產(chǎn)品中分別提取對應(yīng)的元數(shù)據(jù),同時(shí)從全球Argo浮標(biāo)觀測剖面數(shù)據(jù)文件提取塊數(shù)據(jù)并轉(zhuǎn)換為JSON格式文件。6.根據(jù)權(quán)利要求1所述的一種基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法,其特征在于所述的步驟5)為: 5.1)數(shù)據(jù)入庫模塊將步驟4)中提取出來的結(jié)構(gòu)化的元數(shù)據(jù)記錄到PostgreSQL關(guān)系型數(shù)據(jù)庫中,主要存儲在浮標(biāo)元數(shù)據(jù)表、浮標(biāo)觀測剖面數(shù)據(jù)信息表和浮標(biāo)網(wǎng)格化數(shù)據(jù)產(chǎn)品信息表這三類表,其中浮標(biāo)元數(shù)據(jù)表用于存儲所有Argo浮標(biāo)的元數(shù)據(jù)信息,即每個(gè)Argo浮標(biāo)的技術(shù)參數(shù),包括WMO編號、平臺號、傳輸系統(tǒng)、信號傳輸重復(fù)率、定位系統(tǒng)、制造商、剖面采樣方向、傳感器信息以及循環(huán)信息;浮標(biāo)觀測剖面數(shù)據(jù)信息表用于存儲所有觀測剖面相關(guān)信息,為提高查詢效率,該表按年份分多表存儲,包括浮標(biāo)ID、WMO編號、剖面循環(huán)數(shù)、剖面觀測方向、日期以及經(jīng)瑋度;浮標(biāo)網(wǎng)格化數(shù)據(jù)產(chǎn)品信息表用于存儲所有網(wǎng)格化數(shù)據(jù)產(chǎn)品相關(guān)信息,包括產(chǎn)品類別、產(chǎn)品日期、產(chǎn)品范圍; 5.2)數(shù)據(jù)入庫模塊將非結(jié)構(gòu)化的JSON和PNG文件數(shù)據(jù)塊上傳到HDFS分布式存儲系統(tǒng),并在多個(gè)物理節(jié)點(diǎn)上完成存儲和冗余備份,其數(shù)據(jù)塊訪問路徑存放在集群的主節(jié)點(diǎn)上; 5.3)數(shù)據(jù)入庫模塊同時(shí)將數(shù)據(jù)塊訪問路徑與對其對應(yīng)的元數(shù)據(jù)信息統(tǒng)一存儲在PostgreSQL關(guān)系型數(shù)據(jù)庫中,以此建立數(shù)據(jù)塊與元數(shù)據(jù)之間的索引,實(shí)現(xiàn)全球Argo數(shù)據(jù)在HDFS分布式存儲系統(tǒng)和PostgreSQL關(guān)系型數(shù)據(jù)庫的混合存儲。7.根據(jù)權(quán)利要求1所述的一種基于混合數(shù)據(jù)庫架構(gòu)的全球Argo數(shù)據(jù)存儲與更新方法,其特征在于所述的步驟6)為:數(shù)據(jù)歸檔模塊將入庫完成的數(shù)據(jù)進(jìn)行歸檔,以日為單位,按照全球Argo數(shù)據(jù)的三個(gè)類別分別形成日志文件。
【文檔編號】G06F17/30GK105930381SQ201610230748
【公開日】2016年9月7日
【申請日】2016年4月13日
【發(fā)明人】曹敏杰, 許建平, 劉增宏, 孫朝輝, 吳曉芬, 盧少磊
【申請人】國家海洋局第二海洋研究所