基于图数据优化的深层多跳查询方法技术

技术编号:39748365 阅读:9 留言:0更新日期:2023-12-17 23:46
本发明专利技术涉及数据处理技术领域,具体涉及基于图数据优化的深层多跳查询方法

【技术实现步骤摘要】
基于图数据优化的深层多跳查询方法、装置、设备及介质


[0001]本专利技术涉及数据处理
,具体涉及基于图数据优化的深层多跳查询方法

装置

设备及介质


技术介绍

[0002]图数据能够对现实中实体及实体之间连接关系进行描述,其对实体间关系的描述非常简洁直观,且存储方式简单,因此能够对实体关联查询进行高效响应

目前在联机事务处理领域中已经有了广泛的应用,例如企业资源管理和人员关系查询等方面都对图数据库的高效关联查询有巨大需求

但是随着经济社会的快速发展,各种资源的规模都在快速增长,资源之间的关联程度和关联方式也在复杂化和丰富化

相应地,深层关联多跳查询也对图数据库的遍历机理和性能提出了更大的挑战

目前已有的图数据库例如
Neo4j
为了满足大数据量级下的查询返回效率提升需求,逐渐推出分布式图数据库,以并行计算的方式对图遍历分析进行改良,提升大图遍历算法性能

但是基于分布式图数据库提升图遍历性能依然存在瓶颈问题,例如分布式图数据库必然造成存储资源的大量冗余

[0003]为了避免数据划分造成的数据不一致问题,大部分数据库在进行分布式作业时会将数据资源进行大量的冗余备份以增强可靠性

其次分布式图数据库的成本更加高昂,随着数据类型的丰富和实体资产量的快速增长导致存储计算节点的大幅增加,其经济性必将成为制约该方法的瓶颈<br/>。
当前大部分的关联信息查询需求普遍具有很强的随机性,即每次单体查询都是从现有的整个图中随机选择查询目标,查询目标没有规律可循

同时查询路径具有深层

多跳的特征,即查询过程通过是要进行深层次的挖掘,查询路径要经过多个节点,基本不会出现1‑3跳就得到查询结果的情况

因此亟需对分布式图数据库的深层多跳遍历方法进行优化,提升大图的查询

计算性能,满足越来越丰富

复杂的数据资源分析需求


技术实现思路

[0004]有鉴于此,本专利技术提供了基于图数据优化的深层多跳查询方法

装置

设备及介质,以解决上述现有技术中所存在的技术问题至少之一

[0005]第一方面,本专利技术提供了一种基于图数据优化的深层多跳查询方法,方法包括:获取待查询图数据;根据待查询图数据中节点之间的连接关系将待查询图数据划分为多个子图;基于查询请求对应的目标节点在多个子图中进行遍历,根据遍历节点对节点之间的连接边进行权重赋值,得到连接边的权重值;根据各个子图中连接边的权重值对各个子图中节点变动更新,得到优化后的待查询图数据

[0006]本专利技术实施例提供的基于图数据优化的深层多跳查询方法,从图划分的角度将待查询图数据分割成多个子图,利用当前图数据遍历查询的深层多跳的规律特点,对子图中的节点和边进行迭代优化,根据遍历节点的连接边即访问路径进行权重定义和赋值,根据访问路径的权重来优化各个子图中的节点和边的分布情况,最终构建成多个外部松散连接

内部密耦合的子图,提升图数据的遍历和计算效率

该方法为大图遍历提供并行计算和
性能优化方案

[0007]在一种可选的实施方式中,基于查询请求对应的目标节点在多个子图中进行遍历,根据遍历节点对节点之间的连接边进行权重赋值,得到连接边的权重值,包括:获取查询请求,对查询请求解析,得到目标节点;在多个子图中以任一节点为起点进行遍历,将遍历到的节点和目标节点比较,直至遍历到的节点和目标节点匹配或所有节点和目标节点均不匹配,停止遍历;将遍历到的节点的连接边进行权重赋值,得到连接边的权重值

[0008]本实施例中,查询目标节点时,在每个子图中同时进行,提高了查询效率;同时对遍历过程中的节点进行权重赋值,为后续对待查询图数据优化更新提供了数据基础

[0009]在一种可选的实施方式中,根据各个子图中连接边的权重值对各个子图中节点变动更新,得到优化后的待查询图数据,包括:获取各个子图中的权重最小的连接边和跨子图的连接边;根据各个子图中的权重最小的连接边对应节点和其他节点的连接边的权重对各个子图中节点变动更新,得到优化后的待查询图数据;和
/
或,根据跨子图的连接边对应节点和其他节点的连接边的权重和跨子图的连接边的权重之间的关系对各个子图中节点变动更新,得到优化后的待查询图数据

