联接跨云资源的JavaScript对象表示法(JSON)查询制造技术

技术编号:38942099 阅读:12 留言:0更新日期:2023-09-25 09:40
解析跨云资源的联接操作的云资源联接查询,以提取联接规则以及对云资源联接查询中的每个云资源的查询。基于联接规则中指示的云资源对,动态地索引来自个体云查询的结果。搜索引擎使用所述动态索引应用联接规则中的一阶谓词来生成对应于所述查询的成对联接结果。云资源联接查询的结果包括合并之后的成对联接结果。结果。结果。

【技术实现步骤摘要】
【国外来华专利技术】联接跨云资源的JavaScript对象表示法(JSON)查询

技术介绍

[0001]本公开总体上涉及数据处理以及数据库和文件访问。
[0002]内联接(以下简称“联接”)是关系代数中的操作,该操作用于基于特定列或对象的共同值跨关系数据库中的索引来合并结果。结果是基于针对如对数据库的联接查询所指定的关系数据库中的每个列值或对象的具体条目具有相同的值而被联接的。使用“与”逻辑运算符,通过合并来自成对联接操作中的每一个的联接结果,可以跨多于两个索引来组合联接。
附图说明
[0003]通过参考附图可以更好地理解本公开的实施例。
[0004]图1是用于联接跨云资源的JSON查询规则的示例系统的示意图。
[0005]图2是用于利用云资源优化联接过滤器来解析云资源查询的示例系统的示意图。
[0006]图3是针对云资源联接查询的旧式联接(legacy join)和优化联接的计算时间与叉积(cross product)大小的图表。
[0007]图4是用于评估云资源联接查询的示例操作的流程图。
[0008]图5是用于根据一阶谓词(first

order predicates)来评估云资源JSON查询的结果以生成成对联接集的示例操作的流程图。
[0009]图6描绘了具有云资源联接查询解析器的示例计算机系统。
[0010]描述
[0011]以下描述包括体现本公开的实施例的示例系统、方法、技术和程序流程。然而,要理解的是,可以在没有这些具体细节的情况下实践本公开。例如,在说明性示例中,本公开涉及联接跨云资源的JavaScript对象表示法(JSON)查询的结果。本公开的各方面可以取而代之被应用于联接跨云资源的针对其他文件格式的查询的结果。在其他实例中,为了不混淆本描述,没有详细示出众所周知的指令实例、协议、结构和技术。
[0012]概述
[0013]本文中公开的针对云资源的优化联接通过对来自每个云资源的查询结果进行动态索引、并且评估和合并查询结果的动态索引上的成对联接,来评估云资源联接查询。联接查询解析器解析云资源联接查询,以将对应于关于云资源对的一阶谓词的联接规则与对应于关于个体云资源的JSON文件的JavaScript对象表示法(“JSON”)规则隔离。信息检索系统解析JSON规则以生成对与云资源相对应的指纹的数据库的查询,并且检索对应的云资源指纹结果。优化联接过滤器包括动态索引器,动态索引器针对每个云资源对来生成对应于每个一阶谓词的索引,并且搜索引擎使用所述索引以针对每个一阶谓词找到成对的云资源联接结果。优化联接过滤器通过标识包括来自每个云资源的同时满足每个一阶谓词的指纹的结果来合并成对的云资源联接结果,以生成云资源联接查询结果。
[0014]示例图示
[0015]图1是用于联接跨云资源的JSON查询规则的示例系统的示意图。计算设备101将云
资源联接查询100传送给联接查询解析器103。联接查询解析器103解析云资源联接查询100,并且将其划分成联接规则140和查询个体云资源的JSON查询规则142。云资源信息检索系统105接收JSON查询规则142,并且生成对一个或多个云资源的云数据库查询106,云资源信息检索系统105将该云数据库查询106传送给云指纹数据库107。云指纹数据库107返回云资源查询结果,包括云资源X查询结果110和云资源Y查询结果108。云资源信息检索系统105将云资源X查询结果110和云资源Y查询结果108传送给联接过滤器109。联接过滤器109附加地接收联接规则140,并且将联接规则140应用于云资源X查询结果110和云资源Y查询结果108,以生成联接查询结果112,联接过滤器109将联接查询结果112传送给计算设备101。
[0016]示例云资源联接查询120包括以下句法:
[0017]config where api.name=

cloudA

as X
[0018]config where api.name=

cloudB

as Y
[0019]filter$X.pathA contains itemA and_Fn($Y.pathB)<40and$X.joinValue equals$Y.joinValue
[0020]示例云资源联接查询120是在云资源上的JSON文件中的对象上定义的JSON规则和在应用了JSON规则之后的经过滤的云资源上的联接的组合。第一行将变量X定义为具有api.name“CloudA”的云资源,并且第二行将变量Y定义为具有api.name“CloudB”的云资源。第三行指定了根据前两行被过滤的云资源CloudA和CloudB中所有JSON对象对的联接规则(使用“filter...”句法),这些对象对被联接使得X中的路径包含item A,被应用于“x=Y中的路径”的自定义函数_Fn(x)小于40,并且X.joinValue的值等于Y.joinValue。尽管针对两个云资源进行了描绘,但是示例云资源联接查询120可以包括跨任意数量的云资源的过滤器(即,联接规则)。可以根据联接规则使用联接的组合并且合并所得到的联接集来组合每个云资源的来自JSON规则的结果,如下面以各种方式描述的那样。
[0021]联接查询解析器103将云资源联接查询100解析成包含联接规则140和JSON查询规则142的格式化联接查询102。联接查询解析器103可以在云资源联接查询100的“filter...”段中提取JSON规则,并且可以将它们插入到云资源联接查询100的相应JSON规则段中。例如,提取JSON规则之后的示例联接规则122包括以下内容:
[0022]filter$X.joinValue equals$Y.joinValue
[0023]示例JSON查询规则124和126包括以下内容:
[0024]config where api.name=

cloudB

and json.rule=_Fn(pathB)<40as Y
[0025]config where api.name=

cloudA

and json.rule=pathA contains

itemA

as X
[0026]在该实例中,联接查询解析器103通过检测示例云资源联接查询120的filter段中的“$...”句法来生成示例JSON查询规则124和126。随后,联接查询解析器103在示例云资源联接查询120中的对应的JSON规则中标识对应于X云资源和Y云资源的段,将相应的云资源段添加到“config...”段,并且使用可以取决于所实现的查询格式的预定义句法规则来翻译句法。示例云资源联接查询120的“filter...”段中的JSON规则本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:解析云资源联接查询以提取第一多个联接规则和第一多个云资源查询,其中第一多个联接规则包括用于第一多个云资源中的云资源对的第一多个一阶谓词;针对与第一多个云资源查询相关联的第一多个云资源的第一多个指纹来查询云指纹数据库;根据第一多个联接规则中的第一多个一阶谓词来联接第一多个指纹中的指纹以生成第一多个成对联接结果;以及合并第一多个成对联接结果。2.根据权利要求1所述的方法,其中根据所述一阶谓词来联接第一多个指纹中的指纹包括:针对对应于第一多个一阶谓词的每个云资源对生成第一多个动态索引;以及针对满足第一多个一阶谓词中的至少一个的结果,使用所述多个动态索引来搜索对应于第一多个一阶谓词的每个云资源对。3.根据权利要求1所述的方法,其中第一多个指纹包括对存储在第一多个云资源上的一个或多个对象的查询的特性。4.根据权利要求3所述的方法,其中对存储在第一多个云资源上的一个或多个对象的查询的特性包...

【专利技术属性】
技术研发人员:C
申请(专利权)人:帕洛阿尔托网络公司
类型:发明
国别省市:

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

1