图数据的处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:30960103 阅读:11 留言:0更新日期:2021-11-25 20:23
本发明专利技术实施例提供了一种图数据的处理方法、装置、电子设备及存储介质,涉及计算机领域。该方法包括:获取原始图数据,将原始图数据中连续存储的多个顶点划分为一个顶点分组,得到多个顶点分组,根据顶点分组中顶点的度数,对顶点分组中所有顶点的存储顺序进行重排,基于重排后的顶点分组,组成目标图数据。将连续存储的多个顶点划分到一个顶点分组中,在对顶点分组内顶点的存储顺序进行重排时,对顶点的存储位置做小范围的调整,可以在保留图数据的群落结构的基础上将访问率较大的顶点存储在相邻位置,提高图数据的局部性,从而可以提高图计算的效率。图计算的效率。图计算的效率。

【技术实现步骤摘要】
图数据的处理方法、装置、电子设备及存储介质


[0001]本专利技术涉及计算机领域,特别是涉及一种图数据的处理方法、装置、电子设备及存储介质。

技术介绍

[0002]图(Graph)是一种用于表示对象之间关联关系的抽象数据结构,使用顶点(Vertex)和边(Edge)进行描述,其中,顶点表示对象,边表示对象之间的关系。可抽象成用图描述的数据即为图数据。图数据由顶点集合以及顶点之间的边的集合组成。图数据中的一个顶点可以表示真实或虚拟世界中的一个对象,顶点之间的边可以表示对象之间的关系。例如,顶点可以表示一个人物,连接两个顶点的边可以表示两个人物之间的父子、同事或朋友等关系。
[0003]图计算是以图数据来表达问题并予以解决的过程,虽然图数据可以清楚地描述对象之间的关联关系,但是图计算的效率较低。

技术实现思路

[0004]鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种图数据的处理方法,以解决在图计算过程中,效率较低的问题。
[0005]相应的,本专利技术实施例还提供了一种图数据的处理装置、一种电子设备以及一种存储介质,用以保证上述方法的实现及应用。
[0006]为了解决上述问题,本专利技术实施例公开了一种图数据的处理方法,包括:
[0007]获取原始图数据;
[0008]将所述原始图数据中连续存储的多个顶点划分为一个顶点分组,得到多个顶点分组;
[0009]根据所述顶点分组中顶点的度数,对所述顶点分组中所有顶点的存储顺序进行重排;
[0010]基于重排后的所述顶点分组,组成目标图数据。
[0011]本专利技术实施例还公开了一种图数据的处理装置,包括:
[0012]获取模块,用于获取原始图数据;
[0013]分组模块,用于将所述原始图数据中连续存储的多个顶点划分为一个顶点分组,得到多个顶点分组;
[0014]排序模块,用于根据所述顶点分组中顶点的度数,对所述顶点分组中所有顶点的存储顺序进行重排;
[0015]重组模块,用于基于重排后的所述顶点分组,组成目标图数据。
[0016]本专利技术实施例还公开了一种电子设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
[0017]获取原始图数据;
[0018]将所述原始图数据中连续存储的多个顶点划分为一个顶点分组,得到多个顶点分组;
[0019]根据所述顶点分组中顶点的度数,对所述顶点分组中所有顶点的存储顺序进行重排;
[0020]基于重排后的所述顶点分组,组成目标图数据。
[0021]本专利技术实施例还公开了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本专利技术实施例中一个或多个所述的图数据的处理方法。
[0022]本专利技术实施例包括以下优点:
[0023]在本专利技术实施例中,电子设备获取原始图数据,将原始图数据中连续存储的多个顶点划分为一个顶点分组,得到多个顶点分组,根据顶点分组中顶点的度数,对顶点分组中所有顶点的存储顺序进行重排,基于重排后的顶点分组,组成目标图数据。将连续存储的多个顶点划分到一个顶点分组中,在对顶点分组内顶点的存储顺序进行重排时,对顶点的存储位置做小范围的调整,可以在保留图数据的群落结构的基础上将访问率较大的顶点存储在相邻位置,提高图数据的局部性,从而可以提高图计算的效率。
附图说明
[0024]图1示出了本专利技术的一种图数据的结构示意图;
[0025]图2示出了图1中图数据的存储示意图;
[0026]图3示出了本专利技术的一种图数据的处理方法实施例的步骤流程图;
[0027]图4

1示出了将图2中的顶点数组进行划分得到的多个顶点分组的示意图;
[0028]图4

2示出了本专利技术的一种目标图数据的存储示意图;
[0029]图5示出了多个原始图数据的存储密度曲线图;
[0030]图6示出了本专利技术的一种图数据的处理装置实施例的结构框图;
[0031]图7是根据一示例性实施例示出的一种电子设备的结构框图。
具体实施方式
[0032]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。
[0033]为了更详细的介绍本专利技术,首先对图数据进行简要介绍。
[0034]如图1所示,图1示出了本专利技术的一种图数据的结构示意图,图数据中包括顶点1至顶点12,图1中的每个圆表示一个顶点,圆中的数字表示顶点对应的对象。其中,各个顶点之间通过边直接或间接连接,边具有方向,边出发的顶点为源顶点,边指向的顶点为目的顶点。例如,边101从顶点1指向顶点2,顶点1为顶点2对应的源顶点,顶点2为顶点1对应的目的顶点。通常情况下,图数据以CSR(Compress Sparse Row,压缩稀疏行)格式存储,CSR格式使用偏移数组、边数组和顶点数组存储图数据。如图2所示,图2示出了图1中图数据的存储示意图,顶点数组203中依次存储每个顶点的相关信息;边数组202按顶点的存储顺序,依次存储每个顶点作为目的顶点时连接的每条边分别对应的源顶点的标识信息;偏移数组201依
次存储顶点数组203中每个顶点对应的一个位置信息,该位置信息指示顶点作为目的顶点时对应的所有源顶点的标识信息中,位于边数组202中的第一个标识信息在边数组202中的位置。例如,顶点1至顶点12依次存储在顶点数组203中;顶点6作为目的顶点时对应的源顶点包括顶点5和顶点10,将顶点6对应的源顶点(即顶点5和顶点10)的标识信息存储至边数组202的相应位置,顶点5在边数组202中的存储位置为6,存储位置6为偏移数组201存储的对应顶点6的位置信息,数字6存储在偏移数组201中的第六位,表示顶点6作为目标顶点时,从边数组202中的第6位开始,依次存储顶点6对应的源顶点。需要说明的是,本实施例中的顶点指的是顶点对应的对象具有的一系列参数的集合。
[0035]在图数据的处理过程中,可以根据顶点的度数来表征顶点与其他顶点之间的关联程度,顶点的度数越大,该顶点与其他顶点之间的关联度越大。度数可以根据顶点的出度计算,或者根据顶点的入度计算,或者根据出度和入度计算。其中,顶点的出度为该顶点作为源顶点时连接的边的数量,即以该顶点为源顶点的边的数量;顶点的入度为该顶点作为目的顶点时连接的边的数量,即以该顶点为目的顶点的边的数量。如图1所示,顶点1作为源顶点时连接的边包括边101和边102,则顶点1的出度为2;顶点1作为目的顶点时连接的边包括边103,则顶点1的入度为1。根据顶点1的出度计算顶点1的度数时,顶点1的度数为2;根据顶点1的入度计算顶点1的度数时,顶点1的度数为1;根据顶点1的出度和入度计算顶点1的度数时,顶点1的度数为3。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图数据的处理方法,其特征在于,包括:获取原始图数据;将所述原始图数据中连续存储的多个顶点划分为一个顶点分组,得到多个顶点分组;根据所述顶点分组中顶点的度数,对所述顶点分组中所有顶点的存储顺序进行重排;基于重排后的所述顶点分组,组成目标图数据。2.根据权利要求1所述的方法,其特征在于,所述顶点分组中的顶点数量不高于处理器中目标缓存的顶点容量。3.根据权利要求1所述的方法,其特征在于,所述将所述原始图数据中连续存储的多个顶点划分为一个顶点分组,得到多个顶点分组,包括:确定所述原始图数据中顶点群落的平均顶点数量;所述顶点群落由具有直接或间接关系的多个顶点组成;基于处理器所包括的一级缓存的顶点容量和所述平均顶点数量,确定所述顶点分组中顶点的数量下限;按所述原始图数据中顶点的存储顺序,以不低于所述数量下限的顶点数量对所述图数据中的顶点进行划分,得到多个所述顶点分组。4.根据权利要求1所述的方法,其特征在于,所述将所述原始图数据中连续存储的多个顶点划分为一个顶点分组,得到多个顶点分组,包括:将处理器所包括的一级缓存的顶点容量作为所述顶点分组中顶点的数量下限;按所述原始图数据中顶点的存储顺序,以不低于所述数量下限的顶点数量对所述图数据中的顶点进行划分,得到多个所述顶点分组。5.根据权利要求3所述的方法,其特征在于,所述确定所述原始图数据中顶点群落的平均顶点数量,包括:获取所述原始图数据在不同群落规模下的存储密度;所述存储密度由所述群落规模对应的顶点群落所包括的源顶点或目的顶点的数量与顶点总量的比值确定;基于所述存储密度的变化趋势,确定目标群落规模;所述目标群落规模与所述变化趋势的趋势转折区对应;将所述目标群落规模具有的顶点数量作为所述平均顶点数量。6.根据权利要求1

5中任一项所述的方法,其特征在于,所述根据所述顶点分组中顶点的度数,对所述顶点分组中所有顶点的存储顺序进行重排,包括:基于预设的多个连续度数区间,将所述顶点分组中度数属于同一度数区间的顶点划分到一个子分组中,得到多个子分组;根据所述多个连续度数区间的顺序,在所述顶点分组中对所述多个子分组的存储顺序进行重排。7.一种图数据的处理装置,其特征在于,包括:获取模块,用于获取原始图数据;分组模块,用于将所述原始图数据中连续存储的多个顶点划分为一个顶点分组,得到多个顶点分组;排序模块,用于根据所述顶点分组中顶点的度数,对所述顶点分组中所有顶点的存储顺...

【专利技术属性】
技术研发人员:李策汪文祥
申请(专利权)人:龙芯中科技术股份有限公司
类型:发明
国别省市:

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

1