分布式系统中的数据写入方法及装置、分布式系统
文献发布时间:2023-06-19 12:19:35
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种分布式系统中的数据写入方法。本说明书一个或者多个实施例同时涉及另一种分布式系统中的数据写入方法,两种分布式系统中的数据写入装置,一种分布式系统,两种计算设备,以及一种计算机可读存储介质。
背景技术
随着计算机技术的迅猛发展,分布式系统也得到了广泛的应用,在分布式系统中文件读取的功能也越来越频繁,随着新型介质发展和硬件性能的提升,分布式系统的请求平均时延逐步下降,系统正常运行时的请求时延已经处于微秒级别。
由于整个分布式系统往往由多种角色及大量计算节点构成,任何一个角色或者计算节点的异常都可能导致用户请求时延的飙升,使得用户的请求时延从微秒级别直接跨到毫秒甚至是秒的级别,这些时延异常的请求被称之为请求毛刺,请求毛刺严重影响了分布式系统的正常运行和用户的使用体验。
因此,如何减少请求毛刺带来的影响,增强用户请求的稳定性,就成为技术人员亟待解决的问题。
发明内容
有鉴于此,本说明书施例提供了一种分布式系统中的数据写入方法。本说明书一个或者多个实施例同时涉及另一种分布式系统中的数据写入方法,两种分布式系统中的数据写入装置,一种分布式系统,两种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种分布式系统中的数据写入方法,应用于客户端,包括:
根据接收的写请求向分布式系统中的元数据节点发送数据块分配请求,并接收所述元数据节点返回的目标数据块的索引信息和至少一个后备数据块的索引信息;
将待写入数据中的单位数据写入至目标数据块,并监控执行单位数据写入操作的响应时间,其中目标数据块根据目标数据块的索引信息确定;
在所述响应时间大于预设阈值的情况下,停止写入操作,从所述至少一个后备数据块中根据数据块标识确定新的目标数据块,继续执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,其中后备数据块根据后备数据块的索引信息确定。
可选的,在从所述至少一个后备数据块中根据数据块标识确定新的目标数据块之前,所述方法还包括:
根据目标数据块的索引信息和目标数据块中已写入数据的大小生成目标数据块的数据块信息;
将所述数据块信息和所述待写入数据的数据标识上传至所述元数据节点。
可选的,所述方法还包括:
接收写入完成指令,并响应于所述写入完成指令结束写入操作;
根据目标数据块的索引信息和目标数据块中已写入数据的大小生成目标数据块的数据块信息;
将所述数据块信息和所述待写入数据的数据标识上传至所述元数据节点。
可选的,在停止写入操作之前,所述方法还包括:
获取所述分布式系统中确定新的目标数据块的流控状态,其中,所述流控状态为执行流控或解除流控;
在所述流控状态为执行流控的情况下,进入等待状态;
在所述流控状态为解除流控的情况下,则执行停止写入操作。
可选的,在进入等待状态之后,所述方法还包括:
接收单位数据的响应信息和获取流控状态;
在接收到单位数据的响应信息的情况下,执行将所述待写入数据中的单位数据写入至目标数据块的写入操作;
在未接收到单位数据的响应信息且流控状态为解除流控的情况下,则停止写入操作。
可选的,所述方法还包括:
当后备数据块的数量少于预设阈值的情况下,向所述元数据节点发送后备数据块新增请求;
接收所述元数据节点返回的新增后备数据块的索引信息。
可选的,所述方法还包括:
根据接收的待读取文件的读请求向所述元数据节点发送数据块获取请求并接收所述元数据节点返回的与所述待读取文件对应的至少一个读取数据块的数据块信息和数据块标识,其中,读取数据块的数据块信息包括数据块的索引信息和数据块中已写入数据的大小;
根据每个读取数据块的索引信息确定每个读取数据块的位置;
根据每个读取数据块的数据块标识和数据块中已写入数据的大小读取所述待读取文件。
根据本说明书实施例的第二方面,提供了一种分布式系统中的数据写入方法,应用于元数据节点,包括:
接收数据块分配请求;
响应于所述数据块分配请求分配目标数据块和至少一个后备数据块,其中,目标数据块和至少一个后备数据块中包括数据块标识;
返回所述目标数据块的索引信息和所述至少一个后备数据块的索引信息。
可选的,所述方法还包括:
接收目标数据块的数据块信息和数据标识,并根据数据块信息和数据标识生成数据块信息表,其中,数据块信息表包括目标数据块的数据标识、数据块标识和数据块信息,数据块信息包括数据块的索引信息和数据块中已写入数据的大小。
可选的,所述方法还包括:
接收后备数据块新增请求;
响应于所述后备数据块新增请求分配新增后备数据块,其中,新增后备数据块中包括数据块标识;
返回所述新增后备数据块的索引信息。
可选的,所述方法还包括:
接收数据块获取请求,其中,所述数据块获取请求中包括待读取文件标识;
根据所述数据块信息表确定与所述待读取文件标识对应的至少一个数据块信息为读取数据块信息;
返回每个所述读取数据块信息和每个所述读取数据块信息对应的数据块标识。
根据本说明书实施例的第三方面,提供了一种分布式系统中的数据写入装置,应用于客户端,包括:
发送模块,被配置为根据接收的待写入数据的写请求向分布式系统中的元数据节点发送数据块分配请求并接收所述元数据节点返回的目标数据块的索引信息和至少一个后备数据块的索引信息;
写入模块,被配置为执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,并监控执行单位数据写入操作的响应时间,其中目标数据块根据目标数据块的索引信息确定;
切换模块,被配置为停止写入操作,从所述至少一个后备数据块中根据数据块标识确定新的目标数据块,继续执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,其中后备数据块根据后备数据块的索引信息确定。
根据本说明书实施例的第四方面,提供了一种分布式系统中的数据写入装置,应用于元数据节点,包括:
接收模块,被配置为接收数据块分配请求;
分配模块,被配置为响应于所述数据块分配请求分配目标数据块和至少一个后备数据块,其中,目标数据块和至少一个后备数据块中包括数据块标识;
返回模块,被配置为返回所述目标数据块的索引信息和至少一个后备数据块的索引信息。
根据本说明书实施例的第五方面,提供了一种分布式系统,包括:
客户端被配置为根据接收的写请求向分布式系统中的元数据节点发送数据块分配请求;
元数据节点被配置为接收所述数据块分配请求,响应于所述数据块分配请求分配目标数据块和至少一个后备数据块,其中,目标数据块和至少一个后备数据块中包括数据块标识,返回所述目标数据块的索引信息和至少一个后备数据块的索引信息;
所述客户端进一步被配置为将待写入数据中的单位数据写入至目标数据块,并监控执行单位数据写入操作的响应时间,其中目标数据块根据目标数据块的索引信息确定,在所述响应时间大于预设阈值的情况下,停止写入操作,从所述至少一个后备数据块中根据数据块标识确定新的目标数据块,继续执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,其中后备数据块根据后备数据块的索引信息确定。
根据本说明书实施例的第六方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
根据接收的写请求向分布式系统中的元数据节点发送数据块分配请求,并接收所述元数据节点返回的目标数据块的索引信息和至少一个后备数据块的索引信息;
将待写入数据中的单位数据写入至目标数据块,并监控执行单位数据写入操作的响应时间,其中目标数据块根据目标数据块的索引信息确定;
在所述响应时间大于预设阈值的情况下,停止写入操作,从所述至少一个后备数据块中根据数据块标识确定新的目标数据块,继续执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,其中后备数据块根据后备数据块的索引信息确定。
根据本说明书实施例的第七方面,提供了另一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
接收数据块分配请求;
响应于所述数据块分配请求分配目标数据块和至少一个后备数据块,其中,目标数据块和至少一个后备数据块中包括数据块标识;
返回所述目标数据块的索引信息和所述至少一个后备数据块的索引信息。
根据本说明书实施例的第八方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述分布式系统中的数据写入方法的步骤。
本说明书一个实施例提供的分布式系统中的数据写入方法,应用于客户端,根据接收的待写入数据的写请求向分布式系统中的元数据节点发送数据块分配请求,以使元数据节点根据数据块分配请求分配一个目标数据块和至少一个后备数据块,并执行将待写入文件写入至目标数据块的操作,在执行写入过程中出现请求毛刺的情况下,说明当前目标数据块对应的数据节点出现异常,此时根据数据块标识在后备数据块中确定新的目标数据块,继续执行将未完成写入操作的数据写入至目标数据块的写入操作,由于数据块通常位于不同的数据节点,因此可以规避异常节点的写入操作,减少了请求时延,从而解决写请求的请求毛刺的问题,维护了分布式系统的正常运行,提高了用户的使用体验。
附图说明
图1是本说明书一个实施例提供的一种分布式系统中应用于客户端的数据写入方法的处理流程图;
图2是本说明书一个实施例提供的另一种分布式系统中应用于客户端的数据写入方法的处理流程图;
图3是本说明书一个实施例提供的一种分布式系统中应用于元数据节点的数据写入方法的处理流程图;
图4是本说明书一个实施例提供的分布式系统的结构示意图;
图5是本说明书一个实施例提供的客户端与元数据节点的交互时序图;
图6是本说明书一个实施例提供的一种配置于客户端的分布式系统中的数据写入装置的结构示意图;
图7是本说明书一个实施例提供的一种配置于元数据节点的分布式系统中的数据写入装置的结构示意图;
图8是本说明书一个实施例提供的一种分布式系统;
图9是本说明书一个实施例提供的一种计算设备的结构框图;
图10是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
数据块:Chunk,分布式系统将存储在其上的文件切分成一系列的数据块进行存储,这其中的每个数据块被称为Chunk。
副本:Replica,分布式系统对于每个Chunk复制生成数据一样的副本存在不同的节点上,每个副本被称为Replica。
元数据节点:分布式系统中文件的元信息所存储的节点,通常用于存储文件的状态信息,以及Chunk的索引信息等。
数据节点:分布式系统中数据块所存储的节点,通常负责数据块的写入,存储,读取,删除等操作。
请求毛刺:当用户向系统发送请求时,请求的时延远远大于系统的平均时延,这些请求被称为请求毛刺。
在本说明书中,提供了一种分布式系统中的数据写入方法,本说明书一个或者多个实施例同时涉及另一种分布式系统中的数据写入方法,两种分布式系统中的数据写入装置,一种分布式系统,两种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一个实施例提供的一种分布式系统中的数据写入方法的处理流程图,所述方法应用于客户端,包括步骤102至步骤106。
步骤102:根据接收的写请求向分布式系统中的元数据节点发送数据块分配请求,并接收所述元数据节点返回的目标数据块的索引信息和至少一个后备数据块的索引信息。
写请求对应的处理对象为待写入数据,待写入数据为用户需要写入到分布式系统中的数据,可以为文档、图片、音频、视频等各种格式的文件。
待写入数据的写请求中包括待写入数据的数据名称、写入指令等信息,如当待写入数据为文件名为A的音频文件时,待写入数据的写请求中包括将A.mp3写入到分布式系统中的指令;当待写入数据为文件名为B的视频文件时,待写入数据的写请求中包括将B.avi写入到分布式系统中的指令;待写入如数据为文件名为C的照片时,待写入数据的写请求中包括将C.jpg写入到分布式系统中的指令。
根据接收的待写入数据的写请求向分布式系统中的元数据节点发送数据块分配请求,元数据节点根据所述数据块分配请求分配至少两个数据块,执行待写入数据写入操作的数据块被称为目标数据块,其余数据块为后备数据块,并为每个数据块设置数据块标识。
在本说明书提供的一具体实施方式中,元数据节点根据数据块分配请求分配目标数据块C
接收元数据节点返回的目标数据块的索引信息和至少一个后备数据块的索引信息,数据块的索引信息包括数据块在所述分布式系统中的位置。
在本说明书提供的一具体实施方式中,目标数据块C
步骤104:将待写入数据中的单位数据写入至目标数据块,并监控执行单位数据写入操作的响应时间,其中目标数据块根据目标数据块的索引信息确定。
根据元数据节点返回的数据块的索引信息可以确定写请求当前的目标数据块,响应于所述待写入数据的写请求执行将待写入数据写入至目标数据块的操作,在执行写入操作的过程中,待写入数据以数据流的形式写入至目标数据块中,将待写入数据中单位数据依次写入至目标数据块中,执行单位数据写入成功之后会返回响应信息。
在本说明书提供的一种具体实施方式中,待写入数据为音频文件A.mp3,每个单位数据的大小为16K,响应于所述音频文件A.mp3的数据流式写请求,依次将A.mp3中的单位数据写入至目标数据块中,并监控执行单位数据写入操作的响应时间。
在本说明书提供的另一种具体实施方式中,待写入数据为视频文件B.avi,每个单位数据的大小为32K,响应于所述视频文件B.avi的数据流式写请求,依次将B.avi中的单位数据写入至目标数据块中,并监控执行单位数据写入操作的响应时间。
执行单位数据写入操作的响应时间为执行单位数据写入操作时刻与接收到单位数据写入成功后返回的响应信息时刻的时间间隔。从单位数据开始执行写入的时刻开始计时,到收到单位数据写入成功的响应信息的时刻结束,计时的时间即为单位数据的响应时间,如果没有接收到响应信息,则响应时间为当前时刻与单位数据开始执行写入的时刻的差值。
需要注意的是,单位数据写入成功的响应信息为将单位数据成功写入至目标数据块和目标数据块对应的副本中的响应信息,即当单位数据写入至目标数据块和目标数据块对应的副本中后才返回响应信息,如第628个单位数据成功写入至目标数据块C
在本说明书提供的一具体实施方式中,为了便于理解,将第99个单位数据开始执行写入的时刻记做0微秒,接收第99个单位数据写入成功的响应信息的时刻为10微秒,则第99个单位数据的响应时间为10微秒。
在本说明书提供的一具体实施方式中,将第7个单位数据开始执行写入的时刻记做0微秒,没有接收到写入成功的响应信息,则第7个单位数据的写入操作无法得到响应,响应时间随着时间的增加而不断增加。
步骤106:在所述响应时间大于预设阈值的情况下,停止写入操作,从所述至少一个后备数据块中根据数据块标识确定新的目标数据块,继续执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,其中后备数据块根据后备数据块的索引信息确定。
在所述响应时间大于预设阈值的情况下,说明执行将单位数据写入至目标数据块的写入操作遇到了异常,无法获取对应的响应信息。
在本说明书提供的一具体实施方式中,预设阈值为20毫秒,第79个单位数据在20毫秒内没有接收到响应信息,因此可以确定第79个单位数据的响应时间大于预设阈值,第79个单位数据的写入操作发生异常,出现请求毛刺的情况。
在发生请求毛刺的情况下,停止写入操作,从所述至少一个后备数据块中根据数据块标识确定新的目标数据块,继续执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,其中后备数据块根据后备数据块的索引信息确定。
在本说明书提供的一具体实施方式中,以第169个单位数据为例,当执行将第169个单位数据写入至目标数据块C
在本说明书提供的另一种具体实施方式中,以第870个单位数据为例,当执行将第870个单位数据写入至目标数据块C
本实施例提供的分布式系统中的数据写入方法,应用于客户端,根据接收的待写入数据的写请求向分布式系统中的元数据节点发送数据块分配请求并接收所述元数据节点返回的目标数据块的索引信息和至少一个后备数据块的索引信息;执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,并监控执行单位数据写入操作的响应时间,在执行写入过程中出现请求毛刺的情况下,说明当前目标数据块对应的数据节点出现异常,此时根据数据块标识在后备数据块中确定新的目标数据块,继续执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,由于数据块通常位于不同的数据节点,因此可以规避异常节点的写入操作,减少了请求时延,从而解决写请求的请求毛刺的问题,维护了分布式系统的正常运行,提高了用户的使用体验。
下述结合附图2,以本说明书提供的分布式系统中的数据写入方法在将视频文件B写入至分布式系统中的应用为例,对所述应用于客户端的分布式系统中的数据写入方法进行进一步说明。其中,图2示出了本说明书一个实施例提供的一种分布式系统中的数据写入方法的处理流程图,具体步骤包括步骤202至步骤212。
步骤202:根据接收的写请求向分布式系统中的元数据节点发送数据块分配请求,并接收所述元数据节点返回的目标数据块的索引信息和至少一个后备数据块的索引信息。
在本说明书提供的实施例中,待写入数据为视频文件B,接收将视频文件B写入至分布式系统中的数据流式写请求,并根据所述写请求向分布式系统中的元数据节点发送数据块分配请求,以使元数据节点根据所述数据块分配请求分配目标数据块C
步骤204:将待写入数据中的单位数据写入至目标数据块,并监控执行单位数据写入操作的响应时间,其中目标数据块根据目标数据块的索引信息确定。
在本说明书提供的实施例中,根据目标数据块C
步骤206:判断响应时间是否大于预设阈值,若是,则执行步骤208,若否,则执行步骤204。
在本说明书提供的实施例中,预设阈值为10微秒,将第1个单位数据写入至目标数据块C
以第1524个单位数据为例,将第1524个单位数据写入至目标数据块C
步骤208:判断分布式系统中流控状态是否为执行流控,若是则执行步骤210,若否则执行步骤212。
流控状态为分布式系统中对于确定新的目标数据块次数的流量控制,为了防止频繁确定新的目标数据块而导致的分布式系统中出现大量的小容量数据块,设置确定新的目标数据块次数的流量控制,如在分布式系统中每秒只可以确定10次新的目标数据块,若1秒内分布式系统中确定新的目标数据块的次数超过10次则执行流控,若1秒内分布式系统中确定新的目标数据块的次数少于10次则解除流控。
判断分布式系统中的流控状态是否为执行流控,若当前分布式系统中的流控状态为执行流控,则执行步骤210,若当前分布式系统中的流控状态为解除流控,则执行步骤212。
步骤210:等待流控结束或返回响应信息,在返回响应信息的情况下,执行步骤204,在流控结束的情况下,执行步骤212。
在流控状态为执行流控的情况下,进入等待状态,等待流控结束即等待状态为解除流控或接收到执行写入操作的单位数据的响应信息。
在接收到执行写入操作的单位数据的响应信息的情况下,执行步骤204。
在未接收到执行写入操作的单位数据的响应信息且流控状态为解除流控的情况下,执行步骤212。
步骤212:停止写入操作,从所述至少一个后备数据块中根据数据块标识确定新的目标数据块,并执行步骤204。
在本说明书提供的实施例中,以第1524个单位数据为例,在执行第1524个单位数据写入至目标数据块C
可选的,在从所述至少一个后备数据块中根据数据块标识确定新的目标数据块之前,所述方法还包括:根据目标数据块的索引信息和目标数据块中已写入数据的大小生成目标数据块的数据块信息;将所述数据块信息和所述待写入数据的数据标识上传至所述元数据节点。
在本说明书提供的实施例中,以第1524个单位数据为例,在从所述至少一个后备数据块中根据数据块标识确定新的目标数据块之前,写入至目标数据块C
可选的,所述方法还包括:
当后备数据块的数量少于预设阈值的情况下,向所述元数据节点发送后备数据块新增请求;接收所述元数据节点返回的新增后备数据块的索引信息。
在每次从所述至少一个后备数据块中根据数据块标识确定新的目标数据块之后,后备数据块的数量会减少,当后备数据块的数量小于预设阈值时,需要向元数据节点发送后备数据块新增请求,以防止需要再确定新的目标数据块时,无可用的后备数据块,接收元数据节点响应于所述后备数据块新增请求返回的新增的后备数据块的索引信息。
在本说明书提供的一具体实施方式中,以预设阈值为3为例,当后备数据块的数量小于预设阈值3的情况下,向所述元数据节点发送后备数据块新增请求,并接收元数据节点响应于所述后备数据块新增请求返回的新增的后备数据块的索引信息。
可选的,所述方法还包括:
根据接收的待读取文件的读请求向所述元数据节点发送数据块获取请求并接收所述元数据节点返回的与所述待读取文件对应的至少一个读取数据块的数据块信息和数据块标识,其中,读取数据块的数据块信息包括数据块的索引信息和数据块中已写入数据的大小;根据每个读取数据块的索引信息确定每个读取数据块的位置;根据每个读取数据块的数据块标识和数据块中已写入数据的大小读取所述待读取文件。
在本说明书提供的实施例中,获取视频文件B的读请求,并根据接收的读请求向所述元数据节点发送数据块获取请求,接收元数据节点根据读请求中的视频文件名B确定并返回的读取数据块C
根据读取数据块C
根据每个读取数据块的数据块标识顺序C
本实施例提供的分布式系统中的数据写入方法,应用于客户端,根据接收的待写入数据的写请求向分布式系统中的元数据节点发送数据块分配请求并接收所述元数据节点返回的目标数据块的索引信息和至少一个后备数据块的索引信息;执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,并监控执行单位数据写入操作的响应时间,在执行写入过程中出现请求毛刺的情况下,说明当前目标数据块对应的数据节点出现异常,此时根据数据块标识在后备数据块中确定新的目标数据块,继续执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,由于数据块通常位于不同的数据节点,因此可以规避异常节点的写入操作,减少了请求时延,从而解决写请求的请求毛刺的问题,维护了分布式系统的正常运行,提高了用户的使用体验。
其次,针对本方法分布式系统中对于确定新的目标数据块次数设置流控,可以避免在异常情况下分布式系统中大规模确定新的目标数据块的操作导致的分布式系统整体的时延飙升的问题。
最后,在读取文件时,根据元数据节点中存储的数据块信息和数据块标识确定每个数据块中对应的读取顺序和已写入数据的大小,实现待读取文件的读取操作。
图3示出了根据本说明书一个实施例提供的一种分布式系统中的数据写入方法的处理流程图,所述方法应用于元数据节点,包括步骤302至步骤306。
步骤302:接收数据块分配请求。
接收客户端发送的数据块分配请求。
步骤304:响应于所述数据块分配请求分配目标数据块和至少一个后备数据块,其中,目标数据块和至少一个后备数据块中包括数据块标识。
响应于所述数据块分配请求分配一个目标数据块和至少一个后备数据块,后备数据块的数量由预设阈值确定。目标数据块为执行将待写入数据写入的数据块,后备数据块由所述元数据节点根据所述数据块分配请求为目标数据块配置的,为每个数据块设置数据块标识,数据块标识用以记录数据块的顺序。
在本说明书提供的一具体实施方式中,根据数据块分配请求分配一个目标数据块C
步骤306:返回所述目标数据块的索引信息和所述至少一个后备数据块的索引信息。
将目标数据块的索引信息和和所述至少一个后备数据块的索引信息返回至客户端。
在本说明书提供的一具体实施方式中,沿用上例,将目标数据块C
可选的,所述方法还包括:接收目标数据块的数据块信息和数据标识,并根据数据块信息和数据标识生成数据块信息表,其中,数据块信息表包括目标数据块的数据标识、数据块标识和数据块信息,数据块信息包括数据块的索引信息和数据块中已写入数据的大小。
数据块信息表用以保存已完成写入数据对应的数据标识、数据块标识和数据块信息,数据块信息包括数据块的索引信息和数据块中已写入数据的大小,用以在后续的数据读取时,便于查询每个数据块的数据块信息。
在本说明书提供的一具体实施方式中,接收并保存客户端发送的数据块C
可选的,所述方法还包括:接收后备数据块新增请求;响应于所述后备数据块新增请求分配新增后备数据块,其中,新增后备数据块中包括数据块标识;返回所述新增后备数据块的索引信息。
接收客户端发送的后备数据块新增请求,响应于所述后备数据块新增请求分配新的数据块作为新增后备数据块,并将新增后备数据块的索引信息返回至客户端。
在本说明书提供的一具体实施方式中,接收客户端发送的后备数据块新增请求,元数据节点响应于所述后备数据块新增请求分配新增后备数据块,新增后备数据块的数量可以是预设的数量,如预设数值为3,则响应于后备数据块新增请求分配3个数据块作为新增后备数据块,也可以根据数据块分配请求分配的后备数据块的数量确定新增后备数据块的数量,如根据数据块分配请求分配了1个写数据块和6个后备数据块,响应于后备数据块新增请求将后备数据块的数量增加至6个,在本说明书中,不对分配新的数据块作为后备数据块的方式做限定。
可选的,所述方法还包括:接收数据块获取请求,其中,所述数据块获取请求中包括待读取文件标识;根据所述数据块信息表确定与所述待读取文件标识对应的至少一个数据块信息为读取数据块信息;返回每个所述读取数据块信息和每个所述读取数据块信息对应的数据块标识。
数据块获取请求中包括待读取文件标识,根据所述待读取文件标识在数据块信息表中进行遍历,确定与所述待读取文件标识对应的至少一个数据块信息作为读取数据块信息,并将每个读取数据块信息和每个读取数据块信息对应的数据块标识返回至客户端。
在本说明书提供的一具体实施方式中,接收待读取文件B的数据块获取请求,根据数据块获取请求中的待读取文件的文件名B在数据块信息表中进行遍历,确定数据块C
本实施例提供的分布式系统中的数据写入方法,应用于元数据节点,元数据节点根据数据块分配请求分配多个数据块,将其中一个数据块作为目标数据块,将其余数据块作为后备数据块,并为每个数据块设置数据块标识,确定数据块的使用顺序,将目标数据块的索引信息和每个后备数据块的索引信息返回至客户端,节约了分配数据块的时间,提高了分配数据块的效率,解决了请求毛刺的问题。
其次,当接收到后备数据块新增请求时,分配新的数据块作为后备数据块,以防没有后备数据块可用。
再次,保存接收到的目标数据块的数据块信息和数据标识,用以在后续的数据读取时,便于查询每个数据块完成写入数据的大小。
下面结合图4和图5,以本说明书提供的分布式系统中的数据写入方法将文件M写入至分布式系统中的应用为例,对本说明书提供的方法进行进一步的解释说明。其中,图4示出了本说明书一实施例提供的分布式系统的结构示意图。分布式系统中包括1个客户端、1个元数据节点和4个数据节点,图5是本说明书一个实施例提供的客户端与元数据节点的交互时序图,所述方法包括步骤502至步骤538。
步骤502:客户端接收写请求。
在本说明书提供的实施例中,客户端接收待写入文件M的写请求。
步骤504:客户端发送数据块分配请求至元数据节点。
在本说明书提供的实施例中,客户端根据写请求向元数据节点发送数据块分配请求。
步骤506:元数据节点分配目标数据块和至少一个后备数据块。
在本说明书提供的实施例中,元数据节点根据所述数据块分配请求在在数据节点1至数据节点4中分别分配了数据块1至数据块4,其中数据块1为目标数据块,数据块2、3、4为后备数据块。
步骤508:元数据节点返回目标数据块的索引信息和至少一个后备数据块的索引信息至客户端。
在本说明书提供的实施例中,元数据节点将目标数据块1的索引信息和后备数据块2、3、4的索引信息返回至客户端。
步骤510:客户端执行写入操作并监控响应时间。
在本说明书提供的实施例中,执行将待写入文件M中的单位数据写入至目标数据块1的操作,每个单位数据的大小为16K,并监控执行单位数据写入操作的响应时间。
步骤512:客户端判断响应时间是否大于预设阈值,若是,则执行步骤514。
步骤514:客户端判断分布式系统中当前流控状态是否为执行流控,若否,则执行步骤518。
步骤518:客户端停止写入操作,生成目标数据块信息,并执行步骤520。
步骤520:客户端将目标数据块信息发送至元数据节点。
步骤522:元数据节点保存目标数据块信息。
步骤524:元数据节点返回保存成功信息至客户端。
步骤526:客户端确定新的目标数据块,并执行步骤510。
在本说明书提供的实施例中,以第1653个单位数据为例详细解释说明响应时间大于预设阈值且当前流控状态为解除流控情况下的处理细节。当执行第1653个单位数据写入至目标数据块1的写入操作时,响应时间大于预设阈值,获取此时分布式系统中确定新的目标数据块次数的流控状态为解除流控,停止写入操作,根据已写入成功单位数据共计1652个,每个单位数据的大小为16K,则目标数据块1的大小为16432K,生成目标数据块1对应的数据块信息,将所述数据块信息发送至元数据节点。
元数据节点保存数据块1对应的数据块信息并返回保存成功信息至客户端。
客户端从后备数据块2、3、4中根据数据块标识顺序确定后备数据块2为新的目标数据块,继续执行将待写入文件从第1653个单位数据写入至目标数据块2的写入操作。
步骤512:客户端判断响应时间是否大于预设阈值,若是,则执行步骤514。
步骤514:客户端判断分布式系统中流控状态是否为执行流控,若是,则执行步骤516。
步骤516:客户端进入等待状态,等待解除流控或接收响应信息,若接收响应信息则执行步骤510。
在本说明书提供的实施例中,以第2598个单位数据为例详细解释说明客户端进入等待状态时接收到响应信息的处理细节。当第2598个单位数据写入至目标数据块2时,响应时间大于预设阈值,获取此时分布式系统中确定新的目标数据块次数的流控状态为执行流控,无法确定新的目标数据块,则进入等待状态,在流控状态依然为执行流控的情况下,接收到第2598个单位数据的响应信息,则继续执行将所述待写入数据中的单位数据写入至目标数据块2的写入操作。
步骤512:客户端判断响应时间是否大于预设阈值,若是,则执行步骤514。
步骤514:客户端判断分布式系统中流控状态是否为执行流控,若是,则执行步骤516。
步骤516:客户端进入等待状态,等待解除流控或接收响应信息,若解除流控则执行步骤518。
步骤518:客户端停止写入操作,生成目标数据块信息,并执行步骤520。
步骤520:客户端将目标数据块信息发送至元数据节点。
步骤522:元数据节点保存目标数据块信息。
步骤524:元数据节点返回保存成功信息至客户端。
步骤526:客户端确定新的目标数据块,并执行步骤510。
步骤534:客户端发送后备数据块新增请求。
步骤536:元数据节点根据所述后备数据块新增请求分配新的数据块作为后备数据块。
步骤538:元数据节点返回新增后备数据块的索引信息至客户端。
在本说明书提供的实施例中,以第3652个单位数据为例详细解释说明客户端进入等待状态时解除流控的处理细节。当第3652个单位数据写入至目标数据块2时,响应时间大于预设阈值,获取此时分布式系统中确定新的目标数据块次数的流控状态为执行流控,无法确定新的目标数据块,则进入等待状态,在流控状态为解除流控的情况下,依然未收到第3652个单位数据的响应信息,则停止执行将第3652个单位数据写入至目标数据块2的写入操作,从后备数据块3、4中根据数据块标识的顺序确定后备数据块3为新的目标数据块,继续执行将待写入文件从第3652个单位数据写入至目标数据块3的写入操作。
此时后备数据块为4,共计1个后备数据块,小于预设的最小后备数据块数量2,客户端异步地向元数据节点发送后备数据块新增请求,元数据节点响应于所述后备数据块新增请求分配数据块5、6、7作为新增后备数据块,并将新增后备数据块5、6、7的索引信息返回至客户端,此时的后备数据块为4、5、6、7,共计4个后备数据块。
可选的,当目标数据块的容量写满的情况下,则执行步骤518。
在本说明书提供的实施例中,以第7748个单位数据为例详细解释说明目标数据块容量写满的处理细节。当写入到第7748个单位数据时,目标数据块3的容量已满,客户端在写入第7749个单位数据时无法返回响应信息,导致第7749个单位数据的响应时间大于预设阈值,客户端停止第7749个单位数据的写入操作,目标数据块3中已写入数据的大小为65536K,生成目标数据块3对应的数据块信息,将所述数据块信息发送至元数据节点。
元数据节点保存数据块3对应的数据块信息,并返回保存数据块3保存成功的信息至客户端。
客户端从后备数据块4、5、6、7中根据数据块标识的顺序确定后备数据块4为新的目标数据块,并继续执行将待写入文件从第7749个单位数据写入至目标数据块4的写入操作。
步骤528:客户端接收写入完成指令。
步骤530:客户端将目标数据块信息发送至元数据节点。
步骤532:元数据节点保存目标数据块信息。
在本说明书提供的实施例中,客户端接收写入完成指令,此时目标数据块4中已写入数据的大小为18480K,生成目标数据块4对应的数据块信息,将所述数据块信息发送至元数据节点。
元数据节点保存数据块4对应的数据块信息,至此,待写入文件M写入至所述分布式系统的操作已完成。此时的元数据节点上存有与待写入文件M对应的4个数据块信息。
本实施例提供的分布式系统中的数据写入方法,根据接收的待写入数据的写请求向分布式系统中的元数据节点发送数据块分配请求并接收所述元数据节点返回的目标数据块的索引信息和至少一个后备数据块的索引信息;执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,并监控执行单位数据写入操作的响应时间,在执行写入过程中出现请求毛刺的情况下,根据数据块标识在后备数据块中确定新的目标数据块,继续执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,由于数据块通常位于不同的数据节点,因此可以规避异常节点的写入操作,减少了请求时延,从而解决写请求的请求毛刺的问题,维护了分布式系统的正常运行,提高了用户的使用体验。
其次,针对本方法分布式系统中对于确定新的目标数据块次数设置流控,可以避免在异常情况下分布式系统中大规模确定新的目标数据块的操作导致的分布式系统整体的时延飙升的问题。
再次,当后备数据块的数量小于预设阈值的时,申请新的数据块作为后备数据块,确定后备数据块为新的目标数据块时,没有后备数据块可用。
最后,元数据节点保存接收到的目标数据块的数据块信息和数据标识,用以在后续的数据读取时,便于查询每个数据块完成写入数据的大小。
与上述应用于客户端的分布式系统中的数据写入方法实施例相对应,本说明书还提供了分布式系统中的数据写入装置实施例,配置于客户端,图6示出了本说明书一个实施例提供的一种配置于客户端的分布式系统中的数据写入写入装置的结构示意图。如图6所示,该装置包括:
发送模块602,被配置为根据接收的写请求向分布式系统中的元数据节点发送数据块分配请求,并接收所述元数据节点返回的目标数据块的索引信息和至少一个后备数据块的索引信息。
写入模块604,被配置为执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,并监控执行单位数据写入操作的响应时间,其中目标数据块根据目标数据块的索引信息确定。
切换模块606,被配置为停止写入操作,从所述至少一个后备数据块中根据数据块标识确定新的目标数据块,继续执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,其中后备数据块根据后备数据块的索引信息确定。
可选的,所述装置还包括:
第一生成上传模块,根据目标数据块的索引信息和目标数据块中已写入数据的大小生成目标数据块的数据块信息;将所述数据块信息和所述待写入数据的数据标识上传至所述元数据节点。
可选的,所述装置还包括:
第二生成上传模块,被配置为接收写入完成指令,并响应于所述写入完成指令结束写入操作;根据目标数据块的索引信息和目标数据块中已写入数据的大小生成目标数据块的数据块信息;将所述数据块信息和所述待写入数据的数据标识上传至所述元数据节点。
可选的,所述切换模块606,进一步被配置为获取所述分布式系统中确定新的目标数据块的流控状态,其中,所述流控状态为执行流控或解除流控;在所述流控状态为执行流控的情况下,进入等待状态;在所述流控状态为解除流控的情况下,则执行停止写入操作。
可选的,所述切换模块606,进一步被配置为接收单位数据的响应信息和获取流控状态;在接收到单位数据的响应信息的情况下,执行将所述待写入数据中的单位数据写入至目标数据块的写入操作;在未接收到单位数据的响应信息且流控状态为解除流控的情况下,则停止写入操作。
可选的,所述装置还包括:
新增请求模块,被配置为当后备数据块的数量少于预设阈值的情况下,向所述元数据节点发送后备数据块新增请求;接收所述元数据节点返回的新增后备数据块的索引信息。
可选的,所述装置还包括:
读取模块,被配置为根据接收的待读取文件的读请求向所述元数据节点发送数据块获取请求并接收所述元数据节点返回的与所述待读取文件对应的至少一个读取数据块的数据块信息和数据块标识,其中,读取数据块的数据块信息包括数据块的索引信息和数据块中已写入数据的大小;根据每个读取数据块的索引信息确定每个读取数据块的位置;根据每个读取数据块的数据块标识和数据块中已写入数据的大小读取所述待读取文件。
本实施例提供的分布式系统中的数据写入装置,配置于客户端,根据接收的待写入数据的写请求向分布式系统中的元数据节点发送数据块分配请求并接收所述元数据节点返回的目标数据块的索引信息和至少一个后备数据块的索引信息;执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,并监控执行单位数据写入操作的响应时间,在执行写入过程中出现请求毛刺的情况下,说明当前目标数据块对应的数据节点出现异常,此时根据数据块标识在后备数据块中确定新的目标数据块,继续执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,由于数据块通常位于不同的数据节点,因此可以规避异常节点的写入操作,减少了请求时延,从而解决写请求的请求毛刺的问题,维护了分布式系统的正常运行,提高了用户的使用体验。
其次,设置流控,可以避免在异常情况下分布式系统中大规模确定新的目标数据块的操作导致的分布式系统整体的时延飙升的问题。
最后,设置读取模块,在读取文件时,根据元数据节点中存储的数据块信息和数据块标识确定每个数据块中对应的读取顺序和已写入数据的大小,实现待读取文件的读取操作。
上述为本实施例的一种配置于客户端的分布式系统中的数据写入装置的示意性方案。需要说明的是,该分布式系统中的数据写入装置的技术方案与上述的应用于客户端的分布式系统中的数据写入方法的技术方案属于同一构思,配置于客户端的分布式系统中的数据写入装置的技术方案未详细描述的细节内容,均可以参见上述应用于客户端的分布式系统中的数据写入方法的技术方案的描述。
与上述应用于元数据节点的分布式系统中的数据写入方法实施例相对应,本说明书还提供了分布式系统中的数据写入装置实施例,配置于元数据节点,图7示出了本说明书一个实施例提供的一种配置于元数据节点的分布式系统中的数据写入装置的结构示意图。如图7所示,该装置包括:
接收模块702,被配置为接收数据块分配请求。
分配模块704,被配置为响应于所述数据块分配请求分配目标数据块和至少一个后备数据块,其中,目标数据块和至少一个后备数据块中包括数据块标识。
返回模块706,被配置为返回所述目标数据块的索引信息和所述至少一个后备数据块的索引信息。
可选的,所述装置还包括:
数据块信息接收模块,被配置为接收目标数据块的数据块信息和数据标识,并根据数据块信息和数据标识生成数据块信息表,其中,数据块信息表包括目标数据块的数据标识、数据块标识和数据块信息,数据块信息包括数据块的索引信息和数据块中已写入数据的大小。
可选的,所述装置还包括:
再分配模块,被配置为接收后备数据块新增请求;响应于所述后备数据块新增请求分配新增后备数据块,其中,新增后备数据块中包括数据块标识;返回所述新增后备数据块的索引信息。
可选的,所述装置还包括:
读取数据块确定模块,被配置为接收数据块获取请求,其中,所述数据块获取请求中包括待读取文件标识;根据所述数据块信息表确定与所述待读取文件标识对应的至少一个数据块信息为读取数据块信息;返回每个所述读取数据块信息和每个所述读取数据块信息对应的数据块标识。
本实施例提供的分布式系统中的数据写入装置,配置于元数据节点,元数据节点根据数据块分配请求分配多个数据块,将其中一个数据块作为目标数据块,将其余数据块作为后备数据块,并为每个数据块设置数据块标识,确定数据块的使用顺序,将目标数据块的索引信息和每个后备数据块的索引信息返回至客户端,节约了分配数据块的时间,提高了分配数据块的效率,解决了请求毛刺的问题。
其次,当接收到后备数据块新增请求时,分配新的数据块作为后备数据块,以防没有后备数据块可用。
再次,保存接收到的目标数据块的数据块信息和数据标识,用以在后续的数据读取时,便于查询每个数据块完成写入数据的大小。
上述为本实施例的一种配置于元数据节点的分布式系统中的数据写入装置的示意性方案。需要说明的是,该分布式系统中的数据写入装置的技术方案与上述的应用于元数据节点的分布式系统中的数据写入方法的技术方案属于同一构思,配置于元数据节点的分布式系统中的数据写入装置的技术方案未详细描述的细节内容,均可以参见上述应用于元数据节点的分布式系统中的数据写入方法的技术方案的描述。
图8示出了本说明书一个实施例提供的一种分布式系统,所述分布式系统包括:
客户端802被配置为根据接收的写请求向分布式系统中的元数据节点发送数据块分配请求。
元数据节点804被配置为接收所述数据块分配请求,响应于所述数据块分配请求分配目标数据块和至少一个后备数据块,其中,目标数据块和至少一个后备数据块中包括数据块标识,返回所述目标数据块的索引信息和至少一个后备数据块的索引信息。
客户端802进一步被配置为执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,并监控执行单位数据写入操作的响应时间,其中目标数据块根据目标数据块的索引信息确定,在所述响应时间大于预设阈值的情况下,停止写入操作,从所述至少一个后备数据块中根据数据块标识确定新的目标数据块,继续执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,其中后备数据块根据后备数据块的索引信息确定。
图9示出了根据本说明书一个实施例提供的一种计算设备900的结构框图。该计算设备900的部件包括但不限于存储器910和处理器920。处理器920与存储器910通过总线930相连接,数据库950用于保存数据。
计算设备900还包括接入设备940,接入设备940使得计算设备900能够经由一个或多个网络960通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备940可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备900的上述部件以及图9中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图9所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备900可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备900还可以是移动式或静止式的服务器。
其中,所述存储器910用于存储计算机可执行指令,处理器920用于执行如下计算机可执行指令:
根据接收的写请求向分布式系统中的元数据节点发送数据块分配请求,并接收所述元数据节点返回的目标数据块的索引信息和至少一个后备数据块的索引信息;
将待写入数据中的单位数据写入至目标数据块,并监控执行单位数据写入操作的响应时间,其中目标数据块根据目标数据块的索引信息确定;
在所述响应时间大于预设阈值的情况下,停止写入操作,从所述至少一个后备数据块中根据数据块标识确定新的目标数据块,继续执行将所述待写入数据中的单位数据写入至目标数据块的写入操作,其中后备数据块根据后备数据块的索引信息确定。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的应用于客户端的分布式系统中的数据写入的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述应用于客户端的分布式系统中的数据写入方法的技术方案的描述。
图10示出了根据本申请一实施例的计算设备1000的结构框图。该计算设备1000的部件包括但不限于存储器1010和处理器1020。处理器1020与存储器1010通过总线1030相连接,数据库1050用于保存数据。
计算设备1000还包括接入设备1040,接入设备1040使得计算设备1000能够经由一个或多个网络1060通信。
计算设备1000的接入方式与上述计算设备900相同,在此不再赘述。
其中,处理器1020用于执行如下计算机可执行指令:
接收数据块分配请求;
响应于所述数据块分配请求分配目标数据块和至少一个后备数据块,其中,目标数据块和至少一个后备数据块中包括数据块标识;
返回所述目标数据块的索引信息和所述至少一个后备数据块的索引信息。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的应用于元数据节点的分布式系统中的数据写入的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述应用于元数据节点的分布式系统中的数据写入方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于实现所述分布式系统中的数据写入方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的分布式系统中的数据写入方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述分布式系统中的数据写入方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
- 分布式系统中的数据写入方法及装置、分布式系统
- 一种在分布式系统中写入数据的方法和装置