一种数据迁移方法、装置、存储介质以及芯片系统制造方法及图纸

技术编号:38239070 阅读:13 留言:0更新日期:2023-07-25 18:03
本申请实施例提供一种数据迁移方法、装置、存储介质以及芯片系统,用以提升数据迁移的效率以及节约数据迁移过程中对设备资源的消耗。该方法根据差异位图中的位图数据确定每次需要迁移的至少两个数据块,其中,差异位图用于描述两次快照时刻待迁移数据的差异,至少两个数据块的存储空间是连续。相较于现有技术中逐个读取、逐个传输数据块的方案,本申请将连续分布的至少两个数据块一同读取和传输,不仅减少了数据迁移过程中寻道所花费的时间,还能够节约数据打包消耗的设备资源。能够节约数据打包消耗的设备资源。能够节约数据打包消耗的设备资源。

【技术实现步骤摘要】
一种数据迁移方法、装置、存储介质以及芯片系统


[0001]本申请涉及数据库
,尤其涉及一种数据迁移方法、装置、存储介质以及芯片系统。

技术介绍

[0002]随着云技术日益完善,跨云的数据迁移需求越来越多,温迁移作为一种重要的数据迁移方法也受到了广泛关注。温迁移通过快照技术将待迁移的磁盘打快照,将快照传输至目的端(本过程无需停机)。源磁盘继续工作产生新数据,然后再次打快照,根据第二次快照和第一次快照的区别确定两次快照之间产生的差异数据,将差异数据传输至目的端即可以实现整体迁移,而停机时间也仅为传输差异数据的时间,温迁移可以有效缩短数据迁移过程中的停机时间。
[0003]但是,由于两次快照之间产生的差异数据并非连续分布的,随机读写也会消耗较多的设备资源,同时也会消耗掉过多的数据打包资源,因此目前采用温迁移技术进行数据迁移的效率并不高,且会占用较多的设备资源。

技术实现思路

[0004]本申请提供一种数据迁移方法、装置、存储介质以及芯片系统。用以提升数据迁移的效率以及节约数据迁移过程中对设备资源的消耗。
[0005]第一方面,本申请提出一种数据迁移方法,该方法应用于第一存储设备,该方法包括:接收迁移请求;所述迁移请求用于将所述第一存储设备中待迁移数据迁移至第二存储设备;向所述第二存储设备发送在第一快照时刻根据所述第一存储设备中属于待迁移数据的多个数据块生成的快照;获取差异位图;所述差异位图中包括所述第一存储设备中的多个存储地址分别对应的位图数据,所述多个存储地址在所述第一存储设备中连续;当所述位图数据取值为第一值时,指示所述位图数据对应的存储地址在所述第一快照时刻和第二快照时刻存储的数据块不相同;当所述位图数据取值为第二值时,指示所述位图数据对应的存储地址在所述第一快照时刻和第二快照时刻存储的数据块相同;按照所述多个存储地址的顺序从所述差异位图中连续读取至少两个位图数据;根据所述至少两个位图数据,按照顺序读取的方式,从所述第一存储设备的第一存储空间读取至少两个数据块,并向所述第二存储设备发送所述至少两个数据块;其中,所述至少两个位图数据包括第一位图数据和第二位图数据,所述第一位图数据为所述至少两个位图数据中第一个取值为所述第一值的位图数据,所述第二位图数据为所述至少两个位图数据中最后一个取值为所述第一值的位图数据;所述第一存储空间的起始地址为所述第一位图数据对应的存储地址,所述第二存储空间的结束地址为所述第二位图数据对应的存储地址。
[0006]在一些实施例中,所述差异位图是根据第一存储设备中的待迁移数据在第一快照时刻和第二快照时刻的差异生成的。
[0007]基于上述方案,本申请提出不再逐个读取两个快照时刻之间的差异数据块,而是
根据差异位图从硬盘中读取存储地址连续的至少两个数据块,将至少两个数据块一同打包发往目的端。相较于传统技术中随机读取和逐个打包所消耗的设备资源,本申请中连续读取多个数据块一同打包传输能够有效节约存储设备的设备资源,并且减少了数据迁移过程中的寻道时间。
[0008]在一些实施例中,所述第二位图数据为所述至少两个位图数据中的最后一个位图数据。
[0009]在一些实施例中,所述第一位图数据至所述第二位图数据包括的位图数据的数量达到第一阈值。
[0010]基于上述方案,当最后一个读取的位图数据的取值为第一值,且已经读取的第一位图数据至第二位图数据包括的位图数据的数量达到第一阈值时,可以将至少两个的位图数据分别对应的数据块一同发往目的端存储设备。其中,第一阈值可以是根据两个存储设备之间的网络连接情况以及传输带宽等信息确定的,从而传输数量满足第一阈值的数据块可以适应设备之间的具体传输情况。
[0011]在一些实施例中,所述至少两个位图数据还包括第三位图数据,所述第三位图数据为所述至少两个位图数据中的最后一个位图数据,所述第三位图数据的取值为第二值。
[0012]在一些实施例中,所述至少两个位图数据中取值为所述第二值的位图数据的数量达到第二阈值。
[0013]基于上述方案,当已经读取的位图数据中最后一个位图数据的取值为第二值,且已经连续读取的取值为第二值的位图数据的数量达到第二阈值时,可以不发送连续读取的取值为第二值的位图数据对应的数据块,而是将第一个取值为第一值的位图数据至最后一个取值为第一值的位图数据分别对应的数据块一同发往目的端存储设备。从而避免连续读取多个取值为第二值的位图数据对应的数据块所消耗的资源大于设备随机读取所消耗的资源。
[0014]在一些实施例中,所述方法还包括:根据从所述差异位图中读取的第四位图数据和第五位图数据,向所述第二存储设备发送从所述第四位图数据对应的存储地址中读取的数据块;所述第四位图数据的取值为所述第一值,所述第五位图数据的取值为第二值,所述第四位图数据至所述第五位图数据中取值为所述第二值的位图数据的数量达到第二阈值。
[0015]在一些实施例中,所述差异位图存储于所述第一存储设备所属的云平台的控制节点中,所述差异位图包括多个子差异位图,所述多个子差异位图在所述控制节点中的存储地址连续;所述获取差异位图,包括:按照所述多个子差异位图的存储地址的顺序从所述控制节点加载所述多个子差异位图至所述第一存储设备的内存;其中,每次加载所述多个子差异位图中的至少一个子差异位图;所述按照所述多个存储地址的顺序从所述差异位图中连续读取至少两个位图数据,包括:按照所述多个存储地址的顺序从所述内存中存储的子差异位图中连续读取至少两个位图数据。
[0016]在一些实施例中,在向所述第二存储设备发送所述至少两个数据块之后,所述方法还包括:将读取的所述至少两个位图数据删除。
[0017]在一些实施例中,所述方法还包括:在所述内存中的第一子差异位图包含的位图数据均被删除时,将所述第一子差异位图从所述内存中删除,所述第一子差异位图为多个子差异位图中的任一子差异位图。
[0018]由于差异位图占据的存储空间较大,因此本申请提出可以从控制节点加载部分的差异位图进行分析,在分析已经加载的部分差异位图之后,可以从内存中删除该部分差异位图并再次从控制节点加载其他部分的差异位图。从而可以节约第一存储设备的内存资源。
[0019]在一些实施例中,所述方法还包括:在发送所述至少两个数据块失败时,确定所述第一位图数据至所述第二位图数据所属的第一子差异位图;若所述内存中未存储所述第一子差异位图,则从所述控制节点中加载所述第一子差异位图。
[0020]第二方面,本申请提出一种数据迁移装置,该装置可以为第一存储设备,或者该装置可以应用于第一存储设备,比如可以为第一存储设备中的处理芯片或者处理器等。该装置包括通信单元和处理单元,其中通信单元,用于接收迁移请求;所述迁移请求用于将所述第一存储设备中待迁移数据迁移至第二存储设备;所述通信单元,还用于向所述第二存储设备发送在第一快照时刻根据所述第一存储设备中属于待迁移数据的多个数据块生成的快照;处理单元,用于获取差异位图;所述差异位图中包括所述第一存储设备中的多本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据迁移方法,其特征在于,所述方法应用于第一存储设备,所述方法包括:接收迁移请求;所述迁移请求用于将所述第一存储设备中待迁移数据迁移至第二存储设备;向所述第二存储设备发送在第一快照时刻根据所述第一存储设备中属于待迁移数据的多个数据块生成的快照;获取差异位图;所述差异位图中包括所述第一存储设备中的多个存储地址分别对应的位图数据,所述多个存储地址在所述第一存储设备中连续;当所述位图数据取值为第一值时,指示所述位图数据对应的存储地址在所述第一快照时刻和第二快照时刻存储的数据块不相同;当所述位图数据取值为第二值时,指示所述位图数据对应的存储地址在所述第一快照时刻和第二快照时刻存储的数据块相同;按照所述多个存储地址的顺序从所述差异位图中连续读取至少两个位图数据;根据所述至少两个位图数据,按照顺序读取的方式,从所述第一存储设备的第一存储空间读取至少两个数据块,并向所述第二存储设备发送所述至少两个数据块;其中,所述至少两个位图数据包括第一位图数据和第二位图数据,所述第一位图数据为所述至少两个位图数据中第一个取值为所述第一值的位图数据,所述第二位图数据为所述至少两个位图数据中最后一个取值为所述第一值的位图数据;所述第一存储空间的起始地址为所述第一位图数据对应的存储地址,所述第二存储空间的结束地址为所述第二位图数据对应的存储地址。2.根据权利要求1所述的方法,其特征在于,所述第二位图数据为所述至少两个位图数据中的最后一个位图数据。3.根据权利要求2所述的方法,其特征在于,所述第一位图数据至所述第二位图数据包括的位图数据的数量达到第一阈值。4.根据权利要求1所述的方法,其特征在于,所述至少两个位图数据还包括第三位图数据,所述第三位图数据为所述至少两个位图数据中的最后一个位图数据,所述第三位图数据的取值为第二值。5.根据权利要求4所述的方法,其特征在于,所述第二位图数据与所述第三位图数据之间的位图数据的数量达到第二阈值。6.根据权利要求1

5任一项所述的方法,其特征在于,所述方法还包括:根据从所述差异位图中读取的第四位图数据和第五位图数据,向所述第二存储设备发送从所述第四位图数据对应的存储地址中读取的数据块;所述第四位图数据的取值为所述第一值,所述第五位图数据的取值为第二值,所述第四位图数据至所述第五位图数据中取值为所述第二值的位图数据的数量达到第二阈值。7.根据权利要求1

6任一项所述的方法,其特征在于,所述差异位图存储于所述第一存储设备所属的云平台的控制节点中,所述差异位图包括多个子差异位图,所述多个子差异位图在所述控制节点中的存储地址连续;所述获取差异位图,包括:按照所述多个子差异位图的存储地址的顺序从所述控制节点加载所述多个子差异位图至所述第一存储设备的内存;其中,每次加载所述多个子差异位图中的至少一个子差异位图;所述按照所述多个存储地址的顺序从所述差异位图中连续读取至少两个位图数据,包
括:按照所述多个存储地址的顺序从所述内存中存储的子差异位图中连续读取至少两个位图数据。8.根据权利要求7所述的方法,其特征在于,在向所述第二存储设备发送所述至少两个数据块之后,所述方法还包括:将读取的所述至少两个位图数据删除。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:在所述内存中的第一子差异位图包含的位图数据均被删除时,将所述第一子差异位图从所述内存中删除,所述第一子差异位图为多个子差异位图中的任一子差异位图。10.根据权利要求7

9任一项所述的方法,其特征在于,所述方法还包括:在发送所述至少两个数据块失败时,确定所述第一位图数据至所述第二位图数据所属的第一子差异位图;若所述内存中未存储所述第一子差异位图,则从所述控制节点中加载所述第一子差异位图。11.一种数据迁移装置,其特征在于,所述装置应用于第一存储设备,或者所述装置为所述第一存储设备,所述装置包括:通信单元,用于接收迁移请求;所述迁移请求用于将所述第一存储设备中待迁移数据迁移至第二存储设备;所述通信单元,还用于向所述第二存储设备发送在第一快照时刻根据所述第一存储设备中属于待迁移数据的多个数据块生成的快照;处理单元,用于获取差异位图;所述差异位图中包括所述第一存储设备中的多个存储地址分别对应的位图数据,所述多个存储地址在所述第一存储设备中连续;当所述位图数据取值为第一值时,指示所述位图数据对应...

【专利技术属性】
技术研发人员:屈俊平杨奕沈瑶
申请(专利权)人:深圳华为云计算技术有限公司
类型:发明
国别省市:

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

1