CN115729463A - 数据迁移的方法、***及相关装置 - Google Patents
数据迁移的方法、***及相关装置 Download PDFInfo
- Publication number
- CN115729463A CN115729463A CN202211292048.5A CN202211292048A CN115729463A CN 115729463 A CN115729463 A CN 115729463A CN 202211292048 A CN202211292048 A CN 202211292048A CN 115729463 A CN115729463 A CN 115729463A
- Authority
- CN
- China
- Prior art keywords
- data
- storage area
- migration
- server
- migrated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005012 migration Effects 0.000 title claims abstract description 347
- 238000013508 migration Methods 0.000 title claims abstract description 347
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000013500 data storage Methods 0.000 claims description 223
- 238000012545 processing Methods 0.000 claims description 28
- 230000007717 exclusion Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 24
- 238000004891 communication Methods 0.000 description 17
- 238000013507 mapping Methods 0.000 description 16
- 238000005520 cutting process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000004308 accommodation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据迁移的方法、***及相关装置,该方法包括当服务器接收到针对第一数据的读请求或写请求时,服务器触发针对第一数据的迁移操作,完成迁移之后再响应读请求或写请求针对于第一数据的处理。本申请技术方案可以实现数据的在线迁移,还可以提高数据迁移的效率,用户体验感良好。
Description
技术领域
本申请实施例涉及数据迁移技术领域,尤其涉及数据迁移的方法、***及相关装置。
背景技术
当原有的存储介质容量紧张、新老存储软件替换、硬件生命周期到期时,需要进行数据迁移。目前,随着云计算的兴起,应用上云或者云厂商的替代,用户的选择的存储方式也在变化,这样也需要进行数据迁移。
如何在实现在线迁移的情况下,提高数据迁移的效率是本领域亟待解决的问题。
发明内容
本申请提供了一种数据迁移的方法、***及相关装置,不仅可以实现数据的在线迁移,还可以提高数据迁移的效率,用户体验感良好。
第一方面,本申请提供了一种数据迁移方法,该方法应用于计算设备,其特征在于,包括:
接收到针对于第一数据的读请求或者写请求;
根据该读请求对该第一数据进行处理,并将该第一数据从源数据存储区域中迁移至目标存储区域中存储;
或者,根据该写请求对该第一数据进行处理,并将该第一数据从源数据存储区域中迁移至目标存储区域中存储;
其中,该第一数据存储在源数据存储区域中,该源数据存储区域与目标存储区域位于同一台计算设备中或者不同的计算设备中。
在一种可能的实现方式中,本申请实施例可以是由针对于第一数据的读请求或写请求来触发第一数据的迁移操作。
在一种可能的实现方式中,当源数据存储区域与目标存储区域位于不同的计算设备中时,不同的计算设备之间可以进行第一数据的发送与接收操作。
由上述方法可知,可以确保当***接收到用户对第一数据的读请求或写请求时,只需要***在源数据存储区域中对第一数据进行一次读取即可以保证实现用户的读请求或写请求以及迁移任务。
这样,相对于***先接收迁移指令,再接收读请求或写请求的方法,可以在实现在线迁移的基础上提高迁移效率。
结合第一方面,在一些实施方式中,在接收到针对于第一数据的读请求或者写请求之后,该方法还包括:
在确定该第一数据需要迁移且该第一数据还未进行迁移的情况下,根据该读请求或者写请求对该第一数据进行处理。
在一种可能的实现方式中,当该第一数据不需要迁移或者该第一数据已经被迁移的情况下,可以直接对第一数据进行读请求或者写请求的相关处理,不对该第一数据进行从源数据存储区域中迁移至目标存储区域存储的操作。
这样,可以全方位覆盖各种场景下的第一数据,考虑其多种情况,避免出现多次迁移的情况。
结合第一方面,在一些实施方式中,该第一数据在该源数据存储区域中的存储地址为第一地址,
该根据该读请求对所述第一数据进行处理,并将该第一数据从源数据存储区域中迁移至目标存储区域中存储,具体包括:
可以根据该读请求从该第一地址中读取该第一数据并存储在该目标存储区域中的第二地址中。
在一种可能的实现方式中,该第一数据的存储方式可以为块存储、对象存储等存储方式,对此不作限定。
在一种可能的实施方式中,若读请求所对应的第一数据的大小小于数据块或单个对象的大小,需要对数据块或单个对象按照实际读取的数据大小进行切割处理,使得切割处理之后的部分数据恰好为第一数据。
在一种可能的实施方式中,当第一数据完成源数据存储区域中迁移至目标存储区域中存储之后,可以返回至用户。
这样可以实现针对于第一数据的读请求,还可以提高迁移第一数据的效率。
结合第一方面,在一些实施方式中,该第一数据在该源数据存储区域中的存储地址为第一地址,该第一数据的存储方式为块存储,
该根据该写请求对该第一数据进行处理,并将该第一数据从源数据存储区域中迁移至目标存储区域中,具体包括:
判断该第一数据与数据块的大小是否对齐;
在该确定该第一数据与数据块的大小对齐的情况下,根据该写请求从该第一地址读取该第一数据并存储在该目标存储区域中的第二地址中;对存储在该第一地址和该第二地址中的所述第一数据进行写处理;
其中,该数据块为块存储中单次进行迁移的数据;该对齐是指该第一数据的大小是数据块的大小的整数倍。
在一种可能的实现方式中,响应写请求的前提条件为需要满足写写互斥,即两个写请求针对的数据不可以有交集。
在一种可能的实现方式中,在完成对该第一地址和该第二地址中的所述第一数据进行写处理之后,可以将响应写请求完成的信息通知用户。
这样可以避免出现写写互斥的情况。
结合第一方面,在一些实施方式中,在该计算设备确定该第一数据该数据块的大小没有对齐的情况下,该计算设备持续获取所述数据块的互斥锁;
根据该写请求对存储在该第一地址的该第一数据进行写处理,得到第二数据,并将该第二数据存储至该第一地址;
从该第一位置读取该第二数据并存储在该目标存储区域中的第二地址中。
这样可以解决第一数据的大小与单次迁移的数据大小不对齐的问题,以此实现针对于第一数据的写处理。
结合第一方面,在一些实施方式中,该第一数据的存储方式为对象存储,该第一数据在该源数据存储区域中的存储地址为第一地址,
该根据该写请求对该第一数据进行处理,并将该第一数据从源数据存储区域中迁移至目标存储区域中,具体包括:
根据该写请求,从该第一地址中读取该第一数据并存储在该目标存储区域中的第二地址中,对存储在所述第一地址和所述第二地址中的所述第一数据进行写处理。
在一种可能的实现方式中,对象存储的写处理操作只能作用于整个对象,因此,无需进行第一数据与单个对象的对齐判断。
这样可以实现针对于对象存储类型的第一数据的写请求,还可以提高迁移第一数据的效率。
结合第一方面,在一些实施方式中,在该第一数据完成迁移之后,更新迁移元数据记录表,该迁移元数据记录表记录所述第一数据的迁移状态,该迁移状态包括所述第一数据需要迁移但未被迁移、已经迁移、不需要迁移中的任意一种。
在一种可能的实现方式中,第一数据从源数据存储区域迁移至目标存储区域之后,在迁移元数据记录表的状态可以由“N”转换为“Y”。
在一种可能的实现方式中,当计算设备未接收到第一数据的读请求以及写请求时,可以启动后台迁移任务,确定出待迁移的数据,***在后台开始按顺序对待迁移的数据块或者单个对象进行迁移。
第二方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该电子设备执行如第一方面描述的方法。
第三方面,本申请实施例提供一种计算机可读存储介质,包括计算机指令,当上述计算机指令在电子设备上运行时,使得上述电子设备执行如第一方面的方法。
可以理解地,上述第二方面提供的电子设备和第三方面提供的计算机可读存储介质均用于执行本申请实施例所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种数据迁移***的框架示意图。
图2为本申请实施例提供的一种服务器100的结构示意框图。
图3为本申请实施例提供的一种响应读请求的数据迁移方法的流程示意图。
图4为本申请实施例提供的另一种响应读请求的数据迁移方法的流程示意图。
图5为本申请实施例提供的一种响应写请求的数据迁移方法的流程示意图。
图6为本申请实施例提供的另一种响应写请求的数据迁移方法的流程示意图。
图7为本申请实施例提供的一种后台数据迁移方法的流程示意图。
图8为本申请实施例提供的另一种后台数据迁移方法的流程示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请以下实施例中的术语“用户界面(user interface,UI)”,是应用程序或操作***与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markuplanguage,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
数据迁移(datamigration)可以是指选择、准备、提取和转换数据,并将数据从一个计算机存储***永久地传输到另一个计算机存储***的过程。进行数据迁移有多种原因,其中可以包括但不限于服务器或存储设备更换、维护或升级、应用程序迁移、网站集成、灾难恢复以及数据中心迁移。在一些实现方式中,数据迁移可以理解成对存储在一个计算机存储***数据进行复制,拷贝在另一个计算机存储***内。
目前来说,有些数据迁移的方法不支持在线迁移。例如,若用户需要对正在迁移的数据进行访问,需要等待数据迁移完毕之后才能访问上述数据。也就是说,数据在迁移的过程中电子设备无法响应针对于该数据的读写请求。
还有些数据迁移的方法的效率较低。例如,当***采用打快照的方式对数据进行迁移时,需要从源数据存储区域中导出数据,再将导出的数据导入至迁移之后的目标存储区域中。若在对数据进行迁移的过程中,用户操作触发了写请求导致出现新增数据,而新增数据也需要进行迁移,那么需要重复从源数据存储区域中导出新增数据,再将导出的新增数据导入至迁移之后的目标存储区域中。
为了改善上述数据迁移的方法所产生的问题,本申请实施例提供了一种数据迁移的方法。在该方法中,数据迁移分为前台迁移和后台迁移两种形式。
其中,前台迁移的方法具体是指:首先确定出待迁移的数据集,其中,待迁移的数据集可以是由管理人员确定的。当***接收到用户对第一数据的读请求或写请求时,***开始对第一数据进行迁移。其中,第一数据属于待迁移的数据集。
当***接收到用户对第一数据的操作请求是读请求时,***将第一数据从源数据存储区域读取出来,迁移至目标存储区域,然后再将该目标存储区域中的第一数据返回给用户。
当***接收到用户对第一数据的操作请求是写请求时,***将第一数据从源数据存储区域读取出来,迁移至目标存储区域,然后对源数据存储区域的第一数据与目标存储区域中的第一数据进行双写处理,再将该目标存储区域中的第一数据返回给用户;或者***先对第一数据读取出来,进行写处理,将写处理之后的第一数据存储至源数据存储区域,再将写处理之后的第一数据迁移至源数据存储区域。
后台迁移的方法具体是指:首先确定出待迁移的数据,***在后台开始按顺序对待迁移的数据块或者单个对象进行迁移。
在一些实现方式中,前台迁移的优先级高于后台迁移。也就是说,当***接收到用户对第一数据的读请求或写请求时,***可以优先选择前台迁移的方法进行迁移。当***未接收到任何读请求或写请求时,***仅可以选择后台迁移的方法来对需要迁移指令所针对的数据进行迁移。
在一些实现方式中,第一数据存储在源数据存储区域中的存储地址可以被称为第一地址,第一数据存储在目标数据存储区域中的存储地址可以被称为第二地址。
在一些实现方式中,第一数据进行写处理之后的数据可以被称为第二数据。
通过上述方法,可以确保当***接收到用户对第一数据的读请求或写请求时,只需要***在源数据存储区域中对第一数据进行一次读取即可以保证实现用户的读请求或写请求以及迁移任务。
这样,相对于***先接收迁移指令,再接收读请求或写请求的方法,可以提高迁移效率。这是因为***在迁移过程中不能保证接收迁移指令的数据与接收读请求或写请求的数据是同一数据,这样会造成当实现用户的读请求或写请求以及迁移任务时,***可能会在源数据存储区域中对某一个数据进行两次读取的现象。
因此,本申请实施例所提供的数据迁移的方法不仅可以实现数据的在线迁移,还可以提高数据迁移的效率,用户体验感良好。
为了更加清楚地介绍本申请实施例提供的方法,下面先介绍本申请实施例提供的数据迁移***框架。
参考图1,图1为本申请实施例提供的数据迁移***的框架示意图。
数据迁移***可以包括但不限于源数据存储区域、目标数据存储区域、数据迁移工具以及存储介质等等。该数据迁移***可以应用于本地数据迁移至云端、云端之间进行数据迁移以及云端数据迁移至本地等应用场景。
值得说明的是,上述源数据存储区域与目标数据存储区域可以是指服务器中数据块或者单个对象的逻辑存储位置,上述存储介质可以是指服务器中数据块或者单个对象的物理存储位置。
其中,源数据存储区域可以是指存储有未迁移的数据的数据库,常见的数据库可以包括但不限于关系型数据库管理器(My Structured Query Language,MYSQL)、Oracle数据库、Microsoft SQL Server等等。
源数据存储区域存储数据的类型可以包括但不限于块存储、文件存储以及对象存储等等。例如,当源数据存储区域中存储的数据是以块存储的形式存储时,源数据存储区域可以作为卷或者逻辑单元号(Logical Unit Number,lun),此时源数据存储区域中存储的数据可以被划分为大小一致的数据块(例如数据块可以是1MB大小的数据)。
在一些实现方式中,当源数据存储区域中存储的数据进行迁移时,数据可以是以数据块为单位进行迁移。
又例如,当源数据存储区域中存储的数据是以对象存储的形式存储时,源数据存储区域可以作为桶,此时源数据存储区域中存储的数据为单个对象。也就是说,数据进行迁移可以按数据的单位量进行迁移。
目标数据存储区域可以是指存储有已迁移的数据的数据库。同样,目标数据存储区域存储数据的类型可以包括但不限于块存储、文件存储以及对象存储等等,存储类型的详细说明可以参考上述内容,在此不做赘述。
在一些实现方式中,源数据存储区域与目标数据存储区域可以位于同一硬件设备上,也可以位于不同硬件设备上。
图1中所示的源数据存储区域中所示的长方形a以及源数据存储区域中所示的长方形b可以表示数据块或者单个对象。也就是说若要完成源数据存储区域中待迁移的数据集的迁移任务,则需要对多个数据块或者单个对象进行迁移。
例如,一次完整的迁移任务中,可以将长方形a数据块或者单个对象迁移至长方形b中,长方形b所表示的数据块或者单个对象为长方形a数据块或者单个对象迁移之后的数据,其数据在内容上是一致的。
数据迁移工具可以实现请求的捕获、数据的分发、存储并更新迁移元数据记录表以及后台迁移任务等等。
具体的,请求的捕获可以用于监测来自用户针对于第一数据的读请求或写请求,以此来开启前台迁移任务。
请求的捕获所实现的具***置可以有所不同。在一些实施方式中,可以在Linux中的Device Mapper层完成请求的捕获。当数据所存储的服务器连接有对应的客户端,也可以在客户端完成请求的捕获。在本申请实施例中对此不作限定。
在一些实现方式中,数据迁移工具在完成请求的捕获之后,从源数据存储区域中获取请求所针对的第一数据的逻辑地址,并根据该逻辑地址从存储介质中读取出第一数据。
也即是说,源数据存储区域以及目标数据存储区域为第一数据的逻辑存储位置,存储介质为第一数据的物理存储位置。
存储介质可以是指存储第一数据的载体,例如软盘、光盘、高密度数字视频光盘(Digital Video Disc,DVD)、硬盘、闪存、U盘、紧凑式闪存(Compact Flash,CF)卡、安全数码卡(Secure Digital Memory Card,SD卡)、多媒体卡(Multi-Media Card,MMC卡)、智能媒体(Smart Media,SM)卡、记忆棒(Memory Stick)、极限数字显卡(Extreme Digital-Picture Card,xD卡)等。
数据的分发可以用于在数据迁移工具读取到第一数据之后对第一数据进行迁移处理。在一些实现方式中,数据迁移工具可以判断第一数据是否需要进行迁移,即第一数据是否属于待迁移数据集。若第一数据属于待迁移数据集,数据迁移工具可以将第一数据迁移至目标存储区域。
迁移元数据记录表用于记录数据的迁移状态(例如未迁移、已迁移以及初始态)。在一些实现方式中,数据迁移工具可以存储并更新迁移元数据记录表。具体的,可以参考表1、表2所示的迁移元数据记录表。
表1
索引 | 状态 |
Block 1 | Y |
Block 2 | N |
…… | …… |
Block N | NA |
表2
索引 | 状态 |
Object 1 | Y |
Object 2 | N |
…… | …… |
Object N | NA |
如表1、表2所示,表1示例性示出了块存储迁移元数据记录表,表2示例性示出了对象存储迁移元数据记录表。
迁移元数据记录表可以包括索引以及迁移状态,迁移元数据记录表还可以包括以下任意一项或几项:数据未迁移时所存储的服务器的标识、数据已迁移后所存储的服务器的标识、数据未迁移时所存储的逻辑位置以及数据已迁移后所存储的逻辑位置等等,在本申请实施例中,对此不作限定。
其中,表1、表2中示出的索引可以用来表示对源数据存储区域中数据进行排序的一种结构,使用索引可快速查看源数据存储区域中的特定的数据。
例如,索引“Block 1”表示的是以块存储的形式存储的数据中被划分成同样大小(例如1MB)的数据块的索引,索引“Obeject 1”表示的是以对象存储的形式存储的数据中单个对象的索引。
在一些实现方式中,数据的索引与数据的存储类型有关。
例如,若某一数据的存储类型为块存储,则该数据的索引为卷ID+逻辑地址;若某一数据的存储类型为文件存储,则该数据的索引为文件***ID(Filesystem ID)+目录(Directory)+文件名(Filename)+偏移地址(Offset);若某一数据的存储类型为对象存储,则该数据的索引为键(Key)+版本号(Version)。
表1、表2中示出的迁移状态表示的是源数据存储区域中数据是否处于迁移状态。
其中,状态“Y”表示该行中具体索引所指示的数据目前处于需要进行迁移并已经完成迁移的情况。
状态“N”表示该行中具体索引所指示的数据目前处于需要进行迁移但未进行迁移,或者需要进行迁移并正在迁移但没有完全迁移完毕的情况。
状态“NA”表示该行中具体索引所指示的数据目前处于不需要进行迁移,不处于未迁移状态的情况。
在一些实现方式中,数据迁移工具还可以实时更改数据的状态。例如,当数据1需要进行迁移并完成迁移之后,数据1的状态可以由“N”转换为“Y”。一般情况下,数据1不会由“Y”转换为“N”。
不同迁移元数据记录表中索引所指示的同一数据在不同的表中可能处于不同的状态。例如,数据1在表A中的状态为“Y”,在表B中的状态为“N”,也就是说,数据1已经从表A中未迁移时所存储的逻辑位置迁移至已迁移后所存储的逻辑位置,但是还未从表B中未迁移时所存储的逻辑位置迁移至已迁移后所存储的逻辑位置。
值得说明的是,由于服务器100中存储有迁移元数据记录表,记录有迁移单位的数据的状态,迁移元数据记录表具有更新性与持久性,因此,在本申请实施例中,可以支持断点续传以及重试迁移。例如,当出现网络问题导致无法复制数据时,则中断复制数据,原有的迁移任务不受影响。当网络恢复之后,从中断处继续复制数据。
又例如,若在网络出现问题导致无法复制的期间,而***正在响应写请求,并正在进行对已经迁移的数据块或者对象进行写处理时,则将该数据块或对象在迁移元数据记录表中对应的状态记录为“N”,表示该数据块或对象指示为脏块需要继续迁移。当网络恢复后,迁移工具继续恢复原来的迁移过程,并将未迁移的数据和脏块迁移到目标中。也就是说,对网络出现问题那一刻所处理的数据块或者单个对象进行重新处理,以此来实现完成准确的迁移任务。
在一些实现方式中,对于同一个源数据存储区域,可以实现多个任务迁移到不同的目标中,同一个源数据存储区域的两个不同的迁移任务是相互独立的,不会相互影响。对于不同源数据存储区域的同时进行迁移,后台也会有多个迁移任务,也有针对于不同迁移任务的各自的迁移元数据表,多个迁移任务之间也是相互独立,不会影响。
后台迁移任务区别于前台迁移任务,指的是实时按顺序扫描待迁移的数据,判断出待迁移的数据中未迁移的单位数据,并对上述待迁移的数据中的未迁移的单位数据(例如数据块或单个对象)进行迁移。
例如,待迁移的数据为数据1-数据100共100个单位数据,若无针对于数据1-数据100中任一数据的读请求或写请求,后台迁移任务从数据1开始扫描直到数据100,并在扫描数据1时判断数据1为未迁移数据,对数据1进行迁移,其余99个数据同理进行迁移;
若存在一个针对于数据10的读请求或写请求,前台迁移任务率先将数据10进行迁移,然后后台迁移任务从数据1开始扫描直到数据100,并再按顺序将数据1-数据9、数据11-数据100进行迁移,并在扫描数据1时判断数据1为未迁移数据,对数据1进行迁移,其余98个数据同理进行迁移,但在扫描数据10时判断数据10为已迁移数据,不对数据10进行迁移。
这样,只需要迁移前台未读写过的数据块或者单个对象,已经读写过的数据不会重复迁移,减少数据的读写,提升了迁移效率。
为了更加清楚的介绍本申请实施例提供的方法,下面本申请实施例提供的服务器100。
参考图2,图2为本申请实施例提供的服务器100的结构示意图。
如图2所示,服务器100可以包括:一个或者多个处理器101、存储器102、通信接口103、发射器105、接收器106、耦合器107以及天线108。上述部件可以通过总线104或者其他方式进行连接,图2是以通过总线连接为例。其中:
在本申请实施例中,处理器101可以用于读取和执行计算机可读指令。具体的,处理器101可以用于调用存储于存储器102中的程序,例如本申请实施例提供的数据迁移方法在服务器100的实现程序,并执行该程序包含的指令。处理器101还可以用于根据迁移元数据记录表确定是否需要进行迁移。
存储器102与处理器101耦合,用于存储各种软件程序和/或多组指令。具体的,存储器102可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。
存储器102可以存储待迁移的数据集以及迁移元数据记录表等信息。
存储器102可以存储操作***(下述简称***),例如uCOS、VxWorks、RTLinux等嵌入式操作***。存储器102还可以存储网络通信程序,该网络通信程序可用于与客户端以及其他服务器进行通信。
通信接口103可用于服务器100与其他通信设备。
具体的,通信接口103可以是3G通信接口、长期演进(LTE)(4G)通信接口、5G通信接口、WLAN通信接口、WAN通信接口等等。不限于无线通信接口,服务器100还可以配置有线的通信接口103来支持有线通信。
发射器105和接收器106可看作一个无线调制解调器。发射器105可用于对处理器101输出的信号进行发射处理。接收器106可用于接收信号。
在服务器100中,发射器105和接收器106的数量均可以是一个或者多个。
天线108可用于将传输线中的电磁能转换成自由空间中的电磁波,或者将自由空间中的电磁波转换成传输线中的电磁能。
耦合器107可用于将移动通信号分成多路,分配给多个的接收器106。
可理解的,网络设备的天线108可以实现为大规模天线阵列。
需要说明的,图2所示的服务器100仅仅是本申请实施例的一种实现方式,实际应用中,服务器100还可以包括更多或更少的部件,这里不作限制。
值得说明的,根据用户的不同需求以及其他方面的综合考虑,源数据存储区域和目标存储区域所存储的服务器可以为同一个,也可以为不同的两个服务器。
数据迁移工具可以运行在源数据存储区域所存储的服务器上,也可以运行在目标存储区域所存储的服务器上,还可以运行在除上述情况以外的其他服务器上。
在一些实施方式中,数据迁移工具可以同时运行在源数据存储区域所存储的服务器上以及目标存储区域所存储的服务器上。在本申请实施例中,对此不作限定。
当图1中数据迁移***中源数据存储区域所存储的服务器和目标存储区域所存储的服务器为同一个图2所示的服务器100,并且数据迁移工具运行服务器100上时,处理器101可以用于响应用户的读请求和写请求,并对请求进行拦截处理。
处理器101还可以根据迁移元数据记录表判断数据是否需要进行迁移。处理器101还可以在数据完成迁移之后更新数据在迁移元数据记录表上的状态信息。
存储器102可以用于存储待迁移的数据、已迁移的数据以及迁移元数据记录表等信息。
通信接口103可以用于与用户所使用的电子设备进行通信连接。
发射器105可以用于将用户所需要的数据返回给用户所使用的电子设备,接收器106可以用于接收用户的读请求或写请求,接收器106还可以用于接收针对于第一数据的迁移指令,例如接收器106还可以用于接收控制中心发送的针对于第一数据的迁移指令。
当图1中数据迁移***中源数据存储区域所存储的服务器和目标存储区域所存储的服务器不为同一个图2所示的服务器100时,源数据存储区域所存储的服务器为服务器110,目标存储区域所存储的服务器为服务器120,数据迁移工具可以同时运行服务器110以及服务器120上,服务器100包括服务器110以及服务器120。
服务器110的处理器101可以用于响应用户的读请求和写请求,并对请求进行拦截处理。服务器110的处理器101还可以根据迁移元数据记录表判断数据是否需要进行迁移。服务器110的处理器101可以在发送待迁移的数据完毕之后,更新迁移元数据记录表。
服务器110的存储器102可以用于存储待迁移的数据以及迁移元数据记录表等信息。
服务器110的通信接口103可以用于与服务器120进行通信连接。
服务器110的发射器105可以用于向服务器120发送待迁移的数据。
服务器110的接收器106可以用于接收用户的读请求或写请求,服务器110的接收器106还可以用于接收控制中心发送的针对于第一数据的迁移指令。
服务器120的处理器101可以在接收服务器110发送待迁移的数据完毕之后,更新迁移元数据记录表。
服务器120的存储器102可以用于存储已迁移的数据以及迁移元数据记录表等信息。
服务器120的通信接口103可以用于与服务器110进行通信连接。
服务器120的发射器105可以用于向服务器110发送待迁移的数据已完成迁移的提示信息,服务器120的接收器106可以用于接收服务器110所发送待迁移的数据。
在一些实现方式中,服务器100可以被称为计算设备。
在一些实现方式中,用户所使用的电子设备可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digitalassistant,PDA)、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,本申请实施例对该电子设备的具体类型不作特殊限制。
下面介绍本申请实施例中提供的一种数据迁移的方法。该实施例以服务器100响应用户针对于待迁移的数据的读请求的情况为例介绍数据迁移的方法。
图3示出了本申请实施例中提供的一种响应读请求的数据迁移方法的流程示意图。在该实施例中以数据的存储方式为块存储,迁移单位为数据块为例。
S301、服务器100响应用户针对于第一数据的读请求。
在一些实施方式中,用户根据自身需求,可以向服务器100进行输入操作,服务器100可以响应针对第一数据进行读请求。其中,第一数据的读请求可以包括但不限于:第一数据的在源数据存储区域中的逻辑地址,索引以及数据净荷长度等等,其中,数据净荷长度是指读请求信息中除去报头和长度之外的有效净荷数据长度。
S302、判断第一数据是否需要进行迁移。
在一些实施方式中,服务器100可以在响应读请求之前接收到控制中心下发的针对于第一数据的迁移指令。
***可以是由于服务器100的剩余容纳空间,或者服务器100进行升级更新,或者是服务器100造到了损坏等原因下发的迁移指令,还可以是基于管理人员的输入操作而下发的迁移指令。在本申请实施例中,对此不作限定。
并且,若存在针对于第一数据的迁移指令,则迁移元数据记录表中第一数据的状态不会是“NA”,而是“Y”或者“N”。
当服务器100判断出第一数据需要进行迁移时,即存在有针对于第一数据的迁移指令,第一数据在迁移元数据记录表中的状态为“Y”或者“N”,则执行S303。
当服务器100判断出第一数据不需要进行迁移时,即不存在有针对于第一数据的迁移指令,第一数据在迁移元数据记录表中的状态为“NA”,则执行S304。
在一些实现方式中,由于迁移元数据记录表中的记录单位是以数据块的大小为单位的,上述第一数据的状态可以是指:
若第一数据的大小大于或等于数据块,则第一数据的状态为第一数据所分割成对应多个数据块的状态,若第一数据的大小小于数据块,则第一数据的状态为第一数据所对应数据块的状态。
S303、判断第一数据是否已经被迁移。
在一些实现方式中,服务器100可以根据迁移元数据记录表判断出第一数据是否已经完成迁移。
例如,若在迁移元数据记录表中,针对于第一数据的读请求中携带的索引所对应的状态为“Y”,则可以判断出第一数据已经完成迁移;若在迁移元数据记录表中,针对于第一数据的读请求中携带的索引所对应的状态为“N”,则可以判断出第一数据未迁移或正在迁移中并且还未完成迁移。
当服务器100判断出第一数据已经完成迁移时,第一数据在迁移元数据记录表中的状态为“Y”,第一数据无需再次从源数据存储区域迁移至目标存储区域,则执行S304。
当服务器100判断出第一数据未进行迁移,但从S303中可知存在有针对于第一数据的迁移指令时,第一数据在迁移元数据记录表中的状态为“N”,则执行S305。
进一步的,在一种可能的实现方式中,若第一数据处于正在迁移但没有完全迁移完毕的情况下,迁移元数据记录表可以记录第一数据的状态可以为“N+”。
当服务器100判断出第一数据处于正在迁移但没有完全迁移完毕时,第一数据无需重新进行迁移,执行S304。
S304、从源数据存储区域读取出第一数据,并返回给用户。
在一些实现方式中,服务器100可以基于读请求从源数据存储区域中读取出第一数据,将第一数据返回至用户。
具体的,若第一数据存储在云端,用户想要读取第一数据,则云端可以根据本地用户所发送的第一数据的读请求获得第一数据的逻辑地址,再根据逻辑地址与物理地址的映射关系得到第一数据的物理地址,并从该物理地址中读取出第一数据,然后云端将读取出来的第一数据发送至本地用户。
S305、从源数据存储区域读取出第一数据,将第一数据迁移至目标存储区域,并更新迁移元数据记录表,再将第一数据返回给用户。
在一些实现方式中,服务器100可以将第一数据从源数据存储区域迁移至目标存储区域。例如,当源数据存储区域与目标存储区域存储在同一个服务器100上时,第一数据的在源数据存储区域中的逻辑地址为L1,逻辑地址L1所对应的物理地址为W1,其映射关系为逻辑地址L1映射物理地址W1。
服务器100将第一数据从源数据存储区域迁移至目标存储区域可以是指将第一数据的逻辑地址由源数据存储区域中的逻辑地址L1改为目标存储区域中的逻辑地址L2,并且将映射关系改为逻辑地址L2映射物理地址W1。
可选的,第一数据迁移前后在服务器100中所存储的两个物理地址可以相同的,也可以是不同的。在本申请实施例中,对此不作限制。
在一些实现方式中,服务器100在完成第一数据从源数据存储区域迁移至目标存储区域后,可以更新迁移元数据记录表。
例如,第一数据从源数据存储区域迁移至目标存储区域之后,在迁移元数据记录表的状态可以由“N”转换为“Y”。
在一种可能的实施方式中,若用户想要读取的第一数据的大小小于数据块,服务器100需要对数据块按照实际读取的数据大小进行切割处理,使得切割处理之后的部分数据恰好为第一数据。
例如,用户想要读取的第一数据大小为0.5MB,而数据块大小为1MB,此时,服务器100从源数据存储区域中读取出的数据块大小为1MB,其中,1MB的数据块包括有0.5MB的第一数据和0.5MB的其他数据,服务器100需要将1MB大小的数据块划分开,从其中选择出0.5MB的第一数据,并将该0.5MB的第一数据返回给用户。
在一些实现方式中,记录元数据可以被理解成更新迁移元数据记录表。
图4示出了本申请实施例中提供的另一种响应读请求的数据迁移方法的流程示意图。在该实施例中以数据的存储方式为对象存储,迁移单位为单个对象为例。
S401、服务器100响应用户针对于第一数据的读请求。
在一些实施方式中,用户根据自身需求,可以向服务器100进行输入操作,服务器100可以响应针对第一数据进行读请求。
其中,第一数据的读请求可以包括但不限于:第一数据的在源数据存储区域中的逻辑地址,索引以及数据净荷长度等等,其中,数据净荷长度是指读请求信息中除去报头和长度之外的有效净荷数据长度。
S402、判断第一数据是否需要进行迁移。
在一些实施方式中,服务器100可以在响应读请求之前接收到控制中心下发的针对于第一数据的迁移指令。
***可以是由于服务器100的剩余容纳空间,或者服务器100进行升级更新,或者是服务器100造到了损坏等原因下发的迁移指令,还可以是基于管理人员的输入操作而下发的迁移指令。在本申请实施例中,对此不作限定。
并且,若存在针对于第一数据的迁移指令,则迁移元数据记录表中第一数据的状态不会是“NA”,而是“Y”或者“N”。
当服务器100判断出第一数据需要进行迁移时,即存在有针对于第一数据的迁移指令,第一数据在迁移元数据记录表中的状态为“Y”或者“N”,则执行S403。
当服务器100判断出第一数据不需要进行迁移时,即不存在有针对于第一数据的迁移指令,第一数据在迁移元数据记录表中的状态为“NA”,则执行S404。
在一些实现方式中,由于迁移元数据记录表中的记录单位是以单个对象的大小为单位的,上述第一数据的状态可以是指:
若第一数据的大小大于或等于单个对象,则第一数据的状态为第一数据所分割成对应多个单个对象的状态,若第一数据的大小小于单个对象,则第一数据的状态为第一数据所对应单个对象的状态。
S403、判断第一数据是否已经被迁移。
在一些实现方式中,服务器100可以根据迁移元数据记录表判断出第一数据是否已经完成迁移。
例如,若在迁移元数据记录表中,针对于第一数据的读请求中携带的索引所对应的状态为“Y”,则可以判断出第一数据已经完成迁移;
若在迁移元数据记录表中,针对于第一数据的读请求中携带的索引所对应的状态为“N”,则可以判断出第一数据未迁移或正在迁移中并且还未完成迁移。
当服务器100判断出第一数据已经完成迁移时,第一数据在迁移元数据记录表中的状态为“Y”,第一数据无需再次从源数据存储区域迁移至目标存储区域,则执行S404。
当服务器100判断出第一数据未进行迁移,但从S403中可知存在有针对于第一数据的迁移指令时,第一数据在迁移元数据记录表中的状态为“N”,则执行S405。
进一步的,在一种可能的实现方式中,若第一数据处于正在迁移但没有完全迁移完毕的情况下,迁移元数据记录表可以记录第一数据的状态可以为“N+”。
当服务器100判断出第一数据处于正在迁移但没有完全迁移完毕时,第一数据无需重新进行迁移,执行S404。
S404、从源数据存储区域读取出第一数据,并返回给用户。
在一些实现方式中,服务器100可以基于读请求从源数据存储区域中读取出第一数据,将第一数据返回至用户。
具体的,若第一数据存储在云端,用户想要读取第一数据,则云端可以根据本地用户所发送的第一数据的读请求获得第一数据的逻辑地址,再根据逻辑地址与物理地址的映射关系得到第一数据的物理地址,并从该物理地址中读取出第一数据,然后云端将读取出来的第一数据发送至本地用户。
S405、从源数据存储区域读取出第一数据,将第一数据迁移至目标存储区域,并更新迁移元数据记录表,再将第一数据返回给用户。
在一些实现方式中,服务器100可以将第一数据从源数据存储区域迁移至目标存储区域。例如,当源数据存储区域与目标存储区域存储在同一个服务器100上时,第一数据的在源数据存储区域中的逻辑地址为L1,逻辑地址L1所对应的物理地址为W1,其映射关系为逻辑地址L1映射物理地址W1。
服务器100将第一数据从源数据存储区域迁移至目标存储区域可以是指将第一数据的逻辑地址由源数据存储区域中的逻辑地址L1改为目标存储区域中的逻辑地址L2,并且将映射关系改为逻辑地址L2映射物理地址W1。
可选的,第一数据迁移前后在服务器100中所存储的两个物理地址可以相同的,也可以是不同的。在本申请实施例中,对此不作限制。
在一些实现方式中,服务器100在完成第一数据从源数据存储区域迁移至目标存储区域后,可以更新迁移元数据记录表。
例如,第一数据从源数据存储区域迁移至目标存储区域之后,在迁移元数据记录表的状态可以由“N”转换为“Y”。
在一种可能的实施方式中,若用户想要读取的第一数据的大小小于单个对象,服务器100需要对单个对象按照实际读取的数据大小进行切割处理,使得切割处理之后的部分数据恰好为第一数据。例如,用户想要读取的第一数据大小为0.5MB,而单个对象大小为1MB,此时,服务器100从源数据存储区域中读取出的单个对象大小为1MB,其中,1MB的单个对象包括有0.5MB的第一数据和0.5MB的其他数据,服务器100需要将1MB大小的单个对象划分开,从其中选择出0.5MB的第一数据,并将该0.5MB的第一数据返回给用户。
实施上述方法,可以实现在线迁移,并且可以确保当***接收到用户对第一数据的读请求时,只需要***在源数据存储区域中对第一数据进行一次读取即可以保证实现用户的读请求以及迁移任务。这样,可以提高迁移效率。
下面介绍本申请实施例中提供的另一种数据迁移的方法。该实施例以服务器100响应用户针对于待迁移的数据的写请求的情况为例介绍数据迁移的方法。
图5示出了本申请实施例中提供的一种响应写请求的数据迁移方法的流程示意图。在该实施例中以数据的存储方式为块存储,迁移单位为数据块为例。
S501、服务器100响应用户针对于第一数据的写请求。
在一些实施方式中,用户根据自身需求,可以向服务器100进行输入操作,服务器100可以响应针对第一数据进行写请求。
其中,第一数据的写请求可以包括但不限于:第一数据在源数据存储区域中的逻辑地址,索引、数据净荷长度以及修改内容等等。
在一些实现方式中,服务器100响应写请求存在前置条件:服务器100响应用户针对于第一数据的写请求需要满足写写互斥,即两个写请求针对的数据不可以有交集。
若出现两个写请求针对的数据有交集的情况,需要采取加锁互斥的方式,避免出现写写冲突的现象。
S502、判断第一数据是否需要进行迁移,若否,则写源数据存储区域中第一数据,并将写之后的第一数据存储至源数据存储区域。
在一些实施方式中,服务器100可以在响应写请求之前接收到***下发的针对于第一数据的迁移指令。
***可以是由于服务器100的剩余容纳空间,或者服务器100进行升级更新,或者是服务器100造到了损坏等原因下发的迁移指令,还可以是基于管理人员的输入操作而下发的迁移指令。在本申请实施例中,对此不作限定。
并且,若存在针对于第一数据的迁移指令,则迁移元数据记录表中第一数据的状态不会是“NA”,而是“Y”或者“N”。
当服务器100判断出第一数据不需要进行迁移时,即不存在有针对于第一数据的迁移指令,第一数据在迁移元数据记录表中的状态为“NA”,服务器100可以直接根据写请求,对第一数据进行处理得到写之后的第一数据,并将写之后的第一数据存储至源数据存储区域中,即第一数据与写之后的第一数据的逻辑地址为同一个。
可选的,服务器100可以将完成写请求的信息通知给用户。例如,用户删除文档M,服务器100可以通过显示提示信息(例如显示弹窗)如文本信息“已删除文档M”的方式来通知用户服务器100已完成用户针对文档M的写请求。在本申请实施例中,对服务器100通知用户已完成写请求的方式不做限定。
当服务器100判断出第一数据需要进行迁移时,即存在有针对于第一数据的迁移指令,第一数据在迁移元数据记录表中的状态为“Y”或者“N”,则执行S503。
在一些实现方式中,由于迁移元数据记录表中的记录单位是以数据块的大小为单位的,上述第一数据的状态可以是指:
若第一数据的大小大于或等于数据块,则第一数据的状态为第一数据所分割成对应多个数据块的状态。
若第一数据的大小小于数据块,则第一数据的状态为第一数据所对应数据块的状态。
S503、判断第一数据是否已经被迁移,若是,则双写源数据存储区域与目标数据存储区域中的第一数据。
在一些实现方式中,服务器100可以根据迁移元数据记录表判断出第一数据是否已经完成迁移。
例如,若在迁移元数据记录表中,针对于第一数据的写请求中携带的索引所对应的状态为“Y”,则可以判断出第一数据已经完成迁移;若在迁移元数据记录表中,针对于第一数据的写请求中携带的索引所对应的状态为“N”,则可以判断出第一数据未迁移或正在迁移中并且还未完成迁移。
当服务器100判断出第一数据已经完成迁移时,第一数据在迁移元数据记录表中的状态为“Y”,第一数据无需再次从源数据存储区域迁移至目标存储区域,服务器100可以根据写请求分别对源数据存储区域的第一数据以及目标存储区域的第一数据进行处理,并将写之后的源数据存储区域中的第一数据存储至源数据存储区域中,将写之后的目标存储区域中的第一数据存储至目标存储区域中。
这样,在第一数据已经完成迁移之后,而源数据存储区域中的第一数据还未被删除的情况下,双写源数据存储区域与目标存储区域中的第一数据可以保持第一数据的内容一致性。可选的,服务器100可以将完成写请求的信息通知给用户,在此不做赘述。
当服务器100判断出第一数据未进行迁移,但从S502中可知存在有针对于第一数据的迁移指令时,第一数据在迁移元数据记录表中的状态为“N”,则执行S504。
进一步的,在一种可能的实现方式中,若第一数据处于正在迁移但没有完全迁移完毕的情况下,迁移元数据记录表可以记录第一数据的状态可以为“N+”。
当服务器100判断出第一数据处于正在迁移但没有完全迁移完毕时,第一数据无需再次从源数据存储区域迁移至目标存储区域,服务器100可以根据写请求分别对源数据存储区域的第一数据以及目标存储区域的第一数据进行处理,并将写之后的源数据存储区域中的第一数据存储至源数据存储区域中,将写之后的目标存储区域中的第一数据存储至目标存储区域中。可选的,服务器100可以将完成写请求的信息通知给用户,在此不做赘述。
S504、判断进行迁移的数据块与第一数据是否对齐。
在一些实现方式中,当数据的存储方式为块存储时,迁移单位为数据块,服务器100可以判断数据块与第一数据对齐。
例如,若第一数据的大小为0.5MB,数据块的大小为1MB,则数据块与第一数据不对齐。也就是说,第一数据的大小小于数据块大小时,数据块与第一数据不对齐。
若第一数据的大小为1.5MB,数据块大小为1MB,则第一数据的迁移单位为1.5,数据块与第一数据不对齐。也就是说,第一数据的大小不为数据块整数倍时,数据块与第一数据不对齐。
又例如,若第一数据的大小为1MB,数据块的大小为1MB,则数据块与第一数据对齐。也就是说,第一数据的大小等于数据块大小时,数据块与第一数据对齐。
若第一数据的大小为2MB,数据块大小为1MB,则第一数据的迁移单位为2,数据块与第一数据对齐。也就是说,第一数据的大小为数据块整数倍时,数据块与第一数据对齐。
当服务器100判断出数据块与第一数据对齐时,数据块的大小与第一数据的大小一致或者第一数据的大小是数据块的大小的整数倍,执行S505。
当服务器100判断出数据块与第一数据不对齐时,可以分为两种情况:
第一种,第一数据的大小小于数据块大小,此时,执行S506;
第二种,第一数据的大小大于数据块大小且不是数据块大小的整数倍,此时,可以将第一数据分为两部分,第一部分可以是大小为数据块大小的最大整数倍的数据,第二部分可以是第一数据中去掉第一部分的数据。其中,第一部分的数据执行S505,第二部分的数据执行S506。
S505、将第一数据迁移至目标存储区域,双写源数据存储区域与目标数据存储区域中的第一数据,并更新迁移元数据记录表。
在一些实现方式中,服务器100可以将第一数据从源数据存储区域迁移至目标存储区域。
例如,当源数据存储区域与目标存储区域存储在同一个服务器100上时,第一数据的在源数据存储区域中的逻辑地址为L1,逻辑地址L1所对应的物理地址为W1,其映射关系为逻辑地址L1映射物理地址W1。
服务器100将第一数据从源数据存储区域迁移至目标存储区域可以是指将第一数据的逻辑地址由源数据存储区域中的逻辑地址L1改为目标存储区域中的逻辑地址L2,并且将映射关系改为逻辑地址L2映射物理地址W1。
又例如,当源数据存储区域存储的服务器与目标存储区域存储的服务器不为同一个服务器上时,即源数据存储区域所存储的服务器为服务器110,目标存储区域所存储的服务器为服务器120时,源数据存储区域所存储的服务器110将存储在逻辑地址L1和物理地址W1的第一数据发送给目标存储区域所存储的服务器120,服务器120将第一数据存储在目标存储区域中,第一数据在目标存储区域所存储的服务器120中的逻辑地址为L2,物理地址为W2。
可选的,第一数据迁移前后在服务器中所存储的两个物理地址可以相同的,也可以是不同的。即存储在源数据存储区域中第一数据所物理存储的存储介质与存储在目标数据存储区域中第一数据所物理存储的存储介质可以是同一个,也可以是不同的。在本申请实施例中,对此不作限制。
在一些实现方式中,服务器100可以双写源数据存储区域中的第一数据和目标存储区域中的第一数据。具体的,服务器100可以根据写请求分别对源数据存储区域的第一数据以及目标存储区域的第一数据进行处理,并将写之后的源数据存储区域中的第一数据存储至源数据存储区域中,将写之后的目标存储区域中的第一数据存储至目标存储区域中。
在一些实现方式中,服务器100在完成双写源数据存储区域中的第一数据和目标存储区域中的第一数据后,可以更新迁移元数据记录表。例如,第一数据在迁移元数据记录表中的状态可以由“N”转换为“Y”。
可选的,服务器100可以将完成写请求的信息通知给用户,可以参考上述内容的,在此不做赘述。
S506、对源数据存储区域中的第一数据进行写处理,然后将写之后的第一数据迁移至目标存储区域,并更新迁移元数据记录表。
在一些实现方式中,S506中的第一数据与数据块的大小不对齐,这样可以会出现其他写请求针对的数据于本次写请求针对的第一数据存在重叠区域,即可能会对同一区域进行写操作。因此,在写源数据存储区域中的第一数据之前需要获取数据块内的互斥锁。若获取互斥锁失败,则一直重复获取直至获取成功。
其中,获取互斥锁成功可以是指停止其他线程中对第一数据的写操作,仅执行S506中的写操作。这样,可以避免出现写写冲突的现象。
在一些实现方式中,服务器100可以对源数据存储区域中的第一数据进行写处理。具体的,服务器100可以根据写请求对存储在源数据存储区域的第一数据进行写处理,并将写之后的第一数据存储至源数据存储区域中。在一些实现方式中,写之后的第一数据可以被称为第二数据。
在一些实现方式中,服务器100可以将第一数据从源数据存储区域迁移至目标存储区域。例如,当源数据存储区域与目标存储区域存储在同一个服务器100上时,第一数据的在源数据存储区域中的逻辑地址为L1,逻辑地址L1所对应的物理地址为W1,其映射关系为逻辑地址L1映射物理地址W1。
服务器100将第一数据从源数据存储区域迁移至目标存储区域可以是指将第一数据的逻辑地址由源数据存储区域中的逻辑地址L1改为目标存储区域中的逻辑地址L2,并且将映射关系改为逻辑地址L2映射物理地址W1。
又例如,当源数据存储区域存储的服务器与目标存储区域存储的服务器不为同一个在不同的服务器100上时,即源数据存储区域所存储的服务器为服务器110,目标存储区域所存储的服务器为服务器120时,源数据存储区域所存储的服务器110将存储在逻辑地址L1的第一数据发送给目标存储区域所存储的服务器120,服务器120将第一数据存储在目标源目标存储区域中,第一数据在目标源目标存储区域所存储的服务器120中的逻辑地址为L2。
可选的,第一数据迁移前后在服务器100中所存储的两个物理地址可以相同的,也可以是不同的。即存储在源数据存储区域中第一数据所物理存储的存储介质与存储在目标数据存储区域中第一数据所物理存储的存储介质可以是同一个,也可以是不同的。在本申请实施例中,对此不作限制。
在一些实现方式中,服务器100在完成第一数据从源数据存储区域迁移至目标存储区域后,可以更新迁移元数据记录表。例如,第一数据在迁移元数据记录表中的状态可以由“N”转换为“Y”。
可选的,服务器100可以将完成写请求的信息通知给用户,在此不做赘述。
实施上述方法,可以实现在线迁移,并且由于通过写请求触发数据的迁移,可以确保当***接收到用户对第一数据的写请求时,只需要***在源数据存储区域中对第一数据进行一次读取即可以保证实现用户的写请求以及迁移任务。这样,可以提高迁移效率。
图6示出了本申请实施例中提供的另一种响应写请求的数据迁移方法的流程示意图。在该实施例中以数据的存储方式为对象存储,迁移单位为单个对象为例。
S601、服务器100响应用户针对于第一数据的写请求。
在一些实施方式中,用户根据自身需求,可以向服务器100进行输入操作,服务器100可以响应针对第一数据进行写请求。其中,第一数据的写请求可以包括但不限于:第一数据在源数据存储区域中的逻辑地址,索引、数据净荷长度以及修改内容等等。
在一些实现方式中,服务器100响应写请求存在前置条件:服务器100响应用户针对于第一数据的写请求需要满足写写互斥,即两个写请求针对的数据不可以有交集。
若出现两个写请求针对的数据有交集的情况,需要采取加锁互斥的方式,避免出现写写冲突的现象。
S602、判断第一数据是否需要进行迁移,若否,则对源数据存储区域中第一数据进行写处理,并将写之后的第一数据存储至源数据存储区域。
在一些实施方式中,服务器100可以在响应写请求之前接收到***下发的针对于第一数据的迁移指令。
***可以是由于服务器100的剩余容纳空间,或者服务器100进行升级更新,或者是服务器100造到了损坏等原因下发的迁移指令,还可以是基于管理人员的输入操作而下发的迁移指令。在本申请实施例中,对此不作限定。
并且,若存在针对于第一数据的迁移指令,则迁移元数据记录表中第一数据的状态不会是“NA”,而是“Y”或者“N”。
当服务器100判断出第一数据不需要进行迁移时,即不存在有针对于第一数据的迁移指令,第一数据在迁移元数据记录表中的状态为“NA”,服务器100可以直接根据写请求,对第一数据进行写处理得到写之后的第一数据,并将写之后的第一数据存储至源数据存储区域中,即写处理之前第一数据与写处理之后的第一数据的逻辑地址为同一个。
可选的,服务器100可以将完成写请求的信息通知给用户。例如,用户删除文档M,服务器100可以通过显示提示信息(例如显示弹窗)如文本信息“已删除文档M”的方式来通知用户服务器100已完成用户针对文档M的写请求。在本申请实施例中,对服务器100通知用户已完成写请求的方式不做限定。
当服务器100判断出第一数据需要进行迁移时,即存在有针对于第一数据的迁移指令,第一数据在迁移元数据记录表中的状态为“Y”或者“N”,则执行S603。
在一些实现方式中,由于迁移元数据记录表中的记录单位是以单个对象的大小为单位的,上述第一数据的状态可以是指:若第一数据的大小大于或等于单个对象,则第一数据的状态为第一数据所分割成对应多个单个对象的状态,若第一数据的大小小于单个对象,则第一数据的状态为第一数据所对应单个对象的状态。
S603、判断第一数据是否已经被迁移,若是,则双写源数据存储区域与目标数据存储区域中的第一数据。
在一些实现方式中,服务器100可以根据迁移元数据记录表判断出第一数据是否已经完成迁移。
例如,若在迁移元数据记录表中,针对于第一数据的写请求中携带的索引所对应的状态为“Y”,则可以判断出第一数据已经完成迁移;若在迁移元数据记录表中,针对于第一数据的写请求中携带的索引所对应的状态为“N”,则可以判断出第一数据未迁移或正在迁移中并且还未完成迁移。
当服务器100判断出第一数据已经完成迁移时,第一数据在迁移元数据记录表中的状态为“Y”,第一数据无需再次从源数据存储区域迁移至目标存储区域,服务器100可以根据写请求分别对源数据存储区域的第一数据以及目标存储区域的第一数据进行处理,并将写之后的源数据存储区域中的第一数据存储至源数据存储区域中,将写之后的目标存储区域中的第一数据存储至目标存储区域中。
这样,在第一数据已经完成迁移之后,而源数据存储区域中的第一数据还未被删除的情况下,双写源数据存储区域与目标存储区域中的第一数据可以保持第一数据的内容一致性。可选的,服务器100可以将完成写请求的信息通知给用户,在此不做赘述。
当服务器100判断出第一数据未进行迁移,但从S602中可知存在有针对于第一数据的迁移指令时,第一数据在迁移元数据记录表中的状态为“N”,则执行S604。
进一步的,在一种可能的实现方式中,若第一数据处于正在迁移但没有完全迁移完毕的情况下,迁移元数据记录表可以记录第一数据的状态可以为“N+”。
当服务器100判断出第一数据处于正在迁移但没有完全迁移完毕时,第一数据无需再次从源数据存储区域迁移至目标存储区域,服务器100可以根据写请求分别对源数据存储区域的第一数据以及目标存储区域的第一数据进行写处理,并将写之后的源数据存储区域中的第一数据存储至源数据存储区域中,将写之后的目标存储区域中的第一数据存储至目标存储区域中。可选的,服务器100可以将完成写请求的信息通知给用户,在此不做赘述。
S604、将第一数据迁移至目标存储区域,双写源数据存储区域与目标数据存储区域中的第一数据,并更新迁移元数据记录表。
在一些实现方式中,由于第一数据的存储方式为对象存储,而对对象进行写处理一般都是对整个对象进行写处理,因此,不存在需要类似S504来对第一数据与单个对象是否对齐进行判断。而是直接在第一数据需要进行迁移并且还未被迁移的情况下,响应写操作并完成第一数据的迁移任务。
在一些实现方式中,服务器100可以将第一数据从源数据存储区域迁移至目标存储区域。例如,当源数据存储区域与目标存储区域存储在同一个服务器100上时,第一数据的在源数据存储区域中的逻辑地址为L1,逻辑地址L1所对应的物理地址为W1,其映射关系为逻辑地址L1映射物理地址W1。
服务器100将第一数据从源数据存储区域迁移至目标存储区域可以是指将第一数据的逻辑地址由源数据存储区域中的逻辑地址L1改为目标存储区域中的逻辑地址L2,并且将映射关系改为逻辑地址L2映射物理地址W1。
又例如,当源数据存储区域存储的服务器与目标存储区域存储的服务器不为同一个服务器上时,即源数据存储区域所存储的服务器为服务器110,目标存储区域所存储的服务器为服务器120时,源数据存储区域所存储的服务器110将存储在逻辑地址L1和物理地址W1的第一数据发送给目标存储区域所存储的服务器120,服务器120将第一数据存储在目标存储区域中,第一数据在目标存储区域所存储的服务器120中的逻辑地址为L2,物理地址为W2。
可选的,第一数据迁移前后在服务器中所存储的两个物理地址可以相同的,也可以是不同的。即存储在源数据存储区域中第一数据所物理存储的存储介质与存储在目标数据存储区域中第一数据所物理存储的存储介质可以是同一个,也可以是不同的。在本申请实施例中,对此不作限制。
在一些实现方式中,服务器100可以双写源数据存储区域中的第一数据和目标存储区域中的第一数据。
具体的,服务器100可以根据写请求分别对源数据存储区域的第一数据以及目标存储区域的第一数据进行处理,并将写之后的源数据存储区域中的第一数据存储至源数据存储区域中,将写之后的目标存储区域中的第一数据存储至目标存储区域中。
在一些实现方式中,服务器100在完成双写源数据存储区域中的第一数据和目标存储区域中的第一数据后,可以更新迁移元数据记录表。例如,第一数据在迁移元数据记录表中的状态可以由“N”转换为“Y”。
可选的,服务器100可以将完成写请求的信息通知给用户,在此不做赘述。
下面介绍本申请实施例中提供的另一种数据迁移的方法。该实施例以不存在用户针对于待迁移的数据的读请求以及写请求的情况为例介绍数据迁移的方法。
图7示出了本申请实施例中提供的一种后台数据迁移方法的流程示意图。该流程示意图以块存储为例。值得说明的是,后台数据迁移方法所针对的源数据存储区域具有迁移指令,下述具体步骤中不再判断是否具有迁移指令。
S701、按顺序遍历待迁移的源数据存储区域,判断当前扫描的数据块是否已经完成迁移。
在一些实现方式中,服务器100可以按顺序遍历待迁移的源数据存储区域。例如,待迁移的源数据存储区域为数据1-数据100共100个数据块,则服务器100从数据1开始扫描直到数据100,并判断每一个数据块是否已经完成迁移。
在一些实现方式中,服务器100可以判断当前扫描的数据块是否已经完成迁移。
例如,若在迁移元数据记录表中,当前扫描的数据块对应的状态为“Y”,则可以判断出当前扫描的数据块已经完成迁移;
若在迁移元数据记录表中,当前扫描的数据块对应的状态为“N”,则可以判断出当前扫描的数据块未迁移或正在迁移中并且还未完成迁移。
当服务器100判断出当前扫描的数据块已经完成迁移时,当前扫描的数据块在迁移元数据记录表中的状态为“Y”,当前扫描的数据块无需再次从源数据存储区域迁移至目标存储区域,则扫描源数据存储区域中当前数据块的下一个数据块。
例如,待迁移的源数据存储区域为数据1-数据100共100个数据块,服务器100判断数据1已经完成迁移,则服务器100扫描数据2,判断数据2是否已完成迁移。
当服务器100判断出当前扫描的数据块未进行迁移时,当前扫描的数据块在迁移元数据记录表中的状态为“N”,则执行S702。
S702、判断当前扫描的数据块是否正在处理中。
在一些实现方式中,服务器100可以判断当前扫描的数据块是否正在处理中,即判断当前扫描的数据块是否正在进行迁移。
在一种可能的实现方式中,若当前扫描的数据块处于正在迁移但没有完全迁移完毕的情况下,迁移元数据记录表可以记录当前扫描的数据块的状态可以为“N+”。
在本申请实施例中,除了上述方法还存在其他可以判断数据块是否正在进行迁移,对此不作限定。
当服务器100判断当前扫描的数据块正在进行迁移,当前扫描的数据块无需再次从源数据存储区域迁移至目标存储区域,则执行S701,扫描源数据存储区域中当前数据块的下一个数据块。
例如,待迁移的源数据存储区域为数据1-数据100共100个数据块,服务器100判断数据1正在进行迁移,则服务器100扫描数据2,判断数据2是否已完成迁移。
当服务器100判断当前扫描的数据块没有正在进行迁移,则执行S703。
S703、从源数据存储区域中读取出当前扫描的数据块,将该数据块迁移至目标存储区域,并更新迁移元数据记录表。
在一些实现方式中,服务器100可以将当前扫描的数据块从源数据存储区域迁移至目标存储区域。
例如,当源数据存储区域与目标存储区域存储在同一个服务器100上时,当前扫描的数据块的在源数据存储区域中的逻辑地址为L1,逻辑地址L1所对应的物理地址为W1,其映射关系为逻辑地址L1映射物理地址W1。
服务器100将当前扫描的数据块从源数据存储区域迁移至目标存储区域可以是指将当前扫描的数据块的逻辑地址由源数据存储区域中的逻辑地址L1改为目标存储区域中的逻辑地址L2,并且将映射关系改为逻辑地址L2映射物理地址W1。
可选的,当前扫描的数据块迁移前后在服务器100中所存储的两个物理地址可以相同的,也可以是不同的。在本申请实施例中,对此不作限制。
在一些实现方式中,服务器100在完成当前扫描的数据块从源数据存储区域迁移至目标存储区域后,可以更新迁移元数据记录表。
例如,当前扫描的数据块从源数据存储区域迁移至目标存储区域之后,在迁移元数据记录表的状态可以由“N”转换为“Y”。
图8示出了本申请实施例中提供的一种后台数据迁移方法的流程示意图。该流程示意图以对象存储为例。值得说明的是,后台数据迁移方法所针对的源数据存储区域具有迁移指令,下述具体步骤中不再判断是否具有迁移指令。
S801、按顺序遍历待迁移的源数据存储区域,判断当前扫描的单个对象是否已经完成迁移。
在一些实现方式中,服务器100可以按顺序遍历待迁移的源数据存储区域。
例如,待迁移的源数据存储区域为数据1-数据100共100个对象,则服务器100从数据1开始扫描直到数据100,并判断每一个对象是否已经完成迁移。
在一些实现方式中,服务器100可以判断当前扫描的单个对象是否已经完成迁移。
例如,若在迁移元数据记录表中,当前扫描的单个对象对应的状态为“Y”,则可以判断出当前扫描的单个对象已经完成迁移;
若在迁移元数据记录表中,当前扫描的单个对象对应的状态为“N”,则可以判断出当前扫描的单个对象未迁移或正在迁移中并且还未完成迁移。
当服务器100判断出当前扫描的单个对象已经完成迁移时,当前扫描的单个对象在迁移元数据记录表中的状态为“Y”,当前扫描的单个对象无需再次从源数据存储区域迁移至目标存储区域,则扫描源数据存储区域中当前单个对象的下一个数据块。
例如,待迁移的源数据存储区域为数据1-数据100共100个对象,服务器100判断数据1已经完成迁移,则服务器100扫描数据2,判断数据2是否已完成迁移。
当服务器100判断出当前扫描的单个对象未进行迁移时,当前扫描的单个对象在迁移元数据记录表中的状态为“N”,则执行S802。
S802、判断当前扫描的单个对象是否正在处理中。
在一些实现方式中,服务器100可以判断当前扫描的单个对象是否正在处理中,即判断当前扫描的单个对象是否正在进行迁移。
在一种可能的实现方式中,若当前扫描的单个对象处于正在迁移但没有完全迁移完毕的情况下,迁移元数据记录表可以记录当前扫描的单个对象的状态可以为“N+”。
在本申请实施例中,除了上述方法还存在其他可以判断单个对象是否正在进行迁移,对此不作限定。
当服务器100判断当前扫描的单个对象正在进行迁移,当前扫描的单个对象无需再次从源数据存储区域迁移至目标存储区域,则执行S801,扫描源数据存储区域中当前单个对象的下一个对象。
例如,待迁移的源数据存储区域为数据1-数据100共100个对象,服务器100判断数据1正在进行迁移,则服务器100扫描数据2,判断数据2是否已完成迁移。
当服务器100判断当前扫描的单个对象没有正在进行迁移,则执行S803。
S803、从源数据存储区域中读取出当前扫描的单个对象,将该单个对象迁移至目标存储区域,并更新迁移元数据记录表。
在一些实现方式中,服务器100可以将当前扫描的单个对象从源数据存储区域迁移至目标存储区域。
例如,当源数据存储区域与目标存储区域存储在同一个服务器100上时,当前扫描的单个对象的在源数据存储区域中的逻辑地址为L1,逻辑地址L1所对应的物理地址为W1,其映射关系为逻辑地址L1映射物理地址W1。服务器100将当前扫描的单个对象从源数据存储区域迁移至目标存储区域可以是指将当前扫描的单个对象的逻辑地址由源数据存储区域中的逻辑地址L1改为目标存储区域中的逻辑地址L2,并且将映射关系改为逻辑地址L2映射物理地址W1。
可选的,当前扫描的单个对象迁移前后在服务器100中所存储的两个物理地址可以相同的,也可以是不同的。在本申请实施例中,对此不作限制。
在一些实现方式中,服务器100在完成当前扫描的单个对象从源数据存储区域迁移至目标存储区域后,可以更新迁移元数据记录表。
例如,当前扫描的单个对象从源数据存储区域迁移至目标存储区域之后,在迁移元数据记录表的状态可以由“N”转换为“Y”。
实施上述方法,在数据读写的过程中完成了对应的数据的迁移,剩余的数据通过后台的迁移任务来迁移。
这样可以在保证数据迁移正确且完整的情况下,提高了在线迁移的效率。且减少了数据源的读请求,提高了存储介质的寿命。
本申请的各实施方式可以任意进行组合,以实现不同的技术效果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solidstate disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
总之,以上所述仅为本发明技术方案的实施例而已,并非用于限定本发明的保护范围。凡根据本发明的揭露,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据迁移方法,所述方法应用于计算设备,其特征在于,包括:
接收到针对于第一数据的读请求或者写请求;
根据所述读请求对所述第一数据进行处理,并将所述第一数据从源数据存储区域中迁移至目标存储区域中存储;
或者,根据所述写请求对所述第一数据进行处理,并将所述第一数据从源数据存储区域中迁移至目标存储区域中存储;
其中,所述第一数据存储在源数据存储区域中,所述源数据存储区域与目标存储区域位于同一台计算设备中或者不同的计算设备中。
2.根据权利要求1所述的方法,其特征在于:在所述接收到针对于第一数据的读请求或者写请求之后,所述方法还包括:
在确定所述第一数据需要迁移且所述第一数据还未进行迁移的情况下,根据所述读请求或者写请求对所述第一数据进行处理。
3.根据权利要求1-2中任意一项所述的方法,其特征在于,所述第一数据在所述源数据存储区域中的存储地址为第一地址,
所述根据所述读请求对所述第一数据进行处理,并将所述第一数据从源数据存储区域中迁移至目标存储区域中存储,具体包括:
根据所述读请求从所述第一地址中读取所述第一数据并存储在所述目标存储区域中的第二地址中。
4.根据权利要求1-2中任意一项所述的方法,其特征在于,所述第一数据在所述源数据存储区域中的存储地址为第一地址,所述第一数据的存储方式为块存储,
所述根据所述写请求对所述第一数据进行处理,并将所述第一数据从源数据存储区域中迁移至目标存储区域中,具体包括:
判断所述第一数据与数据块的大小是否对齐;
在所述确定所述第一数据与数据块的大小对齐的情况下,根据所述写请求从所述第一地址读取所述第一数据并存储在所述目标存储区域中的第二地址中;对存储在所述第一地址和所述第二地址中的所述第一数据进行写处理;
其中,所述数据块为块存储中单次进行迁移的数据;所述对齐是指所述第一数据的大小是数据块的大小的整数倍。
5.根据权利要求4所述的方法,其特征在于:在所述计算设备确定所述第一数据所述数据块的大小没有对齐的情况下,所述计算设备持续获取所述数据块的互斥锁;
根据所述写请求对存储在所述第一地址的所述第一数据进行写处理,得到第二数据,并将所述第二数据存储至所述第一地址;
从所述第一地址读取所述第二数据并存储在所述目标存储区域中的第二地址中。
6.根据权利要求1或2所述的方法,其特征在于,所述第一数据的存储方式为对象存储,所述第一数据在所述源数据存储区域中的存储地址为第一地址,
所述根据所述写请求对所述第一数据进行处理,并将所述第一数据从源数据存储区域中迁移至目标存储区域中,具体包括:
根据所述写请求,从所述第一地址中读取所述第一数据并存储在所述目标存储区域中的第二地址中,对存储在所述第一地址和所述第二地址中的所述第一数据进行写处理。
7.根据权利要求1所述的方法,其特征在于:在所述第一数据完成迁移之后,更新迁移元数据记录表,所述迁移元数据记录表记录所述第一数据的迁移状态,所述迁移状态包括所述第一数据需要迁移但未被迁移、已经迁移、不需要迁移中的任意一种。
8.一种电子设备,其特征在于,包括存储器和一个或多个处理器;所述存储器与所述一个或多个处理器耦合,用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述电子设备执行如权利要求1-7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211292048.5A CN115729463A (zh) | 2022-10-20 | 2022-10-20 | 数据迁移的方法、***及相关装置 |
PCT/CN2023/117343 WO2024082857A1 (zh) | 2022-10-20 | 2023-09-06 | 数据迁移的方法、***及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211292048.5A CN115729463A (zh) | 2022-10-20 | 2022-10-20 | 数据迁移的方法、***及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729463A true CN115729463A (zh) | 2023-03-03 |
Family
ID=85293958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211292048.5A Pending CN115729463A (zh) | 2022-10-20 | 2022-10-20 | 数据迁移的方法、***及相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115729463A (zh) |
WO (1) | WO2024082857A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024082857A1 (zh) * | 2022-10-20 | 2024-04-25 | 超聚变数字技术有限公司 | 数据迁移的方法、***及相关装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073462B (zh) * | 2010-11-29 | 2013-04-17 | 华为技术有限公司 | 虚拟存储迁移方法、***和虚拟机监控器 |
JP5720483B2 (ja) * | 2011-08-11 | 2015-05-20 | 富士通株式会社 | 移行プログラム、移行装置、および移行方法 |
CN104899218B (zh) * | 2014-03-06 | 2018-12-28 | 腾讯科技(深圳)有限公司 | 数据读写方法及数据读写装置 |
CN107402722B (zh) * | 2017-07-04 | 2020-09-01 | 杭州宏杉科技股份有限公司 | 一种数据迁移方法及存储设备 |
CN112578997B (zh) * | 2019-09-30 | 2022-07-22 | 华为云计算技术有限公司 | 一种数据迁移方法、***及相关设备 |
US11281390B2 (en) * | 2020-03-13 | 2022-03-22 | EMC IP Holding Company LLC | Techniques for data migration |
CN111427514B (zh) * | 2020-03-27 | 2022-04-22 | 杭州宏杉科技股份有限公司 | 视图迁移方法和装置 |
CN113867645B (zh) * | 2021-09-30 | 2023-08-18 | 苏州浪潮智能科技有限公司 | 数据迁移和数据读写方法、装置、计算机设备及存储介质 |
CN115729463A (zh) * | 2022-10-20 | 2023-03-03 | 超聚变数字技术有限公司 | 数据迁移的方法、***及相关装置 |
-
2022
- 2022-10-20 CN CN202211292048.5A patent/CN115729463A/zh active Pending
-
2023
- 2023-09-06 WO PCT/CN2023/117343 patent/WO2024082857A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024082857A1 (zh) * | 2022-10-20 | 2024-04-25 | 超聚变数字技术有限公司 | 数据迁移的方法、***及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2024082857A1 (zh) | 2024-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102240557B1 (ko) | 데이터 저장 방법, 장치 및 시스템 | |
US9507800B2 (en) | Data management in distributed file systems | |
US9575974B2 (en) | Distributed file system gateway | |
US8515911B1 (en) | Methods and apparatus for managing multiple point in time copies in a file system | |
US8230191B2 (en) | Recording medium storing allocation control program, allocation control apparatus, and allocation control method | |
US8386707B2 (en) | Virtual disk management program, storage device management program, multinode storage system, and virtual disk managing method | |
US20150254320A1 (en) | Using colocation hints to facilitate accessing a distributed data storage system | |
CN108415986B (zh) | 一种数据处理方法、装置、***、介质和计算设备 | |
CN106682139B (zh) | 一种基于Solr实现HBase多条件查询的方法及*** | |
CN106528338B (zh) | 一种远程数据复制方法、存储设备及存储*** | |
US10430292B2 (en) | Snapshot deletion in a distributed storage system | |
US20090024768A1 (en) | Connection management program, connection management method and information processing apparatus | |
WO2024082857A1 (zh) | 数据迁移的方法、***及相关装置 | |
CN113568582A (zh) | 数据管理方法、装置和存储设备 | |
CN114422537B (zh) | 多云存储***、多云数据读写方法及电子设备 | |
CN107169126B (zh) | 一种日志处理方法及相关设备 | |
CN113467719B (zh) | 数据写入方法及装置 | |
CN114490540B (zh) | 数据存储方法、介质、装置和计算设备 | |
CN112262378A (zh) | 脱水文件的层级的水合 | |
CN114328007B (zh) | 一种容器备份还原方法、装置及其介质 | |
CN115390754A (zh) | 一种硬盘管理方法及装置 | |
US10452308B2 (en) | Encoding tags for metadata entries in a storage system | |
CN114722261A (zh) | 一种资源的处理方法、装置、电子设备及存储介质 | |
US10685046B2 (en) | Data processing system and data processing method | |
CN111399753A (zh) | 写入图片的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |