多机房部署系统及跨机房的业务数据处理方法

文档序号:9453177阅读:882来源:国知局
多机房部署系统及跨机房的业务数据处理方法
【技术领域】
[0001]本发明涉及计算机网络技术领域,具体涉及一种多机房部署系统及跨机房的业务数据处理方法。
【背景技术】
[0002]随着网络服务的日益普及,经常需要将一些常用的数据(如业务数据等)同时存储在多个机房的服务器上。例如,为了向全国各地的用户提供相同的服务,分别在北京、广州和西藏设置了三个机房,用户通过任一机房节点都能访问到所需的服务,一般情况下用户访问最近的机房节点即可。这时,北京、广州和西藏三个地区的机房中存储的数据均相同。另外,有时为了防止因一个机房中的服务器挂掉而导致服务中断的情况发生,也会同时部署多个存储有相同数据的机房,以便在一个机房挂掉后能够通过另外的机房为用户提供可靠服务。
[0003]在上述情况中,多个机房中的数据需要保持一致,一旦各机房中的数据出现了不一致的情况就会影响用户的正常使用。由于业务数据经常发生变更,一旦某机房中的数据变更后,其他机房没有及时进行同步更新就会导致数据不一致的情况发生,因此,目前还没有一种有效的机制能够确保多个机房中的数据的强一致性。

【发明内容】

[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的多机房部署系统及跨机房的业务数据处理方法。
[0005]根据本发明的一个方面,提供了多机房部署系统,包括:主机房和备机房,所述主机房包括至少一个业务服务器以及用于存储业务数据的主缓存数据库和主数据库,所述备机房包括至少一个业务服务器以及用于存储业务数据的备缓存数据库和备数据库;所述主缓存数据库和所述备缓存数据库之间双向同步业务数据,所述主数据库与所述备数据库之间双向同步业务数据;
[0006]所述备机房的至少一个业务服务器用于:在接收到业务数据读请求时,从所述主数据库中读取业务数据;以及,在接收到业务数据写请求时,向所述主数据库写入业务数据。
[0007]根据本发明的另一方面,提供了跨机房的业务数据处理方法,包括:
[0008]主机房的主缓存数据库和备机房的备缓存数据库之间双向同步业务数据,主机房的主数据库与备机房的备数据库之间双向同步业务数据;
[0009]当备机房的业务服务器接收到业务数据读请求时,从所述主数据库中读取业务数据;或者,当备机房的业务服务器接收到业务数据写请求时,向所述主数据库写入业务数据。
[0010]根据本发明提供的多机房部署系统及跨机房的业务数据处理方法,主备机房都部署有各自的缓存数据库和数据库,主备机房的缓存数据库之间双向同步业务数据,数据库之间也双向同步业务数据。当备机房的业务服务器接收到业务数据读请求时,从主机房的主数据库读取业务数据,当备机房的业务服务器接收到业务数据写请求时,向主机房的主数据库写入业务数据。该系统中,业务数据的更新主要发生在主数据库,在主数据库和备数据库之间双向同步业务数据时,以主数据库的业务数据为主,使得备数据库与主数据库的数据能够保持强一致性。而且,这种部署方式也提高了主数据库和备数据库之间同步数据的便捷性,避免了主数据库和备数据的业务数据同时发生不同程度的更新而造成的数据同步困难的问题,降低了主备同步的难度。
[0011]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0012]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0013]图1示出了根据本发明一个实施例的多机房部署系统的功能框图;
[0014]图2示出了根据本发明另一个实施例的多机房部署系统的功能框图;
[0015]图3示出了根据本发明一个实施例的跨机房的业务数据处理方法的流程图。
【具体实施方式】
[0016]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0017]图1示出了根据本发明一个实施例的多机房部署系统的功能框图。如图1所示,该系统包括:主机房和备机房。主机房包括至少一个业务服务器以及用于存储业务数据的主缓存数据库和主数据库,备机房包括至少一个业务服务器以及用于存储业务数据的备缓存数据库和备数据库;主缓存数据库和备缓存数据库之间双向同步业务数据,主数据库与备数据库之间双向同步业务数据。
[0018]主机房的至少一个业务服务器用于:在接收到业务数据读请求时,从主缓存数据库或主数据库中读取业务数据;以及,在接收到业务数据写请求时,依次向主数据库和主缓存数据库中写入业务数据。
[0019]备机房的至少一个业务服务器用于:在接收到业务数据读请求时,从主数据库中读取业务数据;以及,在接收到业务数据写请求时,向主数据库写入业务数据。
[0020]主机房作为主要机房,其承担了大部分的业务服务。主机房部署有多个业务服务器,如果I个业务服务器能同时处理500个业务请求,那么N个业务服务器就能同时处理500*N个业务请求。通过部署多个业务服务器能够大大提高主机房的并发处理能力,在面对一些高并发的场景,保证主机房能有效应对。主机房的业务服务器与主缓存数据库、主数据库都建立有通信连接。在接收到业务数据读请求时,主机房的业务服务器可以从主缓存数据库或主数据库中读取业务数据;在接收到业务数据写请求时,主机房的业务服务器向主缓存数据库和主数据库中写入业务数据。
[0021]备机房作为备用机房,部署它的主要目的是在主机房挂掉后使之能够接替主机房提供服务。但为了保证备用机房的可用性,在主机房能正常提供业务服务时,备机房也在同时运转,只不过备机房承担的业务量远远小于主机房。备机房也部署有多个业务服务器,通过部署多个业务服务器能够大大提高备机房的并发处理能力,在面对一些高并发的场景,保证备机房也能有效应对。备机房的业务服务器与备缓存数据库、主数据库建立有通信连接。在接收到业务数据读请求时,备机房的业务服务器从主数据库中读取业务数据;以及,在接收到业务数据写请求时,备机房的业务服务器向主数据库写入业务数据。
[0022]由上面的描述可以看出,当备机房的业务服务器有业务数据读请求或写请求时,备机房的业务服务器不向自己的备数据库读写数据,而是向主机房的主数据库读写数据。采用这种方式的优点在于,业务数据的更新主要发生在主数据库,在主数据库和备数据库之间双向同步业务数据时,以主数据库的业务数据为主,使得备数据库与主数据库的数据能够保持强一致性。而且,这种方式也提高了主数据库和备数据库之间同步数据的便捷性,避免了主数据库和备数据库的业务数据同时发生不同程度的更新而造成的数据同步困难的问题,降低了主备同步的难度。
[0023]进一步的,备机房的业务服务器用于:在接收到业务数据写请求时,先向主数据库写入业务数据,而后向备缓存数据库写入业务数据;在接收到业务数据读请求时,先查询备缓存数据库是否存储有业务数据,若是,则从备缓存数据库中读取业务数据;若否,则从主数据库中查询并读取业务数据;以及,若在接收到业务数据读请求后,未在备缓存数据库中查询到业务数据,则在从主数据库读取到业务数据后,将业务数据写入到备缓存数据库中。
[0024]备机房部署有备缓存数据库,一方面,能加快备机房的业务服务器对短期内存储在该备缓存数据库中的业务数据的读取速度;另一方面,在写业务数据时,先向主数据库写入业务数据,再向备缓存数据库写入数据;在读业务数据时,先从备缓存数据库中读数据,如果没有,在从主数据库读数据,这样可以解决主数据库负载过高的问题。而且,备缓存数据库与主缓存数据库之间双向同步业务数据,保证缓存之间数据的强一致性。
[0025]根据本实施例提供的多机房部署系统,主备机房都部署有各自的缓存数据库和数据库,主备机房的缓存数据库之间双向同步业务数据,数据库之间也双向同步业务数据。当备机房的业务服务器接收到业务数据读请求时,从主机房的主数据库读取业务数据,当备机房的业务服务器接收到业务数据写请求时,向主机房的主数据库写入业务数据。该系统中,业务数据的更新主要发生在主数据库,在主数据库和备数据库之间双向同步业务数据时,以主数据库的业务数据为主,使得备数据库与主数据库的数据能够保持强一致性。而且,这种部署方式也提高了主数据库和备数据库之间同步数据的便捷性,避免了主数据库和备数据的业务数据同时发生不同程度的更新而造成的数据同步困难的问题,降低了主备同步的难度。
[0026]图2示出了根据本发明另一个实施例的多机房部署系统的功能框图。如图2所示,本实施例与图1所示的实施例的不同之处在于,主数据库进一步包括MySQL主数据库和SSDB主数据库,备数据库包括MySQL备数据库和SSDB备数据库,其中
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1