CN110175089A - 一种具有读写分离功能的双活灾备系统 - Google Patents
一种具有读写分离功能的双活灾备系统 Download PDFInfo
- Publication number
- CN110175089A CN110175089A CN201910414284.1A CN201910414284A CN110175089A CN 110175089 A CN110175089 A CN 110175089A CN 201910414284 A CN201910414284 A CN 201910414284A CN 110175089 A CN110175089 A CN 110175089A
- Authority
- CN
- China
- Prior art keywords
- layer
- data
- read
- dual
- write abruption
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种具有读写分离功能的双活灾备系统,包括依次级联的网络层、应用层、数据层、存储层;所述网络层提供用户访问业务系统的通道;所述应用层通过统一图形化界面把系统中的所有软硬件资源状态、告警信息在统一的界面中动态展示;所述数据层包括两个活动的数据中心,用来对业务数据进行统一组织管理;所述存储层用于提供存储、同步、复制功能。该系统利用冗余备用资源在异地与主数据中心在网络层、应用层、数据层和存储层构建层层双活的灾备系统,同时利用读写分离集群,实现主备数据中心读写分离,减轻主数据中心负载。
Description
技术领域
本发明属于数据处理技术领域,具体涉及一种具有读写分离功能的双活灾备系统。
背景技术
随着信息技术的广泛运用,越来越多的重要数据以电子化的形式存储在数据数据库中,这种方式虽然能够提高便利性,但也很容易发生数据丢失。特别是随着信息化程度越来越高,企业各业务对于信息系统持续稳定运行的依赖度越来越高,这使得不可抗性灾难(比如地震、海啸等破坏性事件和人为因素等)会对整个信息系统数据和业务产生巨大的影响,甚至会对企业造成毁灭性的打击。现有技术中广泛采用冗余设置的主备数据中心,以在主数据中心出现故障时迅速切换到备用数据中心,以保证系统的持续工作。该方法存在一定的不足:冗余服务器和工作服务器设置于同一机房内,在避免影响本地的灾害事故造成的故障和数据丢失,并且冗余服务器备份和恢复数据过程中会一定程度上影响到工作服务器的正常工作;另外用户的读写操作均在同一服务器上,造成主服务器负载过重,容易发生宕机服务中断现象。
发明内容
发明目的:针对现有技术中存在的问题,本发明提供了一种具有读写分离功能的双活灾备系统,本发明利用冗余备用资源在异地与主数据中心在网络层、应用层、数据层和存储层构建层层双活的灾备系统,同时利用读写分离集群,实现主备数据中心读写分离,减轻主数据中心负载。
技术方案:本发明采用如下技术方案:
一种具有读写分离功能的双活灾备系统,包括依次级联的网络层、应用层、数据层、存储层;所述网络层提供用户访问业务系统的通道;所述应用层通过统一图形化界面把系统中的所有软硬件资源状态、告警信息在统一的界面中动态展示;所述数据层包括两个活动的数据中心,用来对业务数据进行统一组织管理;所述存储层用于提供存储、同步、复制功能。
所述网络层根据负载平衡策略将域名解析为网络地址,引导用户访问不同的节点,从而获得所需的服务。
所述应用层采用服务器集群技术和中间件集群技术实现;所述服务器集群技术将网络上的多台服务器相关联,对外表现为一台逻辑服务器,提供一致的服务;多台服务器互为备份;
所述中间件集群技术通过在多台服务器上部署和运行中间件程序,中间件程序互相通信,共享数据,协同处理业务请求。
所述数据层采用数据库集群技术通过构建出虚拟单一数据库逻辑映像,为应用程序提供透明的数据服务;在数据库集群上部署基于redo的读写分离技术。
所述存储层通过存储虚拟化技术来虚拟化存储设备,将多台存储设备在逻辑层面整合为单一设备。
有益效果:与主备模式下处于“待命”状态的灾备中心相比,本发明公开的一种具有读写分离功能的双活灾备系统具有如下优点:系统路由全冗余,消除了单故障点,且数据专线和应用物理隔离;使用负载均衡安全可靠、故障秒级切换恢复;实现读写分离的双活,并且数据实施同步,保证了数据的安全可靠;采用分布式存储集群,并且应用虚拟化技术虚拟出逻辑映像,排除单点的物理存储故障造成系统瘫痪。
附图说明
图1为本发明公开的具有读写分离功能的双活灾备系统的组成框图;
图2为实现读写分离集群的流程图;
图3为读写分离集群数据库连接创建流程图;
图4为读写分离集群语句分发流程图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明。
如图1所示,一种具有读写分离功能的双活灾备系统,包括网络层1、应用层2、数据层3、存储层4。
一、网络层
网络系统是用户访问业务系统的通道,也是数据中心内部和数据中心之间传输数据的桥梁。在“双活”模式下,为充分利用双中心资源,有必要恰当引导网络层中的用户流量,平衡两个中心之间的网络负载。
负载均衡技术可以实现网络负载均衡。当用户访问业务系统时,根据负载平衡策略将域名解析为网络地址,引导用户访问不同的节点,从而获得所需的服务;同时,域名解析系统与分布在双中心的节点保持通信,收集节点运行状态,保证向用户提供可用节点,最终实现网络负载的均衡分担和业务系统访问的高可用性。
1.全局负载均衡接入技术
在网络层采用全局负载均衡器,利用全局负载均衡器的智能DNS及就近访问特性,把用户分配到两个数据中心。在域名解析过程中,主数据中心DNS作为解析的根域名,在主数据中心DNS上配置两条NS记录,指向两个中心的负载均衡,负载均衡器利用智能DNS的功能解析域名,并根据配置的就近性策略,把解析后的访问分配给主数据中心或者副数据中心。
2.服务器负载均衡
服务器负载均衡采用旁挂方式,负载分担的算法采用源地址散列,客户端的请求报文通过负载均衡设备,返回给客户端的报文直接通过交换机返回,从而减轻服务器负载均衡的负担,避免服务器负载均衡成为网络瓶颈。为有效探测某一台应用服务器“假死”或宕机,及时剔除应用集群,写脚本访问数据库,可以正常访问表明该应用服务器正常。
二、应用层
应用层双活主要通过服务器集群技术和中间件集群技术实现。服务器集群技术即用集群软件将网络上的多台服务器相关联,对外表现为一台逻辑服务器,提供一致的服务。同时多台服务器互为备份,在部分故障的情况下,整个集群仍保持正常运行。中间件集群技术通过在多台服务器上部署和运行中间件程序,中间件程序互相通信,共享数据,协同处理业务请求,一旦有节点出现故障,健康的节点会自动接管并处理相应用户请求,用户请求无需重新提交。在实现服务器集群和中间件集群的基础上,通过将应用程序部署到不同应用服务器上,即可实现应用“双活”。
另外,在应用层部署分布式资源调度程序,其能够统一管理系统中的所有资源,并能根据信息实时的动态响应。通过统一图形化界面把系统中的所有软硬件资源状态、告警等信息在统一的界面中动态展示,方便维护人员及时发现和诊断问题,还具有监控和管理、告警、任务定制、日志分析、系统优化等功能。
三、数据层
数据库是业务系统的核心,用来对业务数据进行统一组织管理。数据库“双活”要求双中心数据库同时在线运行,对外提供统一服务来支持相同的应用负载。一个中心的数据库出现问题时,能够迅速进行自动切换,并在切换过程中保持服务持续提供。与主备模式下处于“待命”状态的灾备中心相比,数据库“双活”避免了切换过程对前台应用的影响,同时通过负载均衡配置,提高了数据库的整体处理能力。
数据库“双活”可通过数据库集群技术实现。数据库集群技术通过构建出虚拟单一数据库逻辑映像,像单数据库系统那样,为应用程序提供透明的数据服务。要实现跨地域的数据库集群,在保证双中心大二层网络连通和实现了存储虚拟化的基础上,可通过对原有生产中心的数据库集群进行扩充或是将集群中已有的数据服务器在分别放置在两个数据中心通过来实现。
在数据库集群上部署基于redo的读写分离技术,实现读写分离集群的基本思路是:在主库分流比例为零的情况下,利用备库提供只读服务、无法修改数据的特性,优先将所有操作发送到备库执行,一旦备库执行报错,则发送到主库重新执行。通过备库“试错”这么一个步骤,自然地将只读操作分流到备库执行。当主库分流比例大于零时,会自动根据数据库执行的事务,按照比例进行分配,主机直接执行分配到的事务,备机依然按照上述的“试错”方式进行。
四、存储层
无论是什么物理存储设备,都可通过存储虚拟化技术来虚拟化存储设备,该技术能够将多台存储设备在逻辑层面整合为单一设备,使业务系统能够对地理上分离的多台存储设备同时进行实时访问,服务器及其应用系统显示都是其物理设备的逻辑映像。即使后端的物理存储有变化,逻辑映像也不会改变,存储对用户是透明的,用户不必关心存储设备的功能差别,容量大小,设备类型和制造商如何,所有的设备将被统一管理。同时,双中心的存储设备处于运行状态,共同承担业务,保持负载均衡,数据实时同步,且互为备份。
利用存储虚拟化实现存储双活,解决了两个核心问题:
1.其实现两个数据中心间的数据实时同步,以此保障异常情况下数据丢失为零;
2.其提供存储共享卷供两个数据中心主机同时访问,从而实现跨站点部署的主机应用集群,以此保障保证异常情况下,应用可以自动切换。
读写分离集群的实现基础是即时归档。即时归档有如下特点:
1.主库先将日志写入本地联机Redo日志文件中,再发送到备库。
2.备库日志重演时机有两种选择:
事务一致模式要求备库在重演Redo日志完成后再响应主库。
高性能模式收到Redo日志后,马上响应主库。
3.即时归档的同步机制,可以保证备库的Redo日志不会比主库的Redo日志多,因此即时备库直接启动Redo日志重演。
4.备库故障、或者主备库之间网络故障,主库马上修改即时归档为Invalid状态,并切换数据库为Suspend状态。
5.即时归档修改为Invalid状态后,会强制断开对应该备库上存在影子会话的用户会话,避免只读操作继续分发到该备库,导致查询数据不一致。
实现读写分离集群的基本思路是:在主机分流比例为零的情况下,利用备库提供只读服务、无法修改数据的特性,优先将所有操作发送到备库执行,一旦备库执行报错,则发送到主库重新执行。通过备库“试错”这么一个步骤,自然地将只读操作分流到备库执行。并且,备库“试错”由接口层自动完成,对应用透明,流程如图2所示。
当主机分流比例大于零时,会自动根据数据库执行的事务,按照比例进行分配,主机直接执行分配到的事务,备机依然按照上述的“试错”方式进行。
如图3所示,读写分离集群数据库连接创建流程为:
1.用户发起数据库连接请求。
2.接口(JDBC、DPI等)根据服务名配置登录主库。
3.主库挑选一个有效即时备库的IP/Port返回给接口。
4.接口根据返回的备库IP和Port信息,向备库发起一个连接请求。
5.备库返回连接成功信息。
6.接口响应用户数据库连接创建成功。
接口在备库上创建的连接,是读写分离集群自动创建的;对用户而言,就是在主库上创建了一个数据库连接。下面以配置了两个备库的读写集群为例,说明读写分离集群的连接创建流程。
如图4所示,读写分离集群语句分发流程为:
1.接口收到用户的请求。
2.接口优先将SQL发送到备库执行。
3.备库执行并返回执行结果。如果接口收到的是备库执行成功消息,则转到第6步,如果接口收到的是备库执行失败消息,则转到第4步。
4.重新将执行失败的SQL发送到主库执行。只要第3步中的SQL在备库执行失败,则同一个事务后续的所有操作(包括只读操作)都会直接发送到主库执行。
5.主库执行并返回执行结果给接口。一旦主库上执行的写事务提交,则下次继续从第1步开始执行。
6.接口响应用户并将执行结果返回给用户。
Claims (5)
1.一种具有读写分离功能的双活灾备系统,其特征在于,包括依次级联的网络层、应用层、数据层、存储层;所述网络层提供用户访问业务系统的通道;所述应用层通过统一图形化界面把系统中的所有软硬件资源状态、告警信息在统一的界面中动态展示;所述数据层包括两个活动的数据中心,用来对业务数据进行统一组织管理;所述存储层用于提供存储、同步、复制功能。
2.根据权利要求1所述的具有读写分离功能的双活灾备系统,其特征在于,所述网络层根据负载平衡策略将域名解析为网络地址,引导用户访问不同的节点,从而获得所需的服务。
3.根据权利要求1所述的具有读写分离功能的双活灾备系统,其特征在于,所述应用层采用服务器集群技术和中间件集群技术实现;所述服务器集群技术将网络上的多台服务器相关联,对外表现为一台逻辑服务器,提供一致的服务;多台服务器互为备份;
所述中间件集群技术通过在多台服务器上部署和运行中间件程序,中间件程序互相通信,共享数据,协同处理业务请求。
4.根据权利要求1所述的具有读写分离功能的双活灾备系统,其特征在于,所述数据层采用数据库集群技术通过构建出虚拟单一数据库逻辑映像,为应用程序提供透明的数据服务;在数据库集群上部署基于redo的读写分离技术。
5.根据权利要求1所述的具有读写分离功能的双活灾备系统,其特征在于,所述存储层通过存储虚拟化技术来虚拟化存储设备,将多台存储设备在逻辑层面整合为单一设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910414284.1A CN110175089A (zh) | 2019-05-17 | 2019-05-17 | 一种具有读写分离功能的双活灾备系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910414284.1A CN110175089A (zh) | 2019-05-17 | 2019-05-17 | 一种具有读写分离功能的双活灾备系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110175089A true CN110175089A (zh) | 2019-08-27 |
Family
ID=67691529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910414284.1A Pending CN110175089A (zh) | 2019-05-17 | 2019-05-17 | 一种具有读写分离功能的双活灾备系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110175089A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111940954A (zh) * | 2020-08-14 | 2020-11-17 | 南京水木自动化科技有限公司 | 高可靠抗弧光干扰的焊接多形态数据智能体及处理方法 |
CN111953808A (zh) * | 2020-07-31 | 2020-11-17 | 上海燕汐软件信息科技有限公司 | 一种双机双活架构的数据传输切换方法及架构构建系统 |
CN112003716A (zh) * | 2019-12-12 | 2020-11-27 | 军事科学院系统工程研究院网络信息研究所 | 一种数据中心双活实现方法 |
CN112838945A (zh) * | 2020-12-15 | 2021-05-25 | 广西电网有限责任公司 | 一种基于混合型同城双活的网络拓扑结构 |
CN113766004A (zh) * | 2021-07-27 | 2021-12-07 | 深圳市珍爱捷云信息技术有限公司 | 一种基于多云平台的灾备系统、方法及存储介质 |
CN115098573A (zh) * | 2022-06-20 | 2022-09-23 | 上海爱可生信息技术股份有限公司 | 实现数据库读写分离的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110191300A1 (en) * | 2010-02-01 | 2011-08-04 | Orenstein Jack A | Metadata management for fixed content distributed data storage |
CN104536971A (zh) * | 2014-12-02 | 2015-04-22 | 北京锐安科技有限公司 | 一种具备高可用性的数据库 |
CN105872024A (zh) * | 2016-03-25 | 2016-08-17 | 盛趣信息技术(上海)有限公司 | 容灾设备、系统及方法 |
CN106815097A (zh) * | 2017-01-18 | 2017-06-09 | 北京许继电气有限公司 | 数据库容灾系统和方法 |
CN108241656A (zh) * | 2016-12-23 | 2018-07-03 | 深圳市优朋普乐传媒发展有限公司 | 一种数据读写方法及装置 |
-
2019
- 2019-05-17 CN CN201910414284.1A patent/CN110175089A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110191300A1 (en) * | 2010-02-01 | 2011-08-04 | Orenstein Jack A | Metadata management for fixed content distributed data storage |
CN104536971A (zh) * | 2014-12-02 | 2015-04-22 | 北京锐安科技有限公司 | 一种具备高可用性的数据库 |
CN105872024A (zh) * | 2016-03-25 | 2016-08-17 | 盛趣信息技术(上海)有限公司 | 容灾设备、系统及方法 |
CN108241656A (zh) * | 2016-12-23 | 2018-07-03 | 深圳市优朋普乐传媒发展有限公司 | 一种数据读写方法及装置 |
CN106815097A (zh) * | 2017-01-18 | 2017-06-09 | 北京许继电气有限公司 | 数据库容灾系统和方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112003716A (zh) * | 2019-12-12 | 2020-11-27 | 军事科学院系统工程研究院网络信息研究所 | 一种数据中心双活实现方法 |
CN111953808A (zh) * | 2020-07-31 | 2020-11-17 | 上海燕汐软件信息科技有限公司 | 一种双机双活架构的数据传输切换方法及架构构建系统 |
CN111953808B (zh) * | 2020-07-31 | 2023-08-15 | 上海燕汐软件信息科技有限公司 | 一种双机双活架构的数据传输切换方法及架构构建系统 |
CN111940954A (zh) * | 2020-08-14 | 2020-11-17 | 南京水木自动化科技有限公司 | 高可靠抗弧光干扰的焊接多形态数据智能体及处理方法 |
CN112838945A (zh) * | 2020-12-15 | 2021-05-25 | 广西电网有限责任公司 | 一种基于混合型同城双活的网络拓扑结构 |
CN112838945B (zh) * | 2020-12-15 | 2023-06-20 | 广西电网有限责任公司 | 一种基于混合型同城双活的网络拓扑结构 |
CN113766004A (zh) * | 2021-07-27 | 2021-12-07 | 深圳市珍爱捷云信息技术有限公司 | 一种基于多云平台的灾备系统、方法及存储介质 |
CN115098573A (zh) * | 2022-06-20 | 2022-09-23 | 上海爱可生信息技术股份有限公司 | 实现数据库读写分离的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110175089A (zh) | 一种具有读写分离功能的双活灾备系统 | |
US11360854B2 (en) | Storage cluster configuration change method, storage cluster, and computer system | |
CN112099918B (zh) | 容器化环境中的集群的实时迁移 | |
CN107707393B (zh) | 基于Openstack O版特性的多活系统 | |
CN106341454B (zh) | 跨机房多活分布式数据库管理系统和方法 | |
WO2019154394A1 (zh) | 分布式数据库集群系统、数据同步方法及存储介质 | |
US11893264B1 (en) | Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity | |
US9720741B2 (en) | Maintaining two-site configuration for workload availability between sites at unlimited distances for products and services | |
US10084858B2 (en) | Managing continuous priority workload availability and general workload availability between sites at unlimited distances for products and services | |
EP1963985B1 (en) | System and method for enabling site failover in an application server environment | |
US9817721B1 (en) | High availability management techniques for cluster resources | |
CN102640108B (zh) | 已复制数据的监控 | |
US9641449B2 (en) | Variable configurations for workload distribution across multiple sites | |
CN102656565B (zh) | 已复制数据的故障切换和恢复的方法和系统 | |
CN110727709A (zh) | 一种集群数据库系统 | |
CN113515499B (zh) | 一种数据库服务方法及系统 | |
US11841781B2 (en) | Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system | |
US11941267B2 (en) | Reseeding a mediator of a cross-site storage solution | |
CN115794499B (zh) | 一种用于分布式块存储集群间双活复制数据的方法和系统 | |
US7694012B1 (en) | System and method for routing data | |
CN113849136B (zh) | 一种基于国产平台的自动化fc块存储处理方法和系统 | |
Vallath | Oracle real application clusters | |
CN113779143A (zh) | 双活数据中心和业务系统 | |
Coelho et al. | Geographic state machine replication | |
WO2015196692A1 (zh) | 一种云计算系统以及云计算系统的处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for 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: 20190827 |