区块链分片负载均衡方法及装置与流程

文档序号:26003938发布日期:2021-07-23 21:21阅读:169来源:国知局
区块链分片负载均衡方法及装置与流程

本申请涉及区块链领域,也可用于金融领域,具体涉及一种区块链分片负载均衡方法及装置。



背景技术:

区块链技术凭借其去中心化的优势以及密码学支持对传统的信任体系发起挑战,改变了价值分享方式,促进了信息互联网向价值互联网转变。然而,目前的区块链技术尚有很多未解决问题。去中心化、安全性和可扩展性三者无法同时满足,因此被称为区块链的不可能三角。bitcoin、ethereum等公链在去中心化和安全性方面己经比较成熟,但是在可扩展性上一直难有实质性突破,因此目前区块链的基础设施无法满足大规模应用的要求。为此,研究人员提出了分片、dag、状态通道、侧链等多种区块链扩容方案。其中,分片技术在不降低去中心化程度的情况下很好地解决了扩容问题,具有良好的应用前景。

发明人发现,现阶段分片技术尚处于起步和探索阶段,仍有很多问题需要解决。例如,在区块链分片中,如果某个分片发生拥堵并产生大量的交易信息,就会造成各个分片负载不均衡,从而导致区块链系统交易吞吐量降低。而现有的分片方案通常是将节点随机分配到不同的分片中。这样的随机分配策略忽略了各个节点之间的性能差异,导致区块链中不同的分片之间的性能差异较大,如果某一个负载较大的分片的处理能力较差,就会产生拥堵,导致整个区块链系统交易吞吐量降低。



技术实现要素:

针对现有技术中的问题,本申请提供一种区块链分片负载均衡方法及装置,能够有效提高区块链各分片的负载均衡性,提高区块链验证交易效率。

为了解决上述问题中的至少一个,本申请提供以下技术方案:

第一方面,本申请提供一种区块链分片负载均衡方法,包括:

根据区块链中各分片在执行交易验证后的未处理交易数量,确定所述各分片的负载状态;

根据所述各分片中各节点在执行验证交易后的自身硬件性能、处理交易时间以及交易验证结果,确定所述各节点的节点评级;

根据所述各分片的负载状态和所述各分片中各节点的节点评级进行分片节点重分配操作,并在所述分片节点重分配操作完成后对所述分片中的未处理交易执行交易验证操作,并在所述交易验证操作完成后将对应生成的微区块打包上链。

进一步地,所述根据所述各分片的负载状态和所述各分片中各节点的节点评级进行分片节点重分配操作,包括:

将所述节点评级超过评级阈值的节点重分配至所述负载状态超过负载阈值的分片中,并随机选取一所述节点评级超过评级阈值的节点作为所述分片的主节点,其中,所述主节点用于收集所述分片中其他节点的交易验证结果。

进一步地,还包括:

判断区块链分片针对同一交易任务执行交易验证后是否存在未处理交易;

若否,则将对应生成的微区块打包上链,否则,判断所述分片针对该同一交易任务执行交易验证的次数是否超过操作阈值,若是,则放弃验证所述未处理交易。

进一步地,在所述根据所述各分片的负载状态和所述各分片中各节点的节点评级进行分片节点重分配操作之前,包括:

监测区块链中是否新增有分片打包上链的微区块,若是,则触发各分片的分片节点重分配操作。

第二方面,本申请提供一种区块链分片负载均衡装置,包括:

分片负载确定模块,用于根据区块链中各分片在执行交易验证后的未处理交易数量,确定所述各分片的负载状态;

节点评级确定模块,用于根据所述各分片中各节点在执行验证交易后的自身硬件性能、处理交易时间以及交易验证结果,确定所述各节点的节点评级;

分片节点重分配模块,用于根据所述各分片的负载状态和所述各分片中各节点的节点评级进行分片节点重分配操作,并在所述分片节点重分配操作完成后对所述分片中的未处理交易执行交易验证操作,并在所述交易验证操作完成后将对应生成的微区块打包上链。

进一步地,所述分片节点重分配模块包括:

负载均衡处理单元,用于将所述节点评级超过评级阈值的节点重分配至所述负载状态超过负载阈值的分片中,并随机选取一所述节点评级超过评级阈值的节点作为所述分片的主节点,其中,所述主节点用于收集所述分片中其他节点的交易验证结果。

进一步地,还包括:

未处理交易判断单元,用于判断区块链分片针对同一交易任务执行交易验证后是否存在未处理交易;

未处理交易操作单元,用于若区块链分片针对同一交易任务执行交易验证后不存在未处理交易,则将对应生成的微区块打包上链,否则,判断所述分片针对该同一交易任务执行交易验证的次数是否超过操作阈值,若是,则放弃验证所述未处理交易。

进一步地,还包括:

重分配触发单元,用于监测区块链中是否新增有分片打包上链的微区块,若是,则触发各分片的分片节点重分配操作。

第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的区块链分片负载均衡方法的步骤。

第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的区块链分片负载均衡方法的步骤。

由上述技术方案可知,本申请提供一种区块链分片负载均衡方法及装置,通过区块链各分片中各节点的自身硬件性能、处理交易时间以及交易验证结果对节点进行评级,然后根据区块链中各分片在执行交易验证后的未处理交易数量,确定所述各分片的负载状态,并在下一轮交易验证中,将高性能节点分配到负载较大的分片当中,提升该分片的性能,加快其验证交易的效率,以解决各个分片负载不均衡的问题,通过分片节点的重分配操作使得各个分片达到相对均衡的状态。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例中的区块链分片负载均衡方法的流程示意图之一;

图2为本申请实施例中的区块链分片负载均衡方法的流程示意图之二;

图3为本申请实施例中的区块链分片负载均衡装置的结构图之一;

图4为本申请实施例中的区块链分片负载均衡装置的结构图之二;

图5为本申请实施例中的区块链分片负载均衡装置的结构图之三;

图6为本申请实施例中的电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

考虑到现阶段分片技术尚处于起步和探索阶段,仍有很多问题需要解决。例如,在区块链分片中,如果某个分片发生拥堵并产生大量的交易信息,就会造成各个分片负载不均衡,从而导致区块链系统交易吞吐量降低。而现有的分片方案通常是将节点随机分配到不同的分片中。这样的随机分配策略忽略了各个节点之间的性能差异,导致区块链中不同的分片之间的性能差异较大,如果某一个负载较大的分片的处理能力较差,就会产生拥堵,导致整个区块链系统交易吞吐量降低的问题,本申请提供一种区块链分片负载均衡方法及装置,通过区块链各分片中各节点的自身硬件性能、处理交易时间以及交易验证结果对节点进行评级,然后根据区块链中各分片在执行交易验证后的未处理交易数量,确定所述各分片的负载状态,并在下一轮交易验证中,将高性能节点分配到负载较大的分片当中,提升该分片的性能,加快其验证交易的效率,以解决各个分片负载不均衡的问题,通过分片节点的重分配操作使得各个分片达到相对均衡的状态。

为了能够有效提高区块链各分片的负载均衡性,提高区块链验证交易效率,本申请提供一种区块链分片负载均衡方法的实施例,参见图1,所述区块链分片负载均衡方法具体包含有如下内容:

步骤s101:根据区块链中各分片在执行交易验证后的未处理交易数量,确定所述各分片的负载状态。

可选的,当交易根据映射规则被分配到既定的区块链分片中后,由被分配到该分片中的验证节点对该交易进行交易验证,其中,分片内主节点用于收集分片中其它节点的验证结果,并将结果打包发送给ds节点(即ds委员会)进行处理,本申请可以根据第一轮交易验证中各个分片的未处理交易数量来计算各个分片的负载情况,例如未处理交易占比超过阈值(例如30%),则确定其负载过高。

步骤s102:根据所述各分片中各节点在执行验证交易后的自身硬件性能、处理交易时间以及交易验证结果,确定所述各节点的节点评级。

可选的,在节点交易验证后,本申请可以根据每个节点自身硬件性能以及处理交易时间和交易验证结果得到其相应的分数。

具体的,本申请节点评级可以基于以下四个原则:

(1)节点的硬件性能越高,获得的分数也就越高。

(2)当一个节点比分片中的其它节点更快地确认交易时,可以获得更高的分数。

(3)仅当各个节点验证交易的结果与分片达成共识的结果一致时,才能获得交易验证的分数。

(4)各个分片中,微区块生成的速度越快,该分片中的节点获得的分数就越高。score1=k1*n*c+k2*m+k3*d+k4*t

公式1中,k1,k2,k3,k4是各项指标的权值参数,用来反映不同类型的服务对各个指标的影响程度,在实际场景中,k需要根据节点所提供的服务类型,从而设置一个合理的权值。在本发明中,节点主要提供的服务是处理交易以及验证交易,对计算能力、网络带宽要求较高。所以本申请中的k可以设置为:k1,k2,k3,k4=0.3,0.2,0.1,0.4。

同时,除了节点的硬件性能,节点验证交易的速率也需要被考虑,一个节点每验证一个交易就会得到一个分数。在本发明中,还可以通过对节点的交易验证行为进行评分来衡量节点的性能。在本发明中,节点每验证一个交易就会得到一个分数。一个节点在生成微区块的过程中获得的分数由公式2计算:

其中,|tx|是在微区块中验证的交易数量。ttx=trecv-tsend,这是节点验证第τtx个交易所花费的时间。其中tsend是分片内的主节点将交易发送给分片成员的时间,trecv是主节点收到分片中其它节点共识后回复消息的时间。当分片内的主节点生成微区块时,这两个参数会记录在微区块当中。τtx是一个判断参数,它用来判断节点是否可以得分。当节点交易验证的结果和最终的结果相同时,参数值为1,否则为0。这个参数确保节点得出正确的交易验证结果,以便获得验证那个交易的分数。是指在分片中所有节点处理第ttx交易的平均时间,由公式3计算,其中|s|是分片的大小,表示分片中有多少个节点。

此外,本申请的ds节点还可以在收集到各个节点的分数后,根据分片的微区块生成的时间再调整各个节点的节点评级,例如在收集所有分片的主节点发送的节点评级和微区块后,将根据每个分片生成微区块的时间调整节点的节点评级。调整方法如公式4所示,得到调整结果即是每个节点的最终得分(对应节点评级):

具体的,根据各个分片用于生成微区块的时间tblock和所有分片生成微区块的平均时间avg(tblock)来校正节点的分数,然后,将每个节点的最终分数添加到本地,在每一轮验证结束后,根据所有节点的得分情况和各个分片的负载情况进行下一轮节点的分配。

步骤s103:根据所述各分片的负载状态和所述各分片中各节点的节点评级进行分片节点重分配操作,并在所述分片节点重分配操作完成后对所述分片中的未处理交易执行交易验证操作,并在所述交易验证操作完成后将对应生成的微区块打包上链。

可选的,当交易根据映射规则被分配到既定的分片中后,由被分配到该分片中的验证节点对该交易进行验证,分片内主节点收集分片中其它节点验证结果,并将结果打包发送给ds节点进行处理,ds节点会根据第一轮验证交易结果以及各个分片未处理交易数量来计算各个分片中的负载情况,再通过多轮的方式对分片中未处理交易继续进行交易验证,每一轮次都根据节点的性能进行分配节点。验证结束后,ds节点会收集到每个分片的微区块,对其进行验证并将其打包到最终的区块(即连接到区块链中的区块)中并加入到区块链。

具体的,根据在每一轮验证后获得的节点分数以及各个分片负载的情况进行节点的分片节点重分配操作:以便负载较大的分片可以分配到性能较高的节点。同时,本申请还可以从分数高于平均分数的节点中随机选择一个节点作为分片中的主节点。

具体的,在申请的多轮验证方案中,分片中的负载取决于每一轮验证后该分片的未处理交易数,由公式5计算:

shardli=count(untxs)(5)

其中,公式5中,shardli为分片i的负载值,untxs为该分片内每一轮未处理的交易。

根据公式5可以评估各个分片的负载情况,使得负载较大的分片在下一轮节点分配中可以匹配到性能较高的节点,达到负载均衡。

从上述描述可知,本申请实施例提供的区块链分片负载均衡方法,能够通过区块链各分片中各节点的自身硬件性能、处理交易时间以及交易验证结果对节点进行评级,然后根据区块链中各分片在执行交易验证后的未处理交易数量,确定所述各分片的负载状态,并在下一轮交易验证中,将高性能节点分配到负载较大的分片当中,提升该分片的性能,加快其验证交易的效率,以解决各个分片负载不均衡的问题,通过分片节点的重分配操作使得各个分片达到相对均衡的状态。

为了能够使负载较大的分片可以分配到性能较高的节点,在本申请的区块链分片负载均衡方法的一实施例中,上述步骤s103还可以具体包含如下内容:

将所述节点评级超过评级阈值的节点重分配至所述负载状态超过负载阈值的分片中,并随机选取一所述节点评级超过评级阈值的节点作为所述分片的主节点,其中,所述主节点用于收集所述分片中其他节点的交易验证结果。

具体的,根据在每一轮验证后获得的节点分数以及各个分片负载的情况进行节点的分片节点重分配操作:以便负载较大的分片可以分配到性能较高的节点。同时,本申请还可以从分数高于平均分数的节点中随机选择一个节点作为分片中的主节点。

为了能够提高整体交易验证效率,在本申请的区块链分片负载均衡方法的一实施例中,参见图2,还可以具体包含如下内容:

步骤s201:判断区块链分片针对同一交易任务执行交易验证后是否存在未处理交易。

步骤s202:若否,则将对应生成的微区块打包上链,否则,判断所述分片针对该同一交易任务执行交易验证的次数是否超过操作阈值,若是,则放弃验证所述未处理交易。

具体的,第一轮验证开始时,节点通过随机分配到各个分片,再根据发送者的交易地址,将交易分配到特定的分片当中,然后各个分片内的节点开始针对各自分片中的交易进行共识验证,如果在一轮验证结束时,分片内的所有交易被验证完毕,则将交易打包成一个块发送给ds节点,如果在一轮结束,还有未验证交易,则轮数加1并判断轮数是否大于轮数上限tmax,如果大于轮数上限tmax,放弃未验证的交易,否则,ds节点会根据各个分片未处理交易数计算各个分片的负载情况,然后,根据本发明节点分配策略重新分配节点对未处理交易进行验证,直到验证所有未处理交易或者超过轮数上限放弃剩余交易。

为了能够提升负载均衡效果,在本申请的区块链分片负载均衡方法的一实施例中,在上述步骤s103之前,还可以具体包含如下内容:

监测区块链中是否新增有分片打包上链的微区块,若是,则触发各分片的分片节点重分配操作。

具体的,在本申请中,当各个分片开始对该分片交易进行验证时,即为第一轮验证,当分片中产生一个微区块后,即为一轮结束。然后ds节点将根据收到的各个分片打包过来的微区块中的信息,触发各分片的分片节点重分配操作,计算各个分片的负载情况以及各个节点的得分情况,然后根据各个分片的负载情况依次进行下一轮的验证。

具体的,本发明在每一轮节点分配完毕后,将开启新一轮的交易验证,验证完毕后生成新的区块。具体的交易验证和区块生成的过程为:

(1)ds节点收到交易后,根据交易分片方法将交易发送给相应分片的主节点。

(2)每个分片的主节点不断收集ds节点发送的交易。在收集到一定数量的交易后,它将这些交易打包并添加时间戳tsend,广播给分片中的节点并开始进行验证。

(3)节点从分片中的主节点处收到交易集合后,开始进行第一轮验证,并将每轮验证的交易进行打包,签名,然后将带有发送方签名的结果集合发送给分片内的主节点。

(4)分片内的主节点根据收到的时间和时间戳将分片中节点的结果集合进行打包并签名。同时,所有经过验证的交易被打包成一个微区块。

(5)分片内的主节点向分片中所有节点广播包含所有节点验证结果和签名的区块。

如果大多数节点同意该区块的内容(即达成共识),则主节点将结果和产生的区块广播给ds节点。这将存在两种不同的情况:

1)分片内主节点是一个诚实的节点:如果分片中有一个不诚实的节点,则不诚实的节点不会影响最终结果,因为分片内一般节点无法修改结果。

2)分片内主节点是一个不诚实的节点:此时,主节点可以选择不将某些交易块打包到区块当中,故意不确认正常的交易,或者长时间不响应以减慢生成区块的速度。当分片中的诚实节点检测到上述行为(例如在超过响应时间内还未收到主节点的消息),将向分片中的其它节点发起广播。如果有一半以上的节点发起广播,则启动回滚程序,然后重新选择主节点,并清除前主节点的分数。

(6)ds节点收集各分片的交易区块和相应的结果,并验证这些数据中的签名是否有效。如果有效,则ds节点将根据结果集中的时间戳为每个节点进行交易验证的行为评分,并将其保存在本地。然后计算各个分片未处理交易数,开始下一轮节点的分配。

在本时期结束后,ds节点打—个分数区块并更新区块链。这个分数块包含以下数据:

(1)分数块生成的时间;

(2)当前轮中所有节点获得的评分;

(3)前一轮中各个分片未处理交易数量;

(4)前一个区块的哈希值;

(5)所有ds节点的签名。

在ds节点对这个区块的结果达成共识后,ds节点主节点将向整个网络中广播一个新的区块,并更新区块链在本地的状态。在接收到信息后,其它节点也在本地更新区块链的状态,最后新区块被更新到区块链中。

其中,节点分配过程由ds节点在每一轮验证结束后进行节点分配,具体步骤如下:

(1)ds节点将根据保存在区块链中节点的历史分数计算每个节点在过去m轮累计的分数。

(2)ds节点将节点的累计分数降序排列。

(3)依次将节点分配给上一轮遗留负载最大的分片当中,如果有多个分片满足条件,则选择哈希值最小的分片。重复分配,直到所有的节点被分配完毕。

(4)最后,筛选出每个分片中得分高于平均分的节点,然后通过计算公钥哈希从这些节点中随机选择一个节点作为分片内的主节点。

为了能够有效提高区块链各分片的负载均衡性,提高区块链验证交易效率,本申请提供一种用于实现所述区块链分片负载均衡方法的全部或部分内容的区块链分片负载均衡装置的实施例,参见图3,所述区块链分片负载均衡装置具体包含有如下内容:

分片负载确定模块10,用于根据区块链中各分片在执行交易验证后的未处理交易数量,确定所述各分片的负载状态。

节点评级确定模块20,用于根据所述各分片中各节点在执行验证交易后的自身硬件性能、处理交易时间以及交易验证结果,确定所述各节点的节点评级。

分片节点重分配模块30,用于根据所述各分片的负载状态和所述各分片中各节点的节点评级进行分片节点重分配操作,并在所述分片节点重分配操作完成后对所述分片中的未处理交易执行交易验证操作,并在所述交易验证操作完成后将对应生成的微区块打包上链。

