一种目录存储和映射方法及系统技术方案

技术编号:8271459 阅读:195 留言:0更新日期:2013-01-31 03:41
本发明专利技术提出一种目录的存储和映射方法及系统,采用了将路径信息分解为目录节点分别存储,节省了存储空间。为每个目录节点提供父目录指针,子目录指针,同级目录指针,映射目录指针。使得每个目录节点与其父目录、子目录有序地链接起来,便于双向查找,同级目录之间构成平衡二叉树,缩短了查询时间。映射目录指针的设置能够最快获得多个目标系统中对应的目录节点。本发明专利技术能够提高目录存储的空间利用率,提高查询速度和获得目录映射的效率。

【技术实现步骤摘要】
本专利技术涉及目录存储和映射技术,特别是在多个虚拟环境和本地操作系统中的对目录进行存储和在它们之间进行目录映射的方法及系统。
技术介绍
随着计算机技术的发展,操作系统中存储的目录数量普遍增长较快。当某个操作系统中存在大量的目录时,如何存储和管理这些目录信息成为一大问题。现有技术中常见的一种方式是将系统中的所有目录信息以原始路径信息的方式直接存储,即存储大量例如“C: \windows\winsxs\catalog”、“C: \windows\system”之类的表示路径的字符串。但显而易见的,这样的存储方式造成了大量存储空间的浪费,例如上述两个原始路径信息字符串的例子中,“C:\wind0ws\”这些相同的字符串就浪费了很多存储空间。由于操作系统中的原始路径信息字符串存在大量的重复字符,因此,浪费的存储空间将会达到惊人的数量。此夕卜,还存在需要将多个系统中的路径信息进行存储的情境,例如同时存在本地真实操作系 统和多个虚拟环境的情况下,对路径信息的存储空间需求将会加倍的增长。因此,对于存储空间紧张的情境下,现有的存储方式已不能满足需求。现有技术中对于某一目录的寻址,通常采用对其原始路径信息字符串全文匹配的方式来进行。例如要寻找目录“C: \windows\winsxs\catalog”,则需要在已存储的包括所有的原始路径信息的全部字符串中去全文匹配“C: \windows\winsxs\catalog”。显然这种匹配的速度是相当慢的,难以满足高速处理的需要。现有技术中对于不同系统环境之间的目录映射,通常采用的是建立静态的目录映射表,将每个源系统中的目录的原始路径信息映射为目标系统中的目录的原始路径信息,从前述的现有技术可以知道,这将导致存储空间浪费巨大,速度低下。当存在多个虚拟环境和本地操作系统中的目录需要相互映射时,这样的目录映射表将会加倍扩大,这个问题将会体现地尤为严重。本文中所述的多个系统、源系统、目标系统均不限于真实的操作系统或者是虚拟的环境,只要是存在目录信息需要存储或者映射的软件环境,均可以作为本专利技术中的上述系统的任何一个。
技术实现思路
有鉴于此,本专利技术提出一种目录的存储和映射方法及系统,能够提闻目录存储的空间利用率,提高目录映射的速度。为达到上述目的,本专利技术提出技术方案如下一种目录存储方法,其特征在于包括以下步骤101、获取输入的一个原始路径信息;102、将所述原始路径信息依据路径分隔符分解成至少一个目录名;103、由根目录的目录名开始判断,是否该根目录名已经存入根目录节点中,若是则针对其子目录的目录名继续判断是否已存入子目录节点中,若是未存储过的新目录名则;104、分配新目录节点的存储空间,将该目录名存入目录节点;105、设置该目录节点的父目录指针,指向其父目录节点;106、设置该目录节点的同级目录指针,使得该目录节点与其同级目录节点构成为一颗平衡二叉树;107、设置该目录节点的父目录节点的子节点指针,指向该目录节点所在平衡二叉树的树根位置的目录节点;108、继续跳回步骤103直至判断完该原始路径信息包括的末级子目录的目录名;109、继续跳回步骤101获取下一个原始路径信息,直至全部原始路径信息都处理完毕;·110、在多个系统的路径信息都存储完毕之后,在每个目录节点中设置其映射目录指针指向该目录节点在其他系统中对应的目录节点。其中的同级目录指针包括同级左指针和同级右指针。其中映射目录指针包括至少一个指针,分别指向至少一个目标系统中的对应目录节点。本专利技术还提出了一种目录存储系统,其特征在于包括路径分解模块,用于获取输入的一个原始路径信息,将所述原始路径信息依据路径分隔符分解成至少一个目录名;存储分配模块,用于由根目录的目录名开始判断,是否该根目录名已经存入根目录节点中,若是则针对其子目录的目录名继续判断是否已存入子目录节点中,若是未存储过的新目录名则;分配新目录节点的存储空间,将该目录名存入目录节点;指针设置模块,用于设置该目录节点的父目录指针,指向其父目录节点;设置该目录节点的同级目录指针,使得该目录节点与其同级目录节点构成为一颗平衡二叉树;设置该目录节点的父目录节点的子节点指针,指向该目录节点所在平衡二叉树的树根位置的目录节点;映射设置模块,用于当路径分解模块、存储分配模块以及指针设置模块将全部原始路径信息都处理完毕时,在多个系统的路径信息都存储完毕之后,在每个目录节点中设置其映射目录指针指向该目录节点在其他系统中对应的目录节点。本专利技术还提出了一种目录映射方法,其特征在于包括以下步骤201、获取输入的源系统中的原始路径信息;202、将所述原始路径信息依据路径分隔符分解成至少一个目录名;203、由分解得到的根目录名开始判断,是否与根目录节点的目录名相同;如果相同则比较分解得到的下一级子目录名与子目录节点的目录名是否相同;如果分解得到的目录名与目录节点中存储的目录名不相同,则在该目录节点的同级目录节点构成的平衡二叉树中查找具有该目录名的目录节点;通过逐级目录判断,寻址到该原始路径信息分解得到的末级子目录的目录名对应的目录节点;204、从该原始路径信息分解得到的末级子目录的目录名对应的目录节点中获取映射目录指针,寻址到该目录节点在目标系统中对应的目录节点;205、通过目标系统中对应的目录节点获取其父目录指针,逐级寻址到其父目录节点直至根目录节点;206、在目标系统中根据父目录指针寻址找到的目录节点形成了一个链,将各目录节点的目录名通过目录分隔符串联起来,即得到在目标系统中的原始路径信息;207、输出目标系统中的原始路径信息。其中的同级目录指针包括同级左指针和同级右指针。其中映射目录指针包括至少一个指针,分别指向至少一个目标系统中的对应目录节点。 本专利技术还提出了一种目录映射系统,其特征在于,包括路径分解模块,用于获取输入的源系统中的原始路径信息;将所述原始路径信息依据路径分隔符分解成至少一个目录名;节点查找模块,用于由分解得到的根目录名开始判断,是否与根目录节点的目录名相同;如果相同则比较分解得到的下一级子目录名与子目录节点的目录名是否相同;如果分解得到的目录名与目录节点中存储的目录名不相同,则在该目录节点的同级目录节点构成的平衡二叉树中查找具有该目录名的目录节点;通过逐级目录判断,寻址到该原始路径信息分解得到的末级子目录的目录名对应的目录节点;映射寻址模块,用于从该原始路径信息分解得到的末级子目录的目录名对应的目录节点中获取映射目录指针,寻址到该目录节点在目标系统中对应的目录节点;通过目标系统中对应的目录节点获取其父目录指针,逐级寻址到其父目录节点直至根目录节点;路径输出模块,用于将目标系统中根据父目录指针寻址找到的目录节点形成了一个链,将各目录节点的目录名通过目录分隔符串联起来,即得到在目标系统中的原始路径信息;输出目标系统中的原始路径信息。附图说明图I为本专利技术中的目录节点构成示意2为本专利技术中的“windows”目录节点构成示意3为本专利技术中的目录节点关系不意图具体实施例方式本专利技术提供了一种目录存储系统。该系统包括,目录节点,以及对应目录节点之间的指针指向关系以及映射关系。每一目录节点的数据包括有目录名,父目录指针,子目录指针,同级目录指针,映射目录指针。目录名即为原始路径信息中被路径分隔本文档来自技高网
...

