SQL查询命令处理方法、装置、设备及可读存储介质制造方法及图纸

技术编号:24251475 阅读:60 留言:0更新日期:2020-05-22 23:32
本发明专利技术属于数据处理技术领域,提供一种SQL查询命令处理方法、装置、设备及可读存储介质,该方法包括:在接收到SQL查询命令时,确定所述SQL查询命令对应的执行计划的资源消耗;将所述SQL查询命令对应的执行计划的资源消耗,与预设阈值进行比对;若所述SQL查询命令对应的执行计划的资源消耗小于预设阈值,则确定查询引擎集群中各节点的任务承载能力;根据所述各节点的所述任务承载能力,从所述各节点中确定执行所述SQL查询命令的目标节点,并将所述SQL查询命令分配至所述目标节点。本发明专利技术能保证查询引擎各节点的负载均衡,提升查询引擎的性能,进而提高响应SQL查询命令的速度。

SQL query command processing method, device, device and readable storage medium

【技术实现步骤摘要】
SQL查询命令处理方法、装置、设备及可读存储介质
本专利技术涉及数据处理
,尤其涉及一种SQL查询命令处理方法、装置、设备及可读存储介质。
技术介绍
查询引擎Impala是Cloudera在受到Google的Dremel启发下开发的实时交互SQL大数据查询工具,查询引擎Impala中负责执行SQL查询命令的集群节点称为ImpalaD节点。常用的SQL查询命令处理是依次将SQL查询命令派发至各个ImpalaD节点进行处理,当前一个ImpalaD节点无法处理时,再派发至后一个ImpalaD节点,这种方式,会导致部分ImpalaD节点负载过重,导致整个impala集群宕机,进而影响响应SQL查询命令的速度。
技术实现思路
本专利技术的主要目的在于提供一种SQL查询命令处理方法、装置、设备及可读存储介质,旨在保证查询引擎各节点的负载均衡,从而提升查询引擎的性能,进而提高响应SQL查询命令的速度。为实现上述目的,本专利技术提供一种SQL查询命令处理方法,所述方法包括以下步骤:在接收到SQL查询命令时,确定所述SQL查询命令对应的执行计划的资源消耗;将所述SQL查询命令对应的执行计划的资源消耗,与预设阈值进行比对;若所述SQL查询命令对应的执行计划的资源消耗小于预设阈值,则确定查询引擎集群中各节点的任务承载能力;根据所述各节点的所述任务承载能力,从所述各节点中确定执行所述SQL查询命令的目标节点,并将所述SQL查询命令分配至所述目标节点。可选地,所述确定所述SQL查询命令对应的执行计划的资源消耗的步骤包括:查找所述待执行查询命令对应的执行计划,并对所述执行计划进行解析,以获取所述执行计划的参数;根据所述执行计划的参数,查找所述执行计划的资源消耗。可选地,所述确定查询引擎集群中各节点的任务承载能力的步骤包括:获取查询引擎集群中各节点等待被执行的SQL查询命令数;根据所述各节点等待被执行的SQL查询命令数,确定所述各节点的任务承载能力。可选地,所述根据所述各节点等待被执行的SQL查询命令数,确定所述各节点的任务承载能力的步骤包括:计算查询引擎集群执行单个SQL查询命令的平均时间;根据查询引擎集群执行单个SQL查询命令的所述平均时间,以及,所述各节点等待被执行的SQL查询命令数,计算所述各节点的预等待时间;根据所述各节点的预等待时间,确定所述各节点的任务承载能力。可选地,所述计算查询引擎集群执行单个SQL查询命令的平均时间的步骤包括:选取当前之前待计算的各预设时间段,其中,每个预设时间段的时长相同;获取查询引擎集群在每个预设时间段内完成的SQL查询命令总数;根据查询引擎集群在每个预设时间段内完成的所述SQL查询命令总数,计算查询引擎集群在每个预设时间段内的单个SQL查询命令完成时间;计算所述单个SQL查询命令完成时间的均值,作为查询引擎集群执行单个SQL查询命令的平均时间。可选地,所述根据所述各节点的所述任务承载能力,从所述各节点中确定执行所述SQL查询命令的目标节点的步骤包括:对所述各节点的所述任务承载能力按大小进行排序;选取任务承载能力最大的节点,作为执行所述SQL查询命令的目标节点。可选地,所述确定查询引擎集群中各节点的任务承载能力的步骤之前,包括:判断所述SQL查询命令是否属于可信SQL查询命令;若是,则执行步骤:确定查询引擎集群中各节点的任务承载能力。此外,为实现上述目的,本专利技术还提供一种SQL查询命令处理装置,所述SQL查询命令处理装置包括:资源消耗确定模块,用于在接收到SQL查询命令时,确定所述SQL查询命令对应的执行计划的资源消耗;比对模块,用于将所述SQL查询命令对应的执行计划的资源消耗,与预设阈值进行比对;任务承载能力确定模块,用于若所述SQL查询命令对应的执行计划的资源消耗小于预设阈值,则确定查询引擎集群中各节点的任务承载能力;目标节点确定模块,用于根据所述各节点的所述任务承载能力,从所述各节点中确定执行所述SQL查询命令的目标节点,并将所述SQL查询命令分配至所述目标节点。此外,为实现上述目的,本专利技术还提供一种SQL查询命令处理设备,所述SQL查询命令处理设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的SQL查询命令处理程序,其中所述SQL查询命令处理程序被所述处理器执行时,实现如上述的SQL查询命令处理方法的步骤。此外,为实现上述目的,本专利技术还提供一种可读存储介质,所述可读存储介质上存储有SQL查询命令处理程序,其中所述SQL查询命令处理程序被处理器执行时,实现如上述的SQL查询命令处理方法的步骤。本专利技术提供一种SQL查询命令处理方法、装置、设备及可读存储介质,本专利技术在接收到SQL查询命令时,确定所述SQL查询命令对应的执行计划的资源消耗;将所述SQL查询命令对应的执行计划的资源消耗,与预设阈值进行比对;若所述SQL查询命令对应的执行计划的资源消耗小于预设阈值,则确定查询引擎集群中各节点的任务承载能力;根据所述各节点的所述任务承载能力,从所述各节点中确定执行所述SQL查询命令的目标节点,并将所述SQL查询命令分配至所述目标节点。本专利技术通过上述方式,能够合理利用查询引擎集群中的各节点,从而保证查询引擎各节点的负载均衡,提升查询引擎的性能,进而提高响应SQL查询命令的速度。附图说明图1为本专利技术各实施例涉及的SQL查询命令处理设备的硬件结构示意图;图2为本专利技术SQL查询命令处理方法第一实施例的流程示意图;图3为本专利技术SQL查询命令处理装置第一实施例的功能模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例涉及的SQL查询命令处理方法主要应用于SQL查询命令处理设备,该SQL查询命令处理设备可以是由多个加密机组成的加密机集群。参照图1,图1为本专利技术实施例方案中涉及的SQL查询命令处理设备的硬件结构示意图。本专利技术实施例中,SQL查询命令处理设备可以包括处理器1001(例如中央处理器CentralProcessingUnit、CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口);存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构本文档来自技高网...

【技术保护点】
1.一种SQL查询命令处理方法,其特征在于,所述方法包括以下步骤:/n在接收到SQL查询命令时,确定所述SQL查询命令对应的执行计划的资源消耗;/n将所述SQL查询命令对应的执行计划的资源消耗,与预设阈值进行比对;/n若所述SQL查询命令对应的执行计划的资源消耗小于预设阈值,则确定查询引擎集群中各节点的任务承载能力;/n根据所述各节点的所述任务承载能力,从所述各节点中确定执行所述SQL查询命令的目标节点,并将所述SQL查询命令分配至所述目标节点。/n

【技术特征摘要】
1.一种SQL查询命令处理方法,其特征在于,所述方法包括以下步骤:
在接收到SQL查询命令时,确定所述SQL查询命令对应的执行计划的资源消耗;
将所述SQL查询命令对应的执行计划的资源消耗,与预设阈值进行比对;
若所述SQL查询命令对应的执行计划的资源消耗小于预设阈值,则确定查询引擎集群中各节点的任务承载能力;
根据所述各节点的所述任务承载能力,从所述各节点中确定执行所述SQL查询命令的目标节点,并将所述SQL查询命令分配至所述目标节点。


2.如权利要求1所述的SQL查询命令处理方法,其特征在于,所述确定所述SQL查询命令对应的执行计划的资源消耗的步骤包括:
查找所述待执行查询命令对应的执行计划,并对所述执行计划进行解析,以获取所述执行计划的参数;
根据所述执行计划的参数,查找所述执行计划的资源消耗。


3.如权利要求1所述的SQL查询命令处理方法,其特征在于,所述确定查询引擎集群中各节点的任务承载能力的步骤包括:
获取查询引擎集群中各节点等待被执行的SQL查询命令数;
根据所述各节点等待被执行的SQL查询命令数,确定所述各节点的任务承载能力。


4.如权利要求3所述的SQL查询命令处理方法,其特征在于,所述根据所述各节点等待被执行的SQL查询命令数,确定所述各节点的任务承载能力的步骤包括:
计算查询引擎集群执行单个SQL查询命令的平均时间;
根据查询引擎集群执行单个SQL查询命令的所述平均时间,以及,所述各节点等待被执行的SQL查询命令数,计算所述各节点的预等待时间;
根据所述各节点的预等待时间,确定所述各节点的任务承载能力。


5.如权利要求4所述的SQL查询命令处理方法,其特征在于,所述计算查询引擎集群执行单个SQL查询命令的平均时间的步骤包括:
选取当前之前待计算的各预设时间段,其中,每个预设时间段的时长相同;
获取查询引擎集群在每个预设时间段内完成的SQL查询命令总数;
根据查询引擎集群在每个预设时间段内完成的所述SQL查询命令总数,...

【专利技术属性】
技术研发人员:卢易吴证娄祎铭
申请(专利权)人:未鲲上海科技服务有限公司
类型:发明
国别省市:上海;31

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

1