城市轨道交通综合监控系统中数据库软件模块的设计与分析
论文作者:草根论文网 论文来源:www.lw360.net 发布时间:2016年12月09日


1 综合监控软件平台

城市轨道交通综合监控系统软件平台主要分为系统平台层、支撑平台层和应用层。系统平台层提供不同硬件平台、不同的操作系统支持;基本服务和开发工具支持的平台提供了一层系统,为用户提供第三方接入应用系统支持两开发支持;应用层包括 FASBAS和其他应用软件和仿真培训软件的用户。数据库软件作为支撑平台层,对综合监控系统从现场采集的大量数据进行数据存储、数据分析、数据查询以及数据转发等。

2 数据库设计

综合监控系统中数据库模块发挥至关重要的作用,而传统的关系数据库在过程控制应用中是非常无力的,而国外一些成熟的实时历史数据库价格昂贵,可处理的点数少。为了满足信息实时性、一致性、大容量、大吞吐量要求,必须针对轨道交通的特点,综合监控、设计和开发自己的实时、历史数据库。

2.1 数据流设计

软件平台的数据流主要有三个环节:FEP、服务器、工作站。外部系统数据经过 FEP 到服务器后在工作站上显示;工作站上的操作经过服务器发到 FEP,然后发布到外部系统。

2.1.1 数据采集流程

数据采集是指数据从现场设备至 ISCS 系统的数据流。如:断路器的状态改变将由系统通过数据遥测接收。ISCS 在控制中心与车站都配有两台服务器,PSCADABAS 等子系统的数据通过 FEP 同时发送到 2 台服务器。

2.1.2 命令下发流程

控制中心操作员有权对车站设备进行控制,控制中心操作员的控制命令无视目标设备位置,可以直接通过控制中心 FEP 发送至子系统,然后通过子系统下发给现场执行设备;或通过 ISCS 网络发送至车站 ISCS 服务器,再通过车站 FEP 发送至子系统,在由子系统将命令下发给具体执行设备。

2.1.3 数据发布流程

数据发布是指将服务器处理过的数据发布至工作站的人机界面上,向操作员进行显示或产生报警等功能的过程。软件在设计时,为减少不必要的数据传输,保证网络带宽的高效利用。一方面,工作站可主动向服务器“要”数据。另一方面,为了保证变化数据在人机界面上的快速反应,服务器也会对一些变化数据采取“推”的方式,主动发送到工作站。工作站收到这些被“推”来的数据后,如果与当前显示的人机界面相关,立即更新人机界面内容;如果无关,则直接将这些数据丢弃。因此软件平台的数据发布是采用“推”、“要”相结合的方式。数据发布包括发布到 HMI 和发布到应用程序,而发布到HMI 又包括实时数据发布到 HMI、历史数据发布到 HMI 两个方面。

2.2 数据库功能设计

实时数据库:

实时数据库是整个系统处理实时数据的核心,管理在线运行的数据。其目标是保证实时性、一致性、访问的高性能。实时数据库应具有以下功能:

* 面向对象、具有设备的概念、支持图模一体化;

* 分布式结构,便于实时数据库节点的增减;

* 可跨平台,支持所有主流的操作系统;重建在线数据库时,现有的数据不能丢失;

* 确保数据库一致性;

* 确保系统的安全;

* 支持 SQL 语言。历史数据库历史数据库主要用于存储采样数据、告警、事件日志等数据,但读写频率较低。数据库的设计目标是优化和扩展数据库应用程序开发人员的能力,提供了简单、灵活然而功能强大的 XQL 查询引擎,产生内存内的访问结构,实现对所需要信息的快速检索。历史数据库应具有以下功能:

* 可跨平台,支持多种主流厂商的硬件平台及操作系统平台;

* 支持各种网络通信协议,如 TCP/IPSPX/IPXX.25SNANetBIOSANSI/ISO SQL-92 等协议、标准;

* 数据库系统应具有良好的伸缩性;数据库能够在 SMP 系统中配置生成多个引擎,能够绑定 CPU 给用户和应用程序;

* 具有良好的开放性,支持异种数据库的互访;* 支持分布式事务及两阶段提交功能;

* 在网络上的异构数据库之间的数据冗余复制;多个复制模式(如一点对多点、多点对一点、点对点以及双向复制),支持基于事务日志的复制,保证复制事务完整性;

* 数据库服务器系统参数允许进行动态设置,不须重启系统;可对高速缓存进行命名管理并且与数据库对象绑定;

* 随着快速的并发访问操作,并发控制是稳定的和可靠的,并支持多进程和多线程;

* 具有在联机状态下对大容量数据的并行、压缩备份功能。

2.3 数据库核心模块设计

数据库的核心模块设计为三个模块,即点管理、实时数据管理和历史数据管理。

2.3.1 点管理模块

点(记为 point)是一个独特的表示不同的数据流,如电压和电流值,开关的状态,温度计的数量等。任何可测量的设备属性都可以定义为“点”。点类型主要包括数字量和模拟量。在轨道交通综合监控系统中,数字量的变化较低,仿真的频率较高,因此对历史数据的分析主要是模拟的。

point”是一个 18 位字符串,独特的身份,称它为标签。单点信息一般包括点标签、类型、单位、描述、死时间值、是否保存历史数据、B+树根节点等。所有的“点”信息是一组点,所有在内存中。

点管理主要是指对点表的维护,包括点的增加、删除、修改信息的点、点的快速搜索等。点是数据管理的基本单位,各种操作的数据都是以点进行的。因此,快速的点查询对提高系统的性能有着重要意义。实时历史数据库采用哈希表索引方法进行点查询,可以快速查找指定的信息点。

2.3.2 实时数据管理

实时数据是最近一段时间的一个点的瞬时值,它是时间相关的数据。每个实时数据记录都有一个时间戳,并记录实时数据的采样时间。一个实时数据记录包括四个组成部分,如标签、时间戳、状态、值等。根据数据集成的交通监控系统的特点,即数字、模拟、数字模拟特性变化缓慢,变化很快,为了更好地实时数据转化为历史数据,采用双缓冲方法的设计,即:

1)为每一个point”建立一个比较大的缓存(如 100 记录的缓存),记为 cache_1。数据库服务器接收实时数据,不能直接进入 B+树,但根据名字直接写入到相应的 cache_1 点;当数存储在 cache_1最大记录,统一包装到 B+树。单元点到海量存储,大大降低了写 B+树的数量,降低了树的高度,增加了写和查询速度,并得到了一组数据点,也可以进行有效的数据压缩。在一些特殊情况下(如 50 万点),你可以打开一个一定规模的 max_cache1 缓冲区。当缓冲区满,然后转移到 cache_1 新点,对于那些指出,长时间不使用的内存使用LRU 置换算法。由于数字量的缓慢变化,模拟量变化快,所以模拟量更频繁访问的 cache_1。但比例数字集成流量监控系统,和一个相对小的数目的模拟系统,允许 max_cache1 尺寸接近模拟 *sizeof 的数量的情况下(cache_1),具有很高的命中率。

2)根据内存的大小,为每个点设置一个比较小的缓存,记为cache_2,确保所有点的 cache_2 可以放入内存 实时数据来的cache_2 缓存对应点第一,当记录数 cache_2 存储达到上限,然后写cache_1。设置缓存 cache_2 的目的也是提高速度。由于慢的数量的变化(一天可能只有几个数据),较小的高速缓存的数量是足够的,以应付很长一段时间。通过 cache_2 批量处理,大大减少了访问cache_1 数量,也降低了节目的数量访问磁盘的写入速度提高。

双缓冲技术是为每一个点建立一个比较大的和小的存储缓冲区。一个小的缓冲区总是在记忆;和缓冲可以转移到内部和外部存储之间转移,使用 LRU 置换算法。缓存技术大大提高了数据库处理历史数据的性能,然后可以支持更多的点。

2.3.3 历史数据管理

当实时数据超出一定的周期时,即存储在磁盘中的历史数据。历史数据可以优化企业的生产,并为失效分析提供了有力的工具。使用 B+树来组织文件数据的实时历史数据库。由于在工作组的顺序,B+树有一个良好的效率,并存储在数据库中的历史数据所产生的实时数据,所以数据处理是时间序列数据。当一组实时数据过期时,它将它存储在一个 B+树中。每一个点都有一个时间作为索引的B+树,B+叶节点是一组历史数据压缩包。为了保持长期的历史数据,在有限的存储空间,利用赫夫曼压缩算法的设计,分别对数字时间戳压缩,从而大大减少了占用的历史数据存储的磁盘空间。当您需要查询一个点的历史数据时,首先满足压缩包的条件,以便读取时间,以便读取内存,然后在内存中提取,恢复原始数据,返回给用户。(本文由中国论文平台网提供,如有更多需要,可登陆官网咨询客服。)


相关推荐
联系我们

代写咨询
 362716231

发表咨询
 958663267


咨询电话

18030199209


查稿电话

18060958908


扫码加微信

weixin.png


支付宝交易

ali.jpg

  • 在线客服
  • 认准本站客服
  • 代写咨询
    362716231
  • 发表咨询
    958663267
  • 咨询电话
  • 18030199209
  • 查稿电话
  • 18060958908
  • 扫描加微信
  • 支付宝交易
  • 返回顶部
    在线客服