电力系统实时数据服务平台研究

2015-03-02 07:03:02曹敏尹福荣张玉龙
云南电力技术 2015年1期
关键词:服务平台内存子系统

曹敏,尹福荣,张玉龙

(1.云南电网有限责任公司电力科学研究院,昆明 650217;2.昆明能讯科技有限责任公司,昆明 650051)

0 前言

当前我国电力工业体制正面临着重大的改革,建立发电侧电力市场的工作正在向纵深推进。电力企业作为“电力”这种特殊商品的提供者,要实现自身的经济效益必须要保证电力企业的安全、可靠和稳定运行,而实现这一目标,电力系统的实时数据则是生产管理者最关心的对象[1]。

电力实时数据包含了丰富的电力系统运行状况信息,它不仅能够反应系统当前的生产状况和设备运行状况,而且通过对生产实时数据的分析处理,可以预知事故的发生和设备的健康状态,为设备的预测性维修和管理决策提供依据,从而达到提高设备可靠性,减少维修总费用,降低电力企业运营成本,提高经济效益的目的[2]。

本文在分析了电力系统中实时数据的重要性和对比分析当前主流的内存数据库引擎的基础上,选取符合电力系统实时数据需求的最优内存数据库技术,对实时数据服务平台架构、实时数据的接收/处理方式、数据存储/检索方式、数据订阅/查询方式和不同实时数据的接入方式进行研究,得出一个可行的易于构建实施的面向上层应用系统的实时数据服务平台设计方案,充分实现实时数据集成、数据资源共享和决策辅助支撑。

1 电力系统实时数据研究的意义

电力系统的实时数据是指能反映电力系统实时运行状态的数据,通过对这些数据的监测和分析能够了解设备的性能、运行状况和健康状况,从而保证整个电力系统的正常稳定运行。

实时数据包含了丰富的电力系统运行状况信息,它不仅仅能够反应系统当前的状况和设备运行状况,而且通过对实时数据的记录可以得到反映系统和设备的历史状况的历史数据,通过对历史同期数据的分析比较可以预知事故的发生和设备的状况,而日常监测数据可为辅助决策提供必要的参考依据。

因此,构建一个实时数据服务平台,将电力系统的实时数据进行统一归集,对实时数据进行监测和分析,能随时掌握电力系统的运行状况,将问题的事后解决变为事先预防,为实现状态检修和预防性维护提供基础,以提高电力系统运行的安全性、可靠性和稳定性,保证电力企业的经济效益。

2 内存数据库引擎研究

在数据库技术中,目前主要有两种方法来使用大量的内存。一种是在传统的数据库中,增大缓冲池,也就是常说的共享内存技术,另一种就是内存数据库技术。

但是共享内存技术的实时系统由于优化的目标仍然集中在最小化磁盘访问上,很难满足完整的数据库管理的要求。

而内存数据库技术从根本上抛弃了磁盘数据管理的许多传统方式,在数据处理速度一般比传统数据库的数据处理速度快10 倍以上,理想情况甚至可以达到1 000 倍[3-5]。

2.1 现有内存数据库对比分析

现有内存数据库包括SQLite、Altibase、Berkeley DB、Oracle TimesTen、eXtremeDB、H2 Database,但是从软件的设计成本考虑,Altibase、Oracle TimesTen、eXtremeDB 需要商业授权。通过排除需商业授权的数据库产品,还可用SQLite、Berkeley DB、H2。因此选择这三种内存数据库进行测试比较,测试结果如表1 所示。

表1 Berkeley DB、SQLite、H2测试对比表

由上面测试结果可以看出Berkeley DB 的性能要高于其他两个,且支持原生API 方式访问、存储格式为key-value 形式完全符合电力实时数据集成需求。

2.2 Berkeley DB 研究

