CN113377787A - 存储管理方法、系统、存储管理装置及存储介质 - Google Patents

存储管理方法、系统、存储管理装置及存储介质 Download PDF

Info

Publication number
CN113377787A
CN113377787A CN202010160523.8A CN202010160523A CN113377787A CN 113377787 A CN113377787 A CN 113377787A CN 202010160523 A CN202010160523 A CN 202010160523A CN 113377787 A CN113377787 A CN 113377787A
Authority
CN
China
Prior art keywords
storage
reliability
storage space
storage object
data
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.)
Granted
Application number
CN202010160523.8A
Other languages
English (en)
Other versions
CN113377787B (zh
Inventor
余斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010160523.8A priority Critical patent/CN113377787B/zh
Publication of CN113377787A publication Critical patent/CN113377787A/zh
Application granted granted Critical
Publication of CN113377787B publication Critical patent/CN113377787B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

存储管理方法、系统、存储管理装置及存储介质,其中,所述存储管理方法包括:接收存储对象操作请求;根据所述存储对象操作请求,获取所述存储对象对应的存储空间;查询所述存储空间的可靠性策略;根据所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理。采用上述方案,可以满足用户对数据可靠性的差异化需求。

Description

存储管理方法、系统、存储管理装置及存储介质
技术领域
本说明书实施例涉及存储技术领域,尤其涉及存储管理方法、系统、存储管理装置及存储介质。
背景技术
云计算厂商提供的云存储服务,数据可靠性是非常重要的性能指标。数据可靠性,也叫数据持久性(Durability),用数据丢失的概率来衡量。一般是通过各种数据冗余技术来保证数据可靠性,这些冗余技术或多或少都会影响读写性能,同时也必然会占用更多存储空间。
发明人经研究发现,有些用户,或者用户对于某些存储数据并不需要这么高的数据可靠性,然而,现有分布式存储系统的存储管理方案中,数据可靠性相关的策略是全局的,难以满足用户对数据可靠性的差异化需求。
发明内容
有鉴于此,本说明书实施例提供一种存储管理方法、系统、存储管理装置及存储介质,可以满足用户对数据可靠性的差异化需求。
本说明书实施例提供了一种存储管理方法,所述方法包括:
接收存储对象操作请求;
根据所述存储对象操作请求,获取所述存储对象对应的存储空间;
查询所述存储空间的可靠性策略;
根据所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理。
可选地,在查询所述存储空间的可靠性策略之前,还包括:
预先配置所述存储空间的可靠性策略,包括:
响应于用户的存储空间创建请求,创建相应的存储空间;
为所创建的存储空间配置相应的可靠性策略。
可选地,在创建相应的存储空间时,还包括:
为所创建的存储空间的存储对象配置第一映射关系信息,所述第一映射关系信息为存储对象的键数据与数据分片的映射关系;
配置第二映射关系信息,所述第二映射关系信息为数据分片与服务器的映射关系。
可选地,所述为所创建的存储空间配置相应的可靠性策略,包括:
生成与所述可靠性策略具有唯一对应性的可靠性策略标识;
创建可靠性策略管理信息,所述可靠性策略管理信息包括所述可靠性策略标识,以及所述可靠性策略标识与所述第一映射关系信息的对应关系。
可选地,在所述为所创建的存储空间配置相应的可靠性策略之后,还包括:
将所述可靠性策略管理信息和所述第二映射关系信息存储于所创建的存储空间的元信息中。
可选地,所述查询所述存储空间的可靠性策略,包括:
查询所述存储空间的元信息,获取所述可靠性策略管理信息;
查询所述可靠性策略管理信息,获取所述存储空间的可靠性策略标识。
可选地,所述根据所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理,包括:
基于所述存储对象操作请求,获取所述存储对象的键数据;
根据查询可靠性策略管理信息获取的所述存储空间的可靠性策略标识,查询所述可靠性策略管理信息中对应的第一映射关系信息;
根据所述第一映射关系信息,查询所述存储对象对应的数据分片;
根据所述第二映射关系信息,获取查询得到的数据分片所对应的服务器;
响应于所述存储对象操作请求,在查询得到的数据分片所对应的服务器上,采用所创建的存储空间所配置的可靠性策略,对所述存储对象进行相应处理。
可选地,所述存储对象操作请求包括存储对象写请求;所述响应于所述存储对象操作请求,在查询得到的数据分片所对应的服务器上,采用所创建的存储空间所配置的可靠性策略,对所述存储对象进行相应处理,包括:
将所述存储对象的相应数据分片传输至查询得到的数据分片对应的服务器中,采用所创建的存储空间所配置的可靠性策略,将所述存储对象的相应数据分片进行存储处理。
可选地,所述操作请求包括存储对象读请求;所述响应于所述存储对象操作请求,在查询得到的数据分片所对应的服务器上,采用所创建的存储空间所配置的可靠性策略,对所述存储对象进行相应处理,包括:
从查询得到的数据分片对应的服务器中,采用所创建的存储空间所配置的可靠性策略,读取所述存储对象的相应数据分片。
可选地,所述生成与所述可靠性策略对应的可靠性策略标识,包括:计算所述可靠性策略内容的哈希值,作为所述可靠性策略对应的可靠性策略标识。
本说明书实施例还提供了一种存储管理系统,所述存储管理系统包括:
接收单元,适于接收存储对象操作请求;
获取单元,适于根据所述存储对象操作请求,获取所述存储对象对应的存储空间;
查询单元,适于查询所述存储空间的可靠性策略;
存储对象处理单元,适于根据查询得到的所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理。
本说明书还提供了一种存储管理装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行前述任一实施例所述方法的步骤。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行前述任一实施例方法的步骤。
本说明书实施例还提供了一种分布式存储系统的存储管理装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行前述任一实施例所述方法的步骤。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行前述任一实施例所述方法的步骤。
采用本说明书实施例的存储管理方案,根据存储对象操作请求,获取对应的存储空间,并查询所述存储空间的可靠性策略,根据所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理,由于基于存储对象对可靠性的不同需求,对于任一存储空间,具有其独立的可靠性策略,因此可以满足用户对数据可靠性的差异化需求。
进一步地,响应于用户的存储空间创建请求,创建相应的存储空间,并为所创建的存储空间配置相应的可靠性策略,使得用户在创建存储空间时即可基于自身对数据可靠性的需求,配置所述存储空间的可靠性策略,从而可以灵活地满足用户对数据可靠性的差异化需求。
进一步地,通过生成与所述可靠性策略具有唯一对应性的可靠性策略标识,创建可靠性策略管理信息,由于所述可靠性策略管理信息包括所述可靠性策略标识,以及所述可靠性策略标识与所述第一映射关系信息的对应关系,且所述第一映射关系为存储对象的键数据与数据分片的映射关系,因此,经上述配置后,通过查询所述存储空间的可靠性策略可知,落在每个数据分片都为使用相同可靠性策略的存储空间,故对于某一存储对象,经数据分片路由后,根据所述可靠性策略管理信息,各数据分片均可以采用相同的可靠性策略进行存储,从而可以实现存储空间中的存储对象在各数据分片上的可靠性策略的一致性。
进一步地,基于存储对象操作请求,获取所述存储对象的键数据,并根据查询可靠性策略管理信息获取的所述存储空间的可靠性策略标识,查询所述可靠性策略管理信息中对应的第一映射关系信息,并根据所述第一映射关系信息,查询所述存储对象对应的数据分片,根据所述第二映射关系信息,获取查询得到的数据分片所对应的服务器,响应于所述存储对象操作请求,采用所创建的存储空间所配置的可靠性策略,对所述存储对象进行相应处理,通过上述存储管理方式,使得用户可以根据存储对象对可靠性策略的不同需求,实现在数据分片路由过程中,基于存储空间的可靠性策略对相应数据分片进行处理,从而可以节约传输资源和数据处理资源。
进一步地,采用可靠性策略内容的哈希值作为所述可靠性策略对应的可靠性策略标识,使得采用同一可靠性策略的不同用户的可靠性策略标识相同,从而无须为采用相同可靠性策略的用户均保存一份可靠性策略记录,因而可以节约存储空间。
附图说明
图1示出了本说明书实施例中一种存储管理方法的流程图;
图2示出了本说明书实施例中一种分布式存储系统的结构示意图;
图3示出了本说明书实施例中一种分布式存储系统中数据映射关系示意图;
图4示出了本说明书实施例中一种存储管理方法的具体实现示意图;
图5示出了本说明书实施例中一种存储管理系统的结构示意图。
具体实施方式
分布式存储系统,顾名思义,是将大量的服务器,通过网络互连,对外作为一个整体提供存储服务。分布式存储系统,通常具有可扩展性、可用性、可靠性、高性能、易维护、低成本等特性。
目前的分布式存储系统的数据存储例如云对象存储,数据存储策略通常是全局统一的。如背景技术所述,目前的分布式存储系统的可靠性相关的策略是全局的,用户不可配置。而发明人经研究发现,对于不同用户的数据,或者对于同一用户的不同数据,可能具有不同的数据存储需求,例如,对于某些数据,可能具有较高的数据可靠性需求,而对另一些数据,则对数据读取性能有更高需求,而对数据可靠性需求要求不高。然而,采用目前的分布式存储系统存储管理方案,难以根据用户或用户数据的个性化需求对数据可靠性进行灵活配置。
针对上述问题,本说明书实施例提供了相应的分布式存储系统的存储管理方案,可以满足用户对数据可靠性的差异化需求。
具体而言,对于存储对象操作请求,通过获取所述存储对象对应的存储空间,进而查询所述存储空间的可靠性策略,根据所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理。
为使本领域技术人员更加清楚地了解及实施本说明书实施例,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本说明书的一部分实施例,而不是全部实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本说明书保护的范围。
对于分布式存储系统,为了满足用户对可靠性的差异化需求,可以采用本说明书实施例中的存储管理方法,参照图1所示存储管理方法的流程图,以下通过具体步骤进行详细说明:
S11,接收存储对象操作请求。
S12,根据所述存储对象操作请求,获取所述存储对象对应的存储空间。
在具体实施中,在有存储对象操作请求(例如存储对象写请求或存储对象读请求)时,可以从所述存储对象操作请求中获取所述存储对象对应的存储空间的标识,以及所述存储对象的键数据(key)。
在本说明书一些实施例中,存储空间可以为存储桶(Bucket),存储桶是用户用于存储存储对象(Object)的容器,存储对象需要隶属于某个存储桶,一个用户可以拥有一个或多个存储桶。存储空间可以具有各种配置属性,包括地域、访问权限、存储类型等。用户可以根据实际需求,创建不同类型的存储空间来存储不同的数据。
存储对象是存储数据的基本单元,存储对象可以由对象元信息(Object Meta)、用户数据(Data)和键数据(key)组成。存储对象可以由存储空间内部唯一的Key来标识。对象元信息可以通过一组键值对(来表示对象的一些属性,比如最后修改时间、大小等信息,同时用户也可以在存储对象的元信息中存储一些自定义的信息。一个存储空间可以存储一个或多个存储对象。
S13,查询所述存储空间的可靠性策略。
在具体实施中,存储空间的可靠性策略可以预先配置。例如,可以在创建存储空间时配置所述存储空间的可靠性策略,具体可以通过如下方式预先配置:
响应于用户的存储空间创建请求,创建相应的存储空间,并为所创建的存储空间配置相应的可靠性策略。之后,可以将为所述存储空间配置的可靠性策略存储于所述存储空间的元信息。因此,在步骤S12中获取到所述存储对象对应的存储空间的标识后,通过查询对应的存储空间的元信息,即可获取到所述存储空间的可靠性策略。
其中,可以生成与可靠性策略具有唯一对应性的可靠性策略标识,并存储于所述存储空间的元信息中。在本说明书一些实施例中,可以计算所述可靠性策略内容的哈希值,作为所述可靠性策略对应的可靠性策略标识。例如,可以取可靠性策略内容的MD5值作为可靠性策略标识。采用可靠性策略内容的哈希值作为所述可靠性策略标识,使得采用同一可靠性策略的不同用户的可靠性策略标识相同,从而无须为采用相同可靠性策略的用户均保存一份可靠性策略记录,从而可以节约存储空间。
S14,根据所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理。
在具体实施中,若所述存储对象操作请求为存储对象写请求,则可以采用所述存储空间的可靠性策略,将所述存储对象存储至对应的存储空间。若所述存储对象操作请求为存储对象读请求,则可以采用所述存储空间的可靠性策略,从所述存储空间读取所述存储对象。例如,若存储对象读请求中包括存储对象的键数据(key)为所述存储对象的文件名,由于存储对象的文件名在同一存储空间具有唯一性,因此可以从对应的存储空间中获取到所述文件名对应的文件内容,也即所述存储对象。
采用上述存储管理方案,根据存储对象操作请求,获取对应的存储空间,并查询所述存储空间的可靠性策略,并根据所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理。由于对于任一存储空间,具有其独立的可靠性策略,因而可以满足用户对数据可靠性的差异化需求。
而通过在用户创建存储空间时,预先配置所述存储空间的可靠性策略,可以可靠性策略的存储空间粒度的差异化配置,从而可以灵活地满足用户的个性化需求。
大数据背景下,单机已明显无法满足海量数据的存储与处理需求,只能通过大规模集群来对海量数据进行存储和处理,系统可扩展性成为衡量系统优劣的重要指标。目前主流的大数据存储与计算系统往往采用横向扩展(Scale Out)的方式支持系统的可扩展性,即通过增加服务器数目来获得水平扩展能力。与此对应,对于待处理的海量数据,需要通过数据分片(Shard/Partition)将数据进行切分并分配到各个服务器中,数据分片后,找到某个存储对象的存储位置的过程,一般被称为数据路由。
为使本领域技术人员更好地理解和实现本说明书实施例,以下给出一种数据分片路由场景下的存储管理方法的具体示例。首先介绍本说明书一些实施例中采用的分布式存储系统的实现原理。
参照图2所示的分布式存储系统的结构示意图,分布式存储系统20包括分布设置的多台服务器1~N,每台服务器中可以包括一个或多个数据分片,每个数据分片即为一个存储区域。例如,服务器1中可以包括数据分片11~1M,服务器2可以包括数据分片21~23……服务器N可以包括数据分片N1~N3。可以理解的是,图2所示分布式存储系统20仅为便于理解示例绘出,并不用于限定本说明书实施例适用的分布式存储系统的架构及服务器和数据分片的数量。
在具体实施中,一个存储对象可以被划分为一个或多个数据分片进行存储,每台服务器可以包含一个或多个数据分片,也即一个存储对象可以存储于一个或多个数据分片。为将存储对象路由至相应的数据分片,可以预先建立存储对象与数据分片的映射关系,并通过所述映射关系进行数据分片与数据路由。
作为一具体示例,可以配置两级映射关系。具体而言,为所创建的存储空间的存储对象配置第一映射关系信息,所述第一映射关系信息为存储对象的键数据与数据分片的映射关系(Key-Partition);配置第二映射关系,所述第二映射关系为数据分片与服务器的映射关系(Partition-Server)。可以存储所述第一映射关系信息和第二映射关系,按照所述第一映射关系信息和第二映射关系,可以将所述存储对象中的相应数据记录映射到服务器中对应的数据分片进行存储。
在对数据进行分片存储时,可以根据第一映射关系信息,将大数据量的存储对象水平切割成多个数据分片,然后再按照第二映射关系信息,将各数据分片放置到对应的服务器上进行存储。而在数据读取时,比如根据预先建立的第一映射关系信息,查找某个存储对象的键数据(key),可以找到对应的数据分片,然后再查找预先配置的第二映射关系信息,可以确定哪台服务器存储所述存储对象,之后即可从相应的服务器的数据分片读取得到所述存储对象。
在具体实施中,一个存储空间可以存储一个或多个存储对象,一个存储对象可以切分为一个或多个数据分片进行存储,各数据分片按照预设的数据分片与服务器的映射关系,可以存储于一台或多台服务器中。
参照图3所示的一种分布式存储系统中数据映射关系示意图,分布式存储系统中包括服务器集群SV,服务器集群SV包括服务器S1~SP,存储空间集群BK中的各存储空间Bk1~BkN可以分布于各服务器S1~SP中,用户可以各自创建对应的存储空间,其中,对于任一存储空间Bki,可以存储一个或多个存储对象,例如可以存储存储对象集合OB,其中包括存储对象Ob1~ObM,其中,对于任一存储对象Obj,可以划分为多个数据分片,形成数据分片集合PT,对于任一数据分片Pk,可以预先建立数据分片与服务器的映射关系,并按照所述映射关系,将数据分片存储至相应的服务器Sq中。由上可知,用户所创建的一个存储空间可能对应一台或多台服务器,一个存储对象被划分为多个数据分片,也可能存在于多台服务器中,根据可靠性策略,多台服务器也可能存储同一数据分片。
其中,在将存储对象Ob1~ObM中任一个或多个存储对象存储至服务器集群SV中相应的存储空间Bk1~BkN时,可以采用前述分片路由的方式,根据存储对象集合OB与数据分片集合PT的映射关系,查询到所请求的存储对象对应的数据分片,进而可以根据数据分片集合PT和服务器集群SV之间的映射关系,查找到对应的服务器,并将所述存储对象存储至对应的服务器中。类似地,用户也可以通过分片路由的方式,将存储对象从所存储的服务器中读出。
更具体地,存储对象与数据分片之间的映射关系,以及数据分片与服务器之间的映射关系可以是范围分片方式,例如可以采用映射关系表存储数据分片与服务器的映射关系;也可以采用哈希方式,例如可以采用一致性哈希圆的方式,将具有相同哈希值的数据分片映射到同一服务器中。
参照图4所示的存储管理方法的具体实现示意图,以下通过具体步骤进行详细说明。
S41,配置存储空间的可靠性策略。
在具体实施中,可以在创建存储空间时配置所述存储空间的可靠性策略。具体而言,可以响应于用户的存储空间创建请求,创建相应的存储空间,并为所创建的存储空间配置相应的可靠性策略。其中,所述存储空间可以为存储桶(Bucket)。
在具体实施中,可以建立可靠性策略与可靠性策略标识的一一对应关系,并将创建的存储空间的可靠性策略标识作为存储空间的一种元信息进行存储,得到存储空间的属性信息列表41,包括存储空间标识及对应的存储空间的可靠性策略标识,如图4所示,存储空间BK1、存储空间BK2对应的可靠性策略标识为PID1,存储空间BK3对应的可靠性策略标识为PID2……存储空间BKX对应的可靠性策略标识为PIDY。
作为一实现示例,可以在用户交互界面展示多种可选的可靠性策略的说明内容及对应的可靠性策略标识,这样用户在创建存储空间时,可以直接选取或输入所需要的可靠性策略对应的可靠性策略标识,存储管理系统可以直接根据所述可靠性策略标识,采用对应的可靠性策略对所创建的存储空间进行配置。
以下给出一种存储管理系统为所述至少一个存储空间配置相应的可靠性策略的实现示例:可以创建可靠性策略管理信息,其中所述可靠性策略管理信息可以包括可靠性策略标识,以及对应的存储对象的键数据与数据分片的映射关系;并且,在所述数据分片初始化时,可以读取所述可靠性策略标识对应的可靠性策略,并配置所述存储空间应用所述可靠性策略。
在本说明书一些实施例中,为节省资源及提高数据存储的可靠性,存储对象可能被划分为多个数据分片,进行分片传输及分片存储。为此,还可以采用如下方式进行配置:
在创建相应的存储空间时,为所创建的存储空间的存储对象配置第一映射关系信息,所述第一映射关系信息为存储对象的键数据与数据分片的映射关系;配置第二映射关系,所述第二映射关系为数据分片与服务器的映射关系。
针对上述分片存储方案,可以采用如下方式为所创建的存储空间配置相应的可靠性策略:
首先,生成与所述可靠性策略具有唯一对应性的可靠性策略标识,之后,创建可靠性管理信息,所述可靠性策略管理信息包括所述可靠性策略标识,以及所述可靠性策略标识与所述第一映射关系信息的对应关系。
继续参照图4,可靠性策略管理信息表42为本说明书一实施例所创建的可靠性策略管理信息,其中包括可靠性策略表421以及与可靠性策略表421具有对应关系的第一映射关系信息表422,第一映射关系信息表422适于表征第一映射关系信息,包括多个映射关系信息子表422-1、422-2……所述映射关系信息子表422-1、422-2……中分别包含各存储对象的键数据与数据分片的映射关系。在具体实施中,存储对象可以按照存储数值范围、存储时间等进行分片,或者可以进行哈希分片等。例如,可以将存储对象按照5MB为分片单位进行数据分片,或者按照存储对象序号所处的数据范围进行数据分片。
其中,每一种可靠性策略可以对应一个或多个键数据与数据分片的映射关系子表,但不同的可靠性策略不能对应同一个键数据与数据分片的映射关系子表。如图4所示,可靠性策略表421中包含各可靠性策略标识PID1~PIDY以及对应的具体的可靠性策略内容c1~cy,其中,可靠性策略标识PID1对应可靠性策略内容c1,可靠性策略标识PID2对应可靠性策略内容c2,可靠性策略标识PID1与映射关系子表422-1具有一一对应关系,可靠性策略标识PID2与映射关系子表422-2具有一一对应关系,因此,映射关系子表422-1中对应的数据分片P11~P1N均采用可靠性策略PID1对应的可靠性策略进行存储,映射关系子表422-2中对应的数据分片P21~P2 W均采用可靠性策略PID2对应的可靠性策略进行存储。
可以理解的是,可靠性策略表421中也可以仅包含可靠性策略标识,对应的可靠性策略内容可以存储于其他位置。
需要说明的是,若用户在创建存储空间时,存储管理系统发现用户为所创建的存储空间所配置的可靠性策略在所述分布式存储系统中还未曾使用过,则可以重新创建一个与所述可靠性策略对应的键数据与数据分片的映射关系子表,并建立所述可靠性策略对应的可靠性策略标识与所述新创建的键数据与数据分片的映射关系子表的对应关系信息,例如可以通过指针关联。
作为一具体示例,某一存储管理系统,提供如下多种可选的可靠性策略:
1)多副本。
通过一个数据存多份来提高数据可靠性的数据冗余技术;可以理解的是是,存储管理系统可以灵活设置副本数量,例如两副本,五副本,等等,是否具有副本以及具有的副本数量均可灵活设置,从而可以满足用户对数据副本数量的差异化需求。副本数量越多,可靠性越强,且通过将副本分布式存储于不同的服务器上,可以提高存储对象读取效率。
2)纠删码(Erasure Code,EC)。
EC是一种编码技术,可以将n份原始数据,增加m份数据,并能通过n+m份数据中的任意n份数据,还原得到原始数据,EC能通过较小的冗余达到更高的数据可靠性。
3)同步写入还是异步写入。
其中,同步写入,是指将某个数据分片同时写入主节点和备份节点;所谓异步写入,是指先将数据分片写入主节点,然后再写入备份节点。
在具体实施中,主节点和备份节点可以位于同一服务器中,也可以位于不同的服务器中。
4)写入等待落盘数量。
如果是多副本,如是三副本,指的是写入操作需要等待多少个副本写入成功才向用户反馈写入成功,具体可以通过客户端或者浏览器等向用户反馈。
5)是否写日志(Log)。
是指对于存储对象的操作,是否记录日志,通过写日志,可以获取对存储对象的历史操作,在存储对象发生故障时,也便于发现故障原因,以及进行数据恢复,因此具有更高的可靠性。
可以理解的是,在具体实施中,根据需要,还可以配置其他一种或多种类型的可靠性策略,此处不再一一例举。
在具体实施中,对于任意一种可靠性策略,或者多种可靠性策略的组合,可以设置相应的可靠性策略标识。并配置对应的存储空间采用所述可靠性策略或可靠性策略组合,且建立所述可靠性策略或可靠性策略组合与对应的存储对象的键数据和数据分片三者之间的映射关系。
继续参照图4,在本说明书一实施例中,可靠性策略标识PID1对应的可靠性策略c1为三副本,可靠性策略标识PID2对应的可靠性策略c2为预设的纠删码,例如可以为RS纠删码。如前所述,在各存储空间创建时,可以配置第二映射关系信息,所述第二映射关系信息为数据分片与服务器的映射关系。如图4所示,第二映射关系信息表中包含各数据分片与对应的服务器的映射关系。根据各数据分片所属的存储空间的可靠性策略可知,数据分片P11~P1N均需要三副本存储,例如数据分片P11~P13均存储在服务器S1、服务器S2和服务器S3中,数据分片P1N存储在服务器S2、服务器S3和服务器Sq中。而数据分片P21~P2W均采用预设的纠删码,这里示例数据分片P21~P2W以及对应的校验分片D1、校验分片D2与服务器的对应关系如图4所示,数据分片P21分布于服务器S4中,数据分片P22分布于服务器S5中,数据分片P2j分布于服务器S6中,数据分片P2W分布于服务器SR中,校验分片D1分布于服务器S7中,校验分片D2分布于服务器S8中。
因此,可以根据所述第二映射关系信息表43,获取与所述存储空间的可靠性管理信息对应的服务器,采用所述存储空间的可靠性策略配置对应的服务器。具体可以在相应的数据分片初始化时配置对应的服务器应用所述存储空间的可靠性策略。
除了前述通过可靠性策略对应一个或多个键数据与数据分片的映射关系子表,作为可靠性管理信息,来体现可靠性策略、存储对象的键数据和数据分片三者之间的映射关系外,在具体实施中,还可以采用其他的方式。
作为一具体示例,可以将可靠性策略标识作为存储对象的键数据的前缀或后缀比特位,或者作为其他预设的比特位。例如,某一存储管理系统共提供了16种可靠性策略或可靠性策略组合,可以设置在存储对象的键数据之前扩展高四比特位用于存储对应存储空间的可靠性策略标识,例如高四比特位为0000表示一种可靠性策略,高四比特位为0001为另一种可靠性策略,如此类推,共可以设置16种可靠性策略或可靠性策略组合。并且,可以根据存储对象的键数据与数据分片具体的映射方式可以设置映射关系表或哈希函数或哈希圆环可以确定对应的数据分片,并在所述数据分片初始化时,可以采用对应的键数据之前的高四比特位所表征的可靠性策略来配置对应的存储空间,也即所述数据分片所对应的服务器。其中,所有的可靠性策略标识数据位的数据依序连续分布,可以使得所有数据分片的对象连续存储,节约存储空间。
在具体实施中,可以将所述可靠性策略管理信息和所述第二映射关系信息存储于所创建的存储空间的元信息中。
在存储空间创建完成后,用户可以向所创建的存储空间写入数据,或者从存储空间中读取已存储数据。以下通过具体步骤并参照图4说明在有数据存取操作请求时,如何进行相应的存储管理。
S42,接收到存储对象操作请求,根据所述存储对象操作请求,可以获取所述存储对象对应的存储空间标识。
参照图4,在存储对象操作请求中获取到存储空间标识为BK3,例如,存储对象操作请求中获取到存储空间标识字段数据为BK3,即Bucket=BK3。
S43,查询所述存储空间的可靠性策略。
具体而言,参照图4,可以查询存储空间的属性信息表,获取到存储空间BK3的可靠性策略标识PID2。此外,查询可靠性策略管理信息表42,可以获取所述可靠性策略对应的可靠性策略c2。
S44,根据所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理。
具体而言,可以基于所述存储对象操作请求,获取所述存储对象的键数据,例如获取到键数据为Key2i,即如图4所示,Object Key=Key2i;根据获取得到的可靠性策略标识PID2,查询所述可靠性策略管理信息表42中对应的第一映射关系信息表422,可以获取到对应的数据分片P2j,根据第二映射关系信息表43,可以获取查询得到的数据分片所对应的服务器,由图4可知,数据分片P2j映射到服务器S6,且对应的校验数据分别存储于服务器S7和服务器S8中。
基于上述信息,可以响应于所述存储对象操作请求,采用所创建的存储空间所配置的可靠性策略,对所述存储对象进行相应处理。
具体地,若所述存储对象操作请求为存储对象写请求,则可以将所述存储对象的相应数据分片数据传输至查询得到的数据分片对应的服务器中,采用所述对应的服务器所配置的可靠性策略,将所述存储对象进行存储处理,例如采用PID2对应的纠删码进行纠删校验,将校验处理后的数据分片P2j对应的数据存储于服务器S6中,相应的校验分片D1存储于服务器S7中,校验分片D2存储于服务器S8中。
若所述存储对象操作请求为存储对象读请求,则可以从查询得到的数据分片P2j对应的服务器中,采用所述对应的服务器S6、S7、S8所配置的可靠性策略,通过纠删校验,对数据进行还原处理,获取到服务器S6中存储的数据分片P2j。
由上述分布式存储系统的管理方案可知,通过生成与所述可靠性策略具有唯一对应性的可靠性策略标识,创建可靠性策略管理信息,以及根据配置的第二映射关系信息,获取与所述存储空间的可靠性管理信息对应的服务器,采用所述存储空间的可靠性策略配置所述服务器,经上述配置后,各数据分片均可以根据关联的可靠性策略标识,对相应的服务器配置对应的可靠性策略,从而可以实现各存储空间可靠性策略的差异化设置。
根据获取得到的可靠性策略标识,查询所述可靠性策略管理信息中对应的第一映射关系信息,并基于存储对象操作请求,获取所述存储对象的键数据,根据所述第一映射关系信息,查询所述存储对象对应的数据分片,根据所述第二映射关系信息,获取查询得到的数据分片所对应的服务器,响应于所述存储对象操作请求,采用所创建的存储空间所配置的可靠性策略,对所述存储对象进行相应处理,通过上述存储管理方式,使得用户可以根据存储对象对可靠性策略的不同需求,实现在数据分片路由过程中,基于存储空间的可靠性策略对相应数据分片进行处理,从而可以节约传输资源和数据处理资源。
由上述各实施例可知,对于任一存储空间,均可以基于数据对可靠性的不同需求,灵活配置对应的可靠性策略,因而可以实现存储空间粒度的数据可靠性策略的灵活配置,满足用户对数据可靠性的差异化需求。
在具体实施中,存储空间的容量大小、存储空间的可靠性策略均可以灵活设置。例如用户可以根据存储对象类型的差异,创建并配置存储空间的容量大小及可靠性策略,从而使得存储资源得到充分利用,同时也可以满足用户对存储对象的存储可靠性及存取性能的要求。
本说明书实施例还提供了与本说明书实施例上述存储管理方法对应的存储管理系统,以下参照附图,通过具体实施例进行详细介绍。
参照图5所示的存储管理系统的结构示意图,存储管理系统50可以包括:接收单元51、获取单元52、查询单元53和存储对象处理单元54,其中:
接收单元51,适于接收存储对象操作请求;
获取单元52,适于根据所述存储对象操作请求,获取所述存储对象对应的存储空间;
查询单元53,适于查询所述存储空间的可靠性策略;
存储对象处理单元54,适于根据查询得到的所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理。
采用上述存储管理系统,根据存储对象操作请求,从所述存储对象操作请求中获取对应的存储空间,并查询所述存储空间的可靠性策略,根据所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理,基于存储对象对可靠性的不同需求,对于任一存储空间,具有其独立的可靠性策略,因此可以满足用户对数据可靠性的差异化需求。
在具体实施中,参照图5,存储管理系统50还可以包括配置单元55,适于在查询所述存储空间的可靠性策略之前,预先配置所述存储空间的可靠性策略。具体地,所述配置单元55适于响应于用户的存储空间创建请求,创建相应的存储空间,并为所创建的存储空间配置相应的可靠性策略。
在具体实施中,所述配置单元55,还适于为所创建的存储空间的存储对象配置第一映射关系信息,所述第一映射关系信息为存储对象的键数据与数据分片的映射关系;配置第二映射关系信息,所述第二映射关系信息为数据分片与服务器的映射关系。
在本说明书一实施例中,配置单元55适于采用如下方式为所创建的存储空间配置相应的可靠性策略:生成与所述可靠性策略具有唯一对应性的可靠性策略标识,创建可靠性策略管理信息,所述可靠性策略管理信息包括所述可靠性策略标识,以及所述可靠性策略标识与所述第一映射关系信息的对应关系。
在具体实施中,如图5所示,存储管理系统50可以包括存储单元56,适于将所述可靠性策略管理信息和所述第二映射关系信息存储于所创建的存储空间的元信息中。需要说明的是,若所述存储管理系统50未包含所述存储单元56,则可以从其他预设的存储装置中获取所述配置单元55配置得到的所述存储空间的可靠性策略。
在具体实施中,继续参照图5,存储对象处理单元54,可以基于所述存储对象操作请求,获取所述存储对象的键数据,根据获取得到的可靠性策略标识,查询所述可靠性策略管理信息中对应的第一映射关系信息,并根据所述第一映射关系信息,查询所述存储对象对应的数据分片,根据所述第二映射关系信息,获取查询得到的数据分片所对应的服务器,进而响应于所述存储对象操作请求,在查询得到的数据分片所对应的服务器上,采用所创建的存储空间所配置的可靠性策略,对所述存储对象进行相应处理。
在具体实施中,所述存储对象处理单元54可以包括存储对象写模块541和存储对象读模块542,其中,所述存储对象写模块541,适于将所述存储对象的相应数据分片传输至查询得到的数据分片对应的服务器中,采用所创建的存储空间所配置的可靠性策略,将所述存储对象的相应数据分片进行存储处理;所述存储对象读模块542,适于从查询得到的数据分片对应的服务器中,采用所创建的存储空间所配置的可靠性策略,读取所述存储对象的相应数据分片。
本说明书实施例还提供了一种管理装置,可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行前述任一实施例所述管理方法的步骤。具体步骤可以参照前述实施例,此处不再赘述。
在具体实施中,所述分布式存储系统的管理装置可以为路由器、网关设备、存取服务器等,也可以为其他的可以寻址转发数据的装置。在本说明书实施例中对其实现的硬件、软件等均不作任何限定。
本说明书实施例还分别提供了对应的计算机可读存储介质,其上存储有计算机指令,在具体实施中,所述计算机指令运行时可以执行上述任一实施例所述的方法的步骤,具体可以参见相应附图及前述实施例的方法,此处不再赘述。
所述计算机可读存储介质可以包括例如任何合适类型的存储器单元、存储器设备、存储器物品、存储器介质、存储设备、存储物品、存储介质和/或存储单元,例如,存储器、可移除的或不可移除的介质、可擦除或不可擦除介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、光盘只读存储器(CD-ROM)、可刻录光盘(CD-R)、可重写光盘(CD-RW)、光盘、磁介质、磁光介质、可移动存储卡或磁盘、各种类型的数字通用光盘(DVD)、磁带、盒式磁带等。
本说明书实施例中的具体的单元或模块,在具体实施中,可以通过软件实现,也可以通过硬件实现,或者通过软硬件结合的方式实现。
虽然本说明书实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本说明书实施例的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (13)

1.一种存储管理方法,其特征在于,包括:
接收存储对象操作请求;
根据所述存储对象操作请求,获取所述存储对象对应的存储空间;
查询所述存储空间的可靠性策略;
根据所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理。
2.根据权利要求1所述的存储管理方法,其特征在于,在查询所述存储空间的可靠性策略之前,还包括:
预先配置所述存储空间的可靠性策略,包括:
响应于用户的存储空间创建请求,创建相应的存储空间;
为所创建的存储空间配置相应的可靠性策略。
3.根据权利要求2所述的存储管理方法,其特征在于,在创建相应的存储空间时,还包括:
为所创建的存储空间的存储对象配置第一映射关系信息,所述第一映射关系信息为存储对象的键数据与数据分片的映射关系;
配置第二映射关系信息,所述第二映射关系信息为数据分片与服务器的映射关系。
4.根据权利要求3所述的存储管理方法,其特征在于,所述为所创建的存储空间配置相应的可靠性策略,包括:
生成与所述可靠性策略具有唯一对应性的可靠性策略标识;
创建可靠性策略管理信息,所述可靠性策略管理信息包括所述可靠性策略标识,以及所述可靠性策略标识与所述第一映射关系信息的对应关系。
5.根据权利要求4所述的存储管理方法,其特征在于,在所述为所创建的存储空间配置相应的可靠性策略之后,还包括:
将所述可靠性策略管理信息和所述第二映射关系信息存储于所创建的存储空间的元信息中。
6.根据权利要求5所述的存储管理方法,其特征在于,所述查询所述存储空间的可靠性策略,包括:
查询所述存储空间的元信息,获取所述可靠性策略管理信息;
查询所述可靠性策略管理信息,获取所述存储空间的可靠性策略标识。
7.根据权利要求6所述的存储管理方法,其特征在于,所述根据所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理,包括:
基于所述存储对象操作请求,获取所述存储对象的键数据;
根据查询可靠性策略管理信息获取的所述存储空间的可靠性策略标识,查询所述可靠性策略管理信息中对应的第一映射关系信息;
根据所述第一映射关系信息,查询所述存储对象对应的数据分片;
根据所述第二映射关系信息,获取查询得到的数据分片所对应的服务器;
响应于所述存储对象操作请求,在查询得到的数据分片所对应的服务器上,采用所创建的存储空间所配置的可靠性策略,对所述存储对象进行相应处理。
8.根据权利要求7所述的存储管理方法,其特征在于,所述存储对象操作请求包括存储对象写请求;
所述响应于所述存储对象操作请求,在查询得到的数据分片所对应的服务器上,采用所创建的存储空间所配置的可靠性策略,对所述存储对象进行相应处理,包括:
将所述存储对象的相应数据分片传输至查询得到的数据分片对应的服务器中,采用所创建的存储空间所配置的可靠性策略,将所述存储对象的相应数据分片进行存储处理。
9.根据权利要求7所述的存储管理方法,其特征在于,所述操作请求包括存储对象读请求;
所述响应于所述存储对象操作请求,在查询得到的数据分片所对应的服务器上,采用所创建的存储空间所配置的可靠性策略,对所述存储对象进行相应处理,包括:
从查询得到的数据分片对应的服务器中,采用所创建的存储空间所配置的可靠性策略,读取所述存储对象的相应数据分片。
10.根据权利要求4所述的存储管理方法,其特征在于,所述生成与所述可靠性策略对应的可靠性策略标识,包括:
计算所述可靠性策略内容的哈希值,作为所述可靠性策略对应的可靠性策略标识。
11.一种存储管理系统,其特征在于,包括:
接收单元,适于接收存储对象操作请求;
获取单元,适于根据所述存储对象操作请求,获取所述存储对象对应的存储空间;
查询单元,适于查询所述存储空间的可靠性策略;
存储对象处理单元,适于根据查询得到的所述存储空间的可靠性策略,响应于所述存储对象操作请求,对所述存储对象进行相应处理。
12.一种存储管理装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1至10任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至10任一项所述方法的步骤。
CN202010160523.8A 2020-03-10 2020-03-10 存储管理方法、系统、存储管理装置及存储介质 Active CN113377787B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010160523.8A CN113377787B (zh) 2020-03-10 2020-03-10 存储管理方法、系统、存储管理装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010160523.8A CN113377787B (zh) 2020-03-10 2020-03-10 存储管理方法、系统、存储管理装置及存储介质

Publications (2)

Publication Number Publication Date
CN113377787A true CN113377787A (zh) 2021-09-10
CN113377787B CN113377787B (zh) 2024-03-01

Family

ID=77568794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010160523.8A Active CN113377787B (zh) 2020-03-10 2020-03-10 存储管理方法、系统、存储管理装置及存储介质

Country Status (1)

Country Link
CN (1) CN113377787B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943421A (zh) * 2017-11-30 2018-04-20 成都华为技术有限公司 一种基于分布式存储系统的分区划分方法及装置
CN110008257A (zh) * 2019-04-10 2019-07-12 深圳市腾讯计算机系统有限公司 数据处理方法、装置、系统、计算机设备和存储介质
US20190243676A1 (en) * 2016-09-30 2019-08-08 Hangzhou Hikvision Digital Technology Co., Ltd. Cloud Storage Based Data Processing Method and System
CN110445822A (zh) * 2018-05-03 2019-11-12 中移(苏州)软件技术有限公司 一种对象存储方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190243676A1 (en) * 2016-09-30 2019-08-08 Hangzhou Hikvision Digital Technology Co., Ltd. Cloud Storage Based Data Processing Method and System
CN107943421A (zh) * 2017-11-30 2018-04-20 成都华为技术有限公司 一种基于分布式存储系统的分区划分方法及装置
CN110445822A (zh) * 2018-05-03 2019-11-12 中移(苏州)软件技术有限公司 一种对象存储方法及装置
CN110008257A (zh) * 2019-04-10 2019-07-12 深圳市腾讯计算机系统有限公司 数据处理方法、装置、系统、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
段翰聪;杨帆;李林;: "基于二维表的对象存储元数据管理", 实验科学与技术, no. 06, pages 33 - 35 *

Also Published As

Publication number Publication date
CN113377787B (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
JP6778795B2 (ja) データを記憶するための方法、装置及びシステム
US10776396B2 (en) Computer implemented method for dynamic sharding
CN107436725B (zh) 一种数据写、读方法、装置及分布式对象存储集群
CN108733761B (zh) 一种数据处理方法装置及系统
US8996611B2 (en) Parallel serialization of request processing
CN102708165B (zh) 分布式文件系统中的文件处理方法及装置
US8620886B1 (en) Host side deduplication
US9547706B2 (en) Using colocation hints to facilitate accessing a distributed data storage system
CN102725755B (zh) 文件访问方法及系统
US20100161565A1 (en) Cluster data management system and method for data restoration using shared redo log in cluster data management system
US9405643B2 (en) Multi-level lookup architecture to facilitate failure recovery
US20160364407A1 (en) Method and Device for Responding to Request, and Distributed File System
KR20110082529A (ko) 분할되고 확장가능하며 사용가능한 구조적 저장소에서의 파티션 관리
CN103150394A (zh) 面向高性能计算的分布式文件系统元数据管理方法
CN108733311B (zh) 用于管理存储系统的方法和设备
US11960506B2 (en) Data processing method and system for cloud platform, and electronic apparatus and storage medium
CN103514222B (zh) 虚拟机映像的存储方法、管理方法、存储管理装置及系统
CN109407975B (zh) 写数据方法与计算节点以及分布式存储系统
CN115756955A (zh) 一种数据备份、数据恢复的方法、装置及计算机设备
CN113032356A (zh) 一种客舱分布式文件存储系统及实现方法
CN113377787B (zh) 存储管理方法、系统、存储管理装置及存储介质
CN116049306A (zh) 数据同步方法、装置、电子设备以及可读存储介质
CN116010359A (zh) 一种基于日志进行数据存储和查询的方法及系统
CN108769123B (zh) 一种数据系统及数据处理方法
CN107168645B (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
GR01 Patent grant
GR01 Patent grant