CN106339181A - 存储系统中数据处理方法和装置 - Google Patents

存储系统中数据处理方法和装置 Download PDF

Info

Publication number
CN106339181A
CN106339181A CN201610692806.0A CN201610692806A CN106339181A CN 106339181 A CN106339181 A CN 106339181A CN 201610692806 A CN201610692806 A CN 201610692806A CN 106339181 A CN106339181 A CN 106339181A
Authority
CN
China
Prior art keywords
group
partition group
disk partition
storage device
object storage
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
CN201610692806.0A
Other languages
English (en)
Other versions
CN106339181B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610692806.0A priority Critical patent/CN106339181B/zh
Publication of CN106339181A publication Critical patent/CN106339181A/zh
Application granted granted Critical
Publication of CN106339181B publication Critical patent/CN106339181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例涉及存储系统中数据处理方法和装置。该方法包括:根据对象数据的标识,通过哈希算法确定初始pt组;确定该初始pt组中m个对象存储设备OSD的使用热度以及参考值,该参考值为该n个pt组中至少一个pt组对应的k个OSD的使用热度的最小值;当该初始pt组中m个OSD中存在使用热度与该参考值的差值大于或等于预设阈值的OSD时,将n个pt组中综合权重值最小的pt组确定为目标pt组,否则,将该初始pt组确定为目标pt组;将该对象数据存储到该目标pt组对应的m个OSD中。本发明实施例的存储系统中数据处理方法和装置,能够动态调整对象数据写入的磁盘,保证磁盘数据分布均匀。

Description

