CN112905704A - 一种提升区块链节点写入性能的方法及系统 - Google Patents

一种提升区块链节点写入性能的方法及系统 Download PDF

Info

Publication number
CN112905704A
CN112905704A CN202110289736.5A CN202110289736A CN112905704A CN 112905704 A CN112905704 A CN 112905704A CN 202110289736 A CN202110289736 A CN 202110289736A CN 112905704 A CN112905704 A CN 112905704A
Authority
CN
China
Prior art keywords
block
mark
compression
new
points
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.)
Pending
Application number
CN202110289736.5A
Other languages
English (en)
Inventor
吴志雄
黄文峰
汪翔
苏志亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Linewell Software Co Ltd
Original Assignee
Linewell Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Linewell Software Co Ltd filed Critical Linewell Software Co Ltd
Priority to CN202110289736.5A priority Critical patent/CN112905704A/zh
Publication of CN112905704A publication Critical patent/CN112905704A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Abstract

本发明涉及一种提升区块链节点写入性能的方法及系统。该方法和系统应用于区块链系统的终端设备,具体为在根据既定的工作量证明方法产生新区块过程中,对新区块通过加注标记点的方式进行标记;然后根据预设的判断规则对标记点依次进行判断,当标记点符合判断规则时,将符合判断规则的标记点作为压缩标记;最后每产生一个新的压缩标记,将压缩标记之前的未经压缩的新区块进行压缩处理。从而使产生的区块的文件大小有效降低,这样一来,当新加入终端下载区块链中的数据区块时,能够有效降低所需下载的数据量,从而提高下载效率,进而提升区块链节点写入性能。

Description

一种提升区块链节点写入性能的方法及系统
技术领域
本发明涉及区块链技术领域,尤其涉及一种提升区块链节点写入性能的方法及系统。
背景技术
传统的区块链存储模式,是一棵参天的 MPT 树。区块链上所有的数据,都汇聚到这棵树上来。对数据的每一次写或读,都是一次从树枝到树根(或者从树根到树枝)的漫长旅行。随着链上的数据越来越多,树也越来越高,树枝到树根的路程会变得越来越长。
更麻烦的是,虽然树枝有很多个,但是树根只有一个。区块链的速度困境是“贵”在信任,“慢”得其所,说到底,根因还是在其“用计算换信任”的设计思路上。业内普遍赞誉区块链是信任的机器,为了实现信任,区块链不得不做很多复杂而繁琐的操作,目前影响区块链性能的因素主要包括广播通信、信息加解密、共识机制、交易验证机制等几个环节。比如,共识机制的目标是为了使得参与节点的信息一致,但在高度分散的系统达成共识本身就是一件耗时的任务,如果考虑会有节点作恶,这会更加增加处理的复杂性。
发明内容
本发明的目的在于提供一种提升区块链节点写入性能的方法及系统,该方法能够有效降低所需下载的数据量,从而提高下载效率,进而提升区块链节点写入性能。
为实现上述目的,本发明的技术方案是:一种提升区块链节点写入性能的方法,包括:
从N个节点设备中选择一个节点设备作为目标节点设备,并将目标节点设备对应的区块数据副本加入一压缩数据副本集合;
执行甄选迭代步骤,直到压缩数据副本集合内匹配的区块数据副本的数量大于区块链的系统容错数;
所述甄选迭代步骤包括:从N个节点设备中目标节点设备以外的节点设备中,依次选择一节点设备作为对比节点设备;通过对比节点数据量大小判断目标节点设备与对比节点设备对应的区块数据副本是否匹配,如果是,将对比节点对应的区块数据副本加入压缩数据副本集合。
在本发明一实施例中,该方法还包括:
如果执行所述甄选迭代步骤,所述压缩数据副本集合内的区块数据副本的数量仍未大于所述区块链的系统容错数,则从所述N个节点设备中重新选择一节点设备作为目标节点设备,并重复执行所述甄选迭代步骤,直至所述压缩数据副本集合内的区块数据副本的数量大于所述区块链的系统容错数。
在本发明一实施例中,该方法应用于区块链系统的终端设备中,即在根据既定的工作量证明方法产生新区块过程中,对新区块通过加注标记点的方式进行标记;然后根据预设的判断规则对标记点依次进行判断,当标记点符合判断规则时,将符合判断规则的标记点作为压缩标记;最后每产生一个新的压缩标记,将压缩标记之前的未经压缩的新区块进行压缩处理。
在本发明一实施例中,所述对新区块通过加注标记点的方式进行标记,包括:在产生新区块过程中,如果根据工作量证明方法计算哈西值的前n位为产生新区块,则将哈西值的n+1位为预设值的新区块作为待添加标记区块,n为正整数;将标记点加入到待添加标记区块内,得到标记后的新区块。
在本发明一实施例中,所述将标记点加入到所述待添加标记区块内,包括:将标记点加入到所述待添加标记区块的区块头中。
在本发明一实施例中,所述根据预设的判断规则对标记点进行判断,包括:利用预设计算公式对标记点进行计算,得到一个计算结果;如果所述计算结果符合预设的结果规律,则判定标记点符合判断规则。
在本发明一实施例中,所述将压缩标记之前的未经压缩的新区块进行压缩处理,包括:仅在存在多个压缩标记的情况下,将当前压缩标记的前一个压缩标记以前的且未经压缩处理的新区块按预设压缩方式进行压缩处理。
在本发明一实施例中,所述多个压缩标记为至少大于或等于2个压缩标记。
本发明还提供了一种提升区块链节点写入性能的系统,包括存储器、处理器以及存储于存储器上并能够被处理器运行的计算机程序指令,当处理器运行该计算机程序指令时,能够实现如上述所述的方法步骤。
相较于现有技术,本发明具有以下有益效果:本发明方法能够有效降低所需下载的数据量,从而提高了下载效率,进而提升区块链节点写入性能。
附图说明
图1为本发明方法流程示意图。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本发明提供了一种提升区块链节点写入性能的方法,包括:
从N个节点设备中选择一个节点设备作为目标节点设备,并将目标节点设备对应的区块数据副本加入一压缩数据副本集合;
执行甄选迭代步骤,直到压缩数据副本集合内匹配的区块数据副本的数量大于区块链的系统容错数;
所述甄选迭代步骤包括:从N个节点设备中目标节点设备以外的节点设备中,依次选择一节点设备作为对比节点设备;通过对比节点数据量大小判断目标节点设备与对比节点设备对应的区块数据副本是否匹配,如果是,将对比节点对应的区块数据副本加入压缩数据副本集合。
该方法还包括:
如果执行所述甄选迭代步骤,所述压缩数据副本集合内的区块数据副本的数量仍未大于所述区块链的系统容错数,则从所述N个节点设备中重新选择一节点设备作为目标节点设备,并重复执行所述甄选迭代步骤,直至所述压缩数据副本集合内的区块数据副本的数量大于所述区块链的系统容错数。
本发明方法具体应用于区块链系统的终端设备中,即在根据既定的工作量证明方法产生新区块过程中,对新区块通过加注标记点的方式进行标记;然后根据预设的判断规则对标记点依次进行判断,当标记点符合判断规则时,将符合判断规则的标记点作为压缩标记;最后每产生一个新的压缩标记,将压缩标记之前的未经压缩的新区块进行压缩处理。
判断规则可以理解为一种计算公式,用于对标记点进行计算,例如,对于带有序号的标记点,可以利用简单的除法公式,将Mx中的X除以10,从而得到一个结果,该结果为整数或者普通的带有小树的有理数或无理数;如果上述结果符合预设的结果规律,例如整好为整数时,判定该标记点为压缩标记,如果除数选择10,这时M10、M20、M30、 M40......这些标记点则为判定的压缩标记。
所述根据预设的判断规则对标记点进行判断,包括:利用预设计算公式对标记点进行计算,得到一个计算结果;如果所述计算结果符合预设的结果规律,则判定标记点符合判断规则。
所述对新区块通过加注标记点的方式进行标记,包括:在产生新区块过程中,如果根据工作量证明方法计算哈西值的前n位为产生新区块,则将哈西值的n+1位为预设值的新区块作为待添加标记区块,n为正整数;将标记点加入到待添加标记区块内,得到标记后的新区块。所述将标记点加入到所述待添加标记区块内,包括:将标记点加入到所述待添加标记区块的区块头中。所述将压缩标记之前的未经压缩的新区块进行压缩处理,包括:仅在存在多个压缩标记的情况下,将当前压缩标记的前一个压缩标记以前的且未经压缩处理的新区块按预设压缩方式进行压缩处理。所述多个压缩标记为至少大于或等于2个压缩标记
本发明还提供了一种提升区块链节点写入性能的系统,包括存储器、处理器以及存储于存储器上并能够被处理器运行的计算机程序指令,当处理器运行该计算机程序指令时,能够实现如上述所述的方法步骤。
本发明方法和系统应用于区块链系统的终端设备,具体为在根据既定的工作量证明方法产生新区块过程中,对新区块通过加注标记点的方式进行标记;然后根据预设的判断规则对标记点依次进行判断,当标记点符合判断规则时,将符合判断规则的标记点作为压缩标记;最后每产生一个新的压缩标记,将压缩标记之前的未经压缩的新区块进行压缩处理。从而使产生的区块的文件大小有效降低,这样一来,当新加入终端下载区块链中的数据区块时,能够有效降低所需下载的数据量,从而提高了下载效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

