基于区块链的边缘计算服务交互方法与系统

文档序号:190111 发布日期:2021-11-02 浏览:24次 >En<

阅读说明:本技术 基于区块链的边缘计算服务交互方法与系统 (Block chain-based edge computing service interaction method and system ) 是由 毛玉星 徐宜航 李剑 陈学硕 熊雄 李思谋 于 2021-08-02 设计创作,主要内容包括:本发明公开了一种基于区块链的边缘计算服务交互方法与系统,用户的某一具备操作系统环境的设备作为多接入边缘计算即服务MECaaS的承载实体;通过MECaaS将用户自己的算力设备注册为边缘节点ECN,并按照统一格式上传或更新边缘节点的注册信息至区块链层;请求设备作为数据产生者发布计算任务至MECaaS;MECaaS调用区块链层部署的智能合约并标准化计算任务的数据格式,通过分布式决策算法为请求设备匹配目标边缘节点,并建立请求设备与目标边缘节点之间的M2M通信,从而使得请求设备能够传输原始数据到目标边缘节点,目标边缘节点回传计算结果给请求设备。本发明不依赖任何集中式的控制器和中央计算节点,可构建完全分布式系统。(The invention discloses an edge computing service interaction method and system based on a block chain.A certain device of a user with an operating system environment is used as a bearing entity of a multi-access edge computing service (MECAAS); registering the computing equipment of the user as an edge node ECN through MECAAS, and uploading or updating registration information of the edge node to a block chain layer according to a uniform format; requesting equipment as a data producer to issue a calculation task to the MECAAS; the MECaaS calls an intelligent contract deployed on a block chain layer, standardizes a data format of a computing task, matches a target edge node for the request equipment through a distributed decision algorithm, and establishes M2M communication between the request equipment and the target edge node, so that the request equipment can transmit original data to the target edge node, and the target edge node transmits a computing result back to the request equipment. The invention does not depend on any centralized controller and central computing node, and can construct a completely distributed system.)

基于区块链的边缘计算服务交互方法与系统

技术领域

本发明涉及物联网技术领域,尤其涉及物联网终端的边缘计算服务分配技术领域。

背景技术

物联网中除了具备算力的边缘节点,还存在大量受限设备,受限设备在内存、CPU、计算资源、生命周期等方面存在不足,因此受限设备需要依赖云计算或边缘技术。

边缘计算是指在靠近物或数据源头的一侧,就近提供最近端服务。传统边缘计算将集中云计算分解成流,计算任务被分配到离数据生产者较近的一端,缓解负担。传统边缘计算在为受限设备匹配边缘节点时依赖集中服务器进行统一分配,集中服务器负荷较大,响应较慢,效率较低,而且一旦集中服务器故障,整个物联网的边缘计算服务将发生瘫痪。此外,有些计算需求可能涉及私有数据,对安全性要求较高。

发明内容

针对上述技术的不足,本发明提供了一种基于区块链的边缘计算服务交互方法,解决现有技术依赖集中服务器分配计算服务的技术问题。

为解决上述技术问题,本发明提供一种基于区块链的边缘计算服务交互方法,其特征在于,包括以下步骤:

在区块链层部署智能合约,智能合约用于对预加载程序统一命名,对边缘节点注册信息提供统一格式,提供公平逻辑与资产自动转移业务;

用户的某一具备操作系统环境的设备作为多接入边缘计算即服务MECaaS的承载实体;通过MECaaS将用户自己的算力设备注册为边缘节点ECN,并按照统一格式上传或更新边缘节点的注册信息至区块链层;所述注册信息包括节点名称、节点地址、服务定价与任务消耗时间;

请求设备作为数据产生者发布计算任务至MECaaS;所述计算任务包括预加载程序名称、请求设备地址、延迟敏感性与成本敏感性;

MECaaS调用智能合约并标准化计算任务的数据格式,通过分布式决策算法为请求设备匹配目标边缘节点;

标准化后的计算任务被推送到目标边缘节点的任务队列中,同时触发一个以太坊事件,并通知目标边缘节点确认;

任务确认后,触发另一个以太坊事件,请求设备通过MECaaS下发通信代码给目标边缘节点,以建立请求设备与目标边缘节点之间的M2M通信;

请求设备通过M2M通信传输原始数据到目标边缘节点;

目标边缘节点根据预加载程序名称查找并加载预加载程序,执行预加载程序对原始数据进行计算,回传计算结果给请求设备,同时触发合约事件。

进一步的,所述分布式决策算法包括以下步骤:根据计算任务的延迟敏感性与成本敏感性,请求设备通过MECaaS获取边缘节点的注册信息并计算体验质量,从节点占用状态为空闲的边缘节点中自动选择体验质量最优的边缘节点作为目标边缘节点。

进一步的,体验质量按如下方式计算:其中,E表示边缘节点提供的体验质量;分别为计算任务的延迟敏感性和成本敏感性,均为常量;t表示边缘节点完成计算任务的任务消耗时间,p表示边缘节点的服务定价。

进一步的,体验质量按如下方式计算:设总共有(n+1)个边缘节点,以n个边缘节点作为固定边缘节点,其中一个边缘节点作为变动边缘节点;固定边缘节点的服务定价与任务消耗时间固定,变动边缘节点的服务定价与任务消耗时间以最大利润为目标进行优化;空闲状态下的固定边缘节点与变动边缘节点均具备选择为目标边缘节点的潜力;根据边缘节点在固定时段内的占用时序判断是否为空闲状态,边缘节点在占用时序内的各个时刻为空闲时刻。

进一步的,边缘节点在固定时段内的占用时序按如下方式计算:

每个边缘节点的任务消耗时间应是任务周期的整数倍,若非整数倍,则向上取整为任务周期的整数倍;

给定n个固定边缘节点的服务定价与任务消耗时间,并计算出相应的体验质量,体验质量越小优先级越高,按照体验质量的大小对n个固定边缘节点进行优先级排序;

根据以下原则确定n个固定边缘节点在同一固定时段内的占用时序:

1)优先级最高的固定边缘节点先按照自身的任务消耗时间确定出在固定时段内的占用时序;

2)其余边缘节点在不与比自己优先级高的边缘节点的占用时序冲突的前提下,按照自身的任务消耗时间确定出在固定时段内的占用时序;

更新变动边缘节点的服务定价与任务消耗时间,每更新一次就计算一次体验质量,并与n个固定边缘节点的体验质量比较以进行优先级排序;

根据变动边缘节点的优先级,在不与比自己优先的全部固定边缘节点的占用时序相冲突的前提下,根据自己的任务消耗时间确定出在固定时段内的占用时序。

进一步的,变动边缘节点以最大利润R(p,t)为目标,利用粒子群最优搜寻来生成使利润最大的服务定价p与完成计算任务的消耗时间t。

进一步的,最大利润计算模型如下:

maxR(p,t)=(p-C(t))*ε(p,t)

式中,C(t)表示成本,αi表示第i个固定边缘节点的硬件固有性能参数,固定边缘节点的总数为n个,i={1,2,...,n};ti表示第i个固定边缘节点完成计算任务的任务消耗时间,ε(p,t)表示变动边缘节点在固定时段接收的任务数,变动边缘节点的占用时序的序列长度即为变动边缘节点在固定时段接收的任务数ε(p,t)。

本发明还提供一种基于区块链的边缘计算服务交互系统,一种基于区块链的边缘计算服务交互系统,其特征在于,区块链层与物理层通过多接入边缘计算即服务MECaaS链接并协调;

所述物理层包括不同用户的各种设备组成的物联网,每个用户的设备划分为功能受限设备与算力设备;

所述区块链层包括用于支持智能合约开发的以太坊,智能合约通过以太坊部署到由分布式区块形成的区块链网络中;

用户的某一具备操作系统环境的设备作为多接入边缘计算即服务MECaaS的承载实体;MECaaS包括交互单元Interaction和决策单元Operation;

所述交互单元用于提供操作入口以便用户将自己的算力设备注册为边缘节点,并将边缘节点信息上传至区块链网络中进行保存;MECaaS还用于从区块链层调用提前部署的满足功能需求的智能合约,通过智能合约标准化节点和请求的命名-寻址协议以及管理边缘计算服务交易过程;最后根据标准化后的计算任务通过分布式决策算法为请求设备自动匹配目标边缘节点,并建立请求设备与目标边缘节点之间的M2M通信,从而使得请求设备能够传输原始数据到目标边缘节点,目标边缘节点回传计算结果给请求设备;

所述决策单元用于配置并执行分布式决策算法;所述分布式决策算法包括以下步骤:根据计算任务的延迟敏感性与成本敏感性,请求设备通过MECaaS获取边缘节点的注册信息并计算完成计算任务的体验质量,从节点占用状态为空闲的边缘节点中自动选择体验质量最优的边缘节点作为目标边缘节点。

与现有技术相比,本发明具有的有益效果包括:

1、本发明不依赖任何集中式的控制器和中央计算节点,与传统解决方案相区别,从个体角度设计自主决策的分布式决策算法,对现有的软件即服务SaaS模式进行改进,设计入边缘计算即服务MECaaS(MobileEdgeComputing as a Service)模式为物联网本体赋能,构建完全分布式系统。

2、本发明通过建立请求设备与目标边缘节点之间的M2M通信,克服了异构设备之间的通信障碍,具备良好扩展性,可以适配绝大多数物联网设备的计算场景。

3、本发明的分布式决策算法将算力服务按需分配,降低请求设备的算力服务使用成本,另外,变动边缘节点以最大利润R(p,t)为目标进行定价和确定消耗时间获得最大利润,转化为经济效益。

4、本发明利用区块链技术管理边缘计算服务交易过程,提高了安全性和可靠性。

5、本发明通过触发以太坊事件以及合约事件对交易过程进行记录,使得交易过程可溯源。

附图说明

图1为基于MECaaS构建的边缘计算系统架构图;

图2为MECaaS内部组件和数据指令流向图;

图3为按照优先级排列的边缘节点的占用时序示意图;

图4为粒子群算法迭代-收敛图;

图5为粒子群算法求解最大利润的结果示意图;

图6物理场景设定图;

图7物理层验证图;

图8计算结果验证图;

具体实施方式

一)、概述

参考图1所示,一种基于区块链的边缘计算服务交互系统,区块链层与物理层通过多接入边缘计算即服务MECaaS链接并协调;

所述物理层包括不同用户的各种设备组成的物联网,每个用户的设备划分为受限设备与算力设备。这一层包含了各种边缘节点(ECN)和受限设备,它们属于不同的用户,并在内存、CPU、数据结构、通信协议等方面具有显著的异构性。

所述区块链层包括用于支持智能合约开发的以太坊,智能合约通过以太坊部署到由分布式区块形成的区块链网络中。以太坊是一个区块链平台,开发者可以在其中创建任何具共识性、可扩展、标准化、基于功能、可开发和协作的应用程序。这里提到的另一个概念是智能合约,一个基于以太坊的系统,最初用于根据预先确定的规则自动传输数字资产。规则制定者在以太坊虚拟机(EVM)①中开发智能合约,然后将其部署到(主/测试/本地)网络区块链上②,分布式节点将在其中确保契约的执行。

由于性能的限制,大多数底层节点无法直接与智能合约进行交互,因此有必要引入MECaaS。该层作为智能合约和物理节点之间的桥梁③,④(M2U),同时为用户提供了一个便捷的操作入口,它可以是但不限于PC。同时,根据交互信息,该层将实现自主决策算法。

参考图2所示,用户的某一具备操作系统环境的设备作为多接入边缘计算即服务MECaaS的承载实体;MECaaS包括交互单元Interaction和决策单元Operation;

所述交互单元用于提供操作入口以便用户将自己的算力设备注册为边缘节点,并将边缘节点信息上传至区块链网络中进行保存;MECaaS还用于从区块链层调用提前部署的满足功能需求的智能合约,通过智能合约标准化节点和请求的命名-寻址协议以及管理边缘计算服务交易过程;最后根据标准化后的计算任务通过分布式决策算法为请求设备自动匹配目标边缘节点,并建立请求设备与目标边缘节点之间的M2M通信,从而使得请求设备能够传输原始数据到目标边缘节点,目标边缘节点回传计算结果给请求设备。

所述决策单元用于配置并执行分布式决策算法;所述分布式决策算法包括以下步骤:根据计算任务的延迟敏感性与成本敏感性,请求设备通过MECaaS获取边缘节点的注册信息并计算完成计算任务的体验质量,从节点占用状态为空闲的边缘节点中自动选择体验质量最优的边缘节点作为目标边缘节点。

对于小规模应用,分布式决策算法储存可以直接存储在MECaaS中。当需要大规模应用时,分布式决策算法储存在分布式存储平台上,MECaaS通过SaaS软件应用模式在互联网上执行分布式决策算法并获得请求设备与目标边缘节点之间的匹配结果。

一种基于区块链的边缘计算服务交互方法,包括以下步骤:

在区块链层部署智能合约,智能合约用于对预加载程序统一命名,对边缘节点注册信息提供统一格式,提供公平逻辑与资产自动转移业务。

通过MECaaS注册边缘节点,按照统一格式上传边缘节点的注册信息至区块链层;注册信息包括以下内容:节点名称、节点地址、占用状态、服务定价与完成计算任务的消耗时间。当计算任务发生改变时能够更新服务定价与完成计算任务的消耗时间。

请求设备作为数据产生者发布计算任务至MECaaS;所述计算任务包括预加载程序名称、请求设备地址、延迟敏感性与成本敏感性。

MECaaS调用智能合约并标准化计算任务的数据格式,通过分布式决策算法为请求设备匹配目标边缘节点。

标准化后的计算任务被推送到目标边缘节点的任务队列中,同时触发一个以太坊事件,并通知目标边缘节点确认。

任务确认后,触发另一个以太坊事件,下发通信代码给目标边缘节点,以建立请求设备与目标边缘节点之间的M2M通信。

请求设备通过M2M通信传输原始数据到目标边缘节点。

目标边缘节点根据预加载程序名称查找并加载预加载程序,执行预加载程序对原始数据进行计算,回传计算结果给请求设备,同时触发合约事件。

分布式决策算法包括以下步骤:分布式决策算法包括以下步骤:根据计算任务的延迟敏感性与成本敏感性,请求设备通过MECaaS获取边缘节点的注册信息并计算体验质量,从节点占用状态为空闲的边缘节点中自动选择体验质量最优的边缘节点作为目标边缘节点。

体验质量按如下方式计算:其中,E表示边缘节点提供的体验质量;分别为计算任务的延迟敏感性和成本敏感性,均为常量;t表示边缘节点完成计算任务的任务消耗时间,p表示边缘节点的服务定价。

设总共有(n+1)个边缘节点,以n个边缘节点作为固定边缘节点,其中一个边缘节点作为变动边缘节点;固定边缘节点的服务定价与任务消耗时间固定,变动边缘节点的服务定价与任务消耗时间以最大利润为目标进行优化;空闲状态下的固定边缘节点与变动边缘节点均具备选择为目标边缘节点的潜力;根据边缘节点在固定时段内的占用时序判断是否为空闲状态,边缘节点在占用时序内的各个时刻为空闲时刻。

边缘节点在固定时段内的占用时序按如下方式计算:

每个边缘节点的任务消耗时间应是任务周期的整数倍,若非整数倍,则向上取整为任务周期的整数倍;

给定n个固定边缘节点的服务定价与任务消耗时间,并计算出相应的体验质量,体验质量越小优先级越高,按照体验质量的大小对n个固定边缘节点进行优先级排序。

根据以下原则确定n个固定边缘节点在同一固定时段内的占用时序:

1)优先级最高的固定边缘节点先按照自身的任务消耗时间确定出在固定时段内的占用时序;

2)其余边缘节点在不与比自己优先级高的边缘节点的占用时序冲突的前提下,按照自身的任务消耗时间确定出在固定时段内的占用时序。更新变动边缘节点的服务定价与任务消耗时间,每更新一次就计算一次体验质量,并与n个固定边缘节点的体验质量比较以进行优先级排序。

根据变动边缘节点的优先级,在不与比自己优先的全部固定边缘节点的占用时序相冲突的前提下,根据自己的任务消耗时间确定出在固定时段内的占用时序。

参考图3所示,边缘节点按照优先级排序1~25,每条竖线上的点代表了可以接收任务的空闲时刻,两点之间的时间为任务消耗时间。

变动边缘节点以最大利润R(p,t)为目标,利用粒子群最优搜寻来生成使利润最大的服务定价p与完成计算任务的消耗时间t。

最大利润计算模型如下:

maxR(p,t)=(p-C(t))*ε(p,t)

式中,C(t)表示成本,αi表示第i个固定边缘节点的硬件固有性能参数,固定边缘节点的总数为n个,i={1,2,...,n};ti表示第i个固定边缘节点完成计算任务的任务消耗时间,ε(p,t)表示变动边缘节点在固定时段接收的任务数,变动边缘节点的占用时序的序列长度即为变动边缘节点在固定时段接收的任务数ε(p,t)。

粒子群算法收敛,得到变动边缘节点的最优p、t、ε(p,t),粒子群算法迭代-收敛图参考图4所示。图5为粒子群算法求解最大利润的结果示意图。

二)、针对具体物理场景的实施例

1)、场景设定

假设有四个用户(一个请求者和三个供应商),Alice、Bob和Cindy,他们总共拥有九个闲置设备来充当边缘节点(1-9),并且他们先前彼此不了解。根据之前的定义,一份合约已被事先部署到以太坊,如图6示。

为了简化验证,一个边缘节点为请求预加载一个程序,通过不同的颜色来区分。请求可以由任何受限设备生成,并通过请求者传递,每个节点可以处理同一颜色的请求,但对同一请求有不同的执行时间。并基于博弈算法和执行时间,自动生成服务定价。

在此场景中,实现本方法的主要目标:

配对:请求应能够自动找到最合适的节点并建立M2M通信信道。

