• 
    

    
    

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

      IR-FEL裝置數(shù)據(jù)存檔和查詢系統(tǒng)

      2020-06-16 01:51:18宋一凡謝正源王季剛劉功發(fā)
      原子能科學(xué)技術(shù) 2020年6期
      關(guān)鍵詞:歷史數(shù)據(jù)束流服務(wù)端

      宋一凡,謝正源,宣 科,李 川,王季剛,劉功發(fā)

      (中國(guó)科學(xué)技術(shù)大學(xué) 國(guó)家同步輻射實(shí)驗(yàn)室,安徽 合肥 230029)

      基于可調(diào)諧紅外激光的能源化學(xué)研究大型實(shí)驗(yàn)裝置(Tunable Infrared Laser for Fundamentals of Energy Chemistry, FELiChEM)是由國(guó)家自然科學(xué)基金委員會(huì)支持的一個(gè)重大科研項(xiàng)目,由廈門大學(xué)、復(fù)旦大學(xué)、中國(guó)科學(xué)技術(shù)大學(xué)和中國(guó)科學(xué)院大連化學(xué)物理研究所共建。FELiChEM主要由可調(diào)諧紅外自由電子激光光源(IR-FEL)和3個(gè)實(shí)驗(yàn)站組成[1-2]。實(shí)驗(yàn)物理和工業(yè)控制系統(tǒng)(Experimental Physics and Industrial Control System, EPICS)是20世紀(jì)90年代初發(fā)展起來的大型分布式控制系統(tǒng)的軟件運(yùn)行環(huán)境和開發(fā)平臺(tái),廣泛應(yīng)用在國(guó)內(nèi)外的大科學(xué)裝置上[3-6]。IR-FEL裝置控制系統(tǒng)是基于EPICS的分布式控制系統(tǒng)[7-8]。

      裝置在其運(yùn)行過程中會(huì)產(chǎn)生大量與裝置運(yùn)行相關(guān)的歷史數(shù)據(jù),這些存檔數(shù)據(jù)可用于裝置的性能分析和故障診斷,對(duì)裝置的性能提升和運(yùn)行維護(hù)具有重要意義。EPICS社區(qū)發(fā)布了一系列歷史數(shù)據(jù)存檔軟件,如Channel Archiver、RDB Channel Archiver[9-10]和Archiver Appliance。其中Archiver Appliance是最新發(fā)布的數(shù)據(jù)存檔軟件,已應(yīng)用在國(guó)內(nèi)外多個(gè)加速器裝置中,如SLAC、NSLS-Ⅱ、ESS、HLS-Ⅱ等[11-13]。與EPICS社區(qū)其他數(shù)據(jù)存檔軟件相比,Archiver Appliance數(shù)據(jù)查詢性能更高,軟件管理更方便。因此,本文以Archiver Appliance作為數(shù)據(jù)存檔工具,設(shè)計(jì)和開發(fā)IR-FEL裝置數(shù)據(jù)存檔和查詢系統(tǒng),以滿足裝置調(diào)試和運(yùn)行的需求。

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

      Archiver Appliance由SLAC、BNL和MSU合作開發(fā)。Archiver Appliance的核心設(shè)計(jì)理念是數(shù)據(jù)多級(jí)存儲(chǔ),即根據(jù)數(shù)據(jù)產(chǎn)生時(shí)間將歷史數(shù)據(jù)劃分為3個(gè)不同的數(shù)據(jù)存儲(chǔ)級(jí)別(表1)。內(nèi)置的數(shù)據(jù)遷移功能將采集到的數(shù)據(jù)首先存入位于讀寫速度最快的內(nèi)存中(短期存儲(chǔ),short term store, STS),隨著時(shí)間的推移,逐步遷移至位于讀寫速度稍慢的本地硬盤(SSD)中(中期存儲(chǔ),medium term store, MTS),最后數(shù)據(jù)全部存入讀寫速度最慢的網(wǎng)絡(luò)存儲(chǔ)(SAN)中(長(zhǎng)期存儲(chǔ),long term store, LTS)。一般,距離越近的數(shù)據(jù)檢索越頻繁,因此這樣的架構(gòu)可有效提升技術(shù)人員查詢歷史數(shù)據(jù)的效率。

      表1 Archiver Appliance存儲(chǔ)級(jí)別Table 1 Storage level of Archiver Appliance

      圖1 IR-FEL裝置數(shù)據(jù)存檔和查詢系統(tǒng)架構(gòu)圖Fig.1 Architecture of data archiving and query system of IR-FEL facility

      IR-FEL裝置數(shù)據(jù)存檔和查詢系統(tǒng)采用了前、后端分離的架構(gòu),前端為客戶端,運(yùn)行在瀏覽器中,負(fù)責(zé)網(wǎng)頁的內(nèi)容展示;后端為服務(wù)端,運(yùn)行在服務(wù)器上,負(fù)責(zé)提供頁面動(dòng)態(tài)渲染需要的數(shù)據(jù),系統(tǒng)架構(gòu)如圖1所示。系統(tǒng)初始數(shù)據(jù)源是控制系統(tǒng)中的IOC,但經(jīng)過了不同的處理流程。在后端,Archiver Appliance中數(shù)據(jù)采集引擎(Engine)將采集到的數(shù)據(jù)保存在磁盤中,內(nèi)置的遷移模塊完成了不同存儲(chǔ)級(jí)別之間的數(shù)據(jù)自動(dòng)遷移,數(shù)據(jù)檢索模塊(Data Retrieval)為前端提供了數(shù)據(jù)查詢的HTTP/JSON接口。此外,開發(fā)實(shí)時(shí)數(shù)據(jù)推送(Status Push)程序,通過WebSocket協(xié)議將IOC中記錄值推送至前端網(wǎng)頁,實(shí)現(xiàn)記錄值的實(shí)時(shí)顯示。在前端,基于Vue.js等框架開發(fā)單頁應(yīng)用(Single Page Application,SPA),該頁面提供了豐富的數(shù)據(jù)查詢功能,具有良好的用戶體驗(yàn)。

      2 服務(wù)端的設(shè)計(jì)與實(shí)現(xiàn)

      2.1 歷史數(shù)據(jù)查詢

      Archiver Appliance的Data Retrieval模塊內(nèi)置數(shù)據(jù)查詢接口,該接口提供強(qiáng)大的查詢功能,包括豐富的查詢參數(shù)、多樣的數(shù)據(jù)格式,并支持?jǐn)?shù)據(jù)處理。以如下請(qǐng)求為例:

      http:∥irfel_aa_host:17668/retrieval/data/getData.json

      ?pv=IRFEL:DM:G1:ai

      &from=2019-04-07T08:34:30.000Z

      &to=2019-04-08T08:34:53.222Z

      這一請(qǐng)求用于查詢IR-FEL裝置中1 d的G1劑量探測(cè)器數(shù)據(jù),其中http:∥irfel_aa_host:17668是IR-FEL Archiver Appliance中DataRetrieval模塊的HTTP地址,/retrieval/data/getData是數(shù)據(jù)查詢接口,.json指明返回?cái)?shù)據(jù)格式為JSON,pv=IRFEL:DM:G1:ai指明查詢PV名,from=2019-04-07T08:34:30.000Z&to=2019-04-08T08:34:53.222Z指明查詢起止時(shí)間,時(shí)間格式遵循ISO 8601標(biāo)準(zhǔn),.json可換為其他數(shù)據(jù)格式,滿足不同應(yīng)用程序的需要。本文直接使用Archiver Appliance作為歷史數(shù)據(jù)查詢的服務(wù)端程序,為方便與前端交互,使用JSON格式作為返回?cái)?shù)據(jù)格式。

      2.2 實(shí)時(shí)數(shù)據(jù)推送

      在裝置運(yùn)行過程中,操作人員一般關(guān)心一些物理量的實(shí)時(shí)狀態(tài),如束流流強(qiáng)、輻射劑量等,在控制系統(tǒng)中,這些物理量均對(duì)應(yīng)于EPICS的1個(gè)記錄,現(xiàn)有的數(shù)據(jù)存檔軟件為提高性能,一般設(shè)計(jì)有數(shù)據(jù)庫寫入緩沖區(qū)(緩沖時(shí)間默認(rèn)值一般為30 s),在采集IOC內(nèi)數(shù)據(jù)后并不會(huì)將其實(shí)時(shí)存入數(shù)據(jù)庫,而是先存入緩沖區(qū),依照寫入周期將緩沖區(qū)內(nèi)數(shù)據(jù)寫入數(shù)據(jù)庫。因此,若客戶端中的Operation Status頁面的數(shù)據(jù)讀取自數(shù)據(jù)庫,那么會(huì)存在至多30 s的延時(shí),運(yùn)行人員無法從網(wǎng)頁獲得裝置的實(shí)時(shí)狀態(tài)。為解決這一問題,開發(fā)Status Push程序,通過WebSocket的方式把IOC的數(shù)據(jù)直接推送給網(wǎng)頁客戶端,消除時(shí)間延時(shí)。

      WebSocket是一在單個(gè)TCP連接上進(jìn)行全雙工通信的協(xié)議,允許服務(wù)端主動(dòng)向客戶端推送數(shù)據(jù),簡(jiǎn)化了兩者之間的數(shù)據(jù)交換??蛻舳?瀏覽器)與服務(wù)端進(jìn)行通信時(shí),在使用HTTP協(xié)議的情況下,每次必須由瀏覽器主動(dòng)發(fā)起數(shù)據(jù)請(qǐng)求,瀏覽器返回響應(yīng),連接存續(xù)時(shí)間短;在使用WebSocket協(xié)議的情況下,兩者完成1次握手后一直保持連接,在連接存續(xù)期間,可相互進(jìn)行數(shù)據(jù)傳輸,直至一端關(guān)閉連接。

      實(shí)時(shí)數(shù)據(jù)推送程序的核心是基于Websocketd的WebSocket服務(wù)器,Websocketd可將標(biāo)準(zhǔn)輸入(stdin)轉(zhuǎn)化為 WebSocket的輸入,標(biāo)準(zhǔn)輸出(stdout)轉(zhuǎn)化為WebSocket的輸出,不限制后臺(tái)腳本語言[14-15]。采用Python語言基于PyEPICS庫開發(fā)了Status Push程序,該程序與給定列表中的PV建立Channel Access連接,當(dāng)PV中數(shù)據(jù)更新時(shí),將其打印至標(biāo)準(zhǔn)輸出(stdout),Websocketd將其轉(zhuǎn)化為WebSocket消息,推送給前端。

      此外,系統(tǒng)在服務(wù)端上層加入Nginx作為反向代理服務(wù)器,這一設(shè)計(jì)主要實(shí)現(xiàn)了以下功能:便于實(shí)現(xiàn)客戶端瀏覽器的跨域資源請(qǐng)求;整合了多個(gè)服務(wù)端程序,為數(shù)據(jù)查詢提供統(tǒng)一的接口,便于客戶端程序開發(fā),也便于服務(wù)端與客戶端的橫向擴(kuò)展;通過Nginx中的geo模塊實(shí)現(xiàn)了不同訪問者IP的返回內(nèi)容控制,提高了系統(tǒng)的安全性。

      3 客戶端的設(shè)計(jì)與實(shí)現(xiàn)

      網(wǎng)頁客戶端提供了數(shù)據(jù)查詢與可視化的功能,是技術(shù)人員與存檔系統(tǒng)最便捷的交互方式。Archiver Appliance已提供基于plotly的Web客戶端,但其網(wǎng)頁功能和UI設(shè)計(jì)均無法滿足要求。因此,本文基于Vue.js框架開發(fā)了一單頁應(yīng)用,其中包含了數(shù)據(jù)的顯示、查詢、統(tǒng)計(jì)和下載功能。

      當(dāng)用戶切換單頁應(yīng)用中的子頁面時(shí),瀏覽器通過AJAX的方式向后端請(qǐng)求數(shù)據(jù),并刷新該子頁面,無需刷新整個(gè)頁面,提升了頁面響應(yīng)速度,優(yōu)化了用戶使用體驗(yàn)。Vue.js是一漸進(jìn)式的JavaScript框架,用于開發(fā)單頁應(yīng)用。與其他同類框架相比,Vue.js更易用、靈活和高效。Vue.js采用單文件組件的形式劃分網(wǎng)頁應(yīng)用,每個(gè)單文件組件的Vue文件中同時(shí)包含HTL、JavaScript和CSS代碼,實(shí)現(xiàn)了網(wǎng)頁應(yīng)用的模塊化開發(fā)。此外,Vue.js生態(tài)系統(tǒng)中還包括大量第三方庫,豐富了Vue.js的功能。

      3.1 歷史數(shù)據(jù)查詢頁面

      歷史數(shù)據(jù)查詢頁面包含了兩種不同的查詢方式,分別是定制查詢和自由查詢,分別對(duì)應(yīng)了兩個(gè)子頁面,如圖2、3所示。定制查詢子頁面左側(cè)顯示PV分組樹,用于PV的查找和勾選;自由查詢子頁面中,用戶可在左側(cè)文本框內(nèi)自由輸入PV名稱進(jìn)行查詢。兩個(gè)子頁面右側(cè)是相似數(shù)據(jù)可視化部分,展示給定時(shí)間范圍的數(shù)據(jù)變化曲線,并提供了原始數(shù)據(jù)查看、統(tǒng)計(jì)信息顯示和數(shù)據(jù)下載功能。

      圖2 歷史數(shù)據(jù)定制查詢頁面Fig.2 Customized query page of historical data

      圖3 歷史數(shù)據(jù)自由查詢頁面Fig.3 Free query page of historical data

      定制查詢子頁面中的PV分組樹是根據(jù)PV名自動(dòng)生成的,無需手動(dòng)配置。IR-FEL控制系統(tǒng)中,所有PV名遵循嚴(yán)格的分級(jí)分段命名規(guī)則,即“系統(tǒng)名:設(shè)備名:通道名(可選):參量名:記錄類型”。定制查詢子頁面被加載后,首先調(diào)用Archiver Appliance的getAllPVs接口獲得所有PV列表,按照符號(hào)對(duì)PV名分段,各段名稱標(biāo)識(shí)了該P(yáng)V所屬的系統(tǒng),根據(jù)從屬關(guān)系組成PV分組樹。圖2中的樹狀結(jié)構(gòu)有共同的根節(jié)點(diǎn)IRFEL,表明所有的PV均來自IRFEL控制系統(tǒng),下級(jí)是各子系統(tǒng),如IRFEL:DM為輻射劑量檢測(cè)系統(tǒng),IRFEL:VA為真空系統(tǒng),IRFEL:BD為束流診斷系統(tǒng)。將根節(jié)點(diǎn)到底層葉節(jié)點(diǎn)路徑上的節(jié)點(diǎn)名連接,即為完整的PV名。在每個(gè)底層節(jié)點(diǎn)左側(cè)均有一復(fù)選框,用于勾選PV名。如圖2中用戶勾選了IRFEL:DM:G1:ai、IRFEL:DM:G2:ai和IRFEL:DM:N1:ai 3個(gè)PV,之后點(diǎn)擊Draw Line Chart按鈕,右側(cè)將顯示這3個(gè)PV一段時(shí)間內(nèi)的PV變化曲線。

      由于不同子系統(tǒng)被控變量值量級(jí)差異較大,如真空值常小于10-5Pa,而磁鐵電源值常大于1 A,若在同一坐標(biāo)軸中顯示,則不易觀察量級(jí)較小的變量值的變化特征。針對(duì)這一問題,設(shè)計(jì)自由查詢子頁面,用戶可手動(dòng)配置PV并根據(jù)需要進(jìn)行分組。分組輸入框上方的“Add”和“Remove”按鈕用來添加和刪除分組,每個(gè)group中的“+”和“-”按鈕用來添加和刪除組中的PV,“l(fā)og”單選框用來將對(duì)應(yīng)分組的縱軸設(shè)置為對(duì)數(shù)軸。每個(gè)group中的所有PV共享同一縱軸。如在圖3中建立Group1和Group2兩個(gè)分組,分別在兩個(gè)坐標(biāo)軸中顯示束流流強(qiáng)和輻射劑量的變化曲線。

      3.2 運(yùn)行狀態(tài)顯示頁面

      圖4為運(yùn)行狀態(tài)顯示頁面,頁面上方顯示了IR-FEL裝置的運(yùn)行參數(shù)和狀態(tài),目前主要顯示后端服務(wù)器通過WebSocket協(xié)議推送的束流流強(qiáng)和束流能量實(shí)時(shí)值,頁面下方顯示最近24 h的束流流強(qiáng)的變化。IR-FEL裝置使用流強(qiáng)變壓器(current transformer,CT)測(cè)量直線加速器中束流流強(qiáng),控制系統(tǒng)中IRFEL:BD:CT:CT1:I和IRFEL:BD:CT:CT2:I兩個(gè)記錄分別表示電子槍出口的流強(qiáng)和直線加速器末端的流強(qiáng)。圖中紅色曲線和藍(lán)色曲線分別表示這兩個(gè)記錄最近24 h的數(shù)據(jù)變化曲線,圖中時(shí)刻兩處流強(qiáng)實(shí)時(shí)值CT-1和CT-2分別為0.025 A和0.005 A,兩段直線加速器的束流能量實(shí)時(shí)值分別為16.25 MeV和46.00 MeV。

      圖4 實(shí)時(shí)數(shù)據(jù)顯示頁面Fig.4 Display page of real-time data

      4 結(jié)論

      本文描述了IR-FEL裝置數(shù)據(jù)存檔和查詢系統(tǒng)的設(shè)計(jì)與開發(fā)。系統(tǒng)使用了前、后端分離的軟件架構(gòu)風(fēng)格,使用Archiver Appliance作為歷史數(shù)據(jù)存檔軟件。在后端,設(shè)計(jì)了歷史數(shù)據(jù)查詢和實(shí)時(shí)數(shù)據(jù)推送兩種服務(wù)端程序,并使用Nginx反向代理服務(wù)器提供了統(tǒng)一的數(shù)據(jù)查詢接口。在前端,基于Vue.js開發(fā)了單頁應(yīng)用,提供了豐富的數(shù)據(jù)查詢功能,頁面中包含了PV分組樹和自由查詢功能,優(yōu)化了用戶使用體驗(yàn)。系統(tǒng)性能穩(wěn)定、功能完善,滿足了IR-FEL裝置調(diào)試和運(yùn)行的需求。

      猜你喜歡
      歷史數(shù)據(jù)束流服務(wù)端
      基于充電策略估算動(dòng)力電池容量的方法
      汽車電器(2025年1期)2025-02-03 00:00:00
      基于設(shè)備PF性能曲線和設(shè)備歷史數(shù)據(jù)實(shí)現(xiàn)CBM的一個(gè)應(yīng)用模型探討
      智能制造(2021年4期)2021-11-04 08:54:36
      基于故障歷史數(shù)據(jù)和BP神經(jīng)網(wǎng)絡(luò)的接地選線方案研究
      高能同步輻射光源低能束流輸運(yùn)線設(shè)計(jì)研究
      中國(guó)散裂中子源加速器注入束流損失調(diào)節(jié)研究
      云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
      新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
      在Windows Server 2008上創(chuàng)建應(yīng)用
      基于Hadoop技術(shù)實(shí)現(xiàn)銀行歷史數(shù)據(jù)線上化研究
      ECR中和器束流引出實(shí)驗(yàn)研究
      叙永县| 娱乐| 金昌市| 勃利县| 江西省| 巴中市| 福海县| 台安县| 普定县| 庄浪县| 循化| 资阳市| 阆中市| 堆龙德庆县| 隆回县| 项城市| 石首市| 安乡县| 阳江市| 湘阴县| 昌平区| 桃园市| 清镇市| 上林县| 丰顺县| 沾化县| 汶上县| 龙江县| 新绛县| 连南| 泸西县| 吉安县| 出国| 碌曲县| 津市市| 澄江县| 衡山县| 马山县| 迁安市| 崇阳县| 连平县|