[发明专利]异构图数据库的数据查询方法及其系统有效
申请号: | 202010086983.0 | 申请日: | 2020-02-11 |
公开(公告)号: | CN111339334B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 唐烨 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F16/53 | 分类号: | G06F16/53;G06F16/51 |
代理公司: | 上海一平知识产权代理有限公司 31266 | 代理人: | 成春荣;须一平 |
地址: | 310023 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 构图 数据库 数据 查询 方法 及其 系统 | ||
本申请公开了一种异构图数据库的数据查询方法及其系统。该方法中,预先设置统一视图中元数据与异构图数据库的多个子图中元数据之间的关联关系;获取符合统一视图中元数据的统一查询请求,根据关联关系将统一查询请求分解为对应不同子图的多个子查询;在多个子查询所对应的多个子图中分别执行多个子查询,得到多个子查询结果,其中子查询和子查询结果符合对应子图中元数据;根据关联关系将多个子查询结果进行合并,得到符合统一视图中元数据的查询结果。
技术领域
本说明书涉及数据库技术领域。
背景技术
传统数据库很难处理关系运算(如社交、电商、金融、零售、物联网等行业),于是图数据库应运而生,它是一种支持海量复杂数据关系运算的数据库。目前图数据库的发展正处于方兴未艾的阶段,已经出现了形形色色的图数据库,如Neo4j、JanusGraph、AmazonNeptune等,甚至还有通过关系型数据库来模拟图数据库的应用场景。在实际使用图数据时,可能会有跨图查询的场景(图数据可能存储在上面提及的不同的存储引擎中),这就给获取图数据带来了困难。譬如,如果需要从商家图、用户图、商品图三个子图中获取用户的消费习惯,则需要同时请求这三个子图中的数据,然后处理不同的结果,然后进行结果合并。
可见,现有技术中,开发人员在开发图数据应用时,如果需要跨子图或跨引擎请求数据,则需要熟悉不同子图的定义和不同图执行引擎的细节,同时手动合并各个子图的数据。而图数据的获取过程非常繁琐,图数据的质量也不高。
发明内容
本说明书提供了一种异构图数据库的数据查询方法及其系统,用户无需感知各个子图的细节,可以屏蔽异构图数据库的复杂度,返回统一的图数据查询结果。
本申请公开了一种异构图数据库的数据查询方法,包括:
预先设置统一视图中元数据与异构图数据库的多个子图中元数据之间的关联关系;
获取符合所述统一视图中元数据的统一查询请求,根据所述关联关系将所述统一查询请求分解为对应不同子图的多个子查询;
在所述多个子查询所对应的多个子图中分别执行所述多个子查询,得到多个子查询结果,其中所述子查询和子查询结果符合对应子图中元数据;
根据所述关联关系将所述多个子查询结果进行合并,得到符合所述统一视图中元数据的查询结果。
在一个优选例中,该方法还包括,预先设置所述多个子图中数据结构到统一图数据结构的适配规则;
所述根据所述关联关系将所述多个子查询结果进行合并之前,还包括:
根据所述适配规则将所述多个子查询结果转换为符合所述统一视图中元数据的统一图数据结构。
在一个优选例中,所述在所述多个子查询所对应的多个子图中分别执行所述多个子查询,进一步包括:
将不同的子查询分别路由到不同的执行引擎中执行查询操作。
在一个优选例中,所述执行引擎包括以下之一或其任意组合:
一个或多个图引擎,一个或多个关系数据库引擎,一个或多个图引擎之外的非关系数据库引擎。
在一个优选例中,所述元数据包括以下之一或其任意组合:图基础信息、点定义、边定义、属性定义。
在一个优选例中,所述根据所述关联关系将所述统一查询请求分解为对应不同子图的多个子查询,进一步包括:
通过对所述统一查询请求的语法分析和词法分析,得到该统一查询请求涉及的所述统一视图中的元数据;
根据所述关联关系得到所述统一视图中的元数据对应的各个子图中的元数据;
根据所述统一查询请求和所述各个子图中的元数据,构造用于各个子图的子查询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010086983.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置