区块链动态分片方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:37084598 阅读:16 留言:0更新日期:2023-03-29 20:00
本发明专利技术涉及区块链技术领域,提供了一种区块链动态分片技术方法、装置、计算机设备和存储介质,所述方法包括:筛选符合记账条件的区块链节点作为初始聚类中心,并将剩余的区块链节点分配给各所述初始聚类中心形成簇;基于所述簇中各所述区块链节点之间的相似度,在每个所述簇内循环选取新聚类中心进行迭代聚类,得到网络分片;各所述网络分片中的分发节点基于中国剩余定理对区块数据分片得到碎片数据,将各所述碎片数据分发给所述网络分片中的参与节点。采用本方法能够防止分片抱团作恶。节点。采用本方法能够防止分片抱团作恶。节点。采用本方法能够防止分片抱团作恶。

【技术实现步骤摘要】
区块链动态分片方法、装置、计算机设备和存储介质


[0001]本专利技术属于区块链
,尤其涉及一种区块链动态分片方法、装置、计算机设备和存储介质。

技术介绍

[0002]区块链分片是将公链网络中所有节点划分为不同分组的过程,每个分组称为一个分片,其核心思想是分而治之。通常在分片之前,原本公链中所有的节点所做的任务都是相同的,进而通过分片可以将任务分配到不同分片,每个分片处理不同的任务,分片之间并行处理,以此来提升公链的性能。区块链分片技术主要分为三类,分别是网络分片、交易分片和状态分片,网络分片是指在网络层将所有的节点划分到不同分片,网络分片是交易分片和状态分片的基础。
[0003]然而,由于目前分片技术的研究大多集中在跨片交易上,没有从网络分片这个维度考虑分片的问题,忽略了网络分片是交易分片和状态分片的基础这一特性。因此传统通常大多是采用固定分片方式进行区块链分片,而固定分片的方式极容易带来抱团作恶的问题。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种能够防止抱团作恶的区块链动态分片方法、装置、计算机设备和存储介质。
[0005]本专利技术提供一种区块链动态分片方法,包括:
[0006]筛选符合记账条件的区块链节点作为初始聚类中心,并将剩余的区块链节点分配给各所述初始聚类中心形成簇;
[0007]基于所述簇中各所述区块链节点之间的相似度,在每个所述簇内循环选取新聚类中心进行迭代聚类,得到网络分片;
[0008]各所述网络分片中的分发节点基于中国剩余定理对区块数据分片得到碎片数据,将各所述碎片数据分发给所述网络分片中的参与节点。
[0009]在其中一个实施例中,所述基于所述簇中各节点之间的相似度,在每个所述簇内循环选取新聚类中心对各所述区块链节点进行迭代聚类,得到网络分片,包括:
[0010]在每个所述簇内,按照既定顺序依次计算各所述区块链节点与其他所述区块链节点的距离总和;
[0011]选取所述距离总和最小的所述区块链节点作为新的聚类中心,并利用新的聚类中心进行聚类;
[0012]返回筛选符合记账条件的区块链节点作为初始聚类中心的步骤进行迭代聚类,直到聚类中心不发生变动为止,将最终的聚类结果作为网络分片的结果。
[0013]在其中一个实施例中,所述各所述网络分片中的分发节点基于中国剩余定理对区块数据分片得到碎片数据,将各所述碎片数据分发给所述网络分片中的参与节点,包括:
[0014]各所述网络分片中的分发节点选择预设个数的素数;
[0015]基于各所述素数对所述区块数据进行模运算,得到各所述碎片数据;
[0016]将所述碎片数据分发给各所述参与节点。
[0017]在其中一个实施例中,在所述碎片数据分发之前,所述方法还包括:所述网络分片中的分发节点在所述区块数据的区块头中新增所在簇的聚类中心节点地址。
[0018]在其中一个实施例中,在所述碎片数据分发之后,所述方法还包括:所述网络分片中的参与节点将所述碎片数据的摘要进行广播,由所述网络分片中的分发节点记录各所述参与节点的节点信息和所述摘要。
[0019]在其中一个实施例中,在所述碎片数据分发之后,所述方法还包括:根据所述碎片数据和所述网络分片选取的所述素数求解同余方程组进行碎片重构,得到完整的区块数据。
[0020]在其中一个实施例中,所述在每个所述簇内按照既定顺序依次计算各所述区块链节点与其他区块链节点的距离总和,包括:在每个所述簇内,按照既定顺序依次基于K

medoids聚类算法计算各所述区块链节点与其他区块链节点的欧式距离总和。
[0021]一种区块链动态分片装置,包括:
[0022]初始聚类模块,用于筛选符合记账条件的区块链节点作为初始聚类中心,并将剩余的区块链节点分配给各所述初始聚类中心形成簇;
[0023]网络分片模块,用于基于所述簇中各节点之间的相似度,在每个所述簇内循环选取新聚类中心对各所述区块链节点进行迭代聚类,得到网络分片;
[0024]状态分片模块,用于各所述网络分片中的分发节点基于中国剩余定理对区块数据分片得到碎片数据,将各所述碎片数据分发给所述网络分片中的参与节点。
[0025]本专利技术还提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器存储由计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的区块链动态分片方法的步骤。
[0026]本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的区块链动态分片方法的步骤。
[0027]上述区块链动态分片方法、装置、计算机设备和存储介质,将所有区块链节点看作是聚类的对象节点,首先通过记账条件选取初始聚类中心,后不断测算节点之间的相似度确定新的聚类中心进行迭代聚类直到确定最终的中心节点,通过此种动态方式进行网络分片能够基于动态分片的随机性解决固定分片带来的抱团作恶问题。并且,基于中国剩余定理进行状态分片,并由分发节点所在簇内的其他节点参与碎片存储,能够缓解区块链节点存储压力,提高交易和存储性能。
附图说明
[0028]图1为一个实施例中区块链动态分片方法的流程示意图。
[0029]图2为一个实施例中区块数据信息示意图。
[0030]图3为一个实施例中区块链动态分片装置的结构框图。
具体实施方式
[0031]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0032]在一个实施例中,如图1所示,提供一种区块链动态分片方法,包括以下步骤:
[0033]步骤S101,筛选符合记账条件的区块链节点作为初始聚类中心,并将剩余的区块链节点分配给各初始聚类中心形成簇。
[0034]其中,区块链技术也成为分布式账本,通俗来讲如果把数据库假设成一本账本,读写数据库就可以看作是一种记账行为。因此本实施例的记账条件则是预先设定用于选取初始聚类中心的限制条件,比如可以选取在一段时间内记账最快最好的区块链节点视为符合记账条件的区块链节点,记账条件具体可以根据实际需求设定,在此不做限定。
[0035]具体的,将参与维护区块链网络的n个区块链节点看作聚类数据集的对象节点,可以用v
i
={v
i1
,v
i2
,v
i3
,...,v
ip
}(i={1,2,...,n})表示第i个区块链节点映射在p维特征空间Rp的一个坐标值。所有的区块链节点数据集V={v1,v2,v3,...,v
n
}可以表达如下:
[0036][0037]基于此,将在一定时间内符合记账条件的区块链节点当作各个簇的初始聚类中心,假设一定时间内有符合记账条件的k个区块链节点,那本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链动态分片方法,其特征在于,包括:筛选符合记账条件的区块链节点作为初始聚类中心,并将剩余的区块链节点分配给各所述初始聚类中心形成簇;基于所述簇中各所述区块链节点之间的相似度,在每个所述簇内循环选取新聚类中心进行迭代聚类,得到网络分片;各所述网络分片中的分发节点基于中国剩余定理对区块数据分片得到碎片数据,将各所述碎片数据分发给所述网络分片中的参与节点。2.根据权利要求1所述的方法,其特征在于,所述基于所述簇中各节点之间的相似度,在每个所述簇内循环选取新聚类中心对各所述区块链节点进行迭代聚类,得到网络分片,包括:在每个所述簇内,按照既定顺序依次计算各所述区块链节点与其他所述区块链节点的距离总和;选取所述距离总和最小的所述区块链节点作为新的聚类中心,并利用新的聚类中心进行聚类;返回筛选符合记账条件的区块链节点作为初始聚类中心的步骤进行迭代聚类,直到聚类中心不发生变动为止,将最终的聚类结果作为网络分片的结果。3.根据权利要求1所述的方法,其特征在于,所述各所述网络分片中的分发节点基于中国剩余定理对区块数据分片得到碎片数据,将各所述碎片数据分发给所述网络分片中的参与节点,包括:各所述网络分片中的分发节点选择预设个数的素数;基于各所述素数对所述区块数据进行模运算,得到各所述碎片数据;将所述碎片数据分发给各所述参与节点。4.根据权利要求1所述的方法,其特征在于,在所述碎片数据分发之前,所述方法还包括:所述网络分片中的分发节点在所述区块数据的区块头中新增所在簇的聚类中心节点地址。5.根据权利要求1所述的方法,其特征在于,在所述碎片数据分发之后,所述方法还包括:所述网络...

【专利技术属性】
技术研发人员:谭林孔曼尹海波姚昱旻郭兆中刘齐军
申请(专利权)人:湖南天河国云科技有限公司
类型:发明
国别省市:

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

1