数据存储方法及装置的制造方法_2

文档序号:9750909阅读:来源:国知局

[0067]第二参数值确定模块,用于在所述数据保存模块将所述已抓取的数据、所述索引及确定的参数项的参数值对应保存在缓存中之后,获得数据清理条件,根据所述数据清理条件确定所需清理的已抓取的数据对应的参数项的参数值;
[0068]数据清除模块,用于将对应所确定的参数项的参数值的已抓取的数据及索引清除。
[0069]可选的,所述服务器的缓存中存储有第一索引库和第二索引库,所述数据保存模块,包括:
[0070]第一更新子模块,用于对所述第一索引库进行更新,将所述已抓取的数据及所述索引更新到所述第一索引库中,在所述第一索引库进行更新时,使用所述第二索引库进行检索;
[0071]第二更新子模块,用于在所述第一索引库更新完毕后,对所述第二索引库进行更新,将所述已抓取的数据及所述索引更新到所述第二索引库中。
[0072]可选的,所述服务器的缓存中存储有至少一个索引库,所述数据保存模块,具体用于:生成包含所述已抓取的数据及所建立的索引的新索引库并将所述新索引库存储在所述缓存中;
[0073]所述装置还包括:第一索引查找模块和第一结果输出模块,
[0074]所述第一索引查找模块,用于获得检索词,在所述缓存中存储的各索引库中查找与所述检索词匹配的索引;
[0075]所述第一结果输出模块,用于将查找到索引对应的已抓取的数据作为检索结果输出。
[0076]可选的,所述服务器中存储有总索引库和分索引库,所述数据保存模块,具体用于:将所述已抓取的数据及建立的索引保存在所述分索引库中;
[0077]所述装置还包括:第二索引查找模块、第二结果输出模块、入库判断模块和入库模块,
[0078]所述第二索引查找模块,用于获得检索词,在所述分索引库和所述总索引库中查找与所述检索词匹配的索引,如果查找到,则触发所述第二结果输出模块;
[0079]所述第二结果输出模块,用于将查找到索引对应的已抓取的数据作为检索结果输出;
[0080]所述入库判断模块,用于判断所述分索引库是否满足入库条件,如果是,则触发所述入库模块;
[0081]所述入库模块,用于将所述分索引库中的数据转移至所述总索引库中。
[0082]本发明实施例中,服务器在获得已抓取的数据后,对所述已抓取的数据建立索引;将所述已抓取的数据及所述索引保存在缓存中;判断是否满足备份条件,如果满足,则将所述缓存中的所述已抓取的数据及所述索引保存到硬盘中进行备份。与现有技术相比,本方案将缓存中的已抓取的数据及索引保存到硬盘中进行备份,由于硬盘具有非易失性特性且存储性能较为稳定,因此,能够实现数据检索所依据的相关数据的持久性,从而保证数据检索过程地有效进行。
【附图说明】
[0083]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0084]图1为本发明实施例所提供的一种数据存储方法的流程图;
[0085]图2为本发明实施例所提供的一种数据存储方法的另一流程图;
[0086]图3为本发明实施例所提供的一种数据存储方法的另一流程图;
[0087]图4为本发明实施例所提供的一种数据存储装置的结构示意图;
[0088]图5为本发明实施例所提供的一种数据存储装置的另一结构示意图;
[0089]图6为本发明实施例所提供的一种数据存储装置的另一结构示意图。
【具体实施方式】
[0090]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0091]为了实现数据检索所依据的相关数据的持久性,从而保证数据检索过程地有效进行,本发明实施例提供了一种数据存储方法及装置。
[0092]下面首先对本发明实施例所提供的一种数据存储方法进行介绍。
[0093]需要说明的是,本发明实施例所提供的一种数据存储方法应用于服务器中。
[0094]如图1所示,本发明实施例提供了一种数据存储方法,可以包括如下步骤:
[0095]SlOl,获得已抓取的数据;
[0096]其中,服务器可以多次获得已抓取的数据,并在每次获得已抓取的数据后,执行后续的S102-S103,具体的,所述已抓取的数据可以为:网络爬虫从网络上所抓取的数据。
[0097]可以理解的是,网络爬虫可以根据预设的爬取规则从网络上爬取数据,以用于数据检索过程,其中,网络爬虫从网络上爬取数据的具体实现方式可以依据现有技术中的网络爬虫爬取数据的实现方式,在此不做赘述。
[0098]并且,服务器获得已抓取的数据具体可以包括:接收网络爬虫定时上传的已抓取的数据,或者,定时向网络爬虫请求获得其已抓取的数据,这都是合理的。
[0099]S102,对所述已抓取的数据建立索引;
[0100]其中,在获得已抓取的数据后,可以对所述已抓取的数据建立索引,以便后续的数据检索过程为:基于索引的数据检索过程,提高检索效率。
[0101]其中,对所述已抓取的数据建立索引的具体实现方式可以采用现有技术中的实现方式,举例而言:可以采用现有的倒排表方式来对所述已抓取的数据建立索引,当然并不局限于此。
[0102]S103,将所述已抓取的数据及所述索引保存在缓存中;
[0103]在对所述已抓取的数据建立索引后,可以将所述已抓取的数据及所述索引保存在缓存中,以便后续利用缓存中的索引及所对应的数据来执行数据检索过程,提高检索效率。
[0104]需要再次强调的是,为了不断完善数据检索所依据的相关数据的全面性,可以多次获得已抓取的数据,进而,在每次获得所述已抓取的数据后,均对所述已抓取的数据建立索引,并将所述已抓取的数据及所述索引保存在缓存中。
[0105]可以理解的是,所述已抓取的数据及所述索引在缓存中的具体的存储形式可以参照现有技术中的存储形式,在此不做限定。
[0106]S104,判断是否满足备份条件,如果满足,触发执行S105;否则,不作处理;
[0107]由于将所述已抓取的数据及所述索引保存在缓存中,这样,当服务器发生断电或故障时,缓存中的相关数据会消失或存在异常,这样无疑会影响数据检索过程的有效进行,因此,为了避免由于缓存中的相关数据消失或存在异常而导致数据检索无法进行的问题,可以在符合备份条件时,将缓存中的相关数据保存到硬盘中进行备份,以实现数据检索所依据的相关数据的持久性。
[0108]基于上述备份思想,服务器可以判断是否满足备份条件,并根据判断结果执行相应的操作,具体的,当判断出满足备份条件时,表明可以对缓存中的相关数据进行备份,因此,可以执行S105;而当判断出满足备份条件时,表明无需对缓存中的相关数据进行备份,因此,可以不作处理。
[0109]具体的,所述备份条件可以为:获得备份指令,其中,备份指令可以由系统自动发出或人工发出;或者,所述备份条件可以为:检测到系统时间为预定备份时间;或者,所述备份条件可以为:缓存中的相关数据的数据量超过预定阈值。可以理解的是,本实施例中所给出的备份条件仅仅作为示例,并不应该构成对本发明实施例的限定。
[0110]需要说明的是,所谓缓存中的相关数据为:缓存中的所述已抓取的数据以及所述索引,为了引用方便,将缓存中的所述已抓取的数据以及所述索引两者合称为缓存中的相关数据。
[0111]S105,将所述缓存中的所述已抓取的数据及所述索引保存到硬盘中进行备份。
[0112]在判断出满足备份条件时,可以将所述缓存中的所述已抓取的数据及所述索引保存到硬盘中进行备份,由于硬盘具有非易失性特性且存储性能较为稳定,因此,能够实现数据检索所依据的相关数据的持久化。
[0113]其中,缓存中的所述已抓取的数据及所述索引在硬盘中的具体存储形式可以根据实际情况进行设定,本发明实施例对此不做限定。
[0114]本发明实施例中,服务器在获得已抓取的数据后,对所述已抓取的数据建立索引;将所述已抓取的数据及所述索引保存在缓存中;判断是否满足备份条件,如果满足,则将所述缓存中的所述已抓取的数据及所述索引保存到硬盘中进行备份。与现有技术相比,本方案将缓存中的已抓取的数据及索引保存到硬盘中进行备份,由于硬盘具有非易失性特性且存储性能较为稳定,因此,能够实现数据检索所依据的相关数据的持久性,从而保证数据检索过程地有效进行。
[0115]更进一步的,基于包含步骤S101-S105的实施例,如图2所示,本发明另一实施例所提供的数据存储方法,还可以包括如下步骤:
[0116]S106,在所述缓存中的所述已抓取的数据及所述索引消失后,将所述硬盘中备份的所述已抓取的数据及所述索引复制到所述缓存中。
[0117]由于为了较高的数据检索效率,数据检索过程中,服务器可以利用缓存中的相关数据进行数据检索,因此,在所述缓存中的所述已抓取的数据及所述索引消失后,可以将所述硬盘中备份的所述已抓取的数据及所述索引复制到所述缓存中,从而保证数据检索的检索效率。
[0118]需要说明的是,为了提高传输效率和存储效率,在一种实现方式中,所述将所述缓存中的所述已抓取的数据及所述索引保存到硬盘中进行备份,可以包括:对所述缓存中的已抓取的数据及所述索引进行序列化处理,将序列化处理后生成的文件
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1