数据块的查找方法和装置制造方法及图纸

技术编号:6537829 阅读:197 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例提供一种数据块的查找方法和装置,所述数据块的查找方法包括:获得待查找数据块所在路径树的高度值和所述待查找数据块对应的数据管理结构号;根据所述路径树的高度值和所述数据管理结构号查找所述数据管理结构号对应的指针,并根据查找到的指针定位所述待查找数据块。本发明专利技术实施例实现了通过路径树快速定位待查找数据块,提高了待查找数据块的查找效率。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及一种数据块的查找方法和装置
技术介绍
文件存储在磁盘上的,在对文件进行读写等操作时,首先需要将文件从磁盘上定位并读到内存中,然后才能进行相关处理。当目标文件很大且仅需要对该目标文件中的一部分数据进行随机读写时,查找目标文件中特定数据的过程会耗费相当多的时间。而且在一些应用中,往往也只是对文件中的某一部分数据进行处理,一般处理的速度很快,但查找待处理数据的过程会消耗掉大量的时间,如何快速地找到待处理数据,对提高文件系统的整体性能至关重要。现有技术提供的一种查找数据的方法是以数据块为单位管理数据,在查找数据时以数据块为单位进行查找;另一种查找数据的方法是以盘区(extent)为单位管理数据,在查找数据时根据extent查找数据块。但是,现有技术提供的上述查找数据的方法均无法直接查找到待查找数据块,存在查找次数较多、查找效率较低和查找速度较慢的问题。
技术实现思路
本专利技术实施例提供一种数据块的查找方法和装置,以提高在文件中查找数据块的查找效率。本专利技术实施例提供一种数据块的查找方法,包括获得待查找数据块所在路径树的高度值和所述待查找数据块对应的数据管理结构号;根据所述路径树的高度值和所述数据管理结构号查找所述数据管理结构号对应的指针,并根据查找到的指针定位所述待查找数据块。本专利技术实施例还提供一种数据块的查找装置,包括获得模块,用于获得待查找数据块所在路径树的高度值和所述待查找数据块对应的数据管理结构号;查找模块,用于根据所述获得模块获得的路径树的高度值和数据管理结构号查找所述数据管理结构号对应的指针;定位模块,用于根据所述查找模块查找到的指针定位所述待查找数据块。本专利技术实施例中,根据待查找数据块所在路径树的高度值和该待查找数据块对应的数据管理结构号,查找该数据管理结构号对应的指针,然后根据查找到的指针定位上述待查找数据块;从而实现了根据待查找数据块对应的数据管理结构号,通过路径树直接查找到待查找数据块,减少了查找次数,提高了待查找数据块的查找效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术数据块的查找方法一个实施例的流程图;图2为本专利技术路径树一个实施例的示意图;图3为本专利技术路径树另一个实施例的示意图;图4为本专利技术定位待查找数据块一个实施例的流程图;图5为本专利技术数据块的查找装置一个实施例的结构示意图;图6为本专利技术数据块的查找装置另一个实施例的结构示意图。具体实施例方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术数据块的查找方法一个实施例的流程图,如图1所示,该数据块的查找方法可以包括步骤101,获得待查找数据块所在路径树的高度值和该待查找数据块对应的数据管理结构号。步骤102,根据该路径树的高度值和该数据管理结构号查找上述数据管理结构号对应的指针,并根据查找到的指针定位待查找数据块。上述实施例中,根据待查找数据块所在路径树的高度值和该待查找数据块对应的数据管理结构号,查找该数据管理结构号对应的指针,然后根据查找到的指针定位上述待查找数据块;从而实现了根据待查找数据块对应的数据管理结构号,通过路径树直接查找到待查找数据块,减少了查找次数,提高了待查找数据块的查找效率。本专利技术实施例通过一种路径树的数据结构来管理数据,初始建立路径树时,该路径树包括根节点和第一子节点,在该根节点中记录该路径树的第一高度值和根节点指向第一子节点的指针;这时,该路径树的第一高度值为该高度值的初始值,该第一高度值可以为 1或其他正整数,本专利技术实施例对第一高度值的大小不作限定,但本专利技术实施例以第一高度值为1为例进行说明。当有数据需要写入时,在第一子节点的数据管理结构所管理的数据块中写入数据,并在第一子节点中记录该数据管理结构对应的数据管理结构号和该数据管理结构号对应的指针,该数据管理结构号对应的指针指向上述数据管理结构所管理的数据块;本专利技术实施例中,可以依次在第一子节点的数据管理结构所管理的数据块中写入数据,即将第一子节点的第一个数据管理结构所管理的数据块写满之后,再在第一子节点的第二个数据管理结构所管理的数据块中写入数据,依次类推。图2为本专利技术路径树一个实施例的示意图,如图2所示,该路径树包括根节点和第一子节点,根节点中记录有路径树的高度值和指向第一子节点的指针,图2所示路径树的高度值为1。图2中所示的第一子节点包括100个数据管理结构,这100个数据管理结构的数据管理结构号分别为0 99 ;每个数据结构管理逻辑上连续的4个数据块,每个数据管理结构号对应的指针指向该数据管理结构号对应的数据管理结构所管理的数据块。如图2 所示,数据管理结构号0对应的指针指向第一子节点的第一个数据管理结构所管理的0、1、 2和3这4个数据块,数据管理结构号1对应的指针指向第一子节点的第二个数据管理结构所管理的4、5、6和7这4个数据块,数据管理结构号2对应的指针指向第一子节点的第二个数据管理结构所管理的8、9、10和11这4个数据块。图2仅是路径树的一个示例,本专利技术实施例并不仅限于此,本专利技术实施例对第一子节点所包括的数据管理结构的总数和每个数据管理结构管理的逻辑上连续的数据块的块数不作限定。但本专利技术实施例以下的描述中均以第一子节点包括100个数据管理结构, 每个数据管理结构管理逻辑上连续的4个数据块为例进行说明。本专利技术实施例中,在将第一子节点的数据管理结构所管理的数据块写满数据之后,如果还有数据需要写入,则在该路径树中插入第二子节点和第三子节点,将根节点指向第一子节点的指针修改为指向第二子节点,并将该路径树的第一高度值加上预定数值,获得该路径树的第二高度值,该预定数值可以为1或其他正整数,本专利技术实施例对预定数值的大小不作限定,但本专利技术实施例以该预定数值为1为例进行说明;该第二子节点的第一个指针指向第一子节点,第二子节点的第二个指针指向第三子节点。然后,在第三子节点的数据管理结构所管理的数据块中写入数据,并在第三子节点中记录数据管理结构对应的数据管理结构号和数据管理结构号对应的指针,该数据管理结构号对应的指针指向该数据管理结构号对应的数据管理结构所管理的数据块。其中,在第三子节点中写入数据的过程与在第一子节点中写入数据的过程相同,在此不再赘述。同理,在将第三子节点的数据管理结构所管理的数据块写满数据之后,如果还有数据需要写入,则可以继续在该路径树中插入第四子节点和第五子节点,后续的处理过程与在该路径树中插入第二子节点和第三子节点之后的处理过程相同,在此不再赘述。以此类推,还可以继续在该路径树中插入第六子节点,...,第N子节点,其中N为正整数,具体的实现方式均与在该路径树中插入第二子节点和第三子节点的实现方式相同,在此本文档来自技高网...

