一种数据查询方法、装置及存储介质制造方法及图纸

技术编号:32488760 阅读:14 留言:0更新日期:2022-03-02 09:54
本发明专利技术涉及数据库索引技术领域,具体提供一种数据查询方法、装置及存储介质,旨在解决现有应用于elasticSearch的查询方法的查询时间较长、误差较大的问题。为此目的,本发明专利技术的数据查询方法包括下述步骤:获取用户输入的参数信息;基于参数信息获取第一索引列表和最近组合游标;利用最近组合游标在第一索引列表中查询,获得查询结果。获得查询结果。获得查询结果。

【技术实现步骤摘要】
一种数据查询方法、装置及存储介质


[0001]本专利技术涉及数据库索引
,具体提供一种数据查询方法、装置及存储介质。

技术介绍

[0002]elasticSearch是一个开源的、基于Lucene的搜索服务器,其提供了一个分布式多用户能力的全文搜索引擎。在大数据行业,elasticSearch的分布式检索功能便于数据多维度呈现、分析、预测,有利于发挥数据的价值。但是elasticSearch在使用其原生的分片方式对大量数据进行检索时,可能出现检索时间较长、统计结果存在5%的误差等情况,而且数据量越大时检索误差越大。
[0003]相应地,本领域需要一种新的应用于elasticSearch的查询方案来解决上述问题。

技术实现思路

[0004]为了克服上述缺陷,提出了本专利技术,以提供解决或至少部分地解决现有的应用于elasticSearch的查询方法的查询时间较长、误差较大的技术问题。本专利技术提供了一种数据查询方法、装置及存储介质。
[0005]在第一方面,本专利技术提供一种数据查询方法,应用于elasticSearch,包括下述步骤:获取用户输入的参数信息;基于所述参数信息获取第一索引列表和最近组合游标;基于所述最近组合游标在所述第一索引列表中查询,获得查询结果。
[0006]一个实施方式中,获取用户输入的参数信息包括获取显示条数、当前页、开始抓拍图片数据的时间、结束抓拍图片数据的时间、待查询目标设备树和查询条件。
[0007]一个实施方式中,基于所述参数信息获取第一索引列表包括:判断所述参数信息在数据库是否有缓存;若是,基于所述显示条数和当前页获取第一索引列表;若否,基于所述参数信息分别确定索引组和待查询目标设备组,并基于所述索引组和待查询目标设备组获取第一索引列表;基于所述参数信息确定索引组包括:基于所述开始抓拍图片数据的时间和结束抓拍图片数据的时间在elasticSearch中查询,得到第一查询数据;对所述第一查询数据划分索引,得到第二索引列表;基于第一预设分组大小对所述第二索引列表进行分组,得到索引组;基于所述参数信息确定待查询目标设备组包括:根据所述待查询目标设备树获取待查询目标设备列表;基于第二预设分组大小对所述待查询目标设备列表进行分组,得到待查询目标设备组;基于所述索引组和待查询目标设备组获取第一索引列表包括:利用所述待查询目标设备组中的设备ID与所述索引组的数据对应的设备ID进行设备ID匹配,并基于查询条件在匹配结果中查询,得到命中数据;基于所述显示条数和当前页从命中数据中获取第一索引列表。
[0008]一个实施方式中,基于所述参数信息获取最近组合游标包括:判断所述参数信息在数据库是否有缓存;若是,则基于所述参数信息获取最近组合游标;若否,基于所述第一索引列表获取最近组合游标。
[0009]一个实施方式中,基于所述最近组合游标在所述第一索引列表中查询,获得查询
结果包括:
[0010]S1、判断所述最近组合游标中的索引与所述第一索引列表中的开始索引是否为同一个索引组;若是,基于所述最近组合游标、索引组和待查询目标设备组在第一索引列表中查询得到第二查询数据;若否,基于所述索引组和待查询目标设备组在第一索引列表中查询得到第三查询数据;
[0011]S2、判断所述第二查询数据或第三查询数据是否满足第一预设条件;若是,则缓存所述最近组合游标,若否,则基于所述第一索引列表更新所述最近组合游标,并基于更新后的所述最近组合游标继续执行步骤S1,直至基于更新的最近组合游标、索引组和待查询目标设备组查询得到的数据满足所述第一预设条件,缓存所述更新的最近组合游标;
[0012]在所述最近组合游标对应的页码或所述更新的最近组合游标对应的页码满足第二预设条件的情况下,基于所述最近组合游标或更新的最近组合游标在所述第一索引列表中查询,获得查询结果。
[0013]一个实施方式中,所述用户输入的参数信息还包括图片数据的排序方式;基于所述最近组合游标、索引组和待查询目标设备组在第一索引列表中查询得到第二查询数据包括:基于所述最近组合游标、索引组和待查询目标设备组在第一索引列表中查询获得第一数据集,所述第一数据集包括多条数据;基于所述图片数据的排序方式对所述第一数据集排序后取前N条数据,得到第二查询数据,其中N为预设跳转条数与数据偏移量的比值;或基于所述索引组和待查询目标设备组在第一索引列表中查询得到第三查询数据包括:基于所述索引组和待查询目标设备组在第一索引列表中查询获得第二数据集,所述第二数据集包括多条数据;基于所述图片数据的排序方式对所述第二数据集排序后取前M条数据,得到第三查询数据,其中M为预设跳转条数与数据偏移量的比值。
[0014]在第二方面,提供一种数据查询系统,应用于elasticSearch,其特征在于,包括:输入模块,被配置为获取用户输入的参数信息;获取模块,被配置为基于所述参数信息获取第一索引列表和最近组合游标;查询模块,被配置为基于所述最近组合游标在所述第一索引列表中查询,获得查询结果。
[0015]一个实施方式中,所述输入模块被配置为获取显示条数、当前页、开始抓拍图片数据的时间、结束抓拍图片数据的时间、待查询目标设备树和查询条件。
[0016]一个实施方式中,所述获取模块被配置为判断所述参数信息在数据库是否有缓存;若是,基于所述显示条数和当前页获取第一索引列表;若否,基于所述参数信息分别确定索引组和待查询目标设备组,并基于所述索引组和待查询目标设备组获取第一索引列表;所述获取模块包括:索引组确定模块,被配置为基于所述开始抓拍图片数据的时间和结束抓拍图片数据的时间在elasticSearch中查询,得到第一查询数据;对所述第一查询数据划分索引,得到第二索引列表;基于第一预设分组大小对所述第二索引列表进行分组,得到索引组;设备组确定模块,被配置为根据所述待查询目标设备树获取待查询目标设备列表;基于第二预设分组大小对所述待查询目标设备列表进行分组,得到待查询目标设备组;匹配模块,被配置为利用所述待查询目标设备组中的设备ID与所述索引组的数据对应的设备ID进行设备ID匹配,并基于查询条件在匹配结果中查询,得到命中数据;基于所述显示条数和当前页从命中数据中获取第一索引列表。
[0017]一个实施方式中,所述获取模块进一步被配置为:判断所述参数信息在数据库是
否有缓存;若是,则基于所述参数信息获取最近组合游标;若否,基于所述第一索引列表获取最近组合游标。
[0018]一个实施方式中,所述查询模块包括:第一判断子模块被配置为判断所述最近组合游标中的索引与所述第一索引列表中的开始索引是否为同一个索引组;若是,基于所述最近组合游标、索引组和待查询目标设备组在第一索引列表中查询得到第二查询数据;若否,基于所述索引组和待查询目标设备组在第一索引列表中查询得到第三查询数据;所述第一判断子模块进一步被配置为基于更新的最近组合游标、索引组和待查询目标设备组查询得到第二查询数据;第二判断子模块被配置为判断所述第二查询数据或第三查本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,应用于elasticSearch,其特征在于,包括下述步骤:获取用户输入的参数信息;基于所述参数信息获取第一索引列表和最近组合游标;基于所述最近组合游标在所述第一索引列表中查询,获得查询结果。2.根据权利要求1所述的数据查询方法,其特征在于,获取用户输入的参数信息包括获取显示条数、当前页、开始抓拍图片数据的时间、结束抓拍图片数据的时间、待查询目标设备树和查询条件。3.根据权利要求2所述的数据查询方法,其特征在于,基于所述参数信息获取第一索引列表包括:判断所述参数信息在数据库是否有缓存;若是,基于所述显示条数和当前页获取第一索引列表;若否,基于所述参数信息分别确定索引组和待查询目标设备组,并基于所述索引组和待查询目标设备组获取第一索引列表;基于所述参数信息确定索引组包括:基于所述开始抓拍图片数据的时间和结束抓拍图片数据的时间在elasticSearch中查询,得到第一查询数据;对所述第一查询数据划分索引,得到第二索引列表;基于第一预设分组大小对所述第二索引列表进行分组,得到索引组;基于所述参数信息确定待查询目标设备组包括:根据所述待查询目标设备树获取待查询目标设备列表;基于第二预设分组大小对所述待查询目标设备列表进行分组,得到待查询目标设备组;基于所述索引组和待查询目标设备组获取第一索引列表包括:利用所述待查询目标设备组中的设备ID与所述索引组的数据对应的设备ID进行设备ID匹配,并基于查询条件在匹配结果中查询,得到命中数据;基于所述显示条数和当前页从命中数据中获取第一索引列表。4.根据权利要求2所述的数据查询方法,其特征在于,基于所述参数信息获取最近组合游标包括:判断所述参数信息在数据库是否有缓存;若是,则基于所述参数信息获取最近组合游标;若否,基于所述第一索引列表获取最近组合游标。5.根据权利要求2所述的数据查询方法,其特征在于,基于所述最近组合游标在所述第一索引列表中查询,获得查询结果包括:S1、判断所述最近组合游标中的索引与所述第一索引列表中的开始索引是否为同一个索引组,若是,基于所述最近组合游标、索引组和待查询目标设备组在第一索引列表中查询得到第二查询数据;若否,基于所述索引组和待查询目标设备组在第一索引列表中查询得到第三查询数据;S2、判断所述第二查询数据或第三查询数据是否满足第一预设条件;若是,则缓存所述最近组合游标,若否,则基于所述第一索引列表更新所述最近组合游标,并基于更新后的所述最近组合游标继续执行步骤S1,直至基于更新的最近组合游标、索引组和待查询目标设备组查询得到的所述第二查询数据或所述第三查询数据满足所述第一预设条件,缓存所述更新的最近组合游标;
在所述最近组合游标对应的页码或所述更新的最近组合游标对应的页码满足第二预设条件的情况下,基于所述最近组合游标或更新的最近组合游标在在所述第一索引列表中查询,获得查询结果。6.根据权利要求5所述的数据查询方法,其特征在于,所述用户输入的参数信息还包括图片数据的排序方式;“基于所述最近组合游标、索引组和待查询目标设备组在第一索引列表中查询得到第二查询数据”的步骤包括:基于所述最近组合游标、索引组和待查询目标设备组在第一索引列表中查询获得第一数据集,所述第一数据集包括多条数据;基于所述图片数据的排序方式对所述第一数据集排序后取前N条数据,得到所述第二查询数据,其中N为预设跳转条数与数据偏移量的比值;“基于所述索引组和待查询目标设备组在第一索引列表中查询得到第三查询数据”的步骤包括:基于所述索引组和待查询目标设备组在第一索引列表中查询获得第二数据集,所述第二数据集包括多条数据;基于所述图片数据的排序方式对所述第二数据集排序后取前M条数据,得到所述第三查询数据,其中M为预设跳转条数与数据偏移量的比值。7.一种数据查询系统,应用于elasticSearch,其特征在于,包括:输入模块,被配置为获取用户输入的参数信息;获取模块,被配置为...

【专利技术属性】
技术研发人员:刘宝川侯朝能关健杰孙进
申请(专利权)人:江苏云从曦和人工智能有限公司
类型:发明
国别省市:

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

1