论文部分内容阅读
随着以DropBox、EverNote等为代表的云存储服务的兴起与不断发展,云存储平台在存储数据方面的可靠性、易用性使得个人信息正在不断从传统的存储介质向云存储转移,云存储平台正在形成一个全新的数据中心,数据的爆炸式增长使得搜索成为云存储系统的必备功能。基于云存储的搜索引擎应该能够提供实时的索引更新和搜索功能,同时满足大规模用户并发访问的性能要求。 本文针对云存储搜索引擎的需求,研究其在满足实时性和“用户局部性”条件下的分布式搜索引擎架构,目标是设计能支持海量数据、具有实时性且主要针对个人数据访问的分布式搜索引擎系统。本文的主要工作如下: 1.设计并实现了一个面向云存储应用的分布式实时检索系统。本文针对云存储系统的实时性、大规模数据访问等需求特性,根据用户的访问操作特征,设计并实现了一个分布式的实时搜索引擎原型。该设计的目标是满足系统大规模的实时索引更新和高并发的搜索请求,同时具有一定的可靠性和扩展性。 2.设计并实现了面向用户的索引分区结构。根据“用户局部性”的需求,设计并实现了用户——节点映射的索引分区模式,使用户的查询空间尽可能地隔离,从而降低了请求响应延迟,提高了并发性,并同时保证了较好地可扩展性。以此为基础的系统在索引更新和查询请求方面提高了96.23%和240.19%的响应速度。 3.设计并实现了具有高吞吐量的实时搜索子系统。在保证实时性的基础上,设计并实现了一个集硬盘内存联合索引、多线程更新索引、标记删除等特性于一体的搜索子系统,保证系统的高吞吐量和响应效率。子系统在请求响应和索引更新时延方面比Zoie减少了31.18%和45.70%的时间。 4.对系统进行了评测。本文从索引更新响应时间、查询响应时间等方面入手,通过不同规模的测试数据对系统进行了评测。评测证明系统具备较快地响应速度和较高系统吞吐量。