CN103677674B - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN103677674B CN103677674B CN201310740639.9A CN201310740639A CN103677674B CN 103677674 B CN103677674 B CN 103677674B CN 201310740639 A CN201310740639 A CN 201310740639A CN 103677674 B CN103677674 B CN 103677674B
- Authority
- CN
- China
- Prior art keywords
- data
- memory space
- corresponding relation
- address
- storage
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法及装置,应用于包含多个存储空间的存储设备中,能够解决文件元数据频繁更改的问题。该数据处理方法,包括:该方法包括:确定待回收的第一存储空间;将第一存储空间中的数据读取到缓存中;将该数据从缓存写入第二存储空间;根据第二存储空间更新预设的存储空间对应关系,该预设的存储空间对应关系包含有第一虚拟存储空间与第一存储空间的对应关系;接收主机的数据读取请求,该数据读取请求中包含有该数据的地址信息,其中该数据的地址信息中包含有第一虚拟存储空间的信息;根据第一虚拟存储空间的信息与更新后的该存储空间对应关系确定存储该数据的第二存储空间;将第二存储空间中的该数据发送给主机。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种数据处理方法及装置。
背景技术
固态硬盘(Solid State Disk,SSD)为用固态电子存储芯片阵列制成的硬盘,广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等领域。
目前,应用于SSD介质的文件系统多采用写前重定向(Redirect On Write,ROW)快照算法。通常,该文件系统的存储设备包含多个存储空间,在回收一个存储空间时,需要将该存储空间中的数据读取到缓存中,再将该数据从缓存中写入到另一个存储空间中,使存储该数据的原存储空间得到回收。
然而现有技术中,该文件系统存储的文件的元数据中的地址信息具体为该文件中的数据在存储设备中的实际存储地址,在进行存储空间的回收时,由于待回收的存储空间中数据的实际存储地址会发生改变,所以必然会导致对应的文件元数据发生改变。
发明内容
本发明实施例提供一种数据处理方法及装置,用以解决文件元数据频繁更改的问题。
第一方面,提供一种数据处理方法,所述方法应用于包含多个存储空间的存储设备中,所述方法包括:
确定待回收的第一存储空间;
将所述第一存储空间中的数据读取到缓存中;
将所述数据从所述缓存写入第二存储空间;
根据所述第二存储空间更新预设的存储空间对应关系,所述预设的存储空间对应关系包含有第一虚拟存储空间与所述第一存储空间的对应关系;
接收主机的数据读取请求,所述数据读取请求中包含有所述数据的地址信息,其中所述数据的地址信息中包含有第一虚拟存储空间的信息;
根据所述第一虚拟存储空间的信息与更新后的所述存储空间对应关系确定存储所述数据的第二存储空间;
将所述第二存储空间中的所述数据发送给所述主机。
结合第一方面,在第一种可能的实现方式中,所述数据的地址信息还包括所述数据对应的哈希值,所述将所述第二存储空间中的所述数据发送给所述主机之前还包括:
更新所述数据的存储地址对应关系,所述数据的存储地址对应关系包含有所述哈希值与所述数据在所述第一存储空间中的地址的对应关系;
所述将所述第二存储空间中的所述数据发送给所述主机包括:
根据数据读取请求中的所述哈希值与更新后的所述数据的存储地址对应关系确定所述数据在第二存储空间中的地址;
将所述第二存储空间中的地址中的所述数据发送给所述主机。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述哈希值根据所述数据在文件中的偏移量、所述文件的标识以及所述数据的写入所述存储设备的时间进行哈希计算获得。
结合第一方面,第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述确定待回收的第一存储空间包括:
根据存储空间中不位于数据末端的空闲空间的大小,确定待回收的第一存储空间。
结合第一方面,第一方面的第一种可能的实现方式,第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述将所述数据从所述缓存写入第二存储空间之前还包括:
对所述数据进行数据归并,以回收不位于所述数据末端的空闲空间;
所述将所述数据从所述缓存写入第二存储空间包括:
将进行数据归并后的数据从所述缓存写入第二存储空间。
第二方面,提供一种数据处理装置,所述装置应用于包含多个存储空间的存储设备中,所述装置包括:
确定模块,用于确定待回收的第一存储空间;
读取模块,用于将所述第一存储空间中的数据读取到缓存中;
写入模块,用于将所述数据从所述缓存写入第二存储空间;
更新模块,用于根据所述第二存储空间更新预设的存储空间对应关系,所述预设的存储空间对应关系包含有第一虚拟存储空间与所述第一存储空间的对应关系;
接收模块,用于接收主机的数据读取请求,所述数据读取请求中包含有所述数据的地址信息,其中所述数据的地址信息中包含有第一虚拟存储空间的信息;
所述确定模块,还用于根据所述第一虚拟存储空间的信息与更新后的所述存储空间对应关系确定存储所述数据的第二存储空间;
发送模块,用于将所述第二存储空间中的所述数据发送给所述主机。
结合第二方面,在第一种可能的实现方式中,所述数据的地址信息还包括所述数据对应的哈希值,所述更新模块,还用于在将所述第二存储空间中的所述数据发送给所述主机之前,更新所述数据的存储地址对应关系,所述数据的存储地址对应关系包含有所述哈希值与所述数据在所述第一存储空间中的地址的对应关系;
所述确定模块,还用于根据数据读取请求中的所述哈希值与更新后的所述数据的存储地址对应关系确定所述数据在第二存储空间中的地址;
所述发送模块,具体用于将所述第二存储空间中的地址中的所述数据发送给所述主机。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述哈希值根据所述数据在文件中的偏移量、所述文件的标识以及所述数据的写入所述存储设备的时间进行哈希计算获得。
结合第二方面,第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述确定单元,具体用于根据存储空间中不位于数据末端的空闲空间的大小,确定待回收的第一存储空间。
结合第二方面,第二方面的第一种可能的实现方式,第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括:
归并模块,用于在将所述数据从所述缓存写入第二存储空间之前,对所述数据进行数据归并,以回收不位于所述数据末端的空闲空间;
所述写入模块,具体用于将进行数据归并后的数据从所述缓存写入第二存储空间。
根据第一方面提供的数据处理方法,第二方面提供的数据处理装置,设定文件系统存储的文件的元数据中的地址信息具体包含有虚拟存储空间的信息,在文件中的数据位于的存储空间发生变化时,可以调整虚拟存储空间和存储设备的存储空间的对应关系,而虚拟存储空间的信息无需发生变化,即地址信息无需发生变化,从而可以避免文件元数据的更改。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明实施例1提供的数据处理方法的流程图;
图2为本发明实施例2提供的数据处理方法的流程图;
图3为本发明实施例3提供的数据处理装置的结构示意图;
图4为本发明实施例4提供的数据处理装置的结构示意图;
图5为本发明实施例5提供的数据处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。
实施例1:
图1为本发明实施例1提供的一种数据处理方法的流程图,该方法应用于使用固态硬盘(Solid State Disk,SSD)介质存储数据的文件系统中。该方法可以包括如下步骤:
步骤101、确定待回收的第一存储空间。
实际应用中,文件系统在向SSD中写数据时,通常只能按照从前至后的顺序按页page写入数据。例如,假设一个存储空间中包含了多个页,存储空间中的数据末端位于第12页,在该存储空间中继续写入数据时,只能从该数据末端继续写入。如果由于数据删除等操作使该存储空间中的第8页中出现了空闲空间,该空闲空间是不可以被再次写入数据的,因此,在一个存储空间中不位于数据末端的空闲空间相当于垃圾空间。在本发明实施例中,在确定SSD中待回收的存储空间时,可以根据存储空间中不位于数据末端的空闲空间的大小,确定待回收的第一存储空间。
具体实施时,可以设定一个空间阈值,当存储空间中不位于数据末端的空闲空间达到该空间阈值时,确定该存储空间为待回收的第一存储空间。该空间阈值根据存储空间的大小确定,具体可以设定为存储空间的一个百分比,例如,可以设定为存储空间的10%。即当存储空间的大小为1024KB时,空间阈值可以设定为102.4KB。
步骤102、将第一存储空间中的数据读取到缓存中。
在将第一存储空间的数据读取到缓存中之后,可以对第一存储空间的数据进行擦除,也可以在后续再次使用该第一存储空间时对第一存储空间的数据进行擦除。当第一存储空间的数据被擦除后,实现了对第一存储空间的回收。
具体实施时,可以先判断当前缓存的数据中是否存在第一存储空间中的数据,当当前缓存的数据中不存在第一存储空间中的数据时,再从第一存储空间读取数据到缓存中。
步骤103、对缓存中的第一存储空间的数据进行数据归并。
进行数据归并后,空闲空间全部位于数据末端。
步骤104、将进行数据归并后的数据从缓存写入第二存储空间。
第二存储空间可以为一个没有存储任何数据的存储空间,也可以为一个已经存储有数据的存储空间,具体需要根据待写入的数据的数据量来选择一个存储空间作为第二存储空间。
具体实施时,可以先判断当前缓存中的其它数据对应的存储空间中是否存在指定存储空间具有足够空间可以写入待写入的数据,当确定存在指定存储空间时,将该指定存储空间作为第二存储空间。当确定不存在指定存储空间时,可以根据存储的各存储空间的剩余空间信息确定具有足够空间可以写入待写入的数据的存储空间,将该确定的存储空间作为第二存储空间。
步骤105、根据第二存储空间更新预设的存储空间对应关系,该预设的存储空间对应关系包含有第一虚拟存储空间与第一存储空间的对应关系。
具体为将第一虚拟存储空间与第一存储空间的对应关系修改为第一虚拟存储空间与第二存储空间的对应关系。
在本发明实施例中,当数据存储在第一存储空间中时,存储空间对应关系中和第一虚拟存储空间对应的存储设备的存储空间为第一存储空间。当数据存储在第二存储空间中时,存储空间对应关系中,和第一虚拟存储空间对应的存储设备的存储空间为第二存储空间。
步骤106、根据该数据在第二存储空间中的地址更新该数据的存储地址对应关系,该数据的存储地址对应关系包含有该数据对应的哈希值与该数据在第一存储空间中的地址的对应关系。
实际应用中,可以将该数据对应的哈希值与该数据在第一存储空间中的地址的对应关系修改为该数据对应的哈希值与该数据在第二存储空间中的地址的对应关系。
在本发明实施例中,当数据存储在第一存储空间中时,存储地址对应关系中,和该数据对应的哈希值为该数据在第一存储空间中的地址。当数据存储在第二存储空间中时,存储地址对应关系中,和该数据对应的哈希值为该数据在第二存储空间中的地址。
步骤107、接收主机的数据读取请求,该数据读取请求中包含有该数据的地址信息,其中该数据的地址信息中包含有第一虚拟存储空间的信息和该哈希值。
其中,待读取数据归属于一个文件。从而,进一步的,上述数据对应的哈希值可以根据该数据在文件中的偏移量、该文件的标识以及该数据的写入存储设备的时间进行哈希计算获得。
步骤108、根据第一虚拟存储空间的信息与更新后的该存储空间对应关系确定存储该数据的第二存储空间;根据该哈希值与更新后的该数据的存储地址对应关系确定该数据在第二存储空间中的地址。
在本发明实施例中,根据存储空间对应关系,确定待读取数据的地址信息中的虚拟存储空间的信息对应的存储空间,该确定的存储空间即为待读取数据实际存储的存储空间;再根据存储地址对应关系,确定待读取数据的地址信息中的哈希值对应的在存储空间内的存储地址,该确定的存储地址即为待读取数据在存储空间内实际的存储地址。
通过本步骤108可以确定出待读取数据实际存储在哪一个存储空间,以及存储在该存储空间中的哪一个位置。
步骤109、将该第二存储空间中的地址中的该数据发送给主机。
在本发明实施例1中,文件中的数据的存储地址对应关系不和该文件中的数据一同存储在一个存储空间内。
实施例2:
在本发明实施例2中,文件中的数据的存储地址对应关系和该文件中的数据一同存储在一个存储空间内。即文件系统的存储设备的一个存储空间中的数据包括文件数据和该文件数据的存储地址对应关系两部分。该文件数据的存储地址对应关系包含有该文件数据对应的哈希值与该文件数据在存储空间中的地址的对应关系。
此时,存储地址对应关系不需要区分存储空间,存储地址对应关系存储在第一存储空间内,该存储地址对应关系即为文件数据对应的哈希值与文件数据在第一存储空间中的地址的对应关系;存储地址对应关系存储在第二存储空间内,该存储地址对应关系即为文件数据对应的哈希值与文件数据在第二存储空间中的地址的对应关系。
图2为本发明实施例提供的一种数据处理方法的流程图,包括如下步骤:
步骤201、确定待回收的第一存储空间。
步骤202、将第一存储空间中的数据读取到缓存中。
步骤203、对该数据进行数据归并。
步骤204、根据进行数据归并后的数据,更新该数据中的文件数据的存储地址对应关系,该文件数据的存储地址对应关系包含有该文件数据对应的哈希值与该文件数据在存储空间中的地址的对应关系。
具体实施时,可以在缓存中存放数据时,采用和存储设备的存储空间存放数据相同的存放形式,即在缓存中构建虚拟存储空间对应于存储设备的存储空间,这样通过数据在缓存中的虚拟存储空间中的地址可以确定出该数据在存储设备的存储空间中的地址。
步骤205、将进行归并、更新后的数据从缓存写入第二存储空间。
步骤206、根据第二存储空间更新预设的存储空间对应关系,该预设的存储空间对应关系包含有第一虚拟存储空间与第一存储空间的对应关系。
步骤207、接收主机的数据读取请求,该数据读取请求中包含有该文件数据的地址信息,其中该文件数据的地址信息中包含有第一虚拟存储空间的信息和该文件数据对应的哈希值。
步骤208、根据第一虚拟存储空间的信息与更新后的存储空间对应关系确定存储该文件数据的第二存储空间;根据该文件数据对应的哈希值与更新后的文件数据的存储地址对应关系确定该文件数据在第二存储空间中的地址。
步骤209、将该第二存储空间中的地址中的该文件数据发送给主机。
上述步骤201~步骤203,以及步骤205~步骤209,具体可参见上述实施例1中相应步骤,在此不再赘述。
可见,采用本发明实施例提供的数据处理方法,文件系统存储的文件的元数据中的地址信息包含有虚拟存储空间的信息和该文件中的数据对应的哈希值,并建立虚拟存储空间和存储设备的存储空间的对应关系以及哈希值和数据在存储空间中的地址的对应关系,当文件中的数据在存储设备中的实际存储位置发生变化时,修改虚拟存储空间对应的存储空间以及哈希值对应的存储空间中的地址,而地址信息中的虚拟存储空间的信息和哈希值无需修改,即地址信息无需修改,进而避免了文件元数据的更改。
实施例3:
基于同一发明构思,根据本发明上述实施例1提供的数据处理方法,相应地,本发明实施例还提供一种数据处理装置,应用于包含多个存储空间的存储设备中,其结构示意图如图3所示,具体包括:
确定模块301,用于确定待回收的第一存储空间;
读取模块302,用于将该第一存储空间中的数据读取到缓存中;
归并模块303,用于对该数据进行数据归并,以回收不位于该数据末端的空闲空间;
写入模块304,用于将进行数据归并后的数据从缓存写入第二存储空间;
更新模块305,用于根据该第二存储空间更新预设的存储空间对应关系,该预设的存储空间对应关系包含有第一虚拟存储空间与该第一存储空间的对应关系;以及根据该数据在该第二存储空间中的地址更新该数据的存储地址对应关系,该数据的存储地址对应关系包含有该数据对应的哈希值与该数据在该第一存储空间中的地址的对应关系;
接收模块306,用于接收主机的数据读取请求,该数据读取请求中包含有该数据的地址信息,其中该数据的地址信息中包含有第一虚拟存储空间的信息和该哈希值;
确定模块301,还用于根据该第一虚拟存储空间的信息与更新后的该存储空间对应关系确定存储该数据的第二存储空间;根据数据读取请求中的该哈希值与更新后的该数据的存储地址对应关系确定该数据在第二存储空间中的地址;
发送模块307,用于将该第二存储空间中的地址中的该数据发送给该主机。
其中,该哈希值可以根据该数据在文件中的偏移量、该文件的标识以及该数据的写入该存储设备的时间进行哈希计算获得。
上述各模块的功能可对应于图1所示流程中的相应处理步骤,在此不再赘述。
实施例4:
基于同一发明构思,根据本发明上述实施例2提供的数据处理方法,相应地,本发明实施例还提供一种数据处理装置,应用于包含多个存储空间的存储设备中,其结构示意图如图4所示,具体包括:
确定模块401,用于确定待回收的第一存储空间;
读取模块402,用于将第一存储空间中的数据读取到缓存中;
归并模块403,用于对该数据进行数据归并;
更新模块404,用于根据进行数据归并后的数据,更新该数据中的文件数据的存储地址对应关系,该文件数据的存储地址对应关系包含有该文件数据对应的哈希值与该文件数据在存储空间中的地址的对应关系;
写入模块405,用于将进行数据归并、更新后的数据从缓存写入第二存储空间;
更新模块404,还用于根据该第二存储空间更新预设的存储空间对应关系,该预设的存储空间对应关系包含有第一虚拟存储空间与该第一存储空间的对应关系;
接收模块406,用于接收主机的数据读取请求,该数据读取请求中包含有该文件数据的地址信息,其中该文件数据的地址信息中包含有第一虚拟存储空间的信息和该文件数据对应的哈希值;
确定模块401,还用于根据该第一虚拟存储空间的信息与更新后的该存储空间对应关系确定存储该文件数据的第二存储空间;根据数据读取请求中的该哈希值与更新后的该文件数据的存储地址对应关系确定该文件数据在第二存储空间中的地址;
发送模块407,用于将该第二存储空间中的地址中的该文件数据发送给该主机。
上述各模块的功能可对应于图2所示流程中的相应处理步骤,在此不再赘述。
采用本发明实施例提供的数据处理装置,文件系统存储的文件的元数据中的地址信息包含有虚拟存储空间的信息和该文件中的数据对应的哈希值,建立虚拟存储空间和存储设备的存储空间的对应关系以及哈希值和数据在存储空间中的地址的对应关系,当文件中的数据在存储设备中的实际存储位置发生改变时,通过修改上述两个对应关系,可以避免地址信息中的虚拟存储空间的信息和哈希值的修改,即可以避免文件元数据的更改。
实施例5:
基于同一发明构思,本发明实施例还提供一种数据处理装置,应用于包含多个存储空间的存储设备中,其结构示意图如图5所示,包括存储器501、处理器502(例如CPU)、接收器503、发送器504和通信总线500。
通信总线500用于设备各部分之间的连接通信。
存储器501可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非不稳定的存储器(non-volatile memory),例如磁盘存储器。
处理器502用于执行存储器501中存储的可执行模块,例如计算机程序。
接收器503用于接收信息。
发送器504用于发送信息。
在一些实施方式中,存储器501存储了程序5011,程序5011可以被处理器502执行,这个程序包括:确定待回收的第一存储空间;将第一存储空间中的数据读取到缓存中;将该数据从缓存写入第二存储空间;根据第二存储空间更新预设的存储空间对应关系,该预设的存储空间对应关系包含有第一虚拟存储空间与第一存储空间的对应关系;接收器503用于接收主机的数据读取请求,该数据读取请求中包含有该数据的地址信息,其中该数据的地址信息中包含有第一虚拟存储空间的信息;程序5011还包括:根据第一虚拟存储空间的信息与更新后的该存储空间对应关系确定存储该数据的第二存储空间;发送器504用于将第二存储空间中的该数据发送给主机。
在一些实施方式中,该数据的地址信息还包括该数据对应的哈希值,程序5011还包括:将第二存储空间中的该数据发送给主机之前,更新该数据的存储地址对应关系,该数据的存储地址对应关系包含有该哈希值与该数据在第一存储空间中的地址的对应关系;根据数据读取请求中的该哈希值与更新后的该数据的存储地址对应关系确定该数据在第二存储空间中的地址;发送器504具体用于将该第二存储空间中的地址中的该数据发送给主机。
在一些实施方式中,该哈希值根据该数据在文件中的偏移量、该文件的标识以及该数据的写入该存储设备的时间进行哈希计算获得。
在一些实施方式中,程序5011具体包括:根据存储空间中不位于数据末端的空闲空间的大小,确定待回收的第一存储空间。
在一些实施方式中,程序5011还包括:将该数据从缓存写入第二存储空间之前,对该数据进行数据归并,以回收不位于该数据末端的空闲空间;将进行数据归并后的数据从缓存写入第二存储空间。
综上所述,采用本发明实施例提供的方案,能够避免文件元数据中的地址信息的频繁更改,进而避免文件元数据的频繁更改。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法应用于包含多个存储空间的存储设备中,所述方法包括:
确定待回收的第一存储空间;
将所述第一存储空间中的数据读取到缓存中;
将所述数据从所述缓存写入第二存储空间;
根据所述第二存储空间更新预设的存储空间对应关系,所述预设的存储空间对应关系包含有第一虚拟存储空间与所述第一存储空间的对应关系;
接收主机的数据读取请求,所述数据读取请求中包含有所述数据的地址信息,其中所述数据的地址信息中包含有第一虚拟存储空间的信息;
根据所述第一虚拟存储空间的信息与更新后的所述存储空间对应关系确定存储所述数据的第二存储空间;
将所述第二存储空间中的所述数据发送给所述主机。
2.根据权利要求1所述的数据处理方法,其特征在于,所述数据的地址信息还包括所述数据对应的哈希值,所述将所述第二存储空间中的所述数据发送给所述主机之前还包括:
更新所述数据的存储地址对应关系,所述数据的存储地址对应关系包含有所述哈希值与所述数据在所述第一存储空间中的地址的对应关系;
所述将所述第二存储空间中的所述数据发送给所述主机包括:
根据数据读取请求中的所述哈希值与更新后的所述数据的存储地址对应关系确定所述数据在第二存储空间中的地址;
将所述第二存储空间中的地址中的所述数据发送给所述主机。
3.根据权利要求2所述的数据处理方法,其特征在于,所述哈希值根据所述数据在文件中的偏移量、所述文件的标识以及所述数据的写入所述存储设备的时间进行哈希计算获得。
4.根据权利要求1-3任一所述的数据处理方法,其特征在于,所述确定待回收的第一存储空间包括:
根据存储空间中不位于数据末端的空闲空间的大小,确定待回收的第一存储空间。
5.根据权利要求1-3任一所述的数据处理方法,其特征在于,所述将所述数据从所述缓存写入第二存储空间之前还包括:
对所述数据进行数据归并,以回收不位于所述数据末端的空闲空间;
所述将所述数据从所述缓存写入第二存储空间包括:
将进行数据归并后的数据从所述缓存写入第二存储空间。
6.一种数据处理装置,其特征在于,所述装置应用于包含多个存储空间的存储设备中,所述装置包括:
确定模块,用于确定待回收的第一存储空间;
读取模块,用于将所述第一存储空间中的数据读取到缓存中;
写入模块,用于将所述数据从所述缓存写入第二存储空间;
更新模块,用于根据所述第二存储空间更新预设的存储空间对应关系,所述预设的存储空间对应关系包含有第一虚拟存储空间与所述第一存储空间的对应关系;
接收模块,用于接收主机的数据读取请求,所述数据读取请求中包含有所述数据的地址信息,其中所述数据的地址信息中包含有第一虚拟存储空间的信息;
所述确定模块,还用于根据所述第一虚拟存储空间的信息与更新后的所述存储空间对应关系确定存储所述数据的第二存储空间;
发送模块,用于将所述第二存储空间中的所述数据发送给所述主机。
7.根据权利要求6所述的数据处理装置,其特征在于,所述数据的地址信息还包括所述数据对应的哈希值,所述更新模块,还用于在将所述第二存储空间中的所述数据发送给所述主机之前,更新所述数据的存储地址对应关系,所述数据的存储地址对应关系包含有所述哈希值与所述数据在所述第一存储空间中的地址的对应关系;
所述确定模块,还用于根据数据读取请求中的所述哈希值与更新后的所述数据的存储地址对应关系确定所述数据在第二存储空间中的地址;
所述发送模块,具体用于将所述第二存储空间中的地址中的所述数据发送给所述主机。
8.根据权利要求7所述的数据处理装置,其特征在于,所述哈希值根据所述数据在文件中的偏移量、所述文件的标识以及所述数据的写入所述存储设备的时间进行哈希计算获得。
9.根据权利要求6-8任一所述的数据处理装置,其特征在于,所述确定单元,具体用于根据存储空间中不位于数据末端的空闲空间的大小,确定待回收的第一存储空间。
10.根据权利要求6-8任一所述的数据处理装置,其特征在于,还包括:
归并模块,用于在将所述数据从所述缓存写入第二存储空间之前,对所述数据进行数据归并,以回收不位于所述数据末端的空闲空间;
所述写入模块,具体用于将进行数据归并后的数据从所述缓存写入第二存储空间。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310740639.9A CN103677674B (zh) | 2013-12-27 | 2013-12-27 | 一种数据处理方法及装置 |
PCT/CN2014/081970 WO2015096454A1 (zh) | 2013-12-27 | 2014-07-10 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310740639.9A CN103677674B (zh) | 2013-12-27 | 2013-12-27 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103677674A CN103677674A (zh) | 2014-03-26 |
CN103677674B true CN103677674B (zh) | 2017-01-04 |
Family
ID=50315376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310740639.9A Active CN103677674B (zh) | 2013-12-27 | 2013-12-27 | 一种数据处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103677674B (zh) |
WO (1) | WO2015096454A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677674B (zh) * | 2013-12-27 | 2017-01-04 | 华为技术有限公司 | 一种数据处理方法及装置 |
WO2018000300A1 (zh) * | 2016-06-30 | 2018-01-04 | 华为技术有限公司 | 一种电子设备的数据操作方法及电子设备 |
CN106201344B (zh) * | 2016-06-30 | 2019-12-24 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN108389124B (zh) * | 2018-02-26 | 2020-11-03 | 平安普惠企业管理有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110554977A (zh) * | 2018-05-30 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 数据缓存方法、数据处理方法、计算机设备、存储介质 |
CN108762678B (zh) * | 2018-05-30 | 2021-11-09 | 郑州云海信息技术有限公司 | 一种存储空间回收方法、系统、装置及可读存储介质 |
CN111831206B (zh) * | 2019-04-15 | 2022-06-14 | 浙江宇视科技有限公司 | 存储空间切换方法及后端监控系统 |
WO2022140916A1 (en) * | 2020-12-28 | 2022-07-07 | Alibaba Group Holding Limited | Recycle optimization in storage engine |
CN117631958A (zh) * | 2022-08-19 | 2024-03-01 | 成都华为技术有限公司 | 一种dpu的存储空间扩展方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
CN102830942A (zh) * | 2012-06-28 | 2012-12-19 | 记忆科技(深圳)有限公司 | 固态硬盘磁盘阵列映射的方法及其固态硬盘 |
CN103377152A (zh) * | 2012-04-26 | 2013-10-30 | 深圳市朗科科技股份有限公司 | 固态硬盘的写操作控制方法及写操作装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677674B (zh) * | 2013-12-27 | 2017-01-04 | 华为技术有限公司 | 一种数据处理方法及装置 |
-
2013
- 2013-12-27 CN CN201310740639.9A patent/CN103677674B/zh active Active
-
2014
- 2014-07-10 WO PCT/CN2014/081970 patent/WO2015096454A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
CN103377152A (zh) * | 2012-04-26 | 2013-10-30 | 深圳市朗科科技股份有限公司 | 固态硬盘的写操作控制方法及写操作装置 |
CN102830942A (zh) * | 2012-06-28 | 2012-12-19 | 记忆科技(深圳)有限公司 | 固态硬盘磁盘阵列映射的方法及其固态硬盘 |
Also Published As
Publication number | Publication date |
---|---|
WO2015096454A1 (zh) | 2015-07-02 |
CN103677674A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103677674B (zh) | 一种数据处理方法及装置 | |
US11947489B2 (en) | Creating snapshots of a storage volume in a distributed storage system | |
CN104808951B (zh) | 进行存储控制的方法和设备 | |
CN103154950B (zh) | 重复数据删除方法及装置 | |
CN107870728B (zh) | 用于移动数据的方法和设备 | |
US8224874B2 (en) | Systems and methods for removing unreferenced data segments from deduplicated data systems | |
CN103020255B (zh) | 分级存储方法和装置 | |
CN104239518B (zh) | 重复数据删除方法和装置 | |
CN109614377A (zh) | 分布式文件系统的文件删除方法、装置、设备及存储介质 | |
CN103164490B (zh) | 一种不固定长度数据的高效存储实现方法和装置 | |
CN103858125B (zh) | 重复数据处理方法、装置及存储控制器和存储节点 | |
CN105468642A (zh) | 数据的存储方法及装置 | |
CN106383666B (zh) | 一种数据存储方法及装置 | |
CN105912425B (zh) | 快照映像建立、回滚方法以及装置 | |
CN105917303B (zh) | 一种控制器、识别数据块稳定性的方法和存储系统 | |
CN105745628B (zh) | 一种将数据写入闪存装置的方法、闪存装置和存储系统 | |
CN104750432B (zh) | 一种数据存储方法及装置 | |
CN108255989B (zh) | 图片存储方法、装置、终端设备及计算机存储介质 | |
CN102682086A (zh) | 数据分块方法及设备 | |
CN105302830A (zh) | 一种地图瓦片缓存方法及装置 | |
CN104933051B (zh) | 文件存储空间回收方法和装置 | |
CN105677238A (zh) | 一种基于分布式存储重复数据删除的虚拟机系统盘的方法 | |
US9176675B1 (en) | Fast-zeroing in a file system | |
CN104956340A (zh) | 可扩展数据重复删除 | |
CN112596949B (zh) | 一种高效率的ssd删除数据恢复方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |