一、OpenEdge是什么

OpenEdge是百度云自研的边缘计算框架,主要是为了贴合工业互联网应用,将计算能力拓展至用户现场,提供临时离线、低延时的计算服务,包括消息路由、函数计算、AI推断等。OpenEdge和云端管理套件配合使用,可达到云端管理和应用下发,边缘设备上运行应用的效果,满足各种边缘计算场景。

二、OpenEdge能做什么

从目前发布的版本来看,OpenEdge还仅仅具备设备接入和消息转发的能力。从官方网站了解到其主要功能包括:

物联接入支持设备基于标准MQTT协议(V3.1和V3.1.1版本)与OpenEdge建立连接。消息转发通过消息路由转发机制,将数据转发至任意主题、计算函数。函数计算支持基于Python2.7及满足条件的任意自定义语言的函数编写、运行。远程同步支持与百度云天工IoTHub及符合OpenEdge_Remote_MQTT模块支持范围的远程消息同步。

三、OpenEdge应用场景

提到OpenEdge就不得不先说说百度云的智能边缘业务。根据官方的介绍,这个产品(BIE),其应用场景是:“面对复杂的数据采集环境、多样的数据通讯协议、海量的原始数据以及不同的数据流向需求,智能边缘可以通过功能模块组合,轻松的搭建集数据采集、协议解析、数据分析、数据转发为一体的边缘计算应用,满足工业生产、城市监控的大多数物联网场景的通用需求。”

BIE应用场景

(图片来源于百度智能边缘BIE)

从上面这张图来看,在边缘领域,百度云定义了两种硬件形态:盒子(AI-BOX)和板卡(AI-Board),实现三项主要功能:“数据采集解析”、“数据分析模型”和“事件判断”。那么显然,OpenEdge就是用来为边缘硬件提供上述三种计算能力。

基于这种设计考虑,OpenEdge作为智能边缘的本地运行包,以容器化、模块化的方式,在本地硬件上部署,让本地设备、网关、控制器、服务器具备数据通讯、本地计算&AI推断、云端配置同步等能力;而在云端的智能边缘管理套件,提供海量边缘管理能力,并且对接不同应用生产生态,提供应用集成、测试、管理和分发的能力。

OpenEdge与BIE

(图片来源于百度智能边缘BIE)

使用OpenEdge能获得哪些优势:

屏蔽计算框架OpenEdge提供主流运行时支持的同时,提供各类运行时转换服务,基于任意语言编写、基于任意框架训练的函数或模型,都可以在OpenEdge中执行。简化应用生产配合智能边缘BIE云端管理套件,可与百度云上的CFC、Infinite、Jarvis、IoT EasyInsight、TSDB、IoT Visualization等产品打通,可以在云端轻松生产各类函数、AI模型,及将数据写入百度云天工云端TSDB及物可视进行展示。一键式运行环境部署OpenEdge推行Docker容器化,开发者可以根据OpenEdge源码包中各模块的DockerFile一键式构建OpenEdge运行环境。按需部署OpenEdge推行功能模块化,各功能间运行互补影响、互不依赖,开发者完全可以根据自己的需求进行部署。丰富配置OpenEdge支持X86、ARM等多种硬件以及Linux、MacOS和Windows等主流操作系统。

四、OpenEdge技术设计

组成主程序模块负责所有模块的管理,如启动、退出等,由模块引擎、API构成;模块引擎负责模块的启动、停止、重启、监听和守护,目前支持Docker容器模式和Native进程模式;模块引擎从工作目录的配置文件中加载模块列表,并以列表的顺序逐个启动模块。模块引擎会为每个模块启动一个守护协程对模块状态进行监听,如果模块异常退出,会根据模块的Restart Policy配置项执行重启或退出。主程序关闭后模块引擎会按照列表的逆序逐个关闭模块;OpenEdge主程序会暴露一组HTTP API,目前支持获取空闲端口,模块的启动、停止和重启。为了方便管理,我们对模块做了一个划分,从配置文件中加载的模块称为常驻模块,通过API启动的模块称为临时模块,临时模块遵循“谁启动谁负责停止"的原则。OpenEdge退出时,会先逆序停止所有常驻模块,常驻模块停止过程中也会调用API来停止其启动的模块,最后如果还有遗漏的临时模块,会随机全部停止。本地Hub模块 OpenEdge_Hub主要基于MQTT协议提供设备接入(支持TCP、SSL(TCP+SSL)、WS(Websocket)及WSS(Websocket+SSL)四种接入方式)、消息路由转发等能力。MQTT远程通讯模块 OpenEdge_Remote_MQTT目前支持MQTT协议,其实质是两个MQTT Server的桥接(Bridge)模块,用于订阅一个Server的消息并转发给另一个Server。

