CN113590094A - 基于Flink的一站式任务开发、部署、运维平台系统、方法、装置、存储器及存储介质 - Google Patents

基于Flink的一站式任务开发、部署、运维平台系统、方法、装置、存储器及存储介质 Download PDF

Info

Publication number
CN113590094A
CN113590094A CN202110861877.XA CN202110861877A CN113590094A CN 113590094 A CN113590094 A CN 113590094A CN 202110861877 A CN202110861877 A CN 202110861877A CN 113590094 A CN113590094 A CN 113590094A
Authority
CN
China
Prior art keywords
task
development
flink
maintenance
data
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
Application number
CN202110861877.XA
Other languages
English (en)
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.)
Guotai Junan Securities Co Ltd
Original Assignee
Guotai Junan Securities 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 Guotai Junan Securities Co Ltd filed Critical Guotai Junan Securities Co Ltd
Priority to CN202110861877.XA priority Critical patent/CN113590094A/zh
Publication of CN113590094A publication Critical patent/CN113590094A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于Flink实现一站式任务开发、部署、运维功能的平台系统,其中,该系统包括权限管理控制模块,用于对任务开发人员进行任务权限控制;任务开发处理模块,用于进行项目创建生成开发任务;Flink集群处理模块,用于对注册数据源进行多流程数据处理;任务调试处理模块,用于对开发任务进行单步调试处理;任务发布处理模块,用于将开发任务发布至Flink集群;任务维护处理模块,用于运维人员执行开发任务的后台维护。本发明还涉及一种相应的方法、装置、处理器及其存储介质。采用了本发明的该系统、方法、装置、处理器及其存储介质,在运维页面对从发布到生产的任务进行运维,运维页面按照项目、任务的层级进行展示,清晰有条理,具有较佳的应用效果。

Description

