999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MongoDB的EAST實驗元數(shù)據(jù)管理系統(tǒng)

2022-06-22 06:14:02任環(huán)宇范帝鑫
自動化與儀表 2022年6期
關(guān)鍵詞:數(shù)據(jù)庫用戶實驗

任環(huán)宇,王 楓,范帝鑫

(1.中國科學(xué)院合肥物質(zhì)科學(xué)研究院,合肥 230031;2.中國科學(xué)技術(shù)大學(xué) 研究生院科學(xué)島分院,合肥 230026)

EAST[1]是我國設(shè)計建造的國際上第一個全超導(dǎo)托卡馬克實驗裝置。隨著EAST 實驗的進(jìn)一步展開,服務(wù)于EAST 的數(shù)據(jù)倉庫存儲的數(shù)據(jù)量越來越大,數(shù)據(jù)格式繁雜。 數(shù)據(jù)庫源眾多,數(shù)據(jù)倉庫中的相機(jī)數(shù)據(jù)、實驗數(shù)據(jù)、工程數(shù)據(jù)所對應(yīng)的存儲數(shù)據(jù)庫也都不同,包括Mdsplus[2]、hdf5、視頻文件、MySQL 等多種存儲形式, 并且存儲量已經(jīng)達(dá)到100 TB 級別,數(shù)據(jù)倉庫存儲著豐富海量的數(shù)據(jù)。 EAST 實驗裝置每個系統(tǒng)采用獨(dú)立的存儲解決方案。 各個子系統(tǒng)的數(shù)據(jù)存儲結(jié)構(gòu)松散,缺少統(tǒng)一的資源目錄。 這為裝置整體的數(shù)據(jù)管理、數(shù)據(jù)運(yùn)維、數(shù)據(jù)服務(wù)造成了很大的困難, 用戶對數(shù)據(jù)倉庫的資源概覽也異常困難,極大加劇了用戶使用相關(guān)數(shù)據(jù)的學(xué)習(xí)成本。

元數(shù)據(jù)是“描述數(shù)據(jù)”的數(shù)據(jù)[3]。 在核聚變工程領(lǐng)域,存在很多極有價值的元數(shù)據(jù)信息,例如信號元數(shù)據(jù)、存儲元數(shù)據(jù)、放電實驗摘要等。 將聚變實驗裝置的各類元數(shù)據(jù)有序的收集,建立統(tǒng)一的數(shù)據(jù)庫能夠形成整個聚變系統(tǒng)信息數(shù)據(jù)資源的準(zhǔn)確視圖,通過元數(shù)據(jù)的統(tǒng)一視圖,縮短聚變相關(guān)科學(xué)實驗數(shù)據(jù)清理周期、提高科學(xué)數(shù)據(jù)質(zhì)量以便能系統(tǒng)性地管理科學(xué)數(shù)據(jù)中心項目中來自各子系統(tǒng)的海量數(shù)據(jù)的訪問請求。 梳理各個子系統(tǒng)元數(shù)據(jù)之間的關(guān)系,建立信息數(shù)據(jù)標(biāo)準(zhǔn)完善對這些數(shù)據(jù)的解釋、 定義,形成EAST 實驗裝置內(nèi)部范圍內(nèi)一致、 統(tǒng)一的數(shù)據(jù)定義,并可以對這些實驗數(shù)據(jù)來源、運(yùn)作情況、變遷等進(jìn)行跟蹤分析提供重要的基礎(chǔ)架構(gòu)支撐。 目前該系統(tǒng)于2021年12月開發(fā)完成并已經(jīng)在等離子體物理研究所托卡馬克裝置EAST 上驗證并部署應(yīng)用,并計劃應(yīng)用于下一代中國工程實驗堆(CFERT)。

1 研究背景

國內(nèi)已有相關(guān)研究包括EAST 實驗數(shù)據(jù)檢索系統(tǒng)[4]和統(tǒng)一數(shù)據(jù)訪問接口方法的研究[5]。 前者的系統(tǒng)基于MySQL 的數(shù)據(jù)模型,對信號元數(shù)據(jù)進(jìn)行建模和管理,后者系統(tǒng)聚焦于屏蔽底層數(shù)據(jù)格式,建立多源異構(gòu)場景下的統(tǒng)一數(shù)據(jù)訪問。

目前EAST 實驗裝置都是采取獨(dú)立數(shù)據(jù)庫直接訪問數(shù)據(jù)的形式進(jìn)行數(shù)據(jù)的獲取,在多源異構(gòu)聚變實驗數(shù)據(jù)的環(huán)境下,建立面向元數(shù)據(jù)的統(tǒng)一的資源目錄的設(shè)計和管理規(guī)范,對聚變實驗等大科學(xué)實驗裝置的數(shù)據(jù)運(yùn)維、數(shù)據(jù)服務(wù)有很大的工程意義。

2 系統(tǒng)設(shè)計

2.1 需求分析

基于EAST 實驗裝置的多源異構(gòu)的場景下,需要數(shù)據(jù)庫服務(wù)開發(fā)者構(gòu)建統(tǒng)一的資源管理目錄:

(一)配合統(tǒng)一數(shù)據(jù)訪問接口UDA,建立起一整套的統(tǒng)一數(shù)據(jù)訪問的服務(wù)體系。 通過資源目錄查詢數(shù)據(jù)的狀態(tài)、獲取數(shù)據(jù)的路徑,然后通過UDA 去獲取具體的實驗數(shù)據(jù)。

(二)優(yōu)化用戶訪問過程。 通過數(shù)據(jù)資源目錄,用戶能快速查看目標(biāo)數(shù)據(jù)的狀態(tài)。

系統(tǒng)需要提供合適的元數(shù)據(jù)存儲解決方案,以Mdsplus 數(shù)據(jù)源為例,當(dāng)前實驗已經(jīng)進(jìn)行到100000+炮實驗,系統(tǒng)需要針對其龐大的元數(shù)據(jù)提供快速的、毫秒級的元數(shù)據(jù)查詢檢索功能。

2.2 數(shù)據(jù)庫選型

在數(shù)據(jù)庫選型上,系統(tǒng)基于元數(shù)據(jù)的結(jié)構(gòu)、典型的業(yè)務(wù)訴求,需要綜合考慮以下幾個方面。

EAST 實驗裝置本身的實驗數(shù)據(jù)按照樹形結(jié)構(gòu)來存儲,因此在數(shù)據(jù)庫的選型中,需要圍繞這種特殊的結(jié)構(gòu)進(jìn)行考察。 在多源異構(gòu)場景下,系統(tǒng)需要有很強(qiáng)的可擴(kuò)展性,豐富的API 支持,只讀性。元數(shù)據(jù)一旦存入數(shù)據(jù)庫中,基本用于查詢,很少被更改。

面向文檔數(shù)據(jù)庫會將數(shù)據(jù)以文檔的形式儲存[6]。 每個文檔都是自包含的數(shù)據(jù)單元,是一系列數(shù)據(jù)項的集合,以MongoDB 為代表。 基于它的弱模式結(jié)構(gòu), 不改變模式下就可以儲存不同的度量方法及添加新的度量,這帶來了極高的擴(kuò)展性。 以MongoDB 為代表面向文檔的NoSQL 數(shù)據(jù)庫適用存儲,為多語言提供了豐富的API。 MongoShell 也支持豐富的增刪改查操作,其最大的特點(diǎn)是基于document(xml、json、bson 文件的封裝)的存儲格式,存儲字典或者嵌套字典。 MongoDB 在存儲、接口、數(shù)據(jù)格式、可擴(kuò)展性這些元數(shù)據(jù)庫所關(guān)注的方面有非常好的權(quán)衡。

綜上所述,針對EAST 這類科學(xué)裝置的數(shù)據(jù)資源目錄管理,面向文檔類型的NoSQL 在存儲、接口、數(shù)據(jù)分析、擴(kuò)展性、性能等方面有很好的平衡和適配。因此本系統(tǒng)最終選擇MongoDB 為元數(shù)據(jù)庫的底層數(shù)據(jù)庫。

2.3 系統(tǒng)架構(gòu)

整個元數(shù)據(jù)管理系統(tǒng)從采集元數(shù)據(jù)到提供給客戶服務(wù)共分為4 層,最底層的是EAST 實驗裝置的多數(shù)據(jù)源,也是整個元數(shù)據(jù)的提取源頭。 包括了存儲實驗數(shù)據(jù)的Mdsplus、MySQL 以及存儲相機(jī)數(shù)據(jù)的數(shù)據(jù)庫,系統(tǒng)架構(gòu)如圖1 所示。

圖1 系統(tǒng)架構(gòu)圖Fig.1 System architecture

數(shù)據(jù)層包括實驗放電監(jiān)聽模塊、元數(shù)據(jù)提取模塊等元數(shù)據(jù)后端的管理模塊。 為了更好的元數(shù)據(jù)采集性能,這個模塊中系統(tǒng)采用的技術(shù)路線主要是以更貼近底層語言的C++, 元數(shù)據(jù)庫采用的是典型的NoSQL 類型的數(shù)據(jù)庫MongoDB 以及MongoDB 為C++提供的調(diào)用接口。

在元數(shù)據(jù)服務(wù)層,系統(tǒng)通過調(diào)用元數(shù)據(jù)庫提供的API,基于B/S 模式和spring MVC 的系統(tǒng)設(shè)計理念,使用springboot+MongoDB 的技術(shù)路線在后端封裝元數(shù)據(jù)對外服務(wù)。

用戶通過瀏覽器使用訪問所提供的元數(shù)據(jù)查詢、元數(shù)據(jù)統(tǒng)計得到的各種統(tǒng)計圖、元數(shù)據(jù)監(jiān)控等服務(wù)。 使用bootstrap 提供的JGrid 分頁工具對松散靈活的樹形層狀元數(shù)據(jù)進(jìn)行可視化展示, 使用Thymeleaf 作為模版引擎,將后臺元數(shù)據(jù)相關(guān)的業(yè)務(wù)邏輯注入前端的模版中。

2.4 數(shù)據(jù)庫設(shè)計

系統(tǒng)按照shot 為單位存儲元數(shù)據(jù)。 基于炮號的反范式數(shù)據(jù)建模,在擴(kuò)展性、查詢性能充分借鑒關(guān)系型和非關(guān)系型數(shù)據(jù)模型的優(yōu)勢。 在實現(xiàn)上,基于MongoDB 的基本存儲單元——文檔以及基于array的文檔嵌套,能夠很容易地存儲樹形元數(shù)據(jù)。 具體的數(shù)據(jù)模型如圖2 所示。

圖2 元數(shù)據(jù)模型Fig.2 Meta data model

2.5 元數(shù)據(jù)管理平臺

元數(shù)據(jù)提取模塊會連接多源的數(shù)據(jù)庫,并提取系統(tǒng)關(guān)注的元數(shù)據(jù)信息。 將元數(shù)據(jù)實時采集并按格式存儲到元數(shù)據(jù)庫中。

數(shù)據(jù)管理員通過元數(shù)據(jù)管理平臺提供的狀態(tài)巡檢模塊確保元數(shù)據(jù)庫中的數(shù)據(jù)是準(zhǔn)確的;通過統(tǒng)計數(shù)據(jù)更新模塊持久化更新常用的統(tǒng)計表、索引信息,以此來優(yōu)化訪問性能;通過元數(shù)據(jù)庫的日志來對元數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行監(jiān)控和維護(hù)。

元數(shù)據(jù)提取模塊監(jiān)聽到shot complete 事件之后,表明實驗相關(guān)的數(shù)據(jù)已經(jīng)采集完畢入庫,實驗裝置正在為下一次放電實驗做準(zhǔn)備, 在這個間隙,系統(tǒng)基于mdsplus 提供的C++API 以及一系列訪問數(shù)據(jù)庫的tcl 命令,遍歷Mdsplus 數(shù)據(jù)庫的各個sub-Tree 并提取元數(shù)據(jù)。 系統(tǒng)的具體流程如圖3 所示。

圖3 系統(tǒng)流程Fig.3 System flow chart

3 系統(tǒng)實現(xiàn)

3.1 構(gòu)建元數(shù)據(jù)庫

基于Mdsplus 數(shù)據(jù)庫提供的C++的event 類,開發(fā)監(jiān)聽模塊。 使用Mdsplus 的currentShot 類獲取事件后返回最大炮號,進(jìn)行元數(shù)據(jù)提取。 提取完成之后,系統(tǒng)將涉及的統(tǒng)計的mongoShell 編寫成json 文件,提取結(jié)束之后自動執(zhí)行。 通過文檔嵌套的實現(xiàn)方法,來模擬松散、可擴(kuò)展的樹形結(jié)構(gòu)。 構(gòu)建數(shù)據(jù)結(jié)構(gòu)的偽代碼流程如下所示。

3.2 數(shù)據(jù)庫性能

測試在Centos7.9-64bit 的操作系統(tǒng)下進(jìn)行,MongoDB 的版本號為v4.0.6。 測試數(shù)據(jù)量一共20000 shots,存儲空間占用23.4 G,平均每炮實驗下有5000~10000 不等的信號元數(shù)據(jù)。

數(shù)據(jù)庫的查詢主要分成兩類。 一類是基于索引字段的點(diǎn)查詢,精確到某個文檔的數(shù)據(jù)。 一類是掃描全集元數(shù)據(jù),對某個字段進(jìn)行統(tǒng)計求和或者聚合分組。 性能測試結(jié)果如表1 所示。

表1 元數(shù)據(jù)庫查詢性能測試結(jié)果Tab.1 Metadata database performance test

3.3 統(tǒng)計數(shù)據(jù)更新

元數(shù)據(jù)庫通過API 接口封裝,為外部用戶提供進(jìn)一步的數(shù)據(jù)挖掘服務(wù)。 例如用戶查詢每個信號量的數(shù)據(jù)量計數(shù),查詢語句如下文所示。 查詢的部分結(jié)果如圖4 所示。

圖4 信號名聚合統(tǒng)計結(jié)果Fig.4 Signal name aggregation statistics result

除此以外,還可以基于建立的元數(shù)據(jù)封裝更多的跨炮間的數(shù)據(jù)統(tǒng)計、分析服務(wù),這個功能彌補(bǔ)了原始多源異構(gòu)數(shù)據(jù)倉庫架構(gòu)無法實現(xiàn)的功能。

3.4 資源目錄設(shè)計

作為提供給用戶使用的資源目錄,前端設(shè)計得方便、 易用十分的重要。 本系統(tǒng)基于bootsrap 的JGrid 工具包,設(shè)計了三層的表結(jié)構(gòu)目錄來為用戶呈現(xiàn)樹狀數(shù)據(jù)。 在一級資源目錄中,如圖5 所示,用戶看到一個炮號的列表,這個列表主要包含炮號的索引、摘要索引,以及該炮的一系列元數(shù)據(jù)信息。

圖5 元數(shù)據(jù)一級資源目錄Fig.5 Metadata primary resource directory

用戶點(diǎn)擊炮號索引(即一級目錄中的shot ID),進(jìn)入到二級資源目錄,如圖6 所示,這一級目錄將有關(guān)于該炮更詳細(xì)的元數(shù)據(jù)信息以及統(tǒng)計信息。

圖6 元數(shù)據(jù)二級目錄Fig.6 Metadata secondary directory

用戶點(diǎn)擊信號名索引,進(jìn)入第三級目錄。 這一級目錄是關(guān)于該炮下該信號名元數(shù)據(jù)的具體表單。如圖7 所示,主要包括該信號的采集時間、采樣頻率、轉(zhuǎn)換系數(shù)、零漂、放大倍數(shù)等信號元數(shù)據(jù)。

圖7 三級資源目錄Fig.7 Metadata tertiary directory

以上給出了一個聚變元數(shù)據(jù)庫的展示框架,基于以炮存儲的樹狀存儲設(shè)計,這種展示結(jié)構(gòu)和存儲格式十分靈活。 即便關(guān)于炮號、關(guān)于信號增加了新的元數(shù)據(jù),也可以方便地在對應(yīng)層級的表單中添加對應(yīng)的元數(shù)據(jù)字段,擴(kuò)展起來十分方便。

4 結(jié)語

