用于数据同步的方法、设备和系统技术方案

技术编号:11158242 阅读:61 留言:0更新日期:2015-03-18 14:14
本发明专利技术提供了用于在多个数据库之间同步数据的方法、设备和系统。所述多个数据库包括本地数据库和至少一个远程数据库。所述方法包括:a)监视至少一个中间设备上是否存在待同步的由所述至少一个远程数据库中的一个或多个远程数据库上传的远程数据文件;b)在发现所述至少一个中间设备上存在待同步的远程数据文件的情况下,从所述至少一个中间设备获取所述远程数据文件;c)根据所述远程数据文件的文件头,获取所述远程数据文件的远程数据正文;以及d)根据所述远程数据正文来处理所述本地数据库中的相应数据。

【技术实现步骤摘要】

本专利技术涉及数据库领域,更具体地涉及用于在数据库之间同步数据的方法、设备和系统。
技术介绍
随着社会信息化的发展,人们需要进行各种信息的交流、传输和存储,而人们使用的电脑、手机、PDA等设备上的信息具有一定的独立性。为了方便我们将这些非常散乱的数据进行合理的管理,需要将这些信息有机地统一起来,以便在处理完数据之后能进行有效使用。因此,就需要数据库来维护和管理这些数据。数据库是按照数据结构来组织、存储和管理数据的软件。数据库中的数据通常是以与现实应用相关的模型来进行组织的。随着需要存储和管理的数据的规模越来越大以及网络带宽的限制,分布式数据库已经成为了数据库中的主流。在分布式数据库中,数据以冗余方式分散在不同的节点上。例如,在第一节点上存储和管理数据库的第一部分数据D1,在第二节点上存储和管理数据库的第二部分数据D2,…在第N个节点上存储和管理数据库的第N部分数据DN,且D1、D2、…、DN的并集是该分布式数据库的数据全集,而D1、D2、…、DN中任意两个之间可以存在一定的冗余,即存在一定量相同的数据。作为一个极端情况,D1、D2、…、DN可以完全相同,即它们中的每一个均保存了该数据库的所有数据内容。然而,为了使得分布式数据库中各节点的冗余数据保持一致,或为了方便用户能够访问该分布式数据库中最接近用户的节点(该节点可能不具有用户所想要访问的数据部分),因此在分布式数据库中,不可避免地要涉及到不同节点之间的数据同步。在现有技术中,公开了一种通过事件来触发对不同节点的数据进行同步的方案。该同步方案实现在具有不同种类数据库节点、不同数据模型的环境下。其需要实现将一个或多个源数据库(源节点)及时同步到一个或多个目标数据库(目标节点),以及大批量数据的快速同步。该方法包括:当源数据库中的数据变更时,产生请求同步的变更事件;当检测到变更事件时,就触发推送数据模块将这次变更的数据按照目标节点的接收数据模块的数据结构组成数据包,并发给该接收数据模块;该接收数据模块经过数据包解析后,根据变更数据的内容来操作相应的目标数据库。然而,该方案的问题在于:(1)需要通过变更事件触发才能进行数据同步;(2)其次,如果变更事件过多,数据同步将非常频繁,极大地浪费了系统和网络资源;以及(3)数据安全度不高。
技术实现思路
为了解决上述问题,提供了根据本专利技术的用于数据同步的方法、设备和系统。根据本专利技术的第一方面,提供了一种用于同步多个数据库的方法。所述多个数据库包括本地数据库和至少一个远程数据库。所述方法包括:a)在预定同步时间,基于所述本地数据库中的数据,生成本地数据正文;b)合并所述本地数据正文和基于所述本地数据正文生成的文件头,以形成本地数据文件;以及c)向至少一个中间设备上传所述本地数据文件,供所述至少一个远程数据库在另一预定同步时间从所述至少一个中间设备获取所述本地数据文件。在一些实施例中,所述本地数据库中的数据包括以下至少一项:保单号、移动设备的市场价格、延保期限、延保价格、销售日期、用户姓名、用户邮箱、用户电话号码、用户所在国家、用户购买移动设备所在国家、用户购买货币、移动设备的型号、序列号、以及付款方式。在一些实施例中,所述本地数据库中的数据是所述本地数据库中在指定时间段期间新增、修改和/或删除的数据。在一些实施例中,步骤a)包括:创建本地空白数据文件;以及在所述本地空白数据文件中,以预先规定的数据格式将所述本地数据库中的数据填入所述本地空白数据文件中,以形成所述本地数据正文。在一些实施例中,步骤b)包括:计算所述本地数据正文的数字摘要;以及至少根据所述数字摘要、所述本地数据文件的预期文件名、以及所述本地数据正文的大小,生成所述本地数据文件的文件头。在一些实施例中,所述数字摘要是MD5值。在一些实施例中,在步骤b)和c)之间,所述方法还包括:对所述本地数据文件加密。在一些实施例中,步骤c)包括:使用加密传输协议向所述至少一个中间设备上传所述本地数据文件。在一些实施例中,所述加密传输协议是安全文件传输协议(SFTP)。在一些实施例中,在步骤c)中,如果上传失败,则进行预定次数的重传。在一些实施例中,在步骤c)中,如果所述重传全部失败,则向相关人员发送相应的告警邮件。在一些实施例中,在步骤c)之后,所述方法还包括:在所述本地数据库中记录与本次同步相关的历史记录。在一些实施例中,所述历史记录包括以下至少一项:所述本地数据文件的文件名、所述本地数据文件的创建时间、所述本地数据正文的数字摘要值、上传是否成功、上传时间、在所述至少一个中间设备上存放所述本地数据文件的存储目录、以及存放所述本地数据文件的本地存储目录。根据本专利技术的第二方面,提供了一种用于同步多个数据库的设备,所述多个数据库包括至少一个远程数据库和由所述设备承载的本地数据库。所述设备包括:生成单元,用于在预定同步时间,基于所述本地数据库中的数据,生成本地数据正文;合并单元,用于合并所述本地数据正文和基于所述本地数据正文生成的文件头,以形成本地数据文件;以及上传单元,用于向至少一个中间设备上传所述本地数据文件,供所述至少一个远程数据库在另一预定同步时间从所述至少一个中间设备获取所述本地数据文件。在一些实施例中,所述本地数据库中的数据包括以下至少一项:保单号、移动设备的市场价格、延保期限、延保价格、销售日期、用户姓名、用户邮箱、用户电话号码、用户所在国家、用户购买移动设备所在国家、用户购买货币、移动设备的型号、序列号、以及付款方式。在一些实施例中,所述本地数据库中的数据是所述本地数据库中在指定时间段期间新增、修改和/或删除的数据。在一些实施例中,所述生成单元还用于:创建本地空白数据文件;以及在所述本地空白数据文件中,以预先规定的数据格式将所述本地数据库中的数据填入所述本地空白数据文件中,以形成所述本地数据正文。在一些实施例中,所述合并单元还用于:计算所述本地数据正文的数字摘要;以及至少根据所述数字摘要、所述本地数据文件的预期文件名、以及所述本地数据正文的大小,生成所述本地数据文件的文件头。在一些实施例中,所述数字摘要是MD5值。在一些实施例中,所述设备还包括:加密单元,用于对所述本地数据文件加密。在一些实施例中,所述上传单元还用于:使用加密传输协本文档来自技高网
...
用于数据同步的方法、设备和系统

【技术保护点】
一种用于同步多个数据库的方法,所述多个数据库包括本地数据库和至少一个远程数据库,所述方法包括:a)监视至少一个中间设备上是否存在待同步的由所述至少一个远程数据库中的一个或多个远程数据库上传的远程数据文件;b)在发现所述至少一个中间设备上存在待同步的远程数据文件的情况下,从所述至少一个中间设备获取所述远程数据文件;c)根据所述远程数据文件的文件头,获取所述远程数据文件的远程数据正文;以及d)根据所述远程数据正文来处理所述本地数据库中的相应数据。

【技术特征摘要】
1.一种用于同步多个数据库的方法,所述多个数据库包括本地数
据库和至少一个远程数据库,所述方法包括:
a)监视至少一个中间设备上是否存在待同步的由所述至少一个远
程数据库中的一个或多个远程数据库上传的远程数据文件;
b)在发现所述至少一个中间设备上存在待同步的远程数据文件的
情况下,从所述至少一个中间设备获取所述远程数据文件;
c)根据所述远程数据文件的文件头,获取所述远程数据文件的远
程数据正文;以及
d)根据所述远程数据正文来处理所述本地数据库中的相应数据。
2.根据权利要求1所述的方法,其中,所述远程数据正文包括以
下至少一项:理赔状态信息、派工信息、物流信息、保单号、新移动
设备的设备标识、以及旧移动设备的设备标识。
3.根据权利要求1所述的方法,其中,步骤d)中的处理的类型包
括:新增数据、修改数据、以及删除数据。
4.根据权利要求1所述的方法,其中,步骤c)还包括:计算所述
远程数据正文的数字摘要;以及比较计算出的数字摘要和所述远程数
据文件的文件头中包括的数字摘要:如果两个数字摘要匹配,则确定
所述远程数据正文未被篡改或丢失并继续后续步骤;否则确定所述远
程数据正文已被篡改或丢失,所述方法直接结束。
5.根据权利要求4所述的方法,其中,所述数字摘要是MD5值。
6.根据权利要求1所述的方法,其中,在步骤b)和c)之间,所
述方法还包括:对所述远程数据文件解密。
7.根据权利要求1所述的方法,其中,步骤b)包括:使用加密传
输协议从所述至少一个中间设备获取所述远程数据文件。
8.根据权利要求7所述的方法,其中,所述加密传输协议是安全
文件传输协议(SFTP)。
9.根据权利要求1所述的方法,其中,在步骤b)中,如果获取所
述远程数据文件失败,则进行预定次数的重传。
10.根据权利要求9所述的方法,其中,在步骤b)中,如果所述
重传全部失败,则向相关人员发送相应的告警邮件。
11.根据权利要求1所述的方法,其中,在步骤b)之后,所述方
法还包括:在所述本地数据库中记录与本次同步相关的历史记录。
12.一种用于同步多个数据库的设备,所述多个数据库包括至少
一个远程数据库和由所述设备承载的本地数据库,所述设备包括:
监视单元,用于监视至少一个中间设备上是否存在待同步的由所
述至少一个远程数据库中的一个或多个远程...

【专利技术属性】
技术研发人员:王卓然
申请(专利权)人:北京网秦天下科技有限公司
类型:发明
国别省市:北京;11

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

1