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

基于MongoDB的HIAF Archive Engine設(shè)計與實現(xiàn)

2019-09-14 01:26:32茍世哲王永平
原子能科學技術(shù) 2019年9期
關(guān)鍵詞:數(shù)據(jù)庫實驗

馬 濤,岳 敏,袁 超,茍世哲,王永平,張 瑋

(中國科學院 近代物理研究所,甘肅 蘭州 730000)

強流重離子加速器裝置(HIAF)是目前在建的超導直線加速器、超導同步加速器和儲存環(huán)組合的先進重離子研究裝置。HIAF采用實驗物理和工業(yè)控制系統(tǒng)(EPICS)作為控制架構(gòu),目前在蘭州重離子研究裝置(HIRFL)上使用Control System Studio(CSS)提供的存儲工具作為HIRFL運行數(shù)據(jù)采集、存儲的工具[1]。在長時間的部署使用后,發(fā)現(xiàn)當前基于EPICS的存儲工具在HIAF或更大規(guī)模的研究裝置上使用時會存在以下不足:1) 僅支持Oracle、MySQL等關(guān)系型數(shù)據(jù)庫的存儲接口,對大數(shù)據(jù)量和多元數(shù)據(jù)格式的存儲缺乏靈活性,系統(tǒng)性能存在瓶頸;2) 提供的存儲模式較單一,不支持對不同子系統(tǒng)數(shù)據(jù)和實驗相關(guān)信息的手動存儲方式,導致歷史數(shù)據(jù)利用率低;3) 未考慮數(shù)據(jù)量累積后利用分庫分表的方案來提升系統(tǒng)可用性和可靠性的方法。

本文針對實際使用中出現(xiàn)的具體問題,從非關(guān)系型數(shù)據(jù)庫接口支持、基于標志位PV的手動存儲模式添加及數(shù)據(jù)庫分布式部署和優(yōu)化的角度實現(xiàn)基于MongoDB的HIAF運行數(shù)據(jù)存儲系統(tǒng)(Archive Engine)。

1 Archive Engine的非關(guān)系型數(shù)據(jù)庫接口設(shè)計與實現(xiàn)

基于EPICS的存儲系統(tǒng)通過注冊PV的方式從IOC獲取需要采集的PV信息,同時提供了基于SQL的關(guān)系型數(shù)據(jù)庫接口[2],圖1為基于EPICS的存儲系統(tǒng)中數(shù)據(jù)庫表的邏輯模型。可看出,對于復雜的數(shù)據(jù)類型,如浮點數(shù)數(shù)組類型的數(shù)據(jù)存儲,需通過標識位記錄數(shù)據(jù)類型,數(shù)據(jù)表只存入數(shù)組第1個值,其余值存入單獨表中的多表操作實現(xiàn)。對于圖像、視頻等實驗數(shù)據(jù)的存儲也同樣缺少靈活性。根據(jù)實際使用情況,HIAF Archive Engine選擇MongoDB作為非關(guān)系型數(shù)據(jù)庫,為Archive工具擴展非關(guān)系數(shù)據(jù)庫接口的支持。

1.1 Archive Engine非關(guān)系型數(shù)據(jù)庫MongoDB

MongoDB是一種分布式文件存儲數(shù)據(jù)庫,其可嵌套的數(shù)據(jù)存儲方式可為復雜的數(shù)據(jù)類型提供簡單易用的存儲方案,無需多表間的join操作[3]。提供動態(tài)查詢、排序、第二索引等豐富的功能接口,可方便地對內(nèi)嵌數(shù)據(jù)進行查詢。同時GridFS作為MongoDB的內(nèi)置功能,能很好地實現(xiàn)對其他文件類型數(shù)據(jù)的存儲[4]。此外,MongoDB有非常好的可擴展性,可在本地或網(wǎng)絡(luò)上快速部署分布式分片。

圖1 基于EPICS的存儲系統(tǒng)中關(guān)系型數(shù)據(jù)庫表邏輯模型Fig.1 Relational database logical model of archive tool based on EPICS

1.2 MongoDB接口實現(xiàn)和寫入性能測試

HIAF Archive Engine在支持關(guān)系型數(shù)據(jù)庫存儲的基礎(chǔ)上,從配置模塊的配置參數(shù)加載和導出、數(shù)據(jù)存儲模塊的數(shù)據(jù)讀取和寫入層上增加對MongoDB的接口支持。使用中只需配置文件中指定MongoDB的URL路徑。且MongoDB支持JavaScript腳本對數(shù)據(jù)庫進行管理,本文為Archive Engine的MongoDB數(shù)據(jù)庫實現(xiàn)了一鍵部署的功能。利用MongoDB可嵌套文件存儲的特點對表結(jié)構(gòu)進行簡化后,Archive Engine的寫入效率得到了極大提升,圖2為用float類型數(shù)據(jù)持續(xù)寫入時MongoDB Archive Engine和Oracle Archive Engine寫入速率的對比。

2 基于標志位PV的手動存儲方案

基于EPICS的存儲系統(tǒng)提供3種模式的數(shù)據(jù)存儲方案:1) Monitored模式,將每個采集到的數(shù)據(jù)寫入數(shù)據(jù)庫存儲;2) Monitored with Threshold模式,當接收到的值和上一次存儲的值相比,其變化幅度超過用戶預設(shè)的threshold值時才將該值寫入數(shù)據(jù)庫;3) Scanned模式,將數(shù)據(jù)按照用戶設(shè)定的Period間隔時間寫入數(shù)據(jù)庫存儲[5]。

其數(shù)據(jù)存儲流程如圖3a所示。

圖2 MongoDB Archive Engine和Oracle Archive Engine持續(xù)寫入速率對比Fig.2 Writing speed comparison between Oracle Archive Engine and MongoDB Archive Engine

運行歷史數(shù)據(jù)的持續(xù)存儲是加速器裝置運行歷史數(shù)據(jù)記錄和后期實驗數(shù)據(jù)分析處理的基礎(chǔ)[6],但現(xiàn)有的基于EPICS的存儲系統(tǒng)提供的存儲策略缺少對實驗離子類型、實驗條件和實驗人員等實驗信息的記錄,導致歷史數(shù)據(jù)有效信息檢索困難、數(shù)據(jù)利用率低的問題[7]。HIAF Archive Engine 實現(xiàn)了基于標志位PV的手動存儲方案,前端由CSS界面為實驗人員提供數(shù)據(jù)存儲界面(圖4)。后端Archive Engine注冊相關(guān)子系統(tǒng)和存儲命令的PV監(jiān)聽,收到存儲命令后讀取相關(guān)實驗信息的PV值作為檢索條件存入數(shù)據(jù)庫,并開始對該子系統(tǒng)下運行數(shù)據(jù)的采集和存儲,流程如圖3b所示。

圖3 HIAF Archive Engine自動(a)和手動(b)存儲策略Fig.3 Automatic archive strategy (a) and manual archive strategy (b) of HIAF Archive Engine

圖4 數(shù)據(jù)保存CSS界面Fig.4 Manual archive GUI in CSS

3 HIAF Archive Engine數(shù)據(jù)庫分布式分片部署

隨著歷史數(shù)據(jù)的積累,Archive Engine的數(shù)據(jù)存儲負載將持續(xù)增加。傳統(tǒng)的數(shù)據(jù)庫分區(qū)方案中,多表操作和事務操作等會受到分區(qū)方案影響,甚至大規(guī)模數(shù)據(jù)遷移時會造成服務中斷,MongoDB有更高效的自動分片和動態(tài)均衡技術(shù)[8]。

Archive Engine的MongoDB分片主要分為3個部分,即分片節(jié)點Shard、配置節(jié)點Config Server和路由節(jié)點Mongos(圖5)。其中路由節(jié)點Mongos主要負責在Archive Engine和分片節(jié)點間做數(shù)據(jù)路由、數(shù)據(jù)遷移和負載平衡;分片節(jié)點Shard是實際的數(shù)據(jù)節(jié)點;配置節(jié)點Config Server存儲元數(shù)據(jù),記錄數(shù)據(jù)的位置和分片節(jié)點的部署情況[9]。Archive Engine根據(jù)數(shù)據(jù)檢索以單次實驗子系統(tǒng)數(shù)據(jù)為檢索條件的特點,將子系統(tǒng)名稱和時間戳組合作為分片的Shard Key,有效提升Archive Engine的讀寫性能[10]。

圖5 Archive Engine MongoDB分片部署結(jié)構(gòu)Fig.5 Archive Engine MongoDB sharding structure

4 結(jié)論及展望

HIAF Archive Engine在現(xiàn)有的運行數(shù)據(jù)歸檔系統(tǒng)的基礎(chǔ)上,增加了基于MongoDB的NoSQL接口支持,提升了運行數(shù)據(jù)存儲系統(tǒng)對非格式化數(shù)據(jù)存儲的靈活性和效率;增加了手動存儲數(shù)據(jù)的方案,提升了歷史數(shù)據(jù)檢索的準確性和數(shù)據(jù)利用率;通過部署分布式分片的MongoDB數(shù)據(jù)庫,解決了歷史數(shù)據(jù)累積后整個系統(tǒng)運行效率降低的問題。HIAF Archive Engine在后續(xù)使用中還將根據(jù)新的需求持續(xù)改進。

猜你喜歡
數(shù)據(jù)庫實驗
記一次有趣的實驗
微型實驗里看“燃燒”
做個怪怪長實驗
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
NO與NO2相互轉(zhuǎn)化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 亚洲第一香蕉视频| 黄色一级视频欧美| 精品少妇人妻av无码久久| 人妖无码第一页| 亚洲激情99| 综合色天天| 大陆精大陆国产国语精品1024| 国产精品久线在线观看| 国产91特黄特色A级毛片| 毛片最新网址| 少妇人妻无码首页| 欧美另类图片视频无弹跳第一页| 久久国产精品嫖妓| 免费毛片a| 国产福利免费视频| 99r在线精品视频在线播放| 尤物精品国产福利网站| 亚洲一区二区三区在线视频| 爆操波多野结衣| 五月激情综合网| 国产特一级毛片| www欧美在线观看| 一级毛片中文字幕| 国产一区二区人大臿蕉香蕉| 国产免费怡红院视频| 欧美一级高清视频在线播放| аv天堂最新中文在线| 婷婷五月在线视频| 欧美成人精品在线| 国产素人在线| 色精品视频| 国产在线视频二区| 99热精品久久| 国产亚洲高清在线精品99| 免费一级α片在线观看| 凹凸精品免费精品视频| 国产乱子伦精品视频| 四虎影视永久在线精品| 在线观看欧美国产| 有专无码视频| 久久精品66| 精品一区二区三区中文字幕| 亚洲精品视频免费| 亚洲精品成人福利在线电影| 伊人蕉久影院| 手机精品福利在线观看| 99无码中文字幕视频| 国产成人久久综合777777麻豆 | 伊人色天堂| 精品一区二区三区无码视频无码| 人人澡人人爽欧美一区| 人妻熟妇日韩AV在线播放| 国产香蕉国产精品偷在线观看 | 国产成人资源| 免费视频在线2021入口| 97超碰精品成人国产| 香蕉视频在线观看www| 久久亚洲精少妇毛片午夜无码| 国产幂在线无码精品| 国产精品99r8在线观看| 亚洲第一色视频| 呦女亚洲一区精品| 狠狠综合久久久久综| 国产自产视频一区二区三区| 亚洲欧洲综合| 成年人国产网站| 日本成人在线不卡视频| 亚洲一区二区三区麻豆| 国产精品片在线观看手机版 | 天堂久久久久久中文字幕| 成人免费一级片| 在线观看欧美精品二区| 国产在线精品99一区不卡| 无码在线激情片| 国产美女免费| 亚洲全网成人资源在线观看| 欧美在线视频不卡| 日韩在线永久免费播放| 综合色区亚洲熟妇在线| 免费无码AV片在线观看中文| 亚洲精品视频免费看| www精品久久|