CN106254094A - 一种数据同步方法及*** - Google Patents

一种数据同步方法及*** Download PDF

Info

Publication number
CN106254094A
CN106254094A CN201610569538.3A CN201610569538A CN106254094A CN 106254094 A CN106254094 A CN 106254094A CN 201610569538 A CN201610569538 A CN 201610569538A CN 106254094 A CN106254094 A CN 106254094A
Authority
CN
China
Prior art keywords
data
log information
source
destination
mark
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610569538.3A
Other languages
English (en)
Other versions
CN106254094B (zh
Inventor
李勇
王笑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201610569538.3A priority Critical patent/CN106254094B/zh
Publication of CN106254094A publication Critical patent/CN106254094A/zh
Application granted granted Critical
Publication of CN106254094B publication Critical patent/CN106254094B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种数据同步方法及***,该方法包括:目的端向源端发送数据同步请求,所述数据同步请求包含待同步数据的日志分组标识;所述目的端接收所述源端发送的所述日志分组标识的N条日志信息,每条日志信息至少包括待同步数据的标识和待同步数据在源端的第一时间戳,N为正整数;所述目的端按照如下方式并行处理所述日志分组标识的N条日志信息:针对每条日志信息,根据所述日志信息中的待同步数据的标识,确定与所述标识对应的目的端数据的第二时间戳;若所述第一时间戳晚于所述第二时间戳,则从所述源端获取与所述标识对应的源端数据以更新所述目的端数据,用以解决现有的灾备***结构中主备***数据同步方法不能够保证实时性的问题。

Description

一种数据同步方法及***
技术领域
本发明涉及通信领域,尤其涉及一种数据同步方法及***。
背景技术
银行业是应用信息科技最广泛的行业之一。随着银行信息化建设的快速发展,银行信息***大多采用了数据集中存放、集中处理的大集中模式,这种集中模式在带来巨大好处的同时也存在着许多风险,其中一个方面就是多点的分散风险汇集成了数据中心一点的集中风险,一旦中心端出现技术故障(例如硬件故障、人为操作失误和病毒侵袭所造成的破坏),其后果将是灾难性的。因此,数据的高可靠存储,灾难发生的预防,充分考虑灾难发生后果的快速恢复手段,成为银行信息安全工作中极为重要的一环。
一般而言,为进行数据灾备,会对处于核心地位的***采用1+1备份或N+1备份。一旦主用***发生故障时,备用***能很快地接管主用***的工作,使整个工作环境保持正常。其中,主用***和备用***可以是在正常情况下功能相同并且相互独立操作的两个***,也被称为主备双活***。在这样的主备双活***中,通常将涉及较多的动态数据以及配置数据等操作,要使主用与备用***之间的切换不影响整个工作环境的正常运行,其中一个关键的问题就是同时处于活动状态的主用与备用***之间的数据同步。当主用***出现问题无法胜任工作时,备用***能够及时完全代替主用***进行工作,以提高***的可靠性。
在目前的灾备***结构中,主用***或备用***本身常常通过轮询的方式获取发生了更新的源数据,例如备用***通过轮询来检查主用***源数据表中的数据的时间戳是否发生变化。这种方式的缺点在于备用***数据更新始终有滞后性,特别是在主用***中有大量动态数据的情况下,因为对主用***源数据表每进行一遍轮询都将花费很多的时间,因此导致主用***或备用***之间不能够保证同步的实时性。
发明内容
本发明实施例提供一种数据同步方法,用以解决现有的灾备***结构中主备***数据同步方法不能够保证实时性的问题。
本发明方法包括一种数据同步方法,该方法包括:目的端向源端发送数据同步请求,所述数据同步请求包含待同步数据的日志分组标识;
所述目的端接收所述源端发送的所述日志分组标识的N条日志信息,每条日志信息至少包括待同步数据的标识和待同步数据在源端的第一时间戳,N为正整数;
所述目的端按照如下方式并行处理所述日志分组标识的N条日志信息:
针对每条日志信息,根据所述日志信息中的待同步数据的标识,确定与所述标识对应的目的端数据的第二时间戳;若所述第一时间戳晚于所述第二时间戳,则从所述源端获取与所述标识对应的源端数据以更新所述目的端数据。
基于同样的发明构思,本发明实施例进一步地提供一种数据同步***,该***包括源端和目的端,所述目的端包括:发送单元,用于向源端发送数据同步请求,所述数据同步请求包含待同步数据的日志分组标识;
接收单元,用于接收所述源端发送的所述日志分组标识的N条日志信息,每条日志信息至少包括待同步数据的标识和待同步数据在源端的第一时间戳,N为正整数;
处理单元,用于按照如下方式并行处理所述日志分组标识的N条日志信息:针对每条日志信息,根据所述日志信息中的待同步数据的标识,确定与所述标识对应的目的端数据的第二时间戳;若所述第一时间戳晚于所述第二时间戳,则从所述源端获取与所述标识对应的源端数据以更新所述目的端数据。
本发明实施例提供的数据同步方法,目的端每次向源端发送的数据同步请求中均携带日志信息所属的日志分组标识,源端会将该日志分组标识中的日志信息发送给目的端,然后目的端可以并行处理不同的日志分组标识中的日志信息,具体地处理方法是先确定日志信息中的待同步数据的标识对应的目的端数据的第二时间戳,然后比较第二时间戳和日志信息中的待同步数据的标识在源端的第一时间戳,若判断若所述第一时间戳晚于所述第二时间戳,则从源端获取与所述标识对应的源端数据以更新所述目的端数据。可见,通过这种数据同步方法可以避免直接比较源数据的时间戳,而是获取源数据日志信息的时间戳,比较日志信息中的时间戳,显然只有当源数据发生变化时才会有日志信息,因此这种比较方法可以明显减少对源数据的读取频率,另外,目的端可以并行处理不同日志分组标识中的日志信息,故进一步提高了处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供一种数据同步方法流程示意图;
图2为本发明实施例提供一种数据同步方法实施例一流程示意图;
图3为本发明实施例提供一种数据同步***架构示意图一;
图4为本发明实施例提供一种数据同步***架构示意图二;
图5为本发明实施例提供一种数据同步***的目的端架构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
参见图1所示,本发明实施例提供一种数据同步方法流程示意图,具体地实现方法包括:
步骤S101,目的端向源端发送数据同步请求,所述数据同步请求包含待同步数据的日志分组标识。
步骤S102,所述目的端接收所述源端发送的所述日志分组标识的N条日志信息,每条日志信息至少包括待同步数据的标识和待同步数据在源端的第一时间戳,N为正整数。
步骤S103,所述目的端按照如下方式并行处理所述日志分组标识的N条日志信息:针对每条日志信息,根据所述日志信息中的待同步数据的标识,确定与所述标识对应的目的端数据的第二时间戳;若所述第一时间戳晚于所述第二时间戳,则从所述源端获取与所述标识对应的源端数据以更新所述目的端数据。
在上述方法中目的端指的是备份源端数据的备用***,而源端指的是产生数据的主用***,通常源端和目的端存在于灾备***结构中,目的端为了保持和源端的数据同步,就需要不断地向源端发出数据同步请求,为了提高数据同步的实时性,本发明实施例在执行步骤S101之前,源端会将本地生成的日志信息进行分组,即将日志里面的日志信息按照索引划分成多个组,具体地分组方法可以采用TAG分散的方法,比如说总TAG数为8,源端每生成一条日志就会对应生成该条日志的索引Index,将这个Index除以最大TAG数后取余,所得余数就是这条日志对应的分组数。可见,通过这种分组方法就可以将源端中的日志集合划分成多个组,需要说明的是上述分组是实时的,即源端每生成一条日志,该条日志就会被立即划分至组中。
当源端将日志集合划分成多个组之后,会为每个组建立日志分组标识,并将这些日志分组标识共享给目的端。目的端向源端发送数据同步请求时,数据同步请求中就会携带这些日志分组标识信息,源端将这些日志分组标识信息中的日志发送至目的端,目的端可以并行接收不同日志分组标识中日志,并比较日志信息中时间戳,然后根据比较结果进行同步,另外,在源端将这些日志分组标识信息中的日志发送至目的端之前,可以进一步地筛选组中的日志,筛选的方法就是将比较日志的时间戳和日志中待同步数据的标识对应的源端的数据的时间戳进行比较,若发现源端该标识的数据已经比日志中时间戳新,则直接可以过滤这个日志,即不再将这条日志发送给目的端作比较,当然,若发现源端该标识的数据与日志中时间戳一致,就将分组中日志对应地发送至目的端,可见,通过这一筛选日志的步骤可以进一步提高目的端处理数据的效率。
进一步地,考虑到源端数据的日志操作类型可以有新增、修改、删除这三种类型,针对不同的操作类型,目的端需要进行不同的同步处理,具体地,所述目的端从所述日志信息中确定出所述操作类型是修改或者删除的日志信息;对于操作类型是修改的日志信息,所述目的端从所述源端获取与所述日志信息中的标识对应的源端数据替换所述目的端数据;对于操作类型是删除的日志信息,所述目的端根据所述日志信息中的标识删除所述目的端数据。
进一步地,所述目的端从所述日志信息中确定出所述操作类型是新增的日志信息;对于操作类型是新增的日志信息,所述目的端从所述源端获取与所述标识对应的源端数据添加到所述目的端。
为了***地描述上述数据同步方法,本发明实施例进一步提供图2所示的流程图详细阐述。
步骤201,目的端向源端发送数据同步请求,数据同步请求中包含日志分组标识。
步骤202,源端将数据同步请求中的日志分组标识中的日志发送至目的端。
步骤203,目的端接收源端发送的日志信息后,判断日志的操作类型是新增类型,还是修改或者删除类型。
步骤204,若操作类型是修改或者删除类型,则获取日志信息中的待同步数据在源端的第一时间戳,然后和目的端中待同步数据的标识对应的目的端数据的第二时间戳进行比较。
步骤205,若发现第一时间戳晚于所述第二时间戳,则从所述源端获取与所述标识对应的源端数据以更新所述目的端数据,并且把该条日志信息标记为已处理。
步骤206,若发现第一时间戳早于所述第二时间戳,则不进行同步,并且将该条日志标记为已处理。
步骤207,若操作类型是新增类型,目的端从所述源端获取与所述标识对应的源端数据添加到所述目的端。
步骤208,当目的端完成同步处理之后会更新目的端数据的第二时间戳。
举例来说,假设北京备用***对上海主用***的上海中心数据进行同步,上海中心数据中有4张sheet表数据,在2016.07.01这一天当中有部分表格中的部分数据发生更新,假设在这一天AM10:00这一时刻sheet1中的a[1][1](第一行第一列的源数据)被更新,此时对应生成第一条日志:2016.07.01 10:00a[1][1]数据更新,对应该条日志的索引记录为index1;依次类推生成第二条日志和第三条日志;这一天AM10:30这一时刻sheet1中的a[1][1](第一行第一列的源数据)被更新,此时对应生成第四条日志:2016.07.01 10:30a[1][1]数据更新,对应该条日志的索引记录为index4;依次类推生成第五条日志;这一天AM11:00这一时刻Sheet2中的b[5][1](第五行第一列的源数据)被删除,此时对应生成第六条日志:2016.07.01 11:00数据删除数据,对应该条日志的索引记录为index6。按照上述TAG分散方法将index1、index3、index5被三条日志被分组到TAG1(分组标签1),index2、index4、index6被分组到TAG2(分组标签2)。
另外,北京中心数据中也有4张sheet表数据(是上海中心数据的备份),这四张表最后同步的时间是2016.06.30,时刻23:00,因此这四张表的第二时间戳落在2016.06.30,时刻23:00。假设在2016.07.01这一天AM12:00这一时刻,北京的第二客户端请求同步上海中心的日志分组标识TAG2所对应的源数据,上海的服务器接收到同步请求后将TAG2中日志发送至北京的第二客户端,第二客户端按照如下方式进行同步:比如,针对第四条日志,比较index4对应的日志的时间戳2016.07.01时刻10:30比北京中心数据a[1][1]的源数据最后更新时间戳2016.06.30 23:00晚,所以对a[1][1]进行更新处理,更新北京的中心数据a[1][1],并更新第二时间戳为2016.07.01 10:30。对第六条日志,比较index6对应的日志的时间戳2016.07.01 11:00比北京中心数据b[5][1]的源数据最后更新时间戳2016.06.3023:00晚,所以对b[5][1]进行更新处理,更新b[5][1]源数据记录的时间戳为2016.07.0111:00,当index2、index4、index6对应的日志全部处理完成,则针对本次同步请求的同步结束。
假设在2016.07.01这一天AM12:05这一时刻,北京的第二客户端请求同步上海中心的日志分组标识TAG1所对应的源数据,上海的服务器接收到同步请求后,将TAG2中日志发送至北京的第二客户端,第二客户端按照如下方式进行同步:比如,针对第一条日志,比较index1的时间戳2016.07.01 10:00比北京中心数据a[1][1]的源数据最后更新时间戳2016.07.01 10:30早,所以不对a[1][1]处理,并标识该条索引index1已被处理,依次类推再处理TAG1其他日志信息。
进一步地,所述源端和所述目的端互为主备双活***中的主用***和备用***;所述源端包括第一服务器和多个第一客户端,通过所述第一客户端向所述第二服务器发送信息;
所述目的端包括第二服务器和多个第二客户端,通过所述第二客户端向所述第一服务器发送信息。
如图3所示,上海的主用***主要包括第一服务器和第一客户端,北京的备用***主要包括第二服务器和第二客户端,当北京侧同步上海侧的数据时,北京备用***的第二客户端向第一服务器发送数据同步请求,第一服务器从上海中心数据中获取日志信息,然后通过第一服务器发送至北京备用***的第二客户端,进而第二客户端按照上述数据同步方法进行同步;另外,当上海侧同步北京侧的数据时,上海备用***的第一客户端向第二服务器发送数据同步请求,第二服务器从北京中心数据中获取日志信息,然后通过第二服务器发送至上海主用***的第一客户端,进而第一客户端按照上述数据同步方法进行同步。可见这种数据同步方法因为服务器和客户端都可以根据需要,分布式部署。多个服务器之间可以互为主备。客户端也可以每两个为一组,处理同一个日志分组标识对应的日志信息,所以具有横向伸缩,多机高可用的特点。
进一步地,从所述多个第二客户端中选举一个第二客户端向所述第一服务器发送数据同步请求;所述多个第二客户端竞争接收所述第一服务器发送的同一日志分组标识的各个日志信息;针对每个第二客户端接收的每条日志信息,各个第二客户端按照如下方式并行处理接收的每条日志信息。
如图4所示,北京侧的备用***具有多个第二客户端,当北京侧同步上海侧的数据时,北京侧从多个第二客户端中选举出一个客户端向上海的第一服务器发送包含日志分组标识TAG1的数据同步请求,然后上海侧的第一服务器向各个第二客户端发送TAG1中的每条日志信息,各个第二客户端这时竞争接收每条日志信息,然后并行处理接收的日志信息,可见这样可以提高每次数据同步的效率。
进一步地,若所述第二客户端连续M次从所述源端获取所述日志信息的标识对应的源端数据均失败,则所述第二客户端停止获取所述源端数据,并标记所述日志信息的状态为处理失败,M为正整数。
需要说明的是,客户端同步请求容错次数M是可调的,即使最终同步失败,仍然可追溯,且只需要处理同步失败的问题记录,解决记录同步失败时只能根据时间参数全量联机同步的问题;目前客户端有5次尝试同步记录的机会,如果5次同步均失败,则该源记录状态被置为最终失败,不再被客户端获取。这个次数是可调的。即使最终失败,也可以方便的通过索引表查到失败的记录,定位问题后再同步这些失败的记录。然后对于状态为处理失败的日志信息后续由管理员进行人工处理。
需要说明的是,若所述第二客户端成功获取所述日志信息的标识对应的源端数据,则所述第二客户端根据所述日志信息中的待同步数据的标识,用获取的源端数据更新所述目的端数据,并且所述目的端将所述目的端数据的所述第二时间戳更新为源端数据的所述第一时间戳。这样当下一次同步时,备用***的客户端只同步更新时间戳较新的数据,保证目标数据状态最新有效。
基于相同的技术构思,本发明实施例还提供一种数据同步***,该***包括源端和目的端,所述目的端可执行上述方法实施例。本发明实施例提供的目的端如图5所示,包括:发送单元401、接收单元402、处理单元403,其中:
发送单元401,用于向源端发送数据同步请求,所述数据同步请求包含待同步数据的日志分组标识;
接收单元402,用于接收所述源端发送的所述日志分组标识的N条日志信息,每条日志信息至少包括待同步数据的标识和待同步数据在源端的第一时间戳,N为正整数;
处理单元403,用于按照如下方式并行处理所述日志分组标识的N条日志信息:针对每条日志信息,根据所述日志信息中的待同步数据的标识,确定与所述标识对应的目的端数据的第二时间戳;若所述第一时间戳晚于所述第二时间戳,则从所述源端获取与所述标识对应的源端数据以更新所述目的端数据。
进一步地,每条日志信息还包括操作类型;所述目的端还包括:选择单元404,用于从所述日志信息中确定出所述操作类型是修改或者删除的日志信息;
所述处理单元403具体用于:对于操作类型是修改的日志信息,从所述源端获取与所述日志信息中的标识对应的源端数据替换所述目的端数据;对于操作类型是删除的日志信息,根据所述日志信息中的标识删除所述目的端数据。
进一步地,所述选择单元404还用于:从所述日志信息中确定出所述操作类型是新增的日志信息;
所述处理单元403还用于:对于操作类型是新增的日志信息,从所述源端获取与所述标识对应的源端数据添加到所述目的端。
进一步地,还包括:所述源端和所述目的端互为主备双活***中的主用***和备用***;所述源端包括第一服务器和多个第一客户端,通过所述第一客户端向所述第二服务器发送信息;
所述目的端包括第二服务器和多个第二客户端,通过所述第二客户端向所述第一服务器发送信息。
进一步地,所述发送单元401具体用于:从所述多个第二客户端中选举一个第二客户端向所述第一服务器发送数据同步请求;
所述接收单元402具体用于:竞争接收所述第一服务器发送的同一日志分组标识的各个日志信息;
所述处理单元403具体用于:针对每个第二客户端接收的每条日志信息,按照如下方式并行处理接收的每条日志信息。
进一步地,所述处理单元403还用于:若所述第二客户端连续M次从所述源端获取所述日志信息的标识对应的源端数据均失败,则所述第二客户端停止获取所述源端数据,并标记所述日志信息的状态为处理失败,M为正整数。
进一步地,所述处理单元403还用于:将所述目的端数据的所述第二时间戳更新为源端数据的所述第一时间戳。
综上所述,本发明实施例提供的数据同步方法,目的端每次向源端发送的数据同步请求中均携带日志信息所属的日志分组标识,源端会将该日志分组标识中的日志信息发送给目的端,然后目的端可以并行处理不同的日志分组标识中的日志信息,具体地处理方法是先确定日志信息中的待同步数据的标识对应的目的端数据的第二时间戳,然后比较第二时间戳和日志信息中的待同步数据的标识在源端的第一时间戳,若判断若所述第一时间戳晚于所述第二时间戳,则从源端获取与所述标识对应的源端数据以更新所述目的端数据。可见,通过这种数据同步方法可以避免直接比较源数据的时间戳,而是获取源数据日志信息的时间戳,比较日志信息中的时间戳,显然只有当源数据发生变化时才会有日志信息,因此这种比较方法可以明显减少对源数据的读取频率,另外,目的端可以并行处理不同日志分组标识中的日志信息,故进一步提高了处理效率。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种数据同步方法,其特征在于,该方法包括:
目的端向源端发送数据同步请求,所述数据同步请求包含待同步数据的日志分组标识;
所述目的端接收所述源端发送的所述日志分组标识的N条日志信息,每条日志信息至少包括待同步数据的标识和待同步数据在源端的第一时间戳,N为正整数;
所述目的端按照如下方式并行处理所述日志分组标识的N条日志信息:
针对每条日志信息,根据所述日志信息中的待同步数据的标识,确定与所述标识对应的目的端数据的第二时间戳;若所述第一时间戳晚于所述第二时间戳,则从所述源端获取与所述标识对应的源端数据以更新所述目的端数据。
2.如权利要求1所述的方法,其特征在于,每条日志信息还包括操作类型;
所述根据所述日志信息中的待同步数据的标识,确定与所述标识对应的目的端数据的第二时间戳之前,还包括:
所述目的端从所述日志信息中确定出所述操作类型是修改或者删除的日志信息;
所述从所述源端获取与所述标识对应的源端数据以更新所述目的端数据,包括:
对于操作类型是修改的日志信息,所述目的端从所述源端获取与所述日志信息中的标识对应的源端数据替换所述目的端数据;
对于操作类型是删除的日志信息,所述目的端根据所述日志信息中的标识删除所述目的端数据。
3.如权利要求2所述的方法,其特征在于,还包括:
所述目的端从所述日志信息中确定出所述操作类型是新增的日志信息;
对于操作类型是新增的日志信息,所述目的端从所述源端获取与所述标识对应的源端数据添加到所述目的端。
4.如权利要求1所述的方法,其特征在于,还包括:
所述源端和所述目的端互为主备双活***中的主用***和备用***;
所述源端包括第一服务器和多个第一客户端,通过所述第一客户端向所述第二服务器发送信息;
所述目的端包括第二服务器和多个第二客户端,通过所述第二客户端向所述第一服务器发送信息。
5.如权利要求4所述的方法,其特征在于,所述目的端向源端发送数据同步请求,包括:
从所述多个第二客户端中选举一个第二客户端向所述第一服务器发送数据同步请求;
所述目的端接收源端发送的所述日志分组标识的N条日志信息,包括:
所述多个第二客户端竞争接收所述第一服务器发送的同一日志分组标识的各个日志信息;
所述目的端按照如下方式并行处理所述日志分组标识的N条日志信息,包括:
针对每个第二客户端接收的每条日志信息,各个第二客户端按照如下方式并行处理接收的每条日志信息。
6.如权利要求5所述的方法,其特征在于,所述从所述源端获取与所述标识对应的源端数据以更新所述目的端数据,包括:
若所述第二客户端连续M次从所述源端获取所述日志信息的标识对应的源端数据均失败,则所述第二客户端停止获取所述源端数据,并标记所述日志信息的状态为处理失败,M为正整数。
7.如权利要求1至6任一项所述的方法,其特征在于,所述从所述源端获取与所述标识对应的源端数据以更新所述目的端数据,之后,还包括:
所述目的端将所述目的端数据的所述第二时间戳更新为源端数据的所述第一时间戳。
8.一种数据同步***,其特征在于,该***包括源端和目的端,所述目的端包括:
发送单元,用于向源端发送数据同步请求,所述数据同步请求包含待同步数据的日志分组标识;
接收单元,用于接收所述源端发送的所述日志分组标识的N条日志信息,每条日志信息至少包括待同步数据的标识和待同步数据在源端的第一时间戳,N为正整数;
处理单元,用于按照如下方式并行处理所述日志分组标识的N条日志信息:针对每条日志信息,根据所述日志信息中的待同步数据的标识,确定与所述标识对应的目的端数据的第二时间戳;若所述第一时间戳晚于所述第二时间戳,则从所述源端获取与所述标识对应的源端数据以更新所述目的端数据。
9.如权利要求8所述的***,其特征在于,每条日志信息还包括操作类型;
所述目的端还包括:
选择单元,用于从所述日志信息中确定出所述操作类型是修改或者删除的日志信息;
所述处理单元具体用于:对于操作类型是修改的日志信息,从所述源端获取与所述日志信息中的标识对应的源端数据替换所述目的端数据;对于操作类型是删除的日志信息,根据所述日志信息中的标识删除所述目的端数据。
10.如权利要求8所述的***,其特征在于,所述选择单元还用于:从所述日志信息中确定出所述操作类型是新增的日志信息;
所述处理单元还用于:对于操作类型是新增的日志信息,从所述源端获取与所述标识对应的源端数据添加到所述目的端。
11.如权利要求8所述的***,其特征在于,还包括:
所述源端和所述目的端互为主备双活***中的主用***和备用***;
所述源端包括第一服务器和多个第一客户端,通过所述第一客户端向所述第二服务器发送信息;
所述目的端包括第二服务器和多个第二客户端,通过所述第二客户端向所述第一服务器发送信息。
12.如权利要求11所述的***,其特征在于,所述发送单元具体用于:
从所述多个第二客户端中选举一个第二客户端向所述第一服务器发送数据同步请求;
所述接收单元具体用于:竞争接收所述第一服务器发送的同一日志分组标识的各个日志信息;
所述处理单元具体用于:针对每个第二客户端接收的每条日志信息,按照如下方式并行处理接收的每条日志信息。
13.如权利要求12所述的***,其特征在于,所述处理单元还用于:
若所述第二客户端连续M次从所述源端获取所述日志信息的标识对应的源端数据均失败,则所述第二客户端停止获取所述源端数据,并标记所述日志信息的状态为处理失败,M为正整数。
14.如权利要求8至13任一项所述的***,其特征在于:所述处理单元还用于:将所述目的端数据的所述第二时间戳更新为源端数据的所述第一时间戳。
CN201610569538.3A 2016-07-19 2016-07-19 一种数据同步方法及*** Active CN106254094B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610569538.3A CN106254094B (zh) 2016-07-19 2016-07-19 一种数据同步方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610569538.3A CN106254094B (zh) 2016-07-19 2016-07-19 一种数据同步方法及***

Publications (2)

Publication Number Publication Date
CN106254094A true CN106254094A (zh) 2016-12-21
CN106254094B CN106254094B (zh) 2019-08-13

Family

ID=57613476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610569538.3A Active CN106254094B (zh) 2016-07-19 2016-07-19 一种数据同步方法及***

Country Status (1)

Country Link
CN (1) CN106254094B (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921746A (zh) * 2017-03-22 2017-07-04 重庆允升科技有限公司 一种数据同步***及数据同步方法
CN108243208A (zh) * 2016-12-23 2018-07-03 深圳市优朋普乐传媒发展有限公司 一种数据同步方法及装置
CN108270814A (zh) * 2016-12-30 2018-07-10 北京优朋普乐科技有限公司 一种数据同步方法及装置
CN108322533A (zh) * 2018-01-31 2018-07-24 广州鼎甲计算机科技有限公司 基于操作日志的分布式集群节点间配置同步方法
CN108449206A (zh) * 2018-03-12 2018-08-24 新华三技术有限公司 一种时间同步方法、装置、设备及存储介质
CN108551484A (zh) * 2018-04-23 2018-09-18 平安科技(深圳)有限公司 用户信息同步方法、装置、计算机装置及存储介质
CN108898759A (zh) * 2018-06-27 2018-11-27 中国建设银行股份有限公司 一种电子日志同步方法及装置
CN109462661A (zh) * 2018-12-19 2019-03-12 深圳市随手科技有限公司 数据同步方法、装置、计算机设备和存储介质
CN109558458A (zh) * 2018-12-30 2019-04-02 贝壳技术有限公司 数据同步方法、配置平台、交易平台及数据同步***
WO2019144761A1 (zh) * 2018-01-24 2019-08-01 ***股份有限公司 一种数据同步方法和分布式***、设备
CN110297866A (zh) * 2019-05-20 2019-10-01 平安普惠企业管理有限公司 基于日志分析的数据同步方法及数据同步装置
CN110489434A (zh) * 2019-07-23 2019-11-22 中国平安财产保险股份有限公司 一种信息处理方法及相关设备
CN110851526A (zh) * 2018-08-02 2020-02-28 阿里巴巴集团控股有限公司 数据同步方法、装置及***
CN111143295A (zh) * 2019-11-14 2020-05-12 泰康保险集团股份有限公司 保单信息处理方法、装置、设备及存储介质
CN112052074A (zh) * 2020-09-29 2020-12-08 上海兆芯集成电路有限公司 处理器建模***及处理器建模方法
CN112487007A (zh) * 2020-12-01 2021-03-12 银清科技有限公司 一种多网间流程同步管理方法、装置及***
CN113067841A (zh) * 2019-12-13 2021-07-02 航天信息股份有限公司 一种跨***的***认证数据同步方法及装置
CN113157716A (zh) * 2021-05-13 2021-07-23 杭州网易云音乐科技有限公司 一种数据处理方法、装置、设备及介质
CN113190536A (zh) * 2021-03-02 2021-07-30 上海英方软件股份有限公司 一种对双活数据库管理复制***的快速修复方法及装置
CN114157677A (zh) * 2021-12-14 2022-03-08 南京欧珀软件科技有限公司 数据同步方法及相关产品
CN115858252A (zh) * 2023-02-21 2023-03-28 浙江智臾科技有限公司 一种数据恢复方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102801543A (zh) * 2011-05-24 2012-11-28 ***股份有限公司 一种双活***间动态数据同步的方法
CN103841167A (zh) * 2012-11-27 2014-06-04 ***通信集团公司 一种用户数据同步方法及设备
CN103905397A (zh) * 2012-12-28 2014-07-02 腾讯科技(深圳)有限公司 数据同步方法和***
CN105159795A (zh) * 2015-08-21 2015-12-16 小米科技有限责任公司 数据同步方法、装置和***
CN105610953A (zh) * 2015-12-31 2016-05-25 深圳市优户科技有限公司 一种分布式数据同步***及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102801543A (zh) * 2011-05-24 2012-11-28 ***股份有限公司 一种双活***间动态数据同步的方法
CN103841167A (zh) * 2012-11-27 2014-06-04 ***通信集团公司 一种用户数据同步方法及设备
CN103905397A (zh) * 2012-12-28 2014-07-02 腾讯科技(深圳)有限公司 数据同步方法和***
CN105159795A (zh) * 2015-08-21 2015-12-16 小米科技有限责任公司 数据同步方法、装置和***
CN105610953A (zh) * 2015-12-31 2016-05-25 深圳市优户科技有限公司 一种分布式数据同步***及方法

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108243208A (zh) * 2016-12-23 2018-07-03 深圳市优朋普乐传媒发展有限公司 一种数据同步方法及装置
CN108270814A (zh) * 2016-12-30 2018-07-10 北京优朋普乐科技有限公司 一种数据同步方法及装置
CN106921746A (zh) * 2017-03-22 2017-07-04 重庆允升科技有限公司 一种数据同步***及数据同步方法
WO2019144761A1 (zh) * 2018-01-24 2019-08-01 ***股份有限公司 一种数据同步方法和分布式***、设备
CN108322533A (zh) * 2018-01-31 2018-07-24 广州鼎甲计算机科技有限公司 基于操作日志的分布式集群节点间配置同步方法
CN108322533B (zh) * 2018-01-31 2019-02-19 广州鼎甲计算机科技有限公司 基于操作日志的分布式集群节点间配置同步方法
CN108449206A (zh) * 2018-03-12 2018-08-24 新华三技术有限公司 一种时间同步方法、装置、设备及存储介质
CN108449206B (zh) * 2018-03-12 2020-11-27 新华三技术有限公司 一种时间同步方法、装置、设备及存储介质
CN108551484A (zh) * 2018-04-23 2018-09-18 平安科技(深圳)有限公司 用户信息同步方法、装置、计算机装置及存储介质
CN108551484B (zh) * 2018-04-23 2021-04-20 平安科技(深圳)有限公司 用户信息同步方法、装置、计算机装置及存储介质
CN108898759A (zh) * 2018-06-27 2018-11-27 中国建设银行股份有限公司 一种电子日志同步方法及装置
CN110851526A (zh) * 2018-08-02 2020-02-28 阿里巴巴集团控股有限公司 数据同步方法、装置及***
CN110851526B (zh) * 2018-08-02 2023-04-11 阿里巴巴集团控股有限公司 数据同步方法、装置及***
CN109462661A (zh) * 2018-12-19 2019-03-12 深圳市随手科技有限公司 数据同步方法、装置、计算机设备和存储介质
CN109462661B (zh) * 2018-12-19 2021-08-10 深圳市卡牛科技有限公司 数据同步方法、装置、计算机设备和存储介质
CN109558458A (zh) * 2018-12-30 2019-04-02 贝壳技术有限公司 数据同步方法、配置平台、交易平台及数据同步***
CN109558458B (zh) * 2018-12-30 2021-08-03 贝壳找房(北京)科技有限公司 数据同步方法、配置平台、交易平台及数据同步***
CN110297866A (zh) * 2019-05-20 2019-10-01 平安普惠企业管理有限公司 基于日志分析的数据同步方法及数据同步装置
CN110489434B (zh) * 2019-07-23 2023-08-22 中国平安财产保险股份有限公司 一种信息处理方法及相关设备
CN110489434A (zh) * 2019-07-23 2019-11-22 中国平安财产保险股份有限公司 一种信息处理方法及相关设备
CN111143295A (zh) * 2019-11-14 2020-05-12 泰康保险集团股份有限公司 保单信息处理方法、装置、设备及存储介质
CN111143295B (zh) * 2019-11-14 2024-01-30 泰康保险集团股份有限公司 保单信息处理方法、装置、设备及存储介质
CN113067841A (zh) * 2019-12-13 2021-07-02 航天信息股份有限公司 一种跨***的***认证数据同步方法及装置
CN113067841B (zh) * 2019-12-13 2022-10-11 航天信息股份有限公司 一种跨***的***认证数据同步方法及装置
CN112052074A (zh) * 2020-09-29 2020-12-08 上海兆芯集成电路有限公司 处理器建模***及处理器建模方法
CN112052074B (zh) * 2020-09-29 2024-05-03 上海兆芯集成电路股份有限公司 处理器建模***及处理器建模方法
CN112487007A (zh) * 2020-12-01 2021-03-12 银清科技有限公司 一种多网间流程同步管理方法、装置及***
CN112487007B (zh) * 2020-12-01 2024-05-10 银清科技有限公司 一种多网间流程同步管理方法、装置及***
CN113190536B (zh) * 2021-03-02 2023-01-17 上海英方软件股份有限公司 一种对双活数据库管理复制***的快速修复方法及装置
CN113190536A (zh) * 2021-03-02 2021-07-30 上海英方软件股份有限公司 一种对双活数据库管理复制***的快速修复方法及装置
CN113157716A (zh) * 2021-05-13 2021-07-23 杭州网易云音乐科技有限公司 一种数据处理方法、装置、设备及介质
CN114157677A (zh) * 2021-12-14 2022-03-08 南京欧珀软件科技有限公司 数据同步方法及相关产品
CN114157677B (zh) * 2021-12-14 2023-11-28 南京欧珀软件科技有限公司 数据同步方法及相关产品
CN115858252A (zh) * 2023-02-21 2023-03-28 浙江智臾科技有限公司 一种数据恢复方法、装置及存储介质
CN115858252B (zh) * 2023-02-21 2023-06-02 浙江智臾科技有限公司 一种数据恢复方法、装置及存储介质

Also Published As

Publication number Publication date
CN106254094B (zh) 2019-08-13

Similar Documents

Publication Publication Date Title
CN106254094A (zh) 一种数据同步方法及***
CN103902617B (zh) 分布式数据库同步方法和***
CN103699580B (zh) 数据库同步方法及装置
CN109729129A (zh) 存储集群的配置修改方法、存储集群及计算机***
CN106878473A (zh) 一种消息处理方法、服务器集群及***
CN109995850A (zh) 一种区块链***及区块链***的交易处理方法
CN107291787A (zh) 主备数据库切换方法和装置
CN107040594A (zh) 基于pbft的许可区块链节点准入的方法及装置
CN109688012A (zh) 一种联盟链节点热备切换的方法
CN106789157B (zh) 堆叠***及堆叠交换机的硬件资源管理方法
CN114301972B (zh) 一种基于云边协同的区块链节点分级部署方法和***
CN102054035A (zh) 一种基于数据范围的数据库数据同步方法
CN107122262A (zh) 基于agent的数据库智能备份***
CN105471960A (zh) 一种私有云与公有云的信息交互***及方法
CN109542330B (zh) 数据存储方法、数据查询方法及装置
CN105610947A (zh) 一种高可用分布式队列服务实现方法、装置和***
CN106156318A (zh) 一种实现多节点数据库高可用的***及方法
CN107153660A (zh) 分布式数据库***的故障检测处理方法及其***
CN104077181A (zh) 一种适用于分布式任务管理***的状态一致性维护方法
CN109669812A (zh) 基于数据分流备份的云数据中心容灾***及方法
CN107257295B (zh) 一种分布式架构软件定义网络控制器的调度方法
CN105812161B (zh) 一种控制器故障备份方法和***
CN105302670B (zh) 一种采用多机冗余方式对车站进行监控的方法及装置
CN113965578A (zh) 一种集群中主节点的选举方法、装置、设备及存储介质
CN105827678A (zh) 一种基于高可用架构下的通信方法和节点

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant