CN104156327A - 一种分布式文件***中写回模式下对象掉电识别方法 - Google Patents
一种分布式文件***中写回模式下对象掉电识别方法 Download PDFInfo
- Publication number
- CN104156327A CN104156327A CN201410421946.5A CN201410421946A CN104156327A CN 104156327 A CN104156327 A CN 104156327A CN 201410421946 A CN201410421946 A CN 201410421946A CN 104156327 A CN104156327 A CN 104156327A
- Authority
- CN
- China
- Prior art keywords
- data
- written
- write back
- file system
- distributed 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种分布式文件***中写回模式下对象掉电识别方法,采用写回模式写入数据时,先同步记录待写对象的打开状态,然后写入数据,等数据同步到磁盘后删除对象的打开状态。当对象存储节点掉电后,扫描对象的打开状态记录即可知道哪些对象在掉电前未写入完成,然后通过分布式***节点间的数据冗余配置,通知元数据节点进行数据修复。本发明在保证数据写回速度的同时,可以知道节点掉电后哪些数据丢失,采取相应的措施修复出掉电的数据,从而保证***数据的可靠性。
Description
技术领域
本发明涉及一种识别方法,具体涉及一种分布式文件***中写回模式下对象掉电识别方法。
背景技术
分布式文件***一般包含客户端,元数据服务器和数据服务器,客户端负责文件数据的访问接口制定,元数据服务器处理文件的布局及基本属性,数据服务器存储文件的数据内容。
对于分布式文件***,节点数据间通常有数据保护机制,比如数据写多份或节点间的raid模式,但为了提高写入的速度,存储节点的数据写回往往是一种提高写入性能的常用手段。但数据写回又具有掉电丢失的风险,传统的做法是加入用SSD磁盘做的日志盘,即先将数据写入到比较快速的存储设备上,然后响应写入完成后,在后台再将数据写入到真正的存储介质上。这种方法相比较于直接将数据写到缓存速度上还是慢了很多,并且也会产生两倍的磁盘IO,降低了繁忙时刻整***的响应速度和磁盘带宽。
发明内容
为了克服上述现有技术的不足,本发明提供一种分布式文件***中写回模式下对象掉电识别方法,只需要在整个写入过程的第一次将对象的打开状态记录下来,而对象掉电后通过该打开状态及知道对应对象是否丢失数据,若丢失数据,则可以通过数据节点间的冗余关系将数据重新修复出来,从而即保证了数据的安全性,又保证了写回的性能。
为了实现上述发明目的,本发明采取如下技术方案:
本发明提供一种分布式文件***中写回模式下对象掉电识别方法,所述方法包括以下步骤:
步骤1:写回模式下写入待写入数据到对象的缓存中;
步骤2:存储节点将对象缓存中的数据写入到磁盘;
步骤3:对象掉电重启后,元数据服务器对对象进行修复。
所述步骤1包括以下步骤:
步骤1-1:客户端发送待写入数据到各个存储节点上;
步骤1-2:存储节点判断待写入数据的对象是否已记录打开状态,若未记录则记录其打开状态;
步骤1-3:数据写入到对象的缓存中后返回给客户端写入完成。
所述步骤1-2中,记录待写入数据的对象打开状态采用以下任一方式:
方式1:直接记录到对象的基本属性上;
方式2:统一记录到指定的硬盘文件上。
所述步骤2中,存储节点在后台将缓存中的数据写入到磁盘,当对象对应的缓存数据写入完后,删除对象的打开状态记录。
所述步骤3包括以下步骤:
步骤3-1:对象掉电重启后,扫描对象打开状态记录;
步骤3-2:将记录为打开状态的对象上报到元数据服务器;
步骤3-3:元数据服务器根据存储节点间的数据冗余机制,从未丢失数据的相关存储节点上获取数据,将该对象进行修复。
与现有技术相比,本发明的有益效果在于:
本发明提供了一种分布式文件***中写回模式下对象掉电识别方法,采用写回模式写入数据时,先同步记录待写对象的打开状态,然后写入数据,等数据同步到磁盘后删除对象的打开状态。当对象存储节点掉电后,扫描对象的打开状态记录即可知道哪些对象在掉电前未写入完成,然后通过分布式***节点间的数据冗余配置,通知元数据节点进行数据修复。本发明在保证数据写回速度的同时,可以知道节点掉电后哪些数据丢失,采取相应的措施修复出掉电的数据,从而保证***数据的可靠性。
附图说明
图1是分布式文件***中写回模式下对象掉电识别方法流程图;
图2是对象打开状态的状态转移示意图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
如图1,本发明提供一种分布式文件***中写回模式下对象掉电识别方法,所述方法包括以下步骤:
步骤1:写回模式下写入待写入数据到对象的缓存中;
步骤2:存储节点将对象缓存中的数据写入到磁盘;
步骤3:对象掉电重启后,元数据服务器对对象进行修复。
所述步骤1包括以下步骤:
步骤1-1:客户端发送待写入数据到各个存储节点上;
步骤1-2:存储节点判断待写入数据的对象是否已记录打开状态,若未记录则记录其打开状态;
步骤1-3:数据写入到对象的缓存中后返回给客户端写入完成。
所述步骤1-2中,记录待写入数据的对象打开状态采用以下任一方式:
方式1:直接记录到对象的基本属性上;
方式2:统一记录到指定的硬盘文件上。
所述步骤2中,存储节点在后台将缓存中的数据写入到磁盘,当对象对应的缓存数据写入完后,删除对象的打开状态记录。
所述步骤3包括以下步骤:
步骤3-1:对象掉电重启后,扫描对象打开状态记录;
步骤3-2:将记录为打开状态的对象上报到元数据服务器;
步骤3-3:元数据服务器根据存储节点间的数据冗余机制,从未丢失数据的相关存储节点上获取数据,将该对象进行修复。
实施例
A.对象的打开记录方法(以下称对象的打开状态为Cookie状态):
文件的Cookie状态在内存中以Try Tree的方式组织,以Inode Id作为索引的关键字。每一个单点中需要记录的内容为“Inode Id+Cookie日志文件编号+文件中的位置+Status”。
在每个磁盘中使用独立的目录来保存Cookie日志的文件。每10万条记录生成一个文件。每条记录中记录“Inode Id++Cookie状态”。当打开文件时,状态为1,当关闭文件时,将状态置为0。
内存中存在一个Cookie日志的控制块,记录当前存在的Open文件的数目,以及每个Cookie文件中“有效的数据的个数、最大的记录数”。每个Cookie文件的最大记录数暂时设置为10万。当个数为0时,则把该文件删除。为了减少对同一个磁盘块的重复修改写,采用删除文件而不是重新利用的办法。
磁盘文件的解析方式,掉电重启时,依次读取所有磁盘的Cookie日志文件,文件之间没有先后顺序。每读取一条记录则判断是否为打开状态,若为打开状态,则加入到Try Tree中,并修改内存状态为Error。同时维护相应的引用计算。若为关闭状态,则放弃。直到所有的内容全部解析完毕。以不满10万条记录的文件作为下次追加的目标文件
B.cookie的状态的删除方法:
1正常同步缓存的内容到磁盘后可以删除cookie记录;
2.掉电数据修复后可以删除cookie记录。
本发明提供了一种分布式文件***中写回模式下对象掉电识别方法,采用写回模式写入数据时,先同步记录待写对象的打开状态,然后写入数据,等数据同步到磁盘后删除对象的打开状态。当对象存储节点掉电后,扫描对象的打开状态记录即可知道哪些对象在掉电前未写入完成,然后通过分布式***节点间的数据冗余配置,通知元数据节点进行数据修复。本发明在保证数据写回速度的同时,可以知道节点掉电后哪些数据丢失,采取相应的措施修复出掉电的数据,从而保证***数据的可靠性。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,所属领域的普通技术人员参照上述实施例依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。
Claims (5)
1.一种分布式文件***中写回模式下对象掉电识别方法,其特征在于:所述方法包括以下步骤:
步骤1:写回模式下写入待写入数据到对象的缓存中;
步骤2:存储节点将对象缓存中的数据写入到磁盘;
步骤3:对象掉电重启后,元数据服务器对对象进行修复。
2.根据权利要求1所述的分布式文件***中写回模式下对象掉电识别方法,其特征在于:所述步骤1包括以下步骤:
步骤1-1:客户端发送待写入数据到各个存储节点上;
步骤1-2:存储节点判断待写入数据的对象是否已记录打开状态,若未记录则记录其打开状态;
步骤1-3:数据写入到对象的缓存中后返回给客户端写入完成。
3.根据权利要求2所述的分布式文件***中写回模式下对象掉电识别方法,其特征在于:所述步骤1-2中,记录待写入数据的对象打开状态采用以下任一方式:
方式1:直接记录到对象的基本属性上;
方式2:统一记录到指定的硬盘文件上。
4.根据权利要求1所述的分布式文件***中写回模式下对象掉电识别方法,其特征在于:所述步骤2中,存储节点在后台将缓存中的数据写入到磁盘,当对象对应的缓存数据写入完后,删除对象的打开状态记录。
5.根据权利要求1所述的分布式文件***中写回模式下对象掉电识别方法,其特征在于:所述步骤3包括以下步骤:
步骤3-1:对象掉电重启后,扫描对象打开状态记录;
步骤3-2:将记录为打开状态的对象上报到元数据服务器;
步骤3-3:元数据服务器根据存储节点间的数据冗余机制,从未丢失数据的相关存储节点上获取数据,将该对象进行修复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410421946.5A CN104156327A (zh) | 2014-08-25 | 2014-08-25 | 一种分布式文件***中写回模式下对象掉电识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410421946.5A CN104156327A (zh) | 2014-08-25 | 2014-08-25 | 一种分布式文件***中写回模式下对象掉电识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104156327A true CN104156327A (zh) | 2014-11-19 |
Family
ID=51881832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410421946.5A Pending CN104156327A (zh) | 2014-08-25 | 2014-08-25 | 一种分布式文件***中写回模式下对象掉电识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104156327A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649142A (zh) * | 2016-12-02 | 2017-05-10 | 北京航天长征飞行器研究所 | 一种具有断电续存功能的高速存储器 |
CN106850856A (zh) * | 2017-03-28 | 2017-06-13 | 南京卓盛云信息科技有限公司 | 一种分布式存储***及其同步缓存方法 |
CN109614377A (zh) * | 2018-12-07 | 2019-04-12 | 浪潮电子信息产业股份有限公司 | 分布式文件***的文件删除方法、装置、设备及存储介质 |
CN114003176A (zh) * | 2021-11-03 | 2022-02-01 | 杭州海康存储科技有限公司 | 数据写入方法、装置及硬盘设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808127A (zh) * | 2010-03-15 | 2010-08-18 | 成都市华为赛门铁克科技有限公司 | 数据备份方法、***和服务器 |
CN102737131A (zh) * | 2012-06-21 | 2012-10-17 | 广州从兴电子开发有限公司 | 一种针对数据库重做日志的处理方法及*** |
US8327080B1 (en) * | 2010-09-28 | 2012-12-04 | Emc Corporation | Write-back cache protection |
-
2014
- 2014-08-25 CN CN201410421946.5A patent/CN104156327A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808127A (zh) * | 2010-03-15 | 2010-08-18 | 成都市华为赛门铁克科技有限公司 | 数据备份方法、***和服务器 |
US8327080B1 (en) * | 2010-09-28 | 2012-12-04 | Emc Corporation | Write-back cache protection |
CN102737131A (zh) * | 2012-06-21 | 2012-10-17 | 广州从兴电子开发有限公司 | 一种针对数据库重做日志的处理方法及*** |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649142A (zh) * | 2016-12-02 | 2017-05-10 | 北京航天长征飞行器研究所 | 一种具有断电续存功能的高速存储器 |
CN106649142B (zh) * | 2016-12-02 | 2019-09-06 | 北京航天长征飞行器研究所 | 一种具有断电续存功能的高速存储器 |
CN106850856A (zh) * | 2017-03-28 | 2017-06-13 | 南京卓盛云信息科技有限公司 | 一种分布式存储***及其同步缓存方法 |
CN109614377A (zh) * | 2018-12-07 | 2019-04-12 | 浪潮电子信息产业股份有限公司 | 分布式文件***的文件删除方法、装置、设备及存储介质 |
CN109614377B (zh) * | 2018-12-07 | 2022-04-22 | 浪潮电子信息产业股份有限公司 | 分布式文件***的文件删除方法、装置、设备及存储介质 |
CN114003176A (zh) * | 2021-11-03 | 2022-02-01 | 杭州海康存储科技有限公司 | 数据写入方法、装置及硬盘设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105574104B (zh) | 一种基于ObjectStore的LogStructure存储***及其数据写入方法 | |
CN103268318B (zh) | 一种强一致性的分布式键值数据库***及其读写方法 | |
CN104111804B (zh) | 一种分布式文件*** | |
AU2013403132B2 (en) | Data storage method, data storage apparatus, and storage device | |
WO2016041384A1 (zh) | 重复数据删除方法和装置 | |
US9996557B2 (en) | Database storage system based on optical disk and method using the system | |
CN105549905A (zh) | 一种多虚拟机访问分布式对象存储***的方法 | |
CN103226965B (zh) | 基于时间位图的音视频数据存取方法 | |
CN103793475B (zh) | 一种分布式文件***数据迁移的方法 | |
CN107798130A (zh) | 一种分布式存储的快照方法 | |
CN105100716B (zh) | 一种用于网络视频监控的安全存储单元及其*** | |
CN103514258B (zh) | 一种基于离线缓存文件操作集中记录预处理并重放的方法 | |
CN103516549B (zh) | 一种基于共享对象存储的文件***元数据日志机制 | |
CN104267912A (zh) | 一种nas加速方法及*** | |
US20160170656A1 (en) | Implementing enhanced performance flash memory devices | |
CN105786410A (zh) | 一种提高数据存储***处理速度的方法及数据存储*** | |
CN105224891A (zh) | 磁盘光盘融合数据安全存储方法、***及装置 | |
CN104156327A (zh) | 一种分布式文件***中写回模式下对象掉电识别方法 | |
CN107967122A (zh) | 一种块设备的数据写入方法、装置及介质 | |
CN103916459A (zh) | 一种大数据归档存储*** | |
CN105897859A (zh) | 一种存储*** | |
CN105224473A (zh) | 一种固态硬盘缓存数据的更新方法及装置 | |
CN104461929B (zh) | 基于***的分布式数据缓存方法 | |
CN109254958A (zh) | 分布式数据读写方法、设备及*** | |
CN105915595B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141119 |