掌桥专利:专业的专利平台
掌桥专利
首页

基于心跳机制的数据同步核验方法、电子设备及存储介质

文献发布时间:2024-04-18 19:58:30


基于心跳机制的数据同步核验方法、电子设备及存储介质

技术领域

本申请涉及互联网数据中心技术领域,尤其是涉及一种基于心跳机制的数据同步核验方法、电子设备及存储介质。

背景技术

数据同步是在源数据中心与目标数据中心建立数据传输通道,最终实现数据从一端到另一端的迁移。而数据同步的准确性、及时性将直接影响到决策的准确性和时效性。在如今的数字化时代,海量的数据产生在不同数据中心,而决策数据又需要将各个数据中心的数据进行汇总聚合,从而产生有价值的分析结果。因此,数据的同步在当下互联网时代必不可少,而保证数据同步的准确性与及时性,对于企业来说也是至关重要的。

目前业内对于数据的同步都是在相对稳定的网络环境下,通过不同的同步策略保证数据的时效性。第一种方式,对同步后的数据与源数据进行比对,从而确定数据传输的准确性。但是此种方式有三方面问题:1、数据传输都是基于内网或是有一个相对稳定的网络环境,而对跨地域或跨国家之间网络传输,则会出现诸多问题;2、源表与目标表的数据校验方式,严重依赖网络情况;3、在网络出现问题时,无法衡量数据延迟及到达情况。第二种方式,通过监控目标数据库变更频次相对较高的数据表是否有新数据变更同步,若指定表固定时间内无数据变更,则认为数据同步出现问题。而此种方式的弊端在于:1、固定时间无数据变更则认为数据同步出现问题,该判断过于武断,不能排除其他异常情况如服务更新或业务低峰期带来的数据偏差;2、只能简单确认数据同步是否正常,无法有效确认数据同步的具体情况。

发明内容

为了有助于改善现有数据中心数据传输是否正常不便于核验的问题,本申请提供了一种基于心跳机制的数据同步核验方法、电子设备及存储介质。

第一方面,本申请提供一种基于心跳机制的数据同步核验方法,采用如下的技术方案,该方法包括:

第一数据中心定时生成固定结构的心跳数据,并发送至第二数据中心;

所述第二数据中心对每一所述心跳数据进行内容填充;

根据所述心跳数据计算数据的错误率;

当错误率超出阈值时,判定数据同步存在问题。

通过采用上述技术方案,跨地域或跨国家在网络不稳定的情况下的数据传输,也能很好的判断数据的准确性、及时性;在数据传输出现问题时,可相对准确的判断出数据传输的具体情况。

第二方面,本申请提供一种电子设备,采用如下的技术方案:

一种电子设备,该电子设备包括:

至少一个处理器;

存储器;

至少一个应用程序,其中至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行基于心跳机制的数据同步核验方法。

第三方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:

一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令所述计算机执行第一方面提供的任一种基于心跳机制的数据同步核验方法。

综上所述,本发明技术方案在两个数据中心传输数据的同时,随之定期发送心跳数据,根据心跳数据进行核验计算,如心跳数据的时间、数量不对,则认为两个数据中心的数据传输出现了问题。其对于跨地域或跨国家在网络不稳定的情况下的数据传输,也能很好的判断数据的准确性、及时性。

附图说明

图1是本申请实施例提供的一种基于心跳机制的数据同步核验方法方法的流程示意图;

图2是本申请另一实施例提供的一种基于心跳机制的数据同步核验方法的原理示意图;

图3是本申请实施例提供的一种电子设备的原理示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图1、2及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

本申请实施例提供一种基于心跳机制的数据同步核验方法,用于互联网数据中心系统中。

具体参照图1,该基于心跳机制的数据同步核验方法包括:

第一数据中心定时生成固定结构的心跳数据,并发送至第二数据中心;

第二数据中心对每一心跳数据进行内容填充;

根据心跳数据计算数据的错误率;

当错误率超出阈值时,判定数据同步存在问题。

其中,每一条心跳数据都包含固定的几种信息,且定期产生并发送,例如:第一数据中心每10秒钟产生一条数据,并发生至第二数据中心。

本发明技术方案在两个数据中心传输数据的同时,随之定期发送心跳数据,根据心跳数据进行核验计算,如心跳数据的时间、数量不对,则认为两个数据中心的数据传输出现了问题。其对于跨地域或跨国家在网络不稳定的情况下的数据传输,也能很好的判断数据的准确性、及时性。

在本实施例中,心跳数据包括数据中心标签、发送时间标签及到达时间标签;其中数据中心标签、发送时间标签由第一数据中心填充,到达时间标签由第二数据中心填充。

可以理解的是,数据中心标签用于标注此条心跳数据是从那里产生的,例如CN代表此条数据为中国的数据中心发出;发生时间标注用于标注此条数据发出的时间,例如ctime=1800代表此条数据产生时间为18点整。而到达时间标签则用于标注标签到达第二数据中心的时间,由第二数据中心接收到心跳数据后填充入内;例如rtime=1801代表此条数据到达第二数据中心时间为18点01分。此心跳数据的格式还可以包括一些其他特征,例如接收到数据的数据中心标签;但为了便于传输,其数据包含的内容不宜过多。

对于如何计算数据的错误率,本实施例中的做法为:根据心跳数据计算数据的准确率和超时率,当准确率低于阈值或超时率超出阈值时,则判定数据同步存在问题。当然,其验算方法还可以为其他,并由此相应调整心跳数据的内容,其不以本实施例中描述为限制。

在此基础上,进一步地,准确率A的计算包括:

其中,B为第二数据中心实际接收到的心跳数据条数,C为第二数据中心应收到的心跳数据条数。

例如:设置数据每10秒产生一条,且每小时进行一次准确率验算,则每次核验应收到的心跳数据条数C应当为360条;当第二数据中心实际收到的条数为350条时,则准确率A为:350/360=0.972;

本实施例中设定准确率小于0.98时,判定数据同步存在问题,这此时A<0.98,故认为此时数据同步存在问题。

在此基础上,进一步地,超时率D的计算包括:

其中,E为超时的心跳数据条数,当心跳数据的发送时间与到达时间之间的间隔大于预设值时,判定此条心跳数据为超时。

例如:设心跳数据的发送时间与到达时间之间的间隔大于2分钟时,判定此条心跳数据为超时数据,超时率大于0.1时认为数据同步存在问题。当100条心跳数据中有2条超时时,此时计算得到D值为0.02,小于0.1,故此时认为数据同步为正常。

在本实施例的基础上,进一步地,当最后一条心跳数据的到达时间与当前时间之间的间隔大于预设值时,也判定数据同步存在问题。此时认为已经长时间未收到心跳数据,数据传输出现了问题。

在本实施例中,心跳数据随第一数据中心的业务数据及日志数据一同发送至第二数据中心。其中,第一数据中心的日志数据通过filebeat加logstash的方式传输到第二数据中心,第一数据中心的业务数据通过cdc实时数据同步的方式传输至第二数据中心的关系型数据库。

需要说明的是,Filebeat是一个轻量级的托运工具,用于转发和集中日志数据,Filebeat作为代理安装在服务器上,监视使用者指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或Logstash进行索引。Filebeat的工作原理:当使用者启动Filebeat时,它会启动一个或多个输入,这些输入将查找使用者为日志数据指定的位置,对于Filebeat找到的每个日志,Filebeat启动一个收集器,每个收集器为新内容读取单个日志,并将新日志数据发送到libbeat,libbeat聚合事件并将聚合数据发送到使用者为Filebeat配置的输出。

需要说明的是,Logstash是具有实时流水线能力的开源的数据收集引擎。Logstash可以动态统一不同来源的数据,并将数据标准化到使用者选择的目标输出。它提供了大量插件,可帮助使用者解析、丰富、转换和缓冲任何类型的数据。

需要说明的是,CDC实时数据同步指的是Change Data Capture(数据变更捕获)技术在数据同步过程中的应用。CDC技术允许在数据源发生变化时,实时地捕获这些变化,并将其应用到目标系统中,从而保持数据的同步性。

本发明方案具有以下优点:对于跨地域或跨国家的网络不稳定情况下的数据传输,也能很好的判断数据的准确性、及时性;在数据传输出现问题时,通过准确率及超时率的计算,可相对准确的判断出数据传输的具体情况。

参照附图2所示的,在本发明的另一实施例中,日志数据及业务数据按照约定频次生成数据,并在数据链路的传输中加入该数据,在目标数据源跟当前时间结合,即可判断当前数据链路传输的准确性与及时性,具体步骤如下:

1.海外IDC(数据中心,Internet Data Center)服务端固定每χ秒生成一条特定数据,业务库每χ秒生成一条特定数据(考虑到数据量,可以每χ秒更新一次,在目标数据库通过binlog记录条数)。

2.日志数据可通过filebeat+logstash方式将数据传输到国内IDC,业务数据通过监控cdc的方式将数据同步至国内IDC的指定RDBMS(关系型数据库,Relational DatabaseManagement System)。

3.业务数据及日志数据在生成时都带有各自的生成时间ctime,在到达国内IDC后将添加各自的到达时间rtime,业务数据可使用进入业务库的时间,日志数据可使用到达kafka的时间分别作为各自的到达时间。

4.将数据汇总至数据仓库进行统一分析。及时性判断的依据可使用:1、末次同步数据的ctime;2、每条数据的ctime与rtime的差值并与阈值θ的比较。准确率判断依据可用:当前时间应到达的数据量与已到达的数据量进行对比。

最后上报时间=max(ctime);

超时率=1-((rtime-ctime)<=θ的数量/(current_time/χ));

准确率=count(1)/(current_time/χ);

5.第四步计算的结果可分别作为BI报表、预警系统及调度系统的数据依赖。

具体示例例如:

1.英国IDC业务库中创建表sys_health,每5秒生成一条数据,

数据结构如下:

id bigint comment'主键'

tp varchar(10)comment'数据类型来源,en:英国,ru:俄罗斯,jp:日本'

ctime datetime default CURRENT_DATE comment'心跳数据产生的时间'

rtime datetime default null comment'心跳数据到达时间,默认为空,到达目标数据源时赋值'。

2.在国内IDC创建相同的表sys_health,并修改rtime字段默认值,如下:

rtime datetime default CURRENT_DATEcomment'数据接收时间,默认当前时间'。

3.数据正常由英国IDC传输到中国国内IDC,并写入sys_health表中,则分别计算数据的超时率、准确率、最后上报时间。

超时率(超过3分钟则超时):1-(未超时的数量(rtime-ctime小于3分钟)/应接收数量(时间/5));

准确率:已接收的数量/应接收的数量;

最后上报时间:max(ctime);

若超时率大于阈值、准确率小于阈值或最后上报时间小于阈值时,则认为数据在同步过程中遇到问题,可告警给运维人员,及时跟进处理。另外,计算结果也可以通过报表工具进行汇总分析,得出数据同步的相关历史规律。

本申请实施例还提供一种电子设备,如图3所示,图3所示的电子设备700包括:处理器701和存储器703。其中,处理器701和存储器703相连,如通过总线702相连。可选地,电子设备700还可以包括收发器704。需要说明的是,实际应用中收发器704不限于一个,该电子设备700的结构并不构成对本申请实施例的限定。

处理器701可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器701也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线702可包括一通路,在上述组件之间传送信息。总线702可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线702可以分为地址总线、数据总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器703可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器703用于存储执行本申请方案的应用程序代码,并由处理器701来控制执行。处理器701用于执行存储器703中存储的应用程序代码,以实现前述方法实施例所示的内容。

其中,电子设备包括但不限于:移动电话、笔记本电脑、PDA(个人数字助理)、PAD(平板电脑)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图3示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行上述实施例提供的基于心跳机制的数据同步核验方法。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。

以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

相关技术
  • 数据同步方法、系统、电子设备及计算机可读存储介质
  • 基于双控的存储设备数据同步方法、装置、设备及介质
  • 轮询机制的设置方法、装置、存储介质及电子设备
  • 存储方法、存储系统、电子设备及存储介质
  • 基于轻量级接口的心跳模拟探测方法、装置及存储介质
  • 一种基于预约机制的场馆入场核验方法、系统及存储介质
  • 基于心跳的数据同步装置、方法及分布式存储系统
技术分类

06120116502026