一种加速搜索数据库信息的方案制造技术

技术编号:21736013 阅读:31 留言:0更新日期:2019-07-31 19:10
本发明专利技术公开了一种加速搜索数据库信息的方案,采用了分时间段扫描,每次记录最后一个扫描到的时间戳最大的值,并且保存到数据库中,确保下一次扫描时,从该时间戳开始。每次使用数据库检索以后,都先查询一下检索出来数据项的个数,如果超过一定阈值如3000个,就使用二叉树的算法进行减少搜索范围,通过多次使用二叉树的算法,确保每次搜索出来的数据项个数小于该设置的阈值3000个。进而确保每次处理的数据个数不会很大,确保数据可以按时扫描到,而不是某个账号,某个容器单独占据整个系统资源。

A Scheme for Accelerating Search of Database Information

【技术实现步骤摘要】
一种加速搜索数据库信息的方案
本专利技术涉及应用软件的一种数据库检索解决方案,具体是一种加速搜索数据库信息的方案。
技术介绍
在云平台系统中,网关模块和归档模块的无缝衔接。网关模块的主要功能是实现对象存储,归档模块的主要功能是实现蓝光备份。对数据文件进行蓝光备份的前提是:把满足一定规则的文件扫描记录到归档系统。设定的规则是:对于文件创建时间超过规定时间(命名这个时间为标记时间)进行归档。比如一个文件是1天以前创建,标记时间是1天,文件创建超过1天以后就应该要被归档系统扫描到,并且准备进行蓝光备份工作。要让整个系统具有实用价值,必须解决以下几个问题:1.支持大量数据库信息的查找。2.能满足大量文件同时创建这种情况的处理。3.查找到的数据信息不能重复。4.尽量降低对于网关模块和归档模块的压力。
技术实现思路
本专利技术的目的在于提供一种加速搜索数据库信息的方案,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种加速搜索数据库信息的方案,其具体方法步骤如下:(1)采用了分时间段扫描,每次记录最后一个扫描到的时间戳最大的值,并且保存到数据库中,确保下一次扫描时,从该时间戳开始;(2)每次使用数据库检索以后,都先查询一下检索出来数据项的个数,如果超过一定阈值如3000个,就使用二叉树的算法进行减少搜索范围,通过多次使用二叉树的算法,确保每次搜索出来的数据项个数小于该设置的阈值3000个;(3)确保每次处理的数据个数不会很大,确保数据可以按时扫描到,而不是某个账号,某个容器单独占据整个系统资源。作为本专利技术进一步的方案:所述步骤(2)中的数据项在数据库中是有保存创建时间,并且创建时间是一个索引,这样才能够实现快速查找。作为本专利技术进一步的方案:所述步骤(1)中的数据库里面记录2个值:markTime和scanTime,markTime是标记时间,意思就是文件创建多久以后才可以进行扫描,scanTime是扫描到的数据项中,创建时间最大的值,当把所有的数据项按照创建时间进行排序,从小排到大,scanTime就是最后一个数据项的创建时间。作为本专利技术进一步的方案:所述scanTime-markTime这个时间段的范围能够通过自动调节,达到最终从数据库中搜索出数目不大的数据项,然后自动拷贝数据库信息,实现不同的两个软件模块之间的信息通信。作为本专利技术进一步的方案:所述步骤(2)中设定的阀值3000能够根据软件实际运行的效果进行调整,且同时依据数据库内信息的存储量进行调整。与现有技术相比,本专利技术的有益效果是:够先使用分时间段搜索,然后在大量数据的情况下,使用多次二叉树缩短时间段,减小处理的数据量,确保所有账号,所有账号下的容器都可以平均使用到系统资源,不会因为大量数据处于单一账号,单一容器,导致其他账户和容器饿死,快速有效地实现数据库扫描,实现两个模块之间数据库内容的拷贝复制,避免产生系统性能瓶颈。附图说明图1是本专利技术使用方法流程图。具体实施方式下面将结合本专利技术实施例,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例中,一种加速搜索数据库信息的方案,其具体方法步骤如下:(1)采用了分时间段扫描,每次记录最后一个扫描到的时间戳最大的值,并且保存到数据库中,确保下一次扫描时,从该时间戳开始,数据库里面记录2个值:markTime和scanTime,markTime是标记时间,意思就是文件创建多久以后才可以进行扫描,scanTime是扫描到的数据项中,创建时间最大的值,当把所有的数据项按照创建时间进行排序,从小排到大,scanTime就是最后一个数据项的创建时间,scanTime-markTime这个时间段的范围能够通过自动调节,达到最终从数据库中搜索出数目不大的数据项,然后自动拷贝数据库信息,实现不同的两个软件模块之间的信息通信。(2)每次使用数据库检索以后,都先查询一下检索出来数据项的个数,如果超过一定阈值如3000个,就使用二叉树的算法进行减少搜索范围,通过多次使用二叉树的算法,确保每次搜索出来的数据项个数小于该设置的阈值3000个,数据项在数据库中是有保存创建时间,并且创建时间是一个索引,这样才能够实现快速查找,且厨师设定的阀值3000能够根据软件实际运行的效果进行调整,且同时依据数据库内信息的存储量进行调整。(3)确保每次处理的数据个数不会很大,确保数据可以按时扫描到,而不是某个账号,某个容器单独占据整个系统资源。实施方式为:Functionscan_database(markTime,scanTime){cursor=db[collectionName].find({'ctime':{'$lt':timeStamp,'$gt':scanTime}})iFind=cursor.count()ifiFind>MAX_SCAN_NUM:{timeStamp2=timeStampscanTime2=scanTimeforiinrange(MAX_TRY_TIME):{x=(timeStamp2+scanTime2)/2cursor=db[collectionName].find({'ctime':{'$lt':x,'$gt':scanTime2}})iFind=cursor.count()ifiFind==0:scanTime2=xelifiFind<=MAX_SCAN_NUM:Breakelse:timeStamp2=x}}foriincursor:#readthedatabaseinformance,andinsertintoarchivedatabase.}对于本领域技术人员而言,显然本专利技术不限于上述示范性实施例的细节,而且在不背离本专利技术的精神或基本特征的情况下,能够以其他的具体形式实现本专利技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本专利技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本专利技术内。此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。本文档来自技高网...

【技术保护点】
1.一种加速搜索数据库信息的方案,其特征在于,其方法步骤如下:(1)采用了分时间段扫描,每次记录最后一个扫描到的时间戳最大的值,并且保存到数据库中,确保下一次扫描时,从该时间戳开始;(2)每次使用数据库检索以后,都先查询一下检索出来数据项的个数,如果超过一定阈值如3000个,就使用二叉树的算法进行减少搜索范围,通过多次使用二叉树的算法,确保每次搜索出来的数据项个数小于该设置的阈值3000个;(3)确保每次处理的数据个数不会很大,确保数据可以按时扫描到,而不是某个账号,某个容器单独占据整个系统资源。

【技术特征摘要】
1.一种加速搜索数据库信息的方案,其特征在于,其方法步骤如下:(1)采用了分时间段扫描,每次记录最后一个扫描到的时间戳最大的值,并且保存到数据库中,确保下一次扫描时,从该时间戳开始;(2)每次使用数据库检索以后,都先查询一下检索出来数据项的个数,如果超过一定阈值如3000个,就使用二叉树的算法进行减少搜索范围,通过多次使用二叉树的算法,确保每次搜索出来的数据项个数小于该设置的阈值3000个;(3)确保每次处理的数据个数不会很大,确保数据可以按时扫描到,而不是某个账号,某个容器单独占据整个系统资源。2.根据权利要求1所述的一种加速搜索数据库信息的方案,其特征在于,所述步骤(2)中的数据项在数据库中是有保存创建时间,并且创建时间是一个索引,这样才能够实现快速查找。3.根据权利要求1所述的一种加速搜...

【专利技术属性】
技术研发人员:吴火城傅金地
申请(专利权)人:赛凡信息科技厦门有限公司
类型:发明
国别省市:福建,35

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

1