分层数据制造技术

技术编号:34764249 阅读:15 留言:0更新日期:2022-08-31 19:10
一种用于识别被配置用于与查询一起处理的分层数据中的祖先对象的计算机实现的方法、系统和计算机程序产品,该查询具有相关联的抽象语法树。可以处理抽象语法树,以便生成包括被配置成识别查询的父节点的父标识符的增强抽象语法树。这样,可以减轻对预解析数据的需要。相反,查询的父节点的识别可以被编码到查询的抽象语法树中。询的抽象语法树中。询的抽象语法树中。

【技术实现步骤摘要】
【国外来华专利技术】分层数据


[0001]本专利技术的实施例一般涉及分层(hierarchical)数据,并且更具体地涉及用于识别分层数据中的祖先对象的概念。本专利技术的实施例还涉及用于利用根据查询语言的查询来处理分层数据的概念。该概念可以是计算机实现的。
[0002]此外,本专利技术的实施例还涉及包括计算机可读程序代码的计算机程序产品,该计算机可读程序代码使得系统的处理器或网络的多个处理器能够实现这种方法。
[0003]此外,本专利技术的实施例还涉及用于识别分层数据中的祖先对象的系统,分层数据被配置用于根据查询语言的查询进行处理。本专利技术的实施例还涉及用于利用根据查询语言的查询来处理分层数据的系统。

技术介绍

[0004]结构化数据查询语言,例如XPath(可扩展标记语言(XML)查询语言),包括允许用户找到数据结构内任何其他元素的“父”元素的语法。这是可能的,因为输入数据(例如,在使用XPath的情况下为XML)将被特别解析以在被解析的输入结构中包含完全互连的关系信息。因此,当请求父元素时,查询引擎仅需要遍历该被解析的输入结构。
[0005]上述方法依赖于预先准备的数据来包含关系信息。预先准备输入数据增加了查询评估的额外CPU开销。而且,创建具有额外关系元数据的数据副本消耗了显著更多的存储器,并且必须对查询的每次调用都创建副本。
[0006]对于数据未被修改成包括关系信息的情况,例如本机表示JSON(Object Notation)数据的对象结构,查询引擎不能识别数据结构内的任意数据的“父”(因为关系信息不可用)。

技术实现思路

[0007]本专利技术的实施例试图提供用于识别被配置为根据查询语言的查询来处理的分层数据中的祖先对象的方法。
[0008]本专利技术的实施例还试图提供用于利用根据查询语言的查询来处理分层数据的方法,该查询具有相关联的抽象语法树AST。
[0009]本专利技术的实施例还试图提供计算机程序产品,其包括用于在由处理单元执行时实现所提出的方法的计算机程序代码。本专利技术的实施例还试图提供适于执行该计算机程序代码的处理系统。
[0010]本专利技术的实施例还试图提供用于识别被配置为根据查询语言用查询来处理的分层数据中的祖先对象的系统。此外,本专利技术的实施例试图提供用于利用根据查询语言的查询来处理分层数据的系统。
[0011]根据本专利技术的实施例,提供了用于识别分层数据中的祖先对象的计算机实现的方法,该分层数据被配置为根据查询语言利用查询进行处理,该查询具有相关联的抽象语法树AST。该方法包括处理与查询相关联的AST以确定与查询相关的AST的父节点。该方法还包
括用被配置为识别所确定的父节点的父标识符来增强AST,以便生成增强的AST。
[0012]所提出的概念可以提供查询语言来确定分层数据结构内的任何数据项的父节点或任何更高级别的祖先,而无需将分层信息(例如,父关系信息)编码到数据本身中。相反,实施例提出查询语言本身的解析树是后处理的并且用适当的信息来增强。
[0013]因此,所提出的实施例可以提供这样的优点,即处理查询的AST可以作为查询编译的一部分来完成,并且因此可以仅需要完成一次,而对编译的查询的评估可以进行多次。实施例还可以具有查询的预处理将不受数据大小影响的优点。
[0014]通过用识别查询的父节点的信息增强与查询相关联的AST,各实施例可消除对预解析输入数据的需要。换言之,通过将一个或多个父对象的识别编码到查询语言的AST中,各实施例可减轻对预先准备输入数据以包括关系信息的需要。
[0015]在一些实施例中,处理与查询相关联的AST以确定与查询相关的AST的父节点可包括遍历AST以确定表示查询的父节点的AST的节点。这样,可以采用步进通过AST的路径的简单过程,以计算高效的方式识别父节点。
[0016]父标识符可被配置为指示查询处理器保存对父节点的引用。这样,实施例可被配置为指示查询处理器将对所请求的父的引用保存在适当的存储机制中,使得该引用在后来查询中在祖先被实际请求时可用。
[0017]在一个实施例中,用被配置为识别所确定的父节点的父标识符增强AST以生成增强的AST可以包括对AST的父节点添加祖先属性。各实施例可以预处理AST以将元数据添加到相关部分,而不是用关系信息来增强数据,这可能导致高计算和/或存储成本(因为每个值都必须存储对返回其父对象的隐藏引用)。
[0018]例如,对AST的父节点添加祖先属性可以包括将祖先属性的值设置为预定值。例如,预定值可以是基于计数器值的,计数器值针对所识别的每个父节点而递增。计数器值的使用可以例如支持用于识别具有多级祖先的层级中的对应父节点的简单计数方法。
[0019]一些实施例还可以包括通过解析查询来生成AST的在前步骤。因此,可以理解,实施例可以包括生成AST,而其他实施例可以被配置为处理预先存在的AST(例如,先前已经由单独的系统/方法生成的AST)。
[0020]所提出的实施例还可以包括:存储所增强的AST;以及将所存储的增强的AST与分层数据相关联。这样,实施例可被配置为提供可供在稍后评估查询时使用(可能多次)的查询资源。因此,查询可能仅需要根据所提出的概念被处理一次,而它可以被评估多次。
[0021]分层数据可以包括JSON数据,并且查询语言可以是JSONata查询语言(JSON查询和转换语言)。因此,可以结合传统的语言和对象结构来使用实施例。
[0022]根据本专利技术的另一个实施例,提供了用于利用根据查询语言的查询来处理分层数据的计算机实现的方法,该查询具有相关联的抽象语法树AST。该方法包括根据所提出的实施例识别分层数据中的祖先对象。该方法还包括通过针对分层数据处理增强的AST来评估查询。
[0023]根据本专利技术的另一实施例,提供了计算机程序产品。该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有随其体现的程序指令,该程序指令可由处理单元执行以使处理单元执行根据所提出的实施例的方法。
[0024]根据本专利技术的另一实施例,提供了计算机系统,其包括至少一个处理器和根据实
施例的计算机程序产品。至少一个处理器适于执行该计算机程序产品的计算机程序代码。
[0025]根据本专利技术的又一实施例,提供了用于识别被配置为根据查询语言的查询进行处理的分层数据中的祖先对象的系统,该查询具有相关联的AST。该系统包括处理单元,其被配置为处理与查询相关联的AST,以确定与查询相关的AST的父节点。该系统还包括增强组件,其被配置为利用被配置为识别所确定的父节点的父标识符来增强AST,以生成增强的AST。
[0026]根据本专利技术的另一实施例,提供了用于根据查询语言利用查询处理分层数据的系统,该查询具有相关联的AST。该系统包括根据所提出的实施例的用于识别分层数据中的祖先对象的系统。该系统还包括处理器装置,其被配置为通过针对分层数据处理增强的AST来评估查询。
[0027]以上相当概括地概述了本专利技术的一个或多个实施例的特本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于识别分层数据中的祖先对象的计算机实现的方法,所述分层数据被配置用于根据查询语言处理查询,所述查询具有相关联的抽象语法树AST,所述方法包括:处理与所述查询相关联的所述AST以确定与所述查询相关的所述AST的父节点;以及利用被配置为识别所确定的父节点的父标识符增强所述AST以生成增强的AST。2.根据权利要求1所述的方法,其中,处理与所述查询相关联的所述AST以确定与所述查询相关的所述AST的父节点包括:遍历所述AST以确定所述AST的表示所述查询的父节点的节点。3.根据权利要求1所述的方法,其中,所述父标识符被配置为指示查询处理器保存对所述父节点的引用。4.根据权利要求1所述的方法,其中,利用被配置为识别所确定的父节点的父标识符来增强所述AST以生成增强的AST包括:对所述AST的所述父节点添加祖先属性。5.根据权利要求4所述的方法,其中,对所述AST的所述父节点添加祖先属性包括:将所述祖先属性的值设置为预定值。6.根据权利要求5所述的方法,其中,所述预定值是基于计数器值的,所述计数器值针对所识别的每个父节点而递增。7.根据权利要求1所述的方法,还包括:通过解析所述查询来生成所述抽象语法树。8.根据权利要求1所述的方法,还包括:存储所增强的AST;以及将所存储的增强的AST与所述分层数据相关联。9.根据权利要求1所述的方法,其中,所述分层数据包括JSON数据,其中,所述查询语言是JSONata查询语言。10.一种计算机程序产品,用于识别分层数据中的祖先对象,所述分层数据被配置用于根据查询语言处理查询,所述查询具有相关联的抽象语法树AST,所述计算机程序产品包括一个或多个计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序代码,所述程序代码包括用于以下的编程指令:处理与所述查询相关联的所述AST以确定与所述查询相关的所述AST的父节点;以及利用被配置为识别所确定的父节点的父标识符增强所述AST以生成增强的AST。11.根据权利要求10所述的计算机程序产品,其中,处理与所述查询相关联的所述AST以确定与所述查询相关的所述AST的父节点包括用于以下的编程指令:遍历所述AST以确定所述AST的表示所述查询的父节点的节点。12.根据权利要求10所述的计算机程序产品,其中,所述父标识符被配置为指示查询处理器保存对所述父节点的引用。13.根据权利要求10所述的计算机程序产品,其中,利用...

【专利技术属性】
技术研发人员:A
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1