对象调整方法、迁移控制设备、节点设备及存储系统的制作方法

文档序号:6358976阅读:147来源:国知局
专利名称:对象调整方法、迁移控制设备、节点设备及存储系统的制作方法
技术领域
本发明 实施例涉及数据存储技术领域,尤其涉及一种对象调整方法、迁移控制设备、节点设备及存储系统。
背景技术
随着计算机网络技术的发展,用于存储计算机网络中数据的存储系统的使用越来越广泛。在很多存储服务的场景(如视频点播、Web Cache等)下,用户访问存储对象的频度是有很大差异的,根据统计,对象分发的热度分布符合齐普夫定律(Zipf' s Law),热点对象的访问往往是冷门对象访问的数十倍,同时热点对象的规模远小于热度一般及冷门对象的规模,因此,提高热点对象的访问速度是提升存储系统整体性能的关键。为了有效地提高存储系统的整体性能,现有技术中通常采用增加热点对象的副本数,例如从存储系统中的多个节点上同时向访问的用户提供热点对象的存储服务。该种方式在业界通常称为协作 Cache0其中对象可以为在存储系统中存储的数据单元,例如可以为一个数据块。在实现本发明过程中,发明人发现现有技术中至少存在如下问题现有的协作 cache的方法,同时存在多个对象副本,在对多个对象进行更新时会导致多个对象副本不一致的问题,影响存储系统的性能。

发明内容
本发明实施例提供一种对象调整方法、迁移控制设备、节点设备及存储系统,以实现存储系统性能的最大化。本发明实施例提供一种对象调整方法,包括接收至少一个节点发送的至少一个对象的对象信息,共接收到至少一个对象信息;所述对象信息中包括对象标识、对象大小、对象的第一位置和对象的访问热度;所述对象的访问热度指的是所述对象在上一周期内被访问的次数;根据预先存储的各所述节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及所述至少一个对象信息,在满足各所述存储介质的占比小于1的条件下,获取所述至少一个对象的调整信息;所述调整信息中包括所述对象标识和所述对象标识对应的对象被调整后的第二位置,所述至少一个对象的第二位置能够保证所述至少一个对象在对应的所述第二位置上的读写速率与所述访问热度乘积之和最大;所述存储介质的占比指的是在上一周期内,所述存储介质上存储的各对象在所述存储介质上的访问热度和所述对象的大小的乘积除以所述存储介质的最大吞吐率之后的累加;向所述至少一个节点发送所述至少一个对象的调整信息,以供所述至少一个节点根据所述至少一个对象的调整信息对所述至少一个对象进行迁移。本发明实施例还提供一种对象调整方法,包括向迁移控制设备发送第一对象的第一对象信息,以供所述迁移控制设备根据预先存储的至少一个节点中各所述节点中的各个存储介质处理各级大小的对象的读写速率和存储容量、所述第一对象信息以及其他节点发送的第二对象信息,获取所述第一对象的调整信息;所述第一对象信息中包括第一对象标识、第一对象大小、第一对象的第一位置和第一对象的访问热度;所述对象的访问热度指的是所述对象在上一周期内被访问的次数;所述调整信息中包括所述第一对象标识和所述第一对象被调整后的第二位置,所述第一对象的所述第二位置和所述第二对象信息对应的对象被所述迁移控制设备调整后的位置能够保证所述第一对象在所述第二位置上和所述第二对象信息对应的对象在所述被调整后的位置上的读写速率与访问热度乘积之和最大;所述其他节点包括所述至少一个节点中当前节点之外的节点;接收所述迁移控制设备发送的所述第一对象的调整信息;根据所述第一对象的调整信息对所述第一对象进行迁移。本发明实施例提供一种迁移控制设备,包括接收模块,用于接收至少一个节点发送的至少一个对象的对象信息,共接收到至少一个对象信息;所述对象信息中包括对象标识、对象大小、对象的第一位置和对象的访问热度;所述对象的访问热度指的是所述对象在上一周期内被访问的次数;获取模块,用于根据预先存储的各所述节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及所述至少一个对象信息,在满足各所述存储介质的占比小于1 的条件下,获取所述至少一个对象的调整信息;所述调整信息中包括所述对象标识和所述对象标识对应的对象被调整后的第二位置,所述至少一个对象的第二位置能够保证所述至少一个对象在对应的所述第二位置上的读写速率与所述访问热度乘积之和最大;所述存储介质的占比指的是在上一周期内,所述存储介质上存储的各对象在所述存储介质上的访问热度和所述对象的大小的乘积除以所述存储介质的最大吞吐率之后的累加;发送模块,用于向所述至少一个节点发送所述至少一个对象的调整信息,以供所述至少一个节点根据所述至少一个对象的调整信息对所述至少一个对象进行迁移。本发明实施例提供一种节点设备,包括发送模块,用于向迁移控制设备发送第一对象的第一对象信息,以供所述迁移控制设备根据预先存储的至少一个节点中各所述节点中的各个存储介质处理各级大小的对象的读写速率和存储容量、所述第一对象信息以及其他节点发送的第二对象信息,获取所述第一对象的调整信息;所述第一对象信息中包括第一对象标识、第一对象大小、第一对象的第一位置和第一对象的访问热度;所述对象的访问热度指的是所述对象在上一周期内被访问的次数;所述调整信息中包括所述第一对象标识和所述第一对象被调整后的第二位置,所述第一对象的所述第二位置和所述第二对象信息对应的对象被所述迁移控制设备调整后的位置能够保证所述第一对象在所述第二位置上和所述第二对象信息对应的对象在所述被调整后的位置上的读写速率与访问热度乘积之和最大;所述其他节点包括所述至少一个节点中当前节点之外的节点;接收模块,用于接收所述迁移控制设备发送的所述第一对象的调整信息;调整模块,用于根据所述第一对象的调整信息对所述第一对象进行迁移。本发明实施例还提供一种存储系统,包括迁移控制设备和至少一个节点设备;所述至少一个节点设备,用于分别向迁移控制设备发送对象信息;
所述迁移控制设备,用于分别接收所述至少一个节点设备发送的对象信息,共接收到至少一个对象信息;各所述对象信息中包括对象标识、对象大小、对象的第一位置和对象的访问热度;所述对象的访问热度指的是所述对象在上一周期内被访问的次数;根据预先存储的所述至少一个节点设备的各所述节点设备中各个存储介质处理各级大小的对象的读写速率和存储容量以及所述至少一个对象信息,在满足各所述存储介质的占比小于1 的条件下,获取所述至少一个对象的调整信息;所述调整信息中包括所述对象标识和所述对象标识对应的对象被调整后的第二位置,所述至少一个对象的第二位置能够保证所述至少一个对象在对应的所述第二位置上的读写速率与所述访问热度乘积之和最大;所述存储介质的占比指的是在上一周期内,所述存储介质上存储的各对象在所述存储介质上的访问热度和所述对象的大小的乘积除以所述存储介质的最大吞吐率之后的累加;向所述至少一个节点设备发送所述至少一个对象的调整信息;所述至少一个节点设备,还用于接收所述迁移控制设备发送的所述对象的调整信息;根据所述对象的调整信息对所述对象进行迁移。本发明实施例的对象调整方法、迁移控制设备、节点设备及存储系统,通过采用本发明实施例的上述技术方案,能够实现各对象标识对应的对象在调整后的第二位置上使得各对象的读写速率与访问热度乘积之和最大,从而有效地保证了包括各节点的存储系统的存储性能达到最大。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明一实施例提供的对象调整方法的流程图。图2为本发明另一实施例提供的对象调整方法的流程图。图3为本发明再一实施例提供的对象调整方法的流程图。图4为本发明一实施例提供的迁移控制设备的结构示意图。图5为本发明另一实施例提供的迁移控制设备的结构示意图。图6为本发明一实施例提供的节点设备的结构示意图。图7为本发明另一实施例提供的节点设备的结构示意图。图8为本发明实施例提供的存储系统的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明一实施例提供的对象调整方法的流程图。本实施例的对象调整方法的执行主体为一个迁移控制设备。如图1所示,本实施例的对象调整方法,具体可以包括如下100、迁移控制设备接收至少一个节点发送的至少一个对象的对象信息,共接收到至少一个对象信息;其中每一个对象信息中包括对象标识、对象大小、对象的第一位置和对象的访问热度。本实施例中的对象例如可以为用以存储数据的数据块等。本实施例中的至少一个节点均为用于存储对象的存储设备。该至少一个节点中共包括至少一个存储介质,具体地在每一个节点中包括几个存储介质不做限制,例如其中某一个节点中可以只有一个存储介质;也可以包括多个存储介质。而且在某一个节点中也可以包括两个以上存储介质类型相同的存储介质。本实施例中的至少一个存储介质中可以包括固态硬盘(Solid state disk; 以下简称SSD)、磁带库、物理硬盘等各种存储性能不相同的存储介质。本实施例的应用场景为在某一个周期结束之后,迁移控制设备接收至少一个节点上报的该周期内该节点上存储的对象的对象信息,例如对象信息中包括对象标识、对象大小、对象的第一位置和对象的访问热度。其中对象的访问热度即为该上一周期中该对象被访问的次数。对象的第一位置为该对象标识对应的对象在对应节点中存储的位置,可以根据该第一位置确定该对象在该节点中的哪一个存储介质上存储。101、迁移控制设备根据预先存储的各节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及至少一个对象信息,在满足各存储介质的占比小于1的条件下,获取至少一个对象的调整信息;其中调整信息中包括对象标识和对象标识对应的对象被调整后的第二位置,至少一个对象的第二位置能够保证在各存储介质的容量以及占比小于1的约束条件下,至少一个对象在对应的第二位置上使得至少一个对象的读写速率与访问热度的乘积之和最大。这里的至少一个对象即指的是至少一个节点上报的所有对象,可以理解为至少一个节点组成的存储系统的所有对象。存储介质的占比指的是在上一周期内,该存储介质上存储的各对象在该存储介质上的访问热度和该对象大小的乘积除以该存储介质的最大吞吐率之后的
累加;即可以采用如下公式表示Ρ=Σ^^。其中P表示存储介质的占比,i表示上一周期
该存储介质上被访问的对象,Si表示对象i的大小,L表示对象i在上一周期的访问热度, Tlawst表示对象i的最大吞吐率。换个角度,上述的占比也可以理解为一个周期内(例如可以为单位周期内)存储介质满足其上所有对象存取所花费的时间与单位时间的比值,用以体现存储介质的繁忙程度。102、迁移控制设备向至少一个节点发送至少一个对象的调整信息,以供至少一个节点根据至少一个对象的调整信息对至少一个对象进行迁移。例如,该迁移控制设备可以根据各对象的第一位置确定该对象存储在哪个节点。 然后向该节点发送该对象的调整信息,以供该节点根据该调整信息对该对象进行迁移。本实施例的对象调整方法,通过采用本实施例的上述技术方案,能够实现各对象标识对应的对象在调整后的第二位置上使得各对象的读写速率与访问热度乘积之和最大, 从而有效地保证了包括各节点的存储系统的存储性能达到最大。可选地,上述实施例的技术方案中的101 “迁移控制设备根据预先存储的各节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及至少一个对象信息,在满足各存储介质的占比小于1的条件下,获取至少一个对象的调整信息,具体可以包括如下(1)迁移控制设备根据至少一个节点的各节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及至少一个对象信息,在满足存储介质的占比小于1的条件下,获取至少一个对象被调整后的所述第二位置;该步骤中存储介质的存储容量实质上可以理解为优化的约束条件。(2)迁移控制设备根据至少一个对象的第一位置和第二位置,获取至少一个对象的调整信息。例如上述步骤(1)具体可以通过以下步骤实现(a)迁移控制设备将至少一个对象信息按照对象大小和对象访问热度进行分类, 得到至少一个对象组;通过将至少一个对象分类得到对象组,能够进一步减少下述步骤(b)的计算复杂度。否则,若直接根据各节点中各个存储介质处理各级大小的对象的读写速率,在各存储介质的容量以及占比小于1的约束条件下,以至少一个对象的读写速率与访问热度乘积之和最大为目标,获取至各象被调整后的第二位置,将会大大增加计算的复杂度。(b)迁移控制设备根据各节点中各个存储介质处理各级大小的对象的读写速率, 在各存储介质的容量以及占比小于1的约束条件下,以至少一个对象的读写速率与访问热度乘积之和最大为目标,获取至少一个对象组在各存储介质上分配比例;本实施例中,该步骤可以通过软件来实现。这里的至少一个对象的读写速率与访问热度乘积之和最大为目标,即指的是系统中所有对象的读写速率与访问热度乘积之和最大为目标。(c)迁移控制设备根据至少一个对象组在各存储介质上分配比例,获取至少一个对象被调整后的所述第二位置。需要说明的是,当按照对象组在各存储介质上的分配比例,将该对象组中的各个对象信息按照分配比例分配至对应的存储介质上时,可以有多种分配方式,此处不做限制, 只要能够满足该对象组在该存储介质上的分配比例即可。优选地,(c)中迁移控制设备可以这里还需要考虑各对象对应的第一位置,即该对象未被调整时的位置,即根据至少一个对象的第一位置以及至少一个对象组在各存储介质上分配比例,按照位置就近原则获取至少一个对象被调整后的所述第二位置,这样可以提高后续迁移效率。之后,迁移控制设备根据至少一个对象的第一位置和第二位置,可以获取到至少一个对象的调整信息,并将至少一个对象的调整信息发给对应的节点,各个节点可以将该对象从该节点中的第一位置迁移到该节点或者其他节点中的第二位置。可选地,上述实施例中的步骤100之前,还包括迁移控制设备收集至少一个节点中各节点中各个存储介质处理各级大小的对象的读写速率和存储容量。图2为本发明另一实施例提供的对象调整方法的流程图。本实施例的对象调整方法的执行主体为一个节点,该节点可以位于存储系统中。如图2所示,本实施例的对象调整方法,具体可以包括如下200、节点向迁移控制设备发送第一对象的第一对象信息,以供迁移控制设备根据预先存储的至少一个节点的各节点中各个存储介质处理各级大小的对象的读写速率和存储容量、第一对象信息以及其他节点发送的第二对象信息,在满足各存储介质的占比小于1 的条件下,获取第一对象的调整信息;其中第一对象信息中包括第一对象标识、第一对象大小、第一对象的第一位置和第一对象的访问热度。对象的访问热度指的是对象在上一周期内被访问的次数。该调整信息中包括第一对象标识和第一对象被调整后的第二位置,第一对象的第二位置和第二对象信息对应的对象被迁移控制设备调整后的位置能够保证第一对象在第二位置上和第二对象信息对应的对象在被调整后的位置上的读写速率与访问热度乘积之和最大。存储介质的占比指的是在上一周期内,该存储介质上存储的各对象在该存储介质上的访问热度和该对象的大小的乘积除以该存储介质的最大吞吐率之后的累加。本实施例中执行主体的节点可以称为当前节点,其他节点包括至少一个节点中除当前节点之外的节点。本实施例中该第一对象的第一位置和第二位置可以反映出该第一对象存储在哪个节点上以及在该节点的哪个存储介质上。201、节点接收迁移控制设备发送的第一对象的调整信息;202、节点根据第一对象的调整信息对第一对象进行迁移。本实施例中是以一个节点上报一个对象信息为例来说明本发明实施例的技术方案。在该节点对应的存储系统中,可以预先设置一个周期,每一周期结束之后,节点都向迁移控制器发送该周期内各个对象的对象信息,以供迁移控制器根据接收到该节点上报的对象信息以及其他节点上报的对象信息,统筹考考虑,在满足所有对象在被调整后的位置上的读写速率与访问热度的乘积之和最大的原则下,为各个对象分配被调整后的第二位置, 从而得到各个对象的调整信息,例如本实施例中迁移控制设备可以获取到第一对象的调整信息,并将第一对象的调整信息发送给该节点。该节点接收到该第一对象的调整信息之后, 可以根据该第一对象的调整信息对第一对象进行迁移。本实施例的对象调整方法,通过采用本实施例的上述技术方案,能够实现各对象标识对应的对象在调整后的第二位置上使得各对象的读写速率与对象的访问热度乘积之和最大,从而有效地保证了包括各节点的存储系统的存储性能达到最大。可选地,在上述实施例的技术方案中的200之前,还包括统计第一对象的访问热度,生成第一对象信息。可选地,上述实施例的技术方案中的200具体可以包括如下(1)节点从第一对象的调整信息中获取第二位置;(2)节点判断第二位置为节点内的还是节点外的,当第二位置为节点内,执行 ⑶;否则当第二位置为节点外时,执行⑷;(3)节点将第一对象由第一位置迁移至第二位置;(4)节点向第二位置所在的节点发送迁移对象请求,迁移对象请求中包括第二位置和第一对象,以供第二位置所在的节点将第一对象存储在第二位置处。可选地,当第二位置为节点外时,还包括(a)节点接收第二位置所在节点发送的确认消息;该确认消息中包括第一对象标识;(b)节点删除确认消息中的第一对象标识对应的第一对象,以备存储新的对象。
需要说明的是,当节点中存储有该节点中的对象的索引信息的时候,节点还可以在删除确认消息中的第一对象标识对应的第一对象后,更新第一对象标识对应的索引信肩、ο图3为本发明再一实施例提供的对象调整方法的流程图。如图3所示,本实施例的对象调整方法,具体可以包括如下300、当周期结束,各个节点统计该周期中所有对象的热度,生成所有对象的对象信息,执行301 ; 其中对象信息包括对象标识、对象大小、对象的第一位置和对象的访问热度。对象的第一位置即为对象被调整前的位置。301、各个节点将所有对象的对象信息上报给迁移控制设备,执行302 ;302、迁移控制设备接收所有对象的对象信息,将所有对象的对象信息按照对象大小和对象访问热度进行分类,得到多个对象组,执行303 ;即将对象大小相当和访问热度相当的对象的对象信息分为一类,归为一个对象组。303、迁移控制设备根据各节点中各个存储介质处理各级大小的的对象的读写速率,在各存储介质的容量以及占比小于1的约束条件下,以至少一个对象的读写速率与访问热度乘积之和最大为目标,获取多个对象组在各存储介质上分配比例;执行304 ;304、迁移控制设备根据所有对象的第一位置以及多个对象组在各存储介质上分配比例,按照位置就近的原则获取各个对象被调整后的第二位置,执行305 ;305、迁移控制设备根据各个对象的第一位置和第二位置,获取各个对象的调整信息,执行306 ;306、迁移控制设备根据各个对象的第一位置向对应的节点发送该对象的调整信息,执行307 ;各个对象的第一位置能够反映出该对象的节点信息。按照此步骤,迁移控制设备可以将每一个对象的调整信息发送至对应的节点。307、各个节点接收迁移控制设备发送的对象的调整信息,执行308 ;308、在每一个节点中,节点判断接收到的对象的调整信息是否为节点内的调整, 如是执行309,否则执行310 ;309、节点将对象从当前的第一位置迁移至第二位置;执行313 ;310、节点向第二位置对应的节点发送迁移对象请求,该迁移对象请求中包括第二位置和要迁移的对象;执行311 ;311、第二位置对应的节点接收迁移对象请求,并将要迁移的对象存储在第二位置处,并向第一位置所在的节点发送确认消息;执行312 ;312、第一位置所在的节点接收确认消息,删除第一位置处存储的已经迁移成功的对象,以备存储新的对象;执行313 ;313、各个节点在迁移对象成功之后,更新节点中的索引信息。本实施例的对象调整方法,通过采用本实施例的上述技术方案,能够实现各对象标识对应的对象在调整后的置上使得各对象的读写速率与访问热度乘积之和最大,从而有效地保证了包括各节点的存储系统的存储性能达到最大。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。图4为本发明一实施例提供的迁移控制设备的结构示意图。如图4所示,本实施例的迁移控制设备,具体可以包括接收模块10、获取模块11和发送模块12。其中接收模块10用于接收至少一个节点发送的至少一个对象的对象信息,共接收到至少一个对象信息;该对象信息中包括对象标识、对象大小、对象的第一位置和对象的访问热度;该对象的访问热度指的是该对象在上一周期内被访问的次数。获取模块11与接收模块10连接,获取模块11用于根据预先存储的各节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及接收模块10接收的至少一个对象信息,在满足各存储介质的占比小于1的条件下,获取至少一个对象的调整信息;该调整信息中包括对象标识和对象标识对应的对象被调整后的第二位置,该至少一个对象的第二位置能够保证至少一个对象在对应的第二位置上的读写速率与访问热度乘积之和最大;该存储介质的占比指的是在上一周期内,该存储介质上存储的各对象在存储介质上的访问热度和对象的大小的乘积除以存储介质的最大吞吐率之后的累加。发送模块12与获取模块11连接,发送模块12用于向至少一个节点发送获取模块11获取的至少一个对象的调整信息,以供至少一个节点根据至少一个对象的调整信息对至少一个对象进行迁移。本实施例的迁移控制设备,通过采用上述模块实现对象调整的实现机制与上述相关方法实施例的实现机制相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。本实施例的迁移控制设备,通过采用本实施例的上述模块的技术方案,能够实现各对象标识对应的对象在调整后的第二位置上使得各对象的读写速率与访问热度乘积之和最大,从而有效地保证了包括各节点的存储系统的存储性能达到最大。图5为本发明另一实施例提供的迁移控制设备的结构示意图。如图5所示,本实施例的迁移控制设备在上述图4所示实施例的基础上,获取模块11具体用于根据各节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及接收模块10接收的至少一个对象信息,在满足存储介质的占比小于1的条件下,获取至少一个对象被调整后的第二位置;根据至少一个对象的第一位置和第二位置,获取至少一个对象的调整信息。可选地,本实施例的迁移控制设备中的获取模块11,包括分类单元111、第一获取单元112和第二获取单元113。其中分类单元111与接收模块10连接,分类单元111用于将接收模块10接收的至少一个对象信息按照对象大小和对象访问热度进行分类,得到至少一个对象组。第一获取单元112与分类单元111连接,第一获取单元112用于根据各节点中各存储介质处理各级大小的对象的读写速率,在各存储介质的容量以及占比小于1的约束条件下,以至少一个对象的读写速率与访问热度乘积之和最大为目标,获取分类单元111分类得到的至少一个对象组在各存储介质上分配比例。第二获取单元113与第一获取单元112连接,第二获取单元113用于根据第一获取单元112处理后至少一个对象组在各存储介质上分配比例,获取至少一个对象被调整后的第二位置。优选地,第二获取单元113可以用于至少一个对象的第一位置以及第一获取单元112处理后至少一个对象组在各存储介质上分配比例,按照位置就近的原则获取至少一个对象被调整后的第二位置。此时,发送模块12与第二获取单元113连接,发送模块12用于向至少一个节点发送第二获取单元113获取的至少一个对象的调整信息,以供至少一个节点根据至少一个对象的调整信息对至少一个对象进行迁移。可选地,本实施例的迁移控制设备中还包括收集模块13。该收集模块13用于收集各节点中各个存储介质处理各级大小的对象的读写速率和存储容量。第一获取 单元112 与收集模块I3连接,第一获取单元112用于根据收集模块13收集的各节点中各存储介质处理各级大小的对象的读写速率,在收集模块13收集的各存储介质的容量以及占比小于1 的约束条件下,以至少一个对象的读写速率与访问热度乘积之和最大为目标,获取分类单元111分类得到的至少一个对象组在各存储介质上分配比例。本实施例的迁移控制设备,通过采用上述模块实现对象调整的实现机制与上述相关方法实施例的实现机制相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。本实施例的迁移控制设备,通过采用上述模块能够实现各对象标识对应的对象在调整后的第二位置上使得各对象的读写速率与访问热度乘积之和最大,从而有效地保证了包括各节点的存储系统的存储性能达到最大。图6为本发明一实施例提供的节点设备的结构示意图。如图6所示,本实施例的节点设备,包括发送模块20、接收模块21和调整模块22。其中发送模块20用于向迁移控制设备发送第一对象的第一对象信息,以供迁移控制设备根据预先存储的至少一个节点的各节点中各个存储介质处理各级大小的对象的读写速率和存储容量、第一对象信息以及其他节点发送的第二对象信息,在满足各存储介质的占比小于1的条件下,获取第一对象的调整信息;该第一对象信息中包括第一对象标识、第一对象大小、第一对象的第一位置和第一对象的访问热度;对象的访问热度指的是该对象在上一周期内被访问的次数;该调整信息中包括第一对象标识和第一对象被调整后的第二位置,第一对象的第二位置和第二对象信息对应的对象被迁移控制设备调整后的位置能够保证第一对象在第二位置上和第二对象信息对应的对象在被调整后的位置上的读写速率与访问热度乘积之和最大;存储介质的占比指的是在上一周期内,该存储介质上存储的各对象在存储介质上的访问热度和对象的大小的乘积除以存储介质的最大吞吐率之后的累加。接收模块21用于接收迁移控制设备发送的第一对象的调整信息。调整模块22与接收模块21连接,调整模块22用于根据接收模块21接收的第一对象的调整信息对第一对象进行迁移。本实施例中节点设备可以称为当前节点,其他节点包括至少一个节点中当前节点之外的节点。本实施例的节点设备,通过采用上述模块实现对象调整的实现机制与上述相关方法实施例的实现机制相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。本实施例的节点设备,通过采用本实施例的上述模块的技术方案,能够实现各对象标识对应的对象在调整后的第二位置上使得各对象的读写速率与访问热度乘积之和最大,从而有效地保证了包括各节点的存储系统的存储性能达到最大。图7为本发明另一实施例提供的节点设备的结构示意图。如图7所示,本实施例的节点设备在上述图6所示实施例的基础上,还包括处理模块23。该处理模块23用于统计第一对象的访问热度;生成第一对象信息。此时发送模块20与处理模块23连接,发送模块20用于向迁移控制设备发送处理模块23生成的第一对象的第一对象信息。
可选地,本实施例的节点设备中的调整模块22还可以包括获取单元221和处理单元222。其中获取单元221用于从接收模块21接收的第一对象的调整信息中获取第二位置。处理单元222与获取单元221连接,处理单元222用于判断获取单元221获取的第二位置为节点内的还是节点外的,当第二位置为节点内,将第一对象由第一位置迁移至第二位置;当第二位置为节点外时,向第二位置所在的节点发送迁移对象请求,迁移对象请求中包括第二位置和第一对象,以供第二位置所在的节点将第一对象存储在第二位置处。可选地,本实施例的节点设备中,接收模块21还用于当第二位置为节点外时,接收第二位置所在节点发送的确认消息;该确认消息中包括对象标识。处理模块23还与接收模块21连接,处理模块23用于根据接收模块21接收的确认消息,删除确认消息中的对象标识对应的对象。处理模块23还用于在删除确认消息中的对象标识对应的对象之后,更新对象标识对应的索引信息。本实施例的节点设备,通过采用上述模块实现对象调整的实现机制与上述相关方法实施例的实现机制相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。本实施例的节点设备,通过采用上述模块能够实现各对象标识对应的对象在调整后的第二位置上使得各对象的读写速率与访问热度乘积之和最大,从而有效地保证了包括各节点的存储系统的存储性能达到最大。图8为本发明实施例提供的存储系统的结构示意图。如图8所示,本实施例的存储系统包括迁移控制设备30和至少一个节点设备40。其中至少一个节点设备40分别与迁移控制设备30连接,至少一个节点设备40用于分别向迁移控制设备30发送对象信息。迁移控制设备30用于分别接收至少一个节点设备40发送的对象的对象信息,共接收到至少一个对象信息;该对象信息中包括对象标识、对象大小、对象的第一位置和对象的访问热度;对象的访问热度指的是对象在上一周期内被访问的次数。至少一个节点设备 40中包括有至少一种存储介质。迁移控制设备30根据预先存储的至少一个节点设备40的各节点设备40中的各个存储介质处理各级大小的对象的读写速率和存储容量以及接收的至少一个对象信息,在满足各个存储介质的占比小于1的条件下,获取至少一个对象的调整信息。该调整信息中包括对象标识和对象标识对应的对象被调整后的第二位置,至少一个对象的第二位置能够保证至少一个对象在对应的第二位置上至少一个对象的读写速率与访问热度乘积之和最大;存储介质的占比指的是在上一周期内,该存储介质上存储的各对象在该存储介质上的访问热度和对象的大小的乘积除以该存储介质的最大吞吐率之后的累加;迁移控制设备30向至少一个节点设备40发送至少一个对象的调整信息。至少一个节点设备40还用于接收迁移控制设备30发送的对象的调整信息;并根据对象的调整信息对对象进行迁移。本实施例的存储系统中节点设备40可以采用上述图6或者7所示的节点设备。迁移控制设备30可以采用上述图4或者5所示实施例的迁移控制设备。本实施例的迁移控制设备实现对象调整的实现机制与上述相关实施例的实现机制相同,详细可以参考上述相关方法实施例的记载,在此不再赘述。本实施例的存储系统,通过采用上述迁移控制设备和至少一个节点设备,能够实现各对象标识对应的对象在调整后的第二位置上使得各对象的读写速率与访问热度之和最大,从而有效地保证了包括各节点的存储系统的存储性能达到最大。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种对象调整方法,其特征在于,包括接收至少一个节点发送的至少一个对象的对象信息,共接收到至少一个对象信息;所述对象信息中包括对象标识、对象大小、对象的第一位置和对象的访问热度;所述对象的访问热度指的是所述对象在上一周期内被访问的次数;根据预先存储的各所述节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及所述至少一个对象信息,在满足各所述存储介质的占比小于1的条件下,获取所述至少一个对象的调整信息;所述调整信息中包括所述对象标识和所述对象标识对应的对象被调整后的第二位置,所述至少一个对象的第二位置能够保证所述至少一个对象在对应的所述第二位置上的读写速率与所述访问热度乘积之和最大;所述存储介质的占比指的是在上一周期内,所述存储介质上存储的各对象在所述存储介质上的访问热度和所述对象的大小的乘积除以所述存储介质的最大吞吐率之后的累加;向所述至少一个节点发送所述至少一个对象的调整信息,以供所述至少一个节点根据所述至少一个对象的调整信息对所述至少一个对象进行迁移。
2.根据权利要求1所述的方法,其特征在于,根据预先存储的各所述节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及所述至少一个对象信息,在满足所述存储介质的占比小于1的条件下,获取所述至少一个对象的调整信息,包括根据各所述节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及所述至少一个对象信息,在满足所述存储介质的占比小于1的条件下,获取所述至少一个对象被调整后的所述第二位置;根据所述至少一个对象的所述第一位置和所述第二位置,获取所述至少一个对象的调整信息。
3.根据权利要求2所述的方法,其特征在于,根据各所述节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及所述至少一个对象信息,在满足所述存储介质的占比小于1的条件下,获取所述至少一个对象被调整后的所述第二位置,具体包括将所述至少一个对象信息按照对象大小和访问热度进行分类,得到至少一个对象组;根据各所述节点中各所述存储介质处理各级大小的对象的读写速率,在各所述存储介质的容量以及所述占比小于1的约束条件下,以所述至少一个对象的读写速率与所述访问热度乘积之和最大为目标,获取所述至少一个对象组在各所述存储介质上分配比例;根据所述至少一个对象组在各所述存储介质上分配比例,获取所述至少一个对象被调整后的所述第二位置。
4.根据权利要求3所述的方法,其特征在于,根据所述至少一个对象组在各存储介质上分配比例,获取所述至少一个对象被调整后的所述第二位置,具体包括根据所述至少一个对象的第一位置以及所述至少一个对象组在各存储介质上分配比例,按照位置就近的原则获取所述至少一个对象被调整后的所述第二位置。
5.根据权利要求1-4任一所述的方法,其特征在于,还包括收集各所述节点中各个所述存储介质处理各级大小的对象的读写速率和存储容量。
6.一种对象调整方法,其特征在于,包括向迁移控制设备发送第一对象的第一对象信息,以供所述迁移控制设备根据预先存储的至少一个节点中各所述节点中的各个存储介质处理各级大小的对象的读写速率和存储容量、所述第一对象信息以及其他节点发送的第二对象信息,在满足各所述存储介质的占比小于1的条件下,获取所述第一对象的调整信息;所述第一对象信息中包括第一对象标识、第一对象大小、第一对象的第一位置和第一对象的访问热度;所述对象的访问热度指的是所述对象在上一周期内被访问的次数;所述调整信息中包括所述第一对象标识和所述第一对象被调整后的第二位置,所述第一对象的所述第二位置和所述第二对象信息对应的对象被所述迁移控制设备调整后的位置能够保证所述第一对象在所述第二位置上和所述第二对象信息对应的对象在所述被调整后的位置上的读写速率与访问热度乘积之和最大;所述存储介质的占比指的是在上一周期内,所述存储介质上存储的各对象在所述存储介质上的访问热度和所述对象的大小的乘积除以所述存储介质的最大吞吐率之后的累加;所述其他节点包括所述至少一个节点中当前节点之外的节点;接收所述迁移控制设备发送的所述第一对象的调整信息;根据所述第一对象的调整信息对所述第一对象进行迁移。
7.根据权利要求6所述的方法,其特征在于,还包括统计所述第一对象的访问热度;生成所述第一对象信息。
8.根据权利要求6所述的方法,其特征在于,根据所述第一对象的调整信息对所述第一对象进行迁移,具体包括从所述第一对象的调整信息中获取所述第二位置;判断所述第二位置为节点内的还是节点外的,当所述第二位置为节点内,将所述第一对象由所述第一位置迁移至所述第二位置;当所述第二位置为节点外时,向所述第二位置所在的节点发送迁移对象请求,所述迁移对象请求中包括所述第二位置和所述第一对象, 以供所述第二位置所在的节点将所述第一对象存储在所述第二位置处。
9.根据权利要求8所述的方法,其特征在于,当所述第二位置为节点外时,还包括接收所述第二位置所在节点发送的确认消息;所述确认消息中包括所述第一对象标识;删除所述确认消息中的所述第一对象标识对应的第一对象。
10.根据权利要求9所述的方法,其特征在于,还包括删除所述确认消息中的所述第一对象标识对应的第一对象之后,更新所述第一对象标识对应的索引信息。
11.一种迁移控制设备,其特征在于,包括接收模块,用于接收至少一个节点发送的至少一个对象的对象信息,共接收到至少一个对象信息;所述对象信息中包括对象标识、对象大小、对象的第一位置和对象的访问热度;所述对象的访问热度指的是所述对象在上一周期内被访问的次数;获取模块,用于根据预先存储的各所述节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及所述至少一个对象信息,在满足各所述存储介质的占比小于1的条件下,获取所述至少一个对象的调整信息;所述调整信息中包括所述对象标识和所述对象标识对应的对象被调整后的第二位置,所述至少一个对象的第二位置能够保证所述至少一个对象在对应的所述第二位置上的读写速率与所述访问热度乘积之和最大;所述存储介质的占比指的是在上一周期内,所述存储介质上存储的各对象在所述存储介质上的访问热度和所述对象的大小的乘积除以所述存储介质的最大吞吐率之后的累加;发送模块,用于向所述至少一个节点发送所述至少一个对象的调整信息,以供所述至少一个节点根据所述至少一个对象的调整信息对所述至少一个对象进行迁移。
12.根据权利要求11所述的设备,其特征在于所述获取模块,具体用于根据各所述节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及所述至少一个对象信息,在满足所述存储介质的占比小于1的条件下,获取所述至少一个对象被调整后的所述第二位置;根据所述至少一个对象的所述第一位置和所述第二位置,获取所述至少一个对象的调整信息。
13.根据权利要求12所述的设备,其特征在于,所述获取模块,包括分类单元,用于将所述至少一个对象信息按照对象大小和访问热度进行分类,得到至少一个对象组;第一获取单元,用于根据各所述节点中各所述存储介质处理各级大小的对象的读写速率,在各所述存储介质的容量以及所述占比小于1的约束条件下,以所述至少一个对象的读写速率与所述访问热度乘积之和最大为目标,获取所述至少一个对象组在各所述存储介质上分配比例;第二获取单元,用于根据所述至少一个对象组在各所述存储介质上分配比例,获取所述至少一个对象被调整后的所述第二位置。
14.根据权利要求13所述的设备,其特征在于,还包括所述第二获取单元,具体用于根据所述至少一个对象的第一位置以及所述至少一个对象组在各存储介质上分配比例,按照位置就近的原则获取所述至少一个对象被调整后的所述第二位置。
15.根据权利要求11-14任一所述的设备,其特征在于,还包括收集模块,用于收集各所述节点中各个所述存储介质处理各级大小的对象的读写速率和存储容量。
16.一种节点设备,其特征在于,包括发送模块,用于向迁移控制设备发送第一对象的第一对象信息,以供所述迁移控制设备根据预先存储的至少一个节点中各所述节点中的各个存储介质处理各级大小的对象的读写速率和存储容量、所述第一对象信息以及其他节点发送的第二对象信息,在满足各所述存储介质的占比小于1的条件下,获取所述第一对象的调整信息;所述第一对象信息中包括第一对象标识、第一对象大小、第一对象的第一位置和第一对象的访问热度;所述对象的访问热度指的是所述对象在上一周期内被访问的次数;所述调整信息中包括所述第一对象标识和所述第一对象被调整后的第二位置,所述第一对象的所述第二位置和所述第二对象信息对应的对象被所述迁移控制设备调整后的位置能够保证所述第一对象在所述第二位置上和所述第二对象信息对应的对象在所述被调整后的位置上的读写速率与访问热度乘积之和最大;所述存储介质的占比指的是在上一周期内,所述存储介质上存储的各对象在所述存储介质上的访问热度和所述对象的大小的乘积除以所述存储介质的最大吞吐率之后的累加;所述其他节点包括所述至少一个节点中当前节点之外的节点;接收模块,用于接收所述迁移控制设备发送的所述第一对象的调整信息;调整模块,用于根据所述第一对象的调整信息对所述第一对象进行迁移。
17.根据权利要求16所述的设备,其特征在于,还包括处理模块,用于统计所述第一对象的访问热度;生成所述第一对象信息。
18.根据权利要求17所述的设备,其特征在于,所述调整模块,包括获取单元,用于从所述第一对象的调整信息中获取所述第二位置;处理单元,用于判断所述第二位置为节点内的还是节点外的,当所述第二位置为节点内,将所述第一对象由所述第一位置迁移至所述第二位置;当所述第二位置为节点外时,向所述第二位置所在的节点发送迁移对象请求,所述迁移对象请求中包括所述第二位置和所述第一对象,以供所述第二位置所在的节点将所述第一对象存储在所述第二位置处。
19.根据权利要求18所述的设备,其特征在于所述接收模块,用于当所述第二位置为节点外时,接收所述第二位置所在节点发送的确认消息;所述确认消息中包括所述对象标识;所述处理模块,还用于删除所述确认消息中的所述对象标识对应的对象。
20.根据权利要求19所述的设备,其特征在于所述处理模块,还用于删除所述确认消息中的所述第一对象标识对应的第一对象之后,更新所述第一对象标识对应的索引信息。
21.一种存储系统,其特征在于,包括迁移控制设备和至少一个节点设备;所述至少一个节点设备,用于分别向迁移控制设备发送对象信息;所述迁移控制设备,用于分别接收所述至少一个节点设备发送的对象信息,共接收到至少一个对象信息;各所述对象信息中包括对象标识、对象大小、对象的第一位置和对象的访问热度;所述对象的访问热度指的是所述对象在上一周期内被访问的次数;根据预先存储的所述至少一个节点设备的各所述节点设备中各个存储介质处理各级大小的对象的读写速率和存储容量以及所述至少一个对象信息,在满足各所述存储介质的占比小于1的条件下,获取所述至少一个对象的调整信息;所述调整信息中包括所述对象标识和所述对象标识对应的对象被调整后的第二位置,所述至少一个对象的第二位置能够保证所述至少一个对象在对应的所述第二位置上的读写速率与所述访问热度乘积之和最大;所述存储介质的占比指的是在上一周期内,所述存储介质上存储的各对象在所述存储介质上的访问热度和所述对象的大小的乘积除以所述存储介质的最大吞吐率之后的累加;向所述至少一个节点设备发送所述至少一个对象的调整信息;所述至少一个节点设备,还用于接收所述迁移控制设备发送的所述对象的调整信息; 根据所述对象的调整信息对所述对象进行迁移。
全文摘要
本发明实施例提供一种对象调整方法、迁移控制设备、节点设备及存储系统。该方法包括接收至少一个节点发送的至少一个对象的对象信息;根据预先存储的各节点中各个存储介质处理各级大小的对象的读写速率和存储容量以及至少一个对象信息,在满足各存储介质的占比小于1的条件下获取至少一个对象的调整信息;向至少一个节点发送至少一个对象的调整信息。本发明实施例的技术方案能够有效地保证包括各节点的存储系统的存储性能最优。
文档编号G06F12/08GK102317901SQ201180001199
公开日2012年1月11日 申请日期2011年7月25日 优先权日2011年7月25日
发明者卢庆明 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1