一种面向多业务应用的云存储数据分布方法

文档序号:7858093阅读:198来源:国知局
专利名称:一种面向多业务应用的云存储数据分布方法
技术领域
本发明涉及一种面向多业务应用的云存储数据分布方法。
背景技术
云存储系统底层由众多设备甚至成千上万的设备组成,不同系统的底层设备是不一样的,数据分别以块、对象以及文件的形式存储在这些设备上。数据布局指的是将存储系统的上层应用所产生的数据集合存放到设备集合上。数据布局策略主要解决如何选择虚拟池中的设备存放数据的问题,利用有效的机制建立数据集合与设备集合的映射关系,同时
需要满足某些特定的目标。数据布局方法直接影响到I/o的访问性能、存储系统的可用性、可扩展性等方面。不同的目标驱动不同的数据布局策略,如公平地分布数据可以获得较大的I/o并行,提高I/O访问性能;将数据的多个副本放置到不同的设备,其主要是为了容错,提高性能可用性;在存储规模变化时迁移最少的数据量可以满足系统的可扩展性,自适应存储规模的变化等。云存储系统上支持各种业务,每种业务有不同的I/o特征,并且云存储的底层存储介质的异构造成的性能差异。如何使各种业务之间不相互影响,达到系统性能的最大化,是目前云存储系统需要解决的难题之一。目前比较常用的布局方法包括循环分配方法、用户可控布局算法等。

发明内容
本发明针对云存储系统上各应用相互影响的问题,根据不同应用的I/O特点,制定不同的数据分布策略,对性能要求高的业务数据分布到配置高的存储节点,反之,数据分布到配置低的存储节点,从系统的可用性、可扩展性、I/o性能等方面,确保应用稳定运行,系统性能最大化。为了解决上述技术问题,本发明的技术方案如下一种面向多业务应用的云存储数据分布方法,包括如下步骤11)分析云存储上运行的各种业务的I/O特征,并进行业务归类;12)根据不同的业务的I/O特征,建立不同的应用API,所述应用API为基于各种业务的I/o特征,提供基于应用的文件打开、读、写、关闭接口 ;13)根据业务归类结果,制定查询数据布局表;14)当客户端发送数据操作请求时,根据操作请求的业务进行I/O特征分析并归类,然后根据不同的业务的I/o特征,调用不同的应用API ;15)所述操作请求通过对应的应用API,根据查询数据布局表从而访问业务数据的存储节点。进一步的,所述分析云存储上运行的各种业务的I/O特征包括I/o读写分布通过监听模块,对每种I/o请求进行读写统计,并记录相应的数据块请求大小、I/O延迟和当如等待的I/O请求书/[目息;I/O请求时间间隔该特征反应了 I/O请求的频繁程度;
并行I/O任务数并行I/O任务数反映了物理节点存储系统忙闲的程度;请求I/O块大小分布客户端上运行的每种业务的I/O请求访问的I/O块大小分布。进一步的,收集存储节点的信息,该信息包括存储节点的存储水位、CPU、内存、网络带宽参数;根据参数权重,得出按性能高低排序的服务器序列,从而得出每个存储节点负责的存储数据的权重系数,用哈希函数分别计算存储节点的ID值,将存储节点的ID值映射到圆环形的地址空间上,相应的空间范围根据权重系数进行划分,得到云存储系统的查询数据布局表。进一步的,客户端根据每个业务的I/O特征,查询数据布局表,将数据的哈希值映
射到同一个圆环形的地址空间上,并沿着圆环地址空间顺时针寻找存储节点ID值,寻找到的首个节点确定为该数据对象的存放节点。本发明的有益效果在于采用了本发明的面向多种业务的数据布局方法,可以充分发挥各存储节点的性能,达到真正的负载均衡,又可以保证系统的扩容时的自适应调整,数据迁移的数据量只有增加或减少节点上的数据。同时每种业务进行数据操作时只与对应的存储节点进行通信,保证各业务之间相互独立,稳定运行。经过测试,当涉及多种业务例如有BT业务、FTP业务等时,在不使用本方法之前,两种业务之间相互影响,当客户端的I/O有大量写操作时,极大影响了客户端的读操作。本发明的使用,将各种业务的数据分布在各自的存储节点上,确保各种业务之间相互独立,极大的改善了用户体验。


图I为面向多业务的云存储数据布局方法的结构图;图2为面向多业务的云存储数据访问流程图。
具体实施例方式下面将结合附图和具体实施例对本发明做进一步的说明。结合图I可知,本发明的主要模块包括业务I/O特征归类、全局的应用API、云存储数据分布主要模块。业务I/O特征归类云存储上运行各种业务,有效的获取和分析云存储系统上的I/O特征成为云存储系统性能优化和参数设置的重要依据。本发明中获取云存储系统上的I/O特征主要通过I/O监控模块,通过监测客户端I/O操作的过程进行信息收集分析。云存储系统上主要的I/O特征分析包括以下几种I/O读写分布1/0读写分布式是最基本的I/O特征,通过监听模块,对每种I/O请求进行读写统计,并记录相应的数据块请求大小、I/o延迟和当前等待的I/O请求书等信
肩、OI/O请求时间间隔该特征反应了 I/O请求的频繁程度。并行I/O任务数并行I/O任务数反映了物理节点存储系统忙闲的程度。它会对I/O延迟产生影响。为获取并行I/O数可以设置两个不同的变量来分别记录并行的读写I/O任务数。
请求I/O块大小分布客户端上运行的每种业务的I/O请求访问的I/O块大小分布是反映各业务I/o特征的重要参数之一。通过对每种业务的I/O请求进行收集分类,可以充分了解每种业务的I/O特征,为云存储的数据分布提供了重要的信息依据。全局的应用API 应用API主要是基于各种业务的I/O特征,提供基于应用的文件打开、读、写、关闭等接口。该接口主要是根据I/o特征,在客户端进行文件读写时,与数据所在的存储节点进行通信,以免造成大量不必要的网络通信,对云存储系统上的其他业务造成影响。同时,有了各种I/o特征,在文件操作的接口实现方面,可以对I/O操作的参数进行性能优化,提高系统性能和改善用户体验。云存储数据分布云存储数据分布模块是本方法的核心组件。数据布局策略主要是借鉴一致性哈希算法的思想,并结合底层存储节点的性能差异决定数据分布。本模块中运行着存储节点的
信息服务,主要收集各存储节点的存储服务器的空间利用率、CPU、内存、网络带宽等各种参数,根据参数权重,得出按性能高低排序的服务器序列,得到每个存储节点负责的存储数据的权重系数。具体计算存储节点的权重系数分为以下几个步骤步骤一首先根据云存储集群中各存储节点的性能差异,决定衡量存储节点性能参数的权重。在本发明中主要衡量节点差异的参数有节点的空间利用率、CPU、内存和网络带宽,分别用Ws,ffc, ffm, Wn记录各参数的权重值。权重值必须满足(O彡Wi彡I其中i=s,c,m, n,且Ws+Wc+Wm+Wn=l)。例如,各存储节点的CPU、内存、网络带宽的硬件条件一致的情况下,则衡量节点性能的参数就只有存储节点的空间利用率,则Ws=l,Wc=Wm=Wn=0。步骤二 得知节点各参数的权重后,用权重值乘以各参数的数值,得到表示各存储节点的性能指数P,即P=WsX (I-空间利用率)+WcX (I-CPU利用率)+WmX可利用内存+WnX网络带宽,其中网络带宽值千兆网IGb或万兆网IOGb ;步骤三通过计算各节点的性能指数P,可得到按P值高低排序的服务器序列即按性能闻低排序的服务器序列;步骤四将步骤二计算求出的各节点的性能指数Pi,(其中i表示第i个存储节点i=l, 2,3···,N),根据Pi值计算每个存储节点在一致性哈希环上的权重系数,具体计算为
H = [i/ V = K 2,..., N。
/ .
/ i=l有了各个存储节点的权重系数后,系统采用根据一致性哈希函数分别计算存储节点负责的ID值,将存储节点的ID值映射到圆环形的地址空间上((Γ22°),相应的空间范围根据权重系数进行划分,则每个存储节点负责的空间范围Ri=WiXZ2tl, i = 1,2,...,N,这样可得到云存储系统的每个存储节点负责的空间范围表,即数据布局表[OJiUAVIJii+/从.…吃人'+ Ι’ /U...,[乞人' + Ι’ κ]
Z-二 If=]f 二I!■二 I然后客户端根据每个业务的I/O特征,查询布局表,将数据的哈希值映射到同一个圆环形的地址空间上,并沿着圆环地址空间顺时针寻找存储节点ID值,寻找到的首个节点确定为该数据对象的存放节点。这种结合存储节点的性能差异和一致性哈希思想的数据布局策略,可以充分发挥各存储节点的性能,达到真正的负载均衡,又可以保证系统的扩容时的自适应调整,数据迁移的数据量只有增加或减少节点上的数据。同时每种业务进行数据操作时只与对应的存储节点进行通信,保证各业务之间相互独立,稳定运行。图2描述了在面向多业务的云存储数据的访问流程,具体分为以下几个步骤步骤一云存储客户端上某个业务发送某数据操作请求;步骤二 根据业务类型进行I/O特征分析和归类;步骤三确定I/O特征后,调用相应的文件操作接口,查询数据布局信息,获取该业务数据对应的存储节点,客户端与相应的存储节点进行通信,完成文件操作。应用效果华数云宽带服务,采用了本发明的面向多种业务的数据布局方法,并获得实际效果。华数云宽带服务中涉及多种业务,有BT业务、FTP业务等。在不使用本方法之前,两种业务之间相互影响,当客户端的I/O有大量写操作时,极大影响了客户端的读操作。本发明的使用,将各种业务的数据分布在各自的存储节点上,确保各种业务之间相互独立,极大的改善了用户体验。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。
权利要求
1.一种面向多业务应用的云存储数据分布方法,其特征在于,包括如下步骤 11)分析云存储上运行的各种业务的I/o特征,并进行业务归类; 12)根据不同的业务的I/O特征,建立不同的应用API, 所述应用API为基于各种业务的I/O特征,提供基于应用的文件打开、读、写、关闭接Π ; 13)根据业务归类结果,制定查询数据布局表; 14)当客户端发送数据操作请求时,根据操作请求的业务进行I/O特征分析并归类,然后根据不同的业务的I/O特征,调用不同的应用API ; 15)所述操作请求通过对应的应用API,根据查询数据布局表从而访问业务数据的存储节点。
2.根据权利要求I所述的一种面向多业务应用的云存储数据分布方法,其特征在于,所述分析云存储上运行的各种业务的I/O特征包括 I/O读写分布通过监听模块,对每种I/O请求进行读写统计,并记录相应的数据块请求大小、I/O延迟和当前等待的I/O请求书信息; I/O请求时间间隔该特征反应了 I/O请求的频繁程度; 并行I/O任务数并行I/O任务数反映了物理节点存储系统忙闲的程度; 请求I/o块大小分布客户端上运行的每种业务的I/O请求访问的I/O块大小分布。
3.根据权利要求I所述的一种面向多业务应用的云存储数据分布方法,其特征在于,收集存储节点的信息,该信息包括存储节点的存储水位、CPU、内存、网络带宽参数;根据参数权重,得出按性能高低排序的服务器序列,从而得出每个存储节点负责的存储数据的权重系数,用哈希函数分别计算存储节点的ID值,将存储节点的ID值映射到圆环形的地址空间上,相应的空间范围根据权重系数进行划分,得到云存储系统的查询数据布局表。
4.根据权利要求3所述的一种面向多业务应用的云存储数据分布方法,其特征在于,客户端根据每个业务的I/O特征,查询数据布局表,将数据的哈希值映射到同一个圆环形的地址空间上,并沿着圆环地址空间顺时针寻找存储节点ID值,寻找到的首个节点确定为该数据对象的存放节点。
全文摘要
本发明公开了一种面向多业务应用的云存储数据分布方法,包括如下步骤分析云存储上运行的各种业务的I/O特征,并进行业务归类;根据不同的业务的I/O特征,建立不同的应用API,所述应用API为基于各种业务的I/O特征,提供基于应用的文件打开、读、写、关闭接口;根据业务归类结果,制定查询数据布局表;当客户端发送数据操作请求时,根据操作请求的业务进行I/O特征分析并归类,然后根据不同的业务的I/O特征,调用不同的应用API;所述操作请求通过对应的应用API,根据查询数据布局表从而访问业务数据的存储节点,针对云存储系统上各应用相互影响的问题,根据不同应用的I/O特点,制定不同的数据分布策略,确保应用稳定运行,系统性能最大化。
文档编号H04L29/08GK102857560SQ201210290389
公开日2013年1月2日 申请日期2012年8月15日 优先权日2012年8月15日
发明者程耀东, 何沛中, 赵志峰, 张卫, 蔡伟, 邸鹏, 程永红 申请人:华数传媒网络有限公司, 北京华创智云科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1