基于Mqtt协议的数据断点续传方案制造技术

技术编号:25921242 阅读:36 留言:0更新日期:2020-10-13 10:41
本发明专利技术提供基于Mqtt协议的数据断点续传方案,包括基于Json的报文格式给定;基于业务报文数据类型的报文类型分类;即时通讯的报文发送机制给定;基于心跳实时检测的历史数据存储和数据续传。本发明专利技术通过给定一种基于Mqtt协议的报文数据断点续传方案,跟传统的Mqtt协议的即时通讯相比,能够保障在网关无故障,而代理服务器、平台端或者中间传输网络故障的情况下,当故障修复后,故障期间的报文数据能够继续上送平台。本发明专利技术为Mqtt协议在物联网中的应用提供了更加完善的机制,具有很实际的应用价值。

【技术实现步骤摘要】
基于Mqtt协议的数据断点续传方案
本专利技术涉及物联网
,特别涉及基于Mqtt协议的数据断点续传方案。
技术介绍
伴随着云计算技术的迅速发展,目前越来越多的云服务器(ElasticComputeService,简称ECS)在市场上出现,主要代表有阿里云、华为云、天翼云、金山云等。由于云服务器(ECS)具有网络部署、灵活扩展、节约成本、方便维护、公网Ip自带等特点,为了解决由于物联网节点分散而导致的网络部署困难、移动端应用必须公网部署、终端需要等问题,越来越多的物联网平台也部署到了云服务器之上。消息队列遥测传输协议(MessageQueuingTelemetryTransport,MQTT)为一种基于订阅/发布模型的轻量级即时通讯协议,符合物联网的通信要求,目前,在物联网云平台中得到了广泛的应用。如,耿锡涛对MQTT协议在电力设备在线监测系统进行了应用研究,给出了基于MQTT协议,实现温度在线实时采集的设计方案。刘佳利用MQTT协议,对城市水务物联网监控系统进行了设计。然而,由于MQTT本身的设计理念就是即时通讯,目前的研究于应用也都是集中在即时通讯上。假如传输层网关、代理服务器、平台端服务器以及中间传输网络任何一方在某个时段出现故障,采用常规的MQTT进行即时通讯,则会导致故障时段的报文数据缺失,使得业务报文数据不完整。为了解决上述问题,本文研究给出一种基于Mqtt的报文数据断点续传方案。
技术实现思路
为克服上述现有技术中的不足,本专利技术目的在于提供基于Mqtt的报文数据断点续传方案。为实现上述目的及其他相关目的,本专利技术提供的技术方案是:基于Mqtt协议的数据断点续传方案,其特征在于,包括以下内容:a.基于Json的报文格式给定;b.基于业务数据类型的报文类型分类;c.即时通讯的报文发送机制给定;d.基于心跳实时检测的历史数据存储和续传;内容d具体包括以下步骤:S1、平台端每隔固定时间发送一次心跳,当网关端接收到平台端发送来的心跳时,表示当前平台端、Mqtt代理服务端、网关端及网络运行良好,设置平台通讯状态为在线,即置在线状态为1;同时设置上次通讯时间等于当前时间;S2、当前时间减去上次通讯时间大于规定有效通断时间时,设置平台通讯状态为离线,即置在线状态为0;S3、当检测到平台通讯状态为离线时,后续所有发送的数据都存储到网关的本地文件中;S4、当检测到平台通讯状态由离线变为在线时,发送存储的历史数据。优选的技术方案为:内容a中,Mqtt协议在物联网传输中的报文采用Json的格式给定物联网平台的报文规约,报文规约中的具体标识定义如下:CMD:报文功能码;PN:网关编码;State:状态;Direction:传输方向;Value:终端采集设备数据;DataType:数据类型;DateTime:时间标志。优选的技术方案为:内容b中,借助电力系统的数据分类,将报文分为遥测、遥信、遥脉和遥设四类,根据四种类型数据的应用传输功能,CMD报文功能码根据传输的数据类型不同给定如下:00:遥设;01:全遥测;02:变化遥测;03:全遥信;04:变化遥信;05:全遥脉。优选的技术方案为:内容c中,在报文类型已给定的基础之上,给定报文发送机制如下:全遥测、全遥信和全遥脉报文数据设置为网关端定时上送,即每固定周期间隔之后上送一次;变化遥测,为了避免上送频繁,可设置变化幅度进行上送,如变化幅度大于1%,则上送;遥信,只要发生变位,则都需要立即上送;遥设消息由平台端在业务应用的触发下,即时发送,网关端接收到消息后立马下发给控制装置,控制装置执行后,网关端可将执行结果以遥信突变的方式或者遥测突变的方式上送到平台端。由于上述技术方案运用,本专利技术具有的有益效果为:本专利技术在当代理服务器、平台端或者中间任意传输网络故障的情况下,当故障修复后,故障期间的报文数据能够继续上送平台,从而保证业务报文数据的完整性。本方案对Mqtt协议在物联网平台的应用进行了完善,具有很实际的应用价值。附图说明图1为本专利技术Mqtt协议在物联网中的应用网络架构。图2为本专利技术基于心跳实时检测的报文数据断点续传详细流程。图3为在未采用本专利技术的方案的情况下发生故障的业务应用示例。图4为采用本专利技术的方案的情况下发生故障的业务应用示例。图5为本专利技术报文数据发送机制示意图。具体实施方式以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效。请参阅图1-图5。须知,在本专利技术的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该专利技术产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。术语“水平”、“竖直”、“悬垂”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。在本专利技术的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接,可以是机械连接,也可以是电连接,可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。实施例:基于Mqtt协议的数据断点续传方案,包括以下内容:a.基于Json的报文格式给定;b.基于业务数据类型的报文类型分类;c.即时通讯的报文发送机制给定;d.基于心跳实时检测的历史数据存储和续传;内容d具体包括以下步骤:S1、平台端每隔固定时间发送一次心跳,当网关端接收到平台端发送来的心跳时,表示当前平台端、Mqtt代理服务端、网关端及网络运行良好,设置平台通讯状态为在线,即置在线状态为1;同时设置上次通讯时间等于当前时间;S2、当前时间减去上次通讯时间大于规定有效通断时间时,设置平台通讯状态为离线,即置在线状态为0;S3、当检测到平台通讯状态为离线时,后续所有发送的数据都存储到网关的本地文件中;S4、当检测到平台通讯状态由离线变为在线时,发送存储的历史数据。(基于心跳实时检测的报文数据断点续传详细流程,参见图2)关于报文格式,由于Json是一种简单的本文档来自技高网...

