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

一种防消息丢失方法、装置、电子设备及存储介质制造方法及图纸

技术编号:40951506 阅读:2 留言:0更新日期:2024-04-18 20:26
本发明专利技术实施例涉及通信技术领域,公开了一种防消息丢失方法、装置、电子设备及存储介质。本发明专利技术中,根据设备对应的当前生成配置消息数、已接收配置消息数及消息队列,确定下发到所述设备的配置消息是否有丢失,无需添加复杂的冗余信息或算法,即可监测到配置消息是否存在丢失的情况,为保障下发的配置消息的完整性做好预防准备,当配置消息有丢失时,通过下发全量配置消息,保障设备应用的配置消息的完整性,同时,基于消息队列按照先进先出的原则存储设备未成功接收的配置消息的特点,当配置消息没有丢失时,将消息队列中的配置消息依次下发到设备,可以保障设备应用的配置消息的发生顺序不会发生改变。

【技术实现步骤摘要】

本专利技术实施例涉及通信,特别涉及一种防消息丢失方法、装置、电子设备及存储介质


技术介绍

1、利用互联网通信技术,可以创建设备与服务器之间的通信连接,例如,通过websocket协议实现设备与服务器之间的数据交换。但是由于网络波动、网络堵塞、网络中断等原因,会影响设备与服务器之间的正常通信,发生数据包丢失的情况。

2、现行的防止网络传输中数据丢包的技术比较多,然而,专利技术人发现相关技术中至少存在如下问题:实现过程比较复杂,需要添加冗余信息,增加了数据传输的带宽占用,例如,前向纠错编码技术;忽略了丢失数据的顺序性特点,虽然保障了数据的完整性,但是存在消息错乱的情况,导致设备端配置有误,例如,自动重传技术。


技术实现思路

1、本专利技术实施方式的目的在于提供一种防消息丢失方法、装置、电子设备及存储介质,保障网络传输中数据的完整性及顺序性。

2、为解决上述技术问题,本专利技术的实施方式提供了一种防消息丢失方法,包括:根据设备对应的当前生成配置消息数、已接收配置消息数及消息队列,确定下发到所述设备的配置消息是否有丢失,其中,所述消息队列用于按照先进先出的原则存储所述设备未成功接收的配置消息;当配置消息有丢失时,将所述设备对应的全量配置消息下发到所述设备;当配置消息没有丢失时,将所述消息队列中的配置消息依次下发到所述设备。

3、本专利技术的实施方式还提供了一种防消息丢失装置,包括:消息丢失判断模块,用于根据设备对应的当前生成配置消息数、已接收配置消息数及消息队列,确定下发到所述设备的配置消息是否有丢失,其中,所述消息队列用于按照先进先出的原则存储所述设备未成功接收的配置消息;消息丢失处理模块,用于将所述设备对应的全量配置消息下发到所述设备;消息未丢失处理模块,用于将所述消息队列中的配置消息依次下发到所述设备。

4、本专利技术的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的防消息丢失方法。

5、本专利技术的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的防消息丢失方法。

6、在本专利技术实施方式中,根据设备对应的当前生成配置消息数、已接收配置消息数及消息队列,确定下发到所述设备的配置消息是否有丢失,无需添加复杂的冗余信息或算法,即可监测到配置消息是否存在丢失的情况,为保障下发的配置消息的完整性做好预防准备,当配置消息有丢失时,通过下发全量配置消息,保障设备应用的配置消息的完整性,同时,基于消息队列按照先进先出的原则存储设备未成功接收的配置消息的特点,当配置消息没有丢失时,将消息队列中的配置消息依次下发到设备,可以保障设备应用的配置消息的发生顺序不会发生改变。

7、另外,在根据设备对应的当前生成配置消息数、已接收配置消息数及消息队列,确定下发到所述设备的配置消息是否有丢失之前,通过在mysql中创建配置消息记录表来记录所述当前生成配置消息数及已接收配置消息数。

8、另外,所述通过在mysql中创建配置消息记录表来记录所述当前生成配置消息数及已接收配置消息数,包括:在mysql中创建配置消息记录表,其中,所述配置消息记录表包括当前生成配置消息数及已接收配置消息数;监测到所述设备对应的配置消息产生时,更新所述设备对应的当前生成配置消息数;接收到所述设备返回的接收配置消息成功的消息后,更新所述设备对应的已接收配置消息数。

9、另外,所述更新所述设备对应的已接收配置消息数,包括:解析所述设备返回的接收配置消息成功的消息中携带的id节点,其中,所述id节点的取值为对应配置消息产生的顺序序号,当解析得到的id节点的取值与发送给该设备的配置消息中携带的id节点的取值相对应时,将解析得到的id节点的取值作为所述设备对应的已接收配置消息数。

10、另外,在根据设备对应的当前生成配置消息数、已接收配置消息数及消息队列,确定下发到所述设备的配置消息是否有丢失之前,在redis中创建list列表,利用所述list列表存储所述消息队列。

11、另外,所述根据设备对应的当前生成配置消息数、已接收配置消息数及消息队列,确定下发到所述设备的配置消息是否有丢失,包括:计算所述消息队列的队列长度、及计算所述当前生成配置消息数与已接收配置消息数之间的消息数量差值;当所述队列长度不等于所述消息数量差值时,确定需要下发到所述设备的配置消息存在丢失;当所述队列长度等于所述消息数量差值时,确定需要下发到所述设备的配置消息不存在丢失。

12、另外,在将所述设备对应的全量配置消息下发到所述设备后,将所述设备对应的当前生成配置消息数及已接收配置消息数清零及清空所述设备对应的消息队列。

本文档来自技高网...

【技术保护点】

1.一种防消息丢失方法,其特征在于,所述方法,包括:

2.根据权利要求1所述的防消息丢失方法,其特征在于,所述根据设备对应的当前生成配置消息数、已接收配置消息数及消息队列,确定下发到所述设备的配置消息是否有丢失,之前还包括:

3.根据权利要求2所述的防消息丢失方法,其特征在于,所述通过在Mysql中创建配置消息记录表来记录所述当前生成配置消息数及已接收配置消息数,包括:

4.根据权利要求1所述的防消息丢失方法,其特征在于,所述更新所述设备对应的已接收配置消息数,包括:

5.根据权利要求1所述的防消息丢失方法,其特征在于,所述根据设备对应的当前生成配置消息数、已接收配置消息数及消息队列,确定下发到所述设备的配置消息是否有丢失,之前还包括:

6.根据权利要求1所述的防消息丢失方法,其特征在于,所述根据设备对应的当前生成配置消息数、已接收配置消息数及消息队列,确定下发到所述设备的配置消息是否有丢失,包括:

7.根据权利要求1所述的防消息丢失方法,其特征在于,所述将所述设备对应的全量配置消息下发到所述设备之后,所述方法还包括:

8.一种防消息丢失装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的防消息丢失方法。

...

【技术特征摘要】

1.一种防消息丢失方法,其特征在于,所述方法,包括:

2.根据权利要求1所述的防消息丢失方法,其特征在于,所述根据设备对应的当前生成配置消息数、已接收配置消息数及消息队列,确定下发到所述设备的配置消息是否有丢失,之前还包括:

3.根据权利要求2所述的防消息丢失方法,其特征在于,所述通过在mysql中创建配置消息记录表来记录所述当前生成配置消息数及已接收配置消息数,包括:

4.根据权利要求1所述的防消息丢失方法,其特征在于,所述更新所述设备对应的已接收配置消息数,包括:

5.根据权利要求1所述的防消息丢失方法,其特征在于,所述根据设备对应的当前生成配置消息数、已接收配置消息数及...

【专利技术属性】
技术研发人员:戴程亮赵建华许义星
申请(专利权)人:深圳市潮流网络技术有限公司
类型:发明
国别省市:

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

1