CN103544077B - 数据处理方法及装置、共享存储设备 - Google Patents
数据处理方法及装置、共享存储设备 Download PDFInfo
- Publication number
- CN103544077B CN103544077B CN201210246856.8A CN201210246856A CN103544077B CN 103544077 B CN103544077 B CN 103544077B CN 201210246856 A CN201210246856 A CN 201210246856A CN 103544077 B CN103544077 B CN 103544077B
- Authority
- CN
- China
- Prior art keywords
- data
- time point
- snapshot
- item information
- shared
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据处理方法及装置、共享存储设备,其中,该方法包括:共享存储设备接收其他存储设备发送的写前拷贝请求,所述写前拷贝请求中包含待进行写前拷贝的数据以及所述数据的逻辑单元标识和快照时间点;保存所述数据;根据所述数据的逻辑单元标识和快照时间点,在预设的共享映射表中查找对应的表项,并将所述数据的映射项信息保存在所述对应的表项中,其中,所述映射项信息包括所述数据的逻辑单元标识、快照时间点以及所述数据在共享存储设备中的存储地址,可以提高快照数据处理的效率。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种数据处理方法及装置、共享存储设备。
背景技术
随着存储应用需求的提高,用户需要采用在线方式进行数据保护,快照就是在线存储设备防范数据丢失的有效方法之一。所述快照,就是生产卷数据的即时时刻的一致性映像,所谓生产卷就是为基本业务应用提供数据存储和访问空间的逻辑单元数据卷。使用数据快照技术,可以在瞬间获得完全可用的生产卷数据的即时时刻的一致性映像(即快照),并占用较少的存储空间;快照创建后,对快照的访问可以和对生产卷的访问同时进行,从而不影响生产卷的业务连续性。
现有的快照数据处理方法,在写生产卷中的某个逻辑单元数据时,对同一生产卷中的每一个快照,都需要对同一逻辑单元数据进行写前拷贝以及插入映射项,假设一个生产卷同时存在多个激活快照时,则对同一生产卷中的多个快照就需要对同一个逻辑单元数据进行多次写前拷贝以及插入映射项。
因此,现有的快照数据处理方法存在效率低下的问题。
发明内容
本发明实施例提供一种数据处理方法及装置、共享存储设备,能够提高快照数据处理的效率。
第一方面,本发明实施例提供一种数据处理方法,包括:
共享存储设备接收其他存储设备发送的写前拷贝请求,所述写前拷贝请求中包含待进行写前拷贝的数据以及所述数据的逻辑单元标识和快照时间点;
保存所述数据;
根据所述数据的逻辑单元标识和快照时间点,在预设的共享映射表中查找对应的表项,并将所述数据的映射项信息保存在所述对应的表项中,其中,所述映射项信息包括所述数据的逻辑单元标识、快照时间点以及所述数据在共享存储设备中的存储地址。
在第一种可能的实现方式中,所述共享映射表的表现形式包括共享树;其中,所述共享树包括至少一个父节点和至少一个叶子节点,所述共享树的父节点中包含有待进行写前拷贝的数据的逻辑单元标识,所述共享树的叶子节点中包含有已进行写前拷贝的数据的映射项信息,当同一个父节点中包括多个叶子节点时,所述多个叶子节点按照对应的映射项信息中包含的快照时间点从小到大的顺序排列在同一个父节点中;
所述根据所述数据的逻辑单元标识和快照时间点,在预设的共享映射表中查找相应的表项,并将所述数据的映射项信息保存在所述表项中,具体实现可以为:
根据所述数据的逻辑单元标识,查询所述共享树,确定与所述逻辑单元标识对应的父节点,根据所述数据的逻辑单元标识和快照时间点,在所述确定的父节点中,确定与所述逻辑单元标识和所述快照时间点对应的叶子节点,将所述数据的映射项信息保存到对应的叶子节点中。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
接收读请求,所述读请求中包含待读取数据的逻辑单元标识和快照时间点;
查询所述共享映射表,判断所述共享映射表中是否存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息;
当所述共享映射表中存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息时,根据所述匹配的映射项信息中包含的存储地址,从所述共享存储设备中读取数据。
结合第一方面的第二种可能的实现方式或第一方面的第一种可能的实现方式的第二种可能的实现方式,在第三种实现方式中,所述方法还包括:
当所述共享映射表中不存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息时,判断所述共享映射表中是否存在与所述待读取数据的逻辑单元标识对应的其他映射项信息;
当所述共享映射表中存在与所述待读取数据的逻辑单元标识对应的其他映射项信息时,判断所述其他映射项信息中是否存在快照时间点大于所述待读取数据的快照时间点的映射项信息;
当所述其他映射项信息中存在快照时间点大于所述待读取数据的快照时间点的映射项信息时,将所述其他映射项信息中第一个大于所述待读取数据的快照时间点的快照时间点对应的映射项信息确定为所述待读取数据的映射项信息;
根据所述待读取数据的映射项信息中包含的存储地址,从所述共享存储设备中读取数据。
第二方面,本发明实施例提供一种数据处理装置,包括:
接收模块,用于接收其他存储设备发送的写前拷贝请求,所述写前拷贝请求中包含待进行写前拷贝的数据以及所述数据的逻辑单元标识和快照时间点;
存储模块,用于存储所述数据;
处理模块,用于根据所述数据的逻辑单元标识和快照时间点,在预设的共享映射表中查找对应的表项,并将所述数据的映射项信息保存在所述对应的表项中,其中,所述映射项信息包括所述数据的逻辑单元标识、快照时间点以及所述数据在共享存储设备中的存储地址。
结合第一方面,在第一种可能的实现方式中,所述共享映射表的表现形式包括共享树,其中,所述共享树包括至少一个父节点和至少一个叶子节点,所述共享树的父节点中包含有待进行写前拷贝的数据的逻辑单元标识,所述共享树的叶子节点中包含有已进行写前拷贝的数据的映射项信息,若同一个父节点中包括多个叶子节点时,所述多个叶子节点按照对应的映射项信息中包含的快照时间点从小到大的顺序排列在同一个父节点中;
所述处理模块,具体用于根据所述数据的逻辑单元标识,查询所述共享树,确定与所述逻辑单元标识对应的父节点,根据所述数据的逻辑单元标识和快照时间点,在所述确定的父节点中,确定与所述逻辑单元标识和所述快照时间点对应的叶子节点,将所述数据的映射项信息保存到对应的叶子节点中。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收模块,还用于接收读请求,所述读请求中包含待读取数据的逻辑单元标识和快照时间点;
所述数据处理装置还包括:
第一判断模块,用于根据所述接收模块接收的读请求,查询所述共享映射表,判断所述共享映射表中是否存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息;
读取模块,用于当所述第一判断模块判断所述共享映射表中存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息时,根据所述匹配的映射项信息中包含的存储地址,从所述共享存储设备中读取数据。
第三方面,本发明实施例提供一种共享存储设备,包括上述数据处理装置。
本发明实施例根据接收到的写前拷贝请求中包含的待进行写前拷贝的数据,将所述数据保存在共享存储设备中,以及根据写前拷贝请求中包含的所述数据的逻辑单元标识和快照时间点,将所述数据的逻辑单元标识和快照时间点以及所述数据在共享存储设备中的存储地址作为所述数据的映射项信息,并将所述数据的映射项信息保存到共享映射表中,可以实现每个生产卷中所有与同一个逻辑单元相关的激活快照共享同一份写前拷贝数据及对应的映射项信息,从而可以减少写前拷贝次数,提高快照数据的处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例提供的数据处理方法的流程示意图;
图2为本发明一个实施例应用的共享映射表的示意图;
图3为图2所示共享映射表的一种具体实现形式的示意图;
图4为图2所示共享映射表的又一种具体实现形式的示意图;
图5为本发明又一个实施例提供的数据处理方法的流程示意图;
图6为本发明又一个实施例提供的数据处理方法的流程示意图;
图7为本发明又一个实施例提供的数据处理方法的流程示意图;
图8为图7所示实施例应用的共享树的示意图;
图9为本发明实施例提供的数据处理装置的结构示意图;
图10为本发明实施例提供的又一个数据处理装置的结构示意图;
图11为本发明实施例提供的共享存储设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一个实施例提供的数据处理方法的流程示意图,如图1所示,该方法包括:
101、共享存储设备接收其他存储设备发送的写前拷贝请求,所述写前拷贝请求中包含待进行写前拷贝的数据以及所述数据的逻辑单元标识和快照时间点。
举例来说,生产卷储存在其他存储设备中,一个生产卷包括多个逻辑单元,每个逻辑单元对应的一个逻辑单元标识。
在本实施例的一个可选实施方式中,将每一个逻辑单元的序号作为其对应的逻辑单元标识,例如,第一个逻辑单元的逻辑单元标识为1,第二个逻辑单元的逻辑单元标识为2,以此类推。
在本实施例的一个可选实施方式中,若一个生产卷包括多个快照,给每个快照按照激活快照的先后顺序按序分配相应的快照时间点,也就是说,快照时间点是指快照被激活的先后顺序的序列号。例如,对同一生产卷进行连续时间点的多个快照时,则第一次激活的快照对应的快照时间点为0,第二次激活的快照对应的快照时间点为1,以此类推。
在本实施例的一个可选实施方式中,其他存储设备可以接收写请求,该写请求可以由任一需要向其他存储设备上的生产卷中写入数据的网络实体发送,该写请求中至少包括一个逻辑单元标识,所述逻辑单元标识表示所需写入新数据的逻辑单元,例如,需要向生产卷中的某个逻辑单元写入数据,则写请求中可以包括该逻辑单元的逻辑单元标识。
在向所述逻辑单元标识对应的逻辑单元中写入新的数据时,需要将所述逻辑单元当前储存的数据(待进行写前拷贝的数据)先拷贝到共享存储设备,以便在后续发生储存错误等问题时,可以利用共享存储设备上存储的数据进行数据恢复,因此,其他存储设备可以向共享存储设备发送写前拷贝请求。
102、保存所述数据。
需要说明的是,在本实施例中可以将同一生产卷产生的所需写前拷贝的数据均保存到共享存储设备中,从而不会占用其他存储设备的存储资源和内存资源,可以保证其他存储设备的数据业务的运行。当然,也可以将数据保存在其他存储设备中,在此,不进行限定。本发明实施例以保存在共享存储设备中为例进行说明。
103、根据所述数据的逻辑单元标识和快照时间点,在预设的共享映射表中查找相应的表项,并将所述数据的映射项信息保存在所述表项中,其中,所述映射项信息包括所述数据的逻辑单元标识、快照时间点以及所述数据在共享存储设备中的存储地址。
具体的,为了提高遍历共享映射表的效率,在本实施例的一个可选实施方式中,可以在共享存储设备中预设共享映射表,该共享映射表用于保存同一生产卷产生的待进行所需写前拷贝的数据对应的映射项信息,可以理解的是,在所述共享映射表中,可以将具有相同逻辑单元标识的映射项信息按照快照时间点从小到大的顺序进行排列。图2为本发明一个实施例应用的共享映射表的示意图,如图2所示,所述共享映射表的竖坐标表示待进行写前拷贝的数据的逻辑单元标识,具体的,可以根据逻辑单元标识的序号大小从小到大进行按序排列,横坐标表示数据的快照时间点,具体的,可以根据快照时间点大小从小到大进行按序排列。例如,T0、T1、T2、T3、T4表示快照时间点0、1、2、3、4,逻辑单元0表示逻辑单元标识序号为0,依此类推。
在本实施例中,可以将所述数据的存储地址以及所述数据的逻辑单元标识和快照时间点设为所述数据的映射项信息,并将所述数据的映射项信息保存在所述预设的共享映射表。具体的,可以根据所述数据的逻辑单元标识和快照时间点,在预设的共享映射表中查找相应的表项,并将所述数据的映射项信息保存在所述表项中。其中,所述数据的存储地址为所述数据保存在共享存储设备中的存储地址,所述数据的逻辑单元标识为写前拷贝之前该数据存储在其他存储设备中的逻辑单元的标识,快照时间点为对所述数据进行写前拷贝的快照时间点。
需要说明的是,在本实施例中,可以在共享存储设备中预设共享映射表,使得共享映射表不会占用其他存储设备的存储资源和内存资源,查询共享映射表中的映射项信息时,也不会占用其他存储设备的处理器资源和内存资源,从而保证了其他存储设备中的数据业务的运行。
在本实施例的一个可选实施方式中,图3为图2所示共享映射表的一种具体实现形式的示意图,如图3所示,同一生产卷依次建立3个快照。
其中,逻辑单元1和逻辑单元7的数据更新发生在快照时间点0(图中以T0表示快照时间点0)之后,也就是说,在快照时间点0对逻辑单元1和逻辑单元7的数据进行了写前拷贝。因此,逻辑单元1中的数据在共享映射表中的映射项信息为10A,其中,1为逻辑单元1的逻辑单元标识,0为快照时间点,A为对逻辑单元1在快照时间点0的数据进行写前拷贝时保存在共享存储设备中的存储地址,将映射项信息10A保存到共享映射表中与10对应的表项中;逻辑单元7中的数据在共享映射表中的映射项信息为70G,其中,7为逻辑单元7的逻辑单元标识,0为快照时间点,G为对逻辑单元7在快照时间点0的数据进行写前拷贝时保存在共享存储设备中的存储地址,将映射项信息70G保存到共享映射表中与70对应的表项中;
逻辑单元2和逻辑单元4的数据更新发生在快照时间点1(T1)之后,也就是说,在快照时间点1对逻辑单元2和逻辑单元4的数据进行了写前拷贝,因此,逻辑单元2中的数据在共享映射表中的映射项信息为21B,其中,2为逻辑单元2的逻辑单元标识,1为快照时间点,B为对逻辑单元2在快照时间点1的数据进行写前拷贝时保存在共享存储设备中的存储地址,将映射项信息21B保存到共享映射表中与21对应的表项中;逻辑单元4中的数据在共享映射表中的映射项信息为41D,其中,4为逻辑单元4的逻辑单元标识,1为快照时间点,D为对逻辑单元4在快照时间点1的数据进行写前拷贝时保存在共享存储设备中的存储地址,将映射项信息41D保存到共享映射表中与41对应的表项中;
逻辑单元5的数据更新发生在快照时间点2之后,也就是说,在快照时间点2对逻辑单元5的数据进行了写前拷贝,因此,逻辑单元5中的写数据在共享映射表中的映射项信息为52E,其中,5为逻辑单元5的逻辑单元标识,2为快照时间点,E为对逻辑单元5在快照时间点2的数据进行写前拷贝时保存在共享存储设备中的存储地址,将映射项信息52E保存到共享映射表中与52对应的表项中;
需要说明的是,在快照时间点0之后,在逻辑单元7中写入了新的数据,所以在快照时间点2之前,逻辑单元7中当前储存的数据(所需写前拷贝的数据)为快照时间点0之后在逻辑单元7中写入的新数据,在快照2时间点时,逻辑单元7中的写前拷贝数据对应的映射项信息为72S,其中,7为逻辑单元7的逻辑单元标识,2为快照时间点,S为对逻辑单元7在快照时间点2的数据进行写前拷贝时保存在共享存储设备中的存储地址,将映射项信息72S保存到共享映射表中与72对应的表项中。
图3所示的共享映射表中,在快照时间点0,只对逻辑单元1和逻辑单元7的数据进行了写前拷贝,而在快照时间点1,只对逻辑单元2和逻辑单元4中的数据进行写前拷贝,因此,快照时间点1时逻辑单元1中的数据共享了快照时间点0时逻辑单元1的写前拷贝数据,快照时间点1时逻辑单元7中的数据共享了快照时间点0时逻辑单元7的写前拷贝数据,而没有必要在快照时间点1时对逻辑单元1和逻辑单元7的数据中的数据再次进行写前拷贝,因此,可以实现每个生产卷中所有与同一个逻辑单元相关的激活快照共享同一份写前拷贝数据及对应的映射项信息,从而可以减少写前拷贝次数,能够提高快照数据的处理效率。而且每个快照时间点对应的写前拷贝数据只保存上一个快照时间点对应的写前拷贝数据与本次快照时间点对应的写前拷贝数据之间发生改变的数据,因此可以提高拷贝速度,节约存储空间。
在本实施例的一个可选实施方式中,本实施例的共享映射表可以采用共享树的形式实现,例如为B+树,需要说明的是,可以将每个映射项信息中包含的逻辑单元标识和快照时间点设为对应映射项信息的关键值信息,以便根据所述关键值信息查找B+树上的叶子节点。
图4为图2所示共享映射表的又一种具体实现形式的示意图,所述共享树包括一个根节点,所述根节点中包括至少一个父节点,其中,每个父节点对应一个逻辑单元,每个父节点中包括待进行写前拷贝的数据的逻辑单元标识,其中,父节点可以包括至少一个叶子节点,每个叶子节点中包含有已进行写前拷贝的数据映射项信息,根据图4所示的共享树,上述根据所述数据的逻辑单元标识和快照时间点,在预设的共享映射表中查找相应的表项,并将所述数据的映射项信息保存在所述表项中,具体实现可以为:根据所述数据的逻辑单元标识和快照时间点构成的关键值信息,查询所述共享树中相应的叶子节点;将所述数据的映射项信息保存在查找到的叶子节点中。
为了加快映射项信息的查询,当同一个父节点中包括多个叶子节点时,各叶子节点在父节点中的排列顺序为:根据各叶子节点对应的映射项信息中包含的快照时间点的大小,从小到大按序进行排列。如图4所示,本发明实施例采用B+树形式的共享映射表,在本实施例中,若逻辑单元0在快照时间点3和4分别进行了写前拷贝,则父节点0中包括了叶子节点03和04,也就是说叶子节点03和04中分别保存了对应的映射项信息,为了提高查找效率,可以将关键值信息03对应的叶子节点排列在关键值信息04对应的叶子节点之前,也就是说,根据快照时间点的大小按照从小到大的顺序排列叶子节点。
当然,本领域人员也可以理解的是,在具体的实现方式中,如果用其他共享树的形式保存映射信息,也可以按照快照时间点从大到小的顺序进行排列,只要能够达到提高查找映射项信息效率的目的即可,此处不进行限制。
本发明实施例根据接收到的写前拷贝请求中包含的待进行写前拷贝的数据,以及所述数据的逻辑单元标识和快照时间点,将所述数据保存到共享存储设备中,将所述数据的逻辑单元标识和快照时间点以及所述数据保存在共享存储设备中的存储地址作为所述数据的映射项信息,并将所述数据的映射项信息保存到共享映射表中,可以实现每个生产卷中所有与同一个逻辑单元相关的激活快照共享同一份写前拷贝数据及对应的映射项信息,从而可以减少写前拷贝次数,提高快照数据的处理效率。
本发明实施例中每个快照时间点对应的写前拷贝数据只保存上一个快照时间点对应的写前拷贝数据与本次快照时间点对应的写前拷贝数据之间发生改变的数据,因此,快照生成速度较快,而且也节约了存储空间。
本实施例将共享映射表储存在共享存储设备中,从而不会占用其他存储设备的存储资源和内存资源,保证了其他存储设备的数据业务的运行。
图5为本发明又一个实施例提供的数据处理方法的流程示意图,如图5所示,包括:
501、接收读请求,所述读请求中包含待读取数据的逻辑单元标识和快照时间点。
举例来说,任一需要向共享存储设备上的共享映射表中读取数据的网络实体可以向共享存储设备发送读请求。
需要说明的是,读请求中至少包括一个待读取数据的逻辑单元标识和快照时间点。
502、查询所述共享映射表。
本实施例的共享映射表为前述实施例中所述的共享映射表,详细内容参考图1所示实施例中的相关描述,此处不再赘述。
503、判断所述共享映射表中是否存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息,若是,则执行步骤504,否则执行步骤505。
在本实施例的一个可选实施方式中,若所述共享映射表为B+树,步骤503也可以为:根据所述逻辑单元标识和所述快照时间点,查询B+树中与所述逻辑单元标识对应的父节点,确定所述父节点中是否存在与所述逻辑单元标识和所述快照时间点对应的叶子节点,若是,则确定该叶子节点中保存有该叶子节点对应的映射项信息。
504、根据所述映射项信息中包含的存储地址,从所述共享存储设备中读取数据。
当所述共享映射表中存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息时,根据所述匹配的映射项信息中包含的存储地址,从所述共享存储设备中读取数据。
505、判断所述共享映射表中是否存在与所述逻辑单元标识对应的其他映射项信息,若是,则执行步骤507,否则执行步骤506。
当所述共享映射表中不存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息时,进一步判断所述共享映射表中是否存在与所述待读取数据的逻辑单元标识对应的其他映射项信息。
在本实施例的一个可选实施方式中,若所述共享映射表为B+树,步骤505也可以为:根据所述逻辑单元标识和所述快照时间点,查询B+树中与所述逻辑单元标识对应的父节点,确定所述父节点中不存在与所述逻辑单元标识和所述快照时间点对应的叶子节点时,则进一步确定所述父节点中是否存在与所述逻辑单元标识对应的其他叶子节点。
506、向其他存储设备发送所述读请求。
若确定共享映射表中不存在与所述逻辑单元标识和所述快照时间点匹配的映射项信息,且确定所述共享映射表中也不存在与所述逻辑单元标识对应的其他映射项信息,则确定所需读取的数据没有进行写前拷贝也就是说,所需读取的数据是存储在其他存储设备中与所述逻辑单元标识对应的逻辑单元中的当前数据。
将所述读请求发送给其他存储设备,以使其他存储设备根据读请求中包含的逻辑单元标识,从对应的逻辑单元中读取对应的数据。
507、判断所述其他映射项信息中是否存在快照时间点大于所述待读取数据的快照时间点的映射项信息,若是,则执行步骤508,否则执行步骤506。
将所述其他映射项信息中包含的快照时间点与所述读请求中包含的快照时间点进行比较,若确定其他映射项信息中包含的快照时间点均小于所述读请求中包含的快照时间点,则确定所需读取的数据不是写前拷贝数据,也就是说,所需读取的数据为存储在其他存储设备中与所述逻辑单元标识对应的逻辑单元中的当前数据。举例来说,若第一逻辑单元在快照时间点0和快照时间点1进行了写前拷贝,若读请求中包含的逻辑单元标识为1,快照时间点为2,也就是读请求中所需读取的数据为第一逻辑单元在快照时间点2的数据,虽然第一逻辑单元在快照时间点1进行了写前拷贝,但是在快照时间点1之后,第一逻辑单元中保存的数据已经进行了修改,又由于第一逻辑单元在快照时间点2没有进行写前拷贝,因此,确定待读取数据为保存在第一逻辑单元中的当前数据,将所述读请求发送给其他存储设备,以使其他存储设备根据读请求中包含的逻辑单元标识,从对应的逻辑单元中读取对应的数据。
508、将所述其他映射项信息中第一个大于所述读请求中包含的快照时间点的快照时间点对应的映射项信息确定为待读取数据的映射项信息,并根据确定的所述待读取数据的映射项信息中包含的存储地址从所述共享映射表中读取数据。
具体的,将所述其他映射项信息中包含的快照时间点与所述读请求中包含的快照时间点进行比较,当所述其他映射项信息中存在快照时间点大于所述待读取数据的快照时间点的映射项信息时,将所述其他映射项信息中第一个大于所述待读取数据的快照时间点的快照时间点对应的映射项信息确定为所述待读取数据的映射项信息,根据确定的所述待读取数据的映射项信息中包含的存储地址,从所述共享存储设备中读取数据。
举例来说,若第一逻辑单元在快照时间点2进行了写前拷贝,也就是说,在快照时间点2之前,对第一逻辑单元中保存的数据进行了写前拷贝,在快照时间点2之后,对第一逻辑单元中保存的数据进行了更新,例如,在快照时间点2之后,向第一逻辑单元中写入了新数据。若第一逻辑单元在快照时间点3进行了写前拷贝,在快照时间点3之前,对第一逻辑单元中保存的数据(即在快照时间点2之后向第一逻辑单元中写入的新数据)进行了写前拷贝。如果待读取数据的逻辑单元标识为1,快照时间点为1,也就是说,待读取数据为第一逻辑单元在快照时间点1的数据,由于则根据共享映射表,可以发现第一逻辑单元在快照时间点1没有进行写前拷贝,第一逻辑单元在快照时间点2和快照时间点3进行了写前拷贝,则可以读取第一逻辑单元在快照时间点2的数据,因为,第一逻辑单元在快照时间点2才进行了数据更新,因此,在快照时间点1时第一逻辑单元中保存的数据与第一逻辑单元在快照时间点2时进行写前拷贝的数据相同,也可以说,第一逻辑单元在快照时间点1共享其在快照时间点2的快照数据。
本发明实施例采用的共享映射表中保存有写同一个生产卷而产生的所有写前拷贝数据的映射项信息,因此,在共享映射表中查找多个映射项信息时只需遍历一次共享映射表,就能获取多个映射项信息,从而可以根据各映射项信息中包含的存储地址,获取各存储地址对应的数据并进行相关的快照数据处理,能够提高快照数据的读取效率。
图6为本发明又一个实施例提供的数据处理方法的流程示意图,如图6所示,包括:
601、接收其他存储设备发送的创建快照副本请求,所述创建快照副本请求中包含有要创建副本的数据的快照时间点。
举例来说,任一需要创建快照副本的网络实体可以向共享存储设备发送创建快照副本请求,所述创建快照副本请求中至少包含一个快照时间点。
602、查询所述共享映射表,获取与所述要创建副本的数据的快照时间点对应的映射项信息。
本实施例的共享映射表可以为前述实施例中所述的共享映射表,详细内容参考前述实施例中的相关描述,此处不再赘述。
603、将与所述要创建副本的数据的映射项信息指向的数据发送给其他储存设备,以使其他储存设备能够根据所述要创建副本的数据的映射项信息对应的数据创建与所述快照时间点对应的快照副本。
本实施例只需遍历一次共享映射表就能获取所需创建快照副本的快照时间点对应的映射项信息,从而能够将该映射项信息指向的数据发送给其他储存设备,以使其他存储设备能够创建相应的快照副本,提高了创建快照副本的效率。
图7为本发明又一个实施例提供的数据处理方法的流程示意图;如图7所示,包括:
701、接收禁用快照请求,所述禁用快照请求中包含有待禁用快照数据的快照时间点。
702、查询所述共享映射表,获取与所述待禁用快照数据的快照时间点对应的映射项信息。
703、判断所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据是否正在被共享,若是,则执行步骤704,否则执行步骤705。
704、暂缓禁用正在被共享的数据。即,等共享完后再禁用该正在被共享的数据。
705、禁用与所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据。
在本实施例的一个可选实施方式中,上述步骤703判断所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据是否正在被共享包括:
查询所述共享映射表,判断是否存在快照时间点小于所述待禁用快照数据的快照时间点的映射项信息;
若存在快照时间点小于所述待禁用快照数据的快照时间点的映射项信息,且则确定所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据没有被共享。
举例来说,图8为图7所示实施例应用的共享树的示意图,如图8所示,共享树中共有13个叶子节点,该13个叶子节点对应的逻辑单元标识和快照时间点分别为00、01、03、08、12、21、22、35、36、38、51、52和55,也就是说,该13个叶子节点中分别保存了对应的映射项信息,假设快照时间点1、快照时间点3和快照时间点6对应的快照数据是正在使用中的快照数据,假设需要禁用(删除)快照时间点0、快照时间点2、快照时间点4、快照时间点5、快照时间点7和快照时间点8对应的快照数据,需要分别确定快照时间点0、快照时间点2、快照时间点4、快照时间点5、快照时间点7和快照时间点8对应的快照数据是否正在被正在使用中的快照(快照时间点1、快照时间点3和快照时间点6对应的快照)所共享。
如图8所示,在快照时间点1没有对逻辑单元1的数据进行写前拷贝,因此,在共享映射表中没有相应的叶子节点11,在快照时间点2对逻辑单元1的数据进行了写前拷贝,因此,在共享映射表中存在叶子节点12,由此可知,快照时间点2的逻辑单元1的写前数据正在被快照时间点1的逻辑单元1所共享,而快照时间点1对应的快照是正在使用中的快照,因此,不能对叶子节点12对应的映射项信息以及该映射项信息所指向的数据删除。
如图8所示,在快照时间点3没有对逻辑单元3的数据进行写前拷贝,因此,在共享映射表中没有相应的叶子节点33,在快照时间点5对逻辑单元3的数据进行了写前拷贝,因此,在共享映射表中存在叶子节点35,由此可知,快照时间点5的逻辑单元3的写前数据正在被快照时间点3的逻辑单元3所共享,而快照时间点3对应的快照是正在使用中的快照,因此,不能对叶子节点35对应的映射项信息以及该映射项信息所指向的数据删除。
如图8所示,在快照时间点3没有对逻辑单元5的数据进行写前拷贝,因此,在共享映射表中没有相应的叶子节点53,在快照时间点5对逻辑单元5的数据进行了写前拷贝,因此,在共享映射表中存在叶子节点55,由此可知,快照时间点5的逻辑单元5的写前数据正在被快照时间点3的逻辑单元5所共享,而快照时间点3对应的快照是正在使用中的快照,因此,不能对叶子节点55对应的映射项信息以及该映射项信息所指向的数据删除。
如图8所示,在快照时间点6没有对逻辑单元0的数据进行写前拷贝,因此,在共享映射表中没有相应的叶子节点06,在快照时间点8对逻辑单元0的数据进行了写前拷贝,因此,在共享映射表中存在叶子节点08,由此可知,快照时间点8的逻辑单元0的写前数据正在被快照时间点6的逻辑单元0所共享,而快照时间点6对应的快照是正在使用中的快照,因此,不能对叶子节点08对应的映射项信息以及该映射项信息所指向的数据删除
如图8所示,在快照时间点0和快照时间点1都对逻辑单元0的数据进行写前拷贝,因此,在共享映射表中存在对应的叶子节点00、01,由此可知,快照时间点0的逻辑单元0的写前数据没有被快照时间点1的逻辑单元0所共享,而快照时间点0对应的快照数据是需要禁用的快照数据,因此,可以对叶子节点00对应的映射项信息以及该映射项信息所指向的数据删除。
如图8所示,在快照时间点1和快照时间点2都对逻辑单元2的数据进行写前拷贝,因此,在共享映射表中存在对应的叶子节点21、22,由此可知,快照时间点2的逻辑单元2的写前数据没有被快照时间点1的逻辑单元2所共享,而快照时间点2对应的快照数据是需要禁用的快照数据,因此,可以对叶子节点22对应的映射项信息以及该映射项信息所指向的数据删除。
如图8所示,在快照时间点6和快照时间点8都对逻辑单元3的数据进行写前拷贝,因此,在共享映射表中存在对应的叶子节点36、38,由此可知,快照时间点8的逻辑单元3的写前数据没有被快照时间点6的逻辑单元3所共享,而快照时间点8对应的快照数据是需要禁用的快照数据,因此,可以对叶子节点38对应的映射项信息以及该映射项信息所指向的数据删除。
如图8所示,在快照时间点1和快照时间点2都对逻辑单元5的数据进行写前拷贝,因此,在共享映射表中存在对应的叶子节点51、52,由此可知,快照时间点2的逻辑单元5的写前数据没有被快照时间点1的逻辑单元5所共享,而快照时间点2对应的快照数据是需要禁用的快照数据,因此,可以对叶子节点52对应的映射项信息以及该映射项信息所指向的数据删除。
在本实施例的一个可选实施方式中,上述判断所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据是否正在被共享,具体实现时,可以分别确定所述待禁用快照数据的快照时间点对应的映射项信息是否正在被共享或者所述待禁用快照数据的快照时间点对应的映射项信息所指向的写前拷贝数据是否正在被使用中,若是,则确定所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据正在被共享中。
本实施例只需遍历一次共享映射表就能获取所需禁用的快照时间点对应的映射项信息,从而能够将该映射项信息指向的数据进行禁用,提高了禁用快照数据的效率。
需要说明的是,本发明实施例所述的共享映射表还可以用于快照回滚、生产卷远程复制和生产卷拷贝等快照数据处理业务,本发明实施例采用的共享映射表中保存有写同一个生产卷而产生的所有写前拷贝数据的映射项信息,因此,在共享映射表中查找多个映射项信息时只需遍历一次共享映射表,就能获取多个映射项信息,从而可以根据各映射项信息中包含的存储地址,获取各存储地址对应的数据并进行相关的快照数据处理,能够提高快照数据的处理效率。
图9为本发明实施例提供的数据处理装置的结构示意图,包括:
接收模块91,用于接收其他存储设备发送的写前拷贝请求,所述写前拷贝请求中包含待进行写前拷贝的数据以及所述数据的逻辑单元标识和快照时间点;
存储模块92,用于将接收模块91接收的写前拷贝请求中包含的待进行写前拷贝的数据进行存储;
处理模块93,用于根据接收模块91接收的写前拷贝请求中包含的所述数据的逻辑单元标识和快照时间点,在预设的共享映射表中查找对应的表项,并将所述数据的映射项信息保存在所述对应的表项中,其中,所述映射项信息包括所述数据的逻辑单元标识、快照时间点以及所述数据在共享存储设备中的存储地址。
在本发明的一个可选实施方式中,所述共享映射表的表现形式包括共享树,所述共享树包括一个根节点,所述根节点中包括至少一个父节点,其中,每个父节点对应一个逻辑单元,每个父节点中包括待进行写前拷贝的数据的逻辑单元标识,其中,父节点可以包括至少一个叶子节点,每个叶子节点中包含有已进行写前拷贝的数据映射项信息;基于上述共享树,处理模块93,用于具体实现根据所述数据的逻辑单元标识,查询共享树,确定与逻辑单元标识对应的父节点,根据所述数据的逻辑单元标识和快照时间点,在确定的父节点中,确定与逻辑单元标识和快照时间点对应的叶子节点,将所述数据的映射项信息保存到对应的叶子节点中。
图10为本发明实施例提供的又一个数据处理装置的结构示意图,如图10所示,该装置在图9所示的装置的基础上,接收模块91,还用于接收读请求,所述读请求中包含待读取数据的逻辑单元标识和快照时间点;
所述数据处理装置还包括:
第一判断模块94,用于根据所述接收模块91接收的读请求,查询所述共享映射表,判断所述共享映射表中是否存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息;
读取模块95,用于当所述第一判断模块94判断所述共享映射表中存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息时,根据所述匹配的映射项信息中包含的存储地址,从所述共享存储设备中读取数据。
第二判断模块96,用于当所述第一判断模块94判断所述共享映射表中不存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息时,判断所述共享映射表中是否存在与所述待读取数据的逻辑单元标识对应的其他映射项信息;
第三判断模块97,用于当所述第二判断模块96判断所述共享映射表中存在与所述待读取数据的逻辑单元标识对应的其他映射项信息时,判断所述其他映射项信息中是否存在快照时间点大于所述待读取数据的快照时间点的映射项信息;
确定模块98,用于当所述第三判断模块97判断所述其他映射项信息中存在快照时间点大于所述待读取数据的快照时间点的映射项信息时,将所述其他映射项信息中第一个大于所述待读取数据的快照时间点的快照时间点对应的映射项信息确定为所述待读取数据的映射项信息;
读取模块95,还用于根据所述确定模块98确定的所述待读取数据的映射项信息中包含的存储地址,从所述共享存储设备中读取数据。
在本发明的一个可选实施方式中,接收模块91,还用于接收其他存储设备发送的创建快照副本请求,所述创建快照副本请求中包含有要创建副本的数据的快照时间点;
所述数据处理装置还包括:
获取模块99,用于根据所述接收模块91接收的快照时间点,查询所述共享映射表,获取与所述要创建副本的数据的快照时间点对应的映射项信息;
发送模块90,用于根据所述获取模块99获取的与所述要创建副本的数据的快照时间点对应的映射项信息,将所述映射项信息所指向的数据发送给其他储存设备,以使其他储存设备能够根据所述要创建副本的数据的映射项信息所指向的数据创建与所述快照时间点对应的快照副本。
在本发明的一个可选实施方式中,接收模块91,还用于接收禁用快照请求,所述禁用快照请求中包含有待禁用快照数据的快照时间点;
获取模块99,还用于根据所述接收模块接收的快照时间点,查询所述共享映射表,获取与所述待禁用快照数据的快照时间点对应的映射项信息;
所述数据处理装置还包括:
第四判断模块910,用于根据所述获取模块99获取的与所述待禁用快照数据的快照时间点对应的映射项信息,判断所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据是否正在被共享;
禁用处理模块911,用于当所述第四判断模块910判断所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据正在被共享时,等共享完后再禁用正在被共享的快照数据,否则,禁用与所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据。
其中,第四判断模块910,包括:
第一判断子模块,用于查询所述共享映射表,判断是否存在快照时间点小于所述待禁用快照数据的快照时间点的映射项信息;
共享数据确定子模块,用于当所述第一判断子模块判断存在快照时间点小于所述待禁用快照数据的快照时间点的映射项信息时,确定所述待禁用快照数据的快照时间点对应的映射项信息及对应的数据没有被共享。
本实施例所述装置只需遍历一次共享映射表就能获取所需进行快照业务处理的各映射项信息及对应的写前拷贝数据,从而进行相应的快照业务,能够提高快照数据处理的效率。
图11为本发明实施例提供的共享存储设备的结构示意图,包括一个处理器和硬盘,当该处理器运行时,执行以下步骤:
处理器接收其他存储设备发送的写前拷贝请求,所述写前拷贝请求中包含待进行写前拷贝的数据以及所述数据的逻辑单元标识和快照时间点;
所述处理器将待进行写前拷贝的数据保存在硬盘中;
所述处理器根据所述数据的逻辑单元标识和快照时间点,在预设的共享映射表中查找对应的表项,并将所述数据的映射项信息保存在所述对应的表项中,其中,所述映射项信息包括所述数据的逻辑单元标识、快照时间点以及所述数据在共享存储设备中的存储地址。
在本发明的一个可选实施方式中,当该处理器运行时,还执行以下步骤:
所述处理器接收读请求,所述读请求中包含待读取数据的逻辑单元标识和快照时间点;
查询所述共享映射表,判断所述共享映射表中是否存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息;
当所述共享映射表中存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息时,根据所述匹配的映射项信息中包含的存储地址,从所述硬盘中读取数据。
本实施例所述共享存储设备只需遍历一次共享映射表就能获取所需进行快照业务处理的映射项信息及对应的写前拷贝数据,从而进行相应的快照业务,能够提高快照数据处理的效率。
可以理解的是,本发明实施例所示的共享存储设备中的处理器在执行过程中,还可以执行图5-6中所示实施例所述的数据处理方法,具体可以参见前述方法实施例的描述,在此不再赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述实施例中所述各种方法可以结合使用,也可以单独使用,当然,上述实施例中的各种装置也可以相互结合使用或单独使用,在此不做限定。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
共享存储设备接收其他存储设备发送的写前拷贝请求,所述写前拷贝请求中包含待进行写前拷贝的数据以及所述数据的逻辑单元标识和快照时间点;
保存所述数据;
根据所述数据的逻辑单元标识和快照时间点,在预设的共享映射表中查找对应的表项,并将所述数据的映射项信息保存在所述对应的表项中,其中,所述映射项信息包括所述数据的逻辑单元标识、快照时间点以及所述数据在共享存储设备中的存储地址;
其中,所述数据的逻辑单元标识为写前拷贝之前所述数据存储在其他存储设备中的逻辑单元的标识,所述逻辑单元标识是逻辑单元的序号,所述快照时间点为对所述数据进行写前拷贝的快照时间点,所述快照时间点是快照被激活的先后顺序的序列号。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收读请求,所述读请求中包含待读取数据的逻辑单元标识和快照时间点;
查询所述共享映射表,判断所述共享映射表中是否存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息;
当所述共享映射表中存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息时,根据所述匹配的映射项信息中包含的存储地址从所述共享存储设备中读取数据。
3.根据权利要求2所述的方法,其特征在于,在所述共享映射表中,具有相同逻辑单元标识的映射项信息按照快照时间点从小到大的顺序进行排列,所述方法还包括:
当所述共享映射表中不存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息时,判断所述共享映射表中是否存在与所述待读取数据的逻辑单元标识对应的其他映射项信息;
当所述共享映射表中存在与所述待读取数据的逻辑单元标识对应的其他映射项信息时,判断所述其他映射项信息中是否存在快照时间点大于所述待读取数据的快照时间点的映射项信息;
当所述其他映射项信息中存在快照时间点大于所述待读取数据的快照时间点的映射项信息时,将所述其他映射项信息中第一个大于所述待读取数据的快照时间点的快照时间点对应的映射项信息确定为所述待读取数据的映射项信息;
根据所述待读取数据的映射项信息中包含的存储地址,从所述共享存储设备中读取数据。
4.根据权利要求1-3中任一项所述的方法,其特征在于,还包括:
接收其他存储设备发送的创建快照副本请求,所述创建快照副本请求中包含有要创建副本的数据的快照时间点;
查询所述共享映射表,获取与所述要创建副本的数据的快照时间点对应的映射项信息;
将与所述要创建副本的数据的映射项信息指向的数据发送给其他储存设备,以使其他储存设备能够根据所述要创建副本的数据的映射项信息对应的数据创建与所述快照时间点对应的快照副本。
5.根据权利要求1-3中任一项所述的方法,其特征在于,还包括:
接收禁用快照请求,所述禁用快照请求中包含有待禁用快照数据的快照时间点;
查询所述共享映射表,获取与所述待禁用快照数据的快照时间点对应的映射项信息;
判断所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据是否正在被共享,若是,则等共享完了以后再禁用正在被共享的数据,否则,禁用与所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据。
6.根据权利要求5所述的方法,其特征在于,所述判断所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据是否正在被共享包括:
查询所述共享映射表,判断是否存在快照时间点小于所述待禁用快照数据的快照时间点的映射项信息;
若存在快照时间点小于所述待禁用快照数据的快照时间点的映射项信息,则确定所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据没有被共享。
7.根据权利要求1-3中任一项所述的方法,其特征在于,所述共享映射表的表现形式包括共享树;
所述根据所述数据的逻辑单元标识和快照时间点,在预设的共享映射表中查找相应的表项,并将所述数据的映射项信息保存在所述表项中,包括:
根据所述数据的逻辑单元标识和快照时间点构成的关键值信息,查询所述共享树中相应的叶子节点;
将所述数据的映射项信息保存在查找到的叶子节点中。
8.一种数据处理装置,其特征在于,包括:
接收模块,用于接收其他存储设备发送的写前拷贝请求,所述写前拷贝请求中包含待进行写前拷贝的数据以及所述数据的逻辑单元标识和快照时间点;
存储模块,用于存储所述数据;
处理模块,用于根据所述数据的逻辑单元标识和快照时间点,在预设的共享映射表中查找对应的表项,并将所述数据的映射项信息保存在所述对应的表项中,其中,所述映射项信息包括所述数据的逻辑单元标识、快照时间点以及所述数据在共享存储设备中的存储地址;
其中,所述数据的逻辑单元标识为写前拷贝之前所述数据存储在其他存储设备中的逻辑单元的标识,所述逻辑单元标识为逻辑单元的序号,所述快照时间点为对所述数据进行写前拷贝的快照时间点,所述快照时间点是快照被激活的先后顺序的序列号。
9.根据权利要求8所述的装置,其特征在于,所述接收模块,还用于接收读请求,所述读请求中包含待读取数据的逻辑单元标识和快照时间点;
所述数据处理装置还包括:
第一判断模块,用于根据所述接收模块接收的读请求,查询所述共享映射表,判断所述共享映射表中是否存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息;
读取模块,用于当所述第一判断模块判断所述共享映射表中存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息时,根据所述匹配的映射项信息中包含的存储地址,从所述共享存储设备中读取数据。
10.根据权利要求9所述的装置,其特征在于,在所述共享映射表中,具有相同逻辑单元标识的映射项信息按照快照时间点从小到大的顺序进行排列,所述装置还包括:
第二判断模块,用于当所述第一判断模块判断所述共享映射表中不存在与所述待读取数据的逻辑单元标识和快照时间点匹配的映射项信息时,判断所述共享映射表中是否存在与所述待读取数据的逻辑单元标识对应的其他映射项信息;
第三判断模块,用于当所述第二判断模块判断所述共享映射表中存在与所述待读取数据的逻辑单元标识对应的其他映射项信息时,判断所述其他映射项信息中是否存在快照时间点大于所述待读取数据的快照时间点的映射项信息;
确定模块,用于当所述第三判断模块判断所述其他映射项信息中存在快照时间点大于所述待读取数据的快照时间点的映射项信息时,将所述其他映射项信息中第一个大于所述待读取数据的快照时间点的快照时间点对应的映射项信息确定为所述待读取数据的映射项信息;
所述读取模块,还用于根据所述确定模块确定的所述待读取数据的映射项信息中包含的存储地址,从所述共享存储设备中读取数据。
11.根据权利要求8-10中任一项所述的装置,其特征在于,所述接收模块,还用于接收其他存储设备发送的创建快照副本请求,所述创建快照副本请求中包含有要创建副本的数据的快照时间点;
所述数据处理装置还包括:
获取模块,用于根据所述接收模块接收的快照时间点,查询所述共享映射表,获取与所述要创建副本的数据的快照时间点对应的映射项信息;
发送模块,用于根据所述获取模块获取的与所述要创建副本的数据的快照时间点对应的映射项信息,将所述映射项信息所指向的数据发送给其他储存设备,以使其他储存设备能够根据所述要创建副本的数据的映射项信息所指向的数据创建与所述快照时间点对应的快照副本。
12.根据权利要求8-10中任一项所述的装置,其特征在于,所述接收模块,还用于接收禁用快照请求,所述禁用快照请求中包含有待禁用快照数据的快照时间点;
所述数据处理装置还包括:
获取模块,用于根据所述接收模块接收的快照时间点,查询所述共享映射表,获取与所述待禁用快照数据的快照时间点对应的映射项信息;
第四判断模块,用于根据所述获取模块获取的与所述待禁用快照数据的快照时间点对应的映射项信息,判断所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据是否正在被共享;
禁用处理模块,用于当所述第四判断模块判断所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据正在被共享时,则等共享完了以后再禁用正在被共享的快照数据,否则,禁用与所述待禁用快照数据的快照时间点对应的映射项信息所指向的数据。
13.根据权利要求12所述的装置,其特征在于,所述第四判断模块,包括:
第一判断子模块,用于查询所述共享映射表,判断是否存在快照时间点小于所述待禁用快照数据的快照时间点的映射项信息;
共享数据确定子模块,用于当所述第一判断子模块判断存在快照时间点小于所述待禁用快照数据的快照时间点的映射项信息时,确定所述待禁用快照数据的快照时间点对应的映射项信息及对应的数据没有被共享。
14.根据权利要求8-10中任一项所述的装置,其特征在于,所述共享映射表的表现形式包括共享树;
所述处理模块具体用于根据所述数据的逻辑单元标识和快照时间点构成的关键值信息,查询所述共享树中相应的叶子节点,将所述数据的映射项信息保存在查找到的叶子节点中。
15.一种共享存储设备,其特征在于,包括:如权利要求8-14中任一项所述的数据处理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210246856.8A CN103544077B (zh) | 2012-07-17 | 2012-07-17 | 数据处理方法及装置、共享存储设备 |
PCT/CN2013/074993 WO2014012390A1 (zh) | 2012-07-17 | 2013-04-28 | 数据处理方法及装置、共享存储设备 |
EP13820178.5A EP2863310B1 (en) | 2012-07-17 | 2013-04-28 | Data processing method and apparatus, and shared storage device |
US14/599,673 US9952783B2 (en) | 2012-07-17 | 2015-01-19 | Data processing method and apparatus, and shared storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210246856.8A CN103544077B (zh) | 2012-07-17 | 2012-07-17 | 数据处理方法及装置、共享存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103544077A CN103544077A (zh) | 2014-01-29 |
CN103544077B true CN103544077B (zh) | 2016-12-07 |
Family
ID=49948238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210246856.8A Active CN103544077B (zh) | 2012-07-17 | 2012-07-17 | 数据处理方法及装置、共享存储设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9952783B2 (zh) |
EP (1) | EP2863310B1 (zh) |
CN (1) | CN103544077B (zh) |
WO (1) | WO2014012390A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11733908B2 (en) | 2013-01-10 | 2023-08-22 | Pure Storage, Inc. | Delaying deletion of a dataset |
US9589008B2 (en) * | 2013-01-10 | 2017-03-07 | Pure Storage, Inc. | Deduplication of volume regions |
US10908835B1 (en) | 2013-01-10 | 2021-02-02 | Pure Storage, Inc. | Reversing deletion of a virtual machine |
CN105094788A (zh) * | 2014-05-22 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种数据处理方法,数据端以及应用端 |
US9921769B2 (en) | 2014-06-19 | 2018-03-20 | Cohesity, Inc. | Making more active use of a secondary storage system |
WO2016108111A1 (en) * | 2014-12-28 | 2016-07-07 | Strato Scale Ltd. | Recovery synchronization in a distributed storage system |
US9880755B2 (en) | 2015-02-25 | 2018-01-30 | Western Digital Technologies, Inc. | System and method for copy on write on an SSD |
CN106294205B (zh) * | 2015-05-15 | 2019-12-10 | 北京国双科技有限公司 | 缓存数据处理方法及装置 |
CN107844259B (zh) * | 2016-09-18 | 2020-06-16 | 华为技术有限公司 | 数据访问方法、路由装置和存储系统 |
CN107291400B (zh) * | 2017-06-30 | 2020-07-28 | 苏州浪潮智能科技有限公司 | 一种快照卷关系模拟方法及装置 |
CN110096456A (zh) * | 2019-05-13 | 2019-08-06 | 成都定为电子技术有限公司 | 一种高速率大容量缓存方法与装置 |
CN110515543B (zh) * | 2019-08-02 | 2021-02-19 | 星辰天合(北京)数据科技有限公司 | 基于对象存储桶的快照方法、装置和系统 |
CN110516479B (zh) * | 2019-08-16 | 2021-08-10 | 济南浪潮数据技术有限公司 | 一种数据写入方法及相关装置 |
CN111538864B (zh) * | 2020-03-25 | 2023-03-31 | 新华三技术有限公司合肥分公司 | 一种减少Buildrun消耗的方法及装置 |
US11579983B2 (en) * | 2021-01-19 | 2023-02-14 | EMC IP Holding Company LLC | Snapshot performance optimizations |
US20230029677A1 (en) * | 2021-07-29 | 2023-02-02 | Nutanix, Inc. | Technique for efficiently indexing data of an archival storage system |
US11620059B1 (en) * | 2021-10-04 | 2023-04-04 | International Business Machines Corporation | Optimization of file system snapshot performance in hybrid storage deployments |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040158566A1 (en) * | 2003-02-07 | 2004-08-12 | Fay Chong | Snapshot by deferred propagation |
CN101329642A (zh) * | 2008-06-11 | 2008-12-24 | 华中科技大学 | 基于时间戳日志存储的连续数据保护和恢复方法 |
CN101937378A (zh) * | 2009-07-01 | 2011-01-05 | 联想(北京)有限公司 | 一种对存储设备的数据进行备份保护的方法及计算机系统 |
US8082407B1 (en) * | 2007-04-17 | 2011-12-20 | American Megatrends, Inc. | Writable snapshots for boot consolidation |
CN102521269A (zh) * | 2011-11-22 | 2012-06-27 | 清华大学 | 一种基于索引的计算机连续数据保护方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434681B1 (en) | 1999-12-02 | 2002-08-13 | Emc Corporation | Snapshot copy facility for a data storage system permitting continued host read/write access |
JP4292882B2 (ja) | 2003-03-18 | 2009-07-08 | 株式会社日立製作所 | 複数のスナップショット維持方法及びサーバ装置及びストレージ装置 |
US7373366B1 (en) * | 2005-06-10 | 2008-05-13 | American Megatrends, Inc. | Method, system, apparatus, and computer-readable medium for taking and managing snapshots of a storage volume |
CN100520728C (zh) | 2006-04-28 | 2009-07-29 | 英业达股份有限公司 | 采用位映像表算法处理存储设备快照的方法 |
TWI316188B (en) * | 2006-05-17 | 2009-10-21 | Ind Tech Res Inst | Mechanism and method to snapshot data |
US20070288711A1 (en) * | 2006-06-08 | 2007-12-13 | Inventec Corporation | Snapshot copy management method used for logic volume manager |
US7593973B2 (en) * | 2006-11-15 | 2009-09-22 | Dot Hill Systems Corp. | Method and apparatus for transferring snapshot data |
-
2012
- 2012-07-17 CN CN201210246856.8A patent/CN103544077B/zh active Active
-
2013
- 2013-04-28 EP EP13820178.5A patent/EP2863310B1/en active Active
- 2013-04-28 WO PCT/CN2013/074993 patent/WO2014012390A1/zh active Application Filing
-
2015
- 2015-01-19 US US14/599,673 patent/US9952783B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040158566A1 (en) * | 2003-02-07 | 2004-08-12 | Fay Chong | Snapshot by deferred propagation |
US8082407B1 (en) * | 2007-04-17 | 2011-12-20 | American Megatrends, Inc. | Writable snapshots for boot consolidation |
CN101329642A (zh) * | 2008-06-11 | 2008-12-24 | 华中科技大学 | 基于时间戳日志存储的连续数据保护和恢复方法 |
CN101937378A (zh) * | 2009-07-01 | 2011-01-05 | 联想(北京)有限公司 | 一种对存储设备的数据进行备份保护的方法及计算机系统 |
CN102521269A (zh) * | 2011-11-22 | 2012-06-27 | 清华大学 | 一种基于索引的计算机连续数据保护方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2863310B1 (en) | 2018-05-30 |
US20150143065A1 (en) | 2015-05-21 |
EP2863310A1 (en) | 2015-04-22 |
WO2014012390A1 (zh) | 2014-01-23 |
CN103544077A (zh) | 2014-01-29 |
US9952783B2 (en) | 2018-04-24 |
EP2863310A4 (en) | 2015-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103544077B (zh) | 数据处理方法及装置、共享存储设备 | |
CN104135539B (zh) | 数据存储方法、sdn控制器和分布式网络存储系统 | |
CN104794162B (zh) | 实时数据存储与查询方法 | |
CN105938457B (zh) | 数据的过滤方法、装置及数据读取系统 | |
CN103164490B (zh) | 一种不固定长度数据的高效存储实现方法和装置 | |
CN107038123A (zh) | 用于数据处理系统中的缓存一致性的探听过滤器 | |
JP6222680B2 (ja) | 位置情報サービスを実施するための方法、装置、およびシステム | |
CN106021016A (zh) | 在快照之间的虚拟时间点访问 | |
CN109213699A (zh) | 一种元数据管理方法、系统、设备及计算机可读存储介质 | |
CN103914522A (zh) | 一种应用于云存储重复数据删除的数据块合并方法 | |
CN107391554A (zh) | 高效分布式局部敏感哈希方法 | |
CN101819543A (zh) | 快照数据处理方法和系统以及存储设备 | |
CN105677904B (zh) | 基于分布式文件系统的小文件存储方法及装置 | |
CN103019953A (zh) | 一种元数据的构建系统及其方法 | |
CN106776823A (zh) | 一种时序数据管理方法、设备和装置 | |
CN110532201A (zh) | 一种元数据处理方法及装置 | |
CN104615504A (zh) | 一种实现数据保护的方法及装置 | |
CN103858125A (zh) | 重复数据处理方法、装置及存储控制器和存储节点 | |
WO2013138441A1 (en) | Systems, methods, and software for computing reachability in large graphs | |
CN103164167A (zh) | 一种数据迁移方法及装置 | |
CN102694801A (zh) | 病毒检测方法、装置以及防火墙设备 | |
CN105677252B (zh) | 读数据的方法、数据处理方法及相关存储设备 | |
CN109683825A (zh) | 一种存储系统在线数据压缩方法、装置及设备 | |
CN110427347A (zh) | 重复数据删除的方法、装置、存储节点及存储介质 | |
CN104899161A (zh) | 一种基于云存储环境的连续数据保护的缓存方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |