一种高效的多层级数据查询方法、系统、设备及介质与流程

未命名 07-20 阅读:102 评论:0


1.本发明涉及查询技术领域,具体涉及一种高效的多层级数据查询方法、系统、设备及介质。


背景技术:

2.当前互联网时代下,所有数据量都几乎呈爆炸式增长,大量的数据存储以及查询、聚合都显得尤为重要。
3.多层级数据是类似于目录结构,具有上下级关系的数据,目前,针对大数据量(10000+)的查询,一般是一次性请求加载完所有数据,没有分页、而且不支持关键字检索,客户端根据服务端返回的数据去渲染数据的层级关系,当数据量很大的时候服务端接口耗时也是数量级的增加,很容易接口出现超时。


技术实现要素:

4.针对现有技术中的缺陷,本发明提供一种高效的多层级数据查询方法、系统、设备及介质,以解决现有大数据量查询耗时长、容易出现超时的问题。
5.第一方面,一种高效的多层级数据查询方法,包括:
6.获取客户端发送的数据查询请求,所述数据查询请求包括分页参数和历史查询参数;
7.根据所述数据查询请求从elasticsearch获取元数据,根据所述元数据从redis获取查询结果数据,将所述查询结果数据封装并返回给所述客户端。
8.优选的,所述根据所述数据查询请求从elasticsearch获取元数据,根据所述元数据从redis获取查询结果数据包括:
9.根据所述数据查询请求从redis的多个elasticsearch索引中确定出目标elasticsearch索引;
10.根据所述目标elasticsearch索引获取目标元数据;
11.根据所述目标元数据从redis中获取查询结果数据。
12.优选的,所述根据所述目标元数据从redis中获取查询结果数据包括:
13.根据所述分页参数、历史查询参数以及目标元数据,从redis中获取查询结果数据。
14.优选的,所述根据所述目标elasticsearch索引获取目标元数据包括:
15.通过滚动查询的方法从所述目标elasticsearch索引获取目标元数据。
16.优选的,还包括:当数据发生变更时,触发数据同步,把数据同步到新的elasticsearch索引中,并将数据与新的elasticsearch索引的映射关系同步到redis中。
17.优选的,所述变更包括数据新增、修改和删除。
18.第二方面,一种高效的多层级数据查询方系统,包括:
19.获取模块,用于获取客户端发送的数据查询请求,所述数据查询请求包括分页参
数和历史查询参数;
20.查询模块,用于根据所述数据查询请求从elasticsearch获取元数据,根据所述元数据从redis获取查询结果数据,将所述查询结果数据封装并返回给所述客户端。
21.第三方面,一种电子设备,包括:处理器和存储器,所述存储器具有存储有程序代码的介质,当所述处理器读取所述介质存储的程序代码时,所述电子设备能够上述实施例中任一项所述的方法。
22.第四方面,一种存储介质,所述存储介质存储有程序代码,所述程序代码被处理器运行时执行上述实施例中任一项所述的方法
23.本发明的有益效果体现在:本发明对elasticsearch索引以及redis进行了优化,基于elasticsearch索引,根据用户需求,完成redis中数据的查询,生成查询数据结果,从而实现数据快速查询,并优化了查询的效率,且对于现有复杂业务数据检索方法的优化,提高了该优化方法的检索效率,同时降低了对数据接口的需求。
附图说明
24.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
25.图1为本发明实施例所提供的一种高效的多层级数据查询方法的流程示意图;
26.图2为为本发明实施例所提供的一种高效的多层级数据查询系统的结构示意图;
27.图3为本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
28.下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
29.需要注意的是,除非另有说明,本技术使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
30.实施例一
31.如图1所示,图1为本发明实施例所提供的一种高效的多层级数据查询方法的流程示意图,所述方法包括:
32.步骤一:获取客户端发送的数据查询请求,所述数据查询请求包括分页参数和历史查询参数;
33.需要说明的,本发明实施例在进行数据查询之前需要创建若干elasticsearch索引,通过若干elasticsearch索引分解一个索引的检索压力。
34.具体的,当数据发送变更时,所述变更包括但不限于新增、删除、修改,需要从没有使用的elasticsearch索引中选出一个同步相关元数据到elasticsearch索引中,在数据同步后,需要删除数据之前所对应的elasticsearch索引,并将该数据与新的elasticsearch索引映射关系写一份到当redis中。
35.采用上述方法,构建elasticsearch索引,为数据查询提供了基础支持。
36.步骤二:根据所述数据查询请求从elasticsearch获取元数据,根据所述元数据从redis获取查询结果数据,将所述查询结果数据封装并返回给所述客户端。
37.在本发明实施例中,所述根据所述数据查询请求从elasticsearch获取元数据,根据所述元数据从redis获取查询结果数据包括:根据所述数据查询请求从redis的多个elasticsearch索引中确定出目标elasticsearch索引;从所述目标elasticsearch索引获取目标元数据;根据所述目标元数据从redis中获取查询结果数据。具体的,所述根据所述目标元数据从redis中获取查询结果数据包括:根据所述分页参数、历史查询参数以及目标元数据,从redis中获取查询结果数据。具体的,所述根据所述目标elasticsearch索引获取目标元数据包括:通过滚动查询的方法从所述目标elasticsearch索引获取目标元数据。
38.还需要说明的,所述分页参数用于指示每次查询的加载量,所述历史查询参数用于指示上次查询的数据位置,通过分页参数以及查询结果参数能够快速定位查询数据的起始位置,实现了数据的按需加载。当客户端接收到返回的查询结构数据后再进行数据层级关系渲染、是否可以加载更多数据等操作。
39.综上,本发明实施例所提供的一种高效的多层级数据查询方法,对elasticsearch索引以及redis进行了优化,基于elasticsearch索引,根据用户需求,完成redis中数据的查询,生成查询数据结果,从而实现数据快速查询,并优化了查询的效率,且对于现有复杂业务数据检索方法的优化,提高了该优化方法的检索效率,同时降低了对数据接口的需求。
40.实施例二
41.如图2所示,图2为本发明实施例所提供的一种高效的多层级数据查询方系统的结构示意图,所示系统包括:获取模块100,用于获取客户端发送的数据查询请求,所述数据查询请求包括分页参数和历史查询参数;查询模块200,用于根据所述数据查询请求从elasticsearch获取元数据,根据所述元数据从redis获取查询结果数据,将所述查询结果数据封装并返回给所述客户端。
42.应当理解,本发明实施例所提供的一种高效的多层级数据查询系统与上述实施例所提供的一种高效的多层级数据查询方法出于相同的发明构思,关于本发明实施例中各个模块更加具体的工作原理可参考上述实施例在,在本发明实施例中不做赘述。
43.实施例三
44.如图3所示,图3为本发明实施例所提供的一种电子设备的结构示意图,包括:处理器和存储器,所述存储器具有存储有程序代码的介质,当所述处理器读取所述介质存储的程序代码时,所述电子设备能够上述实施例任一项所述的方法。
45.其中,存储器可以包括易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者;处理器可以是中央处理器、微处理器、特定应用集成电路、可编程逻辑器件或其组合。通过示例性但不是限制性说明,上述可编程逻辑器件可以是复杂可编程逻辑器件、现场可编程逻辑门阵列、通用阵列逻辑或其任意组合。
46.另外,存储器可以是物理上独立的单元,也可以与处理器集成在一起。
47.本领域普通技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有相同的部件布置。
48.相应地,本发明实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的一种高效的多层级数据查询方方法。
49.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

技术特征:
1.一种高效的多层级数据查询方法,其特征在于,包括:获取客户端发送的数据查询请求,所述数据查询请求包括分页参数和历史查询参数;根据所述数据查询请求从elasticsearch获取元数据,根据所述元数据从redis获取查询结果数据,将所述查询结果数据封装并返回给所述客户端。2.根据权利要求1所述的一种高效的多层级数据查询方法,其特征在于,所述根据所述数据查询请求从elasticsearch获取元数据,根据所述元数据从redis获取查询结果数据包括:根据所述数据查询请求从redis的多个elasticsearch索引中确定出目标elasticsearch索引;根据所述目标elasticsearch索引获取目标元数据;根据所述目标元数据从redis中获取查询结果数据。3.根据权利要求2所述的一种高效的多层级数据查询方法,其特征在于,所述根据所述目标元数据从redis中获取查询结果数据包括:根据所述分页参数、历史查询参数以及目标元数据,从redis中获取查询结果数据。4.根据权利要求1所述的一种高效的多层级数据查询方法,其特征在于,所述根据所述目标elasticsearch索引获取目标元数据的包括:通过滚动查询的方法从所述目标elasticsearch索引获取目标元数据。5.根据权利要求1所述的一种高效的多层级数据查询方法,其特征在于,还包括:当数据发生变更时,触发数据同步,把数据同步到新的elasticsearch索引中,并将数据与新的elasticsearch索引的映射关系同步到redis中。6.根据权利要求5所述的一种高效的多层级数据查询方法,其特征在于,所述变更包括数据新增、修改和删除。7.一种高效的多层级数据查询方系统,其特征在于,包括:获取模块,用于获取客户端发送的数据查询请求,所述数据查询请求包括分页参数和历史查询参数;查询模块,用于根据所述数据查询请求从elasticsearch获取元数据,根据所述元数据从redis获取查询结果数据,将所述查询结果数据封装并返回给所述客户端。8.根据权利要求1所述的一种高效多层级数据查询系统,其特征在于,所述查询模块具体用于:根据所述数据查询请求从redis的多个elasticsearch索引中确定出目标elasticsearch索引;根据所述目标elasticsearch索引获取目标元数据;根据所述目标元数据从redis中获取查询结果数据。9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器具有存储有程序代码的介质,当所述处理器读取所述介质存储的程序代码时,所述电子设备能够执行权利要求1-6任一项所述的方法。10.一种存储介质,其特征在于,所述存储介质存储有程序代码,所述程序代码被处理器运行时执行上述权利要求1-6中任一项所述的方法。

技术总结
本发明公开了一种高效的多层级数据查询方法、系统、设备及介质,涉及数据查询技术领域,所述方法包括:获取客户端发送的数据查询请求;根据所述数据查询请求从elasticsearch获取元数据,根据所述元数据从redis获取查询结果数据,将所述查询结果数据封装并返回给所述客户端。本发明对Elasticsearch索引以及redis进行了优化,基于Elasticsearch索引,根据用户需求,完成redis中数据的查询,生成查询数据结果,从而实现数据快速查询,并优化了查询的效率,且对于现有复杂业务数据检索方法的优化,提高了该优化方法的检索效率,同时降低了对数据接口的需求。了对数据接口的需求。了对数据接口的需求。


技术研发人员:简仁贤 刘兵兵
受保护的技术使用者:竹间智能科技(上海)有限公司
技术研发日:2023.03.15
技术公布日:2023/7/18
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