一种数据迁移方法、装置、电子设备及存储介质制造方法及图纸

技术编号:37070351 阅读:12 留言:0更新日期:2023-03-29 19:47
本申请提供一种数据迁移方法、装置、电子设备及存储介质。该方法包括:确定待迁移的目标数据块;将存储在源存储介质上的目标数据块的数据内容拷贝至目的存储介质,并记录目标数据块的数据块信息,数据块信息包括存储位置信息和数据内容;对目标数据块加读写锁,以暂停对目标数据块的读写;将存储位置信息和数据内容迁移至目的存储介质,并释放读写锁,以完成对目标数据块的迁移。本申请将待迁移的数据块拷贝在目的存储介质的过程中,业务正常执行,并且记录业务在此期限对数据块的读写情况,在对记录的内容进行迁移时,再设置该数据块的读写锁,暂停业务对该数据块的读写操作,从而缩短了对数据块加读写锁的时长。短了对数据块加读写锁的时长。短了对数据块加读写锁的时长。

【技术实现步骤摘要】
一种数据迁移方法、装置、电子设备及存储介质


[0001]本申请涉及数据处理
,具体而言,涉及一种数据迁移方法、装置、电子设备及存储介质。

技术介绍

[0002]随着互联网用户数据量的持续增长,存储成本在数据库总成本中的占比将会越来越高。
[0003]在众多解决方案中,有一种方法是将冷热数据实现分层存储。即,将“热数据”存储在价格昂贵、容量小、读写速度快的固态硬盘中,“冷数据”存储在价格低廉、容量大、读写速度较慢的机械磁盘中。由于数据的冷热程度会随着用户的访问而发生变化,因此,需要实时或定期对冷热程度发生了变化的数据进行迁移。目前,在将数据迁移之前,需要中断对应的业务,在完成数据的迁移后,再重新启动业务,其会导致业务中断的时间较长。

技术实现思路

[0004]本申请实施例的目的在于提供一种数据迁移方法、装置、电子设备及存储介质,用以降低数据迁移过程中业务暂停的时长。
[0005]第一方面,本申请实施例提供一种数据迁移方法,包括:
[0006]确定待迁移的目标数据块;
[0007]将存储在源存储介质上的目标数据块的数据内容拷贝至目的存储介质,并记录目标数据块的数据块信息,数据块信息包括存储位置信息和更新数据;
[0008]对目标数据块加读写锁,以暂停对目标数据块的读写;
[0009]将存储位置信息和更新数据迁移至目的存储介质,并释放读写锁,以完成对目标数据块的迁移。
[0010]本申请实施例中,将待迁移的数据块拷贝在目的存储介质的过程中,业务正常执行,并且记录业务在此期限对数据块的读写情况,在对记录的内容进行迁移时,再设置该数据块的读写锁,暂停业务对该数据块的读写操作,在完成对记录的数据的迁移后,释放读写锁,从而缩短了对数据块加读写锁的时长。
[0011]在任一实施例中,确定待迁移的目标数据块的方法包括:
[0012]统计各数据块的访问次数,并根据访问次数对各数据块进行排序;
[0013]根据数据块大小、数据块排序以及存储介质的容量确定待迁移的目标数据块。
[0014]本申请实施例通过划分的数据块大小、数据块的访问次数的排序以及各个存储介质的容量将数据块划分为“冷数据”或“热数据”,并根据数据块当前存储的位置确定待迁移的目标数据块,其确定冷热数据的计算量较小。
[0015]在任一实施例中,该方法还包括:
[0016]获取各数据块分别对应的快照的UUID和数据块标号ObjiectID,根据UUID和ObjiectID获得对应数据块的key值;其中,ObjiectID为对数据块的大小向下取整获得;
[0017]获取各数据块所存储在存储介质中的序列号bitmapID,根据bitmapID和存储介质的类型获得对应数据块的value值;
[0018]根据数据块对应的key值和value值生成数据块的索引信息。
[0019]本申请实施例通过预先为每个数据块生成对应的索引信息,便于业务能够快速找到对应的数据块,同时,也降低了数据块在迁移过程中出错的概率。
[0020]在任一实施例中,在对目标数据块加读写锁之前,该方法还包括:
[0021]接收业务请求,并根据预先构建的数据库索引信息确定目标数据块,并对目标数据块进行读写操作。
[0022]本申请实施例在迁移目标数据块的过程中,在将对数据块信息迁移时,才对目标数据块加读写锁,在此之前,业务均可正常执行,因此,缩短了对目标数据块加锁的时长。
[0023]在任一实施例中,将存储在源存储介质上的数据块的数据内容拷贝至目的存储介质,包括:
[0024]在目的存储介质上生成空的新数据块,将目标数据块的数据内容拷贝到新数据块中。
[0025]本申请实施例中,将待迁移的数据块拷贝在目的存储介质的过程中,业务正常执行,并且记录业务在此期限对数据块的读写情况,在对记录的内容进行迁移时,再设置该数据块的读写锁,暂停业务对该数据块的读写操作,在完成对记录的数据的迁移后,释放读写锁,从而缩短了对数据块加读写锁的时长。
[0026]在任一实施例中,新数据块对应的key值为根据目标数据块的UUID、ObjiectID和后缀标识生成;新数据块对应的value值为根据目标数据块的bitmapID和目的存储介质的类型生成;
[0027]在完成对目标数据块的迁移之后,该方法还包括:
[0028]将新数据块的key值中的后缀标识删除。
[0029]本申请实施例中,在完成目标数据块的迁移后,将新数据块中的key值上的后缀标识删除,以便业务请求到来时,可以准确地找到该新数据块。
[0030]在任一实施例中,在完成对目标数据块的迁移之后,该方法还包括:
[0031]将源存储介质中的目标数据块删除,以释放源存储介质中的存储空间。
[0032]第二方面,本申请实施例提供一种数据迁移装置,包括:
[0033]数据确定模块,用于确定待迁移的目标数据块;
[0034]数据拷贝模块,用于将存储在源存储介质上的目标数据块的数据内容拷贝至目的存储介质,并记录目标数据块的数据块信息,数据块信息包括存储位置信息和更新数据;
[0035]加锁模块,用于对目标数据块加读写锁,以暂停对目标数据块的读写;
[0036]数据更新模块,用于将存储位置信息和更新数据迁移至目的存储介质,并释放读写锁,以完成对目标数据块的迁移。
[0037]第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
[0038]所述处理器和所述存储器通过所述总线完成相互间的通信;
[0039]所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法。
[0040]第四方面,本申请实施例提供一种非暂态计算机可读存储介质,包括:
[0041]所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法。
[0042]本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
[0043]为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0044]图1为本申请实施例提供的一种数据迁移方法流程示意图;
[0045]图2为本申请实施例提供的一种确定目标数据块的方法流程示意图;
[0046]图3为本申请实施例提供的一种虚拟机的虚拟磁盘关系示意图;
[0047]图4为本申请实施例提供的一种数据块key值拼接本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据迁移方法,其特征在于,包括:确定待迁移的目标数据块;将存储在源存储介质上的所述目标数据块的数据内容拷贝至目的存储介质,并记录所述目标数据块的数据块信息,所述数据块信息包括存储位置信息和更新数据;对所述目标数据块加读写锁,以暂停对所述目标数据块的读写;将所述存储位置信息和所述更新数据迁移至所述目的存储介质,并释放所述读写锁,以完成对所述目标数据块的迁移。2.根据权利要求1所述的方法,其特征在于,所述确定待迁移的目标数据块,包括:统计各数据块的访问次数,并根据所述访问次数对各所述数据块进行排序;根据数据块大小、数据块排序以及存储介质的容量确定所述待迁移的目标数据块。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:获取各所述数据块分别对应的快照的UUID和数据块标号ObjiectID,根据所述UUID和所述ObjiectID获得对应数据块的key值;其中,所述ObjiectID为根据所述数据块在所述快照中的地址及所述数据块的大小获得;获取各所述数据块所存储在存储介质中的序列号bitmapID,根据所述bitmapID和所述存储介质的类型获得对应数据块的value值;根据数据块对应的key值和value值生成所述数据块的索引信息。4.根据权利要求3所述的方法,其特征在于,在对所述目标数据块加读写锁之前,所述方法还包括:接收业务请求,并根据预先构建的数据库索引信息确定所述目标数据块,并对所述目标数据块进行读写操作。5.根据权利要求3所述的方法,其特征在于,将存储在源存储介质上的所述数据块的数据内容拷贝至目的存储介质,包括:在目的存储介质上生成空的新数据块,将所述目标数据块的数据内容拷贝到所述...

【专利技术属性】
技术研发人员:胡盛泳
申请(专利权)人:北京天融信科技有限公司北京天融信软件有限公司
类型:发明
国别省市:

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

1