CN112764973A - 数据容灾方法、装置、电子设备和可读存储介质 - Google Patents

数据容灾方法、装置、电子设备和可读存储介质 Download PDF

Info

Publication number
CN112764973A
CN112764973A CN202110119930.9A CN202110119930A CN112764973A CN 112764973 A CN112764973 A CN 112764973A CN 202110119930 A CN202110119930 A CN 202110119930A CN 112764973 A CN112764973 A CN 112764973A
Authority
CN
China
Prior art keywords
file
index
data block
information
idle
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
Application number
CN202110119930.9A
Other languages
English (en)
Other versions
CN112764973B (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.)
Chongqing Unisinsight Technology Co Ltd
Original Assignee
Chongqing Unisinsight 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 Chongqing Unisinsight Technology Co Ltd filed Critical Chongqing Unisinsight Technology Co Ltd
Priority to CN202110119930.9A priority Critical patent/CN112764973B/zh
Publication of CN112764973A publication Critical patent/CN112764973A/zh
Application granted granted Critical
Publication of CN112764973B publication Critical patent/CN112764973B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1448Management of the data involved in backup or backup restore
    • 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/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种数据容灾方法、装置、电子设备和可读存储介质,涉及数据容灾技术领域。通过接收到文件创建请求时,优先分配回收时间较早的系统文件索引给新创建的文件,无需额外的存储器备份,同时改善了由于近期被删除的文件的索引分配给其他文件,导致文件恢复成功率不高的问题。

Description

数据容灾方法、装置、电子设备和可读存储介质
技术领域
本申请涉及数据容灾技术领域,具体而言,涉及一种数据容灾方法、装置、电子设备和可读存储介质。
背景技术
安防存储领域在有限的存储资源下,不可避免的需要使用满覆盖策略,满覆盖会将最老的数据删除,文件系统管理的文件索引基本会被重复回收并重新使用,而安防行业整体对数据的时间需求是和近期相关,假如相关的近期视频图片数据被误删除和软件异常触发的删除,都会带来严重的后果。
现阶段常用的存储数据容灾技术基本有两个,一个是采用多个存储器备份的方法,防止数据在被异常删除后无法正常使用,但是这种方法在一定程度上耗费了额外的存储资源,并且无法做到实时的备份;另一个是通过保存已删除的文件的系统索引,再反向恢复出被异常删除的文件,例如采用文件系统ext4(Fourth extended filesystem,第四代扩展文件系统)进行数据容灾,虽然这种方法在删除时将文件inode(索引节点)信息保存在journal日志中,但是被删除的文件的系统索引在安防领域往往会被回收重复使用,因此将文件恢复成功的概率往往不高。
发明内容
有鉴于此,本申请提供了一种数据容灾方法、装置、电子设备和可读存储介质,以改善上述问题。
第一方面,本申请提供一种数据容灾方法,所述方法包括:
响应文件创建请求,创建至少一个文件数据块;
获取全部空闲文件索引以及每个所述空闲文件索引的访问时间信息,所述访问时间信息包括该空闲文件索引的最新访问时间;
根据全部所述访问时间信息,判断全部所述空闲文件索引中是否存在最新访问时间在预设时间之前的空闲文件索引;
若确定存在最新访问时间在所述预设时间之前的空闲文件索引,则将所有最新访问时间在预设时间之前的空闲文件索引作为待分配索引;
从全部所述待分配索引中选取任意至少一个待分配文件索引作为目标文件索引,并将各所述目标文件索引分别分配给各所述文件数据块,完成文件创建。
在可选的实施方式中,所述方法还包括:
若确定不存在最新访问时间在所述预设时间之前的空闲文件索引,则根据全部所述访问时间信息,获取最新访问时间最早的空闲文件索引,将最新访问时间最早的空闲文件索引作为待分配索引。
在可选的实施方式中,所述方法还包括:
在发生数据异常删除的情况下,将文件哈希表中记录的全部当前文件数据块的文件信息以及文件索引信息作为待恢复文件并存储,其中,所述当前文件数据块为从磁盘加载至内存的文件数据块;
响应文件恢复请求,根据所述文件索引信息,获取所述文件恢复请求中包括的待恢复文件数据块的索引文件项信息,其中,所述索引文件项信息记录有所述待恢复文件数据块对应的原始文件数据块以及原始文件索引的当前状态信息;
根据所述当前状态信息以及所述文件信息,判断所述待恢复文件数据块的原始文件数据块以及原始文件索引是否处于可用状态;
若确定所述待恢复文件数据块的原始文件数据块以及原始文件索引处于可用状态,则根据所述文件信息及所述文件索引信息恢复所述待恢复文件数据块。
在可选的实施方式中,所述方法还包括:
按照预设间隔时间获取所述待恢复文件的数量及每个所述待恢复文件的创建时间;
判断所述待恢复文件的数量是否大于预设阈值,若所述待恢复文件的数量大于所述预设阈值,则根据全部所述待恢复文件的创建时间,获得创建时间最早的待恢复文件;
将创建时间最早的待恢复文件删除。
在可选的实施方式中,所述当前状态信息包括所述原始文件索引的使用状态信息和所述原始文件数据块的文件名;
所述根据所述当前状态信息以及所述文件信息,判断所述待恢复文件数据块的原始文件数据块以及原始文件索引是否处于可用状态的步骤包括:
根据所述原始文件索引的使用状态信息确定所述原始文件索引是否为空闲状态;
对比所述文件信息中包括的所述原始文件数据块的文件名是否与所述当前状态信息包括的所述原始文件数据块的文件名一致;
若所述原始文件索引为空闲状态,且所述文件信息中包括的所述原始文件数据块的文件名与所述当前状态信息包括的所述原始文件数据块的文件名一致,则确定所述待恢复文件数据块的原始文件数据块以及原始文件索引处于可用状态。
在可选的实施方式中,所述索引文件项信息包括所述待恢复文件数据块的数据大小,所述根据所述文件信息以及所述文件索引信息恢复所述待恢复文件数据块的步骤包括:
按照所述待恢复文件数据块的数据大小,创建内容为空的新文件数据块;
将所述文件索引信息包括的文件索引分配给所述新文件数据块,得到初始文件数据块;
将所述文件信息更新至所述初始文件数据块,以恢复所述待恢复文件数据块。
第二方面,本申请提供一种数据容灾装置,所述装置包括:
创建模块,用于响应文件创建请求,创建至少一个文件数据块;
获取模块,用于获取全部空闲文件索引以及每个所述空闲文件索引的访问时间信息,所述访问时间信息包括该空闲文件索引的最新访问时间;
判断模块,用于根据全部所述访问时间信息,判断全部所述空闲文件索引中是否存在最新访问时间在预设时间之前的空闲文件索引;
确定模块,用于若确定存在最新访问时间在所述预设时间之前的空闲文件索引,则将所有最新访问时间在预设时间之前的空闲文件索引作为待分配索引;
分配模块,用于从全部所述待分配索引中选取任意至少一个待分配文件索引作为目标文件索引,并将各所述目标文件索引分别分配给各所述文件数据块,完成文件创建。
在可选的实施方式中,所述确定模块还用于:
若确定不存在最新访问时间在所述预设时间之前的空闲文件索引,则根据全部所述访问时间信息,获取最新访问时间最早的空闲文件索引,将最新访问时间最早的空闲文件索引作为待分配索引。
第三方面,本申请提供一种电子设备,所述电子设备包括处理器、存储器及总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器及所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行前述实施方式任意一项所述的数据容灾方法的步骤。
第四方面,本申请提供一种可读存储介质,所述可读存储介质存储有计算机程序,计算机程序被执行时实现前述实施方式任意一项所述的数据容灾方法的步骤。
本申请实施例提供了一种数据容灾方法、装置、电子设备和可读存储介质,响应文件创建请求,创建至少一个文件数据块。获取全部空闲文件索引以及每个空闲文件索引的访问时间信息,访问时间信息包括该空闲文件索引的最新访问时间。根据全部访问时间信息,判断全部空闲文件索引中是否存在最新访问时间在预设时间之前的空闲文件索引。若确定存在最新访问时间在预设时间之前的空闲文件索引,则将所有最新访问时间在预设时间之前的空闲文件索引作为待分配索引。从全部待分配索引中选取任意至少一个待分配文件索引作为目标文件索引,并将各目标文件索引分别分配给各文件数据块,完成文件创建。从而改善了由于近期被删除的文件的索引分配给其他文件,导致文件恢复成功率不高的问题,同时无需额外的存储器备份。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举一些举例,并配合所附附图,作详细说明。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种电子设备的结构框图。
图2为本申请实施例提供的数据容灾方法的流程示意图之一。
图3为本申请实施例提供的数据容灾方法的流程示意图之二。
图4为本申请实施例提供的数据容灾方法的流程示意图之三。
图5为本申请实施例提供的数据容灾装置功能模块框图。
图标:100-电子设备;110-存储器;120-处理器;130-数据容灾装置;131-创建模块;132-获取模块;133-判断模块;134-确定模块;135-分配模块;140-通信单元。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
如背景技术所介绍,安防存储领域在有限的存储资源下,不可避免的需要使用满覆盖策略,满覆盖会将最老的数据删除,文件系统管理的文件索引基本会被重复回收并重新使用,而安防行业整体对数据的时间需求是和近期相关,假如相关的近期视频图片数据被误删除和软件异常触发的删除,都会带来严重的后果。
现阶段常用的存储数据容灾技术基本有两个,一个是采用多个存储器备份的方法,防止数据在被异常删除后无法正常使用,但是这种方法在一定程度上耗费了额外的存储资源,并且无法做到实时的备份;另一个是通过保存已删除的文件的系统索引,再反向恢复出被异常删除的文件,例如采用文件系统ext4进行数据容灾,虽然这种方法在删除时将文件inode信息保存在journal日志中,但是被删除的文件的系统索引在安防领域往往会被回收重复使用,因此将文件恢复成功的概率往往不高。
有鉴于此,本申请实施例提供了一种数据容灾方法、装置、电子设备和可读存储介质,在创建新的文件时,优先分配回收时间较早的系统文件索引给新创建的文件,从而改善了由于近期被删除的文件的索引分配给其他文件,导致文件恢复成功率不高的问题,同时无需额外的存储器备份。
需要说明的是,以上现有技术中的方案所存在的缺陷,均是申请人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请实施例针对上述问题所提出的解决方案,都应该是申请人在本申请过程中对本申请做出的贡献。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的关键可以相互组合。
请结合参阅图1,图1为本申请实施例提供的一种电子设备100的结构框图。设备可以包括处理器120、存储器110、数据容灾装置130及通信单元140,存储器110存储有处理器120可执行的机器可读指令,当电子设备100运行时,处理器120及存储器110之间通过总线通信,处理器120执行机器可读指令,并执行数据容灾方法。
存储器110、处理器120以及通信单元140各元件相互之间直接或间接地电性连接,以实现信号的传输或交互。
例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。数据容灾装置130包括至少一个可以软件或固件(firmware)的形式存储于存储器110中的软件功能模块。处理器120用于执行存储器110中存储的可执行模块,例如数据容灾装置130所包括的软件功能模块或计算机程序。
其中,存储器110可以是,但不限于,随机读取存储器(Random Access memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器120可以是一种集成电路芯片,具有信号处理能力。上述处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等。
还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本申请实施例中,存储器110用于存储程序,处理器120用于在接收到执行指令后,执行程序。本申请实施例任一实施方式所揭示的流程定义的方法可以应用于处理器120中,或者由处理器120实现。
通信单元140用于通过网络建立电子设备100与其他电子设备之间的通信连接,并用于通过网络收发数据。
在一些实施例中,网络可以是任何类型的有线或者无线网络,或者是他们的结合。仅作为示例,网络可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、无线局域网(Wireless Local Area Networks,WLAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、公共电话交换网(Public Switched Telephone Network,PSTN)、蓝牙网络、ZigBee网络、或近场通信(Near Field Communication,NFC)网络等,或其任意组合。
在本申请实施例中,电子设备100可以是但不限于智能手机、个人电脑、平板电脑等具有处理功能的设备。
可以理解,图1所示的结构仅为示意。电子设备100还可以具有比图1所示更多或者更少的组件,或者具有与图1所示不同的配置。图1所示的各组件可以采用硬件、软件或其组合实现。
下面基于图1示出的电子设备100的结构图对本申请实施例提供的数据容灾方法、装置、电子设备和可读存储介质的步骤进行详细阐述。
请结合参阅图2,图2为本申请实施例提供的数据容灾方法的流程示意图。
步骤S11,响应文件创建请求,创建至少一个文件数据块。
步骤S12,获取全部空闲文件索引以及每个空闲文件索引的访问时间信息,访问时间信息包括该空闲文件索引的最新访问时间。
步骤S13,根据全部访问时间信息,判断全部空闲文件索引中是否存在最新访问时间在预设时间之前的空闲文件索引。
若确定存在最新访问时间在预设时间之前的空闲文件索引,则执行步骤S14。
步骤S14,将所有最新访问时间在预设时间之前的空闲文件索引作为待分配索引。
步骤S15,从全部待分配索引中选取任意至少一个待分配文件索引作为目标文件索引,并将各目标文件索引分别分配给各文件数据块,完成文件创建。
其中,预设时间可以是3天、4天…一周、两周、一个月等等。上述文件可以是视频文件、图像文件及文字文件等等。
以预设时间为一周为例,当需要创建新的文件时,用户可以通过电子设备包括的输入设备,例如,鼠标或触摸屏等创建文件,发起文件创建请求,电子设备可响应文件创建请求,基于预设的纠删比,利用纠删算法,创建至少一个文件数据块,该纠删比可以是2:1。
接着,获取全部空闲文件索引以及其访问时间信息,空闲文件索引可以是删除文件后回收等待重新分配的文件索引。
例如,空闲文件索引1其访问时间信息包括的最新访问时间为2020年2月1日。空闲文件索引2其访问时间信息包括的最新访问时间为2020年1月31日。空闲文件索引3其访问时间信息包括的最新访问时间为2019年12月30日。空闲文件索引4其访问时间信息包括的最新访问时间为2020年2月3日。假设当前系统时间为2020年2月8日,由于预设时间为一周为例,则最新访问时间在预设时间之前的空闲文件索引包括空闲文件索引1、空闲文件索引2及空闲索引文件3。
将空闲文件索引1、空闲文件索引2及空闲索引文件3作为待分配索引。若创建的文件数据块的数量为1个,则从三个待分配索引中任意选择一个作为目标文件索引,将其分配给文件数据块。完成文件创建。
本申请实施例提供的数据容灾方法,通过优先分配回收时间较早的系统文件索引给新创建的文件,使得近期重要的文件的索引不被重置,从而改善了由于近期被删除的文件的索引分配给其他文件,导致文件恢复成功率不高的问题,同时无需额外的存储器备份。
进一步地,全部空闲文件索引中还有可能不存在最新访问时间在预设时间之前的空闲文件索引,但是还是需要给新创建的文件数据块分配文件索引,此时,为了改善现有技术中存在的由于近期被删除的文件的索引分配给其他文件,导致文件恢复成功率不高的问题,本申请还可以将最新访问时间最早的空闲文件索引分配给文件数据块。下面对此方法进行详细阐述:
请结合参阅图3,图3为本申请实施例提供的数据容灾方法的流程示意图之二。
在可选的实施方式中,若确定不存在最新访问时间在预设时间之前的空闲文件索引,则执行步骤S16。
步骤S16,根据全部访问时间信息,获取最新访问时间最早的空闲文件索引,将最新访问时间最早的空闲文件索引作为待分配索引。
例如,空闲文件索引1其访问时间信息包括的最新访问时间为2020年2月1日。空闲文件索引2其访问时间信息包括的最新访问时间为2020年2月2日。空闲文件索引3其访问时间信息包括的最新访问时间为2020年2月5日。空闲文件索引4其访问时间信息包括的最新访问时间为2020年2月3日。假设当前系统时间为2020年2月8日,由于预设时间为一周为例,可以知道,上述空闲文件索引均不在预设时间之前,同时最新访问时间最早的空闲文件索引是空闲文件索引1,因此,可以将空闲文件索引1作为待分配索引。
如此,通过分配最新访问时间最早的空闲文件索引给文件数据块,即便所有空闲文件索引的最新访问时间均在预设时间之后,也可以在一定程度上缓解因为由于近期被删除的文件的索引分配给其他文件,导致文件恢复成功率不高的问题。
基于上述给新创建的文件分配文件索引的方式,在发生了数据异常删除的情况下,可以将正在使用或者编辑中的文件进行保存,需要修复数据时可基于原始的文件索引信息恢复被异常删除的数据。下面对此过程进行详细阐述:
请结合参阅图4,图4为本申请实施例提供的数据容灾方法的流程示意图之三。在可选的实施方式中,方法还包括:
步骤S21,在发生数据异常删除的情况下,将文件哈希表中记录的全部当前文件数据块的文件信息以及文件索引信息作为待恢复文件并存储。
其中,当前文件数据块为从磁盘加载至内存的文件数据块。
步骤S22,响应文件恢复请求,根据文件索引信息,获取文件恢复请求中包括的待恢复文件数据块的索引文件项信息。
其中,索引文件项信息记录有待恢复文件数据块对应的原始文件数据块以及原始文件索引的当前状态信息。
步骤S23,根据当前状态信息以及文件信息,判断待恢复文件数据块的原始文件数据块以及原始文件索引是否处于可用状态。
若确定待恢复文件数据块的原始文件数据块以及原始文件索引处于可用状态,则执行步骤S24。
步骤S24,根据文件信息及文件索引信息恢复待恢复文件数据块。
当用户操作文件时,通常是将电子设备包括的磁盘中的文件加载至内存中,通常用户会对文件进行更新操作。此时这些文件会被记录在文件哈希表中,因此,当出现数据异常删除时,可以通过查找出文件哈希表中记录的当前文件数据块的文件信息,同时从私有文件系统中查找出当前文件数据块的文件索引信息,并将当前数据块的文件信息以及文件索引信息作为待恢复文件并存储。
可选地,上述文件信息可以包括当前文件数据块的文件ID、文件大小、文件状态及文件名称等关键信息。文件索引信息可以包括块组位置GDTPos、块组索引位置InodePos等信息。
可选地,上述待恢复文件可按照统一的预设格式记录在电子设备包括的系统盘的指定路径中的delblockinfo.log文件中。
统一的预设格式可以如下:
FileID-ObjID-BlockID-BlockType-BlockPos-Version-Status-UsedStripNum-CreateTime-LastStripSize-StripSize-BlockSize-FileType-BlockPath-FileName-PNodeId-DiskTag-GDTPos-InodePos-ulSize。
上述FileID为文件ID,ObjID为项目ID,BlockID为文件数据块ID,BlockType为文件数据块类型,BlockPos为文件数据块位置,Version为文件版本,Status为文件状态信息,UsedStripNum为文件已使用的条带数量,CreateTime为文件创建时间,LastStripSize为最后一个条带大小,StripSize为条带大小,BlockSize为文件数据块大小,FileType为文件类型,BlockPath为文件数据块在磁盘的存储全路径,FileName为文件名称,PNodeId为文件在私有文件系统中的目录ID,DiskTag为磁盘标签,GDTPos为块组位置,InodePos为块组索引位置,ulSize为文件大小。
若采用该预设格式,则待恢复文件的单条长度为256个字节。同时,为了避免过多的占用系统盘资源,考虑满覆盖待恢复文件避免丢失过多的文件数据信息,其数量的上限为128个,单个待恢复文件的大小为2M,名称最后可以时间戳结尾。也就是说,单个数据节点总共能记录100万个被异常删除的文件数据块,以纠删比为2:1为例,这样的设置下,最多可恢复超过15T被异常删除的数据。
私有文件系统的存储空间结构体包括多个Inode区,Inode区记录了每个文件数据块在文件节点管理结构中的文件索引信息的索引文件项信息,在创建文件数据块时,会分配空闲文件索引和对应的数据区,并记录该空闲文件索引本次被访问的时间,私有文件系统的索引区和数据区在文件数据块删除后是可回收重复利用的,在回收时会再次更新文件数据块的对应的访问时间。
同时,因为不能完全保证预设时间内被异常删除的文件数据块在私有文件系统的文件索引信息被重新回收覆盖,因此,在恢复文件数据块之前,还可以先判断待恢复文件数据块的原始文件索引信息是否被重新回收覆盖。在未被覆盖时,利用文件信息及文件索引信息恢复待恢复文件数据块。可选地,当确定待恢复文件数据块的原始文件索引信息未被覆盖,则可以待恢复文件保存在其他可恢复文件中,例如,以同样的格式保存在validblock.log中,以便于提取可用信息。
由于私有文件系统在回收时只将文件索引信息包括的索引文件项信息的文件使用状态置为0,文件名和对应的数据区并未被重置,并且在创建文件时优先使用预设时间之前的其他未被使用的空闲文件索引,保证了近期数据的文件系统索引和数据区没有被覆盖,就能够依据索引相关信息,恢复出对应的文件数据块,提高了恢复文件的恢复率,提高了数据容灾的可靠性。
进一步地,为了不占用过多的系统盘资源,还可以设定定时巡检线程,按照预设间隔时间检测待恢复文件的数量是否超过可容纳的最大数量,在超过时,将创建时间最老的待恢复文件删除,下面对此进行详细阐述:
按照预设间隔时间获取待恢复文件的数量及每个待恢复文件的创建时间。
判断待恢复文件的数量是否大于预设阈值,若待恢复文件的数量大于预设阈值,则根据全部待恢复文件的创建时间,获得创建时间最早的待恢复文件。
将创建时间最早的待恢复文件删除。
其中预设间隔时间可以是1天、2天、3天等,预设阈值可以根据待恢复文件的最大数量确定,如1-128等等。
作为一种可能的实施场景,假设预设阈值为128,预设间隔时间为1天,某一次获取到待恢复文件的数量为130个。比较可知,待恢复文件的数量大于预设阈值,此时则可以获取创建时间最早的两个待恢复文件,将这两个创建时间最早的待恢复文件删除。如此,可在保证近期数据的文件系统索引和数据区不被覆盖的前提下,不占用过多系统盘资源。
在可选的实施方式中,当前状态信息包括原始文件索引的使用状态信息和原始文件数据块的文件名。
图4中示出的步骤S23,根据当前状态信息以及文件信息,判断待恢复文件数据块的原始文件数据块以及原始文件索引是否处于可用状态可按照如下步骤实现:
首先,根据原始文件索引的使用状态信息确定原始文件索引是否为空闲状态。
同时,对比文件信息中包括的原始文件数据块的文件名是否与当前状态信息包括的原始文件数据块的文件名一致。
若原始文件索引为空闲状态,且文件信息中包括的原始文件数据块的文件名与当前状态信息包括的原始文件数据块的文件名一致,则确定待恢复文件数据块的原始文件数据块以及原始文件索引处于可用状态。
例如,使用状态信息为0时则可以表明原始文件索引未被使用,原始文件索引为空闲状态。使用状态信息为1时,则可以表明原始文件索引已经被回收使用,原始文件索引为非空闲状态。
同时,将文件信息中包括的原始文件数据块的文件名与当前状态信息包括的原始文件数据块的文件名进行比对,即可确定原始文件数据块是否被重置,当文件名一致时,可以确定原始文件数据块未被重置。
如此,在确定待恢复文件数据块的原始文件数据块以及原始文件索引均处于可用状态后,可根据文件信息以及文件索引信息恢复待恢复文件数据块。
进一步地,索引文件项信息包括待恢复文件数据块的数据大小,图4中示出的步骤S24,根据文件信息以及文件索引信息恢复待恢复文件数据块的步骤包括:
按照待恢复文件数据块的数据大小,创建内容为空的新文件数据块。
将文件索引信息包括的文件索引分配给新文件数据块,得到初始文件数据块。
将文件信息更新至初始文件数据块,以恢复待恢复文件数据块。
可选地,可按照纠删比将纠删同组的文件数据块归类汇总,将满足纠删冗余策略的文件数据块重新创建出来,并更新管理磁盘文件数据块的元数据信息的meta.data中的文件信息。
恢复待恢复文件数据块之后,重启数据节点,重新加载电子设备包括的磁盘和私有文件系统,将正常数据和恢复出的待恢复文件数据块加载完毕,至此完成整个文件的恢复。
基于同一发明构思,请结合参阅图5,图5为本申请实施例提供的数据容灾装置功能模块框图。本申请实施例中还提供了与图2示出的数据容灾方法对应的数据容灾装置,装置包括:
创建模块131,用于响应文件创建请求,创建至少一个文件数据块。
获取模块132,用于获取全部空闲文件索引以及每个空闲文件索引的访问时间信息,访问时间信息包括该空闲文件索引的最新访问时间。
判断模块133,用于根据全部访问时间信息,判断全部空闲文件索引中是否存在最新访问时间在预设时间之前的空闲文件索引。
确定模块134,用于若确定存在最新访问时间在预设时间之前的空闲文件索引,则将所有最新访问时间在预设时间之前的空闲文件索引作为待分配索引。
分配模块135,用于从全部待分配索引中选取任意至少一个待分配文件索引作为目标文件索引,并将各目标文件索引分别分配给各文件数据块,完成文件创建。
在可选的实施方式中,确定模块134还用于:若确定不存在最新访问时间在预设时间之前的空闲文件索引,则根据全部访问时间信息,获取最新访问时间最早的空闲文件索引,将最新访问时间最早的空闲文件索引作为待分配索引。
由于本申请实施例中的装置解决问题的原理与本申请实施例上述数据容灾方法相似,因此装置的实施原理可以参见方法的实施原理,重复之处不再赘述。
本申请实施例还提供了一种可读存储介质,可读存储介质存储有计算机程序,计算机程序被执行时实现前述实施方式任意一项的数据容灾方法的步骤。
综上所述,本申请实施例提供了一种数据容灾方法、装置、电子设备和可读存储介质,响应文件创建请求,创建至少一个文件数据块。获取全部空闲文件索引以及每个空闲文件索引的访问时间信息,访问时间信息包括该空闲文件索引的最新访问时间。根据全部访问时间信息,判断全部空闲文件索引中是否存在最新访问时间在预设时间之前的空闲文件索引。若确定存在最新访问时间在预设时间之前的空闲文件索引,则将所有最新访问时间在预设时间之前的空闲文件索引作为待分配索引。从全部待分配索引中选取任意至少一个待分配文件索引作为目标文件索引,并将各目标文件索引分别分配给各文件数据块,完成文件创建。从而改善了由于近期被删除的文件的索引分配给其他文件,导致文件恢复成功率不高的问题,同时无需额外的存储器备份。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种数据容灾方法,其特征在于,所述方法包括:
响应文件创建请求,创建至少一个文件数据块;
获取全部空闲文件索引以及每个所述空闲文件索引的访问时间信息,所述访问时间信息包括该空闲文件索引的最新访问时间;
根据全部所述访问时间信息,判断全部所述空闲文件索引中是否存在最新访问时间在预设时间之前的空闲文件索引;
若确定存在最新访问时间在所述预设时间之前的空闲文件索引,则将所有最新访问时间在预设时间之前的空闲文件索引作为待分配索引;
从全部所述待分配索引中选取任意至少一个待分配文件索引作为目标文件索引,并将各所述目标文件索引分别分配给各所述文件数据块,完成文件创建。
2.根据权利要求1所述的数据容灾方法,其特征在于,所述方法还包括:
若确定不存在最新访问时间在所述预设时间之前的空闲文件索引,则根据全部所述访问时间信息,获取最新访问时间最早的空闲文件索引,将最新访问时间最早的空闲文件索引作为待分配索引。
3.根据权利要求1所述的数据容灾方法,其特征在于,所述方法还包括:
在发生数据异常删除的情况下,将文件哈希表中记录的全部当前文件数据块的文件信息以及文件索引信息作为待恢复文件并存储,其中,所述当前文件数据块为从磁盘加载至内存的文件数据块;
响应文件恢复请求,根据所述文件索引信息,获取所述文件恢复请求中包括的待恢复文件数据块的索引文件项信息,其中,所述索引文件项信息记录有所述待恢复文件数据块对应的原始文件数据块以及原始文件索引的当前状态信息;
根据所述当前状态信息以及所述文件信息,判断所述待恢复文件数据块的原始文件数据块以及原始文件索引是否处于可用状态;
若确定所述待恢复文件数据块的原始文件数据块以及原始文件索引处于可用状态,则根据所述文件信息及所述文件索引信息恢复所述待恢复文件数据块。
4.根据权利要求3所述的数据容灾方法,其特征在于,所述方法还包括:
按照预设间隔时间获取所述待恢复文件的数量及每个所述待恢复文件的创建时间;
判断所述待恢复文件的数量是否大于预设阈值,若所述待恢复文件的数量大于所述预设阈值,则根据全部所述待恢复文件的创建时间,获得创建时间最早的待恢复文件;
将创建时间最早的待恢复文件删除。
5.根据权利要求3所述的数据容灾方法,其特征在于,所述当前状态信息包括所述原始文件索引的使用状态信息和所述原始文件数据块的文件名;
所述根据所述当前状态信息以及所述文件信息,判断所述待恢复文件数据块的原始文件数据块以及原始文件索引是否处于可用状态的步骤包括:
根据所述原始文件索引的使用状态信息确定所述原始文件索引是否为空闲状态;
对比所述文件信息中包括的所述原始文件数据块的文件名是否与所述当前状态信息包括的所述原始文件数据块的文件名一致;
若所述原始文件索引为空闲状态,且所述文件信息中包括的所述原始文件数据块的文件名与所述当前状态信息包括的所述原始文件数据块的文件名一致,则确定所述待恢复文件数据块的原始文件数据块以及原始文件索引处于可用状态。
6.根据权利要求3所述的数据容灾方法,其特征在于,所述索引文件项信息包括所述待恢复文件数据块的数据大小,所述根据所述文件信息以及所述文件索引信息恢复所述待恢复文件数据块的步骤包括:
按照所述待恢复文件数据块的数据大小,创建内容为空的新文件数据块;
将所述文件索引信息包括的文件索引分配给所述新文件数据块,得到初始文件数据块;
将所述文件信息更新至所述初始文件数据块,以恢复所述待恢复文件数据块。
7.一种数据容灾装置,其特征在于,所述装置包括:
创建模块,用于响应文件创建请求,创建至少一个文件数据块;
获取模块,用于获取全部空闲文件索引以及每个所述空闲文件索引的访问时间信息,所述访问时间信息包括该空闲文件索引的最新访问时间;
判断模块,用于根据全部所述访问时间信息,判断全部所述空闲文件索引中是否存在最新访问时间在预设时间之前的空闲文件索引;
确定模块,用于若确定存在最新访问时间在所述预设时间之前的空闲文件索引,则将所有最新访问时间在预设时间之前的空闲文件索引作为待分配索引;
分配模块,用于从全部所述待分配索引中选取任意至少一个待分配文件索引作为目标文件索引,并将各所述目标文件索引分别分配给各所述文件数据块,完成文件创建。
8.根据权利要求7所述的数据容灾装置,其特征在于,所述确定模块还用于:
若确定不存在最新访问时间在所述预设时间之前的空闲文件索引,则根据全部所述访问时间信息,获取最新访问时间最早的空闲文件索引,将最新访问时间最早的空闲文件索引作为待分配索引。
9.一种电子设备,其特征在于,所述电子设备包括处理器、存储器及总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器及所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行权利要求1-6任意一项所述的数据容灾方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质存储有计算机程序,计算机程序被执行时实现权利要求1-6任意一项所述的数据容灾方法的步骤。
CN202110119930.9A 2021-01-28 2021-01-28 数据容灾方法、装置、电子设备和可读存储介质 Active CN112764973B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110119930.9A CN112764973B (zh) 2021-01-28 2021-01-28 数据容灾方法、装置、电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110119930.9A CN112764973B (zh) 2021-01-28 2021-01-28 数据容灾方法、装置、电子设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN112764973A true CN112764973A (zh) 2021-05-07
CN112764973B CN112764973B (zh) 2022-08-19

Family

ID=75706471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110119930.9A Active CN112764973B (zh) 2021-01-28 2021-01-28 数据容灾方法、装置、电子设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN112764973B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114936188A (zh) * 2022-05-30 2022-08-23 重庆紫光华山智安科技有限公司 数据处理方法、装置、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035836A (zh) * 2013-03-06 2014-09-10 阿里巴巴集团控股有限公司 集群检索平台中的自动容灾恢复方法及系统
CN107315661A (zh) * 2017-06-30 2017-11-03 郑州云海信息技术有限公司 一种集群文件系统已删除文件恢复方法及装置
CN107688507A (zh) * 2016-08-03 2018-02-13 南京中兴新软件有限责任公司 数据备份方法及装置
CN109753381A (zh) * 2018-11-09 2019-05-14 深圳供电局有限公司 一种基于对象存储的持续数据保护方法
US20190310975A1 (en) * 2015-09-16 2019-10-10 Richard Banister Method and system for reducing time-out incidence by scoping date time stamp value ranges of succeeding record update requests in view of previous responses
CN110569147A (zh) * 2019-09-05 2019-12-13 厦门市美亚柏科信息股份有限公司 一种基于索引的删除文件恢复方法、终端设备及存储介质
CN111078468A (zh) * 2019-11-21 2020-04-28 贝壳技术有限公司 微服务架构下的服务回滚方法及装置
CN111737052A (zh) * 2020-06-19 2020-10-02 中国工商银行股份有限公司 分布式对象存储系统及方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035836A (zh) * 2013-03-06 2014-09-10 阿里巴巴集团控股有限公司 集群检索平台中的自动容灾恢复方法及系统
US20190310975A1 (en) * 2015-09-16 2019-10-10 Richard Banister Method and system for reducing time-out incidence by scoping date time stamp value ranges of succeeding record update requests in view of previous responses
CN107688507A (zh) * 2016-08-03 2018-02-13 南京中兴新软件有限责任公司 数据备份方法及装置
CN107315661A (zh) * 2017-06-30 2017-11-03 郑州云海信息技术有限公司 一种集群文件系统已删除文件恢复方法及装置
CN109753381A (zh) * 2018-11-09 2019-05-14 深圳供电局有限公司 一种基于对象存储的持续数据保护方法
CN110569147A (zh) * 2019-09-05 2019-12-13 厦门市美亚柏科信息股份有限公司 一种基于索引的删除文件恢复方法、终端设备及存储介质
CN111078468A (zh) * 2019-11-21 2020-04-28 贝壳技术有限公司 微服务架构下的服务回滚方法及装置
CN111737052A (zh) * 2020-06-19 2020-10-02 中国工商银行股份有限公司 分布式对象存储系统及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AFNAN F. ALSADHAN: ""Deleted Data Attribution in Cloud Computing Platforms"", 《2018 1ST INTERNATIONAL CONFERENCE ON COMPUTER APPLICATION & INFORMATION SECURITY(ICCAIS)》 *
CHENGXUYONGHU: ""缓存服务器梳理"", 《HTTPS://WWW.CNBLOGS.COM/CHENGXUYONGHU/P/13683468.HTML》 *
裴志远: ""分布式存储系统的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114936188A (zh) * 2022-05-30 2022-08-23 重庆紫光华山智安科技有限公司 数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112764973B (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
USRE49042E1 (en) Data replication between databases with heterogenious data platforms
JP7001843B2 (ja) データバックアップ方法並びに、そのコンピュータプログラム及びコンピューティングデバイス
US7249281B2 (en) Method and system for backing up and restoring data of a node in a distributed system
US20150019495A1 (en) Customizable storage system for virtual databases
US20140236911A1 (en) Low Level Object Version Tracking Using Non-Volatile Memory Write Generations
US20120185431A1 (en) Methods, Systems, and Products for Data Backup
CN111095219A (zh) 使用回收站和版本历史的文件系统时间点还原
CN110018989B (zh) 一种快照比对的方法和装置
US20160026699A1 (en) Method for Synchronization of UGC Master and Backup and System Thereof, and Computer Storage Medium
CN109582496B (zh) 一致性快照组的创建方法、装置及计算机可读存储介质
CN111541753A (zh) 区块链数据的分布式存储系统、方法、计算机设备及介质
JP2007241486A (ja) 記憶装置システム
CN111538719A (zh) 数据迁移方法、装置、设备及计算机存储介质
CN112182010B (zh) 脏页刷新方法和装置、存储介质和电子设备
CN112764973B (zh) 数据容灾方法、装置、电子设备和可读存储介质
US11507473B2 (en) System and method for efficient backup generation
WO2017087015A1 (en) Count of metadata operations
CN111309799A (zh) 数据合并的实现方法、装置、系统及存储介质
US11392546B1 (en) Method to use previously-occupied inodes and associated data structures to improve file creation performance
EP3114581A1 (en) Object storage system capable of performing snapshots, branches and locking
US20110099347A1 (en) Managing allocation and deallocation of storage for data objects
JP2004078461A (ja) ログ記録方法、ファイル管理プログラム、および情報機器
CN114328020A (zh) 一种集群文件系统的数据备份方法及相关装置
CN114217741A (zh) 存储装置的存储方法及存储装置
US10936550B2 (en) Synchronizing different representations of content

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