本文基于EAST 核聚變實驗裝置的元數(shù)據(jù)結(jié)構(gòu),創(chuàng)新地提出了按實驗炮存儲的反范式化的數(shù)據(jù)庫設(shè)計方案, 基于MongoDB 創(chuàng)建了統(tǒng)一元數(shù)據(jù)庫,并開發(fā)了相關(guān)的管理功能模塊,同時集成了文獻(xiàn)[7]中有關(guān)存儲元數(shù)據(jù)的工作。 創(chuàng)建的統(tǒng)一的資源目錄能夠打破各個子系統(tǒng)之間的數(shù)據(jù)壁壘,為后續(xù)的跨實驗之間的數(shù)據(jù)挖掘打下堅實基礎(chǔ),很好地完成了文章開頭提出的需求。

本文在元數(shù)據(jù)模型的擴(kuò)展性、查詢性能、統(tǒng)計性能具有明顯的優(yōu)勢。 100000 炮數(shù)據(jù),平均響應(yīng)時間在毫秒級, 證實了系統(tǒng)所用技術(shù)選型是合理、可用的。 并且能夠和統(tǒng)一數(shù)據(jù)訪問接口相互集成,提供一套完整的統(tǒng)一數(shù)據(jù)訪問、檢索服務(wù)。

未來需要繼續(xù)與統(tǒng)一數(shù)據(jù)訪問接口系統(tǒng)進(jìn)行持續(xù)的集成,為EAST 實驗裝置提供方便可用的數(shù)據(jù)中臺服務(wù)。

猜你喜歡
數(shù)據(jù)庫用戶實驗
記一次有趣的實驗
做個怪怪長實驗
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
NO與NO2相互轉(zhuǎn)化實驗的改進(jìn)
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 色吊丝av中文字幕| AV天堂资源福利在线观看| 国产色伊人| 尤物精品视频一区二区三区| 日本免费一级视频| 亚洲美女高潮久久久久久久| 亚洲性日韩精品一区二区| 久久亚洲AⅤ无码精品午夜麻豆| 亚洲有无码中文网| 经典三级久久| 91av国产在线| 久久久久青草大香线综合精品| 欧美在线综合视频| 人妻无码中文字幕第一区| 午夜精品区| 免费可以看的无遮挡av无码| 91久久偷偷做嫩草影院精品| 蜜桃臀无码内射一区二区三区| 亚洲成人免费看| 亚洲欧美日韩成人在线| 久久99热66这里只有精品一| 亚洲一级色| 婷婷综合缴情亚洲五月伊| 日韩福利视频导航| 亚洲国产成人久久77| 欧美.成人.综合在线| 在线色国产| 亚洲一级毛片在线播放| 美女一级免费毛片| 99久久精品无码专区免费| 亚洲国产日韩一区| 免费人成视频在线观看网站| 亚洲黄色激情网站| 日韩无码黄色| 五月激激激综合网色播免费| 五月婷婷伊人网| 四虎影视库国产精品一区| 国产一区二区福利| 四虎永久免费地址| 国产成人精品日本亚洲| 热热久久狠狠偷偷色男同| 久久久久亚洲Av片无码观看| 国产成人高清亚洲一区久久| 精品国产成人高清在线| 伊人久久青草青青综合| 婷五月综合| 欧美激情视频二区| 成年A级毛片| 久久综合婷婷| 国产一线在线| 久青草网站| 欧美精品综合视频一区二区| 亚洲欧美另类专区| 夜夜操天天摸| 麻豆精品在线视频| 日韩无码视频网站| 国产亚洲精久久久久久无码AV| 日本不卡在线视频| www.亚洲一区二区三区| 亚洲视频黄| 国产成人精品一区二区| 国产va在线观看免费| 1769国产精品视频免费观看| 精品中文字幕一区在线| 无码精品福利一区二区三区| 人人妻人人澡人人爽欧美一区| 久久精品嫩草研究院| 久精品色妇丰满人妻| 欧美在线黄| 国产亚洲高清视频| 国产又爽又黄无遮挡免费观看| 精品偷拍一区二区| 在线不卡免费视频| 亚洲一道AV无码午夜福利| 91亚洲精选| 无遮挡国产高潮视频免费观看| 国产一区二区福利| 亚洲欧美在线综合图区| 视频二区亚洲精品| 91美女视频在线| 国产尤物jk自慰制服喷水| 找国产毛片看|