首页> 中国专利> 基于区块链的边缘智能计算方法及边缘智能系统

基于区块链的边缘智能计算方法及边缘智能系统

摘要

本发明公开了一种基于区块链的边缘智能计算方法及边缘智能系统,属于边缘智能,要解决的技术问题为如何将区块链技术应用至边缘智能计算以确保数据正确、完整并保证传输数据的合法性。计算方法包括:通过网关配置网关与主节点以及主节点与工作节点的连接;主节点生成密钥对,将区块信息添加至主节点本地已存储区块链并对外公布,每个工作节点将验证通过的区块信息添加至本地已存储区块链;主节点将指令数据和指定的私钥发送至相关的工作节点,工作节点调用人工智能模块对设备采集数据进行分析得到分析报告,并通过工作节点将分析报告返回网关。系统包括网关和边缘设备,网关至少一个,边缘设备包括主节点和至少一个工作节点。

著录项

  • 公开/公告号CN112333187B

    专利类型发明专利

  • 公开/公告日2022-08-09

    原文格式PDF

  • 申请/专利权人 齐鲁工业大学;

    申请/专利号CN202011214125.6

  • 发明设计人 禹继国;甄鹏华;韩玉冰;董安明;

    申请日2020-11-04

  • 分类号H04L9/40(2022.01);G06F16/27(2019.01);G06F21/60(2013.01);G06F21/64(2013.01);H04L9/32(2006.01);H04L12/66(2006.01);H04L67/10(2022.01);H04L67/1097(2022.01);

  • 代理机构济南信达专利事务所有限公司 37100;

  • 代理人潘悦梅

  • 地址 250353 山东省济南市长清区大学路3501号

  • 入库时间 2022-09-06 00:41:19

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-09

    授权

    发明专利权授予

说明书

技术领域

本发明涉及边缘智能领域,具体地说是一种基于区块链的边缘智能计算方法及边缘智能系统。

背景技术

随着信息技术的发展,物联网技术在人们的生活起着日益重要的作用。物联网技术的大规模应用及其相关设备的大量部署,将产生大量的数据,这些数据全部由云计算中心来处理是不切实际的,因此出现了边缘计算领域。

然而,边缘计算并不能很好的满足用户对数据处理的要求,边缘计算与人工智能的结合成为必然,因此出现了边缘智能这一新的领域。边缘智能需要解决的几大问题是:低延迟、减少网络带宽消耗、快速决策、降低成本、保护隐私。

区块链技术具有可溯源、防篡改等优势,将区块链技术应用至边缘智能领域,可保证其中的数据正确、完整,并保证传输数据的设备合法。

基于上述,如何将区块链技术应用至边缘智能计算以确保数据正确、完整并保证传输数据的合法性。

发明内容

本发明的技术任务是针对以上不足,提供一种基于区块链的边缘智能计算方法及边缘智能系统,来解决如何将区块链技术应用至边缘智能计算以确保数据正确、完整并保证传输数据的合法性的问题。

第一方面,本发明提供一种基于区块链的边缘智能计算方法,基于网关和边缘设备组成的边缘智能系统,所述网关至少一个,面向用户并与物联网终端设备连接,所述边缘设备包括主节点和至少一个工作节点,主节点与上述网关连接,工作节点为工作节点本身或者具有工作节点功能的主节点,每个工作节点均与主节点连接组成主-从拓扑网络结构,所述计算方法包括:

通过网关配置网关与主节点以及主节点与工作节点的连接,用户的信息数据及指令数据通过网关传送至主节点,信息数据包括来自用户的用户数据和终端设备采集的设备采集数据;

主节点接收到信息数据后,基于密钥生成算法生成密钥对,构建并存储用户数据与密钥对的映射关系,根据密钥对对设备采集数据进行加密及签名得到加密数据和签名,将公钥、加密数据和签名作为区块信息添加至本地已存储区块链尾端并对外公布,每个工作节点从主节点下载区块信息并将验证通过的区块信息添加至本地已存储区块链尾端,所述区块信息还包括区块ID、前置区块的哈希值、区块自身哈希值、难度、盐值和时间;

主节点接收到指令数据后,基于指令数据查找对应的私钥,将指令数据和指定的私钥发送至相关的工作节点,工作节点根据指令数据及私钥找到对应的区块信息并解密,得到对应设备采集数据,并调用人工智能模块对设备采集数据进行分析得到分析报告,并通过工作节点将分析报告返回网关。

作为优选,所述主节点接收到信息数据后,判断主节点存储的区块链信息是否为空;

如果主节点存储的区块链信息为空,执行如下步骤:

基于密钥生成算法生成密钥对,并创建创世区块,通过主节点本身数据库存储私钥;

基于公钥对空数据进行加密得到加密数据,并基于私钥对加密数据进行签名得到签名;

将公钥、加密数据和签名数据作为区块信息添加至本地已存储区块链,所述区块信息还包括区块ID、前置区块的哈希值、区块自身哈希值、难度、盐值和时间,所述前置区块的哈希值为空;

每个工作节点从主节点下载区块信息并将区块信息添加至本地已存储区块链;

如果主节点本地已存储区块链不为空,执行如下步骤:

主节点从信息数据中提取用户数据,并基于密钥生成算法生成密钥对;

构建用户数据和密钥对的映射关系,通过主节点本地数据库存储私钥、用户数据以及用户数据和密钥对的映射关系;

基于公钥加密设备采集数据得到加密数据,基于私钥对加密数据签名得到签名;

将公钥、加密数据、签名作为区块信息添加至本地已存储区块链的尾端,所述区块信息还包括区块ID、前置区块的哈希值、区块自身哈希值、难度、盐值和时间;

每个工作节点从主节点下载区块信息并将验证通过的区块信息添加至本地已存储的区块链的尾端。

作为优选,所述主节点按照数据接收时间将依次将区块信息添加至本地已存储的区块链尾端;

由主节点计算符合难度要求的哈希值,所述计算方法包括但不限于工作量证明算法;

所述指令数据中至少指定用户和时间,所述时间为数据接收开始时间和数据接收结束时间,或者所述时间为数据接收开始时间。

作为优选,工作节点通过如下步骤验证区块信息:

工作节点接收新的区块信息后,判断新的区块信息对应的前置区块的哈希值是否为工作节点本地已存储区块链中最末区块的哈希值,并判断是否一个满足难度要求的工作量,如果验证通过,则所述新的区块信息合法;

工作节点根据接收的公钥对进行签名认证,如果验证通过,则将新的区块信息作为新区块链接至工作节点本地已存储区块链中最末区块上。

作为优选,工作节点通过创世区块判断主节点本地已存储区块链与工作节点已存储区块链是否为同一个区块链,如果是,则区块链校验通过,工作节点从主节点下载区块信息。

作为优选,主节点根据指令数据中指定的用户和时间查找对应的私钥,并将指令数据和指定的私钥发送至负载最低的工作节点,负载最低的工作节点接收到指令数据和指定的私钥后,根据指令数据及指定的私钥找到对应的区块信息并解密,得到对应设备采集数据,并调用人工智能模块对设备采集数据进行分析得到分析报告,并通过工作节点将分析报告返回网关。

作为优选,主节点和工作节点的路径内均各自配置有连接确认文件,网关通过对应的连接确认文件确认主节点和工作节点的身份。

第二方面,本发明提供一种基于区块链的边缘智能系统,用于执行如第一方面任一项所述的基于区块链的边缘智能计算方法,所述系统包括:

网关,所述网关面向用户并与终端设备连接,用于采集信息数据和指令数据,信息数据包括用户数据和设备采集数据,并用于配置网关与主节点以及主节点与工作节点的连接;

边缘设备,所述边缘设备包括主节点和至少一个工作节点,主节点与网关连接,工作节点为工作节点本身或者具有工作节点功能的主节点,每个工作节点均与主节点连接组成主-从拓扑网络结构;

主节点用于接收信息数据和指令数据,基于密钥生成算法生成密钥对,构建并存储用户数据与密钥对的映射关系,根据密钥对对设备采集数据进行加密及签名得到加密数据和签名,将公钥、加密数据和签名作为区块信息添加至本地已存储区块链的尾端并对外公布,所述区块信息还包括区块ID、前置区块的哈希值、区块自身哈希值、难度、盐值和时间;并用于基于指令数据查找对应的私钥,将指令数据和指定的私钥发送至相关的工作节点;

工作节点用于从主节点下载区块信息并将验证通过的区块信息添加至本地已存储区块链的尾端,并用于根据指令数据及指定的私钥找到对应的区块信息并解密,得到对应设备采集数据,并调用人工智能模块对设备采集数据进行分析得到分析报告,并通过工作节点将分析报告返回网关。

作为优选,所述主节点接收到信息数据后,判断主节点存储的区块链信息是否为空;

如果主节点存储的区块链信息为空,主节点与工作节点配合用于执行如下步骤:

基于密钥生成算法生成密钥对,并创建创世区块,通过主节点本身数据库存储私钥;

基于公钥对空数据进行加密得到加密数据,并基于私钥对加密数据进行签名得到签名;

将公钥、加密数据和签名数据作为区块信息添加至本地已存储区块链,所述区块信息还包括区块ID、前置区块的哈希值、区块自身哈希值、难度、盐值和时间;

每个工作节点从主节点下载区块信息并区块信息添加至本地已存储的区块链;

如果主节点本地已存储区块链不为空,主节点与工作节点配合用于执行如下步骤:

主节点从信息数据中提取用户数据,并基于密钥生成算法生成密钥对;

构建用户数据和密钥对的映射关系,通过主节点本地数据库存储私钥、用户数据以及用户数据和密钥对的映射关系;

基于公钥加密设备采集数据得到加密数据,基于私钥对加密数据签名得到签名;

将公钥、加密数据、签名作为区块信息添加至本地已存储的区块链的尾端,所述区块信息还包括区块ID、前置区块的哈希值、区块自身哈希值、难度、盐值和时间;

每个工作节点从主节点下载区块信息并将验证通过的区块信息添加至本地已存储区块链的尾端。

本发明的基于区块链的边缘智能计算方法及具有以下优点:

1、区块链具有可溯源、防篡改等优势,将区块链应用到边缘智能计算中,确保数据正确及完整,并保证了传输数据的设备合法;

2、网关与边缘设备配合可针对通用设备快速部署一个实际可用的边缘智能网络,该网络能够较为充分的满足用户和开发者的需求。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

下面结合附图对本发明进一步说明。

附图1为实施例1基于区块链的边缘智能计算方法的流程框图;

附图2为实施例1基于区块链的边缘智能计算方法中主节点的初始化流程框图;

附图3为实施例1基于区块链的边缘智能计算方法工作节点的初始化流程框图;

附图4为实施例2基于区块链的边缘智能系统的工作原理框图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。

需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本发明实施例中的“多个”,是指两个或两个以上。

本发明实施例提供一种基于区块链的边缘智能计算方法及边缘智能系统,用于解决如何将区块链技术应用至边缘智能计算以确保数据正确、完整并保证传输数据的合法性的技术问题。

实施例1:

如附图1所示,本发明的一种基于区块链的边缘智能计算方法,基于网关和边缘设备组成的边缘智能系统,所述网关至少一个,面向用户并与物联网终端设备连接,所述边缘设备包括主节点和至少一个工作节点,主节点与上述网关连接,工作节点为工作节点本身或者具有工作节点功能的主节点,每个工作节点均与主节点连接组成主-从拓扑网络结构,该边缘智能计算方法包括如下步骤:

S100、通过网关配置网关与主节点以及主节点与工作节点的连接,用户的信息数据及指令数据通过网关传送至主节点,信息数据包括来自用户的用户数据和终端设备采集的设备采集数据;

S200、主节点接收到信息数据后,基于密钥生成算法生成密钥对,构建并存储用户数据与密钥对的映射关系,根据密钥对对设备采集数据进行加密及签名得到加密数据和签名,将公钥、加密数据和签名作为区块信息添加至本地已存储区块链尾端并对外公布,每个工作节点从主节点下载区块信息并将验证通过的区块信息添加至本地已存储区块链尾端,区块信息还包括区块ID、前置区块的哈希值、区块自身哈希值、难度、盐值和时间;

S300、主节点接收到指令数据后,基于指令数据查找对应的私钥,将指令数据和指定的私钥发送至相关的工作节点,工作节点根据指令数据及私钥找到对应的区块信息并解密,得到对应设备采集数据,并调用人工智能模块对设备采集数据进行分析得到分析报告,并通过工作节点将分析报告返回网关。

其中,边缘智能系统在初始运行时,启动主节点和工作节点硬件设备的服务,在主节点的路径建立一个第一连接确认文件,该第一连接确认文件用于网关确认主节点身份,在工作节点的路径建立一个第二连接文件,该第二连接文件用于网关确认工作节点身份,主节点以及工作节点各个节点的连接关系由管理员在网关上进行配置。

步骤S100中,主节点和工作节点运行后,其服务会申明自己的身份以便网关确认,管理员在网关集成环境上连接主节点,随后将配置得到确认的主节点和工作节点建立连接。网关服务由网站(Web)程序提供,网关的集成环境将首先要求连接主节点,网关程序将验证主节点对应的第一连接确认文件,以确认主节点身份并建立连接;随后,在管理员登录网关后,将配置与该主节点连接的工作节点,网关验证工作节点的第二连接确认文件后,网关将该工作节点添加至主节点所属的工作节点列表中,同时将该工作节点的主节点设定为该主节点,以此建立连接。

可选地,在使用过程中,可将主节点设置为同时承担工作节点的工作,此时主节点内相当于有两个模块,一个模块为主节点程序工作模块,另一个模块为工作节点程序工作模块。其过程是:首先,应在主节点设备上同时启动主节点和工作节点的服务,主节点的工作服务同样会在其路径下建立属于主节点服务的连接确认文件。建立网关与主节点连接过程与上述过程一致;随后管理员操作网关执行允许主节点同时作为工作节点的指令后,将在主节点内部建立两个模块间的连接。

用户登录网关后,物联网终端设备采集其相关设备采集数据,设备采集数据传输至网关,网关将用户数据以及设备采集数据传输至主节点。

如附图2所示,主节点运行接收到信息数据后,从主节点本地数据库中加载已有的区块链判断主节点存储的区块链信息是否为空,如果该主节点为首次运行,主节点存储的区块链信息为空,则进行如下操作:

通过密钥生成算法生成一对公私密钥对,主节点生成创世区块并通过本身数据库存储私钥;

基于密钥对设备采集数据进行加密得到加密数据,基于私钥对加密数据进行签名得到签名;

基于工作量证明算法生成符合难度要求的哈希值,并通过base64编码方法表示公钥;

将区块ID、公钥、加密数据、签名、前置区块的哈希值、区块自身哈希值、难度、盐值、时间作为区块信息添加至本地已存储区块链,其中前置区块的哈希值为空;

工作节点从主节点下载上述区块信息,并将上述区块信息添加至本地已存储区块链。

如果主节点本地已存储区块链不为空,主节点从网关接收信息数据后,执行如下操作:

主节点从信息数据中提取用户数据,并通过密钥生成算法生成一对公私密钥对;

构建用户数据和密钥对的映射关系,通过主节点本地数据库存储私钥、用户数据以及用户数据和密钥对的映射关系;

基于公钥加密设备采集数据得到加密数据,基于私钥对加密数据签名得到签名;

基于工作量证明算法生成符合难度要求的哈希值,并通过base64编码方法表示公钥;

将区块ID、公钥、加密数据、签名、前置区块的哈希值、区块自身哈希值、难度、盐值和时间作为区块信息添加至本地已存储区块链的尾端;

每个工作节点从主节点下载区块信息并将验证通过的区块信息添加至本地已存储区块链的尾端。

区块链应用工作量证明算法,为了保证运算的速度均衡,区块链的难度值将能够随时调整,尤其是运算了一定时间或数量后仍未满足条件时降低难度,但最小不得低于2,即最少前两位为零,否则不足以验证工作量,当计算出符合难度的哈希值后,主节点将公钥、加密数据、签名以及区块ID、前置区块的哈希值、区块自身哈希值、难度、盐值以及数据接收时间整合为区块信息,将区块信息作为新区块添加至主节点本地已存储区块链中最尾端的区块上并对外发布。

其中,在区块以及对外公布中,公钥使用基于base64编码格式表示。上述区块信息、公钥、用户数据以及用户数据与密钥对的映射关系均持久化存储于主节点本地数据库中。

按照上述步骤,主节点持续接收新的信息数据,并按照数据接收时间依次将对应的区块信息作为新区块添加至主节点本地区块链中。

主节点是所有区块的打包者,主节点是区块链中数据的拥有者,在区块链技术中,数据的归属者拥有私钥,因此主节点的本地数据库中存储全部的密钥对,对外发布的文件中,仅包含加密数据、签名数据以及公钥等,不包含用户数据和私钥;工作节点可通过区块信息验证数据来源可靠可追溯,通过公钥验证签名来确认数据的正确性和完整性;由于密钥对与信息数据是一一对应的,且设备采集数据是加密的,其它节点不能得知设备采集数据的内容以及用户数据,即使是同一个用户,其每次传输的信息数据对应的密钥也不相同,其它节点也无法分析用户数据频率等信息。

如附图3所示,主节点将区块信息作为新区块添加至本地已存储区块链后,将区块信息发送至所有与其连接的工作节点,每个工作节点验证区块信息后将通过验证的区块信息添加至工作节点本地已存储区块链。具体的,通过如下步骤验证并添加区块信息:

(1)、工作节点接收新的区块信息后,判断新的区块信息对应的前置区块的哈希值是否为工作节点本地已存储区块链中最末区块的哈希值,并执行工作量算法判断是否一个满足难度的工作量,如果验证通过,则所述新的区块信息合法;

(2)、工作节点根据接收的公钥对进行签名认证,如果验证通过,则将新的区块信息作为新区块链接至工作节点本地已存储区块链中最末区块上。

在工作节点验证区块信息过程中,如果验证不通过则拒绝接收区块信息。

错误发生时(如突然断电)工作节点通过创世区块判断主节点本地已存储区块链与工作节点本地已存储区块链是否为同一个区块链,如果是,则区块链校验通过,工作节点从主节点下载区块信息。

具体地,工作节点运行后,将首先从与其连接的主节点上下载区块链数据,并与自身存储的区块链进行比较,工作节点内程序将会验证两条区块链是否为同一条区块链。区块链的原则是最长链原则,工作节点将会比较自己的区块链同主节点上下载的区块链的长度,取最长的一条。然而,由于主节点是唯一的时刻挖掘着的矿工,因此,在该系统的设计中,若出现工作节点原有的区块链长度更长的情况,则意味着发生了错误。出现这种情况的原因一般有两种,一是由于某些意外(如断电)使不同节点程序运行发生了中断,最终导致区块链出现了分叉;另一种是由于在网关上设置添加工作节点时,添加了本应属于其他主节点的工作节点,该工作节点中存储的是其他主节点所挖掘的区块生成的区块链,即完全不是同一条区块链。在该系统的设计中,区块链的创世区块同样具有唯一的随机产生的密钥来对其进行保护,因此,可以通过对创世区块的比对来判断两条区块链是由于分叉产生的,还是完全不同的两条区块链。当错误发生时,工作节点程序将通过对本地的区块链的创世区块和从主节点上下载的区块链的创世区块进行比较,判断是哪一种错误类型,并做出反馈,以方便管理员纠正错误。该框架的程序将会严格地验证区块链,以确保区块链的一致和完整。

由于每个设备采集数据均由一个全新的随时生成的密钥保护,本实施例基于2048bit的RSA加密算法生成的密钥是很难破解的,窃密者将不能生成大量的对应私钥,因此该方法能够保证数据的安全和可靠性。当全部验证通过后,工作节点将区块信息添加至工作节点本地区块链,并持久化存储在工作节点本地数据库中。

用户在网关发出指令数据,网关将指令数据发送至主节点,主节点根据指令数据中指定的用户和数据接收时间查找对应的私钥,并将私钥和指令数据发送至负载最低的工作节点,负载最低的工作节点接收到私钥和指令数据后,根据指令数据及私钥找到对应的区块信息并解密,得到对应设备采集数据,并调用人工智能模块对设备采集数据进行分析得到分析报告,并通过工作节点将分析报告返回网关,用户通过网关访问工作节点获取分析报告。

在配置过程中,网关一般选用微型计算机,主节点一般选用低功耗微型机如树莓派,工作节点一般选用具有一定计算性能的通用计算机。

实施例2:

如附图4所示,本发明的一种基于区块链的边缘智能系统,包括网关和边缘设备,网关至少一个,网关面向用户并通过与终端设备连接,边缘设备包括主节点和至少一个工作节点,主节点通过交换机与网关连接,每个工作节点均与主节点连接组成主-从拓扑网络结构。

网关一般选用微型机,针对连接数量多、距离远、范围广等情况也可酌情使用小型机,一般在一定物理距离之内的多个物联网终端设备配备一个网关,部署后,使用如手机等移动便携设备连接至相应服务器,可以是作为网关。网关用于采集信息数据和指令数据,信息数据包括用户数据和设备采集数据,并用于配置网关与主节点以及主节点与工作节点的连接。

主节点一般采用低功耗微型机如树莓派,如需要主节点同时作为工作节点使用,需要使用具有一定计算性能的通用计算机,一个部署的边缘智能系统中配备一个主节点。主节点用于接收信息数据和指令数据,基于用户数据生成密钥对,构建并存储用户数据与密钥对的映射关系,根据密钥对对设备采集数据进行加密及签名得到加密数据和签名数据,将公钥、加密数据和签名数据作为区块信息添加至主节点本地已存储区块链并对外公布;并用于基于指令数据查找对应的私钥,将指令数据和私钥发送至相关的工作节点;上述区块信息还包括区块ID、前置区块的哈希值、区块自身哈希值、难度、盐值和时间。

工作节点一般采用具有一定计算性能的通用计算机,其数量至少为一个,具体数量根据规模而定。工作节点用于从主节点下载区块信息并将验证通过的区块信息添加至工作节点本地已存储区块链,并用于根据指令数据及私钥找到对应的区块信息并解密,得到对应设备采集数据,并调用人工智能模块对设备采集数据进行分析得到分析报告,并通过工作节点将分析报告返回网关。

网关面向用户并与物联网终端设备连接,网关提供如下服务:

(1)面向管理员,管理员通过网关部署该系统配置,确定主节点和工作节点的身份并配置网关与主节点以及主节点与工作节点的连接。

(2)面向用户,采集用户数据和指令数据;

(3)面向终端设备,采集设备采集数据。

其中,边缘智能系统在初始运行时,启动主节点和工作节点硬件设备的服务,在主节点的路径建立一个第一连接确认文件,该第一连接确认文件用于网关确认主节点身份,在工作节点的路径建立一个第二连接文件,该第二连接文件用于网关确认工作节点身份,主节点以及工作节点各个节点的连接关系由管理员在网关上进行配置。

主节点和工作节点运行后,其服务会申明自己的身份以便网关确认,管理员在网关集成环境上连接主节点,随后将配置得到确认的主节点和工作节点建立连接。网关服务由网站(Web)程序提供,网关的集成环境将首先要求连接主节点,网关程序将验证主节点对应的第一连接确认文件,以确认主节点身份并建立连接;随后,在管理员登录网关后,将配置与该主节点连接的工作节点,网关验证工作节点的第二连接确认文件后,网关将该工作节点添加至主节点所属的工作节点列表中,同时将该工作节点的主节点设定为该主节点,以此建立连接。

可选地,在使用过程中,可将主节点设置为同时承担工作节点的工作,此时主节点内相当于有两个模块,一个模块为主节点程序工作模块,另一个模块为工作节点程序工作模块。其过程是:首先,应在主节点设备上同时启动主节点和工作节点的服务,主节点的工作服务同样会在其路径下建立属于主节点服务的连接确认文件。建立网关与主节点连接过程与上述过程一致;随后管理员操作网关执行允许主节点同时作为工作节点的指令后,将在主节点内部建立两个模块间的连接。

主节点运行后,从主节点本地数据库中加载已有的区块链,如果该主节点为首次运行,主节点本地数据库中没有区块链信息,则创建本地区块链并生成创世区块作为第一个区块,该创世区块的区块信息包括区块ID、前置区块的哈希值、区块自身哈希值、难度、盐值以及时间,其中前置区块的哈希值为空。

主节点提供如下服务:

(1)接收网关传输的信息数据和指令数据,信息数据包括用户数据和设备采集数据,指令数据中应指明用户和数据接收时间;

(2)从接收的信息数据中提取用户数据,通过密钥生成算法随机生成对应用户数据的密钥对,通过公钥对设备采集数据加密得到加密数据,并通过私钥对加密数据签名得到签名数据;

(3)将加密数据、签名以及公钥作为区块信息添加至本地区块链中作为一个新区块,其中区块信息还包括区块ID、前置区块的哈希值、区块自身哈希值、难度、盐值、时间等;

(3)、将区块信息持久化存储在本地数据库中,并构建用户数据和密钥对的映射关系,私钥以及用户数据和密钥对的映射关系均存储持久化存储在本地数据库中;

(4)、将区块信息传输至每个与其连接的工作节点;

(5)、接收指令数据,根据指令数据中指明的用户和数据接收时间找到对应的私钥,并将指令数据和指定的私钥发送至负载最小的工作节点。

工作节点运行后,从与其连接的主节点上下载区块信息并进行验证,将验证通过的区块信息作为新区块添加至工作节点本地区块链上。

工作节点提供如下服务:

(1)、接收主节点传输的区块信息;

(2)、通过该如下步骤验证区块信息,并将验证通过的区块信息添加至工作节点本地已存储区块链中:工作节点从主节点下载区块信息,判断新的区块信息对应的前置区块的哈希值是否为工作节点本地已存储区块链中最末区块的区块自身哈希值,并执行工作量算法判断是否一个满足难度的工作量,如果验证通过,则所述新的区块信息合法,根据接收的公钥对进行签名认证,如果验证通过,则将新的区块信息作为新区块链接至工作节点本地已存储区块链中最末区块上;如果验证不通过则拒绝接收区块信息;

在发生错误时包括突然断电,工作节点通过创世区块判断主节点本地已存储区块链与工作节点本地已存储区块链是否为同一个区块链,如果是,则判断区块链是否存在分叉,如果否,则区块链校验通过;

(3)、将验证通过的区块信息持久化存储于本地数据库中;

(4)、接收到指令数据后,根据指令数据及私钥找到对应的区块信息并解密,得到对应设备采集数据,并调用人工智能模块对设备采集数据进行分析得到分析报告,并通过工作节点将分析报告返回网关,用户通过网关访问工作节点获取分析报告。

本发明的一种基于区块链的边缘智能系统可实现实例1公开的一种基于区块链的边缘智能计算方法。

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号