百度智能云推计算框架Creek 让流式计算能力延伸至每个边缘节点
Posted 百度开发者中心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度智能云推计算框架Creek 让流式计算能力延伸至每个边缘节点相关的知识,希望对你有一定的参考价值。
一直以来,对于边缘流式计算的需求就没有停止过,但是受限于边缘节点的计算能力,边缘流式计算一直面临内存压力、磁盘压力、作业管理压力等诸多挑战。
2019年11月29日,在Flink Forward Asia 2019大会上,百度正式对外发布了“基于Apache Flink的边缘流式计算Creek”。Creek很好的解决资源受限的问题,它可以将流式作业内存消耗降低到10M左右,比传统的流式作业下降了2个数量级的资源消耗,使得边缘设备也可以轻松跑流式作业。
这样,在不增加边缘节点成本的前提下,边缘节点增加流式计算的能力,使得边缘节点能够支撑更多、更复杂的业务场景。
百度智能边缘BIE也同步实现了与Creek的产品化集成,Creek通过与BIE的集成,能够实现流式计算任务”云端统一定义,统一下发”,让流式计算能力真正延伸至各个边缘节点。
下面罗列在BIE当中使用边缘流式计算的两个典型场景:
在数据分析场景下,数据分析师经常使用「10分钟平均值」或「15分钟平均值」作为样本数据进行分析,而不会直接使用原始采集数据。如果云平台当中只有原始采集数据,数据分析师通常使用以下几种方式获取「10分钟平均值」:
· 导出原始数据,通过数据预处理工具获取10分钟平均值
· 云平台增加流式计算任务,计算10分钟平均值并实时保存在数据库
· 通过大数据平台对历史数据执行离线任务,计算历史数据的10分钟平均值并保存在数据库
上述的几种方案能够让数据分析师拿到10分钟平均值,但是成本都很高,也不方便。
通过边缘流式计算可以很好的解决上述问题,边缘节点在边缘侧通过流式计算得到10分钟平均值,然后上报至云端iothub,经由规则引擎将10min数据转存到数据库,可以降低数据分析师的取数难度。
在物联网场景下,设备测量数据因为各种因素(网络因素、设备自身精度因素)经常会出现抖动情况,如果对设备的实时采集值配置阈值告警,经常会出现误告警,导致用户需要处理大量无用告警,逐渐用户对告警的准确性失去信心,阈值告警形同虚设。
针对这种场景,用户可以借助流式计算的能力来降低数据抖动带来的偏差,常见的方案有:
· 按平均值告警:通过流式计算获取10分钟平均值、10分钟最大值、10分钟最小值、10分钟计算样本数,然后设定阈值规则,比如“10分钟平均值>阈值 且 10分钟计算样本数>100”
· 按持续时间告警:通过流式计算找出实时采集值一直大于指定阈值且持续时间很长的设备,比如"设备温度>100℃ 且 持续时长>5分钟"
在网络不稳定的场景下,上述两种方案如果通过云端流式计算来实现,最终得到的计算值准确度不高,比如当设备出现5分钟无连接的时候,云端再去计算10分钟平均值,计算的结果并不准确。而边缘侧是内网环境,网络异常的概率大大降低。在边缘侧将统计值计算好后再上报云端,可以提升流式计算统计结果的准确性。
· 降低成本,包括流量成本、存储成本、云端流式计算资源成本。
如果要尝试在边缘节点上部署流式计算任务,可以登录百度智能云控制台,具体操作指南参考:
https://cloud.baidu.com/doc/BIE/s/Ok43i486z
以实时监控场景为例,需要通过流式计算获得temperature的统计值,包括:10分钟平均值、10分钟最大值、10分钟最小值、10分钟计算样本数。我们可以搭建以下模拟实验场景来进行验证:
1.使用模拟器以每秒1条数据的频率,不间断往边缘hub发送模拟数据
{"humidity":6.3426914,"temperature":11.457714,"timestamp":1576207523}
3.云端配置边缘流式计算任务,计算temperature的统计值,包括:
前面1~4步可以参考操作指南(点击原文查看)执行,现在我们一起来看一下边缘侧运行流式计算的效果。
启动mqtt数据订阅工具MQTTBox,订阅testtopic/update和testtopic/streamdata这两个topic:
· testtopic/update:左侧部分数据,为数据模拟器产生的模拟数据,1秒1条记录
· testtopic/streamdata:右侧部分数据,为流式计算结果,包含最大值、最小值、平均值、计算样本数。因为是1分钟统计结果,所以计算样本数刚好是60,与实际相符。
可以在BIE云管套件查看流式计算任务的资源使用情况,发现内存占用在12M左右,相比边缘流式计算带来的价值,这点资源使用率上升,是完全值得的。
感兴趣的朋友可以在边缘计算框架baetyl上部署一个flink,然后执行相同的作业任务,查看flink与creek的资源消耗对比。
点击阅读原文,查看详细的使用教程。教程url:https://cloud.baidu.com/doc/BIE/s/Ok43i486z
百度智能边缘(Baidu IntelliEdge)旨在将云计算能力拓展至用户现场,提供可以临时离线、低延时的计算服务,包括设备接入、数据处理、数据上报、流式计算、函数计算、AI 推断等功能。
BIE整体包括边缘本地运行包和云端管理套件两部分:
· 本地运行包:本地运行包包含百度开放边缘框架baetyl,以及基于baetyl框架开放的边缘应用,实现将云计算能力延伸至边缘,提供离线自治、低延时的计算服务。
· 云端管理套件:主要负责边缘设备节点的管理,包含设备节点的监控、注册管理、应用的编排与升级等功能。除此之外,云端套件还负责与百度智能云的其他服务进行集成对接,包括函数计算CFC,流式计算BSC,端侧模型生成框架EasyEdge等。实现”云管理、边运行、边云一体“的整体解决方案。
马文建:从2013年来北京到现在,只要时间允许,几乎每期百度技术沙龙都必定参加,单程路费也经历了从2元、5元到1元的变化
领取方式:
请于1月17日(周五)中午12点前,将姓名、联系方式、地址回复到公众号。
以上是关于百度智能云推计算框架Creek 让流式计算能力延伸至每个边缘节点的主要内容,如果未能解决你的问题,请参考以下文章
百度深耕边缘计算 基于Apache Flink首创边缘流式计算框架
什么是人工智能??
海数据技术沙龙——Flink:新一代流式计算框架&Storm/JStorm: 流式计算框架的应用
边缘计算社区宣布接入百度文心一言能力, 打造边缘智能全系服务
OpenYurt 开箱测评 | 一键让原生 K8s 集群具备边缘计算能力
学习笔记-从浅入深理解流式计算框架Flink