本发明专利技术涉及一种物联网中消息传递方法和装置,包括:接收通过MQTT协议传输的消息指令,所述消息指令中包括消息发送端信息、消息执行端信息、时间戳和超时时间信息;根据所述消息指令中时间戳和超时时间信息检测所述消息指令是否超时;若所述消息指令已超时,根据所述消息指令中消息执行端信息检测当前终端是否为消息执行端;若所述消息指令已超时且当前终端是消息执行端,则放弃执行所述消息指令,并根据所述消息发送端信息将超时提示信息发送给消息发送端;若所述消息指令已超时且当前终端不是消息执行端,则中断传输所述消息指令,并根据所述消息发送端信息将超时提示信息发送给消息发送端。提高了通过MQTT协议传输的消息指令执行情况的确定性。
【技术实现步骤摘要】
物联网中消息传递方法和装置
本专利技术涉及计算机
,特别是涉及一种物联网中消息传递方法和装置。
技术介绍
随着信息技术的快速发展,物联网成为新一代信息技术的重要组成部分。在物联网系统中,物品和物品之间通过互联网连接,物品之间可通过互联网进行消息交换和通信。传统的物联网消息传递中,多采用MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)通讯协议。MQTT协议是一个即时通讯协议,采用轻量级发布和订阅消息传输机制,相比于其他通讯协议,MQTT协议更为简约、易于使用,特别适用于网络带宽低、网络延迟高、网络通信不稳定等受限环境中。MQTT协议作为重要的物联网传输协议,支持所有平台。MQTT协议支持三种消息发布服务质量。其中,QoS(QualityofService,服务质量)=0,消息发送完即丢弃,会导致消息丢失或重复;QoS=1,消息发送后需要确认回复,确保消息到达,可能导致消息重复;QoS=2,消息发送后需要确认回复,确保消息到达一次。但在物联网环境中,由于网络带宽低、网络延迟高和网络通信不稳定等因素,常造成消息传递缓慢,MQTT协议中三种消息发布服务质量所发送的消息指令执行情况具有不确定性。
技术实现思路
基于此,有必要针对物联网环境中,传统MQTT协议中三种消息发布服务质量所发送的消息指令执行情况具有不确定性的问题,提供一种提高消息指令执行情况的确定性的物联网中消息传递方法和装置。一种物联网中消息传递方法,包括:接收通过MQTT协议传输的消息指令,所述消息指令中包括消息发送端信息、消息执行端信息、时间戳和超时时间信息;根据所述消息指令中时间戳和超时时间信息检测所述消息指令是否超时;若所述消息指令已超时,根据所述消息指令中消息执行端信息检测当前终端是否为消息执行端;若所述消息指令已超时且当前终端是消息执行端,则放弃执行所述消息指令,并根据所述消息发送端信息将超时提示信息发送给消息发送端;若所述消息指令已超时且当前终端不是消息执行端,则中断传输所述消息指令,并根据所述消息发送端信息将超时提示信息发送给消息发送端。在一个实施例中,所述消息指令中还包括消息传递路径信息,所述方法还包括:若所述消息指令未超时,根据所述消息指令中消息执行端信息检测当前终端是否为消息执行端;若所述消息指令未超时且当前终端是消息执行端,则执行所述消息指令;若所述消息指令未超时且当前终端不是消息执行端,则根据所述消息传递路径信息传递所述消息指令。在一个实施例中,所述方法还包括:若当前终端存在已超时消息指令,将接收的所述消息指令覆盖所述已超时消息指令。在一个实施例中,所述方法还包括:向服务器发起时间同步请求;接收所述服务器返回的所述时间同步请求的响应结果,根据所述响应结果进行时间同步。在一个实施例中,所述向服务器发起时间同步请求还包括:根据预设的时间间隔定期向服务器发起时间同步请求。一种物联网中消息传递装置,包括:接收模块,用于接收通过MQTT协议传输的消息指令,所述消息指令中包括消息发送端信息、消息执行端信息、时间戳和超时时间信息;第一检测模块,用于根据所述消息指令中时间戳和超时时间信息检测所述消息指令是否超时;第二检测模块,用于若所述消息指令已超时,根据所述消息指令中消息执行端信息检测当前终端是否为消息执行端;执行模块,用于若所述消息指令已超时且当前终端是消息执行端,则放弃执行所述消息指令,并根据所述消息发送端信息将超时提示信息发送给消息发送端;若所述消息指令已超时且当前终端不是消息执行端,则中断传输所述消息指令,并根据所述消息发送端信息将超时提示信息发送给消息发送端。在一个实施例中,所述消息指令中还包括消息传递路径信息,所述第二检测模块还用于若所述消息指令未超时,根据所述消息指令中消息执行端信息检测当前终端是否为消息执行端;所述执行模块还用于若所述消息指令未超时且当前终端是消息执行端,则执行所述消息指令;若所述消息指令未超时且当前终端不是消息执行端,则根据所述消息传递路径信息传递所述消息指令。在一个实施例中,所述装置还包括:覆盖模块,用于若当前终端存在已超时消息指令,将接收的所述消息指令覆盖所述已超时消息指令。在一个实施例中,所述装置还包括:请求模块,用于向服务器发起时间同步请求;所述接收模块还用于接收所述服务器返回的所述时间同步请求的响应结果,根据所述响应结果进行时间同步。在一个实施例中,所述请求模块还用于根据预设的时间间隔定期向服务器发起时间同步请求。上述物联网中消息传递方法和装置,通过在MQTT协议传输的消息指令中设置时间戳和超时时间信息,可根据时间戳和超时时间信息判断接收到的消息指令是否超时,并将超时消息指令中断传输、超时提示信息反馈给消息发送端,使得超时消息指令不会被执行或继续传递下去,节省了网络传输流量、降低了网络拥堵的风险,对消息指令增加超时时间判断,提高了通过MQTT协议传输的消息指令执行情况的确定性。附图说明图1为一个实施例中物联网中消息传递方法的应用环境示意图;图2为一个实施例中物联网中消息传递方法的流程图;图3为另一个实施例中物联网中消息传递方法的流程图;图4为另一个实施例中物联网中消息传递方法的流程图;图5为一个实施例中物联网中消息传递装置的结构框图;图6为另一个实施例中物联网中消息传递装置的结构框图;图7为另一个实施例中物联网中消息传递装置的结构框图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。可以理解,本专利技术所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本专利技术的范围的情况下,可以将第一检测模块称为第二检测模块,且类似地,可将第二检测模块称为第一检测模块。第一检测模块和第二检测模块两者都是检测模块,但其不是同一检测模块。图1为一个实施例中物联网中消息传递方法的应用环境示意图。如图1所示,该应用环境包括第一终端110、服务器120、第二终端130。第一终端110与第二终端130之间可通过互联网连接,第一终端110和第二终端130之间可进行消息交换和通信,第一终端110可通过互联网连接服务器120,第二终端130可通过互联网连接服务器120。第一终端110将消息指令发送给第二终端130,第二终端130根据消息指令中信息对消息指令进行检测,并根据不同的检测结果执行相应的操作;第一终端110可向服务器120发起时间同步请求,并根据服务器120返回的时间同步请求的响应结果进行时间同步;第二终端130可向服务器120发起时间同步请求,并根据服务器120返回的时间同步请求的响应结果进行时间同步。其中,第一终端110为能接入网络且能发送消息指令的设备,如移动智能终端、车载智能终端、可穿戴设备和个人数字助理等。第二终端130为能接入网络且能接收消息指令的设备,如带有RFID(RadioFrequencyIdentification,射频识别)标签的电冰箱、带有RFID标签的洗衣机和带有RFID标签的空调等。图2为一个实施例中物联网中消本文档来自技高网...
【技术保护点】
一种物联网中消息传递方法,其特征在于,包括:接收通过MQTT协议传输的消息指令,所述消息指令中包括消息发送端信息、消息执行端信息、时间戳和超时时间信息;根据所述消息指令中时间戳和超时时间信息检测所述消息指令是否超时;若所述消息指令已超时,根据所述消息指令中消息执行端信息检测当前终端是否为消息执行端;若所述消息指令已超时且当前终端是消息执行端,则放弃执行所述消息指令,并根据所述消息发送端信息将超时提示信息发送给消息发送端;若所述消息指令已超时且当前终端不是消息执行端,则中断传输所述消息指令,并根据所述消息发送端信息将超时提示信息发送给消息发送端。
【技术特征摘要】
1.一种物联网中消息传递方法,其特征在于,包括:接收通过MQTT协议传输的消息指令,所述消息指令中包括消息发送端信息、消息执行端信息、时间戳和超时时间信息;根据所述消息指令中时间戳和超时时间信息检测所述消息指令是否超时;若所述消息指令已超时,根据所述消息指令中消息执行端信息检测当前终端是否为消息执行端;若所述消息指令已超时且当前终端是消息执行端,则放弃执行所述消息指令,并根据所述消息发送端信息将超时提示信息发送给消息发送端;若所述消息指令已超时且当前终端不是消息执行端,则中断传输所述消息指令,并根据所述消息发送端信息将超时提示信息发送给消息发送端。2.根据权利要求1所述的物联网中消息传递方法,其特征在于,所述消息指令中还包括消息传递路径信息,所述方法还包括:若所述消息指令未超时,根据所述消息指令中消息执行端信息检测当前终端是否为消息执行端;若所述消息指令未超时且当前终端是消息执行端,则执行所述消息指令;若所述消息指令未超时且当前终端不是消息执行端,则根据所述消息传递路径信息传递所述消息指令。3.根据权利要求1所述的物联网中消息传递方法,其特征在于,所述方法还包括:若当前终端存在已超时消息指令,将接收的所述消息指令覆盖所述已超时消息指令。4.根据权利要求1所述的物联网中消息传递方法,其特征在于,所述方法还包括:向服务器发起时间同步请求;接收所述服务器返回的所述时间同步请求的响应结果,根据所述响应结果进行时间同步。5.根据权利要求4所述的物联网中消息传递方法,其特征在于,所述向服务器发起时间同步请求还包括:根据预设的时间间隔定期向服务器发起时间同步请求。6.一种物联网中消息传递装置,其特征在于,包括:接收模块,...
【专利技术属性】
技术研发人员:国承斌,
申请(专利权)人:深圳市智物联网络有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。