[发明专利]一种web图的索引数据压缩方法有效
申请号: | 201810921025.3 | 申请日: | 2018-08-14 |
公开(公告)号: | CN109255090B | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 王芳;冯丹;张永选 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F16/958 | 分类号: | G06F16/958;G06F16/901 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 李智;曹葆青 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 web 索引 数据压缩 方法 | ||
本发明公开了一种web图的索引数据压缩方法,通过索引数据分块,将索引数据(度数和位移)分成包含数百到数千个节点的块之后,则大部分块中只包含低度数节点,此时这些块中的度数和位移差值通常都可以用一到两个字节存放,也就可以达到50%以上的索引数据压缩率(由之前的4个字节压缩到一到两个字节)提高了可压缩性;通过度数和位移的码字交叉存放,这种交叉存放使得同一个节点的度数和位移的码字以很高的概率位于在同一个高速缓存行里面,因此可以大大提高高速缓存命中率;通过定长编码实现真正的随机访问,定长编码使得节点的压缩后的索引数据的下标可以通过计算得出,并根据下标进行真正的随机访问,提高了解压速度。
技术领域
本发明属于大数据处理领域,更具体地,涉及一种web图的索引数据压缩方法。
背景技术
web图是由web页面及它们之间的超链接组成的大规模图,它描述了万维网网页之间的链接关系,其具有如下几个特点:首先,web图的规模很大。万维网上每个可以抓取到的网页都可能是web图中的一个节点,而每个网页上的每个超链接都可能是web图中的一条边。由此可以想象web图的规模非常大;其次,web图很稀疏,也就是web图中的节点的平均度数比较低;最后,web图的度数呈幂律分布。一方面,单机内存空间有限,而且web图的规模增长很快,这限制了单机内存web图处理的使用范围;另一方面,CPU的处理速度大大超过内存提供数据的速度,利用CPU富余的计算能力来缓解内存带宽问题就是个合理的选择,这一点应用于web图处理,就是选用轻量级的压缩算法对web图进行压缩后再进行内存处理。
目前尚未发现针对内存web图处理场景下的索引压缩方法。因为web图通常很稀疏,所以web图处理中的索引的比例往往相当大。对于比较稀疏的web图,索引的比例可能高达80%以上。所以迫切需要在并行内存web图处理场景下对索引数据的压缩技术。
发明内容
针对现有技术的缺陷,本发明的目的在于解决现有技术中压缩web图中索引比例较大导致的并行内存web图处理场景下内存占用过大的技术问题。
为实现上述目的,一方面,本发明提供了一种web图的索引数据压缩方法,该方法包括以下步骤:
S1.将邻接列表数组压缩后的web图的待压缩的索引数据划分为等长索引数据块;
S2.对于当前索引数据块,将压缩索引数组的当前下标放入块索引数组中起始下标域内,将第一个初始位移的码字放入块索引的参考位移域内;
S3.对于当前索引数据块,基于当前索引数据块的初始度数最大值确定当前索引数据块度数的码字长度;
S4.将当前索引数据块度数的码字长度放入块索引的度数码字长度域内,将第一个初始度数的码字存入压缩索引数组中;
S5.对于当前索引数据块,计算剩余的初始位移和参考位移的差值,基于位移差值最大值确定当前索引数据块的位移差值的码字长度;
S6.将当前索引数据块的位移差值的码字长度放入块索引的位移差值码字长度域内,将当前索引数据块剩下的度数码字和位移差值码字交叉放入压缩索引数组中;
S7.重复步骤S2-S6,直至所有的索引数据块都被压缩。
具体地,邻接列表数组采用变长编码进行压缩。
可选地,变长编码为vByte。
具体地,索引数据包含位移数组和度数数组。
具体地,把索引数据分成包含数百到数千个节点的块。
具体地,索引数据块的元数据被存放于块索引,块索引被实现为一个记录数组,其中每个记录包含四个域,四个域分别存放参考位移、起始下标、位移差值码字的长度、度数码字的长度
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810921025.3/2.html,转载请声明来源钻瓜专利网。