普通电脑可以搭建时序数据库吗_「独家实践秘籍」如何从零开始搭建面向某一行业的物联网系统架构...

a36cab81f388b058f64f06e720f429e7.gif
1ef0184963b8e0c251e74e6e1f869d30.png

作者 | 周杰

物联网给工业带来的好处和变革已经显而易见,工业物联网(IIoT)已经是每个行业未来发展的大势所趋。那么如何从零开始,快速搭建面向某一行业的物联网系统架构,结合大量实践,笔者给出了不依赖某一平台的通用操作步骤。

和摩尔定律类似,物联网连接的设备(Things)数量也在飞速增长,Gartner预计2020年物联网将连接约200亿设备,Cisco预计同一时期这一数字将达到263亿(包括手机、电视、电脑、汽车、机械设备等),作为参照,IPv4的地址空间有约43亿个地址、全球人口总数约77亿。物联网连接的设备横跨多个行业,不同的组织和公司对物联网应用的行业划分略有不同,比如oneM2M和ETSI的划分是10大行业应用,IoT Analytics划分了8大行业应用,如下图所示,包含:零售、医疗、保险、交通、楼宇、城市、自然资源、制造业,从左至右,其行业的“工业”属性越强,业内也有研究机构将其分类为面向需求侧的消费性物联网和面向供给侧的生产性物联网。

f62a1d48e5dfa142ec91af6490553a88.png

▎图1 物联网与垂直行业应用

因物联网各应用场景是有自身独立属性,物联网在不同行业的应用,不光设备类型、通信协议等不同,其设备建模、分析和优化算法亦不尽相同,换言之,和互联网领域不同,物联网领域不会出现寡头垄断的市场格局。随着智能感知、网络通信、大数据存储与处理等技术的日益成熟与成本下降,物联网会应用到越来越多的细分行业,涌现出越来越多的物联网平台公司,比如同样来自IoT Analytics的调研数据,全球公认的物联网平台数量就从2015年的260家快速增长到2019年的620家。

从数据流向的维度出发,物联网系统要实现的核心任务是数据采集(从PLC/传感器/第三方系统读取数据)、数据存储(统一数据模式、数据库的开发使用)、数据分析(设备模型建模、基于特定目标的应用)和数据呈现(数据呈现图表、各类展示界面)。如何从零开始,快速搭建面向某一行业的物联网系统架构,结合实践,笔者的一些步骤如下:

步骤1 研究行业工艺,列出物联网设备清单;研究行业市场,列出物联网设备数量

物联网的最底层是设备层(IoT Devices),这里也是数据来源,没有详尽的数据,则任何物联网平台都会成为无源之水。搭建物联网系统架构的第一步就是根据行业工艺流程,列出物联网连接设备清单,以离散制造为例,根据产品的生产工艺流程,列出相关的生产设备,比如机床、注塑机;测试设备,比如ICT/AOI/FCT、三坐标测量仪;自动化设备,比如机器人、AGV;传感器,比如温湿度传感器、振动传感器等。

在列出相关设备类型和型号的基础上,分析其数据传输类型,比如数字量信号(NPN信号、PNP信号等)、模拟量信号(电流信号、电压信号等)、其他信号(编码器信号、振动传感器信号等)、总线信号等,对于总线信号,重点列出其物理层和应用层采用的协议。

bde6d929d663c12176b940dd340c6f70.png

▎图2 行业工艺与物联网设备

另一方面,物联网连接的设备不光是实体的机械设备和传感器,也包括在产品生命周期:设计—>生产—>物流—>销售—>服务中使用的各类软件系统,比如产品数据管理系统(PDM)、实验室管理系统(LIMS)、运营管理系统(ERP,SRM)、物流管理系统(WMS,RMS)、人力资源和办公系统(HR,OA)、安防系统(SPS)等,在物联网系统架构搭建阶段,即要考虑到物联网系统和相关系统的接口标准和数据格式,以便实现物联网系统对各个子系统进行统一监测和管控,打通各个子系统的数据孤岛,实现所谓的“设备全连接,数据全融合”。

在列出面向某一行业的物联网设备清单的基础上,我们需要列出每一个物联网设备的输出和输入数据表格,然后初步估算搭建的物联网平台连接的设备数量。最后,综合考虑同时连接设备数量、每秒接收消息数量、规则引擎处理消息数量和数据保存周期等因素,选择合适的部署架构(单机部署、集群部署)和服务器规格,比如如果要搭建一个机器人行业的物联网,其数据表格如表1所示;另一方面,我们可以从相关的行业协会,比如国际机器人联合会(IFR),获取相关的机器人保有量数据。

84615967423280f3794fd2a4a32a4253.png

▎表1 IoT设备(机器人)数据表格

79c150463335446846335c533f2f6ff9.png

▎图3 根据行业协会数据估算物联网平台连接设备数量

步骤2 根据步骤1的数据,确定网络层网关规格和平台层数据库规格

物联网参考架构的第二层是网络层,这一层的主要功能是把设备层的各种数据,通过轻量化的物联网协议,比如MQTT、CoAP等传输到平台层-物联网参考架构的第三层。我们需要根据上述的物联网设备清单,选择合适的网络类产品,比如如果搭建的平台只是连接机器人本体,获取机器人本体的各种数据,则根据机器人控制器的总线协议,选择合适的边缘网关产品即可;如果搭建的平台连接的是机器人应用单元,或者需要在机器人本体上加装额外的传感器,比如振动传感器,从而实现对于机器人的预测性维护功能,则需要网络产品具有本地处理功能,也即需要选择合适的边缘计算产品。另一方面,如果设备清单的总线协议或者数据格式包含用户自定义协议/格式,从而市场上没有现成的网络类产品可供使用,这种情况下也需要选择边缘计算产品并开发相应的用户自定义协议/格式转换程序(第三方连接器)。

a8feecf78ba3467ee763cdbd257e5cda.png

▎图4 根据物联网设备清单选择网关规格

在物联网平台层的诸多功能中,数据库是最基本、也是最重要的功能。按照数据类型(结构化数据、非结构化数据)和用途(操作型数据、分析型数据)的不同,数据库一般按照如下维度进行分类:关系型数据库(RDBMS)、非关系型数据库(NoSQL);分析型数据库(OLAP)、操作型数据库(OLTP),物联网的快速普及和数据库,尤其是非关系型数据库技术的发展密不可分。根据上述的物联网设备清单,我们可以了解所需获取的数据类型和用途,然后选择合适的数据库产品。以搭建连接机器人的物联网平台为例,机器人的生产厂家、序列号等数据可以存放在关系型数据库中,机器人运行的实时数据,比如电机电流信号、温度信号等,可以存放在时序数据库中(非关系型数据库的一种)。

181532a387ca6e81173b5308ca3dfc37.png

▎图5 根据物联网设备数据表格选择数据库

根据步骤1得到的设备数量,我们也可以估算数据库对于磁盘空间的需求,同样以搭建连接机器人的物联网平台为例,如果平台计划接入20%左右的工业机器人≈150000设备,每台机器人每分钟发送如下信息到云端 {“Load_Inertia”: 10.111111, “MotorTemperature”: 20.222222, “ActualPosition”: 30.333333, “ActualSpeed”: 40.444444, “ActualAcceleration”: 50.555555, “DeviceHealthAlarms”: 00},这种应用背景下需要机器人物联网平台每秒钟处理2500条消息,每一条消息包含6个数据用于后台系统进行分析和报表呈现。对数据库而言,每秒钟要进行15000次写操作,每天进行约13亿次写操作,在该操作下,不同的数据库需要不同的磁盘空间,比如Cassandra需要大约9-18GB用于保存每天的机器人数据,PostgreSQL大约需要63-90GB用于保存同样的数据。

步骤3 根据步骤1的设备清单和步骤2的数据,选择合适的大数据处理平台和数据呈现形式

设备的劳损或者使用不当会造成各类异常现象,以设备检修人员常用的简易诊断方法为例:

• 听诊法-设备正常运转时所发出的声响总是具有一定的音律和节奏的,通过人的听觉功能就能对比出设备是否出现了重、杂、乱、怪的异常噪声,从而判断出设备内部所出现的隐患。

• 触测法-用人手的触觉可以检测设备的温度、振动及间隙的变化情况。

就是人脑使用各种触觉来获取设备的温、振、噪等信号,然后凭借经验得到设备的健康状态及可能的故障点等推论的过程。

用机器学习的算法可以获得类似的推论,比如在获取描述设备正常运行状况和故障运行状况的数据基础上,我们可以对数据形式进行转换,进而可以从中提取状态指示器,这些状态指示器用于帮助区分正常状态和故障状态的特征,然后可以使用提取的特征来训练机器学习模型,以便能够:

• 对不同类型的故障进行分类,常用的算法有RNN、DNN、Decision Trees等;

• 预估机器的剩余使用寿命(RUL),常用的算法有DNN regression、LSTM等;

• 检测异常 ,常用的算法有AutoEncoder、MASF等。

2eee1584a1745db6bcd9c9e178750587.png

▎图6 设备失效模型和设备预测性维护

我们可以根据所需的算法选择合适的大数据处理平台,比如Apache Spark 作为新一代轻量级大数据快速处理平台,集成了大数据相关的各种能力,其机器学习组件Spark MLlib由一些通用的学习算法及工具组成,其中包括分类、回归、聚类、协同过滤、降维等。MATLAB的Predictive Maintenance Toolbox工具箱提供了多个函数和一个交互式应用程序,通过基于数据和基于模型的技术(包括统计、频谱和时间序列分析),对特征进行探索、提取和排序;使用频率和时频方法从振动数据中提取特征,从而监控旋转机器的健康状况;使用基于生存、相似性和趋势的模型来预测 RUL。

在获取数据和洞察的基础上,我们需要根据数据间的关系和我们希望突出显示的要点,来选择合适的图表:

• 比较-柱状图、直条图、圆形面积图、折线图等

• 关系-散点图、气泡图等

• 分布-列柱状图、3D区域图等

• 组成-堆叠柱状图、饼图等

99c3ee946d7d929d17eb146db67c3b5f.png
1e5a5e7787723eb7014a3ff5e7cf6671.png
174a4a8587d0e7760126af47fccfe5c0.png

▎图7 选择合适的数据呈现图表

作者简介

周杰,浙江大学控制系研究生毕业后在工业自动化/工业机器人/工业互联网行业有十多年工作经验,目前从事智能制造研发项目管理相关的工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
lvictoriametrics时序数据库是一个功能强大的开源时序数据库,它提供了abel_value的使用。abel_value是lvictoriametrics中的一种数据类型,用于存储时序数据。 abel_value允许我们以键值对的形式存储与查询各种类型的时间序列数据。在使用abel_value时,我们需要指定键和值的类型,例如浮点数、整数、字符串等。 使用abel_value的步骤如下: 1. 创建时间序列:首先,我们需要创建一个时间序列,并为其指定一个唯一的键。可以使用命令行工具或者在应用程序中通过API来创建时间序列。 2. 插入数据:接着,我们可以将数据插入到abel_value中。插入的数据包括时间戳和相应的值,值的类型必须与之前指定的类型相匹配。可以通过命令行工具或者API来插入数据。 3. 查询数据:在需要查询数据时,我们可以使用abel_value提供的各种查询方式。可以按照时间范围、键、值等进行查询,从而获取我们需要的时序数据。查询可以通过命令行工具或者API来执行。 4. 聚合数据:abel_value还支持数据聚合功能,可以对时序数据进行各种聚合操作,如求和、平均值、最大值等。这样可以更方便地分析和利用时序数据。 总之,abel_value是lvictoriametrics时序数据库中的一种数据类型,它提供了灵活的存储和查询时序数据的方式。通过使用abel_value,我们可以方便地处理和分析大量的时序数据,从而适应各种应用场景的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值