技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种数据采集准确性检测和修复系统及其控制方法与流程  >  正文

一种数据采集准确性检测和修复系统及其控制方法与流程

  • 国知局
  • 2024-08-30 14:59:47

本发明涉及多用户实时采集系统中数据准确性检测及修复的,具体涉及一种数据采集准确性检测和修复系统及其控制方法。

背景技术:

1、在多用户库实时采集系统中,需要将各个用户库的数据采集到一个实时数仓中,采集的技术通常基于成熟的binlog技术,即每一次数据库变更操作都会产生对应的binlog记录,实时采集链路通过解析监听binlog变化将其中的数据部分写入到结果表中,从而完成数据的采集。采集到实时数仓后提供对应的数据查询和分析的能力。这些查询、分析涉及到历史数据,因此需要两边的数据(当前数据与历史数据)完全一致。多用户实时采集系统是一个高度复杂的系统,面临用户库的管理复杂、用户库的结构升级、灰度发布、批量传输数据等等情况,所以不可避免的会产生数据丢失、数据不一致的情况。传统的解决方案是对出现问题的数据重新进行初始化,即全量重新拉取数据库,该方案存在几个问题:

2、1)不能预先发现问题,通常是客户首先发现问题,此时已经上升为生产问题;

3、2)处理流程复杂,需要对实时采集链路进行一系列的调整,极大增加了采集系统的复杂性;

4、3)执行成本高,需要消耗一个很大的执行资源,对用户库本身数据导出、实时数仓的写入都会给用户库和实时数仓带来很大的压力;

5、4)影响可用性,导致该用户的客户的业务数据处理速度降低,对实时数仓的查询、分析功能暂不可用;同时对使用实时数仓进行查询分析的其他客户的使用体验也产生影响。

6、因此,亟需提供一种数据采集准确性检测和修复系统及其控制方法,以解决上述现有技术中存在的缺陷与不足。

技术实现思路

1、为了解决现有技术中存在的缺陷与不足,本发明提供了一种数据采集准确性检测和修复系统及其控制方法。

2、本发明提供的具体方案为:

3、一种数据采集准确性检测和修复系统,其特征在于:所述系统包括比对系统和修复系统;其中,

4、所述比对系统包括配置单元、拉取数据单元和比对单元;其中,

5、所述配置单元配置用户信息及任务信息,并将用户信息及任务信息保存于与其连接的元数据库中;

6、所述拉取数据单元根据需要从与其连接的用户库中获取用户信息,然后启动对应的线程,再从与其连接的实时数仓中拉取数据;

7、所述比对单元从配置单元中获取对应数据,在将数据清洗后根据用户进行单独比对,并将比对结果送入与其连接的存储单元中;

8、所述修复系统包括读取配置单元、校验数据单元及数据修复单元;其中,

9、所述读取配置单元从与其连接的比对系统重获取比对对象,从与其连接的存储单元中获取比对结果;

10、所述校验数据单元根据从用户库中获取用户信息与从实时数仓中拉取数据的时间差异,判断数据是否异常;

11、所述数据修复单元根据比对结果中的异常数据,对其进行对应的数据修复,并将修复后的数据送入实时数仓中进行数据更新;

12、所述系统采用巡检方式或即时方式运行,

13、当采用巡检方式运行时,在业务空闲期,对所有用户库进行比对;

14、当采用即时方式运行时,当发现了异常数据时, 进行一轮即时比对和修复过程。

15、作为本发明的进一步优选实施方式,所述配置单元中,

16、所述用户信息至少包括用户库的表信息和链接信息;

17、所述任务信息至少包括用户库列表,需要比对的列表,比对字段及表主键。

18、作为本发明的进一步优选实施方式,所述拉取数据单元中,拉取的数据包括主键、记录数据变化的时间字段、业务数据字段以及对应用户库的标识。

19、作为本发明的进一步优选实施方式,所述比对单元中,比对算法选用olap框架或apache spark分布式计算框架。

20、作为本发明的进一步优选实施方式,当比对算法选用olap框架时,

21、1)先分别建立用于加载用户库数据的用户库表格、用于加载实时数仓数据的实时数仓表格、用于存储比对结构的比对表格以及用于存储比对结果的结果表格;

22、2)将用户库数据映射入用户库表格中,将实时数仓数据映射入实时数仓表格中;

23、3)对数据进行清洗;

24、4)分别将用户库数据和实时数仓数据进行比对,并将比对结果送入存储单元中。

25、作为本发明的进一步优选实施方式,清洗的对象包括数据中的空值数据以及日期型数据,且将清洗步骤放入比对任务中的子查询过程中。

26、作为本发明的进一步优选实施方式,将用户库数据和实时数仓数据进行比对时,只保留主键;或保留主键的同时,还保留时间字段和自定义比较字段。

27、作为本发明的进一步优选实施方式,所述校验数据单元中,先判断从用户库中获取用户信息与从实时数仓中拉取数据的时间差异与预设拉取时间范围的关系:

28、当所述时间差异≤预设拉取时间范围时,认定数据正常;

29、当所述时间差异>预设拉取时间范围时,再判断所述时间差异与预设偏移阈值的关系:

30、当所述时间差异≤预设偏移阈值时,认定数据正常;

31、当所述时间差异>预设偏移阈值时,认定数据异常。

32、作为本发明的进一步优选实施方式,所述数据修复单元中,

33、当用户库数据和实时数仓数据不一致时,将用户库数据的当前时间减少间隔时间,以将用户库数据更新到实时数仓中;

34、当数据仅在实时数仓中存在,但在用户库中不存在时,在用户库中检查该数据是否确实不存在了,如果确实不存在则从实时数仓中物理删除或逻辑删除该数据。

35、进一步地,本发明还提供一种数据采集准确性检测和修复系统的控制方法,其特征在于:包括以下步骤:

36、1)配置用户信息及任务信息,并将其保存于元数据库中;

37、2)从用户库中获取用户信息,然后启动对应的线程,再从实时数仓中拉取数据;

38、3)获取对应数据,在将数据清洗后根据用户进行单独比对,并将比对结果送入存储单元中;

39、4)从存储单元中获取比对结果;

40、5)根据从用户库中获取用户信息与从实时数仓中拉取数据的时间差异,判断数据是否异常;

41、6)根据比对结果中的异常数据,对其进行对应的数据修复,并将修复后的数据送入实时数仓中进行数据更新。

42、相较于现有技术,本发明能够实现的技术效果包括:

43、1)本发明提供一种数据采集准确性检测和修复系统及其控制方法,通过对用户库数据和实时数仓数据按主键和字段进行比对,找到异常数据。对比的主键和字段是有限的,从而保证数据的拉取是轻量级的;对比的主键和字段是可配置的,能够灵活的满足比对需求;对比过程是单个用户单个表力度的,所需资源很小。降低了整体的成本,并且对用户库和实时数仓的影响极小,降低执行成本的同时降低对可用性的影响。

44、2)本发明提供一种数据采集准确性检测和修复系统及其控制方法,在发现异常数据后,通过设置数据修复单元,把修复后的对应数据送入实时数仓中进行数据更新,以消除了对实时系统改造的需求。

45、3)本发明提供一种数据采集准确性检测和修复系统及其控制方法,所述系统采用巡检方式或即时方式运行,从而共同形成数据准确性的保障;当采用巡检方式运行时,在业务空闲期,对所有用户库进行比对,从而确保了历史数据的准确性;当采用即时方式运行时,当发现了异常数据时, 进行一轮即时比对和修复过程,能够在短时间内(分钟级别)修复该用户的数据。

46、4)本发明提供一种数据采集准确性检测和修复系统及其控制方法,采用一种轻量级的数据拉取机制,最大限度的降低了对生产环境的压力影响;数据处理分阶段进行,使得拉取过程可以独立快速进行,从而降低了对生产关联查询的时长,提高了安全性。

47、5)本发明提供一种数据采集准确性检测和修复系统及其控制方法,采用了并发的拉取方式,和一种基于 oalp或分布式计算的框架,可以实现可扩展、对多个用户库同时且快速的进行数据比对。

48、6)本发明提供一种数据采集准确性检测和修复系统及其控制方法,通过数据校验机制,确保数据安全,不会导致错误的处理;通过比对,只对需要的数据进行修复,消除了数据处理的压力;不需要修改采集链路,数据修复过程和常规业务流程完全保持一致。

本文地址:https://www.jishuxx.com/zhuanli/20240830/285002.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。