面向异构IoT业务的LoRa网络自适应参数配置策略①
2020-11-24蔡青松夏晨益
蔡青松,林 佳,夏晨益,吴 杰
(北京工商大学 计算机与信息工程学院,北京 100048)
近来,物联网 (Internet of Things,IoT)的迅速发展对通信技术提出了更高要求.新一代IoT 应用的设想是以低成本、低速率的特征连接人、机器和物体,而实现这一目标的关键是无线通信技术.新兴无线通信技术还需为分布在广袤区域的大量异构IoT 设备提供连接,例如分散部署在农场和仓库等地的设备就需要通过此技术来传输数据[1],这些设备之间的通信距离可能超过10 公里.由此,低功耗广域网(Low Power Wide Area Network,LPWAN)技术的出现弥补了传统的无线通信技术(如蓝牙、ZigBee 和移动蜂窝网络)存在的通信距离短、成本高和严格地域限制等不足,实现了广泛的IoT 应用及IoT 设备间的通信互连[2].
LPWAN 根据工作频段可分为两类:一类是工作于未授权Sub-GHz ISM 频段的LoRa[3]、SigFox[4]等;另一类是工作于授权频段下的NB-IoT[5]等.在众多的LPWAN 技术中,LoRa 因其开放性和灵活的网络部署能满足大规模和广覆盖的应用需求[6],是目前应用最广泛的.LoRa 具有的优势体现在以下几个方面:首先,LoRa 运行在未授权频段中,从而为用户节省了昂贵的频段使用费;其次,LoRa 采用星型的组网形式,终端与网关直接相连,易于维护与使用;最后,采用线性扩频调制技术的LoRa 物理层通过传输参数的不同选择可灵活调整数据传输速率.与以往的方法相比,在提升了传输距离的同时降低了功耗,实现了远距离、长电池寿命、大规模覆盖的数据传输[7].因此,LoRa 是一种非常有前景的通信技术,其潜力可满足众多不同的IoT 应用.
目前国内外的研究主要关注LoRa 物理层调制和MAC 协议且主要针对单一IoT 应用[8].虽然技术本身已非常成熟,但如何在单个LoRa 网络内支持异构多类型业务的传输需求研究仍涉及较少,因此优化LoRa 网络的整体性能使之能够适应日益增长的异构多类型业务的传输需求则显得尤为重要.首先,由于LoRa 物理层参数(例如带宽(BW),扩频因子(SF),编码率(CR)和传输功率(TP))组合众多.这些参数设置值直接影响网络的吞吐量、可靠性和通信范围[9].而静态配置物理层参数使得数据分组交付率(Packet Delivery Rate,PDR)较低[10],因此按照IoT 应用需求确定LoRa 物理层参数至关重要.其次,针对不同业务的数据分组大小、消息生成率和服务质量需求的差异(如数据负载大小从十几Bytes 到几百Bytes,消息生成率从每天一个数据分组到每分钟几个数据分组[11]),提升支持多业务需求的网络最大容量问题有待解决.最后,由于LoRa规范中的占空比限制,终端设备每小时只有36 s 处于工作状态,随着IoT 应用需求的增加,现有的吞吐量已经不能满足实际需求,针对异构多类型业务需求提高网络的吞吐量是目前LoRa 研究的热点之一[12].
基于上述分析,总结起来,本文的主要工作如下:
1) 通过实验分析了静态和动态部署对不同IoT 应用的性能影响,提出了一种基于模拟退火遗传算法(Simulated Annealing Genetic Algorithm,SAGA)的动态参数自适应配置策略,可在限制能耗的同时最大化LoRa 网络的容量和吞吐量.
2) 在LoRaSim 模拟器中实现了异构IoT 应用的数据传输需求.仿真结果表明,通信中使用动态方法对参数进行选择,本文所提的方法与传统ADR (Adaptive Data Rate)相比平均吞吐量提高了近25.6%.当数据分组错误率(Packet Error Rate,PER)控制在10%以内时,SAGA 与ADR 相比网络容量提升了1000 台左右.
3) 对超过1000 台设备的单网关LoRa 网络的运行结果显示,当每个设备分组生成率小于1/100 s 时,分组交付率(Packet Delivery Rate,PDR)可保证在90%以上.
1 基本原理
1.1 LoRa 帧结构
LoRa 通过使用基于啁啾扩频(CSS)的物理层调制技术实现长距离通信,终端设备与网络服务器的通信是通过网关完成的[13].终端设备使用显示模式发出上行信息,每个上行信息的数据分组包含以下内容:前导码(Pre)、物理帧帧头(PHY Header)、帧头校验码(CRC)、负载以及CRC 校验.图1所示为LoRa 的帧格式,LoRa 帧以前导码开始,前导码用于接收器和发射器之间的同步[14].前导码之后是物理帧帧头和帧头校验,共20 位字长,并且以最可靠的码率进行编码,而其余部分使用PHY Header 中指定的码率进行编码[15].传输PHY 负载所需符号数表示为:
其中,PL是以字节为单位的有效负载大小.如果启用ADR 机制,则DE为1,否则为0.
1.2 LoRa 物理层
LoRa 提供了一系列物理层参数,通过改变这些参数可实现变传输速率.LoRa 调制取决以下于几个参数:BW通常设置为125 kHz,250 kHz 或500 kHz,较小的BW会增加接收器的灵敏度,同时降低噪声,从而降低PER;SF通常设置为SF∈{7,8,9,10,11,12},较高的SF允许较长的通信范围,但增加了空中时间(Time-on-Air,ToA);CR从4/8 变化到4/5,较高的CR提供了更多的保护,从而产生较低的PER.这些参数还影响ToA,接收机灵敏度和信噪比(Signal Noise Ratio,SNR).表1给出了BW=125 kHz,PL=10 Byte 时,SF与各评价指标之间的关系.可以观察到ToA 随着SF呈指数增长,在提高接收器灵敏度的同时降低了比特率,从而允许更大的覆盖范围.
表1 SF 与启用CRC 模式各评价指标的关系
1.3 LoRa 物理层
LoRa 网络的链路层称为LoRaWAN,是基于物理层之上的MAC 层协议.它定义了3 个终端设备类,即Class A,B 和C[16].A 类设备针对功耗进行了优化,仅通过开启上行接收窗口来接收下行链路消息.除了为A 类设备定义的两个接收窗口之外,B 类设备在预定时间打开额外的下行链路接收窗口,其中时间与由网关发送的信标同步.C 类设备持续保持接收窗口打开,仅在发送时关闭窗口.LoRa 中的信道访问机制是纯ALOHA,其中终端设备访问信道时无需检查信道是否空闲,因此发生冲突的概率较大.图2所示为上行传输的主信道和下行信道.为了传输数据帧,每个终端随机选择一个主信道.收到帧后,网关发送两个ACK.第一个是在主信道中发送的,在帧被接收后的T1秒发送.在超时T2=T1+1 秒之后,下行链路信道中发送第二个ACK.如果终端没有收到ACK,则进行重传.第一个ACK 以低于传输数据速率的数据速率发送.第二个ACK 始终以固定数据速率发送,默认情况下为最低速率0.3 kbps[17].
图2 LoRaWAN 的信道访问
1.4 LoRa 网络架构
LoRa 网络的部署方式通常是星型的拓扑,网关直接从多个终端设备接收消息,并使用TCP/IP 协议与网络服务器通信[18].LoRa 定义了一种ADR 方案来控制LoRa 设备的上行链路传输参数,以便增加电池寿命和最大化网络容量.LoRa 设备通过在上行链路MAC 报头中设置ADR-flag 来开启使用该机制.当启用ADR方案时,网络服务器可以使用LinkADRReq MAC 命令控制LoRa 设备的传输参数.图3所示为异构IoT 的LoRa 网络架构图.
图3 异构IoT 的LoRa 网络架构
2 相关工作
由于LoRa 网络具有功耗低、传输距离远、组网灵活等诸多方面的优势,因此在IoT 业务和应用需求快速增长的领域内具有潜在的广泛应用前景.然而,目前国内外的研究主要关注LoRa 物理层调制和MAC协议且主要针对单一IoT 应用[8].虽然技术本身已非常成熟,但如何在单个LoRa 网络内支持异构多类型业务的传输需求研究仍涉及较少.因此,研究领域针对网络性能优化方面展开了研究工作,以求提升网络吞吐量,提高网络的可扩展性和增加网络容量.
Adelantado 等阐述了基于LoRa 的IoT 应用案例的特性和局限制[19],将LoRa 应用于智能运输和物流等领域.Reynders 等[20]提出一种SF 分配机制,通过保证每个子网的流量负载平衡,以此来增加网络的容量.Cuomo 等提出了EXPLoRa-TS 启发式方法[21],每个设备根据其应用需求,以不同的方式传输可变数量的数据,以此来提高LoRa 网络的可扩展性.Cuomo 等又提出了2 种混合式算法EXPLoRA-SF 和EXPLoRAAT[22]进一步评估消息生成速率对网络可扩展性的影响.但上述研究中没有涉及不同的IoT 应用需求,其模拟中使用的参数局限于SF12 和SF7,并没有考虑到BW 和CR 以及TP 等参数变化的影响.
Haxhibeqiri 等提出了一个基于干扰测量的仿真模型来评估LoRa 的可扩展性[23].研究指出对于不同的IoT 应用,重要的是要知道平均每小时可以发送多少个数据分组,即消息生成速率.Lavric 等在对数据速率和终端设备的密度进行了模拟,以确定不同IoT 应用的可扩展性[24].Prajanti 等[25]计算自2018年起未来5年终端设备数量的增长情况,并通过所建立的模型推导出当数据传输成功率(Packet Success Rate,PSR)大于0.9 时,终端设备具有最佳性能.但上述研究中没有考虑数据负载和消息生成率变化,这对于异构IoT 应用的LoRa 网络性能研究具有一定的局限性.
Sandoval 等[26]通过对基于LoRa 的IoT 节点进行建模,得出了最佳的传输策略.该策略可以按事件的重要性优先级最大化上传数据分组,但确忽略了电池消耗.因此,极大降低了这种传输策略在电池供电的物联网部署中的有效性.此外,一旦计算出传输策略,便会将其下载到IoT 节点,并且不再更改.相反,我们的方法是通过在资源受限的设备中计算策略推导过程,从而让IoT 设备更新推导的最佳策略.
Tunc 等[27]采用了一种不同的方法来得出传输策略,研究旨在对能量收集传感单元进行建模.该单元必须确定报告事件的速率,以防止节点快速耗尽其电量,而并不是找到传输的最佳配置.尽管提出了详细的能量收集和消耗过程的数学模型,但作者假设只有一个有效的传输设置.这不满足能量消耗取决于传输配置的物联网设备的性质,因此无法将其广泛的应用于异构物联网部署.
对于LoRa 相关研究的实用性和性能分析,领域内主要采用的方法包括仿真实验和真实场景的部署.相比而言,由于LoRa 参数配置和组网的简单性,采用仿真的方法代价低,且实用有效.因此通过对LoRaSim网络模拟器进行扩展,用于在实际部署之前评估异构IoT 应用的数据传输需求,而无需现场测量.LoRaSim是由Bor 等开发的LoRa 网络模拟器,用于评估大规模LoRa 网络的可扩展性[10].Zhu 等用LoRaSim 评估网络之间干扰对LoRa 网络性能的影响[13].Li 等实现了LoRaSim 的扩展版LoRaWANSim,增加了支持双向通信的MAC 层协议的功能[16].Oh 等用LoRaWANSim证明了LoRa 网络中的ADR 机制缺乏适应不断变化的链路条件[17].
本文受到以上研究工作的启发,针对现实场景中不同IoT 业务需求接入无线网络其通信模式和数据生成速率不同.全面地考虑了传输参数、数据负载、消息生成速率等因素在异构 IoT 应用上对网络容量和吞吐量的影响,提出了一种基于SAGA 的传输参数自适应配置策略,在能耗约束的条件下可实现对多种异构业务的数据传输需求,并可提高单网关网络可支持的终端设备数量和数据吞吐量.
3 系统模型
LoRa 网络性能由许多关键因素决定,包括BW、SF、CR、TP、PL和λ(消息生成速率)等参数,这些参数还影响信道上可能发生的冲突数量.大多数情况下,冲突产生的原因是由于设备同时上传数据且使用相同的通信参数.为了满足更多的异构IoT 应用需求,LoRa网络的容量和吞吐量研究至关重要.
在模型中,我们考虑了捕获效果:当两个使用相同SF 的数据分组同时到达信道,较强信号比较弱信号高出某个阈值时,捕获效果会导致较强的信号抑制较弱的信号,从而接收成功具有较强信号的数据分组.性能评估模型表示如下:
节点的性能(γ)计算为每秒上传的优先字节的预期数量,gi表示上传信息的优先级,PDR表示成功接收到的概率,Li表示第i个数据分组的负载大小.由于节点被认为会生成两个不同优先级(i∈{1,2})的事件,每个事件都有特定的事件生成概率,若想以发生概率为感测到类型为i的事件,终端必须处于可传输状态,即不在占空比所限制的时间内.因此表示为:
确定节点处于P(可传输)状态的概率取决于传输参数所决定的时间(T)和能耗(Ci)以及占空比(DC)限制.
性能评估模型最终表示如下:
能量消耗模型定义为:
4 传输策略实现
一旦以数学方式计算出节点的吞吐量和功耗,就可以确定最大值问题.传输策略S由集合(CR1,CR2,SF1,SF2,TP1,TP2,L1,L2)定义报告两种类型的事件时使用的配置.因此,目的是要找到使 γ 最大化的S同时将 ω保持在ωmax(25 mv)以下.式(6)定义了该最大化问题.
约束条件为:
PDR的定义与数据分组的发送成功率(Pse)和网关的接收成功率(Pre)有关,表示如下所示:
两个相同SF的数据分组同时到达同一信道会引起冲突,因此导致数据分组丢失.具有相同SF的碰撞,推导出具有相同SF至少发生一次碰撞的概率,如式(9)所示:
Ti表示数据分组的空中时间,L表示分组负载,Rb是比特率,空中时间定义如下:
Rb是由SF、BW、CR决定的数据速率(比特率).
为了确定网关是否正确地接收到分组,网关计算与分组相关的接收信号强度指示符(RSSI),并与网关处使用的LoRa 接收器的灵敏度阈值进行比较.接收的RSSI计算如下:
在接收器侧,通信范围受灵敏度阈值Srx的限制,RSSI受LoRa 参数SF、BW和CR的影响.RSSI>Srx时,则接收成功,网关接收成功率表为:
约束条件中的变量(BW,CR,SF和TP)采用离散值,使得方程具有NP 难组合优化问题,针对两种数据分组类型具有254 016 (16CR×9BW×36SF×49TP)个不同的有效配置.因此我们选择遗传算法(GA)和模拟退火算法(SA)来解决优化问题.GA 的优点体现在对可行解表示的广泛性上,它处理的对象并不是参数本身,而是通过参数集进行编码得到的基因个体,并且能同时处理种群中的多个个体.SA 的优势体现在实现简单并且在计算资源方面减少了需求,因此,非常适合资源受限的IoT 设备.SA 的优化机制是通过赋予搜索过程一种时变和最终趋于零的概率突变性,来避免陷入局部极小而达到全局最优;GA 则通过概率意义下的“优胜劣汰”思想的群体遗传操作实现优化.之前的研究中我们采用GA 的机制提高了PDR,与SA 相比在PDR上有一定的优势.但是关于计算时间,本文所提出的基于SAGA 的实现比GA 快两倍以上(TSAGA=4.3 s,TGA=9.4 s).对于本文的性能评估模型来说,能耗也是首要考虑的因素.通过对两种优化机制进行融合,SAGA 算法不但可以保证PDR的精度,而且在一定程度上提高了算法的搜索能力和效率.
整个算法的流程如下所示:
(1) 初始化算法参数,设定退火算法的初始温度Tk=inf,进化代数K=0.
(2) 生成遗传算法的初始群体Si,该种群为参数配置方案的可行解集合.
(3) 利用遗传算法,对Si进 行交叉操作得到Si′.
(4) 通过适应度函数计算pcol和Pre.
(5) 计算退火增量,Δ=PDR(Si)−PDR(Si′),若Δ<0则接受Si′为下一代种群,否则以概率接受Si′,若Si′被拒绝接受,则重新进行步骤(3),生成新的种群.
(6) 温度更新函数,Tk+1=λTk,Si+1=Si′,k=k+1,其中0 <λ<1是模拟退火参数算法.
(7) 判断是否满足结束条件,如果不满足,转向步骤(3)以Si+1作为进化的初始种群,如果满足终止条件,则输出当前的最优个体.
算法得出了在能耗限制下的具有最优PDR的传输参数S,因此来对约束条件中的各项参数值的性能(容量、吞吐量、能耗)评估.
5 IoT 场景假设与性能分析
在本节中,首先假设一些典型的IoT 应用场景;其次分析了负载大小和消息生成速率变化对网络性能的影响,在模拟器LoRaSim 中实现了可以在不同负载、消息生成速率和通信参数下对网络容量和吞吐量都有提升的动态传输参数自适应配置策略.
5.1 场景假设
不同IoT 应用的数据负载大小和消息生成率是不相同的,本节对不同应用的负载大小和消息生成速率做了一些假设,作为可供选择的更广泛的IoT 用例.
5.1.1 不同负载大小应用场景假设
将考虑产生不同LoRa 负载大小的几种类型的应用:(1) 诸如温度传感器等简单传感器设备,通常小于15 字节的消息;(2) 对于设备可以同时监测空气温度,湿度等数据的传感器,消息长度介于15 和60 字节之间;(3)用于高级传感器(如图像传感器)的长消息,通常在100 字节左右.
5.1.2 不同消息生成率场景假设
(1) 智能仪表用例作为每天传输一个数据分组的IoT 应用.假设智能电表,燃气或水表将每日仪表读数传输到服务器上.如果所有智能表同时传输其读数,则存在非常高的冲突概率.因此,我们假设上传数据之前等待一段随机时间,使用在[0,3600]内的均匀分布的随机时间间隔来延迟数据分组传输.
(2) 智能垃圾桶用例作为每天传输几个数据分组的应用.通过给垃圾桶安装智能载量传感器去感知箱体的剩余高度,监测间隔可根据场景不同自行设定,将监测到的数据(例如:垃圾增长量,回收次数等)通过LoRa 网络回传至服务器进行功能分类,根据GIS 地图还可以计算出合理的回收路线.我们将上传数据的行为作为泊松到达过程,其中λ=30 min.当在规定时间内监测到状态更新,数据分组就会传输到服务器.
(3) 智慧农业用例作为每天传输一些数据分组的应用.将温、湿度以及盐碱度等环境数据透过传感器定期上传,这些信息可以有效帮助农业提高产量以及减少水资源的消耗.我们将上传数据的行为作为泊松到达过程,其中λ=10 min.因为环境条件没有太大改变,只需要设备每小时更新几次感测数据.
(4) 城市中的智能街道停车作为每天传输大量数据分组的用例.使用泊松过程对汽车的到达和离开进行建模.假设每当停车位可用时,它在5 min 内被占用,因此占用停车位的λ=5 min.每当停车位的状态改变数据被发送到服务器以维持停车信息.
5.2 性能分析
5.2.1 负载大小对网络容量的影响
首先分析不同参数设置下对负载大小的影响.SN1、SN2 和SN3 为静态部署,图4中SN1={SF7,BW=500 kHz,CR=4/5},分析此设置是因为它具有最快的数据速率(最短ToA).SN2={SF12,BW=125 kHz,CR=4/8},分析此设置是因为它具有最慢的数据速率(最长ToA),但提供了较高的抗干扰能力.SN3={SF12,BW=125 kHz,CR=4/5}为LoRa 网络中默认参数配置.为了重点研究负载大小对网络容量的影响,此阶段λ=1800 s.由图4可得,在终端设备为200 的条件下,动态参数选择的PDR比静态设置有显著提升,尤其在负载较大时(当负载达到80 字节),比静态设置SN2 提高了30%左右,结果清楚地表明对参数动态分配策略的需求.即使在动态方法条件下,负载大小为80 字节和10 字节相差达到将近15%,因此负载大小在网络性能评估时是一个不可忽略的重要因素.
图5箱线图为200 台终端设备使用我们所提出的异构网络部署方法下,模拟的10 次不同负载大小的平均PER,从图中可以直观看出PER的最大值和最小值以及平均PER的分布情况.
图4 不同参数选择条件下的PDR 与负载的关系
图5 不同负载下的平均PER
图6所示为基于SAGA 方法发送的数据分组的负载大小为20 Bytes,40 Bytes,60 Bytes 和80 Bytes 条件下与PER的关系.从结果中可知,对于10% (Prajanti等建模得出的终端数量最优分布的PER阈值)的PER,当使用80 Bytes 的有效负载时,网络集成了250 个左右的终端设备.60 Bytes 集成500 个终端设备,40 Bytes集成约750 个终端设备,而20 Bytes 的有效负载,LoRa网络架构中的最大终端设备数量大约为1750 个.
5.2.2 消息生成速率对网络容量的影响
图7中描述了4 种不同消息生成速率下每种SF配置的冲突概率,得出参数传输策略的选择在对异构IoT 部署的PER影响较大的结论.
图8所示为不同的参数设置条件下异构IoT 应用场景的PDR的对比情况.SN1 是具有最长ToA 的设置,SN2 是具有最短ToA 的设置,SN3 是LoRa 默认的参数设置.在终端设备为200 条件下,SN3 和动态参数设置方法具有相同的趋势(终端设备较大时,2 种设置差异较大),而SN1 和SN2 随着负载和消息生成速率的增加,PDR逐渐降低,且消息生成速率越小对SN1和SN2 的影响越大.在不同的消息生成速率下,动态网络部署也展现出了良好的优势,因此使用动态部署方案来提升异构IoT 网络容量.我们希望模拟出在单个网关下能够支持的最大终端设备数量,而保证PER在一定阈值内.设置不同的消息生成周期的情况下,较小的消息生成速率使得单个网关所能连接的终端数只能限制在几百个,导致网络容量降低.
图6 负载对网络容量的影响
图7 不同SF 和消息生成速率下的PER
5.2.3 提升LoRa 网络容量
图9比较了PDR与流量强度的函数关系(即AP从1 分钟到40 分钟).降低流量强度可减少数据分组丢失,从而提高PDR.异构部署具有更好的PDR,因其可以根据异构IoT 应用需求计算出最佳传输策略,SF12部署由于其较长的数据分组持续时间和较低的频谱效率而呈现较低的PDR.
图10所示为2 种不同方法的IoT 应用随终端设备数量增加对PDR的影响,同样是2000 个终端设备,在负载大小为100 字节时,SAGA 和ADR 方法的数据分组丢失率相差36%.在45 字节/秒的流量负载下,ADR 方法在75%PDR下可以支持2000 台设备,SAGA在94%PDR下可以支持2000 台设备;ADR 方法在99%PDR时只能支持100 台设备,而SAGA 在98%PDR下可以支持1000 台设备.当PER控制在10%以内时,我们的方法和ADR 相比的最大网络容量限制在2000 台和1000 台左右.
图8 4 种IoT 应用场景下的PDR 比较
图9 1000 台终端设备下的不同传输策略下的PDR
图11说明了与SA 方法相比,通过该方法针对不同的PDR所实现的能耗有所降低.可以看出,当PDR为95%时,电池消耗降低了47%.此外,当PDR从70%提高到95%,而电池消耗仅增加36%.因此,使用所提出的方法,仅在电池消耗量略有增加的情况下,就可以显着提高用例中的网络容量.
图10 不同方法下的网络容量比较
图11 不同PDR 下的能耗值比较
5.2.4 提升LoRa 网络吞吐量
图12比较了异构网络部署和随机部署以及使用SF12 方法的吞吐量情况.当流量强度降低时,吞吐量降低.对于高流量强度(例如1 分钟的应用周期),我们所提出的异构部署方法可提供每秒10 个数据分组的吞吐量,而其他策略的吞吐量则小于每秒2 个数据分组.
随着消息生成速率(packet/s)的增加,为满足高流量强度IoT 应用的需求,对PDR进行了评估.本文所采用的方法中,SF的分布情况为:∂7=0.45,∂8=0.25,∂9=0.145,∂10=0.08,∂11=0.04,∂12=0.024.1000 个终端设备分布在一个圆形网关范围内,为了说明本文方法的有效性,对比了2 种其他方法.图13显示了不同的策略对PDR产生的影响:图中圆线为ADR 机制分配;图中方块线为EXP_AT 方法;图中三角形线为基于SAGA的面向异构IoT 应用的动态配置策略.消息生成速率从每小时产生1 个消息增加到每秒产生10 个,对于每秒小于0.01 个数据分组的负载,本文所提出的方法PDR可保证在90%以上.且当消息生成速率大于每秒1 个时,EXP_AT 和ADR 的PDR 迅速下降.
图12 1000 台终端设备下的不同传输策略下的消息生成速率
图13 不同方法消息生成速率的PDR 关系
图14以箱形图表示了最终获得的结果.由于最终节点的性能受其配置(即生成的数据分组长度,事件发生率)支配,因此无法将在一种情况下获得的性能值与在其他情况下获得的性能值直接进行比较;使用解决方案SAGA 与ADR 机制相比,可以将吞吐量提高25.60%(从32.40 字节/s 提高到40.7 字节/s),与SA 机制相比较提高了2.7%.随机选择传输参数方法(具有最差性能值)将导致吞吐量差异达到65%.这些结果展现了我们所提出的基于SAGA 的动态参数传输策略在吞吐量上的优势.
图14 不同方法下的吞吐量值比较
6 总结
本文针对单一IoT 应用已不满足日益增长的异构多类型业务的传输需求的问题,提出了一种基于SAGA的动态参数自适应配置策略.首先解决可配置参数利用率低的问题;其次在数据负载和消息生成速率变化时,提升多类型业务异构应用场景中LoRa 网络的容量和吞吐量;最后在模拟器LoRaSim 中验证所提方法的有效性.实验结果表明,对于不同IoT 需求,动态参数配置使LoRa 网络PDR提高近20%,有效提升了网络的性能;在45 字节/s 的流量负载下,ADR 方法在99%PDR时只能支持100 台设备,而SAGA 在98%PDR下可以支持1000 台设备.当PER控制在10%以内时,本文所提方法提升了异构IoT 应用的网络容量近1000 台左右,仅在电池消耗量略有增加的情况下,就可以显着提高用例中的网络容量.使用解决方案SAGA 与ADR机制相比,可以将吞吐量提高25.60%.因此在限制能耗的同时有效的提升了具有异构业务需求LoRa 网络的容量和吞吐量.