CN113868016A - 一种基于池化分段式随机存储的数据备份方法与设备 - Google Patents

一种基于池化分段式随机存储的数据备份方法与设备 Download PDF

Info

Publication number
CN113868016A
CN113868016A CN202110957457.1A CN202110957457A CN113868016A CN 113868016 A CN113868016 A CN 113868016A CN 202110957457 A CN202110957457 A CN 202110957457A CN 113868016 A CN113868016 A CN 113868016A
Authority
CN
China
Prior art keywords
storage
storage volume
volume
information
pool
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
CN202110957457.1A
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.)
Shanghai Suninfo Technology Co ltd
Original Assignee
Shanghai Suninfo 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 Shanghai Suninfo Technology Co ltd filed Critical Shanghai Suninfo Technology Co ltd
Priority to CN202110957457.1A priority Critical patent/CN113868016A/zh
Publication of CN113868016A publication Critical patent/CN113868016A/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/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/1456Hardware arrangements for backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请的目的是提供一种基于池化分段式随机存储的数据备份方案。具体地,当目标备份任务被调度后,检查最新的存储卷是否被写满;若最新的存储卷已被写满,则新建一个存储卷,并在该新建的存储卷上执行所述目标备份任务,写入对应的备份数据;若最新的存储卷未被写满,则在该最新的存储卷上执行所述目标备份任务,写入对应的备份数据。与现有技术相比,本申请将随机存储与顺序存储各自的存储策略优势相融合,既保持了顺序存储设备所具备的高效空间利用率,又具有随机存储设备的高效检索等特性;既能规避传统顺序存储类型磁带设备读写与索引效率低的问题,又能改善随机式存储类型磁盘设备的存储碎片与空间存储效率问题。

Description

一种基于池化分段式随机存储的数据备份方法与设备
技术领域
本申请涉及信息技术领域,尤其涉及一种基于池化分段式随机存储的数据备份技术。
背景技术
在数据备份的应用场景中,普遍存在的业务核心规则是:不轻易擦写或覆盖所备份的数据为核心策略,以保障备份数据安全为第一目标。线性的顺序的存储读写设备与相应读写策略正是满足这种需求的存储方案。若采用传统的顺序存储磁带设备存储备份数据,虽然存储空间利用率极高,顺序读写首尾相接不会造成存储设备的内碎片,但文件索引与定位效率低。顺序读写与收尾相接就是顺序存储设备的核心特性,也正是因为这种存储特性决定了顺序存储设备的独特存储策略:只追加记录,不轻易删除记录,更不允许修改已备份数据。若采用传统的随机存储设备(非顺序存储磁带设备)存储备份数据,那么执行备份任务时会在随机存储设备内产生磁盘内碎片,长期进行大数量的备份读写会影响存储设备的总体空间存储效率。由此可见,现有的顺序存储方案和随机存储方案都存在一些不足之处。
发明内容
本申请的一个目的是提供一种基于池化分段式随机存储的数据备份方法与设备。
根据本申请的一个方面,提供了一种基于池化分段式随机存储的数据备份方法,其中,所述方法包括:
当目标备份任务被调度后,检查最新的存储卷是否被写满;
若最新的存储卷已被写满,则新建一个存储卷,并在该新建的存储卷上执行所述目标备份任务,写入对应的备份数据;
若最新的存储卷未被写满,则在该最新的存储卷上执行所述目标备份任务,写入对应的备份数据。
进一步地,一个存储池包含多个存储卷,一个备份任务对应一个或多个存储卷。
进一步地,所述方法还包括:若存储池已被写满,检查所述存储池中是否有已过期的存储卷,所述存储卷是否有回收标记;若所述存储池中有已过期的存储卷并且有回收标记,则回收并清除该已过期的存储卷;若所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷。
进一步地,若所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷,还包括:为所述存储池扩容,或者删除所述存储池中已有的存储卷。
进一步地,若所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷,还包括:等待所述存储池中的若干个存储卷过期后,删除该已过期的存储卷。
进一步地,所述存储池中的数据项包括:该存储池中存储卷的数量信息;该存储池中存储卷的最大数量信息;已被使用的存储卷数量信息;存储卷的保留周期信息;存储卷的持续时间信息;存储卷上的最大任务数信息;存储卷上的文件尾信息;是否自动修剪信息。
进一步地,所述存储卷中的数据项包括:链接至存储池记录信息;首次写入的日期时间信息;最后写入的日期时间信息;写入该存储卷的任务数信息;写入该存储卷的文件数信息;写入该存储卷的块数信息;此任务保存的字节数信息;写入该存储卷的次数信息;该存储卷的容量预估信息;是否可以回收该存储卷信息;该存储卷的保留期限信息;该存储卷的持续时间信息;写入该存储卷的最大任务数信息;写入该存储卷的最大文件尾信息;该存储卷结束文件号信息;该存储卷的结束块编号信息;位置记录编号信息;回收次数信息;该存储卷上的最小块大小信息;该存储卷上的最大块大小信息。
根据本申请的另一个方面,还提供了一种基于池化分段式随机存储的数据备份设备,其中,所述设备包括:
第一模块,用于当目标备份任务被调度后,检查最新的存储卷是否被写满;
第二模块,用于若最新的存储卷已被写满,则新建一个存储卷,并在该新建的存储卷上执行所述目标备份任务,写入对应的备份数据;
第三模块,用于若最新的存储卷未被写满,则在该最新的存储卷上执行所述目标备份任务,写入对应的备份数据。
根据本申请的又一个方面,还提供了一种计算设备,其中,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述的基于池化分段式随机存储的数据备份方法。
根据本申请的又一个方面,还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现所述的基于池化分段式随机存储的数据备份方法。
本申请提供的方案中,当目标备份任务被调度后,检查最新的存储卷是否被写满;若最新的存储卷已被写满,则新建一个存储卷,并在该新建的存储卷上执行所述目标备份任务,写入对应的备份数据;若最新的存储卷未被写满,则在该最新的存储卷上执行所述目标备份任务,写入对应的备份数据。与现有技术相比,本申请将随机存储与顺序存储各自的存储策略优势相融合,既保持了顺序存储设备所具备的高效空间利用率,又具有随机存储设备的高效检索等特性;既能规避传统顺序存储类型磁带设备读写与索引效率低的问题,又能改善随机式存储类型磁盘设备的存储碎片与空间存储效率问题。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其他特征、目的和优点将会变得更明显:
图1是根据本申请实施例的一种基于池化分段式随机存储的数据备份方法流程图;
图2是根据本申请实施例的一种存储卷的生命周期示意图;
图3是根据本申请实施例的一种基于池化分段式随机存储的数据备份设备示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的装置或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例提供了基于池化分段式随机存储的数据备份方法,将随机存储设备模拟为顺序存储设备,在模拟的顺序存储设备上执行池化分段式的数据备份,从而最大化提升随机存储设备在数据备份环境中的存储与索引效率。该方法将随机存储与顺序存储各自的存储策略优势相融合,既保持了顺序存储设备所具备的高效空间利用率,又具有随机存储设备的高效检索等特性;既能规避传统顺序存储类型磁带设备读写与索引效率低的问题,又能改善随机式存储类型磁盘设备的存储碎片与空间存储效率问题。
在实际场景中,实现该方法的设备可以是用户设备、网络设备或者用户设备与网络设备通过网络相集成所构成的设备。其中,所述用户设备包括但不限于智能手机、平板电脑、个人计算机(PC)等终端设备,所述网络设备包括但不限于网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(CloudComputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图1是根据本申请实施例的一种基于池化分段式随机存储的数据备份方法流程图,该方法包括步骤S101、步骤S102和步骤S103。
步骤S101,当目标备份任务被调度后,检查最新的存储卷是否被写满。
例如,在正常情况下,存储池(pool)的存储空间足够大,不会出现存储空间不足的情况。当目标备份任务(job)被调度后,先检查最新的存储卷(volume)是否被写满。所述存储卷的生命周期如图2所示。
在一些实施例中,一个存储池(pool)包含多个存储卷(volume),一个备份任务(job)对应一个或多个存储卷(volume)。
例如,存储池(pool)是一个逻辑的存储空间,同一个存储设备可根据需要将真实的存储空间划分定义为一个或多个不同存储空间大小的存储池(pool)。存储卷(volume)的定义和存储池(pool)的定义为包含关系,一个存储池(pool)中可以包含多个存储卷(volume),存储卷(volume)与备份任务(job)相关,一般情况下默认为一个备份任务(job)对应一个或多个存储卷(volume)。
在一些实施例中,所述存储池中的数据项包括:该存储池中存储卷的数量信息;该存储池中存储卷的最大数量信息;已被使用的存储卷数量信息;存储卷的保留周期信息;存储卷的持续时间信息;存储卷上的最大任务数信息;存储卷上的文件尾信息;是否自动修剪信息。
例如,所述存储池(pool)中所包含的数据项可以包括:NumVols(Number ofVolumes in the Pool,该存储池中存储卷的数量);MaxVols(Maximum Volumes in thePool,该存储池中存储卷的最大数量);UseOnce(Use volume once,已被使用的存储卷数量);VolRetention(seconds to retain volume,存储卷的保留周期);VolUseDuration(seconds volume can be used,存储卷的持续时间);MaxVolJobs(max jobs on volume,存储卷上的最大任务数);MaxVolFiles(max EOF marks to put on Volume,存储卷上的文件尾);AutoPrune(yes or no for autopruning,是否自动修剪);Recycle(yes or no forallowing auto recycling of Volume,存储卷是否自动回收。
在一些实施例中,所述存储卷中的数据项包括:链接至存储池记录信息;首次写入的日期时间信息;最后写入的日期时间信息;写入该存储卷的任务数信息;写入该存储卷的文件数信息;写入该存储卷的块数信息;此任务保存的字节数信息;写入该存储卷的次数信息;该存储卷的容量预估信息;是否可以回收该存储卷信息;该存储卷的保留期限信息;该存储卷的持续时间信息;写入该存储卷的最大任务数信息;写入该存储卷的最大文件尾信息;该存储卷结束文件号信息;该存储卷的结束块编号信息;位置记录编号信息;回收次数信息;该存储卷上的最小块大小信息;该存储卷上的最大块大小信息。
例如,所述存储卷(volume)中所包含的数据项可以包括:PoolId(Link to PoolRecord,链接至存储池记录);FirstWritten(Time/date when first written,首次写入的日期时间);LastWritten(Time/date when last written,最后写入的日期时间);VolJobs(Number of jobs written to this media,写入该存储卷的任务数);VolFiles(Numberof files written to this media,写入该存储卷的文件数);VolBlocks(Number ofblocks written to this media,写入该存储卷的块数);VolBytes(Number of bytessaved in Job,此任务保存的字节数);VolWrites(Number of writes to media,写入该存储卷的次数);VolCapacityBytes(Capacity estimate for this volume,此存储卷的容量预估);Recycle(can recycle the Volumes:Yes,No,是否可以回收存储卷);VolRetention(seconds until expiration,存储卷的保留期限);VolUseDureation(seconds volumecan be used,存储卷持续时间);MaxVolJobs(maximum jobs to put on Volume,写入存储卷的最大任务数);MaxVolFiles(maximume EOF marks to put on Volume,写入存储卷的最大文件尾);EndFile(End File number of Volume,该存储卷结束文件号);EndBlock(End block number of Volume,存储卷的结束块编号);LocationId(Location recordID,位置记录编号);RecycleCount(Number of times recycled,回收次数);MinBlockSize(Minimum block size on this media,存储卷上的最小块大小);MaxBlockSize(Maximumblock size on this media,存储卷上的最大块大小)。
在一些实施例中,任务(job)中所包含的数据项可以包括:JobId(Primary Key,任务编号);SchedTime(Time/date when Job scheduled,调度该任务的日期时间);StartTime(Time/date when Job started,该任务的开始日期时间);EndTime(Time/datewhen Job ended,该任务的结束日期时间);JobFiles(Number of files saved in Job,此任务中保存的文件数);JobBytes(Number of bytes saved in Job,此任务中保存的字节数);PoolId(Link to Pool Record,池记录的链接)。任务存储(jobmedia)中所包含的数据项可以包括:JobMediaId(Primary Key,任务存储编号);JobId(Link to Job Record,任务记录的链接);MediaId(Link to Media Record,存储记录的链接);FirstIndex(The index(sequence number)of the first file written for this Job to the Media,此任务写入介质的第一个文件的索引);LastIndex(The index of the last file written forthis Job to the Media,此任务写入介质的最后一次文件的索引);StartFile(Thephysical media file mark number of the first block written for this Job,此任务写入物理介质的第一个文件块标记);EndFile(The physical media file mark numberof the last block written for this Job,此任务写入物理介质的最后一个文件块标记);StartBlock(The number of the first block written for this Job,此任务写入的初始块标记);EndBlock(The number of the last block written for this Job,此任务写入的最终块标记);JobBytes(The Volume use sequence number within the Job,此任务使用的存储卷数量(字节数));VolIndex(The Volume use sequence number withinthe Job,此任务使用的存储卷索引序列号)。在任务存储(jobmedia)数据项中,记录了一个备份任务的初始写入索引值与该任务的最终索引值,并且详细记载了该任务初始文件位置与相应的文件末尾位置等信息。
由于存储池(pool)、存储卷(volume)、任务(job)、任务存储(jobmedia)等四类数据项之间关系相耦合,通过记录每一个备份任务的各项数据信息,可以快速定位所备份的数据项,从而可以实现高效索引。
步骤S102,若最新的存储卷已被写满,则新建一个存储卷,并在该新建的存储卷上执行所述目标备份任务,写入对应的备份数据。
步骤S103,若最新的存储卷未被写满,则在该最新的存储卷上执行所述目标备份任务,写入对应的备份数据。
在一些实施例中,所述的基于池化分段式随机存储的数据备份方法还包括:若存储池已被写满,检查所述存储池中是否有已过期的存储卷,所述存储卷是否有回收标记;若所述存储池中有已过期的存储卷并且有回收标记,则回收并清除该已过期的存储卷;若所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷。
例如,若要在存储池(pool)已被写满的情况下,执行数据备份任务(job)写入对应的备份数据;则需要先检查所述存储池(pool)中是否有已过期的存储卷(volume),所述存储卷(volume)是否有回收标记(recycleflag)。具体可分为以下两种情况:(1)所述存储池中有已过期的存储卷并且有回收标记,则回收并清除该已过期的存储卷,然后可以在回收的存储卷上执行数据备份任务,写入对应的备份数据。(2)所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷;但此时新建的存储卷的容量(size)值为零,因为存储池已经没有可分配的空间,那么就会出现新建的存储卷无法打开的问题,直到存储池内有存储空间(每隔一个预设周期时间检测一次)为止。
在一些实施例中,若所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷,还包括:为所述存储池扩容,或者删除所述存储池中已有的存储卷。例如,对于所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记情况,新建一个存储卷之后,有一种处理方式是:为存储池(pool)扩容,或者手动删除存储池(pool)中已有的存储卷(volume),目的就是让新建的存储卷有存储空间可使用。
在一些实施例中,若所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷,还包括:等待所述存储池中的若干个存储卷过期后,删除该已过期的存储卷。例如,对于所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记情况,新建一个存储卷之后,有一种处理方式是:等待存储池(pool)中某个存储卷(volume)过期后,删除该已过期的存储卷,回收再利用该已过期的存储卷的存储空间。
在一些实施例中,存储卷(volume)的过期时间的生成方式可以包括:根据最近一次写入该存储卷的时间和该存储卷的保留时间(retention time)之和计算得出。不同存储卷(volume)的保留期限可根据需要配置为不同的设置。存储池(pool)与存储卷(volume)的保留期限可以由用户通过配置文件进行配置,未配置的情况下默认值为永久有效。一般默认情况下,一个存储卷(volume)的保留期限就是所在存储池(pool)的保留期限值。如果需要对存储池(pool)中某个存储卷(volume)设置不同的保留期限,可以通过相关配置项的设置重新设置。如果修改的是已经写入数据的存储池(pool)保留期限配置,那么新的配置只对配置之后创建的存储卷有效,对修改之前创建的存储卷不生效。用户可以通过控制台操作,对相关的配置内容进行设置更改,保留时间(retention time)可以精确到秒级,同时也可以设置为零值,保留时间(retention time)为0代表最长保留时间。
图3是根据本申请实施例的一种基于池化分段式随机存储的数据备份设备示意图,该设备包括第一模块301、第二模块302和第三模块303。
第一模块301,当目标备份任务被调度后,检查最新的存储卷是否被写满。
例如,在正常情况下,存储池(pool)的存储空间足够大,不会出现存储空间不足的情况。当目标备份任务(job)被调度后,先检查最新的存储卷(volume)是否被写满。所述存储卷的生命周期如图2所示。
在一些实施例中,一个存储池(pool)包含多个存储卷(volume),一个备份任务(job)对应一个或多个存储卷(volume)。
例如,存储池(pool)是一个逻辑的存储空间,同一个存储设备可根据需要将真实的存储空间划分定义为一个或多个不同存储空间大小的存储池(pool)。存储卷(volume)的定义和存储池(pool)的定义为包含关系,一个存储池(pool)中可以包含多个存储卷(volume),存储卷(volume)与备份任务(job)相关,一般情况下默认为一个备份任务(job)对应一个或多个存储卷(volume)。
在一些实施例中,所述存储池中的数据项包括:该存储池中存储卷的数量信息;该存储池中存储卷的最大数量信息;已被使用的存储卷数量信息;存储卷的保留周期信息;存储卷的持续时间信息;存储卷上的最大任务数信息;存储卷上的文件尾信息;是否自动修剪信息。
例如,所述存储池(pool)中所包含的数据项可以包括:NumVols(Number ofVolumes in the Pool,该存储池中存储卷的数量);MaxVols(Maximum Volumes in thePool,该存储池中存储卷的最大数量);UseOnce(Use volume once,已被使用的存储卷数量);VolRetention(seconds to retain volume,存储卷的保留周期);VolUseDuration(seconds volume can be used,存储卷的持续时间);MaxVolJobs(max jobs on volume,存储卷上的最大任务数);MaxVolFiles(max EOF marks to put on Volume,存储卷上的文件尾);AutoPrune(yes or no for autopruning,是否自动修剪);Recycle(yes or no forallowing auto recycling of Volume,存储卷是否自动回收。
在一些实施例中,所述存储卷中的数据项包括:链接至存储池记录信息;首次写入的日期时间信息;最后写入的日期时间信息;写入该存储卷的任务数信息;写入该存储卷的文件数信息;写入该存储卷的块数信息;此任务保存的字节数信息;写入该存储卷的次数信息;该存储卷的容量预估信息;是否可以回收该存储卷信息;该存储卷的保留期限信息;该存储卷的持续时间信息;写入该存储卷的最大任务数信息;写入该存储卷的最大文件尾信息;该存储卷结束文件号信息;该存储卷的结束块编号信息;位置记录编号信息;回收次数信息;该存储卷上的最小块大小信息;该存储卷上的最大块大小信息。
例如,所述存储卷(volume)中所包含的数据项可以包括:PoolId(Link to PoolRecord,链接至存储池记录);FirstWritten(Time/date when first written,首次写入的日期时间);LastWritten(Time/date when last written,最后写入的日期时间);VolJobs(Number of jobs written to this media,写入该存储卷的任务数);VolFiles(Numberof files written to this media,写入该存储卷的文件数);VolBlocks(Number ofblocks written to this media,写入该存储卷的块数);VolBytes(Number of bytessaved in Job,此任务保存的字节数);VolWrites(Number of writes to media,写入该存储卷的次数);VolCapacityBytes(Capacity estimate for this volume,此存储卷的容量预估);Recycle(can recycle the Volumes:Yes,No,是否可以回收存储卷);VolRetention(seconds until expiration,存储卷的保留期限);VolUseDureation(seconds volumecan be used,存储卷持续时间);MaxVolJobs(maximum jobs to put on Volume,写入存储卷的最大任务数);MaxVolFiles(maximume EOF marks to put on Volume,写入存储卷的最大文件尾);EndFile(End File number of Volume,该存储卷结束文件号);EndBlock(End block number of Volume,存储卷的结束块编号);LocationId(Location recordID,位置记录编号);RecycleCount(Number of times recycled,回收次数);MinBlockSize(Minimum block size on this media,存储卷上的最小块大小);MaxBlockSize(Maximumblock size on this media,存储卷上的最大块大小)。
在一些实施例中,任务(job)中所包含的数据项可以包括:JobId(Primary Key,任务编号);SchedTime(Time/date when Job scheduled,调度该任务的日期时间);StartTime(Time/date when Job started,该任务的开始日期时间);EndTime(Time/datewhen Job ended,该任务的结束日期时间);JobFiles(Number of files saved in Job,此任务中保存的文件数);JobBytes(Number of bytes saved in Job,此任务中保存的字节数);PoolId(Link to Pool Record,池记录的链接)。任务存储(jobmedia)中所包含的数据项可以包括:JobMediaId(Primary Key,任务存储编号);JobId(Link to Job Record,任务记录的链接);MediaId(Link to Media Record,存储记录的链接);FirstIndex(The index(sequence number)of the first file written for this Job to the Media,此任务写入介质的第一个文件的索引);LastIndex(The index of the last file written forthis Job to the Media,此任务写入介质的最后一次文件的索引);StartFile(Thephysical media file mark number of the first block written for this Job,此任务写入物理介质的第一个文件块标记);EndFile(The physical media file mark numberof the last block written for this Job,此任务写入物理介质的最后一个文件块标记);StartBlock(The number of the first block written for this Job,此任务写入的初始块标记);EndBlock(The number of the last block written for this Job,此任务写入的最终块标记);JobBytes(The Volume use sequence number within the Job,此任务使用的存储卷数量(字节数));VolIndex(The Volume use sequence number withinthe Job,此任务使用的存储卷索引序列号)。在任务存储(jobmedia)数据项中,记录了一个备份任务的初始写入索引值与该任务的最终索引值,并且详细记载了该任务初始文件位置与相应的文件末尾位置等信息。
由于存储池(pool)、存储卷(volume)、任务(job)、任务存储(jobmedia)等四类数据项之间关系相耦合,通过记录每一个备份任务的各项数据信息,可以快速定位所备份的数据项,从而可以实现高效索引。
第二模块302,若最新的存储卷已被写满,则新建一个存储卷,并在该新建的存储卷上执行所述目标备份任务,写入对应的备份数据。
第三模块303,若最新的存储卷未被写满,则在该最新的存储卷上执行所述目标备份任务,写入对应的备份数据。
在一些实施例中,所述的基于池化分段式随机存储的数据备份设备还用于:若存储池已被写满,检查所述存储池中是否有已过期的存储卷,所述存储卷是否有回收标记;若所述存储池中有已过期的存储卷并且有回收标记,则回收并清除该已过期的存储卷;若所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷。
例如,若要在存储池(pool)已被写满的情况下,执行数据备份任务(job)写入对应的备份数据;则需要先检查所述存储池(pool)中是否有已过期的存储卷(volume),所述存储卷(volume)是否有回收标记(recycleflag)。具体可分为以下两种情况:(1)所述存储池中有已过期的存储卷并且有回收标记,则回收并清除该已过期的存储卷,然后可以在回收的存储卷上执行数据备份任务,写入对应的备份数据。(2)所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷;但此时新建的存储卷的容量(size)值为零,因为存储池已经没有可分配的空间,那么就会出现新建的存储卷无法打开的问题,直到存储池内有存储空间(每隔一个预设周期时间检测一次)为止。
在一些实施例中,若所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷,还包括:为所述存储池扩容,或者删除所述存储池中已有的存储卷。例如,对于所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记情况,新建一个存储卷之后,有一种处理方式是:为存储池(pool)扩容,或者手动删除存储池(pool)中已有的存储卷(volume),目的就是让新建的存储卷有存储空间可使用。
在一些实施例中,若所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷,还包括:等待所述存储池中的若干个存储卷过期后,删除该已过期的存储卷。例如,对于所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记情况,新建一个存储卷之后,有一种处理方式是:等待存储池(pool)中某个存储卷(volume)过期后,删除该已过期的存储卷,回收再利用该已过期的存储卷的存储空间。
在一些实施例中,存储卷(volume)的过期时间的生成方式可以包括:根据最近一次写入该存储卷的时间和该存储卷的保留时间(retention time)之和计算得出。不同存储卷(volume)的保留期限可根据需要配置为不同的设置。存储池(pool)与存储卷(volume)的保留期限可以由用户通过配置文件进行配置,未配置的情况下默认值为永久有效。一般默认情况下,一个存储卷(volume)的保留期限就是所在存储池(pool)的保留期限值。如果需要对存储池(pool)中某个存储卷(volume)设置不同的保留期限,可以通过相关配置项的设置重新设置。如果修改的是已经写入数据的存储池(pool)保留期限配置,那么新的配置只对配置之后创建的存储卷有效,对修改之前创建的存储卷不生效。用户可以通过控制台操作,对相关的配置内容进行设置更改,保留时间(retention time)可以精确到秒级,同时也可以设置为零值,保留时间(retention time)为0代表最长保留时间。
综上所述,本申请实施例延续了传统顺序存储磁带设备的存储空间极高的利用率与无内碎片的优质存储特性,并且兼顾了随机存储设备的文件高效检索与定位的特性。本申请实施例在延续传统顺序存储设备的核心存储策略之上,同时具备随机存储设备的各项优势与存储特点,使顺序存储式设备具备了灵活的存储索引与空间回收机制。本申请实施例将随机存储与顺序存储各自的存储策略优势相融合,既保持了顺序存储设备所具备的高效空间利用率,又具有随机存储设备的高效检索等特性;既能规避传统顺序存储类型磁带设备读写与索引效率低的问题,又能改善随机式存储类型磁盘设备的存储碎片与空间存储效率问题。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据程序指令运行的计算机设备的工作存储器中。在此,本申请的一些实施例提供了一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行前述本申请的多个实施例的方法和/或技术方案。
此外,本申请的一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (10)

1.一种基于池化分段式随机存储的数据备份方法,其中,所述方法包括:
当目标备份任务被调度后,检查最新的存储卷是否被写满;
若最新的存储卷已被写满,则新建一个存储卷,并在该新建的存储卷上执行所述目标备份任务,写入对应的备份数据;
若最新的存储卷未被写满,则在该最新的存储卷上执行所述目标备份任务,写入对应的备份数据。
2.根据权利要求1所述的方法,其中,一个存储池包含多个存储卷,一个备份任务对应一个或多个存储卷。
3.根据权利要求2所述的方法,其中,所述方法还包括:
若存储池已被写满,检查所述存储池中是否有已过期的存储卷,所述存储卷是否有回收标记;
若所述存储池中有已过期的存储卷并且有回收标记,则回收并清除该已过期的存储卷;
若所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷。
4.根据权利要求3所述的方法,其中,若所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷,还包括:
为所述存储池扩容,或者删除所述存储池中已有的存储卷。
5.根据权利要求3所述的方法,其中,若所述存储池中没有已过期的存储卷,或者所述存储池中有已过期的存储卷但没有回收标记,则新建一个存储卷,还包括:
等待所述存储池中的若干个存储卷过期后,删除该已过期的存储卷。
6.根据权利要求2所述的方法,其中,所述存储池中的数据项包括:
该存储池中存储卷的数量信息;
该存储池中存储卷的最大数量信息;
已被使用的存储卷数量信息;
存储卷的保留周期信息;
存储卷的持续时间信息;
存储卷上的最大任务数信息;
存储卷上的文件尾信息;
是否自动修剪信息。
7.根据权利要求1至6中任一项所述的方法,其中,所述存储卷中的数据项包括:
链接至存储池记录信息;
首次写入的日期时间信息;
最后写入的日期时间信息;
写入该存储卷的任务数信息;
写入该存储卷的文件数信息;
写入该存储卷的块数信息;
此任务保存的字节数信息;
写入该存储卷的次数信息;
该存储卷的容量预估信息;
是否可以回收该存储卷信息;
该存储卷的保留期限信息;
该存储卷的持续时间信息;
写入该存储卷的最大任务数信息;
写入该存储卷的最大文件尾信息;
该存储卷结束文件号信息;
该存储卷的结束块编号信息;
位置记录编号信息;
回收次数信息;
该存储卷上的最小块大小信息;
该存储卷上的最大块大小信息。
8.一种基于池化分段式随机存储的数据备份设备,其中,所述设备包括:
第一模块,用于当目标备份任务被调度后,检查最新的存储卷是否被写满;
第二模块,用于若最新的存储卷已被写满,则新建一个存储卷,并在该新建的存储卷上执行所述目标备份任务,写入对应的备份数据;
第三模块,用于若最新的存储卷未被写满,则在该最新的存储卷上执行所述目标备份任务,写入对应的备份数据。
9.一种计算设备,其中,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行权利要求1至7中任一项所述的方法。
10.一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现如权利要求1至7中任一项所述的方法。
CN202110957457.1A 2021-08-18 2021-08-18 一种基于池化分段式随机存储的数据备份方法与设备 Pending CN113868016A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110957457.1A CN113868016A (zh) 2021-08-18 2021-08-18 一种基于池化分段式随机存储的数据备份方法与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110957457.1A CN113868016A (zh) 2021-08-18 2021-08-18 一种基于池化分段式随机存储的数据备份方法与设备

Publications (1)

Publication Number Publication Date
CN113868016A true CN113868016A (zh) 2021-12-31

Family

ID=78990685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110957457.1A Pending CN113868016A (zh) 2021-08-18 2021-08-18 一种基于池化分段式随机存储的数据备份方法与设备

Country Status (1)

Country Link
CN (1) CN113868016A (zh)

Similar Documents

Publication Publication Date Title
US11068455B2 (en) Mapper tree with super leaf nodes
US7519767B2 (en) Emulated tape-based storage media
US9703640B2 (en) Method and system of performing incremental SQL server database backups
CN106055431B (zh) 基于快照在线回滚的数据备份与恢复的方法及装置
US7761284B2 (en) Tape emulating disk based storage system and method with automatically resized emulated tape capacity
US8548948B2 (en) Methods and apparatus for a fine grained file data storage system
US8332581B2 (en) Stale track initialization in a storage controller
US11227635B2 (en) Recording device, readout device, recording method, recording program, readout method, readout program, and magnetic tape
CN102667703A (zh) 用于虚拟磁带库系统中的优化回收处理的系统和方法
JP2005115948A (ja) ファイルをアーカイブするための方法、システム、およびプログラム
US10346368B2 (en) Method and apparatus of per-block-group journaling for ordered mode journaling file system
WO2021249201A1 (zh) 一种基于叠瓦式磁记录盘的监控数据存储方法及装置
JP5956971B2 (ja) LTFS(LinearTapeFileSystem)によって実現するWORMカートリッジのサポート
US20160239389A1 (en) Image recovery from volume image files
JP6218668B2 (ja) メディアへのファイル書き込みに伴うメタ情報の効率的な利用
CN113641446A (zh) 内存快照创建方法、装置、设备及可读存储介质
CN116483284B (zh) 一种读写虚拟硬盘的方法、装置、介质及电子设备
CN114327292B (zh) 文件管理方法、系统、电子设备和存储介质
CN113868016A (zh) 一种基于池化分段式随机存储的数据备份方法与设备
CN113868018B (zh) 一种数据保存方法及装置和一种数据恢复方法
US20070061530A1 (en) Method for storage of digital data in a mainframe data center and associated device
CN114595096A (zh) 数据库热备份的方法、装置、电子设备及存储介质
CN109241011B (zh) 一种虚拟机文件处理方法及装置
CN110287064B (zh) 一种磁盘数据的还原方法、装置及电子设备
KR100775141B1 (ko) 저널링이 적용된 fat 파일 시스템의 구현 방법

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