CN101482838A - 基于写时拷贝的数据写入方法及设备 - Google Patents

基于写时拷贝的数据写入方法及设备 Download PDF

Info

Publication number
CN101482838A
CN101482838A CNA2009100086317A CN200910008631A CN101482838A CN 101482838 A CN101482838 A CN 101482838A CN A2009100086317 A CNA2009100086317 A CN A2009100086317A CN 200910008631 A CN200910008631 A CN 200910008631A CN 101482838 A CN101482838 A CN 101482838A
Authority
CN
China
Prior art keywords
data
cache memory
data block
write
written
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
CNA2009100086317A
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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CNA2009100086317A priority Critical patent/CN101482838A/zh
Publication of CN101482838A publication Critical patent/CN101482838A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于写时拷贝的数据写入方法及设备,所述方法包括以下步骤:接收来自外部设备的写请求数据;在所述源数据区中为所述写请求数据分配数据块;判断所述分配的数据块是否第一次被写入,若判断结果为是,将所述源数据区中分配的数据块中的原有的数据写入所述高速缓冲存储器中,将所述写请求数据写入到所述分配的数据块中,若判断结果为否,直接将所述写请求数据写入所述分配的数据块中;若达到设定的刷新条件,将所述高速缓冲存储器中的数据写入所述快照空间。本发明中,先将需要进行写时拷贝的数据写入高速缓冲存储器中,然后将写请求数据写入到源数据区中,缩短了对来自外部设备的写请求的响应时间。

Description

基于写时拷贝的数据写入方法及设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于写时拷贝的数据写入方法及设备。
背景技术
目前,磁盘阵列技术已广泛应用于数据存储中,磁盘阵列技术可以在一定程度上减少由于磁盘物理故障造成的数据丢失和损坏。但是在实际应用中,由于软件错误、人为失误、病毒攻击等软故障造成的数据丢失和损坏的概率要比物理故障高得多,而单纯采用磁盘阵列技术无法解决这类软故障造成的数据丢失问题。
快照技术是一种有效的在线备份方法,快照技术的原理是在硬盘等存储设备中虚拟出一个快照空间,根据设定的规则创建数据在某时刻的一个瞬时映像,然后将该瞬时映像存储在快照空间中,当数据由于软故障而需要恢复时,即可根据快照空间中存储瞬时映像将数据区中的数据恢复到快照时间点的状态。在磁盘阵列中采用快照技术可以将软、硬件保护方法结合起来,从而提高数据的可靠性。快照技术按实现方法划分,主要有三种方式:分离镜像(Split Mirror)、写时拷贝(Copy-On-Write)和写重定向(Redirect-On-Write)。其中写时拷贝方法因占用空间小,创建快照时间短等优点,广泛地应用在各种快照系统中。
现有的基于写时拷贝的数据写入方法应用于包括源数据区和快照空间的存储设备中,每次启动快照功能后,若来自外部设备的写请求数据在被写入源数据区前需要对源数据区中的数据进行写时拷贝,则要分以下三个步骤进行写请求数据的写入:(1)从源数据区中读出需要进行写时拷贝的数据;(2)将从源数据区读出的数据写入快照空间;(3)将来自外部设备的写请求数据写入源数据区的相应位置。这三个步骤是串行执行的,即来自外部设备的写请求数据需要等待源数据区中需要进行写时拷贝的数据被写入到快照空间后,才能被写入到源数据区,对来自外部设备的写请求响应时间较长。
发明内容
本发明提供了一种基于写时拷贝的数据写入方法及设备,缩短了对来自外部设备的写请求的响应时间。
本发明提供了一种基于写时拷贝的数据写入方法,应用于包括源数据区、快照空间和高速缓冲存储器的存储设备中,所述方法包括以下步骤:
接收写请求数据;
在所述源数据区中为所述写请求数据分配数据块;
判断所述分配的数据块是否第一次被写入,若判断结果为是,将所述源数据区中分配的数据块中的原有的数据写入所述高速缓冲存储器中,将所述写请求数据写入所述分配的数据块中,若判断结果为否,直接将所述写请求数据写入所述分配的数据块中;若达到设定的刷新条件,将所述高速缓冲存储器中的数据写入所述快照空间。
其中,还包括:
在写时拷贝功能启动后,将所述源数据区中所有数据块对应的位图的比特位设置为无效;
所述判断所述分配的数据块是否第一次被写入包括:
根据与所述分配的数据块对应的位图的比特位判断所述分配的数据块是否第一次被写入,若所述比特位为无效,则判断所述分配的数据块是第一次被写入,若所述比特位为有效,则判断所述分配的数据块不是第一次被写入;
所述将所述分配的数据块中的原有的数据写入所述高速缓冲存储器中之后,还包括:
将所述分配的数据块对应的位图的比特位设置为有效。
其中,所述将源数据区中分配的数据块中的原有的数据写入所述高速缓冲存储器中包括:
在所述快照空间中为所述源数据区中原有的数据分配数据块;
根据所述高速缓冲存储器与所述快照空间的地址映像对应关系确定所述快照空间中分配的数据块对应的所述高速缓冲存储器的数据块地址;
将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中。
其中,所述若达到设定的刷新条件,将所述高速缓冲存储器中的数据写入所述快照空间包括:
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之后,在时间长度阈值范围内没有再向所述高速缓冲存储器中写入数据,将所述高速缓冲存储器中的数据写入所述快照空间;或
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之后,所述高速缓冲存储器的总存储容量达到存储容量阈值,将所述高速缓冲存储器中的数据写入所述快照空间。
其中,所述若达到设定的刷新条件,将所述高速缓冲存储器中的数据写入所述快照空间包括:
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之前,所述确定的高速缓冲存储器的数据块中已经存储了数据,将所述高速缓冲存储器中的数据写入所述快照空间。
本发明还提供了一种应用本发明方法的设备,所述设备包括源数据区、快照空间和高速缓冲存储器,所述设备至少还包括:
接收模块,用于接收来自外部设备的写请求数据;
分配模块,与所述接收模块连接,用于在所述源数据区中为所述接收模块接收的写请求数据分配数据块;
判断模块,与所述分配模块连接,用于判断所述分配模块分配的数据块是否第一次被写入数据;
处理模块,与所述接收模块、所述分配模块和所述判断模块分别连接,用于若所述判断模块的判断结果为是,将所述分配模块分配的数据块中的原有的数据写入所述高速缓冲存储器中,将所述接收模块接收的写请求数据写入到所述分配模块分配的数据块中,若所述判断模块的判断结果为否,直接将所述写请求数据写入到所述分配的数据块中;若达到设定的刷新条件,将所述高速缓冲存储器中的数据写入所述快照空间。
其中,所述设备还包括设置模块,
则所述设置模块,还与所述分配模块连接,用于写时拷贝功能启动后,将所述源数据区中所有数据块对应的位图的比特位设置为无效;在所述处理模块将所述分配模块分配的数据块中的原有的数据写入所述高速缓冲存储器中之后,将所述分配模块分配的数据块对应的位图的比特位设置为有效;
所述判断模块,与所述设置模块连接,具体用于根据所述设置模块设置的位图的比特位判断所述分配的数据块是否第一次被写入,若所述比特位为无效,则判断所述分配的数据块是第一次被写入,若所述比特位为有效,则判断所述分配的数据块不是第一次被写入。
其中,所述处理模块具体用于:
若所述判断模块的判断结果为是,在所述快照空间中为所述源数据区中原有的数据分配数据块;
根据所述高速缓冲存储器与所述快照空间的地址映像对应关系确定所述快照空间中分配的数据块对应的所述高速缓冲存储器的数据块地址;
将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中;
将所述写请求数据写入所述源数据区中。
其中,所述处理模块进一步用于:
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之后,在时间长度阈值范围内没有再向所述高速缓冲存储器中写入数据,将所述高速缓冲存储器中的数据写入所述快照空间;或
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之后,所述高速缓冲存储器的总存储容量达到存储容量阈值,将所述高速缓冲存储器中的数据写入所述快照空间。
其中,所述处理模块进一步用于:
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之前,所述确定的高速缓冲存储器的数据块中已经存储了数据,将所述高速缓冲存储器中的数据写入所述快照空间。
本发明中,先将源数据区中需要进行写时拷贝的数据写入高速缓冲存储器中,然后将写请求数据写入到源数据区中,若达到设定的刷新条件,将高速缓冲存储器中的数据写入快照空间。由于将数据写入高速缓冲存储器中的速度远高于将数据写入存储设备的快照空间中的速度,和现有技术相比,缩短了对来自外部设备的写请求的响应时间。
附图说明
图1是本发明中一种基于写时拷贝的数据写入方法流程图;
图2是本发明中一种基于写时拷贝的数据写入方法流程图;
图3是本发明中一种高速缓冲存储器与快照空间的映射关系示意图;
图4是本发明中一种基于写时拷贝的数据写入方法流程图;
图5是本发明中一种实现基于写时拷贝的数据写入方法的设备结构示意图。
具体实施方式
本发明主要提供了一种基于写时拷贝的数据写入方法,主要思路是:本发明中,先将源数据区中需要进行写时拷贝的数据写入高速缓冲存储器中,然后将写请求数据写入到源数据区中,若达到设定的刷新条件,将高速缓冲存储器中的数据写入快照空间。由于将数据写入高速缓冲存储器中的速度远高于将数据写入存储设备的快照空间中的速度,和现有技术相比,缩短了对来自外部设备的写请求的响应时间。
本发明提出了一种基于写时拷贝的数据写入的方法,应用于包括源数据区、快照空间和高速缓冲存储器的存储设备中,所述源数据区和所述快照空间可以是通过RAID技术虚拟的存储空间,所述方法如图1所示,包括以下步骤:
步骤101,接收来自外部设备的写请求数据。
步骤102,在源数据区中为写请求数据分配数据块。
步骤103,判断分配的数据块是否第一次被写入,若判断结果为是,将源数据区中分配的数据块中的原有的数据写入高速缓冲存储器中,将写请求数据写入分配的数据块中,若判断结果为否,直接将写请求数据写入分配的数据块中;若达到设定的刷新条件,将高速缓冲存储器中的数据写入快照空间。
在写时拷贝功能启动后,可以将源数据区中所有数据块对应的位图的比特位设置为无效。则在步骤103中,可以根据与分配的数据块对应的位图的比特位判断分配的数据块是否第一次被写入,若位图的比特位为无效,则判断分配的数据块是第一次被写入,若位图的比特位为有效,则判断分配的数据块不是第一次被写入。则将分配的数据块中的原有的数据写入高速缓冲存储器中之后,还可以包括:将分配的数据块对应的位图的比特位设置为有效。
步骤103中,将源数据区中分配的数据块中的原有的数据写入高速缓冲存储器中可以包括:在快照空间中为源数据区中原有的数据分配数据块;根据高速缓冲存储器与快照空间的地址映像对应关系确定快照空间中分配的数据块对应的高速缓冲存储器的数据块地址;将源数据区中原有的数据写入到确定的高速缓冲存储器的数据块地址中。
步骤103中,若达到设定的刷新条件,将高速缓冲存储器中的数据写入快照空间可以包括:
若将源数据区中原有的数据写入到确定的高速缓冲存储器的数据块地址中之后,在时间长度阈值范围内没有再向高速缓冲存储器中写入数据,则将高速缓冲存储器中的数据写入快照空间;或
若将源数据区中原有的数据写入到确定的高速缓冲存储器的数据块地址中之后,高速缓冲存储器的总存储容量达到存储容量阈值,则将高速缓冲存储器中的数据写入快照空间;或
若将源数据区中原有的数据写入到确定的高速缓冲存储器的数据块地址中之前,确定的高速缓冲存储器的数据块中已经存储了数据,则将高速缓冲存储器中的数据写入快照空间。
具体地,本发明提出了一种基于写时拷贝的数据写入方法,应用于包括源数据区、快照空间和高速缓冲存储器的存储设备中,所述源数据区和快照空间可以是通过RAID技术虚拟的存储空间,所述方法如图2所示,包括以下步骤:
步骤201,接收来自外部设备的写请求数据。
步骤202,在源数据区中为写请求数据分配数据块。
可以根据写请求数据的长度和源数据区中数据块的大小对写请求数据进行拆分,之后,根据设定的规则为拆分后的数据分配数据块空间,即将源数据区中的数据块资源分配给写请求数据。
步骤203,判断为写请求数据分配的数据块在写时拷贝功能启动后是否第一次被写入。若判断结果为是,转步骤204,若判断结果为否,转步骤205。
可以根据与源数据区中的数据块对应的位图的比特位判断为写请求数据分配的数据块是否第一次被写入。
在写时拷贝功能启动后,存储设备会创建一个和源数据区中的数据块对应的位图,该位图的每个比特位对应源数据区中的一个数据块,在创建该位图时,位图的所有比特位都被设置为无效,具体的,可以将位图的所有比特位都初始化设置为0或都设置为1,以0或1作为无效标记。当为写入数据分配了数据块资源后,可以根据位图的比特位是否为无效标记判断为写请求数据分配的数据块是否第一次被写入。若为一个写请求数据分配的数据块有多个,则需要判断多个数据块中的每个是否第一次被写入。
步骤204,将源数据区中的原有的数据写入高速缓冲存储器中。
在将数据写入高速缓冲存储器的过程中,首先要为源数据区中需要进行写时拷贝的原有的数据在快照空间中分配数据块资源,然后根据高速缓冲存储器与快照空间的地址映像对应关系确定写入高速缓冲存储器的数据块地址,最后根据确定好的数据块地址将需要进行写时拷贝的数据写入到高速缓冲存储器中。
高速缓冲存储器与快照空间的地址映像方式可以有如下3种:全相联方式、直接相联方式和组相连方式。例如,可以设置高速缓冲存储器与快照空间采用如图3所示的直接相联映射方式,即根据高速缓冲存储器的存储容量将快照空间分区,每个区的数据块数量与高速缓冲存储器的数据块数量相同,快照空间中各区内块号相同的数据块都分别与高速缓冲存储器中块号相同的数据块进行映射,即高速缓冲存储器的数据块0与快照空间的不同区的数据块0进行映射,高速缓冲存储器的数据块1与快照空间的不同区的数据块1进行映射...若为源数据区中需要进行写时拷贝的数据在快照空间中分配的数据块资源为区1的数据块0,则根据映射规则需要将数据写入到高速缓冲存储器的数据块0中。
若源数据区中第一次被写入的数据块有多个,则需要根据映射规则将该多个数据块中原有的数据都写入高速缓冲存储器中。若需要写入数据的高速缓冲存储器的数据块已经保存了数据,则需要先将高速缓冲存储器中存储的数据写入到快照空间,然后将需要进行写时拷贝的数据写入到高速缓冲存储器中。需要指出的是,将数据写入高速缓冲存储器中的速度远高于将数据写入固态硬盘的虚拟快照空间中的速度,耗费的时间与将数据写入固态硬盘的虚拟快照空间中所耗费的时间相比几乎可以忽略不计。
步骤205,将写请求数据写入到源数据区中。
在将第一次被写入的数据块中的原有数据写入到高速缓冲存储器后,或者在判断为写请求数据分配的数据块不是第一次被写入之后,将写请求数据写入到源数据区中。
若被写入数据的数据块是第一次被写入数据,则在写入数据后,还需要将该数据块对应的位图的比特位设置为有效。如果位图的比特位以0作为无效标记,则将该数据块对应的位图的比特位设置为1;如果位图的比特位以1作为无效标记,则将该数据块对应的位图的比特位设置为0。
步骤206,判断是否达到高速缓冲存储器的刷新条件。若判断结果为是,转步骤207,若判断结果为否,则结束流程。
步骤207,将高速缓冲存储器中的数据写入快照空间。
高速缓冲存储器的刷新条件(flush条件)可以设置为如下两个:1.可以设置一个时间长度阈值,若在该时间长度阈值范围内没有向高速缓冲存储器中写入数据,则将高速缓冲存储器中存储的数据写入到快照空间,具体的,可以将高速缓冲存储器中存储的所有数据都写入到快照空间中。这样做可以保证高速缓冲存储器中不会长时间保存快照数据,从而避免由于断电等突发原因造成的快照数据丢失。具体的,可以设置时间长度阈值为两分钟。2.设置一个存储容量阈值,当高速缓冲存储器的总存储容量达到存储容量阈值时,则将高速缓冲存储器中存储的数据写入到快照空间。具体的,可以将高速缓冲存储器中存储的所有数据都写入到快照空间中,也可以将高速缓冲存储器中存储的一部分数据写入到快照空间中。具体的,可以将高速缓冲存储器的存储容量阈值设置为高速缓冲存储器的总存储容量的80%。
具体地,本发明提出了一种基于写时拷贝的数据写入方法,应用于包括源数据区、快照空间和高速缓冲存储器的存储设备中,所述源数据区和快照空间可以是通过RAID技术虚拟的存储空间,所述方法如图4所示,包括以下步骤:
步骤401,接收来自外部设备的写请求数据。
步骤402,在源数据区中为写请求数据分配数据块。
可以根据写请求数据的长度和源数据区中数据块的大小对写请求数据进行拆分,之后,根据设定的规则为拆分后的数据分配数据块空间,即将源数据区中的数据块资源分配给写请求数据。
步骤403,判断为写请求数据分配的数据块是否第一次被写入。若判断结果为是,转步骤404,若判断结果为否,转步骤407。
可以根据与源数据区中的数据块对应的位图的比特位判断为写请求数据分配的数据块是否第一次被写入。
步骤404,为源数据区中需要进行写时拷贝的原有的数据在快照空间中分配数据块资源,并根据高速缓冲存储器与快照空间的地址映像对应关系确定写入高速缓冲存储器的数据块地址。
步骤405,判断高速缓冲存储器中需要写入数据的数据块中是否已经存储了数据,若判断结果为是,转步骤406,若判断结果为否,转步骤407。
步骤406,将高速缓冲存储器中的数据写入快照空间。
具体的,可以将高速缓冲存储器中存储的所有数据都写入到快照空间中,也可以只将需要写入数据的数据块中已经存储的数据写入到快照空间中。
步骤407,将源数据区中的原有的数据写入确定的高速缓冲存储器的数据块地址中。
步骤408,将写请求数据写入到源数据区中。
本发明还提供了一种与本发明方法对应的设备,所述设备包括源数据区、快照空间和高速缓冲存储器,所述源数据区和快照空间可以是通过RAID技术虚拟的存储空间,如图5所示,所述设备还包括:接收模块501、分配模块502、设置模块503、判断模块504和处理模块505,其中,
接收模块501,用于接收来自外部设备的写请求数据。
分配模块502,与接收模块501连接,用于在源数据区中为接收模块501接收的写请求数据分配数据块。
可以根据写请求数据的长度和源数据区中数据块的大小对写请求数据进行拆分,之后,根据设定的规则为拆分后的数据分配数据块空间,即将源数据区中的数据块资源分配给写请求数据。
设置模块503,与分配模块502连接,用于在写时拷贝功能启动后,将所述源数据区中所有数据块对应的位图的比特位设置为无效,具体的,可以将位图的所有比特位都初始化设置为0或都设置为1,以0或1作为无效标记;在处理模块505将分配模块502分配的数据块中的原有的数据写入所述高速缓冲存储器中之后,将分配模块502分配的数据块对应的位图的比特位设置为有效。
判断模块504,与分配模块502和设置模块503分别连接,用于根据设置模块503设置的位图的比特位判断分配模块502分配的数据块是否第一次被写入,若所述比特位为无效,则判断所述分配的数据块是第一次被写入,若所述比特位为有效,则判断所述分配的数据块不是第一次被写入。
处理模块505,与接收模块501、分配模块502和判断模块504分别连接,用于若判断模块504的判断结果为是,将分配模块502分配的数据块中的原有的数据写入高速缓冲存储器中,将接收模块501接收的写请求数据写入到分配模块502分配的数据块中,若判断模块504的判断结果为否,直接将接收模块501接收的写请求数据写入到分配模块502分配的数据块中;若达到设定的刷新条件,将所述高速缓冲存储器中的数据写入所述快照空间。
处理模块505具体用于:
若判断模块504的判断结果为是,在所述快照空间中为所述源数据区中原有的数据分配数据块。
根据所述高速缓冲存储器与所述快照空间的地址映像对应关系确定所述快照空间中分配的数据块对应的所述高速缓冲存储器的数据块地址。具体的,高速缓冲存储器与快照空间的地址映像方式可以有如下3种:全相联方式、直接相联方式和组相连方式。例如,可以设置高速缓冲存储器与快照空间采用如图3所示的直接相联映射方式,即根据高速缓冲存储器的存储容量将快照空间分区,每个区的数据块数量与高速缓冲存储器的数据块数量相同,快照空间中各区内块号相同的数据块都分别与高速缓冲存储器中块号相同的数据块进行映射。则处理模块505需要根据高速缓冲存储器与快照空间的直接相联映射关系确定快照空间中分配的数据块对应的所述高速缓冲存储器的数据块地址。
将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中。具体的,若源数据区中第一次被写入的数据块有多个,则需要根据映射规则将该多个数据块中原有的数据都写入高速缓冲存储器中。若需要写入数据的高速缓冲存储器的数据块已经保存了数据,则需要先将高速缓冲存储器中存储的数据写入到快照空间,然后将需要进行写时拷贝的数据写入到高速缓冲存储器中。
将所述写请求数据写入所述源数据区中。
处理模块505进一步用于:
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之后,在时间长度阈值范围内没有再向所述高速缓冲存储器中写入数据,将所述高速缓冲存储器中的数据写入所述快照空间。具体的,可以将高速缓冲存储器中存储的所有数据都写入到快照空间中。这样做可以保证高速缓冲存储器中不会长时间保存快照数据,从而避免由于断电等突发原因造成的快照数据丢失。具体的,可以设置时间长度阈值为两分钟;或
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之后,所述高速缓冲存储器的总存储容量达到存储容量阈值,将所述高速缓冲存储器中的数据写入所述快照空间。具体的,可以将高速缓冲存储器中存储的所有数据都写入到快照空间中,也可以将高速缓冲存储器中存储的一部分数据写入到快照空间中。具体的,可以将高速缓冲存储器的存储容量阈值设置在总存储容量的80%;或
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之前,所述确定的高速缓冲存储器的数据块中已经存储了数据,将所述高速缓冲存储器中的数据写入所述快照空间。具体的,可以将高速缓冲存储器中存储的所有数据都写入到快照空间中,也可以只将需要写入数据的数据块中已经存储的数据写入到快照空间中。
本发明中,先将源数据区中需要进行写时拷贝的数据写入高速缓冲存储器中,然后将写请求数据写入到源数据区中,若达到设定的刷新条件,将高速缓冲存储器中的数据写入快照空间。由于将数据写入高速缓冲存储器中的速度远高于将数据写入存储设备的快照空间中的速度,和现有技术相比,缩短了对来自外部设备的写请求的响应时间。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

1、一种基于写时拷贝的数据写入方法,应用于包括源数据区、快照空间和高速缓冲存储器的存储设备中,其特征在于,所述方法包括以下步骤:
接收来自外部设备的写请求数据;
在所述源数据区中为所述写请求数据分配数据块;
判断所述分配的数据块是否第一次被写入,若判断结果为是,将所述源数据区中分配的数据块中的原有的数据写入所述高速缓冲存储器中,将所述写请求数据写入所述分配的数据块中,若判断结果为否,直接将所述写请求数据写入所述分配的数据块中;若达到设定的刷新条件,将所述高速缓冲存储器中的数据写入所述快照空间。
2、如权利要求1所述的方法,其特征在于,还包括:
在写时拷贝功能启动后,将所述源数据区中所有数据块对应的位图的比特位设置为无效;
所述判断所述分配的数据块是否第一次被写入包括:
根据与所述分配的数据块对应的位图的比特位判断所述分配的数据块是否第一次被写入,若所述比特位为无效,则判断所述分配的数据块是第一次被写入,若所述比特位为有效,则判断所述分配的数据块不是第一次被写入;
所述将所述分配的数据块中的原有的数据写入所述高速缓冲存储器中之后,还包括:
将所述分配的数据块对应的位图的比特位设置为有效。
3、如权利要求1所述的方法,其特征在于,所述将源数据区中分配的数据块中的原有的数据写入所述高速缓冲存储器中包括:
在所述快照空间中为所述源数据区中原有的数据分配数据块;
根据所述高速缓冲存储器与所述快照空间的地址映像对应关系确定所述快照空间中分配的数据块对应的所述高速缓冲存储器的数据块地址;
将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中。
4、如权利要求3所述的方法,其特征在于,所述若达到设定的刷新条件,将所述高速缓冲存储器中的数据写入所述快照空间包括:
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之后,在时间长度阈值范围内没有再向所述高速缓冲存储器中写入数据,将所述高速缓冲存储器中的数据写入所述快照空间;或
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之后,所述高速缓冲存储器的总存储容量达到存储容量阈值,将所述高速缓冲存储器中的数据写入所述快照空间。
5、如权利要求3所述的方法,其特征在于,所述若达到设定的刷新条件,将所述高速缓冲存储器中的数据写入所述快照空间包括:
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之前,所述确定的高速缓冲存储器的数据块中已经存储了数据,将所述高速缓冲存储器中的数据写入所述快照空间。
6、一种应用本发明方法的存储设备,所述设备包括源数据区、快照空间和高速缓冲存储器,其特征在于,所述设备至少还包括:
接收模块,用于接收来自外部设备的写请求数据;
分配模块,与所述接收模块连接,用于在所述源数据区中为所述接收模块接收的写请求数据分配数据块;
判断模块,与所述分配模块连接,用于判断所述分配模块分配的数据块是否第一次被写入数据;
处理模块,与所述接收模块、所述分配模块和所述判断模块分别连接,用于若所述判断模块的判断结果为是,将所述分配模块分配的数据块中的原有的数据写入所述高速缓冲存储器中,将所述接收模块接收的写请求数据写入到所述分配模块分配的数据块中,若所述判断模块的判断结果为否,直接将所述写请求数据写入到所述分配的数据块中;若达到设定的刷新条件,将所述高速缓冲存储器中的数据写入所述快照空间。
7、如权利要求6所述的存储设备,其特征在于,所述设备还包括设置模块,
所述设置模块,与所述分配模块连接,用于在写时拷贝功能启动后,将所述源数据区中所有数据块对应的位图的比特位设置为无效;在所述处理模块将所述分配模块分配的数据块中的原有的数据写入所述高速缓冲存储器中之后,将所述分配模块分配的数据块对应的位图的比特位设置为有效;
则所述判断模块,还与所述设置模块连接,具体用于根据所述设置模块设置的位图的比特位判断所述分配的数据块是否第一次被写入,若所述比特位为无效,则判断所述分配的数据块是第一次被写入,若所述比特位为有效,则判断所述分配的数据块不是第一次被写入。
8、如权利要求6所述的存储设备,其特征在于,所述处理模块具体用于:
若所述判断模块的判断结果为是,在所述快照空间中为所述源数据区中原有的数据分配数据块;
根据所述高速缓冲存储器与所述快照空间的地址映像对应关系确定所述快照空间中分配的数据块对应的所述高速缓冲存储器的数据块地址;
将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中;
将所述写请求数据写入所述源数据区中。
9、如权利要求8所述的存储设备,其特征在于,所述处理模块进一步用于:
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之后,在时间长度阈值范围内没有再向所述高速缓冲存储器中写入数据,将所述高速缓冲存储器中的数据写入所述快照空间;或
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之后,所述高速缓冲存储器的总存储容量达到存储容量阈值,将所述高速缓冲存储器中的数据写入所述快照空间。
10、如权利要求8所述的存储设备,其特征在于,所述处理模块进一步用于:
若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数据块地址中之前,所述确定的高速缓冲存储器的数据块中已经存储了数据,将所述高速缓冲存储器中的数据写入所述快照空间。
CNA2009100086317A 2009-02-06 2009-02-06 基于写时拷贝的数据写入方法及设备 Pending CN101482838A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2009100086317A CN101482838A (zh) 2009-02-06 2009-02-06 基于写时拷贝的数据写入方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2009100086317A CN101482838A (zh) 2009-02-06 2009-02-06 基于写时拷贝的数据写入方法及设备

Publications (1)

Publication Number Publication Date
CN101482838A true CN101482838A (zh) 2009-07-15

Family

ID=40879961

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2009100086317A Pending CN101482838A (zh) 2009-02-06 2009-02-06 基于写时拷贝的数据写入方法及设备

Country Status (1)

Country Link
CN (1) CN101482838A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289510A (zh) * 2011-08-31 2011-12-21 成都市华为赛门铁克科技有限公司 向生产卷写入数据的方法和装置
CN102043687B (zh) * 2009-10-20 2012-07-25 杭州华三通信技术有限公司 实现数据快照的首写拷贝装置及控制方法
CN103412824A (zh) * 2013-07-19 2013-11-27 华为技术有限公司 写时拷贝快照方法及装置
CN103412798A (zh) * 2013-07-18 2013-11-27 记忆科技(深圳)有限公司 混合存储快照的实现方法及系统
CN104407933A (zh) * 2014-10-31 2015-03-11 华为技术有限公司 一种数据的备份方法及装置
CN104461930A (zh) * 2013-09-23 2015-03-25 杭州信核数据科技有限公司 一种写缓存的方法及装置
CN104484354A (zh) * 2014-11-28 2015-04-01 华为技术有限公司 保证数据一致性的快照方法和存储设备
CN105260264A (zh) * 2015-09-23 2016-01-20 浪潮(北京)电子信息产业有限公司 一种快照实现方法及快照系统
CN105302665A (zh) * 2015-10-12 2016-02-03 深圳市安云信息科技有限公司 一种改进的写时拷贝快照方法及系统
CN106227675A (zh) * 2016-07-19 2016-12-14 华为技术有限公司 一种空间分配和刷盘相配合的方法及装置
WO2018153251A1 (zh) * 2017-02-21 2018-08-30 中兴通讯股份有限公司 一种快照的处理方法及分布式块存储系统
CN109165118A (zh) * 2018-07-25 2019-01-08 深信服科技股份有限公司 一种虚拟机备份的方法、及其装置、设备、存储介质
CN109471596A (zh) * 2018-10-31 2019-03-15 北京小米移动软件有限公司 数据写入方法、装置、设备及存储介质
CN110516479A (zh) * 2019-08-16 2019-11-29 济南浪潮数据技术有限公司 一种数据写入方法及相关装置
CN114356849A (zh) * 2022-03-21 2022-04-15 联想凌拓科技有限公司 文件系统的数据管理方法及装置、电子设备及存储介质
CN114546244A (zh) * 2020-11-18 2022-05-27 云坞科技(北京)有限公司 一种基于块级别连续数据保护的缓存空间过滤方法

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043687B (zh) * 2009-10-20 2012-07-25 杭州华三通信技术有限公司 实现数据快照的首写拷贝装置及控制方法
CN102289510A (zh) * 2011-08-31 2011-12-21 成都市华为赛门铁克科技有限公司 向生产卷写入数据的方法和装置
CN102289510B (zh) * 2011-08-31 2013-10-09 华为数字技术(成都)有限公司 向生产卷写入数据的方法和装置
CN103412798A (zh) * 2013-07-18 2013-11-27 记忆科技(深圳)有限公司 混合存储快照的实现方法及系统
CN103412824A (zh) * 2013-07-19 2013-11-27 华为技术有限公司 写时拷贝快照方法及装置
CN103412824B (zh) * 2013-07-19 2016-08-10 华为技术有限公司 写时拷贝快照方法及装置
CN104461930A (zh) * 2013-09-23 2015-03-25 杭州信核数据科技有限公司 一种写缓存的方法及装置
CN104407933A (zh) * 2014-10-31 2015-03-11 华为技术有限公司 一种数据的备份方法及装置
CN104407933B (zh) * 2014-10-31 2018-10-02 华为技术有限公司 一种数据的备份方法及装置
CN104484354A (zh) * 2014-11-28 2015-04-01 华为技术有限公司 保证数据一致性的快照方法和存储设备
CN104484354B (zh) * 2014-11-28 2018-11-06 华为技术有限公司 保证数据一致性的快照方法和存储设备
CN105260264A (zh) * 2015-09-23 2016-01-20 浪潮(北京)电子信息产业有限公司 一种快照实现方法及快照系统
CN105302665B (zh) * 2015-10-12 2018-02-02 深圳市安云信息科技有限公司 一种改进的写时拷贝快照方法及系统
CN105302665A (zh) * 2015-10-12 2016-02-03 深圳市安云信息科技有限公司 一种改进的写时拷贝快照方法及系统
WO2018014591A1 (zh) * 2016-07-19 2018-01-25 华为技术有限公司 一种空间分配和刷盘相配合的方法及装置
CN106227675A (zh) * 2016-07-19 2016-12-14 华为技术有限公司 一种空间分配和刷盘相配合的方法及装置
CN106227675B (zh) * 2016-07-19 2019-05-24 华为技术有限公司 一种空间分配和刷盘相配合的方法及装置
WO2018153251A1 (zh) * 2017-02-21 2018-08-30 中兴通讯股份有限公司 一种快照的处理方法及分布式块存储系统
US11455276B2 (en) 2017-02-21 2022-09-27 Zte Corporation Method for processing snapshots and distributed block storage system
CN109165118A (zh) * 2018-07-25 2019-01-08 深信服科技股份有限公司 一种虚拟机备份的方法、及其装置、设备、存储介质
CN109471596A (zh) * 2018-10-31 2019-03-15 北京小米移动软件有限公司 数据写入方法、装置、设备及存储介质
CN109471596B (zh) * 2018-10-31 2022-03-18 北京小米移动软件有限公司 数据写入方法、装置、设备及存储介质
CN110516479A (zh) * 2019-08-16 2019-11-29 济南浪潮数据技术有限公司 一种数据写入方法及相关装置
CN110516479B (zh) * 2019-08-16 2021-08-10 济南浪潮数据技术有限公司 一种数据写入方法及相关装置
CN114546244A (zh) * 2020-11-18 2022-05-27 云坞科技(北京)有限公司 一种基于块级别连续数据保护的缓存空间过滤方法
CN114546244B (zh) * 2020-11-18 2023-11-03 云坞科技(北京)有限公司 一种基于块级别连续数据保护的缓存空间过滤方法
CN114356849A (zh) * 2022-03-21 2022-04-15 联想凌拓科技有限公司 文件系统的数据管理方法及装置、电子设备及存储介质
CN114356849B (zh) * 2022-03-21 2022-05-17 联想凌拓科技有限公司 文件系统的数据管理方法及装置、电子设备及存储介质
WO2023178899A1 (zh) * 2022-03-21 2023-09-28 联想凌拓科技有限公司 文件系统的数据管理方法及装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN101482838A (zh) 基于写时拷贝的数据写入方法及设备
US9946655B2 (en) Storage system and storage control method
US8639898B2 (en) Storage apparatus and data copy method
US7133982B2 (en) Method, system, and article of manufacture for consistent copying of storage volumes
CN101615145B (zh) 一种提高存储器数据缓存可靠性的方法和装置
US20090077302A1 (en) Storage apparatus and control method thereof
CN103534688B (zh) 数据恢复方法、存储设备和存储系统
US10296428B2 (en) Continuous replication in a distributed computer system environment
CN101539873A (zh) 数据恢复的方法、数据节点及分布式文件系统
US20140026013A1 (en) Storage control apparatus and error correction method
CN109725823B (zh) 用于管理混合存储盘阵列的方法和设备
CN104583930A (zh) 数据迁移的方法、控制器和数据迁移装置
CN104407933A (zh) 一种数据的备份方法及装置
US9983826B2 (en) Data storage device deferred secure delete
US12050778B2 (en) Data restoration method and related device
WO2013080299A1 (ja) データ管理装置、データコピー方法、およびプログラム
US7937548B2 (en) System and method for improved snapclone performance in a virtualized storage system
US10740189B2 (en) Distributed storage system
CN100492323C (zh) 对缓存内容进行保护的方法和装置以及缓存控制器
CN105068896A (zh) 基于raid备份的数据处理方法及装置
CN105159790A (zh) 一种数据抢救方法及文件服务器
US8356230B2 (en) Apparatus to manage data stability and methods of storing and recovering data
US11340826B2 (en) Systems and methods for strong write consistency when replicating data
CN109002265B (zh) 一种数据处理的方法以及相关装置
CN113641298A (zh) 数据存储方法、设备和计算机程序产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090715