一种针对蓝牙Mesh远程控制系统的优化方法技术方案

技术编号:26532570 阅读:33 留言:0更新日期:2020-12-01 14:16
本文发明专利技术公开了一种针对蓝牙Mesh远程控制系统的优化方法,通过一种ack和超时重发机制,对设定时间内没有收到ack报文的数据包进行有限次重发,在一定程度上可以增加系统的可靠性;对于丢包重传机制可能带来时延增加的问题,通过一种优先级队列算法,减小了高优先级指令的排队时延,从而减小这部分指令的整体时延。本发明专利技术在保证远程数据传输可靠性的前提下,有效降低了远程控制中高优先级指令的端到端时延,从而适用更为广的应用场景,使得蓝牙Mesh在物联网远程控制中的价值进一步得到提升。

【技术实现步骤摘要】
一种针对蓝牙Mesh远程控制系统的优化方法
本专利技术属于物联网远程控制
,具体涉及一种针对蓝牙Mesh远程控制系统的优化方法。
技术介绍
蓝牙是一种短距离无线通信技术,是物联网的基础技术之一。蓝牙技术主要包含经典蓝牙和低功耗蓝牙技术,低功耗蓝牙技术被广泛应用在医疗保健、运动健身、安保系统、传感器物联网等众多领域。为解决低功耗蓝牙技术存在的传输距离短、组网能力差等问题,2017年7月,蓝牙技术联盟颁布了第一版的蓝牙Mesh标准规范,以实现Mesh协议的全球互操作性。Mesh是低功耗蓝牙的一种全新网络拓扑结构选择,相较于之前的点对点、点对多点蓝牙通信,Mesh功能支持蓝牙设备进行多对多通信,非常适合楼宇自动化、传感器网络、资产追踪等应用领域。蓝牙Mesh远程控制还没有统一的标准,依然有很多问题需要解决,例如丢包率、时延、吞吐量、功耗问题等等,其中丢包率是物联网远程控制领域的研究人员最为关心的性能指标。当前物联网远程通信机制由于网络复杂度高、网络拥堵、网络故障等问题,在一定概率上会造成信息不能正确送达或者在通信过程中丢失,这种丢包在控制具有一定危害性的设备上有很大的风险,比如温度火力电压等方面,所以对于远程控制系统,降低丢包率是极具现实意义的。在远程控制中有很多措施可以用来降低丢包率,但是这些措施往往会带来更大的网络开销,导致时延增加,所以系统时延问题也是需要考虑的。基于以上考虑,针对物联网远程控制的功能和性能需求,本文设计一种基于MQTT技术和蓝牙Mesh的远程控制方案,并在此基础上针对目前存在的丢包问题提出一种系统级的ack和丢包重传机制以降低整个系统的丢包率。针对丢包率优化导致系统复杂度提升可能带来的时延问题,提出高低优先级队列思想以实现高优先级指令优先执行,在一定程度上降低高优先级指令的时延。
技术实现思路
专利技术目的:为了解决上述蓝牙Mesh远程控制系统中的丢包问题,本专利技术提出了一种针对蓝牙Mesh远程控制系统的优化方法,并在本方案的基础上提出了对网络丢包率的优化方法,能够有效提升本方案的可靠性。技术方案:为实现上述目的,本专利技术所述的一种针对蓝牙Mesh远程控制系统的优化方法,包括如下步骤:(1)设计丢包重传机制:结合蓝牙Mesh关于ack机制的实现设计一种全局的ack和超时重传机制,对于需求高可靠性的指令,在指令通过终端发送给对应的节点之后,节点也回馈一个ack给终端系统,如果终端系统在指定的时间范围内没有收到回复,则重发该指令;对于对可靠性要求不高的其他指令,数据包发送之后,节点不需要反馈ack给终端,终端也不需要关注该次传输是否成功;(2)设计指令优先级排队机制:加入两个不同优先级的指令队列,在带优先级的远程控制指令到达本地控制器后,将指令放入对应优先级的指令队列中;应用程序先拿出优先级高的指令执行,在高优先级指令执行完成后,再拿出低优先级指令继续执行。进一步地,所述步骤(1)包括以下步骤:(11)开发人员对自己的控制指令设计优先级,对于可靠性需求较高的指令,在指令冲远程控制端发送出去后,将该数据包存储在一个队列中;(12)数据包发送的同时创建一个超时定时器,用于等待ack数据包的计时;超时时间由每次传输的RTT决定;(13)数据包经过服务器和网关到达蓝牙Mesh的控制端,控制端通过可靠消息发送到蓝牙Mesh的受控节点;(14)受控节点收到消息后给远程控制端回复一个ack报文,用于判断是否传输成功;(15)远程控制端收到ack报文,将等待队列中的相关数据删除,同时删除定时器;(16)计算本次传输的RTT,通过本次传输之前的超时时间和本次的RTT计算新的超时时间用于下次传输;(17)如果超时后还没有收到数据包,则执行重传操作,相同的数据包最多执行8次重传;(18)对于对可靠性要求不高的其他指令,数据包发送之后,节点不需要反馈ack给终端,终端也不需要关注该次传输是否成功。进一步地,所述步骤(2)包括以下步骤:(21)远程控制端给每个指令数据包分配一个优先级,分别为高优先级和低优先级;(22)蓝牙Mesh控制器维护两个指令队列,分别为高优先级队列和低优先级队列;(23)指令经过服务器到达网关之后,蓝牙Mesh控制器判断该指令为高优先级还是低优先级;如果为高优先级则入队高优先级队列,反之入队低优先级队列;(24)蓝牙Mesh指令调度器循环调度队列中的指令出来执行,优先调度高优先级队列中指令,待高优先级队列中的指令为空之后再调度低优先级指令;其中同一优先级队列中的指令根据先入先出规则调度;(25)蓝牙Mesh控制器将调度出来的指令发送给蓝牙Mesh受控节点并执行。进一步地,步骤(2)所述的高优先级指令始终优先于低优先级指令执行。进一步地,步骤(14)所述的ack报文包括报文标识和节点状态信息。有益效果:与现有技术相比,本专利技术的有益效果:1、本专利技术解决了网络丢包带来的系统不可靠问题;一定程度上降低高优先级队列中指令的整体时延,提高了数据传输的实时性;2、降低系统丢包率的设计指标,在系统复杂度提升的同时,平均端到端时延的提升也可以控制在有限范围。附图说明图1为本专利技术的流程图;图2为本专利技术丢包重传机制的过程框图;图3为本专利技术指令优先级排队机制指令入队流程图;图4为本专利技术指令优先级排队机制指令调度流程图。具体实施方式下面结合附图对专利技术的技术方案进行详细的说明。本专利技术提供一种针对蓝牙Mesh远程控制系统的优化方法,远程控制系统的基本逻辑思路为:应用程序(PC端)需要远程控制灯节点的时候,发送一个控制命令,通过在阿里云上搭建的MQTT服务器转发至同样连接MQTT服务器的智能设备,智能设备通过低功耗蓝牙GATT承载将消息发送给蓝牙Mesh网络的代理节点,代理节点将代理数据包转换为蓝牙Mesh数据包然后将消息通过广播的方式直接送达或者通过中继节点转发到达受控节点,进而执行相应操作;当应用程序需要获得节点信息的时候,以传感器节点为例,消息在通过远程发送到蓝牙Mesh网络后,传感器节点的朋友节点首先收到该消息,这个时候储存在朋友节点内的传感器信息就会发送给蓝牙Mesh客户端,接着该消息会通过云服务器回复给控制端,需要的情况下,该数据可以上传到数据库以供后续查看和处理。本专利技术的优化方案为:通过ack机制向远程控制终端通知该报文是否成功送达受控节点,并通过超时重传机制对于那些可能丢失的数据包进行重发操作,这种方法可以有效提升系统的整体可靠性;通过优先级队列机制,增加了部分对时延敏感指令的实时性。如图1所示,具体包括以下步骤:步骤1:设计丢包重传机制:结合蓝牙Mesh关于ack(Acknowledge)机制的实现设计一种全局的ack和超时重传机制,对于需求高可靠性的指令,在指令通过终端发送给对应的节点之后,节点也回馈一个ack给终端系统,如果终端系统在指定的时间范围内本文档来自技高网
...

【技术保护点】
1.一种针对蓝牙Mesh远程控制系统的优化方法,其特征在于,包括以下步骤:/n(1)设计丢包重传机制:结合蓝牙Mesh关于ack机制的实现设计一种全局的ack和超时重传机制,对于需求高可靠性的指令,在指令通过终端发送给对应的节点之后,节点也回馈一个ack给终端系统,如果终端系统在指定的时间范围内没有收到回复,则重发该指令;对于对可靠性要求不高的其他指令,数据包发送之后,节点不需要反馈ack给终端,终端也不需要关注该次传输是否成功;/n(2)设计指令优先级排队机制:加入两个不同优先级的指令队列,在带优先级的远程控制指令到达本地控制器后,将指令放入对应优先级的指令队列中;应用程序先拿出优先级高的指令执行,在高优先级指令执行完成后,再拿出低优先级指令继续执行。/n

【技术特征摘要】
1.一种针对蓝牙Mesh远程控制系统的优化方法,其特征在于,包括以下步骤:
(1)设计丢包重传机制:结合蓝牙Mesh关于ack机制的实现设计一种全局的ack和超时重传机制,对于需求高可靠性的指令,在指令通过终端发送给对应的节点之后,节点也回馈一个ack给终端系统,如果终端系统在指定的时间范围内没有收到回复,则重发该指令;对于对可靠性要求不高的其他指令,数据包发送之后,节点不需要反馈ack给终端,终端也不需要关注该次传输是否成功;
(2)设计指令优先级排队机制:加入两个不同优先级的指令队列,在带优先级的远程控制指令到达本地控制器后,将指令放入对应优先级的指令队列中;应用程序先拿出优先级高的指令执行,在高优先级指令执行完成后,再拿出低优先级指令继续执行。


2.根据权利要求1所述的一种针对蓝牙Mesh远程控制系统的优化方法,其特征在于,所述步骤(1)包括以下步骤:
(11)开发人员对自己的控制指令设计优先级,对于可靠性需求较高的指令,在指令冲远程控制端发送出去后,将该数据包存储在一个队列中;
(12)数据包发送的同时创建一个超时定时器,用于等待ack数据包的计时;超时时间由每次传输的RTT决定;
(13)数据包经过服务器和网关到达蓝牙Mesh的控制端,控制端通过可靠消息发送到蓝牙Mesh的受控节点;
(14)受控节点收到消息后给远程控制端回复一个ack报文,用于判断是否传输成功;
(15)远程控制端收到ack报文,将等待队列中的相关数据删除,同时删除定时器;
(16)计算...

【专利技术属性】
技术研发人员:王薇章卓陈凯
申请(专利权)人:苏州博联科技有限公司
类型:发明
国别省市:江苏;32

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

1