CN112417043A - 数据处理系统及方法 - Google Patents

数据处理系统及方法 Download PDF

Info

Publication number
CN112417043A
CN112417043A CN202011303951.8A CN202011303951A CN112417043A CN 112417043 A CN112417043 A CN 112417043A CN 202011303951 A CN202011303951 A CN 202011303951A CN 112417043 A CN112417043 A CN 112417043A
Authority
CN
China
Prior art keywords
data
database
machine room
room
standby machine
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
Application number
CN202011303951.8A
Other languages
English (en)
Inventor
游志良
潘超
李绍华
胡云帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bigo Technology Pte Ltd
Original Assignee
Bigo Technology Pte Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bigo Technology Pte Ltd filed Critical Bigo Technology Pte Ltd
Priority to CN202011303951.8A priority Critical patent/CN112417043A/zh
Publication of CN112417043A publication Critical patent/CN112417043A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

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)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请公开了一种数据处理系统及方法,属于计算机技术领域。所述系统包括接入网关和多个机房,每个机房中包括业务单元、资源管理单元、缓存数据库和落盘数据库;多个机房中主机房的业务单元,用于接收来自接入网关的第一业务请求;主机房的资源管理单元,用于基于第一业务请求执行第一业务逻辑,并基于第一业务逻辑的执行情况,向主机房的缓存数据库、主机房的落盘数据库以及至少一个备机房的缓存数据库,同步发送第一数据写入请求;主机房的缓存数据库、主机房的落盘数据库以及备机房的缓存数据库,用于基于第一数据写入请求,存储第一数据。本申请实施例提供的技术方案通过跨机房同步多点存储数据,确保多机房数据的一致性。

Description

数据处理系统及方法
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种数据处理系统及方法。
背景技术
近年来,机房级别的运维事件频发,为了应对此类问题,人们提出了多机房部署技术。
在相关技术中,机房容灾系统采用同城三机房互为主备的方式,实现多活部署。三机房中包括一个主机房和两个备机房,通常由主机房处理业务,同时将数据异步复制到备机房。当主机房出现故障时,机房容灾系统将业务切换至备机房处理。
然而,由于主机房是将数据异步复制到备机房,当主机房与备机房的存储节点断开时,会有部分最新数据无法及时复制到备机房,从而产生数据不一致的问题。
发明内容
本申请实施例提供了一种数据处理系统及方法,能够跨机房同步多点存储数据与落盘本机房数据,确保多机房数据一致性与数据落盘持久化,进而实现机房级数据无损切换。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种数据处理系统,所述系统包括接入网关和多个机房,每个机房中包括业务单元、资源管理单元、缓存数据库和落盘数据库;其中,所述缓存数据库用于提供数据的缓存功能,所述落盘数据库用于提供数据的永久性存储功能;
所述多个机房中主机房的业务单元,用于接收来自所述接入网关的第一业务请求;
所述主机房的资源管理单元,用于基于所述第一业务请求执行第一业务逻辑,并基于所述第一业务逻辑的执行情况,向所述主机房的缓存数据库、所述主机房的落盘数据库以及至少一个备机房的缓存数据库,同步发送第一数据写入请求,所述第一数据写入请求中包括请求写入的第一数据,所述备机房是指所述多个机房中除所述主机房之外的其他机房;
所述主机房的缓存数据库、所述主机房的落盘数据库以及所述备机房的缓存数据库,用于基于所述第一数据写入请求,存储所述第一数据。
根据本申请实施例的一个方面,提供了一种数据处理方法,应用于数据处理系统中,所述系统包括接入网关和多个机房,每个机房中包括业务单元、资源管理单元、缓存数据库和落盘数据库;其中,所述缓存数据库用于提供数据的缓存功能,所述落盘数据库用于提供数据的永久性存储功能;所述方法包括:
所述多个机房中主机房的业务单元接收来自所述接入网关的第一业务请求;
所述主机房的资源管理单元基于所述第一业务请求执行第一业务逻辑,并基于所述第一业务逻辑的执行情况,向所述主机房的缓存数据库、所述主机房的落盘数据库以及至少一个备机房的缓存数据库,同步发送第一数据写入请求,所述第一数据写入请求中包括请求写入的第一数据,所述备机房是指所述多个机房中除所述主机房之外的其他机房;
所述主机房的缓存数据库、所述主机房的落盘数据库以及所述备机房的缓存数据库,基于所述第一数据写入请求,存储所述第一数据。
本申请实施例提供的技术方案可以带来如下有益效果:
通过将数据同步存储至主机房的缓存数据库和至少一个备机房的缓存数据库,实现了同步多点存储数据,保证了多机房数据一致性,进而提高了机房容灾能力。
另外,通过将数据落盘至本机房的落盘数据库,实现了数据落盘持久化,进而确保数据的无损。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术提供的三机房部署的示意图;
图2和图3是相关技术提供的一种数据处理系统的架构图;
图4是本申请一个实施例提供的数据处理系统的架构图;
图5是本申请另一个实施例提供的数据处理系统的架构图;
图6是本申请一个实施例提供的数据处理方法的流程图;
图7是本申请另一个实施例提供的数据处理方法的流程图;
图8是本申请另一个实施例提供的数据处理系统的架构图;
图9是本申请另一个实施例提供的数据处理方法的流程图;
图10是本申请另一个实施例提供的数据处理系统的架构图;
图11是本申请另一个实施例提供的数据处理方法的流程图;
图12是本申请另一个实施例提供的数据处理方法的流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其出示了相关技术提供的三机房部署的示意图,具体内容包括:
机房101、机房102和机房103互为主备。将用户数据分成A、B、C三份,每份数据分别归属到其中一个机房。例如,将用户数据A归属到机房101,用户数据B归属到机房102,用户数据C归属到机房103。其中,可以按照诸如区域、类别、距离等规则对用户数据进行拆分。
机房101用于处理用户数据A对应用户的业务,同时把数据异步复制到机房102和机房103,即在处理用户数据A时,机房102和机房103为机房101的备用机房。当机房101发生故障时,机房102或机房103可以代替机房101处理用户数据A对应用户的业务。
机房102用于处理用户数据B对应用户的业务,同时把数据异步复制到机房101和机房103,即在处理用户数据B时,机房101和机房103为机房102的备用机房。当机房102发生故障时,机房101或机房103可以代替机房102处理用户数据B对应用户的业务。
机房103用于处理用户数据C对应用户的业务,同时把数据异步复制到机房101和机房102,即在处理用户数据C时,机房101和机房102为机房103的备用机房。当机房103发生故障时,机房101或机房102可以代替机房103处理用户数据C对应用户的业务。
综上所述,通过采用多机房互为主备的方式部署机房,可以提高机房级的容灾能力。
请参考图2,其示出示了相关技术提供的数据处理系统的架构图。该数据处理系统包括接入网关201、主机房202、备机房203和备机房204。三个机房中都包括业务单元、缓存数据库和落盘数据库。
接入网关201用于将用户的业务请求路由至主机房202的业务单元。主机房202的业务单元用于根据用户的业务请求,从主机房202的缓存数据库(即“缓存数据库1”)中读取对应的数据,并基于用户的业务请求对数据执行逻辑处理。
主机房202的业务单元还用于将基于用户的业务请求所产生的新增数据缓存至主机房202的缓存数据库(即“缓存数据库1”),以及落盘至主机房202的落盘数据库(即“落盘数据库1”)。
可选地,数据处理系统通过异步复制的方式,将上述新增数据从主机房202的缓存数据库(即“缓存数据库1”)同步至备机房203的缓存数据库(即“缓存数据库2”)和备机房204的缓存数据库(即“缓存数据库3”),以及将上述新增数据从主机房202的落盘数据库(即“落盘数据库1”)同步至备机房203的落盘数据库(即“落盘数据库2”)和备机房204的落盘数据库(即“落盘数据库3”)。
参考图3,若主机房202出现故障,接入网关201则将用户的业务请求路由至备机房203的业务单元。备机房203的业务单元用于根据用户的业务请求,从备机房203的缓存数据库(即“缓存数据库2”)中读取对应的数据,并基于用户的业务请求对数据执行逻辑处理。
备机房203的业务单元还用于将基于用户的业务请求所产生的新增数据缓存至备机房203的缓存数据库(即“缓存数据库2”),以及落盘至备机房203的落盘数据库(即“落盘数据库2”)。
可选地,数据处理系统通过采用异步复制的方式,将上述新增数据从备机房203的缓存数据库(即“缓存数据库2”)同步至备机房204的缓存数据库(即“缓存数据库3”),以及将上述新增数据从备机房203的落盘数据库(即“落盘数据库2”)同步至备机房204的落盘数据库(即“落盘数据库3”)。
需要说明的是,备机房平时不处理用户的业务请求,在主机房出现故障的情况下,才会代替主机房处理用户的业务请求。
由此可见,相关技术采用异步复制的方式将新增数据同步至备用机房。当主机房出现故障时,由于异步复制的方式不是实时同步新增数据,会存在部分新增数据没有及时同步至备机房,造成备机房的缓存数据库的数据与主机房的缓存数据库的数据不一致的问题,形成部分最新数据的丢失,进而影响数据处理系统对用户的业务请求进行处理的准确性。例如,在订单处理的场景下,用户对原订单A进行了修改,生成了新订单A,新订单A的相关数据被存储至主机房。在将新订单A的相关数据完成异步复制到备机房之前,主机房发生故障,新订单A的相关数据未被完全同步到备机房。若用户需要对订新单A进行修改,则由备机房为用户提供新订单A的相关数据,但是备机房中只有不完整的新订单A的相关数据,因此造成备机房提供给用户的数据不准确。
本申请实施例提供的技术方案,通过将数据同步存储至主机房的缓存数据库和至少一个备机房的缓存数据库,实现了同步多点存储数据,保证了多机房数据一致性。本申请实施例提供的技术方案,可以被使用在任何需要机房级切换的系统中,比如视频处理系统、订单处理系统、购物平台系统、数据存储系统、信息查询系统等,本申请实施例对此不作限定。
下面,通过几个实施例对本申请技术方案进行介绍说明。
请参考图4,其示出了本申请一个实施例提供的数据处理系统的架构图。该数据处理系统可以包括:接入网关401和多个机房,每个机房中包括业务单元、资源管理单元、缓存数据库和落盘数据库。
其中,缓存数据库用于提供数据的缓存功能,落盘数据库用于提供数据的永久性存储功能。缓存数据库是指用于数据缓存的数据库。可选地,缓存数据库可以是Redis(Remote Dictionary Server,远程字典服务)开源数据库或Redis集群,如此可以保证数据处理系统的并发能力以及数据缓存速度。落盘数据库是指用于永久性存储数据的数据库。可选地,落盘数据库可以采是用于数据的持久化大容量存储的Pika开源数据库或者Pika集群,如此可以保证数据处理系统的落盘数据库的容量与落盘数据的持久化。
多个机房中主机房402的业务单元,用于接收来自接入网关401的第一业务请求。主机房402可以是多个机房中的任一机房。主机房402的部署位置可以是利于机房数据传输的最优位置。例如,主机房用于为目标城市提供服务,该最优位置可以是目标城市的中心,如此可以满足到目标城市的各个区域的数据传输时间大体上相同。接入网关401是指网络边缘连接用户主机的网关设备,用于接收来自用户主机的第一业务请求,并将第一业务请求路由至主机房402的业务单元。第一业务请求是指用户所需服务的请求。第一业务请求可以包括上传、访问、修改等请求。例如,在短视频处理的场景下,第一业务请求可以诸如是浏览目标短视频的请求、上传目标短视频的请求、修改目标短视频的请求等。在订单处理的场景下,第一业务请求可以诸如是修改商品信息的请求、修改商户信息的请求、修改个人信息的请求等,本申请实施例在此不作限定。
主机房402的资源管理单元是指数据的分发中转站,用于基于第一业务请求执行第一业务逻辑,并基于第一业务逻辑的执行情况,向主机房402的缓存数据库(即“缓存数据库1”)、主机房402的落盘数据库(即“落盘数据库1”)以及至少一个备机房的缓存数据库,同步发送第一数据写入请求,第一数据写入请求中包括请求写入的第一数据,备机房是指多个机房中除主机房402之外的其他机房。其中,上述至少一个备机房的缓存数据库是指一个或者多个备机房的缓存数据库。以三机房部署为例,至少一个备机房的缓存数据库可以只包括备机房1的缓存数据库。至少一个备机房的缓存数据库可以只包括备机房2的缓存数据库。至少一个备机房的缓存数据库还可以同时包括备机房1和备机房2的缓存数据库。
可选地,上述第一数据的同步方式还可以是先以多线程并行多写的方式完成对主机房的缓存数据库和落盘数据库,以及一个或多个备机房的缓存数据库的数据同步存储,然后再以串行多线写的方式将数据同步存储至剩余备机房的缓存数据库中。如此可以减少需要数据同步的缓存数据库的数量,减轻系统运行负担。在保证主机房故障时,有完整数据的备机房可以替换的同时,完成多机房的数据同步。
可选地,上述第一数据的同步方式可以利用协程半同步特性,以多线程并行多写的方式实现数据实时快速扩散到多个机房,避免串行多点写整体耗时高的问题,进而提升了数据处理系统的整体性能。
其中,串行多点写是指将数据指按照既定顺序依次写入多个目标的方式。以三机房部署为例,采用串行多点写的方式依次将主机房的数据同步至备机房1和备机房2中,即在完成将数据同步到备机房1之后,再进行将数据同步至备机房2,当完成将数据同步至备机房2之后,该数据同步操作结束,整体耗时高。
多线程并行多写是指将数据以多线程并行同时写入多个目标的方式,以三机房部署为例,采用多线程并行多写的方式将主机房的数据同步至备机房1和备机房2中,即对备机房1的数据同步操作和对备机房2的数据同步操作在同时进行。
第一业务逻辑是指处理第一业务请求所需数据的规则和流程。例如,在浏览短视频的场景下,若用户的业务请求是浏览目标短视频,则系统获取目标短时所对应的数据,并对数据进行解密、解码等操作,再发送至用户主机,供用户浏览。
第一数据是指因用户业务请求而产生的一系列数据。例如,第一数据可以是用户A浏览了短视频B这一信息对应的数据,可以是用户A在浏览短视频B时发送了弹幕C所产生的数据,还可以是用户A上传了短视频B所产生的数据等,本申请实施例在此不作限定。
可选地,主机房402的缓存数据库(即“缓存数据库1”)、主机房402的落盘数据库(即“落盘数据库1”)以及上述备机房的缓存数据库,用于基于第一数据写入请求,存储第一数据。
可选地,数据处理系统以Key-Value(键值对)形式将第一数据存储至机房的缓存数据库和落盘数据库中。每个键都会对应一个唯一的值,如此可以提高数据库的存储量,以及便于快速读取数据。
可选地,主机房402的资源管理单元,还用于在接收到主机房402的缓存数据库(即“缓存数据库1”)、主机房402的落盘数据库(即“落盘数据库1”)以及至少一个备机房的缓存数据库反馈的第一写入成功响应的情况下,确定第一数据写入成功。以三机房部署为例,可以在接收到主机房的缓存数据库和落盘数据库以及备机房1的缓存数据库反馈的写入成功响应的情况下,确定数据写入成功。可以在接收到主机房的缓存数据库和落盘数据库以及备机房2的缓存数据库反馈的写入成功响应的情况下,确定数据写入成功。还可以在接收到主机房的缓存数据库、主机房的落盘数据库、备机房1的缓存数据库以及备机房2的缓存数据库反馈的写入成功响应的情况下,确定数据写入成功。
可选地,在确定第一数据写入成功之后,采用异步复制的方式将第一数据同步至未反馈第一写入成功响应的备机房的缓存数据库以及其他的未写入数据的备机房的缓存数据库。
其中,第一写入成功响应用于表示将第一数据成功写入对应的数据库中。例如,主机房402的缓存数据库(即“缓存数据库1”)在成功写入第一数据之后,向主机房402的资源管理单元反馈第一写入成功响应。第一成功响应包括对应数据库标识信息,标识信息用于区分数据库。
可选地,主机房402的资源管理单元,还用于采用异步复制方式,将第一数据从主机房402的落盘数据库(即“落盘数据库1”),同步至各个备机房的落盘数据库中。异步复制方式是指一种以后台同步的方式将第一数据从主机房402的落盘数据库(即“落盘数据库1”),同步至各个备机房的落盘数据库中的方式,该异步复制过程属于非实时复制过程,可以保证主机房402的落盘数据(即“落盘数据库1”)和多个备机房的落盘数据库中的数据最终一致,且不影响主机房402的业务单元处理第一业务请求。
参考图5,当主机房402发生故障,多个机房中目标备机房403的业务单元,用于接收来自接入网关401的第二业务请求,第二业务请求是接入网关401在主机房发生故障的情况下向目标备机房403发送的。目标备机房403可以是多个备机房中任意一个备机房,用于在主机房发生故障的情况下,代替主机房402执行数据的读取、写入。其中,上述第二业务请求可以包括第一业务请求未完成的业务请求、第一业务请求之后新的业务请求等。
目标备机房403的资源管理单元,用于基于第二业务请求执行第二业务逻辑,并基于第二业务逻辑的执行情况,向目标备机房403的缓存数据库(即“缓存数据库2”)、目标备机房403的落盘数据库(即“落盘数据库2”)以及至少一个其他备机房的缓存数据库,同步发送第二数据写入请求,第二数据写入请求中包括请求写入的第二数据。目标备机房403的缓存数据库(即“缓存数据库2”)、目标备机房403的落盘数据库(即“落盘数据库2”)以及其他备机房的缓存数据库,用于基于第二数据写入请求,存储第二数据。其中,第二业务逻辑是指处理第二业务请求所需数据的规则和流程。第二数据是指因第二业务请求而产生的一系列数据。
可选地,目标备机房403的资源管理单元,还用于在接收到目标备机房403的缓存数据库(即“缓存数据库2”)、目标备机房403的落盘数据库(即“落盘数据库2”)以及至少一个其他备机房的缓存数据库反馈的第二写入成功响应的情况下,确定第二数据写入成功。其中,第二写入成功响应用于表示将第二数据成功写入对应的数据库中。可选地,该第二数据的同步方式可以利用协程半同步的特性,以多线程并行多写的方式实现数据实时快速扩散到多个机房。可选地,第二数据的同步方式还可以是先以多线程并行多写的方式完成对目标备机房的缓存数据库和落盘数据库,以及一个或多个其他备机房的缓存数据库的数据同步存储,然后再以串行多线写的方式将数据同步存储至剩余备机房的缓存数据库中。
可选地,每个机房中还包括补偿落盘单元,多个机房中目标备机房403的补偿落盘单元,用于在检测到主机房402发生故障的情况下,获取目标备机房403的落盘数据库(即“落盘数据库2”)中的最新同步时间戳,最新同步时间戳是指最近一次进行数据同步的时间戳。根据最新同步时间戳,从目标备机房403的缓存数据库(即“缓存数据库2”)中获取增量未落盘数据,增量未落盘数据是指目标备机房403的缓存数据库(即“缓存数据库2”)相比于目标备机房403的落盘数据库(即“落盘数据库2”)中新增的数据。将增量未落盘数据存储至目标备机房403的落盘数据库(即“落盘数据库2”)中。例如,在获取目标备机房403的落盘数据库(即“落盘数据库2”)中的最新同步时间戳A之后,从目标备机房403的缓存数据库(即“缓存数据库2”)中获取以最新同步时间戳A为起始点的数据,即增量未落盘数据,然后将该数据存储至目标备机房403的落盘数据库(即“落盘数据库2”)中。
可选地,每个机房的补偿落盘单元还用于在每个机房的落盘数据库和缓存数据库中周期性写入同步时间戳,该周期可以根据系统的应用场景自行设定。同步时间戳用于标识区分每个机房的落盘数据库中不同时间点已落库的数据。
可选地,每个机房的补偿落盘单元还用于检测每个机房的落盘数据库和缓存数据库的心跳信息,心跳信息用于标识每个机房的落盘数据库和缓存数据库的运行状态。可根据心跳信息,判断机房是否故障。当机房的补偿单元检测不到机房落盘数据库和缓存数据库中任意一个的心跳信息中,则可判断该机房故障。例如,当主机房402的补偿落盘单元检测不到主机房402的落盘数据库(即“落盘数据库1”)的心跳信息,则可判断主机房402故障。当主机房402的补偿落盘单元检测不到主机房402的缓存数据库(即“缓存数据库1”)的心跳信息,则可判断主机房402故障,并激活目标备机房403的补偿落盘单元。
可选地,目标备机房403的资源管理单元,还用于采用异步复制方式,将增量未落盘数据从目标备机房403的落盘数据库(即“落盘数据库2”),同步至各个其他备机房的落盘数据库中。例如,周期性地,在获取其他备机房的落盘数据库中的最新同步时间戳之后,即确定增量未落盘数据的最新同步时间点,从目标备机房403落盘数据库(即“落盘数据库2”)中拉取以最新同步时间戳为起点的增量未落盘数据,并同步至各个其他备机房的落盘数据库中。
需要说明的是,将第一数据从主机房402的落盘数据库(即“落盘数据库1”),同步至各个备机房的落盘数据库中的步骤亦是采用上述的方法。
综上所述,本申请实施例提供的技术方案,通过将数据同步存储至主机房的缓存数据库和至少一个备机房的缓存数据库,实现了同步多点存储数据,保证了多机房数据一致性,进而提高了机房容灾能力。
另外,通过将数据落盘至本机房的落盘数据库,实现了数据落盘持久化,进而确保数据的无损。
另外,通过补偿落盘单元从目标备机房的缓存数据库中拉取增量未落盘数据,并补偿到目标备机房的落盘数据库,实现数据的无损及持久化,进一步实现机房级数据无损切换。
请参考图6,其示出了本申请一个实施例提供的数据处理方法的流程图。该方法可应用于上文实施例介绍的数据处理系统中。该方法可以包括如下几个步骤(601~603):
步骤601,多个机房中主机房的业务单元接收来自接入网关的第一业务请求。
步骤602,主机房的资源管理单元基于第一业务请求执行第一业务逻辑,并基于第一业务逻辑的执行情况,向主机房的缓存数据库、主机房的落盘数据库以及至少一个备机房的缓存数据库,同步发送第一数据写入请求,第一数据写入请求中包括请求写入的第一数据,备机房是指多个机房中除主机房之外的其他机房。
可选地,主机房的资源管理单元在接收到主机房的缓存数据库、主机房的落盘数据库以及至少一个备机房的缓存数据库反馈的第一写入成功响应的情况下,确定第一数据写入成功。
可选地,主机房的资源管理单元采用异步复制方式,将第一数据从主机房的落盘数据库,同步至各个备机房的落盘数据库中。
步骤603,主机房的缓存数据库、主机房的落盘数据库以及备机房的缓存数据库,基于第一数据写入请求,存储第一数据。
请参考图7,其示出了本申请另一个实施例提供的数据处理方法的流程图。该方法可应用于上文实施例介绍的数据处理系统中。该方法可以包括如下几个步骤(701~703):
步骤701,多个机房中目标备机房的业务单元接收来自接入网关的第二业务请求,第二业务请求是接入网关在主机房发生故障的情况下向目标备机房发送的。
步骤702,目标备机房的资源管理单元基于第二业务请求执行第二业务逻辑,并基于第二业务逻辑的执行情况,向目标备机房的缓存数据库、目标备机房的落盘数据库以及至少一个其他备机房的缓存数据库,同步发送第二数据写入请求,第二数据写入请求中包括请求写入的第二数据。
可选地,目标备机房的资源管理单元在接收到目标备机房的缓存数据库、目标备机房的落盘数据库以及至少一个其他备机房的缓存数据库反馈的第二写入成功响应的情况下,确定第二数据写入成功。
步骤703,目标备机房的缓存数据库、目标备机房的落盘数据库以及其他备机房的缓存数据库基于第二数据写入请求,存储第二数据。
可选地,每个机房中还包括补偿落盘单元。多个机房中目标备机房的补偿落盘单元在检测到主机房发生故障的情况下,获取目标备机房的落盘数据库中的最新同步时间戳,最新同步时间戳是指最近一次进行数据同步的时间戳。目标备机房的补偿落盘单元根据最新同步时间戳,从目标备机房的缓存数据库中获取增量未落盘数据,增量未落盘数据是指目标备机房的缓存数据库相比于目标备机房的落盘数据库中新增的数据。目标备机房的补偿落盘单元将增量未落盘数据存储至目标备机房的落盘数据库中。
可选地,目标备机房的资源管理单元采用异步复制方式,将增量未落盘数据从目标备机房的落盘数据库,同步至各个其他备机房的落盘数据库中。
综上所述,本申请实施例提供的技术方案,通过将数据同步存储至主机房的缓存数据库和至少一个备机房的缓存数据库,实现了同步多点存储数据,保证了多机房数据一致性,进而提高了机房容灾能力。
另外,通过将数据落盘至本机房的落盘数据库,实现了数据落盘持久化,进而确保数据的无损。
另外,通过补偿落盘单元从目标备机房的缓存数据库中拉取增量未落盘数据,并补偿到目标备机房的落盘数据库,实现数据的无损及持久化,进一步实现机房级数据无损切换。
在一个示例性实施例中,参考图8,以同城三机房的数据处理系统为例,该数据处理系统包括接入网关801、主机房802、备机房803和备机房804。三个机房中都包括业务单元、资源管理单元、缓存数据库、落盘数据库和补偿落盘单元。
接入网关801用于将用户的业务请求路由至主机房802的业务单元。主机房802的业务单元用于接收来自接入网关801的业务请求。
主机房802的资源管理单元,用于基于业务请求执行业务逻辑,并基于业务逻辑的执行情况,向主机房802的缓存数据库、主机房802的落盘数据库以及备机房803的缓存数据库,同步发送数据写入请求。
主机房802的缓存数据库、主机房802的落盘数据库以及备机房803的缓存数据库,用于基于数据写入请求存储新增数据。主机房802的资源管理单元用于在接收到主机房802的缓存数据库、主机房802的落盘数据库以及备机房803的缓存数据库反馈的写入成功响应的情况下,确定新增数据写入成功。主机房802的资源管理单元采用异步复制方式,将新增数据从主机房802的落盘数据库,同步至备机房803和备机房804的落盘数据库中。
参考图9,主机房802的资源管理单元805的详细工作内容如下:
资源管理单元805基于业务请求,从主机房802的缓存数据库中拉取业务请求所需的数据,并根据实际业务逻辑处理数据。资源管理单元805将所需保存数据,同时发起写入主机房802的落盘数据库、主机房802的缓存数据库、备机房803的缓存数据库和备机房804的缓存数据库。资源管理单元805在接收到主机房802的落盘数据库和缓存数据库反馈的写入成功响应,以及备机房803和备机房804中任意一个的缓存数据库反馈的写入成功响应,判断新增数据写入成功。
参考图10,当主机房802故障时,接入网关801用于将用户的业务请求路由至备机房803的业务单元。备机房803的业务单元,用于接收来自接入网关801的业务请求。
备机房803的资源管理单元,用于基于业务请求执行业务逻辑,并基于业务逻辑的执行情况,向备机房803的缓存数据库、备机房803的落盘数据库以及备机房804的缓存数据库,同步发送数据写入请求。备机房803的缓存数据库、备机房803的落盘数据库以及备机房804的缓存数据库,用于基于数据写入请求存储新增数据。备机房803的资源管理单元,还用于在接收到备机房803的缓存数据库、备机房803的落盘数据库以及备机房804的缓存数据库反馈的写入成功响应的情况下,确定新增数据写入成功。
备机房803的补偿落盘单元用于在检测到主机房发生故障的情况下,获取备机房803的落盘数据库中的最新同步时间戳。备机房803的补偿落盘单元根据最新同步时间戳,从备机房803的缓存数据库中获取增量未落盘数据,并将增量未落盘数据存储至备机房803的落盘数据库中。备机房803的资源管理单元,还用于采用异步复制方式,将增量未落盘数据从备机房803的落盘数据库,同步至备机房804的落盘数据库中。
参考图11,备机房803的资源管理单元806的详细工作内容如下:
资源管理单元806基于业务请求,从备机房803的缓存数据库中拉取业务请求所需的数据,并根据实际业务逻辑处理数据。资源管理单元806将所需保存数据,同时发起写入备机房803的落盘数据库、备机房803的缓存数据库和备机房804的缓存数据库。资源管理单元806在接收到备机房803的落盘数据库、备机房803的缓存数据库以及备机房804的缓存数据库反馈的写入成功响应,判断新增数据写入成功。
参考图12,主机房802的补偿落盘单元807和备机房803的补偿落盘单元808的详细工作内容如下:
补偿落盘单元807对主机房802的落盘数据库和缓存数据库写入同步时间戳。补偿落盘单元807将写入同步时间戳的新增数据异步复制到备机房803的落盘数据库和备机房804的落盘数据库,并周期性地执行上述步骤。
当主机房802的落盘数据库发生故障,响应于未检测到主机房802的落盘数据库的心跳信息,补偿落盘单元807判定主机房802故障,同时,数据处理系统激活补偿落盘单元808。补偿落盘单元808从备机房803的落盘数据库中获取最新同步时间戳,并根据最新同步时间戳从备机房803的落盘数据库拉取以最新同步时间戳为起始点的增量未落盘数据。补偿落盘单元808将增量未落盘数据落盘至备机房803的落盘数据库,并将增量未落盘数据从备机房803的落盘数据库异步复制到备用机房804的落盘数据库。
综上所述,本申请实施例提供的技术方案,通过将数据同步存储至主机房的缓存数据库和至少一个备机房的缓存数据库,实现了同步多点存储数据,保证了多机房数据一致性,进而提高了机房容灾能力。
另外,通过将数据落盘至本机房的落盘数据库,实现了数据落盘持久化,进而确保数据的无损。
另外,通过补偿落盘单元从目标备机房的缓存数据库中拉取增量未落盘数据,并补偿到目标备机房的落盘数据库,实现数据的无损及持久化,进一步实现机房级数据无损切换。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种数据处理系统,其特征在于,所述系统包括接入网关和多个机房,每个机房中包括业务单元、资源管理单元、缓存数据库和落盘数据库;其中,所述缓存数据库用于提供数据的缓存功能,所述落盘数据库用于提供数据的永久性存储功能;
所述多个机房中主机房的业务单元,用于接收来自所述接入网关的第一业务请求;
所述主机房的资源管理单元,用于基于所述第一业务请求执行第一业务逻辑,并基于所述第一业务逻辑的执行情况,向所述主机房的缓存数据库、所述主机房的落盘数据库以及至少一个备机房的缓存数据库,同步发送第一数据写入请求,所述第一数据写入请求中包括请求写入的第一数据,所述备机房是指所述多个机房中除所述主机房之外的其他机房;
所述主机房的缓存数据库、所述主机房的落盘数据库以及所述备机房的缓存数据库,用于基于所述第一数据写入请求,存储所述第一数据。
2.根据权利要求1所述的系统,其特征在于,
所述主机房的资源管理单元,还用于在接收到所述主机房的缓存数据库、所述主机房的落盘数据库以及至少一个所述备机房的缓存数据库反馈的第一写入成功响应的情况下,确定所述第一数据写入成功。
3.根据权利要求1所述的系统,其特征在于,
所述主机房的资源管理单元,还用于采用异步复制方式,将所述第一数据从所述主机房的落盘数据库,同步至各个所述备机房的落盘数据库中。
4.根据权利要求1所述的系统,其特征在于,
所述多个机房中目标备机房的业务单元,用于接收来自所述接入网关的第二业务请求,所述第二业务请求是所述接入网关在所述主机房发生故障的情况下向所述目标备机房发送的;
所述目标备机房的资源管理单元,用于基于所述第二业务请求执行第二业务逻辑,并基于所述第二业务逻辑的执行情况,向所述目标备机房的缓存数据库、所述目标备机房的落盘数据库以及至少一个其他备机房的缓存数据库,同步发送第二数据写入请求,所述第二数据写入请求中包括请求写入的第二数据;
所述目标备机房的缓存数据库、所述目标备机房的落盘数据库以及所述其他备机房的缓存数据库,用于基于所述第二数据写入请求,存储所述第二数据。
5.根据权利要求4所述的系统,其特征在于,
所述目标备机房的资源管理单元,还用于在接收到所述目标备机房的缓存数据库、所述目标备机房的落盘数据库以及至少一个所述其他备机房的缓存数据库反馈的第二写入成功响应的情况下,确定所述第二数据写入成功。
6.根据权利要求1至5任一项所述的系统,其特征在于,每个机房中还包括补偿落盘单元;
所述多个机房中目标备机房的补偿落盘单元,用于:
在检测到所述主机房发生故障的情况下,获取所述目标备机房的落盘数据库中的最新同步时间戳,所述最新同步时间戳是指最近一次进行数据同步的时间戳;
根据所述最新同步时间戳,从所述目标备机房的缓存数据库中获取增量未落盘数据,所述增量未落盘数据是指所述目标备机房的缓存数据库相比于所述目标备机房的落盘数据库中新增的数据;
将所述增量未落盘数据存储至所述目标备机房的落盘数据库中。
7.根据权利要求6所述的系统,其特征在于,
所述目标备机房的资源管理单元,还用于采用异步复制方式,将所述增量未落盘数据从所述目标备机房的落盘数据库,同步至各个其他备机房的落盘数据库中。
8.一种数据处理方法,其特征在于,应用于数据处理系统中,所述系统包括接入网关和多个机房,每个机房中包括业务单元、资源管理单元、缓存数据库和落盘数据库;其中,所述缓存数据库用于提供数据的缓存功能,所述落盘数据库用于提供数据的永久性存储功能;
所述方法包括:
所述多个机房中主机房的业务单元接收来自所述接入网关的第一业务请求;
所述主机房的资源管理单元基于所述第一业务请求执行第一业务逻辑,并基于所述第一业务逻辑的执行情况,向所述主机房的缓存数据库、所述主机房的落盘数据库以及至少一个备机房的缓存数据库,同步发送第一数据写入请求,所述第一数据写入请求中包括请求写入的第一数据,所述备机房是指所述多个机房中除所述主机房之外的其他机房;
所述主机房的缓存数据库、所述主机房的落盘数据库以及所述备机房的缓存数据库,基于所述第一数据写入请求,存储所述第一数据。
9.根据权利要求8所述的方法,其特征在于,所述主机房的资源管理单元同步发送第一数据写入请求之后,还包括:
所述主机房的资源管理单元在接收到所述主机房的缓存数据库、所述主机房的落盘数据库以及至少一个所述备机房的缓存数据库反馈的第一写入成功响应的情况下,确定所述第一数据写入成功。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述主机房的资源管理单元采用异步复制方式,将所述第一数据从所述主机房的落盘数据库,同步至各个所述备机房的落盘数据库中。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述多个机房中目标备机房的业务单元接收来自所述接入网关的第二业务请求,所述第二业务请求是所述接入网关在所述主机房发生故障的情况下向所述目标备机房发送的;
所述目标备机房的资源管理单元基于所述第二业务请求执行第二业务逻辑,并基于所述第二业务逻辑的执行情况,向所述目标备机房的缓存数据库、所述目标备机房的落盘数据库以及至少一个其他备机房的缓存数据库,同步发送第二数据写入请求,所述第二数据写入请求中包括请求写入的第二数据;
所述目标备机房的缓存数据库、所述目标备机房的落盘数据库以及所述其他备机房的缓存数据库基于所述第二数据写入请求,存储所述第二数据。
12.根据权利要求11所述的方法,其特征在于,所述目标备机房的资源管理单元同步发送第二数据写入请求之后,还包括:
所述目标备机房的资源管理单元在接收到所述目标备机房的缓存数据库、所述目标备机房的落盘数据库以及至少一个所述其他备机房的缓存数据库反馈的第二写入成功响应的情况下,确定所述第二数据写入成功。
13.根据权利要求8至12任一项所述的方法,其特征在于,每个机房中还包括补偿落盘单元;
所述多个机房中目标备机房的补偿落盘单元在检测到所述主机房发生故障的情况下,获取所述目标备机房的落盘数据库中的最新同步时间戳,所述最新同步时间戳是指最近一次进行数据同步的时间戳;
所述目标备机房的补偿落盘单元根据所述最新同步时间戳,从所述目标备机房的缓存数据库中获取增量未落盘数据,所述增量未落盘数据是指所述目标备机房的缓存数据库相比于所述目标备机房的落盘数据库中新增的数据;
所述目标备机房的补偿落盘单元将所述增量未落盘数据存储至所述目标备机房的落盘数据库中。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
所述目标备机房的资源管理单元采用异步复制方式,将所述增量未落盘数据从所述目标备机房的落盘数据库,同步至各个其他备机房的落盘数据库中。
CN202011303951.8A 2020-11-19 2020-11-19 数据处理系统及方法 Pending CN112417043A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011303951.8A CN112417043A (zh) 2020-11-19 2020-11-19 数据处理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011303951.8A CN112417043A (zh) 2020-11-19 2020-11-19 数据处理系统及方法

