【技术实现步骤摘要】
一种基于循环位图模型的辅助索引方法及装置
本专利技术涉及数据查询优化领域,特别涉及基于内存数据库用作加速查询的一种基于循环位图模型的辅助索引方法及装置。
技术介绍
随着计算机网络的快速发展,“大数据”吸引了越来越多的关注,如何能在庞大的流式数据中快速,高效地查询目标信息成为了热门话题。为了达到这个目标,能否根据数据的特点建立索引成为了关键问题。在某特定应用场景中,服务器每天都会产生大量的系统日志、网络数据等流式数据,这些数据按照时间分片的原则定时收集并以ID号递增的方式为由收集的数据组成的文件命名,同时这些文件有一定的存储周期,例如某服务器收集产生的网络数据,每隔一小时将收集到的数据集中在当前文件中,命名为ID;然后将创建新的文件,命名为ID+1,继续收集数据;如果存储周期为3个月,则有效文件数为2160(24*30*3=2160),当第2161个文件收集数据完毕后,将删除第1个文件。如果要在这样的情景中快速获取相应信息,可以采用这样的方法:对产生的流式数据文件实时更新倒排索引;在每次查询时,能够根据键来查找目标信息在哪些文件中;过期的文件信息可以在更新索引时从索引信息中删除。以位图结构为基础的倒排索引能满足高效查询,使用在基于内存查询数据信息的数据库中可以做到实时更新,添加一些操作可以保证过期日志信息删除后还能正确索引,但是这样的结构随着日志编号的增加,需要不断扩展位图容量,从而耗费了巨大的内存空间。
技术实现思路
本专利技术所要解决的技术问题是提供一种不随日志编号增加而扩展内存使用空间的基于循环位图模型的辅助索引方法及装置。本专利技术解决上述技术问题的技术 ...
【技术保护点】
一种基于循环位图模型的辅助索引方法,其特征在于,包括以下步骤:步骤1:从日志文件生产队列里获取当前的日志文件及其文件编号,并将该日志文件从日志文件生产队列中删除,根据预设的循环位图的最大容量为该日志文件中的所有关键字分别建立循环位图,每个循环位图的索引范围起始位为最小的日志文件的文件编号,每个循环位图的索引范围结束位为最大的日志文件的文件编号,并为每个日志文件中的每个关键字建立一个有效索引范围终点;步骤2:判断当前的日志文件的文件编号是否在索引范围起始位与索引范围结束位之间的有效索引范围内,如果是,执行步骤3,否则,执行步骤7;步骤3:根据当前的日志文件中的所有关键字分别获取与每个关键字对应的有效索引范围终点及与每个关键字对应的循环位图的索引范围起始位,并检查日志文件的文件编号是否在索引范围起始位与每个关键字对应的有效索引范围终点之间,如果是,执行步骤4,否则,执行步骤5,直到将当前的日志文件中的所有关键字全部检查完毕,执行步骤6;步骤4:在与每个关键字对应的循环位图中的日志文件的文件编号处执行置位操作,执行完毕后,执行步骤7;步骤5:对与每个关键字对应的循环位图中有效索引范围终点与索 ...
【技术特征摘要】
1.一种基于循环位图模型的辅助索引方法,其特征在于,包括以下步骤:步骤1:从日志文件生产队列里获取当前的日志文件及其文件编号,并将该日志文件从日志文件生产队列中删除,根据预设的循环位图的最大容量为该日志文件中的所有关键字分别建立循环位图,每个循环位图的索引范围起始位为最小的文件编号,每个循环位图的索引范围结束位为最大的文件编号,并为每个日志文件中的每个关键字建立一个有效索引范围终点;步骤2:判断当前的日志文件的文件编号是否在索引范围起始位与索引范围结束位之间的有效索引范围内,如果是,执行步骤3,否则,执行步骤7;步骤3:根据当前的日志文件中的所有关键字分别获取与每个关键字对应的有效索引范围终点及与每个关键字对应的循环位图的索引范围起始位,并检查日志文件的文件编号是否在索引范围起始位与每个关键字对应的有效索引范围终点之间,如果是,执行步骤4,否则,执行步骤5,直到将当前的日志文件中的所有关键字全部检查完毕,执行步骤6;步骤4:在与每个关键字对应的循环位图中的日志文件的文件编号处执行置位操作,执行完毕后,执行步骤7;步骤5:对与每个关键字对应的循环位图中有效索引范围终点与索引范围结束位之间做复位操作,在与每个关键字对应的循环位图中的待置位的文件编号处执行置位操作,并将有效索引范围终点赋值为索引范围结束位,执行步骤7;步骤6:如果日志文件生产队列里没有其他待处理的日志文件,进入等待状态,直到文件生产队列中生成新的日志文件,重新执行步骤1;步骤7:结束。2.根据权利要求1所述的辅助索引方法,其特征在于:所述索引范围起始位处为有效的用于索引的位,索引范围结束位处为无效的用于索引的位。3.根据权利要求1所述的辅助索引方法,其特征在于,所述步骤5中的复位操作具体为:根据最大容量确定循环位图的边界点,当边界点位于有效索引范围终点与索引范围结束位之间时,将有效索引范围终点与边界点之间及边界点至索引范围结束位之间进行复位清零;当边界点位于有效索引范围终点与索引范围结束位外部时,只对有效索引范围终点与索引范围结束位之间进行复位清零。4.根据权利要求3所述的辅助索引方法,其特征在于:所述步骤5,在执行置位和/或复位时,先检查待置位和/或复位的位所在的字节的存储空间是否存在,如果不存在,将循环位图的边界点扩展到字节的末尾处,然后在相应的位执行置位和/或复位操作。5.根据权利要求1所述的辅助索引方法,其特征在于:当日志文件生产队列设置于服务器中时,用于操作控制的客户端采用三级流水线的方式与服务器进行信息交互:在一级流水线中,客户端从服务器中获取每个关键字的有效索引范围终点,并将有效索引范围终点的集合发送给二级流水线;在二级流水线中,客户端获取每个关键字对应的循环位图中有效索引范围终点与索引范围结束位处的字节的值;在三级流水线中,客户端对每个关键字的有效索引范围终点与索引范围结束位处分别执行置位和复位操作。6.根据权利要求5所述的辅助索引方法,其特征在于:在一级流水线中,客户端从服务器中获取每个关键字的有效索引范围终点时,如果不存在任何关键字,...
【专利技术属性】
技术研发人员:李波,王卓,陈明雨,古井子,文雨,王伟平,孟丹,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。