Claims (9)

1.一种提升区块链节点写入性能的方法,其特征在于,包括:
从N个节点设备中选择一个节点设备作为目标节点设备,并将目标节点设备对应的区块数据副本加入一压缩数据副本集合;
执行甄选迭代步骤,直到压缩数据副本集合内匹配的区块数据副本的数量大于区块链的系统容错数;
所述甄选迭代步骤包括:从N个节点设备中目标节点设备以外的节点设备中,依次选择一节点设备作为对比节点设备;通过对比节点数据量大小判断目标节点设备与对比节点设备对应的区块数据副本是否匹配,如果是,将对比节点对应的区块数据副本加入压缩数据副本集合。
2.根据权利要求1所述的一种提升区块链节点写入性能的方法,其特征在于,该方法还包括:
如果执行所述甄选迭代步骤,所述压缩数据副本集合内的区块数据副本的数量仍未大于所述区块链的系统容错数,则从所述N个节点设备中重新选择一节点设备作为目标节点设备,并重复执行所述甄选迭代步骤,直至所述压缩数据副本集合内的区块数据副本的数量大于所述区块链的系统容错数。
3.根据权利要求1所述的一种提升区块链节点写入性能的方法,其特征在于,该方法应用于区块链系统的终端设备中,即在根据既定的工作量证明方法产生新区块过程中,对新区块通过加注标记点的方式进行标记;然后根据预设的判断规则对标记点依次进行判断,当标记点符合判断规则时,将符合判断规则的标记点作为压缩标记;最后每产生一个新的压缩标记,将压缩标记之前的未经压缩的新区块进行压缩处理。
4.根据权利要求3所述的一种提升区块链节点写入性能的方法,其特征在于,所述对新区块通过加注标记点的方式进行标记,包括:在产生新区块过程中,如果根据工作量证明方法计算哈西值的前n位为产生新区块,则将哈西值的n+1位为预设值的新区块作为待添加标记区块,n为正整数;将标记点加入到待添加标记区块内,得到标记后的新区块。
5.根据权利要求4所述的一种提升区块链节点写入性能的方法,其特征在于,所述将标记点加入到所述待添加标记区块内,包括:将标记点加入到所述待添加标记区块的区块头中。
6.根据权利要求3所述的一种提升区块链节点写入性能的方法,其特征在于,所述根据预设的判断规则对标记点进行判断,包括:利用预设计算公式对标记点进行计算,得到一个计算结果;如果所述计算结果符合预设的结果规律,则判定标记点符合判断规则。
7.根据权利要求3所述的一种提升区块链节点写入性能的方法,其特征在于,所述将压缩标记之前的未经压缩的新区块进行压缩处理,包括:仅在存在多个压缩标记的情况下,将当前压缩标记的前一个压缩标记以前的且未经压缩处理的新区块按预设压缩方式进行压缩处理。
8.根据权利要求7所述的一种提升区块链节点写入性能的方法,其特征在于,所述多个压缩标记为至少大于或等于2个压缩标记。
9.一种提升区块链节点写入性能的系统,其特征在于,包括存储器、处理器以及存储于存储器上并能够被处理器运行的计算机程序指令,当处理器运行该计算机程序指令时,能够实现如权利要求1-8所述的方法步骤。
CN202110289736.5A 2021-03-18 2021-03-18 一种提升区块链节点写入性能的方法及系统 Pending CN112905704A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110289736.5A CN112905704A (zh) 2021-03-18 2021-03-18 一种提升区块链节点写入性能的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110289736.5A CN112905704A (zh) 2021-03-18 2021-03-18 一种提升区块链节点写入性能的方法及系统

Publications (1)

Publication Number Publication Date
CN112905704A true CN112905704A (zh) 2021-06-04

Family

ID=76105363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110289736.5A Pending CN112905704A (zh) 2021-03-18 2021-03-18 一种提升区块链节点写入性能的方法及系统

Country Status (1)

Country Link
CN (1) CN112905704A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107181797A (zh) * 2017-05-11 2017-09-19 中国农业银行股份有限公司 一种区块链的区块压缩方法和系统
CN109189327A (zh) * 2018-07-27 2019-01-11 阿里巴巴集团控股有限公司 区块链数据的压缩处理方法和装置
US20200212932A1 (en) * 2018-12-31 2020-07-02 Palo Alto Research Center Incorporated Reducing storage of blockchain metadata via dictionary-style compression

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107181797A (zh) * 2017-05-11 2017-09-19 中国农业银行股份有限公司 一种区块链的区块压缩方法和系统
CN109189327A (zh) * 2018-07-27 2019-01-11 阿里巴巴集团控股有限公司 区块链数据的压缩处理方法和装置
US20200212932A1 (en) * 2018-12-31 2020-07-02 Palo Alto Research Center Incorporated Reducing storage of blockchain metadata via dictionary-style compression

Similar Documents

Publication Publication Date Title
US8656175B2 (en) Secure processing device, secure processing method, encrypted confidential information embedding method, program, storage medium, and integrated circuit
EP3678346A1 (en) Blockchain smart contract verification method and apparatus, and storage medium
CN107181797B (zh) 一种区块链的区块压缩方法和系统
CN111008201B (zh) 并行修改和读取状态树的方法和装置
KR101426270B1 (ko) 소프트웨어의 전자 서명 생성 방법, 검증 방법, 그 장치,및 그 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로읽을 수 있는 기록매체
CN106897103B (zh) 一种移动端网络游戏版本快速热更新的方法
CN110634052A (zh) 分布式架构生成订单号的方法及装置
CN111258756B (zh) 一种负载均衡方法、装置、计算机设备和可读存储介质
WO2013142943A1 (en) Method for protecting data
CN113794552B (zh) 一种基于simd的sm3并行数据加密运算方法及系统
CN114968323A (zh) 一种基于国密算法的差分升级方法
CN112905704A (zh) 一种提升区块链节点写入性能的方法及系统
CN110692078B (zh) 基于区块链的交易数据处理方法、设备和存储介质
CN108459872B (zh) 应用多渠道打包方法、装置、计算机设备及存储介质
CN109586912A (zh) 一种sm2数字签名的生成方法、系统、设备及介质
CN109951275A (zh) 密钥生成方法、装置、计算机设备及存储介质
US11327741B2 (en) Information processing apparatus
CN106326310B (zh) 一种手机客户端软件的资源加密更新方法
CN114201176A (zh) 一种智能合约编译匹配方法、装置、设备和存储介质
JP6961950B2 (ja) 格納方法、格納装置および格納プログラム
US20150242192A1 (en) Method and system for hardening of cfg flattening
CN108846672B (zh) 个性化地址生成方法、装置、电子设备及存储介质
CN111176704A (zh) 一种差分包文件生成方法、中断恢复方法和相关装置
CN116260572B (zh) 数据杂凑处理方法、数据验证方法及电子设备
CN110888883A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210604