CN113961581B - 查询处理方法、装置、电子设备及存储介质 - Google Patents
查询处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113961581B CN113961581B CN202111138129.5A CN202111138129A CN113961581B CN 113961581 B CN113961581 B CN 113961581B CN 202111138129 A CN202111138129 A CN 202111138129A CN 113961581 B CN113961581 B CN 113961581B
- Authority
- CN
- China
- Prior art keywords
- query
- concurrency
- search request
- request
- requests
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 70
- 238000000034 method Methods 0.000 claims description 38
- 238000004458 analytical method Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种查询处理方法、装置、电子设备及存储介质,涉及云计算与大数据等技术领域。具体实现方案为:解析接收到的检索请求的类型;基于所述检索请求的类型,对所述检索请求进行查询处理。本公开的技术,能够有效地提高查询效率。
Description
技术领域
本公开涉及计算机技术领域,具体涉及云计算与大数据等技术领域,尤其涉及一种查询处理方法、装置、电子设备及存储介质。
背景技术
分布式数据库通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有数据库管理系统(Database Management System;DBMS)的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。
图形数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。最常见例子就是社会网络中人与人之间的关系。关系型数据库用于存储“关系型”数据的效果并不好,其查询复杂、缓慢、超出预期,而图形数据库的独特设计恰恰弥补了这个缺陷。
分布式图数据库系统同时具备分布式数据库和图形数据库的优点,具有简单、易用、高性能等特点。
发明内容
本公开提供了一种查询处理方法、装置、电子设备及存储介质。
根据本公开的一方面,提供了一种查询处理方法,包括:
解析接收到的检索请求的类型;
基于所述检索请求的类型,对所述检索请求进行查询处理。
根据本公开的另一方面,提供了一种查询处理装置,包括:
解析模块,用于解析接收到的检索请求的类型;
查询处理模块,用于基于所述检索请求的类型,对所述检索请求进行查询处理。
根据本公开的再一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方面和任一可能的实现方式的方法。
根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上所述的方面和任一可能的实现方式的方法。
根据本公开的再另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方面和任一可能的实现方式的方法。
根据本公开的技术,能够有效地提高查询效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是根据本公开第二实施例的示意图;
图3是根据本公开第三实施例的示意图;
图4图本实施例提供的分布式图数据库系统的工作原理图;
图5是根据本公开第四实施例的示意图;
图6是用来实现本公开实施例的查询处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
需要说明的是,本公开实施例中所涉及的终端设备可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(TabletComputer)等智能设备;显示设备可以包括但不限于个人电脑、电视等具有显示功能的设备。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在分布式图数据库系统中,计算节点与存储节点分离。计算节点作为接收请求的一方,将外部的检索请求拆分成许多小的查询请求,并基于各查询请求向存储节点进行数据查询。当检索请求比较复杂时,拆分出的小的查询请求数量也非常多,很容易将存储请求服务打满。
当存储节点服务被打满以后,存储节点会返回服务忙的错误消息。此时计算节点可以通过重试查询,或者直接返回用户整个查询失败,导致查询效率较低。
对于重试查询,当存储节点服务已经被打满的情况下,重试查询不会缓解存储节点的压力。由于每个检索请求都希望尽可能快的完成,因此计算节点会将检索请求拆分的每个查询请求全部再发给存储节点,因此当存储节点被打满时,仅重试依然会占据大量的存储服务的响应能力,导致一些简单的小请求也很难被完成。
对于直接返回整个查询失败,看似由于当前请求导致的服务忙问题解决了,但是实际上整个大查询已经完成的计算被浪费掉了,系统之前耗费大量资源完成的计算由于直接返回失败被浪费掉了。此时存储节点并不是无法提供服务,只是不能以计算节点需要的速度来提供服务。其次,返回给用户查询失败,用户会自己进行重试,实际问题并没有解决。基于以上所述,提出本公开的技术方案,以提高查询效率。
图1是根据本公开第一实施例的示意图;如图1所示,本实施例提供一种查询处理方法,可以应用在分布式图数据库系统的计算节点侧,具体可以包括如下步骤:
S101、解析接收到的检索请求的类型;
S102、基于检索请求的类型,对检索请求进行查询处理。
本实施例中,检索请求为外部发来的,例如可以为用户通过电子设备向分布式图数据库系统的计算节点发送的。
实际应用中,计算节点接收到检索请求,直接将检索请求拆分为多个查询请求。基于每个查询请求,可以按照传统的定位存储节点的方式,定位到存储节点,然后向对应的存储节点发送查询请求,获取查询结果。并基于多个查询请求的查询结果,进行计算处理,得到检索请求的结果,返回给用户的电子设备,实现检索。其中定位存储节点的方式,可以包括但不限于:计算哈希值定位存储节点的方法或者通过预先建立的存储关系表定位存储节点。例如,检索请求可以为查询某个数的简单请求;也可以为先分别计算M个数和N个数的平均值,然后取M个的平均值与N个数的平均值之间的平方差等等复杂的请求。
本公开的实施例中,为了提高查询效率,计算节点在接收到检索请求之后,先解析检索请求的类型,然后再基于检索请求的类型,针对性地对检索请求进行查询处理,以提高查询处理的效率。
本实施例的查询处理方法,通过解析接收到的检索请求的类型;再基于检索请求的类型,对检索请求进行查询处理,能够针对性对不同类型的检索请求,进行不同的查询处理,有效地提高查询处理的效率。
图2是根据本公开第二实施例的示意图;本实施例的查询处理方法,在上述图1所示实施例的技术方案的基础上,进一步更加详细地描述本公开的技术方案。如图2所示,本实施例的查询处理方法,具体可以包括如下步骤:
S201、基于检索请求,拆分到数个查询请求;
每一个检索请求都可以拆分成一定数量的查询请求。例如,计算节点接收到的检索请求为求多个数的平均值时。计算节点就需要将该检索请求先拆分为查询每个数的查询请求,然后基于查询请求查询到的每个数,进行平均值的计算。
S202、检测数个查询请求的数量是否超过预设数量阈值;若未超过,执行步骤S203;否则,若超过,执行步骤S204;
S203、确定检索请求为简单查询,执行步骤S205;
S204、确定检索请求为复杂查询,执行步骤S206;
在本实施例中的预设数量阈值可以根据实际经验来设置,例如可以为3个或者5个或者其他数量个,在此不做限定。
若数个查询请求的数量不超过预设数量阈值,即小于或者等于预设数量阈值,此时可以认为该检索请求拆分的查询请求数量减少,该检索请求为简单查询。否则,若数个查询请求的数量大于预设数量阈值,此时,可以认为该检索请求拆分的查询请求数量较多,该检索请求为复杂查询。
上述步骤S201-S204为上述图1所示实施例的步骤101的一种实现方式。在本实施例中,以检索请求的类型包括简单查询和复杂查询为例。实际应用中,还可以以此原理类推,基于不同的数量阈值,将查询分成更多类型,例如,可以划分成三类,包括简单查询、一般查询和复杂查询,一般查询的数量介于简单查询的数量与复杂查询的数量之间。采用该方案能够准确地对检索请求进行分类,以有效地针对不同类型的检索请求,进行不同的查询处理,提高查询处理的效率。
S205、接收到第一存储节点基于数个查询请求中的第一查询请求,返回服务忙的反馈消息之后,继续向第一存储节点发送第一查询请求,结束。
其中,第一查询请求可以为数个查询请求中的任意一个查询请求。第一存储节点为任一存储节点。
计算节点在拆分得到数个查询请求后,会按照传统方式定位每个查询请求对应的存储节点。为了提高计算节点的处理效率,分布式图数据库系统中的计算节点可以设置有高并发度,可以同时向多个存储节点发送多个查询请求。例如计算节点的并发度可以达到256、512、或者其他数值。对于每个查询请求,若对应的存储节点服务正常,会向计算节点返回查询请求查询的数据。但是每个存储节点的服务能力有限,同时需要接收分布式图数据库系统中的每个计算节点的查询请求,所以存储节点会存在服务打满的情况,此时,存储节点无法为计算节点的查询请求提供查询服务,会向计算节点返回服务忙的反馈消息。
对于检索请求为简单查询,由于包括的查询请求数量有限,可以尽力保证检索请求能够得到响应,所以计算节点在接收到第一存储节点返回的服务忙的反馈消息时,继续向第一存储节点发送对应的第一查询请求。
S206、接收到第二存储节点基于数个查询请求中的第二查询请求,返回的服务忙的反馈消息之后,调低向所有存储节点请求查询的并发度;执行步骤S207;
S207、基于调整后的并发度,对第二查询请求进行查询处理;执行步骤S208;
本实施例中的第二查询请求可以为数个查询请求中的任意一个查询请求,第二存储节点为任一存储节点。
在检索请求为复杂查询时,考虑到检索请求拆分的查询请求数量较多,若每个复杂查询的检索请求同时都在各计算节点上以高并发度发送给各存储节点。存储节点无法及时处理所有的查询请求,导致所有的检索请求都无法及时响应。此时为了减少存储节点的查询拥堵,并尽力为每一个检索请求争取最大的资源,可以在接收到第二存储节点返回的服务忙的反馈消息时,调低向所有存储节点请求查询的并发度;然后基于调整后的并发度,对第二查询请求进行查询处理。
该步骤S206-S207为上述图1所示实施例的步骤S102的一种实现方式。该步骤S206-S207可以应用在首次调低计算节点的并发度的场景下。例如首次调低时,调低幅度可以为一个存储节点所支持的最大服务能力,如32条工作线程或者其他数值,在此不做限定。
例如,在本公开的一个实施例中,步骤S207,具体可以包括如下步骤:检测当前的并发度是否小于调整后的并发度;若是,向第二存储节点发送第二查询请求,结束。否则,若未小于,则继续检测,暂时不向第二存储节点发送第二查询请求,等待当前的并发度小于调整后的并发度时,才可以发送。
在实际操作中,在并发度N固定不变时,计算节点向多个存储节点发送N个查询请求,若某一个查询请求返回查询数据时,计算节点再及时补发下一个查询请求,以充分利用高并发度进行查询。
在本实施例的场景中,计算节点调低并发度时,由于之前的并发度高,之前发送的查询请求可能还未得到响应,此时并发度并不会立即降低。所以,需要在接收到某个查询请求返回的数据时,并不能立即补发下一个查询请求,在接收到返回的服务忙的反馈消息时,也不立即重发对应的查询请求。而是需要先检测当前的实时并发度是否小于调整后的并发度,若不小于,此时还需要继续检测,等待并发度小于调整后的并发度,才可以发送。采用该技术,可以在并发度调整后,进行平稳过渡,有效地保证了查询效率。
S208、基于调低后的并发度,检测是否还收到任一存储节点基于数个查询请求中的任一查询请求,返回服务忙的反馈消息;若收到,执行步骤S209;若未收到,继续检测。
该步骤发生在步骤S206-S207之后,此时,计算节点的并发度已经调低了,但是仍能够收到存储节点反馈的服务忙的反馈消息。此时可以认为存储节点的服务能力还是超了。
S209、检测当前的并发度是否小于第一预设阈值;若不小于,执行步骤S210;若小于,执行步骤S212;
例如,本实施例的第一预设阈值可以基于实际经验来设置,例如可以为一个存储节点的最大服务能力。
S210、继续调低向所有存储节点请求查询的并发度;执行步骤S211;
在并发度不小于第一预设阈值时,调低并发度时可以以固定的幅度来调低,例如以一个存储节点的最大服务能力为幅度来调低。当然实际应用中,每次调低的幅度可以相同,也可以不同。
S211、基于调整后的并发度,对反馈消息为服务忙对应的查询请求进行查询处理,返回步骤S208,继续进行检测;
该步骤S211的处理过程,可以参考上述步骤S207的具体实现方式,在此不再赘述。
S212、检测当前的并发度是否小于第二预设阈值;若不小于,执行步骤S213;若小于,向用户反馈检索请求失败,结束。
其中,第二预设阈值小于第一预设阈值,本实施例的第二预设阈值的数值也可以基于实际经验来设置。例如,第二预设阈值可以为系统的一个最小的服务能力。
若并发度已经小于第二预设阈值,此时认为并发度再减小的意义已经不大,可能系统出现故障,可以直接向用户反馈检索请求失败,避免用户的无意义的等待。
S213、以预设概率决定检索请求失败;
本实施例的预设概率可以基于实际经验来选取,例如,可以选取0.5,即可以设置一半检索请求失败,一般检索请求继续。或者为了提高查询效率,可以设置较少的检索请求失败,更多的检索请求继续查询。此时可以设置预设概率为小于0.5、大于0的任意概率值。或者若存储节点负荷过大,也可以设置较多的检索请求失败,而较少的检索请求继续查询,此时可以设置预设概率为大于0.5、且小于1的任意概率值。
例如,若预设概率为0.5时,可以采用一个随机数产生器,可以随机产生一个正整数,针对于奇数和偶数,可以分别设置检索请求失败和继续的选项。实际应用中,该步骤的具体实现方式还可以为任意其他可能的实现方式,在此不做限定。
S214、检测决定的检索请求结果是否为失败;若是,向用户反馈检索请求失败,结束;否则,执行步骤S215;
S215、继续调低向所有存储节点请求查询的并发度;执行步骤S216;
由于此时,计算节点的并发度已经第一预设阈值,如单个存储节点的最大服务能力,此时继续调低时的幅度可以稍微大一些,如可以以减半的速度来调低。
S216、基于调整后的并发度,对反馈消息为服务忙对应的查询请求进行查询处理,返回步骤S208,继续检测。
本实施例的查询处理方法,通过采用上述方式,可以在计算节点侧对查询请求进行流量控制,使得简单查询的检索请求尽最大可能得到满足,而对于复杂查询的检索请求,通过调低并发度,以争取利用最多的资源来满足;若调低并发度后还不能满足,可以以预设概率决定部分检索请求失败,而节省资源以服务剩下的检索请求。若直至并发度调整到很小的第二预设阈值,若还收到服务忙的反馈消息,可以直接向用户反馈检索失败。采用本实施例的技术方案,能够在计算节点侧对检索请求的查询流量进行有效地控制,进而有效地提高了查询处理的效率。
图3是根据本公开第三实施例的示意图;本实施例的查询处理方法,在上述图1和图2所示实施例的技术方案的基础上,进一步更加详细地描述本公开的技术方案。如图3所示,本实施例的查询处理方法,具体可以包括如下步骤:
S301、基于检索请求,拆分到数个查询请求;
S302、检测并确定数个查询请求的数量超过预设数量阈值,确定检索请求为复杂查询;
S303、基于当前的并发度,检测是否收到任一存储节点基于数个查询请求中的任一查询请求,返回服务忙的反馈消息;若收到,执行步骤S304;若未收到,继续检测;
S304、调低向所有存储节点请求查询的并发度;执行步骤S305;
S305、基于调整后的并发度,对反馈消息为服务忙对应的查询请求进行查询处理;执行步骤S306;
S306、基于当前的并发度,检测在预设时间长度内、是否收到任意存储节点返回的服务忙的反馈消息;若未收到,执行步骤S307;若收到,返回步骤S304,按照步骤S303收到的情况进行处理;
本实施例的预设时间长度可以根据实际经验来选取,例如可以为30分钟,一小时或者其他时间长度。
S307、调高向所有存储节点请求查询的并发度;执行步骤S308;
S308、基于调整后的并发度,对检索请求包括的数个查询请求进行查询处理。
本实施例中,调整后的并发度变大,计算节点可以实时检测当前并发度是否达到调整后的并发度,若未达到,及时补充下一个查询请求进行查询。并进一步检测并发度是否达到调整后的并发度,若还未达到,则继续补充下一查询请求进行查询,直至并发度达到调整后的并发度,充分利用了系统的所有查询资源进行查询服务。
本实施例的方案是在存储节点服务打满之后,对计算节点的并发度下调之后,还可以继续检测是否一段时间均未出现服务节点存储打满的情况,若是,可以尝试调高并发度,以充分利用所有的查询资源。另外,可选地,若调高并发度之后,若再次出现服务打满的情况,可以按照步骤S304或者上述图2所示实施例的记载,继续调低计算节点的并发度。
本实施例的技术方案也可以与图2所示实施例的技术方案联合使用,在每次调低并发度之后,都可以采用图3所示实施例的方案,尝试再调高并发度。
图4是本实施例提供的分布式图数据库系统的工作原理图,如图4所示,该分布式图数据库系统中可以包括多个计算节点和多个存储节点。其中各计算节点用于接收外部的检索请求。计算节点还用于基于每个检索请求,拆分到数个查询请求。然后定位每个查询请求的存储节点,如图4所示,并向对应的存储节点发送查询请求。为了提高查询,每个计算节点可以采用高并发度向多个存储节点发送查询请求。本实施例的技术方案和图2所示实施例的技术方案可以应用在图4所示的任一计算节点中,实现上述实施例所述的查询处理。
本实施例的查询处理方法,能够在计算节点的并发度调低之后,计算节点在一定的预设时间长度内未收到服务忙的反馈消息时,尝试调高并发度,以更加有效地利用系统的查询资源,进而有效地提高了查询处理的效率。
图5是根据本公开第四实施例的示意图;如图5所示,本实施例提供一种查询处理装置500,包括:
解析模块501,用于解析接收到的检索请求的类型;
查询处理模块502,用于基于检索请求的类型,对检索请求进行查询处理。
本实施例的查询处理装置500,通过采用上述模块实现查询处理的实现原理以及技术效果,与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
进一步可选地,在本公开的一个实施例中,解析模块501,用于:
基于检索请求,拆分到数个查询请求;
检测数个查询请求的数量是否超过预设数量阈值;
若未超过,确定检索请求为简单查询。
进一步可选地,在本公开的一个实施例中,查询处理模块502,用于:
若检索请求为简单查询,接收到第一存储节点基于数个查询请求中的第一查询请求,返回服务忙的反馈消息之后,继续向第一存储节点发送第一查询请求。
进一步可选地,在本公开的一个实施例中,解析模块501,还用于:
若数个查询请求的数量超过预设数量阈值,确定检索请求为复杂查询。
进一步可选地,在本公开的一个实施例中,查询处理模块502,用于:
若检索请求为复杂查询,接收到第二存储节点基于数个查询请求中的第二查询请求,返回服务忙的反馈消息之后,调低向所有存储节点请求查询的并发度;
基于调整后的并发度,对第二查询请求进行查询处理。
进一步可选地,在本公开的一个实施例中,查询处理模块502,还用于:
检测当前的并发度是否小于调整后的并发度;
若是,向第二存储节点发送第二查询请求。
进一步可选地,在本公开的一个实施例中,查询处理模块502,还用于:
检测并确定当前的并发度不小于第一预设阈值。
进一步可选地,在本公开的一个实施例中,查询处理模块502,还用于:
若检测到当前的并发度小于第一预设阈值时,以预设概率决定检索请求失败。
进一步可选地,在本公开的一个实施例中,查询处理模块502,还用于:
若检测到当前的并发度小于第一预设阈值,且决定检索请求不失败时,继续调低向所有存储节点请求查询的并发度。
进一步可选地,在本公开的一个实施例中,查询处理模块502,还用于:
继续调低向所有存储节点请求查询的并发度之前,检测并确定当前的并发度不小于第二预设阈值;
进一步地,查询处理模块,还用于:
若当前的并发度小于第二预设阈值,接收到任一查询请求对应的服务忙的反馈消息后,返回检索请求查询失败。
进一步可选地,在本公开的一个实施例中,查询处理模块502,还用于:
基于当前的并发度,检测在预设时间长度内、是否收到任意存储节点返回的服务忙的反馈消息;
若未收到,调高向所有存储节点请求查询的并发度;
基于调整后的并发度,对检索请求包括的数个查询请求进行查询处理。
通过采用上述模块实现查询处理的实现原理以及技术效果,与上述相关方法实施例的实现相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如本公开的上述方法。例如,在一些实施例中,本公开的上述方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的本公开的上述方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开的上述方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (22)
1.一种查询处理方法,应用在分布式图数据库系统的计算节点中,包括:
解析接收到的检索请求的类型;
基于所述检索请求的类型,对所述检索请求进行查询处理;
基于所述检索请求的类型,对所述检索请求进行查询处理,包括:
若所述检索请求为复杂查询,接收到第二存储节点基于所述检索请求拆分的数个查询请求中的第二查询请求,返回服务忙的反馈消息之后,调低向所有存储节点请求查询的并发度;所述第二存储节点为分布式图数据库系统中的多个存储节点中的任一存储节点;
基于调整后的所述并发度,对所述第二查询请求进行查询处理。
2.根据权利要求1所述的方法,其中,解析接收到的检索请求的类型,包括:
基于所述检索请求,拆分到数个查询请求;
检测所述数个查询请求的数量是否超过预设数量阈值;
若未超过,确定所述检索请求为简单查询。
3.根据权利要求2所述的方法,其中,基于所述检索请求的类型,对所述检索请求进行查询处理,包括:
若所述检索请求为所述简单查询,接收到第一存储节点基于所述数个查询请求中的第一查询请求,返回服务忙的反馈消息之后,继续向所述第一存储节点发送所述第一查询请求。
4.根据权利要求2或3所述的方法,其中,解析接收到的检索请求的类型,还包括:
若所述数个查询请求的数量超过所述预设数量阈值,确定所述检索请求为复杂查询。
5.根据权利要求1所述的方法,其中,基于调整后的所述并发度,对所述第二查询请求进行查询处理,包括:
检测当前的并发度是否小于调整后的所述并发度;
若是,向所述第二存储节点发送所述第二查询请求。
6.根据权利要求1或5所述的方法,其中,调低向所有存储节点请求查询的并发度之前,还包括:
检测并确定当前的并发度不小于第一预设阈值。
7.根据权利要求6所述的方法,其中,若检测到当前的所述并发度小于所述第一预设阈值时,所述方法还包括:
以预设概率决定所述检索请求失败。
8.根据权利要求7所述的方法,其中,若检测到当前的所述并发度小于所述第一预设阈值,且决定所述检索请求不失败时,所述方法还包括:
继续调低向所有存储节点请求查询的并发度。
9.根据权利要求8所述的方法,其中,继续调低向所有存储节点请求查询的并发度之前,所述方法还包括:
检测并确定当前的并发度不小于第二预设阈值;
进一步地,所述方法还包括:
若当前的并发度小于所述第二预设阈值,接收到任一所述查询请求对应的服务忙的反馈消息后,返回所述检索请求查询失败。
10.根据权利要求5和7-9任一所述的方法,其中,调低向所有存储节点请求查询的并发度之后,所述方法还包括:
基于当前的并发度,检测在预设时间长度内、是否收到任意存储节点返回的服务忙的反馈消息;
若未收到,调高向所有存储节点请求查询的并发度;
基于调整后的所述并发度,对所述检索请求包括的所述数个查询请求进行查询处理。
11.一种查询处理装置,应用在分布式图数据库系统的计算节点中,包括:
解析模块,用于解析接收到的检索请求的类型;
查询处理模块,用于基于所述检索请求的类型,对所述检索请求进行查询处理;
所述查询处理模块,用于:
若所述检索请求为复杂查询,接收到第二存储节点基于所述检索请求拆分的数个查询请求中的第二查询请求,返回服务忙的反馈消息之后,调低向所有存储节点请求查询的并发度;所述第二存储节点为分布式图数据库系统中的多个存储节点中的任一存储节点;
基于调整后的所述并发度,对所述第二查询请求进行查询处理。
12.根据权利要求11所述的装置,其中,所述解析模块,用于:
基于所述检索请求,拆分到数个查询请求;
检测所述数个查询请求的数量是否超过预设数量阈值;
若未超过,确定所述检索请求为简单查询。
13.根据权利要求12所述的装置,其中,所述查询处理模块,用于:
若所述检索请求为所述简单查询,接收到第一存储节点基于所述数个查询请求中的第一查询请求,返回服务忙的反馈消息之后,继续向所述第一存储节点发送所述第一查询请求。
14.根据权利要求12或13所述的装置,其中,所述解析模块,还用于:
若所述数个查询请求的数量超过所述预设数量阈值,确定所述检索请求为复杂查询。
15.根据权利要求11所述的装置,其中,所述查询处理模块,还用于:
检测当前的并发度是否小于调整后的所述并发度;
若是,向所述第二存储节点发送所述第二查询请求。
16.根据权利要求11或15所述的装置,其中,所述查询处理模块,还用于:
检测并确定当前的并发度不小于第一预设阈值。
17.根据权利要求16所述的装置,其中,所述查询处理模块,还用于:
若检测到当前的所述并发度小于所述第一预设阈值时,以预设概率决定所述检索请求失败。
18.根据权利要求17所述的装置,其中,所述查询处理模块,还用于:
若检测到当前的所述并发度小于所述第一预设阈值,且决定所述检索请求不失败时,继续调低向所有存储节点请求查询的并发度。
19.根据权利要求18所述的装置,其中,所述查询处理模块,还用于:
继续调低向所有存储节点请求查询的并发度之前,检测并确定当前的并发度不小于第二预设阈值;
进一步地,所述查询处理模块,还用于:
若当前的并发度小于所述第二预设阈值,接收到任一所述查询请求对应的服务忙的反馈消息后,返回所述检索请求查询失败。
20.根据权利要求15和17-19任一所述的装置,其中,所述查询处理模块,还用于:
基于当前的并发度,检测在预设时间长度内、是否收到任意存储节点返回的服务忙的反馈消息;
若未收到,调高向所有存储节点请求查询的并发度;
基于调整后的所述并发度,对所述检索请求包括的所述数个查询请求进行查询处理。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-10中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111138129.5A CN113961581B (zh) | 2021-09-27 | 2021-09-27 | 查询处理方法、装置、电子设备及存储介质 |
EP22185757.6A EP4155969A1 (en) | 2021-09-27 | 2022-07-19 | Query processing method and apparatus, electronic device and storage medium |
US17/872,775 US20230101349A1 (en) | 2021-09-27 | 2022-07-25 | Query processing method, electronic device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111138129.5A CN113961581B (zh) | 2021-09-27 | 2021-09-27 | 查询处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113961581A CN113961581A (zh) | 2022-01-21 |
CN113961581B true CN113961581B (zh) | 2023-09-08 |
Family
ID=79462481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111138129.5A Active CN113961581B (zh) | 2021-09-27 | 2021-09-27 | 查询处理方法、装置、电子设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230101349A1 (zh) |
EP (1) | EP4155969A1 (zh) |
CN (1) | CN113961581B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009236A (zh) * | 2017-11-29 | 2018-05-08 | 北京锐安科技有限公司 | 一种大数据查询方法、系统、计算机及存储介质 |
CN112445834A (zh) * | 2019-08-30 | 2021-03-05 | 阿里巴巴集团控股有限公司 | 分布式查询系统和查询方法、设备及存储介质 |
CN112732756A (zh) * | 2020-12-30 | 2021-04-30 | 北京奇艺世纪科技有限公司 | 数据查询方法、装置、设备及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7984043B1 (en) * | 2007-07-24 | 2011-07-19 | Amazon Technologies, Inc. | System and method for distributed query processing using configuration-independent query plans |
US8386508B2 (en) * | 2008-04-28 | 2013-02-26 | Infosys Technologies Limited | System and method for parallel query evaluation |
US8838919B2 (en) * | 2010-08-30 | 2014-09-16 | Oracle International Corporation | Controlling data lag in a replicated computer system |
US8959110B2 (en) * | 2011-09-18 | 2015-02-17 | Microsoft Technology Licensing, Llc | Dynamic query for external data connections |
JP5722264B2 (ja) * | 2012-03-23 | 2015-05-20 | 株式会社日立ハイテクノロジーズ | データ処理装置、データ容量増加抑制方法 |
US9391902B2 (en) * | 2013-12-13 | 2016-07-12 | Red Hat, Inc. | System and method for dynamic collaboration during query processing |
CN106407190B (zh) * | 2015-07-27 | 2020-01-14 | 阿里巴巴集团控股有限公司 | 一种事件记录查询方法及装置 |
CN110321214A (zh) * | 2018-03-29 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 一种数据查询方法、装置及设备 |
US10922316B2 (en) * | 2018-06-13 | 2021-02-16 | Amazon Technologies, Inc. | Using computing resources to perform database queries according to a dynamically determined query size |
US11860725B2 (en) * | 2020-09-22 | 2024-01-02 | Microsoft Technology Licensing, Llc. | Failure recovery recommendations for CLI commands |
-
2021
- 2021-09-27 CN CN202111138129.5A patent/CN113961581B/zh active Active
-
2022
- 2022-07-19 EP EP22185757.6A patent/EP4155969A1/en active Pending
- 2022-07-25 US US17/872,775 patent/US20230101349A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009236A (zh) * | 2017-11-29 | 2018-05-08 | 北京锐安科技有限公司 | 一种大数据查询方法、系统、计算机及存储介质 |
CN112445834A (zh) * | 2019-08-30 | 2021-03-05 | 阿里巴巴集团控股有限公司 | 分布式查询系统和查询方法、设备及存储介质 |
CN112732756A (zh) * | 2020-12-30 | 2021-04-30 | 北京奇艺世纪科技有限公司 | 数据查询方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113961581A (zh) | 2022-01-21 |
US20230101349A1 (en) | 2023-03-30 |
EP4155969A1 (en) | 2023-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860695B (zh) | 监控数据查询方法、装置、设备、存储介质及程序产品 | |
JP5744707B2 (ja) | メモリ使用量照会ガバナのためのコンピュータ実装方法、コンピュータ・プログラム、およびシステム(メモリ使用量照会ガバナ) | |
CN112965823B (zh) | 调用请求的控制方法、装置、电子设备和存储介质 | |
CN113961581B (zh) | 查询处理方法、装置、电子设备及存储介质 | |
CN112615795A (zh) | 流量控制方法、装置、电子设备、存储介质及产品 | |
CN114697247B (zh) | 流媒体系统的故障检测方法、装置、设备和存储介质 | |
CN114491253B (zh) | 观测信息处理方法、装置、电子设备及存储介质 | |
CN113239054B (zh) | 信息生成方法及相关装置 | |
CN115599571A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN113641670B (zh) | 数据存储及数据检索方法、装置、电子设备及存储介质 | |
CN114500443A (zh) | 消息推送方法、装置、系统、电子设备和存储介质 | |
CN114139605A (zh) | 分布式的模型训练方法、系统、设备以及存储介质 | |
CN113900731A (zh) | 请求处理方法、装置、设备和存储介质 | |
CN111046061A (zh) | 数据查询方法、装置、系统、设备及存储介质 | |
US20220147373A1 (en) | Method and apparatus for acquiring information | |
CN114416414B (zh) | 一种故障信息定位方法、装置、设备及存储介质 | |
CN115086300B (zh) | 一种视频文件调度方法和装置 | |
CN113760965B (zh) | 数据查询的方法和装置 | |
CN114329161A (zh) | 数据查询方法、装置及电子设备 | |
CN114647634A (zh) | 创建数据库的方法、操作数据库的方法和装置 | |
CN116471079A (zh) | Ldap注入漏洞检测方法和装置 | |
CN116340173A (zh) | 测试账户理方法、装置、电子设备及可读存储介质 | |
CN116089753A (zh) | 一种业务数据获取方法、装置、服务器及存储介质 | |
CN116112441A (zh) | 服务请求的限流方法、装置、电子设备和存储介质 | |
CN117370309A (zh) | 访问控制方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |