[发明专利]用于支持分层数据对象的高效路径导航的与分层数据对象的二进制编码相关的技术有效
申请号: | 201680046893.0 | 申请日: | 2016-08-24 |
公开(公告)号: | CN107924410B | 公开(公告)日: | 2022-05-31 |
发明(设计)人: | 刘振华;B·哈默施密特;D·麦克马洪 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 边海梅 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 支持 分层 数据 对象 高效 路径 导航 二进制 编码 相关 技术 | ||
公开了与分层数据对象的二进制编码相关的技术,以支持分层数据对象的高效路径导航。分层数据对象可以包括与字段值相关联的字段名称。一种方法可以涉及生成多个散列代码,每个散列代码与字段名称对应。该方法可以涉及生成将每个散列代码映射到字段名称标识符的第一映射。该方法可以涉及生成将每个字段名称映射到字段名称标识符的第二映射。该方法可以涉及生成包括非叶子节点和叶子节点的分层节点树。特定非叶子节点可以包括将该特定非叶子节点映射到一个或多个孩子节点的孩子节点映射,并且可以包括将字段名称标识符映射到一个或多个孩子节点中的每一个孩子节点的第三映射。
技术领域
实施例涉及信息检索技术,并且更具体而言涉及分层数据对象的高效存储和导航。
背景技术
本节中描述的方法是可以追求的方法,但不一定是先前已经构想或追求的方法。因此,除非另有说明,否则不应当假定本节中描述的任何方法仅仅因为它们被纳入本节中就被当作现有技术。
诸如JavaScript Object Notation(JSON)文档之类的分层数据对象正在成为用于传输和存储数据的越来越流行的工具。然而,查询分层数据对象在计算上会是昂贵的,特别是当分层数据对象存储不断增加的数据量时。用于降低执行查询的算法复杂性的方法可以涉及分层数据对象的二进制编码。然而,这种方法可能引入管理中央字典或模式(schema)的开销和复杂性。另一种方法可以涉及压缩数据,以利用较小的存储器占用空间。然而,压缩方案通常要求在具体数据可以被访问之前解压所有数据。还有另一种方法可以涉及允许跳过与查询不相关的数据的树形结构化数据。然而,由于缺少孩子节点的可预测的次序,树形结构化数据可能仍然需要对任意给定级别处的所有孩子节点的线性扫描。因此,需要一种在时间和空间两方面有效地降低算法复杂性的全面的方法。
附图说明
在附图中:
图1绘出示例分层数据对象。
图2绘出用于紧凑地表示字段名称的示例字段。
图3绘出通过缩写的标识符引用字段名称的示例方法。
图4绘出节点的示例分层树。
图5绘出示例非叶子节点。
图6绘出示例叶子节点和示例字段值汇集(collection)。
图7是绘出用于编码分层数据对象以支持高效导航的方法的流程图。
图8是绘出用于对分层数据对象执行查询的方法的流程图。
图9绘出可以在其上实现实施例的计算机系统。
具体实施方式
在下面的描述中,出于解释的目的,阐述了许多具体细节,以提供对本公开的透彻理解。然而,将清楚的是,本公开可以在没有这些具体细节的情况下实践。在其它情况下,公知的结构和设备以框图形式示出,以避免不必要地模糊本公开。诸如“第一”、“第二”和“第三”之类的修饰词可以用于区分元素,但是修饰词不一定指示任何特定的次序。例如,第一映射可以这样命名,但实际上它可以是第二、第三和/或第四映射。为了清楚和容易理解,二进制数字可以在附图中和下面的示例中表示为十六进制数字。本公开假设大端(Big-Endian)平台,但是下面的描述可以容易地适用于小端平台。
一般概述
在实施例中,分层数据对象的高效存储和导航可以基于对能够跳过不相关的孩子节点的树节点结构进行编码来实现。每个父节点可以包括指示用于其每个孩子节点的字节偏移的第一映射。如果父节点具有各自与字段名称对应的一个或多个孩子节点,那么父节点还可以包括将字段名称映射到父节点的每个孩子节点的第二映射。因此,如果路径表达式包括特定的字段名称,那么可以在不扫描与路径表达式不相关的任何树节点的情况下识别与该特定字段名称对应的树节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680046893.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种化工集中配碱系统
- 下一篇:一种接菌设备的搅拌装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置