CN104537023A - 一种反向索引记录的存储方法及装置 - Google Patents
一种反向索引记录的存储方法及装置 Download PDFInfo
- Publication number
- CN104537023A CN104537023A CN201410799169.8A CN201410799169A CN104537023A CN 104537023 A CN104537023 A CN 104537023A CN 201410799169 A CN201410799169 A CN 201410799169A CN 104537023 A CN104537023 A CN 104537023A
- Authority
- CN
- China
- Prior art keywords
- directory entry
- reverse indexing
- record
- indexing record
- directory
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种反向索引记录的存储方法及装置,用于解决现有技术中存储反向索引记录时导致的磁盘IO高度离散问题。该方法包括:服务器在新建目录项之后,获取目录项的第一目录项标识和目录项的父目录项的第二目录项标识;根据反向索引表中的对象与目录项标识的第一对应关系,确定与第一目录项标识对应的对象为存储目录项的第一反向索引记录的第一对象;根据反向索引记录在对象中的存储位置与目录项标识的第二对应关系,确定与第一目录项标识对应的存储位置为在第一对象中记录第一反向索引记录的第一位置;在第一对象中的第一位置处写入第一反向索引记录,第一反向索引记录中记录有第一目录项标识和第二目录项标识。
Description
技术领域
本发明涉及计算机领域,特别涉及一种反向索引记录的存储方法及装置。
背景技术
在分布式文件系统中,目录和一般文件都是文件系统对象,统称为目录项。每个目录项的元数据信息称为inode,inode中保存有包括目录项的目录项标识(file identity,简称fid)在内的属性信息,fid是文件系统为目录项分配的唯一标识,根据fid可以区分不同的目录项以及定位出目录项的对象。另外,每个目录项还具有目录项名,与fid不同,目录项名由用户生成,方便用户访问目录项。
inode的一种存储方式为内嵌式存储,即:一个目录项的inode和目录项名被一起存储在父目录的目录对象中,换言之,父目录的目录对象中存储着所有子目录项(子目录或者文件)的目录项名以及各个目录项名对应的inode。其中,父目录的目录对象以父目录的fid命名,因此,只要知道一个目录项的目录项名以及其父目录的fid,即可在父目录的目录对象中查询出目录项的fid,进而定位出目录项。
例如,在“/usr/bin”这一路径中,“usr”是目录名,“bin”是文件名,为了打开bin文件,有两种途径,一是从根目录开始查找,二是从当前目录开始查找。假设从根目录查找,从文件系统的超级块中可以获知根目录的fid,定位出根目录的目录对象,在根目录的目录对象中查询“usr”这一目录名,确定出“usr”目录的fid,然后定位出“usr”目录的目录对象,在“usr”目录的目录对象中查询“bin”这一文件名,确定出“bin”文件的fid,进而定位出“bin”文件的文件对象。
上述例子是一个正向索引的过程,但是,在某些场景中,需要通过目录项的fid反向确定出目录项的存储路径。例如,在网络文件系统中,客户端携带缓存目录项的目录项句柄(file_handle)向服务端发起对某个目录项的操作,然而由于网络文件系统的服务集群的某个节点发生了切换或者是服务端的缓存发生了淘汰,导致服务端的缓存中没有file_handle对应目录项的元数据。此时,服务端要在不被用户感知的情况下继续提供服务,需要根据file_handle中内嵌的目录项的fid来反向确定出该目录项的路径信息。
为了能够通过目录项的fid反向确定出目录项的存储路径,文件系统中保存有反向索引表,参照图1,反向索引表中的一条记录保存有一个目录项的fid和该目录项的父目录项的fid。因此,根据目录项的fid查询反向索引表可以确定出父目录项的fid,而根据父目录项的fid可以确定出更上一层目录项的fid,依次类推,直至根目录,即可获得目录项的完整路径。
现有技术中,反向索引表由N个子表组成,并通过分布式哈希表技术将N个子表散列到各节点。在新建一个目录项时,就需要在反向索引表中增加一条有关该目录项地fid的记录。具体处理流程如下:
(1)对新建目录项的fid进行哈希(HASH)运算,得到一个HASH值,根据预设的HASH值与子表的对应关系确定出记录应该存储在哪个子表中;
(2)读取该子表中的所有B+Index对象,通过B+Index区间排序确定出记录应当存储在子表的哪个叶子对象中,以及应当存储在该叶子对象的哪个位置;
(3)在确定出的位置写入记录,并修改该叶子对象的位表信息;
(4)如果fid值大于B+Index对象中记录的边界,还要更新B+Index对象区间边界信息。
现有技术中上述存储反向索引记录的方法中,需要将fid进行HASH运算,根据HASH值将目录项的反向索引记录映射至N个子表中的一个,由于HASH值非常离散导致磁盘IO高度离散,降低了文件系统的运行效率。
发明内容
本发明实施例提供一种反向索引记录的存储方法及装置,用于解决现有技术中存储反向索引记录时导致的磁盘IO高度离散问题。
第一方面,本发明实施例提供了一种反向索引记录的存储方法,包括:
服务器在新建目录项之后,获取所述目录项的第一目录项标识和所述目录项的父目录项的第二目录项标识;
根据反向索引表中的对象与目录项标识的第一对应关系,确定与所述第一目录项标识对应的对象为存储所述目录项的第一反向索引记录的第一对象;
根据反向索引记录在对象中的存储位置与目录项标识的第二对应关系,确定与所述第一目录项标识对应的存储位置为在所述第一对象中记录所述第一反向索引记录的第一位置;
在所述第一对象中的第一位置处写入所述第一反向索引记录,所述第一反向索引记录中记录有所述第一目录项标识和所述第二目录项标识。
结合第一方面,在第一方面的第一种可能的实现方式中,在所述第一对象中的第一位置处写入所述第一反向索引记录之前,还包括:
获取针对所述第一对象的写锁权限;
在所述第一对象中的第一位置处写入所述第一反向索引记录之后,还包括:
释放获取到的所述写锁权限。
结合第一方面,在第一方面的第二种可能的实现方式中,在所述第一对象中的第一位置处写入所述第一反向索引记录之后,所述方法还包括:
接收查询所述第一反向索引记录的读请求,所述读请求中包含所述第一目录项标识;
根据所述第一对应关系,确定与所述第一目录项标识对应的第一对象;
根据所述第二对应关系,确定与所述第一目录项标识对应的第一位置;
在所述第一对象中的第一位置处读取所述第一反向索引记录,并返回读取到的所述第一反向索引记录中的数据。
结合第一方面,在第一方面的第三种可能的实现方式中,在所述第一对象中的第一位置处写入所述第一反向索引记录之后,所述方法还包括:
接收删除所述第一反向索引记录的删除请求,所述删除请求中包含所述第一目录项标识;
根据所述第一对应关系,确定与所述第一目录项标识对应的第一对象;
根据所述第二对应关系,确定与所述第一目录项标识对应的第一位置;
删除所述第一对象中的第一位置处的所述第一反向索引记录。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第三种可能的实现方式中的任意一种,所述第一对应关系为:
IdObject=(fid/S)*M+fid%S%M;
其中,IdObject为反向索引表中对象的标识,fid为目录项标识,M为系统在写入数据时的下盘时延内的并发操作数,S=M*K,K为一个对象能够存储的反向索引记录个数,%为取余运算;
所述第二对应关系为:
index=(fid%S)/M;
其中,index为反向索引记录在对象中的存储位置的偏移量。
第二方面,本发明实施例提供了一种反向索引记录的存储装置,包括:
第一获取模块,用于在服务器新建目录项之后,获取所述目录项的第一目录项标识和所述目录项的父目录项的第二目录项标识;
第一确定模块,用于根据反向索引表中的对象与目录项标识的第一对应关系,确定与所述第一目录项标识对应的对象为存储所述目录项的第一反向索引记录的第一对象;
第二确定模块,用于根据反向索引记录在对象中的存储位置与目录项标识的第二对应关系,确定与所述第一目录项标识对应的存储位置为在所述第一对象中记录所述第一反向索引记录的第一位置;
写入模块,用于在所述第一对象中的第一位置处写入所述第一反向索引记录,所述第一反向索引记录中记录有所述第一目录项标识和所述第二目录项标识。
结合第二方面,在第二方面的第一种可能的实现方式中,所述装置还包括:
权限获取模块,用于在所述第一对象中的第一位置处写入所述第一反向索引记录之前,获取针对所述第一对象的写锁权限;
权限释放模块,用于在所述第一对象中的第一位置处写入所述第一反向索引记录之后,释放获取到的所述写锁权限。
结合第二方面,在第二方面的第二种可能的实现方式中,所述装置还包括:
第一接收模块,用于接收查询所述第一反向索引记录的读请求,所述读请求中包含所述第一目录项标识;
所述第一确定模块,还用于根据所述第一对应关系,确定与所述第一目录项标识对应的第一对象;
所述第二确定模块,还用于根据所述第二对应关系,确定与所述第一目录项标识对应的第一位置;
所述装置还包括:
读取模块,用于在所述第一对象中的第一位置处读取所述第一反向索引记录,并返回读取到的所述第一反向索引记录中的数据。
结合第二方面,在第二方面的第三种可能的实现方式中,所述装置还包括:
第二接收模块,用于接收删除所述第一反向索引记录的删除请求,所述删除请求中包含所述第一目录项标识;
所述第一确定模块,还用于根据所述第一对应关系,确定与所述第一目录项标识对应的第一对象;
所述第二确定模块,还用于根据所述第二对应关系,确定与所述第一目录项标识对应的第一位置;
所述装置还包括:
删除模块,用于删除所述第一对象中的第一位置处的所述第一反向索引记录。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第三种可能的实现方式中的任意一种,所述第一对应关系为:
IdObject=(fid/S)*M+fid%S%M;
其中,IdObject为反向索引表中对象的标识,fid为目录项标识,M为系统在写入数据时的下盘时延内的并发操作数,S=M*K,K为一个对象能够存储的反向索引记录个数,%为取余运算;
所述第二对应关系为:
index=(fid%S)/M;
其中,index为反向索引记录在对象中的存储位置的偏移量。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例技术方案中,分布式文件系统的服务器在新建目录项之后,会对应在反向索引表中写入该目录项的反向索引记录。具体实施时,根据该目录项的第一目录项标识确定存储目录项的第一反向索引记录的第一对象,以及确定具体在第一对象中的哪个存储位置记录第一反向索引记录,最后在确定出的第一对象的第一位置处写入第一反向索引记录。由于目录项标识(fid)的离散性要远小于fid的哈希值的离散性,因此,与现有技术中根据fid的哈希值将反向索引记录映射至反向索引表中相比,本发明实施例中根据fid值将反向索引记录映射至反向索引表中的技术方案能够显著降低磁盘IO的离散程度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为背景技术中反向索引表的示意图;
图2为本发明实施例提供的反向索引记录的存储方法的流程示意图;
图3为本发明实施例提供的反向索引记录的存储方法的进一步细化流程的示意图;
图4为本发明实施例提供的反向索引记录的存储方法的一种可选的实施方式的流程示意图;
图5为本发明实施例提供的反向索引记录的存储方法的另一种可选的实施方式的流程示意图;
图6为本发明实施例提供的一种反向索引记录的存储装置的结构示意框图;
图7为图6中装置的进一步细化结构的示意框图;
图8为本发明实施例提供的反向索引记录的存储装置500的结构示意框图。
具体实施方式
针对现有技术中存储反向索引记录时导致的磁盘IO高度离散问题,本发明实施例提供一种反向索引记录的存储方法,所述方法包括:服务器在新建目录项之后,获取所述目录项的第一目录项标识和所述目录项的父目录项的第二目录项标识;根据反向索引表中的对象与目录项标识的第一对应关系,确定与所述第一目录项标识对应的对象为存储所述目录项的第一反向索引记录的第一对象;根据反向索引记录在对象中的存储位置与目录项标识的第二对应关系,确定与所述第一目录项标识对应的存储位置为在所述第一对象中记录所述第一反向索引记录的第一位置;在所述第一对象中的第一位置处写入所述第一反向索引记录,所述第一反向索引记录中记录有所述第一目录项标识和所述第二目录项标识。
本发明实施例技术方案中,分布式文件系统的服务器在新建目录项之后,会对应在反向索引表中写入该目录项的反向索引记录。具体实施时,根据该目录项的第一目录项标识确定存储目录项的第一反向索引记录的第一对象,以及确定具体在确定出的对象中的哪个存储位置记录第一反向索引记录,最后在确定出的第一对象的第一位置处写入第一反向索引记录。由于目录项标识(fid)的离散性要远小于fid的哈希值的离散性,因此,与现有技术中根据fid的哈希值将反向索引记录映射至反向索引表中相比,本发明实施例中根据fid值将反向索引记录映射至反向索引表中的技术方案能够显著降低磁盘IO的离散程度。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
参照图2,为本发明实施例提供的反向索引记录的存储方法的流程示意图,该流程包括如下步骤:
步骤101:服务器在新建目录项之后,获取该目录项的第一目录项标识和该目录项的父目录项的第二目录项标识。
具体的,在元数据内嵌于目录对象的文件系统中,服务器在新建一个目录项(目录或文件)之后,就要对应在反向索引列表中新建一条该目录项的反向索引记录,方便以后针对该目录项进行反向索引操作。关于服务器创建目录项的过程请参照现有技术中的技术方案,本发明实施例不再举例说明。
由于反向索引记录中主要包含目录项的目录项标识(本发明实施例以下内容中称为第一目录项标识)和该目录项的父目录项的目录项标识(以下内容中称为第二目录项标识),因此,服务器在创建一目录项的反向索引记录时,首先要获取该目录项的第一目录项标识和该目录项的父目录项的第二目录项标识。具体可以通过读取该目录项的inode信息或者读取该目录项的路径信息来获取第一目录项标识和第二目录项标识。
实际情况中,目录项的反向索引记录中可能会包括目录项的其它属性信息,因此,也可以在步骤101执行时,一并获取这些将要写入反向索引记录的属性信息。除第一目录项标识和第二目录项标识之外,具体还要选择目录项的哪些属性信息写入反向索引记录,可参照现有技术中的反向索引表的结构,本发明实施例在此不再举例说明。
步骤102:根据反向索引表中的对象与目录项标识的第一对应关系,确定与第一目录项标识对应的对象为存储目录项的第一反向索引记录的第一对象。
具体的,在确定出目录项的反向索引记录中将要写入的数据之后,需要确定出反向索引记录的存储位置,首先是要确定反向索引记录要存储在反向索引表的哪个对象中。
本发明实施例中,针对一个目录项,存储其反向索引记录的对象与该目录项的目录项标识相关,即反向索引表中的对象与目录项标识满足第一对应关系。因此,只要知道目录项的第一目录项标识,即可根据第一对应关系确定出唯一的对象标识,定位出唯一的对象该对象即为存储目录项的反向索引记录(以下内容中称为第一反向索引记录)的第一对象。
本发明实施例中,不限定第一对应关系的具体形式,本领域技术人员可以根据文件系统的实际应用环境进行设置。例如,在存储反向索引记录时,可以是先存储满一个对象,然后再存储下一个对象,不妨设一个对象可以存储50条反向索引记录,那么fid值在[1,50]区间范围内的目录项存储在第一个对象中,fid值在[51,100]区间范围内的目录项存储在第二个对象中。又例如,在存储连续N条反向索引记录时,可以是分别在N个对象中写入N条记录,每个对象中写入一条。不妨设分布式系统在下盘时延内能够并行写入50条反向索引记录,那么在需要创建fid值从1至50的50个目录项的反向索引记录时,可以同时在第一个对象至第50个对象中进行新建反向索引记录的写操作,其中每个对象中写入一条记录,即fid值为1的目录项的反向索引记录写入第一个对象,fid值为2的目录项的反向索引记录写入第二个对象,依此类推,直至第一个对象至第50个对象写满,然后在第51个对象至第100个对象中继续写入反向索引记录。采用后一种方式能够显著提高反向索引记录的写操作的并发处理能力,提高处理效率。
另外,本发明实施例中,反向索引表的所有对象可以是存储在一个节点上,这个节点可以是服务器,也可以是分布式文件系统中的其它节点。反向索引表也可以分为多个子表,分别存储在多个节点上,换言之,反向索引表中的不同对象可能在不同的节点上。因此,步骤102中确定出的第一对象可能存储在服务器上,也可能存储在其他节点上,但是,根据第一对象的标识可以毫无疑义地定位出第一对象。
步骤103:根据反向索引记录在对象中的存储位置与目录项标识的第二对应关系,确定与第一目录项标识对应的存储位置为在第一对象中记录第一反向索引记录的第一位置。
具体的,在确定出用于存储第一反向索引记录的第一对象之后,还要确定出具体在第一对象的什么位置处写入第一反向索引记录。本发明实施例中,针对一个目录项,其反向索引记录在对象中的存储位置与该目录项的目录项标识相关,即反向索引记录在对象中的存储位置与目录项标识满足第二对应关系。因此,只要知道目录项的第一目录项标识,即可根据第二对应关系确定出唯一的一个存储位置,该存储位置即为在第一对象中记录第一反向索引记录的第一位置。
本发明实施例中,不限定第二对应关系的具体形式,本领域技术人员可以根据文件系统的实际应用环境进行设置。例如,在前述第一对应关系的第一个例子中,fid值为1、51、101、151的目录项的反向索引记录应分别存储在第一个对象、第二个对象、第三个对象、第四个对象中,执行步骤103即可确定四条记录应当被记录在各自对象的第一个存储位置处,同理,fid值为2、52、102、152的目录项的反向索引记录应分别存储在第一个对象、第二个对象、第三个对象、第四个对象中的第二个存储位置处。又例如,在前述第一对应关系的第二个例子中,fid值为1~50的目录项的反向索引记录存储在步骤102中确定出的对象的第一个存储位置处,而fid值为51~100的目录项的反向索引记录存储在确定出的对象的紧邻第一个存储位置的第二个存储位置处,依此类推。
步骤104:在第一对象中的第一位置处写入第一反向索引记录,第一反向索引记录中记录有第一目录项标识和第二目录项标识。
具体的,确定出存储第一反向索引记录的第一对象以及具体在第一对象中的哪个存储位置记录第一反向索引记录之后,即可下盘在第一对象的第一位置处写入第一反向索引记录,第一反向索引记录中至少包括第一目录项标识和第二目录项标识,其中第一目录项标识的表属性为目录项的目录项标识,第二目录项标识的表属性为父目录项的目录项标识。另外,如果步骤101中还获取了目录项的其它属性信息,在执行步骤104时一并对应写入第一反向索引记录中。
本发明实施例上述技术方案中,分布式文件系统的服务器在新建目录项之后,会对应在反向索引表中写入该目录项的反向索引记录。具体实施时,根据该目录项的第一目录项标识确定存储目录项的第一反向索引记录的第一对象,以及确定具体在确定出的对象中的哪个存储位置记录第一反向索引记录,最后在确定出的第一对象的第一位置处写入第一反向索引记录。由于目录项标识(fid)的离散性要远小于fid的哈希值的离散性,因此,与现有技术中根据fid的哈希值将反向索引记录映射至反向索引表中的技术方案相比,本发明实施例中根据fid值将反向索引记录映射至反向索引表中的技术方案,能够有效降低磁盘IO的离散程度,有利于磁盘IO的聚合下盘。
可选的,本发明实施例中,参照图3,在步骤104执行之前,还包括步骤105:获取针对第一对象的写锁权限。
而在步骤104之后,还包括步骤106:释放获取到的写锁权限。
具体的,为了防止其他操作对步骤102中确定出的第一对象的修改,在执行步骤104之前,服务器可以先获取取针对第一对象的写锁权限。对应的,在执行步骤104,成功写入第一反向索引记录之后,将释放步骤105中获取的针对第一对象的写锁权限。
其中,步骤105可以是在步骤102中确定出第一对象之后即执行,也可以是在步骤103之后执行,本发明实施例不予限定。
进一步,在反向索引表中写入第一反向索引记录之后,可以在反向索引表中查询第一反向索引记录,以获知目录项的父目录的信息。具体的,参照图4,查询反向索引记录的过程包括如下步骤:
步骤201:接收查询反向索引记录的读请求,读请求中包含第一目录项标识;
步骤202:根据第一对应关系,确定与第一目录项标识对应的第一对象;
步骤203:根据第二对应关系,确定与第一目录项标识对应的第一位置;
步骤204:在第一对象中的第一位置处读取第一反向索引记录,并返回读取到的第一反向索引记录中的数据。
具体的,步骤201中,服务器接收读请求的情形可以是:在客户端向某个节点发送针对某目录项的操作之后,节点找不到该目录项的元数据,进而节点向服务器发送查询该目录项的反向索引记录的读请求,以便通过反向索引记录中的数据确定出该目录项的路径信息。另外,通常境况下反向索引表在客户端是不可见的,即客户端不能直接向服务器发送查询反向索引记录的读请求,但是,如果通过对客户端的端口进行相应定义,客户端同样可以向服务器发送查询目录项的反向索引记录的读请求。
由于目录项的反向索引记录是根据目录项的第一目录项标识映射至反向索引表中的,所以查询第一反向索引记录的读请求中要包含第一目录项标识,以便根据第一目录项标识定位第一反向索引记录。
然后执行步骤202,定位出存储第一反向索引记录的第一对象;接着执行步骤203,确定出第一反向索引记录存储在第一对象的第一位置处,定位出第一反向索引记录,然后执行步骤204,读取第一对象中的第一位置处的反向索引记录,即为第一反向索引记录,返回读取到的第一反向索引记录中的数据。
上述读取反向索引记录的技术方案中,根据目录项标识fid值映射出反向索引记录的存储位置,由于fid的离散性较小,能够减小读取过程中的IO消耗,提高读取效率。
可选的,本发明实施例中,在步骤204执行之前,还包括步骤:获取针对第一对象的写锁权限。
而在步骤204之后,还包括步骤:释放获取到的写锁权限。
具体的,为了防止其他操作对第一对象的修改,在执行步骤204之前,服务器可以先获取取针对第一对象的写锁权限。对应的,在执行步骤204,成功读取第一反向索引记录之后,将释放获取的针对第一对象的写锁权限。
进一步,在反向索引表中写入第一反向索引记录之后,在需要时也可以从反向索引表中删除第一反向索引记录。具体的,参照图5,删除反向索引记录的过程包括如下步骤:
步骤301:接收删除第一反向索引记录的删除请求,删除请求中包含第一目录项标识;
步骤302:根据第一对应关系,确定与第一目录项标识对应的第一对象;
步骤303:根据第二对应关系,确定与第一目录项标识对应的第一位置;
步骤304:删除第一对象中的第一位置处的第一反向索引记录。
具体的,步骤301中,服务器接收删除请求的情形可以是:在节点删除目录项之后,节点向服务器发送的删除该目录项的反向索引记录的删除请求。另外,通常境况下反向索引表在客户端是不可见的,即客户端不能直接向服务器发送查询反向索引记录的读请求,但是,如果通过对客户端的端口进行相应定义,客户端同样可以向服务器发送删除反向索引记录的删除请求。
由于目录项的反向索引记录是根据目录项的第一目录项标识映射至反向索引表中的,所以删除请求中要包含目标目录项的第一目录项标识,以便根据第一目录项标识定位第一反向索引记录。
然后执行步骤302,定位出存储第一反向索引记录的第一对象;接着执行步骤303,确定出第一反向索引记录存储在第一对象的第一位置处,定位出第一反向索引记录,然后执行步骤304,删除第一对象中的第一位置处的反向索引记录,具体实施时,可以将第一对象中的第一位置处的反向索引记录设置为空记录。
上述删除反向索引记录的技术方案中,根据目录项标识fid值映射出反向索引记录的存储位置,由于fid的离散性较小,能够减小删除过程中的IO消耗,提高删除效率。
可选的,本发明实施例中,在步骤304执行之前,还包括步骤:获取针对第一对象的写锁权限。
而在步骤304之后,还包括步骤:释放获取到的写锁权限。
具体的,为了防止其他操作对第一对象的修改,在执行步骤304之前,服务器可以先获取取针对第一对象的写锁权限。对应的,在执行步骤304,成功删除第一反向索引记录之后,将释放获取的针对第一对象的写锁权限。
可选的,本发明实施例中,第一对应关系为:
IdObject=(fid/S)*M+fid%S%M;
其中,IdObject为反向索引表中对象的标识,fid为目录项标识,M为系统在写入数据时的下盘时延内的并发操作数,S=M*K,K为一个对象能够存储的反向索引记录个数,%为取余运算;
第二对应关系为:
index=(fid%S)/M;
其中,index为反向索引记录记录在对象中的存储位置的偏移量。
具体的,在确定与第一目录项标识对应的对象时,上述第一对应关系的公式中fid值取值为第一目录项标识的值,即可确定出一对象标识,定位出一对象,该对象即为与第一目录项标识对应的对象。同理,在确定与第一目录项标识对应的存储位置时,上述第二对应关系的公式中fid值取值为第一目录项标识的值,即可确定出一存储位置偏移量,由该偏移量确定出的存储位置即为在第一对象中记录第一索引记录的第一存储位置。
采用上述第一映射关系和第二映射关系时,M条fid为一组,对应的反向索引记录分别映射到M个对象,在进行K组这样的映射之后更换对象,这M个对象被写满,更换下一组M个对象记录反向索引记录。
不妨以设M=50,K=10来举例,如果服务器同时接到针对fid值从1至50的50个目录项的新建反向索引记录的请求,那么服务器将执行步骤102~104,同时在第1对象至第50对象中写入反向索引记录,其中,fid值为1的目录项的反向索引记录记录在第1对象的第1存储位置,fid值为2的目录项的反向索引记录记录在第2对象的第1存储位置,依此类推,fid值为50的目录项的反向索引记录记录在第50对象的第1存储位置。
之后,服务器同时接到针对fid值从51至100的50个目录项的新建反向索引记录的请求,那么服务器将同时在第1对象至第50对象中写入反向索引记录,其中,fid值为51的目录项的反向索引记录记录在第1对象的第2存储位置,fid值为52的目录项的反向索引记录记录在第2对象的第2存储位置,依此类推,fid值为100的目录项的反向索引记录记录在第50对象的第2存储位置。
依此类推,在第1对象至第50对象写满记录之后,再根据上述规则在第51对象至第100对象中写入反向索引记录。
上述例子中,同时写入的M条反向索引记录对应的fid值连续,实际情况中,即使fid值不连续,只要M条反向索引记录对应的fid值分别映射至M个对象,同样能够实现并行写入M条反向索引记录。由于M的取值为系统在写入数据时的下盘时延内的并发操作数,因此能够最大限度地利用系统的处理能力,提高处理效率。
另外,现有技术中,根据fid的哈希值将反向索引记录映射至反向索引表的N个子表中一子表,为了保障哈希映射表切换的均衡性,N的取值往往十倍于节点数量,对于上千节点的集群,N取值往往达到万数量级。这意味着连续插入n<=N条fid记录,会离散到n个SubTbl子表上的叶子对象中,导致磁盘IO的离散率大大增加,磁盘IO无法聚合。
而本发明实施例提供的技术方案中,将M的取值限定为系统在写入数据时的下盘时延内的并发操作数,因此,同时最多只有M个对象处于活动状态,将磁盘IO的离散程度控制在一定范围之内,相对于现有技术而言,磁盘IO的离散问题得到明显改善。
再者,现有技术中,反向索引表的一个子表中记录的反向索引记录采用B+树方式进行组织,因此,在执行针对反向索引记录的新建和删除操作时,将触发B+叶子对象的分裂以及聚合,大大增加磁盘消耗。而在读取反向索引记录时,又需要通过B+排序来定位叶子对象,增加CPU消耗。
而本发明实施例提供的技术方案中,将反向索引记录固定映射到某个对象中固定的偏移位置,该偏移位置可以根据目录项的fid唯一确定,能够实现指定位置的直接写入和删除,避免了B+算法导致的对象的分裂聚合,节省了磁盘开销;且在查询反向索引记录时,无需B+算法搜索过程,减少cpu开销。
基于相同的技术构思,本发明实施例还提供了一种反向索引记录的存储装置,用于对反向索引表中的反向索引记录进行维护。参照图6,该装置包括:
第一获取模块401,用于在服务器新建目录项之后,获取目录项的第一目录项标识和目录项的父目录项的第二目录项标识;
第一确定模块402,用于根据反向索引表中的对象与目录项标识的第一对应关系,确定与第一目录项标识对应的对象为存储目录项的第一反向索引记录的第一对象;
第二确定模块403,用于根据反向索引记录在对象中的存储位置与目录项标识的第二对应关系,确定与第一目录项标识对应的存储位置为在第一对象中记录第一反向索引记录的第一位置;
写入模块404,用于在第一对象中的第一位置处写入第一反向索引记录,第一反向索引记录中记录有第一目录项标识和第二目录项标识。
可选的,该装置还包括:
权限获取模块,用于在第一对象中的第一位置处写入第一反向索引记录之前,获取针对第一对象的写锁权限;
权限释放模块,用于在第一对象中的第一位置处写入第一反向索引记录之后,释放获取到的写锁权限。
可选的,参照图7,该装置还包括:
第一接收模块405,用于接收查询第一反向索引记录的读请求,读请求中包含第一目录项标识;
第一确定模块402,还用于根据第一对应关系,确定与第一目录项标识对应的第一对象;
第二确定模块403,还用于根据第二对应关系,确定与第一目录项标识对应的第一位置;
该装置还包括:读取模块406,用于在第一对象中的第一位置处读取第一反向索引记录,并返回读取到的第一反向索引记录中的数据。
可选的,权限获取模块,还用于在第一对象中的第一位置处读取第一反向索引记录之前,获取针对第一对象的写锁权限;
权限释放模块,还用于在第一对象中的第一位置处读取第一反向索引记录之后,释放获取到的写锁权限。
可选的,继续参照图7,该装置还包括:
第二接收模块407,用于接收删除第一反向索引记录的删除请求,删除请求中包含第一目录项标识;
第一确定模块402,还用于根据第一对应关系,确定与第一目录项标识对应的第一对象;
第二确定模块403,还用于根据第二对应关系,确定与第一目录项标识对应的第一位置;
该装置还包括:删除模块408,用于删除第一对象中的第一位置处的第一反向索引记录。
可选的,权限获取模块,还用于在删除第一对象中的第一位置处的第一反向索引记录之前,获取针对第一对象的写锁权限;
权限释放模块,还用于在删除第一对象中的第一位置处的第一反向索引记录之后,释放获取到的写锁权限。
可选的,该装置具体根据如下第一对应关系和第二对应关系进行反向索引表的维护,其中,第一对应关系为:IdObject=(fid/S)*M+fid%S%M;其中,IdObject为反向索引表中对象的标识,fid为目录项标识,M为系统在写入数据时的下盘时延内的并发操作数,S=M*K,K为一个对象能够存储的反向索引记录个数,%为取余运算;
第二对应关系为:index=(fid%S)/M;其中,index为反向索引记录在对象中的存储位置的偏移量。
本实施例中的装置与图2至图5对应的方法是基于同一发明构思下的两个方面,在前面已经对图2至图5对应的方法的实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施例中的装置的结构及实施过程,为了说明书的简洁,在此就不再赘述了。
基于相同的技术构思,本发明实施例还提供了一种反向索引记录的存储装置500,用于管理反向索引表中的反向索引记录。参照图8,为装置500的结构示意框图,装置500包括:总线503,以及连接到总线503的处理器501、存储单元502。
其中,存储单元502用于存储指令;
处理器501用于执行存储单元502中存储的指令,在新建目录项之后,获取所述目录项的第一目录项标识和所述目录项的父目录项的第二目录项标识;根据反向索引表中的对象与目录项标识的第一对应关系,确定与所述第一目录项标识对应的对象为存储所述目录项的第一反向索引记录的第一对象;根据反向索引记录在对象中的存储位置与目录项标识的第二对应关系,确定与所述第一目录项标识对应的存储位置为在所述第一对象中记录所述第一反向索引记录的第一位置;在所述第一对象中的第一位置处写入所述第一反向索引记录,所述第一反向索引记录中记录有所述第一目录项标识和所述第二目录项标识。
可选的,处理器501在所述第一对象中的第一位置处写入所述第一反向索引记录之前,还用于:获取针对所述第一对象的写锁权限;
处理器501在所述第一对象中的第一位置处写入所述第一反向索引记录之后,还用于:释放获取到的所述写锁权限。
可选的,装置500还包括:连接到总线503的接口504,接口504用于接收查询所述第一反向索引记录的读请求,所述读请求中包含所述第一目录项标识;
处理器501还用于:根据所述第一对应关系,确定与所述第一目录项标识对应的第一对象;根据所述第二对应关系,确定与所述第一目录项标识对应的第一位置;在所述第一对象中的第一位置处读取所述第一反向索引记录,并返回读取到的所述第一反向索引记录中的数据。
可选的,接口504还用于:接收删除所述第一反向索引记录的删除请求,所述删除请求中包含所述第一目录项标识;
处理器501还用于:根据所述第一对应关系,确定与所述第一目录项标识对应的第一对象;根据所述第二对应关系,确定与所述第一目录项标识对应的第一位置;删除所述第一对象中的第一位置处的所述第一反向索引记录。
可选的,处理器501具体根据第一对应关系:IdObject=(fid/S)*M+fid%S%M,确定与所述第一目录项标识对应的对象;
处理器501具体根据第二对应关系:index=(fid%S)/M,确定与所述第一目录项标识对应的存储位置;
其中,IdObject为反向索引表中对象的标识,fid为目录项标识,M为系统在写入数据时的下盘时延内的并发操作数,S=M*K,K为一个对象能够存储的反向索引记录个数,index为反向索引记录在对象中的存储位置的偏移量,%为取余运算。
可选的,可选的,处理器501可以为集成在一起的一块芯片,或者处理器501包括多个物理上相互独立的芯片。
本实施例中的装置500与图2至图5对应的方法是基于同一发明构思下的两个方面,在前面已经对图2至图5对应的方法的实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施例中的装置500的结构及实施过程,为了说明书的简洁,在此就不再赘述了。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例技术方案中,分布式文件系统的服务器在新建目录项之后,会对应在反向索引表中写入该目录项的反向索引记录。具体实施时,根据该目录项的第一目录项标识确定存储目录项的第一反向索引记录的第一对象,以及确定具体在第一对象中的哪个存储位置记录第一反向索引记录,最后在确定出的第一对象的第一位置处写入第一反向索引记录。由于目录项标识(fid)的离散性要远小于fid的哈希值的离散性,因此,与现有技术中根据fid的哈希值将反向索引记录映射至反向索引表中相比,本发明实施例中根据fid值将反向索引记录映射至反向索引表中的技术方案能够显著降低磁盘IO的离散程度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
具体来讲,本发明实施例中的信息处理方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与信息处理方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种反向索引记录的存储方法,其特征在于,包括:
服务器在新建目录项之后,获取所述目录项的第一目录项标识和所述目录项的父目录项的第二目录项标识;
根据反向索引表中的对象与目录项标识的第一对应关系,确定与所述第一目录项标识对应的对象为存储所述目录项的第一反向索引记录的第一对象;
根据反向索引记录在对象中的存储位置与目录项标识的第二对应关系,确定与所述第一目录项标识对应的存储位置为在所述第一对象中记录所述第一反向索引记录的第一位置;
在所述第一对象中的第一位置处写入所述第一反向索引记录,所述第一反向索引记录中记录有所述第一目录项标识和所述第二目录项标识。
2.根据权利要求1所述的方法,其特征在于,在所述第一对象中的第一位置处写入所述第一反向索引记录之前,还包括:
获取针对所述第一对象的写锁权限;
在所述第一对象中的第一位置处写入所述第一反向索引记录之后,还包括:
释放获取到的所述写锁权限。
3.根据权利要求1所述的方法,其特征在于,在所述第一对象中的第一位置处写入所述第一反向索引记录之后,所述方法还包括:
接收查询所述第一反向索引记录的读请求,所述读请求中包含所述第一目录项标识;
根据所述第一对应关系,确定与所述第一目录项标识对应的第一对象;
根据所述第二对应关系,确定与所述第一目录项标识对应的第一位置;
在所述第一对象中的第一位置处读取所述第一反向索引记录,并返回读取到的所述第一反向索引记录中的数据。
4.根据权利要求1所述的方法,其特征在于,在所述第一对象中的第一位置处写入所述第一反向索引记录之后,所述方法还包括:
接收删除所述第一反向索引记录的删除请求,所述删除请求中包含所述第一目录项标识;
根据所述第一对应关系,确定与所述第一目录项标识对应的第一对象;
根据所述第二对应关系,确定与所述第一目录项标识对应的第一位置;
删除所述第一对象中的第一位置处的所述第一反向索引记录。
5.根据权利要求1-4中任一权利要求所述的方法,其特征在于,所述第一对应关系为:
IdObject=(fid/S)*M+fid%S%M;
其中,IdObject为反向索引表中对象的标识,fid为目录项标识,M为系统在写入数据时的下盘时延内的并发操作数,S=M*K,K为一个对象能够存储的反向索引记录个数,%为取余运算;
所述第二对应关系为:
index=(fid%S)/M;
其中,index为反向索引记录在对象中的存储位置的偏移量。
6.一种反向索引记录的存储装置,其特征在于,包括:
第一获取模块,用于在服务器新建目录项之后,获取所述目录项的第一目录项标识和所述目录项的父目录项的第二目录项标识;
第一确定模块,用于根据反向索引表中的对象与目录项标识的第一对应关系,确定与所述第一目录项标识对应的对象为存储所述目录项的第一反向索引记录的第一对象;
第二确定模块,用于根据反向索引记录在对象中的存储位置与目录项标识的第二对应关系,确定与所述第一目录项标识对应的存储位置为在所述第一对象中记录所述第一反向索引记录的第一位置;
写入模块,用于在所述第一对象中的第一位置处写入所述第一反向索引记录,所述第一反向索引记录中记录有所述第一目录项标识和所述第二目录项标识。
7.根据权利要求6所述的装置,其特征在于,还包括:
权限获取模块,用于在所述第一对象中的第一位置处写入所述第一反向索引记录之前,获取针对所述第一对象的写锁权限;
权限释放模块,用于在所述第一对象中的第一位置处写入所述第一反向索引记录之后,释放获取到的所述写锁权限。
8.根据权利要求6所述的装置,其特征在于,还包括:
第一接收模块,用于接收查询所述第一反向索引记录的读请求,所述读请求中包含所述第一目录项标识;
所述第一确定模块,还用于根据所述第一对应关系,确定与所述第一目录项标识对应的第一对象;
所述第二确定模块,还用于根据所述第二对应关系,确定与所述第一目录项标识对应的第一位置;
所述装置还包括:
读取模块,用于在所述第一对象中的第一位置处读取所述第一反向索引记录,并返回读取到的所述第一反向索引记录中的数据。
9.根据权利要求6所述的装置,其特征在于,还包括:
第二接收模块,用于接收删除所述第一反向索引记录的删除请求,所述删除请求中包含所述第一目录项标识;
所述第一确定模块,还用于根据所述第一对应关系,确定与所述第一目录项标识对应的第一对象;
所述第二确定模块,还用于根据所述第二对应关系,确定与所述第一目录项标识对应的第一位置;
所述装置还包括:
删除模块,用于删除所述第一对象中的第一位置处的所述第一反向索引记录。
10.根据权利要求6-9中任一权利要求所述的装置,其特征在于,所述第一对应关系为:
IdObject=(fid/S)*M+fid%S%M;
其中,IdObject为反向索引表中对象的标识,fid为目录项标识,M为系统在写入数据时的下盘时延内的并发操作数,S=M*K,K为一个对象能够存储的反向索引记录个数,%为取余运算;
所述第二对应关系为:
index=(fid%S)/M;
其中,index为反向索引记录在对象中的存储位置的偏移量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410799169.8A CN104537023B (zh) | 2014-12-19 | 2014-12-19 | 一种反向索引记录的存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410799169.8A CN104537023B (zh) | 2014-12-19 | 2014-12-19 | 一种反向索引记录的存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104537023A true CN104537023A (zh) | 2015-04-22 |
CN104537023B CN104537023B (zh) | 2018-07-31 |
Family
ID=52852551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410799169.8A Active CN104537023B (zh) | 2014-12-19 | 2014-12-19 | 一种反向索引记录的存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104537023B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874383A (zh) * | 2017-01-10 | 2017-06-20 | 清华大学 | 一种分布式文件系统元数据的解耦合分布方法 |
CN110515543A (zh) * | 2019-08-02 | 2019-11-29 | 星辰天合(北京)数据科技有限公司 | 基于对象存储桶的快照方法、装置和系统 |
CN115586871A (zh) * | 2022-10-28 | 2023-01-10 | 北京百度网讯科技有限公司 | 面向云计算场景的数据追加写方法、装置、设备以及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1873631A1 (en) * | 2006-06-26 | 2008-01-02 | Research In Motion Limited | Method and system for generating a reverse binary patch |
CN101404034A (zh) * | 2008-11-20 | 2009-04-08 | 北京握奇数据系统有限公司 | 文件存储和查找的方法及装置 |
CN103327052A (zh) * | 2012-03-22 | 2013-09-25 | 深圳市腾讯计算机系统有限公司 | 数据存储方法和系统以及数据访问方法和系统 |
-
2014
- 2014-12-19 CN CN201410799169.8A patent/CN104537023B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1873631A1 (en) * | 2006-06-26 | 2008-01-02 | Research In Motion Limited | Method and system for generating a reverse binary patch |
CN101404034A (zh) * | 2008-11-20 | 2009-04-08 | 北京握奇数据系统有限公司 | 文件存储和查找的方法及装置 |
CN103327052A (zh) * | 2012-03-22 | 2013-09-25 | 深圳市腾讯计算机系统有限公司 | 数据存储方法和系统以及数据访问方法和系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874383A (zh) * | 2017-01-10 | 2017-06-20 | 清华大学 | 一种分布式文件系统元数据的解耦合分布方法 |
CN106874383B (zh) * | 2017-01-10 | 2019-12-20 | 清华大学 | 一种分布式文件系统元数据的解耦合分布方法 |
CN110515543A (zh) * | 2019-08-02 | 2019-11-29 | 星辰天合(北京)数据科技有限公司 | 基于对象存储桶的快照方法、装置和系统 |
CN110515543B (zh) * | 2019-08-02 | 2021-02-19 | 星辰天合(北京)数据科技有限公司 | 基于对象存储桶的快照方法、装置和系统 |
CN115586871A (zh) * | 2022-10-28 | 2023-01-10 | 北京百度网讯科技有限公司 | 面向云计算场景的数据追加写方法、装置、设备以及介质 |
CN115586871B (zh) * | 2022-10-28 | 2023-10-27 | 北京百度网讯科技有限公司 | 面向云计算场景的数据追加写方法、装置、设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104537023B (zh) | 2018-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8799601B1 (en) | Techniques for managing deduplication based on recently written extents | |
CN108804510B (zh) | 键值文件系统 | |
CN108628753B (zh) | 内存空间管理方法和装置 | |
US10019459B1 (en) | Distributed deduplication in a distributed system of hybrid storage and compute nodes | |
CN103229173B (zh) | 元数据管理方法及系统 | |
KR102127116B1 (ko) | 분산 데이터 저장 장치 및 분산 데이터 저장 방법 | |
CN103577123B (zh) | 一种基于hdfs的小文件优化存储方法 | |
US8793227B2 (en) | Storage system for eliminating duplicated data | |
US9043540B2 (en) | Systems and methods for tracking block ownership | |
CN103064639B (zh) | 数据存储方法及装置 | |
CN101944124B (zh) | 分布式文件系统管理方法、装置以及对应的文件系统 | |
US20160350302A1 (en) | Dynamically splitting a range of a node in a distributed hash table | |
CN105468642A (zh) | 数据的存储方法及装置 | |
CN103902623A (zh) | 用于在存储系统上存取文件的方法和系统 | |
CN103064906B (zh) | 文件管理方法及装置 | |
KR102440128B1 (ko) | 통합된 객체 인터페이스를 위한 메모리 관리 장치, 시스템 및 그 방법 | |
JP2017188096A (ja) | 重複除去メモリモジュール及びそのメモリ重複除去方法 | |
CN110321325A (zh) | 文件索引节点查找方法、终端、服务器、系统及存储介质 | |
US9430492B1 (en) | Efficient scavenging of data and metadata file system blocks | |
CN107784108A (zh) | 一种数据存储管理方法、装置及设备 | |
CN104881466A (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
CN105808622A (zh) | 一种文件存储的方法和装置 | |
CN104054071A (zh) | 访问存储设备的方法和存储设备 | |
US10515055B2 (en) | Mapping logical identifiers using multiple identifier spaces | |
CN109460406A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211223 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: Super fusion Digital Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |