CN106980625B - 一种数据同步方法、装置及系统 - Google Patents

一种数据同步方法、装置及系统 Download PDF

Info

Publication number
CN106980625B
CN106980625B CN201610031809.XA CN201610031809A CN106980625B CN 106980625 B CN106980625 B CN 106980625B CN 201610031809 A CN201610031809 A CN 201610031809A CN 106980625 B CN106980625 B CN 106980625B
Authority
CN
China
Prior art keywords
real
time notification
data
modification
database
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.)
Active
Application number
CN201610031809.XA
Other languages
English (en)
Other versions
CN106980625A (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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610031809.XA priority Critical patent/CN106980625B/zh
Priority to TW105143378A priority patent/TW201730784A/zh
Priority to KR1020187023616A priority patent/KR102153804B1/ko
Priority to EP17740969.5A priority patent/EP3407527B1/en
Priority to PCT/CN2017/070648 priority patent/WO2017124938A1/zh
Priority to SG11201806007RA priority patent/SG11201806007RA/en
Priority to JP2018537667A priority patent/JP6745884B2/ja
Priority to MYPI2018702458A priority patent/MY185258A/en
Publication of CN106980625A publication Critical patent/CN106980625A/zh
Priority to PH12018501520A priority patent/PH12018501520A1/en
Priority to US16/037,785 priority patent/US11010404B2/en
Priority to US16/719,402 priority patent/US10754873B2/en
Application granted granted Critical
Publication of CN106980625B publication Critical patent/CN106980625B/zh
Priority to US17/321,845 priority patent/US20210271689A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种数据同步方法、装置及系统。一种数据同步方法包括:数据同步源端确定源端数据库的数据修改后,针对本次数据修改生成实时通知,将所述实时通知发送至数据同步目标端;数据同步目标端接收到所述实时通知后,从所述实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新。应用上述方案目标端接收到实时通知后,可以直接根据实时通知中携带的信息更新本地的数据库缓存,或者对本地数据库的发起监测,以便在本地数据完成同步后第一时间对缓存数据进行更新,从而达到降低缓存同步更新时延的效果。

Description

一种数据同步方法、装置及系统
技术领域
本申请涉及数据库技术领域,尤其涉及一种数据同步方法、装置及系统。
背景技术
在大数据时代,出于灾备的目的,数据拥有方一般都会建设两个以上的数据中心。在传统的冷备容灾方案中,主数据中心用于承担核心业务,其他数据中心用于对主数据中心的数据进行备份,这种方案的问题在主数据中心和备份中心之间不能直接复用,备份数据中心只在灾难发生时才能起到作用,导致资源利用率低下。另外备份数据中心接替主数据中心也需要较长的处理时间和较为复杂的操作,往往会严重影响到正常业务的处理。
分布式多活数据中心(简称多活)技术是针对冷备技术所存在的问题而提出,其实现思路是:多个数据中心的业务没有主备之分,正常模式下协同工作,并行地为业务访问提供服务,避免备份数据中心处于闲置状态,同时可以成倍提高系统的服务能力。而在其中一个数据中心发生故障的情况下,其他数据中心可以迅速接管全部业务。
在多活方案中,由于各个数据中心的地位是相对平行的,因此对于数据中心的之间数据同步的时效性要求较高。特别是在数据中心异地部署的应用场景下,如何在较远的通信距离上尽量提高两地数据同步的时效性,是当前多活数据中心建设所面临的一个重要问题。
发明内容
针对上述技术问题,本申请提供一种数据同步方法、装置及系统,技术方案如下:
根据本申请的第1方面,提供一种数据同步方法,该方法包括:
数据同步源端确定源端数据库的数据修改后,针对本次数据修改生成实时通知,将所述实时通知发送至数据同步目标端,所述实时通知中,携带本次数据修改的相关信息;
数据同步目标端接收到所述实时通知后,从所述实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新。
根据本申请的第2方面,提供一种数据同步方法,应用于数据同步源端,该方法包括:
确定源端数据库的数据修改后,针对本次数据修改生成实时通知,所述实时通知中,携带本次数据修改的相关信息;
将所述实时通知发送至数据同步目标端,以使得数据同步目标端接收到所述实时通知后,从所述实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新。
根据本申请的第3方面,提供一种数据同步方法,应用于数据同步目标端,该方法包括:
接收数据同步源端发送的实时通知;
从所述实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新;
其中,所述实时通知,是在数据同步源端确定源端数据库的数据修改后,针对本次数据修改生成并发送,所述实时通知中,携带本次数据修改的相关信息。
根据本申请的第4方面,提供一种数据同步源端装置,该装置包括:实时通知生成模块、实时通知发送模块;
所述实时通知生成模块用于在确定源端数据库的数据修改后,针对本次数据修改生成实时通知;所述实时通知中,携带本次数据修改的相关信息;
所述实时通知发送模块用于将所述实时通知发送至数据同步目标端;以使得数据同步目标端接收到所述实时通知后,从所述实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新。
根据本申请的第5方面,提供一种数据同步目标端装置,该装置包括:实时通知接收模块、缓存数据更新模块;
所述实时通知接收模块用于接收数据同步源端发送的实时通知;
所述缓存数据更新模块用于从所述实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新;
其中,所述实时通知,是数据同步源端在确定源端数据库的数据修改后,针对本次数据修改生成并发送,所述实时通知中,携带本次数据修改的相关信息。
根据本申请的第6方面,提供一种数据同步系统,该系统包括数据同步源端装置及数据同步目标端装置:
所述数据同步源端装置包括:实时通知生成模块、实时通知发送模块;
所述实时通知生成模块用于在确定源端数据库的数据修改后,针对本次数据修改生成实时通知;所述实时通知中,携带本次数据修改的相关信息;
所述实时通知发送模块用于将所述实时通知发送至数据同步目标端;
所述数据同步目标端装置包括:实时通知接收模块、缓存数据更新模块;
所述实时通知接收模块用于接收所述实时通知,
所述缓存数据更新模块用于从所述实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新。
本申请提供的技术方案,数据同步源端修改数据后,立刻向数据同步目标端发送实时通知,目标端接收到实时通知后,如果能够直接根据实时通知中携带的信息更新本地的数据库缓存,则无需等待底层数据库的同步完成再进行缓存更新,从而降低缓存同步更新的时延;如果目标端无法直接根据实时通知中携带的信息更新本地的数据库缓存,也可以得知本地数据库即将被同步更新,进一步可以对本地数据库的发起监测,以便在本地数据完成同步后第一时间对缓存数据进行更新,从而达到降低缓存同步更新时延的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是现有技术双活系统的第一种结构示意图;
图2是现有技术双活系统的第二种结构示意图;
图3是本申请的双活系统的第一种结构示意图;
图4是本申请的双活系统的第二种结构示意图;
图5是本申请的数据同步方法的第一种流程示意图;
图6是本申请的数据同步方法的第一种流程示意图;
图7是本申请的数据同步源端装置的结构示意图;
图8是本申请的数据同步目标端装置的结构示意图;
图9是本申请的数据同步系统的结构示意图;
图10是用于配置本申请装置的一种设备的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。
首先对多活数据中心方案的系统架构及工作原理进行简单介绍,图1示出了一种双活系统的架构示意图,两个数据中心分别架设在机房A和机房B。数据库A和数据库B分别位于机房A和机房B,在每个机房中,应用服务器直接与数据库进行交互,应用服务器根据用户侧或其他系统发送的指令,对本地的数据库进行读写操作。根据多活系统的要求,如果某个机房的数据库被修改,需要尽快将修改情况同步到其他机房,在同步过程中,将首先被修改的数据库称为源端数据库,将后续同步的数据库称为目标端数据库。
以图1所示的双活系统为例,根据底层数据库的原生数据同步方案,假设应用服务器A对数据库A进行了写入操作,则在数据库A侧发生的所有写入事件都会被按序打包,然后按批次输到另一侧的数据库B进行相应的数据修改,修改完成后,应用服务器B就可以从数据库B读取到与数据库A完全一致的数据。
缓存是数据库操作中的一种常用技术,相对于基本的底层数据库存储区域而言,缓存具有更优的数据读写性能,并且可以避免应用侧与底层数据库直接交互。例如,对于状态型数据而言,一个比较明显的特征就是读多写少,以用户信息数据为例,用户在注册阶段填写个人信息之后,就不太可能频繁地对个人信息进行修改。基于这样的特征,大部分系统都会在数据库上层使用一层缓存来抵挡大量的数据查询请求,从而减少实际发送至数据库的查询请求,提升系统总体的查询性能。
在多活系统中同样可以应用缓存技术,参见图2所示,在数据库上层设置一层缓存,并且预先将常用数据放入缓存,应用服务器需要使用数据时,会优先从缓存中读取数据,从而提高数据读取的效率,同时避免应用服务器与底层的数据库直接交互,降低底层数据库的读写负担。
由于加入缓存机制后,缓存成为了应用服务器读取数据的主要来源,因此在数据中心之间进行数据同步时,必须进一步考虑目标端机房缓存的同步更新问题,以确保目标端数据查询的正确性。以图2所示的双活系统为例,根据现有的同步方案,如果应用服务器A对数据库A进行了写入操作,则缓存A和缓存B都需要进行相应的更新,缓存A的更新属于本地操作,可以直接采用现有技术方案,这里不做进一步说明;而缓存B的更新,则需要先完成数据库A与数据库B之间的数据同步操作,再由应用服务器B根据同步后的数据库B对本地的缓存B进行更新。此外,双活系统中,也可以在机房A部署两个数据库,其中一个数据库作为写库,一个数据库作为读库,其他机房,例如机房B部署读库,这样,数据的写入操作均通过机房A中的写库进行,而写库写入数据后,可将新写入的数据同步本地机房的读库以及其他机房的读库,这样在缓存操作时,写库写入的数据,需要先通过到各机房的读库后,才能更新相应的缓存。
在实际应用中,这种缓存数据同步方式至少存在两方面问题:
首先,在缓存机制下,目标端的应用服务器会优先从缓存中读取数据,因此对目标端缓存数据的同步更新才是最终目的。底层数据库之间的串行数据同步效率本身就比较低,特别在数据中心异地部署的情况下,时延已经比较明显,而加入缓存更新步骤后,会导致时延的进一步增加。
其次,对于目标端的应用服务器而言,实际上并不能感知到本地底层数据的更新,也就无法第一时间对缓存数据进行更新,从而使得时延现象更为严重。
以异地数据中心为例,两个数据中心分别部署在距离1000km的两个城市,经测试,数据库写库与异地读库的数据同步时延在3s左右,所以如果两地的数据同步全部采用数据库的原生数据同步复制方案,数据时效性会达到秒级别,可能会出现用户在一个城市的数据中心写入数据,然后从另一个城市的数据中心却无法立即读取到刚刚写入的数据,需要用户等待几秒钟后自行重试才能解决,影响了用户体验。
针对上述问题,本申请提供一种数据同步方法,以降低数据中心之间数据库缓存的同步更新时延,该方法包括以下步骤:
数据同步源端确定源端数据库的数据修改后,针对本次数据修改生成实时通知,将实时通知发送至数据同步目标端,实时通知中,携带本次数据修改的相关信息;
数据同步目标端接收到实时通知后,从实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新。
上述方法的执行主体,可以是分别位于数据同步源端和数据同步目标端的同步装置,如图3所示,位于数据同步源端的同步装置A与应用服务器A通信连接,确定应用服务器A对数据库A执行写入操作后,生成实时通知发送给位于数据同步目标端的同步装置B,同步装置B根据该实时通知直接对缓存B进行更新。
可以理解的是,在实际应用设计中,上述同步装置的相关功能模块,既可以全部位于与应用服务器相对独立的物理实体(例如专用的服务器)中,如图3所示。也可以有部分或全部位于应用服务器中,在同步装置的全部功能模块均位于应用服务器中的情况下,相当于数据同步源端和数据同步目标端两侧的同步装置功能均整合在两侧的应用服务器中,则相应的系统架构可以简化为如图4所示,前述的同步装置与应用服务器之间的交互则简化为应用服务器的内部交互。
本申请所提供的技术方案,通过引入实时通知来降低数据同步目标端数据库缓存的更新时延,而并不需要对底层数据库的原生数据同步方案做过多调整。另外,数据同步源端本地的缓存更新操作,可以直接采用现有技术方案实现,而且与数据同步目标端数据库缓存的更新时延基本无关,因此在本申请中不另做说明。
需要说明的是,根据图3和图4所示出的系统,一种典型的配置方案是:数据库A为写库、数据库B为读库。当然本申请方案与数据库的读写分离机制并没有必然联系,例如数据库A与数据库B也可以都是写库,或者,可以在一个机房部署写库和读库,其他机房部署读库等,这并不影响本申请方案的实现。
下面结合具体的实施例,对本申请所提供的数据同步方法做进一步详细说明。
图5示出了在双活系统中应用本申请方案的一种数据同步流程,为描述方便,以下实施例将结合图4所示的简化系统架构对整个流程进行说明。
S101,数据同步源端确定源端数据库的数据修改;
确定数据修改的确定时机,可以是在应用服务器A向数据库A发出数据写入请求后,也可以是在确定数据库A已经写入成功后,前一种方式理论上可以进一步降低整体流程的时延,后一种方式则可以避免数据同步源端数据库写入失败而导致的数据同步目标端缓存更新与数据库不一致的情况,本领域技术人员可以根据系统的稳定性能、应用场景等因素灵活设置。
S102,数据同步源端针对本次数据修改生成实时通知,并将实时通知发送至数据同步目标端。
本实施例中,应用服务器A将每次对数据库A的数据写入操作对应的数据修改详细情况写入实时通知中,也即将修改详细情况写入实时通知所对应的消息体中。这里的修改详细情况至少应包括修改后的数值信息,例如{张三,男,20},根据数据库的实际数据存储格式及两侧数据的传输方式约定,还可能进一步包括修改涉及的数据表标识、行标识、列标识等信息,例如{name=“张三”,age=“20”}等等,本申请对“修改详细情况”所涉及的具体信息内容不需要进行限定。实时通知生成后,立即发送至数据同步目标端。
可以理解的是,在实时通知的生成及发送过程中,可以进一步采用压缩、加密或其他编码方式,从而达到提高传输效率、保密传输等效果,本申请实施例对实时通知的具体生成及传输方式并不需要进行限定。
另外作为对照,在S103,应用服务器A向数据库A写入成功后,数据库A开始就本次修改发起对数据库B的同步操作。这里需要说明的是,对于数据同步源端而言,步骤S102和S103对应是两个相对独立的操作,因此两个步骤之间并没有时序上的先后限制;对于数据同步目标端而言,步骤104在时序上应位于接收到实时通知之后。
S104,数据同步目标端从实时通知中解析得到数据修改详细信息,直接根据解析结果对目标端数据库缓存进行更新;
在数据同步目标端,应用服务器B实时对实时通知接收端口进行检测,接收到实时通知后,立即对其进行解析,根据应用服务器A对实时通知的处理,应用服务器B在解析可能需要执行相应的解压缩、解密等操作,这里不再详细说明。
在本实施例中,应用服务器B从实时通知解析得到对数据库A的数据修改详细情况后,直接根据解析结果,对本地的数据库缓存B进行更新。由于底层数据库数据的同步并不是实时向异地进行传输,而是积累了一定数量的修改数据块之后按批次打包进行传输,因此实时通知的平均传输速度要高于底层数据库的同步速度,参见图4的S105所示,一般情况下,数据同步目标端在底层数据库同步完成之前,就能够根据实时通知直接更新本地缓存,不需要依赖底层数据库的同步完成。根据实际测试,在距离1000km左右的异地架构双活系统中,底层数据库的同步平均时延在3s左右,而通过实时通知的方式,可以将缓存数据的同步更新时延降低至30ms左右,甚至可以延时更低,数据库缓存同步的时效性得到明显改善。
需要说明的是,对于应用服务器B而言,接收到实时通知后会立即向缓存服务器发送更新消息以执行更新操作。但是对于缓存服务器而言,收到更新消息后,可能会进一步根据实际情况判断是否需要对缓存数据进行更新,例如根据数据的写入时间戳进行判断,或者通知消息中也可以携带一些其它信息,以便于根据该些信息确定是否需要更新缓存,例如可携带版本号信息,通过查看版本号来确定是否需要进行缓存的更新,等等。也就是说在一些情况下,尽管应用服务器B执行了更新操作,但是缓存数据最终是否更新成功需要由缓存服务器自身进行判断,这种更新方式并不影响本申请方案的实现。
在上述实施例中,数据同步源端将本地数据库的详细修改信息携带在实时通知中,利用实时通知的低时延特点,使得数据同步目标端不需要依赖底层数据库同步完成即可以先行完成本地数据库缓存的同步更新。然而,在实际应用中,实时通知中可传输的信息量可能会受到传输带宽、通知消息中心存储容量等多方面客观因素的限制,如果数据同步源端一次性修改的数据量过大,这些详细修改情况将难以通过实时通知传输至数据同步目标端,针对该情况,本申请也提供了相应的解决方案。其中,上述的实时通知可以通过消息系统来实现传送,例如可以利用已有的消息系统或者单独为此建立的消息系统,消息系统的架构和形式不做限制。
图6示出了在双活系统中应用本申请方案的另一种数据同步流程,为描述方便,以下实施例将结合图3所示的系统架构对整个流程进行说明。
S201,数据同步源端确定源端数据库的数据修改;
本步骤与S101相似,本实施例不再赘述。
S202,数据同步源端针对本次数据修改生成实时通知,并将实时通知发送至数据同步目标端。
应用服务器A对数据库A执行数据写入操作时,对于每一次写入操作都会生成一个标识信息,该标识信息可以是序列号,也可以是利用特定算法生成的标识字符串,等等,向数据库A发起写入请求时,应用服务器A将需要修改数据的详细情况(数值、数据表标识、行标识、列标识等)连同该标识信息一同提交给数据库A。在本实施例中,受实时通知消息体承载能力的限制,应用服务器A将该标识信息写入实时通知中。实时通知生成后,立即发送至数据同步目标端。
S203,应用服务器A向数据库A写入成功后,数据库A开始就本次修改发起对数据库B的同步操作。在同步过程中,上述修改标识信息也与具体的数据修改内容一同被传输到数据库B。
与前一实施例类似,对于数据同步源端而言,步骤S202和S203对应是两个相对独立的操作,因此两个步骤之间并没有时序上的先后限制;对于数据同步目标端而言,步骤204在时序上应位于接收到实时通知之后。
S204,数据同步目标端从实时通知中解析得到数据修改操作标识,根据解析结果对目标端数据库进行监测。
在数据同步目标端,应用服务器B实时对实时通知接收端口进行检测,接收到实时通知后,立即对其进行解析,在本实施例中,应用服务器B从实时通知解析得到源端对数据库A的修改操作标识后,针对该标识开始对数据库B进行监测。
S205,数据同步源端到数据同步目标端的底层数据库同步完成;
S206,数据同步目标端根据同步后的目标端数据库内容,对目标端数据库缓存进行更新;
应用服务器B监测标识对应的修改操作已经从数据库A同步到数据库B后,从数据库B中读取相应的数据,然后根据读取结果对本地的数据库缓存B进行更新。
由于实时通知的传输速度高于底层数据库的同步速度,因此一般情况下,应用服务器B在接收到实时通知后,需要等待一段时间才能对缓存B进行更新。与前一实施例相比,在本实施例中,数据同步目标端需要等待底层数据库同步完成之后才能对本地缓存进行更新。但是由于使用了实时通知,使得数据同步目标端能够提前获知底层数据库将会修改,并且能够通过监测的方式,在同步完成后第一时间获取数据对缓存进行更新,因此与现有的技术方案相比,仍然能够在一定程度上降低缓存同步更新的时延。
以上实施例所介绍的两种数据同步方法,均能够不同程度地降低数据同步目标端缓存的同步更新时延,在实时通知容量不受限的情况下,可以选择第一种方案以实现较低的时延效果。在实际应用中,应用服务器对数据库的数据修改量往往是不确定的,以CIF(Customer Information File,用户信息文件)系统为例,对于个人用户信息的修改数据量一般较小,而对于某些关联了众多子账户的大型账户而言,一次修改可能涉及大量子账户的数据变更,针对这种情况,本申请还提供一种自适应的数据同步方案:
在数据同步源端,确定源端数据库的数据修改后,首先判断本次修改的数据量是否超过预设的阈值,该阈值是根据实时通知的承载能力确定,而实时通知的承载能力则取决于传输带宽、通知消息中心存储容量等多方面因素,当然阈值的确定可能还需要考虑生成实时通知时的压缩、编码等因素。总之,如果判断认为实时通知能够承载本次修改操作所涉及的具体修改情况,则将包括至少包括修改具体数值信息在内的修改情况写入实时通知中;如果判断认为实时通知无法承载本次修改操作所涉及的具体修改情况,则仅将本次修改的操作标识写入实时通知中。
在数据同步目标端,接收到实时通知后,首先对实时通知进行解析。如果解析结果中包括修改涉及的具体数值信息,则直接根据解析结果对目标端数据库缓存进行更新;否则,根据解析得到的修改操作标识,对目标端数据库进行监测,当监测到该标识对应的修改操作已经从源端数据库同步到目标端数据库后,再从目标端数据库获取相应的数据对目标端数据库缓存进行更新。
在上述方案中,数据同步源端根据修改所涉及的数据量自适应地生成携带不同内容的实时通知。这样,对于小规模的数据修改,数据同步目标端无需等待底层数据库同步完成就可以对本地缓存数据进行更新,而对于大规模的数据修改,也可以在同步完成后第一时间对本地缓存数据进行更新。
可以理解的是,以上实施例中仅示出了针对一次数据修改的缓存同步更新过程,对于连续发生的数据修改,只需重复上述流程即可。另外,以上实施例仅以双活系统为例进行说明,对于包括三个以上数据中心的多活系统而言,数据同步源端与各个数据同步目标端的缓存更新流程是类似的,本申请实施例不再做重复说明。
本申请还提供一种数据同步源端装置,参见图7所示,该装置可以包括:实时通知生成模块110、实时通知发送模块120;
实时通知生成模块110用于在确定源端数据库的数据修改后,针对本次数据修改生成实时通知;该实时通知中,携带本次数据修改的相关信息;
实时通知发送模块120用于将实时通知发送至数据同步目标端;以使得数据同步目标端接收到实时通知后,从实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新。
在本申请的一种具体实施方式中,实时通知生成模块110可以具体用于:在确定源端数据库的数据修改后,将本次修改涉及的具体数值信息写入实时通知中。
在本申请的一种具体实施方式中,实时通知生成模块110可以具体用于:在确定源端数据库的数据修改后,将本次修改的操作标识写入实时通知中。
在本申请的一种具体实施方式中,实时通知生成模块110可以具体用于:在确定源端数据库的数据修改后,判断本次修改的数据量是否超过预设的阈值;如果否,则将本次修改涉及的具体数值信息写入实时通知中;如果是,则将本次修改的操作标识写入实时通知中。
在本申请的一种具体实施方式中,数据同步源端装置可以配置在数据同步源端应用服务器中。
本申请还提供一种数据同步目标端装置,参见图8所示,该装置可以包括:实时通知接收模块210、缓存数据更新模块220;
实时通知接收模块210用于接收数据同步源端发送的实时通知;
缓存数据更新模块220用于从实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新;
其中,所述实时通知,是数据同步源端在确定源端数据库的数据修改后,针对本次数据修改生成并发送,该实时通知中,携带本次数据修改的相关信息。
在本申请的一种具体实施方式中,实时通知中可以包括本次修改涉及的具体数值信息;
相应地,缓存数据更新模块220可以具体用于:根据解析得到的修改涉及的具体数值信息,直接对目标端数据库缓存进行更新。
在本申请的一种具体实施方式中,实时通知中可以包括本次修改的操作标识;
相应地,缓存数据更新模块220可以具体用于:根据解析得到的修改操作标识,对目标端数据库进行监测,当监测到该标识对应的修改操作已经从源端数据库同步到目标端数据库后,根据同步后的目标端数据库内容,对目标端数据库缓存进行更新。
在本申请的一种具体实施方式中,实时通知中可以包括:本次修改涉及的具体数值信息、或本次修改的操作标识;
相应地,缓存数据更新模块220可以具体用于:在解析结果为修改涉及的具体数值信息的情况下,直接根据解析结果对目标端数据库缓存进行更新;在解析结果为修改操作标识的情况下,根据该标识对目标端数据库进行监测,当监测到该标识对应的修改操作已经从源端数据库同步到目标端数据库后,根据同步后的目标端数据库内容,对目标端数据库缓存进行更新。
在本申请的一种具体实施方式中,数据同步目标端装置可以配置在数据同步目标端应用服务器中。
本申请还提供一种数据同步系统,参见图9所示,该装置可以包括数据同步源端装置100及数据同步目标端装置200:
数据同步源端装置100可以包括:实时通知生成模块110、实时通知发送模块120;
实时通知生成模块110用于在确定源端数据库的数据修改后,针对本次数据修改生成实时通知;该实时通知中,携带本次数据修改的相关信息;
实时通知发送模块120用于将实时通知发送至数据同步目标端;
数据同步目标端装置200可以包括:实时通知接收模块210、缓存数据更新模块220;
实时通知接收模块210用于接收实时通知,
缓存数据更新模块220用于从实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新。
在本申请的一种具体实施方式中,实时通知生成模块120可以具体用于在确定源端数据库的数据修改后,将本次修改涉及的具体数值信息写入实时通知中;
对应地,缓存数据更新模块220可以具体用于根据解析得到的修改涉及的具体数值信息,直接对目标端数据库缓存进行更新。
在本申请的另一种具体实施方式中,实时通知生成模块120可以具体用于在确定源端数据库的数据修改后,将本次修改的操作标识写入实时通知中;
对应地,缓存数据更新模块220可以具体用于根据解析得到的修改操作标识,对目标端数据库进行监测,当监测到该标识对应的修改操作已经从源端数据库同步到目标端数据库后,根据同步后的目标端数据库内容,对目标端数据库缓存进行更新。
在本申请的另一种具体实施方式中,实时通知生成模块120可以具体用于在确定源端数据库的数据修改后,判断本次修改的数据量是否超过预设的阈值;如果否,则将本次修改涉及的具体数值信息写入实时通知中;如果是,则将本次修改的操作标识写入实时通知中;
对应地,缓存数据更新模块220可以具体用于:在解析结果为修改涉及的具体数值信息的情况下,直接根据解析结果对目标端数据库缓存进行更新;在解析结果为修改操作标识的情况下,根据该标识对目标端数据库进行监测,当监测到该标识对应的修改操作已经从源端数据库同步到目标端数据库后,根据同步后的目标端数据库内容,对目标端数据库缓存进行更新。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
在实际应用设计中,上述数据同步源端装置和数据同步目标端装置的相关功能模块,既可以全部位于与应用服务器相对独立的物理实体(例如专用的服务器)中,如图3所示。也可以有部分或全部位于应用服务器中,在同步装置的全部功能模块均位于应用服务器中的情况下,相当于数据同步源端和数据同步目标端两侧的同步装置功能均整合在两侧的应用服务器中,则相应的系统架构可以简化为如图4所示,前述的同步装置与应用服务器之间的交互则简化为应用服务器的内部交互。
本申请所提供的数据同步源端装置和数据同步目标端装置可以分别配置于服务器等硬件设备上,图10所示,为本申请所提供的用于配置上述装置的一种设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置或系统实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本申请方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (23)

1.一种数据同步方法,用于实现数据库缓存之间的同步,其特征在于,该方法包括:
数据同步源端确定源端数据库的数据修改后,针对本次数据修改生成实时通知,将所述实时通知发送至数据同步目标端,所述实时通知中,携带本次数据修改的相关信息;
数据同步目标端接收到所述实时通知后,从所述实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新;
所述数据同步源端至少包括:源端数据库和源端数据库缓存;
所述数据同步目标端至少包括:目标端数据库和目标端数据库缓存。
2.根据权利要求1所述的方法,其特征在于,所述数据同步源端针对本次数据修改生成实时通知的步骤,包括:将本次修改涉及的具体数值信息写入所述实时通知中;
所述数据同步目标端根据解析结果对目标端数据库缓存进行更新的步骤,包括:根据解析得到的修改涉及的具体数值信息,直接对目标端数据库缓存进行更新。
3.根据权利要求1所述的方法,其特征在于,所述数据同步源端针对本次数据修改生成实时通知的步骤,包括:将本次修改的修改操作标识写入所述实时通知中;
所述数据同步目标端根据解析结果对目标端数据库缓存进行更新的步骤,包括:根据解析得到的修改操作标识,对目标端数据库进行监测,当监测到该标识对应的修改操作已经从源端数据库同步到目标端数据库后,根据同步后的目标端数据库内容,对目标端数据库缓存进行更新。
4.根据权利要求1所述的方法,其特征在于,所述数据同步源端针对本次数据修改生成实时通知的步骤,包括:
判断本次修改的数据量是否超过预设的阈值;如果否,则将本次修改涉及的具体数值信息写入所述实时通知中;如果是,则将本次修改的修改操作标识写入所述实时通知中;
所述数据同步目标端根据解析结果对目标端数据库缓存进行更新的步骤,包括:
如果解析结果为修改涉及的具体数值信息,则直接根据解析结果对目标端数据库缓存进行更新;
如果解析结果为修改操作标识,则根据该标识对目标端数据库进行监测,当监测到该标识对应的修改操作已经从源端数据库同步到目标端数据库后,根据同步后的目标端数据库内容,对目标端数据库缓存进行更新。
5.一种数据同步方法,应用于数据同步源端,用于实现数据库缓存之间的同步,其特征在于,该方法包括:
确定源端数据库的数据修改后,针对本次数据修改生成实时通知,所述实时通知中,携带本次数据修改的相关信息;
将所述实时通知发送至数据同步目标端,以使得数据同步目标端接收到所述实时通知后,从所述实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新;
所述数据同步源端至少包括:源端数据库和源端数据库缓存;
所述数据同步目标端至少包括:目标端数据库和目标端数据库缓存。
6.根据权利要求5所述的方法,其特征在于,所述针对本次数据修改生成实时通知的步骤,包括:
将本次修改涉及的具体数值信息写入所述实时通知中。
7.根据权利要求5所述的方法,其特征在于,所述针对本次数据修改生成实时通知的步骤,包括:
将本次修改的修改操作标识写入所述实时通知中。
8.根据权利要求5所述的方法,其特征在于,所述针对本次数据修改生成实时通知的步骤,包括:
判断本次修改的数据量是否超过预设的阈值;如果否,则将本次修改涉及的具体数值信息写入所述实时通知中;如果是,则将本次修改的修改操作标识写入所述实时通知中。
9.一种数据同步方法,应用于数据同步目标端,用于实现数据库缓存之间的同步,其特征在于,该方法包括:
接收数据同步源端发送的实时通知;
从所述实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新;
其中,所述实时通知,是在数据同步源端确定源端数据库的数据修改后,针对本次数据修改生成并发送,所述实时通知中,携带本次数据修改的相关信息;
所述数据同步源端至少包括:源端数据库和源端数据库缓存;
所述数据同步目标端至少包括:目标端数据库和目标端数据库缓存。
10.根据权利要求9所述的方法,其特征在于,所述实时通知中包括本次修改涉及的具体数值信息;
所述根据解析结果对目标端数据库缓存进行更新的步骤,包括:根据解析得到的修改涉及的具体数值信息,直接对目标端数据库缓存进行更新。
11.根据权利要求9所述的方法,其特征在于,所述实时通知中包括本次修改的修改操作标识;
所述根据解析结果对目标端数据库缓存进行更新的步骤,包括:根据解析得到的修改操作标识,对目标端数据库进行监测,当监测到该标识对应的修改操作已经从源端数据库同步到目标端数据库后,根据同步后的目标端数据库内容,对目标端数据库缓存进行更新。
12.根据权利要求9所述的方法,其特征在于,所述实时通知中包括:本次修改涉及的具体数值信息、或本次修改的修改操作标识;
所述实时通知生成的步骤,包括:
判断本次修改的数据量是否超过预设的阈值;如果否,则将本次修改涉及的具体数值信息写入所述实时通知中;如果是,则将本次修改的修改操作标识写入所述实时通知中;
所述数据同步目标端根据解析结果对目标端数据库缓存进行更新的步骤,包括:
如果解析结果为修改涉及的具体数值信息,则直接根据解析结果对目标端数据库缓存进行更新;
如果解析结果为修改操作标识,则根据该标识对目标端数据库进行监测,当监测到该标识对应的修改操作已经从源端数据库同步到目标端数据库后,根据同步后的目标端数据库内容,对目标端数据库缓存进行更新。
13.一种数据同步源端装置,用于实现数据库缓存之间的同步,其特征在于,该装置包括:实时通知生成模块、实时通知发送模块、源端数据库和源端数据库缓存;
所述实时通知生成模块用于在确定源端数据库的数据修改后,针对本次数据修改生成实时通知;所述实时通知中,携带本次数据修改的相关信息;
所述实时通知发送模块用于将所述实时通知发送至数据同步目标端;以使得数据同步目标端接收到所述实时通知后,从所述实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新;
所述数据同步目标端至少包括:目标端数据库和目标端数据库缓存。
14.根据权利要求13所述的装置,其特征在于,所述实时通知生成模块具体用于:在确定源端数据库的数据修改后,将本次修改涉及的具体数值信息写入所述实时通知中。
15.根据权利要求13所述的装置,其特征在于,所述实时通知生成模块具体用于:在确定源端数据库的数据修改后,将本次修改的修改操作标识写入所述实时通知中。
16.根据权利要求13所述的装置,其特征在于,所述实时通知生成模块具体用于:在确定源端数据库的数据修改后,判断本次修改的数据量是否超过预设的阈值;如果否,则将本次修改涉及的具体数值信息写入所述实时通知中;如果是,则将本次修改的修改操作标识写入所述实时通知中。
17.根据权利要求13所述的装置,其特征在于,数据同步源端装置配置在数据同步源端应用服务器中。
18.一种数据同步目标端装置,用于实现数据库缓存之间的同步,其特征在于,该装置包括:实时通知接收模块、缓存数据更新模块、目标端数据库和目标端数据库缓存;
所述实时通知接收模块用于接收数据同步源端发送的实时通知;
所述缓存数据更新模块用于从所述实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新;
其中,所述实时通知,是数据同步源端在确定源端数据库的数据修改后,针对本次数据修改生成并发送,所述实时通知中,携带本次数据修改的相关信息;
所述数据同步源端至少包括:源端数据库和源端数据库缓存。
19.根据权利要求18所述的装置,其特征在于,所述实时通知中包括本次修改涉及的具体数值信息;
所述缓存数据更新模块具体用于:根据解析得到的修改涉及的具体数值信息,直接对目标端数据库缓存进行更新。
20.根据权利要求18所述的装置,其特征在于,所述实时通知中包括本次修改的修改操作标识;
所述缓存数据更新模块具体用于:根据解析得到的修改操作标识,对目标端数据库进行监测,当监测到该标识对应的修改操作已经从源端数据库同步到目标端数据库后,根据同步后的目标端数据库内容,对目标端数据库缓存进行更新。
21.根据权利要求18所述的装置,其特征在于,所述实时通知中包括:本次修改涉及的具体数值信息、或本次修改的修改操作标识;
所述缓存数据更新模块具体用于:在解析结果为修改涉及的具体数值信息的情况下,直接根据解析结果对目标端数据库缓存进行更新;在解析结果为修改操作标识的情况下,根据该标识对目标端数据库进行监测,当监测到该标识对应的修改操作已经从源端数据库同步到目标端数据库后,根据同步后的目标端数据库内容,对目标端数据库缓存进行更新。
22.根据权利要求18所述的装置,其特征在于,数据同步目标端装置配置在数据同步目标端应用服务器中。
23.一种数据同步系统,用于实现数据库缓存之间的同步,其特征在于,该系统包括数据同步源端装置及数据同步目标端装置:
所述数据同步源端装置包括:实时通知生成模块、实时通知发送模块、源端数据库和源端数据库缓存;
所述实时通知生成模块用于在确定源端数据库的数据修改后,针对本次数据修改生成实时通知;所述实时通知中,携带本次数据修改的相关信息;
所述实时通知发送模块用于将所述实时通知发送至数据同步目标端;
所述数据同步目标端装置包括:实时通知接收模块、缓存数据更新模块、目标端数据库和目标端数据库缓存;
所述实时通知接收模块用于接收所述实时通知,
所述缓存数据更新模块用于从所述实时通知中解析得到数据修改相关信息,根据解析结果对目标端数据库缓存进行更新。
CN201610031809.XA 2016-01-18 2016-01-18 一种数据同步方法、装置及系统 Active CN106980625B (zh)

Priority Applications (12)

Application Number Priority Date Filing Date Title
CN201610031809.XA CN106980625B (zh) 2016-01-18 2016-01-18 一种数据同步方法、装置及系统
TW105143378A TW201730784A (zh) 2016-01-18 2016-12-27 資料同步方法、裝置及系統
EP17740969.5A EP3407527B1 (en) 2016-01-18 2017-01-09 Method, device, and system for data synchronization
PCT/CN2017/070648 WO2017124938A1 (zh) 2016-01-18 2017-01-09 一种数据同步方法、装置及系统
SG11201806007RA SG11201806007RA (en) 2016-01-18 2017-01-09 Data synchronization method, apparatus, and system
JP2018537667A JP6745884B2 (ja) 2016-01-18 2017-01-09 データ同期方法、装置及びシステム
KR1020187023616A KR102153804B1 (ko) 2016-01-18 2017-01-09 데이터 동기화 방법, 장치, 및 시스템
MYPI2018702458A MY185258A (en) 2016-01-18 2017-01-09 Method, device, and system for data system for data synchronization
PH12018501520A PH12018501520A1 (en) 2016-01-18 2018-07-16 Method, device, and system for data synchronization
US16/037,785 US11010404B2 (en) 2016-01-18 2018-07-17 Data synchronization method, apparatus, and system
US16/719,402 US10754873B2 (en) 2016-01-18 2019-12-18 Data synchronization method, apparatus, and system
US17/321,845 US20210271689A1 (en) 2016-01-18 2021-05-17 Data synchronization method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610031809.XA CN106980625B (zh) 2016-01-18 2016-01-18 一种数据同步方法、装置及系统

Publications (2)

Publication Number Publication Date
CN106980625A CN106980625A (zh) 2017-07-25
CN106980625B true CN106980625B (zh) 2020-08-04

Family

ID=59340589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610031809.XA Active CN106980625B (zh) 2016-01-18 2016-01-18 一种数据同步方法、装置及系统

Country Status (10)

Country Link
US (3) US11010404B2 (zh)
EP (1) EP3407527B1 (zh)
JP (1) JP6745884B2 (zh)
KR (1) KR102153804B1 (zh)
CN (1) CN106980625B (zh)
MY (1) MY185258A (zh)
PH (1) PH12018501520A1 (zh)
SG (1) SG11201806007RA (zh)
TW (1) TW201730784A (zh)
WO (1) WO2017124938A1 (zh)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980625B (zh) 2016-01-18 2020-08-04 阿里巴巴集团控股有限公司 一种数据同步方法、装置及系统
US11669320B2 (en) 2016-02-12 2023-06-06 Nutanix, Inc. Self-healing virtualized file server
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
CN106412071A (zh) * 2016-10-08 2017-02-15 中国工商银行股份有限公司 一种数据同步方法及装置
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
CN107465767B (zh) * 2017-09-29 2020-06-23 网宿科技股份有限公司 一种数据同步的方法和系统
US10521139B2 (en) * 2017-12-14 2019-12-31 International Business Machines Corporation Copy source to target management in a data storage system
CN108337303A (zh) * 2018-01-24 2018-07-27 中国银联股份有限公司 一种数据同步方法和分布式系统
CN110309157A (zh) * 2018-03-06 2019-10-08 北京京东尚科信息技术有限公司 一种数据同步更新方法和装置
CN108200219B (zh) * 2018-03-13 2020-04-14 Oppo广东移动通信有限公司 数据同步方法、装置、服务器及存储介质
CN108551484B (zh) * 2018-04-23 2021-04-20 平安科技(深圳)有限公司 用户信息同步方法、装置、计算机装置及存储介质
CN109254997B (zh) * 2018-08-27 2020-12-11 广州城市信息研究所有限公司 数据同步方法、系统、计算机设备和可读存储介质
CN109284300A (zh) * 2018-08-31 2019-01-29 江苏龙虎网信息科技股份有限公司 一种客户端海量数据实时更新方法
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
CN109714394B (zh) * 2018-12-05 2021-11-09 深圳店匠科技有限公司 跨境多服务端的信息同步方法、系统和存储介质
CN109814791B (zh) * 2018-12-20 2020-11-13 东软集团股份有限公司 处理流程节点的方法、装置、存储介质及电子设备
CN109753511B (zh) * 2018-12-28 2020-12-04 北京东方国信科技股份有限公司 一种大数据平台的跨地域实时同步方法及系统
CN109783580A (zh) * 2019-01-24 2019-05-21 北京致远互联软件股份有限公司 数据同步方法及装置
CN110046167B (zh) * 2019-02-18 2024-03-26 创新先进技术有限公司 数据更新方法和系统
CN109936481B (zh) * 2019-03-22 2021-06-18 北京达佳互联信息技术有限公司 主从服务器切换方法、装置、电子设备及存储介质
CN110222065A (zh) * 2019-05-29 2019-09-10 深圳市思迪信息技术股份有限公司 基于移动平台的机房站点更新方法及系统
KR102211403B1 (ko) * 2019-06-19 2021-02-03 주식회사 코비젼 다중 웹서버 환경의 공용자원 동기화 시스템
CN110633324B (zh) * 2019-09-18 2022-07-26 中化信息技术有限公司 用于同步数据的方法、装置、电子设备和计算机可读介质
CN110990200B (zh) * 2019-11-26 2022-07-05 苏宁云计算有限公司 一种基于多活数据中心的流量切换方法及装置
CN111125247A (zh) * 2019-12-06 2020-05-08 北京浪潮数据技术有限公司 一种redis客户端缓存方法、装置、设备及存储介质
CN111061768A (zh) * 2019-12-23 2020-04-24 珠海格力电器股份有限公司 数据处理方法及系统
CN111162995A (zh) * 2019-12-26 2020-05-15 苏州浪潮智能科技有限公司 一种数据变更通知方法、装置、设备及可读存储介质
US11500850B1 (en) 2020-02-26 2022-11-15 Snap Inc. Synchronizing content with third-party application
CN111464332B (zh) * 2020-03-06 2023-02-24 中国人民财产保险股份有限公司 容灾方法、装置及设备
CN113556371B (zh) * 2020-04-26 2022-09-30 深信服科技股份有限公司 一种数据同步方法、系统、设备及计算机可读存储介质
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
CN112069256A (zh) * 2020-08-27 2020-12-11 苏州浪潮智能科技有限公司 一种服务器集群上数据同步装置及其同步方法
CN112559025A (zh) * 2020-12-16 2021-03-26 中国人寿保险股份有限公司 配置信息更新同步方法及设备
CN112905694A (zh) * 2021-02-05 2021-06-04 广州虎牙科技有限公司 数据同步方法、装置、服务器及存储介质
CN115150411A (zh) * 2021-03-31 2022-10-04 华为技术有限公司 数据同步的方法和装置
CN113656366B (zh) * 2021-08-03 2024-05-03 北京数码大方科技股份有限公司 电子仓库的数据处理方法和装置
CN113992680B (zh) * 2021-11-10 2024-02-02 中国工商银行股份有限公司 应用于分布式多活系统的调度方法、装置、设备及介质
CN113986909B (zh) * 2021-12-24 2022-04-22 畅捷通信息技术股份有限公司 一种反向记录同步状态的实时数据同步方法、系统及介质
CN114415984B (zh) * 2022-03-31 2022-08-16 阿里云计算有限公司 数据处理方法及装置
CN114722046A (zh) * 2022-04-18 2022-07-08 聚好看科技股份有限公司 一种服务器及首页缓存数据分版本生成方法
CN116561089B (zh) * 2023-07-10 2023-09-19 成都泛联智存科技有限公司 数据同步方法、装置、客户端和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162472B2 (en) * 2003-06-24 2007-01-09 Microsoft Corporation System and method for database change notification
CN101188566A (zh) * 2007-12-13 2008-05-28 沈阳东软软件股份有限公司 一种集群环境下数据缓存同步的方法及系统
CN102279880A (zh) * 2011-07-28 2011-12-14 深圳市五巨科技有限公司 一种实时更新缓存的方法和系统
CN102346740A (zh) * 2010-08-02 2012-02-08 联想(北京)有限公司 一种文件同步方法、电子设备和同步系统
CN103138912A (zh) * 2011-12-05 2013-06-05 阿里巴巴集团控股有限公司 数据同步方法及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792436B1 (en) * 2000-02-11 2004-09-14 Persistence Software, Inc. Method for synchronizing multiple software caches in a memory
US7644125B2 (en) * 2000-09-11 2010-01-05 Ianywhere Solutions, Inc. Method, system, and computer program product for synchronization of similar data objects with event information
JP3983516B2 (ja) * 2001-10-25 2007-09-26 株式会社日立製作所 記憶装置システム
US7752166B2 (en) * 2001-11-15 2010-07-06 Visto Corporation System and methods for asynchronous synchronization
WO2006128062A2 (en) * 2005-05-25 2006-11-30 Terracotta, Inc. Database caching of queries and stored procedures using database provided facilities for dependency analysis and detected database updates for invalidation
CN101291342A (zh) * 2008-06-18 2008-10-22 中兴通讯股份有限公司 一种分布式体系中的数据同步方法及系统
JP4806037B2 (ja) * 2009-01-26 2011-11-02 株式会社東芝 データ記憶システム及び非同期レプリケーション方法
US8037136B2 (en) * 2009-03-11 2011-10-11 Business Objects Software Ltd Tracking a state of a document accessible over a computer network
US8756195B2 (en) * 2009-08-27 2014-06-17 The Boeing Company Universal delta set management
US8321392B2 (en) * 2009-12-30 2012-11-27 Sybase, Inc. Pending state management for mobile business objects
US20120028660A1 (en) * 2010-07-28 2012-02-02 Matthew Stafford Method and apparatus for notifying devices of new messages
CN102741843B (zh) * 2011-03-22 2014-03-26 青岛海信传媒网络技术有限公司 从数据库中读取数据的方法及装置
CN103581262B (zh) * 2012-08-06 2017-12-29 腾讯科技(深圳)有限公司 一种主备数据同步方法、装置和系统
US20140229435A1 (en) * 2013-01-27 2014-08-14 Travel Holdings, Inc. In-memory real-time synchronized database system and method
US9020893B2 (en) * 2013-03-01 2015-04-28 Datadirect Networks, Inc. Asynchronous namespace maintenance
US10747746B2 (en) * 2013-04-30 2020-08-18 Amazon Technologies, Inc. Efficient read replicas
JP2015162091A (ja) * 2014-02-27 2015-09-07 富士通株式会社 記憶制御装置、ストレージシステム、記憶制御方法、および記憶制御プログラム
EP3127008B1 (en) * 2014-03-31 2020-06-03 Oracle International Corporation Infrastructure for synchronization of mobile device with mobile cloud service
CN106980625B (zh) 2016-01-18 2020-08-04 阿里巴巴集团控股有限公司 一种数据同步方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162472B2 (en) * 2003-06-24 2007-01-09 Microsoft Corporation System and method for database change notification
CN101188566A (zh) * 2007-12-13 2008-05-28 沈阳东软软件股份有限公司 一种集群环境下数据缓存同步的方法及系统
CN102346740A (zh) * 2010-08-02 2012-02-08 联想(北京)有限公司 一种文件同步方法、电子设备和同步系统
CN102279880A (zh) * 2011-07-28 2011-12-14 深圳市五巨科技有限公司 一种实时更新缓存的方法和系统
CN103138912A (zh) * 2011-12-05 2013-06-05 阿里巴巴集团控股有限公司 数据同步方法及系统

Also Published As

Publication number Publication date
WO2017124938A1 (zh) 2017-07-27
SG11201806007RA (en) 2018-08-30
US20180341693A1 (en) 2018-11-29
KR102153804B1 (ko) 2020-09-09
EP3407527B1 (en) 2021-07-07
PH12018501520A1 (en) 2019-03-18
MY185258A (en) 2021-04-30
EP3407527A1 (en) 2018-11-28
JP2019508796A (ja) 2019-03-28
US20200125580A1 (en) 2020-04-23
JP6745884B2 (ja) 2020-08-26
US11010404B2 (en) 2021-05-18
EP3407527A4 (en) 2019-07-03
TW201730784A (zh) 2017-09-01
US20210271689A1 (en) 2021-09-02
CN106980625A (zh) 2017-07-25
US10754873B2 (en) 2020-08-25
KR20180105675A (ko) 2018-09-28

Similar Documents

Publication Publication Date Title
CN106980625B (zh) 一种数据同步方法、装置及系统
CN110110174B (zh) 数据可视化页面的生成、监听及展示方法、浏览器及服务器
US9244993B1 (en) Management of application state data
CN112260853B (zh) 容灾切换方法、装置、存储介质及电子设备
CN111177165B (zh) 数据一致性检测的方法、装置及设备
CN109359118B (zh) 一种数据写入方法及装置
CN112636992B (zh) 一种动态路由方法、装置、设备及存储介质
US10031948B1 (en) Idempotence service
CN107861691B (zh) 一种多控存储系统的负载均衡方法和装置
CN111352836A (zh) 一种压力测试方法及相关装置
CN113094430B (zh) 一种数据处理方法、装置、设备以及存储介质
US20170155741A1 (en) Server, method, and system for providing service data
CN110019496A (zh) 数据读写方法和系统
US10620660B2 (en) Efficient timestamp solution for analyzing concurrent software systems
CN114996134A (zh) 容器化部署方法、电子设备及存储介质
CN114780615A (zh) 错误码管理方法及其装置
CN111259066A (zh) 服务器集群数据同步方法及装置
CN117435569A (zh) 缓存系统动态扩容方法、装置、设备、介质和程序产品
CN112925770A (zh) 一种数据库扩容方法、装置、设备和介质
US20230161664A1 (en) Method of responding to operation, electronic device, and storage medium
WO2021237431A1 (zh) 数据处理方法、装置、处理设备以及数据存储系统
CN110858146B (zh) 数据处理方法、装置和机器可读介质
CN113778764A (zh) 一种hbase数据双活系统及方法
CN117032779A (zh) 应用版本切换方法、装置、计算机设备和存储介质
CN117827393A (zh) 模型的运维服务方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240223

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: Ky1-9008 Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands, ky1-9008

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands

TR01 Transfer of patent right