发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种LoRaWAN网络中自适应速率调整方法、系统、存储介质及网络服务器,通过自适应调整网络速率,实现终端功耗、传输距离和传输速率之间的均衡优化。
为实现上述目的及其他相关目的,本发明提供一种LoRaWAN网络中自适应速率调整方法,包括以下步骤:判断终端发送来的上行报文的自适应速率调整标志位是否有效;若是,则缓存所述上行报文的相关信息;若否,清空缓存,根据所述上行报文生成并发送下行报文;判断缓存的上行报文的相关信息是否达到预设数量,若否,根据所述上行报文生成并发送下行报文;若是,判断当前数据传输速率是否满足预设要求;若当前数据传输速率不满足预设要求,获取数据传输速率调整值,生成包含有数据传输速率调整值的自适应速率调整调整请求,并根据所述上行报文生成并发送带有所述自适应速率调整调整请求的下行报文;若当前数据传输速率满足预设要求,判断所述上行报文中的自适应速率调整确认请求标志位是否有效,若是,获取数据传输速率调整值,生成包含有数据传输速率调整值的自适应速率调整调整请求,并根据所述上行报文生成并发送带有所述自适应速率调整调整请求的下行报文;若否,根据所述上行报文生成并发送下行报文。
于本发明一实施例中,所述上行报文的相关信息包括帧计数值、信噪比、信号强度和接收网关数量。
于本发明一实施例中,获取数据传输速率调整值包括以下步骤:
根据所述上行报文的相关信息计算极限值;
根据所述极限值计算数据传输速率的调整步长;
根据所述当前数据传输速率和所述调整步长,获取数据传输速率调整值。
对应地,本发明提供一种LoRaWAN网络中自适应速率调整系统,包括第一处理模块、第二处理模块、第三处理模块和第四处理模块;
所述第一处理模块用于判断终端发送来的上行报文的自适应速率调整标志位是否有效;若是,则缓存所述上行报文的相关信息;若否,清空缓存,根据所述上行报文生成并发送下行报文;
所述第二处理模块用于判断缓存的上行报文的相关信息是否达到预设数量,若否,根据所述上行报文生成并发送下行报文;若是,判断当前数据传输速率是否满足预设要求;
所述第三处理模块用于在当前数据传输速率不满足预设要求时,获取数据传输速率调整值,生成包含有数据传输速率调整值的自适应速率调整调整请求,并根据所述上行报文生成并发送带有所述自适应速率调整调整请求的下行报文;
所述第四处理模块用于在当前数据传输速率满足预设要求时,判断所述上行报文中的自适应速率调整确认请求标志位是否有效,若是,获取数据传输速率调整值,生成包含有数据传输速率调整值的自适应速率调整调整请求,并根据所述上行报文生成并发送带有所述自适应速率调整调整请求的下行报文;若否,根据所述上行报文生成并发送下行报文。
于本发明一实施例中,所述上行报文的相关信息包括帧计数值、信噪比、信号强度和接收网关数量。
于本发明一实施例中,所述第三处理模块和所述第四处理模块获取数据传输速率调整值执行以下步骤:
根据所述上行报文的相关信息计算极限值;
根据所述极限值计算数据传输速率的调整步长;
根据所述当前数据传输速率和所述调整步长,获取数据传输速率调整值。
同时,本发明提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述LoRaWAN网络中自适应速率调整方法。
本发明提供一种网络服务器,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述网络服务器执行上述LoRaWAN网络中自适应速率调整方法。
最后,本发明提供一种LoRaWAN网络中自适应速率调整系统,包括上述的网络服务器和终端;
所述终端用于发送上行报文至所述网络服务器,以及接收所述网络服务器发送来的下行报文,并根据所述下行报文中包含的自适应速率调整调整请求进行数据传输速率调整;所述上行报文中包含有自适应速率调整标志位和自适应速率调整确认请求标志位。
于本发明一实施例中,所述终端还用于当检测到所述网络服务器发送的ACK信息的丢失率大于预设阈值时,将所述自适应速率调整标志位设置为有效。
如上所述,本发明的LoRaWAN网络中自适应速率调整方法、系统、存储介质及网络服务器,具有以下有益效果:
(1)通过自适应调整网络速率,实现了终端功耗、传输距离和传输速率之间的均衡优化;
(2)满足了LoRaWAN网络的需求。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的LoRaWAN网络中自适应速率调整方法、系统、存储介质及网络服务器通过调整终端数据传输速率(Date Rate,DR)来实现数据传输速率、发射功率和重复发包次数据的平衡优化。需要说明的是,自适应速率调整(Adaptive data rate,ADR)只适用于静止的终端,如果是移动的终端,也需要在其处于相对静止的状态下,才可以允许进行ADR。
具体地,当一个终端检测到网络服务器回复的ACK丢失率上升达到一个阈值,就会认为当前使用的三个维度参数已不再适合当前的网络环境,需要进行ADR调整。终端将会自己上行的ADR标志位设置为1(表示有效),并在每次上行报文中上报该标志。网络服务器收到带有该标志的的上行报文时,将其帧计数、信噪比(SNR)、信号强度(RSSI)和接收网关数量进行缓存,保持缓存最新的预设数量,如10个数据。如果终端的ADR标志位又被置成为0,则需要清空缓存,在ADR标志位变成1的时候重建。基于这些缓存的历史信息,网络服务器可以计算出增加速率的极限值。根据极限值,调整DR以增加能耗效率。假如当网络服务器收到消息的DR值为SF12BW125并且SNR为5.0,这时消息的极限值为25dB.这样就会浪费空中时间和能耗。如果增加DR至SF7BW125,仍可以保证极限值为12.5,但是可以获取几倍的空中时间和能耗效率。另外,甚至可以降低发射功率来降低能耗并且减少干扰。
如图1和图2所示,于一实施例中,本发明的LoRaWAN网络中自适应速率调整方法包括以下步骤:
步骤S1、判断终端发送来的上行报文的ADR标志位是否有效;若是,则缓存所述上行报文的相关信息;若否,清空缓存,根据所述上行报文生成并发送下行报文。
具体地,当一个终端检测到网络服务器回复的ACK丢失率上升达到一个阈值,就会认为当前使用的三个维度参数已不再适合当前的网络环境,需要进行ADR调整。终端将会自己上行的ADR标志位设置为有效,即为1,并在每次上行报文中上报该标志。网络服务器接收到终端发送来的上行报文后,判断其中的ADR标识位是否有效,若有效则缓存上行报文的相关信息;若无效,则清空之前的缓存信息,并根据上行报文生成并发送下行报文,不进行自适应速率调整的操作。
于本发明一实施例中,所述上行报文的相关信息包括帧计数值、信噪比、信号强度和接收网关数量。
步骤S2、判断缓存的上行报文的相关信息是否达到预设数量,若否,根据所述上行报文生成并发送下行报文;若是,判断当前数据传输速率是否满足预设要求。
具体地,若网络服务器中缓存的上行报文的相关信息达到预设数量,则具备了自适应速率调整的基本条件,需要进行后续操作,即判断当前数据传输速率是否满足预设要求;若未达到预设数量,则不具备自适应速率调整的基本条件,根据所述上行报文生成并发送下行报文即可。
于本发明一实施例中,所述预设要求是指当前数据传输速率与计算得到的合理传输速率相一致。其中,计算合理传输速率为成熟的现有技术,故在此不再赘述。
优选地,所述预设数量为10。
步骤S3、若当前数据传输速率不满足预设要求,获取数据传输速率调整值,生成包含有数据传输速率调整值的ADR调整请求,并根据所述上行报文生成并发送带有所述ADR调整请求的下行报文。
具体地,若当前数据传输速率与合理传输速率不一致,则表明需进行自适应速率调整。具体地,首先获取数据传输速率调整值,再生成包含有数据传输速率调整值的ADR调整请求,最后根据所述上行报文生成并发送带有所述ADR调整请求的下行报文。当终端接收到该下行报文后,即可根据所述ADR调整请求进行数据传输速率的调整,从而实现终端功耗、传输距离和传输速率之间的均衡优化。
步骤S4、若当前数据传输速率满足预设要求,判断所述上行报文中的ADR确认请求标志位是否有效,若是,获取数据传输速率调整值,生成包含有数据传输速率调整值的ADR调整请求,并根据所述上行报文生成并发送带有所述ADR调整请求的下行报文;若否,根据所述上行报文生成并发送下行报文。
具体地,若当前数据传输速率与合理传输速率相一致,则需要进一步判断所述上行报文中的ADR确认请求标志位是否有效,即是否设置为1。当需要进行自适应速率调整时,终端主动进行调整ADR确认请求标志位,即设置ADRAckReq值为1。
若所述上行报文中的ADR确认请求标志位有效,则表明需要进行自适应速率调整。如前所述,首先获取数据传输速率调整值,再生成包含有数据传输速率调整值的ADR调整请求,最后根据所述上行报文生成并发送带有所述ADR调整请求的下行报文。当终端接收到该下行报文后,即可根据所述ADR调整请求进行数据传输速率的调整,从而实现终端功耗、传输距离和传输速率之间的均衡优化。
若所述上行报文中的ADR确认请求标志位无效,即设置为0,则表明无需进行自适应速率调整,则根据所述上行报文生成并发送下行报文。
于本发明一实施例中,获取数据传输速率调整值包括以下步骤:
a)根据所述上行报文的相关信息计算极限值。
具体地,根据一定的算法由所述上行报文的相关信息计算信息的极限值。其中该极限值是根据实验室算法得到的固定值。
b)根据所述极限值计算数据传输速率的调整步长。
具体地,根据一定的算法由所述极限值来计算数据传输速率的调整步长。该算法为成熟的现有技术,故在此不再赘述。
c)根据所述当前数据传输速率和所述调整步长,获取数据传输速率调整值。
具体地,在所述当前数据传输速率的基础上,加上所述调整步长,即可得到数据传输数量调整值。
如图3所示,于一实施例中,本发明的LoRaWAN网络中自适应速率调整系统包括依次相连的第一处理模块31、第二处理模块32、第三处理模块33和第四处理模块34。
第一处理模块31用于判断终端发送来的上行报文的ADR标志位是否有效;若是,则缓存所述上行报文的相关信息;若否,清空缓存,根据所述上行报文生成并发送下行报文。
具体地,当一个终端检测到网络服务器回复的ACK丢失率上升达到一个阈值,就会认为当前使用的三个维度参数已不再适合当前的网络环境,需要进行ADR调整。终端将会自己上行的ADR标志位设置为有效,即为1,并在每次上行报文中上报该标志。网络服务器接收到终端发送来的上行报文后,判断其中的ADR标识位是否有效,若有效则缓存上行报文的相关信息;若无效,则清空之前的缓存信息,并根据上行报文生成并发送下行报文,不进行自适应速率调整的操作。
于本发明一实施例中,所述上行报文的相关信息包括帧计数值、信噪比、信号强度和接收网关数量。
第二处理模块32用于判断缓存的上行报文的相关信息是否达到预设数量,若否,根据所述上行报文生成并发送下行报文;若是,判断当前数据传输速率是否满足预设要求。
具体地,若网络服务器中缓存的上行报文的相关信息达到预设数量,则具备了自适应速率调整的基本条件,需要进行后续操作,即判断当前数据传输速率是否满足预设要求;若未达到预设数量,则不具备自适应速率调整的基本条件,根据所述上行报文生成并发送下行报文即可。
于本发明一实施例中,所述预设要求是指当前数据传输速率与计算得到的合理传输速率相一致。其中,计算合理传输速率为成熟的现有技术,故在此不再赘述。
优选地,所述预设数量为10。
第三处理模块33用于若当前数据传输速率不满足预设要求,获取数据传输速率调整值,生成包含有数据传输速率调整值的ADR调整请求,并根据所述上行报文生成并发送带有所述ADR调整请求的下行报文。
具体地,若当前数据传输速率与合理传输速率不一致,则表明需进行自适应速率调整。具体地,首先获取数据传输速率调整值,再生成包含有数据传输速率调整值的ADR调整请求,最后根据所述上行报文生成并发送带有所述ADR调整请求的下行报文。当终端接收到该下行报文后,即可根据所述ADR调整请求进行数据传输速率的调整,从而实现终端功耗、传输距离和传输速率之间的均衡优化。
第四处理模块34用于若当前数据传输速率满足预设要求,判断所述上行报文中的ADR确认请求标志位是否有效,若是,获取数据传输速率调整值,生成包含有数据传输速率调整值的ADR调整请求,并根据所述上行报文生成并发送带有所述ADR调整请求的下行报文;若否,根据所述上行报文生成并发送下行报文。
具体地,若当前数据传输速率与合理传输速率相一致,则需要进一步判断所述上行报文中的ADR确认请求标志位是否有效,即是否设置为1。当需要进行自适应速率调整时,终端主动进行调整ADR确认请求标志位,即设置ADRAckReq值为1。
若所述上行报文中的ADR确认请求标志位有效,则表明需要进行自适应速率调整。如前所述,首先获取数据传输速率调整值,再生成包含有数据传输速率调整值的ADR调整请求,最后根据所述上行报文生成并发送带有所述ADR调整请求的下行报文。当终端接收到该下行报文后,即可根据所述ADR调整请求进行数据传输速率的调整,从而实现终端功耗、传输距离和传输速率之间的均衡优化。
若所述上行报文中的ADR确认请求标志位无效,即设置为0,则表明无需进行自适应速率调整,则根据所述上行报文生成并发送下行报文。
于本发明一实施例中,第三处理模块和第四处理模块获取数据传输速率调整值执行以下步骤:
a)根据所述上行报文的相关信息计算极限值。
具体地,根据一定的算法由所述上行报文的相关信息计算信息的极限值。其中该极限值是根据实验室算法得到的固定值。
b)根据所述极限值计算数据传输速率的调整步长。
具体地,根据一定的算法由所述极限值来计算数据传输速率的调整步长。该算法为成熟的现有技术,故在此不再赘述。
c)根据所述当前数据传输速率和所述调整步长,获取数据传输速率调整值。
具体地,在所述当前数据传输速率的基础上,加上所述调整步长,即可得到数据传输数量调整值。
需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC),或,一个或多个微处理器(digitalsingnalprocessor,简称DSP),或,一个或者多个现场可编程门阵列(FieldProgrammableGateArray,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessingUnit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
本发明的存储介质上存储有计算机程序,该程序被处理器执行时实现上述LoRaWAN网络中自适应速率调整方法。优选地,所述存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
如图4所示,于一实施例中,本发明的网络服务器包括处理器41及存储器42。
所述存储器42用于存储计算机程序.。
优选地,所述存储器42包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
所述处理器41与所述存储器42相连,用于执行所述存储器42存储的计算机程序,以使所述网络服务器执行上述LoRaWAN网络中自适应速率调整方法。
优选地,所述处理器41可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
如图5所示,于一实施例中,本发明的LoRaWAN网络中自适应速率调整系统包括上述的网络服务器51和终端52。
所述终端52用于发送上行报文至所述网络服务器51,以及接收所述网络服务器51发送来的下行报文,并根据所述下行报文中包含的ADR调整请求进行数据传输速率调整;所述上行报文中包含有ADR标志位和ADR确认请求标志位。
于本发明一实施例中,所述终端还用于当检测到所述网络服务器发送的ACK信息的丢失率大于预设阈值时,将所述ADR标志位设置为有效。
下面通过具体实施例来进一步阐述本发明的LoRaWAN网络中自适应速率调整方法。设定网络服务器接收到的10个连续的上行报文的相关信息如表1所示。
表1、上行报文的相关信息
FCnt(帧计数值) |
SNR(信噪比) |
RSSI(信号强度) |
DR(数据速率) |
30 |
-2.0 |
-64 |
2 |
31 |
0.3 |
-84 |
2 |
32 |
2 |
-79 |
2 |
33 |
1 |
-92 |
2 |
34 |
2 |
-80 |
2 |
35 |
-1.2 |
-72 |
2 |
............ |
........... |
............. |
2 |
39 |
1.8 |
-80 |
2 |
从表1可知当前最大SNR为2,根据ADR调整方法计算得到极限值为7,进而得到调整步长为2;根据当前的DR设置调整,得到合理DR值为4。
综上所述,本发明的LoRaWAN网络中自适应速率调整方法、系统、存储介质及网络服务器通过自适应调整网络速率,实现了终端功耗、传输距离和传输速率之间的均衡优化;满足了LoRaWAN网络的需求。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。