CN103761190B - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN103761190B CN103761190B CN201310704287.1A CN201310704287A CN103761190B CN 103761190 B CN103761190 B CN 103761190B CN 201310704287 A CN201310704287 A CN 201310704287A CN 103761190 B CN103761190 B CN 103761190B
- Authority
- CN
- China
- Prior art keywords
- temporal information
- mapping relations
- data
- logical address
- physical address
- 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
Abstract
本发明公开了一种数据处理方法及装置,属于存储技术领域。该方法包括:接收写数据请求,写数据请求包括逻辑地址和数据;为逻辑地址分配物理地址;根据接收写数据请求的时间信息,创建映射关系,映射关系包括关键信息与数据的对应关系,关键信息包括时间信息、逻辑地址和物理地址;将映射关系保存在存储器中。本发明对于同一个逻辑地址在不同时间写入的数据,以不同的物理地址和不同的时间信息进行保存,从而在后续的恢复过程中,可以基于随机时间点进行恢复,且不对数据进行实际备份,减少了对系统资源的占用。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种数据处理方法及装置。
背景技术
目前,在存储系统中通常采用快照的方式来实现数据备份。预先设置好进行快照的时间点,定时对IO请求中待写入的地址中存储的数据进行快照,当需要恢复某个时间点的数据时,再将快照数据转化为备份或副本数据。但是这种技术无法将数据恢复到任意时间点,而只能恢复到快照时间点。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据处理方法及装置。所述技术方案如下:
第一方面,提供了一种数据处理方法,所述方法应用于存储设备中,所述存储设备包括存储器,所述方法包括:
所述存储设备接收写数据请求,所述写数据请求包括逻辑地址和数据;
为所述逻辑地址分配物理地址;
根据接收所述写数据请求的时间信息,创建映射关系,所述映射关系包括关键信息与所述数据的对应关系,所述关键信息包括所述时间信息、所述逻辑地址和所述物理地址;
将所述映射关系保存在所述存储器中。
结合第一方面,在本发明实施例提供的第一种可能实现方式中,还包括:接收读数据请求,所述读数据请求包括所述逻辑地址;
确定所述逻辑地址对应的最新的时间是所述时间信息;
根据所述映射关系,确定所述时间信息对应的物理地址;
根据所述物理地址,获得所述数据。
结合第一方面上述任一种可能实现方式,在第一方面提供的第二种可能实现方式中,还包括:预先设置保护时间段;
确定所述时间信息在所述保护时间段内。
结合第一方面上述任一种可能实现方式,在第一方面提供的第三种可能实现方式中,还包括:所述读数据请求还携带指定时间信息,根据所述物理地址,获得所述数据之前还包括:
确定所述时间信息为所述存储器中所保存的映射关系中在所述指定时间信息之前且与所述指定时间信息之间时间间隔最短的时间信息。
结合第一方面上述任一种可能实现方式,在第一方面提供的第四种可能实现方式中,还包括:当所述写数据请求所携带的逻辑地址为源LUN时,释放所述时间信息之后的时间信息对应的映射关系中的物理地址。
第二方面,提供了一种数据处理装置,所述装置包括:
接收模块,用于接收写数据请求,所述写数据请求包括逻辑地址和数据;
分配模块,用于为所述逻辑地址分配物理地址;
映射关系创建模块,用于根据接收所述写数据请求的时间信息,创建映射关系,所述映射关系包括关键信息与所述数据的对应关系,所述关键信息包括所述时间信息、所述逻辑地址和所述物理地址;
保存模块,用于保存所述映射关系。
结合第二方面,在第二方面提供的第一种可能实现方式中,还包括:所述接收模块还用于接收读数据请求,所述读数据请求包括所述逻辑地址;
所述装置还包括:时间信息确定模块,用于确定所述逻辑地址对应的最新的时间是所述时间信息;
物理地址确定模块,用于根据所述映射关系,确定所述时间信息对应的物理地址;
获取模块,用于根据所述物理地址,获得所述数据。
结合第二方面的上述任一可能实现方式,在第二方面提供的第二种可能实现方式中,所述装置还包括:
设置模块,用于预先设置保护时间段;
所述时间信息确定模块还用于确定所述时间信息在所述保护时间段内。
结合第二方面,在第二方面提供的第三种可能实现方式中,所述读数据请求还携带指定时间信息,所述处理器还用于确定所述时间信息为所述存储器中所保存的映射关系中在所述指定时间信息之前且与所述指定时间信息之间时间间隔最短的时间信息。
结合第二方面的上述任一可能实现方式,在第二方面提供的第四种可能实现方式中,所述装置还包括:
释放模块,用于当所述写数据请求所携带的逻辑地址为源LUN时,释放所述时间信息之后的时间信息对应的映射关系中的物理地址。
本发明实施例提供的技术方案带来的有益效果是:
通过该存储设备接收写数据请求,该写数据请求包括逻辑地址和数据,为该逻辑地址分配物理地址,根据接收该写数据请求的时间信息,创建映射关系,该映射关系包括关键信息与该数据的对应关系,该关键信息包括该时间信息、该逻辑地址和该物理地址,将该映射关系保存在该存储器中。采用本发明实施例提供的方法,使得在接收到写数据请求时,建立包括该写数据请求发生的时间信息、写数据请求的逻辑地址以及为当前写数据请求所分配的物理地址之间的映射关系,对于同一个逻辑地址在不同时间写入的数据,以不同的物理地址和不同的时间信息进行保存,从而在后续的恢复过程中,可以基于随机时间点进行恢复,且不对数据进行实际备份,减少了对系统资源的占用。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的应用场景图;
图1是本发明实施例提供的数据处理方法流程图;
图2是本发明实施例提供的数据处理方法流程图;
图3是本发明实施例提供的数据恢复的流程图;
图4是本发明实施例提供的存储设备的示意图;
图5是本发明实施例提供的一种数据处理装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供的数据处理方法可以在存储系统上实现,如图1a所示,该存储系统包括主机、存储设备和连接设备。
主机可以包括当前技术已知的任何计算设备,如服务器、台式计算机等等。在主机内部,安装有操作系统以及其他应用程序。
存储设备可以包括当前技术已知的存储设备,如独立磁盘冗余阵列(Redundant Arrays of Independent Disks,RAID)、磁盘簇(Just a Bunch Of Disks,JBOD)、直接存取存储器(Direct Access Storage Device,DASD)的一个或多个互连的磁盘驱动器,诸如磁带库、一个或多个存储单元的磁带存储设备。
连接设备可以包括当前技术已知的存储设备和主机之间的任何接口,如光纤交换机,或者其他现有的交换机。
需要说明的是,对于大多数存储设备而言,并不直接对操作系统呈现存储设备所包含的物理磁盘本身,而是将各物理磁盘提供的存储空间映射为一段逻辑区域,即逻辑存储单元(Logical Unit Number,LUN),供用户使用。因此,操作系统对磁盘进行的读写操作实际上是在LUN层面进行的操作。
而对于存储设备来说,为例简化存储资源的配置管理,提出了一种自动精简配置技术,该自动精简配置技术是从传统的空间分配方式直接演化而来的一中存储虚拟化技术,自动精简配置技术不会一次性的划分过大的空间给主机的某个应用程序,而是根据该应用程序实际所需要的容量,多次的少量的分配给应用程序,当该应用程序所产生的数据增长,分配的容量空间已不够的时候,会再次从存储设备中补充分配一部分存储空间。在自动精简配置技术中,在接收到写数据请求时,会根据写数据请求所携带的逻辑地址,为该写数据请求的数据分配物理地址,将数据按照分配的物理地址写入存储器后,会根据逻辑地址和分配的物理地址创建映射关系,以确定数据的逻辑存储位置和实际存储位置。
图1是本发明实施例提供的一种数据处理方法的流程图。该实施例的执行主体为存储设备,参见图1,该方法包括:
101、该存储设备接收写数据请求,该写数据请求包括逻辑地址和数据。
102、为该逻辑地址分配物理地址。
103、根据接收该写数据请求的时间信息,创建映射关系,该映射关系包括关键信息与该数据的对应关系,该关键信息包括该时间信息、该逻辑地址和该物理地址。
104、将该映射关系保存在该存储器中。
本发明实施例提供的方法,通过该存储设备接收写数据请求,该写数据请求包括逻辑地址和数据,为该逻辑地址分配物理地址,根据接收该写数据请求的时间信息,创建映射关系,该映射关系包括关键信息与该数据的对应关系,该关键信息包括该时间信息、该逻辑地址和该物理地址,将该映射关系保存在该存储器中。采用本发明实施例提供的方法,使得在接收到写数据请求时,建立包括该写数据请求发生的时间信息、写数据请求的逻辑地址以及为当前写数据请求所分配的物理地址之间的映射关系,对于同一个逻辑地址在不同时间写入的数据,以不同的物理地址和不同的时间信息进行保存,从而在后续的恢复过程中,可以基于随机时间点进行恢复,且不对数据进行实际备份,减少了对系统资源的占用。
图2是本发明实施例提供的另一种数据处理方法的流程图。该实施例的执行主体为存储设备,参见图2,该方法包括:
201、预先设置源LUN的保护时间段。
为了避免由于对所有数据均进行备份而造成的对存储资源的过渡占用,可以预先设置源LUN的保护时间段,以保证所备份的数据均处于该保护时间段内。因此,在第一次进行数据备份之前,用户可以在存储设备提供的设置界面中设置源LUN(Logical Unit Number,逻辑单元号)的保护时间段,如,可以将源LUN的保护时间段设置为最近一个月,或最近几天等。存储设备获取用户设置的源LUN的保护时间段,并将源LUN的保护时间段与该源LUN对应保存,在进行持续数据备份时,可以直接读取该源LUN的保护时间段。
202、接收写数据请求,所述写数据请求包括逻辑地址和数据。
对于自动精简配置技术来说,当接收到对源LUN的逻辑地址的写数据请求时,则从空闲物理空间中为该逻辑地址分配物理地址。
203、为该逻辑地址分配物理地址。
该物理地址与该映射关系中已存储的逻辑地址所对应的物理地址不同。
可选地,每当创建一个新的映射关系,则需要将该新的映射关系存储于存储器的相应区域,则每当接收到写数据请求,则可以判断当前存储器中是否有已存储的映射关系,如果有,则判断已存储的映射关系中该逻辑地址所对应的时间信息中的最新时间信息是否在保护时间段中,当确定在保护时间段内,则为逻辑地址分配物理地址,如果确定在不保护时间段内,则将该最新时间信息对应的物理地址分配给该逻辑地址。当然,如果没有,则无需进行判断。
204、将该数据写入该物理地址。
为逻辑地址分配了物理地址之后,将该写数据请求对应的数据写入该物理地址,当前该物理地址中保存了该逻辑地址对应的最新数据。
205、根据接收所述写数据请求的时间信息,创建映射关系,所述映射关系包括关键信息与所述数据的对应关系,所述关键信息包括所述时间信息、所述逻辑地址和所述物理地址。
其中,时间信息为接收到该写数据请求的时间。已存储的映射关系可以包括多组映射关系,每组映射关系中均包括时间信息、所述逻辑地址和所述物理地址与数据的对应关系。对于每个写数据请求,数据均存储于不同的物理地址中,且对于同一个逻辑地址来说,其可以对应多个数据,每个数据均对应于不同的物理地址、时间信息。
206、将映射关系保存在存储器中。
其中,每一个映射关系包括KEY值以及与该KEY值对应的VALUE值,且任意两个映射关系的KEY值均不相同,使得每一个映射关系的KEY值仅与其本身的VALUE值对应,存储设备可以通过KEY值找到与之唯一对应的VALUE值。为了能够记录持续备份的多个数据的逻辑地址、时间信息和物理地址的对应关系,映射关系的KEY值包括逻辑地址和时间信息,VALUE值包括物理地址。如果当前已保存了多项映射关系,则可以根据新创建的映射关系对其进行更新。
例如,在本次写数据请求之前,存储设备保存的映射关系可以用LUN映射表的形式表示,该LUN映射表如表1所示,LUN映射表中包括3个映射关系,分别为KEY值源LUN的逻辑地址L1和写入时间T1对应于VALUE值物理地址P1,KEY值源LUN的逻辑地址L2和写入时间T1对应于VALUE值物理地址P2,KEY值源LUN的逻辑地址L3和写入时间T1对应于VALUE值物理地址P3,当存储设备在T2时刻对源LUN的逻辑地址L1进行写数据请求时,则第一逻辑地址为L1,第一物理地址为P1,假设存储设备获取到源LUN的保护时间段为5天,T1在T2之前1天,则可以获知T1在源LUN的保护时间段内,则为第一逻辑地址L1分配第二物理地址P4,存储设备将写数据请求对应的数据写入第二物理地址P4,在LUN映射表中创建KEY值为L1和T2,VALUE值为P4的映射关系,如表2所示,更新后的LUN映射表中包括原有的表1中的3个映射关系,以及刚创建的1个映射关系,该刚创建的1个映射关系为KEY值源LUN的逻辑地址L1和写入时间T2对应于VALUE值物理地址P4。
表1
KEY值 | VALUE值 |
L1T1 | P1 |
L2T1 | P2 |
L3T1 | P3 |
表2
KEY值 | VALUE值 |
L1T1 | P1 |
L2T1 | P2 |
L3T1 | P3 |
L1T2 | P4 |
进一步地,该LUN映射表中的映射关系可以按照KEY值由小到大的顺序或其他顺序进行排列。为了能够从LUN映射表中快速地查找到某一逻辑地址在某一时间信息对应的物理地址,可以设计映射关系中KEY值的高位部分表示逻辑地址,低位部分表示时间信息,如,KEY值用128位来表示,则高位部分的64位表示逻辑地址,低位部分的64位表示时间信息,从而可以在KEY由小到大排列时,可以优先按照逻辑地址排序,再按照时间信息排序。当然,在本发明的其他实施例中,该LUN映射表中的映射关系还可以按照其他顺序排列本发明实施例对于LUN映射表中映射关系的排列顺序不做限定。
各映射关系的KEY值的高位部分表示逻辑地址,低位部分表示写入时间,且映射关系按照KEY值由小到大的顺序排列为例进行说明,在本发明的其他实施例中,LUN映射表还可以采用其他数据结构进行存储,本发明实施例对于LUN映射表采用的数据结构以及存储不做限定。
上述数据处理过程避免了在每次进行数据备份时,都要对源LUN创建一个对应虚拟快照LUN,从而节省系统资源。
207、接收读数据请求,所述读数据请求包括所述逻辑地址。
208、确定所述逻辑地址对应的最新的时间是所述时间信息。
以当前存储器中仅存储有一对映射关系为例进行说明,如果仅存储有一对,那么该读数据请求必然是为了请求当前唯一存储的数据。
如果当前存储器中保存了多对映射关系,可以根据读数据请求所携带的时间信息,确定需要对哪些数据进行恢复,则可以根据该时间信息,获取该时间信息所对应的物理地址中的数据。
当然,该读数据请求可以是用于将LUN恢复到任一指定时间点的恢复请求触发的,则该读数据请求可以携带逻辑地址和指定时间信息,该逻辑地址可以是LUN编号,从存储器中所保存的映射关系中确定在指定时间信息之前且与该指定时间信息之间时间间隔最短的时间信息。
209、根据所述映射关系,确定所述时间信息对应的物理地址。
基于携带逻辑地址和指定时间信息的读数据请求,从存储器中所保存的映射关系中确定在指定时间信息之前且与该指定时间信息之间时间间隔最短的时间信息之后,根据该时间间隔最短的时间信息之前的多对映射关系,获取与该多对映射关系中的物理地址,再根据物理地址获取到数据。
210、根据所述物理地址,获得所述数据。
以当前存储器中仅存储有一对映射关系为例进行说明,为了对该已存储的数据进行恢复,此时,读数据请求所包括的时间信息可以是任一时间点,根据读数据请求所包括的时间信息和逻辑地址,确定需要从存储器中读取哪些映射关系,从而获取映射关系中物理地址所保存的数据。
如果在接收到该读数据请求后,接收到对获得到的数据的写数据请求,则将该得到的数据写入写数据请求所指示的地址中。当然,此时的写数据请求所携带的也可以为逻辑地址,则可以根据该逻辑地址为数据继续分配物理地址。
进一步可选地,当所述写数据请求所携带的逻辑地址为源LUN时,释放所述时间信息之后的时间信息对应的映射关系中的物理地址。为了节约空间,也可以在获取到数据后,释放上述时间信息之后时间信息对应的映射关系中的物理地址,使得再次接收到写数据请求时,这些物理地址也在待分配的物理地址中,可以再次被写入数据。
上述的读数据请求和写数据请求可以看做是由对数据的恢复请求所触发的读数据请求和写数据请求,当写数据请求所携带的逻辑地址为该源LUN编号时,可以将该指定时间信息以后的所有映射关系删除,使得已存储的数据即是在指定时间信息所确定的时间点之前的数据。而当写数据请求所携带的逻辑地址不是该源LUN编号时,可以将读取到的数据写入到为逻辑地址分配的物理地址中。
当检测到对源LUN在指定恢复时间点的数据进行的恢复操作时,存储设备先要判断该指定恢复时间点是否在该源LUN的保护时间段内,如果该指定恢复时间点在该源LUN的保护时间段内,则存储设备可能保存有该指定恢复时间点的备份数据,根据该指定恢复时间点,从该LUN映射表中获取指定映射关系,该指定映射关系的写入时间在该指定恢复时间点之前、且与该指定恢复时间点之间的时间间隔最短;如果获取到该指定映射关系,根据该指定映射关系,读取该指定映射关系对应的物理地址中的数据;如果该指定恢复时间点不在该源LUN的保护时间段内,则存储设备确定未保存有该指定恢复时间点的备份数据,不能对指定恢复时间点的数据进行恢复,提示数据恢复失败,结束。在出现以下两种情况的任一种情况时,执行该提示步骤:(1)如果该指定恢复时间点不在该源LUN的保护时间段内,则存储设备确定未保存有该指定恢复时间点的备份数据,不能对指定恢复时间点的数据进行恢复。(2)如果该指定恢复时间点在该源LUN的保护时间段内,但是读取该指定恢复时间点对应的数据失败,则存储设备确定未保存有该指定恢复时间点的备份数据。
优选地,为了查找该LUN映射表中的指定恢复时间点对应的数据,则需要查找指定映射关系,该指定映射关系的时间信息在该指定恢复时间点之前、且与该指定恢复时间点之间的时间间隔最短,为了快速查找LUN映射表中是否存在该指定映射关系,该LUN映射表可以采用B+树的数据结构进行存储,该LUN映射表中映射关系的KEY值的高位部分表示逻辑地址,低位部分表示时间信息,且映射关系按照KEY值由小到大的顺序排列。
例如,在LUN映射表中查找逻辑地址为L1的指定时间恢复点对应的映射关系,该逻辑地址L1和该指定时间恢复点构成的KEY值为sKEY,图4为读取该指定映射关系对应的物理地址中的数据的流程图,读取该指定映射关系对应的物理地址中的数据的过程包括:查找是否存在KEY值为sKEY的第一映射关系,如果存在第一映射关系,则该第一映射关系即为指定映射关系,读取该第一映射关系对应的物理地址中的数据,读取指定映射关系对应的物理地址中的数据成功;如果不存第一映射关系,则查找KEY值比sKEY小的映射关系中KEY值最大的第二映射关系,如果不存在第一映射关系但存在第二映射关系(记为rKEY),则按照KEY值的编码规则解析sKEY和rKEY,解析出sKEY的逻辑地址和时间信息分别为sL和sT,解析出rKEY的逻辑地址和时间信息分别为rL和rT,判断sL和rL是否相同,如果sL和rL相同,则第二映射关系即为指定映射关系,读取该第二映射关系对应的物理地址中的数据,读取指定映射关系对应的物理地址中的数据成功;如果sL和rL不相同,则存储设备确定不存在指定映射关系,读取指定映射关系对应的物理地址中的数据失败;如果不存在第一映射关系且不存在第二映射关系,则存储设备确定不存在指定映射关系,读取指定映射关系对应的物理地址中的数据失败。
需要说明的是,本发明实施例中仅以LUN映射表采用B+树结构进行存储,当然,LUN映射表还可以采用其他数据结构进行存储,或可以将映射表放入SSD(Solid State Disk,固态硬盘)中,以提高映射表的访问效率,本发明实施例对于LUN映射表采用的数据结构以及存储不做限定。
当成功读取到该指定映射关系对应的物理地址中的数据后,根据该恢复操作,对指定恢复时间点对应的数据进行恢复的过程包括以下两种方式:方式一为将指定恢复时间点对应的数据恢复到源LUN;方式二为将指定恢复时间点对应的数据恢复到磁盘阵列内或磁盘阵列间的其他目标LUN。
方式一:如果该恢复操作为将该指定恢复时间点对应的数据恢复到该源LUN时,遍历该LUN映射表,删除该LUN映射表中时间信息在该指定恢复时间点之后的映射关系,删除该映射关系对应的物理地址中的数据,释放该映射关系对应的物理空间,以回收该映射关系对应的物理空间。
例如,存储设备已保存有逻辑地址L在三个不同时间信息T1、T2、T4对应的物理地址P1、P2、P4中的备份数据,如果指定恢复时间点为T3,且T1<T2<T3<T4,则删除该LUN映射表中逻辑地址L和时间信息为T4对应的映射关系,并删除物理地址P4中的数据,释放物理地址P4对应的物理空间。
方式一还可以用以下步骤代替:读取该源LUN的逻辑地址在指定恢复时间点对应的数据,将该源LUN的逻辑地址在指定恢复时间点对应的数据,写入指定最新映射关系对应的物理地址,其中,该指定最新映射关系为LUN映射表中该逻辑地址对应的时间信息最晚的映射关系,删除LUN映射表中其他该逻辑地址对应的时间信息在该指定恢复时间点之后的映射关系,释放其他时间信息在该指定恢复时间点之后的映射关系对应的物理空间,以回收这些物理空间。
例如,存储设备已保存有逻辑地址L在三个不同时间信息T1、T2、T4对应的物理地址P1、P2、P4、P5中的备份数据,如果指定恢复时间点为T3,且T1<T2<T3<T4<T5,则指定恢复时间点对应的数据为逻辑地址L、时间信息为T2对应物理地址P2中的数据,指定最新映射关系为逻辑地址L、时间信息T5对应的映射关系,存储设备读取物理地址P2中的数据,将P2中的数据写入P5中,删除该LUN映射表中逻辑地址L和时间信息为T4对应的映射关系,并删除物理地址P4中的数据,释放物理地址P4对应的物理空间。
需要说明的是,上述方式一中仅以将该源LUN的逻辑地址在指定恢复时间点对应的数据,写入指定最新映射关系对应的物理地址之后,删除LUN映射表中其他时间信息在该指定恢复时间点之后的映射关系,释放其他时间信息在该指定恢复时间点之后的映射关系对应的物理空间为例进行说明,当然,还可以保留LUN映射表中其他时间信息在该指定恢复时间点之后的映射关系,作为备份数据,本发明实施例对此不做限定。
方式二:如果该恢复操作为将该源LUN在指定恢复时间点对应的数据恢复到目标LUN时,遍历该LUN映射表,读取该指定恢复时间点对应的数据,该目标LUN与该源LUN为不同的LUN;将该源LUN在指定恢复时间点对应的数据写入目标LUN对应的物理地址。
当将该源LUN在指定恢复时间点的备份数据恢复到磁盘阵列内或磁盘阵列间的其他目标LUN时,利用全量LUN拷贝技术,读取该指定恢复时间点对应的数据,将该源LUN在指定恢复时间点对应的数据写入目标LUN对应的物理地址,也即是读取时间信息在该指定恢复时间点之前、且与该指定恢复时间点之间的时间间隔最短的映射关系对应的数据,如,存储设备已保存有逻辑地址L在三个不同时间点T1、T2、T4的备份数据,如果指定恢复时间点为T3,且T1<T2<T3<T4,则读取指定恢复时间点对应的数据为读取逻辑地址L在T2时间点对应的物理地址中的数据。
为了节省用于存储LUN映射表和备份数据的物理空间,该方法还包括删除LUN映射表中时间信息在保护时间段以外的映射关系,和回收该映射关系占用的物理空间以及该映射关系对应的物理空间,详见下述步骤:每隔预设时长,遍历该LUN映射表,删除时间信息在该保护时间段以外的映射关系,回收该映射关系对应的物理空间。
具体地,该步骤包括:每隔预设时长,存储设备遍历该LUN映射表,依次判断每个映射关系对应的时间信息是否在源LUN的保护时间段内,如果映射关系对应的时间信息不在源LUN的保护时间段内,则存储设备删除该映射关系,删除该映射关系对应的物理地址中的数据,释放该映射关系对应的物理空间,以回收该映射关系对应的物理空间;如果映射关系对应的时间信息在源LUN的保护时间段内,则存储设备保留该映射关系。
本发明实施例提供的方法,采用本发明实施例提供的方法,使得在接收到写数据请求时,建立包括该写数据请求发生的时间信息、写数据请求的逻辑地址以及为当前写数据请求所分配的物理地址之间的映射关系,对于同一个逻辑地址在不同时间写入的数据,以不同的物理地址和不同的时间信息进行保存,从而在后续的恢复过程中,可以基于随机时间点进行恢复,且不对数据进行实际备份,减少了对系统资源的占用。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图4是本发明实施例提供的一种存储设备的结构示意图。参见图4,所述存储设备包括存储器433,所述存储设备还包括:
接收器431,用于接收写数据请求,所述写数据请求包括逻辑地址和数据;
处理器432,用于为所述逻辑地址分配物理地址;根据接收所述写数据请求的时间信息,创建映射关系,所述映射关系包括关键信息与所述数据的对应关系,所述关键信息包括所述时间信息、所述逻辑地址和所述物理地址;
所述处理器432还用于将所述映射关系保存在所述存储器中。
可选地,所述接收器还用于接收读数据请求,所述读数据请求包括所述逻辑地址;
所述处理器432还用于确定所述逻辑地址对应的最新的时间是所述时间信息;根据所述映射关系,确定所述时间信息对应的物理地址;根据所述物理地址,获得所述数据。
可选地,所述处理器432还用于预先设置保护时间段;确定所述时间信息在所述保护时间段内。
可选地,所述读数据请求还携带指定时间信息,所述处理器432还用于确定所述时间信息为所述存储器中所保存的映射关系中在所述指定时间信息之前且与所述指定时间信息之间时间间隔最短的时间信息。
所述处理器432还用于用于当所述写数据请求所携带的逻辑地址为源LUN时,释放所述时间信息之后的时间信息对应的映射关系中的物理地址。
需要说明的是:上述实施例提供的存储设备在数据处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将存储设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的存储设备与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图5是本发明实施例提供的一种数据处理装置的结构示意图。参见图5,该装置包括:
接收模块501,用于接收写数据请求,该写数据请求包括逻辑地址和数据;
分配模块502,用于为该逻辑地址分配物理地址;
映射关系创建模块503,用于根据接收该写数据请求的时间信息,创建映射关系,该映射关系包括关键信息与该数据的对应关系,该关键信息包括该时间信息、该逻辑地址和该物理地址;
保存模块504,用于保存该映射关系。
可选地,该接收模块501还用于接收读数据请求,该读数据请求包括该逻辑地址;
该装置还包括:时间信息确定模块,用于确定该逻辑地址对应的最新的时间是该时间信息;
物理地址确定模块,用于根据该映射关系,确定该时间信息对应的物理地址;
获取模块,用于根据该物理地址,获得该数据。
可选地,该装置还包括:
设置模块,用于预先设置保护时间段;
该时间信息确定模块还用于确定该时间信息在该保护时间段内。
可选地,该读数据请求还携带指定时间信息,该处理器还用于确定该时间信息为该存储器中所保存的映射关系中在该指定时间信息之前且与该指定时间信息之间时间间隔最短的时间信息。
可选地,该装置还包括:
释放模块,用于当该写数据请求所携带的逻辑地址为源LUN时,释放该时间信息之后的时间信息对应的映射关系中的物理地址。
采用本发明实施例提供的装置,使得在接收到写数据请求时,建立包括该写数据请求发生的时间信息、写数据请求的逻辑地址以及为当前写数据请求所分配的物理地址之间的映射关系,对于同一个逻辑地址在不同时间写入的数据,以不同的物理地址和不同的时间信息进行保存,从而在后续的恢复过程中,可以基于随机时间点进行恢复,且不对数据进行实际备份,减少了对系统资源的占用。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据处理方法,其特征在于,所述方法应用于存储设备中,所述存储设备包括存储器,所述方法包括:
所述存储设备接收写数据请求,所述写数据请求包括逻辑地址和数据;
为所述逻辑地址分配物理地址;
根据接收所述写数据请求的时间信息,创建映射关系,所述映射关系包括KEY值及与所述KEY值对应的VALUE值,所述KEY值包括所述逻辑地址和所述时间信息,所述VALUE值包括所述物理地址;
将所述映射关系保存在所述存储器中;
接收读数据请求,所述读数据请求包括所述逻辑地址;
确定所述逻辑地址对应的最新的时间是所述时间信息;
根据所述映射关系,确定所述时间信息对应的物理地址;
根据所述物理地址,获得所述数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
预先设置保护时间段;
确定所述时间信息在所述保护时间段内。
3.根据权利要求1所述的方法,其特征在于,所述读数据请求还携带指定时间信息,根据所述物理地址,获得所述数据之前还包括:
确定所述时间信息为所述存储器中所保存的映射关系中在所述指定时间信息之前且与所述指定时间信息之间时间间隔最短的时间信息。
4.根据权利要求3所述的方法,其特征在于,当所述写数据请求所携带的逻辑地址为源LUN时,释放所述时间信息之后的时间信息对应的映射关系中的物理地址。
5.一种数据处理装置,其特征在于,所述装置包括:
接收模块,用于接收写数据请求,所述写数据请求包括逻辑地址和数据;
分配模块,用于为所述逻辑地址分配物理地址;
映射关系创建模块,用于根据接收所述写数据请求的时间信息,创建映射关系,所述映射关系包括KEY值及与所述KEY值对应的VALUE值,所述KEY值包括所述逻辑地址和所述时间信息,所述VALUE值包括所述物理地址;
保存模块,用于保存所述映射关系;
所述接收模块还用于接收读数据请求,所述读数据请求包括所述逻辑地址;
时间信息确定模块,用于确定所述逻辑地址对应的最新的时间是所述时间信息;
物理地址确定模块,用于根据所述映射关系,确定所述时间信息对应的物理地址;
获取模块,用于根据所述物理地址,获得所述数据。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
设置模块,用于预先设置保护时间段;
所述时间信息确定模块还用于确定所述时间信息在所述保护时间段内。
7.根据权利要求5所述的装置,其特征在于,所述读数据请求还携带指定时间信息,所述时间信息确定模块还用于确定所述时间信息为所述保存模块中所保存的映射关系中在所述指定时间信息之前且与所述指定时间信息之间时间间隔最短的时间信息。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
释放模块,用于当所述写数据请求所携带的逻辑地址为源LUN时,释放所述时间信息之后的时间信息对应的映射关系中的物理地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310704287.1A CN103761190B (zh) | 2013-12-19 | 2013-12-19 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310704287.1A CN103761190B (zh) | 2013-12-19 | 2013-12-19 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103761190A CN103761190A (zh) | 2014-04-30 |
CN103761190B true CN103761190B (zh) | 2017-01-11 |
Family
ID=50528432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310704287.1A Active CN103761190B (zh) | 2013-12-19 | 2013-12-19 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103761190B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461378B (zh) * | 2014-10-30 | 2017-09-26 | 华为技术有限公司 | 将数据对象写入ip硬盘的方法、装置及系统 |
CN105989173B (zh) * | 2015-03-05 | 2021-06-01 | 创新先进技术有限公司 | 数据处理方法及装置 |
CN105760776A (zh) * | 2016-02-04 | 2016-07-13 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
CN107203331B (zh) * | 2016-03-17 | 2022-05-06 | 中兴通讯股份有限公司 | 写数据的方法及装置 |
CN106201778B (zh) * | 2016-06-30 | 2019-06-25 | 联想(北京)有限公司 | 信息处理方法及存储设备 |
CN106294007B (zh) * | 2016-08-05 | 2020-03-24 | 联想(北京)有限公司 | 一种数据恢复方法及装置 |
CN108733577B (zh) * | 2017-04-21 | 2021-10-22 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
CN109582242B (zh) * | 2018-12-04 | 2022-05-06 | 北京和讯永源科技有限公司 | 级联存储阵列系统的地址确定方法、装置、电子设备 |
CN111949426A (zh) * | 2019-05-16 | 2020-11-17 | 北京兆易创新科技股份有限公司 | 一种固件程序错误的检测方法、装置及存储设备 |
CN111581247B (zh) * | 2019-10-01 | 2022-04-01 | 上海忆芯实业有限公司 | 数据管理器、时序数据库及信息处理系统 |
CN113296970B (zh) * | 2020-06-29 | 2024-03-01 | 阿里巴巴集团控股有限公司 | 消息处理、消息队列管理方法及装置 |
CN112486851A (zh) * | 2020-11-02 | 2021-03-12 | 深圳市时创意电子有限公司 | 存储芯片数据恢复方法、装置、电子设备及存储介质 |
CN116069678A (zh) * | 2021-10-29 | 2023-05-05 | 华为技术有限公司 | 一种数据处理方法及相关装置 |
CN114661722A (zh) * | 2022-03-23 | 2022-06-24 | 天津同阳科技发展有限公司 | 数据存储方法、数据索引方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100449708B1 (ko) * | 2001-11-16 | 2004-09-22 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US7797479B2 (en) * | 2005-06-30 | 2010-09-14 | Intel Corporation | Technique to write to a non-volatile memory |
CN101441605B (zh) * | 2007-11-19 | 2012-03-21 | 深圳市朗科科技股份有限公司 | 闪存介质断电数据保护方法 |
CN100555289C (zh) * | 2007-12-20 | 2009-10-28 | 中国科学院计算技术研究所 | 一种持续数据保护系统及其实现方法 |
CN101930404B (zh) * | 2010-08-27 | 2012-11-21 | 威盛电子股份有限公司 | 存储装置及其操作方法 |
-
2013
- 2013-12-19 CN CN201310704287.1A patent/CN103761190B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103761190A (zh) | 2014-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103761190B (zh) | 数据处理方法及装置 | |
US20200267219A1 (en) | Systems and methods for granular resource management in a storage network | |
CN106407040B (zh) | 一种远程数据复制方法及系统 | |
CN107943867B (zh) | 支持异构存储的高性能层次化存储系统 | |
US8069191B2 (en) | Method, an apparatus and a system for managing a snapshot storage pool | |
US8909887B1 (en) | Selective defragmentation based on IO hot spots | |
CN103761053B (zh) | 一种数据处理方法和装置 | |
US9361034B2 (en) | Transferring storage resources between snapshot storage pools and volume storage pools in a distributed network | |
US7774565B2 (en) | Methods and apparatus for point in time data access and recovery | |
US20060106893A1 (en) | Incremental backup operations in storage networks | |
CN109726033A (zh) | 映射的raid数据存储系统中的基于驱动器盘区的寿命终止检测和主动复制 | |
EP2407884A2 (en) | Data duplication operations in storage networks | |
CN102136003A (zh) | 大规模分布式存储系统 | |
US8924675B1 (en) | Selective migration of physical data | |
CN103037004A (zh) | 云存储系统操作的实现方法和装置 | |
CN106126374B (zh) | 数据写入方法、数据读取方法及装置 | |
CN105718217A (zh) | 一种精简配置存储池数据一致性维护的方法及装置 | |
CN107924291A (zh) | 存储系统 | |
CN103577329A (zh) | 一种快照管理方法和装置 | |
CN106686095A (zh) | 一种基于纠删码技术的数据存储方法及装置 | |
CN101937378B (zh) | 一种对存储设备的数据进行备份保护的方法及计算机系统 | |
CN106528338A (zh) | 一种远程数据复制方法、存储设备及存储系统 | |
US10146683B2 (en) | Space reclamation in space-efficient secondary volumes | |
CN104426965B (zh) | 自管理存储方法和系统 | |
CN110134551A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |