物联网服务端架构一例
2021-07-09 11:20:53 阿炯

环境概览


整体架构



物接入:物接入是全托管的云服务,可以在智能设备与云端之间建立安全的双向连接,并通过主流的物联网协议(如MQTT)通讯,实现从设备端到云端以及从云端到设备端的安全稳定的消息传输。

物接入(设备型):主要用于对接入云端的设备进行管理和操作。物管理需要与云的物接入服务配合使用,对接入云端的设备进行一站式设备管理,可应用于设备的层级管理、监测、遥控、固件升级和维护保养等各个场景。

物解析:在云端为用户提供工业协议解析服务。当云端收到设备端返回的原始数据后,结合用户提供的设备通讯地址表,物解析服务可将数据解析成直接可用于存储和分析的数据。

规则引擎:作为物联网平台的重要组件,用于将信息根据预先设置好的规则转发至云其它服务。用户可通过规则引擎设定消息处理规则,对规则匹配的消息采取相应的转发操作,如推送给手机APP等;也可以将设备消息无缝转发到时序数据库、Kafka和对象存储中进行存储。

时序数据库:用于管理时间序列数据的专业化数据库。区别于传统的关系型数据库,时序数据库针对时间序列数据的存储、查询和展现进行了专门的优化,从而获得极高的数据压缩能力、极优的查询性能,特别适用于物联网应用场景。

大数据平台:提供了完备的大数据托管服务、智能API、众多业务场景模板以及人脸识别、文字识别、语音识别等服务,帮助用户实现智能业务。


平台架构


通讯协议


MQTT


MQTT PUB/SUB



MQTT开源

单机版本
• Mosquitto
• Moquette
• Apollo
• RabbitMQ

分布式
• EMQTT

MQTT architecture


高可用


MQTT层堆栈


跨机器Router模型


Router性能优化(字典树)


Router性能优化(Cache)







数据一致性

• 支持同一client发布消息顺序性
• 保证每个订阅者收到来自同一个broker上发送到同一 个topic消息的有序性
• 不同Broker发送消息顺序取决于他们发送到这个 broker的时间决定的
• 不支持各个client之间消息全局有序 这样就需要选择一个master来分配每个消息的ID
• 对于MQTT大部分场景来说,没必要全局有序

数据一致范例

• C1 发送消息到 M1, M2, M3 主题 T2
• C2 发送消息到 M4, M5, M6 主题 T2
• M1必须在M2,M3之前到达T2
• M2必须在M3之前到达T2
• M4必须在M5,M6之前到达T2
• M5必须在M6之前到达T2
• T2收到的消息可能是C1和C2发送消息交织的结果

大数据并发处理架构


开发中可能出现的问题

1.采用REST API方式做authentication & Authorization
• 由于是短链接导致大量TIME_WAIT状态的TCP连接,消耗太多端口资源
• 采用RPC连接池极大降低短链接导致端口资源消耗,采用cache机制

2. 跨机器消息传递瓶颈问题
建议大规模数据订阅采用从kafka消费数据
• Broker直接将消息写入到Kafka,从kafka订阅数据

3.避免使用Zookeeper管理大量metadata以及watch
• 会导致zookeeper系统达到资源极限,比如最大watch的节点数太多会 导致session重建出现失败

应用场景

• 工业4.0 • 零售020 • 智慧物流 • 节能减排 • 智能硬件 • 车联网


本文转自互联网,原地址和作者已不可考,感谢原作者。


6个物联网架构层和组件的解释

来源:e-works,作者:未央编译

事实表明,拥有明确定义的物联网架构和框架极大地提高了企业互联部署成功的机会。很多企业正在积极参与或考虑启动一项或多项物联网计划。这些企业通常有目标、战略和期望的结果,无论是增加收入、削减成本还是优化业务流程。他们可能已经选择了采用的技术和供应商。但有物联网架构吗?这个架构是特定于项目的还是更通用的物联网框架的定制版本?

人们可能希望知道为什么这两个方面至关重要。这主要有两个原因:首先,具有物联网架构的企业比没有物联网架构的企业更容易成功。那些在节约资金、增加新收入或通过物联网改进业务流程方面名列前茅的企业,拥有物联网架构的可能性比不太成功的企业高出34%。但这不仅仅是物联网架构,这让人们想到了它很重要的第二个原因。成功的企业更有可能坚持包含通用的物联网框架和特定物联网项目的定制版本的架构,无论该项目是智慧城市、工业物联网还是物联网设施。

什么是物联网架构

最好从定义架构开始。从根本上说,架构是一个由两部分组成的图型或模型:构成架构的关键技术组件和这些组件之间的关系。换句话说,架构不仅仅是一个技术组件的列表,但确实需要从这些列表开始。它继续定义这些组件如何相互作用或相互接触。了解一些定义是有意义的。所谓技术组件,指的是提供特定技术能力的系统、设备或软件。云计算并不是一个技术组件,尽管它可能是一个技术组件所在的位置——例如云中的防火墙。组件可以是硬件、软件或两者的混合;它们可以在高级别(防火墙)或非常精细的级别(链路层数据包过滤)上定义。在正确的级别定义组件是构建架构的挑战的一部分。例如,在物联网架构中,这些组件可能包括连接设备、智能设备、传感器和执行器。

物联网架构组件

在较高的层次上,物联网架构中涉及的组件包括四个关键组件:
●应用程序和分析组件。这是处理和显示通过物联网收集的信息的部分。它包括分析工具、人工智能和机器学习以及可视化功能。该组件的技术范围从传统的分析和可视化包(如R、IBMSPSS和SAS)到来自云计算提供商(如亚马逊、谷歌、微软、甲骨文和IBM)以及应用程序套件供应商的专业物联网工具和仪表板,包括SAP和Salesforce。

●集成组件。这是确保应用程序、工具、安全性和基础设施与现有的公司ERP和其他管理系统有效集成的组件。提供商包括上述软件和云计算服务,以及一系列开源和中间件提供商,例如Oracle Fusion Middleware、LinkSmart、Apache Kafka和DynThings开源物联网平台。

●安全和管理组件。物联网安全包括通过固件和嵌入式安全提供商(例如Azure Sphere、LynxOS、Mocana和Spartan)保护系统的物理组件。Forescout、赛门铁克和趋势科技等传统安全供应商也提供专门针对物联网安全的软件包。

●基础设施组件。这包括物理设备——捕捉信息的物联网传感器和控制环境的执行器。它还包括传感器或执行器所在的网络。通常情况下是无线网络,例如Wi-Fi、4G或5G。

组件之间的关系是架构的第二部分。组件之间的关系是指组件如何相互通信,以及交换什么样的信息。这可以包括数据流、元数据流、控制信息或根本没有信息。软件组件通常通过API进行通信,网络层组件通常通过网络协议进行通信。

架构师往往从组件层来考虑,比如网络层、感知层、处理层、物理层、网关层、平台层、设备层、业务层、安全层、传感器层等等。层的概念是它包含一组相互通信的功能,但出于目的,其他组件可以被视为单个实体,具有单个透明实体。在物联网架构中,应用层不需要知道承载数据的物理网络类型。所有网络设备都包含根据应用程序的需要传输流量的网络层。

物联网架构的六层是什么

为此定义物联网架构的六层,如下所述。需要注意的是,在某些情况下,层由子层组成。这是复杂架构(例如物联网)中的一个共同特征:

(1)物理/设备层。这包括传感器、执行器和其他智能设备以及构成物理层和设备层的连接设备。这些智能设备或者捕获数据(传感器),或者采取行动(执行器),有时两者兼而有之。

(2)网络层。这包括网络设备和通信类型和协议(5G、Wi-Fi、蓝牙等)。尽管许多物联网架构依赖于通用网络层,但越来越多的趋势是转向专用的物联网特定网络。

(3)数据/数据库层。这也包括数据库平台层。有一系列用于物联网架构的数据库,许多企业花费大量时间来选择和构建正确的物联网数据库。

物理层/设备层、网络层和数据/数据库层一起构成了上面讨论的基础设施组件。

(4)分析/可视化层。该层包括分析层、可视化层和感知层。从本质上来说,这一层的重点是分析物联网提供的数据,并将其提供给用户和应用程序以使其有意义。

(5)应用/集成层。这是集成在一起的应用程序和平台层,以将功能从物联网基础设施交付到业务。换句话说,应用层、平台层和集成层是物联网基础设施提供商业价值的地方。处理层和业务层都是更大的应用程序/集成层的一部分。

(6)安全和管理层。顾名思义,该层包括安全层和管理层。严格来说,这不是一个层,因为它与所有其他层连接以提供安全和管理。但它是每个层都值得考虑的重要组件。

这些层以类似于开放系统互连模型的方式从下到上,这是分层概念的原始来源。

结论和建议

企业IT、OT和物联网技术专业人员应该基于一致的架构开发物联网项目和计划。这并不意味着对每个项目使用完全相同的工具和技术,而是确保针对特定项目正确实例化每个组件,并且技术专业人员已经考虑了所有层,其中包括网络层、感知层、处理层、物理层、网关层、平台层、设备层、业务层、安全层和传感器层。

更多内容来源可访问数字化企业网工业互联网专区。