一种数据库数据同步装置、系统及方法制造方法及图纸

技术编号:13921948 阅读:104 留言:0更新日期:2016-10-27 22:51
本发明专利技术提供了一种数据库数据同步装置、系统及方法,该装置包括:触发器、第一消息队列、第一同步单元,传输单元以及第二同步单元;触发器,用于实时捕获源数据库的数据变化信息,并实时发送数据变化信息至第一消息队列;第一消息队列,用于存储触发器发送的数据变化信息;第一同步单元,用于实时从第一消息队列中获取数据变化信息,以及利用数据变化信息获取源数据库中对应的完整信息内容,并实时发送完整信息内容至传输单元;传输单元,用于实时接收第一同步单元发送的完整信息内容,并实时发送完整信息内容至第二同步单元;第二同步单元,用于实时接收传输单元发送的完整信息内容,实时同步更新完整信息内容至目标数据库,具有更高的实时性。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种数据库数据同步装置、系统及方法
技术介绍
目前,随着信息技术的飞速发展,企业信息化建设的不断深入,企业业务系统的数量也在不断增加。随之产生,各业务系统之间数据同步,各子业务系统与核心业务系统之间数据同步。因此,诸如上述场景中各数据库之间的数据同步需求不断出现。Oracle数据库系统作为目前世界上流行的关系数据库管理系统,使用方便、功能强,适用于各类大、中、小、微机环境。Oracle数据库数据同步现有方式是利用Oracle数据库的联机重做日志,这个日志记录着数据库所做的修改。在归档模式下,当发生日志切换的时候,被切换的日志会进行归档,此时这个日志将数据同步到目标数据库中,该方式要求源数据库必须在归档模式下运行,并且数据同步实时性不高。
技术实现思路
本专利技术实施例提供了一种数据库数据同步装置、系统及方法,具有更高的数据同步实时性。第一方面,本专利技术一个实施例提供了一种数据库数据同步装置,该装置包括:触发器、第一消息队列、第一同步单元,传输单元以及第二同步单元,其中,所述触发器、所述第一消息队列以及所述第一同步单元位于源数据库侧;所述第二同步单元位于目标数据库侧;所述触发器,用于实时捕获所述源数据库的数据变化信息,并实时发送所述数据变化信息至所述第一消息队列;所述第一消息队列,用于存储所述触发器发送的所述数据变化信息;所述第一同步单元,用于实时从所述第一消息队列中获取所述数据变化信息,以及利用所述数据变化信息获取所述源数据库中对应的完整信息内容,并实时发送所述完整信息内容至传输单元;所述传输单元,用于实时接收所述第一同步单元发送的所述完整信息内容,并实时发送所述完整信息内容至所述第二同步单元;所述第二同步单元,用于实时接收所述传输单元发送的所述完整信息内容,并实时同步更新所述完整信息内容至目标数据库。优选地,所述传输单元包括:第二消息队列、第三消息队列、消息发送服务单元、消息接收服务单元,其中,所述第二消息队列和所述消息发送服务单元位于源数据库侧;所述第三消息队列和所述消息接收服务单元位于目标数据库侧;所述第一同步单元,用于实时将所述完整信息内容发送至所述第二消息队列中;所述第二消息队列,用于存储所述第一同步单元发送的所述完整信息内容;所述消息发送服务单元,用于实时从所述第二消息队列中获取所述完整信息内容,并实时发送给所述消息接收服务单元;所述消息接收服务单元,用于接收所述消息发送服务单元发送的所述完整信息内容,并实时发送所述完整信息内容至所述第三消息队列;所述第三消息队列,用于存储所述消息接收服务单元发送的所述完整信息内容。优选地,所述触发器,根据实时捕获的所述源数据库的所述数据变化信息的先后顺序,按照先捕获先发送的顺序发送所述数据变化信息至所述第一消息队列;所述第一消息队列,根据所述触发器发送的所述数据变化信息的先后顺序,按照先发送先储存的顺序储存所述触发器发送的所述数据变化信息;所述第一同步单元,根据所述第一消息列队的所述数据变化信息储存的先后顺序,按照先储存先获取的顺序从所述第一消息列队获取所述数据变化信息,并利用所述数据变化信息获取所述源数据库中对应的完整信息内容,并实时发送所述完整信息至传输单元。优选地,所述第一同步单元,获取所述第一消息列队的所述数据变化信息,利用所述数据变化信息以ROWID为查询条件获取所述数据变化信息对应的完整信息内容,并以数据格式发送给所述第二消息队列。第二方面,本专利技术另一个实施例还提供了一种数据库数据同步系统,该系统包括:上述任一所述的数据库数据同步装置、源数据库和目标数据库。第三方面,本专利技术又一个实施例还提供了一种利用上述任一所述的数据库数据同步装置进行数据库数据同步的方法,在源数据库中建立触发器,包括:所述触发器实时捕获所述源数据库中的数据变化信息,并实时发送所述数据变化信息至第一消息队列;所述第一消息队列实时存储所述触发器发送的所述数据变化信息;所述第一同步单元实时从所述第一消息列队获取所述数据变化信息,利用所述数据变化信息获取所述源数据库中对应的完整信息内容,并实时发送所述完整信息内容至传输单元;所述传输单元实时接收所述第一同步单元发送的所述完整信息内容,并实时发送所述完整信息内容至第二同步单元;所述第二同步单元实时接收所述传输单元发送的所述完整信息内容,并实时同步更新所述完整信息内容至目标数据库。优选地,所述并实时发送所述完整信息内容至传输单元,及所述的所述传输单元实时接收所述第一同步单元发送的所述完整信息内容,并实时发送所述完整信息内容至第二同步单元,包括:实时发送所述完整信息内容至第二消息队列;所述第二消息队列存储所述第一同步单元发送的所述完整信息内容;消息发送服务单元,实时从所述第二消息队列中获取所述完整信息内容,并实时发送给消息接收服务单元;所述消息接收服务单元接收所述消息发送服务单元发送的所述完整信息内容,并实时发送所述完整信息内容至第三消息队列;所述第三消息队列存储所述消息接收服务单元发送的所述完整信息内容。优选地,所述触发器实时捕获所述源数据库中的数据变化信息,并实时发送所述数据变化信息至第一消息队列,包括:所述触发器实时捕获所述源数据库中的数据变化信息,并按照先捕获先发送的顺序发送所述数据变化信息至所述第一消息队列。优选地,所述的所述第一同步单元实时获取所述第一消息列队的所述数据变化信息,利用所述数据变化信息获取所述源数据库中对应的完整信息内容,并实时发送所述完整信息内容至传输单元,包括;所述第一同步单元,根据获取所述第一消息列队的所述数据变化信息的先后顺序,按照获取所述数据变化信息的先后顺序利用所述数据变化信息获取所述源数据库中对应的完整信息内容,并通过数据格式以先获取先发送的顺序发送至传输单元。优选地,所述的所述第一同步单元实时获取所述第一消息列队的所述数据变化信息,利用所述数据变化信息获取所述源数据库中对应的完整信息内容,并实时发送所述完整信息内容至传输单元,包括:所述第一同步单元实时获取所述第一消息列队的所述数据变化信息,利用所述数据变化信息以ROWID为查询条件获取所述数据变化信息对应的完整信息内容,并实时以数据格式发送给传输单元。本专利技术实施例提供了一种数据库数据同步装置、系统及方法,通过在源数据库中建立触发器捕获数据变化信息,并实时发送数据变化信息至第一消息队列,第一消息列队实时存储送数据变化信息,第一同步单元实时获取第一消息列队实时存储的送数据变化信息,并通过数据变化信息获取与数据变化信息对应的完整信息内容,然后将完整信息内容发送给传输单元,通过传输单元将完整信息内容发送至目标数据库的第二同步单元,目标数据库的第二同步单元接收传输单元发送的完整信息内容并实时同步更新完整信息内容至目标数据库。本方案实现了源数据库数据发送变化就会实时同步至目标数据库,相对于现有技术中要求源数据库必须在归档模式下运行,大大提高了数据同步的实时性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图本文档来自技高网...

