一种数据库同步的方法和装置制造方法及图纸

技术编号:11794470 阅读:81 留言:0更新日期:2015-07-29 22:40
本发明专利技术实施例涉及数据库技术领域,尤其涉及一种数据库同步的方法和装置,用于提高目标数据库储存的数据表为源数据库储存的全部数据表的部分数据表时的数据同步效率。本发明专利技术实施例中,由于源端中继服务器根据该数据变更事件的源数据表标识号,将数据变更事件保存至源数据表标识号对应的事件队列中,如此,当目标数据库储存的数据表仅为部分源数据库储存的数据表时,即目标数据库仅需同步部分源数据库中的数据表时,由于源端中继服务器对数据变更事件进行了归类,因此提高了源端中继服务器筛选数据变更事件的效率,从而提高了目标数据库储存的数据表为源数据库储存的全部数据表的部分数据表时的数据同步效率。

【技术实现步骤摘要】

本专利技术实施例涉及数据库
,尤其涉及一种数据库同步的方法和装置
技术介绍
电子商务日益深入人心,实时交易系统的数据量也与日俱增,然而单一数据库的处理能力有限,因此需要基于源数据库,按照业务或功能建立多个目标数据库,从而降低对源数据库的访问压力。当源数据库中的某个数据表发生变化时,需要保证关注该数据表的目标数据库中的该数据表与源数据库中的该数据表发生一致的变化,因此需要一个同步装置来实现目标数据库与源数据库之间数据的同步。现有技术中实现目标数据库与源数据库之间数据同步的方法为:设立一独立服务器,同时连接源数据库和目标数据库;通过该独立服务器实时获取源数据库产生的数据变更事件;并将其转换后传输至目标数据库。但是现有技术中目标数据库经常会有多个,且目标数据库可能仅需同步源数据库中的一部分数据表,而非同步源数据库中的所有数据表,此时在上述方案中则需要从独立服务器中存储的大量数据变更事件中筛选目标数据库需同步的数据表对应的数据变更事件。此时,该独立服务器工作量负荷较大,且效率较低。综上所述,亟需一种数据库同步的方法和装置,用于提高目标数据库储存的数据表为源数据库储存的全部数据表的部分数据表时的数据同步效率。
技术实现思路
本专利技术实施例提供一种数据库同步的方法和装置,用于提高目标数据库储存的数据表为源数据库储存的全部数据表的部分数据表时的数据同步效率。本专利技术实施例提供一种数据库同步的方法,包括以下步骤:源端中继服务器实时捕获源数据库产生的数据变更事件;其中,每条数据变更事件至少包括该数据变更事件对应的全局标识号、该数据变更事件对应的源数据库中的源数据表标识号;源端中继服务器根据数据变更事件的源数据表标识号,将数据变更事件保存至源数据表标识号对应的事件队列中;其中,每个源数据库的每个源数据表标识号对应一个事件队列,每个事件队列至少对应一个源数据表标识号,每个事件队列对应一个事件队列标识号;源端中继服务器接收目标端服务器发送的第一请求消息;其中,第一请求消息中携带目标端服务器对应连接的目标数据库需同步的至少一个源数据表标识号对应的事件队列标识号、源数据表标识号对应的数据表已同步的日期最新数据变更事件的第一全局标识号;其中,至少一个目标数据库储存单个源数据库储存的全部数据表中的部分数据表;目标端服务器配置有与目标端服务器连接的目标数据库的配置参数;源端中继服务器根据第一请求消息,从事件队列标识号对应的事件队列中将第一全局标识号之后的数据变更事件携带于第一响应消息中,并将第一响应消息发送给目标端服务器,以使目标端服务器对目标数据库执行同步操作。本专利技术实施例提供一种数据库同步的方法,包括与源数据库连接的源端中继服务器,与源端中继服务器连接的目标端服务器,目标端服务器连接目标数据库;源端中继服务器,包括:第一处理单元,用于实时捕获源数据库产生的数据变更事件;其中,每条数据变更事件至少包括该数据变更事件对应的全局标识号、该数据变更事件对应的源数据库中的源数据表标识号;归类单元,用于根据数据变更事件的源数据表标识号,将数据变更事件保存至源数据表标识号对应的事件队列中;其中,每个源数据库的每个源数据表标识号对应一个事件队列,每个事件队列至少对应一个源数据表标识号,每个事件队列对应一个事件队列标识号;接收单元,用于接收目标端服务器发送的第一请求消息;其中,第一请求消息中携带目标端服务器对应连接的目标数据库需同步的至少一个源数据表标识号对应的事件队列标识号、源数据表标识号对应的数据表已同步的日期最新数据变更事件的第一全局标识号;其中,至少一个目标数据库储存单个源数据库储存的全部数据表中的部分数据表;目标端服务器配置有与目标端服务器连接的目标数据库的配置参数;第二处理单元,用于根据第一请求消息,从事件队列标识号对应的事件队列中将第一全局标识号之后的数据变更事件携带于第一响应消息中,并将第一响应消息发送给目标端服务器,以使目标端服务器对目标数据库执行同步操作。本专利技术实施例中,源端中继服务器实时捕获源数据库产生的数据变更事件,之后根据数据变更事件的源数据表标识号,将数据变更事件保存至源数据表标识号对应的事件队列中,接收目标端服务器发送的第一请求消息之后,根据第一请求消息,从对应的事件队列中将已同步的日期最新数据变更事件的第一全局标识号之后的数据变更事件携带于第一响应消息中发送给目标端服务器,以使目标端服务器对目标数据库执行同步操作,至少一个目标数据库储存单个源数据库储存的全部数据表中的部分数据表;目标端服务器配置有与目标端服务器连接的目标数据库的配置参数。由于源端中继服务器根据该数据变更事件的源数据表标识号,将数据变更事件保存至源数据表标识号对应的事件队列中,如此,当目标数据库储存的数据表仅为部分源数据库储存的数据表时,即目标数据库仅需同步部分源数据库中的数据表时,源端中继服务器则可快速从数据表对应的事件队列中确定出第一全局标识号之后的数据变更事件,并发送给目标端服务器,以使目标端服务器对目标数据库执行同步操作,可见,由于源端中继服务器对数据变更事件进行了归类,因此提高了源端中继服务器筛选数据变更事件的效率,从而提高了目标数据库储存的数据表为源数据库储存的全部数据表的部分数据表时的数据同步效率。进一步由于目标端服务器连接目标数据库,且目标端服务器配置有目标数据库的配置参数,因此,当某个目标数据库发生变动,如新增一个目标数据库时,仅需要修改该新增的目标数据库对应连接的目标端服务器中的配置参数,并重启该目标端服务器即可,因此,其它未进行参数配置修改的目标端服务器不需重启,进而与该未进行参数配置修改的目标端服务器连接的目标数据库的数据同步过程也不会中断,从而实现多个目标数据库与源数据库之间的数据同步,且当某个目标数据库发生变化时,其它目标数据库的数据同步过程不受影响。【附图说明】为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1a为本专利技术实施例提供的方法或装置适用的系统架构示意图;图1b为本专利技术实施例提供的方法或装置适用的系统架构示意图;图1c为本专利技术实施例所提供的方法或装置适用的系统架构示意图;图2为本专利技术实施例提供的一种数据库同步的方法流程示意图;图3为本专利技术实施例还提供一种数据库同步的装置的结构示意图。【具体实施方式】为了使本专利技术的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术的实施例所应用的场景有多种,为更好的理解本方案,此处仅示例性列举以下几种:场景一:源数据库为一个,目标数据库为多个,该源数据库为“写库”,支持相关写操作的事务处理,目标数据库为“读库”,支持业务查询、数据分析等查询操作。实际应用中,需保证该为“写库”的源数据库内容与多个为“读库”的目标数据库的数据内容一致,并需保证目标数据库的内容和源数据库内容同步的及时性和正确性,此时,即可通过本专利技术实施例所提供的方法或装置实现。场景二:源数据库为本文档来自技高网...

【技术保护点】
一种数据库同步的方法,其特征在于,包括以下步骤:源端中继服务器实时捕获源数据库产生的数据变更事件;其中,每条数据变更事件至少包括该数据变更事件对应的全局标识号、该数据变更事件对应的源数据库中的源数据表标识号;所述源端中继服务器根据所述数据变更事件的源数据表标识号,将所述数据变更事件保存至所述源数据表标识号对应的事件队列中;其中,每个源数据库的每个源数据表标识号对应一个事件队列,每个事件队列至少对应一个源数据表标识号,每个事件队列对应一个事件队列标识号;所述源端中继服务器接收目标端服务器发送的第一请求消息;其中,所述第一请求消息中携带所述目标端服务器对应连接的目标数据库需同步的至少一个源数据表标识号对应的事件队列标识号、所述源数据表标识号对应的数据表已同步的日期最新数据变更事件的第一全局标识号;其中,至少一个目标数据库储存单个源数据库储存的全部数据表中的部分数据表;所述目标端服务器配置有与所述目标端服务器连接的目标数据库的配置参数;所述源端中继服务器根据所述第一请求消息,从所述事件队列标识号对应的事件队列中将所述第一全局标识号之后的数据变更事件携带于第一响应消息中,并将所述第一响应消息发送给所述目标端服务器,以使所述目标端服务器对所述目标数据库执行同步操作。...

【技术特征摘要】

【专利技术属性】
技术研发人员:刘胜陈正吴锋海殷舒
申请(专利权)人:联动优势科技有限公司
类型:发明
国别省市:北京;11

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

1