1.本申请涉及通信应用技术领域,特别是涉及一种信道管理方法、数据通信方法、装置以及可读存储介质。
背景技术:2.lorawan是lora wide area network(lora广域网)的简称,是基于lora技术的一种通信协议。lora整体网络结构分为终端、网关、网络服务、应用服务几个功能。终端节点可以同时发给多个基站,一般lora终端和网关之间可以同过lora无线技术进行数据传输,而网关和核心网或广域网之间的交互可以通过tcp/ip协议,当然可以是有线连接的以太网,亦可以为3g/4g类的无线连接。
3.多个lora节点同时在同一频道(以下统称信道)上发送数据,信号相互干扰严重,最终造成数据发送失败。
技术实现要素:4.本申请至少提供一种信道管理方法、数据通信方法、装置以及可读存储介质。
5.本申请第一方面提供了一种信道管理方法,所述信道管理方法包括:
6.接收每个信道获取的信号帧;
7.记录所述每个信道获取的信号帧数量;
8.累加并记录所述每个信道获取的信号帧数量,形成信道资源统计表。
9.在一些实施例中,所述记录所述每个信道获取的信号帧数量的步骤,包括;
10.检查所述获取的信号帧中是否存在前导码;
11.若存在,则将该信号帧对应的信道接收信号帧的数量加1。
12.在一些实施例中,所述累加并记录每个信道获取的信号帧数量,形成信道资源统计表的步骤之后,所述信道管理方法还包括:
13.周期性读取所述信道资源统计表;
14.将所述信道资源统计表中各信道记录的信号帧数量减1;
15.在特定信道上广播最新的信道资源统计表。
16.本申请第二方面提供了一种数据通信方法,所述数据通信方法包括:
17.响应于数据发送请求,在信道检测窗口接收信道资源统计表,其中,所述信道资源统计表为上述第一方面的信道管理方法所述的信道资源统计表;
18.基于所述信道资源统计表中各信道记录的信号帧数量计算出空闲信道;
19.利用所述空闲信道进行数据通信。
20.在一些实施例中,所述基于所述信道资源统计表中各信道记录的信号帧数量计算出空闲信道的步骤,包括:
21.获取所述信道资源统计表中各信道记录的信号帧数量;
22.将所述信号帧数量不满最大数量的一个信道作为所述空闲信道;
23.或者,将所述信号帧数量最小的信道作为所述空闲信道。
24.在一些实施例中,所述基于所述信道资源统计表中各信道记录的信号帧数量计算出空闲信道的步骤,包括:
25.获取所述信道资源统计表中各信道记录的信号帧数量;
26.在所有信道的信号帧数量都为最大数量的情况下,选择预先配置的信道作为所述空闲信道。
27.在一些实施例中,所述数据通信方法还包括:
28.在所有信道的信号帧数量都为最大数量的情况下,经过退避单位时间后重新开启所述信道检测窗口获取最新的信道资源统计表;
29.判断所述最新的信道资源统计表中是否存在信号帧数量不满最大数量的信道;
30.若存在,则将所述信号帧数量不满最大数量的一个信道作为所述空闲信道;
31.若不存在,则减少所述退避单位时间的时长,经过减少时长后的退避单位时间后重新开启所述信道检测窗口获取最新的信道资源统计表。
32.在一些实施例中,所述数据通信方法还包括:
33.在不存在所述信号帧数量不满最大数量的信道的情况下,判断目前的退避单位时间是否为0;
34.若否,则减少所述退避单位时间的时长,经过减少时长后的退避单位时间后重新开启所述信道检测窗口获取最新的信道资源统计表;
35.若是,则选择预先配置的信道作为所述空闲信道。
36.本申请第三方面提供了一种通信装置,所述通信装置包括接收模块、记录模块、管理模块;
37.其中,所述接收模块,用于接收每个信道获取的信号帧;
38.所述记录模块,用于记录每个信道获取的信号帧数量;
39.所述管理模块,用于累加并记录每个信号获取的信号帧数量,形成信道资源统计表。
40.本申请第四方面提供了另一种通信装置,所述通信装置包括接收模块、计算模块、通信模块;
41.其中,所述接收模块,用于响应于数据发送请求,在信道检测窗口接收信道资源统计表,其中,所述信道资源统计表为上述第一方面的信道管理方法所述的信道资源统计表;
42.所述计算模块,用于基于所述信道资源统计表中各信道记录的信号帧数量计算出空闲信道;
43.所述通信模块,用于利用所述空闲信道进行数据通信。
44.本申请第五方面提供了一种通信装置,包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述第一方面中的信道管理方法和\或第二方面中的数据通信方法。
45.本申请第六方面提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述第一方面中的信道管理方法和\或第二方面中的数据通信方法。
46.上述方案,通信装置通过接收每个信道获取的信号帧;记录每个信道获取的信号
帧数量;累加并记录每个信号获取的信号帧数量,形成信道资源统计表。通过采用信道资源统计表的方式统计信道的使用情况,有利于提高信道资源的利用率。
47.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
48.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
49.图1是现有技术的lorawan在class a模式下的收发时隙图;
50.图2是本申请提供的信道管理方法一实施例的流程示意图;
51.图3是本申请提供的数据通信方法一实施例的流程示意图;
52.图4是本申请提供的lorawan在class a模式下的收发时隙图;
53.图5是图3所示数据通信方法中步骤s22的具体流程示意图;
54.图6是本申请提供的通信装置一实施例的框架示意图;
55.图7是本申请提供的通信装置另一实施例的框架示意图;
56.图8是本申请提供的通信装置又一实施例的框架示意图;
57.图9是本申请提供的计算机可读存储介质一实施例的框架示意图。
具体实施方式
58.下面结合说明书附图,对本申请实施例的方案进行详细说明。
59.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
60.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
61.现有技术中lorawan在class a模式下的收发时隙如图1所示,图1是现有技术的lorawan在class a模式下的收发时隙图。如图1所示,class a模式的一个发送周期由一个发送窗口(transmit)和两个接收窗口(rx1和rx2)组成,如果多个lora节点同时进入transmit窗口就会造成相互干扰,影响数据发送,降低信道的利用率。
62.基于上述现有技术,本申请在lorawan的class a模式下通过对信道资源的有效统筹管理,实现降低多lora节点同时发送数据的效率,达到降低丢包率的效果。
63.具体请参阅图2,图2是本申请提供的信道管理方法一实施例的流程示意图。其中,本公开实施例的信道管理方法的执行主体可以是一种通信装置,例如,信道管理方法可以由终端设备或服务器或其它处理设备执行,其中,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实
现方式中,该信道管理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。例如,本公开实施例的通信装置可以实现和执行lorawan的网关的通信功能和管理功能。
64.具体而言,本公开实施例的信道管理方法可以包括如下步骤:
65.步骤s11:接收每个信道获取的信号帧。
66.其中,本实施例的通信装置,例如网关需要维护信道资源统计表。在本实施例中,信道资源统计表表长16字节,从第0byte至第15byte依次代表0到15信道,每一byte为监视窗口期内接受信号帧数量。当网关在某个信道上接收信号帧数据时,信道资源统计表中该信道对应的字节加1,最大值为255。当网关每广播一次,信道资源统计表中每个信道对应的字节减1,最小值为0。具体地,本实施例的信道资源统计表的定义可以参阅下表:
[0067][0068]
步骤s12:记录每个信道获取的信号帧数量。
[0069]
其中,网关通过某一信道获取到信号帧时,首先判断是否检查到前导码。若获取的信号帧中存在前导码,网关将该前导码的信道在上述信道资源统计表中对应的字节加1,表示在监视窗口期内接收到新的信号帧,并实施统计监视窗口期内接收到的信号帧数量。
[0070]
步骤s13:累加并记录每个信道获取的信号帧数量,形成信道资源统计表。
[0071]
其中,网关在结束一个监视窗口期后,累加并记录每个信道获取的信号帧数量,并形成最终的信道资源统计表。
[0072]
在监视窗口期维护完信道资源统计表后,网关还需要在特定信道,例如0信道上周期性广播信道资源统计表的情况,便于对应的节点接收信道资源统计表,并根据信道资源统计表选择合适的空闲信道。
[0073]
具体地,网关广播信道资源统计表的流程如下:周期性读取信道资源统计表;将信道资源统计表中各信道记录的信号帧数量减1;在特定信道上广播最新的信道资源统计表。
[0074]
在本公开实施例中,通信装置通过接收每个信道获取的信号帧;记录每个信道获取的信号帧数量;累加并记录每个信号获取的信号帧数量,形成信道资源统计表。通过采用信道资源统计表的方式统计信道的使用情况,有利于提高信道资源的利用率。
[0075]
基于上述信道管理方法,本申请还提出了一种数据通信方法,具体请继续参阅图3和图4,其中,图3是本申请提供的数据通信方法一实施例的流程示意图,图4是本申请提供的lorawan在class a模式下的收发时隙图。
[0076]
具体而言,本实施例的数据通信方法包括以下步骤:
[0077]
步骤s21:响应于数据发送请求,在信道检测窗口接收信道资源统计表。
[0078]
其中,如图4所述,本实施例的数据通信方法需要修改lorawan收发时隙,需要在transmit窗口前增加rx0窗口,即信道检测窗口接收网关广播的信道资源统计表。
[0079]
具体地,当通信装置,例如节点接收到数据发送请求时,节点开启信道检测窗口。
节点通过信道检测窗口接收来自网关的信道资源统计表。
[0080]
步骤s22:基于信道资源统计表中各信道记录的信号帧数量计算出空闲信道。
[0081]
其中,节点通过信道资源统计表获悉网关在监视窗口期各信道接收到信号帧数量,然后根据各信道记录的信号帧数量选择其中适合用于数据通信的空闲信道。
[0082]
具体地,节点可以随机选择信号帧数量不满最大数量,即字节不满255的一个信道作为空闲信道;或者,节点可以根据信道资源统计表中记录的信号帧数量对所有信道进行排序,以将信号帧数量最小对应的信道作为空闲信道,进行数据通信。
[0083]
另外,若节点获取的信道资源统计表中所有信道的信号帧数量都为最大数量,即统计表中所有信道对应的字节均为255时,节点可以选择预设配置的信道或者默认配置的信道作为空闲信道,进行数据通信。
[0084]
在其他实施例中,若节点获取的信道资源统计表中所有信道的信号帧数量都为最大数量,即统计表中所有信道对应的字节均为255时,节点还可以采用退避机制,具体请继续参阅图5,图5是图3所示数据通信方法中步骤s22的具体流程示意图。
[0085]
如图5所示,步骤s22具体可以包括以下子步骤:
[0086]
步骤s221:在所有信道的信号帧数量都为最大数量的情况下,经过退避单位时间后重新开启信道检测窗口获取最新的信道资源统计表。
[0087]
其中,若节点获取的信道资源统计表中所有信道的信号帧数量都为最大数量,即统计表中所有信道对应的字节均为255时,节点可以选择经过退避单位时间(默认10秒,可通过mac帧进行配置)后,重新开启信道检测窗口获取最新的信道资源统计表。
[0088]
步骤s222:判断最新的信道资源统计表中是否存在信号帧数量不满最大数量的信道。
[0089]
其中,节点获取最新的信道资源统计表后,重新判断最新的信道资源统计表中是否存在信号帧数量不满最大数量的信道。若存在,则进入步骤s223;若不存在,则进入步骤s224。
[0090]
步骤s223:将信号帧数量不满最大数量的一个信道作为空闲信道。
[0091]
步骤s224:减少退避单位时间的时长,经过减少时长后的退避单位时间后重新开启信道检测窗口获取最新的信道资源统计表。
[0092]
其中,节点减少退避单位时间的时长,例如新的退避单位时间为9秒。节点再经过减少时长后的退避单位时间后,重新开启信道检测窗口获取最新的信道资源统计表,直至能够根据信道资源统计表选择空闲信道完成数据通信。
[0093]
需要说明的是,在连续触发退避机制过程中,每次退避单位时间的时长会递减,直至退避单位时间递减到0时,节点则不会再触发退避机制,从而择预设配置的信道或者默认配置的信道作为空闲信道,进行数据通信。
[0094]
步骤s23:利用空闲信道进行数据通信。
[0095]
上述方案,节点通过根据信道资源统计表选择空闲的信道进行数据通信,能够有效降低同频干扰;另外,节点在所有信道都繁忙的情况下,启动退避机制,能够提高数据通信方法的灵活性以及可执行性。
[0096]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功
能和可能的内在逻辑确定。
[0097]
请参阅图6,图6是本申请提供的通信装置一实施例的框架示意图。通信装置60包括接收模块61、记录模块62和管理模块63。
[0098]
其中,接收模块61,用于接收每个信道获取的信号帧;记录模块62,用于记录每个信道获取的信号帧数量;管理模块63,用于累加并记录每个信号获取的信号帧数量,形成信道资源统计表。
[0099]
请参阅图7,图7是本申请提供的通信装置另一实施例的框架示意图。通信装置70包括接收模块71、计算模块72和通信模块73。
[0100]
其中,接收模块71,用于响应于数据发送请求,在信道检测窗口接收信道资源统计表,其中,信道资源统计表为上述信道管理方法中网关维护的信道资源统计表;计算模块72,用于基于所述信道资源统计表中各信道记录的信号帧数量计算出空闲信道;通信模块73,用于利用所述空闲信道进行数据通信。
[0101]
请参阅图8,图8是本申请提供的通信装置又一实施例的框架示意图。通信装置80包括相互耦接的存储器81和处理器82,处理器82用于执行存储器81中存储的程序指令,以实现上述任一信道管理方法和/或数据通信方法实施例的步骤。在一个具体的实施场景中,通信装置80可以包括但不限于:微型计算机、服务器,此外,通信装置80还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
[0102]
具体而言,处理器82用于控制其自身以及存储器81以实现上述任一信道管理方法和/或数据通信方法实施例的步骤。处理器82还可以称为cpu(central processing unit,中央处理单元)。处理器82可能是一种集成电路芯片,具有信号的处理能力。处理器82还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field
‑
programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器82可以由集成电路芯片共同实现。
[0103]
请参阅图9,图9是本申请提供的计算机可读存储介质一实施例的框架示意图。计算机可读存储介质90存储有能够被处理器运行的程序指令901,程序指令901用于实现上述任一信道管理方法和/或数据通信方法实施例的步骤。
[0104]
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
[0105]
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
[0106]
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
[0107]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0108]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read
‑
only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。