发布信息

一种基于Redis的双平面采集数据方法及系统与流程 专利技术说明

作者:admin      2022-11-26 13:43:27     697



电子通信装置的制造及其应用技术一种基于redis的双平面采集数据方法及系统技术领域1.本发明属于数据采集领域,具体涉及一种基于redis的双平面采集数据方法及系统。背景技术:2.现有电力监控系一般在数据采集功能上通过主备方式进行处理,即将前置服务器机器节点分为主节点和备节点,只有主节点上主通道是进行链路采集、报文解析及数据处理的,主节点上的备通道和备节点的所有通道皆处于等待状态,只有当该通道切为主通道时,才进行链路采集、报文解析和数据处理功能。这种方式设计逻辑比较简单易行,但无法保证通道切换时数据的完整性和可靠性,降低了电力监控系统数据采集的可靠性。技术实现要素:3.本发明的目的在于提供一种基于redis的双平面采集数据方法及系统,电力监控系统中在双平面架构下进行安全可靠的数据采集和数据传输,并保证通道切换以及机器节点切换期间数据完整可靠。4.为达到上述目的,本发明所采用的技术方案是:5.本发明第一方面提供了一种基于redis的双平面采集数据方法,包括:6.通过选举算法由前置服务器a和前置服务器b中选出电力监控系统中是前置主服务器;7.通过数据网第一平面分别建立前置服务器a与变电站远动a、前置服务器a与变电站远动b的通信链路;通过数据网第二平面分别建立前置服务器a与变电站远动a、前置服务器a与变电站远动b的通信链路,分别将各通信链路传输的前置服务器a的数据进行规约解析和数据处理,形成各链路的消息队列后,定时将消息队列进行格式转换并按照key+value格式进行数据封装后,存入到redis系统;8.通过数据网第一平面分别建立前置服务器b与变电站远动a、前置服务器b与变电站远动b的通信链路;通过数据网第二平面分别建立前置服务器b与变电站远动a、前置服务器b与变电站远动b的通信链路,分别将各通信链路传输的前置服务器b的数据进行规约解析和数据处理,形成各链路的消息队列后,定时将消息队列进行格式转换并按照key+value格式进行数据封装后,存入到redis系统;9.前置主服务器对redis系统中缓存的数据进行有效性处理、时效性持久化处理和行数据完整性处理,对当前redis系统中的数据按时标进行排序后,发送到电力监控系统中的处理服务器。10.优选的,还包括:当系统中发生通信链路切换时,通过对redis中缓存的数据进行一致性比较和连续性分析处理,将处理后的有效数据进行排序,发送到电力监控系统中的处理服务器。11.优选的,通过选举算法由前置服务器a和前置服务器b中选出电力监控系统的前置主服务器的方法包括:12.在前置服务器a与前置服务器b之间周期性互发udp心跳报文,udp心跳报文内容包括本机前置模块的启动时间、本机机器名和网卡ip;13.周期性互发心跳报文设置有超时阈值;当超时阈值内收到udp心跳报文时,认定前置服务器a与前置服务器b之间的udp连接心跳状态正常;当在超出该超时时间值未收到udp心跳报文内容时,认定前置服务器a与前置服务器b之间的udp连接心跳状态中断;14.当前置服务器a与前置服务器b之间的udp连接心跳状态正常时,根据启动时间由前置服务器a和前置服务器b中选举出电力监控系统的前置主服务器;15.若前置服务器a或者前置服务器b未收到udp心跳报文时,选举其为电力监控系统的前置主服务器。16.优选的,分别将各通信链路传输的前置服务器a或前置服务器b的数据进行规约解析和数据处理的方法包括:17.在前置服务器a和前置服务器b内独立设置各通信链路的发送数据缓存区和接收数据缓存区;将对应的通信链路收到的数据进行规约解析,并按照固定格式进行封装组帧后存储至接收数据缓存区,固定格式为链路id、数据类型、数据个数、数据内容集合(数据值+时间戳);根据命令优先级维度对数据进行排序并存储至发送数据缓存区,通过通信链路依次发送所述发送数据缓存区内存储的数据。18.优选的,所述key+value格式中key值为由链路名数据类型、数据点号和时间戳组合而成。19.优选的,前置主服务器对redis系统中缓存的数据进行有效性处理的方法包括:20.将redis系统中缓存的数据分为遥信类型数据、遥测类型数据和遥脉类型数据;对存入redis中遥信类型数据进行分析处理,过滤出所有非0且非1的遥信数据;根据实际情况对存入redis中各遥测类型数据和遥脉类型数据设定合理性范围,过滤出在合理性范围之外的遥测类型数据和遥脉类型数据。21.优选的,前置主服务器对redis系统中缓存的数据进行时效性持久化处理的方法包括22.设定redis系统的缓存时效阈值,对超过缓存时效阈值的缓存数据自动删除;通过redis系统中持久化rdb机制完成缓存数据的持久化处理,当符合持久化配置条件时自动将缓存数据进行快照并持久化到硬盘。23.优选的,前置主服务器对redis系统中缓存数据进行数据完整性处理的方法包括:24.采用哈希循环偏移算法对缓存数据进行处理,按照通信链路、数据类型、数据点号、时间戳创建缓存数据的哈希索引链表,通过检测哈希索引链表定位redis系统中缓存数据的key值;25.根据各通信链路的实时通讯状态和机器节点信息进行加权计算获得通信链路的优先级;当redis系统中存在相同缓存数据时,只保留链路优先级最高的通信链路传输的数据。26.优选的,按照时间戳对缓存数据进行排序整理并发送到电力监控系统中的处理服务器。27.本发明第二方面提供了一种基于redis实现双平面采集数据系统,包括:28.选举模块,用于通过选举算法由前置服务器a和前置服务器b中选出电力监控系统中是前置主服务器;29.通信链路建立模块,用于通过数据网第一平面分别建立前置服务器a与变电站远动a、前置服务器a与变电站远动b的通信链路;通过数据网第二平面分别建立前置服务器a与变电站远动a、前置服务器a与变电站远动b的通信链路,通过数据网第一平面分别建立前置服务器b与变电站远动a、前置服务器b与变电站远动b的通信链路;通过数据网第二平面分别建立前置服务器b与变电站远动a、前置服务器b与变电站远动b的通信链路;30.缓存模块,将各通信链路传输的前置服务器a的数据进行规约解析和数据处理形成各链路的消息队列;将各通信链路传输的前置服务器b的数据进行规约解析和数据处理形成各链路的消息队列,定时将消息队列进行格式转换并按照key+value格式进行数据封装后,存入到redis系统;31.分析处理模块,用于前置主服务器对redis系统中缓存的数据进行有效性处理、时效性持久化处理和行数据完整性处理,对当前redis系统中的数据按时标进行排序后,发送到电力监控系统中的处理服务器。32.与现有技术相比,本发明的有益效果:33.本发明中通过双平面数据网分别建立前置服务器a、前置服务器b、变电站远动a和变电站远动b之间的通信链路;将前置服务器a的数据和前置服务器b的数据进行规约解析和数据处理,形成各链路的消息队列后,定时将消息队列进行格式转换并按照key+value格式进行数据封装后,存入到redis系统;当其中任一通讯链路发生故障时,仍然有另外一条通讯链路处于工作状态,可进行正常的规约报文解析及处理,避免在故障期间丢失数据;保证数据采集的安全可靠、数据传输的高效以及通道切换以及机器节点切换期间数据的完整性。34.本发明中前置主服务器对redis系统中缓存的数据进行有效性处理、时效性持久化处理和行数据完整性处理,减少了后续数据处理的压力,对当前redis系统中的数据按时标进行排序后,发送到电力监控系统中的处理服务器;以满足数据采集的高并发、读写速度快、集群规模、部署灵活的需求。附图说明35.图1为本发明实施例提供的各前置服务器与各变电站远动的连接关系图;36.图2为本发明实施例提供的电力监控系统的结构图图;37.图3为本发明实施例提供的双平面数据网的结构图;38.图4为本发明提供的一种基于redis的双平面采集数据方法的流程图。具体实施方式39.下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。40.实施例一41.如图1-4所示,一种基于redis的双平面采集数据方法,包括:42.通过选举算法由前置服务器a和前置服务器b中选出电力监控系统的前置主服务器的方法包括:43.在前置服务器a与前置服务器b之间周期性互发udp心跳报文,udp心跳报文内容包括本机前置模块的启动时间、本机机器名和网卡ip;44.周期性互发心跳报文设置有超时阈值;当超时阈值内收到udp心跳报文时,认定前置服务器a与前置服务器b之间的udp连接心跳状态正常;当在超出该超时时间值未收到udp心跳报文内容时,认定前置服务器a与前置服务器b之间的udp连接心跳状态中断;45.当前置服务器a与前置服务器b之间的udp连接心跳状态正常时,根据启动时间由前置服务器a和前置服务器b中选举出电力监控系统的前置主服务器;46.若前置服务器a或者前置服务器b未收到udp心跳报文时,选举其为电力监控系统的前置主服务器。47.当前置服务器a或前置服务器b发生故障时,另外一台前置采集服务器上的前置采集模块可以自动接管故障服务器上的所有的通道。从发生故障到完成切换的时间小于1秒,保证在故障切换期间不会丢失数据。前置主服务器具备了多机协调管理功能。多机协调管理功能是指在汇集全部前置节点的通讯链路实际运行状态后,并对其进行计算及管理,并负责对redis中的数据进行处理,并将处理后的数据发送到处理服务器。48.通过数据网第一平面建立前置服务器a与变电站远动a、前置服务器a与变电站远动b的通信链路,其中,将前置服务器a与变电站远动a的通信链路记作通信链路1-1,将前置服务器a与变电站远动b的通信链路记作通信链路1-2;通过数据网第二平面分别建立前置服务器a与变电站远动a、前置服务器a与变电站远动b的通信链路,其中,将前置服务器a与变电站远动a的通信链路记作通信链路2-1,将前置服务器a与变电站远动b的通信链路记作通信链路2-2;分别将各通信链路传输的前置服务器a的数据进行规约解析和数据处理,形成各链路的消息队列后,定时将消息队列进行格式转换并按照key+value格式进行数据封装后,存入到redis系统;49.通过数据网第一平面分别建立前置服务器b与变电站远动a、前置服务器b与变电站远动b的通信链路,其中,将前置服务器b与变电站远动a的通信链路记作通信链路1-3,将前置服务器b与变电站远动b的通信链路记作通信链路1-4;通过数据网第二平面分别建立前置服务器b与变电站远动a、前置服务器b与变电站远动b的通信链路,其中,将前置服务器b与变电站远动a的通信链路记作通信链路2-3,将前置服务器b与变电站远动b的通信链路记作通信链路2-4;分别将各通信链路传输的前置服务器b的数据进行规约解析和数据处理,形成各链路的消息队列后,定时将消息队列进行格式转换并按照key+value格式进行数据封装后,存入到redis系统;所述key+value格式中key值为由链路名数据类型、数据点号和时间戳组合而成;根据key值,既能快速定位到具体的链路信息,又能识别出数据类型和数据点号的数据特征,还能获得数据的接收时间。50.分别将各通信链路传输的前置服务器a或前置服务器b的数据进行规约解析和数据处理的方法包括:51.在前置服务器a和前置服务器b内独立设置各通信链路的发送数据缓存区和接收数据缓存区;通讯链路设计了各自独立发送数据缓存区和接收数据缓存区,通过数据缓存处理动态分析机制,保证了数据的高速可靠;将对应的通信链路收到的数据进行规约解析,并按照固定格式进行封装组帧后存储至接收数据缓存区,固定格式为链路id、数据类型、数据个数、数据内容集合(数据值+时间戳)。52.发送数据缓存区存储的是该通讯链路需下发的各缓存数据为命令信息;命令信息的类型包括遥控命令、遥调命令、设点命令、数据召唤命令、对时命令;命令信息是由命令时间、命令类型、命令优先级、命令内容四部分组成,依次按照命令优先级、命令时间、命令类型三个维度对接收数据缓存区中的信息进行比较,根据命令优先级维度对数据进行排序并存储至发送数据缓存区,通过通信链路依次发送所述发送数据缓存区内存储的数据。53.前置主服务器对redis系统中缓存的数据进行有效性处理、时效性持久化处理和行数据完整性处理;54.前置主服务器对redis系统中缓存的数据进行有效性处理的方法包括:将redis系统中缓存的数据分为遥信类型数据、遥测类型数据和遥脉类型数据;对存入redis中遥信类型数据进行分析处理,过滤出所有非0且非1的遥信数据;根据实际情况对存入redis中各遥测类型数据和遥脉类型数据设定合理性范围,设定具体合理性范围包括10kv电压值只能在0和11之间浮动;遥脉类型数据是用来采集电表表码值的,其为无符号整数,其由于电表存在最大刻度,故遥脉数据的值也存在合理性范围,设定具体合理性范围包括10kv电压值只能在0和11之间浮动;过滤出在合理性范围之外的遥测类型数据和遥脉类型数据。55.前置主服务器对redis系统中缓存的数据进行时效性持久化处理的方法包括:设定redis系统的缓存时效阈值,对超过缓存时效阈值的缓存数据自动删除;精度设定为毫秒或秒;通过redis系统中持久化rdb机制完成缓存数据的持久化处理,当符合持久化配置条件时自动将缓存数据进行快照并持久化到硬盘。56.前置主服务器对redis系统中缓存数据进行数据完整性处理的方法包括:采用哈希循环偏移算法对缓存数据进行处理,按照通信链路、数据类型、数据点号、时间戳创建缓存数据的哈希索引链表,通过检测哈希索引链表定位redis系统中缓存数据的key值;57.根据各通信链路的实时通讯状态和机器节点信息进行加权计算获得通信链路的优先级;当redis系统中存在相同缓存数据时,只保留链路优先级最高的通信链路传输的数据;从而保证在同一时刻、同一数据类型、同一点号有且仅有一个实时数据值,既数据归一化处理。58.按照时间戳对当前redis系统中的缓存数据进行排序整理并发送到电力监控系统中的处理服务器;当系统中发生通信链路切换时,通过对redis中缓存的数据进行一致性比较和连续性分析处理,将处理后的有效数据进行排序,发送到电力监控系统中的处理服务器。59.基于上述数据处理方法,可保证无论是在双平面数据网冗余采集接入发生平面切换时,还是前置服务器发生主备切换时,不同平面数据网接入数据的可以无缝切换,采集数据无丢失,顺序不混乱,实现了电力监控系统中的数据采集接入数据的完整性和连续性。60.实施例二61.一种基于redis的双平面采集数据系统,本实施例提供的系统可以应用于实施例一所述的双平面采集数据方法;双平面采集数据系统包括:62.选举模块,用于通过选举算法由前置服务器a和前置服务器b中选出电力监控系统中是前置主服务器;63.通信链路建立模块,用于通过数据网第一平面分别建立前置服务器a与变电站远动a、前置服务器a与变电站远动b的通信链路;通过数据网第二平面分别建立前置服务器a与变电站远动a、前置服务器a与变电站远动b的通信链路,通过数据网第一平面分别建立前置服务器b与变电站远动a、前置服务器b与变电站远动b的通信链路;通过数据网第二平面分别建立前置服务器b与变电站远动a、前置服务器b与变电站远动b的通信链路;64.缓存模块,将各通信链路传输的前置服务器a的数据进行规约解析和数据处理形成各链路的消息队列;将各通信链路传输的前置服务器b的数据进行规约解析和数据处理形成各链路的消息队列,定时将消息队列进行格式转换并按照key+value格式进行数据封装后,存入到redis系统;65.分析处理模块,用于前置主服务器对redis系统中缓存的数据进行有效性处理、时效性持久化处理和行数据完整性处理,对当前redis系统中的数据按时标进行排序后,发送到电力监控系统中的处理服务器。66.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。67.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。68.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。69.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。70.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部