一种分布式数据同步系统及方法

文档序号:9846864阅读:593来源:国知局
一种分布式数据同步系统及方法
【技术领域】
[0001]本发明涉及数据库应用技术领域,特别涉及一种分布式数据同步系统及方法。
【背景技术】
[0002]大型企业的不同分支机构分布在不同的地区,而现代企业都要求信息化统一管理。基于此要求,目前通常有两种实现方案。一为单数据库方式,即总公司和分支机构都使用同一数据库;二为多数据库方式,即每个分支机构都使用自己独立的数据库,再将分支机构数据库里的数据与总公司数据库里的数据同步。
[0003]其中,单数据库方式的优点是数据及时,但缺点是一旦公网出现问题,将导致系统无法正常使用,并且所有的性能压力全部集中在总公司方。多数据库方式的优点是不受公网情况影响,并且性能压力分散在各个分支机构,缺点是总公司不能实时了解分支机构的数据,并且总公司与分支机构的数据在公网同步面临数据泄漏风险。

【发明内容】

[0004]本发明解决的问题在于提供一种分布式数据同步系统及方法,数据更新及时,且实现了压力均衡,降低了对服务器的要求,减少了对服务器的成本投入,同时,数据传输量小,节约通信流量,减轻通信负担。
[0005]为解决上述技术问题,本发明的实施方式提供了一种分布式数据同步方法,应用于分布式数据同步系统,所述分布式数据同步系统包含服务器总站与若干服务器子站;所有所述服务器子站分别与所述服务器总站通信连接;所述服务器总站为数据发送端,所述服务器子站为数据接收端;或者,所述服务器总站为数据接收端,所述服务器子站为数据发送端;
[0006]所述分布式数据同步方法包含以下步骤:
[0007]数据发送端实时检测待同步的数据的状态,并仅将数据更新日志按照预设的数据格式发送至数据接收端;其中,所述待同步的数据包含若干数据项;所述数据更新日志中包含数据发送端中状态更新的数据项;
[0008]所述数据接收端实时地接收来自所述数据发送端的数据,并将所述数据更新日志中的数据项赋值给数据接收端中相应的数据项,使数据接收端与数据发送端数据一致;其中,所述数据接收端的数据项与所述数据发送端的数据项一一对应。
[0009]本发明的实施方式还提供了一种分布式数据同步系统,所述分布式数据同步系统包含服务器总站与若干服务器子站;所有所述服务器子站分别与所述服务器总站通信连接;所述服务器总站为数据发送端,所述服务器子站为数据接收端;或者,所述服务器总站为数据接收端,所述服务器子站为数据发送端;
[0010]所述数据发送端,用于实时检测待同步的数据的状态,并仅将数据更新日志按照预设的数据格式发送至数据接收端;其中,所述待同步的数据包含若干数据项;所述数据更新日志中包含数据发送端中状态更新的数据项;[0011 ]所述数据接收端,用于实时地接收来自所述数据发送端的数据,并将所述数据更新日志中的数据项赋值给数据接收端中相应的数据项,使数据接收端与数据发送端数据一致;其中,所述数据接收端的数据项与所述数据发送端的数据项一一对应。
[0012]本发明实施方式相对于现有技术而言,由于服务器总站可以实时地向服务器子站发送数据,服务器子站也可以实时地向服务器总站发送数据,这样,无论服务器总站还是服务器子站数据更新都很及时,而且,由于服务器总站与各个服务器子站之间只将状态更新的数据项发送至对方,即服务器总站与各个服务器子站之间只交互状态更新的数据,所以,即使服务器总站与各个服务器子站之间出现通信中断,服务器总站与各个服务器子站将各自分摊一部分压力,实现了压力均衡,降低了对服务器的要求,减少了对服务器的成本投入;同时,由于服务器总站与各个服务器子站之间只交互状态更新的数据,数据传输量小,可以节约通信流量、减轻通信负担。
[0013]进一步地,在所述数据发送端将所述数据更新日志按照预设的数据格式发送至数据接收端的步骤中,所述数据发送端将所有状态更新的数据更新日志按照预先配置的数据格式逐一发送至所述数据接收端。通过分包单独传输,降低了服务器子站对通信的速度和稳定性要求,减少了对通信的成本投入。
[0014]进一步地,在所述数据发送端将所有数据更新日志按照预先配置的数据格式逐一发送至所述数据接收端的步骤中,所述数据发送端将所有数据更新日志分别进行加密后发送至所述数据接收端;在所述数据接收端实时地接收来自所述数据发送端的数据,并将所述数据更新日志中的数据项赋值给数据接收端中相应的数据项的步骤中,包含以下子步骤:所述数据接收端对接收的数据包进行解密,得到所述数据更新日志;所述数据接收端读取解密后的所述数据更新日志;所述数据接收端执行所述数据更新日志,使所述数据接收端与所述数据发送端中相应的数据项一致。通过对发送的数据进行加密,可以确保发送的数据通过公网的传输安全性,因此节省了搭建VPN(虚拟专用网络)所需设备的成本投入。
[0015]进一步地,所述数据发送端将所有数据更新日志按照预先配置的数据格式逐一发送至所述数据接收端的步骤中,还包含以下步骤:将加密后的数据更新日志压缩成数据包,并发送至所述数据接收端;在所述数据接收端对接收的数据包进行解密的步骤之前,包含以下步骤:所述数据接收端对接收的数据包进行解压缩。对发送的数据进行压缩后再进行传输,可以降低传输的负担,降低服务器子站对通信的速度和稳定性要求。
[0016]进一步地,在所述数据接收端实时地接收来自所述数据发送端的数据的步骤中,包含以下步骤:记录接收的数据包信息;其中,所述数据包信息包含接收端的数据请求标识ID、数据包数量、已接收的数据包序号;如果在所述数据接收端接收来自所述数据发送端的数据时发生数据传输中断的情况,则所述数据接收端保存已接收的数据,并在恢复数据传输后根据记录的数据包信息继续接收未接收的数据。在接收数据时,实时保存接收的数据,并记录接收的数据包信息,以避免发生数据传输中断,并在恢复数据传输后根据记录的数据包信息继续接收未接收的数据,即实现了断点续传功能,这样,可以避免数据漏传数据以及数据重复传输。
【附图说明】
[0017]图1是根据本发明第一实施方式中的分布式数据同步系统结构框图;
[0018]图2是根据本发明第一实施方式的分布式数据同步方法流程图;
[0019]图3是根据本发明第二实施方式的分布式数据同步方法流程图。
【具体实施方式】
[0020]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
[0021]本发明的第一实施方式涉及一种分布式数据同步方法,应用于分布式数据同步系统。在本实施方式中,分布式数据同步系统,具体如图1所示,包含服务器总站与若干服务器子站;所有服务器子站分别与服务器总站通信连接。比如,服务器总站可以用于管理总公司的数据,各个服务器子站可以分别还用于管理总公司下属的子公司的数据。而且,服务器总站可以为数据发送端,服务器子站为数据接收端,或者,服务器总站可以为数据接收端,月艮务器子站为数据发送端。即,服务器总站可以向服务器子站发送数据,服务器子站也可以向服务器总站发送数据。
[0022]在本实施方式中,数据发送端实时检测待同步的数据的状态,并仅将数据更新日志按照预设的数据格式发送至数据接收端;其中,待同步的数据包含若干数据项;数据更新日志中包含数据发送端中状态更新的数据项。数据接收端实时地接收来自数据发送端的数据,并将数据更新日志中的数据项赋值给数据接收端中相应的数据项,使数据接收端与数据发送端数据一致,也就是,
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1