蔡 維,尚雷明,楊子輝,石志勇,郝麗娟,胡麗琴
1(中國科學院 核能安全技術研究所 中子輸運理論與輻射安全重點實驗室,合肥 230031)
2(中國科學技術大學,合肥 230027)
3(中國人民解放軍96901 部隊,北京 100094)
聚變實驗裝置是開展聚變堆設計及實驗研究的重要平臺[1],現有聚變實驗裝置的參數指標對聚變堆系統(tǒng)的設計創(chuàng)新工作具有重要參考價值[2].但參數指標等數據資料來源多樣,且國內缺少便捷的聚變實驗裝置數據檢索渠道與可視化對比工具[3],國際上也尚未建成針對聚變實驗裝置的數據庫系統(tǒng),限制了科研人員的信息獲取效率[4,5].因此,建立一套針對聚變實驗裝置的專業(yè)數據庫,降低聚變實驗裝置信息獲取與分析的成本,對提高聚變堆設計研究效率具有重要意義.
本文在核安全科技領域云與聚變物理專題數據庫的框架下[6],設計開發(fā)了一套聚變實驗裝置數據庫系統(tǒng),解決了多源異構數據的采集,規(guī)整,存儲,查詢問題,實現了針對聚變實驗裝置數據的多字段智能檢索與多維可視化比對分析功能;收錄了國內外主要在運,在建,以及退役的聚變實驗裝置的基本信息,設計參數,運行參數等數據.為聚變科研人員提供穩(wěn)定,可靠的裝置數據源與方便,快捷的數據服務.
聚變實驗裝置數據庫的主要建設目標是為用戶提供便捷,可靠的數據服務,同時服務的穩(wěn)定性,可維護性是數據庫服務的基本需求,因此數據庫系統(tǒng)設計階段需要考慮框架結構的穩(wěn)定性,可靠性,同時易于拓展,便于多字段智能檢索與多維可視化比對分析工具開發(fā).
為滿足上述條件,本文采用成熟穩(wěn)定的MVC 架構[7]作為基礎架構,以保障服務的穩(wěn)定可靠.同時采用了Vue.js[8]作為前端框架,以保障功能拓展的便利性.
此外,本文研究設計并構建了針對多源數據的數據規(guī)整方法;實現了對參數指標,文檔圖片等異構數據的統(tǒng)一存儲;開發(fā)了面向聚變實驗裝置的多維可視化比對分析工具,為用戶提供穩(wěn)定便捷的綜合數據服務.
聚變實驗裝置數據庫的總體結構架構如圖1所示.數據庫的總體架構分為4 層,分別為數據層、數據持久層、業(yè)務層、表示層[9].其中,數據層為底層數據庫,進行數據資源的存取管理;數據持久層進行數據庫鏈接管理,保障數據庫運行的穩(wěn)定,可靠;業(yè)務層為后臺服務程序,處理用戶請求;表示層為業(yè)務前端,進行用戶輸入處理,數據可視化展示.
聚變實驗裝置數據的主要數據類型包括數值數據,文本數據,圖片數據,文檔數據.對這些異構數據的存儲是數據庫結構設計的主要問題.
這4 類數據中,數值數據和文本數據直接存儲于數據庫中,圖片數據與文檔數據則存儲于文件服務器中,并將引用鏈接以數據的形式存儲于數據庫中.數據庫的主要表結構如圖2所示.
圖1 聚變實驗裝置數據庫架構
圖2 聚變實驗裝置數據庫UML 圖
聚變實驗裝置表(fusion_devices)存儲了聚變實驗裝置的基本信息,包括名稱,所在國家與類型,所在機構等;同時存儲了等離子體大半徑等常用關鍵參數,用于提供快速檢索服務.
由于聚變實驗裝置參數具有類型多樣,不斷更新的特性,針對同一裝置往往有不同版本,不同來源,不同類型的參數.如JET 裝置就從圓截面偏濾器型托卡馬克升級為D 偏濾器型托卡馬克[10],裝置類型,特征均有變化,單一數據結構無法有效存儲.
為解決這一問題,聚變實驗裝置數據庫中通過建立單獨的參數分類表(data_categories)來進行參數類型的管理.裝置因升級而產生新類型的參數數據后,管理員可直接通過參數分類表來直接新增新的參數類別,以支持聚變實驗裝置升級改造產生的參數變動.同時參數分類表作為標準參數名對照表進行數據規(guī)整.
參數值表(data_collated)中存儲經過數據規(guī)整后的裝置數據,主要字段為數據類型,數值數據值,文本數據值,同時記錄管理員審核的相關信息,其中文本數值中包括了圖片,文檔等參考文獻的鏈接.
聚變實驗裝置數據庫采用前后端分離的MVC 架構,使用MySQL 作為基礎數據庫,Mybatis 作為數據中間件,Vue.js 作為前端框架的技術棧[11].
數據層采用MySQL 數據庫作為底層數據庫管理系統(tǒng)(RDBMS)對數據進行管理.同時針對圖片,文檔等非結構化數據,直接使用文件系統(tǒng)進行存儲,管理.
數據持久層采用MyBatis 作為DAO (Data Access Object)組件,以完成對數據庫訪問的持久化設置[12],保障數據服務的穩(wěn)定性,可靠性.
業(yè)務層采用MVC 架構,進行后臺服務,處理用戶請求及進行模型,視圖處理,生成用戶視圖返回表示層的前端應用.同時,聚變實驗裝置數據庫管理系統(tǒng)中,使用Redis 數據庫[13]作為Token 緩存數據庫,處理用戶在線狀態(tài)等信息[14],實現用戶數據上傳及管理員身份認證等功能.
表示層前端應用采用Vue.js 作為基礎框架,以此為基礎開發(fā)實現了多字段智能檢索功能的前端控制部分,并對后臺檢索到的數據進行多維可視化分析.圖3為聚變實驗裝置數據庫的首頁.
圖3 聚變實驗裝置庫首頁
聚變實驗裝置數據庫面向用戶提供多字段智能檢索,多維數據比對分析功能,能夠對聚變實驗裝置數據進行快速檢索并進行可視化的數據分析.
聚變實驗裝置的數據字段繁多且格式多樣,單一條件檢索難以定位用戶所需的裝置數據.為解決這一問題,聚變實驗裝置數據庫向用戶提供多字段,多關鍵詞的智能檢索功能.
在多字段智能檢索頁面中,用戶可自行添加檢索條件,并設置檢索條件間約束關系.檢索條件中,支持用戶指定裝置名稱,裝置所在國家,裝置所在單位,裝置建成年份等文本關鍵詞檢索.同時,針對裝置大小半徑,中心磁場強度,等離子體最大電流,輔助加熱總功率等數值參數,支持用戶進行大于、小于、介于等數值條件檢索.圖4展示了多字段檢索功能界面及檢索示例.
圖4 多字段檢索功能
為避免繁瑣的檢索條件輸入和復雜的檢索界面,本系統(tǒng)采用通用檢索和自定義條件數目來提升檢索效率,使用戶可根據需求進行單條件簡單檢索和多維復合檢索.此外,聚變實驗裝置數據庫還提供數值,文本的跨類型檢索.功能實現上采用了前后端分離,前端條件處理,后端語句查詢的方式.具體過程如圖5所示.
前端程序中,用戶輸入,新增的檢索條件由Vue 前端程序進行控制,包括新增條件,數值條件與文本條件的區(qū)分,邏輯關系梳理.用戶完成條件設置后,整理為包含了所有文本條件及數值條件的條件數組,并形成用于文本檢索的SQL 語句和用戶數值檢索的檢索條件.前端處理完成后,通過JOSN 數據包的形式傳送至業(yè)務層后臺應用.
圖5 多字段檢索功能流程圖
后臺應用中,首先針對文本條件對MySQL 數據庫進行檢索,檢索完成后針對返回的結果數組按照數值檢索條件進行數值匹配,得到符合用戶條件的檢索結果,生成視圖并返回表示層前端,供用戶瀏覽或進行比對分析.
聚變實驗裝置的結構多樣,參數繁多,且不同裝置側重點不同,為了直觀對比不同裝置各方面的差異,特征,本系統(tǒng)開發(fā)了多維度對比分析功能,支持等離子體大半徑,等離子體小半徑,最大磁場強度,最大等離子體電流,輔助加熱總功率5 個維度的參數可視化對比功能,向用戶提供直觀的數據對比工具.
該功能基于echarts 數據可視化插件進行開發(fā),并針對聚變實驗裝置的特性,制定了不同的可視化方案,為用戶提供雷達圖、平行坐標圖、柱狀圖3種數據可視化方案.
通過雷達圖,用戶可直觀了解不同聚變實驗裝置各個方面的綜合差異;平行坐標圖則展示了針對某個參數的裝置特征;柱狀圖則是基礎視圖,供用戶選擇使用.圖6為多維可視化比對分析功能的具體示例.
圖6 多維可視化比對分析功能示例
聚變實驗裝置數據庫的初始數據來源于人工收集,整理,校驗.為了保證數據的廣泛性和及時性,聚變實驗裝置數據庫向用戶開放了數據上傳功能.
普通用戶可通過聚變實驗裝置數據庫系統(tǒng)向數據庫中提交新數據,而數據庫管理員則可通過管理員賬號對數據庫中所有數據進行管理,并對聚變實驗裝置數據庫中其他用戶上傳的數據進行審核操作.
此外,聚變實驗裝置數據庫同時也向用戶提供了應用程序編程接口(API),用戶可通過API 進行檢索,獲取數據庫數據等操作,開發(fā)第三方應用.關鍵接口如表1所示,其中多字段復合檢索功能的關鍵字SQLstr為多字段復合檢索中的文本檢索條件,而condition 數組則為數值檢索條件組.聚變實驗裝置數據庫中,所有API 的返回值均為JSON 數據包,用戶可根據相關文檔進行處理和使用.
表1 聚變實驗裝置庫系統(tǒng)API(部分)
聚變實驗裝置數據是典型的多源異構數據.數據采集,數據規(guī)整是保障數據庫準確性的重要工作內容.
聚變實驗裝置數據主要來源于各裝置所在機構發(fā)布的官方文檔,論文,報告等文獻資料以及網絡百科,國際公開數據庫等網絡渠道.數據結構方面包括了數值數據,文本數據,圖片資料等類型.
數據采集過程主要通過人工收集,整理進行,并在數據庫中以長文本的方式記錄數據名稱,數據值,數據標題,數據更新時間等關鍵數據.
對于網絡數據源,如網絡百科,機構網站等,在數據收集過程中直接保存網頁中所有文本,鏈接.對于這部分資料,以長文本的形式存儲于數據庫中,而對其中的圖片,視頻等數據,則下載到文件服務器中保存,并在數據庫中記錄存儲路徑與引用鏈接.
對于文獻數據源,由人工錄入相關參數,手動輸入文獻中涉及到的裝置參數名與參數值,并錄入相關的介紹文本等信息.以文本方式存儲于數據庫中,并保存文獻發(fā)表時間,內容標題,文獻鏈接等資料.
此外,部分新聞稿件中也會涉及到相關裝置的參數值,參數名,對于這些數據源,則作為參考資料存儲于原始數據表中,供后續(xù)應用開發(fā)使用.
原始數據錄入后,是以長文本的形式存儲于MySQL數據表中,而管理員審核的是裝置的數值化數據.將文本數值轉化為供管理員審核的數值數據這一過程為數據規(guī)整的預處理過程.
預處理具體步驟如下:
0)初始化:原始文本RC,標準參數名SN,處理后的參數值PP.
1)從data_raw 中讀取未經處理的原始數據RC,從data_categories 中取出SN.
2)將RC 的文本進行分段,對每段進行SN 匹配,并在匹配結果后檢索數值PP.
3)將[PP]-[SN]對存入data_collated 表中,并將check_status 置位為未檢索.
4)從data_collated 讀取category_id 及device_id 相同的數據組,生成交叉校核表crosstab.
5)判斷crosstab 中數值是否相同,若相同則將check_status 置位為自動通過,不同則置位為需要人工檢查.
預處理完成得到的數值數據交由數據庫管理員進行審核,審核完成后的數據可通過簡單檢索或多字段復合檢索進行查詢.同時,管理員可隨時對數據進行復核,二次校驗等操作,以保證數據庫數據的準確性.
完成審核與校驗后的數據即可通過聚變實驗裝置數據庫系統(tǒng)進行多維檢索,比對分析等操作.
本文依托核安全科技領域云及其聚變物理專題數據庫框架,設計并研發(fā)了聚變實驗裝置數據庫,實現了聚變實驗裝置參數的統(tǒng)一入庫管理,以及多字段智能檢索與多維度可視化比對分析.此外,收集整理了國內外典型聚變實驗裝置的參數信息,并進行了入庫管理與分析.該數據庫配合虛擬核電站Virtual4DS[15]等核設計與安全分析系統(tǒng),可以為聚變堆系統(tǒng)的創(chuàng)新設計提供支持.
目前,課題組正在結合聚變實驗裝置數據的特點,開展數據庫數據的自動爬取與自動化質量評估技術方面的研究與功能研發(fā)工作.同時,除托卡馬克裝置外,也正在對仿星器,慣性約束裝置等其它更多類型的聚變實驗裝置開展數據收集工作.
致謝
衷心感謝鳳麟團隊其他相關成員的幫助和指導.