一种基于高速缓存的数据中心间广域数据同步方法技术

技术编号:8536709 阅读:189 留言:0更新日期:2013-04-04 21:31
本发明专利技术公开了一种基于高速缓存的数据中心间广域数据同步方法,其特征在于包括以下步骤:(1)同步系统的初始化;本地数据中心的服务器根据配置将系统访问频繁的数据装入内存,并与需要同步的各个远程数据中心通信,比较数据的差异,然后进行同步;(2)数据的读写访问;对数据的访问均通过接口直接对内存中的缓存进行读写,后台的服务程序有一个或多个独立线程将内存中的数据写入硬盘;(3)数据的远程同步;周期性的将接口调用修改的内容从内存中直接同步到远程数据中心,远程数据中心执行同样的接口调用即完成数据同步。本发明专利技术具有同步效率高、占用带宽小、可靠性高、可移植性好、部署简单的优点,解决了系统运行时其他异常产生的不一致问题。

【技术实现步骤摘要】

本专利技术涉及,属于通信

技术介绍
现有的实时数据管理系统,一般是以一个数据中心为单位,进行数据的分布式管理。即使有远程数据中心的同步功能,也有同步时间长,带宽占用大等缺点,而且往往系统非常庞杂,给用户带来的投入成本大。
技术实现思路
为解决现有技术上的不足,本专利技术目的是在于是提供一种同步效率高、占用带宽 小、可靠性高、可移植性好、部署简单的数据中心间广域数据同步方法。为实现上述目的,本专利技术的技术方案为 。本专利技术以远程数据中心同步为主要目的,提高本地数据访问效率为次要目的,以增量更新、增量同步和文件备份为方法,提供了一种本地和远程访问效率高,同步传输的数据量小,在远程服务器离线一段时间的条件下也能保证系统一致性的数据中心间广域数据同步方法。本专利技术采用以下的技术方案来实现本专利技术的,其特征在于包括以下步骤 (1)同步系统的初始化服务程序启动后,根据配置将系统访问频繁的数据预先装入内存。并与需要同步的数据中心进行通信,比较正本与副本的差别,或有无副本,然后进行同步。比较前首先对正本和副本按照同样的策略进行分片,比较每个分片的差别,然后对有差别的分片进行同步; (2)数据的读写访问对数据的访问皆通过系统提供的接口直接对内存中的缓存进行读写,后台的服务程序有一个或多个独立线程将内存中的缓存写入硬盘。后台的服务线程采取周期性将通过接口修改的内容批量写入硬盘,保证数据的持久性,不是每次修改立刻写入,也不是周期性的将所有数据写入硬盘。(3)数据的远程同步周期性将通过接口修改的内容从内存中直接同步到远程数据中心,不是每次修改立刻同步,也不是周期性的同步所有数据。若远程接收的服务器离线,本地服务器会将此期间的大量内存修改保存在本地文件中。待网络恢复时将文件发送到远程数据中心进行更新,保证系统的可靠性。(4)数据服务器的双机互备备机搭建并初始化完成后,高速缓存也与主机一致。此时开始接收数据的同步更新,通过网络从主机接收修改的内容同步到内存和硬盘。当主机宕机后备机立即接替承担服务任务即升为主机,并继续与远程数据中心的服务器进行同步。待故障服务器修复后可人工选择继续担任主机角色执行远程同步任务或恢复到备机状态。上述功能均由计算机程序实现,能够运行在各种UNIX和Linux、Windows操作系统上,且不依赖操作系统自带的软件。5法的自动切换和主备竞争机制,自动判断是否进行应用状态的切换。流本专利技术通过以上步骤,可达以下技术效果 1、同步效率高,只针对数据的修改部分进行同步; 2、占用带宽小,采用数据的分片比较方式,避免了初始化、正常同步或异常恢复时传送所有数据; 3、可靠性高,若远程主机离线可将修改存在本地,待网络恢复继续同步。且采用双机互备技术; 4、可移植性好,所有功能完全是有计算机程序实现,可运行在各种UNIX和Linux、Windows操作系统上,不需要借助任何操作系统自带的软件; 5、具有跨平台能力,源端和目的端可部署在不同操作系统的服务器上; 6、需预加载的数据,高速缓存的上限,分片的大小等参数编程可调; 7、部署简单,只需部署一个服务程序、一个动态库、一个配置文件即可运行。附图说明图1是本专利技术中数据中心间广域数据同步流程 图2是本专利技术中数据读写访问流程 图3本专利技术中系统初始化流程图。具体实施例方式下面结合附图对本专利技术的基于高速缓存的数据中心间广域数据同步方法作进一步的说明。参见图1和图2,本专利技术,其以远程数据中心同步为主要目的,提高本地数据访问效率为次要目的,以增量更新、增量同步和文件备份为方法,而提供了一种本地和远程访问效率高,同步传输的数据量小,在远程服务器离线一段时间的条件下也能保证系统一致性的数据中心间广域数据同步方法,其包括以下步骤 (O同步的对象全部为内存中的实时数据,对磁盘上的文件进行同步需先读入内存; (2)对内存数据的同步采用增量同步与全同步结合的方式,数据同步系统提供数据访问接口给上层应用程序使用,上层应用程序通过此接口修改内存中的实时数据,同步系统将接口调用修改的内容同步到远程数据中心,远程数据中心执行同样的接口调用即完成数据同步; (3)远程数据中心的接收服务器离线后,本地数据中心的服务器会将此期间的内存修改保存在本地文件中形成备份。待网络恢复时将此文件发送到远程数据进行更新,保证系统的可靠性; (4)内存中的数据采用增量更新的方式写入硬盘,保证数据的持久性。只将通过接口修改的内容写入硬盘,而不是周期性的将数据全部写入硬盘;(5)远程数据中心采用增量更新到硬盘的方式,将接收到的修改数据调用接口写入硬盘,而不是周期性的将所有数据写入硬盘; (6)初始化数据同步系统时,本地和远程的数据中心将数据分片计算出MD5散列值,通过分片的计算结果比较两地的数据是否一致。若不一致则立即将分片的同步到远程,解决上次系统运行时其他异常产生的不一致问题。为更加进一步的阐述本专利技术,现具体实施例如下 图1是本专利技术中数据中心间广域数据同步流程图。对于某个功能模块的数据集Di,在同步周期未到来时接收了一系列修改操作Mi (j),操作都被保存在待同步队列Ls(i)中。此时服务程序检查与远程数据中心的网络状态,若中 断则直接将队列Ls(i)的内容保存到文件匕(10中。若状态正常且同步周期到达则将队列内容发送到远程数据中心。远程数据中心全部接收完毕则发送回同步成功的确认消息。若没有收到确认则同样将队列Ls (i)的内容保存到文件Fi (k)中。多个同步周期过去后网络均不正常则会产生多个备份文件F”若同步成功远程数据中心通过调用接口将修改操作Mi (j)同样作用于数据集D,⑴。图2是本专利技术中数据读写访问流程图。对于某个功能模块的数据集Di,接收到修改操作Mi (j),立刻更新高速缓存。且在回写周期未到来时,这些操作都被保存在待回写队列Lw(i)中。在回写周期到达时将队列Lw(i)中的修改内容全部写入硬盘。若是只读操作则不会操作回写队列,直接读取高速缓存中的数据。图3本专利技术中系统初始化流程图。系统初始化时某个功能模块的数据集Di被载入高速缓存,并被分为η片进行MD5值计算。然后将η个分片的MD5值传输到远程数据中心。假设远程数据中心收到后发现其中第p、q、m块两地不一致,则将编号p、q、m发回源数据中心。本地源数据中心随后将第P、q、m块的数据传输到远程数据中心。远程数据中心调用接口写入高速缓存。每个数据块都完成对比后系统初始化完成。本专利技术只针对数据的修改部分进行同步,提高了同步效率;并占用带宽小,采用数据的分片比较方式,避免了初始化、正常同步或异常恢复时传送所有数据;若远程主机离线可将修改存在本地,待网络恢复继续同步,增加了可靠性。且采用双机互备技术;其具有可移植性好和跨平台能力,所有功能完全是有计算机程序实现,可运行在各种UNIX和Linux、Windows操作系统上,不需要借助任何操作系统自带的软件;源端和目的端可部署在不同操作系统的服务器上。此外,本专利技术可预加载的数据,高速缓存的上限,分片的大小等参数编程可调;而且部署简单,只需部署一个服务程序、一个动态库、一个配置文件即可运行。综上所述,本专利技术是一种同步效率高、占用带宽小、可靠性高、可移植性好、部署简单。本专利技术按照优本文档来自技高网...

【技术保护点】
一种基于高速缓存的数据中心间广域数据同步方法,其特征在于,其包括以下步骤:(1)同步系统的初始化;本地数据中心的服务器根据配置将系统访问频繁的数据装入内存,并与需要同步的各个远程数据中心通信,比较数据的差异,然后进行同步;(2)数据的读写访问;对数据的访问均通过接口直接对内存中的缓存进行读写,后台的服务程序有一个或多个独立线程将内存中的数据写入硬盘;(3)数据的远程同步;周期性的将接口调用修改的内容从内存中直接同步到远程数据中心,远程数据中心执行同样的接口调用即完成数据同步。

【技术特征摘要】
1.一种基于高速缓存的数据中心间广域数据同步方法,其特征在于,其包括以下步骤 (1)同步系统的初始化;本地数据中心的服务器根据配置将系统访问频繁的数据装入内存,并与需要同步的各个远程数据中心通信,比较数据的差异,然后进行同步; (2)数据的读写访问;对数据的访问均通过接口直接对内存中的缓存进行读写,后台的服务程序有一个或多个独立线程将内存中的数据写入硬盘; (3)数据的远程同步;周期性的将接口调用修改的内容从内存中直接同步到远程数据中心,远程数据中心执行同样的接口调用即完成数据同步。2.根据权利要求1所述的基于高速缓存的数据中心间广域数据同步方法,其特征在于在所述步骤(I)中,所述比较数据的差异是正本与副本的数据比较,并通过MD5散列值进行比较;若数据的MD5值与远程不一致则立即从数据正本同步到副本。3.根据权利要求1所述的基于高速缓存的数据中心间广域数据同步方法,其特征在于在所述步骤(2)中,所述数据写入磁盘采用的是增量更新的方式,数据同步系统提供数据访问接口给上层应用程序使用,上层应用程序通过此接口修改内存中的实时数据;后台的服务程序有一个或多个独立线程周期性将通过接口修改的内容批量写入硬盘,用于保证数据的持久性。4.根据权利要求1所述的基于高速缓存的数据中心间广域数据同步方法,其特征在于在所述步骤(3)中,所述远程数据中心采用增量更新到硬盘的方式将接收到的修改内容调用接...

【专利技术属性】
技术研发人员:高原顾文杰任升沙一川
申请(专利权)人:国电南瑞科技股份有限公司
类型:发明
国别省市:

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

1