迁移对象存储的方法、装置和计算机可读存储介质制造方法及图纸

技术编号:22054337 阅读:22 留言:0更新日期:2019-09-07 14:56
本发明专利技术属于云存储/计算领域,公开了一种迁移对象存储的方法、装置和计算机可读存储介质,以降低对象存储服务迁移时的各项成本。所述方法包括:将各种对象存储服务分别封装一个对应的服务类,所述封装的服务类包括公共接口,将各种迁移任务分别封装一个对应的任务类;调用遍历接口,以获取对象名;访问迁移任务队列;根据迁移任务队列是否为空,调用传输接口以传入获取的对象名,从对象存储和/或向对象存储迁移对象名对应的对象。本发明专利技术提供的技术方案一方面最大程度地实现了开发迁移工具时代码的复用,从而大大降低了开发成本;另一方面降低了用户学习、使用迁移工具的成本。

Method, device and computer readable storage medium for migrating object storage

【技术实现步骤摘要】
迁移对象存储的方法、装置和计算机可读存储介质
本专利技术涉及云存储/计算领域,尤其涉及一种迁移对象存储的方法、装置和计算机可读存储介质。
技术介绍
对象存储服务是指提供对象存储的服务,目前广泛应用于云计算或云存储领域。所谓对象存储(ObjectStorage),是相对于传统的块存储和文件存储而言的一种新型的网络存储架构,从其特征而言,对象存储是支持海量用户远程访问的无限容量廉价存储系统。对象存储的基本单位是对象,一个对象实际上就是文件的数据和一组属性信息(即元数据MetaData)的组合,这些属性信息可以定义基于文件的RAID参数、数据分布和服务质量等。目前主流的对象存储服务包括亚马逊提供的对象存储服务S3、阿里云提供的对象存储服务OSS以及腾讯云提供的对象存储服务COS等,而在各种对象存储服务之间进行数据迁移则是用户可能需要频繁执行的业务操作。现有的一种迁移对象存储方法是针对每个对象存储服务提供一个迁移工具,如此,有多少对象存储服务就需要提供多少相应的对象存储服务迁移工具。例如,若要将阿里云的OSS迁移至七牛存储服务,则要开发一套支持将阿里云的OSS迁移至七牛存储服务的迁移工具,若要将阿里云的OSS迁移至腾讯云的COS,则又需要针对性地开发一套支持将阿里云的OSS迁移至腾讯云的COS的迁移工具。显然,针对不同的对象存储服务,上述的对象存储服务迁移方案缺乏一定的通用性,从而导致迁移工具的开发方开发成本和用户学习、使用成本的攀升。
技术实现思路
本专利技术实施例的主要目的在于提供一种迁移对象存储的方法、装置和计算机可读存储介质,以降低对象存储服务迁移时的各项成本。为实现上述目的,本专利技术实施例第一方面提供迁移对象存储的方法,所述方法包括:将各种对象存储服务分别封装一个对应的服务类,所述封装的服务类包括公共接口,所述公共接口包括遍历接口和传输接口,所述传输接口包括下载接口和/或上传接口;将各种迁移任务分别封装一个对应的任务类,所述封装的任务类包含所述对象存储服务中对象的对象名;调用所述遍历接口,以获取所述对象名;访问迁移任务队列,所述迁移任务队列的访问基于生产者/消费者模型的机制;根据所述迁移任务队列是否为空,调用所述传输接口以传入所述获取的对象名,从对象存储和/或向对象存储迁移所述对象名对应的对象。为实现上述目的,本专利技术实施例第二方面提供迁移对象存储的装置,所述装置包括:第一封装模块,用于将各种对象存储服务分别封装一个对应的服务类,所述封装的服务类包括公共接口,所述公共接口包括遍历接口和传输接口,所述传输接口包括下载接口和/或上传接口;第二封装模块,用于将各种迁移任务分别封装一个对应的任务类,所述封装的任务类包含所述对象存储服务中对象的对象名;第一调用单元,用于调用所述遍历接口,以获取所述对象名;访问单元,用于访问迁移任务队列,所述迁移任务队列的访问基于生产者/消费者模型的机制;第二调用单元,用于根据所述迁移任务队列是否为空,调用所述传输接口以传入所述获取的对象名,从对象存储和/或向对象存储迁移所述对象名对应的对象。为实现上述目的,本专利技术实施例第三方面提供一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下方法的步骤:将各种对象存储服务分别封装一个对应的服务类,所述封装的服务类包括公共接口,所述公共接口包括遍历接口和传输接口,所述传输接口包括下载接口和/或上传接口;将各种迁移任务分别封装一个对应的任务类,所述封装的任务类包含所述对象存储服务中对象的对象名;调用所述遍历接口,以获取所述对象名;访问迁移任务队列,所述迁移任务队列的访问基于生产者/消费者模型的机制;根据所述迁移任务队列是否为空,调用所述传输接口以传入所述获取的对象名,从对象存储和/或向对象存储迁移所述对象名对应的对象。为实现上述目的,本专利技术实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下方法的步骤:将各种对象存储服务分别封装一个对应的服务类,所述封装的服务类包括公共接口,所述公共接口包括遍历接口和传输接口,所述传输接口包括下载接口和/或上传接口;将各种迁移任务分别封装一个对应的任务类,所述封装的任务类包含所述对象存储服务中对象的对象名;调用所述遍历接口,以获取所述对象名;访问迁移任务队列,所述迁移任务队列的访问基于生产者/消费者模型的机制;根据所述迁移任务队列是否为空,调用所述传输接口以传入所述获取的对象名,从对象存储和/或向对象存储迁移所述对象名对应的对象。从上述本专利技术实施例提供的技术方案可知,一方面,与现有技术需要针对每种对象存储服务都开发一套迁移工具相比,本专利技术提供的技术方案由于对不同的对象存储服务和迁移任务进行了封装,屏蔽了不同对象存储服务或不同迁移任务的差异性,开发人员只需按照封装后的对象存储服务提供的遍历接口、下载接口和/或上传接口进行简单的配置文件的修改或接口的调用,即可实现不同对象存储服务的迁移,最大程度地实现了代码的复用,从而大大降低了开发成本;另一方面,由于对迁移任务和对象存储服务进行了封装,用户在使用迁移工具针对不同的对象存储服务进行对象存储的迁移时,并不会因为对象存储服务的不同感受到使用的差异,给用户的使用体验是一致的,从而降低了用户学习、使用迁移工具的成本。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的计算设备的结构框图;图2为本专利技术实施例提供的迁移对象存储的方法的流程图;图3为本专利技术实施例提供的迁移对象存储的装置的结构框图;图4为本专利技术另一实施例提供的迁移对象存储的装置的结构框图;图5为本专利技术另一实施例提供的迁移对象存储的装置的结构框图;图6为本专利技术另一实施例提供的迁移对象存储的装置的结构框图;图7-a为本专利技术另一实施例提供的迁移对象存储的装置的结构框图;图7-b为本专利技术另一实施例提供的迁移对象存储的装置的结构框图;图7-c为本专利技术另一实施例提供的迁移对象存储的装置的结构框图;图7-d为本专利技术另一实施例提供的迁移对象存储的装置的结构框图;图8-a为本专利技术另一实施例提供的迁移对象存储的装置的结构框图;图8-b为本专利技术另一实施例提供的迁移对象存储的装置的结构框图;图8-c为本专利技术另一实施例提供的迁移对象存储的装置的结构框图;图8-d为本专利技术另一实施例提供的迁移对象存储的装置的结构框图。具体实施方式为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而非全部实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1示出了一种计算设备的结构框图。本专利技术实施例提供的迁移对象存储的方法可应用于如图1所示的计算设备10中,计算设备10可以但不限于包括:需依靠电池本文档来自技高网...

【技术保护点】
1.一种迁移对象存储的方法,其特征在于,所述方法包括:将各种对象存储服务分别封装一个对应的服务类,所述封装的服务类包括公共接口,所述公共接口包括遍历接口和传输接口,所述传输接口包括下载接口和/或上传接口;将各种迁移任务分别封装一个对应的任务类,所述封装的任务类包含所述对象存储服务中对象的对象名;调用所述遍历接口,以获取所述对象名;访问迁移任务队列,所述迁移任务队列的访问基于生产者/消费者模型的机制;根据所述迁移任务队列是否为空,调用所述传输接口以传入所述获取的对象名,从对象存储和/或向对象存储迁移所述对象名对应的对象。

【技术特征摘要】
1.一种迁移对象存储的方法,其特征在于,所述方法包括:将各种对象存储服务分别封装一个对应的服务类,所述封装的服务类包括公共接口,所述公共接口包括遍历接口和传输接口,所述传输接口包括下载接口和/或上传接口;将各种迁移任务分别封装一个对应的任务类,所述封装的任务类包含所述对象存储服务中对象的对象名;调用所述遍历接口,以获取所述对象名;访问迁移任务队列,所述迁移任务队列的访问基于生产者/消费者模型的机制;根据所述迁移任务队列是否为空,调用所述传输接口以传入所述获取的对象名,从对象存储和/或向对象存储迁移所述对象名对应的对象。2.如权利要求1所述迁移对象存储的方法,其特征在于,所述根据所述迁移任务队列是否为空,调用所述传输接口以传入所述获取的对象名,从对象存储和/或向对象存储迁移所述对象名对应的对象,包括:若所述迁移任务队列未满,则调用所述下载接口以传入所述对象名;根据所述传入的对象名,从源对象存储下载所述对象名对应的对象。3.如权利要求1所述迁移对象存储的方法,其特征在于,所述根据所述迁移任务队列是否为空,调用所述传输接口以传入所述获取的对象名,从对象存储和/或向对象存储迁移所述对象名对应的对象,包括:若所述迁移任务队列未空,则调用所述上传接口以传入所述对象名;根据所述传入的对象名,将所述对象名对应的对象上传至目标对象存储。4.如权利要求1所述迁移对象存储的方法,其特征在于,所述根据所述迁移任务队列是否为空,调用所述传输接口以传入所述获取的对象名,从对象存储和/或向对象存储迁移所述对象名对应的对象,包括:若所述迁移任务队列未满,则调用所述下载接口以传入所述对象名;根据所述传入的对象名,从源对象存储下载所述对象名对应的对象;访问所述迁移任务队列;若所述迁移任务队列未空,则调用所述上传接口以传入所述对象名;根据所述传入的对象名,将所述对象名对应的对象上传至目标对象存储。5.如权利要求1至4任意一项所述迁移对象存储的方法,其特征在于,所述方法还包括:对所述从对象存储和/或向对象存储迁移的所述对象名对应的对象进行记录。6.如权利要求1至4任意一项所述迁移对象存储的方法,其特征在于,所述封装后的迁移任务还包含所述对象存储服务中对象的对应文件的长度,方法还包括:根据所述文件的长度,对所述迁移的对象的完整度进行校验。7.一种迁移对象存储的装置,其特征在于,所述装置包括:第一封装模块,用于将各种对象存储服务分别封装一个对应的服务类,所述封装的服务类包括...

【专利技术属性】
技术研发人员:刘畅
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1