收稿日期: 2010唱12唱08; 修回日期: 2011唱01唱16 基金项目: 国家自然科学基金资助项目(61003001,71071098) ; 江苏省自然科学基金资
助项目( BK2009153, BK2010280)
作者简介: 施佺(1973唱) ,男,江苏 海门 人,副 教授,硕导,博 士,主 要研究 方向 为图 数据 库、社 会网 络分 析( shiquannt @gmail.com) ; 肖仰 华
(1980唱) ,男,讲师,博士,主要研究方向为图数据库、复杂网络; 鲁轶奇(1988唱) ,男,硕士研究生,主要研究方向为图数据库; 陈垚亮(1986唱) ,男,硕
士研究生,主要研究方向为图数据库; 王恒山(1948唱) ,男,教授,博导,主要研究方向为复杂网络、管理信息系统.
基 于 K
2
树 的 大 图 存 储 优 化 研 究
倡
施 佺
1,2
, 肖仰华
3
, 鲁轶奇
3
, 陈垚亮
3
, 王恒山
1
(1.上海理工大学 管理学院, 上海 200093; 2.南通大学 计算机科学与技术学院, 江苏 南通 226019; 3.复旦大
学 计算机科学技术学院, 上海 200433)
摘 要: 针对大图数据的一种表达方法———K
2
树,提出了相应的压缩优化算法。 该算法利用带有启发式规则
的 DFS 编码对图中所有节点进行重新编码,并通过自适应调整参数 K,使得 K
2
树能够充分利用网络中的社团结
构特性,从而降低空间代价。 给出了 K
2
树的优化算法描述,并针对一系列真实网络和模拟网络进行了实验,验
证了优化算法具有较好的压缩效果。
关键词: K
2
树; 图数据; 存储优化; DFS 编码; 压缩算法
中图分类号: TP311 文献标志码: A 文章编号: 1001唱3695(2011)07唱2488唱04
doi:10.3969 /j.issn.1001唱3695.2011.07.024
Towards optimizing K
2
tree for large唱scale graph storage
SHI Quan
1,2
, XIAO Yang唱hua
3
, LU Yi唱qi
3
, CHEN Yao唱liang
3
, WANG Heng唱shan
1
(1.School of Management, University of Shanghai for Science & Technology, Shanghai 200093, China; 2.School of Computer Science & Techno唱
logy, Nantong University, Nantong Jiangsu 226019, China; 3.School of Computer Science, Fudan University, Shanghai 200433, China)
Abstract: This paper proposed a new algorithm, which was based on K
2
tree, one of data structures to describe large graph,
to achieve better compression ratio.In this proposed algorithm,used the depth唱first search with heuristic rule to reorder all the
vertices in the network data, and in order to take full advantage of community structure in the network data and decrease stor唱
age cost, advanced a self唱adapt way to determine the best value for variable K.Finally, presented a detail optimizing algorithm
description based on K
2
tree.A series of experimental results on real and simulated networks prove the effectiveness of the new
algorithm.
Key words: K
2
tree; graph data; storage optimization; DFS code; compression algorithm
0 引言
高效的图数据组织与表示方法以及相应的图数据处理技
术一直是图数据库领域研究的热点问题。 尤其近年来随着互
联网容量呈指数率增长以及其应用的不断深化,使得 Web 上
社会网络等大规模图数据不断涌现。 据最新资料显示
[1]
,Fa唱
cebook 的好友关系社交网络中,用户总数已经达 4畅84 亿,平均
每个用户有 120 个好友。 此类海量规模网络作为一种重要的
新型数据类型,有其独特的研究价值和应用价值。 相对于图数
据库而言,大规模网络结构更为复杂、语义更为丰富,使得面向
大规模网络的数据组织与管理成为当前数据管理领域的全新
课题。 这其中首先需要解决的是大规模网络的存储问题。
现有的图数据组织与表示方法主要有两类:a) 直接针对
二级存储设备,诸如磁盘等研究相应的图数据组织形式。 例如
Aggarwal 等人为驻留磁盘的大图数据通过摘要技术建立能够
存放于内存的摘要图,并以之作为索引解决图查询问题
[2]
。
b)侧重于研究原图的压缩表达方法,以期在尽可能小的信息
损失前提下压缩图的存储代价,使得压缩后的结果能够驻留在
内存中。 压缩的方法往往通过探索原图邻接矩阵或者邻接表
的某种模式来获取较高的压缩性能。 其中具有代表性的方法
包括:将图的压缩邻接矩阵中全部为 0 的子矩阵进行压缩的
K
2
树
[3]
;利用图中节点的相似性进行压缩
[4]
;利用图对称信息
压缩大规模网络从而生成网络骨架的压缩方法
[5 ]
。
作为一种典型的大规模网络数据的压缩表达方法,K
2
树
正逐渐受到关注。 K
2
树通过利用真实网络的稀疏性(绝大多
数真实网络的规模为 Θ(N log N),N 为网络节点数),将大规
模网络的邻接矩阵大量为 0 的区域压缩为几个 K
2
树节点,从
而达到高效的压缩效果。 然而朴素的 K
2
树对于真实网络的结
构特性尚缺乏必要的考虑,在其压缩效率上仍然有着较大的改
善空间。 很多真实网络都具有明显的社团层次结构,在社团内
部节点之间联系紧密,而在社团之间节点联系稀疏。 因此,如
果能够将网络节点重新排序,使得社团内部的节点顺序相近,
那么在相应的邻接矩阵中 0 和 1 元素的分布将相对集中,从而
可以明显改善 K
2
树的压缩效果。 但是,现有朴素的 K
2
树表达
方法对网络的社团结构尚未很好地加以利用;在朴素的 K
2
树
压缩方法中,K 的取值是固定的,并不能根据当前层次的邻接
矩阵 0 和 1 的分布情况进行自适应调整,因而一个不合适的 K
值往往会使得 K
2
树的压缩效果降低。
第 28 卷第 7 期
2011 年 7 月
计 算 机 应 用 研 究
Application Research of Computers
Vol.28 No.7
Jul.2011