数据拷贝方法和装置制造方法及图纸

技术编号:10945534 阅读:93 留言:0更新日期:2015-01-22 22:50
本发明专利技术提供了一种数据拷贝方法和装置,其中方法包括:根据拷贝任务,并行启动拷出线程和拷入线程,拷出线程从源卷中读出拷贝数据块加入顺序任务队列,如果拷贝数据块中有优先拷贝数据块,将优先拷贝数据块加入优先任务队列;若优先任务队列有优先拷贝数据块,拷入线程从优先任务队列获取优先拷贝数据块写入目标卷,并从顺序任务队列获取拷贝数据块写入目标卷。本发明专利技术通过拷出线程和拷入线程并行进行拷贝数据的读出和写入,提高数据拷贝的效率,通过顺序任务队列和优先任务队列,实现数据冲突情况下的优先拷贝,并保证拷贝数据一致性。

【技术实现步骤摘要】

本专利技术涉及灾备存储
,尤其涉及一种数据拷贝方法和装置。 
技术介绍
随着信息技术的发展,企业越来越依赖于数据处理来进行商业行为,因此,数据处理的高可靠性和高可用性越来越成为关键。尽管随着科学技术的发展,计算机系统的可靠性日益增加,但是由地震、洪水、火灾、战争等天灾人祸或由于软硬件故障而使网络设备整体无法正常工作等情况所造成的损失依然可以轻而易举地摧毁企业赖以生成的IT系统。所以,建立灾备系统对于极度依赖IT系统的企业便成了必然的选择。 数据拷贝是灾备系统中处理数据备份的一项基本内容,它是将数据从网络设备的一个数据卷复制到另一个数据卷,从而达到备份的目的。在数据拷贝的过程中,包括一次数据读出和一次数据写入。目前,数据拷贝采用串行方式进行数据读出和数据写入,例如,设定数据读出的卷为源卷,数据写入的卷为目标卷,当进行数据拷贝时,从源卷将全部需要备份的数据读出,然后将全部读出的数据再写入目标卷。进行灾备操作时往往需要备份大量数据,串行方式势必造成长时间的数据拷贝。另外,如果涉及到重要数据需要优先备份,目前也无法实现。 有鉴于此,需要一种改进的数据拷贝方法来解决现有技术的问题。 
技术实现思路
为了解决上述技术问题,本专利技术提供了一种数据拷贝方法和装置,能够提高数据拷贝的效率,以及保证数据冲突情况下数据的一致性。 为了达到本专利技术目的,本专利技术提供了一种数据拷贝方法,包括:网络设备根据拷贝任务,并行启动拷出线程和拷入线程,拷贝任务包括拷贝数据信息,源卷ID和目标卷ID;拷出线程根据源卷ID查找到源卷,根据拷贝数据 信息确定拷贝数据,并将拷贝数据划分为拷贝数据块,拷出线程根据目标卷ID查找到目标卷;拷出线程从源卷中读出拷贝数据块,将读出的拷贝数据块加入到顺序任务队列中,如果拷贝数据块中存在优先拷贝数据块,将优先拷贝数据块加入到优先任务队列中;在优先任务队列中有优先拷贝数据块时,拷入线程从优先任务队列中获取优先拷贝数据块写入目标卷,并从顺序任务队列中获取拷贝数据块写入目标卷。 进一步地,该方法之前还包括:网络设备接收拷贝请求,根据接收到的拷贝请求设置拷贝任务,以及设置与拷贝任务对应的拷出线程、拷入线程、顺序任务队列和优先任务队列。 进一步地,拷贝任务中的拷贝数据信息包括拷贝数据起始位置和结束位置,以及将拷贝数据划分为拷贝数据块的基本单位;根据拷贝数据信息确定拷贝数据,并将拷贝数据划分为拷贝数据块,包括:根据拷贝数据信息中的拷贝数据起始位置和结束位置确定拷贝数据,并根据拷贝数据信息中的基本单位将拷贝数据划分为拷贝数据块。 进一步地,该方法之前还包括:网络设备设置顺序任务队列的存储个数上限和第一间隔时间;拷出线程从源卷中读出拷贝数据块,将读出的拷贝数据块加入到顺序任务队列中,包括:拷出线程根据排列顺序从源卷中读出拷贝数据块,并将读出的拷贝数据块加入到顺序任务队列中,若顺序任务队列中拷贝数据块个数达到存储个数上限,拷出线程暂停从源卷中读出拷贝数据块,经过预先设置的第一间隔时间,拷出线程启动从源卷中读出拷贝数据块加入到顺序任务队列中。 进一步地,如果拷贝数据块中存在优先拷贝数据块,将优先拷贝数据块加入到优先任务队列中,包括: 进一步地,如果接收到数据读写请求,根据数据读写请求中请求数据的起始位置和结束位置,查找对应的拷贝数据块作为优先拷贝数据块,并将优先拷贝数据块加入到优先任务队列中。 进一步地,该方法之前还包括:网络设备设置第二时间间隔;拷入线程从优先任务队列获取优先拷贝数据块写入目标卷,并从顺序任务队列获取拷贝数据块写入目标卷,包括:拷入线程判断优先任务队列是否为空,如果优 先任务队列不为空,从优先任务队列中获取优先拷贝数据块写入目标卷的相应位置,如果优先任务队列为空,判断顺序任务队列是否为空;如果顺序任务队列不为空,从顺序任务队列中获取拷贝数据块写入目标卷的相应位置,如果顺序任务队列为空,判断是否所有拷贝数据块都拷贝完成;如果还有未拷贝完成的拷贝数据块,经过第二间隔时间,再次判断所有数据块是否都拷贝完成,如果所有拷贝数据块都拷贝完成,停止拷出线程和拷入线程。 进一步地,停止所述拷出线程和所述拷入线程后,该方法还包括:网络设备删除拷贝任务,以及和拷贝任务对应的拷出线程、拷入线程、顺序任务队列和优先任务队列。 本专利技术提供了一种数据拷贝装置,包括:启动模块,用于根据拷贝任务,并行启动拷出线程和拷入线程,拷贝任务包括拷贝数据信息,源卷ID和目标卷ID;拷出线程,用于根据源卷ID查找到源卷,根据拷贝数据信息确定拷贝数据,并将拷贝数据划分为拷贝数据块;从源卷中读出拷贝数据块,并将读出的拷贝数据块加入到顺序任务队列中,如果拷贝数据块中存在优先拷贝数据块,将优先拷贝数据块加入到优先任务队列中;拷入线程,用于在优先任务队列中有优先拷贝数据块时,从优先任务队列中获取优先拷贝数据块写入目标卷,并从顺序任务队列中获取拷贝数据块写入目标卷。 进一步地,该装置还包括:接收模块,用于接收拷贝请求;设置模块,用于根据拷贝请求设置拷贝任务,以及设置与拷贝任务对应的拷出线程、拷入线程、顺序任务队列和优先任务队列。 进一步地,拷贝任务中的拷贝数据信息包括拷贝数据起始位置和结束位置,以及将拷贝数据划分为拷贝数据块的基本单位;拷出线程,用于根据拷贝数据信息确定拷贝数据,并将拷贝数据划分为拷贝数据块,具体为:拷出线程用于根据拷贝数据信息中的拷贝数据起始位置和结束位置确定拷贝数据,并根据拷贝数据信息中的基本单位将拷贝数据划分为拷贝数据块。 进一步地,所述设置模块,还用于设置顺序任务队列的存储个数上限和第一间隔时间;拷出线程,用于从源卷中读出拷贝数据块,并将读出的拷贝数据块加入到顺序任务队列中,具体为:拷出线程用于根据排列顺序从源卷中读出拷贝数据块,并将读出的拷贝数据块加入到顺序任务队列中,若顺序 任务队列中拷贝数据块个数达到存储个数上限,暂停从源卷中读出拷贝数据块,经过预先设置的第一间隔时间后,启动从源卷中读出拷贝数据块加入到顺序任务队列中。 进一步地,拷出线程,用于如果拷贝数据块中存在优先拷贝数据块,将优先拷贝数据块加入到优先任务队列中,具体为:拷出线程用于如果接收到数据读写请求,根据数据读写请求中请求数据的起始位置和结束位置,查找对应的拷贝数据块作为优先拷贝数据块,并将优先拷贝数据块加入到优先任务队列中。 进一步地,设置模块,还用于设置第二时间间隔;拷入线程,用于在优先任务队列中有优先拷贝数据块时,从优先任务队列中获取优先拷贝数据块写入目标卷,并从顺序任务队列中获取拷贝数据块写入目标卷,具体为:拷入线程用于判断优先任务队列是否为空,如果优先任务队列不为空,从优先任务队列中获取优先拷贝数据块写入目标卷的相应位置,如果优先任务队列为空,判断顺序任务队列是否为空;如果顺序任务队列不为空,从顺序任务队列中获取拷贝数据块写入目标卷的相应位置,如果顺序任务队列为空,判断是否所有拷贝数据块都拷贝完成;如果还有未拷贝完成的拷贝数据块,经过第二间隔时间后,再次判断所有数据块是否都拷贝完成,如果所有拷本文档来自技高网...
数据拷贝方法和装置

【技术保护点】
一种数据拷贝方法,其特征在于,包括:网络设备根据拷贝任务,并行启动拷出线程和拷入线程,所述拷贝任务包括拷贝数据信息,源卷身份标识ID和目标卷ID;所述拷出线程根据源卷ID查找到源卷,根据拷贝数据信息确定拷贝数据,并将拷贝数据划分为拷贝数据块,拷出线程根据目标卷ID查找到目标卷;所述拷出线程从源卷中读出拷贝数据块,将读出的拷贝数据块加入到顺序任务队列中,如果拷贝数据块中存在优先拷贝数据块,将优先拷贝数据块加入到优先任务队列中;在优先任务队列中有优先拷贝数据块时,所述拷入线程从优先任务队列中获取优先拷贝数据块写入目标卷,并从顺序任务队列中获取拷贝数据块写入目标卷。

【技术特征摘要】
1.一种数据拷贝方法,其特征在于,包括:
网络设备根据拷贝任务,并行启动拷出线程和拷入线程,所述拷贝任务
包括拷贝数据信息,源卷身份标识ID和目标卷ID;
所述拷出线程根据源卷ID查找到源卷,根据拷贝数据信息确定拷贝数
据,并将拷贝数据划分为拷贝数据块,拷出线程根据目标卷ID查找到目标
卷;
所述拷出线程从源卷中读出拷贝数据块,将读出的拷贝数据块加入到顺
序任务队列中,如果拷贝数据块中存在优先拷贝数据块,将优先拷贝数据块
加入到优先任务队列中;
在优先任务队列中有优先拷贝数据块时,所述拷入线程从优先任务队列
中获取优先拷贝数据块写入目标卷,并从顺序任务队列中获取拷贝数据块写
入目标卷。
2.根据权利要求1所述的数据拷贝方法,其特征在于,该方法之前还
包括:
所述网络设备接收拷贝请求,根据接收到的拷贝请求设置所述拷贝任
务,以及设置与所述拷贝任务对应的拷出线程、拷入线程、顺序任务队列和
优先任务队列。
3.根据权利要求1或2所述的数据拷贝方法,其特征在于,所述拷贝
任务中的拷贝数据信息包括拷贝数据起始位置和结束位置,以及将拷贝数据
划分为拷贝数据块的基本单位;
所述根据拷贝数据信息确定拷贝数据,并将拷贝数据划分为拷贝数据块,
包括:
根据所述拷贝数据信息中的拷贝数据起始位置和结束位置确定拷贝数
据,并根据所述拷贝数据信息中的基本单位将拷贝数据划分为拷贝数据块。
4.根据权利要求1或2所述的数据拷贝方法,其特征在于,该方法之
前还包括:所述网络设备设置顺序任务队列的存储个数上限和第一间隔时间;
所述拷出线程从源卷中读出拷贝数据块,将读出的拷贝数据块加入到顺
序任务队列中,包括:
所述拷出线程根据排列顺序从源卷中读出拷贝数据块,并将读出的拷贝
数据块加入到顺序任务队列中,若所述顺序任务队列中拷贝数据块个数达到
存储个数上限,所述拷出线程暂停从源卷中读出拷贝数据块,经过预先设置
的第一间隔时间,所述拷出线程启动从源卷中读出拷贝数据块加入到所述顺
序任务队列中。
5.根据权利要求1或2所述的数据拷贝方法,其特征在于,所述如果
拷贝数据块中存在优先拷贝数据块,将优先拷贝数据块加入到优先任务队列
中,包括:
如果接收到数据读写请求,根据所述数据读写请求中请求数据的起始位
置和结束位置,查找对应的拷贝数据块作为优先拷贝数据块,并将所述优先
拷贝数据块加入到所述优先任务队列中。
6.根据权利要求1或5所述的数据拷贝方法,其特征在于,该方法之
前还包括:所述网络设备设置第二时间间隔;
所述拷入线程从优先任务队列获取优先拷贝数据块写入目标卷,并从所
述顺序任务队列获取拷贝数据块写入目标卷,包括:
所述拷入线程判断优先任务队列是否为空,如果所述优先任务队列不为
空,从所述优先任务队列中获取优先拷贝数据块写入目标卷的相应位置,如
果所述优先任务队列为空,判断所述顺序任务队列是否为空;
如果所述顺序任务队列不为空,从所述顺序任务队列中获取拷贝数据块
写入目标卷的相应位置,如果所述顺序任务队列为空,判断是否所有拷贝数
据块都拷贝完成;如果还有未拷贝完成的拷贝数据块,经过所述第二间隔时
间,再次判断所有数据块是否都拷贝完成,如果所有拷贝数据块都拷贝完成,
停止所述拷出线程和所述拷入线程。
7.根据权利要求6所述的数据拷贝方法,其特征在于,所述停止所述
拷出线程和所述拷入线程后,该方法还包括:
所述网络设备删除所述拷贝任务,以及和所述拷贝任务对应的拷出线程、

\t拷入线程、顺序任务队列和优先任务队列。
8.一种数据拷贝装...

【专利技术属性】
技术研发人员:王倩孙承碧王旭
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1