基于Flink的一站式任务开发、部署、运维平台系统、方法、装 置、存储器及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及进行任务开发的数据处理技术领域,具体是指一种基于Flink实现一站式任务开发、部署、运维功能的平台系统、方法、装置、存储器及其计算机存储介质。
背景技术
Flink是业内通用的流计算引擎,但是用于生产环境时,它有诸多不足。
首先,flink任务的开发极为繁琐,需要先在IDE里配置开发环境,然后使用scala、java、python或者SQL来开发调试、任务,开发的时候需要开发者各自进行的数据源注册、数据清洗、汇聚、数据计算及输出整个流程。这需要各个开发者取研究flink的各种API及后台原理。同时开发的代码也难以分项给他人直接复用,效率很低。
其次,大量开发完的flink任务提交到集群上之后,开发者难以将任务与具体开发项目对应起来,日常任务维护很麻烦。
并且由于flink本身几乎没有权限控制功能,任何接触到flink集群的用户均可以修改、启停其他人的任务,甚至可以直接关停、毁坏整个flink集群,潜在风险很大。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种流程化、统一化的基于Flink实现一站式任务开发、部署、运维功能的平台系统、方法、装置、存储器及其计算机存储介质。
为了实现上述目的,本发明的基于Flink实现一站式任务开发、部署、运维功能的平台系统、方法、装置、存储器及其计算机存储介质如下:
该基于Flink实现一站式任务开发、部署、运维功能的平台系统,其主要特点是,所述的系统包括:
权限管理控制模块,后台管理人员利用所述的权限管理控制模块对任务开发人员进行任务权限控制;
任务开发处理模块,与所述的权限管理控制模块相连接,用于任务开发人员进行项目创建,以生成当前的开发任务;
Flink集群处理模块,与所述的任务开发处理模块相连接,用于平台开发人员和运维人员对所述的开发任务的注册数据源进行多流程数据处理;
任务调试处理模块,与所述的Flink集群处理模块相连接,用于将当前处理后的所述的开发任务进行单步调试处理;
任务发布处理模块,与所述的任务调试处理模块相连接,用于将所述的开发任务发布至Flink集群以供所述的平台开发人员获取;以及
任务维护处理模块,与所述的任务发布处理模块相连接,用于所述的运维人员对当前所述的开发任务执行后台维护,并查看所述的开发任务的各类型相关信息。
较佳地,所述的权限管理控制模块具体包括:
权限控制单元,用于控制所述的平台系统的登录权限;以及
人员登录单元,与所述的权限控制单元相连接,用于所述的任务开发人员获得登录权限后,使用浏览器登录该平台系统。
较佳地,所述的任务开发处理模块具体进行以下操作:
所述的任务开发人员登录所述的平台系统后在该系统中创建当前项目,并在该项目中创建所需的开发任务。
较佳地,所述的Flink集群处理模块具体包括:
数据清洗单元,用于抽取所述的注册数据源,并调用UDF对其进行数据清洗生成二维表数据源;
数据连接单元,用于所述的平台开发人员在SQL编辑器中编写SQL语句,将所述的二维表数据源连接起来;
数据计算单元,用于所述的平台开发人员对所述的二维表数据源实现数据计算逻辑处理;以及
数据输出单元,用于所述的平台开发人员在该平台系统中选择相应的数据源,通过编写insert语句实现具体写入逻辑,以输出该数据源对应的汇聚节点sink。
较佳地,所述的数据输出单元输出的汇聚节点sink满足elasticsearch、RDBMS、redis、clickhouse以及kafka平台系统中的一项或多项数据源节点要求。
较佳地,所述的注册数据源具体包括:
流数据源,所述的流数据源来源于kafka开源流处理平台;以及
批数据源,所述的批数据源来源于RDBMS数据库管理系统。
较佳地,所述的数据连接单元中获取的数据源均为所述的流数据源的情形下,设置watermark以进行数据连接。
该利用上述平台系统实现基于Flink的一站式任务开发、部署、运维处理的方法,其主要特点是,所述的方法包括以下步骤:
(1)系统根据后台管理人员的操作,利用所述的权限管理控制模块对任务开发人员进行任务权限控制;
(2)系统根据获得权限管理的任务开发人员的操作,登录当前的平台系统进行项目创建,以生成当前的开发任务;
(3)系统根据平台开发人员的操作,通过所述的Flink集群处理模块对所述的开发任务进行注册数据源,并对该注册数据源进行多流程数据处理;
(4)系统根据所述的获得权限管理的任务开发人员的操作,通过所述的任务调试处理模块对所述的开发任务进行单步调试处理;
(5)待调试完成后,系统根据所述的获得权限管理的任务开发人员的操作,将所述的开发任务通过所述的任务发布处理模块发布至Flink集群;
(6)系统根据运维人员的操作,通过所述的任务维护处理模块对该平台系统以及所述的Flink集群进行后台维护。
较佳地,所述的步骤(3)具体包括以下步骤:
(3.1)系统根据平台开发人员的操作,编写UDF对所述的Flink集群处理模块制定数据清洗、规范化及数据分析的规则;
(3.2)系统根据平台开发人员的操作,通过数据清洗单元、数据连接单元、数据计算单元以及数据输出单元,基于上述规则对注册数据源进行多流程数据处理;
(3.3)系统根据平台开发人员的操作将处理后的数据源上传至所述的平台系统供任务开发人员调用。
较佳地,所述的步骤(4)具体包括以下步骤:
(4.1)系统根据所述的获得权限管理的任务开发人员的操作,设置预设采样数据条数;
(4.2)系统根据所述的获得权限管理的任务开发人员的操作,将光标定位到待验证行SQL语句上,单击“调试”按钮进行调试;
(4.3)当前数据所在的平台系统使用本地化方式执行验证所述的待验证行SQL语句的开发任务;
(4.4)所述的平台系统输出该待验证行SQL语句经处理后的数据,以供所述的平台开发人员进行验证。
较佳地,所述的步骤(5)具体包括以下步骤:
(5.1)待任务调试完成后,系统根据所述的获得权限管理的任务开发人员的操作,点击“发布”按钮,将当前的开发任务发布至Flink集群;
(5.2)当前所处的平台系统将SQL语句转化为Flink的table API,打包成jar包后,上传至所述的flink集群。
较佳地,所述的步骤(6)具体包括以下步骤:
(6.1)系统根据运维人员的操作,对所述的开发任务执行启动、监控以及停止操作;
(6.2)系统根据运维人员的操作,查看该开发任务的运行状态信息、日志信息、savepoint以及checkpoint信息。
该用于实现基于Flink的一站式任务开发、部署、运维处理的装置,其主要特点是,所述的装置包括:
处理器,被配置成执行计算机可执行指令;
存储器,存储一个或多个计算机可执行指令,所述计算机可执行指令被所述处理器执行时,实现上述基于Flink的一站式任务开发、部署、运维处理的方法的各个步骤。
该用于实现基于Flink的一站式任务开发、部署、运维处理的处理器,其主要特点是,所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述基于Flink的一站式任务开发、部署、运维处理的方法的各个步骤。
该计算机可读存储介质,其特征在于,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现上述基于Flink的一站式任务开发、部署、运维处理的方法的各个步骤。
采用了本发明的该基于Flink实现一站式任务开发、部署、运维功能的平台系统、方法、装置、存储器及其计算机存储介质,为了弥补现有的flink存在的不足之处,通过平台的开发界面来避免开发者配置IDE环境的繁琐,通过统一使用SQL语句来避免开发者自己研究Flink不同语言的API的学习成本,同时利于用户在平台上交换自己开发的SQL语句互相学习,通过统一的UDF、数据源注册来避免重复代码的开发;提供登录、项目级的权限来防止不同用户对他人任务的误操,通过平台而不是直接访问flink集群来避免用户影响flink集群的正常运行。同时,本技术方案实现了在运维页面对发布到生产的任务进行运维处理的全流程操作,其中具体包括进行全流程的任务监控、关闭以及重启操作,并且在运维页面按照项目、任务的层级进行展示,清晰有条理,同时也具有较佳的应用效果。
附图说明
图1为本发明的基于Flink实现一站式任务开发、部署、运维功能的平台系统的整体框架结构示意图。
图2为本发明的实现基于Flink的一站式任务开发、部署、运维处理的方法的流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
在详细说明根据本发明的实施例前,应该注意到的是,在下文中,术语“包括”、“包含”或任何其他变体旨在涵盖非排他性的包含,由此使得包括一系列要素的过程、方法、物品或者设备不仅包含这些要素,而且还包含没有明确列出的其他要素,或者为这种过程、方法、物品或者设备所固有的要素。
请参阅图1所示,该基于Flink实现一站式任务开发、部署、运维功能的平台系统,其中,所述的系统包括:
权限管理控制模块,后台管理人员利用所述的权限管理控制模块对任务开发人员进行任务权限控制;
任务开发处理模块,与所述的权限管理控制模块相连接,用于任务开发人员进行项目创建,以生成当前的开发任务;
Flink集群处理模块,与所述的任务开发处理模块相连接,用于平台开发人员和运维人员对所述的开发任务的注册数据源进行多流程数据处理;
任务调试处理模块,与所述的Flink集群处理模块相连接,用于将当前处理后的所述的开发任务进行单步调试处理;
任务发布处理模块,与所述的任务调试处理模块相连接,用于将所述的开发任务发布至Flink集群以供所述的平台开发人员获取;以及
任务维护处理模块,与所述的任务发布处理模块相连接,用于所述的运维人员对当前所述的开发任务执行后台维护,并查看所述的开发任务的各类型相关信息。
作为本发明的优选实施方式,所述的权限管理控制模块具体包括:
权限控制单元,用于控制所述的平台系统的登录权限;以及
人员登录单元,与所述的权限控制单元相连接,用于所述的任务开发人员获得登录权限后,使用浏览器登录该平台系统。
作为本发明的优选实施方式,所述的任务开发处理模块具体进行以下操作:
所述的任务开发人员登录所述的平台系统后在该系统中创建当前项目,并在该项目中创建所需的开发任务。
作为本发明的优选实施方式,所述的Flink集群处理模块具体包括:
数据清洗单元,用于抽取所述的注册数据源,并调用UDF对其进行数据清洗生成二维表数据源;
数据连接单元,用于所述的平台开发人员在SQL编辑器中编写SQL语句,将所述的二维表数据源连接起来;
数据计算单元,用于所述的平台开发人员对所述的二维表数据源实现数据计算逻辑处理;以及
数据输出单元,用于所述的平台开发人员在该平台系统中选择相应的数据源,通过编写insert语句实现具体写入逻辑,以输出该数据源对应的汇聚节点sink。
作为本发明的优选实施方式,所述的数据输出单元输出的汇聚节点sink满足elasticsearch、RDBMS、redis、clickhouse以及kafka平台系统中的一项或多项数据源节点要求。
作为本发明的优选实施方式,所述的注册数据源具体包括:
流数据源,所述的流数据源来源于kafka开源流处理平台;以及
批数据源,所述的批数据源来源于RDBMS数据库管理系统。
作为本发明的优选实施方式,所述的数据连接单元中获取的数据源均为所述的流数据源的情形下,设置watermark以进行数据连接。
请参阅图2所示,该利用上述平台系统实现基于Flink的一站式任务开发、部署、运维处理的方法,其中,所述的方法包括以下步骤:
(1)系统根据后台管理人员的操作,利用所述的权限管理控制模块对任务开发人员进行任务权限控制;
(2)系统根据获得权限管理的任务开发人员的操作,登录当前的平台系统进行项目创建,以生成当前的开发任务;
(3)系统根据平台开发人员的操作,通过所述的Flink集群处理模块对所述的开发任务进行注册数据源,并对该注册数据源进行多流程数据处理;
(4)系统根据所述的获得权限管理的任务开发人员的操作,通过所述的任务调试处理模块对所述的开发任务进行单步调试处理;
(5)待调试完成后,系统根据所述的获得权限管理的任务开发人员的操作,将所述的开发任务通过所述的任务发布处理模块发布至Flink集群;
(6)系统根据运维人员的操作,通过所述的任务维护处理模块对该平台系统以及所述的Flink集群进行后台维护。
作为本发明的优选实施方式,所述的步骤(3)具体包括以下步骤:
(3.1)系统根据平台开发人员的操作,编写UDF对所述的Flink集群处理模块制定数据清洗、规范化及数据分析的规则;
(3.2)系统根据平台开发人员的操作,通过数据清洗单元、数据连接单元、数据计算单元以及数据输出单元,基于上述规则对注册数据源进行多流程数据处理;
(3.3)系统根据平台开发人员的操作将处理后的数据源上传至所述的平台系统供任务开发人员调用。
作为本发明的优选实施方式,所述的步骤(4)具体包括以下步骤:
(4.1)系统根据所述的获得权限管理的任务开发人员的操作,设置预设采样数据条数;
(4.2)系统根据所述的获得权限管理的任务开发人员的操作,将光标定位到待验证行SQL语句上,单击“调试”按钮进行调试;
(4.3)当前数据所在的平台系统使用本地化方式执行验证所述的待验证行SQL语句的开发任务;
(4.4)所述的平台系统输出该待验证行SQL语句经处理后的数据,以供所述的平台开发人员进行验证。
作为本发明的优选实施方式,所述的步骤(5)具体包括以下步骤:
(5.1)待任务调试完成后,系统根据所述的获得权限管理的任务开发人员的操作,点击“发布”按钮,将当前的开发任务发布至Flink集群;
(5.2)当前所处的平台系统将SQL语句转化为Flink的table API,打包成jar包后,上传至所述的flink集群。
作为本发明的优选实施方式,所述的步骤(6)具体包括以下步骤:
(6.1)系统根据运维人员的操作,对所述的开发任务执行启动、监控以及停止操作;
(6.2)系统根据运维人员的操作,查看该开发任务的运行状态信息、日志信息、savepoint以及checkpoint信息。
该用于实现基于Flink的一站式任务开发、部署、运维处理的装置,其中,所述的装置包括:
处理器,被配置成执行计算机可执行指令;
存储器,存储一个或多个计算机可执行指令,所述计算机可执行指令被所述处理器执行时,实现上述基于Flink的一站式任务开发、部署、运维处理的方法的各个步骤。
该用于实现基于Flink的一站式任务开发、部署、运维处理的处理器,其中,所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现基于Flink的一站式任务开发、部署、运维处理的方法的各个步骤。
该计算机可读存储介质,其中,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现基于Flink的一站式任务开发、部署、运维处理的方法的各个步骤。
在本发明的一具体实施方式中,本技术方案具体通过实施以下步骤完成全流程处理:
1、权限控制:管理人员赋予任务开发人员权限,包括登录、任务开发调试、发布、维护;
2、登陆:任务开发人员获得权限后,使用浏览器登录平台;
3、创建项目:登陆平台后,任务开发人员需要在平台中创建“项目”,通常一个任务对应一个活或多个需求;
4、创建任务:创建项目后,可以在该任务里创建“任务”,一个任务通常对应一个flink job;
5、注册数据源:任务开发人员在平台中使用图形界面的方式填写数据源类型、连接信息,注册数据源。数据源包括流数据源和批数据源;
6、选择数据源:任务开发人员从注册的数据源中选择自己所需的作为输入,可以选择多个流数据源与多个批数据源,其中流数据源会被注册为事实表,批数据源会被注册为维度表;
7、编写UDF:平台开发人员使用java开发UDF,用于数据清洗、规范化及数据分析,并上传志平台供任务开发人员调用;
8、数据清洗:任务开发人员根据选择的流数据源,调用UDF对数据进行清洗(如果需要的话),并且打平为二维表;
9、数据汇聚:任务开发人员在sql编辑器中编写sql语句将数据源连接(join)起来。注意,如果是流数据源与流数据源的连接需要设置watermark;
10、数据计算:任务开发人员在sql编辑器中编写sql语句,实现数据计算逻辑;
11、输出:任务开发人员在平台中选择数据输出的sink,这里支持elasticsearch、RDBMS、redis、clickhouse、kafka,并编写insert语句实现具体写入逻辑;
12、任务调试:任务开发人员开发任务的时候,可以进行单步调试。设置采样数据条数后,可以将光标定位到某行sql上,然后单击“调试”按钮,平台会使用local的方式执行开发的flink任务,并执行到相应的sql语句的位置,并输出该sql语句处理后的数据,供开发者验证;
13、任务发布:调试完成后,任务开发人员可以点击“发布”按钮,将任务发布到Flink集群。此时。平台会把SQL语句转化为Flink的table API,然后打包成jar包,上传到flink集群;
14、任务维护:发布后的任务会在平台的任务维护页面以项目->任务的方式排布,在这里可以执行任务的启动、停止等操作。同时,可以看到各个任务的运行状态、日志、savepoint、checkpoint等信息;
15、运维人员负责平台及flink集群的运维。
在本发明的一具体实施方式中,实施本技术方案包括:在平台上创建项目,一个项目通常对应一系列需求,可以包含多个flink任务;在项目里创建任务,在任务中使用SQL语句注册外部数据源(包括关系型数据库、kafka),将注册后的数据源作为Flink任务的输入,并将关系型数据库来源的表注册为维度表,kafka来源的表注册为实时表;使用java语言定义udf,udf分为数据清洗型udf以及数据处理型udf;编写数据清洗SQL语句,使用数据清洗型udf对实时表做数据清洗,并转化为二维表结构;编写数据处理SQL语句,使用数据处理型udf及其他标准sql语句根据清洗后的实时、维度表数据计算所需指标;使用SQL语句注册外部数据Sink用于数据指标落地,数据Sink包括关系型数据库、kafka、elasticsearch、redis;使用单步调试的方式验证每一行sql是否符合预期;任务通过调试后,一键部署到生产环境。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成的,程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一实施例”、“一些实施例”、“示例”、“具体示例”、“实施方式”或“实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
采用了本发明的该基于Flink实现一站式任务开发、部署、运维功能的平台系统、方法、装置、存储器及其计算机存储介质,为了弥补现有的flink存在的不足之处,通过平台的开发界面来避免开发者配置IDE环境的繁琐,通过统一使用SQL语句来避免开发者自己研究Flink不同语言的API的学习成本,同时利于用户在平台上交换自己开发的SQL语句互相学习,通过统一的UDF、数据源注册来避免重复代码的开发;提供登录、项目级的权限来防止不同用户对他人任务的误操,通过平台而不是直接访问flink集群来避免用户影响flink集群的正常运行。
本技术方案实现了在运维页面对发布到生产的任务进行运维处理的全流程操作,其中具体包括进行全流程的任务监控、关闭以及重启操作,并且在运维页面按照项目、任务的层级进行展示,清晰有条理,同时也具有较佳的应用效果。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

Claims (15)

1.一种基于Flink实现一站式任务开发、部署、运维功能的平台系统,其特征在于,所述的系统包括:
权限管理控制模块,后台管理人员利用所述的权限管理控制模块对任务开发人员进行任务权限控制;
任务开发处理模块,与所述的权限管理控制模块相连接,用于任务开发人员进行项目创建,以生成当前的开发任务;
Flink集群处理模块,与所述的任务开发处理模块相连接,用于平台开发人员和运维人员对所述的开发任务的注册数据源进行多流程数据处理;
任务调试处理模块,与所述的Flink集群处理模块相连接,用于将当前处理后的所述的开发任务进行单步调试处理;
任务发布处理模块,与所述的任务调试处理模块相连接,用于将所述的开发任务发布至Flink集群以供所述的平台开发人员获取;以及
任务维护处理模块,与所述的任务发布处理模块相连接,用于所述的运维人员对当前所述的开发任务执行后台维护,并查看所述的开发任务的各类型相关信息。
2.根据权利要求1所述的基于Flink实现一站式任务开发、部署、运维功能的平台系统,其特征在于,所述的权限管理控制模块具体包括:
权限控制单元,用于控制所述的平台系统的登录权限;以及
人员登录单元,与所述的权限控制单元相连接,用于所述的任务开发人员获得登录权限后,使用浏览器登录该平台系统。
3.根据权利要求2所述的基于Flink实现一站式任务开发、部署、运维功能的平台系统,其特征在于,所述的任务开发处理模块具体进行以下操作:
所述的任务开发人员登录所述的平台系统后在该系统中创建当前项目,并在该项目中创建所需的开发任务。
4.根据权利要求3所述的基于Flink实现一站式任务开发、部署、运维功能的平台系统,其特征在于,所述的Flink集群处理模块具体包括:
数据清洗单元,用于抽取所述的注册数据源,并调用UDF对其进行数据清洗生成二维表数据源;
数据连接单元,用于所述的平台开发人员在SQL编辑器中编写SQL语句,将所述的二维表数据源连接起来;
数据计算单元,用于所述的平台开发人员对所述的二维表数据源实现数据计算逻辑处理;以及
数据输出单元,用于所述的平台开发人员在该平台系统中选择相应的数据源,通过编写insert语句实现具体写入逻辑,以输出该数据源对应的汇聚节点sink。
5.根据权利要求4所述的基于Flink实现一站式任务开发、部署、运维功能的平台系统,其特征在于,所述的数据输出单元输出的汇聚节点sink满足elasticsearch、RDBMS、redis、clickhouse以及kafka平台系统中的一项或多项数据源节点要求。
6.根据权利要求5所述的基于Flink实现一站式任务开发、部署、运维功能的平台系统,其特征在于,所述的注册数据源具体包括:
流数据源,所述的流数据源来源于kafka开源流处理平台;以及
批数据源,所述的批数据源来源于RDBMS数据库管理系统。
7.根据权利要求6所述的基于Flink实现一站式任务开发、部署、运维功能的平台系统,其特征在于,所述的数据连接单元中获取的数据源均为所述的流数据源的情形下,设置watermark以进行数据连接。
8.一种利用权利要求1至7中任一项所述的平台系统实现基于Flink的一站式任务开发、部署、运维处理的方法,其特征在于,所述的方法包括以下步骤:
(1)系统根据后台管理人员的操作,利用所述的权限管理控制模块对任务开发人员进行任务权限控制;
(2)系统根据获得权限管理的任务开发人员的操作,登录当前的平台系统进行项目创建,以生成当前的开发任务;
(3)系统根据平台开发人员的操作,通过所述的Flink集群处理模块对所述的开发任务进行注册数据源,并对该注册数据源进行多流程数据处理;
(4)系统根据所述的获得权限管理的任务开发人员的操作,通过所述的任务调试处理模块对所述的开发任务进行单步调试处理;
(5)待调试完成后,系统根据所述的获得权限管理的任务开发人员的操作,将所述的开发任务通过所述的任务发布处理模块发布至Flink集群;
(6)系统根据运维人员的操作,通过所述的任务维护处理模块对该平台系统以及所述的Flink集群进行后台维护。
9.根据权利要求8所述的实现基于Flink的一站式任务开发、部署、运维处理的方法,其特征在于,所述的步骤(3)具体包括以下步骤:
(3.1)系统根据平台开发人员的操作,编写UDF对所述的Flink集群处理模块制定数据清洗、规范化及数据分析的规则;
(3.2)系统根据平台开发人员的操作,通过数据清洗单元、数据连接单元、数据计算单元以及数据输出单元,基于上述规则对注册数据源进行多流程数据处理;
(3.3)系统根据平台开发人员的操作将处理后的数据源上传至所述的平台系统供任务开发人员调用。
10.根据权利要求7所述的实现基于Flink的任务开发、部署、运维处理的方法,其特征在于,所述的步骤(4)具体包括以下步骤:
(4.1)系统根据所述的获得权限管理的任务开发人员的操作,设置预设采样数据条数;
(4.2)系统根据所述的获得权限管理的任务开发人员的操作,将光标定位到待验证行SQL语句上,单击“调试”按钮进行调试;
(4.3)当前数据所在的平台系统使用本地化方式执行验证所述的待验证行SQL语句的开发任务;
(4.4)所述的平台系统输出该待验证行SQL语句经处理后的数据,以供所述的平台开发人员进行验证。
11.根据权利要求10所述的实现基于Flink的一站式任务开发、部署、运维处理的方法,其特征在于,所述的步骤(5)具体包括以下步骤:
(5.1)待任务调试完成后,系统根据所述的获得权限管理的任务开发人员的操作,点击“发布”按钮,将当前的开发任务发布至Flink集群;
(5.2)当前所处的平台系统将SQL语句转化为Flink的table API,打包成jar包后,上传至所述的flink集群。
12.根据权利要求11所述的实现基于Flink的一站式任务开发、部署、运维处理的方法,其特征在于,所述的步骤(6)具体包括以下步骤:
(6.1)系统根据运维人员的操作,对所述的开发任务执行启动、监控以及停止操作;
(6.2)系统根据运维人员的操作,查看该开发任务的运行状态信息、日志信息、savepoint以及checkpoint信息。
13.一种用于实现基于Flink的一站式任务开发、部署、运维处理的装置,其特征在于,所述的装置包括:
处理器,被配置成执行计算机可执行指令;
存储器,存储一个或多个计算机可执行指令,所述计算机可执行指令被所述处理器执行时,实现权利要求8至12中任一项所述的实现基于Flink的一站式任务开发、部署、运维处理的方法的各个步骤。
14.一种用于实现基于Flink的一站式任务开发、部署、运维处理的处理器,其特征在于,所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现权利要求8至12中任一项所述的实现基于Flink的一站式任务开发、部署、运维处理的方法的各个步骤。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现权利要求8至12中任一项所述的实现基于Flink的一站式任务开发、部署、运维处理的方法的各个步骤。
CN202110861877.XA 2021-07-29 2021-07-29 基于Flink的一站式任务开发、部署、运维平台系统、方法、装置、存储器及存储介质 Withdrawn CN113590094A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110861877.XA CN113590094A (zh) 2021-07-29 2021-07-29 基于Flink的一站式任务开发、部署、运维平台系统、方法、装置、存储器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110861877.XA CN113590094A (zh) 2021-07-29 2021-07-29 基于Flink的一站式任务开发、部署、运维平台系统、方法、装置、存储器及存储介质

Publications (1)

Publication Number Publication Date
CN113590094A true CN113590094A (zh) 2021-11-02

Family

ID=78251556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110861877.XA Withdrawn CN113590094A (zh) 2021-07-29 2021-07-29 基于Flink的一站式任务开发、部署、运维平台系统、方法、装置、存储器及存储介质

Country Status (1)

Country Link
CN (1) CN113590094A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961570A (zh) * 2021-12-22 2022-01-21 四川新网银行股份有限公司 一种应用于MYSQL BINLog变更数据的实时采集方法
CN114546274A (zh) * 2022-02-22 2022-05-27 云智慧(北京)科技有限公司 一种基于缓存的大数据处理维表存算系统及其方法
CN117289924A (zh) * 2023-10-13 2023-12-26 河北云在信息技术服务有限公司 一种基于Flink的可视化任务编排系统和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229825A (zh) * 2018-01-04 2018-06-29 焦点科技股份有限公司 一种基于开发流程闭环的bi管理系统
CN110221816A (zh) * 2019-06-13 2019-09-10 江苏满运软件科技有限公司 基于算法平台的算法运行方法、装置、介质及算法平台
CN111026779A (zh) * 2019-12-19 2020-04-17 厦门安胜网络科技有限公司 一种基于Flink SQL的数据处理方法、装置、存储介质
CN111352616A (zh) * 2020-02-20 2020-06-30 苏宁云计算有限公司 实时计算可视化开发系统及其应用方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229825A (zh) * 2018-01-04 2018-06-29 焦点科技股份有限公司 一种基于开发流程闭环的bi管理系统
CN110221816A (zh) * 2019-06-13 2019-09-10 江苏满运软件科技有限公司 基于算法平台的算法运行方法、装置、介质及算法平台
CN111026779A (zh) * 2019-12-19 2020-04-17 厦门安胜网络科技有限公司 一种基于Flink SQL的数据处理方法、装置、存储介质
CN111352616A (zh) * 2020-02-20 2020-06-30 苏宁云计算有限公司 实时计算可视化开发系统及其应用方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
无情 ZHISHENG: "Flink SQL 流计算可视化 UI 平台", pages 1 - 23, Retrieved from the Internet <URL:https://mp.weixin.qq.com/s/5OwlCikr5AYKkN6xi0-2ow> *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961570A (zh) * 2021-12-22 2022-01-21 四川新网银行股份有限公司 一种应用于MYSQL BINLog变更数据的实时采集方法
CN114546274A (zh) * 2022-02-22 2022-05-27 云智慧(北京)科技有限公司 一种基于缓存的大数据处理维表存算系统及其方法
CN114546274B (zh) * 2022-02-22 2023-10-27 云智慧(北京)科技有限公司 一种基于缓存的大数据处理维表存算系统及其方法
CN117289924A (zh) * 2023-10-13 2023-12-26 河北云在信息技术服务有限公司 一种基于Flink的可视化任务编排系统和方法

