中國科學院上海應(yīng)用物理研究所 徐海霞 雷 蕾 韓利峰 后 接 陳永忠 蔡 軍 黃文博
輻射監(jiān)測系統(tǒng)(RMS:Radiation Monitoring System)是釷基熔鹽堆(TMSR:Thorium Molten Salt Reactor)的重要子系統(tǒng),是保證TMSR安全運行的重要手段。加強對輻射監(jiān)測系統(tǒng)關(guān)鍵技術(shù)研究,對提高TMSR安全運行具有重要作用。本文介紹了TMSR嘉定園區(qū)RMS歷史數(shù)據(jù)存檔系統(tǒng)設(shè)計及開發(fā)。分析了優(yōu)化網(wǎng)絡(luò)、存儲系統(tǒng)、控制文件、重做日志文件、歸檔文件、數(shù)據(jù)庫內(nèi)存及表空間,提高數(shù)據(jù)庫可靠性、可用性及檢索性能;分析了優(yōu)化信號分組,提高設(shè)備信號的可維護性和管理效率。應(yīng)用表明RMS歷史存檔系統(tǒng)滿足長期穩(wěn)定運行。
釷基熔鹽堆(TMSR)核能系統(tǒng)項目是中科院先導科技專項之一,其戰(zhàn)略性目標是研發(fā)第四代裂變反應(yīng)堆核能系統(tǒng)。RMS是反應(yīng)堆儀控系統(tǒng)的重要子系統(tǒng),實時監(jiān)測反應(yīng)堆工藝、尾氣、余排和電廠區(qū)域內(nèi)的放射性水平,保證反應(yīng)堆及人員安全;監(jiān)測放射性物質(zhì)對環(huán)境的影響,保障公眾輻射安全,并為反應(yīng)堆工程評估提供輻射數(shù)據(jù)。目前RMS國產(chǎn)率較低,以嘉定園區(qū)實驗室改造為契機建設(shè)園區(qū)全網(wǎng)絡(luò)數(shù)字化輻射監(jiān)測系統(tǒng),為建設(shè)TMSR研究堆輻射監(jiān)測系統(tǒng)解決技術(shù)難題。
歷史數(shù)據(jù)存檔系統(tǒng)是園區(qū)RMS的核心部分,用于存儲儀表測量數(shù)據(jù)及報警信息,為專業(yè)人員提供完整性基礎(chǔ)數(shù)據(jù),用于數(shù)據(jù)檢索、統(tǒng)計、報表及繪制趨勢分析圖。園區(qū)RMS歷史存檔系統(tǒng)數(shù)據(jù)存儲量大、讀/寫性能高、可用性強、可靠性高?,F(xiàn)有的存檔系統(tǒng)為GB級數(shù)據(jù)庫,以建設(shè)園區(qū)全網(wǎng)絡(luò)數(shù)字化輻射監(jiān)測系統(tǒng)為契機,為TMSR研究堆RMS海量數(shù)據(jù)存檔系統(tǒng)解決可靠性高、可用性強及讀寫性能瓶頸。
園區(qū)RMS采用Linux操作系統(tǒng)、Oracle數(shù)據(jù)庫平臺、R A I D 1+0存儲系統(tǒng),用CSS(Control System Studio)檢索歷史數(shù)據(jù)和繪制趨勢分析圖。其應(yīng)用表明,性能優(yōu)化能實現(xiàn)RMS存檔系統(tǒng)長期穩(wěn)定運行,能提高運維和研究人員處理和分析數(shù)據(jù)效率,滿足RMS運行和研究需求。
園區(qū)RMS實時監(jiān)測園區(qū)放化實驗室和中子實驗樓防護屏蔽的放射水平及輻射監(jiān)測設(shè)備運行,早發(fā)現(xiàn)隱患事故并報警,以便及時采取防止措施,提高輻射監(jiān)測設(shè)備可靠性;通過連續(xù)監(jiān)測園區(qū)區(qū)域內(nèi)的放射性水平,當超過規(guī)定限值時,發(fā)出報警信號,保障園區(qū)工作人員的輻射安全。另外,存檔系統(tǒng)應(yīng)滿足7×24穩(wěn)定運行,存儲滿足5000點以0.1s存儲5年存儲周期,能快速檢索并繪制1年歷史數(shù)據(jù)趨勢圖。
為了實現(xiàn)上述功能及性能要求,采用Linux 64位操作系統(tǒng)、Oracle數(shù)據(jù)庫,RAID1+0存儲系統(tǒng),RMS歷史存檔系統(tǒng)硬件結(jié)構(gòu)如圖1所示。EPICS IOC(Experimental Physics and Industrial Control System Input and Output Controller)服務(wù)器實時采集及處理儀表測量數(shù)據(jù)及設(shè)備運行狀態(tài)。數(shù)據(jù)庫服務(wù)器連接EPICS IOC服務(wù)器,采集并歸檔EPICS IOC實時數(shù)據(jù)及處理后的報警信息。查詢終端系統(tǒng)查詢信號,檢索數(shù)據(jù)、繪制數(shù)據(jù)趨勢分析圖,導出歷史數(shù)據(jù)。報警系統(tǒng)終端監(jiān)視設(shè)備工況、園區(qū)放射性水平,當出現(xiàn)故障時報警并定位放射性超標位置、故障設(shè)備,查詢歷史報警信息,并統(tǒng)計歷史報警情況。存儲系統(tǒng)是大容量磁盤陣列,用于存儲數(shù)據(jù)庫控制文件、數(shù)據(jù)文件、重做日志文件及歸檔日志文件等核心文件。
采集EPICS IOC實時數(shù)據(jù)并存儲到歷史數(shù)據(jù)存檔系統(tǒng)。如圖2所示,將采集設(shè)備數(shù)據(jù)的配置信息存儲到Oracle數(shù)據(jù)庫,ArchiveEngine讀取數(shù)據(jù)庫的存儲config.配置信息,并通過Channel Access通信協(xié)議,采集EPICS IOC實時數(shù)據(jù)并存儲到Oracle數(shù)據(jù)庫??蛻舳送ㄟ^JDBC驅(qū)動,采用CSS的DataBrowser插件查詢、繪制歷史數(shù)據(jù)趨勢分析圖。
圖1 歷史存檔系統(tǒng)架構(gòu)
圖2 歷史數(shù)據(jù)庫存檔系統(tǒng)數(shù)據(jù)流
歷史數(shù)據(jù)存檔系統(tǒng)的表結(jié)構(gòu)關(guān)系如圖3所示,共12張表,分別是采集引擎表(SMPL_ENG)、通道組表(CHAN_GRP)、采集模式表(SMPL_MODE)、通道表(CHANNEL)、報警級別表(SEVERITY)、報警狀態(tài)表(STATUS)、采樣表(SAMPLE)、歸檔版本表(ARCHIVE_SCHEMA)、采樣數(shù)組表(ARRAY_VAL)、元數(shù)據(jù)預留表(RETENT)、數(shù)值報警設(shè)定表(NUM_METADATA)、枚舉通道表(ENUM_METADATA)。歸檔模式表(ARCHIVE_SCHEMA)記錄歸檔信息的修改情況,有利于管理調(diào)式過程引起的通道信息修改;SMPL_MODE表規(guī)定了周期掃描(scan)和實時監(jiān)測數(shù)值更新(monitor)兩種數(shù)據(jù)采集方式;根據(jù)SMPL_MODE表的采集模式,channel表規(guī)定了每個通道的數(shù)據(jù)采集方式(SMPL_MODE_ID)、采集周期(SMPL_PER)及采集閾值設(shè)定(SMPL_VAL)等詳細采集信息,每個通道(CHANNEL)分別對應(yīng)EPICS IOCs中的一個變量(PV)和SMPL_ENG表中的一個引擎,最后將采集數(shù)據(jù)存儲到采樣表(SAMPLE)和ARRAY_VAL表。通道組表(CHAN_GRP)對所有PV變量(通道)進行分組,每個通道(CHANNEL)對應(yīng)一個通道組,可以按功能、設(shè)備、采集方式、系統(tǒng)等多種方式對PV變量進行分組,有助于調(diào)試與運維過程增加、刪除、修改及診斷故障PV變量,每個通道組對應(yīng)一個引擎,當PV變量大及采集頻率高時,將PV變量的數(shù)據(jù)采集分散到不同的采集引擎,有效降低單個引擎的采集壓力,避免數(shù)據(jù)丟失。
RMS平臺有49套輻射監(jiān)測設(shè)備,每套設(shè)備有測量信號較多。為了提高設(shè)備信號可管理性和可維護性,設(shè)計數(shù)據(jù)庫時設(shè)有通道分組表CHAN_GRP,用于對設(shè)備分組管理。園區(qū)RMS設(shè)備按功能分為10組,分別是環(huán)境γ監(jiān)測儀(MRP-JH)、區(qū)域γ監(jiān)測儀(MRPJQ)、放射性氣溶膠監(jiān)測儀(MRP-JF)、放射性碘監(jiān)測儀(MRPJI)、放射性惰性氣體監(jiān)測儀(MRP-JD)、放射性廢液監(jiān)測儀(MRP-JP)、工藝輻射監(jiān)測(MRP-JG)、區(qū)域中子監(jiān)測(MRPJN)、劑量計讀取儀(MRP-ZQ)和全身污染監(jiān)測儀(MRPJB)。每組設(shè)備的監(jiān)測信號分為一個通道組。設(shè)備分組有益于快速定位、查找設(shè)備信號,提高數(shù)據(jù)檢索性能及設(shè)備信號管理效率。其次,通過信號分組可以快速定位、查找故障信號,如圖4所示,當出現(xiàn)設(shè)備信號故障時,對應(yīng)Archive Engine Group界面上connnected出現(xiàn)紅色連接數(shù),單擊connnected對應(yīng)group快速定位故障信號,提高RMS系統(tǒng)可維護性。
圖3 存檔系統(tǒng)表結(jié)構(gòu)
圖4 信號分組優(yōu)化
數(shù)據(jù)庫查詢采用CSS-DataBrowser插件,查詢測量信號及其歷史數(shù)據(jù),處理數(shù)據(jù)及繪制趨勢分析圖。數(shù)據(jù)趨勢圖含顯示實時輻射水平的實時數(shù)據(jù),從存檔系統(tǒng)讀取的歷史數(shù)據(jù)。支持數(shù)據(jù)導出、多種計算分析及同一時段繪制多個信號,提高存檔系統(tǒng)可應(yīng)用性。圖5所示是歷史數(shù)據(jù)檢索。
為了提高存檔系統(tǒng)可靠性,對數(shù)據(jù)庫核心文件:控制文件、重做日志文件、數(shù)據(jù)文件采用多物理硬盤多路徑冗余方法,對網(wǎng)絡(luò)采用冗余網(wǎng)絡(luò)。
控制文件采用三個不同路徑存儲到不同磁盤,將控制文件分別存儲到存儲系統(tǒng)和數(shù)據(jù)庫服務(wù)器,其中,數(shù)據(jù)庫服務(wù)器通過不同路徑存儲到不同磁盤。這樣任意兩個控制文件丟失、損壞或存儲介質(zhì)損壞導致控制文件毀滅,直接復制好的控制文件就能恢復數(shù)據(jù)庫。
圖5 歷史數(shù)據(jù)檢索
數(shù)據(jù)文件是數(shù)據(jù)庫主體,存儲實際數(shù)據(jù)。為了保障數(shù)據(jù)完整性,避免數(shù)據(jù)丟失,在物理存儲介質(zhì)結(jié)構(gòu)上采用RAID1+0模式。RAID1+0模式提供了200%的速度和單磁盤損壞的數(shù)據(jù)安全性,并且當同時損壞的磁盤不在同一Raid1中,保證數(shù)據(jù)安全性。邏輯結(jié)構(gòu)多路徑存儲歸檔日志,數(shù)據(jù)文件丟失或損壞,通過歸檔日志快速恢復。
重做日志文件記錄了數(shù)據(jù)庫修改信息,用于數(shù)據(jù)庫故障恢復數(shù)據(jù)庫,介質(zhì)損壞和用戶誤操作恢復數(shù)據(jù)。重做日志文件使用四組,每個組設(shè)有三個成員,存儲到不同磁盤。其中,1個成員存儲到存儲系統(tǒng),2個成員存儲到數(shù)據(jù)庫服務(wù)器的不同路徑不同磁盤上。保障無論存儲系統(tǒng)或數(shù)據(jù)庫服務(wù)器任何一個物理介質(zhì)或邏輯損壞,直接復制將未損壞的重做日志文件,就能恢復數(shù)據(jù)庫,提高數(shù)據(jù)庫可用性。
全網(wǎng)結(jié)構(gòu)下,通訊接口容易發(fā)生故障,避免網(wǎng)絡(luò)接口單點故障引起數(shù)據(jù)庫系統(tǒng)宕機,對IOC服務(wù)器和數(shù)據(jù)庫服務(wù)器采用多塊冗余網(wǎng)卡。綁定冗余網(wǎng)卡提供1個對外服務(wù)IP地址,任意網(wǎng)卡故障,不會影響對外服務(wù)。
影響RMS數(shù)據(jù)庫性能因素較多,優(yōu)化日志文件、內(nèi)存、獨立表空間模式及表分區(qū),提高歷史數(shù)據(jù)庫性能。
日志文件記錄了數(shù)據(jù)庫修改,分為ACTIVE,CURRENT及INCATIVE三個狀態(tài)。當日志文件記寫滿后,CURRENT日志組進行歸檔,成為ACTIVE狀態(tài),同時,由狀態(tài)為INACITIVE的其中一組日志組記錄數(shù)據(jù)庫的修改活動,切換為CURRENT組;當ACTIVE日志組完成檢查點后,日志組成為INCATIVE狀態(tài)。如果日志組設(shè)置太小,頻繁切換會消耗大量資源,嚴重影響數(shù)據(jù)庫性能,但是日志組設(shè)置太大,長時間才切換一次,導致數(shù)據(jù)庫恢復時間過長,甚至造成數(shù)據(jù)大量丟失。為了既降低切換重做日志文件頻率,提高數(shù)據(jù)庫性能,又能將數(shù)據(jù)庫恢復時間降到最小,經(jīng)過多次實驗,得出日志組文件設(shè)置大小為52M,4個日志組,每組3個組成員,日志組切換時間為24min,滿足行業(yè)內(nèi)的黃金比。
數(shù)據(jù)庫內(nèi)存分配是影響數(shù)據(jù)庫性能的最重要因素之一,直接影響CPU和IO消耗,與內(nèi)存相關(guān)的故障十分棘手。因此,內(nèi)存配置尤為重要,其由SGA(系統(tǒng)全局區(qū)域)與PGA(進程全局區(qū))組成。其中,SGA是包含Oracle實例的數(shù)據(jù)和控制信息的共享內(nèi)存結(jié)構(gòu),PGA是進程和線程專用內(nèi)存。為了降低內(nèi)存錯誤,保障性能優(yōu)異,SGA設(shè)置為8G,sga_target為7323M,pga設(shè)置為2G,數(shù)據(jù)庫已經(jīng)滿足RMS性能要求及7*24穩(wěn)定運行。
RMS歷史數(shù)據(jù)存檔系統(tǒng)存儲輻射監(jiān)測設(shè)備過程數(shù)據(jù)及報警信息。這些數(shù)據(jù)均有大量排序、索引、計算與統(tǒng)計,需要消耗大量I/O資源和讀、寫進程。為了避免I/O資源爭用和讀、寫進程等待,采用獨立用戶和獨立表空間。設(shè)有用戶ARCHIVE及ALARM;ARCHIVE設(shè)有表空間ARCHIVE_DAT及臨時表空間ARCHIVE_TEMP;ALARM設(shè)有表空間ALARM_DATA及臨時表空間ALARM_TEMP。ALARM用戶存儲報警信息,表空間ALARM_DATA存儲放射性水平超標及設(shè)備故障報警信息,臨時表空間ALARM_TEMP存儲ALARM排序、計算、索引等臨時信息;ARCHIVE用戶存儲輻射監(jiān)測儀設(shè)備歷史數(shù)據(jù),表空間ARCHIVE_DATA存儲輻射監(jiān)測儀的歷史數(shù)據(jù),臨時表空間ARCHIVE_TEMP用于歷史數(shù)據(jù)的檢索、排序、統(tǒng)計、計算及繪制歷史數(shù)據(jù)趨勢分析圖等臨時數(shù)據(jù)。
總結(jié):對于RMS歷史數(shù)據(jù)存檔系統(tǒng)的設(shè)計、開發(fā)與優(yōu)化。本文描述了存檔系統(tǒng)硬件架構(gòu)、數(shù)據(jù)流、表結(jié)構(gòu)、信號分組及上層應(yīng)用軟件;分析了信號分組提高信號可管理性及可維護性;分析了冗余網(wǎng)絡(luò)、RAID1+0磁盤陣列,避免單點故障,提高數(shù)據(jù)庫可靠性;分析了多磁盤多路徑存儲數(shù)據(jù)庫控制文件、重做日志文件及歸檔文件,當數(shù)據(jù)庫損壞時復制相應(yīng)正確文件替換故障文件恢復數(shù)據(jù)庫,提高數(shù)據(jù)庫可用性。介紹了日志文件、內(nèi)存配置及表空間,提高數(shù)據(jù)庫性能。按照CMMI-3“軟件能力成熟度模型三級”標準完成系統(tǒng)測試。經(jīng)由第三方測試認證:測試過程符合CMMI-3過程規(guī)范,測試指標達到測試基準要求。