摘要:通过对云实时数据库技术在用电信息采集系统中的应用,解决了大量用电信息数据实时并发采集入库的速率、历史大数据的秒级查询和计算,提高了系统数据的实时性和可用性,满足了用电信息采集系统省级集中模式下的各市、县级操作人员对实时采集数据的查询、统计和分析工作,提高了工作效率。
关键词:云计算;实时数据库;用电信息采集;系统
作者简介:宋振伟(1977-),男,山东招远人,国网山东省电力公司烟台供电公司,助理工程师,山东大学(威海)机电与信息工程学院硕士研究生。(山东 烟台 264000)
中图分类号:TM76 文献标识码:A 文章编号:1007-0079(2014)09-0263-03
一、建设背景和目标
1.建设背景
目前在用电信息采集系统中,普遍使用Oracle数据库进行数据存储和查询。但是关系型数据库的特点决定了其在大数据量的查询和并发入库方面有着天然的缺陷,在效率上远不能满足人们的要求。在百万级用户并发采集入库时,系统不允许直接写入数据库,否则容易出现因数据量过大而出现数据库服务死机的情况。现在只能通过采取源码数据预存到临时文件中,后期再逐步分批的写入库中。这样的处理方式,就造成了采集数据的入库延迟,无法实现并满足数据实时监控的目的。
用电信息采集系统每天都会产生大量的采集数据,当时间积累到一定阶段,数据量会非常庞大。此时从这个大数据中进行查询或计算时,所耗费的时间会达到几十分钟甚至几个小时。实际上这种查询过程已经失去了应用的价值,也阻碍了很多工作思路的实现,失去了实时分析的意义,造成了工作效率低下。
2.建设目标
通过研究云计算技术和实时数据库相结合,优化采集系统数据入库的I/O效率,对用电信息采集系统中的大数据迅速并发采集入库。搭建高可靠性、稳定性并具有良好的线性扩展能力的云计算平台,全面而有力的支撑电力营销业务的拓展和深入。全面分析系统针对不同数据存储环境的需求,开发多数据源之间的多种交互接口,实现云存储环境、实时数据库与关系型数据库之间的数据交换及共享。研究符合用电信息采集系统数据特征的流处理技术,建立合理的流处理模型,加强系统平台的流处理能力,提供增值的数据服务。
二、業务系统技术架构实现
自国家电网公司推出“全覆盖、全采集、全费控”用电信息采集系统建设目标以来,山东电力集团公司均在市网统一部署了用电信息采集系统主站,并且进入到全面建设阶段。主站系统接入覆盖面越来越广、接入的终端数量和表计数量越来越多,系统运行的压力也越来越大,部分地市的用电信息采集系统开始出现终端即时操作慢、采集成功率不高、接入容量不足、系统响应速度慢等问题。目前烟台供电公司用电信息采集覆盖率在38.4%,随着用电信息采集覆盖率的进一步提高,对用电信息采集系统的容量、性能、压力提出了更大的挑战。为此,烟台供电公司引进了“云实时数据库技术”,在现有用电采集系统上进行改造完善,解决了现存问题及瓶颈,满足了后期“全覆盖、全采集、全费控”的需要。
云实时数据库硬件搭建采用云计算一体机,包括主服务器、备用服务器及数据节点服务器,服务器间采用传输速度达56Gb/秒的万兆交换机进行连接。软件方面采用集群架构Hadoop,底层数据库采用PI实时数据库,运用流技术数据入库速度达到420M/秒,极大地提高了数据存储的效率。
1.技术架构
云实时数据库的总体架构如图1所示。
将实时数据库技术与云计算核心技术进行深度融合,通过服务器集群实现具有规模可扩展、可伸缩、性能高可靠、易维护的云实时数据库系统。
2.技术性能
(1)使用高性能云储存技术。
1)优化的I/O管理。传统存储系统修改数据是通过寻址的方式实现,即通过寻址→更新→返回实现。优化后的I/O机制,通过写入新数据→返回。优化后的I/O机制的优势是:大大加快了数据写速度、实现了秒级瞬间数据恢复成为可能、额外空间占用低于20%;对于纯写入应用情况,额外空间占用为0%。
2)数据物理保护。一是采用高性能的RAID6技术的优势在于:安全性是普通RAID的2000到40000倍;双校验盘比镜像方式更可靠、稳定;真正动态扩展;支持全局热备。二是主-主双控保护。采用双机热备方式,主机故障,备机自动接替其工作,对外服务不停止;存储节点采用冗余备份机制,在多个存储节点情况下,任意损失一个节点,数据不丢失,服务不停止。
3)数据逻辑保护。采用NetApp存储机制的SnapShot与SnapRestore技术。使用这些技术的优势在于:快速备份,秒级完成;不用拷贝数据;不用预留空间;255份快照而不影响业务性能;基于恢复点的数据全备;支持卷、目录、文件等模式;每份快照可以当做一份数据使用。NetApp存储结构如图2所示。
4)统一储存管理能力。一是全局空间共享-FlexVol技术;二是全局I/O性能共享-FlexShare技术。
5)绿色存储。重复数据删除-Dedup技术。
(2)运用合理、高效的检索技术。
1)数据库检索技术。一是顺序检索、倒序检索;二是布尔逻辑检索;三是字段限定检索;四是聚类检索。
2)全文检索技术。一是截词检索;二是位置检索;三是加权检索。
3.数据安全
对于元数据,通过操作日志来提供容错功能,当Master发生故障时,在磁盘数据保存完好的情况下,可以迅速恢复以上元数据。为了防止Master彻底死机的情况,还提供了Master远程的实时备份,这样在当前的Master出现故障无法工作时,另外一台备Master可以迅速接替其工作。对于节点服务器,采用副本的方式实现容错。每一块有多个存储副本(默认为两个),分布存储在不同的节点服务器上。系统中的所有服务节点均通过网络连接在一起,由于采用了高可靠的容错机制,系统增减节点不必停止服务,可在线增减存储节点,存储节点和元数据节点间通过注册管理机制自适应管理,实现自动伸缩。
三、系统建设的内容与成效
系统建设概况。硬件搭建采用云计算一体机,主服务器、备用服务器各1台,数据节点服务器6台,服务器间采用万兆交换机连接,传速速度达56Gb/秒,降低了服务器间的数据传速瓶颈。集群架构使用Hadoop架构,底层数据库采用PI实时数据库,运用流技术数据入库速度达到420M/秒,极大地提高了数据存储的效率。采用将实时数据库部署于云计算的分布式架构上,通过云计算的并行分布式计算及多副本技术,实现海量数据的实时入库、准确高效的检索计算及保证了数据的安全性。实现了用电信息数据采集、存储、检索和处理分析模型设计,对基于云计算技术的海量用电数据采集和整合架构的开发,以及可提升用电数据海量处理速度的云计算一体化平台架构的实际应用。建设了基于海量数据处理的分析平台工具,实现了用电数据智慧引擎和数据挖掘算法库,为电力海量用电数据的统一研究和应用提供了基础支撑。
1.系统建设内容
(1)生产库和查询库实现分离。由于采集入库和查询应用对数据库的操作不尽相同,采集入库是对数据的大量写操作,而查询应用则是大量的读操作和少量的写操作,将两者数据源分开,可以避免两者的相互影响。同时由于作用不同,两者存储的数据量也可以进行细分。因此,将主要用于采集数据入库的采集系统的生产数据库与应用于查询、统计分析、数据交互的分析历史库分开,保证了生产数据库单一的数据采集入库作用,不会与主站应用的统计分析、数据查询等操作争夺系统资源。两个数据库间通过Golden Gate软件进行同步,保证了生产数据库中的数据实时同步至历史库。综上所述,采集系统数据架构如图3所示。
(2)表分离(当前数据和历史数据的合理划分、存储)。由于采集系统的主要查询及应用都是针对近期采集的数据,而对历史数据的查询频度很低,只是偶尔进行查询,如果两者存放在同一张表则令数据量增加,数据管理和查询的成本同步增加。为了使生产数据库的数据量最少,减少数据入库时变更索引消耗的资源,在生产数据库中仅保存近期数据。考虑到采集设备中的数据保留时长和数据补召要求,在生产数据库中对数据保存范围做了规定:日数据保留最近15日数据,月数据保留最近2月数据。由于该库数据量保持稳定,作用单一,在硬件配置上充分使用了利旧存储设备,以节省设备投入。
在分析历史数据库时,保留了所有的采集数据,为了使数据统计分析查询数据最快,根据数据量及使用频度进行了表结构调整。同时考虑到该库的负荷较大,在硬件设备的配置上向分析历史库倾斜,使用了中端存储设备。在国家电网公司规约要求的基础上可对库表结构进行相应调整,如图4所示。
对于数据量大的表,在生产库中可以考虑建立日数据表,每张表中仅保留1日的数据,库表索引是最小的,而数据插入产生的资源消耗也会被降低,保证了数据入库的速度。通过数据复制软件将数据传输至历史分析库后,通过ETL工具将日数据表进行统计分析,此时由于是查询单日数据表,分析速度快,占用资源少。同时,通过ETL将日数据存入对应日期的月表中。根据实际系统运行情况分析统计,采集主站使用最频繁的数据是最近2个月的采集數据,而之前的采集数据使用频率极低,按月进行分表后,查询时的数据检索范围仅在查询数据日期所在月份的库表中,而不常用的历史数据则不会增加库表数据量而导致付出巨大的查询与分析代价。
(3)曲线数据模型的优化。按照时间对全部曲线数据进行打包采集,配合开展相关曲线数据模型的调整,可以有效提高曲线数据的采集效率。尤其是曲线数据采集数据项较多时,效率的提升尤为明显。曲线数据模型的优化,是将采集系统的曲线数据模型改为按时间列表存储,加强了曲线数据实时采集业务的支持,极大地降低了数据库I/O开销。曲线数据实时采集数据模型设计如表1所示。
(4)构建统一的对外数据共享平台。随着采集建设的不断深入,采集覆盖的规模效应已初步显现。现已确定要实现的对外数据服务接口已有4个,包括:电能质量在线监测系统、供电电压自动采集系统、省级计量中心生产调度平台和电能服务管理平台。针对当前采集接口“数据项多、实时性高”的特点,改造现有接口协议,统一设计对外开放的数据共享平台,解决不同系统开发多个接口的弊端,规避数据不同步的风险,达到数据共享的实时性。
2.系统建设成效
云实时数据库集群基于实时数据流处理技术,对海量数据的采集入库与关系型数据库相比有较大提高。当并发入库数据量只有几百条时,效率变化不大,当达到几万条或几十万条时,效率变化会非常明显。系统建设前后对比(见表2)。在数据查询方面,同样的硬件和网络配置相比原来系统的查询速率根据数据量的大小提升10~100倍不等。当查询数据在100万条以下时,是原有系统速率的10倍;当查询数据在1000万条时,达到原系统速率的100倍甚至更高。
四、结语
云实时数据库系统于2013年3月份在烟台供电公司开始试运行,该系统的上线运行先期满足了供电质量分析、配网实时线损应用、实时电能数据分析等诸多应用场景对用电数据计算和访问高时效性的要求。对于用电信息采集系统全面采用云实时数据技术有着重要的意义,也为供电公司用电数据的分析和决策提供了有力的技术支持。
参考文献:
[1]刘鹏.云计算[M].北京:电子工业出版社,2012.
[2]张建坤.用电信息采集系统建设与运行[M].北京:中国电力出版社,2012.
[3]匡杨.PI实时数据库系统的结构管理及其应用[J].石化技术,
2003,(10).
[4]陆会明,周钊,廖常斌.基于实时数据库系统的历史数据处理[J].电力自动化设备,2009,(2).
(责任编辑:孙晴)