Berkeley DB 由四个主要的子系统构成,包括数据存取子系统、内存池管理子系统、事务子系统及锁子系统。其中数据存取子系统作为Berkeley DB 数据库进程包内部的核心组件,而其他子系统都存在于Berkeley DB 数据库进程包的外部。

2.2.1 数据存取子系统

数据存取(Access Methods)子系统为创建和访问数据库文件提供了多种支持,应用程序可以从中选择最适合的文件组织结构。

2.2.2 内存池管理子系统

内存池(Memory pool)子系统对Berkeley DB所使用的共享缓冲区进行有效的管理,负责将修改后的页写回文件和为新调入的页分配内存空间。

2.2.3 事务子系统

事务(Transaction)子系统为Berkeley DB 提供事务管理功能。它允许把一组对数据库的修改看作一个原子单位,这组操作要么全做,要么全不做。事务子系统适用于需要事务保证数据的修改的应用。

2.2.4 锁子系统

锁(Locking)子系统为Berkeley DB 提供锁机制,为系统提供多用户读取和单用户修改同一对象的共享控制。该子系统也可被应用程序单独采用。锁子系统适用于一个灵活的、快速的、可设置的锁管理器。

3 实时数据服务平台设计

在以上对Berkeley DB 技术分析的基础上,进一步研究实时数据服务平台架构、实时数据的接收/处理方式、数据存储/检索方式、数据订阅/查询方式和不同实时数据的接入方式,形成基于Berkeley DB 的实时数据服务平台的整体设计方案。

3.1 平台结构设计

整个平台的设计由三大部分构成:实时数据接收/处理、实时数据存储/检索和实时数据订阅/查询,为了保证实时数据集成的实时性、处理数据的高效性,设计结构如图1 所示:

图1 平台总体结构图

3.1.1 数据接收/处理

数据接收/处理是实时数据集成数据来源的唯一途径,只有对其接收数据及分析数据的能力做到快捷、高效,才能保证整个实时数据集成的实时性,对此设计了图2 所示的结构图:

图2 数据接收/处理结构图

其中每次tcp 连接请求都会通过接收服务来进行处理及验证,若该tcp 连接请求为合法的连接请求,会话管理机制就为其创建一个会话状态,该会话状态只负责接收对应的一个tcp 连接,为了保证数据快捷、高效的进行处理让每一个会话状态都处于一个独立的线程中。基于此种设计,每一种实时信号量只可能来自同一个地方,而不可能来自不同的地方,这就使得每一个tcp 连接传输的数据都不同于其他连接的数据,可以不用考虑其他数据而直接通过独立的线程来进行处理,保证对数据进行高效的处理。

3.1.2 数据存储/检索

数据的存储/检索是连接数据接收/处理和数据订阅/查询的中间桥梁,该模块的性能也是影响实时数据实时性的一个重要因数,为了保障数据的实时性,本模块使用Berkeley DB 作为实时数据引擎,采用将实时数据存储于内存中的策略,只有在需要的时候才同步到硬盘上,这样既保证了实时数据的存储更新效率,也提高了数据查询效率。为此,从电力系统需求出发,设计了如下的数据存储/检索机制来提高存储/检索效率:存储/检索模块根据配置文件中定义的节点和信号类型,为其创建独立的内存数据库来进行管理各个节点和信号类型的实时数据,使得每一种信号类型的实时数据都独立于其他,可以最大限度的避免Berkeley DB 实时数据引擎并发操作时引起的异常导致整个库锁死,充分利用多库联合操作技巧尽量减少Berkeley DB 实时数据引擎使用锁子系统时所占用的时间。

图3 数据存储/检索机制图

设计采用的客户机检索实时数据模式如下图所示:

图4 客户机检索数据方式图

实时数据平台采取预先加载客户自定义数据点配置库的形式,客户机需要检索的数据点号事先由客户机自定义编辑成数据点配置库,然后在请求数据前将该数据点配置库提交给实时数据平台(实时数据平台将其存放于内存中),以后客户机每次请求数据都只需发送相应编号命令即可检索到相应数据,这样使得实时数据平台检索数据更加高效,同时也降低了网络传输的带宽。

