一种目录创建、查询和删除方法及装置制造方法及图纸

技术编号:4272042 阅读:342 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种目录创建、查询和删除方法及装置,包括:按照先后顺序扫描指定目录中的条目,并记录在当前已扫描的条目中指定目录的子目录所在条目的数量;并当记录的数量与指定目录的所有子目录的数量相等时,在指定目录的最后一个子目录所在条目的下一个空闲条目中,创建指定目录的新子目录;以及设置创建的新子目录的前趋目录为指定目录的原前趋目录,并将指定目录的前趋目录更新为创建的新子目录。采用本发明专利技术提供的方法及装置,相比现有技术,提高了对文件系统中的目录进行操作的速度。

【技术实现步骤摘要】

本专利技术涉及文件系统
,尤其涉及一种目录创建、查询和删除方法及装置
技术介绍
目前,现有技术中的fat文件系统以文件分配表管理整个磁盘的簇(扇区),以目录文件中保存固定格式的条目来表示本目录中的基本文件和子目录,固定格式的条目中记录了对应基本文件或子目录的起始簇,即记录了基本文件和子目录的文件头信息,然后由文件分配表中的簇链实现文件系统的存储空间管理。 fat文件系统由于其中文件和目录的树状结构,使其在进行整个目录的操作时往往需要进行递归遍历,对内存需求较大,且速度较慢。 现有技术中的ISO文件系统不同于普通的fat文件系统,它有其自有特性,主要表现在对文件名的限制DF(Dedicated File,专用文件,即目录)有一个可选的应用标示符AID(A卯lication IDentif ier) , AID要求在整个ISO文件系统中是唯一的,对于ISO文件系统来说,这要求在创建带AID名的DF时要进行全盘扫描,由于ISO文件系统本身的EF(Elementary File,基本文件)和DF为树状结构,进行全盘扫描必然要对整个树状结构进行遍历查询,用以确定是否已经有同名DF存在。对树状结构进行遍历查询时对堆栈或全局变量的使用量会显著增加,导致查询速度较慢。 在删除DF时,同样由于ISO文件系统本身的树状结构,在删除一个DF时要先删除其下级的所有EF和DF,所以形成了一个递归,要进行深度优先的后序遍历才可以进行删除操作,否则无法正常释放被删除掉的EF和DF原来所占空间,会造成空间泄漏。而进行当前DF中所有内容(递归地包括其下所有子DF的内容)的递归遍历也需要较大内存,速度较慢。
技术实现思路
本专利技术实施例提供一种目录创建、查询和删除方法及装置,相比现有技术,用以提高对文件系统中的目录进行操作的速度。 本专利技术实施例提供一种目录创建方法,包括 按照先后顺序扫描指定目录中的条目,并记录在当前已扫描的条目中所述指定目录的子目录所在条目的数量; 当记录的数量与所述指定目录的所有子目录的数量相等时,在所述指定目录的最后一个子目录所在条目的下一个空闲条目中,创建所述指定目录的新子目录; 设置创建的新子目录的前趋目录为所述指定目录的原前趋目录,并将所述指定目录的前趋目录更新为创建的新子目录。 所述方法,还包括 设置创建的新子目录的后继目录为所述指定目录,并将所述指定目录的原前趋目录的后继目录更新为创建的新子目录。 本专利技术实施例还提供一种目录创建方法,包括 按照先后顺序扫描指定目录中的条目,确定出第一个空闲条目,并记录在当前已扫描的条目中所述指定目录的子目录所在条目的数量; 在所述第一个空闲条目中创建所述指定目录的新子目录; 当记录的数量与所述指定目录的所有原子目录的数量相等时,设置创建的新子目录的前趋目录为所述指定目录的原前趋目录,并将所述指定目录的前趋目录更新为创建的新子目录; 当记录的数量与所述指定目录的所有原子目录的数量不相等,且不为零时,设置创建的新子目录的前趋目录为已扫描的所述指定目录的子目录中的最后一个子目录,并将原前趋目录为所述最后一个子目录的目录的前趋目录更新为创建的新子目录; 当记录的数量与所述指定目录的所有原子目录的数量不相等,且为零时,设置创建的新子目录的前趋目录为所述指定目录的最终左子目录的原前趋目录,并将所述最终左子目录的前趋目录更新为创建的新子目录;其中,所述最终左子目录不存在下级目录,且其各上级目录为所述指定目录的各下级目录在每级目录中的第一个目录。 所述方法,还包括 当记录的数量与所述指定目录的所有原子目录的数量相等时,设置创建的新子目录的后继目录为所述指定目录,并将所述指定目录的原前趋目录的后继目录更新为创建的新子目录; 当记录的数量与所述指定目录的所有原子目录的数量不相等,且不为零时,设置创建的新子目录的后继目录为所述最后一个子目录的原后继目录,并所述最后一个子目录的后继目录更新为创建的新子目录; 当记录的数量与所述指定目录的所有原子目录的数量不相等,且为零时,设置创建的新子目录的后继目录为所述最终左子目录,并将所述最终左子目录的原前趋目录的后继目录更新为创建的新子目录。 本专利技术实施例还提供一种基于上述方法创建目录的目录查询方法,包括 步骤A :判断当前目录是否为被查询目录; 步骤B :如果是,则定位所述当前目录为所述被查询目录;否则,将所述当前目录的前趋目录作为更新后的当前目录,执行步骤A。 本专利技术实施例还提供一种基于上述方法创建目录的目录查询方法,包括 步骤C :判断当前目录是否为被查询目录; 步骤D :如果是,则定位所述当前目录为所述被查询目录;否则,将所述当前目录的后继目录作为更新后的当前目录,执行步骤C。本专利技术实施例还提供一种基于上述方法创建目录的目录删除方法,包括 步骤E :定位到待删除目录,并设定所述待删除目录的最终左子目录为当前目录;其中,所述待删除目录的最终左子目录不存在下级目录,且其各上级目录为所述待删除目录的各下级目录在每级目录中的第一个目录; 步骤F :删除所述当前目录,并判断所述当前目录是否为所述待删除目录; 步骤G:如果是,将所述待删除目录的最终左子目录的前趋目录作为所述待删除目录的后继目录的更新后的前趋目录,并将所述待删除目录的后继目录作为所述待删除目录的最终左子目录的前趋目录的更新后的后继目录;否则,将所述当前目录的后继目录作为更新后的当前目录,执行步骤F。 本专利技术实施例还提供一种目录创建装置,包括 第一扫描单元,用于按照先后顺序扫描指定目录的文件体中的条目,并记录在当前已扫描的条目中所述指定目录的子目录所在条目的数量; 第一创建单元,用于当记录的数量与所述指定目录的所有子目录的数量相等时,在所述指定目录的最后一个子目录所在条目的下一个空闲条目中,创建所述指定目录的新子目录; 第一设置单元,用于设置创建的新子目录的前趋目录为所述指定目录的原前趋目录,并将所述指定目录的前趋目录更新为创建的新子目录。 所述第一设置单元,还用于设置创建的新子目录的后继目录为所述指定目录,并将所述指定目录的原前趋目录的后继目录更新为创建的新子目录。 本专利技术实施例还提供一种目录创建装置,包括 第二扫描单元,用于按照先后顺序扫描指定目录的文件体中的条目,确定出第一个空闲条目,并记录在当前已扫描的条目中所述指定目录的子目录所在条目的数量; 第二创建单元,用于在所述第一个空闲条目中创建所述指定目录的新子目录; 第二设置单元,用于当记录的数量与所述指定目录的所有原子目录的数量相等时,设置创建的新子目录的前趋目录为所述指定目录的原前趋目录,并将所述指定目录的前趋目录更新为创建的新子目录;以及当记录的数量与所述指定目录的所有原子目录的数量不相等,且不为零时,设置创建的新子目录的前趋目录为已扫描的所述指定目录的子目录中的最后一个子目录,并将原前趋目录为所述最后一个子目录的目录的前趋目录更新为创建的新子目录;以及当所述记录的数量与所述指定目录的所有原子目录的数量不相等,且为零时,设置创建的新子目录的前趋目录为所述指定目录的最终左子目录的原前趋目录,并将所述最终左子目录的前趋目录更新为创建的新子目录;其中,所述最终左子目录不存在下级目录,且其各上级目录为所述指定目录的各下级目本文档来自技高网
...

【技术保护点】
一种目录创建方法,其特征在于,包括:按照先后顺序扫描指定目录中的条目,并记录在当前已扫描的条目中所述指定目录的子目录所在条目的数量;当记录的数量与所述指定目录的所有子目录的数量相等时,在所述指定目录的最后一个子目录所在条目的下一个空闲条目中,创建所述指定目录的新子目录;设置创建的新子目录的前趋目录为所述指定目录的原前趋目录,并将所述指定目录的前趋目录更新为创建的新子目录。

【技术特征摘要】
一种目录创建方法,其特征在于,包括按照先后顺序扫描指定目录中的条目,并记录在当前已扫描的条目中所述指定目录的子目录所在条目的数量;当记录的数量与所述指定目录的所有子目录的数量相等时,在所述指定目录的最后一个子目录所在条目的下一个空闲条目中,创建所述指定目录的新子目录;设置创建的新子目录的前趋目录为所述指定目录的原前趋目录,并将所述指定目录的前趋目录更新为创建的新子目录。2. 如权利要求l所述的方法,其特征在于,还包括设置创建的新子目录的后继目录为所述指定目录,并将所述指定目录的原前趋目录的 后继目录更新为创建的新子目录。3. —种目录创建方法,其特征在于,包括按照先后顺序扫描指定目录中的条目,确定出第一个空闲条目,并记录在当前已扫描 的条目中所述指定目录的子目录所在条目的数量;在所述第一个空闲条目中创建所述指定目录的新子目录;当记录的数量与所述指定目录的所有原子目录的数量相等时,设置创建的新子目录的 前趋目录为所述指定目录的原前趋目录,并将所述指定目录的前趋目录更新为创建的新子 目录;当记录的数量与所述指定目录的所有原子目录的数量不相等,且不为零时,设置创建 的新子目录的前趋目录为已扫描的所述指定目录的子目录中的最后一个子目录,并将原前 趋目录为所述最后一个子目录的目录的前趋目录更新为创建的新子目录;当记录的数量与所述指定目录的所有原子目录的数量不相等,且为零时,设置创建的 新子目录的前趋目录为所述指定目录的最终左子目录的原前趋目录,并将所述最终左子目 录的前趋目录更新为创建的新子目录;其中,所述最终左子目录不存在下级目录,且其各上 级目录为所述指定目录的各下级目录在每级目录中的第一个目录。4. 如权利要求3所述的方法,其特征在于,还包括当记录的数量与所述指定目录的所有原子目录的数量相等时,设置创建的新子目录的 后继目录为所述指定目录,并将所述指定目录的原前趋目录的后继目录更新为创建的新子 目录;当记录的数量与所述指定目录的所有原子目录的数量不相等,且不为零时,设置创建 的新子目录的后继目录为所述最后一个子目录的原后继目录,并所述最后一个子目录的后 继目录更新为创建的新子目录;当记录的数量与所述指定目录的所有原子目录的数量不相等,且为零时,设置创建的 新子目录的后继目录为所述最终左子目录,并将所述最终左子目录的原前趋目录的后继目 录更新为创建的新子目录。5. —种基于权利要求l-4任一所述方法创建目录的目录查询方法,其特征在于,包括 步骤A :判断当前目录是否为被查询目录;步骤B :如果是,则定位所述当前目录为所述被查询目录;否则,将所述当前目录的前 趋目录作为更新后的当前目录,执行步骤A。6. 如权利要求5所述的方法,其特征在于,所述当前目录的初始目录为根目录。7. —种基于权利要求2或4所述方法创建目录的目录查询方法,其特征在于,包括步骤C:判断当前目录是否为被查询目录;步骤D:如果是,则定位所述当前目录为所述被查询目录;否则,将所述当前目录的后 继目录作为更新后的当前目录,执行步骤C。8. 如权利要求7所述的方法,其特征在于,所述当前目录的初始目录为根目录。9. 一种基于权利要求2或4所述方法创建目录的目录删除方法,其特征在于,包括步骤E :定位到待删除目录,并设定所述待删除目录的最终左子目录为当前目录;其 中,所述待删除目录的最终左子目录不存在下级目录,且其各上级目录为所述待删除目录 的各下级目录在每级目录中的第一个目录;步骤F :删除所述当前目录,并判断所述当前目录是否为所述待删除目录; 步骤G :如果是,将所述待删除目录的最终左子目录的前趋目录作为所述待删除目录 的后继目录的更新后的前趋目录,并将所述待删除目录的后继目录作为所述待删除目录的 最终左子目录的前趋目录的更新后的后继目录;否则,将所述当前目录的后继目录作为更 新后的当前目录,执行步骤F。10. —种目录创建装置,其特征在于,包括第一扫描单元,用于按照先后顺序扫描指定目录的文件体中的条目,并记录在当前已 扫描的条目中所述指定目录的子目录所在条目的数量;第一创建单元,用于当记录的数量与所述指定目录的所有子目录的数量相等时,在所述指定目录的...

【专利技术属性】
技术研发人员:邵进春
申请(专利权)人:北京握奇数据系统有限公司
类型:发明
国别省市:11[中国|北京]

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

1