大型实时历史数据库的系统设计与技术实现

   2024-02-18 互联网870
核心提示:  引言  实时历史数据库系统作为企业综合自动化的基础数据平台,为各类应用系统提供数据支撑,是工业企业综合自动化系统建设

  引言

  实时历史数据库系统作为企业综合自动化的基础数据平台,为各类应用系统提供数据支撑,是工业企业综合自动化系统建设的核心功能模块之一。它与传统关系数据库平台的区别主要在于海量的数据吞吐以及严格的实时性要求。

  在国外,实时历史数据库产品经过十多年的发展已经日渐成熟,如OSISoft公司的PI系统和AspenTech公司的Infoplus实时数据库系统等。在国内,实时历史数据库产品无论在性能指标还是在市场份额上都与国外产品有很大差距。

  为提高我国在这一领域的核心竞争力,国家将实时数据库系统研究列人“十五”攻关计划,大力扶持有关科研单位开发具备自主知识产权的大型实时数据库系统。本文简单介绍了新一代大型实时历史数据库系统―supDATA系统的设计思想和关键技术的实现。

  一、总体设计与系统架构

  1.1总体性能指标

  supDATA系统主要具有以下性能指标。

  数据库容量:标签库最大容量可达20万点;

  1.1.2.数据类型:支持模拟量、数字量、开关量以及字符串等类型;

  1.1.3.数据压缩技术:采用两级压缩技术,第一级有损压缩率可达1:40,第二级无损压缩率可达1:10;

  1.1.4.内存缓冲性能:在10万点负荷下,内存<256MB;

  1.1.5.数据读取速度:先进的数据存储结构、优化的磁盘读写算法、高效的检索机制;

  1.1.6.采集频率:支持毫秒级数据采集,最小采集周期可达100ms,以最小周期采集的标签点可达50(x)个;

  1.1.7.采集缓存:接口机本地数据库缓存,通信恢复后自动同步缓存数据,最大缓存时间可由管理员配置;

  1.1.8.接口机可扩展性:单台接口机可扩展采集犯个现场数据源;

  1.1.9.体系结构:分布式网络结构;

  1.1.10.冗余技术:支持网卡冗余、服务器集群配置以及采集接口机冗余配置,故障切换时何<2;

  1.1.11.安全机制:任何一个组件、服务和应用程序均能提供安全服务,并按角色划分用户操作权限;

  1.1.12.监控画面:实时画面刷新周期<500ms,画面切换响应时间<15。

1.2 系统结构

  SupDATA实时历史数据库系统基于MS-WindowsServer操作系统,提供实时数据、海量历史数据和报警服务,并通过完善的人机界面软件以及管理配置软件,完成对数据的采集、存储、查询、显示和分析的功能。系统具体结构图如图1所示。

  

  1.3服务器数据处理流程

  实时数据处理流程具体为:服务器接收到接口机发出的实时数据后,首先对实时数据进行第一级压缩计算,若该实时数据需要进行历史归档,则存人对应标签点的内存缓存页,所有标签点的内存页大小相同;当内存页存满后,经第二级压缩后存人历史文件中。

  1.4历史文件组织结构

  每个历史数据文件有三个区,分别为系统信息区、瓜守劲爆区和索引区。系统信息区包括本文件状态、起始时间和结束时间等。历史数据区以历史数据页为基本单元进行管理,页面大小固定,一页内的所有历史数据只能属于同一个标签点,每个页面实际存储内容为第二级压缩(lzo压缩)后的数据,同一历史文件内同一标签点的数据页之间以链表结构顺序相连。索引区存储文件内所有历史数据页的索引信息采用平衡二叉树实现。

  二、关键技术实现

  2.1历史数据存储优化技术

  实时历史数据库的存储性能分析需要从以下两方面加以考虑: ①I/O存储平均负荷Fa,即在实时历史数据库稳定运行的工况下,平均每秒写人磁盘文件的字节数;②I/存储峰值负荷Fa,即单位时间内实时历史数据库可能出现的最大写磁盘流量。

  假设标签点规模为N,单个实时数据长度为L字节,假定采集周期f为1s(为简化分析,下文均假定采集周期为1s),第一、二级平均压缩率分别为Cl、C2,则可计算出每秒钟平均进入历史文件的历史数据流量Fa,为:

  

  2.2实时数据压缩技术

  由于实时数据压缩是与实时数据个数成正比的高频率处理事件,因此,实时数据的压缩不仅需要考虑数据压缩率,也要考虑压缩算法本身的CPU效率。SupDATA实时历史数据库系统的第一级压缩采用改进型“旋转门”压缩算法,第二级压缩采用 120 实时数据压缩算法。

  2.3内存缓冲技术

  内存缓冲技术在内存中为每个标签点分配了一定大小的内存缓存页,实时数据经一级压缩后先存人内存缓存页中,当内存缓存页满时,经过二级压缩后向历史磁盘文件存储。由于磁盘读写所耗时间主要花在磁头寻道上,而读取数据的时间与之相比要小几个数量级,因此,经有关测试发现,向磁盘一次写512B和32kB的数据所耗时间几乎相同。内存缓冲技术正是利用磁盘访问的这一特性,通过改变实时数据库访问磁盘的频率,减少了相同负荷下磁盘磁头寻道操作的次数,从而大大改善了实时历史数据库的磁盘存储性能。

  2.4磁盘峰值平滑技术

  内存缓冲技术是优化实时历史数据库存储性能的重要技术,但内存缓冲的集中存储特征易导致磁盘读写的不均衡。

  

