CN102591964B - 数据读写分离机制的实现方法和装置 - Google Patents
数据读写分离机制的实现方法和装置 Download PDFInfo
- Publication number
- CN102591964B CN102591964B CN201110457793.6A CN201110457793A CN102591964B CN 102591964 B CN102591964 B CN 102591964B CN 201110457793 A CN201110457793 A CN 201110457793A CN 102591964 B CN102591964 B CN 102591964B
- Authority
- CN
- China
- Prior art keywords
- database
- slave
- reading
- read
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000000926 separation method Methods 0.000 claims description 66
- 230000001360 synchronised effect Effects 0.000 claims description 53
- 230000007246 mechanism Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 7
- 230000003111 delayed effect Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据读写分离机制的实现方法和装置。本发明实施例提供的一种数据读写分离机制的实现方法,在读操作的SQL访问请求中设置HINT信息,该HINT信息指示读写分离策略,本方法包括对接收到的SQL访问请求进行解析,判断当前的操作类型;若当前的操作类型为写操作,建立与主数据库的连接,向主数据库中写入数据;若当前的操作类型为读操作,根据SQL访问请求中的HINT信息获取当前的读写分离策略,并获取从数据库相对于主数据库的同步延时信息,以及,根据当前的读写分离策略和同步延时信息执行读操作。本方案能够在从库出现延时的情况下读取到所需的可信任数据,且较好地兼容了现有的***资源,提高了资源的利用率。
Description
技术领域
本发明涉及领域数据处理技术领域,特别涉及一种数据读写分离机制的实现方法和装置。
背景技术
在互联网数据库解决方案中,关系型数据库MySQL是一种较常用的数据库,MySQL在数据访问并发量较高的情况下一般会采用读写分离的技术。
现有的读写分离方案是开发两种角色的数据库连接串,一种角色的连接串作为主库(master),另一种角色的连接串作为从库(slave),一个主库可以对应于多个从库。主库可以进行写操作,也可以担任读操作,从库只能担任读操作。若需要进行数据的读操作或写操作,在请求时,对于写操作,一定是向主库发送请求,对于读操作,可以在Slave角色的从库中分配一个连接,进行读的操作。
现有的数据读写分离方案至少存在如下缺陷:
现有的读写分离方案只能做到要么在主库上执行查询,要么在从库上执行查询,查询方式不够灵活;且当从库出现问题时,如从库相对于主库的数据同步延时较多的情况下,现有方案仍采用直接由从库中读取数据的方式,从而导致无法在从库中读取出数据,或者,所读取到的数据与所需的数据不一致,读取出的是不可信任的数据(脏数据)的问题。
发明内容
本发明提供了一种数据读写分离机制的实现方法和装置,以解决现有方案查询方式不够灵活,以及在从库中读取数据时读不到数据或读到脏数据的问题。
为达到上述目的,本发明实施例采用了如下技术方案:
本发明实施例提供了一种数据读写分离机制的实现方法,在读操作的结构化查询语言SQL访问请求中设置提示HINT信息,所述HINT信息指示读写分离策略,所述方法包括:
对接收到的SQL访问请求进行解析,判断当前的操作类型;
若当前的操作类型为写操作,建立与主数据库的连接,向主数据库中写入数据;
若当前的操作类型为读操作,根据所述SQL访问请求中的HINT信息获取当前的读写分离策略,并获取从数据库相对于主数据库的同步延时信息,以及,根据当前的读写分离策略和同步延时信息执行读操作;
所述读写分离策略至少包括如下的一种:
仅在延时小于预定阈值的从数据库中读取数据,当不存在延迟小于预定阈值的从数据库时,将访问请求加入等待队列;或者,
当存在与主数据库同步的从数据库时,从该从数据库中读取数据,否则,从主数据库中读取数据;或者,
先从主数据库中读取数据,当主数据库读取失败时,再从延时小于预定阈值的从数据库中读取数据,若不存在延迟小于预定阈值的从数据库时,将访问请求加入等待队列;或者,
先在延时小于预定阈值的从数据库中读取数据,当不存在延迟小于预定阈值的从数据库时,从主数据库中读取数据。
本发明实施例还提供了一种数据读写分离机制的实现装置,所述装置包括:
设置单元,用于在读操作的结构化查询语言SQL访问请求中设置提示HINT信息,所述HINT信息指示读写分离策略;
解析判断单元,用于对接收到的SQL访问请求进行解析,判断当前的操作类型;
写操作单元,用于在当前的操作类型为写操作时,建立与主数据库的连接,向主数据库中写入数据;
读操作单元,用于在当前的操作类型为读操作时,根据所述SQL访问请求中的HINT信息获取当前的读写分离策略,并获取从数据库相对于主数据库的同步延时信息,以及,根据当前的读写分离策略和同步延时信息执行读操作;
所述设置单元所设置的HINT信息指示的读写分离策略至少包括如下的一种:
仅在延时小于预定阈值的从数据库中读取数据,当不存在延迟小于预定阈值的从数据库时,将访问请求加入等待队列;或者,
当存在与主数据库同步的从数据库时,从该从数据库中读取数据,否则,从主数据库中读取数据;或者,
先从主数据库中读取数据,当主数据库读取失败时,再从延时小于预定阈值的从数据库中读取数据,若不存在延迟小于预定阈值的从数据库时,将访问请求加入等待队列;或者,
先在延时小于预定阈值的从数据库中读取数据,当不存在延迟小于预定阈值的从数据库时,从主数据库中读取数据。
本发明实施例的有益效果是:
本发明实施例提供的数据读写分离机制在应用和数据库之间引入一个代理层,设置读写分离策略,并利用读写分离策略确定当前所执行读操作的具体方式,大大提高了数据查询方式的灵活性;且由于本发明实施例还基于从库的同步延时信息执行读操作,能够避免从库出现同步延时读不出数据或读取出脏数据的现象的发生,读取到所需的可信任数据。
本发明实施例采用HINT的方式将读写分离策略设置在SQL语句中,不但操作简单有效,且能够避免对原有SQL语句的大量修改,较好地兼容现有的***资源,提高了资源的利用率。
附图说明
图1为本发明实施例一提供的一种数据读写分离机制的实现方法流程图;
图2为本发明实施例二提供的一种数据读写分离机制的实现装置结构示意图;
图3为在应用和MySQL数据库之间所设置的一个代理层逻辑结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1,为本发明实施例一提供的一种数据读写分离机制的实现方法流程图,具体包括:
11:接收结构化查询语言(Structured Query Language,SQL)访问请求。
12:判断该SQL访问请求对应的当前的操作类型。
对SQL访问请求进行解析,判断当前的操作类型是写操作还是读操作。
13:若当前的操作类型为写操作,建立与主数据库(下文简称为主库)的连接,向主库中写入数据。
14:若当前的操作类型为读操作,根据所述SQL访问请求中的提示(HINT)信息获取当前的读写分离策略,并获取从数据库(下文简称为从库)相对于主库的同步延时信息,以及,根据当前的读写分离策略和同步延时信息执行读操作。
接收到的读操作的SQL访问请求中设置提示(HINT)信息,该HINT信息指示读写分离策略。由于访问请求方能够控制当前操作类型是写操作还是读操作,访问请求方在发送读操作的SQL访问请求时,通过代理层在该SQL访问请求中设置HINT信息,在发送写操作的SQL访问请求时,由于写操作必须在主库中进行,可以无需再设置HINT信息,以在应用本方案时简化操作,节省资源。
进一步的,对一个主库对应于多个从库的场景,本实施例获取主库下每一从库相对于该主库的同步延时信息,根据当前的读写分离策略和多个从库的同步延时信息执行读操作。例如,一种主/从(master/slave)架构下,主库1对应于从库1至从库3,则分别获取从库1至从库3相对应与主库1的同步延时信息,如同步延时信息1至同步延时信息3,该同步延时信息指示从库相对于主库的延时大小。根据当前的读写分离策略结合同步延时信息1至同步延时信息3执行读操作。
进一步的,本实施例所提供的读写分离策略至少包括如下的一种:
策略一:仅在延时小于预定阈值的从库中读取数据,当不存在延迟小于预定阈值(如60秒)的从库时,即不满足策略一中所限定的条件时,将访问请求加入等待队列,直至满足读取条件,或者,主库发生Down机(停机),向客户端发送请求超时报错。
策略二:当存在与主库同步的从库时,从该从库中读取数据,否则,从主库中读取数据。当不满足策略二中所限定的条件时,例如,暂时获取不到主库连接时,将访问请求加入等待队列,直至满足读取条件,或者,若主库发生Down机,向客户端发送请求超时报错。
策略三:不考虑从库延时,仅在从库中读取数据。当不满足策略三中所限定的条件时,例如,从库读取数据失败时,这可分两种情况,一种情况是暂时获取不到从库的连接,则将访问请求加入等待队列,直至满足读取条件,另一种情况,从库全部Down机,已经没可用的从库,则向客户端发送请求超时报错。
策略四:仅在主库中读取数据。当不满足策略四中所限定的条件时,例如,获取不到主库的连接时,将访问请求加入等待队列,直至满足读取条件,或者,若主库发生Down机,向客户端发送请求超时报错。
策略五:先从主库中读取数据,当主库读取失败,如主库繁忙,获取不到可用连接,再从延时小于预定阈值的从库中读取数据,若不存在延迟小于预定阈值的从库时,将访问请求加入等待队列,直至满足读取条件,或是,若从库发生Down机,向客户端发送请求超时报错。
策略六:先在延时小于预定阈值的从库中读取数据,当不存在延迟小于预定阈值的从库时,从主库中读取数据。当不满足策略六中所限定的条件时,例如,主库读取失败时,将访问请求加入等待队列,直至满足读取条件,或是,向客户端发送请求超时报错。
通过上述读写分离策略,本实施例在执行读操作时,当从库出现问题时,如数据同步延迟较多的情况下,实现对从库查询的智能控制,例如,不再进行当前从库查询(读数据)并将查询请求加入等待队列,或是在slave的角色中选择不延迟的从库进行查询,或是,把该查询转到主库上执行等,这种智能控制方式不但大大提高了查询的灵活性,也能通过读写分离策略的设置避免在从库中读不到数据或者读取出脏数据。
进一步的,本实施例中采用HINT的方式将读写分离策略设置在SQL访问语句中,即以一种执行语句注释信息的方式将读写分离策略设置在SQL访问语句中,从而避免了对现有方案中执行语句进行修改,仅需要使代理层具备对SQL语句中HINT信息解析的能力即可。
例如,对于上述策略一的一个示例,在SQL访问语句中所添加的HINT信息可以表示为如下述斜线/之间的部分所示(在此略去具体的SQL访问语句):
Select/*HINT:slaveonly:delay=60*/...
该策略一的示例表示当前读操作只在slave上执行,延迟在低于60秒以内从库都可进行读操作,若从库的延时都在60秒以上,结束当前读操作,不再执行数据读取。
对于上述策略二的一个示例,在SQL访问语句中所添加的HINT信息可以表示为如下述斜线/之间的部分所示(在此略去具体的SQL访问语句):
Select/*HINT:firstslave:delay=0*/...
该策略二的示例表示当前读操作不允许有数据延迟,如从库发生延迟该SQL访问请求会升级转移到master上执行,即当存在与主库同步的从库时,从该从库中读取数据,否则,从主库中读取数据。
对于上述策略三的一个示例,在SQL访问语句中所添加的HINT信息可以表示为如下述斜线/之间的部分所示(在此略去具体的SQL访问语句):
Select/*HINT:slaveonly:delay=max*/
该策略三的示例表示当前读操作只在从库上执行不管同步延迟情况。
对于上述策略四的一个示例,在SQL访问语句中所添加的HINT信息可以表示为如下述斜线/之间的部分所示(在此略去具体的SQL访问语句):
Select/*HINT:master:delay=0*/...
该策略四的示例表示当前读操作只在只在主库上执行,即仅在主库中读取数据。
对于上述策略五的一个示例,在SQL访问语句中所添加的HINT信息可以表示为如下述斜线/之间的部分所示(在此略去具体的SQL访问语句):
Select/*HINT:firstmaster:delay=60*/...
该策略五的示例表示当前读操作优先在主库上执行,当主库读取失败时如查找不到master连接时,再去slave上执行,slave上延迟不能大于60秒,若不存在延时小于60秒的从库时,结束当前读操作。
对于上述策略六的一个示例,在SQL访问语句中所添加的HINT信息可以表示为如下述斜线/之间的部分所示(在此略去具体的SQL访问语句):
Select/*HINT:firstslave:delay=60*/
该策略六的示例表示当前读操作优先在Slave上执行,而且要求该从库的延迟在60秒以内,如果从库都不满足60秒以内的延时要求,再从主库中读取数据。
进一步的,相应于读取分离策略,本实施例中根据当前的读写分离策略和同步延时信息执行读操作可以包括如下处理方式:
与延时小于预定阈值的从库建立连接,从建立连接的从库中读取数据;或者,结束当前的读操作;或者,与同步于主库的从库建立连接,从建立连接的从库中读取数据;或者,与主库建立连接,从主库中读取数据;或者,与所存在的任一从库建立连接,从建立连接的从库中读取数据。
进一步的,本实施例可以通过下述至少一种方式获取从库相对于主库的同步延时信息:
接收从库上报的相对于主库的同步延时信息。这种方式下,由从库对自身的同步延时状态进行记录,并将对应的同步延时信息告知代理层;或者,
由代理层对从库的同步延时状态进行监控,根据监控结果获知从库相对于主库的同步延时信息。
本发明实施例提供的数据读写分离机制在应用和数据库之间引入一个代理层,设置读写分离策略,并利用读写分离策略确定当前所执行读操作的具体方式,大大提高了数据查询方式的灵活性;且由于本发明实施例还基于从库的同步延时信息执行读操作,能够避免从库出现同步延时读不出数据或读取出脏数据的现象的发生,读取到所需的可信任数据。
本发明实施例采用HINT的方式将读写分离策略设置在SQL语句中,不但操作简单有效,且能够避免对原有SQL语句的大量修改,较好地兼容现有的***资源,提高了资源的利用率。
本发明实施例二提供了一种数据读写分离机制的实现装置,参见图2,所述装置包括:
设置单元21,用于在读操作的结构化查询语言SQL访问请求中设置提示HINT信息,所述HINT信息指示读写分离策略;
解析判断单元22,用于对接收到的SQL访问请求进行解析,判断当前的操作类型;
写操作单元23,用于在当前的操作类型为写操作时,建立与主库的连接,向主库中写入数据;
读操作单元24,用于在当前的操作类型为读操作时,根据所述SQL访问请求中的HINT信息获取当前的读写分离策略,并获取从库相对于主库的同步延时信息,以及,根据当前的读写分离策略和同步延时信息执行读操作。
当一个主库对应于多个从库,所述读操作单元24包括信息获取模块和读取模块。该信息获取模块,用于获取主库下每一从库相对于该主库的同步延时信息;该读取模块,用于根据当前的读写分离策略和多个从库的同步延时信息执行读操作。
进一步的,所述设置单元21所设置的HINT信息指示的读写分离策略至少包括如下的一种:
仅在延时小于预定阈值的从库中读取数据,当不存在延迟小于预定阈值的从库时,将访问请求加入等待队列;或者,当存在与主库同步的从库时,从该从库中读取数据,否则,从主库中读取数据;或者,不考虑从库延时,仅在从库中读取数据;或者,仅在主库中读取数据,当主库读取失败时,将访问请求加入等待队列;或者,先从主库中读取数据,当主库读取失败时,再从延时小于预定阈值的从库中读取数据,若不存在延迟小于预定阈值的从库时,将访问请求加入等待队列;或者,先在延时小于预定阈值的从库中读取数据,当不存在延迟小于预定阈值的从库时,从主库中读取数据。
进一步的,所述装置还包括数据库连接单元,至少用于与延时小于预定阈值的从库建立连接;或者,所述数据库连接单元,至少用于与同步于主库的从库建立连接;或者,所述数据库连接单元,至少用于与主库建立连接;或者,所述数据库连接单元,至少用于与所存在的任一从库建立连接。则所述读取模块,用于从建立连接的从库或主库中读取数据。
进一步的,所述信息获取模块通过下述至少一种方式获取从库相对于主库的同步延时信息:接收从库上报的相对于主库的同步延时信息;或者,对从库的同步延时状态进行监控,根据监控结果获知从库相对于主库的同步延时信息。
上述数据读写分离机制的实现装置设置在应用和数据库之间的一个代理层中,参见图3,显示了在应用和MySQL数据库之间所设置的一个代理层逻辑结构示意图。代理层中包含数据库协议代理逻辑、SQL解析逻辑层、数据库连接池和连接相关的统计逻辑,数据库连接池可以建立主库连接和从库连接。这些逻辑的功能可以集成在本实施例装置的具体单元中实现,或者,在本实施例装置中设置一个单独的模块实现,例如,利用本装置中的解析判断单元实现数据库协议代理逻辑的功能;数据库连接池可以由上述数据库连接单元实现;在本装置中设置一个统计模块用于实现连接相关的统计逻辑的功能。
各个逻辑的具体功能如下:
数据库协议代理逻辑:该逻辑层可以利用epoll方式封装的MySQL协议处理部分,以完成MySQL的认证,MySQL数据库包的解析及封装功能等。
SQL解析逻辑层:该逻辑层用于从数据库包中解析出SQL访问语句,对读操作的SQL访问语句进行语法分析,提取出HINT部分,对HINT部分做相应的运算,从而得到建立什么样的连接的标准。
数据库联接池:该逻辑层主要功能是进行数据库(主库或从库)连接的初始化及管理维护。当有新的访问(或查询)请求时,在经过SQL解析的得到相应的HINT及SQL操作类型后,即会来到本连接池中请求连接。如写操作会请求分配一个master的连接,读操作可以跟据HINT来查询得到一个相应的连接。
连接相关的统计逻辑:该逻辑层从功能上区分的话,属于一个监控模块,主要的作用就是查询从库中同步的状态,同时把同步延迟情况更新到连接串的相关标识位上,对所建立的连接和访问操作的类型等进行记录,即该统计逻辑可以对代理层中的各种运行信息进行统计和记录,以便于对应用、代理层和数据库进行管理和维护。
本发明实施例提供的数据读写分离机制在应用和数据库之间引入一个代理层,设置读写分离策略,并利用读写分离策略确定当前所执行读操作的具体方式,大大提高了数据查询方式的灵活性;且由于本发明实施例还基于从库的同步延时信息执行读操作,能够避免从库出现同步延时读不出数据或读取出脏数据的现象的发生,读取到所需的可信任数据。
本发明实施例采用HINT的方式将读写分离策略设置在SQL语句中,不但操作简单有效,且能够避免对原有SQL语句的大量修改,较好地兼容现有的***资源,提高了资源的利用率。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种数据读写分离机制的实现方法,其特征在于,在读操作的结构化查询语言SQL访问请求中设置提示HINT信息,所述HINT信息指示读写分离策略,所述方法包括:
对接收到的SQL访问请求进行解析,判断当前的操作类型;
若当前的操作类型为写操作,建立与主数据库的连接,向主数据库中写入数据;
若当前的操作类型为读操作,根据所述SQL访问请求中的HINT信息获取当前的读写分离策略,并获取从数据库相对于主数据库的同步延时信息,以及,根据当前的读写分离策略和同步延时信息执行读操作;
所述读写分离策略至少包括如下的一种:
仅在延时小于预定阈值的从数据库中读取数据,当不存在延迟小于预定阈值的从数据库时,将访问请求加入等待队列;或者,
当存在与主数据库同步的从数据库时,从该从数据库中读取数据,否则,从主数据库中读取数据;或者,
先从主数据库中读取数据,当主数据库读取失败时,再从延时小于预定阈值的从数据库中读取数据,若不存在延迟小于预定阈值的从数据库时,将访问请求加入等待队列;或者,
先在延时小于预定阈值的从数据库中读取数据,当不存在延迟小于预定阈值的从数据库时,从主数据库中读取数据。
2.根据权利要求1所述的方法,其特征在于,一个主数据库对应于多个从数据库,
所述获取从数据库相对于主数据库的同步延时信息包括:
获取主数据库下每一从数据库相对于该主数据库的同步延时信息;
所述根据当前的读写分离策略和同步延时信息执行读操作包括:
根据当前的读写分离策略和多个从数据库的同步延时信息执行读操作。
3.根据权利要求1所述的方法,其特征在于,通过下述的至少一种方式,根据当前的读写分离策略和同步延时信息执行读操作:
与延时小于预定阈值的从数据库建立连接,从建立连接的从数据库中读取数据;或者,结束当前的读操作;或者,
与同步于主数据库的从数据库建立连接,从建立连接的从数据库中读取数据;或者,
与主数据库建立连接,从主数据库中读取数据;或者,
与所存在的任一从数据库建立连接,从建立连接的从数据库中读取数据。
4.根据权利要求1至3任一项所述的方法,其特征在于,通过下述至少一种方式获取从数据库相对于主数据库的同步延时信息:
接收从数据库上报的相对于主数据库的同步延时信息;或者,
对从数据库的同步延时状态进行监控,根据监控结果获知从数据库相对于主数据库的同步延时信息。
5.一种数据读写分离机制的实现装置,其特征在于,所述装置包括:
设置单元,用于在读操作的结构化查询语言SQL访问请求中设置提示HINT信息,所述HINT信息指示读写分离策略;
解析判断单元,用于对接收到的SQL访问请求进行解析,判断当前的操作类型;
写操作单元,用于在当前的操作类型为写操作时,建立与主数据库的连接,向主数据库中写入数据;
读操作单元,用于在当前的操作类型为读操作时,根据所述SQL访问请求中的HINT信息获取当前的读写分离策略,并获取从数据库相对于主数据库的同步延时信息,以及,根据当前的读写分离策略和同步延时信息执行读操作;
其中,所述设置单元所设置的HINT信息指示的读写分离策略至少包括如下的一种:
仅在延时小于预定阈值的从数据库中读取数据,当不存在延迟小于预定阈值的从数据库时,将访问请求加入等待队列;或者,
当存在与主数据库同步的从数据库时,从该从数据库中读取数据,否则,从主数据库中读取数据;或者,
先从主数据库中读取数据,当主数据库读取失败时,再从延时小于预定阈值的从数据库中读取数据,若不存在延迟小于预定阈值的从数据库时,将访问请求加入等待队列;或者,
先在延时小于预定阈值的从数据库中读取数据,当不存在延迟小于预定阈值的从数据库时,从主数据库中读取数据。
6.根据权利要求5所述的装置,其特征在于,一个主数据库对应于多个从数据库,
所述读操作单元包括信息获取模块和读取模块,
所述信息获取模块,用于获取主数据库下每一从数据库相对于该主数据库的同步延时信息;
所述读取模块,用于根据当前的读写分离策略和多个从数据库的同步延时信息执行读操作。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括数据库连接单元,
所述数据库连接单元,至少用于与延时小于预定阈值的从数据库建立连接;或者,所述数据库连接单元,至少用于与同步于主数据库的从数据库建立连接;或者,所述数据库连接单元,至少用于与主数据库建立连接;或者,所述数据库连接单元,至少用于与所存在的任一从数据库建立连接;
所述读取模块,用于从建立连接的从数据库或主数据库中读取数据。
8.根据权利要求7所述的装置,其特征在于,所述信息获取模块通过下述至少一种方式获取从数据库相对于主数据库的同步延时信息:
接收从数据库上报的相对于主数据库的同步延时信息;或者,
对从数据库的同步延时状态进行监控,根据监控结果获知从数据库相对于主数据库的同步延时信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110457793.6A CN102591964B (zh) | 2011-12-30 | 2011-12-30 | 数据读写分离机制的实现方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110457793.6A CN102591964B (zh) | 2011-12-30 | 2011-12-30 | 数据读写分离机制的实现方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102591964A CN102591964A (zh) | 2012-07-18 |
CN102591964B true CN102591964B (zh) | 2014-07-09 |
Family
ID=46480602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110457793.6A Active CN102591964B (zh) | 2011-12-30 | 2011-12-30 | 数据读写分离机制的实现方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102591964B (zh) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103390012B (zh) * | 2012-09-13 | 2017-03-08 | 百度在线网络技术(北京)有限公司 | 一种基于访问的展示图片生成方法和装置 |
CN103793290B (zh) * | 2012-10-31 | 2018-03-09 | 腾讯科技(深圳)有限公司 | 一种容灾***及其数据读取方法 |
CN103793432B (zh) * | 2012-11-01 | 2018-04-06 | 深圳中兴网信科技有限公司 | 一种数据库读写分离方法及装置 |
CN102999392B (zh) * | 2012-11-23 | 2016-12-21 | 北京奇虎科技有限公司 | 分配数据库操作请求的方法和设备 |
CN102982145A (zh) * | 2012-11-23 | 2013-03-20 | 北京奇虎科技有限公司 | 分配数据库操作请求的*** |
CN103390041B (zh) * | 2013-07-18 | 2016-05-04 | 杭州东信北邮信息技术有限公司 | 一种基于中间件提供数据服务的方法和*** |
CN103678696B (zh) * | 2013-12-27 | 2018-06-01 | 金蝶软件(中国)有限公司 | 控制数据读取分离的方法及装置 |
CN104881411B (zh) * | 2014-02-27 | 2019-08-27 | 阿里巴巴集团控股有限公司 | 存储***间文件的处理方法及装置 |
CN104391873A (zh) * | 2014-10-29 | 2015-03-04 | 上海达梦数据库有限公司 | 数据库操作分离方法和*** |
CN104376127B (zh) * | 2014-12-12 | 2018-08-03 | 北京奇虎科技有限公司 | 一种数据操作方法及装置 |
CN105991565B (zh) * | 2015-02-05 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 读写分离的方法、***和数据库代理服务器 |
CN106874281B (zh) * | 2015-12-11 | 2020-02-07 | 北京新媒传信科技有限公司 | 实现数据库读写分离的方法和装置 |
CN107122357A (zh) * | 2016-02-24 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 数据库读写分离方法、装置和*** |
CN106021566A (zh) * | 2016-05-31 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种提高单台数据库并发处理能力的方法、装置及*** |
CN106126600A (zh) * | 2016-06-21 | 2016-11-16 | 浪潮电子信息产业股份有限公司 | 一种执行读写分离的方法、装置及*** |
CN107656937B (zh) * | 2016-07-26 | 2021-05-25 | 北京京东尚科信息技术有限公司 | 用于实现读写数据一致性的方法和装置 |
CN106372115A (zh) * | 2016-08-23 | 2017-02-01 | 成都乾威科技有限公司 | 一种数据读写方法、***及数据库*** |
CN108304406B (zh) * | 2017-01-12 | 2022-10-25 | 阿里云计算有限公司 | 一种数据库读写方法、装置及电子设备 |
CN106960054B (zh) * | 2017-04-01 | 2020-10-02 | 北京奇虎科技有限公司 | 数据文件的存取方法及装置 |
CN107066575B (zh) * | 2017-04-11 | 2021-01-15 | 广东亿迅科技有限公司 | 用于实现数据库读写负载均衡的方法及其*** |
CN109117432A (zh) * | 2017-06-22 | 2019-01-01 | 北京京东尚科信息技术有限公司 | 一种获取数据的方法及装置 |
CN109213827B (zh) * | 2017-07-03 | 2022-07-08 | 阿里云计算有限公司 | 一种数据处理***、方法、路由器及从数据库 |
CN110019496B (zh) * | 2017-07-27 | 2021-06-29 | 北京京东尚科信息技术有限公司 | 数据读写方法和*** |
CN110019257A (zh) * | 2017-08-18 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 主备数据库延迟时间处理方法、装置、介质和电子设备 |
CN107704603A (zh) * | 2017-10-16 | 2018-02-16 | 山东浪潮通软信息科技有限公司 | 一种实现读写分离的方法及装置 |
CN108121782B (zh) * | 2017-12-18 | 2020-11-10 | 新华三云计算技术有限公司 | 查询请求的分配方法、数据库中间件***以及电子设备 |
CN110019312B (zh) * | 2017-12-29 | 2021-05-04 | ***通信集团山西有限公司 | 读写数据分离调度方法、装置、设备及介质 |
CN110334145A (zh) * | 2018-02-24 | 2019-10-15 | 北京京东尚科信息技术有限公司 | 数据处理的方法和装置 |
CN108959454B (zh) * | 2018-06-15 | 2020-12-04 | 上海达梦数据库有限公司 | 一种提示子句指定方法、装置、设备及存储介质 |
CN109033420B (zh) * | 2018-08-08 | 2020-11-03 | 北京奇艺世纪科技有限公司 | 一种数据处理方法和装置 |
CN109471861A (zh) * | 2018-11-01 | 2019-03-15 | 南京天辰礼达电子科技有限公司 | 一种基于MySql的数据分布式储存*** |
CN110362625A (zh) * | 2019-05-30 | 2019-10-22 | 杭州数梦工场科技有限公司 | 数据库读写分离方法、装置、电子设备及存储介质 |
CN110196859A (zh) * | 2019-06-10 | 2019-09-03 | 天津神舟通用数据技术有限公司 | 基于jdbc分发器的数据库读写分离集群实时一致性方法 |
CN110674167B (zh) * | 2019-08-20 | 2022-08-16 | 广州亚美信息科技有限公司 | 数据库操作方法、装置、计算机设备和存储介质 |
CN110727698A (zh) * | 2019-09-09 | 2020-01-24 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据库访问方法、装置、计算机设备和存储介质 |
CN110781214A (zh) * | 2019-09-26 | 2020-02-11 | 金蝶软件(中国)有限公司 | 数据库读写方法、装置、计算机设备和存储介质 |
CN110837531B (zh) * | 2019-10-12 | 2023-06-20 | 中国平安财产保险股份有限公司 | 数据源读写的分离方法、装置及计算机可读存储介质 |
CN111061801A (zh) * | 2019-12-25 | 2020-04-24 | 天津南大通用数据技术股份有限公司 | 一种事务型数据库读写分离实现方法 |
CN112346818A (zh) * | 2020-11-02 | 2021-02-09 | 北京新媒传信科技有限公司 | 一种容器应用部署方法、装置、电子设备和存储介质 |
CN112527817A (zh) * | 2020-12-08 | 2021-03-19 | 北京大米科技有限公司 | 信息处理方法、信息处理装置、存储介质和电子设备 |
CN113094431A (zh) * | 2021-03-30 | 2021-07-09 | 北京达佳互联信息技术有限公司 | 读写分离方法、装置及服务器 |
CN113111087A (zh) * | 2021-04-12 | 2021-07-13 | 北京房江湖科技有限公司 | 请求处理方法、装置、电子设备和存储介质 |
CN113076343B (zh) * | 2021-04-30 | 2024-04-05 | 北京京东振世信息技术有限公司 | 数据查询方法、装置、设备及存储介质 |
CN114253770B (zh) * | 2021-12-17 | 2023-12-26 | 苏州浪潮智能科技有限公司 | 一种数据库的主从备份*** |
CN114722115A (zh) * | 2022-02-15 | 2022-07-08 | 阿里巴巴(中国)有限公司 | 数据库操作方法和全加密数据库 |
CN117149885B (zh) * | 2023-10-31 | 2024-01-26 | 天津神舟通用数据技术有限公司 | 一种基于数据库主节点转发的读写分离实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033912A (zh) * | 2010-11-25 | 2011-04-27 | 北京北纬点易信息技术有限公司 | 一种分布式数据库访问方法及*** |
CN102129434A (zh) * | 2010-01-13 | 2011-07-20 | 腾讯科技(北京)有限公司 | 读写分离数据库的方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6862593B2 (en) * | 2002-05-17 | 2005-03-01 | Sun Microsystems, Inc. | Separation of database transactions |
-
2011
- 2011-12-30 CN CN201110457793.6A patent/CN102591964B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129434A (zh) * | 2010-01-13 | 2011-07-20 | 腾讯科技(北京)有限公司 | 读写分离数据库的方法及*** |
CN102033912A (zh) * | 2010-11-25 | 2011-04-27 | 北京北纬点易信息技术有限公司 | 一种分布式数据库访问方法及*** |
Non-Patent Citations (2)
Title |
---|
数据库集群的一种负载均衡策略的设计;李佩等;《电脑知识与技术》;20090131;第5卷(第1期);25-26,43 * |
李佩等.数据库集群的一种负载均衡策略的设计.《电脑知识与技术》.2009,第5卷(第1期),25-26,43. |
Also Published As
Publication number | Publication date |
---|---|
CN102591964A (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102591964B (zh) | 数据读写分离机制的实现方法和装置 | |
EP3413215B1 (en) | Dynamic snapshot isolation protocol selection | |
US10180946B2 (en) | Consistent execution of partial queries in hybrid DBMS | |
CA2950201C (en) | Decentralized transaction commit protocol | |
US10572510B2 (en) | Distributed database transaction protocol | |
CN110442560B (zh) | 一种日志重演方法、装置、服务器和存储介质 | |
US20180081956A1 (en) | Method for automatically synchronizing multi-source heterogeneous data resources | |
CN111433764A (zh) | 全局一致分片式oltp***的高吞吐量分布式事务管理及其实现方法 | |
EP2891994A1 (en) | Method for achieving automatic synchronization of multisource heterogeneous data resources | |
US11928089B2 (en) | Data processing method and device for distributed database, storage medium, and electronic device | |
CN103226598B (zh) | 访问数据库的方法和装置以及数据库管理*** | |
EP2947582A1 (en) | Computing device and method for executing database operation command | |
US20110055151A1 (en) | Processing Database Operation Requests | |
CN101794247A (zh) | 嵌套事务模型下实时数据库故障恢复方法 | |
US20180300147A1 (en) | Database Operating Method and Apparatus | |
WO2021238902A1 (zh) | 数据导入方法、装置、服务平台及存储介质 | |
CN114116665A (zh) | 数据库中并行写入事务日志以提升处理效率的方法 | |
CN113157411B (zh) | 一种基于Celery的可靠可配置任务***及装置 | |
WO2022134876A1 (zh) | 数据同步方法、装置、电子设备、存储介质 | |
TWI774643B (zh) | 資料庫操作方法及裝置 | |
CN110196859A (zh) | 基于jdbc分发器的数据库读写分离集群实时一致性方法 | |
WO2023159976A1 (zh) | 数据分段写入方法、数据读取方法及装置 | |
US20180121532A1 (en) | Data table partitioning management method and apparatus | |
CN108090056B (zh) | 数据查询方法、装置及*** | |
CN108460047B (zh) | 数据同步方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A room 602 Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. |