一种用于恢复树形数据存储的方法与设备技术

技术编号:15639027 阅读:153 留言:0更新日期:2017-06-15 20:55
本申请的目的是提供一种用于恢复树形数据存储的方法与设备。与现有技术相比,本申请按照深度优先的方式遍历数据存储对应的索引树,在遍历过程中跳过所述索引树中数据损坏的坏节点,当所述索引树中存在所述坏节点时,根据对应的遍历结果信息重建所述索引树,从而检查并尽可能地恢复树形数据存储。进一步地,本申请通过在遍历过程中记录所述坏节点的数据损坏范围,并向用户报告所述数据损坏范围,方便用户从备份中查找所述数据损坏范围对应的备份数据,简化了用户操作,提升了用户体验。

【技术实现步骤摘要】
一种用于恢复树形数据存储的方法与设备
本申请涉及计算机领域,尤其涉及一种用于恢复树形数据存储的技术。
技术介绍
数据库经常被用来存储、管理各类数据,当数据库中的数据文件出现损坏时,通常会给数据库运维人员造成不小的麻烦。虽然可以通过日志来保护数据库中的数据文件,但依然存在一些可能导致数据文件损坏的情况,比如:物理备份的软件漏洞会在备份的过程中造成数据页损坏;磁盘有一定的故障概率,某个磁盘坏块可能会造成这个范围内的数据损坏;用户出于性能方面的考虑,未将数据库配置成强持久化,导致宕机丢失数据。对于采用B-tree(B树,多路搜索树)、B-树、B+树等数据结构存储的数据,由于在磁盘上具有严格的存储结构,当某个关键节点出现损坏时,可能导致存储的数据无法被访问。在MySQL数据库场景下,则表现为只要访问到损坏数据,数据库就会不断崩溃重启。通常运维人员无法发现哪些数据损坏了,唯一的办法就是将整个数据库实例重做,从而影响了数据库的可用性。
技术实现思路
本申请的一个目的是提供一种用于恢复树形数据存储的方法与设备,以解决恢复树形数据存储的问题。根据本申请的一个方面,提供了一种用于恢复树形数据存储的方法,其中,该方法包括:深度优先遍历数据存储对应的索引树,其中,所述索引树中的上层节点描述了对应下层节点的数据范围,在遍历过程中跳过所述索引树中数据损坏的坏节点;当所述索引树中存在所述坏节点时,根据对应的遍历结果信息重建所述索引树。根据本申请的另一个方面,提供了一种用于恢复树形数据存储的设备,其中,该设备包括:索引树遍历装置,用于深度优先遍历数据存储对应的索引树,其中,所述索引树中的上层节点描述了对应下层节点的数据范围,在遍历过程中跳过所述索引树中数据损坏的坏节点;索引树重建装置,用于当所述索引树中存在所述坏节点时,根据对应的遍历结果信息重建所述索引树。与现有技术相比,本申请按照深度优先的方式遍历数据存储对应的索引树,在遍历过程中跳过所述索引树中数据损坏的坏节点,当所述索引树中存在所述坏节点时,根据对应的遍历结果信息重建所述索引树,从而检查并尽可能地恢复树形数据存储。进一步地,本申请通过在遍历过程中记录所述坏节点的数据损坏范围,并向用户报告所述数据损坏范围,方便用户从备份中查找所述数据损坏范围对应的备份数据,简化了用户操作,提升了用户体验。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出根据本申请一个方面的一种用于恢复树形数据存储的方法流程图;图2示出根据本申请一个优选实施例的一种用于恢复树形数据存储的方法流程图;图3示出根据本申请另一个优选实施例的一种用于恢复树形数据存储的方法流程图;图4示出根据本申请另一个方面的一种用于恢复树形数据存储的设备示意图;图5示出根据本申请一个优选实施例的一种用于恢复树形数据存储的设备示意图;图6示出根据本申请又一个优选实施例的一种用于恢复树形数据存储的设备示意图;图7示出根据本申请一个实施例的一种B树结构示意图;图8示出根据本申请另一个实施例的一种构建B树的过程示意图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本申请作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。图1示出根据本申请一个方面的一种用于恢复树形数据存储的方法流程图。该方法包括步骤S11和步骤S12。具体地,在步骤S11中,设备1深度优先遍历数据存储对应的索引树,其中,所述索引树中的上层节点描述了对应下层节点的数据范围,在遍历过程中跳过所述索引树中数据损坏的坏节点;在步骤S12中,设备1当所述索引树中存在所述坏节点时,根据对应的遍历结果信息重建所述索引树。在此,所述设备1包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(CloudComputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(AdHoc网络)等。优选地,设备1还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。设备1的各个步骤之间是持续不断工作的。具体地,在步骤S11中,设备1持续深度优先遍历数据存储对应的索引树;在步骤S12中,设备1持续当所述索引树中存在所述坏节点时,根据对应的遍历结果信息重建所述索引树;直至所述设备1停止工作。在步骤S11中,设备1深度优先遍历数据存储对应的索引树,其中,所述索引树中的上层节点描述了对应下层节点的数据范围,在遍历过程中跳过所述索引树中数据损坏的坏节点。优选地,所述索引树包括B树、B-树或B+树。其中,B树(B-tree,多路搜索树)是一种常用的数据库数据组织结构,它是MySQL数据库最常用的索引结构,MySQL数据库的存储引擎InnoDB支持B-tree索引。在本实施例中,主要以B-tree为例进行详细说明。当然,本领域技术人员应能理解上述树形结构仅为举例,其他现有的或今后可能出现的树形结构如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含本文档来自技高网...
一种用于恢复树形数据存储的方法与设备

【技术保护点】
一种用于恢复树形数据存储的方法,其中,该方法包括:深度优先遍历数据存储对应的索引树,其中,所述索引树中的上层节点描述了对应下层节点的数据范围,在遍历过程中跳过所述索引树中数据损坏的坏节点;当所述索引树中存在所述坏节点时,根据对应的遍历结果信息重建所述索引树。

【技术特征摘要】
1.一种用于恢复树形数据存储的方法,其中,该方法包括:深度优先遍历数据存储对应的索引树,其中,所述索引树中的上层节点描述了对应下层节点的数据范围,在遍历过程中跳过所述索引树中数据损坏的坏节点;当所述索引树中存在所述坏节点时,根据对应的遍历结果信息重建所述索引树。2.根据权利要求1所述的方法,其中,所述深度优先遍历数据存储对应的索引树还包括:在遍历过程中记录所述坏节点的数据损坏范围;报告所述数据损坏范围。3.根据权利要求2所述的方法,其中,所述方法还包括:接收所述数据损坏范围对应的备份数据;根据所述备份数据更新重建后的所述索引树。4.根据权利要求1至3中任一项所述的方法,其中,所述方法还包括:深度优先遍历所述数据存储对应的二级索引,其中,所述二级索引中的上层节点描述了对应下层节点的数据范围;在遍历过程中,若发现所述二级索引中存在数据损坏的节点,根据所述索引树或重建后的所述索引树重建所述二级索引。5.根据权利要求1所述的方法,其中,所述索引树包括B树、B-树或B+树。6.根据权利要求1所述的方法,其中,所述深度优先遍历数据存储对应的索引树包括:当接收到用户修复数据存储的指令信息,深度优先遍历所述数据存储对应的索引树,其中,所述索引树中的上层节点描述了对应下层节点的数据范围,在遍历过程中跳过所述索引树中数据损坏的坏节点。7.一种用于恢复树形数据存储的设备,其中,该...

【专利技术属性】
技术研发人员:翟卫祥
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1