在优化峰值负荷Fm时,必须要防止过多的标签点在同一时刻出现内存页满的情况。磁盘峰值平滑技术首先统计所有内存缓存页中已存储历史数值的个数,如定义数组:

  

  磁盘峰值平滑算法的目标是使实时历史数据库的内存页数值分布尽量接近于最理想状态,其具体算法如下。

  ① 每接收到一个实时数据,即根据相应标签点内存页数据数目的变化,对Count数组作相应的修改,保证Count实时反映当前内存页数据数目的分页情况;

  

  2.5内存快照技术

  实时历史数据库由于采用了内存缓冲技术,因此,大量近期的历史数据仅存储于内存,若发生服务器掉电等故障,将造成大量数据的丢失。为了将这一风险损失控制在一定范围内,SupDATA 采用了内存快照技术,即把内存数据页周期性地同步到快照磁盘文件。

  三、检索性能优化技术

  3.1内存缓存页检索

  对于每秒10万点实时数据的实时历史数据库来说,每个实时数据允许的最大处理耗时为:

  

  考虑到实时历史数据库服务器的CPU负荷一般要求在30%以下,以及其他事务CPU开销,接收到每个实时数据后按照索引检索到对应的内存页,基本要求在1us以内。这对于任何复杂索引方法如二叉树、映射表都是无法满足的,只可能采用数组下标检索的方式。标签点信息的检索实质为基于ID的数组下标检索,此检索策略贯穿于所有功能单元。

  3.2历史文件数据页索引

  技术在历史文件中,建立合理、高效的历史数据索引是实现海量历史数据快速定位、高效查询的基本技术保障。SupDATA实时历史数据库系统对历史文件中所有的历史数据页建立了高效索引。根据历史文件中存在标签点和时间两维参数特性,其索引建立方法为:索引关键字=D<<8+时间(数据页起始时间),共8个字节,当作一个无符号整型,键值为对应页面的物理位置。整个索引采用平衡二叉树算法实现。应用该索引技术可以保证在历史文件中定位任意标签点。

  四、通信与接口设计

  除了配置信息管理一般可以在本地局域网完成以外,接口机以及客户端应用均需考虑服务器和网卡冗余、远程传输和安全以及以物理网闸隔离方式通信等问题。SupDATA将复杂的通信逻辑统一封装在SupDATA Dom 组件中,无论是接口机程序或者其他客户端应用的二次开发软件,均通过这个COM组件来完成和服务器数据的通信。SupDATA Dom以TCP或者UDP方式和实时历史数据库服务通信,并自动完成网卡冗余和服务器主备切换的逻辑,SuPDATA Dom提供二次开发和接口机软件开发的COM接口。

  五、接口机数据缓存技术

  数据缓存技术用于接口机与服务器数据库通信故障时的实时数据缓存,由接口机本地进行管理。当运行过程中接口机与服务器数据库连接中断时,采集到的实时数据将自动转发至本地缓存数据库中;当与服务器数据库的连接恢复后,实时数据将自动切换转发至远程服务器数据库。缓存数据库中存储的历史数据能以手动方式或自动方式同步至服务器数据库。

  六、网卡冗余技术

  网卡冗余功能指A、B双网卡冗余功能,实现范围包括接口机与服务器之间、SupDATA Dom通信组件与服务器之间以及主服务器与从服务器之间的通信连接。由于应用客户端均通过 suPDATA Dom 通信组件与服务器间接通信,因此,均具备双网卡冗余功能。单网卡故障最长切换时间在2s之内。

  七、双机热备技术

  supDATA支持两种方式的双机热备功能,分别为基于磁盘阵列技术的双机热备和基于主一备方式(active-standby方式)的主备服务器热备。其中,前一种方式是目前最常用的热备方式,但有切换时间较长 (2min左右)和磁盘单点故障等不足;而主一备服务器方式具有快速切换(2s左右)和硬件要求低的优点,但其软件功能研发难度较大。SupDATA双机热备范围包括主从服务器间和主从接口机间的双机热备,以及服务器与接口机间的交叉热备,其功能结构图如图2所示。

  

主从服务器通过A、B网进行状态查询,通过C网进行数据同步。双机热备功能实现的关键难点在于实时数据和历史数据的同步,历史数据的同步要求历史文件结构支持插人功能。

  八、应用实例

  上海电气(南通)环保热电联产公司在江苏省南通市参与的生活垃圾焚烧热电联产项目的建设规模为:日处理城市生活垃圾15oot、3台500t/d循环流化床垃圾焚烧炉、2台巧MW抽凝式汽轮发电机组。为了提高电厂现代化管理水平、优化生产过程、降低生产成本和设备损耗,由上海电气环保热电项目规划建设SIS系统,并由我公司负责完成系统的设计、安装和调试,于2008年10月实现了系统的正式上线运行。

  九、结束语

  随着我国电厂单机容量的不断扩大,SIS项目的标签点规模已达数万甚至数十万规模,对实时历史数据库的性能要求也相应提高了一个数量级。为适应发电企业信息化过程对大型实时/历史数据库的需求,上海自动化仪表股份有限公司成功地开发出具有自主知识产权的新一代一体化工业实时/历史数据库软件系统SupDATA。该系统以对实时历史数据库深人的理论研究成果为依据,采用多项国内领先的性能优化技术,在多项核心性能指标上获得了接近于理论最优解的良好性能。目前supDATA系统已被成功应用于多个电厂SIS系统项目中。


 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