一种Lora报文重装异常处理方法、发送端及接收端技术

技术编号:19827746 阅读:33 留言:0更新日期:2018-12-19 16:49
一种Lora报文重装异常处理方法、发送端及接收端。所述方法包括以下步骤:发送端在发送完最后一个重装请求报文后,启动超时定时器,等待接收端的分片重装确认报文;如果定时器未超时且收到分片重装确认报文,则本次分片发送结束;如果定时器超时且未收到接收端的分片重装确认报文,也未收到分片重装请求报文,则认为本次分片传输失败,丢弃分片,返回分片传输结果退出本次传输。接收端每次收到一个分片或重装请求报文后重新设置超时定时器的超时时间,如果超时一段时间后未能完成分片重装,则发出分片重装失败报文,然后释放已收到的分片,结束本次重装。

【技术实现步骤摘要】
一种Lora报文重装异常处理方法、发送端及接收端
本专利技术涉及Lora
,尤其涉及一种Lora报文重装异常处理方法、发送端及接收端。
技术介绍
LoRaWAN是为LoRa远距离通信网络设计的一套通讯协议和系统架构。Lora通信系统通常包含终端、基站、网络服务器、应用服务器这四个部分。基站和终端之间采用星型网络拓扑,由于LoRa的长距离特性,它们之间得以使用单跳传输。终端节点可以同时发给多个基站,基站则对网络服务器和终端之间的LoRaWAN协议数据做转发处理,将LoRaWAN数据分别承载在了LoRa射频传输和TCP/IP上。Lora通信系统中的终端分为三类:ClassA、ClassB、ClassC。ClassA的终端采用ALOHA协议按需上报数据。在每次上行后都会紧跟两个短暂的下行接收窗口,以此实现双向传输。这种操作是最省电的。ClassA的终端必须等待终端上报数据后才能对其下发数据,其应用场景通常为垃圾桶监测、烟雾报警器、气体监测等。对于ClassB的终端,除了ClassA的随机接收窗口,还会在指定时间打开接收窗口。为了让终端可以在指定时间打开接收窗口,终端需要从网关接收时间同步的信标。ClassB的终端在终端固定接收窗口即可对其下发数据,下发的延时有所提高,其应用场景通常为阀控水气电表等。ClassC的终端基本是一直打开着接收窗口,只在发送时短暂关闭。由于ClassC的终端处于持续接收状态,可在任意时间对终端下发数据。其应用场景通常为路灯控制等。ClassC的终端会比ClassA和ClassB更加耗电。图1和图2分别示出了ClassA和ClassC的终端的上下行的时序图。ClassC和ClassA基本是相同的,只是在ClassA休眠的期间,它都打开了接收窗口RX2。图3示出了ClassB的终端的上下行的时序图。ClassB的时隙则复杂一些,它有一个同步时隙beacon,还有一个固定周期的接收窗口ping时隙。如图3的示例中,beacon周期为128秒,ping周期为32秒。LoRaWAN规定数据帧类型有Confirmed或者Unconfirmed两种,即需要应答和不需要应答类型。厂商可以根据应用需要选择合适的类型。LoRa有两种数据包格式:显示和隐式,其中显示数据包的报头较短,主要包含字节数、编码率及是否使用CRC等信息。如图4,LoRa数据包包含:Preamble(前导码)、Header(可选类型的报头)、Payload(数据有效负载)。在Lora车间物联网环境下传输的应用数据主要包括开关量和状态量的传输,这些应用数据可以通过短报文的形式在Lora通信系统中进行传输。但也存在一些大数据传输的需要,这些应用数据由于体量较大,无法一次性地通过Lora的短报文进行传输,因此如何在Lora通信系统内传输大数据,并且在传输大数据时避免对正常应用报文的传输产生大的干扰,是一个急需解决的难题。同时,在数据传输失败时如何触发发送端进行报文重传,接收端在接收到报文后如何进行报文重装,以及重装异常时如何进行处理,也是利用Lora技术传输大数据时需要解决的技术问题。
技术实现思路
针对现有技术的缺陷,本专利技术提出一种Lora报文重装异常处理方法、发送端及接收端。该方法中,在发送端和接收端均设置超时定时器对重装过程进行控制,实现对重装异常的及时处理,该方法实现了利用Lora技术传输大数据的过程中对报文重装异常的及时处理,提高了数据传输的成功率。根据本专利技术的一个方面,本专利技术提出一种Lora报文重装异常处理方法,所述方法包括以下步骤:发送端在发送完最后一个重装请求报文后,启动超时定时器,等待接收端的分片重装确认报文;如果定时器未超时且收到分片重装确认报文,则本次分片发送结束;如果定时器超时且未收到接收端的分片重装确认报文,也未收到分片重装请求报文,则认为本次分片传输失败,丢弃分片,返回分片传输结果退出本次传输;接收端每次收到一个分片或重装请求报文后重新设置超时定时器的超时时间,如果超时一段时间后未能完成分片重装,则发出分片重装失败报文,然后释放已收到的分片,结束本次重装。根据本专利技术的一个方面,如果定时器未超时且收到接收端的分片报文重传请求,则发送端重置超时定时器,将请求重传的报文再次发送后,再次发送重装请求报文,重新启动超时定时器。根据本专利技术的一个方面,超时定时器的时长设置为传输预定数量个分片的最大传输时长,加上预定的时间余量。根据本专利技术的一个方面,所述预定数量为3。根据本专利技术的另一方面,本专利技术还提供了一种发送端,所述发送端包括处理器,所述处理器被配置为执行重装异常处理的方法。根据本专利技术的另一方面,本专利技术还提供了一种接收端,所述接收端包括处理器,所述处理器被配置为执行重装异常处理的方法。本专利技术提供的Lora报文重装异常处理方法、发送端及接收端,能够实现利用Lora技术传输大数据的过程中对报文重装异常的及时处理,提高了数据传输的成功率。通过参照以下附图及对本专利技术的具体实施方式的详细描述,本专利技术的特征及优点将会变得清楚。附图说明图1和图2是现有技术中ClassA和ClassC的终端的上下行的时序图;图3是现有技术中ClassB的终端的上下行的时序图;图4是现有技术中数据帧的结构示意图;图5是本专利技术的一个实施例中大数据重装异常处理流程示意图;图6是本专利技术中发送端和接收端进行大数据传输的流程示意图。具体实施方式为了使本专利技术的技术方案更加清楚、明了,下面将结合附图作进一步详述,应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。为了描述方便,本专利技术中除了指明服务器端和Lora终端之外,还使用发送端表示服务器端和Lora终端之一,使用接收端表示另一个,即若服务器是发送端,则Lora终端就是接收端,若Lora终端是发送端,则服务器就是接收端。本专利技术提供的Lora通信系统中大数据传输方法中,在上行方向上,Lora终端将大数据分片为固定长度的,Lora通信系统能够传输的短报文,连续传输给服务器端,分片完整接收后,服务器端进行报文重装。在下行方向上,服务器端将大数据分片为固定长度的,Lora通信系统能够传输的短报文,并通过SX1301以连续的方式传输给Lora终端,终端完整接收到来自服务器端的分包后,进行报文重装。具体地,大数据传输原则上在Lora的应用层实现,并向上层应用提供统一的接口。大数据传输在上行方向上,要求终端设备将大数据分片为固定长度的,Lora平台能够传输的短报文,并通过Lora终端模块以连续并尽可能快的方式传递给服务器端。可以在Lora终端节点内,采用关闭下行接收窗口的方式,进行连续的上行发送。发送完成后,要求服务器端进行接收确认,告知发送端已经接收到的分包序列。如果传输过程出现丢包,必须由终端设备进行重发。如果多次重发失败,即认为本次大数据传输失败。分片完整接收后,报文重装工作由服务器完成。大数据传输在下行方向,要求服务器端将大数据分片为固定长度的,Lora平台能够传输的短报文,并通过SX1301以连续并尽可能快的方式传递给Lora终端节点。其中,考虑到ClassA设备必须在有上行的情况才能接收下行数据,这种在下行方向传输大报文的方式不适合ClassA设备,更适合ClassC设备。建议使用Cla本文档来自技高网
...

【技术保护点】
1.一种Lora报文重装异常处理方法,其特征在于,所述方法包括以下步骤:发送端在发送完最后一个重装请求报文后,启动超时定时器,等待接收端的分片重装确认报文;如果定时器未超时且收到分片重装确认报文,则本次分片发送结束;如果定时器超时且未收到接收端的分片重装确认报文,也未收到分片重装请求报文,则认为本次分片传输失败,丢弃分片,返回分片传输结果退出本次传输;接收端每次收到一个分片或重装请求报文后重新设置超时定时器的超时时间,如果超时一段时间后未能完成分片重装,则发出分片重装失败报文,然后释放已收到的分片,结束本次重装。

【技术特征摘要】
1.一种Lora报文重装异常处理方法,其特征在于,所述方法包括以下步骤:发送端在发送完最后一个重装请求报文后,启动超时定时器,等待接收端的分片重装确认报文;如果定时器未超时且收到分片重装确认报文,则本次分片发送结束;如果定时器超时且未收到接收端的分片重装确认报文,也未收到分片重装请求报文,则认为本次分片传输失败,丢弃分片,返回分片传输结果退出本次传输;接收端每次收到一个分片或重装请求报文后重新设置超时定时器的超时时间,如果超时一段时间后未能完成分片重装,则发出分片重装失败报文,然后释放已收到的分片,结束本次重装。2.根据权利要求1所述的方法,其特征在于,如果定时器...

【专利技术属性】
技术研发人员:万能刘斐斓张寿喜孟祥敏许健
申请(专利权)人:苏州凌犀物联网技术有限公司
类型:发明
国别省市:江苏,32

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

1