基于B*树和B+树融合索引的海量URL管理技术

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:smileye1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
海量URL的高效存储和快速访问是高性能Web爬虫的关键技术。现有的海量URL数据管理技术大部分是基于B树或B+树索引结构的。B+树索引的特点是支持动态操作,其更新速度很快但是空间利用率很低。这种现象导致了B+树索引树高的增加,检索速度的下降。B*树结构可以大幅度的提高B+树节点的空间利用率,这种结构通过延缓分裂操作来达到提高空间利用率,但是B*树索引的更新速度远远不能满足我们高性能WEB爬虫的需要。本文通过对聚焦爬虫在网络上爬行过程的深入分析,明晰了爬虫运行时对URL数据管理的主要技术需求,针对B*树更新效率低下的问题,提出了一种新的索引结构——B+树和B*树融合的索引结构,并基于该索引结构设计出海量URL的存储、快速更新和访问方法。本文的主要贡献体现在以下几个方面:(1)本文结合B+树和B*树的优点,设计了NP_B+Tree索引和NP_B+Tree节点结构。这种索引在高速插入时只对叶子节点进行B*树的维护操作,而对B+的内节点的操作采取B+树的更新操作。在叶子节点上,NP_B+Tree索引通过采用延缓分裂的操作提高了索引的叶子节点的空间利用率,间接减少了内节点数目,降低了树高。同时NP_B+Tree在所有节点上继续使用B+树的分裂操作,维持了高速更新。这种索引更新和随机查询速度极其稳定,能够满足WEB爬虫对URL数据管理的速度需求。(2)文中的NP_B+Tree节点的新结构通过增加指针来获取更好的时间效率,它不仅在能加速NP_B+Tree的维护操作,而且对缓存的管理也有很大帮助。(3)此外,本文通过分析爬虫下载得到的URL数据的分布模式,获得了URL数据预取算法。接着设计了高速数据缓存系统。然后使用任务流水线技术和写入缓存排序等优化方案进一步加速了爬虫URL管理系统的运行速度,使得更新速度比无缓存时增加了4倍。最后通过实验讨论证明了我们的结论。基于以上研究成果,本文设计了由URL任务流水线调度模块、URL数据哈希模块、URL索引管理模块、URL缓存管理模块和URL记录管理模块等5个部分组成的URL管理系统的体系结构,并且编程实现了这个原型系统。为高性能WEB爬虫的设计打下了坚实基础。
其他文献
随着经济全球化的不断发展,机动车的数量与日俱增,随之而来的是交通阻塞、尾气污染、噪声污染、交通事故频发等问题。智能交通系统的诞生为全方位高效管理现代交通带来了希望
神经网络在刚刚起步之初,由于硬件发展水平的限制,主要使用CPU或其集群训练模型。而对于目前深度学习中需要密集计算的多层神经网络而言,在传统的CPU环境中的训练时间成本较
学位
数据中心是云计算技术的核心部分,在云上的存储、计算、查询等服务实际上都是在数据中心完成。云计算已渗入到人们的日常生活,这导致数据中心中存储的数据急剧增多,对分布式
图像分割是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程。它是从图像处理进到图像分析的关键步骤,也是进一步图像理解的基础。图像分割技术的发展与许多其它
排样问题是指在下料的过程中尽量减少材料的损失,使材料的利用率达到最高。它广泛存在于加工生产中,如板材切割、集装箱装载、服装和家具制造等。解决好这一问题,不仅可以节
论文从工程实践的解决方案出发,论述了在ARM9嵌入式系统下进行3D程序开发和优化的具体方法和相关理论。论文首先介绍了嵌入式系统的相关概念和特点,并重点介绍了当前在ARM9嵌
近年来,随着芯片工艺和嵌入式技术的发展,视频监控开始向数字化、网络化、嵌入式化方向发展。传统的嵌入式网络视频监控系统的软件开发主要还是使用面向过程的结构化的方法,
在线教育模式的改变,导致了用户量的急速增长和视频资源的迅速增加,给存储以及系统的整体性能带来了考验。如何合理的进行数据的存储以及高效的给用户返回所需的数据成为了问
面对规模庞大的在线交易系统以及巨大的竞争压力,物流公司需要不断提升自身的服务质量以及降低成本。车辆路径问题为物流公司规划合理的配送路线,对降低物流公司的运输成本和