CN111159283B - 一种区块链中区块的合并方法、装置及设备 - Google Patents
一种区块链中区块的合并方法、装置及设备 Download PDFInfo
- Publication number
- CN111159283B CN111159283B CN201911169270.4A CN201911169270A CN111159283B CN 111159283 B CN111159283 B CN 111159283B CN 201911169270 A CN201911169270 A CN 201911169270A CN 111159283 B CN111159283 B CN 111159283B
- Authority
- CN
- China
- Prior art keywords
- block
- blockchain
- transaction data
- standard
- determining
- 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
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Computing Systems (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种区块链中区块的合并方法、装置及设备,所述方法包括:将标准区块参数作为变量,确定区块链上交易数据的读取时间的函数;其中,所述标准区块参数包括标准区块大小或标准区块数量;计算所述读取时间的函数的最小极值,并确定所述函数中所述最小极值对应的标准区块参数的取值;基于所述标准区块参数的取值,对所述区块链上的区块进行合并。由于标准区块参数的取值的确定是以最大化交易数据的读取效率为前提的,因此基于该标准区块参数的取值进行区块合并后,能够保证区块链上的数据读取效率。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种区块链中区块的合并方法、装置及设备。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。它有链式结构存储,有去中心化、不可篡改、可追溯等优良的技术特性。
在区块链中,每一次出块后的区块会链接到区块链的后面,形成最新的区块,而区块链的数据由一个一个区块存储,并经由链连接在一起。在对区块中的数据进行查询时,需要从后向前,顺链查询。
区块链是24小时不间断运行的系统,随着运行的时间越长,链的长度越长,链的长度越长则链上数据查询的效率就越低。对于越来越长的区块链而言,想要提升链上数据查询的效率,目前较好的方法是进行区块合并,即把区块链上相邻区块合并在一起组成一个大区块。
通常,为了避免存储资源的浪费,将小区块尽量合并为大小相差不大的大区块。而对于合并后区块的大小(以下称为标准区块大小),目前基本是技术人员根据需求预先确定,并无成熟的确定方式。但是,标准区块大小影响着整个区块链的数据读取效率,因此,如何确定标准区块大小,使得基于该标准区块大小对区块链中的区块进行合并后,能够保证整个区块链的数据读取效率,是目前值得探讨的问题。
发明内容
有鉴于此,本申请提供了一种区块链中区块的合并方法、装置及设备,能够基于区块链上交易数据的读取效率,确定用于区块合并的标准区块参数的取值,从而保证基于该标准区块参数的取值进行区块合并后的区块链的数据读取效率。
第一方面,为实现上述发明目的,本申请提供了一种区块链中区块的合并方法,所述方法包括:
将标准区块参数作为变量,确定区块链上交易数据的读取时间的函数;其中,所述标准区块参数包括标准区块大小或标准区块数量;
计算所述读取时间的函数的最小极值,并确定所述函数中所述最小极值对应的标准区块参数的取值;
基于所述标准区块参数的取值,对所述区块链上的区块进行合并。
一种可选的实施方式中,所述区块链上交易数据的读取时间为所述区块链上交易数据的寻链时间和块内读取时间之和;
所述将标准区块参数作为变量,确定区块链上交易数据的读取时间的函数,包括:
将所述标准区块参数作为变量,确定所述区块链上交易数据的寻链时间的函数;
以及,将所述标准区块参数作为变量,确定所述区块链上交易数据的块内读取时间的函数;
将所述寻链时间的函数与所述块内读取时间的函数之和,确定为所述区块链上交易数据的读取时间的函数。
一种可选的实施方式中,所述将所述标准区块参数作为变量,确定所述区块链上交易数据的块内读取时间的函数,包括:
基于所述区块链上交易数据的存储方式,将所述标准区块参数作为变量,确定所述区块链上交易数据的块内读取时间的函数。
一种可选的实施方式中,所述标准区块参数包括标准区块包含的交易数量;
所述基于所述标准区块参数的取值,对所述区块链上的区块进行合并,包括:
确定所述区块链中各个区块的可能合并结果;其中,所述可能合并结果包括合并后区块;
确定所述可能合并结果中各个合并后区块对应的交易数据的数量与所述标准区块包含的交易数量的差值之和;
基于所述差值之和最小的可能合并结果,对所述区块链中的区块进行合并。
一种可选的实施方式中,所述确定所述区块链中各个区块的可能合并结果,包括:
按照出块顺序,将所述区块链中各个区块依次与后出块的区块组成可能合并项,直到所述可能合并项中的交易数据的数量不小于所述标准交易数量;
基于所述可能合并项,确定所述区块链中各个区块的可能合并结果;其中,所述可能合并结果对应的可能合并项中包括所述区块链的所有区块且不存在重复的区块。
一种可选的实施方式中,所述基于所述可能合并项,确定所述区块链中各个区块的可能合并结果之前,还包括:
按照出块顺序,将所述区块链中各个区块依次与先出块的区块组成可能合并项,直到所述可能合并项中的交易数据的数量不小于所述标准交易数量。
第二方面,本申请还提供了一种区块链中区块的合并装置,所述装置包括:
第一确定模块,用于将标准区块参数作为变量,确定区块链上交易数据的读取时间的函数;其中,所述标准区块参数包括标准区块大小或标准区块数量;
计算模块,用于计算所述读取时间的函数的最小极值;
第二确定模块,用于确定所述函数中所述最小极值对应的标准区块参数的取值;
合并模块,用于基于所述标准区块参数的取值,对所述区块链中的区块进行合并。
一种可选的实施方式中,所述区块链上交易数据的读取时间为所述区块链上交易数据的寻链时间和块内读取时间之和;
所述第一确定模块,包括:
第一确定子模块,用于将所述标准区块参数作为变量,确定所述区块链上交易数据的寻链时间的函数;
第二确定子模块,用于将所述标准区块参数作为变量,确定所述区块链上交易数据的块内读取时间的函数;
第三确定子模块,用于将所述寻链时间的函数与所述块内读取时间的函数之和,确定为所述区块链上交易数据的读取时间的函数。
第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上述任一项所述的方法。
第四方面,本申请还提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述任一项所述的方法。
本申请提供的区块链上区块的合并方法,通过综合考虑链上数据读取效率和区块大小均衡的问题,对区块进行合并。具体的,首先将标准区块参数作为变量,确定区块链上交易数据的读取时间的函数,然后,计算所述读取时间的函数的最小极值,并确定所述函数中所述最小极值对应的标准区块参数的取值,最后,根据该标准区块参数的取值,对区块链中的区块进行合并,由于标准区块参数的取值的确定是以最大化交易数据的读取效率为前提的,因此基于该标准区块参数的取值进行区块合并后,能够保证区块链上的数据读取效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种区块链中区块的合并方法流程图;
图2为本申请实施例提供的一种区块链中区块的合并装置的结构示意图;
图3为本申请实施例提供的一种区块链中区块的合并设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在区块链系统中,因为出块时间的问题往往导致区块的大小差异较大,而每个区块被分配的存储空间往往相同,为了避免存储空间的浪费,各个区块在进行区块的合并时应考虑尽量将区块的大小趋同。另外,在进行区块合并的过程中,还要考虑区块链上的交易数据的读取效率。因此,在进行区块合并时,如何在尽量保证区块大小趋同的前提下,尽量提高区块链上交易数据的读取效率是目前需要解决的问题。
基于此,本申请提供了一种区块链上区块的合并方法,通过综合考虑链上数据读取效率和区块大小均衡的问题,对区块进行合并。具体的,首先将标准区块参数作为变量,确定区块链上交易数据的读取时间的函数,其次,计算该函数的最小极值,进而确定最小极值对应的标准区块参数的取值。最终,基于标准区块参数的取值,对区块链中的区块进行合并。由于标准区块参数的取值的确定是以保证交易数据的读取效率为前提的,因此基于该标准区块参数的取值进行区块合并后,能够保证区块链上的数据读取效率。
以下为本申请实施例提供的一种区块链中区块的合并方法,参考图1,为本申请实施例提供的一种区块链中区块的合并方法流程图,该方法包括:
S101:将标准区块参数作为变量,确定区块链上交易数据的读取时间的函数;其中,所述标准区块参数包括标准区块大小或标准区块数量。
S102:计算所述读取时间的函数的最小极值,并确定所述函数中所述最小极值对应的标准区块参数的取值。
S103:基于所述标准区块参数的取值,对所述区块链上的区块进行合并。
S101中,为了保证区块链上交易数据的读取效率,需要将区块链上交易数据的读取时间尽量缩短,区块链上交易数据的读取时间越短,则意味着读取效率越高,显然,当区块链上交易数据的读取时间取最小值时,区块链上交易数据的读取效率最优,则对应的区块链上的区块大小即为最佳标准区块大小。
可以理解的是,对于区块链上的交易数据而言,区块链越长则读取效率越低,区块越大则读取效率也越低。因此,在进行区块合并之前,需要在区块链长度和区块大小之间确定一个平衡点,使得区块链上交易数据的读取效率达到最佳,即区块链上交易数据的读取时间最少。
实际应用中,在对区块链上的区块进行合并前后,区块链上总的交易数据是不变的,为了尽量保证合并后的区块大小趋同,则在区块合并的过程中需要尽量为各个区块平均分配交易数据。
一种实现方式中,在对区块链中区块进行合并之前,首先获取区块链中交易数据的总数量。具体的,假设区块链上原始区块的个数为m,且获取到区块链上各个原始区块的交易数据个数分别为L1,L2......Lm,则该区块链上交易数据的总数量假设区块链上的区块进行合并后得到的区块数量为n,则在尽量保证合并后各个区块大小趋同的情况下,合并后每个区块包含的交易数据的数量x=B/n,其中,B为已知值。
本申请实施例中,标准区块参数为用于进行区块合并的依据,标准区块参数包括标准区块大小或标准区块数量,标准区块数量可以为区块链上的区块进行合并后得到的区块数量n,标准区块大小可以为区块链上的区块进行合并后得到的每个区块包含的交易数据的数量x。另外,区块链上交易数据的读取时间可以为区块链上所有交易数据总的读取时间,即各条交易数据的读取时间之和;也可以为区块链上交易数据的平均读取时间,即各条交易数据的读取时间之和除以交易数据的总数量B。也就是说,区块链上所有交易数据总的读取时间和区块链上交易数据的平均读取时间均能够用于表示区块链上交易数据的读取效率。
由于区块链上交易数据总的读取时间C为区块链上交易数据总的寻链时间D和总的块内读取时间E之和,即C=D+E,因此,本申请实施例需要确定区块链上交易数据总的寻链时间D与标准区块参数n或x的关系,即将标准区块参数作为变量,确定区块链上交易数据的寻链时间的函数,以及本申请实施例还需要确定块内读取时间E与标准区块参数n或x的关系,即将标准区块参数作为变量,确定区块链上交易数据的块内读取时间的函数。
具体的,区块链上交易数据总的寻链时间D与区块链上包含的链个数有关,也与每个链的读取时间有关,而区块链上每个链的寻链时间基本相同,因此,本申请实施例需要预先获取区块链上每寻一个链所需要的时间a(常数)。由于区块链的寻链方式是由后向前进行寻链,因此,第一个区块上所有交易数据总的寻链时间为a*x*(n-1),其中,读取第一个区块上的每条交易数据需要寻链n-1个;第二个区块上所有交易数据总的寻链时间为a*x*(n-2),其中,读取第一个区块上的每条交易数据需要寻链n-2个;以此类推,第n个区块上所有交易数据总的寻链时间为0。综上,区块链上交易数据总的寻链时间D为n个区块上所有交易数据总的寻链时间之和,即如下x作为变量的D的函数:
另外,区块链上交易数据总的块内读取时间E与区块链上交易数据的存储方式有关,而无论是哪种存储方式,E均与区块内存储的交易数据的数量x有关,因此,本申请实施例可以将合并后每个区块的块内读取时间利用函数f(x)表示,即表示合并后每个区块的块内读取时间与区块内存储的交易数据的数量x之间的关系。因此,区块链上交易数据总的块内读取时间E可以表示为合并后区块个数n与合并后每个区块的块内读取时间f(x)的乘积,即E=n*f(x)。
而区块链上交易数据的存储方式通常包括顺序存储、树状存储、图存储等方式,每种存储方式均能够利用对应的函数表示。
以顺序存储为例,假设第一条交易数据的块内读取时间为b(常数),则第一条交易数据的块内读取时间为b,第二条交易数据的块内读取时间为b*2,以此类推,则第x条交易数据的块内读取时间为b*x,综上,
基于上述计算方式,由于C=D+E,则而n=B/x,因此,C可以表示为以标准区块参数x为变量的区块链上交易数据的读取时间的函数。
以区块链上交易数据的存储方式为顺序存储为例,则由于n=B/x,因此,/>可以变换为,/>可见,C为关于变量x的函数,其中,x为合并后每个区块包含的交易数据的数量。
本申请实施例的S102中,为了保证区块链中区块进行合并之后的数据读取效率最佳,则需要保证合并后区块链上交易数据总的读取时间C最小,因此,需要确定使得C的取值最小的x的取值,然后基于x的取值对区块进行合并,保证区块链中的区块进行合并后的数据读取效率。
一种可选的实施方式中,可以通过计算的最小值的方式,确定合并后每个区块包含的交易数据的数量x的取值。
一种可选的实施方式中,可以使用极值法,对求极值,则必然存在一个x的取值使得C为最小值。此时得到的x的取值,即为使得合并后区块链上交易数据的读取效率最佳的标准区块参数的取值,即根据每个区块包含趋近于x条交易数据的标准,对区块链上的区块进行合并。
另一种实施方式中,还可以计算区块链上交易数据的平均读取时间T,即T=C/B。由于则/>通过对求极值,得到使得T为最小值的一个x的取值,即根据每个区块包含趋近于x条交易数据的标准,对区块链上的区块进行合并。
S103中,在确定标准区块参数的取值后,基于标准区块参数的取值进行区块的合并。
其中,标准区块参数可以表示每个区块包含的交易数据的数量,即标准区块大小,或者可以为合并后区块的个数,即标准区块数量,事实上,确定了标准区块数量即可以得到标准区块大小,反之亦然。
实际应用中,区块链的各个区块只能和自己前后的区块进行合并,并且不能将区块进行拆分,而区块链的区块大小并不固定,没法保证合并后的各个区块大小绝对相同,因此,需要尽量保证合并后的各个区块大小趋同,且更接近于标准区块参数的取值。
一种可选的实施方式中,首先,确定所述区块链中各个区块的可能合并结果;其中,所述可能合并结果包括合并后区块;其次,确定所述可能合并结果中各个合并后区块存储的交易数据的数量与所述标准交易数量的差值之和;最后,基于所述差值之和小于预设第二阈值的可能合并结果,对所述区块链中的区块进行合并。
假设基于标准区块参数的取值对区块进行合并后得到P个区块,且每个区块中包含的交易数据的数量可以用队列R=(r1,r2,r3,r4,……,rp)表示,用于表示合并后各个区块包含的交易数据的数量与标准区块参数对应的交易数据的数量之差的累加结果。为了达到合并后各个区块大小趋同的效果,需要计算使得V取最小值的R。在得到R之后,按照R对区块进行合并即可。
本申请实施例中,对于确定上述队列R的方式不做限定,以下提供一种可选的实施方式。具体的,首先,按照出块顺序,将所述区块链中各个区块依次与后出块的区块组成可能合并项,直到所述可能合并项中的交易数据的数量不小于所述标准交易数量;然后,基于所述可能合并项,确定所述区块链中各个区块的可能合并结果;其中,所述可能合并结果对应的可能合并项中包括所述区块链的所有区块且不存在重复的区块。
一种可选的实施方式中,可以利用表格制作的方式确定队列R,假设区块链中包括10个区块(事实上,区块数量通常为巨大数量级,10个区块只为举例简单),则按照出块顺序,将块1-10一次与后出块的区块组成可能合并项,直到可能合并项中的交易数据的数量不小于所述标准交易数量。如表1所示,对于块1,其本身作为一个可能合并项,如果块1包含的交易数据的数量小于标准交易数量,则依次与后出块的块2组成可能合并项1+2,如果可能合并项1+2中的交易数据的数量小于标准交易数量,则继续与后出块的块3组成可能合并项1+2+3,此时如果可能合并项1+2+3中的交易数据的数量不小于标准交易数量,则停止操作,也就是说,块1对应的可能合并项包括1,1+2,1+2+3。同样的方式,块2对应的可能合并项包括2,2+3。
表1
本申请实施例中,在确定各个可能合并项后,基于各个可能合并项,确定区块链中各个区块的可能合并结果。值得注意的是,可能合并结果由各个可能合并项组成,但是,组成一个可能合并结果的各个可能合并项需要包括区块链的所有区块,且不能存在重复的区块。以下为表1中各个可能合并项组成的可能合并结果:
1,2,3,4,5,6,7,8,9,10;
1,2,3,4,5,6,7,8,9+10;
1,2,3,4,5,6,7,8+9,10;
1,2,3,4,5,6,7+8,9,10;
1,2,3,4,5,6,7+8,9+10;
1,2,3,4,5,6,7+8+9,10;
1,2,3,4,5,6+7,8,9,10;
1,2,3,4,5,6+7,8,9+10;
1,2,3,4,5,6+7,8,9+10;
1,2,3,4,5,6+7,8+9,10;
……
1+2+3,4+5+6+7,8,9+10;
1+2+3,4+5+6+7,8+9,10。
本申请实施例中,在确定各个可能合并结果后,计算各个可能合并结果对应的交易数据的数量与标准交易数量的差值之和。然后,基于差值之和最小的可能合并结果,对区块链中的区块进行合并,以便达到合并后各个区块大小的最佳趋同效果。
由于各个区块依次与后出块的区块组成可能合并项很大程度上会存在遗漏情况,因此,为全面枚举可能合并结果,本申请实施例还可以按照上述方式将表1中的块1-10依次与先出块的区块组成可能合并项。具体的,按照出块顺序,将区块链中各个区块依次与先出块的区块组成可能合并项,直到可能合并项中的交易数据的数量不小于标准交易数量。
本申请实施例中,可以综合所有可能合并项,确定可能合并结果,然后计算各个可能合并结果对应的交易数据的数量与标准交易数量的差值之和,并找到差值之和最小的可能合并结果,最终基于该可能合并结果对区块链中的区块进行合并。
本申请提供的区块链上区块的合并方法,通过综合考虑链上数据读取效率和区块大小均衡的问题,对区块进行合并。具体的,首先将标准区块参数作为变量,确定区块链上交易数据的读取时间的函数,其次,计算该函数的最小极值,进而确定最小极值对应的标准区块参数的取值。最终,基于标准区块参数的取值,对区块链中的区块进行合并。由于标准区块参数的取值的确定是以保证交易数据的读取效率为前提的,因此基于该标准区块参数的取值进行区块合并后,能够保证区块链上的数据读取效率。
基于上述方法实施例,本申请还提供了一种区块链中区块的合并装置,参考图2,为本申请实施例提供的一种区块链中区块的合并装置的结构示意图,所述装置包括:
第一确定模块201,用于将标准区块参数作为变量,确定区块链上交易数据的读取时间的函数;其中,所述标准区块参数包括标准区块大小或标准区块数量;
计算模块202,用于计算所述读取时间的函数的最小极值;
第二确定模块203,用于确定所述函数中所述最小极值对应的标准区块参数的取值;
合并模块204,用于基于所述标准区块参数的取值,对所述区块链中的区块进行合并。
一种可选的实施方式中,所述区块链上交易数据的读取时间为所述区块链上交易数据的寻链时间和块内读取时间之和;
所述第一确定模块201,包括:
第一确定子模块,用于将所述标准区块参数作为变量,确定所述区块链上交易数据的寻链时间的函数;
第二确定子模块,用于将所述标准区块参数作为变量,确定所述区块链上交易数据的块内读取时间的函数;
第三确定子模块,用于将所述寻链时间的函数与所述块内读取时间的函数之和,确定为所述区块链上交易数据的读取时间的函数。
第二确定子模块,具体用于:
基于所述区块链上交易数据的存储方式,将所述标准区块参数作为变量,确定所述区块链上交易数据的块内读取时间的函数。
一种可选的实施方式中,所述标准区块参数包括标准区块包含的交易数量;所述合并模块204,包括:
第四确定子模块,用于确定所述区块链中各个区块的可能合并结果;其中,所述可能合并结果包括合并后区块;
第五确定子模块,用于确定所述可能合并结果中各个合并后区块对应的交易数据的数量与所述标准区块包含的交易数量的差值之和;
合并子模块,用于基于所述差值之和小最小的可能合并结果,对所述区块链中的区块进行合并。
具体的,所述第四确定子模块,包括:
第六确定子模块,用于按照出块顺序,将所述区块链中各个区块依次与后出块的区块组成可能合并项,直到所述可能合并项中的交易数据的数量不小于所述标准交易数量;
第七确定子模块,用于基于所述可能合并项,确定所述区块链中各个区块的可能合并结果;其中,所述可能合并结果对应的可能合并项中包括所述区块链的所有区块且不存在重复的区块。
一种可选的实施方式中,所述装置还包括:
第八确定子模块,用于按照出块顺序,将所述区块链中各个区块依次与先出块的区块组成可能合并项,直到所述可能合并项中的交易数据的数量不小于所述标准交易数量。
本申请实施例提供的区块链上区块的合并装置,通过综合考虑链上数据读取效率和区块大小均衡的问题,对区块进行合并。具体的,首先将标准区块参数作为变量,确定区块链上交易数据的读取时间的函数,其次,计算该函数的最小极值,进而确定最小极值对应的标准区块参数的取值。最终,基于标准区块参数的取值,对区块链中的区块进行合并,使得完成区块合并后的区块链上的数据读取效率最佳。
另外,本申请实施例还提供了一种区块链上区块的合并设备,参见图3所示,可以包括:
处理器301、存储器302、输入装置303和输出装置304。区块链上区块的合并设备中的处理器301的数量可以一个或多个,图3中以一个处理器为例。在本发明的一些实施例中,处理器301、存储器302、输入装置303和输出装置304可通过总线或其它方式连接,其中,图3中以通过总线连接为例。
存储器302可用于存储软件程序以及模块,处理器301通过运行存储在存储器302的软件程序以及模块,从而执行区块链上区块的合并设备的各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置303可用于接收输入的数字或字符信息,以及产生与区块链上区块的合并设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器301会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器302中,并由处理器301来运行存储在存储器302中的应用程序,从而实现上述区块链上区块的合并方法中的各种功能。
另外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的区块链上区块的合并方法。
可以理解的是,对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请实施例所提供的一种区块链上区块的合并方法、装置及设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (7)
1.一种区块链中区块的合并方法,其特征在于,所述方法包括:
将标准区块参数作为变量,确定区块链上交易数据的读取时间的函数,包括:
将所述标准区块参数作为变量,确定所述区块链上交易数据的寻链时间的函数,其中,所述标准区块是所述区块链上的区块进行合并后得到的区块,所述标准区块参数是用于进行区块合并的依据,包括标准区块大小或标准区块数量,所述标准区块数量是所述标准区块的数量,所述标准区块大小是每个所述标准区块包含的交易数据的数量,所述区块链上交易数据的读取时间为所述区块链上交易数据的寻链时间和块内读取时间之和;
以及,将所述标准区块参数作为变量,确定所述区块链上交易数据的块内读取时间的函数;
将所述寻链时间的函数与所述块内读取时间的函数之和,确定为所述区块链上交易数据的读取时间的函数;
计算所述读取时间的函数的最小极值,并确定所述函数中所述最小极值对应的标准区块参数的取值;
基于所述标准区块参数的取值,对所述区块链上的区块进行合并,包括:
确定所述区块链中各个区块的可能合并结果;其中,所述可能合并结果包括合并后区块;
确定所述可能合并结果中各个合并后区块对应的交易数据的数量与所述标准区块包含的交易数据的数量的差值之和;
基于所述差值之和最小的可能合并结果,对所述区块链中的区块进行合并。
2.根据权利要求1所述的方法,其特征在于,所述将所述标准区块参数作为变量,确定所述区块链上交易数据的块内读取时间的函数,包括:
基于所述区块链上交易数据的存储方式,将所述标准区块参数作为变量,确定所述区块链上交易数据的块内读取时间的函数。
3.根据权利要求1所述的方法,其特征在于,所述确定所述区块链中各个区块的可能合并结果,包括:
按照出块顺序,将所述区块链中各个区块依次与后出块的区块组成可能合并项,直到所述可能合并项中的交易数据的数量不小于所述标准区块包含的交易数据的数量;
基于所述可能合并项,确定所述区块链中各个区块的可能合并结果;其中,所述可能合并结果对应的可能合并项中包括所述区块链的所有区块且不存在重复的区块。
4.根据权利要求3所述的方法,其特征在于,所述基于所述可能合并项,确定所述区块链中各个区块的可能合并结果之前,还包括:
按照出块顺序,将所述区块链中各个区块依次与先出块的区块组成可能合并项,直到所述可能合并项中的交易数据的数量不小于所述标准区块包含的交易数据的数量。
5.一种区块链中区块的合并装置,其特征在于,所述装置包括:
第一确定模块,用于将标准区块参数作为变量,确定区块链上交易数据的读取时间的函数,包括:
第一确定子模块,用于将所述标准区块参数作为变量,确定所述区块链上交易数据的寻链时间的函数,其中,所述标准区块是所述区块链上的区块进行合并后得到的区块,所述标准区块参数是用于进行区块合并的依据,包括标准区块大小或标准区块数量,所述标准区块数量是所述标准区块的数量,所述标准区块大小是每个所述标准区块包含的交易数据的数量,所述区块链上交易数据的读取时间为所述区块链上交易数据的寻链时间和块内读取时间之和;
第二确定子模块,用于将所述标准区块参数作为变量,确定所述区块链上交易数据的块内读取时间的函数;
第三确定子模块,用于将所述寻链时间的函数与所述块内读取时间的函数之和,确定为所述区块链上交易数据的读取时间的函数;
计算模块,用于计算所述读取时间的函数的最小极值;
第二确定模块,用于确定所述函数中所述最小极值对应的标准区块参数的取值;
合并模块,用于基于所述标准区块参数的取值,对所述区块链中的区块进行合并,包括:
确定所述区块链中各个区块的可能合并结果;其中,所述可能合并结果包括合并后区块;
确定所述可能合并结果中各个合并后区块对应的交易数据的数量与所述标准区块包含的交易数据的数量的差值之和;
基于所述差值之和最小的可能合并结果,对所述区块链中的区块进行合并。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-4任一项所述的方法。
7.一种电子设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911169270.4A CN111159283B (zh) | 2019-11-25 | 2019-11-25 | 一种区块链中区块的合并方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911169270.4A CN111159283B (zh) | 2019-11-25 | 2019-11-25 | 一种区块链中区块的合并方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159283A CN111159283A (zh) | 2020-05-15 |
CN111159283B true CN111159283B (zh) | 2023-08-22 |
Family
ID=70556054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911169270.4A Active CN111159283B (zh) | 2019-11-25 | 2019-11-25 | 一种区块链中区块的合并方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159283B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112261154A (zh) * | 2020-11-23 | 2021-01-22 | 国网能源研究院有限公司 | 一种电网数据文件存储方法、装置、电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681963A (zh) * | 2018-03-29 | 2018-10-19 | 深圳市网心科技有限公司 | 多区块链整合控制方法、系统、电子装置及存储介质 |
CN108765142A (zh) * | 2018-03-29 | 2018-11-06 | 深圳市网心科技有限公司 | 电子装置、多区块链整合控制方法和计算机可读存储介质 |
CN108805569A (zh) * | 2018-05-29 | 2018-11-13 | 阿里巴巴集团控股有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
CN108932348A (zh) * | 2018-08-16 | 2018-12-04 | 北京京东尚科信息技术有限公司 | 区块链的合并处理方法、装置、区块链节点及存储介质 |
CN109584071A (zh) * | 2018-11-28 | 2019-04-05 | 青岛逸海蓝图信息科技有限公司 | 区块链处理方法和电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10252145B2 (en) * | 2016-05-02 | 2019-04-09 | Bao Tran | Smart device |
US10389518B2 (en) * | 2017-01-27 | 2019-08-20 | Entit Software Llc | Blockchain hash value recomputation |
US11442933B2 (en) * | 2017-09-21 | 2022-09-13 | Oracle International Corporation | Function semantic based partition-wise SQL execution and partition pruning |
US11057225B2 (en) * | 2017-12-07 | 2021-07-06 | International Business Machines Corporation | Enforcing compute equity models in distributed blockchain |
-
2019
- 2019-11-25 CN CN201911169270.4A patent/CN111159283B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681963A (zh) * | 2018-03-29 | 2018-10-19 | 深圳市网心科技有限公司 | 多区块链整合控制方法、系统、电子装置及存储介质 |
CN108765142A (zh) * | 2018-03-29 | 2018-11-06 | 深圳市网心科技有限公司 | 电子装置、多区块链整合控制方法和计算机可读存储介质 |
CN108805569A (zh) * | 2018-05-29 | 2018-11-13 | 阿里巴巴集团控股有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
CN108932348A (zh) * | 2018-08-16 | 2018-12-04 | 北京京东尚科信息技术有限公司 | 区块链的合并处理方法、装置、区块链节点及存储介质 |
CN109584071A (zh) * | 2018-11-28 | 2019-04-05 | 青岛逸海蓝图信息科技有限公司 | 区块链处理方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111159283A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391527B (zh) | 一种基于区块链的数据处理方法及设备 | |
CN102129425B (zh) | 数据仓库中大对象集合表的访问方法及装置 | |
CN106339252B (zh) | 分布式dag系统的自适应优化方法和装置 | |
KR101857510B1 (ko) | 소팅 | |
US20160085832A1 (en) | System and method of analyzing data using bitmap techniques | |
CN110704438B (zh) | 一种区块链中布隆过滤器的生成方法及装置 | |
CN111159283B (zh) | 一种区块链中区块的合并方法、装置及设备 | |
CN110851434B (zh) | 一种数据存储方法、装置及设备 | |
CN106339458A (zh) | 一种基于弹性分布式数据集的Stage划分方法和终端 | |
CN109376379A (zh) | 基于最小割向量的多状态流网络性能优化方法及装置 | |
CN112488708A (zh) | 区块链账户关联性查询方法及虚假交易筛选方法 | |
CN109710698B (zh) | 一种数据汇聚方法、装置、电子设备及介质 | |
CN104537016A (zh) | 一种确定文件所在分区的方法及装置 | |
CN107562533B (zh) | 一种数据加载处理方法及装置 | |
CN109213922B (zh) | 一种对搜索结果排序的方法和装置 | |
CN111210156B (zh) | 基于流窗口实现的实时流数据处理方法及装置 | |
Liu et al. | A survey of speculative execution strategy in MapReduce | |
CN115544011A (zh) | 一种数据查询的方法、电子设备及计算机可读存储介质 | |
CN113553477B (zh) | 一种图的拆分方法和装置 | |
CN107003855B (zh) | 带进位的原子加法指令 | |
CN113625967A (zh) | 数据存储方法、数据查询方法及服务器 | |
JP2017207843A (ja) | メタデータ登録方法、メタデータ登録プログラムおよびメタデータ登録装置 | |
CN111177188A (zh) | 一种基于聚合边与时序聚合边的快速海量时序数据处理方法 | |
CN110297714A (zh) | 基于大规模图数据集获取PageRank的方法及装置 | |
CN109636324B (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 |