0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LoRaWAN网络服务器算法--下行路径选择算法对比与仿真(下)

利尔达科技集团 2024-02-19 12:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

LoRaWAN 网络是典型的星型架构网络,但单节点的广播数据也可以同时被多个网关收到并同时上报NS服务器,对于此消息有下行需求时,需要通过NS服务器的下行网关选择算法,选择合适网关进行下行。

一个健全的算法需要考虑到不同网关的网络延时、空口负载、信号质量及任务队列选择最优网关进行下行,确保下行消息可靠送达并使整体网络负载趋于均衡。

利尔达的下行选择算法也随着NS服务器的更新在不断迭代升级,我们在上篇中对两种常用的算法进行分析描述,今天将继续通过仿真一起看看各种算法在实际应用场景中是如何表现的。

现有算法缺陷及优化算法提出

算法一:信号质量优先法

算法简化流程图如下:

6be3c124-cede-11ee-9118-92fbcf53809c.png

缺陷:

1、该算法仅以信号质量作为选择标准,NS可以选择出距离节点最近的网关,但是没有考虑网关网络延迟,若选择的网关为4G网关,网络波动严重,将产生大量下行丢包。

2、未考虑网关上行负载情况,遇到第三章中所述的负载问题时也无法进行有效处理。

算法二:影响因子得分加权法

算法简化流程图如下:

6c5d9fc6-cede-11ee-9118-92fbcf53809c.png

缺陷:

1、遇到第三章中所述的上下行链路不对等问题时,算法可能因为其他网关的网络延迟及通信负载较好而选择极远处网关下行而导致丢包

2、经过模拟测试,网关网络延迟大于450ms时,任何下行数据都将失败,使用权重来考虑该因素并不合理。

3、其实该算法的几个权重值都很难定夺,任何的影响因子出现较为极限的情况时,都会使最终得分有失合理性,很难通过权重值平衡各种极限情况。

算法三:利尔达Unicore 3.0 下行选择算法
考虑到现有算法的缺点并结合实际应用场景可能遇到的问题,现提出一种新的解决办法,由于核心部分涉及公司机密,故简单介绍其特点如下:
1、充分进行网络负载均衡,保证网络内所有网关的下行负载处于健康状态,面对个别网关网络拥堵的状况时可以很好地将任务均分给附近网关。
2、网关的下行充分考虑下行质量,所有的下行保证处于安全边际内,不会因为个别因素的影响而选择信号质量在安全边际外的网关下行。保证上下行链路双向可达。
3、可以处理较大的网络波动,保证选择的下行网关不受网络波动影响。

算法仿真

基于Python实现上述三种算法并对实际应用场景进行图形化建模,用以分析算法的执行情况。效果图如下:

6c816794-cede-11ee-9118-92fbcf53809c.png

该算法仿真基于以下原理与假设:

1、在1*1的正交坐标轴内以随机生成或手动指定的方式确定网关数量及坐标位置。网关位置以红色三角进行标注

2、网关属性包含上行负载及下行负载,每个网关的上行负载可手动设定,且为静态值,与下行负载没有任何直接联系。网关的下行负载在仿真算法中动态计算,网关每处理一个下行请求都会累加下行负载

3、坐标轴1*1区域内以均匀分布的方式随机生成指定数量的坐标点,代表有下行需求的节点,坐标点与网关的距离代表上行信息的信号质量,距离越远信号质量越差。

4、无需考虑实际环境中建筑、树林等遮挡物带来的信号衰减,因为坐标轴内的点位置即代表上行信号质量,并非现实中的节点位置。

5、每随机生成一个下行需求点,运行指定的下行选择算法,选择出最优网关下行后,该网关下行负载增加,并将该点以该网关对应的颜色标注在坐标轴内。

6、不考虑下行速率及TOA时间,将网关的上下行通信占空比抽象为简单的数值,每有一个下行请求,网关下行负载+0.1。

7、假定下行点数量即为周期时间内整个系统需要处理的下行请求,且网关计算动态负载的周期与这个周期时间一致。因此增加点数量即为模拟更高频次的下行请求,且代码中动态负载只需累加即可无需循环计算。

