基于边缘计算物联网解决方案,从架构上可以分为:传感控制层、网络层、敏捷控制器和应用层。
传感控制层:包含大量的传感器、控制部件(比如开关等)和测量部件(比如电表等),另外还有通信部件。这些通信部件可能是独立的,也可能是和其它部件结合在一起的。
网络层:主要实现融合和互联,它的功能除了网络连接和管理之外,还包括边缘计算,进行现场处理,同时保障业务在本地的存活。本地存活和现场处理对物联网尤其是工业和民用大型设施是非常重要的。此外,协议转换也是这一层的重要功能。在 IoT 领域有特别多的协议,这些协议来自于各个行业历史上的积累,所以需要在网关上做协议的转换,将数据统一承载在 IP 网络上向外传输。
敏捷控制器:将网关送上来的数据进行统一的处理,向上送给应用层。并对下层的网络、传感器、控制部件、测量部件、计算资源进行管理,提供网络部署、配置的自动化工具。
业务应用层:集成各种行业应用。
如何实现边缘计算?
基于物联网的边缘计算实现,主流的主要为两条路径,一是微服务的升级模式,简单理解就是允许用户在边缘平台运行应用程序,且提供开放的编程环境,与近年来来软件定义的路径相似;二是边缘向云的渗透,利用边缘能力渗透进云领域的核心产品及服务,如数据库、计算、存储、安全的边缘化。
用户只需在云端完成业务逻辑代码编写,运行方式配置,消息规则配置,下发至在网设备。在设备上,系统将自动完成代码和配置同步,云函数运行,并在设备上提供消息收发、缓存、与云端进行消息同步等能力。当数据产生时,底层的物联网设备将数据上报至智能网关设备,触发云函数的运行,将数据进行离线处理,通过本地的 IoT网关,再将离线处理的数据下发至物联网底层设备。整个数据最主要的计算处理部分运行主要是在云函数中进行。
例如和API网关的对接,也可以作为事件来源,在用户的HTTP请求到达网关之后,API网关会把该请求作为事件转发给云函数,触发云函数的运行,云函数拿到请求之后进行处理,生成响应给到用户。
上图为云函数的计算过程,用户先代码和配置提交到云函数平台进行保存,真正事件产生后,针对每一个事件都会拉起一个函数实例,实现触发式运行。真正事件来临时,用户函数才会运行,用户代码运行时才有云函数代码的数据运算和费用计算。
因为函数本身是托管型的,用户本身无法感知到实例在哪里运行。云函数平台背后有个大的计算资源池,用户实例触发之后,从资源池中随机选取可运行的位置,把用户的函数实例在对应位置上运营起来。因此整个调度过程,或者事件来临之后的函数扩缩容过程,都是由平台进行的。云函数带来的价值主要包括四点:
简化架构:函数粒度的微服务架构,使得系统的各个功能天然解耦,能像搭积木一样组合自有及外部服务,实现所看即所得的后台服务;
简化开发:无需关注底层硬件配置、OS,服务启停、网络收发,故障容灾,服务扩缩容等,只需写最核心的业务逻辑,实现真正的代码即服务;
简化运维:无须关注服务部署,服务器运维,安全管控,扩缩容配置等,且应用能无缝升级,实现无痛切换到DevOps模式。
减少支出:无闲置成本,仅对函数资源大小,执行时间,执行次数按需计费,相对云主机平均5%~15% 的使用率,价格优势明显,实现了最彻底的按需计费。
物联网主要是和设备打交道,云函数交由平台托管的调度,可以把云函数调度到用户设备上去。通过云函数,用户能够在边缘平台运行应用程序,帮助实现设备上的边缘计算。开发者只需通过编写核心代码并设置代码运行的条件,即可进行实时文件处理和数据处理。