基于边缘计算的变电站实时数据快速分发同步系统及方法与流程

文档序号:19947091发布日期:2020-02-18 09:37阅读:263来源:国知局
基于边缘计算的变电站实时数据快速分发同步系统及方法与流程

本发明属于变电站自动化技术领域,特别涉及一种基于边缘计算的变电站实时数据快速分发同步系统及方法。



背景技术:

随着变电站监控系统应用功能的不断发展,站控层设备不断增多,硬件构成主要包括监控主机和综合应用服务器,其中监控主机一般包含2台及以上。为满足不同设备上应用功能的正常运行,实时数据的一致性访问能力成为一体化监控系统必不可少的重要基础功能之一。

现有变电站多主机之间为保证实时数据的同步,多采用实时数据库或者关系数据库同步的方法,即主机在获取实时数据后,利用主机的处理能力对实时数据进行运算分析,处理完成后将结果存入主机的实时数据库或者关系数据库中,主机然后再对备机的实时数据库或者关系数据库进行数据分发和同步,从而实现主备机实时数据的一致性访问。从实际应用角度来看,该方法可以实现主备机数据一致性访问的要求,但对主机的处理能力要求较高,一方面主机要对实时数据进行快速处理和写库,另外还要进行数据分发和同步操作,资源消耗较大,且数据同步操作在实时数据处理完成后方可进行,对实时数据的同步时延影响较大,特别是当数据量较大的时候,性能瓶颈尤为明显。

边缘计算技术是充分利用现有各种设备的运算能力,将原先集中运算转为分布式运算的一种新式处理模式,通过更快的网络模块响应,满足各行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。



技术实现要素:

发明目的:本发明提出一种基于边缘计算的变电站实时数据快速分发同步系统及方法,通过在源代码层级完成实时数据的主动触发式快速分发,并通过边缘计算进行分布式处理,实现多主机之间实时数据高效均衡同步。

技术方案:本发明所述的一种基于边缘计算的变电站实时数据快速分发同步系统,包括实时数据封装模块、数据分发模块以及数据接收与处理模块;所述实时数据封装模块和数据分发模块部署在主机上,数据接收与处理模块部署在备机以及需要同步实时数据的机器上;所述实时数据封装模块提供一系列同步接口,对实时数据报文和对应的处理过程进行统一封装,形成同步数据包并加载到数据同步缓冲池中;所述数据分发模块从数据同步缓冲池中提取同步数据,按可设定的包大小进行分包操作后向其他机器快速分发;所述数据接收与处理模块接收分发的同步数据包,进行组包操作后解析其中实时数据报文和处理过程并进行本地化调用,从而达到利用本地设备的边缘计算能力实现实时数据和处理过程的主备机一体化同步处理的目标。

进一步地,所述实时数据封装模块采用动态链接库的方式提供数据同步接口,主机在实时数据的处理函数中进行对应调用,数据同步接口名称按被同步函数名称加_sync的方式命名。

进一步地,所述数据分发模块采用可执行程序的方式运行于数据同步主机上,同时在备机上该模块处于热备用状态,当备机切为主机时,可以立即恢复同步数据分发操作。

进一步地,所述数据同步缓冲池中数据存放格式按照实时数据封装模块版本号、数据同步缓冲池已使用字节长度、被同步函数结构化描述对象个数、被同步函数结构化描述对象1字节长度、被同步函数结构化描述对象1、被同步函数结构化描述对象2字节长度、被同步函数结构化描述对象2、……,依次存储。

进一步地,所述数据接收与处理模块采用可执行程序的方式运行于数据同步备机以及其他需要同步数据的设备上,该模块在主机上处于热备用状态,当主机切为备机时,可以立即恢复同步数据接收与处理操作。

本发明还提供一种基于边缘计算的变电站实时数据快速分发同步方法,包括(1)实时数据封装、(2)数据分发以及(3)数据接收与处理三个步骤;所述数据封装采用动态链接库的方式提供数据同步接口,主机在实时数据的处理函数中进行对应调用,数据同步接口名称按被同步函数名称加_sync的方式命名,具体包括以下步骤:

(11)声明被同步函数形式参数结构化描述对象数组,所述形式参数描述结构包括参数类型、参数占用字节数以及参数内容;

(12)声明被同步函数结构化描述对象,所述被同步函数描述结构包括被同步函数定义、形式参数个数以及形式参数结构化描述对象数组;

(13)对步骤(12)形成的被同步函数结构化描述对象进行序列化操作;

(14)将序列化后的被同步函数结构化描述对象加载到数据同步缓冲池中,通知数据分发服务可以进行数据分发操作;

(15)若数据同步缓冲池数据写入错误,则进行异常处理操作,返回错误码并告警提示,否则回到步骤(11)进行下一次实时数据封装操作;

所述数据分发采用可执行程序的方式运行于数据同步主机上,同时在备机上该服务处于热备用状态,当备机切为主机时,可以立即对同步数据分发操作进行恢复,具体包括以下步骤:

(21)初始化当前系统中需要同步数据的设备信息;

(21)创建共享内存作为数据同步缓冲池,使主机中不同进程调用数据同步接口后存储被同步函数结构化描述对象;

(23)当数据同步缓冲池中存在同步数据时,获取同步数据并按可设定的数据包大小进行分包操作;

(24)对分包操作后形成的同步数据报文按步骤(21)获取的被同步设备信息快速进行数据分发操作,传输协议与方法可以根据网络环境进行自适应动态配置;

(25)判断同步数据分发操作是否成功,若成功转到步骤(23),继续进行同步数据分包操作,否则进行异常操作处理;

所述数据接收与处理服务采用可执行程序的方式运行于数据同步备机上,该服务在主机上处于热备用状态,当主机切为备机时,可以立即恢复同步数据接收与处理操作,具体包括以下步骤:

(31)接收并缓存数据分发服务分包发送的同步数据分包报文,传输协议与方法同样可以根据网络环境进行自适应动态配置;

(32)从缓冲区中获取同步数据分包报文,进行组包操作;

(33)组包完成后对其进行校验操作,确保分包发送的同步数据报文完整正确;若校验失败则放弃对该同步数据的处理并告警提示;

(34)对校验通过的同步数据报文进行分析处理,获取其中被同步函数信息;

(35)在本地调用步骤(34)分析的被同步函数,实现实时数据在被同步设备上的一致性调用处理;调用结束后回到步骤(32)进行下一次组包操作。

有益效果:与现有技术相比,本发明的有益效果:1、基于实时数据和处理过程的统一封装,形成标准的被同步函数结构化描述对象,便于后期进行扩展;2、面向实时数据与处理过程的主动触发式快速分发,大大减少原先同步处理环节,提高数据同步效率;3、配置方法简单,克服传统点表方式数据同步方法带来的配置繁琐、易出错,需要二次对点等弊端,有效减少运维人员维护工作量。

附图说明

图1为本发明系统结构示意图;

图2是实时数据封装模块处理流程图;

图3是数据分发模块处理流程图;

图4是数据接收与处理模块处理流程图。

具体实施方式

以下将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整的描述和讨论,显然,这里所描述的仅仅是本发明的一部分实例,并不是全部的实例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明提供一种基于边缘计算的变电站实时数据快速分发同步系统,其模块部署方式如图1所示,包括实时数据封装模块、数据分发模块以及数据接收与处理模块;实时数据封装模块和数据分发模块部署在主机上,数据接收与处理模块部署在备机以及需要同步实时数据的机器上;实时数据封装模块提供一系列同步接口,对实时数据报文和对应的处理过程进行统一封装,形成同步数据包并加载到数据同步缓冲池中数据分发模块从数据同步缓冲池中提取同步数据,按可设定的包大小进行分包操作后向其他机器快速分发;所述数据接收与处理模块接收分发的同步数据包,进行组包操作后解析其中实时数据报文和处理过程并进行本地化调用,从而达到利用本地设备的边缘计算能力实现实时数据和处理过程的主备机一体化同步处理的目标。监控主机上部署实时数据封装模块和数据分发模块,数据接收与处理模块处于热备用状态,当监控主机切为监控备机时,可以立即恢复同步数据接收与处理操作。监控备机上部署数据接收与处理模块,实时数据封装模块和数据分发模块处于热备用状态,当监控备机切为监控主机时,可以立即恢复实时数据封装以及同步数据分发操作。综合应用服务器仅作为需同步实时数据之设备,因此只需部署数据接收与处理模块。

本发明还提供一种基于边缘计算的变电站实时数据快速分发同步方法,包括包括实时数据封装、数据分发以及数据接收与处理三个步骤。

实时数据封装模块提供一系列同步接口,对实时数据报文和对应的处理过程进行统一封装,形成同步数据包并加载到数据同步缓冲池中,其流程如图2所示,具体包括以下步骤:

步骤(1),根据被同步函数形式参数个数声明形式参数结构化描述对象数组,本发明所述声明为变量声明。数组成员为形式参数结构化定义对象,具体包含形式参数类型、占用字节数以及参数内容。参数类型采用整数对不同参数类型进行定义,例如整形类型为0,布尔类型为1,浮点类型为2等。参数占用字节数为各种参数变量类型在系统中所占用的实际内存大小,其中指针类型由于为主机的内存地址,无需进行分发同步,故占用字节数固定为0。参数内容为被同步函数形式参数实际传入内容,按参数占用字节数大小进行内存拷贝获取。

步骤(2),声明被同步函数结构化描述对象,具体包括被同步函数定义、形式参数个数以及形式参数结构化描述对象数组。被同步函数定义仍然采用整数对不同被同步函数类型进行定义。形式参数个数为被同步函数实际形式参数个数。形式参数结构化描述对象数组存放步骤(1)中被同步函数形式参数内容。

步骤(3),对步骤(2)形成的被同步函数结构化描述对象进行序列化操作,以便于后期对其进行网络化传输。

步骤(4),将序列化后的被同步函数结构化描述对象加载到数据同步缓冲池中,通知数据分发模块可以进行数据分发操作。其中数据同步缓冲池中数据存放格式如下:

步骤(5),若数据同步缓冲池数据写入错误,则进行异常处理操作,返回错误码并告警提示,否则回到步骤(1)进行下一次实时数据封装操作。

数据分发模块采用可执行程序的方式运行于数据同步主机上,其主要负责为主机上需要发送同步数据的进程建立数据同步缓冲池以及向其他被同步设备快速分发同步数据,程序流程图如图3所示。

步骤(1),初始化当前系统中需要同步数据的设备信息,包括机器名称以及ip地址等。

步骤(2),创建共享内存作为数据同步缓冲池,便于主机中不同进程调用数据同步接口后存储被同步函数结构化描述对象。其中数据同步缓冲池应支持加/减锁操作,防止不同进程在频繁写入同步数据时的互斥与冲突问题。除此以外,为便于对共享内存进行操作,模块内部特地封装了创建、释放、打开、初始化共享内存的接口,以及获取共享内存已使用百分比、读取共享内存并分包发送等方法。

步骤(3),判断当前数据同步缓冲池中是否存在同步数据,若存在则获取同步数据并按可设定的数据包大小进行分包操作,形成同步数据分发报文头,若干报文体以及报文尾。

同步数据报文头通过消息头50024(十进制)进行定义,消息体发送当前数据同步缓冲池已使用总字节数。

同步数据报文体通过消息头50025(十进制)进行定义,消息体按可设定大小对当前数据同步缓冲池中同步数据进行循环分割发送。

同步数据报文尾通过消息头50026(十进制)进行定义,消息体发送当前数据同步缓冲池中同步数据分割剩余字节。

步骤(4),根据网络环境自适应动态选择网络传输协议,发送步骤(3)形成的同步数据报文。

步骤(5),判断同步数据分发操作是否成功,若成功转到步骤(3),继续进行同步数据分包操作,否则进行异常操作处理。

数据接收与处理模块采用可执行程序的方式运行于数据同步备机以及其他需要同步数据的设备上,其主要通过边缘计算的方式接收同步数据报文,组包后进行本地化调用,从而实现被同步设备与远方主机实时数据与处理结果的一致性同步,程序流程图如图4所示。

步骤(1),接收并缓存数据分发模块分包发送的同步数据分包报文,传输协议与方法同样可以根据网络环境进行自适应动态配置。

步骤(2),从缓冲区中获取同步数据分包报文,进行组包操作。组包时按照报文类型进行处理,首先获取同步数据报文头,分析同步数据报文总长度;然后依次获取同步数据报文体,对其进行增量式叠加;最后获取同步数据报文尾,拼装完成本次接收的同步数据报文。

步骤(3),组包完成后根据同步数据报文头、报文体和报文尾的类型以及报文体分包个数进行校验操作,确保分包发送的同步数据报文完整正确。若校验失败则放弃对该同步数据的处理并告警提示。

步骤(4),对校验通过的同步数据报文进行分析处理,获取其中被同步函数信息,包括被同步函数类型,形式参数个数以及形式参数内容。

步骤(5),在本地调用步骤(4)分析的被同步函数,实现实时数据在被同步设备上的一致性调用处理。调用结束后回到步骤(2)进行下一次组包操作。

以上仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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