CN108243253B - 一种区块链节点同步方法 - Google Patents

一种区块链节点同步方法 Download PDF

Info

Publication number
CN108243253B
CN108243253B CN201810025258.5A CN201810025258A CN108243253B CN 108243253 B CN108243253 B CN 108243253B CN 201810025258 A CN201810025258 A CN 201810025258A CN 108243253 B CN108243253 B CN 108243253B
Authority
CN
China
Prior art keywords
node
consensus
data
snapshot
catch
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
Application number
CN201810025258.5A
Other languages
English (en)
Other versions
CN108243253A (zh
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.)
Suzhou Jiaoda Chain Technology Co.,Ltd.
Original Assignee
Hangzhou Fuzamei Technology 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 Hangzhou Fuzamei Technology Co Ltd filed Critical Hangzhou Fuzamei Technology Co Ltd
Priority to CN201810025258.5A priority Critical patent/CN108243253B/zh
Publication of CN108243253A publication Critical patent/CN108243253A/zh
Application granted granted Critical
Publication of CN108243253B publication Critical patent/CN108243253B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

本发明公开了一种区块链节点同步方法,以区块链技术为技术支撑,结合快照技术,开发出一种共识节点重新参与共识或新节点加入共识的方式,将重新参与共识节点或新加入的共识节点统称为追赶节点。在此种同步模式下,追赶节点向数据节点获取最新的状态或余额快照,然后追赶当前的状态数据,当追赶节点的状态数据与大多数数据节点的状态数据一致时,追赶节点成为共识节点的一员并参与共识。

Description

一种区块链节点同步方法
技术领域
本发明涉及区块链技术领域,涉及一种区块链节点同步方法。
背景技术
现有的区块链在正常工作时,共识节点会因为多种原因失效,虽然大多数的共识节点正常工作就能继续共识,但是共识节点的失效会引起不稳定性等问题;有时由于性能需求等多种原因,需要增加新的共识节点。出现上述情况时,追赶节点需要在最短的时间内正确同步其它共识节点的状态数据后,才能作为新的共识节点参与共识。
综上所述,当前需要提供一种技术方案能够保证在共识节点正常工作的情况下,快速且有效的恢复或加入新的追赶节点。
发明内容
有鉴于此,本发明提供一种解决或部分解决上述问题的一种区块链节点同步方法。
为达到上述技术方案的效果,本发明的技术方案为:一种区块链节点同步方法,包含以下内容:
节点同步方法的角色包括:共识节点、数据节点、追赶节点;共识节点至少有四个,数据节点至少有两个,追赶节点至少有一个;
共识节点用于共识区块链中每个区块的区块头及交易信息,其中,共识节点保存区块头信息;数据节点不参与区块的共识过程,并在每隔一定区块高度存储一份状态或余额快照,其中,数据节点保存共识成功的交易数据及状态数据,快照存储区块链的状态数据;追赶节点向数据节点获取最新的状态或余额快照,然后追赶当前的状态数据,当追赶节点的状态数据与大多数数据节点的状态数据一致时,追赶节点成为共识节点的一员并参与共识;
节点同步方法,是一种共识节点重新参与共识或新节点加入共识的方法,包括以下处理步骤:
1)追赶节点向数据节点获取最近的快照;
2)追赶节点获取数据节点的最近的快照高度后的各高度的状态数据的增量;
3)将获得的最近的快照和增量数据合并成最新的区块高度的状态或余额;
4)当追赶节点的区块高度与其他共识节点的高度一致时,追赶节点在下一高度参与共识过程;
共识节点和数据节点可以在一台服务器上,也可以在不同服务器上;
当状态数据很大时,状态数据可以每隔一定区块高度,按照一定的方式进行保存,例如:轮流将状态数据分为多个较小的状态数据分别保存到多个数据节点;
当状态或余额快照数据很大时,区块链系统可以将超过一定时间后未使用地址的余额快照与其它余额快照分开存储,检索常用地址和不常用地址的余额可以依次或同时检索;
当状态或余额快照数据很大,且小于一定币数量的账户数量与总账户数量的比值较大时,可每隔一定周期对小于一定币数量的账户收取费用,当收费超过账户余额时,余额记0;当小于一定币数量的账户数量与总账户数量的比值小于一定比值时,停止对小于一定币数量的账户收取费用的操作;
如果最近一次快照中将某账户余额记0,且该账户在前一个快照余额记0,同时这两个快照之间没有该账户的交易,则之后的快照中不包含该账户的快照信息。
附图说明
图1是本发明的节点同步方法示意图;
图2是本发明的分片快照保存示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,能实现同样功能的产品属于等同替换和改进,均包含在本发明的保护范围之内。具体方法如下:
实施例1:本实施例具体说明了一种区块链节点同步方法,如图1和图2:
如图1,本实施例中的一种区块链节点同步方法主要包括以下步骤:
步骤S101:追赶节点向数据节点获取近的快照;
步骤S102:追赶节点获取数据节点的最近的快照高度后的各高度的状态数据的增量;
步骤S103:将获得的最近的快照和增量数据合并成最新的区块高度的状态或余额;
步骤S104:当追赶节点的区块高度与其他共识节点的高度一致时,追赶节点在下一高度参与共识过程。
如图2,本实施例中的分片快照保存主要包括:
当状态数据很大时,状态数据可以每隔一定区块高度,按照一定的方式进行保存,例如,将状态数据分为多个较小的状态数据分区保存到数据节点(如图所示,假设按照账户的前两位进行分区,则将状态数据分为四个较小的状态数据00、01、10、11;假设每隔100个区块高度,在数据节点中更新一次快照;当前的区块高度是10001,因此当前快照的高度为10000)。
与现有技术相比,本发明的有益效果是公开了一种区块链节点同步方法,以区块链技术为技术支撑,结合快照技术,开发出一种共识节点重新参与共识或新节点加入共识的方法。约定追赶节点向数据节点获取最新高度的状态或余额快照并进行缓存,然后追赶当前的状态数据,当追赶节点的状态数据与数据节点的状态数据一致时,追赶节点成为共识节点的一员并参与共识。
以上所述仅为本发明之较佳实施例,并非用以限定本发明的权利要求保护范围。同时以上说明,对于相关技术领域的技术人员应可以理解及实施,因此其他基于本发明所揭示内容所完成的等同改变,均应包含在本权利要求书的涵盖范围内。

