CN102129434B - 读写分离数据库的方法及系统 - Google Patents
读写分离数据库的方法及系统 Download PDFInfo
- Publication number
- CN102129434B CN102129434B CN201010034060.7A CN201010034060A CN102129434B CN 102129434 B CN102129434 B CN 102129434B CN 201010034060 A CN201010034060 A CN 201010034060A CN 102129434 B CN102129434 B CN 102129434B
- Authority
- CN
- China
- Prior art keywords
- slave
- master
- write command
- read
- read write
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施方式提供了一种搭建网络应用架构的方法,其中包括读写分离数据库的方法及系统,上述方法及系统属于网络通信领域,该方法包括:主应用服务器master将读写命令复制发送至下发从应用服务器slave,所述下发slave将读写命令下发给slave组中的内其他的slave,所述其他的slave对所述读写命令进行处理;所述下发slave为具有向其他的slave下发读写命令功能的slave。本发明提供的方法及系统具有减少master复制数据的延时,具有提高DB的响应性能的优点。
Description
技术领域
本发明涉及网络通信领域,尤其涉及一种读写分离数据库的方法及系统。
背景技术
随着互联网的发展,数据库的读写机制越来越重要,现有的web2.0应用系统架构下的读写分离数据库的方法为,当接收到用户的读写请求后,主应用服务器(master)向多个从应用服务器(slave)复制数据,由slave完成用户的读写请求,即完成数据库(data-base,DB)的读取。
在实现本发明的过程中,现有技术所提供的技术方案存在如下问题:
现有技术的方案中的web2.0应用系统的结构会造成master向多个slave,产生过多的slave读写请求,导致master复制数据的延时,DB的响应性能下降。
发明内容
本发明提供一种读写分离数据库的方法及系统,该方法及系统能减少master复制数据的延时,具有提高DB的响应性能的优点。
本发明的具体实施方式提供一种读写分离数据库的方法,包括:内容分发网络CDN、应用服务器层、主应用服务器master和从应用服务器slave;所述方法包括:
主应用服务器master将读写命令复制发送至下发从应用服务器slave,所述下发slave将读写命令下发给slave组中的内其他的slave,所述其他的slave对所述读写命令进行处理;
所述下发slave为具有向其他的slave下发读写命令功能的slave。
一种读写分离数据库的系统,所述系统包括:内容分发网络CDN、应用服务器层、主应用服务器master和从应用服务器slave;
所述master用于将读写命令复制发送至下发从应用服务器slave;所述下发slave用于将读写命令下发给slave组中的内其他的slave,所述其他的slave对所述读写命令进行处理;所述下发slave为具有向其他的slave下发读写命令功能的slave。
由上述所提供的技术方案可以看出,本发明实施例的技术方案能减少master复制数据的延时,具有提高DB的响应性能的优点。
附图说明
图1为本发明一实施例提供的方法实现的场景图;
图2为本发明一实施例提供的一种读写分离数据库的方法的流程图;
图3为本发明提供的读写命令的下发流程图;
图4为本发明提供的级联复制的实现方法的流程图。
具体实施方式
本发明提供一实施例,本实施例提供一种读写分离数据库的方法,本实施例实现的技术场景为,该方法实现的技术场景如图1所示,包括:内容分发网络(content delivery network,CDN)、负载均衡产品F5系列(可选的)、多个服务器、应用服务器App和DB,其中所有的Mysql服务器分成2组,一组master,一组slave。该方法如图2所示,包括如下步骤:
S21、F5系列接收到用户的读写请求后,均衡给CDN网络,CDN网络将读写请求分发给服务器,服务器通过APP将读写命令发送给DB中的master;
其中CDN的功能可以为:作为分流请求的第二层,CDN的基本思路就是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳,通过判断出请求用户的IP地址,而选择相邻最近的节点响应请求,能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,而且CDN本身就是一层缓存,类似图片和Flash,视频等大文件,对于网络传输开销都是很大的,有了CDN,这些东西都可以在第一次被访问之后缓存下来,广泛分布的CDN节点和其上的智能冗余策略,还可以提供镜像服务和集群抗攻击效应。
App的功能可以为:作为提供各项具体服务的一层,App也是用户最为关心和接触用户最直接的一层,在这一层里,有提供广告服务的广告服务器(AdServer),有提供搜索服务的搜索服务器(SearchServer),有提供通信服务的短信息接口服务器和邮件服务器,还有提供图片分享的图片服务器(ImageServer),等等。
S22、master将读写命令复制发送至下发slave,下发slave将读写命令下发给组内其他的slave;
上述下发slave可以为具有向其他的slave下发读写命令功能的slave。
S24、组内其他的slave处理接收到的读写命令。
可选的,上述方法采用F5系列接收到用户的读写请求后,均衡给CDN网络为可选的操作。上述通过F5系列进行负载均衡的处理降低了DB的负载。
可选的,上述方法还包括:在APP层采用Xapian为用户提供搜索服务,可选的,该方法还可以对搜索引擎建立友好统一资源定位符(Universal ResourceLocator,URL),优化搜索引擎。
上述建立友好URL的方法具体可以为:将URL的格式从
“?user=124&time=2009”修改成“/user/124/time/2009”。即将动态的URL修改成静态的URL,当优化为静态URL时,有利于搜索引擎收录,便于交流记忆。具体的实现方法可以通过解析由URL重写规则来完成,此功能在服务器端配置。
上述方法在APP层还可以包括,采用cache为用户提供页面服务。
可选的,在S24之后,还可以包括:统计用户的读写命令的信息,建立操作日志,并将用户的读写命令的信息记录在操作日志内。该读写命令的信息包括但不限于,读写命令的成功率、读写命令的发起时间、读写命令的处理进度等等。
可选的,上述方法在S24之后,还可以包括:定期存储数据,并设置时限阈值,将超过时限阈值的数据删除。上述通过对存储的数据进行定期的管理,减少了数据的存储压力,降低了DB的负载。
本实施例提供的方法中的DB采用级联复制(具体可以为:master将读写命令复制给下发slave,下发slave将读写命令下发给组内其他的slave,参见图3,图4为级联复制的实现方法)下发读写请求,减少了master管理的slave的个数,进而减少了master与slave的输入输出(IO)线程,减少了master的负载,减少master复制数据的延时,具有提高DB的响应性能的优点。
本发明还提供一种读写分离数据库的系统,该系统如图4所示,包括:内容分发网络CDN41、应用服务器层42、主应用服务器master43和从应用服务器slave层44;
上述slave层44包括:下发slave441和其他slave442;master43用于将读写命令复制发送至下发从应用服务器slave441;下发slave441用于将读写命令下发给slave组中的内其他的slave442,其他的slave442对所述读写命令进行处理;下发slave441为具有能向其他的slave442下发读写命令的slave。
可选的,上述系统还包括:F5产品45,用于在CDN之前进行负载分配。
可选的,上述系统还包括:统计单元46,用于统计master43和slave44处理的用户的读写命令的信息,建立操作日志,并将用户的读写命令的信息记录在操作日志内。
可选的,上述系统还包括:存储单元47,用于定期存储master43和slave44的数据,并设置时限阈值,将超过时限阈值的数据删除。
本实施例提供的装置中的master将读写命令复制给下发slave,下发slave将读写命令下发给组内其他的slave,减少了master管理的slave的个数,进而减少了master与slave的输入输出(IO)线程,减少了master的负载,减少master复制数据的延时,具有提高DB的响应性能的优点。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,该程序在执行时,包括上述方法步骤,所述的存储介质包括:ROM/RAM、磁盘、光盘等。
综上所述,本发明具体实施方式提供的技术方案,具有加载的时间较短,用户体验高的优点。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1.一种读写分离数据库的方法,其特征在于,包括:内容分发网络CDN、应用服务器层、主应用服务器master和从应用服务器slave;所述方法包括:
主应用服务器master将读写命令复制发送至下发从应用服务器slave,所述下发slave将读写命令下发给slave组中的内其他的slave,所述其他的slave对所述读写命令进行处理;
所述下发slave为具有向其他的slave下发读写命令功能的slave;
在所述master将读写命令复制发送至所述下发slave之前还包括:
负载均衡产品接收到用户的读写请求后,均衡给所述CDN,所述CDN将读写请求分发给服务器,服务器通过APP将读写命令发送给所述master;
所述方法还包括:在应用服务器层为用户提供搜索服务;
对应用服务器层的搜索引擎建立友好统一资源定位符URL。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:统计master和slave处理的用户的读写命令的信息,建立操作日志,并将用户的读写命令的信息记录在操作日志内。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:定期存储master和slave的数据,并设置时限阈值,将超过时限阈值的数据删除。
4.一种读写分离数据库的系统,其特征在于,所述系统包括:内容分发网络CDN、应用服务器层、主应用服务器master和从应用服务器slave;
所述master用于将读写命令复制发送至下发从应用服务器slave;所述下发slave用于将读写命令下发给slave组中的内其他的slave,所述其他的slave对所述读写命令进行处理;所述下发slave为具有向其他的slave下发读写命令功能的slave;
所述系统还包括:负载均衡产品,用于接收到用户的读写请求后,均衡给所述CDN,所述CDN将读写请求分发给服务器,服务器通过APP将读写命令发送给所述master;
所述应用服务器层为用户提供搜索服务,应用服务器层的搜索引擎建立友好统一资源定位符URL。
5.根据权利要求4所述的系统,其特征在于,所述系统还包括:统计单元,用于统计master和slave处理的用户的读写命令的信息,建立操作日志,并将用户的读写命令的信息记录在操作日志内。
6.根据权利要求4所述的系统,其特征在于,所述系统还包括:存储单元,用于定期存储master和slave的数据,并设置时限阈值,将超过时限阈值的数据删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010034060.7A CN102129434B (zh) | 2010-01-13 | 2010-01-13 | 读写分离数据库的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010034060.7A CN102129434B (zh) | 2010-01-13 | 2010-01-13 | 读写分离数据库的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102129434A CN102129434A (zh) | 2011-07-20 |
CN102129434B true CN102129434B (zh) | 2015-06-10 |
Family
ID=44267520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010034060.7A Active CN102129434B (zh) | 2010-01-13 | 2010-01-13 | 读写分离数据库的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102129434B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591964B (zh) * | 2011-12-30 | 2014-07-09 | 北京新媒传信科技有限公司 | 数据读写分离机制的实现方法和装置 |
CN103248656B (zh) * | 2012-02-10 | 2017-04-19 | 联想(北京)有限公司 | 一种实现数据读写的方法以及分布式文件系统、客户端 |
CN102982145A (zh) * | 2012-11-23 | 2013-03-20 | 北京奇虎科技有限公司 | 分配数据库操作请求的系统 |
CN104850548B (zh) * | 2014-02-13 | 2018-05-22 | 中国移动通信集团山西有限公司 | 一种实现大数据平台输入/输出处理的方法及系统 |
CN104410621B (zh) * | 2014-11-25 | 2018-05-18 | 北京国双科技有限公司 | 用于站点读写的数据处理方法和系统 |
CN105991565B (zh) * | 2015-02-05 | 2019-01-25 | 阿里巴巴集团控股有限公司 | 读写分离的方法、系统和数据库代理服务器 |
CN106453460B (zh) * | 2015-08-12 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 一种文件分发方法、装置和系统 |
CN106484713A (zh) * | 2015-08-27 | 2017-03-08 | 中国石油化工股份有限公司 | 一种基于面向服务的分布式请求处理系统 |
CN106528667B (zh) * | 2016-10-24 | 2019-04-23 | 南京中新赛克科技有限责任公司 | 读写分离的低功耗海量数据全文检索系统框架 |
CN108111560B (zh) * | 2016-11-24 | 2020-09-11 | 中国科学院声学研究所 | 一种线速存储网络分组的系统及方法 |
CN107766575B (zh) * | 2017-11-14 | 2020-04-07 | 中国联合网络通信集团有限公司 | 读写分离的数据库访问方法及装置 |
CN117290385B (zh) * | 2023-11-27 | 2024-01-19 | 成都天用唯勤科技股份有限公司 | 基于交易查询应用层分离的数据读写方法、装置及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035113A (zh) * | 2006-03-09 | 2007-09-12 | 董崇军 | 一种终端访问服务器群的方法 |
CN101383753A (zh) * | 2007-09-04 | 2009-03-11 | 普然通讯技术(上海)有限公司 | 从设备级联的系统实现voq调度的方法 |
-
2010
- 2010-01-13 CN CN201010034060.7A patent/CN102129434B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035113A (zh) * | 2006-03-09 | 2007-09-12 | 董崇军 | 一种终端访问服务器群的方法 |
CN101383753A (zh) * | 2007-09-04 | 2009-03-11 | 普然通讯技术(上海)有限公司 | 从设备级联的系统实现voq调度的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102129434A (zh) | 2011-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102129434B (zh) | 读写分离数据库的方法及系统 | |
CN103268318B (zh) | 一种强一致性的分布式键值数据库系统及其读写方法 | |
CN102708165B (zh) | 分布式文件系统中的文件处理方法及装置 | |
CN104135539A (zh) | 数据存储方法、sdn控制器和分布式网络存储系统 | |
CN107832423B (zh) | 一种用于分布式文件系统的文件读写方法 | |
CN113672175A (zh) | 分布式对象存储方法、装置和设备及计算机存储介质 | |
CN103812849A (zh) | 一种本地缓存更新方法、系统、客户端及服务器 | |
CN104657366B (zh) | 海量日志写入数据库的方法、装置和日志容灾系统 | |
CN103793291B (zh) | 分布式数据复制方法和装置 | |
CN102523279A (zh) | 一种分布式文件系统及其热点文件存取方法 | |
CN103399823B (zh) | 业务数据的存储方法、设备和系统 | |
CN102111438B (zh) | 参数调整方法、装置和分布式计算平台系统 | |
CN111339192A (zh) | 一种分布式边缘计算数据存储系统 | |
US20130031221A1 (en) | Distributed data storage system and method | |
CN106445409A (zh) | 一种分布式块存储的数据写入方法及装置 | |
CN102207937A (zh) | 一种数据库访问方法和系统 | |
CN101916289A (zh) | 支持海量小文件和动态备份数的数字图书馆存储系统的构建方法 | |
CN104184812A (zh) | 一种基于私有云的多点数据传输方法 | |
CN109739684B (zh) | 基于向量时钟的分布式键值数据库的副本修复方法与装置 | |
CN102982182A (zh) | 一种数据存储规划方法及装置 | |
CN104424052A (zh) | 一种自动冗余的分布式存储系统及方法 | |
CN105488108A (zh) | 一种多个视频文件高速并行存储的方法及装置 | |
WO2024021470A1 (zh) | 一种跨区域的数据调度方法、装置、设备及存储介质 | |
CN113806300A (zh) | 数据存储方法、系统、装置、设备及存储介质 | |
CN107193693A (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 |