CN112087399A - LoRa数据传输方法、装置、设备及存储介质 - Google Patents
LoRa数据传输方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112087399A CN112087399A CN201910505303.1A CN201910505303A CN112087399A CN 112087399 A CN112087399 A CN 112087399A CN 201910505303 A CN201910505303 A CN 201910505303A CN 112087399 A CN112087399 A CN 112087399A
- Authority
- CN
- China
- Prior art keywords
- time
- node
- downlink
- delay
- sending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 81
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000010586 diagram Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002085 persistent effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000002355 dual-layer Substances 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本公开提出了一种LoRa数据传输方法、装置、设备及存储介质。基于网络服务器开始发送下行报文到节点接收到下行报文之间的耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,延迟时间大于耗时,其中,第一接收窗口是节点发送完上行报文后第一次开启的接收窗口;向节点发送延迟时间,以便节点根据延迟时间设定第一接收窗口;在节点的工作模式为ClassB模式且需要向节点发送下行报文的情况下,判断节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于耗时;在时间间隔大于耗时的情况下,延迟预定时长后将下行报文发送给下行基站,以便由下行基站将下行报文发送给节点。由此可以解决ClassB模式中可能出现的下行帧乱序问题。
Description
技术领域
本公开涉及数据传输领域,特别是涉及一种LoRa数据传输方法、装置、设备及存储介质。
背景技术
LoRaWAN是一种低功耗广域物联网解决方案,是由LoRa联盟推出的一个基于开源的MAC层协议的低功耗广域网(Low Power Wide Area Network,LPWAN)标准。这一技术可以为电池供电的无线设备提供一个低功耗、可扩展的长距离无线网络。
在LoRaWAN中,终端设备的工作模式分为三种:ClassA、ClassB和ClassC。网络服务器(Network Server,简称NS)如果需要下发数据到工作在ClassB模式的设备(也即节点),需要先计算好设备窗口的开启时间,然后将数据包发给基站。数据包会首先在基站排队等待,到达指定时间后,基站就会把该数据包发送给设备。如果NS下发给基站到基站实际下发数据包之间的时间间隔过长,期间设备可能会上行数据并且在Rx1接收到了下一帧数据,那么就可能导致设备端接收到两帧数据的序号错乱,也即下行帧乱序。
如图1所示,假设NS在t1时刻开始下发下行数据包,该下行数据包的帧序号fcnt为x,节点(Node)在t4时刻接收到该下行数据包,如果在t1与t4之间的t2时刻,节点开始上行数据,且在t1与t4之间的t3时刻接收到针对该上行数据的下行数据(其帧序号为x+1),那么就会出现在先(t3时刻)接收到的数据包的帧序号大于在后(t4时刻)接收到的数据包的帧序号,由此产生乱序问题。
下行帧乱序会导致设备端的去重逻辑错误,产生丢包或者错包,更严重可能会导致设备端的翻页逻辑错误,导致设备端和NS的下行帧计数不一致,从而导致后续的下行数据包MIC校验失败。
因此,需要一种数据传输方案,解决上述乱序问题。
发明内容
本公开所要解决的一个技术问题是,提供一种LoRa数据传输方案,解决ClassB模式中可能出现的乱序问题。
根据本公开的第一个方面,提出了一种LoRa数据传输方法,包括:基于网络服务器开始发送下行报文到节点接收到下行报文之间的耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,延迟时间大于耗时,其中,第一接收窗口是节点发送完上行报文后第一次开启的接收窗口;向节点发送延迟时间,以便节点根据延迟时间设定第一接收窗口;在节点的工作模式为ClassB模式且需要向节点发送下行报文的情况下,判断节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于耗时;在时间间隔大于耗时的情况下,延迟预定时长后将下行报文发送给下行基站,以便由下行基站将下行报文发送给节点。
可选地,Rxdelay≥Txdelay+T1,其中,Rxdelay为延迟时间,Txdelay为耗时,T1为第一时长参数,第一时长参数用于表征节点从接收到下行报文到接收完成所需的时长。
可选地,T4=T3-Txdelay,其中,T4为预定时长,T3为时间间隔,Txdelay为耗时。
可选地,delay+T5≤Txdelay≤delay+T2,其中,delay为网络服务器与基站间的链路传输延迟,Txdelay为耗时,T2为第二时长参数,T5为第三时长参数。
可选地,判断节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于耗时的步骤包括:判断节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于delay+T5;以及/或者在时间间隔大于delay+T5的情况下,进一步判断时间间隔是否大于delay+T2。
可选地,在delay+T5≤T3≤delay+T2的情况下,将下行报文发送给下行基站,以由下行基站将下行报文发送给节点;或者在T3>delay+T2的情况下,延迟预定时长后将下行报文发送给下行基站,以由下行基站将下行报文发送给节点,其中,T4=T3-delay-T2,T4为预定时长,T3为时间间隔,。
可选地,该方法还包括:在时间间隔小于耗时的情况下,判断节点下次将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于耗时。
根据本公开的第二个方面,还提出了一种LoRa数据传输方法,包括:基于网络服务器开始发送下行报文到节点接收到下行报文之间的耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,延迟时间大于耗时,其中,第一接收窗口是节点发送完上行报文后第一次开启的接收窗口;向节点发送延迟时间,以便节点根据延迟时间设定第一接收窗口。
根据本公开的第三个方面,还提出了一种LoRa数据传输方法,包括:响应于接收到节点通过基站发送的入网请求,计算网络服务器开始发送下行报文到节点接收到下行报文之间的耗时;基于耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,延迟时间大于耗时;以及向节点发送延迟时间,以便节点根据延迟时间设定第一接收窗口。
根据本公开的第四个方面,还提出了一种LoRa数据传输方法,包括:在节点的工作模式为ClassB模式且需要向节点发送下行报文的情况下,判断节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于耗时,耗时为网络服务器开始发送下行报文到节点接收到下行报文之间的时长;在时间间隔大于耗时的情况下,延迟预定时长后将下行报文发送给下行基站,以便由下行基站将下行报文发送给节点。
根据本公开的第五个方面,还提出了一种LoRa数据传输方法,包括:接收网络服务器发送的指令;根据指令中的时长参数,对发送完上行报文到开启第一接收窗口的延迟时间进行设置,其中,时长参数是基于网络服务器开始发送下行报文到节点接收到下行报文之间的耗时确定的,时长参数表征的时长大于耗时,第一接收窗口是节点发送完上行报文后第一次开启的接收窗口。
根据本公开的第六个方面,还提出了一种LoRa数据传输装置,包括:确定模块,用于基于网络服务器开始发送下行报文到节点接收到下行报文之间的耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,延迟时间大于耗时,其中,第一接收窗口是节点发送完上行报文后第一次开启的接收窗口;发送模块,用于向节点发送延迟时间,以便节点根据延迟时间设定第一接收窗口;判断模块,用于在节点的工作模式为ClassB模式且需要向节点发送下行报文的情况下,判断节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于耗时,在判断模块判定时间间隔大于耗时的情况下,发送模块还用于延迟预定时长后将下行报文发送给下行基站,以便由下行基站将下行报文发送给节点。
根据本公开的第七个方面,还提出了一种LoRa数据传输装置,包括:确定模块,用于基于网络服务器开始发送下行报文到节点接收到下行报文之间的耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,延迟时间大于耗时,其中,第一接收窗口是节点发送完上行报文后第一次开启的接收窗口;发送模块,用于向节点发送延迟时间,以便节点根据延迟时间设定第一接收窗口。
根据本公开的第八个方面,还提出了一种LoRa数据传输装置,包括:接收模块,用于接收节点通过基站发送的入网请求;计算模块,用于响应于接收模块接收到入网请求,计算网络服务器开始发送下行报文到节点接收到下行报文之间的耗时;确定模块,用于基于耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,延迟时间大于耗时;以及发送模块,用于向节点发送延迟时间,以便节点根据延迟时间设定第一接收窗口。
根据本公开的第九个方面,还提出了一种LoRa数据传输装置,包括:判断模块,用于在节点的工作模式为ClassB模式且需要向节点发送下行报文的情况下,判断节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于耗时,耗时为网络服务器开始发送下行报文到节点接收到下行报文之间的时长;发送模块,用于在判断模块判定时间间隔大于耗时的情况下,延迟预定时长后将下行报文发送给下行基站,以便由下行基站将下行报文发送给节点。
根据本公开的第十个方面,还提出了一种LoRa数据传输装置,包括:接收模块,用于接收网络服务器发送的指令;设定模块,用于根据指令中的时长参数,对发送完上行报文到开启第一接收窗口的延迟时间进行设置,其中,时长参数是基于网络服务器开始发送下行报文到节点接收到下行报文之间的耗时确定的,时长参数表征的时长大于耗时,第一接收窗口是节点发送完上行报文后第一次开启的接收窗口。
根据本公开的第十一个方面,还提出了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如本公开第一个方面至第五个方面中任一个方面述及的方法。
根据本公开的第十二个方面,还提出了一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如本公开第一个方面至第五个方面中任一个方面述及的方法。
本公开通过对节点发送完上行报文到开启第一接收窗口的延迟时间Rxdelay进行设置,使得Rxdelay大于NS开始发送下行报文到节点接收到该下行报文之间的时间间隔,就可以解决ClassB模式下可能存在的乱序问题。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了ClassB模式中存在的下行帧乱序现象的示意图。
图2示出了本公开的LoRa数据传输方案的实现原理示意图。
图3示出了根据本公开一实施例的LoRa数据传输装置的结构的示意性方框图。
图4示出了根据本公开另一实施例的LoRa数据传输装置的结构的示意性方框图。
图5示出了根据本公开另一实施例的LoRa数据传输装置的结构的示意性方框图。
图6示出了根据本公开一实施例的计算设备的结构的示意性方框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
【方案概述】
本公开提出,可以通过对节点(Node)发送完上行报文到开启第一接收窗口的延迟时间Rxdelay进行设置,来解决上述乱序问题。
第一接收窗口是指节点发送完上行报文后第一次开启的接收窗口,也即Rx1。根据LoRaWAN协议,节点在发送完上行报文后还会开启第二接收窗口Rx2,例如在第一接收窗口Rx1未接收到NS针对上行报文发送的下行报文的情况下,还会在第一接收窗口Rx1之后开启第二接收窗口Rx2。本公开主要是对Rx1的延迟时间进行设置,关于Rx2可以参见现有技术,例如可以根据利用本公开设置的Rx1的延迟时间,对Rx2的延迟时间进行适应性修改,对此本公开不再赘述。
图2示出了本公开的LoRa数据传输方案的实现原理示意图。
在本公开中,可以用Txdelay表示网络服务器开始发送下行报文到节点接收到该下行报文之间的耗时。
如果Rxdelay>Txdelay,那么就可以保证不会出现节点在先接收到的帧序号大于在后接收到的帧序号这一乱序现象。
进一步地,为了确保节点在接收完成NS发送的下行报文后再开启Rx1接收窗口,在设置Rxdelay时,还可以考虑节点从接收到下行报文到接收完成所需的时长。换言之,可以将Rxdelay设置为,Rxdelay≥Txdelay+T1,其中,T1为一个时长参数(为了便于区分,可以称为第一时长参数),T1用于确保节点在接收完成NS下发的下行报文后再开启Rx1接收窗口,因此T1可以用于表征节点从接收到下行报文到接收完成所需的时长。
如果T1过小,可能会导致Rx1接收窗口开启失败,从而导致数据帧的丢失。例如图2所示,在t3时刻节点开始接收到基站转发的下行报文,如果T1过小,节点在t4时刻节点还未接收完该下行报文,就会导致t4时刻的窗口开启失败,进而导致该时刻的数据帧丢失。
在本公开中,可以根据实际情况设定T1。例如,可以对节点从接收到下行报文到接收完成所需的时长进行统计或预估,并据此设定T1。再例如,也可以根据经验将T1设置为一个固定值,如1s。
如上文所述,Rxdelay>Txdelay,因此在节点端的Rxdelay设置完毕后,NS在通过基站(Gateway)向工作在ClassB模式下的节点发送下行报文时,可以通过控制NS开始发送下行报文的时刻与所针对的ClassB接收窗口之间的时间间隔T3,使得该时间间隔T3与Txdelay相当,就可以确保不会出现节点在先接收到的帧序号大于在后接收到的帧序号这一乱序问题。
综上所述,本公开的数据传输方案主要包括两部分,第一部分是节点端Rxdelay的设定,第二部分是NS在向工作在ClassB模式下的节点发送下行报文时,确定下行报文的发送时机。下面分别就这两部分进行详细说明。
【节点端Rxdelay的设定】
如上文所述,可以将Rxdelay设置为大于Txdelay。可选地,Rxdelay≥Txdelay+T1。关于T1可以参见上文相关描述,此处不再赘述。下面主要就Txdelay的计算过程进行示例性说明。
一般来说,Txdelay等于网络服务器与基站之间的链路传输延迟(可以用delay表示)和基站与节点间的传输延迟这两部分之和。在实际应用中,基站与节点间的传输延迟较小,可以忽略不计,因此可以基于网络服务器与基站之间的链路传输延迟delay来确定Txdelay。
此处述及的基站可以是指适于向节点发送下行报文的下行基站,例如可以是由NS确定的用于向节点发送下行报文的下行基站,也可以是之前曾作为下行基站向节点发送下行报文的基站。
另外,此处述及的基站也可以是指节点之前发送上行报文所经过的基站,例如,可以从节点发送上行报文所经过的所有基站中选择一个或多个基站,针对选出的每个基站,计算该基站与NS间的链路传输延迟。
在计算多个基站与NS间的链路传输延迟时,可以对计算得到的多个链路传输延迟进行均值处理,处理后得到的结果可以作为最终的delay,参与确定Txdelay。
链路传输延迟可以表征基站和NS间的链路传输耗时。例如可以将最近一次确定的基站与NS之间的链路传输耗时作为链路传输延迟。另外,链路传输延迟也可以是对之前预定时间内确定的基站与NS之间的一个或多个链路传输耗时进行统计得到的。例如,可以是通过平均、加权平均、tp99、tp999等方法确定的。
作为示例,链路传输延迟可以是基于滑动平均算法对最近一次确定的基站与NS之间的链路传输耗时进行处理得到的。计算公式如下:delta′(t)=alpha*delta+(1-alpha)*delta′(t-1),其中alpha是系数,取值范围0~1,delta是最近一次确定的基站与NS之间的链路传输耗时,delta′(t)是当前计算得到的链路传输耗时的预测值,delta′(t-1)是上一次计算得到的链路传输耗时的预测值。
在本公开中,Txdelay可以是一个确定的数值,也可以是一个数值范围。例如,可以将Txdelay定义为,Txdelay=delay,或者Txdelay=delay+t,其中t是一个时长参数,t的取值可以根据实际情况设定,例如t可以取值200ms。再例如,考虑到基站与网络服务器之间的链路传输质量存在一定抖动、基站与节点间或多或少也存在一定延时等情况,Txdelay也可以是一个取值范围。可选地,Txdelay的取值范围可以定义为[delay+T5,delay+T2],其中T5、T2均为时长参数,为了便于区分,T2可以称为第二时长参数,T5可以称为第三时长参数,T5、T2的取值可以根据实际情况设定,例如T5可以取值0,T2可以取值200ms。
在本公开中,NS端可以维护NS到各个基站的链路传输延迟,可以由NS基于上述方式为节点计算一个合适的Rxdelay。Rxdelay的计算方式可以参见上文相关描述,此处不再赘述。
可选地,在最终确定Rxdelay时,还可以参考节点适用的LoRaWAN协议规范。例如,现有的LoRaWAN协议规定,Rxdelay只能在1~15s之间,且必须是整数,因此最终的延迟时间Rxdelay′=ceil(min(15,max(1,Rxdelay)))。其中,t为计算得到的耗时。该公式的含义是,如果计算得到的Rxdelay小于1s,则Rxdelay=1s,如果Rxdelay大于1s且小于15s,则Rxdelay′=ceil(Rxdelay),如果Rxdelay大于15s,则Rxdelay′=15s。其中,ceil(Rxdelay)表示对Rxdelay进行向上取整。
在得到Rxdelay后,NS可以向节点发送Rxdelay,以便节点根据Rxdelay设定Rx1。
作为示例,可以在节点入网时,为节点设定一个合适的Rxdelay,并向节点发送所确定的Rxdelay,以便节点根据Rxdelay来设定Rx1,从而为解决ClassB模式下可能存在的乱序问题提供了实现基础。例如,可以响应于接收到节点通过基站发送的入网请求,计算网络服务器开始发送下行报文到节点接收到下行报文之间的耗时,基于该耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,向节点发送延迟时间,以便节点根据延迟时间设定第一接收窗口。
另外,也可以按照现有的方案为节点统一设置一个默认的Rxdelay,并在节点与网络服务器进行数据传输的过程中,再对节点的Rxdelay进行调整,以解决ClassB模式下可能存在的乱序问题。
并且可选地,在为节点设置了Rxdelay后,如果基站与NS间的链路传输延迟波动较大(如大于预先设定的阈值),也可以重新计算Rxdelay,并可以通过向节点发送MAC指令的方式,对节点的Rxdelay进行调整。
对于节点而言,可以接收网络服务器发送的指令,根据指令中的时长参数,对Rx1的Rxdelay进行设置。此处述及的时长参数是由NS基于网络服务器开始发送下行报文到节点接收到下行报文之间的耗时确定的,关于时长参数的具体计算过程可以参见上文相关描述,此处不再赘述。
【下行报文的发送】
NS在需要向工作在ClassB模式下的节点发送下行报文时,首先可以计算距离当前时间最近的ClassB接收窗口的开启时间,然后将开启时间与当前时间之间的时间间隔T3与之前为该节点设定Rxdelay时所参考的Txdelay进行比较。
如果T3<Txdelay,那么如果针对该ClassB接收窗口发送下行报文,该下行报文到达节点时,将会错过节点的该ClassB接收窗口。因此如果T3<Txdelay,表明距离当前最近的ClassB接收窗口不可用,可以往后顺延一个窗口,重新计算下一个ClassB接收窗口的开启时间与当前时间之间的时间间隔T3是否大于Txdelay。
对于查找到的开启时间与当前时间之间的时间间隔T3大于Txdelay的ClassB接收窗口,可以在延迟预定时长后将下行报文发送给下行基站,以由该下行基站将该下行报文发送给节点。其中,预定时长T4=T3-Txdelay。这里之所以要延迟预定时长,是为了使得发送下行报文的时刻与ClassB接收窗口之间的时间间隔与之前为该节点设定Rxdelay时所参考的Txdelay相当,如此可以确保不会出现节点在先接收到的帧序号大于在后接收到的帧序号这一乱序问题。
以Txdelay是一个取值范围,且Txdelay的取值范围是[delay+T5,delay+T2]为例,可以判断节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔T3是否大于delay+T5,在T3<delay+T5的情况下,可以继续判断节点下次将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于delay+T5。
在T3>delay+T5的情况下,可以进一步判断T3是否大于delay+T2。
在T3≤delay+T2的情况下,可以将下行报文发送给下行基站,以由下行基站将所述下行报文发送给节点。
在T3>delay+T2的情况下,可以延迟预定时长后将下行报文发送给下行基站,以由下行基站将下行报文发送给节点。其中,预定时长T4=T3-delay-T2。
【数据传输装置】
图3至图5示出了根据本公开在不同实施例的LoRa数据传输装置的结构的示意性方框图。
LoRa数据传输装置的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图3至图5中各个附图所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
下面就LoRa数据传输装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文描述,这里不再赘述。
图3示出的LoRa数据传输装置300可以设置在网络服务器端。参见图3,LoRa数据传输装置300包括确定模块310和发送模块320。
确定模块310用于基于网络服务器开始发送下行报文到节点接收到下行报文之间的耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,延迟时间大于耗时,其中,第一接收窗口是节点发送完上行报文后第一次开启的接收窗口。
关于耗时Txdelay、延迟时间Rxdelay可以参见上文相关描述,此处不再赘述。
发送模块320用于向节点发送延迟时间,以便节点根据延迟时间设定第一接收窗口。
可选地,LoRa数据传输装置300还包括判断模块330。
判断模块330用于在节点的工作模式为ClassB模式且需要向节点发送下行报文的情况下,判断节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于耗时,
在判断模块330判定时间间隔大于耗时的情况下,发送模块320还可以在延迟预定时长后将下行报文发送给下行基站,以便由下行基站将下行报文发送给节点。
在判断模块330判定时间间隔小于耗时的情况下,可以继续判断下一次将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于耗时。
以Txdelay是一个取值范围,且Txdelay的取值范围是[delay+T5,delay+T2]为例,判断模块330可以判断节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔T3是否大于delay+T5,在T3<delay+T5的情况下,判断模块330可以继续判断节点下次将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于delay+T5。
在T3>delay+T5的情况下,判断模块330可以进一步判断T3是否大于delay+T2。
在T3≤delay+T2的情况下,发送模块320可以将下行报文发送给下行基站,以由下行基站将所述下行报文发送给节点。
在T3>delay+T2的情况下,发送模块320可以延迟预定时长后将下行报文发送给下行基站,以由下行基站将下行报文发送给节点。其中,预定时长T4=T3-delay-T2。
图4示出的LoRa数据传输装置400可以设置在网络服务器端。参见图4,LoRa数据传输装置400包括接收模块410、计算模块420、确定模块430和发送模块440。
接收模块410用于接收节点通过基站发送的入网请求。
计算模块420用于响应于接收模块接收到入网请求,计算网络服务器开始发送下行报文到节点接收到下行报文之间的耗时。关于耗时Txdelay的计算方式可以参见上文相关描述,此处不再赘述。
确定模块430用于基于耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,延迟时间大于耗时。关于延迟时间Rxdelay与耗时Txdelay之间的具体关系,可以参见上文相关描述,此处不再赘述。
发送模块440用于向节点发送延迟时间,以便节点根据延迟时间设定第一接收窗口。
图5示出的LoRa数据传输装置500可以设置在节点端。参见图5,LoRa数据传输装置500包括接收模块510和设定模块520。
接收模块510用于接收网络服务器发送的指令。
设定模块520用于根据指令中的时长参数,对发送完上行报文到开启第一接收窗口的延迟时间进行设置,其中,时长参数是基于网络服务器开始发送下行报文到节点接收到下行报文之间的耗时确定的,时长参数表征的时长大于耗时,第一接收窗口是节点发送完上行报文后第一次开启的接收窗口。
图6示出了根据本发明一实施例可用于实现上述LoRa数据传输方法的计算设备的结构示意图。
参见图6,计算设备1000包括存储器1010和处理器1020。
处理器1020可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器1020可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器1020可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
存储器1010可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1010可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1010可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器1010上存储有可执行代码,当可执行代码被处理器1020处理时,可以使处理器1020执行上文述及的LoRa数据传输方法。
上文中已经参考附图详细描述了根据本发明的LoRa数据传输方法、装置及设备。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (18)
1.一种LoRa数据传输方法,其特征在于,包括:
基于网络服务器开始发送下行报文到节点接收到所述下行报文之间的耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,所述延迟时间大于所述耗时,其中,所述第一接收窗口是所述节点发送完上行报文后第一次开启的接收窗口;
向所述节点发送所述延迟时间,以便所述节点根据所述延迟时间设定所述第一接收窗口;
在所述节点的工作模式为ClassB模式且需要向所述节点发送下行报文的情况下,判断所述节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于所述耗时;
在所述时间间隔大于所述耗时的情况下,延迟预定时长后将所述下行报文发送给下行基站,以便由所述下行基站将所述下行报文发送给所述节点。
2.根据权利要求1所述的LoRa数据传输方法,其特征在于,
Rxdelay≥Txdelay+T1,
其中,Rxdelay为所述延迟时间,Txdelay为所述耗时,T1为第一时长参数,所述第一时长参数用于表征所述节点从接收到下行报文到接收完成所需的时长。
3.根据权利要求1所述的LoRa数据传输方法,其特征在于,
T4=T3-Txdelay,
其中,T4为所述预定时长,T3为所述时间间隔,Txdelay为所述耗时。
4.根据权利要求1所述的LoRa数据传输方法,其特征在于,
delay+T5≤Txdelay≤delay+T2,
其中,delay为所述网络服务器与基站间的链路传输延迟,Txdelay为所述耗时,T2为第二时长参数,T5为第三时长参数。
5.根据权利要求4所述的LoRa数据传输方法,其特征在于,所述判断所述节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于所述耗时的步骤包括:
判断所述节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于delay+T5;以及/或者
在所述时间间隔大于delay+T5的情况下,进一步判断所述时间间隔是否大于delay+T2。
6.根据权利要求5所述的LoRa数据传输方法,其特征在于,
在delay+T5≤T3≤delay+T2的情况下,将所述下行报文发送给下行基站,以由所述下行基站将所述下行报文发送给所述节点;或者
在T3>delay+T2的情况下,延迟预定时长后将所述下行报文发送给下行基站,以由所述下行基站将所述下行报文发送给所述节点,
其中,T4=T3-delay-T2,T4为所述预定时长,T3为所述时间间隔,。
7.根据权利要求1所述的LoRa数据传输方法,其特征在于,还包括:
在所述时间间隔小于所述耗时的情况下,判断所述节点下次将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于所述耗时。
8.一种LoRa数据传输方法,其特征在于,包括:
基于网络服务器开始发送下行报文到节点接收到所述下行报文之间的耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,所述延迟时间大于所述耗时,其中,所述第一接收窗口是所述节点发送完上行报文后第一次开启的接收窗口;
向所述节点发送所述延迟时间,以便所述节点根据所述延迟时间设定所述第一接收窗口。
9.一种LoRa数据传输方法,其特征在于,包括:
响应于接收到节点通过基站发送的入网请求,计算网络服务器开始发送下行报文到所述节点接收到所述下行报文之间的耗时;
基于所述耗时,确定所述节点发送完上行报文到开启第一接收窗口的延迟时间,所述延迟时间大于所述耗时;以及
向所述节点发送所述延迟时间,以便所述节点根据所述延迟时间设定所述第一接收窗口。
10.一种LoRa数据传输方法,其特征在于,包括:
在所述节点的工作模式为ClassB模式且需要向所述节点发送下行报文的情况下,判断所述节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于耗时,所述耗时为网络服务器开始发送下行报文到节点接收到所述下行报文之间的时长;
在所述时间间隔大于所述耗时的情况下,延迟预定时长后将所述下行报文发送给下行基站,以便由所述下行基站将所述下行报文发送给所述节点。
11.一种LoRa数据传输方法,其特征在于,包括:
接收网络服务器发送的指令;
根据所述指令中的时长参数,对发送完上行报文到开启第一接收窗口的延迟时间进行设置,其中,所述时长参数是基于网络服务器开始发送下行报文到节点接收到所述下行报文之间的耗时确定的,所述时长参数表征的时长大于所述耗时,所述第一接收窗口是节点发送完上行报文后第一次开启的接收窗口。
12.一种LoRa数据传输装置,其特征在于,包括:
确定模块,用于基于网络服务器开始发送下行报文到节点接收到所述下行报文之间的耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,所述延迟时间大于所述耗时,其中,所述第一接收窗口是所述节点发送完上行报文后第一次开启的接收窗口;
发送模块,用于向所述节点发送所述延迟时间,以便所述节点根据所述延迟时间设定所述第一接收窗口;
判断模块,用于在所述节点的工作模式为ClassB模式且需要向所述节点发送下行报文的情况下,判断所述节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于所述耗时,
在所述判断模块判定所述时间间隔大于所述耗时的情况下,所述发送模块还用于延迟预定时长后将所述下行报文发送给下行基站,以便由所述下行基站将所述下行报文发送给所述节点。
13.一种LoRa数据传输装置,其特征在于,包括:
确定模块,用于基于网络服务器开始发送下行报文到节点接收到所述下行报文之间的耗时,确定节点发送完上行报文到开启第一接收窗口的延迟时间,所述延迟时间大于所述耗时,其中,所述第一接收窗口是所述节点发送完上行报文后第一次开启的接收窗口;
发送模块,用于向所述节点发送所述延迟时间,以便所述节点根据所述延迟时间设定所述第一接收窗口。
14.一种LoRa数据传输装置,其特征在于,包括:
接收模块,用于接收节点通过基站发送的入网请求;
计算模块,用于响应于所述接收模块接收到所述入网请求,计算网络服务器开始发送下行报文到所述节点接收到所述下行报文之间的耗时;
确定模块,用于基于所述耗时,确定所述节点发送完上行报文到开启第一接收窗口的延迟时间,所述延迟时间大于所述耗时;以及
发送模块,用于向所述节点发送所述延迟时间,以便所述节点根据所述延迟时间设定所述第一接收窗口。
15.一种LoRa数据传输装置,其特征在于,包括:
判断模块,用于在所述节点的工作模式为ClassB模式且需要向所述节点发送下行报文的情况下,判断所述节点将要开启ClassB接收窗口的时间与当前时间之间的时间间隔是否大于耗时,所述耗时为网络服务器开始发送下行报文到节点接收到所述下行报文之间的时长;
发送模块,用于在所述判断模块判定所述时间间隔大于所述耗时的情况下,延迟预定时长后将所述下行报文发送给下行基站,以便由所述下行基站将所述下行报文发送给所述节点。
16.一种LoRa数据传输装置,其特征在于,包括:
接收模块,用于接收网络服务器发送的指令;
设定模块,用于根据所述指令中的时长参数,对发送完上行报文到开启第一接收窗口的延迟时间进行设置,其中,所述时长参数是基于网络服务器开始发送下行报文到节点接收到所述下行报文之间的耗时确定的,所述时长参数表征的时长大于所述耗时,所述第一接收窗口是节点发送完上行报文后第一次开启的接收窗口。
17.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至11中任何一项所述的方法。
18.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910505303.1A CN112087399A (zh) | 2019-06-12 | 2019-06-12 | LoRa数据传输方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910505303.1A CN112087399A (zh) | 2019-06-12 | 2019-06-12 | LoRa数据传输方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112087399A true CN112087399A (zh) | 2020-12-15 |
Family
ID=73733606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910505303.1A Pending CN112087399A (zh) | 2019-06-12 | 2019-06-12 | LoRa数据传输方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112087399A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112867060A (zh) * | 2021-01-18 | 2021-05-28 | 重庆邮电大学 | 一种LoRa网络服务器的下行消息队列处理方法 |
CN115333675A (zh) * | 2022-08-12 | 2022-11-11 | 广州爱浦路网络技术有限公司 | 一种报文的发送方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009033746A (ja) * | 2007-07-25 | 2009-02-12 | Ntt Docomo Inc | 無線メッシュネットワークにおけるトラフィックロードに基づいて適応的にスループットを高める方法 |
CN104580006A (zh) * | 2014-12-24 | 2015-04-29 | 无锡儒安科技有限公司 | 一种移动网络发送速率控制方法、装置及系统 |
CN107071836A (zh) * | 2017-03-03 | 2017-08-18 | 国动物联网技术(上海)有限公司 | 一种兼容classa和classb的数据下行方法 |
WO2017185353A1 (zh) * | 2016-04-29 | 2017-11-02 | 华为技术有限公司 | 一种传输控制协议tcp报文的传输方法、设备及系统 |
WO2018069284A1 (fr) * | 2016-10-13 | 2018-04-19 | Sagemcom Energy & Telecom Sas | Relais dans un systeme de communication de type lpwan |
CN108235404A (zh) * | 2016-12-22 | 2018-06-29 | 上海未来宽带技术股份有限公司 | 一种无线网络中继的实现方法及系统 |
US20180262799A1 (en) * | 2015-02-06 | 2018-09-13 | Shanghai Jiao Tong University | Dynamic Time Window and Cache Mechanism under the Heterogeneous Network Transmission |
-
2019
- 2019-06-12 CN CN201910505303.1A patent/CN112087399A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009033746A (ja) * | 2007-07-25 | 2009-02-12 | Ntt Docomo Inc | 無線メッシュネットワークにおけるトラフィックロードに基づいて適応的にスループットを高める方法 |
CN104580006A (zh) * | 2014-12-24 | 2015-04-29 | 无锡儒安科技有限公司 | 一种移动网络发送速率控制方法、装置及系统 |
US20180262799A1 (en) * | 2015-02-06 | 2018-09-13 | Shanghai Jiao Tong University | Dynamic Time Window and Cache Mechanism under the Heterogeneous Network Transmission |
WO2017185353A1 (zh) * | 2016-04-29 | 2017-11-02 | 华为技术有限公司 | 一种传输控制协议tcp报文的传输方法、设备及系统 |
WO2018069284A1 (fr) * | 2016-10-13 | 2018-04-19 | Sagemcom Energy & Telecom Sas | Relais dans un systeme de communication de type lpwan |
CN108235404A (zh) * | 2016-12-22 | 2018-06-29 | 上海未来宽带技术股份有限公司 | 一种无线网络中继的实现方法及系统 |
CN107071836A (zh) * | 2017-03-03 | 2017-08-18 | 国动物联网技术(上海)有限公司 | 一种兼容classa和classb的数据下行方法 |
Non-Patent Citations (1)
Title |
---|
虞阁飞: "《基于LoRa的LPWAN节能技术研究》", 《 CNKI优秀硕士学位论文全文库》, 15 August 2018 (2018-08-15) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112867060A (zh) * | 2021-01-18 | 2021-05-28 | 重庆邮电大学 | 一种LoRa网络服务器的下行消息队列处理方法 |
CN112867060B (zh) * | 2021-01-18 | 2022-04-05 | 重庆邮电大学 | 一种LoRa网络服务器的下行消息队列处理方法 |
CN115333675A (zh) * | 2022-08-12 | 2022-11-11 | 广州爱浦路网络技术有限公司 | 一种报文的发送方法、装置、电子设备及存储介质 |
CN115333675B (zh) * | 2022-08-12 | 2023-06-16 | 广州爱浦路网络技术有限公司 | 一种报文的发送方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160021612A1 (en) | Wireless transmission device, wireless reception device, wireless transmission program, wireless reception program, and wireless communication system | |
US8661167B2 (en) | DMA (direct memory access) coalescing | |
US8798102B2 (en) | Uplink scheduling timing | |
WO2019148563A1 (zh) | 一种数据发送方法、接收方法及装置 | |
US20090268747A1 (en) | Communication apparatus | |
KR101752822B1 (ko) | 타이밍 조정 방법 및 장치 | |
WO2019052163A1 (zh) | 一种唤醒处理的方法及装置 | |
CN112087399A (zh) | LoRa数据传输方法、装置、设备及存储介质 | |
US10091119B2 (en) | Managing data in a static network prior to initialization | |
US11910313B2 (en) | System and method for dynamic adjustment of target wake time service period intervals | |
WO2012145896A1 (zh) | 延迟调度请求的方法、终端设备及基站 | |
US7272156B2 (en) | Phased transmit architecture | |
CN112702146B (zh) | 数据处理方法及设备 | |
US8532111B2 (en) | Transmission apparatus, transmission method, and program | |
WO2020125485A1 (zh) | 下行基站选择方法、装置、设备及存储介质 | |
WO2022156801A1 (zh) | 参考信号传输时机有效性的确定方法和用户设备 | |
US20150181456A1 (en) | Frame transmission method and apparatus for controlling one-way delay | |
CN107295667B (zh) | 一种接入资源调整方法及装置 | |
CN108882345B (zh) | 蓝牙设备及其睡眠控制方法、装置、计算机可读存储介质 | |
CN111356212B (zh) | 数据传输方法、装置、设备及存储介质 | |
WO2021031925A1 (zh) | 信号发送方法、装置及存储介质 | |
US11055242B2 (en) | Receiver packet handling | |
US20130039238A1 (en) | Method Of Operating A Wireless Device And Processor For A Wireless Device | |
CN110730141B (zh) | 一种聚合调度方法、发送端及计算机可读存储介质 | |
CN111356175B (zh) | 数据传输方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40039139 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |