掌桥专利:专业的专利平台
掌桥专利
首页

一种基于云平台和数据中台的电费计算发行方法及系统

文献发布时间:2023-06-19 11:52:33


一种基于云平台和数据中台的电费计算发行方法及系统

技术领域

本发明涉及电费计算发行技术领域,具体为一种基于云平台和数据中台的电费计算发行方法及系统。

背景技术

按照购售同期要求,营销类业务系统需要满足月末24点抄表,并在5个工作日内提供各业务部门所需数据及报表。对营销类业务系统的计算性能、处理能力等方面提出了更高要求。按照该要求,电表示数采集至少需要一天,电费退补及纠错一天,报表统计一天,只有2天时间用于电费结算发行。根据实际运行情况,营销业务应用目前架构只能支持5天发行完成,无法满足购售同期要求,同时短时间的大量发行任务也给数据库服务器及其他业务带来了极大压力,给营销业务应用整体运行带来了隐患。

发明内容

本发明的目的在于提供一种基于云平台和数据中台的电费计算发行方法及系统,用以提升电费发行效率、减轻电费发行人员压力,为后续电费管理中心的日常运行工作提供良好的技术保障。

本发明提供一种基于云平台和数据中台的电费计算发行方法,所述方法是从电力系统中剥离核算管理业务,基于技术支撑平台建设量费计算中心和核算应用,技术支撑平台基于云平台和数据中台进行构建,内容包括基于数据中台的分布式文件系统Hadoop、关系数据库PostgreSQL、分布式列数据库HBase、实时计算平台Storm;基于云平台的分布式缓存Redis、分布式消息队列Kafka、微应用群Docker;

所述量费计算中心是计算和服务的中心,实现的功能包括档案增量同步、采集数据接入、电量电费计算、电量电费审核、结算电费发行、电费退补计算、应收电费统计报表计算;

所述核算应用实现的功能包括审核规则管理、电费计算参数管理、算费异常管理、电费退补管理、算费结果监管、电量电费查询、监控和预警、应收电费统计报表。

进一步的,所述量费计算中心包含三部分存储,一是分布式缓存:支撑量费计算中心中的量费计算,主要由档案数据、电价信息、抄收参数信息、量费计算策略信息组成,数据存储于分布式缓存数据库,可快速查询计算;二是分布式列数据库:支撑内外部系统查询分析统计,主要是量费计算中心海量数据的存储,通过海量数据进行高效的分析统计;三是关系数据库:支撑量费计算中心相关配置,此部分数据存储需人为处理的信息。

进一步的,所述方法业务主体的流程及数据流向为:

①档案增量同步:通过OGG获取档案类表的数据库事务日志,顺序写入数据变更消息队列Kafka,用实时计算平台Storm进行数据处理,分别写入三个数据库HBase、PostgreSQL、Redis,HBase存放全部的数据信息,PostgreSQL存放描述类的数据,Redis存放电价、户表关系、抄核参数的数据,从HBase到Redis有补偿机制,通过计划任务实现;

②采集示数实时获取:通过OGG获取采集变更数据库事务日志,顺序写入采集变更日志消息队列Kafka,用实时计算平台Storm进行数据处理,在数据处理过程中需要访问Redis获取户表关系,生成以户为粒度的采集示数消息后,顺序写入采集示数消息队列Kafka,把采集示数消息队列的数据存入HBase,每天一张表;采集系统改造后,需要由采集系统把采集示数推送到采集变更日志消息队列Kafka,后面的处理逻辑保持不变;

③档案快照生成:在抄表例日的零点前,基于HBase中的C_CONS_ALL,通过M/R形成档案快照EBean,档案快照是每月一张表,以户+例日为主键;档案快照EBean在Redis中有一份拷贝,通过程序严格控制HBase与Redis中的档案快照EBean的数据一致;

④电量电费计算:通过消费采集示数消息队列Kafka中数据启动电量电费计算过程,以户为单位进行计算,计算过程包括,抄表复核、电量计算、电费计算、电费审核,电量电费计算之后,正常的电费计算结果写入正常计算结果消息队列Kafka,然后保存到HBase,异常的电费计算结果写入异常计算结果消息队列Kafka,然后保存到HBase;对于结算业务,电量电费计算结果,每月一张表;

⑤电费异常处理:消费异常计算结果消息队列Kafka中的数据,写入PostgreSQL数据库的异常信息列表,核算应用有界面功能查询异常信息列表,进行异常处理业务活动;可以在界面上通过点击按钮进行重新提档、重新计算的业务操作;

⑥电量电费发行:通过消费正常计算结果消息队列Kafka,在PostgreSQL中生成待发行用户列表,通过供电单位分组拆分计划任务,按照固定周期进行循环,每攒够200户的数据生成异步任务,如果在固定周期没攒够200户,攒了多少户就处理多少户,批量发行到Oracle数据库;通过Oracle事务保证数据不重复发行,以及发行成功后才更新用户的状态。

本发明还提供一种基于云平台和数据中台的电费计算发行系统,包括客户端、软件后台和电力系统,其中所述软件后台与电力系统的用电信息数据库和营销业务应用数据库连接,根据电力系统的数据库提供的用户个人信息数据、用户用电量数据以及电价参数,计算出用户上月电费电量,并传递至客户端,所述客户端用于用户直接快速的根据使用软件观看到自身的电费账单;所述软件后台包括电量电费计算模块、审核管理模块、电费退补管理模块。

(1)电量电费计算模块:其中功能包括电量电费计算管理、抄见电量计算、定比定量计算、主分表扣减计算、变损电量计算、线损电量计算、结算电量计算、目录电度电费计算、基本电费计算、功率因素调整电费计算、代征电费计算、电量电费计算特殊业务。

(2)审核管理模块:其中功能包括电量电费审核、异常管理、电费发行、电费差错审核。

(3)电费退补管理模块:其中功能包括政策性退补、非政策性退补。

与现有技术相比,本发明的有益效果是:

本发明基于云平台和数据中台的电费计算发行方法及系统,提供更高且更易扩展的系统性能,以增强电量电费计算的效率。新的架构整体上采用了分布式存储和流式计算等技术以实现核算业务。极大的程度上加快了电费计算发行速度,使用户每月都能更早收到电费账单信息,整体上为客户提供了极大的方便,使客户的用电体验效果更好。

(1)流程再造,实现自动化和智能化

取消各类手工抄表环节,取消抄表册,全程实现自动化。抄表数据均以采集系统为准,自动计算、统一在线监控、自动发行。

(2)极限能力,实现实时算费平台

电力系统电量电费结算业务进一步升级,基于云平台和数据中台重构电力系统电费结算应用和核算应用。完成与采集系统的采集数据实时连接,实现核算核算业务的实时算费平台。

(3)面向未来,支持多类业务的开展

除了满足电费结算业务外,核心架构和流程还需要支撑市场化下的实时电费计算。

(4)重构应用,提高业务的便捷性

提高电价管理的便捷性,提高调价应用的便捷性,提高工作效率。

附图说明

图1为本发明的流程图;

图2为本发明一种基于云平台和数据中台的电费计算发行方法及系统的总体架构图;

图3为本发明的软件后台业务架构图;

图4为本发明的应用架构图;

图5为本发明的数据架构图;

图6为采用kafka+Storm+Redis+Hbase的技术组合的逻辑架构图;

图7为增量数据同步处理概要图。

具体实施方式

下面结合附图,对本发明作进一步地说明。

本发明的流程图如图1所示。如图2所示,本方法是从电力系统中剥离“核算管理”业务,基于技术支撑平台建设量费计算中心和核算应用,技术支撑平台基于云平台和数据中台进行构建,内容包括基于数据中台的分布式文件系统(Hadoop)、关系数据库(PostgreSQL)、分布式列数据库(HBase)、实时计算平台(Storm);基于云平台的分布式缓存(Redis)、分布式消息队列(Kafka)、微应用群(Docker)。

量费计算中心是计算和服务的中心,实现的功能包括档案增量同步、采集数据接入、电量电费计算、电量电费审核、结算电费发行、电费退补计算、应收电费统计报表计算;

核算应用实现的功能包括审核规则管理、电费计算参数管理、算费异常管理、电费退补管理、算费结果监管、电量电费查询、监控和预警、应收电费统计报表。

如图4所示,本方法的应用架构从物理上可以划分为一个中心一个应用,分别是量费计算中心、核算应用。量费计算中心实现功能包括档案增量同步、采集数据接入、客户结算服务、应收电费报表服务。核算应用实现功能包括审核规则管理、电费计算参数管理、算费异常管理、算费结果监管、电量电费查询功能、电费退补管理、业务指标监控、技术指标监控、应收电费统计报表。

量费计算中心包含三部分存储,一是分布式缓存:即支撑量费计算中心中的量费计算,主要由档案数据、电价信息、抄收参数信息、量费计算策略信息组成,数据存储于分布式缓存数据库,可快速查询计算。二是分布式列数据库:即支撑内外部系统查询分析统计,主要是量费计算中心海量数据的存储,如用户基础档案数据、量费计算结果数据、量费计算审核异常数据、量费计算日志数据、量费计算中心监控日志,通过海量数据进行高效的分析统计。三是关系型数据库:即支撑量费计算中心相关配置,此部分数据存储需人为处理的信息,如审核规则配置、量费计算异常处理、无示数用户处理、系统规则配置。

新的架构将提供更高且更易扩展的系统性能,以增强电量电费计算的效率。新的架构整体上采用了分布式存储和流式计算等技术以实现核算业务。

结算的电费计算结果异步回写到电力系统的Oracle生产库,满足各方对原有系统的数据需求,确保业务稳定运行。

改造后,业务模式会发生如下变化:

(1)新业务流程改变原有按抄表计划处理的原则,按照用电客户粒度进行电费核算,电费计算中心按需以用户粒度进行全核算流程的自动化处理。

(2)由于新业务按用户处理,取消原有的临时计划流程,减少人工参与的环节,提升工作效率。

(3)对于结算业务,只要能获取到采集数据,新业务流程只有异常管理和高压用户的待发行为人工参与环节。

如图5所示,以下是业务主体的数据流向介绍:

(1)档案增量同步:通过OGG获取档案类表(包括电价、户表关系、抄表段、抄核参数等)的数据库事务日志,顺序写入数据变更消息队列Kafka,用实时计算平台Storm进行数据处理,分别写入三个数据库(HBase、PostgreSQL、Redis),HBase存放全部的数据信息,PostgreSQL存放户名、地址、计量点名称等描述类的数据,Redis存放电价、户表关系、抄核参数等。从HBase到Redis有补偿机制,通过计划任务实现。

(2)采集示数实时获取:通过OGG获取采集变更数据库事务日志,顺序写入采集变更日志消息队列Kafka,用实时计算平台Storm进行数据处理,在数据处理过程中需要访问Redis获取户表关系,生成以户为粒度的采集示数消息后,顺序写入采集示数消息队列Kafka,把采集示数消息队列的数据存入HBase,每天一张表。采集系统改造后,需要由采集系统把采集示数推送到采集变更日志消息队列Kafka,后面的处理逻辑保持不变。

(3)档案快照生成:在抄表例日的零点前,基于HBase中的C_CONS_ALL,通过M/R形成档案快照EBean,档案快照是每月一张表,以“户+例日”为主键。档案快照EBean在Redis中有一份拷贝,通过程序严格控制HBase与Redis中的档案快照EBean的数据一致。

(4)电量电费计算:通过消费采集示数消息队列Kafka中数据启动电量电费计算过程,以户为单位进行计算,计算过程包括,抄表复核、电量计算、电费计算、电费审核,电量电费计算之后,正常的电费计算结果写入正常计算结果消息队列Kafka,然后保存到HBase,异常的电费计算结果写入异常计算结果消息队列Kafka。然后保存到HBase。对于结算业务,电量电费计算结果,每月一张表。补充说明:对于有结算关系的用户(包括一户多计量点),电费计算过程有攒数的逻辑,即示数攒够了后再进行电量电费计算。

(5)电费异常处理:消费异常计算结果消息队列Kafka中的数据,写入PostgreSQL数据库的异常信息列表,核算应用有界面功能查询异常信息列表,进行异常处理业务活动。可以在界面上通过点击按钮进行重新提档、重新计算等业务操作。

(6)电量电费发行:通过消费正常计算结果消息队列Kafka,在PostgreSQL中生成待发行用户列表,通过供电单位分组拆分计划任务,按照固定周期进行循环,每攒够200户的数据生成异步任务(如果在固定周期没攒够200户,攒了多少户就处理多少户),批量发行到Oracle数据库。通过Oracle事务保证数据不重复发行,以及发行成功后才更新用户的状态。

以下是高压量控、高压费控用户电量电费计算主体的数据流向介绍:

(1)档案增量同步:与结算业务一致。

(2)采集示数实时获取:与结算业务一致,通过不同的消息队列。

(3)档案快照生成:零点前,基于HBase中的C_CONS_ALL,通过M/R形成档案快照EBean,档案快照是每天一张表。

(4)电量电费计算:与结算业务一致,但与结算业务采用不同的Storm节点和不同的消息队列,在HBase中存放每天一张电量电费正常结果表和电量电费异常表。

(5)基准比较:从消息队列Kafka消费电量电费数据,进行基准比较,生成相应的工单,推送给费控应用进行后续的业务处理。

关键技术场景

Kafka+Storm+Redis+Hbase技术组合解决大并发实时数据计算

电力系统中的量费计算具有以下业务特点:

并发请求数据量大,同时考虑未来的市场化需求,对算费的实时性要求很高;

采用Oracle存储,水平扩展能力差;

基于python和c++编写的算法也受关系数据库的制约导致水平扩展能力差;

算费时需要拉取档案快照数据,导致这段时间内数据库压力剧增,影响其它业务;

结合量费计算的业务特点采用kafka+Storm+Redis+Hbase的技术组合可以有效解决现有系统的痛点。

如图6所示,是采用kafka+Storm+Redis+Hbase的技术组合的逻辑架构图。

1.采用Kafka接收采集示数数据

Kafka作为分布式消息队列,支持大并发的读写操作,由于Kafka采用顺序读写、分区等机制,使得消息读写速度非常快。采集系统产生的示数数据先写到Kafka队列中,Storm再从Kafka中拉取消息进行量费计算,Kafka作为Storm拓扑的数据源不仅具有高效并发读取的能力,同时在消息消费失败后能够保证消息重复消费。

2.采用Storm框架实时算费

充分利用Storm的分布式流计算处理能力,能够最大程度的利用硬件资源,把量费计算任务分摊到整个Storm集群中进行处理,使系统的并发处理能力得到质的提升;

Storm具有极强的容错能力,可以保证每条消息都能被完全处理,失败时,它会负责从Kafka重新消费消息;

利用Storm的水平扩展能力,可以根据业务情况动态调配拓扑需要的Worker数,使整个集群的资源利用率达到最优。

Storm的Supervisor进程可以管理、监控拓扑的运行情况,如果某个Worker进程退出了,Supervisor会在集群内新启动一个Worker用于运行该拓扑,从而保证系统可靠运行。

3.采用HBase存储算费结果

分布式列数据库HBase相对于Oracle数据库具有以下几方面优势:

面向列存储的分布式存储系统;

融合key/value存储模式带来实时查询的能力;

高性能的并发读写能力;

对数据进行透明的切分,具有水平扩展能力;

跟Hadoop的无缝集成保障了其数据可靠性(HDFS)和海量数据分析的高性能(MapReduce)。

量费计算结果存储在HBase中,后续的数据查询以及数据分析服务都基于HBase开发,能充分利用HBase的并发处理能力,同时具备机动灵活的水平扩展能力。

从Oracle数据库同步过来的基础档案数据也存储在HBase中,其它系统可以基于HBase来消费基础档案数据,从而减轻对Oracle数据库的访问压力。

4.采用Redis作为缓存服务

Redis具有低延时、高吞吐、读写性能优异等特点,把量费计算过程中需要使用的档案数据、电价信息、算费策略等信息缓存在Redis内存中,省去了原有的数据准备的过程,减少了对Oracle数据库的访问,对系统整体性能有明细改善。

5.UserExit+Kafka+Storm的技术组合用于增量数据同步

量费计算中心和核算应用都需要消费电力系统的客户档案等数据,传统的系统间数据交换方案是采用中间库,通过轮询的方式交换数据。这种方案存在诸多缺点,比如实时性差,轮询对数据库造成的压力大,数据一致性和异常处理机制都很难保证。

基于Oracle GoldenGate的跨异构环境,对原有系统负载影响低,能够对交易型数据做实时抓取,路由,转换和传递,事务完整性的复制等特点,在数据增量同步方面,OracleGoldenGate和其他产品的关键差异点:

性能:非侵入式,低影响和亚秒级的延迟;

弹性可扩展:开放和模块化的架构-支持异构的数据源和目标;

可靠:保持交易事务的完整性。

主要特征:标准化的单一的技术解决多种不同的需求,同时满足系统的连续可用性和其他系统的实时数据访问要求,以达到降低成本,减少风险,获得更高的运行效率的目的。正是基于Oracle GoldenGate的以上特性,使得它能够满足智能电力系统的提供实时数据,全天候业务运营,消除批处理时间窗口的需求。