存储系统中数据处理方法和装置
技术领域
本发明涉及通信领域,尤其涉及存储系统中数据处理方法和装置。
背景技术
新兴的大规模分布式存储系统可以用于将拍字节(petabyte,PB)级的数据分散到成千上万个存储设备中。现有的存储结构是树形的分层拓扑,由虚拟的根节点开始,向下依次为机架、服务器和磁盘,最终将数据存储到磁盘中。而数据排布算法用来解决如何将海量的数据分布到这些存储设备上,并保证分配数据的全局均衡性和局部均衡性。
具体地,数据排布算法可以分为两部分,网络逻辑单元号(Network Logical UnitNumber,NLUN)算法和分区算法。对于NLUN算法,主要针对从对象到NLUN的过程。对于任意一个文件,可以包括若干个对象,每个对象对应一个NLUN,NLUN算法是为每个对象分配NLUN。
在现有技术中,确定对象与NLUN之间的对应关系,一般采用轮询算法或哈希算法。轮询算法是记录每个文件及其对象选中的NLUN的编号,在为每个对象选择NLUN时,将NLUN编号循环后移。而哈希算法是根据文件ID和对象ID,采用哈希算法,例如MD5和mmh3等,计算出NLUN的编号。
但是,轮询算法需要为每个对象记录选择的NLUN,增加了系统开销,尤其对于大量的小文件写入场景,系统开销过大;而哈希算法,由于哈希算法的特性会导致计算选择的NLUN分布不均匀,无法保证写入数据过程的全局或局部的均衡性。另外,轮询算法和哈希算法,要求每个对象数据大小基本一致,没有考虑到不同大小对对象数据存储过程的影响,会导致数据存储过程的不均衡性。并且,不同NLUN可能对应部分相同的磁盘,会导致写入磁盘过程的不均衡性;轮询算法和哈希算法也没有考虑在系统掉电后,磁盘上历史写入过程对数据均衡性的影响。
发明内容
本申请提供了一种存储系统中数据处理方法和装置,能够动态调整对象数据写入的磁盘,保证磁盘数据分布均匀。
第一方面,提供了一种存储系统中数据处理方法,该存储系统包括n个磁盘分区(pt)组,该方法包括:根据对象数据的标识,通过哈希算法确定该对象数据的初始pt组,该初始pt组属于该n个pt组,该n个pt组中每个pt组对应m个对象存储设备,m等于该对象数据的副本数,n和m为正整数;确定该初始pt组中m个对象存储设备中每个对象存储设备的使用热度以及参考值,该参考值为该n个pt组中至少一个pt组对应的k个对象存储设备的使用热度的最小值,k为正整数;当该初始pt组中m个对象存储设备中存在使用热度与该参考值的差值大于或等于预设阈值的对象存储设备时,确定该n个pt组中每个pt组的综合权重值,并将该综合权重值最小的pt组确定为目标pt组,其中,该n个pt组中第i个pt组的所综合权重值为根据该第i个pt组对应的每个对象存储设备的使用热度确定的,i=1、2、3……n,或,当该初始pt组中m个对象存储设备中每个对象存储设备的使用热度与该参考值的差值小于该预设阈值时,将该初始pt组确定为目标pt组;将该对象数据存储到该目标pt组对应的m个对象存储设备中。
因此,本申请实施例的存储系统中数据处理方法,在写入对象数据时,根据哈希算法选择初始pt组,并根据计算的该初始pt组对应的OSD的使用热度,确定该初始pt组是否满足预设条件。在该初始pt组满足预设条件时确定该初始pt组为目标pt组,在该初始pt组不满足预设条件时,重新计算最优的pt组为目标pt组,并将对象数据写入该目标pt组,这样能够根据写数据行为动态优化选择pt组过程,还可以避免保存pt组的编号的元数据,并保证数据写入过程的全局均衡性和局部均衡性。
应理解,该对象数据的标识,可以包括该对象数据所属的文件的身份标识ID以及对象ID。
应理解,存储系统中可以包括多个pt组,每个pt组对应多个对象存储设备。对于任意对象数据,可以确定副本数m,或EC配比长度m,EC配比长度等于数据位长度与校验位长度之和,对应的,将存储系统中n个pt组中每个pt组对应的对象存储设备的个数确定为m。
结合第一方面,在第一方面的一种实现方式中,该参考值为全局参考值,该全局参考值为该n个pt组中每个pt组对应的m个对象存储设备的使用热度的最小值,该预设阈值为全局阈值。
应理解,在为对象数据确定目标pt组时,可以仅考虑数据存储的全局均衡性。具体地,确定n个pt组对应的全部对象存储设备中每个对象存储设备的使用热度,并将使用热度最小值确定为全局参考值,将初始pt组中每个对象存储设备的使用热度与该全局参考值进行比较,从而确定目标pt组。这样,通过全局参考值以及全局阈值可以保证对象数据存储满足全局均衡性。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,在该确定该全局参考值之前,该方法还包括:确定该n个pt组中l个pt组对应的多个对象存储设备的使用热度的最小值为局部参考值,l为小于n的正整数;确定该初始pt组中m个对象存储设备中每个对象存储设备的使用热度与该局部参考值的差值小于局部阈值。
应理解,在为对象数据确定目标pt组时,可以先考虑数据存储是否满足局部均衡性,再考虑数据存储的全局均衡性,也就是,在进行全局参考值的判断之前,还可以先进行局部参考值的判断。具体地,确定n个pt组中l个pt组对应的多个对象存储设备的使用热度的最小值为局部参考值,将初始pt组中的m个对象存储设备中每个对象存储设备的使用热度与该局部参考值进行比较,当初始pt组中每个对象存储设备的使用热度与局部参考值的差值都满足局部阈值时,说明该初始pt组中的每个对象存储设备满足局部均衡性,可以继续进行全局参考值的比较,进而确定该初始pt组是否满足全局均衡性。这样,确定的目标pt组既满足数据存储的局部均衡性,又满足全局均衡性。
可选地,当初始pt组中不是每个对象存储设备的使用热度与局部参考值的差值都满足局部阈值时,说明该初始pt组不满足局部均衡性,则可以不继续判断全局均衡性,而确定该n个pt组中每个pt组的综合权重值,并将该综合权重值最小的pt组确定为目标pt组。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该参考值为局部参考值,该局部参考值为该n个pt组中l个pt组对应的多个对象存储设备的使用热度的最小值,l为小于n的正整数,该预设阈值为局部阈值。
应理解,在为对象数据确定目标pt组时,可以仅考虑数据存储的局部均衡性。具体地,与仅考虑数据存储的全局均衡性类似,确定该n个pt组中l个pt组对应的多个对象存储设备的使用热度的最小值为局部参考值,将初始pt组中每个对象存储设备的使用热度与该局部参考值进行比较,从而确定目标pt组。这样,通过局部参考值以及局部阈值可以保证对象数据存储满足局部均衡性。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,在该确定该局部参考值之前,该方法还包括:确定该n个pt组中每个pt组对应的m个对象存储设备的使用热度的最小值为该全局参考值;确定该初始pt组中m个对象存储设备中每个对象存储设备的使用热度与该全局参考值的差值小于全局阈值。
应理解,在为对象数据确定目标pt组时,可以先考虑数据存储是否满足全局均衡性,再考虑数据存储的局部均衡性,也就是,在进行局部参考值的判断之前,还可以先进行全局参考值的判断。具体地,确定n个pt组中每个pt组对应的m个对象存储设备的使用热度的最小值为该全局参考值;将初始pt组中的m个对象存储设备中每个对象存储设备的使用热度与该全局参考值进行比较,当初始pt组中每个对象存储设备的使用热度与全局参考值的差值都满足全局阈值时,说明该初始pt组中的每个对象存储设备满足全局均衡性,可以继续进行局部参考值的比较,进而确定该初始pt组是否满足局部均衡性。这样,确定的目标pt组既满足数据存储的全局均衡性,又满足局部均衡性。
可选地,当初始pt组中不是每个对象存储设备的使用热度与全局参考值的差值都满足全局阈值时,说明该初始pt组不满足全局均衡性,则可以不继续判断局部均衡性,而确定该n个pt组中每个pt组的综合权重值,并将该综合权重值最小的pt组确定为目标pt组。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该方法还包括:根据滑窗算法,从该n个pt组中选择该l个pt组。
应理解,在上述确定局部参考值时,在n个pt组中选择l个pt组,可选地,可以根据滑窗算法确定l的具体取值,即在n个pt组中选择最近的时间段内使用的或者最近时间的预设个数的pt组。具体地,可以根据实际应用,设置滑窗阈值,该滑窗阈值可以为预设时长,则根据预设时长,选择在最近的一段预设时长内,使用的一个或多个pt组,即从n个pt组中选择的l个pt组;或者,该滑窗阈值还可以为预设个数,则选择n个pt组内最近一段时间内使用的预设个数对应的pt组,例如,预设个数为l,则在n个pt组内选择最近一段时间内使用的l个pt组。
可选地,通过滑窗算法,在n个pt组中选择l个pt组,当为对象数据确定了目标pt组后,若l小于滑窗阈值时,将该目标pt组加入滑窗;若l大于或等于该滑窗阈值时,按照加入时间淘汰最早加入该滑窗的pt组,并将该目标pt组加入该滑窗。
可选的,还可以根据近期最少使用算法LRU,或者基于时间衰减的方法,从n组pt组中选择l个pt组。
可选的,全局阈值和局部阈值可以根据实际情况进行设置。例如,当系统中的元数据空间比较充足,可以将全局阈值和局部阈值设置的比较小,这样使得数据布局更加均衡,系统中磁盘热点更少,但也会导致重新优化计算的比例变高,相应的计算时间更长长,以及记录的元数据增多。因此,可以根据实际系统应用情况,合理设置全局阈值和局部阈值的大小。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该确定该n个磁盘分区组中每个磁盘分区组的综合权重值,包括:根据下列公式,确定该第i个pt组的综合权重值:
m i n { ω 1 * Σ j = 0 m - 1 C i j + ω 2 * maxC i j + ω 3 * [ ( Σ j = 0 m - 1 C i j / m - C i 0 ) 2 + ( Σ j = 0 m - 1 C i j / m - C i 1 ) 2 + ... + ( Σ j = 0 m - 1 C i j / m - C i ( m - 1 ) ) 2 ] / m }
ω123=1
Cij=σRij
其中,该Rij表示该第i个pt组对应的N个对象存储设备中第j个对象存储设备的引用次数,σ表示该第i个pt组对应的多个对象存储设备的系数,Cij表示该第i个pt组对应的第j个对象存储设备的加权引用次数。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,该方法还包括:在将该对象数据存储到该目标pt组对应的m个对象存储设备后,将该目标pt组对应的多个对象存储设备中每个对象存储设备的使用热度加一。
可选地,确定对象存储设备的使用热度时,可以计算该对象存储设备的真实引用次数,或者加权引用次数,或者根据该对象存储设备的已占用存储空间确定该对象存储设备的使用热度。确定对象存储设备的真实引用次数,可以指在每次写入该对象存储设备时,则将该对象存储设备引用次数加一;可选的,该对象存储设备的引用次数还可以为该对象存储设备的加权引用次数,即每次写入该对象存储设备时,该对象存储设备的引用次数增加该对象存储设备的加权值,该加权值可以根据该对象存储设备的性能,或者根据该对象存储设备写入的对象数据的大小等因素确定。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,将该综合权重值最小的pt组确定为目标pt组后,该方法还包括:根据该对象数据的标识,确定目标哈希桶;将该对象数据的标识和该目标pt组的编号存储到该目标哈希桶中。
将重新计算确定的目标pt组的编号以及对象数据的标识存储到目标哈希桶中,便于在需要读取对象数据时,通过查找目标哈希桶确定目标pt组。
结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,在该将该对象数据存储到该目标pt组对应的m个对象存储设备中之后,该方法还包括:根据该对象数据的标识,确定待查找哈希桶;在该待查找哈希桶中,根据该对象数据的标识,查找与该对象数据对应的该目标pt组的编号;当该待查找哈希桶内存在该目标pt组的编号时,确定该目标pt组,或,当该待查找哈希桶内不存在该目标pt组的编号时,根据该对象数据的标识,通过哈希算法确定该目标pt组;在该目标pt组对应的m个对象存储设备中读取该对象数据。
在读取对象数据时,根据对象数据的标识,通过哈希算法确定哈希桶,在该哈希桶内查询对象数据对应的pt组的编号,并在该哈希桶内没有该对象数据对应的pt组的编号时,通过哈希算法,确定对象数据的pt组编号,并在该pt组内读取该对象数据,这样可以通过哈希桶保存优化后确定的对象数据对应的pt组信息,便于在需要读取对象数据时,快速查找到该对象数据。
第二方面,提供了一种存储系统中数据处理装置,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。
第三方面,提供了一种存储控制器,包括:存储单元和处理器,该存储单元用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,该执行使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第五方面,提供了一种计算机程序产品,该计算机程序产品可以为一个软件安装包,该软件安装包被计算设备运行时,执行第一方面或第一方面的任意一种实现方式提供的方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的数据流向的示意图。
图2是根据本发明实施例的存储系统的示意性框图。
图3是根据本发明实施例的存储系统中磁盘分配的示意图。
图4是根据本发明实施例的存储系统中数据处理方法的示意性流程图。
图5是根据本发明另一实施例的存储系统中数据处理方法的示意性流程图。
图6是根据本发明实施例的存储系统中数据处理装置的示意性框图。
图7是根据本发明实施例的存储控制器的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
应理解,本发明实施例中对象存储设备的使用热度可以指该对象存储设备的实际引用次数,或者可以指对象存储设备的加权引用次数,或者也可以指代该对象存储设备已占用的空间。
应理解,本发明实施例中的对象数据的副本数等于纠删码(Erasure Coding,EC)的配比长度,该EC配比长度等于数据位长度与校验位长度之和。
图1示出了根据本发明实施例的数据流向的示意图。如图1所示,数据排布算法用于将海量的数据分布到存储设备上,按照分配过程,可以将数据排布算法分为两部分,NLUN算法和分区算法,其中,NLUN算法用于计算File(文件)->Obj(对象)->NLUN的过程;分区算法用于计算NLUN->对象存储设备(Object storage device,OSD)的过程,即计算从NLUN到磁盘的对应关系。
图2示出了根据本发明实施例的存储系统的示意性框图。如图2所示,存储系统120可以包括存储控制器121和存储设备122。客户端110可以通过网络与存储系统120连接。存储系统120中的存储设备122可以对应于图1所示的存储设备,存储系统120中的存储控制器121可以执行该数据排布算法,将数据存储到存储设备中,例如,客户端110通过网络向存储系统120中的存储控制器121发送文件数据,则存储控制器121将该文件数据通过数据排布算法存储到存储设备122中。
具体地,对于数据排布算法中的分区算法,是根据副本个数或EC的配比(数据位数N+校验位数M),为所有的NLUN选择确定一组磁盘,例如,如图1中所示,NLUN是4+2的EC配置,所以每个NLUN选中六块磁盘,对应于图1中灰色的硬盘驱动器(Hard Disk Drive,HDD)所示,该六个HDD即为该NLUN对应的磁盘组。
例如,如图3所示,假设有A-J十个磁盘,每个NLUN对应其中六个磁盘,则图3所示的十个磁盘按照不同的分配方式,可以对应不同的十个NLUN,即每一行对应一个NLUN,并通过相同颜色块表示该NLUN包括的六个磁盘。对于任意一个NLUN,属于该NLUN的每个磁盘上分别有一个磁盘分区(partition)属于该NLUN,该partition可以简称为pt,即该NLUN可以看作一个pt组,该pt组包括六个pt。
分区算法可以用于计算NLUN与磁盘之间的对应关系,可以根据现有技术确定,本发明实施例对此不做限定,在此不再赘述。
而本发明实施例的数据处理方法,主要针对NLUN算法,确定从对象数据到NLUN的过程。对于任意一个文件,可以包括若干个对象,根据本发明实施例的数据处理方法,可以为每个对象选择对应的一个NLUN,并且保证磁盘写入过程的数据全局均衡性和局部均衡性。
应理解,数据全局均衡性是指,在为多个对象数据选择对应的NLUN时,最终选择的NLUN对应的多个磁盘的写入数据的均衡性。具体地,当为多个对象选择对应的NLUN时,若每个对象均选择同一个NLUN,则该NLUN对应的多个磁盘的利用率就为100%,而其它盘的利用率则为0,例如,如图3所示,若每个对象都选中第一个NLUN,那么ABCDEF六个磁盘的利用率为100%,而GHIJ利用率仍为0,这样会导致磁盘利用率不均,从而导致某些盘先写满,其他的磁盘的数量不足以容纳相应的副本数或EC配比长度,例如图3所示的GHIJ四个盘剩余,则无法支持4+2配比写到六块磁盘,也就无法继续写入对象数据,导致空间浪费,不满足数据全局均衡性。
数据局部均衡性是指,在某段时间内,部分磁盘的利用率的均衡性。具体地,假设写入数据满足数据全局均衡性,例如,一个文件包括100个对象,则需要选择100次NLUN,假设该系统中共有10个磁盘和有10个NLUN,每个NLUN对应6个磁盘,且每个磁盘属于NLUN的个数相同,则每个磁盘需要写入数据60次,例如,如图3所示,每行对应的一个NLUN会被选择10次,A-J是个磁盘每个磁盘写入数据60次,此时每个磁盘满足数据全局均衡性。但是,若在写入前10个对象数据的过程中,只选择第一个NLUN,接下来10个对象数据,只选择第二个NLUN,依次类推,则在写前10个对象数据的过程中,只有第一个NLUN对应的磁盘写入数据,即只有ABCDEF六个磁盘正在写入,此时间段内该第一个NLUN对应的6个磁盘的压力特别大,而其他的磁盘空载,导致写入过程并行性低,磁盘的带宽利用率低,系统性能下降。
因此,在为对象数据分配NLUN时,要综合考虑数据全局和局部均衡性,避免磁盘上写入数据不均出现磁盘热点问题。
具体地,图4示出了根据本发明实施例的存储系统中数据处理方法200的示意性流程图。具体地,该方法200应用于如图2所示的存储系统120中,且可以由如图2所示的存储控制器121执行,该存储系统中还包括存储设备122。可选地,该存储系统120中的存储设备122可对应于如图1所示的存储设备,该存储设备中可以包括多个机架,例如,图1示出了该存储设备包括的三个机架(rack),分为为rack1至rack3;每个机架还可以包括一个或多个服务器,例如图1中每个机架包括两个服务器,例如,rack1包括服务器1和服务器2,三个机架共6个服务器;每个服务器包括一个或多个对象存储设备(Object Storage Device,OSD),可选地,该OSD可以为HDD,例如,图1中示出了每个服务器包括的三个HDD,或者,该OSD也可以为其它类型磁盘,本发明实施例并不限于此。
应理解,根据现有的分区算法,可以确定该存储系统中的OSD与NLUN之间的对应关系,具体地,该存储系统中的OSD可以对应n个NLUN,一个NLUN即为一个pt组,则该存储系统包括n个pt组,每个pt组对应了多个OSD,pt组对应的OSD的个数可以根据副本数或EC配比长度确定,其中,EC配比长度等于数据位长度和校验位长度之和。不同pt组对应的OSD可以存在部分OSD的重叠,即不同pt组对应的OSD中,可以存在一个或多个相同的OSD。应理解,为每个pt组分配的OSD可以根据现有技术确定,在此不再赘述。
在本发明实施例中,如图4所示,该方法200包括:
S210,根据对象数据的标识,通过哈希算法确定该对象数据的初始pt组,该初始pt组属于该n个pt组,该n个pt组中每个pt组对应m个对象存储设备,m等于该对象数据的副本数,即该初始pt组也对应m个OSD,n和m为正整数;
S220,确定该初始pt组中m个OSD中每个OSD的使用热度以及参考值,该参考值为该n个pt组中至少一个pt组对应的k个OSD的使用热度的最小值,k为正整数;
S230,当该初始pt组中m个OSD中存在使用热度与该参考值的差值大于或等于预设阈值的OSD时,确定该n个pt组中每个pt组的综合权重值,并将该综合权重值最小的pt组确定为目标pt组,其中,该n个pt组中第i个pt组的所综合权重值为根据该第i个pt组对应的每个对象存储设备的使用热度确定的,i=1、2、3……n,或,
S240,当该初始pt组中m个OSD中每个OSD的使用热度与该参考值的差值小于该预设阈值时,将该初始pt组确定为目标pt组;
S250,将该对象数据存储到该目标pt组对应的m个OSD中。
因此,本发明实施例的数据处理方法,根据哈希算法选择初始pt组,并根据计算的该初始pt组对应的OSD的使用热度,确定该初始pt组是否满足预设条件。在该初始pt组满足预设条件时确定该初始pt组为目标pt组,在该初始pt组不满足预设条件时,重新计算最优的pt组为目标pt组,并将对象数据写入该目标pt组,这样能够根据写数据行为动态优化选择pt组过程,还可以避免保存pt组的编号的元数据,并保证数据写入过程的全局均衡性和局部均衡性。
在S210中,根据对象数据的标识,通过哈希算法确定该对象数据的初始pt组,该初始pt组属于该n个pt组,该初始pt组对应m个OSD。
具体地,对于待处理的对象数据,该对象数据的标识可以包括该对象数据所属的文件的标识(identification,ID)和/或对象ID,根据文件ID和/或对象ID,通过哈希算法,例如MD5,或者murmur3等,计算该对象标识对应的pt组的编号,并将该pt组编号对应的pt组确定为初始pt组,该初始pt组对应m个OSD。其中,m为该对象数据的副本数,或该m也等于EC配比长度,该EC配比长度等于数据位长度与校验位长度之和。例如,如图1或图3所示,该EC配比长度均6,即数据位长度4与校验位长度2之和。
在S220中,确定该初始pt组中m个OSD中每个OSD的使用热度以及参考值,该参考值为该n个pt组中至少一个pt组对应的k个OSD的使用热度的最小值。
可选地,作为一个实施例,该S220中的参考值可以为全局参考值,该全局参考值为该n个pt组中全部pt组对应的k个OSD的使用热度的最小值。则对应地,在S230中,当该初始pt组中m个OSD中存在使用热度与该全局参考值的差值大于或等于全局阈值的OSD时,确定该n个pt组中每个pt组的综合权重值,并将该综合权重值最小的pt组确定为目标pt组,或在S240中,当该初始pt组中m个OSD中每个OSD的使用热度与该全局参考值的差值小于该全局阈值时,将该初始pt组确定为目标pt组;在S250中,将该对象数据存储到该目标pt组对应的多个OSD中。
可选地,进一步地,在上述S220中的参考值可以为全局参考值时,在确定全局参考值之前,还可以确定局部参考值,该局部参考值为n个pt组中l个pt组对应的k个OSD的使用热度的最小值。具体地,在执行S220之前,确定初始pt组中m个OSD中每个OSD的使用热度以及局部参考值,并且,当该初始pt组中m个OSD中存在使用热度与该局部参考值的差值大于或等于局部阈值的OSD时,确定该n个pt组中每个pt组的综合权重值,并将该综合权重值最小的pt组确定为目标pt组,或者,当初始pt组中该m个OSD中每个OSD的使用热度与该局部参考值的差值小于该局部阈值时,确定全局参考值,即执行上述S220,并继续执行上述S230以及S240中,关于m个OSD中每个OSD的使用热度与该全局参考值的比较,进而确定目标pt组,并将对象数据写入该目标pt组对应的OSD中。
可选地,作为另一个实施例,在S220中的参考值还可以为局部参考值,该局部参考值为n个pt组中l个pt组对应的k个OSD的使用热度的最小值。则对应地,在S230中,当该初始pt组中m个OSD中存在使用热度与该局部参考值的差值大于或等于局部阈值的OSD时,确定该n个pt组中每个pt组的综合权重值,并将该综合权重值最小的pt组确定为目标pt组,或在S240中,当该初始pt组中m个OSD中每个OSD的使用热度与该局部参考值的差值小于该局部阈值时,将该初始pt组确定为目标pt组;在S250中,将该对象数据存储到该目标pt组对应的多个OSD中。
可选地,进一步地,在上述S220中的参考值为局部参考值时,在确定该局部参考值之前,还可以确定全局参考值,该全局参考值为该n个pt组中全部pt组对应的k个OSD的使用热度的最小值。具体地,在执行S220之前,确定初始pt组中m个OSD中每个OSD的使用热度以及全局参考值,并且,当该初始pt组中m个OSD中存在使用热度与该全局参考值的差值大于或等于全局阈值的OSD时,确定该n个pt组中每个pt组的综合权重值,并将该综合权重值最小的pt组确定为目标pt组,或者,当该初始pt组中m个OSD中每个OSD的使用热度与该全局参考值的差值小于该全局阈值时,确定局部参考值,即执行上述S220,并继续执行上述S230以及S240中,关于m个OSD中每个OSD的使用热度与该局部参考值的比较,进而确定目标pt组,并将对象数据写入该目标pt组对应的OSD中。
在本发明实施例中,对于确定的初始pt组中的m个OSD,确定每个OSD相对于全局参考值和/或局部参考值的差值,根据差值确定该初始pt组是否可以为目标pt组。当该m个OSD中每个OSD均满足:每个OSD的使用热度与全局参考值的差值小于全局阈值,且每个OSD使用热度与局部参考值的差值小于局部阈值时,将初始pt组确定为目标pt组;否则,当m个OSD中存在不满足上述条件的OSD时,则确定该n个pt组中每个pt组的综合权重值,并将该综合权重值最小的pt组确定为目标pt组。这样,通过全局参考值和全局阈值可以保证写入对象数据的目标pt组对应OSD具有全局均衡性,而局部参考值和局部阈值可以保证写入对象数据的目标pt组对应OSD具有局部均衡性。
应理解,对于确定初始pt组中m个OSD中每个OSD的使用热度、全局参考值和局部参考值,以确定任意一个OSD的使用热度为例,该使用热度可以为写入该OSD的次数,即每次写入该OSD时,该OSD的使用热度加一;可选的,该OSD的使用热度还可以为该OSD的加权引用次数,即每次写入该OSD时,该OSD的使用热度增加该OSD的加权值,该加权值可以根据该OSD的性能,或者根据该OSD写入数据的大小等因素确定。可选地,该使用热度还可以根据OSD被占用的空间确定,本发明实施例并不限于此。
在本发明实施例中,系统可以记录每个盘的使用热度,并且在系统掉电重启后,可以通过查找元数据,确定每个盘的历史使用热度。
应理解,对于全局参考值对应的全局阈值,可以用于判断初始pt组中m个OSD中每个OSD相对于全局所有OSD的使用热度是否超限;而对于局部参考值对应的局部阈值,可以用于判断初始pt组中m个OSD中每个OSD相对于局部pt组中所有OSD的使用热度是否超限。
可选的,该全局阈值和局部阈值可以根据实际情况进行设置。例如,当系统中的元数据空间比较充足,可以将全局阈值和局部阈值设置的比较小,这样使得数据布局更加均衡,系统中磁盘热点更少,但也会导致重新优化计算的比例变高,相应的计算时间更长长,以及记录的元数据增多。因此,可以根据实际系统应用情况,合理设置全局阈值和局部阈值的大小。
在本发明实施例中,对于局部参考值,表示n个pt组中l个pt组对应的k个OSD的使用热度的最小值,可选的,可以根据多种算法,从该n组pt组中选择l个pt组。例如,可以根据滑窗算法,从该n组pt组中选择l个pt组,滑窗算法的意义是通过滑窗算法的淘汰机制,在n个pt组中选择最近的时间段内使用的或者最近时间的预设个数的pt组。具体地,根据实际应用,设置滑窗阈值,该滑窗阈值可以为预设时长,则根据预设时长,选择在最近的一段预设时长内,使用的一个或多个pt组,即从n个pt组中选择的l个pt组;或者,该滑窗阈值还可以为预设个数,则选择n个pt组内最近一段时间内使用的预设个数对应的pt组,例如,预设个数为l,则在n个pt组内选择最近一段时间内使用的l个pt组。
在本发明实施例中,对于滑窗算法,当为对象数据确定了目标pt组,并将该对象数据写入该目标pt组后,将该目标pt组加入到该滑窗中,若加入该滑窗后,该滑窗已满,即滑窗内pt组超过滑窗阈值,则按照加入的时间先后,将该滑窗内加入时间最早的pt组从该滑窗内淘汰。
可选的,再例如,还可以根据近期最少使用算法(Least Recently Used,LRU)算法,或者基于时间衰减的方法,从n组pt组中选择l个pt组,本发明实施例并不限于从。
应理解,在本发明实施例中,可以根据n个pt组中每个pt组的使用热度,确定该每个pt组的综合权重值,即根据n个pt组中的第i个pt组的使用热度,确定该第i个pt组的综合权重值。
具体的,可以根据下面的公式确定第i个pt组的综合权重值:
m i n { ω 1 * Σ j = 0 m - 1 C i j + ω 2 * maxC i j + ω 3 * [ ( Σ j = 0 m - 1 C i j / m - C i 0 ) 2 + ( Σ j = 0 m - 1 C i j / m - C i 1 ) 2 + ... + ( Σ j = 0 m - 1 C i j / m - C i ( m - 1 ) ) 2 ] / m }
ω123=1
Cij=σRij
其中,m为副本数或纠删码EC配比数,例如,如图1或3所示,根据对象数据,n个pt组中每个pt组的EC配比数均为4+2,则m=6;Rij表示该第i个pt组对应的N个OSD中第j个OSD的引用次数,j可以取0至N-1;σ表示该第i个pt组对应的多个OSD的系数;Cij表示该第i个pt组对应的第j个OSD的加权引用次数,可选的,该加权引用次数可以根据该OSD存储的对象数据的大小等因素确定。
根据上述公式,确定n个pt组中每个pt组的综合权重值,将综合权重值最小的pt组确定为目标pt组。
应理解,对于将n组pt组中综合权重最小的pt组确定为目标pt组,则对象数据写入该综合权重最小的目标pt组,可选的,将该目标pt组的编号和该对象数据的标识写入哈希桶内。具体的,在将n组pt组中综合权重最小的pt组确定为目标pt组后,根据对象数据的标识,例如对象数据所在文件ID和对象ID,通过哈希算法,确定目标哈希桶的编号,并将该对象数据的标识和目标pt组的编号写入该目标哈希桶内,以便于读取对象数据时,可以在该目标哈希桶内,确定该对象数据存储的目标pt组。
可选地,在根据对象数据的标识,通过哈希算法确定目标哈希桶的编号时,以及在根据对象数据的标识,通过哈希算法确定初始pt组编号时,两次应用哈希算法时的哈希函数可以相同也可以不同,本发明实施例并不限于此。
应理解,在确定目标pt组后,将对象数据存储到该目标pt组对应的一个或多个OSD中。当需要读取该对象数据时,通过查找目标pt组读取对象数据。具体的,图5示出了根据本发明实施例的读取数据的方法300的示意性流程图。如图5所示,该方法300包括:
S301,确定读请求,该读请求用于请求读取对象数据。
S302,根据该对象数据的标识,确定待查找哈希桶。
具体地,根据读请求中确定的待读取对象数据的标识,例如,该对象数据的文件ID和对象ID,利用哈希算法,确定哈希桶的编号,根据该哈希桶的编号,确定待查找哈希桶。
应理解,在存储对象数据时,可以根据哈希算法确定目标哈希桶,将确定的目标pt组的编号以及对象数据的标识存储到该目标哈希桶中,该目标pt组为存储系统中综合权重最小的pt组。在确定该目标哈希桶时使用的哈希函数,与此时读取对象数据时使用的哈希函数相同。
S303,在该待查找哈希桶中,根据该对象数据的标识,查找与该对象数据对应的该目标pt组的编号。
具体地,在哈希桶内保存了一个或多个对象数据与pt组编号之间的对应关系,该对应关系表示该对象数据存储在对应的pt组的OSD中。通过待读取的对象数据的标识,在待查找哈希桶内查找该对象数据对应的目标pt组的编号。
S304,确定该待查找哈希桶内是否存在于对象数据对应的目标pt组的编号,当不存在该目标pt组的编号时,继续执行S305;当存在该目标pt组的编号时,继续执行S306。
S305,当该待查找哈希桶内不存在该目标pt组的编号时,根据该对象数据的标识,通过哈希算法确定该目标pt组。
具体的,在待查找哈希桶内不存在对象数据对应的目标pt组的编号时,则该对象数据在存储时,存储在根据对象数据的标识通过哈希算法确定的pt组中,因此,根据该对象标识,例如哈希算法,确定该目标pt组的编号,并根据该目标pt组的编号确定目标pt组。
S306,当该待查找哈希桶内存在该目标pt组的编号时,确定该目标pt组。
具体的,当在待查找哈希桶内查找到对象数据对应的目标pt组的编号时,根据该目标pt组的编号确定目标pt组。
S307,在该目标pt组对应的多个OSD中读取该对象数据。
应理解,可以根据实际情况,设置哈希桶数量,当哈希桶数据流越多时,对于任意对象数据的查找的时间越少,但是哈希桶越多需要更多的空间存放哈希桶的关键字,占用空间更多,因此,可以根据实际应用,合理设置哈希桶数量。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
因此,本发明实施例的存储系统中数据处理方法,在写入对象数据时,根据哈希算法选择初始pt组,并根据计算的该初始pt组对应的OSD的使用热度,确定该初始pt组是否满足预设条件。在该初始pt组满足预设条件时确定该初始pt组为目标pt组,在该初始pt组不满足预设条件时,重新计算最优的pt组为目标pt组,并将对象数据写入该目标pt组,这样能够根据写数据行为动态优化选择pt组过程,还可以避免保存pt组的编号的元数据,并保证数据写入过程的全局均衡性和局部均衡性。
在读取对象数据时,根据对象数据的标识,通过哈希算法确定哈希桶,在该哈希桶内查询对象数据对应的pt组的编号,并在该哈希桶内没有该对象数据对应的pt组的编号时,通过哈希算法,确定对象数据的pt组编号,并在该pt组内读取该对象数据,这样可以通过哈希桶保存优化后确定的对象数据对应的pt组信息,便于在需要读取对象数据时,快速查找到该对象数据。
下面结合具体实施例,说明本发明实施例的存储系统中数据处理方法。这里另存储系统中pt组的个数为2053,即NLUN个数为2053;EC配比:4+2;存储系统中机架数量:2;服务器数量:6;OSD个数:216;对象个数:72000;每个文件包含的对象数量:1-64之间取随机数。由于每个文件包括的对象的个数是1-64之间的随机数,因此72000个对象对应的文件个数不相等。
假设只只考虑全局参考值以及全局阈值,即仅仅将通过哈希函数确定的pt组,即ULUN,与全局参考值进行比较,从而确定将对象数据存储到对应的pt组中,计算结果的最终结果如下表1所示:
表1测试结果
在该表1中,动态最大阈值表示本发明实施例中设置的全局阈值;场景中优化前表示现有技术的方式确定存储的pt组,即NLUN,优化后表示通过本发明实施例确定NLUN,即考虑全局参考值和全局阈值进行优化;NLUN优化比例,是比较优化前和优化后两种情况下的NLUN的引用计数差值;磁盘优化比例,是比较优化前和优化后两种情况下的磁盘引用差值。
根据该表1可知,替换的NLUN即为重新计算的NLUN个数,对于动态最大阈值为10的情况,仅仅存在3.88%的NLUN需要被替换,即需要存储3.88%的NLUN编号元数据,却可以使得NLUN全局引用计数差值优化300%,磁盘的全局引用计数差值也提升了123%。因此,根据本发明实施例的存储系统中数据处理方法,可以保证数据写入过程的全局均衡性和局部均衡性。
上文中结合图1至图5,详细描述了根据本发明实施例的存储系统中数据处理方法,下面将结合图6至图7,描述根据本发明实施例的存储系统中数据处理装置。
图6示出了根据本发明实施例的存储系统中数据处理装置400的示意性框图,该存储系统可以为如图2所示的存储系统120,该存储系统包括n个pt组,该装置400可以为如图2所示的存储控制器121,该装置400包括:
处理单元410,根据对象数据的标识,通过哈希算法确定该对象数据的初始pt组,该初始pt组属于该n个pt组,该n个pt组中每个pt组对应m个对象存储设备,m等于该对象数据的副本数,n和m为正整数;
该处理单元410还用于确定该初始pt组中m个对象存储设备中每个对象存储设备的使用热度以及参考值,该参考值为该n个pt组中至少一个pt组对应的k个对象存储设备的使用热度的最小值,k为正整数;
该处理单元410还用于当该初始pt组中m个对象存储设备中存在使用热度与该参考值的差值大于或等于预设阈值的对象存储设备时,确定该n个pt组中每个pt组的综合权重值,并将该综合权重值最小的pt组确定为目标pt组,其中,该n个pt组中第i个pt组的所综合权重值为根据该第i个pt组对应的每个对象存储设备的使用热度确定的,i=1、2、3……n,或,
该处理单元410还还用于:当该初始pt组中m个对象存储设备中每个对象存储设备的使用热度与该参考值的差值小于该预设阈值时,将该初始pt组确定为目标pt组;
写入单元420,用于将该对象数据存储到该目标pt组对应的m个对象存储设备中。
因此,本发明实施例的存储系统中数据处理装置,在写入对象数据时,根据哈希算法选择初始pt组,并根据计算的该初始pt组对应的OSD的使用热度,确定该初始pt组是否满足预设条件。在该初始pt组满足预设条件时确定该初始pt组为目标pt组,在该初始pt组不满足预设条件时,重新计算最优的pt组为目标pt组,并将对象数据写入该目标pt组,这样能够根据写数据行为动态优化选择pt组过程,还可以避免保存pt组的编号的元数据,并保证数据写入过程的全局均衡性和局部均衡性。
可选地,该参考值为全局参考值,该全局参考值为该n个pt组中每个pt组对应的m个对象存储设备的使用热度的最小值,该预设阈值为全局阈值。
可选地,该处理单元410具体用于:在该确定该全局参考值之前,确定该n个pt组中l个pt组对应的多个对象存储设备的使用热度的最小值为局部参考值,l为小于n的正整数;确定该初始pt组中m个对象存储设备中每个对象存储设备的使用热度与该局部参考值的差值小于局部阈值。
可选地,该参考值为局部参考值,该局部参考值为该n个pt组中l个pt组对应的多个对象存储设备的使用热度的最小值,l为小于n的正整数,该预设阈值为局部阈值。
可选地,该处理单元410具体用于:在该确定该局部参考值之前,确定该n个pt组中每个pt组对应的m个对象存储设备的使用热度的最小值为该全局参考值;确定该初始pt组中m个对象存储设备中每个对象存储设备的使用热度与该全局参考值的差值小于全局阈值。
可选地,该处理单元410具体用于:根据该n个pt组中第i个pt组对应的每个对象存储设备的使用热度,确定该第i个pt组的所综合权重值。
可选地,该处理单元410具体用于:根据下面的公式,确定该第i个pt组的综合权重值:
m i n { ω 1 * Σ j = 0 m - 1 C i j + ω 2 * maxC i j + ω 3 * [ ( Σ j = 0 m - 1 C i j / m - C i 0 ) 2 + ( Σ j = 0 m - 1 C i j / m - C i 1 ) 2 + ... + ( Σ j = 0 m - 1 C i j / m - C i ( m - 1 ) ) 2 ] / m }
ω123=1
Cij=σRij
其中,Rij表示该第i个pt组对应的N个对象存储设备中第j个对象存储设备的引用次数,σ表示该第i个pt组对应的多个对象存储设备的系数,Cij表示该第i个pt组对应的第j个对象存储设备的加权引用次数。
可选地,该处理单元410具体用于:根据滑窗算法,从该n个pt组中选择该l个pt组。
可选地,该写入单元420具体用于:在将该对象数据存储到该目标pt组对应的m个对象存储设备后,将该目标pt组对应的m个对象存储设备中每个对象存储设备的使用热度加一。
可选地,该写入单元420具体用于:将该综合权重值最小的pt组确定为目标pt组后,根据该对象数据的标识,确定目标哈希桶;将该对象数据的标识和该目标pt组的编号存储到该目标哈希桶中。
可选地,该写入单元420具体用于:在该将该对象数据存储到该目标pt组对应的m个对象存储设备中之后,根据该对象数据的标识,确定待查找哈希桶;在该待查找哈希桶中,根据该对象数据的标识,查找与该对象数据对应的该目标pt组的编号;当该待查找哈希桶内存在该目标pt组的编号时,确定该目标pt组,或,当该待查找哈希桶内不存在该目标pt组的编号时,根据该对象数据的标识,通过哈希算法确定该目标pt组;在该目标pt组对应的m个对象存储设备中读取该对象数据。
应理解,本发明实施例中的装置400可以为如图2所示的存储控制器121,可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现成可编程门阵列(Field-Programmable GateArray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。该装置400用于实现图4和图5所示的数据处理方法。通过软件实现图4和图5所示的数据处理方法时,流装置400及其各个模块也可以为软件模块。
应理解,根据本发明实施例的存储系统中数据处理装置400可对应于执行本发明实施例中的方法200和方法300,并且装置400中的各个模块的上述和其它操作和/或功能分别为了实现图1至图5中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的存储系统中数据处理装置,在写入对象数据时,根据哈希算法选择初始pt组,并根据计算的该初始pt组对应的OSD的使用热度,确定该初始pt组是否满足预设条件。在该初始pt组满足预设条件时确定该初始pt组为目标pt组,在该初始pt组不满足预设条件时,重新计算最优的pt组为目标pt组,并将对象数据写入该目标pt组,这样能够根据写数据行为动态优化选择pt组过程,还可以避免保存pt组的编号的元数据,并保证数据写入过程的全局均衡性和局部均衡性。
另外,在读取对象数据时,根据对象数据的标识,通过哈希算法确定哈希桶,在该哈希桶内查询对象数据对应的pt组的编号,并在该哈希桶内没有该对象数据对应的pt组的编号时,通过哈希算法,确定对象数据的pt组编号,并在该pt组内读取该对象数据,这样可以通过哈希桶保存优化后确定的对象数据对应的pt组信息,便于在需要读取对象数据时,快速查找到该对象数据。
如图7所示,本发明实施例还提供了一种存储控制器500,该存储控制器位于存储系统中,该存储系统包括n个pt组,该存储控制器500包括处理器510和存储器520,还可以包括总线系统530。其中,处理器510和存储器520可以通过总线系统530相连,该存储器520用于存储指令,该处理器510用于执行该存储器520存储的指令。该存储器520存储程序代码,且处理器510可以调用存储器520中存储的程序代码执行以下操作:
根据对象数据的标识,通过哈希算法确定该对象数据的初始pt组,该初始pt组属于该n个pt组,该n个pt组中每个pt组对应m个对象存储设备,m等于该对象数据的副本,n和m为正整数;确定该初始pt组中m个对象存储设备中每个对象存储设备的使用热度以及参考值,该参考值为该n个pt组中至少一个pt组对应的k个对象存储设备的使用热度的最小值,k为正整数;当该初始pt组中m个对象存储设备中存在使用热度与该参考值的差值大于或等于预设阈值的对象存储设备时,确定该n个pt组中每个pt组的综合权重值,并将该综合权重值最小的pt组确定为目标pt组,其中,该n个pt组中第i个pt组的所综合权重值为根据该第i个pt组对应的每个对象存储设备的使用热度确定的,i=1、2、3……n,或,当该初始pt组中m个对象存储设备中每个对象存储设备的使用热度与该参考值的差值小于该预设阈值时,将该初始pt组确定为目标pt组;将该对象数据存储到该目标pt组对应的m个对象存储设备中。
因此,本发明实施例的存储控制器,在写入对象数据时,根据哈希算法选择初始pt组,并根据计算的该初始pt组对应的OSD的使用热度,确定该初始pt组是否满足预设条件。在该初始pt组满足预设条件时确定该初始pt组为目标pt组,在该初始pt组不满足预设条件时,重新计算最优的pt组为目标pt组,并将对象数据写入该目标pt组,这样能够根据写数据行为动态优化选择pt组过程,还可以避免保存pt组的编号的元数据,并保证数据写入过程的全局均衡性和局部均衡性。
应理解,在本发明实施例中,该处理器510可以是中央处理单元(CentralProcessing Unit,简称为“CPU”),该处理器510还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器520可以包括只读存储器和随机存取存储器,并向处理器510提供指令和数据。存储器520的一部分还可以包括非易失性随机存取存储器。例如,存储器520还可以存储设备类型的信息。
该总线系统530除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统530。
在实现过程中,上述方法的各步骤可以通过处理器510中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器520,处理器510读取存储器520中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
可选地,该参考值为全局参考值,该全局参考值为该n个pt组中每个pt组对应的m个对象存储设备的使用热度的最小值,该预设阈值为全局阈值。
可选地,该处理器510具体用于:在该确定该全局参考值之前,确定该n个pt组中l个pt组对应的多个对象存储设备的使用热度的最小值为局部参考值,l为小于n的正整数;确定该初始pt组中m个对象存储设备中每个对象存储设备的使用热度与该局部参考值的差值小于局部阈值。
可选地,该参考值为局部参考值,该局部参考值为该n个pt组中l个pt组对应的多个对象存储设备的使用热度的最小值,l为小于n的正整数,该预设阈值为局部阈值。
可选地,该处理器510具体用于:在该确定该局部参考值之前,确定该n个pt组中每个pt组对应的m个对象存储设备的使用热度的最小值为该全局参考值;确定该初始pt组中m个对象存储设备中每个对象存储设备的使用热度与该全局参考值的差值小于全局阈值。
可选地,该处理器510具体用于:根据下面的公式,确定该第i个pt组的综合权重值:
m i n { ω 1 * Σ j = 0 m - 1 C i j + ω 2 * maxC i j + ω 3 * [ ( Σ j = 0 m - 1 C i j / m - C i 0 ) 2 + ( Σ j = 0 m - 1 C i j / m - C i 1 ) 2 + ... + ( Σ j = 0 m - 1 C i j / m - C i ( m - 1 ) ) 2 ] / m }
ω123=1
Cij=σRij
其中,Rij表示该第i个pt组对应的N个对象存储设备中第j个对象存储设备的引用次数,σ表示该第i个pt组对应的多个对象存储设备的系数,Cij表示该第i个pt组对应的第j个对象存储设备的加权引用次数。
可选地,该处理器510具体用于:根据滑窗算法,从该n个pt组中选择该l个pt组。
可选地,该处理器510具体用于:在将该对象数据存储到该目标pt组对应的m个对象存储设备后,将该目标pt组对应的m个对象存储设备中每个对象存储设备的使用热度加一。
可选地,该处理器510具体用于:将该综合权重值最小的pt组确定为目标pt组后,根据该对象数据的标识,确定目标哈希桶;将该对象数据的标识和该目标pt组的编号存储到该目标哈希桶中。
可选地,该处理器510体用于:在该将该对象数据存储到该目标pt组对应的m个对象存储设备中之后,根据该对象数据的标识,确定待查找哈希桶;在该待查找哈希桶中,根据该对象数据的标识,查找与该对象数据对应的该目标pt组的编号;当该待查找哈希桶内存在该目标pt组的编号时,确定该目标pt组,或,当该待查找哈希桶内不存在该目标pt组的编号时,根据该对象数据的标识,通过哈希算法确定该目标pt组;在该目标pt组对应的m个对象存储设备中读取该对象数据。
应理解,根据本发明实施例的存储控制器500可对应于本发明实施例中的存储系统中数据处理装置400,并可以对应于执行根据本发明实施例的方法100和方法200,并且存储控制器500中的各个模块的上述和其它操作和/或功能分别为了实现图1至图5中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的存储控制器,在写入对象数据时,根据哈希算法选择初始pt组,并根据计算的该初始pt组对应的OSD的使用热度,确定该初始pt组是否满足预设条件。在该初始pt组满足预设条件时确定该初始pt组为目标pt组,在该初始pt组不满足预设条件时,重新计算最优的pt组为目标pt组,并将对象数据写入该目标pt组,这样能够根据写数据行为动态优化选择pt组过程,还可以避免保存pt组的编号的元数据,并保证数据写入过程的全局均衡性和局部均衡性。
另外,在读取对象数据时,根据对象数据的标识,通过哈希算法确定哈希桶,在该哈希桶内查询对象数据对应的pt组的编号,并在该哈希桶内没有该对象数据对应的pt组的编号时,通过哈希算法,确定对象数据的pt组编号,并在该pt组内读取该对象数据,这样可以通过哈希桶保存优化后确定的对象数据对应的pt组信息,便于在需要读取对象数据时,快速查找到该对象数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (21)

1.一种存储系统中数据处理方法,其特征在于,所述存储系统包括n个磁盘分区组,所述方法包括:
根据对象数据的标识,通过哈希算法确定所述对象数据的初始磁盘分区组,所述初始磁盘分区组属于所述n个磁盘分区组,所述n个磁盘分区组中每个磁盘分区组对应m个对象存储设备,m等于所述对象数据的副本数,n和m为正整数;
确定所述初始磁盘分区组中m个对象存储设备中每个对象存储设备的使用热度以及参考值,所述参考值为所述n个磁盘分区组中至少一个磁盘分区组对应的k个对象存储设备的使用热度的最小值,k为正整数;
当所述初始磁盘分区组中m个对象存储设备中存在使用热度与所述参考值的差值大于或等于预设阈值的对象存储设备时,确定所述n个磁盘分区组中每个磁盘分区组的综合权重值,并将所述综合权重值最小的磁盘分区组确定为目标磁盘分区组,其中,所述n个磁盘分区组中第i个磁盘分区组的所综合权重值为根据所述第i个磁盘分区组对应的每个对象存储设备的使用热度确定的,i=1、2、3……n,或,
当所述初始磁盘分区组中m个对象存储设备中每个对象存储设备的使用热度与所述参考值的差值小于所述预设阈值时,将所述初始磁盘分区组确定为目标磁盘分区组;
将所述对象数据存储到所述目标磁盘分区组对应的多个m个对象存储设备中。
2.根据权利要求1所述的方法,其特征在于,所述参考值为全局参考值,所述全局参考值为所述n个磁盘分区组中每个磁盘分区组对应的m个对象存储设备的使用热度的最小值,所述预设阈值为全局阈值。
3.根据权利要求2所述的方法,其特征在于,在所述确定所述全局参考值之前,所述方法还包括:
确定所述n个磁盘分区组中l个磁盘分区组对应的多个对象存储设备的使用热度的最小值为局部参考值,l为小于n的正整数;
确定所述初始磁盘分区组中m个对象存储设备中每个对象存储设备的使用热度与所述局部参考值的差值小于局部阈值。
4.根据权利要求1所述的方法,其特征在于,所述参考值为局部参考值,所述局部参考值为所述n个磁盘分区组中l个磁盘分区组对应的多个对象存储设备的使用热度的最小值,l为小于n的正整数,所述预设阈值为局部阈值。
5.根据权利要求4所述的方法,其特征在于,在所述确定所述局部参考值之前,所述方法还包括:
确定所述n个磁盘分区组中每个磁盘分区组对应的m个对象存储设备的使用热度的最小值为所述全局参考值;
确定所述初始磁盘分区组中m个对象存储设备中每个对象存储设备的使用热度与所述全局参考值的差值小于全局阈值。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述确定所述n个磁盘分区组中每个磁盘分区组的综合权重值,包括:
根据下列公式,确定所述第i个磁盘分区组的综合权重值:
m i n { ω 1 * Σ j = 0 m - 1 C i j + ω 2 * max C i j + ω 3 * [ ( Σ j = 0 m - 1 C i j / m - C i 0 ) 2 + ( Σ j = 0 m - 1 C i j / m - C i 1 ) 2 + ... + ( Σ j = 0 m - 1 C i j / m - C i ( m - 1 ) ) 2 ] / m }
ω123=1
Cij=σRij
其中,Rij表示所述第i个磁盘分区组对应的N个对象存储设备中第j个对象存储设备的引用次数,σ表示所述第i个磁盘分区组对应的多个对象存储设备的系数,Cij表示所述第i个磁盘分区组对应的第j个对象存储设备的加权引用次数。
7.根据权利要求3至5中任一项所述的方法,其特征在于,所述方法还包括:
根据滑窗算法,从所述n个磁盘分区组中选择所述l个磁盘分区组。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
在将所述对象数据存储到所述目标磁盘分区组对应的m个对象存储设备后,将所述目标磁盘分区组对应的m个对象存储设备中每个对象存储设备的使用热度加一。
9.根据权利要求1至8中任一项所述的方法,其特征在于,将所述综合权重值最小的磁盘分区组确定为目标磁盘分区组后,所述方法还包括:
根据所述对象数据的标识,确定目标哈希桶;
将所述对象数据的标识和所述目标磁盘分区组的编号存储到所述目标哈希桶中。
10.根据权利要求9所述的方法,其特征在于,在所述将所述对象数据存储到所述目标磁盘分区组对应的m个对象存储设备中之后,所述方法还包括:
根据所述对象数据的标识,确定待查找哈希桶;
在所述待查找哈希桶中,根据所述对象数据的标识,查找与所述对象数据对应的所述目标磁盘分区组的编号;
当所述待查找哈希桶内存在所述目标磁盘分区组的编号时,确定所述目标磁盘分区组,或,
当所述待查找哈希桶内不存在所述目标磁盘分区组的编号时,根据所述对象数据的标识,通过哈希算法确定所述目标磁盘分区组;
在所述目标磁盘分区组对应的m个对象存储设备中读取所述对象数据。
11.一种存储系统中数据处理装置,其特征在于,所述存储系统包括n个磁盘分区组,所述装置包括:
处理单元,根据对象数据的标识,通过哈希算法确定所述对象数据的初始磁盘分区组,所述初始磁盘分区组属于所述n个磁盘分区组,所述n个磁盘分区组中每个磁盘分区组对应m个对象存储设备,m等于所述对象数据的副本数或纠删码EC配比长度,所述EC配比长度等于数据位长度与校验位长度之和,n和m为正整数;
所述处理单元,用于确定所述初始磁盘分区组中m个对象存储设备中每个对象存储设备的使用热度以及参考值,所述参考值为所述n个磁盘分区组中至少一个磁盘分区组对应的k个对象存储设备的使用热度的最小值,k为正整数;
所述处理单元,用于当所述初始磁盘分区组中m个对象存储设备中存在使用热度与所述参考值的差值大于或等于预设阈值的对象存储设备时,确定所述n个磁盘分区组中每个磁盘分区组的综合权重值,并将所述综合权重值最小的磁盘分区组确定为目标磁盘分区组,其中,所述n个磁盘分区组中第i个磁盘分区组的所综合权重值为根据所述第i个磁盘分区组对应的每个对象存储设备的使用热度确定的,i=1、2、3……n,或,
所述处理单元还用于:当所述初始磁盘分区组中m个对象存储设备中每个对象存储设备的使用热度与所述参考值的差值小于所述预设阈值时,将所述初始磁盘分区组确定为目标磁盘分区组;
写入单元,用于将所述对象数据存储到所述目标磁盘分区组对应的m个对象存储设备中。
12.根据权利要求11所述的装置,其特征在于,所述参考值为全局参考值,所述全局参考值为所述n个磁盘分区组中每个磁盘分区组对应的m个对象存储设备的使用热度的最小值,所述预设阈值为全局阈值。
13.根据权利要求12所述的装置,其特征在于,所述处理单元具体用于:
在所述确定所述全局参考值之前,确定所述n个磁盘分区组中l个磁盘分区组对应的多个对象存储设备的使用热度的最小值为局部参考值,l为小于n的正整数;
确定所述初始磁盘分区组中m个对象存储设备中每个对象存储设备的使用热度与所述局部参考值的差值小于局部阈值。
14.根据权利要求11所述的装置,其特征在于,所述参考值为局部参考值,所述局部参考值为所述n个磁盘分区组中l个磁盘分区组对应的多个对象存储设备的使用热度的最小值,l为小于n的正整数,所述预设阈值为局部阈值。
15.根据权利要求14所述的装置,其特征在于,所述处理单元具体用于:
在所述确定所述局部参考值之前,确定所述n个磁盘分区组中每个磁盘分区组对应的m个对象存储设备的使用热度的最小值为所述全局参考值;
确定所述初始磁盘分区组中m个对象存储设备中每个对象存储设备的使用热度与所述全局参考值的差值小于全局阈值。
16.根据权利要求11至15中任一项所述的装置,其特征在于,所述处理具体用于:
根据下列公式,确定所述第i个磁盘分区组的综合权重值:
m i n { ω 1 * Σ j = 0 m - 1 C i j + ω 2 * max C i j + ω 3 * [ ( Σ j = 0 m - 1 C i j / m - C i 0 ) 2 + ( Σ j = 0 m - 1 C i j / m - C i 1 ) 2 + ... + ( Σ j = 0 m - 1 C i j / m - C i ( m - 1 ) ) 2 ] / m }
ω123=1
Cij=σRij
其中,Rij表示所述第i个磁盘分区组对应的N个对象存储设备中第j个对象存储设备的引用次数,σ表示所述第i个磁盘分区组对应的多个对象存储设备的系数,Cij表示所述第i个磁盘分区组对应的第j个对象存储设备的加权引用次数。
17.根据权利要求12至15中任一项所述的装置,其特征在于,所述处理单元具体用于:
根据滑窗算法,从所述n个磁盘分区组中选择所述l个磁盘分区组。
18.根据权利要求11至17中任一项所述的装置,其特征在于,所述写入单元具体用于:
在将所述对象数据存储到所述目标磁盘分区组对应的m个对象存储设备后,将所述目标磁盘分区组对应的m个对象存储设备中每个对象存储设备的使用热度加一。
19.根据权利要求11至18中任一项所述的装置,其特征在于,所述写入单元具体用于:
将所述综合权重值最小的磁盘分区组确定为目标磁盘分区组后,根据所述对象数据的标识,确定目标哈希桶;
将所述对象数据的标识和所述目标磁盘分区组的编号存储到所述目标哈希桶中。
20.根据权利要求19所述的装置,其特征在于,所述处理单元具体用于:
在所述写入单元将所述对象数据存储到所述目标磁盘分区组对应的m个对象存储设备中之后,根据所述对象数据的标识,确定待查找哈希桶;
在所述待查找哈希桶中,根据所述对象数据的标识,查找与所述对象数据对应的所述目标磁盘分区组的编号;
当所述待查找哈希桶内存在所述目标磁盘分区组的编号时,确定所述目标磁盘分区组,或,
当所述待查找哈希桶内不存在所述目标磁盘分区组的编号时,根据所述对象数据的标识,通过哈希算法确定所述目标磁盘分区组;
在所述目标磁盘分区组对应的m个对象存储设备中读取所述对象数据。
21.一种存储控制器,其特征在于,包括处理器、存储器,所述处理器与所述存储器建立通信连接;
所述处理器用于读取所述存储器中的程序执行如权利要求1至10中任一项所述的数据处理方法。
CN201610692806.0A 2016-08-19 2016-08-19 存储系统中数据处理方法和装置 Active CN106339181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610692806.0A CN106339181B (zh) 2016-08-19 2016-08-19 存储系统中数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610692806.0A CN106339181B (zh) 2016-08-19 2016-08-19 存储系统中数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN106339181A true CN106339181A (zh) 2017-01-18
CN106339181B CN106339181B (zh) 2019-05-24

Family

ID=57825630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610692806.0A Active CN106339181B (zh) 2016-08-19 2016-08-19 存储系统中数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN106339181B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980647A (zh) * 2017-02-24 2017-07-25 深圳市中博睿存信息技术有限公司 一种分布式文件系统数据分布方法及装置
CN107168649A (zh) * 2017-05-05 2017-09-15 南京城市职业学院 一种分布式存储系统中数据分布的方法及装置
CN107729536A (zh) * 2017-10-31 2018-02-23 新华三技术有限公司 一种数据存储方法和装置
CN107807794A (zh) * 2017-10-31 2018-03-16 新华三技术有限公司 一种数据存储方法和装置
CN109299190A (zh) * 2018-09-10 2019-02-01 华为技术有限公司 分布式存储系统中处理对象的元数据的方法及装置
CN109445712A (zh) * 2018-11-09 2019-03-08 浪潮电子信息产业股份有限公司 一种指令处理方法、系统、设备及计算机可读存储介质
WO2019144553A1 (zh) * 2018-01-26 2019-08-01 平安科技(深圳)有限公司 数据存储方法、装置及存储介质
CN110809030A (zh) * 2019-10-17 2020-02-18 浙江大华技术股份有限公司 网络流量控制方法、装置、编解码器及存储装置
CN117725258A (zh) * 2023-12-19 2024-03-19 北京中电兴发科技有限公司 基于空间和时间均衡安防视频存储规划和定位读写的方法
CN117991997A (zh) * 2024-04-07 2024-05-07 深圳市铨兴科技有限公司 一种磁盘存储负载均衡的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855294A (zh) * 2012-08-13 2013-01-02 北京联创信安科技有限公司 一种智能哈希数据布局方法、集群存储系统及其方法
CN103124299A (zh) * 2013-03-21 2013-05-29 杭州电子科技大学 一种异构环境下的分布式块级别存储系统
CN105573682A (zh) * 2016-02-25 2016-05-11 浪潮(北京)电子信息产业有限公司 一种san存储系统及其数据读写方法
US9348761B1 (en) * 2014-06-30 2016-05-24 Emc Corporation Weighted-value consistent hashing for balancing device wear
CN105718221A (zh) * 2016-01-22 2016-06-29 华为技术有限公司 一种数据存储的方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855294A (zh) * 2012-08-13 2013-01-02 北京联创信安科技有限公司 一种智能哈希数据布局方法、集群存储系统及其方法
CN103124299A (zh) * 2013-03-21 2013-05-29 杭州电子科技大学 一种异构环境下的分布式块级别存储系统
US9348761B1 (en) * 2014-06-30 2016-05-24 Emc Corporation Weighted-value consistent hashing for balancing device wear
CN105718221A (zh) * 2016-01-22 2016-06-29 华为技术有限公司 一种数据存储的方法、装置和系统
CN105573682A (zh) * 2016-02-25 2016-05-11 浪潮(北京)电子信息产业有限公司 一种san存储系统及其数据读写方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980647B (zh) * 2017-02-24 2021-04-23 北京同有飞骥科技股份有限公司 一种分布式文件系统数据分布方法及装置
CN106980647A (zh) * 2017-02-24 2017-07-25 深圳市中博睿存信息技术有限公司 一种分布式文件系统数据分布方法及装置
CN107168649B (zh) * 2017-05-05 2019-12-17 南京城市职业学院 一种分布式存储系统中数据分布的方法及装置
CN107168649A (zh) * 2017-05-05 2017-09-15 南京城市职业学院 一种分布式存储系统中数据分布的方法及装置
CN107729536B (zh) * 2017-10-31 2020-09-08 新华三技术有限公司 一种数据存储方法和装置
CN107807794A (zh) * 2017-10-31 2018-03-16 新华三技术有限公司 一种数据存储方法和装置
CN107729536A (zh) * 2017-10-31 2018-02-23 新华三技术有限公司 一种数据存储方法和装置
WO2019144553A1 (zh) * 2018-01-26 2019-08-01 平安科技(深圳)有限公司 数据存储方法、装置及存储介质
CN109299190A (zh) * 2018-09-10 2019-02-01 华为技术有限公司 分布式存储系统中处理对象的元数据的方法及装置
CN109299190B (zh) * 2018-09-10 2020-11-17 华为技术有限公司 分布式存储系统中处理对象的元数据的方法及装置
CN109445712A (zh) * 2018-11-09 2019-03-08 浪潮电子信息产业股份有限公司 一种指令处理方法、系统、设备及计算机可读存储介质
CN110809030A (zh) * 2019-10-17 2020-02-18 浙江大华技术股份有限公司 网络流量控制方法、装置、编解码器及存储装置
CN117725258A (zh) * 2023-12-19 2024-03-19 北京中电兴发科技有限公司 基于空间和时间均衡安防视频存储规划和定位读写的方法
CN117991997A (zh) * 2024-04-07 2024-05-07 深圳市铨兴科技有限公司 一种磁盘存储负载均衡的方法和装置
CN117991997B (zh) * 2024-04-07 2024-06-11 深圳市铨兴科技有限公司 一种磁盘存储负载均衡的方法和装置

Also Published As

Publication number Publication date
CN106339181B (zh) 2019-05-24

Similar Documents

Publication Publication Date Title
CN106339181A (zh) 存储系统中数据处理方法和装置
CN106302702B (zh) 数据的分片存储方法、装置及系统
CN111753016B (zh) 数据处理方法、装置、系统及计算机可读存储介质
US10346208B2 (en) Selecting one of plural layouts of virtual machines on physical machines
CN108595254B (zh) 一种查询调度方法
CN107450855B (zh) 一种用于分布式存储的模型可变的数据分布方法及系统
CN111258980B (zh) 一种云存储系统中基于组合预测的动态文件放置方法
US10965610B1 (en) Systems and methods for allocating shared resources in multi-tenant environments
CN113806018A (zh) 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法
CN106802939A (zh) 一种解决数据冲突的方法和系统
US20070239888A1 (en) Controlling transmission of data
US10313457B2 (en) Collaborative filtering in directed graph
CN118227337B (zh) 一种键值对存储系统的处理方法和装置
US20220300323A1 (en) Job Scheduling Method and Job Scheduling Apparatus
CN113723443A (zh) 一种视觉大模型分布式训练方法及系统
US20050283487A1 (en) Method of determining lower bound for replication cost
CN110178119B (zh) 处理业务请求的方法、装置与存储系统
WO2022148306A1 (zh) 一种淘汰数据的方法、装置、缓存节点以及缓存系统
CN106933882B (zh) 一种大数据增量计算方法和装置
CN111046004B (zh) 一种数据文件存储方法、装置、设备及存储介质
CN104239520A (zh) 一种基于历史信息的hdfs数据块放置策略
CN115934354A (zh) 在线存储方法和装置
US20210357770A1 (en) Dynamic Determination of Data Load Process for a Rule Engine in a Decision Service
CN115061811A (zh) 一种资源调度方法、装置、设备及存储介质
CN105528303A (zh) 用于管理存储系统的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant