数据访问方法、装置、客户端及存储介质制造方法及图纸

技术编号:30407378 阅读:14 留言:0更新日期:2021-10-20 11:16
本发明专利技术涉及分布式存储领域,提供了一种数据访问方法、装置、客户端及存储介质,所述方法包括:获取待写数据,其中,待写数据包括以纠删码组织而成的多个目标数据块,每一目标数据块需要写入每一存储节点,且每一存储节点包括上一次写入的旧数据;向每一存储节点发送写请求,以使每一存储节点基于各自接收的写请求写对应的目标数据块并向客户端反馈写响应消息;若反馈写成功的写响应消息的目标存储节点的个数大于预设个数,则根据目标存储节点的个数向目标存储节点发送删除命令,以使目标存储节点根据各自接收的删除命令将各自的旧数据删除。本发明专利技术既能保证数据写入的强一致性,又能保证高性能的要求。保证高性能的要求。保证高性能的要求。

【技术实现步骤摘要】
数据访问方法、装置、客户端及存储介质


[0001]本专利技术涉及分布式存储领域,具体而言,涉及一种数据访问方法、装置、客户端及存储介质。

技术介绍

[0002]分布式存储系统根据实际业务需求的不同,其对于数据一致性的要求也有区别,例如,数据一致性通常包括强一致性、弱一致性、最终一致性等多种不同程度的一致性。强一致性指在任何一次读都能读到最近一次写的数据,弱一致性指容许读数据时读到的数据可以是最近一次写的数据,也可以是最近一次之前写的数据,最终一致性是弱一致性的特殊形式,指在没有新的更新的条件下,最终所有读取的数据都是最后写入的值。
[0003]现有技术中,通常采用两阶段提交2PC(two

phase commit protocol,2PC),三阶段提交3PC(three

phase commit protocol,3PC)等方法来保证数据的强一致性,这些方法虽然可以保证数据的强一致性,但是需要牺牲一定的性能,因而,在适用于要求高性能的应用场景时具有一定的局限性。

技术实现思路

[0004]本专利技术的提供了一种数据访问方法、装置、客户端及存储介质,其在向每一存储节点写待写数据时,每一存储节点中同时存储有上一次写入的旧数据,同时根据不同的写数据的返回结果进行不同的处理,既保证了数据写入的强一致性,又能保证高性能的要求。
[0005]为了实现上述目的,本专利技术采用的技术方案如下:
[0006]第一方面,本专利技术提供一种数据访问方法,应用于分布式存储系统中的客户端,所述客户端与分布式存储系统中的多个存储节点通信连接,所述方法包括:获取待写数据,其中,所述待写数据包括以纠删码组织而成的多个目标数据块,每一所述目标数据块需要写入所述每一所述存储节点,且每一所述存储节点包括上一次写入的旧数据;向每一所述存储节点发送写请求,以使每一所述存储节点基于各自接收的所述写请求写对应的目标数据块并向所述客户端反馈写响应消息;若反馈写成功的写响应消息的目标存储节点的个数大于预设个数,则根据所述目标存储节点的个数向所述目标存储节点发送删除命令,以使所述目标存储节点根据各自接收的所述删除命令将各自的旧数据删除。
[0007]第二方面,本专利技术提供一种数据访问装置,应用于分布式存储系统中的客户端,所述客户端与分布式存储系统中的多个存储节点通信连接,所述装置包括:获取模块,用于获取待写数据,其中,所述待写数据包括以纠删码组织而成的多个目标数据块,每一所述目标数据块需要写入所述每一所述存储节点,且每一所述存储节点包括上一次写入的旧数据;写处理模块,用于向每一所述存储节点发送写请求,以使每一所述存储节点基于各自接收的所述写请求写对应的目标数据块并向所述客户端反馈写响应消息;写处理模块,还用于若反馈写成功的写响应消息的目标存储节点的个数大于预设个数,则根据所述目标存储节点的个数向所述目标存储节点发送删除命令,以使所述目标存储节点根据各自接收的所述
删除命令将各自的旧数据删除。
[0008]第三方面,本专利技术提供一种客户端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述的数据访问方法。
[0009]第四方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的数据访问方法。
[0010]相对于现有技术,本专利技术在向每一存储节点发送由待写数据按照纠删码组织而成的各目标数据块时,每一存储节点存储有上一次写入的旧数据,客户端根据多个存储节点反馈的写成功的写响应消息的个数确定删除命令,以便存储节点根据删除命令进行对应的处理,由此实现了根据不同的写数据的返回结果进行不同的处理,既保证了数据写入的强一致性,又能保证高性能的要求。
附图说明
[0011]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0012]图1为本专利技术实施例提供的应用场景的示例图。
[0013]图2为本专利技术实施例提供的客户端的方框示意图。
[0014]图3为本专利技术实施例提供的一种数据访问方法的流程示意图。
[0015]图4为本专利技术实施例提供的分布式系统中条带的示例图。
[0016]图5为本专利技术实施例提供的另一种数据访问方法的流程示意图。
[0017]图6为本专利技术实施例提供的另一种数据访问方法的流程示意图。
[0018]图7为本专利技术实施例提供的另一种数据访问方法的流程示意图。
[0019]图8为本专利技术实施例提供的另一种数据访问方法的流程示意图。
[0020]图9为本专利技术实施例提供的另一种数据访问方法的流程示意图。
[0021]图10为本专利技术实施例提供的数据访问装置的方框示意图。
[0022]图标:10

客户端;11

处理器;12

存储器;13

总线;14

通信接口;20

存储节点;30

用户请求端;100

数据访问装置;110

获取模块;120

写处理模块;130

读处理模块。
具体实施方式
[0023]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。
[0024]因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0025]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一
个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0026]在本专利技术的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该专利技术产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。
[0027]此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0028]需要说明的是,在不冲突的情况下,本专利技术的实施例中的特征可以相互结合。...

【技术保护点】

【技术特征摘要】
1.一种数据访问方法,其特征在于,应用于分布式存储系统中的客户端,所述客户端与分布式存储系统中的多个存储节点通信连接,所述方法包括:获取待写数据,其中,所述待写数据包括以纠删码组织而成的多个目标数据块,每一所述目标数据块需要写入所述每一所述存储节点,且每一所述存储节点包括上一次写入的旧数据;向每一所述存储节点发送写请求,以使每一所述存储节点基于各自接收的所述写请求写对应的目标数据块并向所述客户端反馈写响应消息;若反馈写成功的写响应消息的目标存储节点的个数大于预设个数,则根据所述目标存储节点的个数向所述目标存储节点发送删除命令,以使所述目标存储节点根据各自接收的所述删除命令将各自的旧数据删除。2.如权利要求1所述的数据访问方法,其特征在于,所述根据所述目标存储节点的个数向所述目标存储节点发送删除命令,以使所述目标存储节点根据各自接收的所述删除命令将各自的旧数据删除的步骤包括:若所述目标存储节点的个数等于所述多个存储节点的个数,则向所述目标存储节点发送第一删除命令,以使所述目标存储节点基于所述第一删除命令将本地的旧数据删除,其中,所述第一删除命令用于指示所述目标存储节点不需要返回删除结果;若所述目标存储节点的个数小于所述多个存储节点的个数,则向所述目标存储节点发送第二删除命令,以使所述目标存储节点基于所述第二删除命令将本地的旧数据删除,其中,所述第二删除命令用于指示所述目标存储节点需要返回删除结果。3.如权利要求2所述的数据访问方法,其特征在于,所述方法还包括:若返回的删除结果为删除成功的所述存储节点的个数大于或者等于所述预设个数,则判定所述待写数据写入成功;若返回的删除结果为删除成功所述存储节点的个数小于所述预设个数,则判定所述待写数据写入失败。4.如权利要求2所述的数据访问方法,其特征在于,所述方法还包括:若所述目标存储节点的个数等于所述存储节点的个数,则判定所述待写数据写入成功。5.如权利要求1所述的数据访问方法,其特征在于,所述方法还包括:接收读取待读数据的待读命令,所述待读命令与至少一个所述存储节点对应,其中,每一所述存储节点中存在新数据和旧数据,所述新数据为最近一次写入的数据,所述旧数据为与最近一次相邻的上一次写入的数据;若所述至少一个存储节点中存储所述新数据的待读存储节点的个数大于或者等于预设个数,则根据从所述待读存储节点中读取的新数据生成待读数据;若所述至少一个存储节点中存储所述新数据的待读存储节点的个数小于所述...

【专利技术属性】
技术研发人员:韩磊
申请(专利权)人:重庆紫光华山智安科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1