数据转发方法和装置与流程

文档序号:13392013阅读:189来源:国知局
数据转发方法和装置与流程

本申请涉及网络通信技术,特别涉及数据转发方法和装置。



背景技术:

低功耗广域网(lorawan)mac层协议(简称lorawan协议)定义的classa模式要求各终端有发送需求时才可以发送报文、在规定的时间内没有接收到应答则进行重传(重传时需要先等待一个随机的时间)、直至发送成功。classa模式的优点是实现简单、终端省电节能。

但是,当终端的数目较多时,在classa模式下,多个终端随机发送的报文在空口很容易造成冲突,大大降低classa模式的工作效率。



技术实现要素:

本申请提供了数据转发方法和装置,以提高classa模式的工作效率。

本申请提供的技术方案包括:

一种数据转发方法,该方法应用于lora网络中采用classa模式的终端,包括:

在本终端工作于classa模式下且有数据发送需求时,检查本终端是否已与侦听到的所述lora网络中的lora网关完成时间同步,当检查出本终端未与lora网关完成时间同步时,则,

与所述lora网关进行时间同步,在本终端与所述lora网关完成时间同步后,向所述lora网络中lora服务器发送访问时隙请求;

接收并记录所述lora服务器为本终端分配的访问时隙,在所述访问时隙内基于所述数据发送需求发送业务数据。

一种数据转发方法,该方法应用于lora网络中的lora服务器,包括:

接收所述lora网络中的终端在工作于classa模式下且有数据发送需求时发送的访问时隙请求;所述访问时隙请求携带所述终端请求的时隙长度;

依据所述lora网络中其他终端被分配的访问时隙、以及所述访问时隙请求携带的时隙长度为所述终端分配访问时隙;

将为所述终端分配的访问时隙发送给所述终端,以使所述终端在所述访问时隙内基于数据发送需求发送数据。

一种数据转发装置,该装置应用于lora网络中的终端,包括:

检查单元,用于在本终端工作于classa模式下且有数据发送需求时,检查本终端是否已与侦听到的所述lora网络中的lora网关完成时间同步;

同步单元,用于在所述检查单元的检查结果为否时,控制所述终端与所述lora网关进行时间同步;

时隙单元,用于在本终端与所述lora网关完成时间同步后,向所述lora网络中lora服务器发送访问时隙请求;以及接收并记录所述lora服务器为本终端分配的访问时隙;

业务单元,用于在所述访问时隙内基于所述数据发送需求发送业务数据。

一种数据转发装置,该装置应用于lora网络中的lora服务器,包括:

接收单元,用于接收所述lora网络中的终端在工作于classa模式下且有数据发送需求时发送的访问时隙请求;所述访问时隙请求携带所述终端请求的时隙长度;

分配单元,用于依据所述lora网络中其他终端被分配的访问时隙、以及所述访问时隙请求携带的时隙长度为所述终端分配访问时隙;

发送单元,用于将为所述终端分配的访问时隙发送给所述终端,以使所述终端在所述访问时隙内基于数据发送需求发送业务数据。

由以上技术方案可以看出,本申请中,终端工作在classa模式时,即使终端有数据发送需求,也不是随机进行数据发送,而是由lora服务器为终端分配访问时隙,终端在lora服务器分配的访问时隙内进行数据发送。将终端控制在lora服务器分配的访问时隙内进行数据发送,能够防止终端无规律随机进行数据发送所导致的空口冲突、classa模式的工作效率降低等问题。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本申请提供的一种数据转发方法的流程图;

图2为本申请提供的另一种数据转发方法的流程图;

图3为本申请提供的访问时隙更新流程图;

图4为本申请提供的访问时隙释放流程图;

图5为本申请提供的一种数据转发装置的结构示意图;

图6为本申请提供的另一种数据转发装置结构示意图。

具体实施方式

为了提高classa模式的工作效率,防止classa模式下的空口冲突,常用的一种方法是频分复用(fdma)方法。

fdma方法具体为:lora网关采用多物理信道同时工作的芯片,不同终端在不同的物理信道上仍然采用classa模式与lora网关交互。

fdma方法可以一定程度上缓解终端数目较多时classa模式的空口冲突,在一定程度上可以提高classa模式的工作效率。

但是,fdma方法只是简单的通过占用更多的物理信道资源来缓解空口冲突。由于lora网关的芯片能够同时支持的物理信道的最大数量是有限制的,如此,当lora网络中的终端数量变得更大时,classa模式的低效率仍然会导致空口冲突,尤其是对数据传输的需求较大、数据收发频率较高的应用,冲突更甚。

并且,fdma方法也会增加成本,原因是:支持多物理信道的芯片的价格要远远大于支持单一物理信道的芯片。

基于此,本申请提供了不同于fdma方法的数据转发方法。

下面对本申请提供的数据转发方法进行描述:

参见图1,图1为本申请提供的一种数据转发方法的流程图。该方法应用于lora网络中的终端。如图1所示,该方法包括:

步骤101,在本终端工作于classa模式下且有数据发送需求时,检查本终端是否已与侦听到的所述lora网络中的lora网关完成时间同步,当检查出本终端未与lora网关完成时间同步时,则执行步骤102。

在现有classa模式下,终端若有数据发送需求,则直接进行数据发送。而在本申请中,终端工作在classa模式下,即使有数据发送需求,也不立即进行数据发送,而是检查本终端是否已与lora网关完成时间同步,根据检查结果执行后续的数据发送,具体见下文描述。

步骤102,与所述lora网关进行时间同步,在本终端与所述lora网关完成时间同步后,执行步骤103。

lorawan协议除了定义classa模式,还定义了classb模式。classb模式不同于classa模式,classb模式是针对网络侧比如服务器等主动发起数据访问而设计的,classb模式适用如下应用:设备状态查询、命令配置下发等应用,对于终端自身有数据需要主动传输的场景是不适用的,而classa模式则是必须等终端向网络侧发送数据后,网络侧才能与终端节点进行任何通信,这与classb模式完全不同。

在lora网络中,网络侧的lora网关的模式为classb模式,所有工作于classb模式的工作方式的lora网关都配备有gps时钟,lora网络中分布在不同地点的lora网关都可以基于配备的gps时钟同步。

classb模式下的lora网关会周期(每128秒)对外发送信标(beacon)报文,而终端会在指定侦听时隙(pingslot)内侦听lora网关发送的beacon报文,依据侦听到的beacon报文与lora网关进行时间同步。

作为一个实施例,终端与lora网关进行时间同步包括:

步骤a1,在指定侦听时隙内侦听所述lora网关发送的beacon报文;

步骤a2,依据所述beacon报文携带的第一时间戳和本终端当前侦听到所述beacon报文的第二时间戳与所述lora网关时间同步,所述第一时间戳用于表示所述beacon报文的发送时间。

在一个例子中,依据所述beacon报文携带的第一时间戳和本终端当前侦听到所述beacon报文的第二时间戳与所述lora网关时间同步具体可为:

计算第一时间戳与beacon报文从lora网关传输至终端的预估传输时间之和;比较计算结果与当前侦听到beacon报文的第二时间戳,若两者误差大于设定误差,则将本地时钟调整为计算结果。

最终,终端的时间与lora网关的时间同步。

步骤103,向所述lora网络中lora服务器发送访问时隙请求。

在本申请中,即使终端有数据发送需求,在终端与lora网关时间同步之后,终端仍不进行数据传输,而是在classa模式下向lora服务器发送访问时隙请求,这相当于改进了classa模式。

当lora服务器接收到终端分配的访问时隙请求后,其会通过执行如图2所示的流程为终端分配访问时隙,将为终端分配的访问时隙发送给终端。下文具体描述了服务器如何为终端分配访问时隙,这里暂不赘述。

当终端收到访问时隙时,则执行下述步骤104。

步骤104,接收并记录lora服务器为本终端分配的访问时隙,在所述访问时隙内基于所述数据发送需求发送业务数据。

在本申请中,当终端接收到lora服务器为本终端分配的访问时隙后,终端即可基于classa模式在访问时隙内发送数据、以及接收数据等。也即,在本申请中,当终端接收到lora服务器为本终端分配的访问时隙后,终端所有的数据交互即可在访问时隙内进行,而在非访问时隙内,作为一个实施例,终端可进入休眠状态,以节省电能。

至此,完成图1所示流程。

需要说明的是,在图1所示流程中,步骤102至步骤104是终端检查出本终端未与lora网关完成时间同步时执行的,而当检查出本终端已与lora网关完成时间同步,则终端可继续执行以下步骤:

步骤b1,检查本终端本地是否记录lora服务器为本终端分配的访问时隙,如果是,执行步骤b2,如果否,执行步骤b3。

步骤b2,在本终端本地记录的访问时隙内基于所述数据发送需求发送数据。

步骤b3,向所述lora网络中lora服务器发送访问时隙请求,接收并记录所述lora服务器为本终端分配的访问时隙,在所述访问时隙内基于所述数据发送需求发送数据。

步骤b3类似上述的步骤103、步骤104,不再赘述。

通过图1所示流程可以看出,在本申请中,终端工作在classa模式时,即使终端有数据发送需求,也不是随机进行数据发送,而是先向lora服务器发起访问时隙请求,以请求lora服务器为本终端分配访问时隙,之后,终端在lora服务器分配的访问时隙内进行数据发送。可以看出,本申请将终端控制在lora服务器分配的访问时隙内进行数据发送,能够防止终端无规律随机进行数据发送所导致的空口冲突、classa模式的工作效率降低等问题。

下面对lora服务器如何为终端分配访问时隙进行描述:

参见图2,图2为本申请提供的另一种数据转发方法的流程图。该方法应用于lora服务器,包括:

步骤201,接收所述lora网络中的终端在工作于classa模式且有数据发送需求时发送的访问时隙请求。

在一个例子中,终端发送的访问时隙请求中携带终端请求分配的时隙长度,该请求分配的时隙长度具体可由终端的数据发送需求决定,比如,终端的数据发送需求要求终端发送的数据量大,则请求分配的时隙长度会相应增加,反之亦然。

步骤202,依据lora网络中其他终端被分配的访问时隙、以及访问时隙请求携带的时隙长度为所述终端分配访问时隙。

在一个例子中,lora服务器可参考classb模式的pingslot分配方式为终端分配访问时隙。

作为一个实施例,在本申请中,lora服务器为不同终端分配的访问时隙是不同的,比如,待分配的所有时隙按照编号标识,lora服务器为终端1分配编号为1至10的时隙,为终端2分配编号11至20的时隙。

需要说明的是,在本申请中,lora服务器除了为终端分配访问时隙,还可以指定终端工作的物理信道(简称工作信道),并通知给终端。一旦终端接收到lora服务器为本终端指定的工作信道后,则终端就会在lora服务器为本终端分配的访问时隙内基于数据发送需求在被指定的工作信道上发送数据和/或接收数据。其中,lora服务器为终端指定工作信道的方式尽可能按照充分利用信道资源的原则执行,以提高信道资源的利用率。

步骤203,将为所述终端分配的访问时隙发送给所述终端,以使所述终端在所述访问时隙内基于数据发送需求发送业务数据。

在一个例子中,将为所述终端分配的访问时隙可携带在访问时隙响应报文中通过lora网关发送给终端。这里的lora网关可为距离客户端最近的lora网关。

至此,完成图2所示流程。

通过图2所示流程可以看出,在本申请中,由lora服务器集中控制管理所有终端的访问时隙、工作信道等,将终端控制在lora服务器分配的访问时隙内进行数据发送,能够防止终端无规律随机进行数据发送所导致的空口冲突、classa模式的工作效率降低等问题。

不同业务类型的终端的数据访问模型是迥异的,有些终端的数据上传的频率可能不高、但是单次数据量较大,而有些终端的数据上传的频率相对较高、但单次的数据量较小。对于数据上传频率相对较高的终端,当单次数据量增大时,其已分配的访问时隙可能不够用,可以进行更新,具体参见图3所示的流程。而对于数据上传频率较低的终端,其没有必要长期占用已经分配的访问时隙,此时可以释放,具体参见图4所示的流程。

参见图3,图3为本申请提供的访问时隙更新的流程图。如图3所示,该流程可包括以下步骤:

步骤301,终端在访问时隙内向lora服务器发送访问时隙更新请求,以请求所述lora服务器更新本终端的访问时隙。

需要说明的是,这里终端在访问时隙内向lora服务器发送的时隙更新请求有可能是终端已分配的访问时隙不够用,需要增加访问时隙而发送的;也有可能是终端已分配的访问时隙足够用,需要减少访问时隙而发送的,本申请并不具体限定,均统一归纳为时隙更新。

步骤302,lora服务器接收到所述终端发送的访问时隙更新请求时,更新已为所述终端分配的访问时隙,将更新后的访问时隙发送给所述终端。

作为一个实施例,访问时隙更新请求可携带的数据发送频率,基于此,本步骤302中lora服务器可依据访问时隙更新请求可携带的数据发送频率更新已为所述终端分配的访问时隙。

最终,通过步骤301和步骤302即可实现终端更新访问时隙。

参见图4,图4为本申请提供的访问时隙释放流程图。如图4所示,该流程可包括以下步骤:

步骤401,lora服务器监测各终端,当监测到终端超过设定时间未执行数据发送操作,则向所述终端发送访问时隙释放消息。

在一个例子中,数据发送操作包括:发送访问时隙请求、时隙更新请求、发送业务数据中的至少一个。

如上描述,终端在本地记录的访问时隙之后的非访问时隙内进入休眠状态,对于数据上传频率较低的终端,其可能进入休眠状态的时间比较长,当终端进入休眠状态,终端不会执行数据发送(比如发送访问时隙请求、访问时隙更新请求、业务数据等)操作,如此,lora服务器就不会收到终端发送的数据(比如访问时隙请求、访问时隙更新请求、业务数据等),当lora服务器监测到终端超过设定时间未收到终端发送的数据(比如访问时隙请求、访问时隙更新请求、业务数据等),则认为终端超过设定时间未执行数据发送操作,此时如步骤401描述,lora服务器向终端发送访问时隙释放消息。

步骤402,终端接收到所述lora服务器返回的访问时隙释放消息时,删除本地记录的访问时隙。

此时终端与访问时隙的绑定关系即可解除,即意味着访问时隙的释放,lora服务器可将该释放的访问时隙分配给其他有访问时隙请求的终端,保证了时隙资源的高效利用。后续该删除了本地记录的访问时隙的终端再有数据发送请求时,可按照图1所示流程执行。

至此,完成图4所示流程。

以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:

参加图5,图5为本申请提供的一种数据转发装置的结构图。该装置应用于lora网络中的终端,包括:

检查单元,用于在本终端工作于classa模式下且有数据发送需求时,检查本终端是否已与侦听到的所述lora网络中的lora网关完成时间同步;

同步单元,用于在所述检查单元的检查结果为否时,控制所述终端与所述lora网关进行时间同步;

时隙单元,用于在本终端与所述lora网关完成时间同步后,向所述lora网络中lora服务器发送访问时隙请求;以及接收并记录所述lora服务器为本终端分配的访问时隙;

业务单元,用于在所述访问时隙内基于所述数据发送需求发送业务数据。

作为一个实施例,所述时隙单元用于在所述检查单元的检查结果为是时,检查本终端本地是否记录lora服务器为本终端分配的访问时隙,若检查结果为否,则向所述lora网络中lora服务器发送访问时隙请求;接收并记录所述lora服务器为本终端分配的访问时隙;

所述业务单元,进一步用于在所述时隙单元的检查结果为是时,在本终端本地记录的访问时隙内基于所述数据发送需求发送业务数据。

作为一个实施例,所述时隙单元进一步在访问时隙内向所述lora服务器发送访问时隙更新请求,以请求所述lora服务器更新本终端的访问时隙;以及,接收所述lora服务器返回的更新后的访问时隙,将本地记录的访问时隙更新为该接收的更新后的访问时隙。

作为一个实施例,所述时隙单元在接收到所述lora服务器返回的访问时隙释放消息时,删除本地记录的访问时隙。

作为一个实施例,所述时隙单元进一步接收所述lora服务器为本终端指定的工作信道;

基于此,所述业务单元在访问时隙内基于所述数据发送需求发送业务数据包括:在访问时隙内基于所述数据发送需求在所述工作信道上发送业务数据。

作为一个实施例,所述业务单元在本地记录的访问时隙之后的非访问时隙内进入休眠状态。

至此,完成图5所示装置的结构图。

参见图6,图6为本申请提供的另一种数据转发装置的结构图。该装置应用于lora网络中的lora服务器,包括:

接收单元,用于接收所述lora网络中的终端在工作于classa模式下且有数据发送需求时发送的访问时隙请求;所述访问时隙请求中携带所述终端请求的时隙长度;

分配单元,用于依据所述lora网络中其他终端被分配的访问时隙、以及所述访问时隙请求携带的时隙长度为所述终端分配访问时隙;

发送单元,用于将为所述终端分配的访问时隙发送给所述终端,以使所述终端在所述访问时隙内基于数据发送需求发送数据。

作为一个实施例,所述接收单元进一步接收所述终端在所述访问时隙内发送的访问时隙更新请求;

所述分配单元进一步更新已为所述终端分配的访问时隙;

所述发送单元进一步将更新后的访问时隙发送给所述终端。

作为一个实施例,在本申请中,所述发送单元进一步当监测到所述终端超过设定时间未执行数据发送操作,向所述终端发送访问时隙释放消息以使所述终端删除本地记录的访问时隙,以触使所述分配单元将原本分配给所述终端的访问时隙分配给其他终端,所述数据发送操作包括:发送访问时隙请求、访问时隙更新请求、发送业务数据中的至少一个。

至此,完成图6所示装置的结构描述。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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