基于变化数据捕捉的电力监控数据监控方法及平台与流程

文档序号:29803016发布日期:2022-04-23 20:47阅读:164来源:国知局
基于变化数据捕捉的电力监控数据监控方法及平台与流程

1.本发明涉及数据处理领域,具体是基于变化数据捕捉的电力监控数据监控方法及平台。


背景技术:

2.传统的etl工具普遍逻辑是基于时间窗口轮询机制采集源系统数据。其工作原理为定时采集一定时间窗口的数据。这种工作机制,(1)为了能提高数据采集的实时性,只能通过提高采集的频次。但是,采集频次越高对于服务器的性能要求就越高,同时采集频次的提高受制于采集流程本身的运行时长,不能无限提高。为平衡服务器性能和数据采集的时效性的矛盾,通常只能有限的增加数据采集的频率,造成数据实时性相对较差;(2)同一数据不论是否改变,都将被抽取、转换、存储多次。抽取的频次越高,同一个数据被抽取的次数就更多,造成资源浪费,增大了目标数据库的性能压力;(3)缺乏对增量更新数据的补抽机制,在数据轮询时间窗口之前的数据更新时,必须由维护人员进行数据补抽。且数据删除时,不能同步等问题;(4)原系统中使用了非国产的数据库管理软件,所采用的服务器操作系统均为windows server 2003,这些操作系统已经停止服务,无法更新,存在大量安全漏洞及隐患,且无法修补,造成了运行维护的困难。


技术实现要素:

3.本发明的目的在于克服现有技术的不足,提供基于变化数据捕捉的电力监控数据监控方法,包括如下步骤:步骤一,数据采集,通过源端日志文件结合数据采集接口来收集数据;步骤二,将数据采集收集到的数据进行数据传输,数据传输过程中,结合tcp协议和消息队列完成源端和目标端之间的数据传输;步骤三,数据采集目标端进程将传送到目标端中的信息结合数据集成模型转化为sql语句,然后将sql语句发送给数据库系统执行,数据库系统执行完成后,完成电力监控数据的监控。
4.进一步的,所述的通过源端日志文件结合数据采集接口来收集数据,包括如下过程:源数据库把每个插入、更新、删除操作记录到数据库日志里,通过实时读取日志文件来捕获数据,将数据写入到视图表中,下游系统采用kafka connector jdbc source 进行连接,接入到kafka,记录上次读取的偏移量,完成数据变化日志采集、传输。
5.进一步的,所述的将数据采集收集到的数据进行数据传输,数据传输过程中,结合tcp协议和消息队列完成源端和目标端之间的数据传输,包括如下过程:采用异步事件驱动的nio框架netty,通过netty对tcp和文件传输进行支持,通过future-listener机制,获得io操作结果。
6.进一步的,还包括,若为对达梦和oracle数据库,则启用logminer,赋予v$sql的读
权限,若需跨库或跨机器,则以service application方式提供,连接使用jdbc,将数据写入到视图表中。
7.应用基于变化数据捕捉的电力监控数据监控方法的基于变化数据捕捉的电力监控数据监控平台,包括源端数据采集模块、目标端数据应用模块、数据同步服务模块;所述的源端数据采集模块、目标端数据应用模块、数据同步服务模块依次通信连接。
8.优选的,所述的源端数据采集模块以后台服务的方式运行,实现平台架构中的数据抽取层功能,通过对归档日志解析获取原始数据,并将其通过网络传输给目标端数据应用模块;目标端数据应用模块以后台服务的方式运行,实现数据转换和数据集成,通过使用数据转换组件,进行数据转换,然后使用数据模型进行数据集成,转换为相关的sql语句,进行数据入库操作;数据同步服务模块用于监控数据同步服务平台的运行,并提供数据转换组件和数据集成模型的可视化操作界面。
9.优选的,还包括事件服务模块,所述的事件服务模块与所述的数据同步服务模块连接。
10.优选的,所述的事件服务模块包括事件采集模块,所述事件采集模块,用于获取获源端数据采集模块、目标端数据应用模块的事件信息。
11.优选的,还包括事件服务主机,所述的事件服务主机与所述的事件服务模块连接,所述的事件服务主机用于汇总事件信息,用于监控人员查看并管理源端数据采集模块、目标端数据应用模块的事件信息。
12.优选的,还包括事件数据库,所述事件数据库用于存储并分类所述事件服务主机汇总的事件信息,并提供存取接口,以接收所述事件服务主机的请求,提供需要读取的事件信息。
13.本发明的有益效果是:通过本发明所提供的方案,能够满足电力监控系统安全防护要求,是采集数据时效性、准确性更好的的数据采集、传输、存储技术。
附图说明
14.图1为基于变化数据捕捉的电力监控数据监控方法的原理示意图;图2为基于变化数据捕捉的电力监控数据监控平台的原理示意图。
具体实施方式
15.下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
16.为了使本发明的目的,技术方案及优点更加清楚明白,结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
17.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人
员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
18.而且,术语“包括”,“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程,方法,物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程,方法,物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程,方法,物品或者设备中还存在另外的相同要素。
19.以下结合实施例对本发明的特征和性能作进一步的详细描述。
20.如图1所示,基于变化数据捕捉的电力监控数据监控方法,包括如下步骤:步骤一,数据采集,通过源端日志文件结合数据采集接口来收集数据;步骤二,将数据采集收集到的数据进行数据传输,数据传输过程中,结合tcp协议和消息队列完成源端和目标端之间的数据传输;步骤三,数据采集目标端进程将传送到目标端中的信息结合数据集成模型转化为sql语句,然后将sql语句发送给数据库系统执行,数据库系统执行完成后,完成电力监控数据的监控。
21.所述的通过源端日志文件结合数据采集接口来收集数据,包括如下过程:源数据库把每个插入、更新、删除操作记录到数据库日志里,通过实时读取日志文件来捕获数据,将数据写入到视图表中,下游系统采用kafka connector jdbc source 进行连接,接入到kafka,记录上次读取的偏移量,完成数据变化日志采集、传输。
22.所述的将数据采集收集到的数据进行数据传输,数据传输过程中,结合tcp协议和消息队列完成源端和目标端之间的数据传输,包括如下过程:采用异步事件驱动的nio框架netty,通过netty对tcp和文件传输进行支持,通过future-listener机制,获得io操作结果。
23.还包括,若为对达梦和oracle数据库,则启用logminer,赋予v$sql的读权限,若需跨库或跨机器,则以service application方式提供,连接使用jdbc,将数据写入到视图表中。
24.如图2所示,应用基于变化数据捕捉的电力监控数据监控方法的基于变化数据捕捉的电力监控数据监控平台,包括源端数据采集模块、目标端数据应用模块、数据同步服务模块;所述的源端数据采集模块、目标端数据应用模块、数据同步服务模块依次通信连接。
25.所述的源端数据采集模块以后台服务的方式运行,实现平台架构中的数据抽取层功能,通过对归档日志解析获取原始数据,并将其通过网络传输给目标端数据应用模块;目标端数据应用模块以后台服务的方式运行,实现数据转换和数据集成,通过使用数据转换组件,进行数据转换,然后使用数据模型进行数据集成,转换为相关的sql语句,进行数据入库操作;数据同步服务模块用于监控数据同步服务平台的运行,并提供数据转换组件和数据集成模型的可视化操作界面。
26.优选的,还包括事件服务模块,所述的事件服务模块与所述的数据同步服务模块
连接。
27.优选的,所述的事件服务模块包括事件采集模块,所述事件采集模块,用于获取获源端数据采集模块、目标端数据应用模块的事件信息。
28.优选的,还包括事件服务主机,所述的事件服务主机与所述的事件服务模块连接,所述的事件服务主机用于汇总事件信息,用于监控人员查看并管理源端数据采集模块、目标端数据应用模块的事件信息。
29.优选的,还包括事件数据库,所述事件数据库用于存储并分类所述事件服务主机汇总的事件信息,并提供存取接口,以接收所述事件服务主机的请求,提供需要读取的事件信息。
30.具体的,在生产控制大区的安全区ii,针对水调自动化系统、电能量采集系统分别安装数据库日志采集程序,采用改变数据捕获技术,实现对改变数据的感知。并将原数据基于kafka消息队列通过自有程序,穿过电力专用横向隔离装置,送到管理信息大区的服务端。在数据库管理信息大区的安全区iii建立4台服务器,其中3台服务器组成kafka高可用集群,用以接收原数据流,并通过数据采集引擎将数据按既定的规则进行转换存储在达梦数据中。
31.1)数据采集数据采集时,通过源端日志文件结合数据采集接口来收集数据,此过程几乎不对源端数据库产生任何开销。
32.2)数据传输数据传输过程中,结合tcp协议和高吞吐量的消息队列来完成源和目标系统之间的数据传输。其相关进程会确保数据的正确接收和网络数据包的正确顺序,并提供网络传输冗余,以确保数据的完整。
33.3)数据应用数据采集目标端进程将传送到目标系统中的信息结合数据集成模型转化为sql语句,然后发送给数据库系统执行即可完成数据落地。
34.4)平台架构平台架构整体由三部分构成,分为源端数据采集程序、目标端数据应用程序和数据同步服务平台。其中,源端程序以后台服务的方式运行,实现平台架构中的数据抽取层功能,通过对归档日志解析获取原始数据,并将其通过网络传输给目标端进程;目标端程序同样以后台服务的方式运行,实现平台架构中的数据转换和数据集成功能,通过使用数据转换组件,进行数据转换,然后使用数据模型进行数据集成,转换为相关的sql语句,进行数据入库操作,达到数据同步的目的;数据同步服务平台用以监控数据同步服务平台的运行情况,并提供数据转换组件和数据集成模型的可视化操作界面,降低整个平台的操作执行成本。
35.传统数据集成、数据转移和etl(extract ,transform and load)过程都有运行时间窗(每分钟、每小时、或每天定时运行),将源数据整体移动或集成到目标数据库。对于运行时间窗等待时间内改变的数据,只能等到下一次运行时间到时,才能被传输。本项目采用改变数据捕获技术(以下简称cdc,change data capture),该技术提供了一个完整的解决方案,它是基于对源数据改变部分的数据识别,数据获取和数据传送技术来实现的。由于只
处理改变部分的数据,cdc技术使得数据集成过程更加有效,同时也减少了从源数据改变到目标数据源获取变化并随之改变的时间和成本。
36.针对实时获取crud(增删改查数据)能选的方案仅有触发器与数据库日志,考虑到数据库性能以及对数据库的侵入性等,本项目采用非侵入式、基于日志的cdc方式,该方式的原理为源数据库把每个插入、更新、删除操作记录到数据库日志里,通过实时读取日志文件来捕获数据。针对达梦和oracle数据库,启用logminer,赋予v$sql的读权限,如果需要跨库或者机器可以以service application方式提供,连接使用jdbc,将数据写入到视图表中,下游系统采用kafka connector jdbc source 进行连接,接入到kafka,记录上次读取的偏移量(offset),即可完成数据变化日志采集、传输等操作。
37.通过上述措施,在不影响数据库性能的前提下,通过读取对应数据库的变更日志文件,即可进行变化数据的捕获,并通过消息队列进行大批量数据传输,大大提高了数据时效性。将各个数据库日志采集程序打包,即可在数据采集平台中进行应用,为后续数据采集平台(etl)提供插件支持。
38.(3)基于隔离装置环境的高可用网络传输技术电力监控系统生产控制大区及管理信息大区之间,必须设置电力专用网络隔离装置。通常是基于一套单机版本的“正向隔离装置传输软件”,以定时传输数据文件的形式,完成内网到外网的传输。这种传输方式在数据文件的生成、传输、解析上只能通过定时轮询的方式,无法做到无缝衔接,影响数据传输的时效性。同时,单机程序在存在不稳定性。
39.本发明采用高性能、异步事件驱动的nio框架netty,它提供了对tcp和文件传输的支持,作为一个异步nio框架,netty的所有io操作都是异步非阻塞的,通过future-listener机制,可以方便的主动获取或者通过通知机制获得io操作结果。netty的高性能主要特点包含:异步非阻塞通信、零拷贝、高效的reactor线程模型、无锁化的串行设计理念、高效的并发网络编程、高性能的序列化框架以及灵活的tcp参数配置能力。
40.基于netty框架提供的内置的常用编解码器,同时可以管理多个端口,可以处理tcp socket,编写出高性能的数据传输程序,并集成高可用的组件保证数据传输程序的高可用。
41.采用netty的高可用网络传输技术,结合目前隔离装置环境,集成已有的数据捕获技术能够处理实时数据的特点,将隔离装置内外定时数据文件传输升级为实时数据传输,进一步提高了数据的时效性和程序的可维护性。
42.选用自主知识产权的达梦数据库是为了能实现自主可控。但是达梦数据库目前应用较少,现主流的cdc软件、etl软件均只能适配主流的数据库。若要与达梦数据库无缝对接,必须进行自主适配开发。本项目根据达梦数据库的特点及技术规范进行了适配开发,实现了达梦数据库日志文件的解析,能够与cdc软件配合进行数据库改变数据的智能分析与捕获。并在sdc软件中挂载达梦数据库驱动引擎,实现了数据转换入库,全链条的实现了达梦数据库的无缝接入。
43.以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1