首页> 中国专利> 一种基于DHT机制的云存储系统的资源动态分配方法

一种基于DHT机制的云存储系统的资源动态分配方法

摘要

本发明公开了一种基于DHT机制的云存储系统的资源动态分配方法,该方法包括以下步骤:步骤1)根据终端用户对云存储系统访问情况,云存储系统对用户访问请求量、访问请求状态、访问性能以及系统中服务器状态数据进行实时监控,获得监控数据;步骤2)对步骤1)实时采集的数据进行分析,判断系统运行过程中,资源供给是否满足目标性能水平;步骤3)构建资源分配模型,然后根据资源分配模型,进行资源分配。该方法利用排队网络分析服务性能水平和资源使用情况,以保证服务器的服务性能,并降低的资源使用成本。

著录项

  • 公开/公告号CN104092756A

    专利类型发明专利

  • 公开/公告日2014-10-08

    原文格式PDF

  • 申请/专利权人 东南大学;焦点科技股份有限公司;

    申请/专利号CN201410326861.9

  • 申请日2014-07-09

  • 分类号

  • 代理机构南京瑞弘专利商标事务所(普通合伙);

  • 代理人杨晓玲

  • 地址 211189 江苏省南京市江宁区东南大学路2号

  • 入库时间 2023-12-17 02:19:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-07-28

    授权

    授权

  • 2014-10-29

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20140709

    实质审查的生效

  • 2014-10-08

    公开

    公开

说明书

技术领域

本发明涉及云计算和分布式存储领域,具体来说,涉及一种基于DHT机制 的云存储系统的资源动态分配方法。

背景技术

云计算是一种利用互联网实现随时随地、按需、便捷地访问共享资源池的计 算模式。它把大量的节点和网络设备连接在一起,构建成一个或若干个大规模数 据中心,并以数据中心为基础对外提供各种层次的服务,包括基础设施服务IaaS、 平台服务PaaS和软件服务SaaS,每种层次服务都对应一种云服务提供商的角色。 云存储服务作为一种上层服务,服务商向IaaS提供商购买位于数据中心中的资 源以便构建云存储系统,例如云存储服务商Dropbox将系统构建在Amazon数据 中心之上。终端用户利用互联网将数据上传到系统的服务器中,数据的位置和组 织方式对用户是透明的,用户可以随时随地访问数据,避免由于本地备份不当带 来的数据丢失的风险,同时利用共享机制用户之间可以实现对数据的互访等操 作,使得数据资源得到更加充分的使用。

云存储服务面向终端用户,其特点是数据由用户生成,并且数据量大,增长 速度快,而用户对于数据可获得性和访问响应延迟十分敏感,将直接影响用户对 服务性能的体验度。为了保证用户能够便捷、快速地访问数据,各大云服务提供 商均采用基于无共享架构的分布式存储系统,如Dynamo和Cassandra等系统。 在无共享架构下,数据中心的每个节点都拥有独立的本地存储,利用分布式哈希 机制(英文全称Distributed Hash Table,文中简称DHT)将数据分散存储在 各个节点上,避免共享集中式存储存在的单点失效问题和I/O瓶颈。云存储服务 商利用IaaS提供商提供的资源来构建服务系统,服务商按需支付资源的使用花 费。因此,不仅要考虑服务性能还需要考虑资源使用成本。由于系统采用分布式 组织结构,用户请求路由过程需要多节点交互,使得服务性能与资源供给状况关 系更加复杂。从云存储服务商角度出发,在面对用户访问请求时,需要以较小的 资源使用成本保证服务性能水平。

发明内容

技术问题:本发明所要解决的技术问题是:提供一种基于DHT机制的云存 储系统的资源动态分配方法,利用排队网络分析服务性能水平和资源使用情况, 以保证服务器的服务性能,并降低的资源使用成本。

技术方案:为解决上述技术问题,本发明采用的技术方案是:

一种基于DHT机制的云存储系统的资源动态分配方法,该方法包括以下步 骤:

步骤1)根据终端用户对云存储系统访问情况,云存储系统对用户访问请求 量、访问请求状态、访问性能以及系统中服务器状态数据进行实时监控,获得监 控数据;

步骤2)对步骤1)实时采集的数据进行分析,判断系统运行过程中,资源 供给是否满足目标性能水平;

步骤3)构建资源分配模型,然后根据资源分配模型,进行资源分配。

进一步:所述的步骤1)中,监控的访问请求状态数据包括用户访问请求到 达率和用户请求的文件流行度分布;监控的服务器状态数据包括:服务器处理能 力和服务器拒绝率;访问性能的性能指标为数据可获得性和响应延迟。

进一步:所述的数据可获得性是指用户访问数据的成功率,采用用户能够成 功访问目标数据的平均概率表示;响应延迟是指系统响应用户请求所需时间,采 用从用户发出请求到系统返回结果的平均时间间隔表示。

进一步:所述的步骤1)的过程为:在数据中心设置访问统计与性能监控模 块,该模块运行在数据中心控制节点或访问请求入口节点上,对到达本数据中心 的访问请求状态、访问性能的性能指标以及服务器状态数据进行统计和监控,并 将结果数据写入数据库中,进行保存,每n秒更新一次,直至系统停止运行。

进一步:所述的步骤2)的过程为:

步骤201)比较服务器的性能水平是否低于预先设定的阈值,若是,则进入 步骤202);若否,则进入步骤203);

步骤202)比较服务器拒绝率和预先设定的拒绝率阈值,如果服务器拒绝率 大于或等于预先设定的拒绝率阈值,则进入步骤3),如果服务器拒绝率小于预 先设定的拒绝率阈值,则返回步骤201);

步骤203)比较更新后的当前访问请求到达率和更新前的最近一次访问请求 到达率大小,如果当前访问请求到达率大于或等于更新前的最近一次访问请求到 达率,则返回步骤201),如果当前访问请求到达率小于更新前的最近一次访问 请求到达率,则进入步骤4)。

进一步:所述的步骤3)中资源分配模型的构建方法为:利用排队网络建立 资源分配模型,将系统中每个服务器节点视为一个M/G/1/k队列,服务器节点收 到的访问请求是一个泊松到达,服务器节点处理访问请求的时间服从一般分布, 所有服务器节点构成DHT网络,用户请求被均匀地分发到所有节点之上。

进一步:所述的步骤3)中资源分配方法为:

步骤301)利用式(1)至式(4),以及根据服务器的性能,测算出当前系 统所需服务器数目的目标范围:

Psuc≥P*suc   式(1)

R≤R*      式(2)

Prej≤P*rej     式(3)

μmin≤μi≤μmax  式(4)

其中,Psuc表示实时的数据可获得性,P*suc表示预先设定的数据可获得性的 阈值,R表示实时的响应延迟,R*表示预先设定的响应延迟的阈值;Prej表示实 时的服务器拒绝率,P*rej表示预先设定的服务器拒绝率的阈值,μmin表示服务器 的服务能力的下限值、μmax表示服务器的服务能力的上限值,μi表示第i台服务 器的服务能力;

步骤302)根据步骤301)确定的服务器数目的目标范围,对每个满足该目 标范围的服务器数目,带入式(5)中,测算每个服务器数目对应的资源分配方 案的使用成本;

Cost(μ)=Σi=1Nf(μi)式(5)

其中,Cost(μ)表示系统的资源分配方案μ对应的资源使用成本,f(μi)表 示服务器的使用成本函数,N表示系统中服务器的数目;表示使用的服务器 成本之和;将这些资源分配方案的使用成本按照大小值进行排序,选出使用成本 最小对应的资源分配方案作为新生成的资源分配方案;

步骤303)采用新生成的资源分配方案更新系统资源供给:对比当前资源分 配方案和新生成的资源分配方案中使用的服务器数目,从中选出最小服务器数目 Nmin,并将Nmin个当前使用的服务器按照新生成的资源分配方案进行重新配置,如 果新生成的资源分配方案采用的服务器数目N’大于当前资源分配方案采用的 服务器数目N0,则在系统中增加N’-N0个服务器节点,并按照新生成的资源 分配方案对服务器进行配置;如果新生成的资源分配方案采用的服务器数目N’ 小于当前资源分配方案采用的服务器数目N0,则在系统中将Nmin个服务器按照新 生成的资源分配方案进行重新配置,如果二者相等,则不对服务器数量做调整, 按照新生成的资源分配方案调整各服务器的配置。

有益效果:与现有技术相比,本发明的基于DHT机制的云存储系统的资源 动态分配方法,利用排队网络分析服务性能水平和资源使用情况,从而以较低的 资源使用成本保证目标数据可获得性和响应延迟。本发明的方法包括三个步骤: 云存储系统的实时监控、系统性能分析和资源分配。云存储系统构建于数据中心 之上,利用数据中心的资源向用户提供便捷的数据访问服务,用户的访问请求在 系统中的各服务器节点转发和匹配,节点之间交互由路由过程决定。本发明的方 法,利用排队网络分析服务性能水平和资源使用情况。本发明能够根据当前用户 访问情况动态调整云存储系统的资源,保证用户访问性能,提高资源利用率,同 时降低资源使用成本。

附图说明

图1为本发明的云存储系统架构图。

图2为本发明的第二步的流程框图。

图3为本发明的第三步中资源分配模型图。

图4为本发明的实施例中资源使用成本与服务器数量比较图。

图5为本发明的实施例中性能比较图。

具体实施方式

下面结合附图,对本发明的技术方案进行详细的说明。

本发明的系统框架,如图1所示,云存储服务商根据业务需求向IaaS提供 商购买服务器资源,服务器节点按照对等关系组织成一个分布式的覆盖网络 (Overlay Network),用户数据根据DHT机制被分散存储在各个服务器节点之上。 用户通过统一的服务访问接口可以方便的登录系统,使用云存储服务。

本发明的一种基于DHT机制的云存储系统的资源动态分配方法,包括以下 步骤:

步骤1)根据终端用户对云存储系统访问情况,云存储系统对用户访问请求 量、访问请求状态、访问性能以及系统中服务器状态数据进行实时监控,获得监 控数据。

在步骤1)中,监控的访问请求状态数据包括用户访问请求到达率和用户请 求的文件流行度分布;监控的服务器状态数据包括:服务器处理能力和服务器拒 绝率;访问性能的性能指标为数据可获得性和响应延迟。数据可获得性是指用户 访问数据的成功率,采用用户能够成功访问目标数据的平均概率表示;响应延迟 是指系统响应用户请求所需时间,采用从用户发出请求到系统返回结果的平均时 间间隔表示。

步骤1)的具体过程为:在数据中心设置访问统计与性能监控模块,该模块 运行在数据中心控制节点或访问请求入口节点上,对到达本数据中心的访问请求 状态、访问性能的性能指标以及服务器状态数据进行统计和监控,并将结果数据 写入数据库中,进行保存,每n秒更新一次,直至系统停止运行。作为优选,n 为4—6秒。

步骤2)对步骤1)实时采集的数据进行分析,判断系统运行过程中,资源 供给是否满足目标性能水平。步骤2)首先收集访问统计与性能监控模块生成的 信息,并依据当前性能水平做出优化决策,触发相应优化模块,该模块部署于系 统控制节点。如图2所示,步骤2)的过程为:

步骤201)比较服务器的性能水平是否低于预先设定的阈值,若是,则进入 步骤202);若否,则进入步骤203);

步骤202)比较服务器拒绝率和预先设定的拒绝率阈值,如果服务器拒绝率 大于或等于预先设定的拒绝率阈值,则进入步骤3),如果服务器拒绝率小于预 先设定的拒绝率阈值,则返回步骤201)。因为服务器拒绝率过高会引起可获得 性下降,所以当前系统访问量较大时,需要增加资源供给,由此触发资源分配操 作。

步骤203)比较更新后的当前访问请求到达率和更新前的最近一次访问请求 到达率大小,如果当前访问请求到达率大于或等于更新前的最近一次访问请求到 达率,则返回步骤201),如果当前访问请求到达率小于更新前的最近一次访问 请求到达率,则进入步骤4)。

步骤3)构建资源分配模型,然后根据资源分配模型,进行资源分配。

如图3所示,资源分配模型的构建方法为:利用排队网络建立资源分配模型, 将系统中每个服务器节点视为一个M/G/1/k队列,服务器节点收到的访问请求是 一个泊松到达,服务器节点处理访问请求的时间服从一般分布(英文名称: General distribution),所有服务器节点构成DHT网络,用户请求被均匀地分 发到所有节点之上。

步骤3)中,资源分配方法包括步骤301)至步骤303):

步骤301)利用式(1)至式(4),以及根据服务器的性能,测算出当前系 统所需服务器数目的目标范围:

Psuc≥P*suc     式(1)

R≤R*      式(2)

Prej≤P*rej      式(3)

μmin≤μi≤μmax   式(4)

其中,Psuc表示实时的数据可获得性,P*suc表示预先设定的数据可获得性的 阈值,R表示实时的响应延迟,R*表示预先设定的响应延迟的阈值;Prej表示实 时的服务器拒绝率,P*rej表示预先设定的服务器拒绝率的阈值,μmin表示服务器 的服务能力的下限值、μmax表示服务器的服务能力的上限值,μi表示第i台服务 器的服务能力;

步骤302)根据步骤301)确定的服务器数目的目标范围,对每个满足该目 标范围的服务器数目,带入式(5)中,测算每个服务器数目对应的资源分配方 案的使用成本;

Cost(μ)=Σi=1Nf(μi)式(5)

其中,Cost(μ)表示系统的资源分配方案μ对应的资源使用成本,f(μi)表 示服务器的使用成本函数,N表示系统中服务器的数目;表示使用的服务器 成本之和;将这些资源分配方案的使用成本按照大小值进行排序,选出使用成本 最小对应的资源分配方案作为新生成的资源分配方案;

步骤303)采用新生成的资源分配方案更新系统资源供给:对比当前资源分 配方案和新生成的资源分配方案中使用的服务器数目,从中选出最小服务器数目 Nmin,并将Nmin个当前使用的服务器按照新生成的资源分配方案进行重新配置, 如果新生成的资源分配方案采用的服务器数目N’大于当前资源分配方案采用的 服务器数目N0,则在系统中增加N’-N0个服务器节点,并按照新生成的资源 分配方案对服务器进行配置;如果新生成的资源分配方案采用的服务器数目N’ 小于当前资源分配方案采用的服务器数目N0,则在系统中将Nmin个服务器按照 新生成的资源分配方案进行重新配置,如果二者相等,则不对服务器数量做调整, 按照新生成的资源分配方案调整各服务器的配置。

本发明的方法主要包括三方面的内容:云存储系统的实时监控,系统性能分 析和资源分配。下面结合附图,提供一具体实施例。

1.云存储系统的实时监控

云存储系统的实时监控负责统计用户访问情况以及系统运行状况并以此为 依据对系统采取进一步的优化。在图1中,该实时监控由访问统计与性能监控模 块,该模块运行在数据中心控制节点或访问请求入口节点上,负责对到达本数据 中心的访问请求包括用户访问请求到达率λ1和用户请求的文件流行度qi分布, 性能指标包括数据可获得性Psuc和访问响应延迟R,以及服务器状态包括服务器 处理能力μ和服务器拒绝率Prejection进行统计和监控。这些数据将分别被写入 Mysql数据库,每n秒更新一次,n设为4-6秒。由于统计的参数除拒绝率外主 要与访问请求相关,与单个服务器节点无关,因此,不需要在每个服务器节点上 部署该模块,平均拒绝率由每个节点的队列管理进程写入数据库统计获得。

2.系统性能分析

系统性能分析负责对目前系统运行状态进行分析并触发必要的优化操作,其 功能由性能分析模块实现,由首先收集访问统计与性能监控模块提供的信息,并 依据当前性能水平做出优化决策,触发相应优化模块,系统性能阈指标包括数据 可获得性、拒绝率和响应延迟P*,其值存放于数据库表中。该模块部 署于系统控制节点。

3.资源分配

资源分配负责为云存储运行提供必要的基础设施资源,由性能分析模块触 发。它将根据当前性能水平动态确定资源分配方案。资源分配模块负责根据当前 系统运行状况以及性能需求为系统生成资源分配方案并交由IaaS服务商获取服 务器资源。服务运行过程中,当用户的访问请求到达系统时,系统会为其指派一 台服务器进行服务,服务器首先将请求与自身存储的数据进行匹配,若匹配成功 则直接返回查询结果作为响应,否则根据DHT路由协议将请求转发至下一个服务 器节点,如此继续直到找到目标数据。节点间通过转发消息进行交互,由于每次 转发对象节点不同,节点间交互关系也不固定,为了更好地描述节点间复杂的交 互关系,用排队网络建立资源分配模型。首先用排队网络建立云存储系统资源分 配模型,如图3所示,每个服务器节点均被视为一个M/G/1/k队列,节点收到的 访问请求是一个泊松到达,节点处理访问请求的时间服从一般分布,考虑到服务 器节点不可能同时接收和处理无限多的请求,设置队列最大容量为k。当节点的 队列中请求数为k时,表示此节点负载已饱和,若此时再有请求到达则会被拒绝。 服务器节点按照其服务能力计算使用成本。

资源分配模块负责与数据中心控制节点交互,完成服务器资源的申请和释放 等操作,资源分配模块部署于系统控制节点。数据中心的基础设施平台采用开源 软件OpenStack搭建,利用OpenStack管理基础设施资源,执行资源分配方案, 向系统提供各种资源。资源分配模块中部署了资源分配算法。在确定资源分配方 案后,将分配方案写入资源预分配表,同时将资源分配方案作为资源请求提交给 OpenStack执行,通过OpenStack提供的API完成对基础设施资源的操作。

为了验证本方法的有效性,通过仿真实验提供一具体实施例。实验做如下设 置:服务器处理单个请求的时间服从负指数分布,生成的访问请求为泊松到达, 服务器队列容量k为15,各参数指标的阈值分别为R*=0.025s, 服务器服务能力范围为[10,100],服务器使用成本函数分别为 f1(x)=(x-10)/60+1/2和f2(x)=((x-10)/60)2/3+1/2。基于利用率原则 (Utilization-oriented Principle,简称UoP)是一种常见的资源分配方法,该 方法通过提高资源利用率减少资源使用成本,预先设定利用率的目标范围,要求 分配的服务器的平均利用率在该范围内,同时满足可获得性和响应延迟约束。在 资源分配模型基础上实现该方法,并与本文算法进行比较。实验结果如图4和图 5所示。从图4中可以看出本方法得出的资源使用成本优于UoP方法,服务器节 点的请求到达率呈均匀分布,而UoP方法要求利用率在目标区间内,其选择的服 务器的能力范围也被限制在[55,85]范围内,本方法根据服务器拒绝率进行选择, 范围更大。图5给出了在数据可获得性和响应延迟方面的比较结果,采用f2(x) 时的数据可获得性略高于采用f1(x),但响应延迟却略长,因为采用f2(x)时的服务 器数量更少,服务器节点的平均匹配率更高,而响应延迟增加则是由于服务器节 点的请求到达率增加导致平均周转时间变大,虽然查询路由的转发跳数减少会降 低转发请求所用时间,但这一时间相对于服务器周转时间显得十分微小。从图5 可见本方法较UoP方法更接近数据可获得性和响应延迟的约束。

应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前 提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。 本实施例中未明确的各部分均可用现有技术加以实现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号