【技术保护点】
1.基于Mqtt协议的数据断点续传方案,其特征在于,包括以下内容:/na.基于Json的报文格式给定;/nb.基于业务数据类型的报文类型分类;/nc.即时通讯的报文发送机制给定;/nd.基于心跳实时检测的历史数据存储和续传;/n内容d具体包括以下步骤:/nS1、平台端每隔固定时间发送一次心跳,当网关端接收到平台端发送来的心跳时,表示当前平台端、Mqtt代理服务端、网关端及网络运行良好,设置平台通讯状态为在线,即置在线状态为1;同时设置上次通讯时间等于当前时间;/nS2、当前时间减去上次通讯时间大于规定有效通断时间时,设置平台通讯状态为离线,即置在线状态为0;/nS3、当检测到平台通讯状态为离线时,后续所有发送的数据都存储到网关的本地文件中;/nS4、当检测到平台通讯状态由离线变为在线时,发送存储的历史数据。/n

【技术特征摘要】
1.基于Mqtt协议的数据断点续传方案,其特征在于,包括以下内容:
a.基于Json的报文格式给定;
b.基于业务数据类型的报文类型分类;
c.即时通讯的报文发送机制给定;
d.基于心跳实时检测的历史数据存储和续传;
内容d具体包括以下步骤:
S1、平台端每隔固定时间发送一次心跳,当网关端接收到平台端发送来的心跳时,表示当前平台端、Mqtt代理服务端、网关端及网络运行良好,设置平台通讯状态为在线,即置在线状态为1;同时设置上次通讯时间等于当前时间;
S2、当前时间减去上次通讯时间大于规定有效通断时间时,设置平台通讯状态为离线,即置在线状态为0;
S3、当检测到平台通讯状态为离线时,后续所有发送的数据都存储到网关的本地文件中;
S4、当检测到平台通讯状态由离线变为在线时,发送存储的历史数据。


2.根据权利要求1所述的基于Mqtt协议的数据断点续传方案,其特征在于:内容a中,Mqtt协议在物联网传输中的报文采用Json的格式给定物联网平台的报文规约,报文规约中的具体标识定义如下:
CMD:报文功能码;
PN:网关编码;
State:状态;
Direct...

【专利技术属性】
技术研发人员:姚丽丽
申请(专利权)人:南京东源磐能能源科技股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1