[发明专利]树形目录结构下的文件集在数据库中的存储和访问方法无效
申请号: | 200910065938.0 | 申请日: | 2009-08-26 |
公开(公告)号: | CN101630322A | 公开(公告)日: | 2010-01-20 |
发明(设计)人: | 吕志平;李昌贵;赵冬青;李健;张西光;陈正生 | 申请(专利权)人: | 中国人民解放军信息工程大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 郑州天阳专利事务所(普通合伙) | 代理人: | 聂孟民 |
地址: | 450052*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 树形 目录 结构 文件 数据库 中的 存储 访问 方法 | ||
1.一种树形目录结构下的文件集在数据库中的存储和访问方法,包括文件集的数据库整体存储和随机访问两个方面,其特征在于,所说的整体存储是指将文件集作为一个整体保存于数据库中;所说的随机访问,是指当用户访问数据库中保存的文件集中的某文件时,不需要读取整个文件集,而只需要读取该文件对应的数据,实现步骤是:
(1)、整体存储:方法是,第一步是将文件集的三类信息,即文件集的目录结构,文件集的文件数据,文件集的文件属性,从文件系统中提取到本地的内存,包括两方面:一是将文件集在文件系统中离散存储的文件数据提取组合成一个连续的内存数据块,即文件集数据块;二是文件集的目录结构信息和文件属性信息提取成内存中的文件集目录结构对象,文件集目录结构对象中同时包含了目录结构信息和文件属性信息,以文件节点数据结构进行组织,“打包”;所说的“打包”又称“打包”过程或“打包”方法,它是将文件集的三类信息从文件系统中提取到本地的内存,在文件系统中离散存储的文件数据提取组合成一个连续的内存数据块;再将文件集的目录结构信息和文件属性信息提取成内存中的文件集目录结构对象;
第二步是对文件集目录结构对象的序列化,即将内存中的对象形式的文件集目录结构对象转化为数据块形式的目录结构数据块,以便于下一步向数据库的存储;
第三步是数据块到数据库BLOB列的存储,即将文件集数据块和目录结构数据块分别保存到服务器数据库的BLOB列;
(2)、随机访问,方法是,包括两方面的内容:一、恢复文件集的目录结构;二、根据用户的选择访问数据库中对应的文件,恢复文件集的目录结构是存储目录结构的逆过程,分为三步:第一步,把以BLOB的形式存储在数据库中的目录结构数据块读取出来;第二步,用反序列化将目录结构数据块恢复成文件集目录结构对象;第三步,将目录结构对象的信息以可视化的文件节点数据结构、目录节点数据结构和文件集目录结构对象形式呈现给用户,使得用户可以从中随机选择要访问的文件,在恢复了文件集的目录结构的基础上,根据用户选择的欲访问的文件,从数据库的文件集BLOB块中读取该文件的数据,在文件系统中恢复为临时文件,从而实现对文件集的随机访问;
所说的文件节点数据结构是,文件节点由文件位置、文件大小和文件属性三部分构成;文件属性又由文件名称、文件类型和文件的其他属性构成;
所说的目录节点数据结构是由子目录节点集合和文件节点集合两部分构成,子目录节点集合由若干目录节点构成,对应于该目录下的所有子目录,文件节点集合由若干文件节点构成,对应于该目录下的所有文件。
2.根据权利要求1所述的树形目录结构下的文件集在数据库中的存储和访问方法,其特征在于,所说的文件集的目录结构是指文件集的所有文件和目录之间的关系,在只考虑存在一个根目录的情况下,是一种树形结构;文件集的文件数据是指文件集的所有文件的数据,其中每一个文件的数据从根本上说就是一组字节序列,它构成了文件的内容;文件集的文件属性是指文件集的所有文件的名称、类型、大小、创建日期描述文件的信息;在将文件集存储到数据库的过程中,必须将文件集的目录结构、文件数据和文件属性三类信息同时保存到数据库,将文件集存储到数据库,是将文件集的相关信息从用户主机的文件系统通过网络转移到服务器的数据库的过程,在这个过程中,要保证文件集信息的完整性及文件集信息的可恢复性。
3.根据权利要求1所述的树形目录结构下的文件集在数据库中的存储和访问方法,其特征在于,在打包过程中,文件系统中离散存储的文件数据组合成一个连续的文件集数据块,要记住每一个文件在文件集数据块中的位置,文件节点的“文件位置”项记录的是文件对应的数据块在文件集数据块中的起始位置,“文件大小”项记录的是文件对应的数据块在文件集数据块中的长度,能在连续的文件集数据块迅速地定位文件对应的数据块部分。
4.根据权利要求1所述的树形目录结构下的文件集在数据库中的存储和访问方法,其特征在于,所说的文件集目录结构对象的序列化是将对象转换为字节流以将其保存在内存、数据库或文件中的过程,保存对象的状态,以便可以在需要时重新创建对象,相反的过程称为反序列化,在构造了目录结构对象之后,要用序列化技术将其转换为数据流的形式,面向对象的编程语言都提供对序列化技术的支持。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军信息工程大学,未经中国人民解放军信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910065938.0/1.html,转载请声明来源钻瓜专利网。