数据查询方法、装置、电子设备和存储介质制造方法及图纸

技术编号:35648538 阅读:20 留言:0更新日期:2022-11-19 16:42
本公开提供了一种数据查询方法、装置、电子设备和存储介质,涉及云计算、云存储和大数据等技术领域,具体实现方案为:从分布式索引库中查询与查询条件匹配的多个索引,并将多个索引写入分布式集群中的分布式消息队列;从分布式消息队列中获取未带标记的第一索引,并从分布式数据库中查询与第一索引匹配的第一业务数据;响应于查询到第一业务数据,通过分布式集群对分布式消息队列中的第一索引进行标记。由此,可以避免在设备宕机或实例迁移时从分布式消息队列中获取已带标记的索引,而导致业务数据重复查询并获取的情况,从而可提升数据的查询效率,及降低资源占用。及降低资源占用。及降低资源占用。

【技术实现步骤摘要】
数据查询方法、装置、电子设备和存储介质


[0001]本公开涉及人工智能
,具体涉及云计算、云存储和大数据等
,尤其涉及一种数据查询方法、装置、电子设备和存储介质。

技术介绍

[0002]随着互联网技术和信息技术的不断发展,企业产生的业务数据日益膨胀。海量的业务数据可以存储分布式数据库中,例如,可以将结构化的业务数据(比如键值对(key

value,简称KV)形式的业务数据)存储于分布式数据库中,该分布式数据库又可以称为KV库。
[0003]为了提升业务数据的查询效率,如何实现快速地从分布式数据库中查询所需的业务数据,是非常重要的。

技术实现思路