计算:请求设备基于已配对节点发送原始数据,节点接收并运行计算程序,然后回传结果,同时触发合约事件。

变量分析:对于连续请求,探究节点的资源价格和消耗时间如何影响其服务率。

2).软件设计

合约设计与部署:Solidity是一门面向合约的、为实现智能合约而创建的高级编程语言,它是我们的合约开发工具。合约中有三种结构体:用户、节点和请求。用户将被绑定一个唯一的以太坊地址,从属节点通过映射与该地址相关联。合约主要负责节点信息的统一,公平逻辑与资产自动转移,不负责计算任务本身。在Ropsten测试网络上部署智能合约(ataddress:0x2a0dCa2cCe68d40c2523b1A5e2928E47D6249FF3),并确保所有用户都有足够的测试代币来为可能的事务支付。软件以内容分发方式进入用户层。

任务描述:与传统边缘计算相同,在开始任务之前,需要指定服务节点应预加载的程序,其可以是一段具有特定功能的代码、一个通用算法、一个应用程序等。这些程序在系统中被统一命名,便于理解。设备任务上传会输出一个协议代码,之后,该任务以统一格式推送到ECN提供商的队列中,并触发以太坊事件。一旦一个任务被接受,另一个以太坊事件将被请求者监听到,然后请求者下发协议代码,以便设备能够以M2M方式将原始数据传输到目标ECN。

节点描述:对应于任务,边缘节点将算法资源描述、服务定价与完成计算任务的消耗时间、节点名称、节点地址、所有者、占用状态等属性打包,在注册时作为注册信息上传。

通信代码:为了在异构节点之间建立数据传输通道,通信协议和标识码应统一,需要在节点描述中预置这些信息,以便它们能够相互定位和配对。例如,我们这样定义一个支持Lora协议的节点,{protocol:Lora;code:[0xC0,0x00,0x06,0xFF,0xFF,0x00,0x67,0x20,0x3C]},这样就可以访问这个通信信道来建立M2M连接。

交互接口:作为网络层的共识,智能合约需要通过MECaaS来约束物理层的行为。我们使用Web3.Py与智能合约进行交互,这是由以太坊基金会发布的Python库。部署的合约将提供以太坊地址和应用程序二进制接口(ABI),每个用户都可以通过一个简单的实例化合约Python脚本在MECaaS调用合约函数。用户管理节点的方式不受限制,只要能将信息从顶层推送到底层,并反向实现即可。连接底层设备和用户的常用方法可以是TCP通信。

基于MECaaS的设计,上述所有过程是完全自动化的,所有这些代码都可以在任何支持Python的环境中轻松移植和运行,正如前面提到的,这样的MECaaS可以是,但一定不会局限于PC。

3)硬件部署

如图7示,使用可编程嵌入式终端来构建物理层(ECN和设备),每个终端主要由一个CPU和M2M模块组成,并通过M2U模块与MECaaS连接。节点中预设了两个典型的程序作为任务,字符转码(GBK-to-UCS2)和灰度二值化,原始字符和灰度数组被固定以避免偏差。经过对ECNs性能的预测试,其任务消耗时间在9~66ms之间,硬件清单如下:

CPU STM32 F407ZGT6/F429IGT6
M2M module ZigBee DRF1605H v3.0
M2U module 4G eDtu_LTE_V47

4).实施结果:

如图8示,每个计算细节都可以通过区块链层事务,MECaaS交易哈希以及物理层计算结果验证。

对于ECN定价和时间对其收益的影响。在给定的系统中,总请求以的固定时间权重Wt和固定价格权重Wp,每单位时间T生成,ECN不能并行处理多个任务。所有收到请求的ECN都会立即进行确认,并及时完成任务相应的(T)服务次数如图6所示。

可以看出,随着单个ECN时间和价格的减少,接收到的服务数量迅速增加,而消耗时间过多、定价过高的ECN,由于市场饱和将无法收到服务。

时间和价格指标影响请求者的加权判据,这反映在随Wt,Wp变化的服务趋势。同时,更快的处理速度意味着更多捕获请求的机会;较低的价格可以增加服务的数量,但以利润为代价,因此,较高计算速度的ECN在系统中更具统治力。当然,当请求数量足够大时,很难形成寡头效应,大多数ECN仍能在市场中生存。

本方法针对资源受限的各类异构设备设计,具有高度集成性,良好的扩展性,可以适配绝大多数物联网设备的计算场景。本方法的执行不依赖任何集中式的控制器和中央计算节点,与传统解决方案相区别,该软件从个体角度设计自主决策算法,以SaaS模式为物联网本体赋能,构建完全分布式系统。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:资源处理方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!