一种下行数据发送的方法、装置、服务器及存储介质与流程

文档序号:22581996发布日期:2020-10-20 17:06阅读:124来源:国知局
一种下行数据发送的方法、装置、服务器及存储介质与流程

本申请涉及通信技术领域,尤其涉及一种下行数据发送方法、装置、服务器及存储介质。



背景技术:

由于远距离无线电广域网(longrangeradiowideareanetwork,lorawan)中包括大量的网络设备和大量的终端设备,当服务器通过网络设备向终端设备发送大量下行数据时,由于大量的下行数据在网络设备发生冲突、下行数据在发送过程中被干扰,以及终端设备不能及时发送下行数据对应的应答信息等原因,造成服务器向终端设备发送下行数据的成功率低。



技术实现要素:

有鉴于此,本申请实施例提供一种下行数据发送方法、装置、服务器及存储介质,能够提高服务器向终端设备发送下行数据的成功率。

为达到上述目标,本申请实施例的技术方案是这样实现的:

第一方面,本申请实施例提供一种下行数据发送方法,所述方法包括:

服务器基于第一信息确定是否向第一终端设备发送下行数据,所述第一信息包括下述中的至少一种:

网络设备的状态、所述第一终端设备的干扰信息以及所述第一终端设备的状态。

在一些实施例中,所述服务器基于第一信息确定是否向第一终端设备发送下行数据,包括:

所述服务器基于所述第一终端设备发送的上行数据,确定下行数据对应的网络设备;

基于所述网络设备的状态,确定是否向所述第一终端设备发送下行数据。

在一些实施例中,所述基于所述网络设备的状态,确定是否向所述第一终端设备发送下行数据,包括:

所述服务器确定所述网络设备向所述第一终端设备发送下行数据的发送时间;

若在所述发送时间内,所述网络设备向第二终端设备发送信息,则所述服务器禁止通过所述网络设备向所述第一终端设备发送所述下行数据。

在一些实施例中,所述服务器基于第一信息确定是否向第一终端设备发送下行数据,包括:

所述服务器基于所述第一终端设备发送上行数据的信道参数,确定所述第一终端设备的干扰信息;

基于所述第一终端设备的干扰信息,确定是否向所述第一终端设备发送下行数据。

在一些实施例中,所述基于所述第一终端设备的干扰信息,确定是否向所述第一终端设备发送下行数据,包括:

所述服务器确定向所述第一终端设备发送下行数据的发送时间;

若在所述发送时间内,所述第一终端设备被干扰,则所述服务器禁止向所述第一终端设备发送所述下行数据。

在一些实施例中,所述服务器基于第一信息确定是否向第一终端设备发送下行数据,包括:

所述服务器基于所述第一终端设备发送上行数据的传输参数,获取所述第一终端设备的状态;

基于所述第一终端设备的状态,确定是否向所述第一终端设备发送下行数据。

在一些实施例中,所述基于所述第一终端设备的状态,确定是否向所述第一终端设备发送下行数据,包括:

所述服务器评估所述第一终端设备发送所述下行数据对应的应答信息的时间与所述第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔;

在所述时间间隔不满足所述第一终端设备的状态中的占空比信息的情况下,禁止向所述第一终端设备发送所述下行数据。

在一些实施例中,所述服务器基于第一信息确定是否向第一终端设备发送下行数据,包括:

在所述网络设备处于空闲状态,且所述第一终端设备不被干扰,且评估所述第一终端设备发送所述下行数据对应的应答信息的时间与所述第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔满足所述第一终端设备的状态中的占空比信息的情况下,所述服务器通过所述网络设备向所述第一终端设备发送所述下行数据。

在一些实施例中,所述方法还包括:

根据所述下行数据,确定与所述第一终端设备对应的队列;

将所述下行数据存储在所述队列中;

依次发送所述队列中的下行数据。

第二方面,本申请实施例提供一种下行数据发送装置,所述装置包括:

发送模块,用于服务器基于第一信息确定是否向第一终端设备发送下行数据,所述第一信息包括下述中的至少一种:

网络设备的状态、所述第一终端设备的干扰信息以及所述第一终端设备的状态。

第三方面,本申请实施例提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器用于运行所述计算机程序时,执行本申请任一实施例所提供的下行数据发送方法的步骤。

第四方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任一实施例所提供的下行数据发送方法的步骤。

上述实施例所提供的下行数据发送方法包括:服务器基于第一信息确定是否向第一终端设备发送下行数据,所述第一信息包括下述中的至少一种:网络设备的状态、所述第一终端设备的干扰信息以及所述第一终端设备的状态。如此,服务器通过对第一信息的判断,确定是否向第一终端设备发送下行数据,从而可以尽量减少发送下行数据失败的次数,提高发送下行数据的成功率。

附图说明

图1为相关技术中lorawan的一种系统结构示意图。

图2为本申请一实施例中下行数据发送方法的处理流程示意图。

图3为本申请另一实施例中下行数据发送方法的处理流程示意图。

图4为本申请一实施例中下行数据发送装置的结构示意图。

图5为本申请另一实施例中下行数据发送装置的结构示意图。

图6为本申请一实施例中服务器的结构示意图。

具体实施方式

为使本申请实施例的目标、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目标,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目标任意的和所有的组合。

为了便于理解本发明,首先对lorawan的相关技术作简单的介绍。

在物联网低功率广域网络(low-powerwide-areanetwork,lpwan)行业中,如图1所示,远距离无线电广域网的网络架构中包含了终端设备101、网络设备102、服务器103和应用服务器104这四个部分。在lorawan中可以包括多个终端设备和多个网络设备。应用服务器需要向某个终端设备传输下行数据时,调用服务器提供的接口,将下行数据存储在服务器103中。服务器103通过网络设备102将下行数据传输给终端设备101。

需要说明的是,本申请实施例中服务器103可以包括网络服务器,在网络服务器中集成了lorawan网络协议服务和lorawan网络管理服务,具备lorawan协议标准所规定的lorawan数据处理功能、终端设备101和网络设备102管理功能。网络设备102可以包括网关或者基站,终端设备101可以包括通信终端,终端设备101与网络设备102之间采用lorawan协议进行通信。

在lorawan的技术标准中,终端设备包括a类设备、b类设备和c类设备。由于三类设备具有不同的特点,并且在服务器与终端设备进行双向通信时,通信的效率和成功率都又各不相同。因此,服务器需要根据终端设备的类型采用不同的发送规则来发送下行数据。

a类设备绝大部分时间处于睡眠状态。只有在每次发送上行数据后,开启两个短暂的下行接收窗口。a类设备利用两个下行窗口接收服务器103发送的下行数据。对于a类设备而言,由于在终端设备向服务器发送上行数据后,服务器将下行数据发送至终端设备,因此,下行数据的发送具有很长的延时性和不确定性。

b类设备具有更多的接收时隙。除了a类设备的随机接收窗口,b类设备还可以在指定时间打开额外的接收窗口。需要说明的是,额外窗口不是一直开启的,而是按照一定规则开启。由于服务器可以利用额外的接收窗口发送下行数据,因此,相比于a类设备的下行数据的发送,b类设备的下行数据的发送具有较小的延时性和确定性。

c类设备具有最高的实时性和最高的功耗。c类设备绝大部分时间处于接收状态,也就是说,c类设备除了发送上行数据时关闭下行窗口之外,其余时间下行窗口均处于开启状态。服务器103几乎在任何时候均可向c类设备发送下行数据。因此,c类设备基本没有延时性,从而c类设备也更容易受到一个lorawan网络里其他设备的干扰。

占空比,终端设备发送lorawan数据的时间与发送周期的比值就是占空比。占空比是周期的另一种表示方式,通过比值来动态约束终端设备的发送周期。终端设备在一个发送周期结束后,才可以开始下一个发送周期。

例如:470频段占空比1%,终端设备使用该频段发送一组上行数据耗时10ms,且这个终端设备的一个发送周期为t1。

t1=10÷1%=1000ms

因此,设备终端需要等到990ms后,才可以发送下一个上行数据。

服务器在利用loran协议向终端设备发送下行数据时,频繁发送下行数据。由于终端设备受到占空比的影响,导致终端设备即使收到下行数据,也无法立刻发送下行数据对应的应答信息至服务器103,从而可能造成服务器103误判下行数据发送失败。

在loran协议中,终端设备的信道接入方法采用纯aloha的机制,即当终端设备有数据需要进行发送时,终端设备立即利用信道进行发包。如果终端设备检测到丢包,立即重新传输数据的模式。这种模式随着终端设备的数量的不断增多,以及发包数量增大,容易造成多个终端设备在同一信道上发生碰撞,从而导致空口利用率较低。由于碰撞后的终端设备在没有收到确认报文后又重新发送数据,导致了系统的容量低和浪费了大量的功耗的问题。

在一个lorawan网络里,服务器给多个终端设备发送大量的需要应答的下行数据。终端设备需要发送下行数据对应的应答信息给服务器,从而导致大量的上行冲突,进而导致大量上行数据发送失败,以及浪费终端设备的功耗。因此,终端设备在发送上行数据时需要占空比的约束。

网络设备发送下行数据时采用单通道下行,即受资源的约束,同一时刻只能发送一个下行数据。因此,很多终端设备的下行数据会在网络设备中因为时间问题而被丢弃。因此,服务器103应当保存网络设备的状态尤其是发送状态信息,从而根据网络设备的状态合理的发送下行数据,进而提高下行成功率。

在一个lorawan网络里,相邻的网络设备在同一个时间内发送两个下行数据至终端设备。当两者发送的参数频点和速率相同时,信号干扰异常明显。在这种情况下,终端设备很难解析出正确的下行数据。因此,为了尽量避免这种情况的发生,服务器103需要动态的计算出存在相互干扰的网络设备,从而服务器在应当尽量避免利用存在相互干扰的网络设备发送下行数据。

本申请实施例一方面,提供一种下行数据发送方法,所述下行数据发送方法的处理流程如图2所示,所述下行数据方法包括如下步骤:

