CN108563509A - 数据查询实现方法、装置、介质及电子设备 - Google Patents
数据查询实现方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN108563509A CN108563509A CN201810402022.9A CN201810402022A CN108563509A CN 108563509 A CN108563509 A CN 108563509A CN 201810402022 A CN201810402022 A CN 201810402022A CN 108563509 A CN108563509 A CN 108563509A
- Authority
- CN
- China
- Prior art keywords
- data query
- resource
- data
- system resource
- node manager
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据查询实现方法、装置、介质及电子设备,该数据查询实现方法包括:获取数据查询进程以及所述数据查询进程的动态配置参数,并向节点管理器提交所述数据查询进程;所述节点管理器对所述动态配置参数进行解析,确定出所述数据查询进程所需的资源,基于所述资源实现数据查询。本发明实施例的技术方案能够稳定、安全地实现在分布式资源管理***中部署快速的数据查询和处理功能,并且可以根据配置策略,动态实现工作节点的启停、释放以及所占用得***资源,实现集群资源的充分利用。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种数据查询实现方法、装置、介质及电子设备。
背景技术
随着数据量的***性增长,数据维度越来越多,数据之间的关联关系也越来越复杂,如何快速攫取数据中隐藏的巨大价值,除了构建优秀的数据模型,还需要快速分析、处理的技术能力。
现有的技术方案主要包括两种。第一种:独立部署模式,该模式独享硬件资源,例如中央处理器(CPU,Central Processing Unit、内存等***资源,若要扩展和缩减资源,需要手动启动和停止数据查询工作节点;第二种:一种基于资源协调器(Yarn,Yet AnotherResource Negotiator)的第三方框架的插件,即需要引入第三方技术框架,同时实现该插件的接口协议才能基于Yarn统一控制。
目前的两种模式都存在不足,第一种方案的不足是不够灵活、高效,无法动态地根据忙闲程度和时机进行无缝调整,在集群闲时,资源无法被其他框架使用;第二种方案的不足是增加了额外的技术框架,不仅需要进行版本匹配,还需要基于该框架的接口进行实现,不利于维护、扩展和升级,同时引入了另一个不确定的因素,再则第三方插件几近废除,就更加不可靠。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施例的目的在于提供一种数据查询实现方法、装置、介质及电子设备,进而至少在一定程度上克服相关技术中无法实现对数据快速分析和处理的问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的第一方面,提供了一种数据查询实现方法,包括:接收资源管理器发送的数据查询进程以及所述数据查询进程的***资源分配信息;当接收到配置参数更新数据后,基于所述更新后的配置参数,对所述数据查询进程所分配的***资源进行调整;基于所述调整后的***资源实现数据查询。
在本发明的一些实施例中,基于前述方案,所述基于所述更新后的配置参数,对所述数据查询进程所分配的***资源进行调整,包括:
对所述数据查询进程所占用的***资源进行动态监控,并基于队列资源状态以及所述更新后的配置参数,对所述数据查询进程进行调整。
在本发明的一些实施例中,基于前述方案,所述基于队列资源状态以及所述更新后的配置参数,对所述数据查询进程进行调整,包括:
当数据查询进程所占用的***资源大于预设资源阈值时,关闭所述数据查询进程,直至所述数据查询进程所占用的资源小于等于所述预设资源阈值;
当数据查询进程所占用的***资源小于预设资源阈值时,启动所述数据查询进程,直至所述数据查询进程所占用的资源大于等于所述预设资源阈值。
在本发明的一些实施例中,基于前述方案,所述基于所述调整后的***资源实现数据查询,包括:
接收数据查询协调器发送的查询子任务;
将所述查询子任务转换为物理执行计划,基于所述物理执行计划进行数据查询,获得查询结果;
将所述查询结果向数据查询协调器上传。
在本发明的一些实施例中,基于前述方案,所述方法还包括:
对所述数据查询子任务的运行状态进行检测,直至所述数据查询子任务运行完毕;
当检测到所述数据查询子任务运行失败时,重新申请***资源,基于所申请的***资源,重新启动所述数据查询子任务,进行数据查询。
根据本发明实施例的第二方面,提供了一种数据查询实现方法,包括:接收数据查询进程;为所述数据查询进程分配***资源;将所述数据查询进程以及所述数据查询进程的***资源分配信息向节点管理器发送。
在本发明的一些实施例中,基于前述方案,所述为所述数据查询进程分配***资源;将所述数据查询进程以及所述数据查询进程的***资源分配信息向节点管理器发送,包括:
为所述数据查询进程分配资源容器,并生成***资源分配信息,向所述资源容器所对应的节点管理器发送,以控制所述节点管理器在所述资源容器运行所述数据查询进程。
根据本发明实施例的第三方面,提供了一种数据查询实现方法,包括:获取数据查询任务;对所述数据查询任务进行解析,生成查询子任务;将所述查询子任务分发至节点管理器,以获取所述节点管理器返回的数据查询结果。
在本发明的一些实施例中,基于前述方案,所述对所述数据查询任务进行解析,生成查询子任务,包括:
对所述数据查询任务进行语法解析,将所述数据查询任务转换为语法树;
将数据库中的数据结构与所述语法树进行映射,获取逻辑查询计划;
对所述逻辑查询计划进行分布式解析,将所述逻辑查询计划转化为查询子任务。
根据本发明实施例的第四方面,提供了一种节点管理器,包括:接收模块、配置模块、查询模块;其中,
所述接收模块,用于接收资源管理器发送的数据查询进程以及所述数据查询进程的***资源分配信息;
所述配置模块,用于当接收到配置参数更新数据后,基于所述更新后的配置参数,对所述数据查询进程所分配的***资源进行调整;
所述查询模块,用于基于所述调整后的***资源实现数据查询。
根据本发明实施例的第五方面,提供了一种资源管理器,包括:接收模块、资源分配模块、发送模块;其中,
所述接收模块,用于接收数据查询进程;
所述资源分配模块,用于对所述数据查询任务进行解析,生成查询子任务;
所述发送模块,用于将所述查询子任务分发至节点管理器,以获取所述节点管理器返回的数据查询结果。
根据本发明实施例的第六方面,提供了一种数据查询协调器,包括:获取模块、解析模块、发送模块;其中,
所述获取模块,用于为所述数据查询进程分配***资源,接收节点管理器返回的数据查询结果
所述解析模块,用于对所述数据查询任务进行解析,生成查询子任务;
所述发送模块,用于将所述查询子任务分发至节点管理器。
根据本发明实施例的第七方面,提供了一种数据查询***,包括:节点管理器、资源管理器、数据查询协调器;其中,
所述节点管理器,用于接收资源管理器发送的数据查询进程以及所述数据查询进程的***资源分配信息;当接收到配置参数更新数据后,基于所述更新后的配置参数,对所述数据查询进程所分配的***资源进行调整;基于所述调整后的***资源实现数据查询;
所述资源管理器,用于接收数据查询进程;为所述数据查询进程分配***资源;将所述数据查询进程以及所述数据查询进程的***资源分配信息向节点管理器发送;
所述数据查询协调器,用于获取数据查询任务;对所述数据查询任务进行解析,生成查询子任务;将所述查询子任务分发至节点管理器,以获取所述节点管理器返回的数据查询结果。
根据本发明实施例的第八方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的数据查询实现方法,或第二方面所述的数据查询实现方法,或第三方面所述的数据查询实现方法。
根据本发明实施例的第九方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的数据查询实现方法,或第二方面所述的数据查询实现方法,或第三方面所述的数据查询实现方法。
本发明实施例提供的技术方案可以包括以下有益效果:
在本发明的一些实施例所提供的技术方案中,通过接收资源管理器发送的数据查询进程以及所述数据查询进程的***资源分配信息,当接收到配置参数更新数据后,基于所述更新后的配置参数,对所述数据查询进程所分配的***资源进行调整,基于所述调整后的***资源实现数据查询,使得能够在不改变查询引擎原有架构模式以及不入侵查询引擎核心逻辑的前提下,仅通过外壳包装,稳定、安全地实现在分布式资源管理***中部署快速的数据查询和处理功能,并且可以根据配置策略,动态实现工作节点的启停、释放以及所占用得***资源,实现集群资源的充分利用。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本发明的一个实施例的数据查询实现方法的流程图;
图2示意性示出了根据本发明的一个实施例的基于所述调整后的***资源实现数据查询的流程图;
图3示意性示出了根据本发明的一个实施例的资源管理器实现数据查询方法的流程图;
图4示意性示出了根据本发明的一个实施例的数据协调查询器实现数据查询方法的流程图;
图5示意性示出了根据本发明的实施例对所述数据查询任务进行解析并生成查询子任务的流程图;
图6示意性示出了根据本发明的一个实施例节点管理器的框图;
图7示意性示出了根据本发明的一个实施例资源管理器的框图;
图8示意性示出了根据本发明的一个实施例数据查询协调器的框图;
图9示意性示出了根据本发明的一个实施例数据查询***的框图;
图10示意性示出了根据本发明的一个实施例的数据查询方法的流程及结构示意图;
图11示出了适于用来实现本发明实施例的电子设备的计算机***的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示意性示出了根据本发明的一个实施例的数据查询实现方法的流程图。
参照图1所示,根据本发明的一个实施例的第一种数据查询实现方法,包括如下步骤:
步骤S110,接收资源管理器发送的数据查询进程以及数据查询进程的***资源分配信息;
在本发明的一个实施例中,步骤S110可以是由节点管理器执行,节点管理器负责对运行在当前节点资源容器中的数据查询进程的运行状态进行管理。
在本发明的一个实施例中,节点管理器中至少包括有监控节点和工作节点,监控节点可以包括有接收模块和配置模块,工作节点可以包括有查询模块。
在本发明的一个实施例中,当数据查询进程为Presto数据查询引擎时,监控节点可以是Presto应用-资源主节点,工作节点可以是Presto工作节点。
步骤S120,当接收到配置参数更新数据后,基于更新后的配置参数,对数据查询进程所分配的***资源进行调整;
在本发明的一个实施例中,步骤S120的执行主体为节点管理器中的监控节点。
在本发明的一个实施例中,当数据查询进程为Presto数据查询引擎时,执行上述步骤S120的监控节点为Presto应用-资源主节点,其主要功能包括:(1)负责解析配置参数;(2)负责动态监控Presto所在队列资源,根据资源大小,自适应维持Presto工作节点个数,例如:当Presto工作节点超出队列资源,则关闭Presto工作节点直至等于队列大小;当Presto工作节点低于队列资源,则申请启动新的Presto工作节点节点,直至等于队列资源;(3)负责保障每个节点管理器仅运行一个Presto工作节点进程,以便充分利用***资源,例如:内存、CPU、带宽和IO资源等。
在本发明的一个实施例中,基于更新后的配置参数,对数据查询进程所分配的***资源进行调整,具体包括:
对数据查询进程所占用的***资源进行动态监控,并基于队列资源状态以及更新后的配置参数,对数据查询进程进行调整。
在本发明的一个实施例中,基于前述方案,基于队列资源状态以及更新后的配置参数,对数据查询进程进行调整,包括:
当数据查询进程所占用的***资源大于预设资源阈值时,关闭数据查询进程,直至数据查询进程所占用的资源小于等于预设资源阈值;
当数据查询进程所占用的***资源小于预设资源阈值时,启动数据查询进程,直至数据查询进程所占用的资源大于等于预设资源阈值。
步骤S130,基于调整后的***资源实现数据查询。
在本发明的一个实施例中,步骤S130的执行主体为节点管理器中的工作节点。
在本发明的一个实施例中,如图2所示,基于调整后的***资源实现数据查询,包括:
步骤S210,接收数据查询协调器发送的查询子任务;
步骤S220,将查询子任务转换为物理执行计划,基于物理执行计划进行数据查询,获得查询结果;
步骤S230,将查询结果向数据查询协调器上传。
在本发明的一个实施例中,当数据查询进程为Presto数据查询引擎时,工作节点为Presto架构的实际工作节点,负责结构化查询语言(SQL,Structured Query Language)任务物理分片的执行、数据处理和结果返回。
图3示意性示出了根据本发明的一个实施例的资源管理器实现数据查询方法的流程图。
参照图3所示,根据本发明的一个实施例的资源管理器实现数据查询方法,包括如下步骤:
步骤S310,接收数据查询进程;
步骤S320,为数据查询进程分配***资源;
步骤S330,将数据查询进程以及数据查询进程的***资源分配信息向节点管理器发送。
在本发明的一个实施例中,步骤S310-S330的执行主体为资源管理器,当资源管理器部署于YARN框架中时,资源管理器用于整个YARN集群的资源管理和分配,以及对节点管理器的管理和监控。
在本发明的一个实施例中,在YARN框架中,资源管理器根据***资源铜梁容量、队列资源等限制条件,例如:每个队列分配一定的资源、最多执行一定数量的作业等限制条件,将***中的资源分配给各个正在运行的数据查询进程;其中,资源分配单位用资源容器(Resource Container)表示,资源容器是一个动态资源分配单位,它将内存、CPU、磁盘、网络等资源封装在一起,从而限定每个任务使用的资源量;资源管理器还用于负责管理整个***中所有数据查询进程,包括数据查询进程提交、分配资源以启动数据查询进程的监控节点、对监控节点的运行状态进行检测,并在运行失败时重新启动它等。
在本发明的一个实施例中,为数据查询进程分配***资源;将数据查询进程以及数据查询进程的***资源分配信息向节点管理器发送,包括:
为数据查询进程分配资源容器,并生成***资源分配信息,向资源容器所对应的节点管理器发送,以控制节点管理器在资源容器运行数据查询进程。
图4示意性示出了根据本发明的一个实施例的数据协调查询器实现数据查询方法的流程图。
参照图4所示,根据本发明的一个实施例的数据协调查询器实现数据查询方法,包括如下步骤:
步骤S410,获取数据查询任务;
步骤S420,对数据查询任务进行解析,生成查询子任务;
步骤S430,将查询子任务分发至节点管理器,以获取节点管理器返回的数据查询结果。
在本发明的一个实施例中,步骤S410至S430的执行主体为数据查询协调器,当资源管理器部署于YARN框架中时,资源管理器用于整个YARN集群的资源管理和分配,以及对节点管理器的管理和监控。
在本发明的一个实施例中,如图5所示,对数据查询任务进行解析,生成查询子任务,包括:
步骤S510,对数据查询任务进行语法解析,将数据查询任务转换为语法树;
步骤S520,将数据库中的数据结构与语法树进行映射,获取逻辑查询计划;
步骤S530,对逻辑查询计划进行分布式解析,将逻辑查询计划转化为查询子任务。
在本发明的一个实施例中,在Presto应用场景下,Presto应用客户端直连数据查询协调器,提交SQL任务,由数据查询协调器中的Presto主节点解析、校验、优化重组并生成查询逻辑执行计划,分发给节点管理器中相应工作节点,在工作节点上按照逻辑计划,生成物理执行计划并向Presto应用客户端返回最终执行结果。
在在本发明的一个实施例中,提供了一种数据查询引擎部署YARN模式,即数据查询引擎的数据查询协调器和节点管理中的监控节点均独立于YARN,而工作节点和资源管理器部署于YARN,如此,这既保障了主节点和监控节点独立、稳定,又能根据配置策略充分享用集群资源,使得能够在不改变查询引擎原有架构模式以及不入侵查询引擎核心逻辑的前提下,仅通过外壳包装,稳定、安全地实现在分布式资源管理***中部署快速的数据查询和处理功能,并且可以根据配置策略,动态实现工作节点的启停、释放以及所占用得***资源,实现集群资源的充分利用。
以下介绍本发明的装置实施例,可以用于执行本发明上述的数据查询实现方法。
图6示意性示出了根据本发明的一个实施例节点管理器的框图。
参照图6所示,根据本发明的一个实施例的节点管理器600,包括:接收模块602、配置模块604、查询模块606;其中,
接收模块602,用于接收资源管理器发送的数据查询进程以及数据查询进程的***资源分配信息;
配置模块604,用于当接收到配置参数更新数据后,基于更新后的配置参数,对数据查询进程所分配的***资源进行调整;
查询模块606,用于基于调整后的***资源实现数据查询。
在本发明的一个实施例中,配置模块604具体用于:对数据查询进程所占用的***资源进行动态监控,并基于队列资源状态以及更新后的配置参数,对数据查询进程进行调整。
在本发明的一个实施例中,配置模块604还具体用于:当数据查询进程所占用的***资源大于预设资源阈值时,关闭数据查询进程,直至数据查询进程所占用的资源小于等于预设资源阈值;
当数据查询进程所占用的***资源小于预设资源阈值时,启动数据查询进程,直至数据查询进程所占用的资源大于等于预设资源阈值。
在本发明的一个实施例中,查询模块606用于:
接收数据查询协调器发送的查询子任务;
将查询子任务转换为物理执行计划,基于物理执行计划进行数据查询,获得查询结果;
将查询结果向数据查询协调器上传。
在本发明的一个实施例中,节点管理器600还包括:
检测模块608,用于对数据查询子任务的运行状态进行检测,直至数据查询子任务运行完毕;当检测到数据查询子任务运行失败时,重新申请***资源,基于所申请的***资源,重新启动数据查询子任务,进行数据查询。
图7示意性示出了根据本发明的一个实施例资源管理器的框图。
参照图7所示,根据本发明的一个实施例的资源管理器700,包括:接收模块702、资源分配模块704、发送模块706;其中,
接收模块702,用于接收数据查询进程;
资源分配模块704,用于对数据查询任务进行解析,生成查询子任务;
发送模块706,用于将查询子任务分发至节点管理器,以获取节点管理器返回的数据查询结果。
在本发明的一个实施例中,资源分配模块702还用于:
为数据查询进程分配资源容器,并生成***资源分配信息,向资源容器所对应的节点管理器发送,以控制节点管理器在资源容器运行数据查询进程。
图8示意性示出了根据本发明的一个实施例数据查询协调器的框图。
参照图8所示,根据本发明的一个实施例的数据查询协调器800,包括:获取模块802、解析模块804、发送模块806;其中,
获取模块802,用于为数据查询进程分配***资源,接收节点管理器返回的数据查询结果
解析模块804,用于对数据查询任务进行解析,生成查询子任务;
发送模块806,用于将查询子任务分发至节点管理器。
在本发明的一个实施例中,解析模块804具体用于:对数据查询任务进行语法解析,将数据查询任务转换为语法树;将数据库中的数据结构与语法树进行映射,获取逻辑查询计划;对逻辑查询计划进行分布式解析,将逻辑查询计划转化为查询子任务。
图9示意性示出了根据本发明的一个实施例数据查询***的框图。
参照图9所示,根据本发明的一个实施例的数据查询***900,包括:节点管理器600、资源管理器700、数据查询协调器800;其中,
节点管理器600,用于接收资源管理器发送的数据查询进程以及数据查询进程的***资源分配信息;当接收到配置参数更新数据后,基于更新后的配置参数,对数据查询进程所分配的***资源进行调整;基于调整后的***资源实现数据查询;
资源管理器700,用于接收数据查询进程;为数据查询进程分配***资源;将数据查询进程以及数据查询进程的***资源分配信息向节点管理器发送;
数据查询协调器800,用于获取数据查询任务;对数据查询任务进行解析,生成查询子任务;将查询子任务分发至节点管理器,以获取节点管理器返回的数据查询结果。
由于本发明的示例实施例的节点管理器、资源管理器、数据查询协调器的各个功能模块与上述第一种数据查询实现方法、第二种数据查询实现方法、第三种数据查询实现方法的示例实施例的步骤对应,因此对于本发明装置实施例中未披露的细节,请参照本发明上述的第一种数据查询实现方法、第二种数据查询实现方法、第三种数据查询实现方法的实施例。
以下结合图10所示,以数据查询进程为Presto数据查询引擎,以Yarn框架所包含的资源管理器和节点管理器所组成的数据查询***为例,对本发明实施例的数据查询实现方法进行详细阐述:
如图10所示,根据本发明的一个实施例的数据查询方法,包括如下步骤:
步骤S1001,Presto控制客户端向资源管理器提供Presto应用以及配置文件;
在本发明的一个实施例中,资源管理器接收Presto应用后,为Presto应用分配***资源;将Presto应用以及Presto应用的***资源分配信息向节点管理器发送。
在本发明的一个实施例中,Presto控制客户端与资源管理器通信,将Presto所需的Java Jar包、配置文件、参数(如Presto工作节点运行内存、个数等)提交到HDFS上对应目录下,供节点管理器启动Presto应用时,下载所需资源到本地,并执行启动命令,并查询Presto应用运行状态,关闭或杀死Presto进程。
在本发明的一个实施例中,资源管理器时Yarn框架的核心控制节点,负责整个集群的资源管理和分配;负责对节点管理器的管理和监控。
步骤S1002,资源管理器为Presto应用分配第一个资源容器,并与对应的节点管理器通信,要求它在资源容器中启动Presto应用-资源主节点。
其中,Presto应用-资源主节点接收资源管理器发送的Presto应用以及Presto应用的资源分配信息;当接收到配置参数更新数据后,基于更新后的配置参数,对Presto应用所分配的***资源进行调整;基于调整后的***资源在工作节点上实现数据查询。
步骤S1003,监控节点向资源管理器进行注册;
步骤S1004,监控节点注册成功后,Presto控制客户端可以直接从节点管理器检测Presto应用的运行状态;
步骤S1005,Presto应用-资源主节点向资源管理器申请和领取资源;
步骤S1006,当Presto应用-资源主节点申请到资源后,控制节点管理器启动查询子任务;
步骤S1007,节点管理器为查询子任务设置好运行环境,控制Presto工作节点启动查询子任务;
在本发明的一个实施例中,步骤1007,如图10所示,Presto工作节点执行查询子任务包括以下步骤:
步骤S1011,Presto应用客户端向数据查询协调器的Presto主节点提交数据查询任务;
步骤S1012,Presto主节点对查询任务解析、校验、优化重组并生成查询子任务,向注册与发现服务节点提交;
步骤S1013,注册与发现服务节点向Yarn的Presto工作节点分发查询子任务;
步骤S1014,接收Presto工作节点的查询结果,并上报至Presto应用客户端。
步骤S1008,Presto工作节点向Presto应用-资源主节点汇报自己的状态和进度,以让Presto应用-资源主节点随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务;
步骤S1009,当Presto应用-资源主节点检测到Presto工作节点查询子任务运行完毕后,向资源管理器注销并关闭自己。
下面参考图11,其示出了适于用来实现本发明实施例的电子设备的计算机***1100的结构示意图。图11示出的电子设备的计算机***1100仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,计算机***1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有***操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分11011;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本申请的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中的证书管理方法。
例如,上述的电子设备可以实现如图1中所示的:步骤S110,接收资源管理器发送的数据查询进程以及数据查询进程的***资源分配信息;步骤S120,当接收到配置参数更新数据后,基于更新后的配置参数,对数据查询进程所分配的***资源进行调整;步骤S130,基于调整后的***资源实现数据查询。
又如,上述的电子设备可以实现如图3所示的各个步骤。
又如,上述的电子设备可以实现如图4所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (15)
1.一种数据查询实现方法,其特征在于,包括:
接收资源管理器发送的数据查询进程以及所述数据查询进程的***资源分配信息;
当接收到配置参数更新数据后,基于所述更新后的配置参数,对所述数据查询进程所分配的***资源进行调整;
基于所述调整后的***资源实现数据查询。
2.根据权利要求1所述的数据查询实现方法,其特征在于,所述基于所述更新后的配置参数,对所述数据查询进程所分配的***资源进行调整,包括:
对所述数据查询进程所占用的***资源进行动态监控,并基于队列资源状态以及所述更新后的配置参数,对所述数据查询进程进行调整。
3.根据权利要求2所述的数据查询实现方法,其特征在于,所述基于队列资源状态以及所述更新后的配置参数,对所述数据查询进程进行调整,包括:
当数据查询进程所占用的***资源大于预设资源阈值时,关闭所述数据查询进程,直至所述数据查询进程所占用的资源小于等于所述预设资源阈值;
当数据查询进程所占用的***资源小于预设资源阈值时,启动所述数据查询进程,直至所述数据查询进程所占用的资源大于等于所述预设资源阈值。
4.根据权利要求1所述的数据查询实现方法,其特征在于,所述基于所述调整后的***资源实现数据查询,包括:
接收数据查询协调器发送的查询子任务;
将所述查询子任务转换为物理执行计划,基于所述物理执行计划进行数据查询,获得查询结果;
将所述查询结果向数据查询协调器上传。
5.根据权利要求4所述的数据查询实现方法,其特征在于,所述方法还包括:
对所述数据查询子任务的运行状态进行检测,直至所述数据查询子任务运行完毕;
当检测到所述数据查询子任务运行失败时,重新申请***资源,基于所申请的***资源,重新启动所述数据查询子任务,进行数据查询。
6.一种数据查询实现方法,其特征在于,包括:
接收数据查询进程;
为所述数据查询进程分配***资源;
将所述数据查询进程以及所述数据查询进程的***资源分配信息向节点管理器发送。
7.根据权利要求1所述的数据查询实现方法,其特征在于,所述方法还包括:
为所述数据查询进程分配资源容器,并生成***资源分配信息,向所述资源容器所对应的节点管理器发送,以控制所述节点管理器在所述资源容器运行所述数据查询进程。
8.一种数据查询实现方法,其特征在于,包括:
获取数据查询任务;
对所述数据查询任务进行解析,生成查询子任务;
将所述查询子任务分发至节点管理器,以获取所述节点管理器返回的数据查询结果。
9.根据权利要求8所述的数据查询实现方法,其特征在于,所述对所述数据查询任务进行解析,生成查询子任务,包括:
对所述数据查询任务进行语法解析,将所述数据查询任务转换为语法树;
将数据库中的数据结构与所述语法树进行映射,获取逻辑查询计划;
对所述逻辑查询计划进行分布式解析,将所述逻辑查询计划转化为查询子任务。
10.一种节点管理器,其特征在于,包括:接收模块、配置模块、查询模块;其中,
所述接收模块,用于接收资源管理器发送的数据查询进程以及所述数据查询进程的***资源分配信息;
所述配置模块,用于当接收到配置参数更新数据后,基于所述更新后的配置参数,对所述数据查询进程所分配的***资源进行调整;
所述查询模块,用于基于所述调整后的***资源实现数据查询。
11.一种资源管理器,其特征在于,包括:接收模块、资源分配模块、发送模块;其中,
所述接收模块,用于接收数据查询进程;
所述资源分配模块,用于对所述数据查询任务进行解析,生成查询子任务;
所述发送模块,用于将所述查询子任务分发至节点管理器,以获取所述节点管理器返回的数据查询结果。
12.一种数据查询协调器,其特征在于,包括:获取模块、解析模块、发送模块;其中,
所述获取模块,用于为所述数据查询进程分配***资源,接收节点管理器返回的数据查询结果
所述解析模块,用于对所述数据查询任务进行解析,生成查询子任务;
所述发送模块,用于将所述查询子任务分发至节点管理器。
13.一种数据查询***,其特征在于,包括:节点管理器、资源管理器、数据查询协调器;其中,
所述节点管理器,用于接收资源管理器发送的数据查询进程以及所述数据查询进程的***资源分配信息;当接收到配置参数更新数据后,基于所述更新后的配置参数,对所述数据查询进程所分配的***资源进行调整;基于所述调整后的***资源实现数据查询;
所述资源管理器,用于接收数据查询进程;为所述数据查询进程分配***资源;将所述数据查询进程以及所述数据查询进程的***资源分配信息向节点管理器发送;
所述数据查询协调器,用于获取数据查询任务;对所述数据查询任务进行解析,生成查询子任务;将所述查询子任务分发至节点管理器,以获取所述节点管理器返回的数据查询结果。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至5中任一项所述的数据查询实现方法,或实现如权利要求6或7中任一项所述的数据查询实现方法,或实现如权利要求8或9中任一项所述的数据查询实现方法。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一项所述的数据查询方法,或实现如权利要求6或7中任一项所述的数据查询实现方法,或实现如权利要求8或9中任一项所述的数据查询实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810402022.9A CN108563509A (zh) | 2018-04-28 | 2018-04-28 | 数据查询实现方法、装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810402022.9A CN108563509A (zh) | 2018-04-28 | 2018-04-28 | 数据查询实现方法、装置、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108563509A true CN108563509A (zh) | 2018-09-21 |
Family
ID=63537247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810402022.9A Pending CN108563509A (zh) | 2018-04-28 | 2018-04-28 | 数据查询实现方法、装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108563509A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271409A (zh) * | 2018-11-08 | 2019-01-25 | 成都索贝数码科技股份有限公司 | 一种基于容器资源分配的数据库分片执行方法 |
CN109977161A (zh) * | 2019-03-28 | 2019-07-05 | 上海中通吉网络技术有限公司 | presto集群的监控*** |
CN110399386A (zh) * | 2019-07-15 | 2019-11-01 | 南威软件股份有限公司 | 一种基于Presto的SQL UPDATE方法及控制*** |
CN110750424A (zh) * | 2019-10-17 | 2020-02-04 | 北京百度网讯科技有限公司 | 资源巡检方法和装置 |
CN112364047A (zh) * | 2020-11-03 | 2021-02-12 | 山东亿云信息技术有限公司 | 基于Presto的动态数据处理方法及跨库查询方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310011A (zh) * | 2013-07-02 | 2013-09-18 | 曙光信息产业(北京)有限公司 | 集群数据库***环境下的数据查询解析方法 |
CN105404549A (zh) * | 2015-12-06 | 2016-03-16 | 北京天云融创软件技术有限公司 | 基于yarn架构的虚拟机调度*** |
WO2016127042A1 (en) * | 2015-02-06 | 2016-08-11 | Microsoft Technology Licensing, Llc | Adapting timeout values for voice-recognition in association with text boxes |
CN107908479A (zh) * | 2017-12-11 | 2018-04-13 | 北京奇艺世纪科技有限公司 | 一种节点资源分配方法及装置 |
-
2018
- 2018-04-28 CN CN201810402022.9A patent/CN108563509A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310011A (zh) * | 2013-07-02 | 2013-09-18 | 曙光信息产业(北京)有限公司 | 集群数据库***环境下的数据查询解析方法 |
WO2016127042A1 (en) * | 2015-02-06 | 2016-08-11 | Microsoft Technology Licensing, Llc | Adapting timeout values for voice-recognition in association with text boxes |
CN105404549A (zh) * | 2015-12-06 | 2016-03-16 | 北京天云融创软件技术有限公司 | 基于yarn架构的虚拟机调度*** |
CN107908479A (zh) * | 2017-12-11 | 2018-04-13 | 北京奇艺世纪科技有限公司 | 一种节点资源分配方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271409A (zh) * | 2018-11-08 | 2019-01-25 | 成都索贝数码科技股份有限公司 | 一种基于容器资源分配的数据库分片执行方法 |
CN109271409B (zh) * | 2018-11-08 | 2021-11-02 | 成都索贝数码科技股份有限公司 | 一种基于容器资源分配的数据库分片执行方法 |
CN109977161A (zh) * | 2019-03-28 | 2019-07-05 | 上海中通吉网络技术有限公司 | presto集群的监控*** |
CN110399386A (zh) * | 2019-07-15 | 2019-11-01 | 南威软件股份有限公司 | 一种基于Presto的SQL UPDATE方法及控制*** |
CN110399386B (zh) * | 2019-07-15 | 2022-05-10 | 南威软件股份有限公司 | 一种基于Presto的SQL UPDATE方法及控制*** |
CN110750424A (zh) * | 2019-10-17 | 2020-02-04 | 北京百度网讯科技有限公司 | 资源巡检方法和装置 |
CN110750424B (zh) * | 2019-10-17 | 2023-07-04 | 北京百度网讯科技有限公司 | 资源巡检方法和装置 |
CN112364047A (zh) * | 2020-11-03 | 2021-02-12 | 山东亿云信息技术有限公司 | 基于Presto的动态数据处理方法及跨库查询方法 |
CN112364047B (zh) * | 2020-11-03 | 2024-04-09 | 山东华智人才科技有限公司 | 基于Presto的动态数据处理方法及跨库查询方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108563509A (zh) | 数据查询实现方法、装置、介质及电子设备 | |
CN107590001B (zh) | 负载均衡方法及装置、存储介质、电子设备 | |
CN106790660B (zh) | 一种实现分布式存储***的部署方法及装置 | |
EP4142427A1 (en) | Distributed data nodes for flexible data mesh architectures | |
US20140344323A1 (en) | State-based configuration management for distributed systems | |
US11019128B2 (en) | Identity service management in limited connectivity environments | |
JP5444337B2 (ja) | ネットワーク資源がサービス・ランドスケープ・インスタンス内でプロビジョンされるときに、ネットワーク・セキュリティ・ポリシ・ルールを更新するためのコンピュータ実装方法、システム及びコンピュータ・プログラム | |
CN110462589A (zh) | 本地装置协调器中的按需代码执行 | |
CN111108479A (zh) | 自主多租户数据库云服务框架 | |
EP2590113B1 (en) | On demand multi-objective network optimization | |
EP3701741A1 (en) | Network slice management | |
CN108431796A (zh) | 分布式资源管理***和方法 | |
CN111371679A (zh) | 一种基于kubernetes与Kong实现API网关的方法 | |
CN109408205A (zh) | 基于hadoop集群的任务调度方法和装置 | |
CN109815025A (zh) | 业务模型调用方法、装置及存储介质 | |
CN113709810B (zh) | 一种网络服务质量的配置方法、设备和介质 | |
CN104508625A (zh) | 用于监视云资源的抽象模型 | |
CN110166507B (zh) | 多资源调度方法和装置 | |
CN108804402A (zh) | 基于大数据平台的报表生成***和方法 | |
CN111818194A (zh) | 基于域名的访问***和方法 | |
CN109597810A (zh) | 一种任务切分方法、装置、介质及电子设备 | |
CN109428926A (zh) | 一种调度任务节点的方法和装置 | |
CN113849300A (zh) | 一种边缘配置***及方法 | |
Gadre et al. | Centralized approaches for virtual network function placement in SDN-enabled networks | |
CN113515341A (zh) | 一种灵活的分布式ai训练云平台部署方法及相关平台 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, 100176 Applicant after: Jingdong Digital Technology Holding Co., Ltd. Address before: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, 100176 Applicant before: Beijing Jingdong Financial Technology Holding Co., Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180921 |