CN110083372A - 一种区块链数据版本升级方法 - Google Patents
一种区块链数据版本升级方法 Download PDFInfo
- Publication number
- CN110083372A CN110083372A CN201910173462.6A CN201910173462A CN110083372A CN 110083372 A CN110083372 A CN 110083372A CN 201910173462 A CN201910173462 A CN 201910173462A CN 110083372 A CN110083372 A CN 110083372A
- Authority
- CN
- China
- Prior art keywords
- block chain
- node
- block
- data
- chain
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开的一种区块链数据版本升级方法,包括如下步骤:1.停止当前区块链的每一个区块节点的第一级节点的共识工作;2.构建新区块链,并启动所述当前区块链和新区块链的每一个区块节点的第一级节点进行共识,使之组成一个共识网络;3.将获取到的当前区块链的最后一个区块节点的数据封装成绑定类型的文本,并将封装成绑定类型的文本提交至所述新区块链的第一个区块节点上,所述当前区块链和新区块链的每一个区块节点通过共识记录本次版本升级信息;4.所述当前区块链和新区块链的每一个区块节点根据本次版本升级信息对其第二级节点的数据版本进行更新。本发明可以保持历史区块数据复用,极大地提高了区块链数据版本升级效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种区块链数据版本升级方法。
背景技术
现有的区块链版本升级通常做法有两种方法,一种方法是硬分叉方法,即做大量的适配工作,使得新链能够接受以前的区块数据,如图1所示;另一种方法是重新录入方法,即将文本数据读取出来,然后重新录入至新链上,使得更新前后的状态保持一致,如图2所示。但是,这两种方法存在以下缺陷:1、硬分叉方法的适配工作非常繁重,一旦区块的数据格式发生变动,在保证区块链安全的情况下,需要在recheck(复检)、synchronize(同步)等模块上做大量的适配工作,给工程师带来了很大的工作量,而且大量的适配工作容易出现疏漏,提高漏铜的产生几率;2、重新录入方法容易丢失之前产生的区块,另外由于pow类型的区块链一定时间内录入的文本数据有限,导致此类区块链短时间内无法将所有的文本数据录入。
为此,本申请人经过有益的探索和研究,找到了解决上述问题的方法,下面将要介绍的技术方案便是在这种背景下产生的。
发明内容
本发明所要解决的技术问题在于:针对现有技术的不足而提供一种降低适配工作量、提高数据版本升级效率的区块链数据版本升级方法。
本发明所要解决的技术问题可以采用如下技术方案来实现:
一种区块链数据版本升级方法,所述区块链由若干个区块节点构成,每一个区块节点由用于负责共识以及网络通信的第一级节点和用于负责数据录入和输出的第二级节点构成,当所述区块链的数据版本需要升级时,执行如下步骤:
步骤S1,停止当前区块链的每一个区块节点的第一级节点的共识工作,并获取当前区块链的最后一个区块节点的数据;
步骤S2,构建新区块链,并启动所述当前区块链和新区块链的每一个区块节点的第一级节点进行共识,使之组成一个共识网络;
步骤S3,将获取到的当前区块链的最后一个区块节点的数据封装成绑定类型的文本,并将封装成绑定类型的文本提交至所述新区块链的第一个区块节点上,所述当前区块链和新区块链的每一个区块节点通过共识记录本次版本升级信息;
步骤S4,所述当前区块链和新区块链的每一个区块节点根据本次版本升级信息对其第二级节点的数据版本进行更新。
在本发明的一个优选实施例中,在所述步骤S1中,还包括将所述当前区块链的每一个区块节点的数据进行压缩保存。
在本发明的一个优选实施例中,在所述步骤S4之后,当所述当前区块链和新区块链中任一区块节点的第二级节点启动时,该第二级节点向其第一级节点获取版本更新信息并保存,同时获取所述当前区块链的最后一个区块所封装成绑定类型的文本进行保存。
由于采用了如上的技术方案,本发明的有益效果在于:本发明在区块链的不断迭代中,可以保持历史区块数据复用,同时不需要做大量的适配工作,使得原本需要花费数个月时间的工程量减少到几个小时即可完成,极大地提高了区块链数据版本升级效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是采用硬交叉方法的区块链示意图。
图2是采用重新录入方法的区块链示意图。
图3是本发明的区块链的区块节点的示意图。
图4是本发明的流程图。
图5是本发明所构建的区块链的结构示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
参见图3,本发明的区块链由若干个区块节点100构成,每一个区块节点100由用于负责共识以及网络通信的第一级节点110和用于负责数据录入和输出的第二级节点120构成。
当区块链的数据版本需要升级时,参见图4并结合图5,本发明的区块链数据版本升级方法包括以下步骤:
步骤S1,停止当前区块链(老链)的每一个区块节点的第一级节点的共识工作,并获取当前区块链的最后一个区块节点的数据。此外,在步骤S1中,还包括将当前区块链的每一个区块节点的数据进行压缩保存,既可保存至客户端本地,也可保存至指定的网路服务器中,这样便于对当前区块链的数据进行恢复或者再次利用。
步骤S2,构建新区块链(新链),新区块链中至少由一个区块节点构成,且每一个区块节点均具有用于负责共识以及网络通信的第一级节点和用于负责数据录入和输出的第二级节点。然后,启动当前区块链和新区块链的每一个区块节点的第一级节点进行共识,使得新区块链与当前区块链组成一个共识网络。
步骤S3,将获取到的当前区块链的最后一个区块节点的数据封装成绑定类型的文本,这里的绑定类型的文本具体是指能被区块链接受和执行的数据文本,其包含区块节点的数字签名和上一版本最后一个区块节点的数据。然后将封装成绑定类型的文本提交至新区块链的第一个区块节点上,当前区块链和新区块链的每一个区块节点通过共识记录本次版本升级信息。本次版本升级信息包含在绑定类型的文本中,版本升级信息就是采集了新链的版本、老链最后一个区块节点的高度和哈希值以及这条文本提交到区块链上的时间,新链版本是新链自身携带的属性,可以直接获取。
步骤S4,当前区块链和新区块链的每一个区块节点根据本次版本升级信息对其第二级节点的数据版本进行更新。
在步骤S4之后,当当前区块链和新区块链中任一区块节点的第二级节点启动时,该第二级节点向其第一级节点获取版本更新信息并保存,同时获取当前区块链的最后一个区块所封装成绑定类型的文本进行保存。该步骤S4的主要有:1.为了维护了一张历史版本的记录表,版本更新信息需要记录进去;2.区块节点所在的高度需要根据版本信息中记录的老链的最后一个区块的高度来累增。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (3)
1.一种区块链数据版本升级方法,其特征在于,所述区块链由若干个区块节点构成,每一个区块节点由用于负责共识以及网络通信的第一级节点和用于负责数据录入和输出的第二级节点构成,当所述区块链的数据版本需要升级时,执行如下步骤:
步骤S1,停止当前区块链的每一个区块节点的第一级节点的共识工作,并获取当前区块链的最后一个区块节点的数据;
步骤S2,构建新区块链,并启动所述当前区块链和新区块链的每一个区块节点的第一级节点进行共识,使之组成一个共识网络;
步骤S3,将获取到的当前区块链的最后一个区块节点的数据封装成绑定类型的文本,并将封装成绑定类型的文本提交至所述新区块链的第一个区块节点上,所述当前区块链和新区块链的每一个区块节点通过共识记录本次版本升级信息;
步骤S4,所述当前区块链和新区块链的每一个区块节点根据本次版本升级信息对其第二级节点的数据版本进行更新。
2.如权利要求1所述的区块链数据版本升级方法,其特征在于,所述步骤S1中,还包括将所述当前区块链的每一个区块节点的数据进行压缩保存。
3.如权利要求1所述的区块链数据版本升级方法,其特征在于,在所述步骤S4之后,当所述当前区块链和新区块链中任一区块节点的第二级节点启动时,该第二级节点向其第一级节点获取版本更新信息并保存,同时获取所述当前区块链的最后一个区块所封装成绑定类型的文本进行保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910173462.6A CN110083372B (zh) | 2019-03-07 | 2019-03-07 | 一种区块链数据版本升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910173462.6A CN110083372B (zh) | 2019-03-07 | 2019-03-07 | 一种区块链数据版本升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083372A true CN110083372A (zh) | 2019-08-02 |
CN110083372B CN110083372B (zh) | 2023-06-16 |
Family
ID=67412338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910173462.6A Active CN110083372B (zh) | 2019-03-07 | 2019-03-07 | 一种区块链数据版本升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083372B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112241436A (zh) * | 2020-10-26 | 2021-01-19 | 云账户技术(天津)有限公司 | 一种区块链网络的切换方法及装置 |
WO2021031655A1 (zh) * | 2019-08-21 | 2021-02-25 | 平安科技(深圳)有限公司 | 区块链网络的升级方法及装置、存储介质、电子设备 |
WO2021098152A1 (zh) * | 2019-11-21 | 2021-05-27 | 深圳壹账通智能科技有限公司 | 基于区块链的数据处理方法、装置及计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107040594A (zh) * | 2017-04-12 | 2017-08-11 | 山大地纬软件股份有限公司 | 基于pbft的许可区块链节点准入的方法及装置 |
CN109118230A (zh) * | 2018-08-29 | 2019-01-01 | 众安信息技术服务有限公司 | 基于区块链的信息处理方法和装置 |
WO2019001131A1 (zh) * | 2017-06-30 | 2019-01-03 | 华为技术有限公司 | 一种区块链网络中交易信息的共识确认方法及装置 |
CN109189853A (zh) * | 2018-08-08 | 2019-01-11 | 众安信息技术服务有限公司 | 一种区块链之间数据同步方法与装置 |
CN109242685A (zh) * | 2018-08-29 | 2019-01-18 | 众安信息技术服务有限公司 | 基于区块链的共识和验证方法及装置 |
CN109408521A (zh) * | 2018-09-28 | 2019-03-01 | 上海擎沣投资控股有限公司 | 一种用于更新区块链全局数据状态的方法及其装置 |
-
2019
- 2019-03-07 CN CN201910173462.6A patent/CN110083372B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107040594A (zh) * | 2017-04-12 | 2017-08-11 | 山大地纬软件股份有限公司 | 基于pbft的许可区块链节点准入的方法及装置 |
WO2019001131A1 (zh) * | 2017-06-30 | 2019-01-03 | 华为技术有限公司 | 一种区块链网络中交易信息的共识确认方法及装置 |
CN109189853A (zh) * | 2018-08-08 | 2019-01-11 | 众安信息技术服务有限公司 | 一种区块链之间数据同步方法与装置 |
CN109118230A (zh) * | 2018-08-29 | 2019-01-01 | 众安信息技术服务有限公司 | 基于区块链的信息处理方法和装置 |
CN109242685A (zh) * | 2018-08-29 | 2019-01-18 | 众安信息技术服务有限公司 | 基于区块链的共识和验证方法及装置 |
CN109408521A (zh) * | 2018-09-28 | 2019-03-01 | 上海擎沣投资控股有限公司 | 一种用于更新区块链全局数据状态的方法及其装置 |
Non-Patent Citations (4)
Title |
---|
OFER SHAYEVITZ 等: "On the Capacity of the Discrete Memoryless Broadcast Channel With Feedback", 《 IEEE TRANSACTIONS ON INFORMATION THEORY》 * |
OFER SHAYEVITZ 等: "On the Capacity of the Discrete Memoryless Broadcast Channel With Feedback", 《 IEEE TRANSACTIONS ON INFORMATION THEORY》, 16 November 2012 (2012-11-16) * |
傅晓阳: "区块链技术应用探索", 《中国金融》 * |
傅晓阳: "区块链技术应用探索", 《中国金融》, 15 February 2018 (2018-02-15) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021031655A1 (zh) * | 2019-08-21 | 2021-02-25 | 平安科技(深圳)有限公司 | 区块链网络的升级方法及装置、存储介质、电子设备 |
WO2021098152A1 (zh) * | 2019-11-21 | 2021-05-27 | 深圳壹账通智能科技有限公司 | 基于区块链的数据处理方法、装置及计算机设备 |
CN112241436A (zh) * | 2020-10-26 | 2021-01-19 | 云账户技术(天津)有限公司 | 一种区块链网络的切换方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110083372B (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105373448B (zh) | 数据库中故障数据的恢复方法和系统 | |
CN110083372A (zh) | 一种区块链数据版本升级方法 | |
CN105354036B (zh) | 数据库操作代码生成方法及装置 | |
CN111445236B (zh) | 一种区块链交易验证方法、设备及存储介质 | |
CN103699580A (zh) | 数据库同步方法及装置 | |
CN101558405B (zh) | 将主机系统数据库转换为开放系统数据库的转换装置和方法 | |
CN112270550A (zh) | 一种基于区块链的新能源电力溯源方法及系统 | |
TW201140350A (en) | High throughput, reliable replication of transformed data in information systems | |
CN109086410A (zh) | 流式海量数据的处理方法及系统 | |
CN103927314A (zh) | 一种数据批量处理的方法和装置 | |
CN108595522A (zh) | 一种增量同步方法、装置及系统 | |
CN109656999A (zh) | 大数据量的数据同步方法、设备、存储介质及装置 | |
CN108984744A (zh) | 一种非主链区块自增长方法 | |
CN106850761A (zh) | 日志文件存储方法及装置 | |
CN111651525A (zh) | 区块链数据存储方法和装置 | |
CN103106200B (zh) | 非关系型数据库同步系统及双写同步方法 | |
CN109344034A (zh) | 一种用于管理日志的方法和装置 | |
CN104899312B (zh) | 一种多层分类数据体系的数据更新方法 | |
CN103186610B (zh) | 数据同步方法和装置 | |
CN104378362B (zh) | 用于进行报文接口转换的方法及装置 | |
CN103179158A (zh) | 一种参数批量同步方法和系统 | |
CN111143463B (zh) | 一种基于主题模型的银行数据仓库的构建方法及装置 | |
CN108053873A (zh) | 一种基于全院通用业务的公共控件节点树的设计方法 | |
CN106354493B (zh) | 一种解决传统软件开发痛点的开发模式的实现方法 | |
CN104717082A (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 |