【技术保护点】
1.一种数据块的查找方法,其特征在于,包括:获得待查找数据块所在路径树的高度值和所述待查找数据块对应的数据管理结构号;根据所述路径树的高度值和所述数据管理结构号查找所述数据管理结构号对应的指针,并根据查找到的指针定位所述待查找数据块。

【技术特征摘要】
1.一种数据块的查找方法,其特征在于,包括获得待查找数据块所在路径树的高度值和所述待查找数据块对应的数据管理结构号;根据所述路径树的高度值和所述数据管理结构号查找所述数据管理结构号对应的指针,并根据查找到的指针定位所述待查找数据块。2.根据权利要求1所述的方法,其特征在于,所述获得待查找数据块所在路径树的高度值和所述待查找数据块对应的数据管理结构号之前,还包括建立所述路径树,所述路径树包括根节点和第一子节点,在所述根节点中记录所述路径树的第一高度值和所述根节点指向所述第一子节点的指针;在所述第一子节点的数据管理结构所管理的数据块中写入数据,并在所述第一子节点中记录所述数据管理结构对应的数据管理结构号和所述数据管理结构号对应的指针,所述数据管理结构号对应的指针指向所述数据管理结构号对应的数据管理结构所管理的数据块。3.根据权利要求2所述的方法,其特征在于,还包括将所述第一子节点的数据管理结构所管理的数据块写满数据之后,在所述路径树中插入第二子节点和第三子节点,将所述根节点指向所述第一子节点的指针修改为指向所述第二子节点,并将所述路径树的第一高度值加上预定数值,获得所述路径树的第二高度值;所述第二子节点的第一个指针指向所述第一子节点,所述第二子节点的第二个指针指向所述第三子节点;在所述第三子节点的数据管理结构所管理的数据块中写入数据,在所述第三子节点中记录所述数据管理结构对应的数据管理结构号和所述数据管理结构号对应的指针,所述数据管理结构号对应的指针指向所述数据管理结构号对应的数据管理结构所管理的数据块。4.根据权利要求2所述的方法,其特征在于,所述根据所述路径树的高度值和所述数据管理结构号查找所述数据管理结构号对应的指针包括当所述路径树的高度值为所述第一高度值时,根据所述数据管理结构号在所述路径树的第一子节点中查找所述数据管理结构号对应的指针。5.根据权利要求3所述的方法,其特征在于,所述根据所述路径树的高度值和所述数据管理结构号查找所述数据管理结构号对应的指针包括当所述路径树的高度值为所述第二高度值时,计算所述数据管理结构号与所述路径树最底层的每个子节点中数据管理结构的总数的商和余数;在所述第二子节点中查找所述商对应的指针,并将所述路径树的第二高度值减去所述预定数值,获得第三高度值;如果所述第三高度值等于所述第一高度值,则在所述商对应的指针所指向的子节点中查找所述余数对应的指针,所述余数对应的指针为所述数据管理结构号对应的指针;否则重复执行计算所述数据管理结构号与所述路径树最底层的每个子节点中数据管理结构的总数的商和余数,在所述第二子节点中查找所述商对应的指针,并将所述第三高度值减去所述预定数值的步骤,直至减去所述预定数值之后,获得的高度值等于所述第一高度值。6.根据权利要求1所述的方法,其特征在于,所述根据查找到的指针定位所述待查找数据块包括根据所述查找到的指针定位所述待查找数据块对应的数据管理结构...

【专利技术属性】
技术研发人员:牛海根
申请(专利权)人:成都市华为赛门铁克科技有限公司
类型:发明
国别省市:90

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1