陈洁玮- Fotolia
5个组件的IOT流架构
软件架构师必须为事件流创建基本的物联网流架构模型,然后才能为物联网应用程序添加独特的特性。
设计物联网应用程序类似于建造房子:组织需要一个强大的基础来支持应用程序的变化。对于物联网来说,这个基础就是流架构。
软件架构师必须遵循蓝图以确保他们不会失去轨迹考虑时总体流动沿着物联网数据路径的组件。IOT流式传输应用程序实时处理数据,以绘制用于日志分析,过程控制和材料处理应用程序的洞察,以便事件处理对于保证有效的工厂操作至关重要。该应用程序的特点是不受控制的消息流 - 事件流 - 描述了大多数IoT。
要面对物联网流架构带来的挑战,软件架构师必须首先理解什么是物联网数据流is:它是一组源生成事件的事件处理流。这些来源对处理延迟很敏感,而且它们在技术上和地理上各不相同。物联网流架构由五个组件组成。
1.事件接收者
物联网流架构始于物联网传感器发送事件的事件接收器。事件接收方接受流中的各种数据格式,并将它们转换为一个标准结构,由一层组件处理。如果一个事件不包含它自己的时间戳,那么事件接收者将对该事件进行戳戳。
事件接收器是一个层,而不是单个组件。它可以容纳新设备和具有过时数据结构的旧设备,这些数据结构需要得到广泛使用的支持。物联网流架构对于每个源集合通常都有事件接收器,它们是定制的,以支持它们所服务的源社区的事件格式。
2.本地控制器
有时软件架构师将事件控制器与本地控制器组合。许多流式传输IOT事件需要事件源和一个闭合控制循环控制真实过程的物联网设备比如开灯或开门。本地控制器可以放松流过程中稍后实时操作的延迟约束。
3.事件分类器和序列化程序
事件分类器和序列化器尽可能详细地对事件进行分类,以便为它们分配处理优先级,并将它们沿着正确的处理路径移动。根据标准化的事件数据模型添加到每个事件数据结构中的分类将跟随事件通过流的其余部分。
关于这个主题的更多信息
IOT部署创建了大量的IOT数据。组织必须计划从分析中实现的目标,并设置数据管道和支持技术,并确保数据质量使得可行的见解可行。
序列化部分将多个事件流的集合处理到用于处理的单个上下文流中。当事件来自多个本地域时,序列化是必不可少的,但必须在域中关联以进行正确处理。如果应用程序不需要跨域处理,那么它可能不需要序列化。例如,如果每个本地域仅创建用于历史分析的事务记录,则应用程序不使用序列化。
某些物联网部署将记录或排队此步骤的结果以供以后的步骤使用。当数据需要进一步的实时处理时,该步骤基于分类启动进程工作流程,并进入IoT流架构中的下一步。
4.事件关联和交易
事件关联和事务步骤将事件信号转换为可操作的消息,描述为一个提取、转换和加载过程。消息有三个目的地:
- 它们以流的形式进入另一个流程工作流。
- 它们可以被格式化为事务,并输入到组织已经使用的事务处理遗留应用程序中。
- 他们可以存储在数据库中供以后的分析和处理。
单个相关事件可以转到任何或所有目的地。组织可能需要实时分析,并强调性能,例如NoSQL。
5.事件后处理和分析
事件后处理和分析步骤支持任何不需要实时处理和分析的应用程序。一些物联网应用程序不涉及控制循环的任何扩展,而无法在本地响应到本地事件,例如打开门。其他应用程序至少需要一个事件的记录。有些需要后处理事件和与它相关的行动。这些步骤和分析工具扩展了传统的IT应用程序和数据库,而不是事件处理。