Similar Documents

Publication Publication Date Title
US10162612B2 (en) Method and apparatus for inventory analysis
AU2019210601B2 (en) Automatic generation of microservices based on technical description of legacy code
US11106440B2 (en) Source code translation
US9720743B2 (en) General purpose distributed data parallel computing using a high level language
US8166464B2 (en) Analysis and detection of soft hang responsiveness program errors
CN113590094A (zh) 基于Flink的一站式任务开发、部署、运维平台系统、方法、装置、存储器及存储介质
US8156473B2 (en) Model oriented debugging
US9207952B2 (en) Semantic mapping of objects in a user interface automation framework
US8468391B2 (en) Utilizing log event ontology to deliver user role specific solutions for problem determination
US20070277163A1 (en) Method and tool for automatic verification of software protocols
US20110066894A1 (en) Debugging a map reduce application on a cluster
US9367433B2 (en) Generating input values for a test dataset from a datastore based on semantic annotations
US11481311B2 (en) Automatic evaluation of test code quality
Remenska et al. Using model checking to analyze the system behavior of the LHC production grid
US11269668B2 (en) Database systems and related methods for validation workflows
CN113962597A (zh) 一种数据分析方法、装置、电子设备及存储介质
Vélez et al. Challenges in migrating imperative deep learning programs to graph execution: an empirical study
Ali et al. Automated parallel GUI testing as a service for mobile applications
CN111694738B (zh) 一种sql测试脚本的生成方法
JP7373587B2 (ja) Dbmsにおけるサービス管理
KR20090099977A (ko) 예약된 컴포넌트 컨테이너 기반 소프트웨어 개발 방법 및장치
Balogh et al. Workflow-driven tool integration using model transformations
Gaudel et al. Enforcing software engineering tools interoperability: An example with aadl subsets
Thamsen et al. Visually programming dataflows for distributed data analytics
CN104866300B (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20211102