《数据存储空间的管理方法及系统.pdf》由会员分享,可在线阅读,更多相关《数据存储空间的管理方法及系统.pdf(29页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102981964 A(43)申请公布日 2013.03.20CN102981964A*CN102981964A*(21)申请号 201210430681.6(22)申请日 2012.11.01G06F 12/02(2006.01)(71)申请人华为技术有限公司地址 518129 广东省深圳市龙岗区坂田华为总部办公楼(72)发明人张雷 熊四兵(74)专利代理机构广州三环专利代理有限公司 44202代理人郝传鑫 熊永强(54) 发明名称数据存储空间的管理方法及系统(57) 摘要本发明实施例公开了数据存储空间的管理方法及系统,其中所述方法可包括:当有第一数据需要存储时,根。
2、据各空闲块桶与空闲块大小的对应关系,判断是否存在第一空闲块桶;当存在所述第一空闲块桶时,选择一个所述第一空闲块桶,根据所述选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,查找所述第一空闲块,并将所述第一数据存入任一个查找到的所述第一空闲块中,以及将用于存储所述第一数据的所述第一空闲块的记录在所述第一空闲块桶中删除;当不存在所述第一空闲块桶时,将所述第一数据存储在硬盘文件的末尾。实施本发明实施例,可提高存储空间管理的效率,并避免系统产生大量的磁盘碎片。(51)Int.Cl.权利要求书5页 说明书18页 附图5页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 5 页 。
3、说明书 18 页 附图 5 页1/5页21.一种数据存储空间的管理方法,其特征在于,包括:当有第一数据需要存储时,根据各空闲块桶与空闲块大小的对应关系,判断是否存在第一空闲块桶,所述各空闲块桶中分别记录了不同的空闲块的大小、位置及数量,所述第一空闲块桶中记录了第一空闲块的大小、位置及数量,所述第一空闲块的大小大于或等于所述第一数据的大小;所述各空闲块桶与空闲块大小的对应关系为各空闲块桶中记录的空闲块的大小;当存在所述第一空闲块桶时,选择一个所述第一空闲块桶,根据所述选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,查找所述第一空闲块,并将所述第一数据存入任一个查找到的所述第一空闲块中,。
4、以及将用于存储所述第一数据的所述第一空闲块的记录在所述第一空闲块桶中删除;当不存在所述第一空闲块桶时,将所述第一数据存储在硬盘文件的末尾。2.如权利要求1所述的数据存储空间的管理方法,其特征在于,所述根据各空闲块桶与空闲块大小的对应关系,判断所述空闲块桶中是否存在第一空闲块桶,包括:根据各空闲块桶与空闲块大小的对应关系,判断是否存在记录的空闲块的大小与所述第一数据的大小相等的空闲块桶,如果存在,则将记录的空闲块的大小与所述第一数据大小相等的空闲块桶作为所述第一空闲块桶;如果不存在记录的空闲块的大小与所述第一数据大小相等的空闲块桶,判断是否存在记录的空闲块的大小大于所述第一数据大小的空闲块桶,如。
5、果存在,则将所述记录的空闲块的大小大于所述第一数据大小的空闲块桶作为所述第一空闲块桶。3.如权利要求2所述的数据存储空间的管理方法,其特征在于,当将所述记录的空闲块的大小大于所述第一空闲块的大小的空闲块桶作为所述第一空闲块桶,则将所述第一数据存入任一个查找到的所述第一空闲块中之后,以及将用于存储所述第一数据的所述第一空闲块的记录在所述第一空闲块桶中删除之前,还包括:将用于存储所述第一数据的所述第一空闲块中剩余的空闲部分作为新的空闲块,记录所述新的空闲块大小对应的空闲块桶中。4.如权利要求1-3中任一项所述的数据存储空间的管理方法,其特征在于,还包括:当有第二数据被删除时,将用于存储所述第二数据。
6、的存储空间作为空闲块记录到记录的空闲块的大小与该存储空间大小相等的空闲块桶中。5.如权利要求4所述的数据存储空间的管理方法,其特征在于,在将用于存储所述第二数据的存储空间作为空闲块记录到记录的空闲块的大小与该存储空间大小相等的空闲块桶中之后,还包括:判断所述被记录的空闲块之前和/或之后是否有空闲块,当所述被记录的空闲块之前和/或之后有空闲块,则将所述记录的空闲块和所述记录的空闲块之前和/或之后的空闲块进行逻辑合并,并将合并后的空闲块记录到记录的空闲块的大小与所述合并后的空闲块大小相等的空闲块桶中。6.如权利要求4所述的数据存储空间的管理方法,其特征在于,当不存在记录的空闲块的大小与所述存储空间。
7、的大小相等的空闲块桶时,生成一空闲块桶用于记录所述存储空间对应的空闲块的大小、位置及数量,并建立所述生成的空闲块桶与所述存储空间对应的空闲块的对应关系。权 利 要 求 书CN 102981964 A2/5页37.如权利要求1-6中任一项所述的数据存储空间的管理方法,其特征在于,所述位置为包括所述第一空闲块的分片在硬盘文件中的位置,所述数量为所述第一空闲块分别在包括所述第一空闲块的分片中的数量;则所述根据所述选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,找到一个所述第一空闲块,包括:根据所述选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,定位一个包含所述第一空闲块的分片;在。
8、所述定位的分片内查找所述第一空闲块,直到找到一个或多个所述第一空闲块。8.如权利要求7所述的数据存储空间的管理方法,其特征在于,所述在所述定位的分片内查找所述第一空闲块,直到找到一个或多个所述第一空闲块,包括:根据所述定位的分片的位图信息查找所述分片中未被数据占用且大小与所述第一空闲块的大小相等的空闲块,所述位图信息指示了所述分片中的空闲块是否被数据占用。9.如权利要求8所述的数据存储空间的管理方法,其特征在于,所述空闲块的大小为基本块的大小的整数倍,所述基本块为所述硬盘的存储空间的存储单元;所述位图信息中的每一位用于指示一个基本块是否被数据占用,则所述位图信息通过至少一个位指示所述分片中的空。
9、闲块是否被数据占用,所述位图信息存储在硬盘中。10.如权利要求9所述的数据存储空间的管理方法,其特征在于,所述位图信息的每一位取值为第一数值或第二数值,所述第一数值指示基本块未被数据占用,所述第二数值指示基本块被数据占用。11.一种数据存储空间的管理系统,其特征在于,包括:第一判断模块,用于当有第一数据需要存储时,根据各空闲块桶与空闲块大小的对应关系,判断是否存在第一空闲块桶,所述各空闲块桶中记录了不同的空闲块的大小、位置及数量,所述第一空闲块桶中记录了第一空闲块的大小、位置及数量,所述第一空闲块的大小大于或等于所述第一数据的大小;所述各空闲块桶与空闲块大小的对应关系为各空闲块桶中记录的空闲块。
10、的大小;第一存储处理模块,用于当经所述第一判断模块的判断确定存在所述第一空闲块桶时,选择一个所述第一空闲块桶,根据所述选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,查找所述第一空闲块,并将所述第一数据存入任一个查找到的所述第一空闲块中,以及将用于存储所述第一数据的所述第一空闲块的记录在所述第一空闲块桶中删除;第二存储处理模块,用于当经所述第一判断模块的判断确定不存在所述第一空闲块桶时,将所述第一数据存储在硬盘文件的末尾。12.如权利要求11所述的数据存储空间的管理系统,其特征在于,所述第一判断模块进一步包括:第二判断模块,用于根据各空闲块与空闲块大小的对应关系,判断是否存在记录的空。
11、闲块的大小与所述第一数据的大小相等的空闲块桶,如果存在,则将记录的空闲块的大小与所述第一数据的大小相等的空闲块桶作为所述第一空闲块桶;第三判断模块,用于当经所述第二判断模块的判断确定不存在记录的空闲块的大小与所述第一数据的大小相等的空闲块桶,判断是否存在记录的空闲块的大小大于所述第一数权 利 要 求 书CN 102981964 A3/5页4据的大小的空闲块桶,如果存在,则将所述记录的空闲块的大小大于所述第一数据的大小的空闲块桶作为所述第一空闲块桶。13.如权利要求12所述的数据存储空间的管理系统,其特征在于,当所述记录的空闲块的大小大于所述第一空闲块的大小的空闲块桶作为所述第一空闲块桶,该管理。
12、系统还包括:第三存储处理模块,用于当所述第一存储处理模块将所述第一数据存入任一个查找到的所述第一空闲块中之后,以及当所述第一存储处理模块将用于存储所述第一数据的所述第一空闲块的记录在所述第一空闲块桶中删除之前,将用于存储所述第一数据的所述第一空闲块中剩余的空闲部分作为新的空闲块,记录所述新的空闲块大小对应的空闲块桶中。14.如权利要求11-13中任一项所述的数据存储空间的管理系统,其特征在于,还包括:第一删除处理模块,用于当有第二数据被删除时,将用于存储所述第二数据的存储空间作为空闲块记录到记录的空闲块的大小与该存储空间大小相等的空闲块桶中。15.如权利要求14所述的数据存储空间的管理系统,其。
13、特征在于,还包括:第四判断模块,用于当所述第一删除处理模块在将用于存储所述第二数据的存储空间作为空闲块记录到记录的空闲块的大小与该存储空间大小相等的空闲块桶中之后,判断所述被记录的空闲块之前和/或之后是否有空闲块;第二删除处理模块,用于当经所述第四判断模块的判断确定所述被记录的空闲块之前和/或之后有空闲块,则将所述记录的空闲块和所述记录的空闲块之前和/或之后的空闲块进行逻辑合并,并将合并后的空闲块记录到记录的空闲块的大小与所述合并后的空闲块大小相等的空闲块桶中。16.如权利要求14所述的数据存储空间的管理系统,其特征在于,所述第一删除处理模块还用于当不存在记录的空闲块的大小与所述存储空间的大小。
14、相等的空闲块桶时,生成一空闲块桶用于记录所述存储空间对应的空闲块的大小、位置及数量,并建立所述生成的空闲块桶与所述存储空间对应的空闲块的对应关系。17.如权利要求11-16中任一项所述的数据存储空间的管理系统,其特征在于,所述位置为包括所述第一空闲块的分片在硬盘文件中的位置,所述数量为所述第一空闲块分别在包括所述第一空闲块的分片中的数量;则所述第一存储处理模块包括:选择模块,用于选择一个所述第一空闲块桶;分片定位模块,用于根据所述选择模块选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,定位一个包含所述第一空闲块的分片;空闲块查找模块,用于在所述分片定位模块定位的分片内查找所述第一空闲。
15、块,直到找到一个或多个所述第一空闲块;存储模块,用于将所述第一数据存入任一个查找到的所述第一空闲块中;删除模块,用于将用于存储所述第一数据的所述第一空闲块的记录在所述第一空闲块桶中删除。18.如权利要求17所述的数据存储空间的管理系统,其特征在于,所述空闲块查找模块具体用于根据所述定位的分片的位图信息查找所述分片中未被数据占用且大小与所述权 利 要 求 书CN 102981964 A4/5页5第一空闲块的大小相等的空闲块,所述位图信息指示了所述分片中的空闲块是否被数据占用。19.如权利要求18所述的数据存储空间的管理系统,其特征在于,所述空闲块的大小为基本块的大小的整数倍,所述基本块为所述硬盘。
16、的存储空间的存储单元;所述位图信息中的每一位用于指示一个基本块是否被数据占用,则所述位图信息通过至少一个位指示所述分片中的空闲块是否被数据占用,所述位图信息存储在硬盘中。20.如权利要求19所述的数据存储空间的管理系统,其特征在于,所述位图信息的每一位取值为第一数值或第二数值,所述第一数值指示基本块未被数据占用,所述第二数值指示基本块被数据占用。21.一种数据存储空间的管理系统,其特征在于,包括存储器和处理器,所述处理器执行如下步骤:当有第一数据需要存储时,根据各空闲块桶与空闲块大小的对应关系,判断是否存在第一空闲块桶,所述各空闲块桶中分别记录了不同的空闲块的大小、位置及数量,所述第一空闲块桶。
17、中记录了第一空闲块的大小、位置及数量,所述第一空闲块的大小大于或等于所述第一数据的大小;所述各空闲块桶与空闲块大小的对应关系为各空闲块桶中记录的空闲块的大小;当存在所述第一空闲块桶时,选择一个所述第一空闲块桶,根据所述选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,查找所述第一空闲块,并将所述第一数据存入任一个查找到的所述第一空闲块中,以及将用于存储所述第一数据的所述第一空闲块的记录在所述第一空闲块桶中删除;当不存在所述第一空闲块桶时,将所述第一数据存储在硬盘文件的末尾。22.如权利要求21所述的数据存储空间的管理系统,其特征在于,所述处理器执行所述根据各空闲块桶与空闲块大小的对应关。
18、系,判断所述空闲块桶中是否存在第一空闲块桶的步骤时,具体执行如下步骤:根据各空闲块桶与空闲块大小的对应关系,判断是否存在记录的空闲块的大小与所述第一数据的大小相等的空闲块桶,如果存在,则将记录的空闲块的大小与所述第一数据大小相等的空闲块桶作为所述第一空闲块桶;如果不存在记录的空闲块的大小与所述第一数据大小相等的空闲块桶,判断是否存在记录的空闲块的大小大于所述第一数据大小的空闲块桶,如果存在,则将所述记录的空闲块的大小大于所述第一数据大小的空闲块桶作为所述第一空闲块桶。23.如权利要求22所述的数据存储空间的管理系统,其特征在于,当将所述记录的空闲块的大小大于所述第一空闲块的大小的空闲块桶作为所。
19、述第一空闲块桶,则所述处理器在将所述第一数据存入任一个查找到的所述第一空闲块中之后,以及将用于存储所述第一数据的所述第一空闲块的记录在所述第一空闲块桶中删除之前,还执行如下步骤:将用于存储诉讼第一数据的所述第一空闲块中剩余的空闲部分作为新的空闲块,记录所述新的空闲块大小对应的空闲块桶中。24.如权利要求21所述的数据存储空间的管理系统,其特征在于,所述处理器还执行如下步骤:当有第二数据被删除时,将用于存储所述第二数据的存储空间作为空闲块记录到记录权 利 要 求 书CN 102981964 A5/5页6的空闲块的大小与该存储空间大小相等的空闲块桶中。25.如权利要求24所述的数据存储空间的管理系。
20、统,其特征在于,所述处理器在将用于存储所述第二数据的存储空间作为空闲块记录到记录的空闲块的大小与该存储空间大小相等的空闲块桶中之后,还执行如下步骤:判断所述被记录的空闲块之前和/或之后是否有空闲块,当所述被记录的空闲块之前和/或之后有空闲块,则将所述记录的空闲块和所述记录的空闲块之前和/或之后的空闲块进行逻辑合并,并将合并后的空闲块记录到记录的空闲块的大小与所述合并后的空闲块大小相等的空闲块桶中。26.如权利要求24所述的数据存储空间的管理系统,其特征在于,当不存在记录的空闲块的大小与所述存储空间的大小相等的空闲块桶时,所述处理器还执行如下步骤:生成一空闲块桶用于记录所述存储空间对应的空闲块的。
21、大小、位置及数量,并建立所述生成的空闲块桶与所述存储空间对应的空闲块的对应关系。27.如权利要求21-26中任一项所述的数据存储空间的管理系统,其特征在于,所述位置为所述第一空闲块分别在硬盘文件的各分片中的位置,所述数量为所述第一空闲块分别在硬盘文件的各分片中的数量;则所述处理器执行根据所述选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,找到一个所述第一空闲块时,具体执行如下步骤:根据所述选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,定位一个包含所述第一空闲块的分片;在所述定位的分片内查找所述第一空闲块,直到找到一个或多个所述第一空闲块。28.如权利要求27所述的数据存储。
22、空间的管理系统,其特征在于,所述处理器在所述定位的分片内查找所述第一空闲块,直到找到一个或多个所述第一空闲块时,具体执行如下步骤:根据所述定位的分片的位图信息查找所述分片中未被数据占用且大小与所述第一空闲块的大小相等的空闲块,所述位图信息指示了所述分片中的空闲块是否被数据占用。29.如权利要求28所述的数据存储空间的管理系统,其特征在于,所述空闲块的大小为基本块的大小的整数倍,所述基本块为所述硬盘的存储空间的存储单元;所述位图信息中的每一位用于指示一个基本块是否被数据占用,则所述位图信息通过至少一个位指示所述分片中的空闲块是否被数据占用,所述位图信息存储在硬盘中。30.如权利要求29所述的数据。
23、存储空间的管理系统,其特征在于,所述位图信息的每一位取值为第一数值或第二数值,所述第一数值指示基本块未被数据占用,所述第二数值指示基本块被数据占用。权 利 要 求 书CN 102981964 A1/18页7数据存储空间的管理方法及系统技术领域0001 本发明涉及分布式存储领域,尤其涉及分布式存储领域中数据存储空间的管理方法及系统。背景技术0002 当前,在key-value系统中,其数据库(DB,Data Base)的空间管理方案一般采用一个空闲块数组的方式进行。其具体方案如下:将整个存储空间按照一定的大小(如4K)划分基本块,所有存储数据的大小都是该基本块的整数倍。同时初始化一个空闲块数组用。
24、来记录硬盘上的空闲块(硬盘上未被数据占用的空间),该空闲块数组是一个排序数组,按照其管理的空闲块的大小进行排序,如空闲块数组中记录了4K,8K,24K大小的空闲块,则4K的放在数组的第一个元素,24K的空闲块放在数组的第三个元素。当有数据删除时,DB释放该数据的存储空间,并将该存储空间需记录在空闲块数组中,同时空闲块数组会根据其内部的空闲块的大小顺序重新进行排序(如图1a所示)。当有新的数据要存储时,系统首先遍历空闲块数组,查找可用的空闲块,如果找到,则将数据存储在该空闲块中,同时在空闲块数组中删除该空闲块记录。该空闲块后续的数组元素都前移一个位置(如图1b所示)。如果在空闲块数组中没有找到合。
25、适的空闲块(即没有的大小与数据相等的空闲块时),则在DB文件末尾进行追加。0003 上述空闲块数组虽然可管理硬盘上的空闲块,但是其存在如下缺陷:0004 由于空闲块以大小以排序的数组形式存放,因此,在分配空闲块(1b)和回收空闲块(1a)时都需要使用移动操作来完成数组元素的移动;此操作在性能较差,并且在分配空闲块时,需要首先遍历空闲块数组效率低下;0005 申请较大空间找不到合适的空闲块时,而不能利用已有的多个空闲块而是通过在DB文件末尾追加,这样造成空闲块空间的浪费,并且容易使硬盘产生碎片。发明内容0006 本发明实施例提供数据存储空间的管理方法及系统,可提高存储空间管理的效率,并避免系统产。
26、生大量的磁盘碎片。0007 本发明第一方面提供一种数据存储空间的管理方法,其可包括:0008 当有第一数据需要存储时,根据各空闲块桶与空闲块大小的对应关系,判断是否存在第一空闲块桶,所述各空闲块桶中分别记录了不同的空闲块的大小、位置及数量,所述第一空闲块桶中记录了第一空闲块的大小、位置及数量,所述第一空闲块的大小大于或等于所述第一数据的大小;所述各空闲块桶与空闲块大小的对应关系为各空闲块桶中记录的空闲块的大小;0009 当存在所述第一空闲块桶时,选择一个所述第一空闲块桶,根据所述选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,查找所述第一空闲块,并将所述第一数据存入任一个查找到的所述。
27、第一空闲块中,以及将用于存储所述第一数据的所述第一说 明 书CN 102981964 A2/18页8空闲块的记录在所述第一空闲块桶中删除;0010 当不存在所述第一空闲块桶时,将所述第一数据存储在硬盘文件的末尾。0011 在第一种可能的实现方式中,所述根据各空闲块桶与空闲块大小的对应关系,判断所述空闲块桶中是否存在第一空闲块桶,可包括:0012 根据各空闲块桶与空闲块大小的对应关系,判断是否存在记录的空闲块的大小与所述第一数据的大小相等的空闲块桶,如果存在,则将记录的空闲块的大小与所述第一数据大小相等的空闲块桶作为所述第一空闲块桶;0013 如果不存在记录的空闲块的大小与所述第一数据大小相等的。
28、空闲块桶,判断是否存在记录的空闲块的大小大于所述第一数据大小的空闲块桶,如果存在,则将所述记录的空闲块的大小大于所述第一数据大小的空闲块桶作为所述第一空闲块桶。0014 结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,当将所述记录的空闲块的大小大于所述第一空闲块的大小的空闲块桶作为所述第一空闲块桶,则将所述第一数据存入任一个查找到的所述第一空闲块中之后,以及将用于存储所述第一数据的所述第一空闲块的记录在所述第一空闲块桶中删除之前,还可包括:0015 将用于存储所述第一数据的所述第一空闲块中剩余的空闲部分作为新的空闲块,记录所述新的空闲块大小对应的空闲块桶中。0016 结合第一方面。
29、,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,本发明的数据存储空间的管理方法还可包括:0017 当有第二数据被删除时,将用于存储所述第二数据的存储空间作为空闲块记录到记录的空闲块的大小与该存储空间大小相等的空闲块桶中。0018 结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,在将用于存储所述第二数据的存储空间作为空闲块记录到记录的空闲块的大小与该存储空间大小相等的空闲块桶中之后,还包括:0019 判断所述被记录的空闲块之前和/或之后是否有空闲块,当所述被记录的空闲块之前和/或之后有空闲块,则将所述记录的空闲块和所述记录的空闲块之前。
30、和/或之后的空闲块进行逻辑合并,并将合并后的空闲块记录到记录的空闲块的大小与所述合并后的空闲块大小相等的空闲块桶中。0020 结合第一方面的第三种可能的实现方式,在第五种可能的实现方式中,当不存在记录的空闲块的大小与所述存储空间的大小相等的空闲块桶时,生成一空闲块桶用于记录所述存储空间对应的空闲块的大小、位置及数量,并建立所述生成的空闲块桶与所述存储空间对应的空闲块的对应关系。0021 结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,或第一方面的第四种可能的实现方式,或第一方面的第五种可能的实现方式,在第六种可能的实现方式中,。
31、所述位置为包括所述第一空闲块的分片在硬盘文件中的位置,所述数量为所述第一空闲块分别在包括所述第一空闲块的分片中的数量;0022 则所述根据所述选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,找到一个所述第一空闲块,包括:0023 根据所述选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,定位说 明 书CN 102981964 A3/18页9一个包含所述第一空闲块的分片;0024 在所述定位的分片内查找所述第一空闲块,直到找到一个或多个所述第一空闲块。0025 结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,所述在所述定位的分片内查找所述第一空闲块,直到找到一个或。
32、多个所述第一空闲块,包括:0026 根据所述定位的分片的位图信息查找所述分片中未被数据占用且大小与所述第一空闲块的大小相等的空闲块,所述位图信息指示了所述分片中的空闲块是否被数据占用。0027 结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述空闲块的大小为基本块的大小的整数倍,所述基本块为所述硬盘的存储空间的存储单元;0028 所述位图信息中的每一位用于指示一个基本块是否被数据占用,则所述位图信息通过至少一个位指示所述分片中的空闲块是否被数据占用,所述位图信息存储在硬盘中。0029 结合第一方面的第八种可能的实现方式,在第九种可能的实现方式中,所述位图信息的每一位取值为第一数。
33、值或第二数值,所述第一数值指示基本块未被数据占用,所述第二数值指示基本块被数据占用。0030 本发明第二方面提供一种数据存储空间的管理系统,其可包括:0031 第一判断模块,用于当有第一数据需要存储时,根据各空闲块桶与空闲块大小的对应关系,判断是否存在第一空闲块桶,所述各空闲块桶中记录了不同的空闲块的大小、位置及数量,所述第一空闲块桶中记录了第一空闲块的大小、位置及数量,所述第一空闲块的大小大于或等于所述第一数据的大小;所述各空闲块桶与空闲块大小的对应关系为各空闲块桶中记录的空闲块的大小;0032 第一存储处理模块,用于当经所述第一判断模块的判断确定存在所述第一空闲块桶时,选择一个所述第一空闲。
34、块桶,根据所述选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,查找所述第一空闲块,并将所述第一数据存入任一个查找到的所述第一空闲块中,以及将用于存储所述第一数据的所述第一空闲块的记录在所述第一空闲块桶中删除;0033 第二存储处理模块,用于当经所述第一判断模块的判断确定不存在所述第一空闲块桶时,将所述第一数据存储在硬盘文件的末尾。0034 在第一种可能的实现方式中,所述第一判断模块进一步包括:0035 第二判断模块,用于根据各空闲块与空闲块大小的对应关系,判断是否存在记录的空闲块的大小与所述第一数据的大小相等的空闲块桶,如果存在,则将记录的空闲块的大小与所述第一数据的大小相等的空闲块。
35、桶作为所述第一空闲块桶;0036 第三判断模块,用于当经所述第二判断模块的判断确定不存在记录的空闲块的大小与所述第一数据的大小相等的空闲块桶,判断是否存在记录的空闲块的大小大于所述第一数据的大小的空闲块桶,如果存在,则将所述记录的空闲块的大小大于所述第一数据的大小的空闲块桶作为所述第一空闲块桶。0037 结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,当所述记录的空闲块的大小大于所述第一空闲块的大小的空闲块桶作为所述第一空闲块桶,该管理系统还包括:说 明 书CN 102981964 A4/18页100038 第三存储处理模块,用于当所述第一存储处理模块将所述第一数据存入任一个查找。
36、到的所述第一空闲块中之后,以及当所述第一存储处理模块将用于存储所述第一数据的所述第一空闲块的记录在所述第一空闲块桶中删除之前,将用于存储所述第一数据的所述第一空闲块中剩余的空闲部分作为新的空闲块,记录所述新的空闲块大小对应的空闲块桶中。0039 结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,本发明的数据存储空间的管理系统还可包括:0040 第一删除处理模块,用于当有第二数据被删除时,将用于存储所述第二数据的存储空间作为空闲块记录到记录的空闲块的大小与该存储空间大小相等的空闲块桶中。0041 结合第二方面的第三种可能的实现方式,在第四。
37、种可能的实现方式中,本发明的数据存储空间的管理系统还包括:0042 第四判断模块,用于当所述第一删除处理模块在将用于存储所述第二数据的存储空间作为空闲块记录到记录的空闲块的大小与该存储空间大小相等的空闲块桶中之后,判断所述被记录的空闲块之前和/或之后是否有空闲块;0043 第二删除处理模块,用于当经所述第四判断模块的判断确定所述被记录的空闲块之前和/或之后有空闲块,则将所述记录的空闲块和所述记录的空闲块之前和/或之后的空闲块进行逻辑合并,并将合并后的空闲块记录到记录的空闲块的大小与所述合并后的空闲块大小相等的空闲块桶中。0044 结合第二方面的第三种可能的实现方式,在第五种可能的实现方式中,所。
38、述第一删除处理模块还用于当不存在记录的空闲块的大小与所述存储空间的大小相等的空闲块桶时,生成一空闲块桶用于记录所述存储空间对应的空闲块的大小、位置及数量,并建立所述生成的空闲块桶与所述存储空间对应的空闲块的对应关系。0045 结合第二方面,或第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,或第二方面的第四种可能的实现方式,或第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述位置为包括所述第一空闲块的分片在硬盘文件中的位置,所述数量为所述第一空闲块分别在包括所述第一空闲块的分片中的数量;0046 则所述第一存储处理模块包括:0047。
39、 选择模块,用于选择一个所述第一空闲块桶;0048 分片定位模块,用于根据所述选择模块选择的所述第一空闲块桶中记录的所述第一空闲块的位置及数量,定位一个包含所述第一空闲块的分片;0049 空闲块查找模块,用于在所述分片定位模块定位的分片内查找所述第一空闲块,直到找到一个或多个所述第一空闲块;0050 存储模块,用于将所述第一数据存入任一个查找到的所述第一空闲块中;0051 删除模块,用于将用于存储所述第一数据的所述第一空闲块的记录在所述第一空闲块桶中删除。0052 结合第二方面的第六种可能的实现方式,在第七种可能的实现方式中,所述空闲块查找模块具体用于根据所述定位的分片的位图信息查找所述分片中未被数据占用且大小与所述第一空闲块的大小相等的空闲块,所述位图信息指示了所述分片中的空闲块是否说 明 书CN 102981964 A10。