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

技术编号:15767633 阅读:23 留言:0更新日期:2017-07-06 16:10
本发明专利技术公开了一种数据同步系统及同步方法,同步系统包括:主服务器:用于存储数据,记录数据变化日志;至少一个解析服务器:用于监听主服务器日志是否发生变化,若变化,则拉取变化内容存储于解析服务器的内存中,当解析服务器的内存达到阈值时,分块写入磁盘;至少一个从服务器:用于监听解析服务器的内存或磁盘中是否有数据,若有数据且没有同步过,就从数据起点开始同步数据;若以前同步过数据就从上次同步的位置开始同步,同步逻辑处理完成后提交同步确认,并记录下同步到的位置。本发明专利技术的解析服务器可以对自己关注的数据进行配置,并不需要同步所有数据,同步速度快。

Data synchronization system and data synchronization method

The invention discloses a data synchronization system and method of synchronization, synchronization system includes: a main server for storing data, record data change log; at least one server: used for monitoring the main server log is changed, if the change is pull change content stored in the server's memory, when the server the memory reaches a threshold, the block is written to disk; at least one: whether the data from the server for monitoring server memory or disk, if there is no data and synchronization, synchronous data from the data was the starting point; if prior synchronized data from the last synchronization position synchronization, complete synchronization processing after submitting the confirmation of synchronization logic, and record synchronized to the position. The analytic server of the invention can configure the data concerned by itself, and does not need to synchronize all data, and the synchronization speed is fast.

【技术实现步骤摘要】
一种数据同步系统及数据同步方法
本专利技术涉及一种通信、网络传输
,特别是涉及一种数据同步系统及数据同步方法。
技术介绍
现有技术中,跨区域的数据传输通过主服务器按既定周期向从服务器传输数据实现。从服务器接收主服务发送的数据后,将覆盖原有存储数据。因此,若数据量非常大时,跨区域数据同步就无法做到实时,数据分块同步难以划分,同步过程中也会出现错误导致数据丢失等情况。另一方面,主服务器主动发送变化数据是一个推送的过程,客户端是否正常接收无法判断,因此主服务器一直发送会浪费大量的资源。因此本领域技术人员致力于开发一种可使主服务器和从服务器数据同步及时的系统及方法。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是提供一种可使主服务器和从服务器数据同步及时的系统及方法。为实现上述目的,本专利技术提供了一种数据同步系统,包括:主服务器:用于存储数据,记录数据变化日志;至少一个解析服务器:用于监听主服务器日志是否发生变化,若变化,则拉取变化内容存储于解析服务器的内存中,当解析服务器的内存达到阈值时,分块写入磁盘;至少一个从服务器:用于监听解析服务器的内存或磁盘中是否有数据,若有数据且没有同步过,就从数据起点开始同步数据;若以前同步过数据就从上次同步的位置开始同步,同步逻辑处理完成后提交同步确认,并记录下同步到的位置。较佳的,数据同步系统还包括:容灾报警系统:用于监听所述主服务器,解析服务器,从服务器之间的心跳;当服务器之间心跳无法连通时,存活端会继续进行心跳尝试,若尝试次数至预设的最大值任无法连通就去掉这个节点,中断后续流程并发送报警;容灾服务器:当数据同步过程中后续处理流程出现错误,或者规则发生变化时,可更改同步位置重新同步数据。本专利技术还提供了一种数据同步方法,包括以下步骤:1)设置日志格式和解析服务器ID;设置要解析的数据和主服务器;设置主服务器监听间隔时长和解析服务器;2)监听主服务器日志;3)判断主服务器日志是否发生变化:若主服务器日志发生变化,则拉取变化内容存储于解析服务器的内存中,当解析服务器的内存达到阈值时,分块写入磁盘;4)监听解析服务器;5)当解析服务器的内存或磁盘中有数据且没有同步过,就使从服务器从数据起点开始同步数据;若以前同步过数据就使从服务器从上次同步的位置开始同步;6)同步逻辑处理完成后提交同步确认,并记录下同步到的位置。较佳的,数据同步方法还包括以下步骤:7)监听所述主服务器,解析服务器,从服务器之间的心跳:当服务器之间心跳无法连通时,存活端会继续进行心跳尝试,若尝试次数至预设的最大值任无法连通就去掉这个节点,中断后续流程并发送报警;8)容灾服务:当数据同步过程中后续处理流程出现错误,或者规则发生变化时,可更改同步位置重新同步数据。本专利技术的有益效果是:(1)本专利技术的解析服务器可以对自己关注的数据进行配置,并不需要同步所有数据。(2)同步过程中实时记录同步的位置,当系统出现故障时不至于丢数据;当同步操作有误时,可以修改数据同步起始点重新同步数据。(3)一个解析服务器可配置不同的从服务器并互不干扰,可以实现多份数据同时同步。(4)容灾服务器会及时发现故障节点,移除节点,并发送报警,不会出现通信资源浪费的情况;当节点修复后会从中断点继续开始同步。附图说明图1是本专利技术一具体实施方式的结构示意图。图2是本专利技术一具体实施方式的流程图之一。图3是本专利技术一具体实施方式的流程图之一。图4是本专利技术一具体实施方式的流程图之一。图5是本专利技术一具体实施方式的流程图之一。具体实施方式下面结合附图和实施例对本专利技术作进一步说明:如图1所示,一种数据同步系统,包括:主服务器:用于存储数据,记录数据变化日志;多个解析服务器:用于监听主服务器日志是否发生变化,若变化,则拉取变化内容存储于解析服务器的内存中,当解析服务器的内存达到阈值时,分块写入磁盘;从服务器,分别对应一个或多个解析服务器:用于监听解析服务器的内存或磁盘中是否有数据,从服务器发起请求并携带同步的位置,初始状态下同步位置为0,已经同步过数据则获取记录同步位置的文件作为参数传给解析服务器。解析服务器接收到数据,查找相应的数据块和位置,如果有新数据则返回从服务器一次拉取条数的数据,从服务器进行相关逻辑处理后向解析服务器提交确认,确认之后从服务器记录同步过来新的位置。然后不断重复此操作。若有数据且没有同步过,就从数据起点开始同步数据;若以前同步过数据就从上次同步的位置开始同步,同步逻辑处理完成后提交同步确认,并记录下同步到的位置。容灾报警系统:用于监听所述主服务器,解析服务器,从服务器之间的心跳;当服务器之间心跳无法连通时,存活端会继续进行心跳尝试,若尝试次数至预设的最大值任无法连通就去掉这个节点,中断后续流程并发送报警;容灾服务器:当数据同步过程中后续处理流程出现错误,或者规则发生变化时,可更改同步位置重新同步数据。如图1所示,可将主服务器的数据区分为若干数据模块,系统设置与数据模块对应的解析服务器,从而实现解析不同的数据模块,进一步提高数据同步的效率。相应的,某一从服务器可能只关心某一个或几个数据模块,因此,该从服务器只需要监听与其关心的数据模块对应的解析服务器即可,从而进一步提高数据同步的效率。如图2至图5所示,基于上述专利技术构思,相应的,本专利技术还提供了一种数据同步方法,包括以下步骤:1)设置日志格式和解析服务器ID;设置要解析的数据和主服务器;设置主服务器监听间隔时长和解析服务器;将主服务器的数据设置为多个数据模块。2)监听主服务器日志。解析服务器监听方式只需要在主服务器开通一个监听的线程,占用资源少,主服务器主要用于提供各种数据服务,如果其他程序占用资源太多会导致主服务器的性能受到影响。3)判断主服务器日志是否发生变化:若主服务器日志发生变化,则拉取变化内容存储于与变化内容所在数据模块对应的解析服务器的内存中,当内存通道达到一定阈值的时候,会将内存中的数据写入磁盘中,并且按顺序写入保证同步位置的连续性。4)监听解析服务器;5)当解析服务器的内存或磁盘中有数据且没有同步过,就使从服务器从数据起点开始同步数据;若以前同步过数据就使从服务器从上次同步的位置开始同步;从服务器去拉取数据时,先去解析服务器查找上次同步的位置,如果上次同步的位置数据存储在磁盘中则从磁盘同步,如果在内存中则从内存中同步。6)同步逻辑处理完成后提交同步确认,并记录下同步到的位置。同时,该方法还包括以下步骤:7)监听所述主服务器,解析服务器,从服务器之间的心跳:当服务器之间心跳无法连通时,存活端会继续进行心跳尝试,若尝试次数至预设的最大值任无法连通就去掉这个节点,中断后续流程并发送报警;8)容灾服务:当数据同步过程中后续处理流程出现错误,或者规则发生变化时,可更改同步位置重新同步数据。因此,本专利技术中,解析服务器主动拉取的新数据会追加到解析服务器的老数据之后并记录位置,不用进行数据对比,位置的变化会直接方便从服务器监听,且无论从服务器同步的数据快慢和同步的位置是否一致都不会影响数据的一致性。解析服务器不需要从新发送数据,从服务器会每隔一段时间来监听数据是否变化,间隔时间可以自行设置。只判断上次同步到的位置是否是最新的位置,如果是最新位置则没有数据,如果不是最新位置则同本文档来自技高网...
一种数据同步系统及数据同步方法

