一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种对象存储数据生命周期管理方法、装置及设备与流程

2022-03-09 05:34:20 来源:中国专利 TAG:


1.本发明涉及数据存储技术领域,具体涉及一种对象存储数据生命周期管理方法、装置及设备。


背景技术:

2.叠瓦式磁记录(shingled magnetic recording,smr)是一种领先的下一代磁盘技术,相邻磁道之间按序部分重叠,能提高单位存储介质的存储密度,降低存储成本。正是由于smr磁盘物理上的特点,导致了它的读行为虽然与普通hdd(hard disk drive)机械硬盘无异,但是它的写行为却有着巨大的变化,它不支持随机写和原地更新写,因为这样会导致相重叠磁道数据被覆盖。
3.smr磁盘将磁道划分为多个带(band),即连续磁道所构成的壳连续写入的区域,每个区域成为一个需要顺序写入的基本单元。band是smr磁盘物理概念,对应的逻辑概念称为“区域(zone)”,一个zone的大小为256mb。即zone只支持连续写入,支持随机读取,只支持整个zone空间删除,造成空间浪费、空间不能及时回收。
4.基于上述smr的缺点,目前更多的是smr硬盘内部怎么具体的使用,例如,创建本地文件系统,创建smr硬盘内部索引,smr和随机存储介质之间的关联关系。均不涉及到对象生命周期管理以及空间管理,并未有效解决smr硬盘zone空间复用问题,也并未提升整个对象存储系统的空间利用率。


技术实现要素:

5.本技术目的是提供一种对象存储数据生命周期管理方法、装置及设备,用于对象生命周期管理以及空间管理,解决了smr硬盘zone空间复用问题,并提升了整个对象存储系统的空间利用率。
6.第一方面,本技术实施例提供了一种对象存储数据生命周期管理方法,所述方法包括:
7.响应于数据写入指令,根据对象分片的写入时间及存储生命周期确定所述对象分片的到期时间;
8.根据可用zone列表中可用zone的到期时间,确定能够选择出一个可用zone作为第一目标zone时,指示对应的存储节点将所述对象分片写入所述第一目标zone;
9.否则,选择一个空闲zone作为第二目标zone,指示对应的存储节点将所述对象分片写入所述第二目标zone,将所述第二目标zone加入可用zone列表,并根据所述对象分片的写入时间及存储生命周期确定所述第二目标zone的到期时间;
10.确定可用zone列表中可用zone满足不可用条件时,将所述可用zone变更为不可用zone并移动到不可用zone列表;
11.根据不可用zone的到期时间确定过期的不可用zone,指示对应的存储节点删除所述不可用zone,将所述不可用zone恢复为空闲zone。
12.在一种可能的实施例中,根据可用zone列表中可用zone的到期时间,确定能够选择出一个可用zone作为第一目标zone,包括:
13.根据到期时间范围与可用zone列表的索引中,查找对象分片的到期时间所在的到期时间范围;
14.从查找到的到期时间范围对应的可用zone列表中,确定至少一个可用zone的到期时间在所述对象分片的到期时间之后时,从所述至少一个可用zone中选择出一个第一目标zone。
15.在一种可能的实施例中,从所述至少一个可用zone中选择出一个第一目标zone/选择一个空闲zone作为第二目标zone,包括:
16.按照存储节点负载均衡的方式,从所述至少一个可用zone中选择出一个第一目标zone/选择一个空闲zone作为第二目标zone。
17.在一种可能的实施例中,确定可用zone列表中可用zone满足不可用条件时,将所述可用zone变更为不可用zone并移动到不可用zone列表,包括如下至少一种情况:
18.确定可用zone列表中可用zone的剩余空间小于预设值时,将所述可用zone变更为不可用zone移动到不可用zone列表;
19.确定可用zone加入可用zone列表后超过预设可复用时间时,将所述可用zone变更为不可用zone移动到不可用zone列表。
20.在一种可能的实施例中,根据所述对象分片的写入时间及存储生命周期确定所述第二目标zone的到期时间,包括:
21.将所述对象分片的写入时间与所述对象分片的生命周期求和,得到所述第二目标zone的最短到期时间,将所述最短到期时间与预设可复用时间求和,得到最长到期时间。
22.在一种可能的实施例中,从所述至少一个可用zone中选择出一个第一目标zone,包括:
23.确定至少一个可用zone的最短到期时间在所述对象分片的到期时间之后时,从所述至少一个可用zone中选择出一个第一目标zone;
24.否则,将可用zone列表中可用zone的最短到期时间,按照设定时间粒度递增;
25.确定递增后的至少一个可用zone的到期时间在所述对象分片的到期时间之后时结束递增,从所述至少一个可用zone中选择出一个第一目标zone,或递增后可用zone的到期时间到达对应的最长到期时间时结束递增。
26.在一种可能的实施例中,根据不可用zone的到期时间确定过期的不可用zone,包括:
27.将所述不可用zone中第一个对象分片写入的时间、所述第一个对象分片的生命周期与预设可复用时间求和,得到所述不可用zone的最长到期时间;
28.确定当前时间距离不可用zone中第一个对象分片写入的时间,超过所述不可用zone的最长到期时间时,确定所述不可用zone过期。
29.在一种可能的实施例中,从所述至少一个可用zone中选择出一个第一目标zone,包括:
30.确定至少一个可用zone的到期时间在所述对象分片的到期时间之后时,从所述至少一个可用zone中,选择到期时间与所述对象分片的到期时间最接近的一个可用zone作为
第一目标zone。
31.在一种可能的实施例中,所述方法还包括:
32.获取存储节点上报的已删除zone内的对象分片信息;
33.确定同一文件的小于/等于m个对象分片被删除时,将该文件对应的对象数据状态更新为降级状态,将对所述文件的访问控制更新为可读取;
34.确定同一文件的大于m个对象分片,但小于n m个对象被删除时,将该文件对应的对象数据状态更新为删除中状态,将对所述文件的访问控制更新为可查询记录,但不可读取;
35.确定同一文件的n m个对象分片被删除时,将该文件对应的对象数据状态更新为删除状态,将对所述文件的访问控制更新为不可查询。
36.第二方面,本技术实施例提供了一种对象存储数据生命周期管理装置,所述装置包括:
37.响应指令模块,用于响应于数据写入指令,用于分别获取写入的对象分片及可用zone列表中可用zone的到期时间;
38.第一选择zone模块,用于根据可用zone列表中可用zone的到期时间,确定能够选择出一个可用zone作为第一目标zone时,指示对应的存储节点将所述对象分片写入所述第一目标zone;
39.第二选择zone模块,用于选择一个空闲zone作为第二目标zone,指示对应的存储节点将所述对象分片写入所述第二目标zone,将所述第二目标zone加入可用zone列表,并根据所述对象分片的写入时间及存储生命周期确定所述第二目标zone的到期时间;
40.第一zone变更模块,用于确定可用zone列表中可用zone满足不可用条件时,将所述可用zone变更为不可用zone并移动到不可用zone列表;
41.第二zone变更模块,用于根据不可用zone的到期时间确定过期的不可用zone,指示对应的存储节点删除所述不可用zone,将所述不可用zone恢复为空闲zone。
42.第三方面,本技术实施例提供了一种对象存储数据生命周期管理设备,所述设备包括:
43.至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行对象存储数据生命周期管理方法中任何一项所述的方法。
44.第四方面,本技术实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机执行对象存储数据生命周期管理方法任何一项所述的方法。
45.本技术实施例提供的一种对象存储数据生命周期管理方法、装置及设备,通过维护可用zone列表、不可用zone列表和空闲zone之间的动态变更,进行对象分片数据删除和zone空间整块释放,达到高效循环利用云存储空间;解决了smr硬盘只支持连续zone写入,整块zone删除特性带来的空间浪费、空间及时回收的问题,提升了整个对象存储系统的空间利用率。
附图说明
46.图1a为根据本发明示例性实施例示例的一种数据写入过程示意图;
47.图1b为根据本发明示例性实施例示例的一种数据写入过程示意图;
48.图2为根据本发明示例性实施例示例的一种对象存储数据生命周期管理方法流程示意图;
49.图3为根据本发明示例性实施例示例的一种数据写入过程示意图;
50.图4为根据本发明示例性实施例示例的一种可用zone列表示意图;
51.图5为根据本发明示例性实施例示例的一种不可用zone列表示意图;
52.图6为根据本发明示例性实施例示例的一种按照时间粒度管理可用/不可用zone列表流程示意图;
53.图7为根据本发明示例性实施例示例的一种对象分片写入流程示意图;
54.图8为根据本发明示例性实施例示例的一种对象存储数据生命周期管理装置示意图;
55.图9为根据本发明示例性实施例示例的一种对象存储数据生命周期管理设备示意图。
具体实施方式
56.下面将结合附图对本技术实施例中的技术方案进行清楚、详尽地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
57.首先,对本发明实施例的专业术语进行介绍。
58.叠瓦式磁记录(shingled magnetic recording,smr)磁盘:是一种领先的下一代磁盘技术,相邻磁道之间按序部分重叠,能提高单位存储介质的存储密度,降低存储成本。正是由于smr磁盘物理上的特点,导致了它的读行为虽然与普通机械硬盘(hard disk drive,hdd)无异,但是它的写行为却有着巨大的变化,它不支持随机写和原地更新写,因为这样会导致相重叠磁道数据被覆盖。因此smr磁盘仅支持从头到尾的顺序写入。
59.smr磁盘将磁道划分为多个带(band),即连续磁道所构成的壳连续写入的区域,每个区域成为一个需要顺序写入的基本单元。band是smr磁盘物理概念,对应的逻辑概念称为“区域”(zone),一个zone的大小为256mb。即zone只支持连续写入,支持随机读取,只支持整个zone空间删除。
60.纠删码(erasure code,ec):通用术语为n m,即n个数据块,生成m个校验块。
61.数据生命周期:即表示数据的有效存储时间。例如在安防存储场景下,视频、图片存储周期,通常都是按照以“小时”粒度进行衡量。例如录像存储90天*24小时、图片存储180天*24小时。数据生命周期到期之后,系统自动对过期数据进行删除,空间释放,用于新数据写入,存储空间循环利用。
62.对象存储:通常将用户数据,按照4mb大小进行切分,以4mb为粒度进行管理。其中4mb大小为可配置大小,每家存储厂商可能不同。本实施例提到对象,对象文件,均表示同一个意思。在本实施例中,对象数据存储模式,采用的是n m ec模式,即将4mb对象文件数据,
在拆分为n个数据分片,再计算出m个冗余分片,每个分片,本实施例中统一称为对象分片。每个对象分片,最终是写入到不同的smr硬盘的zone空间内。
63.如图1a所示,例如将一个16mb用户数据的数据分割成对象文件数据1、对象文件数据2、对象文件数据3和对象文件数据4,每个对象大小为4mb。
64.然后,对每个对象采用ec模式写入对应存储节点中,如图1b所示,以对象1为例,将对象1拆分为4个对象分片,即n为4,每个对象分片大小为1mb,根据4个对象分片计算得到1个冗余对象分片,即m为1,将所述5个对象分片分别写入5个存储节点中。
65.下面将结合附图对本技术实施例中的对象存储数据生命周期管理方法进行详细的说明。
66.图2为本技术实施例提供的一种对象存储数据生命周期管理方法流程示意图,应用于管理节点,包括:
67.s201:响应于数据写入指令,根据对象分片的写入时间及存储生命周期确定所述对象分片的到期时间。
68.用户通过客户端将数据写入云存储系统,一个数据文件可以划分为多个对象,将对象按照预设数据块大小进行分片得到对象分片。对象分片的到期时间又可以称为“分片对象生命周期到期时间”,通过计算该对象分片写入对应的存储节点的时间与用户预设的生命周期的和,得到该对象分片的到期时间。
69.s202:根据可用zone列表中可用zone的到期时间,确定能够选择出一个可用zone作为第一目标zone时,指示对应的存储节点将所述对象分片写入所述第一目标zone,否则,执行步骤203。
70.本实施例中可用zone列表中包括多个可用zone,空闲zone在第一次写入对象分片时,更新为可用zone并加入到可用zone列表,并根据第一个对象分片的写入数据确定该可用zone的到期时间,可用zone列表中的可用zone在满足不可用条件时,将所述可用zone变更为不可用zone并移动到不可用zone列表。
71.在数据写入的过程中,需要分别计算对象分片和各可用zone的到期时间,对象分片的到期时间可以根据用户的需求进行配置,例如用户希望当前数据存储30天,则当前数据对应的对象分片30天后到期,即该对象分片的生命周期为30天。
72.如前所述,每个可用zone具有一个到期时间,则根据对象分片的到期时间,选择是否有到期时间在对象分片到期之后的可用zone,如果有,则确定能够选择出一个可用zone作为第一目标zone时,将所述对象分片写入所述第一目标zone,否则,确定不能选择出一个可用zone作为第一目标zone。确定能够选择出一个可用zone作为第一目标zone时,确定至少一个可用zone的到期时间在所述对象分片的到期时间之后,从所述至少一个可用zone中选择出一个第一目标zone,将所述对象分片写入所述第一目标zone。
73.作为一种可选的实施方式,采用如下方式从所述至少一个可用zone中选择出一个第一目标zone,包括:
74.确定至少一个可用zone的到期时间在所述对象分片的到期时间之后时,从所述至少一个可用zone中,选择到期时间与所述对象分片的到期时间最接近的一个可用zone作为第一目标zone,确保了zone内存储的不同对象分片最终的到期时间一致或者相差不大,保证在删除整个zone的时候,该zone内的对象分片均达到到期时间。
75.作为一种可选的实施方式,从所述至少一个可用zone中选择出一个第一目标zone,包括:
76.按照存储节点负载均衡的方式,从所述至少一个可用zone中选择出一个第一目标zone,避免了只从一个存储节点选择目标zone造成的该存储节点负载过重的问题。
77.s203:如果从可用zone列表中获取可用zone失败时,则选择一个空闲zone作为第二目标zone,指示对应的存储节点将所述对象分片写入所述第二目标zone,将所述第二目标zone加入可用zone列表,并根据所述对象分片的写入时间及存储生命周期确定所述第二目标zone的到期时间。
78.如果可用列表中没有可用zone,则从空闲zone资源池中选择一个空闲zone作为第二目标zone,指示对应的存储节点将所述对象分片写入所述第二目标zone,并根据第二目标zone中第一个对象分片的写入时间确定第二目标zone的到期时间。
79.s204:确定可用zone列表中可用zone满足不可用条件时,将所述可用zone变更为不可用zone并移动到不可用zone列表。
80.本技术实施例中可以采用不同的参数定义可用zone对应的不可用条件,可以但不限于采用到期时间、剩余空间等参数进行定义。
81.s205:根据不可用zone的到期时间确定过期的不可用zone,指示对应的存储节点删除所述不可用zone,将所述不可用zone恢复为空闲zone。
82.本技术实施例可以采用不同的参数定义不可用zone列表中的不可用zone过期,作为一种可选的实施方式,可以根据不可用zone的到期时间定义,在不可用zone到达对应的到期时间之后,确定过期。
83.本技术实施例通过管理节点对所述不可用zone列表的到期时间进行实时“监测”,确定某个不可用zone过期时,指示对应的存储节点删除该不可用zone,将该zone恢复为空闲zone,实现资源的实时回收。
84.本技术实施例提供的一种对象存储数据生命周期管理方法,确定满足将可用zone移动到不可用zone列表条件时,将可用zone移动到不可用zone列表;确定满足将不可用zone删除条件时,将不可用zone恢复为空闲zone;确定满足将空闲zone移动到可用zone列表条件时,将空闲zone移动到可用zone列表。通过实现上述可用zone、不可用zone、空闲zone之间的动态流转过程,解决了smr盘只支持连续写入、只支持整个zone空间删除特性带来的空间浪费、空间及时回收的问题。
85.在一种可能的实施方式中,在确定出第一目标zone/第二目标zone后,指示第一目标zone/第二目标zone所在的存储节点写入对象分片的具体过程如图3所示,管理节点将对应的存储节点指示给客户端,客户端根据管理节点指示的各对象分片写入的存储节点,并将各对象分片数据分发给对应的存储节点。各对象分片的生命周期为可配置项,即可根据用户的意愿进行配置。对象分片可以通过sdk传递给存储节点,同时传递有该对象分片的生命周期信息,针对不同用户的数据文件,可以配置不同的生命周期。例如用户1写入数据存储180天,用户2写入数据需要存储180天;同样用户,写入不同数据,也可以设置不同的生命周期。
86.客户端将对象文件发送到管理节点,带有该对象的详细信息,包括对象名称、大小,以及所属的用户,以及所处于的bucket目录等;
87.客户端将对象分片分发给存储节点,带有该对象分片的大小,生命周期,其中生命周期时间的单位精确到1秒。
88.本发明实施例中对可用zone列表中的可用zone可以设置可复用时间,则可用zone加入可用列表之后,如果超出预设可复用时间,则意味着不可复用,需要加入到不可用zone列表中。
89.作为一种可选的实施方式,确定可用zone列表中可用zone满足不可用条件时,将所述可用zone变更为不可用zone并移动到不可用zone列表,包括如下至少一种情况:
90.确定可用zone列表中可用zone的剩余空间小于预设值时,将所述可用zone变更为不可用zone移动到不可用zone列表;
91.确定可用zone加入可用zone列表后超过预设可复用时间时,将所述可用zone变更为不可用zone移动到不可用zone列表。
92.例如当某一zone的剩余空间小于1mb,或者距离第一个对象分片写入该zone的时间超过2天,则将该zone加入到不可用zone列表中,其中1mb、2天为可配置项。
93.预设可复用时间以2天为例,可用zone加入可用列表就意味着,该zone已经被写入数据,在2天内,该可用zone可以作为第一目标zone被选择,若超出两天,无论该可用zone的剩余空间为多少,都将变更为不可用zone,并移动到不可以zone列表中。
94.本发明实施例中可用zone的到期时间根据zone中第一个对象分片的时间,及该对象分片的生命周期确定,具体可以采用如下方式确定:将所述对象分片的写入时间与所述对象分片的生命周期求和,得到所述第二目标zone的最短到期时间,将所述最短到期时间与预设可复用时间求和,得到最长到期时间。
95.作为一种可选的实施方式,根据不可用zone的到期时间确定过期的不可用zone,包括:
96.将所述不可用zone中第一个对象分片写入的时间、所述第一个对象分片的生命周期与预设可复用时间求和,得到所述不可用zone的最长到期时间;
97.确定当前时间距离不可用zone中第一个对象分片写入的时间,超过所述不可用zone的最长到期时间时,确定所述不可用zone过期。
98.例如一个不可用zone中第一个对象分片写入的时间为10月1日,预设的生命周期为30天,预设的复用时间为2天,则该不可用zone的最长到期时间为11月2日,即11月2日删除该不可用zone,并将该不可用zone恢复为空闲zone。
99.可用zone的到期时间是一个时间范围,即可用zone的到期时间为[最短到期时间,最长到期时间]。其中,zone的可复用时间以该zone第一次写入对象分片的时间开始计算,例如第一个对象分片写入zone的时间为9月1日2:00,预设的可复用时间为2天,则从9月1日2:00到9月3日2:00之间,都在zone的可复用时间范围内,即在这个时间范围内,具有同样数据生命周期的对象分片可以写入该zone。
[0100]
基于上述方式确定可用zone列表中可用zone的到期时间后,可以建立可用zone到期时间与可用/不可用zone的索引关系,以支持新对象分片的数据写入,具体如图4、图5所示,同一个到期时间可能对应多个可用/不可用zone。表中的t1、t2...tn,表明了是按照到期时间先后排序,新对象分片数据写入优先写入最先到期的zone内。到期时间默认以30分钟为粒度进行管理,默认每天48个索引,如果云存储系统最长的数据存储365天,则总共有
365*48个“到期时间”索引映射。其中,到期时间管理粒度可以配置,可以根据云存储最长存储周期、存储节点容量、并发度进行合理配置。
[0101]
需要注意的是,存储节点上所有空闲的zone,单独通过缓存管理,不需要单独建立如上类似的索引管理。
[0102]
作为一种可选的实施方式,本技术实施例按照时间粒度k对可用zone列表和不可用zone列表进行管理,即间隔时间k判断可用zone列表中的可用zone是否满足不可用条件,判断不可用zone列表中的不可用zone是否过期,按照时间粒度k建立上述索引关系。如图6所示,具体按照时间粒度k进行如下管理:
[0103]
1)获取当前系统的时间,遍历不可用zone列表,判断是否从不可用zone列表中获取到一个距离第一个对象分片写入时间,超过zone最长到期时间的不可用zone,若获取一个过期的不可用zone成功,则删除该不可用zone,并将该zone恢复为空闲zone。按照时间粒度k对不可用zone列表进行循环遍历。当获取一个过期的不可用zone失败时,执行步骤2)。
[0104]
2)重新获取当前系统时间,遍历可用zone列表,判断是否从可用zone列表中获取到一个第一个对象分片写入zone后超过预设复用时间,但是还未从可用zone列表中移除的可用zone,若获取到一个过期可用zone,则将该可用zone移入不可用zone列表中。
[0105]
按照时间粒度k对可用zone列表进行循环遍历,1)、2)中的k为可配置项。减少下次可用zone复用判断次数,提高复用对比效率。
[0106]
在一种可能的实施方式中,对象分片写入流程包括如下步骤:从所述至少一个可用zone中选择出一个第一目标zone,包括:
[0107]
确定至少一个可用zone的最短到期时间在所述对象分片的到期时间之后时,从所述至少一个可用zone中选择出一个第一目标zone;
[0108]
否则,将可用zone列表中可用zone的最短到期时间,按照设定时间粒度递增;
[0109]
确定递增后的至少一个可用zone的到期时间在所述对象分片的到期时间之后时结束递增,从所述至少一个可用zone中选择出一个第一目标zone,或递增后可用zone的到期时间到达对应的最长到期时间时结束递增。
[0110]
对象分片写入流程具体如图7所示:
[0111]
1)接收来自客户端发过来的对象分片及其信息,所述信息包括对象分片的生命周期,根据对象分片的生命周期得到该对象分片的到期时间。
[0112]
在一中可能的实施方式中,以对象分片的生命周期为30天为例,当前系统时间为10月1日,则对象分片将在10月31日到期。
[0113]
2)查找可用zone列表,获取一个可用zone。
[0114]
首先需要计算所述多个zone的最短到期时间,当存在至少一个可用zone的最短到期时间为10月31日及之后,则按照负载均衡的方式选择一个可用zone;当所述多个可用zone的最短到期时间在10月31日之前,则按照设定的时间粒度(30分钟)将可用zone的到期时间进行递增,当递增后的可用zone的到期时间为10月31日及之后,结束递增,选择该可用zone作为第一目标zone;若到期时间递增至最长到期时间,都未获取到一个可用zone,结束递增,即为选择一个可用zone作为第一zone失败。
[0115]
3)选择一个空闲zone作为第二目标zone。
[0116]
当通过2)中所述方法选择一个可用zone作为第一目标zone失败时,则按照负载均
衡的方式选择一个空闲zone,将该zone加入到可用zone列表中,并计算该zone的最短到期时间和最长到期时间。
[0117]
在一种可能的实施方式中,本技术实施例提供的一种对象存储数据生命周期管方法还包括:
[0118]
获取存储节点上报的已删除zone内的对象分片信息;
[0119]
确定同一文件的小于/等于m个对象分片被删除时,将该文件对应的对象数据状态更新为降级状态,将对所述文件的访问控制更新为可读取;
[0120]
确定同一文件的大于m个对象分片,但小于n m个对象被删除时,将该文件对应的对象数据状态更新为删除中状态,将对所述文件的访问控制更新为可查询记录,但不可读取;
[0121]
确定同一文件的n m个对象分片被删除时,将该文件对应的对象数据状态更新为删除状态,将对所述文件的访问控制更新为不可查询。
[0122]
通过上述实施方式,实现根据存储节点上报的已删除zone内的对象分片信息,结合对象的ec模式,更新对象状态和访问控制。以4 1为例:4为ec写入模式中数据块的数量,1为ec写入模式中冗余块的数量。
[0123]
确定同一文件的小于/等于1个对象分片被删除时,将该文件对应的对象数据状态更新为降级状态,将对所述文件的访问控制更新为可读取;
[0124]
确定同一文件的大于1个对象分片,但小于5个对象被删除时,将该文件对应的对象数据状态更新为删除中状态,将对所述文件的访问控制更新为可查询记录,但不可读取;
[0125]
确定同一文件的5个对象分片被删除时,将该文件对应的对象数据状态更新为删除状态,将对所述文件的访问控制更新为不可查询。
[0126]
基于相同的发明构思,本技术提供了一种对象存储数据生命周期管理装置,800,如图8所示,该装置包括:
[0127]
响应指令模块801,用于响应于数据写入指令,根据对象分片的写入时间及存储生命周期确定所述对象分片的到期时间;
[0128]
第一选择zone模块802,用于根据可用zone列表中可用zone的到期时间,确定能够选择出一个可用zone作为第一目标zone时,指示对应的存储节点将所述对象分片写入所述第一目标zone;
[0129]
第二选择zone模块803,用于选择一个空闲zone作为第二目标zone,指示对应的存储节点将所述对象分片写入所述第二目标zone,将所述第二目标zone加入可用zone列表,并根据所述对象分片的写入时间及存储生命周期确定所述第二目标zone的到期时间;
[0130]
第一zone变更模块804,用于确定可用zone列表中可用zone满足不可用条件时,将所述可用zone变更为不可用zone并移动到不可用zone列表;
[0131]
第二zone变更模块805,用于根据不可用zone的到期时间确定过期的不可用zone,指示对应的存储节点删除所述不可用zone,将所述不可用zone恢复为空闲zone。
[0132]
在一种可能的实施方式中,根据可用zone列表中可用zone的到期时间,确定能够选择出一个可用zone作为第一目标zone,包括:
[0133]
根据到期时间范围与可用zone列表的索引中,查找对象分片的到期时间所在的到期时间范围;
[0134]
从查找到的到期时间范围对应的可用zone列表中,确定至少一个可用zone的到期时间在所述对象分片的到期时间之后时,从所述至少一个可用zone中选择出一个第一目标zone。
[0135]
在一种可能的实施方式中,第二选择zone模块从所述至少一个可用zone中选择出一个第一目标zone/选择一个空闲zone作为第二目标zone,包括:
[0136]
按照存储节点负载均衡的方式,从所述至少一个可用zone中选择出一个第一目标zone/选择一个空闲zone作为第二目标zone。
[0137]
在一种可能的实施方式中,第一zone变更模块确定可用zone列表中可用zone满足不可用条件时,将所述可用zone变更为不可用zone并移动到不可用zone列表,包括如下至少一种情况:
[0138]
确定可用zone列表中可用zone的剩余空间小于预设值时,将所述可用zone变更为不可用zone移动到不可用zone列表;
[0139]
确定可用zone加入可用zone列表后超过预设可复用时间时,将所述可用zone变更为不可用zone移动到不可用zone列表。
[0140]
在一种可能的实施方式中,根据所述对象分片的写入时间及存储生命周期确定所述第二目标zone的到期时间,包括:
[0141]
将所述对象分片的写入时间与所述对象分片的生命周期求和,得到所述第二目标zone的最短到期时间,将所述最短到期时间与预设可复用时间求和,得到最长到期时间。
[0142]
在一种可能的实施方式中,第一选择zone模块,从所述至少一个可用zone中选择出一个第一目标zone,包括:
[0143]
确定至少一个可用zone的最短到期时间在所述对象分片的到期时间之后时,从所述至少一个可用zone中选择出一个第一目标zone;
[0144]
否则,将可用zone列表中可用zone的最短到期时间,按照设定时间粒度递增;
[0145]
确定递增后的至少一个可用zone的到期时间在所述对象分片的到期时间之后时结束递增,从所述至少一个可用zone中选择出一个第一目标zone,或递增后可用zone的到期时间到达对应的最长到期时间时结束递增。
[0146]
在一种可能的实施方式中,第二zone变更模块根据不可用zone的到期时间确定过期的不可用zone,包括:
[0147]
将所述不可用zone中第一个对象分片写入的时间、所述第一个对象分片的生命周期与预设可复用时间求和,得到所述不可用zone的最长到期时间;
[0148]
确定当前时间距离不可用zone中第一个对象分片写入的时间,超过所述不可用zone的最长到期时间时,确定所述不可用zone过期。
[0149]
在一种可能的实施方式中,第一选择zone模块从所述至少一个可用zone中选择出一个第一目标zone,包括:
[0150]
确定至少一个可用zone的到期时间在所述对象分片的到期时间之后时,从所述至少一个可用zone中,选择到期时间与所述对象分片的到期时间最接近的一个可用zone作为第一目标zone。
[0151]
在一种可能的实施方式中,上报信息模块用于获取存储节点上报的已删除zone内的对象分片信息;
[0152]
确定同一文件的小于/等于m个对象分片被删除时,将该文件对应的对象数据状态更新为降级状态,将对所述文件的访问控制更新为可读取;
[0153]
确定同一文件的大于m个对象分片,但小于n m个对象被删除时,将该文件对应的对象数据状态更新为删除中状态,将对所述文件的访问控制更新为可查询记录,但不可读取;
[0154]
确定同一文件的n m个对象分片被删除时,将该文件对应的对象数据状态更新为删除状态,将对所述文件的访问控制更新为不可查询。
[0155]
其中n为纠删码ec写入模式中数据块的数量,m为ec写入模式中冗余块的数量。
[0156]
基于相同的发明构思,本技术提供了一种对象存储数据生命周期管理设备,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述实施例中的任一对象存储数据生命周期管理的方法。
[0157]
下面参照图9来描述根据本技术的这种实施方式的电子设备130。图9显示的电子设备130仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0158]
如图9所示,电子设备130以通用电子设备的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
[0159]
所述处理器131用于读取所述存储器132中的指令并执行,以使所述至少一个处理器能够执行上述实施例提供的对象存储数据生命周期管理方法。
[0160]
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0161]
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(rom)1323。
[0162]
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0163]
电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备130交互的设备通信,和/或与使得该电子设备130能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(i/o)接口135进行。并且,电子设备130还可以通过网络适配器136与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0164]
在一些可能的实施方式中,本技术提供的一种对象存储数据生命周期管理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的一种对象存储数据生命周期管理方法的步骤。
[0165]
另外,本技术还提供一种计算机可读存储介质,所述计算机存储介质存储有计算机程序所述计算机程序用于使计算机执行上述实施例中任何一项所述的方法。
[0166]
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0167]
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0168]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0169]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献