CN112328433A - 归档数据恢复的处理方法、装置、电子装置和存储介质 - Google Patents

归档数据恢复的处理方法、装置、电子装置和存储介质 Download PDF

Info

Publication number
CN112328433A
CN112328433A CN202011252867.8A CN202011252867A CN112328433A CN 112328433 A CN112328433 A CN 112328433A CN 202011252867 A CN202011252867 A CN 202011252867A CN 112328433 A CN112328433 A CN 112328433A
Authority
CN
China
Prior art keywords
block
data
recovery
block number
archived
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
CN202011252867.8A
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.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian 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 Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202011252867.8A priority Critical patent/CN112328433A/zh
Publication of CN112328433A publication Critical patent/CN112328433A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种归档数据恢复的处理方法、装置、电子装置和存储介质,其中,该处理方法包括:获取归档数据待恢复的区块高度范围;若该归档数据的区块号在该区块高度范围内,恢复该区块号对应区块的迁移数据至归档恢复节点的线上数据库中;若该区块号在该区块高度范围外,迁移该区块号对应区块的交易日志数据至该线上数据库中。通过本申请,解决了归档数据恢复的处理准确性的问题,实现了高效、准确的归档数据恢复。

Description

归档数据恢复的处理方法、装置、电子装置和存储介质
技术领域
本申请涉及数据处理技术领域,特别是涉及归档数据恢复的处理方法、装置、电子装置和存储介质。
背景技术
随着区块链业务的不断扩展,业务复杂度不断提升,也造成链上存储数据的不断增大,对于区块链而言,更老的区块被读到的可能性更小。因此,需要进行数据归档,将归档数据转移到成本更低的基础设施上,但是在数据转移之后,仍需提供一种对外能够恢复归档数据并且查询的方法。在相关技术中,归档数据下的数据文件恢复,通常是依靠一个备份文件才能恢复备份之后的操作;例如,归档模式依靠归档日志文件,使用arc放入databuffer cache再写入以此恢复;但是归档日志等备份文件容易被篡改或丢失,导致归档数据恢复的处理中准确性较低。
目前针对相关技术中归档数据恢复的处理准确性低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种归档数据恢复的处理方法、装置、电子装置和存储介质,以至少解决相关技术中归档数据恢复的处理准确性低的问题。
第一方面,本申请实施例提供了一种归档数据恢复的处理方法,所述方法包括:
获取归档数据待恢复的区块高度范围;
若所述归档数据的区块号在所述区块高度范围内,恢复所述区块号对应区块的迁移数据至归档恢复节点的线上数据库中;
若所述区块号在所述区块高度范围外,迁移所述区块号对应区块的交易日志数据至所述线上数据库中。
在其中一些实施例中,所述获取归档数据待恢复的区块高度范围之前,所述方法还包括:
接收归档恢复请求;
若所述归档恢复请求中所述归档恢复节点的第一创世区块号为0,用所述归档恢复请求中指定区块高度的快照数据库,替换区块链的状态数据。
在其中一些实施例中,所述接收归档恢复请求之后,所述方法还包括:
若所述第一创世区块号不为0,将所述第一创世区块号与所述归档数据的最高区块号进行对比;
根据对比的结果,判断是否拒绝所述归档恢复请求。
在其中一些实施例中,所述恢复所述区块号对应区块的迁移数据至归档恢复节点的线上数据库中包括:
恢复所述迁移数据,并在所述线上数据库上写入键值对数据;其中,所述键值对数据包括预设字符串,以及已恢复的所述区块号。
在其中一些实施例中,所述迁移所述区块号对应区块的交易日志数据至所述线上数据库中之后,所述方法还包括:
在进入异常恢复流程的情况下,若所述归档数据中迁移信息的起始区块号,与所述归档恢复节点的第一创世区块号相等,删除与所述迁移信息相对应的数据;
在所述预设字符串对应的区块号位于所述区块高度范围内的情况下,在所述归档恢复节点的创世高度内遍历所述预设字符串;
若遍历的所述预设字符串对应的区块号,大于所述归档恢复节点的结束区块号,删除交易信息、区块索引和所述预设字符串。
在其中一些实施例中,所述在进入异常恢复流程的情况下,若所述归档数据中迁移信息的起始区块号与所述归档恢复节点的第一创世区块号相等,删除与所述迁移信息相对应的数据之前,所述方法还包括:
接收归档恢复请求;
在所述第一创世区块号与当前链上的第二创世区块号相等的情况下,将所述预设字符串与所述区块高度范围的边界值进行对比;根据对比的结果,判断是否进入所述异常恢复流程;或者,
在所述第一创世区块号大于所述第二创世区块号的情况下,进入所述异常恢复流程。
在其中一些实施例中,若所述区块号在所述区块高度范围内,所述方法还包括:
将所述归档数据中存储的非法交易迁移至所述归档恢复节点。
在其中一些实施例中,所述迁移所述区块号对应区块的交易日志数据至所述线上数据库中之后,所述方法还包括:
更新所述归档恢复节点的记录元数据。
在其中一些实施例中,所述归档恢复节点还用于提供数据查询接口。
第二方面,本申请实施例提供了一种归档数据恢复的处理装置,所述装置包括:获取模块、第一恢复模块和第二恢复模块;
所述获取模块,用于获取归档数据待恢复的区块高度范围;
所述第一恢复模块,用于若所述归档数据的区块号在所述区块高度范围内,恢复所述区块号对应区块的迁移数据至归档恢复节点的线上数据库中;
所述第二恢复模块,用于若所述区块号在所述区块高度范围外,迁移所述区块号对应区块的交易日志数据至所述线上数据库中。
第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的归档数据恢复的处理方法。
第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的归档数据恢复的处理方法。
相比于相关技术,本申请实施例提供的归档数据恢复的处理方法、装置、电子装置和存储介质,通过获取归档数据待恢复的区块高度范围;若该归档数据的区块号在该区块高度范围内,恢复该区块号对应区块的迁移数据至归档恢复节点的线上数据库中;若该区块号在该区块高度范围外,迁移该区块号对应区块的交易日志数据至该线上数据库中,解决了归档数据恢复的处理准确性的问题,实现了高效、准确的归档数据恢复。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为根据本申请实施例的一种归档数据恢复处理应用场景的示意图;
图2为根据本申请实施例的一种归档数据恢复处理方法的流程图;
图3为根据本申请实施例的另一种归档数据恢复处理方法的流程图;
图4为根据本申请实施例的又一种归档数据恢复处理方法的流程图;
图5为根据本申请优选实施例的一种异常恢复处理方法的流程图;
图6为根据本申请优选实施例的一种归档数据恢复处理方法的流程图;
图7为根据本申请实施例的一种归档数据恢复处理装置的结构框图;
图8为根据本申请实施例的另一种归档数据恢复处理装置的结构框图;
图9为根据本申请实施例的一种计算机设备内部的结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
在本实施例中,提供了一种归档数据恢复处理的应用场景,图1为根据本申请实施例的一种归档数据恢复处理应用场景的示意图,如图1所示,区块链网络102和服务器104过网络进行通信,网络可以包括局域网(Local Area Network,LAN)、广域网(Wide AreaNetwork,WAN)、因特网或其组合,并连接至网站、用户设备(例如计算设备)和后端系统。服务器104通过获取归档数据,并将该归档数据的区块号,与归档数据待恢复的区块高度范围进行比较判断,进而将归档数据恢复到归档恢复节点。可选地,服务器104可以是云计算系统的节点(图中未显示),或者每个服务器104可以是单独的云计算系统,包括由网络互连并作为分布式处理系统工作的多台计算机。服务器104可以运行任何适当的计算系统,使其能够作为区块链网络102中的节点。
在本实施例中,提供了一种归档数据恢复的处理方法,图2为根据本申请实施例的一种归档数据恢复处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取归档数据待恢复的区块高度范围。其中,根据归档数据的快照获取该归档数据中起始区块号,则该起始区块号到用户指定区块高度,即为此次归档数据恢复的区块高度范围。
步骤S204,若该归档数据的区块号在该区块高度范围内,恢复该区块号对应区块的迁移数据至归档恢复节点的线上数据库中。其中,遍历此次归档恢复的区块高度范围,以及每一个已经归档的区块内的所有交易,以每一个区块作为原子单位,恢复该遍历号的区块号所对应的迁移数据,至归档恢复节点的线上数据库中去。该迁移数据包括交易索引、交易回执索引、区块索引和交易操作日志信息等等。
需要说明的是,该归档恢复节点可以是区块链上的节点,也可以是归档查询器。在归档数据恢复的处理完成之后,该归档恢复节点还能够对外提供各类区块链数据查询接口,例如交易、交易回执、区块链状态数据等查询接口,使得用户可以便捷地从链上查询已恢复的归档数据。
步骤S206,若该区块号在该区块高度范围内,迁移该区块号对应区块数据的交易日志数据至该线上数据库中。其中,重复执行上述步骤S204,直至已恢复的区块号超出上述归档恢复的区块高度范围,则此时迁移Filelog数据库中的区块以及交易日志数据,并迁移至该归档恢复节点的线上数据库中。需要说明的是,若已恢复的区块号在该区块高度范围内,则迁移在快照数据库中存储的归档数据的非法交易,并将该非法交易恢复到该归档恢复节点中;其中,该非法交易是指归档数据中的异常交易。
在上述步骤S206执行完成后,更新归档恢复节点中的记录元数据;其中,该记录元数据包括创世Genesis信息、线上和线下的交易统计数以及回执统计数信息,从而完成此次归档数据恢复处理。
在相关技术中,归档数据恢复处理中通常需要备份文件,导致归档数据恢复处理的准确性较低;而本申请实施例通过上述步骤S202至步骤S206,通过获取归档数据待恢复的区块高度范围,并将该归档数据的区块号与该区块高度范围进行比较,进而将此次归档恢复的区块高度范围内的区块、交易日志和交易回执等数据,迁移至归档恢复节点的线上数据库中去,使得归档恢复节点可以对指定范围内区块链数据中的各部分内容依次进行归档恢复,有效避免了归档数据恢复区块位置出错,或部分数据未成功恢复的现象发生,从而解决了归档数据恢复的处理准确性的问题,实现了高效、准确的归档数据恢复;同时,通过该归档恢复节点,能够保证在线上数据已经被归档的情况下,仍可以进行相关区块链历史数据查询,有效降低了区块链数据的存储查询压力。
在其中一些实施例中,提供了一种归档数据恢复处理方法,图3为根据本申请实施例的另一种归档数据恢复处理方法的流程图,如图3所示,该流程包括如下步骤:
步骤S302,接收归档恢复请求;其中,该归档恢复请求可以通过用户输入,并且该归档恢复情况还包括用户设置的指定区块高度,以及用户指定区块高度小于或者等于当前区块高度的状态数据库快照,该快照即为归档恢复后的最新状态数据。
步骤S304,若该归档恢复请求中该归档恢复节点的第一创世区块号为0,用该归档恢复请求中指定区块高度的快照数据库,替换区块链的状态数据。需要说明的是,该区块链的状态数据是指区块链中除区块数据外本身带有的数据,包括智能合约等数据。其中,将该指定区块高度与当前区块,即该归档恢复节点的第一创世区块号进行比较。需要说明的是,在归档数据恢复过程中,该第一创世区块号可能会发生变化;例如,在将区块号为0至50的区块数据恢复后,该第一创世区块号会由0顺次变为50;因此,若当前第一创世区块号为0,说明归档数据仍未被恢复到该归档恢复节点,则需要将查询到的该指定区块高度的快照数据库,直接替换线上的区块链状态数据。
在其中一些实施例中,在接收归档恢复请求之后,该归档数据恢复处理方法还包括如下步骤:若该第一创世区块号不为0,将该第一创世区块号与该归档数据的的最高区块号进行对比;根据对比的结果,判断是否拒绝该归档恢复请求。其中,当归档恢复节点的区块高度,也就是该第一创世区块号不等于0时,则需要比较当前指定归档恢复是否等于归档恢复的创世区块号,如果不相等则拒绝此次请求,如果相等,则跳过上述步骤S304中替换区块链状态数据的执行过程。
通过上述步骤S302至步骤S304,将归档恢复请求中的指定区块高度与当前第一区块创世号进行比较,若该第一创世区块号为0,则直接将快照数据库替换到区块链状态数,从而恢复归档数据中的区块数据;并且首先对该第一创世区块号进行判断,可以预先检测归档数据恢复状态,避免了归档数据的重复恢复,有利于在保证归档数据恢复准确性的情况下,有效提高归档数据恢复的效率。
在其中一些实施例中,恢复该区块号对应区块的迁移数据至归档恢复节点还包括如下步骤:恢复该迁移数据,并在该线上数据库上写入键值对数据;其中,该键值对数据包括预设字符串,以及已恢复的该区块号。需要说明的是,在归档数据恢复过程中,每恢复一个区块内的迁移数据,则在归档恢复节点的线上数据库写入一个由预设字符串与当前区块号构成的键值对数据,同时在遍历区块读取数据的同时,统计已经恢复交易数目以及回执数目。可以理解的是,该预设字符串可以是预先设置的,用于表示恢复数据的字符串,例如,将该预设字符串设置为“RestoreNumber”。
通过上述实施例,通过在每恢复一个区块的迁移数据后,就将记载当前区块号的键值对数据写入线上数据库,从而实时记录目前所恢复的区块号,便于后续恢复过程中的区块查询和恢复情况检测,进一步提高了归档数据恢复处理的准确度。
在其中一些实施例中,提供了一种归档数据恢复的处理方法,图4为根据本申请实施例的又一种归档数据恢复处理方法的流程图,如图4所示,该流程包括如下步骤:
步骤S402,在进入异常恢复流程的情况下,若该归档数据中迁移信息的起始区块号,与该归档恢复节点的第一创世区块号相等,删除与该迁移信息相对应的数据。
其中,若归档恢复过程中异常退出,再次启动时则进入异常恢复流程。需要说明的是,该迁移信息包括归档数据中的交易日志和区块等信息;例如,在该交易日志的起始区块号等于该第一创世区块号的情况下,删除区块高度范围内的交易日志数据;或者,在该起始区块号等于该第一创世区块号的情况下,删除该区块高度范围内的区块数据。
步骤S404,在该预设字符串对应的区块号位于该区块高度范围内的情况下,在该归档恢复节点的创世高度内遍历该预设字符串。其中,将该预设字符串对应的区块号,与本次归档恢复的区块号范围的边界值进行比较。
步骤S406,若遍历的该预设字符串对应的区块号,大于该归档恢复节点的结束区块号,删除交易信息、区块索引和该预设字符串。其中,在遍历的区块号大于该结束区块号时,对该预设字符串到此次归档恢复服务的结束区块号范围内的所有交易索引、交易回执索引、区块索引,从归档恢复节点的线上数据库中删除;在删除完成后,删除线上数据库中的“RestoreNumber”的键值对。
通过上述步骤S402至步骤S406,通过在进入异常恢复流程时,将迁移信息的起始区块号与第一创世区块号进行比较,以及将预设字符串对应的区块号与区块高度范围进行比较,并根据各比较的结果执行相应的删除操作,从而避免了在归档数据恢复过程中出现异常退出无法处理导致的数据恢复错乱等现象,有效提高了归档数据恢复处理的准确性和效率。
在其中一些实施例中,在进入异常恢复模式之前,该流程还包括如下步骤:接收归档恢复请求;
在该第一创世区块号与当前链上的第二创世区块号相等的情况下,将该预设字符串与该区块高度范围的边界值进行对比;根据对比的结果,判断是否进入该异常恢复流程。
其中,针对所述归档恢复节点中区块数据库中的创世区块号和当前链上的第二创世区块号相等的情况,则比较预设字符串对应的区块号与本次归档恢复的区块号范围的边界值:需要说明的是,上述线上数据库包括了状态数据库以及该区块数据库。如果预设字符串不存在,则不需要进入异常恢复流程;如果预设字符串对应的区块号等于此次归档恢复的范围的起始点,则说明上次归档恢复服务未发生,不需要异常恢复;如果预设字符串等于此次归档服务的末尾区块号,则说明此次归档恢复服务完成,也不需要再进入异常恢复流程;如果预设字符串介于此次归档恢复服务的区块号范围中间,则说明此次归档恢复服务未完成,因此进入异常恢复流程。
或者,在该第一创世区块号大于该第二创世区块号的情况下,进入该异常恢复流程。其中,针对所述归档恢复节点中区块数据中的第一创世区块号大于当前归档恢复节点中链上的该第二创世区块号,则进入该异常恢复流程,进而针对异常恢复数据进行删除等处理;例如,交易日志数据中的创世区块号跟归档恢复节点上的创世高度进行比较,将区块数据库,交易回执数据库,交易操作数据库恢复成本次归档恢复的结束区块号。如果上述数据重新恢复成功,则读取预设字符串,将本次归档恢复范围起始点到预设字符串的范围内的各种索引数据删除;最后直接从归档恢复节点线上数据库中删除预设字符串键值对。
通过上述实施例,分别针对该第一创世区块号与当前链上的第二创世区块号的不同比较结果进行不同的处理操作,从而通过归档恢复节点根据区块数据库中的创世区块号和当前链上的创世区块号做对比,分析本次启动前的归档流程是否处于异常状态,因此预先对是否需要进入异常恢复流程进行了判断,避免了异常恢复情况的检测不及时,进一步提高了归档数据恢复处理的准确性和效率
下面通过优选实施例对本申请实施例中的异常恢复处理方法进行描述和说明。图5为根据本申请优选实施例的一种异常恢复处理方法的流程图,该异常恢复处理方法包括如下步骤:
步骤S502,开始异常恢复流程,判断交易日志的起始区块号是否等于第一创世区块号,若是,删除区块高度范围内的交易日志数据;否则,结束异常恢复流程。
步骤S504,判断区块的起始区块号是否等于第一创世区块号,若是,则删除区块高度范围内的区块数据;否则,结束异常恢复流程。
步骤S506,判断预设字符串,例如RestoreNumber的值是否介于此次归档恢复范围之间;若是,则遍历RestoreNumber到归档恢复节点创世高度;否则,结束异常恢复流程。
步骤S508,判断遍历的区块号是否大于归档恢复范围的结束区块号,若是,删除区块高度范围内交易回执、交易索引以及区块索引;否则,重新判断该遍历的区块号。
步骤S510,删除RestoreNumber键值对,结束异常恢复流程;其中,该RestoreNumber键值对是RestoreNumber字符串和该当前区块号构成的键值对数据;在该异常恢复流程执行完成后,继续重复执行归档数据恢复处理流程,以完成区块链归档恢复。
下面结合实际应用场景对本申请的实施例进行详细说明,图6为根据本申请优选实施例的一种归档数据恢复处理方法的流程图,该归档数据恢复处理方法的具体实施步骤如图6所示。
步骤S602,开始本次处理流程;判断归档恢复节点的第一创世区块号是否为0,若是,用快照数据库替换归档恢复节点的状态数据库。
步骤S604,若步骤S602判断结果为否,则进一步判断第一创世区块号是否等于线下归档数据库的最高区块号,若是,则继续本次的后续处理流程;若否,则结束本次处理流程。
步骤S606,判断恢复区块号是否在区块高度范围内。
步骤S608,若步骤S606判断结果为是,则迁移交易索引、交易回执以及区块索引,并写入一个由预设字符串RestoreNumber与当前区块号构成的键值对数据;重复执行步骤S606直到恢复的区块链超出上述归档恢复的区块高度范围。
步骤S610,若步骤S606判断结果为否,则迁移Filelog中的区块以及交易日志数,并更新归档元数据文件,然后结束本次处理流程。
需要说明的是,在本申请实施例中,在恢复状态数据库后,需要对已经归档的链下的区块数据,交易回执数据,非法交易数据以及相关索引数据进行恢复,由线下的归档数据库迁移至归档读取节点的线上数据库中。该过程中涉及了多个底层数据库的数据迁移,因而需要保证跨数据的原子性安全以及异常恢复解决方案,支持恢复查询在归档读取节点中恢复任意之前归档的数据,提供归档数据查询的功能。
应该理解的是,虽然图2至图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在本实施例中,提供了一种归档数据恢复的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7为根据本申请实施例的一种归档数据恢复处理装置的结构框图,如图7所示,该装置包括:获取模块72、恢复模块74和迁移模块76。
该获取模块72,用于获取归档数据待恢复的区块高度范围;该第一恢复模块74,用于若该归档数据的区块号在该区块高度范围内,恢复该区块号对应区块的迁移数据至归档恢复节点的线上数据库中;该第二恢复模块76,用于若该区块号在该区块高度范围外,迁移该区块号对应区块的交易日志数据至该线上数据库中。
通过上述实施例,通过获取模块72获取归档数据待恢复的区块高度范围,并通过第一恢复模块74和第二恢复模块76将该归档数据的区块号与该区块高度范围进行比较,进而将此次归档恢复的区块高度范围内的区块、交易日志和交易回执等数据,迁移至归档恢复节点的线上数据库中去,使得归档恢复节点可以对指定范围内区块链数据中的各部分内容依次进行归档恢复,有效避免了归档数据恢复区块位置出错,或部分数据未成功恢复的现象发生,从而解决了归档数据恢复的处理准确性的问题,实现了高效、准确的归档数据恢复;同时,通过该归档恢复节点,可以保证在线上数据已经被归档的情况下,仍可以进行相关区块链历史数据查询,有效降低了区块链数据的存储查询压力。
图8为根据本申请实施例的另一种归档数据恢复处理装置的结构框图,如图8所示,该装置包括图7所示的所有模块,此外还包括:请求模块82和替换模块84;该请求模块82,用于接收归档恢复请求;该替换模块84,用于若该归档恢复请求中该归档恢复节点的第一创世区块号为0,用该归档恢复请求中指定区块高度的快照数据库,替换区块链的状态数据。
在其中一些实施例中,该处理装置还包括对比模块;该对比模块,用于若该第一创世区块号不为0,将该第一创世区块号与该归档数据的最高区块号进行对比;该对比模块根据对比的结果,判断是否拒绝该归档恢复请求。
在其中一些实施例中,该第一恢复模块74还用于恢复该迁移数据,并在该线上数据库上写入键值对数据;其中,该键值对数据包括预设字符串,以及已恢复的该区块号。
在其中一些实施例中,该处理装置还包括异常恢复模块;该异常恢复模块,用于在进入异常恢复流程的情况下,若该归档数据中迁移信息的起始区块号,与该归档恢复节点的第一创世区块号相等,删除与该迁移信息相对应的数据;该异常恢复模块在该预设字符串对应的区块号位于该区块高度范围内的情况下,在该归档恢复节点的创世高度内遍历该预设字符串;若遍历的该预设字符串对应的区块号,大于该归档恢复节点的结束区块号,该异常恢复模块删除交易信息、区块索引和该预设字符串。
在其中一些实施例中,该异常恢复模块还用于接收归档恢复请求;该异常恢复模块在该第一创世区块号与当前链上的第二创世区块号相等的情况下,将该预设字符串与该区块高度范围的边界值进行对比;该异常恢复模块根据对比的结果,判断是否进入该异常恢复流程;或者,该异常恢复模块在该第一创世区块号大于该第二创世区块号的情况下,进入该异常恢复流程。
在其中一些实施例中,该处理装置还包括迁移模块;该迁移模块,用于将所述归档数据中存储的非法交易迁移至所述归档恢复节点。
在其中一些实施例中,该处理装置还包括更新模块;该更新模块,用于更新该归档恢复节点的记录元数据。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在本实施例中,提供了一种计算机设备,该计算机设备可以是服务器,图9为根据本申请实施例的一种计算机设备内部的结构图,如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储归档数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述归档数据恢复的处理方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取归档数据待恢复的区块高度范围。
S2,若该归档数据的区块号在该区块高度范围内,恢复该区块号对应区块的迁移数据至归档恢复节点的线上数据库中。
S3,若该区块号在该区块高度范围外,迁移该区块号对应区块的交易日志数据至该线上数据库中。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的归档数据恢复的处理方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种归档数据恢复的处理方法。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种归档数据恢复的处理方法,其特征在于,所述方法包括:
获取归档数据待恢复的区块高度范围;
若所述归档数据的区块号在所述区块高度范围内,恢复所述区块号对应区块的迁移数据至归档恢复节点的线上数据库中;
若所述区块号在所述区块高度范围外,迁移所述区块号对应区块的交易日志数据至所述线上数据库中。
2.根据权利要求1所述的处理方法,其特征在于,所述获取归档数据待恢复的区块高度范围之前,所述方法还包括:
接收归档恢复请求;
若所述归档恢复请求中所述归档恢复节点的第一创世区块号为0,用所述归档恢复请求中指定区块高度的快照数据库,替换区块链的状态数据。
3.根据权利要求2所述的处理方法,其特征在于,所述接收归档恢复请求之后,所述方法还包括:
若所述第一创世区块号不为0,将所述第一创世区块号与所述归档数据的最高区块号进行对比;
根据对比的结果,判断是否拒绝所述归档恢复请求。
4.根据权利要求1所述的处理方法,其特征在于,所述恢复所述区块号对应区块的迁移数据至归档恢复节点的线上数据库中包括:
恢复所述迁移数据,并在所述线上数据库上写入键值对数据;其中,所述键值对数据包括预设字符串,以及已恢复的所述区块号。
5.根据权利要求4所述的处理方法,其特征在于,所述迁移所述区块号对应区块的交易日志数据至所述线上数据库中之后,所述方法还包括:
在进入异常恢复流程的情况下,若所述归档数据中迁移信息的起始区块号,与所述归档恢复节点的第一创世区块号相等,删除与所述迁移信息相对应的数据;
在所述预设字符串对应的区块号位于所述区块高度范围内的情况下,在所述归档恢复节点的创世高度内遍历所述预设字符串;
若遍历的所述预设字符串对应的区块号,大于所述归档恢复节点的结束区块号,删除交易信息、区块索引和所述预设字符串。
6.根据权利要求5所述的处理方法,其特征在于,所述在进入异常恢复流程的情况下,若所述归档数据中迁移信息的起始区块号与所述归档恢复节点的第一创世区块号相等,删除与所述迁移信息相对应的数据之前,所述方法还包括:
接收归档恢复请求;
在所述第一创世区块号与当前链上的第二创世区块号相等的情况下,将所述预设字符串与所述区块高度范围的边界值进行对比;根据对比的结果,判断是否进入所述异常恢复流程;或者,
在所述第一创世区块号大于所述第二创世区块号的情况下,进入所述异常恢复流程。
7.根据权利要求1所述的处理方法,其特征在于,若所述区块号在所述区块高度范围内,所述方法还包括:
将所述归档数据中存储的非法交易迁移至所述归档恢复节点。
8.根据权利要求1所述的处理方法,其特征在于,所述迁移所述区块号对应区块的交易日志数据至所述线上数据库中之后,所述方法还包括:
更新所述归档恢复节点的记录元数据。
9.根据权利要求1至8任一项所述的处理方法,其特征在于,所述归档恢复节点还用于提供数据查询接口。
10.一种归档数据恢复的处理装置,其特征在于,所述装置包括:获取模块、第一恢复模块和第二恢复模块;
所述获取模块,用于获取归档数据待恢复的区块高度范围;
所述第一恢复模块,用于若所述归档数据的区块号在所述区块高度范围内,恢复所述区块号对应区块的迁移数据至归档恢复节点的线上数据库中;
所述第二恢复模块,用于若所述区块号在所述区块高度范围外,迁移所述区块号对应区块的交易日志数据至所述线上数据库中。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至9中任一项所述的归档数据恢复的处理方法。
12.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至9中任一项所述的归档数据恢复的处理方法。
CN202011252867.8A 2020-11-11 2020-11-11 归档数据恢复的处理方法、装置、电子装置和存储介质 Pending CN112328433A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011252867.8A CN112328433A (zh) 2020-11-11 2020-11-11 归档数据恢复的处理方法、装置、电子装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011252867.8A CN112328433A (zh) 2020-11-11 2020-11-11 归档数据恢复的处理方法、装置、电子装置和存储介质

Publications (1)

Publication Number Publication Date
CN112328433A true CN112328433A (zh) 2021-02-05

Family

ID=74317815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011252867.8A Pending CN112328433A (zh) 2020-11-11 2020-11-11 归档数据恢复的处理方法、装置、电子装置和存储介质

Country Status (1)

Country Link
CN (1) CN112328433A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113467919A (zh) * 2021-07-19 2021-10-01 中国银行股份有限公司 基于区块链的流程管理方法、系统和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113467919A (zh) * 2021-07-19 2021-10-01 中国银行股份有限公司 基于区块链的流程管理方法、系统和存储介质
CN113467919B (zh) * 2021-07-19 2024-02-02 中国银行股份有限公司 基于区块链的流程管理方法、系统和存储介质

Similar Documents

Publication Publication Date Title
US10802921B2 (en) Systems and methods including committing a note to master and slave copies of a data volume based on sequential operation numbers
US11740974B2 (en) Restoring a database using a fully hydrated backup
US8161321B2 (en) Virtual machine-based on-demand parallel disaster recovery system and the method thereof
JP5991699B2 (ja) 情報処理装置、情報処理システム、バックアップ方法、およびプログラム
CN110543446B (zh) 一种基于快照的区块链直接归档方法
US20140372383A1 (en) Log Access Method Storage Control Apparatus, Archive System, and Method of Operation
US10860447B2 (en) Database cluster architecture based on dual port solid state disk
CN109542682B (zh) 一种数据备份方法、装置、设备和存储介质
WO2018153251A1 (zh) 一种快照的处理方法及分布式块存储系统
EP3796174B1 (en) Restoring a database using a fully hydrated backup
WO2021226905A1 (zh) 一种数据存储方法、系统及存储介质
US10452680B1 (en) Catch-up replication with log peer
WO2022007937A1 (zh) 处理Bitmap数据的方法以及装置
CN106528338B (zh) 一种远程数据复制方法、存储设备及存储系统
JP6281511B2 (ja) バックアップ制御装置、バックアップ制御方法、及び、プログラム
CN109753381B (zh) 一种基于对象存储的持续数据保护方法
CN112328433A (zh) 归档数据恢复的处理方法、装置、电子装置和存储介质
CN110543485B (zh) 一种基于快照的区块链预约归档方法
US10228873B2 (en) Swapping tape cartridges in tape libraries
CN113761059A (zh) 数据处理方法及装置
WO2017067397A1 (zh) 一种数据恢复方法和装置
CN115454717A (zh) 数据库实时备份方法、装置、计算机设备和存储介质
CN115328696A (zh) 一种数据库中的数据备份方法
CN108874592B (zh) 一种针对Log-structured存储引擎的数据冷备方法及系统
CN115016988B (zh) 基于二叉树日志的cdp备份恢复方法、系统及存储介质

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