CN111427519B - 一种分布式存储数据迁移方法及装置 - Google Patents
一种分布式存储数据迁移方法及装置 Download PDFInfo
- Publication number
- CN111427519B CN111427519B CN202010521440.7A CN202010521440A CN111427519B CN 111427519 B CN111427519 B CN 111427519B CN 202010521440 A CN202010521440 A CN 202010521440A CN 111427519 B CN111427519 B CN 111427519B
- Authority
- CN
- China
- Prior art keywords
- data block
- storage device
- old
- new data
- new
- 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.)
- Active
Links
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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
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
技术领域
本发明涉及分布式数据存储技术领域,特别涉及一种分布式存储数据迁移方法及装置。
背景技术
目前分布式存储都是把一块数据按照固定的大小分成若干份,然后把这些小数据块分散地保存到整个集群设备之上。通常为了降低设备故障所带来的影响,这些小数据块都采取了尽量分散分布的原则。
当有设备进行增加或者删除时,原有的数据需要进行迁移,目前数据迁移的方式都比较简单,从一个设备远程迁移(复制)到另外一个设备。当有一块数据要被迁移的时候正好被写入内容,则这块数据的写入操作将会被挂起一直等到迁移完成后才能写入,以防止数据不一致性。
发明内容
本发明要解决的技术问题在于,提供一种分布式存储数据迁移方法及装置,通过检测判断将要迁移的旧数据块大小是否刚好等于这块新数据块的大小,如果大小一致那么直接取消旧数据块的迁移,把新数据块直接在目标存储设备上写入,既实现了数据块的快速迁移效果,又减少了锁定挂起写操作。
为解决上述技术问题,本发明提供如下技术方案:一种分布式存储数据迁移方法,包括以下步骤:
S1、分布式存储系统对第一存储设备的数据块进行锁定挂起写操作,并对第一存储设备的数据块迁移至第二存储设备,对需要迁移的数据块称为旧数据块;
S2、数据块迁移过程中,写重定向模块检测数据写入客户端是否写入新数据;若数据写入客户端写入新数据,经分布式存储系统对新数据分块后得到的新数据块,则写重定向模块检测新数据块是否需要写入旧数据块中以及检测新数据块的内容大小是否刚好等于旧数据块的内容大小;若新数据块需要写入旧数据块中并且新数据块的内容大小刚好等于旧数据块的内容大小,则写重定向模块对第一存储设备的旧数据块停止向第二存储设备迁移且在第一存储设备上对旧数据块进行删除,并将新数据块直接存储于第二存储设备中;若新数据块不需要写入旧数据块中时,或者是新数据块需要写入旧数据块中但新数据块的内容大小没有刚好等于旧数据块的内容大小时,则待第一存储设备的旧数据块迁移至第二存储设备后,写重定向模块再将新数据块写入旧数据块中并进行合并。
进一步地,所述步骤S1前还包括步骤S0、数据写入客户端写入数据至分布式存储系统,分布式存储系统对数据分块得到若干个数据块,将数据块随机存储于各个存储设备中。
本发明另一目的是提供一种分布式存储数据迁移装置,包括分布式存储系统和数据写入客户端,所述分布式存储系统包括若干存储设备和写重定向模块,所述存储设备包括第一存储设备和第二存储设备;
所述数据写入客户端用于写入数据至所述分布式存储系统;
所述分布式存储系统用于存储数据并对数据分块得到若干个数据块,再将数据块随机存储于各个存储设备中;
所述分布式存储系统还用于对实施第一存储设备的数据块进行锁定挂起写操作,并对所述第一存储设备的数据块迁移至所述第二存储设备,对需要迁移的数据块称为旧数据块;
所述写重定向模块用于:在所述第一存储设备的数据块迁移至所述第二存储设备过程中,写重定向模块检测数据写入客户端是否写入新数据;若数据写入客户端写入新数据,经所述分布式存储系统对新数据分块后得到的新数据块,则写重定向模块检测新数据块是否需要写入旧数据块中以及检测新数据块的内容大小是否刚好等于旧数据块的内容大小,若新数据块需要写入旧数据块中并且新数据块的内容大小刚好等于旧数据块的内容大小,则写重定向模块对第一存储设备的旧数据块停止向第二存储设备迁移且在第一存储设备上对旧数据块进行删除,并将新数据块直接存储于所述第二存储设备中;若新数据块不需要写入旧数据块中时,或者是新数据块需要写入旧数据块中但新数据块的内容大小没有刚好等于旧数据块的内容大小时,则待第一存储设备的旧数据块迁移至所述第二存储设备后,写重定向模块再将新数据块写入旧数据块中并进行合并。
采用上述技术方案后,本发明至少具有如下有益效果:本发明通过设置一个写重定向模块,用于检测数据块在迁移时,如果有被写入内容,而且写入内容大小刚好等于这块数据块的大小,那么直接取消数据块的迁移,把写入新的内容在迁移目标存储设备上写入新内容生成新的数据块即可,方便快捷,减少锁定挂起写操作。
附图说明
图1为本发明一种分布式存储数据迁移方法步骤流程图;
图2为本发明一种分布式存储数据迁移装置框架图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本申请作进一步详细说明。
实施例1
如图1所示,本发明公开了一种分布式存储数据迁移方法,步骤包括:
S11、数据写入客户端写入数据至分布式存储系统,分布式存储系统对数据分块得到若干个数据块,将数据块随机存储于各个存储设备中;
S12、分布式存储系统对第一存储设备的数据块进行锁定挂起写操作,并对第一存储设备的数据块迁移至第二存储设备,对需要迁移的数据块称为旧数据块;
S13、数据块迁移过程中,写重定向模块检测数据写入客户端是否写入新数据;若数据写入客户端写入新数据,经分布式存储系统对新数据分块后得到的新数据块,则写重定向模块检测新数据块是否需要写入旧数据块中以及检测新数据块的内容大小是否刚好等于旧数据块的内容大小;若新数据块需要写入旧数据块中并且新数据块的内容大小刚好等于旧数据块的内容大小,则写重定向模块对第一存储设备的旧数据块停止向第二存储设备迁移且在第一存储设备上对旧数据块进行删除,并将新数据块直接存储于第二存储设备中;若新数据块不需要写入旧数据块中时,或者是新数据块需要写入旧数据块中但新数据块的内容大小没有刚好等于旧数据块的内容大小时,则待第一存储设备的旧数据块迁移至第二存储设备后,写重定向模块再将新数据块写入旧数据块中并进行合并。
步骤S13中,写重定向模块如果检测到需要被写入的旧数据块在迁移,而且写入新的内容大小刚好等于这块旧数据块的大小,证明这块内容要被全部更新,那么原有旧数据其实不用做迁移,直接把需要写入的新数据块内容在迁移目标的第二存储设备上写入一块新的数据块即可。
实施例2
本实施例是在实施例1的方法基础上提供的一种分布式存储数据迁移装置,包括分布式存储系统和数据写入客户端,所述分布式存储系统包括若干存储设备和写重定向模块,所述存储设备包括第一存储设备和第二存储设备;其中,所示存储设备是一样的,下面为了清楚描述数据从一个存储设备迁移到另一个存储设备,就对数据迁出的存储设备称为第一存储设备,数据迁入的存储设备称为第二存储设备,实际上,任何一个存储设备都有机会随机地向另一个存储设备进行数据的迁移;
所述数据写入客户端用于写入数据至所述分布式存储系统;
所述分布式存储系统用于存储数据并对数据分块得到若干个数据块,再将数据块随机存储于各个存储设备中;
所述分布式存储系统还用于对实施第一存储设备的数据块进行锁定挂起写操作,并对所述第一存储设备的数据块迁移至所述第二存储设备,对需要迁移的数据块称为旧数据块;
所述写重定向模块用于:在所述第一存储设备的数据块迁移至所述第二存储设备过程中,写重定向模块检测数据写入客户端是否写入新数据;若数据写入客户端写入新数据,经所述分布式存储系统对新数据分块后得到的新数据块,则写重定向模块检测新数据块是否需要写入旧数据块中以及检测新数据块的内容大小是否刚好等于旧数据块的内容大小,若新数据块需要写入旧数据块中并且新数据块的内容大小刚好等于旧数据块的内容大小,则写重定向模块对第一存储设备的旧数据块停止向第二存储设备迁移且在第一存储设备上对旧数据块进行删除,并将新数据块直接存储于所述第二存储设备中;若新数据块不需要写入旧数据块中时,或者是新数据块需要写入旧数据块中但新数据块的内容大小没有刚好等于旧数据块的内容大小时,则待第一存储设备的旧数据块迁移至所述第二存储设备后,写重定向模块再将新数据块写入旧数据块中并进行合并。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解的是,在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种等效的变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。
Claims (3)
1.一种分布式存储数据迁移方法,其特征在于,包括以下步骤:
S1、分布式存储系统对第一存储设备的数据块进行锁定挂起写操作,并对第一存储设备的数据块迁移至第二存储设备,对需要迁移的数据块称为旧数据块;
S2、数据块迁移过程中,写重定向模块检测数据写入客户端是否写入新数据;若数据写入客户端写入新数据,经分布式存储系统对新数据分块后得到的新数据块,则写重定向模块检测新数据块是否需要写入旧数据块中以及检测新数据块的内容大小是否刚好等于旧数据块的内容大小;若新数据块需要写入旧数据块中并且新数据块的内容大小刚好等于旧数据块的内容大小,则写重定向模块对第一存储设备的旧数据块停止向第二存储设备迁移且在第一存储设备上对旧数据块进行删除,并将新数据块直接存储于第二存储设备中;若新数据块不需要写入旧数据块中时,或者是新数据块需要写入旧数据块中但新数据块的内容大小没有刚好等于旧数据块的内容大小时,则待第一存储设备的旧数据块迁移至第二存储设备后,写重定向模块再将新数据块写入旧数据块中并进行合并。
2.根据权利要求1所述的一种分布式存储数据迁移方法,其特征在于,所述步骤S1前还包括步骤S0、数据写入客户端写入数据至分布式存储系统,分布式存储系统对数据分块得到若干个数据块,将数据块随机存储于各个存储设备中。
3.一种分布式存储数据迁移装置,其特征在于,包括分布式存储系统和数据写入客户端,所述分布式存储系统包括若干存储设备和写重定向模块,所述存储设备包括第一存储设备和第二存储设备;
所述数据写入客户端用于写入数据至所述分布式存储系统;
所述分布式存储系统用于存储数据并对数据分块得到若干个数据块,再将数据块随机存储于各个存储设备中;
所述分布式存储系统还用于对实施第一存储设备的数据块进行锁定挂起写操作,并对所述第一存储设备的数据块迁移至所述第二存储设备,对需要迁移的数据块称为旧数据块;
所述写重定向模块用于:在所述第一存储设备的数据块迁移至所述第二存储设备过程中,写重定向模块检测数据写入客户端是否写入新数据;若数据写入客户端写入新数据,经所述分布式存储系统对新数据分块后得到的新数据块,则写重定向模块检测新数据块是否需要写入旧数据块中以及检测新数据块的内容大小是否刚好等于旧数据块的内容大小,若新数据块需要写入旧数据块中并且新数据块的内容大小刚好等于旧数据块的内容大小,则写重定向模块对第一存储设备的旧数据块停止向第二存储设备迁移且在第一存储设备上对旧数据块进行删除,并将新数据块直接存储于所述第二存储设备中;若新数据块不需要写入旧数据块中时,或者是新数据块需要写入旧数据块中但新数据块的内容大小没有刚好等于旧数据块时的内容大小,则待第一存储设备的旧数据块迁移至所述第二存储设备后,写重定向模块再将新数据块写入旧数据块中并进行合并。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010521440.7A CN111427519B (zh) | 2020-06-10 | 2020-06-10 | 一种分布式存储数据迁移方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010521440.7A CN111427519B (zh) | 2020-06-10 | 2020-06-10 | 一种分布式存储数据迁移方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111427519A CN111427519A (zh) | 2020-07-17 |
CN111427519B true CN111427519B (zh) | 2020-10-16 |
Family
ID=71551330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010521440.7A Active CN111427519B (zh) | 2020-06-10 | 2020-06-10 | 一种分布式存储数据迁移方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427519B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581331A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN104536919A (zh) * | 2014-12-11 | 2015-04-22 | 浪潮(北京)电子信息产业有限公司 | 一种克隆系统中避免io冲突的方法和装置 |
CN106406759A (zh) * | 2016-09-13 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种数据存储方法及装置 |
CN106648468A (zh) * | 2016-12-29 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种数据迁移过程中对io请求的控制方法及系统 |
CN109460188A (zh) * | 2018-11-13 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种数据迁移方法、系统、设备及计算机可读存储介质 |
CN111158602A (zh) * | 2019-12-30 | 2020-05-15 | 北京天融信网络安全技术有限公司 | 数据分层存储方法、读取方法、存储主机及存储系统 |
-
2020
- 2020-06-10 CN CN202010521440.7A patent/CN111427519B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581331A (zh) * | 2013-11-13 | 2014-02-12 | 中国科学院计算技术研究所 | 虚拟机在线迁移方法与系统 |
CN104536919A (zh) * | 2014-12-11 | 2015-04-22 | 浪潮(北京)电子信息产业有限公司 | 一种克隆系统中避免io冲突的方法和装置 |
CN106406759A (zh) * | 2016-09-13 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种数据存储方法及装置 |
CN106648468A (zh) * | 2016-12-29 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种数据迁移过程中对io请求的控制方法及系统 |
CN109460188A (zh) * | 2018-11-13 | 2019-03-12 | 郑州云海信息技术有限公司 | 一种数据迁移方法、系统、设备及计算机可读存储介质 |
CN111158602A (zh) * | 2019-12-30 | 2020-05-15 | 北京天融信网络安全技术有限公司 | 数据分层存储方法、读取方法、存储主机及存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111427519A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9710186B2 (en) | Performing online data migration with concurrent active user access to the data | |
CN108664496B (zh) | 数据迁移方法及装置 | |
CN104156361B (zh) | 一种实现数据同步的方法及系统 | |
US10387258B2 (en) | Method and apparatus for processing redo data in database | |
CN107451172B (zh) | 用于版本管理系统的数据同步方法及设备 | |
CN106357703B (zh) | 集群切换方法与设备 | |
US10795579B2 (en) | Methods, apparatuses, system and computer program products for reclaiming storage units | |
US10620871B1 (en) | Storage scheme for a distributed storage system | |
CN105635311A (zh) | 一种云管理平台中资源池信息同步的方法 | |
US10732904B2 (en) | Method, system and computer program product for managing storage system | |
CN106897345B (zh) | 一种数据存储的方法及装置 | |
CN110609807A (zh) | 用于删除快照数据的方法、设备和计算机可读存储介质 | |
CN106682021A (zh) | 数据库迁移方法及装置 | |
CN106873902B (zh) | 一种文件存储系统、数据调度方法及数据节点 | |
CN106708911A (zh) | 一种云环境下数据文件同步的方法和装置 | |
CN111427519B (zh) | 一种分布式存储数据迁移方法及装置 | |
CN105808451B (zh) | 一种数据缓存方法以及相关装置 | |
CN113297316A (zh) | 一种实现数据同步的方法及装置和系统 | |
WO2024113543A1 (zh) | 数据处理方法、系统、装置、非易失性可读存储介质及电子设备 | |
CN111581285A (zh) | 数据信息的同步方法、装置、电子设备和介质 | |
CN110119389B (zh) | 虚拟机块设备的写操作方法、快照创建方法及装置 | |
CN109254960B (zh) | 一种数据库海量数据的迁移方法及装置 | |
US10678453B2 (en) | Method and device for checking false sharing in data block deletion using a mapping pointer and weight bits | |
CN115455121A (zh) | 一种实时可靠的数据同步传输方法、设备及介质 | |
CN115587141A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |