基于区块链的物联网系统跨链交互方法技术方案

技术编号:33132647 阅读:28 留言:0更新日期:2022-04-17 00:52
本发明专利技术公开了一种基于区块链的物联网系统跨链交互方法,该方法包括:在主链节点上部署节点信誉模型,周期性更新各主链节点的信誉值,并选择信誉值最高的至少一个主链节点作为本轮共识周期的主链共识节点;用户通过访问源子链对应的子系统,发起对目的子链的用户请求;源子链节点根据优先级策略模块将用户请求融合为跨链请求包,并将其作为参数传入主链的跨链交易合约,跨链交易合约内部验证用户权限,若验证成功,主链共识节点抛出跨链请求事件;目的子链节点监听跨链请求事件,获取针对该目的子链的用户请求,执行该用户请求并将执行结果反馈至源子链节点,然后反馈至用户,通过在主链节点上部署节点信誉模型可以有效的提高共识效率和吞吐量。提高共识效率和吞吐量。提高共识效率和吞吐量。

【技术实现步骤摘要】
基于区块链的物联网系统跨链交互方法


[0001]本专利技术涉及计算机
,具体涉及一种基于区块链的物联网系统跨链交互方法。

技术介绍

[0002]区块链是一种由多节点共同维护的去信任和去中心化的分布式账本技术,数据一旦经过区块链节点的验证上传到区块链后,将永久存储并且不可被篡改。由于区块链所具备的去信任化存储、防篡改、可追溯、公开透明等特性,国内外研究学者已经对区块链在物联网系统中的应用做了较多研究,实现了物联网数据的安全可靠存储;并利用智能合约实现了设备自动监测和设备数据管理。
[0003]由于物联网场景中的智能设备具有采样频率高、采样数据量大等特点,如果将全部数据存储到同一区块链上,会对区块链节点的存储能力带来极大的挑战,同时也不利于数据的管理与使用。现有技术中将各子系统产生的数据存储在不同的子链区块链中,并利用主链实现子链间的数据交互。
[0004]上述研究虽然通过多链跨链方式将数据分散存储到多条区块链中,在减轻区块链节点存储压力的同时实现了不同子系统之间的数据交互,但是其涉及的区块链节点数量较少。在实际场景中,物联网系统通常由多个子域系统构成,构成主链的区块链节点数量较多,节点间的共识时延无法满足系统的实际使用需求;此外,物联网系统产生的操作请求可分为不同的优先级,系统验收标准对各类操作请求的响应时间要求也不相同,现有技术中虽然设计了基于多优先级队列的请求处理策略,但是其处理逻辑较为简单,难以高效、及时地处理各优先级请求。
[0005]针对相关技术中区块链的共识时延无法满足系统的实际使用需求的问题,尚未提出有效的解决方案。

技术实现思路

[0006]本专利技术针对上述的共识时延较长的技术问题,提出一种基于区块链的物联网系统跨链交互方法。
[0007]为了实现上述目的,本专利技术提供了如下技术方案:
[0008]第一方面,本专利技术提出一种基于区块链的物联网系统跨链交互方法,包括以下步骤:
[0009]主链共识节点选择步骤,在主链节点上部署节点信誉模型,周期性更新各主链节点的信誉值,并选择信誉值最高的至少一个主链节点作为本轮共识周期的主链共识节点;
[0010]用户请求交互步骤,用户通过访问源子链对应的子系统,发起对目的子链的用户请求;
[0011]权限验证步骤,源子链对应的源子链节点根据优先级策略模块将用户请求融合为跨链请求包,并将其作为参数传入主链的跨链交易合约,跨链交易合约内部验证跨链请求
包内每条用户请求的用户权限,若验证成功,主链共识节点抛出跨链请求事件;
[0012]请求响应步骤,目的子链对应的目的子链节点监听跨链请求事件,解析获取针对该目的子链的用户请求,执行该用户请求并将执行结果反馈至源子链节点,源子链节点将接收到执行结果反馈至用户。
[0013]优选的是,权限验证步骤之前还包括权限控制树生成步骤,包括以下步骤:
[0014]定义用户对子系统的权限控制策略,调用部署在主链的权限控制合约,通过对权限控制策略进行切分、组合生成对应的权限控制树,并将其存入主链账本,权限控制树用于验证用户请求的用户权限。
[0015]优选的是,权限控制树生成步骤进一步包括:
[0016]将权限控制策略以字符串的形式传入权限控制合约内部,权限控制策略包括属性和关系;
[0017]权限控制合约内部定义权限控制树中节点的结构,节点包括根节点和其他节点;
[0018]利用∪字符筛选权限控制策略,获得仅包含属性和∩关系的字符串数组,然后再利用∩字符筛选字符串数组的每一项,获得二维字符串数组;
[0019]遍历上述步骤生成的二维字符串数组,利用指针将二维字符串数组的每一项连接起来形成一颗子树,将所有子树连接到根节点形成权限控制树。
[0020]优选的是,主链共识节点选择步骤中信誉值的更新流程具体包括以下步骤:
[0021]信誉值获取步骤,各主链节点分别通过调用节点信誉值获取合约获取上一轮共识周期的各主链节点的信誉值,并据此结合各主链节点的硬件指标以及上一轮共识周期的共识投票结果计算得到各主链节点的本轮信誉值总分数,并生成节点信誉值列表;
[0022]信誉值广播步骤,各主链节点通过网络向其他主链节点广播其自身计算的节点信誉值列表和对节点信誉值列表的签名,当任一主链节点收集到2/3以上其他主链节点的节点信誉值列表时,该主链节点调用节点信誉值更新合约,将收集到的各信誉值列表作为参数传入节点信誉值更新合约中;
[0023]信誉值更新步骤,节点信誉值更新合约校验每个主链节点对签名的正确性,当通过校验时,计算每个主链节点的信誉值总分数,并将计算结果记入主链账本中,抛出节点信誉值更新事件;
[0024]信誉值更新事件监听步骤,各主链节点绑定并监听节点信誉值更新事件,当该事件被抛出时,则表示本轮信誉值的更新流程结束,等待下一共识周期开始时触发上述步骤。
[0025]优选的是,信誉值获取步骤进一步包括:
[0026]静态分数获取步骤,主链节点以CPU核数和内存作为信誉值计算指标,通过以下公式计算并更新每个主链节点的静态分数;
[0027][0028]其中,M
i
表示主链节点i的内存大小(单位为GB),M
max
、M
min
表示所有主链节点中的最大内存、最小内存;U
i
表示主链节点i的CPU核数,U
max
、U
min
表示所有主链节点中的最大CPU核数、最小CPU核数;α表示第一权重参数,且0<α<1;
[0029]动态分数获取步骤,根据主链节点在上一轮共识周期的共识投票结果和动态分数,通过以下公式计算并更新每个主链节点的动态分数;
[0030][0031]其中,表示主链节点i在第t轮共识周期的动态分数,为第t

1轮动态分数;β表示第二权重参数,且0<β<1;N
r
、N
w
表示共识周期内该节点投有效票、无效票的次数;
[0032]信誉值总分数获取步骤,将静态分数和动态分数进行加权求和计算每个主链节点的信誉值总分数。
[0033]优选的是,源子链节点根据优先级策略模块将用户请求融合为跨链请求包的步骤包括:
[0034]源子链节点按照用户请求的优先级将其缓存到本地请求池的不同请求列表中,并周期性加载优先级策略模块,对不同列表中的各用户请求分别进行排序处理;
[0035]源子链节点根据排序结果、预设单轮最大请求提交数和各优先级请求获取比例其一或其组合,从本地请求池的各列表中获取对应数量的用户请求,将获取的用户请求融合为跨链请求包,并将跨链请求包作为参数传入主链的跨链交易合约。
[0036]优选的是,优先级策略模块的请求处理流程包括以下步骤:
[0037]源子链节点从本地请求池内获取各优先级的请求列表,请求列表本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的物联网系统跨链交互方法,其特征在于,包括以下步骤:主链共识节点选择步骤,在主链节点上部署节点信誉模型,周期性更新各所述主链节点的信誉值,并选择所述信誉值最高的至少一个所述主链节点作为本轮共识周期的主链共识节点;用户请求交互步骤,用户通过访问源子链对应的子系统,发起对目的子链的用户请求;权限验证步骤,所述源子链对应的源子链节点根据优先级策略模块将所述用户请求融合为跨链请求包,并将其作为参数传入主链的跨链交易合约,所述跨链交易合约内部验证所述跨链请求包内每条用户请求的用户权限,若验证成功,所述主链共识节点抛出跨链请求事件;请求响应步骤,所述目的子链对应的目的子链节点监听所述跨链请求事件,解析获取针对该目的子链的用户请求,执行该用户请求并将执行结果反馈至源子链节点,源子链节点将接收到所述执行结果反馈至用户。2.根据权利要求1所述的基于区块链的物联网系统跨链交互方法,其特征在于,权限验证步骤之前还包括权限控制树生成步骤,包括以下步骤:定义用户对子系统的权限控制策略,调用部署在主链的权限控制合约,通过对所述权限控制策略进行切分、组合生成对应的权限控制树,并将其存入主链账本,所述权限控制树用于验证用户请求的用户权限。3.根据权利要求2所述的基于区块链的物联网系统跨链交互方法,其特征在于,所述权限控制树生成步骤进一步包括:将所述权限控制策略以字符串的形式传入所述权限控制合约内部,所述权限控制策略包括属性和关系;所述权限控制合约内部定义所述权限控制树中节点的结构,所述节点包括根节点和其他节点;利用∪字符筛选所述权限控制策略,获得仅包含属性和∩关系的字符串数组,然后再利用∩字符筛选所述字符串数组的每一项,获得二维字符串数组;遍历上述步骤生成的所述二维字符串数组,利用指针将所述二维字符串数组的每一项连接起来形成一颗子树,将所有子树连接到所述根节点形成所述权限控制树。4.根据权利要求1所述的基于区块链的物联网系统跨链交互方法,其特征在于,所述主链共识节点选择步骤中信誉值的更新流程具体包括以下步骤:信誉值获取步骤,各主链节点分别通过调用节点信誉值获取合约获取上一轮所述共识周期的各主链节点的所述信誉值,并据此结合各主链节点的硬件指标以及上一轮共识周期的共识投票结果计算得到各主链节点的本轮信誉值总分数,并生成节点信誉值列表;信誉值广播步骤,各所述主链节点通过网络向其他主链节点广播其自身计算的所述节点信誉值列表和对所述节点信誉值列表的签名,当任一主链节点收集到2/3以上其他主链节点的节点信誉值列表时,该主链节点调用节点信誉值更新合约,将收集到的各所述信誉值列表作为参数传入所述节点信誉值更新合约中;信誉值更新步骤,所述节点信誉值更新合约校验每个主链节点对签名的正确性,当通过校验时,计算每个主链节点的信誉值总分数,并将计算结果记入所述主链账本中,抛出节点信誉值更新事件;
信誉值更新事件监听步骤,各所述主链节点绑定并监听所述节点信誉值更新事件,当该事件被抛出时,则表示本轮信誉值的更新流程结束,等待下一共识周期开始时触发上述步骤。5.根据权利要求4所述的基于区块链的物联网系统跨链交互方法,其特征在于,所述信誉值获取步骤进一步包括:静态分数获取步骤,所述主链节点以CPU核数和内存作为信誉值计算指标,通过以下公式计算并更新每个所述主链节点的静态分数;其中,M
i
表示主链节点i的内存大小,M
max
、M
min
表示所有主链节点中的最大内存、最小内存;U
i
...

【专利技术属性】
技术研发人员:王金龙王旭申玉民熊晓芸刘星宇
申请(专利权)人:青岛理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1