CN105426779B - 一种利用nvram保证文件系统数据安全的方法 - Google Patents
一种利用nvram保证文件系统数据安全的方法 Download PDFInfo
- Publication number
- CN105426779B CN105426779B CN201510802620.1A CN201510802620A CN105426779B CN 105426779 B CN105426779 B CN 105426779B CN 201510802620 A CN201510802620 A CN 201510802620A CN 105426779 B CN105426779 B CN 105426779B
- Authority
- CN
- China
- Prior art keywords
- nvram
- file system
- write
- write request
- spaces
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000003860 storage Methods 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 7
- 230000036632 reaction speed Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6272—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
Abstract
本发明公开了一种利用NVRAM保证文件系统数据安全的方法,该方法包括:网络存储NAS客户端将数据的写入请求发送至文件系统层;所述文件系统层将所述写入请求存储在非易失性随机访问存储器NVRAM中;所述NVRAM设置于所述文件系统层中;所述NVRAM依据所述写入请求分析要写入的数据是否是安全数据,若是,向所述NAS客户端返回所述写入请求。该方法实现提高文件系统对客户端的响应速度。
Description
技术领域
本发明涉及存储技术领域,特别是涉及一种利用NVRAM保证文件系统数据安全的方法。
背景技术
目前,NVRAM(Non-Volatile Random Access Memory,非易失性随机访问存储器)是指断电后仍能保持数据的一种随机存储器RAM,常用在存储设备中保护数据写入到磁盘阵列前的数据安全。但是NVRAM成本比较高,文件系统又需要大量的用作缓冲cache的内存,需要将大量的普通RAM和少量NVRAM结合使用,做出既能降低整体成本又能保证数据在写入磁盘阵列前完整一致的规划设计。
常规下unix系统的NVRAM设计在块设备层,即块层,如附图1,这样网络存储NAS客户端需要将数据写到块设备层中的NVRAM才能保证文件系统数据的安全,这样需要让数据从网络存储NAS客户端写入文件系统层,再从文件系统写入块设备层,再进入到NVRAM中,这样使得文件系统响应客户端产生较长的时延,响应速度较低。
发明内容
本发明的目的是提供一种利用NVRAM保证文件系统数据安全的方法,以实现提高文件系统对客户端的响应速度。
为解决上述技术问题,本发明提供一种利用NVRAM保证文件系统数据安全的方法,该方法包括:
网络存储NAS客户端将数据的写入请求发送至文件系统层;
所述文件系统层将所述写入请求存储在非易失性随机访问存储器NVRAM中;所述NVRAM设置于所述文件系统层中;
所述NVRAM依据所述写入请求分析要写入的数据是否是安全数据,若是,向所述NAS客户端返回所述写入请求。
优选的,所述NVRAM包括两个NVRAM空间,分别为第一NVRAM空间和第二NVRAM空间,所述第一NVRAM空间和第二NVRAM空间的存储容量是相同的。
优选的,所述文件系统层将所述写入请求存储在非易失性随机访问存储器NVRAM中,包括:
所述文件系统将所述写入请求写入所述第一NVRAM空间或者所述第二NVRAM空间;其中,在同一个时间点,所述第一NVRAM空间和所述第二NVRAM空间之中仅有一个被用来接收并存储所述写入请求。
优选的,所述文件系统将所述写入请求写入所述第一NVRAM空间或者所述第二NVRAM空间之后,还包括:
当当前正在使用的一个NVRAM空间被写满时或者使用时间超过时间阈值时,所述文件系统将所述写入请求切换到另一个NVRAM空间。
优选的,所述文件系统将所述写入请求写入所述第一NVRAM空间或者所述第二NVRAM空间之后,还包括:
当当前正在使用的一个NVRAM空间被写满时,将被写满的NVRAM空间组织进行一次下刷。
优选的,当所述写入请求的操作标识为建立标识时,所述写入请求的数据格式包括:create标识、父目录inode,文件名和权限标识。
优选的,当所述写入请求的操作标识为写入标识时,所述写入请求的数据格式包括:write标识、文件inode,偏移量,长度和写入内容。
优选的,当所述写入请求的操作标识为打开标识时,所述写入请求的数据格式为:open标识、文件inode和偏移量。
本发明所提供的一种利用NVRAM保证文件系统数据安全的方法,网络存储NAS客户端将数据的写入请求发送至文件系统层;所述文件系统层将所述写入请求存储在非易失性随机访问存储器NVRAM中;所述NVRAM设置于所述文件系统层中;所述NVRAM依据所述写入请求分析要写入的数据是否是安全数据,若是,向所述NAS客户端返回所述写入请求。该方法将NVRAM设计在文件系统一层,当NAS客户端的写入请求到达文件系统层后,会被首先存储在NVRAM中,这时NAS客户端的写请求便会返回,提高了文件系统对客户请求的反应速度,通过将NVRAM设计在文件系统层,提高了文件系统对NAS客户端的响应速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为传统unix系统NVRAM使用示意图;
图2为本发明提供的一种利用NVRAM保证文件系统数据安全的方法的流程示意图;
图3为本发明NVRAM使用示意图;
图4为NVRAM数据下刷示意图。
具体实施方式
本发明的核心是提供一种利用NVRAM保证文件系统数据安全的方法,以实现提高文件系统对客户端的响应速度。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图2,图2为本发明提供的一种利用NVRAM保证文件系统数据安全的方法的流程示意图,该方法包括:
S11:网络存储NAS客户端将数据的写入请求发送至文件系统层;
其中,数据的写入请求的格式有多种,当写入请求的操作标识为建立标识时,写入请求的数据格式包括:create标识、父目录inode,文件名和权限标识。当写入请求的操作标识为写入标识时,写入请求的数据格式包括:write标识、文件inode,偏移量,长度和写入内容。当写入请求的操作标识为打开标识时,写入请求的数据格式为:open标识、文件inode和偏移量。这样通过对要保护的数据的写入请求的数据格式优化,减少对NVRAM的用量比例,也降低整体成本,而且数据格式被优化,更加简化,对于简化的写入数据,响应速度更快,提高文件系统对NAS客户端的响应速度,
S12:文件系统层将写入请求存储在非易失性随机访问存储器NVRAM中;
其中,NVRAM设置于文件系统层中。将NVRAM设计在文件系统层,可参考图3,图3为本发明NVRAM使用示意图,文件系统层中包括文件系统和NVRAM,通过将NVRAM设计在文件系统层,提高了文件系统对NAS客户端的响应速度,。
其中,NVRAM包括两个NVRAM空间,分别为第一NVRAM空间和第二NVRAM空间,第一NVRAM空间和第二NVRAM空间的存储容量是相同的。
其中,文件系统层将写入请求存储在非易失性随机访问存储器NVRAM中的过程具体为:文件系统将写入请求写入第一NVRAM空间或者第二NVRAM空间;其中,在同一个时间点,第一NVRAM空间和第二NVRAM空间之中仅有一个被用来接收并存储写入请求。
其中,文件系统将写入请求写入第一NVRAM空间或者第二NVRAM空间之后,当当前正在使用的一个NVRAM空间被写满时或者使用时间超过时间阈值时,文件系统将写入请求切换到另一个NVRAM空间,当当前正在使用的一个NVRAM空间被写满时,将被写满的NVRAM空间组织进行一次下刷。这样通过写满的NVRAM空间组织下刷流程,使异常宕机再上电后能有效的组织下刷停留在NVRAM中的数据,尽快恢复正常作业,NVRAM中仍有充足的存储空间用来处理写入请求,这样在宕机再上电之后的情况下,仍能提高文件系统对NAS客户端的响应速度。
S13:NVRAM依据写入请求分析要写入的数据是否是安全数据,若是,向NAS客户端返回写入请求。
本发明所提供的一种利用NVRAM保证文件系统数据安全的方法,该方法将NVRAM设计在文件系统一层,当NAS客户端的写入请求到达文件系统层后,会被首先存储在NVRAM中,这时NAS客户端的写请求便会返回,提高了文件系统对客户请求的反应速度,通过将NVRAM设计在文件系统层,提高了文件系统对NAS客户端的响应速度。
具体的,对于NVRAM位置设置,将NVRAM设计在文件系统一层,当NAS客户端的写数据即写入请求到达文件系统层后,会被首先存储在NVRAM中,这时NAS客户端的写入请求便会返回,提高了文件系统对客户请求的反应速度。通过将NVRAM设计在文件系统层,提高了文件系统对NAS客户端的响应速度。
对于NVRAM使用方面,将NVRAM会被平均分成两份空间,在一个时间点只有一块空间被用来接收并储存NAS客户端的写入请求即写请求数据。当当前使用的空间被写满或者超过一定时间阈值,例如8s,文件系统会将NAS客户端的写入请求切换到另一块空间。被写满的NVRAM空间中的数据会被组织进行一次下刷,这样不断在两块空间进行切换存储客户端的写入请求。这样通过写满的NVRAM空间组织下刷流程,使异常宕机再上电后能有效的组织下刷停留在NVRAM中的数据,尽快恢复正常作业,NVRAM中仍有充足的存储空间用来处理写入请求,这样在宕机再上电之后的情况下,仍能提高文件系统对NAS客户端的响应速度。
详细的,当一块NVRAM空间写满或者时间超过一定阈值,文件系统会触发一次下刷流程。当异常宕机再次上电后也会先进行一次彻底的数据下刷工作,参考图4,图4为NVRAM数据下刷示意图。图4中,NVRAM分为两部分,左端部分和右端部分,左端NVRAM空间是左端第一行存储open c.test的那一列存储空间,是还没有写进数据的NVRAM空间;右端NVRAM空间是右边第一行为remove b.test的那一列存储空间,是已经被写满的存储空间,由于右端NVRAM空间已经被写满了,NAS客户端下发的业务转移到左端NVRAM空间;右端NVRAM空间里面的数据中,与事物b相对应的存储数据都读入到缓冲器B中,与事务a相对应的存储数据都读入到缓冲器A中。
具体下刷流程如下:
(1)发起程序发出下刷请求,这时客户端发来的正常业务已经被转移到另一块NVRAM空间中。
(2)发起程序通过访问NVRAM中请求报文req header确定请求req的数量。一组相关联的请求对应一个事务,并将事务块的状态设置成新状态,即设置为“new”。每个事务块包含状态标志位和一个指针指向缓冲器buffer。
(3)如果事务块的状态不是再次加载状态,即“load again”,则将各个事务所需数据并行的读入缓冲器buffer中,读取成功后设置事务块的状态为被加载状态,即“loaded”。如果读取失败,标记错误并把事务块的状态设置成再次加载状态,即“load again”,当所有先决条件事务完成后重新加载。
(4)按照日志记录nvlog记录顺序,依次对缓冲器buffer中的数据执行修改操作,包括文件数据和元数据。如果修改成功则将事务块状态设置为被改进的,即“modified”。
(5)全部事务的数据处理完毕后,将事务相关的缓冲器buffer的数据下刷到磁盘。如果某个事物重新加载的次数超过阈值则返回错误。
对于NVRAM存储的数据的写入请求的数据格式方面,进行了优化,具体的,NVRAM存储的内容类似于线上交易处理OLTP数据库系统的log记录,每条NAS客户端的写入请求的数据格式被记录为类似如下形式:
create标识父目录inode文件名权限标识;
open标识文件inode偏移量;
write标识文件inode偏移量长度写入内容;
remove标识文件inode;
如此,当create操作时除了给出父目录inode和文件名外还需要相应权限字段。open操作时需要给出偏移量。write操作为主要操作,需要给出偏移量、写入长度和写入内容,当写入内容为空或特殊标识时为删除文件内容操作。Remove操作为删除整个文件。这样尽最大程度精简每条NAS客户端写入请求的数据格式的内容,以最大程度利用NVRAM空间。这样通过对要保护的数据的写入请求的数据格式优化,减少对NVRAM的用量比例,也降低整体成本,而且数据格式被优化,更加简化,对于简化的写入数据,响应速度更快,提高文件系统对NAS客户端的响应速度。
综上,本发明所提供的一种利用NVRAM保证文件系统数据安全的方法,本发明所提供的一种利用NVRAM保证文件系统数据安全的方法,该方法将NVRAM设计在文件系统一层,当NAS客户端的写入请求到达文件系统层后,会被首先存储在NVRAM中,这时NAS客户端的写入请求便会返回,提高了文件系统对客户请求的反应速度,通过将NVRAM设计在文件系统层,提高了文件系统对NAS客户端的响应速度。
并且,通过对要保护的数据的写入请求的数据格式优化,减少对NVRAM的用量比例,也降低整体成本,而且数据格式被优化,更加简化,对于简化的写入数据,响应速度更快,提高文件系统对NAS客户端的响应速度;通过写满的NVRAM空间组织下刷流程,使异常宕机再上电后能有效的组织下刷停留在NVRAM中的数据,尽快恢复正常作业,NVRAM中仍有充足的存储空间用来处理写入请求,这样在宕机再上电之后的情况下,仍能提高文件系统对NAS客户端的响应速度。
以上对本发明所提供的一种利用NVRAM保证文件系统数据安全的方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种利用NVRAM保证文件系统数据安全的方法,其特征在于,包括:
网络存储NAS客户端将数据的写入请求发送至文件系统层;
所述文件系统层将所述写入请求存储在非易失性随机访问存储器NVRAM中;所述NVRAM设置于所述文件系统层中;
所述NVRAM依据所述写入请求分析要写入的数据是否是安全数据,若是,向所述NAS客户端返回所述写入请求。
2.如权利要求1所述的方法,其特征在于,所述NVRAM包括两个NVRAM空间,分别为第一NVRAM空间和第二NVRAM空间,所述第一NVRAM空间和第二NVRAM空间的存储容量是相同的。
3.如权利要求2所述的方法,其特征在于,所述文件系统层将所述写入请求存储在非易失性随机访问存储器NVRAM中,包括:
所述文件系统将所述写入请求写入所述第一NVRAM空间或者所述第二NVRAM空间;其中,在同一个时间点,所述第一NVRAM空间和所述第二NVRAM空间之中仅有一个被用来接收并存储所述写入请求。
4.如权利要求3所述的方法,其特征在于,所述文件系统将所述写入请求写入所述第一NVRAM空间或者所述第二NVRAM空间之后,还包括:
当当前正在使用的一个NVRAM空间被写满时或者使用时间超过时间阈值时,所述文件系统将所述写入请求切换到另一个NVRAM空间。
5.如权利要求3所述的方法,其特征在于,所述文件系统将所述写入请求写入所述第一NVRAM空间或者所述第二NVRAM空间之后,还包括:
当当前正在使用的一个NVRAM空间被写满时,将被写满的NVRAM空间组织进行一次下刷。
6.如权利要求1至5中任意一项所述的方法,其特征在于,当所述写入请求的操作标识为建立标识时,所述写入请求的数据格式包括:create标识、父目录inode,文件名和权限标识。
7.如权利要求1至5中任意一项所述的方法,其特征在于,当所述写入请求的操作标识为写入标识时,所述写入请求的数据格式包括:write标识、文件inode,偏移量,长度和写入内容。
8.如权利要求1至5中任意一项所述的方法,其特征在于,当所述写入请求的操作标识为打开标识时,所述写入请求的数据格式为:open标识、文件inode和偏移量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510802620.1A CN105426779B (zh) | 2015-11-19 | 2015-11-19 | 一种利用nvram保证文件系统数据安全的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510802620.1A CN105426779B (zh) | 2015-11-19 | 2015-11-19 | 一种利用nvram保证文件系统数据安全的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105426779A CN105426779A (zh) | 2016-03-23 |
CN105426779B true CN105426779B (zh) | 2018-06-05 |
Family
ID=55504982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510802620.1A Active CN105426779B (zh) | 2015-11-19 | 2015-11-19 | 一种利用nvram保证文件系统数据安全的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105426779B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101014929A (zh) * | 2004-07-30 | 2007-08-08 | 美国联合包裹服务公司 | 使用nvram进行存储器管理的系统、方法、计算机可读介质和设备 |
KR20110076345A (ko) * | 2009-12-29 | 2011-07-06 | 홍익대학교 산학협력단 | 비휘발성 램을 이용하여 연산 처리의 원자성을 보장하는 컴퓨팅 시스템 및 방법 |
CN102799497A (zh) * | 2011-05-24 | 2012-11-28 | 鸿富锦精密工业(深圳)有限公司 | Nvram数据恢复系统及方法 |
CN103975287A (zh) * | 2011-12-13 | 2014-08-06 | 英特尔公司 | 使用非易失性随机存取存储器的服务器中的增强系统睡眠状态支持 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8448023B2 (en) * | 2010-04-30 | 2013-05-21 | Honeywell International Inc. | Approach for data integrity in an embedded device environment |
-
2015
- 2015-11-19 CN CN201510802620.1A patent/CN105426779B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101014929A (zh) * | 2004-07-30 | 2007-08-08 | 美国联合包裹服务公司 | 使用nvram进行存储器管理的系统、方法、计算机可读介质和设备 |
KR20110076345A (ko) * | 2009-12-29 | 2011-07-06 | 홍익대학교 산학협력단 | 비휘발성 램을 이용하여 연산 처리의 원자성을 보장하는 컴퓨팅 시스템 및 방법 |
CN102799497A (zh) * | 2011-05-24 | 2012-11-28 | 鸿富锦精密工业(深圳)有限公司 | Nvram数据恢复系统及方法 |
CN103975287A (zh) * | 2011-12-13 | 2014-08-06 | 英特尔公司 | 使用非易失性随机存取存储器的服务器中的增强系统睡眠状态支持 |
Also Published As
Publication number | Publication date |
---|---|
CN105426779A (zh) | 2016-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093149B2 (en) | Method to efficiently store object data of an object storage service on a magnetic disk drive and magnetic SMR disk drive | |
CN107967124B (zh) | 一种分布式持久性内存存储系统及方法 | |
US8806115B1 (en) | NVRAM data organization using self-describing entities for predictable recovery after power-loss | |
CN104111804B (zh) | 一种分布式文件系统 | |
US8682867B2 (en) | Deleted data recovery in data storage systems | |
CN105453021B (zh) | 用于原子存储操作的系统和方法 | |
CN103514249B (zh) | 一种数据自精简方法和系统及存储装置 | |
US7882304B2 (en) | System and method for efficient updates of sequential block storage | |
CN105843551A (zh) | 高性能和大容量储存重复删除中的数据完整性和损耗电阻 | |
CN105718217B (zh) | 一种精简配置存储池数据一致性维护的方法及装置 | |
CN104239518B (zh) | 重复数据删除方法和装置 | |
CN109800185B (zh) | 一种数据存储系统中的数据缓存方法 | |
US7577808B1 (en) | Efficient backup data retrieval | |
US10606760B2 (en) | Nonvolatile memory devices and methods of controlling the same | |
CN107209714A (zh) | 分布式存储系统及分布式存储系统的控制方法 | |
CN103514210B (zh) | 小文件处理方法及装置 | |
CN107798130A (zh) | 一种分布式存储的快照方法 | |
CN107463447A (zh) | 一种基于远程直接非易失内存访问的b+树管理方法 | |
US10152412B2 (en) | Smart flash cache logger | |
US9990150B2 (en) | Method to provide transactional semantics for updates to data structures stored in a non-volatile memory | |
CN106951375A (zh) | 在存储系统中删除快照卷的方法及装置 | |
CN110196818A (zh) | 缓存数据的方法、缓存设备和存储系统 | |
CN112527186A (zh) | 一种存储系统、存储节点和数据存储方法 | |
CN104965835B (zh) | 一种分布式文件系统的文件读写方法及装置 | |
CN104616680A (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 |