CN102857560A - 一种面向多业务应用的云存储数据分布方法 - Google Patents
一种面向多业务应用的云存储数据分布方法 Download PDFInfo
- Publication number
- CN102857560A CN102857560A CN2012102903899A CN201210290389A CN102857560A CN 102857560 A CN102857560 A CN 102857560A CN 2012102903899 A CN2012102903899 A CN 2012102903899A CN 201210290389 A CN201210290389 A CN 201210290389A CN 102857560 A CN102857560 A CN 102857560A
- Authority
- CN
- China
- Prior art keywords
- data
- cloud storage
- service
- node
- memory node
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向多业务应用的云存储数据分布方法,包括如下步骤:分析云存储上运行的各种业务的I/O特征,并进行业务归类;根据不同的业务的I/O特征,建立不同的应用API,所述应用API为基于各种业务的I/O特征,提供基于应用的文件打开、读、写、关闭接口;根据业务归类结果,制定查询数据布局表;当客户端发送数据操作请求时,根据操作请求的业务进行I/O特征分析并归类,然后根据不同的业务的I/O特征,调用不同的应用API;所述操作请求通过对应的应用API,根据查询数据布局表从而访问业务数据的存储节点,针对云存储系统上各应用相互影响的问题,根据不同应用的I/O特点,制定不同的数据分布策略,确保应用稳定运行,系统性能最大化。
Description
技术领域
本发明涉及一种面向多业务应用的云存储数据分布方法。
背景技术
云存储系统底层由众多设备甚至成千上万的设备组成,不同系统的底层设备是不一样的,数据分别以块、对象以及文件的形式存储在这些设备上。数据布局指的是将存储系统的上层应用所产生的数据集合存放到设备集合上。数据布局策略主要解决如何选择虚拟池中的设备存放数据的问题,利用有效的机制建立数据集合与设备集合的映射关系,同时需要满足某些特定的目标。数据布局方法直接影响到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有大量写操作时,极大影响了客户端的读操作。本发明的使用,将各种业务的数据分布在各自的存储节点上,确保各种业务之间相互独立,极大的改善了用户体验。
附图说明
图1为面向多业务的云存储数据布局方法的结构图;
图2为面向多业务的云存储数据访问流程图。
具体实施方式
下面将结合附图和具体实施例对本发明做进一步的说明。
结合图1可知,本发明的主要模块包括业务I/O特征归类、全局的应用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请求书等信息。
I/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,Wc,Wm,Wn记录各参数的权重值。权重值必须满足(0≤Wi≤1其中i=s,c,m,n,且Ws+Wc+Wm+Wn=1)。例如,各存储节点的CPU、内存、网络带宽的硬件条件一致的情况下,则衡量节点性能的参数就只有存储节点的空间利用率,则Ws=1,Wc=Wm=Wn=0。
步骤二:得知节点各参数的权重后,用权重值乘以各参数的数值,得到表示各存储节点的性能指数P,即P=Ws×(1-空间利用率)+Wc×(1-CPU利用率)+Wm×可利用内存+Wn×网络带宽,其中网络带宽值千兆网1Gb或万兆网10Gb;
步骤三:通过计算各节点的性能指数P,可得到按P值高低排序的服务器序列即按性能高低排序的服务器序列;
步骤四:将步骤二计算求出的各节点的性能指数Pi,(其中i表示第i个存储节点i=1,2,3…,N),根据Pi值计算每个存储节点在一致性哈希环上的权重系数,具体计算为:
有了各个存储节点的权重系数后,系统采用根据一致性哈希函数分别计算存储节点负责的ID值,将存储节点的ID值映射到圆环形的地址空间上(0~220),相应的空间范围根据权重系数进行划分,则每个存储节点负责的空间范围Ri=Wi×220,i=1,2,...,N,这样可得到云存储系统的每个存储节点负责的空间范围表,即数据布局表:
然后客户端根据每个业务的I/O特征,查询布局表,将数据的哈希值映射到同一个圆环形的地址空间上,并沿着圆环地址空间顺时针寻找存储节点ID值,寻找到的首个节点确定为该数据对象的存放节点。
这种结合存储节点的性能差异和一致性哈希思想的数据布局策略,可以充分发挥各存储节点的性能,达到真正的负载均衡,又可以保证系统的扩容时的自适应调整,数据迁移的数据量只有增加或减少节点上的数据。同时每种业务进行数据操作时只与对应的存储节点进行通信,保证各业务之间相互独立,稳定运行。
图2描述了在面向多业务的云存储数据的访问流程,具体分为以下几个步骤:
步骤一:云存储客户端上某个业务发送某数据操作请求;
步骤二:根据业务类型进行I/O特征分析和归类;
步骤三:确定I/O特征后,调用相应的文件操作接口,查询数据布局信息,获取该业务数据对应的存储节点,客户端与相应的存储节点进行通信,完成文件操作。
应用效果
华数云宽带服务,采用了本发明的面向多种业务的数据布局方法,并获得实际效果。华数云宽带服务中涉及多种业务,有BT业务、FTP业务等。在不使用本方法之前,两种业务之间相互影响,当客户端的I/O有大量写操作时,极大影响了客户端的读操作。本发明的使用,将各种业务的数据分布在各自的存储节点上,确保各种业务之间相互独立,极大的改善了用户体验。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。
Claims (4)
1.一种面向多业务应用的云存储数据分布方法,其特征在于,包括如下步骤:
11)分析云存储上运行的各种业务的I/O特征,并进行业务归类;
12)根据不同的业务的I/O特征,建立不同的应用API,
所述应用API为基于各种业务的I/O特征,提供基于应用的文件打开、读、写、关闭接口;
13)根据业务归类结果,制定查询数据布局表;
14)当客户端发送数据操作请求时,根据操作请求的业务进行I/O特征分析并归类,然后根据不同的业务的I/O特征,调用不同的应用API;
15)所述操作请求通过对应的应用API,根据查询数据布局表从而访问业务数据的存储节点。
2.根据权利要求1所述的一种面向多业务应用的云存储数据分布方法,其特征在于,所述分析云存储上运行的各种业务的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.根据权利要求1所述的一种面向多业务应用的云存储数据分布方法,其特征在于,收集存储节点的信息,该信息包括存储节点的存储水位、CPU、内存、网络带宽参数;根据参数权重,得出按性能高低排序的服务器序列,从而得出每个存储节点负责的存储数据的权重系数,用哈希函数分别计算存储节点的ID值,将存储节点的ID值映射到圆环形的地址空间上,相应的空间范围根据权重系数进行划分,得到云存储系统的查询数据布局表。
4.根据权利要求3所述的一种面向多业务应用的云存储数据分布方法,其特征在于,客户端根据每个业务的I/O特征,查询数据布局表,将数据的哈希值映射到同一个圆环形的地址空间上,并沿着圆环地址空间顺时针寻找存储节点ID值,寻找到的首个节点确定为该数据对象的存放节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210290389.9A CN102857560B (zh) | 2012-08-15 | 2012-08-15 | 一种面向多业务应用的云存储数据分布方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210290389.9A CN102857560B (zh) | 2012-08-15 | 2012-08-15 | 一种面向多业务应用的云存储数据分布方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102857560A true CN102857560A (zh) | 2013-01-02 |
CN102857560B CN102857560B (zh) | 2016-04-20 |
Family
ID=47403748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210290389.9A Active CN102857560B (zh) | 2012-08-15 | 2012-08-15 | 一种面向多业务应用的云存储数据分布方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102857560B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123186A (zh) * | 2013-10-15 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 业务分配方法及装置 |
CN104346220A (zh) * | 2013-07-31 | 2015-02-11 | 中国科学院计算技术研究所 | 一种任务调度方法与系统 |
CN104866584A (zh) * | 2015-05-28 | 2015-08-26 | 交通银行股份有限公司 | 一种基于业务规则的数据分区方法及装置 |
CN105306525A (zh) * | 2015-09-11 | 2016-02-03 | 浪潮集团有限公司 | 一种数据布局的方法、装置和系统 |
CN107391040A (zh) * | 2017-07-28 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种存储阵列磁盘io调度的方法及装置 |
WO2018045545A1 (en) * | 2016-09-09 | 2018-03-15 | Microsoft Technology Licensing, Llc | Automated performance debugging of production applications |
CN108388472A (zh) * | 2018-03-01 | 2018-08-10 | 吉林大学 | 一种基于Docker集群的弹性任务调度系统及方法 |
CN108958648A (zh) * | 2018-05-08 | 2018-12-07 | 广东睿江云计算股份有限公司 | 一种云磁盘存放优化的方法 |
CN112417464A (zh) * | 2019-08-23 | 2021-02-26 | 丁爱民 | 一种云计算数权保护方法及装置 |
CN112925472A (zh) * | 2019-12-06 | 2021-06-08 | 阿里巴巴集团控股有限公司 | 请求处理方法、装置、电子设备及计算机存储介质 |
CN115599983A (zh) * | 2022-12-09 | 2023-01-13 | 思创数码科技股份有限公司(Cn) | 数据查询方法、装置、可读存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158546A (zh) * | 2011-02-28 | 2011-08-17 | 中国科学院计算技术研究所 | 一种集群文件系统及其文件服务方法 |
CN102591970A (zh) * | 2011-12-31 | 2012-07-18 | 北京奇虎科技有限公司 | 一种分布式键-值查询方法和查询引擎系统 |
-
2012
- 2012-08-15 CN CN201210290389.9A patent/CN102857560B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158546A (zh) * | 2011-02-28 | 2011-08-17 | 中国科学院计算技术研究所 | 一种集群文件系统及其文件服务方法 |
CN102591970A (zh) * | 2011-12-31 | 2012-07-18 | 北京奇虎科技有限公司 | 一种分布式键-值查询方法和查询引擎系统 |
Non-Patent Citations (2)
Title |
---|
周敬利,周正达: "改进的云存储系统数据分布策略", 《计算机应用》 * |
施杨斌,等: "云存储上的I/O特征获取机制", 《计算机工程与设计》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346220A (zh) * | 2013-07-31 | 2015-02-11 | 中国科学院计算技术研究所 | 一种任务调度方法与系统 |
CN104346220B (zh) * | 2013-07-31 | 2017-11-03 | 中国科学院计算技术研究所 | 一种任务调度方法与系统 |
CN104123186B (zh) * | 2013-10-15 | 2015-09-16 | 腾讯科技(深圳)有限公司 | 业务分配方法及装置 |
CN104123186A (zh) * | 2013-10-15 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 业务分配方法及装置 |
CN104866584A (zh) * | 2015-05-28 | 2015-08-26 | 交通银行股份有限公司 | 一种基于业务规则的数据分区方法及装置 |
CN105306525A (zh) * | 2015-09-11 | 2016-02-03 | 浪潮集团有限公司 | 一种数据布局的方法、装置和系统 |
US10915425B2 (en) | 2016-09-09 | 2021-02-09 | Microsoft Technology Licensing, Llc | Automated performance debugging of production applications |
WO2018045545A1 (en) * | 2016-09-09 | 2018-03-15 | Microsoft Technology Licensing, Llc | Automated performance debugging of production applications |
CN107391040A (zh) * | 2017-07-28 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种存储阵列磁盘io调度的方法及装置 |
CN108388472A (zh) * | 2018-03-01 | 2018-08-10 | 吉林大学 | 一种基于Docker集群的弹性任务调度系统及方法 |
CN108958648A (zh) * | 2018-05-08 | 2018-12-07 | 广东睿江云计算股份有限公司 | 一种云磁盘存放优化的方法 |
CN112417464A (zh) * | 2019-08-23 | 2021-02-26 | 丁爱民 | 一种云计算数权保护方法及装置 |
CN112417464B (zh) * | 2019-08-23 | 2023-10-24 | 丁爱民 | 一种云计算数权保护方法及装置 |
CN112925472A (zh) * | 2019-12-06 | 2021-06-08 | 阿里巴巴集团控股有限公司 | 请求处理方法、装置、电子设备及计算机存储介质 |
CN115599983A (zh) * | 2022-12-09 | 2023-01-13 | 思创数码科技股份有限公司(Cn) | 数据查询方法、装置、可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102857560B (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102857560A (zh) | 一种面向多业务应用的云存储数据分布方法 | |
CN100476742C (zh) | 基于对象存储设备的负载平衡方法 | |
CN107734052A (zh) | 面向组件依赖的负载均衡容器调度方法 | |
Moilanen et al. | On the use of connectivity measures in spatial ecology | |
CN103324724B (zh) | 数据处理方法及装置 | |
CN103595780B (zh) | 基于消重的云计算资源调度方法 | |
CN105653591A (zh) | 一种工业实时数据分级存储及迁移方法 | |
CN107436813A (zh) | 一种元数据服务器动态负载均衡的方法及系统 | |
CN106909317A (zh) | 在存储节点上存储数据 | |
CN102143215A (zh) | 一种基于网络的pb级云存储系统及其处理方法 | |
CN107291539B (zh) | 基于资源重要程度的集群程序调度方法 | |
CN112835698A (zh) | 一种基于异构集群的请求分类处理的动态负载均衡方法 | |
CN105975345B (zh) | 一种基于分布式内存的视频帧数据动态均衡存储管理方法 | |
CN107122126A (zh) | 数据的迁移方法、装置和系统 | |
CN103605483A (zh) | 一种分级存储系统中块级数据特征处理方法 | |
CN111708497A (zh) | 一种基于hdfs的云环境数据存储优化方法 | |
CN101800768A (zh) | 一种基于存储联盟子集划分的网格数据副本生成方法 | |
CN103324577B (zh) | 基于最小化io访问冲突和文件分条的大规模分条文件分配系统 | |
CN110058942B (zh) | 基于层次分析法的资源分配系统及方法 | |
CN107239572A (zh) | 一种存储管理软件的数据缓存方法及装置 | |
CN114691698B (zh) | 一种计算机系统的数据处理系统及方法 | |
Tan et al. | ALDM: adaptive loading data migration in distributed file systems | |
CN115314500A (zh) | 基于改进topsis模型的动态负载均衡方法 | |
CN108388498A (zh) | 内存中计算的功率建模方法及功率管理方法 | |
CN103888373B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |