[发明专利]一种用于数据库的写入互斥方法及装置有效
申请号: | 201410401476.6 | 申请日: | 2014-08-15 |
公开(公告)号: | CN105447012B | 公开(公告)日: | 2019-03-15 |
发明(设计)人: | 刘杰 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/28 | 分类号: | G06F16/28 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 数据库 写入 方法 装置 | ||
本申请公开了一种用于数据库的写入互斥方法,包括:采用预先指定的统一的用户名创建用于向目标数据库写入数据的连接,所述目标数据库为每个与其建立的连接分配唯一的连接标识;获取已创建连接的连接标识,作为本地连接标识;获取所述目标数据库中采用所述用户名的所有连接的连接标识列表;判断所述连接标识列表中是否存在不同于所述本地连接标识的其他连接标识;若是,关闭已创建的连接;若否,使用已创建的连接向所述目标数据库写入数据。本申请同时提供一种用于数据库的写入互斥装置。采用本申请提供的方法,能够避免两个进程同时向目标数据库执行同样的写入操作,从而有效保证目标数据库中的数据的正确性。
技术领域
本申请涉及数据库领域,具体涉及一种用于数据库的写入互斥方法。本申请同时提供一种用于数据库的写入互斥装置。
背景技术
MySQL是一个开放源码的关系型数据库管理系统,通常采用主从同步的架构方式,即:一台主服务器负责处理写入操作和少量的读操作,一台或者多台从服务器(或称备用服务器)负责处理读操作,从而实现负载均衡,缩短对用户访问请求的响应时间。针对上述主从同步的架构方式,MySQL数据库系统提供了采用二进制日志文件Binlog来实现主、从数据库之间的数据复制功能。
然而随着数据库技术以及数据库业务的发展,上述主从复制功能已无法满足多变的用户需求,例如,有的数据库业务只需要将MySQL数据库中的部分库或者表中的数据同步到目标MySQL数据库中;有的业务则需要把其他关系型数据库,甚至nosql数据库中的数据同步到目的MySQL数据库中。基于这些需求,出现了采用外部程序实现数据库之间数据同步的实现方式。
通过外部程序实现数据库之间的同步时,通常由一个进程负责两个数据库的同步,即:从源数据库中读取数据,经过必要的处理后,再通过与目标数据库之间建立的一条或者多条连接将数据写入目标数据库中。为了保障数据同步过程的顺利执行,通常还会启动一个负责容灾的模块(简称容灾模块),该模块通过侦听同步进程定期(例如每隔5秒或者10秒)发送的心跳数据包来监测同步进程的工作状态,当容灾模块在预先设定的一段时间内(例如1分钟)没有收到同步进程的心跳数据包,则认为同步进程出现故障,容灾模块会启动一个新的同步进程来接管当前的数据同步过程,从而使得数据同步过程依然正常进行。
上述实现方式,通常可以保证数据同步过程的顺利执行,然而在具体实现中,可能出现容灾模块发生误判的情况,例如,因为网络连接故障(网线断开),导致同步进程和容灾模块之间的网络通信被中断,容灾模块在预先设定的一段时间内没有接收到同步进程的心跳数据包,容灾模块会因此启动新的同步进程,在这种情况下,就会出现两个同步进程同时向同一个目标MySQL数据库写入数据的问题,从而导致目标MySQL数据库中的数据错误。
发明内容
本申请提供一种用于数据库的写入互斥方法,以解决两个执行同一写入任务的进程同时向目标数据库写入数据而导致数据错误的问题。本申请另外提供一种用于数据库的写入互斥装置。
本申请提供一种用于数据库的写入互斥方法,所述方法在向同一个目标数据库执行同一写入任务的进程中实施,包括:
采用为所述进程预先指定的统一的用户名创建用于向目标数据库写入数据的连接,所述目标数据库为每个与其建立的连接分配唯一的连接标识;
获取已创建连接的连接标识,作为本地连接标识;
获取所述目标数据库中采用所述用户名的所有连接的连接标识列表;
判断所述连接标识列表中是否存在不同于所述本地连接标识的其他连接标识;
若是,关闭已创建的连接;若否,使用已创建的连接向所述目标数据库写入数据。
可选的,所述目标数据库为MySQL数据库。
可选的,所述采用为所述进程预先指定的统一的用户名创建用于向目标数据库写入数据的连接,采用如下方式实现:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410401476.6/2.html,转载请声明来源钻瓜专利网。