费冬虎, 陆生兵, 李也白, 丁学峰
(国网浙江长兴县供电公司, 浙江 长兴 313100)
海量数据管理平台统一接入访问工具的设计与实现
费冬虎, 陆生兵, 李也白, 丁学峰
(国网浙江长兴县供电公司, 浙江 长兴 313100)
简要介绍了实时数据库的特点及数据在实时库中的存储结构,利用关系数据库和实时数据库的核心技术,实现了海量数据管理平台对准实时数据的统一接入、存储、共享及访问;着重介绍了3种海量数据接入方式的设计与实现,并分析了各种数据接入方式的适用范围.
实时数据库; 海量数据管理平台; 访问工具
随着国家电网公司坚强智能电网建设的逐步推进,尤其是输变电设备状态监测、用电信息采集、配电自动化等大型系统的广泛推广使用,产生了大量实时数据,继而沉淀生成海量历史数据,加上调度生产大区已经生成的电网运行方式、关口电量、保护等实时数据,这些数据都是国网公司生产运行过程中的重要财富,是实现精益化管理的重要基础.在这样的背景下,各省(市)电力公司迫切需要建立海量数据管理平台(以下简称“海量平台”),以满足各业务应用对历史数据和实时数据进行存储、整合、共享及标准访问的需求.
统一接入访问工具在海量平台中扮演着重要角色,它为历史、准实时数据接入海量平台提供多样化的接入方式,同时对外提供丰富的数据访问方式.它使各业务系统数据整合成为可能,同时也为不同业务系统的数据交互提供了共享平台.
海量平台支持多个同构或异构的准实时数据库组成集群[1-2],对平台内测点模型进行统一管理,实现业务应用系统对集群内测点数据的透明访问.
海量平台由群集管理、平台管理、数据接入管理、数据加工管理、平台管控管理和高速数据传输管理等6个模块组成,具体如下.
(1) 群集管理 由于单个实时数据库[3-5]节点的容量有限,海量平台使用多个实时数据库节点组合构成群集库来管理历史、实时数据,群集数据库对外是一个统一的整体,提供与测点位置无关的透明访问.
(2) 平台管理 主要是供平台管理员管理平台用户,控制用户访问平台权限,分配角色访问数据源的权限,对数据源的增加、修改、删除进行维护,通过平台运行监控功能查看平台运行情况,日志管理功能可以跟踪分析平台运行过程中出现的异常情况.
(3) 数据接入管理 海量平台中的数据都是通过数据接入工具从数据源系统中接入的,海量平台中采用的数据接入方式主要有E文件解析和Oracle数据抽取两种.其中,E文件需要从ftp上下载,所以需要文件传输功能.数据接入模块的运行原理是在Web界面中配置接口参数,然后将接口挂载到数据接入服务器上,接口启动后会将配置的接口参数传递到数据接入服务器中,由数据接入服务器根据传入的接口类型及接口参数采用相应的方式将数据接入到海量平台.
(4) 数据加工管理 对海量平台中的测点值进行计算,通过配置计算公式就可以对测点值进行相关计算,并将计算结果以图表的方式展示在界面上.
(5) 平台管控管理 对海量平台数据接入访问功能进行全面监控,包括监测实时数据库中测点接入总量、实时数据库空闲空间监测、测点接入访问频率展示、数据接入瞬时吞吐率和平均吞吐率展示、关键实时指标监测等.
(6) 高速数据传输管理 在海量平台中存在着众多的应用和服务,这些进程间需要进行数据通信.高速数据传输包括高速传输拓扑展现、链路信息管理、节点管理和进程信息管理等功能.
海量平台是建立于公司层面的实时数据平台,实现历史、准实时数据的统一管理,提供高效的信息整合、数据交换及数据存储等功能,为跨部门、跨业务的实时数据应用提供有力的数据支撑,实现各种应用系统对实时应用的快速部署,以提升管理能力.
海迅实时数据库是处理具有时间序列特性数据的数据库管理系统,其主要特点在于有着极高的数据插入和数据查询检索效率.同时,为了长时间存储海量历史数据,海迅实时数据库还使用高效的有损压缩算法和无损压缩算法,大大减少了数据所占的空间.
在数据处理方面,海迅实时数据库采用“测点名称”这一标识符来标识所存储的数据,每一个数据都由时标、值和质量码3部分组成,其数据格式如图1所示.
图1 海迅实时数据库数据格式
基于上面的“三元”式数据结构,海迅数据库采用了有损和无损混合压缩算法对数据进行平滑、高效压缩,开发质量码存储,支持跨平台数据处理、每秒百万的数据提交效率,以及每秒数十万的数据查询效率;它支持原始值、插值和阶梯值3种数据检索模式,可以满足对历史数据查询的多样化需求.
通过统计各省(市)海量平台数据接入方式的总体情况发现,目前各省(市)电力公司存在E格式文件接入、关系数据库接入和Web Service接入等多种不同的接入方式,并且相同业务系统数据都采用不同的接入方式,导致各现场现有的接入访问工具仅能适应自己现场的数据接入环境,没有通用性,形成各现场数据接入各自为营、相互独立的局面,出现了数据孤岛的困境,因此开发统一接入访问工具就显得十分迫切和必要.此外,统一接入访问工具要有足够的灵活性和可配置性,要能够满足各个现场数据接入访问的需求,这样接入工具才能真正在不同环境中发挥统一接入访问数据的功能.
统一接入访问工具包含两方面的功能,一是数据接入功能,包括E格式文件接入、关系数据库接入和Web Service接入等3种数据接入方式,目的是将各系统历史、准实时数据接入海量平台;二是数据访问功能,包括直接调用海量平台UAPI和提供Web Service访问接口两种数据访问方式,主要供用户访问海量平台数据.
数据接入功能是将不同业务系统的数据通过接入访问工具统一接入海量平台,不再需要各现场针对不同业务系统单独开发相对独立的数据接入程序,从而可以保证各现场都能够高效、实时、稳定地将数据接入海量平台,同时也可以减轻海量平台维护人员的工作量.
统一接入访问工具如图2所示.其数据接入方式包括E文件接入,关系数据库接入,Web Service接入3种方式.
图2 统一接入访问工具
接入访问工具只需在Web界面上进行简单的初始化配置就可以启动数据接入服务器,然后将配置好的数据接入接口挂载到已经启动的数据接入服务器上,通过接口启停按钮控制该接口的启动和停止状态,接口启动后就不再需要人工干预,接口会自动通过之前配置的启动时间和执行周期来定期自动执行任务,从而实现数据接入访问的自动化.
由于不同业务系统的业务及需求的差异,作为数据源会用不同的方式提供数据,因此我们需要根据第三方数据源的特点,采用不同的数据接入方式将数据接入海量平台,如此看来,统一接入访问工具更像是一个数据接入访问适配器,即针对不同的数据源提供不同的数据接入访问接口,最终用统一的方式将数据接入海量平台.
统一接入访问工具从数据源中解析数据后存入海量平台的数据接入流程如图3所示.
图3 统一接入访问工具数据接入流程
2.2.1 E文件方式接入
E文件[6-7]是国家电力调度通信中心制定的一种通用的实时数据传输标准,可以通过文本文件穿越单向隔离网闸,在调度与信息的数据交换领域得到了广泛的应用.采用E文件方式进行数据接入的具体过程为,首先定期从ftp服务器或数据总线上获得文件,与ftp服务器或数据总线断连后自动重连,当连接或断连海量平台后与测点同步,完成实时数据库中测点标记与数据源系统通信界面地址的匹配与维护工作,可手动或定时触发数据接入程序内部测点映射表的更新操作,然后解析获取的E文件,提取实时数据,再对实时数据进行量纲转换(可选),将获得的数据写入海量平台,最后断开平台连接.
E文件解析过程中的关键点是接口如何设计才能将不同格式的E文件中的数据解析出来,即要知道E文件中各字段之间的分隔符是什么,并明确知道该文件中有哪些字段分别组成测点名、测点描述、测点值、测点值对应时间等.因此,在解析E文件过程中,首先要获取E文件中的所有字段并显示在Web界面上,然后由用户灵活配置各字段组成测点名、测点值等,这样可以有足够的灵活性去适应各现场的E文件.在用户将该E文件解析接口配置完成并启动后,数据接入服务器会根据该E文件接口配置参数为该接口单独启动一个进程来执行该任务,因为单独启动的进程不会受到其他进程的影响,可以保证数据接入过程中的效率性、隔离性和安全性.
2.2.2 Oracle关系库方式接入
Oracle关系库接入也是目前现场采用最普遍的一种接入方式,关系库接入一般有如下两种情况.
一是接入工具直接访问数据源系统的关系库,如图4所示.
图4 接入工具直连数据源系统
采用直接访问数据源关系库的方式接入数据比较好,因为直接访问数据源系统,就可以根据数据源采集数据的频率去访问数据,这样接入的数据具有实时性强、数据完整性好、接入流程简单,并且历史数据保存完整、可以随时接入历史数据等诸多优点,但对数据源系统压力较大.该方式适合数据量小的系统,所以一般不会直接开放访问数据源的权限.
二是访问数据源系统映射的中间关系库,如图5所示.
在数据源系统映射中间库的情况下,首先需要数据源将数据推送至中间库中,然后才能访问中间关系库中的数据,而数据源一般会选择在其系统压力较小时才将数据推送至中间关系库,所以这种方式存在很多弊端.如数据源采集到数据后不会立刻推送数据至中间库,并且推送数据需要耗费一定的时间,导致接入实时数据库中的数据延时非常严重;数据接入频率受数据源推送频率的限制,数据完整性差,因为数据源在向中间关系库推送数据过程中可能会有数据丢失;若中间关系库设计不合理,会增加中间库的维护成本及读取历史数据的困难.
图5 接入工具连接中间关系库
针对此种情况,可以采用Oracle组件Oracle Golden Gate解决上述问题.Oracle Golden Gate 软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库的同步.Oracle Golden Gate可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒级的实时复制,可以解决上述数据延时严重、数据完整性差等问题.但Oracle Golden Gate是一款商业软件,价格昂贵,所以在第二种关系库数据接入方式中,如何向中间关系库中实时高效地写入数据成了一个最大的瓶颈,它也是影响数据实时性和完整性的最大障碍.
此外,为了提高中间关系库的性能,在中间关系库中仅保留最近几天的数据,将几天以前的历史数据备份成DMP文件保存,这样不但浪费存储空间,而且历史数据访问比较麻烦,需要将保存历史数据的DMP文件先导入中间关系库,然后才能接入历史数据,操作繁琐,历史数据导入效率低.
2.2.3 Web Service方式接入
Web Service是一种不同机器、不同应用系统之间进行交互或交换数据[8]的重要技术.Web Service利用SOAP和XML等技术实现异构系统之间的应用集成和数据交换.Web Service使用HTTP协议,所以比JMS和FTP更便于穿过防火墙进行数据交换.Web Serice使用XML技术封装、存储和传输数据,由于在数据之外附带了大量的标签和数据说明信息(往往会使数据体积和传输量“暴增”数倍),从而大大增加了网络带宽占用,降低了数据传输处理的效率和时效性.
综上所述,在有大数据包、大文件交换,交换传输数据量较大,数据复用需求较高、系统交互比较频繁、传输效率要求较高,安全性、稳定性、可靠性和灵活性要求较高等几种情况时,都不适合使用Web Service,其比较适合小数据量、小数据包,传输效率等要求不高的场合.
数据访问功能的作用是将海量平台作为数据中心,对外界开放统一的数据访问接口,以供营销部的营销业务系统和营销稽查系统、运检部的供电电压采集系统、交易中心的结算系统、发展策划部的线损系统,以及其他可能用到海量平台数据的系统提供统一的数据访问接口,实现跨部门的数据整合和共享.
目前,实现数据访问功能的方案有两种:一是用户直接调用海量平台UAPI访问海量平台数据,该方法效率较高,数据实时性强,数据安全性和完整性有保障,但这一方法对海量平台UAPI依赖性非常强,客户必须熟悉海量平台UAPI的使用方法后才能使用;二是提供Web Service访问接口,通过调用Web Service接口去访问数据,这一方式适合小数据量、小数据包,传输效率要求不高的情况.
通过对上述各种数据接入方式的分析,如E文件接入、关系数据库接入和 Web Service接入等,结合第三方数据源的特点,采用不同的数据,设计了一个数据接入访问适配器,对不同的数据源提供不同的数据接入访问接口,最终实现用统一的方式将数据接入海量平台.
在系统的使用过程中,通过设置开始时间、延迟时间及时间步长,系统以一定的周期和频率从数据源中接入数据,也可以通过海量平台为外界提供统一的数据访问接口.如果某一时刻数据接入或访问存在异常,系统将会打印详细的日志信息,以供参考,排除系统存在问题.通过改变步长,还可以更加精细化接入不同频率的数据,可以更加实时地将海量数据存入海量平台中,从而保证海量平台中数据的可靠性和实时性.实际应用结果表明,本系统可使海量平台数据接入、数据访问的速度和可靠性有了大幅度的提高,为电网数据整合和数据共享提供了有力的保障.
(1) 本文所设计的统一接入访问工具可实现对不同类型的数据进行访问,大大提高了海量平台数据接入和访问的速度和可靠性,为电网数据整合和数据共享提供了有力的保障;
(2) 利用海量平台UAPI访问海量平台数据效率较高,数据实时性强,数据安全性和完整性有保障,但这种方法对海量平台UAPI的依赖性非常强,客户必须熟悉海量平台UAPI的使用方法后才能使用;
(3) Web Service访问接口适用于小数据量、小数据包、传输效率要求不高的场合.
[1] 孟相武,程劲,罗克露,等.基于Linux的高可用集群系统的设计及实现[J].电子科技大学学报,2005,34(4):86-93.
[2] 王霜,修保新,肖卫东,等.Web服务器集群的负载均衡算法研究[J].计算机工程与应用,2004,40(25):234-241.
[3] 黄海峰,张珂珩,张鸿,等.电力系统动态信息数据库关键技术[J].计算机应用,2011,31(6):1 681-1 684.
[4] 雷霆,黄太贵,袁林.动态信息数据库在调度自动化系统中的应用[J].电力系统自动化,2007,31(s):106-110.
[5] 邓大为,李可,陆俊,等.基于CIM/E文件的电网全景建模技术研究[J].广东电力,2013,26(11):51-54.
[6] 常品要,李国喜,张萌,等.基于Pro/TOOLKIT的Pro/E装配体文件整体存入数据库技术[J].机械制造,2009,7(10):23-28.
[7] 王亮,郭一平.基于Webservice的异构数据库检索系统[J].大学图书馆学报,2004,22(1):61-75.
[8] 彭玢,代洁.基于中间库与Web Service平台信息交互接口设计[J].计算机与数字工程,2013,41(11):34-45.
DesignandImplementationofaUnifiedAccessToolintheMassiveHistory/NearReal-timeDataManagementPlatform
FEI Donghu, LU Shengbing, LI Yebai, DING Xuefeng
(StateGridChangxingPowerSupplyCompany,Changxing313100,China)
Research is conducted on the features of real-time database and the data storage structure in real-time library.By means of comprehensive utilization of the core technology of the relational database and real-time database,massive history/near real-time data management platform for near real-time data access,storage,sharing and access is realized.Three kinds of access ways are proposed to design and implementation which make the historical/near real-time data access to huge amounts of platform.Also the applicable scope of the various data access is analyzed,the results of which have practical application in the massive history/near real-time data management platform.
real-time database; massive data management platform; access tool
10.3969/j.issn.1006-4729.2017.05.011
2016-10-12
费冬虎(1974-),男,高级工程师,浙江长兴人.主要研究方向为自动化系统应用.E-mail:cxdl_fdh@163.com.
TM712;TP311.13
A
1006-4729(2017)05-0466-05
(编辑 胡小萍)