APP下载

轨道交通综合监控系统数据库集群设计

2014-08-16朱小龙张兴波赵丽敏

网络安全与数据管理 2014年13期
关键词:集群对象服务器

朱小龙 ,张兴波 ,赵丽敏 ,陆 晨

(1.华北计算机系统工程研究所 研究生部,北京 100083;2.北京国际系统控制有限公司,北京 100083;3.德州学院 计算机系,山东 德州253300)

轨道交通综合监控系统是原有各个单独机电系统的应用集成,具有多子站、多子系统和地理分布分散的结构特点。其主要功能包括对设备的集中监控和子系统之间的协调联动,一般综合监控系统由电力(PSCADA)、信号(SIG)、环控(BAS)、乘客信息(PIS)、乘客广播(PA)、视频监控(CCTV)、火灾报警(FAS)、售检票(AFC)、门禁(ACS)和屏蔽门(PSD)等子系统组成。

数据库是轨道交通综合监控系统各种应用的基础,是数据交换和共享信息的直接载体。使用MySQL Cluster数据库集群既能满足系统较强实时性和高可用性的要求(NDB存储引擎采用内存表和无单点故障设计),又具有低成本、易扩展的优点。

1 系统结构

1.1 MySQL Cluster结构

MySQL Cluster由若干个主机中内存数据库组成集群。各个主机之间无共享结构,降低了分布式系统的硬件需求。在MySQL Cluster中,有3种类型的节点。每个节点表示为一个服务进程。MySQL Cluster结构图如图1所示。

管理节点:集群管理服务器,负责配置系统参数、管理节点的启动和停止、运行备份。节点中存储了数据库集群的整体配置信息,它必须在其他节点进程启动之前启动。

数据节点:用于存储集群的数据,集群的数据以数据组(Data Group)的形式存储在数据节点上,一个数据组中包含NoOfReplica个数据节点,这些节点互为副本,数据组中单个副本节点故障不影响数据库的正常使用。在集群中数据组按数据节点的nodeID顺序排序来划分,NoOfReplica取值范围为1~4,目前NDB只支持取值1~2。

图1 MySQL Cluster结构图

SQL节点:客户端和外部API访问集群数据的接口服务器(MySQL Server)。可根据不同应用的需求灵活配置和构造,如读写分离和负载均衡等。

1.2 集群复制

MySQL Cluster集群支持异步复制。复制结构中包含主 服 务 器 (Master Server)和 从 服 务 器 (Slave Server), 数据和操作由主服务器复制到从服务器中。NDB二进制日志接口线程运行在主、从服务器两端将数据库的变化存储到二进制格式的日志文件中,并通过复制通道,将主服务器的变化保存到从服务器中。集群复制如图2所示。

2 数据模型

在综合监控系统中,数据库平台需要提供的数据功能包括:存储设备及现场采集的实时状态和信息,存储设备及系统的配置参数(包括通信参数、设备信息、系统配置和权限配置等),存储设备及系统的运行记录数据(包括设备遥测或遥信值记录、操作记录等)。

数据模型参考IEC-61970标准,并根据轨道交通综合监控应用的特点对公共对象接口模型CIM(Common Interface Model)做相应的拓展设计。CIM是一个抽象模型,由描述系统的有关对象组成。这些对象又划分成若干个逻辑包,每个逻辑包代表了整个系统模型的某个部分。核心包用于表示系统的核心结构或构件;拓扑包用于表示构件之间的连接关系;运营包用于描述人员、权限、财务等运营关系;量测包和SCADA包用于描述通信、遥信、遥测、遥调,遥控等结构。数据模型组织图如图3所示。

(1)核心包(Core):包括车站类、子系统类、区域类、设备类、设备端子类。车站对象表示轨道交通线上的车站,一般分为正线车站和车辆段两种类型。有站号、站名等信息。区域对象表示地理的区域位置,主要有站厅、站台、通道、隧道区间、大小端机房等,详尽的区域描述有利于提高车站的应急处理效率。子系统对象表示机电系统的功能和职责分类,轨道交通综合监控中的子系统主要包括环控(BAS)、信号(SIG)、电力(PSCADA)、售检票(AFC)、视频监控(CCTV)、乘客信息与广播(PIS&PA)等,运营中各子系统各司其职,保证整个系统的正常运行。设备对象描述设备的基本信息:设备编号、设备名称、车站、区域、子系统、设备类型等。设备端子对象表示设备的连接属性,一个设备可以对应若干个设备连接端子。

(2)拓扑包(Topology):用来描述设备的连接属性,如轨道、道岔的连接,电力线路的连接等。主要包括连接节点类、拓扑节点类和拓扑岛类。设备都是通过连接节点连接,如果在某个设备端子上存在多种连接方式(连接节点),则构成拓扑节点,在同一时刻拓扑节点上只有一种连接方式有效。若干个拓扑节点则构成一个拓扑岛,拓扑岛即为统筹的联锁区。

(3)运营包(Operation):包括员工、部门、权限等信息。其中用户对象用来描述用户的信息,部门对象用来描述运营层面职能部门的信息,权限对象则用于全局的用户权限管理和系统权限认证功能。

(4)量测和 SCADA 包(Measure&SCADA):量测和 SCADA包是系统的核心模块,描述量测相关信息。通信对象和RTU对象表示SCADA通信的基本参数,遥测类是模拟量输入,累计量输入和状态量输入的父类。控制类是设定点类和状态量输出类的父类。每个控制对象和遥测对象需要对应到具体的设备及设备端子上才具有实际的意义。

根据数据对象的信息和关系,将其映射为关系数据库设计的数据模式。独立性比较强的对象,映射为数据模式中的实体;对于依附于其他对象才有实际意义,或者具有一对一关系的对象,则映射为实体的属性;而那些具有多对多关系的对象,则直接映射为数据模式中的关系。

3 集群实现

轨道交通综合监控系统一般分成中心和车站两层结构,主要的操作都在控制中心上完成,特殊情况下操作权限可以下放到车站,以便车站进行就地控制。集群的数据节点分别设置在中心和车站,减轻系统的网络通信负担,增加系统的可用性。另外,在控制中心一般还会设置一个备用中心,防止控制中心因服务器故障而失效。将备用中心配置成集群的数据复制,如果中心服务器发生故障,系统可以启用中心备用的数据服务器,保证正常运行。集群结构图如图4所示。

图4 集群结构图

MySQL Cluster数据库集群有多个版本的安装文件,本例中采用免安装的Windows版本。这个版本的安装过程比较简单,只需要拷贝程序文件和配置文件即可。默认 的 程 序 集 文 件 的 路 径 为 C:mysql或 C:Program FilesMySQLMySQL Server5.6。管理节点上需要的程序文件为(ndb_mgmd.exe和 ndb_mgm.exe,后者为可选项),配置文件config.ini中需要包含节点信息(主机名、IP地址和节点类型等),数据存储信息(数据存储内存和索引存储内存分配,数据文件和日志文件配置),数据组节点数量(NoOfReplica)等。数据节点上需要的程序文件是ndbd.exe或者ndbmtd.exe,配置文件中只需说明集群连接属性(ndb-connectstring=管理节点IP地址:端口号,端口号默认为1186)。SQL节点拷贝完全的免安装文件,配置文件my.ini中只需说明集群连接属性和存储引擎参数即可(ndbcluster ndb-connectstring=管理节点 IP:1186)。 模型系统配置如表1所示。

主集群安装完成后,使用MySQL Sever Windows安装文件(msi文件)安装中心备用数据库。备用数据库不采用MySQL Cluster集群结构,以防止由于集群管理节点故障而导致整个集群失效。设置备用数据库为主集群的复制。

4 实际应用

按上述步骤安装数据库集群,然后根据设计的数据模式建立数据库和数据表。在实际应用中不仅需要记录量测和SCADA数据的实时测量值,还需要记录其历史运行记录,按照其特点分别创建参数库SysPara、实时库RealScada和历史库HisRecord 3个数据库。参数库包含核心包、运营包、量测包和SCADA包的通信链路表、RTU表、限值表、报警组表等信息;实时库包含量测包和SCADA包的大部分具有实时内容的部分以及实时报警表、拓扑包的内容;历史库主要是从实时库转储的数据和用户操作记录表等信息。将3个数据库建立在集群的数据节点上,参数库和历史库采用磁盘表存储,实时库采用内存表存储。

数据库平台是综合监控系统开发的基础,选用以上设计是因为IEC-61970的公共数据接口模型具有良好的结构性和规范性,以及MySQL Cluster数据库软件高实时性、高可用性和易拓展的优点。实验过程中数据库集群也表现出较好的性能,能够满足轨道交通综合监控系统的一般要求。但是在负载和性能方面,数据库集群还有进一步优化的空间。

[1]金紫蘅.从双机到四机中MySQL数据库高可用性实现方法[J].中国科技信息,2011(16):91,96.

[2]程鹏,刘伟.电力SCADA系统运行平台的存储系统设计[J].计算机研究与发展,2011,48(z1):132-136.

[3]张慎明,刘国定.IEC61970标准简介[J].电力系统自动化,2002(14):1-6.

[4]唐汉明,翟振兴,兰丽华.深入浅出MySQL数据库开发、优化与管理维护[M].北京:人民邮电出版社,2008.

猜你喜欢

集群对象服务器
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
通信控制服务器(CCS)维护终端的设计与实现
海上小型无人机集群的反制装备需求与应对之策研究
一种无人机集群发射回收装置的控制系统设计
攻略对象的心思好难猜
Python与Spark集群在收费数据分析中的应用
中国服务器市场份额出炉
勤快又呆萌的集群机器人
得形忘意的服务器标准
基于熵的快速扫描法的FNEA初始对象的生成方法