首页> 中国专利> 基于Flink的实时数据处理方法、平台和设备

基于Flink的实时数据处理方法、平台和设备

摘要

本发明涉及大数据技术领域,具体涉及一种基于Flink的实时数据处理方法、平台和设备。其中,基于Flink的实时数据处理平台包括web页面模块、数据库模块、作业处理模块。web页面模块,用于获取实时计算作业的数据源,并将数据源进行格式转换,得到数据信息;数据库模块,用于存储数据信息;web页面模块,还用于获取作业指令;作业处理模块,用于根据作业指令,调用数据库模块中存储的数据信息,以进行作业处理。本发明通过web页面模块获取实时计算作业的数据源,创建作业流程,配置流程的参数,对作业管理可视化管理,不仅使用简便,而且降低了使用门槛。

著录项

  • 公开/公告号CN113010512A

    专利类型发明专利

  • 公开/公告日2021-06-22

    原文格式PDF

  • 申请/专利权人 上海中通吉网络技术有限公司;

    申请/专利号CN202110204141.5

  • 发明设计人 艾恒;朱宁;

    申请日2021-02-24

  • 分类号G06F16/22(20190101);G06F16/25(20190101);

  • 代理机构11471 北京细软智谷知识产权代理有限责任公司;

  • 代理人尚文文

  • 地址 201799 上海市青浦区华志路1685号5幢

  • 入库时间 2023-06-19 11:32:36

说明书

技术领域

本发明涉及大数据技术领域,具体涉及一种基于Flink的实时数据处理方法、平台和设备。

背景技术

快递公司每天都要接收、转运、派送大量的快递,在处理快递的过程中,伴随着大量的实时数据产生。需要对实时数据信息及时进行处理,以保证快递业务能够正常运转。

现有的技术方案中,一般为开发人员通过编写代码的方式对kafka数据流进行逻辑计算后再进行存储。但是,这种数据处理的方式非常复杂,而且需要专业的Flink工程师来实现,使用不便。

发明内容

有鉴于此,本发明的目的在于提供一种基于Flink的实时数据处理方法、平台和设备,以克服目前数据处理的方式非常复杂,而且需要专业的Flink工程师来实现,使用不便的问题。

为实现以上目的,本发明采用如下技术方案:

一种基于Flink的实时数据处理平台,包括:web页面模块、数据库模块、作业处理模块;

所述web页面模块,用于获取实时计算作业的数据源,并将所述数据源进行格式转换,得到数据信息;

所述数据库模块,用于存储所述数据信息;

所述web页面模块,还用于获取作业指令;

所述作业处理模块,用于根据所述作业指令,调用flinkClient服务,对所述数据库模块中存储的数据信息进行作业处理。

进一步地,以上所述的基于Flink的实时数据处理平台,所述数据源包括:source源文件、sink源文件;

所述web页面模块,具体用于获取实时计算作业的source源文件、sink源文件,并将所述source源文件、sink源文件以json格式进行压缩加密处理,得到所述数据信息。

进一步地,以上所述的基于Flink的实时数据处理平台,所述作业处理模块,具体用于根据所述作业指令,获取所述数据库模块中存储的数据信息并进行解密,以进行作业处理。

进一步地,以上所述的基于Flink的实时数据处理平台,所述作业指令包括:编辑指令、启动指令、查看指令、复制指令和删除指令。

进一步地,以上所述的基于Flink的实时数据处理平台,所述作业处理模块,还用于通过动态加载类调用flinkClient服务,以实现udf数据处理。

进一步地,以上所述的基于Flink的实时数据处理平台,所述数据源还包括基础jar文件;

所述作业处理模块,用于基于所述基础jar文件实现FlinkSQL方式的作业处理。

进一步地,以上所述的基于Flink的实时数据处理平台,所述数据源还包括作业逻辑代码封装的自定义jar文件;其中,所述作业逻辑代码是用户基于预设的封装的自定义框架编写的;

所述作业处理模块,用于基于所述自定义jar文件实现自定义式的作业处理。

进一步地,以上所述的基于Flink的实时数据处理平台,所述数据库模块包括:MySQL数据库。

进一步地,本发明还提供了一种基于Flink的实时数据处理方法,应用于以上任一项所述的基于Flink的实时数据处理平台;

所述方法包括:

获取实时计算作业的数据源,并将所述数据源进行格式转换,得到数据信息;

存储所述数据信息;

获取作业指令;

根据所述作业指令,调用所述数据库模块中存储的数据信息,以进行作业处理。

进一步地,本发明一种基于Flink的实时数据处理设备,其特征在于,包括处理器和存储器,所述处理器与所述存储器相连:

其中,所述处理器,用于调用并执行所述存储器中存储的程序;

所述存储器,用于存储所述程序,所述程序至少用于执行以上所述的基于Flink的实时数据处理方法。

本发明的基于Flink的实时数据处理方法、平台和设备,基于Flink的实时数据处理平台包括web页面模块、数据库模块、作业处理模块。web页面模块,用于获取实时计算作业的数据源,并将数据源进行格式转换,得到数据信息;数据库模块,用于存储数据信息;web页面模块,还用于获取作业指令;作业处理模块,用于根据作业指令,调用数据库模块中存储的数据信息,以进行作业处理。本发明通过web页面模块获取实时计算作业的数据源,创建作业流程,配置流程的参数,对作业管理可视化管理,不仅使用简便,而且降低了使用门槛。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明基于Flink的实时数据处理平台一种实施例提供的结构图;

图2是本发明基于Flink的实时数据处理平台一种实施例提供的架构图;

图3是本发明基于Flink的实时数据处理方法一种实施例提供的流程图;

图4是本发明基于Flink的实时数据处理设备一种实施例提供的结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

图1是本发明基于Flink的实时数据处理平台一种实施例提供的结构图。

如图1所示,本实施例的基于Flink的实时数据处理平台,包括web页面模块11、数据库模块12、作业处理模块13。

具体的,web页面模块11,用于获取实时计算作业的数据源,并将数据源进行格式转换,得到数据信息;其中,数据源是工作人员通过web页面模块11录入的数据流,数据源包括source源文件、sink源文件、jar文件等。

数据库模块12,用于存储source源文件、sink源文件、jar文件等数据信息。

用户在进行数据处理时,可以基于web页面模块11发送作业指令。web页面模块11,用于获取上述作业指令。

作业处理模块13,用于根据作业指令,调用flinkClient服务,对数据库模块中存储的数据信息进行作业处理。

在一种可选的实施例中,作业指令包括:编辑指令、启动指令、查看指令、复制指令和删除指令。本实施例中,作业处理模块13,调用flinkClient服务实现作业的编辑、启动、停止、查看、复制和删除。

flinkClient服务包括flinkClient启动、停止flink作业等。

在一种可选的实施例中,数据源包括:source源文件、sink源文件。

web页面模块11,具体用于获取实时计算作业的source源文件、sink源文件,并将source源文件、sink源文件以json格式进行压缩加密处理,得到数据信息,实现参数的加密处理。

作业处理模块13,具体用于根据作业指令,获取数据库模块12中存储的数据信息并进行解密,以进行作业处理。

具体地,数据库模块12包括:MySQL数据库。新建作业录入数据json展示,以加密压缩方式存储在mysql数据库中,作业处理模块13中在运行的jar文件会对加密数据用对等的解密方式得出原始数据。

数据信息存储在MySQL数据表中,用户通过web页面模块11点选启动作业后,Flink集群读取MySQL数据表中数据信息,在Flink集群对数据信息生成算子,多个算子串联后形成算子流在TaskManager中执行,实现对数据的实时处理。

上述实时计算作业基于Flink集群,Flink集群依赖大数据集群,作业通过YARN调度实现作业计算,本申请通过web页面模块11创建作业流程,配置流程的参数,对作业管理可视化管理,降低了使用门槛。

在一种可选的实施例中,提供了udf动态加载处理方式。具体地,作业处理模块13,还用于通过动态加载类调用flinkClient服务,以实现udf数据统一管理与维护。

在一种可选的实施例中,数据源还包括jar文件,jar文件包括基础jar文件。

本实施例的作业处理模块13,用于基于基础jar文件实现FlinkSQL方式的作业处理。具体地,针对source源文件、sink源文件,可以基于平台通用的基础jar文件实现FlinkSQL方式的数据处理。

在一种可选的实施例中,jar文件包括自定义jar文件。用户可以基于预设的封装的自定义框架编写作业逻辑代码,将作业逻辑代码封装后作为自定义jar文件。

作业处理模块13,用于基于自定义jar文件实现自定义式的作业处理。

具体地,平台基于封装的自定义框架来编写作业逻辑代码,打包上传自定义jar文件至平台来实现自定义的数据处理。自定义jar文件可以上传到hdfs集群中。

图2是本发明基于Flink的实时数据处理平台一种实施例提供的架构图。

如图2所示,web页面模块11包括Web(Angular+TypeScript)和API,数据库模块12包括Flink Client Gateway、Flink节点构成的大数据集群、封装的自定义框架。

封装的自定义框架包括Flink SQL封装工程,Flink JAR脚手架工程,MVEL脚本工程。实现Maven工程脚手架,方便非FlinkSQL形式的数据接入,而且,Flink作业嵌入MVEL脚本引擎,方便实现规则型的作业。

在一种可选的实施例中,不同的租户可以拥有不同的Flink集群,以实现多租户的资源隔离。

本实施例的基于Flink的实时数据处理平台,基于Flink的实时数据处理平台包括web页面模块11、数据库模块12、作业处理模块13。web页面模块11,用于获取实时计算作业的数据源,并将数据源进行格式转换,得到数据信息;数据库模块12,用于存储数据信息;web页面模块11,还用于获取作业指令;作业处理模块13,用于根据作业指令,调用数据库模块中存储的数据信息,以进行作业处理。本实施例通过web页面模块获取实时计算作业的数据源,创建作业流程,配置流程的参数,对作业管理可视化管理,不仅使用简便,而且降低了使用门槛。

而且,降低了实时数据流的接入成本,实现了统一的实时作业的管理与运维。Flink实时计算集群的平台化管理,能够自定义监控组、监控类型、监控规则,完成作业和集群的在线监控,还可以通过开发的测试工具降低线上实时作业的测试成本。

基于一个总的发明构思,本发明还提供了一种基于Flink的实时数据处理方法。

图3是本发明基于Flink的实时数据处理方法一种实施例提供的流程图。

如图3所示,本实施例的基于Flink的实时数据处理方法可以包括以下步骤:

S21、获取实时计算作业的数据源,并将数据源进行格式转换,得到数据信息;

S22、存储数据信息;

S23、获取作业指令;

S24、根据作业指令,调用数据库模块中存储的数据信息,以进行作业处理。

本申请实施例提供的基于Flink的实时数据处理方法的具体实施方案可以参考以上任意实施例的基于Flink的实时数据处理装置的实施方式,此处不再赘述。

本实施例的基于Flink的实时数据处理方法,获取实时计算作业的数据源,并将数据源进行格式转换,得到数据信息;存储数据信息;获取作业指令;根据作业指令,调用数据库模块中存储的数据信息,以进行作业处理。本发明通过web页面模块获取实时计算作业的数据源,创建作业流程,配置流程的参数,对作业管理可视化管理,不仅使用简便,而且降低了使用门槛。

基于一个总的发明构思,本发明还提供了一种基于Flink的实时数据处理设备,用于实现上述方法实施例。

图4是本发明基于Flink的实时数据处理设备一种实施例提供的结构图。

如图4所示,本实施例的基于Flink的实时数据处理设备包括处理器31和存储器32,处理器31与存储器32相连。其中,处理器31用于调用并执行存储器32中存储的程序;存储器32用于存储程序,程序至少用于执行以上实施例中的基于Flink的实时数据处理方法。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号