本发明涉及通信领域的远距离无线电(lora,longrangeradio)技术,尤其涉及一种下行报文轨迹追踪方法、装置及计算机可读存储介质。
背景技术:
在远距离无线电广域网(lorawan,longrangeradiowideareanetwork)中,网络协议服务器通过网关向通信终端发送下行报文时,基于该lorawan组网的特点,下行报文在传输过程中被丢失的地方较多,从而使得下行报文传输的成功率较低,进而使得影响通信终端的正常使用,基于此,亟需一种下行报文轨迹的追踪方法以解决上述问题。
技术实现要素:
有鉴于此,本发明的主要目的在于提供一种下行报文轨迹追踪方法、装置及计算机可读存储介质。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供一种下行报文轨迹追踪方法,所述方法包括:
获得向第一lorawan终端发送的lorawan下行报文,以及确定所述lorawan下行报文的传输类型;
基于所述传输类型确定与所述第一lorawan终端匹配的报文传输策略;
按照所述报文传输策略传输所述lorawan下行报文,以及记录所述lorawan下行报文对应的处理状态;
基于所述lorawan下行报文对应的处理状态确定所述lorawan下行报文的传输轨迹。
在上述方案中,所述获得向第一lorawan终端发送的lorawan下行报文,包括:
接收与所述第一lorawan终端相关的第一数据;所述第一数据中包含第一指令和/或lorawan上行报文;所述第一指令由第一设备发送;所述lorawan上行报文由所述第一lorawan终端发送;
对所述第一数据进行处理,获得向所述第一lorawan终端发送的所述lorawan下行报文。
在上述方案中,所述确定所述lorawan下行报文的传输类型,包括:
判断所述第一数据中是否包含所述lorawan上行报文;
在判定所述第一数据中包含所述lorawan上行报文的情况下,确定向所述第一lorawan终端发送的lorawan下行报文的传输类型为被动下行类型;
在判定所述第一数据中未包含所述lorawan上行报文的情况下,确定向所述第一lorawan终端发送的lorawan下行报文的传输类型为主动下行类型。
在上述方案中,所述基于所述传输类型确定与所述第一lorawan终端匹配的报文传输策略,包括:
在确定所述lorawan下行报文的传输类型的传输类型为被动下行类型的情况下,确定与所述第一lorawan终端匹配的报文传输策略为第一传输策略;所述第一传输策略用于指示网络协议服务器在第一时刻向网关发送互联网协议ip下行报文或在第一时刻和第二时刻向所述网关发送所述ip下行报文;所述ip下行报文为所述网络协议服务器按照特定格式对所述lorawan下行报文进行封装获得的;
在确定所述lorawan下行报文的传输类型为主动下行类型的情况下,确定所述第一lorawan终端的终端类型;基于所述终端类型确定与所述第一lorawan终端匹配的报文传输策略。
在上述方案中,所述基于所述终端类型确定与所述第一lorawan终端匹配的报文传输策略,包括:
在确定所述第一lorawan终端的终端类型为第一等级类型的情况下,确定与所述第一lorawan终端匹配的报文传输策略为第一传输策略;
在确定所述第一lorawan终端的终端类型为第二等级类型或第三等级类型的情况下,确定与所述第一lorawan终端匹配的报文传输策略为第二传输策略;所述第二传输策略用于指示网络协议服务器向所述网关发送所述ip下行报文,直到所述lorawan下行报文对应的最终处理状态为网关处理成功或第一lorawan终端处理成功为止,或者,直到所述ip下行报文的发送次数达到设定最大发送次数为止。
在上述方案中,在所述报文传输策略为第一传输策略的情况下,对应的,所述按照所述报文传输策略传输所述lorawan下行报文,以及记录所述lorawan下行报文对应的处理状态,包括:
在所述第一时刻向所述网关发送所述ip下行报文,记录所述lorawan下行报文对应的处理状态为提交网关成功;
判断在第一应答超时等待时间内是否接收到所述ip下行报文对应的第一正确应答数据;
在第一应答超时等待时间内接收到所述ip下行报文对应的第一正确应答数据的情况下,更新并记录所述lorawan下行报文对应的处理状态为网关处理成功。
在上述方案中,所述方法还包括:
在第一应答超时等待时间内未接收到所述ip下行报文对应的第一应答数据或接收到第一错误应答数据的情况下,基于存储的映射关系获得所述ip下行报文;
在第二时刻重新向所述网关发送所述ip下行报文,以及更新并记录所述lorawan下行报文对应的处理状态为再次提交网关成功;
判断在第二应答超时等待时间内是否接收到所述ip下行报文对应的第一正确应答数据;
在第二应答超时等待时间内接收到所述ip下行报文对应的第一正确应答数据的情况下,更新并记录所述lorawan下行报文对应的处理状态为网关处理成功;
在第二应答超时等待时间内未接收到所述ip下行报文对应的第一应答数据或接收到第一错误应答数据的情况下,更新并记录所述lorawan下行报文对应的处理状态为网关处理失败。
在上述方案中,所述方法还包括:
确定所述lorawan下行报文的应答类型;
在所述lorawan下行报文的应答类型为需要应答的情况下,判断在第三应答超时等待时间内是否接收到所述lorawan下行报文对应的第二正确应答数据;
在第三应答超时等待时间内接收到所述lorawan下行报文对应的第二正确应答数据,更新并记录所述lorawan下行报文对应的处理状态为第一lorawan终端处理成功;
在第三应答超时等待时间内接未收到所述lorawan下行报文对应的第二应答数据或者接收到第二错误应答数据,更新并记录所述lorawan下行报文对应的处理状态为第一lorawan终端处理失败。
在上述方案中,在所述报文传输策略为第二传输策略的情况下,对应的,所述按照所述报文传输策略传输所述lorawan下行报文,以及记录所述lorawan下行报文对应的处理状态,包括:
基于所述终端类型和设定最大发送次数,确定能够向所述网关发送所述ip下行报文的每一个发送时刻;
根据所述每一个发送时刻的先后顺序依次分别向所述网关发送所述ip下行报文,以及记录每次发送所述ip下行报文后所述lorawan下行报文对应的处理状态,直到所述lorawan下行报文对应的最终处理状态为网关处理成功或第一lorawan终端处理成功为止,或者,直到所述ip下行报文的发送次数达到设定最大发送次数为止。
在上述方案中,所述基于所述lorawan下行报文对应的处理状态确定所述lorawan下行报文的传输轨迹,包括:
按照记录时间的先后顺序对所述lorawan下行报文对应的处理状态进行排序处理,获得排序结果;基于所述排序结果确定所述lorawan下行报文的传输轨迹。
第二方面,本发明实施例还提供一种下行报文轨迹追踪装置,所述装置包括:获得单元、第一确定单元、第二确定单元、传输单元、记录单元和第三确定单元,其中,
所述获得单元,用于获得向第一lorawan终端发送的lorawan下行报文;
所述第一确定单元,用于确定所述获得单元获得的所述lorawan下行报文的传输类型;
所述第二确定单元,用于基于所述第一确定单元确定的所述传输类型确定与所述第一lorawan终端匹配的报文传输策略;
所述传输单元,用于按照所述第二确定单元确定的所述报文传输策略传输所述lorawan下行报文;
所述记录单元,用于在所述传输单元传输所述lorawan下行报文的情况下记录所述lorawan下行报文对应的处理状态;
所述第三确定单元,用于基于所述记录单元记录的所述lorawan下行报文对应的处理状态确定所述lorawan下行报文的传输轨迹。
第三方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
第四方面,本发明实施例还提供一种下行报文轨迹追踪装置,所述下行报文轨迹追踪装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行上述任一项所述方法的步骤。
本发明实施例提供一种下行报文轨迹追踪方法、装置及计算机可读存储介质,所述方法包括:获得向第一lorawan终端发送的lorawan下行报文,以及确定所述lorawan下行报文的传输类型;基于所述传输类型确定与所述第一lorawan终端匹配的报文传输策略;按照所述报文传输策略传输所述lorawan下行报文,以及记录所述lorawan下行报文对应的处理状态;基于所述lorawan下行报文对应的处理状态确定所述lorawan下行报文的传输轨迹。本发明实施例提供的下行报文轨迹追踪方法及装置,通过按照与所述第一lorawan终端匹配的报文传输策略传输所述lorawan下行报文,从而提高所述lorawan下行报文传输的成功率,以及通过记录所述lorawan下行报文对应的处理状态,能够对所述lorawan下行报文进行有效的追踪。
附图说明
图1为相关技术中一种lorawan架构的结构示意图;
图2为相关技术中classa终端的工作模式示意图;
图3为相关技术中classb终端的工作模式示意图;
图4为相关技术中classc终端的工作模式示意图;
图5为本发明实施例提供的一种下行报文轨迹追踪方法流程示意图;
图6为本发明实施例提供的另一种lorawan的架构的结构示意图;
图7为本发明实施例提供的第一lorawan终端的上行窗口及下行窗口的开启时刻流程示意图;
图8a本发明实施例提供的第一lorawan终端对所述lorawan下行报文的一种处理方式的示意图;
图8b本发明实施例提供的第一lorawan终端对所述lorawan下行报文的另一种处理方式的示意图;
图9a为本发明实施例提供的在第一传输策略时网络协议服务器与网关之间所述lorawan下行报文传输的流程示意图;
图9b为在图9a的基础上所述lorawan下行报文的应答类型为需要应答时所述lorawan下行报文传输的流程示意图;
图10a为本发明实施例提供的在第二传输策略时网络协议服务器与网关之间所述lorawan下行报文传输的流程示意图;
图10b为本发明实施例提供的在第二传输策略时网络协议服务器、网关、第一lorawan终端之间所述lorawan下行报文传输的流程示意图;
图11为本发明实施例提供的一种下行报文轨迹追踪装置的结构示意图;
图12为本发明实施例提供的下行报文轨迹追踪装置的一种硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为了理解本发明,以下先对lorawan的相关技术做简单的描述。
lorawan是基于远距离(longrange,lora)通信网络设计的一套通讯协议和系统架构,被广泛应用于物联网中,如图1所示,该系统架构可以包括通信终端101、通信终端102、通信终端103、网关(基站)104、网关(基站)105和网络协议服务器106。需要说明的是,在lorawan中不止有三个通信终端,也不止有两个网关(基站),本发明实施例仅是采用具有3个通信终端,2个网关(基站)的lorawan来阐述本发明解决lorawan存在的技术问题所采取的技术方案。
网络协议服务器106中集成了lorawan网络协议服务和lorawan网络管理服务,具备lorawan协议标准所规定的lorawan报文处理功能和通信终端、网关(基站)的管理功能。
在该系统架构中,网关(基站)起到连接网络协议服务器106和通信终端的作用,具体来讲,通信终端可以通过网关(基站)向网络协议服务器106发送上行报文,这个过程称为上行过程,该上行过程包括两个传输过程:通信终端向网关(基站)发送lorawan上行报文的传输过程和网关(基站)向网络协议服务器106发送的ip上行报文的传输过程。网络协议服务器106可以通过网关(基站)向通信终端发送下行报文,此过程称为下行过程,该下行过程也同样包括两个传输过程:网络协议服务器106向网关(基站)发送ip下行报文的传输过程和网关(基站)向通信终端发送的lorawan下行报文的传输过程。
在该系统架构中,网络协议服务器106与网关(基站)104、网关(基站)105之间可以通过互联网协议(ip,internetprotocol)进行通信,以传输ip上行报文或者ip下行报文,其中,ip可以为:移动蜂窝网络协议,比如,第三代移动通信技术(3g,the3thgenerationmobilecommunicationtechnology)、第四代移动通信技术(4g,the4thgenerationmobilecommunicationtechnology)等,也可以为无线保真(wifi,wirelessfidelity)协议、以太网(ethernet)协议、微型地球站(vsat,verysmallapertureterminal)卫星通信技术协议等。通信终端101、通信终端102和通信终端103与网关(基站)104或网关(基站)105采用lorawan协议进行通信,以传输lorawan上行报文或者lorawan下行报文。
在lorawan的技术标准中,通信终端101、通信终端102、通信终端103为具备lorawan通信功能的传感器终端,总的来说,通信终端的类型可大致分为:第一等级类型、第二等级类型以及第三等级类型,其中,所述第一等级类型的通信终端也可以称为classa终端;所述第二等级类型的通信终端也可以称为classb终端;所述第三等级类型的通信终端也可以称为classc终端,并且classa终端、classb终端以及classc终端具有不同的特点,其中:
如图2所示,其示出相关技术中classa终端的工作模式示意图。classa终端绝大部分时间处于睡眠状态,只有每次向网络协议服务器发送lorawan上行报文时,也即:发送状态,才会紧接着开启两个下行窗口,以接收网络协议服务器发送的对应于lorawan上行报文的应答报文,也即:接收状态。若网络协议服务器想要给classa终端主动发送下行报文时,必须等到classa终端向网络协议服务器发送了lorawan上行报文之后,才将该下行报文与lorawan上行报文的应答报文合成一条报文一起发送给classa终端。
如图3所示,其示出相关技术中classb终端的工作模式示意图。classb终端除了具有classa终端的特性之外,还可以在指定时间开启额外下行窗口,也即:classb终端开启的下行窗口,有两种类型:一种是紧接发送状态之后开启的下行窗口;一种是按照指定时间开启的额外下行窗口。需要说明的是,在实际应用过程中,为了实现classb终端在指定时间开启额外下行窗口,classb终端需要按照设定周期从网关(基站)中获取网关时间,并基于获取的网关时间调整自身的本地时间,以与网关(基站)保持时间同步,这样才能保证网络协议服务器主动发送的下行报文(不包含lorawan上行报文的应答数据),能够被classb终端成功的接收。
如图4所示,其示出相关技术中classc终端的工作模式示意图。classc终端绝大部分时间处于接收状态,也就是说,classc终端除了向网络协议服务器发送lorawan上行报文时关闭下行窗口之外,其余时间还会有一个下行窗口一直处于开启状态。网络协议服务器几乎在任何时候均可通过该下行窗口给classc终端发送下行报文。
由前述描述,基于lorawan组网的特点,lora无线通信、移动蜂窝、3g、4g、wifi等均是无线传输过程,那么,网络协议服务器通过网关(基站)向通信终端发送下行报文时,下行报文被丢失的地方较多,比如,通信终端与网关(基站)之间的传输过程;再比如,网关(基站)与网络协议服务器之间的传输过程等,从而使得下行报文传输的成功率比较低,进而使得影响该lorawan中的通信终端使用状态。
基于此,为了保证通信终端、网关(基站)以及网络协议服务器之间的报文的传输成功率,本发明实施例提供的一种下行报文轨迹的追踪方法,在不同通信终端类型、发送的lorawan下行报文的传输类型以及lorawan下行报文的应答类型的情况下,所述lorawan下行报文采用与通信终端匹配的报文传输策略,以提高所述lorawan下行报文传输的成功率,并且记录所述lorawan下行报文在传输过程对应的处理状态,以达到对所述lorawan下行报文传输的有效的追踪。需要说明的是,在lorawan中涉及的网关或基站所起到的作用均是中转,二者的作用是相同的,因此,下面仅以网关为例说明本发明的发明构思。
下面结合附图及具体实施例对本发明作进一步详细的说明。
如图5所示,其示出本发明实施例提供的一种下行报文轨迹追踪方法流程,所述方法包括:
s501:获得向第一lorawan终端发送的lorawan下行报文,以及确定所述lorawan下行报文的传输类型;
s502:基于所述传输类型确定与所述第一lorawan终端匹配的报文传输策略;
s503:按照所述报文传输策略传输所述lorawan下行报文,以及记录所述lorawan下行报文对应的处理状态;
s504:基于所述lorawan下行报文对应的处理状态确定所述lorawan下行报文的传输轨迹。
需要说明的是,所述方法可以应用到lorawan的网络协议服务器中。这里所说的第一lorawan终端可以为前述classa终端、classb终端以及classc终端任一种类型的终端。所说的lorawan下行报文是一种按照lorawan协议进行封装的报文。
在实际应用过程中,在lorawan中,网络协议服务器向第一lorawan终端发送的lorawan下行报文包括两种传输类型:被动下行类型和主动下行类型,其中,在第一lorawan终端向网络协议服务器发送了lorawan上行报文后,网络协议服务器响应于该lorawan上行报文时向第一lorawan终端发送应答报文;所述应答报文包含对应于该lorawan上行报文的应答数据,此时,所述应答报文就可以为lorawan下行报文,该应答报文的传输类型属于被动下行类型。网络协议服务器主动向第一lorawan终端发送的报文的传输类型属于主动下行类型。需要说明的是,在lorawan中,还有一种特殊的报文的传输种类也为被动下行类型,具体为:网络协议服务器需要向第一lorawan终端主动下发用户指令,但网络协议服务器需要等待第一lorawan终端发送lorawan上行报文后,将该用户指令与该lorawan上行报文的应答数据合成一条报文,然后再向第一lorawan终端发送包含用户指令和应答数据的lorawan下行报文。由于在这种情况下,第一lorawan终端的下行窗口仍然是在向网络协议服务器发送了lorawan上行报文之后开启的,因此,可将此种情况的报文的传输类型也归属到被动下行类型。其中,所述lorawan上行报文的应答数据由网络协议服务器基于lorawan协议对所述lorawan上行报文进行处理获得。所述用户指令可以用户通过具有应用程序(app,application)的设备向网络协议服务器发送的。
基于此,在一些实施例中,所述获得向第一lorawan终端发送的lorawan下行报文,包括:
接收与所述第一lorawan终端相关的第一数据;所述第一数据中包含第一指令和/或lorawan上行报文;所述第一指令由第一设备发送;所述lorawan上行报文由所述第一lorawan终端发送;
对所述第一数据进行处理,获得向所述第一lorawan终端发送的所述lorawan下行报文。
需要说明的是,所述lorawan上行报文为所述第一lorawan终端向网络协议服务器发送的报文,其至少包括终端标识,所述终端标识为一种唯一性标识,换句话说,所述终端标识像一个身份标识,用于标识第一lorawan终端的唯一性。比如,终端标识可以是第一lorawan终端出厂时的产品序列号。在后续数据的传输过程中,网络协议服务器可以基于终端标识确定向第一lorawan终端发送包含应答数据的lorawan下行报文。
需要说明的是,这里所说的第一指令可以是指前述的用户指令,是通过具有应用程序(app,application)的第一设备向网络协议服务器发送的,其中,所述第一设备可以是任何能够安装app的设备,比如,移动终端、应用服务器等。
示例性的,假设第一设备为应用服务器,那么,在此基础上,lorawan的架构可以如图6所示。在该lorawan中,网络协议服务器可以通过多个应用服务器与用户进行通信,也即:用户可以通过应用服务器中的app向网络协议服务器发送第一指令,其中,所述第一指令用于指示网络协议服务器向第一lorawan终端发送包含操作命令的lorawan下行报文,比如,操作命令可以为查询、配置操作等。在实际应用过程中,第一指令的种类多种多样,比如,终端参数查询指令、终端参数配置指令、网络连接状态检测指令、充值指令等等,在此可不做限制。
在一些实施例中,所述对所述第一数据进行处理,获得向所述第一lorawan终端发送的所述lorawan下行报文,可以包括:
对所述lorawan上行报文进行第一解析,获得第一解析结果;和/或,对所述第一指令进行第二解析,获得第二解析结果;
基于所述第一解析结果和/或所述第二解析结果,获得向所述第一lorawan终端发送的所述lorawan下行报文。
需要说明的是,此处所说的第一解析可以是指网络协议服务器按照lorawan协议对所述lorawan上行报文进行解析的过程。第二解析可以是网络协议服务器根据设定协议将第一指令进行解析的过程,其中,设定协议可以是网络协议服务器与第一设备预先约定好的,比如,设定协议可以是互联网协议ip,其中,所述第二解析结果至少包括终端标识和操作命令。
在一些实施例中,所述基于所述第一解析结果和/或所述第二解析结果,获得向所述第一lorawan终端发送的所述lorawan下行报文,可以包括:
基于所述第一解析结果,确定所述lorawan上行报文的应答数据,和/或,基于所述第二解析结果,确定所述第一指令对应的操作指令;
将所述应答数据和/或所述操作指令以及所述第一lorawan终端的终端标识按照lorawan协议进行封装,获得封装结果;所述封装结果为网络协议服务器向所述第一lorawan终端发送的所述lorawan下行报文。
在实际应用过程中,在获得所述lorawan下行报文后,需要确定所述lorawan下行报文的传输类型,以此,确定适合所述lorawan下行报文的报文传输策略,基于前述描述,所述lorawan下行报文的传输类型包括被动下行类型和主动下行类型,对应的,所述确定所述lorawan下行报文的传输类型,可以包括:
判断所述第一数据中是否包含所述lorawan上行报文;
在判定所述第一数据中包含所述lorawan上行报文的情况下,确定向所述第一lorawan终端发送的lorawan下行报文的传输类型为被动下行类型;
在判定所述第一数据中未包含所述lorawan上行报文的情况下,确定向所述第一lorawan终端发送的lorawan下行报文的传输类型为主动下行类型。
需要说明的是,基于前述三种类型的通信终端的工作模式的描述,在lorawan中,只要通信终端向网络协议服务器发送lorawan上行报文,网络协议服务器可以在通信终端发送该lorawan上行报文随后开启两个下行窗口中任一下行窗口时间内向所述通信终端发送应答,也就是说,当网络协议服务器接收的第一数据中如果含有第一lorawan终端发送的lorawan上行报文,那么,网络协议服务器就可以在第一lorawan终端随后开启两个下行窗口中任一个下行窗口时间内向第一lorawan终端发送该lorawan上行报文的应答数据,基于前述描述,在第一数据中包含lorawan上行报文的情况下,所述lorawan下行报文就会包含该lorawan上行报文的应答数据,那么,其传输类型应该为被动下行类型;在第一数据中不包含lorawan上行报文的情况下,所述lorawan下行报文就会不包含该lorawan上行报文的应答数据,那么,其对应的传输类型应该为主动下行类型,基于此,网络协议服务器可以基于接收的第一数据中是否包含lorawan上行报文来确定lorawan下行报文的传输类型。
在一些实施例中,对于s502,可以包括:
在确定所述lorawan下行报文的传输类型为被动下行类型的情况下,确定与所述第一lorawan终端匹配的报文传输策略为第一传输策略;所述第一传输策略用于指示网络协议服务器在第一时刻向网关发送互联网协议ip下行报文或在第一时刻和第二时刻向网关发送所述ip下行报文;所述ip下行报文为所述网络协议服务器按照特定格式对所述lorawan下行报文进行封装获得的;
在确定所述lorawan下行报文的传输类型为主动下行类型的情况下,确定所述第一lorawan终端的终端类型;基于所述终端类型确定与所述第一lorawan终端匹配的报文传输策略。
需要说明的是,在lorawan中,第一lorawan终端不论是classa终端、classb终端、classc终端任何一种,在网络协议服务器确定所述lorawan下行报文的传输类型为被动下行类型时,确定的所述lorawan下行报文的报文传输策略均为第一传输策略,其中,所述第一传输策略用于指示网络协议服务器在第一时刻向网关发送ip下行报文或在第一时刻和第二时刻向网关发送ip下行报文,其中,所述第一时刻对应于所述第一lorawan终端在发送所述lorawan上行报文后开启的第一下行窗口,也就是,网络协议服务器在第一时刻发送所述ip下行报文,在正常情况下,所述第一lorawan终端能够在第一下行窗口开启时间内接收到所述lorawan下行报文;所述第二时刻可以对应于所述第一lorawan终端在发送所述lorawan上行报文后开启的第二下行窗口,也就是说,网络协议服务器在第二时刻发送所述ip下行报文,在正常情况下,所述第一lorawan终端能够在第二下行窗口开启时间内接收到所述lorawan下行报文。
需要说明的是,基于lorawan协议,如图7所示,第一lorawan终端发送lorawan上行报文时会开启一个上行窗口,在lorawan上行报文发送完成之后,第一lorawan终端将上行窗口关闭,并在上行窗口关闭之后等待设定时延之后开启第一下行窗口;等待设定窗口开启间隔,开启第二下行窗口。这里需要说明的是,若第一lorawan终端采用第一下行窗口接收lorawan下行报文成功,则第二下行窗口不会在开启。并且在lorawan通信协议中,允许第一lorawan终端在入网阶段以及入网后的通信阶段对设定时延进行修改。通常情况下,第一lorawan终端的设定时延和窗口开启间隔会采用协议默认参数,或者一个有别于默认参数的固定值。也就是说,通常情况下,第一lorawan终端的设定时延和窗口开启间隔是固定的,不会发生变化,比如,设定时延为1秒,窗口开启间隔也为1秒。这些设置,在第一lorawan终端在入网时或者入网后会与网络协议服务器协商好,换句话说,网络协议服务器能够获得第一lorawan终端的第一下行窗口和第二下行窗口的开启时间,并基于第一下行窗口和第二下行窗口的开启时间获得能够向所述网关发送所述lorawan下行报文的第一时刻和第二时刻。具体来讲,第一时刻和第二时刻可以基于第一lorawan终端的第一下行窗口的开启时刻、第二下行窗口的开启时刻、所述lorawan下行报文的传输时间、网关延时等进行计算,其计算过程可参考现有技术在此不再赘述。
在实际应用过程中,基于前述描述lorawan架构中上行报文或者下行报文的传输过程,网络协议服务器向所述网关发送的是经过特定格式将所述lorawan下行报文封装后的报文,其中,所述特定格式可以是前述的按照ip进行封装,其格式表1所示。
其中,ip版本是指互联网协议版本,比如,ip版本(version)可以为:ipv4或者ipv6;令牌为一些特殊帧,更通俗点可以叫暗号,是一种标识信息;报文类型为网络协议服务器与网关之间的报文类型,用于网络协议服务器区分所述网关发送的不同功能的消息,比如,报文类型可以为pulldata,该类型的报文用于表示该报文的功能用于链路检测,或者所述报文类型还可以为ack,该类型的报文用于表示该报文为应答报文;网关标识符为网关的身份(identification)的唯一性的标识,比如,网关标识符可以是网关出厂时分配的媒体访问控制(mac,mediaaccesscontrol)地址;网关元数据为网关的相关信息,可以包括:信道标识、信号强度、信噪比等。其中,所述信道标识可以为报文发送所采用信道的编码;所述信号强度可以为报文发送所采用信道的信号强度;所述信噪比为报文发送所采用信道的信噪比。
在一些实施例中,在网络协议服务器确定所述lorawan下行报文的传输类型为主动下行类型时,此时,由于classa终端、classb终端、classc终端工作模式的不同,所述lorawan下行报文的传输方式有所不同,因此,需要确定所述第一lorawan终端的终端类型,然后再基于不同的终端类型再确定对应的传输策略。
在实际应用过程中,所述基于所述终端类型确定与所述第一lorawan终端匹配的报文传输策略,包括:
在确定所述第一lorawan终端的终端类型为第一等级类型的情况下,确定与所述第一lorawan终端匹配的报文传输策略为第一传输策略;
在确定所述第一lorawan终端的终端类型为第二等级类型或第三等级类型的情况下,确定与所述第一lorawan终端匹配的报文传输策略为第二传输策略;所述第二传输策略用于指示网络协议服务器向所述网关发送所述ip下行报文,直到所述lorawan下行报文对应的最终处理状态为网关处理成功或第一lorawan终端处理成功为止,或者,直到所述ip下行报文的发送次数达到设定最大发送次数为止。
需要说明的是,第一lorawan终端的终端类型可以基于所述lorawan下行报文中包含的终端标识进行确定。
在一些实施例中,基于第一等级类型的工作模式特点,该类型下的第一lorawan终端对应的lorawan下行报文,其传输类型不论是主动下行类型还是被动下行类型,网络协议服务器均需要在第一lorawan终端开启两个下行窗口中的任一下行窗口时间内传输所述lorawan下行报文,第一lorawan终端才有可能会接收到所述lorawan下行报文。因此,在确定所述第一lorawan终端的终端类型为第一等级类型的情况下,将第一传输策略作为与所述第一lorawan终端匹配的报文传输策略。
在一些实施例中,在所述报文传输策略为第一传输策略的情况下,对应的,所述按照所述报文传输策略传输所述lorawan下行报文,以及记录所述lorawan下行报文对应的处理状态,包括:
在所述第一时刻向所述网关发送所述ip下行报文,记录所述lorawan下行报文对应的处理状态为提交网关成功;
判断在第一应答超时等待时间内是否接收到所述ip下行报文对应的第一正确应答数据;
在第一应答超时等待时间内接收到所述ip下行报文对应的第一正确应答数据的情况下,更新并记录所述lorawan下行报文对应的处理状态为网关处理成功。
需要说明的是,这里所说的网关可以是lorawan架构中传输范围能够覆盖所述第一lorawan终端的多个网关之一,由网络协议服务器基于特定策略从多个网关中选择获得,其中,所述特定策略可以是按照转发所述lorawan上行报文的多个网关中选择信号强度最强的网关,还可以是其他策略,总之,网关协议服务器向选择的网关发送携带有所述lorawan下行报文的ip下行报文,并记录此时所述lorawan下行报文对应的处理状态为提交网关成功。
在一些实施例中,所述第一应答超时等到时间可以是指在网络协议服务器向所述网关发送所述ip下行报文后,设定的接收到所述网关发送与所述ip下行报文相关的第一正确应答数据的最大等待时长,比如,所述第一应答超时等待时间设置可以为3秒,此时,网络协议服务器向所述网关发送所述ip下行报文后,等待所述网关发送与所述ip下行报文相关的第一正确应答数据的最大等待时长为3秒,也就是说,网络协议服务器若能接收到与所述ip下行报文相关的第一正确应答数据,接收时间一定在所述ip下行报文发出后的3秒内;若在3秒内未接收到所述网关发送的与所述ip下行报文对应的第一正确应答数据时,不会再等待接收与所述ip下行报文对应的第一正确应答数据。
在实际应用过程中,若在第一应答超时等待时间内接收到所述ip下行报文对应的第一正确应答数据的情况下,则说明,所述网关接收到了所述ip下行报文,并且成功的将所述ip下行报文进行了处理,此时,网络协议服务器会将所述lorawan下行报文对应的处理状态记录为网关处理成功,以此来追踪所述lorawan下行报文所处的传输阶段。所说的第一正确应答数据可以为所述网关对所述ip下行报文按照ip进行处理后获得的正确应答,也可以说是,所述网关接收到所述ip下行报文后,按照与网络协议服务器约定好的应答格式对所述ip下行报文进行处理获得的应答,此时的应答就为第一正确应答数据。
示例性的,以前述表1中的ip下行报文的报文格式,其与网络协议服务器约定好的对应的第一正确应答数据的报文格式如表2所示。
其中,错误码用于表征出现的错误类型,若网络协议服务器接收到第一错应答数据,可以基于所述第一错应答数据中包含的错误码确定是什么类型的错误。
需要说明的是,基于lorawan的组网特点,网络协议服务器在第一应答超时等待时间还存在接收到所述ip下行报文对应的第一错误应答数据或者未接收到所述ip下行报文对应的第一应答数据。在这种情况下,所述方法还包括:
在第一应答超时等待时间内未接收到所述ip下行报文对应的第一应答数据或接收到第一错误应答数据的情况下,基于存储的映射关系获得所述ip下行报文;
在第二时刻重新向所述网关发送所述ip下行报文,以及更新并记录所述lorawan下行报文对应的处理状态为再次提交网关成功;
判断在第二应答超时等待时间内是否接收到所述ip下行报文对应的第一正确应答数据;
在第二应答超时等待时间内接收到所述ip下行报文对应的第一正确应答数据的情况下,更新并记录所述lorawan下行报文对应的处理状态为网关处理成功;
在第二应答超时等待时间内未接收到所述ip下行报文对应的第一应答数据或接收到第一错误应答数据的情况下,更新并记录所述lorawan下行报文对应的处理状态为网关处理失败。
需要说明的是,在第一传输策略中,由于第一lorawan终端仅在所述lorawan上行报文发送后至多开启两个下行窗口,那么,为了保证所述ip下行报文传输的成功率,在第一应答超时等待时间内未接收到所述ip下行报文对应的第一应答数据或接收到第一错误应答数据的情况下,网络协议服务器还可以在第二时刻向所述网关发送所述ip下行报文。需要说明的是,在第一传输策略中,第一lorawan终端多开启两个下行窗口,那么,所述ip下行报文可以至多被发送两次。
在一些实施例中,所说的第一应答数据包括第一正确应答数据和第一错误应答数据;所说的第一错误应答数据可以为所述网关对所述ip下行报文按照ip进行处理后获得错误应答,其中,出现错误应答是网关接收的报文之间冲突引起的。
在一些实施例中,所述ip下行报文可以在网络协议服务器将其封装完成后,存储在网络协议服务器或者其他数据库中,并且,网络协议服务器设置且存储标识信息与所述ip下行报文之间的映射关系,其中,所述标识信息可以为所述第一lorawan终端对应的终端标识,也可以预先在下行报文的某一字段设置的特殊字符,比如,前述的令牌(token)。
需要说明的是,第二应答超时等待时间与前述第一应答超时等待时间含义相同,其值可以与第一应答超时等待时间相同,也可不同,根据实际情况进行设置,在此不再赘述。
在实际应用过程中,在所述ip下行报文被所述网关处理成功后,所述网关会将所述ip下行报文中包含的所述lorawan下行报文向所述第一lorawan终端发送,然后,在第一lorawan终端接收到所述lorawan下行报文后,所述第一lorawan终端对所述lorawan下行报文的处理如图8a和图8b所示,其中,图8a示出本发明实施例提供的第一lorawan终端对所述lorawan下行报文的一种处理方式;图8b示出本发明实施例提供的第一lorawan终端对所述lorawan下行报文的另一种处理方式。具体的,在图8a中示出的是在网络协议服务器需要所述lorawan下行报文的应答时所述第一lorawan终端对所述lorawan下行报文处理后应答的传输过程;在图8b中示出的是在网络协议服务器不需要所述lorawan下行报文的应答时所述第一lorawan终端对所述lorawan下行报文后应答的传输过程,也可以说,所述第一lorawan终端在接收到所述lorawan下行报文后,对所述lorawan下行报文的处理可以分为应答处理和不应答处理两种处理方式,也可以将,所述lorawan下行报文的应答类型包括:需要应答和不需要应答。
基于此,为了完整的追踪所述lorawan下行报文的传输轨迹,所述方法还包括:
确定所述lorawan下行报文的应答类型;
在所述lorawan下行报文的应答类型为需要应答的情况下,判断在第三应答超时等待时间内是否接收到所述lorawan下行报文对应的第二正确应答数据;
在第三应答超时等待时间内接收到所述lorawan下行报文对应的第二正确应答数据,更新并记录所述lorawan下行报文对应的处理状态为第一lorawan终端处理成功;
在第三应答超时等待时间内接未收到所述lorawan下行报文对应的第二应答数据或者接收到第二错误应答数据,更新并记录所述lorawan下行报文对应的处理状态为第一lorawan终端处理失败。
需要说明的是,这里所说的确定所述lorawan下行报文的应答类型可以由网络协议服务器基于lorawan协议封装所述lorawan下行报文时获得或者对封装后的所述lorawan下行报文进行解析获得。具体来讲,网络协议服务器可以基于lorawan协议识别所述lorawan下行报文是否需要应答。
需要说明的是,由图8b所示,在所述lorawan下行报文的应答类型为不需要应答时,网络协议服务器将所述ip下行报文传输给所述网关,并且所述网关将所述ip下行报文对应的第一正确应答数据传输给网络协议服务器后,网络协议服务器能够记录的所述lorawan下行报文对应的处理状态为网关处理成功。之后,所述网关将所述lorawan下行报文向第一lorawan终端发送,但网络协议服务器记录的所述lorawan下行报文对应的处理状态仍是为网关处理成功,也就是说,在所述lorawan下行报文不需要应答时,网络协议服务器并不清楚,第一lorawan终端能够接收到所述lorawan下行报文。
在一些实施例中,在所述lorawan下行报文的应答类型为需要应答时,如图8a所示,网络协议服务器需要接收到第一lorawan终端发送的包含有所述lorawan下行报文对应的应答,也即:网络协议服务器接收到所述lorawan下行报文对应的第二正确应答数据,才能说明网络协议服务器向第一lorawan终端发送的所述lorawan下行报文传输成功。
需要说明的是,这里所说的第三应答等待时间可以是指网络协议服务器向所述网关发送携带有所述lorawan下行报文的ip下行报文后,设定的接收所述第一lorawan终端发送与所述lorawan下行报文相关的第二正确应答数据的最大等待时长,其值可以基于大量的测试获得的,具体来讲,网络协议服务器可以向所述第一lorawan终端发送一定数量的需要应答的测试报文,然后记录每一个测试报文的应答时长,最后求取各应答时长的平均值,将该平均值作为第三应答等待时间。其中,所述应答时长可以是指从网络协议服务器发送测试报文起到接收到测试报文对应的应答之间的时长。或者,网络协议服务器记录过去一段时间内向所述第一lorawan终端发送的多个lorawan下行报文中每一个所述lorawan下行报文对应的应答时长,最后求取各应答时长的平均值,将该平均值作为第三应答等待时间。
在实际应用过程中,这里所说的第三应答超时等待时间的计时起点可以在第一时刻或者第二时刻,并且所述第三应答超时等待时间与前述的第一应答超时等待时间、第二应答超时等待时间均是为了不同过程描述方便,不用作限制本发明。同理,这里所说的第二正确应答数据为所述第一lorawan终端对所述lorawan下行报文按照lorawan协议进行处理后获得的正确应答。所说的第二应答数据包括第二正确应答数据和第二错误应答数据;所说的第二错误应答数据可以为所述第一lorawan终端对对所述lorawan下行报文按照lorawan协议进行处理后获得错误应答,其中,出现错误应答可能是网关接收的报文之间冲突引起的。与前述的第一正确应答数据、第一应答数据以及第一错误应答数据均是为了不同过程描述方便,不用作限制本发明。
为了理解第一传输策略,如图9a和图9b所示,其中,图9a为本发明实施例提供的在第一传输策略时网络协议服务器与网关之间所述lorawan下行报文传输的流程示意图;图9b在图9a的基础上所述lorawan下行报文的应答类型为需要应答时所述lorawan下行报文传输的流程示意图。
在实际应用过程中,当第一lorawan终端的终端类型为第二等级类型或第三等级类型时,也即:第一lorawan终端的终端类型为classb终端或classc终端时,基于二者工作模式的特点,在所述lorawan下行报文的传输类型为主动下行类型时,第一lorawan终端可以基于classb终端在设定周期内开启的额外下行窗口或者classc终端一直开启的监听下行窗口(比如,一直开启第二下行窗口)接收网络协议服务器通过所述网关发送的所述lorawan下行报文,因此,在确定所述第一lorawan终端的终端类型为第二等级类型或第三等级类型的情况下,确定与所述第一lorawan终端匹配的报文传输策略为第二传输策略,其中,所述第二传输策略用于指示网络协议服务器向所述网关发送所述ip下行报文,直到所述lorawan下行报文对应的最终处理状态为网关处理成功或第一lorawan终端处理成功为止,或者,直到所述ip下行报文的发送次数达到设定最大发送次数为止,也可以说,为了保证在网络协议服务器与第一lorawan终端之间传输所述lorawan下行报文的成功率,在基于第二等级类型终端和基于第三等级类型终端能够开启多个下行窗口的情况下,网络协议服务器可以多次向网关发送携带有lorawan下行报文的ip下行报文,直到所述lorawan下行报文对应的处理状态为网关处理成功或者第一lorawan终端处理成功,或者所述ip下行报文的发送次数达到设定最大发送次数为止。
在一些实施例中,在所述报文传输策略为第二传输策略的情况下,对应的,所述按照所述报文传输策略传输所述lorawan下行报文,以及记录所述lorawan下行报文对应的处理状态,包括:
基于所述终端类型和设定最大发送次数,确定能够向所述网关发送所述ip下行报文的每一个发送时刻;
根据所述每一个发送时刻的先后顺序依次分别向所述网关发送所述ip下行报文,以及记录每次发送所述ip下行报文时所述lorawan下行报文对应的处理状态,直到所述lorawan下行报文对应的最终处理状态为网关处理成功或第一lorawan终端处理成功为止,或者,直到所述ip下行报文的发送次数达到设定最大发送次数为止。
需要说明的是,基于classb终端和classc终端工作模式的不同,确定能够向所述网关发送所述ip下行报文的每一个发送时刻的方式不同,具体来讲,对于classb终端来说,基于lorawan协议的规定,在classb终端在入网阶段以及入网后的通信阶段,classb终端会将出厂时已经设置好的设定周期、在设定周期开启的额外下行窗口的数量,按照lorawan协议进行封装形成包含配置信息的上行报文,并将该包含配置信息的上行报文通过网关上报给网络服务器,其中,配置信息就是指前述的设置好的设定周期、在设定周期开启的额外下行窗口的数量,也就是说,第一lorawan终端(终端类型为classb终端)与网络协议服务器已经协商好在设定周期内开启额外下行窗口的数量和开启时刻,基于此,网络协议服务器可以基于前述的配置信息计算出能够向所述网关发送所述ip下行报文的每一个发送时刻;对于classc终端来说,classc终端有一个下行窗口一直处于监听状态,也即:一直处于开启状态,那么,网络协议服务器可以周期性的向所述网关发送所述ip下行报文,也即:在设置好发送所述ip下行报文的周期、开始发送时间以及设定最大发送次数,网络协议服务器可以计算出能够向所述网关发送所述ip下行报文的每一个发送时刻。
在实际应用过程中,在确定能够向所述网关发送所述ip下行报文的每一个发送时刻后,由于每一个发送时刻具有先后顺序,网络协议服务器可以基于每一发送时刻的先后顺序依次分别的向所述网关发送所述ip下行报文,并且依次分别判断所述lorawan下行报文对应的最终处理状态是否为网关处理成功或者第一lorawan终端处理成功,以及依次分别判断所述ip下行报文的发送次数是否达到设定最大发送次数,在某一次发送所述ip下行报文后,记录的所述lorawan下行报文对应的处理状态为网关处理成功或者为第一lorawan终端处理成功,停止向所述网关发送所述ip下行报文;或者,在所述ip下行报文的发送次数达到设定最大发送次数,且记录的所述lorawan下行报文对应的处理状态不是网关处理成功或者第一lorawan终端处理成功,记录的所述lorawan下行报文对应的处理状态为网关处理失败或者为第一lorawan终端处理失败,停止向所述网关发送所述ip下行报文。
为了理解第二传输策略,如图10a和图10b所示,其中,图10a为本发明实施例提供的在第二传输策略时网络协议服务器与网关之间所述lorawan下行报文的传输流程示意图;图10b为本发明实施例提供的在第二传输策略时网络协议服务器、网关、第一lorawan终端之间所述lorawan下行报文的传输流程示意图。所述第四应答超时等待时间与前述的第一应答超时等待时间以及第二应答超时等待时间含义相同;所述第五应答超时等待时间与前述的第三应答超时等待时间含义相同,在此均不再赘述。
需要说明的是,在所述第一lorawan终端为classb终端时,还需要注意在向所述网关发送所述ip下行报文之前,网络协议服务器还需要对接收到第一数据进行参数校验,以便了解所述lorawan下行报文是否满足传输条件。并且,在判断满足传输条件后,将所述lorawan下行报文存入与所述第一lorawan终端对应的先进先出对列,以便后续需要向所述第一lorawan终端发送下行报文时,网路协议服务器按照对列中的顺序依次向所述第一lorawan终端发送。此外,网络协议服务器每次向classb终端发送的lorawan下行报文均需要重新封住,放入先进先出对列队尾,以保证网络协议服务器向所述第一lorawan终端发送的其他的下行报文能够及时被发送。其中,若是所述lorawan下行报文比较重要,网络协议服务器还可以在优先标识,允许所述lorawan下行报文被优先发送。
在一些实施例中,所述基于所述lorawan下行报文对应的处理状态确定所述lorawan下行报文的传输轨迹,包括:
按照记录时间的先后顺序对所述lorawan下行报文对应的处理状态进行排序处理,获得排序结果;基于所述排序结果确定所述lorawan下行报文的传输轨迹。
需要说明的是,该步骤就是将所述lorawan下行报文对应的处理状态按照记录时间的先后顺序依次排列,网络协议服务器能够知道所述lorawan下行报文的传输轨迹。
示例性的,假设所述lorawan下行报文的传输类型为被动下行类型且应答类型为不需要应答,所述lorawan下行报文对应的处理状态按照记录时间的先后顺序依次为:提交网关成功、网关处理成功,或者,提交网关成功、再次提交网关成功、网关处理成功,或者,提交网关成功、再次提交网关成功、网关处理失败,基于此,网络协议服务器可以知道所述lorawan下行报文的传输轨迹是否发送到所述网关且网关是否处理成功。
本发明实施例提供一种下行报文轨迹追踪方法,通过按照与所述第一lorawan终端匹配的报文传输策略传输所述lorawan下行报文,以及通过记录所述lorawan下行报文对应的处理状态,以此,提高所述lorawan下行报文传输的成功率并对所述所述lorawan下行报文进行有效的追踪。
基于相同的发明构思,本发明实施例还提供一种下行报文轨迹追踪装置,如图11所示,其示出本发明实施例提供的一种下行报文轨迹追踪装置的结构示意图。所述装置110包括:获得单元1101、第一确定单元1102、第二确定单元1103、传输单元1104、记录单元1105和第三确定单元1106,其中,
所述获得单元1101,用于获得向第一lorawan终端发送的lorawan下行报文;
所述第一确定单元1102,用于确定所述获得单元1101获得的所述lorawan下行报文的传输类型;
所述第二确定单元1103,用于基于所述第一确定单元1102确定的所述传输类型确定与所述第一lorawan终端匹配的报文传输策略;
所述传输单元1104,用于按照所述第二确定单元1103确定的所述报文传输策略传输所述lorawan下行报文;
所述记录单元1105,用于在所述传输单元1104传输所述lorawan下行报文的情况下记录所述lorawan下行报文对应的处理状态;
所述第三确定单元1106,用于基于所述记录单元1105记录的所述lorawan下行报文对应的处理状态确定所述lorawan下行报文的传输轨迹。
在一些实施例中,所述获得单元1101,具体用于:接收与所述第一lorawan终端相关的第一数据;所述第一数据中包含第一指令和/或lorawan上行报文;所述第一指令由第一设备发送;所述lorawan上行报文由所述第一lorawan终端发送;对所述第一数据进行处理,获得向所述第一lorawan终端发送的所述lorawan下行报文。
在一些实施例中,第一确定单元1102,具体用于:在所述传输类型包括被动下行类型和主动下行类型的情况下,判断所述第一数据中是否包含所述lorawan上行报文;在判定所述第一数据中包含所述lorawan上行报文的情况下,确定向所述第一lorawan终端发送的lorawan下行报文的传输类型为被动下行类型;在判定所述第一数据中未包含所述lorawan上行报文的情况下,确定向所述第一lorawan终端发送的lorawan下行报文的传输类型为主动下行类型。
在一些实施例中,所述第二确定单元1103,包括第一确定子单元和第二确定子单元,其中,
所述第一子确定单元,用于在确定所述lorawan下行报文的传输类型为被动下行类型的情况下,确定与所述第一lorawan终端匹配的报文传输策略为第一传输策略;所述第一传输策略用于指示网络协议服务器在第一时刻发送互联网协议ip下行报文或在第一时刻和第二时刻向网关发送所述ip下行报文;所述ip下行报文为所述网络协议服务器按照特定格式对所述lorawan下行报文进行封装获得的;
所述第二子确定单元,用于在确定所述lorawan下行报文的传输类型为主动下行类型的情况下,确定所述第一lorawan终端的终端类型;基于所述终端类型确定与所述第一lorawan终端匹配的报文传输策略。
在一些实施例中,所述第二子确定单元,具体用于:在确定所述第一lorawan终端的终端类型为第一等级类型的情况下,确定与所述第一lorawan终端匹配的报文传输策略为第一传输策略;在确定所述第一lorawan终端的终端类型为第二等级类型或第三等级类型的情况下,确定与所述第一lorawan终端匹配的报文传输策略为第二传输策略;所述第二传输策略用于指示网络协议服务器向所述网关发送所述ip下行报文,直到所述lorawan下行报文对应的最终处理状态为网关处理成功或第一lorawan终端处理成功为止,或者,直到所述ip下行报文的发送次数达到设定最大发送次数为止。
在一些实施例中,在所述报文传输策略为第一传输策略的情况下,所述传输单元1104,包括:发送子单元和判断子单元,其中,
所述发送子单元,用于在所述第一时刻向所述网关发送所述ip下行报文;对应的,所述记录单元,用于记录所述lorawan下行报文对应的处理状态为提交网关成功;
所述判断子单元,用于判断在第一应答超时等待时间内是否接收到所述ip下行报文对应的第一正确应答数据;对应的,所述记录单元,还用于在第一应答超时等待时间内接收到所述ip下行报文对应的第一正确应答数据的情况下,更新并记录所述lorawan下行报文对应的处理状态为网关处理成功。
在一些实施例中,所述传输单元1104,还包括获得子单元,用于在第一应答超时等待时间内未接收到所述ip下行报文对应的第一应答数据或接收到第一错误应答数据的情况下,基于存储的映射关系获得所述ip下行报文;对应的,所述发送子单元,还用于在第二时刻重新向所述网关发送所述ip下行报文;所述记录单元1105,还用于更新并记录所述lorawan下行报文对应的处理状态为再次提交网关成功;
所述判断子单元,还用于判断在第二应答超时等待时间内是否接收到所述ip下行报文对应的第一正确应答数据;对应的,所述记录单元,还用于在第二应答超时等待时间内接收到所述ip下行报文对应的第一正确应答数据的情况下,更新并记录所述lorawan下行报文对应的处理状态为网关处理成功;在第二应答超时等待时间内未接收到所述ip下行报文对应的第一应答数据或接收到第一错误应答数据的情况下,更新并记录所述lorawan下行报文对应的处理状态为网关处理失败。
在一些实施例中,所述装置还包括第四确定单元,用于确定所述lorawan下行报文的应答类型;
所述判断子单元,还用于在所述lorawan下行报文的应答类型为需要应答的情况下,判断在第三应答超时等待时间内是否接收到所述lorawan下行报文对应的第二正确应答数据;
对应的,所述记录单元,还用于在第三应答超时等待时间内接收到所述lorawan下行报文对应的第二正确应答数据,更新并记录所述lorawan下行报文对应的处理状态为第一lorawan终端处理成功;在第三应答超时等待时间内接未收到所述lorawan下行报文对应的第二应答数据或者接收到第二错误应答数据,更新并记录所述lorawan下行报文对应的处理状态为第一lorawan终端处理失败。
在一些实施例中,在所述报文传输策略为第二传输策略的情况下,所述传输单元,还具体用于:基于确定的所述终端类型和设定最大发送次数,确定能够向所述网关发送所述ip下行报文的每一个发送时刻;根据所述每一个发送时刻的先后顺序依次分别向所述网关发送所述ip下行报文,直到所述lorawan下行报文对应的最终处理状态为网关处理成功或第一lorawan终端处理成功为止,或者,直到所述ip下行报文的发送次数达到设定最大发送次数为止;
所述记录单元,具体用于:记录每次发送所述ip下行报文后所述lorawan下行报文对应的处理状态。
在一些实施例中,所述第三确定单元,具体用于:按照记录时间的先后顺序对所述lorawan下行报文对应的处理状态进行排序处理,获得排序结果;基于所述排序结果确定所述lorawan下行报文的传输轨迹。
本发明实施例提供一种装置110,通过按照与所述第一lorawan终端匹配的报文传输策略传输所述lorawan下行报文,以及通过记录所述lorawan下行报文对应的处理状态,以此,提高所述lorawan下行报文传输的成功率并对所述lorawan下行报文进行有效的追踪。
需要说明的是,上述实施例中提供的装置110在进行信息处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的装置110与下行报文轨迹追踪方法实施例属于同一构思,其具体实现过程详见方法实施例,并且上述任一装置110中涉及的名词,在前述已经明确解释,可以基于前述理解,在此不再赘述。
本发明提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序处理器被处理器执行时实现上述方法实施例的步骤,而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种下行报文轨迹追踪装置,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行存储在存储器中的上述方法实施例的步骤。
图12是本发明实施例一种下行报文轨迹追踪装置的硬件结构示意图,该下行报文轨迹追踪装置120包括:至少一个处理器1201和存储器1202;可选地,所述下行报文轨迹追踪装置120还可包括至少一个通信接口1203;下行报文轨迹追踪装置120中的各个组件可通过总线系统1204耦合在一起,可理解,总线系统1204用于实现这些组件之间的连接通信。总线系统1204除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统1204。
可以理解,存储器1202可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread-onlymemory)、电可擦除可编程只读存储器(eeprom,electricallyerasableprogrammableread-onlymemory)、磁性随机存取存储器(fram,ferromagneticrandomaccessmemory)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(cd-rom,compactdiscread-onlymemory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,randomaccessmemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,staticrandomaccessmemory)、同步静态随机存取存储器(ssram,synchronousstaticrandomaccessmemory)、动态随机存取存储器(dram,dynamicrandomaccessmemory)、同步动态随机存取存储器(sdram,synchronousdynamicrandomaccessmemory)、双倍数据速率同步动态随机存取存储器(ddrsdram,doubledataratesynchronousdynamicrandomaccessmemory)、增强型同步动态随机存取存储器(esdram,enhancedsynchronousdynamicrandomaccessmemory)、同步连接动态随机存取存储器(sldram,synclinkdynamicrandomaccessmemory)、直接内存总线随机存取存储器(drram,directrambusrandomaccessmemory)。本发明实施例描述的存储器1202旨在包括但不限于这些和任意其它适合类型的存储器。
本发明实施例中的存储器1202用于存储各种类型的数据以支持下行报文轨迹追踪装置120的操作。这些数据的示例包括:用于在下行报文轨迹追踪装置120上操作的任何计算机程序,如获得向第一lorawan终端发送的lorawan下行报文,以及确定所述lorawan下行报文的传输类型等,实现本发明实施例方法的程序可以包含在存储器1202中。
上述本发明实施例揭示的方法可以应用于处理器1201中,或者由处理器1201实现。处理器1201可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1201中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1201可以是通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器1201可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器1202,处理器1201读取存储器中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,下行报文轨迹追踪装置120可以被一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)、通用处理器、控制器、微控制器(mcu,microcontrollerunit)、微处理器(microprocessor)、或其他电子元件实现,用于执行上述方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。