CN110322350B - 裁剪共识网络中空区块的方法、装置、设备和存储介质 - Google Patents
裁剪共识网络中空区块的方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110322350B CN110322350B CN201910555751.2A CN201910555751A CN110322350B CN 110322350 B CN110322350 B CN 110322350B CN 201910555751 A CN201910555751 A CN 201910555751A CN 110322350 B CN110322350 B CN 110322350B
- Authority
- CN
- China
- Prior art keywords
- block
- chain
- transaction
- updating
- newly generated
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000008569 process Effects 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 6
- 238000013138 pruning Methods 0.000 claims description 4
- 239000002699 waste material Substances 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 108091035707 Consensus sequence Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
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
- G06F16/2291—User-Defined Types; Storage management thereof
-
- 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/23—Updating
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种裁剪共识网络中空区块的方法、装置、设备和存储介质,该方法包括:当第一区块处于关闭状态时,确定第一区块在开放状态时是否接收到交易;如果接收到交易,则将第一区块作为新生成的区块用于更新第一链的存储位置;如果未接收到交易,则将第一区块作为新生成的区块用于更新第二链的存储位置;在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,并将第二区块作为新生成的区块更新到第一链相应的位置。根据本申请实施例提供的技术方案,通过剪裁RPCA共识网络中的空区块,解决了存储RPCA共识网络时造成的存储空间的浪费的问题。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种裁剪共识网络中空区块的方法、装置、设备和存储介质。
背景技术
区块链技术是一种不依赖第三方,通过自身分布式节点进行网络数据的存储、验证、传递和交流的一种技术方案。区块链的本质是一种特殊的分布式数据库,由一个个区块组成,每次写入数据,就是创建一个区块。随着区块链技术的不断成熟,该技术已经被广泛的应用于社会生活的各个领域。
Ripple是一种基于互联网的开源支付协议,在金融支付领域,可以实现去中心化的货币兑换、支付与清算功能。Ripple网络作为Ripple的核心,可以快速不断的生成新区块来存储交易数据,在Ripple网络中,可以通过RPCA(英文:RippleProtocolConsensusAlgorithm;中文:Ripple协议一致性算法)处理交易中的交易数据,该采用了RPCA共识算法的Ripple网络也称为RPCA共识网络。
在相关技术中,当RPCA共识网络中的交易量较大时,通过快速生成新区块对交易数据进行快速存储。但是,当RPCA共识网络中的交易量较小时,RPCA共识网络仍然在以很快的速度生成新的区块,此时,就会产生一些没有存储交易数据的空区块(如图1所示的白色区块A2和A5),由于这些空区块也需要占用一定的存储空间,会造成存储空间的大量浪费。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种可以解决共识网络中存储空区块导致存储空间浪费问题的裁剪共识网络中空区块的方法、装置、设备和存储介质。
第一方面,本申请实施例提供一种裁剪RPCA共识网络中空区块的方法,该方法包括:
当第一区块处于关闭状态时,确定第一区块在开放状态时是否接收到交易,
如果接收到交易,则将第一区块作为新生成的区块用于更新第一链的存储位置,第一链用于存储包含交易的区块;
如果未接收到交易,则将第一区块作为新生成的区块用于更新第二链的存储位置,第二链用于临时存储未包含交易的区块;
在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,并将第二区块作为新生成的区块更新到第一链相应的位置。
第二方面,本申请实施例提供一种裁剪RPCA共识网络中空区块的装置,该装置包括:
第一确定模块,被配置为当第一区块处于关闭状态时,确定第一区块在开放状态时是否接收到交易,
第一更新模块,被配置为如果接收到交易,则将第一区块作为新生成的区块用于更新第一链的存储位置,第一链用于存储包含交易的区块;如果未接收到交易,则将第一区块作为新生成的区块用于更新第二链的存储位置,第二链用于临时存储未包含交易的区块;
第二更新模块,被配置为在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,并将第二区块作为新生成的区块更新到第一链相应的位置。
第三方面,本申请实施例提供一种计算机设备,该计算机设备包括:
处理器;
用于存储处理器的可执行指令的存储器;
其中,处理器被配置为执行如第一方面的裁剪RPCA共识网络中空区块的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当计算机程序被处理器执行时,实现如第一方面的裁剪RPCA共识网络中空区块的方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请实施例提供的裁剪RPCA共识网络中空区块的方法,可以在第一区块处于关闭状态时,确定第一区块在开放状态时未接收到交易,将第一区块作为新生成的区块用于更新第二链的存储位置,并在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,并将第二区块作为新生成的区块更新到第一链相应的位置。由于剪裁后的RPCA共识网络中不包含没有存储交易信息的空区块,减少了存储空间的浪费。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为相关技术提供的一种RPCA共识网络示意图;
图2为本申请的实施例的一种空区块生成过程中区块状态变化示意图;
图3为本申请的实施例的一种裁剪RPCA共识网络中空区块的方法流程图;
图4为本申请的实施例的另一种裁剪RPCA共识网络中空区块的方法流程图;
图5为本申请的实施例的一种RPCA共识网络示意图;
图6为本申请的实施例的又一种RPCA共识网络示意图;
图7为本申请的实施例的再一种RPCA共识网络示意图;
图8为本申请的实施例的再一种RPCA共识网络示意图;
图9为本申请的实施例的再一种RPCA共识网络示意图;
图10为本申请的实施例的再一种RPCA共识网络示意图;
图11为本申请的实施例的一种裁剪RPCA共识网络中空区块的装置的结构示意图;
图12为本申请的实施例的另一种裁剪RPCA共识网络中空区块的装置的结构示意图;
图13为本申请的实施例的又一种裁剪RPCA共识网络中空区块的装置的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步地详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
Ripple网络是金融支付领域常用的数据存储网络,它可以每隔一定时间段产生一个新区块,这些新区块可以被用来存储交易数据。在Ripple网络中,可以通过RPCA共识算法处理交易中的交易数据,利用该算法进行RPCA共识的过程也是新区块的生成过程。其中,该一定时间段可以是3秒至10秒之间的任一数值。
由于RPCA共识网络中区块产生较快,当没有交易数据时,也会生成空区块,该空区块的生成过程分两个阶段完成,第一阶段是达成交易集的共识,第二阶段是形成被共识过的空区块。如图2所示,图2为空区块生成过程中区块的状态变化示意图。在该第一阶段中,由于区块链中区块的节点没有接收到交易信息,该节点对应的交易集中没有交易信息,对该交易集进行共识后,该节点对应的区块由开放状态B11转变为关闭状态B12,并由该关闭状态B12的区块生成新的开放状态B21的下一个区块,开始下一轮的交易集共识;在该第二阶段中,该节点可以将验证信息发送给其他区块链节点进行共识,当其他节点中至少80%的节点对该验证信息验证通过后,该区块的状态变为共识成功状态B13,产生了空区块,其中,该验证信息用于由区块链中的其他节点验证该节点处是否可以产生新的空区块,该验证信息可以为该区块的哈希值,该哈希值通过区块的区块号、父区块的哈希值和当前时间戳等内容进行计算获取,该父区块为与空区块相连接的上一个区块。
本申请实施例提供一种裁剪RPCA共识网络中空区块的方法,可以解决存储包含有空区块的区块链造成的存储空间浪费的问题。如图3所示,本申请实施例提供的裁剪RPCA共识网络中空区块的方法包括:
步骤101、当第一区块处于关闭状态时,确定第一区块在开放状态时是否接收到交易。
在本步骤中,该第一区块为RPCA共识网络中即将生成的新区块。
步骤102、如果接收到交易,则将第一区块作为新生成的区块用于更新第一链的存储位置;如果未接收到交易,则将第一区块作为新生成的区块用于更新第二链的存储位置。
在本步骤中,第一链用于存储包含交易的区块,第二链用于临时存储未包含交易的区块。
步骤103、在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,并将第二区块作为新生成的区块更新到第一链相应的位置。
综上所述,本申请实施例提供的裁剪RPCA共识网络中空区块的方法,可以在第一区块处于关闭状态时,若确定第一区块在开放状态时未接收到交易,将第一区块作为新生成的区块用于更新第二链的存储位置,并在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,并将第二区块作为新生成的区块更新到第一链相应的位置。由于剪裁后的RPCA共识网络中不包含没有存储交易信息的空区块,减少了存储空间的浪费。
本申请实施例提供一种裁剪RPCA共识网络中空区块的方法,可以解决存储包含有空区块的区块链导致的存储空间浪费的问题。该方法可以应用于固定终端(台式电脑)或服务器中,也可以应用于移动终端设备(例如,智能手机、平板电脑等)中。在本申请实施例中,如图4所示,该裁剪RPCA共识网络中空区块的方法包括:
步骤201、当第一区块处于关闭状态时,确定第一区块在开放状态时是否接收到交易。
在本步骤中,该第一区块为RPCA共识网络中即将生成的新区块,该第一区块节点会对RPCA共识网络中是否接收到交易进行判断,该交易可以是客户端发送的新交易、其它节点转发来的交易或者上一轮共识没有通过但是有效的交易中的至少一种,该判断过程可以是:在每个时间段之内,若节点接收到客户端发送的新交易;或者,接收到其它节点转发来的交易;或者,保留了上一轮共识没有通过但是有效的交易,则确定RPCA共识网络中存在交易;若节点未接收到客户端发送的新交易或者其它节点转发来的交易,也未保留上一轮共识没有通过但是有效的交易,则确定RPCA共识网络中不存在交易。
步骤202、如果接收到交易,则将第一区块作为新生成的区块用于更新第一链的存储位置;如果未接收到交易,则将第一区块作为新生成的区块用于更新第二链的存储位置。
在本申请实施例中,第一链用于存储包含交易的区块,第二链用于临时存储未包含交易的区块。
在本步骤中,在一个时间段内,如果第一区块节点确定RPCA共识网络中接收到交易,则将第一区块作为新生成的区块用于更新第一链的存储位置。该过程可以包括:广播处于关闭状态的第一区块的哈希值,共识该第一区块,并在该第一区块共识通过后,更新第一区块的共识状态序号,该共识状态序号用于标识第一区块在第一链的存储位置。示例地,该时间段可以为3秒。如图5所示,黑色方块表示第一链上的区块,白色方块表示第二链上的区块,其中,假设RPCA共识网络中已有的区块为第一链上的A1和A2,在一个3秒内,第一区块节点确定RPCA共识网络中接收到交易,则将该第一区块作为新生成的区块用于更新第一链的存储位置,并确定该第一区块的共识状态序号为A3。
如果节点确定RPCA共识网络中未接收到交易,则将第一区块作为新生成的区块用于更新第二链的存储位置。该过程包括:广播处于关闭状态的第一区块的哈希值;共识第一区块,并在第一区块共识通过后,更新第一区块的共识状态序号,该共识状态序号用于标识第一区块在第二链的存储位置。示例地,如图6所示,RPCA共识网络中已有的区块为第一链上的A1和A2,假设在一个3秒内,第一区块节点确定RPCA共识网络中未接收到交易,则将该第一区块作为新生成的区块用于更新第二链的存储位置,并确定该第一区块的共识状态序号为A3。
步骤203、在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,并将第二区块作为新生成的区块更新到第一链相应的位置。
在本步骤中,第二区块为RPCA共识网络中即将生成的新区块,将该第二区块作为新生成的区块更新到第一链相应的位置的过程包括:广播处于关闭状态的第二区块的哈希值;共识第二区块,并在第二区块共识通过后,更新第二区块的共识状态序号,该共识状态序号用于标识第二区块在第一链的存储位置。示例地,如图7所示,假设RPCA共识网络中已有的区块为第一链上的A1和A2以及第二链上的A3,在一个时间段内,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链上的区块A3,将第二区块作为新生成的区块更新到第一链相应的位置,并确定该第二区块的共识状态序号为A3。
可选地,在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时未接收到交易,则将第二区块作为新生成的区块更新到第二链相应的位置。该过程包括:广播处于关闭状态的第二区块的哈希值;共识第二区块,并在第二区块共识通过后,更新第二区块的共识状态序号,该共识状态序号用于标识第二区块在第二链的存储位置。示例地,如图8所示,假设RPCA共识网络中已有的区块为第一链上的A1和A2以及第二链上的A3,假设在一个时间段内,第二区块处于关闭状态时,确定第二区块在开放状态时未接收到交易,则将第二区块作为新生成的区块更新到第二链相应的位置,并确定该第二区块的共识状态序号为A4。
进一步地,在下一个时间段内,RPCA共识网络中可以生成第三区块,该第三区块的生成过程可以包括:在第三区块处于关闭状态时,确定该第三区块在开放状态时是否接收到交易,如果接收到交易,继续将第三区块作为新生成的区块更新到第二区块之后的位置;如果未接收到交易,则将第三区块作为新生成的区块用于更新第二链的首位置。在本申请实施例中,该过程可以包括至少以下两种可选地实现方式:
在第一种可选地实现方式中,当前的RPCA共识网络为如图7所示的RPCA共识网络时,该RPCA共识网络中第二区块A3在第一链上,在第三区块处于关闭状态时,如果接收到交易,继续将第三区块作为新生成的区块更新到第二区块之后的位置,并确定该第三区块的共识状态序号;如果未接收到交易,则将第三区块作为新生成的区块用于更新第二链的首位置,并确定该第三区块的共识状态序号。该第三区块的生成过程可以参考上述步骤202中在接收到交易或者未接受到交易时第一区块的生成过程,本申请实施例对此不做赘述。
在第二种可选地实现方式中,当前的RPCA共识网络为如图8所示的RPCA共识网络时,该RPCA共识网络中第二区块A4在第二链上,在第三区块处于关闭状态时,如果接收到交易,则裁剪第二链,并将第三区块作为新生成的区块更新到第一链相应的位置,并确定该第三区块的共识状态序号。示例地,如图9所示,如果接收到交易,则裁剪第二链上的第一区块A3和A4,将第三区块作为新生成的区块更新到第一链相应的位置,并确定该第三区块的共识状态序号为A3;如果未接收到交易,则将第三区块作为新生成的区块更新到第二链上的相应的位置,并确定该第三区块的共识状态序号为A5。
可选地,假设RPCA共识网络中已有的区块为第一链上的A1和A2,假设在n个3秒内,RPCA共识网络中不存在交易,生成了n个第二链上的新区块,假设在第n+1个3秒内,RPCA共识网络中存在交易,如图10所示,则裁剪第二链上的区块A3至A(n+2),并将第二区块作为新生成的区块更新到第一链相应的位置,并确定该第二区块的共识状态序号为A3。
可选地,在本申请实施例中,可以通过判断RPCA共识网络中是否有新区块生成来检测RPCA共识网络是否处于正常工作状态,对RPCA共识网络的工作状态进行监控。其中,该RPCA共识网络工作状态的检测方法可以包括:根据第一链或第二链的存储位置的变化,确定第一链或第二链的状态。
示例地,在设置的时间达到后,判断第一链或者第二链上的存储位置处是否有新区块生成,当第一链或者第二链上有新区块生成时,确定RPCA共识网络处于正常状态,否则,则确定RPCA共识网络出现异常。
综上所述,本申请实施例提供的裁剪RPCA共识网络中空区块的方法,可以在第一区块处于关闭状态时,若确定第一区块在开放状态时未接收到交易,将第一区块作为新生成的区块用于更新第二链的存储位置,并在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,并将第二区块作为新生成的区块更新到第一链相应的位置。由于剪裁后的RPCA共识网络中不包含没有存储交易信息的空区块,减少了存储空间的浪费。
本申请实施例提供一种裁剪RPCA共识网络中空区块的装置,如图11所示,该装置30包括:
第一确定模块301,被配置为当第一区块处于关闭状态时,确定第一区块在开放状态时是否接收到交易,
第一更新模块302,被配置为如果接收到交易,则将第一区块作为新生成的区块用于更新第一链的存储位置,第一链用于存储包含交易的区块;如果未接收到交易,则将第一区块作为新生成的区块用于更新第二链的存储位置,第二链用于临时存储未包含交易的区块;
第二更新模块303,被配置为在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,并将第二区块作为新生成的区块更新到第一链相应的位置。
可选地,第一确定模块301,还被配置为在第三区块处于关闭状态时,确定第三区块在开放状态时是否接收到交易;
第二更新模块,还被配置为如果接收到交易,继续将第三区块作为新生成的区块更新到第二区块之后的位置;如果未接收到交易,则将第三区块作为新生成的区块用于更新第二链的首位置。
可选地,第一更新模块302,被配置为:
广播处于关闭状态的第一区块的哈希值;
共识第一区块,并在第一区块共识通过后,更新第一区块的共识状态序号,共识状态序号用于标识第一区块在第一链的存储位置。
可选地,第一更新模块302,被配置为:
广播处于关闭状态的第一区块的哈希值;
共识第一区块,并在第一区块共识通过后,更新第一区块的共识状态序号,共识状态序号用于标识第一区块在第二链的存储位置。
可选地,第二更新模块302,被配置为:
广播处于关闭状态的第二区块的哈希值;
共识第二区块,并在第二区块共识通过后,更新第二区块的共识状态序号,共识状态序号用于标识第二区块在第一链的存储位置。
可选地,如图12所示,该装置30还包括:
第二确定模块304,被配置为根据第一链或第二链的存储位置的变化,确定第一链或第二链的状态。
综上所述,本申请实施例提供的裁剪RPCA共识网络中空区块的装置,第一确定模块可以在第一区块处于关闭状态时,若确定第一区块在开放状态时未接收到交易,第一更新模块将第一区块作为新生成的区块用于更新第二链的存储位置,在第二链持续更新的过程中,若第二区块处于关闭状态时,确定第二区块在开放状态时接收到交易,则裁剪第二链,第二更新模块将第二区块作为新生成的区块更新到第一链相应的位置。由于剪裁后的RPCA共识网络中不包含没有存储交易信息的空区块,减少了存储空间的浪费。
图13是根据一示例性实施例示出的一种计算机系统,该计算机系统包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有系统操作所需的各种程序和数据。CPU401、ROM402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本申请的实施例,上文图1至图10描述的过程可以被实现为计算机软件程序。例如,本申请的各个实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一确定模块、第一更新模块、第二更新模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,第一确定模块还可以被描述为“用于当第一区块处于关闭状态时,确定第一区块在开放状态时是否接收到交易的第一确定模块”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中描述的裁剪RPCA共识网络中空区块的方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种裁剪RPCA共识网络中空区块的方法,其特征在于,所述方法包括:
当第一区块处于关闭状态时,确定所述第一区块在开放状态时是否接收到交易;
如果接收到交易,则将所述第一区块作为新生成的区块用于更新第一链的存储位置,所述第一链用于存储包含交易的区块;
如果未接收到交易,则将所述第一区块作为新生成的区块用于更新第二链的存储位置,所述第二链用于临时存储未包含交易的区块;
在所述第二链持续更新的过程中,若第二区块处于关闭状态时,确定所述第二区块在开放状态时接收到交易,则裁剪所述第二链,并将所述第二区块作为新生成的区块更新到所述第一链相应的位置。
2.根据权利要求1所述的方法,其特征在于,在裁剪所述第二链之后,所述方法还包括以下步骤:
在第三区块处于关闭状态时,确定所述第三区块在开放状态时是否接收到交易;
如果接收到交易,继续将所述第三区块作为新生成的区块更新到所述第二区块之后的位置;
如果未接收到交易,则将第三区块作为新生成的区块用于更新第二链的首位置。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一区块作为新生成的区块用于更新第一链的存储位置,包括:
广播处于关闭状态的所述第一区块的哈希值;
共识所述第一区块,并在所述第一区块共识通过后,更新所述第一区块的共识状态序号,所述共识状态序号用于标识所述第一区块在所述第一链的存储位置。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一区块作为新生成的区块用于更新第二链的存储位置,包括:
广播处于关闭状态的所述第一区块的哈希值;
共识所述第一区块,并在所述第一区块共识通过后,更新所述第一区块的共识状态序号,所述共识状态序号用于标识所述第一区块在所述第二链的存储位置。
5.根据权利要求1所述的方法,其特征在于,所述将所述第二区块作为新生成的区块更新到所述第一链相应的位置,包括:
广播处于关闭状态的所述第二区块的哈希值;
共识所述第二区块,并在所述第二区块共识通过后,更新所述第二区块的共识状态序号,所述共识状态序号用于标识所述第二区块在所述第一链的存储位置。
6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
根据所述第一链或所述第二链的存储位置的变化,确定所述第一链或第二链的状态。
7.一种裁剪RPCA共识网络中空区块的装置,其特征在于,所述装置包括:
第一确定模块,被配置为当第一区块处于关闭状态时,确定所述第一区块在开放状态时是否接收到交易,
第一更新模块,被配置为如果接收到交易,则将所述第一区块作为新生成的区块用于更新第一链的存储位置,所述第一链用于存储包含交易的区块;如果未接收到交易,则将所述第一区块作为新生成的区块用于更新第二链的存储位置,所述第二链用于临时存储未包含交易的区块;
第二更新模块,被配置为在所述第二链持续更新的过程中,若第二区块处于关闭状态时,确定所述第二区块在开放状态时接收到交易,则裁剪所述第二链,并将所述第二区块作为新生成的区块更新到所述第一链相应的位置。
8.根据权利要求7所述的装置,其特征在于,
所述第一确定模块,还被配置为在第三区块处于关闭状态时,确定所述第三区块在开放状态时是否接收到交易;
所述第二更新模块,还被配置为如果接收到交易,继续将所述第三区块作为新生成的区块更新到所述第二区块之后的位置;如果未接收到交易,则将第三区块作为新生成的区块用于更新第二链的首位置。
9.根据权利要求7所述的装置,其特征在于,所述第一更新模块,被配置为:
广播处于关闭状态的所述第一区块的哈希值;
共识所述第一区块,并在所述第一区块共识通过后,更新所述第一区块的共识状态序号,所述共识状态序号用于标识所述第一区块在所述第一链的存储位置。
10.根据权利要求7所述的装置,其特征在于,所述第一更新模块,被配置为:
广播处于关闭状态的所述第一区块的哈希值;
共识所述第一区块,并在所述第一区块共识通过后,更新所述第一区块的共识状态序号,所述共识状态序号用于标识所述第一区块在所述第二链的存储位置。
11.根据权利要求7所述的装置,其特征在于,第二更新模块,被配置为:
广播处于关闭状态的所述第二区块的哈希值;
共识所述第二区块,并在所述第二区块共识通过后,更新所述第二区块的共识状态序号,所述共识状态序号用于标识所述第二区块在所述第一链的存储位置。
12.根据权利要求7至11任一所述的装置,其特征在于,所述装置还包括:
第二确定模块,被配置为根据所述第一链或所述第二链的存储位置的变化,确定所述第一链或第二链的状态。
13.一种计算机设备,其特征在于,所述计算机设备包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1至6任一所述的裁剪RPCA共识网络中空区块的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1至6任一所述的裁剪RPCA共识网络中空区块的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910555751.2A CN110322350B (zh) | 2019-06-25 | 2019-06-25 | 裁剪共识网络中空区块的方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910555751.2A CN110322350B (zh) | 2019-06-25 | 2019-06-25 | 裁剪共识网络中空区块的方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110322350A CN110322350A (zh) | 2019-10-11 |
CN110322350B true CN110322350B (zh) | 2020-03-27 |
Family
ID=68120223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910555751.2A Expired - Fee Related CN110322350B (zh) | 2019-06-25 | 2019-06-25 | 裁剪共识网络中空区块的方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110322350B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112633879B (zh) * | 2020-12-18 | 2022-11-04 | 上海万向区块链股份公司 | 应用于区块链中能够在无交易时不出空块的共识系统及方法 |
CN114385647B (zh) * | 2021-12-15 | 2023-04-07 | 达闼科技(北京)有限公司 | 联盟链出块方法、装置、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488665A (zh) * | 2015-11-25 | 2016-04-13 | 布比(北京)网络技术有限公司 | 一种去中心化的交易方法 |
EP3376452A1 (en) * | 2017-03-15 | 2018-09-19 | Nokia Technologies Oy | Blockchain-based electronic transfer method and network |
CN109460593A (zh) * | 2018-10-26 | 2019-03-12 | 广东科学技术职业学院 | 一种区块链虚拟仿真系统 |
CN109684333A (zh) * | 2018-12-24 | 2019-04-26 | 杭州复杂美科技有限公司 | 一种数据存储及裁剪方法、设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170031676A1 (en) * | 2015-07-27 | 2017-02-02 | Deja Vu Security, Llc | Blockchain computer data distribution |
-
2019
- 2019-06-25 CN CN201910555751.2A patent/CN110322350B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488665A (zh) * | 2015-11-25 | 2016-04-13 | 布比(北京)网络技术有限公司 | 一种去中心化的交易方法 |
EP3376452A1 (en) * | 2017-03-15 | 2018-09-19 | Nokia Technologies Oy | Blockchain-based electronic transfer method and network |
CN109460593A (zh) * | 2018-10-26 | 2019-03-12 | 广东科学技术职业学院 | 一种区块链虚拟仿真系统 |
CN109684333A (zh) * | 2018-12-24 | 2019-04-26 | 杭州复杂美科技有限公司 | 一种数据存储及裁剪方法、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
Increased block size and Bitcoin blockchain dynamics;A.E. Krzesinki;《IEEE 2017 27th International Telecommunication Networks and Applications Conference(ITNAC)》;20171124;第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110322350A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11038975B2 (en) | Information pushing method and device | |
CN107809331B (zh) | 识别异常流量的方法和装置 | |
CN108846753B (zh) | 用于处理数据的方法和装置 | |
CN109508326B (zh) | 用于处理数据的方法、装置和系统 | |
CN110852882B (zh) | 用于区块链网络的分组共识方法、装置、设备和介质 | |
CN112527649A (zh) | 一种测试用例的生成方法和装置 | |
CN107886414B (zh) | 一种订单合并方法和设备以及计算机存储介质 | |
CN109376534B (zh) | 用于检测应用的方法和装置 | |
CN109766127B (zh) | 用于更新应用程序版本信息的方法 | |
CN109241099B (zh) | 一种数据查询方法及终端设备 | |
CN110322350B (zh) | 裁剪共识网络中空区块的方法、装置、设备和存储介质 | |
CN110708212A (zh) | 分布式系统中调用链路的追踪方法及装置 | |
CN109005208B (zh) | 用于推送信息的方法和装置 | |
CN110737655B (zh) | 用于上报数据的方法和装置 | |
CN112433757A (zh) | 一种确定接口调用关系的方法和装置 | |
CN111951112A (zh) | 基于区块链的智能合约执行方法、终端设备和存储介质 | |
CN109597819B (zh) | 用于更新数据库的方法和装置 | |
CN116089658A (zh) | 对象的共性提取方法及装置、存储介质及电子设备 | |
CN111010449B (zh) | 图像信息输出方法、系统、装置、介质及电子设备 | |
CN111726476B (zh) | 图像处理方法、装置、设备和计算机可读介质 | |
CN114648410A (zh) | 股票盯盘方法、装置、系统、设备和介质 | |
CN111198986B (zh) | 信息发送方法、装置、电子设备及存储介质 | |
CN110896391B (zh) | 一种报文处理方法和装置 | |
CN113326333A (zh) | 数据处理方法、系统、计算机设备及计算机存储介质 | |
CN111797086A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200327 |