【技术保护点】
一种数据同步系统,其特征是,包括:主服务器:用于存储数据,记录数据变化日志;至少一个解析服务器:用于监听主服务器日志是否发生变化,若变化,则拉取变化内容存储于解析服务器的内存中,当解析服务器的内存达到阈值时,分块写入磁盘;至少一个从服务器:用于监听解析服务器的内存或磁盘中是否有数据,若有数据且没有同步过,就从数据起点开始同步数据;若以前同步过数据就从上次同步的位置开始同步,同步逻辑处理完成后提交同步确认,并记录下同步到的位置。

【技术特征摘要】
1.一种数据同步系统,其特征是,包括:主服务器:用于存储数据,记录数据变化日志;至少一个解析服务器:用于监听主服务器日志是否发生变化,若变化,则拉取变化内容存储于解析服务器的内存中,当解析服务器的内存达到阈值时,分块写入磁盘;至少一个从服务器:用于监听解析服务器的内存或磁盘中是否有数据,若有数据且没有同步过,就从数据起点开始同步数据;若以前同步过数据就从上次同步的位置开始同步,同步逻辑处理完成后提交同步确认,并记录下同步到的位置。2.如权利要求1所述的数据同步系统,其特征是,还包括:容灾报警系统:用于监听所述主服务器,解析服务器,从服务器之间的心跳;当服务器之间心跳无法连通时,存活端会继续进行心跳尝试,若尝试次数至预设的最大值任无法连通就去掉这个节点,中断后续流程并发送报警;容灾服务器:当数据同步过程中后续处理流程出现错误,或者规则发生变化时,可更改同步位置重新同步数据。3.一种数据同步方法,其特征是,包括以下步骤...

【专利技术属性】
技术研发人员:杨旭川张桂林
申请(专利权)人:重庆允升科技有限公司
类型:发明
国别省市:重庆,50

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

1