[0010]本实施例中,采用各个子图中的权重最小的连接边和跨子图的连接边的权重进行节点变动更新,从而能够使得权重占比逐步在各个从子图中引入权重值较大的关联节点,将权重值较小的节点转移至其他子图,从而形成多个密耦合

强连通的子图

提升了针对大图的深层

多跳遍历的效率

[0011]在一种可选的实施方式中,方法还包括:将优化后的待查询图数据中的多个子图作为下一次查询请求查询的多个子图

[0012]本实施例中,将化后的待查询图数据中的多个子图作为下一次查询请求查询的多个子图能够提到查询遍历效率

[0013]在一种可选的实施方式中,根据各个子图中连接边的权重值对各个子图中节点变动更新,得到优化后的待查询图数据,包括:获取接收的查询请求的次数;判断次数是否达到预设次数;当达到预设次数时,根据各个子图中连接边的权重值对各个子图中节点变动更新,得到优化后的待查询图数据

[0014]本实施例中,根据查询请求的次数确定是否进行变动更新,提供了变动更新的依据

[0015]在一种可选的实施方式中,根据待查询图数据中节点之间的连接关系将待查询图数据划分为多个子图,包括:选定待查询图数据中的任一节点为起点,基于节点的连接关系进行深度遍历查询,将查询到的节点写到第一子图中;判断第一子图的容量是否达到预设阈值;当达到预设阈值时,以第一子图中最后一个写入的节点连接的节点为起点,进行深度遍历查询,将查询到的节点写到第二子图中,直至第二子图的容量达到预设阈值;重复第二子图的生成方式,得到多个子图

[0016]本实施例中,通过选取节点,并采用深度遍历查询的方式根据节点之间的连接关系对节点进行遍历,经遍历到的节点按照预设阈值容量保存在每个子图中,从而实现对多个子图的划分

[0017]在一种可选的实施方式中,预设阈值根据待查询图数据的容量大小和子图的个数确定

[0018]本实施例中,通过待查询图数据的容量大小和子图的个数确定预设阈值,实现了每个子图容量的确定

[0019]第二方面,本专利技术提供了一种基于图数据优化的深层多跳查询装置,装置包括:数据获取模块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于图数据优化的深层多跳查询方法,其特征在于,所述方法包括:获取待查询图数据,待查询图数据为进行深层多跳查询的对象;根据待查询图数据中节点之间的连接关系将待查询图数据划分为多个子图;基于查询请求对应的目标节点在多个子图中进行遍历,根据遍历节点对节点之间的连接边进行权重赋值,得到连接边的权重值;根据各个子图中连接边的权重值对各个子图中节点变动更新,得到优化后的待查询图数据
。2.
根据权利要求1所述的方法,其特征在于,基于查询请求对应的目标节点在多个子图中进行遍历,根据遍历节点对节点之间的连接边进行权重赋值,得到连接边的权重值,包括:获取查询请求,对查询请求解析,得到目标节点;在多个子图中以任一节点为起点进行遍历,将遍历到的节点和目标节点比较,直至遍历到的节点和目标节点匹配或所有节点和目标节点均不匹配,停止遍历;将遍历到的节点的连接边进行权重赋值,得到连接边的权重值
。3.
根据权利要求1所述的方法,其特征在于,根据各个子图中连接边的权重值对各个子图中节点变动更新,得到优化后的待查询图数据,包括:获取各个子图中的权重最小的连接边和跨子图的连接边;根据各个子图中的权重最小的连接边对应节点和其他节点的连接边的权重对各个子图中节点变动更新,得到优化后的待查询图数据;和
/
或,根据跨子图的连接边对应节点和其他节点的连接边的权重和跨子图的连接边的权重之间的关系对各个子图中节点变动更新,得到优化后的待查询图数据
。4.
根据权利要求3所述的方法,其特征在于,所述方法还包括:将优化后的待查询图数据中的多个子图作为下一次查询请求查询的多个子图
。5.
根据权利要求1所述的方法,其特征在于,根据各个子图中连接边的权重值对各个子图中节点变动更新,得到优化后的待查询图数据,包括:获取接收的查询请求的次数;判断所...

【专利技术属性】
技术研发人员:刘思言赵保华林剑超任春卉王轶申郭乃网
申请(专利权)人:国网上海市电力公司国家电网有限公司
类型:发明
国别省市:

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

1