一种写时重定向引擎快照流方法技术

技术编号:20820524 阅读:28 留言:0更新日期:2019-04-10 06:05
本发明专利技术公开了一种写时重定向(ROW)引擎快照流方法,采用写时重定向快照技术的思想,通过连续的、关联性快照实现本地数据备份。第一次快照之后更改的数据单元地址和更改前的值一同记录在快照区域中的一个快照单元中。在数据恢复期间,读取当前时间和待恢复时刻之间的所有快照单元,并按时间顺序恢复数据存储区域。在触发多个快照的情况下,每次接收到修改数据存储区域的数据单元的指令时,快照处理系统要执行的操作仅在快照的当前快照之后分配的快照单元区域中被触发,执行一次数据单元地址的遍历和比较,并将至多一次写入操作写入到新分配的快照单元。由于本发明专利技术针对数据快照流生成快照所存在的性能问题采用了写时重定向引擎快照流的技术,在读写操作时均重定向到另一个存储空间中,快照系统在完成一次数据修改所需的系统处理资源与已触发的快照数量无关,从而提高了快照系统的处理能力和效率。

【技术实现步骤摘要】
一种写时重定向引擎快照流方法
本专利技术属于计算机及数据保护
,具体是一种写时重定向(ROW)引擎快照流方法。
技术介绍
SNIA(StorageNetworkingIndustryAssociation,全球网络存储工业协会)对CDP(ContinuousDataProtection,持续数据保护)的定义:持续数据保护是一种在不影响主要数据运行的前提下,可以实现持续捕捉或跟踪目标数据所发生的任何改变,并且能够恢复到此前任意时间点的技术方法。在传统(Copy-On-Write)COW-CDP技术方案中,当处于COW-CDP保护下的源磁盘收到写IO请求时,首先将源磁盘上即将写入位置的数据(即历史数据)复制到另一存储上(称之为COW-CDP保存盘),再将写IO请求分发给底层的磁盘驱动处理,完成写请求,在此种方式下,一个写源磁盘的IO请求被转化成读源磁盘IO、写COW-CDP保存盘IO、写源磁盘IO三个IO请求,性能影响很大,快照生成所需空间也较大,因此如何提高大型数据中心存储设备在利用快照进行数据存储备份时的效率和减少备份空间大小是一个迫切需要解决的问题。
技术实现思路
本专利技术主要是应用ROW-CDP技术模型,将源磁盘的所有写IO请求被直接重定向到CDP保存盘上而不是源磁盘,ROW-CDP将这种重定向映射元数据也保存在CDP保存盘,在此种方式下,写IO被转化成查找映射及重定向写IO,其中重定向映射元数据可以利用Cache进行缓存以减少读元数据的IO。在第一次快照之后更改的数据单元地址和更改前的值记录在快照区域中的一个快照单元中。在数据恢复期间,读取当前时间和待恢复时刻之间的所有快照单元,并按时间顺序恢复数据存储区域。在触发多个快照的情况下,每次接收到修改数据存储区域的数据单元的指令时,快照处理系统要执行的操作仅在快照的当前快照之后分配的快照单元区域中被触发,执行一次数据单元地址的遍历和比较,并将至多一次写入操作写入到新分配的快照单元。因此,完成一次数据修改所需的系统处理资源与已触发的快照数量无关,从而提高了快照系统的处理能力和效率,减少了备份所需的存储空间。本专利技术方法的具体步骤是:步骤(1):对快照源设备的I/O请求类型进行界定,具体界定如下:1)写请求:即在数据操作过程中向磁盘内写入数据到数据块。2)读请求:即在数据操作过程中从磁盘中读出数据块上存储的数据。步骤(2):根据步骤(1)接收到操作请求,判断请求类型,若为写请求,执行步骤(3),否则执行步骤(12);步骤(3):根据步骤(2)寻找查询快照数据源块,判断快照数据源块是否存在,若存在,执行步骤(4),否则,执行步骤(5);步骤(4):判断快照源是否存在前一个写缓冲正在重定向写入数据,若存在,执行步骤(6),否则执行步骤(7);步骤(5):在目标磁盘中申请分配新的存储空间来存放待写入数据块,记录相应的重定向指针,启动CDP-ROW引擎,然后结束本次写请求操作;步骤(6):重定向写快照源时将当前写请求缓冲头缓冲到待处理例外哈希表中,等待前一个写缓冲重定向写入数据完成;步骤(7):判断是否存在可共享数据块地址,若存在,执行步骤(8),否则,执行步骤(9);步骤(8):将新进入的写请求数据块划分进入目标磁盘的地址数据块,目标卷分配新的存储空间,将修改后的数据块重定向写入新分配的存储空间中,记录相应的重定向指针,启动CDP-ROW引擎,然后结束本次写请求操作;步骤(9):判断待写入数据块中是否所有数据均有效,若是,执行步骤(10),否则,执行步骤(11);步骤(10):更改无效数据块在bitmap表中映射索引,将修改后的数据块重定向写入目标卷的存储空间,记录相应的重定向指针,启动CDP-ROW引擎,然后结束本次写请求操作;步骤(11):将待写入数据块重定向写入目标卷的存储空间,记录相应的重定向指针,启动CDP-ROW引擎,然后结束本次写请求操作。步骤(12):根据步骤(6),待处理例外哈希表中相应的写缓冲处理完毕后,使本次未成功的写请求操作再次进入循环。较佳地,在所述步骤(2)之后,该方法进一步包括:步骤(13)根据步骤(2)接收到对已写快照的读请求操作命令,寻找查询数据源块,判断数据源块是否存在,若存在,执行步骤(14),否则,执行步骤(15);步骤(14):判断源块显示是否可读,若可读,执行步骤(16),否则执行步骤(17);步骤(15):启动CDP‐ROW引擎,读请求根据重定向指针读取其所指向初始磁盘块上的数据,然后结束本次读请求操作;步骤(16):启动CDP‐ROW引擎,读请求根据重定向指针直接读取其所指向目标磁盘块上的数据,然后结束本次读请求操作;步骤(17):判断快照源是否存在前一个读缓冲正在重定向读取数据,若存在,执行步骤(18),否则执行步骤(19);步骤(18):重定向读快照源时将当前读请求缓冲头缓冲到待处理例外哈希表中,等待前一个读缓冲重定向读取数据完成;步骤(19):添加修复作业,增加该读请求权限,重定向读快照源时将当前读请求缓冲头缓冲到待处理例外哈希表中,等待前一个读缓冲重定向读取数据完成;步骤(20):根据步骤(18)和步骤(19),待处理例外哈希表中相应的读缓冲处理完毕后,使本次未成功的读请求操作再次进入循环。本专利技术的有益效果:本专利技术提出的写时重定向引擎快照流的方法,在多个快照被触发的情况下,每接受到一个对数据存储区的数据单元进行修改的指令,只需在快照区中本次快照被触发后所分配的快照单元中,进行一次针对数据单元地址的遍历和比较,最多再加上一次对新分配的快照单元的写入操作,在两个快照时刻之间,只有发生变化的数据单元,才会在快照区中对应最多一个快照单元,一次数据修改的完成所需要占用的系统处理资源与已经被触发的快照数无关,因此减少了对备份存储介质资源的占用,从而节约了系统的处理能力,提高了系统的处理效率。附图说明图1为ROW模式读写的流程图;图2为CDP-ROW引擎快照流生成示意图;图3为传统快照与CDP-ROW快照资源利用率示意图;具体实施方式本专利技术主要是应用ROW-CDP技术模型,将源磁盘的所有写IO请求被直接重定向到CDP保存盘上而不是源磁盘,ROW-CDP将这种重定向映射元数据也保存在CDP保存盘,在此种方式下,写IO被转化成查找映射及重定向写IO,其中重定向映射元数据可以利用Cache进行缓存以减少读元数据的IO。在第一次快照之后更改的数据单元地址和更改前的值记录在快照区域中的一个快照单元中。在数据恢复期间,读取当前时间和待恢复时刻之间的所有快照单元,并按时间顺序恢复数据存储区域。在触发多个快照的情况下,每次接收到修改数据存储区域的数据单元的指令时,快照处理系统要执行的操作仅在快照的当前快照之后分配的快照单元区域中被触发,执行一次数据单元地址的遍历和比较,并将至多一次写入操作写入到新分配的快照单元。因此,完成一次数据修改所需的系统处理资源与已触发的快照数量无关,从而提高了快照系统的处理能力和效率,减少了备份所需的存储空间。参照图1-3,本专利技术方法的具体步骤是:步骤(1):对快照源设备的I/O请求类型进行界定,具体界定如下:1)写请求:即在数据操作过程中向磁盘内写入数据到数据块。2)读请求:即在数据操作过程中从磁盘本文档来自技高网...

