基于Redis实时数据库的分布式前置采集系统的利记博彩app

文档序号:11155459阅读:601来源:国知局
基于Redis实时数据库的分布式前置采集系统的制造方法与工艺

本发明属于电力系统调度自动化领域,尤其涉及一种基于Redis实时数据库的分布式前置采集系统。



背景技术:

随着各工矿企业电网规模的不断扩大,企业EMS主站直采子站设备的数量也不断增多,为适应大批量子站设备数据的采集与监控,使前置采集系统安全、稳定、可靠运行,同时力争为用户提供更加简洁、友好的维护界面,设计开发出一套大容量的分布式前置系统。

当前EMS(能量管理系统)系统中前置采集部分都是作为一个模块处理,不能独立部署,前置容量一般为两组。由于每组接入设备数有限,已不能满足大批量子站设备的接入。面对大批量子站设备的接入,前置将承担巨大的数据处理压力。前置模块必须与主站部署在一起,当主站与子站通信链路发生故障时,故障期间的数据将无法不存,存在很大的安全隐患。



技术实现要素:

针对现有技术存在的问题,本发明提供一种基于Redis实时数据库的分布式前置采集系统,能够独立的部署在EMS子站端,实现大批量的子站设备的接入,大幅降低了EMS主站系统的数据处理压力。

本发明的上述技术问题主要是通过下述技术方案得以解决的:

基于Redis实时数据库的分布式前置采集系统,包括系统管理模块、通讯规约处理模块、分布式前置通讯模块、分布式前置断点续传模块、Redis实时数据库模块、Redis实时数据库服务端模块、Redis实时数据库客户端模块;

本系统以Redis实时数据库模块为核心,建立各类变化数据和全数据在Redis实时数据库中的存储模型。

系统管理模块,负责检测分布式前置采集系统与EMS主站系统的通讯状态,并把通讯状态及时通知其他各模块;

通讯规约处理模块,负责与子站端RTU(远程终端单元,RemoteTerminalUnit)设备的通讯规约处理并将采集到的数据报文解析后转发给分布式前置通讯模块;

分布式前置通讯模块,负责与EMS主站、Redis实时数据库服务端模块数据交互;

分布式前置断点续传模,负责在分布式前置采集系统与EMS主站系统的通讯中断又重新恢复的情况下将Redis实时数据库模块的未发送区的全数据类型和变化数据类型重新封装成消息的数据格式重新发送给EMS主站系统;

Redis实时数据库服务端模块,负责与Redis实时数据库模块、分布式前置断点续传模块的数据交互;

在分布式前置采集系统与EMS主站系统通讯正常时,分布式前置通讯模块将采集到的全数据类型和变化数据类型封装成消息的数据格式发送给EMS主站,同时仅将收到的全数据信息发送给Redis实时数据库服务端模块。

在分布式前置采集系统与EMS主站系统通讯正常时,Redis实时数据库服务端模块将从分布式前置通讯模块接收到的全数据信息以链表的形式存储于Redis实时数据库模块的已发送区。

在分布式前置采集系统与EMS主站系统通讯中断时,分布式前置通讯模块将采集到的全数据类型和变化数据全部发送给Redis实时数据库服务端模块。

在分布式前置采集系统与EMS主站系统通讯中断时,分布式前置通讯模块将采集到的全数据类型和变化数据全部发送给Redis实时数据库服务端模块。

在分布式前置采集系统与EMS主站系统通讯中断时,Redis实时数据库服务端模块将从分布式前置通讯模块接收到的全数据类型和变化数据以链表的形式存储于Redis实时数据库模块的未发送区。

在分布式前置采集系统与EMS主站系统的通讯中断到重新恢复时,Redis实时数据库服务端模块取出Redis实时数据库模块的未发送区的全数据类型和变化数据类型发送给分布式前置断点续传模块。

在分布式前置采集系统与EMS主站系统的通讯中断到重新恢复时,分布式前置断点续传模块接收到Redis实时数据库模块的未发送区的全数据类型和变化数据类型重新封装成消息的数据格式重新发送给EMS主站系统,并将发送结果反馈给Redis实时数据库服务端模块。

Redis实时数据库服务端模块收到分布式前置断点续传模块发送成功的反馈信息,将续传的全数据类型和变化数据类型从Redis实时数据库模块的未发送区移除,并将全数据类型迁移到Redis实时数据库模块的已发送区。

所述Redis实时数据库服务端模块还负责Redis实时数据库的被动持久化(即在分布式前置采集系统持续运行一定时间后,Redis实时数据库服务端模块将Redis实时库中已发送区的链表数据持久化到磁盘上)并从Redis实时库中删除对应时段数据。持久化后的历史数据按照规定数据格式存储,可以后期用作大数据分析计算。

Redis实时数据库客户端模块,实现Redis实时数据库的主动持久化(即响应用户定制的持久化请求处理)。

本发明的有益效果是:能够独立部署于子站端,基于Redis实时数据库,实现大批量子站设备的接入,大幅减轻了EMS主站处理数据的压力,并且当在分布式前置采集系统与EMS主站通讯中断的时候也能完好的将数据保存,不会造成数据的丢失,提高了系统的可靠性,安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的系统结构图;

图2为本发明的数据流程图。

具体实施方式

下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。

参照图1至图2所示,本发明基于Redis实时数据库的分布式前置采集系统;本系统基于Redis实时数据库,能够独立的部署于EMS子站端,实现大批量子站设备的接入;系统容量为256组分布式前置采集系统,每组包含两台前置机,互为主备,每组可实现1024个子站设备的接入,包括系统管理模块、通讯规约处理模块、分布式前置通讯模块、分布式前置断点续传模块、Redis实时数据库模块、Redis实时数据库服务端模块、Redis实时数据库客户端模块。

系统管理模块,负责检测分布式前置采集系统与EMS主站系统的通讯状态,并把通讯状态及时通知其他各模块;

通讯规约处理模块,负责与子站端RTU设备的通讯规约处理并将采集到的数据报文解析后转发给分布式前置通讯模块;

分布式前置通讯模块,负责与EMS主站、Redis实时数据库服务端模块数据交互;

分布式前置断点续传模,负责在分布式前置采集系统与EMS主站系统的通讯中断又重新恢复的情况下将Redis实时数据库模块的未发送区的全数据类型和变化数据类型重新封装成消息的数据格式重新发送给EMS主站系统;

Redis实时数据库服务端模块,负责与Redis实时数据库模块、分布式前置断点续传模块的数据交互;

Redis实时数据库客户端模块,实现Redis实时数据库的主动持久化。

本系统的数据处理流程主要包括:

1.分布式前置采集系统与站端RTU通讯采用标准规约。

2.在分布式前置采集系统与主站EMS系统通讯正常时:

2.1 站端RTU值班端口上行一帧全数据/变化数据报文DataGram_UPDATE(将全数据/变化数据报文定义为DataGram_UPDATE);

2.2 通讯规约处理模块接收到DataGram_UPDATE,进行标准规约报文解析,将生成的全数据/变化数据信息发送给分布式前置通讯模块;

2.3 系统管理模块检测与主站EMS系统的通讯状态,并将状态“正常”反馈给通讯规约处理模块;

2.4 分布式前置通讯模块得到本子系统与主站通讯正常,将全数据/变化数据信息封装成消息发送给主站EMS系统,同时仅将全数据信息发送给Redis实时数据库服务端模块;

2.5 Redis实时数据库服务端模块接收到全数据,将全数据组装成链表格式,将该链表记录写入Redis实时数据库模块的已发送区。

3.在分布式前置采集系统与主站EMS系统通讯中断时:

3.1 站端RTU值班端口上行一帧全数据/变化数据报文DataGram_UPDATE;

3.2 通讯规约处理模块接收到DataGram_UPDATE,进行标准规约报文解析,将生成的全数据/变化数据信息发送给分布式前置通讯模块。

1.3.系统管理模块检测与主站EMS系统的通讯状态,并将状态“异常”反馈给通讯规约处理模块。

3.4 分布式前置通讯模块得到本子系统与主站通讯异常,将全数据/变化数据标记为“未发送”发送给Redis实时数据库服务端模块。

3.5 Redis实时数据库服务端模块接收到全数据/变化数据,将全数据/变化数据分别组装成链表格式,将链表记录写入Redis实时数据库模块的未发送区;

3.6 系统管理模块不断检测与主站EMS系统的通讯状态,通讯状态“异常”则数据流程继续重复本设计3.1-3.5数据流程;

3.7 系统管理模块不断检测与主站EMS系统的通讯状态,通讯状态由“异常”转变为“正常”则分布式前置采集系统数据流程继续以下3.8数据流程;

3.8 系统管理模块将EMS主站通讯状态由异常转变为正常的消息通知分布式前置通讯模块、Redis实时数据库服务端模块;

3.9 分布式前置通讯模块得到本子系统与主站通讯恢复正常,工作流程将跳转到设计点2.4数据流程;

3.10 Redis实时数据库服务端模块得到本子系统与主站通讯恢复正常,从Redis实时数据库模块的未发送区按时间先后顺取出未发送链表数据发送给分布式前置断点续传模块;

3.11 分布式前置断点续传模块得到未发送链表数据,封装成消息发送给主站EMS前置模块,并将全数据和变化数据的发送结果反馈给Redis实时数据库服务端;

3.12 Redis实时数据库服务端模块得到数据补发的结果,全数据补发成功,将已经成功发送的全数据链表迁移到已发送区。变化数据补发成功,将变化数据链表从redis实时库未发送区移除。

4 分布式前置采集系统持续运行365天后,Redis实时数据库服务端模块将Redis实时库中已发送区的链表数据持久化到磁盘上,并从Redis实时库中删除对应时段数据。持久化后的历史数据按照规定数据格式存储,可以后期用作大数据分析计算。

5 Redis实时数据库客户端模块响应用户定制的持久化请求。持久化(即将数据存储到磁盘上)后的历史数据按照规定数据格式存储,可以后期用作大数据分析计算。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1