步骤21,服务器基于第一信息确定是否向第一终端设备发送下行数据,第一信息包括下述中的至少一种:

网络设备的状态、第一终端设备的干扰信息以及第一终端设备的状态。

这里,网络设备的状态可以包括网络设备发送数据的状态。例如,网络设备的状态可以包括发送数据的起始时间、发送数据的持续时间和发送数据的结束时间等信息。由于建立了网络设备的标识信息与网络设备的状态之间的映射关系,因此,服务器可以通过网络设备的标识信息查询对应的网络设备的状态。

这里,第一终端设备的干扰信息可以包括干扰网络设备和第一终端设备是否被干扰。干扰网络设备可以包括干扰第一终端设备传输数据的网络设备。其中,服务器确定干扰网络设备的方法很多。例如,服务器可以根据网络设备覆盖终端设备的情况,确定第一终端设备的干扰网络设备。在第一终端设备位于两个网络设备通信覆盖范围的重叠区域的情况下,这两个网络设备为干扰第一终端设备传输数据的干扰网络设备。其中,如果两个网络设备接收到的第一终端设备发送的同一上行数据的信号参数相差很少,就代表第一终端设备位于这两个网关的通信覆盖范围的重叠区域内,而且第一终端设备与这两个网络设备之间的距离大致相等。由于建立了终端设备的标识信息与终端设备的干扰信息之间的映射关系,因此,服务器可以通过第一终端设备的标识信息查询对应的第一终端设备的干扰信息。

这里,第一终端设备的状态包括第一终端设备发送数据的信息。例如,第一终端设备的状态可以包括发送数据的起始时间、发送数据的持续时间、发送数据的结束时间、发送数据的速率、发送数据的功率和占空比的信息等。由于建立了终端设备的标识信息与终端设备的状态之间的映射关系,因此,服务器可以通过第一终端设备的标识信息查询对应的第一终端设备的状态。

需要说明的是,在本申请实施例中,服务器可以根据网络设备的状态、第一终端设备的干扰信息以及第一终端设备的状态中的任意一种,确定是否向第一终端设备发送下行数据。服务器还可以根据网络设备的状态、第一终端设备的干扰信息以及第一终端设备的状态中的任意组合,确定是否向第一终端设备发送下行数据。

在上述实施例中,服务器通过对第一信息的判断,确定是否向第一终端设备发送下行数据,从而可以尽量减少发送下行数据失败的次数,提高发送下行数据的成功率。

在一些实施例中,步骤21,服务器基于第一信息确定是否向第一终端设备发送下行数据,包括:

步骤31,服务器基于第一终端设备发送的上行数据,确定下行数据对应的网络设备。

这里,服务器基于第一终端设备发送的上行数据,可以获取至少一个转发第一终端设备发送的上行数据的网络设备的信息。服务器基于网络设备的信息,可以确定覆盖第一终端设备的候选网络设备集。网络设备的信息可以包括网络设备的标识信息、接收时间、信道编号、信号强度和信噪比等。候选网络设备集可以包括转发第一设备终端发送数据的网络设备的集合。服务器从候选网络设备集,按照预设的规则选择一个向第一终端设备发送下行数据的最优的网络设备。例如按照信号强度最优的规则选取最优的网络设备,或者按照信噪比最优的规则选择最优的网络设备。需要说明的是,在本申请实施例中,对于选取最优的网络设备的规则不做具体限定。为了保证选择出的网络设备能正常传输数据,服务器需要排除候选网络设备集中的状态异常的网络设备。由于服务器确定状态异常的网络设备属于现有技术,本申请实施例中不再赘述。由于网络设备和第一终端设备之间的距离超过一定范围,可能会增加发送下行数据失败的次数。因此,服务器可以选择与终端设备的距离在预设范围内的网络设备作为候选网络。

此外,为了保证网络设备信息的准确性,服务器可以基于在最近一段时间内的第一终端设备发送的上行数据,确定下行数据对应的网络设备。

在一些实施例中,服务器可以基于第一终端设备接收的历史下行数据,确定下行数据对应的网络设备。由于服务器基于历史下行数据确定网络设备的方法与服务器基于上行数据确定的方法类似,这里不再赘述。

步骤32,基于网络设备的状态,确定是否向第一终端设备发送下行数据。

这里,服务器根据步骤31选择的网络设备的标识信息查询网络设备的状态。服务器根据选择的网络设备的状态是否满足发送条件,确定是否通过选择的网络设备发送下行数据。其中,发送条件包括网络设备处于空闲状态。

此外,在最优的网络设备不符合发送条件的情况下,服务器可以从候选网络设备集中重新选择网络设备进行判断,直到选择出符合发送条件的网络设备为止。在没有一个网络设备的状态满足发送条件的情况下,服务器可以放弃向第一终端设备发送下行数据。在一些实施例中,步骤32,基于网络设备的状态,确定是否向第一终端设备发送下行数据,包括:

步骤321,服务器确定网络设备向第一终端设备发送下行数据的发送时间。

这里,服务器可以基于步骤31选择的网络设备的状态和下行数据,确定网络设备向第一终端设备发送下行数据的发送时间。例如,服务器基于网络设备的传输数据的速率和下行数据的数据大小,确定网络设备向第一终端设备发送下行数据的持续时间。服务器基于网络设备上一次传输数据的结束时间和本次发送下行数据的持续时间,预计网络设备向第一终端设备发送下行数据的发送时间。此外,服务器还可以指定网络设备向第一终端设备发送下行数据的发送时间。在本申请实施例中,对于服务器确定网络设备向第一终端设备发送下行数据的发送时间的具体方式不做限制。

步骤322,若在发送时间内,网络设备向第二终端设备发送信息,则服务器禁止通过网络设备向第一终端设备发送下行数据。

这里,服务器根据网络设备的状态,确定在发送时间内网络设备是否向第二终端设备发送信息,从而服务器确定网络设备在发送时间内的是否处于空闲状态。其中,第二终端设备是与第一终端设备不同的终端设备。网络设备向第二终端设备发送的信息包括与这个下行数据不同的数据。在服务器确定网络设备在发送时间内向第二终端设备发送信息的情况下,服务器可以确定网络设备在发送时间内不处于空闲状态,禁止通过网络设备向第一终端发送这个下行数据。

在一些实施例中,步骤21,服务器基于第一信息确定是否向第一终端设备发送下行数据,包括:

步骤41,服务器基于第一终端设备发送上行数据的信道参数,确定第一终端设备的干扰信息。

这里,信道参数包括表征信道质量的参数,例如信号强度、信号质量和信噪比。服务器基于第一终端设备发送上行数据,确定各个网络设备接收上行数据后解析的信道参数。在某次上行数据的信道参数满足信道被干扰的条件的情况下,服务器可以确定接收此次上行数据的网络设备被干扰。由于服务器监控所有网络设备的信息,因此,服务器可以确定出干扰此次上行数据的网络设备。对于第一终端设备来说,干扰此次上行数据的网络设备与接收此次上行数据的网络设备互为干扰网络设备,两者均是第一终端设备的干扰网络设备。

步骤42,基于第一终端设备的干扰信息,确定是否向第一终端设备发送下行数据。

这里,服务器基于第一终端设备是否满足被干扰的条件,确定第一终端设备的干扰信息。被干扰的条件包括第一终端设备的干扰网络设备干扰第一终端设备传输数据。在第一终端设备满足被干扰的条件的情况下,服务器可以确定第一终端设备被干扰,禁止向第一终端设备发送数据。

在一些实施例中,步骤42,基于第一终端设备的干扰信息,确定是否向第一终端设备发送下行数据,包括:

步骤421,服务器确定向第一终端设备发送下行数据的发送时间。

这里,服务器确定下行数据对应的网络设备的信息。服务器可以基于网络设备的信息和下行数据,确定向第一终端设备发送下行数据的发送时间。服务器也可以指定向第一终端设备发送下行数据的发送时间。需要说明的是,在本申请实施例中,对于服务器确定向第一终端设备发送下行数据的发送时间的具体方法不做限制。

步骤422,若在发送时间内,第一终端设备被干扰,则服务器禁止向第一终端设备发送下行数据。

这里,服务器确定第一终端设备的干扰网络设备在发送时间内是否干扰服务器向第一终端设备发送下行数据,从而服务器确定第一终端设备是否被干扰。在服务器确定第一终端设备在发送时间内被干扰的情况下,服务器可以禁止向第一终端设备发送下行数据。

在一些实施例中,服务器确定第一终端设备的干扰网络设备在发送时间内是否干扰服务器向第一终端设备发送下行数据,包括:

若干扰网络设备在发送时间内向其它终端设备发送信息,则服务器确定干扰网络设备在发送时间内干扰服务器向第一终端设备发送下行数据。

在一些实施例中,步骤21,服务器基于第一信息确定是否向第一终端设备发送下行数据,包括:

步骤51,服务器基于第一终端设备发送上行数据的传输参数,获取所述第一终端设备的状态。

这里,传输参数包括发送数据的状态参数,例如发送数据的起始时间、发送数据的持续时间、发送数据的结束时间和发送数据的速率。

步骤52,基于第一终端设备的状态,确定是否向第一终端设备发送下行数据。

这里,服务器基于第一终端设备的状态中发送周期是否满足占空比的信息,确定是否向第一终端设备发送下行数据。其中,占空比的信息包括第一终端设备的占空比要求。在服务器确定第一终端设备的状态发送周期不满足占空比的信息的情况下,服务器可以禁止向第一终端设备发送下行数据。

在一些实施例中,步骤52,基于第一终端设备的状态,确定是否向第一终端设备发送下行数据,包括:

步骤521,服务器评估第一终端设备发送下行数据对应的应答信息的时间与第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔。

