本发明专利技术提供了一种迁移对象的方法和系统,该方法包括以下步骤:统计多个对象存储设备OSD的负载,元数据服务器MDS定期查询多个OSD的负载信息;通过MDS分析多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD;以及将第一多个OSD上的部分对象迁移至第二多个OSD上。本发明专利技术能够实现对象的动态迁移,从而使得服务器的负载均衡,提高了服务器系统的整体服务能力,即使在访问集中的情况下,也能够使系统的服务能力保持较好的状态,有效降低了客户端的平均等待时间,提高了用户体验。
【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种迁移对象的方法和系统,该方法包括以下步骤:统计多个对象存储设备OSD的负载,元数据服务器MDS定期查询多个OSD的负载信息;通过MDS分析多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD;以及将第一多个OSD上的部分对象迁移至第二多个OSD上。本专利技术能够实现对象的动态迁移,从而使得服务器的负载均衡,提高了服务器系统的整体服务能力,即使在访问集中的情况下,也能够使系统的服务能力保持较好的状态,有效降低了客户端的平均等待时间,提高了用户体验。【专利说明】迁移对象的方法和系统
本专利技术涉及计算机领域,并且特别地,涉及一种迁移对象的方法和系统。
技术介绍
在大规模的存储系统中,操作的文件往往具有局部性,当访问集中在某些对象存储设备OSD上时,会造成系统的服务能力快速下降,因此,在分布式系统中,需要动态平衡各个OSD的负载,提高系统的整体服务能力。针对相关技术中分布式系统中负载分布不均,当访问集中时,系统的服务能力大大降低的问题,目前尚未提出有效的解决方案。
技术实现思路
为解决负载分配不均的问题,本专利技术提供了一种迁移对象的方法,包括以下步骤:统计多个对象存储设备OSD的负载,元数据服务器MDS定期查询多个OSD的负载信息;通过MDS分析多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD ;以及将第一多个OSD上的部分对象迁移至第二多个OSD上。其中,对象为固定大小。其中,对象的元数据存放在MDS上,对象存储在多个OSD上。其中,定期更新MDS上对象的操作时间。其中,当对象位于第一多个OSD内,且当操作时间位于预定范围内时,将对象加入到迁移列表中。其中,元数据包括对象的位置信息,客户端通过在MDS中查询对象的位置信息而对相应OSD中的对象进行操作,并定期更新MDS上对象的操作时间。其中,多个OSD对各自的网络负载、磁盘负载、和内存负载进行加权平均后计算出多个对象存储设备OSD的负载,供MDS定期查询。此外,还提供了一种迁移对象的系统,包括:统计模块,用于统计多个对象存储设备OSD的负载,以使元数据服务器MDS定期查询多个OSD的负载信息;排序模块,用于通过MDS分析多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD ;以及迁移模块,用于将第一多个OSD上的部分对象迁移至第二多个OSD上。其中,对象为固定大小。其中,对象的元数据存放在MDS上,对象存储在多个OSD上。本专利技术通过元数据服务器MDS分析多个OSD的负载并进行排序,并将负载较大的多个OSD上的部分对象迁移至负载较小的多个OSD上,能够使服务器负载均衡,提高系统的整体服务能力。【专利附图】【附图说明】当结合附图进行阅读时,根据下面详细的描述可以更好地理解本专利技术。应该强调的是,根据工业中的标准实践,各种部件没有被按比例绘制。实际上,为了清楚的讨论,各种部件的尺寸可以被任意增加或减少图1示出了根据本专利技术的示例性实施例的迁移对象的方法流程图;以及图2示出了根据本专利技术的示例性实施例的迁移对象的系统框图;图3示出了根据本专利技术的一个示例性实施例的迁移对象的方法流程图;图4示出了根据本专利技术的一个示例性实施例的迁移对象的方法实现过程中对象的访问过程流程图;图5示出了根据本专利技术的一个示例性实施例的迁移对象的方法实现过程中获取迁移对象的过程流程图;图6示出了根据本专利技术的一个示例性实施例的迁移对象的方法实现过程中OSD上对象的迁移过程流程图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。根据本专利技术的实施例,提供了 一种迁移对象的方法。如图1所示,该方法包括以下步骤:步骤SlOl,统计多个对象存储设备OSD的负载,元数据服务器MDS定期查询多个OSD的负载信息;步骤S103,通过MDS分析多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD ;以及步骤S105,将第一多个OSD上的部分对象迁移至第二多个OSD上。其中,对象为固定大小。并且,对象的元数据存放在MDS上,对象存储在多个OSD上。此外,定期更新MDS上对象的操作时间。并且,当对象位于第一多个OSD内,且当操作时间位于预定范围内时,将对象加入到迁移列表中。其中,元数据包括对象的位置信息,客户端通过在MDS中查询对象的位置信息而对相应OSD中的对象进行操作,并定期更新MDS上对象的操作时间。并且,多个OSD对各自的网络负载、磁盘负载、和内存负载进行加权平均后计算出多个对象存储设备OSD的负载,供MDS定期查询。根据本专利技术的实施例,还提供了 一种迁移对象的系统。如图2所示,该系统包括:统计模块21,用于统计多个对象存储设备OSD的负载,以使元数据服务器MDS定期查询多个OSD的负载信息;排序模块22,用于通过MDS分析多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD ;以及迁移模块23,用于将第一多个OSD上的部分对象迁移至第二多个OSD上。其中,对象为固定大小。并且,对象的元数据存放在MDS上,对象存储在多个OSD上。例如,如图3所示,在一个实施例中,本专利技术的技术方案是这样实现的:步骤S301,采用固定大小的对象存储文件;步骤S303,文件的原数据存放在MDS上,对象存储在OSD上;步骤S305,客户端操作对象时,定期更新MDS上文件的操作时间optime ;步骤S307,OSD统计自身的负载,MDS定期查询各个OSD的负载信息;步骤S309,MDS分析OSD的负载,在一定周期内,选出负载较大的N个0SD,和负载较小的M个0SD,通过指定的策略,将负载较大的OSD上的一部分对象迁移到负载较小的OSD 上。整个方案的实现包括以下几个过程:外部数据交互过程:用户通过客户端与系统进行数据读写,客户端提供通用文件系统接口,用户使用时与本地文件系统没有区别。内部数据交互过程:1.客户端向MDS获取对象的存储信息,向OSD发起操作请求;2.0SD响应客户端的请求,客户端定期更新MDS上对象的操作时间optime。OSD根据自身的网络负载、磁盘负载和内存负载,加权平均后计算出总体的负载,供MDS定期查询。MDS定期查询OSD上的负载,并进行记录,达到预设的周期时,根据记录,得出周期内各OSD的平均负载,并进行排序,得出前N个负载较大的OSD和后M个负载较轻的0SD,触发数据的迁移,使得各个OSD的负载均衡。对象操作过程:1.客户端访问文件时,向MDS获取文件的对象信息,得到需要访问的对象和对象所在的OSD ;2.向OSD发起操作;3.0SD处理客户端的操作,并应答客户端;4.客户端检查更新周期,如果超过阈值,则主动更新MDS上文件的optime。MDS周期统计OSD负载和触发对象迁移:MDS周期向OSD查询负载信息,并将负载值记录到文件中,当周期次数达到一定阈值时,进行负载的汇总,选择出负载较大的N个OSD和负载较轻的M个0SD本文档来自技高网...
【技术保护点】
一种迁移对象的方法,其特征在于,包括以下步骤:统计多个对象存储设备OSD的负载,元数据服务器MDS定期查询所述多个OSD的负载信息;通过所述MDS分析所述多个OSD的负载并进行排序,选出负载较大的第一多个OSD和负载较小的第二多个OSD;以及将所述第一多个OSD上的部分对象迁移至所述第二多个OSD上。
【技术特征摘要】
【专利技术属性】
技术研发人员:付根希,姜国梁,彭成,杨浩,苗艳超,
申请(专利权)人:曙光信息产业北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。