一种分布式存储方法及其装置制造方法及图纸

技术编号:24330506 阅读:20 留言:0更新日期:2020-05-29 19:26
本发明专利技术公开了一种分布式存储方法及其装置,存储方法步骤包括:分布式存储系统将数据分成若干个子数据块,并存储于不同的存储设备;当数据客户端需要读取数据时,分布式存储系统将数据所需的子数据块从存储设备进行读取合并,然后发送给数据客户端;当分布式存储系统检测到数据客户端需要连续读取其中若干个子数据块时,数据连续性存储控制模块对这些子数据块进行缓冲保存,并将其发送给数据客户端;当数据客户端结束对数据的读取时,数据连续性存储控制模块释放并删除其内的子数据块。本发明专利技术将需要连续读取的若干个分布式数据块集中缓冲在数据连续性存储控制模块,减少了跨设备读取带来的性能消耗,并且提高了读取效率。

A distributed storage method and device

【技术实现步骤摘要】
一种分布式存储方法及其装置
本专利技术涉及云计算的分布式存储
,特别涉及一种分布式存储方法及其装置。
技术介绍
分布式存储是一种常见的存储方法,其通常把一块数据内容分成不同的小块然后保存到多台存储设备上,跟数据的集中保存方式的明显区别就是分布式,数据是分散在不同的设备上。目前分布式存储都是把一块数据按照固定的大小分成若干份,然后把这些小数据块分散地保存到整个集群设备之上。通常,为了降低设备故障所带来的影响,这些小数据块都采取了尽量分散分布的原则。但是这种分散的数据保存方式有个缺点就是,当需要重组一个完整的数据块的时候,需要从多个存储点获取之后汇总,效率较低。通常存储设备是无法得知需要保存数据的使用方式的,这样会导致某些场景下对连续数据读写效率较低。在某些场景下,外部使用者需要经常获取数据某段连续的数据内容,这样就需要从若干个不同的存储单元获取然后汇总,中间有磁盘调度、网络调度等,开销较大,不能很好满足性能方面的需求。
技术实现思路
本专利技术要解决的技术问题在于,提供一种分布式存储方法及其装置,通过设置一个数据连续性存储控制模块,将需要连续读取的若干个分布式数据块集中缓冲在数据连续性存储控制模块,使得读取这些数据时,只需要从一个设备上读取即可,无需再在各个分布式存储设备上进行数据的读取,减少了跨设备读取带来的性能消耗,并且提高了读取效率。为解决上述技术问题,本专利技术提供如下技术方案:一种分布式存储方法,包括以下步骤:S1、当数据客户端需要读取数据时,数据客户端通过分布式存储系统进行子数据块读取,分布式存储系统将数据所需的子数据块从存储设备进行读取合并,然后发送给数据客户端;S2、当分布式存储系统检测到数据客户端需要连续读取其中若干个子数据块时,数据连续性存储控制模块对这些子数据块进行缓冲保存,分布式存储系统直接在数据连续性存储控制模块上读取合并子数据块,并将其发送给数据客户端。进一步地,所述步骤S1前还包括步骤S0、数据客户端将数据写入分布式存储系统,分布式存储系统将数据分成若干个子数据块,并分别将各个子数据块存储于不同的存储设备。进一步地,所述步骤S2后还包括步骤S3、当分布式存储系统检测到数据客户端结束对数据的读取时,数据连续性存储控制模块释放并删除其内的子数据块。本专利技术另一目的是提供一种分布式存储装置,包括相互连接的数据客户端和分布式存储系统,所述分布式存储系统包括数据连续性存储控制模块以及若干个存储设备。所述数据客户端用于写入数据至所述分布式存储系统,或者从所述分布式存储系统上读取数据。所述分布式存储系统用于接收数据客户端的数据,并将数据分成若干个子数据块后,分别将各个子数据块存储于不同的存储设备;所述分布式存储系统还用于将存储设备上的子数据块进行读取合并后,发送给所述数据客户端,以及所述分布式存储系统用于检测数据客户端是否需要连续读取存储设备中的子数据块。所述数据连续性存储控制模块用于:当数据客户端需要连续读取存储设备中的子数据块时,所述数据连续性存储控制模块对这些子数据块进行缓冲保存,分布式存储系统直接在数据连续性存储控制模块上读取合并子数据块,并将其发送给数据客户端。所述数据连续性存储控制模块还用于:当所述数据客户端停止读取数据时,所述数据连续性存储控制模块释放并删除其内的子数据块。所述存储设备用于存储子数据块。采用上述技术方案后,本专利技术至少具有如下有益效果:本专利技术通过增加一个额外的数据连续性存储控制模块,可以给使用者一个可控制的功能,来指定哪些数据块需要连续保存,哪些可以分散保存,既保留了分布式存储的优点,又能解决特定场景下的需求。附图说明图1为本专利技术一种分布式存储方法步骤流程图;图2为本专利技术一种分布式存储装置框架图。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本申请作进一步详细说明。实施例1本专利技术在现有分布式存储的存储方式之上,增加了一个可控的存储方法,既可以保留分布式存储的优势,又能很好解决连续数据的读写问题,使用者可以根据自身数据内容来控制指定的数据块是分散保存还是连续保存在同一个存储设备单元上。如图1所示,本实施例提供一种分布式存储方法,详细步骤包括。S11、数据客户端将数据写入分布式存储系统,分布式存储系统将数据分成若干个子数据块,并分别将各个子数据块存储于不同的存储设备。S12、当数据客户端需要读取数据时,数据客户端通过分布式存储系统进行子数据块读取,分布式存储系统将数据所需的子数据块从存储设备进行读取合并,然后发送给数据客户端。S13、当分布式存储系统检测到数据客户端需要连续读取其中若干个子数据块时,数据连续性存储控制模块对这些子数据块进行缓冲保存,分布式存储系统直接在数据连续性存储控制模块上读取合并子数据块,并将其发送给数据客户端。S14、当分布式存储系统检测到数据客户端结束对数据的读取时,数据连续性存储控制模块释放并删除其内的子数据块。实施例2本实施例在实施例1的方法基础之上提供了一种分布式存储装置,如图2所示,包括相互连接的数据客户端和分布式存储系统,所述分布式存储系统包括数据连续性存储控制模块以及若干个存储设备;存储设备包括存储设备1、存储设备2、存储设备3等等。所述数据客户端用于写入数据至所述分布式存储系统,或者从所述分布式存储系统上读取数据。所述分布式存储系统用于接收数据客户端的数据,并将数据分成若干个子数据块后,分别将各个子数据块存储于不同的存储设备;所述分布式存储系统还用于将存储设备上的子数据块进行读取合并后,发送给所述数据客户端,以及所述分布式存储系统用于检测数据客户端是否需要连续读取存储设备中的子数据块。所述数据连续性存储控制模块用于:当数据客户端需要连续读取存储设备中的子数据块时,所述数据连续性存储控制模块对这些子数据块进行缓冲保存,分布式存储系统直接在数据连续性存储控制模块上读取合并子数据块,并将其发送给数据客户端。所述数据连续性存储控制模块还用于:当所述数据客户端停止读取数据时,所述数据连续性存储控制模块释放并删除其内的子数据块。所述存储设备用于存储子数据块。尽管已经示出和描述了本专利技术的实施例,对于本领域的普通技术人员而言,可以理解的是,在不脱离本专利技术的原理和精神的情况下可以对这些实施例进行多种等效的变化、修改、替换和变型,本专利技术的范围由所附权利要求及其等同范围限定。本文档来自技高网...

【技术保护点】
1.一种分布式存储方法,其特征在于,包括以下步骤:/nS1、当数据客户端需要读取数据时,数据客户端通过分布式存储系统进行子数据块读取,分布式存储系统将数据所需的子数据块从存储设备进行读取合并,然后发送给数据客户端;/nS2、当分布式存储系统检测到数据客户端需要连续读取其中若干个子数据块时,数据连续性存储控制模块对这些子数据块进行缓冲保存,分布式存储系统直接在数据连续性存储控制模块上读取合并子数据块,并将其发送给数据客户端。/n

【技术特征摘要】
1.一种分布式存储方法,其特征在于,包括以下步骤:
S1、当数据客户端需要读取数据时,数据客户端通过分布式存储系统进行子数据块读取,分布式存储系统将数据所需的子数据块从存储设备进行读取合并,然后发送给数据客户端;
S2、当分布式存储系统检测到数据客户端需要连续读取其中若干个子数据块时,数据连续性存储控制模块对这些子数据块进行缓冲保存,分布式存储系统直接在数据连续性存储控制模块上读取合并子数据块,并将其发送给数据客户端。


2.根据权利要求1所述的一种分布式存储方法,其特征在于,所述步骤S1前还包括步骤S0、数据客户端将数据写入分布式存储系统,分布式存储系统将数据分成若干个子数据块,并分别将各个子数据块存储于不同的存储设备。


3.根据权利要求1所述的一种分布式存储方法,其特征在于,所述步骤S2后还包括步骤S3、当分布式存储系统检测到数据客户端结束对数据的读取时,数据连续性存储控制模块释放并删除其内的子数据块。


4.一...

【专利技术属性】
技术研发人员:麦剑史伟闵宇
申请(专利权)人:广东睿江云计算股份有限公司
类型:发明
国别省市:广东;44

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

1