一种ES更新数据的优化方法及服务端技术

技术编号:22260984 阅读:72 留言:0更新日期:2019-10-10 14:06
本发明专利技术公开了一种ES更新数据的优化方法及服务端,获取索引数据更新信息,将索引数据更新信息更新至实时数据库单元;判断是否达到预设更新时间,若是,则将实时数据库单元里的索引数据更新信息更新至全量数据库单元;本发明专利技术通过实时数据库单元进行索引数据更新,然后再定时更新到全量数据库单元中,保证了全量数据库单元的数据完整性,同时,系统基于全量数据库单元和实时数据库单元进行数据查询时,由于同时进行索引更新和数据查询的实时数据库单元中的数据量较小,故而在进行数据更新时,对于用户的查询效率的影响要远小于现有技术,从而实现在大数据量的情况下,同时支持数据的快速更新与高效查询。

An Optimized Method of ES Updating Data and Service Side

【技术实现步骤摘要】
一种ES更新数据的优化方法及服务端
本专利技术涉及ES
,特别涉及一种ES更新数据的优化方法及服务端。
技术介绍
ElasticSearch,简称ES,它是一个基于Lucene的搜索服务器。它基于RESTfulweb接口并提供了一个分布式多用户能力的全文搜索引擎,ElasticSearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。在现有的很多项目中,其索引存储都是使用ES,以此来加快查询的效率。虽然在大多数情况下,ES的查询效率很高且用到ES的项目也能够基本完成相关的查询功能。比如数据量在10亿级别量级之内,则基本上能够完成绝大多数项目的要求,索引的查询以及相关更新操作也都能正常进行。但是,在高并发请求的应用场景下,如果数据量继续增大,在进行索引数据更新时,则会占用服务器一定的时间和资源,从而影响了用户的查询效率,使得使用ES的项目无法达到快速的数据查询。
技术实现思路
本专利技术所要解决的技术问题是:提供一种ES更新数据的优化方法及服务端,以使得在大数据量情况下,支持数据的快速更新与高效查询。为了解决上述技术问题,本专利技术采用的技术方案为:一种ES更新数据的优化方法,包括步骤:S1、获取索引数据更新信息,将所述索引数据更新信息更新至实时数据库单元;S2、判断是否达到预设更新时间,若是,则将所述实时数据库单元里的所述索引数据更新信息更新至全量数据库单元。为了解决上述技术问题,本专利技术采用的另一种技术方案为:一种ES更新数据的优化服务端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:S1、获取索引数据更新信息,将所述索引数据更新信息更新至实时数据库单元;S2、判断是否达到预设更新时间,若是,则将所述实时数据库单元里的所述索引数据更新信息更新至全量数据库单元。本专利技术的有益效果在于:一种ES更新数据的优化方法及服务端,通过实时数据库单元进行索引数据更新,然后再定时更新到全量数据库单元中,保证了全量数据库单元的数据完整性,同时,系统基于全量数据库单元和实时数据库单元进行数据查询时,由于同时进行索引更新和数据查询的实时数据库单元中的数据量较小,故而在进行数据更新时,对于用户的查询效率的影响要远小于现有技术,从而实现在大数据量的情况下,同时支持数据的快速更新与高效查询。附图说明图1为本专利技术实施例的一种ES更新数据的优化方法的流程示意图;图2为本专利技术实施例的一种ES更新数据的优化服务端的结构示意图;图3为本专利技术实施例的一种ES更新数据的优化服务端与其他模块的连接示意图。标号说明:1、一种ES更新数据的优化服务端;2、处理器;3、存储器。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。请参照图1,一种ES更新数据的优化方法,包括步骤:S1、获取索引数据更新信息,将所述索引数据更新信息更新至实时数据库单元;S2、判断是否达到预设更新时间,若是,则将所述实时数据库单元里的所述索引数据更新信息更新至全量数据库单元。从上述描述可知,本专利技术的有益效果在于:通过实时数据库单元进行索引数据更新,然后再定时更新到全量数据库单元中,保证了全量数据库单元的数据完整性,同时,系统基于全量数据库单元和实时数据库单元进行数据查询时,由于同时进行索引更新和数据查询的实时数据库单元中的数据量较小,故而在进行数据更新时,对于用户的查询效率的影响要远小于现有技术,从而实现在大数据量的情况下,同时支持数据的快速更新与高效查询。进一步地,所述步骤S1具体为:S1、获取索引数据更新信息,将所述索引数据更新信息更新至小时数据库单元;所述步骤S1与所述步骤S2之间还包括步骤:S20、判断当前时间和前一小时更新时间的时间差是否超过一小时,若是,则将所述小时数据库单元里的所述索引数据更新信息更新至日数据库单元;所述步骤S2具体为:S2、判断当前时间和前一日更新时间的时间差是否超过一天,若是,则将所述日数据库单元里的所述索引数据更新信息更新至全量数据库单元。从上述描述可知,即通过细分日数据库单元和小时数据库单元,当索引数据进行更新时,只实时更新小时数据库单元里的数据,然后定时更新到日数据库单元,日数据库单元再定时更新到全量数据库单元。当将日数据库单元更新至全量数据库单元时,由于是通过批量更新索引的操作来进行,总体请求次数比现有的频繁更新索引的次数要少很多。另外对于短时间内多次更新同一条索引,本申请只需要在一天的时间内只进行更新一次,相对现有的频繁更新索引来说,故而本申请对于高并发请求的影响要远小于现有技术,从而能提高用户的查询效率。进一步地,所述步骤S2还包括:在所述索引数据更新信息更新至全量数据库单元完毕之后,删除所述实时数据库单元里的所述索引数据更新信息。从上述描述可知,在更新完之后,删掉实时数据库单元里的数据,以减小实时数据库单元的存储压力,同时也使得下一次更新不会受到上一次更新的影响,保证了更新速度和更新准确性。进一步地,还包括步骤:S3、获取数据查询请求,从所述全量数据库单元中获取全量查询结果,从所述实时数据库单元中获取实时查询结果;S4、判断所述全量查询结果与所述实时查询结果是否存在相同的第一ID,若存在,则将所述实时查询结果中所述第一ID所对应的数据覆盖掉所述全量查询结果中所述第一ID所对应的数据,得到已更新查询结果;S5、返回所述已更新查询结果。从上述描述可知,即当进行数据查询时,为了保证客户查询的数据是最新的,会从全量数据库单元和实时数据库单元中进行查询并去重,虽然实时数据库单元是在同时进行索引数据更新以及数据查询,但是实时数据库单元的数据量非常小,故而在进行索引数据更新的同时对于数据查询的影响也非常小,其两次的数据查询再加去重也会比频繁更新索引而引起的延迟要更加高效。进一步地,所述步骤S4具体为:将所述全量查询结果与所述实时查询结果放入至set集合,以得到已更新查询结果。其中,set集合包括HashSet、LinkedHashSet以及TreeSet,HashSet的特点是无序且集合中的元素不重复,LinkedHashSet是有序的HashSet,TreeSet能自动去重排序,无论是其中哪一种,都具有去重功能,能够对所有的查询结果进行覆盖,以保证得到最新的查询结果。从上述描述可知,通过set集合来自动进行覆盖操作,保证数据查询的效率。请参照图2以及图3,一种ES更新数据的优化服务端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:S1、获取索引数据更新信息,将所述索引数据更新信息更新至实时数据库单元;S2、判断是否达到预设更新时间,若是,则将所述实时数据库单元里的所述索引数据更新信息更新至全量数据库单元。从上述描述可知,本专利技术的有益效果在于:通过实时数据库单元进行索引数据更新,然后再定时更新到全量数据库单元中,保证了全量数据库单元的数据完整性,同时,系统基于全量数据库单元和实时数据库单元进行数据查询时,由于同时进行索引更新和数据查询的实时数据库单元中的数据量本文档来自技高网
...

【技术保护点】
1.一种ES更新数据的优化方法,其特征在于,包括步骤:S1、获取索引数据更新信息,将所述索引数据更新信息更新至实时数据库单元;S2、判断是否达到预设更新时间,若是,则将所述实时数据库单元里的所述索引数据更新信息更新至全量数据库单元。

【技术特征摘要】
1.一种ES更新数据的优化方法,其特征在于,包括步骤:S1、获取索引数据更新信息,将所述索引数据更新信息更新至实时数据库单元;S2、判断是否达到预设更新时间,若是,则将所述实时数据库单元里的所述索引数据更新信息更新至全量数据库单元。2.根据权利要求1所述的一种ES更新数据的优化方法,其特征在于,所述步骤S1具体为:S1、获取索引数据更新信息,将所述索引数据更新信息更新至小时数据库单元;所述步骤S1与所述步骤S2之间还包括步骤:S20、判断当前时间和前一小时更新时间的时间差是否超过一小时,若是,则将所述小时数据库单元里的所述索引数据更新信息更新至日数据库单元;所述步骤S2具体为:S2、判断当前时间和前一日更新时间的时间差是否超过一天,若是,则将所述日数据库单元里的所述索引数据更新信息更新至全量数据库单元。3.根据权利要求1所述的一种ES更新数据的优化方法,其特征在于,所述步骤S2还包括:在所述索引数据更新信息更新至全量数据库单元完毕之后,删除所述实时数据库单元里的所述索引数据更新信息。4.根据权利要求1所述的一种ES更新数据的优化方法,其特征在于,还包括步骤:S3、获取数据查询请求,从所述全量数据库单元中获取全量查询结果,从所述实时数据库单元中获取实时查询结果;S4、判断所述全量查询结果与所述实时查询结果是否存在相同的第一ID,若存在,则将所述实时查询结果中所述第一ID所对应的数据覆盖掉所述全量查询结果中所述第一ID所对应的数据,得到已更新查询结果;S5、返回所述已更新查询结果。5.根据权利要求4所述的一种ES更新数据的优化方法,其特征在于,所述步骤S4具体为:将所述全量查询结果与所述实时查询结果放入至set集合,以得到已更新查询结果。6.一种ES更新数据的优化服务端,包括存储器、处理器及存...

【专利技术属性】
技术研发人员:刘德建林伟郭玉湖
申请(专利权)人:福建天泉教育科技有限公司
类型:发明
国别省市:福建,35

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

1