CN105447121A - 一种数据库集群重建连接高可用的方法 - Google Patents
一种数据库集群重建连接高可用的方法 Download PDFInfo
- Publication number
- CN105447121A CN105447121A CN201510785757.0A CN201510785757A CN105447121A CN 105447121 A CN105447121 A CN 105447121A CN 201510785757 A CN201510785757 A CN 201510785757A CN 105447121 A CN105447121 A CN 105447121A
- Authority
- CN
- China
- Prior art keywords
- data
- application system
- base cluster
- request
- application
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据库集群重建连接高可用的方法,包括:应用***通过数据库集群中的一个集群节点与数据库集群建立连接,向数据库集群发送业务请求;数据库集群在会话保持实体中记录应用***的业务请求;如果应用***连接的集群节点停止服务,应用***与集群节点间的连接中断;应用***重新向数据库集群建立连接;数据库集群通过会话保持实体获取到该应用***连接中断之前的业务请求,将其关联到应用***当前的连接,本次重建连接完成。本发明提高了数据库集群高可用性,保证应用***的业务连续性。
Description
技术领域
本发明涉及数据库集群的访问技术,尤其涉及一种数据库集群重建连接高可用的方法。
背景技术
随着信息化技术的快速发展,一个企业的用户数量、数据量均呈现***式增长,在业务量提高的同时,数据库的访问量和数据量快速增长对数据库处理能力和计算强度也相应增大,使得单一节点数据库根本无法承担。在这样一个背景下,大型分布式数据库集群产生了,所谓数据库集群,是指利用两台或多台数据库服务,构成一个虚拟单一数据库逻辑映像,像单数据库那样,向客户端提供透明的数据服务。
目前,有两种主流的数据库集群架构,带中心节点的集群架构和不带中心节点的MPP架构。带中心节点的集群架构,所有应用***从中心节点接入数据库集群,并获得数据库集群提供的服务;不带中心节点的MPP架构,每个集群节点均可提供接入服务,应用***可以从任意集群节点接入数据库集群,并获得一致的据库集群服务。对于不带中心节点的MPP架构的数据库集群,虽然应用***可以从任意集群节点接入数据库集群,但是当应用***基于现有的数据库接口驱动与某个集群节点重建连接时,如果该集群节点宕机不能提供服务,那么就必须由操作者选择其他的集群节点与应用***重建连接。在这种情况下,如果无人值守,那么虽然数据库集群是可用的,但应用***无法通过一个不能提供服务的集群节点访问数据库集群,造成使用上的不便。
发明内容
本发明提供的一种数据库集群重建连接高可用的方法,通过在数据库集群中新增会话保持实体,并结合数据库接口驱动,实现连接高可用,在数据库集群可用的情况下,确保应用***在连接断开后能够重新建立到数据库集群的连接,且业务不被中断。采用本发明中的方法,提高了数据库集群高可用性,保证应用***的业务连续性。
本发明实施例提供了一种数据库集群重建连接高可用的方法,包括:
应用***通过数据库集群中的一个集群节点与数据库集群建立连接,向数据库集群发送业务请求;
数据库集群在会话保持实体中记录应用***的业务请求;
如果应用***连接的集群节点停止服务,应用***与集群节点间的连接中断;
应用***重新向数据库集群建立连接;
数据库集群通过会话保持实体获取到该应用***连接中断之前的业务请求,将其关联到应用***当前的连接,本次重建连接完成。
本发明具有的优点和积极效果是:
1、重建连接高可用:应用***与数据库集群的连接中断时,可以通过数据库接口驱动获取其他的集群节点IP地址,然后重新建立到集群的连接,在集群可用的情况下,可以继续访问到集群提供的服务;
2、保持业务连续性:应用***不仅重新建立了到数据库集群的连接,同时在数据库集群的会话保持实体的作用下,可以继续执行连接断开之前的业务,从而避免了因为连接中断而造成正在执行的业务失败,保证了应用***的业务连续性,提高客户体验;
3、提高数据库重建连接的易用性:只需要在接口驱动的配置中写入多个集群节点IP以及相应的策略,就可以使得应用***即使在出现连接中断的情况下,也能轻松访问多个集群节点组成的数据库集群。
附图说明
图1是本发明的实施例一提供的一种数据库集群重建连接高可用的方法的流程图;
图2是本发明的实施例一提供的一种数据库集群重建连接高可用的方法中应用***重新建立到数据库集群的流程图;
图3是本发明的实施例一提供的一种数据库集群重建连接高可用的***的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的数据库集群重建连接高可用的方法的流程图,所述的方法通过数据库集群重建连接高可用的***来执行,其中该装置通过软件和/或硬件来实现,可作为服务器的一部分置于服务器中,
如图3所示,所述***包括:
数据库集群,该数据库集群至少包括两个集群节点;
应用***,用于调用数据库接口驱动,向数据库集群发起建立连接请求,并向数据库集群发送业务请求;
数据库接口驱动,用于获取及选择数据库集群中集群节点的IP地址,并向选择的IP地址发起建立连接请求,同时判断该建立连接是否成功;
会话保持实体,用于记录和保存业务请求信息与应用ID关联信息。
如图1所示,所述的方法包括:
S101:应用***通过数据库接口驱动向数据库集群建立连接;
S102:应用***向数据库集群请求注册应用ID,该应用ID唯一标识该应用;
S103:数据库集群在会话保持实体中保存该应用ID,保存成功后向应用***发送响应消息;
S104:数据库集群在会话保持实体中记录应用***的业务请求;
S105:如果应用***连接的集群节点停止服务,应用***与集群节点间的连接中断;
S106:应用***重新向数据库集群建立连接;
S107:应用***重新向数据库集群发起注册应用ID请求;
S108:数据库集群接收到应用***的注册应用ID请求,在会话保持实体中重新注册应用ID,并通过会话保持实体中的记录信息获取应用ID连接中断前的相关业务请求信息,重新建立与该应用ID的关联;
S109:应用***继续中断连接前的业务,本次重建连接完成。
进一步,数据库集群在会话保持实体中记录应用***的业务请求,包含:数据集群接收到应用***发起的业务请求后,将该业务请求信息与应用ID关联并记录到会话保持实体中,以业务为单元进行记录,即在会话保持实体中记录应用***未完成的业务,业务结束(提交或回滚)以后,在会话保持实体中清除此次业务全部信息。
如图2所示,一种数据库集群重建连接高可用的方法中应用***重新建立到数据库集群的方法包括:
S201:应用***调用数据库接口驱动,重新向数据库集群发起建立连接请求;
S202:根据建立连接请求,数据库接口驱动通过配置文件获取数据库集群节点的IP地址节点列表;
S203:数据库接口驱动根据策略获取其中一个集群节点的IP地址,该集群节点IP不同于之前连接中断的集群节点IP;
S204:数据库接口驱动验证获取的该集群节点的IP地址的有效性,判断其是个有效的IP地址,并向该IP地址发起建立连接请求;
S205:判断建立连接是否成功。如果如果建立连接成功,则执行S206,如果如果建立连接不成功,则执行S207。
S206:本次应用***和数据库集群的建立连接完成;
S207:数据库接口驱动获取数据库集群中另一个集群节点的IP地址,并向该该IP地址发起建立连接请求,数据库接口驱动判断与该集群节点建立连接成功,本次应用***建立到数据库集群的连接完成。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (7)
1.一种数据库集群重建连接高可用的方法,其特征在于:包括:
应用***通过数据库集群中的一个集群节点与数据库集群建立连接,向数据库集群发送业务请求;
数据库集群在会话保持实体中记录应用***的业务请求;
如果应用***连接的集群节点停止服务,应用***与集群节点间的连接中断;
应用***重新向数据库集群建立连接;
数据库集群通过会话保持实体获取到该应用***连接中断之前的业务请求,将其关联到应用***当前的连接,本次重建连接完成。
2.根据权利要求1所述的一种数据库集群重建连接高可用的方法,其特征在于:应用***通过数据库集群中的一个集群节点与数据库集群建立连接,向数据库集群发送业务请求,包含:
应用***通过数据库接口驱动向数据库集群建立连接;
应用***向数据库集群请求注册应用ID,该应用ID唯一标识该应用;
数据库集群在会话保持实体中保存该应用ID,保存成功后向应用***发送响应消息。
3.根据权利要求1所述的一种数据库集群重建连接高可用的方法,其特征在于:数据库集群在会话保持实体中记录应用***的业务请求,进一步还包含:数据集群接收到应用***发起的业务请求后,将该业务请求信息与应用ID关联并记录到会话保持实体中,以业务为单元进行记录,即在会话保持实体中记录应用***未完成的业务,业务结束(提交或回滚)以后,在会话保持实体中清除此次业务全部信息。
4.根据权利要求1所述的一种数据库集群重建连接高可用的方法,其特征在于:应用***重新建立到数据库集群的连接,进一步还包含如下处理:
应用***调用数据库接口驱动,重新向数据库集群发起建立连接请求;
根据建立连接请求,数据库接口驱动获取数据库集群中一个集群节点的IP地址,并向该IP地址发起建立连接请求;
如果建立连接成功,则本次应用***和数据库集群的建立连接完成;
如果建立连接不成功,则数据库接口驱动获取数据库集群中另一个集群节点的IP地址,并向该该IP地址发起建立连接请求。
5.根据权利要求4所述的一种数据库集群重建连接高可用的方法,其特征在于:根据建立连接请求,数据库接口驱动获取数据库集群中一个集群节点的IP地址,并向该IP地址发起建立连接请求,包括:
根据建立连接请求,数据库接口驱动通过配置文件获取数据库集群节点的IP地址节点列表;
数据库接口驱动根据策略获取其中一个集群节点的IP地址,该集群节点IP不同于之前连接中断的集群节点IP;
数据库接口驱动验证获取的该集群节点的IP地址的有效性,判断其是个有效的IP地址,并向该IP地址发起建立连接请求。
6.根据权利要求4所述的一种数据库集群重建连接高可用的方法,其特征在于:如果建立连接不成功,则数据库接口驱动获取数据库集群中另一个集群节点的IP地址,并向该该IP地址发起建立连接请求,进一步还包含如下处理,数据库接口驱动判断与该集群节点建立连接成功,本次应用***建立到数据库集群的连接完成。
7.根据权利要求1所述的一种数据库集群重建连接高可用的方法,数据库集群通过会话保持实体获取到该应用***连接中断之前的业务请求,将其关联到应用***当前的连接,本次重建连接完成,包含:
应用***重新向数据库集群发起注册应用ID请求;
数据库集群接收到应用***的注册应用ID请求,在会话保持实体中重新注册应用ID,并通过会话保持实体中的记录信息获取应用ID连接中断前的相关业务请求信息,重新建立与该应用ID的关联;
应用***继续中断连接前的业务,本次重建连接完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510785757.0A CN105447121A (zh) | 2015-11-16 | 2015-11-16 | 一种数据库集群重建连接高可用的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510785757.0A CN105447121A (zh) | 2015-11-16 | 2015-11-16 | 一种数据库集群重建连接高可用的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105447121A true CN105447121A (zh) | 2016-03-30 |
Family
ID=55557299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510785757.0A Pending CN105447121A (zh) | 2015-11-16 | 2015-11-16 | 一种数据库集群重建连接高可用的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105447121A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357744A (zh) * | 2016-08-29 | 2017-01-25 | 浪潮(北京)电子信息产业有限公司 | Smb客户端重连集群的方法、***及smb客户端 |
CN107203604A (zh) * | 2017-05-16 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种数据分发管理方法、平台、装置及*** |
CN110659262A (zh) * | 2019-09-20 | 2020-01-07 | 聚好看科技股份有限公司 | 一种redis节点主从切换方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060085549A1 (en) * | 2004-10-18 | 2006-04-20 | Srinivas Hasti | Methods, systems and computer program products for dynamically updating session state affinity |
CN101183377A (zh) * | 2007-12-10 | 2008-05-21 | 华中科技大学 | 一种基于消息中间件的高可用性数据库集群 |
CN101364930A (zh) * | 2008-09-24 | 2009-02-11 | 深圳市金蝶中间件有限公司 | 会话控制方法、装置及*** |
CN102685237A (zh) * | 2012-05-16 | 2012-09-19 | 东南大学 | 一种集群环境下请求会话保持与调度的方法 |
-
2015
- 2015-11-16 CN CN201510785757.0A patent/CN105447121A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060085549A1 (en) * | 2004-10-18 | 2006-04-20 | Srinivas Hasti | Methods, systems and computer program products for dynamically updating session state affinity |
CN101183377A (zh) * | 2007-12-10 | 2008-05-21 | 华中科技大学 | 一种基于消息中间件的高可用性数据库集群 |
CN101364930A (zh) * | 2008-09-24 | 2009-02-11 | 深圳市金蝶中间件有限公司 | 会话控制方法、装置及*** |
CN102685237A (zh) * | 2012-05-16 | 2012-09-19 | 东南大学 | 一种集群环境下请求会话保持与调度的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357744A (zh) * | 2016-08-29 | 2017-01-25 | 浪潮(北京)电子信息产业有限公司 | Smb客户端重连集群的方法、***及smb客户端 |
CN107203604A (zh) * | 2017-05-16 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种数据分发管理方法、平台、装置及*** |
CN110659262A (zh) * | 2019-09-20 | 2020-01-07 | 聚好看科技股份有限公司 | 一种redis节点主从切换方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018076759A1 (zh) | 基于区块链的多链管理方法、***、电子装置及存储介质 | |
US10313452B2 (en) | Migrating a chat message service provided by a chat server to a new chat server | |
CN105516284B (zh) | 一种集群数据库分布式存储的方法和装置 | |
JP5398836B2 (ja) | メッセージ処理のための方法及びシステム | |
CN103634144B (zh) | 多idc集群的配置文件管理方法、***和设备 | |
CN103248645B (zh) | Bt离线数据下载***及方法 | |
CN103744719B (zh) | 锁管理方法及***、锁管理***的配置方法及装置 | |
CN106933548B (zh) | 全局信息获取、处理及更新、方法、装置和*** | |
CN106911728A (zh) | 分布式***中主节点的选取方法和装置 | |
CN105867837A (zh) | 一种分布式高速缓存***中的客户端配置更新方法、设备及*** | |
CN105988862A (zh) | 分布式事务处理方法及装置 | |
CN111405019A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN107888787B (zh) | 一种媒体接入请求的处理方法及装置 | |
CN107666493B (zh) | 一种数据库配置方法及其设备 | |
CN105681426B (zh) | 异构*** | |
TW201724001A (zh) | 全域資訊獲取、處理及更新方法、裝置和系統 | |
CN106713391A (zh) | 一种session信息的共享方法和共享*** | |
WO2021136233A1 (zh) | 业务升级的方法、装置和*** | |
JP6975153B2 (ja) | データ格納サービス処理方法及び装置 | |
CN106921721A (zh) | 一种服务器、会话管理方法和*** | |
CN105447121A (zh) | 一种数据库集群重建连接高可用的方法 | |
WO2017067374A1 (zh) | 一种消息推送方法及推送服务器 | |
WO2017071384A1 (zh) | 报文处理的方法及装置 | |
CN107547512B (zh) | 一种多级云平台中的用户认证方法和装置 | |
US8230086B2 (en) | Hidden group membership in clustered computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160330 |