3.1.3 数据订阅/查询

数据订阅/查询模块为最终的终端客户提供实时数据查询及订阅,该模块同样采用tcp 通讯,通讯设计沿用数据接收模块的设计,但该模块涉及到可自定义的用户查询配置,客户可自定义订阅的数据类型,该模块结构见图5:

图5 数据订阅/查询结构图

在图5 中,数据查询依赖于用户提供的自定义查询配置文件,用户可以将要查询的各种信号key放在一起,提供一个唯一的查询编号,查询时只需要提供唯一的查询编号即可完成所需实时数据的查询;数据订阅是类似网站rss 订阅的一种机制,但也有所不同,该订阅方式为用户可以订阅需要关注的信号,只要订阅关注信号后,一旦数据接收模块接收到信号数据,主动把信号数据拷贝给订阅管理器后,订阅管理器就会主动将用户所关注的实时信号回发给订阅过该信号的所有客户,即完成实时信号数据的订阅(推送)[6-7]。

3.2 数据通讯方式设计

实时数据服务平台与各系统之间的实时数据传输流程是通信标准的重要部分。实时通信基于面向连接的TCP 通信协议,使用C/S 模式建立实时数据管道及管理管道,下图简要说明了实时通信的建立过程。系统启动或重建通信时,实时通信管道未建立,服务平台与各系统的通信过程分解为若干子通信流程[8-9]。

图6 实时通信建立过程图

在上述实时通信的基础上,实时数据服务平台统一集成接入各个变电站实时数据,整个变电站实时数据通过特定数据传输协议统一到实时数据服务平台,再由实时数据服务平台对各个变电站实时数据进行统一管理及提供数据查询接口给其他应用系统。

图7 数据接入示意图

4 结束语

本文通过对实时数据服务平台架构、实时数据的接收/处理方式、数据存储/检索方式、数据订阅/查询方式和不同实时数据的接入方式的研究,得出一个可行的易于构建实施的面向上层应用系统的实时数据服务平台设计方案,为今后的实时数据平台的研究与应用提供重要的参考。

[1]周蓉.电力系统实时数据管理系统的研究与开发[D].华北电力大学(北京),2003.

[2]张崭.基于组态软件的电力系统实时数据库设计与实现[D].中国科学院大学 (工程管理与信息技术学院),2014.

[3]武君胜,吴德州.面向电力系统的分布式实时数据库关键技术及应用[J].中国科技论文,2008,3 (2):102-107.

[4]刘吉臻,房方,牛玉广.电力企业中的实时数据库技术[J].中国电力,2004,37 (2):73-78.

[5]周怡,王坚敏,罗斐,等.PI 实时数据库在供电企业中的应用架构[J].浙江电力,2005,24 (1):40-43.

[6]李倩.基于RSS 的信息推送系统与订阅系统的研究与实现[D].北京交通大学,2012.

[7]于魁飞.基于RSS 的信息发布与订阅技术研究[D].北京邮电大学,2007.

[8]辛耀中.电力系统数据通信协议体系[J].电力系统自动化,1999,(1):40-44.

[9]温佶强,杜浩良,吴新华,等.厂站数据接入PI 系统模式研究[J].电力系统保护与控制,2007,35 (15):35-38.

猜你喜欢
服务平台内存子系统
密码服务平台
不对中转子系统耦合动力学特性研究
打造一体化汽车服务平台
GSM-R基站子系统同步方案研究
论基于云的电子政务服务平台构建
湖北农机化(2020年4期)2020-07-24 09:07:38
“春夏秋冬”的内存
当代陕西(2019年13期)2019-08-20 03:54:22
驼峰测长设备在线监测子系统的设计与应用
基于云计算的民航公共信息服务平台
车载ATP子系统紧急制动限制速度计算
基于内存的地理信息访问技术