CN108959460A - 一种基于顶点关联度的图数据布局方法 - Google Patents
一种基于顶点关联度的图数据布局方法 Download PDFInfo
- Publication number
- CN108959460A CN108959460A CN201810627678.0A CN201810627678A CN108959460A CN 108959460 A CN108959460 A CN 108959460A CN 201810627678 A CN201810627678 A CN 201810627678A CN 108959460 A CN108959460 A CN 108959460A
- Authority
- CN
- China
- Prior art keywords
- vertex
- association
- degree
- array
- diagram data
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于顶点关联度的图数据布局方法,包括:将图数据转化为压缩稀疏行结构,得到顶点关联度数组;从图数据中随机获取初始顶点加入初始队列,将初始顶点加入重映射数组;将初始队列中顶点的邻居列表加入层次队列;根据顶点关联度数组计算层次队列中各个顶点和滑动窗口中所有顶点之间的顶点关联度之和,将顶点关联度之和最大的顶点作为最优点加入重映射数组;判断是否层次队列中所有顶点都加入重映射数组,如果是则执行上一步,否则执行下一步;将初始队列清空,将层次队列中所有顶点加入初始队列,将层次队列清空,直至顶点重映射操作完成,得到最优重映射数组。本发明对于遍历式图,能够有效减少内存随机访问,缩短应用执行时间。
Description
技术领域
本发明属于图计算的预处理技术领域,更具体地,涉及一种基于顶点关联度的图数据布局方法。
背景技术
近年来,随着移动互联网、物联网、云计算等迅猛发展,生活中无处不在的移动设备、无线传感器、RFID时时刻刻都在产生数据,其中大量的数据为非结构化数据,规模大、无规律,难以用传统的方法来处理,以图的模式对这些复杂数据进行建模分析变得越来越流行。随着图计算需求的增长,越来越多的图计算系统被开发利用,如Pregel、GraphChi、PowerGraph等等。图数据规模大且图应用往往是迭代式应用,图计算系统出于对负载均衡的考虑会将整个图结构划分为若干个子图,每个节点负责一个或多个子图的计算。然而,图计算具有高关联性、低局部性的特点,致使图算法运行过程中存在大量内存随机访问,CPU缓存命中率低。在当前计算机的多级存储结构下,存储器的随机访问带宽和顺序访问带宽相差一个数量级以上,毫无疑问,大量的内存随机访问会极大的影响图计算系统执行性能。而当前的图计算系统并没有对图数据做针对性的布局,致使单个计算节点的性能并不高。
针对上述图计算过程中存在的问题,目前普遍使用的图数据布局方法概括起来主要分为基于遍历的图数据布局策略和基于社区检测的图数据布局策略。其中基于遍历的图数据布局策略以BFS(见论文:Reordering very large graphs for fun&profit)算法为代表,它们以广度优先搜索算法BFS的执行结果为最终的图数据布局结果,这种布局策略简单可行,但是初始顶点的选取会极大的影响图数据布局结果。而基于社区检测的图数据布局策略以LPA(Label Propagation Algorithm,Complex Network Partitioning UsingLabel Propagation)算法为代表,它们在执行图数据布局的时候会首先执行图的社区检测操作,将图结构划分为关联性小的多个社区结构,然后再对每一个社区运行广度优先搜索算法BFS或者深度优先搜索算法DFS进行顶点的重映射。这种图数据布局策略往往时间开销很大,并且容易产生包含很多顶点的巨型社区,这对后续顶点的重映射操作影响很大。
综上,图计算过程中存在大量内存随机访问影响系统执行性能,当前众多图计算系统并没有针对这一问题提出CPU缓存友好的图数据布局策略,致使计算过程中缓存命中率低,内存带宽受限,系统执行性能不高。而存在的图数据布局策略往往忽略了顶点之间的关联性,对图计算系统的性能提升有限。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于顶点关联度的图数据布局方法,由此解决图计算系统中缓存命中率低、内存带宽受限、系统执行性能不高的技术问题。
为实现上述目的,本发明提供了一种基于顶点关联度的图数据布局方法,包括:
(1)将图数据转化为压缩稀疏行结构,根据压缩稀疏行结构得到顶点关联度数组;
(2)从图数据中随机获取初始顶点加入初始队列,将初始顶点加入重映射数组;
(3)将初始队列中顶点的邻居列表加入层次队列;
(4)根据顶点关联度数组计算层次队列中各个顶点和滑动窗口中所有顶点之间的顶点关联度之和,将顶点关联度之和最大的顶点作为最优点加入重映射数组;
(5)判断是否层次队列中所有顶点都加入重映射数组,如果是则执行步骤(6),否则执行步骤(4);
(6)将初始队列清空,将层次队列中所有顶点加入初始队列,将层次队列清空,执行步骤(3);
(7)顶点重映射操作完成,得到最优重映射数组。
进一步地,步骤(1)包括:
(1-1)将图数据转化为压缩稀疏行结构,初始化i=1;
(1-2)当i<n时,进入步骤(1-3),否则,进入步骤(1-5),n是总的顶点数量;
(1-3)利用压缩稀疏行依次选取顶点Vi的邻居节点Ni,利用压缩稀疏行读取Vi的邻居列表L1和Ni的邻居列表L2,计算Vi的邻居列表L1和Ni的邻居列表L2的公共邻居个数作为顶点Vi和邻居节点Ni的顶点关联度;
(1-4)设置i=i+1,进入步骤(1-2);
(1-5)n个顶点及其邻居节点之间关联度的计算完成,得到顶点关联度数组。
进一步地,步骤(4)的具体实现方式为:
设置滑动窗口,滑动窗口在重映射数组中滑动,根据顶点关联度数组计算层次队列中各个顶点和滑动窗口中所有顶点之间的顶点关联度之和,将顶点关联度之和最大的顶点作为最优点加入重映射数组。
进一步地,滑动窗口内包含重映射数组中最新得到的5-10个顶点。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明与现有的图数据布局方法相比,考虑了顶点之间关联度的差异性,使得图算法执行过程中缓存命中率更高,系统执行效率进一步提高,减少图计算过程中由于结构依赖性导致的内存随机访问开销,缩短遍历式图应用执行时间。
(2)本发明与现有的图数据布局方法相比,本发明得到的图数据布局结果更加符合当前计算机多级存储结构,使得图数据在内存中的存储顺序和处理器访问顺序近似一致,极大提高了处理效率。
附图说明
图1是本发明实施例提供的一种基于顶点关联度的图数据布局方法的流程图;
图2是本发明实施例提供的顶点关联度计算流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提供了一种基于顶点关联度的图数据布局方法,这种布局方法在执行顶点的重映射的时候考虑了顶点之间的关联度。实际上,对于从现实世界中抽象建模而成的图结构而言,图顶点代表一个研究单元,比如社交网络上的一个人、网络拓扑上的一个网络节点、Web图中的一个网页等等,这些研究单元之间因存在某些关联而形成了图中的连接边。但在实际应用中,这些节点之间的关联度存在强弱之分。比如,社交网络中的两个人因为兴趣点相似而关注了更多相同的人;论文引用中因两篇文章研究内容相似而引用了更多相同的文章;交通运输图中因为两地成为区域交通枢纽而存在更多可达线路等等。关联度强的两个点在图结构上表现为两个点之间存在更多的公共邻居。在图数据布局上应该充分利用这种顶点关联度带来的差异性,构建更合理的布局结果。具体的,这里将顶点之间的关联度S定义为两个点公共的邻居个数:
S(Vi,Vj)={v|v∈N(Vi),v∈N(Vj)}
因此,顶点之间的关联度S=|S(Vi,Vj)|,即以边E(Vi,Vj)为其中一条边的三角形个数。在顶点重映射的时候,将关联度大的顶点连续编号,可以减少缓存和内存之间的数据交换,增加缓存命中率。
如图1所示,本发明提供了一种基于顶点关联度的图数据布局方法,包括:
(1)将图数据转化为压缩稀疏行结构,根据压缩稀疏行结构得到顶点关联度数组;
(2)从图数据中随机获取初始顶点加入初始队列,将初始顶点加入重映射数组;
(3)将初始队列中顶点的邻居列表加入层次队列;
(4)根据顶点关联度数组计算层次队列中各个顶点和滑动窗口中所有顶点之间的顶点关联度之和,将顶点关联度之和最大的顶点作为最优点加入重映射数组;
(5)判断是否层次队列中所有顶点都加入重映射数组,如果是则执行步骤(6),否则执行步骤(4);
(6)将初始队列清空,将层次队列中所有顶点加入初始队列,将层次队列清空,执行步骤(3);
(7)顶点重映射操作完成,得到最优重映射数组。
如图2所示,步骤(1)包括:
(1-1)将图数据转化为压缩稀疏行结构,初始化i=1;
(1-2)当i<n时,进入步骤(1-3),否则,进入步骤(1-5),n是总的顶点数量;
(1-3)利用压缩稀疏行依次选取顶点Vi的邻居节点Ni,利用压缩稀疏行读取Vi的邻居列表L1和Ni的邻居列表L2,计算Vi的邻居列表L1和Ni的邻居列表L2的公共邻居个数作为顶点Vi和邻居节点Ni的顶点关联度;
(1-4)设置i=i+1,进入步骤(1-2);
(1-5)n个顶点及其邻居节点之间关联度的计算完成,得到顶点关联度数组。
步骤(4)的具体实现方式为:
设置滑动窗口,滑动窗口在重映射数组中滑动,根据顶点关联度数组计算层次队列中各个顶点和滑动窗口中所有顶点之间的顶点关联度之和,将顶点关联度之和最大的顶点作为最优点加入重映射数组。
滑动窗口内包含重映射数组中最新得到的5-10个顶点。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于顶点关联度的图数据布局方法,其特征在于,包括:
(1)将图数据转化为压缩稀疏行结构,根据压缩稀疏行结构得到顶点关联度数组;
(2)从图数据中随机获取初始顶点加入初始队列,将初始顶点加入重映射数组;
(3)将初始队列中顶点的邻居列表加入层次队列;
(4)根据顶点关联度数组计算层次队列中各个顶点和滑动窗口中所有顶点之间的顶点关联度之和,将顶点关联度之和最大的顶点作为最优点加入重映射数组;
(5)判断是否层次队列中所有顶点都加入重映射数组,如果是则执行步骤(6),否则执行步骤(4);
(6)将初始队列清空,将层次队列中所有顶点加入初始队列,将层次队列清空,执行步骤(3);
(7)顶点重映射操作完成,得到最优重映射数组。
2.如权利要求1所述的一种基于顶点关联度的图数据布局方法,其特征在于,所述步骤(1)包括:
(1-1)将图数据转化为压缩稀疏行结构,初始化i=1;
(1-2)当i<n时,进入步骤(1-3),否则,进入步骤(1-5),n是总的顶点数量;
(1-3)利用压缩稀疏行依次选取顶点Vi的邻居节点Ni,利用压缩稀疏行读取Vi的邻居列表L1和Ni的邻居列表L2,计算Vi的邻居列表L1和Ni的邻居列表L2的公共邻居个数作为顶点Vi和邻居节点Ni的顶点关联度;
(1-4)设置i=i+1,进入步骤(1-2);
(1-5)n个顶点及其邻居节点之间关联度的计算完成,得到顶点关联度数组。
3.如权利要求1或2所述的一种基于顶点关联度的图数据布局方法,其特征在于,所述步骤(4)的具体实现方式为:
设置滑动窗口,滑动窗口在重映射数组中滑动,根据顶点关联度数组计算层次队列中各个顶点和滑动窗口中所有顶点之间的顶点关联度之和,将顶点关联度之和最大的顶点作为最优点加入重映射数组。
4.如权利要求3所述的一种基于顶点关联度的图数据布局方法,其特征在于,所述滑动窗口内包含重映射数组中最新得到的5-10个顶点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810627678.0A CN108959460A (zh) | 2018-06-15 | 2018-06-15 | 一种基于顶点关联度的图数据布局方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810627678.0A CN108959460A (zh) | 2018-06-15 | 2018-06-15 | 一种基于顶点关联度的图数据布局方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108959460A true CN108959460A (zh) | 2018-12-07 |
Family
ID=64489485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810627678.0A Pending CN108959460A (zh) | 2018-06-15 | 2018-06-15 | 一种基于顶点关联度的图数据布局方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108959460A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274455A (zh) * | 2020-01-15 | 2020-06-12 | 北京燧昀科技有限公司 | 图数据处理方法、装置、电子设备及计算机可读介质 |
-
2018
- 2018-06-15 CN CN201810627678.0A patent/CN108959460A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274455A (zh) * | 2020-01-15 | 2020-06-12 | 北京燧昀科技有限公司 | 图数据处理方法、装置、电子设备及计算机可读介质 |
CN111274455B (zh) * | 2020-01-15 | 2024-06-07 | 北京燧昀科技有限公司 | 图数据处理方法、装置、电子设备及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | An intelligent robust networking mechanism for the Internet of Things | |
CN106709035B (zh) | 一种电力多维全景数据的预处理系统 | |
CN112352234A (zh) | 用于处理并发属性图查询的系统 | |
Tian et al. | PCGCN: Partition-centric processing for accelerating graph convolutional network | |
Pham et al. | A general model for out-of-town region recommendation | |
CN104104621B (zh) | 一种基于非线性降维的虚拟网络资源动态自适应调节方法 | |
Lakhotia et al. | Recall: Reordered cache aware locality based graph processing | |
JP6243045B2 (ja) | グラフデータクエリ方法および装置 | |
CN103399902A (zh) | 一种并行环境下的有向图可达性链表生成及查询方法 | |
CN101900565A (zh) | 路径确定方法和装置 | |
US20130060724A1 (en) | Optimizing computation of minimum cut in graphs with grid topology | |
CN112270259B (zh) | 基于轻量级卷积神经网络的sar图像舰船目标快速检测方法 | |
Uchida et al. | Accelerating ant colony optimisation for the travelling salesman problem on the GPU | |
CN108364331A (zh) | 一种等值线生成方法、系统和存储介质 | |
Jiang et al. | Cooperative caching in fog radio access networks: A graph‐based approach | |
Efentakis et al. | Efficient data management in support of shortest-path computation | |
CN111429974A (zh) | 超级计算机平台上的分子动力学模拟短程力并行优化方法 | |
CN114817648A (zh) | 一种高能效协同图计算方法及装置 | |
CN109033159A (zh) | 一种基于顶点影响力的图数据布局方法 | |
CN108959460A (zh) | 一种基于顶点关联度的图数据布局方法 | |
CN106658570A (zh) | 基于二次栅格划分的移动sink信息收集路径构建方法 | |
Zainal et al. | Overview of artificial fish swarm algorithm and its applications in industrial problems | |
Yuan et al. | A distributed link prediction algorithm based on clustering in dynamic social networks | |
CN109255004A (zh) | 面向地理空间数据的精度保证的在线交互式可视化方法 | |
CN106372127B (zh) | 基于Spark的大规模图数据的多样性图排序方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181207 |