数据存储方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及数据检索技术领域,特别是涉及数据存储方法及装置。
【背景技术】
[0002]为了提高检索效率,服务器通常会为数据检索所依据的数据建立索引,并将索引组织在一起,形成索引库,其中,为数据检索所依据的数据建立索引通常为:从数据检索所依据的数据中提取一些信息作为索引。举例而言:对于一篇文档,所对应的索引为从该文档中提取的文字内容或者文档的属性参数,文档的属性参数可以为:作者姓名,文档类别,等等。
[0003]现有技术中,服务器通常在获得所抓取的数据后,为所抓取的数据建立索引,进而,将所抓取的数据和索引保存至缓存中;进而,在需要执行数据检索时,基于检索方所提供的检索词,将与该检索词匹配的索引对应的已抓取的数据确定为检索结果,反馈给检索方。其中,通常通过网络爬虫来在网络上抓取数据。
[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]所述第一参数值确定模块,根据预设的参数项及参数项的参数特征,在获得的已抓取的数据中查找所述参数特征,根据查找结果确定所述已抓取的数据对应的参数项的参数值;
[0050]所述数据保存模块,用于将所述已抓取的数据、所述索引及确定的参数项的参数值对应保存在缓存中。
[0051 ] 可选的,所述装置还包括:
[0052]检索信息获得模块,用于在所述数据保存模块将所述已抓取的数据、所述索引及确定的参数项的参数值对应保存在缓存中之后,获得检索词及检索方?目息;
[0053]初始结果确定模块,用于将与所述检索词匹配的索引对应的已抓取的数据确定为初始检索结果;
[0054]第一最终结果确定模块,用于根据所述检索方信息确定过滤条件,将所述初始检索结果中对应的参数项的参数值满足所述过滤条件的已抓取的数据去除,将所述初始检索结果中剩余的已抓取的数据确定为最终检索结果;
[0055]检索结果返回模块,用于将所述最终检索结果返回至检索方。
[0056]可选的,所述装置还包括:
[0057]过滤条件获得模块,用于在所述数据保存模块将所述已抓取的数据、所述索引及确定的参数项的参数值对应保存在缓存中之后,获得检索词及过滤条件;
[0058]初始结果确定模块,用于将与所述检索词匹配的索引对应的已抓取的数据确定为初始检索结果;
[0059]第二最终结果确定模块,用于将所述初始检索结果中对应的参数项的参数值满足所述过滤条件的已抓取的数据去除,将所述初始检索结果中剩余的已抓取的数据确定为最终检索结果;
[0060]检索结果返回模块,用于将所述最终检索结果返回至检索方。
[0061 ] 可选的,所述装置还包括:
[0062]第二参数值确定模块,用于在所述数据保存模块将所述已抓取的数据、所述索引及确定的参数项的参数值对应保存在缓存中之后,获得数据清理条件,根据所述数据清理条件确定所需清理的已抓取的数据对应的参数项的参数值;
[0063]数据清除模块,用于将对应所确定的参数项的参数值的已抓取的数据及索引清除。
[0064]可选的,所述装置还包括:
[0065]所述备份判断模块,用于在所述数据保存模块将所述已抓取的数据、所述索引及确定的参数项的参数值对应保存在缓存中之后,判断是否满足备份条件,如果满足,则触发所述备份t吴块;
[0066]所述备份模块,用于将所述缓存中的所述已抓取的数据及所述索引保存到硬盘中进行备份。
[0067]可选的,所述装置还包括:数据复制模块,用于在所述缓存中的所述已抓取的数据、所述索引及确定的参数项的参数值消失后,将所述硬盘中备份的所述已抓取的数据、所述索引及确定的参数项的参数值复制到所述缓存中。
[0068]可选的,所述备份模块,具体用于:对所述缓存中的所述已抓取的数据、所述索引及确定的参数项的参数值进行序列化处理,将序列化处理后生成的文件保存到硬盘中进行备份;
[0069]所述数据复制模块,具体用于:在所述缓存中的所述已抓取的数据、所述索引及确定的参数项的参数值消失后,对所述硬盘中保存的所述文件进行反序列化处理,得到所述已抓取的数据、所述索引及确定的参数