一种内存检索系统和方法、以及实时检索系统和方法技术方案

技术编号:9489962 阅读:60 留言:0更新日期:2013-12-25 23:44
本发明专利技术公开了一种内存检索系统,所述系统包括:索引模块和检索模块;其中,索引模块,设置有多个索引数据库,用于分库得到和记录索引数据,并分库将更新的索引数据同步给所述检索模块;检索模块,用于接收所述索引模块同步的索引数据,更新内存中相应的索引数据库,并将相应的索引数据库指针切换到更新后的索引数据库上。相应的,本发明专利技术还公开了一种内存检索方法、实时检索系统以及实时检索方法,能较好的支持实时检索,在实际应用中可到达索引数据的秒极更新,并且降低了硬件设备的成本,提高了检索效率。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种内存检索系统,所述系统包括:索引模块和检索模块;其中,索引模块,设置有多个索引数据库,用于分库得到和记录索引数据,并分库将更新的索引数据同步给所述检索模块;检索模块,用于接收所述索引模块同步的索引数据,更新内存中相应的索引数据库,并将相应的索引数据库指针切换到更新后的索引数据库上。相应的,本专利技术还公开了一种内存检索方法、实时检索系统以及实时检索方法,能较好的支持实时检索,在实际应用中可到达索引数据的秒极更新,并且降低了硬件设备的成本,提高了检索效率。【专利说明】
本专利技术涉及数据处理技术,尤其涉及。
技术介绍
现有支持实时检索的系统,将索引和检索合并到一个进程中,它将索引和检索合并到一个进程里,新的倒排索引可以立即被检索使用。当内存中的索引数据达到阈值或者间隔时间达到阈值后,将内存的索引数据合并到磁盘的索引数据中。如此,检索时需要同时查找内存的索引数据和磁盘的索引数据。当检索数据集较小时,该检索系统的实时性能够满足要求。但由于将检索和索引集成在一个进程里,检索和索引均会消耗大量的计算资源,在拥有海量数据的检索系统中,采用类似的检索架构将消耗大量的硬件设备,成本高且效率低。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供,不仅能够实现实时快速的内存检索,而且能够降低成本和提高效率。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术提供了一种内存检索系统,所述系统包括:索引模块和检索模块;其中,索引模块,设置有多个索引数据库,用于分库得到和记录索引数据,并分库将更新的索引数据同步给所述检索模块;检索模块,用于接收所述索引模块同步的索引数据,更新内存中相应的索引数据库,并将相应的索引数据库指针切换到更新后的索引数据库上。在上述方案中,所述索引模块,用于对当前接收到的原始数据进行处理,得到索引数据并记录到当前索引数据库,将当前索引数据库的索引数据同步给所述检索模块。在上述方案中,所述索引模块设置的各索引数据库按照所保存数据的更新时间排序;所述索引模块,还用于在当前索引数据库存满时,将当前得到索引数据记录到下一个索弓I数据库,并将下一个索弓I数据库的索弓I数据同步给所述检索模块;如此往复,在最后一个索引数据库存满时,清空第一个索引数据库,将当前得到的索引数据记录到第一个索引数据库,并将第一个索引数据库的索引数据同步给所述检索模块。在上述方案中,所述索引模块包括数据接收子模块、索引数据生成子模块和索引数据同步子模块;其中,数据接收子模块,用于接收原始数据,生成源数据文件;索引数据生成子模块,用于对所述源数据文件进行处理,得到倒排信息,保存到当前索引数据库的倒排库,并通知所述索引数据同步子模块;索引数据同步子模块,用于在接收到所述索引数据生成子模块的通知后,将当前索引数据库中倒排库的倒排信息同步给所述检索模块。在上述方案中,所述索引模块设置的各索引数据库包括一个用于记录顺排信息的顺排库和一个用于记录倒排信息的倒排库;所述索引数据生成子模块,用于对所述源数据文件进行顺排处理,得到顺排信息并记录到当前索引数据库的顺排库,再对所述顺排信息进行倒排处理,得到倒排信息并记录到当前索引数据库的倒排库。在上述方案中,所述检索模块,用于:接收所述索引数据同步子模块同步的倒排信息,先将所接收到的倒排信息加载到内存的一个临时数据库中,待当前索引数据库的倒排库中所有倒排信息同步完成后,将相应的索引数据库指针切换到所述临时数据库上,并将所述临时数据库作为新的索引数据库替换掉内存中相应的索引数据库。本专利技术还提供了一种实时检索系统,所述实时检索系统包括磁盘检索子系统、第一内存检索子系统和第二内存检索子系统;其中,所述磁盘检索子系统包含有全部的索引数据,用于对全部数据进行检索;所述第一内存检索子系统包含最近第一时间阈值内更新的索引数据,用于对最近第一时间阈值内更新的数据进行检索;所述第二内存检索子系统包含最近第二时间阈值内更新的索引数据,用于对最近第二时间阈值内更新的数据进行检索;所述第一时间阈值和第二时间阈值为预先设置,且所述第二时间阈值小于所述第一时间阈值。在上述方案中,所述第一内存检索子系统包括:第一索引模块和第一检索模块;其中,第一索引模块,设置有多个索引数据库,用于分库得到和记录最近第一时间阈值内更新的索引数据,并分库将更新的索引数据同步给所述第一检索模块;第一检索模块,用于接收所述第一索引模块同步的索引数据,更新内存中相应的索引数据库,并将相应的索引数据库指针切换到更新后的索引数据库上;以及,用于对最近第一时间阈值内更新的数据进行检索。在上述方案中,所述第一时间阈值为两天。在上述方案中,所述第二内存检索子系统包括:第二索引模块和第二检索模块;其中,第二索引模块,设置有多个索引数据库,用于分库得到和记录最近第二时间阈值内更新的索引数据,并分库将更新的索引数据同步给所述第二检索模块;第二检索模块,用于接收所述第二索引模块同步的索引数据,更新内存中相应的索引数据库,并将相应的索引数据库指针切换到更新后的索引数据库上;以及,用于对最近第二时间阈值内更新的数据进行检索。在上述方案中,所述第二时间阈值不小于十分钟且小于两天。本专利技术还提供了一种内存检索方法,所述内存检索方法包括:设置多个索引数据库,分库得到和记录索引数据,并分库将更新的索引数据进行同步;接收所述同步的索引数据,更新内存中相应的索引数据库,并将相应的索引数据库指针切换到更新后的索引数据库上。在上述方案中,所述分库得到和记录索引数据,并分库将更新的索引数据进行同步,包括:对当前接收到的原始数据进行处理,得到索引数据并记录到当前索引数据库,将当前索引数据库的索引数据进行同步。在上述方案中,所述分库得到和记录索引数据,并分库将更新的索引数据进行同步,还包括:所述各索引数据库按照所保存数据的更新时间排序;在当前索引数据库存满时,将当前得到索引数据记录到下一个索引数据库,并将下一个索引数据库的索引数据进行同步;如此往复,在最后一个索引数据库存满时,清空第一个索引数据库,将当前得到的索引数据记录到第一个索引数据库,并将第一个索引数据库的索引数据进行同步。在上述方案中,所述分库得到和记录索引数据,并分库将更新的索引数据进行同步,具体包括:接收原始数据,生成源数据文件;对所述源数据文件进行处理,得到倒排信息,保存到当前索引数据库的倒排库;将当前索引数据库中倒排库的倒排信息进行同步。在上述方案中,所述各索引数据库包括一个用于记录顺排信息的顺排库和一个用于记录倒排信息的倒排库;所述对所述源数据文件进行处理,得到倒排信息,保存到当前索引数据库的倒排库,包括:对所述源数据文件进行顺排处理,得到顺排信息并记录到当前索引数据库的顺排库,再对所述顺排信息进行倒排处理,得到倒排信息并记录到当前索引数据库的倒排库。在上述方案中,所述接收所述同步的索引数据,更新内存中相应的索引数据库,并将相应的索引数据库指针切换到更新后的索引数据库上,包括:接收所述倒排信息,先将所接收到的倒排信息加载到内存的一个临时数据库中,待当前索引数据库的倒排库中所有倒排信息同步完成后,将相应的索引数据库指针切换到所述临时数据库上,并将所述临时数据库作为新的索引数据库替换掉内存中相应的索引数据本文档来自技高网...

【技术保护点】
一种内存检索系统,其特征在于,所述系统包括:索引模块和检索模块;其中,索引模块,设置有多个索引数据库,用于分库得到和记录索引数据,并分库将更新的索引数据同步给所述检索模块;检索模块,用于接收所述索引模块同步的索引数据,更新内存中相应的索引数据库,并将相应的索引数据库指针切换到更新后的索引数据库上。

【技术特征摘要】

【专利技术属性】
技术研发人员:王长伟汪伟蒋宏伟
申请(专利权)人:深圳市世纪光速信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1