CN112163126B - 一种将低度数点与核心子图分开处理的图数据处理方法 - Google Patents

一种将低度数点与核心子图分开处理的图数据处理方法 Download PDF

Info

Publication number
CN112163126B
CN112163126B CN202010967532.8A CN202010967532A CN112163126B CN 112163126 B CN112163126 B CN 112163126B CN 202010967532 A CN202010967532 A CN 202010967532A CN 112163126 B CN112163126 B CN 112163126B
Authority
CN
China
Prior art keywords
graph
nodes
node
edge
types
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010967532.8A
Other languages
English (en)
Other versions
CN112163126A (zh
Inventor
张承龙
范东睿
王达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongke Flux Technology Co ltd
Original Assignee
Beijing Ruixin High Throughput Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Ruixin High Throughput Technology Co ltd filed Critical Beijing Ruixin High Throughput Technology Co ltd
Priority to CN202010967532.8A priority Critical patent/CN112163126B/zh
Publication of CN112163126A publication Critical patent/CN112163126A/zh
Application granted granted Critical
Publication of CN112163126B publication Critical patent/CN112163126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种对图数据进行存储和布局的方法以及一种图数据处理方法,本发明首先将图中的节点标记为核心图节点类型和边缘树节点类型,核心图节点类型包括核心图内部节点类型和核心图边缘节点类型,边缘树节点类型包括边缘树内部节点类型、边缘树叶子节点类型和孤立点类型,之后利用标记后的节点的类型进行存储和布局,具体为:采用CSR存储结构中的CSR ROW数组和CSR COL数组对图中的所有边进行存储,以及利用edgelist数组对边缘树子图中的边进行存储。最后处理上述方法布局得到的CSR存储结构和edgelist数组,并且基于CSR存储结构处理核心图中的边以及基于edgelist数组处理边缘树子图中的边。

Description

一种将低度数点与核心子图分开处理的图数据处理方法
技术领域
本发明涉及图数据处理领域,具体而言,涉及一种将低度数点与核心子图分开处理的图数据处理方法。
背景技术
图具有极强的抽象性和灵活性,它能充分表达自然界中事物的联系和依赖。很多问题能在图论支撑下借助图相关的算法得到高效解决,例如图形着色、网络路由、网络流等。此外,图数据处理可进行巨量、稀疏、超维关联的挖掘和分析,已广泛应用于社交网络、交通网络、生物信息网络、知识图谱、GNN等。Breadth First Search(BFS)图数据处理方法是一种基础的图数据处理算法,许多图处理方法都可以基于BFS图数据处理方法基础上构建,例如PageRank、Single-Source Shortest Path等,许多主流的图计算框架和编程模型是在BFS图处理方法模式的基础上扩展成通用的形式。但是现有的图数据处理方法没有把高度的点和低度数的点区别对待,分别处理,而是把所有的点都统一对待。例如,Hybrid、NUMA-optimized、Degree-aware、静态round-robin shuffle、block search bottom upbfs等。
由于自然图、社交网络等具有幂图性质,高度数的点数量少、低度数的点数量多,具有显著的不均衡性,现有的方法主要侧重对高度数点的处理,但是其中低度数的点也会带来大量的随机访存。现有技术没有考虑低度数点的特殊性,不加区分的统一处理所有点,没有认识到低度数的点也会带来严重的随机访存,严重制约图计算系统的性能,这是导致现有的图处理、图计算框架解决方案性能低效的主要原因之一。
发明内容
本发明提供一种对图节点进行标记的方法、一种对图数据进行存储和布局的方法以及一种图数据处理方法,用以克服上述现有技术存在的问题。
为达到上述目的,本发明提供了一种对图节点进行标记的方法,该方法用于将图中的节点标记为核心图节点类型和边缘树节点类型,核心图节点类型包括核心图内部节点类型和核心图边缘节点类型,边缘树节点类型包括边缘树内部节点类型、边缘树叶子节点类型和孤立点类型,该方法包括以下步骤:
S1:输入原图G;
S2:将原图G中的所有节点均标记为核心图内部节点类型;
S3:将原图G中边的数目为0的节点重新标记为孤立点类型;
S4:将原图G中的叶子节点重新标记为边缘树叶子节点类型;
S5:复制原图G得到图G1,从图G1中删除所有类型为边缘树叶子节点类型的节点以及所有与类型为边缘树叶子节点类型的节点相连接的边;
S6:将原图G中与图G1中的叶子节点对应的节点重新标记为边缘树内部节点类型;
S7:删除图G1中所有类型为边缘树内部节点类型的节点以及所有与类型为边缘树内部节点类型的节点相连接的边,得到图G2;
S8:判断图G2中是否还存在叶子节点,若存在,则将图G2重命名为图G1并且重复上述步骤S6~S7,若不存在,则执行步骤S9;
S9:对于图G2中的每一节点,分别比较其边的数目与原图G中对应的节点的边的数目,若二者不相等,则将原图G中对应的节点重新标记为核心图边缘节点类型,若二者相等,则不对原图G中的节点进行重新标记的操作;
S10:将原图G中的所有节点及其对应的类型输出。
本发明还提供了一种对图数据进行存储和布局的方法,该方法利用标记后的节点的类型进行存储和布局,节点的类型利用上述对图节点进行标记的方法得到,
图中所有类型为边缘树节点类型的节点以及与类型为边缘树节点类型的节点连接的边称为边缘树子图,图中的其余部分称为核心图,
该方法采用CSR存储结构中的CSR ROW数组和CSR COL数组对图中的所有边进行存储,以及利用edgelist数组对边缘树子图中的边进行存储,
CSR ROW数组从第一个元素开始首先依序存储核心图中的节点,当所述图中的所有类型为核心图节点类型的节点均存储完成后,CSR ROW数组再依序存储类型为边缘树节点类型的节点,
每个节点的邻点在CSR COL数组中存储时,先存储类型为核心图节点类型的节点,然后存储类型为边缘树节点类型的节点。
本发明还提供了一种图数据处理方法,该图数据处理方法用于处理利用上述对图数据进行存储和布局的方法布局得到的CSR存储结构和edgelist数组,并且基于CSR存储结构处理核心图中的边以及基于edgelist数组处理边缘树子图中的边。
本发明具有以下有益技术效果:
本发明根据幂图的以上特征提出了一种将低度数点和核心子图分开处理的图数据处理方法,能够显著地降低随机访存,提升图处理系统的性能。
1.保证了数据结构与图算法的通用性和兼容性
主数据结构依然采用CSR格式,仅仅是调整了下CSR中数据的布局,本发明实施时,现有的图处理方法和优化方案只需做少量的改变即可正常运行,复原布局也是容易的。
2.对不同优化方法的性能影响小。
现有技术中,一些图处理方法要求每个点邻点中的高度数点在左侧,低度数点在右侧,本发明提出的布局也满足这个条件,左侧是高度数的核心图中的节点,右侧是低度数的边缘树中的节点。
3.核心图代表着高度数的点,边缘树代表着低度数的点,本发明通过上述方法实现将低度数的点和核心子图分开处理,显著地降低了随机访存,显著地提高了图处理系统的性能。
4.数据预处理复杂度低
虽然图处理应用对数据预处理的性能一般不做要求,但是本发明提出的将低度数点和核心子图分开处理的方法依然具有低的复杂度。当得到节点的类型之后,调整CSR布局的算法复杂度为O(V+E)。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为原图;
图2为利用本发明的对图节点进行标记的方法进行标记后的图;
图3为利用CSR存储结构对图1进行存储得到的ROW数组和COL数组;
图4为利用本发明的方法对图数据进行布局后的CSR ROW数组和CSR COL数组;
图5为本发明中的edgelist数组;
图6为本发明中图数据处理的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
(一)本发明实施的第一个步骤为对图节点进行标记:
本步骤利用本发明提供的对图节点进行标记的方法将图中的节点标记为核心图节点类型和边缘树节点类型,核心图节点类型包括核心图内部节点类型和核心图边缘节点类型,边缘树节点类型包括边缘树内部节点类型、边缘树叶子节点类型和孤立点类型,该方法包括以下步骤:
S1:输入原图G;
S2:将原图G中的所有节点均标记为核心图内部节点类型;
S3:将原图G中边的数目为0的节点重新标记为孤立点类型;
S4:将原图G中的叶子节点重新标记为边缘树叶子节点类型;
S5:复制原图G得到图G1,从图G1中删除所有类型为边缘树叶子节点类型的节点以及所有与类型为边缘树叶子节点类型的节点相连接的边;
S6:将原图G中与图G1中的叶子节点对应的节点重新标记为边缘树内部节点类型;
S7:删除图G1中所有类型为边缘树内部节点类型的节点以及所有与类型为边缘树内部节点类型的节点相连接的边,得到图G2;
S8:判断图G2中是否还存在叶子节点,若存在,则将图G2重命名为图G1并且重复上述步骤S6~S7,若不存在,则执行步骤S9;
S9:对于图G2中的每一节点,分别比较其边的数目与原图G中对应的节点的边的数目,若二者不相等,则将原图G中对应的节点重新标记为核心图边缘节点类型,若二者相等,则不对原图G中的节点进行重新标记的操作;
S10:将原图G中的所有节点及其对应的类型输出。
(二)本发明实施的第二个步骤为对图数据进行存储和布局:
本步骤中,使用本发明提供的对图数据进行存储和布局的方法并且利用第一步骤标记后的节点的类型进行存储和布局,节点的类型利用上述对图节点进行标记的方法得到,
图中所有类型为边缘树节点类型的节点以及与类型为边缘树节点类型的节点连接的边称为边缘树子图,图中的其余部分称为核心图,
该方法采用CSR存储结构中的CSR ROW数组和CSR COL数组对图中的所有边进行存储,以及利用edgelist数组对边缘树子图中的边进行存储,
CSR ROW数组从第一个元素开始首先依序存储核心图中的节点,当所述图中的所有类型为核心图节点类型的节点均存储完成后,CSR ROW数组再依序存储类型为边缘树节点类型的节点,
每个节点的邻点在CSR COL数组中存储时,先存储类型为核心图节点类型的节点,然后存储类型为边缘树节点类型的节点。
(三)本发明实施的第三个步骤为对图数据处理:
本步骤中,使用本发明提供的图数据处理方法处理利用上述第二步骤得到的CSR存储结构和edgelist数组,并且基于CSR存储结构处理核心图中的边以及基于edgelist数组处理边缘树子图中的边。
以下以一具体实施例说明本发明:
如图1所示为原图,其具有多个节点(节点A-节点N)和多条边,如图2为利用本发明的对图节点进行标记的方法进行标记后的图,如图3所示为利用CSR存储结构对图1进行存储得到的ROW数组和COL数组,如图4所示为利用本发明的方法对图数据进行布局后的CSRROW数组和CSR COL数组,图5为本发明中的edgelist数组,图6为本发明中图数据处理的流程图。
图2中,三角形表示核心图内部节点类型,菱形表示核心图边缘节点类型,矩形表示边缘树内部节点类型,圆形表示边缘树叶子节点类型,椭圆形表示孤立点类型。
图3为现有技术,因未对图中的节点和边进行任何标记,故不区分低度数的点和高度数的点,按照本领域惯常的对图进行存储的手段得到CSR存储结构的ROW数组和COL数组,图3中ROW数组和COL数组中每一元素的计算方式对于本领域技术人员而言为公知技术手段,在此不予赘述。
本发明具有以下有益技术效果:
本发明根据幂图的以上特征提出了一种将低度数点和核心子图分开处理的图数据处理方法,能够显著地降低随机访存,提升图处理系统的性能。
1.保证了数据结构与图算法的通用性和兼容性
主数据结构依然采用CSR格式,仅仅是调整了下CSR中数据的布局,本发明实施时,现有的图处理方法和优化方案只需做少量的改变即可正常运行,复原布局也是容易的。
2.对不同优化方法的性能影响小。
现有技术中,一些图处理方法要求每个点邻点中的高度数点在左侧,低度数点在右侧,本发明提出的布局也满足这个条件,左侧是高度数的核心图中的节点,右侧是低度数的边缘树中的节点。
3.核心图代表着高度数的点,边缘树代表着低度数的点,本发明通过上述方法实现将低度数的点和核心子图分开处理,显著地降低了随机访存,显著地提高了图处理系统的性能。
4.数据预处理复杂度低
虽然图处理应用对数据预处理的性能一般不做要求,但是本发明提出的将低度数点和核心子图分开处理的方法依然具有低的复杂度。当得到节点的类型之后,调整CSR布局的算法复杂度为O(V+E)。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

Claims (2)

1.一种对图数据进行存储和布局的方法,其特征在于,该方法利用标记后的节点的类型进行存储和布局,节点的类型利用对图节点进行标记的方法得到,对图节点进行标记的方法用于将图中的节点标记为核心图节点类型和边缘树节点类型,核心图节点类型包括核心图内部节点类型和核心图边缘节点类型,边缘树节点类型包括边缘树内部节点类型、边缘树叶子节点类型和孤立点类型,对图节点进行标记的方法包括以下步骤S1~S10:
S1:输入原图G;
S2:将原图G中的所有节点均标记为核心图内部节点类型;
S3:将原图G中边的数目为0的节点重新标记为孤立点类型;
S4:将原图G中的叶子节点重新标记为边缘树叶子节点类型;
S5:复制原图G得到图G1,从图G1中删除所有类型为边缘树叶子节点类型的节点以及所有与类型为边缘树叶子节点类型的节点相连接的边;
S6:将原图G中与图G1中的叶子节点对应的节点重新标记为边缘树内部节点类型;
S7:删除图G1中所有类型为边缘树内部节点类型的节点以及所有与类型为边缘树内部节点类型的节点相连接的边,得到图G2;
S8:判断图G2中是否还存在叶子节点,若存在,则将图G2重命名为图G1并且重复上述步骤S6~S7,若不存在,则执行步骤S9;
S9:对于图G2中的每一节点,分别比较其边的数目与原图G中对应的节点的边的数目,若二者不相等,则将原图G中对应的节点重新标记为核心图边缘节点类型,若二者相等,则不对原图G中的节点进行重新标记的操作;
S10:将原图G中的所有节点及其对应的类型输出;
图中所有类型为边缘树节点类型的节点以及与类型为边缘树节点类型的节点连接的边称为边缘树子图,图中的其余部分称为核心图,
该方法采用CSR存储结构中的CSR ROW数组和CSR COL数组对图中的所有边进行存储,以及利用edgelist数组对边缘树子图中的边进行存储,
CSR ROW数组从第一个元素开始首先依序存储核心图中的节点,当所述图中的所有类型为核心图节点类型的节点均存储完成后,CSR ROW数组再依序存储类型为边缘树节点类型的节点,
每个节点的邻点在CSR COL数组中存储时,先存储类型为核心图节点类型的节点,然后存储类型为边缘树节点类型的节点。
2.一种图数据处理方法,其特征在于,该图数据处理方法用于处理利用权利要求1所述的方法布局得到的CSR存储结构和edgelist数组,并且基于CSR存储结构处理核心图中的边以及基于edgelist数组处理边缘树子图中的边。
CN202010967532.8A 2020-09-15 2020-09-15 一种将低度数点与核心子图分开处理的图数据处理方法 Active CN112163126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010967532.8A CN112163126B (zh) 2020-09-15 2020-09-15 一种将低度数点与核心子图分开处理的图数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010967532.8A CN112163126B (zh) 2020-09-15 2020-09-15 一种将低度数点与核心子图分开处理的图数据处理方法

Publications (2)

Publication Number Publication Date
CN112163126A CN112163126A (zh) 2021-01-01
CN112163126B true CN112163126B (zh) 2023-11-17

Family

ID=73857517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010967532.8A Active CN112163126B (zh) 2020-09-15 2020-09-15 一种将低度数点与核心子图分开处理的图数据处理方法

Country Status (1)

Country Link
CN (1) CN112163126B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915427A (zh) * 2015-06-15 2015-09-16 华中科技大学 一种基于广度优先遍历的图处理优化方法
CN111475508A (zh) * 2020-03-31 2020-07-31 浙江大学 一种优化叶子节点合并操作的高效索引方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8614952B2 (en) * 2011-11-15 2013-12-24 Alcatel Lucent Efficient propagation of link state advertisements in densely interconnected OSPF networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915427A (zh) * 2015-06-15 2015-09-16 华中科技大学 一种基于广度优先遍历的图处理优化方法
CN111475508A (zh) * 2020-03-31 2020-07-31 浙江大学 一种优化叶子节点合并操作的高效索引方法

Also Published As

Publication number Publication date
CN112163126A (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
Browne et al. Phase transition of computational power in the resource states for one-way quantum computation
US11176672B1 (en) Machine learning method, machine learning device, and machine learning program
CN108053454A (zh) 一种基于深度卷积生成对抗网络的图结构数据生成方法
Davila et al. Bounds on the connected forcing number of a graph
CN113255892B (zh) 一种解耦合的网络结构搜索方法、设备及可读存储介质
Xiao et al. Deep contextual residual network for electron microscopy image segmentation in connectomics
CN114491200A (zh) 基于图神经网络的异源兴趣点匹配方法和装置
CN107276896A (zh) 改进迪杰斯特拉算法的两点间最短路径搜索方法
Smith et al. Hierarchical representations of network data with optimal distortion bounds
CN112163126B (zh) 一种将低度数点与核心子图分开处理的图数据处理方法
Ban et al. On the structure of multi-layer cellular neural networks
CN108614932B (zh) 基于边图的线性流重叠社区发现方法、系统及存储介质
Van Iersel et al. Hybridization number on three rooted binary trees is EPT
US20220179837A1 (en) Unbalanced binary tree construction method based on calculation of binary boundary value
CN106383738A (zh) 任务处理方法和分布式计算框架
CN108932306B (zh) 一种基于对称破坏的子图同构约束求解方法
CN112347369B (zh) 基于网络表征的集成学习动态社会网络链路预测方法
Linial et al. On high-dimensional acyclic tournaments
Pace et al. Axelrod's model with surface tension
Masrour et al. Attributed network representation learning approaches for link prediction
Cho et al. Generalized distributed dual coordinate ascent in a tree network for machine learning
Herman et al. Provably robust simplification of component trees of multidimensional images
JP7075091B1 (ja) 情報処理装置、方法及びプログラム
Masood et al. Facet-JFA: Faster computation of discrete Voronoi diagrams
WO2023162133A1 (ja) 学習装置、学習方法および学習プログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 711c, 7 / F, block a, building 1, yard 19, Ronghua Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing 102600

Applicant after: Beijing Ruixin high throughput technology Co.,Ltd.

Address before: 101300 Room 308, 3 / F, building 26, Fourth District, lanxiyuan, Shunyi District, Beijing

Applicant before: Beijing Ruixin high throughput technology Co.,Ltd.

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhang Chenglong

Inventor after: Fan Dongrui

Inventor after: Wang Da

Inventor before: Zhang Chenglong

Inventor before: Fan Dongrui

Inventor before: Ye Xiaochun

GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Room 711c, 7 / F, block a, building 1, yard 19, Ronghua Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing 102600

Patentee after: Beijing Zhongke Flux Technology Co.,Ltd.

Address before: Room 711c, 7 / F, block a, building 1, yard 19, Ronghua Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing 102600

Patentee before: Beijing Ruixin high throughput technology Co.,Ltd.