数据迁移方法、系统、装置、电子设备及存储介质与流程

文档序号:34058488发布日期:2023-05-05 21:58阅读:68来源:国知局
数据迁移方法、系统、装置、电子设备及存储介质与流程

本发明涉及云计算,特别是涉及数据迁移方法、系统、装置、电子设备及存储介质。


背景技术:

1、目前,随着互联网业务的不断增加以及大数据的发展,各家企业需要存储的数据量越来越大。对象存储服务(object storage service,oss)有高带宽、高并发、海量存储,横向扩容方便,价格低廉等特点,因此越来越多的企业选择使用对象存储作为他们的数据存储的形式。其中各家公有云的对象存储因为其数据规模较大,单位价格较低,成为很多企业的首选。

2、目前,常见的公有云对接方案是业务通过该公有云提供的软件开发工具包(software development kit,sdk)经内网专线或者外网直接对接公有云对象存储服务,即该业务将数据固定存储在该公有云上,导致业务与该家公有云耦合严重。而一家公有云对应的存储空间单价和流量单价等均由该家公有云制定,且存储空间单价和流量单价等这些影响存储成本的信息是动态变化的,业务将数据存储在该公有云上会使存储产生的存储成本受制于该家公有云,可能导致存储成本较高。


技术实现思路

1、本发明实施例的目的在于提供一种数据迁移方法、系统、装置、电子设备及存储介质,以实现数据存储与固有公有云的解耦,降低对存储成本的影响。具体技术方案如下:

2、在本发明实施的第一方面,首先提供了一种数据迁移方法,所述方法包括:

3、获取多家预设公有云对应的各项单价及当前数据存储总量;

4、根据所述多家预设公有云对应的各项单价及当前数据存储总量,计算在数据迁移造成的各项费用之和最小的情况下,多家预设公有云中各家公有云的待迁移数据量;所述各项单价为所述多家预设公有云的不同收费维度分别对应的单价,所述各项费用与所述各项单价相对应;

5、基于多家预设公有云中各家公有云的待迁移数据量,生成多个迁移任务,所述迁移任务用于将数据从至少一个源公有云迁移至至少一个目标公有云。

6、在一种可能的实施方式中,所述基于多家预设公有云中各家公有云的待迁移数据量,生成多个迁移任务,包括:

7、基于多家预设公有云中各家公有云的待迁移数据量,确定多家预设公有云中各源公有云与各目标公有云之间的映射关系,以及所述映射关系对应的待迁移数据量;

8、基于各源公有云与各目标公有云之间的映射关系,以及所述映射关系对应的待迁移数据量,生成多个迁移任务;针对每一映射关系,所述迁移任务用于将所述映射关系对应的待迁移数据量从所述映射关系对应的源公有云迁移至所述映射关系对应的目标公有云。

9、在一种可能的实施方式中,所述基于多家预设公有云中各家公有云的待迁移数据量,确定多家预设公有云中各源公有云与各目标公有云之间的映射关系,以及所述映射关系对应的待迁移数据量,包括:

10、从所述多家预设公有云中任意选择一源公有云和一目标公有云;其中,所述多家预设公有云中各家预设公有云的待迁移数据量均不为零;

11、记录选择得到的源公有云与目标公有云之间存在映射关系;

12、将所述映射关系对应的源公有云的待迁移数据量的绝对值作为第一绝对值,将所述映射关系对应的目标公有云的待迁移数据量的绝对值作为第二绝对值,选择所述第一绝对值和所述第二绝对值中的最小绝对值对应的数据量,作为所述映射关系对应的待迁移数据量,并基于所述映射关系对应的待迁移数据量更新所述源公有云与所述目标公有云的待迁移数据量;

13、继续从待迁移数据量不为零的多家预设公有云中选择一源公有云与一目标公有云,确定选择出的源公有云与目标公有云之间的映射关系以及映射关系对应的待迁移数据量,直至得到所述多家预设公有云中各源公有云与各目标公有云之间的映射关系以及所述映射关系对应的待迁移数据量。

14、在一种可能的实施方式中,所述基于多家预设公有云中各家公有云的待迁移数据量,确定多家预设公有云中各源公有云与各目标公有云之间的映射关系,以及所述映射关系对应的待迁移数据量,包括:

15、对所述多家预设公有云进行编号;其中,所述多家预设公有云中各家预设公有云的待迁移数据量均不为零;

16、按照所述编号的顺序,选择出编号最相近的一源公有云与一目标公有云,并记录所述编号最相近的一源公有云与一目标公有云之间存在映射关系;

17、从所述编号最相近的一源公有云与一目标公有云分别对应的待迁移数据量的绝对值中,选择最小绝对值对应的数据量作为所述映射关系对应的待迁移数据量,并基于所述映射关系对应的待迁移数据量更新所述编号最相近的一源公有云与一目标公有云分别对应的待迁移数据量;

18、继续按照所述编号的顺序,从待迁移数据量不为零的多家预设公有云中选择编号最相近的一源公有云与一目标公有云,确定选择出的编号最相近的一源公有云与一目标公有云之间的映射关系以及映射关系对应的待迁移数据量,直至得到所述多家预设公有云中各源公有云与各目标公有云之间的映射关系以及所述映射关系对应的待迁移数据量。

19、在一种可能的实施方式中,所述各项单价包括:存储空间单价和流量单价;所述各项费用包括:存储空间费用与流量费用;

20、所述获取多家预设公有云对应的各项单价,包括:

21、获取多家预设公有云对应的存储空间单价和流量单价;

22、所述根据所述多家预设公有云对应的各项单价及当前数据存储总量,计算在数据迁移造成的各项费用之和最小的情况下,多家预设公有云中各家公有云的待迁移数据量,包括:

23、根据所述多家预设公有云对应的存储空间单价、流量单价及当前数据存储总量,计算在存储空间费用与流量费用之和最小的情况下,多家预设公有云中各家公有云的待迁移数据量;其中,所述存储空间费用为基于所述各家公有云的待迁移数据量对当前数据存储总量进行计算得到的数据存储总量,与所述各家公有云对应的存储空间单价的乘积之和;所述流量费用为所述各家公有云的待迁移数据量与所述各家公有云对应的流量单价的乘积之和;所述数据存储总量通过所述各家公有云的当前数据存储总量加上或减去对应的待迁移数据量得到。

24、在一种可能的实施方式中,所述根据所述多家预设公有云对应的存储空间单价、流量单价及数据存储总量,计算在存储空间费用与流量费用之和最小的情况下,多家预设公有云中各家公有云的待迁移数据量,包括:

25、将所述多家预设公有云分别对应的存储空间单价、流量单价、当前数据存储总量输入预设公式中,通过所述预设公式确定在存储空间费用与流量费用之和最小的情况下,多家预设公有云中各家公有云待迁移的数据量;其中,所述预设公式包括:

26、q1+q2+…+qi+…+qn=0

27、ptraffic=p1(q1)+p2(q2)+…+pi(qi)+…+pn(qn)

28、p=p1(q1+q1)+p2(q2+q2)+…+pi(qi+qi)+…+pn(qn+qn)

29、其中,qi表示针对第i家预设公有云进行迁移的数据量,正数表示迁入,负数表示迁出;n表示包含n家公有云;pi表示第i家公有云对应的流量单价;ptraffic表示数据迁移造成的流量费用;pi表示第i家公有云对应的存储空间单价;qi表示针对第i家公有云的当前数据存储总量;p表示数据迁移造成的存储空间费用;

30、基于上述公式计算p+ptraffic取最小值的情况下,n家共有云分别对应的待迁移的数据量。

31、在一种可能的实施方式中,在所述基于多家预设公有云中各家公有云待迁移的数据量,生成多个迁移任务之后,所述方法还包括:

32、将所述多个迁移任务存储在消息队列中,以使多个执行节点执行所述消息队列中的所述多个迁移任务。

33、在本发明实施的第二方面,还提供了一种数据迁移系统,所述系统包括:

34、迁移任务生成模块,用于获取多家预设公有云对应的各项单价及当前数据存储总量;根据所述多家预设公有云对应的各项单价及当前数据存储总量,计算在数据迁移造成的各项费用之和最小的情况下,多家预设公有云中各家公有云的待迁移数据量;所述各项单价为所述多家预设公有云的不同收费维度分别对应的单价,所述各项费用与所述各项单价相对应;基于多家预设公有云中各家公有云的待迁移数据量,生成多个迁移任务,所述迁移任务用于将数据从至少一个源公有云迁移至至少一个目标公有云;

35、任务保存模块,用于将所述多个迁移任务存储在消息队列中;

36、执行节点,用于执行所述多个迁移任务。

37、在本发明实施的第三方面,还提供了一种数据迁移装置,所述装置包括:

38、获取模块,用于获取多家预设公有云对应的各项单价及当前数据存储总量;

39、计算模块,用于根据所述多家预设公有云对应的各项单价及当前数据存储总量,计算在数据迁移造成的各项费用之和最小的情况下,多家预设公有云中各家公有云的待迁移数据量;所述各项单价为所述多家预设公有云的不同收费维度分别对应的单价,所述各项费用与所述各项单价相对应;

40、迁移任务生成模块,用于基于多家预设公有云中各家公有云的待迁移数据量,生成多个迁移任务,所述迁移任务用于将数据从至少一个源公有云迁移至至少一个目标公有云。

41、在一种可能的实施方式中,所述迁移任务生成模块包括:

42、确定子模块,用于基于多家预设公有云中各家公有云的待迁移数据量,确定多家预设公有云中各源公有云与各目标公有云之间的映射关系,以及所述映射关系对应的待迁移数据量;

43、生成子模块,用于基于各源公有云与各目标公有云之间的映射关系,以及所述映射关系对应的待迁移数据量,生成多个迁移任务;针对每一映射关系,所述迁移任务用于将所述映射关系对应的待迁移数据量从所述映射关系对应的源公有云迁移至所述映射关系对应的目标公有云。

44、在一种可能的实施方式中,所述确定子模块,具体用于从所述多家预设公有云中任意选择一源公有云和一目标公有云;其中,所述多家预设公有云中各家预设公有云的待迁移数据量均不为零;记录选择得到的源公有云与目标公有云之间存在映射关系;将所述映射关系对应的源公有云的待迁移数据量的绝对值作为第一绝对值,将所述映射关系对应的目标公有云的待迁移数据量的绝对值作为第二绝对值,选择所述第一绝对值和所述第二绝对值中的最小绝对值对应的数据量,作为所述映射关系对应的待迁移数据量,并基于所述映射关系对应的待迁移数据量更新所述源公有云与所述目标公有云的待迁移数据量;继续从待迁移数据量不为零的多家预设公有云中选择一源公有云与一目标公有云,确定选择出的源公有云与目标公有云之间的映射关系以及映射关系对应的待迁移数据量,直至得到所述多家预设公有云中各源公有云与各目标公有云之间的映射关系以及所述映射关系对应的待迁移数据量。

45、在一种可能的实施方式中,所述确定子模块,具体用于对所述多家预设公有云进行编号;其中,所述多家预设公有云中各家预设公有云的待迁移数据量均不为零;按照所述编号的顺序,选择出编号最相近的一源公有云与一目标公有云,并记录所述编号最相近的一源公有云与一目标公有云之间存在映射关系;从所述编号最相近的一源公有云与一目标公有云分别对应的待迁移数据量的绝对值中,选择最小绝对值对应的数据量作为所述映射关系对应的待迁移数据量,并基于所述映射关系对应的待迁移数据量更新所述编号最相近的一源公有云与一目标公有云分别对应的待迁移数据量;继续按照所述编号的顺序,从待迁移数据量不为零的多家预设公有云中选择编号最相近的一源公有云与一目标公有云,确定选择出的编号最相近的一源公有云与一目标公有云之间的映射关系以及映射关系对应的待迁移数据量,直至得到所述多家预设公有云中各源公有云与各目标公有云之间的映射关系以及所述映射关系对应的待迁移数据量。

46、在一种可能的实施方式中,所述各项单价包括:存储空间单价和流量单价;所述各项费用包括:存储空间费用与流量费用;

47、所述获取模块,具体用于获取多家预设公有云对应的存储空间单价和流量单价;

48、所述计算模块,具体用于根据所述多家预设公有云对应的存储空间单价、流量单价及当前数据存储总量,计算在存储空间费用与流量费用之和最小的情况下,多家预设公有云中各家公有云的待迁移数据量;其中,所述存储空间费用为基于所述各家公有云的待迁移数据量对当前数据存储总量进行计算得到的数据存储总量,与所述各家公有云对应的存储空间单价的乘积之和;所述流量费用为所述各家公有云的待迁移数据量与所述各家公有云对应的流量单价的乘积之和;所述数据存储总量通过所述各家公有云的当前数据存储总量加上或减去对应的待迁移数据量得到。

49、在一种可能的实施方式中,所述计算模块,具体用于将所述多家预设公有云分别对应的存储空间单价、流量单价、当前数据存储总量输入预设公式中,通过所述预设公式确定在存储空间费用与流量费用之和最小的情况下,多家预设公有云中各家公有云待迁移的数据量;其中,所述预设公式包括:

50、q1+q2+…+qi+…+qn=0

51、ptraffic=p1(q1)+p2(q2)+…+pi(qi)+…+pn(qn)

52、p=p1(q1+q1)+p2(q2+q2)+…+pi(qi+qi)+…+pn(qn+qn)

53、其中,qi表示针对第i家预设公有云进行迁移的数据量,正数表示迁入,负数表示迁出;n表示包含n家公有云;pi表示第i家公有云对应的流量单价;ptraffic表示数据迁移造成的流量费用;pi表示第i家公有云对应的存储空间单价;qi表示针对第i家公有云的当前数据存储总量;p表示数据迁移造成的存储空间费用;基于上述公式计算p+ptraffic取最小值的情况下,n家共有云分别对应的待迁移的数据量。

54、在一种可能的实施方式中,所述装置还包括:

55、存储模块,用于将所述多个迁移任务存储在消息队列中,以使多个执行节点执行所述消息队列中的所述多个迁移任务。

56、根据本发明实施的第四方面,还提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信,

57、存储器,用于存放计算机程序;

58、处理器,用于执行存储器上所存放的程序时,实现第一方面中任一所述的方法步骤。

59、在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的数据迁移方法。

60、在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据迁移方法。

61、本发明实施例中,基于多家预设公有云中各家公有云的待迁移数据量,生成的多个迁移任务,可以将数据从至少一个源公有云迁移至至少一个目标公有云,且本发明实施例中,多家预设公有云中各家公有云的待迁移数据量,是在各项费用之和最小的情况下计算得到的,则基于多家预设公有云中各家公有云的待迁移数据量,生成的多个迁移任务也满足于各项费用之和最小的情况。根据多个迁移任务在各家公有云之间进行数据迁移,可以实现数据存储与固有公有云的解耦,数据迁移产生的各项费用之和最小,即数据存储成本相比于数据迁移之前有大程度的降低。相比于相关技术中,将数据固定地存储在某一家或某几家公有云上,而不能在存储数据的某几家公有云之间进行数据迁移,并且数据存储的成本受制于用于存储数据的公有云,本发明实施例提供的数据迁移方法可以实现数据存储与固有公有云的解耦,降低对存储成本的影响。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1