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
- data base
- master data
- read
- reading out
- 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
Images
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 | 深圳中兴网信科技有限公司 | 一种数据库读写分离方法及装置 |
CN102982145A (zh) * | 2012-11-23 | 2013-03-20 | 北京奇虎科技有限公司 | 分配数据库操作请求的系统 |
CN102999392B (zh) * | 2012-11-23 | 2016-12-21 | 北京奇虎科技有限公司 | 分配数据库操作请求的方法和设备 |
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) | 数据读写分离机制的实现方法和装置 | |
CN109885581B (zh) | 数据库的同步方法、装置、设备及存储介质 | |
CN102291416B (zh) | 一种客户端与服务器端双向同步的方法及系统 | |
CN102984500B (zh) | 一种实现多种视频监控设备兼容的方法、装置和系统 | |
WO2019109518A1 (zh) | 一种数据列表的上传方法及其终端 | |
CN109495308A (zh) | 一种基于管理信息系统的自动化运维系统 | |
CN101707399A (zh) | 电能信息采集方法及系统 | |
CN105824846B (zh) | 数据迁移方法及装置 | |
CN107070686A (zh) | 一种视频监控平台码流并行转码的系统和方法 | |
CN108334557B (zh) | 一种聚合数据分析方法、装置、存储介质及电子设备 | |
CN105512171A (zh) | 数据库同步的方法及装置 | |
CN108140035B (zh) | 分布式系统的数据库复制方法及装置 | |
WO2015062217A1 (zh) | 虚拟桌面系统中外设的接入处理方法及装置 | |
CN108989385A (zh) | 一种基于Zabbix监控采集自动同步CMDB的实现方法 | |
WO2019047070A1 (zh) | 一种数据库维护方法及其系统 | |
CN110572464A (zh) | 底层资源状态同步方法、装置、云平台系统及存储介质 | |
CN102929224A (zh) | 变电设备状态接入控制器及系统控制方法 | |
WO2019047071A1 (zh) | 一种数据库故障的响应方法及其终端 | |
CN102833015B (zh) | 一种卫星自动化测试系统公共软件接口确定方法 | |
CN117130730A (zh) | 面向联邦Kubernetes集群的元数据管理方法 | |
CN103092866A (zh) | 数据监控方法及监控装置 | |
CN103488695A (zh) | 数据同步装置和数据同步方法 | |
CN113157411B (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
CN110633318A (zh) | 一种数据提取的处理方法、装置、设备和存储介质 | |
CN107357809A (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. |