CN103559139B - 一种数据存储方法及装置 - Google Patents
一种数据存储方法及装置 Download PDFInfo
- Publication number
- CN103559139B CN103559139B CN201310504038.8A CN201310504038A CN103559139B CN 103559139 B CN103559139 B CN 103559139B CN 201310504038 A CN201310504038 A CN 201310504038A CN 103559139 B CN103559139 B CN 103559139B
- Authority
- CN
- China
- Prior art keywords
- root
- address
- file destination
- memory space
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例公开一种数据存储方法及装置,该方法包括:在接收到对目标文件的更新数据时,分配第一存储空间存储目标文件的更新数据,并记录第一存储空间的地址,在检测到目标文件系统不存在快照保护时,获取目标文件的根的修改次数,若获取的修改次数小于预设的次数阈值,将第一存储空间的地址记录到所述目标文件的根中,本发明实施例的数据存储方法可减少数据更新时对存储器的修改次数,降低硬盘上出现碎片的概率,可避免因修改次数过多而导致硬盘的存储介质失效,提高硬盘的使用寿命。
Description
技术领域
本发明涉及计算机存储领域,尤其涉及一种数据存储方法及装置。
背景技术
固态硬盘在现代生活中的应用越来越广泛,固态硬盘的重定向写(英文全称:Redirect On Write)技术也越来越多的应用到各种文件系统中,重定向写不会影响数据源的性能,也不会影响到文件系统快照保护的性能。
现有技术重定向写的方法不管是修改写还是新写都会为更新数据分配新的数据块,不管文件系统是否存在快照保护,都要分配新的数据块,并将新的数据块地址写入文件的根,再将修改后的文件的根的地址写入文件系统的根,修改的数据越多,分配新的数据块越多,硬盘上出现碎片的概率越大,另外,频繁修改文件系统的根会导致硬盘存储介质失效,降低了文件的重定向写的效率,并降低硬盘的使用寿命。
发明内容
本发明实施例提供一种数据存储方法及装置,本发明实施例数据存储方法可在目标文件系统不存在快照保护的情况下,减少数据更新时对存储器的修改次数。
第一方面,本发明实施例提供一种数据存储方法,包括:
在接收到对目标文件的更新数据时,分配第一存储空间存储所述目标文件的更新数据,并记录所述第一存储空间的地址;
在检测到所述目标文件系统不存在快照保护时,获取所述目标文件的根的修改次数;
若获取的修改次数小于预设的次数阈值,将所述第一存储空间的地址记录到所述目标文件的根中;
目标文件系统的根中存储有所述目标文件的根的地址,所述目标文件的根中存储有所述目标文件更新数据的地址。
结合第一方面,在第一方面的第一种可能的实现方式中,所述在接收到对目标文件的更新数据时,分配第一存储空间存储所述对目标文件的更新数据,并记录所述第一存储空间的地址之前,包括:
为所述目标文件的根配置两个存储地址,选择其中一个存储地址作为当前备份地址,用于存储所述记录的第一存储空间的地址,再次接收到对目标文件的更新数据时,选择其中另一个存储地址作为当前备份地址,用于存储记录的第一存储空间的地址。
结合第一方面,或者第一方面的第一种可能的实施方式,在第一方面的第二种可能的实现方式中,还包括:
在接收到对目标文件的更新数据之前,配置修改计数器,所述修改计数器用于记录所述目标文件的根的修改次数;
当将所述目标文件的根中的当前备份地址修改为所述记录的第一存储空间的地址后,将所述目标文件的根的修改计数器记录的所述目标文件的根的修改次数加1。
结合第一方面,在第一方面的第三种可能的实现方式中,还包括:
在检测到所述目标文件系统存在快照保护时,生成所述新的目标文件的根的地址;
将所述目标文件系统的根中存储的原目标文件的根的地址修改为所述新的目标文件的根的地址。
结合第一方面,在第一方面的第四种可能的实现方式中,还包括:
若获取的修改次数不小于预设的次数阈值,将所述目标文件的根的修改计数器清零,生成所述新的目标文件的根;
将所述目标文件系统的根中存储的原目标文件的根的地址修改为所述新的目标文件的根的地址。
结合第一方面,或者第一方面的第三中可能的实施方式,或者第一方面第四种可能的实施方式,在第一方面的第五种可能的实现方式中,还包括:
若对所述目标文件系统的根的修改次数不小于预设的次数阈值时,分配第二存储空间,用于存储所述目标文件系统的根。
结合第一方面,在第一方面的第六种可能的实现方式中,所述第一存储空间是固态硬盘中的存储空间。
第二方面,本发明实施例提供一种数据存储装置,包括:
处理模块,用于在接收到对目标文件的更新数据时,分配第一存储空间存储所述目标文件的更新数据,并记录所述第一存储空间的地址;
第一检测模块,用于在检测到所述目标文件系统不存在快照保护时,获取所述目标文件的根的修改次数;
第一执行模块,用于若获取的修改次数小于预设的次数阈值,将所述第一存储空间的地址记录到所述目标文件的根中;
目标文件系统的根中存储有所述目标文件的根的地址,所述目标文件的根中存储有所述目标文件更新数据的地址。
结合第二方面,在第二方面的第一种可能的实现方式中,在所述处理模块之前,包括:
存储地址配置模块,用于为所述目标文件的根配置两个存储地址,选择其中一个存储地址作为当前备份地址,用于存储所述记录的第一存储空间的地址,再次接收到对目标文件的更新数据时,选择其中另一个存储地址作为当前备份地址,用于存储记录的第一存储空间的地址。
结合第二方面,或者第二方面的第一种可能的实施方式,在第二方面的第二种可能的实现方式中,还包括:
修改计数器配置模块,用于在接收到对目标文件的更新数据之前,配置修改计数器,所述修改计数器用于记录所述目标文件的根的修改次数;
更新模块,用于当将所述目标文件的根中的当前备份地址修改为所述记录的第一存储空间的地址后,将所述目标文件的根的修改计数器记录的所述目标文件的根的修改次数加1。
结合第二方面,在第二方面的第三种可能的实现方式中,还包括:
第二检测模块,用于在检测到所述目标文件系统存在快照保护时,生成所述新的目标文件的根的地址;
第一修改模块,用于将所述目标文件系统的根中存储的原目标文件的根的地址修改为所述新的目标文件的根的地址。
结合第二方面,在第二方面的第四种可能的实现方式中,还包括:
第二执行模块,用于若获取的修改次数不小于预设的次数阈值,将所述目标文件的根的修改计数器清零,生成所述新的目标文件的新的根;
第二修改模块,用于将所述目标文件系统的根中的存储的原目标文件的根的地址修改为所述新的目标文件的根的地址。
结合第二方面,或者第二方面的第三中可能的实施方式,或者第二方面第四种可能的实施方式,在第二方面的第五种可能的实现方式中,还包括:
分配模块,用于若对所述目标文件系统的根的修改次数不小于预设的次数阈值时,分配第二存储空间,用于存储所述目标文件系统的根。
结合第二方面,在第二方面的第六种可能的实现方式中,所述第一存储空间是固态硬盘中的存储空间。
本发明实施例的数据存储方法可在目标文件系统不存在快照保护的情况下,直接修改目标文件的根,而不需要修改目标文件系统的根,减少数据更新时对存储器的修改次数,降低硬盘上出现碎片的概率,也可避免因修改次数过多而导致硬盘的存储介质失效,提高硬盘的使用寿命。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是文件系统的树形目录结构示意图;
图2是本发明第一实施例数据存储方法流程图;
图3是本发明实施例文件系统数据更新示意图;
图4是本发明第二实施例数据存储方法流程图;
图5是本发明第三实施例数据存储方法流程图;
图6是本发明第一实施例数据存储装置结构框图;
图7是本发明第二实施例数据存储装置结构框图;
图8是本发明第三实施例数据存储装置结构框图;
图9是本发明第四实施例数据存储装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的文件系统是指一种存储和组织固态硬盘中数据的方法,文件系统使得对固态硬盘的访问和查找变得容易,文件系统使用树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念。
请参见图1,文件系统的树形目录结构示意图,本发明实施例中的文件系统通过树形目录结构管理数据,文件系统包括“树根”,即文件系统的根,文件系统的根中包含有元数据,即文件的根,元数据是描述数据的数据(data aboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件纪录等功能,元数据中包括若干用于存储数据的数据块,如果想更新数据,就要增加新的数据块,释放旧的数据块,因此更新的数据越多,数据块就越多,对元数据的修改就越多。
应当理解,文件系统的根中存储有所述文件的根的地址,文件系统的根通过所述地址指向文件的根,文件的根中存储有数据块的地址,文件的根通过所述地址指向数据块。文件系统中包括多个文件系统的根,当然,文件的根也有多个。现有技术中,在进行数据更新时,需要分配新的存储空间存储新的数据块,因此就需要将文件的根中存储的原数据块的地址修改为新的数据块的地址,文件的根中的地址发生变化,就需要进一步的将文件系统的根中的原文件的根的地址修改为新的文件的根的地址。
请参见图2,是本发明第一实施例数据存储方法流程图,本发明实施例所述的数据存储方法可应用于固态硬盘,具体包括:
S101、在接收到对目标文件的更新数据时,分配第一存储空间存储目标文件的更新数据,并记录第一存储空间的地址。
具体地,记录第一存储空间的地址包括:将第一存储空间的地址记录到内存中。
应当理解,在接收到对目标文件的更新数据之前,先要为目标文件的根配置两个存储地址,选择其中一个存储地址作为当前备份地址,用于存储记录的第一存储空间的地址,再次接收到对目标文件的更新数据时,选择其中另一个存储地址作为当前备份地址,用于存储记录的第一存储空间的地址。
S102、在检测到目标文件系统不存在快照保护时,获取目标文件的根的修改次数。
具体地,文件系统快照保护(英文:File System Snapshots)是将文件系统当时的情形记录下来,就好像给文件系统“照相”一样,“照相”后可以将一张一张照片翻出来看,例如:文件系统中有十个档案,使用文件系统快照保护拍一张照片,之后我们如果删除了档案,在目前的文件系统中已经没有关于该档案的任何数据了,但如果将“照片”挂入,还是可以看到删除档案。简单的说,文件系统快照保护的功能就是记录当时文件系统的状态。
在接收到对目标文件的更新数据之前,应当配置修改计数器,所述修改计数器用于获取所述目标文件的根的修改次数。
S103、若获取的修改次数小于预设的次数阈值,将第一存储空间的地址记录到所述目标文件的根中。
具体地,如果检测到目标文件系统不存在快照保护,并且对目标文件的根的修改次数小于预设的次数阈值,则循环修改目标文件的根里的两个存储地址,即:将其中一个存储地址作为当前备份地址,用于存储记录的第一存储空间的地址,此次修改完成后,将另一个存储地址作为当前备份地址,在读取数据时,可以通过比较以上两个存储地址中的先后顺序,以最大的顺序号作为最新的有效地址。
需要知道的是,当将目标文件的根中的当前备份地址修改为所述记录的第一存储空间的地址后,将目标文件的根的修改计数器更新,即将目标文件的根的修改次数加1。
应当理解,所述第一存储空间是固态硬盘中的存储空间。
如图3所示,是本发明实施例文件系统数据更新示意图,设初始状态时文件系统的根1指向文件1的根1,在接收到对数据块1(加粗)的更新数据时,分配数据块1(第一存储空间)存储数据块1(加粗)的更新数据,并记录数据块1(第一存储空间)的地址,在检测到所述文件系统不存在快照保护时,获取文件的根的修改次数,若获取的修改次数小于预设的次数阈值,将数据块1(第一存储空间)的地址记录到文件1的根2中,将数据块1(加粗)及文件1的根1释放掉,完成数据存储。
本发明实施例数据存储方法可在目标文件系统不存在快照保护的情况下,直接修改目标文件的根,而不需要修改目标文件系统的根,减少数据更新时对存储器的修改次数,降低硬盘上出现碎片的概率,也可避免因修改次数过多而导致硬盘的存储介质失效,提高硬盘的使用寿命。
请参见图4,是本发明第二实施例数据存储方法流程图,本发明实施例所述的数据存储方法可应用于固态硬盘,具体包括:
S201、在接收到对目标文件的更新数据时,分配第一存储空间存储目标文件的更新数据,并记录第一存储空间的地址。
具体地,记录第一存储空间的地址包括:将第一存储空间的地址记录到内存中。
S202、在检测到目标文件系统存在快照保护时,生成新的目标文件的根的地址。
具体地,生成目标文件的新的根,就是在所述目标文件的新的根中写入第一存储空间的地址,用于指向目标文件的更新数据。
S203、将目标文件系统的根中存储的原目标文件的根的存储地址修改为新的目标文件的根的地址。
具体地,目标文件系统的根中的存储地址修改为所述新的目标文件的根的地址,用于指向新的目标文件的根。
应当理解,若对目标文件系统的根的修改次数不小于预设的次数阈值时,分配第二存储空间,用于存储所述目标文件系统的根,避免对目标文件系统的根的修改次数过多而导致硬盘的存储介质失效。
本发明实施例数据存储方法可在目标文件系统不存在快照保护的情况下,直接修改目标文件的根,而不需要修改目标文件系统的根,减少数据更新时对存储器的修改次数,降低硬盘上出现碎片的概率,也可避免因修改次数过多而导致硬盘的存储介质失效,提高硬盘的使用寿命。
请参见图5,是本发明第三实施例数据存储方法流程图,本发明实施例所述的数据存储方法可应用于固态硬盘,具体包括:
S301、在接收到对目标文件的更新数据时,分配第一存储空间存储目标文件的更新数据,并记录第一存储空间的地址。
具体地,记录第一存储空间的地址包括:将第一存储空间的地址记录到内存中。
应当理解,在接收到对目标文件的更新数据之前,先要为目标文件的根配置两个存储地址,选择其中一个存储地址作为当前备份地址,用于存储记录的第一存储空间的地址,再次接收到对目标文件的更新数据时,选择其中另一个存储地址作为当前备份地址,用于存储记录的第一存储空间的地址。
S302、在检测到所述目标文件系统不存在快照保护时,获取目标文件的根的修改次数。
具体地,文件系统快照保护(英文:File System Snapshots)是将文件系统当时的情形记录下来,就好像给文件系统“照相”一样,“照相”后可以将一张一张照片翻出来看,例如:文件系统中有十个档案,使用文件系统快照保护拍一张照片,之后我们如果删除了档案,在目前的文件系统中已经没有关于该档案的任何数据了,但如果将“照片”挂入,还是可以看到删除档案。简单的说,文件系统快照保护的功能就是记录当时文件系统的状态。
在接收到对目标文件的更新数据之前,应当配置修改计数器,所述修改计数器用于获取所述目标文件的根的修改次数。
S303、若获取的修改次数不小于预设的次数阈值,将目标文件的根的修改计数器清零,生成新的所述目标文件的根。
具体地,生成新的目标文件的根,就是在所述新的目标文件的根中写入第一存储空间的地址,用于指向目标文件的更新数据。
S304、将目标文件系统的根中的存储地址修改为新的目标文件的根的地址。
具体地,目标文件系统的根中的存储地址修改为所述新的目标文件的根的地址,用于指向新的目标文件的根。
应当理解,若对目标文件系统的根的修改次数不小于预设的次数阈值时,分配第二存储空间,用于存储所述目标文件系统的根,避免对目标文件系统的根的修改次数过多而导致硬盘的存储介质失效。
本发明实施例数据存储方法可在目标文件系统不存在快照保护的情况下,直接修改目标文件的根,而不需要修改目标文件系统的根,减少数据更新时对存储器的修改次数,降低硬盘上出现碎片的概率,也可避免因修改次数过多而导致硬盘的存储介质失效,提高硬盘的使用寿命。
请参见图6,是本发明第一实施例数据存储装置结构框图,本发明实施例所述的数据存储装置可应用于固态硬盘中,所述装置具体包括:处理模块10、第一检测模块11、第一执行模块12,其中,
处理模块10,用于在接收到对目标文件的更新数据时,分配第一存储空间存储所述目标文件的更新数据,并记录所述第一存储空间的地址。
具体地,记录第一存储空间的地址包括:将第一存储空间的地址记录到内存中。
第一检测模块11,用于在检测到所述目标文件系统不存在快照保护时,获取所述目标文件的根的修改次数。
具体地,文件系统快照保护(英文:File System Snapshots)是将文件系统当时的情形记录下来,就好像给文件系统“照相”一样,“照相”后可以将一张一张照片翻出来看,例如:文件系统中有十个档案,使用文件系统快照保护拍一张照片,之后我们如果删除了档案,在目前的文件系统中已经没有关于该档案的任何数据了,但如果将“照片”挂入,还是可以看到删除档案。简单的说,文件系统快照保护的功能就是记录当时文件系统的状态。
第一执行模块12,用于若获取的修改次数小于预设的次数阈值将所述第一存储空间的地址记录到所述目标文件的根中。
具体地,如果检测到目标文件系统不存在快照保护,并且对目标文件的根的修改次数小于预设的次数阈值,则循环修改目标文件的根里的两个存储地址,即:将其中一个存储地址作为当前备份地址,用于存储记录的第一存储空间的地址,此次修改完成后,将另一个存储地址作为当前备份地址,在读取数据时,可以通过比较以上两个存储地址中的先后顺序,以最大的顺序号作为最新的有效地址,所述第一存储空间是固态硬盘中的存储空间。
应当理解,目标文件系统的根中存储有所述目标文件的根的地址,所述目标文件的根中存储有所述目标文件更新数据的地址。
本发明实施例的数据存储方法可在目标文件系统不存在快照保护的情况下,直接修改目标文件的根,而不需要修改目标文件系统的根,减少数据更新时对存储器的修改次数,降低硬盘上出现碎片的概率,也可避免因修改次数过多而导致硬盘的存储介质失效,提高硬盘的使用寿命。
请参见图7,是本发明第二实施例数据存储装置结构框图,本发明实施例所述的数据存储装置可应用于固态硬盘中,图7所示的装置是由图6所示装置进行优化得到的,图7所示的装置中除了包括图6所示的装置包括的模块之外,还可以包括:存储地址配置模块13、修改计数器配置模块14、更新模块15,其中,
存储地址配置模块13,用于为目标文件的根配置两个存储地址,选择其中一个存储地址作为当前备份地址,用于存储所述记录的第一存储空间的地址,再次接收到对目标文件的更新数据时,选择其中另一个存储地址作为当前备份地址,用于存储记录的第一存储空间的地址。
具体地,将两个存储地址中的一个存储地址作为当前备份地址,用于存储记录的第一存储空间的地址,此次修改完成后,将另一个存储地址作为当前备份地址,在读取数据时,可以通过比较以上两个存储地址中的先后顺序,以最大的顺序号作为最新的有效地址。
修改计数器配置模块14,用于在接收到对目标文件的更新数据之前,配置修改计数器,修改计数器用于记录所述目标文件的根的修改次数。
更新模块15,用于当将目标文件的根中的当前备份地址修改为所述记录的第一存储空间的地址后,将目标文件的根的修改计数器记录的所述目标文件的根的修改次数加1。
本发明实施例数据存储方法可在目标文件系统不存在快照保护的情况下,直接修改目标文件的根,而不需要修改目标文件系统的根,减少数据更新时对存储器的修改次数,降低硬盘上出现碎片的概率,也可避免因修改次数过多而导致硬盘的存储介质失效,提高硬盘的使用寿命。
请参见图8,是本发明第三实施例数据存储装置结构框图,本发明实施例所述的数据存储装置可应用于固态硬盘中,图8所示的装置是由图6所示装置进行优化得到的,图8所示的装置中除了包括图6所示的装置包括的模块之外,还可以包括:第二检测模块16、第一修改模块17、分配模块18,其中,
第二检测模块16,用于在检测到所述目标文件系统存在快照保护时,生成新的目标文件的根。
具体地,生成新的目标文件的根,就是在所述新的目标文件的根中写入第一存储空间的地址,用于指向目标文件的更新数据。
第一修改模块17,用于将所述目标文件系统的根中的存储地址修改为所述新的目标文件的根的地址。
具体地,目标文件系统的根中的存储地址修改为所述新的目标文件的根的地址,用于指向新的目标文件的根。
分配模块18,用于若对目标文件系统的根的修改次数不小于预设的次数阈值时,分配第二存储空间,用于存储所述目标文件系统的根。
应当理解,分配模块18分配第二存储空间,用于存储所述目标文件系统的根,避免对目标文件系统的根的修改次数过多而导致硬盘的存储介质失效。
本发明实施例数据存储方法可在目标文件系统不存在快照保护的情况下,直接修改目标文件的根,而不需要修改目标文件系统的根,减少数据更新时对存储器的修改次数,降低硬盘上出现碎片的概率,也可避免因修改次数过多而导致硬盘的存储介质失效,提高硬盘的使用寿命。
请参见图9,是本发明第四实施例数据存储装置结构框图,本发明实施例所述的数据存储装置可应用于固态硬盘中,图9所示的装置是由图8所示装置进行优化得到的,图9所示的装置中除了包括图8所示的装置包括的模块之外,还可以包括:第二执行模块19、第二修改模块20,其中,
第二执行模块19,用于若获取的修改次数不小于预设的次数阈值,将目标文件的根的修改计数器清零,生成所述目标文件的新的根。
具体地,生成目标文件的新的根,就是在所述目标文件的新的根中写入第一存储空间的地址,用于指向目标文件的更新数据。
第二修改模块20,用于将目标文件系统的根中的存储地址修改为所述目标文件的新的根的地址。
具体地,目标文件系统的根中的存储地址修改为所述目标文件的新的根的地址,用于指向目标文件的新的根。
本发明实施例数据存储方法可在目标文件系统不存在快照保护的情况下,直接修改目标文件的根,而不需要修改目标文件系统的根,减少数据更新时对存储器的修改次数,降低硬盘上出现碎片的概率,也可避免因修改次数过多而导致硬盘的存储介质失效,提高硬盘的使用寿命。
应当理解,上文提到的第一存储空间和第二存储空间并不是表示顺序关系,而是为了区别不同的存储空间,也不是表示数量单位。同样的,第一执行模块、第二执行模块,第一检测模块、第二检测模块,第一修改模块、第二修改模块也不是为了表示顺序关系,而是为了表示不同的模块。
本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的本地计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种数据存储方法,其特征在于,包括:
在接收到对目标文件的更新数据时,分配第一存储空间存储所述目标文件的更新数据,并记录所述第一存储空间的地址;
在检测到所述目标文件系统不存在快照保护时,获取所述目标文件的根的修改次数;
若获取的修改次数小于预设的次数阈值,将所述第一存储空间的地址记录到所述目标文件的根中;
目标文件系统的根中存储有所述目标文件的根的地址,所述目标文件的根中存储有所述目标文件更新数据的地址。
2.如权利要求1所述的方法,其特征在于,所述在接收到对目标文件的更新数据时,分配第一存储空间存储所述对目标文件的更新数据,并记录所述第一存储空间的地址之前,包括:
为所述目标文件的根配置两个存储地址,选择其中一个存储地址作为当前备份地址,用于存储所述记录的第一存储空间的地址,再次接收到对目标文件的更新数据时,选择其中另一个存储地址作为当前备份地址,用于存储记录的第一存储空间的地址。
3.如权利要求1或2所述的方法,其特征在于,还包括:
在接收到对目标文件的更新数据之前,配置修改计数器,所述修改计数器用于记录所述目标文件的根的修改次数;
当将所述目标文件的根中的当前备份地址修改为所述记录的第一存储空间的地址后,将所述目标文件的根的修改计数器记录的所述目标文件的根的修改次数加1。
4.如权利要求1所述的方法,其特征在于,还包括:
在检测到所述目标文件系统存在快照保护时,生成新的目标文件的根的地址;
将所述目标文件系统的根中存储的原目标文件的根的地址修改为所述新的目标文件的根的地址。
5.如权利要求1所述的方法,其特征在于,还包括:
若获取的修改次数不小于预设的次数阈值,将所述目标文件的根的修改计数器清零,生成新的目标文件的根;
将所述目标文件系统的根中存储的原目标文件的根的地址修改为所述新的目标文件的根的地址。
6.如权利要求4或5所述的方法,其特征在于,还包括:
若对所述目标文件系统的根的修改次数不小于预设的次数阈值时,分配第二存储空间,用于存储所述目标文件系统的根。
7.如权利要求1所述的方法,其特征在于,所述第一存储空间是固态硬盘中的存储空间。
8.一种数据存储装置,其特征在于,包括:
处理模块,用于在接收到对目标文件的更新数据时,分配第一存储空间存储所述目标文件的更新数据,并记录所述第一存储空间的地址;
第一检测模块,用于在检测到所述目标文件系统不存在快照保护时,获取所述目标文件的根的修改次数;
第一执行模块,用于若获取的修改次数小于预设的次数阈值,将所述第一存储空间的地址记录到所述目标文件的根中;
目标文件系统的根中存储有所述目标文件的根的地址,所述目标文件的根中存储有所述目标文件更新数据的地址。
9.如权利要求8所述的装置,其特征在于,在所述处理模块之前,包括:
存储地址配置模块,用于为所述目标文件的根配置两个存储地址,选择其中一个存储地址作为当前备份地址,用于存储所述记录的第一存储空间的地址,再次接收到对目标文件的更新数据时,选择其中另一个存储地址作为当前备份地址,用于存储记录的第一存储空间的地址。
10.如权利要求8或9所述的装置,其特征在于,还包括:
修改计数器配置模块,用于在接收到对目标文件的更新数据之前,配置修改计数器,所述修改计数器用于记录所述目标文件的根的修改次数;
更新模块,用于当将所述目标文件的根中的当前备份地址修改为所述记录的第一存储空间的地址后,将所述目标文件的根的修改计数器记录的所述目标文件的根的修改次数加1。
11.如权利要求8所述的装置,其特征在于,还包括:
第二检测模块,用于在检测到所述目标文件系统存在快照保护时,生成新的目标文件的根的地址;
第一修改模块,用于将所述目标文件系统的根中存储的原目标文件的根的地址修改为所述新的目标文件的根的地址。
12.如权利要求8所述的装置,其特征在于,还包括:
第二执行模块,用于若获取的修改次数不小于预设的次数阈值,将所述目标文件的根的修改计数器清零,生成新的目标文件的新的根;
第二修改模块,用于将所述目标文件系统的根中的存储的原目标文件的根的地址修改为所述新的目标文件的根的地址。
13.如权利要求11或12所述的装置,其特征在于,还包括:
分配模块,用于若对所述目标文件系统的根的修改次数不小于预设的次数阈值时,分配第二存储空间,用于存储所述目标文件系统的根。
14.如权利要求8所述的装置,其特征在于,所述第一存储空间是固态硬盘中的存储空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310504038.8A CN103559139B (zh) | 2013-10-23 | 2013-10-23 | 一种数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310504038.8A CN103559139B (zh) | 2013-10-23 | 2013-10-23 | 一种数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103559139A CN103559139A (zh) | 2014-02-05 |
CN103559139B true CN103559139B (zh) | 2016-08-17 |
Family
ID=50013390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310504038.8A Active CN103559139B (zh) | 2013-10-23 | 2013-10-23 | 一种数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103559139B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104238963B (zh) * | 2014-09-30 | 2017-08-11 | 华为技术有限公司 | 一种数据存储方法、存储装置及存储系统 |
CN107122140A (zh) * | 2017-05-02 | 2017-09-01 | 郑州云海信息技术有限公司 | 一种基于元数据信息的文件智能存储方法 |
CN108959662B (zh) * | 2018-08-31 | 2022-09-27 | 百度在线网络技术(北京)有限公司 | 内容更新方法及装置 |
CN110895444B (zh) * | 2018-09-12 | 2022-12-09 | 厦门歌乐电子企业有限公司 | 一种电子设备以及数据读写方法 |
CN109597573B (zh) * | 2018-11-27 | 2022-03-25 | 杭州宏杉科技股份有限公司 | 管理元数据读取方法及装置 |
CN109857548B (zh) * | 2019-01-04 | 2023-08-22 | 平安科技(深圳)有限公司 | 存储空间优化方法、装置、计算机设备及存储介质 |
CN111736778B (zh) * | 2020-07-21 | 2020-11-17 | 北京金山云网络技术有限公司 | 数据更新方法、装置、系统和电子设备 |
CN113568645B (zh) * | 2021-08-11 | 2023-09-12 | 网易(杭州)网络有限公司 | 软件更新方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012852A (zh) * | 2010-12-27 | 2011-04-13 | 创新科存储技术有限公司 | 一种增量写快照的实现方法 |
CN102646127A (zh) * | 2012-02-29 | 2012-08-22 | 浪潮(北京)电子信息产业有限公司 | 分布式文件系统副本选择方法和装置 |
CN102722536A (zh) * | 2012-05-22 | 2012-10-10 | 中兴通讯股份有限公司 | 基于分布式文件系统的快照实现方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8306950B2 (en) * | 2010-08-26 | 2012-11-06 | International Business Machines Corporation | Managing data access requests after persistent snapshots |
-
2013
- 2013-10-23 CN CN201310504038.8A patent/CN103559139B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012852A (zh) * | 2010-12-27 | 2011-04-13 | 创新科存储技术有限公司 | 一种增量写快照的实现方法 |
CN102646127A (zh) * | 2012-02-29 | 2012-08-22 | 浪潮(北京)电子信息产业有限公司 | 分布式文件系统副本选择方法和装置 |
CN102722536A (zh) * | 2012-05-22 | 2012-10-10 | 中兴通讯股份有限公司 | 基于分布式文件系统的快照实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103559139A (zh) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103559139B (zh) | 一种数据存储方法及装置 | |
CN102693184B (zh) | 处理具有非易失性存储器的系统的动态和静态数据 | |
KR101813786B1 (ko) | Ssd 상의 기록-시-복사를 위한 시스템 및 방법 | |
US9767035B2 (en) | Pass-through tape access in a disk storage environment | |
US8799601B1 (en) | Techniques for managing deduplication based on recently written extents | |
US9251152B1 (en) | Efficient method for relocating shared memory | |
US10120869B2 (en) | Method and apparatus for fault-tolerant memory management | |
US8838875B2 (en) | Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon | |
US20160188227A1 (en) | Method and apparatus for writing data into solid state disk | |
EP3203386A1 (en) | Data processing method, apparatus and system | |
CN104699423B (zh) | Linux系统中绑定盘符的方法和装置 | |
US20160259694A1 (en) | Method and device for organizing and restoring file indexeses | |
US20160266809A1 (en) | Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse | |
US7971022B2 (en) | Apparatus and method of processing data of non-volatile memory using transaction block | |
CN104915145A (zh) | 一种降低LSM Tree写放大的方法和装置 | |
EP3196767A1 (en) | Method for writing data into flash memory device, flash memory device and storage system | |
CN107391669A (zh) | 一种基于文件系统的多版本文件管理方法及装置 | |
CN108829342A (zh) | 一种日志存储方法、系统及存储装置 | |
US10423580B2 (en) | Storage and compression of an aggregation file | |
CN104461384A (zh) | 一种数据写入方法及存储设备 | |
CN103430178A (zh) | 数据更新方法及装置和产品 | |
KR100899147B1 (ko) | 메타 데이터 저장 방법 및 메타 데이터 저장 시스템 | |
CN104462577A (zh) | 一种数据存储方法及装置 | |
CN111857557B (zh) | Raid类型转换的方法、设备和计算机程序产品 | |
JP2007220107A (ja) | 不揮発性メモリのマッピング情報管理装置及び方法 |
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 |