基于新型嵌套链架构的面向海量实时物联网的上链方法

文档序号:31715646发布日期:2022-10-04 21:43阅读:58来源:国知局
基于新型嵌套链架构的面向海量实时物联网的上链方法

1.本发明涉及计算机技术领域,尤其涉及一种基于新型嵌套链架构的面向海量实时物联网的上链方法。


背景技术:

2.区块链作为一种结合分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,凭借其去中心化、不可篡改、可追溯、匿名等特征,在众多前沿领域取得了广泛的应用。随着物联网(iot)和5g 技术的飞速发展,车联网、远程医疗等应用场景产生的海量实时数据成为当前区块链技术落地的关键挑战。
3.联盟区块链系统如hyperledger fabric,具有较高的吞吐量和较低的时延,并且能够实现对节点身份的认证和数据的访问控制。然而,其可拓展性特别是节点数量相比公链受到限制,随着加入区块链节点数量的上升,会出现系统开销的急剧上升和性能的急剧下降。


技术实现要素:

4.本发明针对联盟链随着区块链节点数量增加,系统开销急剧上升性能急剧下降,从而导致链下信息难以与链上数据协同的问题,提出一种基于新型嵌套链架构的面向海量实时物联网的上链方法。
5.为了实现上述目的,本发明提供如下技术方案:
6.一种基于新型嵌套链架构的面向海量实时物联网的上链方法,区块链系统由单条父链和多条子链组成,父链和子链的组成节点均分为两种类型:普通节点只负责本地数据管理功能;通信节点除和普通节点一样的功能外还具备跨链通信功能;父链和子链中的通信节点共同构建一个通信通道,即中继链,用于链间的数据交换;子链以嵌套的结构与父链共存,用以对接链下大规模应用数据,基于机器学习实现子链通信节点的动态感知,并排查恶意节点,高效选取和替换父链接入节点,实现高可用性的子链动态接入。
7.进一步地,子链接入节点的选取过程是利用改进的gcn算法进行节点的感知以及分类,从而筛选出子链中高效节点用于链间通信。
8.进一步地,子链接入节点的选取过程为:
9.s31、图构建:
10.利用区块链中节点的特征属性以及节点间的交易信息构建交易图,作为神经网络模型输入,每个交易图是由节点与边组成的包含边信息的有向图;
11.s32、图学习:
12.gcn模型初始输入为图构建产生的矩阵,之后通过层级传播对节点状态进行更新;
13.s33、节点分类与父链协同评估:
14.gcn模型最后一层得到t次迭代后每个节点的状态向量其中t为每一
个节点的输出特征数,即节点类别数;对每个节点应用将模型输出值映射成概率值,得到每一个节点的分类概率:该向量代表第i个节点分别是这t个类别的概率,即节点分别作为接入节点、候补节点、普通节点、低效节点的概率值,取最大概率为节点类型,得到每一个节点的分类概率;同时,父链根据节点历史更新信息评估子链选取的接入节点,若该节点历史作为低效节点的次数t》阈值th,则父链向子链请求从候补节点列表中替换该接入节点。
15.进一步地,图构建过程主要包含以下关键参数:
16.节点特征矩阵第k个节点的特征属性表示为:第k个节点的特征属性表示为:f1为本轮发起的交易次数,f2为上一轮发起的交易次数,s1为当前节点类型,s2为上一轮节点类型;
17.权重矩阵类型为r的交易权重矩阵,权重矩阵由交易权重构建,即交易图中某一条边被构建的次数,即本轮从节点i到节点j的交易次数;
18.交易延时矩阵由构建,该值表示本轮m次交易内从节点i到节点j之间类型r的交易延时等级,交易延时等级阶数预设定为n,即总共有n个延时等级,取本轮所有交易延时的极值t
max
、t
min
,按均匀划分等级;本轮节点i到节点j之间类型r的平均交易延时均交易延时根据等级划分范围确定t
cur
所处的等级即得到
19.网络延时矩阵由构建,该值表示本轮m次交易内从节点 i到节点j进行类型为r的交易时所处网络环境延时等级,被划分为n等级,统计本轮类型为r的每次交易的网络ping值t
max
、t
min
,按均匀划分等级并计算平均网络时延,确定所处等级得到
20.进一步地,图学习过程中,节点前向更新的传播模型被定义为:
[0021][0022]
其中表示第i个节点在第l+1层神经网络的隐藏状态;
[0023]
α、β分别为交易延时和网络延时的权重,α+β=1;
[0024]
σ为relu激活函数;
[0025]
归一化因子子表示本轮与节点i进行过r类型交易的节点集合;
[0026]
表示交易类型为r的第l层神经网路的权重矩阵。
[0027]
进一步地,图学习过程中,定义状态向量迭代次数为t,即l≤t;模型第l层的输入
表示为其中h
(0)
=v,前向传播总共进行t次状态更新。
[0028]
上述的基于新型嵌套链架构的面向海量实时物联网的上链方法,运行流程包括以下步骤:
[0029]
s1、原始数据处理:物联网设备通过网关将原始数据发送到子链,首先网关将对物联网设备进行身份验证,验证通过后对原始数据进行上链前的预处理并发送到子链;
[0030]
s2、请求发送:
[0031]
子链向父链发起通信请求并将此请求发送给系统排序服务;
[0032]
s3、通信交易节点选取:
[0033]
定义子链每隔m次交易实现一次节点选取,子链根据对链内节点的态势感知选出高效节点,作为接入父链的通信节点;父链针对每条子链有固定的通信节点;
[0034]
s4、数据发送:
[0035]
排序服务新建一个通道并将双方选取的通信节点加入其中,形成中继链,子链通信节点从链内读取指定数据,经过特定智能合约的处理后,被提交到中继链中;
[0036]
s5、数据验证与确认:
[0037]
中继链中的双方通信节点达成共识,数据被写入双方通信节点本地区块中,父链通信节点从本地读取数据,并在验证所收到数据完整性与一致性之后,提交到链内并达成共识,从而完成数据交换;
[0038]
s6、交易信息存储:
[0039]
每次交易完成后,本次交易事件以键值对方式存储在子链,用于下一次节点选取,节点更新信息同时也会被发送到中继链进而备份在父链中,用于父链对子链节点的评估。
[0040]
进一步地,步骤s4中,子链只将处理后的物联网数据的哈希摘要上载到主链。
[0041]
进一步地,步骤s6中,交易信息属性如下:《sender,receiver,type, transaction delay,network delay》,sender表示交易发起方,receiver表示交易接收方,type表示交易类型,transaction delay表示交易延时(单位ms), network delay表示网络延时。
[0042]
进一步地,若本次交易经过了子链节点选取过程,则每个节点的类型更新事件以键值对形式被存储在子链中,属性包括《id,category, transactions》,id表示节点id,category表示本次更新后节点类型, transactions表示本轮节点发起的交易数。
[0043]
与现有技术相比,本发明的有益效果为:
[0044]
本发明提供的基于新型嵌套链架构的面向海量实时物联网的上链方法,提出一条父链与多个子链共存的嵌套链架构,即父链保有较小规模的节点数量,主要负责收集重要信息用于iot数据验证、记录身份信息、全局数据管理等;子链数量多节点多,具有高灵活性、可拓展性,用于接受和存储本地iot数据,并为链下应用数据提供上链前的处理,保证链下应用网络的海量数据能够完整、及时、高效上载。同时,本发明基于嵌套链设计面向应用网络子链节点的动态部署方法,研究如何动态感知并排查恶意节点,高效选取和替换父链接入节点,以保证节点的合法性、安全性以及数据高效上链,实现高可用性的子链动态接入。
[0045]
本发明提供的基于新型嵌套链架构的面向海量实时物联网的上链方法,相比于现有技术优势在于:(1)高效处理海量实时数据,缓解父链压力。子链以嵌套的结构与父链共
存,用以对接链下大规模应用数据,实现数据的降维降频,为链下链上数据协同提供可能。(2)具有高性能稳定子链,确保数据信息的完整性以及数据上链的高效性。采用基于机器学习的态势感知方法动态管控子链节点,设计深度神经网络挖掘潜在特征,筛查低效节点,确保认证节点合法性、子链高可拓展性以及父链子链之间的稳定连通。(3)针对仅子链评测节点的单一性,为更精确地进行节点分类,设计父链与子链协同评估的方案提高对低效节点的识别效率。
附图说明
[0046]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0047]
图1为本发明实施例提供的方法的流程图。
[0048]
图2为本发明实施例提供的嵌套链架构示意图。
[0049]
图3为本发明实施例提供的节点感知算法流程图。
[0050]
图4为本发明实施例提供的节点特征向量。
[0051]
图5为本发明实施例提供的权重矩阵。
[0052][0053]
具体实施方式
[0054]
为了更好地理解本技术方案,下面结合附图对本发明的方法做详细的说明。
[0055]
本发明针对目前区块链网络应用数据的海量规模和高实时性,设计一种父子链协同的嵌套链架构,如图2所示。其基本思想是采用多条小规模区块链并行来避免在单链中不断加入节点而导致性能上的损失,同时保证系统中父子链的独立性和父子链间的信息交流,保障应用数据能够完整、及时、高效上载区块链系统。
[0056]
为了更好的管理整个系统和适应实际物联网场景下的需要,系统由单条父链(main chain)和多条子链(sub chain)组成,每条链都可以单独承担一条小规模区块链的功能,其组成节点主要分为两种类型:普通节点只负责本地数据管理功能;通信节点除和普通节点一样的功能外还具备跨链通信功能,父链和子链中的通信节点可以共同构建一个通信通道,在本系统中被称为中继链(relay chain),用于链间的数据交换。
[0057]
本发明综合考量应用网络通信状态、交易数据等条件,提供一种基于新型嵌套链架构的面向海量实时物联网的上链方法,基于机器学习实现子链通信节点的动态感知,优化节点智能选取和模型更新,保障父链与子链之间连通的高效性,搭建稳定、高可拓展子链。
[0058]
本发明的区块链系统运行流程如图1所示,具体如下:
[0059]
步骤1:原始数据处理
[0060]
物联网设备通过网关将原始数据发送到子链,首先网关将对物联网设备进行身份验证,验证通过后对原始数据进行上链前的预处理并发送到子链。
[0061]
步骤2:请求发送
[0062]
子链向父链发起通信请求并将此请求发送给系统排序服务(由系统管理员控制);
[0063]
步骤3:通信(交易)节点选取
[0064]
定义子链每隔m次交易实现一次节点选取,子链根据对链内节点的态势感知选出高效节点,作为接入父链的通信节点;父链针对每条子链有固定的通信节点。本发明针对子链优化接入节点的选取过程,利用改进的gcn (图卷积神经网络)算法进行节点的感知以及分类,如图3所示,从而及时有效地筛选出子链中高效节点用于链间通信,保障应用数据完整、快速地上链。
[0065]
3.1图构建
[0066]
利用区块链中节点的特征属性以及节点间的交易信息构建交易图,作为神经网络模型输入,每个交易图是由节点与边组成的包含边信息的有向图g=(v,e),其中v为节点,e为边。节点总数n=|v|,边e= {(ni,nj,t)|ni,nj∈v}表示节点i向节点j发起的交易,交易类型为t(如资产转移、账本查询等)。
[0067]
图构建过程主要包含以下关键参数:
[0068]
节点特征矩阵第k个节点的特征属性表示为:第k个节点的特征属性表示为:f1为本轮发起的交易次数,f2为上一轮发起的交易次数,s1为当前节点类型,s2为上一轮节点类型。
[0069]
权重矩阵类型为r的交易权重矩阵,权重矩阵由交易权重构建,即交易图中某一条边被构建的次数(本轮从节点i到节点j的交易次数)。
[0070]
交易延时矩阵由构建,该值表示本轮m次交易内从节点 i到节点j之间类型r的交易延时等级,交易延时等级阶数预设定为n(即总共有n个延时等级),取本轮所有交易延时的极值t
max
、t
min
,按均匀划分等级。本轮节点i到节点j之间类型r的平均交易延时平均交易延时根据等级划分范围确定t
cur
所处的等级即得到
[0071]
网络延时矩阵由构建,该值表示本轮m次交易内从节点 i到节点j进行类型为r的交易时所处网络环境延时等级,同上被划分为n 等级,统计本轮类型为r的每次交易的网络ping值t
max
、t
min
,同上述步骤按均匀划分等级并计算平均网络时延,确定所处等级得到
[0072]
3.2图学习
[0073]
gcn模型初始输入为图构建产生的矩阵,之后通过层级传播对节点状态进行更新,节点前向更新的传播模型被定义为:
[0074]
[0075]
其中表示第i个节点在第l+1层神经网络的隐藏状态;
[0076]
α、β分别为交易延时和网络延时的权重,α+β=1;
[0077]
σ为relu激活函数;
[0078]
归一化因子(表示本轮与节点i进行过r类型交易的节点集合);
[0079]
表示交易类型为r的第l层神经网路的权重矩阵。
[0080]
定义状态向量迭代次数为t,即l≤t。模型第l层的输入可以表示为其中h
(0)
=v,前向传播总共进行t次状态更新。
[0081]
3.3节点分类与父链协同评估
[0082]
gcn模型最后一层得到t次迭代后每个节点的状态向量其中t为每一个节点的输出特征数,即节点类别数。对每个节点应用将模型输出值映射成概率值,得到每一个节点的分类概率该向量代表第i个节点分别是这t个类别的概率,即节点分别作为接入节点、候补节点、普通节点、低效节点的概率值,取最大概率为节点类型。同时,父链根据节点历史更新信息评估子链选取的接入节点,若该节点历史作为低效节点的次数t》阈值th,则父链向子链请求从候补节点列表中替换该接入节点。
[0083]
步骤3:数据发送
[0084]
排序服务新建一个通道并将双方选取的通信节点加入其中,形成中继链。子链通信节点从链内读取指定数据,经过特定智能合约的处理后,被提交到中继链中。为避免链上大量数据传输造成的开销,子链只将处理后的物联网数据的哈希摘要上载到主链。
[0085]
步骤4:数据验证与确认
[0086]
中继链中的双方通信节点达成共识,数据被写入双方通信节点本地区块中,父链通信节点从本地读取数据,并在验证所收到数据完整性与一致性之后,提交到链内并达成共识,从而完成数据交换。
[0087]
步骤5:交易信息存储
[0088]
每次交易完成后,本次交易事件以键值对方式存储在子链,用于下一次节点选取,属性如下:《sender,receiver,type,transaction delay,networkdelay》,分别表示交易发起方,交易接收方,交易类型,交易延时(单位ms),网络延时(单位ms)。若本次交易经过了子链节点选取过程,则每个节点的类型更新事件(以键值对形式)也会被存储在子链,属性包括《id,category, transactions》,分别表示节点id,本次更新后节点类型,本轮节点发起的交易数。节点更新信息同时也会被发送到中继链进而备份在父链中,用于父链对子链节点的评估。
[0089]
实施例
[0090]
首先,物联网设备将原始数据发送到区块链之前会由网关验证设备身份,如果该物联网设备未在子链上注册,网关将联系区块链的ca(证书颁发机构)为该设备注册一个新身份。身份验证通过后,原始数据将由网关整合为json键值对形式,对于不易处理的数据,
将原始数据加密储存在链下,将其哈希摘要和存储地址发送到链上。
[0091]
子链收到数据后,向父链发送通信请求,同时进行在链内选取高效节点用于通信,若本次交易为本轮中第k次(k《m),则子链直接由上轮所选的接入节点作为通信节点;若本次交易为第m次,则进行节点分类和选取:
[0092]
假设基本参数如下:嵌套链架构中一条子链为3个节点,节点集合 n={a,b,c},交易周期m=10,交易类型r=2,延时等级阶数n=5,权重α=0.8,β=0.2,迭代次数t=2,阈值th=2。
[0093]
假设本轮中10条交易事件如下:
[0094]
《a,b,1,28,56》《a,c,1,34,69》《b,a,2,150,45》《c,a,1,25, 47》《a,b,2,197,77》《c,b,1,68,29》《a,b,2,99,57》《b,a,2, 165,49》《b,c,1,86,55》《c,b,1,39,37》
[0095]
子链首先读取本轮10次交易信息,统计每个节点参与交易的次数,同时从节点更新事件中可以读取节点当前类型以及节点上一轮的类型,如下表所示。四种节点类型(接入节点、候补节点、普通节点、低效节点)分别被标注1-4。
[0096]
首先根据子链存储的历史节点信息和本轮交易信息初始化节点特征向量:如表1所示。
[0097]
表1节点特征向量
[0098]
v1=[3,2,2,2]v2=[2,1,4,1]v3=[2,3,3,1]
[0099]
由此构建节点特征矩阵v作为模型输入,即
[0100]
根据本轮的10次交易事件,构建权重矩阵、交易延时矩阵和网络延时矩阵。
[0101]
对于权重矩阵,例如当交易类型r=1时,从节点a到节点b的交易次数为3,则同理可得到表2。当交易类型r=2时,同理可得到表3。
[0102]
表2权重矩阵wr(r=1)
[0103][0104]
表3权重矩阵wr(r=2)
[0105][0106]
对于交易延时,当r=1时,max=86ms,min=25ms,间隔为按此将延时划分为5个等级,例如从节点c到节点b的平均交易时延为根据时延划分范围,见表4;同理当r=2据此计算间隔并划分等级,如表5所示。
[0107]
表4交易延时矩阵tr(r=1)
[0108][0109]
表5交易延时矩阵tr(r=2)
[0110][0111]
对于网络延时,同上述步骤分别对不同交易类型进行延时等级划分,如表6和表7所示。
[0112]
表6网络延时矩阵lr(r=1)
[0113][0114]
表7网络延时矩阵lr(r=2)
[0115][0116]
代入定义的前向传播模型可得到下一隐藏层输出,经过2次迭代可以得到节点最终的状态向量(如图4)。
[0117]
使用softmax归一化得到每个节点分类概率,例如对于节点a如图5 所示。
[0118]
同理得到节点b、节点c的分类概率值如表8和表9所示。
[0119]
表8节点b分类概率值
[0120]
0.31接入节点0.43候补节点0.24普通节点0.02低效节点
[0121]
表9节点c分类概率值
[0122]
0.03接入节点0.05候补节点0.13普通节点0.79低效节点
[0123]
根据概率最大值分类可得本轮节点a为接入节点,节点b为候补节点,节点c为低效节点。子链根据该分类结果选取节点a为接入至父链的通信节点,同时父链在本地记录中可以统计节点a历史作为低效节点的次数假设为3,3>2(阈值),因而节点a不符合作为接入节点的条件,此时父链则向子链请求使用候补节点b替换节点a,子链收到请求后将会选取节点b 为通信节点,排序服务利用父子链的通信节点创建一条中继链用于数据交换。子链将处理后的物联网数据的哈希要通过中继链发送到主链,完成链上数据传输。同时子链从主链请求客户端的公钥,利用此公钥加密数据后进行链下传输,主链接收数据后用客户端私钥解密,生成新的哈希并和链上哈希对比,若哈希值一致则数据被提交到链内并完成共识,通信结束;若不一致则说明数据在传输过程被修改,父链摒弃该值并通知子链,子链可请求重新上传数据或结束通信。本次通信完全结束后,子链等待下一条物联网设备的数据上链申请,并重复上述案例的流程。
[0124]
本发明针对链下应用网络数据由于海量规模和高实时性而难以上载至区块链这一挑战设计了一种新型嵌套链架构,利用父子链共存的机制实现链下信息与链上数据协同,并提出了融合感知、选取、评估为一体的子链节点管控机制,保障子链与父链的稳定连通以及数据高效上链。
[0125]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,但这些修改或者
替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1