跨组织环境下 MQTT 桥接架构的评估

论文标题

中文标题: 跨组织环境下 MQTT 桥接架构的评估
英文标题: Evaluation of MQTT Bridge Architectures in a Cross-Organizational Context

作者信息

Keila Lima, Tosin Daniel Oyetoyan, Rogardt Heldal, Wilhelm Hasselbring
Western Norway University of Applied Sciences, Norway
Email: {keila.lima, rogardt.heldal, tosin.daniel.oyetoyan}@hvl.no
Kiel University, Kiel, Germany
Email: hasselbring@email.uni-kiel.de

摘要

本文对物联网(IoT)平台中使用的 MQTT 桥接架构进行了初步研究,重点关注实时数据处理的基准配置选项。研究识别了系统组件部署中的相关 MQTT 可配置参数和指标,并以一个真实世界的 IoT 平台为基准,评估了在跨组织环境中数据传输的延迟和可靠性。研究结果表明,桥接组件的数量、MQTT 数据包大小和主题名称会对使用 MQTT 协议的 IoT 架构的质量属性产生影响。

1. 引言

随着 IoT 设备数量的快速增长(预计到 2025 年将达到 160 亿台),数据作为服务的提供方式变得越来越普遍。然而,这种跨组织的数据共享带来了互操作性和信任边界等问题。MQTT 协议作为一种轻量级的发布/订阅通信协议,被广泛应用于 IoT 系统中。本文研究了在跨组织环境中,MQTT 桥接架构的部署选项对延迟和可靠性的影响,并评估了主题名称和负载大小对性能的影响。

2. MQTT 在 IoT 架构中的角色

IoT 架构通常分为感知层、网络层、处理层、应用层和业务层。MQTT 协议因其轻量级和可靠性而被广泛应用于网络层。MQTT 采用发布/订阅模型,支持三种服务质量(QoS)级别:最多一次(QoS 0)、至少一次(QoS 1)和恰好一次(QoS 2)。本文还讨论了 MQTT 桥接架构的三种部署选项:单个代理、代理集群和代理桥接。

3. 方法论

本研究采用基准测试方法,评估了两种 MQTT 桥接架构部署选项(AUT 1 和 AUT 2)在跨组织环境下的延迟和可靠性。实验设置包括数据提供者、源代理、转换器(桥接组件)、目标代理和数据消费者。实验中考虑了不同的主题名称、QoS 级别和负载大小。实验使用真实传感器数据生成负载,并在不同的网络环境中进行测试。

 

4. 结果与讨论

实验结果显示,较小的负载大小(如 1.5 KB)在 QoS 0 级别下可以可靠传输,而较大的负载大小(如 35 KB 和 125 KB)则会遭受较高的消息丢失率。对于所有负载大小,QoS 1 和 QoS 2 级别在延迟和可靠性之间存在权衡。AUT 1 架构(每个数据提供者部署一个桥接组件)在延迟方面表现更好,而 AUT 2 架构(每个传感器中心部署一个桥接组件)在小负载大小下表现出更高的可靠性。此外,主题名称的长度对延迟有一定影响,但这种影响相对较小。

5. 有效性威胁

本文讨论了研究的构建有效性和可靠性。实验中使用了端到端延迟作为延迟指标,并通过在不同网络环境中部署客户端和代理来评估消息丢失情况。实验重复了 10 次以减少云基础设施和网络变化的影响。然而,由于实验仅考虑了有限的负载大小和部署选项,因此无法推广到其他配置。

6. 相关工作

本文回顾了其他关于 MQTT 性能评估的研究,这些研究主要关注 MQTT 代理的延迟、可扩展性和 QoS 级别。与以往研究不同,本文引入了主题名称长度作为基准参数,并使用真实传感器数据进行测试。此外,本文还讨论了网络局部性和负载大小对 MQTT 性能的影响。

7. 结论与未来工作

本文得出结论,MQTT 的负载大小和 QoS 级别对延迟和可靠性有显著影响。对于小负载大小,QoS 0 级别可以实现可靠传输,但对于大负载大小,应避免使用 QoS 0 级别。未来的研究可以进一步探索不同负载大小和网络条件下的 MQTT 性能,并考虑数据传输的能效作为质量属性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/962791.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Baklib揭示内容中台实施最佳实践的策略与实战经验

内容概要 在当前数字化转型的浪潮中,内容中台的概念日益受到关注。它不再仅仅是一个内容管理系统,而是企业提升运营效率与灵活应对市场变化的重要支撑平台。内容中台的实施离不开最佳实践的指导,这些实践为企业在建设高效内容中台时提供了宝…

牛客周赛round78 B,C

B.一起做很甜的梦 题意&#xff1a;就是输出n个数&#xff08;1-n&#xff09;&#xff0c;使输出的序列中任意选连续的小序列&#xff08;小序列长度>2&&<n-1&#xff09;不符合排列&#xff08;例如如果所选长度为2&#xff0c;在所有长度为2 的小序列里不能出…

微机原理与接口技术期末大作业——4位抢答器仿真

在微机原理与接口技术的学习旅程中&#xff0c;期末大作业成为了检验知识掌握程度与实践能力的关键环节。本次我选择设计并仿真一个 4 位抢答器系统&#xff0c;通过这个项目&#xff0c;深入探索 8086CPU 及其接口技术的实际应用。附完整压缩包下载。 一、系统设计思路 &…

Android记事本App设计开发项目实战教程2025最新版Android Studio

平时上课录了个视频&#xff0c;从新建工程到打包Apk&#xff0c;从头做到尾&#xff0c;没有遗漏任何实现细节&#xff0c;欢迎学过Android基础的同学参加&#xff0c;如果你做过其他终端软件开发&#xff0c;也可以学习&#xff0c;快速上手Android基础开发。 Android记事本课…

设计模式Python版 组合模式

文章目录 前言一、组合模式二、组合模式实现方式三、组合模式示例四、组合模式在Django中的应用 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式…

4-图像梯度计算

文章目录 4.图像梯度计算(1)Sobel算子(2)梯度计算方法(3)Scharr与Laplacian算子4.图像梯度计算 (1)Sobel算子 图像梯度-Sobel算子 Sobel算子是一种经典的图像边缘检测算子,广泛应用于图像处理和计算机视觉领域。以下是关于Sobel算子的详细介绍: 基本原理 Sobel算子…

MATLAB实现多种群遗传算法

多种群遗传算法&#xff08;MPGA, Multi-Population Genetic Algorithm&#xff09;是一种改进的遗传算法&#xff0c;它通过将种群分成多个子种群并在不同的子种群之间进行交叉和交换&#xff0c;旨在提高全局搜索能力并避免早期收敛。下面是多种群遗传算法的主要步骤和流程&a…

WebRtc06: 音视频数据采集

音视频采集API 通过getUserMedia这个API去获取视频音频&#xff0c; 通过constraints这个对象去配置偏好&#xff0c;比如视频宽高、音频降噪等 测试代码 index.html <html><head><title>WebRtc capture video and audio</title></head><…

浅析CDN安全策略防范

CDN&#xff08;内容分发网络&#xff09;信息安全策略是保障内容分发网络在提供高效服务的同时&#xff0c;确保数据传输安全、防止恶意攻击和保护用户隐私的重要手段。以下从多个方面详细介绍CDN的信息安全策略&#xff1a; 1. 数据加密 数据加密是CDN信息安全策略的核心之…

高温环境对电机性能的影响与LabVIEW应用

电机在高温环境下的性能可能受到多种因素的影响&#xff0c;尤其是对于持续工作和高负荷条件下的电机。高温会影响电机的效率、寿命以及可靠性&#xff0c;导致设备出现过热、绝缘损坏等问题。因此&#xff0c;在设计电机控制系统时&#xff0c;特别是在高温环境下&#xff0c;…

MapReduce简单应用(一)——WordCount

