CN107734017A - 数据服务方法及*** - Google Patents
数据服务方法及*** Download PDFInfo
- Publication number
- CN107734017A CN107734017A CN201710915082.6A CN201710915082A CN107734017A CN 107734017 A CN107734017 A CN 107734017A CN 201710915082 A CN201710915082 A CN 201710915082A CN 107734017 A CN107734017 A CN 107734017A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- data resource
- data center
- time synchronization
- 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.)
- Granted
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
-
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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 (10)
1.一种数据服务***,其特征在于,所述数据服务***包括分流装置、第一数据中心和第二数据中心;所述第一数据中心的数据资源和第二数据中心的数据资源实时同步;
所述分流装置接收客户端的访问请求;
所述分流装置根据预设的分流规则将所述访问请求分流至所述第一数据中心和所述第二数据中心中的一个;
所述第一数据中心和第二数据中心中接收到所述访问请求的数据中心根据所述访问请求,向所述客户端反馈对应的数据资源。
2.如权利要求1所述的数据服务***,其特征在于,所述预设的分流规则为:
分流至所述第一数据中心的访问请求数量与分流至所述第二数据中心的访问请求数量之间的比值为预设比值;
或者,根据所述访问请求的客户端所在的地理位置就近分流;
或者,当所述第一数据中心和第二数据中心中的其中一个发生异常时,将所述访问请求分流至未发生异常的数据中心。
3.如权利要求1或2所述的数据服务***,其特征在于,所述第一数据中心包括用于存储所述数据资源的第一存储器和与所述第一存储器连接的第一服务器,所述第二数据中心包括用于存储所述数据资源的第二存储器;所述第一存储器和第二存储器均为网络存储器;
当所述第一存储器内的数据资源发生变化时,所述第一服务器将所述第一存储器内的数据资源同步至所述第二存储器。
4.如权利要求1或2所述的数据服务***,其特征在于,所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步;
所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库,所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一数据库和第三数据库为Redis数据库,所述第二数据库和第四数据库为Mysql数据库,其中:
所述第一数据库包括第一主数据库和第一从数据库,所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;
所述第三数据库包括第三主数据库和第三从数据库,所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二数据库包括第二主数据库和第二从数据库,所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;
所述第四数据库包括两个第四从数据库,所述第二主数据库中的数据资源实时同步至所述第四数据库中的一个所述第四从数据库中,所述第二从数据库中的数据资源实时同步至所述第四数据库中的另一个所述第四从数据库中。
5.如权利要求1或2所述的数据服务***,其特征在于,所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步;
所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库,所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一数据库和第三数据库为Redis数据库,所述第二数据库和第四数据库为Oracle数据库,其中:
所述第一数据库包括第一主数据库和第一从数据库,所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;
所述第三数据库包括第三主数据库和第三从数据库,所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二数据库包括第二主数据库和第二从数据库,所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;
所述第四数据库包括第四主数据库和第四从数据库,所述第四主数据库中的数据资源与所述第四从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源实时同步至所述第四主数据库中。
6.一种数据服务方法,应用于如权利要求1-5中任一项所述的数据服务***,其特征在于,所述数据服务方法包括:
分流装置接收客户端的访问请求;
所述分流装置根据预设的分流规则将所述访问请求分流至第一数据中心和第二数据中心中的一个;
所述第一数据中心和第二数据中心中接收到所述访问请求的数据中心根据所述访问请求,向所述客户端反馈对应的数据资源;
其中,所述第一数据中心的数据资源和第二数据中心的数据资源实时同步。
7.如权利要求6所述的数据服务方法,其特征在于,所述预设的分流规则为:
分流至所述第一数据中心的访问请求数量与分流至所述第二数据中心的访问请求数量之间的比值为预设比值;
或者,根据所述访问请求的客户端所在的地理位置就近分流;
或者,当所述第一数据中心和第二数据中心中的其中一个发生异常时,将所述访问请求分流至未发生异常的数据中心。
8.如权利要求6或7所述的数据服务方法,其特征在于,所述第一数据中心包括用于存储所述数据资源的第一存储器和与所述第一存储器连接的第一服务器,所述第二数据中心包括用于存储所述数据资源的第二存储器;所述第一存储器和第二存储器均为网络存储器;所述数据服务方法还包括:
当所述第一存储器内的数据资源发生变化时,所述第一服务器将所述第一存储器内的数据资源同步至所述第二存储器。
9.如权利要求6或7所述的数据服务方法,其特征在于,所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库,所述第一数据库和第三数据库为Redis数据库,所述第二数据库和第四数据库为Mysql数据库;所述第一数据库包括第一主数据库和第一从数据库,所述第三数据库包括第三主数据库和第三从数据库,所述第二数据库包括第二主数据库和第二从数据库,所述第四数据库包括两个第四从数据库,所述数据服务方法还包括:
所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步;
所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;
所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源实时同步至所述第四数据库中的一个所述第四从数据库中,所述第二从数据库中的数据资源实时同步至所述第四数据库中的另一个所述第四从数据库中。
10.如权利要求6或7所述的数据服务方法,其特征在于,所述第一数据中心包括用于存储所述数据资源的第一数据库和第二数据库,所述第二数据中心包括用于存储所述数据资源的第三数据库和第四数据库,所述第一数据库和第三数据库为Redis数据库,所述第二数据库和第四数据库为Oracle数据库,所述第一数据库包括第一主数据库和第一从数据库,所述第三数据库包括第三主数据库和第三从数据库,所述第二数据库包括第二主数据库和第二从数据库,所述第四数据库包括第四主数据库和第四从数据库,所述数据服务方法还包括:
所述第一数据库中的数据资源与所述第二数据库中的数据资源实时同步;
所述第三数据库中的数据资源与所述第四数据库中的数据资源实时同步;
所述第一主数据库中的数据资源与所述第一从数据库中的数据资源实时同步;
所述第三主数据库中的数据资源与所述第三从数据库中的数据资源实时同步;
所述第二主数据库中的数据资源与所述第二从数据库中的数据资源实时同步;
所述第四主数据库中的数据资源与所述第四从数据库中的数据资源实时同步,所述第二主数据库中的数据资源实时同步至所述第四主数据库中。
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 true CN107734017A (zh) | 2018-02-23 |
CN107734017B 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) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491466A (zh) * | 2018-03-06 | 2018-09-04 | 平安科技(深圳)有限公司 | 电子装置、访问指令信息获取方法及存储介质 |
CN109145057A (zh) * | 2018-09-10 | 2019-01-04 | 合肥科讯金服科技有限公司 | 一种数据服务平台*** |
CN109819048A (zh) * | 2019-02-27 | 2019-05-28 | 北京字节跳动网络技术有限公司 | 数据同步方法、装置、终端及存储介质 |
CN110083657A (zh) * | 2019-02-27 | 2019-08-02 | 北京字节跳动网络技术有限公司 | 数据互通方法、装置、终端及存储介质 |
CN111431818A (zh) * | 2020-02-28 | 2020-07-17 | 口碑(上海)信息技术有限公司 | 跨域请求的流量分配方法、装置、存储介质及计算机设备 |
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 | 云南电网有限责任公司昆明供电局 | 一种分布式云数据中心结构 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491466A (zh) * | 2018-03-06 | 2018-09-04 | 平安科技(深圳)有限公司 | 电子装置、访问指令信息获取方法及存储介质 |
WO2019169771A1 (zh) * | 2018-03-06 | 2019-09-12 | 平安科技(深圳)有限公司 | 电子装置、访问指令信息获取方法及存储介质 |
CN109145057A (zh) * | 2018-09-10 | 2019-01-04 | 合肥科讯金服科技有限公司 | 一种数据服务平台*** |
CN109819048A (zh) * | 2019-02-27 | 2019-05-28 | 北京字节跳动网络技术有限公司 | 数据同步方法、装置、终端及存储介质 |
CN110083657A (zh) * | 2019-02-27 | 2019-08-02 | 北京字节跳动网络技术有限公司 | 数据互通方法、装置、终端及存储介质 |
WO2020173381A1 (zh) * | 2019-02-27 | 2020-09-03 | 北京字节跳动网络技术有限公司 | 数据互通方法、装置、终端及存储介质 |
CN111431818A (zh) * | 2020-02-28 | 2020-07-17 | 口碑(上海)信息技术有限公司 | 跨域请求的流量分配方法、装置、存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2019061657A1 (zh) | 2019-04-04 |
CN107734017B (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107734017A (zh) | 数据服务方法及*** | |
CN105103507B (zh) | 网络功能虚拟化的方法及装置 | |
CN105893083B (zh) | 云环境下基于容器的移动代码卸载支撑***及其卸载方法 | |
CN110290189A (zh) | 一种容器集群管理方法、装置及*** | |
CN106909451A (zh) | 一种分布式任务调度***及方法 | |
CN103744719B (zh) | 锁管理方法及***、锁管理***的配置方法及装置 | |
CN106657314A (zh) | 跨数据中心数据同步***及方法 | |
CN109995859A (zh) | 一种调度方法、调度服务器及计算机可读存储介质 | |
CN108280080A (zh) | 一种数据同步方法、装置以及电子设备 | |
CN106657287A (zh) | 一种数据访问方法及*** | |
CN103297507A (zh) | 云计算运营***及向用户提供服务的方法 | |
CN109213792A (zh) | 数据处理的方法、服务端、客户端、装置及可读存储介质 | |
CN109547512A (zh) | 一种基于NoSQL的分布式Session管理的方法及装置 | |
CN109510714A (zh) | 即时通讯中的会议邀请方法、资源分配方法及装置 | |
CN103838855A (zh) | 余票更新的方法 | |
CN106713391A (zh) | 一种session信息的共享方法和共享*** | |
CN112953982B (zh) | 一种服务处理的方法、服务配置的方法以及相关装置 | |
CN106101290A (zh) | 一种服务器集群管理的方法及*** | |
CN107451853A (zh) | 一种红包实时派发的方法、装置、***及存储介质 | |
CN109121185A (zh) | 网络切片子网的选择方法及装置、计算机可读存储介质 | |
CN115334025B (zh) | 去中心化的即时通信方法、装置、设备及存储介质 | |
CN115567251A (zh) | 用于微服务集群的多业务隔离方法及*** | |
CN106790563A (zh) | 分布式存储***和方法 | |
CN103067486A (zh) | 基于PaaS平台的大数据处理方法 | |
CN106888264B (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 |