CN104182522B - 一种基于循环位图模型的辅助索引方法及装置 - Google Patents

一种基于循环位图模型的辅助索引方法及装置 Download PDF

Info

Publication number
CN104182522B
CN104182522B CN201410425094.7A CN201410425094A CN104182522B CN 104182522 B CN104182522 B CN 104182522B CN 201410425094 A CN201410425094 A CN 201410425094A CN 104182522 B CN104182522 B CN 104182522B
Authority
CN
China
Prior art keywords
index range
circulation
bitmap
journal file
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410425094.7A
Other languages
English (en)
Other versions
CN104182522A (zh
Inventor
李波
王卓
陈明雨
古井子
文雨
王伟平
孟丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201410425094.7A priority Critical patent/CN104182522B/zh
Publication of CN104182522A publication Critical patent/CN104182522A/zh
Application granted granted Critical
Publication of CN104182522B publication Critical patent/CN104182522B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24537Query rewriting; Transformation of operators

Abstract

本发明涉及一种基于循环位图模型的辅助索引方法及装置,包括以下步骤:从日志文件生产队列里获取当前的日志文件及其文件编号,为该日志文件中的所有关键字分别建立循环位图;判断文件编号是否在索引范围起始位与索引范围结束位之间;检查文件编号是否在索引范围起始位与有效索引范围终点之间;在日志文件的文件编号处执行置位操作;对有效索引范围终点与索引范围结束位之间做复位操作,在待置位的文件编号处执行置位操作,并将有效索引范围终点赋值为索引范围结束位;等待直到文件生产队列中生成新的日志文件,执行步骤1。本发明不随日志编号增加而扩展内存使用空间,能够在客户端和服务器实现,并针对客户端提出基于流水线的提速模型。

Description

一种基于循环位图模型的辅助索引方法及装置
技术领域
本发明涉及数据查询优化领域,特别涉及基于内存数据库用作加速查询的一种基于循环位图模型的辅助索引方法及装置。
背景技术
随着计算机网络的快速发展,“大数据”吸引了越来越多的关注,如何能在庞大的流式数据中快速,高效地查询目标信息成为了热门话题。为了达到这个目标,能否根据数据的特点建立索引成为了关键问题。
在某特定应用场景中,服务器每天都会产生大量的系统日志、网络数据等流式数据,这些数据按照时间分片的原则定时收集并以ID号递增的方式为由收集的数据组成的文件命名,同时这些文件有一定的存储周期,例如某服务器收集产生的网络数据,每隔一小时将收集到的数据集中在当前文件中,命名为ID;然后将创建新的文件,命名为ID+1,继续收集数据;如果存储周期为3个月,则有效文件数为2160(24*30*3=2160),当第2161个文件收集数据完毕后,将删除第1个文件。
如果要在这样的情景中快速获取相应信息,可以采用这样的方法:对产生的流式数据文件实时更新倒排索引;在每次查询时,能够根据键来查找目标信息在哪些文件中;过期的文件信息可以在更新索引时从索引信息中删除。以位图结构为基础的倒排索引能满足高效查询,使用在基于内存查询数据信息的数据库中可以做到实时更新,添加一些操作可以保证过期日志信息删除后还能正确索引,但是这样的结构随着日志编号的增加,需要不断扩展位图容量,从而耗费了巨大的内存空间。
发明内容
本发明所要解决的技术问题是提供一种不随日志编号增加而扩展内存使用空间的基于循环位图模型的辅助索引方法及装置。
本发明解决上述技术问题的技术方案如下:一种基于循环位图模型的辅助索引方法,包括以下步骤:
步骤1:从日志文件生产队列里获取当前的日志文件及其文件编号,并将该日志文件从日志文件生产队列中删除,根据预设的循环位图的最大容量为该日志文件中的所有关键字分别建立循环位图,每个循环位图的索引范围起始位为最小的日志文件的文件编号,每个循环位图的索引范围结束位为最大的日志文件的文件编号,并为每个日志文件中的每个关键字建立一个有效索引范围终点;
步骤2:判断当前的日志文件的文件编号是否在索引范围起始位与索引范围结束位之间的有效索引范围内,如果是,执行步骤3,否则,执行步骤7;
步骤3:根据当前的日志文件中的所有关键字分别获取与每个关键字对应的有效索引范围终点及与每个关键字对应的循环位图的索引范围起始位,并检查日志文件的文件编号是否在索引范围起始位与每个关键字对应的有效索引范围终点之间,如果是,执行步骤4,否则,执行步骤5,直到将当前的日志文件中的所有关键字全部检查完毕,执行步骤6;
步骤4:在与每个关键字对应的循环位图中的日志文件的文件编号处执行置位操作,执行完毕后,执行步骤7;
步骤5:对与每个关键字对应的循环位图中有效索引范围终点与索引范围结束位之间做复位操作,在与每个关键字对应的循环位图中的待置位的文件编号处执行置位操作,并将有效索引范围终点赋值为索引范围结束位,执行步骤7;
步骤6:如果日志文件生产队列里没有其他待处理的日志文件,进入等待状态,直到文件生产队列中生成新的日志文件,重新执行步骤1;
步骤7:结束。
本发明的有益效果是:本发明的索引结构是基于循环队列和位图改进而来的,当最大索引空间容量较大时,会占用很多内存空间。将该索引结构应用于100W个关键字的数据规模上时,实现在客户端的该索引结构与流水线模型结合后的平均更新速度为10W次/秒,实现在服务器端的该索引结构的平均更新速度为19W次/秒,该索引结构适合应用于平均置位率在4.5%以上的场景。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述索引范围起始位处为有效的用于索引的位,索引范围结束位处为无效的用于索引的位。
进一步,所述步骤5中的复位清零操作具体为:根据最大容量确定循环位图的边界点,当边界点位于有效索引范围终点与索引范围结束位之间时,将有效索引范围终点与边界点之间及边界点至索引范围结束位之间进行复位清零;
当边界点位于有效索引范围终点与索引范围结束位外部时,只对有效索引范围终点与索引范围结束位之间进行复位清零。
进一步,所述步骤5,在执行置位和/或复位时,先检查待置位和/或复位的位所在的字节的存储空间是否存在,如果不存在,将循环位图的边界点扩展到字节的末尾处,然后在相应的位执行置位和/或复位操作。
进一步,当日志文件生产队列设置于服务器中时,用于操作控制的客户端采用三级流水线的方式与服务器进行信息交互:
在一级流水线中,客户端从服务器中获取每个关键字的有效索引范围终点,并将有效索引范围终点的集合发送给二级流水线;
在二级流水线中,客户端获取每个关键字对应的循环位图中有效索引范围终点与索引范围结束位处的字节的值;
在三级流水线中,客户端对每个关键字的有效索引范围终点与索引范围结束位处分别执行置位和复位操作。
进一步,在一级流水线中,客户端从服务器中获取每个关键字的有效索引范围终点时,如果不存在任何关键字,将有效索引范围终点的值标记为第一非法值;如果存在一个或多个关键字,但有效索引范围终点小于索引范围起始位,则将有效索引范围终点标记为第二非法值。
进一步,在二级流水线中,客户端获取每个关键字对应的循环位图中有效索引范围终点与索引范围结束位处的字节的值时,如果日志文件的文件编号在索引范围起始位于有效索引范围终点之间或者有效索引范围终点为第一非法值或第二非法值时,不获取待置位关键字的循环位图中有效索引范围终点与索引范围结束位之间的字节值。
进一步,一种基于循环位图模型的辅助索引装置,包括获取建立模块、判断模块、获取检查模块、置位模块、复位模块和等待模块;
所述获取建立模块,用于从日志文件生产队列里获取当前的日志文件及其文件编号,并将该日志文件从日志文件生产队列中删除,根据预设的循环位图的最大容量为该日志文件中的所有关键字分别建立循环位图,每个循环位图的索引范围起始位为最小的日志文件的文件编号,每个循环位图的索引范围结束位为最大的日志文件的文件编号,并为每个日志文件中的每个关键字建立一个有效索引范围终点;
所述判断模块,用于判断当前的日志文件的文件编号是否在索引范围起始位与索引范围结束位之间的有效索引范围内,如果是,执行获取检查模块,否则,结束处理;
所述获取检查模块,用于根据当前的日志文件中的所有关键字分别获取与每个关键字对应的有效索引范围终点及与每个关键字对应的循环位图的索引范围起始位,并检查日志文件的文件编号是否在索引范围起始位与每个关键字对应的有效索引范围终点之间,如果是,执行置位模块,否则,执行复位模块,直到将当前的日志文件中的所有关键字全部检查完毕,执行等待模块;
所述置位模块,用于在与每个关键字对应的循环位图中的日志文件的文件编号处执行置位操作,执行完毕后,结束处理;
所述复位模块,用于对与每个关键字对应的循环位图中有效索引范围终点与索引范围结束位之间做复位操作,在与每个关键字对应的循环位图中的待置位的文件编号处执行置位操作,并将有效索引范围终点赋值为索引范围结束位,结束处理;
所述等待模块,用于如果日志文件生产队列里没有其他待处理的日志文件,进入等待状态,直到文件生产队列中生成新的日志文件,重新执行获取建立模块。
进一步,所述复位模块在执行复位清零操作时,根据最大容量确定循环位图的边界点,当边界点位于有效索引范围终点与索引范围结束位之间时,将有效索引范围终点与边界点之间及边界点至索引范围结束位之间进行复位清零;
当边界点位于有效索引范围终点与索引范围结束位外部时,只对有效索引范围终点与索引范围结束位之间进行复位清零。
进一步,所述复位模块在执行置位和/或复位时,先检查待置位和/或复位的位所在的字节的存储空间是否存在,如果不存在,将循环位图的边界点扩展到字节的末尾处,然后在相应的位执行置位和/或复位操作。
附图说明
图1为本发明方法步骤流程图;
图2为本发明装置结构图。
附图中,各标号所代表的部件列表如下:
1、获取建立模块,2、判断模块,3、获取检查模块,4、置位模块,5、复位模块,6、等待模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明方法步骤流程图;图2为本发明装置结构图。
实施例1
一种基于循环位图模型的辅助索引方法,包括以下步骤:
步骤1:从日志文件生产队列里获取当前的日志文件及其文件编号,并将该日志文件从日志文件生产队列中删除,根据预设的循环位图的最大容量为该日志文件中的所有关键字分别建立循环位图,每个循环位图的索引范围起始位为最小的日志文件的文件编号,每个循环位图的索引范围结束位为最大的日志文件的文件编号,并为每个日志文件中的每个关键字建立一个有效索引范围终点;
步骤2:判断当前的日志文件的文件编号是否在索引范围起始位与索引范围结束位之间的有效索引范围内,如果是,执行步骤3,否则,执行步骤7;
步骤3:根据当前的日志文件中的所有关键字分别获取与每个关键字对应的有效索引范围终点及与每个关键字对应的循环位图的索引范围起始位,并检查日志文件的文件编号是否在索引范围起始位与每个关键字对应的有效索引范围终点之间,如果是,执行步骤4,否则,执行步骤5,直到将当前的日志文件中的所有关键字全部检查完毕,执行步骤6;
步骤4:在与每个关键字对应的循环位图中的日志文件的文件编号处执行置位操作,执行完毕后,执行步骤7;
步骤5:对与每个关键字对应的循环位图中有效索引范围终点与索引范围结束位之间做复位操作,在与每个关键字对应的循环位图中的待置位的文件编号处执行置位操作,并将有效索引范围终点赋值为索引范围结束位,执行步骤7;
步骤6:如果日志文件生产队列里没有其他待处理的日志文件,进入等待状态,直到文件生产队列中生成新的日志文件,重新执行步骤1;
步骤7:结束。
所述索引范围起始位处为有效的用于索引的位,索引范围结束位处为无效的用于索引的位。
所述步骤5中的复位清零操作具体为:根据最大容量确定循环位图的边界点,当边界点位于有效索引范围终点与索引范围结束位之间时,将有效索引范围终点与边界点之间及边界点至索引范围结束位之间进行复位清零;
当边界点位于有效索引范围终点与索引范围结束位外部时,只对有效索引范围终点与索引范围结束位之间进行复位清零。
所述步骤5,在执行置位和/或复位时,先检查待置位和/或复位的位所在的字节的存储空间是否存在,如果不存在,将循环位图的边界点扩展到字节的末尾处,然后在相应的位执行置位和/或复位操作。
当日志文件生产队列设置于服务器中时,用于操作控制的客户端采用三级流水线的方式与服务器进行信息交互:
在一级流水线中,客户端从服务器中获取每个关键字的有效索引范围终点,并将有效索引范围终点的集合发送给二级流水线;
在二级流水线中,客户端获取每个关键字对应的循环位图中有效索引范围终点与索引范围结束位处的字节的值;
在三级流水线中,客户端对每个关键字的有效索引范围终点与索引范围结束位处分别执行置位和复位操作。
在一级流水线中,客户端从服务器中获取每个关键字的有效索引范围终点时,如果不存在任何关键字,将有效索引范围终点的值标记为第一非法值;如果存在一个或多个关键字,但有效索引范围终点小于索引范围起始位,则将有效索引范围终点标记为第二非法值。
在二级流水线中,客户端获取每个关键字对应的循环位图中有效索引范围终点与索引范围结束位处的字节的值时,如果日志文件的文件编号在索引范围起始位于有效索引范围终点之间或者有效索引范围终点为第一非法值或第二非法值时,不获取待置位关键字的循环位图中有效索引范围终点与索引范围结束位之间的字节值。
一种基于循环位图模型的辅助索引装置,包括获取建立模块1、判断模块2、获取检查模块3、置位模块4、复位模块5和等待模块6;
所述获取建立模块1,用于从日志文件生产队列里获取当前的日志文件及其文件编号,并将该日志文件从日志文件生产队列中删除,根据预设的循环位图的最大容量为该日志文件中的所有关键字分别建立循环位图,每个循环位图的索引范围起始位为最小的日志文件的文件编号,每个循环位图的索引范围结束位为最大的日志文件的文件编号,并为每个日志文件中的每个关键字建立一个有效索引范围终点;
所述判断模块2,用于判断当前的日志文件的文件编号是否在索引范围起始位与索引范围结束位之间的有效索引范围内,如果是,执行获取检查模块3,否则,结束处理;
所述获取检查模块3,用于根据当前的日志文件中的所有关键字分别获取与每个关键字对应的有效索引范围终点及与每个关键字对应的循环位图的索引范围起始位,并检查日志文件的文件编号是否在索引范围起始位与每个关键字对应的有效索引范围终点之间,如果是,执行置位模块4,否则,执行复位模块5,直到将当前的日志文件中的所有关键字全部检查完毕,执行等待模块6;
所述置位模块4,用于在与每个关键字对应的循环位图中的日志文件的文件编号处执行置位操作,执行完毕后,结束处理;
所述复位模块5,用于对与每个关键字对应的循环位图中有效索引范围终点与索引范围结束位之间做复位操作,在与每个关键字对应的循环位图中的待置位的文件编号处执行置位操作,并将有效索引范围终点赋值为索引范围结束位,结束处理;
所述等待模块6,用于如果日志文件生产队列里没有其他待处理的日志文件,进入等待状态,直到文件生产队列中生成新的日志文件,重新执行获取建立模块1。
所述复位模块5在执行复位清零操作时,根据最大容量确定循环位图的边界点,当边界点位于有效索引范围终点与索引范围结束位之间时,将有效索引范围终点与边界点之间及边界点至索引范围结束位之间进行复位清零;
当边界点位于有效索引范围终点与索引范围结束位外部时,只对有效索引范围终点与索引范围结束位之间进行复位清零。
所述复位模块5在执行置位和/或复位时,先检查待置位和/或复位的位所在的字节的存储空间是否存在,如果不存在,将循环位图的边界点扩展到字节的末尾处,然后在相应的位执行置位和/或复位操作。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

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所述的辅助索引方法,其特征在于:在一级流水线中,客户端从服务器中获取每个关键字的有效索引范围终点时,如果不存在任何关键字,将有效索引范围终点的值标记为第一非法值;如果存在一个或多个关键字,但有效索引范围终点小于索引范围起始位,则将有效索引范围终点标记为第二非法值。
7.根据权利要求6所述的辅助索引方法,其特征在于:在二级流水线中,客户端获取每个关键字对应的循环位图中有效索引范围终点与索引范围结束位处的字节的值时,如果日志文件的文件编号在索引范围起始位与有效索引范围终点之间或者有效索引范围终点为第一非法值或第二非法值时,不获取待置位关键字的循环位图中有效索引范围终点与索引范围结束位之间的字节值。
8.一种基于循环位图模型的辅助索引装置,其特征在于:包括获取建立模块(1)、判断模块(2)、获取检查模块(3)、置位模块(4)、复位模块(5)和等待模块(6);
所述获取建立模块(1),用于从日志文件生产队列里获取当前的日志文件及其文件编号,并将该日志文件从日志文件生产队列中删除,根据预设的循环位图的最大容量为该日志文件中的所有关键字分别建立循环位图,每个循环位图的索引范围起始位为最小的文件编号,每个循环位图的索引范围结束位为最大的文件编号,并为每个日志文件中的每个关键字建立一个有效索引范围终点;
所述判断模块(2),用于判断当前的日志文件的文件编号是否在索引范围起始位与索引范围结束位之间的有效索引范围内,如果是,执行获取检查模块(3),否则,结束处理;
所述获取检查模块(3),用于根据当前的日志文件中的所有关键字分别获取与每个关键字对应的有效索引范围终点及与每个关键字对应的循环位图的索引范围起始位,并检查日志文件的文件编号是否在索引范围起始位与每个关键字对应的有效索引范围终点之间,如果是,执行置位模块(4),否则,执行复位模块(5),直到将当前的日志文件中的所有关键字全部检查完毕,执行等待模块(6);
所述置位模块(4),用于在与每个关键字对应的循环位图中的日志文件的文件编号处执行置位操作,执行完毕后,结束处理;
所述复位模块(5),用于对与每个关键字对应的循环位图中有效索引范围终点与索引范围结束位之间做复位操作,在与每个关键字对应的循环位图中的待置位的文件编号处执行置位操作,并将有效索引范围终点赋值为索引范围结束位,结束处理;
所述等待模块(6),用于如果日志文件生产队列里没有其他待处理的日志文件,进入等待状态,直到文件生产队列中生成新的日志文件,重新执行获取建立模块(1)。
9.根据权利要求8所述的辅助索引装置,其特征在于:所述复位模块(5)在执行复位清零操作时,根据最大容量确定循环位图的边界点,当边界点位于有效索引范围终点与索引范围结束位之间时,将有效索引范围终点与边界点之间及边界点至索引范围结束位之间进行复位清零;
当边界点位于有效索引范围终点与索引范围结束位外部时,只对 有效索引范围终点与索引范围结束位之间进行复位清零。
10.根据权利要求8所述的辅助索引装置,其特征在于:所述复位模块(5)在执行置位和/或复位时,先检查待置位和/或复位的位所在的字节的存储空间是否存在,如果不存在,将循环位图的边界点扩展到字节的末尾处,然后在相应的位执行置位和/或复位操作。
CN201410425094.7A 2014-08-26 2014-08-26 一种基于循环位图模型的辅助索引方法及装置 Active CN104182522B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410425094.7A CN104182522B (zh) 2014-08-26 2014-08-26 一种基于循环位图模型的辅助索引方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410425094.7A CN104182522B (zh) 2014-08-26 2014-08-26 一种基于循环位图模型的辅助索引方法及装置

Publications (2)

Publication Number Publication Date
CN104182522A CN104182522A (zh) 2014-12-03
CN104182522B true CN104182522B (zh) 2017-04-19

Family

ID=51963561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410425094.7A Active CN104182522B (zh) 2014-08-26 2014-08-26 一种基于循环位图模型的辅助索引方法及装置

Country Status (1)

Country Link
CN (1) CN104182522B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572828B (zh) * 2014-12-08 2018-01-19 中国科学院信息工程研究所 一种基于空间位图模型的辅助索引方法及系统
CN111723098B (zh) * 2020-06-29 2023-06-30 珠海复旦创新研究院 基于位图索引的日志数据模式查询方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944115A (zh) * 2010-09-14 2011-01-12 杭州海康威视数字技术股份有限公司 一种日志搜索方法和系统
CN102207964A (zh) * 2011-05-31 2011-10-05 广州从兴电子开发有限公司 实时海量数据索引建立方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2406681B (en) * 2000-11-30 2005-05-18 Coppereye Ltd Database
CN1286043C (zh) * 2003-12-31 2006-11-22 中兴通讯股份有限公司 一种在数据库里快速定位数据页中记录的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944115A (zh) * 2010-09-14 2011-01-12 杭州海康威视数字技术股份有限公司 一种日志搜索方法和系统
CN102207964A (zh) * 2011-05-31 2011-10-05 广州从兴电子开发有限公司 实时海量数据索引建立方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Efficient joins with compressed bitmap indexes;Kamesh Madduri等;《Proceedings of the 18th ACM conference on Information and knowledge management》;20091106;第1017-1026页 *
Secondary bitmap indexes with vertical and horizontal partitioning;Guadalupe Canahuate等;《Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology》;20090326;第600-611页 *
分片位图索引:一种适用于云数据管理的辅助索引机制;孟必平等;《计算机学报》;20121130;第35卷(第11期);第2306-2316页 *
基于层次位图连接索引的数据仓库查询优化;周彦等;《计算机技术与发展》;20110331;第21卷(第3期);第40-43页 *

Also Published As

Publication number Publication date
CN104182522A (zh) 2014-12-03

Similar Documents

Publication Publication Date Title
CN106897322A (zh) 一种数据库和文件系统的访问方法和装置
CN103034658A (zh) 一种数据查询和报表导出的方法及系统
CA2897338A1 (en) Data stream splitting for low-latency data access
CN102724059A (zh) 基于MapReduce的网站运行状态监控与异常检测
CN107506464A (zh) 一种基于ES实现HBase二级索引的方法
CN106161633A (zh) 一种基于云计算环境下打包文件的传输方法及系统
CN108563697B (zh) 一种数据处理方法、装置和存储介质
CN104182522B (zh) 一种基于循环位图模型的辅助索引方法及装置
CN102023978B (zh) 一种海量数据处理方法及系统
CN112214453A (zh) 大规模工业数据压缩存储方法、系统及介质
WO2021151294A1 (zh) 一种文档转码方法、装置、调度服务器和存储介质
CN107317831A (zh) 基于内存数据库的网站访问方法
Wang et al. Sublinear algorithms for big data applications
CN107995174A (zh) 文件密钥获取装置及方法,文件解密装置及方法
CN111400321A (zh) 基于oracle数据库自动回收高水位的方法
CN103530297A (zh) 一种自动进行网站分析的方法及装置
Zheng et al. A method to improve the performance for storing massive small files in Hadoop
CN103475519B (zh) 一种大数据量的日志记录方法及装置
CN113032368A (zh) 一种数据迁移方法、装置、存储介质及平台
US9052904B1 (en) System and method for determining whether to reschedule malware scans based on power-availability information for a power grid and power-usage information for the scans
EP2765517B1 (en) Data stream splitting for low-latency data access
Yue Design of information management system for structural monitoring based on network fragmentation
CN105630896A (zh) 一种快速导入海量数据的方法
CN104636345A (zh) 一种基于分布式缓存的数据库读写方法
CN113485805B (zh) 基于异构加速平台的分布式计算调整方法、装置及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant