反馈已提交

网络繁忙

实时采集任务

  • 文档创建者:Roxy
  • 历史版本:18
  • 最近更新:Wendy123456 于 2026-01-08
  • 1. 概述

    1.1 版本

    FineDataLink版本
    功能变动
    4.2.4.3-
    4.2.14.1实时采集任务运行逻辑优化

    1.2 应用场景

    当多个实时任务、实时管道任务对同一个数据库的不同表进行实时同步时,会重复解析数据库的日志,导致数据库压力过大,特别是在实时任务场景下,不同表会在不同实时任务中处理,就很容易导致日志被解析多次。

    1.3 功能简介

    实时采集任务支持对数据库日志解析进行管理,存储日志解析产生的变更数据,实时任务/实时管道任务能够消费实时采集任务的数据。

    注:所有实时任务/实时管道任务的 CDC 输入,都默认走实时数据采集任务。

    2. 实时采集任务运行说明

    50.png

    2.1 新建实时采集任务

    2.1.1 新建流程

    1)点击「管理系统>数据连接>实时采集任务」,设置 缓存设置

    2)创建实时管道或者实时任务后,在「管理系统>数据连接>实时采集任务」中自动新增实时采集任务,不需要用户手动新增。如下图所示:

    30.png

    2.1.2 实时采集任务与数据连接关系

    4.2.14.1 之前版本:

    采集任务根据数据连接URL来区分:

    • 如果不同数据连接URL完全一致,只会创建一个实时采集任务。

    • 数据连接URL发生变化,比如加个空格/加个后缀参数之类,就会创建一个新的采集任务。

    1767782192724909.png

    4.2.14.1 及之后版本:

    采集任务以「数据连接的名称」来区分。

    2.1.3 示例说明

    注:重置启动实时管道任务/实时任务,相当于新建任务,参考下方表格说明即可。

    场景
    说明

    已有实时采集任务,新建一个新表的任务:

    • 已经有link1的实时采集任务1在运行,正在收集table1、table2表的CDC数据

    • 新建link1下table3表的任务1,并启动

    任务启动时,在实时采集任务1中自动新增table3的日志解析:
    • 按照table3的时间点解析日志单独收集table3的数据

    已有实时采集任务,新建一个已存在表的任务:
    • 已经有link1的实时采集任务1在运行,正在收集table1、table2、table3表的CDC数据

    • 新建link1下table1的任务1,并启动

    任务1直接使用实时采集任务1收集的日志数据:

    1)当任务1使用「全量+增量」或「启动时间」时,使用实时采集任务1

    2)当任务1使用「自定义时间」时:

    • 当自定义时间早于实时采集任务1的最早时间时,按照table1的时间点解析日志,自动补齐table1缺失数据;当自动补齐时,数据库已经没有相应时间点的日志,则任务1中止报错,实时采集任务1正常运行

    • 当自定义时间晚于实时采集任务1的最早时间时,直接使用实时采集任务1

    2.2 暂停/中止实时管道或实时任务对采集任务的影响

    4.2.14.1 之前版本:

    场景
    说明
    • 已经有link1的实时采集任务1在运行,正在收集table1、table2、table3表的CDC数据

    • 有一个任务1在同步table1、table2、table3的数据,停止任务1/因为非CDC数据的原因导致任务异常中止

    检查任务中使用的所有来源表的CDC数据是否有其他任务在使用:

    • 如果没有其他任务使用,实时采集任务1继续采集 24h,24h 后自动停止

    • 如果有其他任务使用,实时采集任务1继续运行

    • 已经有link1的实时采集任务1在运行,正在收集table1、table2、table3表的CDC数据

    • 有一个任务1在同步table1的数据,停止任务1/因为非CDC数据的原因导致任务异常中止

    检查任务中使用的所有来源表的CDC数据是否有其他任务在使用:

    • 如果没有其他任务使用,实时采集任务1自动暂停收集table1的CDC数据,继续收集table2、table3的CDC数据

    • 如果有其他任务使用,实时采集任务1继续收集table1、table2、table3的CDC数据

    4.2.14.1 及之后版本:

    当实时管道/实时任务暂停时,不再自动触发采集任务中表的暂停(若实时采集任务中存在表未被使用,会进行提示;同时,实时采集任务中支持 手动删除表 )。

    2.3 删除实时管道或实时任务对采集任务的影响

    4.2.14.1 之前版本:

    场景
    说明
    • 已经有link1的实时采集任务1在运行,正在收集table1、table2、table3表的CDC数据

    • 有一个任务1在同步table1、table2、table3的数据,停止任务1后,删除任务1

    删除任务时,检查任务中使用的所有来源表的CDC数据是否有其他任务在使用:
    • 如果没有其他任务使用,自动删除实时采集任务1,并自动删除已经收集的table1、table2、table3的CDC数据

    • 如果有其他任务使用,在实时采集任务1中继续收集table1、table2、table3的CDC数据

    • 已经有link1的实时采集任务1在运行,正在收集table1、table2、table3表的CDC数据

    • 有一个任务1在同步table1的数据,停止任务1后,删除任务1

    删除任务时,检查任务中使用的所有来源表的CDC数据是否有其他任务在使用:
    • 如果没有其他任务使用,在实时采集任务1不再收集table1的CDC数据,并且自动删除table1已经收集的数据,继续收集table2、table3的CDC数据

    • 如果有其他任务使用,在实时采集任务1中继续收集table1、table2、table3的CDC数据

    4.2.14.1 及之后版本:

    当实时管道/实时任务删除时,不再自动触发采集任务中表的删除(若实时采集任务中存在表未被使用,会进行提示;同时,实时采集任务中支持 手动删除表 )。

    2.4 启动实时管道任务或实时任务对采集任务的影响

    场景
    说明
    • 有一个任务1之前同步table1、table2、table3的数据,现在暂停,并且有一个实时采集任务1对tablea1、table2、table3进行数据采集

    • 恢复启动任务1

    恢复任务时,检查任务中使用的所有来源表的CDC数据是否在收集:

    1)如果是在收集,说明有其他任务正在使用这些表的CDC数据,按照当前任务的断点从实时数据共享中心取数进行同步即可

    • 如果断点时间早于在实时数据共享中心最早的数据,则该任务报错中止

    2)如果没有在收集,说明也没有其他任务正在使用这些表的CDC数据,自动恢复启动该实时采集任务收集,继续收集table1、table2、table3的数据,按照当前任务的断点从实时数据共享中心取数进行同步即可

    • 如果断点时间早于在实时数据共享中心最早的数据,则该任务报错中止

    3)任务1恢复启动时,有三种情况:

    • 情况一:实时数据共享中心该表的数据有断点时间的数据,可以正常恢复同步

    • 情况二:断点时间早于实时数据共享中心的最早数据,则自动补数

    • 情况三:断点时间晚于实时数据共享中心中的最晚数据,先恢复实时采集任务收集到相应断点后,再继续进行同步

    51.png

    • 有一个任务1之前同步table1的数据,现在暂停,并且有一个实时采集任务1对tablea1、table2、table3

    • 恢复启动任务1

    恢复任务时,检查任务中使用的所有来源表的CDC数据是否在收集:

    1)如果是在收集,说明有其他任务正在使用这些表的CDC数据,按照当前任务的断点从实时数据共享中心取数进行同步即可

    • 如果断点时间早于在实时数据共享中心最早的数据,则该任务报错中止

    2)如果没有在收集,说明也没有其他任务正在使用这些表的CDC数据,自动恢复启动该实时采集任务收集,继续收集table1的数据,按照当前任务的断点从实时数据共享中心取数进行同步即可

    • 如果断点时间早于在实时数据共享中心最早的数据,则该任务报错中止

    4.2.14.1 及之后版本,逻辑优化:

    1)当采集任务被手动暂停后,因为某一个实时任务重新触发启动时,启动时就恢复所有表的采集。

    2)当实时管道、实时任务恢复启动时:

    • 对应的采集任务不存在或者对应的表不存在时,实时管道报表级错误、实时任务报任务级错误;采集任务中,报错:没有解析${表名}的数据,请重新同步,自动添加该表的解析

    • 对应的表运行错误时,实时管道报表级错误、实时任务报任务级错误;采集任务中,报错:${表名}解析错误,请重新同步,自动重置该表的解析

    • 对应的表最早消息时间晚于所需时间时,实时管道报表级错误,实时任务报任务级错误;采集任务中,${表名}的增量数据已过期,请重新同步

    2.5 实时采集任务运行错误

    场景
    说明

    实时采集任务从运行中→ 运行错误:

    • 有一个任务1在实时同步link1中的table1、table2、table3的数据

    • link1的实时采集任务1,因为各种原因出错,比如与数据库连接中断、日志文件不存在等

    • 实时采集任务1运行错误中止

    • 任务1报错中止,并且打印出实时采集任务1具体的错误原因

    所有依赖实时采集任务1的任务全部运行错误中止,并且打印出实时采集任务1具体的错误原因

     用户按照具体的错误原因,采取针对性的操作即可 

    实时采集任务被异常停止:

    • 有一个任务1在实时同步link1中的A1、table2、table3的数据

    • link1的实时采集任务1,被其他原因停止

    • 所有依赖实时采集任务1的任务全部运行错误中止,并且打印出具体错误原因:实时采集任务(任务一)已停止

    • 用户恢复启动某个任务,会自动恢复启动实时采集任务,其他的任务恢复启动即可

    2.6 实时采集任务中表异常

    1)实时采集任务中表的异常情况都在实时、管道任务中体现。

    当实时采集任务中表运行错误、异常删除时,依赖该实时采集任务的实时任务报错中止,实时管道任务移除异常表的同步,正常的表照常同步,当实时管道任务中所有表都异常时,管道任务才整体报错。

    比如解析相应时间点的日志时,如果相应时间点的日志丢失,则实时采集任务报错中止、依赖该实时采集任务的任务也报错。

    2)当新建的实时任务、实时管道任务的启动时间早于实时数据共享中心的数据最早的数据时,会自动补齐数据。

    2.7 对实时任务、实时管道的影响

    1)实时采集任务将数据库中所有CDC数据都写入到实时数据共享中心,由各个业务决定使用哪一类数据。比如对于 DDL 的数据,数据管道会进行使用,实时任务暂时没有使用 DDL 的功能。

    注:实时采集任务暂不支持脏数据容忍,遇到脏数据时,先走重试逻辑,重试失败后,则实时采集任务报错中止。

    2)对实时、管道任务运行逻辑的变动:

    1)重试逻辑:管道、实时任务的重试不控制与 CDC 数据源的重试,只控制管道和实时数据共享中心连接的重试和其输出端的重试。

    2)删除表情况:

    • 实时任务需要基于删除的 ddl 事件,报错中止、打印相应报错日志,并触发相应的结果通知。

    • 实时管道任务会基于删除表的ddl事件,触发通知和打印日志,继续同步其他表。

    3)自定义同步时间:在实时任务、实时管道任务中同步方式选择「自定义时间」时,可以设置「数据库日志最早时间」和「共享中心最早时间」中的最早时间;实时管道任务中需要取「当前任务的所有表各自的最早时间」中的最晚时间。

    4)恢复启动:当实时、管道任务恢复启动时,如果实时数据共享中心中最早的数据晚于断点时间,任务报错中止。

    3. 任务运维

    详情请参见:实时采集任务运维





    附件列表


    主题: 管理系统
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持