数据同步方法、装置和系统
文献发布时间:2024-04-18 19:58:21
技术领域
本公开涉及数据处理技术领域,尤其涉及一种数据同步方法、装置和系统。
背景技术
随着互联网的迅速发展,不同网络之间的数据交换的需求逐渐增加,尤其是内网和互联网之间的数据交换。通常通过在内网和外网间部署数据交换系统来进行内网数据和外网数据的同步。
在利用数据交换系统进行数据同步的过程中,内网或外网内的服务器都可以随时发起新同步或切换同步方式,例如,将全量同步切换为增量同步,或者,将增量同步切换为全量同步,发明人发现,若当前尚有同步在执行时,发起的新同步或同步方式的切换会导致同步数据混乱的情况出现,难以保证数据同步过程中的数据准确性。
发明内容
有鉴于此,本公开实施例提供了一种数据同步方法、装置和系统,能够避免数据同步过程中数据混乱,保证同步数据的准确性。
第一方面,本公开实施例提供了一种数据同步方法,采用如下技术方案:
所述数据同步方法包括:
为源端服务器和目的端服务器均配置同步状态标识;
根据所述源端服务器的同步状态标识和所述目的端服务器的同步状态标识,确定所述源端服务器的当前同步状态和所述目的端服务器的当前同步状态;
根据所述源端服务器的当前同步状态和所述目的端服务器的当前同步状态,对所述源端服务器发起的新同步进行处理。
可选地,所述同步状态标识为全量同步准备标识、全量同步运行标识、增量同步准备标识或增量同步运行标识;
所述为源端服务器和目的端服务器均配置同步状态标识,包括:
根据所述源端服务器发起的新同步的同步方式、当前同步方式、当前同步状态标识和当前同步运行情况,为所述源端服务器和目的端服务器配置同步状态标识。
可选地,所述根据所述源端服务器发起的新同步的同步方式、当前同步状态标识和当前同步运行情况,为所述源端服务器和目的端服务器配置同步状态标识,包括:
所述源端服务器发起的新同步为全量同步,且所述源端服务器的当前同步状态标识为增量同步运行标识时,将所述源端服务器的同步状态标识配置为全量同步准备标识;
所述源端服务器的同步状态标识为全量同步准备标识,在所述源端服务器的当前增量同步结束时,将所述源端服务器的同步状态标识配置为全量同步运行标识;
所述源端服务器发起的新同步为增量同步,且所述源端服务器的当前同步状态标识为全量同步运行标识,在所述源端服务器的当前全量同步结束时,将所述源端服务器的同步状态标识配置为增量同步运行标识;
所述源端服务器发起的新同步为全量同步,且所述目的端服务器的当前同步状态标识为增量同步运行标识时,将所述目的端服务器的同步状态标识配置为全量同步准备标识;
所述目的端服务器的同步状态标识为全量同步准备标识,在所述目的端服务器的当前增量同步结束时,将所述目的端服务器的同步状态标识配置为全量同步运行标识;
所述源端服务器的同步状态标识配置为增量同步运行标识后,将所述目的端服务器的同步状态标识配置为增量同步准备标识;
所述目的端服务器的同步状态标识为增量同步准备标识,在所述目的端服务器的当前全量同步结束时,将所述目的端服务器的同步状态标识配置为增量同步运行标识。
可选地,通过以下方式确定所述源端服务器的当前增量同步是否结束:停止增量数据采集和发送线程;监控同步执行线程数;若同步执行线程数为0,则所述源端服务器的当前增量同步结束;
通过以下方式确定所述源端服务器的当前全量同步是否结束:判断当前采集的数据量是否达到目标值,若达到,则所述源端服务器的当前全量同步结束;
通过以下方式确定所述目的端服务器的当前增量同步或全量同步是否结束:监控同步执行线程数;若同步执行线程数为0,则所述目的端服务器的当前增量同步或全量同步结束。
可选地,在所述源端服务器发起的新同步为全量同步时,所述根据所述源端服务器的当前同步状态和所述目的端服务器的当前同步状态,对所述源端服务器发起的新同步进行处理,包括:
所述源端服务器的当前同步状态为全量同步准备状态时,所述源端服务器停止数据采集和发送线程,监控同步执行线程数;
在所述源端服务器的同步状态为全量同步运行状态时,所述源端服务器执行所述新同步;
在所述目的端服务器的当前同步状态为全量同步运行状态时,所述目的端服务器执行所述新同步。
可选地,所述数据同步方法还包括:若所述源端服务器在当前同步状态为全量同步准备状态或全量同步运行状态时,发起新的全量同步,所述源端服务器继续执行当前全量同步,并提示异常。
可选地,在所述源端服务器发起的新同步为增量同步时,所述根据所述源端服务器的当前同步状态和所述目的端服务器的当前同步状态,对所述源端服务器发起的新同步进行处理,包括:
在所述源端服务器的当前同步状态为增量同步运行状态时,所述源端服务器执行所述新发起的同步;
在所述目的端服务器的当前同步状态为增量同步准备状态时,所述目的端服务器停止数据采集和发送线程,监控同步执行线程数;
在所述目的端服务器的当前同步状态为增量同步运行状态时,所述目的端服务器执行所述新同步。
可选地,所述根据所述源端服务器的当前同步状态和所述目的端服务器的当前同步状态,对所述源端服务器发起的新同步进行处理,还包括:
在所述源端服务器的当前同步状态为增量同步运行状态,所述目的端服务器的当前同步状态为增量同步准备状态时,所述目的端服务器接收并缓存增量数据;
在所述源端服务器的当前同步状态为全量同步运行状态,所述目的端服务器的当前同步状态为全量同步准备状态时,所述目的端服务器接收并缓存全量数据。
第二方面,本公开实施例还提供了一种数据同步装置,采用如下技术方案:
所述数据同步装置包括:
标识配置模块,用于为源端服务器和目的端服务器均配置同步状态标识;
状态确定模块,用于根据所述源端服务器的同步状态标识和所述目的端服务器的同步状态标识,确定所述源端服务器的当前同步状态和所述目的端服务器的当前同步状态;
同步处理模块,用于根据所述源端服务器的当前同步状态和所述目的端服务器的当前同步状态,对所述源端服务器发起的新同步进行处理。
第三方面,本公开实施例还提供了一种数据同步系统,采用如下技术方案:
所述数据同步系统包括:第一服务器、安全隔离设备和第二服务器,所述安全隔离设备连接于所述第一服务器和所述第二服务器之间,所述第一服务器和所述第二服务器之间通过以上任一项所述的数据同步方法进行数据同步。
本公开实施例提供了一种数据同步方法、装置和系统,其中,利用该数据同步方法在源端服务器和目的端服务器之间进行数据同步的过程中,由于先为源端服务器和目的端服务器均配置了同步状态标识,所以根据源端服务器的同步状态标识和目的端服务器的同步状态标识,即可准确确定源端服务器的当前同步状态和目的端服务器的当前同步状态,进而使得后续可以根据源端服务器的当前同步状态和目的端服务器的当前同步状态,对源端服务器发起的新同步进行处理时,进而可以避免数据同步过程中数据混乱,保证同步数据的准确性。
上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本公开实施例提供的数据同步方法的流程图;
图2为本公开实施例提供的数据同步方法的适用场景示意图;
图3为本公开实施例提供的增量同步切换全量同步的过程示意图;
图4为本公开实施例提供的全量同步切换增量同步的过程示意图;
图5为本公开实施例提供的数据同步装置的结构示意图;
图6为本公开实施例提供的数据同步系统的结构示意图。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
应当明确,以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目各方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
在现有数据同步过程中,在单向同步下可以配置不同的同步方式(增量同步和全量同步),在双向同步下同步方式默认为增量同步。不管是单向同步还是双向同步,同步过程中随时可以发起某个方向的同步方式的切换,以发起全量同步为例,一端发起全量同步时可以立即停止增量数据发送并开始全量数据发送,但对端可能还有增量数据正在同步中,此时又接收到全量数据,将容易造成数据的混乱,使得同步过程的数据一致性和完整性出现问题,即同步数据不准确。
为解决以上问题,本公开实施例提供了一种数据同步方法,具体地,如图1和图2所示,该数据同步方法包括:
步骤S1、为源端服务器和目的端服务器均配置同步状态标识。
本公开实施例中对于源端服务器和目的端服务器是以其数据传输功能进行划分的,无论其在内网中还是外网中,负责数据采集和发送功能的服务器是源端服务器,负责数据接收和推送功能的服务器是目的端服务器,在单向同步场景下,一个服务器一直作为源端服务器,另一个服务器一直为目的端服务器,在双向同步场景下,两个服务器均一个时刻作为源端服务器,另一个时刻作为目的端服务器,或者,在同一时刻两个服务器均既作为源端服务器,又作为目的端服务器。
可选地,本公开实施例中的同步状态标识为全量同步准备标识、全量同步运行标识、增量同步准备标识或增量同步运行标识。
进一步地,为源端服务器和目的端服务器均配置同步状态标识,包括:根据源端服务器发起的新同步的同步方式、当前同步方式、当前同步状态标识和当前同步运行情况,为源端服务器和目的端服务器配置同步状态标识。其中,新同步的同步方式指的是新同步是增量同步还是全量同步,当前同步方式指的是源端服务器或者目的端服务器当前正在执行的同步是增量同步还是全量同步,当前同步状态标识指的就是全量同步准备标识、全量同步运行标识、增量同步准备标识或增量同步运行标识中的一个,当前同步运行情况指的是当前正在执行的同步是否已经执行完成,即是否已经结束。
具体地,针对源端服务器,根据源端服务器发起的新同步的同步方式、当前同步状态标识和当前同步运行情况,为源端服务器配置同步状态标识,包括:
源端服务器发起的新同步为全量同步,且源端服务器的当前同步状态标识为增量同步运行标识时,将源端服务器的同步状态标识配置为全量同步准备标识;
源端服务器的同步状态标识为全量同步准备标识,在源端服务器的当前增量同步结束时,将源端服务器的同步状态标识配置为全量同步运行标识;
源端服务器发起的新同步为增量同步,且源端服务器的当前同步状态标识为全量同步运行标识,在源端服务器的当前全量同步结束时,将源端服务器的同步状态标识配置为增量同步运行标识。
可选地,本公开实施例中通过以下方式确定源端服务器的当前增量同步是否结束:停止增量数据采集和发送线程,具体为在源端服务器发起的新同步为全量同步,且源端服务器的当前同步状态标识为增量同步运行标识时,停止增量数据采集和发送线程;监控同步执行线程数;若同步执行线程数为0,则源端服务器的当前增量同步结束。本公开实施例中通过以下方式确定源端服务器的当前全量同步是否结束:判断当前采集的数据量是否达到目标值,若达到,则源端服务器的当前全量同步结束,目标值可以在全量数据采集前获得,其为全量数据的总数据量。
在针对目的端服务器,根据源端服务器发起的新同步的同步方式、当前同步状态标识和当前同步运行情况,为目的端服务器配置同步状态标识,包括:
源端服务器发起的新同步为全量同步,且目的端服务器的当前同步状态标识为增量同步运行标识时,将目的端服务器的同步状态标识配置为全量同步准备标识;
目的端服务器的同步状态标识为全量同步准备标识,在目的端服务器的当前增量同步结束时,将目的端服务器的同步状态标识配置为全量同步运行标识;
源端服务器的同步状态标识配置为增量同步运行标识后,将目的端服务器的同步状态标识配置为增量同步准备标识;
目的端服务器的同步状态标识为增量同步准备标识,在目的端服务器的当前全量同步结束时,将目的端服务器的同步状态标识配置为增量同步运行标识。
可选地,本公开实施例中通过以下方式确定目的端服务器的当前增量同步或者全量同步是否结束:监控同步执行线程数;若同步执行线程数为0,则目的端服务器的当前增量同步或全量同步结束。具体地,在目的端服务器的同步状态标识配置为全量同步准备标识时,监控同步执行线程数,或,在目的端服务器的同步状态标识配置为增量同步准备标识时,监控同步执行线程数。
需要说明的是,如果此时刻该目的端服务器同时作为向另一个服务器进行增量同步的源端服务器,则还需要先停止增量数据采集和发送线程,再监控同步执行线程数。
可选地,本公开实施例中,在源端服务器的同步状态标识更新时,可发送状态同步消息至目的端服务器,目的端服务器响应于该同步状态消息对同步状态标识进行更新。
在一个例子中,在源端服务器的同步状态标识配置为全量同步准备标识时,源端服务器发送状态同步消息至目的端服务器,目的端服务器响应于该状态同步消息对同步状态标识进行更新,即将目的端服务器的同步状态标识同时配置为全量同步准备标识,通过此方式可以使源端服务器和目的端服务器的同步状态标识同时配置为全量同步准备标识。
在又一个例子中,在源端服务器的同步状态标识配置为增量同步运行标识时,源端服务器发送状态同步消息至目的端服务器,目的端服务器响应于该状态同步消息对同步状态标识进行更新,即将目的端服务器的同步状态标识配置为增量同步准备标识。
需要补充的是,对于源端服务器而言,其仅有三个同步状态标识,即全量同步准备标识、全量同步运行标识和增量同步运行标识,对于目的端服务器而言,其有四个同步状态标识,即全量同步准备标识、全量同步运行标识、增量同步准备标识和增量同步运行标识,原因在于,源端服务器在当前同步方式为全量同步时,会在全量同步后自动触发增量同步,因此无需增量同步准备的过程,不存在增量同步准备状态。
步骤S2、根据源端服务器的同步状态标识和目的端服务器的同步状态标识,确定源端服务器的当前同步状态和目的端服务器的当前同步状态。
具体地,针对源端服务器,若同步状态标识为全量同步准备标识,则说明源端服务器的当前同步状态为全量同步准备状态,在此状态下,源端服务器执行如下操作:停止增量数据采集和发送线程,监控同步执行线程数;若同步状态标识为全量同步运行标识,则说明源端服务器的当前同步状态为全量同步运行状态,在此状态下,源端服务器可执行全量数据数据采集和发送的操作;若同步状态标识为增量同步运行标识,则说明源端服务器的当前同步状态为增量同步运行状态,在此状态下,源端服务器可执行增量数据的数据采集和发送的操作。
类似地,针对目的端服务器,若同步状态标识为全量同步准备标识,则说明目的端服务器的当前同步状态为全量同步准备状态,在此状态下,目的端服务器监控同步执行线程数;若同步状态标识为全量同步运行标识,则说明目的端服务器的当前同步状态为全量同步运行状态,在此状态下,目的端服务器可执行全量数据的数据接收和存储的操作;若同步状态标识为增量同步准备标识,则说明目的端服务器的当前同步状态为增量同步准备状态,在此状态下,目的端服务器监控同步执行线程数;若同步状态标识为增量同步运行标识,则说明目的端服务器的当前同步状态为增量同步运行状态,在此状态下,目的端服务器可执行增量数据的数据接收和存储的操作。
步骤S3、根据源端服务器的当前同步状态和目的端服务器的当前同步状态,对源端服务器发起的新同步进行处理。
可选地,在同步方式由增量同步切换为全量同步的过程中,在源端服务器发起的新同步为全量同步时,根据源端服务器的当前同步状态和目的端服务器的当前同步状态,对源端服务器发起的新同步进行处理,包括:
源端服务器的当前同步状态为全量同步准备状态时,源端服务器停止数据采集和发送线程,监控同步执行线程数;
在源端服务器的同步状态为全量同步运行状态时,源端服务器执行新同步;
在目的端服务器的当前同步状态为全量同步运行状态时,目的端服务器执行新同步。
源端服务器执行新的全量同步时,源端服务器对源端数据库表数据进行分批次拉取并发送到目的端服务器,直到采集发送完所有全量数据。其中,由于全量数据太大,一次性取出会对数据库服务器造成压力,可以单次仅拉取部分数据,单次拉取的数据量可根据源端数据库性能和待同步数据总量进行合理配置,目的端服务器接收到全量数据后解析并组装成sql执行同步操作。目的端服务器接收到的数据是二进制数据,需要根据私有协议进行解析成具体的数据库表、字段等信息,并根据目的端服务器的同步配置组装成sql,连接目的端数据库并执行sql将数据插入到目的端数据库。
当源端服务器、目的端服务器的当前同步状态为其他状态时,根据以上所述的为源端服务器和目的端服务器配置同步状态标识的方式,对源端服务器、目的端服务器的同步状态标识进行更新即可。
可选地,在全量同步过程中再次发起全量同步时,本公开实施例中的数据同步方法还包括:若源端服务器在当前同步状态为全量同步准备状态或全量同步运行状态时,发起新的全量同步,源端服务器继续执行当前全量同步,并提示异常,通过以上方式能够保证全量同步结束后默认进入增量同步。提示异常的方式可以为:提示“正在全量同步过程中,不允许重复发起”。
可选地,在同步方式由全量同步切换为增量同步的过程中,在源端服务器发起的新同步为增量同步时,根据源端服务器的当前同步状态和目的端服务器的当前同步状态,对源端服务器发起的新同步进行处理,包括:
在源端服务器的当前同步状态为增量同步运行状态时,源端服务器执行新发起的同步;
在目的端服务器的当前同步状态为增量同步准备状态时,目的端服务器停止数据采集和发送线程,监控同步执行线程数;
在目的端服务器的当前同步状态为增量同步运行状态时,目的端服务器执行新同步。
当源端服务器、目的端服务器的当前同步状态为其他状态时,根据以上所述的为源端服务器和目的端服务器配置同步状态标识的方式,对源端服务器、目的端服务器的同步状态标识进行更新即可。
可选地,本公开实施例中,根据源端服务器的当前同步状态和目的端服务器的当前同步状态,对源端服务器发起的新同步进行处理,还包括:
在源端服务器的当前同步状态为增量同步运行状态,目的端服务器的当前同步状态为增量同步准备状态时,目的端服务器接收并缓存增量数据;
在源端服务器的当前同步状态为全量同步运行状态,目的端服务器的当前同步状态为全量同步准备状态时,目的端服务器接收并缓存全量数据。
也就是说,在源端服务器已经进入同步运行状态,而目的端服务器还处于同步准备状态时,允许源端服务器执行相关同步操作,目的端服务器只需将接收到的数据缓存即可,避免增量数据和全量数据并行破坏数据的准确性。
示例性地,如图3所示,本公开实施例中,同步方式由增量同步切换到全量同步时的数据同步过程包括:
源端服务器发起全量同步,通过源端服务器的同步状态标识,判断其当前同步状态是否为全量同步准备状态或全量同步运行状态,若是,则继续当前全量同步,并提示异常,若不是,则为源端服务器配置全量同步准备标识,进入全量同步准备状态,在全量同步准备状态下,源端服务器停止增量数据采集和发送线程,监控同步执行线程数,在同步执行线程数为0时,为源端服务器配置全量同步运行标识,进入全量同步运行状态,开启全量采集和发送线程;
在源端服务器配置全量同步准备标识,进入全量同步准备状态时,为目的端服务器配置全量同步准备标识,目的端服务器进入全量同步准备状态,目的端服务器停止增量数据采集和发送线程(若同时作为源端服务器则需执行),监控同步执行线程数,在同步执行线程数为0时,为目的端服务器配置全量同步运行标识,进入全量同步运行状态;
目的端服务器在接收到全量数据(目的端服务器可以通过接收到的同步数据包含的数据类型标识,区分是全量数据还是增量数据)后,判断其当前同步状态是否为全量同步运行状态,若是,则执行全量数据同步,若否,则缓存全量数据。
示例性地,如图4所示,本公开实施例中,同步方式由全量同步切换到增量同步时的数据同步过程包括:
源端服务器全量数据发送完成后,自动触发增量同步,为源端服务器配置增量同步运行标识,源端服务器进入增量同步运行状态,开启增量采集和发送线程;
在为源端服务器配置增量同步运行标识,进入增量同步运行状态时,为目的端服务器配置增量同步准备标识,目的端服务器进入增量同步准备状态,目的端服务器停止增量数据采集和发送线程(若同时作为源端服务器则需执行),监控同步执行线程数,在同步执行线程数为0时,为目的端服务器配置增量同步运行标识,进入增量同步运行状态;
目的端服务器在接收到增量数据后,判断其当前同步状态是否为增量同步运行状态,若是,则执行增量数据同步,若否,则缓存增量数据。
利用本公开实施例提供的数据同步方法在源端服务器和目的端服务器之间进行数据同步的过程中,由于先为源端服务器和目的端服务器均配置了同步状态标识,所以根据源端服务器的同步状态标识和目的端服务器的同步状态标识,即可准确确定源端服务器的当前同步状态和目的端服务器的当前同步状态,进而使得后续可以根据源端服务器的当前同步状态和目的端服务器的当前同步状态,对源端服务器发起的新同步进行处理时,进而可以避免数据同步过程中数据混乱,保证同步数据的准确性。以上数据同步方法能够支持增量同步和全量同步之间的平滑转换,全面覆盖数据单向同步和双向同步的应用场景,适用性强。
具体地,由于在数据同步过程中,数据采集和数据推送是分开的,源端服务器和目的端服务器的同步状态很难保持一致,而本公开实施例中,在同步方式转换过程中一起切换同步状态的同时加入了同步准备过程,实现了同步状态的相对一致,进而可以避免实质上的全量同步和增量同步冲突。
此外,本公开实施例还提供了一种数据同步装置,如图5所示,该数据同步装置包括:
标识配置模块10,用于为源端服务器和目的端服务器均配置同步状态标识;
状态确定模块20,用于根据源端服务器的同步状态标识和目的端服务器的同步状态标识,确定源端服务器的当前同步状态和目的端服务器的当前同步状态;
同步处理模块30,用于根据源端服务器的当前同步状态和目的端服务器的当前同步状态,对源端服务器发起的新同步进行处理。
需要说明的是,之前所述的数据同步方法的各具体内容均适用于数据同步装置对应的模块中,此处不再进行赘述。
可选地,同步处理模块30包括第一数据采集单元、第一数据发送单元、第一数据接收单元、第一同步执行单元、第二数据采集单元、第二数据发送单元、第二数据接收单元和第二同步执行单元,其中,第一数据采集单元、第一数据发送单元、第一数据接收单元和第一同步执行单元集成于第一服务器(作为源端服务器或目的端服务器)中,第二数据采集单元、第二数据发送单元、第二数据接收单元和第二同步执行单元集成于第二服务器(作为目的端服务器或源端服务器)中。数据采集单元用于全量数据和增量数据的采集,数据发送单元用于采集的全量数据和增量数据的发送,数据接收单元用于全量数据和增量数据的接收,同步执行单元用于执行全量数据同步和增量数据同步。
类似地,标识配置模块10和状态确定模块20也可以包括对应的两个标识配置单元、两个状态确定单元,可以分别集成于第一服务器和第二服务器中。
可选地,本公开实施例中,数据同步装置还包括策略配置模块,其具体可以包括第一策略配置单元和第二策略配置单元,第一策略配置单元集成于第一服务器中,第二策略配置单元集成于第二服务器中,通过第一策略配置单元和第二策略配置单元可以对同步方向(从第一服务器到第二服务器、从第二服务器到第一服务器,还是,双向同步)进行提前配置、选择数据库服务器、配置同步表和同步字段等。进一步地,单向同步下可以配置不同的同步方式(增量同步和全量同步),双向同步下同步方式默认为增量同步。
此外,本公开实施例还提供了一种数据同步系统,如图6所示,数据同步系统包括:第一服务器、安全隔离设备和第二服务器,安全隔离设备连接于第一服务器和第二服务器之间(即第一服务器和第二服务器中一个位于内网中,一个位于外网中),第一服务器和第二服务器之间通过以上任一项的数据同步方法进行数据同步。安全隔离设备可以保护内网的安全。
在单向同步场景下,第一服务器作为源端服务器或目的端服务器,第二服务器作为对应的目的端服务器或源端服务器,在双向同步场景下,第一服务器和第二服务器均既作为源端服务器,也作为目的端服务器,在数据同步过程中,在某一时刻,第一服务器和第二服务器作为哪种服务器(源端服务器或目的端服务器),就执行数据同步方法中哪种服务器对应的操作即可。
该数据同步系统可以在内外网隔离的情况下实现第一服务器和第二服务器之间的数据单向同步和双向同步需求,支持增量同步和全量同步随意切换。
有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
- 一种基于分布式文件系统的数据同步方法和装置
- 数据库的日志分析处理方法及装置、DDL同步方法及装置
- 数据同步方法、驱动装置以及显示装置
- 产品数据的数据同步方法、装置、计算机设备及存储介质
- 一种主备电网调度自动化系统操作同步方法、装置和系统
- 信息处理装置、数据同步程序、数据同步方法、数据同步系统以及终端装置
- 信息处理装置、数据同步程序、数据同步方法、数据同步系统以及终端装置