CN103034701A - 元数据文件格式转换方法 - Google Patents

元数据文件格式转换方法 Download PDF

Info

Publication number
CN103034701A
CN103034701A CN2012105186506A CN201210518650A CN103034701A CN 103034701 A CN103034701 A CN 103034701A CN 2012105186506 A CN2012105186506 A CN 2012105186506A CN 201210518650 A CN201210518650 A CN 201210518650A CN 103034701 A CN103034701 A CN 103034701A
Authority
CN
China
Prior art keywords
meta data
data file
sub
thread
file
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
CN2012105186506A
Other languages
English (en)
Other versions
CN103034701B (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.)
Dawning Information Industry Beijing Co Ltd
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry Beijing 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 Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN201210518650.6A priority Critical patent/CN103034701B/zh
Publication of CN103034701A publication Critical patent/CN103034701A/zh
Application granted granted Critical
Publication of CN103034701B publication Critical patent/CN103034701B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种,元数据文件格式转换方法,包括以下步骤:将元数据文件进行备份;以及采用多线程处理方式来对元数据文件的格式进行转换。本发明通过进行数据备份和使用多线程并发操作,从而保证了数据安全并尽量缩短了转换时间。

Description

元数据文件格式转换方法
技术领域
本发明涉及分布式存储系统,更具体地,涉及元数据文件格式转换方法。
背景技术
在分布式存储系统中,元数据服务器通过操作元数据文件向其他节点提供服务,元数据文件保存着存储系统中所有文件的信息(大小、布局等),作用相当重要。
在分布式存储系统中,这些信息被组织成一定格式的文件存放在本地文件系统(如ext3)中,其被称为元数据文件,例如其中存放文件系统超级块信息的文件和存放文件inode信息的文件等。这些文件的格式一般很少变化,但是随着文件系统功能的扩展,旧的文件格式无法满足新的需求,这时就需要对旧的元数据文件格式进行调整,既要转变文件格式,又要保护已有的数据信息。
元数据格式转换面临一些问题:首先就是数据安全,即,在转换过程中如何保证已有的数据能够完整的保存到新的文件中去,转换过程比较复杂,可能有许多突发状况(诸如断电、系统宕机等)威胁数据安全;其次就是转换速度,运行时间长的存储系统元数据文件很庞大,转换所需要的时间也较长。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明旨在提供一种安全可靠的元数据文件转换思想和方法,使这种转换能快速地完成,并严格保证用户数据的安全。
根据本发明的实施例,提供了一种元数据文件格式转换方法,包括以下步骤:将元数据文件进行备份;以及采用多线程处理方式来对元数据文件的格式进行转换。
优选地,在进行格式转换之后,该方法还包括清理备份数据的步骤。
优选地,将所述元数据文件进行备份包括:用户提供远程主机的地址和路径并将元数据文件拷贝到所述路径。
优选地,将元数据文件进行备份包括:用户提供其他存储介质并将元数据文件拷贝到存储介质中。
优选地,将元数据文件进行备份包括:在本地对元数据文件进行备份。
优选地,采用多线程处理方式来对元数据文件的格式进行转换包括:主线程将元数据文件分派给多个子线程;以及多个子线程对分派给自己的元数据文件进行格式转换。
优选地,主线程将元数据文件分派给多个子线程包括:主线程获取文件系统并扫描文件系统的目录结构来获取其中的元数据文件;主线程根据子线程的数目对元数据文件的文件名进行哈希计算来获取一个数值X,其中1≤X≤NR,NR为子线程的数目;以及主线程将元数据文件的文件名放入ID等于X的子线程的工作队列中。
优选地,多个子线程对分派给自己的元数据文件进行格式转换包括:子线程从自己的工作队列中获取元数据文件的文件名;子线程分析元数据文件的类型;以及子线程调用相应的处理接口对元数据文件的格式进行转换。
更优选地,多个子线程在处理一个文件系统之后,调用操作系统的同步命令来同步磁盘数据,并根据设定的备份方式来删除旧的文件。
更优选地,将元数据文件的路径名进行拆分,将文件名的共有部分在内存中只存储一份,在查找元数据文件时将路径名的共有部分与特有部分进行合并来得到完整的路径名。
本发明通过进行数据备份和使用多线程并发操作,从而保证了数据安全并尽量缩短了转换时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的元数据文件格式转换方法的流程图;以及
图2是根据本发明实施例的分派和转换的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
以下,参照附图详细描述本发明。
图1示出了根据本发明实施例的元数据文件格式转换方法的流程图。
参照图1,根据本发明实施例的元数据文件格式转换方法包括以下步骤:S102,将元数据文件进行备份;以及S104,采用多线程处理方式来对元数据文件的格式进行转换。以下进行具体描述。
首先,进行转换前的准备工作,包括备份数据和启动工作线程。在转换的过程中,可能出现很多突发情况(比如断电、系统宕机等)导致转换工作异常终止,为了防止已有数据意外丢失,本发明提供了三种备份模式,供用户选择:
A、远程备份,用户提供远程主机的地址和路径,工具将数据拷贝到目的路径;转换时删除本地旧文件。
B、磁盘备份,用户提供一块额外的磁盘,工具将数据拷贝到这块磁盘上;转换时删除本地旧文件。
C、本地备份,不做其他备份,在转换数据的过程中不删除旧数据,转换完成后再删除本地旧文件。
其次,为了加快处理速度,本发明的方案采用多线程处理方式,主线程启动时开启多个子工作线程,主线程将文件分派给这些子线程,这些子线程同时工作,互不影响。
以下描述如何进行分派和转换。
主线程首先获取系统中的文件系统(根据文件系统自己的命名规则),本发明转换元数据文件,以存储系统中的文件系统为单位,属于同一个文件系统的元数据文件存放在同一个目录树下,所以需要首先根据存储系统的规则找到每个文件系统的目录树,然后顺序扫描每个文件系统的目录结构,获取其中的元数据文件,接着对文件名字按开启的子线程数目做哈希计算,获取一个数值X(大小是1~NR),NR=开启的工作线程数目),最后将该文件放到id等于X的线程的工作队列中。
这里的哈希运算具体为:为了使文件能尽量均衡地分配到各个线程上,维护一个文件计数,分派文件时为该计数加1,然后在使用该计数对子线程数目求模即可。此外,工作线程的数目由使用者来指定,其大于等于1,最好等于计算机cpu的核心数目。
然后,工作线程从自己的工作队列获取文件名,分析文件类型(超级块文件、inode文件等),然后调用相应的处理接口对文件进行转换。主线程在处理一个文件系统后,调用操作系统的sync命令同步磁盘数据,然后根据用户的配置(参见上述备份方式A、B和C)删除旧的文件。注意,如何对元数据文件格式进行转换属于本领域的公知常识,这里为了避免冗余而省略其描述。
在处理过程中,分派给线程处理的文件路径存放在内存中,这些信息会占用很多内存空间。多数时候路径名字会很长,而路径名都有很多共有的部分,所以本发明提供了一种方法来保存路径信息。具体来说,将路径名分拆成若干段,使一段共有的路径在内存中只有一份存储,在查找文件时再通过这些信息将其路径名组装起来。例如,文件F1:/x/y/z/file1,F2:/x/y/z/file2有共同的路径PATH:/x/y/z,我们就将PATH字符串的内存地址放在F1、F2的文件控制结构(该机构包含F1、F2各自的文件名file1或者file2)中,要查找F1时,我们将PATH和F1的文件名file1合并后就得到了F1的完整路径名。这样让共享数据只有一份,就极大地节省了内存使用量。
最后,在转换完成之后清理备份数据。
本发明经过实际测试,能快速对分布式文件系统的元数据格式进行转换。并能将已有数据完整地转移到新格式的文件中。
综上所述,借助于本发明的上述技术方案,通过事先对元数据文件进行备份并由用户自由选择备份方式,保证了数据安全并且为用户提供了很好的灵活性。其次,通过使用多线程进行转换,提高了转换速度。此外,通过采用上述路径名存储方式,减少了文件路径的存储空间。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种元数据文件格式转换方法,其特征在于,所述方法包括以下步骤:
将元数据文件进行备份;以及
采用多线程处理方式来对所述元数据文件的格式进行转换。
2.根据权利要求1所述的方法,其特征在于,在进行格式转换之后,所述方法还包括清理备份数据的步骤。
3.根据权利要求1所述的方法,其特征在于,将所述元数据文件进行备份包括:
用户提供远程主机的地址和路径并将所述元数据文件拷贝到所述路径。
4.根据权利要求1所述的方法,其特征在于,将所述元数据文件进行备份包括:
用户提供其他存储介质并将所述元数据文件拷贝到所述存储介质中。
5.根据权利要求1所述的方法,其特征在于,将所述元数据文件进行备份包括:
在本地对所述元数据文件进行备份。
6.根据权利要求1所述的方法,其特征在于,采用多线程处理方式来对所述元数据文件的格式进行转换包括:
主线程将所述元数据文件分派给多个子线程;以及
所述多个子线程对分派给自己的元数据文件进行格式转换。
7.根据权利要求6所述的方法,其特征在于,所述主线程将所述元数据文件分派给所述多个子线程包括:
所述主线程获取文件系统并扫描所述文件系统的目录结构来获取其中的元数据文件;
所述主线程根据子线程的数目对所述元数据文件的文件名进行哈希计算来获取一个数值X,其中1≤X≤NR,NR为所述子线程的数目;以及
所述主线程将所述元数据文件的文件名放入ID等于X的子线程的工作队列中。
8.根据权利要求7所述的方法,其特征在于,所述多个子线程对分派给自己的元数据文件进行格式转换包括:
所述子线程从自己的工作队列中获取所述元数据文件的文件名;
所述子线程分析所述元数据文件的类型;以及
所述子线程调用相应的处理接口对所述元数据文件的格式进行转换。
9.根据权利要求8所述的方法,其特征在于,所述多个子线程在处理一个文件系统之后,调用操作系统的同步命令来同步磁盘数据,并根据设定的备份方式来删除旧的文件。
10.根据权利要求8所述的方法,其特征在于,将所述元数据文件的路径名进行拆分,将所述文件名的共有部分在内存中只存储一份,在查找所述元数据文件时将路径名的共有部分与特有部分进行合并来得到完整的路径名。
CN201210518650.6A 2012-12-05 2012-12-05 元数据文件格式转换方法 Active CN103034701B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210518650.6A CN103034701B (zh) 2012-12-05 2012-12-05 元数据文件格式转换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210518650.6A CN103034701B (zh) 2012-12-05 2012-12-05 元数据文件格式转换方法

Publications (2)

Publication Number Publication Date
CN103034701A true CN103034701A (zh) 2013-04-10
CN103034701B CN103034701B (zh) 2016-09-14

Family

ID=48021595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210518650.6A Active CN103034701B (zh) 2012-12-05 2012-12-05 元数据文件格式转换方法

Country Status (1)

Country Link
CN (1) CN103034701B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123177A (zh) * 2014-07-18 2014-10-29 无锡梵天信息技术股份有限公司 一种无锁的多线程数据同步方法
CN105162595A (zh) * 2015-08-03 2015-12-16 四川效率源信息安全技术有限责任公司 安全传输非压缩文件的加密以及解密方法
CN111125002A (zh) * 2019-11-15 2020-05-08 卢万龙 一种基于分布式存储的数据备份归档方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079683A (zh) * 2007-06-27 2007-11-28 中国移动通信集团四川有限公司 数据一致性处理方法
US20080059398A1 (en) * 2006-09-06 2008-03-06 Kyoya Tsutsui Data transfer system capable of converting file formats
CN101432729A (zh) * 2004-08-21 2009-05-13 科-爱克思普莱斯公司 用于扩展式企业商务的方法、系统以及设备
CN102033875A (zh) * 2009-09-24 2011-04-27 北大方正集团有限公司 一种文件入库的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101432729A (zh) * 2004-08-21 2009-05-13 科-爱克思普莱斯公司 用于扩展式企业商务的方法、系统以及设备
US20080059398A1 (en) * 2006-09-06 2008-03-06 Kyoya Tsutsui Data transfer system capable of converting file formats
CN101079683A (zh) * 2007-06-27 2007-11-28 中国移动通信集团四川有限公司 数据一致性处理方法
CN102033875A (zh) * 2009-09-24 2011-04-27 北大方正集团有限公司 一种文件入库的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MARC FARLEY等: "《SAN存储区域网络》", 31 December 2002 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123177A (zh) * 2014-07-18 2014-10-29 无锡梵天信息技术股份有限公司 一种无锁的多线程数据同步方法
CN104123177B (zh) * 2014-07-18 2019-01-08 无锡梵天信息技术股份有限公司 一种无锁的多线程数据同步方法
CN105162595A (zh) * 2015-08-03 2015-12-16 四川效率源信息安全技术有限责任公司 安全传输非压缩文件的加密以及解密方法
CN105162595B (zh) * 2015-08-03 2019-07-09 四川效率源信息安全技术股份有限公司 安全传输非压缩文件的加密以及解密方法
CN111125002A (zh) * 2019-11-15 2020-05-08 卢万龙 一种基于分布式存储的数据备份归档方法和系统
CN111125002B (zh) * 2019-11-15 2023-10-27 卢万龙 一种基于分布式存储的数据备份归档方法和系统

Also Published As

Publication number Publication date
CN103034701B (zh) 2016-09-14

Similar Documents

Publication Publication Date Title
AU2018202512B2 (en) Integrating composite formats with finder and explorer
US20200293410A1 (en) Synchronizing selected portions of data in a storage management system
US9588849B2 (en) Synchronizing selected portions of data in a storage management system
CN102567445B (zh) 一种分布式文件系统中保证元数据一致性的方法
CN102968486B (zh) 一种基于变化日志的高可靠文件同步方法
US12047472B2 (en) Data storage system with rapid restore capability
US11036592B2 (en) Distributed content indexing architecture with separately stored file previews
US11609827B2 (en) Distributed architecture for tracking content indexing
US20150379026A1 (en) Content fabric for a distributed file system
CN101937377A (zh) 数据恢复方法和装置
CN101673289B (zh) 分布式文件存储构架的构建方法和装置
US20150234712A1 (en) Methods of synchronizing files including synchronized hash map linked lists and related data processing nodes
CN102142032B (zh) 一种分布式文件系统的数据读写方法及系统
CN102508880A (zh) 一种文件合并方法及分解方法
US10761735B2 (en) Tier aware caching solution to increase application performance
WO2017028690A1 (zh) 一种基于etl的文件处理方法及系统
US20160092131A1 (en) Storage system, storage system control method, and recording medium storing virtual tape device control program
CN103034701A (zh) 元数据文件格式转换方法
Sozykin et al. MIPr-a framework for distributed image processing using Hadoop
CN107357920A (zh) 一种增量式的多副本数据同步方法及系统
US9037539B2 (en) Data synchronization
CN103559224A (zh) 一种对元数据对象进行散列的方法及装置
CN110389937A (zh) 一种基于数据库数据同步传输文件的方法及系统
CN102750391A (zh) 一种基于Hadoop分布式文件预览方法及其系统
CN104050251B (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220725

Address after: 100089 building 36, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing

Patentee after: Dawning Information Industry (Beijing) Co.,Ltd.

Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd.

Address before: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing

Patentee before: Dawning Information Industry (Beijing) Co.,Ltd.

TR01 Transfer of patent right