[发明专利]一种基于Nginx的高可用MySQL数据库的实现方法在审
申请号: | 201710059502.5 | 申请日: | 2017-01-24 |
公开(公告)号: | CN106919654A | 公开(公告)日: | 2017-07-04 |
发明(设计)人: | 王换换;余文文;王竞;吴响 | 申请(专利权)人: | 徐州医科大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京盛凡智荣知识产权代理有限公司11616 | 代理人: | 晏荣府 |
地址: | 221004 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 nginx 可用 mysql 数据库 实现 方法 | ||
1.一种基于Nginx的高可用MySQL数据库的实现方法,其特征在于:它包括Web服务器集群、主从数据库服务器集群、Nginx反向代理服务器、页面缓存服务器和数据缓存服务器;用户向Nginx反向代理服务器发送连接请求,Nginx反向代理服务器将请求转发至Web服务器集群,Web服务器接收到该请求,首先在页面缓存服务器与数据缓存服务器中查找是否有相应的数据,若存在,则直接使用缓存数据;若不存在,则通过数据库连接工具DBConnection分析SQL语句判断读写操作并连接到相应的主从数据库服务器,主从数据库服务器进行相应的操作并将结果返回到Web服务器。
2.根据权利要求1所述的一种基于Nginx的高可用MySQL数据库的实现方法,其特征在于:当Web服务器接收到来自反向代理服务器Nginx的请求时,Web服务器通过DBConnection分析SQL语句,判断对数据库所将要进行的操作类型,具体分为读操作与写操作两种情况:
(1)当DBConnection分析SQL语句得出是写操作时,会在主数据库服务器集群中随机选择一个处于闲置可用状态的主数据库服务器,执行数据的写入操作;
(2)当DBConnection分析SQL语句得出是读操作时,会在从数据库服务器集群中依次选择一个处于闲置可用状态的从数据库服务器,此处设置一个时序控制来防止脏读,即在分发数据时添加一个时序信息,用于确保数据查询的实时性。
3.根据权利要求2所述的一种基于Nginx的高可用MySQL数据库的实现方法,其特征在于:写数据库操作工作流程如下:
(1)反向代理服务器接收用户发送的连接请求,并转发到Web服务器;
(2)Web服务器接收该请求,通过数据库连接工具DBConnection分析SQL语句得出是写操作;
(3)通过数据库连接字符串连接主数据库服务器集群,随机选择空闲的主数据库服务器;
(4)主数据库服务器进行相应的写操作,同时主数据库服务器生成相应的二进制日志,向主数据库服务器集群中其他主数据库服务器和从数据库服务器集群中的高性能从数据库服务器分发该二进制日志;
(5)当高性能的从数据库服务器接收到该二进制日志时,则产生相应的中继日志并根据该日志对自身进行相应的写操作,同时向其他从数据库服务器分发二进制日志,同步其数据库中的数据,当其他主数据库服务器接收到该二进制日志时,产生相应的中继日志并根据该日志对自身进行相应的写操作;
(6)从数据库服务器向Web服务器返回操作结果,Web服务器向Nginx反向代理服务器返回操作结果,最后Nginx反向代理器转发该相应结果给用户。
4.根据权利要求2所述的一种基于Nginx的高可用MySQL数据库的实现方法,其特征在于:读数据库操作工作流程如下:
(1)反向代理服务器接收用户发送的连接请求,并转发到Web服务器;
(2)Web服务器接收该请求,通过数据库连接工具DBConnection分析SQL语句得出是读操作;
(3)Web服务器向页面缓存服务器与数据缓存服务器查询是否存在该数据;若不存在,则执行步骤(4),若存在,直接对缓存服务器的数据进行读操作,向用户返回读取结果;
(4)通过数据库连接字符串连接从数据库服务器集群,依次选择空闲的从数据库服务器,进行读操作,与序列号比较,判断数据是否存在而且正确;
(5)最后向用户返回读取结果,结果有且仅有两种情况,即数据不存在或者正确。
5.根据权利要求1所述的一种基于Nginx的高可用MySQL数据库的实现方法,其特征在于:采用数据库服务器的主从结构,在同一集群中,首先接收到数据的数据库服务器成为主服务器,它负责将二进制日志分发给从服务器,从服务器进行数据同步;主从数据库服务器数据具有实时同步性,二者通过高速传输网络连接。
6.根据权利要求5所述的一种基于Nginx的高可用MySQL数据库的实现方法,其特征在于:主数据库服务器当进行写入数据时会同时产生一个二进制日志,并将该二进制日志发送至其他主数据库服务器与从数据库集群中性能高的从数据库服务器,此从数据库服务器与其他从数据库服务器构成主从结构,该数据库服务器接收到二进制日志后会产生相应的中继日志,并对自身的数据进行相应的操作,同时将二进制日志分发给其他从数据库服务器,当其他数据库服务器接收到该二进制日志是会相应产生一个中继日志,并根据该中继日志对自己的数据进行相应的操作,从而达到数据的同步;使用黑洞存储引擎来解决对数据进行操作后也会产生响应的二进制日志转发。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于徐州医科大学,未经徐州医科大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710059502.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于用户行为的日志过滤方法
- 下一篇:一种答案提供方法和装置