这里,下行数据可以包括需要应答的数据。第一终端设备需要针对需要应答的数据向服务器发送应答信息。服务器可以根据向第一终端设备发送下行数据的历史发送信息,评估第一终端设备发送这份下行数据对应的应答信息的时间。例如,服务器根据向第一终端设备发送与这个下行数据大小相等的数据的发送时间,评估服务器向第一终端设备发送这份下行数据的发送时间。服务器基于发送这份下行数据的发送时间和第一终端设备的状态,评估第一终端设备发送这份下行数据对应的应答信息的时间。

步骤522,在时间间隔不满足第一终端设备的状态中的占空比信息的情况下,禁止向第一终端设备发送下行数据。

这里,第一终端设备的状态可以包括第一终端设备的占空比信息。占空比信息可以包括相邻两次发送上行数据的时间间隔。服务器基于第一终端发送这份下行数据对应的应答信息上一次发送上行数据之间的时间间隔是否满足第一终端设备中相邻两次发送数据的时间间隔,确定是否向第一终端设备发送这份下行数据。在服务器确定时间间隔不满足第一终端设备的状态中的占空比信息的情况下,服务器可以禁止向第一终端设备发送下行数据。

在一些实施例中,步骤21,服务器基于第一信息确定是否向第一终端设备发送下行数据,包括:

在网络设备处于空闲状态,且第一终端设备不被干扰的情况下,服务器通过网络设备向第一终端设备发送下行数据。

这里,服务器确定发送下行数据的网络设备和发送下行数据的发送时间。服务器根据网络设备的状态和第一终端设备的干扰信息是否满足发送条件,确定是否向第一终端设备发送下行数据。发送条件可以包括以下至少之一:在发送时间内,网络设备处于空闲状态以及第一终端设备不被干扰,以及第一终端设备发送下行数据对应的应答信息的时间与第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔满足第一终端设备的状态中的占空比信息。在服务器确定网络设备的状态和第一终端设备的干扰信息满足发送条件的情况下,服务器可以确定通过网络设备向第一终端设备发送下行数据。如此,减少了由于下行数据在网络设备发生冲突以及发送的下行数据与其他下行数据发生冲突,造成服务器发送下行数据失败的次数。

在一些实施例中,步骤21,服务器基于第一信息确定是否向第一终端设备发送下行数据,包括:

在网络设备处于空闲状态,且第一终端设备发送下行数据对应的应答信息的时间与第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔满足第一终端设备的状态中的占空比信息的情况下,服务器通过网络设备向第一终端设备发送下行数据。

这里,服务器确定发送下行数据的网络设备和发送下行数据的发送时间。服务器根据网络设备的状态和第一终端设备的状态是否满足发送条件,确定是否向第一终端设备发送下行数据。发送条件可以包括以下至少之一:在发送时间内,网络设备处于空闲状态以及第一终端设备不被干扰,以及第一终端设备发送下行数据对应的应答信息的时间与第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔满足第一终端设备的状态中的占空比信息。在服务器确定网络设备的状态和第一终端设备的状态满足发送条件的情况下,服务器可以确定通过网络设备向第一终端设备发送下行数据。如此,减少了由于下行数据在网络设备发生冲突以及服务器在发送下行数据时不满足第一终端设备的占空比要求,造成服务器发送下行数据失败的次数。

在一些实施例中,步骤21,服务器基于第一信息确定是否向第一终端设备发送下行数据,包括:

在第一终端设备不被干扰,且第一终端设备发送下行数据对应的应答信息的时间与第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔满足第一终端设备的状态中的占空比信息的情况下,服务器通过网络设备向第一终端设备发送下行数据。

这里,服务器确定发送下行数据的网络设备和发送下行数据的发送时间。服务器根据第一终端设备的干扰信息和第一终端设备的状态是否满足发送条件,确定是否向第一终端设备发送下行数据。发送条件可以包括以下至少之一:在发送时间内,网络设备处于空闲状态以及第一终端设备不被干扰,以及第一终端设备发送下行数据对应的应答信息的时间与第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔满足第一终端设备的状态中的占空比信息。在服务器确定网络设备的状态和第一终端设备的状态满足发送条件的情况下,服务器确定可以通过网络设备向第一终端设备发送下行数据。如此,减少了由于发送的下行数据与其他下行数据发生冲突及服务器在发送下行数据时不满足第一终端设备的占空比要求,造成服务器发送下行数据失败的次数。

在一些实施例中,步骤21,服务器基于第一信息确定是否向第一终端设备发送下行数据,包括:

在网络设备处于空闲状态,且第一终端设备不被干扰,且第一终端设备发送下行数据对应的应答信息的时间与第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔满足第一终端设备的状态中的占空比信息的情况下,服务器通过网络设备向第一终端设备发送下行数据。

这里,服务器确定发送下行数据的网络设备和发送下行数据的发送时间。服务器根据网络设备的状态、第一终端设备的干扰信息和第一终端设备的状态是否满足发送条件,确定是否向第一终端设备发送下行数据。发送条件可以包括以下至少之一:在发送时间内,网络设备处于空闲状态以及第一终端设备不被干扰,以及第一终端设备发送下行数据对应的应答信息的时间与第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔满足第一终端设备的状态中的占空比信息。在服务器确定网络设备的状态、第一终端设备的干扰信息和第一终端设备的状态满足发送条件的情况下,服务器确定可以通过网络设备向第一终端设备发送下行数据。如此,减少了由于下行数据在网络设备发生冲突、发送的下行数据与其他下行数据发生冲突、以及服务器在发送下行数据时不满足第一终端设备的占空比要求,造成服务器发送下行数据失败的次数。

需要说明的是,在本申请实施例中,对服务器判断网络设备的状态、第一终端设备的干扰信息和第一终端设备的状态是否满足发送条件的顺序不做任何限制。

在一些实施例中,该下行数据发送方法还包括:

根据下行数据,确定与第一终端设备对应的队列。

将下行数据存储在队列中。

依次发送队列中的下行数据。

这里,服务器可以包括多个队列。其中,每个队列对应每个终端设备。每个队列用于存储发送到对应的终端设备的下行数据。服务器按照先进先出的顺序处理每个队列中的下行数据。服务将每个队列中的下行数据依次发送给与队列对应的终端设备。

这里,服务器根据下行数据中的终端设备的标识信息,确定向第一终端设备发送下行数据。服务器在对下行数据进行安全校验和参数校验之后,将这个下行数据存储在第一终端设备对应的队列。

在上述实施例中,服务器建立了终端设备对应的队列,并且依次处理该队列中的下行数据,解决了大量的下行数据在网络设备因为发送时间冲突而被丢弃的问题。

为进一步理解本申请实施例所提供的下行数据发送方法,本申请实施例另一方面,还提供一种下行数据发送方法,应用于lorawan。以终端设备包括a类设备、b类设备和c类设备,下行数据发送过程可以包括下行数据的接收、下行数据的传输和下行数据的结果处理为例进行说明,所述下行数据发送方法的处理流程如图3所示,所述下行数据发送方法包括如下步骤:

步骤61,服务器将下行数据存入第一终端设备对应的队列中。

这里,步骤61属于下行数据的接收。服务器可以包括多个队列。其中,每个队列对应每个终端设备。每个队列用于存储发送到对应的终端设备的下行数据。服务器按照先进先出的顺序处理每个队列中的下行数据。服务将每个队列中的下行数据依次发送给与队列对应的终端设备。当应用服务器调用服务器向第一终端设备传输下行数据时,服务器在下行数据经过安全校验和参数校验等之后,会将下行数据存入到第一终端设备对应的队列中。

步骤62,服务器根据第一终端设备的类型,向第一终端设备发送下行数据。

这里,步骤62属于下行数据的传输。在第一终端设备可以包括a类设备的情况下,服务器采用被动下行的方式向第一终端设备发送下行数据。即服务器在第一终端设备发送上行数据后,利用第一终端设备短暂开启两个下行窗口,将下行数据发送至第一终端设备。在第一终端设备可以包括b类设备和c类设备的情况下,服务器采用被动下行和主动下行的方式向第一终端设备发送下行数据。其中,服务器采用被动下行的方式向第一终端设备发送下行数据。即服务器在第一终端设备发送上行数据后,利用第一终端设备短暂开启的下行窗口,将下行数据发送至第一终端设备。服务器采用主动下行的方式向第一终端设备发送下行数据,即服务器利用b类设备和c类设备的特有窗口,向第一终端设备发送下行数据,并且服务器为第一终端设备启动一个线程来处理下行数据。服务器在处理完向第一终端设备发送的所有下行数据后,关闭这个线程。在处理下行数据过程中,服务器会采用定期轮询第一终端设备对应的队列,读取需要发送的下行数据。

在一些实施例中,步骤62,服务器根据第一终端设备的类型,向第一终端设备发送下行数据,包括:

步骤621,服务器基于第一终端设备发送的上行数据,确定下行数据对应的网络设备。

步骤622,服务器根据网络设备的标识信息,查询到网络设备的状态。若网络设备处于空闲状态,则执行步骤623。若网络设备处于繁忙状态,则服务器禁止通过网络设备向第一终端设备发送下行数据。

步骤623,服务器根据第一终端设备的标识信息,获取第一终端设备的状态。服务器评估第一终端设备在发送下行数据对应的应答信息时是否满足第一终端设备的占空比信息。若第一终端设备在发送下行数据对应的应答信息时满足第一终端设备的占空比信息,则执行步骤624。若不满足,则服务器禁止向第一终端设备发送下行数据。

步骤624,服务器根据第一终端设备的标识信息,查找第一终端设备的干扰信息。服务器基于第一终端设备的干扰信息,确定第一终端设备的干扰网络设备是否存在。若存在干扰网络设备,则执行步骤625。若存在干扰网络设备,执行步骤626。

步骤625,服务器根据干扰网络设备的状态,确定干扰网络设备是否干扰服务器向第一终端设备发送下行数据。若干扰,则服务器禁止向第一终端设备发送下行数据。若不干扰,则执行步骤626。

在一些实施例中,步骤625服务器根据干扰网络设备的状态,确定干扰网络设备是否干扰服务器向第一终端设备发送下行数据,包括:

步骤6251,服务器确定向第一终端设备发送下行数据的发送时间。

步骤6252,服务器根据干扰网络设备的状态,确定干扰网络设备在发送时间内是否向其它终端设备发送下行数据。在干扰网络设备在发送时间内向其它终端设备发送下行数据的情况下,服务器可以确定干扰网络设备干扰服务器向第一终端设备发送下行数据。在干扰网络设备在发送时间内没有向其它终端设备发送下行数据的情况下,服务器可以确定干扰网络设备干扰服务器向第一终端设备发送下行数据。

步骤626,服务器向第一终端设备发送下行数据,并更新网络设备的状态、终端设备的干扰信息和终端设备的状态。

步骤63,服务器根据在规定时间内是否接收到终端设备发送的下行数据对应的应答信息,确定是否生成超时信息。

这里,步骤63属于下行数据的结果处理。下行数据包括需要应答的数据。第一终端设备需要针对下行数据产生并发送应答信息。在服务器根据在规定时间内接收到终端设备发送的应答信息的情况下,服务器可以生成应答数据。在服务器根据在规定时间内没有接收到终端设备发送的应答信息的情况下,服务器可以生成超时信息。

这里,第一终端设备可以包括a类设备。对于a类设备,服务器将下行数据标记为挂起状态,并且利用专门的线程监测这些标记为挂起状态的下行数据是否超时。第一终端设备可以包括b类设备和c类设备。对于b类设备和c类设备,服务器向第一终端设备发送下行数据后,利用在发送下行数据中启动的线程等待第一终端设备的应答信息。

本申请实施例再一方面,还提供一种下行数据发送装置,如图4所示,其示出一种下行数据发送装置的结构示意图。下行数据发送装置70,包括:

发送模块71,用于基于第一信息确定是否向第一终端设备发送下行数据,第一信息包括下述中的至少一种:

网络设备的状态、第一终端设备的干扰信息以及第一终端设备的状态。

在一些实施例中,发送模块71,用于基于第一终端设备发送的上行数据,确定下行数据对应的网络设备;

基于网络设备的状态,确定是否向第一终端设备发送下行数据。

在一些实施例中,发送模块71,用于确定网络设备向第一终端设备发送下行数据的发送时间;

若在发送时间内,网络设备向第二终端设备发送信息,则禁止通过网络设备向第一终端设备发送所述下行数据。

在一些实施例中,发送模块71,用于确定向第一终端设备发送下行数据的发送时间;

若在发送时间内,第一终端设备被干扰,则禁止向第一终端设备发送下行数据。

在一些实施例中,发送模块71,用于基于第一终端设备发送上行数据的传输参数,获取第一终端设备的状态;

基于第一终端设备的状态,确定是否向第一终端设备发送下行数据。

在一些实施例中,发送模块71,用于评估第一终端设备发送下行数据对应的应答信息的时间与第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔;

在时间间隔不满足所述第一终端设备的状态中的占空比信息的情况下,禁止向第一终端设备发送所述下行数据。

在一些实施例中,发送模块71,用于在所述网络设备处于空闲状态,且所述第一终端设备不被干扰,且评估所述第一终端设备发送所述下行数据对应的应答信息的时间与所述第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔满足所述第一终端设备的状态中的占空比信息的情况下,通过所述网络设备向所述第一终端设备发送所述下行数据。

在一些实施例中,发送模块71,还用于根据所述下行数据,确定与所述第一终端设备对应的队列;

将所述下行数据存储在所述队列中;

依次发送所述队列中的下行数据。

为进一步理解本申请实施例所提供的下行数据发送装置,本申请实施例另一方面,还提供一种下行数据发送装置。该下行数据发送装置的结构示意图如5所示,以下行数据发送装置80可以包括网络设备状态维护模块81、终端设备干扰模块82、占空比功能模块83和发送模块84为例进行说明。

网络设备状态维护模块81,用于存储网络设备的状态。

这里,服务器监控每个网络设备的状态。服务器在网络设备向终端设备发送下行数据后,基于网络设备的状态,维持网络设备的状态时间轴。网络设备的状态时间轴记录下行数据的发送开始时间、发送持续时间和发送结束时间。因此,服务器通过网络设备的状态时间轴,确定网络设备是否处于空闲状态。此外,由于建立了网络设备的标识信息与网络设备的状态之间的映射关系,因此,服务器可以通过网络设备的标识信息查询对应的网络设备的状态时间轴。

终端设备干扰模块82,用于存储终端设备的干扰信息。

这里,干扰信息包括干扰网络设备。在终端设备初始化过程中,终端设备之间默认互不干扰。服务器基于终端设备发送上行数据,确定网络设备覆盖终端设备的情况,从而确定该终端设备的干扰网络设备。例如,服务器可以基于上行数据的信道参数来判断终端设备的干扰网络设备,信道参数包括信噪比。其中,信噪比为接收到的有用信号功率与接收到的干扰信号功率的比值。两个网络设备同时接收该终端设备发送的上行数据,若两个网络设备解析上行数据后获得的信噪比的差值在一定范围内,服务器确认这两个网络设备为这个终端设备的干扰网络设备。

