APP下载

基于边缘计算的物联网混合区块链架构

2022-05-20韩春雷范文新黄泽宇陈美燕

物联网技术 2022年5期
关键词:树莓云端边缘

韩春雷,范文新,杨 清,黄泽宇,陈美燕

(1.中国电子科技集团公司第二十研究所,陕西 西安 710068;2.西北大学 信息科学与技术学院,陕西 西安 710127)

0 引 言

硬件、软件和通信技术的快速发展使物联网(IoT)能够为人们生活的各个方面提供各种智能解决方案,使得智能医疗、交通、农业和娱乐等物联网系统在学术界和工业界受到越来越多的关注。物联网应用产生大量需要处理和存储的数据,而物联网设备往往缺乏足够的处理和存储资源。云计算为支持物联网的系统提供基础设施、平台和软件服务,通过这些系统,物联网应用程序可以在CSS代理云服务器中处理、存储和分析其生成的数据。尽管云平台为物联网设备提供了多样的计算和存储资源,但云服务器驻留在远离物联网设备的多跳处,这会导致高传播和排队延迟。因此,云服务器不能单独为实时物联网应用程序(例如,智能交通、智能医疗保健、紧急情况和实时控制系统)提供最佳服务。此外,将分布式物联网设备产生的海量数据转发到云存储系统进行处理和存储,可能会导致云存储系统过 载,影响系统的后续使用。

区块链是一种加密的分布式计算机存储系统,旨在创建实时、防篡改的记录。如果将物联网和区块链相结合,理论上就有了一种可验证、安全、永久性的方法来记录物联网智能设备处理的数据。

通过使用区块链技术实现通信和存储操作具有多种优势。首先是监管问题。由于数据交易发生在多个专有网络之间并有多个组织运营,其记录的永久不可篡改性意味着可以实现跟踪;并且区块链记录本质上是透明的(即任何授权连接到网络的人都可以跟踪和分析所有的活动)。如果某个节点发生故障,数据泄露,那么区块链的记录可以更加容易地识别到薄弱环境并且采取纠正措施。其次,使用加密和分布式存储意味着供应链中参与的各方都会信任所有的数据;并且各个节点机器会自动安全地记录所有的交易细节,而无需任何人的监督。如果没有提供拥有区块链数据的写访问权的私钥(在当前情况下,数据写入的权限一直掌握在所有节点的手中),任何人都无法用不准确的信息对区块链中存储的数据进行覆盖。第三,一些区块链网络(如以太坊)提供的智能合约支持创建满足条件实施的协议。第四,区块链在改善物联网环境的安全方面有相当大的空间。例如,智能家居设备可以访问人们日常生活中的全部个人信息,这些数据必须与其他服务共享并经过分析才能得到有用结论。但是这也意味着受到黑客攻击的可能性更大。

为了解决上述问题,本文提出了一种混合的物联网框架,将边缘和云计算结合成为一种新的分布式计算范式。通过区块链进行分散的数据管理,所以该体系结构在边缘计算范式上具有分布式的特点。另外,混合结构还具有大数据生态系统的数据管理功能,有助于对区块链中大量数据进行管理,这种混合体系优化了当前的端到端结构。

1 相关研究

现有的将物联网系统和云计算集成的框架大概分为两种类型:第一种侧重于特定应用的系统,另一种则是提供通用的PaaS模型。Rahmani等人为支持物联网的医疗保健系统开发了一个基于通用原型的框架,以促进本地存储和数据处理。在此框架中,云端充当数据分析和决策制定的后端系统。Azimi等人采用树莓派和Intel Edison开发板在物联网中作为边缘节点,通过身份认证来保护数据的隐私;但在这个框架中,是采用云端来存储数据的。Chen开发了智能城市监控,在这个框架中,边缘设备主要进行必要的数据处理和相关决策的执行。

为了促进物联网和云端的集成,Yangui等人开发了一个以云端为中心的PaaS框架。PaaS有助于开发不同的应用程序,以及对边缘节点进行管理。Bruneo等人也提出了一个以边缘设备为核心的PaaS框架,在计算合理的物联网设备上部署和执行多个应用程序,该框架基于云端的安全特性,处理异构相关的各种应用程序。此外,Verba等人提出了一种网关架构,通过网关进行身份验证来协助传递消息。该框架支持网关和云端中心的横向集成,用于应用部署和任务迁移。Yi等人为集成环境提出了一个综合的PaaS框架,其中框架里的所有节点都被虚拟化。Mohamed等人还设计了一个面向服务的框架,通过边缘设备和云端提供智能管理城市的服务。在这个框架中,服务分为两种类型:第一个是管理框架的核心操作,包括资源管理和安全保障;另一种类型是包含特定的应用要求。而框架的安全性由身份验证和访问机制保证。

在上述框架中,边缘和远程资源的计算能力还没有被充分利用。在某些情况下,将计算全部集中到云端节点会增加整体的部署成本和资源消耗。此外,大多数框架都忽略了计算基础设施内的异构性。它们很难同时支持多个应用的部署。然而本文提出的基于物联网的无线传感混合区块链结构可以通过区块链确保数据的完整性,并且协助实现了用户认证和数据加密的功能;整个架构将部分计算分离到边缘节点上,缓解了中心节点的计算压力,充分利用了边缘设备的计算力,并且减少了边缘与中心的通信次数,大大降低了整个系统的通信压力。

2 基于物联网的无线传感网络的混合区块链结构

本文提出一种新的混合架构来监控和管理物联网系统,如图1所示。

图1 混合区块链结构

现有的智能家居系统是通过无线传感网络来监控智能家居发生的所有活动,并且通过无线传感网络将采集的数据发送给区块链,在云端实现数据的存储,这样就可以实现区块链中所有的优点。本文提出的物联网监控的新架构中为智能设备配备了传感器和控制传感器的树莓派。每个智能节点由不同的收发器组成,能够捕获数据并将其纳入WSN;传感器包含一个加速度计LIS3DH模型,能够准确测量不同范围(0和±16)的加速度,并且能够自动调整到使用条件,始终保持恒定的精度。在温度控制中采用TC1047A超低功耗的传感器,实现对温度数据的采集。该系统还集成了一个通过GNSS网络进行定位的定位系统,通过MAX-M8Q模型来接收GPS、Galileo和GLONASS的标准位置信息。对于功耗测量,集成了霍尔效应传感器SCT-013-000,可以实现高达100 A的功耗测量,其自身电阻率为3 Ω·m。上述这些传感器都是由Microchip公司生产的微型控制器(MCU)进行控制,该单片机基于超低功耗的ARM Cortex-M0+架构,采用IEEE 802.15.4通信协议,同时使用树莓派4B作为边缘路由器使用。在这种方式下,不同种类的传感器采集数据,将数据传输到树莓派4B中,并在树莓派4B中将收集到的数据进行加密,构建区块链子链;最后将构建好的区块链子链插入到云端的主链中,减少了节点数据与云端进行频繁的数据上传,分散了与云端的通信压力。

智能控制器管理IoT节点及其所有WSN节点。每个物联网节点都从其传感器收集数据,然后树莓派在主链(区块链)中执行智能合约。智能控制器具有矿机处理单元,以提高树莓派的计算能力。该模块为树莓派4B提供了处理能力,使其能够在合理的时间内执行一些简单的计算。通过这种方式,数据可以在ETL(Extract Transform and Load)过程中从物联网设备转换到边缘计算层的区块链,而不是直接在区块链中,这大大降低了云端主链在转换数据和构建区块时的能耗,使得智能控制器可以以更低的能耗完成同样的工作。同时,通过使用智能合约创建了一个在树莓派4B上执行的侧链,其中存储了该智能设备在WSN节点收集的所有数据。智能合约验证智能设备的身份,一旦将WSN节点识别为成员,智能合约就会执行一个事件,将数据发送到侧链。一旦智能合约被验证通过(即数据完全插入侧链),侧链就会插入主链。云端区块链主链是用智能设备构建的子链并对子链进行合并构建的。为了构建区块链,本文的新架构显示了使用侧链(即小型区块链预处理数据)在物联网设备和区块链之间构建中间层(即边缘计算层)的新颖性。这些边链通过在靠近数据源的网络边缘执行数据处理来优化发送到区块链的事务。通过执行具有WSN数据的侧链,减少了WSN节点(即传感器)和区块链之间的通信。这种方法需要利用无法持续连接到区块链网络的边缘计算资源,以减少物联网层中的计算资源的浪费。通过边缘计算将应用程序、数据和计算能力推离区块链。作为一种计算范式,边缘计算也被称为网格处理、点对点计算、自动和分散计算。边缘计算相对于当前计算的优势在于:(1)需要通过网络传输的数据量要小得多;(2)消除(或减少)集中计算;(3)虚拟化能力提升了可扩展性。

3 区块链框架设计性能的实证研究

为了评估整个框架的性能,准备了由多个云端和边缘节点组成的集成计算环境。表1描述了服务器和相关运行组件的完整配置。用来构建区块链的各个节点采用的环境统一为Docker环境,共构建了7个服务器节点,除了1个节点是提供给客户进行相关操作控制的,其余节点都分配了内部私有IP地址,用来实现内部的数据传输和认证;6个节点中有3个远端服务器,作为数据存储的区块链主链。有2个树莓派4B作为边缘设备,用来收集各个传感器采集到的相关数据和构建子链,并且执行智能合约,在智能合约执行结束后将子链数据上传到云端,插入到云端主链中,减少边缘设备与主链之间的通信次数。同时,使用一个单片机作为边缘设备之间的控制中心。

表1 集成计算环境中的服务器配置示例

图2代表了压缩和未压缩的情况下该框架不同组件的平均Docker的大小。压缩后的Docker镜像大小是根据多个架构的Docker hub中存储的Docker镜像的平均大小获取的,而未压缩的Docker镜像大小是根据从实例提取的Docker镜像的平均大小获取的。压缩后的Docker镜像的大小表明该框架是轻量级的,可以在不同平台上下载,范围从几兆字节到最大100 MB。此外,未压缩的Docker镜像大小证明该框架组件不占用过多的存储空间。

图2 各个部分组件的平均大小

图3显示了在混合架构中不同组件运行时平均占用RAM大小的情况。从图中可以看出,本文所提出的框架占用内存量非常少,满足了在边缘设备上的部署,不同组件占用的内存量从25 MB到45 MB不等。但是对现有的边缘设备来说,各个组件依旧可以部署在不同的边缘设备上,对资源要求很低。因此从整体性能上分析,整个框架并没有过多地占用物理资源,并且更好地利用了现有边缘节点自带的资源,通过分布式结构使各个组件能合理地运行。

图3 各个组件运行时平均RAM使用的情况

图4展示了混合架构的不同组件 在使用时的平均启动时间,包含启动容器所需要的时间,直到它们处于完全可用的状态后再继续处理后续传入的请求。由图4发现,此框架只需要几秒钟就可以实现全部启动,进入处理状态;并且该系统启动的时间与它现有的硬件资源有关,如果需要更快的启动速度,可以采取运算性能更好的边缘设备,将会大大提升整体响应速度。此外,在部署阶段,它极大程度地扩展了很多重要的场景,使得整体应用前景更为广泛。

图4 各组件平均响应时长

图5中描述了混合架构在不同实验设置下生成的任务数量。据观察,与在云端生成的任务数、在云端与边缘端生成风热任务数相比,仅在边缘端部署时可以生成较多的任务数。之所以发生这种情况是因为边缘端更加靠近数据源,它可以快速交付上一项任务的结果,同时生成下一项任务,中间所需要通信延时较少,而只使用云端将会导致云端与传感器节点距离过远,任务交付与生成都有较大的时间延时,所以生成的任务量较少。但是,如果只在边缘端进行计算,处理数据的速度过慢,反而会影响处理数据的整体速度,相比之下云端有着更高的数据处理速度。通过图5发现,将边缘端和云端相结合,在生成较多的任务数的同时还能有较高的数据处理速度,所以本文的混合架构有着较为平衡的性能。

图5 不同模块性能对比

4 结 语

本文提出了一个基于物联网的无线传感网络的混合区块链结构。该结构充分利用了边缘节点的计算能力,将云端的一部分计算压力分散到剩余的边缘节点上,在边缘节点上进行子链的构造,等待智能合约全部完成后将子链插入到云端的主链中,这样可以减少边缘端和云端的通信压力,使得系统具有更好的可扩展性。本文还测试了框架的各个组件占用资源的情况以及各个组件的系统完全响应时间。通过实验证明了所提出的框架满足边缘设备资源的实际情况,并且整个系统具备较高的任务处理能力和数据处理速度,可以显著提高区块链处理吞吐量和效率。在实际使用中可满足不同的应用场景,具有很大的实用价值。整个系统是分布式架构,可以随着边缘节点的分布和云端节点数量的增加进行适当的扩展,满足更高的性能要求。

猜你喜欢

树莓云端边缘
云端之城
基于树莓派的骑行智能头盔设计
基于树莓派的远程家居控制系统的设计
美人如画隔云端
一张图看懂边缘计算
行走在云端
云端创意
响应面法优化红树莓酒发酵工艺
欧盟:速冻树莓比鲜食树莓市场更好
在边缘寻找自我