一种写时拷贝快照方法和系统的制作方法

文档序号:9417263阅读:493来源:国知局
一种写时拷贝快照方法和系统的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别是涉及一种写时拷贝快照方法和系统。
【背景技术】
[0002]随着计算机技术的快速发展,数字化信息已经逐步取代纸媒数据,呈现日均指数级增长。海量数据催生了云计算、大数据和海量存储系统的发展,对存储设备和存储应用的需求也越来越高。政府行业、银行系统、电力企业等对数据的安全性和业务连续性有着较高的要求,必须提供在线的数据保护。而快照就是一种在线存储设备防止数据丢失的有效方法,在越来越多的高端存储系统中,快照模块已成为一项基本的不可或缺的元素。
[0003]快照的主要功能在于能对在线数据按需进行备份和恢复。当存储设备发生应用故障或文件损坏时可进行快速数据恢复,将数据恢复到某个可用时间点的状态。同时,很多灾备应用(例如克隆,远程复制)将底层物理介质通过打快照将快照卷映射以达到对用户可见,因此针对快照空间分配与回收是个很重要且频繁操作的功能。
[0004]目前,快照系统会按照系统内部处理块大小将源卷划分为若干个块,当系统需要写入某快照数据时,传统方式为在写时拷贝线程中每获取一个快照数据,便对该获取的快照数据进行拆分、写时拷贝和写入源卷等快照操作,在将该获取的快照数据写入源卷完成后,再获取下一个快照数据,以此类推来完成大量快照数据的写入。由于快照过程中写时拷贝操作较为耗时,因此,现有技术中,按照获取快照数据-拆分-写时拷贝-写入源卷-获取下一快照数据的线程来进行写时拷贝快照,在不完成写时拷贝和写入源卷等操作之前,将不会获取下一需要写入的快照数据,该下一需要写入的快照数据将一直处于等待写入状态,如此,当需要对大量快照数据进行写入时,将会严重影响到系统的工作效率,导致工作效率较低。

【发明内容】

[0005]有鉴于此,本发明实施例提供一种写时拷贝快照方法和系统,以解决现有技术中由于快照过程中写时拷贝操作较为耗时,按照获取快照数据-拆分-写时拷贝-写入源卷-获取下一快照数据的线程来进行写时拷贝快照,当需要对大量快照数据进行写入时,将会严重影响到系统的工作效率,导致工作效率较低的问题。
[0006]为实现上述目的,本发明实施例提供如下技术方案:
[0007]—种写时拷贝快照方法,用于写时拷贝快照系统,所述写时拷贝快照系统包括预处理模块、拷贝模块和重组模块,所述写时拷贝快照方法包括:
[0008]当检测到快照数据时,预处理模块获取所述快照数据,将所述快照数据进行拆分得到拆分数据,并将所述拆分数据添加至处理队列;
[0009]当检测到所述处理队列中存在拆分数据时,拷贝模块按照预定次序获取所述处理队列中的拆分数据,根据所述获取的拆分数据确定需要进行拷贝的源卷数据,将所述源卷数据写入目标卷中;
[0010]当检测到来自同一快照数据的所有拆分数据相对应的源卷数据均拷贝到目标卷中时,重组模块将所述来自同一快照数据的所有拆分数据进行重组,得到与所述快照数据相同的重组快照数据,将所述重组快照数据写入源卷中。
[0011 ] 其中,所述预处理模块获取所述快照数据后还包括:
[0012]所述预处理模块判断所述快照数据是否大于源卷内块的容量;
[0013]若大于,则将所述快照数据进行拆分得到拆分数据。
[0014]其中,所述将所述快照数据进行拆分得到拆分数据包括:
[0015]确定源卷内块的容量;
[0016]根据所述块的容量对所述快照数据按照预定顺序进行拆分得到拆分数据,其中,得到的每个拆分数据的大小均不大于所述块的容量。
[0017]其中,将所述拆分数据按照所述预定顺序添加至处理队列。
[0018]其中,所述将所述快照数据进行拆分得到拆分数据后还包括:
[0019]所述预处理模块确定所述拆分数据的数目,将所述数目记录在所有所述拆分数据中,
[0020]并向所有所述拆分数据内添加拆分标识和快照标识;
[0021]其中,所述拆分标识用于确定所述拆分数据在所述快照数据内的位置信息,所述快照标识用于确定所述拆分数据与所述快照数据的对应关系,来自同一快照数据的拆分数据具有相同的快照标识。
[0022]其中,所述重组模块根据所述数目和所述快照标识来判断是否将来自同一快照数据的所有拆分数据相对应的源卷数据均拷贝到目标卷中。
[0023]其中,所述重组模块根据所述拆分标识来将所述来自同一快照数据的所有拆分数据进行重组。
[0024]—种写时拷贝快照系统,包括:预处理模块、拷贝模块和重组模块;其中,
[0025]所述预处理模块包括第一获取单元,拆分单元和添加单元,所述第一获取单元用于当检测到快照数据时,获取快照数据;所述拆分单元用于将所述快照数据进行拆分得到拆分数据;所述添加单元用于将所述拆分数据添加至处理队列;
[0026]所述拷贝模块包括第二获取单元和拷贝单元,所述第二获取单元用于当检测到所述处理队列中存在拆分数据时,按照预定次序获取所述处理队列中的拆分数据;所述拷贝单元用于根据所述获取的拆分数据确定需要进行拷贝的源卷数据,将所述源卷数据写入目标卷中;
[0027]所述重组模块包括重组单元和写入单元,所述重组单元用于当检测到来自同一快照数据的所有拆分数据相对应的源卷数据均拷贝到目标卷中时,将所述来自同一快照数据的所有拆分数据进行重组,得到与所述快照数据相同的重组快照数据;所述写入单元用于将所述重组快照数据写入源卷中。
[0028]其中,所述预处理模块还包括:判断单元,用于判断所述快照数据是否大于源卷内块的容量,当所述判断单元判定所述快照数据大于源卷内块的容量时,拆分单元将所述快照数据进行拆分得到拆分数据。
[0029]其中,所述预处理模块还包括:标识单元,用于确定所述拆分数据的数目,将所述数目记录在所有所述拆分数据中,并向所有所述拆分数据内添加拆分标识和快照标识;其中,所述拆分标识用于确定所述拆分数据在所述快照数据内的位置信息,所述快照标识用于确定所述拆分数据与所述快照数据的对应关系,来自同一快照数据的拆分数据具有相同的快照标识。
[0030]基于上述技术方案,本发明实施例提供的一种写时拷贝快照方法,用于写时拷贝快照系统,所述写时拷贝快照系统包括预处理模块、拷贝模块和重组模块,其中,在写时拷贝快照方法中,当检测到快照数据时,预处理模块则获取该快照数据,将该快照数据进行拆分得到拆分数据,然后将该拆分数据添加至处理队列,当检测到处理队列中存在拆分数据时,拷贝模块则按照预定次序获取该处理队列中的拆分数据,根据该获取的拆分数据确定需要进行拷贝的源卷数据,将该源卷数据写入目标卷中,当检测到来自同一快照数据的所有拆分数据相对应的源卷数据均拷贝到目标卷中时,重组模块就将该来自同一快照数据的所有拆分数据进行重组,
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1