CN104268097A - 一种元数据处理方法及系统 - Google Patents
一种元数据处理方法及系统 Download PDFInfo
- Publication number
- CN104268097A CN104268097A CN201410538901.6A CN201410538901A CN104268097A CN 104268097 A CN104268097 A CN 104268097A CN 201410538901 A CN201410538901 A CN 201410538901A CN 104268097 A CN104268097 A CN 104268097A
- Authority
- CN
- China
- Prior art keywords
- metadata
- copy
- information
- described metadata
- originally
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明提供一种元数据处理方法及系统,包括以下步骤:元数据原本与元数据副本相互交错更新;更新完成后,元数据指针指向更新后的元数据原本或元数据副本。本发明通过在更新元数据信息的时候,元数据原本和元数据副本相互交错更新,相互作为历史元数据信息,提高了元数据可靠性和回滚的作用,保证了损坏的元数据,可从元数据副本的历史记录中恢复出数据,达到解决数据丢失问题,防止了元数据丢失造成存储池、逻辑卷数据丢失的问题,提高了存储池元数据可靠性。
Description
技术领域
本发明属于数据管理领域,尤其涉及一种元数据处理方法及系统。
背景技术
在高端磁盘阵列中,存储池对底层物理存储资源进行统一管理,将物理资源虚拟化,达到提供超大空间的存储资源并提供一种动态的逻辑存储资源,提高存储池的读写速率和存储资源利用率。
存储池将底层小容量的物理存储资源按照一定的规则组织成一个虚拟的大容量的存储资源,还可动态的在其上创建指定大小的逻辑存储资源,即逻辑卷。这种统一管理多个小容量物理磁盘,和管理其上的多个虚拟逻辑卷的创建、删除、扩容、缩容等操作,都需要一套完整、可靠的元数据进行管理。
元数据对于整个存储池很重要,如果在操作中或者某个异常处理中,不慎将元数据丢失,整个存储池、逻辑卷资源都将丢失。
发明内容
本发明提供一种元数据处理方法及系统,以解决上述问题。
本发明提供一种元数据处理方法。上述方法包括以下步骤:
元数据原本与元数据副本相互交错更新;
更新完成后,元数据指针指向更新后的元数据原本或元数据副本。
本发明还提供一种元数据处理系统,包括交替更新模块、指针重定位模块;其中,所述交替更新模块与所述指针重定位模块相连;
所述交替更新模块,用于控制元数据原本与元数据副本相互交错更新并将更新结果通知所述指针重定位模块;
所述指针重定位模块,用于控制元数据指针指向更新后的元数据原本或元数据副本。
本发明通过在更新元数据信息的时候,元数据原本和元数据副本相互交错更新,相互作为历史元数据信息,提高了元数据可靠性和回滚的作用,保证了损坏的元数据,可从元数据副本的历史记录中恢复出数据,达到解决数据丢失问题,防止了元数据丢失造成存储池、逻辑卷数据丢失的问题,提高了存储池元数据可靠性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为本发明实施例1的存储池增加元数据副本后的空间布局示意图;
图2所示为本发明实施例2的存储池更新元数据操作的处理流程示意图;
图3所示为本发明实施例3的元数据处理方法流程图;
图4所示为本发明实施例4的元数据处理系统结构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明的核心是在存储池中增加元数据副本和元数据指针。
最开始元数据副本和元数据原本保存了两份完整的元数据,互为镜像,当一个元数据空间损坏,可从另一个元数据副本恢复。
若更新所述元数据原本信息时,将所述元数据副本的信息拷贝到所述元数据原本中,并增加更新拷贝过来的元数据信息后或者将最新内容的所述元数据副本信息拷贝到所述元数据原本中并更新或修改所述元数据原本中的逻辑卷信息后,所述元数据指针指向更新后的所述元数据原本;
下次若再需要更新元数据时,将所述元数据原本的信息拷贝到所述元数据副本中,并增加更新拷贝过来元数据信息或者将最新内容的所述元数据原本信息拷贝到所述元数据副本中并更新或修改所述元数据副本中的逻辑卷信息后,所述元数据指针指向更新后的元数据副本。
元数据指针指向元数据原本,存储池就使用元数据原本管理整个池子的操作和逻辑卷的操作;如果元数据指针指向元数据副本,那存储池就使用元数据副本管理整个池子的操作和逻辑卷的操作。
当需要更新元数据原本信息时,将元数据副本的信息拷贝到元数据原本中,并增加更新拷贝过来的元数据信息,元数据指针指向更新后的元数据原本。元数据副本不做更新,作为元数据历史信息。下次再需要更新元数据的话,将元数据原本的信息拷贝到元数据副本中,并增加更新拷贝过来元数据信息,元数据指针指向更新后的元数据副本。元数据原本不做更新,作为元数据历史信息。
若更新所述元数据副本信息时,将所述元数据原本的信息拷贝到所述元数据副本中,并增加更新拷贝过来的元数据信息后或者将最新内容的所述元数据原本信息拷贝到所述元数据副本中并更新或修改所述元数据副本中的逻辑卷信息后,所述元数据指针指向更新后的所述元数据副本;
下次若再需要更新元数据时,将所述元数据副本的信息拷贝到所述元数据原本中,并增加更新拷贝过来元数据信息或者将最新内容的所述元数据副本信息拷贝到所述元数据原本中并更新或修改所述元数据原本中的逻辑卷信息后,所述元数据指针指向更新后的元数据原本。
当某个元数据在更新过程中损坏,可以从元数据副本中的历史记录信息中回滚恢复出元数据信息(恢复到更新之前的状态)。
如图1所示,存储池中包括元数据原本、元数据副本、元数据指针,数据区域;其中,元数据原本与元数据副本互为镜像;元数据指针(Meta_offset)记录当前所用元数据的地址。
元数据原本、元数据副本的结构分别包括存储池超级块(Pool_superblock)、元数据空间位图(Meta_bmp)、数据空间位图(Data_bmp)、逻辑卷元数据(Lv_info)、预留空间。
如图2所示,在存储池逻辑卷管理处理流程中,设计相互交错处理元数据原本和元数据副本的机制,当元数据损坏后,可以通过元数据副本恢复到更新之前的状态,详细说明如下:
初始化时,元数据原本和元数据副本相同;
若更新所述元数据副本信息时,将所述元数据原本的信息拷贝到所述元数据副本中,并增加更新拷贝过来的元数据信息或者将最新内容的所述元数据原本信息拷贝到所述元数据副本中并更新或修改所述元数据副本中的逻辑卷信息;
更新完成后,所述元数据指针Meta_offset指向元数据副本区,使用所述元数据副本中的元数据;
元数据原本保留更新之前的元数据信息,起备份历史信息作用。
再次创建或修改逻辑卷,需要更新元数据时,将所述元数据副本的信息拷贝到所述元数据原本中,并增加更新拷贝过来元数据信息,此时更新或修改所述元数据原本中的逻辑卷信息;或者
再次创建或修改逻辑卷,需要更新元数据时,将最新内容的元数据副本信息拷贝到所述元数据原本中并更新或修改所述元数据原本中的逻辑卷信息;
更新完成后,所述元数据指针Meta_offset指向元数据原本区,使用所述元数据原本中的元数据。
元数据副本保留更新之前的元数据信息,起备份历史信息作用。
更新元数据信息时,元数据原本和元数据副本相互交错,作为对方历史信息的记录,提高了元数据可靠性和回滚的作用。
图3所示为本发明实施例3的元数据处理方法流程图,包括以下步骤:
步骤301:元数据原本与元数据副本相互交错更新;
步骤302:更新完成后,元数据指针指向更新后的元数据原本或元数据副本。
图4所示为本发明实施例4的元数据处理系统结构图,包括交替更新模块、指针重定位模块;其中,所述交替更新模块与所述指针重定位模块相连;
所述交替更新模块,用于控制元数据原本与元数据副本相互交错更新并将更新结果通知所述指针重定位模块;
所述指针重定位模块,用于控制元数据指针指向更新后的元数据原本或元数据副本。
本发明通过在更新元数据信息的时候,元数据原本和元数据副本相互交错更新,相互作为历史元数据信息,提高了元数据可靠性和回滚的作用,保证了损坏的元数据,可从元数据副本的历史记录中恢复出数据,达到解决数据丢失问题,防止了元数据丢失造成存储池、逻辑卷数据丢失的问题,提高了存储池元数据可靠性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种元数据处理方法,其特征在于,包括以下步骤:
元数据原本与元数据副本相互交错更新;
更新完成后,元数据指针指向更新后的元数据原本或元数据副本。
2.根据权利要求1所述的方法,其特征在于:所述元数据原本与所述元数据副本相互交错更新的过程为:
若更新所述元数据副本信息时,将所述元数据原本的信息拷贝到所述元数据副本中,并增加更新拷贝过来的元数据信息后或者将最新内容的所述元数据原本信息拷贝到所述元数据副本中并更新或修改所述元数据副本中的逻辑卷信息后,所述元数据指针指向更新后的所述元数据副本;
下次若再需要更新元数据时,将所述元数据副本的信息拷贝到所述元数据原本中,并增加更新拷贝过来元数据信息或者将最新内容的所述元数据副本信息拷贝到所述元数据原本中并更新或修改所述元数据原本中的逻辑卷信息后,所述元数据指针指向更新后的元数据原本。
3.根据权利要求2所述的方法,其特征在于:
初始化时,所述元数据原本和所述元数据副本相同,创建逻辑卷;
若更新所述元数据副本信息时,将所述元数据原本的信息拷贝到所述元数据副本中,并增加更新拷贝过来的元数据信息后或者将最新内容的所述元数据原本信息拷贝到所述元数据副本中并更新或修改所述元数据副本中的逻辑卷信息后,此时在所述元数据副本中更新逻辑卷信息区,更新完成后,所述元数据指针指向元数据副本区,使用所述元数据副本中的元数据;
再次创建或修改逻辑卷,需要更新元数据时,将所述元数据副本的信息拷贝到所述元数据原本中,并增加更新拷贝过来元数据信息或者将最新内容的所述元数据副本信息拷贝到所述元数据原本中并更新或修改所述元数据原本中的逻辑卷信息;更新完成后,所述元数据指针指向元数据原本区,使用所述元数据原本中的元数据。
4.根据权利要求1所述的方法,其特征在于:所述元数据原本与所述元数据副本相互交错更新的过程为:
若更新所述元数据原本信息时,将所述元数据副本的信息拷贝到所述元数据原本中,并增加更新拷贝过来的元数据信息后,所述元数据指针指向更新后的所述元数据原本;下次若再需要更新元数据时,将所述元数据原本的信息拷贝到所述元数据副本中,并增加更新拷贝过来元数据信息后,所述元数据指针指向更新后的元数据副本。
5.根据权利要求1-4任一项所述的方法,其特征在于:所述元数据指针记录当前所用元数据的地址。
6.根据权利要求5所述的方法,其特征在于:若所述元数据指针指向所述元数据原本,存储池就使用所述元数据原本管理整个池子的操作和逻辑卷的操作;若所述元数据指针指向所述元数据副本,存储池就使用所述元数据副本管理整个池子的操作和逻辑卷的操作。
7.根据权利要求6所述的方法,其特征在于:所述存储池中包括所述元数据原本、所述元数据副本、所述元数据指针、数据区域;其中,所述元数据原本与所述元数据副本互为镜像。
8.根据权利要求7所述的方法,其特征在于:所述元数据原本、所述元数据副本的结构分别包括存储池超级块Pool_superblock、元数据空间位图Meta_bmp、数据空间位图Data_bmp、逻辑卷元数据Lv_info、预留空间。
9.根据权利要求8所述的方法,其特征在于:当元数据在更新过程中损坏,则通过元数据副本中的历史记录信息,恢复到更新之前的状态。
10.一种元数据处理方法,其特征在于,包括交替更新模块、指针重定位模块;其中,所述交替更新模块与所述指针重定位模块相连;
所述交替更新模块,用于控制元数据原本与元数据副本相互交错更新并将更新结果通知所述指针重定位模块;
所述指针重定位模块,用于控制元数据指针指向更新后的元数据原本或元数据副本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410538901.6A CN104268097B (zh) | 2014-10-13 | 2014-10-13 | 一种元数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410538901.6A CN104268097B (zh) | 2014-10-13 | 2014-10-13 | 一种元数据处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268097A true CN104268097A (zh) | 2015-01-07 |
CN104268097B CN104268097B (zh) | 2018-02-06 |
Family
ID=52159620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410538901.6A Active CN104268097B (zh) | 2014-10-13 | 2014-10-13 | 一种元数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268097B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095330A (zh) * | 2016-05-30 | 2016-11-09 | 杭州宏杉科技有限公司 | 一种元数据的存储方法和装置 |
CN106407045A (zh) * | 2016-09-29 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种数据灾难恢复方法、系统及服务器虚拟化系统 |
CN107291505A (zh) * | 2017-06-28 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种存储系统控制器升级的方法及装置 |
CN110633465A (zh) * | 2019-07-19 | 2019-12-31 | 广州视源电子科技股份有限公司 | 文本序列的修改定位方法及装置、电子设备 |
CN111625192A (zh) * | 2020-05-22 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 一种元数据对象访问方法、装置、设备以及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496725B2 (en) * | 2003-06-19 | 2009-02-24 | Pillar Data Systems, Inc. | Systems and methods of data migration in snapshot operations |
CN101751415A (zh) * | 2008-12-09 | 2010-06-23 | 中国移动通信集团公司 | 元数据服务系统、元数据同步方法与写服务器更新方法 |
CN102012853A (zh) * | 2011-01-14 | 2011-04-13 | 南开大学 | 一种零拷贝快照方法 |
CN102694825A (zh) * | 2011-03-22 | 2012-09-26 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及其系统 |
US8825936B2 (en) * | 2009-08-03 | 2014-09-02 | Quantum Corporation | Systems and methods for increasing data volume sparseness |
-
2014
- 2014-10-13 CN CN201410538901.6A patent/CN104268097B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496725B2 (en) * | 2003-06-19 | 2009-02-24 | Pillar Data Systems, Inc. | Systems and methods of data migration in snapshot operations |
CN101751415A (zh) * | 2008-12-09 | 2010-06-23 | 中国移动通信集团公司 | 元数据服务系统、元数据同步方法与写服务器更新方法 |
US8825936B2 (en) * | 2009-08-03 | 2014-09-02 | Quantum Corporation | Systems and methods for increasing data volume sparseness |
CN102012853A (zh) * | 2011-01-14 | 2011-04-13 | 南开大学 | 一种零拷贝快照方法 |
CN102694825A (zh) * | 2011-03-22 | 2012-09-26 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及其系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095330A (zh) * | 2016-05-30 | 2016-11-09 | 杭州宏杉科技有限公司 | 一种元数据的存储方法和装置 |
CN106095330B (zh) * | 2016-05-30 | 2019-04-16 | 杭州宏杉科技股份有限公司 | 一种元数据的存储方法和装置 |
CN106407045A (zh) * | 2016-09-29 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种数据灾难恢复方法、系统及服务器虚拟化系统 |
CN106407045B (zh) * | 2016-09-29 | 2019-09-24 | 郑州云海信息技术有限公司 | 一种数据灾难恢复方法、系统及服务器虚拟化系统 |
CN107291505A (zh) * | 2017-06-28 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种存储系统控制器升级的方法及装置 |
CN110633465A (zh) * | 2019-07-19 | 2019-12-31 | 广州视源电子科技股份有限公司 | 文本序列的修改定位方法及装置、电子设备 |
CN111625192A (zh) * | 2020-05-22 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 一种元数据对象访问方法、装置、设备以及介质 |
CN111625192B (zh) * | 2020-05-22 | 2022-07-05 | 浪潮电子信息产业股份有限公司 | 一种元数据对象访问方法、装置、设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104268097B (zh) | 2018-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190163591A1 (en) | Remote Data Replication Method and System | |
CN104142847B (zh) | 云计算环境下的无状态化虚拟机及其应用 | |
CN103473067B (zh) | 嵌入式Linux分区与数据还原方法、系统及系统开发方法 | |
CN103780638A (zh) | 数据同步方法及系统 | |
CN104375877A (zh) | 一种虚拟机在线快照生成与删除方法 | |
CN103970585A (zh) | 创建虚拟机的方法及装置 | |
CN104268097A (zh) | 一种元数据处理方法及系统 | |
CN107291883A (zh) | 一种分布式存储系统的快照方法及装置 | |
CN101923448A (zh) | 一种nand闪存的转换层读写方法 | |
CN103049539A (zh) | 一种文件系统中文件数据的存储方法及其装置 | |
CN103996412A (zh) | 一种用于智能卡非易失性存储器的掉电保护方法 | |
CN103617097A (zh) | 文件恢复方法及装置 | |
CN104461773A (zh) | 一种虚拟机备份去重的方法 | |
US10795579B2 (en) | Methods, apparatuses, system and computer program products for reclaiming storage units | |
CN104166605A (zh) | 基于增量数据文件的数据备份方法及系统 | |
CN106104515A (zh) | 利用非易失性存储器的文件系统设计和故障恢复方法 | |
CN105224422A (zh) | 一种数据备份方法及设备 | |
CN109086078A (zh) | 安卓系统升级方法、装置、服务器及移动终端 | |
CN109298873A (zh) | 一种系统升级方法及装置 | |
CN103440204A (zh) | 一种更新文件系统的方法和存储设备 | |
CN104461384A (zh) | 一种数据写入方法及存储设备 | |
CN104391802A (zh) | 一种精简池元数据节点刷新一致性保护方法 | |
CN105302488A (zh) | 一种存储系统的数据写入方法及系统 | |
US9933953B1 (en) | Managing copy sessions in a data storage system to control resource consumption | |
CN102207905A (zh) | 系统恢复方法、存储媒体控制器及存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |