一种变电站数字孪生的实时同步方法和装置
技术领域
本发明属于变电站监测领域,尤其涉及一种变电站数字孪生的实时同步方法和装置。
背景技术
目前,变电站数字孪生Web应用数据实时同步基本上是通过轮询和其它服务器的推送来实现信息实时性的,最常用的是轮询和长轮询技术。
(1)使用轮询,浏览器定期发送HTTP请求,并随即接受响应,这是最早的一种Web实时推送方案。客户端以一定的时间间隔向服务端发出请求,以频繁请求的方式来保持客户端和服务器端的同步。这种同步方案的最大问题是,当客户端以固定频率向服务器发起请求的时候,服务器端的数据可能并没有更新,这样会带来很多无谓的网络传输,所以这是一种非常低效的实时方案。
(2)长轮询就是浏览器发送一请求到服务器,在一段时间内服务器都处于打开状态。服务器在打开状态时如果收到一个请求,就会发送响应到客户端。长轮询会造出非常多的请求,不断的请求可能会造成的影响是数据顺序无法得到保证。
发明内容
本发明的实施例提供了一种变电站数字孪生的实时同步方法和装置,能够避免无谓的网络连接。
一种变电站数字孪生的实时同步方法,包括:
步骤1,变电站孪生后台接收至少一个变电站的测点实时检测数据;
步骤2,所述变电站孪生后台将所述测点实时检测数据发送给变电站web前端,使得所述变电站web前端根据所述测点实时检测数据进行实时显示;
所述变电站孪生后台与所述变电站web前端通过Websocket方式进行连接。
一种变电站数字孪生的实时同步装置,包括:
连接单元,用于变电站孪生后台与变电站web前端通过Websocket方式进行连接;
接收单元,变电站孪生后台接收至少一个变电站的测点实时检测数据;
发送单元,所述变电站孪生后台将所述测点实时检测数据发送给变电站web前端,使得所述变电站web前端根据所述测点实时检测数据进行实时显示。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例中,明通过采用WebSocket实现变电站实时消息同步,实现了毫秒级数据消息同步,避免了无谓的网络连接。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的变电站数字孪生的实时同步方法的流程示意图;
图2为本发明实施例中变电站实时消息同步流程图;
图3为传统轮询与本发明实施例中采用WebSocket方式的网络负载对比:
图4为本发明实施例所述的变电站数字孪生的实时同步方法的架构示意图;
图5为本发明实施例所述的消息体示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
如图1所示,为本发明所述的一种变电站数字孪生的实时同步方法,包括:
步骤1,变电站孪生后台接收至少一个变电站的测点实时检测数据;
步骤2,所述变电站孪生后台将所述测点实时检测数据发送给变电站web前端,使得所述变电站web前端根据所述测点实时检测数据进行实时显示;
其中,所述变电站孪生后台与所述变电站web前端通过Websocket(基于TCP的全双工通信协议)方式进行连接。
可选的,所述方法还包括:
步骤3,每隔一段时间所述变电站web前端向变电站孪生后台发送一次请求,避免WebSocket连接因无数据传输而自动断开。
可选的,所述步骤1具体为:所述变电站孪生后台接收至少一个变电站的测点实时检测数据;并对所述测点实时检测数据经过清洗处理;
所述步骤2具体为:所述变电站孪生后台将清洗处理后的所述测点实时检测数据发送给变电站web前端。
可选的,所述步骤1具体为:所述变电站孪生后台接收至少一个变电站的测点实时检测数据,判断所述测点实时检测数据是否大于预定阈值;当大于时,则生成告警信息;
相应的,所述步骤2具体为:所述变电站孪生后台将所述告警信息发送给变电站web前端。
可选的,所述步骤1具体为:所述变电站孪生后台接收至少一个变电站的测点实时检测数据,并对所述测点实时检测数据进行处理,生成实时指标检测数据,所述实时指标检测数据为电网综合数量特征数据;所述处理包括:对实时检测数据进行清洗、格式转换、指标计算,告警计算等。
相应的,所述步骤2具体为:所述变电站孪生后台将所述告警信息和所述实时指标检测数据发送给变电站web前端。
可选的,所述步骤2具体为:
所述变电站孪生后台通过webSocket与变电站web前端建立连接,将所述测点实时检测数据实时发送到所述变电站Web前端;
当发送成功后,将发送结果放入消息队列;
当失败后,启动重试机制,重新将所述测点实时检测数据发送给所述变电站Web前端。
可选的,所述websocket通过Redis(远程字典服务,一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库)方式,存储websocket的session(会话控制)会话连接,实现集群方式,同时使用线程池开启多条线程同时进行处理;
所述步骤2具体为:
所述变电站孪生后台将所述测点实时检测数据以预定消息体格式发送给变电站web前端;
所述预定消息体格式包括以下一个或者多个的组合:
需要调用的api,用于指示变电站web前端接收到消息后,建立连接以获取数据的api链接地址;
参数params,用于指示消息所需的参数的key:value键值和值的形式;
接收者sendTarget,用于指示变电站web前端的地址标识,
发送源sendSource,用于指示消息的来源,所述消息来源包含:发送端ip地址、变电站的站点id、变电站的设备id、变电站的实时指标检测数据id;
消息内容messageContent,用于指示消息内容,所述消息内容为字符串、数字、或json串。
消息类型messageType,用于指示消息类型,所述消息类型包括:告警消息、监测点实时检测数据、或实时指标检测数据。
创建时间createTime,用于指示消息创建时间、时间戳格式。
可选的,所述方法还包括:
步骤4,所述指示变电站web前端根据所述消息中的api链接地址,与所述api建立连接,以获取数据;所述数据包括:实时测点数据、指标数据、或告警数据。
所述指示变电站web前端显示从所述从api链接地址获取的数据。
以下描述本发明的应用场景。
一种基于WebSocket实现变电站数字孪生的实时同步方法,可以用于变电站数据实时同步、信息化、数字化、电站智能运维领域。
本发明克服变电站数字孪生系统信息实时同步轮询方式和长轮询方式的弊端,采用WebSocket基于浏览器的原生socket,使客户端浏览器具备像C/S架构下桌面系统的实时通讯能力,支持浏览器与服务器之间的双向通信,有效解决了变电站数字孪生系统告警、指标、温湿度等检测数据实时同步的问题。
图2为本发明实施例中变电站实时消息同步流程图,图3为本发明实施例中传统轮询与采用WebSocket方式的网络负载对比:图4为本发明实施例所述的架构图;图5为本发明实施例所述的消息体示意图。以下结合各图描述。
本发明首先搭建系统环境,搭建基于webSocket的服务环境,部署智能化变电站数字孪生服务。然后,通过告警系统、采集系统分析得到告警信息或指标检测信息;然后,通过消息系统与Web建立的Websocket连接,发送告警消息或指标检测信息;然后,web端通过webSocket连接实时拿到数据信息在页面进行展示。本发明提供了一种基于webSocket的电站数据实时同步解决方案,变电站告警、指标,检测单元数据能够实时同步显示。
所述方法包括:
步骤1、变电站孪生后台接收消息;具体为:接收到变电站指标、温湿度测点数据,放入消息队列。对消息进行预处理,将接收到的消息经过清洗处理,进行持久化存储。
步骤2、变电站孪生后台给web前端发送消息,具体为:通过webSocket与web前端建立的连接,将告警指标信息实时发送到Web前端,当成功后将结果丢入消息队列;当失败后,启动重试机制,重新将消息传输给Web前端。
其中websocket通过Redis方式,存储websocket的session连接实现集群方式,同时使用了线程池开启多条线程同时进行处理,将数据库配置设置为本地,例如127.0.0.1,这样大大缩短了一条请求处理要花费的时间,由之前的几十秒缩短为几百毫秒。同时增加心跳机制维持连接,每隔一段时间就向服务端发送一次自定义请求避免WebSocket连接因无数据传输而自动断开连接。
本发明具有以下有益效果:
本发明通过采用WebSocket实现变电站实时消息同步,完美实现毫秒级数据消息同步,避免了无谓的网络连接,冗余的数据传输和大量的服务器开销。实现数据传输低消耗,高能效的能力。
本发明还提供一种变电站数字孪生的实时同步装置,包括:
连接单元,用于变电站孪生后台与变电站web前端通过Websocket(基于TCP的全双工通信协议)方式进行连接;
接收单元,变电站孪生后台接收至少一个变电站的测点实时检测数据;
发送单元,所述变电站孪生后台将所述测点实时检测数据发送给变电站web前端,使得所述变电站web前端根据所述测点实时检测数据进行实时显示。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。