技术新讯 > 电子通信装置的制造及其应用技术 > 基于内存库风电业务实时数据订阅开发和使用方法及系统与流程  >  正文

基于内存库风电业务实时数据订阅开发和使用方法及系统与流程

  • 国知局
  • 2024-09-14 15:04:44

本发明属于风力发电业务实时数据监控,更具体地,涉及一种基于内存库风电业务实时数据订阅开发和使用方法及系统。

背景技术:

1、风电业务监控系统需要实时获取和处理大量的数据,包括风速、风向、功率等。这些数据对于风电场的运行监控、设备维护、故障诊断等都非常重要。然而,由于风电业务数据的刷新频率高,数据量大,传统的轮询获取数据处理方式往往无法满足实时性和准确性的需求,传统软件设计选型时在不采用中间件的情况下通常会直接使用数据结构“队列”来解决数据处理速度与传输速度不匹配的问题;传统软件在处理数据过程中会直接将内存计算后的结果存入关系库,是读写一体的设计,供其他查询程序进行数据查询使用;查询过程中需要对数据进行排序、筛选,这个过程中内存中的数据由于格式原因不能为业务应用系统识别,因此不能直接提供用户使用,故而内存利用率也相对较低。

2、在风电业务场景下,高频率数据刷新、多维数据查询、数据及时准确是常见的需求。用户可以根据自己的需求,查询当前时刻的数据。直接通过查询关系库获取数据的方法往往无法满足高性能获取数据的需求,其次关系库的表结构在面对多样性的数据查询时也存在局限性,传统的读写一体化设计容易出现热点高频数据不一致、不及时的问题。因此,现有的风电业务监控系统的内存利用率和数据读写性能需要提高,传统的单一读取关系型数据库往往无法满足风电业务场景下对数据实时性和准确性的需求。

3、因此,如何提供一种基于内存库的风电业务实时数据订阅的方法,解决风电业务场景下数据刷新、按需订阅取用的问题,提高风电业务监控系统的内存利用率和实时数据读写性能,是一个亟待解决的问题。

技术实现思路

1、为解决现有技术中存在的不足,本发明提供一种基于内存库的风电业务实时数据订阅的开发和使用方法,用以解决风电业务场景下数据刷新、按需订阅取用的问题,提高风电业务监控系统的内存利用率和实时数据读写性能。

2、本发明采用如下的技术方案。

3、本发明的第一方面提供了一种基于内存库的风电业务实时数据订阅的方法,其特征在于,包括以下步骤:

4、步骤1,建立连接和验证身份,hmi通过websocket连接服务设备,提交实时数据测点的订阅请求,接收请求并验证用户身份;

5、步骤2,获取实时数据和检查数据,根据用户身份和订阅数据标识从消息中间件获取实时数据,判断数据是否为最新值,如不是,则从内存库中获取最新值并更新数据;

6、步骤3,持续推送与断开连接,将汇聚的最新数据通过用户的会话连接发送至hmi用户端,循环执行数据推送,直至用户触发断开连接,服务设备断开连接后清除相关中间数据,释放资源。

7、优选地,步骤1具体包括:

8、步骤1.1,hmi携带用户身份信息,订阅数据标识发起会话连接;

9、步骤1.2,接收hmi用户端发送的会话连接请求,提取数据订阅请求中包含目标订阅者的会话标识、用户身份标识和订阅数据标识;

10、步骤1.3,用户身份验证通过,服务设备建立连接,允许hmi用户端与服务设备之间建立持久性的通信通道,用于数据订阅和实时数据传递。

11、优选地,步骤1.1中,所述hmi用户端发起会话连接包括根据所属数据标识对风电实时数据进行数据唯一标识配置,得到各待订阅数据的标识集合。

12、优选地,步骤2具体包括:

13、步骤2.1,若此hmi用户端的身份标识具有会话连接权限,则根据订阅数据标识保持会话连接,从消息中间件中获取相应的实时数据;

14、步骤2.2,判断数据是否为最新值,对从消息中间件获取的实时数据进行时间戳比较,通过比较数据的时间戳与已知的最新时间戳;

15、步骤2.3,如果数据不是最新值,服务设备从具备数据刷新能力的内存库中读取最新值;

16、步骤2.4,从内存库中获取到最新值,服务设备会更新相应的数据,确保用户获取的数据是最新的。

17、优选地,步骤2.1中,所述中间件获取时间戳最新的订阅标识数据值之前,对各用户身份信息进行审核,若审核通过,则根据订阅数据标识保持会话连接,并保存订阅数据标识,进行数据汇聚过滤;

18、所述使用中间件用于系统化大吞吐量的解决处理速度与传输速度不匹配问题,选用开源内存数据库软件,同时内存库的数据结构将数据处理成直接可用状态,供查询接口快速使用,将读写分离。

19、优选地,步骤2.4中,不满足数据最新值地条件包括从消息中间件获取地数据时间戳相对于前序数据低于设定值,或者消息中间件中不存在该数据标识地对应数据值,需要从持续运行的内存库中获取最新值;

20、所述内存库用于根据设置的失效时间,持续从其他数据库数据源读取最新有效值。

21、优选地,步骤3具体包括:

22、步骤3.1,汇聚所需数据集最新值,存储在计算机运行时程序的内存数据结构中;

23、步骤3.2,将订阅的多个数据标识从消息中间件或内存库中根据标识信息筛选完成;

24、步骤3.3,推送循环会一直执行,直到用户在hmi用户端触发断开连接的操作;

25、步骤3.4,用户触发了断开连接,服务设备执行断开连接,清除与该连接相关的中间数据,释放资源。

26、优选地,步骤3.1中,汇聚目标订阅数据集合,将hmi用户端订阅的多个数据标识从消息中间件或内存库中根据标识信息进行筛选,当全部筛选完成时,查询得到对应的用户会话连接,发送给hmi用户端。

27、优选地,步骤3.3中,由代码程序轮询订阅数据标识,并从中间件中json数据结构中查找,查找到后保存至内存中为目标订阅数据集创建的数据结构中,待全部数据标识查找完毕,通过用户标识和会话标识找到对应长连接,发送数据。

28、本发明的第二方面提供了一种基于内存库的风电业务实时数据订阅系统,包括:用户端模块、服务设备模块、中间件模块和内存库模块;

29、用户端模块用于接收用户的数据订阅申请,发送连接请求,以及接收和展示实时数据,与用户交互,传递订阅需求;

30、服务设备模块是系统的核心,用于接收用户端的订阅申请,建立连接,管理用户身份权限,从中间件获取实时数据,处理数据的时效性条件,以及从内存库获取最新数据,协调整个订阅系统的运作;

31、中间件模块充当实时数据的存储和传递中介,用于接收来自采集端的实时数据,并提供给服务设备模块,具有存储、检索和传输数据的功能,使数据保持实时性和可用性;

32、内存库模块用于存储具备数据刷新能力的实时数据,当数据不满足时效性条件时,服务设备从内存库中获取最新值。

33、与现有技术相比,本发明的有益效果至少包括:通过接收hmi用户端发送的数据订阅申请后,根据用户身份标识从具有全量数据的消息中间件获取时间戳最新的订阅标识数据值,再汇聚订阅数据,如果不满足数据最新值条件的数据,则从具备数据刷新能力的内存库中读取最新值,实现了内存库与中间件实时数据的结合,并灵活精细化管理,提高风电业务监控系统的内存利用率和实时数据读写性能。

本文地址:https://www.jishuxx.com/zhuanli/20240914/296869.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。