云原生属性图数据存储系统、方法和计算机设备

摘要: 本技术涉及数据处理,特别是涉及一种云原生属性图数据存储系统、方法和计算机设备。背景技术:1、随着图数据处理技术的发展,属性图作为一种灵活且表达能力极强的数据模型...
云原生属性图数据存储系统、方法和计算机设备

本技术涉及数据处理,特别是涉及一种云原生属性图数据存储系统、方法和计算机设备。

背景技术:

1、随着图数据处理技术的发展,属性图作为一种灵活且表达能力极强的数据模型逐渐得到广泛应用,其以顶点和边为基本组成单元,顶点与边均可携带属性并通过标签区分实体与关系类型,能够有效表征知识图谱、社交网络、推荐系统等场景中的复杂关联数据。基于属性图的图模式查询技术也随之发展,通过识别特定图结构并结合顶点或边的属性过滤条件从图中提取目标数据,已形成 cypher、gql、gremlin 等主流图查询语言。与此同时,随着数据体量的持续增长,云环境凭借其动态弹性、可扩展性及规模效应,在大规模数据管理场景中得到普遍采用,在云环境中管理图数据已成为行业主流的属性图数据存储方式。

2、然而,传统的属性图数据存储方式在云环境下面临经济成本与查询性能难以兼顾的问题。传统属性图数据库管理系统通常采用分布式架构,其复杂的架构设计导致数据存储与查询处理的经济成本较高,且难以随数据量增长实现动态扩缩容;即便部署于云环境中,往往仍需借助外部组件增强扩展性,进一步提升了架构复杂度与经济成本,并带来额外的性能开销。部分云原生属性图存储系统虽通过云原生组件托管实现了访问控制、扩缩容、版本升级等运维任务的自动化,但其底层技术架构仍为存算耦合模式,无法充分发挥云环境中存储与计算解耦所带来的经济性与弹性优势,在大规模属性图数据的查询处理中,整体经济成本依然较高,难以在保障查询性能的同时有效降低运营成本。

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种云原生属性图数据存储系统、方法和计算机设备。

2、一种云原生属性图数据存储系统,所述系统包括:

3、数据存储模块,用于在云对象存储服务中存储属性图数据,所述属性图数据包括边数据和顶点数据,同一边标签下的边数据按边属性拆分为多个边子图文件,所述边子图文件包括拓扑结构子文件和属性子文件,同一顶点标签下的顶点数据按顶点属性拆分为多个顶点子图文件;

4、查询规划模块,用于按图模式匹配子句划分为多个查询段,每个查询段包含带标签图模式与数据操作,将各查询段中的带标签图模式按顶点标签与边标签以及数据操作中按涉及属性分别重写为对应各云对象存储服务中的子图文件的子查询,采用预先设置的贪心访问方式选择方法为各子查询选择满足查询时延约束且云存储访问成本最低的数据访问方式,生成经济成本最优查询计划;

5、缓存管理器,用于接收所述经济成本最优查询计划,根据所述经济成本最优查询计划中各子查询所需数据的缓存命中情况以及数据访问方式,将各子查询逐个拆解为面向细粒度数据片段的多种查询方式组合,动态生成混合查询计划,缓存管理器还用于接收查询执行模块从数据存储模块检索到的属性数据并缓存至本地,基于缓存综合收益模型确定各待缓存数据的缓存收益,并动态执行成本优先的缓存替换;所述缓存综合收益模型根据各缓存数据从数据存储模块检索时的网络传输、数据扫描与计算层运算的时间成本与经济成本归一化为收益值,以最大化缓存经济收益;

6、查询执行模块,用于接收混合查询计划,按查询段顺序逐段执行,对于当前查询段中的各子查询,按照混合查询计划中的数据来源和数据访问方式,先检索拓扑结构子文件,调用对应算子执行图模式匹配求值运算,对图模式运算结果执行对应算子进行结构与标识求值运算,最后根据运算结果中的标识检索属性子文件中的属性值,并调用对应算子对所述属性值执行数据操作求值,合并各查询段生成查询答案。

7、一种云原生属性图数据存储方法,所述方法包括:

8、在云对象存储服务中存储属性图数据,所述属性图数据包括边数据和顶点数据,同一边标签下的边数据按边属性拆分为多个边子图文件,所述边子图文件包括拓扑结构子文件和属性子文件,同一顶点标签下的顶点数据按顶点属性拆分为多个顶点子图文件;

9、按图模式匹配子句划分为多个查询段,每个查询段包含带标签图模式与数据操作,将各查询段中的带标签图模式按顶点标签与边标签以及数据操作中按涉及属性分别重写为对应各云对象存储服务中的子图文件的子查询,采用预先设置的贪心访问方式选择方法为各子查询选择满足查询时延约束且云存储访问成本最低的数据访问方式,生成经济成本最优查询计划;

10、接收所述经济成本最优查询计划,根据所述经济成本最优查询计划中各子查询所需数据的缓存命中情况以及数据访问方式,将各子查询逐个拆解为面向细粒度数据片段的多种查询方式组合,动态生成混合查询计划,接收从数据存储模块检索到的属性数据并缓存至本地,基于缓存综合收益模型确定各待缓存数据的缓存收益,并动态执行成本优先的缓存替换;所述缓存综合收益模型根据各缓存数据从数据存储模块检索时的网络传输、数据扫描与计算层运算的时间成本与经济成本归一化为收益值,以最大化缓存经济收益;

11、接收混合查询计划,按查询段顺序逐段执行,对于当前查询段中的各子查询,按照混合查询计划中的数据来源和数据访问方式,先检索拓扑结构子文件,调用对应算子执行图模式匹配求值运算,对图模式运算结果执行对应算子进行结构与标识求值运算,最后根据运算结果中的标识检索属性子文件中的属性值,并调用对应算子对所述属性值执行数据操作求值,合并各查询段生成查询答案。

12、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

13、在云对象存储服务中存储属性图数据,所述属性图数据包括边数据和顶点数据,同一边标签下的边数据按边属性拆分为多个边子图文件,所述边子图文件包括拓扑结构子文件和属性子文件,同一顶点标签下的顶点数据按顶点属性拆分为多个顶点子图文件;

14、按图模式匹配子句划分为多个查询段,每个查询段包含带标签图模式与数据操作,将各查询段中的带标签图模式按顶点标签与边标签以及数据操作中按涉及属性分别重写为对应各云对象存储服务中的子图文件的子查询,采用预先设置的贪心访问方式选择方法为各子查询选择满足查询时延约束且云存储访问成本最低的数据访问方式,生成经济成本最优查询计划;

15、接收所述经济成本最优查询计划,根据所述经济成本最优查询计划中各子查询所需数据的缓存命中情况以及数据访问方式,将各子查询逐个拆解为面向细粒度数据片段的多种查询方式组合,动态生成混合查询计划,接收从数据存储模块检索到的属性数据并缓存至本地,基于缓存综合收益模型确定各待缓存数据的缓存收益,并动态执行成本优先的缓存替换;所述缓存综合收益模型根据各缓存数据从数据存储模块检索时的网络传输、数据扫描与计算层运算的时间成本与经济成本归一化为收益值,以最大化缓存经济收益;

16、接收混合查询计划,按查询段顺序逐段执行,对于当前查询段中的各子查询,按照混合查询计划中的数据来源和数据访问方式,先检索拓扑结构子文件,调用对应算子执行图模式匹配求值运算,对图模式运算结果执行对应算子进行结构与标识求值运算,最后根据运算结果中的标识检索属性子文件中的属性值,并调用对应算子对所述属性值执行数据操作求值,合并各查询段生成查询答案。

17、上述云原生属性图数据存储系统、方法和计算机设备,通过将属性图数据按边属性与顶点属性拆分为拓扑结构子文件和属性子文件,能够使拓扑计算与属性读取分离,按需检索所需数据,避免读取完整子图造成的无效数据传输,按图模式匹配子句将查询划分为多个查询段,并按标签与属性重写为对应子图文件的子查询,能够使查询精准映射到云对象存储中的目标文件,采用贪心访问方式选择方法,能够在满足查询时延约束的前提下选择云存储访问成本最低的数据访问方式,根据缓存命中情况与数据访问方式将子查询拆解为细粒度数据片段并动态生成混合查询计划,能够使已缓存数据本地处理与未缓存数据远程检索并行执行,基于缓存综合收益模型确定缓存收益并执行成本优先的缓存替换,能够优先保留检索成本高的数据片段,降低重复访问的云存储开销,先检索拓扑结构子文件完成图模式匹配与结构标识求值、再根据标识检索属性值进行数据操作求值,能够推迟属性数据的跨层传输,仅读取必要属性值。本发明实施例,能够在云对象存储环境下兼顾查询性能与经济成本,适用于大规模属性图的低成本查询与分析场景。