一种多通道LoRaWAN网关下行调度方法技术

技术编号:25762673 阅读:26 留言:0更新日期:2020-09-25 21:10
本发明专利技术公开了一种多通道LoRaWAN网关下行调度方法,针对LoRaWAN网络中下行通信数量较多时,网关发送下行数据易发生冲突、Class C类型下行数据发送延时较长等问题,根据时间戳判断下行数据的类型,选择合适的下行队列,判断数据是否可以插入队列,使用不同的射频通道进行发送;对Class A和Class B类型的下行数据,根据时间戳判断能否插入队列;对Class C类型的下行数据,在待插入下行队列寻找合适的位置插入数据;对入队失败的下行数据,随机选择其他的下行队列,再次尝试插入队列,直到找到可插入的下行队列或丢弃数据。

【技术实现步骤摘要】
一种多通道LoRaWAN网关下行调度方法
本专利技术属于低功耗广域网通信
,特别涉及一种多射频通道的LoRaWAN网关下行通信调度技术。
技术介绍
LoRaWAN作为一种长距离、低功耗、低成本的物联网技术,广泛应用于各种海量设备接入的物联网场景。对于海量设备的物联网场景,重要的两个参数是通信可靠性和网络容量。对于通信可靠性,海量设备的影响主要体现在数据传输时的冲突。在现有LoRaWAN网络的研究中,提出了多种方案来降低上行通信的冲突概率,如优化信道分配方法、改进ADR策略,以及改进冲突避免方式等。但对下行通信冲突概率的优化,也多是通过对上行通信的合理规划实现,目前还没有方案直接对下行通信冲突进行优化。对于网络容量,单个LoRaWAN网关可以支持数万个终端节点的上行通信,但是在同时考虑下行通信的情况下,网关的容量会大幅度降低,且目前没有有效的措施增加网关的设备容量。因此,LoRaWAN网络的下行通信成为了限制网络通信可靠性和网络容量的主要原因。为提高LoRaWAN网关的数据转发能力,可以将网关扩展为多通道射频结构。在保持LoRaWAN网关硬件系统基本结构不变的前提下,为LoRaWAN网关增加多个射频设备。LoRaWAN网关最多可以支持4路射频设备,每路射频设备具有相同的结构和性能,且互相独立,通过SPI接口与控制部分连接。多通道LoRaWAN网关中,上行线程扩展为多个线程,每个线程维护了一个接收缓冲区,缓存该射频通道接收的上行数据。网关同时维护了多个发送队列,每个队列缓存一个射频通道需要发送的下行数据,并使用一个独立的jit线程进行维护。同时每个下行数据都携带了一个port字段,标识默认的下行待插入队列编号,用于队列选择和时间同步。通过多通道LoRaWAN网关下行调度方法,下行线程在将下行数据存入下行队列时,首先进行队列选择,根据队列情况和数据类型将数据放入合适的发送队列,保证下行数据被成功发送的概率最高。
技术实现思路
针对LoRaWAN网络中下行通信数量较多时,网关发送下行数据易发生冲突、ClassC类型下行数据发送延时较长等问题,本专利技术提出一种适用于多通道LoRaWAN网关的下行调度方法,使网关可以合理调度下行通信所使用的物理信道,提升下行数据的发送成功率,特别是保证ClassC类型数据的发送成功率和发送延时,同时增加网络容量。本专利技术采用的技术方案为:一种多通道LoRaWAN网关下行调度方法,根据时间戳判断下行数据的类型,选择待插入的下行队列,判断数据是否可以插入队列,使用不同的射频通道进行发送;对ClassA和ClassB类型的下行数据,根据时间戳插入队列;对ClassC类型的下行数据,在待插入下行队列寻找位置插入数据;对入队失败的下行数据,随机选择其他的下行队列,再次尝试插入队列,直到找到可插入的下行队列或丢弃数据。具体包括以下实现过程:首先,网关根据下行数据的时间戳信息,判断下行数据的类型,并选择一个待插入下行队列;对ClassA和ClassB类型的下行数据,根据时间戳插入队列;在下行队列中为ClassC类型的下行数据寻找插入位置,计算时间戳的值,具体包括以下步骤:A1、根据下行数据时间戳的值,判断下行数据的类型,若下行数据的时间戳不为0,则为ClassA或ClassB类型的下行数据,否则为ClassC类型的下行数据;A2、对ClassA或ClassB类型的下行数据,根据下行数据携带的port字段,选择port编号对应的下行队列作为待插入的队列;对ClassC类型的下行数据,随机选择一个下行队列,作为待插入队列,执行步骤A3;A3、在待插入的下行队列中,为ClsssC类型的下行数据寻找合适的插入位置,并设置临时时间戳;步骤A3具体为:A31、若队列为空,则将当前数据的时间戳临时设置为当前系统时间加1s,执行步骤A4;否则执行步骤A32;A32、根据网关系统时间设置当前数据的临时时间戳;判断当前数据的临时时间戳与队首数据的时间戳是否发生冲突,尝试将数据插入队首;若发生冲突,则执行步骤A33;否则执行步骤A4;A33、遍历下行队列,根据遍历到的数据的时间戳设置当前数据的临时时间戳;判断当前数据的临时时间戳是否与队列中下一个数据的时间戳发生冲突,尝试将当前数据插入遍历到的数据之后;若发生冲突,则继续遍历队列,直到遍历到队尾;否则执行步骤A4。A4、将当前ClassC类型下行数据的时间戳的值设置为临时时间戳的值。其次,根据下行数据时间戳的值,判断当前数据是否可以插入选择的下行队列中;若不能插入队列,则根据报错类型对下行数据进行不同的操作,具体包括以下步骤:B1、根据下行数据的时间戳判断当前数据入队时间是否过早,若是,则转到步骤B4;否则执行步骤B2;B2、根据下行数据的时间戳判断当前数据入队时间是否过晚,若是,则丢弃当前数据,结束下行流程;否则执行步骤B3;B3、遍历下行队列,判断当前数据的时间戳与下行队列中已有数据的时间戳是否发生冲突,尝试将数据插入队列,若遍历完队列,未发生冲突,则将当前数据插入下行队列;否则执行步骤B4;B4、选择一个其他下行队列,尝试将当前数据插入队列;步骤B4具体为:B41、随机选择一个未尝试过入队的下行队列作为待插入队列;若尝试插入所有队列失败,则丢弃当前数据,结束下行流程;否则执行步骤B42;B42、对ClassA或ClassB类型的下行数据,将数据时间戳转换为待插入队列的时间戳,返回步骤B1;对ClassC类型的数据,将数据时间戳重置为0,返回步骤A3。最后,将满足要求的下行数据插入队列,并对下行队列进行排序,等待发送数据,具体包括以下步骤:C1、将当前数据插入下行队列的队尾。若插入数据为Beacon,则将Beacon计数器的值加1。C2、根据时间戳大小对下行队列中的数据进行排序。本专利技术的有益效果:本专利技术的一种多通道LoRaWAN网关下行调度方法,可以提升LoRaWAN网络中下行数据的发送成功率,增加网络的设备容量;同时可以明显降低ClassC类型下行数据的平均发送延时。本专利技术的方法具备以下优点:1、为每个射频通道维护一个下行队列,使队列可容纳的下行数据总数量更多,多个通道可以并行发送下行数据,增加了LoRaWAN网关的数据转发能力和网络容量;2、对ClassA和ClassB类型的下行数据,根据时间戳判断数据是否可以加入下行队列,保证进入下行队列的数据可以成功发送,显著提升了下行数据的发送成功率;3、对ClassC类型的下行数据,不设置固定的时间戳,而是在下行队列中寻找合适的位置插入数据,大幅度提升了ClassC类型下行数据的发送成功率,同时明显降低了数据的发送延时。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1为本专利技术实施例提供的硬件结构框本文档来自技高网
...

【技术保护点】
1.一种多通道LoRaWAN网关下行调度方法,其特征在于,根据时间戳判断下行数据的类型,选择待插入的下行队列,判断数据是否可以插入队列,使用不同的射频通道进行发送;对Class A和Class B类型的下行数据,根据时间戳插入队列;对Class C类型的下行数据,在待插入下行队列寻找位置插入数据;对入队失败的下行数据,随机选择其他的下行队列,再次尝试插入队列,直到找到可插入的下行队列或丢弃数据。/n

【技术特征摘要】
1.一种多通道LoRaWAN网关下行调度方法,其特征在于,根据时间戳判断下行数据的类型,选择待插入的下行队列,判断数据是否可以插入队列,使用不同的射频通道进行发送;对ClassA和ClassB类型的下行数据,根据时间戳插入队列;对ClassC类型的下行数据,在待插入下行队列寻找位置插入数据;对入队失败的下行数据,随机选择其他的下行队列,再次尝试插入队列,直到找到可插入的下行队列或丢弃数据。


2.根据权利要求1所述的一种多通道LoRaWAN网关下行调度方法,其特征在于,网关根据下行数据的时间戳信息,判断下行数据的类型,并选择一个待插入下行队列;对ClassA和ClassB类型的下行数据,根据时间戳插入队列;在下行队列中为ClassC类型的下行数据寻找插入位置,计算时间戳的值,具体包括以下步骤:
A1、根据下行数据时间戳的值,判断下行数据的类型,若下行数据的时间戳不为0,则为ClassA或ClassB类型的下行数据,否则为ClassC类型的下行数据;
A2、对ClassA或ClassB类型的下行数据,根据下行数据携带的port字段,选择port编号对应的下行队列作为待插入的队列;对ClassC类型的下行数据,随机选择一个下行队列,作为待插入队列,执行步骤A3;
A3、在待插入的下行队列中,为ClsssC类型的下行数据寻找合适的插入位置,并设置临时时间戳;
A4、将当前ClassC类型下行数据的时间戳的值设置为临时时间戳的值。


3.根据权利要求2所述的一种多通道LoRaWAN网关下行调度方法,其特征在于,步骤A3具体为:
A31、若队列为空,则将当前数据的时间戳临时设置为当前系统时间加1s,执行步骤A4;否则执行步骤A32;
A32、根据网关系统时间设置当前数据的临时时间戳;判断当前数据的临时时间戳与队首数据的时间戳是否发生冲突,尝试将数据插入队首;若发生冲突,则执行步骤A33;否则执行步骤A4;
A3...

【专利技术属性】
技术研发人员:杨鲲梁萧刘强梅海波
申请(专利权)人:成都慧简联信息科技有限公司
类型:发明
国别省市:四川;51

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

1