CN111221871A - 实时查询任务发布方法、平台、设备及存储介质 - Google Patents
实时查询任务发布方法、平台、设备及存储介质 Download PDFInfo
- Publication number
- CN111221871A CN111221871A CN201911120498.4A CN201911120498A CN111221871A CN 111221871 A CN111221871 A CN 111221871A CN 201911120498 A CN201911120498 A CN 201911120498A CN 111221871 A CN111221871 A CN 111221871A
- Authority
- CN
- China
- Prior art keywords
- task
- real
- sql
- user
- flink
- 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.)
- Withdrawn
Links
Images
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
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or 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
- G06F16/242—Query formulation
- G06F16/2433—Query languages
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种实时查询任务发布方法、平台、设备及存储介质,该方法包括:接收待发布的SQL任务文件;将所述SQL任务文件存储于任务数据库中;从所述任务数据库中获取新的SQL任务文件,生成Flink计算引擎流图;将所述Flink计算引擎流图添加至集群计算资源的任务列表,所述集群计算资源配置为调用Flink计算引擎执行所述任务列表中的Flink计算引擎流图。通过采用本发明的方案,基于Flink计算引擎实现实时查询任务发布,提高了计算任务发布效率,可满足用户高吞吐低延迟的需求;本发明可以实现实时查询任务发布平台的多种输入源和多种输出,提高了实时查询任务发布平台的普适性。
Description
技术领域
本发明涉及大数据处理技术领域,尤其涉及一种实时查询任务发布方法、平台、设备及存储介质。
背景技术
随着大数据的应用日趋广泛,业务需求方不再满足于离线计算花费的时间成本,对时间要求越来越高,大家把目光都聚焦在实时计算上,实时计算的需求也越来越多,但是实时计算的开发成本却比较高,很难满足业务需求方在时间上的要求。
然而,现有的查询任务发布平台采用的均是近实时计算框架,存在数据延迟,不能达到低延迟高吞吐的性能要求。并且,现有的计算任务发布平台缺乏完善的语法语义支持,实现特殊的业务需求时开发代码难度比较大,对开发人员的要求比较高,不具有普适性。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种实时查询任务发布方法、平台、设备及存储介质,基于Flink计算引擎实现实时查询任务发布,提高计算任务发布效率,可满足用户高吞吐低延迟的需求。
本发明实施例提供一种实时查询任务发布方法,所述方法包括如下步骤:
接收待发布的SQL任务文件;
将所述SQL任务文件存储于任务数据库中;
从所述任务数据库中获取新的SQL任务文件,生成Flink计算引擎流图;
将所述Flink计算引擎流图添加至集群计算资源的任务列表,所述集群计算资源配置为调用Flink计算引擎执行所述任务列表中的Flink计算引擎流图。
可选地,所述接收待发布的SQL任务文件,包括如下步骤:
接收用户在界面上的任务配置信息和SQL语句;
根据所述任务配置信息和SQL语句创建SQL任务,生成SQL任务文件。
可选地,所述任务配置信息包括所属的项目名称,所述接收待发布的SQL任务文件之后,还包括查询所述项目名称所对应的项目信息。
可选地,所述项目信息包括执行队列信息,所述集群计算资源包括多个任务列表,各个所述任务列表对应于所述集群计算资源中不同的计算节点;
所述将所述Flink计算引擎流图添加至集群计算资源的任务列表,包括将所述Flink计算引擎流图添加至所述集群计算资源中与所述执行队列信息相对应的任务列表。
可选地,所述接收待发布的SQL任务文件之前,还包括如下步骤:
用户登录成功后,获取用户的登录信息;
根据用户的登录信息查询用户具有操作权限的项目名称;
用户新建SQL任务文件时,将用户具有操作权限的项目名称推送至用户,以供用户选择。
可选地,所述方法还包括如下步骤:
将用户具有操作权限的项目名称下对应的SQL任务信息推送至用户;
根据用户对SQL任务的选择显示对应的SQL任务配置界面;
根据用户对SQL任务的配置重新生成SQL任务文件,并将重新生成的SQL任务文件作为待发布的SQL任务文件;
比较所述任务数据库的任务列表与所述集群计算资源的任务列表,将修改前的SQL任务从所述集群计算资源的任务列表中删除。
可选地,所述方法还包括如下步骤:
接收到用户的新建项目请求;
将预存的项目配置模板推送给用户,根据用户的操作设置新建项目的项目信息。
可选地,所述生成Flink计算引擎流图,包括如下步骤:
采用Calcite工具解析所述新的任务文件,将解析得到的数据整合到计算引擎上下文环境中,生成Flink计算引擎流图。
本发明实施例还提供一种实时查询任务发布平台,应用于所述的实时查询任务发布方法,所述平台包括:
任务接收模块,用于接收到待发布的SQL任务文件,将所述SQL任务文件存储于任务数据库中;
流图生成模块,用于从所述任务数据库中获取新的任务文件,生成Flink计算引擎流图;
任务提交模块,用于将所述Flink计算引擎流图添加至集群计算资源的任务列表,所述集群计算资源配置为调用Flink计算引擎执行所述任务列表中的Flink计算引擎流图。
本发明实施例还提供一种实时查询任务发布设备,包括:
处理器;
存储器,其中存在所述处理器的可进行指令;
其中,所述处理器配置为经由进行所述可进行指令来进行所述的实时查询任务发布方法的步骤。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被进行时实现所述的实时查询任务发布方法的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本发明所提供的实时查询任务发布方法、平台、设备及存储介质具有下列优点:
本发明解决了现有技术中的问题,基于Flink计算引擎实现实时查询任务发布,降低数据延迟,提高了计算任务发布效率,可满足用户高吞吐低延迟的需求;本发明可以实现实时查询任务发布平台的多种输入源和多种输出,提高了实时查询任务发布平台的普适性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是本发明一实施例的实时查询任务发布方法的流程图;
图2是本发明一实施例的实时查询任务发布平台的结构示意图;
图3是本发明一实施例的实时查询任务发布平台应用时的层级结构图;
图4是本发明一实施例的实时查询任务发布平台和相关组件的技术架构图;
图5是本发明一实施例的实时查询任务发布设备的示意图;
图6是本发明一实施例的计算机可读存储介质的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
如图1所示,本发明实施例提供一种实时查询任务发布方法,所述方法包括如下步骤:
S100:接收待发布的SQL(Structured Query Language,结构化查询语言)任务文件;
S200:将所述SQL任务文件存储于任务数据库中;
S300:从所述任务数据库中获取新的SQL任务文件,生成Flink计算引擎流图,所述集群计算资源配置为调用Flink计算引擎执行所述任务列表中的Flink计算引擎流图;
S400:将所述Flink计算引擎流图添加至集群计算资源的任务列表。
Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。
本发明通过采用该实时查询任务发布方法,基于Flink计算引擎实现实时查询任务发布,降低数据延迟,提高了计算任务发布效率,可满足用户高吞吐低延迟的需求。此外,Flink计算引擎具有完善的语法语义支持,实现特殊的业务需求开发代码的难度较低,像水位、窗口、事件类型、CEP(复杂事件处理)等是其他实时计算引擎所无法支持的。
如图2~图4所示,本发明实施例还提供一种实时查询任务发布平台,应用于所述的实时查询任务发布方法,所述平台包括:
任务接收模块M100,用于接收到待发布的SQL任务文件,将所述SQL任务文件存储于任务数据库中;
流图生成模块M200,用于从所述任务数据库中获取新的任务文件,生成Flink计算引擎流图;
任务提交模块M300,用于将所述Flink计算引擎流图添加至集群计算资源的任务列表,所述集群计算资源配置为调用Flink计算引擎执行所述任务列表中的Flink计算引擎流图。
通过采用该实时查询任务发布平台,用户在平台上进行简单的配置既可以完成一个实时查询任务的开发和发布,开发和发布时间成本显著降低,人力成本也明显下降。
此外,所述实时查询任务发布平台还可以提供UDF函数jar包上传功能,所述任务接收模块M100接收SQL任务文件时,除了接收Flink SQL自身支持的函数外,还可以支持自定义UDF(User define function,用户自定义函数)函数。SQL任务执行时的数据源可以是Kafka、rocketmq等,采用Flink计算引擎执行查询任务之后,查询到的输出结果也可以分别输送到不同的地方,例如MySQL(关系型数据库管理系统)、Redis、Kafka等。因此,本发明可以实现实时查询任务发布平台的多种输入源和多种输出,提高了实时查询任务发布平台的普适性。其中,Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。RocketMQ是2012年开源发布的分布式消息中间件。Redis(Remote DictionaryServer,远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。
在该实施例中,所述S100:接收待发布的SQL任务文件,包括如下步骤:
所述任务接收模块M100接收用户在界面上的任务配置信息和SQL语句,用户可以在所述实时查询任务平台提供的web用户界面上新建任务、在新建的任务配置页面中输入任务配置信息和SQL语句,所述任务配置信息可以包括输入主题(input schema)、输出主题(output schema)等;
根据所述任务配置信息和SQL语句创建SQL任务,生成SQL任务文件。
所述步骤S300:从所述任务数据库中获取新的SQL任务文件,生成Flink计算引擎流图,包括所述流图生成模块M200采用Calcite工具解析所述新的任务文件,得到表名称(table name),将解析得到的表名称和输入主题、输出主题或UDF函数整合到计算引擎上下文环境中,生成Flink计算引擎流图(Flink streamGraph)。
所述步骤S400:将所述Flink计算引擎流图添加至集群计算资源的任务列表中,所述集群计算资源可以为Yarn集群,所述任务提交模块M300根据所述实时查询任务发布平台中配置的Yarn集群地址,获取Yarn集群信息并将所述Flink计算引擎流图提交到Yarn集群中。YARN(Yet Another Resource Negotiator,另一种资源协调者)是一种新的Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。
在实际应用中,所述任务数据库可以采用MySQL,在所述实时查询任务发布平台中设置监控系统,所述监控系统周期性扫描MySQL,发现新的或者运行失败的任务则重新提交到Yarn集群中。
在该实施例中,进一步增加了对查询任务的项目管理。具体地,以项目为单位来管理任务文件的配置和用户的权限,同一个项目下的用户可以共同管理项目下的任务文件,同一个项目下的任务配置可以被多个SQL任务文件共同使用。
所述任务配置信息还包括所属的项目名称,所述接收待发布的SQL任务文件之后,还包括查询所述项目名称所对应的项目信息,所述项目信息可以包括项目所包括的任务信息、项目配置的参数等。
在该实施例中,所述项目信息包括执行队列信息,所述集群计算资源包括多个任务列表,各个所述任务列表对应于所述集群计算资源中不同的计算节点;
所述步骤S300:将所述Flink计算引擎流图添加至集群计算资源的任务列表,包括将所述Flink计算引擎流图添加至所述集群计算资源中与所述执行队列信息相对应的任务列表。
因此,该实施例可以根据不同的项目进行资源隔离,避免用户提交的查询任务文件占用资源过多而导致别的任务出现异常甚至拖垮整个集群。
在该实施例中,还增加了对用户权限的管理,用户可以分为平台管理员和普通用户,平台管理员能够对实时计算发布平台进行模板管理和项目管理,并管理登录系统的普通用户,而普通用户可以管理自己具有权限的项目和项目中的任务。一个项目组下所有成员的权限都是一致的,都能管理任务,这样能避免因为人员变动而任务不便管理的情况。
所述步骤S100:接收待发布的SQL任务文件之前,还包括如下步骤:
用户登录时,通过用户界面输入登录凭证,凭证加密后通过rest方面提交到所述实时查询任务发布平台;
所述实时查询任务发布平台对用户的凭证进行合法性校验,验证通过,则用户登陆成功,验证不通过则提醒用户申请凭证;
用户登录成功后,获取用户的登录信息;
根据用户的登录信息查询用户具有操作权限的项目名称;
用户新建SQL任务文件时,将用户具有操作权限的项目名称推送至用户,以供用户选择。对于普通用户,只能选择自己有操作权限的项目名称,将新建的任务增加到该项目下。
对于用户来说,需要发布查询任务时,只需要通过实时查询任务发布平台的用户界面提交任务文件,然后选择管理员创建好的项目,并选择好依赖的lib,对于某些任务需要制定任务参数的,也可以按照java的规范配置任务参数。实时查询任务发布平台在接收到待发布的任务文件时,并上传相应的任务文件到任务数据库,将任务提交到Yarn集群,并通过Yarn进行资源调度,在空闲的数据节点上申请资源启动。因此,整个任务发布过程对于用户来说是透明的,用户无需考虑资源调度情况,直接提交任务文件即可。提交完任务后,用户能通过任务列表查看任务启动的实例,并查看日志,通过观察日志来分析实例的运行状况。
所述实时查询任务发布平台可以执行对MySQL的数据读取和写入,具体任务的数据源读取和写入对该实时查询任务发布平台是透明的,用户无需担心数据泄露的风险,且支持多种数据源的读取和写入。任务在执行过程会写入日志,也会配置不同的监控指标,通过不同的监控指标和任务在Yarn上的运行状态进行对比,实时监控任务实例的运行状态,对某些达到预警的指标通过钉钉或电话进行告警提示。
在该实施例中,一个项目组下的成员还可以互相管理对方创建的任务或者管理自己之前创建的任务。具体地,所述实时查询任务平台还可以包括任务修改模块,所述任务修改模块用于执行如下步骤:
将用户具有操作权限的项目名称下对应的SQL任务信息推送至用户,用户可以根据需要选择想要进行修改的SQL任务进行点击;
根据用户对SQL任务的选择显示对应的SQL任务配置界面;
根据用户对SQL任务的配置重新生成SQL任务文件,并将重新生成的SQL任务文件作为待发布的SQL任务文件;
比较所述任务数据库的任务列表与所述集群计算资源的任务列表,将修改前的SQL任务从所述集群计算资源的任务列表中删除。
在实际应用中,所述监控系统可以定期比较所述任务数据库的任务列表和集群的任务列表,将所述集群的任务列表中有而任务数据库的任务列表中没有的任务从所述集群的任务列表中去除,将所述任务数据库的任务列表中有而所述集群的任务列表中没有的任务提交到集群。
用户在所述实时查询任务发布平台中新建项目时,需要对项目设定一些通用的配置参数,如core、memory、paralelism等,这样便于用户在新建任务时无需再重复设定这些参数。对于相同类型的项目,可能会有很多参数的名称重复,为了避免重复这部分的工作,在创建项目之前可以创建多个项目配置模板,对各种项目的模板进行统一管理。
在该实施例中,所述实时查询任务发布平台可以包括项目新建模块,所述项目新建模块用于执行如下步骤:
接收到用户的新建项目请求;
将预存的项目配置模板推送给用户,根据用户的操作设置新建项目的项目信息。用户在看到项目配置模板之后可以根据自己需要进行细微调整,可以更快更方便地创建和配置新建的项目。
如图3所示,为该实施例中实时查询任务发布平台中各个层的结构。其中,各个层执行的任务如下:
数据服务层:是实时查询任务发布平台的数据源和数据输出的主要方式,承担平台数据的传输功能,数据服务层可以面对Kafka等存储进行个性化封装,确保数据处理的完整性和准确性;
计算框架层:计算框架层是与实时计算资源交互的通用实时计算引擎应用层,负责实时数据的计算,以及实时计算引擎的管理,启动任务时,实时从计算资源拉取最新状态,通过预设的资源分配算法对集群资源进行优化分配;
任务管理层:任务管理层负责任务的发布、停止、参数配置等功能,计划提供对Flink的实时任务支持;
权限管理层:权限管理层负责对平台权限的管控,比如用户的管理,资源队列权限的管理等;
对外服务层:即界面交互层,提供实时计算能力界面操作;
监控系统:对任务执行时资源的使用情况、状态、数据流量进行动态监控,超过阈值则报警。
如图4所示,在该实施例中,所述实时查询任务发布平台的后端主要使用SpringBoot+Mybatis技术进行业务逻辑开发,大体上分为三个模块,common、job、web。Web模块即对应于上述的任务接收模块M100,主要是跟前端交互提供设置管理员、参数配置、自定义UDF函数、SQL设置等模块。Common模块主要是一些通用的工具类、项目中使用的常量及配置信息等。Job模块即对应于上述的流图生成模块M200和任务提交模块M300,主要根据用户提交的SQL信息,整理成Hadoop集群能够识别的application(应用)信息,提交给Yarn计算集群执行。
本发明的实时查询任务发布平台中各个功能模块之间具有高内聚、松耦合的特点,可以实现热插拔效果,单个功能模块的更新不会影响整个任务发布平台的功能。
本发明实施例还提供一种实时查询任务发布设备,包括处理器;存储器,其中存在所述处理器的可进行指令;其中,所述处理器配置为经由进行所述可进行指令来进行所述的实时查询任务发布方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为平台、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
下面参照图5来描述根据本发明的这种实施方式的电子设备600。图5显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备600以通用计算设备的形式表现。电子设备600的组合可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组合(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存在程序代码,所述程序代码可以被所述处理单元610进行,使得所述处理单元610进行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以进行如图1中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作平台、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID平台、磁带驱动器以及数据备份存储平台等。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被进行时实现所述的实时查询任务发布方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备进行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令进行平台、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的平台、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令进行平台、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于进行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上进行、部分地在用户设备上进行、作为一个独立的软件包进行、部分在用户计算设备上部分在远程计算设备上进行、或者完全在远程计算设备或服务器上进行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,与现有技术相比,本发明所提供的实时查询任务发布方法、平台、设备及存储介质具有下列优点:
本发明解决了现有技术中的问题,基于Flink计算引擎实现实时查询任务发布,降低数据延迟,提高了计算任务发布效率,可满足用户高吞吐低延迟的需求;本发明可以实现实时查询任务发布平台的多种输入源和多种输出,提高了实时查询任务发布平台的普适性。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (11)
1.一种实时查询任务发布方法,其特征在于,所述方法包括如下步骤:
接收待发布的SQL任务文件;
将所述SQL任务文件存储于任务数据库中;
从所述任务数据库中获取新的SQL任务文件,生成Flink计算引擎流图;
将所述Flink计算引擎流图添加至集群计算资源的任务列表,所述集群计算资源配置为调用Flink计算引擎执行所述任务列表中的Flink计算引擎流图。
2.根据权利要求1所述的实时查询任务发布方法,其特征在于,所述接收待发布的SQL任务文件,包括如下步骤:
接收用户在界面上的任务配置信息和SQL语句;
根据所述任务配置信息和SQL语句创建SQL任务,生成SQL任务文件。
3.根据权利要求2所述的实时查询任务发布方法,其特征在于,所述任务配置信息包括所属的项目名称,所述接收待发布的SQL任务文件之后,还包括查询所述项目名称所对应的项目信息。
4.根据权利要求3所述的实时查询任务发布方法,其特征在于,所述项目信息包括执行队列信息,所述集群计算资源包括多个任务列表,各个所述任务列表对应于所述集群计算资源中不同的计算节点;
所述将所述Flink计算引擎流图添加至集群计算资源的任务列表,包括将所述Flink计算引擎流图添加至所述集群计算资源中与所述执行队列信息相对应的任务列表。
5.根据权利要求3所述的实时查询任务发布方法,其特征在于,所述接收待发布的SQL任务文件之前,还包括如下步骤:
用户登录成功后,获取用户的登录信息;
根据用户的登录信息查询用户具有操作权限的项目名称;
用户新建SQL任务文件时,将用户具有操作权限的项目名称推送至用户,以供用户选择。
6.根据权利要求5所述的实时查询任务发布方法,其特征在于,所述方法还包括如下步骤:
将用户具有操作权限的项目名称下对应的SQL任务信息推送至用户;
根据用户对SQL任务的选择显示对应的SQL任务配置界面;
根据用户对SQL任务的配置重新生成SQL任务文件,并将重新生成的SQL任务文件作为待发布的SQL任务文件;
比较所述任务数据库的任务列表与所述集群计算资源的任务列表,将修改前的SQL任务从所述集群计算资源的任务列表中删除。
7.根据权利要求3所述的实时查询任务发布方法,其特征在于,所述方法还包括如下步骤:
接收到用户的新建项目请求;
将预存的项目配置模板推送给用户,根据用户的操作设置新建项目的项目信息。
8.根据权利要求1所述的实时查询任务发布方法,其特征在于,所述生成Flink计算引擎流图,包括如下步骤:
采用Calcite工具解析所述新的任务文件,将解析得到的数据整合到计算引擎上下文环境中,生成Flink计算引擎流图。
9.一种实时查询任务发布平台,其特征在于,应用于权利要求1至8中任一项所述的实时查询任务发布方法,所述平台包括:
任务接收模块,用于接收到待发布的SQL任务文件,将所述SQL任务文件存储于任务数据库中;
流图生成模块,用于从所述任务数据库中获取新的任务文件,生成Flink计算引擎流图;
任务提交模块,用于将所述Flink计算引擎流图添加至集群计算资源的任务列表,所述集群计算资源配置为调用Flink计算引擎执行所述任务列表中的Flink计算引擎流图。
10.一种实时查询任务发布设备,其特征在于,包括:
处理器;
存储器,其中存在所述处理器的可进行指令;
其中,所述处理器配置为经由进行所述可进行指令来进行权利要求1至8中任一项所述的实时查询任务发布方法的步骤。
11.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被进行时实现权利要求1至8中任一项所述的实时查询任务发布方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911120498.4A CN111221871A (zh) | 2019-11-15 | 2019-11-15 | 实时查询任务发布方法、平台、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911120498.4A CN111221871A (zh) | 2019-11-15 | 2019-11-15 | 实时查询任务发布方法、平台、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111221871A true CN111221871A (zh) | 2020-06-02 |
Family
ID=70828994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911120498.4A Withdrawn CN111221871A (zh) | 2019-11-15 | 2019-11-15 | 实时查询任务发布方法、平台、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221871A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487017A (zh) * | 2020-11-30 | 2021-03-12 | 北京中亦安图科技股份有限公司 | 基于流程引擎的sql发布方法及系统 |
CN112699156A (zh) * | 2020-12-31 | 2021-04-23 | 京东数字科技控股股份有限公司 | 数据处理方法及装置、存储介质及电子终端 |
CN113609101A (zh) * | 2021-08-10 | 2021-11-05 | 平安普惠企业管理有限公司 | 实时数据任务的发布方法、装置、电子设备及存储介质 |
CN113672685A (zh) * | 2021-09-03 | 2021-11-19 | 携程商旅信息服务(上海)有限公司 | 信息处理方法、设备、介质 |
-
2019
- 2019-11-15 CN CN201911120498.4A patent/CN111221871A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487017A (zh) * | 2020-11-30 | 2021-03-12 | 北京中亦安图科技股份有限公司 | 基于流程引擎的sql发布方法及系统 |
CN112699156A (zh) * | 2020-12-31 | 2021-04-23 | 京东数字科技控股股份有限公司 | 数据处理方法及装置、存储介质及电子终端 |
CN113609101A (zh) * | 2021-08-10 | 2021-11-05 | 平安普惠企业管理有限公司 | 实时数据任务的发布方法、装置、电子设备及存储介质 |
CN113672685A (zh) * | 2021-09-03 | 2021-11-19 | 携程商旅信息服务(上海)有限公司 | 信息处理方法、设备、介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10528585B2 (en) | ETL tool interface for remote mainframes | |
CN111221871A (zh) | 实时查询任务发布方法、平台、设备及存储介质 | |
CN110069335A (zh) | 任务处理系统、方法、计算机设备和存储介质 | |
US9244951B2 (en) | Managing tenant-specific data sets in a multi-tenant environment | |
CN110825767A (zh) | 数据查询方法、平台、设备及存储介质 | |
CN111427748B (zh) | 任务告警方法、系统、设备及存储介质 | |
US10007682B2 (en) | Dynamically maintaining data structures driven by heterogeneous clients in a distributed data collection system | |
US10135913B2 (en) | Impact analysis system and method | |
US10621003B2 (en) | Workflow handling in a multi-tenant cloud environment | |
US11507853B2 (en) | Knowledge driven architecture for information system lifecycle development and method to operate the same | |
CN115335821B (zh) | 卸载统计收集 | |
US20210049063A1 (en) | Analysis facilitator | |
CN112835924A (zh) | 实时计算任务处理方法、装置、设备及存储介质 | |
CN111177213A (zh) | 一种隐私集群自助查询平台、方法及电子设备 | |
US11269668B2 (en) | Database systems and related methods for validation workflows | |
US20170353543A1 (en) | Autonomous and adaptive monitoring of workloads | |
CN113590094A (zh) | 基于Flink的一站式任务开发、部署、运维平台系统、方法、装置、存储器及存储介质 | |
US10705824B2 (en) | Intention-based command optimization | |
CN113378007A (zh) | 数据回溯方法及装置、计算机可读存储介质、电子设备 | |
US11055285B2 (en) | Access path optimization | |
KR20170122874A (ko) | 데이터 분산 서비스 기반의 응용 시스템의 통합 로그 관리 장치 | |
US7269610B2 (en) | System and method to observe user behavior and perform actions introspectable objects | |
CN111061812B (zh) | 大数据分布式存储方法、装置、电子设备、存储介质 | |
US11650841B2 (en) | Data mover | |
US11681934B2 (en) | System and method for differential testing of evolving rules |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200602 |
|
WW01 | Invention patent application withdrawn after publication |