基于冲突感知的多LoRa网关在线下行调度方法
未命名
08-17
阅读:189
评论:0
基于冲突感知的多lora网关在线下行调度方法
技术领域
1.本发明属于物联网中低功耗广域网设计的技术领域,主要涉及了一种基于冲突感知的多lora网关在线下行调度方法。
背景技术:
2.物联网(internet of things,iot)可实现物与物、物与人的互联互通。随着物联网技术(尤其是无线通信技术)的快速发展,人类正迈入万物互联的时代。在传统物联网无线通信领域,依据通信距离不同,主要可将无线通信技术分为两类:(1)近距离无线通信技术,主要包括wi-fi、蓝牙、nfc、zigbee、rfid等技术。(2)远距离无线通信技术,主要包括umts、gsm、5g等技术。其中,近距离无线通信技术无法覆盖广域场景,而传统的远距离无线通信技术往往需要牺牲大量终端设备功耗以换取通信覆盖范围。随着物联网技术在智慧工业、智慧城市、智慧农场等领域的普及,对广覆盖、低功耗、低成本无线通信的需求日益迫切,在此背景下,低功耗广域网(low-power wide-area network,lpwan)技术应运而生。
3.lpwan因其小数据、大连接、低成本等特性,被广泛应用于智慧工业、智慧城市、智慧农场等大范围场景,以提供低功耗远距离通信。依据是否授权频谱,目前市场上主流的lpwan技术主要可分为两类:(1)非授权频谱的非蜂窝技术,主要包括lora(long range)、sigfox等。(2)已授权频谱的蜂窝物联网技术,主要包括nb-iot、lte-m等。其中,lora因具有开放性架构、按需自主组网、微型化易部署等优势,尤其适用于运营商网络无法覆盖的户外环境,如智慧工业、智慧城市、智慧农场等需要长周期低功耗数据监测的环境,因此在一众lpwan技术中脱颖而出。因此,围绕lora网络展开深入透彻的前瞻性研究具有重要的理论和应用价值。
4.lora网络主要由终端、网关、网络服务器及应用服务器等组成。lora终端和网关以单跳星型网络拓扑,通过lorawan连接,终端设备按照一定的传输参数,采用纯aloha方式向网关传输传感器数据。lora终端与网关通信时需设定的传输参数主要有:载波频率(carrier frequency,cf)、扩频因子(spreading factor,sf)、带宽(bandwidth,bw)、编码率(code rate,cr)和发送功率(transmission power,tp)。lora终端设备需要选定一个通信信道方可向网关传输数据,一个信道由一个载波频率和一个扩频因子的组合构成。一个lora网关最多可设置8个载波频率,同时监听这8路载波频率传输的信号,对这8路信号并行解调。lora终端与网关的通信过程会受到两类传输干扰:co-sf干扰和inter-sf。co-sf干扰发生在不同终端发送的数据包使用了相同的cf和sf,并且在传输时间上有重叠,co-sf干扰一定会导致传输冲突。inter-sf干扰发生在不同终端发送的数据包使用相同的cf和不同的sf,且在传输时间上有重叠,inter-sf干扰产生的原因是由于lora符号(symbol)的非完美正交,inter-sf干扰可能会导致传输冲突。网关通过蜂窝网络、以太网或者wi-fi等网络向网络服务器发送解调后的数据包,网络服务器解析处理数据包后,视应用需求将对应数据上传至应用服务器。
5.由于上述lora传输冲突的存在,导致现有的lora网关与终端间的下行并发通信能
力无法满足大规模iot应用的需求,其主要原因在于当需要向大量终端设备发送下行指令时,由于网关数量及接收能力有限而终端设备数量过多,并发传输易导致信道冲突,而在在线应用中,由于事先无法得知通信需求,更易产生传输冲突。具体地,一般的lora网络信道数量只有几个至几十个,但大量应用中所需支持的终端设备数量达到成千上万个,且网关之间存在区域重叠,增加了下行数据包冲突的概率,以上原因使得信道资源相对于终端设备数量而言极为匮乏且无法有效利用,数据包发生传输冲突的概率较高,在在线应用中,此类问题尤为严重。因此,如何提高在线应用中,lora网关对终端的下行并发通信能力,以提高单位覆盖面积内向在线并发下行的终端设备数量,是亟待解决的核心问题。
技术实现要素:
6.本发明正是针对现有技术中大量传输冲突导致数据包并发量低的问题,提供一种基于冲突感知的多lora网关在线下行调度方法,初始化co-sf冲突计数表、co-sf冲突感知表、inter-sf冲突计数表和inter-sf冲突感知表,分别进行网络服务器对下行数据包的co-sf冲突感知和inter-sf冲突感知,并更新co-sf冲突感知表和inter-sf冲突感知表;在发送下行数据包时,网络服务器判断有无空闲的信道,再通过查询co-sf冲突感知表和inter-sf冲突感知表,选择无传输冲突网关发送下行数据包,通过感知传输冲突并避免传输冲突,最终达到提高下行并发能力的目的。
7.为了实现上述目的,本发明采取的技术方案是:基于冲突感知的多lora网关在线下行调度方法,初始化co-sf冲突计数表、co-sf冲突感知表、inter-sf冲突计数表和inter-sf冲突感知表,分别进行网络服务器对下行数据包的co-sf冲突感知和inter-sf冲突感知,并更新co-sf冲突感知表和inter-sf冲突感知表;在发送下行数据包时,网络服务器判断有无空闲的信道,再通过查询co-sf冲突感知表和inter-sf冲突感知表,选择无传输冲突网关发送下行数据包。
8.作为本发明的一种改进,基于冲突感知的多lora网关在线下行调度方法,包括如下步骤:
9.s1,co-sf冲突感知:网络服务器初始时随机选择网关向终端发送下行数据包,根据数据包的上行情况,对每两个网关向终端发送的下行数据包之间发生的co-sf冲突进行感知,所述冲突感知方法为:初始化co-sf冲突计数表及co-sf冲突感知表,将感知的下行数据包冲突结果记录在co-sf冲突计数表中,每发生一次co-sf冲突,则co-sf冲突计数表相应值加1,在值大于0的前提下,每传输成功一次则值减1,并在网络服务器读取的时刻形成co-sf感知表中,若co-sf冲突技术表中的值超出了阈值,则在co-sf冲突感知表置1,表明这两个网关向对应终端发生下行数据包会发生co-sf冲突,若未超过阈值,则co-sf冲突感知表置0,表明未发生co-sf冲突;
10.s2,inter-sf冲突感知:对每两个网关向终端发送的下行数据包之间发生的inter-sf冲突进行感知,所述冲突感知方法为:初始化inter-sf冲突计数表和inter-sf冲突感知表,每发生一次inter-sf冲突,则inter-sf冲突计数表相应值加1,在值大于0的前提下,每传输成功一次则值减1,并在网络服务器读取的时刻形成inter-sf感知表中,若inter-sf冲突计数表中的值超出了阈值,则inter-sf冲突感知表置1,表明这两个网关向对应终端发生下行数据包会发生inter-sf冲突,未超过阈值,则inter-sf冲突感知表置0,未
发生inter-sf冲突;
11.s3,下行调度:发送下行数据包时,网络服务器判断有无空闲的信道,然后通过查询步骤s2的co-sf冲突感知表和步骤s3的inter-sf冲突感知表,选择不会发生传输冲突的网关发送下行数据包。
12.作为本发明的一种改进,所述步骤s1具体包括:
13.s11:网络服务器先初始化co-sf冲突计数表su,co-sf冲突感知表s
1u
,s和s1均为对称矩阵,u=m*n,m为网关数量,n为数据包数量,i,j={1,...,m},为网关的索引,a,b={1,...,n},为终端的索引,s
vw
初始值为0,v=i*a,w=j*b,表示由网关i向终端a发送下行数据包的同时,由网关j向终端b发送下行数据包,是否会发生co-sf冲突;
14.s12:若由网关i向终端a发送下行指令的对应上行数据包提示下行未成功,由网关j的向终端b发送的下行数据包为与该下行指令同sf、同cf、同时间发送的下行数据包,则记发生一次冲突,将s
vw
与s
wv
的值分别加1;每发生一次上行数据包v与上行数据包w提示下行未成功的情况,则s
vw
与s
wv
均加1,若s
vw
与s
wv
大于0的前提下,有其中一个终端的上行数据包提示下行成功的情况,则将s
vw
与s
wv
均减1,以此类推填充表su;
15.s13:每次网络服务器需要根据冲突感知情况调度网关时,读取co-sf冲突计数表su读取时刻的值,并对该瞬时时刻的表su进行阈值处理作为co-sf冲突感知表s
1u
,当s
vw
与s
wv
大于阈值时,表明这两个终端发生冲突,则将与分别置为1,并形成co-sf冲突感知表s
1u
;若与为1,则表明若网关j的向终端b发送下行指令的同时,网关i向终端a发送下行指令,则会导致这两个下行数据包冲突。
16.作为本发明的另一种改进,所述步骤s2具体包括:
17.s21:初始化inter-sf冲突计数表au×u,inter-sf冲突感知表a
1u
×u,a及a
1u
×u为非对称矩阵,u=m*n,m为网关数量,n为数据包数量,i,k={1,...,m},为网关的索引,a,c={1,...,n},为终端的索引,a
vl
初始值为0,v=i*a,l=k*c,表示由网关i向终端a发送下行数据包的同时,由网关k向终端c发送下行数据包,是否会发生inter-sf冲突;
18.s22:若由网关i向终端c发送下行指令为与该下行数据包不同sf、同cf、同时间发送的数据包,若终端c的上行数据包提示下行成功,而终端a的上行数据包却提示下行不成功,则将a
vl
的值加1,而a
lv
的值不变;若两个终端的上行数据包均提示下行未成功且被判断为inter-sf冲突,则a
vl
与a
lv
均加1;每发生一次网关i向终端a发送下行指令单独发生inter-sf冲突的情况,则a
vl
加1,而a
lv
不变,反之同理;若发生两个下行数据包均发生inter-sf冲突的情况,则a
vl
与a
lv
均加1;若a
vl
或a
lv
大于0的前提下,发生对应上行数据包可收到的情况,则将a
vl
或a
lv
均减1,以此类推填充表au×
u;
19.s23:每次网络服务器需要根据冲突感知情况调度网关时,读取inter-sf冲突计数表au×u读取时刻的值,并对该瞬时表进行阈值处理作为inter-sf冲突感知表a
1u
×u,当a
vl
大于阈值时,表明向终端a发送的下行数据包可能发生冲突,则将置为1,并形成inter-sf冲突感知表a
1u
×u;若a
vl
与a
lv
均置为1,表明由网关i向终端a发送下行指令的同时,若网关i的向终端c发送下行指令,则会导致两个网关的下行通信均失败。
20.作为本发明的又一种改进,所述co-sf冲突计数表和inter-sf冲突计数表中的阈值为3。
21.作为本发明的又一种改进,所述步骤s3具体包括:
22.s31:网络服务器选择网关进行下行,根据下行请求的开始和结束时间,从m个网关中选择在下行请求开始到结束的时间段有空闲的网关进行下一步筛选,若没有空闲的网关,则拒绝下行;
23.s32:在有空闲网关的前提下,根据步骤s2的co-sf冲突感知表和步骤s3的inter-sf冲突感知表,网络服务器查询空闲网关中是否有满足不发生co-sf冲突和inter-sf冲突的网关,若有,则可得到无冲突的网关集合,完成下行传输。
24.作为本发明的更进一步改进,所述步骤s32中,若存在多个无冲突网关,选择最大上行snr的网关作为下行网关。
25.与现有技术相比,本发明具有的有益效果:
26.(1)针对现有lora网关能支持并发下行终端数量有限,无法满足lpwan应用需求的问题,首次提出基于冲突感知的lora网关在线下行调度方法,主要基于mac层的网关调度,可在现有商用lora基带芯片上直接使用,且通信开销少、部署维护成本低、硬件复杂度或终端能耗小。
27.(2)针对lora网络“小数据、大连接”的传输特点,本发明针对lora复杂的传输特性,如co-sf冲突、由于不同sf传输的数据包间并非完美正交导致终端并发传输时产生大量inter-sf干扰问题及lora网关有限的并行下行能力,导致的大量传输冲突,通过对传输冲突的感知,可提高lora网关在线下行时的并发量。
28.(3)考虑到lora网络的大规模部署情况,本发明考虑了多网关环境中下行冲突数据包感知,为多网关环境下行信道资源优化调度提供保障,以提高多lora网关在线下行通信能力。
附图说明
29.图1为本发明基于冲突感知的多lora网关在线下行调度系统的架构图;
30.图2为本发明基于冲突感知的多lora网关在线下行调度方法的数据交互图;
31.图3为本发明基于冲突感知的多lora网关在线下行调度方法冲突感知流程图。
具体实施方式
32.下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
33.实施例1
34.一种基于冲突感知的多lora网关在线下行调度方法,其具体架构如图1所示,lora网络主要由lora终端、lora网关、网络服务器及应用服务器等组成。lora终端往往使用电池供电,以一定的传输参数向网关发送上行数据包;网关向lora终端发送下行数据包以指示终端上行,网关通过以太网等网络向网络服务器转发解调后的数据包;网络服务器根据本在线下行调度方法向lora网关调度网关下行,网络服务器视应用需求将对应数据上传至应用服务器。本发明下行调度方法的数据交互如图2所示,交互过程涉及lora终端、lora网关及lora网络服务器三端。lora终端向lora网关发送上行数据包,lora网关将上行数据包转发给lora网络服务器,lora网络服务器初始时随机选择网关发送下行数据包;lora终端接
收到下行数据包后,发送包含下行成功情况的上行数据包给lora网关;lora网关将该上行数据包发送给lora网络服务器,网络服务器更新冲突计数表之后,根据冲突感知表选择网关发送下行数据包给lora终端。
35.一种基于冲突感知的多lora网关在线下行调度方法,具体包括以下步骤:
36.步骤s1:网络服务器初始时随机选择网关向终端发送下行数据包,后续根据数据包的上行情况,对每两个网关向终端发送的下行数据包之间发生的冲突进行感知。考虑到inter-sf冲突发生的具有不确定性,而co-sf冲突的发生具有确定性,因此首先对co-sf冲突进行感知。感知之前需初始化两张表:co-sf冲突计数表及co-sf冲突感知表。将感知的下行数据包冲突结果记录在co-sf冲突技术表中,每发生一次co-sf冲突,则co-sf冲突技术表相应值加1,同理,在值大于0的前提下,每传输成功一次则值减1,co-sf冲突计数表始终处于变更状态。并在网络服务器读取的时刻形成co-sf感知表中,若co-sf冲突技术表中的值超出了阈值,则在co-sf冲突感知表置1,表明这两个网关向对应终端发生下行数据包会发生co-sf冲突,未超过co-sf冲突则置0。
37.步骤s11:正式开始下行之前,网络服务器先初始化co-sf冲突计数表su,co-sf冲突感知表s
1u
,由于co-sf冲突将导致两个数据包均丢失,s和s1均为对称矩阵,u=m*n,m为网关数量,n为数据包数量,i,j={1,...,m},为网关的索引,a,b={1,...,n},为终端的索引,s
vw
初始值为0,v=i*a,w=j*b,表示由网关i向终端a发送下行数据包的同时,由网关j向终端b发送下行数据包,是否会发生co-sf冲突。根据网络服务器接收到的来自终端a、b的上行数据包中包含下行是否成功的提示信息,若下行不成功,判断两个下行数据包是否使用相同sf、cf发送,且发送时间重叠。c
vv
=1,即默认不同数据包之间不会发生co-sf冲突。表s
1u
为在网络服务器读取时刻,表su的瞬时值经过阈值处理之后的表。
38.步骤s12:终端初始随机发送上行数据包,网关将上行数据包转发给网络服务器,网络服务器随机选择网关发送下行数据包。终端上行数据包中将包含向网关该终端发生下行数据包是否成功的信息,网络服务器根据该信息修改冲突计数表。若由网关i向终端a发送下行指令的对应上行数据包提示下行未成功,假设由网关j的向终端b发送的下行数据包为与该下行指令同sf、同cf、同时间发送的下行数据包,则记发生一次冲突,将s
vw
与s
wv
的值分别加1。此后,每发生一次上行数据包v与上行数据包w提示下行未成功的情况,则s
vw
与s
wv
均加1,若s
vw
与s
wv
大于0的前提下,有其中一个终端的上行数据包提示下行成功的情况,则将s
vw
与s
wv
均减1,以此类推填充表su;
39.步骤s13:每次网络服务器需要根据冲突感知情况调度网关时,读取co-sf冲突计数表su读取时刻的值,并对该瞬时时刻的表su进行阈值处理作为co-sf冲突感知表s
1u
。当s
vw
与s
wv
大于阈值时,表明冲突次数超出设定的阈值,即这两个终端很有可能发生冲突,则将与分别置为1,并形成co-sf冲突感知表s
1u
。若与为1,则表明若网关j的向终端b发送下行指令的同时,网关i向终端a发送下行指令,则会导致这两个下行数据包冲突,因此需要避免网关j的向终端b发送下行指令的同时,网关i向终端a发送下行指令。
40.本实施例阈值为2或3或4,其中阈值典型值为3时,最优。
41.步骤s2:若某两个终端收到的下行数据包发生了冲突,但co-sf冲突感知表中这两个终端对应的值为0,也即这两个终端未发生co-sf冲突,则这两个终端的数据包可能发生了inter-sf冲突。对每两个网关向终端发送的下行数据包之间发生的inter-sf冲突进行感
知,并将感知的结果记录在inter-sf冲突技术表,每发生一次inter-sf冲突,则inter-sf冲突技术表相应值加1,同理,在值大于0的前提下,每传输成功一次则值减1,inter-sf冲突计数表始终处于变更状态。并在网络服务器读取的时刻形成inter-sf感知表中,若inter-sf冲突技术表中的值超出了阈值,则inter-sf感知表置1,表明这两个网关向对应终端发生下行数据包会发生inter-sf冲突,未超过inter-sf冲突则置0;
42.步骤s21:初始化inter-sf冲突计数表au×u,inter-sf冲突感知表a
1u
×u,a及a
1u
×u为非对称矩阵,u=m*n,m为网关数量,n为数据包数量,i,k={1,...,m},为网关的索引,a,c={1,...,n},为终端的索引,a
vl
初始值为0,v=i*a,l=k*c,表示由网关i向终端a发送下行数据包的同时,由网关k向终端c发送下行数据包,是否会发生inter-sf冲突,根据网络服务器接收到两个终端的上行数据包中包含下行是否成功的提示信息,若下行不成功,判断两个下行数据包是否使用不同sf、相同cf发送,且发送时间重叠。a
vv
=1,即默认不同数据包之间不会发生inter-sf冲突。表a
1u
×u为在网络服务器读取时刻,表au×u的瞬时值经过阈值处理之后的表。
43.步骤s22:若由网关i向终端a发送下行指令的对应上行数据包无法被接收,且未有与之发生co-sf冲突的下行数据包,则与该数据包不同sf、同cf、同时间发送的下行数据包均有可能与该数据包产生inter-sf冲突,导致此数据包丢失。假设由网关/的向终端c发送下行指令为与该下行数据包不同sf、同cf、同时间发送的数据包,若终端c的上行数据包提示下行成功,而终端a的上行数据包却提示下行不成功,则将a
vl
的值加1,而a
lv
的值不变。若两个终端的上行数据包均提示下行未成功且被判断为inter-sf冲突,则a
vl
与a
lv
均加1。此后,每发生一次网关i向终端a发送下行指令单独发生inter-sf冲突的情况,则a
vl
加1,而a
lv
不变,反之同理;若发生两个下行数据包均发生inter-sf冲突的情况,则a
vl
与a
lv
均加1;若a
vl
或a
lv
大于0的前提下,发生对应上行数据包可收到的情况,则将a
vl
或a
lv
均减1,以此类推填充表au×u;
44.步骤s23:每次网络服务器需要根据冲突感知情况调度网关时,读取inter-sf冲突计数表au×u读取时刻的值,并对该瞬时表进行阈值处理作为inter-sf冲突感知表a
1u
×u。当a
vl
大于阈值时,表明冲突次数超出设定的阈值,即向终端a发送的下行数据包很有可能发生冲突,则将置为1,并形成inter-sf冲突感知表a
1u
×u。若a
vl
与a
lv
均置为1,表明由网关i向终端a发送下行指令的同时,若网关/的向终端c发送下行指令,则会导致两个网关的下行通信均失败。
45.本实施例阈值值为2或3或4,其中阈值典型值为3时,最优。
46.因而本步骤中基于冲突感知的多lora网关在线下行调度方法冲突感知流程如图3所示。网络服务器调度网关发送下行数据包至终端,若终端发送的上行数据包中包含的信息提示下行成功,则网络服务器下行选择的网关可不变;若提示下行失败,则先判断是否为co-sf冲突,若为co-sf冲突,则co-sf冲突计数表s对应值+1,后续若冲突的终端成功上行,则表s对应值-1,网络服务器调度时读取co-sf冲突计数表s的瞬时值即为co-sf冲突感知表s1,若瞬时值超过阈值,则co-sf冲突感知表s1对应值置1,若未超过阈值,则置0。若未发生co-sf冲突,则判断是否为inter-sf冲突,若为inter-sf冲突,则inter-sf冲突计数表a对应值+1,后续若冲突的终端成功上行,则表a对应值-1,网络服务器调度时读取inter-sf冲突计数表a的瞬时值即为inter-sf冲突感知表a1,若瞬时值超过阈值,则inter-sf冲突感知表
a1对应值置1,若未超过阈值,则置0。
47.步骤s3:需要发送下行数据包时,网络服务器首先判断有无空闲的信道,然后通过查询上述冲突感知表,选择不会发生传输冲突的发送下行数据包。
48.步骤s31:网络服务器选择网关进行下行,根据下行请求的开始和结束时间,从m个网关中选择在下行请求开始到结束的时间段有空闲的网关进行下一步筛选,若没有空闲的网关,则拒绝下行;
49.步骤s32:在有空闲网关的前提下,根据co-sf和inter-sf冲突感知表,网络服务器查询空闲网关中是否有满足不发生co-sf冲突和inter-sf冲突的网关,若有,则可得到无冲突的网关集合;
50.步骤s33:若只有一个无冲突网关,则将网关作为下行网关发生下行数据包;若有多个无冲突网关,则选择最大上行snr的网关作为下行网关。
51.综上,本发明针对lora终端与网关实时通信中存在的传输冲突进行感知并形成冲突感知表,冲突感知表用于记录终端之间是否会发生包括co-sf冲突和inter-sf冲突在内的传输冲突,继而依据冲突感知表对lora网关在线下行数据包进行调度,着重解决lora网关在线对终端发送下行数据包时,由于存在大量终端设备,而网关数量及并发下行能力有限,且多网关之间存在通信区域重叠等问题,导致的lora网关下行过程以产生传输冲突,导致终端无法接收到下行指令,无法传输数据的问题,本案方法效果好,工作效率更高。
52.需要说明的是,以上内容仅仅说明了本发明的技术思想,不能以此限定本发明的保护范围,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰均落入本发明权利要求书的保护范围之内。
技术特征:
1.基于冲突感知的多lora网关在线下行调度方法,其特征在于:初始化co-sf冲突计数表、co-sf冲突感知表、inter-sf冲突计数表和inter-sf冲突感知表,分别进行网络服务器对下行数据包的co-sf冲突感知和inter-sf冲突感知,并更新co-sf冲突感知表和inter-sf冲突感知表;在发送下行数据包时,网络服务器判断有无空闲的信道,再通过查询co-sf冲突感知表和inter-sf冲突感知表,选择无传输冲突网关发送下行数据包。2.如权利要求1所述的基于冲突感知的多lora网关在线下行调度方法,其特征在于,包括如下步骤:s1,co-sf冲突感知:网络服务器初始时随机选择网关向终端发送下行数据包,根据数据包的上行情况,对每两个网关向终端发送的下行数据包之间发生的co-sf冲突进行感知,所述冲突感知方法为:初始化co-sf冲突计数表及co-sf冲突感知表,将感知的下行数据包冲突结果记录在co-sf冲突计数表中,每发生一次co-sf冲突,则co-sf冲突计数表相应值加1,在值大于0的前提下,每传输成功一次则值减1,并在网络服务器读取的时刻形成co-sf感知表中,若co-sf冲突感知表中的值超出了阈值,则在co-sf冲突感知表置1,表明这两个网关向对应终端发生下行数据包会发生co-sf冲突,若未超过阈值,则co-sf冲突感知表置0,表明未发生co-sf冲突;s2,inter-sf冲突感知:对每两个网关向终端发送的下行数据包之间发生的inter-sf冲突进行感知,所述冲突感知方法为:初始化inter-sf冲突计数表和inter-sf冲突感知表,每发生一次inter-sf冲突,则inter-sf冲突计数表相应值加1,在值大于0的前提下,每传输成功一次则值减1,并在网络服务器读取的时刻形成inter-sf感知表中,若inter-sf冲突计数表中的值超出了阈值,则inter-sf冲突感知表置1,表明这两个网关向对应终端发生下行数据包会发生inter-sf冲突,未超过阈值,则inter-sf冲突感知表置0,未发生inter-sf冲突;s3,下行调度:发送下行数据包时,网络服务器判断有无空闲的信道,然后通过查询步骤s2的co-sf冲突感知表和步骤s3的inter-sf冲突感知表,选择不会发生传输冲突的网关发送下行数据包。3.如权利要求2所述的基于冲突感知的多lora网关在线下行调度方法,其特征在于:所述步骤s1具体包括:s11:网络服务器先初始化co-sf冲突计数表s
u
,co-sf冲突感知表s
1u
,s和s1均为对称矩阵,u=m*n,m为网关数量,n为数据包数量,i,j={1,...,m},为网关的索引,a,b={1,...,n},为终端的索引,s
vw
初始值为0,v=i*a,w=j*b,表示由网关i向终端a发送下行数据包的同时,由网关j向终端b发送下行数据包,是否会发生co-sf冲突;s12:若由网关i向终端a发送下行指令的对应上行数据包提示下行未成功,由网关j的向终端b发送的下行数据包为与该下行指令同sf、同cf、同时间发送的下行数据包,则记发生一次冲突,将s
vw
与s
wv
的值分别加1;每发生一次上行数据包v与上行数据包w提示下行未成功的情况,则s
vw
与s
wv
均加1,若s
vw
与s
wv
大于0的前提下,有其中一个终端的上行数据包提示下行成功的情况,则将s
vw
与s
wv
均减1,以此类推填充表su;s13:每次网络服务器需要根据冲突感知情况调度网关时,读取co-sf冲突计数表s
u
读取时刻的值,并对该瞬时时刻的表s
u
进行阈值处理作为co-sf冲突感知表s
1u
,当s
vw
与s
wv
大于阈值时,表明这两个终端发生冲突,则将与分别置为1,并形成co-sf冲突感知表
s
1u
;若与为1,则表明若网关j的向终端b发送下行指令的同时,网关i向终端a发送下行指令,则会导致这两个下行数据包冲突。4.如权利要求2所述的基于冲突感知的多lora网关在线下行调度方法,其特征在于:所述步骤s2具体包括:s21:初始化inter-sf冲突计数表a
u
×
u
,inter-sf冲突感知表a
1u
×
u
,a及a
1u
×
u
为非对称矩阵,u=m*n,m为网关数量,n为数据包数量,i,k={1,...,m},为网关的索引,a,c={1,...,n},为终端的索引,a
vl
初始值为0,v=i*a,l=k*c,表示由网关i向终端a发送下行数据包的同时,由网关k向终端c发送下行数据包,是否会发生inter-sf冲突;s22:若由网关i向终端c发送下行指令为与该下行数据包不同sf、同cf、同时间发送的数据包,若终端c的上行数据包提示下行成功,而终端a的上行数据包却提示下行不成功,则将a
vl
的值加1,而a
lv
的值不变;若两个终端的上行数据包均提示下行未成功且被判断为inter-sf冲突,则a
vl
与a
lv
均加1;每发生一次网关i向终端a发送下行指令单独发生inter-sf冲突的情况,则a
vl
加1,而a
lv
不变,反之同理;若发生两个下行数据包均发生lnter-sf冲突的情况,则a
vl
与a
lv
均加1;若a
vl
或a
lv
大于0的前提下,发生对应上行数据包可收到的情况,则将a
vl
或a
lv
均减1,以此类推填充表a
u
×
u
;s23:每次网络服务器需要根据冲突感知情况调度网关时,读取inter-sf冲突计数表a
u
×
u
读取时刻的值,并对该瞬时表进行阈值处理作为inter-sf冲突感知表a
1u
×
u
,当a
vl
大于阈值时,表明向终端a发送的下行数据包可能发生冲突,则将置为1,并形成inter-sf冲突感知表a
1u
×
u
;若a
vl
与a
lv
均置为1,表明由网关i向终端a发送下行指令的同时,若网关i的向终端c发送下行指令,则会导致两个网关的下行通信均失败。5.如权利要求3或4所述的基于冲突感知的多lora网关在线下行调度方法,其特征在于:所述co-sf冲突计数表和inter-sf冲突计数表中的阈值为3。6.如权利要求5所述的基于冲突感知的多lora网关在线下行调度方法,其特征在于:所述步骤s3具体包括:s31:网络服务器选择网关进行下行,根据下行请求的开始和结束时间,从m个网关中选择在下行请求开始到结束的时间段有空闲的网关进行下一步筛选,若没有空闲的网关,则拒绝下行;s32:在有空闲网关的前提下,根据步骤s2的co-sf冲突感知表和步骤s3的inter-sf冲突感知表,网络服务器查询空闲网关中是否有满足不发生co-sf冲突和inter-sf冲突的网关,若有,则可得到无冲突的网关集合,完成下行传输。7.如权利要求6所述的基于冲突感知的多lora网关在线下行调度方法,其特征在于:所述步骤s32中,若存在多个无冲突网关,选择最大上行snr的网关作为下行网关。
技术总结
本发明公开了一种基于冲突感知的多LoRa网关在线下行调度方法,初始化Co-SF冲突计数表、Co-SF冲突感知表、Inter-SF冲突计数表和Inter-SF冲突感知表,分别进行网络服务器对下行数据包的Co-SF冲突感知和Inter-SF冲突感知,并更新Co-SF冲突感知表和Inter-SF冲突感知表;在发送下行数据包时,网络服务器判断有无空闲的信道,再通过查询Co-SF冲突感知表和Inter-SF冲突感知表,选择无传输冲突网关发送下行数据包,通过感知传输冲突并避免传输冲突,最终达到提高下行并发能力的目的。最终达到提高下行并发能力的目的。最终达到提高下行并发能力的目的。
技术研发人员:陈慈媛 徐祝庆 熊润群 林敬凯 罗军舟
受保护的技术使用者:东南大学
技术研发日:2023.06.05
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
