CN113987064A - 数据处理方法、系统及设备 - Google Patents
数据处理方法、系统及设备 Download PDFInfo
- Publication number
- CN113987064A CN113987064A CN202111115269.0A CN202111115269A CN113987064A CN 113987064 A CN113987064 A CN 113987064A CN 202111115269 A CN202111115269 A CN 202111115269A CN 113987064 A CN113987064 A CN 113987064A
- Authority
- CN
- China
- Prior art keywords
- node
- log
- data
- standby
- read request
- 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
- 238000003672 processing method Methods 0.000 title abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 102
- 230000001360 synchronised effect Effects 0.000 claims abstract description 94
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000004590 computer program Methods 0.000 claims description 10
- 239000000126 substance Substances 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 101100242901 Quaranfil virus (isolate QrfV/Tick/Afghanistan/EG_T_377/1968) PB2 gene Proteins 0.000 description 2
- 101150082826 Segment-2 gene Proteins 0.000 description 2
- 101100194052 Thogoto virus (isolate SiAr 126) Segment 2 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 101100247669 Quaranfil virus (isolate QrfV/Tick/Afghanistan/EG_T_377/1968) PB1 gene Proteins 0.000 description 1
- 101150025928 Segment-1 gene Proteins 0.000 description 1
- 101100242902 Thogoto virus (isolate SiAr 126) Segment 1 gene Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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/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
- 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
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)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (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为本申请实施例提供的另一种电子设备的结构示意图。
具体实施方式
在分布式数据库中,包含有协调节点和计算单元。通过协调节点(master)实现对各个计算单元(segment)的任务调度。一般来说,为了确保计算单元工作的可靠性和稳定性,在每个计算单元中包含有主节点(primary)之外,还含有至少一个备节点(mirror)。然而,备节点所起到的作用是在主节点出现故障的情况下,备节点将替代主节点进行工作。若主节点一切工作正常,则备节点会根据主节点的数据更新而更新。尤其是当计算单元数量较多,进行数据备份的成本比较高,但是备节点的利用率很低,造成存储资源的浪费。
图1为本申请实施例提供的一种数据处理系统的整体结构示意图。从图1中可以看到,协调节点关联有至少两个计算单元(在实际应用中,协调节点关联的计算单元的数量不做限制)。这里的协调节点为图1中的master节点,计算单元为图1中segment。具体的,在计算单元segment中,包含有起到读写作用的主节点primary,以及至少一个起到备份和只读作用的备节点mirror。由于备节点mirror中所备份的数据与主节点primary中数据相同,因此,可以对备节点mirror中的数据进行充分利用,即备节点mirror不仅用于在主节点primary故障的时候对外提供服务,还能够在主节点primary正常工作时由备节点mirror满足协调节点的数据读取,从而使得备节点mirror中的数据得到充分利用,减轻主节点的工作负担。此外,在图1中还可以看到提供一写多读服务,起到写作用的主节点以及多个备节点都利用同一共享存储进行数据的存储。在本申请技术方案中,具体工作过程,将在下述实施例中说明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。此外,下文描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图2为本申请实施例提供的数据处理方法的流程示意图。在实际应用场景中,该方法的执行主体可以是分布式数据库中协调节点(比如,计算机、服务器等)。该方法具体包括如下步骤:
201:保存多个计算单元的主备同步状态信息;其中,任一计算单元包括主节点和至少一个备节点,主备同步状态信息包括任一备节点的回放日志标识;所述回放日志标识是备节点利用同属一个计算单元的主节点的同步日志执行数据回放后确定的。
202:响应于接收到的数据处理请求,根据所述数据处理请求中携带的日志标识及所述多个计算单元的主备同步状态信息,从所述多个计算单元中确定目标计算单元。
203:若所述数据处理请求为读请求,则将所述读请求发送至所述目标计算单元中的至少一个备用节点,以由用于所述至少一个备用节点响应所述读请求以反馈相应的目标数据。
204:若所述数据处理请求为写请求,则将所述写请求发送至所述目标计算单元中的主节点。
结合图1所示,协调节点master能够获取到多个计算单元的主备同步状态信息,并存储在协调节点master中的segment status当中。这里所说的主备同步状态信息包括:active、sync LSN、apply LSN、replay LSN等等。为了便于协调节点能够及时、准确的掌握计算单元中主节点和备节点的主备同步状态信息,协调节点master在获取主备同步状态信息的时候,可以直接从各个备节点获取到所需的主备同步状态信息。这里所说的日志标识可以理解为日志的LSN(Log sequence number),比如有sync LSN、apply LSN、replay LSN。
通过主备同步状态信息,协调节点就能够及时掌握各个计算单元以及计算单元内的主节点、至少一个备节点等最新主备同步状态信息。从而使得在接收到客户端的写请求或读请求的时候,能够及时准确找到合适的主节点或备节点执行对应的数据读写任务。具体来说,在协调节点接收到读请求之后,从读请求中可以提取出其中携带的日志标识(比如,sync LSN)。根据日志标识还可以了解到当前各个备节点的主备同步状态信息,比如,通过replay LSN了解备节点的日志回放进度,通过sync LSN了解备节点的数据同步进度。
如前文所述可知,在计算单元中的备节点mirror是用于安全备份的,正常使用过程中需要与主节点primary保持同步状态,当主节点出现问题导致无法正常工作的时候,可以由备节点替代主节点继续工作。换言之,在主节点没有出现故障的时候,备节点虽然一直在进行数据备份、文件备份,协调节点无法及时了解各备节点与主节点之间的同步进度以及同步状态信息,备节点中的备份数据、备份文件都处于闲置状态,无法得到充分利用。因此,为了使得备节点中的备份数据、备份文件能够得到充分利用,可以在协调节点接收到客户端的读请求的时候,根据日志标识和主备同步状态信息从多个计算单元中确定目标计算单元。进而,由目标计算单元中的备节点提供目标数据。
通过上述方案,使得计算单元中的备节点中的数据得到充分利用,在保证备节点基本的安全备份需求的同时,还能够很好的满足客户端进行数据读取的需求。
结合图1可以看到,协调节点可以获取到计算单元中主节点和备节点的主备同步状态信息。在实际应用中,可以在协调节点中新建用于对计算单元中主节点primary、备节点mirror进行信息状态存储的数据结构。例如:
对应得到的全局实例为static SegmentSyncStatusArray*allSegSyncStatus
需要说明的是,协调节点master获取主备同步状态信息的方式可以是由计算单元(segment)主动上报,上报的方式可以包括通过心跳消息上报、分布式事务提交过程上报。下面分别具体举例说明。
如图3为本申请实施例提供的通过心跳消息上报主备同步状态信息的流程示意图。从图3中可以看到,通过心跳消息上报主备同步状态信息具体过程如下:301:接收所述计算单元的心跳消息。302:获取所述心跳消息中携带的回放日志标识。303:若所述回放日志标识大于任一已存储日志标识,则获取所述心跳消息中携带的所述备节点的所述主备同步状态信息。
例如,在fts_result消息中增加计算单元segment的主备同步状态信息。
通过上述实施例可以看到,在心跳消息中所包含的主备同步状态信息有回放日志标识。由于在实际应用中,心跳消息的传输顺序可能会错乱,因此,在进行信息更新的时候,需要确保applyPtr所表示的apply lsn(也就是前文所说的回放日志标识)能够比master协同节点中已经保存的lsn(已存储日志标识)大的情况下,才允许将接收到的备节点中的主备同步状态信息保存到当前数据结构当中,完成主备同步状态信息的更新。
如图4为本申请实施例提供的通过事务提交上报主备同步状态信息的流程示意图。从图4中可以看到,通过分布式事务提交上报主备同步状态信息,具体步骤如下:401:确定所述计算单元中所述主节点和所述备节点的事务状态。402:若所述主节点和所述至少一个备节点的事务状态为准备状态,向处于准备状态的所述主节点和所述至少一个备节点发送事务提交请求。403:接收基于所述事务提交请求反馈的所述计算单元的所述主备同步状态信息。
例如,分布式事务处理过程中采用两段提交(Two-Phase Commit,2PC),包括准备阶段prepare和提交阶段commit。在segment处理分布式事务提交协议的时候,利用exec_mpp_dtx_protocol_command进行事务提交。在End Command之前,发送当前计算单元segment最新的主备同步状态信息给协调节点master,以便master通过前文所说的数据结构进行主备同步状态信息的保存。这样能够确保协调节点master、主节点primary和备节点mirror在进行数据处理时的强一致性效果。备节点mirror中回放得到是数据能够参与到数据读取工作当中,满足协调节点的数据读取需求。
如前文所可知,在分布式系统中,一个协调节点master可以同时关联有多个计算单元segment。不同计算单元中的备节点在进行数据文件备份的内容不同,而且备份进度也是快慢不一。需要说明的是,在实际应用中确保各个备节点的日志回放进度、数据同步进度都能够满足客户端的数据读取需求。具体如下:接收所述数据处理请求。获取所述主备同步状态信息中包含的最新回放日志标识,以及所述数据处理请求中携带的所述日志标识。若所述最新回放日志标识大于所述日志标识,则从所述多个计算单元中确定所述日志标识对应的目标计算单元。
在实际应用中,分布式事务执行过程中会对备节点中的数据进行及时更新。更新之后会在备节点中更新日志标识。因此,在协调节点接收到读请求的时候会对日志标识进行同步更新,从而得到在当前计算单元中的一个新的回放日志标识。协同节点为了能够准确的找到合适的目标计算单元,会对多个目标计算单元的日志标识进行比较,从而找到最新回放日志标识。
在对比的时候,若发现最新回放日志标识大于读请求中携带的日志标识,则将该最新回放日志标识对应的计算单元作为目标计算单元。
例如,协调节点master选取计算单元segment的时候,会根据curSegSyncStatus的信息来选取对应的segment的备节点。具体来说,协调节点master获取计算单元的主备同步状态信息的一个快照,保存当前进程的全局变量,并序列化SnapshotData,把所有segment的回放主备同步状态信息一起序列化发送给对应的备节点。一般来说,在计算单元中包含有一个备节点。若在计算单元中包含有多个备节点,则可以在多个备节点中选择回放速度最快的,或者当前处于空闲状态的备节点作为可读取目标数据的节点。
在将最新回放日志标识与读请求中携带的日志标识进行校验对比的时候,若发现最新回放日志标识不大于读请求中携带的日志标识,则当前各个计算单元的回放速度不能够满足用的读请求对目标数据的读取需求,比如,因为备节点进行数据文本同步或回放的速度比较慢,被没有及时的将主节点中的数据、日志等同步到备节点中。在这种情况下,可以通过计算单元中主节点primary来满足读取需求,换言之,根据读请求中携带的日志标识,从主节点中读取所需的目标数据。
如前文所述可知,在同一个协调节点关联的多个计算单元,各个计算单元中所存储的数据不同,对应的日志标识也不同。比如,计算单元segment1存储的日志标识为lsn001至lsn100号段,计算单元segment2存储的日志标识为lsn101至lsn200号段;读请求中携带的日志标识为lsn105。则可知,计算单元segment2为目标计算单元。在主节点接收到备节点的主备同步状态信息快照之后进行序列化处理,得到回放相关主备同步状态信息,进而将序列化后的回放相关主备同步状态信息发送给计算单元segment2中的备节点。再由备节点进行反序列化处理,将日志标识与其中的最新回放日志标识进行校验比对,当确定读请求中日志标识apply lsn小于备节点中的replay lsn。
在本申请一个或者多个实施例中,若所述数据处理请求为读请求,则读请求发送至已经完成对所述日志标识对应的目标数据的数据同步操作的所述备节点,以由所述备节点基于所述日志标识反馈所述目标数据。
在实际应用中,备节点可以从主节点处同步得到数据,例如,通过primary sender进程向备节点Mirror发送Message,然后备节点Mirror的mirror consumer等进程解析消息,执行变更。XLOG通过XLogWrite函数(写XLOG)执行同样的操作,把XLOG更新同步过去。此外,备节点HIA需要从主节点同步WAL日志,利用WAL日志回放得到数据以及配置文件。由于WAL日志中存储有修改的数据内容,可以利用WAL日志回放得到所需的数据和配置文件。在接收到读请求的lsn后就可以由计算单元中备节点对WAL日志进行回放。回放完成后,协调节点master接收所述备节点反馈的所述目标数据。
其中,所述目标数据是在所述备节点中所述回放日志标识不小于所述日志标识时由所述备节点对所述日志标识对应的日志信息进行回放得到的。
因为在实际应用中,分布式事务处理速度很快,在协调节点响应读请求到发送读请求到目标计算单元的备节点的过程中,存在备节点或者计算单元突发故障的可能性。若发生故障,则会出现数据回滚,导致当前备节点中的最新回放日志标识发生变化,变化为更早的回放日志标识,导致无法满足读请求。因此,为了确保备节点数据读取的可靠进行,在发出目标数据之前,还需要备节点对回放日志标识与读请求中日志标识的大小关系进行比较。只有比较确认回放日志标识大于读请求中日志标识,在能够由该备节点提供所需的目标数据。
例如,利用上述方案,为了确保各个计算单元数据的一致性,需要设定synchronous_commit为on,从而能够确保各个计算单元segment的一致性效果。需要说明的是,若设定synchronous_commit为on,则在事务处理过程中,需要等备节点回放完主节点提供的WAL日志之后再进行事务提交(commit)。
在实际应用中,若所述数据处理请求为写请求,则将所述写请求发送至所述目标计算单元中的主节点。从图1中可以看到,在每个计算单元segment中有1个主节点,该主节点同时具有读写能力。由于可以通过至少一个备节点完成读请求,但是无法完成数据写入,因此,当接收到协调节点的写请求之后,将会分配到对应的计算单元中主节点primary。因此,在分布式数据库中通过多个计算单元以及各个计算单元中包含的主节点和多个备节点实现了一写多读的效果,在利用备节点保证数据安全的同时,能够有效提高数据处理能力。
在本申请一个或者多个实施例中,还包括:接收所述备节点反馈的所述目标数据。其中,所述目标数据是在所述备节点接收至少一个日志信息之后进行回放得到的所述回放日志标识不小于所述日志标识时由所述备节点对所述日志标识对应的日志信息进行回放得到的。换言之,为了提高读取效率,可以若设定synchronous_commit为off,则在事务处理过程中,积攒多个sync lsn后再读取WAL日志进行回放,也就是在接收sync lsn的时候备节点会进行计数统计,当接收到的sync lsn个数不小于计数阈值的时候,会对WAL进行replay回放。具体来说,
如图5为本申请实施例提供的一种目标数据获取的过程示意图。从图5中可以看到包括,协调节点master、计算单元segment中的主节点primary、备节点mirror。在备节点mirror中根据功能划分为日志接收模块mirror walreceiver、日志回放模块mirrorstartup以及数据读取模块mirror read。具体过程如下:
首先假设计数阈值为2。由计算单元中的主节点向备节点同步日志标识,该日志标识为sync lsn1(数据同步日志标识)。在备节点中的mirror walreceiver接收到sync之后,就向主节点回复“sync lsn1 ack”。进而,主节点发送sync lsn2给mirror walreceiver,此时备节点已经连续接收到两个sync lsn,满足接收到的sync lsn个数不小于计数阈值,则可以执行接下来的WAL日志回放。
若在此时接收到协调节点的读请求,并且在该读请求中携带有sync lsn2。由于此时mirror还没有完成对sync lsn2对应的WAL的回放操作,因此,需要等待对sync lsn2对应的WAL日志的回放完成后才可以继续执行。此时,会由mirror startup执行回放replaylsn2,进而将回放后得到的数据发送给数据读取模块mirror read,mirror read根据读请求中所携带的sync lsn2的读请求,将对应的目标数据反馈给协调节点。
若在执行完对sync lsn2的WAL日志回放之后,mirror read才接收到由协调节点master发送的读请求“read,get sync lsn2”。由于此时mirror已经执行完成sync lsn1和sync lsn2这两个WAL日志的回放操作,因此,可以直接为协调节点提供所需的目标数据。
需要说明的是,在图5所示方案在执行过程中,由于采用的回放方案是积攒多个sync lsn之后进行集中回放的方式,为了避免在完成回放之前有读请求想要获取还未完成回放的日志对应的数据的请求下出现错误,则在mirror接收到master发出的读请求之后,需要对mirror回放完成的replay lsn与sync lsn的大小进行比较。例如,在mirror read接收到“read,get sync lsn2”后,将sync lsn2与当前最新完成回放的reply lsn进行对比,要确保最新回放的reply lsn大于等于读请求中的sync lsn2。这样能够很好的解决对每一个sync lsn单独进行回放时对mirror的写入效率低的不利影响。
通过上述实施例可知,每个master会配置有多个segment,而每个segment中有配置有多个mirror,而在使用过程中,mirror是不对用户客户端提供数据的读取服务,只有在primary出现故障的时候,才会替代primary进行工作。因此,在系统稳定运行的时候,虽然mirror中的数据是同步更新的,但是一直处于闲置状态。因此,可以将这部分闲置资源利用起来,同时不改变原mirror用于应急替换primary的安全保障功能,还能够提高mirror的利用率。
基于同样的思路,本申请技术方案还提供一种数据处理方法。该方法的执行主体可以是计算单元中备节点。如图6为本申请实施例提供的另一种数据处理方法的流程示意图。从图6中可以看到,该方法包括如下步骤:
601:接收主节点发送的日志信息。
602:根据所述日志信息,执行数据同步操作,得到与所述主节点同步的已同步数据。
603:接收到读请求后,从所述已同步数据中获取所述读请求指定的目标数据。
604:向所述读请求发送方反馈所述目标数据。
在进行分布式事务处理过程中,主节点具有读写功能,在正常工作中满足协调节点的读写需求。当主节点接收到所需处理的日志信息和数据之后,备节点也需要进行对主节点进行备份处理。在本申请技术方案中,可以利用备节点来满足协调节点的只读需求。主节点会随时将新的日志信息发送给备节点,备节点在接收到主节点提供的日志信息之后,执行数据同步操作。执行同步操作过程中,包括,可以直接进行同步的数据,还有一些配置文件则可以通过日志信息进行回放得到,从而使得备节点能够得到与主节点同步的已同步数据。
进而,备节点接收到由协调节点发送的读请求之后,备节点会根据读请求中携带的日志标识从备节点中已经回放得到的数据中查找目标数据,进而将目标数据发送给对应的读请求发送方。例如,客户端(这里所说的客户端,可以理解为有从备节点读取数据需求的一端)根据自己的需求向协调节点发送数据获取请求,在协调节点接收到客户端的数据获取请求之后,根据各个计算单元中数据同步、数据回放情况选择合适的计算单元用于提供目标数据,并向该计算单元发送读请求。在该读请求中携带有对应的日志标识,进而基于日志标识从对应备节点中读取到所需的目标数据。具体如下:
所述接收到读请求后,从已同步数据中获取所述读请求指定的目标数据,包括:接收到读请求后,查询已同步数据中是否存在与所述读请求携带的日志标识匹配的目标数据。未查询到,处于等待状态直至所述数据同步操作执行到所述已同步数据中含有所述目标数据,向所述读请求发送方反馈所述目标数据。
在实际应用中,备节点根据接收到读请求中携带的sync lsn进行目标数据查找的方式与备节点的回放方式有关。如前文所述可知,备节点在接收到日志信息中sync lsn以及对应的WAL日志之后,会对WAL日志进行回放,然后进行事务提交。然而,这种针对每个sync lsn以及对应的WAL日志进行回放,进而写入磁盘过程耗时较长,无法及时接收新的日志信息。因此,可以采用积攒多个sync lsn之后再进行回放,进而写入磁盘,这样能够及时接收新的日志信息,保证数据同步的一致性效果。
若采用积攒多个sync lsn之后进行回放的方式,可能读请求中所携带的sync lsn超前于当前已完成回放reply lsn的情况。换言之,备节点无法查询到满足读请求的目标数据。因此,若备节点接收到读请求的sync lsn之后,将等待备节点执行回放操作,直到回放得到sync lsn对应的reply lsn。
在实际应用中,若查询已同步数据中是否存在与所述读请求携带的日志标识匹配的目标数据,包括:获取所述读请求中携带的所述日志标识。接收到所述主节点同步的至少一个日志信息。对所述至少一个日志信息进行回放,得到回放日志标识和所述已同步数据。在所述回放日志标识不小于所述日志标识时,从所述已同步数据中找到所述日志标识对应的所述目标数据。
在备节点提供目标数据之前,需要将备节点当前已回放的日志标识reply lsn与接收到的读请求中的sync lsn进行比较。只有当reply lsn不小于sync lsn的情况下,才能够为协调节点提供其所需的目标数据。具体可参考前文中图5所对应的实施例,这里就不再重复赘述。
需要说明的是,在本申请技术方案中,协调节点有数据读请求的时候,若确定计算单元中某个备节点能够提供数据,则协调节点将该读请直接发送给计算单元中对应的备节点,而不需要主节点作为中转。能够有效提高分布式系统的数据处理效率。为了能够实现更加及时、高效的响应用户的读请求,当经过查询后发现备节点暂时无法提供读请求所需的目标数据,那么可以在主节点不是很忙的情况下由主节点提供目标数据,如果主节点一直处于忙碌状态,则可以等待备节点完成目标数据对应的WAL日志回放之后,由备节点提供对应的目标数据。
为了能够实现本申请技术方案,需要计算单元中的主节点、备节点将其的主备同步状态信息及时发送给协调节点。在实际应用中,可以由主节点、备节点各自发送自己的主备同步状态信息,也可以是备节点将自己的主备同步状态信息发送给主节点,然后由主节点将自己的主备同步状态信息以及备节点的主备同步状态信息一起发送给协调节点。发送主备同步状态信息的方式在图1至图5所示实施例中已做解释说明,这就不再重复赘述。
基于同样的思路,本申请实施例还提供一种数据处理系统。如图7为本申请实施例提供的数据处理系统结构示意图。从图7中可以看到,该系统包括:
协调节点设备71,用于保存多个计算单元的主备同步状态信息;其中,任一计算单元包括主节点和至少一个备节点,主备同步状态信息包括任一备节点的回放日志标识;所述回放日志标识是备节点利用同属一个计算单元的主节点的同步日志执行数据回放后确定的;响应于接收到的数据处理请求,根据所述数据处理请求中携带的日志标识及所述多个计算单元的主备同步状态信息,从所述多个计算单元中确定目标计算单元;若所述数据处理请求为读请求,则将所述读请求发送至所述目标计算单元中的至少一个备用节点,以由用于所述至少一个备用节点响应所述读请求以反馈相应的目标数据;若所述数据处理请求为写请求,则将所述写请求发送至所述目标计算单元中的主节点。
备节点设备72,用于接收主节点发送的日志信息。根据所述日志信息,执行数据同步操作,得到与所述主节点同步的已同步数据。接收到读请求后,从所述已同步数据中获取所述读请求指定的目标数据。向所述读请求发送方反馈所述目标数据。
基于同样的思路,本申请实施例还提供一种数据处理装置。如图8为本申请实施例提供的一种数据处理装置的结构示意图。该数据处理装置包括:
保存模块81,用于保存多个计算单元的主备同步状态信息;其中,任一计算单元包括主节点和至少一个备节点,主备同步状态信息包括任一备节点的回放日志标识;所述回放日志标识是备节点利用同属一个计算单元的主节点的同步日志执行数据回放后确定的。
确定模块82,用于响应于接收到的数据处理请求,根据所述数据处理请求中携带的日志标识及所述多个计算单元的主备同步状态信息,从所述多个计算单元中确定目标计算单元。
读取模块83,用于若所述数据处理请求为读请求,则将所述读请求发送至所述目标计算单元中的至少一个备用节点,以由用于所述至少一个备用节点响应所述读请求以反馈相应的目标数据。
写入模块84,用于若所述数据处理请求为写请求,则将所述写请求发送至所述目标计算单元中的主节点。
可选地,获取模块81,还用于接收所述计算单元的心跳消息;获取所述心跳消息中携带的回放日志标识;若所述回放日志标识大于任一已存储日志标识,则获取所述心跳消息中携带的所述备节点的所述主备同步状态信息。
可选地,获取模块81,还用于确定所述计算单元中所述主节点和所述备节点的事务状态;若所述主节点和所述至少一个备节点的事务状态为准备状态,向处于准备状态的所述主节点和所述至少一个备节点发送事务提交请求;接收基于所述事务提交请求反馈的所述计算单元的所述主备同步状态信息。
可选地,确定模块82,还用于接收所述数据处理请求;获取所述主备同步状态信息中包含的最新回放日志标识,以及所述数据处理请求中携带的所述日志标识;若所述最新回放日志标识大于所述日志标识,则从所述多个计算单元中确定所述日志标识对应的目标计算单元。
可选地,发送模块83还用于若所述数据处理请求为读请求,则将所述读请求发送至已经完成对所述日志标识对应的目标数据的数据同步操作的所述备节点,以由所述备节点基于所述日志标识反馈所述目标数据。
可选地,还包括接收模块85,用于接收所述备节点反馈的所述目标数据;其中,所述目标数据是在所述备节点中所述回放日志标识不小于所述日志标识时由所述备节点对所述日志标识对应的日志信息进行回放得到的。
可选地,还包括接收模块85,还用于接收所述备节点反馈的所述目标数据;其中,所述目标数据是在所述备节点接收至少一个日志信息之后进行回放得到的所述回放日志标识不小于所述日志标识时由所述备节点对所述日志标识对应的日志信息进行回放得到的。
本申请一个实施例还提供一种电子设备。该电子设备为计算单元中主节点电子设备。如图9为本申请实施例提供的一种电子设备的结构示意图。该电子设备包括存储器901、处理器902及通信组件903;其中,
所述存储器901,用于存储程序;
所述处理器902,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
保存多个计算单元的主备同步状态信息;其中,任一计算单元包括主节点和至少一个备节点,主备同步状态信息包括任一备节点的回放日志标识;所述回放日志标识是备节点利用同属一个计算单元的主节点的同步日志执行数据回放后确定的;
响应于接收到的数据处理请求,根据所述数据处理请求中携带的日志标识及所述多个计算单元的主备同步状态信息,从所述多个计算单元中确定目标计算单元;
若所述数据处理请求为读请求,则将所述读请求发送至所述目标计算单元中的至少一个备用节点,以由用于所述至少一个备用节点响应所述读请求以反馈相应的目标数据;
若所述数据处理请求为写请求,则将所述写请求发送至所述目标计算单元中的主节点。
上述存储器901可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
进一步地,本实施例中的所述处理器902可以具体是:可编程交换处理芯片,该可编程交换处理芯片中配置有数据复制引擎,能对接收到的数据进行复制。
上述处理器902在执行存储器中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。进一步,如图9所示,电子设备还包括:电源组件904等其它组件。
基于同样的思路,本申请实施例还提供一种数据处理装置。如图10为本申请实施例提供的另一种数据处理装置的结构示意图。该数据处理装置包括:
接收模块1001,用于接收主节点发送的日志信息。
执行模块1002,用于根据所述日志信息,执行数据同步操作,得到与所述主节点同步的已同步数据。
接收模块1001还用于接收到读请求后,从所述已同步数据中获取所述读请求指定的目标数据。
发送模块1003用于向所述读请求发送方反馈所述目标数据。
接收模块1001还用于接收到读请求后,查询已同步数据中是否存在与所述读请求携带的日志标识匹配的目标数据;
未查询到,处于等待状态直至所述数据同步操作执行到所述已同步数据中含有所述目标数据,向所述读请求发送方反馈所述目标数据。
接收模块1001还用于获取所述读请求中携带的所述日志标识;
接收到所述主节点同步的至少一个日志信息;
对所述至少一个日志信息进行回放,得到回放日志标识和所述已同步数据;
在所述回放日志标识不小于所述日志标识时,从所述已同步数据中找到所述日志标识对应的所述目标数据。
本申请实施例还提供一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行图1至图5对应实施例所述的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现图1至图5对应实施例所述的方法。
本申请一个实施例还提供一种电子设备。该电子设备为计算单元中备节点电子设备。如图11为本申请实施例提供的另一种电子设备的结构示意图。该电子设备包括存储器1101、处理器1102及通信组件1103;其中,
所述存储器1101,用于存储程序;
所述处理器1102,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
接收主节点发送的日志信息;
根据所述日志信息,执行数据同步操作,得到与所述主节点同步的已同步数据;
接收到读请求后,从所述已同步数据中获取所述读请求指定的目标数据;
向所述读请求发送方反馈所述目标数据。
上述存储器1101可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
进一步地,本实施例中的所述处理器1102可以具体是:可编程交换处理芯片,该可编程交换处理芯片中配置有数据复制引擎,能对接收到的数据进行复制。
上述处理器1102在执行存储器中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。进一步,如图11所示,电子设备还包括:电源组件1104等其它组件。
本申请实施例还提供一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行图6对应实施例所述的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现图6对应实施例所述的方法。
基于上述实施例,保存多个计算单元的主备同步状态信息;其中,任一计算单元包括主节点和至少一个备节点,主备同步状态信息包括任一备节点的回放日志标识;所述回放日志标识是备节点利用同属一个计算单元的主节点的同步日志执行数据回放后确定的。响应于接收到的数据处理请求,根据所述数据处理请求中携带的日志标识及所述多个计算单元的主备同步状态信息,从所述多个计算单元中确定目标计算单元。若所述数据处理请求为读请求,则将所述读请求发送至所述目标计算单元中的至少一个备用节点,以由用于所述至少一个备用节点响应所述读请求以反馈相应的目标数据。若所述数据处理请求为写请求,则将所述写请求发送至所述目标计算单元中的主节点。采用上述技术方案,通过对计算单元中包含有一个主节点和多个备节点,主备节点的主备同步状态信息被实时发送到协同节点。在协调节点在接收到数据处理请求之后,根据数据处理请求的类型,选择对应的备节点或主节点执行对应的数据处理动作。比如有数据的读取需求的时候,根据读请求中携带的日志标识选择合适的备节点,从而由备节点提供日志标识对应的目标数据。在利用备节点实现数据安全备份的同时,使得备节点能够用于满足协调节点数据读取需求。基于协调节点、主节点和至少一个备节点实现了一写多读的数据处理效果以及保证数据处理强一致性,能够有效提高数据处理效率。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种数据处理方法,所述方法包括:
保存多个计算单元的主备同步状态信息;其中,任一计算单元包括主节点和至少一个备节点,主备同步状态信息包括任一备节点的回放日志标识;所述回放日志标识是备节点利用同属一个计算单元的主节点的同步日志执行数据回放后确定的;
响应于接收到的数据处理请求,根据所述数据处理请求中携带的日志标识及所述多个计算单元的主备同步状态信息,从所述多个计算单元中确定目标计算单元;
若所述数据处理请求为读请求,则将所述读请求发送至所述目标计算单元中的至少一个备用节点,以由用于所述至少一个备用节点响应所述读请求以反馈相应的目标数据;
若所述数据处理请求为写请求,则将所述写请求发送至所述目标计算单元中的主节点。
2.根据权利要求1所述的方法,所述保存多个计算单元的主备同步状态信息,包括:
接收所述计算单元的心跳消息;
获取所述心跳消息中携带的回放日志标识;
若所述回放日志标识大于任一已存储日志标识,则保存所述心跳消息中携带的所述主备同步状态信息。
3.根据权利要求1所述的方法,所述保存多个计算单元的主备同步状态信息,包括:
确定所述计算单元中所述主节点和所述备节点的事务状态;
若所述主节点和所述至少一个备节点的事务状态为准备状态,向处于准备状态的所述主节点和所述至少一个备节点发送事务提交请求;
接收基于所述事务提交请求反馈的所述计算单元的所述主备同步状态信息。
4.根据权利要求1所述的方法,所述响应于接收到的数据处理请求,根据所述数据处理请求中携带的日志标识及所述多个计算单元的主备同步状态信息,从所述多个计算单元中确定目标计算单元,包括:
接收所述数据处理请求;
获取所述主备同步状态信息中包含的最新回放日志标识,以及所述数据处理请求中携带的所述日志标识;
若所述最新回放日志标识大于所述日志标识,则从所述多个计算单元中确定所述日志标识对应的目标计算单元。
5.根据权利要求4所述的方法,所述若所述数据处理请求为读请求,则将所述读请求发送至所述目标计算单元中的至少一个备用节点,以由用于所述至少一个备用节点响应所述读请求以反馈相应的目标数据,包括:
若所述数据处理请求为读请求,则将所述读请求发送至已经完成对所述日志标识对应的目标数据的数据同步操作的所述备节点,以由所述备节点基于所述日志标识反馈所述目标数据。
6.根据权利要求1所述的方法,还包括:接收所述备节点反馈的所述目标数据;其中,所述目标数据是在所述备节点中所述回放日志标识不小于所述日志标识时由所述备节点对所述日志标识对应的日志信息进行回放得到的。
7.根据权利要求1所述的方法,还包括:接收所述备节点反馈的所述目标数据;其中,所述目标数据是在所述备节点接收至少一个日志信息之后进行回放得到的所述回放日志标识不小于所述日志标识时由所述备节点对所述日志标识对应的日志信息进行回放得到的。
8.一种数据处理方法,包括:
接收主节点发送的日志信息;
根据所述日志信息,执行数据同步操作,得到与所述主节点同步的已同步数据;
接收到读请求后,从所述已同步数据中获取所述读请求指定的目标数据;
向所述读请求发送方反馈所述目标数据。
9.根据权利要求8所述的方法,所述接收到读请求后,从已同步数据中获取所述读请求指定的目标数据,包括:
接收到读请求后,查询已同步数据中是否存在与所述读请求携带的日志标识匹配的目标数据;
未查询到,处于等待状态直至所述数据同步操作执行到所述已同步数据中含有所述目标数据,向所述读请求发送方反馈所述目标数据。
10.根据权利要求9所述的方法,所述接收到读请求后,查询已同步数据中是否存在与所述读请求携带的日志标识匹配的目标数据,包括:
获取所述读请求中携带的所述日志标识;
接收到所述主节点同步的至少一个日志信息;
对所述至少一个日志信息进行回放,得到回放日志标识和所述已同步数据;
在所述回放日志标识不小于所述日志标识时,从所述已同步数据中找到所述日志标识对应的所述目标数据。
11.一种数据处理系统,所述系统包括:
协调节点设备,用于保存多个计算单元的主备同步状态信息;其中,任一计算单元包括主节点和至少一个备节点,主备同步状态信息包括任一备节点的回放日志标识;所述回放日志标识是备节点利用同属一个计算单元的主节点的同步日志执行数据回放后确定的;响应于接收到的数据处理请求,根据所述数据处理请求中携带的日志标识及所述多个计算单元的主备同步状态信息,从所述多个计算单元中确定目标计算单元;若所述数据处理请求为读请求,则将所述读请求发送至所述目标计算单元中的至少一个备用节点,以由用于所述至少一个备用节点响应所述读请求以反馈相应的目标数据;若所述数据处理请求为写请求,则将所述写请求发送至所述目标计算单元中的主节点;
备节点设备,用于接收主节点发送的日志信息;根据所述日志信息,执行数据同步操作,得到与所述主节点同步的已同步数据;接收到读请求后,从所述已同步数据中获取所述读请求指定的目标数据;向所述读请求发送方反馈所述目标数据。
12.一种电子设备,包括存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于实现上述权利要求1至7中任一项所述的方法;或上述权利要求8至10中任一项所述的方法。
13.一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至7中任一项所述的方法;或上述权利要求8至10中任一项所述的方法。
14.一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现权利要求1至7中任一项所述的方法;或上述权利要求8至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111115269.0A CN113987064A (zh) | 2021-09-23 | 2021-09-23 | 数据处理方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111115269.0A CN113987064A (zh) | 2021-09-23 | 2021-09-23 | 数据处理方法、系统及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113987064A true CN113987064A (zh) | 2022-01-28 |
Family
ID=79736410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111115269.0A Pending CN113987064A (zh) | 2021-09-23 | 2021-09-23 | 数据处理方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113987064A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745393A (zh) * | 2022-03-31 | 2022-07-12 | 阿里云计算有限公司 | 会话同步系统及其方法、云计算中心和云计算设备 |
CN116303791A (zh) * | 2023-03-22 | 2023-06-23 | 合肥申威睿思信息科技有限公司 | 一种基于加速系统的数据同步方法和装置 |
CN116340431A (zh) * | 2023-05-24 | 2023-06-27 | 阿里云计算有限公司 | 一种分布式系统、数据同步方法、电子设备及存储介质 |
WO2023193495A1 (zh) * | 2022-04-07 | 2023-10-12 | 华为技术有限公司 | 处理读请求的方法、分布式数据库与服务端 |
CN117149905A (zh) * | 2023-08-16 | 2023-12-01 | 上海沄熹科技有限公司 | 一种时序数据复制方法及装置 |
CN117193671A (zh) * | 2023-11-07 | 2023-12-08 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和计算机可读存储介质 |
CN117255101A (zh) * | 2023-11-16 | 2023-12-19 | 苏州元脑智能科技有限公司 | 分布式存储系统的数据处理方法、装置、设备及介质 |
WO2024040902A1 (zh) * | 2022-08-22 | 2024-02-29 | 华为云计算技术有限公司 | 数据访问方法、分布式数据库系统及计算设备集群 |
WO2024114284A1 (zh) * | 2022-12-02 | 2024-06-06 | 华为云计算技术有限公司 | 基于云服务的事务处理方法、装置和计算设备集群 |
-
2021
- 2021-09-23 CN CN202111115269.0A patent/CN113987064A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745393A (zh) * | 2022-03-31 | 2022-07-12 | 阿里云计算有限公司 | 会话同步系统及其方法、云计算中心和云计算设备 |
WO2023193495A1 (zh) * | 2022-04-07 | 2023-10-12 | 华为技术有限公司 | 处理读请求的方法、分布式数据库与服务端 |
WO2024040902A1 (zh) * | 2022-08-22 | 2024-02-29 | 华为云计算技术有限公司 | 数据访问方法、分布式数据库系统及计算设备集群 |
WO2024114284A1 (zh) * | 2022-12-02 | 2024-06-06 | 华为云计算技术有限公司 | 基于云服务的事务处理方法、装置和计算设备集群 |
CN116303791A (zh) * | 2023-03-22 | 2023-06-23 | 合肥申威睿思信息科技有限公司 | 一种基于加速系统的数据同步方法和装置 |
CN116340431B (zh) * | 2023-05-24 | 2023-09-01 | 阿里云计算有限公司 | 一种分布式系统、数据同步方法、电子设备及存储介质 |
CN116340431A (zh) * | 2023-05-24 | 2023-06-27 | 阿里云计算有限公司 | 一种分布式系统、数据同步方法、电子设备及存储介质 |
CN117149905A (zh) * | 2023-08-16 | 2023-12-01 | 上海沄熹科技有限公司 | 一种时序数据复制方法及装置 |
CN117149905B (zh) * | 2023-08-16 | 2024-05-24 | 上海沄熹科技有限公司 | 一种时序数据复制方法及装置 |
CN117193671A (zh) * | 2023-11-07 | 2023-12-08 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和计算机可读存储介质 |
CN117193671B (zh) * | 2023-11-07 | 2024-03-29 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和计算机可读存储介质 |
CN117255101A (zh) * | 2023-11-16 | 2023-12-19 | 苏州元脑智能科技有限公司 | 分布式存储系统的数据处理方法、装置、设备及介质 |
CN117255101B (zh) * | 2023-11-16 | 2024-02-20 | 苏州元脑智能科技有限公司 | 分布式存储系统的数据处理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113987064A (zh) | 数据处理方法、系统及设备 | |
WO2019154394A1 (zh) | 分布式数据库集群系统、数据同步方法及存储介质 | |
US8301600B1 (en) | Failover recovery in a distributed data store | |
EP2474919B1 (en) | System and method for data replication between heterogeneous databases | |
US20150213100A1 (en) | Data synchronization method and system | |
CN107919977B (zh) | 一种基于Paxos协议的在线扩容、在线缩容的方法和装置 | |
TW201801495A (zh) | 資料處理方法和設備 | |
EP4213038A1 (en) | Data processing method and apparatus based on distributed storage, device, and medium | |
CN107623703B (zh) | 全局事务标识gtid的同步方法、装置及系统 | |
CN105069152B (zh) | 数据处理方法及装置 | |
US20120278429A1 (en) | Cluster system, synchronization controlling method, server, and synchronization controlling program | |
CN105493474A (zh) | 用于支持用于同步分布式数据网格中的数据的分区级别日志的系统及方法 | |
CN103678051A (zh) | 一种集群数据处理系统中的在线故障容错方法 | |
CN108140035B (zh) | 分布式系统的数据库复制方法及装置 | |
CN110377664B (zh) | 数据同步方法、装置、服务器及存储介质 | |
CN106951456B (zh) | 一种内存数据库系统及数据处理系统 | |
CN109726211B (zh) | 一种分布式时序数据库 | |
CN106855869B (zh) | 一种实现数据库高可用的方法、装置和系统 | |
CN114416868A (zh) | 一种数据同步方法、装置、设备及存储介质 | |
WO2021082925A1 (zh) | 一种交易处理的方法及装置 | |
CN113468143A (zh) | 数据迁移方法、系统、计算设备及存储介质 | |
CN111404737B (zh) | 一种容灾处理方法以及相关装置 | |
CN105007172A (zh) | 一种hdfs高可用性方案的实现方法 | |
WO2015196692A1 (zh) | 一种云计算系统以及云计算系统的处理方法和装置 | |
US10944850B2 (en) | Methods, devices and systems for non-disruptive upgrades to a distributed coordination engine in a distributed computing environment |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40066442 Country of ref document: HK |