一种区块链分片委员会调度方法、装置、终端及存储介质

专利查询2023-6-7  100



1.本技术涉及区块链分片技术领域,尤其涉及一种区块链分片委员会调度 方法、装置、终端及存储介质。


背景技术:

2.随着大数据技术的发展,为区块链等数据交易技术营造了绝佳的发展机 遇,己在多个领域中得到广泛应用。随着区块链技术的广泛应用,其交易规 模也越来越大,传统的区块链交易机制对节点的依赖性过大,对交易效率也 会有所影响,处于提高交易效率的迫切需求,基于区块链的分片技术应运而 生。
3.分片技术是一种基于委员会的区块链交易管理方法,它将整个事务组划 分为不同的分片事务组,并选择多个委员会并行处理不同的事务组。如elastico 机制,elastico的关键思想是将区块链网络节点划分成更小的委员会。每个委 员会都由一组矿工组成,他们协作处理一组不相交的事务,称为shard,每个 epoch通常包括以下5个阶段:(1)committee formation.:一些处理者组织, 即矿工,将根据pow选举机制被选出来组成委员会;(2)overlay configuration: 处理者被配置为通过交换委员会成员来发现和识别彼此;(3)intra-committeeconsensus:每个委员会中的处理者通过运行标准的拜占庭协议(如pbft[3]) 来实现一组商定的事务,即shard(分片);(4)final consensus:接下来,所 有委员会生成的shards将提交给最终委员会,最终委员会将为根链生成一个 新的全局块;(5)epoch randomness refreshing:最后,最终委员会生成一组 随机字符串,用于帮助其他委员会在下一个epoch形成新的字符串。
[0004]
然而,一些区块链节点组在每个epoch开始时消耗大量的形成时延来形成 委员会。此外,不同委员会的不同处理能力也导致了不平衡的共识时延,这 两种阶段时延最终会给最终委员会中等待的事务带来很大的累积时间,导致 现有的区块链分片交易存在交易效益低的技术问题。


技术实现要素:

[0005]
本技术提供了一种区块链分片委员会调度方法、装置、终端及存储介质, 用于解决现有的区块链分片交易存在交易效益低的技术问题。
[0006]
本技术第一方面提供了一种区块链分片委员会调度方法,包括:
[0007]
响应于委员会调度条件的触发,开始监听委员会的动态事件。基于到达 的委员会分片的数量,初始化若干个委员会分片的调度方案,并且为各个所 述调度方案分别设置一个计时器,其中,每个所述调度方案以马尔科夫链的 节点的形式关联;
[0008]
在所述计时器的计时周期内,基于预设的调度目标函数,计算当前的基 准方案的效用系数,再按照所述马尔科夫链的节点组成以及状态转移概率, 将所述基准方案的下一个调度方案设为新的基准方案,以便基于新的基准方 案,计算所述基准方案的效用系数,其中,所述调度目标函数为将所述基准 方案的允许交易总量与交易累积时间量化成效用
系数的函数,所述基准方案 为所述若干个调度方案中的任意一个,所述状态转移概率为根据所述新的基 准方案的效用系数估计值与所述当前的基准方案的效用系数之差计算得到 的;
[0009]
当任意一个计时器计时结束时,触发所述马尔科夫链的状态转移并广播 重置信号给其它调度方案,使得所述其它调度方案均响应于所述重置信号, 基于第一效用系数对各自的计时器进行刷新,以便当效用系数的计算结果未 满足收敛条件时,基于刷新后的计时器重新计算各个调度方案的效用系数, 其中,所述第一效用系数为根据计时结束的计时器对应的调度方案计算得到 的效用系数;
[0010]
当效用系数的计算结果满足收敛条件时,终止监听并且不再接受新到来 的委员会分片提交的区块,再根据当前的效用系数,确定最大效用系数对应 的目标调度方案,以便按照目标委员会调度方案确定加入最终委员会的各个 委员会分片。
[0011]
优选地,所述计时周期的计算式为:
[0012][0013]
式中,t为所述计时周期,ij表示由各委员会在第j个epoch下生成的所 有分片,n为区块链分片的数量,τ是一个条件常量,β为非负常数,uf为所 述当前的基准方案的效用系数,u
f'
为所述新的基准方案的效用系数估计值。
[0014]
优选地,所述状态转移概率的计算式为:
[0015][0016]
式中,q
f,f'
为状态转移概率,τ是一个条件常量,β为非负常数,uf为所 述当前的基准方案的效用系数,u
f'
为所述新的基准方案的效用系数估计值。
[0017]
优选地,所述调度目标函数的计算式为:
[0018][0019]
式中,u为效用系数,j为epoch的集合,ij表示由各委员会在第j个epoch 下生成的所有分片,y
ij
为第i个委员会在第j个epoch下的交易累积时间,为 第i个委员会在第j个epoch下的阶段时延,为第i个委员会所对应的分片 在第j个epoch下的交易量,n
min
为委员会成员数量的最小阈值,表示每个 epoch中可打包到最终块中的交易数的容量,α为用于测量允许的交易总数的 偏差的可调权值,为用于指示第i个委员会是否允许参与共识
阶段的二进制 变量,tj为在给定的计时周期下,第j个epoch下接收到的分片。
[0020]
优选地,所述在预设的计时周期内,基于预设的调度目标函数,计算当 前的基准方案的效用系数具体包括:
[0021]
在预设的计时周期内,基于预设的调度目标函数,通过log-sum-exp近 似求解算法,计算当前的基准方案的效用系数。
[0022]
本技术第二方面提供了一种区块链分片委员会调度装置,包括:
[0023]
调度方案初始化单元,用于响应于委员会调度条件的触发,开始监听委 员会的动态事件。基于到达的委员会分片的数量,初始化若干个委员会分片 的调度方案,并且为各个所述调度方案分别设置一个计时器,其中,每个所 述调度方案以马尔科夫链的节点的形式关联。
[0024]
效用系数计算执行单元,用于在所述计时器的计时周期内,基于预设的 调度目标函数,计算当前的基准方案的效用系数,再按照所述马尔科夫链的 节点组成以及状态转移概率,将所述基准方案的下一个调度方案设为新的基 准方案,以便基于新的基准方案,计算所述基准方案的效用系数,其中,所 述调度目标函数为将所述基准方案的允许交易总量与交易累积时间量化成效 用系数的函数,所述基准方案为所述若干个调度方案中的任意一个,所述状 态转移概率为根据所述新的基准方案的效用系数估计值与所述当前的基准方 案的效用系数之差计算得到的。
[0025]
计时刷新单元,用于当任意一个计时器计时结束时,触发所述马尔科夫 链的状态转移并广播重置信号给其它调度方案,使得所述其它调度方案均响 应于所述重置信号,基于第一效用系数对各自的计时器进行刷新,以便当效 用系数的计算结果未满足收敛条件时,基于刷新后的计时器重新计算各个调 度方案的效用系数,其中,所述第一效用系数为根据计时结束的计时器对应 的调度方案计算得到的效用系数;
[0026]
目标方案确定单元,用于当效用系数的计算结果满足收敛条件时,终止 监听并且不再接受新到来的委员会分片提交的区块,再根据当前的效用系数, 确定最大效用系数对应的目标调度方案,以便按照目标委员会调度方案确定 加入最终委员会的各个委员会分片。
[0027]
本技术第三方面提供了一种区块链分片委员会调度终端,包括:存储器 和处理器。
[0028]
所述存储器用于存储程序代码,所述程序代码与如本技术第一方面提供 的区块链分片委员会调度方法相对应。
[0029]
所述处理器用于执行所述程序代码,以实现如本技术第一方面提供的区 块链分片委员会调度方法。
[0030]
本技术第四方面提供了一种计算机可读存储介质,所述计算机可读存储 介质存储有与如本技术第一方面提供的区块链分片委员会调度方法相对应的 程序代码。
[0031]
从以上技术方案可以看出,本技术具有以下优点:
[0032]
本技术提供的区块链分片委员会调度方法,基于初始化得到的且以马尔 科夫链节点的形式关联的调度方案,通过在预设的计时周期内,基于预设的 调度目标函数,计算调度方案的效用系数,可以为最终委员会安排效用价值 更优的委员会。实现最终委员会的允许交易总量最大化以及委员会内部交易 的等待时延最小化,从而提高了区块链吞吐量,
减少了不必要的等待时延, 解决了现有的区块链分片交易存在交易效益低的技术问题。
附图说明
[0033]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0034]
图1为区块链中形成最终委员会的委员会调度过程示意图。
[0035]
图2为委员会调度过程中参与委员会形成的节点数量对委员会两种阶段 时延的影响。
[0036]
图3为委员会调度过程中两种阶段时延的时域分布情况示意图。
[0037]
图4为本技术提供的一种区块链分片委员会调度方法的一个实施例的流 程示意图。
[0038]
图5为本技术提供的一种区块链分片委员会调度装置的一个实施例的结 构示意图。
[0039]
图6为委员会和随机探索算法之间的关系图。
具体实施方式
[0040]
如图1所示,图1展示了elastico委员会形成与共识的过程,区块链在组 成委员会的期间,一些区块链节点组在每个epoch开始时消耗大量时延来形成 委员会。此外,不同委员会的不同处理能力也导致了不平衡的共识时延。这 两种阶段时延给最终委员会中等待的事务带来了很大的累积时间。因此,区 块链吞吐量可能会因为大型交易的累积时间而显著降低,从而导致了现有的 区块链分片交易存在交易效益低的技术问题。
[0041]
为了了解这两个阶段的时延有多长,申请人基于elastico sharding协议, 测量了委员会形成阶段和委员会内共识阶段的时延开销,结果如图2和图3 所示。
[0042]
图2展示了在改变网络大小时的两阶段时延,即参与委员会形成的节点 数量。与共识时延相比,委员会形成时延消耗了很大一部分,并且随着网络 规模的扩大,虽然委员会可处理的交易量也会有所增加,但是相对的,其耗 费的形成时延也呈线性增加。
[0043]
由图3可知,两项时延分别在特定范围内呈随机分布。对于elastico协议 的第3阶段,已经证明了不同委员会之间的委员会内共识时延是不同的。这 是因为委员会通过异构网络连接和事务验证功能来执行其本地共识。因此, 当委员会完成其本地pbft协议并将其各自的shard blocks提交给最终委员会 时,共识时延将显示不平衡分布。因此,不平衡的两阶段时延将导致最终委 员会中出现一些掉队者,从而阻碍最终委员会尽早开始最终共识。
[0044]
从上述的试验结果,可以反映出区块链的委员会不同的规模、不同的节 点组成与两种阶段时延的变化关系,然而一个合适的区块链委员会,既要考 虑交易的累积时间,又考虑该委员会贡献的交易总数,因此,如何确定合适 的调度方案,提高区块链分片交易的交易效益成为了本领域技术人员亟需解 决的一个技术问题。
[0045]
有鉴于此,本技术实施例提供了一种区块链分片委员会调度方法、装置、 终端及
存储介质,用于解决现有的区块链分片交易存在交易效益低的技术问 题。
[0046]
为使得本技术的发明目的、特征、优点能够更加的明显和易懂,下面将 结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整 地描述,显然,下面所描述的实施例仅仅是本技术一部分实施例,而非全部 的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性 劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
[0047]
请参阅图4,本技术第一个实施例提供了一种区块链分片委员会调度方 法,包括:
[0048]
步骤101、响应于委员会调度条件的触发,开始监听委员会的动态事件。 基于到达的委员会分片的数量,初始化若干个委员会分片的调度方案,并且 为各个调度方案分别设置一个计时器。
[0049]
其中,每个调度方案以马尔科夫链的节点的形式关联。
[0050]
首先,响应于委员会调度条件的触发,开始监听委员会的动态事件。基 于到达的委员会分片的数量,初始化若干个委员会分片的调度方案。并且为 各个调度方案分别设置一个计时器。本技术将每个调度方案视为马尔科夫链 的一个节点,将每个调度方案以马尔科夫链的节点的形式关联起来,以便后 续步骤使用。
[0051]
步骤102、在计时器的计时周期内,基于预设的调度目标函数,计算当前 的基准方案的效用系数,再按照马尔科夫链的节点组成以及状态转移概率, 将基准方案的下一个调度方案设为新的基准方案,以便基于新的基准方案, 计算基准方案的效用系数。
[0052]
其中,调度目标函数为将基准方案的允许交易总量与交易累积时间量化 成效用系数的函数,基准方案为若干个调度方案中的任意一个,状态转移概 率为根据新的基准方案的效用系数估计值与当前的基准方案的效用系数之差 计算得到的。
[0053]
需要说明的是,本实施例提供的方法采用随机探索(se)算法的算法思想, 其中调度目标函数的调度原则包括以下两个方面:(1)最大化最终委员会所 允许的交易总数;(2)最小化这些交易的累积时间。基于上述原则,可以理 解通过该调度目标函数的计算,得到的效用系数与调度方案的允许交易总量 及交易累积时间的关系应满足:允许交易总量的值与效用系数的值呈正相关 关系,而交易累积时间的值与效用系数的值呈负相关关系,从而可以通过一 个调度方案在有限的计时周期内计算得到的效用系数,判断该方案在平衡交 易吞吐量以及交易累积时间上的能力。
[0054]
需要说明的是,马尔科夫链是存在于离散的指数级和状态空间内的随机 过程。在随机过程中,马尔科夫链在状态空间中经过一个状态转换到另一个 状态。且该过程是“无记忆”的,即下一个状态的概率仅与当前状态有关, 与其他历史状态无关。前后两个状态相互独立,因此在步骤101中采用马尔 科夫链将调度方案进行关联,在步骤102的将基准方案的下一个调度方案设 为新的基准方案时,可以避免后一个方案的效用系数计算被前一个方案所影 响,进而影响了计算结果的准确性。而且在马尔科夫链的每一步,根据概率 分布,当前状态可以转换到另一个状态也可以保持不变。状态的改变叫做转 移,与不同的状态改变相关的概率叫做转移概率,在此基础上,本实施例中 的状态转移概率根据新的基准方案的效用系数估计值与当前的基准方案的效 用系数之差计算得到,可以在当后一个方案的预估效用系数明显高于当前方 案时,加快马尔科夫链的转移速率,且后一个方案的预估效用系数相比于当 前方案的效用系数越高,则转移速率越快,反之则越慢。
[0055]
步骤103、当任意一个计时器计时结束时,触发马尔科夫链的状态转移并 广播重置信号给其它调度方案,使得其它调度方案均响应于重置信号,基于 第一效用系数对各自的计时器进行刷新,以便当效用系数的计算结果未满足 收敛条件时,基于刷新后的计时器重新计算各个调度方案的效用系数,其中, 第一效用系数为根据计时结束的计时器对应的调度方案计算得到的效用系 数;
[0056]
步骤104、当效用系数的计算结果满足收敛条件时,终止监听并且不再接 受新到来的委员会分片提交的区块,再根据当前的效用系数,确定最大效用 系数对应的目标调度方案,以便按照目标委员会调度方案确定加入最终委员 会的各个委员会分片。
[0057]
需要说明的是,当任意一个计时器计时结束时,触发马尔科夫链的状态 转移并广播重置信号给其它调度方案,使得其它调度方案均响应于重置信号, 基于第一效用系数对各自的计时器进行刷新,以便当效用系数的计算结果未 满足收敛条件时,基于刷新后的计时器,通过步骤102计算方式重新计算各 个调度方案的效用系数,直到满足收敛条件为止,再根据当中的最大效用系 数,进而确定该最大效用系数对应的目标调度方案,以便按照目标调度方案 确定各个区块链分片的最终委员会。
[0058]
以上内容便是本技术提供的一种区块链分片委员会调度方法的一个实施 例的详细说明,本技术实施例提供的区块链分片委员会调度方法,基于初始 化得到的且以马尔科夫链节点的形式关联的调度方案,通过在预设的计时周 期内,基于预设的调度目标函数,计算调度方案的效用系数,可以为最终委 员会安排效用价值更优的委员会。实现最终委员会的允许交易总量最大化以 及委员会内部交易的等待时延最小化,从而提高了区块链吞吐量,减少了不 必要的等待时延,解决了现有的区块链分片交易存在交易效益低的技术问题。
[0059]
在上述第一个实施例的基础上,本技术第二个实施例提供了一种更为具 体的区块链分片委员会调度方法,包括:
[0060]
更具体地,调度目标函数的计算式为:
[0061][0062]
式中,u为效用系数,j为epoch的集合,ij表示由各委员会在第j个epoch 下生成的所有分片,y
ij
为第i个委员会在第j个epoch下的交易累积时间,为 第i个委员会在第j个epoch下的阶段时延,为第i个委员会所对应的分片 在第j个epoch下的交易量,n
min
为委员会成员数量的最小阈值,表示每个 epoch中可打包到最终块中的交易数的容量,α为用于测量允许的交易总数的 偏差的可调权值,为用于指示第i个委员会是否允许参与共识
阶段的二进制 变量,1为允许,0为否,tj为在给定的计时周期下,第j个epoch下接收到 的分片。
[0063]
根据上述的调度目标函数表达式,在目标函数(1)中,α是一个可调权 重,用于测量允许的交易总数的偏差的可调权值。公式(2)计算的是每个shard 中打包的所有交易的累积时间,即从委员会开始形成到指定限期的累积等待 时间。约束(3)指定所选成员委员会的数目应大于每个epoch预定义的最小 数目n
min
。在约束(4)中,表示每个epoch中可打包到最终块中的交易数 的容量。
[0064]
在一些可能的实施例中,在预设的计时周期内,基于预设的调度目标函 数,计算当前的基准方案的效用系数具体包括:
[0065]
在预设的计时周期内,基于预设的调度目标函数,通过log-sum-exp近 似求解算法,计算当前的基准方案的效用系数。
[0066]
需要说明的是,为了更好地理解log-sum-exp近似,我们先用f表示 mvcom问题的一个可行解,用f表示所有可行解的集合。用uf表示对应于给 定解f的目标函数。让每个解f与概率pf相关联,该概率表示系统使用解f的时 间百分比。其中β被定义为与逼近性能相关的非负常数。这种时间平均近似 背后的动机是,log-sum-exp近似算法可能会导致随机解。在这些随机解中, 通过在解集f上构造一个设计良好的转移速率矩阵,可以得到一个近似最优 解。让是mvcom(β)问题的最优解。然后,通过求解mvcom(β) 的karush-kuhn-tucker(kkt)条件,我们得到每个解f的平稳概率:
[0067][0068]
更具体地,状态转移概率的计算式为:
[0069][0070]
式中,q
f,f'
为状态转移概率,用于控制马尔科夫链的状态转移速率,τ是 一个条件常量,用于防止exp(
·
)函数在计算中因为太小而等于0的错误,β为 非负常数,uf为当前的基准方案的效用系数,u
f'
为新的基准方案的效用系数 估计值。当u
f'-uf增大,转变速率也增大,反之亦然。因此,这种转换率的 设计旨在驱动系统朝着具有更大效用的更好的解决方案f'前进。
[0071]
可以理解的是,马尔科夫链的设计包含了一个状态空间,该状态空间包 含所有可行解f和一个平稳分布由于系统在不同的解决方案下运行,在设 计的马尔科夫空间中两个状态之间的转换表示替换任何成员委员会生成的被 接受的分片。因此,在所实现的马尔科夫链中,如果状态之间的转换可以训 练为收敛到期望的平稳分布那么系统就可以达到接近最优的性能。
[0072]
进一步地,本实施例提供的算法基于马尔科夫链理论和上一小节设计的 转移率矩阵的随机探索算法的实现。首先,根据图6所示的委员会和所提出 的算法之间的交互作用示意图,本实施例所提出的算法可以在几个独立的并 行线程上执行,每个线程运行一组可行的解以及它们的计时器(timers),当 计时器到期(消耗完毕)时,从多个可行解中选出
系统效用最大的可行解。 然后还可以进一步进行多次迭代,取得所有轮次中最大效用的可行解,并且 该解是一个非常接近最优解的次优解。在设计的算法中,所有的并行线程与 委员会实时通信,只是为了共享非常有限的状态信息,如重置(reset)信 号和当前系统效用。当一个线程接收到重置(reset)信号时,它用更新的 系统效用u
f'
刷新它的计时器t。
[0073]
更具体地,计时周期的计算式为:
[0074][0075]
式中,t为计时周期,ij表示由各委员会在第j个epoch下生成的所有分 片,n为区块链分片的数量,τ是一个条件常量,β为非负常数,uf为当前的 基准方案的效用系数,u
f'
为新的基准方案的效用系数估计值。
[0076]
以上为本技术提供的一种区块链分片委员会调度方法的第二个实施例的 详细说明,下面为本技术提供的一种区块链分片委员会调度装置的一个实施 例的说明。
[0077]
请参阅图5,本技术第三个实施例提供了一种区块链分片委员会调度装 置,包括:
[0078]
调度方案初始化单元201,用于响应于委员会调度条件的触发,开始监听 委员会的动态事件。基于到达的委员会分片的数量,初始化若干个委员会分 片的调度方案,并且为每个方案分别设置一个计时器,其中,每个调度方案 以马尔科夫链的节点的形式关联。
[0079]
效用系数计算执行单元202,用于在计时周期内,基于预设的调度目标函 数,计算当前的基准方案的效用系数,再按照马尔科夫链的节点组成以及状 态转移概率,将基准方案的下一个调度方案设为新的基准方案,以便基于新 的基准方案,计算基准方案的效用系数,其中,调度目标函数为将基准方案 的允许交易总量与交易累积时间量化成效用系数的函数,基准方案为若干个 调度方案中的任意一个,状态转移概率为根据新的基准方案的效用系数估计 值与当前的基准方案的效用系数之差计算得到的。
[0080]
计时刷新单元203,用于当任意一个计时器计时结束时,触发马尔科夫链 的状态转移并广播重置信号给其它调度方案,使得其它调度方案均响应于重 置信号,基于第一效用系数对各自的计时器进行刷新,以便当效用系数的计 算结果未满足收敛条件时,基于刷新后的计时器重新计算各个调度方案的效 用系数,其中,第一效用系数为根据计时结束的计时器对应的调度方案计算 得到的效用系数;
[0081]
目标方案确定单元204,用于当效用系数的计算结果满足收敛条件时,终 止监听并且不再接受新到来的委员会分片提交的区块,再根据当前的效用系 数,确定最大效用系数对应的目标调度方案,以便按照目标委员会调度方案 确定加入最终委员会的各个委员会分片。
[0082]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的终端,装置和单元的具体工作过程,可以参考前述方法实施例中的对应 过程,在此不再赘述。
[0083]
在本技术所提供的几个实施例中,应该理解到,所揭露的终端,装置和 方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示 意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有 另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统, 或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合 或直接耦合或通信连接可以是通过一些接口,装置或单元的间接
耦合或通信 连接,可以是电性,机械或其它的形式。
[0084]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等 (如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次 序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申 请的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此 外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含, 例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于 清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过 程、方法、产品或设备固有的其它步骤或单元。
[0085]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单 元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者 也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全 部单元来实现本实施例方案的目的。
[0086]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单 元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单 元的形式实现。
[0087]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使 用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明 的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部 或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储 介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务 器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前 述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、 随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以 存储程序代码的介质。
[0088]
以上,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管 参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理 解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部 分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本 质脱离本技术各实施例技术方案的精神和范围。

技术特征:
1.一种区块链分片委员会调度方法,其特征在于,包括:响应于委员会调度条件的触发,开始监听委员会的动态事件。基于到达的委员会分片的数量,初始化若干个委员会分片的调度方案,并且为各个所述调度方案分别设置一个计时器,其中,每个所述调度方案以马尔科夫链的节点的形式关联;在所述计时器的计时周期内,基于预设的调度目标函数,计算当前的基准方案的效用系数,再按照所述马尔科夫链的节点组成以及状态转移概率,将所述基准方案的下一个调度方案设为新的基准方案,以便基于新的基准方案,计算所述基准方案的效用系数,其中,所述调度目标函数为将所述基准方案的允许交易总量与交易累积时间量化成效用系数的函数,所述基准方案为所述若干个调度方案中的任意一个,所述状态转移概率为根据所述新的基准方案的效用系数估计值与所述当前的基准方案的效用系数之差计算得到的;当任意一个计时器计时结束时,触发所述马尔科夫链的状态转移并广播重置信号给其它调度方案,使得所述其它调度方案均响应于所述重置信号,基于第一效用系数对各自的计时器进行刷新,以便当效用系数的计算结果未满足收敛条件时,基于刷新后的计时器重新计算各个调度方案的效用系数,其中,所述第一效用系数为根据计时结束的计时器对应的调度方案计算得到的效用系数;当效用系数的计算结果满足收敛条件时,终止监听并且不再接受新到来的委员会分片提交的区块,再根据当前的效用系数,确定最大效用系数对应的目标调度方案,以便按照目标委员会调度方案确定加入最终委员会的各个委员会分片。2.根据权利要求1所述的一种区块链分片委员会调度方法,其特征在于,所述计时周期的计算式为:式中,t为所述计时周期,i
j
表示由各委员会在第j个epoch下生成的所有分片,n为区块链分片的数量,τ是一个条件常量,β为非负常数,u
f
为所述当前的基准方案的效用系数,u
f'
为所述新的基准方案的效用系数估计值。3.根据权利要求1所述的一种区块链分片委员会调度方法,其特征在于,所述状态转移概率的计算式为:式中,q
f,f'
为状态转移概率,τ是一个条件常量,β为非负常数,u
f
为所述当前的基准方案的效用系数,u
f'
为所述新的基准方案的效用系数估计值。4.根据权利要求1所述的一种区块链分片委员会调度方法,其特征在于,所述调度目标函数的计算式为:
式中,u为效用系数,j为epoch的集合,i
j
表示由各委员会在第j个epoch下生成的所有分片,y
ij
为第i个委员会在第j个epoch下的交易累积时间,为第i个委员会在第j个epoch下的阶段时延,为第i个委员会所对应的分片在第j个epoch下的交易量,n
min
为委员会成员数量的最小阈值,表示每个epoch中可打包到最终块中的交易数的容量,α为用于测量允许的交易总数的偏差的可调权值,为用于指示第i个委员会是否允许参与共识阶段的二进制变量,t
j
为在给定的计时周期下,第j个epoch下接收到的分片。5.根据权利要求1所述的一种区块链分片委员会调度方法,其特征在于,所述在预设的计时周期内,基于预设的调度目标函数,计算当前的基准方案的效用系数具体包括:在预设的计时周期内,基于预设的调度目标函数,通过log-sum-exp近似求解算法,计算当前的基准方案的效用系数。6.一种区块链分片委员会调度装置,其特征在于,包括:调度方案初始化单元,用于响应于委员会调度条件的触发,开始监听委员会的动态事件。基于到达的委员会分片的数量,初始化若干个委员会分片的调度方案,并且为各个所述调度方案分别设置一个计时器,其中,每个所述调度方案以马尔科夫链的节点的形式关联;效用系数计算执行单元,用于在所述计时器的计时周期内,基于预设的调度目标函数,计算当前的基准方案的效用系数,再按照所述马尔科夫链的节点组成以及状态转移概率,将所述基准方案的下一个调度方案设为新的基准方案,以便基于新的基准方案,计算所述基准方案的效用系数,其中,所述调度目标函数为将所述基准方案的允许交易总量与交易累积时间量化成效用系数的函数,所述基准方案为所述若干个调度方案中的任意一个,所述状态转移概率为根据所述新的基准方案的效用系数估计值与所述当前的基准方案的效用系数之差计算得到的;计时刷新单元,用于当任意一个计时器计时结束时,触发所述马尔科夫链的状态转移并广播重置信号给其它调度方案,使得所述其它调度方案均响应于所述重置信号,基于第一效用系数对各自的计时器进行刷新,以便当效用系数的计算结果未满足收敛条件时,基于刷新后的计时器重新计算各个调度方案的效用系数,其中,所述第一效用系数为根据计时结束的计时器对应的调度方案计算得到的效用系数;目标方案确定单元,用于当效用系数的计算结果满足收敛条件时,终止监听并且不再接受新到来的委员会分片提交的区块,再根据当前的效用系数,确定最大效用系数对应的目标调度方案,以便按照目标委员会调度方案确定加入最终委员会的各个委员会分片。
7.一种区块链分片委员会调度终端,其特征在于,包括:存储器和处理器;所述存储器用于存储程序代码,所述程序代码与如权利要求1至5任意一项所述的区块链分片委员会调度方法相对应;所述处理器用于执行所述程序代码,以实现如权利要求1至5任意一项所述的区块链分片委员会调度方法。8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有与如权利要求1至5任意一项所述的区块链分片委员会调度方法相对应的程序代码。

技术总结
本申请公开了一种区块链分片委员会调度方法、装置、终端及存储介质,本申请提供的区块链分片委员会调度方法,基于马尔科夫渐进优化算法关联的调度方案,通过在预设的计时周期内,基于预设的调度目标函数,计算调度方案的效用系数,可以为最终委员会安排效用价值更优的委员会。实现最终委员会的允许交易总量最大化以及委员会内部交易的等待时延最小化从而提高了区块链吞吐量,减少了不必要的等待时延,解决了现有的基于分片技术的区块链交易存在交易效益低的技术问题。在交易效益低的技术问题。在交易效益低的技术问题。


技术研发人员:黄华威 黄振毅 彭肖文 郑子彬 郭嵩
受保护的技术使用者:中山大学
技术研发日:2021.12.08
技术公布日:2022/3/8

最新回复(0)