目录 1. 执行过程1.1 分割1.2 Map1.3 Combine1.4 Reduce 2. 代码和结果2.1 pom.xml中依赖配置2.2 工具类util2.3 WordCount2.4 结果 参考 1. 执行过程 假设WordCount的两个输入文本text1.txt和text2.txt如下。 Hello World Bye WorldHello Hadoop Bye Hadoop1.1 分割 将每个文…

PPT演示设置:插入音频同步切换播放时长计算

PPT中插入音频&同步切换&放时长计算 一、 插入音频及音频设置二、设置页面切换和音频同步三、播放时长计算 一、 插入音频及音频设置 1.插入音频&#xff1a;点击菜单栏插入-音频-选择PC上的音频&#xff08;已存在的音频&#xff09;或者录制音频&#xff08;现场录制…

32.Word:巧克力知识宣传【32】

目录 NO1.2.3 NO4.5 NO5制表位设置​ ​NO6.7​ NO8.9图表 NO10​ NO11.12 NO1.2.3 FnF12或另存为&#xff1a;考生文件夹&#xff1a;Word.docx布局→纸张大小→页面设置对话框→页边距&#xff1a;上下左右ctrlx剪切文本→插入→文本框选择对应的→手动拖拉文本框到合…

【零拷贝】

目录 一&#xff1a;了解IO基础概念 二&#xff1a;数据流动的层次结构 三&#xff1a;零拷贝 1.传统IO文件读写 2.mmap 零拷贝技术 3.sendFile 零拷贝技术 一&#xff1a;了解IO基础概念 理解CPU拷贝和DMA拷贝 ​ 我们知道&#xff0c;操作系统对于内存空间&…

数据分析系列--⑨RapidMiner训练集、测试集、验证集划分

一、数据集获取 二、划分数据集 1.导入和加载数据 2.数据集划分 2.1 划分说明 2.2 方法一 2.3 方法二 一、数据集获取 点击下载数据集 此数据集包含538312条数据. 二、划分数据集 1.导入和加载数据 2.数据集划分 2.1 划分说明 2.2 方法一 使用Filter Example Range算子. …

vsnprintf() 将可变参数格式化输出到字符数组

vsnprintf{} 将可变参数格式化输出到一个字符数组 1. function vsnprintf()1.1. const int num_bytes vsnprintf(NULL, 0, format, arg); 2. Parameters3. Return value4. Example5. llama.cppReferences 1. function vsnprintf() https://cplusplus.com/reference/cstdio/vs…

Jenkins未在第一次登录后设置用户名,第二次登录不进去怎么办?

Jenkins在第一次进行登录的时候&#xff0c;只需要输入Jenkins\secrets\initialAdminPassword中的密码&#xff0c;登录成功后&#xff0c;本次我们没有修改密码&#xff0c;就会导致后面第二次登录&#xff0c;Jenkins需要进行用户名和密码的验证&#xff0c;但是我们根本就没…

【Arxiv 大模型最新进展】TOOLGEN:探索Agent工具调用新范式

【Arxiv 大模型最新进展】TOOLGEN&#xff1a;探索Agent工具调用新范式 文章目录 【Arxiv 大模型最新进展】TOOLGEN&#xff1a;探索Agent工具调用新范式研究框图方法详解 作者&#xff1a;Renxi Wang, Xudong Han 等 单位&#xff1a;LibrAI, Mohamed bin Zayed University o…

数据库内存与Buffer Pool

数据库内存与Buffer Pool 文章目录 数据库内存与Buffer Pool一&#xff1a;MySQL内存结构1&#xff1a;MySQL工作组件2&#xff1a;工作线程的本地内存3&#xff1a;共享内存区域4&#xff1a;存储引擎缓冲区 二&#xff1a;InnoDB的核心&#xff1a;Buffer Pool1&#xff1a;数…

[CVPR 2022]Cross-view Transformers for real-time Map-view Semantic Segmentation

论文网址&#xff1a;Cross-View Transformers for Real-Time Map-View Semantic Segmentation 论文代码&#xff1a;cross_view_transformers/cross_view_transformer at master bradyz/cross_view_transformers GitHub 英文是纯手打的&#xff01;论文原文的summarizing …