System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于Flink分布式处理FTP文件的方法技术_技高网

一种基于Flink分布式处理FTP文件的方法技术

技术编号:40225741 阅读:7 留言:0更新日期:2024-02-02 22:29
本发明专利技术提供了一种基于Flink分布式处理FTP文件的方法,涉及数据处理技术领域,包括:对FTP文件系统中的多个FTP文件进行扫描并生成扫描获得的每个文件列表的逻辑数据流图;对每个逻辑数据流图进行算子链式优化,获得优化流数据处理线程;基于优化流数据处理线程,确定出每个逻辑数据流图中每个流步骤的并行度和每个算子的并发度;基于逻辑数据流图中每个流步骤的并行度和逻辑数据流图中包含的所有流步骤对应的算子的并发度以及Flink程序中的所有工作节点的实时状态信息,为逻辑数据流图的每个流步骤实时分配工作节点,直至遍历所有逻辑数据流图时,获得FTP文件处理结果;用以充分利用集群资源,对FTP数据文件实现高性能的实时数据处理。

【技术实现步骤摘要】

本专利技术涉及数据处理,特别涉及一种基于flink分布式处理ftp文件的方法。


技术介绍

1、目前, ftp是传统系统共享数据的重要方式,其特点是简单、可靠、高效;当前还是有大量的商业公司和系统采用ftp共享数据的方式。所以对于大数据处理,具备接入和处理基于ftp的共享数据是其重要的能力之一。

2、当前基于分布式计算框架的大数据处理平台已经得到了广泛的应用,例如:flink、spark等都是非常流行的分布式计算框架。那么如何把传统的ftp共享数据的方式结合分布式处理,以达到高效、实时的数据处理,就变得非常迫切。现有技术中的对ftp数据文件的分布式处理方式有串行处理和并行处理。其中串行处理比如把ftp上的数据文件内容同步到kafka中去,最常规的做法是连接ftp后获取数据文件,然后读取并解析文件内容,最后把数据写入kafka。而并行处理是对串行处理的一种改良,其目的是充分利用计算机的多核能力,以提高数据处理的性能。并行处理的具体做法是,通过一个线程负责连接ftp,并读取数据;然后把读取的数据分发到后续的多个处理线程,由处理线程负责解析和处理数据;最后每个处理线程把处理完成的数据写入到kafka中去。

3、以上两种处理方式都是传统模式的处理方法,串行处理优点是简单方便,但无法充分利用系统资源,容易导致资源浪费;并行处理在一定程度上优化了资源使用率的问题,但也仅限于一个计算节点的资源,如果是在集群环境下,仍然存在资源使用率底下的问题。当前正是数据爆炸的时代,各业务系统的数据量也呈几何倍数级增长,数据已经成为最有价值的资源,那么想要对这些业务数据进行高效、实时的分析,仅靠提高单个节点的资源利用率来提高数据处理的性能是远远不够的。

4、随着当前大数据处理的蓬勃发展,已经涌现出很多优秀的分布式处理框架,并且已经得到实践验证,比如:flink、spark等,再加上yarn资源池和docker、k8s等云原生服务的加持,使得在集群或者云环境中能以分布式的模式处理这些传统介质上的数据成为极为迫切的需求。

5、因此,本专利技术提出一种基于flink分布式处理ftp文件的方法。


技术实现思路

1、本专利技术提供一种基于flink分布式处理ftp文件的方法,用以为ftp文件的逻辑数据流图的每个流步骤实时合理分配flink的工作节点,实现在flink分布式环境下多节点同时处理多个ftp上的多个数据文件,真正意义上做到分布式并行处理,能够充分利用集群资源,对ftp数据文件实现高性能的实时数据分析。

2、本专利技术提供一种基于flink分布式处理ftp文件的方法,包括:

3、s1:对ftp文件系统中的多个ftp文件进行扫描,获得多个文件列表,并生成每个文件列表的逻辑数据流图;

4、s2:基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤中的算子信息对每个逻辑数据流图进行算子链式优化,获得优化流数据处理线程;

5、s3:基于优化流数据处理线程,确定出每个逻辑数据流图中每个流步骤的并行度和每个算子的并发度;

6、s4:基于逻辑数据流图中每个流步骤的并行度和逻辑数据流图中包含的所有流步骤对应的算子的并发度以及flink程序中的所有工作节点的实时状态信息,为逻辑数据流图的每个流步骤实时分配工作节点,直至遍历所有逻辑数据流图时,获得ftp文件处理结果。

7、优选的,s1:对ftp文件系统中的多个ftp文件进行扫描,获得多个文件列表,包括:

8、对ftp文件系统中的多个ftp文件进行的状态信息进行扫描,并判断ftp文件的状态信息是否为初始状态,若是,则扫描ftp文件中的所有符合预设扫描规则的文件信息获得文件列表;

9、否则,将ftp文件中状态信息中包含的对应时间戳大于已更新时间戳的文件信息进行扫描,获得文件列表。

10、优选的,生成每个文件列表的逻辑数据流图,包括:

11、基于文件列表和ftp文件处理目标,确定出每个文件列表的多个处理数据对象和每个处理数据对象的处理流数据;

12、对每个文件列表的所有处理数据对象的处理流数据进行合并汇总,获得每个文件列表的逻辑数据流图。

13、优选的,对每个文件列表的所有处理数据对象的处理流数据进行合并汇总,获得每个文件列表的逻辑数据流图,包括:

14、确定出不同处理数据对象的处理流数据之间的重合流分区;

15、将每个重合流分区中包含的每个原始流步骤的多个相同处理任务的多个处理数据对象汇总,生成合并流步骤;

16、基于每个文件列表的所有处理数据对象的处理流数据中所有未被合并的原始流步骤和所有合并流步骤,生成每个文件列表的合并处理流数据;

17、将每个文件列表的合并处理流数据中每个流步骤所需的算子和对应流步骤进行封装,获得每个文件列表的逻辑数据流图,其中流步骤包括原始流步骤和合并流步骤。

18、优选的s2:基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤中的算子信息对每个逻辑数据流图进行算子链式优化,获得优化流数据处理线程,包括:

19、s201:确定出每个逻辑数据流图中的所有初始流数据处理线程,并确定出所有初始流数据处理线程中包含的每个流步骤中的算子信息;

20、s202:基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤的算子信息,对每个逻辑数据流图进行算子链式优化,获得优化流数据处理线程。

21、优选的,s202:基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤的算子信息,对每个逻辑数据流图进行算子链式优化,获得优化流数据处理线程,包括:

22、基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤的算子信息,确定出逻辑数据流图中所有初始流数据处理线程中包含的每个流步骤的并行度和链策略类型以及数据分区方式;

23、确定出用户定义的禁用规则;

24、基于逻辑数据流图中所有初始流数据处理线程中包含的每个流步骤的并行度、链策略类型、数据分区方式以及用户定义的禁用规则,在逻辑数据流图中不同初始流数据处理线程中包含的相邻流步骤中,筛选出可优化相邻流步骤;

25、将逻辑数据流图中的每个可优化相邻流步骤中包含的两个流步骤进行算子链合并,获得新的逻辑数据流图,并将新的逻辑数据流图中的所有流数据处理线程当作优化流数据处理线程。

26、优选的,基于逻辑数据流图中所有初始流数据处理线程中包含的每个流步骤的并行度、链策略类型、数据分区方式以及用户定义的禁用规则,在逻辑数据流图中不同初始流数据处理线程中包含的相邻流步骤中,筛选出可优化相邻流步骤,包括:

27、将逻辑数据流图中不同初始流数据处理线程中包含的相邻流步骤中,包含的较前流步骤的并行度和较后流步骤的并行度相等的相邻流步骤、且包含的较前流步骤的链策略类型为第一预设类型且较后流步本文档来自技高网...

【技术保护点】

1.一种基于Flink分布式处理FTP文件的方法,其特征在于,包括:

2.根据权利要求1所述的基于Flink分布式处理FTP文件的方法,其特征在于,S1:对FTP文件系统中的多个FTP文件进行扫描,获得多个文件列表,包括:

3.根据权利要求1所述的基于Flink分布式处理FTP文件的方法,其特征在于,生成每个文件列表的逻辑数据流图,包括:

4.根据权利要求3所述的基于Flink分布式处理FTP文件的方法,其特征在于,对每个文件列表的所有处理数据对象的处理流数据进行合并汇总,获得每个文件列表的逻辑数据流图,包括:

5.根据权利要求1所述的基于Flink分布式处理FTP文件的方法,其特征在于,S2:基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤中的算子信息对每个逻辑数据流图进行算子链式优化,获得优化流数据处理线程,包括:

6.根据权利要求5所述的基于Flink分布式处理FTP文件的方法,其特征在于,S202:基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤的算子信息,对每个逻辑数据流图进行算子链式优化,获得优化流数据处理线程,包括:

7.根据权利要求6所述的基于Flink分布式处理FTP文件的方法,其特征在于,基于逻辑数据流图中所有初始流数据处理线程中包含的每个流步骤的并行度、链策略类型、数据分区方式以及用户定义的禁用规则,在逻辑数据流图中不同初始流数据处理线程中包含的相邻流步骤中,筛选出可优化相邻流步骤,包括:

8.根据权利要求1所述的基于Flink分布式处理FTP文件的方法,其特征在于,S3:基于优化流数据处理线程,确定出每个逻辑数据流图中每个流步骤的并行度和每个算子的并发度,包括:

9.根据权利要求1所述的基于Flink分布式处理FTP文件的方法,其特征在于,S4:基于逻辑数据流图中每个流步骤的并行度和逻辑数据流图中包含的所有流步骤对应的算子的并发度以及Flink程序中的所有工作节点的实时状态信息,为逻辑数据流图的每个流步骤实时分配工作节点,直至遍历所有逻辑数据流图时,获得FTP文件处理结果,包括:

10.根据权利要求9所述的基于Flink分布式处理FTP文件的方法,其特征在于,基于逻辑数据流图中当前待执行流步骤的并行度和当前待执行流步骤对应的算子的并发度,在Flink程序中当前的所有可用工作节点中筛选出为逻辑数据流图中当前待执行流步骤分配的工作节点,包括:

...

【技术特征摘要】

1.一种基于flink分布式处理ftp文件的方法,其特征在于,包括:

2.根据权利要求1所述的基于flink分布式处理ftp文件的方法,其特征在于,s1:对ftp文件系统中的多个ftp文件进行扫描,获得多个文件列表,包括:

3.根据权利要求1所述的基于flink分布式处理ftp文件的方法,其特征在于,生成每个文件列表的逻辑数据流图,包括:

4.根据权利要求3所述的基于flink分布式处理ftp文件的方法,其特征在于,对每个文件列表的所有处理数据对象的处理流数据进行合并汇总,获得每个文件列表的逻辑数据流图,包括:

5.根据权利要求1所述的基于flink分布式处理ftp文件的方法,其特征在于,s2:基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤中的算子信息对每个逻辑数据流图进行算子链式优化,获得优化流数据处理线程,包括:

6.根据权利要求5所述的基于flink分布式处理ftp文件的方法,其特征在于,s202:基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤的算子信息,对每个逻辑数据流图进行算子链式优化,获得优化流数据处理线程,包括:

7.根据权利要求6...

【专利技术属性】
技术研发人员:王志明尹德岭郝胜大王海军
申请(专利权)人:广州睿帆科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1