CN105183871A - 数据查询方法及装置 - Google Patents

数据查询方法及装置 Download PDF

Info

Publication number
CN105183871A
CN105183871A CN201510593465.7A CN201510593465A CN105183871A CN 105183871 A CN105183871 A CN 105183871A CN 201510593465 A CN201510593465 A CN 201510593465A CN 105183871 A CN105183871 A CN 105183871A
Authority
CN
China
Prior art keywords
request messages
query request
query
total number
processed
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.)
Granted
Application number
CN201510593465.7A
Other languages
English (en)
Other versions
CN105183871B (zh
Inventor
郭李明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201510593465.7A priority Critical patent/CN105183871B/zh
Publication of CN105183871A publication Critical patent/CN105183871A/zh
Application granted granted Critical
Publication of CN105183871B publication Critical patent/CN105183871B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种数据查询方法及装置,其中方法包括:将多个查询请求消息进行分组,每个分组中查询请求消息的个数小于等于任务执行上限;任选一分组作为当前组,将所述当前组的查询请求消息分配给至少一个计算节点进行查询处理;实时检测各计算节点的查询处理情况;根据所述查询处理情况从剩余分组中选择一分组作为当前组,直至所有分组均被处理完毕。本发明实施例能够提高查询效率。

Description

数据查询方法及装置
技术领域
本发明实施例涉及大数据技术领域,尤其涉及一种数据查询方法及装置。
背景技术
Presto是Facebook开发的数据查询引擎,可对250PB以上的数据进行快速地交互式分析。它定义了一个通用的Java数据库连接(JavaDataBaseConnectivity,JDBC)模块,通过适当的变通就可以连接各种关系型数据库,例如MySQL数据库、ORACLE数据库和SQLServer数据库等。
如图1所示,为现有技术中基于Presto集群架构的网络拓扑结构示意图,Presto集群有多个内部交换机11连接到各个计算节点12中,然后再连接到机房中的上联交换机13,Presto可以配置多种数据源包括MySQL、Oracle、SQLServer、KAFKA和HDFS等。这些数据源与Presto连接也是通过外层的上联交换机13进行通信的,这个上联交换机13可能还连接着其他的业务的服务器或者其他下联交换机,在这个范围内网络资源是共享的,如果网络拥堵可能会影响到好几个业务应用。
在现有技术中,当客户端的数据查询请求比较多时,Presto可能会跨多个数据源进行联合查询,此时Presto将根据所有的数据查询请求同时查询起所有的数据抓取线程,将数据抓取到Presto的计算节点中进行计算,这时Presto计算节点就需要频繁的通过上联交换机与数据源的服务器进行通讯和数据交互,这种状态下就会高频率的出现网络拥堵情况。
发明内容
本发明实施例提供一种数据查询方法及装置,能够提高数据查询效率。
第一方面,本发明实施例提供了一种数据查询方法,包括:
将多个查询请求消息进行分组,每个分组中查询请求消息的个数小于等于任务执行上限;
任选一分组作为当前组,将所述当前组的查询请求消息分配给至少一个计算节点进行查询处理;
实时检测各计算节点的查询处理情况;
根据所述查询处理情况从剩余分组中选择一分组作为当前组,直至所有分组均被处理完毕。
第二方面,本发明实施例还提供一种数据查询装置,包括:
分组模块,用于将多个查询请求消息进行分组,每个分组中查询请求消息的个数小于等于任务执行上限;
分配模块,用于任选一分组作为当前组,将所述当前组的查询请求消息分配给至少一个计算节点进行查询处理;
检测模块,用于实时检测各计算节点的查询处理情况,根据所述查询处理情况指示所述分配模块从剩余分组中选择一分组作为当前组,直至所有分组均被处理完毕。
本发明实施例通过将多个查询请求消息进行分组,每个分组中查询请求消息的个数小于等于任务执行上限;任选一分组作为当前组,将所述当前组的查询请求消息分配给至少一个计算节点进行查询处理;实时检测各计算节点的查询处理情况;根据所述查询处理情况从剩余分组中选择一分组作为当前组,直至所有分组均被处理完毕。本发明实施例采用分批次处理每个分组的查询请求消息,避免了高频率的出现网络拥堵情况,从而提高查询效率。
附图说明
图1为现有技术提供的Presto数据查询网络拓扑结构示意图;
图2为本发明实施例一提供的数据查询方法的流程示意图;
图3为本发明实施例二提供的数据查询装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
本发明实施例提供的数据查询方法的执行主体,可为本发明实施例提供的数据查询装置,或集成了数据查询装置的交换机,该数据查询装置可以采用硬件或软件实现。
实施例一
图2为本发明实施例一提供的数据查询方法的流程示意图,如图2所示,具体包括:
步骤21、将多个查询请求消息进行分组,每个分组中查询请求消息的个数小于等于任务执行上限;
其中,任务执行上限可根据查询系统当前的运算能力进行设定。具体的,在分组时,可采用平均分组的策略。例如,每个分组中查询请求消息的个数可为任务执行上限,或略小于任务执行上限。
步骤22、任选一分组作为当前组,将所述当前组的查询请求消息分配给至少一个计算节点进行查询处理;
具体的,如果当前组的查询请求消息的总数为100条,计算节点为10个,则将100条查询请求消息均衡的分配到1个计算节点进行计算。其中,每个计算节点处理10条查询请求消息。
步骤23、实时检测各计算节点的查询处理情况;
步骤24、根据所述查询处理情况从剩余分组中选择一分组作为当前组,直至所有分组均被处理完毕。
具体的,当检测到分配到各计算节点的查询请求消息均已处理完毕后,则从剩余分组中选择一分组作为当前组,重复执行步骤22至步骤24,直至所有分组均被处理完毕。
本实施例通过将多个查询请求消息进行分组,每个分组中查询请求消息的个数小于等于任务执行上限;任选一分组作为当前组,将所述当前组的查询请求消息分配给至少一个计算节点进行查询处理;实时检测各计算节点的查询处理情况;根据所述查询处理情况从剩余分组中选择一分组作为当前组,直至所有分组均被处理完毕。本实施例采用分批次处理每个分组的查询请求消息,避免了高频率的出现网络拥堵情况,从而提高查询效率。
示例性的,在上述实施例的基础上,为进一步提高查询效率,所述根据所述查询处理情况从剩余分组中选择一分组作为当前组,直至所有分组均被处理完毕进一步包括:
根据所述查询处理情况确定所述分组中当前未被处理的查询请求消息的总数;
当所述总数小于任务执行上限时,则从剩余分组中的查询请求消息中抽取查询请求消息补充到所述分组中,重复执行检测步骤直至剩余分组中的所有查询请求消息都被处理完毕。
示例性的,所述根据所述查询处理情况确定所述分组中当前未被处理的查询请求消息的总数具体包括:
所述当前未被处理的查询请求消息的总数等于所述分组中查询请求消息的总数减去已处理的查询请求消息的总数;
或者,
所述当前未被处理的查询请求消息的总数等于所述任务执行上限减去已处理的查询请求消息的总数、已分配的查询请求消息的总数和在计算节点等排队等待处理的查询请求消息的总数。
其中,已分配的查询请求消息为已从所述分组中提取出来,但还未被分配到计算节点的查询请求消息。
示例性的,在上述实施例的基础上,所述方法还包括:
统计所述查询请求消息的总个数;
当所述总个数超过预设阈值时,触发执行对所述查询请求消息的分组操作。
具体的,当当前待处理的查询请求消息的总个数较少时,即一次性即可处理完毕而不会造成网络拥堵时,就不必再对其进行分组,直接处理即可。当当前待处理的查询请求消息的总个数较多时,在对其启动分组处理。在具体程序实现时,可在程序中设置如下两个相关参数:
control_scan_concurrency_enabled,参数含义为是否开启分组读取;
scan_concurrency_count,参数含义为每一分组的任务执行上限数。
程序可以根据实际需求来动态的调配上述两个参数,需要注意的是,只有开启了分组读取的参数即control_scan_concurrency_enabled后,每一分组的执行上限数(scan_concurrency_count)才生效。
示例性的,在上述实施例的基础上,将多个查询请求消息进行分组包括:
根据查询请求消息中携带的IP地址将不同IP地址的查询请求消息分为一组。
为达到均衡处理每个IP发出的查询请求消息,可将不同IP地址的查询请求消息分为一组。这样在后续查询处理时,可均衡处理到每个IP地址对应的查询请求消息。例如,待处理的查询请求消息中包含IP1、IP2和IP3三个IP地址对应的查询请求消息,在分组时,会将相同IP的查询请求消息隔离开,即将IP1、IP2和IP3对应的查询请求消息分为一组,以此来达到均衡获取。
上述各实施例同样通过将多个查询请求消息进行分组,每个分组中查询请求消息的个数小于等于任务执行上限;任选一分组作为当前组,将所述当前组的查询请求消息分配给至少一个计算节点进行查询处理;实时检测各计算节点的查询处理情况;根据所述查询处理情况从剩余分组中选择一分组作为当前组,直至所有分组均被处理完毕。上述各实施例同样采用分批次处理每个分组的查询请求消息,避免了高频率的出现网络拥堵情况,从而提高查询效率。
实施例二
图3为本发明实施例二提供的数据查询装置的结构示意图,如图3所示,具体包括:分组模块31、分配模块32和检测模块33;
所述分组模块31用于将多个查询请求消息进行分组,每个分组中查询请求消息的个数小于等于任务执行上限;
所述分配模块32用于任选一分组作为当前组,将所述当前组的查询请求消息分配给至少一个计算节点进行查询处理;
所述检测模块33用于实时检测各计算节点的查询处理情况,根据所述查询处理情况指示所述分配模块从剩余分组中选择一分组作为当前组,直至所有分组均被处理完毕。
本实施例所述的数据查询装置用于执行上述各实施例所述的数据查询方法,其技术原理和产生的技术效果类似,这里不再累述。
示例性的,在上述实施例的基础上,所述检测模块33包括:统计单元331和抽取单元332;
所述统计单元331用于根据所述查询处理情况确定所述分组中当前未被处理的查询请求消息的总数;
所述抽取单元332用于当所述总数小于任务执行上限时,则从剩余分组中的查询请求消息中抽取查询请求消息补充到所述分组中,重复执行检测步骤直至剩余分组中的所有查询请求消息都被处理完毕。
示例性的,所述统计单元331具体用于:
所述当前未被处理的查询请求消息的总数等于所述任务执行上限减去已处理的查询请求消息的总数;或者,所述当前未被处理的查询请求消息的总数等于所述任务执行上限减去已处理的查询请求消息的总数、已分配的查询请求消息的总数和在计算节点等排队等待处理的查询请求消息的总数。
示例性的,在上述实施例的基础上,所述装置还包括:统计模块34和触发模块35;
所述统计模块34用于统计所述查询请求消息的总个数;
所述触发模块35用于当所述总个数超过预设阈值时,触发执行对所述查询请求消息的分组操作。
示例性的,所述分组模块31具体用于:
根据查询请求消息中携带的IP地址将不同IP地址的查询请求消息分为一组。
上述各实施例所述的数据查询装置同样用于执行上述各实施例所述的数据查询方法,其技术原理和产生的技术效果类似,这里不再累述。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种数据查询方法,其特征在于,包括:
将多个查询请求消息进行分组,每个分组中查询请求消息的个数小于等于任务执行上限;
任选一分组作为当前组,将所述当前组的查询请求消息分配给至少一个计算节点进行查询处理;
实时检测各计算节点的查询处理情况;
根据所述查询处理情况从剩余分组中选择一分组作为当前组,直至所有分组均被处理完毕。
2.根据权利要求1所述的方法,其特征在于,根据所述查询处理情况从剩余分组中选择一分组作为当前组,直至所有分组均被处理完毕,包括:
根据所述查询处理情况确定所述分组中当前未被处理的查询请求消息的总数;
当所述总数小于任务执行上限时,则从剩余分组中的查询请求消息中抽取查询请求消息补充到所述分组中,重复执行检测步骤直至剩余分组中的所有查询请求消息都被处理完毕。
3.根据权利要求2所述的方法,其特征在于,根据所述查询处理情况确定所述分组中当前未被处理的查询请求消息的总数,包括:
所述当前未被处理的查询请求消息的总数等于所述任务执行上限减去已处理的查询请求消息的总数;
或者,
所述当前未被处理的查询请求消息的总数等于所述任务执行上限减去已处理的查询请求消息的总数、已分配的查询请求消息的总数和在计算节点等排队等待处理的查询请求消息的总数。
4.根据权利要求1所述的方法,其特征在于,还包括:
统计所述查询请求消息的总个数;
当所述总个数超过预设阈值时,触发执行对所述查询请求消息的分组操作。
5.根据权利要求1~4任一项所述的方法,其特征在于,将多个查询请求消息进行分组包括:
根据查询请求消息中携带的IP地址将不同IP地址的查询请求消息分为一组。
6.一种数据查询装置,其特征在于,包括:
分组模块,用于将多个查询请求消息进行分组,每个分组中查询请求消息的个数小于等于任务执行上限;
分配模块,用于任选一分组作为当前组,将所述当前组的查询请求消息分配给至少一个计算节点进行查询处理;
检测模块,用于实时检测各计算节点的查询处理情况,根据所述查询处理情况指示所述分配模块从剩余分组中选择一分组作为当前组,直至所有分组均被处理完毕。
7.根据权利要求6所述的装置,其特征在于,所述检测模块包括:
统计单元,用于根据所述查询处理情况确定所述分组中当前未被处理的查询请求消息的总数;
抽取单元,用于当所述总数小于任务执行上限时,则从剩余分组中的查询请求消息中抽取查询请求消息补充到所述分组中,重复执行检测步骤直至剩余分组中的所有查询请求消息都被处理完毕。
8.根据权利要求7所述的装置,其特征在于,所述统计单元具体用于:
所述当前未被处理的查询请求消息的总数等于所述任务执行上限减去已处理的查询请求消息的总数;或者,所述当前未被处理的查询请求消息的总数等于所述任务执行上限减去已处理的查询请求消息的总数、已分配的查询请求消息的总数和在计算节点等排队等待处理的查询请求消息的总数。
9.根据权利要求6所述的装置,其特征在于,还包括:
统计模块,用于统计所述查询请求消息的总个数;
触发模块,用于当所述总个数超过预设阈值时,触发执行对所述查询请求消息的分组操作。
10.根据权利要求6~9任一项所述的装置,其特征在于,所述分组模块具体用于:
根据查询请求消息中携带的IP地址将不同IP地址的查询请求消息分为一组。
CN201510593465.7A 2015-09-17 2015-09-17 数据查询方法及装置 Active CN105183871B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510593465.7A CN105183871B (zh) 2015-09-17 2015-09-17 数据查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510593465.7A CN105183871B (zh) 2015-09-17 2015-09-17 数据查询方法及装置

Publications (2)

Publication Number Publication Date
CN105183871A true CN105183871A (zh) 2015-12-23
CN105183871B CN105183871B (zh) 2018-09-25

Family

ID=54905952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510593465.7A Active CN105183871B (zh) 2015-09-17 2015-09-17 数据查询方法及装置

Country Status (1)

Country Link
CN (1) CN105183871B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107547670A (zh) * 2016-06-28 2018-01-05 阿里巴巴集团控股有限公司 一种域名信息的查询方法和装置
CN108255602A (zh) * 2017-11-01 2018-07-06 平安普惠企业管理有限公司 任务组合方法及终端设备
CN110533450A (zh) * 2019-07-17 2019-12-03 上海数据交易中心有限公司 数据流通方法及装置、存储介质、服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621458A (zh) * 2008-06-30 2010-01-06 国际商业机器公司 异步处理网络请求的方法和系统
CN102760073A (zh) * 2011-04-29 2012-10-31 中兴通讯股份有限公司 一种任务调度方法、系统及装置
CN103988180A (zh) * 2011-12-07 2014-08-13 高通股份有限公司 在便携式计算装置中将资源请求分批成事务及使此事务分叉
CN104750786A (zh) * 2015-03-09 2015-07-01 广东欧珀移动通信有限公司 一种数据显示方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621458A (zh) * 2008-06-30 2010-01-06 国际商业机器公司 异步处理网络请求的方法和系统
CN102760073A (zh) * 2011-04-29 2012-10-31 中兴通讯股份有限公司 一种任务调度方法、系统及装置
CN103988180A (zh) * 2011-12-07 2014-08-13 高通股份有限公司 在便携式计算装置中将资源请求分批成事务及使此事务分叉
CN104750786A (zh) * 2015-03-09 2015-07-01 广东欧珀移动通信有限公司 一种数据显示方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107547670A (zh) * 2016-06-28 2018-01-05 阿里巴巴集团控股有限公司 一种域名信息的查询方法和装置
CN107547670B (zh) * 2016-06-28 2020-12-29 阿里巴巴集团控股有限公司 一种域名信息的查询方法和装置
CN108255602A (zh) * 2017-11-01 2018-07-06 平安普惠企业管理有限公司 任务组合方法及终端设备
CN108255602B (zh) * 2017-11-01 2020-11-27 平安普惠企业管理有限公司 任务组合方法及终端设备
CN110533450A (zh) * 2019-07-17 2019-12-03 上海数据交易中心有限公司 数据流通方法及装置、存储介质、服务器

Also Published As

Publication number Publication date
CN105183871B (zh) 2018-09-25

Similar Documents

Publication Publication Date Title
CN110545260B (zh) 一种基于拟态构造的云管理平台构建方法
CN108009236B (zh) 一种大数据查询方法、系统、计算机及存储介质
CN108256118B (zh) 数据处理方法、装置、系统、计算设备以及存储介质
US9736235B2 (en) Computer system, computer, and load balancing method
US20100198855A1 (en) Providing parallel result streams for database queries
JP2018532172A (ja) リソーススケジューリングのための方法およびシステム
CN109831507B (zh) 物联网系统、负载均衡方法和存储介质
CN105183871B (zh) 数据查询方法及装置
US11899554B2 (en) Usage pattern virtual machine idle detection
CN108933829A (zh) 一种负载均衡方法及装置
CN108509256B (zh) 调度运行设备的方法、设备和运行设备
US11947534B2 (en) Connection pools for parallel processing applications accessing distributed databases
CN106131244A (zh) 一种报文传送方法及装置
US10291730B1 (en) Throttling push notifications using predictive workload modeling
CN107479966B (zh) 一种基于多核心cpu的信令采集方法
US20180205613A1 (en) Method for automatically allocating ip address for distributed storage system in large-scale torus network and apparatus using the same
CN105872082B (zh) 基于容器集群负载均衡算法的细粒度资源响应系统
WO2017169471A1 (ja) 処理システムおよび処理方法
CN106445709A (zh) 一种分布式调用服务器的方法及其系统
CN114281524A (zh) 一种智能电缆业务处理系统管理方法及装置
WO2011035608A1 (zh) 一种数据查询系统及其构建方法与相应的数据查询方法
CN117478679A (zh) 基于数据分析的动态负载均衡方法
EP3469767A1 (en) Hierarchical data collector for use in real time data collection and related techniques
EP3993366A2 (en) Network load balancer, request message distribution method, program product and system
CN107231339B (zh) 一种DDoS攻击的检测方法以及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant