园区辐射监测系统历史数据存档系统的设计与优化
2021-04-11中国科学院上海应用物理研究所徐海霞韩利峰陈永忠黄文博
中国科学院上海应用物理研究所 徐海霞 雷 蕾 韩利峰 后 接 陈永忠 蔡 军 黄文博
辐射监测系统(RMS:Radiation Monitoring System)是钍基熔盐堆(TMSR:Thorium Molten Salt Reactor)的重要子系统,是保证TMSR安全运行的重要手段。加强对辐射监测系统关键技术研究,对提高TMSR安全运行具有重要作用。本文介绍了TMSR嘉定园区RMS历史数据存档系统设计及开发。分析了优化网络、存储系统、控制文件、重做日志文件、归档文件、数据库内存及表空间,提高数据库可靠性、可用性及检索性能;分析了优化信号分组,提高设备信号的可维护性和管理效率。应用表明RMS历史存档系统满足长期稳定运行。
钍基熔盐堆(TMSR)核能系统项目是中科院先导科技专项之一,其战略性目标是研发第四代裂变反应堆核能系统。RMS是反应堆仪控系统的重要子系统,实时监测反应堆工艺、尾气、余排和电厂区域内的放射性水平,保证反应堆及人员安全;监测放射性物质对环境的影响,保障公众辐射安全,并为反应堆工程评估提供辐射数据。目前RMS国产率较低,以嘉定园区实验室改造为契机建设园区全网络数字化辐射监测系统,为建设TMSR研究堆辐射监测系统解决技术难题。
历史数据存档系统是园区RMS的核心部分,用于存储仪表测量数据及报警信息,为专业人员提供完整性基础数据,用于数据检索、统计、报表及绘制趋势分析图。园区RMS历史存档系统数据存储量大、读/写性能高、可用性强、可靠性高。现有的存档系统为GB级数据库,以建设园区全网络数字化辐射监测系统为契机,为TMSR研究堆RMS海量数据存档系统解决可靠性高、可用性强及读写性能瓶颈。
园区RMS采用Linux操作系统、Oracle数据库平台、R A I D 1+0存储系统,用CSS(Control System Studio)检索历史数据和绘制趋势分析图。其应用表明,性能优化能实现RMS存档系统长期稳定运行,能提高运维和研究人员处理和分析数据效率,满足RMS运行和研究需求。
1 系统设计与开发
1.1 功能需求分析
园区RMS实时监测园区放化实验室和中子实验楼防护屏蔽的放射水平及辐射监测设备运行,早发现隐患事故并报警,以便及时采取防止措施,提高辐射监测设备可靠性;通过连续监测园区区域内的放射性水平,当超过规定限值时,发出报警信号,保障园区工作人员的辐射安全。另外,存档系统应满足7×24稳定运行,存储满足5000点以0.1s存储5年存储周期,能快速检索并绘制1年历史数据趋势图。
1.2 系统架构
为了实现上述功能及性能要求,采用Linux 64位操作系统、Oracle数据库,RAID1+0存储系统,RMS历史存档系统硬件结构如图1所示。EPICS IOC(Experimental Physics and Industrial Control System Input and Output Controller)服务器实时采集及处理仪表测量数据及设备运行状态。数据库服务器连接EPICS IOC服务器,采集并归档EPICS IOC实时数据及处理后的报警信息。查询终端系统查询信号,检索数据、绘制数据趋势分析图,导出历史数据。报警系统终端监视设备工况、园区放射性水平,当出现故障时报警并定位放射性超标位置、故障设备,查询历史报警信息,并统计历史报警情况。存储系统是大容量磁盘阵列,用于存储数据库控制文件、数据文件、重做日志文件及归档日志文件等核心文件。
1.3 软件开发
采集EPICS IOC实时数据并存储到历史数据存档系统。如图2所示,将采集设备数据的配置信息存储到Oracle数据库,ArchiveEngine读取数据库的存储config.配置信息,并通过Channel Access通信协议,采集EPICS IOC实时数据并存储到Oracle数据库。客户端通过JDBC驱动,采用CSS的DataBrowser插件查询、绘制历史数据趋势分析图。
图1 历史存档系统架构
图2 历史数据库存档系统数据流
历史数据存档系统的表结构关系如图3所示,共12张表,分别是采集引擎表(SMPL_ENG)、通道组表(CHAN_GRP)、采集模式表(SMPL_MODE)、通道表(CHANNEL)、报警级别表(SEVERITY)、报警状态表(STATUS)、采样表(SAMPLE)、归档版本表(ARCHIVE_SCHEMA)、采样数组表(ARRAY_VAL)、元数据预留表(RETENT)、数值报警设定表(NUM_METADATA)、枚举通道表(ENUM_METADATA)。归档模式表(ARCHIVE_SCHEMA)记录归档信息的修改情况,有利于管理调式过程引起的通道信息修改;SMPL_MODE表规定了周期扫描(scan)和实时监测数值更新(monitor)两种数据采集方式;根据SMPL_MODE表的采集模式,channel表规定了每个通道的数据采集方式(SMPL_MODE_ID)、采集周期(SMPL_PER)及采集阈值设定(SMPL_VAL)等详细采集信息,每个通道(CHANNEL)分别对应EPICS IOCs中的一个变量(PV)和SMPL_ENG表中的一个引擎,最后将采集数据存储到采样表(SAMPLE)和ARRAY_VAL表。通道组表(CHAN_GRP)对所有PV变量(通道)进行分组,每个通道(CHANNEL)对应一个通道组,可以按功能、设备、采集方式、系统等多种方式对PV变量进行分组,有助于调试与运维过程增加、删除、修改及诊断故障PV变量,每个通道组对应一个引擎,当PV变量大及采集频率高时,将PV变量的数据采集分散到不同的采集引擎,有效降低单个引擎的采集压力,避免数据丢失。
RMS平台有49套辐射监测设备,每套设备有测量信号较多。为了提高设备信号可管理性和可维护性,设计数据库时设有通道分组表CHAN_GRP,用于对设备分组管理。园区RMS设备按功能分为10组,分别是环境γ监测仪(MRP-JH)、区域γ监测仪(MRPJQ)、放射性气溶胶监测仪(MRP-JF)、放射性碘监测仪(MRPJI)、放射性惰性气体监测仪(MRP-JD)、放射性废液监测仪(MRP-JP)、工艺辐射监测(MRP-JG)、区域中子监测(MRPJN)、剂量计读取仪(MRP-ZQ)和全身污染监测仪(MRPJB)。每组设备的监测信号分为一个通道组。设备分组有益于快速定位、查找设备信号,提高数据检索性能及设备信号管理效率。其次,通过信号分组可以快速定位、查找故障信号,如图4所示,当出现设备信号故障时,对应Archive Engine Group界面上connnected出现红色连接数,单击connnected对应group快速定位故障信号,提高RMS系统可维护性。
图3 存档系统表结构
图4 信号分组优化
数据库查询采用CSS-DataBrowser插件,查询测量信号及其历史数据,处理数据及绘制趋势分析图。数据趋势图含显示实时辐射水平的实时数据,从存档系统读取的历史数据。支持数据导出、多种计算分析及同一时段绘制多个信号,提高存档系统可应用性。图5所示是历史数据检索。
2 历史数据库系统性能优化
2.1 可靠性优化
为了提高存档系统可靠性,对数据库核心文件:控制文件、重做日志文件、数据文件采用多物理硬盘多路径冗余方法,对网络采用冗余网络。
控制文件采用三个不同路径存储到不同磁盘,将控制文件分别存储到存储系统和数据库服务器,其中,数据库服务器通过不同路径存储到不同磁盘。这样任意两个控制文件丢失、损坏或存储介质损坏导致控制文件毁灭,直接复制好的控制文件就能恢复数据库。
图5 历史数据检索
数据文件是数据库主体,存储实际数据。为了保障数据完整性,避免数据丢失,在物理存储介质结构上采用RAID1+0模式。RAID1+0模式提供了200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一Raid1中,保证数据安全性。逻辑结构多路径存储归档日志,数据文件丢失或损坏,通过归档日志快速恢复。
重做日志文件记录了数据库修改信息,用于数据库故障恢复数据库,介质损坏和用户误操作恢复数据。重做日志文件使用四组,每个组设有三个成员,存储到不同磁盘。其中,1个成员存储到存储系统,2个成员存储到数据库服务器的不同路径不同磁盘上。保障无论存储系统或数据库服务器任何一个物理介质或逻辑损坏,直接复制将未损坏的重做日志文件,就能恢复数据库,提高数据库可用性。
全网结构下,通讯接口容易发生故障,避免网络接口单点故障引起数据库系统宕机,对IOC服务器和数据库服务器采用多块冗余网卡。绑定冗余网卡提供1个对外服务IP地址,任意网卡故障,不会影响对外服务。
2.2 检索性能优化
影响RMS数据库性能因素较多,优化日志文件、内存、独立表空间模式及表分区,提高历史数据库性能。
日志文件记录了数据库修改,分为ACTIVE,CURRENT及INCATIVE三个状态。当日志文件记写满后,CURRENT日志组进行归档,成为ACTIVE状态,同时,由状态为INACITIVE的其中一组日志组记录数据库的修改活动,切换为CURRENT组;当ACTIVE日志组完成检查点后,日志组成为INCATIVE状态。如果日志组设置太小,频繁切换会消耗大量资源,严重影响数据库性能,但是日志组设置太大,长时间才切换一次,导致数据库恢复时间过长,甚至造成数据大量丢失。为了既降低切换重做日志文件频率,提高数据库性能,又能将数据库恢复时间降到最小,经过多次实验,得出日志组文件设置大小为52M,4个日志组,每组3个组成员,日志组切换时间为24min,满足行业内的黄金比。
数据库内存分配是影响数据库性能的最重要因素之一,直接影响CPU和IO消耗,与内存相关的故障十分棘手。因此,内存配置尤为重要,其由SGA(系统全局区域)与PGA(进程全局区)组成。其中,SGA是包含Oracle实例的数据和控制信息的共享内存结构,PGA是进程和线程专用内存。为了降低内存错误,保障性能优异,SGA设置为8G,sga_target为7323M,pga设置为2G,数据库已经满足RMS性能要求及7*24稳定运行。
RMS历史数据存档系统存储辐射监测设备过程数据及报警信息。这些数据均有大量排序、索引、计算与统计,需要消耗大量I/O资源和读、写进程。为了避免I/O资源争用和读、写进程等待,采用独立用户和独立表空间。设有用户ARCHIVE及ALARM;ARCHIVE设有表空间ARCHIVE_DAT及临时表空间ARCHIVE_TEMP;ALARM设有表空间ALARM_DATA及临时表空间ALARM_TEMP。ALARM用户存储报警信息,表空间ALARM_DATA存储放射性水平超标及设备故障报警信息,临时表空间ALARM_TEMP存储ALARM排序、计算、索引等临时信息;ARCHIVE用户存储辐射监测仪设备历史数据,表空间ARCHIVE_DATA存储辐射监测仪的历史数据,临时表空间ARCHIVE_TEMP用于历史数据的检索、排序、统计、计算及绘制历史数据趋势分析图等临时数据。
总结:对于RMS历史数据存档系统的设计、开发与优化。本文描述了存档系统硬件架构、数据流、表结构、信号分组及上层应用软件;分析了信号分组提高信号可管理性及可维护性;分析了冗余网络、RAID1+0磁盘阵列,避免单点故障,提高数据库可靠性;分析了多磁盘多路径存储数据库控制文件、重做日志文件及归档文件,当数据库损坏时复制相应正确文件替换故障文件恢复数据库,提高数据库可用性。介绍了日志文件、内存配置及表空间,提高数据库性能。按照CMMI-3“软件能力成熟度模型三级”标准完成系统测试。经由第三方测试认证:测试过程符合CMMI-3过程规范,测试指标达到测试基准要求。