Publications (1)

Publication Number Publication Date
CN112417043A true CN112417043A (zh) 2021-02-26

Family

ID=74773965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011303951.8A Pending CN112417043A (zh) 2020-11-19 2020-11-19 数据处理系统及方法

Country Status (1)

Country Link
CN (1) CN112417043A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506434A (zh) * 2020-12-11 2021-03-16 杭州安恒信息技术股份有限公司 一种web微服务集群中数据的读写方法及相关装置
CN113835634A (zh) * 2021-09-23 2021-12-24 中国自然资源航空物探遥感中心 一种基于环形内存双缓冲的多参量数据同步收录方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202375A (zh) * 2014-08-22 2014-12-10 广州华多网络科技有限公司 同步数据的方法及系统
CN105205182A (zh) * 2015-10-28 2015-12-30 北京奇虎科技有限公司 多机房部署系统及跨机房的业务数据处理方法
CN105262835A (zh) * 2015-10-30 2016-01-20 北京奇虎科技有限公司 一种多机房中的数据存储方法和装置
WO2019128318A1 (zh) * 2017-12-29 2019-07-04 华为技术有限公司 数据处理方法、装置和系统
CN110647511A (zh) * 2019-09-27 2020-01-03 掌阅科技股份有限公司 数据同步方法、计算设备及计算机存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202375A (zh) * 2014-08-22 2014-12-10 广州华多网络科技有限公司 同步数据的方法及系统
CN105205182A (zh) * 2015-10-28 2015-12-30 北京奇虎科技有限公司 多机房部署系统及跨机房的业务数据处理方法
CN105262835A (zh) * 2015-10-30 2016-01-20 北京奇虎科技有限公司 一种多机房中的数据存储方法和装置
WO2019128318A1 (zh) * 2017-12-29 2019-07-04 华为技术有限公司 数据处理方法、装置和系统
CN110647511A (zh) * 2019-09-27 2020-01-03 掌阅科技股份有限公司 数据同步方法、计算设备及计算机存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506434A (zh) * 2020-12-11 2021-03-16 杭州安恒信息技术股份有限公司 一种web微服务集群中数据的读写方法及相关装置
CN113835634A (zh) * 2021-09-23 2021-12-24 中国自然资源航空物探遥感中心 一种基于环形内存双缓冲的多参量数据同步收录方法及装置

Similar Documents

Publication Publication Date Title
CN108235751B (zh) 识别对象存储设备亚健康的方法、装置和数据存储系统
CN109739935B (zh) 数据读取方法、装置、电子设备以及存储介质
US8108634B1 (en) Replicating a thin logical unit
US8335761B1 (en) Replicating in a multi-copy environment
US7882286B1 (en) Synchronizing volumes for replication
US6343299B1 (en) Method and apparatus for random update synchronization among multiple computing devices
CN1794207B (zh) 实现缓存一致性的方法和系统
US8868492B2 (en) Method for maximizing throughput and minimizing transactions response times on the primary system in the presence of a zero data loss standby replica
CN102955845B (zh) 数据访问方法、装置与分布式数据库系统
CN106557592A (zh) 数据同步方法、装置及服务器集群
US20200019543A1 (en) Method, apparatus and device for updating data, and medium
JP2016522514A (ja) オンライン・ホット・スタンバイ・データベースのためのレプリケーション方法、プログラム、および装置
US10726042B2 (en) Replication control using eventually consistent meta-data
CN111061810B (zh) 基于分布式逻辑时间戳的分布式事务管理方法及系统
EP4213038A1 (en) Data processing method and apparatus based on distributed storage, device, and medium
CN112417043A (zh) 数据处理系统及方法
CN103902405A (zh) 一种准连续性数据复制方法及装置
EP3696658B1 (en) Log management method, server and database system
CN116917880A (zh) 分布式数据库远程备份
CN110196680B (zh) 数据处理方法、装置及存储介质
CN109726211B (zh) 一种分布式时序数据库
CN110121712B (zh) 一种日志管理方法、服务器和数据库系统
CN109947730A (zh) 元数据恢复方法、装置、分布式文件系统及可读存储介质
CN101458655A (zh) 内存管理方法、系统及内存控制装置
CN116303789A (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