文章快速检索    
  核技术  2018, Vol. 41 Issue (2): 020602   DOI: 10.11889/j.0253-3219.2018.hjs.41.020602
0

引用本文 [复制中英文]

郭冰, 魏永波. 基于PostgreSQL的CRDM数据存档系统[J]. 核技术, 2018, 41(2): 020602. DOI: 10.11889/j.0253-3219.2018.hjs.41.020602. [复制中文]
GUO Bing, WEI Yongbo. CRDM data archiver based on PostgreSQL[J]. Nuclear Techniques, 2018, 41(2): 020602. DOI: 10.11889/j.0253-3219.2018.hjs.41.020602.
[复制英文]

基金项目

中国科学院战略性先导科技专项(No.XDA02040200)资助

第一作者

郭冰, 女, 1978年出生, 2003年于河北工业大学获硕士学位, 研究领域为数据库系统及应用

文章历史

收稿日期: 2017-03-11
修回日期: 2017-10-12
基于PostgreSQL的CRDM数据存档系统
郭冰, 魏永波     
中国科学院上海应用物理研究所 嘉定园区 上海 201800
摘要: 数据存档系统是控制棒驱动机构(Control Rod Drive Mechanism,CRDM)样机控制系统的重要组成部分,主要用于存储控制棒的实时、报警信息及其他设备信息等数据,一方面能够使运行人员对熔盐堆CRDM样机的运行、调试和维修等工况进行分析和处理,另一方面为今后基于数据分析的预警和诊断技术发展积累数据资源。本文基于开源、数据类型和接口丰富、扩展功能强大的关系型数据库PostgreSQL,设计实现了熔盐堆CRDM样机数据存档系统的数据库。为提高数据库的性能并确保安全可靠的存储数据,在数据采集上采用了双机热备技术,同时使用Java语言开发了控制棒棒位检索工具并连接数据存档系统。该系统在熔盐堆CRDM样机中的成功应用证明其是一种先进的、低成本的、稳定的数据存档系统。
关键词: PostgreSQL    数据存档系统    EPICS    控制棒驱动机构    
CRDM data archiver based on PostgreSQL
GUO Bing , WEI Yongbo     
Shanghai Institute of Applied Physics, Chinese Academy of Sciences, Jiading Campus, Shanghai 201800, China
Received date: 2017-03-11; accepted date: 2017-10-12
Supported by Strategic Priority Research Program of Chinese Academy of Sciences (No.XDA02040200)
First author: GUO Bing, female, born in 1978, graduated from Hebei University of Technology with a master's degree in 2003, focusing on database system and application
Abstract: Background: Data archiver is an important part of the molten salt reactor control rod drive mechanism (CRDM) prototype control system. It is used to store real-time parameters, alarm and other information of equipment, etc., and accumulate data for further data-based prognostics and diagnostics. Purpose: This study aims to develop a CRDM data archiver based on PostgreSQL. Methods: A dual-machine hot standby technique was employed to improve the performance of database and store data reliably. The control rod position retrieval tool was implemented by using Java programming. Results: A data archiver based on PostgreSQL was developed and applied to CRDM prototype. Conclusion: The data archiver designed based on PostgreSQL is proved to be an advanced, low cost and stable system.
Key Words: PostgreSQL    Data Archiver    EPICS    Control rod drive mechanism    

控制棒驱动机构(Control Rod Drive Mechanism, CRDM)是反应堆的重要动作部件,直接影响着反应堆正常运行。熔盐堆控制棒驱动机构样机的控制系统是基于EPICS (Experimental Physics and Industrial Control System)[1]的分布式控制系统,是整个熔盐堆CRDM样机的重要组成部分,主要完成对驱动机构的步进电机输入控制信号,实现控制步进电机转速、转动方向、通断电等动作。

PostgreSQL[2]是以加州大学计算机系开发的POSTGRES 4.2版本为基础开展起来的,是一种复杂的对象-关系型数据库管理系统(Object Relational Database Management System, ORDBMS),同时也是目前功能最强大、特性最丰富和最复杂的自由软件数据库系统[3]。PostgreSQL数据库在国外很流行[4],其许多领先概念在比较迟的时候才出现在商业网站数据库中。

