CN101833488B - 快照资源的处理方法及设备 - Google Patents
快照资源的处理方法及设备 Download PDFInfo
- Publication number
- CN101833488B CN101833488B CN2010101605323A CN201010160532A CN101833488B CN 101833488 B CN101833488 B CN 101833488B CN 2010101605323 A CN2010101605323 A CN 2010101605323A CN 201010160532 A CN201010160532 A CN 201010160532A CN 101833488 B CN101833488 B CN 101833488B
- Authority
- CN
- China
- Prior art keywords
- data
- write
- snapshot
- time
- retention
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明公开了一种快照资源的处理方法和设备,在向主资源的数据块内写入新数据时,若发生读失败则将新数据写入主资源的保留数据块,同时保留读失败的原数据块内的数据,在快照资源中存储所述保留数据块中的数据,并通过映射表项存储所述保留数据块与所述原数据块的位置对应关系以及当前的快照时间戳,根据该映射表进一步保证了快照资源不离线的情况下主资源的正常读写。
Description
技术领域
本发明涉及通信领域,尤其涉及一种快照资源的处理方法及设备。
背景技术
快照(Snapshot)技术的核心是CFW(Copy On First Write,第一次写时拷贝),具体含义是:为某一SAN(Storage Area Network,存储区域网络)(也称为主资源)创建一个快照资源后,如图1所示,当主资源上的某数据块第一次发生变化时(例如数据块B、G和L要被改变为数据块B1、G1和L1),系统先把数据块B、G和L拷贝到快照资源中,然后再把新数据写入主资源数据块B、G和L所在的位置。当该数据块B1、G1和L1再次发生变化时,系统直接把新数据写入数据块B1、G1和L1所在的位置,而不再把被数据块B1、G1和L1拷贝到快照资源中。这样,系统保留了创建快照时刻主资源的数据映像,便于数据恢复。
如图2所示,正常情况下启用快照后,创建时间点1,主资源有新数据A1、B1、C1的写入请求时,系统将相应位置的老数据A、B、C读出并写入快照资源,然后主资源写入新数据A1、B1、C1;主资源有新数据A2、B2、C2、D2、E2和F2的写入请求时,快照资源创建时间点2,系统将主资源中对应数据块的老数据A1、B1、C1、D、E、F读出写入快照资源,然后主资源写入新数据A2、B2、C2、D2、E2和F2。其中,与上述CFW对应,每一时间点内只在主资源上的某数据块第一次发生变化时将对应的数据写入快照资源。
但是,当发生异常时,如图3所示,假设在第2次写入新数据时,主资源中A2区块损坏,无法正常读出内容(仍能正常写入),则无法将A2中的老数据写入快照资源,系统将中止向主资源内写入数据。为了保证主资源的可用,现有技术中主资源和快照资源的实现是尽量不影响主资源的业务运行,图3所示的情况下,将快照资源离线来优先保障主资源本身的业务。
在上述非正常情况下,读失败会导致快照资源离线,离线后的快照资源将没有任何用途,上面保存的数据将全部丢失,但是,离线后的快照资源上绝大部分的数据都是可以利用的,并不需要因为一个读错误而全部销毁,结合图3所示,即使读错误发生后,时间点1的数据仍然是可以通过快照资源恢复出来的。其次,离线后的快照资源不能再对主资源进行数据保护,主资源就完全暴露在数据丢失的风险之下。再次,读失败的原因多种多样,某些情况并不是因为物理资源发生了实质性的损伤,而是由于环境、软件、数据读写等多方面的因素造成的暂时性的数据不能读取,所以此时将快照资源离线是不妥当的,所以能够对快照离线进行优化显得很重要。
因此,发明人认为现有技术中在主资源读失败时将快照资源离线以保证主资源正常使用的操作具有多种弊端。
发明内容
本发明提供了一种快照资源的处理方法及设备,在主资源读失败时保证快照资源在线,同时保证主资源的正常使用。
本发明提供了一种快照资源的处理方法,应用于存储区域网络SAN的主资源配置有快照资源的系统中,该方法包括:
当向所述主资源的数据块内写入新数据时,若发生读失败则将新数据写入所述主资源的保留数据块,同时保留读失败的原数据块内的数据;在快照资源中存储所述保留数据块中的数据;通过映射表项存储所述保留数据块与所述原数据块的位置对应关系以及当前的快照时间戳;
当读取所述原数据块内的数据时,查找所述映射表项获取所述保留数据块的位置并从所述保留数据块内读取资源;
其中,所述映射表项中还包括第一次写入标记,用于标识所述原数据块是否第一次有数据写入;
当所述映射表项中还包括第一次写入标记时,若向所述原数据块写入新数据,首先查找所述映射表项中存储的第一次写入标记;
如果所述第一次写入标记标识为非第一次写入,直接根据所述映射表项 将所述新数据写入所述保留数据块;如果所述第一次写入标记标识为第一次写入,读取所述原数据块的数据,若读取失败,则根据所述映射表项将所述新数据写入所述保留数据块,并将所述第一次写入标记更新为非第一次写入,若读取成功,将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并删除所述映射表项。
还包括:当向所述原数据块写入新数据时,若发生读失败则根据所述映射表项将所述新数据写入所述保留数据块;否则,将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并删除所述映射表项。
所述第一次写入标记在所述快照资源内创建新的快照时间戳后更新为标识第一次写入。
若在快照资源中存储所述保留数据块或原数据块中的数据之后、向所述原数据块写入新数据之前,所述快照资源内没有创建新的快照时间戳,则查找所述映射表项获知所述第一次写入标记标识为非第一次写入,直接将所述新数据写入所述保留数据块;
若在快照资源中存储所述保留数据块或原数据块中的数据之后、向所述原数据块写入新数据之前,所述快照资源内创建有新的快照时间戳,则查找所述映射表项获知所述第一次写入标记标识为第一次写入,读取所述原数据块的数据;如果读取失败,则根据所述映射表项将所述新数据写入所述保留数据块;如果读取成功,则将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并读取所述保留数据块内的数据写入所述快照资源内与当前快照时间戳对应的位置。
所述保留数据块位于存储区域的头区域。
本发明提供一种存储设备,应用于存储区域网络SAN,包括数据存储的主资源和快照资源,该存储设备包括写入单元、存储单元和读取单元,其中
所述写入单元,与所述存储单元连接,用于向所述主资源的数据块内写入新数据,并在发生读失败将新数据写入所述主资源的保留数据块,保留读 失败的原数据块内的数据;在快照资源中存储所述保留数据块中的数据;
所述存储单元,与所述写入单元连接,用于通过映射表项存储所述保留数据块与所述原数据块的位置对应关系以及当前的快照时间戳;
所述读取单元,与所述存储单元连接,用于查找所述映射表项获取所述保留数据块的位置并从所述保留数据块内读取资源;
其中,所述映射表项中还包括第一次写入标记,用于标识所述原数据块是否第一次有数据写入;
所述写入单元还用于:当所述映射表项中还包括第一次写入标记时,首先查找所述映射表项中存储的第一次写入标记;如果所述第一次写入标记标识为非第一次写入,直接根据所述映射表项将所述新数据写入所述保留数据块;如果所述第一次写入标记标识为第一次写入,读取所述原数据块的数据,若读取失败,则根据所述映射表项将所述新数据写入所述保留数据块,并将所述第一次写入标记更新为非第一次写入,若读取成功,将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并删除所述映射表项。
所述写入单元还用于:当向所述原数据块写入新数据时,若读失败则根据所述存储单元存储的映射表项将所述新数据写入所述保留数据块;否则,将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并删除所述映射表项。
所述第一次写入标记在所述快照资源内创建新的快照时间戳后更新为标识第一次写入。
所述写入单元还用于:
若在快照资源中存储所述保留数据块或原数据块中的数据之后、向所述原数据块写入新数据之前,所述快照资源内没有创建新的快照时间戳,则查找所述映射表项获知所述第一次写入标记标识为非第一次写入,直接将所述新数据写入所述保留数据块;
若在快照资源中存储所述保留数据块或原数据块中的数据之后、向所述原数据块写入新数据之前,所述快照资源内创建有新的快照时间戳,则查找所述映射表项获知所述第一次写入标记标识为第一次写入,读取所述原数据块的数据;如果读取失败,则根据所述映射表项将所述新数据写入所述保留数据块;如果读取成功,则将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并读取所述保留数据块内的数据写入所述快照资源内与当前快照时间戳对应的位置。
所述保留数据块位于存储区域的头区域。
与现有技术相比,本发明至少具有以下优点:
在向主资源的数据块内写入数据时,若发生读失败则将新数据写入主资源的保留数据块,同时保留读失败的原数据块内的数据,在快照资源中存储所述保留数据块中的数据,并通过映射表项存储所述保留数据块与所述原数据块的位置对应关系以及当前的快照时间戳,根据该映射表进一步保证了快照资源不离线的情况下主资源的正常读写。
附图说明
图1是现有技术中快照技术示意图;
图2是现有技术中正常情况下的快照技术示意图;
图3是现有技术中读失败的时快照技术示意图;
图4是本发明本发明提供的快照资源的处理方法流程示意图;
图5是本发明应用场景中存储区域示意图;
图6、7、8是本发明应用场景提供的快照资源的处理方法示意图;
图9是本发明提供一种存储设备的结构示意图。
具体实施方式
本发明的核心思想是:在主资源内的数据读失败时,利用主资源中的保留空间来进行新数据的写入,不去破坏无法读取的数据区域,在不需要快照资源离线的情况下保证主资源的正常读写。
本发明提供一种快照资源的处理方法,应用于存储区域网络SAN的主资 源配置有快照资源的系统中,如图4所示,该方法包括:
步骤401,在向所述主资源的数据块内写入新数据时,若发生读失败则将新数据写入所述主资源的保留数据块,同时保留读失败的原数据块内的数据;
步骤402,在快照资源中存储所述保留数据块中的数据;
步骤403,通过映射表项存储所述保留数据块与所述原数据块的位置对应关系以及当前的快照时间戳;
步骤404,当读取所述原数据块内的数据时,查找所述映射表项获取所述保留数据块的位置并从所述保留数据块内读取资源。
下面结合具体应用场景详细介绍本发明提供的快照资源的处理方法。
本发明应用场景中首先介绍存储设备中的存储区域,如图5所示,该存储区域包括数据区域和头区域,现有技术中在数据区域内确定主资源的数据存储区域,即数据区域存储用户写入的数据,头区域存放SAN资源的管理信息,一般头区域会有几MB的空间,例如10M。实际上,头区域几MB的空间不会全部使用,都具有被闲置的保留空间。
本应用场景中,在向主资源内写入新数据时,如果读取主资源中的数据块失败,则将新数据写入保留空间,保留读取失败的原数据块内的数据,此时主资源的损坏的数据区块由于没有被新数据写入,那么原本应该记录在快照空间中的老数据仍然保留,只是记录的位置发生变化,保留在原有位置而已,此时快照资源不需要离线。将新数据写入保留空间后,存储设备内需要建立如表1所示的表项。
表1
原数据块 | 保留数据块 | 快照时间戳 |
0x01 | 0x10 | 20:00 |
其中,表1中记录有:原数据块的位置0x01、保留数据块的位置0x10以及读失败时对应的快照时间戳。
当需要从原数据块中读取数据时,首先查找表1存储的对应关系,从保留数据块中读取对应的数据。当需要向原数据块中写入新数据时,首先可以尝试读取原数据块内的数据,如果读取失败,则根据表1中的对应关系找到保留数据块的位置0x10,将新数据写入保留数据;如果读取成功,则将原数据块中的数据写入快照资源中与快照时间戳20:00对应的位置,如果在快照时间戳20:00之后创建了新的时间戳,例如22:00,而此时的读成功发生在快照时间戳20:00之后,则还需要将保留数据块中的数据读出写入快照资源中与快照时间戳20:00对应的位置,即当前读成功时对应的快照时间戳在快照资源中对应的位置。
需要说明的是,存储设备中也可以配置为在读失败后则不再尝试读取原数据块内的数据而是一直使用保留数据块代替原数据块。
本发明应用场景提供的方法中,表1还可以包括第一次写入标记,如表2所示。
原数据块 | 保留数据块 | 快照时间戳 | 第一次写入标记 |
0x01 | 0x10 | 20:00 | 1 |
其中,原数据块:用来标明主资源读失败的位置。
保留数据块:与老数据区块对应,表示新数据的写入位置,也就是将新数据写入到保留区域中,记录下新的地址,之后的数据读会映射至新数据区,而写则需要区分具体情况。
快照时间戳:就是快照时间点标记,简单的说可以理解为一个时间点,快照功能保护数据的基准点,举例来说,快照资源在20:00、20:10、20:20创建了3时间点,那么今后数据恢复时就可以恢复到这3个其中任意一个点的数据。将读失败时的时间戳记录下来,有两个用途,第一,将来数据回滚恢复时,如果回滚的目标时间在该时间点之后,那么对应的表格数据将保留,因为此时的新老数据的映射关系还在;如果回滚的目标时间在该 时间点之前,那么该条目可以删除,因为此时的数据仍在老数据区。第二个用途是,假设老数据区块的故障恢复时,数据存入到老位置时需要将里面的数据读出,并存放到快照资源中,并且要放至之前时间戳的位置中。
第一次写入标志位:该位置只有0和1两个值,用来指示老数据区的状态,0表示还没有数据写入,1表示已有过第一次写入;这样就有两种情况:第一次写入时,发现该位置为0,就会触发快照读,若此时的老数据区已修复,则将读出的数据写入该条目时间戳的快照资源中,并将该条目对应的这一行的内容删除,之后的数据读写不需要再查找表格,若没有修复故障,照常读失败,则会查找该条目将新数据写入新位置,并将该位置1;后续写入时:该位已经置1了,所以只需要查找表格,将新数据写入新区域即可。注意:该位置在表格的条目创建时置1,只在新建时间点后才置位0,这里与快照的原理相同,这样做是只在第一次写时才进行尝试修复读操作,而不是每次都进行尝试读,最大的提高效率。
下面基于表2所示映射表项介绍快照资源的处理方法。
如图6所示,假设保留区域的初始值为00,当第3步写入新数据A2时,主资源的数据块发生错误,无法正常读出老数据A1,则将新数据A2写入保留数据块中,原数据块不产生影响,原数据块仍然存放数据A1。此时建立如表2所示的映射表项,存储原数据块与保留数据块的位置对应关系、时间戳以及第一次写入标记。该第一次写入标记此时被置为1,在后续创建新的快照时间戳后该标记被更新为0。
此时,需要读取原数据块内的数据时,即主资源有对0x01位置的读请求时,查找映射表,将对应的新数据区0x10中的数据读出并交给上层,此时表项中的后面内容不需要查看。
如果需要向原数据块写入新数据,则可以划分为两种情况:一、在读失败后没有新创建快照时间戳;二、读失败后创建了新的快照时间戳,下来针对这两种情况逐一的进行分析。
针对第一种情况,在表项2建立完成后,再有新的数据向原数据块写入时,存储设备首先查看映射表项,检查到与原数据块对应的映射表项中 的第一次写入位是1,则不再进行原数据块的读重试,直接将新数据写入新区块中。如图7中所示,在读失败后若没有创建新的快照时间戳,若再对A2的数据进行修改,则只需要将A3写入到A2区域中即可,此时的时间戳仍是3。
针对第二种情况,在表项2建立完成后,再有新的数据向原数据块写入时,存储设备首先查看映射表项,检查到与原数据块对应的映射表项中的第一次写入位是0,触发快照读操作,此时的读操作又分为读成功和读失败两种情况:
读成功时,存储设备将读出的数据放入映射表记录的时间戳空间内,即快照资源中与映射表记录的时间戳对应的位置,如图8中将A1存入时间点3的快照中。存储设备还需读出保留数据块的数据,放入当前时间戳空间内,如图8中将A2存入至时间点4的快照中。并将当前需要写入的数据写入原数据块中,即将A3写入原数据块。然后,存储设备将原数据块对应的映射表项删除。
读失败时,存储设备查找映射表,将保留数据块中的数据即A2写入快照资源,如图9所示,将请求写入的数据写入保留数据块,即将A3写入保留数据块,并将原数据块对应的映射表中记录的第一次写入位置1。
依据本发明提供的方法,再对数据进行恢复操作时,例如回滚,都可以回滚到任意一个时间点。需要说明的是,如果回滚的目标点在映射表的时间戳之后,那么映射表的记录仍然生效,取数据时安装上述的读写流程来处理,如果回滚的目标点在时间戳之前,那么映射表的记录可以删除,之后的操作按现有技术中的方式处理。
通过采用本发明提供的方法,在向主资源的数据块内写入数据时,若发生读失败则将新数据写入主资源的保留数据块,同时保留读失败的原数据块内的数据,在快照资源中存储所述保留数据块中的数据,并通过映射表项存储所述保留数据块与所述原数据块的位置对应关系以及当前的快照时间戳,根据该映射表进一步保证了快照资源不离线的情况下主资源的正常读写。
本发明提供一种存储设备,应用于存储区域网络SAN,包括数据存储的主资源和快照资源,如图10所示,该存储设备包括写入单元11、存储单元12和读取单元13,其中
所述写入单元11,与所述存储单元12连接,用于向所述主资源的数据块内写入新数据,并在发生读失败将新数据写入所述主资源的保留数据块,保留读失败的原数据块内的数据;在快照资源中存储所述保留数据块中的数据;该写入单元11还用于:当向所述原数据块写入新数据时,若读失败则根据所述存储单元存储的映射表项将所述新数据写入所述保留数据块;否则,将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并删除所述映射表项;
所述存储单元12,与所述写入单元11连接,用于通过映射表项存储所述保留数据块与所述原数据块的位置对应关系以及当前的快照时间戳;
所述读取单元13,与所述存储单元12连接,用于查找所述映射表项获取所述保留数据块的位置并从所述保留数据块内读取资源。
所述映射表项中还包括第一次写入标记,用于标识所述原数据块是否第一次有数据写入;所述写入单元11还用于:当所述映射表项中还包括第一次写入标记时,首先查找所述映射表项中存储的第一次写入标记;如果所述第一次写入标记标识为非第一次写入,直接根据所述映射表项将所述新数据写入所述保留数据块;如果所述第一次写入标记标识为第一次写入,读取所述原数据块的数据,若读取失败,则根据所述映射表项将所述新数据写入所述保留数据块,并将所述第一次写入标记更新为非第一次写入,若读取成功,将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并删除所述映射表项。
所述存储单元12还用于:在所述快照资源内创建新的快照时间戳后将所述第一次写入标记更新为标识第一次写入。
所述写入单元11还用于:
若在快照资源中存储所述保留数据块或原数据块中的数据之后、向所述原数据块写入新数据之前,所述快照资源内没有创建新的快照时间戳,则查 找所述映射表项获知所述第一次写入标记标识为非第一次写入,直接将所述新数据写入所述保留数据块;
若在快照资源中存储所述保留数据块或原数据块中的数据之后、向所述原数据块写入新数据之前,所述快照资源内创建有新的快照时间戳,则查找所述映射表项获知所述第一次写入标记标识为第一次写入,读取所述原数据块的数据;如果读取失败,则根据所述映射表项将所述新数据写入所述保留数据块;如果读取成功,则将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并读取所述保留数据块内的数据写入所述快照资源内与当前快照时间戳对应的位置。
所述保留数据块位于存储区域的头区域。
通过采用本发明提供的存储设备,在向主资源的数据块内写入数据时,若发生读失败则将新数据写入主资源的保留数据块,同时保留读失败的原数据块内的数据,在快照资源中存储所述保留数据块中的数据,并通过映射表项存储所述保留数据块与所述原数据块的位置对应关系以及当前的快照时间戳,根据该映射表进一步保证了快照资源不离线的情况下主资源的正常读写。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进 一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种快照资源的处理方法,应用于存储区域网络SAN的主资源配置有快照资源的系统中,其特征在于,该方法包括:
当向所述主资源的数据块内写入新数据时,若发生读失败则将新数据写入所述主资源的保留数据块,同时保留读失败的原数据块内的数据;在快照资源中存储所述保留数据块中的数据;通过映射表项存储所述保留数据块与所述原数据块的位置对应关系以及当前的快照时间戳;
当读取所述原数据块内的数据时,查找所述映射表项获取所述保留数据块的位置并从所述保留数据块内读取资源;
其中,所述映射表项中还包括第一次写入标记,用于标识所述原数据块是否第一次有数据写入;
当所述映射表项中还包括第一次写入标记时,若向所述原数据块写入新数据,首先查找所述映射表项中存储的第一次写入标记;
如果所述第一次写入标记标识为非第一次写入,直接根据所述映射表项将所述新数据写入所述保留数据块;如果所述第一次写入标记标识为第一次写入,读取所述原数据块的数据,若读取失败,则根据所述映射表项将所述新数据写入所述保留数据块,并将所述第一次写入标记更新为非第一次写入,若读取成功,将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并删除所述映射表项。
2.如权利要求1所述的方法,其特征在于,还包括:
当向所述原数据块写入新数据时,若发生读失败则根据所述映射表项将所述新数据写入所述保留数据块;否则,将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并删除所述映射表项。
3.如权利要求1所述的方法,其特征在于,所述第一次写入标记在所述快照资源内创建新的快照时间戳后更新为标识第一次写入。
4.如权利要求1所述的方法,其特征在于,
若在快照资源中存储所述保留数据块或原数据块中的数据之后、向所述原数据块写入新数据之前,所述快照资源内没有创建新的快照时间戳,则查找所述映射表项获知所述第一次写入标记标识为非第一次写入,直接将所述新数据写入所述保留数据块;
若在快照资源中存储所述保留数据块或原数据块中的数据之后、向所述原数据块写入新数据之前,所述快照资源内创建有新的快照时间戳,则查找所述映射表项获知所述第一次写入标记标识为第一次写入,读取所述原数据块的数据;如果读取失败,则根据所述映射表项将所述新数据写入所述保留数据块;如果读取成功,则将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并读取所述保留数据块内的数据写入所述快照资源内与当前快照时间戳对应的位置。
5.如权利要求1或2所述的方法,其特征在于,所述保留数据块位于存储区域的头区域。
6.一种存储设备,应用于存储区域网络SAN,包括数据存储的主资源和快照资源,其特征在于,该存储设备包括写入单元、存储单元和读取单元,其中
所述写入单元,与所述存储单元连接,用于向所述主资源的数据块内写入新数据,并在发生读失败将新数据写入所述主资源的保留数据块,保留读失败的原数据块内的数据;在快照资源中存储所述保留数据块中的数据;
所述存储单元,与所述写入单元连接,用于通过映射表项存储所述保留数据块与所述原数据块的位置对应关系以及当前的快照时间戳;
所述读取单元,与所述存储单元连接,用于查找所述映射表项获取所述保留数据块的位置并从所述保留数据块内读取资源;
其中,所述映射表项中还包括第一次写入标记,用于标识所述原数据块是否第一次有数据写入;
所述写入单元还用于:当所述映射表项中还包括第一次写入标记时,首先查找所述映射表项中存储的第一次写入标记;如果所述第一次写入标记标识为非第一次写入,直接根据所述映射表项将所述新数据写入所述保留数据块;如果所述第一次写入标记标识为第一次写入,读取所述原数据块的数据,若读取失败,则根据所述映射表项将所述新数据写入所述保留数据块,并将所述第一次写入标记更新为非第一次写入,若读取成功,将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并删除所述映射表项。
7.如权利要求6所述的存储设备,其特征在于,所述写入单元还用于:
当向所述原数据块写入新数据时,若读失败则根据所述存储单元存储的映射表项将所述新数据写入所述保留数据块;否则,将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并删除所述映射表项。
8.如权利要求6所述的存储设备,其特征在于,所述存储单元还用于:
在所述快照资源内创建新的快照时间戳后将所述第一次写入标记更新为标识第一次写入。
9.如权利要求6所述的存储设备,其特征在于,所述写入单元还用于:
若在快照资源中存储所述保留数据块或原数据块中的数据之后、向所述原数据块写入新数据之前,所述快照资源内没有创建新的快照时间戳,则查找所述映射表项获知所述第一次写入标记标识为非第一次写入,直接将所述新数据写入所述保留数据块;
若在快照资源中存储所述保留数据块或原数据块中的数据之后、向所述原数据块写入新数据之前,所述快照资源内创建有新的快照时间戳,则查找所述映射表项获知所述第一次写入标记标识为第一次写入,读取所述原数据块的数据;如果读取失败,则根据所述映射表项将所述新数据写入所述保留数据块;如果读取成功,则将读取到的数据写入所述快照资源中与所述快照时间戳对应的位置,将所述新数据写入所述原数据块,并读取所述保留数据块内的数据写入所述快照资源内与当前快照时间戳对应的位置。
10.如权利要求6或7所述的存储设备,其特征在于,所述保留数据块位于存储区域的头区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101605323A CN101833488B (zh) | 2010-04-30 | 2010-04-30 | 快照资源的处理方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101605323A CN101833488B (zh) | 2010-04-30 | 2010-04-30 | 快照资源的处理方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101833488A CN101833488A (zh) | 2010-09-15 |
CN101833488B true CN101833488B (zh) | 2012-09-26 |
Family
ID=42717564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101605323A Expired - Fee Related CN101833488B (zh) | 2010-04-30 | 2010-04-30 | 快照资源的处理方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101833488B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933604B (zh) * | 2015-12-30 | 2021-03-05 | 中移(苏州)软件技术有限公司 | 一种系统升级方法及装置 |
CN111124745B (zh) * | 2018-10-30 | 2023-08-18 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1551243A (zh) * | 2003-04-04 | 2004-12-01 | ���ǵ�����ʽ���� | 管理闪存中的不良存储块的装置和方法 |
CN1932778A (zh) * | 2006-07-23 | 2007-03-21 | 海信集团有限公司 | 一种对nand flash存储器进行虚拟空间管理的方法 |
CN101419564A (zh) * | 2008-12-11 | 2009-04-29 | 杭州华三通信技术有限公司 | 一种采用快照恢复数据的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8499297B2 (en) * | 2008-10-28 | 2013-07-30 | Vmware, Inc. | Low overhead fault tolerance through hybrid checkpointing and replay |
-
2010
- 2010-04-30 CN CN2010101605323A patent/CN101833488B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1551243A (zh) * | 2003-04-04 | 2004-12-01 | ���ǵ�����ʽ���� | 管理闪存中的不良存储块的装置和方法 |
CN1932778A (zh) * | 2006-07-23 | 2007-03-21 | 海信集团有限公司 | 一种对nand flash存储器进行虚拟空间管理的方法 |
CN101419564A (zh) * | 2008-12-11 | 2009-04-29 | 杭州华三通信技术有限公司 | 一种采用快照恢复数据的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101833488A (zh) | 2010-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102779180B (zh) | 数据存储系统的操作处理方法,数据存储系统 | |
CN105718217B (zh) | 一种精简配置存储池数据一致性维护的方法及装置 | |
CN102012852B (zh) | 一种增量写快照的实现方法 | |
CN103617097B (zh) | 文件恢复方法及装置 | |
CN104461390A (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN105404469A (zh) | 一种视频数据的存储方法和系统 | |
CN106708653B (zh) | 一种基于纠删码与多副本的混合税务大数据安全保护方法 | |
CN103577121A (zh) | 一种基于nand flash的高可靠线性文件存取方法 | |
CN102142032B (zh) | 一种分布式文件系统的数据读写方法及系统 | |
CN103049390A (zh) | 应用元数据的数据处理方法及存储系统 | |
CN104750565A (zh) | Nand坏块处理方法及nand闪存设备 | |
CN101707729A (zh) | 一种实现网络节点数据自动备份和恢复的系统及方法 | |
CN105938457A (zh) | 数据的过滤方法、装置及数据读取系统 | |
CN104182182B (zh) | 智能终端及智能终端的数据备份方法 | |
CN102959548B (zh) | 数据存储方法、查找方法及装置 | |
CN102096613B (zh) | 一种生成快照的方法及装置 | |
CN102426601B (zh) | 数据删除方法和装置 | |
CN101833488B (zh) | 快照资源的处理方法及设备 | |
CN109189326B (zh) | 分布式集群的管理方法和装置 | |
CN109039939B (zh) | 一种负载分担方法及装置 | |
CN103530067A (zh) | 一种数据操作的方法和设备 | |
US9535796B2 (en) | Method, apparatus and computer for data operation | |
CN105354149A (zh) | 一种内存数据查找方法和装置 | |
CN104298467B (zh) | 一种p2p缓存文件管理方法和装置 | |
CN114281242B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120926 Termination date: 20200430 |