The embodiment of the present invention provides a method and device for data migration, which relates to the field of computer technology. The method comprises: receiving the data migration task migration to the second system of the first system; the upper interface corresponding to the migration task, and by the upper interface through the bottom interface abstraction interface class to call the first system and the second system, with the migration of data to the second system of the first system. First of all, two arbitrary data ends can be used for two-way data transmission and migration. Secondly, it can realize arbitrary data terminal, including data cloud storage products such as Baidu has yet to support migration, object storage, Jinshan object storage, with any other data terminal two-way transmission of data transfer.
【技术实现步骤摘要】
一种数据迁移方法和装置
本申请涉及计算机
,特别是涉及一种数据迁移方法和一种数据迁移装置。
技术介绍
随着国内外云计算平台、市场的快速发展,云存储产品也越来越多。在云计算平台上,云服务器是最基础、最重要的产品,其次就是云存储。各大云服务商都有自己的云存储产品,如AWS(AmazonWebServices,亚马逊云服务)的S3、阿里云的OSS(ObjectStorageService,对象存储服务)、微软云计算平台Azure的存储数据服务(Blob)。另外,还有像七牛云存储这种专门提供云存储服务的服务商。虽然云存储产品种类很多,它们在功能和使用方法上都有一些共通点,但具体到API(ApplicationProgrammingInterface,应用程序编程接口)调用、SDK(SoftwareDevelopmentKit,软件开发工具包)的编程上,又都有一些差异和各自的特点。在实际使用过程中,有时因为整体业务的搬迁,可能会从一个云服务商切换到另一个服务商,这时候就需要相应地把云存储的数据进行迁移同步;或者有时为了数据的安全性,不仅在同个服务商提供的多个云存储产品 ...
【技术保护点】
一种数据迁移方法,其特征在于,包括:接收将第一系统中的数据迁移至第二系统的迁移任务;调用对应所述迁移任务的各上层接口,并由各上层接口通过抽象接口类调用第一系统和第二系统的底层操作接口,以将第一系统的数据迁移至第二系统。
【技术特征摘要】
1.一种数据迁移方法,其特征在于,包括:接收将第一系统中的数据迁移至第二系统的迁移任务;调用对应所述迁移任务的各上层接口,并由各上层接口通过抽象接口类调用第一系统和第二系统的底层操作接口,以将第一系统的数据迁移至第二系统。2.根据权利要求1所述的方法,其特征在于,所述调用对应所述迁移任务的各上层接口,并由各上层接口通过抽象接口类调用第一系统和第二系统的底层操作接口,以将第一系统的数据迁移至第二系统的步骤,包括:确定属于获取数据的各上层接口,以及属于同步数据的各上层接口;对于属于获取数据的各上层接口,通过抽象接口类调用第一系统的底层操作接口,以从第一系统获取数据;对于属于同步数据的各上层接口,通过抽象接口类调用第二系统的底层操作接口,以将从第一系统获取的数据同步至第二系统。3.根据权利要求2所述的方法,其特征在于,对于属于获取数据的各上层接口,通过抽象接口类调用第一系统的底层操作接口的步骤,包括:对于属于获取数据的各上层接口中的第一上层接口,以抽象接口类中与第一上层接口对应的第一抽象类接口作为底层操作接口以直接调用;所述第一上层接口为各系统通用的接口;对于属于获取数据的各上层接口中的第二上层接口,通过抽象接口类生成针对第一系统的第一接口类,在所述第一接口类中调用与各第二上层接口对应的底层操作接口;所述第二上层接口不为各系统通用的接口。4.根据权利要求2或3所述的方法,其特征在于,对于属于同步数据的各上层接口,通过抽象接口类调用第二系统的底层操作接口的步骤,包括:对于属于同步数据的各上层接口中的第三上层接口,以抽象接口类中与第三上层接口对应的第二抽象类接口作为底层操作接口以直接调用;所述第三上层接口为各系统通用的接口;对于属于同步数据的各上层接口中的第四上层接口,通过抽象接口类生成针对第二系统的第二接口类,在所述第二接口类中调用与各第四上层接口对应的底层操作接口;所述第四上层接口不为各系统通用的接口。5.根据权利要求2所述的方法,其特征在于,所述对于属于获取数据的各上层接口,通过抽象接口类调用第一系统的底层操作接口,以从第一系统获取数据的步骤,包括:由管理组件的扫描器执行获取元数据的上层接口,所述获取元数据的上层接口通过抽象类接口调用第一系统的获取元数据的底层操作接口,从第一系统获取所述迁移任务对应的各元数据;由管理组件的分发器,基于各元数据生成同步任务并分发给各工作组件的接收器;由工作组件的接收器根据接收到同步任务,执行获取实际数据的上层接口,所述获取实际数据的上层接口通过抽象类接口调用第一系统的获取实际数据的底层获取接口,从第一系统获取所述迁移任务的实际数据。6.根据权利要求5所述的方法,其特征在于,所述对于属于同步数据的各上层接口,通过抽象接口类调用第二系统的底层操作接口,以将从第一系统获取的数据同步至第二系统的步骤,包括:由工作组件的同步器执行同步数据的各上层接口,所述同步数据的各上层接口通过抽象接口类调用第二系统的底层操作接口,将所述实际数据同步至第二系统。7.根据权利要求5或6所述的方法,其特征在于,所述管理组件在集群的一台服务器中,所述工作组件在集群的各台服务器中。8.根据权利要求7所述的方法,其特征在于,所述由管理组件的分发器,基于各元数据生成同步任务并分发给各工作组件的接收器的步骤,包括:提取元数据中记录的数据量大小;如果元数据中记录的数据量小于第一阈值,直接将所述元数据作为同步任务分发给管理组件所在的服务器中的工作组件的接收器;如果元数据记录的数据量不小于第一阈值,则将所述元数据作为同步任务分发给负载最小的服务器中的工作组件的接收器;9.根据权利要求7所述的方法,其特征在于,所述由管理组件的分发器,基于各元数据生成同步任务并分发给各工作组件的接收器的步骤,包括:提取元数据中记录的数据量大小;如果元数据中记录的数据量小于第一阈值,直接将所述元数据作为同步任务分发给管理组件所在的服务器中的工作组件的接收器;如果元数据中记录的数据量不小于第一阈值但是小于第二阈值时,则将所述元数据生成同步任务分发给负载最小的服务器中的工作组件的接收器;如果元数据中记录的数据量不小于第二阈值时,则调用对大文件切片的上层接口,所述对大文件切片的上层接口通过抽象接口类调用第二系统的对大文件切片的底层操作接口,将所述元数据对应的大文件切片;将对所述元数据的不同切片的切片信息生成同步任务,并分发给负载低的多个服务器的工作组件的接收器。10.根据权利要求8所述的方法,其特征在于,所述集群的各台服务器中之间采用JGroups通信协议传输数据。11.根据权利要求6所述的方法,其特征在于,所述由工作组件的同步器执行同步数据的各上层接口,所述同步数据的各上层接口通过抽象接口类调用第二系统的底层操作接口,将所述实际数据同步至第二系统的步骤,包括:由工作组件的同步器根据限速指令,调用与限速指令相应的线程执行同步数据的各上层接口,所述同步数据的各上层接口通过抽象接口类调用第二系统的底层操作接口,将所述实际数据同步至第二系统。12.根据权利要求1或2所述的方法,其特征在于,调用对应所述迁移任务的各上层接口,并由各上层接口通过抽象接口类调用第一系统和第二系统的底层操作接口,以将第一系统的数据迁移至第二系统的步骤之后,还包括:判断将第一系统中的数据迁移至第二系统是否成功;如果失败,则重复执行调用对应所述迁移任务的各上层接口,并由各上层接口通过抽象接口类调用第一系统和第二系统的底层操作接口,以将第一系统的数据迁移至第二系统的步骤,直至重试次数达到重试阈值或者在重试阈值内成功。13.根据权利要求1或2所述的方法,其特征在于,在调用对应所述迁移任务的各上层接口,通过抽象接口类调用第一系统和第二系统的底层操作接口,以将第一系统的数据迁移至第二系统的过程中,还包括:判断是否接收到暂停指令;如果接收到暂停指令,则暂停将第一系统的数据迁移至第二系统,并记录暂停时刻第一系统中已迁移的数据位置;则进一步的,在暂停将第一系统的数据迁移至第二系统之后,还包括:判断是否接收到重启指令;如果接收到重启指令,则根据暂停时刻第一系统中已迁移的数据位置开始,重新调用对应所述迁移任务的各上层接口,通过抽象接口类调用第一系统和第二系统的底层操作接口,以将第一系统的数据迁移至第二系统的步骤。14.根据权利要求1或2所述的方法,其特征在于,当第一系统为客户端文件系统时,在接收将第一系统中的数据迁移至第二系统的迁移任务的步骤之前,还包括:在客户端中安装应用程序,所述应用程序针对指定文件模拟各底层操作接口。15.根据权利要求14所述的方法,其特征在于,所述调用对应所述迁移任务的各上层接口,并由各上层接口通过抽象接口类调用第一系统和第二系统的底层操作接口,以将第一系统的数据迁移至第二系统的步骤之后,还包括:监控客户端文件系统是否与最近一次迁移到第二系统的数据出现变更;如果出现变更,则调用对应所述迁移任务的各上层接口,并由各上层接口通过抽象接口类调用第一系统和第二系统的底层操作接口,以将客户端文件系统的变更数据同步至第二系统。16.根据权利要求2所述的方法,其特征在于,所述对于属于获取数据的各上层接口,通过抽象接口类调用第一系统的底层操作接口,以从第一系统获取数据的步骤之后,还包括:调用签名的上层接口,并由所述签名的上层接口调用第一系统的签名的底层操作接口,对所述数据进行签名;进一步的,对于属于同步数据的各上层接口,通过抽象接口类调用第二系统的底层操作接口,以将从第一系统获取的数据同步至第二系统的步骤之后,还包括:调用签名认证的上层接口,并由所签名认证的上层接口调用第二系统的签名认证的底层操作接口,对所述数据进行签名验证。17.根据权利要求1所述的方法,其特征在于,在调用对应所述迁移任务的各上层接口,并由各上层接口通过抽象接口类调用第一系统和第二系统的底层操作接口,以将第一系统的数据迁移至第二系统的步骤之后,还包括:针对第一系统调用文件列表的上层接口,并由所述调用文件列表的上层接口通过抽象接口类调用第一系统的底层操作接口,获取第一系统的文件列表;针对第二系统调用文件列表的上层接口,并由所述调用文件列表的上层接口通过抽象接口类调用第二系统的底层操作接口,获取第二系统的文件列表;比较第一系统的文件列表和第二系统的文件列表,并将两者之间的差异提示给客户端。18.根据权利要求2所述的方法,其特征在于,所述迁移任务由客户端发送,所述迁移任务包括第一系统的标识信息、用户在第一系统的身份信息、待迁移数据在第一系统中的文件信息、第二系统的标识信息、用户在第二系统的身份信息。19.根...
【专利技术属性】
技术研发人员:阿逸喆,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。