一种文档的存储方法技术

技术编号:11214878 阅读:99 留言:0更新日期:2015-03-27 01:54
本发明专利技术公开了一种文档的存储方法,预先配置由至少一种结点类型定义的且具有树型结构文档类型,设置包括结点索引表和结点数据区的文档存储格式,该方法包括:确定文档的文档类型,根据该文档类型,将文档的内容映射为对应树型结构中的各个结点及其数据;根据对应的树型结构中的各个结点及其数据,为文档分配存储空间,在分配的存储空间中为结点索引表和结点数据区分配各自的存储区域;在分配的结点数据区中存储结点的数据,并在分配的结点索引表中记录每个结点与该结点数据存储位置的对应关系。应用本发明专利技术的存储方法,能够提高文档的访问性能。

【技术实现步骤摘要】

本专利技术涉及计算机存储技术,具体涉及。
技术介绍
可扩展标记语言(XML)是一种文档描述语言,利用该语言描述的文档称为XML文 档。 XML文档有很多优势。XML是一种元标记语言,开发者可以根据自己的需要定义自 己的标记,XML的文档是有明确语义并且是结构化的,抗破坏能力很强,XML表示的信息独 立于平台的,这里的平台即可以理解为不同的应用程序也可以理解为不同的操作系统,对 于大型复杂的文档,XML不仅允许指定文档中的词汇,还允许指定元素之间的关系。XML文 档由文档类型定义(DTD) /模式(Schema)和XML文本组成,DTD/Schema就是一组标记符的 语法规则,表明XML文本是怎么样组织的,这样的组成方式使XML文档实现了内容与形式的 分离,成就了上述众多优点。 但是,XML文档的缺点在于,在将文档存储为XML文档后,如果要访问某个对象,需 要首先对整个文档进行解析,将其转换为树型结构的组织方式,再搜索要访问的对象,进行 访问。可以看出,应用上述存储方式存储某文档后,当用户对文档的部分内容进行访问时, 系统需要首先耗费资源对整个文档进行解析,然后才能选择用户感兴趣的内容进行显示, 延长了处理时间,进而降低了访问性能,浪费了系统资源。
技术实现思路
有鉴于此,本专利技术提供,能够提高访问性能。 为实现上述目的,本专利技术采用如下的方案: -种文档的存储方法,其特征在于,预先配置由至少一种结点类型定义的且具有 树型结构文档类型,设置包括结点索引表和结点数据区的文档存储格式,该方法包括: 确定文档的文档类型,,根据该文档类型,将文档的内容映射为对应树型结构中的 各个结点及其数据; 根据对应的树型结构中的各个结点及其数据,为文档分配存储空间,在分配的存 储空间中为结点索引表和结点数据区分配各自的存储区域; 在分配的结点数据区中存储结点的数据,并在分配的结点索引表中记录每个结点 与该结点数据存储位置的对应关系。 较佳地,所述为文档分配的存储空间可以包括超级块、i结点inode表和数据块; 所述超级块包括空闲块表和空闲inode表,用于所述存储空间中空闲空间的管理。 较佳地,所述为结点索引表分配存储区域可以为:为结点索引表设置一个inode, 利用inode/空闲表freelist机制在所述数据块部分为所述结点索引表分配存储区域; 所述为结点数据区分配存储区域可以为:为结点数据区设置一个inode,利用 inode/freelist机制在所述数据块部分为所述结点数据区分配存储区域。 较佳地,在所述超级块中可以进一步包括inodeO,用于记录inode表所占用的数 据块号。 较佳地,所述在结点数据区中存储结点的数据可以为:为结点设置一个inode,利 用inode/freelist机制在所述数据块部分为所述结点分配存储区域,将该结点数据存储 到分配的存储区域内,并将结点对应的inode标识存储到所述结点数据区中; 所述结点数据存储位置可以为:该结点对应的inode标识在结点数据区中的存储 位置。 较佳地,所述将各个结点的数据存储到所述结点数据区可以为:在结点数据区中 顺序存储每个结点的结点类型标记、结点长度、结点的属性的名称/标记和值; 所述结点数据存储位置可以为:结点数据在结点数据区中的起始偏移量。 较佳地,可以在所述结点数据区末尾处记录结点数据区中空闲区域在所述结点数 据区中的起始偏移量。 较佳地,所述将各个结点的数据存储到所述结点数据区可以为:将结点数据区分 成若干页面,将每个结点的数据存储到特定的页面上,并在页内存储偏移量数组,用于表示 该页内各个结点在页内的起始偏移量; 所述结点数据存储位置可以为:结点数据所在的页面地址和在所述偏移量数组中 与该结点数据对应的元素索引。 较佳地,该方法可以进一步包括:在所述存储空间中为结点数据区的空闲页索引 分配存储区域,在所述空闲页索引中记录结点数据区的各个页面与该页面中空闲空间大小 的对应关系。 较佳地,所述为空闲页索引分配存储区域可以为:为空闲页索引设置一个inode, 利用inode/freelist机制在所述数据块部分为所述空闲页索引分配存储区域。 较佳地,所述访问文档的入口信息可以包括:结点索引表和结点数据区的存储位 置及长度、文档根结点的ID。 较佳地,当结点索引表和结点数据区的存储区域是采用inode/freelist机制分 配时,所述结点索引表的存储位置可以为结点索引表对应的inode标识;所述结点数据区 的存储位置为结点数据区对应的inode标识。 由上述技术方案可见,在本专利技术中,预先配置代表不同树型结构的文档类型,定义 文档存储格式包括结点索引表和结点数据区。利用上述带结点索引的文档存储格式,可以 实现结点的快速搜索。在存储某文档时,首先根据该文档的文档类型,将文档内容映射为对 应树型结构中的各个结点及其数据。通过此种方式,使文档由结点构成,各个结点间通过树 型结构组织起来。然后,根据文档长度,在存储介质中为文档分配一定的存储空间,在该存 储空间中进一步为结点索引表和结点数据区分别分配各自的存储区域。最后,将文档对应 的各个结点数据存储到结点数据区,并在结点索引表中记录每个结点与该结点数据存储位 置的对应关系,在文件头中存储访问文档的入口信息。通过上述方式,就可以将一个文档 按照树型结构在存储介质中进行存储,同时采用带结点索引的存储格式。对于此类采用树 型结构和结点索引方式存储后的文档,当用户对文档的部分内容进行访问时,可以直接对 该内容对应的结点进行访问,而不需要预先对整个文档进行处理,节省了系统资源,提高了 访问性能;另外,本专利技术的方法依然保留文档类型的配置,继承了 XML文档的优势。利用本 专利技术的文档存储方法可以支持复杂树形结构数据的存储、存储空间小、扩展性好、可增量修 改、易于提高存储安全性。 更进一步地,本专利技术对结点索引表和结点数据区分配存储区域时,将结点索引表 和结点数据区分别当作两个文件看待,采用与UNIX的inode/freelist近似的机制进行这 两个存储区域的分配、组织和回收,使这两个存储区域易于收缩和扩张,从而简化了增加结 点及增长结点数据时的操作。 【附图说明】 图1为本专利技术的文档存储方法总体流程图。 图2为本专利技术实施例中文档存储方法具体流程图。 图3为收缩文档存储空间的流程图。 【具体实施方式】 为使本专利技术的目的、技术手段和优点更加清楚明白,以下结合附图对本专利技术作进 一步详细说明。 本专利技术的基本思想是:预先配置由至少一种结点类型定义的具有树型结构的文档 类型,定义包括结点索引表和结点数据区的文档存储格式。在存储某文档时,首先根据该文 档的文档类型,将文档内容映射为对应树型结构中的各个结点及其数据。然后,根据文档长 度,在存储介质中为文档分配一定的存储空间,在该存储空间中进一步为结点索引表和结 点数据区分别分配各自的存储区域。最后,将文档对应的各个结点数据存储到结点数据区, 并在结点索引表中记录每个结点与该结点数据存储位置的对应关系。 在本专利技术的实本文档来自技高网...

【技术保护点】
一种文档的存储方法,其特征在于,预先配置由至少一种结点类型定义的且具有树型结构文档类型,设置包括结点索引表和结点数据区的文档存储格式,该方法包括:确定文档的文档类型,,根据该文档类型,将文档的内容映射为对应树型结构中的各个结点及其数据;根据对应的树型结构中的各个结点及其数据,为文档分配存储空间,在分配的存储空间中为结点索引表和结点数据区分配各自的存储区域;在分配的结点数据区中存储结点的数据,并在分配的结点索引表中记录每个结点与该结点数据存储位置的对应关系。

【技术特征摘要】
1. 一种文档的存储方法,其特征在于,预先配置由至少一种结点类型定义的且具有树 型结构文档类型,设置包括结点索引表和结点数据区的文档存储格式,该方法包括: 确定文档的文档类型,,根据该文档类型,将文档的内容映射为对应树型结构中的各个 结点及其数据; 根据对应的树型结构中的各个结点及其数据,为文档分配存储空间,在分配的存储空 间中为结点索引表和结点数据区分配各自的存储区域; 在分配的结点数据区中存储结点的数据,并在分配的结点索引表中记录每个结点与该 结点数据存储位置的对应关系。2. 根据权利要求1所述的方法,其特征在于,所述文档存储格式中进一步设置有文件 头,在分配的存储空间中进一步为文件头分配存储区域,在文件头中存储文件的标识信息 和访问文档的入口信息。3. 根据权利要求1所述的方法,其特征在于,所述存储文档类型的方法为;将所述文档 类型的部分或全部信息存储在为所述文档分配的存储空间中;或者, 将所述文档类型的部分或全部信息存储在文档的外部,并将存储该文档类型的部分或 全部信息的统一资源定位U化或路径信息存储在为所述文档分配的存储空间中;或者, 将所述文档类型的部分或全部信息存储在访问文档的程序逻辑中,为所述文档类型的 部分或全部信息分配标识ID,将该ID信息存储在为所述文档分配的存储空间中。4. 根据权利要求1所述的方法,其特征在于,所...

【专利技术属性】
技术研发人员:王东临
申请(专利权)人:天津书生投资有限公司
类型:发明
国别省市:天津;12

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

1