如图7所示,技术实现上,充分利用现有电力系统的Oracle GoldenGate资源,利用其提供的User Exit接口,使用CUSEREXIT参数,调用C语言编写的ShareObject来捕获Oracle GoldenGate的进程,定义进程的exit point。在ShareObject中,通过接收OracleGoldenGate的Extract进程发送的各种event,处理传递的过来的需要业务处理的数据,以事务为处理单位,进行数据过滤,数据加工,字符集转换,大事务分包,将数据异步发送到Kafka集群,为实现数据同步的Storm拓扑提供数据变更数据源。本次事务处理结束后,通知Oracle GoldenGate的Extract进程本次事务处理完毕,等待接收下个事务的数据。实现数据同步的Storm拓扑,实时消费Kafka集群的变更数据,转换成便于量费计算拓扑的数据结构,将数据持久化到HBase,更新到Redis,发送数据变更通知给量费计算拓扑,使量费计算拓扑具有实时感知数据变化,快速取得最新数据的能力,提高计算结果的准确度。

本发明实施方式的另一方面还提供一种基于云平台和数据中台的电费计算发行系统,包括客户端、软件后台和电力系统,其中所述软件后台与电力系统的用电信息数据库和营销业务应用数据库连接,根据电力系统的数据库提供的用户个人信息数据、用户用电量数据以及电价参数,计算出用户上月电费电量,并传递至客户端,所述客户端用于用户直接快速的根据使用软件观看到自身的电费账单;

如图3所示,所述软件后台包括电量电费计算模块、审核管理模块、电费退补管理模块。

(1)电量电费计算模块:其中功能包括电量电费计算管理、抄见电量计算、定比定量计算、主分表扣减计算、变损电量计算、线损电量计算、结算电量计算、目录电度电费计算、基本电费计算、功率因素调整电费计算、代征电费计算、电量电费计算特殊业务。

(2)审核管理模块:其中功能包括电量电费审核、异常管理、电费发行、电费差错审核。

(3)电费退补管理模块:其中功能包括政策性退补、非政策性退补。

该电费计算发行系统提供更高且更易扩展的系统性能,以增强电量电费计算的效率。新的架构整体上基于云平台和数据中台以实现核算业务。极大的程度上加快了电费计算发行速度,使用户每月都能更早收到电费账单信息,整体上为客户提供了极大的方便,使客户的用电体验效果更好。

在技术架构设计时,需对当前业务发展所面临的技术挑战进行详细分析,重点侧重于智能电表全覆盖、全采集下短周期(1日)的“抄核全自动化应用”。对其中的各个业务处理环节进行梳理,以“专业化”视角进行抽象与归纳,形成“能力中心”,确保其自身具备较强的专业化技术及专业化业务的核心支撑能力。

通过对专业化业务及技术支撑能力的抽象与分析,结合现有需求以及业务发展,归纳总结各个能力中心以及各个业务应用未来在处理能力上的要求以及可能产生的瓶颈,对受单点计算资源制约以及整体受I/O制约的需采用分布式框架进行构建;对普通的事务类应用仍采用传统架构实现。

需按日处理大量的终端及表计数据,基于抄表数据支撑按日超过2500万用户的电费计算能力,同时在整个自动化处理过程中,需要及时对业务异常进行捕获。因此在整个数据处理链路设计上,须基于实时性原则,尽最大可能缩短各个计算环节的处理时间,避免各处理环节以数据持久化作为通讯基础,同时也为后续业务应用(例如电费发行等)提供更充分的时间。

在技术架构设计时,应充分考虑各能力中心、各业务应用运行的可靠性。同时虽然分布式架构下每个处理节点是自治的,一个单元或资源(软件或硬件)的故障不影响其他资源的正常运行,但也需对每个单元或资源进行监控,及时自动恢复,避免由于小范围故障的叠加导致大范围系统的不可使用。

遵循国家电网公司信息安全总体策略,满足国家电网公司信息安全要求;安全防护强度达到国家电网公司信息内网安全防护标准;注重运行安全,避免造成安全风险扩散;安全管理与安全防护措施并重。

以上所述实施例仅表达了本发明的一种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

相关技术
  • 一种基于云平台和数据中台的电费计算发行方法及系统
  • 一种基于数据中台的代码提示方法、系统及数据计算平台
技术分类

06120113082438