自动调整数据报文长度的LoRaWAN系统及其方法技术方案

技术编号:22446712 阅读:28 留言:0更新日期:2019-11-02 06:04
本申请公开了一种自动调整数据报文长度的LoRaWAN系统实现方法,包括:步骤S202:发送方获取当前的SF值,根据对应的数据报文净荷从传输数据中确定第一分片,发送所述第一分片;步骤S204:接收方接收数据报文,进行保存;对于分片的数据还保存分片编号;步骤S206:发送方再次获取当前的SF值,根据对应的数据报文净荷从传输数据的剩余部分中确定下一分片,发送所述下一分片;步骤S208:重复步骤S204至步骤S206,直至接收方收到传输数据的最后一个分片;此时接收方将所有分片的数据根据分片编号重组为完整的传输数据。本申请通过分片传输,并且每一分片的长度与实时获取的SF值相对应,从而能最大限度地利用网络资源提升数据传输吞吐量和效率。

Lorawan system and its method of automatically adjusting data message length

【技术实现步骤摘要】
自动调整数据报文长度的LoRaWAN系统及其方法
本申请涉及一种LoRaWAN系统,特别是涉及LoRaWAN系统中获取特定参数并自适应调整数据报文长度的方案。
技术介绍
LoRaWAN(LongRangeWideAreaNetwork,长距离广域网)系统是一种长距离、低功耗的广域网。其网络架构中包含终端节点(EndNodes)、网关(Gateway)和服务器,服务器又分为直接与网关进行通讯的网络服务器以及位于网络服务器后端的应用服务器。终端节点与网关之间采用星型网络拓扑,每个终端节点可与多个网关采用LoRa(LongRange,长距离)技术以单跳(singlehop)方式进行射频通信。网关与服务器之间采用TCP/IP协议进行通信。网关对终端节点和服务器之间的LoRaWAN协议数据做转发处理。LoRa技术是美国semtech公司拥有的长距离、低功耗的无线通信技术,它的最大特点就是在同样的功耗条件下比其他无线方式传播的距离更远。LoRa技术在同样的功耗下比传统的无线射频通信距离扩大3-5倍,实现了低功耗和长距离的统一。LoRa技术采用线性调频扩频(chirpSpreadSpectrum,CSS)调制,扩频因子(SF,SpreadingFactor)可以为SF5、SF6、SF7、SF8、SF9、SF10、SF11、SF12,其传输速率为几百到几十Kbps之间。扩频因子越大,传输的数据速率越低,传输距离越长;反之亦然。LoRa技术在中国使用的是470MHz至510MHz的ISM频段,SRRC(中国国家无线电管理委员会)定义此频段的射频最大发射功率为50mW(17dBm),对信道资源占用最长为5000ms。因此在不同的SF值下,最长报文净荷为51字节(Bytes)至222字节之间。请参阅表1,LoRaWAN协议标准中规定了各个SF值对应的最大发送报文净荷(PacketPayload)长度。扩频因子报文净荷(字节)SF1251SF1151SF1051SF9115SF8222SF7222SF6222SF5222表1:LoRaWAN协议标准规定的各个SF对应的最大发送报文净荷长度。为了不违背LoRaWAN协议中报文长度的规定,现有技术中发送方的应用层在发送数据时报文净荷长度不会超过51字节。由于发送方的应用层获取不到LoRa技术当前使用的SF值,所以发送方的应用层不会根据SF值动态调整报文净荷的长度。
技术实现思路
本申请所要解决的技术问题是提供一种自动调整数据报文长度的LoRaWAN系统实现方法,可以让终端节点和服务器的应用层发送比LoRaWAN协议中所规定的报文长度长得多的报文,从而解除了报文长度对应用层业务的约束,简化了应用层的处理,使应用层的业务不受发送报文长度的限制。为此,本申请还要提供一种自动调整数据报文长度的LoRaWAN系统。为解决上述技术问题,本申请的自动调整数据报文长度的LoRaWAN系统实现方法包括如下步骤:步骤S202:发送方获取当前的SF值,判断传输数据的长度是否可在当前SF值对应的一个数据报文净荷中发送完毕;如果是,则将传输数据通过一个数据报文发送;如果否,则根据当前SF值对应的数据报文净荷从传输数据中确定第一分片,同时在当前数据报文中的分片标识、末片标识、分片编号均做相应标记,再发送所述第一分片;步骤S204:接收方接收数据报文,通过解析其中的分片标识了解到是完整的数据还是分片的数据,进行保存;对于分片的数据还保存分片编号;步骤S206:发送方再次获取当前的SF值,判断传输数据的剩余部分长度是否可在当前SF值对应的一个数据报文净荷中发送完毕;如果是,则将传输数据的剩余部分通过一个数据报文发送;如果否,则根据当前SF值对应的数据报文净荷从传输数据的剩余部分中确定下一分片,同时在当前数据报文中的分片标识、末片标识、分片编号均做相应标记,再发送所述下一分片;步骤S208:重复步骤S204至步骤S206,直至接收方收到传输数据的最后一个分片;此时接收方将所有分片的数据根据分片编号重组为完整的传输数据。上述自动调整数据报文长度的LoRaWAN系统实现方法通过对较大的传输数据进行分片传输,并且每一分片的长度与实时获取的SF值相对应,从而能最大限度地利用网络资源提升数据传输吞吐量和效率。进一步地,所述发送方具体指发送方的MAC层,所述接收方具体指接收方的MAC层。当所述发送方为服务器时,发送方的MAC层为服务器中的网络服务器,所述接收方为终端节点,接收方的MAC层为终端节点中的数据包长度控制单元。当所述发送方为终端节点时,发送方的MAC层为终端节点中的数据包长度控制单元,所述接收方为服务器,接收方的MAC层为服务器中的网络服务器。在LoRaWAN系统中,发送方的应用层无法获取当前SF值,本申请通过发送方的MAC层获取当前SF值,并由此决定当前分片的大小,执行对大数据的分片、增加标识等操作。进一步地,所述步骤S202中,所述第一分片的长度为当前SF的最长报文净荷;所述步骤S206中,所述下一分片的长度为当前SF的最长报文净荷。这是最优方案,实际上每一分片的长度小于或等于当前SF值对应的最长报文净荷都是可行的。进一步地,所述传输数据为确认帧;所述步骤S204中,接收方根据MHDR字段中的MType字段了解到所述数据报文是确认帧,并向发送方回复应答信息;所述步骤S206中,接收方在收到发送方回复的上一分片的应答信息后,再处理下一分片。这是在LoRaWAN系统中传输确认帧的特别的处理方式,是由确认帧的特性所决定的。进一步地,所述步骤S206中,当发送方未收到接收方回复的应答消息,则重复发送同一分片;当发送方对一个分片重发n次均未收到接收方回复的应答信息,则认为整个报文发送失败。这是传输失败的一种情形。进一步地,所述方法还包括在LoRaWAN数据报文中增加分片标识、末片标识和分片编号;所述分片标识用来表示LoRaWAN数据报文是否为分片的数据报文;所述末片标识用来表示当为分片的数据报文时是否为最后一个分片;所述分片编号用来表示当为分片的数据报文时的分片的前后顺序。这些新增加的标识等信息用来协助发送方实现分片、以及协助接收方重组分片。进一步地,所述分片标识、末片标识和分片编号均在MAC层数据结构中增加,也就是在PHYPayload字段中增加。进一步地,所述分片标识、末片标识均在PHYPayload字段中的MHDR字段中增加。这是一种优选的实现方式。进一步地,使用MHDR字段中的RFU字段的第二比特位作为分片标识;使用MHDR字段中的RFU字段的第三比特位作为末片标识;使用FHDR字段中的FOpts字段作为分片编号。这是一种具体的优选实现方式。进一步地,所述方法还包括:当接收方收到一个新的上行或下行数据的第一分片,而之前所接收的上行或下行数据未能收到最后一个分片,则表明之前的接收失败,接收方丢弃之前接收的未能组成一个完整上行或下行数据的所有分片。这是传输失败的另一种情形。进一步地,所述方法还包括:当接收方收到一个上行或下行数据的某个分片,而与之前所接收的分片的分片编号不连续,则表明本轮接收失败,接收方丢弃该分片以及之前接收的未能组成一个完整上行或下行数据的所有分片。这是传输失败的另一种情形。进一步地,所述本文档来自技高网
...

【技术保护点】
1.一种自动调整数据报文长度的LoRaWAN系统实现方法,其特征是,包括如下步骤:步骤S202:发送方获取当前的SF值,判断传输数据的长度是否可在当前SF值对应的一个数据报文净荷中发送完毕;如果是,则将传输数据通过一个数据报文发送;如果否,则根据当前SF值对应的数据报文净荷从传输数据中确定第一分片,同时在当前数据报文中的分片标识、末片标识、分片编号均做相应标记,再发送所述第一分片;步骤S204:接收方接收数据报文,通过解析其中的分片标识了解到是完整的数据还是分片的数据,进行保存;对于分片的数据还保存分片编号;步骤S206:发送方再次获取当前的SF值,判断传输数据的剩余部分长度是否可在当前SF值对应的一个数据报文净荷中发送完毕;如果是,则将传输数据的剩余部分通过一个数据报文发送;如果否,则根据当前SF值对应的数据报文净荷从传输数据的剩余部分中确定下一分片,同时在当前数据报文中的分片标识、末片标识、分片编号均做相应标记,再发送所述下一分片;步骤S208:重复步骤S204至步骤S206,直至接收方收到传输数据的最后一个分片;此时接收方将所有分片的数据根据分片编号重组为完整的传输数据。

【技术特征摘要】
1.一种自动调整数据报文长度的LoRaWAN系统实现方法,其特征是,包括如下步骤:步骤S202:发送方获取当前的SF值,判断传输数据的长度是否可在当前SF值对应的一个数据报文净荷中发送完毕;如果是,则将传输数据通过一个数据报文发送;如果否,则根据当前SF值对应的数据报文净荷从传输数据中确定第一分片,同时在当前数据报文中的分片标识、末片标识、分片编号均做相应标记,再发送所述第一分片;步骤S204:接收方接收数据报文,通过解析其中的分片标识了解到是完整的数据还是分片的数据,进行保存;对于分片的数据还保存分片编号;步骤S206:发送方再次获取当前的SF值,判断传输数据的剩余部分长度是否可在当前SF值对应的一个数据报文净荷中发送完毕;如果是,则将传输数据的剩余部分通过一个数据报文发送;如果否,则根据当前SF值对应的数据报文净荷从传输数据的剩余部分中确定下一分片,同时在当前数据报文中的分片标识、末片标识、分片编号均做相应标记,再发送所述下一分片;步骤S208:重复步骤S204至步骤S206,直至接收方收到传输数据的最后一个分片;此时接收方将所有分片的数据根据分片编号重组为完整的传输数据。2.根据权利要求1所述的自动调整数据报文长度的LoRaWAN系统实现方法,其特征是,所述发送方具体指发送方的MAC层,所述接收方具体指接收方的MAC层;当所述发送方为服务器时,发送方的MAC层为服务器中的网络服务器,所述接收方为终端节点,接收方的MAC层为终端节点中的数据包长度控制单元;当所述发送方为终端节点时,发送方的MAC层为终端节点中的数据包长度控制单元,所述接收方为服务器,接收方的MAC层为服务器中的网络服务器。3.根据权利要求1所述的自动调整数据报文长度的LoRaWAN系统实现方法,其特征是,所述步骤S202中,所述第一分片的长度为当前SF值对应的最长报文净荷;所述步骤S206中,所述下一分片的长度为当前SF值对应的最长报文净荷。4.根据权利要求1所述的自动调整数据报文长度的LoRaWAN系统实现方法,其特征是,所述传输数据为确认帧;所述步骤S204中,接收方根据MHDR字段中的MType字段了解到所述数据报文是确认帧,并向发送方回复应答信息;所述步骤S206中,接收方在收到发送方回复的上一分片的应答信息后,再处理下一分片。5.根据权利要求4所述的自动调整数据报文长度的LoRaWAN系统实现方法,其特征是,所述步骤S206中,当发送方未收到接收方回复的应答消息,则重复发送同一分片;当发送方对一个分片重发n次均未收到接收方回复的应答信息,则认为整个报文发送失败。6.根据权利要求1所述的自动调整数据报文长度的LoRaWAN系统实现方法,其特征是,所述方法还包括在LoRaWAN数据报文中增加分片标识、末片标识和分片编号;所述分片标识用来表示LoRaWAN数据报文是否为分片的数据报文;所述末片标识用来表示当为分片的数据报文时是否为最后一个分片;所述分片编号用来表示当为分片的数据报文时的分片的前后顺序。7.根据权利要求5所述的自动调整数据报文长度的LoRaWAN系统实现方法,其特征是,所述分片标识、末片标识和分片编号均在MAC层数据结构中增加,也就是在PHYPayload字段中增加。8.根据权利要求5所述的自动调整数据报文长度的LoRaWAN系统实现方法,其特征是,使用MHDR字段中的RFU字段的第二比特位作为分片标识;使用MHDR字段中的RFU字段的第三比特位作为末片标识;使用FHDR字段中的FOpts字段作为分片编号。9.根据权利要求1所述的自动调整数据报文长度的LoRaWAN系统实现方法,其特征是,所述方法还包括:当接收方收到一个新的上行或下行数据的第一分片,而之前所接收的上行或下行数据未能收到最后一个分片,...

【专利技术属性】
技术研发人员:叶傲刘森李其攀
申请(专利权)人:翱捷科技深圳有限公司
类型:发明
国别省市:广东,44

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

1