CN111427519A - 一种分布式存储数据迁移方法及装置 - Google Patents

一种分布式存储数据迁移方法及装置 Download PDF

Info

Publication number
CN111427519A
CN111427519A CN202010521440.7A CN202010521440A CN111427519A CN 111427519 A CN111427519 A CN 111427519A CN 202010521440 A CN202010521440 A CN 202010521440A CN 111427519 A CN111427519 A CN 111427519A
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.)
Granted
Application number
CN202010521440.7A
Other languages
English (en)
Other versions
CN111427519B (zh
Inventor
麦剑
史伟
闵宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Eflycloud Computing Co Ltd
Original Assignee
Guangdong Eflycloud Computing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Eflycloud Computing Co Ltd filed Critical Guangdong Eflycloud Computing Co Ltd
Priority to CN202010521440.7A priority Critical patent/CN111427519B/zh
Publication of CN111427519A publication Critical patent/CN111427519A/zh
Application granted granted Critical
Publication of CN111427519B publication Critical patent/CN111427519B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed 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.一种分布式存储数据迁移装置,其特征在于,包括分布式存储系统和数据写入客户端,所述分布式存储系统包括若干存储设备和写重定向模块,所述存储设备包括第一存储设备和第二存储设备;
所述数据写入客户端用于写入数据至所述分布式存储系统;
所述分布式存储系统用于存储数据并对数据分块得到若干个数据块,再将数据块随机存储于各个存储设备中;
所述分布式存储系统还用于对实施第一存储设备的数据块进行锁定挂起写操作,并对所述第一存储设备的数据块迁移至所述第二存储设备,对需要迁移的数据块称为旧数据块;
所述写重定向模块用于:在所述第一存储设备的数据块迁移至所述第二存储设备过程中,写重定向模块检测数据写入客户端是否写入新数据;若数据写入客户端写入数据,经所述分布式存储系统对新数据分块后得到的新数据块,则写重定向模块检测新数据块是否需要写入旧数据块中以及检测新数据块的内容大小是否刚好等于旧数据块,若新数据块需要写入旧数据块中并且新数据块的内容大小刚好等于旧数据块,则写重定向模块对第一存储设备的旧数据块停止向第二存储设备迁移且在第一存储设备上对旧数据块进行删除,并将新数据块直接存储于所述第二存储设备中;若新数据块不需要写入旧数据块中时,或者是新数据块需要写入旧数据块中但新数据块的内容大小没有刚好等于旧数据块时,则待第一存储设备的旧数据块迁移至所述第二存储设备后,写重定向模块再将新数据块写入旧数据块中并进行合并。
CN202010521440.7A 2020-06-10 2020-06-10 一种分布式存储数据迁移方法及装置 Active CN111427519B (zh)

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 true CN111427519A (zh) 2020-07-17
CN111427519B 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)

* Cited by examiner, † Cited by third party
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 北京天融信网络安全技术有限公司 数据分层存储方法、读取方法、存储主机及存储系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
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
CN111427519B (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
US9710186B2 (en) Performing online data migration with concurrent active user access to the data
CN108664496B (zh) 数据迁移方法及装置
US10838829B2 (en) Method and apparatus for loading data from a mirror server and a non-transitory computer readable storage medium
US10387258B2 (en) Method and apparatus for processing redo data in database
CN107451172B (zh) 用于版本管理系统的数据同步方法及设备
CN109933312B (zh) 一种有效降低容器化关系型数据库i/o消耗的方法
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
CN106873902B (zh) 一种文件存储系统、数据调度方法及数据节点
CN110609807A (zh) 用于删除快照数据的方法、设备和计算机可读存储介质
CN106682021A (zh) 数据库迁移方法及装置
CN112748866A (zh) 一种增量索引数据的处理方法和装置
CN105808451B (zh) 一种数据缓存方法以及相关装置
CN111427519B (zh) 一种分布式存储数据迁移方法及装置
US8341368B2 (en) Automatic reallocation of structured external storage structures
CN113297316A (zh) 一种实现数据同步的方法及装置和系统
CN106708911A (zh) 一种云环境下数据文件同步的方法和装置
CN111581285A (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) 一种数据库同步方法和装置
US11507458B2 (en) Storage management method, device, and computer program product
CN109165208B (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