一种索引建立方法及装置的制造方法

xiaoxiao2021-2-28  214

一种索引建立方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据库技术领域,特别涉及一种索引建立方法及装置。
【背景技术】
[0002]索引服务是一项系统服务(IndexingService),使用文档筛选器读取整个文档,并提取文档和属性传递给索引程序,这个过程称为“索引”。索引服务可以从一组文档中提取并组织信息,以便通过Windows搜索功能、索引服务查询表或Web浏览器快速容易地访问该信息,该信息可以包含文档中的文本(内容)、文档的特征和参数(属性)。通过索引可以对信息进行快速访问。
[0003 ]目前,建立索弓I通常有两种方式。
[0004]第一种方法为:将从互联网抓取的数据实时添加至索引数据库中,建立索引数据库的索引。
[0005]第二种方法为:将从互联网抓取的数据存储在硬盘中;每隔一段时间,读取硬盘中的所存储的所抓取到的数据;将所读取的数据,添加至索引数据库中;建立索引数据库的索引。
[0006]但是,应用上述的第一种方式实时建立索引,会总占用系统资源,导致数据检索时速度很慢。应用上述的第二种方式建立索引,需要先对存储在硬盘中的数据进行读取,读取硬盘的速度很慢,导致索引建立较花费时间。

【发明内容】

