一种基于对象存储的数据操作方法及相关装置制造方法及图纸

技术编号:20865159 阅读:32 留言:0更新日期:2019-04-17 09:06
本发明专利技术公开了一种基于对象存储的数据操作方法,会接收在客户端直接通过纠删码将对应目标对象的操作请求分成的多个操作子请求,以及对应该操作子请求的目标版本号,之后会判断多个对象存储单元中对应目标对象的当前版本号与目标版本号相同的个数是否大于预设个数;大于意味着此时可以执行操作子请求;并在操作子请求执行成功之后会将对象存储单元中对应目标对象的当前版本号进行更新。通过上述流程可以在分布式存储系统删除主OSD,有效提高分布式存储系统的性能;同时通过版本号比对的过程可以保障数据的正确和操作的正确执行。本发明专利技术还提供了一种数据操作装置、一种数据操作设备及一种计算机可读存储介质,同样具有上述有益效果。

【技术实现步骤摘要】
一种基于对象存储的数据操作方法及相关装置
本专利技术涉及计算机
,特别是涉及一种基于对象存储的数据操作方法、一种基于对象存储的数据操作装置、一种基于对象存储的数据操作设备、以及一种计算机可读存储介质。
技术介绍
随着近年来科技不断的进步,计算机几乎充斥着人们如常生活的方方面面。而且随着计算机技术的不断进步,有关分布式存储系统的技术取得了极大的突破。相比于块存储以及文件存储,对象存储作为一种新型的网络存储架构,对象存储同兼具SAN高速直接访问磁盘特点及NAS的分布式共享特点。在基于对象存储的分布式存储系统中,其数据存储的基本单元为对象,而在客户端对数据进行操作时,该操作对应的基本数据单元同样为对象。而在基于对象存储的分布式存储系统中,在现阶段通常会通过纠删码将对象分成多个数据块做冗余,并将多个数据块分别存储在不同的对象存储单元(OSD,ObjectStorageDaemon)中进行储存,以在储存的同时对对象进行冗余,防止数据的丢失。而在现有技术中,通常是客户端先将数据发送至分布式存储系统的主OSD中,再由主OSD通过纠删码将数据分块,并将分得的数据块发送至对应的OSD中。但是在现有技术中,通常存在分布式存储系统性能低下的问题,所以如何提高基于对象存储的分布式存储系统的操作性能是本领域技术人员急需解决的问题。
技术实现思路
本专利技术的目的是提供一种基于对象存储的数据操作方法,可以提高基于对象存储的分布式存储系统的操作性能;本专利技术的另一目的在于提供一种基于对象存储的数据操作装置、一种基于对象存储的数据操作设备及一种计算机可读存储介质,可以提高基于对象存储的分布式存储系统的操作性能。为解决上述技术问题,本专利技术提供一种基于对象存储的数据操作方法,包括:接收由客户端发送的多个操作子请求以及所述操作子请求所对应的目标版本号;其中,所述操作子请求为所述客户端通过纠删码将对应目标对象的操作请求分成的多个所述操作子请求;将多个所述操作子请求发送至对应的对象存储单元;判断多个所述对象存储单元中对应所述目标对象的当前版本号与所述目标版本号相同的个数是否大于预设个数;若是,则执行所述操作子请求;当所述操作子请求执行成功之后,对所述对象存储单元中对应所述目标对象的当前版本号进行更新。可选的,所述判断多个所述对象存储单元中对应所述目标对象的当前版本号与所述目标版本号相同的个数是否大于预设个数之后,所述方法还包括:若否,则不执行所述操作子请求。可选的,在所述执行所述操作子请求之后,所述方法还包括:将所述当前版本号与所述目标版本号不同的对象存储单元的当前版本号更换为所述目标版本号;所述当所述操作子请求执行成功之后,对所述对象存储单元中对应所述目标对象的当前版本号进行更新包括:当所述操作子请求执行成功之后,对所述对象存储单元中对应所述目标对象的当前版本号加1。可选的,在所述执行所述操作子请求之后,所述方法还包括:当所述操作子请求为写操作子请求时,记录所述当前版本号与所述目标版本号不同的对象存储单元中所述写操作子请求所对应的起始位置和数据长度,以作为有效范围;在所述判断多个所述对象存储单元中对应所述目标对象的当前版本号与所述目标版本号相同的个数是否大于预设个数之后,所述方法还包括:当所述操作子请求为读操作子请求时,判断所述读操作子请求所对应的数据是否位于所述有效范围;若是,则执行所述执行所述操作子请求的步骤。可选的,在所述判断所述读操作子请求所对应的数据是否位于所述有效范围之后,所述方法还包括:若否,则从其余所述对象存储单元中冗余读对应的数据。本专利技术还提供了一种基于对象存储的数据操作装置,包括:接收模块:用于接收由客户端发送的多个操作子请求以及所述操作子请求所对应的目标版本号;其中,所述操作子请求为所述客户端通过纠删码将对应目标对象的操作请求分成的多个所述操作子请求;发送模块:用于将多个所述操作子请求发送至对应的对象存储单元;版本号判断模块:用于判断多个所述对象存储单元中对应所述目标对象的当前版本号与所述目标版本号相同的个数是否大于预设个数;若是,则运行操作执行模块;所述操作执行模块:用于执行所述操作子请求;版本号更新模块:用于当所述操作子请求执行成功之后,对所述对象存储单元中对应所述目标对象的当前版本号进行更新。可选的,所述版本号判断模块还用于:判断多个所述对象存储单元中对应所述目标对象的当前版本号与所述目标版本号相同的个数是否大于预设个数;若否,则运行结束模块;所述结束模块用于:不执行所述操作子请求。可选的,所述装置还包括:记录模块:用于当所述操作子请求为写操作子请求时,记录所述当前版本号与所述目标版本号不同的对象存储单元中所述写操作子请求所对应的起始位置和数据长度,以作为有效范围;所述装置还包括:有效范围判断模块:用于当所述操作子请求为读操作子请求时,判断所述读操作子请求所对应的数据是否位于所述有效范围;若是,则运行所述操作执行模块。本专利技术还提供了一种基于对象存储的数据操作设备,所述设备包括:存储器:用于存储计算机程序;处理器:用于执行所述计算机程序时实现如上述任一项所述基于对象存储的数据操作方法的步骤。本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述基于对象存储的数据操作方法的步骤。本专利技术所提供的一种基于对象存储的数据操作方法,会接收在客户端直接通过纠删码将对应目标对象的操作请求分成的多个所述操作子请求,以及对应该操作子请求的目标版本号,并将多个操作子请求发送至对应的对象存储单元;为了保障数据的正确和操作的正确执行,会判断多个对象存储单元中对应目标对象的当前版本号与目标版本号相同的个数是否大于预设个数;若大于,意味着前一步骤已经正确的执行,此时数据是正常的,可以执行操作子请求;并在操作子请求执行成功之后,对对象存储单元中对应目标对象的当前版本号进行更新。通过上述在客户端中直接通过纠删码将操作请求分成多个操作子请求,可以在分布式存储系统删除主OSD,避免了在分布式存储系统中进行接收操作请求,通过纠删码对操作请求进行拆分等步骤,从而有效提高分布式存储系统的性能;同时通过上述版本号的比对等过程可以保障数据的正确和操作的正确执行,从而提高基于对象存储的分布式存储系统的操作性能。本专利技术还提供了一种基于对象存储的数据操作装置、一种基于对象存储的数据操作设备及一种计算机可读存储介质,同样具有上述有益效果,在此不再进行赘述。附图说明为了更清楚的说明本专利技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例所提供的一种基于对象存储的数据操作方法的流程图;图2为本专利技术实施例所提供的一种具体的基于对象存储的数据操作方法的流程图;图3为本专利技术实施例所提供的另一种具体的基于对象存储的数据操作方法的流程图;图4为本专利技术实施例所提供的一种基于对象存储的数据操作装置的结构框图;图5为本专利技术实施例所提供的一种基于对象存储的数据操作设备的结构框图。具体实施方式本专利技术的核心是提供一种基本文档来自技高网...

【技术保护点】
1.一种基于对象存储的数据操作方法,其特征在于,包括:接收由客户端发送的多个操作子请求以及所述操作子请求所对应的目标版本号;其中,所述操作子请求为所述客户端通过纠删码将对应目标对象的操作请求分成的多个所述操作子请求;将多个所述操作子请求发送至对应的对象存储单元;判断多个所述对象存储单元中对应所述目标对象的当前版本号与所述目标版本号相同的个数是否大于预设个数;若是,则执行所述操作子请求;当所述操作子请求执行成功之后,对所述对象存储单元中对应所述目标对象的当前版本号进行更新。

【技术特征摘要】
1.一种基于对象存储的数据操作方法,其特征在于,包括:接收由客户端发送的多个操作子请求以及所述操作子请求所对应的目标版本号;其中,所述操作子请求为所述客户端通过纠删码将对应目标对象的操作请求分成的多个所述操作子请求;将多个所述操作子请求发送至对应的对象存储单元;判断多个所述对象存储单元中对应所述目标对象的当前版本号与所述目标版本号相同的个数是否大于预设个数;若是,则执行所述操作子请求;当所述操作子请求执行成功之后,对所述对象存储单元中对应所述目标对象的当前版本号进行更新。2.根据权利要求1所述的方法,其特征在于,所述判断多个所述对象存储单元中对应所述目标对象的当前版本号与所述目标版本号相同的个数是否大于预设个数之后,所述方法还包括:若否,则不执行所述操作子请求。3.根据权利要求1所述的方法,其特征在于,在所述执行所述操作子请求之后,所述方法还包括:将所述当前版本号与所述目标版本号不同的对象存储单元的当前版本号更换为所述目标版本号;所述当所述操作子请求执行成功之后,对所述对象存储单元中对应所述目标对象的当前版本号进行更新包括:当所述操作子请求执行成功之后,对所述对象存储单元中对应所述目标对象的当前版本号加1。4.根据权利要求1至3任一项权利要求所述的方法,其特征在于,在所述执行所述操作子请求之后,所述方法还包括:当所述操作子请求为写操作子请求时,记录所述当前版本号与所述目标版本号不同的对象存储单元中所述写操作子请求所对应的起始位置和数据长度,以作为有效范围;在所述判断多个所述对象存储单元中对应所述目标对象的当前版本号与所述目标版本号相同的个数是否大于预设个数之后,所述方法还包括:当所述操作子请求为读操作子请求时,判断所述读操作子请求所对应的数据是否位于所述有效范围;若是,则执行所述执行所述操作子请求的步骤。5.根据权利要求4所述的方法,其特征在于,在所述判断所述读操作子请求所对应的数据是否位于所述有效范...

【专利技术属性】
技术研发人员:张露露
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京,11

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

1