国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Oracle的合肥光源數(shù)據(jù)存檔系統(tǒng)及初步應用

2013-09-23 03:40劉功發(fā)
核技術 2013年1期
關鍵詞:關系數(shù)據(jù)庫束流合肥

強 杰 劉功發(fā)

(中國科學技術大學國家同步輻射實驗室 合肥 230029)

合肥光源是第二代專用同步輻射光源,其數(shù)據(jù)存檔系統(tǒng)用于存儲合肥光源的束流運行參數(shù)、實時設備數(shù)據(jù)和故障報警記錄等,是合肥光源控制系統(tǒng)中的關鍵部分。合肥光源控制系統(tǒng)是基于實驗物理和工業(yè)控制系統(tǒng)(EPICS,Experimental Physics and Industrial Control System)的分布式控制系統(tǒng),EPICS提供的以文件為基礎的存檔工具 Channel Archiver由于在數(shù)據(jù)查詢和文件管理方面存在不足,已逐漸為基于關系數(shù)據(jù)庫的存檔工具 RDB Channel Archiver所取代。目前的合肥光源數(shù)據(jù)存檔系統(tǒng)以Oracle為基礎,通過JSP開發(fā)的網(wǎng)頁對采集的數(shù)據(jù)進行查詢和統(tǒng)計,其初步應用表明,該系統(tǒng)可以幫助運行和研究人員快捷高效地處理和分析數(shù)據(jù),能滿足合肥光源機器運行和研究的需要。

1 系統(tǒng)概述

1.1 系統(tǒng)優(yōu)勢

為彌補EPICS自帶的Channel Archiver工具集的不足,同時使用 Java編程語言豐富的庫函數(shù)和Oracle數(shù)據(jù)庫的良好功能特性,本存檔系統(tǒng)將改變數(shù)據(jù)采集引擎、數(shù)據(jù)存儲形式及應用開發(fā)方式。引擎采集到的數(shù)據(jù)不再按照特定格式以文本形式存入磁盤,而是存入Oracle關系型數(shù)據(jù)庫中。Oracle數(shù)據(jù)庫提供強大的檢索計算功能,并為Java程序提供通用接口,方便了應用程序對數(shù)據(jù)的利用,有利于應用程序的編寫和系統(tǒng)的后續(xù)擴展。

1.2 系統(tǒng)開發(fā)環(huán)境

合肥光源數(shù)據(jù)存檔系統(tǒng)的建立和應用開發(fā)涉及EPICS、RDB Channel Archiver、Oracle和JSP等技術。

EPICS是廣泛用于粒子加速器等大型實驗物理裝置的分布式控制系統(tǒng)開發(fā)平臺,它具有分布式體系結構,采用Client/Server和Publish/Subscribe模式按CA(Channel Access)網(wǎng)絡協(xié)議進行計算機間的通信[1]。

RDB Channel Archiver是基于EPICS的數(shù)據(jù)存檔工具[2]。利用其從合肥光源控制系統(tǒng)的輸入輸出控制器(IOC,Input/Output Controller)采集數(shù)據(jù),然后把數(shù)據(jù)存儲到Oracle數(shù)據(jù)庫中。

Oracle是以高級結構化查詢語言(SQL)為基礎的大型關系數(shù)據(jù)庫,是目前最流行的客戶/服務器(CLIENT/SERVER)體系結構的數(shù)據(jù)庫之一。

JSP技術是將Java代碼嵌入在HTML代碼中,服務器端在頁面被客戶端請求以后對這些 Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器[3]。

1.3 系統(tǒng)的總體設計

合肥光源數(shù)據(jù)庫系統(tǒng)分為數(shù)據(jù)采集、數(shù)據(jù)存檔、網(wǎng)頁應用功能模塊,具體結構如圖1所示[2]。各個功能模塊介紹如下:

數(shù)據(jù)采集:IOC中保存著監(jiān)控設備相關的各種運行數(shù)據(jù),是整個系統(tǒng)的數(shù)據(jù)來源;Archive Engine通過CA協(xié)議從IOC采集數(shù)據(jù),然后把數(shù)據(jù)存儲在Oracle數(shù)據(jù)庫中。

數(shù)據(jù)存檔:Oracle數(shù)據(jù)庫以表的形式保存著Archive Engine采集到的數(shù)據(jù),以方便數(shù)據(jù)查詢。

網(wǎng)頁應用:網(wǎng)頁應用采用Browser/Server方式。網(wǎng)頁服務器中采用JSP技術,生成和運行動態(tài)的、交互的、高性能的網(wǎng)頁服務器應用程序,其任務是接受用戶的請求,并按要求生成標準的網(wǎng)頁送給客戶端瀏覽器,達到人機交互的目的。

圖1 系統(tǒng)結構圖Fig.1 System structure.

2 數(shù)據(jù)采集及ORACLE存檔

2.1 數(shù)據(jù)庫設計

在數(shù)據(jù)存檔系統(tǒng)中,關系數(shù)據(jù)庫采用Oracle10G 10.2.0.1版本,運行平臺為Dell Optiplex 990,操作系統(tǒng)為CentOS release5.7。關系數(shù)據(jù)庫中表的設計尤為關鍵,其關系到數(shù)據(jù)管理效率及應用程序利用數(shù)據(jù)是否便捷。本系統(tǒng)中的表主要根據(jù)RDB Channel Archiver的參考文檔進行設計,并利用了Oracle中的partition技術,主要包括采集模式表(smpl_mode)、通道表(channel)、通道組表(chan_grp)、采集引擎表(smpl_eng)、狀態(tài)表(status)、采集數(shù)據(jù)表(sample)、狀態(tài)定義表(enum_metadata)等。其中最重要的是采集數(shù)據(jù)表,系統(tǒng)中采集到的數(shù)據(jù)都是存放在sample表中,其結構如下:

表1 采集數(shù)據(jù)表Table 1 Sample table.

2.2 數(shù)據(jù)采集

利用 RDB Channel Archiver中的 Archive Engine模塊從IOC中采集數(shù)據(jù)。Archive Engine啟動后讀取xml格式的配置文件,根據(jù)配置文件中提供的過程變量(PV)信息和數(shù)據(jù)庫信息,與IOC建立起基于CA的通道連接。連接完成后,按照scan或monitor模式向IOC發(fā)送數(shù)據(jù)采集請求。當接收到從 IOC傳送回的數(shù)據(jù)時,存儲引擎將數(shù)據(jù)存放到Oracle數(shù)據(jù)庫對應的表中。sample表中數(shù)據(jù)如下:

表2 Sample表中數(shù)據(jù)Table 2 Data of sample table.

表2中的數(shù)據(jù)是采集到的合肥光源儲存環(huán)束流流強數(shù)據(jù),sample表中主要字段有:channel_id、smpl_time、float_val,其中channel_id表示通道編號,為int型數(shù)據(jù),是channel表的外鍵;smpl_time是timestamp格式的時間戳,表示采集時間;float_val表示流強大小,是float型的數(shù)據(jù)。

3 網(wǎng)頁應用開發(fā)

3.1 數(shù)據(jù)庫連接

在Java 網(wǎng)頁應用程序中訪問Oracle的方式主要有:(1)通過數(shù)據(jù)庫本身的JDBC Driver連接到數(shù)據(jù)庫;(2)通過JDBC-ODBC橋連接到數(shù)據(jù)庫。在本系統(tǒng)中,使用基于第一種方式的c3p0連接池技術連接Oracle數(shù)據(jù)庫。c3p0連接池技術是Hibernate推薦的JDBC連接池,它在lib目錄中與Hibernate一起發(fā)布,包括了實現(xiàn)jdbc3和jdbc2擴展規(guī)范說明的Connection 和 Statement 池的 DataSources對象[4]。Hibernate是一個開放源代碼的對象關系映射框架,它對 JDBC進行了非常輕量級的對象封裝,使得Java程序員可以方便地使用對象編程思維來操縱數(shù)據(jù)庫[5]。

在上述配置中,Hibernate根據(jù)配置文件生成連接,再交給c3p0管理。

3.2 數(shù)據(jù)庫查詢

數(shù)據(jù)庫查詢通過SQL語句來實現(xiàn)。針對不同的用戶需求,可以通過不同的SQL語句完成相應的功能。在本系統(tǒng)中主要通過一個DAO類實現(xiàn)與Oracle的數(shù)據(jù)查詢,主要代碼如下:

該方法返回執(zhí)行SQL語句后的結果集,然后可以把結果集應用在程序中。如需要查詢channel_id=2857的記錄,則該SQL語句為:select *from sample channel_id=2857,然后把該語句交給DAO類中的execsql方法處理,就可以得到需求的結果集。

3.3 網(wǎng)頁應用程序設計

網(wǎng)頁應用程序采用JSP作為開發(fā)工具。JSP具備了Java技術的簡單易用、完全面向對象、平臺無關性、安全可靠、主要面向因特網(wǎng)等所有特點。

本系統(tǒng)主要使用JSP中的模型1來開發(fā)網(wǎng)頁應用程序,其結構如圖2所示。JSP頁面獨自響應請求并將處理結果返回給客戶,所有的數(shù)據(jù)通過JavaBean來處理,JSP實現(xiàn)頁面的顯示。

圖2 JSP的模型1架構Fig.2 Model1 of JSP.

目前主要針對采集的合肥光源儲存環(huán)束流流強、運行模式等數(shù)據(jù)進行了初步的應用開發(fā),完成的應用有合肥光源的實時狀態(tài)顯示、歷史狀態(tài)查詢、運行狀態(tài)統(tǒng)計等。后續(xù)還將開發(fā)合肥光源的故障自動分析與診斷、報警信息的短信發(fā)布等功能。

運行狀態(tài)統(tǒng)計查詢首先通過 SQL查詢對應時間段內某狀態(tài)的記錄條數(shù),然后將記錄條數(shù)和采集間隔相乘,其次把得到的值做時間轉換,則可得到小時制的狀態(tài)持續(xù)時間,不同的狀態(tài)根據(jù)此法依次算出持續(xù)時間,最后經一定計算,得到每個狀態(tài)所占百分比,這樣就得到了整個運行狀態(tài)的統(tǒng)計信息。

故障自動分析與診斷首先要研究同步輻射光源故障事件分類的策略,這是實現(xiàn)自動化故障診斷的基礎。故障事件是指同步輻射光源運行在非正常狀態(tài),影響用戶的正常使用,即故障事件直接與同步輻射光源的可用性相關。再次研究粒子同步輻射光源故障事件與報警信息之間的相關性,以實現(xiàn)故障原因的快速定位。最后研究基于關系數(shù)據(jù)庫的同步輻射光源性能分析及處理方法。

圖3為合肥光源的歷史狀態(tài)圖,可以查詢指定時間范圍內光源的運行狀態(tài)。圖4為合肥光源的運行狀態(tài)統(tǒng)計圖,工作人員可以方便地得到指定時間范圍內光源的運行狀態(tài)統(tǒng)計結果,提高了合肥光源的信息管理水平,也與“中國科學院重大科技基礎設施信息管理平臺”的要求相一致[6]。圖5為合肥光源的束流狀態(tài)過程統(tǒng)計圖,它呈現(xiàn)了24 h內束流狀態(tài)的迭代變換過程,方便了運行人員對運行狀態(tài)的監(jiān)測。

圖3 合肥光源歷史狀態(tài)圖Fig.3 History status of HLS.

圖4 合肥光源運行狀態(tài)統(tǒng)計Fig.4 Statistics of HLS status.

圖5 合肥光源的束流狀態(tài)過程統(tǒng)計圖Fig.5 HLS beam current state of the process.

4 結語

以關系數(shù)據(jù)庫Oracle為基礎建立的合肥光源數(shù)據(jù)存檔系統(tǒng),在數(shù)據(jù)查詢和文件管理方面克服了原來以文件為基礎的數(shù)據(jù)存檔系統(tǒng)的缺點,方便了應用程序的功能擴展。目前完成的運行狀態(tài)統(tǒng)計等初步應用表明,該系統(tǒng)可以幫助運行和研究人員快捷高效地處理和分析數(shù)據(jù),能滿足合肥光源機器運行和機器研究的需要。

致謝 真誠感謝中國科學技術大學電子工程和信息科學系的袁平波老師在 Oracle數(shù)據(jù)庫的設計和使用等方面給予的幫助。

1 EPICS homepage[OL]. http://www.aps.anl.gov/epics/

2 Kay Kasemir. RDB Channel Archiver[OL].http://cs-studio.sourceforge.net/docbook/ch10.html#fig_ar chive

3 孫鑫. Servlet/JSP深入詳解[M]. 北京: 電子工業(yè)出版社,2010: 297–298 SUN Xin. Servlet/JSP depth explain [M]. Beijing:Publishing House of Electronics Industry, 2010: 297–298

4 c3p0:JDBCDataSources/ResourcePools[OL].http://sourceforge.net/projects/c3p0

5 hibernate[OL]. http://www.hibernate.org/

6 中國科學院重大科技基礎設施[OL].

http://www.lssf.cas.cn

Major scientific and technological infrastructure of

Chinese Academy[OL]. http://www.lssf.cas.cn

猜你喜歡
關系數(shù)據(jù)庫束流合肥
關系數(shù)據(jù)庫在高爐數(shù)據(jù)采集系統(tǒng)中的應用
合肥的春節(jié)
合肥的春節(jié)
高能同步輻射光源低能束流輸運線設計研究
中國散裂中子源加速器注入束流損失調節(jié)研究
合肥公共自行車3年內投8萬輛 總投資5.5億元
ECR中和器束流引出實驗研究
基于索引結構的關系數(shù)據(jù)庫關鍵詞檢索
生態(tài)合肥
合肥光源鈕扣型束流位置檢測器的離線標定