The embodiment of the specification provides a method and device for synchronizing the change information in the database. The method includes, first, receiving data change messages from the database, and the data change message indicates a specific data item in a specific data table that has changed. Then, according to the above data change message, update the record corresponding to the specific data item in the specific mirror table corresponding to the specific data table. Furthermore, the superior table associated with the specified mirror table includes the external key associated with the primary key of the specific mirror table, and then the lower table associated with the superior table is reconnected to generate the updated wide table, the main key of the lower table described in the table and the superior. The external keys of the table are associated. The device corresponds to the above method. Such a method and device can effectively synchronize and update data changes in the database.
【技术实现步骤摘要】
同步数据变更信息的方法及装置
本说明书一个或多个实施例涉及计算机和数据库领域,更具体地,涉及同步数据库中的数据变更信息的方法和装置。
技术介绍
随着互联网的升级,人们越来越多地使用搜索引擎对网络上的海量数据进行搜索。搜索引擎为了进行快速搜索,需要对数据库中的文档建立索引,以便在接收到查询请求时,根据索引快速搜索数据库中的文档。一般地,数据库中存在大量的数据表来记录与文档相关的各种数据项,为了对文档构建索引,通常会将多个数据表进行连接(join),形成一个宽表,基于该宽表来构建索引。随着网络上数据量的激增,数据库中的数据表也急速增加,并且经常性地发生变更。面对海量数据表的频繁变更,如何更有效地将变更信息同步到搜索引擎,如何更新索引,成为有待解决的问题。
技术实现思路
本说明书一个或多个实施例描述了一种方法和装置,能够对数据库中的数据变更进行高效同步,降低更新索引的成本,提高性能和效率。根据第一方面,提供了同步数据库中的变更信息的方法,包括:接收来自数据库的第一数据变更消息,所述第一数据变更消息指示出发生变更的第一数据表中的第一数据项;根据所述第一数据变更消息,在与所述第一数据表对应的第一镜像表中更新与所述第一数据项对应的记录;确定与所述第一镜像表相关联的上级表,所述上级表包含与所述第一镜像表的主键相关联的外键;对所述上级表和与所述上级表相关联的下级表进行重新连接,生成更新的宽表,其中所述下级表的主键与所述上级表的外键相关联。在一种可能的设计中,确定与所述数据表相关联的上级表的步骤包括:确定所述第一镜像表的主键;确定第一主表作为所述上级表,所述第一主表以所述第一镜 ...
【技术保护点】
1.一种同步数据库中的变更信息的方法,包括:接收来自数据库的第一数据变更消息,所述第一数据变更消息指示出发生变更的第一数据表中的第一数据项;根据所述第一数据变更消息,在与所述第一数据表对应的第一镜像表中更新与所述第一数据项对应的记录;确定与所述第一镜像表相关联的上级表,所述上级表包含与所述第一镜像表的主键相关联的外键;对所述上级表和与所述上级表相关联的下级表进行重新连接,生成更新的宽表,其中所述下级表的主键与所述上级表的外键相关联。
【技术特征摘要】
1.一种同步数据库中的变更信息的方法,包括:接收来自数据库的第一数据变更消息,所述第一数据变更消息指示出发生变更的第一数据表中的第一数据项;根据所述第一数据变更消息,在与所述第一数据表对应的第一镜像表中更新与所述第一数据项对应的记录;确定与所述第一镜像表相关联的上级表,所述上级表包含与所述第一镜像表的主键相关联的外键;对所述上级表和与所述上级表相关联的下级表进行重新连接,生成更新的宽表,其中所述下级表的主键与所述上级表的外键相关联。2.根据权利要求1所述的方法,其中,所述确定与所述数据表相关联的上级表包括:确定所述第一镜像表的主键;确定第一主表作为所述上级表,所述第一主表以所述第一镜像表的主键为外键。3.根据权利要求2所述的方法,其中所述确定与所述数据表相关联的上级表包括:确定所述第一主表的主键;确定第二主表作为所述上级表,所述第二主表以所述第一主表的主键为外键。4.根据权利要求1所述的方法,其中,对所述上级表和与所述上级表相关联的下级表进行重新连接包括:确定与所述上级表相关联的下级表;将所述上级表与所述下级表进行连接。5.根据权利要求4所述的方法,其中所述上级表包括第一外键,所述确定与所述上级表相关联的下级表包括:确定第一辅表作为所述下级表,所述第一辅表的主键等于所述第一外键。6.根据权利要求5所述的方法,其中所述第一辅表包括第二外键,所述确定与所述上级表相关联的下级表还包括:确定第二辅表作为所述下级表,所述第二辅表的主键等于所述第二外键。7.根据权利要求4所述的方法,其中将所述上级表与所述下级表进行连接包括:采取内连接、外连接、自然连接之一,对所述上级表和所述下级表进行连接。8.根据权利要求1-7中任一项所述的方法,其中所述上级表和所述下级表分别为所述数据库中对应数据表的镜像表。9.根据权利要求1所述的方法,还包括:在预定时间间隔内接收第二数据变更消息,所述第二数据变更消息指示出发生变更的第二数据表中的第二数据项,所述第二数据表与所述第一数据表具有相同的主键;将所述第二数据变更消息路由到用于处理所述第一数据变更消息的线程。10.根据权利要求1所述的方法,还包括:将所述更新的宽表发送到搜索引擎,用于更新数据索引。11.一种同步数据库中的变更信息的装置,包括:接收单元,配置为接收来自数据库的第一数据变更消息,所述第一数据变更消息指示出发生变更的第一数据表中的第一数据项;更新单元,配置为根据所述第一数据变更消息,在与所述第一数据表对应的第...
【专利技术属性】
技术研发人员:李飞飞,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。