基于etl云平台上传的海量电力营销数据整合方法

xiaoxiao2020-7-22  20

基于etl云平台上传的海量电力营销数据整合方法
【专利摘要】本发明公开了一种基于ETL云平台上传的海量电力营销数据整合方法。其整体流程模块包括:业务相关数据模块,监控模块,ETL作业流程,协议簇模块,中间服务器数据存储模块,协议簇上传流程,云平台数据存储系统模块。该方法利用ETL工具,开发出和业务相关的系列“作业”,把各种平台的业务数据经过清洗、抽取、转换以及“协议簇”规则等一系列步骤,生成中间服务器上面的文本文件,这些文本文件即是模型指标文本文件,直接可以用在后期云平台算法建模。最后把中间服务器上面的模型指标文本文件按照“协议簇”规则上传到云平台,完成业务数据由数据库到云平台指标数据的上传,实现了对海量电力营销数据的快速整合。
【专利说明】基于ETL云平台上传的海量电力营销数据整合方法
【技术领域】
[0001]本发明涉及源数据的抽取、转换及整合的【技术领域】,具体涉及对海量电力营销数据基于ETL云平台自动上传到云平台数据存储系统,实现海量数据的快速整合。
技术背景
[0002]目前,地市供电局系统已实现厂站电能量终端、负控终端、配变终端、低压集抄终端四个系统的整合使用,实现了厂站计量、专变用户、配变台区、居民小区的表计数据采集,各供电局厂站覆盖率、负荷管理终端覆盖率、配变监测计量终端覆盖率基本达到100%,低压居民用户集抄覆盖率达到25%以上,计量自动化系统主站每天采集海量数据,通过营销管理信息系统开发接口进行数据共享实现集中抄表、反窃电监控、计量故障异常分析等工作。
[0003]随着电力企业的信息化建设,也促使了数据大量地增长,据统计,数据量每2?3年时间就会成倍增长。各地市供电局建设规模数据、电量数据、负荷数据、线损数据、业务运营数据、供电质量数据等,这些数据量很快从PB增长到EB (I EB=I 000 PB)的海量数据,增长速度越来越快、数据量极大;电力数据类型众多,传统的电力生产主要以结构化数据为主,涉及各类电量的测量、流程的记录和资产的管理等,近几年视频、音频、文本等非结构化数据迅速增长,其数量很快超过结构化数据,逐渐成为电力大数据的主要组成部分。
[0004]由于电力行业以电力安全生产和满足社会需要为目标,涉及到电力生产、计量计费、电力营销等的数据必须准确无误,且实时性要求也高。于是,企业如何通过各种技术手段,并把数据转换为实时的信息、知识,已经成了提高电力企业核心竞争力的主要瓶颈。而ETL则是主要的一个技术手段。
[0005]本发明是基于ETL云平台自动上传技术,将海量电力营销数据上传到云平台数据存储系统,实现海量数据的快速整合。首先利用ETL工具,开发出和业务相关的系列“作业”。然后通过这一系列的“作业”把各种平台的业务数据经过清洗、抽取、转换以及“协议簇”(彼此相关联的一组协议)规则等一系列步骤,生成中间服务器MS上面的文本文件,这些文本文件即是模型指标文本文件,直接可以用在后期云平台算法建模。最后把中间服务器MS上面的模型指标文本文件按照“协议簇”规则上传到云平台,完成业务数据由数据库到云平台指标数据的上传。

【发明内容】

[0006]本发明的目的是为了解决海量电力营销数据整合难度大这一问题,提供一种基于ETL云平台上传的海量电力营销数据整合方法。
[0007]为了实现上述目的,本发明的技术方案如下:
一种基于ETL云平台上传的海量电力营销数据整合方法,它包括若干台服务器组成的海量电力营销数据整合平台,使用ETL工具,其特征在于还包括:
业务相关数据模块、监控模块、ETL作业流程、协议簇模块、中间服务器数据存储模块、协议簇上传流程和云平台数据存储系统模块,其中 实现海量电力营销数据整合包括以下步骤:
1.数据抽取,将存储在业务相关数据库中的数据抽取出来;
2.数据清洗,利用ETL工具可以通过编写相应的作业Job处理过程对异构的业务相关数据进行统一,即清除不同的数据格式;
3.数据返回,进行相应的处理得到统一的数据返回,即为建模阶段所使用到的指标数
据;
4.数据转换,进行业务相关数据上传数据到中间服务器的传输,采用txt格式存储;
5.数据上传,扫描中间服务器固定目录数据自动上传到云平台数据存储系统。
[0008]本方法通过这一系列的“作业”把异构平台的业务相关数据中的经过抽取、清洗、转换等一系列步骤,生成中间服务器MS上面的文本文件,这些文本文件是模型指标文本文件,直接可以用在后期云平台算法建模。接着把中间服务器MS上面的模型指标文本文件按照自定义“规则”上传到云平台,完成由业务相关数据到云平台指标数据的上传。其带来的有益效果是有益效果:实现了对海量电力营销数据的快速整合,对数据做标准化定义,实现统一的编码、统一的分类和组织。标准化定义的内容包括:标准代码统一、业务术语统一。
[0009]【专利附图】

【附图说明】:
图1为本发明的结构示意图;
图2为ETL作业流程图;
图3为MS云平台上传作业示意图。
【具体实施方式】
[0010]下面结合附图,对本发明的技术方案作进一步具体的说明。
[0011]图1为本发明的结构示意图,它包括8台服务器组成的海量电力营销数据整合平台,其中6台计算服务器、I台数据库服务器及I台中间服务器MS,也即是WEB服务器,使用ETL (Extraction-Transformation-Loading,抽取、转换和加载)工具,其特征在于还包括:业务相关数据模块、监控模块、ETL作业流程、协议簇模块、中间服务器数据存储模块、协议簇上传流程和云平台数据存储系统模块,其中
所述的业务相关数据模块是各省市数据库服务器模块;
所述的监控模块主要由作业监控以及平台服务器监控组成;
所述的ETL作业流程是指进行相应的Job处理过程;
所述的协议簇模块包括数据清理规则、数据上传约束、数据处理规则、作业逻辑规则;所述的中间服务器数据存储模块是指将ETL系列作业将业务相关数据上传到中间服务器MS,并采用txt格式存储;
所述的协议簇上传流程是指中间服务器MS上面的模型指标文本文件按照“协议簇”规则上传到云平台;
所述的云平台数据存储系统模块主要由HDFS文件系统以及在其上构建的Hive和HBase数据库。
[0012]实现数据整合还包括以下步骤:
1、数据抽取,将存储在业务相关数据库中的数据抽取出来;
2、数据清洗,利用ETL工具可以通过编写相应的作业Job处理过程对异构的业务相关数据进行统一,即清除不同的数据格式;
3、数据返回,进行相应的处理得到统一的数据返回,即为建模阶段所使用到的指标数
据;
4、数据转换,进行业务相关数据上传数据到中间服务器的传输,采用txt格式存储;
5、数据上传,扫描中间服务器固定目录数据自动上传到云平台数据存储系统。
[0013]所述的监控模块对ETL系列作业与协议簇上传流程进行监控管理。
[0014]所述协议簇模块对ETL系列作业具有约束作用,对协议簇上传流程有指导作用。
[0015]所述的云平台数据存储系统模块是指将存储在中间服务器MS中的数据存储到云平台数据存储系统。
[0016]所述的ETL为Extraction-Transformation-Loading的缩写,是抽取、转换和加载的工具。
[0017]所述的协议簇是数据清理规则、数据上传约束、数据处理规则、作业逻辑规则等。
[0018]图1中工作流程说明:首先由各省市数据,如南宁负荷数据、北海负荷数据等,上传到中间服务器。这个上传过程通过开发ETL作业来完成,开发的ETL作业需要符合协议簇中的数据上传的约束、数据清理的约束以及作业逻辑控制的约束。同时在进行ETL作业数据上传的时候,系统监控模块会监控作业的进行状态;而管理模块则会根据协议簇中的作业逻辑规则约束来进行任务回调、任务状态设置等操作。中间服务器的数据即为整合后的海量电力营销数据。中间服务器数据通过在协议簇中的自定义协议上传数据到云平台数据存储系统中,使用多条链路达到并行、高效传输数据的目的。协议簇中的自定义协议指导上传数据的过程,同时监控模块监控各条链路上传状态,管理模块则根据上传作业业务逻辑进行管理。
[0019]本发明通过使用ETL工具,开发出和业务相关的系列“作业”(ETL中为Job)。通过把各种平台的业务数据经过抽取、清洗、转换以及“协议簇”规则等一系列步骤,生成中间服务器MS上面的文本文件,这些文本文件即是模型指标文本文件,直接可以用在后期云平台算法建模。其中,ETL数据抽取是指根据装载数据抽取结果到目标数据库(如数据仓库)的影响度,分为增量式更新和全量更新的数据抽取方式:全量抽取是将数据源中的表或视图的数据原封不动的从数据库中抽取出来,并转换成自己的ETL工具可以识别的格式,增量抽取是只抽取自上次抽取以来数据库中要抽取的表中新增或修改的数据;ETL数据清洗是指过滤那些不符合要求的数据,不符合要求的数据主要是有不完整的数据、错误的数据和重复的数据三大类;ETL数据转换是指进行不一致的数据转换、数据粒度的转换;ETL数据加载是指把预处理后的数据加载到目标数据仓库中,可以采用SQL语句完成装载。接着把中间服务器MS上面的模型指标文本文件按照“协议簇”规则上传到云平台,完成业务数据由数据库到云平台指标数据的上传。
[0020]此外,在对源数据进行预处理时,包含了对服务器的集群管理、负载均衡、及基于并行工作方式的ETL这3项前置工作。
[0021]在服务器的集群管理及负载均衡方面,本发明采用Oracle RAC并行集群技术实现数据库系统并行处理,保证实现系统的可伸缩性,充分利用计算资源。Oracle IOg是一个专门为企业网格计算开发的基础架构软件,其真正应用集群(Real Application Cluster,RAC)是OraclelOg的组件,也是其网格技术实现的核心。它具有高速缓存合并、共享磁盘、透明应用切换三大核心功能。在RAC体系结构中,每一个节点都运行一个数据库实例。节点之间通过私有网络连接来进行数据交换,并分别与共享磁盘存储进行连接。节点与应用层处在同一专用网络中,虽然每个节点有不同的物理IP地址,但应用客户仍可以在一个虚拟数据库服务名的配置上进行连接,系统自动实现负载均衡。负载均衡能够自动适应快速变化的业务需求和随之而来的工作负荷的改变,通过动态地重新分配数据库资源,可以在节点之间用最小化磁盘I/O和低延迟通信来优化使用集群系统资源。
[0022]在基于并行工作方式的ETL方面,本发明可采用多线程方式实现多任务并行调度,每个任务既可以是独立的线程,也可以根据相互依赖关系设置线程执行的先后次序,采用串行与并行结合的方式进行数据采集。基于并行处理技术的ETL可以提高ETL过程中在数据层处理的执行效率,将大量的查询过程分布到多个节点上同时执行。
[0023]图2给出了 ETL作业流程,ETL系列作业的主要工作是针对特定的业务数据根据一定的逻辑转换为模型指标数据,作业流程含有下面几个必要条件:
1、每条ETL系列作业经过抽取、清洗、转换以及“协议簇”约束都会在本地生成一个或多个指标文件,ETL系列作业是指多个ETL任务的叠加,比如图2中部左边的大箭头(虚线)所包含的多个任务可以成为一个系列作业;
2、系列ETL作业之间没有制约关系,但是同一个阶段的ETL系列作业有一个约定就是:在一个阶段中的所有ETL系列作业全部运行完毕后才能继续下一个阶段。在图2中“协议簇”约束上面的部分即是同一个阶段的系列ETL作业,它们之间没有制约关系。它们属于同一个阶段,当这个阶段的所有任务运行完毕后,才会进行下一个阶段,即上传作业;
3、系列作业中的ETL任务有两种关系:依赖和并列。比如,图2中的变压器系列作业中“日平均负载率任务”就依赖于“变压器容量抽取任务”和“变压器负荷抽取任务”,而“变压器容量抽取任务”和“变压器负荷抽取任务”之间是并列关系;
4、每条ETL系列作业附带一个监控,监控有两个作用:1.记录日志;2.当出现异常的时候,附带相应的“异常码”到任务处理模块,统一进行处理。
[0024]所谓的“异常码”是指不同异常的区分编码。
[0025]5、“协议簇”约束与作业管理共同管理中间服务器(MS)的上传任务。
[0026]图2所示作业流程解释如下:
ELT系列作业启动后,会启动与具体业务逻辑对等个数的系列ETL作业。比如当模型数据保护3个业务逻辑,那么就会有启动3个ETL系列作业。但是如果每个业务逻辑都包含有4个指标,那么一共就有12个指标,在上传作业中就会启动12个子任务进行上传。
[0027]每个系列作业独自运行,与之相应的系列作业监控模块进行相应的记录。比如当变压器系列作业中的“变压器负荷抽取任务”成功完成后,会记录一条日志。若在执行“负载率标准差任务”的时候出现异常,那么变压器系列作业的任务监控模块就会记录一条异常日志,同时发送一条含有“异常码”的消息到作业管理/异常处理模块。作业管理/异常处理模块接收到消息后,会创建相应的环境记录(环境记录是指创建的是哪个系列任务的哪个任务)。然后发出一条重启“负载率标准差任务”,“负载率标准差任务”重新执行。执行成功,则继续;否则,与之相应的监控模块再次记录异常,然后任务处理模块根据当前的环境记录确认后续的处理。若ETL系列的某个任务启动了 2次后还是没有成功,那么就会启动其依赖的任务,依赖任务成功后继续执行当前异常的任务。若异常任务还是失败,那么就会退出ETL系列作业。任何一个系列作业出现上述情况都会退出ETL系列作业。
[0028]系列作业中的并列任务也是同一个阶段任务,遵从条件(2)的约定。
[0029]每个系列作业执行完成后,与之相应的任务监控就会发送一条完成消息码到作业管理/异常处理模块。所有系列作业都发送了完成消息码后,就会启动下一个阶段的任务,即上传系列作业。
[0030]上传系列作业,其实就是特殊的ETL系列作业。符合流程(2)、(3)、(4)。
[0031]图3给出了 MS-云平台作业上传流程,数据上传到中间服务器(MS)后(中间服务器(MS)也即是WEB服务器,隶属同一台PC机),就会开始执行数据上传到云平台任务。具体过程如下:
(I)MS-云平台上传作业启动后,首先扫描中间服务器固定目录的所有文件,把文件总个数FileCounts写入云平台元数据中,同时在云平台元数据中初始化一个全局文件个数变量Fi IeCount,初始值为O ;
(2 )中间服务器(MS)中的每类指标文件每次上传占用一个上传通道,正常情况下,每次上传的同时,在上传元数据中记录上传文件的相应信息。比如:上传文件名、已上传大小、文件总大小等。上传完成后,上传元数据中的全局文件个数变量自增I ;
(3 )每个文件上传之前,都会经过检查模块,检查模块使用“协议簇”的规则来对文件进行检查。检测模块的一般流程:首先比较云平台元数据中的文件总个数FileCounts和全局文件个数变量FileCount做比较,如果相等,则退出MS-云平台上传作业。否则,在云平台元数据中查找要上传的文件,看是否有相应的信息。若没有,则可以分配一个上传通道,开始文件上传。文件上传的过程中会进行任务监控,任务监控模块监控任务的执行情况,同时写入日志;
(4)若检测模块检测到文件上传过程中出现异常,就会进行异常处理。异常处理是在监控模块中进行操作的,除了记录必要的日志信息,同时还会存储相应的“当前环境”,用于恢复异常前的环境信息。异常处理不会对当前云平台元数据中的数据进行修改。比如,某个文件上传了一部分,然后出现了中断,也就是异常。那么在云平台元数据中就会存储了已经上传的部分文件信息(如上传中断位置等信息)不会对其进行再次操作。同时会再次发送一个含有异常码的上传文件的消息;
(5)每次文件上传,并不知道该文件是否是上传中断或者是未上传完成(并不会出现文件已经上传了的情况,因为只有在首次启动MS-云平台上传作业以及异常重启的时候才会发送文件上传的指令),所以在步骤(3)的时候如果检测到有文件的信息,那么就会启动断点续传的功能,继续上传中断的上传任务;
(6)MS-云平台作业退出口在第(3)步。
【权利要求】
1.一种基于ETL云平台上传的海量电力营销数据整合方法,它包括若干台服务器组成的海量电力营销数据整合平台,使用ETL工具,其特征在于还包括以下步骤: (1)数据抽取,将存储在业务相关数据库中的数据抽取出来; (2)数据清洗,利用ETL工具可以通过编写相应的作业Job处理过程对异构的业务相关数据进行统一,即清除不同的数据格式; (3)数据返回,进行相应的处理得到统一的数据返回,即为建模阶段所使用到的指标数据; (4)数据转换,进行业务相关数据上传数据到中间服务器的传输,采用txt格式存储; (5)数据上传,扫描中间服务器固定目录数据自动上传到云平台数据存储系统。
2.根据权利要求1所述的整合方法,其特征在于还包括: 业务相关数据模块、监控模块、ETL作业流程、协议簇模块、中间服务器数据存储模块、协议簇上传流程和云平台数据存储系统模块,其中 所述的业务相关数据模块是各省市数据库服务器模块; 所述的监控模块主要由作业监控以及平台服务器监控组成; 所述的ETL作业流程是 指进行相应的Job处理过程; 所述的协议簇模块包括数据清理规则、数据上传约束、数据处理规则、作业逻辑规则; 所述的中间服务器数据存储模块是指将ETL系列作业将业务相关数据上传到中间服务器MS,并采用txt格式存储; 所述的协议簇上传流程是指中间服务器MS上面的模型指标文本文件按照“协议簇”规则上传到云平台; 所述的云平台数据存储系统模块主要由HDFS文件系统以及在其上构建的Hive和HBase数据库。
3.根据权利要求1或2所述的整合方法其具体步骤如下: (1)MS-云平台上传作业启动后,首先扫描中间服务器固定目录的所有文件,把文件总个数FileCounts写入云平台元数据中,同时在云平台元数据中初始化一个全局文件个数变量Fi IeCount,初始值为O ; (2)中间服务器MS中的每类指标文件每次上传占用一个上传通道,正常情况下,每次上传的同时,在上传元数据中记录上传文件的相应信息;上传完成后,上传元数据中的全局文件个数变量自增I ; (3 )每个文件上传之前,都会经过检查模块,检查模块使用“协议簇”的规则来对文件进行检查; 检测模块的一般流程:首先比较云平台元数据中的文件总个数FileCounts和全局文件个数变量FileCount做比较,如果相等,则退出MS-云平台上传作业;否则,在云平台元数据中查找要上传的文件,看是否有相应的信息;若没有,则可以分配一个上传通道,开始文件上传;文件上传的过程中会进行任务监控,任务监控模块监控任务的执行情况,同时写入曰志; (4)若检测模块检测到文件上传过程中出现异常,就会进行异常处理;异常处理是在监控模块中进行操作的,除了记录必要的日志信息,同时还会存储相应的“当前环境”,用于恢复异常前的环境信息;异常处理不会对当前云平台元数据中的数据进行修改;那么在云平台元数据中就会存储了已经上传的部分文件信息,不会对其进行再次操作;同时会再次发送一个含有异常码的上传文件的消息; (5)每次文件上传,并不知道该文件是否是上传中断或者是未上传完成,并不会出现文件已经上传了的情况,因为只有在首次启动MS-云平台上传作业以及异常重启的时候才会发送文件上传的指令,所以在步骤(3)的时候如果检测到有文件的信息,那么就会启动断点续传的功能,继续上传中断的上传任务; (6)MS-云平台作业退出口在第(3)步。
4.根据权利要求1所述的整合系统,其特征在于括: 所述的监控模块对ETL系列作业与协议簇上传流程进行监控管理。
5.根据权利要求1所述的整合系统,其特征在于: 所述协议簇模块对ETL系列作业具有约束作用,对协议簇上传流程有指导作用。
【文档编号】G06Q50/06GK103955510SQ201410180132
【公开日】2014年7月30日 申请日期:2014年4月30日 优先权日:2014年4月30日
【发明者】何艺, 陈俊, 刘路, 陈勇成, 秦丽娟, 唐利涛, 曾博, 张良均, 陈俊德, 刘名军, 樊哲, 郑宗锐 申请人:广西电网公司电力科学研究院, 从兴技术有限公司

最新回复(0)