首页 / 专利库 / 电脑零配件 / 固件 / 软件 / 软件包 / 软件组件 / 规则引擎 / 一种物联网数据处理方法及装置、设备、存储介质

一种物联网数据处理方法及装置、设备、存储介质

阅读:162发布:2020-05-11

专利汇可以提供一种物联网数据处理方法及装置、设备、存储介质专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了一种 物联网 数据处理 方法及装置、设备、存储介质,包括:接收物联网各终端通过不同通信协议发送的上行数据;将每一所述上行数据转换为标准类型的归一化数据;根据所述归一化数据中的有效内容,确定所述归一化数据的推送目标平台。,下面是一种物联网数据处理方法及装置、设备、存储介质专利的具体信息内容。

1.一种物联网数据处理方法,其特征在于,包括:
接收物联网各终端通过不同通信协议发送的上行数据;
将每一所述上行数据转换为标准类型的归一化数据;
根据所述归一化数据的格式属性,获取所述归一化数据对应的解析规则;
根据所述解析规则,解析所述归一化数据中的有效内容,得到中间数据;
根据所述中间数据的内容属性,获取所述中间数据对应的路由规则;
若所述中间数据表征终端发送的上行数据中包含的是异常的监测信息,则确定所述中间数据的推送目标平台为数据联动平台、智慧空间平台和大数据存储平台;其中,所述大数据存储平台用于存储所述中间数据,所述智慧空间平台用于展示终端发送的上行数据中包含的监测信息,所述数据联动平台用于根据异常的监测信息触发告警或异常处理机制。
2.根据权利要求1所述的方法,其特征在于,所述根据所述解析规则,解析所述归一化数据中的有效内容,得到中间数据,包括:
利用JavaScript脚本引擎,根据所述解析规则,解析所述归一化数据中的有效内容,得到中间数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述中间数据表征终端发送的上行数据中包含的是正常的监测信息,则确定所述中间数据的推送目标平台为智慧空间平台和大数据存储平台。
4.根据权利要求1所述的方法,其特征在于,得到中间数据之后,所述方法还包括:
缓存所述中间数据;
对应地,所述根据所述中间数据的内容属性,获取所述中间数据对应的路由规则之前,所述方法还包括:
在空闲时刻获取缓存的所述中间数据。
5.根据权利要求1所述的方法,其特征在于,所述将每一所述上行数据转换为标准类型的归一化数据之后,所述方法还包括:
判断所述归一化数据是否为异常数据;
对应地,根据所述归一化数据的格式属性,获取所述归一化数据对应的解析规则,包括:
当所述归一化数据不是异常数据时,根据所述归一化数据的格式属性,获取所述归一化数据对应的解析规则。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
接收终端控制装置发送的待下发数据;
确定所述待下发数据对应的下发通信协议;
将所述待下发数据转换为符合所述下发通信协议规范的下行数据。
7.根据权利要求6所述的方法,其特征在于,确定所述待下发数据对应的下发通信协议之前,所述方法还包括:
判断所述待下发数据是否为异常数据;
对应地,确定所述待下发数据对应的下发通信协议,包括:
当所述待下发数据不是异常数据时,确定所述待下发数据对应的下发通信协议。
8.一种物联网数据处理装置,其特征在于,包括:
上行数据接收模,用于接收物联网各终端通过不同通信协议发送的上行数据;
类型转换模块,用于将每一所述上行数据转换为标准类型的归一化数据;
解析规则获取单元,用于根据所述归一化数据的格式属性,获取所述归一化数据对应的解析规则;
数据解析单元,用于根据所述解析规则,解析所述归一化数据中的有效内容,得到中间数据;
路由规则获取子单元,用于根据所述中间数据的内容属性,获取所述中间数据对应的路由规则;
推送平台确定子单元,用于若所述中间数据表征终端发送的上行数据中包含的是正常的监测信息,则确定所述中间数据的推送目标平台为智慧空间平台和大数据存储平台。
9.一种物联网数据处理设备,其特征在于,所述设备包括:存储器、处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1至7中任一项提供的物联网数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述权利要求1至7中任一项提供的物联网数据处理方法中的步骤。

说明书全文

一种物联网数据处理方法及装置、设备、存储介质

技术领域

[0001] 本申请实施例涉及无线通信领域,涉及但不限于一种物联网数据处理方法及装置、设备、存储介质。

背景技术

[0002] 物联网(the Internet Of Things,IOT)是通过射频识别、红外感应器、全球定位系统、激光扫描器等具备信息传感功能的终端,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。
[0003] 通常,物联网中存在一个物联网管理系统,用于对物联网中各种终端采集的声、光、热、电、学、化学、生物位置等各种需要的信息进行统一的分析、存储、分发等处理。
[0004] 物联网中,各种终端的生产厂家不同,导致各个终端采用的通信协议不可能完全相同。因此,需要一种物联网数据处理方法,使得物联网管理系统可以统一处理对应于不同终端的数据,从而提高物联网管理系统的兼容性。发明内容
[0005] 有鉴于此,本申请实施例为解决现有技术中存在的至少一个问题而提供一种物联网数据处理方法及装置、设备、存储介质。
[0006] 本申请实施例的技术方案是这样实现的:
[0007] 第一方面,本申请实施例提供一种物联网数据处理方法,所述方法包括:
[0008] 接收物联网各终端通过不同通信协议发送的上行数据;
[0009] 将每一所述上行数据转换为标准类型的归一化数据;
[0010] 根据所述归一化数据中的有效内容,确定所述归一化数据的推送目标平台。
[0011] 第二方面,本申请实施例提供一种物联网数据处理装置,所述装置包括:
[0012] 上行数据接收模,用于接收物联网各终端通过不同通信协议发送的上行数据;
[0013] 类型转换模块,用于将每一所述上行数据转换为标准类型的归一化数据;
[0014] 数据推送模块,用于根据所述归一化数据中的有效内容,确定所述归一化数据的推送目标平台。
[0015] 第三方面,本申请实施例提供一种物联网数据处理设备,所述设备包括:存储器、处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述物联网数据处理方法。
[0016] 第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述物联网数据处理方法。
[0017] 本申请实施例中,将上行数据转换为标准类型的归一化数据,使得上行数据的通信协议的差异不会对后续的数据处理造成影响。此外,如果物联网中新增了采用其他通信协议的终端,只需要针对新的通信协议增加相关的归一化处理策略,而不需要对后续的数据处理进行对应的更新和调整,可以减少协议维护及开发的难度,提升物联网的通信协议可扩展性。附图说明
[0018] 图1为本申请实施例中物联网数据处理方法的实现流程示意图;
[0019] 图2为本申请实施例中物联网管理系统的组成结构示意图;
[0020] 图3为本申请实施例中数据解析服务的实现流程示意图;
[0021] 图4为本申请实施例中物联网数据处理装置的组成结构示意图;
[0022] 图5为本申请实施例中物联网数据处理设备的一种硬件实体示意图。

具体实施方式

[0023] 下面结合附图和实施例对本申请的技术方案进一步详细阐述。
[0024] 实施例一
[0025] 本申请实施例提供一种物联网数据处理方法,如图1所示,该物联网数据处理方法包括:
[0026] S110,接收物联网各终端通过不同通信协议发送的上行数据;
[0027] 这里,本申请实施例的物联网数据处理方法应用于物联网管理系统,该物联网管理系统用于对物联网中各种终端采集的声、光、热、电、力学、化学、生物、位置等各种需要的信息进行统一的分析、存储、分发等处理。
[0028] 物联网中包括射频识别、红外感应器、全球定位系统、激光扫描器等具备信息传感功能的各种终端,这些终端由不同的厂家生产,与物联网管理系统之间采用不同的通信协议进行通信。
[0029] 这里,终端和物联网管理系统之间采用的通信协议可以是HTTP(HyperText Transfer Protocol,超文本传输协议)、MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)、TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)、websocket(基于TCP的全双工通信协议)、CoAP(the Constrained Application Protocol,受限应用协议)等。
[0030] 为了实现对各种通信协议的兼容,本申请实施例中的物联网管理系统包括接入管理平台。接入管理平台是物联网管理系统与物联网各终端之间的统一通信接口,用于统一接收物联网各终端通过不同通信协议发送的上行数据。本领域技术人员可以理解,当物联网管理系统需要向物联网中各终端发送下行数据时,也是通过接入管理平台这一统一通信接口
[0031] S110中,物联网中的各个终端采用自身对应的通信协议将上行数据发送给物联网管理系统后,物联网管理系统中的接入管理平台接收该上行数据。
[0032] S120,将每一所述上行数据转换为标准类型的归一化数据;
[0033] 这里,标准类型是物联网管理系统中定义的数据类型,是采用不同通信协议进行传输的上行数据的归一化标准。用户可以根据需求对标准类型对应的报文格式进行设置。S120对应的上行数据的归一化处理过程也发生在物联网管理系统的接入管理平台中。
[0034] S120中,物联网管理系统的接入管理平台通过将每一上行数据进行数据转换,使得到的标准类型的归一化数据具有相同的报文格式,以消除不同通信协议的上行数据之间的报文格式差距,方便后续的数据处理。
[0035] 本领域技术人员可以理解,每种通信协议都定义了自身的报文格式。比如,MQTT协议的报文格式中包括固定头部、可变头部和消息载体。固定头部的首字节用于表示MQTT消息的报文类型以及某些类型的控制标记。可变头部位于固定头部和消息载体之间,其内容根据报文类型的不同而存在差异。有些报文类型包含可变头部,比如PUBLISH(发布报文),SUBSCRIBE(终端订阅请求报文),CONNECT(连接报文)等。消息载体用于承载消息内容,有些报文类型中不包括消息载体部分,比如CONNACK(连接确认报文)、PUBACK(发布确认报文)、PINGREQ(终端发送的心跳报文)等。
[0036] 在一些实施例中,为了方便后续的数据处理,可以设定标准类型的报文格式包括两个部分:
[0037] 第一部分是从不同协议的报文头中获取的相关信息,可以包括报文类型、发送该上行数据的终端的ID、报文的发送时间等。其中,报文类型可以包括心跳数据、确认数据、唤醒数据、监测数据等。心跳数据类似MQTT协议中的心跳报文,物联网管理系统和终端之间传输的心跳报文用于确认终端的网络连接没有断开。确认数据类似MQTT协议中的各种确认报文,由物联网管理系统发送给终端,用于对终端的请求进行回应。唤醒数据用于物联网管理系统远程唤醒休眠或睡眠的终端。监测数据用于表征终端的运行状态。
[0038] 第二部分是从不同协议的报文头中获取的数据主体。对于心跳数据、确认数据等类型的上行数据,其可能不包括消息载体部分。在这种情况下,该上行数据对应的归一化数据中,数据主体部分记为空或无数据。对于其他类型的上行数据,直接将消息载体承载的消息内容进行复制,得到数据主体。
[0039] 本申请实施例中,在对上行数据的数据主体进行处理之前先将上行数据转换为标准类型的归一化数据,使得上行数据的通信协议的差异不会对后续的数据处理造成影响。此外,如果物联网中新增了采用其他通信协议的终端,只需要对在S120中针对新的通信协议增加相关的归一化处理策略,而不需要对后续的数据处理进行对应的更新和调整,可以减少协议维护及开发的难度,提升物联网的通信协议可扩展性。
[0040] S130,根据所述归一化数据中的有效内容,确定所述归一化数据的推送目标平台。
[0041] 这里,归一化数据中的有效内容即为上行数据转换为标准类型的归一化数据之后,该归一化数据的数据主体部分。根据上行数据采用的不同的通信协议,数据主体可能是报文主体中的data(数据)部分,body(主体)部分,或者如上文MQTT协议中所述的消息载体(payload)部分转换得到的。
[0042] 根据上行数据的报文类型不同,该归一化数据中的有效内容可能为空,或者包含了终端的运行状态。
[0043] 通常,物联网管理系统的自动化功能中,包括对各个终端上传的数据进行分析、展示和处理的功能。
[0044] 比如,某一小区中,每个楼栋的每个楼层都设置有数个声控灯,每个声控灯都以一定的周期上报自身的功率消耗情况。那么,物联网管理系统就可以对各个声控灯上报的功率消耗情况进行汇总,对每个楼栋的声控灯耗电量进行展示,或者对每个楼栋中各个楼层的耗电量进行展示。
[0045] 正常情况下,同一楼栋的同一楼层中,位置相近的声控灯每天的功率消耗情况应该是相似的。那么,物联网管理系统就可以筛选出功率消耗量与其他声控灯相差超过一定阈值的声控灯,提醒用户对这些声控灯进行现场的故障排查,以判断是否有维修必要。
[0046] 由此可见,终端发送到物联网管理系统的上行数据中,有的需要进行汇总分析后向用户展示,有的需要经过异常判断之后触发告警机制或故障检修机制。对此,本申请实施例的物联网管理系统中,设置了不同的业务平台来实现这些不同的功能。
[0047] 相应地,归一化数据需要被分发到不同的业务平台进行有针对性的处理。归一化数据对应的业务平台即为该归一化数据的推送目标平台。为了根据有效内容对归一化数据进行分发,物联网管理系统中包括数据推送平台。该数据推送平台执行S130的步骤,也就是根据归一化数据中的有效内容,确定归一化数据的推送目标平台。
[0048] 实施例二
[0049] 本申请实施例提供一种物联网数据处理方法,该物联网数据处理方法包括:
[0050] S210,接收物联网各终端通过不同通信协议发送的上行数据;
[0051] S220,将每一所述上行数据转换为标准类型的归一化数据;
[0052] S230,根据所述归一化数据的格式属性,获取所述归一化数据对应的解析规则;
[0053] S240,根据所述解析规则,解析所述归一化数据中的有效内容,得到中间数据;
[0054] S250,确定所述中间数据对应的推送目标平台。
[0055] 这里,与实施例一中相同,物联网管理系统中的接入管理平台执行S210和S220。接入管理平台执行S220完毕,将得到的归一化数据发送到物联网管理系统中的解析管理平台。解析管理平台执行S230和S240,将归一化数据解析为中间数据,并将中间数据发送到物联网管理系统中的数据推送平台。数据推送平台接收中间数据之后,与实施例一中相同,执行S250,确定中间数据对应的推送目标平台。
[0056] 物联网中包括各种类型的终端,比如烟雾探测器、智能表、智能电表、温湿度传感器等。这些终端采集的信息不同,发送的上行数据中包括的监测物理量(即有效内容)也不同。比如烟雾探测器主要监测的是烟雾的浓度,而智能水表、智能电表、温湿度传感器等终端发送的上行数据中一般不包括烟雾的浓度。也就是说,不同类型的终端发送的上行数据中包括的信息种类不同。
[0057] 此外,由于生产厂家的区别,或者同一厂家生产的终端中软件系统版本的区别,相同类型的终端发送的上行数据中,虽然包括的信息种类大致相同,但是信息种类的排列顺序可能不同。比如,A厂家生产的烟雾传感器发送的上行数据中,信息种类的排列顺序为时间、终端位置、烟雾浓度;B厂家生产的烟雾传感器发送的上行数据中,信息种类的排列顺序为时间、烟雾浓度、终端位置。
[0058] 因此,对于不同类型、不同厂家或不同版本的终端,需要利用不同的解析规则来提取各终端发送的上行数据中的有效内容,以方便后续数据的统一处理。
[0059] 本申请实施例中,将终端发送的上行数据中包括的信息种类、和信息种类的排列顺序定义为格式属性。
[0060] 终端发送的上行数据被转换为标准类型的归一化数据后,虽然去除了通信协议的报文格式之间的差别,但是数据主体部分并没有变动。因此,上行数据中信息种类的区别也体现为归一化数据中信息种类的区别。也就是说,上行数据的格式属性差异也体现为归一化数据的格式属性差异。
[0061] 基于此,S230中,解析管理平台接收到归一化数据之后,先判断该归一化数据的格式属性,再根据该格式属性获取对应的解析规则。
[0062] 在一些实施例中,解析管理平台可以根据终端型号和终端中的软件系统版本号来确定格式属性。对应地,物联网管理系统中可以设置基础服务平台,来存储终端ID(Identity Document,身份标识号)与其对应的终端型号和终端中的软件系统版本号。终端ID是物联网管理系统为终端分配的标识符,每个终端都有唯一的标识符。
[0063] 这样,当某一终端进行软件版本更新时,可以通过更新基础服务平台中的终端信息来更新该终端对应的软件系统版本号。当某一终端进行了维修替换时,也可以对应删除基础服务平台中该终端的历史终端信息,替换为新的终端对应的终端信息。
[0064] 如此,解析管理平台就可以根据发送该上行数据的终端ID查询其对应的终端型号和终端中的软件系统版本号,确定该上行数据转换为的归一化数据对应的格式属性和解析规则。
[0065] S240中,解析管理平台获取了归一化数据对应的解析规则后,根据该解析规则解析归一化数据中的有效内容,得到中间数据。
[0066] 这里,解析规则与归一化数据的格式属性相对应,解析管理平台根据解析规则的指引,将归一化数据转换为中间数据,使得各终端对应的中间数据最终具有相同的格式属性。比如,对于土壤湿度传感器,如果某一归一化数据中记载的信息为:“时间:12:03 土壤含水量:72% 终端编号:N1052W1051”;另一归一化数据中记载的信息为:“时间:12:01 终端编号:N4022W4071 土壤含水量:70%”。
[0067] 为了方便后续对中间数据进行统一处理,解析管理平台分别根据两条不同的归一化数据各自对应的解析规则,将归一化数据转换为格式属性相同的中间数据:“时间:12:03 土壤含水量:72% 终端编号:N1052W1051”;和“时间:12:01 土壤含水量:70% 终端编号:N4022W4071”。
[0068] 在一些实施例中,S240包括:利用JavaScript脚本引擎,根据所述解析规则,解析所述归一化数据中的有效内容,得到中间数据。
[0069] 这里,JavaScript脚本引擎是连接Java平台和其他脚本语言的桥梁。JavaScript脚本引擎通过提供一套固定的接口使得Java应用程序可以与各种脚本引擎交互,从而达到在Java平台上调用各种脚本语言的目的。
[0070] JavaScript脚本引擎具备动态编译功能。物联网中终端的数量庞大,因此会频繁出现终端的维修替换和软件版本升级等现象。而终端的维修替换和软件版本升级必然对应着解析规则的更新和替换,使用JavaScript脚本引擎使得物联网管理系统可以在线对解析规则的更新和替换,而不需要对物联网管理系统进行重启,可以提高物联网管理系统的运行效率。
[0071] S250中,数据推送平台接收中间数据之后,确定中间数据对应的推送目标平台。
[0072] 在一些实施例中,S250包括:
[0073] S250a,根据所述中间数据的内容属性,获取所述中间数据对应的路由规则;
[0074] S250b,基于所述路由规则,确定所述中间数据的推送目标平台。
[0075] 这里,中间数据的内容属性决定了物联网管理系统需要对该中间数据进行何种后续处理,不同的后续处理对应了不同的推送目标平台。
[0076] 路由规则与中间数据的内容属性相对应,用于指示数据推送平台将何种中间数据推送到何种推送目标平台。比如,如果一条中间数据记载的是土壤含水量,则数据推送平台确定该中间数据的内容属性为土壤含水量。随后,数据推送平台获取与土壤含水量相关的路由规则。这些路由规则可能是:
[0077] 第一,如果中间数据中包括土壤含水量的具体数值,将该中间数据发送到用于显示终端的监测数据的业务平台。
[0078] 第二,如果土壤含水量低于一定阈值,将该中间数据发送到可执行异常处理机制的业务平台。
[0079] 第三,将该中间数据发送到用于储存数据的业务平台。
[0080] 上述路由规则中,用于显示终端的监测数据的业务平台、可执行异常处理机制的业务平台和用于储存数据的业务平台即为可能的推送目标平台。数据推送平台根据中间数据中包含的信息,逐一与上述路由规则相对照,从而决定应该将该中间数据发送到哪一个推送目标平台。
[0081] 本申请实施例中,通过路由规则来确定中间数据与推送目标平台的对应关系,通过增加新的路由规则就可以提供新的对应关系,进而提供各种复杂的网络推送路径,满足各种业务推送需求。
[0082] 在一些实施例中,所述推送目标平台为数据联动平台、智慧空间平台或大数据存储平台,所述大数据存储平台用于存储所述中间数据,所述智慧空间平台用于展示终端采集的信息,所述数据联动平台用于根据终端采集的异常信息触发告警或异常处理机制。
[0083] S250b包括:若所述中间数据表征对应的终端采集的信息不存在异常,则确定所述中间数据的推送目标平台为智慧空间平台和大数据存储平台;若所述中间数据表征对应的终端采集的信息为异常信息,则确定所述中间数据的推送目标平台为数据联动平台、智慧空间平台和大数据存储平台。
[0084] 这里,根据终端的种类,终端采集的信息可能是温度、湿度、电流电压、烟雾浓度等。物联网管理系统通过终端采集周围环境或者被监控设备中相应的物理量,来对环境状况或被监控设备的运行状态进行监控,使终端周围的环境参数维持在合理的区间,或者使被监控设备运行在合理的状态。
[0085] 大数据存储平台用于存储中间数据。在一些实施例中,大数据存储平台还对中间数据进行统计分析。
[0086] 智慧空间平台用于对中间数据中包含的信息(也即终端采集的信息)进行展示。在一些实施例中,智慧空间平台可以根据用户选择的模式对终端采集的信息进行展示。比如,用户可以选择展示某一特定时间段内,某个区域的用水情况或用电情况。或者,用户可以选择展示某一特定时间段内,数个区域的用水情况的横向比较。
[0087] 数据联动平台用于根据终端采集的异常信息触发告警或异常处理机制。比如,在一个蔬菜大棚中,如果大棚中同一区域内大部分土壤湿度传感器采集的土壤含水量都低于某一阈值,则数据联动平台触发对应区域的喷头进行自动灌溉。如果大棚中同一区域内只有一个土壤湿度传感器采集的土壤含水量明显低于阈值,而附近的其他土壤湿度传感器采集的土壤含水量都在正常范围内,则数据联动平台向用户发送信息,提示用户到现场对该土壤湿度传感器进行故障排查。
[0088] 数据推送平台接收到中间数据后,对中间数据中包含的信息进行正常与否的判断。
[0089] 如果判断得出中间数据表征对应的终端采集的信息不存在异常,则物联网管理系统只需要对中间数据进行展示和存储。基于此,数据推送平台将该中间数据发送到智慧空间平台进行处理后实现信息的展示,并将该中间数据发送到大数据存储平台实现信息的存储。
[0090] 如果判断得出中间数据表征对应的终端采集的信息存在异常,则物联网管理系统除了需要对中间数据进行展示和存储,还需要触发对应的告警或异常处理机制,提醒用户注意该异常,或者触发自动的异常处理机制消除该异常状况。基于此,数据推送平台将该中间数据发送到智慧空间平台进行处理后实现信息的展示,并将该中间数据发送到大数据存储平台实现信息的存储,还将该中间数据发送到数据联动平台以提醒用户注意,或者触发异常处理机制。
[0091] 在一些实施例中,所述方法还包括:缓存所述中间数据。对应地,S250包括:在空闲时刻获取缓存的所述中间数据,确定所述中间数据对应的推送目标平台。
[0092] 这里,解析管理平台将归一化数据转换为中间数据后,将该中间数据发送到数据缓存平台。数据缓存平台将该中间数据进行缓存。数据推送平台在空闲时刻从数据缓存平台获取被缓存的中间数据,再确定该中间数据对应的推送目标平台。
[0093] 通过引入中间数据的缓存机制,使得数据推送平台可以根据自身的数据处理能力来获取中间数据,进而对中间数据进行处理。这样,可以解决高并发量数据的堆积问题,防止当物联网中的终端在同一时段大规模发送上行数据,导致中间数据的数量超出数据推送平台的数据处理能力,造成数据丢失。
[0094] 在一些实施例中,也可以在物联网管理系统中设置一个中心控制平台。中心控制平台确定数据推送平台处于空闲时刻时,触发数据推送平台从数据缓存平台获取数据。
[0095] 基于这种缓存机制,同样可以解决高并发量数据的堆积问题,防止当物联网中的终端在同一时段大规模发送上行数据,导致中间数据的数量超出数据推送平台的数据处理能力,造成数据丢失。
[0096] 在一些实施例中,所述方法还包括:
[0097] S250,接收终端控制装置发送的待下发数据;
[0098] S260,确定所述待下发数据对应的下发通信协议;
[0099] S270,将所述待下发数据转换为符合所述下发通信协议规范的下行数据。
[0100] 这里,待下发数据是用户发送的终端控制指令,物联网管理系统接收到终端控制指令之后,对该终端控制指令进行处理,并采用对应的通信协议将该终端控制指令发送到对应的终端。比如,用户可以通过物联网管理系统,向某个自动喷淋装置发送开始浇水的指令。物联网管理系统接收到用户发送的终端控制指令,也就是待下发数据之后,根据该自动喷淋装置采用的通信协议,将该待下发数据转换为满足该通信协议规范的下行数据。然后就可以将该下行数据发送给用户希望控制的自动喷淋装置,实现对终端的远程控制。
[0101] S250中,用户通过终端控制装置向物联网管理系统发送待下发数据。在一些实施例中,终端控制装置可以是用户携带的移动终端,或者是用户的个人电脑或其他电子设备。
[0102] 物联网管理系统中,接收待下发数据的平台为OPEN API(OPEN Application Programming Interface,开放的应用程序编程接口)平台。用户可以通过终端控制装置向OPEN API平台发送数据。通过OPEN API平台接收到待下发数据之后,物联网管理系统对该待下发数据进行处理,并通过接入管理平台将待下发数据发送到对应的终端。
[0103] 如前文所述,物联网中不同的终端一般会采用自身对应的通信协议来与物联网管理系统进行数据的传输。因此,为了使得终端能够成功接收到该待下发数据,接入管理平台需要采用该终端对应的通信协议来发送待下发数据。
[0104] 基于此,S260和S270中,物联网管理系统的接入管理平台根据待下发数据中的相关信息确定其对应的下发通信协议,并将待下发数据转换为符合该下发通信协议规范的下行数据。
[0105] 在一些实施例中,用户向OPEN API平台发送的待下发数据中包括了接收该待下发数据的终端的信息。比如,用户希望向某一个终端发送一个控制指令。那么,用户会在待下发数据中指定该终端的ID。
[0106] 这样,接入管理平台就可以根据终端的信息获取该终端对应的通信协议,该通信协议即为S260中所指的“待下发数据对应的下发通信协议”。
[0107] 然后,在S270中,接入管理平台将待下发数据转换为符合该下发通信协议规范的下行数据,就可以利用相应的通信接口将该下行数据发送到对应的终端。
[0108] 在一些实施例中,S260之前,所述方法还包括:判断所述待下发数据是否为异常数据。对应地,S260包括:当所述待下发数据不是异常数据时,确定所述待下发数据对应的下发通信协议。
[0109] 这里,OPEN API平台接收到待下发数据之后,先判断待下发数据是否为异常数据。OPEN API平台确定待下发数据不是异常数据后,才将该待下发数据发送到别的平台进行后续处理。对应地,S260中,当待下发数据不是异常数据时,接入管理平台才根据通信协议的要求对待下发数据进行转换。
[0110] 在一些实施例中,OPEN API平台判断待下发数据是否为异常数据,包括:
[0111] 第一,OPEN API平台对待下发数据对应的终端控制装置进行鉴权,如果终端控制装置没有物联网管理系统的访问权限,则OPEN API平台确定待下发数据为异常数据。
[0112] 一方面,没有访问权限的终端控制装置向物联网管理系统发送数据,可能是一种恶意的攻击行为。OPEN API平台通过对终端控制进行鉴权,可以直接过滤没有访问权限的终端控制装置发送的待下发数据,实现对物联网管理系统的保护。
[0113] 另一方面,没有访问权限的终端控制装置向物联网管理系统发送数据,可能单纯是用户的错误操作。OPEN API平台通过对终端控制进行鉴权,可以避免物联网管理系统对用户的错误操作生成的无效数据进行处理,避免对物联网管理系统的资源浪费。
[0114] 第二,OPEN API平台判断该待下发数据是否为恶意攻击数据。
[0115] 一般而言,对物联网管理系统的攻击行为除了第一点中列举的,借助没有访问权限的终端控制装置向物联网管理系统发送数据,还可以借助物联网管理系统中合法的终端控制装置,以过高的频率密集向物联网管理系统发送数据。这样,会造成物联网管理系统严重的资源浪费,使得物联网管理系统无法处理其他的正常数据,导致系统瘫痪。
[0116] 这里,OPEN API平台判断该待下发数据是否为恶意攻击数据。如果是恶意攻击数据,则OPEN API平台确定待下发数据为异常数据。
[0117] 在一些实施例中,如果一段时间内,某个终端控制装置密集向物联网管理系统发送待下发数据,那么这些待下发数据可能是恶意攻击数据。
[0118] 在其他实施例中,如果一段时间内,某一区域内的终端控制装置集体向物联网管理系统大量发送不包含实际控制指令的待下发数据,那么这些待下发数据也可能是恶意攻击数据。
[0119] 第三,OPEN API平台判断该待下发数据对应的终端控制装置在设定时间段内向对应终端发送的数据量是否超出阈值。
[0120] 这里,对于有访问权限的正常的终端控制装置,物联网管理系统也可以设置该终端控制装置对特定终端的控制指令发送频率。这样,可以避免用户频繁改动物联网中终端的运行状态,造成终端的功率浪费,延长终端的待机时间。
[0121] 实施例三
[0122] 本申请实施例提供一种物联网数据处理方法,该方法包括:
[0123] S310,接收物联网各终端通过不同通信协议发送的上行数据;
[0124] S320,将每一所述上行数据转换为标准类型的归一化数据;
[0125] S330,判断所述归一化数据是否为异常数据;
[0126] S340,当所述归一化数据不是异常数据时,根据所述归一化数据中的有效内容,确定所述归一化数据的推送目标平台。
[0127] 这里,物联网管理系统的接入管理平台将上行数据转换为归一化数据之后,判断归一化数据是否为异常数据。只有确定归一化数据不是异常数据时,接入管理平台才将归一化数据发送到其他平台进行后续处理。比如,接入管理平台将归一化数据发送到数据推送平台,确定归一化数据对应的推送目标平台。
[0128] S330中,接入管理平台判断归一化数据是否为异常数据,包括:接入管理平台判断该归一化数据是否为恶意攻击数据。
[0129] 通常,对物联网管理系统进行攻击时,会通过控制物联网中的终端,使这些终端集中在相同的时段向物联网管理系统大规模发送数据。这样,会造成物联网管理系统严重的资源浪费,使得物联网管理系统无法处理其他的正常数据,导致系统瘫痪。
[0130] 这里,接入管理平台判断该归一化数据是否为恶意攻击数据。如果是恶意攻击数据,则接入管理平台确定该归一化数据为异常数据,进而不将该归一化数据发送到物联网管理系统的其他平台,保障物联网管理系统的安全运行。
[0131] 实施例四
[0132] 本申请实施例提供一种物联网数据处理方法,该方法应用于物联网管理系统。如图2所示,该物联网管理系统包括接入管理平台210、OPEN API平台220、解析管理平台230、数据缓存平台240、数据推送平台250、基础服务平台260、数据联动平台270、智慧空间平台280和大数据存储平台290,其中:
[0133] 接入管理平台210用于接收物联网各终端通过不同通信协议发送的上行数据,并将上行数据转换为标准类型的归一化数据;接入管理平台210还用于接收解析管理平台230发送的待下发数据。
[0134] 为了实现上述功能,在一些实施例中,接入管理平台210包括各种通信接口、第一数据校验模块211、第一数据转换模块212、第一数据处理模块213、第一数据接入模块214和日志管理模块215。
[0135] 各种通信接口用于与采用各种通信协议的终端进行通信。在一些实施例中,通信接口可以是HTTP接口、MQTT接口、TCP/IP接口、websocket接口或CoAP接口。通信接口接收终端发送的上行数据并发送给第一数据校验模块211和日志管理模块215。通信接口还接收第一数据转换模块212发送的下行数据,并将下行数据发送给对应的终端。
[0136] 第一数据校验模块211用于校验上行数据的完整性。通常,数据在传输的过程中,会受到各种干扰的影响,使数据产生差错。第一数据校验模块211可以检测出上行数据在传输过程中产生的差错,并对产生了差错的上行数据进行纠错。第一数据校验模块211对上行数据进行校验和纠错之后,将上行数据发送到第一数据转换模块212。
[0137] 第一数据转换模块212用于将终端通过不同通信协议发送的上行数据转换为标准类型的归一化数据,并将归一化数据发送到第一数据处理模块213。第一数据转换模块212还用于将第一数据接入模块214发送的待下发数据转换为符合下发通信协议规范的下行数据,并将下行数据发送到对应的通信接口。
[0138] 第一数据处理模块213用于判断归一化数据是否为异常数据。如果归一化数据不是异常数据,第一数据处理模块213就将归一化数据发送到解析管理平台230。
[0139] 第一数据接入模块214用于接收解析管理平台230发送的待下发数据,并将待下发数据发送到第一数据转换模块212。
[0140] 日志管理模块215接收通信接口发送的上行数据,并将上行数据作为日志信息进行存储。
[0141] OPEN API平台220用于接收用户通过终端控制装置发送的待下发数据,并将待下发数据进行异常数据过滤后发送到解析管理平台230。
[0142] 为了实现上述功能,在一些实施例中,OPEN API平台220包括访问权限模块221、数据安全模块222和限流控制模块223。
[0143] 访问权限模块221用于对待下发数据对应的终端控制装置进行鉴权,如果终端控制装置没有物联网管理系统的访问权限,则访问权限模块221确定待下发数据为异常数据。
[0144] 数据安全模块222用于判断该待下发数据是否为恶意攻击数据。
[0145] 限流控制模块223用于判断该待下发数据对应的终端控制装置在设定时间段内向对应终端发送的数据量是否超出阈值。
[0146] 如果访问权限模块221、数据安全模块222或限流控制模块223确定待下发数据不是异常数据,则OPEN API平台220将待下发数据发送到解析管理平台230。
[0147] 如果访问权限模块221、数据安全模块222或限流控制模块223确定待下发数据是异常数据,则OPEN API平台220将待下发数据丢弃。
[0148] 解析管理平台230用于对归一化数据进行格式转化,使得不同终端发送的上行数据中的数据主体的格式属性能够得到统一。解析管理平台230还用于对待下发数据进行格式转换,对待下发数据的内容进行格式上的调整,使得用户发送的待下发数据能够被终端正确地解析。
[0149] 为了实现上述功能,在一些实施例中,解析管理平台230包括第二数据接入模块231、数据清洗模块232、第二数据校验模块233、第二数据转换模块234、数据解析模块235和第二数据处理模块236。
[0150] 第二数据接入模块231用于接收接入管理平台210发送的归一化数据和OPEN API平台220发送的待下发数据,并将归一化数据和待下发数据发送到数据清洗模块232。
[0151] 数据清洗模块232和第二数据校验模块233用于发现并纠正归一化数据和待下发数据中可识别的错误,并将纠错后的归一化数据和待下发数据发送到第二数据转换模块234。
[0152] 第二数据转换模块234用于对归一化数据和待下发数据进行数据格式转换。终端发送的上行数据和用户发送的待下发数据的数据主体中,采用的可能是JSON、CSV、txt或者其他格式。第二数据转换模块234将归一化数据的数据主体转换为统一的数据格式,并发送给数据解析模块235。第二数据转换模块234还将待下发数据的数据主体转换为对应终端要求的数据格式,发送给数据解析模块235。
[0153] 数据解析模块235接收归一化数据或待下发数据后,对其进行格式属性的转换,并将处理后的数据发送到第二数据处理模块236。对于归一化数据,数据解析模块235根据相应的解析规则将归一化数据转换为中间数据,并将中间数据发送到第二数据处理模块236。对于待下发数据,数据解析模块235根据相应的解析规则将待下发数据的格式属性转换为对应的终端能够处理的格式属性,再将得到的数据发送到第二数据处理模块236。
[0154] 本申请实施例中,将终端发送的上行数据中包括的信息种类、和信息种类的排列顺序定义为格式属性。格式属性也是物联网管理系统向终端发送的下行数据的数据主体需要满足的格式要求。
[0155] 第二数据处理模块236接收到数据解析模块235发送的数据之后,判断该数据是中间数据还是待下发数据,然后将中间数据发送到数据缓存平台240,将待下发数据发送到接入管理平台210。
[0156] 数据缓存平台240采用KAFKA存储机制或数据库存储机制来对接收到的中间数据进行缓存。
[0157] 数据推送平台250用于根据中间数据的内容属性,获取中间数据对应的路由规则,并基于路由规则确定中间数据的推送目标平台。
[0158] 为了实现上述功能,在一些实施例中,数据推送平台250包括第三数据接入模块251、第一规则获取模块252、规则引擎模块253、推送路由模块254、推送策略模块255和推送处理模块256。
[0159] 第三数据接入模块251用于在数据推送平台250中的其他模块处于空闲状态时,从数据缓存平台240中获取中间数据,并将获取的中间数据发送给第一规则获取模块252。
[0160] 第一规则获取模块252根据中间数据的内容属性,获取中间数据对应的路由规则,并将中间数据和对应的路由规则发送给规则引擎模块253。
[0161] 规则引擎模块253基于每条路由规则对中间数据进行判断,确定该中间数据触发的事件,基于触发的事件确定对应的推送目标平台,并将中间数据和确定的推送目标平台发送给推送路由模块254和推送策略模块255。
[0162] 推送路由模块254根据中间数据和确定的推送目标平台确定中间数据到对应的推送目标平台的路径,推送策略模块255根据中间数据和确定的推送目标平台确定中间数据到对应的推送目标平台的推送策略。
[0163] 在一些实施例中,中间数据到对应的推送目标平台的路径包括数据推送平台与推送目标平台之间的网关等,中间数据到对应的推送目标平台的推送策略包括单独推送、成组推送、实时推送、定时推送等。
[0164] 推送处理模块256用于根据推送路由模块254和推送策略模块255确定的路径和推送策略,将中间数据发送到对应的推送目标平台,从而实现对中间数据的分发处理。
[0165] 在一些实施例中,基础服务平台260包括终端管理模块261、配置管理模块262和解析管理模块263,用于为接入管理平台210、OPEN API平台220、解析管理平台230、数据缓存平台240、数据推送平台250等提供必要的信息。
[0166] 终端管理模块261中存储终端相关的信息。在一些实施例中,终端管理模块261中包括终端的ID、终端型号和终端中的软件系统版本号等。配置管理模块262中包括终端的配置信息。解析管理模块263中包括解析管理平台230中需要用到的解析规则。
[0167] 数据联动平台270用于根据终端采集的异常信息触发告警或异常处理机制。比如,在一个蔬菜大棚中,如果大棚中同一区域内大部分土壤湿度传感器采集的土壤含水量都低于某一阈值,则数据联动平台270触发对应区域的喷头进行自动灌溉。如果大棚中同一区域内只有一个土壤湿度传感器采集的土壤含水量明显低于阈值,而附近的其他土壤湿度传感器采集的土壤含水量都在正常范围内,则数据联动平台270向用户发送信息,提示用户到现场对该土壤湿度传感器进行故障排查。
[0168] 为了实现上述功能,在一些实施例中,数据联动平台270包括第四数据接入模块271、第二规则获取模块272、规则判断模块273和处理策略模块274。
[0169] 第四数据接入模块271用于接收数据推送平台250发送的中间数据并将中间数据发送到第二规则获取模块272。
[0170] 第二规则获取模块272根据中间数据的内容属性获取对应的数据联动规则,并将中间数据和数据联动规则一起发送到规则判断模块273。
[0171] 规则判断模块273根据数据联动规则对中间数据进行判断,确定异常状况的处理方式,包括向用户发送告警信息,或者向对应的终端发送控制信息来触发相应的异常处理机制。
[0172] 处理策略模块274用于执行规则判断模块273确定的异常状况的处理方式。在一些实施例中,处理策略模块274确定与对应用户的通信方式、需要控制的终端列表、对应终端采用的通信协议、需要发送的控制指令等,并将确定的信息发送到对应的接收端。
[0173] 智慧空间平台280用于对中间数据中包含的信息(也即终端采集的信息)进行展示。在一些实施例中,智慧空间平台280可以根据用户选择的模式对终端采集的信息进行展示。比如,用户可以选择展示某一特定时间段内,某个区域的用水情况或用电情况。或者,用户可以选择展示某一特定时间段内,数个区域的用水情况的横向比较。
[0174] 在一些实施例中,智慧空间平台280包括第一数据存储模块281。
[0175] 智慧空间平台280接收到中间数据后,将中间数据存储在第一数据存储模块281。需要对一定时间段内的中间数据进行分析时,智慧空间平台280的其他数据处理模块从第一数据存储模块281中获取存储的历史数据作为数据分析的信息。
[0176] 大数据存储平台290包括第二数据存储模块291,用于存储中间数据。在一些实施例中,大数据存储平台290还对中间数据进行统计分析。
[0177] 基于以上平台,本申请实施例中的物联网管理系统可以实现以下功能:
[0178] 1)统一的终端管理服务,保证终端信息的可靠性及可维护性;2)统一的终端数据接入服务,解决终端数据的分散管理问题;3)统一的数据解析服务,减少协议维护及开发的难度以及协议扩展问题;4)安全高效的数据推送服务,解决高并发量数据的堆积问题,并可提供各种复杂网络的推送策略,满足各种业务推送需求;5)统一的数据安全管理,保证上下行数据安全可靠;6)提供丰富的告警联动功能,满足各种业务需求;7)大数据量的存储服务,满足海量数据需求。
[0179] 应用于上述物联网管理系统的物联网数据处理方法包括:
[0180] S401,接入管理平台210的通信接口接收物联网各终端通过不同通信协议发送的上行数据;
[0181] 这里,通信接口接收终端发送的上行数据后,将上行数据发送给第一数据校验模块211和日志管理模块215。
[0182] S402,接入管理平台210的第一数据转换模块212将每一上行数据转换为标准类型的归一化数据;
[0183] 这里,在第一数据转换模块212对上行数据进行处理之前,接入管理平台210的第一数据校验模块211先对上行数据进行校验和纠错,然后将上行数据发送到第一数据转换模块212。
[0184] 第一数据转换模块212通过将每一上行数据进行数据转换,使得到的标准类型的归一化数据具有相同的报文格式,以消除不同通信协议的上行数据之间的报文格式差距,方便后续的数据处理。
[0185] 第一数据转换模块212得到归一化数据之后,将归一化数据发送到第一数据处理模块213。
[0186] S403,接入管理平台210的第一数据处理模块213判断归一化数据是否为异常数据;
[0187] S404,当归一化数据不是异常数据时,第一数据处理模块213将归一化数据发送到解析管理平台230的第二数据接入模块231;
[0188] 第二数据接入模块231将接收到的归一化数据发送到数据清洗模块232,数据清洗模块232和第二数据校验模块233执行数据清洗和数据校验,用于发现并纠正归一化数据和待下发数据中可识别的错误,并将纠错后的归一化数据和待下发数据发送到第二数据转换模块234。
[0189] S405,解析管理平台230的数据解析模块235根据归一化数据的格式属性,获取归一化数据对应的解析规则;
[0190] 物联网中,对于不同类型、不同厂家或不同版本的终端,需要利用不同的解析规则来提取各终端发送的上行数据中的有效内容,以方便后续数据的统一处理。
[0191] 本申请实施例中,将终端发送的上行数据中包括的信息种类、和信息种类的排列顺序定义为格式属性。
[0192] 终端发送的上行数据被转换为标准类型的归一化数据后,虽然去除了通信协议的报文格式之间的差别,但是数据主体部分并没有变动。因此,上行数据中信息种类的区别也体现为归一化数据中信息种类的区别。也就是说,上行数据的格式属性差异也体现为归一化数据的格式属性差异。
[0193] 基于此,S405中,数据解析模块235接收到归一化数据之后,先判断该归一化数据的格式属性,再根据该格式属性获取对应的解析规则。
[0194] S406,解析管理平台230的数据解析模块235根据解析规则,解析归一化数据中的有效内容,得到中间数据;
[0195] 数据解析模块235获取了归一化数据对应的解析规则后,根据该解析规则解析归一化数据中的有效内容,得到中间数据。
[0196] 这里,解析规则与归一化数据的格式属性相对应,数据解析模块235根据解析规则的指引,将归一化数据转换为中间数据,使得各终端对应的中间数据最终具有相同的格式属性。
[0197] 在一些实施例中,数据解析模块235利用JavaScript脚本引擎,根据解析规则,解析归一化数据中的有效内容,得到中间数据。
[0198] JavaScript脚本引擎是连接Java平台和其他脚本语言的桥梁。JavaScript脚本引擎通过提供一套固定的接口使得Java应用程序可以与各种脚本引擎交互,从而达到在Java平台上调用各种脚本语言的目的。
[0199] JavaScript脚本引擎具备动态编译功能。物联网中终端的数量庞大,因此会频繁出现终端的维修替换和软件版本升级等现象。而终端的维修替换和软件版本升级必然对应着解析规则的更新和替换,使用JavaScript脚本引擎使得物联网管理系统可以在线对解析规则的更新和替换,而不需要对物联网管理系统进行重启,可以提高物联网管理系统的运行效率。
[0200] 数据解析模块235得到中间数据后,将中间数据发送到第二数据处理模块236,第二数据处理模块236将中间数据发送到数据缓存平台240。
[0201] S407,数据缓存平台240缓存中间数据;
[0202] 这里,数据缓存平台240采用KAFKA存储机制或数据库存储机制来对接收到的中间数据进行缓存。
[0203] S408,数据推送平台250的第三数据接入模块251在空闲时刻获取缓存的中间数据;
[0204] 这里,第三数据接入模块251在数据推送平台250中的其他模块处于空闲状态时,从数据缓存平台240中获取中间数据,并将获取的中间数据发送给第一规则获取模块252。
[0205] 通过引入中间数据的缓存机制,使得数据推送平台可以根据自身的数据处理能力来获取中间数据,进而对中间数据进行处理。这样,可以解决高并发量数据的堆积问题,防止当物联网中的终端在同一时段大规模发送上行数据,导致中间数据的数量超出数据推送平台的数据处理能力,造成数据丢失。
[0206] S409,数据推送平台250的第一规则获取模块252根据中间数据的内容属性,获取中间数据对应的路由规则;
[0207] S410,数据推送平台250的规则引擎模块253基于路由规则,确定中间数据的推送目标平台。
[0208] 这里,第一规则获取模块252根据中间数据的内容属性,获取中间数据对应的路由规则,并将中间数据和对应的路由规则发送给规则引擎模块253。
[0209] 中间数据的内容属性决定了物联网管理系统需要对该中间数据进行何种后续处理,不同的后续处理对应了不同的推送目标平台。
[0210] 路由规则与中间数据的内容属性相对应,用于指示数据推送平台250将何种中间数据推送到何种推送目标平台。
[0211] 本申请实施例中,通过路由规则来确定中间数据与推送目标平台的对应关系,从而确定中间,通过增加新的路由规则就可以提供新的推送路径,可以提供各种复杂网络的推送策略,满足各种业务推送需求。
[0212] 规则引擎模块253根据中间数据中包含的信息,与上述路由规则相对照,从而决定应该将该中间数据发送到哪一个推送目标平台。
[0213] 在一些实施例中,推送目标平台为数据联动平台、智慧空间平台或大数据存储平台,大数据存储平台用于存储中间数据,智慧空间平台用于展示终端采集的信息,数据联动平台用于根据终端采集的异常信息触发告警或异常处理机制。
[0214] 若中间数据表征对应的终端采集的信息不存在异常,则确定中间数据的推送目标平台为智慧空间平台和大数据存储平台;
[0215] 若中间数据表征对应的终端采集的信息为异常信息,则确定中间数据的推送目标平台为数据联动平台、智慧空间平台和大数据存储平台。
[0216] 规则引擎模块253确定了推送目标平台之后,将中间数据和中间数据和确定的推送目标平台发送给推送路由模块254和推送策略模块255。
[0217] 推送路由模块254根据中间数据和确定的推送目标平台确定中间数据到对应的推送目标平台的路径,推送策略模块255根据中间数据和确定的推送目标平台确定中间数据到对应的推送目标平台的推送策略。
[0218] 推送处理模块256用于根据推送路由模块254和推送策略模块255确定的路径和推送策略,将中间数据发送到对应的推送目标平台。
[0219] 上述步骤S401到S410对应的是终端发送的上行数据在物联网管理系统中的流向。在一些实施例中,物联网管理系统执行以下流程来实现上述步骤:
[0220] 物联网管理系统的控制(Controller)层根据接口文档实现通信接口。比如,如果终端发送的上行数据为慧联LoRa(Long Range,远距离广域)通信数据,控制层就根据慧联接口文档实现慧联通信接口,以接收该慧联LoRa通信数据。
[0221] 然后,控制层对上行数据添加过滤器服务后,将上行数据包装为AccessContext(接入上下文)对象,并调用接入服务(AccessService)层服务。这里,AccessContext对象即为S402中标准类型的归一化数据。
[0222] 接入服务层服务调用过滤器对AccessContext对象进行数据过滤。这里,数据过滤即为S403中判断归一化数据是否为异常数据。
[0223] 执行数据过滤服务时,如果过滤器确定归一化数据为异常数据,则发出接收数据异常的信息,接入服务层接收到该异常信息,则向控制层返回失败信息,当前流程结束。
[0224] 如果过滤器确定归一化数据不是异常数据,则接入服务层调用解析管理平台230提供的上行数据解析服务(ForwardAccessDataProcessor)。上行数据解析服务通过执行S405和S406,将终端发送的上行数据(一般是16进制数据)解析为其包括的具体信息(如温度、湿度、电压、电流等数值),然后将解析得到的数据以一定的形式存储起来。终端发送的上行数据包括心跳数据、确认数据、唤醒数据、监测数据等类型。
[0225] 为了执行S405和S406,如图3所示,上行数据解析服务包括如下流程:
[0226] P401,解析控制层(AnalyzeController)获取接入管理平台210发送的归一化数据,调用解析服务层(AnalyzeService)来进行数据解析;
[0227] P402,解析服务层根据归一化数据获取对应终端的终端信息,并调用解析前置处理层(AnalyzePostProcessor)进行归一化数据的前置处理;
[0228] 这里,终端信息与归一化数据的格式属性相对应,可以用于获取归一化数据对应的解析规则。
[0229] P403,解析前置处理层对归一化数据做校验、清洗以及转换等前置处理,将进行了前置处理的归一化数据返回给解析服务层;
[0230] 这里,校验、清洗以及转换处理即数据清洗模块232、第二数据校验模块233和第二数据转换模块234中执行的数据处理,用于发现并纠正归一化数据中的可识别错误,并将归一化数据的数据主体转换为统一的数据格式。
[0231] P404,解析服务层接收进行了前置处理的归一化数据后,调用解析处理层(AnalyzeProcessor)对归一化数据做解析处理,得到中间数据;
[0232] 这里,解析处理层对归一化数据的解析处理即对应S405和S406。
[0233] P405,解析处理层调用解析策略层(AnalyzeStrategy)来获取解析策略和解析规则;
[0234] P406,解析处理层调用解析引擎层(AnalyzeEngine)来解析归一化数据,得到中间数据;
[0235] 通常,解析处理层调用解析策略层获取的解析策略为数据库脚本解析策略。对应于数据库脚本解析策略,解析处理层调用解析引擎层,利用JavaScript脚本引擎,根据解析规则,解析归一化数据中的有效内容,得到中间数据。
[0236] 在其他实施例中,上述流程还包括P407:
[0237] P407,解析处理层调用解析数据处理层(AnalyzeDataProcessor)对得到的中间数据进行一次前置逻辑判断,如果确定中间数据为心跳数据或唤醒数据,则不将该中间数据发送到数据缓存平台240进行缓存;
[0238] 这样,可以保证数据缓存平台240中缓存的中间数据都是需要发送到数据联动平台270或智慧空间平台280进行后续的实体处理的数据,可以避免占用数据缓存平台240中的有效空间,提升高并发量数据堆积问题的解决效果。
[0239] P408,解析数据处理层将解析得到的中间数据返回至解析服务层,解析服务层调用解析前置处理层对中间数据做解析后处理,将中间数据发送给数据缓存平台240或将中间数据丢弃。
[0240] 将中间数据缓存后,控制层调用规则引擎来将中间数据发送到对应的推送目标平台。
[0241] 至此,物联网管理系统即完成了对终端发送的上行数据的处理。
[0242] 物联网管理系统中,还通过OPEN API平台220接收用户通过终端控制装置发送的待下发数据。物联网管理系统对待下发数据的处理过程包括如下步骤:
[0243] S411,OPEN API平台220接收终端控制装置发送的待下发数据;
[0244] S412,OPEN API平台220判断待下发数据是否为异常数据;
[0245] S413,当待下发数据不是异常数据时,OPEN API平台220将待下发数据发送到解析管理平台230进行数据解析;解析管理平台230中对待下发数据的数据解析包括如下流程:
[0246] P409,解析控制层接收待下发数据,调用解析服务层服务进行数据解析;
[0247] P410,解析服务层根据待下发数据获取对应终端的终端信息,并调用解析前置处理层服务进行待下发数据的前置处理;
[0248] P411,解析前置处理层对待下发数据做校验、清洗以及转换等前置处理,将进行了前置处理的待下发数据返回给解析服务层;
[0249] 这里,对待下发数据的校验还包括检测待下发数据中包含的命令参数是否合法,数据值是否符合要求等。
[0250] P412,解析服务层接收进行了前置处理的待下发数据后,调用解析处理层对待下发数据做解析处理;
[0251] P413,解析处理层调用解析策略层来获取解析策略和解析规则;
[0252] 这里,解析策略层根据待下发数据中,用户设定的参数(比如,功能值)来获取对应的解析规则。
[0253] P414,解析处理层调用解析引擎层来解析待下发数据;
[0254] 通常,解析处理层调用解析策略层获取的解析策略为数据库脚本解析策略。对应于数据库脚本解析策略,解析处理层调用解析引擎层,利用JavaScript脚本引擎,根据解析规则,解析待下发数据中的有效内容,得到解析后的待下发数据。
[0255] P415,解析处理层将解析后的待下发数据返回至解析服务层,解析服务层将解析后的待下发数据发送至接入管理平台210。
[0256] S414,接入管理平台210的第一数据转换模块212确定待下发数据对应的下发通信协议;
[0257] S415,接入管理平台210的第一数据转换模块212将待下发数据转换为符合下发通信协议规范的下行数据。
[0258] 这里,物联网中不同的终端一般会采用自身对应的通信协议来与物联网管理系统进行数据的传输。因此,为了使得终端能够成功接收到该待下发数据,接入管理平台210的需要采用该终端对应的通信协议、通过对应的通信接口来发送待下发数据。
[0259] 基于此,S414和S415中,第一数据转换模块212根据待下发数据中的相关信息确定其对应的下发通信协议,并将待下发数据转换为符合该下发通信协议规范的下行数据,然后将下行数据发送到对应的通信接口。
[0260] 该通信接口将下行数据发送到对应的终端,至此,物联网管理系统即完成了对用户发送的待下发数据的处理。
[0261] 实施例五
[0262] 基于前述的实施例,本申请实施例提供一种物联网数据处理装置,该装置所包括的各模块,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程阵列(FPGA)等。
[0263] 图4为本申请实施例的物联网数据处理装置400的组成结构示意图,物联网数据处理400包括上行数据接收模块401、类型转换模块402和数据推送模块403,其中,[0264] 上行数据接收模块401,用于接收物联网各终端通过不同通信协议发送的上行数据;类型转换模块402,用于将每一所述上行数据转换为标准类型的归一化数据;数据推送模块403,用于根据所述归一化数据中的有效内容,确定所述归一化数据的推送目标平台。
[0265] 在一些实施例中,所述数据推送模块,包括:解析规则获取单元,用于根据所述归一化数据的格式属性,获取所述归一化数据对应的解析规则;数据解析单元,用于根据所述解析规则,解析所述归一化数据中的有效内容,得到中间数据;推送平台确定单元,用于确定所述中间数据对应的推送目标平台。
[0266] 在一些实施例中,所述数据解析单元,具体用于:利用JavaScript脚本引擎,根据所述解析规则,解析所述归一化数据中的有效内容,得到中间数据。
[0267] 在一些实施例中,所述推送平台确定单元,包括:路由规则获取子单元,用于根据所述中间数据的内容属性,获取所述中间数据对应的路由规则;推送平台确定子单元,用于基于所述路由规则,确定所述中间数据的推送目标平台。
[0268] 在一些实施例中,所述推送目标平台为数据联动平台、智慧空间平台或大数据存储平台,所述大数据存储平台用于存储所述中间数据,所述智慧空间平台用于展示终端发送的上行数据中包含的监测信息,所述数据联动平台用于根据异常的监测信息触发告警或异常处理机制;
[0269] 所述推送平台确定子单元,具体用于:若所述中间数据表征终端发送的上行数据中包含的是正常的监测信息,则确定所述中间数据的推送目标平台为智慧空间平台和大数据存储平台;若所述中间数据表征终端发送的上行数据中包含的是异常的监测信息,则确定所述中间数据的推送目标平台为数据联动平台、智慧空间平台和大数据存储平台。
[0270] 在一些实施例中,所述数据推送模块,还包括:数据缓存单元,用于缓存所述中间数据;对应地,所述推送平台确定单元,具体用于:在空闲时刻获取缓存的所述中间数据;确定所述中间数据对应的推送目标平台。
[0271] 在一些实施例中,所述装置还包括:第一异常数据判断模块,用于判断所述归一化数据是否为异常数据;对应地,所述数据推送模块,具体用于:当所述归一化数据不是异常数据时,根据所述归一化数据中的有效内容,确定所述归一化数据的推送目标平台。
[0272] 在一些实施例中,所述装置还包括:待下发数据接收模块,用于接收终端控制装置发送的待下发数据;协议确定模块,用于确定所述待下发数据对应的下发通信协议;待下发数据转换模块,用于将所述待下发数据转换为符合所述下发通信协议规范的下行数据。
[0273] 在一些实施例中,所述装置还包括:第二异常数据判断模块,用于判断所述待下发数据是否为异常数据;对应地,所述协议确定模块,具体用于:当所述待下发数据不是异常数据时,确定所述待下发数据对应的下发通信协议。
[0274] 以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
[0275] 需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的物联网数据处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
[0276] 对应地,本申请实施例提供一种物联网数据处理设备(例如计算机设备),包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的物联网数据处理方法中的步骤。
[0277] 对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述实施例中提供的物联网数据处理方法中的步骤。
[0278] 这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
[0279] 图5为本申请实施例中物联网数据处理设备的一种硬件实体示意图,如图5所示,该物联网数据处理设备500的硬件实体包括:处理器501、通信接口502和存储器503,其中:
[0280] 处理器501通常控制物联网数据处理设备500的总体操作。通信接口502可以使物联网数据处理设备500通过网络与其他设备通信。存储器503配置为存储由处理器501可执行的指令和应用,还可以缓存待处理器501以及物联网数据处理设备500中各模块待处理或已经处理的数据,可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
[0281] 应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
[0282] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0283] 在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0284] 上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0285] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
[0286] 以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