[0007]本发明实施例的目的在于提供一种索引建立方法及装置,以减少建立索引的时间,提高数据检索的速度。
[0008]为达到上述目的,本发明实施例公开了一种索引建立方法,预先建立针对目标数据类型的数据的第一索引库,所述第一索引库用于存储预设时间段内的所述目标数据类型的数据;所述方法包括:
[0009]从互联网中获得所述目标数据类型的数据;
[0010]将所获得的所述目标数据类型的数据存储在缓存中;
[0011 ]每隔预设时间,读取所述缓存中存储的所述目标数据类型的数据;
[0012]将所读取到的所述目标数据类型的数据,添加在所述第一索引库中;
[0013]根据所述第一索引库中存储的所述目标数据类型的数据,建立针对所述第一索引库的索引。
[0014]可选的,所述方法还包括:
[0015]针对所述第一索引库中存储的每一所述目标数据类型的数据,判断该数据是否符合预设规则;
[0016]如果是,将该数据存储在黑名单列表中。
[0017]可选的,预先建立针对目标数据类型的数据的第二索引库,所述第二索引库用于存储所有所述目标数据类型的数据;所述方法还包括:
[0018]当当前时间到达所述预设时间段对应的时间截止点时,将所述第一索引库中的所述目标数据类型的数据存储在所述第二索引库中;
[0019]根据所述第二索引库中存储的所述目标数据类型的数据,建立针对所述第二索引库的索引;
[0020]删除所述第一索引库中的所述目标数据类型的数据,继续从互联网中获得所述目标数据类型的数据。
[0021 ]可选的,所述从互联网中获得所述目标数据类型的数据,包括:
[0022]利用爬虫技术,实时从互联网中获得所述目标数据类型的数据。
[0023]可选的,所述预设时间,包括:
[0024]一秒钟;或一分钟。
[0025]为达到上述目的,本发明实施例公开了一种索引建立装置,包括:第一建立模块、获得模块、第一存储模块、读取模块、添加模块和第二建立模块,其中,
[0026]所述第一建立模块,用于预先建立针对目标数据类型的数据的第一索引库,所述第一索引库用于存储预设时间段内的所述目标数据类型的数据;
[0027]所述获得模块,用于从互联网中获得所述目标数据类型的数据;
[0028]所述第一存储模块,用于将所述获得模块获得的所述目标数据类型的数据存储在缓存中;
[0029]所述读取模块,用于每隔预设时间,读取所述缓存中存储的所述目标数据类型的数据;
[0030]所述添加模块,用于将所述读取模块读取到的所述目标数据类型的数据,添加在所述第一建立模块建立的第一索引库中;
[0031]所述第二建立模块,用于根据所述第一索引库中存储的所述目标数据类型的数据,建立针对所述第一索引库的索引。
[0032]可选的,所述装置还包括:判断模块和第二存储模块,其中,
[0033]所述判断模块,用于针对所述第一索引库中存储的每一所述目标数据类型的数据,判断该数据是否符合预设规则;
[0034]所述第二存储模块,用于在所述判断模块判断结果为是的情况下,将该数据存储在黑名单中。
[0035]可选的,所述第一建立模块,还用于:
[0036]预先建立针对目标数据类型的数据的第二索引库,所述第二索引库用于存储所有所述目标数据类型的数据;
[0037]所述装置还包括:第三存储模块、第三建立模块和删除模块,其中,
[0038]所述第三存储模块,用于当当前时间到达所述预设时间段对应的时间截止点时,将所述第一索引库中的所述目标数据类型的数据存储在所述第二索引库中;
[0039]所述第三建立模块,用于根据所述第二索引库中存储的所述目标数据类型的数据,建立针对所述第二索引库的索引;
[0040]所述删除模块,用于删除所述第一索引库中的所述目标数据类型的数据,触发获得模块。
[0041]可选的,所述获得模块,具体用于:
[0042]利用爬虫技术,实时从互联网中获得所述目标数据类型的数据。
[0043]可选的,所述预设时间,包括:
[0044]—秒钟;或一分钟。
[0045]由上述的技术方案可见,本发明实施例提供了一种索引建立方法及装置,预先建立针对目标数据类型的数据的第一索引库,所述第一索引库用于存储预设时间段内的所述目标数据类型的数据;方法包括:从互联网中获得所述目标数据类型的数据;将所获得的所述目标数据类型的数据存储在缓存中;每隔预设时间,读取所述缓存中存储的所述目标数据类型的数据;将所读取到的所述目标数据类型的数据,添加在所述第一索引库中;根据所述第一索引库中存储的所述目标数据类型的数据,建立针对所述第一索引库的索引。
[0046]应用本发明实施例所提供的技术方案,通过缓存机制建立索引,相比于现有技术的硬盘机制,减少了建立索引的时间,提高了建立索引的效率;并且采用秒级别或分级别机制从缓存中读取数据,在该段时间内,没有将数据添加至索引数据库,不占用系统资源,提高了该段时间内的数据检索速度。
[0047]当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
【附图说明】
[0048]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0049]图1为本发明实施例提供的索引建立方法的第一种流程示意图;
[0050]图2为本发明实施例提供的索引建立方法的第二种流程示意图;
[0051]图3为本发明实施例提供的索引建立方法的第三种流程示意图;
[0052]图4为本发明实施例提供的索引建立装置的第一种结构示意图;
[0053]图5为本发明实施例提供的索引建立装置的第二种结构示意图;
[0054]图6为本发明实施例提供的索引建立装置的第三种结构示意图。
【具体实施方式】
[0055]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056]为了解决现有技术问题,本发明 实施例提供了一种索引建立方法及装置。下面首先对本发明实施例所提供的一种索引建立方法进行介绍。
[0057]需要说明的是,本发明的实施例优选适用于电子设备,在实际应用中,该电子设备可以为服务器,本发明对此不作限定。
[0058]预先建立针对目标数据类型的数据的第一索引库,所述第一索引库用于存储预设时间段内的所述目标数据类型的数据;在实际应用中,目标数据类型可以为文本、图片、视频、音频、网页等等,本发明并不对目标数据类型进行限定;预设时间段可以为每天0:00:00至23:59:59。
[0059]图1为本发明实施例提供的索引建立方法的第一种流程示意图,可以包括:
[0060]S101:从互联网中获得目标数据类型的数据;
[0061 ] S102:将所获得的目标数据类型的数据存储在缓存中;
[0062]S103:每隔预设时间,读取所述缓存中存储的目标数据类型的数据;
[0063]S104:将所读取到的目标数据类型的数据,添加在第一索引库中;
[0064]S105:根据第一索引库中存储的目标数据类型的数据,建立针对第一索引库的索引。
[0065]具体的,在实际应用中,从互联网中获得目标数据类型的数据,可以利用爬虫技术,实时从互联网中获得目标数据类型的数据,即利用针对目标数据类型的数据的抓取程序,实时从互联网中抓取目标数据类型的数据。其中,利用爬虫技术,从互联网中抓取数据为现有技术,本发明实施例在此不对其进行赘述。
[0066]假设目标数据类型为新闻。
[0067]抓取新闻类型的数据分别为新闻a、新闻b、新闻c;将新闻a、新闻b、新闻c存储在缓存中;每隔预设时间,读取缓存中存储的新闻a、新闻b、新闻c;将读取的新闻a、新闻b、新闻c添加在第一索引库中;根据第一索引库中存储的新闻a、新闻b、新闻c,建立针对第一数据库的索引。
[0068]具体的,在实际应用中,可以每隔一秒钟读取缓存中存储的新闻a、新闻b、新闻c;也可以每隔一分钟读取缓存中存储的新闻a、新闻b、新闻c。
[0069]需要说明的是,上述以新闻a、新闻b、新闻c为例进行说明,仅为本发明的一具体实例,并不够成对本发明的限定。
[0070]应用本发明图1所示实施例,通过缓存机制建立索引,相比于现有技术的硬盘机制,减少了建立索引的时间,提高了建立索引的效率;并且采用秒级别或分级别机制从缓存中读取数据,在该段时间内,没有将数据添加至索引数据库,不占用系统资源,提高了该段时间内的数据检索速度。
[0071]图2为本发明实施例提供的索引建立方法的第二种流程示意图,本发明图2所示实施例在图1所示实施例的基础上,增加以下两个步骤,
[0072]S106:针对第一索引库中存储的每一目标数据类型的数据,判断该数据是否符合预设规则,如果是,执行S107 ;
[0073]S107:将该数据存储在黑名单列表中。
[0074]还以上述新闻a、新闻b、新闻c为例,针对第一索引库中的新闻a、新闻b、新闻c,分别判断新闻a、新闻b、新闻c是否符合预设规则。
[0075]具体的,预设规则可以为存在关键字(例如色情、暴力、凶杀等)或者包含的图片中裸露隐私部分的等等。在实际应用中,预设规则可以根据实际情况需要进行设定。
[0076]假设判断出新闻b符合预设规则,则将新闻b存储在黑名单中。
[0077]应用本发明图2所示实施例,将符合预设规则的数据存储在黑名单中,当进行数据检索,检索到的数据与黑名单存储的数据匹配时,可以不向用户反馈检索结果,进而可以避免传播非法数据,触犯国家法律。
[0078]图3为本发明实施例提供的索引建立方法的第三种流程示意图,本发明图3所示实施例在图1所示实施例的基础上,增加以下三个步骤,
[0079]S108:当当前时间到达预设时间段对应的时间截止点时,将第一索引库中的目标数据类型的数据存储在第二索引库中;
[0080]其中,第二索引库为预先建立的针对目标数据类型的数据的索引库,其用于存储所有目标数据类型的数据。
[0081 ] S109:根据第二索引库中存储的目标数据类型的数据,建立针对第二索引库的索弓I;
[0082]S110:删除第一索引库中的目标数据类型的数据,继续从互联网中获得目标数据类型的数据。
[0083]具体的,假设第一索引库只存储每天的目标数据类型的数据,即第一索引库的预设时间段为每天0:00:00至23:59:59。
[0084]假设第一天第一索引数据库中存储的新闻类型的数据为新闻a、新闻b、新闻c,当当前时间为0:00:00时,将第一索引库中的新闻a、新闻b、新闻c存储在第二索引库中;根据第二索引库中存储的新闻a、新闻b、新闻c,建立针对第二数据库的索引;并删除第一索引数据库中的新闻a、新闻b、新闻c,第一索引数据库继续接收从互联网中获得的新闻类型的数据。
[0085]假设第二天第一索引数据库中存储的新闻类型的数据为新闻X、新闻y、新闻z,当当前时间为0:00:00时,将第一索引库中的新闻X、新闻y、新闻z存储在第二索引库中;根据第二索引库中存储的新闻a、新闻b、新闻c、新闻X、新闻y、新闻z,建立针对第二数据库的索弓丨;并删除第一索引数据库中的新闻X、新闻y、新闻z,第一索引数据库继续接收从互联网中获得的新闻类型的数据。
[0086]以此类推,每天0:00:00时,均将第一索引库中的数据存储在第二索引库中,并删除前一天第一索引库中的数据,继续保存当天获得的数据,保证了第一索引库中数据的新鲜性。
[0087]在实际应用中,本发明实施例所示的S108、S109和S110也可以在图2所示实施例基础上增加。
[0088]应用本发明图3所示实施例,将第一索引库中的数据存储在第二索引库中,并删除第一索引库中的数据,继续从互联网中获得数据,保证了第一索引库中数据的新鲜性;当在第一索引数据库中检索不到数据时,在第二数据库中进行检索,提高了数据被检索到的可能性。
[0089]与上述的方法实施例相对应,本发明实施例还提供一种索引建立装置。
[0090]图4为本发明实施例提供的索引建立装置的第一种结构示意图,可以包括:第一建立模块201、获得模块202、第一存储模块203、读取模块204、添加模块205和第二建立模块206,其中,
[0091]第一建立模块201,用于预先建立针对目标数据类型的数据的第一索引库,所述第一索引库用于存储预设时间段内的所述目标数据类型的数据;
[0092]获得模块202,用于从互联网中获得所述目标数据类型的数据;
[0093]在实际应用中,本发明所示实施例的获得模块202,具体可以用于:
[0094]利用爬虫技术,实时从互联网中获得所述目标数据类型的数据。
[0095]第一存储模块203,用于将获得模块202获得的所述目标数据类型的数据存储在缓存中;
[0096]读取模块204,用于每隔预设时间,读取所述缓存中存储的所述目标数据类型的数据;
[0097]在实际应用中,预设时间,可以为一秒钟,也可以为一分钟。
[0098]添加模块205,用于将读取模块204读取到的所述目标数据类型的数据,添加在第一建立模块201建立的第一索引库中;
[0099]第二建立模块206,用于根据所述第一索引库中存储的所述目标数据类型的数据,建立针对所述第一索引库的索引。
[0100]应用本发明图4所示实施例,通过缓存机制建立索引,相比于现有技术的硬盘机制,减少了建立索引的时间,提高了建立索引的效率;并且采用秒级别或分级别机制从缓存中读取数据,在该段时间内,没有将数据添加至索引数据库,不占用系统资源,提高了该段时间内的数据检索速度。
[0101]图5为本发明实施例提供的索引建立装置的第二种结构示意图,本发明图5所示实施例在图4所示实施例的基础 上,增加:判断模块207和第二存储模块208,其中,
[0102]判断模块207,用于针对所述第一索引库中存储的每一所述目标数据类型的数据,判断该数据是否符合预设规则;
[0103]第二存储模块208,用于在判断模块207判断结果为是的情况下,将该数据存储在黑名单中。
[0104]应用本发明图5所示实施例,将符合预设规则的数据存储在黑名单中,当进行数据检索,检索到的数据与黑名单存储的数据匹配时,可以不向用户反馈检索结果,进而可以避免传播非法数据,触犯国家法律。
[0105]图6为本发明实施例提供的索引建立装置的第三种结构示意图,本发明图6所示实施例在图4所示实施例的基础上,增加:第三存储模块209、第三建立模块210和删除模块211,其中,
[0106]本发明所示实施例的第一建立模块201,还可以用于:
[0107]预先建立针对目标数据类型的数据的第二索引库,所述第二索引库用于存储所有所述目标数据类型的数据;
[0108]第三存储模块209,用于当当前时间到达所述预设时间段对应的时间截止点时,将所述第一索引库中的所述目标数据类型的数据存储在所述第二索引库中;
[0109]第三建立模块210,用于根据所述第二索引库中存储的所述目标数据类型的数据,建立针对所述第二索引库的索引;
[0110]删除模块211,用于删除所述第一索引库中的所述目标数据类型的数据,触发获得模块202。
[0111]在实际应用中,本发明所示实施例所示的第三存储模块209、第三建立模块210和删除模块211也可以在图5所示实施例的基础上增加。
[0112]应用本发明图6所示实施例,将第一索引库中的数据存储在第二索引库中,并删除第一索引库中的数据,继续从互联网中获得数据,保证了第一索引库中数据的新鲜性;当在第一索引数据库中检索不到数据时,在第二数据库中进行检索,提高了数据被检索到的可能性。
[0113]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0114]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0115]本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0116]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种索引建立方法,其特征在于,预先建立针对目标数据类型的数据的第一索引库,所述第一索引库用于存储预设时间段内的所述目标数据类型的数据;所述方法包括: 从互联网中获得所述目标数据类型的数据; 将所获得的所述目标数据类型的数据存储在缓存中; 每隔预设时间,读取所述缓存中存储的所述目标数据类型的数据; 将所读取到的所述目标数据类型的数据,添加在所述第一索引库中; 根据所述第一索引库中存储的所述目标数据类型的数据,建立针对所述第一索引库的索弓I。2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 针对所述第一索引库中存储的每一所述目标数据类型的数据,判断该数据是否符合预设规则; 如果是,将该数据存储在黑名单列表中。3.根据权利要求1所述的方法,其特征在于,预先建立针对目标数据类型的数据的第二索引库,所述第二索弓I库用于存储所有所述目标数据类型的数据;所述方法还包括: 当当前时间到达所述预设时间段对应的时间截止点时,将所述第一索引库中的所述目标数据类型的数据存储在所述第二索引库中; 根据所述第二索引库中存储的所述目标数据类型的数据,建立针对所述第二索引库的索引; 删除所述第一索引库中的所述目标数据类型的数据,继续从互联网中获得所述目标数据类型的数据。4.根据权利要求1至3任意一项所述的方法,其特征在于,所述从互联网中获得所述目标数据类型的数据,包括: 利用爬虫技术,实时从互联网中获得所述目标数据类型的数据。5.根据权利要求1至3任意一项所述的方法,其特征在于,所述预设时间,包括: 一秒钟;或一分钟。6.—种索引建立装置,其特征在于,包括:第一建立模块、获得模块、第一存储模块、读取模块、添加模块和第二建立模块,其中, 所述第一建立模块,用于预先建立针对目标数据类型的数据的第一索引库,所述第一索弓I库用于存储预设时间段内的所述目标数据类型的数据; 所述获得模块,用于从互联网中获得所述目标数据类型的数据; 所述第一存储模块,用于将所述获得模块获得的所述目标数据类型的数据存储在缓存中; 所述读取模块,用于每隔预设时间,读取所述缓存中存储的所述目标数据类型的数据;所述添加模块,用于将所述读取模块读取到的所述目标数据类型的数据,添加在所述第一建立模块建立的第一索引库中; 所述第二建立模块,用于根据所述第一索引库中存储的所述目标数据类型的数据,建立针对所述第一索引库的索引。7.根据权利要求6所述的装置,其特征在于,所述装置还包括:判断模块和第二存储模块,其中, 所述判断模块,用于针对所述第一索引库中存储的每一所述目标数据类型的数据,判断该数据是否符合预设规则; 所述第二存储模块,用于在所述判断模块判断结果为是的情况下,将该数据存储在黑名单中。8.根据权利要求6所述的装置,其特征在于,所述第一建立模块,还用于: 预先建立针对目标数据类型的数据的第二索引库,所述第二索引库用于存储所有所述目标数据类型的数据; 所述装置还包括:第三存储模块、第三建立模块和删除模块,其中, 所述第三存储模块,用于当当前时间到达所述预设时间段对应的时间截止点时,将所述第一索引库中的所述目标数据类型的数据存储在所述第二索引库中; 所述第三建立模块,用于根据所述第二索引库中存储的所述目标数据类型的数据,建立针对所述第二索引库的索引;所述删除模块,用于删除所述第一索引库中的所述目标数据类型的数据,触发获得模块。9.根据权利要求6至8任意一项所述的装置,其特征在于,所述获得模块,具体用于: 利用爬虫技术,实时从互联网中获得所述目标数据类型的数据。10.根据权利要求6至8任意一项所述的装置,其特征在于,所述预设时间,包括: 一秒钟;或一分钟。
【专利摘要】本发明实施例公开了一种索引建立方法及装置,预先建立针对目标数据类型的数据的第一索引库,所述第一索引库用于存储预设时间段内的所述目标数据类型的数据;方法包括:从互联网中获得所述目标数据类型的数据;将所获得的所述目标数据类型的数据存储在缓存中;每隔预设时间,读取所述缓存中存储的所述目标数据类型的数据;将所读取到的所述目标数据类型的数据,添加在所述第一索引库中;根据所述第一索引库中存储的所述目标数据类型的数据,建立针对所述第一索引库的索引。应用本发明实施例,可以减少建立索引的时间,提高数据检索的速度。
【IPC分类】G06F17/30
【公开号】CN105488166
【申请号】CN201510857594
【发明人】虞航仲
【申请人】北京金山安全软件有限公司
【公开日】2016年4月13日
【申请日】2015年11月30日

最新回复(0)