买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于Flink分布式处理FTP文件的方法_广州睿帆科技有限公司_202311826200.8 

申请/专利权人:广州睿帆科技有限公司

申请日:2023-12-28

公开(公告)日:2024-03-08

公开(公告)号:CN117472517B

主分类号:G06F16/16

分类号:G06F16/16;G06F9/50;G06F16/18;H04L67/06

优先权:

专利状态码:有效-授权

法律状态:2024.03.08#授权;2024.02.20#实质审查的生效;2024.01.30#公开

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

主权项:1.一种基于Flink分布式处理FTP文件的方法,其特征在于,包括:S1:对FTP文件系统中的多个FTP文件进行扫描,获得多个文件列表,并生成每个文件列表的逻辑数据流图;S2:基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤中的算子信息对每个逻辑数据流图进行算子链式优化,获得优化流数据处理线程;S3:基于优化流数据处理线程,确定出每个逻辑数据流图中每个流步骤的并行度和每个算子的并发度;S4:基于逻辑数据流图中每个流步骤的并行度和逻辑数据流图中包含的所有流步骤对应的算子的并发度以及Flink程序中的所有工作节点的实时状态信息,为逻辑数据流图的每个流步骤实时分配工作节点,直至遍历所有逻辑数据流图时,获得FTP文件处理结果;其中,步骤S1:对FTP文件系统中的多个FTP文件进行扫描,获得多个文件列表,包括:对FTP文件系统中的多个FTP文件进行的状态信息进行扫描,并判断FTP文件的状态信息是否为初始状态,若是,则扫描FTP文件中的所有符合预设扫描规则的文件信息获得文件列表;否则,将FTP文件中状态信息中包含的对应时间戳大于已更新时间戳的文件信息进行扫描,获得文件列表;其中,生成每个文件列表的逻辑数据流图,包括:基于文件列表和FTP文件处理目标,确定出每个文件列表的多个处理数据对象和每个处理数据对象的处理流数据;对每个文件列表的所有处理数据对象的处理流数据进行合并汇总,获得每个文件列表的逻辑数据流图;其中,对每个文件列表的所有处理数据对象的处理流数据进行合并汇总,获得每个文件列表的逻辑数据流图,包括:确定出不同处理数据对象的处理流数据之间的重合流分区;将每个重合流分区中包含的每个原始流步骤的多个相同处理任务的多个处理数据对象汇总,生成合并流步骤;基于每个文件列表的所有处理数据对象的处理流数据中所有未被合并的原始流步骤和所有合并流步骤,生成每个文件列表的合并处理流数据;将每个文件列表的合并处理流数据中每个流步骤所需的算子和对应流步骤进行封装,获得每个文件列表的逻辑数据流图,其中流步骤包括原始流步骤和合并流步骤;其中,步骤S2:基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤中的算子信息对每个逻辑数据流图进行算子链式优化,获得优化流数据处理线程,包括:S201:确定出每个逻辑数据流图中的所有初始流数据处理线程,并确定出所有初始流数据处理线程中包含的每个流步骤中的算子信息;S202:基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤的算子信息,对每个逻辑数据流图进行算子链式优化,获得优化流数据处理线程;其中,步骤S202:基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤的算子信息,对每个逻辑数据流图进行算子链式优化,获得优化流数据处理线程,包括:基于每个逻辑数据流图中的所有初始流数据处理线程中包含的每个流步骤的算子信息,确定出逻辑数据流图中所有初始流数据处理线程中包含的每个流步骤的并行度和链策略类型以及数据分区方式;确定出用户定义的禁用规则;基于逻辑数据流图中所有初始流数据处理线程中包含的每个流步骤的并行度、链策略类型、数据分区方式以及用户定义的禁用规则,在逻辑数据流图中不同初始流数据处理线程中包含的相邻流步骤中,筛选出可优化相邻流步骤;将逻辑数据流图中的每个可优化相邻流步骤中包含的两个流步骤进行算子链合并,获得新的逻辑数据流图,并将新的逻辑数据流图中的所有流数据处理线程当作优化流数据处理线程;其中,基于逻辑数据流图中所有初始流数据处理线程中包含的每个流步骤的并行度、链策略类型、数据分区方式以及用户定义的禁用规则,在逻辑数据流图中不同初始流数据处理线程中包含的相邻流步骤中,筛选出可优化相邻流步骤,包括:将逻辑数据流图中不同初始流数据处理线程中包含的相邻流步骤中,包含的较前流步骤的并行度和较后流步骤的并行度相等的相邻流步骤、且包含的较前流步骤的链策略类型为第一预设类型且较后流步骤的链策略类型为第二预设类型、且包含的两个流步骤的数据分区方式为预设数据分区方式、且未被用户定义的禁用规则所定义、且包含的较后流步骤的入度为1的相邻流步骤,当作可优化相邻流步骤;其中,步骤S3:基于优化流数据处理线程,确定出每个逻辑数据流图中每个流步骤的并行度和每个算子的并发度,包括:确定出每个逻辑数据流图中每个流步骤在对应逻辑数据流图中的同级分支数,作为对应流步骤的并行度;确定出每个逻辑数据流图中每个流步骤对应的算子在对应流步骤中需要执行的子任务总数,当作对应算子的并发度;其中,步骤S4:基于逻辑数据流图中每个流步骤的并行度和逻辑数据流图中包含的所有流步骤对应的算子的并发度以及Flink程序中的所有工作节点的实时状态信息,为逻辑数据流图的每个流步骤实时分配工作节点,直至遍历所有逻辑数据流图时,获得FTP文件处理结果,包括:获取Flink程序中的所有工作节点的实时状态信息,基于Flink程序中的所有工作节点的实时状态信息实时确定出Flink程序中当前的所有可用工作节点;实时确定出每个逻辑数据流图中的当前待执行流步骤;基于逻辑数据流图中当前待执行流步骤的并行度和当前待执行流步骤对应的算子的并发度,在Flink程序中当前的所有可用工作节点中筛选出为逻辑数据流图中当前待执行流步骤分配的工作节点;直至遍历所有逻辑数据流图时,基于最后一次被分配的所有工作节点的实时状态信息,获得FTP文件处理结果;其中,基于逻辑数据流图中当前待执行流步骤的并行度和当前待执行流步骤对应的算子的并发度,在Flink程序中当前的所有可用工作节点中筛选出为逻辑数据流图中当前待执行流步骤分配的工作节点,包括:基于逻辑数据流图中当前待执行流步骤的并行度,在Flink程序中当前的所有可用工作节点中筛选出当前待执行流步骤的可选工作节点;将逻辑数据流图中当前待执行流步骤的对应的算子的并发度和与当前待执行流步骤属于同级别的其他流步骤对应的算子的并发度从大到小排序,获得并发度排序结果;基于并发度排序结果筛选出当前待执行流步骤的工作节点。

全文数据:

权利要求:

百度查询: 广州睿帆科技有限公司 一种基于Flink分布式处理FTP文件的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。