CN1553325A - 一种透明扩充文件***功能的方法 - Google Patents
一种透明扩充文件***功能的方法 Download PDFInfo
- Publication number
- CN1553325A CN1553325A CNA031381251A CN03138125A CN1553325A CN 1553325 A CN1553325 A CN 1553325A CN A031381251 A CNA031381251 A CN A031381251A CN 03138125 A CN03138125 A CN 03138125A CN 1553325 A CN1553325 A CN 1553325A
- Authority
- CN
- China
- Prior art keywords
- file system
- interlayer
- file
- function
- operations
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种透明扩充文件***功能的方法,其文件***包括虚拟文件***VFS和底层文件***,在VFS层标准调用接口和底层文件***接口之间,还设置一个夹层文件***,当应用程序发出一个文件***的请求时,***调用接口先将该请求提交给VFS层处理函数;VFS通过标准调用接口将请求提交给所述夹层文件***;由该夹层文件***进行特殊事务处理后,再将事务提交给底层的具体文件***;最后由底层文件***来实现实际的数据存取或输入输出。本发明可以在原有的已经实现的多种文件***基础上,截获文件***的请求,封装自己的处理,增强文件***的功能,并且不破坏VFS层的标准接口和具体文件***的代码完整性,实现各种特殊的应用。
Description
技术领域
本发明涉及一种增强文件***功能的方法,特别是涉及一种能透明地扩充文件***功能的方法,所谓“透明”指的是用户和用户态程序无法干预。
背景技术
所有的计算机程序都要存储信息和检索信息。对于长期存储的信息,有以下三个要求:一是要有足够的空间存储信息。二是在使用信息的进程终止时,信息必须保存下来。三是多个进程可以并发存取信息。满足以上三个要求的常用方法是把信息以一种称之为“文件”的单元保存在磁盘或其他的外部存储介质上。文件是由操作***来管理的。文件的命名、存储空间的分配、文件的存取和使用等都是由操作***中的“文件***”管理单元来管理的。
文件***可以被看成是一个多功能的管理器,它既是空间管理器、I/O管理器、目录管理器,对于特殊的日志文件***它还是事务管理器。一种操作***可以支持多种不同的文件***,例如Linux操作***可以支持的文件***有ext2、ext3、jfs、Reiserfs、xfs等。为了支持各种不同的文件***,很多操作***在设计之初就考虑到了兼容性,UFS就是UNIX的标准文件***界面,只要符合这个标准的文件***都可以在UNIX上运行。这样就诞生了一个内核的子***-VFS(Virtual File System)虚拟文件***层,它作为一个转换开关来支持各种不同的文件***。VFS提供了一系列标准的操作集合来管理和操作文件,这些操作集合都是由相关的函数指针来定义的。操作***将各种不同的对文件***的请求通过***调用接口提交到VFS层。VFS层经过判断,来决定这个请求由哪个底层文件***来实现,从而调用相应文件***的操作处理函数。
各种文件***都有自己的特长,有的文件***写大文件的性能高;有些文件对小文件的处理能力强;日志文件***可以将改变文件***的各个操作,记录到日志中去,一旦***崩溃,可以按照日志快速恢复文件***的一致性。但是无论什么文件***,它提供给用户的功能大体相同,无外乎对文件的存取和目录的管理等。如果用户希望文件***提供额外的附加功能,通常的方法是修改具体文件***的实现函数,按照用户的需求,添加对事务的处理。但是这种做法有两个缺点,其一就是如果用户希望多种文件***都提供它所需要的功能,就必须逐一修改具体文件***的代码,这样做的结果既不利于原来文件***代码的完整性,同时兼容性也很差。有人提出了修改VFS层的建议来解决兼容性的问题,但是这样做的代价就是破坏了VFS层的标准,同时依然解决不了另外一个问题。另外一个问题就是,这样对文件***修改,满足不了用户随时增加或撤销对特殊事务处理的要求,灵活性很差。
发明内容
本发明的目的在于,按照不同用户的特殊需求,提供一种透明扩充文件***功能的方法。本发明还可以使用户随时根据需要启动或者关闭对文件***的特殊事务处理,而不影响原有的底层文件***。
本发明所述的一种透明扩充文件***功能的方法,其文件***包括虚拟文件***VFS和底层文件***,在VFS层标准调用接口和底层文件***接口之间,还包括一个夹层文件***(Interlayer File System),当一个应用程序发出一个文件***的请求时,***调用接口先将该请求提交给VFS层处理函数,VFS通过标准调用接口将请求提交给夹层文件***,由该夹层文件***进行特殊事务处理后,例如对数据加密,压缩或者读/写的重定向等,再将事务提交给底层的具体文件***,最后,由底层文件***来实现实际的数据存取或输入输出。
如上所述的一种透明的扩充文件***功能的方法,所述夹层文件***为一个可随时装载或卸除装载的模块,当模块装载后,夹层文件***截获VFS向下提交的请求;卸载模块后,则恢复原来的操作流程,VFS层直接将请求提交底层文件***,由底层文件***具体实现各种请求。
本发明所述方法可以在原有的已经实现的多种文件***基础上,截获文件***的请求,封装自己的处理,增强文件***的功能,并且不破坏VFS层的标准接口和具体文件***的代码完整性,实现各种特殊的应用。
附图说明
图1为夹层文件***结构图;
图2为***调用写事务write的处理流程;
图3为夹层文件***操作集合的数据结构关系图;
图4为夹层文件***读超级块interlayer_read_super.的操作流程图;
图5为创建内存inode的操作函数interlayer_read_inode流程图;
图6为夹层文件***写操作interlayer_write流程图。
具体实施方式
下面结合附图对本发明再作进一步详细的说明。
本发明提出的夹层文件***的概念是受了VFS的启发,而VFS就是一个不可装载的并且已经成为标准的夹层文件***。如果修改了VFS层的话,必将要求所有的文件***都经过特殊事务的处理,并且装载的灵活性受到了限制。因此在VFS和具体文件***(例如ext2,jfs,xfs等)的基础上,本发明提出了夹层文件***的概念。
如图1所示,本发明并不是真正的实现一个具体的文件***,而是在VFS层和具体文件***之间封装的标准调用接口,以实现扩展文件***的功能。在装载了夹层文件***的情况下,当一个应用程序发出一个文件***的请求时,***调用接口将该请求先提交给VFS层处理函数,VFS通过标准调用接口将请求提交给夹层文件***,由该夹层文件***进行特殊事务处理后,如对数据加密,压缩或者读/写的重定向等,再将事务提交给底层的具体文件***,最后,由底层文件***来实现实际的数据存取或I/O。
VFS层提供的标准调用接口,包括四个操作函数集合:
关于超级块的操作集合(super_operations);
关于i节点的操作集合(inode_operations);
关于文件的操作合集(file_operations);
关于地址空间的操作集合(address_space_operations)。其中:
inode_operations、file_operations和address_space_operations直接挂在
文件***的基本对象i节点上;而super_operations直接挂接在文件***的超级块上;同时i节点上保存有超级块的指针,因此通过i节点可以间接访问到per_operations。这四个操作集合都是由不同的函数指针组成的结构,而这些函数指针则指向了具体的文件***所实现的操作函数。VFS层就是将各种文件***的请求通过这四个操作集的调用提交给具体文件***的。因此,只需要实现这四个操作集合,并且将自己实现的操作集合覆盖到i节点和超级块上的函数指针,就可以截获VFS向下提交的请求了。
另外,为了增加***的灵活性,根据操作***提供的可装载模块的实现规则,通过将夹层文件***实现为可装载模块,随时可以根据用户的需求动态的装载和卸载夹层文件***到操作***的内核中,来实现启动和关闭对文件***的特殊事务的处理过程。
图2用***调用写操作的处理流程来进一步说明上述的体系结构。首先当应用程序请求写操作时,操作***将写请求通过***调用接口传递给虚拟文件***的处理函数,虚拟文件***转发写请求给夹层文件***,夹层文件***再通过对写请求的数据块压缩/加密后重新组织写磁盘的数据内容,最后将新的数据内容作为参数提交给底层文件***JFS(日志文件***)进行真正写事务处理。
下面具体地以本发明应用于压缩文件***和加密文件***为例,说明基于JFS(Journal File System)日志文件***,是如何利用夹层文件***实现文件***数据加密和数据压缩的。
加密/压缩文件***的实现原理在于创建一个夹层文件***,并封装文件***的读和写请求。通常情况下,当应用程序发出对文件***的写文件请求时,写***调用将此请求提交给VFS层,VFS再通过调用底层文件***的函数实现写操作;但是如果用户请求对数据进行压缩或者加密,即挂接了加密/压缩夹层文件***后,用户的写请求将会在VFS向底层文件***提交时被截获,先通过加密/压缩夹层文件***对写数据缓冲区的内容压缩/加密,然后再调用底层文件***的函数实现真正的写文件操作。这就要求夹层文件***的操作函数集合inode_operations、file_operations、super_operations和address_space_operations要覆盖掉原有inode下挂接的JFS对应的操作函数集合。如何将文件***调用接口的实现函数指针指向带有加密/压缩功能的操作函数集是实现压缩/加密文件***的第一步。
考虑到inode是内存中结构,其下的属性i_op和i_fop和i_mapping的成员a_ops分别指向文件***的inode_operations、file_operations和address_space_operations,而这三个的属性值是在读磁盘i节点创建内存inode的过程中被赋值的,因此需要改写创建内存inode的过程,好让inode的i_op和i_fop等指向夹层文件***的操作函数。在创建内存inode的过程中,不但需要调用真正底层文件***的函数读出磁盘i节点,创建内存inode的各种属性,同时还要求重定向inode的各个操作集合,即覆盖操作集函数指针,详见附图5说明。
但是,创建inode的操作本身也属于操作集合super_operations,因此为了覆盖i_op和i_fop和i_mapping的成员操作集合a_ops,应该首先覆盖超级块的super_operations。而这个操作集合是在文件***被挂接的时候被安装的,即在read_super时安装的,所以应该首先改写read_super函数,详见附图4说明。
附图3是夹层文件***的主要操作集合和数据结构的关系图。从图3中可以得知:夹层文件***的主要数据结构interlayer_fs包括了四个操作函数集合。其中o_fops是夹层文件***的对象(文件、目录和连接)各自的inode_operations、file_operations和super_operations组成的结构。而这些操作集合最终将要调用具体的底层文件***的实现函数,因此interlayer_fs中的o_caops保存了原来底层文件***对象(文件、目录和连接)的各自的inode_operations、file_operations和super_operations。如果需要的话可以加入日志的操作集合o_jrops和实现附加功能的操作集合o_addops,例如数据加密/解密,数据压缩/解压。
附图4是夹层文件***读超级块interlayer_read_super.的操作流程图。如上所述,读超级块是为了在挂接文件***时,覆盖底层文件***的super_operations。
第一步,分析挂接文件***操作传入的参数并且判断底层文件***的类型;初始化一个全局变量interlayer_cache为夹层文件***超级块内存结构,在这个结构中保存底层文件***的真正的超级块指针和夹层文件***操作结构interlayer_fs。由于夹层文件***并不是真正的文件***,因此要保存真正文件***的超级块,以供后面真正的***调用实现使用。
第二步,调用真正底层文件***的read_super函数,读出超级块的内容并且获取底层文件***的super_operations。
第三步,安装夹层文件***的super_operations。具体的实现方法是首先将底层文件***的super_operations拷贝到夹层文件***的超级块的操作集属性,然后判断是否需要改变super_operations的某个操作,如果夹层文件***的某个操作改变了原来的操作,就修改该操作的函数指针,令它指向的新的操作函数。这样就保证了操作集合的完整性。如果夹层文件***不需要改变的操作,就使用默认原来的底层文件***操作函数。
第四步,安装根目录节点(挂接点)的inode_operations,file_operations和address_space_operations,令根目录的各个操作集合指向新的操作函数。
第五步,函数返回。
附图5是创建内存inode的操作函数interlayer_read_inode流程图。如上所述,重写读inode的操作是为了在创建内存inode的同时,重定向inode的各个操作集合。
第一步,取出夹层文件***的超级块内存结构,也就是在read_super时读出的全局变量interlayer_cache,通过它可以获得底层文件***的超级块和各种操作集合。
第二步,调用底层文件***的读inode函数,根据磁盘inode在内存中创建一个内存inode结构,并且给inode结构的各种属性赋值。
第三步,判断inode的类型(目录、文件还是链接)。分别为内存inode安装inode_operations,file_operations和address_space_operations。安装操作集合的方法与安装super_operations一样。
第四步,函数返回。
附图6是写操作interlayer_write流程图。从图6中可以看到是如何封装数据加密/压缩操作的。通过图6,可以清晰的看到夹层文件***是如何在事务处理的过程中发挥作用的。
第一步,取出底层文件***的file_opertions函数指针。
第二步,对write请求传递的参数数据缓冲区进行特殊处理。如:对于压缩文件***在此可以利用压缩算法,压缩缓冲区的数据;对于加密文件***可以利用加密算法对缓冲区中的数据进行加密。
第三步,调用具体的底层文件***的write函数,将处理过的缓冲区中的数据真正的提交到I/O设备驱动,完成磁盘写操作。
第四步,函数返回。
同样,如果需要封装该夹层文件***的读操作,具体的是编写夹层文件***的read函数,在读出数据后,利用解压缩算法将压缩后的数据返回给用户;或者利用解密算法对读出的数据解密后,再拷贝返回给用户。
通过上面的描述可以看出,仅仅通过对读/写操作的封装,就可以实现透明的扩充文件***的功能,使文件***具有加密/解密和压缩/解压的功能。其实夹层文件***的应用还远远不止这些,利用对夹层文件***读/写操作的封装,还可以做到对读/写操作的重定向。同样,可以控制的远远不仅仅局限于读/写操作的封装,通过封装inode_operations、file_operations和address_space_operations中任意函数,夹层文件***还可以实现更多的其他功能。
为了使夹层文件***更加灵活,将夹层文件***实现为一个可安装模块,在不必对内核重新编译连接的条件下,将可安装模块动态地***运行中的内核中,使之成为内核的一个有机组成部分,便可使文件***增加特殊的功能;或者从内核中移走已经安装的模块,从而取消文件***对特殊事务的处理。例如,在Linux中,其具体实现方式是通过调用module_init(初始化夹层文件***)和module_exit(退出夹层文件***)来实现的。在初始化夹层文件***的时候,注册夹层文件***;而在退出夹层文件***的函数里,取消已注册的夹层文件***。
最后所应说明的是:以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,对于不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
Claims (9)
1、一种透明扩充文件***功能的方法,其文件***包括虚拟文件***VFS和底层文件***,其特征在于,在VFS层标准调用接口和底层文件***接口之间,还设置一个夹层文件***(Interlayer File System),当一个应用程序发出一个文件***的请求时,***调用接口先将该请求提交给VFS层处理函数;VFS通过标准调用接口将请求提交给所述夹层文件***;由该夹层文件***进行特殊事务处理后,再将事务提交给底层的具体文件***;最后,由底层文件***来实现实际的数据存取或输入输出。
2、根据权利要求1所述的透明扩充文件***功能的方法,其特征在于,通过重定向文件***的操作集合实现特殊事务的处理,步骤包括:
步骤21,通过夹层文件***读超级块interlayer_read_super的操作,覆盖底层文件***的超级操作集合super_operations;
步骤22,在创建内存i节点的同时,重定向i节点的三种操作集合;
步骤23,在夹层文件***实现i节点的各种操作集合函数,完成特殊事务的处理。
3、根据权利要求2所述的透明扩充文件***功能的方法,其特征在于,所述步骤21进一步包括:
分析挂接文件***操作传入的参数并且判断底层文件***的类型;初始化一个全局变量interlayer_cache为夹层文件***超级块内存结构,在这个结构中保存底层文件***的真正的超级块指针和夹层文件***操作结构interlayer_fs;
调用真正底层文件***的读超级块read_super函数,读出该超级块的内容并且获取底层文件***的超级操作super_operations;
安装夹层文件***的超级操作super_operations;
安装根目录节点(挂接点)的inode_operations,file_operations和address_space_operations,令根目录的各个操作集合指向新的操作函数;
函数返回。
4、根据权利要求3所述的透明扩充文件***功能的方法,其特征在于,所述安装夹层文件***的超级操作super_operations具体包括:
首先,将底层文件***的超级操作super_operations拷贝到夹层文件***的超级块的操作集属性;
然后,判断是否需要改变超级操作super_operations的某个操作,如果夹层文件***的某个操作改变了原来的操作,就修改该操作的函数指针,令它指向新的操作函数;如果夹层文件***不需要改变操作,就使用默认原来的底层文件***操作函数。
5、根据权利要求3所述的透明扩充文件***功能的方法,其特征在于,所述步骤22进一步包括:
取出夹层文件***的超级块内存结构;
调用底层文件***的读inode函数,根据磁盘inode在内存中创建一个内存inode结构,并且给inode结构的各种属性赋值;
判断inode的类型属于目录、文件还是链接,分别为内存inode安装i节点操作inode_operations,文件操作file_operations和地址空间操作address_space_operations;
函数返回。
6、根据权利要求3所述的透明扩充文件***功能的方法,其特征在于,所述步骤23进一步包括:
取出底层文件***的文件操作file_opertions或i节点操作inode_operations或地址空间操作address_space_operations的函数指针;
对需要扩充功能的对应函数进行特殊处理。
7、根据权利要求1-6任一所述的透明扩充文件***功能的方法,其特征在于,所述夹层文件***为一个可随时装载或卸除装载的模块,当模块装载后,夹层文件***截获VFS向下提交的请求;卸载模块后,则恢复原来的操作流程,VFS层直接将请求提交底层文件***,由底层文件***具体实现各种请求。
8、根据权利要求7所述的透明扩充文件***功能的方法,其特征在于,所述模块装载是通过调用初始化夹层文件***(module_init)来注册夹层文件***。
9、根据权利要求8所述的透明扩充文件***功能的方法,其特征在于,所述模块卸载是通过调用退出夹层文件***(module_exit)来取消已注册的夹层文件***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03138125 CN1266603C (zh) | 2003-06-05 | 2003-06-05 | 一种透明扩充文件***功能的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03138125 CN1266603C (zh) | 2003-06-05 | 2003-06-05 | 一种透明扩充文件***功能的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1553325A true CN1553325A (zh) | 2004-12-08 |
CN1266603C CN1266603C (zh) | 2006-07-26 |
Family
ID=34323659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03138125 Expired - Lifetime CN1266603C (zh) | 2003-06-05 | 2003-06-05 | 一种透明扩充文件***功能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1266603C (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100386737C (zh) * | 2005-05-30 | 2008-05-07 | 杨来 | 基于包结构的数据恢复方法 |
CN100407139C (zh) * | 2005-03-31 | 2008-07-30 | 株式会社日立制作所 | 文件***和构建增强其功能的方法、操作***、记录装置 |
CN100504873C (zh) * | 2006-01-10 | 2009-06-24 | 国际商业机器公司 | 管理归档文件***的方法和装置 |
CN102682129A (zh) * | 2012-05-17 | 2012-09-19 | 北京像素软件科技股份有限公司 | 一种基于虚拟文件***的数据读取方法 |
CN103020199A (zh) * | 2012-12-05 | 2013-04-03 | 上海创图网络科技发展有限公司 | 适用于不同操作***平台的虚拟文件***及其应用 |
CN103593424A (zh) * | 2013-11-07 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种软硬件压缩可配置的大数据处理*** |
CN104573061A (zh) * | 2015-01-23 | 2015-04-29 | 南开大学 | 一种支持扩展功能的虚拟文件***装置和方法 |
CN104850401A (zh) * | 2015-05-07 | 2015-08-19 | 南京大学 | 一种用PVFS替代Hadoop存储模块的方法 |
CN105205094A (zh) * | 2015-08-12 | 2015-12-30 | 浪潮(北京)电子信息产业有限公司 | 一种多控共享存储*** |
CN105511811A (zh) * | 2015-12-07 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种提高文件***吞吐量的方法与*** |
CN106371934A (zh) * | 2016-08-25 | 2017-02-01 | 成都索贝数码科技股份有限公司 | 一种基于windows文件***驱动的第三方存储协议文件访问***和访问方法 |
CN107479922A (zh) * | 2017-08-04 | 2017-12-15 | 深圳市中兴物联科技有限公司 | 一种闪存数据管理方法、装置及计算机可读存储介质 |
CN113703667A (zh) * | 2021-07-14 | 2021-11-26 | 深圳市有为信息技术发展有限公司 | 实时存储数据的文件***处理方法、装置、车载终端及商用车 |
-
2003
- 2003-06-05 CN CN 03138125 patent/CN1266603C/zh not_active Expired - Lifetime
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100407139C (zh) * | 2005-03-31 | 2008-07-30 | 株式会社日立制作所 | 文件***和构建增强其功能的方法、操作***、记录装置 |
CN100386737C (zh) * | 2005-05-30 | 2008-05-07 | 杨来 | 基于包结构的数据恢复方法 |
CN100504873C (zh) * | 2006-01-10 | 2009-06-24 | 国际商业机器公司 | 管理归档文件***的方法和装置 |
CN102682129A (zh) * | 2012-05-17 | 2012-09-19 | 北京像素软件科技股份有限公司 | 一种基于虚拟文件***的数据读取方法 |
CN103020199A (zh) * | 2012-12-05 | 2013-04-03 | 上海创图网络科技发展有限公司 | 适用于不同操作***平台的虚拟文件***及其应用 |
CN103593424A (zh) * | 2013-11-07 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种软硬件压缩可配置的大数据处理*** |
CN104573061B (zh) * | 2015-01-23 | 2017-09-26 | 南开大学 | 一种支持扩展功能的虚拟文件***装置和方法 |
CN104573061A (zh) * | 2015-01-23 | 2015-04-29 | 南开大学 | 一种支持扩展功能的虚拟文件***装置和方法 |
CN104850401A (zh) * | 2015-05-07 | 2015-08-19 | 南京大学 | 一种用PVFS替代Hadoop存储模块的方法 |
CN104850401B (zh) * | 2015-05-07 | 2018-04-24 | 南京大学 | 一种用PVFS替代Hadoop存储模块的方法 |
CN105205094A (zh) * | 2015-08-12 | 2015-12-30 | 浪潮(北京)电子信息产业有限公司 | 一种多控共享存储*** |
CN105511811A (zh) * | 2015-12-07 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种提高文件***吞吐量的方法与*** |
CN105511811B (zh) * | 2015-12-07 | 2018-09-07 | 浪潮(北京)电子信息产业有限公司 | 一种提高文件***吞吐量的方法与*** |
CN106371934A (zh) * | 2016-08-25 | 2017-02-01 | 成都索贝数码科技股份有限公司 | 一种基于windows文件***驱动的第三方存储协议文件访问***和访问方法 |
CN107479922A (zh) * | 2017-08-04 | 2017-12-15 | 深圳市中兴物联科技有限公司 | 一种闪存数据管理方法、装置及计算机可读存储介质 |
CN113703667A (zh) * | 2021-07-14 | 2021-11-26 | 深圳市有为信息技术发展有限公司 | 实时存储数据的文件***处理方法、装置、车载终端及商用车 |
Also Published As
Publication number | Publication date |
---|---|
CN1266603C (zh) | 2006-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8538936B2 (en) | System and method for data compression using compression hardware | |
CN1266603C (zh) | 一种透明扩充文件***功能的方法 | |
US20220222005A1 (en) | Native key-value storage enabled distributed storage system | |
US7496586B1 (en) | Method and apparatus for compressing data in a file system | |
US6549918B1 (en) | Dynamic information format conversion | |
US7334099B2 (en) | Method and system for managing image files | |
US7779426B2 (en) | Describing and querying discrete regions of flash storage | |
US7293033B1 (en) | System and method for providing effective file-sharing in a computer system to allow concurrent multi-user access | |
EP0629960A2 (en) | Extendible file system | |
US6405265B1 (en) | Device driver for accessing computer files | |
US20070136723A1 (en) | Using virtual hierarchies to build alternative namespaces | |
US20020133675A1 (en) | Cluster system, memory access control method, and recording medium | |
CA2542162A1 (en) | Preload library for transparent file transformation | |
US11327665B2 (en) | Managing data on volumes | |
KR102440128B1 (ko) | 통합된 객체 인터페이스를 위한 메모리 관리 장치, 시스템 및 그 방법 | |
US11321488B2 (en) | Policy driven data movement | |
US11328089B2 (en) | Built-in legal framework file management | |
US7225314B1 (en) | Automatic conversion of all-zero data storage blocks into file holes | |
US11106813B2 (en) | Credentials for consent based file access | |
WO2014159383A2 (en) | File system operation on multi-tiered volume | |
JP4921018B2 (ja) | 直接実行機能を提供するためのシステム、コンピュータシステム、方法およびプログラム | |
Madany et al. | A class hierarchy for building stream-oriented file systems | |
US20120131199A1 (en) | Systems and Methods for Layered Resource Management | |
US7904686B2 (en) | Data security for use with a file system | |
CN1652111A (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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20060726 |
|
CX01 | Expiry of patent term |