一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种物联网实时数据查询方法和系统与流程

2023-02-01 22:47:11 来源:中国专利 TAG:


1.本发明涉及到物联网技术领域,特别涉及到一种物联网实时数据查询方法和系统。


背景技术:

2.随着物联网行业的发展,越来越多的业务逻辑需要支持消息实时处理。设备上报数据到物联网平台,物联网平台根据上报的数据实时判断是否复合预值、权限、趋势等,然后根据对实时数据的条件过滤进行一些列的业务逻辑处理,例如,物联网平台可根据温度传感器上报的实时温度数据来判断是否需要开启或者关闭空调。
3.以往的物联网平台对实时数据的业务处理,主要依赖于根据固定需求编写固定的业务逻辑代码,使用相对固化的流程对数据进行实时处理。例如不同的物联网设备(湿度传感器、温度传感器等)所发送到物联网平台的消息格式不尽相同,需要根据特定的物联网设备编写对应的,这样的处理方式对于物联网行业千变万化的实时数据处理需求来说。灵活性比较差,只要需求稍微有变动,就需要重新进行编码。同时,因为需要根据变化的需求重新编码,带来的功能实现周期长,成本高,需要重启生产环境的系统等问题也对用户非常不友好。


技术实现要素:

4.本发明提出一种物联网实时数据查询方法和系统,主要解决的技术问题是:以往的物联网平台对实时数据的业务处理,主要依赖于根据固定需求编写固定的业务逻辑代码,使用相对固化的流程对数据进行实时处理,灵活性比较差,功能实现周期长,成本高,对用户非常不友好。
5.为解决上述技术问题,本发明实施例提供了一种物联网实时数据查询方法,包括如下步骤:
6.步骤1、将平台收到的实时数据推送到消息总线中,并设置实时数据的发布格式;步骤2、创建条件过滤逻辑reactorql,并利用reactorql对消息总线中的实时数据进行过滤;步骤3、根据 reactorql所表达的逻辑,将reactorql字符串解析为业务逻辑代码;步骤4、执行业务逻辑代码并判断是否有输出。
7.在本发明的一种实施例中,条件过滤逻辑reactorql是在平台的可视化界面中创建的。
8.在本发明的一种实施例中,将reactorql字符串解析为业务逻辑代码,包括:利用开源sql 解析器,将reactorql字符串解析为多个逻辑片段。
9.在本发明的一种实施例中,执行步骤1之前,还包括:初始化消息总线。
10.本发明实施例还提供了一种物联网实时数据查询系统,包括:推送模块,用于将平台收到的实时数据推送到消息总线中,并设置实时数据的发布格式;过滤模块,用于根据条件过滤逻辑reactorql对消息总线中的实时数据进行过滤;解析模块,用于根据条件过滤逻
辑reactorql 所表达的逻辑,将reactorql字符串解析为业务逻辑代码;执行模块,用于执行业务逻辑代码并判断是否有输出。
11.在本发明的一种实施例中,上述物联网实时数据查询系统还包括条件设定模块,用于在平台的可视化界面中创建条件过滤逻辑reactorql。
12.在本发明的一种实施例中,解析模块中包括开源sql解析器,用于将reactorql字符串解析为多个逻辑片段。
13.在本发明的一种实施例中,上述物联网实时数据查询系统还包括初始化模块,用于初始化消息总线。
14.本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个计算机程序,该一个或者多个计算机程序可被一个或者多个处理器执行,以实现上述的物联网实时数据查询方法的步骤。
15.本发明的有益技术效果是:
16.本发明提供的物联网实时数据查询方法和系统,通过将平台收到的实时数据推送到消息总线中,并设置所述实时数据的发布格式,创建条件过滤逻辑reactorql,并利用所述reactorql 对消息总线中的实时数据进行过滤,根据所述reactorql所表达的逻辑,将所述reactorql字符串解析为业务逻辑代码,执行所述业务逻辑代码并判断是否有输出,在某些实施过程中可实现包括但不限于提高用户可使用性,避免因为需求经常变化带来的开发成本增加、开发周期变长的问题。
附图说明
17.附图1为本发明中的物联网实时数据查询方法的流程图;
18.附图2为本发明中的物联网实时数据查询系统的结构示意图。
具体实施方式
19.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
20.实施例一
21.为了解决相关技术中,物联网平台对实时数据的业务处理,主要依赖于根据固定需求编写固定的业务逻辑代码,使用相对固化的流程对数据进行实时处理,灵活性比较差,功能实现周期长,成本高,对用户非常不友好的问题,本发明实施例提供一种物联网实时数据查询方法。
22.如图1所示,一种物联网实时数据查询方法,包括以下步骤:
23.s101:将平台收到的实时数据推送到消息总线中,并设置所述实时数据的发布格式。
24.消息总线可对实时数据进行订阅和推送。在该步骤中,设置所述实时数据的发布格式具体为设置实时数据的推送topic。topic是消息发布(pub)者和订阅(sub)者之间的传输中介。设备可通过topic实现消息的发送和接收,从而实现服务端与设备端的通信。为方便海量设备基于topic进行通信,简化授权操作,物联网平台定义了产品topic类和设备
topic,可以通过消息解码插件得到的,插件将消息解析完成后,根据消息根据类型,设置不同的topic,这个 topic是平台内置的。如插件解析消息发现是一条设备上报类型的消息,就会设置topic为 xxx/xxx/property-report.topic指向消息。后续操作依赖的是topic指向的消息。也有部分逻辑是依赖于topic里面的信息。比如根据topic里面的设备id做路由找到设备对应的产品。
25.下面以一个具体实例进行说明:
26.物联网平台收到了一条设备上报的温度为30度的消息,则使用如下格式发布到消息总线中:
27.topic:/device/message/{设备id}/property-report
28.data:{“temprature”:“30”}。
29.s102:创建条件过滤逻辑reactorql,并利用所述reactorql对消息总线中的实时数据进行过滤。
30.jetlinks(jetlinks是一个物联网基础平台,用于快速建立物联网相关业务系统)封装了一套使用sql来进行实时数据处理的工具包,通过将sql翻译为reactor来进行数据处理。规则引擎中的数据转发以及可视化规则中的reactorql节点均使用此工具包实现。通过写sql的方式来对实时数据过滤处理,使得用户可使用性更高。
31.下面以一个具体实例进行说明:
32.需要过滤所有设备上报的温度大于20度的实时数据的写法如下:
33.select*from/device/message/*/property-report where temperature》20。
34.作为本发明实施例中的一个优选的方案,上述条件过滤逻辑reactorql的创建是在物联网平台的可视化界面中动态加载完成的,避免服务器重新启动造成的设备大批量下线、数据丢失等问题。
35.s103:根据所述reactorql所表达的逻辑,将所述reactorql字符串解析为业务逻辑代码。
36.物联网平台程序会根据reactorql所表达的逻辑,将reactorql字符串渲染为计算机能够理解的业务逻辑代码,其中,将reactorql字符串渲染为计算机能够理解的业务逻辑代码具体通过使用开源(jsqlparser)sql解析器(jsqlparser是一个sql语句解析器。它将sql转换为java类的可遍历层次结构。支持oracle,sqlserver,mysql,postgresql等常用数据库),将reactorql解析为多个逻辑片段。
37.reactorql支持多条件嵌套过滤实时数据,通过程序渲染为代码逻辑后,和程序员编写出来的代码效果相同。同时因为支持将reactorql动态渲染为代码逻辑,可以避免因为需求经常变化带来的开发成本、开发周期问题。
38.下面以一个具体实例进行说明:
39.对“select*from/device/message/*/property-report where temperature》20”的解析如表1所示:
[0040][0041]
表1
[0042]
s104:执行所述业务逻辑代码并判断是否有输出。
[0043]
通过reactorql过滤后的实时数据如果有输出,则代表输出的数据满足了过滤条件,物联网平台即可以基于此输出做后续业务逻辑处理,例如进行设备控制、通知预警等。
[0044]
作为本发明实施例中的一个优选的方案,在执行上述步骤s101之前,还包括对消息总线进行初始化。
[0045]
实施例二
[0046]
为了解决相关技术中,物联网平台对实时数据的业务处理,主要依赖于根据固定需求编写固定的业务逻辑代码,使用相对固化的流程对数据进行实时处理,灵活性比较差,功能实现周期长,成本高,对用户非常不友好的问题,本发明实施例提供一种物联网实时数据查询方法。
[0047]
如图2所示,一种物联网实时数据查询系统,包括:
[0048]
推送模块,用于将平台收到的实时数据推送到消息总线中,并设置所述实时数据的发布格式。
[0049]
消息总线可对实时数据进行订阅和推送。在该步骤中,设置所述实时数据的发布格式具体为设置实时数据的推送topic。topic是消息发布(pub)者和订阅(sub)者之间的传输中介。设备可通过topic实现消息的发送和接收,从而实现服务端与设备端的通信。为方便海量设备基于topic进行通信,简化授权操作,物联网平台定义了产品topic类和设备topic。
[0050]
下面以一个具体实例进行说明:
[0051]
物联网平台收到了一条设备上报的温度为30度的消息,则使用如下格式发布到消息总线中:
[0052]
topic:/device/message/{设备id}/property-report
[0053]
data:{“temprature”:“30”}。
[0054]
过滤模块,用于根据条件过滤逻辑reactorql对所述消息总线中的实时数据进行
过滤。
[0055]
jetlinks(jetlinks是一个物联网基础平台,用于快速建立物联网相关业务系统)封装了一套使用sql来进行实时数据处理的工具包,通过将sql翻译为reactor来进行数据处理。规则引擎中的数据转发以及可视化规则中的reactorql节点均使用此工具包实现。
[0056]
下面以一个具体实例进行说明:
[0057]
需要过滤所有设备上报的温度大于20度的实时数据的写法如下:
[0058]
select*from/device/message/*/property-report where temperature》20。
[0059]
作为本发明实施例中的一个优选的方案,上述物联网实时数据查询系统还包括条件设定模块,用于在物联网平台的可视化界面中完成对条件过滤逻辑reactorql的动态加载。
[0060]
解析模块,用于根据所述条件过滤逻辑reactorql所表达的逻辑,将所述reactorql字符串解析为业务逻辑代码。
[0061]
物联网平台程序会根据reactorql所表达的逻辑,将reactorql字符串渲染为计算机能够理解的业务逻辑代码,其中,将reactorql字符串渲染为计算机能够理解的业务逻辑代码具体通过使用开源(jsqlparser)sql解析器(jsqlparser是一个sql语句解析器。它将sql转换为java类的可遍历层次结构。支持oracle,sqlserver,mysql,postgresql等常用数据库),将reactorql解析为多个逻辑片段。
[0062]
下面以一个具体实例进行说明:
[0063]
对“select*from/device/message/*/property-report where temperature》20”的解析如表1所示:
[0064][0065]
表1
[0066]
执行模块,用于执行所述业务逻辑代码并判断是否有输出。
[0067]
通过reactorql过滤后的实时数据如果有输出,则代表输出的数据满足了过滤条件,物联网平台即可以基于此输出做后续业务逻辑处理,例如进行设备控制、通知预警等
[0068]
作为本发明实施例中的一个优选的方案,上述物联网实时数据查询系统还包括初
始化模块,用于对消息总线进行初始化。
[0069]
实施例三
[0070]
本实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(randomaccessmemory,随机存取存储器),rom(read-onlymemory,只读存储器),eeprom(electricallyerasableprogrammablereadonlymemory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compactdiscread-onlymemory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
[0071]
本实施例中的计算机可读存储介质可用于存储一个或者多个计算机程序,其存储的一个或者多个计算机程序可被处理器执行,以实现上述实施例一中的物联网实时数据查询方法中的至少一个步骤。
[0072]
可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
[0073]
此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
[0074]
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献