论文部分内容阅读
信息检索系统中最核心的数据结构是倒排索引。随着信息化水平的不断提高,索引数据也越来越庞大,必须保存在辅助存储器中。目前常用的辅存设备是磁盘,磁盘虽然具有容量大、便宜等优点,但受制于其机械特性,磁盘与CPU和内存之间速度差距愈发明显,造成了信息检索系统的I/O瓶颈问题。另一方面,基于闪存的固态硬盘(Solid State Drivers,简称SSD)成为了存储领域的一个研究热点。与传统的机械式硬盘相比,SSD最显著的优点是读写速率高。对信息检索系统而言,使用SSD代替磁盘来存储倒排索引数据,可以极大地提高系统的整体性能。但是现有的倒排索引管理策略都是基于磁盘的,SSD却具有许多与磁盘显著不同的特性,若直接使用不仅无法充分利用SSD的优点,还会减少其使用寿命。首先,通过实验详细分析了现有索引策略在SSD上的缺点和不足之处,从中发现基于原地更新思想的索引管理方法随机写操作过多、性能较差;而另一类基于合并更新思想的方法写入SSD的数据量过大,给SSD带来额外的损耗。这些问题都是由于没有充分考虑SSD的特性所造成的。因此,根据实验分析的结果,提出沿用合并更新的思想,但需要进行改进从而减少其额外写入的技术路线。然后,分别提出了基于SSD的倒排索引的构建与更新策略:基于分块存储的索引构建策略与基于混合式合并的索引维护策略。基于分块存储的索引构建策略将待写入SSD的内存索引按术语预先分块存储,然后对产生的临时索引块只进行部分合并操作。基于混合式合并的索引维护策略不仅避免了对SSD有伤害的随机写操作,而且将术语按记录列表数据的规模分为两类,并对两类术语应用不同的基于合并更新的管理策略。最后,通过对比实验对上述索引构建与维护策略进行了性能评估。结果表明上述两种策略不仅维持了高效的索引读写,同时大幅减少了针对SSD的写操作的数量,减少了对SSD的损耗。因此与传统方法相比,新策略能够更好地适用于SSD。