8、为简化算法模拟过程,假定周期时间都所有网关的网络延时均正常。

8、处理完所有点的下行请求后坐标轴内会显示大量着色节点,代表单位时间内对应网关处理的下行请求。

9、代码运行结束后各网关的上下行负载情况会以表格的形式打印出来。

算法对比

手动设定网关位置及各网关上行负载,模拟出常规及各种特殊情况,对比三种不同算法的表现,验证算法效果。

算法一:信号质量优先法

算法二:影响因子得分加权法

算法三:利尔达Unicore 3.0 下行选择算法


【常规情况】

条件:下行请求数量1000 / 网关数量3 / 随机分布 / 网关上行轻负载

6c96684c-cede-11ee-9118-92fbcf53809c.png

结果:算法一无负载均衡;算法二负载均衡效果差;算法三负载均衡效果佳

结果分析:

算法一算法二在网关分布均匀且个网关上行负载无明显差距的情况下,呈现的效果类似,基本是按照就近原则择优,图上可以看到明显的三条明显的分界线,即网关两两连线的中垂线。最终的网关上下行负载都不是很均匀。

算法三中无明显边界线,距离网关较近处的节点选择下行时较为灵活,点位分布存在交叉区域,而较偏远的点则选择了信号质量最好的网关下行。网络负载也做到了很理想的均衡。

【部分网关位置较偏远】

条件:下行请求数量1000 / 网关数量3 / 随机分布 / 网关上行轻负载 / 网关分布不均匀

6cc98470-cede-11ee-9118-92fbcf53809c.png

结果:算法一无负载均衡;算法二负载均衡效果差、部分下行可能丢包;算法三下行质量可靠、负载均衡效果尚可。

结果分析:

该情况下选取的三个网关位置中,两个的位置较偏远。由于下行行请求散点是均匀分布,难以按照设想随意调整分布密度,因此改变网关位置其实相当于改变下行请求的分布情况。该情况下下行请求主要集中于中央网关的附件,下面看下三种算法对于这种情况的处理。

算法一由于仅判断信号质量,在下行请求分布不均匀时,下行负载严重不均衡。

算法二可以注意带红圈标注处的情况,由于网关负载在加权求和的算法中占有一定权重,因此当右上角网关负载较小时,得分较高。红圈内的绿色点即是因此原因被分配给了该网关来下行。然而这么偏远位置的节点本身信号质量已经很差,还要选择非最近网关下行,很可能遇到第三章所述的上下行不对等问题,而导致下行失败。且由最终的下行负载情况可以看出负载分布也是差距悬殊。若调整网关负载所占的得分权重,调大则上下行不对等问题更加明显,调小则负载分布更加不均匀。存在一定的局限性。

算法三中右上角网关自身附近的下行请求较少,但是算法给他分配了大量中间网关附近的下行请求,最大程度地帮助整个系统分担下行负载。并且该网关仅响应自己安全边际内的下行,对于偏远点全部交由最近的网关处理以保障通信成功率。最终的下行负载情况虽然没有做到完全均衡,但是优于前两者。

【某网关负载较重情况】

条件:下行请求数量1000 / 网关数量5 / 随机分布 / 单网关上行重负载 / 网关分布较均匀

6ceb6978-cede-11ee-9118-92fbcf53809c.png

结果:算法一无负载均衡;算法二负载均衡效果差;算法三负载均衡效果好。

结果分析:

这是一种较为常见的情况,区域内分布了五台网关,最右侧网关覆盖的节点较多,且上行负载较大,设定值为17.5%,主要关注各算法对这个高负载网关的处理。

算法一仅判断信号质量,不判断负载情况,最右处网关在已有17.5%的上行负载时依然需要处理26.9%的下行负载。

算法二在上一个模拟场景中暴露出负载权重过大的缺陷,本场景中未改变负载权重。可以看出相对于算法一,算法二由于网关负载在加权求和的算法中占有一定权重,已经起到了一定效果,将网关4的下行负载降低了一些,但是在该场景下,相对于上个场景反而显得负载的权重太小,无法处理好大负载网关。

算法三中可以看到左侧的网关都向右分担了更多的下行任务,最终网关4的下行负载仅为12.9%,相比于其他算法有明显提升。

总结

综合以上仿真结果——

算法一由于为考虑网关负载情况,在负载均衡的处理上完全由节点与网关的位置决定,虽然能保证从信号最优网关下行,但是缺点在于无法做到负载均衡。

算法二在将考虑到了各类影响因素,设定不同的权重进行加权求和,看似可以通过权重因子的调节灵活地调整算法以应对各种情况,但是在仿真的模拟情况二和情况三中,使用相同的权重,却暴露出相反方向的问题,也就是说权重因子无论如何调节都无法同时处理这两种情况。并且在负载均衡方面算法二也仅是相对于算法一有一点点提升。

算法三在上述模拟情况及其余大量随机测试中没有暴露出问题,算法从设计角度已经保证了远处节点可以得到最佳网关的响应,并且在负载均衡方面拿出近处节点灵活分配,最大程度的做到负载均衡。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    13

    文章

    10094

    浏览量

    90874
  • 网络服务器
    +关注

    关注

    0

    文章

    33

    浏览量

    11430
  • lorawan
    +关注

    关注

    3

    文章

    373

    浏览量

    25164
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    飞凌嵌入式ElfBoard-常用的网络服务的搭建之TFTP服务搭建

    ,还需要在主机安装TFTP服务端,可以在 Linux系统实现,也可以在Windows系统实现,下面在Linux(ubuntu)系统安装TFTP
    发表于 10-21 11:29

    结合AI算法的边缘计算服务器,在城市管理场景有什么作用?

    在智慧城市建设的棋盘上,边缘计算服务器正成为激活全城AI细胞的"神经突触"。当算法模型走出数据中心,通过边缘计算服务器、边缘计算盒子、边缘计算网关和智能监控摄像头在街道转角、路灯
    的头像 发表于 10-17 15:31 238次阅读
    结合AI<b class='flag-5'>算法</b>的边缘计算<b class='flag-5'>服务器</b>,在城市管理场景有什么作用?

    【干货】一文带你读懂什么是 LoRaWAN 网络架构

    基础LoRaWAN是LoRa联盟制定的基于LoRa的低功耗广域网,采用星型拓扑结构,能提供低功耗、可扩展、安全的长距离无线连接。其体系结构主要由终端设备、网关、网络服务器和应用服
    的头像 发表于 09-04 19:34 1009次阅读
    【干货】一文带你读懂什么是 <b class='flag-5'>LoRaWAN</b> <b class='flag-5'>网络</b>架构

    教你如何手搓一个树莓派网络服务器

    使用树莓派的定义和好处网络服务器是指利用HTTP及其他协议进行数据传输,处理通过万维网提交的客户端请求的软硬件组合。网络服务器的主要功能是存储、处理并向客户端(通常是网页浏览)传送网页。客户端
    的头像 发表于 07-12 08:23 371次阅读
    教你如何手搓一个树莓派<b class='flag-5'>网络服务器</b>!

    【教程】LoRaWAN节点模块如何接入LoRaWAN网络并实现通信?

    使用E870-L470LG12)•Windows电脑一台软件:•串口助手•LoRaWAN服务器(这里使用公网测试服务器TheThingsNetwork)二配置服务器首先在TheThi
    的头像 发表于 05-29 19:33 1210次阅读
    【教程】<b class='flag-5'>LoRaWAN</b>节点模块如何接入<b class='flag-5'>LoRaWAN</b><b class='flag-5'>网络</b>并实现通信?

    服务器和独立服务器的区别在哪?一文读懂如何选择

    面对云服务器与独立服务器选择,许多人常因概念模糊而纠结。云服务器和独立服务器的区别在于资源分配方式、扩展性及成本结构,
    的头像 发表于 05-19 10:19 444次阅读

    树莓派 VPN 服务器搭建指南(2025版):守护您的在线隐私!

    VPN服务器(虚拟专用网络服务器)是一种系统,允许设备通过互联网安全地连接到私有网络。它在客户端(如您的笔记本电脑或手机)与服务器之间创建一个加密隧道,保护您的数据免受窃听,并确保隐私
    的头像 发表于 05-16 15:31 2662次阅读
    树莓派 VPN <b class='flag-5'>服务器</b>搭建指南(2025版):守护您的在线隐私!

    如何选择 边缘计算服务器

    边缘计算服务器选型指南(2025年更新版) 一、明确应用场景需求 场景细分‌ 工业控制、自动驾驶等需‌毫秒级响应‌的场景,优先选择集成多核处理(如Xeon D系列)和实时算法加速模块
    的头像 发表于 05-06 07:58 522次阅读
    如何<b class='flag-5'>选择</b> 边缘计算<b class='flag-5'>服务器</b>

    PTP服务器与NTP服务器对比分析

    随着网络技术的发展,时间同步在各个领域中的重要性日益凸显。在众多的时间同步解决方案中,PTP(精确时间协议)服务器和NTP(网络时间协议)服务器是两个常见的
    的头像 发表于 04-27 17:15 1021次阅读
    PTP<b class='flag-5'>服务器</b>与NTP<b class='flag-5'>服务器</b>的<b class='flag-5'>对比</b>分析

    爱普生有源晶振SG2016VHN在网络服务器中的应用

    在数字化浪潮席卷全球的当下,网络服务器作为数据存储、处理与传输的核心枢纽,其性能的稳定与高效直接关系到整个网络生态的正常运转。从企业内部的数据管理,到互联网服务提供商的大规模数据运算,网络服务
    的头像 发表于 04-15 15:54 475次阅读
    爱普生有源晶振SG2016VHN在<b class='flag-5'>网络服务器</b>中的应用

    爱普生有源晶振SG2016VHN:网络服务器时钟解决方案的卓越之选

    在当今数字化时代,网络服务器作为信息处理与传输的核心枢纽,其性能与稳定性直接关系到企业运营、数据交互以及用户体验的优劣。而时钟信号作为服务器运行的“心跳”,对于确保数据同步、网络通信以及高速处理任务
    的头像 发表于 03-16 16:42 752次阅读

    服务器需要网络吗?怎么设置

    需要。云服务器的运行依赖于网络连接,以确保用户能够通过互联网远程访问和管理服务器资源。网络设置是云服务器配置过程中的重要环节,它涉及到IP地
    的头像 发表于 02-21 10:25 802次阅读

    安信可Ra-08H-P模组入网LoRaWAN网络的应用

    文章目录 一、硬件准备 1.1 硬件准备 1.2 接线说明 1.3 固件烧录说明 ●模组烧录操作 二、服务器控制平台操作 2.1 配置网关对接内容 2.2 配置网络服务相关参数 2.3 创建节点
    的头像 发表于 02-19 14:20 658次阅读
    安信可Ra-08H-P模组入网<b class='flag-5'>LoRaWAN</b><b class='flag-5'>网络</b>的应用

    安信可Ra-08H-P模组接入LoRaWAN网络的应用实践

    文章目录 一、硬件准备 1.1 硬件准备 1.2 接线说明 1.3 固件烧录说明 ●模组烧录操作 二、服务器控制平台操作 2.1 配置网关对接内容 2.2 配置网络服务相关参数 2.3 创建节点
    的头像 发表于 02-11 09:42 770次阅读
    安信可Ra-08H-P模组接入<b class='flag-5'>LoRaWAN</b><b class='flag-5'>网络</b>的应用实践

    新加坡云服务器网络中断的常见原因有哪些

    此类问题。 服务器硬件故障:服务器本身的硬件出现问题,如CPU、内存、硬盘或电源等故障,会影响服务器的正常运行,进而导致网络中断。比如硬盘损坏可能导致系统无法启动,从而无法提供
    的头像 发表于 01-13 17:03 1174次阅读