【技术保护点】
1.一种写时重定向引擎快照流方法,其特征在于,在目标磁盘中维护保存IO仓库和数据地址映射表;IO仓库用于存放变化IO块,用于高性能永久的存储空间;数据地址映射表用于保存指针清单,以记录这些指针所指向的磁盘块;该方法包括以下步骤:步骤(1):对快照源设备的I/O请求类型进行界定,具体界定如下:1)写请求:即在数据操作过程中向磁盘内写入数据到数据块;2)读请求:即在数据操作过程中从磁盘中读出数据块上存储的数据;步骤(2):根据步骤(1)接收到操作请求,判断请求类型,若为写请求,执行步骤(3),否则执行步骤(12);步骤(3):根据步骤(2)寻找查询快照数据源块,判断快照数据源块是否存在,若存在,执行步骤(4),否则,执行步骤(5);步骤(4):判断快照源是否存在前一个写缓冲正在重定向写入数据,若存在,执行步骤(6),否则执行步骤(7);步骤(5):在目标磁盘中申请分配新的存储空间来存放待写入数据块,记录相应的重定向指针,启动CDP‑ROW引擎,然后结束本次写请求操作;步骤(6):重定向写快照源时将当前写请求缓冲头缓冲到待处理例外哈希表中,等待前一个写缓冲重定向写入数据完成;步骤(7):判断是否存在可共享数据块地址,若存在,执行步骤(8),否则,执行步骤(9);步骤(8):将新进入的写请求数据块划分进入目标磁盘的地址数据块,目标卷分配新的存储空间,将修改后的数据块重定向写入新分配的存储空间中,记录相应的重定向指针,启动CDP‑ROW引擎,然后结束本次写请求操作;步骤(9):判断待写入数据块中是否所有数据均有效,若是,执行步骤(10),否则,执行步骤(11);步骤(10):更改无效数据块在bitmap表中映射索引,将修改后的数据块重定向写入目标卷的存储空间,记录相应的重定向指针,启动CDP‑ROW引擎,然后结束本次写请求操作;步骤(11):将待写入数据块重定向写入目标卷的存储空间,记录相应的重定向指针,启动CDP‑ROW引擎,然后结束本次写请求操作;步骤(12):根据步骤(6),待处理例外哈希表中相应的写缓冲处理完毕后,使本次未成功的写请求操作再次进入循环;该方法进一步包括:步骤(13)根据步骤(2)接收到对已写快照的读请求操作命令,寻找查询数据源块,判断数据源块是否存在,若存在,执行步骤(14),否则,执行步骤(15);步骤(14):判断源块显示是否可读,若可读,执行步骤(16),否则执行步骤(17);步骤(15):启动CDP‑ROW引擎,读请求根据重定向指针读取其所指向初始磁盘块上的数据,然后结束本次读请求操作;步骤(16):启动CDP‑ROW引擎,读请求根据重定向指针直接读取其所指向目标磁盘块上的数据,然后结束本次读请求操作;步骤(17):判断快照源是否存在前一个读缓冲正在重定向读取数据,若存在,执行步骤(18),否则执行步骤(19);步骤(18):重定向读快照源时将当前读请求缓冲头缓冲到待处理例外哈希表中,等待前一个读缓冲重定向读取数据完成;步骤(19):添加修复作业,增加该读请求权限,重定向读快照源时将当前读请求缓冲头缓冲到待处理例外哈希表中,等待前一个读缓冲重定向读取数据完成;步骤(20):根据步骤(18)和步骤(19),待处理例外哈希表中相应的读缓冲处理完毕后,使本次未成功的读请求操作再次进入循环。...

【技术特征摘要】
1.一种写时重定向引擎快照流方法,其特征在于,在目标磁盘中维护保存IO仓库和数据地址映射表;IO仓库用于存放变化IO块,用于高性能永久的存储空间;数据地址映射表用于保存指针清单,以记录这些指针所指向的磁盘块;该方法包括以下步骤:步骤(1):对快照源设备的I/O请求类型进行界定,具体界定如下:1)写请求:即在数据操作过程中向磁盘内写入数据到数据块;2)读请求:即在数据操作过程中从磁盘中读出数据块上存储的数据;步骤(2):根据步骤(1)接收到操作请求,判断请求类型,若为写请求,执行步骤(3),否则执行步骤(12);步骤(3):根据步骤(2)寻找查询快照数据源块,判断快照数据源块是否存在,若存在,执行步骤(4),否则,执行步骤(5);步骤(4):判断快照源是否存在前一个写缓冲正在重定向写入数据,若存在,执行步骤(6),否则执行步骤(7);步骤(5):在目标磁盘中申请分配新的存储空间来存放待写入数据块,记录相应的重定向指针,启动CDP-ROW引擎,然后结束本次写请求操作;步骤(6):重定向写快照源时将当前写请求缓冲头缓冲到待处理例外哈希表中,等待前一个写缓冲重定向写入数据完成;步骤(7):判断是否存在可共享数据块地址,若存在,执行步骤(8),否则,执行步骤(9);步骤(8):将新进入的写请求数据块划分进入目标磁盘的地址数据块,目标卷分配新的存储空间,将修改后的数据块重定向写入新分配的存储空间中,记录相应的重定向指针,启动CDP-ROW引擎,然后结束本次写请求操作;步骤(9):判断待写入数据块中是否所有数据均有效,若是,执行步骤(10),否则,执行步骤(11);步...

【专利技术属性】
技术研发人员:汪海陈烨张纪林陈军相
申请(专利权)人:杭州信核数据科技股份有限公司
类型:发明
国别省市:浙江,33

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

1