CN112328458B - 基于flink数据引擎的数据处理方法、装置 - Google Patents

基于flink数据引擎的数据处理方法、装置 Download PDF

Info

Publication number
CN112328458B
CN112328458B CN202011356556.6A CN202011356556A CN112328458B CN 112328458 B CN112328458 B CN 112328458B CN 202011356556 A CN202011356556 A CN 202011356556A CN 112328458 B CN112328458 B CN 112328458B
Authority
CN
China
Prior art keywords
information
job
link
data throughput
target
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.)
Active
Application number
CN202011356556.6A
Other languages
English (en)
Other versions
CN112328458A (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.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity 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 DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202011356556.6A priority Critical patent/CN112328458B/zh
Publication of CN112328458A publication Critical patent/CN112328458A/zh
Application granted granted Critical
Publication of CN112328458B publication Critical patent/CN112328458B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实涉及一种基于flink数据引擎的数据处理方法、装置、电子装置和存储介质,通过接收数据监测的指令信息,指令信息携带有请求数据监测的flink作业的第一作业信息;根据指令信息,获取与所有flink作业关联的第一应用信息;根据第一应用信息,调取预设部署模式下的多个候选flink作业;根据第一作业信息在多个候选flink作业中检测目标flink作业,并根据目标flink作业的状态信息生成目标flink作业的数据吞吐信息,解决了无法实时查看基于flink数据引擎的flink作业的数据吞吐信息的问题,提升了基于flink数据引擎的flink作业的数据吞吐信息的透明化程度。

Description

基于flink数据引擎的数据处理方法、装置
技术领域
本申请涉及数据审计技术领域,特别是涉及一种基于flink数据引擎的数据处理方法、装置、以及电子装置和存储介质。
背景技术
目前在测试产品的性能时,想要获取性能数据以及一些job(作业)运行的状态、反压等情况,都需要人工访问flink(分布式流数据引擎)的web界面进行查看,由于job是运行在yarn(yet another resource negotiator,另一种资源协调器)上的,我们需要先访问yarn的web(World Wide Web,万维网)界面,拿到application(yarn上运行的job的应用)ID(身份标识信息)对应运行的job,然后再进入flink的web界面,然后查看对应的metric(数据吞吐指标)。但是web界面也有不完善的地方,比如在想要获取flink的实时吞吐信息的情况下,web界面上只有flink总的吞吐信息,而每个job的DAG(有向无环图)图中都有多个operator(算子)运行着,每个operator都运行着不同的规则,每个operator都有自己的指标和反压情况,如果要获取每个job的吞吐信息,则需要人工手动计算,然后把数据记录下来,保存成文档,在测试产品的过程中,都需要人工操作,操作复杂且效率低。并且这样测试只是记录一个结果,不能够长久保存以及在web界面实时查看,也不可以通过图表形式展示以及导出结果。
目前针对相关技术中无法实时查看数据引擎的作业的数据吞吐信息的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种基于flink数据引擎的数据处理方法、装置、电子装置和存储介质,以至少解决相关技术中无法实时查看数据引擎的作业的数据吞吐信息的问题。
第一方面,本申请实施例提供了一种基于flink数据引擎的数据处理方法,包括:接收数据监测的指令信息,其中,所述指令信息携带有请求数据监测的flink作业的第一作业信息;根据所述指令信息,获取与所述flink数据引擎中所有flink作业关联的第一应用信息,其中,所述第一应用信息至少包括所述flink作业对应的作业信息、状态信息;根据所述第一应用信息,调取预设部署模式下的多个候选flink作业;根据所述第一作业信息在所述多个候选flink作业中检测目标flink作业,并根据所述目标flink作业的所述状态信息生成所述目标flink作业的数据吞吐信息。
在其中一些实施例中,所述状态信息包括flink作业的第一顶点信息,根据所述目标flink作业的所述状态信息生成所述目标flink作业的数据吞吐信息包括:从所述目标flink作业的所述状态信息中提取所述第一顶点信息,并确定第一顶点信息中顶点的数目,其中,所述第一顶点信息包括以下其中之一:运行顶点信息、预设计划运行顶点信息;获取所述第一顶点信息中所述顶点的数据吞吐指标,并根据所述数据吞吐指标和所述顶点的数据,生成每个所述目标flink作业的数据吞吐信息,其中,所述数据吞吐指标包括:数据吞吐量最小值、数据吞吐量最大值、数据吞吐量平均值和数据吞吐量总和。
在其中一些实施例中,根据所述数据吞吐指标和所述顶点的数据,生成每个所述目标flink作业的数据吞吐信息包括:按预设数据吞吐指标确定每个所述顶点对应的目标数据吞吐指标,其中,所述预设数据吞吐指标包括预设算子的数据吞吐指标;获取每个所述目标flink作业的运行时间;根据每个所述顶点对应的目标数据吞吐指标、所述顶点的数目以及每个所述目标flink作业的运行时间,生成每个所述目标flink作业的数据吞吐信息。
在其中一些实施例中,在根据所述目标flink作业的所述状态信息生成所述目标flink作业的数据吞吐信息之后,所述方法还包括:将所述目标flink作业的数据吞吐信息存储至预设文件中,或者将所述flink作业的数据吞吐信息发送至elasticsearch并在kibana上展示。
在其中一些实施例中,所述状态信息至少包括运行状态,根据所述第一应用信息,调取预设部署模式下的多个候选flink作业包括:在所述第一应用信息中选取第二作业信息,其中,所述第二作业信息为所述状态信息为运行状态的所述flink作业对应的作业信息;在所述第二作业信息中检测第一目标作业信息,其中,所述第一目标作业信息对应为所述预设部署模式下的所述flink作业对应的作业信息;在检测到所述第一目标作业信息的情况下,通过restful API接口调取与所述目标作业信息对应的所述flink作业,确定所述候选flink作业包括与所述目标作业信息对应的所述flink作业。
在其中一些实施例中,所述预设部署模式包括flink on yarn部署模式。
在其中一些实施例中,根据所述第一作业信息在所述多个候选flink作业中检测目标flink作业包括:提取所述多个候选flink作业的作业信息,得到第三作业信息;根据所述第一作业信息在所述第三作业信息中检测第二目标作业信息,其中,所述第一作业信息包括以下至少之一:身份标识信息、名称;在检测到所述第二目标作业信息的情况下,确定所述目标作业包括所述第二目标作业信息对应的所述候选flink作业。
第二方面,本申请实施例提供了一种基于flink数据引擎的数据处理装置,包括:接收模块,用于接收数据监测的指令信息,其中,所述指令信息携带有请求数据监测的flink作业的第一作业信息;获取模块,用于根据所述指令信息,获取与所述flink数据引擎中所有flink作业关联的第一应用信息,其中,所述第一应用信息至少包括所述flink作业对应的作业信息、状态信息;调取模块,用于根据所述第一应用信息,调取预设部署模式下的多个候选flink作业;生成模块,用于根据所述第一作业信息在所述多个候选flink作业中检测目标flink作业,并根据所述目标flink作业的所述状态信息生成所述目标flink作业的数据吞吐信息。
第三方面,本申请实施例提供了一种电子装置,包括存储器和处理器,在其中一些实施例中,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述第一方面所述的基于flink数据引擎的数据处理方法。
第四方面,本申请实施例提供了一种存储介质,在其中一些实施例中,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述第一方面所述的基于flink数据引擎的数据处理方法。
相比于相关技术,本申请实施例提供的基于flink数据引擎的数据处理方法、装置、电子装置和存储介质,通过接收数据监测的指令信息,其中,指令信息携带有请求数据监测的flink作业的第一作业信息;根据指令信息,获取与flink数据引擎中所有flink作业关联的第一应用信息,其中,第一应用信息至少包括flink作业对应的作业信息、状态信息;根据第一应用信息,调取预设部署模式下的多个候选flink作业;根据第一作业信息在多个候选flink作业中检测目标flink作业,并根据目标flink作业的状态信息生成目标flink作业的数据吞吐信息,解决了相关技术中无法实时查看基于flink数据引擎的flink作业的数据吞吐信息的问题,提升了基于flink数据引擎的flink作业的数据吞吐信息的透明化程度。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的基于flink数据引擎的数据处理方法的终端的硬件结构框图;
图2是根据本申请实施例的基于flink数据引擎的数据处理方法的流程图;
图3是根据本申请优选实施例的基于flink数据引擎的数据处理方法的流程图;
图4是根据本申请实施例的基于flink数据引擎的数据处理装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本实施例提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。以运行在终端上为例,图1是本申请实施例的基于flink数据引擎的数据处理方法的终端的硬件结构框图。如图1所示,终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限定。例如,终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的基于flink数据引擎的数据处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端10的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
本实施例提供了一种基于flink数据引擎的数据处理方法,图2是根据本申请实施例的基于flink数据引擎的数据处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,接收数据监测的指令信息,其中,指令信息携带有请求数据监测的flink作业的第一作业信息。
在具体实施时,flink数据引擎运行在服务器上,指令信息可以是从该服务器外部输入,也可以是在服务器内部生成,只要能够触发监测flink作业的第一作业信息的功能即可。其中,第一作业信息包括flink作业的ID和名称。
步骤S202,根据指令信息,获取与flink数据引擎中所有flink作业关联的第一应用信息,其中,第一应用信息至少包括flink作业对应的作业信息、状态信息。
每一个flink作业在服务器上运行时都有其对应的应用信息,应用信息包括但不限于对应的作业信息和状态信息,其中,作业信息包括link作业的身份标识信息和名称,状态信息用于指示flink作业处于运行状态或者flink作业处于非运行状态。
步骤S203,根据第一应用信息,调取预设部署模式下的多个候选flink作业。
在一些实施例中,预设部署模式包括flink on yarn部署模式,通过启动flink onyarn模式,获取RM(Resource Manager,负责管理分配全局资源)代理的JobManager的界面地址,再根据第一应用信息,调取该预设部署模式下的多个候选flink作业。
步骤S204,根据第一作业信息在多个候选flink作业中检测目标flink作业,并根据目标flink作业的状态信息生成目标flink作业的数据吞吐信息。
在调取的多个候选flink作业中查找与第一作业信息相匹配的flink作业,即为目标flink作业,其中,查找依据可以是flink作业的ID,也可以是flink作业的名称。目标flink作业的状态信息包括目标flink作业的数据吞吐指标和运行时间,根据目标flink作业的数据吞吐指标和运行时间,生成目标flink作业的数据吞吐信息。
通过上述步骤S201至步骤S204,接收数据监测的指令信息,其中,指令信息携带有请求数据监测的flink作业的第一作业信息;根据指令信息,获取与flink数据引擎中所有flink作业关联的第一应用信息,其中,第一应用信息至少包括flink作业对应的作业信息、状态信息;根据第一应用信息,调取预设部署模式下的多个候选flink作业;根据第一作业信息在多个候选flink作业中检测目标flink作业,并根据目标flink作业的状态信息生成目标flink作业的数据吞吐信息,解决了相关技术中无法实时查看基于flink数据引擎的flink作业的数据吞吐信息的问题,提升了基于flink数据引擎的flink作业的数据吞吐信息的透明化程度。
在一些实施例中,指令信息也可以是在服务器内部生成。例如,将用于生成该指令信息的程序写入jar包,将jar包上传至运行flink数据引擎的服务器中,一旦jar包启动,则执行步骤S201至步骤S204,运行jar包便可以实现监控性能测试过程的自动化,提升整个测试过程的效率,而且,本实施例的jar包通用于不同的测试环境,测试通用性广。
在其中一些实施例中,状态信息包括flink作业的第一顶点信息,根据目标flink作业的状态信息生成目标flink作业的数据吞吐信息包括如下步骤:
步骤1,从目标flink作业的状态信息中提取第一顶点信息,并确定第一顶点信息中顶点的数目,其中,第一顶点信息包括以下其中之一:运行顶点信息、预设计划运行顶点信息。
其中,运行顶点指正处于运行状态的顶点,预设计划运行顶点指未运行但准备运行的顶点。每个顶点信息包括数据吞吐指标。
步骤2,获取第一顶点信息中顶点的数据吞吐指标,并根据数据吞吐指标和顶点的数据,生成每个目标flink作业的数据吞吐信息,其中,数据吞吐指标包括:数据吞吐量最小值、数据吞吐量最大值、数据吞吐量平均值和数据吞吐量总和。
其中,数据吞吐指标中的数据包括输入元素总数、输出元素总数、输入字节总数以及输出字节总数。
通过上述步骤中的顶点信息,能够分析得到每个目标flink作业的数据吞吐信息。
在一些实施例中,根据数据吞吐指标和顶点的数据,生成每个目标flink作业的数据吞吐信息包括如下步骤:
步骤1,按预设数据吞吐指标确定每个顶点对应的目标数据吞吐指标,其中,预设数据吞吐指标包括预设算子的数据吞吐指标。
其中,预设数据吞吐指标可以是数据吞吐量最小值、数据吞吐量最大值、数据吞吐量平均值和数据吞吐量总和中的任意一项或者多项,具体实施时,采用每个顶点的数据吞吐量总和作为预设数据吞吐指标。
步骤2,获取每个目标flink作业的运行时间;根据每个顶点对应的目标数据吞吐指标、顶点的数目以及每个目标flink作业的运行时间,生成每个目标flink作业的数据吞吐信息。
在本实施例中,将根据获取的每个顶点的数据吞吐量总和、顶点的数目以及每个目标flink作业的运行时间,生成每个目标flink作业的数据吞吐信息。
通过上述步骤中的预设数据吞吐指标、顶点的数目以及每个目标flink作业的运行时间,能够得到每个目标flink作业的数据吞吐信息。
在其中一些实施例中,在根据目标flink作业的状态信息生成目标flink作业的数据吞吐信息之后,还实施如下步骤:
将目标flink作业的数据吞吐信息存储至预设文件中,或者将flink作业的数据吞吐信息发送至elasticsearch(数据搜索服务器)并在kibana(数据分析平台,用于为elasticsearch提供日志分析的web接口)上展示。
如此设置,可以将目标flink作业的数据吞吐信息进行长久存储,可以长时间保存以及绘制报表。或者可以在kibana上查看以及制作图表,查看并分析每段时间的目标flink作业的性能情况,基于各项测试性能指标统计整个测试过程的测试结果。
在其中一些实施例中,状态信息至少包括运行状态,根据第一应用信息,调取预设部署模式下的多个候选flink作业包括如下步骤:
步骤1,在第一应用信息中选取第二作业信息,其中,第二作业信息为状态信息为运行状态的flink作业对应的作业信息。
步骤2,在第二作业信息中检测第一目标作业信息,其中,第一目标作业信息对应为预设部署模式下的flink作业对应的作业信息。
步骤3,在检测到第一目标作业信息的情况下,通过restful API接口调取与目标作业信息对应的flink作业,确定候选flink作业包括与目标作业信息对应的flink作业。
在本实施例中,根据第一应用信息,获取flink作业的状态信息,并选取为运行状态的作业信息为目标作业信息,并向flink的restful API接口发起携带有该目标作业信息的http请求,restful API接口接收该http请求并使用json(数据格式)数据进行响应,从而调取与目标作业信息对应的目标flink作业。如此设置,能够根据需求获取相应的目标作业信息,使得最终得到目标flink作业为所需要的目标flink作业。
在其中一些实施例中,根据第一作业信息在多个候选flink作业中检测目标flink作业包括如下步骤:
步骤1,提取多个候选flink作业的作业信息,得到第三作业信息。
步骤2,根据第一作业信息在第三作业信息中检测第二目标作业信息,其中,第一作业信息包括以下至少之一:身份标识信息、名称。
步骤3,在检测到第二目标作业信息的情况下,确定目标作业包括第二目标作业信息对应的候选flink作业。
具体实施时,可以根据测试需要在多个候选flink作业中提取部分flink作业的作业信息,即第三作业信息,将第一作业信息和第三作业信息进行匹配,从第三作业信息中检测得到对应于第一作业信息的第二目标作业信息,根据第二目标作业信息确定目标flink作业。
通过上述步骤的第三作业信息,能够根据需求获取相应的第二目标作业信息,使得最终得到目标flink作业为所需要的目标flink作业。
针对测试效率低下、测试的结果无法长时间保存、测试结果不能展示以及导出、无法监控等的问题,以下给出了解决该问题的优选实施方式,图3是根据本申请优选实施例的基于flink数据引擎的数据处理方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,访问JobManager(作业管理器,属于flink的组件)的web界面地址。
获取job运行的服务器地址,由于本实施例的环境启动flink job模式是使用flink on yarn模式来启动的,因此还需要获取RM代理的JobManager的web界面地址。
步骤S302,获取集群中的application列表。
通过yarn提供的rest API接口获取所有的application ID,每一个flink job对应一个job Id。不同服务器上运行的job ID是不一样的。
需要访问的地址示例:
“http://192.168.30.245:18088/cluster/apps”。
通过上述接口,可以拿到yarn上的application ID以及状态信息,对于每个application ID都执行以下步骤。
步骤S303,获取集群中的job列表,得到job的ID。
在步骤S302中,获取到了每个job运行的application ID和状态信息,因此只需要过滤状态信息为running状态的applictaion ID,然后根据applictaion ID来调用flink的rest API接口,便可以获取到所有yarn上的job ID。
需要访问的地址示例:
“http://192.168.30.245:18088/proxy/${applicationId}/jobs”。
上述步骤可以获取job ID以及yarn上每个job ID的状态信息,拿到job ID之后去筛选出状态为running的job ID,通过向rest API接口发起http请求,获取job的详细信息。对于每个job都可以执行该操作。
步骤S304,获取job的详情,得到vertex(顶点)的ID以及开始时间、结束时间和持续时间。
根据上一步骤中获取的处于running状态的job ID的详细信息,能够得到每个job的ID、名称、source是否可以接收停止信号、job状态、job开始时间、job结束时间、job已经运行时长以及当前时间。本实施例优选job的运行顶点信息(vertex)或执行计划(plan)中的顶点信息。vertex和plan的区别在于:plan是执行计划,在JobGraph生成时就已经生成;vertex是运行时的顶点,包含运行时节点的metric信息,本实施例的metric信息只包含输入/输出元素总数和输入/输出字节总数。需要访问的接口示例:
“http://192.168.30.245:18088/proxy/${applicationId}/jobs/${jobid}”。
步骤S305,获取所有vertex上注册的metric。
从上述步骤中获取到了各顶点对应的ID,分别是:
Source:CustomSource->FlatMap:cbc357ccb763df2852fee8c4fc7d55f2
Sink:Unnamed:9dd63673dd41ea021b896d5203f3ba7c。本实施例可以通过获取source的输出或sink的输入来统计flink的整体吞吐。其中,source代表数据源,sink代表输出,Flat Map代表平面图。
然后根据vertex ID获取所有vertex上注册的metric。这个接口会列出所有在这个vertex上注册的metric。有下游节点的vertex一般都有numRecordsOutPerSecond和numBytesOutPerSecond的metric,分别代表这个vertex每秒发送给下游vertex的元素个数和字节数。则可以通过以下链接方式获取。通过该接口中的获取到每一个算子的运行信息,返回json格式的数据,编写提取出各项指标信息。并提出需要展示的信息,然后保存在内存中并写入展示的组件中。
访问的连接地址示例:
“http://192.168.30.245:18088/proxy/${applicationId}/jobs/${jobid}/vertices/<vertexid>/subtasks/metrics?get=numRecordsOutPerSecond,numBytesOutPerSecond”。
其中,subtasks代表子任务,subtasks与job的并发度有关,有几个并发度就有几个subtasks。
步骤S306,提取出性能指标项,并计算性能指标项。
metric包括min、max、avg、sum,其中,min代表该vertex的数据吞吐量最小值,max代表该vertex的数据吞吐量最大值,avg代表该vertex的数据吞吐量平均值,sum代表该vertex的数据吞吐量总和。
上述步骤可以拿到对应的operator和parallelism(并发度),提取对应的operator名称,拿到对应的sum值,sum×parallelism即为实时吞吐量。
根据提取出的信息进行计算,实时监控数据的运行状况,实时获取计算实时吞吐量。对于每一个job都如此操作。
由于程序一直都在运行,可以一直查看,当程序运行结束时,便可得到最终的性能指标结果。计算的过程为总的数量÷总的时间间隔。
步骤S307,将数据吞吐信息写入文件进行存储,或者写入elasticsearch并制作报表。
将数据吞吐信息写入文件或者elasticsearch中,便可以在kibana上查看以及制作图表查看每段时间的性能情况以及数据量可以进行分析,并了解数据的处理情况。
在具体实施时,可将步骤S301至步骤S307写入程序中,将程序打包成jar包,在测试服务器上只上传一个jar包,运行jar包可以使得监控性能测试整个过程自动化,提升整个测试过程的效率,此外,还可以统计整个测试性能指标的测试过程的结果、长时间保存以及绘制报表,本优选实施例可以通用于不同的测试环境。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。
本实施例还提供了一种基于flink数据引擎的数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本申请实施例的基于flink数据引擎的数据处理装置的结构框图,如图4所示,该装置包括:接收模块41、获取模块42、调取模块43以及生成模块44。
接收模块41,用于接收数据监测的指令信息,其中,指令信息携带有请求数据监测的flink作业的第一作业信息;
获取模块42,耦合至接收模块41,用于根据指令信息,获取与flink数据引擎中所有flink作业关联的第一应用信息,其中,第一应用信息至少包括flink作业对应的作业信息、状态信息;
调取模块43,耦合至获取模块42,用于根据第一应用信息,调取预设部署模式下的多个候选flink作业;
生成模块44,耦合至调取模块43,用于根据第一作业信息在多个候选flink作业中检测目标flink作业,并根据目标flink作业的状态信息生成目标flink作业的数据吞吐信息。
在其中一些实施例中,生成模块44还用于:从目标flink作业的状态信息中提取第一顶点信息,并确定第一顶点信息中顶点的数目,其中,第一顶点信息包括以下其中之一:运行顶点信息、预设计划运行顶点信息;获取第一顶点信息中顶点的数据吞吐指标,并根据数据吞吐指标和顶点的数据,生成每个目标flink作业的数据吞吐信息,其中,数据吞吐指标包括:数据吞吐量最小值、数据吞吐量最大值、数据吞吐量平均值和数据吞吐量总和。
在其中一些实施例中,生成模块44还用于:按预设数据吞吐指标确定每个顶点对应的目标数据吞吐指标,其中,预设数据吞吐指标包括预设算子的数据吞吐指标;获取每个目标flink作业的运行时间;根据每个顶点对应的目标数据吞吐指标、顶点的数目以及每个目标flink作业的运行时间,生成每个目标flink作业的数据吞吐信息。
在其中一些实施例中,装置还包括:存储模块或者发送模块,其中,存储模块用于将目标flink作业的数据吞吐信息存储至预设文件中,发送模块用于将flink作业的数据吞吐信息发送至elasticsearch并在kibana上展示。
在其中一些实施例中,调取模块43还用于:在第一应用信息中选取第二作业信息,其中,第二作业信息为状态信息为运行状态的flink作业对应的作业信息;在第二作业信息中检测第一目标作业信息,其中,第一目标作业信息对应为预设部署模式下的flink作业对应的作业信息;在检测到第一目标作业信息的情况下,通过restful API接口(flink中用于监控数据的接口)调取与目标作业信息对应的flink作业,确定候选flink作业包括与目标作业信息对应的flink作业。
在其中一些实施例中,生成模块44还用于提取多个候选flink作业的作业信息,得到第三作业信息;根据第一作业信息在第三作业信息中检测第二目标作业信息,其中,第一作业信息包括以下至少之一:身份标识信息、名称;在检测到第二目标作业信息的情况下,确定目标作业包括第二目标作业信息对应的候选flink作业。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述基于flink数据引擎的数据处理方法。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收数据监测的指令信息,其中,指令信息携带有请求数据监测的flink作业的第一作业信息。
S2,根据指令信息,获取与flink数据引擎中所有flink作业关联的第一应用信息,其中,第一应用信息至少包括flink作业对应的作业信息、状态信息。
S3,根据第一应用信息,调取预设部署模式下的多个候选flink作业。
S4,根据第一作业信息在多个候选flink作业中检测目标flink作业,并根据目标flink作业的状态信息生成目标flink作业的数据吞吐信息。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的基于flink数据引擎的数据处理方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种基于flink数据引擎的数据处理方法。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于flink数据引擎的数据处理方法,其特征在于包括:
接收数据监测的指令信息,其中,所述指令信息携带有请求数据监测的flink作业的第一作业信息;
根据所述指令信息,获取与所述flink数据引擎中所有flink作业关联的第一应用信息,其中,所述第一应用信息至少包括所述flink作业对应的作业信息、状态信息,所述状态信息包括flink作业的第一顶点信息;
根据所述第一应用信息,调取预设部署模式下的多个候选flink作业;
根据所述第一作业信息在所述多个候选flink作业中检测目标flink作业,并从所述目标flink作业的所述状态信息中提取所述第一顶点信息,并确定第一顶点信息中顶点的数目,其中,所述第一顶点信息包括以下其中之一:运行顶点信息、预设计划运行顶点信息;
获取所述第一顶点信息中所述顶点的数据吞吐指标,并根据所述数据吞吐指标和所述顶点的数据,生成每个所述目标flink作业的数据吞吐信息,其中,所述数据吞吐指标包括:数据吞吐量最小值、数据吞吐量最大值、数据吞吐量平均值和数据吞吐量总和;
所述根据所述数据吞吐指标和所述顶点的数据,生成每个所述目标flink作业的数据吞吐信息包括:
按预设数据吞吐指标确定每个所述顶点对应的目标数据吞吐指标,其中,
所述预设数据吞吐指标包括预设算子的数据吞吐指标,所述预设数据吞吐指标为数据吞吐量最小值、数据吞吐量最大值、数据吞吐量平均值和数据吞吐量总和中的任意一项或者多项;
获取每个所述目标flink作业的运行时间;
根据每个所述顶点对应的目标数据吞吐指标、所述顶点的数目以及每个所述目标flink作业的运行时间,生成每个所述目标flink作业的数据吞吐信息。
2.根据权利要求1所述的基于flink数据引擎的数据处理方法,其特征在于,在根据所述目标flink作业的所述状态信息生成所述目标flink作业的数据吞吐信息之后,所述方法还包括:
将所述目标flink作业的数据吞吐信息存储至预设文件中,或者将所述flink作业的数据吞吐信息发送至elasticsearch并在kibana上展示。
3.根据权利要求1所述的基于flink数据引擎的数据处理方法,其特征在于,所述状态信息至少包括运行状态,根据所述第一应用信息,调取预设部署模式下的多个候选flink作业包括:
在所述第一应用信息中选取第二作业信息,其中,所述第二作业信息为所述状态信息为运行状态的所述flink作业对应的作业信息;
在所述第二作业信息中检测第一目标作业信息,其中,所述第一目标作业信息对应为所述预设部署模式下的所述flink作业对应的作业信息;
在检测到所述第一目标作业信息的情况下,通过restful API接口调取与所述目标作业信息对应的所述flink作业,确定所述候选flink作业包括与所述目标作业信息对应的所述flink作业。
4.根据权利要求3所述的基于flink数据引擎的数据处理方法,其特征在于,所述预设部署模式包括flink on yarn部署模式。
5.根据权利要求1所述的基于flink数据引擎的数据处理方法,其特征在于,根据所述第一作业信息在所述多个候选flink作业中检测目标flink作业包括:
提取所述多个候选flink作业的作业信息,得到第三作业信息;
根据所述第一作业信息在所述第三作业信息中检测第二目标作业信息,其中,所述第一作业信息包括以下至少之一:身份标识信息、名称;
在检测到所述第二目标作业信息的情况下,确定所述目标作业包括所述第二目标作业信息对应的所述候选flink作业。
6.一种基于flink数据引擎的数据处理装置,其特征在于包括:
接收模块,用于接收数据监测的指令信息,其中,所述指令信息携带有请求数据监测的flink作业的第一作业信息;
获取模块,用于根据所述指令信息,获取与所述flink数据引擎中所有flink作业关联的第一应用信息,其中,所述第一应用信息至少包括所述flink作业对应的作业信息、状态信息,所述状态信息包括flink作业的第一顶点信息;
调取模块,用于根据所述第一应用信息,调取预设部署模式下的多个候选flink作业;
生成模块,用于根据所述第一作业信息在所述多个候选flink作业中检测目标flink作业,并从所述目标flink作业的所述状态信息中提取所述第一顶点信息,并确定第一顶点信息中顶点的数目,其中,所述第一顶点信息包括以下其中之一:运行顶点信息、预设计划运行顶点信息;获取所述第一顶点信息中所述顶点的数据吞吐指标,并根据所述数据吞吐指标和所述顶点的数据,生成每个所述目标flink作业的数据吞吐信息,其中,所述数据吞吐指标包括:数据吞吐量最小值、数据吞吐量最大值、数据吞吐量平均值和数据吞吐量总和;
所述生成模块,还用于按预设数据吞吐指标确定每个所述顶点对应的目标数据吞吐指标,其中,所述预设数据吞吐指标包括预设算子的数据吞吐指标,所述预设数据吞吐指标为数据吞吐量最小值、数据吞吐量最大值、数据吞吐量平均值和数据吞吐量总和中的任意一项或者多项;获取每个所述目标flink作业的运行时间;根据每个所述顶点对应的目标数据吞吐指标、所述顶点的数目以及每个所述目标flink作业的运行时间,生成每个所述目标flink作业的数据吞吐信息。
7.根据权利要求6所述的装置,其特征在于,还包括:存储模块或者发送模块,其中,所述存储模块用于将所述目标flink作业的数据吞吐信息存储至预设文件中,所述发送模块将所述flink作业的数据吞吐信息发送至elasticsearch并在kibana上展示。
8.根据权利要求6所述的装置,其特征在于,所述调取模块还用于在所述第一应用信息中选取第二作业信息,其中,所述第二作业信息为所述状态信息为运行状态的所述flink作业对应的作业信息;在所述第二作业信息中检测第一目标作业信息,其中,所述第一目标作业信息对应为所述预设部署模式下的所述flink作业对应的作业信息;在检测到所述第一目标作业信息的情况下,通过restful API接口调取与所述目标作业信息对应的所述flink作业,确定所述候选flink作业包括与所述目标作业信息对应的所述flink作业。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至5中任一项所述的基于flink数据引擎的数据处理方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至5中任一项所述的基于flink数据引擎的数据处理方法。
CN202011356556.6A 2020-11-27 2020-11-27 基于flink数据引擎的数据处理方法、装置 Active CN112328458B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011356556.6A CN112328458B (zh) 2020-11-27 2020-11-27 基于flink数据引擎的数据处理方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011356556.6A CN112328458B (zh) 2020-11-27 2020-11-27 基于flink数据引擎的数据处理方法、装置

Publications (2)

Publication Number Publication Date
CN112328458A CN112328458A (zh) 2021-02-05
CN112328458B true CN112328458B (zh) 2023-07-25

Family

ID=74307826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011356556.6A Active CN112328458B (zh) 2020-11-27 2020-11-27 基于flink数据引擎的数据处理方法、装置

Country Status (1)

Country Link
CN (1) CN112328458B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076380B (zh) * 2021-04-27 2022-07-26 苏州科达科技股份有限公司 数据同步方法、装置、系统、设备及存储介质
CN114385136B (zh) * 2021-12-29 2022-11-22 武汉达梦数据库股份有限公司 一种Flink框架运行ETL的流程分解方法和装置
CN114816583B (zh) * 2022-05-31 2024-03-19 以萨技术股份有限公司 基于Flink的数据自动化处理方法、装置和电子设备
CN115756586B (zh) * 2022-11-25 2024-01-19 中电金信软件有限公司 Flink作业的执行方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014110310A1 (en) * 2013-01-14 2014-07-17 Wal-Mart Stores, Inc. Cross platform workflow management
US10365964B1 (en) * 2018-05-31 2019-07-30 Capital One Services, Llc Data processing platform monitoring
CN111930589A (zh) * 2020-07-02 2020-11-13 上海微亿智造科技有限公司 流式任务自动化监控系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158891B (zh) * 2020-04-02 2020-07-07 武汉中科通达高新技术股份有限公司 基于Flink技术的分析任务处理方法、装置及存储介质
CN111782371B (zh) * 2020-06-30 2024-05-14 北京百度网讯科技有限公司 基于dag交互的流式计算方法与装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014110310A1 (en) * 2013-01-14 2014-07-17 Wal-Mart Stores, Inc. Cross platform workflow management
US10365964B1 (en) * 2018-05-31 2019-07-30 Capital One Services, Llc Data processing platform monitoring
CN111930589A (zh) * 2020-07-02 2020-11-13 上海微亿智造科技有限公司 流式任务自动化监控系统及方法

Also Published As

Publication number Publication date
CN112328458A (zh) 2021-02-05

Similar Documents

Publication Publication Date Title
CN112328458B (zh) 基于flink数据引擎的数据处理方法、装置
US20220004423A1 (en) Virtualization-based transaction handling in an on-demand network code execution system
KR101826368B1 (ko) 클라우드 컴퓨팅 모니터링 및 관리 시스템
CN108984388B (zh) 一种生成自动化测试用例的方法及终端设备
CN111249744B (zh) 资源加载方法和装置、存储介质及电子装置
CN111400186A (zh) 性能测试方法及系统
CN111355622A (zh) 容器的业务监控方法、系统和计算机可读存储介质
CN114745295A (zh) 数据采集方法、装置、设备和可读存储介质
CN111026636A (zh) 一种软件项目的测试方法、装置、设备及存储介质
CN111026627A (zh) 压力测试方法、装置及服务器
CN111625419A (zh) 一种日志采集方法、系统、设备及计算机可读存储介质
CN111913764A (zh) 服务依赖分析方法、电子设备及存储介质
CN113672500A (zh) 深度学习算法的测试方法、装置、电子装置和存储介质
CN108089972B (zh) 接口测试方法及装置
CN114416508A (zh) 应用性能监控方法和装置、存储介质及电子设备
CN110430070A (zh) 一种服务状态分析方法、装置、服务器、数据分析设备及介质
CN107193749B (zh) 测试方法、装置及设备
CN109788251A (zh) 视频处理方法、装置及存储介质
CN115705190A (zh) 依赖程度的确定方法及装置
CN111597091A (zh) 数据监控方法及系统、电子设备、计算机存储介质
CN111026598A (zh) 数据采集方法及装置
CN115422008A (zh) 无侵入式的进程监控方法、装置、设备及存储介质
CN114281549A (zh) 数据的处理方法及装置
CN112650666B (zh) 一种软件测试系统、方法、装置、控制设备及存储介质
CN113448985A (zh) 一种api接口生成方法、调用方法、装置及电子设备

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
GR01 Patent grant
GR01 Patent grant