一种数据分布方法及装置的制造方法_2

文档序号:9826060阅读:来源:国知局
数据需要分别跨设备转发,即数据总共需要两次跨设备传输。
[0069]可见,在图2所描述的方法流程中,在确定虚拟机对应的卷中各数据块对应的存储组件序列之后,通过根据数据块的位置信息以及存储组件序列中各存储组件的位置信息,调整各存储组件在存储组件序列中的顺序,将与数据块的位置最接近的存储组件作为数据块对应的主副本所在的存储组件,提高了虚拟机的数据的主副本在本地的概率,进而可以提高数据读写的性能,减少数据读写过程中网络资源浪费。
[0070]参见图3,为本发明实施例提供的一种数据读取方法的流程示意图,如图3所示,该方法可以包括:
[0071]步骤301、接收数据读取请求,该数据读取请求中包括请求读取的数据的标识。
[0072]本发明实施例中,当虚拟机需要读取数据时,可以向主机发送数据读取请求,该数据读取请求中可以包括请求读取的数据的标识,该标识用于唯一标识请求读取的数据。
[0073]步骤302、根据请求读取的数据的标识确定该数据所在的目标数据块。
[0074]本发明实施例中,主机接收到数据读取请求之后,可以根据数据读取请求中包括的请求读取的数据的标识,确定该数据所在的数据块。
[0075]步骤303、确定虚拟机对应的卷中各数据块对应的存储组件序列。
[0076]本发明实施例中,当主机确定请求读取的数据所在数据块之后,主机可以确定虚拟机对应的卷中各数据块对应的存储组件序列。
[0077]步骤304、根据数据块的位置信息以及对应的存储组件序列中各存储组件的位置信息,调整各存储组件在存储组件序列中的顺序,将与数据块的位置最接近的存储组件作为各数据块对应的主副本所在的存储组件。
[0078]本发明实施例中,主机确定各数据块对应的存储组件序列之后,可以根据各数据块的位置信息,以及各存储组件序列中各存储组件的位置信息调整存储组件序列中各存储组件的顺序,以使与各数据块的位置最接近的存储组件作为各数据块对应的主副本所在存储组件,从而,可以提高数据读写的性能。
[0079]其中,步骤303?步骤304的具体实现可以参见上述步骤201?步骤202中的相关描述,本发明实施例在此不再赘述。
[0080]步骤305、根据调整后的各数据块对应的存储组件序列,从目标数据块对应的主副本所在存储组件中读取相应数据。
[0081]本发明实施例中,主机确定调整后的各数据块对应的存储组件序列后,可以进一步确定请求读取的数据所在的目标数据块对应的主副本所在的存储组件,并从目标数据块对应的主副本所在存储组件中读取相应数据。
[0082]举例来说,以vml请求读取数据为例,假设host I确定请求读取的数据所在目标数据块的编号(即对象标识为:rbd.vml-1.3?rbd.vml-1.5),以下分别以基于现有实现数据读取和以本发明实施例提供数据分布方式实现数据读取的具体实现进行说明。
[0083]假设通过现有数据分布方法得到的目标数据块对应的存储组件序列如下:
[0084]rbd.vml-1.3—> {storagel, storage2, storage3}
[0085]rbd.vml-1.4—> {storage3, storagel, storage2}
[0086]rbd.vml-1.5—> {storage2, storage3, storagel}
[0087]则主机进行数据读取时,需要分别从storagel、storage2和storage3中读取各目标数据块对应的数据,即需要进行两次跨设备读取数据。
[0088]而通过本发明实施例提供的数据分布方式得到的目标数据块对应的存储组件序列为:
[0089]rbd.vml-1.3—> {storagel, storage2, storage3}
[0090]rbd.vml-1.4—> {storagel, storage3, storage2}
[0091]rbd.vml-1.5—> {storagel, storage2, storage3}
[0092]则主机进行数据读取时,由于顺序调整后的各数据块对应的存储组件序列中,各数据块对应的主副本所在存储组件均为本地存储组件,因此,hostl可以直接从storagel中读取请求读取的数据,而不需要进行跨设备读取。
[0093]可见,本发明实施例提供的技术方案提高了数据读取性能,且减少了网络资源浪费。
[0094]通过以上描述可以看出,在本发明实施例中,在确定虚拟机对应的卷中各数据块对应的存储组件序列之后,通过根据数据块的位置信息以及对应的存储组件序列中各存储组件的位置信息,调整各存储组件在存储组件序列中的顺序,将与数据块的位置最接近的存储组件作为数据块对应的主副本所在的存储组件,提高了虚拟机的数据的主副本在本地的概率,进而可以提高数据读写的性能,减少数据读写过程中网络资源浪费。
[0095]请参见图4,为本发明实施例提供的一种数据分布装置的结构示意图,如图4所示,该装置可以包括:
[0096]确定单元410,用于确定虚拟机对应的卷中各数据块对应的存储组件序列;
[0097]调整单元420,用于根据数据块的位置信息以及对应的存储组件序列中各存储组件的位置信息,调整各存储组件在存储组件序列中的顺序,将与数据块的位置最接近的存储组件作为数据块对应的主副本所在的存储组件。
[0098]在一实施例中,所述确定单元410,可以具体用于确定所述各数据块的对象标识;其中,所述对象标识包括数据块的位置信息;根据所述对象标识中包括的位置信息之外的其余信息确定所述各数据块的组标识;根据所述组标识确定所述各数据块对应的存储组件序列。
[0099]在一实施例中,所述各数据块的位置信息可以包括:
[0100]磁盘编号、主机编号和/或机架编号。
[0101]在一实施例中,所述与数据块的位置最接近的存储组件为所述虚拟机所在主机上的存储组件。
[0102]在一实施例中,所述一个存储组件可以包括一个物理磁盘或多个物理磁盘组成的磁盘组。
[0103]上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0104]请参见图5,为本发明实施例提供的数据分布装置所在设备的一种硬件结构图,包括处理器510和非易失性存储器520,处理器510和非易失性存储器520通过总线相连。其中,处理器510用于执行非易失性存储器520存储的机器可读指令模块。非易失性存储器520存储有处理器510可执行的机器可读指令模块。当存储在非易失性存储器520中的指令模块被处理器510执行时,可实现前述确定单元410以及调整单元420的功能。
[0105]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0106]由上述实施例可见,在确定虚拟机对应的卷中各数据块对应的存储组件序列之后,通过根据各数据块的位置信息以及对应的存储组件序列中各存储组件的位置信息,调整各存储组件在存储组件序列中的顺序,将与数据块的位置最接近的存储组件作为数据块对应的主副本所在的存储组件,提高了虚拟机的数据的主副本在本地的概率,进而可以提高数据读写的性能,减少数据读写过程中网络资源浪费。
[0107]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0108]应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
【主权项】
1.一种数据分布方法,其特征在于,包括: 确定虚拟机对应的卷中各数据块对应的存储组件序列; 根据数据块的位置信息以及对应的存储组件序列中各存储组件的位置信息,调整各存储组件在存储组件序列中的顺序,将与数据块的位置最接近的存储组件作为数据块对应的主副本所在的存储组件。2.根据权利要求1所述的方法,其特征在于,所述确定虚拟机对应的卷中各数据块对应的存储组件序列,包括: 确定所述各数据块的对象标识;其中,所述对象标识包括数据块的位置信息; 根据所述对象标识中包括的位置信息之外的其余信息确定所述各数据块的组标识; 根据所述组标识确定所述各数据块对应的存储组件序列。3.根据权利要求1或2所述的方法,其特征在于,所述各数据块的位置信息包括: 磁盘编号、主机编号和/或机架编号。4.根据权利要求1或2所述的方法,其特征在于,所述与数据块的位置最接近的存储组件为所述虚拟机所在主机上的存储组件。5.根据权利要求1或2所述的方法,其特征在于, 所述一个存储组件包括一个物理磁盘或多个物理磁盘组成的磁盘组。6.一种数据分布装置,其特征在于,包括: 确定单元,用于确定虚拟机对应的卷中各数据块对应的存储组件序列; 调整单元,用于根据数据块的位置信息以及对应的存储组件序列中各存储组件的位置信息,调整各存储组件在存储组件序列中的顺序,将与数据块的位置最接近的存储组件作为数据块对应的主副本所在的存储组件。7.根据权利要求6所述的装置,其特征在于, 所述确定单元,具体用于确定所述各数据块的对象标识;其中,所述对象标识包括数据块的位置信息;根据所述对象标识中包括的位置信息之外的其余信息确定所述各数据块的组标识;根据所述组标识确定所述各数据块对应的存储组件序列。8.根据权利要求6或7所述的装置,其特征在于,所述各数据块的位置信息包括: 磁盘编号、主机编号和/或机架编号。9.根据权利要求6或7所述的装置,其特征在于,所述与数据块的位置最接近的存储组件为所述虚拟机所在主机上的存储组件。10.根据权利要求6或7所述的装置,其特征在于, 所述一个存储组件包括一个物理磁盘或多个物理磁盘组成的磁盘组。
【专利摘要】本发明提供一种数据分布方法及装置,该方法包括:确定虚拟机对应的卷中各数据块对应的存储组件序列;根据数据块的位置信息以及对应的存储组件序列中各存储组件的位置信息,调整各存储组件在存储组件序列中的顺序,将与数据块的位置最接近的存储组件作为数据块对应的主副本所在的存储组件。应用本发明实施例提高了虚拟机的数据的主副本在本地的概率,进而可以提高数据读写的性能,减少数据读写过程中网络资源浪费。
【IPC分类】G06F3/06
【公开号】CN105589660
【申请号】CN201510707256
【发明人】杨瑞峰
【申请人】杭州华三通信技术有限公司
【公开日】2016年5月18日
【申请日】2015年10月27日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1