由于建立了终端设备的标识信息与终端设备的干扰信息之间的映射关系,因此,服务器可以通过第一终端设备的标识信息查询对应的第一终端设备的干扰信息。此外,也可以建立网络设备的标识信息与终端设备的干扰网络设备之间的映射关系,服务器可以通过网络设备的标识信息查询对应的第一终端设备的干扰网络设备,从而确定第一终端设备的干扰信息。

占空比功能模块83,用于存储终端设备的状态。

这里,服务器根据终端设备的实际工作频段和实际项目中的需求,向终端设备下发占空比命令,从而初始化终端设备的状态。在终端设备发送上行数据后,服务器获取终端设备的状态。终端设备的状态可以包括发送数据的起始时间、发送数据的持续时间、发送数据的结束时间、发送数据的速率、发送数据的功率和占空比信息等。此外,由于建立了终端设备的标识信息与终端设备的状态之间的映射关系,因此,服务器可以通过第一终端设备的标识信息查询对应的第一终端设备的状态。

这里,服务器根据终端设备的状态,确定在向终端设备发送下行数据时是否会受到占空比的影响。若服务器向终端设备发送下行数据时会受到占空比的影响,服务器禁止向终端设备发送下行数据。

发送模块84,用于基于第一信息确定是否向第一终端设备发送下行数据,第一信息包括下述中的至少一种:网络设备的状态、所述第一终端设备的干扰信息以及所述第一终端设备的状态。

本申请实施例再一方面,还提供一种服务器,所述服务器的结构如图6所示,服务器包括至少一个处理器91和至少一个存储器92。其中,其中,存储器92包括用于存储能够在处理器91上运行的计算机程序,其中,处理器91用于运行计算机程序时,执行:一种下行数据发送方法,所述方法包括:

基于第一信息确定是否向第一终端设备发送下行数据,所述第一信息包括下述中的至少一种:

网络设备的状态、第一终端设备的干扰信息以及第一终端设备的状态。

在一些实施例中,所述处理器91还用于运行所述计算机程序时,执行:

基于第一信息确定是否向第一终端设备发送下行数据,包括:

基于第一终端设备发送的上行数据,确定下行数据对应的网络设备;

基于网络设备的状态,确定是否向第一终端设备发送下行数据。

在一些实施例中,所述处理器91还用于运行所述计算机程序时,执行:

基于所述网络设备的状态,确定是否向第一终端设备发送下行数据,包括:

确定所述网络设备向第一终端设备发送下行数据的发送时间;

若在发送时间内,网络设备向第二终端设备发送信息,则禁止通过网络设备向第一终端设备发送下行数据。

在一些实施例中,所述处理器91还用于运行所述计算机程序时,执行:

基于第一信息确定是否向第一终端设备发送下行数据,包括:

基于所述第一终端设备发送上行数据的信道参数,确定所述第一终端设备的干扰信息;

基于所述第一终端设备的干扰信息,确定是否向所述第一终端设备发送下行数据。

在一些实施例中,所述处理器91还用于运行所述计算机程序时,执行:

确定向所述第一终端设备发送下行数据的发送时间;

若在发送时间内,第一终端设备被干扰,则服务器禁止向第一终端设备发送下行数据。

在一些实施例中,所述处理器91还用于运行所述计算机程序时,执行:

基于第一信息确定是否向第一终端设备发送下行数据,包括:

基于所述第一终端设备发送上行数据的传输参数,获取所述第一终端设备的状态;

基于所述第一终端设备的状态,确定是否向所述第一终端设备发送下行数据。

在一些实施例中,所述处理器91还用于运行所述计算机程序时,执行:

基于第一终端设备的状态,确定是否向第一终端设备发送下行数据,包括:

评估第一终端设备发送下行数据对应的应答信息的时间与第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔;

在时间间隔不满足第一终端设备的状态中的占空比信息的情况下,禁止向第一终端设备发送所述下行数据。

在一些实施例中,所述处理器91还用于运行所述计算机程序时,执行:

基于第一信息确定是否向第一终端设备发送下行数据,包括:

在网络设备处于空闲状态,且第一终端设备不被干扰,且评估第一终端设备发送下行数据对应的应答信息的时间与第一终端设备的状态中上一次发送上行数据的时间之间的时间间隔满足第一终端设备的状态中的占空比信息的情况下,通过网络设备向第一终端设备发送下行数据。

在一些实施例中,所述处理器91还用于运行所述计算机程序时,执行:

所述方法还包括:

根据下行数据,确定与第一终端设备对应的队列;

将下行数据存储在队列中;

依次发送队列中的下行数据。

在一些实施例中,所述服务器还包括系统总线93和通信接口94。其中,系统总线93配置为实现这些组件之间的连接通信,通信接口94可以包括标准的有线接口和无线接口。

本申请实施例再一方面,还提供一种计算机存储介质,计算机存储介质上存储有下行数据发送程序,下行数据发送程序被处理器执行时实现本申请任一实施例提供的下行数据发送方法的步骤。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。

本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1