[发明专利]数据读写分离机制的实现方法和装置有效
申请号: | 201110457793.6 | 申请日: | 2011-12-30 |
公开(公告)号: | CN102591964A | 公开(公告)日: | 2012-07-18 |
发明(设计)人: | 吴炳锡;李宁;张雁飞 | 申请(专利权)人: | 北京新媒传信科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝 |
地址: | 100089 北京市海淀区万*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 读写 分离 机制 实现 方法 装置 | ||
技术领域
本发明涉及领域数据处理技术领域,特别涉及一种数据读写分离机制的实现方法和装置。
背景技术
在互联网数据库解决方案中,关系型数据库MySQL是一种较常用的数据库,MySQL在数据访问并发量较高的情况下一般会采用读写分离的技术。
现有的读写分离方案是开发两种角色的数据库连接串,一种角色的连接串作为主库(master),另一种角色的连接串作为从库(slave),一个主库可以对应于多个从库。主库可以进行写操作,也可以担任读操作,从库只能担任读操作。若需要进行数据的读操作或写操作,在请求时,对于写操作,一定是向主库发送请求,对于读操作,可以在Slave角色的从库中分配一个连接,进行读的操作。
现有的数据读写分离方案至少存在如下缺陷:
现有的读写分离方案只能做到要么在主库上执行查询,要么在从库上执行查询,查询方式不够灵活;且当从库出现问题时,如从库相对于主库的数据同步延时较多的情况下,现有方案仍采用直接由从库中读取数据的方式,从而导致无法在从库中读取出数据,或者,所读取到的数据与所需的数据不一致,读取出的是不可信任的数据(脏数据)的问题。
发明内容
本发明提供了一种数据读写分离机制的实现方法和装置,以解决现有方案查询方式不够灵活,以及在从库中读取数据时读不到数据或读到脏数据的问题。
为达到上述目的,本发明实施例采用了如下技术方案:
本发明实施例提供了一种数据读写分离机制的实现方法,在读操作的结构化查询语言SQL访问请求中设置提示HINT信息,所述HINT信息指示读写分离策略,所述方法包括:
对接收到的SQL访问请求进行解析,判断当前的操作类型;
若当前的操作类型为写操作,建立与主数据库的连接,向主数据库中写入数据;
若当前的操作类型为读操作,根据所述SQL访问请求中的HINT信息获取当前的读写分离策略,并获取从数据库相对于主数据库的同步延时信息,以及,根据当前的读写分离策略和同步延时信息执行读操作。
本发明实施例还提供了一种数据读写分离机制的实现装置,所述装置包括:
设置单元,用于在读操作的结构化查询语言SQL访问请求中设置提示HINT信息,所述HINT信息指示读写分离策略;
解析判断单元,用于对接收到的SQL访问请求进行解析,判断当前的操作类型;
写操作单元,用于在当前的操作类型为写操作时,建立与主数据库的连接,向主数据库中写入数据;
读操作单元,用于在当前的操作类型为读操作时,根据所述SQL访问请求中的HINT信息获取当前的读写分离策略,并获取从数据库相对于主数据库的同步延时信息,以及,根据当前的读写分离策略和同步延时信息执行读操作。
本发明实施例的有益效果是:
本发明实施例提供的数据读写分离机制在应用和数据库之间引入一个代理层,设置读写分离策略,并利用读写分离策略确定当前所执行读操作的具体方式,大大提高了数据查询方式的灵活性;且由于本发明实施例还基于从库的同步延时信息执行读操作,能够避免从库出现同步延时读不出数据或读取出脏数据的现象的发生,读取到所需的可信任数据。
本发明实施例采用HINT的方式将读写分离策略设置在SQL语句中,不但操作简单有效,且能够避免对原有SQL语句的大量修改,较好地兼容现有的系统资源,提高了资源的利用率。
附图说明
图1为本发明实施例一提供的一种数据读写分离机制的实现方法流程图;
图2为本发明实施例二提供的一种数据读写分离机制的实现装置结构示意图;
图3为在应用和MySQL数据库之间所设置的一个代理层逻辑结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1,为本发明实施例一提供的一种数据读写分离机制的实现方法流程图,具体包括:
11:接收结构化查询语言(Structured Query Language,SQL)访问请求。
12:判断该SQL访问请求对应的当前的操作类型。
对SQL访问请求进行解析,判断当前的操作类型是写操作还是读操作。
13:若当前的操作类型为写操作,建立与主数据库(下文简称为主库)的连接,向主库中写入数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新媒传信科技有限公司,未经北京新媒传信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110457793.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置