从上述描述可知,本申请实施例提供的区块链分片负载均衡装置,能够通过区块链各分片中各节点的自身硬件性能、处理交易时间以及交易验证结果对节点进行评级,然后根据区块链中各分片在执行交易验证后的未处理交易数量,确定所述各分片的负载状态,并在下一轮交易验证中,将高性能节点分配到负载较大的分片当中,提升该分片的性能,加快其验证交易的效率,以解决各个分片负载不均衡的问题,通过分片节点的重分配操作使得各个分片达到相对均衡的状态。

为了能够使负载较大的分片可以分配到性能较高的节点,在本申请的区块链分片负载均衡装置的一实施例中,参见图4,所述分片节点重分配模块30包括:

负载均衡处理单元31,用于将所述节点评级超过评级阈值的节点重分配至所述负载状态超过负载阈值的分片中,并随机选取一所述节点评级超过评级阈值的节点作为所述分片的主节点,其中,所述主节点用于收集所述分片中其他节点的交易验证结果。

为了能够提高整体交易验证效率,在本申请的区块链分片负载均衡装置的一实施例中,参见图5,还具体包含有如下内容:

未处理交易判断单元41,用于判断区块链分片针对同一交易任务执行交易验证后是否存在未处理交易。

未处理交易操作单元42,用于若区块链分片针对同一交易任务执行交易验证后不存在未处理交易,则将对应生成的微区块打包上链,否则,判断所述分片针对该同一交易任务执行交易验证的次数是否超过操作阈值,若是,则放弃验证所述未处理交易。

为了能够提升负载均衡效果,在本申请的区块链分片负载均衡装置的一实施例中,还具体包含有如下内容:

重分配触发单元,用于监测区块链中是否新增有分片打包上链的微区块,若是,则触发各分片的分片节点重分配操作。

从硬件层面来说,为了能够有效提高区块链各分片的负载均衡性,提高区块链验证交易效率,本申请提供一种用于实现所述区块链分片负载均衡方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:

处理器(processor)、存储器(memory)、通信接口(communicationsinterface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现区块链分片负载均衡装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的区块链分片负载均衡方法的实施例,以及区块链分片负载均衡装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。

可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(pda)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。

在实际应用中,区块链分片负载均衡方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。

上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。

图6为本申请实施例的电子设备9600的系统构成的示意框图。如图6所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图6是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。

一实施例中,区块链分片负载均衡方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:

步骤s101:

步骤s102:

从上述描述可知,本申请实施例提供的电子设备,通过区块链各分片中各节点的自身硬件性能、处理交易时间以及交易验证结果对节点进行评级,然后根据区块链中各分片在执行交易验证后的未处理交易数量,确定所述各分片的负载状态,并在下一轮交易验证中,将高性能节点分配到负载较大的分片当中,提升该分片的性能,加快其验证交易的效率,以解决各个分片负载不均衡的问题,通过分片节点的重分配操作使得各个分片达到相对均衡的状态。

在另一个实施方式中,区块链分片负载均衡装置可以与中央处理器9100分开配置,例如可以将区块链分片负载均衡装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现区块链分片负载均衡方法功能。

如图6所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图6中所示的所有部件;此外,电子设备9600还可以包括图6中没有示出的部件,可以参考现有技术。

如图6所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。

其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。

输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。

该存储器9140可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。

存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。

本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的区块链分片负载均衡方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的区块链分片负载均衡方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:

步骤s101:。。。;

步骤s102:。。。。

从上述描述可知,本申请实施例提供的计算机可读存储介质,通过区块链各分片中各节点的自身硬件性能、处理交易时间以及交易验证结果对节点进行评级,然后根据区块链中各分片在执行交易验证后的未处理交易数量,确定所述各分片的负载状态,并在下一轮交易验证中,将高性能节点分配到负载较大的分片当中,提升该分片的性能,加快其验证交易的效率,以解决各个分片负载不均衡的问题,通过分片节点的重分配操作使得各个分片达到相对均衡的状态。

本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1