《一种基于DHT机制的云存储系统的资源动态分配方法.pdf》由会员分享,可在线阅读,更多相关《一种基于DHT机制的云存储系统的资源动态分配方法.pdf(13页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104092756A43申请公布日20141008CN104092756A21申请号201410326861922申请日20140709H04L29/0820060171申请人东南大学地址211189江苏省南京市江宁区东南大学路2号申请人焦点科技股份有限公司72发明人东方罗军舟其他发明人请求不公开姓名74专利代理机构南京瑞弘专利商标事务所普通合伙32249代理人杨晓玲54发明名称一种基于DHT机制的云存储系统的资源动态分配方法57摘要本发明公开了一种基于DHT机制的云存储系统的资源动态分配方法,该方法包括以下步骤步骤1)根据终端用户对云存储系统访问情况,云存储系统对用户访问请。
2、求量、访问请求状态、访问性能以及系统中服务器状态数据进行实时监控,获得监控数据;步骤2)对步骤1)实时采集的数据进行分析,判断系统运行过程中,资源供给是否满足目标性能水平;步骤3)构建资源分配模型,然后根据资源分配模型,进行资源分配。该方法利用排队网络分析服务性能水平和资源使用情况,以保证服务器的服务性能,并降低的资源使用成本。51INTCL权利要求书2页说明书6页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图4页10申请公布号CN104092756ACN104092756A1/2页21一种基于DHT机制的云存储系统的资源动态分配方法,其特征在于该方法包括。
3、以下步骤步骤1根据终端用户对云存储系统访问情况,云存储系统对用户访问请求量、访问请求状态、访问性能以及系统中服务器状态数据进行实时监控,获得监控数据;步骤2对步骤1实时采集的数据进行分析,判断系统运行过程中,资源供给是否满足目标性能水平;步骤3构建资源分配模型,然后根据资源分配模型,进行资源分配。2根据权利要求1所述的基于DHT机制的云存储系统的资源动态分配方法,其特征在于所述的步骤1中,监控的访问请求状态数据包括用户访问请求到达率和用户请求的文件流行度分布;监控的服务器状态数据包括服务器处理能力和服务器拒绝率;访问性能的性能指标为数据可获得性和响应延迟。3根据权利要求2所述的基于DHT机制的。
4、云存储系统的资源动态分配方法,其特征在于所述的数据可获得性是指用户访问数据的成功率,采用用户能够成功访问目标数据的平均概率表示;响应延迟是指系统响应用户请求所需时间,采用从用户发出请求到系统返回结果的平均时间间隔表示。4根据权利要求1所述的基于DHT机制的云存储系统的资源动态分配方法,其特征在于所述的步骤1的过程为在数据中心设置访问统计与性能监控模块,该模块运行在数据中心控制节点或访问请求入口节点上,对到达本数据中心的访问请求状态、访问性能的性能指标以及服务器状态数据进行统计和监控,并将结果数据写入数据库中,进行保存,每N秒更新一次,直至系统停止运行。5根据权利要求4所述的基于DHT机制的云存。
5、储系统的资源动态分配方法,其特征在于所述的N为46秒。6根据权利要求1所述的基于DHT机制的云存储系统的资源动态分配方法,其特征在于所述的步骤2的过程为步骤201比较服务器的性能水平是否低于预先设定的阈值,若是,则进入步骤202;若否,则进入步骤203;步骤202比较服务器拒绝率和预先设定的拒绝率阈值,如果服务器拒绝率大于或等于预先设定的拒绝率阈值,则进入步骤3,如果服务器拒绝率小于预先设定的拒绝率阈值,则返回步骤201;步骤203比较更新后的当前访问请求到达率和更新前的最近一次访问请求到达率大小,如果当前访问请求到达率大于或等于更新前的最近一次访问请求到达率,则返回步骤201,如果当前访问请。
6、求到达率小于更新前的最近一次访问请求到达率,则进入步骤4。7根据权利要求1所述的基于DHT机制的云存储系统的资源动态分配方法,其特征在于所述的步骤3中资源分配模型的构建方法为利用排队网络建立资源分配模型,将系统中每个服务器节点视为一个M/G/1/K队列,服务器节点收到的访问请求是一个泊松到达,服务器节点处理访问请求的时间服从一般分布,所有服务器节点构成DHT网络,用户请求被均匀地分发到所有节点之上。8根据权利要求1所述的基于DHT机制的云存储系统的资源动态分配方法,其特征在于所述的步骤3中资源分配方法为权利要求书CN104092756A2/2页3步骤301利用式1至式4,以及根据服务器的性能,。
7、测算出当前系统所需服务器数目的目标范围PSUCPSUC式1RR式2PREJPREJ式3MINIMAX式4其中,PSUC表示实时的数据可获得性,PSUC表示预先设定的数据可获得性的阈值,R表示实时的响应延迟,R表示预先设定的响应延迟的阈值;PREJ表示实时的服务器拒绝率,PREJ表示预先设定的服务器拒绝率的阈值,MIN表示服务器的服务能力的下限值、MAX表示服务器的服务能力的上限值,I表示第I台服务器的服务能力;步骤302根据步骤301确定的服务器数目的目标范围,对每个满足该目标范围的服务器数目,带入式5中,测算每个服务器数目对应的资源分配方案的使用成本;式5其中,COST表示系统的资源分配方案。
8、对应的资源使用成本,FI表示服务器的使用成本函数,N表示系统中服务器的数目;表示使用的服务器成本之和;将这些资源分配方案的使用成本按照大小值进行排序,选出使用成本最小对应的资源分配方案作为新生成的资源分配方案;步骤303采用新生成的资源分配方案更新系统资源供给对比当前资源分配方案和新生成的资源分配方案中使用的服务器数目,从中选出最小服务器数目NMIN,并将NMIN个当前使用的服务器按照新生成的资源分配方案进行重新配置,如果新生成的资源分配方案采用的服务器数目N大于当前资源分配方案采用的服务器数目N0,则在系统中增加NN0个服务器节点,并按照新生成的资源分配方案对服务器进行配置;如果新生成的资源。
9、分配方案采用的服务器数目N小于当前资源分配方案采用的服务器数目N0,则在系统中将NMIN个服务器按照新生成的资源分配方案进行重新配置,如果二者相等,则不对服务器数量做调整,按照新生成的资源分配方案调整各服务器的配置。权利要求书CN104092756A1/6页4一种基于DHT机制的云存储系统的资源动态分配方法技术领域0001本发明涉及云计算和分布式存储领域,具体来说,涉及一种基于DHT机制的云存储系统的资源动态分配方法。背景技术0002云计算是一种利用互联网实现随时随地、按需、便捷地访问共享资源池的计算模式。它把大量的节点和网络设备连接在一起,构建成一个或若干个大规模数据中心,并以数据中心为基础。
10、对外提供各种层次的服务,包括基础设施服务IAAS、平台服务PAAS和软件服务SAAS,每种层次服务都对应一种云服务提供商的角色。云存储服务作为一种上层服务,服务商向IAAS提供商购买位于数据中心中的资源以便构建云存储系统,例如云存储服务商DROPBOX将系统构建在AMAZON数据中心之上。终端用户利用互联网将数据上传到系统的服务器中,数据的位置和组织方式对用户是透明的,用户可以随时随地访问数据,避免由于本地备份不当带来的数据丢失的风险,同时利用共享机制用户之间可以实现对数据的互访等操作,使得数据资源得到更加充分的使用。0003云存储服务面向终端用户,其特点是数据由用户生成,并且数据量大,增长速。
11、度快,而用户对于数据可获得性和访问响应延迟十分敏感,将直接影响用户对服务性能的体验度。为了保证用户能够便捷、快速地访问数据,各大云服务提供商均采用基于无共享架构的分布式存储系统,如DYNAMO和CASSANDRA等系统。在无共享架构下,数据中心的每个节点都拥有独立的本地存储,利用分布式哈希机制英文全称DISTRIBUTEDHASHTABLE,文中简称DHT将数据分散存储在各个节点上,避免共享集中式存储存在的单点失效问题和I/O瓶颈。云存储服务商利用IAAS提供商提供的资源来构建服务系统,服务商按需支付资源的使用花费。因此,不仅要考虑服务性能还需要考虑资源使用成本。由于系统采用分布式组织结构,用。
12、户请求路由过程需要多节点交互,使得服务性能与资源供给状况关系更加复杂。从云存储服务商角度出发,在面对用户访问请求时,需要以较小的资源使用成本保证服务性能水平。发明内容0004技术问题本发明所要解决的技术问题是提供一种基于DHT机制的云存储系统的资源动态分配方法,利用排队网络分析服务性能水平和资源使用情况,以保证服务器的服务性能,并降低的资源使用成本。0005技术方案为解决上述技术问题,本发明采用的技术方案是0006一种基于DHT机制的云存储系统的资源动态分配方法,该方法包括以下步骤0007步骤1根据终端用户对云存储系统访问情况,云存储系统对用户访问请求量、访问请求状态、访问性能以及系统中服务器。
13、状态数据进行实时监控,获得监控数据;0008步骤2对步骤1实时采集的数据进行分析,判断系统运行过程中,资源供给是否满足目标性能水平;说明书CN104092756A2/6页50009步骤3构建资源分配模型,然后根据资源分配模型,进行资源分配。0010进一步所述的步骤1中,监控的访问请求状态数据包括用户访问请求到达率和用户请求的文件流行度分布;监控的服务器状态数据包括服务器处理能力和服务器拒绝率;访问性能的性能指标为数据可获得性和响应延迟。0011进一步所述的数据可获得性是指用户访问数据的成功率,采用用户能够成功访问目标数据的平均概率表示;响应延迟是指系统响应用户请求所需时间,采用从用户发出请求到。
14、系统返回结果的平均时间间隔表示。0012进一步所述的步骤1的过程为在数据中心设置访问统计与性能监控模块,该模块运行在数据中心控制节点或访问请求入口节点上,对到达本数据中心的访问请求状态、访问性能的性能指标以及服务器状态数据进行统计和监控,并将结果数据写入数据库中,进行保存,每N秒更新一次,直至系统停止运行。0013进一步所述的步骤2的过程为0014步骤201比较服务器的性能水平是否低于预先设定的阈值,若是,则进入步骤202;若否,则进入步骤203;0015步骤202比较服务器拒绝率和预先设定的拒绝率阈值,如果服务器拒绝率大于或等于预先设定的拒绝率阈值,则进入步骤3,如果服务器拒绝率小于预先设定。
15、的拒绝率阈值,则返回步骤201;0016步骤203比较更新后的当前访问请求到达率和更新前的最近一次访问请求到达率大小,如果当前访问请求到达率大于或等于更新前的最近一次访问请求到达率,则返回步骤201,如果当前访问请求到达率小于更新前的最近一次访问请求到达率,则进入步骤4。0017进一步所述的步骤3中资源分配模型的构建方法为利用排队网络建立资源分配模型,将系统中每个服务器节点视为一个M/G/1/K队列,服务器节点收到的访问请求是一个泊松到达,服务器节点处理访问请求的时间服从一般分布,所有服务器节点构成DHT网络,用户请求被均匀地分发到所有节点之上。0018进一步所述的步骤3中资源分配方法为001。
16、9步骤301利用式1至式4,以及根据服务器的性能,测算出当前系统所需服务器数目的目标范围0020PSUCPSUC式10021RR式20022PREJPREJ式30023MINIMAX式40024其中,PSUC表示实时的数据可获得性,PSUC表示预先设定的数据可获得性的阈值,R表示实时的响应延迟,R表示预先设定的响应延迟的阈值;PREJ表示实时的服务器拒绝率,PREJ表示预先设定的服务器拒绝率的阈值,MIN表示服务器的服务能力的下限值、MAX表示服务器的服务能力的上限值,I表示第I台服务器的服务能力;0025步骤302根据步骤301确定的服务器数目的目标范围,对每个满足该目标范围的服务器数目,带。
17、入式5中,测算每个服务器数目对应的资源分配方案的使用成本;说明书CN104092756A3/6页60026式50027其中,COST表示系统的资源分配方案对应的资源使用成本,FI表示服务器的使用成本函数,N表示系统中服务器的数目;表示使用的服务器成本之和;将这些资源分配方案的使用成本按照大小值进行排序,选出使用成本最小对应的资源分配方案作为新生成的资源分配方案;0028步骤303采用新生成的资源分配方案更新系统资源供给对比当前资源分配方案和新生成的资源分配方案中使用的服务器数目,从中选出最小服务器数目NMIN,并将NMIN个当前使用的服务器按照新生成的资源分配方案进行重新配置,如果新生成的资源。
18、分配方案采用的服务器数目N大于当前资源分配方案采用的服务器数目N0,则在系统中增加NN0个服务器节点,并按照新生成的资源分配方案对服务器进行配置;如果新生成的资源分配方案采用的服务器数目N小于当前资源分配方案采用的服务器数目N0,则在系统中将NMIN个服务器按照新生成的资源分配方案进行重新配置,如果二者相等,则不对服务器数量做调整,按照新生成的资源分配方案调整各服务器的配置。0029有益效果与现有技术相比,本发明的基于DHT机制的云存储系统的资源动态分配方法,利用排队网络分析服务性能水平和资源使用情况,从而以较低的资源使用成本保证目标数据可获得性和响应延迟。本发明的方法包括三个步骤云存储系统的。
19、实时监控、系统性能分析和资源分配。云存储系统构建于数据中心之上,利用数据中心的资源向用户提供便捷的数据访问服务,用户的访问请求在系统中的各服务器节点转发和匹配,节点之间交互由路由过程决定。本发明的方法,利用排队网络分析服务性能水平和资源使用情况。本发明能够根据当前用户访问情况动态调整云存储系统的资源,保证用户访问性能,提高资源利用率,同时降低资源使用成本。附图说明0030图1为本发明的云存储系统架构图。0031图2为本发明的第二步的流程框图。0032图3为本发明的第三步中资源分配模型图。0033图4为本发明的实施例中资源使用成本与服务器数量比较图。0034图5为本发明的实施例中性能比较图。具体。
20、实施方式0035下面结合附图,对本发明的技术方案进行详细的说明。0036本发明的系统框架,如图1所示,云存储服务商根据业务需求向IAAS提供商购买服务器资源,服务器节点按照对等关系组织成一个分布式的覆盖网络OVERLAYNETWORK,用户数据根据DHT机制被分散存储在各个服务器节点之上。用户通过统一的服务访问接口可以方便的登录系统,使用云存储服务。0037本发明的一种基于DHT机制的云存储系统的资源动态分配方法,包括以下步骤0038步骤1根据终端用户对云存储系统访问情况,云存储系统对用户访问请求量、访说明书CN104092756A4/6页7问请求状态、访问性能以及系统中服务器状态数据进行实时。
21、监控,获得监控数据。0039在步骤1中,监控的访问请求状态数据包括用户访问请求到达率和用户请求的文件流行度分布;监控的服务器状态数据包括服务器处理能力和服务器拒绝率;访问性能的性能指标为数据可获得性和响应延迟。数据可获得性是指用户访问数据的成功率,采用用户能够成功访问目标数据的平均概率表示;响应延迟是指系统响应用户请求所需时间,采用从用户发出请求到系统返回结果的平均时间间隔表示。0040步骤1的具体过程为在数据中心设置访问统计与性能监控模块,该模块运行在数据中心控制节点或访问请求入口节点上,对到达本数据中心的访问请求状态、访问性能的性能指标以及服务器状态数据进行统计和监控,并将结果数据写入数据。
22、库中,进行保存,每N秒更新一次,直至系统停止运行。作为优选,N为46秒。0041步骤2对步骤1实时采集的数据进行分析,判断系统运行过程中,资源供给是否满足目标性能水平。步骤2首先收集访问统计与性能监控模块生成的信息,并依据当前性能水平做出优化决策,触发相应优化模块,该模块部署于系统控制节点。如图2所示,步骤2的过程为0042步骤201比较服务器的性能水平是否低于预先设定的阈值,若是,则进入步骤202;若否,则进入步骤203;0043步骤202比较服务器拒绝率和预先设定的拒绝率阈值,如果服务器拒绝率大于或等于预先设定的拒绝率阈值,则进入步骤3,如果服务器拒绝率小于预先设定的拒绝率阈值,则返回步骤。
23、201。因为服务器拒绝率过高会引起可获得性下降,所以当前系统访问量较大时,需要增加资源供给,由此触发资源分配操作。0044步骤203比较更新后的当前访问请求到达率和更新前的最近一次访问请求到达率大小,如果当前访问请求到达率大于或等于更新前的最近一次访问请求到达率,则返回步骤201,如果当前访问请求到达率小于更新前的最近一次访问请求到达率,则进入步骤4。0045步骤3构建资源分配模型,然后根据资源分配模型,进行资源分配。0046如图3所示,资源分配模型的构建方法为利用排队网络建立资源分配模型,将系统中每个服务器节点视为一个M/G/1/K队列,服务器节点收到的访问请求是一个泊松到达,服务器节点处理。
24、访问请求的时间服从一般分布英文名称GENERALDISTRIBUTION,所有服务器节点构成DHT网络,用户请求被均匀地分发到所有节点之上。0047步骤3中,资源分配方法包括步骤301至步骤3030048步骤301利用式1至式4,以及根据服务器的性能,测算出当前系统所需服务器数目的目标范围0049PSUCPSUC式10050RR式20051PREJPREJ式30052MINIMAX式40053其中,PSUC表示实时的数据可获得性,PSUC表示预先设定的数据可获得性的阈值,R表示实时的响应延迟,R表示预先设定的响应延迟的阈值;PREJ表示实时的服务器拒绝率,PREJ表示预先设定的服务器拒绝率的阈。
25、值,MIN表示服务器的服务能力的下限值、MAX表说明书CN104092756A5/6页8示服务器的服务能力的上限值,I表示第I台服务器的服务能力;0054步骤302根据步骤301确定的服务器数目的目标范围,对每个满足该目标范围的服务器数目,带入式5中,测算每个服务器数目对应的资源分配方案的使用成本;0055式50056其中,COST表示系统的资源分配方案对应的资源使用成本,FI表示服务器的使用成本函数,N表示系统中服务器的数目;表示使用的服务器成本之和;将这些资源分配方案的使用成本按照大小值进行排序,选出使用成本最小对应的资源分配方案作为新生成的资源分配方案;0057步骤303采用新生成的资源。
26、分配方案更新系统资源供给对比当前资源分配方案和新生成的资源分配方案中使用的服务器数目,从中选出最小服务器数目NMIN,并将NMIN个当前使用的服务器按照新生成的资源分配方案进行重新配置,如果新生成的资源分配方案采用的服务器数目N大于当前资源分配方案采用的服务器数目N0,则在系统中增加NN0个服务器节点,并按照新生成的资源分配方案对服务器进行配置;如果新生成的资源分配方案采用的服务器数目N小于当前资源分配方案采用的服务器数目N0,则在系统中将NMIN个服务器按照新生成的资源分配方案进行重新配置,如果二者相等,则不对服务器数量做调整,按照新生成的资源分配方案调整各服务器的配置。0058本发明的方法。
27、主要包括三方面的内容云存储系统的实时监控,系统性能分析和资源分配。下面结合附图,提供一具体实施例。00591云存储系统的实时监控0060云存储系统的实时监控负责统计用户访问情况以及系统运行状况并以此为依据对系统采取进一步的优化。在图1中,该实时监控由访问统计与性能监控模块,该模块运行在数据中心控制节点或访问请求入口节点上,负责对到达本数据中心的访问请求包括用户访问请求到达率1和用户请求的文件流行度QI分布,性能指标包括数据可获得性PSUC和访问响应延迟R,以及服务器状态包括服务器处理能力和服务器拒绝率PREJECTION进行统计和监控。这些数据将分别被写入MYSQL数据库,每N秒更新一次,N设。
28、为46秒。由于统计的参数除拒绝率外主要与访问请求相关,与单个服务器节点无关,因此,不需要在每个服务器节点上部署该模块,平均拒绝率由每个节点的队列管理进程写入数据库统计获得。00612系统性能分析0062系统性能分析负责对目前系统运行状态进行分析并触发必要的优化操作,其功能由性能分析模块实现,由首先收集访问统计与性能监控模块提供的信息,并依据当前性能水平做出优化决策,触发相应优化模块,系统性能阈指标包括数据可获得性、拒绝率和响应延迟P,其值存放于数据库表中。该模块部署于系统控制节点。00633资源分配0064资源分配负责为云存储运行提供必要的基础设施资源,由性能分析模块触发。它将根据当前性能水平。
29、动态确定资源分配方案。资源分配模块负责根据当前系统运行状况以及性能需求为系统生成资源分配方案并交由IAAS服务商获取服务器资源。服务运行过程中,当用户的访问请求到达系统时,系统会为其指派一台服务器进行服务,服务器首先将说明书CN104092756A6/6页9请求与自身存储的数据进行匹配,若匹配成功则直接返回查询结果作为响应,否则根据DHT路由协议将请求转发至下一个服务器节点,如此继续直到找到目标数据。节点间通过转发消息进行交互,由于每次转发对象节点不同,节点间交互关系也不固定,为了更好地描述节点间复杂的交互关系,用排队网络建立资源分配模型。首先用排队网络建立云存储系统资源分配模型,如图3所示,。
30、每个服务器节点均被视为一个M/G/1/K队列,节点收到的访问请求是一个泊松到达,节点处理访问请求的时间服从一般分布,考虑到服务器节点不可能同时接收和处理无限多的请求,设置队列最大容量为K。当节点的队列中请求数为K时,表示此节点负载已饱和,若此时再有请求到达则会被拒绝。服务器节点按照其服务能力计算使用成本。0065资源分配模块负责与数据中心控制节点交互,完成服务器资源的申请和释放等操作,资源分配模块部署于系统控制节点。数据中心的基础设施平台采用开源软件OPENSTACK搭建,利用OPENSTACK管理基础设施资源,执行资源分配方案,向系统提供各种资源。资源分配模块中部署了资源分配算法。在确定资源。
31、分配方案后,将分配方案写入资源预分配表,同时将资源分配方案作为资源请求提交给OPENSTACK执行,通过OPENSTACK提供的API完成对基础设施资源的操作。0066为了验证本方法的有效性,通过仿真实验提供一具体实施例。实验做如下设置服务器处理单个请求的时间服从负指数分布,生成的访问请求为泊松到达,服务器队列容量K为15,各参数指标的阈值分别为R0025S,服务器服务能力范围为10,100,服务器使用成本函数分别为F1XX10/601/2和F2XX10/602/31/2。基于利用率原则UTILIZATIONORIENTEDPRINCIPLE,简称UOP是一种常见的资源分配方法,该方法通过提高。
32、资源利用率减少资源使用成本,预先设定利用率的目标范围,要求分配的服务器的平均利用率在该范围内,同时满足可获得性和响应延迟约束。在资源分配模型基础上实现该方法,并与本文算法进行比较。实验结果如图4和图5所示。从图4中可以看出本方法得出的资源使用成本优于UOP方法,服务器节点的请求到达率呈均匀分布,而UOP方法要求利用率在目标区间内,其选择的服务器的能力范围也被限制在55,85范围内,本方法根据服务器拒绝率进行选择,范围更大。图5给出了在数据可获得性和响应延迟方面的比较结果,采用F2X时的数据可获得性略高于采用F1X,但响应延迟却略长,因为采用F2X时的服务器数量更少,服务器节点的平均匹配率更高,。
33、而响应延迟增加则是由于服务器节点的请求到达率增加导致平均周转时间变大,虽然查询路由的转发跳数减少会降低转发请求所用时间,但这一时间相对于服务器周转时间显得十分微小。从图5可见本方法较UOP方法更接近数据可获得性和响应延迟的约束。0067应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各部分均可用现有技术加以实现。说明书CN104092756A1/4页10图1说明书附图CN104092756A102/4页11图2说明书附图CN104092756A113/4页12图3图4说明书附图CN104092756A124/4页13图5说明书附图CN104092756A13。