[0004]本公开提供了一种数据查询方法、装置、电子设备和存储介质。
[0005]根据本公开的一方面,提供了一种数据查询方法,包括:
[0006]获取查询条件,并从分布式索引库中查询与所述查询条件匹配的多个索引;其中,所述分布式索引库用于存储分布式数据库中各业务数据对应的索引;
[0007]将所述多个索引写入分布式集群中的分布式消息队列;
[0008]从所述分布式消息队列中获取未带标记的第一索引,并从所述分布式数据库中查询与所述第一索引匹配的第一业务数据;
[0009]响应于查询到所述第一业务数据,通过所述分布式集群对所述分布式消息队列中的所述第一索引进行标记。
[0010]根据本公开的另一方面,提供了一种数据查询装置,包括:
[0011]查询模块,用于获取查询条件,并从分布式索引库中查询与所述查询条件匹配的多个索引;其中,所述分布式索引库用于存储分布式数据库中各业务数据对应的索引;
[0012]写入模块,用于将所述多个索引写入分布式集群中的分布式消息队列;
[0013]获取模块,用于从所述分布式消息队列中获取未带标记的第一索引,并从所述分布式数据库中查询与所述第一索引匹配的第一业务数据;
[0014]发送模块,用于响应于查询到所述第一业务数据,通过所述分布式集群对所述分布式消息队列中的所述第一索引进行标记。
[0015]根据本公开的又一方面,提供了一种电子设备,包括:
[0016]至少一个处理器;以及
[0017]与所述至少一个处理器通信连接的存储器;其中,
[0018]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开上述一方面提出的数据查询方法。
[0019]根据本公开的再一方面,提供了一种计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开上述一方面提出的数据查询方法。
[0020]根据本公开的还一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开上述一方面提出的数据查询方法。
[0021]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0022]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0023]图1为相关技术中的数据查询和传输流程示意图;
[0024]图2为本公开实施例一所提供的数据查询方法的流程示意图;
[0025]图3为本公开实施例二所提供的数据查询方法的流程示意图;
[0026]图4为本公开实施例三所提供的数据查询方法的流程示意图;
[0027]图5为本公开实施例四所提供的数据查询方法的流程示意图;
[0028]图6为本公开实施例五所提供的数据查询方法的流程示意图;
[0029]图7是本公开任一实施例的实现原理示意图;
[0030]图8为本公开实施例六所提供的数据查询装置的结构示意图;
[0031]图9示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
[0032]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0033]目前,对于KV型的分布式数据库(Data Base,简称DB),可以通过各业务数据的rowkey(行键)来查询分布式数据库中存储的业务数据。具体地,业务数据的查询方式可以如图1所示,在扫描分布式数据库中各页数据时,可以根据上一页数据返回的rowkey标识,来扫描本页数据。
[0034]然而,上述方式只能单线程获取数据,分布式数据库中各数据只能顺序扫描,数据查询效率较低,无法提升数据下发的QPS(Queries

per

second,每秒查询率)。
[0035]并且,在数据扫描过程中,如果出现实例迁移或者机器宕机,则数据传输将中断,需要执行重试机制,从头到尾重新扫描数据,并将扫描到的数据发送至其它资源方,效率较低。
[0036]即图1中存在以下问题:
[0037]第一,当从分布式数据库中获取海量的业务数据,并将获取的业务数据从一个业务部门传输至另一个业务部门的过程中,QPS不可控,忽大忽小;
[0038]第二,当待查询的业务数据的数据量较大时,不仅数据传输耗时较长,且如果负责传输的机器出现迁移或者宕机,则需要重新传输所有的业务数据,导致业务数据的传输效率较低、传输的业务数据发生重复、浪费资源。
[0039]因此,针对上述存在的至少一项问题,本公开提出一种数据查询方法、装置、电子设备和存储介质。
[0040]下面参考附图描述本公开实施例的数据查询方法、装置、电子设备和存储介质。
[0041]图2为本公开实施例一所提供的数据查询方法的流程示意图。
[0042]本公开实施例以该数据查询方法被配置于数据查询装置中来举例说明,该数据查询装置可以应用于任一电子设备中,以使该电子设备可以执行数据查询功能。
[0043]其中,电子设备可以为任一具有计算能力的设备,例如可以为电脑、移动终端、服务器等,移动终端例如可以为车载设备、手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
[0044]如图2所示,该数据查询方法可以包括以下步骤:
[0045]步骤201,获取查询条件,并从分布式索引库中查询与查询条件匹配的多个索引;其中,分布式索引库用于存储分布式数据库中各业务数据对应的索引。
[0046]在本公开实施例中,查询条件可以为相关人员提供的,比如,查询条件可以用于指示查询哪个时段生成的业务数据,或者,用于指示查询何种业务对应的业务数据,或者,用于指示查询哪个字段的业务数据,等等,本公开对此并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据查询方法,包括:获取查询条件,并从分布式索引库中查询与所述查询条件匹配的多个索引;其中,所述分布式索引库用于存储分布式数据库中各业务数据对应的索引;将所述多个索引写入分布式集群中的分布式消息队列;从所述分布式消息队列中获取未带标记的第一索引,并从所述分布式数据库中查询与所述第一索引匹配的第一业务数据;响应于查询到所述第一业务数据,通过所述分布式集群对所述分布式消息队列中的所述第一索引进行标记。2.根据权利要求1所述的方法,其中,所述从所述分布式消息队列中获取未带标记的第一索引,并从所述分布式数据库中查询与所述第一索引匹配的第一业务数据,包括:通过至少一个第一实例中的多个第一线程,从所述分布式消息队列中获取未带标记的所述第一索引;通过各所述第一线程从所述分布式数据库中,查询与对应第一线程获取到的第一索引匹配的第一业务数据。3.根据权利要求2所述的方法,其中,所述响应于查询到所述第一业务数据,通过所述分布式集群对所述分布式消息队列中的所述第一索引进行标记,包括:响应于各所述第一线程查询到第一业务数据,将各所述第一线程查询到的第一业务数据进行组合;向指定客户端发送组合后的第一业务数据;响应于接收到所述指定客户端发送的第一确认响应,通过所述分布式集群对所述分布式消息队列中各所述第一线程获取的第一索引进行标记;其中,所述第一确认响应用于指示所述指定客户端接收到所述组合后的第一业务数据。4.根据权利要求2所述的方法,其中,所述响应于查询到所述第一业务数据,通过所述分布式集群对所述分布式消息队列中的所述第一索引进行标记,包括:响应于任一所述第一线程查询到第一业务数据,向指定客户端发送所述任一第一线程查询到的第一业务数据;响应于接收到所述指定客户端发送的第二确认响应,通过所述分布式集群对所述分布式消息队列中所述任一第一线程获取的第一索引进行标记;其中,所述第二确认响应用于指示所述指定客户端接收到所述任一第一线程查询到的第一业务数据。5.根据权利要求2所述的方法,其中,所述方法还包括:响应于所述至少一个第一实例中的第二实例宕机或迁移,重启所述第二实例;通过重启后的所述第二实例中的多个第二线程,从所述分布式消息队列中获取未带标记的第二索引;通过各所述第二线程,从所述分布式数据库中查询与对应第二线程获取到的第二索引匹配的第二业务数据。6.根据权利要求5所述的方法,其中,所述方法还包括:响应于各所述第二线程查询到第二业务数据,将各所述第二线程查询到的第二业务数
据进行组合;向指定客户端发送组合后的第二业务数据;响应于接收到所述指定客户端发送的第三确认响应,通过所述分布式集群对所述分布式消息队列中各所述第二线程获取的第二索引进行标记;其中,所述第三确认响应用于指示所述指定客户端接收到所述组合后的第二业务数据。7.根据权利要求5所述的方法,其中,所述方法还包括:响应于任一所述第二线程查询到第二业务数据,向指定客户端发送所述任一第二线程查询到的第二业务数据;响应于接收到所述指定客户端发送的第四确认响应,通过所述分布式集群对所述分布式消息队列中所述任一第二线程获取的第二索引进行标记;其中,所述第四确认响应用于指示所述指定客户端接收到所述任一第二线程查询到的第二业务数据。8.根据权利要求1

7中任一项所述的方法,其中,所述分布式数据库,用于存储各所述业务数据以及各所述业务数据的索引;所述分布式索引库,还用于按照设定周期,周期性地从所述分布式数据库中,获取第三业务数据对应的第三索引,并存储所述第三索引;其中,所述第三业务数据为所述分布式数据库中发生更新的业务数据和/或新增的业务数据。9.根据权利要求1

7中任一项所述的方法,其中,所述方法还包括:在所述分布式消息队列中的各索引均被标记的情况下,删除所述分布式消息队列中的各所述索引。10.一种数据查询装置,包括:查询模块,用于获取查询条件,并从分布式索引库中查询与所述查询条件匹配的多个索引;其中,所述分布式索引库用于存储分布式数据库中各业务数据对应的索引;写入模块,用于将所述多个索引写入分布式集群中的分布式消息队列;获取模块,用于从所述分布式消息队列中获取未带标记的第一索引,并从所...

【专利技术属性】
技术研发人员:余志佳马文超隆盼
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1