预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN107122357A(43)申请公布日2017.09.01(21)申请号201610101944.7(22)申请日2016.02.24(71)申请人阿里巴巴集团控股有限公司地址英属开曼群岛大开曼资本大厦一座四层847号邮箱(72)发明人范孝剑张广舟周正中林晓斌张文杰(74)专利代理机构北京国昊天诚知识产权代理有限公司11315代理人许志勇刘戈(51)Int.Cl.G06F17/30(2006.01)权利要求书3页说明书7页附图2页(54)发明名称数据库读写分离方法、装置和系统(57)摘要本发明公开了一种数据库读写分离方法、装置和系统,该方法包括:接收来自客户端的SQL语句;解析所述SQL语句以确定对应的操作类型;响应于所述操作类型是只读操作时,检测所述只读操作所读取的数据是否已同步至第二数据库;响应于所述只读操作所读取的数据已同步至第二数据库时,转发所述SQL语句至所述第二数据库,由所述第二数据库完成执行。第一数据库可根据其与第二数据库之间的数据同步状态来判定是否将只读操作分离出去,实现读操作与写操作分离。CN107122357ACN107122357A权利要求书1/3页1.一种数据库读写分离方法,适用于第一数据库,其特征在于,包括:接收来自客户端的SQL语句;解析所述SQL语句以确定对应的操作类型;响应于所述操作类型是只读操作时,检测所述只读操作所读取的数据是否已同步至第二数据库;响应于所述只读操作所读取的数据已同步至第二数据库时,转发所述SQL语句至所述第二数据库,由所述第二数据库完成执行。2.根据权利要求1所述的方法,其特征在于,所述解析所述SQL语句以确定对应的操作类型包括:对所述SQL语句进行语法分析,生成执行计划;根据所述执行计划确定对应的操作类型;所述转发所述SQL语句转发至所述第二数据库包括:转发所述SQL语句对应的执行计划至所述第二数据库。3.根据权利要求1所述的方法,其特征在于,所述响应于所述操作类型是只读操作时,检测所述只读操作所读取的数据是否已同步至第二数据库包括:响应于所述操作类型是只读操作时,检测本地的负载信息是否大于或等于第一预设门限;响应于所述本地的负载信息大于或等于第一预设门限时,检测所述只读操作所读取的数据是否已同步至第二数据库。4.根据权利要求1所述的方法,其特征在于,所述响应于所述只读操作所读取的数据已同步至第二数据库时,转发所述SQL语句转发至所述第二数据库,由所述第二数据库完成执行包括:响应于所述只读操作所读取的数据已同步至第二数据库时,检测所述第二数据库的负载信息是否小于第二预设门限;响应于所述第二数据库的负载信息小于第二预设门限时,转发所述SQL语句至所述第二数据库,由所述第二数据库完成执行。5.一种数据库读写分离方法,适用于第二数据库,其特征在于,包括:向第一数据库发送数据同步信息;当只读操作所读取的数据已从第一数据库同步至本地时,接收所述第一数据库转发的与所述只读操作对应的SQL语句;执行所述SQL语句,完成所述只读操作。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:向所述第一数据库发送负载信息;所述当只读操作所读取的数据已从第一数据库同步至本地时,接收所述第一数据库转发的与所述只读操作对应的SQL语句包括:当只读操作所读取的数据已从第一数据库同步至本地时,并且所述负载信息小于第二预设门限时,接收所述第一数据库转发的与所述只读操作对应的SQL语句。7.根据权利要求5所述的方法,其特征在于,所述接收所述第一数据库转发的与所述只读操作对应的SQL语句包括:2CN107122357A权利要求书2/3页接收所述第一数据库转发的与所述只读操作对应的执行计划;所述执行所述SQL语句,完成所述只读操作包括:根据所述执行计划完成所述只读操作。8.一种数据库读写分离装置,其特征在于,包括:第一接收模块,用于接收来自客户端的SQL语句;解析模块,用于解析所述SQL语句以确定对应的操作类型;检测模块,用于响应于所述操作类型是只读操作时,检测所述只读操作所读取的数据是否已同步至第二数据库;转发模块,用于响应于所述只读操作所读取的数据已同步至第二数据库时,转发所述SQL语句至所述第二数据库,由所述第二数据库完成执行。9.根据权利要求8所述的装置,其特征在于,所述解析模块包括:分析子模块,用于对所述SQL语句进行语法分析,生成执行计划;确定子模块,用于根据所述执行计划确定对应的操作类型;所述转发模块包括:第一转发子模块,用于转发所述SQL语句对应的执行计划至所述第二数据库。10.根据权利要求8所述的装置,其特征在于,所述检测模块包括:第一检测子模块,用于响应于所述操作类型是只读操作时,检测本地的负载信息是否大于或等