CN115617806B - 一种区块打包方法、装置、电子设备及存储介质 - Google Patents
一种区块打包方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115617806B CN115617806B CN202211360635.3A CN202211360635A CN115617806B CN 115617806 B CN115617806 B CN 115617806B CN 202211360635 A CN202211360635 A CN 202211360635A CN 115617806 B CN115617806 B CN 115617806B
- Authority
- CN
- China
- Prior art keywords
- blocks
- round
- packing
- block
- interval
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Abstract
本发明公开了一种区块打包方法、装置、电子设备及存储介质,方法包括:当新一轮按照预设数量打包区块开始前,将区块链上剩余的未打包区块按照预设要求划分为多个区间,其中划分的第一个区间为当前轮次打包的区块数量,第二个区间打包区块的数量根据所述当前轮次打包的区块数量以及当前轮次预估新增区块的数量确定;确定每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量;根据每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量,确定下一轮打包区块数量。本发明通过动态调整打包区块数量,可以更好地应对灵活多变的业务场景,最大化利用系统资源。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种区块打包方法、装置、电子设备及存储介质。
背景技术
区块链存在一种由核心链和开放链组成的技术架构,核心链的主要工作是数据监管和链上治理,各条开放链上的数据会定时打包成梅克尔树,并将树根提交到核心链,完成块的锚定,开放链上的区块链交易可以通过两级SPV证明在核心链上获得有效性证明。但现有对开放链的打包只能是人为预先设定的一个固定打包区块数量,开放链会一直按照这个固定的数量进行每一轮的区块打包操作,固定的打包区块数量没有考虑实际业务场景下相关因素的影响,无法应对不同的业务场景对应的有效性证明申请业务的需要;故亟待提出一种新的区块打包方法,可以更好地应对灵活多变的业务场景,最大化利用系统资源。
发明内容
因此,本发明要解决的技术问题在于克服现有对开放链的打包数量只能是预设数量值,没有考虑实际业务场景下相关因素的影响,且无法应对不同的业务场景需要的缺陷,从而提供一种区块打包方法、装置、电子设备及存储介质。
根据第一方面,本发明实施例公开了一种区块打包方法,所述方法包括:当新一轮按照预设数量打包区块开始前,将区块链上剩余的未打包区块按照预设要求划分为多个区间,其中划分的第一个区间为当前轮次打包的区块数量,第二个区间打包区块的数量根据所述当前轮次打包的区块数量以及下一轮新增区块的数量确定;确定每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量;根据所述每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量,确定当前轮次预估打包区块数量。
可选地,当前轮次预估新增区块的数量通过下式计算得到:
SΔ=Vraise-last×(Smax-Snow)
其中,SΔ表示当前轮次预估新增区块的数量;Vraise-last表示前一轮区块数量增长速率;Smax表示每轮打包的最大区块数量;Snow表示本轮打包区块数量。
可选地,所述根据所述每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量,确定下一轮打包区块数量,包括:根据当前轮次的区块增长数量与历史目标轮次打包操作时对应的区块增长数量,确定当前轮次的区块数量的增长速率;根据所述当前轮次的区块数量的增长速率以及每一区间包含的区块对应的有效性证明申请次数,确定下一轮打包区块数量。
可选地,所述根据所述当前轮次的区块数量的增长速率以及每一区间包含的区块对应的有效性证明申请次数,确定下一轮打包区块数量,包括:确定多个区间包含的区块对应的有效性证明申请次数的总和;将所述有效性证明申请次数的总和与预设阈值进行比较;根据比较结果判断下一轮打包区块数量的增减情况;基于计算的当前轮次的区块数量的增长速率以及增减情况,计算下一轮打包区块数量。
可选地,所述方法还包括:当判定所述下一轮打包区块数量未减少时,确定每一个区间的包含的区块对应的有效性证明申请次数比例;根据所述每一个区间的包含的区块对应的有效性证明申请比例判断下一轮打包区块数量的增加或不变情况;根据所述判断的下一轮打包区块数量的增加或不变情况,基于计算的当前轮次的区块数量的增长速率计算下一轮打包区块数量。
根据第二方面,本发明实施例还公开了一种区块打包装置,所述装置包括:区间划分模块,用于当新一轮按照预设数量打包区块开始前,将区块链上剩余的未打包区块按照预设要求划分为多个区间,其中划分的第一个区间为当前轮次打包的区块数量,第二个区间打包区块的数量根据所述当前轮次打包的区块数量以及当前轮次预估新增区块的数量确定;参数计算模块,用于确定每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量;区块数量确定模块,用于根据所述每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量,确定下一轮打包区块数量。
可选地,区块数量确定模块,包括:增长速率确定子模块,用于根据当前轮次的区块增长数量与历史目标轮次打包操作时对应的区块增长数量,确定当前轮次的区块数量的增长速率;数量计算子模块,用于根据所述当前轮次的区块数量的增长速率以及每一区间包含的区块对应的有效性证明申请次数,确定下一轮打包区块数量。
可选地,数量计算子模块,包括:次数总和确定子模块,用于确定多个区间包含的区块对应的有效性证明申请次数的总和;比较子模块,用于将所述有效性证明申请次数的总和与预设阈值进行比较;情况判断子模块,用于根据比较结果判断下一轮打包区块数量的增减情况;数量计算子模块,用于基于计算的当前轮次的区块数量的增长速率以及增减情况,计算下一轮打包区块数量。
根据第三方面,本发明实施例还公开了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如第一方面或第一方面任一可选实施方式所述的区块打包方法的步骤。
根据第四方面,本发明实施方式还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面任一可选实施方式所述的区块打包方法的步骤。
本发明技术方案,具有如下优点:
本发明提供的区块打包方法,通过新一轮按照预设数量打包区块开始前,将区块链上剩余的未打包区块按照预设要求划分为多个区间,确定每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量,根据确定得到的数值,计算得到下一轮打包区块数量;本发明基于新增区块的数量以及每一个区间对应的有效性证明申请次数来确定并动态调整下一轮次的打包区块数量,考虑了实际业务场景下相关因素的影响,可以更好地应对灵活多变的业务场景,最大化利用系统资源提高对待打包区块的打包效率,进而高效地满足区块链上的交易对有效性证明的申请需求。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中区块打包方法的一个具体示例的流程图;
图2为本发明实施例中区块打包方法对应的一个具体示例流程图;
图3为本发明实施例中区块打包装置的一个具体示例的原理框图;
图4为本发明实施例中电子设备的一个具体示例图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明实施例公开了一种区块打包方法,如图1所示,该方法包括如下步骤:
步骤101,当新一轮按照预设数量打包区块开始前,将区块链上剩余的未打包区块按照预设要求划分为多个区间,其中划分的第一个区间为当前轮次固定打包的区块数量,第二个区间打包区块的数量根据所述当前轮次固定打包的区块数量以及当前轮次预估新增区块的数量确定;
示例性地,本申请实施例中,区块链中在每一轮进行区块打包时,均会按照预先设定或计算好的打包数量进行打包操作,即每一轮打包区块开始前,该轮次需打包的区块数量是确定好的。当新一轮按照预设数量进行区块打包开始前,将区块链上剩余的未打包区块按照预设要求划分为多个区间,第一区间的区块数量为当前轮次固定打包的区块数量,即新一轮在打包过程中会直接把第一区间内包含的区块进行打包,第二区间打包区块的数量可以根据当前轮次固定打包的区块数量以及当前轮次预估新增区块的数量确定,剩下未划分区间的区块可以以预设数量平均划分为多个区间,也可以统一划分为单个区间,仅作为举例,不以此为限。在第二区间的划分过程中考虑了在本轮次打包过程中,可能新增出的区块,当该新增的区块小于或等于当前轮次的打包数量的情况下,可以按照当前轮次对应的预设数量进行区块打包,保证了区块的打包速率;当新增的区块大于当前轮次的打包数量的情况下,那么如果依然按照当前轮次对应的预设数量进行区块打包,可能导致等待打包的数量不断累加,造成待打包区块的等待时间增加,即此时需要对下一轮的打包区块数量进行调整以满足用户对区块打包效率的需求;当预估出当前轮次新增区块的数量后,具体下一轮打包区块的数量如何取值,需要结合每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量来确定,即需要保证增加的打包区块的数量可以满足有效性证明申请的需求。对于任一区块链,在首次进行区块打包时,可以预先按照业务量情况自定义一个初始值,本申请对该初始值不作限定,本领域技术人员可以根据实际需要确定。
具体实施例中,在当前轮次打包开始前,将区块链上未打包的区块划分为三个区间,由一个指针顺着当前所在区块继续往下遍历区间长度对应的区块数量,定位到了该区间的右端点,此指针可以是重复利用的,不用每次区间划分都新建一个指针,节约了资源。当前轮次划分的第一区间以上一轮打包区间的结束点作为起点Pstart,再以起始点加上当前轮次要打包的区块数量Snow(即当前轮次对应的预设数量)定位到第一区间的右端点,即第一区间的范围为:[Pstart,Pstart+Snow],定义第一区间为H1;以H1的右端点PH1-rigt作为起始点,以起始点加上当前轮次打包区块数量和当前轮次预估新增区块的数量SΔ定位到第二区间的右端点,即区间范围为:[PH1-rigt,PH1-rigt+Snow+SΔ],定义第二区间为H2;以第二区间H2的右端点PH2-rigt作为起始点,一直到未打包区块的最后一个区块,即区间范围为[PH2-rigt,Pend],定义第三区间为H3。
步骤102,确定每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量;
示例性地,本申请实施例统计每一个划分的未打包区块区间内对交易有效性证明的申请次数,具体实施例中,统计上述划分的三个区间包含的区块对应的对交易有效性证明的申请次数,并记为NH1、NH2、NH3;在每轮的打包过程中记录每轮新区块增长的数量并进行统计,并获取历史目标轮次打包操作时对应的区块增长数量,该历史目标轮次的大小不作限定,本领域技术人员可以根据实际需要确定,如果可以选择与当前轮次相邻的前三轮对应的区块增长数量。
步骤103,根据所述每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量,确定下一轮打包区块数量。
示例性地,本申请实施例可以将统计的每一个划分的未打包区块内对交易有效性证明的申请次数进行处理计算得到计算结果,将计算结果与预设阈值进行比较,当计算结果大于预设阈值,但增幅不大,即现有的区块打包数量可以满足新增的有效性证明的申请需求,则可以结合历史目标轮次的区块增长数量的规律,对下一轮次区块打包数量做适当的增加处理即可,仅作为举例,不以此为限。
本发明提供的区块打包方法,通过新一轮按照预设数量打包区块开始前,将区块链上剩余的未打包区块按照预设要求划分为多个区间,确定每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量,根据确定得到的数值,计算得到下一轮打包区块数量;本发明基于新增区块的数量以及每一个区间对应的有效性证明申请次数来确定并动态调整下一轮次的打包区块数量,考虑了实际业务场景下相关因素的影响,可以更好地应对灵活多变的业务场景,最大化利用系统资源提高对待打包区块的打包效率,进而高效地满足区块链上的交易对有效性证明的申请需求。
作为本发明一个可选实施方式,步骤103,包括:根据当前轮次的区块增长数量与历史目标轮次打包操作时对应的区块增长数量,确定当前轮次的区块数量的增长速率;根据所述当前轮次的区块数量的增长速率以及每一区间包含的区块对应的有效性证明申请次数,确定下一轮打包区块数量。
示例性地,本申请实施例将当前轮次的区块增长数量与历史目标轮次打包操作时对应的区块增长数量进行比对,确定当前轮次的区块数量增长速率,其中,前三轮的打包过程中,历史目标轮次的选择根据当前轮次进行改变,比如在第三轮进行打包过程中,只能与其前两轮的区块数量增长数量进行比较;三轮打包之后,统一以过去三轮的区块数量作为比对,仅作为举例,不以此为限。根据将统计的每一区间包含的区块对应的有效性证明申请次数进行处理计算得到计算结果,将计算结果与预设阈值进行比较,判断下一轮区块数量的增减情况,基于计算的当前轮次的区块数量根据下一轮区块数量增减的不同情况,确定下一轮打包区块数量。即本申请实施例可以每一区间包含的区块对应的有效性证明申请次数的总和与预设阈值进行比对,当大于预设阈值,表征有效性证明申请次数有增加,当增幅不大,即当前打包速率可以满足新增的有效性证明的申请需求,则可以结合确定当前轮次的区块数量的增长速率,对下一轮次区块打包数量做适当的增加处理。
具体实施例中,将当前轮次的区块数量Yn与过去三轮的区块增长数量进行比对,Yn-1、Yn-2、Yn-3分别指过去3轮每一轮增长的区块数量,在n=2时,Yn-3可以取值为0,仅作为举例;定义Yn-1的增长比例系数为θn-1,Yn-2的增长比例系数为θn-2,Yn-3的增长比例系数为θn-3,其中θn-1=0.6,θn-2=0.3,θn-3=0.1,对θ的取值仅作为举例,不以此为限,通过下式计算当前轮次的区块数量的增长速率:
其中,Vraise表示为当前轮次区块数量的增长速率。
作为本发明一个可选实施方式,当前轮次预估新增区块的数量通过下式计算得到:
SΔ=Vraise-last×(Smax-Snow)
其中,SΔ表示当前轮次预估新增区块的数量;Vraise-last表示前一轮区块数量增长速率;Smax表示每轮打包的最大区块数量;Snow表示本轮打包区块数量。
作为本发明一个可选实施方式,根据所述当前轮次的区块数量的增长速率以及每一区间包含的区块对应的有效性证明申请次数,确定下一轮打包区块数量,包括:确定多个区间包含的区块对应的有效性证明申请次数的总和;将所述有效性证明申请次数的总和与预设阈值进行比较;根据比较结果判断下一轮打包区块数量的增减情况;基于计算的当前轮次的区块数量的增长速率以及增减情况,计算下一轮打包区块数量。
示例性地,本申请实施例根据上述得到的每一个区间包含的区块对应的有效性证明申请次数计算其总和,即NH1+NH2+NH3,如图2所示,将计算的总和与预设阈值进行比较,对预设阈值的设定可根据实际情况自行确定,在本申请实施例中该预设阈值可以根据本轮打包区块数量确定,当(NH1+NH2+NH3<α×Snow,其中,比例系数记为α,α=0.1,仅作为举例,表明下一轮区块打包过程需要申请证明的区块数量很少,需要减少下一轮打包区块数量,区块减少数量为比例系数β乘以最大打包区块数量与最少打包区块数量的差值,其中β=0.2,仅作为举例,基于计算的当前轮次的区块数量的增长速率通过下式计算下一轮打包区块数量:
Snext=min(Smax,max(Smin,Snow-β×(Smax-Smin)+Vraise×(Smax-Snow)))
其中,Snext表示下一轮打包区块数量;Smin表示每轮能打包的最小区块数量。
作为本发明一个可选实施方式,方法还包括:如图2所示,当判定所述下一轮打包区块数量未减少时,确定每一个区间的包含的区块对应的有效性证明申请次数比例;根据所述每一个区间的包含的区块对应的有效性证明申请比例判断下一轮打包区块数量的增加或不变情况;根据所述判断的下一轮打包区块数量的增加或不变情况,基于计算的当前轮次的区块数量的增长速率计算下一轮打包区块数量。
示例性地,本申请实施例中,如图2所示,当(NH1+NH2+NH3)≥α×Snow时,表明申请有效性证明的次数足够多,通过下式确定每一个区间的包含的区块对应的有效性证明申请次数比例:
其中,lH1表明第一区间H1的交易有效性证明申请次数比例;lH2表明第二区间H2的交易有效性证明申请次数比例;lH3表明第三区间H3的交易有效性证明申请次数比例。
具体实施例中,如图2所示,当(lH1+lH2)≤lH3时,表明后续待打包的区块包含的申请有效性证明的次数足够多,但若继续按当前轮次打包区块数量进行下一轮打包,可能仍无法满足大部分申请交易有效性证明的区块的需求,需要增加下一轮打包区块数量,以区间H3与另外两个区间的交易申请比例之差作为下一轮打包区块数量增加的比例系数,同时考虑区块数量增长速率带来的影响,通过下式计算下一轮打包区块数量:
Snext=min(Smax,max(Smin,Snow+(lH3-lH1-lH2+Vraise)×(Smax-Snow)))
当(lH1+lH2)>lH3时,表明若继续按当前轮次打包区块数量进行下一轮打包,可以满足大部分申请交易有效性证明的区块的需求,可以继续以当前轮次的打包区块数量进行下一轮打包,但还需考虑区块数量增长速率带来的影响,通过下式计算下一轮打包区块数量:
Snext=min(Smax,max(Smin,Snow+Vraise×(Smax-Snow)))
本发明充分考虑了实际业务场景下的相关业务特性对打包区块数量的影响,首先对未打包区块进行分区,统计各个未打包区块分区内的交易申请有效性证明的次数,计算各个未打包区块分区内的交易申请有效性证明的比例,各个分区的申请比例对于制定区块打包策略有不同的影响(例如,若分区H1和分区H2能够覆盖大多数交易对有效性证明的申请,则判定下一轮打包区块数量不变,其他情况也有对应的判定策略)。此外,计算每轮区块打包完成后区块数量的增长速率,随着新区块的增加,在未打包的新区块中可能会有一些交易提出有效性证明申请,因此需考虑区块数量增长速率带来的对打包区块数量的影响,在计算所得的相关参数的基础上,判定下一轮打包区块的策略,然后计算下一轮打包区块数量,这样动态地调整打包区块数量,更符合实际业务场景下的需求。本发明主要应用在需要进行跨链区块数据打包的区块链存储设备中,针对区块打包方法做出了优化。该技术适用于:云计算设备、分布式存储设备等。
本发明实施例还公开了一种区块打包装置,如图3所示,该装置包括:区间划分模块201,用于当新一轮按照预设数量打包区块开始前,将区块链上剩余的未打包区块按照预设要求划分为多个区间,其中划分的第一个区间为当前轮次固定打包的区块数量,第二个区间打包区块的数量根据所述当前轮次固定打包的区块数量以及当前轮次预估新增区块的数量确定;参数计算模块202,用于确定每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量;区块数量确定模块203,用于根据所述每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量,确定下一轮打包区块数量。
本发明提供的区块打包装置,通过新一轮按照预设数量打包区块开始前,将区块链上剩余的未打包区块按照预设要求划分为多个区间,确定每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量,根据确定得到的数值,计算得到下一轮打包区块数量;本发明基于新增区块的数量以及每一个区间对应的有效性证明申请次数来确定并动态调整下一轮次的打包区块数量,考虑了实际业务场景下相关因素的影响,可以更好地应对灵活多变的业务场景,最大化利用系统资源提高对待打包区块的打包效率,进而高效地满足区块链上的交易对有效性证明的申请需求。
作为本发明一个可选实施方式,当前轮次预估新增区块的数量通过下式计算得到:
SΔ=Vraise-last×(Smax-Snow)
其中,SΔ表示当前轮次预估新增区块的数量;Vraise-last表示前一轮区块数量增长速率;Smax表示每轮打包的最大区块数量;Snow表示本轮打包区块数量。
作为本发明一个可选实施方式,区块数量确定模块,包括:增长速率确定子模块,用于根据当前轮次的区块增长数量与历史目标轮次打包操作时对应的区块增长数量,确定当前轮次的区块数量的增长速率;数量计算子模块,用于根据所述当前轮次的区块数量的增长速率以及每一区间包含的区块对应的有效性证明申请次数,确定下一轮打包区块数量。
作为本发明一个可选实施方式,数量计算子模块,包括:次数总和确定子模块,用于确定多个区间包含的区块对应的有效性证明申请次数的总和;比较子模块,用于将所述有效性证明申请次数的总和与预设阈值进行比较;情况判断子模块,用于根据比较结果判断下一轮打包区块数量的增减情况;数量计算子模块,用于基于计算的当前轮次的区块数量的增长速率以及增减情况,计算下一轮打包区块数量。
作为本发明一个可选实施方式,该装置还包括:比例确定模块,用于当判定所述下一轮打包区块数量未减少时,确定每一个区间的包含的区块对应的有效性证明申请次数比例;情况判断模块,用于根据所述每一个区间的包含的区块对应的有效性证明申请比例判断下一轮打包区块数量的增加或不变情况;
本发明实施例还提供了一种电子设备,如图4所示,该电子设备可以包括处理器401和存储器402,其中处理器401和存储器402可以通过总线或者其他方式连接,图4中以通过总线连接为例。
处理器401可以为中央处理器(Central Processing Unit,CPU)。处理器401还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器402作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的区块打包方法对应的程序指令/模块。处理器401通过运行存储在存储器402中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的区块打包方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器401所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至处理器401。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器402中,当被所述处理器401执行时,执行如图1所示实施例中的区块打包方法。
上述电子设备具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入所限定的范围之内。
Claims (4)
1.一种区块打包方法,其特征在于,所述方法包括:
当新一轮按照预设数量打包区块开始前,将区块链上剩余的未打包区块按照预设要求划分为多个区间,其中划分的第一个区间为当前轮次打包的区块数量,第二个区间打包区块的数量根据所述当前轮次打包的区块数量以及当前轮次预估新增区块的数量确定;
所述当前轮次预估新增区块的数量通过下式计算得到:
SΔ=Vraise-last×(Smax-Snow)
其中,SΔ表示当前轮次预估新增区块的数量;Vraise-last表示前一轮区块数量增长速率;Smax表示每轮打包的最大区块数量;Snow表示本轮打包区块数量;
确定每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量;
根据所述每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量,确定下一轮打包区块数量;
所述根据所述每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量,确定下一轮打包区块数量,包括:
根据当前轮次的区块增长数量与历史目标轮次打包操作时对应的区块增长数量,确定当前轮次的区块数量的增长速率;
根据所述当前轮次的区块数量的增长速率以及每一区间包含的区块对应的有效性证明申请次数,确定下一轮打包区块数量;
所述根据所述当前轮次的区块数量的增长速率以及每一区间包含的区块对应的有效性证明申请次数,确定下一轮打包区块数量,包括:
确定多个区间包含的区块对应的有效性证明申请次数的总和;
将所述有效性证明申请次数的总和与预设阈值进行比较;
根据比较结果判断下一轮打包区块数量的增减情况;
基于计算的当前轮次的区块数量的增长速率以及增减情况,计算下一轮打包区块数量;
所述方法还包括:
需要减少下一轮打包区块数量,区块减少数量为比例系数β乘以最大打包区块数量与最少打包区块数量的差值,基于计算的当前轮次的区块数量的增长速率通过下式计算下一轮打包区块数量:
Snext=min(Smax,max(Smin,Snow-β×(Smax-Smin)+Vraise
×(Smax-Snow)))
其中,Snext表示下一轮打包区块数量;Smin表示每轮能打包的最小区块数量;Vraise表示为当前轮次区块数量的增长速率;
当判定所述下一轮打包区块数量未减少时,确定每一个区间的包含的区块对应的有效性证明申请次数比例;
根据所述每一个区间的包含的区块对应的有效性证明申请比例判断下一轮打包区块数量的增加或不变情况;
根据所述判断的下一轮打包区块数量的增加或不变情况,基于计算的当前轮次的区块数量的增长速率计算下一轮打包区块数量。
2.一种区块打包装置,其特征在于,所述装置包括:
区间划分模块,用于当新一轮按照预设数量打包区块开始前,将区块链上剩余的未打包区块按照预设要求划分为多个区间,其中划分的第一个区间为当前轮次打包的区块数量,第二个区间打包区块的数量根据所述当前轮次打包的区块数量以及当前轮次预估新增区块的数量确定;
所述当前轮次预估新增区块的数量通过下式计算得到:
SΔ=Vraise-last×(Smax-Snow)
其中,SΔ表示当前轮次预估新增区块的数量;Vraise-last表示前一轮区块数量增长速率;Smax表示每轮打包的最大区块数量;Snow表示本轮打包区块数量;
参数计算模块,用于确定每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量;
区块数量确定模块,用于根据所述每一区间包含的区块对应的有效性证明申请次数以及历史目标轮次打包操作时对应的区块增长数量,确定下一轮打包区块数量;
所述区块数量确定模块,包括:增长速率确定子模块,用于根据当前轮次的区块增长数量与历史目标轮次打包操作时对应的区块增长数量,确定当前轮次的区块数量的增长速率;数量计算子模块,用于根据所述当前轮次的区块数量的增长速率以及每一区间包含的区块对应的有效性证明申请次数,确定下一轮打包区块数量;
所述数量计算子模块,包括:次数总和确定子模块,用于确定多个区间包含的区块对应的有效性证明申请次数的总和;比较子模块,用于将所述有效性证明申请次数的总和与预设阈值进行比较;情况判断子模块,用于根据比较结果判断下一轮打包区块数量的增减情况;数量计算子模块,用于基于计算的当前轮次的区块数量的增长速率以及增减情况,计算下一轮打包区块数量;
所述装置还包括:需要减少下一轮打包区块数量,区块减少数量为比例系数β乘以最大打包区块数量与最少打包区块数量的差值,基于计算的当前轮次的区块数量的增长速率通过下式计算下一轮打包区块数量:
Snext=min(Smax,max(Smin,Snow-β×(Smax-Smin)+Vraise
×(Smax-Snow)))
其中,Snext表示下一轮打包区块数量;Smin表示每轮能打包的最小区块数量;Vraise表示为当前轮次区块数量的增长速率;
所述装置还包括:比例确定模块,用于当判定所述下一轮打包区块数量未减少时,确定每一个区间的包含的区块对应的有效性证明申请次数比例;情况判断模块,用于根据所述每一个区间的包含的区块对应的有效性证明申请比例判断下一轮打包区块数量的增加或不变情况。
3.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1所述的区块打包方法的步骤。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1所述的区块打包方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211360635.3A CN115617806B (zh) | 2022-10-31 | 2022-10-31 | 一种区块打包方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211360635.3A CN115617806B (zh) | 2022-10-31 | 2022-10-31 | 一种区块打包方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115617806A CN115617806A (zh) | 2023-01-17 |
CN115617806B true CN115617806B (zh) | 2023-07-04 |
Family
ID=84877292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211360635.3A Active CN115617806B (zh) | 2022-10-31 | 2022-10-31 | 一种区块打包方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115617806B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444512B (zh) * | 2019-01-17 | 2022-07-01 | 杨税令 | 一种用于区块链的移动端打块方法及系统 |
CN111131298A (zh) * | 2019-12-31 | 2020-05-08 | 预言机(重庆)科技有限公司 | 一种基于信用去中心化的poc高效共识机制及实现方法 |
CN111640020B (zh) * | 2020-05-22 | 2023-09-19 | 百度在线网络技术(北京)有限公司 | 区块链中事务请求处理方法、装置、设备和介质 |
CN113393061B (zh) * | 2021-08-17 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 一种基于区块链的交易打包方法和相关装置 |
CN113888164A (zh) * | 2021-09-30 | 2022-01-04 | 上海浦东发展银行股份有限公司 | 区块链交易池实现方法、装置、计算机设备和存储介质 |
CN114897614A (zh) * | 2022-06-09 | 2022-08-12 | 上海万向区块链股份公司 | 基于共识时间的交易打包自动调整系统、方法及介质 |
-
2022
- 2022-10-31 CN CN202211360635.3A patent/CN115617806B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115617806A (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8842529B2 (en) | Network transport system with hybrid dynamic bandwidth allocation mechanism and method of operation thereof | |
CN107920031B (zh) | 接入带宽自适应调整方法和装置 | |
CN112348681B (zh) | 一种区块链交易手续费确定方法、装置及电子设备 | |
CN108932844A (zh) | 交通灯控制方法及装置 | |
CN112887905B (zh) | 一种车联网中基于周期性资源调度的任务卸载方法 | |
CN112383485B (zh) | 一种网络拥塞控制方法及装置 | |
CN110570075A (zh) | 一种电力业务边缘计算任务分配方法及装置 | |
CN115617806B (zh) | 一种区块打包方法、装置、电子设备及存储介质 | |
CN113329053B (zh) | 一种基于电力业务特征的5g网络虚拟映射方法及装置 | |
CN104243531A (zh) | 一种数据处理的方法、装置及系统 | |
CN115297171A (zh) | 一种蜂窝车联网分级决策的边缘计算卸载方法及系统 | |
CN107948084B (zh) | 一种限流方法和装置 | |
EP4184361A1 (en) | Federated learning method, apparatus and system, electronic device and storage medium | |
CN109447318B (zh) | 一种网格划分方法、计算机可读存储介质及终端设备 | |
CN110933000B (zh) | 分布式数据多阶段聚合方法、设备、服务器和存储介质 | |
CN103458520A (zh) | 一种上行频域资源的分配方法和装置 | |
CN116567582A (zh) | 一种车辆任务卸载方法、装置、电子设备及存储介质 | |
CN112039689A (zh) | 网络设备性能评估方法、装置、设备及存储介质 | |
CN115988462A (zh) | 一种基于车路协同的边缘计算模块的调试方法 | |
CN106789745B (zh) | 一种带宽获取方法和装置 | |
EP3961597A2 (en) | Data verification method and apparatus, device and storage medium | |
CN110933135B (zh) | 在计算机设备中建立网络连接的方法和装置 | |
CN109982296A (zh) | Mtc接入网的过载控制方法、接入侧设备、系统及存储介质 | |
CN114338683A (zh) | 调度请求处理方法、装置、存储介质及电子设备 | |
CN113269339A (zh) | 一种网约车任务自动创建和分发的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |