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

面向用户用电信息采集系统的实时数据共享系统

文献发布时间:2023-06-19 10:11:51


面向用户用电信息采集系统的实时数据共享系统

技术领域

本发明属于信息自动化领域,具体涉及一种面向用户用电信息采集系统的实时数据共享系统。

背景技术

随着经济技术的发展和人们生活水平的提高,电能已经成为了人们生产和生活必不可少的二次能源,给人们的生产和生活带来了无尽的便利。因此,电力系统的稳定可靠运行,就成为了电力系统最重要的任务之一。

随着电网业务的不断发展,要求用户用电信息采集更实时、数据内容更全面。目前电网企业外围系统实时数据需求包括日常批量实时数据共享需求与数据召测实时共享需求两种,但是电网企业用电信息采集系统实时数据共享给其他外围系统还存在一定问题:一是,用电信息采集系统采集回来数据后存入到数据库中,其外围系统通过数据库OGG、ETL等方式来实现数据获取批量实时数据,但是在用电信息采集业务高峰期,数据库存在IO瓶颈问题,海量数据没法实时存入数据库。数据同步需要等待IO资源,业务高峰期时,数据共享延迟可达到2小时,无法满足日常批量实时数据分析的业务需求;二是,由于现场用户电表数据返回给用电信息采集系统主站的时间无法确定,外围系统调用用电信息采集系统的实时数据召测同步接口后,可能长时间处于阻塞状态,等待数据反馈,造成资源的浪费与程序阻塞。

发明内容

本发明的目的在于提供一种实时性好、可靠性好且稳定可靠的面向用户用电信息采集系统的实时数据共享系统。

本发明提供的这种面向用户用电信息采集系统的实时数据共享系统,包括流数据处理模块、Redis缓存系统、Kafka共享通道和权限管理模块;用电信息采集系统数据采集消息总线连接流数据处理模块,流数据处理模块的输出端同时连接用电信息采集系统数据库和Kafka共享通道;Redis缓存系统的输入端连接用电信息采集系统数据库,Redis缓存系统的输出端连接流数据处理模块;权限管理模块连接外围系统,权限管理模块的输入端连接外围系统和Kafka共享通道,权限管理模块的输出端连接外围系统和流数据处理模块;Kafka共享通道连接外围系统,同时Kafka共享通道的输入端连接外围系统和流数据处理模块,Kafka共享通道的输出端连接外围系统和权限管理模块;流数据处理模块用于进行数据流解析,然后把解析后的数据写入到指定Kafka的主题中,同时流数据处理模块还用于负责接收权限管理模块下发的数据召测指令,并负责把指令转发至用电信息采集系统数据采集消息总线;Redis缓存系统用于实现用电信息采集系统冷热数据分离,以及缓存用电信息采集系统数据库中的电网企业用户的档案数据;Kafka共享通道用于接受外围系统的数据请求、实现用电信息采集系统日常批量实时数据的订阅/发布共享以及向外围系统返回召测的实时数据;权限管理模块用于为外围系统创建账号及密码、用于token的生产与返回、权限验证与指令下发以及权限的管理;所述面向用户用电信息采集系统的实时数据共享系统用于实现日常批量数据的实时共享和实时召测数据的共享。

所述的流数据处理模块,从Redis缓存系统中读取系统用户档案信息,然后把采集设备的地址编号与采集计量点id、用户户号进行关联处理,处理后的数据以用户户号、计量点id作为数据内容的标识,以JSON格式结构化数据写入至Kafka共享通道对应的主题中进行共享。

所述的Kafka共享通道包括DataShareQueue、DataQueryQueue与DataBackQueue三个主题;DataShareQueue主题用于实现用电信息采集系统日常批量实时数据的订阅/发布共享,外围系统订阅数据需求后,从DataShareQueue主题中读取数据;DataQueryQueue主题用于接受外围系统的实时数据召测请求;DataBackQueue主题用于向外围系统返回召测的实时数据;不同的外围系统分别属于不同的消费组,不同的消费组可以获取到相同的消息,实现数据广播式共享发布;数据分享发布、双向交互均采用JSON格式的消息进行。

所述的权限管理模块,用于为外围系统创建账号及密码,外围系统需要获取用电信息采集系统数据时,需要通过权限管理模块为其创建账号;其次,权限管理模块用于负责token生产与返回:用户首次访问时,通过“用户+口令”的形式访问权限管理模块请求权限认证与获取权限token,权限管理模块会对口令进行认证,认证通过后权限管理模块返回一个带有访问权限token;然后,权限管理模块用于权限验证与数据召测指令下发:外部系统带上用户名和token请求数据时,对token的有效性及token对应的权限进行验证,若权限验证通过,则向流数据处理模块发送数据召测的指令;最后,权限管理模块用于为token配置相应权限资源,同时负责对token有效期的管理。

所述的Redis缓存系统,具体包含分布式开源Redis键值系统和数据同步工具;分布式开源Redis键值系统采用主从架构设计;数据同步工具由java开发,数据同步工具启动后进行初始化操作,从用电信息采集系统数据库中批量加载电网企业用户的档案数据到分布式开源Redis键值系统中存储;同时,数据同步工具以设定的周期从用电信息采集系统数据库中同更新的档案数据内容到分布式开源Redis键值系统中,确保Redis缓存系统的数据内容跟用电信息采集系统数据库保持一致。

所述的实现日常批量数据的实时共享,具体为外围系统定期获取用电信息采集系统批量实时数据,以满足日常批量数据需求;具体过程为外围系统根据业务需求向数据共享平台订阅数据需求,实时监控DataShareQueue主题,数据共享平台将外围系统订阅的数据写入至DataShareQueue主题中,外围系统按照实际业务需求从主题中获取数据。

所述的实时召测数据的共享,具体为外围系统根据非日常的业务需求,通过用电信息采集系统,从现场用户电表中实时采集电表的数据。具体过程为首先利用分配的账号和口令,向权限管理模块申请token,进行认证请求;成功获取到token后,每次数据请求均将数据请求带上token与用户名写入至DataQueryQueue主题中,权限管理模块则实时监控DataQueryQueue主题中数据写入情况,根据收到的token,对请求数据内容权限进行验证,并在验证通过后通知流数据处理模块进行数据召测。

本发明提供的这种面向用户用电信息采集系统的实时数据共享系统,应用高并发消息队列Kafka作为实时数据共享与数据发布的主要组件,同时基于Kafka消息队列提出了一种更为合理的异步接口方案,不仅实现了面向用户用电信息采集系统的实时数据共享,而且实时性好、可靠性好且稳定可靠。

附图说明

图1为本发明系统的功能模块示意图。

图2为本发明系统的数据共享通道设计示意图。

图3为本发明系统的日常批量实时数据共享流程示意图。

图4为本发明系统的实时数据召测流程示意图。

具体实施方式

如图1所示为本发明系统的功能模块示意图:本发明提供的这种面向用户用电信息采集系统的实时数据共享系统,包括流数据处理模块、Redis缓存系统、Kafka共享通道和权限管理模块;用电信息采集系统数据采集消息总线连接流数据处理模块,流数据处理模块的输出端同时连接用电信息采集系统数据库和Kafka共享通道;Redis缓存系统的输入端连接用电信息采集系统数据库,Redis缓存系统的输出端连接流数据处理模块;权限管理模块连接外围系统,权限管理模块的输入端连接外围系统和Kafka共享通道,权限管理模块的输出端连接外围系统和流数据处理模块;Kafka共享通道连接外围系统,同时Kafka共享通道的输入端连接外围系统和流数据处理模块,Kafka共享通道的输出端连接外围系统和权限管理模块;流数据处理模块用于进行数据流解析,然后把解析后的数据写入到指定kafka的主题中,同时流数据处理模块还用于负责接收权限管理模块下发的数据召测指令,并负责把指令转发至用电信息采集系统数据采集消息总线;Redis缓存系统用于实现用电信息采集系统冷热数据分离,以及缓存用电信息采集系统数据库中的电网企业用户的档案数据;Kafka共享通道用于接受外围系统的数据请求、实现用电信息采集系统日常批量实时数据的订阅/发布共享以及向外围系统返回召测的实时数据;权限管理模块用于为外围系统创建账号及密码、用于token的生产与返回、权限验证与指令下发以及权限的管理;所述面向用户用电信息采集系统的实时数据共享系统用于实现日常批量数据的实时共享和实时召测数据的共享。

具体实施时,流数据处理模块从Redis缓存系统中读取系统用户档案信息,然后把采集设备的地址编号与采集计量点id、用户户号进行关联处理,处理后的数据以用户户号、计量点id作为数据内容的标识,以JSON格式结构化数据写入至Kafka共享通道对应的主题中进行共享。

Kafka共享通道包括DataShareQueue、DataQueryQueue与DataBackQueue三个主题;DataShareQueue主题用于实现用电信息采集系统日常批量实时数据的订阅/发布共享,外围系统订阅数据需求后,从DataShareQueue主题中读取数据;DataQueryQueue主题用于接受外围系统的实时数据召测请求;DataBackQueue主题用于向外围系统返回召测的实时数据;不同的外围系统分别属于不同的消费组,不同的消费组可以获取到相同的消息,实现数据广播式共享发布;数据分享发布、双向交互均采用JSON格式的消息进行;数据共享通道设计如图2所示。

权限管理模块,用于为外围系统创建账号及密码,外围系统需要获取用电信息采集系统数据时,需要通过权限管理模块为其创建账号;其次,权限管理模块用于负责token生产与返回:用户首次访问时,通过“用户+口令”的形式访问权限管理模块请求权限认证与获取权限token,权限管理模块会对口令进行认证,认证通过后权限管理模块返回一个带有访问权限token;然后,权限管理模块用于权限验证与数据召测指令下发:外部系统带上用户名和token请求数据时,对token的有效性及token对应的权限进行验证,若权限验证通过,则向流数据处理模块发送数据召测的指令;最后,权限管理模块用于为token配置相应权限资源,同时负责对token有效期的管理。

Redis缓存系统主要避免从数据库中加载千万级别数据耗时长等问题,确保流数据处理的高效与数据共享的实时性;Redis缓存系统具体包含分布式开源Redis键值系统和数据同步工具;分布式开源Redis键值系统采用主从架构设计;数据同步工具由java开发,数据同步工具启动后进行初始化操作,从用电信息采集系统数据库中批量加载电网企业用户的档案数据到分布式开源Redis键值系统中存储;同时,数据同步工具以设定的周期从用电信息采集系统数据库中同更新的档案数据内容到分布式开源Redis键值系统中,确保Redis缓存系统的数据内容跟用电信息采集系统数据库保持一致。

实现日常批量数据的实时共享,具体为外围系统定期获取用电信息采集系统批量实时数据,以满足日常批量数据需求;具体过程为外围系统根据业务需求向数据共享平台订阅数据需求,实时监控DataShareQueue主题,数据共享平台将外围系统订阅的数据写入至DataShareQueue主题中,外围系统按照实际业务需求从主题中获取数据;日常批量数据数据共享时序图如图3所示。

实时召测数据的共享,具体为外围系统根据非日常的业务需求,通过用电信息采集系统,从现场用户电表中实时采集电表的数据。具体过程为首先利用分配的账号和口令,向权限管理模块申请token,进行认证请求;成功获取到token后,每次数据请求均将数据请求带上token与用户名写入至DataQueryQueue主题中,权限管理模块则实时监控DataQueryQueue主题中数据写入情况,根据收到的token,对请求数据内容权限进行验证,并在验证通过后通知流数据处理模块进行数据召测;实时数据召测时序图如图4所示。

本发明系统为了解决海量数据共享下数据库IO存在瓶颈,应用高并发消息队列kafka作为数据共享与数据发布的主要组件,在用户用电信息数据存入数据库前,对采集的报文数据进行解析与处理,然后结合电网企业用户档案数据,把采集的用户数据与用户档案进行关联处理,以用电信息采集系统计量点为标识,把标识后得到的结构化数据实时写入kafka数据发布队列中进行共享。外围系统需要数据时,需要向用电信息采集系统提出数据需求申请,订阅数据需求,此数据共享平台会根据订阅的需求确定数据副本的份数,实现数据的“一发多收”。

同时,针对数据召测实时数据共享方式下同步接口调用方式下接口长时间阻塞等问题,本发明基于kafka消息队列提出了一种更为合理的异步接口方案,数据需求方(外围系统)需要召测现场电表的实时数据时,无需长时间占用用电信息采集系统的同步接口,只需把实时数据召测需求发送数据共享平台,无需阻塞程序等待现场数据的返回。数据共享平台收到实时数据召测请求后对用户权限以及请求的数据内容范围进行权限验证,验证通过后,当现场的用户电表数据返回到用电信息采集系统主站时,数据共享平台实时的把电表数据推送至指定的kafka主题中供外围系统获取,实现现场电表实时召测数据的共享。

相关技术
  • 面向用户用电信息采集系统的实时数据共享系统
  • 用电信息采集系统实时数据接入接口设备
技术分类

06120112452225