反馈已提交

网络繁忙

实时管道数据一致性检测

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

    1.1 版本

    FineDataLink 版本
    功能变动
    4.2.20.5&5.0.13.5
    实时管道支持数据一致性检测

    1.2 应用场景

    实时管道任务运行后,用户需要确认目标端数据与源端是否一致,若不一致希望能被快速通知,避免业务使用数据时才暴露问题。

    目前虽然有「数据检测」功能,但存在以下问题:

    • 交互割裂:用户需要跨多个功能模块操作,数据检测任务不能读取实时管道已有的配置项,不支持批量设置等操作。

    • 检测不可靠:读取期间数据更新导致频繁误报,用户对检测结果缺乏信任。

    1.3 功能简介

    实时管道任务内提供数据一致性检测功能,可定期检测实时管道任务目标端与来源端数据是否一致,当检测不通过时支持通知给对应负责人,确保 IT/运维人员发现问题先于业务感知。如下图所示:

    1785376157865787.png

    2. 配置数据一致性检测

    2.1 前提条件

    需要同时满足以下条件,才支持使用「数据一致性检测」功能:

    1)数据源类型符合要求

    实时管道任务支持的数据源请参见:FineDataLink支持的数据源

    实时管道任务的来源端和目标端需要在以下列表中才支持「数据一致性检测」功能。

    MySQL、Oracle、SQL Server、PostgreSQL、达梦、StarRocks、Doris、Greenplum、YMatrix、SelectDB

    2)来源表需要有主键。

    3)源端非 分组表

    2.2 添加规则

    实时管道任务配置完成后,才能使用「数据一致性检测」功能。

    实时管道任务详情页中,点击「数据一致性检测」Tab,点击「添加规则」按钮,配置规则:

    1785314656902774.png

    2.2.1 检测对象

    1785316332823396.png

    1)基于实时管道任务已配置的表,选择数据一致性检测的对象。

    注:来源表需要有主键,才能被选择

    2)支持配置来源表和目标表的数据范围,基于筛选后的数据,进行比对。

    1785315562443447.png

    3)支持「快速选表」功能,可输入来源表名进行匹配。如下图所示:

    • 每行填写一个来源表名,可填写多行。

    1785316441574398.png

    2.2.2 检测方式

    检测方式提供两种:数据统计值比对、数据明细值比对。

    数据统计值比对:

    基于数据行数进行快速一致性校验:

    1785316826783207.png

    若目标端为逻辑删除,目标表统计行数时自动去除已删除数据。

    数据明细值比对:

    基于全量数据逐行、逐字段比对:

    1785317269586740.png

    适用于:表数量不过大(千万级)、数据库负载较低、网络带宽充裕的场景。

    比对维度:字段值;仅检测已配置映射的字段,未配置映射的字段不纳入检测范围。

    设置项
    说明
    检测范围

    1)完整检测

    • 适用场景:对数据一致性要求高;可接受较高资源消耗

    • 将检测全部数据,准确性更高,但耗时和资源消耗相对较大

    • 由于源端与目标端数据会持续变化,系统将在“相对最新的同一状态”下执行校验,以减少因实时变动带来的误报,相较实时最新数据,会存在一定延迟

    2)抽样检测:

    • 适用场景:数据量大,对性能敏感,接受一定误差风险

    • 按设定比例对部分数据进行检测,适合大数据量快速校验;比例范围:10%-50%,需填写正整数

    • 抽样规则:基于来源表进行随机抽样

    • 抽样数量向上取整,示例:总数据量:9999,抽样比例:11%,计算结果:9999 × 11% = 1099.89,实际抽样:1100 条

    1785317482360752.png

    2.2.3 预期范围

    1785379557700695.png

    1)差异行数/差异率可以只设置一个,若都设置,满足任一条件,即符合预期。

    2)差异行定义:源端与目标端按主键 / 比对键取并集后,无法判定为两端完全一致的数据行数。

    • 差异行数=目标端缺失行数 + 字段值不一致行数 + 目标端多出行数。

    3)差异率=差异行数 / 总检测行数

    • 差异行数=目标端缺失行数 + 字段值不一致行数 + 目标端多出行数。

    • 总检测行数=来源端检测行数+目标端检测行数。

    示例:源端行数:1000,目标端行数:1200,目标端缺失:100 行,字段值不一致:50 行,目标端多出:300 行,总异常行数 = 100 + 50 + 300 = 450,总检测行数=1000+1200=2200。

    2.2.4 复检配置

    数据高频变动、同步延迟或检测期间持续写入时,检测结果可能产生偏差。建议开启此能力,以提升检测结果准确性。

    1785321688211218.png

    1)当检测不通过时,快速复检,用于校验一致性,降低误报影响。

    • 复检次数:正整数,范围为1-5。

    • 复检间隔:正整数,范围1-10分钟。

    2)实时管道任务来源和目标延迟过高时,复检也一定会有差异。

    3)复检通过规则说明:

    • 若任意一次复检结果为通过,则本次检测最终判定为通过,并立即结束复检流程,不再执行后续复检。若所有有效复检结果均为不通过,则本次检测最终判定为不通过,返回复检次数及对应的结果。

    • 若某次复检运行失败,该次复检不参与通过/不通过判定,系统记录失败阶段和失败原因,并根据剩余复检次数继续执行。若所有复检均运行失败,且未产生有效复检结果,则本次检测最终判定为运行失败。

    • 如复检结果中同时存在运行失败和检测不通过,且不存在复检通过记录,则以已成功执行的复检结果作为最终判定依据,当前规则检测实例状态更新为检测不通过。 

    2.2.5 差异明细存储

    详细说明请参见:异常明细存储

    1)定义差异明细(本文 2.4.2 节内容)存储的格式。

    2)产品界面内支持设置差异明细存储的保留时间上限、存储行数上限:

    • 保留时间上限:默认保存7天。

    1785383221568186.png

    2.2.6 相同对象添加多个规则

    支持一张表添加多个规则,点击「添加规则」按钮即可。详情请参见:实时管道数据一致性检测规则运维

    1785329421862802.png

    2.3 运行数据检测

    icon提示:

    与实时模块公用一个资源池,即受 负载分配 功能限制(内存限制和并发控制),资源不足时,规则检测状态为排队中。

    数据一致性检测规则配置后,可手动运行或者为其设置执行频率。如下图所示:

    15.png

    2.3.1 手动运行

    点击「运行」按钮,运行数据一致性检测规则。

    注:仅当规则未在检测中时可启动,运行中不可重复触发。

    2.3.2 设置执行频率

    若希望自动运行数据一致性检测,可设置执行频率:

    设置项说明请参见:定时调度

    注:若对应检测规则正在检测中,本次调度将跳过。

    18.png

    2.4 查看检测结果

    2.4.1 运行记录

    运行后,可查看运行结果及运行记录。如下图所示:

    1785324985365610.png

    显示项说明
    差异情况

    按规则中配置的预期范围,显示对应的差异行数或差异率;检测方式为「数据明细值比对」时,可查看差异详情

    差异行

    差异行与差异率定义请参见本文 2.2.3 节内容。

    1)预期范围为差异行数:

    三个数字依次代表差异行、来源检测行、目标检测

    26.png

    2)预期范围为差异率:

    检测方式为「数据明细值比对」时,差异率右侧才有「详情」按钮,点击后,可查看差异详情(本文 2.4.2 节内容)

    14.png

    2.4.2 差异详情

    检测方式为「数据明细值比对」且检测不通过时,可查看差异详情。

    途径:

    1)点击「差异情况」字段值右侧的「详情」按钮,可查看最近一次检查结果的差异详情。

    1785325330585348.png

    2)在运行记录中点击「详情」按钮,可根据需要查看任一运行记录的差异详情。

    1785325429891006.png

    差异详情界面说明:

    可查看差异详情:

    1785325628866653.png

    展示内容
    说明
    导出按钮异常明细内容支持下载,说明如下:
    • 支持下载当前检测报告对应的异常明细数据

    • 下载内容与弹窗展示内容保持一致

    • 下载范围为本次检测报告中的全部异常明细

    2.4.3 复检详情

    运行记录中,可点击「复检详情」按钮,查看复检详情。

    1785326420797252.png

    1)存在复检记录的检测记录,开始时间为首次开始时间,结束时间为最后一次复检完成的时间。复检失败,也记录对应时间。

    2)复检记录检测的记录数量,应随着每次检测逐步递减;最终展示的运行记录的异常行数=复检未通过不一致行数/第一次检测的总行数

    • 例如首次运行发现100/1000,则第一次复检只检测100条,结果为50/100,第二次复检应为10/50,如果此时未通过,则展示检测结果为10/1000。

    3)若检测方式为「数据明细值比对」,复检详情中可查看差异详情。

    1785376697572398.png

    2.5 设置结果通知

    2.5.1 运行监控

    可统一为所有规则设置结果通知:

    1785329487453831.png

    1)应用场景

    • 降低通知噪音:多表批量检测时,单表逐条通知可能在短时间内产生大量消息,容易造成刷屏,影响用户对关键异常的关注。

    • 提升异常可读性:合并通知可以汇总展示窗口内的检测结果,例如通过数量、不通过数量、运行失败数量,用户不需要逐条查看单表消息。 

    • 便于判断整体影响范围:用户可以快速判断异常是少量表问题,还是大面积异常,从而区分表级问题和管道、数据源、目标端等系统性问题。 

    • 批量检测:帮助用户判断整体数据同步质量。

    2)功能说明

    部分设置项说明如下:

    功能项说明
    监听内容
    可勾选:运行失败、检测不通过、检测通过
    统计时机

    需要输入正整数

    • 按照设定的时间窗口范围,将窗口内产生结果的通知进行合并,一起通知给用户

    • 例如六十分钟通知一次,十点钟开始,则十点到十一点执行完成的多次结果会合并通知

    通知渠道

    平台、邮件、短信、钉钉群机器人、飞书群机器人、企业微信群机器人、WeLink

    详情请参见:任务控制-结果通知 

    通知内容
    场景
    通知主题通知内容
    检测通过

    [FineDataLink] ${管道任务名}数据一致性检测通过:


    ${管道任务名}的数据一致性检测检测已完成,检测结果为通过。

    检测类型:${检测类型}多种检测类型的情况下展示多种检测类型。

    检测表数:${检测表数}

    通过表数:${通过表数}

    开始时间:${开始时间}

    结束时间:${结束时间}

    检测不通过

    [FineDataLink] ${管道任务名}数据一致性检测不通过:

    ${管道任务名}的数据一致性检测检测已完成,检测结果为不通过。

    检测类型:检测类型:${检测类型}多种检测类型的情况下展示多种检测类型。

    检测表数:${检测表数}

    通过表数:${通过表数}

    不通过表数:${不通过表数}

    失败表数量:${失败表数量}

    开始时间:${开始时间}

    结束时间:${结束时间}

    差异较大表:${差异较大前五表}${差异数值},其中表xxx复检次数:${复检次数},复检结果:${复检结果}

    请进入数据一致性检测页面查看详情。

    运行失败

    [FineDataLink] ${管道任务名}数据一致性检测运行失败:

    本次数据一致性检测运行失败,所有检测表均未生成有效检测结果。

    检测类型:${检测类型}

    检测表数量:${检测表数量}

    失败表数量:${失败表数量}

    失败原因:${失败原因}

    开始时间:${开始时间}

    结束时间:${结束时间}

    请进入数据一致性检测页面查看失败详情,并处理异常后重新发起检测。

    2.5.2 每条规则设置结果通知

    支持为每条规则配置结果通知,当运行失败、检测不通过、检测通过时,通知给指定负责人。

    1785328289319366.png

    功能项
    说明
    设置项详情请参见:任务控制-结果通知
    通知内容
    场景
    通知主题通知内容
    检测通过

    [FineDataLink] ${管道任务名}数据一致性检测通过:${表名} / ${规则名}

    表 ${表名} 的数据一致性检测已完成,检测结果为通过。

    检测规则:${规则名}

    检测类型:${检测类型}

    检测条数:${检测条数}

    复检次数:${复检次数},复检结果:${复检结果}

    开始时间:${开始时间}

    结束时间:${结束时间}

    检测不通过

    [FineDataLink] ${管道任务名}数据一致性检测不通过:${表名} / ${规则名}

    表 ${表名} 的数据一致性检测已完成,检测结果为不通过。

    检测规则:${规则名}

    检测类型:${检测类型}

    检测条数:${检测条数}

    复检次数:${复检次数},复检结果:${复检结果}

    差异值/差异率:${差异值}/${差异率}

    开始时间:${开始时间}

    结束时间:${结束时间}

    运行失败[FineDataLink] ${管道任务名}数据一致性检测运行失败:${表名} / ${规则名}

    表 ${表名} 的数据一致性检测运行失败,未生成有效检测结果。

    检测规则:${规则名}

    检测类型:${检测类型}

    检测条数:${检测条数}

    复检次数:${复检次数}

    失败原因:${失败原因}

    开始时间:${开始时间}

    结束时间:${结束时间}

    请进入数据一致性检测页面查看失败详情,并根据失败原因处理后重新发起检测。

    3. 实时管道其他状态影响

    管道变化情况
    场景处理策略
    源表 DDL 变化

    源表新增字段

    自动纳入对应检测规则(新增字段)

    源表删除字段

    自动移除对应字段

    源表字段重命名

    需要用户手动处理目标端数据

    源表类型变更

    自动调整字段类型
    表进入补数据状态

    表进入补数据状态

    正常检测,不做特殊处理

    对应的表从管道任务中被移除,又重新添加

    需要重新配置检测规则,不缓存之前的配置

    管道配置修改

    更改增量同步起点

    正常检测

    重置启动

    切换同步方式由全量+增量变为仅增量

    切换逻辑删除为物理删除

    需用户手动处理,删除对应逻辑删除字段

    切换物理删除为逻辑删除

    自动过滤掉逻辑删除字段

    4. 管理数据一致性检测规则

    附件列表


    主题: 实时管道
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

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

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

    不再提示

    10s后关闭



    AI

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