【技术保护点】
一种目录存储方法,其特征在于包括以下步骤:101、获取输入的一个原始路径信息;102、将所述原始路径信息依据路径分隔符分解成至少一个目录名;103、由根目录的目录名开始判断,是否该根目录名已经存入根目录节点中,若是则针对其子目录的目录名继续判断是否已存入子目录节点中,若是未存储过的新目录名则;104、分配新目录节点的存储空间,将该目录名存入目录节点;105、设置该目录节点的父目录指针,指向其父目录节点;106、设置该目录节点的同级目录指针,使得该目录节点与其同级目录节点构成为一颗平衡二叉树;107、设置该目录节点的父目录节点的子节点指针,指向该目录节点所在平衡二叉树的树根位置的目录节点;108、继续跳回步骤103直至判断完该原始路径信息包括的末级子目录的目录名。

【技术特征摘要】
1.一种目录存储方法,其特征在于包括以下步骤 .101、获取输入的一个原始路径信息; .102、将所述原始路径信息依据路径分隔符分解成至少一个目录名; .103、由根目录的目录名开始判断,是否该根目录名已经存入根目录节点中,若是则针对其子目录的目录名继续判断是否已存入子目录节点中,若是未存储过的新目录名则; .104、分配新目录节点的存储空间,将该目录名存入目录节点; .105、设置该目录节点的父目录指针,指向其父目录节点; .106、设置该目录节点的同级目录指针,使得该目录节点与其同级目录节点构成为一颗平衡二叉树; .107、设置该目录节点的父目录节点的子节点指针,指向该目录节点所在平衡二叉树的树根位置的目录节点; .108、继续跳回步骤103直至判断完该原始路径信息包括的末级子目录的目录名。2.如权利要求I所述的目录存储方法,其特征在于步骤108之后还包括以下步骤 .109、继续跳回步骤101获取下一个原始路径信息,直至全部原始路径信息都处理完毕。3.如权利要求2所述的目录存储方法,其特征在于步骤109之后还包括以下步骤 .110、在多个系统的路径信息都存储完毕之后,在每个目录节点中设置其映射目录指针指向该目录节点在其他系统中对应的目录节点。4.如权利要求1-3之一所述的目录存储方法,其特征在于,其中的同级目录指针包括同级左指针和同级右指针,同级左指针指向位于该目录节点左侧分支的目录节点,同级右指针指向位于该目录节点右侧分支的目录节点。5.如权利要求1-4之一所述的目录存储方法,其特征在于,其中映射目录指针包括至少一个指针,分别指向至少一个目标系统中的对应目录节点。6.一种目录存储系统,其特征在于包括 路径分解模块,用于获取输入的一个原始路径信息,将所述原始路径信息依据路径分隔符分解成至少一个目录名; 存储分配模块,用于由根目录的目录名开始判断,是否该根目录名已经存入根目录节点中,若是则针对其子目录的目录名继续判断是否已存入子目录节点中,若是未存储过的新目录名则;分配新目录节点的存储空间,将该目录名存入目录节点; 指针设置模块,用于设置该目录节点的父目录指针,指向其父目录节点;设置该目录节点的同级目录指针,使得该目录节点与其同级目录节点构成为一颗平衡二叉树;设置该目录节点的父目录节点的子节点指针,指向该目录节点所在平衡二叉树的树根位置的目录节占. 映射设置模块,用于当路径分解模块、存储分配模块以及指针设置模块将全部原始路径信息都处理完毕时,在多个系统的路径信息都存储完毕之后,在每个目录节点中设置其映射目录指针指向该目录节点在其他系统中对应的目录...

【专利技术属性】
技术研发人员:李瑞平
申请(专利权)人:北京伸得纬科技有限公司国际伸得纬有限公司
类型:发明
国别省市:

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

1