[0001]技术领域
[0002]本发明涉及物联网技术领域,尤其涉及一种物联网设备状态管理方法及物联网平台。
[0003]背景技术
[0004]所谓“物联网”(Internet of Things,IOT),又称传感网,指的是将各种信息传感设备,如射频识别(RFID)装置、红外感应器、全球定位系统、激光扫描器等多种装置与互联网连接起来,并形成一个可以实现智能化识别和管理的网络。
[0005]目前,物联网平台通常只能对通过MQTT(Message Queuing TelemetryTransport,消息队列遥测传输)协议连接物联网平台的物联网设备,也即直连设备进行在离线状态管理。MQTT连接为长连接,物联网平台通过长连接是否存在作为直连设备是否在线的判断标准。直连设备发起连接时,将数据库中的状态置为在线;MQTT连接断开时,将数据库中的状态置为离线。物联网平台需要获取直连设备状态时,直接从数据库中获取。
[0006]目前,物联网平台的兼容性差,对物联网设备的在离线状态的管理方式单一。
[0007]发明内容
[0008]本发明提供的物联网设备状态管理方法及物联网平台,能够兼容不同类型的物联网设备,对不同类型的物联网设备都能进行在离线状态管理。
[0009]第一方面,本发明提供一种物联网设备状态管理方法,所述方法包括:
[0010]判断接入物联网平台的物联网设备的类型,所述物联网设备的类型包括直连设备、网关设备或挂载在所述网关设备下的网关子设备,所述网关设备包括边缘网关或透传网关;
[0011]根据所述物联网设备的类型,采用相应的方式对所述物联网设备的在离线状态进行管理。
[0012]可选地,所述根据所述物联网设备的类型,采用相应的方式对所述物联网设备的在离线状态进行管理包括:
[0013]若所述物联网设备为直连设备或网关设备,当所述直连设备或网关设备与物联网平台的消息队列遥测传输MQTT服务器之间的MQTT长连接建立或断开、或者所述MQTT服务器在预定时间内未检测到所述直连设备或网关设备上报的数据时,所述MQTT服务器向所述物联网平台的状态影子服务模块发送设备上线或下线通知;
[0014]所述状态影子服务模块根据所述设备上线或下线通知,对所述直连设备或网关设备的在离线状态进行更新。
[0015]可选地,所述根据所述物联网设备的类型,采用相应的方式对所述物联网设备的在离线状态进行管理包括:
[0016]若所述物联网设备为挂载在边缘网关下的网关子设备,所述物联网平台的MQTT服务器接收所述边缘网关通过与所述MQTT服务器之间的MQTT长连接发送的设备上线或下线的通知,其中,所述通知在所述边缘网关感知到所述网关子设备上线或下线时发送;
[0017]所述MQTT服务器向所述物联网平台的状态影子服务模块发送设备上线或下线通知;
[0018]所述状态影子服务模块根据所述设备上线或下线通知,对所述挂载在边缘网关下的网关子设备的在离线状态进行更新。
[0019]可选地,所述状态影子服务模块更新的在离线状态内容包括:在离线状态上报时间戳和当前状态字段。
[0020]可选地,所述根据所述物联网设备的类型,采用相应的方式对所述物联网设备的在离线状态进行管理包括:
[0021]若所述物联网设备为挂载在透传网关下的网关子设备,所述物联网平台的状态影子服务模块根据预先配置的状态查询任务,定时请求所述物联网平台的MQTT服务器向所述透传网关下发状态查询命令,其中,所述状态查询任务包括下发的状态查询命令以及定时间隔;
[0022]所述MQTT服务器向所述透传网关下发状态查询命令,以使所述透传网关将所述状态查询命令转发到所述网关子设备;
[0023]若所述网关子设备对所述状态查询命令做出响应,则所述MQTT服务器接收所述透传网关透传过来的网关子设备对所述状态查询命令的响应;
[0024]所述MQTT服务器将所述响应透传给所述状态影子服务模块;
[0025]所述状态影子服务模块根据所述响应,对所述挂载在所述透传网关下的网关子设备的在离线状态进行更新。
[0026]可选地,所述状态影子服务模块更新的在离线状态内容包括:状态命令下发时间戳、状态命令响应时间戳和当前状态字段。
[0027]第二方面,本发明提供一种物联网平台,所述物联网平台包括MQTT服务器以及与其连接的状态影子服务模块;其中,
[0028]所述MQTT服务器,用于判断接入所述物联网平台的物联网设备的类型,所述物联网设备的类型包括直连设备、网关设备或挂载在所述网关设备下的网关子设备,所述网关设备包括边缘网关或透传网关;
[0029]所述状态影子服务模块,用于与所述MQTT服务器相配合,根据所述物联网设备的类型,采用相应的方式对所述物联网设备的在离线状态进行管理。
[0030]可选地,若所述MQTT服务器判断所述物联网设备为直连设备或网关设备,则当所述直连设备或网关设备与所述MQTT服务器之间的MQTT长连接建立或断开、或者所述MQTT服务器在预定时间内未检测到所述直连设备或网关设备上报的数据时,所述MQTT服务器向所述状态影子服务模块发送设备上线或下线通知;
[0031]所述状态影子服务模块根据所述设备上线或下线通知,对所述直连设备或网关设备的在离线状态进行更新。
[0032]可选地,若所述MQTT服务器判断所述物联网设备为挂载在边缘网关下的网关子设备,则所述MQTT服务器接收所述边缘网关通过与所述MQTT服务器之间的MQTT长连接发送的设备上线或下线的通知,其中,所述通知在所述边缘网关感知到所述网关子设备上线或下线时发送,并向所述状态影子服务模块发送设备上线或下线通知;
[0033]所述状态影子服务模块根据所述设备上线或下线通知,对所述挂载在所述边缘网关下的网关子设备的在离线状态进行更新。
[0034]可选地,若所述MQTT服务器判断所述物联网设备为挂载在透传网关下的网关子设备,则所述状态影子服务模块根据预先配置的状态查询任务,定时请求所述MQTT服务器向所述透传网关下发状态查询命令,其中,所述状态查询任务包括下发的状态查询命令以及定时间隔;
[0035]所述MQTT服务器向所述透传网关下发状态查询命令,以使所述透传网关将所述状态查询命令转发到网关子设备,以及当所述网关子设备对所述状态查询命令做出响应时,接收所述透传网关透传过来的网关子设备对所述状态查询命令的响应,并将所述响应透传给所述状态影子服务模块;
[0036]所述状态影子服务模块根据所述MQTT服务器透传过来的响应,对所述挂载在所述透传网关下的网关子设备的在离线状态进行更新。
[0037]本发明实施例提供的物联网设备状态管理方法及物联网平台,能够根据接入物联网平台的物联网设备的类型,选择对应的在离线状态管理方式,从而实现不同物联网设备的在离线状态集中管理,适配性和兼容性高。
[0038]附图说明
[0039]图1为本发明一实施例物联网设备状态管理方法的流程图;
[0040]图2为本发明一实施例物联网平台的结构示意图。
[0041]具体实施方式
[0042]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043]本发明实施例提供一种物联网设备状态管理方法,如图1所示,所述方法包括:
[0044]S11、判断接入物联网平台的物联网设备的类型,所述物联网设备的类型包括直连设备、网关设备或挂载在所述网关设备下的网关子设备,所述网关设备包括边缘网关或透传网关。
[0045]S12、根据所述物联网设备的类型,采用相应的方式对所述物联网设备的在离线状态进行管理。
[0046]本发明实施例提供的物联网设备状态管理方法,能够根据接入物联网平台的物联网设备的类型,选择对应的在离线状态管理方式,从而实现不同物联网设备的在离线状态集中管理,适配性和兼容性高。
[0047]下面结合具体实施例对本发明物联网设备状态管理方法进行详细说明。
[0048]首先对物联网平台的结构进行介绍,如图2所示,物联网平台包括MQTT服务器以及与其连接的状态影子服务模块,MQTT服务器提供状态管理和命令下发功能,状态影子服务模块用于维护物联网设备的状态内容,具体包括状态命令下发时间戳、状态命令响应时间戳、状态上报时间戳、当前状态中的一个或多个,支持通过定时任务下发命令主动获取同步设备状态。
[0049]物联网设备通过MQTT长连接与MQTT服务器连接,MQTT服务器首先判断接入物联网平台的物联网设备的类型,所述物联网设备的类型包括直连设备、网关设备或挂载在网关设备下的网关子设备,所述网关设备包括边缘网关或透传网关。
[0050]若所述物联网设备为直连设备或网关设备,当所述直连设备或网关设备与物联网平台的MQTT服务器之间的MQTT长连接建立或断开、或者所述MQTT服务器在预定时间内未检测到所述直连设备或网关设备上报的数据时,所述MQTT服务器的状态管理模块向所述物联网平台的状态影子服务模块发送设备上线或下线通知;
[0051]所述状态影子服务模块根据所述设备上线或下线通知,对所述直连设备或网关设备的在离线状态进行更新,更新的内容具体包括:在离线状态上报时间戳和当前状态字段。
[0052]若所述物联网设备为挂载在边缘网关下的网关子设备,该边缘网关具备感知网关子设备在离线状态的功能,当边缘网关感知到网关子设备上下线时,通过与所述MQTT服务器之间的MQTT长连接向MQTT服务器发送网关子设备上线或下线的通知;
[0053]MQTT服务器接收到该通知后,向状态影子服务模块发送设备上线或下线的通知;
[0054]所述状态影子服务模块根据所述设备上线或下线通知,对所述挂载在边缘网关下的网关子设备的在离线状态进行更新,更新的内容具体包括:在离线状态上报时间戳和当前状态字段。
[0055]若所述物联网设备为挂载在透传网关下的网关子设备,或者边缘网关不具备感知网关子设备在离线状态的功能,无法感知网关子设备的在离线状态,则状态影子服务模块提供定时任务来主动探测网关子设备在离线状态,具体为:状态影子服务模块预先配置好状态查询任务,该状态查询任务包括下发的状态查询命令以及定时间隔;状态影子服务模块根据预先配置的状态查询任务,定时请求MQTT服务器向所述透传网关下发状态查询命令,并更新自身所维护的在离线状态信息中的状态命令下发时间戳;
[0056]所述透传网关将所述状态查询命令转发到网关子设备;
[0057]若所述网关子设备对所述状态查询命令做出响应,则所述MQTT服务器接收所述透传网关透传过来的网关子设备对所述状态查询命令的响应;
[0058]所述MQTT服务器将所述响应透传给所述状态影子服务模块;
[0059]所述状态影子服务模块根据所述响应,对所述挂载在所述透传网关下的网关子设备的在离线状态进行更新,更新的内容具体包括:状态命令响应时间戳和当前状态字段。
[0060]从而,在MQTT服务器与状态影子服务模块的配合下,物联网平台能够根据所连接的物联网设备的类型,采用相应的方式对物联网设备的在离线状态进行管理,需要查询设备状态时,直接通过状态影子服务模块获取其维护的设备状态即可。
[0061]本发明实施例还提供一种物联网平台,如图2所示,所述物联网平台包括MQTT服务器以及与其连接的状态影子服务模块;其中,
[0062]所述MQTT服务器,用于判断接入所述物联网平台的物联网设备的类型,所述物联网设备的类型包括直连设备、网关设备或挂载在所述网关设备下的网关子设备,所述网关设备包括边缘网关或透传网关;
[0063]所述状态影子服务模块,用于与所述MQTT服务器相配合,根据所述物联网设备的类型,采用相应的方式对所述物联网设备的在离线状态进行管理。
[0064]本发明实施例提供的物联网平台,能够根据接入物联网平台的物联网设备的类型,选择对应的在离线状态管理方式,从而实现不同物联网设备的在离线状态集中管理,适配性和兼容性高。
[0065]可选地,若所述MQTT服务器判断所述物联网设备为直连设备或网关设备,则当所述直连设备或网关设备与所述MQTT服务器之间的MQTT长连接建立或断开、或者所述MQTT服务器在预定时间内未检测到所述直连设备或网关设备上报的数据时,所述MQTT服务器向所述状态影子服务模块发送设备上线或下线通知;
[0066]所述状态影子服务模块根据所述设备上线或下线通知,对所述直连设备或网关设备的在离线状态进行更新。
[0067]可选地,若所述MQTT服务器判断所述物联网设备为挂载在边缘网关下的网关子设备,则所述MQTT服务器接收所述边缘网关通过与所述MQTT服务器之间的MQTT长连接发送的设备上线或下线的通知,其中,所述通知在所述边缘网关感知到所述网关子设备上线或下线时发送,并向所述状态影子服务模块发送设备上线或下线通知;
[0068]所述状态影子服务模块根据所述设备上线或下线通知,对所述挂载在所述边缘网关下的网关子设备的在离线状态进行更新。
[0069]可选地,若所述MQTT服务器判断所述物联网设备为挂载在所述透传网关下的网关子设备,则所述状态影子服务模块根据预先配置的状态查询任务,定时请求所述MQTT服务器向所述透传网关下发状态查询命令,其中,所述状态查询任务包括下发的状态查询命令以及定时间隔;
[0070]所述MQTT服务器向所述透传网关下发状态查询命令,以使所述透传网关将所述状态查询命令转发到所述网关子设备,以及当所述网关子设备对所述状态查询命令做出响应时,接收所述透传网关透传过来的网关子设备对所述状态查询命令的响应,并将所述响应透传给所述状态影子服务模块;
[0071]所述状态影子服务模块根据所述MQTT服务器透传过来的响应,对所述挂载在所述透传网关下的网关子设备的在离线状态进行更新。
[0072]本发明实施例提供的物联网平台,在MQTT服务器与状态影子服务模块的配合下,物联网平台能够根据所连接的物联网设备的类型,采用相应的方式对物联网设备的在离线状态进行管理,从而能够兼容不同类型的物联网设备,对不同类型的物联网设备都能进行在离线状态管理,适配性和兼容性高。
[0073]本实施例的物联网平台,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0074]本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
[0075]以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。