一种数据同步的系统技术方案

技术编号:17883996 阅读:32 留言:0更新日期:2018-05-06 04:32
本发明专利技术公开一种数据同步的系统,在需要进行数据同步的每个应用端设置一个同步客户端代理组件和一个中间数据库,设置在第一应用端的同步客户端代理组件将第一应用端的更新数据保存至设置在第一应用端的中间数据库,以及在协调服务器上创建同步状态;同步管理服务器在监测到所述协调服务器的创建的同步状态后,通过协调服务器,向在所有非第一应用端设置的同步客户端代理组件分别发送数据更新通知指令,进而完成数据同步。由于先把同步数据同步到数据库中,业务部直接调用同步接口,降低了数据同步与业务的耦合,使用业务不关注同步,能够快速响应用户操作,数据同步通过通知方式,可以异步批量处理,从而提高了业务的性能和数据的同步效率。

A system of data synchronization

The invention discloses a system of data synchronization, which sets up a synchronous client agent component and an intermediate database at each application end that needs data synchronization, and sets the synchronous client proxy component at the first application side to save the update data of the first application end to the middle database set at the first application end. And the synchronization state is created on the coordinator server; the synchronization management server, after monitoring the synchronization state of the coordinated server's creation, sends the data update notifications to the synchronization client proxy components set at all non first application ends to send data update notifications to the synchronization server and then complete the data synchronization. In order to synchronize the synchronous data to the database, the business department calls the synchronization interface directly, reduces the coupling of data synchronization and the business, uses business not to pay attention to synchronization, can respond to the user's operation quickly, and the data synchronization can be processed in batch by notifications, thus improving the performance of the business and synchronization of data. Efficiency.

【技术实现步骤摘要】
一种数据同步的系统
本专利技术涉及数据处理领域,更具体地说,涉及一种数据同步的系统。
技术介绍
数据同步是指多个系统、设备或应用之间的数据同步,使数据保持完整性和统一性。现有的数据同步方法,是业务直接调用同步接口,如果接口比较慢或者同步失败,造成业务功能慢或者失败,影响业务使用。并且,同步和业务绑定,只能单个处理同步数据,不能批量处理同步数据,同步效率较低。
技术实现思路
有鉴于此,本专利技术提出一种数据同步的系统,欲实现保障业务使用,以及提高数据同步效率的目的。为了实现上述目的,现提出的方案如下:一种数据同步的系统,包括:多个同步客户端代理组件、多个中间数据库、同步管理服务器和协调服务器;在需要进行数据同步的每个应用端设置一个所述同步客户端代理组件和一个所述中间数据库,设置在所述第一应用端的同步客户端代理组件将第一应用端的更新数据保存至设置在所述第一应用端的中间数据库,以及在所述协调服务器上创建同步状态;所述同步管理服务器,用于在监测到所述协调服务器的创建的同步状态后,通过所述协调服务器,向在所有非第一应用端设置的同步客户端代理组件分别发送数据更新通知指令;在所述非第一应用端设置的同步客户端组件,用于在接收到所述数据更新通知指令后,从所述第一应用端的中间数据库获取更新数据;在所述非第一应用端设置的同步客户端组件,还用于在获取所述更新数据后,对所述非第一应用端设置的中间数据库中的数据进行更新,并对所述非第一应用端进行数据更新。优选的,所述同步管理服务器,还用于接收用户注册的同步配置信息,并通过所述协调服务器将所述同步配置信息发送至所有同步客户端代理组件。优选的,所述协调服务器为:Zookeeper服务器。优选的,设置在所述第一应用端的同步客户端代理组件,具体用于:每隔预设时间周期,针对设置在所述第一应用端的中间数据库保存的处于未更新状态的更新数据,在所述协调服务器上创建相应同步状态。优选的,设置在所述第一应用端的同步客户端代理组件,具体用于:在预设时刻,针对设置在所述第一应用端的中间数据库保存的处于未更新状态的更新数据,在所述协调服务器上创建相应同步状态。优选的,在所述非第一应用端设置的同步客户端组件,还用于:在对所述非第一应用端设置的中间数据库中的数据进行更新完成后,更新所述协调服务器上同步状态节点;所述同步管理服务器,用于在监测到所述协调服务器上同步状态节点为同步完成状态时,通过所述协调服务器,向所述第一应用端设置的同步客户端代理组件发送更新完成通知指令;设置在所述第一应用端的同步客户端代理组件,还用于将设置在所述第一应用端的中间数据库中的更新数据的状态,更新为完成更新状态,或删除设置在所述第一应用端的中间数据库中的更新数据。优选的,在所述非第一应用端设置的同步客户端组件,具体用于:每隔预设时间周期,根据设置在所述非第一应用端的中间数据库保存的更新数据,对所述非第一应用端进行数据更新。优选的,在所述非第一应用端设置的同步客户端组件,具体用于:在预设时刻,根据设置在所述非第一应用端的中间数据库保存的更新数据,对所述非第一应用端进行数据更新。与现有技术相比,本专利技术的技术方案具有以下优点:上述技术方案提供的数据同步的系统,在需要进行数据同步的每个应用端设置一个同步客户端代理组件和一个中间数据库,设置在第一应用端的同步客户端代理组件将第一应用端的更新数据保存至设置在第一应用端的中间数据库,以及在协调服务器上创建同步状态;同步管理服务器在监测到所述协调服务器的创建的同步状态后,通过协调服务器,向在所有非第一应用端设置的同步客户端代理组件分别发送数据更新通知指令,进而完成数据同步。由于先把同步数据同步到数据库中,业务部直接调用同步接口,降低了数据同步与业务的耦合,使用业务不关注同步,能够快速响应用户操作,数据同步通过通知方式,可以异步批量处理,从而提高了业务的性能和数据的同步效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种数据同步的系统的结构示意图;图2为本专利技术实施例提供的一种数据更新的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本实施例提供一种数据同步的系统,参见图1所示,该系统包括:两个同步客户端代理组件11、两个中间数据库12、同步管理服务器13和协调服务器14。在需要进行数据同步的每个应用端2设置一个同步客户端代理组件11和一个中间数据库12,设置在第一应用端2的同步客户端代理组件11将第一应用端2的更新数据保存至设置在第一应用端2的中间数据库12,以及在协调服务器14上创建同步状态。需要说明的是本实施例中同一应用端2在不同的数据更新过程中既可以是第一应用端2,也可以是非第一应用端。发生数据更新的应用端2为第一应用端2,根据第一应用端2的更新数据进行数据同步的应用端2称为非第一应用端2。同步管理服务器13,用于在监测到协调服务器14的创建的同步状态后,通过协调服务器14,向在非第一应用端2设置的同步客户端代理组件11发送数据更新通知指令。设置在第一应用端2的同步客户端代理组件11,通知协调服务器14创建第一应用端2的更新数据的同步状态,更新数据的同步状态节点包括同步中状态和同步完成状态。同步管理服务器13检测到协调服务器14创建的同步状态,即指同步管理服务器13检测到协调服务器14中更新数据的同步状态节点为同步中状态。在非第一应用端2设置的同步客户端组件11,用于在接收到数据更新通知指令后,从第一应用端2的中间数据库12获取更新数据;在非第一应用端2设置的同步客户端组件11,还用于在获取更新数据后,对非第一应用端2设置的中间数据库11中的数据进行更新,并对非第一应用端2进行数据更新。同步客户端组件11根据同步配置信息,实现不同应用之间的数据更新,例如同步配置信息为用户表,用户表包含应用用户名和真实身份标识之间的对应关系,同一用户在不同应用中用户名可能不一样,通过用户表,可以确定同一用户在不同应用的用户名,进而对同一用户在不同应用中的数据进行同步。具体可以设置一个同步数据库保存同步配置信息。本实施例提供的数据同步的系统,由于先把同步数据同步到数据库中,业务部直接调用同步接口,降低了数据同步与业务的耦合,使用业务不关注同步,能够快速响应用户操作,数据同步通过通知方式,可以异步批量处理,从而提高了业务的性能和数据的同步效率。同步管理服务器13,还用于接收用户注册的同步配置信息,并通过协调服务器14将同步配置信息发送至所有同步客户端代理组件11。优选的,协调服务器14为Zookeeper服务器。在协调服务器14上创建同步状态,具体的包括:设置在第一应用端2的同步客户端代理组件11每隔预设的时间周期,针对设置在第一应用端2的中间本文档来自技高网...
一种数据同步的系统

【技术保护点】
一种数据同步的系统,其特征在于,包括:多个同步客户端代理组件、多个中间数据库、同步管理服务器和协调服务器;在需要进行数据同步的每个应用端设置一个所述同步客户端代理组件和一个所述中间数据库,设置在所述第一应用端的同步客户端代理组件将第一应用端的更新数据保存至设置在所述第一应用端的中间数据库,以及在所述协调服务器上创建同步状态;所述同步管理服务器,用于在监测到所述协调服务器的创建的同步状态后,通过所述协调服务器,向在所有非第一应用端设置的同步客户端代理组件分别发送数据更新通知指令;在所述非第一应用端设置的同步客户端组件,用于在接收到所述数据更新通知指令后,从所述第一应用端的中间数据库获取更新数据;在所述非第一应用端设置的同步客户端组件,还用于在获取所述更新数据后,对所述非第一应用端设置的中间数据库中的数据进行更新,并对所述非第一应用端进行数据更新。

【技术特征摘要】
1.一种数据同步的系统,其特征在于,包括:多个同步客户端代理组件、多个中间数据库、同步管理服务器和协调服务器;在需要进行数据同步的每个应用端设置一个所述同步客户端代理组件和一个所述中间数据库,设置在所述第一应用端的同步客户端代理组件将第一应用端的更新数据保存至设置在所述第一应用端的中间数据库,以及在所述协调服务器上创建同步状态;所述同步管理服务器,用于在监测到所述协调服务器的创建的同步状态后,通过所述协调服务器,向在所有非第一应用端设置的同步客户端代理组件分别发送数据更新通知指令;在所述非第一应用端设置的同步客户端组件,用于在接收到所述数据更新通知指令后,从所述第一应用端的中间数据库获取更新数据;在所述非第一应用端设置的同步客户端组件,还用于在获取所述更新数据后,对所述非第一应用端设置的中间数据库中的数据进行更新,并对所述非第一应用端进行数据更新。2.根据权利要求1所述的系统,其特征在于,所述同步管理服务器,还用于接收用户注册的同步配置信息,并通过所述协调服务器将所述同步配置信息发送至所有同步客户端代理组件。3.根据权利要求1所述的系统,其特征在于,所述协调服务器为:Zookeeper服务器。4.根据权利要求1所述的系统,其特征在于,设置在所述第一应用端的同步客户端代理组件,具体用于:每隔预设时间周期,针对设置在所述第一应用端的中间数据库保存的处于未更...

【专利技术属性】
技术研发人员:江春华杨志鹏方文罗新伟陈显龙张保建孙敏杰
申请(专利权)人:北京恒华伟业科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1