函数计算模块 OpenEdge_Function提供基于MQTT消息机制,弹性、高可用、扩展性好、响应快的的计算能力,函数通过一个或多个具体的实例执行,每个实例都是一个独立的进程,现采用GRPC Server运行函数实例。所有函数实例由实例池(Pool)负责管理生命周期,支持自动扩容和缩容。函数计算运行实例是基于OpenEdge_Function模块的具体实例化表现形式,开发者通过编写的自己的函数来处理消息,可进行消息的过滤、转换和转发等。架构以native运行模式为例,OpenEdge模块间关系如下图所示。从这个图可以看出:1)主程序:实际负责与云端建立控制通道,并控制边缘设备的功能和行为;2)MQTT远程通讯模块:负责建立边缘设备与云端的数据通道,完成物联网数据通信;3)本地Hub模块:完成边缘设备内部数据桥接;4)函数计算模块:完成用户自定义的边缘计算任务的运行和管理。

函数计算OpenEdge最有“新意”之处在于函数计算。这正式通过它,边缘设备才获得“智能计算”的能力。

函数计算提供基于MQTT消息机制,弹性、高可用、扩展性好、响应快的的计算能力,并且兼容百度云-函数计算CFC。函数通过一个或多个具体的实例执行,每个实例都是一个独立的进程,现采用grpc server运行函数实例。所有函数实例由实例池(pool)负责管理生命周期,支持自动扩容和缩容。结构图如下:

这里可以看到,函数计算能够支持SQL查询、python甚至tensorflow计算实例。项目也给出了python自定义函数的实例代码:

五、总结

作为国内大厂开放的首个边缘计算开源项目,OpenEdge充分显示出百度云进入工业及物联网领域的决心和思路。

个人认为这个项目的主要亮点在于:

标准协议:基于MQTT的控制和通信链路开放框架:支持自定义计算函数快速部署:可采用docker进行部署当然,这里也存在一些问题:

边缘与云端的界限问题不可否认,百度推出OpenEdge,其核心目的还是为了推广百度云平台上的IoT、大数据和人工智能服务。然而边缘计算的提出,正式出于对通信带宽、实时性、安全性、可靠性等方面的考虑,降低边缘设备对云计算中心的依赖程度,将原本中心化的计算任务下沉到本地去做。因此,作为云计算服务上的百度云,必须好好界定界定边缘与云端的业务剖面,以免出现“左右互博”的场面。业务场景的问题本地化的图像识别、目标检测、故障诊断、监控报警,这些可能是最为常见的边缘计算业务场景。除此以外,还有哪些新的应用?对于这些应用,OpenEdge应到如何支持?这里需要OpenEdge项目给出更多实际的应用案例和示例工程。开发代价的问题对OpenEdge进行应用开发,需要使用golang和python(目前支持2.7)两种语言。不得不吐槽一下,这无异增加了项目的学习和开发成本。然而golang(笔者本人也算是gopher,之前任职于百度技术部门,了解golang在百度技术体系的认可程度),对于OpenEdge的用户而言(主要是工业自动化、物联网领域小公司的开发人员),还是相对小众的。笔者认为,在开发语言的选择上还是应该多考虑考虑受众的支持程度。

相关阅读:

“云”助浙江 浙江省云计算生态地图V2.0版正式发布

微软筹建可持续数据中心,增加碳排放费用

拥抱开源加码云计算服务,会缓解Google的焦虑吗?

凡本网注明来源非中国IDC圈的作品,均转载自其它媒体,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2019-05-24 13:44:38
边缘计算 区块链+边缘计算,为供应链提供超强动力
当下,区块链技术和边缘计算正逐渐被更多的人认为是推动社会进步的颠覆性技术,多个领域和行业都在探索利用这两个技术以实现提高效率、优化商业模式的目标。而其中,供应链 <详情>
2019-05-23 15:56:14
边缘计算 SA:边缘计算在物联网市场兴起
市场研究机构Strategy Analytics最新发布的研究报告《边缘计算:分散物联网的性能》指出,边缘计算在物联网部署中逐渐崛起,将在未来几年稳步增长。 <详情>
2019-05-23 14:44:10
边缘计算 如何利用工业物联网创造边缘计算的竞争优势
物联网如今已经成为许多行业组织的组成部分,广泛应用在农业、制造业、医疗保健、交通运输、能源等行业领域。它是数字化转型的主要推动力之一。通用电气公司前首席执行官Je <详情>
2019-05-22 12:30:34
边缘计算 边缘计算强势崛起,这五大误区却瞒过了大部分的人
在TMT偏技术的领域,如今什么正如火如荼地崛起?除了5G、IoT之外,边缘计算也是一股不能忽视的力量。甚至边缘计算比5G、IoT的落地速度还要更快。Spiceworks信息技术网络监 <详情>
2019-05-21 16:15:07
边缘计算 边缘计算成为5G关键能力之一,极大地提高了用户的体验
随着5G、大数据、人工智能成熟,边缘计算成为5G关键能力之一,极大地提高了用户的体验。 <详情>