一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种LoRaWAN网络轮询调度方法与系统

2022-10-13 06:15:19 来源:中国专利 TAG:

一种lorawan网络轮询调度方法与系统
技术领域
1.本发明属于lorawan无线接入组网管理领域,涉及在lorawan网络组网、传输过程中提高无线信道利用率的管理方法,具体涉及一种lorawan网络轮询调度方法与系统。


背景技术:

2.lora是一种低功耗广域网(low power wide area network,lpwan)中的一种无线技术,具有长距离、低功耗、低速率、低成本的特点,适合大规模部署。覆盖范围可以是一个城市,甚至是一个国家,可以实现将收集的数据集成到公共数据平台。建立如智慧城市、智慧交通、智慧工厂等项目,还可以利用这些数据可以进行后期的大数据挖掘,有利于城市管理、社会公共管理、工业互联网、发展咨询等项目。
3.lorawan网络架构由三部分组成,包括终端、网关(gateway)或称为基站、网络服务器(network server,简称ns)组成。lorawan网络终端数据上报时,终端向外界发送无线数据;网关接收到无线信号后,会通过以太网或者无线运营商网络将数据上报到网络服务器;网络服务器将接收的数据保存下来,并且识别上报的数据包类型,如果是需要回复的数据包,则再将回复报文推送给网关,由网关以无线的形式发送出去。在网关与网络服务器之间交互协议是完整的tcp/ip协议,在终端与网关之间以无线方式交互,使用属于mac层的lorawan协议。
4.在lorawan规范中,定义两种终端接入模式,分别为over-the-air activation(otaa)和activation by personalization(abp)。otaa模式下,会根据终端随机生成的devnonce和网络服务器随机生成的appnonce自动生成nwkskey(network session key)和appskey(application session key),并且由网络服务器分配终端的唯一地址;abp模式下则是使用固定的nwkskey和appskey,终端的唯一地址也是在出厂的时候烧录到芯片,在上线使用过程中不可更改。终端的地址简称为devaddr,两种模式相比,otaa的安全性更好,abp则接入使用比较简单。
5.在lorawan规范中,对终端节点定义了三种工作模式,class a,class b,class c。class a工作模式时,终端在发送数据后,会在1秒后开启一个下发数据接收窗口,简称rx1,如果在rx1没有收到下行数据,那么在1秒后再开启一个rx2接收窗口,rx1和rx2的接收频点不同。class b工作模式时,终端节点除了在rx1和rx2接收网络服务器的数据外,还可以在和网络服务器同步完成时间戳之后,周期性的打开一个接收窗口来接收网络服务器发送给它的数据。class c工作模式是除了在终端主动上报后开启rx1,rx2接收窗口,其它时间段一直在class c频点开启接收窗口,处于常接收模式。
6.根据lorawan1.01规范定义,中国区470频段上行频点从470.3mhz至489.3mhz,其中每200khz为一个频点,一个频点对应为一个工作信道;例如470.3mhz一个信道,470.5mhz一个信道,等等共划分为96个信道。lorawan网关常用的网关模块sx1301是一种半双工的接收模块,它在工作时可以同时接收8个连续上行频点,比如一个网关可以同时收到终端节点后上频点为470.3mhz,470.5mhz,470.7mhz,470.9mhz,471.1mhz,471.3mhz,471.5mhz,
471.7mhz的数据。
7.不管终端节点工作在哪种模式,lorawan网络都会存在丢包的情况,下面分别从网关侧和终端侧分析丢包的原因。
8.lorawan网关采用的半双工模式收发模块,在发送下行报文时,上报接收信道就会关闭,这样就会导致在发送下行数据时,部分终端传感器上报的数据出现丢包的情况。如果同一个频点上同时接收到两个或多个终端的上报数据,在解调的时候由于同频干扰,较好的情况能够解出其中一个终端的上报数据,但也可能一个也解不出。
9.在lorawan规范中,终端节点的上报模式是一种aloha的方式,一般频点范围内的终端都共享这些频点,它们根据自己的触发机制上报数据,相互间没有约束,这样就会存两个或者多个终端传感器同时发送数据导致冲突、碰撞的情况,最后两者都不能上报成功的情况。有一些检测技术可以在上报数据时预先检测频点是否已被占用,如果被占用就更换一个频点;如果空闲则直接上报数据。这种检测在终端节点数量较多的情况下,还是会存在冲突碰撞导致丢包,上报失败。
10.lorawan网络的数据上报由终端传感器自动的触发条件决定,这种情况下存在信道利用率不平衡的情况,某些时段内利用率高,甚至超负荷,就会出现大量的丢包;这样如果传感器具有重发机制,则会导致信道风暴,导致全频段瘫痪。某些时间内又可能利用率很低。这样信道利用不平衡,不利于承载业务的实施。


技术实现要素:

11.发明目的:针对上述现有技术存在的问题,本发明的目的是提供是一种lorawan网络轮询调度方法与系统,以提高频点资源的利用率,解决lorawan无线网络丢包、冲突、碰撞的问题,充分提高无线信道利用率。
12.技术方案:为达到上述发明目的,本发明采用如下技术方案:
13.一种lorawan网络轮询调度方法,包括如下步骤:
14.将lorawan上行信道频段范围以网关为单位进行划分,每个网关工作在一个管理域,不同管理域的工作频段不同;
15.在网络服务器中将终端地址与网关进行绑定,指定终端的数据只能由一个指定网关接收,同一网关绑定的不同终端采用不同的工作频点;
16.终端没有入网之前,在约定的入网组播频点监听入网组播报文,在收到入网组播报文后检测是否有自己的地址,如果没有则继续监听,如果有则响应并使用入网组播报文中组播下行频点及扩频因子开始收听业务轮询组播报文;
17.网络服务器通过网关发出业务轮询组播报文及入网组播报文,在每轮发送业务轮询组播报文之前,网络服务器筛选出上次轮询中未有回复的终端和新增加的终端,对这些终端发送入网组播报文;入网组播报文中包括网关使用的组播下行频点及扩频因子、网关的工作频点组和终端地址列表,业务轮询组播报文中终端地址为约定的固定值,信息负载内容是响应终端地址表;
18.终端在收到业务轮询组播报文后,只会在组播报文中含有自己的地址的情况下才会上报数据,上报时根据终端自己地址在地址列表中的顺序确定频点组中的工作频点。
19.作为优选,将lorawan上行信道频段范围划分为12个频段,以8个频点为一段,网络
服务器将8个终端分为一组,每个网关最多绑定8个终端。
20.作为优选,所述终端的工作模式为class c模式。
21.作为优选,在lorawan下行信道频段内约定三个入网组播频点,终端具有频点自动切换机制,若在其中一个频点未监听到入网组播报文,则切换频点,重新监听。
22.作为优选,所述入网组播报文的报文头由版本、频点组号、组播下行频点、扩频因子和预留字段组成。
23.作为优选,所述业务轮询组播报文中的响应终端地址表由版本、频点组号和与网关绑定的终端地址列表组成。
24.作为优选,每个网关在下发完成业务轮询组播报文后,会留接收等待时间,在等待时间内,不向终端发送报文。
25.一种lorawan网络轮询调度系统,包括网络服务器、网关和终端,其特征在于,将lorawan上行信道频段范围以网关为单位进行划分,每个网关工作在一个管理域,不同管理域的工作频段不同;所述网络服务器,用于将终端地址与网关进行绑定,指定终端的数据只能由一个指定网关接收,同一网关绑定的不同终端采用不同的工作频点;以及通过网关发出业务轮询组播报文及入网组播报文,在每轮发送业务轮询组播报文之前,筛选出上次轮询中未有回复的终端和新增加的终端,对这些终端发送入网组播报文;入网组播报文中包括网关使用的组播下行频点及扩频因子、网关的工作频点组和终端地址列表,业务轮询组播报文中终端地址为约定的固定值,信息负载内容是响应终端地址表;
26.所述终端在没有入网之前,在约定的入网组播频点监听入网组播报文,在收到入网组播报文后检测是否有自己的地址,如果没有则继续监听,如果有则响应并使用入网组播报文中组播下行频点及扩频因子开始收听业务轮询组播报文;所述终端在收到业务轮询组播报文后,只会在组播报文中含有自己的地址的情况下才会上报数据,上报时根据终端自己地址在地址列表中的顺序确定频点组中的工作频点。
27.有益效果:本发明将整个上报信道范围划分为多个频段,指定网关的工作频段,绑定终端上报网关,由网络服务器将终端分组,依次对分组中的终端下发入网组播报文和业务轮询组播报文,使得每个终端都有独占的上报频点空闲时隙,避免传统lorawan网络中发送时隙不确定性引起的冲突碰撞导致丢包的情况。本发明适用于高采集率,低丢包率,高可靠性的应用场景中,能够在充分提高信道利用率情况下,减少上报数据丢包,甚至在正常运行情况下,做到零丢包的情况。
附图说明
28.图1是cn470-510频段划分示意图。
29.图2是本发明实施例中单次业务组播轮询处理过程示意图。
具体实施方式
30.下面结合附图和具体实施例,进一步阐明本发明。应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
31.本发明实施例公开的一种lorawan网络轮询调度方法,首先将lorawan上行信道频
段范围以网关为单位进行划分,并在网络服务器中将终端地址与网关进行绑定,指定终端的数据只能由一个指定网关接收,同一网关绑定的不同终端采用不同的工作频点;网络服务器通过网关发出业务轮询组播报文及入网组播报文,在每轮发送业务轮询组播报文之前,网络服务器筛选出上次轮询中未有回复的终端和新增加的终端,对这些终端发送入网组播报文;终端没有入网之前,在约定的入网组播频点监听入网组播报文,在收到入网组播报文后检测是否有自己的地址,如果没有则继续监听,如果有则响应并使用入网组播报文中组播下行频点及扩频因子开始收听业务轮询组播报文;终端在收到业务轮询组播报文后,只会在组播报文中含有自己的地址的情况下才会上报数据,上报时根据终端自己地址在地址列表中的顺序确定频点组中的工作频点。
32.具体地,在实施过程中,先将lorawan频段范围进行划分。根据lorawan协议规范1.0.1对cn470-510段定义,上行共96信道,下行48个信道。根据lorawan网关模块sx1301和sx1255的特点,网关只能同时接收8个频点,所以本发明实施例中以8个频点为一段对上行信道频段范围进行划分,可以分为12个频段,如图1所示。
33.本发明实施例以网关为单位进行频段划分,每个网关工作在一个管理域,每个管理域的接收频段不同,一个管理域只能有一个接收频段,需要为不同管理域的网关配置为不同的工作频段。即在同一个部署空间区域相互无线覆盖影响范围内,最多12个网关。假设以第一个网关为例,其工作在第一个频段,其监听的上行频点为470.3mhz,470.5mhz,470.7mhz,470.9mhz,471.1mhz,471.3mhz,471.5mhz,471.7mhz,依次类推,工作在第二个频段的网关,接收频点为471.9开始后面8个频点。
34.然后把终端添加到网络服务器中时,将终端地址(devaddr)与网关进行绑定,指定终端的数据必须由一个指定网关接收。
35.本发明实施例中可以指定多个入网组播频段,如指定三个入网组播频点,503.5mhz,505.5mhz,507mhz。
36.终端没有入网之前,在三个指定频点中随机选择一个频点监听。在监听频点上收到入网包后,检测入网数据中是否有自己的地址,如果没有自己地址,则丢弃这个入网包;如果存在自己地址,则需要响应这个入网包。如果长时间没有收到入网包,终端需要具有频点自动切换的机制,重新选择监听频点。终端在发送完成入网响应包后,使用入网组播报文中组播下行频点及扩频因子(spreading factor,sf)开始收听业务轮询组播。
37.网络服务器对网关绑定的终端进行分组,本实施例中每8个终端为一组。依次对这些分组中的终端下发组播报文。网络服务器通过网关发出业务轮询组播报文及入网组播报文,在每轮发送业务轮询组播报文之前,网络服务器筛选出上次轮询中未有回复的终端和新增加的终端,对这些终端发送入网组播报文。
38.入网组播报文内容包括网关使用的组播下行频点,组播下行sf,网关的工作频点组,还有其中8个终端的地址数据。入网组播报文使用三个约定的入网组播频点发送,每个频点发送一轮。
39.入网组播报文格式为:payload(35byte),报文头(3byte),终端地址列表(32byte)。payload为信息负载,报文头定义如表1所示,终端地址列表定义如表2所示。
40.表1报文头定义
[0041][0042]
表2终端地址列表定义
[0043]
devaddr1devaddr2
……
devaddr7devaddr84byte4byte
……
4byte4byte
[0044]
其中,终端地址列表不满8个时,后面不填充,列表部分必为4的整数倍。入网响应报文使用fport端口号为251的标识,数据可以为空,网络服务器不做检测。对于三个约定的频点,ch信道编号可对应0-2。
[0045]
如图2所示,在终端正常入网后,网络服务器以组播轮询的机制要求终端传感器数据上报。由网络服务器发送业务轮询组播发送请求至网关,由网关发出业务轮询组播报文,这个网关绑定的所有终端都会收到业务轮询组播报文信息;终端在收到业务轮询组播报文后,根据报文规范的信息,进行判断是否丢弃,或者上报数据。终端传感器工作在class c模式,适用于可提供持续供电的终端传感器。
[0046]
业务轮询组播报文遵循lorawan规范,区别在于devaddr和payload部分的约定。组播报文中devaddr内容填为ffffffff。
[0047]
业务轮询组播报文payload部分内容是响应终端地址表,共占用33byte(具体定义如表3所示),每个终端地址表示响应终端根据其所在地址表中的顺序,自行匹配所在工作频段中应使用的上报数据发送频点。
[0048]
表3业务轮询组播报文定义
[0049]
versionchdevaddr1devaddr2
……
devaddr7devaddr84bit4bit4byte4byte
……
4byte4byte
[0050]
其中,version内容的版本中,组播报文版本2用值2表示,占第一字节的高4位
[0051]
ch信道编号从0至15表示,占第一字节低4位,表示终端上报频点使用频点组。本例中96个上行信道,8个一组,最多12个,编号可对应0-12。终端按照这个频点组的频点次序来依次决定自己的上报频点。devaddr1~8分别为终端的地址,各占4字节,用大端表示。
[0052]
假设网关工作在第1个频段,频点范围为470.3mhz到471.7mhz,那么收到业务轮询组播报文的终端分别使用的上报对应频点如表4所示。
[0053]
表4业务轮询组播报文终端地址对应频点
[0054]
终端地址上行频点devaddr1470.3devaddr2470.5devaddr3470.7devaddr4470.9devaddr5471.1devaddr6471.3devaddr7471.5
devaddr8471.7
[0055]
如果下发业务轮询组播报文时只有3个终端,那么地址段中只需要devaddr1,devaddr2,devaddr3三个终端地址。
[0056]
本实施例中,网络服务器通过网关每次下发的轮询组播报文中包含8个终端地址,终端在收到组播报文后只会在组播报文中含有自己的地址的情况下才会上报数据,并且自己地址是根据地址表中的顺序,自动匹配工作频段的中工作频点。这种方案下同时有8个终端使用一个频段内不同的频点上报数据,确保了不会存在同一频点有多个终端同时上报的情况;在网关上,在下发完成轮询组播报文后,会留5秒接收等待时间,在这段时间内,不会有发送报文的情况,也可以解决终端上报数据时没有被接收的情况。本发明轮询调度方法,有效的解决了网关和终端发送不同步导致的冲突碰撞导致丢包的情况。
[0057]
在实际应用中,对于能同时接收8个频点的网关,网络服务器每5秒下发一组业务轮询报文,可以采集8个终端的数据。每分钟可以采集96个终端数据,每小时可以采集5760个终端数据(8
×
统计时长/采集间隔=8
×
3600/5=5760)。在传统lorawan网络中,无论是哪种工作模式,在每个终端都上报数据的情况下,要在一小时内采集5760个终端数据,其丢包率会达到50%以上,那将是灾难性的。
[0058]
基于相同的发明构思,本发明实施例公开的一种lorawan网络轮询调度系统,包括网络服务器、网关和终端;其中网络服务器,用于将终端地址与网关进行绑定,指定终端的数据只能由一个指定网关接收,同一网关绑定的不同终端采用不同的工作频点;以及通过网关发出业务轮询组播报文及入网组播报文,在每轮发送业务轮询组播报文之前,筛选出上次轮询中未有回复的终端和新增加的终端,对这些终端发送入网组播报文;入网组播报文中包括网关使用的组播下行频点及扩频因子、网关的工作频点组和终端地址列表,业务轮询组播报文中终端地址为约定的固定值,信息负载内容是响应终端地址表;终端在没有入网之前,在约定的入网组播频点监听入网组播报文,在收到入网组播报文后检测是否有自己的地址,如果没有则继续监听,如果有则响应并使用入网组播报文中组播下行频点及扩频因子开始收听业务轮询组播报文;终端在收到业务轮询组播报文后,只会在组播报文中含有自己的地址的情况下才会上报数据,上报时根据终端自己地址在地址列表中的顺序确定频点组中的工作频点。具体实施细节参见上述方法实施例,此处不再赘述。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献