Journal of C o m p u t e r Applications
计算机应用,2019, 39( 1): 46 -50
I S S N 1001-9081
C O D E N J Y I I D U
2019-01-10
http: //w w w . j oc a. c n
文章编号 :1001-9081 (2019)01-0046-05 D O I :10.11772/j. issn. 1001-9081.2018071594
SQM:基于Spark的大规模单图上的子图匹配算法
李龙洋S 董一鸿丨施炸杰\潘剑飞
( 1 .宁波大学信息科学与工程学院,浙 江 宁 波 315211; 2 . 北京百度在线科技有限公司,北 京 100084)
( * 通信作者电子邮箱dongyihong@ nbu. edu. cn)
摘要:针对大规模数据图下基于回溯法的子图查询算法的准确率低、开销大等问题,为提高查询准确率,降低大图
下的查询开销,提出一种基于S p a r k 的子图匹配(S Q M )算法。首先根据结构信息过滤数据图,再将查询图分割成基本查
询单元;然后对每一个基本查询单元分别匹配后进行J o i n 操作;最后运用并行化提高了算法的运行效率,减小了搜索空
间。实验结果表明,与 St w i g 、T u r b 〇I S O 算法相比,S Q M 算法在保证查询结果不变的情况下,速度提高了 5 0 % 。
关键词:子图匹配;图分割;大规模单图;并行化;Sp a r k
中图分类号:T P 392 文献标志码:A
SQM: subgraph matching algorithm for single large-scale graphs under Spark
LI Longyang1, DONG Yihong1 , SHI Weijie1, PAN Jianfei1,2
(1.
College of Information Science and Engineering, Ningbo University, Ningbo Zhejiang
315211,
China;
2.
Baidu Online Technology Company Limited, Beijing
100084,
China)
Abstract: Focu s in g o n l o w accur acy a n d hi gh costs of backtrackin g-b ase d s ub g r a p h qu e ry algorithm applied to large-scale
gr a ph s , a S p a r k- b ase d S u b g r a p h Q u e r y M a t c h i n g (S Q M ) algorithm w a s pro p os e d to i mp r o v e qu e r y acc ur acy a n d red u ce qu er y
ov e r he a d for large gr a phs . T h e data g r a ph w a s firstly filtered ac cordin g to structure information, a n d the qu er y g r a ph w a s divided
into basic qu e ry units. T h e n e a c h basic que r y unit w a s m a t c h e d a n d joined together. Finally, the algorithm’s efficiency w a s
i m p r o v e d a n d search sp ac e w a s r e d u c ed b y parallelization. T h e expe riment al results s h o w that c o m p a r e d with Stw ig ( S u b twig)
algorithm a n d T u r b o I S O algorithm, S Q M algorithm c a n increase the s p e e d b y 50 % whil e en suring the s a m e qu e r y results.
Key words: su b g r a p h m a t c h i n g ; g r a p h se g me n ta t io n ; single large-scale g r a p h ; parallelization; S p a r k
〇 引言
现实生活中,作为一个重要的数据结构,图挖掘在社交网
络 、W e b 图和生物化学领域都有广泛的应用。子图匹配是图
挖掘中一个重要的分支,用于从社会网络中寻找频繁子图以
揭示节点间的关联信息,也可以通过计算三角形个数,判定社
交网络的聚集程度。随 着 互 联网行业的飞速发展 ,图结构的
规模不断扩大。根 据 国 家 互 联 网 信 息 中 心 统 计 [1],截止到
2016年 12 月 ,中国网民规模7. 3 1 亿 ,网 站 总 数 为 4 8 2 万 ,网
页数达到了 2 3 6 0 亿 ,网页长度总字节数达到了 13 P B 。如何
对大规模的单图模型中的子图匹配进行有效的分析和处理是
目前面临的严峻挑战。
大量的子图匹配研究,集中在图规模较小的数据单图或
图集[2],大 规 模 单 图 上 的 子 图 匹 配 问 题 被 证 明 是 一 个 N P
(Non-d eterministi c P o l y n o m i a l ) - h a r d 问题 。最 经 典 的 算 法 为
U l l m a n n [3]提 出 的 U l l m a n n 算 法 ,采用深度优先搜索方法依次
找 出 同 构 子 图 ,C o r d e l i a 等[4]提 出 了 V F 2 算 法 ,该 算 法 在
U l l m a r m 算法的 基 础上增 加 了 剪枝 操作 和 搜索 匹 配,提高了
算法的运行效率。G r a p h Q L ( G r a p h Q u e r y L a n g u a g e )算 法 [5]根
据邻接状态和深度信息进行剪枝操作提减小法的时间开销,
G A D D I ( a n in d ex b a s e d g r a p h m a t c h i n g algorithm in a single
large g r a p h )算 法[6]通过构建 邻 接 辨别子 结 构 距离来 过 滤 备
选节点,两者都是基于回溯法得到候选子图来完成子图匹配
工作 。张 硕 等 提 出 的 C 0 P E S 1( C O m m o n PrEfix tree S u b g r a p h
I s o m o r p h i s m )算 法中 ,提出一种图集压缩组织方法,将多个图
结构化地组织起来,并给出一个基于图挖掘的索引特征生成
方 法 〇 T u r b o I S O ( To w a r d s ultraFast a n d robust s ub gr a p h
I S O m o r p h i s m )[8]算 法 通 过 将 查 询 图 构 建 成 N E C - T r e e
( N e i g h b o r h o o d E q u i va l e n c e Cl ass -T r e e )结构形式来减小候选节
点范围,通过进行深度优先搜索匹配,并行性差。这些方法都
仅适用于小规模的单图或图集,无法满足大规模数据图的子
图匹配需求。
近年来,文 献 [9 - 10]使 用 M a p -R e d u c e 思想并行化子图
进行匹配工作,将查询图按边划分为基本单元,在匹配过程中
大 量 的 J o i n 操作以 及 大 规 模数 据图的分布不均都导致算法
无法在并行环境有效运行。St w i g ( S u b t w i g )[11]运行在微软图
形 数 据 库 T rin ity 上 ,将 查 询 图 分 割 为 S t w i g 作为基本查询单
元 ,然 而 ,大 量 的 J o i n 操作 和大规 模 数据图的 划 分不均匀 依
然是目前并行算法的瓶颈。
为了解决单机算法无法处理大规模单图,而并行化处理
大规模单图所遇到的大量J o i n 操 作和 无效匹配的 问 题,本文
提 出 了 一 种 基 于 S p a r k 的 大 规 模 单 图 的 子 图 匹 配 (S p a r k -
b a s e d S u b g r a p h Q u e r y M a t c h i n g , S Q M ) 算 法 ,主 要 贡 献 如 下 :
1)传统的子图匹配算法随机对查询图进行划分,本文则根据
收稿日期: 2 0 1 8 - 0 7 - 1 9 ;修回日 期 :2 0 1 8 - 0 8 - 0 9 ; 录用日期: 2 0 1 8 - 0 8 - 1 3 。 基金项目 :国家自然科学基金资助项目(6 1 5 7 2 2 6 6 ) ;浙江省自然
科学基金资助项目(L Y 1 6 F 0 2 0 0 0 3 ) ;宁波市自然科学基金资助项目(2 0 1 7 A 6 1 0 1 1 4 ) 。
作者简介 :李龙洋( 1 9 9 3 — ),男 ,江苏南京人,硕士研究生,主要研究方向:数据挖掘、机器学习; 董一鸿( 1 9 6 9 — ),男 ,浙江宁波人,教授 ,博 士 ,
主要研究方向:大数据、数 据 挖掘 、人 工 智 能 ; 施 炜 杰 (1 9 9 3 — ),男 ,浙 江 宁 波 人 ,硕 士 研 究 生 ,主要 研 究 方 向 :数 据 挖 掘 、机 器 学 习 ; 潘剑飞
( 1 9 9 1 一 ),男 ,安徽黄山人,工程师,硕士 ,主要研究方向:大数据、数据挖掘。