System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据防丢失方法、系统、电子设备及存储介质技术方案_技高网

一种数据防丢失方法、系统、电子设备及存储介质技术方案

技术编号:41124318 阅读:2 留言:0更新日期:2024-04-30 17:51
本发明专利技术公开了一种数据防丢失方法,包括:建立MQTT协议,将MQTT协议与服务器或终端连接;所述终端包括不少于一组的发布端和不少于一组的接收端;将服务器中的QOS设置为“1”,服务器实时监听发布端提前设定的遗嘱,当发布端心跳不在时,将遗嘱发送给其他发布端;判断服务器是否在线,根据判断结果,利用MQTT协议,将数据发送至接收端。本数据防丢失方法,针对机器故障,客户端提前设立遗嘱,服务器端监听客户端心跳,当客户端心跳不在时将其遗嘱给其他客户端执行;当服务器不在线时,客户端将数据持久化本地,待服务器恢复后一并发送。针对消息队列阻塞采取多线程,有效降低无人机采集数据丢失的问题。

【技术实现步骤摘要】

本专利申请涉及数据传输,特别是涉及一种数据防丢失方法、系统、电子设备及存储介质


技术介绍

1、mqtt(message queuing telemetry transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于tcp/ip协议上,由ibm在1999年发布。mqtt最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

2、传输过程涉及网关、代理服务器、平台服务器;三方其中任意一方在传输过程中出现故障,采用常规的mqtt传输数据都会丢失;消息队列阻塞导致的消息丢失。


技术实现思路

1、本专利技术旨在至少在一定程度上解决相关技术中技术问题之一,为此,本专利技术的第一个目的在于提出一种数据防丢失方法,针对消息队列阻塞采取多线程,有效解决数据丢失的问题。

2、本专利技术的第二个目的在于提出一种数据防丢失系统。

3、本专利技术的第三个目的在于提出一种电子设备。

4、本专利技术的第四个目的在于提出一种存储介质。

5、为达到上述目的,本专利技术第一方面实施例提出了一种数据防丢失方法,包括:

6、建立mqtt协议,将mqtt协议与服务器或终端连接;

7、所述终端包括不少于一组的发布端和不少于一组的接收端;</p>

8、将服务器中的qos设置为“1”,服务器实时监听发布端提前设定的遗嘱,当发布端心跳不在时,将遗嘱发送给其他发布端;

9、判断服务器是否在线,根据判断结果,利用mqtt协议,将数据发送至接收端。

10、优选地,所述发布端和接收端均为客户端。

11、优选地,所述数据发送至接收端的具体步骤包括:

12、s1、判断服务器是否在线,若不在线,进入步骤s2,若在线,进入步骤s3;

13、s2、判断服务器是否存在本地未发送数据,若存在,则进入步骤s4,若不存在,则进入步骤s5;

14、s3、判断是否存在未发送数据,若存在,则进入步骤s6,若不存在,则进入步骤s7;

15、s4、更新未发送数据并写入即时数据;

16、s5、创建未发送文件并写入即时数据;

17、s6、发送即时数据的同时,将未发送数据一并发送,发送后,清除服务器数据;

18、s7、发送即时数据后,清除。

19、优选地,所述mqtt协议中,一个mqtt数据包包括固定头、可变头和消息体。

20、优选地,所述固定头,存在于所有mqtt数据包中,表示数据包类型及数据包的分组类标识;

21、可变头,存在于部分mqtt数据包中,数据包类型决定可变头是否存在及其具体内容;

22、消息体,存在于部分mqtt数据包中,表示接收端收到的具体内容。

23、本专利技术第二方面实施例提出了一种数据防丢失系统,包括:

24、连接模块,建立mqtt协议,将mqtt协议与服务器或终端连接;

25、监听模块,将服务器中的qos设置为“1”,用于服务器实时监听发布端提前设定的遗嘱,当发布端心跳不在时,将遗嘱发送给其他发布端;

26、判断与发送模块,用于判断服务器是否在线,根据判断结果,利用mqtt协议,将数据发送至接收端。

27、优选地,所述判断与发送模块的具体步骤包括:

28、s1、判断服务器是否在线,若不在线,进入步骤s2,若在线,进入步骤s3;

29、s2、判断服务器是否存在本地未发送数据,若存在,则进入步骤s4,若不存在,则进入步骤s5;

30、s3、判断是否存在未发送数据,若存在,则进入步骤s6,若不存在,则进入步骤s7;

31、s4、更新未发送数据并写入即时数据;

32、s5、创建未发送文件并写入即时数据;

33、s6、发送即时数据的同时,将未发送数据一并发送,发送后,清除服务器数据;

34、s7、发送即时数据后,清除。

35、优选地,所述mqtt协议中,一个mqtt数据包包括固定头、可变头和消息体;

36、固定头,存在于所有mqtt数据包中,表示数据包类型及数据包的分组类标识;

37、可变头,存在于部分mqtt数据包中,数据包类型决定可变头是否存在及其具体内容;

38、消息体,存在于部分mqtt数据包中,表示接收端收到的具体内容。

39、本专利技术第三方面实施例提出了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至5中任一项所述的数据防丢失方法。

40、本专利技术第四方面实施例提出了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被设置为运行时执行权利要求1至5中任一项所述的数据防丢失方法。

41、与现有技术相比,本专利技术的有益效果是:本数据防丢失方法,针对机器故障,客户端提前设立遗嘱,服务器端监听客户端心跳,当客户端心跳不在时将其遗嘱给其他客户端执行;当服务器不在线时,客户端将数据持久化本地,待服务器恢复后一并发送。针对消息队列阻塞采取多线程,有效降低无人机采集数据丢失的问题。

本文档来自技高网...

【技术保护点】

1.一种数据防丢失方法,其特征在于,包括:

2.根据权利要求1所述的一种数据防丢失方法,其特征在于,所述发布端和接收端均为客户端。

3.根据权利要求1所述的一种数据防丢失方法,其特征在于,所述数据发送至接收端的具体步骤包括:

4.根据权利要求1所述的一种数据防丢失方法,其特征在于,所述MQTT协议中,一个MQTT数据包包括固定头、可变头和消息体。

5.根据权利要求4所述的一种数据防丢失方法,其特征在于,所述固定头,存在于所有MQTT数据包中,表示数据包类型及数据包的分组类标识;

6.一种数据防丢失系统,其特征在于,包括:

7.根据权利要求6所述的一种数据防丢失系统,其特征在于,所述判断与发送模块的具体步骤包括:

8.根据权利要求6所述的一种数据防丢失系统,其特征在于,所述MQTT协议中,一个MQTT数据包包括固定头、可变头和消息体;

9.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至5中任一项所述的数据防丢失方法。

10.一种存储介质,所述存储介质中存储有计算机程序,其特征在于,所述计算机程序被设置为运行时执行权利要求1至5中任一项所述的数据防丢失方法。

...

【技术特征摘要】

1.一种数据防丢失方法,其特征在于,包括:

2.根据权利要求1所述的一种数据防丢失方法,其特征在于,所述发布端和接收端均为客户端。

3.根据权利要求1所述的一种数据防丢失方法,其特征在于,所述数据发送至接收端的具体步骤包括:

4.根据权利要求1所述的一种数据防丢失方法,其特征在于,所述mqtt协议中,一个mqtt数据包包括固定头、可变头和消息体。

5.根据权利要求4所述的一种数据防丢失方法,其特征在于,所述固定头,存在于所有mqtt数据包中,表示数据包类型及数据包的分组类标识;

6.一种数据防丢失系统,其特征在于,...

【专利技术属性】
技术研发人员:赵二保袁泽军
申请(专利权)人:安徽尚特杰电力技术有限公司
类型:发明
国别省市:

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

1