CN113420035A - 数据处理方法、系统、装置、电子设备及计算机存储介质 - Google Patents
数据处理方法、系统、装置、电子设备及计算机存储介质 Download PDFInfo
- Publication number
- CN113420035A CN113420035A CN202110164604.XA CN202110164604A CN113420035A CN 113420035 A CN113420035 A CN 113420035A CN 202110164604 A CN202110164604 A CN 202110164604A CN 113420035 A CN113420035 A CN 113420035A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- data node
- writing
- length
- 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
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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本申请实施例提供了一种数据处理方法、系统、装置、电子设备及计算机存储介质。在分布式的数据存储系统中,由客户端确定各数据节点的存储进度,当存在写入数据不完整的第一数据节点时,进行重试写入数据,并在重试写入失败后,协调管理节点进行台异步补齐数据。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种数据处理方法、系统、装置、电子设备及计算机存储介质。
背景技术
分布式存储系统当前已经被广泛应用于各种数据存储场景,在分布式存储系统中,需要保持各数据节点上的数据的一致性。
在当前常用的client-base分布式存储系统中,多个数据节点间是对等的,由客户端协调多个数据节点间读写一致性和可用性。如果向某个数据节点写入数据存在异常,需要客户端一直进行重试或者客户端对全量数据复制成功后才可以继续下去,容易引起请求毛刺问题。此外,由于客户端本身也不一定可靠,因此,即使客户端进行全量数据复制也不一定就能保证完全一致。
基于此,需要一种更可靠的保障数据一致性的数据处理方案。
发明内容
有鉴于此,本申请实施例提供一种可靠的保障数据一致性的数据处理方案,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种数据处理方法,应用于client-base存储系统的客户端中,所述方法包括:当确定向第一数据节点重试写入数据失败之后,确定所述第一数据节点中的第一写入长度和所述第二数据节点中的第二写入长度,其中,第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点;发送所述第一写入长度和所述第二写入长度至管理节点,以便所述管理节点根据所述第一写入长度和所述第二写入长度引导所述第一数据节点补齐所述数据。
根据本申请实施例的第二方面,提供了另一种数据处理方法,应用于client-base存储系统的管理节点中,所述方法包括:接收客户端所发送的第一数据节点中的第一写入长度和第二数据节点中的第二写入长度,其中,所述第一写入长度和第二写入长度为客户端在向数据节点中写入数据时所确定,所述第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点;根据所述第一写入长度和所述第二写入长度确定所述第一数据节点的补齐位置;引导所述第一数据节点从第二数据节点获取第二写入长度所对应的数据,并从所述补齐位置开始进行增量补齐。
根据本申请实施例的第三方面,提供了一种数据处理系统,包括客户端、数据节点和管理节点,在所述系统中,所述客户端,当确定向第一数据节点重试写入数据失败之后,确定所述第一数据节点中的第一写入长度和所述第二数据节点中的第二写入长度,其中,第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点;发送所述第一写入长度和所述第二写入长度至管理节点;所述管理节点,用于接收客户端所发送的第一数据节点中的第一写入长度和第二数据节点中的第二写入长度,根据所述第一写入长度和所述第二写入长度确定所述第一数据节点的补齐位置;引导所述第一数据节点从第二数据节点获取第二写入长度所对应的数据,并从所述补齐位置开始进行增量补齐。
根据本申请实施例的第四方面,提供了一种数据处理装置,应用于client-base存储系统的客户端中,所述装置包括:确定模块,当确定向第一数据节点重试写入数据失败之后,确定所述第一数据节点中的第一写入长度和所述第二数据节点中的第二写入长度,其中,第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点;发送模块,发送所述第一写入长度和所述第二写入长度至管理节点,以便所述管理节点根据所述第一写入长度和所述第二写入长度引导所述第一数据节点补齐所述数据。
根据本申请实施例的第五方面,提供了另一种数据处理装置,应用于client-base存储系统的管理节点中,所述装置包括:接收模块,接收客户端所发送的第一数据节点中的第一写入长度和第二数据节点中的第二写入长度,其中,所述第一写入长度和第二写入长度为客户端在向数据节点中写入数据时所确定,所述第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点;位置确定模块,根据所述第一写入长度和所述第二写入长度确定所述第一数据节点的补齐位置;引导模块,引导所述第一数据节点从第二数据节点获取第二写入长度所对应的数据,并从所述补齐位置开始进行增量补齐。
根据本申请实施例的第六方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面或第二方面所述的方法对应的操作。
根据本申请实施例的第七方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面或第二方面所述的数据处理方法。
根据本申请实施例提供的方案,在基于client-base的分布式数据存储系统中,由客户端确定各数据节点的存储进度,当存在写入数据不完整的第一数据节点时,进行重试写入数据,并在重试写入失败后,协调管理节点进行异步补齐数据,从而保障了分布式数据存储系统中的数据一致性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请所涉及的一种系统的架构示意图;
图2为本申请实施例所提供的一种数据处理方法的步骤流程示意图;
图3a为本申请实施例所提供的一种客户端重试写入数据的示意图;
图3b为本申请实施例所提供的一种管理节点引导数据补齐的示意图;
图3c为本申请实施例所提供的一种客户端异常时的数据补齐的示意图;
图4为本申请实施例所提供的另一种数据处理方法的流程示意图;
图5为本申请实施例所提供的一种数据处理装置的结构示意图;
图6为本申请实施例所提供的另一种数据处理装置的结构示意图
图7为本申请实施例所提供的的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
Client-base存储系统是一种分布式的存储系统,在该系统中,包括客户端(client)、多个数据节点和管理节点。如图1所示,图1为本申请所涉及的一种client-base存储系统的架构示意图。客户端将同一份数据写入多个不同的数据节点中。在当前如果某个数据节点写入数据发生异常,通常需要客户端进行全量复制数据才能继续写入数据,容易引起请求毛刺问题。基于此,本申请提供一种更可靠的保障数据一致性的数据处理方案。
下面结合本申请实施例附图进一步说明本申请实施例具体实现。具体包括客户端和管理节点两个方面。
对于本申请的第一方面,如图2所示,图2为本申请实施例所提供的一种数据处理方法的步骤流程示意图,应用于client-base存储系统的客户端中,包括:
S201,当确定向第一数据节点重试写入数据失败之后,确定所述第一数据节点中的第一写入长度和所述第二数据节点中的第二写入长度,其中,第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点。
客户端作为数据的写入方,在写入数据的同时即可以知道每个数据节点的写入状态信息,包括数据的写入长度,写入数据的结果,以及,自身和每个数据节点的通信状态是否正常等等。
在实际应用中,由于网络通信速度以及机器性能等多方面原因(即数据节点中可能存在慢节点或者坏节点),同一份数据在不同的数据节点上可能的写入长度是不一样的。例如,假设完整的数据长度是100,数据节点1和2中的写入长度为100(即完整写入),而数据节点3中的写入长度为80(即写入不完整)。
此时,即可以将写入数据不完整的数据节点确认为第一数据节点,对应的写入长度为第一写入长度;而写入数据完整的数据节点即为第二数据节点,对应的写入长度为第二写入长度。
在前例中,数据节点3即为第一数据节点,数据节点1和2即为第二数据节点。显然,第二数据节点中的第二写入长度大于第一数据节点中的第一写入长度。
在本申请中,客户端在向各数据节点中写入数据时可以采用大多数同步写的方式。即客户端只要确认完整写入的数据节点的数量满足大多数同步写的预设条件(例如,完整写入的数据节点的数量超过一定数值,或者,完整写入的数据节点的数量的占比超过一定比例,通常为超过50%),即认为写入数据成功,从而有效避免慢节点和坏节点。那么此时,其它写入数据不完整的数据节点即需要进行数据补齐,以保证分布式系统中的数据一致性。
客户端在写入数据的同时,可以实时的监测状态信息,确定系统中是否存在第一数据节点。如果确定存在第一数据节点,那么首先既可以向所述第一数据节点中重试写入所述数据。如图3a所示,图3a为本申请实施例所提供的一种客户端重试写入数据的示意图。
这种重试写入通常用于处理第一数据节点发生了短暂异常,包括诸如磁盘写入数据慢、网络通信速度慢以及网络暂时不通等等情形。此时客户端的内存中仍然保存了需要写入的数据,因此,可以通过客户端向第一数据节点尝试进行增量补齐。
增量补齐的方式即将第一长度对应的位置为补齐位置的起点,第二长度对应的数据位置为补齐位置的终点,进行从所述起点到终点的数据补齐,实现将第一数据节点的写入长度补齐至第二数据节点的写入长度。续前例,对于数据节点3而言,客户端会尝试向其补齐长度81至长度100所对应的数据段。
如前所述,这种重试补齐是对应于短时异常的数据节点,因此,通常不能持续时间太久,以避免客户端一直重试导致负载过大。具体而言,客户端可以向所述第一数据节点中进行指定次数(例如,5次)的重试写入所述数据,或者,向所述第一数据节点中进行指定时长(例如,重试1分钟)的重试写入所述数据。超出指定次数或者指定时长即认定为重试写入数据失败。
此时,客户端将终止重试写入,认为该数据节点可能发生了持续异常(例如,死机或者长时间离线),并确定出所述第一数据节点及其第一写入长度,以及确定出第二数据节点(由于存在多个第二数据节点,可以任意的挑选一个第二数据节点即可)及其第二写入长度。
S203,发送所述第一写入长度和所述第二写入长度至管理节点,以便所述管理节点根据所述第一写入长度和所述第二写入长度引导所述第一数据节点补齐所述数据。
客户端将第一写入长度和第二写入长度发送给管理节点后,管理节点即可依据此引导第一数据节点补齐所述数据,例如,根据第一写入长度和第二写入长度确定第一数据节点的补齐位置;引导第一数据节点从第二数据节点获取第二写入长度所对应的数据,并从补齐位置开始进行增量补齐等。
通过本实施例,在基于client-base的分布式数据存储系统中,由客户端确定各数据节点的存储进度,当存在写入数据不完整的第一数据节点时,进行重试写入数据,并在重试写入失败后,协调管理节点进行异步补齐数据,从而保障了分布式数据存储系统中的数据一致性。
前述部分对于客户端方面的工作流程进行了说明,本申请实施例的第二方面,如图4所示,图4为本申请实施例所提供的另一种数据处理方法的流程示意图,应用于client-base存储系统的管理节点中,所述方法包括:
S401,接收客户端所发送的第一数据节点中的第一写入长度和第二数据节点中的第二写入长度,其中,所述第一写入长度和第二写入长度为客户端在向数据节点中写入数据时所确定,所述第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点。
在client-base分布式存储系统中,管理节点存储了各数据节点的相关的元信息,例如包括存储文件的状态信息、数据块(chunk)的位置信息等,管理节点还可以执行系统成员探活以及成员变更等等。
通过接收第一数据节点中的第一写入长度和第二数据节点中的第二写入长度,管理节点即可以了解哪些数据节点上发生了写入异常,以及,哪些数据节点上写入完整。在客户端通知管理节点第一数据节点的写入落后情况时,还可以向管理节点申请一个新的数据块对第一数据节点进行后续的数据写入。
S402,根据所述第一写入长度和所述第二写入长度确定所述第一数据节点的补齐位置。
确定第一数据节点中的补齐位置的方式和客户端中的确定方式类似,此处不再赘述。
S403,引导所述第一数据节点从第二数据节点获取第二写入长度所对应的数据,并从所述补齐位置开始进行增量补齐。
管理节点此时即可以通知第一数据节点,并告知第一数据节点此时其它的第二数据节点的写入长度。如果第一数据节点上有第二数据节点的相关位置信息(包括第二数据节点标识、地址以及文件存储位置等等),那么第一数据节点即可以从第二数据节点上拉取相应的数据,并在本地根据第二写入长度确定补齐位置从而进行增量补齐。
若第一数据节点没有第二数据节点的相关信息,那么管理节点即将第二数据节点的相关信息和第二写入长度发送至第一数据节点,从而第一数据节点即可以根据相关信息和第二写入长度进行增量补齐。
根据本申请实施例提供的方案,在基于client-base的分布式数据存储系统中,由客户端确定各数据节点的存储进度,当存在写入数据不完整的第一数据节点时,进行重试写入数据,并在重试写入失败后,将相关信息发送至管理节点,管理节点根据客户端发送来的信息,包括第一数据节点的第一写入长度和第二数据节点的第二写入长度,确定第一数据节点的补齐位置,进而引导第一数据节点进行异步补齐数据,从而保障了分布式数据存储系统中的数据一致性。
在一种实施例中,管理节点还需要了解第一数据节点的补齐状态,即需要接受第一数据节点所返回的增量补齐的增量补齐结果,包括补齐成功、补齐失败或者无应答消息。
不论是补齐失败还是无应答消息,管理节点都可以认为该第一数据节点存在硬件或者网络上的问题,而导致无法补齐数据,这将会导致无法满足分布式中所要求的数据一致性。
因此,在一种实施例中,当管理节点所接受的补齐结果表征补齐失败时(包括补齐失败或者无应答消息),管理节点还可以从系统中挑选出另一数据节点,并引导所述另一数据节点对所述数据进行全量补齐,选取得到的另一节点与前述确定的第一数据节点和第二数据节点不同。
具体而言,可以引导另一数据节点从客户端进行全量补齐或者从前述的第二数据节点进行全量补齐。在从客户端进行全量补齐时,管理节点既可以引导该另一数据节点与客户端建立通信,从而客户端可以向该另一数据节点中进行全量数据的写入。在从第二数据节点进行全量补齐时,管理节点即可以发送第二节点的相关信息至另一数据节点,以便另一数据节点从第二数据节点中拉取全量的数据并存储。如图3b所示,图3b为本申请实施例所提供的一种管理节点引导数据补齐的示意图。在该示意图中,数据节点1和2被确认为第二数据节点,补齐步骤按照图中数字所示的顺序进行。
如前所述,管理节点还可以实时对系统中的成员进行探活,这里的成员包括各数据节点和客户端。例如,管理节点与客户端以及各数据节点建立心跳监测机制,以确保连接的有效性。当接收不到客户端的心跳数据包时,即可以知道客户端处于不正常工作状态。
如前所述,管理节点中本身也存储了各数据节点的元信息。因此,在一种实施例中,当管理节点确定客户端不正常工作时,管理节点还可以从元信息中查询各数据节点中写入数据的长度,从而确定出第一数据节点和第二数据节点。
在一种实施例中,如果系统中采用了大多数同步写的方式时,数据的写入仍然需要满足大多数同步写的预设条件:即在一定数量或者一定比例的数据节点上写入了完整数据。如果没有满足该条件,那么本次写入数据即认定为写入失败,每个数据节点上都会回滚至写入前的状态。
在确定写入了成功之后,那么此时显然会有超过半数的数据节点上是第二数据节点,其对应的写入长度即为第二写入长度。其它长度低于第二写入长度的即为第一写入长度,对应的节点即为第一数据节点。进而可以如前述的基于第一写入长度和第二写入长度确定出补齐位置,引导第一数据节点从第二数据节点中获取数据进行增量或者全量的数据补齐。
在另一种实施例中,管理节点还可比较各数据节点上的写入长度,将最大的写入长度确定为第二写入长度,对应的数据节点即为第二数据节点,其余的数据节点即为第一数据节点。进而可以引导所述第一数据节点根据第二数据节点中的写入数据进行补齐。如图3c所示,图3c为本申请实施例所提供的一种客户端异常时的数据补齐的示意图。在该实际图中,管理节点确定了数据节点1和2为第二数据节点,以及确定了一个第一数据节点,补齐步骤按照图中数字所示的顺序进行。在引导第一数据节点进行增量补齐失败之后,也可以如前述再选取另一节点进行全量补齐。
本申请实施例的第三方面,还提供了一种数据处理系统,所述数据处理系统采用client-base存储方式,所述数据处理系统包括客户端、数据节点和管理节点,系统的架构如图1所示,在所述系统中:
所述客户端,当确定向第一数据节点重试写入数据失败之后,确定所述第一数据节点中的第一写入长度和所述第二数据节点中的第二写入长度,其中,第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点;发送所述第一写入长度和所述第二写入长度至管理节点;
所述管理节点,用于接收客户端所发送的第一数据节点中的第一写入长度和第二数据节点中的第二写入长度,根据所述第一写入长度和所述第二写入长度确定所述第一数据节点的补齐位置;引导所述第一数据节点从第二数据节点获取第二写入长度所对应的数据,并从所述补齐位置开始进行增量补齐。
可选地,所述客户端还用于,在确定向第一数据节点重试写入数据失败之前,向多个数据节点中写入数据;确定各数据节点对于写入的所述数据的状态信息,所述状态信息用于表征客户端向多个数据节点写入数据的写入长度和写入结果;根据所述状态信息从所述多个数据节点中确定是否存在第一数据节点和第二数据节点;当存在第一数据节点时,向所述第一数据节点中重试写入所述数据。
通过本实施例,在基于client-base的分布式数据存储系统中,管理节点根据客户端发送的第一数据节点中的第一写入长度和第二数据节点中的第二写入长度,确定第一数据节点的数据补齐位置,并引导第一数据节点在该补齐位置使用从第二数据节点获取的第二写入长度的数据进行数据补齐,从而保障了分布式数据存储系统中的数据一致性。
本申请实施例的第四方面,还提供了一种数据处理装置,如图5所示,图5为本申请实施例所提供的一种数据处理装置的结构示意图,应用于client-base存储系统的客户端中,所述装置包括:
确定模块501,当确定向第一数据节点重试写入数据失败之后,确定所述第一数据节点中的第一写入长度和所述第二数据节点中的第二写入长度,其中,第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点;
发送模块503,发送所述第一写入长度和所述第二写入长度至管理节点,以便所述管理节点根据所述第一写入长度和所述第二写入长度引导所述第一数据节点补齐所述数据。
可选地,所述装置还包括重试写入模块505,用于在确定向第一数据节点重试写入数据失败之前,向多个数据节点中写入数据;确定各数据节点对于写入的所述数据的状态信息,所述状态信息用于表征客户端向多个数据节点写入数据的写入长度和写入结果;根据所述状态信息从所述多个数据节点中确定是否存在第一数据节点和第二数据节点;当存在第一数据节点时,向所述第一数据节点中重试写入所述数据。
可选地,所述重试写入模块505,向所述第一数据节点中进行指定次数的重试写入所述数据,或者,向所述第一数据节点中进行指定时长的重试写入所述数据。
本实施例的数据处理装置用于实现前述方法实施例中相应的管理节点的数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的数据处理装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
本申请实施例的第五方面,还提供了另一种数据处理装置,如图6所示,图6为本申请实施例所提供的另一种数据处理装置的结构示意图,应用于client-base存储系统的管理节点中,所述装置包括:
接收模块601,接收客户端所发送的第一数据节点中的第一写入长度和第二数据节点中的第二写入长度,其中,所述第一写入长度和第二写入长度为客户端在向数据节点中写入数据时所确定,所述第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点;
位置确定模块603,根据所述第一写入长度和所述第二写入长度确定所述第一数据节点的补齐位置;
引导模块605,引导所述第一数据节点从第二数据节点获取第二写入长度所对应的数据,并从所述补齐位置开始进行增量补齐。
可选地,所述接收模块601,接收所述第一数据节点所返回的增量补齐的增量补齐结果。
可选地,当所述补齐结果表征补齐失败时,所述引导模块605还用于,选取另一数据节点,并引导所述另一数据节点对所述数据进行全量补齐。
可选地,所述引导模块605,引导所述另一数据节点从所述第二数据节点或者从所述客户端对所述数据进行全量补齐。
可选地,所述装置还包括监测模块607,确定客户端是否正常工作;当确定客户端不正常工作时,查询各数据节点中写入数据的长度;根据各数据节点中写入数据的长度确定出第一数据节点和第二数据节点;相应的,所述引导模块605,引导所述第一数据节点根据第二数据节点中的写入数据进行补齐。
本实施例的数据处理装置用于实现前述方法实施例中相应的客户端的数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的数据处理装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
本申请实施例的第六方面,还提供了一种电子设备。参照图7,图7为本申请实施例所提供的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图7所示,该电子设备可以包括:处理器(processor)702、通信接口(Communications Interface)704、存储器(memory)706、以及通信总线708。
其中:
处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
通信接口704,用于与其它电子设备或服务器进行通信。
处理器702,用于执行程序710,具体可以执行上述数据处理方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
处理器702可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序710具体可以用于使得处理器702执行前述客户端或者管理节点的数据处理方法的操作。
程序710中各步骤的具体实现可以参见上述数据处理方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本申请实施例的第七方面,还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图2或者图4中任一所述的数据处理方法。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的数据处理方法。此外,当通用计算机访问用于实现在此示出的数据处理方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的数据处理方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。
Claims (14)
1.一种数据处理方法,应用于cli ent-base存储系统的客户端中,所述方法包括:
当确定向第一数据节点重试写入数据失败之后,确定所述第一数据节点中的第一写入长度和所述第二数据节点中的第二写入长度,其中,第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点;
发送所述第一写入长度和所述第二写入长度至管理节点,以便所述管理节点根据所述第一写入长度和所述第二写入长度引导所述第一数据节点补齐所述数据。
2.如权利要求1所述的方法,其中,在确定向第一数据节点重试写入数据失败之前,所述方法还包括:
向多个数据节点中写入数据;
确定各数据节点对于写入的所述数据的状态信息,所述状态信息用于表征客户端向多个数据节点写入数据的写入长度和写入结果;
根据所述状态信息从所述多个数据节点中确定是否存在第一数据节点和第二数据节点;
当存在第一数据节点时,向所述第一数据节点中重试写入所述数据。
3.如权利要求2所述的方法,其中,向所述第一数据节点中重试写入所述数据,包括:
向所述第一数据节点中进行指定次数的重试写入所述数据,或者,向所述第一数据节点中进行指定时长的重试写入所述数据。
4.一种数据处理方法,应用于cli ent-base存储系统的管理节点中,所述方法包括:
接收客户端所发送的第一数据节点中的第一写入长度和第二数据节点中的第二写入长度,其中,所述第一写入长度和第二写入长度为客户端在向数据节点中写入数据时所确定,所述第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点;
根据所述第一写入长度和所述第二写入长度确定所述第一数据节点的补齐位置;
引导所述第一数据节点从第二数据节点获取第二写入长度所对应的数据,并从所述补齐位置开始进行增量补齐。
5.如权利要求4所述的方法,其中,所述方法还包括:
接收所述第一数据节点所返回的增量补齐的增量补齐结果。
6.如权利要求5所述的方法,其中,当所述补齐结果表征补齐失败时,所述方法还包括:
选取另一数据节点,并引导所述另一数据节点对所述数据进行全量补齐。
7.如权利要求6所述的方法,其中,引导所述另一数据节点对所述数据进行全量补齐,包括:
引导所述另一数据节点从所述第二数据节点或者从所述客户端对所述数据进行全量补齐。
8.如权利要求4所述的方法,其中,所述方法还包括:
确定客户端是否正常工作;
当确定客户端不正常工作时,查询各数据节点中写入数据的长度;
根据各数据节点中写入数据的长度确定出第一数据节点和第二数据节点;
引导所述第一数据节点根据第二数据节点中的写入数据进行补齐。
9.一种数据处理系统,所述数据处理系统采用cli ent-base存储方式,所述数据处理系统包括客户端、数据节点和管理节点,在所述系统中,
所述客户端,当确定向第一数据节点重试写入数据失败之后,确定所述第一数据节点中的第一写入长度和所述第二数据节点中的第二写入长度,其中,第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点;发送所述第一写入长度和所述第二写入长度至管理节点;
所述管理节点,用于接收客户端所发送的第一数据节点中的第一写入长度和第二数据节点中的第二写入长度,根据所述第一写入长度和所述第二写入长度确定所述第一数据节点的补齐位置;引导所述第一数据节点从第二数据节点获取第二写入长度所对应的数据,并从所述补齐位置开始进行增量补齐。
10.如权利要求9所述的系统,其中,在所述系统中,
所述客户端还用于,在确定向第一数据节点重试写入数据失败之前,向多个数据节点中写入数据;确定各数据节点对于写入的所述数据的状态信息,所述状态信息用于表征客户端向多个数据节点写入数据的写入长度和写入结果;根据所述状态信息从所述多个数据节点中确定是否存在第一数据节点和第二数据节点;当存在第一数据节点时,向所述第一数据节点中重试写入所述数据。
11.一种数据处理装置,应用于cli ent-base存储系统的客户端中,所述装置包括:
确定模块,当确定向第一数据节点重试写入数据失败之后,确定所述第一数据节点中的第一写入长度和所述第二数据节点中的第二写入长度,其中,第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点;
发送模块,发送所述第一写入长度和所述第二写入长度至管理节点,以便所述管理节点根据所述第一写入长度和所述第二写入长度引导所述第一数据节点补齐所述数据。
12.一种数据处理装置,应用于cli ent-base存储系统的管理节点中,所述装置包括:
接收模块,接收客户端所发送的第一数据节点中的第一写入长度和第二数据节点中的第二写入长度,其中,所述第一写入长度和第二写入长度为客户端在向数据节点中写入数据时所确定,所述第一数据节点为写入数据不完整的数据节点,所述第二数据节点为写入数据完整的数据节点;
位置确定模块,根据所述第一写入长度和所述第二写入长度确定所述第一数据节点的补齐位置;
引导模块,引导所述第一数据节点从第二数据节点获取第二写入长度所对应的数据,并从所述补齐位置开始进行增量补齐。
13.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-8中任一项所述的方法对应的操作。
14.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110164604.XA CN113420035A (zh) | 2021-02-05 | 2021-02-05 | 数据处理方法、系统、装置、电子设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110164604.XA CN113420035A (zh) | 2021-02-05 | 2021-02-05 | 数据处理方法、系统、装置、电子设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113420035A true CN113420035A (zh) | 2021-09-21 |
Family
ID=77711804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110164604.XA Pending CN113420035A (zh) | 2021-02-05 | 2021-02-05 | 数据处理方法、系统、装置、电子设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113420035A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114153389A (zh) * | 2021-11-22 | 2022-03-08 | 浙江大华技术股份有限公司 | 一种异常zone自动补齐方法、装置及设备 |
CN115601195A (zh) * | 2022-10-17 | 2023-01-13 | 桂林电子科技大学(Cn) | 基于电力用户实时标签的交易双向推荐系统及其方法 |
-
2021
- 2021-02-05 CN CN202110164604.XA patent/CN113420035A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114153389A (zh) * | 2021-11-22 | 2022-03-08 | 浙江大华技术股份有限公司 | 一种异常zone自动补齐方法、装置及设备 |
CN115601195A (zh) * | 2022-10-17 | 2023-01-13 | 桂林电子科技大学(Cn) | 基于电力用户实时标签的交易双向推荐系统及其方法 |
CN115601195B (zh) * | 2022-10-17 | 2023-09-08 | 桂林电子科技大学 | 基于电力用户实时标签的交易双向推荐系统及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113420035A (zh) | 数据处理方法、系统、装置、电子设备及计算机存储介质 | |
CN103294580B (zh) | 实时性能监控 | |
CN114637475A (zh) | 一种分布式存储系统控制方法、装置及可读存储介质 | |
CN115543871B (zh) | 数据存储方法及相关设备 | |
CN105487937A (zh) | 一种rdma实现方法和装置 | |
CN112887196A (zh) | 消息发送方法、系统、装置、设备及可读存储介质 | |
CN110825562A (zh) | 数据备份方法、装置、系统和存储介质 | |
CN112596801B (zh) | 事务处理方法、装置、设备、存储介质、数据库 | |
US20090157767A1 (en) | Circular log amnesia detection | |
WO2017147794A1 (zh) | 差异数据备份的方法和设备 | |
CN113849127A (zh) | 基于san存储双活网络的仲裁方法、装置及电子设备 | |
CN111756826B (zh) | 一种dlm的锁信息传输方法以及相关装置 | |
WO2024119774A1 (zh) | Raid卡的写方法、raid卡的写系统及相关装置 | |
CN111737055A (zh) | 业务处理方法、装置、设备及计算机可读存储介质 | |
JP3141988B2 (ja) | 計算機システムにおける問題解析方式 | |
US9430338B2 (en) | Method and computing device for recording log entries | |
CN102984160B (zh) | 分布式网络扫描任务处理方法和系统 | |
CN112235363B (zh) | 数据处理方法、装置、电子设备、存储介质及系统 | |
JP3337050B2 (ja) | Icカード | |
CN112463444A (zh) | 一种数据不一致修复方法及相关装置 | |
CN111176845A (zh) | 一种双控制器的数据读取方法及相关装置 | |
CN112422693A (zh) | 一种用户在线短视频草稿队列的导出方法 | |
CN112988689A (zh) | 状态校验方法、装置、电子设备及计算机可读存储介质 | |
CN112035407A (zh) | 一种文件传输系统及传输方法 | |
CN111858047B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40058764 Country of ref document: HK |