CN107734017B - 数据服务方法及系统 - Google Patents
数据服务方法及系统 Download PDFInfo
- Publication number
- CN107734017B CN107734017B CN201710915082.6A CN201710915082A CN107734017B CN 107734017 B CN107734017 B CN 107734017B CN 201710915082 A CN201710915082 A CN 201710915082A CN 107734017 B CN107734017 B CN 107734017B
- Authority
- CN
- China
- Prior art keywords
- database
- data
- data center
- resources
- slave
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据服务方法及系统,该方法包括:分流装置接收客户端的访问请求;分流装置根据预设的分流规则将访问请求分流至第一数据中心和第二数据中心中的一个;第一数据中心和第二数据中心中接收到访问请求的数据中心根据访问请求,向客户端反馈对应的数据资源。本发明可以实现通过双数据中心为客户端同时提供服务、分流控制,保障了数据服务系统的高可用性,提高了数据服务系统的可靠性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据服务方法及系统。
背景技术
现有的数据服务系统一般仅包括一个数据中心,对于这种单数据中心的数据服务系统,一旦整个数据中心出现异常,则无法保障数据服务系统的持续可用,从而造成数据服务系统的可靠性较低。
发明内容
本发明提供一种数据服务方法及系统,旨在保障数据服务系统的持续可用,提高数据服务系统的可靠性。
为实现上述目的,本发明提供的一种数据服务系统,所述数据服务系统包括分流装置、第一数据中心和第二数据中心;所述第一数据中心的数据资源和第二数据中心的数据资源实时同步;
所述分流装置接收客户端的访问请求;
所述分流装置根据预设的分流规则将所述访问请求分流至所述第一数据中心和所述第二数据中心中的一个;
所述第一数据中心和第二数据中心中接收到所述访问请求的数据中心根据所述访问请求,向所述客户端反馈对应的数据资源。
优选地,所述预设的分流规则为:
分流至所述第一数据中心的访问请求数量与分流至所述第二数据中心的访问请求数量之间的比值为预设比值;
或者,根据所述访问请求的客户端所在的地理位置就近分流;
或者,当所述第一数据中心和第二数据中心中的其中一个发生异常时,将所述访问请求分流至未发生异常的数据中心。
优选地,所述第一数据中心包括用于存储所述数据资源的第一存储器和与所述第一存储器连接的第一服务器,所述第二数据中心包括用于存储所述数据资源的第二存储器;所述第一存储器和第二存储器均为网络存储器;
当所述第一存储器内的数据资源发生变化时,所述第一服务器将所述第一存储器内的数据资源同步至所述第二存储器。
优选地,所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步;
所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库,所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一数据库和第三数据库为Redis数据库,所述第二数据库和第四数据库为Mysql数据库,其中:
所述第一数据库包括第一主数据库和第一从数据库,所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;
所述第三数据库包括第三主数据库和第三从数据库,所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二数据库包括第二主数据库和第二从数据库,所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;
所述第四数据库包括两个第四从数据库,所述第二主数据库中的数据资源实时同步至所述第四数据库中的一个所述第四从数据库中,所述第二从数据库中的数据资源实时同步至所述第四数据库中的另一个所述第四从数据库中。
优选地,所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步;
所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库,所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一数据库和第三数据库为Redis数据库,所述第二数据库和第四数据库为Oracle数据库,其中:
所述第一数据库包括第一主数据库和第一从数据库,所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;
所述第三数据库包括第三主数据库和第三从数据库,所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二数据库包括第二主数据库和第二从数据库,所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;
所述第四数据库包括第四主数据库和第四从数据库,所述第四主数据库中的数据资源与所述第四从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源实时同步至所述第四主数据库中。
此外,为实现上述目的,本发明还提供一种数据服务方法,应用于如上所述的数据服务系统,所述数据服务方法包括:
分流装置接收客户端的访问请求;
所述分流装置根据预设的分流规则将所述访问请求分流至第一数据中心和第二数据中心中的一个;
所述第一数据中心和第二数据中心中接收到所述访问请求的数据中心根据所述访问请求,向所述客户端反馈对应的数据资源;
其中,所述第一数据中心的数据资源和第二数据中心的数据资源实时同步。
优选地,所述预设的分流规则为:
分流至所述第一数据中心的访问请求数量与分流至所述第二数据中心的访问请求数量之间的比值为预设比值;
或者,根据所述访问请求的客户端所在的地理位置就近分流;
或者,当所述第一数据中心和第二数据中心中的其中一个发生异常时,将所述访问请求分流至未发生异常的数据中心。
优选地,所述第一数据中心包括用于存储所述数据资源的第一存储器和与所述第一存储器连接的第一服务器,所述第二数据中心包括用于存储所述数据资源的第二存储器;所述第一存储器和第二存储器均为网络存储器;所述数据服务方法还包括:
当所述第一存储器内的数据资源发生变化时,所述第一服务器将所述第一存储器内的数据资源同步至所述第二存储器。
优选地,所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库,所述第一数据库和第三数据库为Redis数据库,所述第二数据库和第四数据库为Mysql数据库;所述第一数据库包括第一主数据库和第一从数据库,所述第三数据库包括第三主数据库和第三从数据库,所述第二数据库包括第二主数据库和第二从数据库,所述第四数据库包括两个第四从数据库,所述数据服务方法还包括:
所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步;
所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;
所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源实时同步至所述第四数据库中的一个所述第四从数据库中,所述第二从数据库中的数据资源实时同步至所述第四数据库中的另一个所述第四从数据库中。
优选地,所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库,所述第一数据库和第三数据库为Redis数据库,所述第二数据库和第四数据库为Oracle数据库,所述第一数据库包括第一主数据库和第一从数据库,所述第三数据库包括第三主数据库和第三从数据库,所述第二数据库包括第二主数据库和第二从数据库,所述第四数据库包括第四主数据库和第四从数据库,所述数据服务方法还包括:
所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步;
所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;
所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;
所述第四主数据库中的数据资源与所述第四从数据库中的数据资源实时同步,所述第二主数据库中的数据资源实时同步至所述第四主数据库中。
本发明提出的数据服务方法及系统,通过将接收到的客户端的访问请求根据预设的分流规则分流至数据服务系统中第一数据中心和所述第二数据中心的任意一个,并且所述数据服务系统中接收到所述访问请求的任意一个数据中心可根据所述访问请求,向所述客户端反馈对应的数据资源,从而可以实现通过双数据中心为客户端同时提供服务、分流控制,进一步地,所述数据服务系统中的两个数据中心的数据库可以实现异地实时同步。一方面充分利用资源,避免了一个数据中心常年处于闲置状态而造成浪费,通过资源整合,双倍提升了数据服务能力;另一方面,如果其中一个数据中心发生异常,可将客户端的访问请求动态切换到另外一个正常运行的数据中心,对用户来说是无感知的,保障了数据服务系统的高可用性,提高了数据服务系统的可靠性。
附图说明
图1为本发明数据服务系统一实施例的架构示意图;
图2为本发明数据服务系统另一实施例的架构示意图;
图3为本发明数据服务系统中的数据库的一局部架构示意图;
图4为本发明数据服务系统中的数据库中的另一局部架构示意图;
图5为本发明数据服务方法一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据服务系统。请参阅图1是本发明数据服务系统10较佳实施例的架构示意图。
在本实施例中,所述的数据服务系统10可包括,但不仅限于,第一数据中心11,第二数据中心12和分流装置(图中未示出)。
如图1中的第一数据中心11和第二数据中心12,可以分别架构于不同的地理位置,例如,第一数据中心11在深圳,第二数据中心12在上海。图1中客户端13通过网络与第一数据中心11和第二数据中心12连接。
在一实施例中,如图1所示,第一数据中心11可以包括第一服务器111和用于存储数据资源的第一存储器112,第二数据中心12可以包括第二服务器121和用于存储数据资源的第二存储器122。第一存储器112和第二存储器122均可以为网络存储器。第一服务器111和第二服务器121分别与网络连接。第一服务器111和第一存储器112连接,第二服务器121和第二存储器122连接。第一服务器111和第二服务器121可以基于F5VS/iRULES、nginx+php、tomcat配置。
在另一实施例中,如图2所示,第一数据中心11可以包括第一服务器111和数据库,第二数据中心12可以包括第二服务器121和数据库。第一服务器111和第二服务器121分别与网络连接。
所述分流装置接收客户端13的访问请求,并根据预设的分流规则将所述访问请求分流至所述第一数据中心11和所述第二数据中心12中的一个。
在一种可选的实施例中,所述分流装置可以独立配置于网络或系统的后台服务器中,且该分流装置分别与第一数据中心11和第二数据中心12连接。具体的,该分流装置分别与第一服务器111和第二服务器121连接。该分流装置接收到客户端13的访问请求后,根据预设的分流规则确定该访问请求所对应的数据中心,并通过网络将该访问请求转发至确定的数据中心中。
或者,在另一种可选的实施例中,该分流装置还可以配置于第一数据中心11和/或第二数据中心12中。例如,该分流装置即为上述第一服务器111和第二服务器121。客户端13发送的访问请求经由网络,分别发送至第一服务器111和第二服务器121,由第一服务器111和第二服务器121分别根据预设的分流规则确定自身是否响应该访问请求。可以理解的是,该预设的分流规则使得第一服务器111和第二服务器121中的至少一个可以响应该访问请求。该预设的分流规则使得第一服务器111和第二服务器121中的其中一个可以响应该访问请求。
所述分流装置可以采用GTM机制对客户端13的访问请求进行分流。该预设的分流规则可以采用以下方式:
方式1,比例分流法:分流至所述第一数据中心11的访问请求数量与分流至所述第二数据中心12的访问请求数量之间的比值为预设比值;
例如,分流至第一数据中心11的访问请求数量与分流至第二数据中心12的访问请求数量之比可以为X:Y。其中,X和Y均为正整数。从而可以合理的分配两个数据中心所响应的访问请求的数量,合理利用资源,避免了一个数据中心常年处于闲置状态而造成资源浪费,通过资源整合,提升了数据服务能力。
方式2,地域分流法:根据所述访问请求的客户端13所在的地理位置进行分流;
可以预先设置地理位置和数据中心的对应关系。例如,第一数据中心11对应的地理位置可以为南京、北京、杭州等等。第二数据中心12对应的地理位置可以为深圳、广州、厦门等等。对于南京的客户端13所发送的访问请求,根据该对应关系,则由第一数据中心11响应,则将该访问请求分流至第一数据中心11。对于深圳的客户端13所发送的访问请求,根据该对应关系,则由第二数据中心12响应,则将该访问请求分流至第二数据中心12。
可选地,可以根据就近原则建立该对应关系。数据中心所对应的地理位置可以靠近该数据中心的所在地。
该方式可以根据地域合理的分配两个数据中心所响应的访问请求,使得客户端13能够就近访问数据中心,更加合理的利用资源,通过资源整合,提升了数据服务能力。
方式3,所述第一数据中心11和第二数据中心12中的其中一个发生异常时,将所述访问请求分流至未发生异常的数据中心。
例如,若第一数据中心11发生异常,则将所有访问请求分流至第二数据中心12。该分流的切换对于客户端13来说是无感知的,从而保障了数据服务系统的高可用性。
所述第一数据中心11和第二数据中心12中接收到所述访问请求的数据中心根据所述访问请求,向所述客户端13反馈对应的数据资源。
以下以第一数据中心11接收到了所述访问请求为例:
对于图1所示的数据服务系统来说,第一服务器111接收到该访问请求。该第一服务器111根据访问请求通过NFS从第一存储器112中读取数据,并反馈给发起该访问请求的客户端13。
对于图2所示的数据服务系统来说,第一服务器111接收到该访问请求。该第一服务器111根据访问请求从数据库中读取数据,并反馈给发起该访问请求的客户端13。
所述第一数据中心11的数据资源和第二数据中心12的数据资源实时同步。
对于图1所示的数据服务系统来说,当第一存储器112中存储的数据发生变化时,第一服务器111将所述第一存储器112中的数据资源同步至第二存储器122。具体的,第一服务器111可以通过数据镜像备份工具(如remote synchronize)将第一存储器112中的数据资源实时、远程的同步到第二存储器122中。
采用上述同步策略,可以有效地保证在其中一个数据中心发生异常时,能够将访问请求分流至正常工作的数据中心。该分流的切换对于客户端13来说是无感知的,保障了数据服务系统的高可用性。
对于图2所示的数据服务系统来说,其数据库具有以下两种实施方式:
实施方式一,如图2所示,所述第一数据中心11包括用于存储所述数据资源的第一数据库113和第二数据库114,所述第二数据中心12包括用于存储所述数据资源的第三数据库123和第四数据库124。
第一数据库113和第三数据库123可以为Redis数据库,采用“主+从”模式架构。所述第一数据库113包括第一主数据库和第一从数据库。所述第三数据库123包括第三主数据库和第三从数据库。
如图3所示,第二数据库114和第四数据库124可以为Mysql数据库,第二数据库114采用“主+从”模式架构,第四数据库124采用“从+从”模式架构。所述第二数据库114包括第二主数据库和第二从数据库,所述第四数据库124包括两个第四从数据库。
第二数据库114通过sql语句将数据资源同步至第四数据库124。
在第一数据中心11,第一服务器111对第一数据库113和第二数据库114可进行读、写操作。在第二数据中心12,第二服务器121对第三数据库123和第四数据库124可进行读操作。
所述第一数据库113中的数据资源与所述第二数据库114中的数据资源实时同步;所述第三数据库123中的数据资源与所述第四数据库124中的数据资源实时同步;
所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;所述第二主数据库中的数据资源实时同步至所述第四数据库124中的一个所述第四从数据库中,所述第二从数据库中的数据资源实时同步至所述第四数据库124中的另一个所述第四从数据库中。
通过在第一数据中心11和第二数据中心12均设置多个数据库,并且采用上述同步策略,可以有效地保证在其中一个数据中心发生异常时,能够将访问请求分流至正常工作的数据中心。该分流的切换对于客户端13来说是无感知的,保障了数据服务系统的高可用性。
实施方式二,如图2所示,所述第一数据中心11包括用于存储所述数据资源的第一数据库113和第二数据库114,所述第二数据中心12包括用于存储所述数据资源的第三数据库123和第四数据库124。
第一数据库113和第三数据库123可以为Redis数据库,采用“主+从”模式架构。所述第一数据库113包括第一主数据库和第一从数据库。所述第三数据库123包括第三主数据库和第三从数据库。
如图4所示,第二数据库114和第四数据库124可以为Oracle数据库,第二数据库114采用“主+从”模式架构,第四数据库124采用“主+从”模式架构。所述第二数据库114包括第二主数据库和第二从数据库,所述第四数据库124包括第四主数据库和第四从数据库。
第二数据库114通过DataGuard数据同步技术将数据同步至第四数据库124。
在第一数据中心11,第一服务器111对第一数据库113和第二数据库114可进行读、写操作。在第二数据中心12,第二服务器121对第三数据库123和第四数据库124可进行读操作。
所述第一数据库113中的数据资源与所述第二数据库114中的数据资源实时同步;所述第三数据库123中的数据资源与所述第四数据库124中的数据资源实时同步;
所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;所述第四主数据库中的数据资源与所述第四从数据库中的数据资源实时同步;所述第二主数据库中的数据资源实时同步至所述第四主数据库中。
通过在第一数据中心11和第二数据中心12均设置多个数据库,并且采用上述同步策略,可以有效地保证在其中一个数据中心发生异常时,能够将访问请求分流至正常工作的数据中心。该分流的切换对于客户端13来说是无感知的,保障了数据服务系统的高可用性。
本实施例的数据服务系统,通过将接收到的客户端13的访问请求根据预设的分流规则将所述访问请求分流至所述第一数据中心11和所述第二数据中心12中的一个,并且所述第一数据中心11和第二数据中心12中接收到所述访问请求的数据中心根据所述访问请求,向所述客户端13反馈对应的数据资源,从而可以通过双数据中心实现异地应用同时提供服务、分流控制和读写分离,且两个数据中心的数据库可以实现异地实时同步。一方面充分利用资源,避免了一个数据中心常年处于闲置状态而造成浪费,通过资源整合,双倍提升了数据服务能力;另一方面,如其中一个数据中心发生异常、GTM机制能够实时侦测到异常,将用户的访问请求动态切换到另外一个正常运行的数据中心,对用户来说是无感知的,对数据服务系统来说则保障了高可用性,提高了数据服务系统的可靠性。
本发明进一步提供一种数据服务方法。该数据服务方法基于上述实施例所述的数据服务系统实现,数据服务系统的具体细节可以参照上述各个实施例,在此不再赘述。
参照图5,图5为本发明数据服务方法一实施例的流程示意图。
在一实施例中,该数据服务方法包括:
步骤S10,分流装置接收客户端的访问请求;
步骤S20,分流装置根据预设的分流规则将所述访问请求分流至所述第一数据中心和所述第二数据中心中的一个。
在一种可选的实施例中,所述分流装置可以独立配置于网络或系统的后台服务器中,且该分流装置分别与第一数据中心和第二数据中心连接。具体的,该分流装置分别与第一服务器和第二服务器连接。该分流装置接收到客户端的访问请求后,根据预设的分流规则确定该访问请求所对应的数据中心,并通过网络将该访问请求转发至确定的数据中心中。
或者,在另一种可选的实施例中,该分流装置还可以配置于第一数据中心和/或第二数据中心中。例如,该分流装置即为上述第一服务器和第二服务器。客户端发送的访问请求经由网络,分别发送至第一服务器和第二服务器,由第一服务器和第二服务器分别根据预设的分流规则确定自身是否响应该访问请求。可以理解的是,该预设的分流规则使得第一服务器和第二服务器中的至少一个可以响应该访问请求。该预设的分流规则使得第一服务器和第二服务器中的其中一个可以响应该访问请求。
所述分流装置可以采用GTM机制对客户端的访问请求进行分流。该预设的分流规则可以采用以下方式:
方式1,比例分流法:分流至所述第一数据中心的访问请求数量与分流至所述第二数据中心的访问请求数量之间的比值为预设比值;
例如,分流至第一数据中心的访问请求数量与分流至第二数据中心的访问请求数量之比可以为X:Y。其中,X和Y均为正整数。从而可以合理的分配两个数据中心所响应的访问请求的数量,合理利用资源,避免了一个数据中心常年处于闲置状态而造成资源浪费,通过资源整合,提升了数据服务能力。
方式2,地域分流法:根据所述访问请求的客户端所在的地理位置进行分流;
可以预先设置地理位置和数据中心的对应关系。例如,第一数据中心对应的地理位置可以为南京、北京、杭州等等。第二数据中心对应的地理位置可以为深圳、广州、厦门等等。对于南京的客户端所发送的访问请求,根据该对应关系,则由第一数据中心响应,则将该访问请求分流至第一数据中心。对于深圳的客户端所发送的访问请求,根据该对应关系,则由第二数据中心响应,则将该访问请求分流至第二数据中心。
可选地,可以根据就近原则建立该对应关系。数据中心所对应的地理位置可以靠近该数据中心的所在地。
该方式可以根据地域合理的分配两个数据中心所响应的访问请求,使得客户端能够就近访问数据中心,更加合理的利用资源,通过资源整合,提升了数据服务能力。
方式3,所述第一数据中心和第二数据中心中的其中一个发生异常时,将所述访问请求分流至未发生异常的数据中心。
例如,若第一数据中心发生异常,则将所有访问请求分流至第二数据中心。该分流的切换对于客户端来说是无感知的,从而保障了数据服务系统的高可用性。
步骤S30,所述第一数据中心和第二数据中心中接收到所述访问请求的数据中心根据所述访问请求,向所述客户端反馈对应的数据资源。
以下以第一数据中心接收到了所述访问请求为例:
对于图1所示的数据服务系统来说,第一服务器接收到该访问请求。该第一服务器根据访问请求通过NFS从第一存储器中读取数据,并反馈给发起该访问请求的客户端。
对于图2所示的数据服务系统来说,第一服务器接收到该访问请求。该第一服务器根据访问请求从数据库中读取数据,并反馈给发起该访问请求的客户端。
所述第一数据中心的数据资源和第二数据中心的数据资源实时同步。
本实施例的数据服务方法,通过将接收到的客户端的访问请求根据预设的分流规则将所述访问请求分流至所述第一数据中心和所述第二数据中心中的一个,并且所述第一数据中心和第二数据中心中接收到所述访问请求的数据中心根据所述访问请求,向所述客户端反馈对应的数据资源,从而可以通过双数据中心实现异地应用同时提供服务、分流控制和读写分离,且两个数据中心的数据库可以实现异地实时同步。一方面充分利用资源,避免了一个数据中心常年处于闲置状态而造成浪费,通过资源整合,双倍提升了数据服务能力;另一方面,如其中一个数据中心发生异常、GTM机制能够实时侦测到异常,将用户的访问请求动态切换到另外一个正常运行的数据中心,对用户来说是无感知的,对数据服务系统来说则保障了高可用性,提高了数据服务的可靠性。
进一步的,对于图1所示的数据服务系统来说,在一可选的实施例中,在上述实施例的基础上,该方法还包括:当第一存储器中存储的数据发生变化时,第一服务器将所述第一存储器中的数据资源同步至第二存储器。具体的,第一服务器可以通过数据镜像备份工具(如remote synchronize)将第一存储器中的数据资源实时、远程的同步到第二存储器中。
采用上述同步策略,可以有效地保证在其中一个数据中心发生异常时,能够将访问请求分流至正常工作的数据中心。该分流的切换对于客户端来说是无感知的,保障了数据服务系统的高可用性。
进一步的,对于图2所示的数据服务系统来说,在一可选的实施例中,在上述实施例的基础上,其数据库具有以下两种实施方式:
实施方式一,如图2所示,所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库。
第一数据库和第三数据库可以为Redis数据库,采用“主+从”模式架构。所述第一数据库包括第一主数据库和第一从数据库。所述第三数据库包括第三主数据库和第三从数据库。
如图3所示,第二数据库和第四数据库可以为Mysql数据库,第二数据库采用“主+从”模式架构,第四数据库采用“从+从”模式架构。所述第二数据库包括第二主数据库和第二从数据库,所述第四数据库包括两个第四从数据库。
第二数据库通过sql语句将数据资源同步至第四数据库。
在第一数据中心,第一服务器对第一数据库和第二数据库可进行读、写操作。在第二数据中心,第二服务器对第三数据库和第四数据库可进行读操作。
所述数据服务方法还包括:
所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步;所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;所述第二主数据库中的数据资源实时同步至所述第四数据库中的一个所述第四从数据库中,所述第二从数据库中的数据资源实时同步至所述第四数据库中的另一个所述第四从数据库中。
通过在第一数据中心和第二数据中心均设置多个数据库,并且采用上述同步策略,可以有效地保证在其中一个数据中心发生异常时,能够将访问请求分流至正常工作的数据中心。该分流的切换对于客户端来说是无感知的,保障了数据服务系统的高可用性。
实施方式二,如图2所示,所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库。
第一数据库和第三数据库可以为Redis数据库,采用“主+从”模式架构。所述第一数据库包括第一主数据库和第一从数据库。所述第三数据库包括第三主数据库和第三从数据库。
如图4所示,第二数据库和第四数据库可以为Oracle数据库,第二数据库采用“主+从”模式架构,第四数据库采用“主+从”模式架构。所述第二数据库包括第二主数据库和第二从数据库,所述第四数据库包括第四主数据库和第四从数据库。
第二数据库通过DataGuard数据同步技术将数据同步至第四数据库。
在第一数据中心,第一服务器对第一数据库和第二数据库可进行读、写操作。在第二数据中心,第二服务器对第三数据库和第四数据库可进行读操作。
所述数据服务方法还包括:
所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步;所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;所述第四主数据库中的数据资源与所述第四从数据库中的数据资源实时同步;所述第二主数据库中的数据资源实时同步至所述第四主数据库中。
通过在第一数据中心和第二数据中心均设置多个数据库,并且采用上述同步策略,可以有效地保证在其中一个数据中心发生异常时,能够将访问请求分流至正常工作的数据中心。该分流的切换对于客户端来说是无感知的,保障了数据服务系统的高可用性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (8)
1.一种数据服务系统,其特征在于,所述数据服务系统包括分流装置、第一数据中心和第二数据中心,其中:
所述分流装置接收客户端的访问请求;
所述分流装置根据预设的分流规则将所述访问请求分流至所述第一数据中心和所述第二数据中心中的一个;
所述第一数据中心和第二数据中心中接收到所述访问请求的数据中心根据所述访问请求,向所述客户端反馈对应的数据资源;
所述第一数据中心的数据资源和第二数据中心的数据资源实时同步,所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步,所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库,所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一数据库和第三数据库为Redis数据库,所述第二数据库和第四数据库为Mysql数据库;
所述第一数据库包括第一主数据库和第一从数据库,所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;
所述第三数据库包括第三主数据库和第三从数据库,所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二数据库包括第二主数据库和第二从数据库,所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;
所述第四数据库包括两个第四从数据库,所述第二主数据库中的数据资源通过sql语句实时同步至所述第四数据库中的一个所述第四从数据库中,所述第二从数据库中的数据资源通过sql语句实时同步至所述第四数据库中的另一个所述第四从数据库中。
2.如权利要求1所述的数据服务系统,其特征在于,所述预设的分流规则为:
分流至所述第一数据中心的访问请求数量与分流至所述第二数据中心的访问请求数量之间的比值为预设比值;
或者,根据所述访问请求的客户端所在的地理位置就近分流;
或者,当所述第一数据中心和第二数据中心中的其中一个发生异常时,将所述访问请求分流至未发生异常的数据中心。
3.一种数据服务系统,其特征在于,所述数据服务系统包括分流装置、第一数据中心和第二数据中心,其中:
所述分流装置接收客户端的访问请求;
所述分流装置根据预设的分流规则将所述访问请求分流至所述第一数据中心和所述第二数据中心中的一个;
所述第一数据中心和第二数据中心中接收到所述访问请求的数据中心根据所述访问请求,向所述客户端反馈对应的数据资源;
所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步;
所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库,所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一数据库和第三数据库为Redis数据库,所述第二数据库和第四数据库为Oracle数据库,其中:
所述第一数据库包括第一主数据库和第一从数据库,所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;
所述第三数据库包括第三主数据库和第三从数据库,所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二数据库包括第二主数据库和第二从数据库,所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;
所述第四数据库包括第四主数据库和第四从数据库,所述第四主数据库中的数据资源与所述第四从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源通过DataGuard数据同步技术实时同步至所述第四主数据库中。
4.如权利要求3所述的数据服务系统,其特征在于,所述预设的分流规则为:
分流至所述第一数据中心的访问请求数量与分流至所述第二数据中心的访问请求数量之间的比值为预设比值;
或者,根据所述访问请求的客户端所在的地理位置就近分流;
或者,当所述第一数据中心和第二数据中心中的其中一个发生异常时,将所述访问请求分流至未发生异常的数据中心。
5.一种数据服务方法,应用于如权利要求1-2中任一项所述的数据服务系统,其特征在于,所述数据服务方法包括:
分流装置接收客户端的访问请求;
所述分流装置根据预设的分流规则将所述访问请求分流至第一数据中心和第二数据中心中的一个;
所述第一数据中心和第二数据中心中接收到所述访问请求的数据中心根据所述访问请求,向所述客户端反馈对应的数据资源,其中,所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步,所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库,所述第一数据库和第三数据库为Redis数据库,所述第二数据库和第四数据库为Mysql数据库;所述第一数据库包括第一主数据库和第一从数据库,所述第三数据库包括第三主数据库和第三从数据库,所述第二数据库包括第二主数据库和第二从数据库,所述第四数据库包括两个第四从数据库;
所述第一数据中心的数据资源和第二数据中心的数据资源实时同步;
所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;
所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源通过sql语句实时同步至所述第四数据库中的一个所述第四从数据库中,所述第二从数据库中的数据资源通过sql语句实时同步至所述第四数据库中的另一个所述第四从数据库中。
6.如权利要求5所述的数据服务方法,其特征在于,所述预设的分流规则为:
分流至所述第一数据中心的访问请求数量与分流至所述第二数据中心的访问请求数量之间的比值为预设比值;
或者,根据所述访问请求的客户端所在的地理位置就近分流;
或者,当所述第一数据中心和第二数据中心中的其中一个发生异常时,将所述访问请求分流至未发生异常的数据中心。
7.一种数据服务方法,应用于如权利要求3-4中任一项所述的数据服务系统,其特征在于,所述数据服务方法包括:
分流装置接收客户端的访问请求;
所述分流装置根据预设的分流规则将所述访问请求分流至第一数据中心和第二数据中心中的一个;
所述第一数据中心和第二数据中心中接收到所述访问请求的数据中心根据所述访问请求,向所述客户端反馈对应的数据资源,其中,所述第一数据中心的数据资源和第二数据中心的数据资源实时同步,所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库,所述第一数据库和第三数据库为Redis数据库,所述第二数据库和第四数据库为Oracle数据库,所述第一数据库包括第一主数据库和第一从数据库,所述第三数据库包括第三主数据库和第三从数据库,所述第二数据库包括第二主数据库和第二从数据库,所述第四数据库包括第四主数据库和第四从数据库:
所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步;
所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;
所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;
所述第四主数据库中的数据资源与所述第四从数据库中的数据资源实时同步,所述第二主数据库中的数据资源通过DataGuard数据同步技术实时同步至所述第四主数据库中。
8.如权利要求7所述的数据服务方法,其特征在于,所述预设的分流规则为:
分流至所述第一数据中心的访问请求数量与分流至所述第二数据中心的访问请求数量之间的比值为预设比值;
或者,根据所述访问请求的客户端所在的地理位置就近分流;
或者,当所述第一数据中心和第二数据中心中的其中一个发生异常时,将所述访问请求分流至未发生异常的数据中心。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710915082.6A CN107734017B (zh) | 2017-09-30 | 2017-09-30 | 数据服务方法及系统 |
PCT/CN2017/108745 WO2019061657A1 (zh) | 2017-09-30 | 2017-10-31 | 数据服务方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710915082.6A CN107734017B (zh) | 2017-09-30 | 2017-09-30 | 数据服务方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107734017A CN107734017A (zh) | 2018-02-23 |
CN107734017B true CN107734017B (zh) | 2020-12-15 |
Family
ID=61209526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710915082.6A Active CN107734017B (zh) | 2017-09-30 | 2017-09-30 | 数据服务方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107734017B (zh) |
WO (1) | WO2019061657A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491466B (zh) * | 2018-03-06 | 2022-08-30 | 平安科技(深圳)有限公司 | 电子装置、访问指令信息获取方法及存储介质 |
CN109145057A (zh) * | 2018-09-10 | 2019-01-04 | 合肥科讯金服科技有限公司 | 一种数据服务平台系统 |
CN110083657A (zh) * | 2019-02-27 | 2019-08-02 | 北京字节跳动网络技术有限公司 | 数据互通方法、装置、终端及存储介质 |
CN109819048B (zh) * | 2019-02-27 | 2022-03-15 | 北京字节跳动网络技术有限公司 | 数据同步方法、装置、终端及存储介质 |
CN111431818B (zh) * | 2020-02-28 | 2023-06-09 | 口碑(上海)信息技术有限公司 | 跨域请求的流量分配方法、装置、存储介质及计算机设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847391A (zh) * | 2016-04-25 | 2016-08-10 | 云南电网有限责任公司昆明供电局 | 一种分布式云数据中心结构 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8160063B2 (en) * | 2008-06-09 | 2012-04-17 | Microsoft Corporation | Data center interconnect and traffic engineering |
CN102065119A (zh) * | 2010-10-18 | 2011-05-18 | 中山大学 | 一种面向网络交互程序的网络服务系统 |
CN102143237A (zh) * | 2011-05-09 | 2011-08-03 | 宋健 | 一种基于网格的互联网内容分发方法和系统 |
CN104639451B (zh) * | 2013-11-14 | 2019-03-22 | 中兴通讯股份有限公司 | 数据流分流方法及控制器 |
-
2017
- 2017-09-30 CN CN201710915082.6A patent/CN107734017B/zh active Active
- 2017-10-31 WO PCT/CN2017/108745 patent/WO2019061657A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847391A (zh) * | 2016-04-25 | 2016-08-10 | 云南电网有限责任公司昆明供电局 | 一种分布式云数据中心结构 |
Also Published As
Publication number | Publication date |
---|---|
CN107734017A (zh) | 2018-02-23 |
WO2019061657A1 (zh) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107734017B (zh) | 数据服务方法及系统 | |
US9659038B2 (en) | Efficient snapshot read of a database in a distributed storage system | |
US20160105502A1 (en) | Data synchronization method, data synchronization apparatus, and distributed system | |
US20140108532A1 (en) | System and method for supporting guaranteed multi-point delivery in a distributed data grid | |
EP3018593B1 (en) | Data storage method and device for distributed database | |
CN106888245B (zh) | 一种数据处理方法、装置及系统 | |
WO2019210580A1 (zh) | 访问请求处理方法、装置、计算机设备和存储介质 | |
CN105025053A (zh) | 基于云存储技术的分布式文件的上传方法及其系统 | |
CN106933550B (zh) | 全局信息获取、处理及更新方法、装置和系统 | |
CN106777311B (zh) | 航班舱位状态缓存方法和系统 | |
CN109639773B (zh) | 一种动态构建的分布式数据集群控制系统及其方法 | |
CN107656937B (zh) | 用于实现读写数据一致性的方法和装置 | |
CN109547512A (zh) | 一种基于NoSQL的分布式Session管理的方法及装置 | |
CN107623703B (zh) | 全局事务标识gtid的同步方法、装置及系统 | |
CN104935668A (zh) | 分布式文件系统及其数据同步的方法 | |
CN104104739A (zh) | 一种云存储系统元数据服务集群的数据同步方法 | |
CN103997525A (zh) | 一种分布式数据同步方法及系统 | |
CN112351068A (zh) | 信息同步方法、系统、装置、计算机设备和存储介质 | |
CN104780190A (zh) | 数据读写控制方法及装置 | |
CN114422331B (zh) | 容灾切换方法、装置及系统 | |
CN104092776A (zh) | 一种信息存取方法和系统 | |
CN110740155A (zh) | 分布式系统中的请求处理方法及装置 | |
CN107025257B (zh) | 一种事务处理方法及装置 | |
CN111225003B (zh) | 一种nfs节点配置方法和装置 | |
CN110113217B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |