System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及区块链,特别是涉及一种区块链节点处理方法、装置、设备及介质。
技术介绍
1、区块链凭借其安全性高和去中心化的特点,受到业界欢迎,很多场景都使用区块链进行交易。所以,区块链系统的压力是很大的,在面对庞大的交易数量,如何快速高效地完成交易至关重要。
2、目前,通过将区块链节点划分组别,以小组为单位进行共识,来提高区块链系统处理交易的效率。然而,区块链系统是不断动态变化的,会不断有节点更新,所以不恰当的分组方式会导致系统资源过多消耗。因此,针对区块链系统中动态变化的节点,如何进行合理分组以降低系统资源消耗是亟需解决的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够降低系统资源消耗的区块链节点处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种区块链节点处理方法。方法包括:
3、根据区块链系统中的节点数量和组内数量阈值区间,确定分组数量;
4、根据分组数量在虚拟环上创建用于表征分组的虚拟分组对象;
5、根据区块链节点加入区块链系统的时间,确定区块链系统中各区块链节点的节点编号;
6、针对每个区块链节点,根据区块链节点的节点编号的哈希值在虚拟环上的映射位置,确定在预设方向上最接近于映射位置的虚拟分组对象,并将区块链节点划分至确定出的虚拟分组对象所表征的分组内;
7、在区块链系统发生节点更新的情况下,对更新的区块链节点对应的目标虚拟分组
8、在其中一个实施例中,节点更新的情况包括产生新增节点的情况;在区块链系统发生节点更新的情况下,对更新的区块链节点对应的目标虚拟分组对象所表征的分组进行区块链节点更新处理,包括:
9、在区块链系统中产生新增节点的情况下,根据新增节点的节点编号的哈希值在虚拟环上对应的目标位置,从虚拟环上确定新增节点对应的目标虚拟分组对象;
10、在目标虚拟分组对象表征的分组内的区块链节点通过节点增加共识后,将新增节点划分至目标虚拟分组对象表征的分组内。
11、在其中一个实施例中,根据新增节点的节点编号的哈希值在虚拟环上对应的目标位置,从虚拟环上确定新增节点对应的目标虚拟分组对象,包括:
12、根据新增节点的节点编号的哈希值在虚拟环上对应的目标位置,确定在预设方向上与目标位置最接近的候选虚拟分组对象;
13、若候选虚拟分组对象表征的分组内的节点数量达到组内数量阈值区间中的上限阈值,则将候选虚拟分组对象在虚拟环上的下一虚拟分组对象确定为新的候选虚拟分组对象,直至确定出分组内的节点数量小于上限阈值的目标虚拟分组对象。
14、在其中一个实施例中,节点更新的情况包括产生退出节点的情况,退出节点对应的目标虚拟分组对象所表征的分组是退出节点被划分至的目标分组;
15、在区块链系统发生节点更新的情况下,对更新的区块链节点对应的目标虚拟分组对象所表征的分组进行区块链节点更新处理,包括:
16、在区块链系统中产生退出节点的情况下,在目标分组内的各个区块链节点通过节点退出共识后,将退出节点从目标分组中退出,并更新区块链系统中的节点数量。
17、在其中一个实施例中,方法还包括:
18、若将退出节点从目标分组中退出之后,目标分组中的节点数量小于组内数量阈值区间中的下限阈值,则向目标分组的相邻分组发送重新分组请求,以对相邻分组中的区块链节点和目标分组中剩余的区块链节点重新划分组别。
19、在其中一个实施例中,方法还包括:
20、在各个分组针对同一交易的共识处理过程中,监测各个分组的共识效率;
21、针对共识效率低于预设效率阈值的低效分组,触发重新分组机制,以将低效分组内的区块链节点重新进行分配。
22、在其中一个实施例中,方法还包括:
23、在任意分组从区块链交易池中取出交易信息时,分别使用每个预设分区的哈希函数对交易信息进行哈希处理,以确定每个预设分区的哈希函数在预设分区的位数组中指示的位置;
24、若任意哈希函数所指示的位置上不存在预设标记值,则判定交易信息不是重复交易,并在所指示的位置上添加预设标记值;
25、若每个预设分区的哈希函数所指示的位置皆存在预设标记值,则判定交易信息是重复交易,并过滤重复交易。
26、在其中一个实施例中,方法还包括:
27、按照预设周期统计交易过滤的真实误判率;
28、若真实误判率与预期误判率之间的差异超过预设差异范围,则触发分区扩增处理。
29、第二方面,本申请还提供了一种区块链节点处理装置,该装置包括:
30、分组数量确定模块,用于根据区块链系统中的节点数量和组内数量阈值区间,确定分组数量;
31、组别划分模块,用于根据分组数量在虚拟环上创建用于表征分组的虚拟分组对象;根据区块链节点加入区块链系统的时间,确定区块链系统中各区块链节点的节点编号;针对每个区块链节点,根据区块链节点的节点编号的哈希值在虚拟环上的映射位置,确定在预设方向上最接近于映射位置的虚拟分组对象,并将区块链节点划分至确定出的虚拟分组对象所表征的分组内;
32、更新模块,用于在区块链系统发生节点更新的情况下,对更新的区块链节点对应的目标虚拟分组对象所表征的分组进行区块链节点更新处理。
33、第三方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现本申请各实施例中的步骤。
34、第四方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请各实施例中的步骤。
35、第五方面,本申请还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请各实施例中的步骤。
36、上述区块链节点处理方法、装置、计算机设备、存储介质和计算机程序产品中,根据区块链系统中的节点数量和组内数量阈值区间,确定分组数量;根据分组数量在虚拟环上创建用于表征分组的虚拟分组对象;根据区块链节点加入区块链系统的时间,确定区块链系统中各区块链节点的节点编号;针对每个区块链节点,根据区块链节点的节点编号的哈希值在虚拟环上的映射位置,确定在预设方向上最接近于映射位置的虚拟分组对象,并将区块链节点划分至确定出的虚拟分组对象所表征的分组内。该方式是灵活动态的节点组别划分机制,能够有效适应区块链系统中节点数量的动态变化,如果区块链系统发生节点更新,则不需要再重新对所有节点分组,而是自动地对更新的区块链节点对应的目标虚拟分组对象所表征的分组进行区块链节点更新处理,实现自动调整分组,确保各分组中节点数量的均衡和效率,从而避免了不灵活的分组导致的系统资源消耗。
本文档来自技高网...【技术保护点】
1.一种区块链节点处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,节点更新的情况包括产生新增节点的情况;所述在所述区块链系统发生节点更新的情况下,对更新的区块链节点对应的目标虚拟分组对象所表征的分组进行区块链节点更新处理,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述新增节点的节点编号的哈希值在所述虚拟环上对应的目标位置,从虚拟环上确定所述新增节点对应的目标虚拟分组对象,包括:
4.根据权利要求1所述的方法,其特征在于,节点更新的情况包括产生退出节点的情况,所述退出节点对应的目标虚拟分组对象所表征的分组是所述退出节点被划分至的目标分组;
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.一种区块链节点处理装置,其特征在于,所述装置包括:
...【技术特征摘要】
1.一种区块链节点处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,节点更新的情况包括产生新增节点的情况;所述在所述区块链系统发生节点更新的情况下,对更新的区块链节点对应的目标虚拟分组对象所表征的分组进行区块链节点更新处理,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述新增节点的节点编号的哈希值在所述虚拟环上对应的目标位置,从虚拟环上确定所述新增节点对应的目标虚拟分组对象,包括:
4.根据权利要求1所述的方法,其特征在于,节点更新的情况包括产生退出节点的情况,所述退出节点对应的目标虚拟分组...
【专利技术属性】
技术研发人员:谭林,郭兆中,尹海波,刘齐军,罗建军,
申请(专利权)人:湖南天河国云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。