【技术保护点】
一种数据库数据同步装置,其特征在于,包括:触发器、第一消息队列、第一同步单元,传输单元以及第二同步单元,其中,所述触发器、所述第一消息队列以及所述第一同步单元位于源数据库侧;所述第二同步单元位于目标数据库侧;所述触发器,用于实时捕获所述源数据库的数据变化信息,并实时发送所述数据变化信息至所述第一消息队列;所述第一消息队列,用于存储所述触发器发送的所述数据变化信息;所述第一同步单元,用于实时从所述第一消息队列中获取所述数据变化信息,以及利用所述数据变化信息获取所述源数据库中对应的完整信息内容,并实时发送所述完整信息内容至传输单元;所述传输单元,用于实时接收所述第一同步单元发送的所述完整信息内容,并实时发送所述完整信息内容至所述第二同步单元;所述第二同步单元,用于实时接收所述传输单元发送的所述完整信息内容,并实时同步更新所述完整信息内容至目标数据库。

【技术特征摘要】
1.一种数据库数据同步装置,其特征在于,包括:触发器、第一消息队列、第一同步单元,传输单元以及第二同步单元,其中,所述触发器、所述第一消息队列以及所述第一同步单元位于源数据库侧;所述第二同步单元位于目标数据库侧;所述触发器,用于实时捕获所述源数据库的数据变化信息,并实时发送所述数据变化信息至所述第一消息队列;所述第一消息队列,用于存储所述触发器发送的所述数据变化信息;所述第一同步单元,用于实时从所述第一消息队列中获取所述数据变化信息,以及利用所述数据变化信息获取所述源数据库中对应的完整信息内容,并实时发送所述完整信息内容至传输单元;所述传输单元,用于实时接收所述第一同步单元发送的所述完整信息内容,并实时发送所述完整信息内容至所述第二同步单元;所述第二同步单元,用于实时接收所述传输单元发送的所述完整信息内容,并实时同步更新所述完整信息内容至目标数据库。2.根据权利要求1所述的装置,其特征在于,所述传输单元包括:第二消息队列、第三消息队列、消息发送服务单元、消息接收服务单元,其中,所述第二消息队列和所述消息发送服务单元位于源数据库侧;所述第三消息队列和所述消息接收服务单元位于目标数据库侧;所述第一同步单元,用于实时将所述完整信息内容发送至所述第二消息队列中;所述第二消息队列,用于存储所述第一同步单元发送的所述完整信息内容;所述消息发送服务单元,用于实时从所述第二消息队列中获取所述完整信息内容,并实时发送给所述消息接收服务单元;所述消息接收服务单元,用于接收所述消息发送服务单元发送的所述完整信息内容,并实时发送所述完整信息内容至所述第三消息队列;所述第三消息队列,用于存储所述消息接收服务单元发送的所述完整信息内容。3.根据权利要求1所述的装置,其特征在于,所述触发器,根据实时捕获的所述源数据库的所述数据变化信息的先后顺序,按照先捕获先发送的顺序发送所述数据变化信息至所述第一消息队列;所述第一消息队列,根据所述触发器发送的所述数据变化信息的先后顺序,按照先发送先储存的顺序储存所述触发器发送的所述数据变化信息;所述第一同步单元,根据所述第一消息列队的所述数据变化信息储存的先后顺序,按照先储存先获取的顺序从所述第一消息列队获取所述数据变化信息,并利用所述数据变化信息获取所述源数据库中对应的完整信息内容,并实时发送所述完整信息至传输单元。4.根据权利要求1或3任一所述的装置,其特征在于,所述第一同步单元,获取所述第一消息列队的所述数据变化信息,利用所述数据变化信息以ROWID为查询条件获取所述数据变化信息对应的完整信息内容,并以数据格式发送给所述第二消息队列。5.一种数据库数据同步系统,其特征在于,包括:权利要求1至4任一所述的数据库数据同步装置、源数据...

【专利技术属性】
技术研发人员:李朝铭庞栋
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:山东;37

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

1