Claims (2)

1.一种区块链的节点同步方法,其特征在于,包含以下内容:
节点同步方法的角色包括:共识节点、数据节点、追赶节点;所述共识节点至少有四个,所述数据节点至少有两个,所述追赶节点至少有一个;
所述共识节点用于共识区块链中每个区块的区块头及交易信息,其中,所述共识节点保存区块头信息;
所述数据节点不参与区块的共识过程,并在每隔一定区块高度存储一份状态或余额快照,其中,所述数据节点保存共识成功的交易数据及状态数据,快照存储区块链的状态数据;
所述追赶节点向数据节点获取最新的状态或余额快照,然后追赶当前的状态数据,当追赶节点的状态数据与大多数数据节点的状态数据一致时,追赶节点成为共识节点的一员并参与共识;
所述节点同步方法,是一种共识节点重新参与共识或新节点加入共识的方法,包括以下处理步骤:
1)所述追赶节点向所述数据节点获取最近的快照;
2)所述追赶节点获取所述数据节点的最近的快照高度后的各高度的状态数据的增量;
3)将获得的最近的快照和增量数据合并成最新的区块高度的状态或余额;
4)当所述追赶节点的区块高度与其他共识节点的高度一致时,追赶节点在下一高度参与共识过程;
所述共识节点和所述数据节点在不同服务器上;
当状态数据很大时,状态数据可以每隔一定区块高度,按照一定的方式进行保存,轮流将状态数据分为多个较小的状态数据分别保存到多个数据节点;
当状态或余额快照数据很大时,区块链系统可以将超过一定时间后未使用地址的余额快照与其它余额快照分开存储,检索常用地址和不常用地址的余额可以依次或同时检索;
当状态或余额快照数据很大,且小于一定币数量的账户数量与总账户数量的比值较大时,可每隔一定周期对小于一定币数量的账户收取费用,当收费超过账户余额时,余额记0;当小于一定币数量的账户数量与总账户数量的比值小于一定比值时,停止对小于一定币数量的账户收取费用的操作。
2.如权利要求1所述方法,其特征在于,如果最近一次快照中将某账户余额记0,且所述某账户在前一个快照余额记0,同时这两个快照之间没有所述某账户的交易,则之后的快照中不包含所述某账户的快照信息。
CN201810025258.5A 2018-01-11 2018-01-11 一种区块链节点同步方法 Active CN108243253B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810025258.5A CN108243253B (zh) 2018-01-11 2018-01-11 一种区块链节点同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810025258.5A CN108243253B (zh) 2018-01-11 2018-01-11 一种区块链节点同步方法

Publications (2)

Publication Number Publication Date
CN108243253A CN108243253A (zh) 2018-07-03
CN108243253B true CN108243253B (zh) 2020-05-12

Family

ID=62699422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810025258.5A Active CN108243253B (zh) 2018-01-11 2018-01-11 一种区块链节点同步方法

Country Status (1)

Country Link
CN (1) CN108243253B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408521A (zh) * 2018-09-28 2019-03-01 上海擎沣投资控股有限公司 一种用于更新区块链全局数据状态的方法及其装置
CN109636388B (zh) * 2018-12-07 2024-02-23 深圳市智税链科技有限公司 区块链网络中的数据处理方法、装置、介质及电子设备
CN109714412B (zh) * 2018-12-25 2021-08-10 深圳前海微众银行股份有限公司 区块同步方法、装置、设备及计算机可读存储介质
CN110442579B (zh) * 2019-08-02 2022-06-28 杭州复杂美科技有限公司 一种状态树数据存储方法、同步方法及设备和存储介质
CN110609872B (zh) * 2019-09-20 2021-03-05 北京海益同展信息科技有限公司 用于同步节点数据的方法和装置
CN111083192B (zh) * 2019-11-05 2023-02-17 北京字节跳动网络技术有限公司 数据共识方法、装置及电子设备
CN111131399B (zh) * 2019-12-03 2021-11-26 北京海益同展信息科技有限公司 一种区块链中共识节点动态增加方法及装置
CN111708833B (zh) * 2020-05-18 2023-06-06 杜晓楠 Dbft共识网络中数据同步的方法、计算机可读存储介质和dbft共识网络
CN111698244B (zh) * 2020-06-08 2022-05-10 杭州溪塔科技有限公司 一种新增节点快速参与共识的方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677516A (zh) * 2016-01-07 2016-06-15 成都市思叠科技有限公司 一种计算靠近存储云平台中高效可靠的备份恢复方法
CN106055597A (zh) * 2016-05-24 2016-10-26 布比(北京)网络技术有限公司 数字交易系统、及用于其的账户信息查询方法
CN106991164A (zh) * 2017-03-31 2017-07-28 北京京东金融科技控股有限公司 基于区块链的用于金融数据处理的方法、装置及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677516A (zh) * 2016-01-07 2016-06-15 成都市思叠科技有限公司 一种计算靠近存储云平台中高效可靠的备份恢复方法
CN106055597A (zh) * 2016-05-24 2016-10-26 布比(北京)网络技术有限公司 数字交易系统、及用于其的账户信息查询方法
CN106991164A (zh) * 2017-03-31 2017-07-28 北京京东金融科技控股有限公司 基于区块链的用于金融数据处理的方法、装置及电子设备

Also Published As

Publication number Publication date
CN108243253A (zh) 2018-07-03

Similar Documents

Publication Publication Date Title
CN108243253B (zh) 一种区块链节点同步方法
CN108600353B (zh) 一种区块链节点的并行块同步方法
CN108241743B (zh) 一种区块链快照方法
US9141480B2 (en) Handling failed transaction peers in a distributed hash table
CN105335251B (zh) 一种故障恢复方法及系统
US20230025449A1 (en) Method and apparatus for dynamically adding consensus node in blockchain
US20100145910A1 (en) Method and system for efficient data synchronization
CN111061810B (zh) 基于分布式逻辑时间戳的分布式事务管理方法及系统
US20230098190A1 (en) Data processing method, apparatus, device and medium based on distributed storage
CN109753511B (zh) 一种大数据平台的跨地域实时同步方法及系统
EP3528431A1 (en) Paxos protocol-based methods and apparatuses for online capacity expansion and reduction of distributed consistency system
CN108183971B (zh) 一种分布式系统中的节点选举方法
CN107231400B (zh) 一种数据的同步方法和装置
WO2016177231A1 (zh) 基于双主控的主备倒换方法及装置
CN111163148B (zh) 一种区块链系统的共识状态的同步方法及相关设备
CN109992624A (zh) 一种区块链Block chain的同步存储方法、装置及计算机设备
CN108228397A (zh) 一种集群间跨机房同步的方法和装置
US20140214765A1 (en) Selective data synchronization and transfer to remote distributed database servers
CN109614398A (zh) 数据库中表结构的变更方法及装置
CN109361777A (zh) 分布式集群节点状态的同步方法、同步系统及相关装置
CN107046474B (zh) 一种服务集群
CN112182103A (zh) 一种分布式数据库及其实现跨节点事务强一致性的方法
CN110825758B (zh) 一种交易处理的方法及装置
CN116346588A (zh) 一种管理节点切换方法、装置、设备及介质
CN105007233A (zh) 一种基于dhcp服务器集群负载分配地址的方法

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
TR01 Transfer of patent right

Effective date of registration: 20210428

Address after: 310000 Room 702, 7th Floor, Building 6, East Software Park, No. 90 Wensan Road, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: HANGZHOU FUZAMEI TECHNOLOGY Co.,Ltd.

Patentee after: Suzhou Jiaoda Chain Technology Co.,Ltd.

Address before: 310000 room 409, Huaxing business building, 58 Xihu District Xueyuan Road, Hangzhou, Zhejiang

Patentee before: HANGZHOU FUZAMEI TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right