由于PostgreSQL数据库完全免费,且遵循BSD (Berkeley Software Distribution)协议,允许修改和衍生软件,不会被其他公司所控制,所以熔盐堆CRDM样机的数据存档系统采用了关系型数据库PostgreSQL,用于存储控制棒的实时数据、报警信息及其他设备参数等,从而能够使运行人员对CRDM样机的正常运行、系统维修和事故等工况进行分析和处理。

1 系统概述 1.1 系统组成

熔盐堆CRDM样机的数据存档系统是以在线磁盘存储为基础,用于满足用户在线获取CRDM各类参数和实时数据的需要。整个系统可以分为数据采集(Data Acquisition)、关系型数据库管理系统(Relational Database Management Systems, RDBMS)、上层应用程序(Application)三部分,其系统整体架构图如图 1所示。

图 1 数据存档系统整体架构 Figure 1 The architecture of data archiver.

数据采集(Data Acquisition):输入输出控制器(Input Output Controller, IOC)保存了控制棒的各种运行状态的实时数据,Archive Engine负责从IOC采集数据并将数据存储在PostgreSQL数据库中。

关系型数据库管理系统(Relational Database Management Systems, RDBMS):创建一系列关系表用来保存从Archive Engine采集到的数据,方便上层应用程序检索。

应用程序(Application):控制棒棒位检索工具是基于PostgreSQL数据库开发的一个上层应用软件,其采用Eclipse RCP的框架结构,使用Java语言开发。由于熔盐堆CRDM的数据服务器需要实时存储数据负载较重,为减轻数据服务器的负载,控制棒棒位检索工具采用Client/Server架构,在客户端本地运行。

1.2 系统优势

早期EPICS是采用Channel Archiver[5]作为数据存档工具,该工具是以文本的形式存储数据,这样在安全以及数据管理方面存在不足。引入关系型数据库弥补了Channel Archiver上述两方面的缺陷,目前已经在EPICS中得到应用,如合肥光源数据存档系统[6]采用Oracle关系型数据库。

PostgreSQL较Oracle的优势在于:1)相比于Oracle通过CPU收费的情形,其完全免费,且是BSD协议,不受任何公司控制;2) PostgreSQL没有回滚段,回滚段对于Oracle来说是非常重要的,一旦回滚段损坏,会导致数据丢失,甚至数据库无法启动的严重问题。而由于PostgreSQL没有回滚段,旧数据都是记录在原先的文件中,所以数据库在出现异常Crash后,数据库起不来的几率比Oracle小;3) WAL日志要比Oracle简单。

表 1 PostgreSQL较Oracle数据库的优势 Table 1 Advantages of PostgreSQL compared with Oracle.
2 PostgreSQL数据库设计及数据采集 2.1 PostgreSQL数据库设计

熔盐堆CRDM样机数据存档系统中的关系型数据库采用PostgreSQL 9.1.4版本,操作系统CentOS 6.0,其中数据库表的建立尤为重要,其关系到存储和检索数据的效率。本系统中的表主要参考BEAUTY (Best Ever Archive Toolset, Yet)中的表格进行设计,其中包括采样引擎表(SMPL_ENG)、采样数据表(SAMPLE)、采样模式表(SMPL_ MODE)、状态定义表(ENUM_METADATA)、通道组表(CHAN_GRP)、通道表(CHANNEL)、通道信息表(NUM_METADATA)、数组数据表(ARRAY_VAL)等,表之间的关系如图 2所示。

图 2 数据库表之间的关系 Figure 2 Relationships between database tables.
2.2 数据采集冗余技术

熔盐堆CRDM样机数据存档系统中的数据采集部分主要采用CSS (Control System Studio)[7]中Archive Engine工具实现的。Archive Engine启动后,从IOCs中获取采样点的实时数据,根据配置文件中的PV变量与IOCs建立连接并将数据存储到关系型数据库PostgreSQL中。为提高数据采集的可靠性,采用heartbeat冗余技术实现双机热备,两台数据服务器对外虚拟为同一IP地址192.168.2.100,当主数据服务器因故障停止数据采集时,从数据服务器接管主数据服务器任务继续采集数据,从而提高了数据采集的可靠性。

2.3 磁盘阵列共享存储

熔盐堆CRDM样机数据存档系统使用磁盘阵列IBM3512存储数据,磁盘阵列采用RAID5技术,RAID5具有访问速度快、容错率高等特点。另外磁盘阵列还采用hotspare热备份技术,可避免夜间或无人守护时发生的磁盘故障。两台数据服务器通过LC光纤映射到磁盘阵列中的同一个逻辑单元LUN,实现共享存储。

3 应用程序

控制棒棒位检索工具(Control Rod Position Retrieval Tool)是熔盐堆CRDM样机数据存档系统应用程序部分,主要实现与PostgreSQL数据库建立连接并根据查询条件检索棒位数据。其以Eclipse RCP为框架结构,使用Java语言开发,可运行在Windows、Linux、MacOS等操作系统下。

3.1 与数据库连接

控制棒棒位检索工具是以Client/Server架构的软件,其主要通过JDBC接口与PostgreSQL数据库连接,如图 3所示。

图 3 控制棒棒位检索工具C/S架构 Figure 3 C/S architecture of control rod position retrieval tool.

JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成[8]。简单地说,JDBC主要完成与数据库建立连接。为了实现该连接,需要创建一个连接PostgreSQL数据库的类,该类包含的主要接口有private Connectrdb()、static Connection getCon()以及static Connection DriverManager. getConnection(),其中static Connection getCon()通过JDBC驱动postgresql-8.2-511.jdbc4建立与PostgreSQL数据库的连接,并判断当前是否已连接到数据库,已连接则返回连接值1,未连接则创建与数据库的新连接。

3.2 数据检索

JDBC除了实现与数据库连接外,还发送操作数据库的语句并处理结果,处理好的结果在上层应用软件得以体现。图 4为控制棒棒位检索工具的界面。

图 4 控制棒棒位检索工具界面 Figure 4 The interface of control rod position retrieval tool.

与PostgreSQL数据库建立连接后,设置查询条件,如PV变量名称、值的范围以及时间等,查询后的结果在右侧表中列出,其实现主要通过创建一个DBOperation类,该类包含executeQuery()接口和getInformation()接口,其中executeQuery()实现查询SQL语句的生成并根据查询条件完成检索,而getInformation()为上层视图所调接口,实现查询结果显示。在完成检索数据的同时,调用BufferedWriter()类实现将检索出的数据保存到文本文件中。

4 结语

基于PostgreSQL的EPICS数据存档系统采用冗余技术提高了数据采集的可靠性,避免了数据采集的单一故障;另外其应用程序控制棒棒位检索工具可根据条件检索出相关的棒位信息,对于测量仪器的选择以及校准都起到了至关重要的作用。基于PostgreSQL数据存档系统在熔盐堆CRDM样机中一年多的成功运行,证明其是一种先进的、低成本的、稳定的数据存档系统。

参考文献
[1]
Argonne National Laboratory. EPICS home page[EB/OL]. 2016. http://www.aps.anl.gov/epics/.
[2]
The PostgreSQL Global Development Group. PostgreSQL home page[EB/OL]. 2016-04-01. https://www.postgresql.org.
[3]
陈文星, 付继宗. Linux下数据库PostgreSQL分析与应用[J]. 电脑开发与应用, 2006, 19(11): 56-57.
CHEN Wenxing, FU Jizong. Analysis and application of the database PostgreSQL in Linux[J]. Development and Application of Computer, 2006, 19(11): 56-57. DOI:10.3969/j.issn.1003-5850.2006.11.023
[4]
唐成. PostgreSQL数据库系统介绍[EB/OL]. 2016. http://www.doc88.com/p-297361924511.html.
TANG Cheng. Introduction of PostgreSQL database system[EB/OL]. 2016. http://www.doc88.com/p-297361924511.html.
[5]
Channel Archiver[EB/OL]. 2016-04-02. https://ics-web.sns.ornl.gov/kasemir/archiver.
[6]
强杰, 刘功发. 基于Oracle的合肥光源数据存档系统及初步应用[J]. 核技术, 2013, 36(1): 010101.
QIANG Jie, LIU Gongfa. The data archive system and preliminary applications of Hefei light source based on Oracle[J]. Nuclear Techniques, 2013, 36(1): 010101.
[7]
Control system studio[EB/OL]. 2016. https://ics-web.sns.ornl.gov/css/.
[8]
郑林峰, 张公忠. JDBC接口技术[EB/OL]. 2016. http://www.2cto.com/kf/200605/9922.html.
ZHENG Linfeng, ZHANG Gongzhong. JDBC interface technology[EB/OL]. 2016. http://www.2cto.com/kf/200605/9922.html.