CN104407987B - 一种分级存储方法 - Google Patents
一种分级存储方法 Download PDFInfo
- Publication number
- CN104407987B CN104407987B CN201410603327.8A CN201410603327A CN104407987B CN 104407987 B CN104407987 B CN 104407987B CN 201410603327 A CN201410603327 A CN 201410603327A CN 104407987 B CN104407987 B CN 104407987B
- Authority
- CN
- China
- Prior art keywords
- strategy
- policy
- module
- file
- hierarchical
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种实现分级存储的方法,该方法包括策略分析模块和客户端模块分析系统内的所有分级策略,查看策略对应的文件是否满足策略要求,将不满足策略要求的文件发送到迁移控制模块;元数据服务模块向策略分析模块提供文件信息;迁移控制模块接收策略分析模块发送的待迁移文件,根据策略要求需要选择新的介质,发送给迁移模块进行迁移,迁移模块完成迁移工作;管理模块实现分级策略维护;图形模块以图形界面的形式向用户展示分级功能,在界面进行策略的添加、删除和修改,并将命令发送给管理模块进行而通知到策略分析模块。
Description
技术领域
本发明涉及一种计算机文件存储技术,具体讲涉及一种分级存储实现方法。
背景技术
分布式文件系统有多种介质类型,在存取速度及价格方面都有很大差别;在同一分布式文件系统中存储的用户数据,存储需求也不相同,对于需要经常访问的且对访问速度比较敏感的数据需要存放在快设备上,而对于数据量巨大,对速度要求不高的场景则需要选择价格相对低廉的慢设备来存放。
这就对分布式文件系统提出了以下需求:即在系统内支持一种以上存储介质,并且能够根据需要将数据存放到不同的介质类型上。
由于元数据服务器上的辅助文件记录了各个磁盘上存放的对象,原来实现方式是首先获取系统内所有磁盘,然后读取每个磁盘上的对象记录并根据记录读取inode(索引节点),获取访问时间及修改时间。如果在规定时间内有修改则迁移到快速设备;如果在规定的时间内没有修改则迁移到慢速设备(规定时间可以通过配置参数进行修改)。
现有的实现方式具有以下缺点:首先,策略单一,可扩展性很差,只能根据访问及修改时间分级,如果想在原来框架上增加其他策略,非常困难;其次,灵活性非常差,虽然规定时间可以通过配置参数修改,但是这一时间是对所有对象生效的,对象之间不能设置不同时间区间,此外系统内所有对象要么都根据设定时间进行迁移,要么关闭分级功能,都不进行迁移。
这些缺点导致分级功能不能满足很多应用场景:如根据文件名特点分级;系统内部有的目录需要根据时间策略分级存储,有的目录则不需要等等。
发明内容
为了克服上述现有技术的不足,本发明提供一种实现分级存储的方法,该方法利用策略分析工具在客户端之上,获取文件所有信息。其中每个策略都包含所有策略单元,利用valid字段表示是否有效,方便实现单一或者组合条件的分级需求;具有非常好的扩展性。
为了实现上述发明目的,本发明采取如下技术方案:
一种实现分级存储的方法,该方法包括如下步骤:
(1)元数据服务模块向策略分析模块提供文件信息;
(2)策略分析模块分析存储系统内的所有分级策略,查看策略对应的文件是否满足策略要求,将不满足策略要求的待迁移文件发送到迁移控制模块;
(3)迁移控制模块根据分级策略要求需要选择新的存储介质,并将所接收到的待迁移文件发送给迁移模块迁移至新的存储介质;
(4)通过管理模块进行分级策略维护后,在人机交互界面上显示维护结果。
本发明提供的优选技术方案中,该方法进一步包括如下步骤:
(5)当用户需要对分级策略进行更新时,则通过人机交互界面设置存储系统内的分级策略,并跳转至步骤(2)由策略分析模块重新分析存储系统内更新后的分级策略。
本发明提供的第二优选技术方案中,对分级策略进行更新的方法包括:增加、删除、修改分级策略。
本发明提供的第三优选技术方案中,所述分级策略包括策略适用的目录、策略要求的目标存储介质类型和策略组;若所述目标存储介质类型为多个,按介质类型的排列顺序迁移;所述策略组包括的策略单元中的每一策略单元对应一种分级要求,策略单元包括一个valid字段和该单元的具体内容,若valid字段为1表示该策略单元对该策略有效,为0表示无效。
本发明提供的第四优选技术方案中,所述策略分析模块包括三类线程:dispatch、scan和worker,采用多线程流水方式实现策略分级。
本发明提供的第五优选技术方案中,多线程流水方式的具体步骤如下:
(a)所述dispatch获取当前系统所有分级的策略,合并策略涉及到的目录,并将目录投递到scan全局队列;
(b)所述scan线程从scan全局队列获取一个目录后开始调用函数readdir进行扫描,若是子目录则将子目录投递到scan线程的队列,若是文件则将其投递到队列最短的worker线程队列;
(c)所述worker线程从队列获取文件后通过函数ioctl获取文件的访问时间、大小和当前所在磁盘的信息,与当前系统策略进行匹配,找到匹配策略后,若发现当前文件的介质类型与策略不符,则将文件及策略要求的目标存储介质类型存放到一个buf,若buf达到768byte的缓存或者缓存超过5秒钟没有发送,则将buf中的文件发送给迁移控制模块;
(d)所述迁移控制模块根据策略要求的介质类型选择磁盘,发送给迁移模块;
(e)所述迁移模块迁移完成后通知元数据服务模块修改文件信息。
本发明提供的第六优选技术方案中,所述步骤(4)中,对所述分级策略进行维护的方法包括:增加、删除、修改分级策略。
与现有技术相比,本发明的有益效果在于:
本发明提供的技术方案可以满足多种分级存储需要,具有非常好的可扩展性。分级策略针对目录设置,具有非常好的灵活性,可以满足不同目录的不同分级需求。
附图说明
图1是分级存储模块流程图
图2是分级存储策略结构图
具体实施方式
下面结合附图对本发明作进一步详细说明。
如图1所示,实现分级存储的方法,具体步骤如下:
(1)元数据服务模块向策略分析模块提供文件信息;
(2)策略分析模块分析存储系统内的所有分级策略,查看策略对应的文件是否满足策略要求,将不满足策略要求的待迁移文件发送到迁移控制模块;
(3)迁移控制模块根据策略要求需要选择新的存储介质,并将所接收到的待迁移文件发送给迁移模块迁移至新的存储介质;
(4)通过管理模块进行分级策略维护后,在人机交互界面上显示维护结果。
如图2所示,分级策略包括策略适用的目录、策略要求的目标存储介质类型和策略组;若所述目标存储介质类型为多个,则迁移时优先选择排在前面的介质类型;所述策略组包括若干个策略单元,每个策略单元对应一种分级要求,策略单元包括一个valid字段和该单元的具体内容(阈值),若valid字段为1表示该策略单元对该策略有效,为0表示无效。如果一个策略的多个策略单元valid字段为1则表示该策略是一个组合策略。
策略分析模块包括三类线程:dispatch、scan和worker,采用多线程流水方式实现策略分级。
多线程流水方式的具体步骤如下:
(a)所述dispatch获取当前系统所有分级的策略,合并策略涉及到的目录,并将目录投递到scan全局队列;
(b)所述scan线程从scan全局队列获取一个目录后开始调用函数readdir进行扫描,若是子目录则将子目录投递到scan全局队列的队头,若是文件则将其投递到队列最短的worker线程队列;
(c)所述worker线程从队列获取文件后通过函数ioctl获取文件的访问时间、大小和当前所在磁盘的信息,与当前系统策略进行匹配,找到匹配策略后,若发现当前文件的介质类型与策略不符则将文件及策略要求的目标存储介质类型存放到一个buf,若buf达到768byte的缓存或者缓存超过5秒钟没有发送,则将buf中的文件发送给迁移控制模块;
(d)所述迁移控制模块根据策略要求的介质类型选择磁盘,发送给迁移模块;
(e)所述迁移模块迁移完成后通知元数据服务模块修改文件信息。
为了防止上次任务没有完成前dispatch线程就再次投递目录,scan全局队列即worker队列的在任务产生时抓一个全局引用计数,任务处理完成后释放计数,dispatch线程等计数为0时才可开始下一次投递。
假设目录/mnt/parastor/example下大小在0-1024byte并且访问修改时间在0-60s之间(即最近一分钟有访问或修改)的文件则迁移到ssd介质上。这种策略组织方式具有很好的可扩展性,若有新的分级需求,则增加一个策略单元即可。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员在其启发下依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。
Claims (4)
1.一种分级存储方法,该方法包括如下步骤:
(1)元数据服务模块向策略分析模块提供文件信息;
(2)策略分析模块分析存储系统内的所有分级策略,查看策略对应的文件是否满足策略要求,将不满足策略要求的待迁移文件发送到迁移控制模块;
(3)迁移控制模块根据分级策略要求需要选择新的存储介质,并将所接收到的待迁移文件发送给迁移模块迁移至新的存储介质;
(4)通过管理模块进行分级策略维护后,在人机交互界面上显示维护结果;
所述分级策略包括策略适用的目录、策略要求的目标存储介质类型和策略组;若所述目标存储介质类型为多个,按介质类型的排列顺序迁移;所述策略组包括的策略单元中的每一策略单元对应一种分级要求,策略单元包括一个valid字段和该单元的具体内容,若valid字段为1表示该策略单元对该策略有效,为0表示无效;
所述策略分析模块包括三类线程:dispatch、scan和worker,采用多线程流水方式实现策略分级;
多线程流水方式的具体步骤如下:
(a)所述dispatch获取当前系统所有分级的策略,合并策略涉及到的目录,并将目录投递到scan全局队列;
(b)所述scan线程从scan全局队列获取一个目录后开始调用函数readdir进行扫描,若是子目录则将子目录投递到scan线程的队列,若是文件则将其投递到队列最短的worker线程队列;
(c)所述worker线程从队列获取文件后通过函数ioctl获取文件的访问时间、大小和当前所在磁盘的信息,与当前系统策略进行匹配,找到匹配策略后,若发现当前文件的介质类型与策略不符,则将文件及策略要求的目标存储介质类型存放到一个buf,若buf达到768byte的缓存或者缓存超过5秒钟没有发送,则将buf中的文件发送给迁移控制模块;
(d)所述迁移控制模块根据策略要求的介质类型选择磁盘,发送给迁移模块;
(e)所述迁移模块迁移完成后通知元数据服务模块修改文件信息。
2.根据权利要求1所述分级存储方法,其特征在于,该方法进一步包括如下步骤:
(5)当用户需要对分级策略进行更新时,则通过人机交互界面更新存储系统内的分级策略,并跳转至步骤(2)由策略分析模块重新分析存储系统内更新后的分级策略。
3.根据权利要求2所述分级存储方法,其特征在于,对分级策略进行更新的方法包括:增加、删除、修改分级策略。
4.根据权利要求1所述分级存储方法,其特征在于,所述步骤(4)中,对所述分级策略进行维护的方法包括:增加、删除、修改分级策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410603327.8A CN104407987B (zh) | 2014-10-30 | 2014-10-30 | 一种分级存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410603327.8A CN104407987B (zh) | 2014-10-30 | 2014-10-30 | 一种分级存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104407987A CN104407987A (zh) | 2015-03-11 |
CN104407987B true CN104407987B (zh) | 2018-10-23 |
Family
ID=52645620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410603327.8A Active CN104407987B (zh) | 2014-10-30 | 2014-10-30 | 一种分级存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104407987B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119251B (zh) * | 2019-05-14 | 2023-01-03 | 北京杰思安全科技有限公司 | 一种基于磁盘大流量的缓冲控制方法和系统 |
CN110515947A (zh) * | 2019-08-23 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种存储系统 |
CN114253473A (zh) * | 2021-11-30 | 2022-03-29 | 海南大学 | 数据处理方法、装置和医学设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521419A (zh) * | 2011-12-31 | 2012-06-27 | 曙光信息产业股份有限公司 | 分级存储的实现方法和系统 |
CN103631931A (zh) * | 2013-12-06 | 2014-03-12 | 浪潮(北京)电子信息产业有限公司 | 一种数据分级存储方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595267B2 (en) * | 2011-06-27 | 2013-11-26 | Amazon Technologies, Inc. | System and method for implementing a scalable data storage service |
-
2014
- 2014-10-30 CN CN201410603327.8A patent/CN104407987B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521419A (zh) * | 2011-12-31 | 2012-06-27 | 曙光信息产业股份有限公司 | 分级存储的实现方法和系统 |
CN103631931A (zh) * | 2013-12-06 | 2014-03-12 | 浪潮(北京)电子信息产业有限公司 | 一种数据分级存储方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104407987A (zh) | 2015-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10915255B2 (en) | Restore of secondary data using thread pooling | |
US10192065B2 (en) | Automated intelligent provisioning of data storage resources in response to user requests in a data storage management system | |
EP3350728B1 (en) | Data storage management operations in a secondary storage subsystem using image recognition and image-based criteria | |
CN104408091B (zh) | 分布式文件系统的数据存储方法及系统 | |
CA2910211C (en) | Object storage using multiple dimensions of object information | |
US9507800B2 (en) | Data management in distributed file systems | |
US9229661B2 (en) | Total quotas for data storage system | |
CN102696009B (zh) | 用于存储介质之间的数据迁移的方法和系统 | |
CN104239166B (zh) | 一种对运行中虚拟机实现文件备份的方法 | |
JP4733461B2 (ja) | 計算機システム、管理計算機及び論理記憶領域の管理方法 | |
US9311252B2 (en) | Hierarchical storage for LSM-based NoSQL stores | |
US9400792B1 (en) | File system inline fine grained tiering | |
CN106201355A (zh) | 数据处理方法和装置以及存储系统 | |
CN107291889A (zh) | 一种数据存储方法及系统 | |
CN104407987B (zh) | 一种分级存储方法 | |
CN105005517B (zh) | 呼叫中心录音文件的存储备份系统及方法 | |
CN103812934B (zh) | 基于云存储系统的遥感数据发布方法 | |
CN110147203A (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN104199926B (zh) | 文件归档实现方法和装置以及文件访问方法和装置 | |
US20140101158A1 (en) | File Handling in a Hierarchical Storage System | |
CN106354724A (zh) | 文件存档方法、文件读取方法及装置 | |
WO2017172377A1 (en) | File system support for file-level ghosting | |
Jensen | High Throughput Tertiary Storage in HPC Environments | |
JP2013088920A (ja) | 計算機システム及びデータ管理方法 | |
JP2016081332A (ja) | 計算機システムおよび装置管理サーバ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230920 Address after: 300451 floor 3, No. 15, Haitai Huake street, Huayuan Industrial Zone (outside the ring), Binhai New Area, Tianjin Patentee after: Tianjin Zhongke Shuguang Storage Technology Co.,Ltd. Address before: 300384 Xiqing District, Tianjin Huayuan Industrial Zone (outside the ring) 15 1-3, hahihuayu street. Patentee before: DAWNING INFORMATION INDUSTRY Co.,Ltd. |