一种基于ContextFS上下文文件系统的文件管理方法

文档序号:6573551阅读:151来源:国知局
专利名称:一种基于ContextFS上下文文件系统的文件管理方法
技术领域
本发明涉及文件管理领域,主要是一种基于ContextFS上下文文件系统的文件管理方法。
背景技术
在上下文文件系统的某些场景中,会无法避免的产生多个用户对同一个文件进行读写的情况,本发明需要解决这些冲突,同时又维持命名空间的一致性;此外由于基于ContextFS上下文文件系统只提供虚拟目录与虚拟文件,最终的用户文件会分散存储于整个空间中的后台文件服务器中,本发明还需要解决如何通过文件存放方法确定一个最优的存储位置,以保证文件的快速获取的问题;最后考虑到系统中设备存储容量的有限性,还需要对长期不使用的文件,即对长期处于未使用状态的文件进行归档存储处理。

发明内容
本发明要解决上述技术所存在的缺陷,提供一种基于ContextFS上下文文件系统的文件管理方法,利用上下文驱动来提供主动服务的特性,对ContextFS系统中的文件管理采用不同的存储与管理策略,以提高性能,降低储存代价,并维护命名空间的一致性。
本发明解决其技术问题所采用的技术方案这种基于ContextFS上下文文件系统的文件管理方法,包括下述步骤1.1)、用户副本在上下文文件系统中,如果产生多个用户对同一个文件进行读写的情况,采用用户副本的方法来解决这些冲突,同时又维持命名空间的一致性;1.2)、文件存放根据用户自定义、当前上下文、用户偏好多个因素,来决定新创建的用户文件及副本的最终存放位置;1.3)、文件归档对长期不使用的文件,即对长期处于未使用状态的文件进行归档存储。
本发明中所述用户副本的方法,包括下述步骤2.1)、用户A对本文件系统中文件F发出读取请求,系统检查其权限,如果没有读权限则返回读失败;如果有读权限,则读请求会立即将请求的数据返回给用户A;2.2.1)、用户A对本文件系统中文件F发出写入请求,系统检查其权限,如果没有写权限则返回写失败;如果有写权限,则判断文件F的所有者是否是用户A,如果是用户A的文件则返回写成功;2.2.2)、如果不是用户A的文件,则创建用户副本,文件F被复制成文件F.A,文件F.A的元数据被写入文件元数据库,这个副本除了所有者、存储的物理位置和原文件不同外,其它文件元数据都和原文件一致,文件系统设定优先显示用户自身创建的文件F.A,对文件F的操作映射到文件F.A中,在文件F.A中写入数据并返回写成功到用户A。
本发明中所述文件存放方法,包括下述步骤3.1)、用户自定义拥有最高优先级,如果用户自定义了文件的存储位置,则根据自定义的位置存放生成的文件;3.2)、如果用户没有自定义文件的存放位置,或由于其他原因3.1无法满足,采用该用户的当前上下文信息来决定文件的存放位置,即系统根据当前上下文中的位置信息,选择空间中接近用户的后台设备存放用户文件;3.3.1)、如果空间中出现多个可供选择的后台文件服务器时,系统将进一步根据当前环境中的上下文信息选择最优设备,存储方法根据用户的文件类型决定,如果是临时文件按照性能优先的原则存放,大文件按照网络带宽优先的原则存放,小文件则根据存储容量平衡的原则存放;3.3.2)、如果空间中没有可选择的后台文件服务器时,根据历史上下文中的用户偏好,选择用户所在组或用户当前角色来选择一个符合用户偏好的远程服务器进行存储。
本发明中所述文件归档方法,包括下述步骤4.1)、系统根据安装了ContextFS的后台文件服务器端存储设备的容量和价格,把它们分为从低到高的多个等级,每个等级对应一个归档时间T;4.2)、当该处于某个等级的文件A处于未使用状态的时间超过归档时间T,则系统自动对其进行降级归档,即自动将A移动到属于下个等级的存储设备上;4.3)、被归档的文件只读,一旦进行写操作则产生新的用户副本,归档文件自动删除。
本发明有益的效果是1、采用副本和相应管理措施解决多个用户对同一个文件进行读写产生的冲突,同时又维持命名空间的一致性。2、根据用户自定义、当前上下文、用户偏好等因素,确定一个最优的存储位置,以保证文件的快速获取。3、对长期处于未使用状态的文件进行归档存储,降低储存代价。


图1是本发明副本管理读取过程数据流程图;图2是本发明副本管理写入过程数据流程图;图3是本发明上下文文件系统体系结构示意图;
具体实施例方式
下面结合附图和实施例对本发明作进一步介绍本发明所述的这种基于ContextFS上下文文件系统的副本管理方法,主要包括文件读写方法、文件存放方法和文件归档方法。
一、文件读写方法在上下文文件系统的某些场景中,会无法避免的产生多个用户对同一个文件进行读写的情况,本系统采用用户副本的方法来解决这些冲突,同时又维持命名空间的一致性。
1.1)、用户A对本文件系统中文件F发出读取请求(读取请求是从偏移X开始读取Y字节),系统检查其权限,如果没有读权限则返回读失败;如果有读权限,则读请求会立即将请求的数据返回给用户A;1.2.1)、用户A对本文件系统中文件F发出写入请求(写入请求是从偏移X开始读取Y字节),系统检查其权限,如果没有写权限则返回写失败;如果有写权限,则判断文件F的所有者是否是用户A,如果是用户A的文件则返回写成功;1.2.2)、如果不是用户A的文件,则创建用户副本,文件F被复制成文件F.A,文件F.A的元数据被写入文件元数据库,这个副本除了所有者、存储的物理位置和原文件不同外,其它文件元数据都和原文件一致,文件系统设定优先显示用户自身创建的文件F.A,对文件F的操作映射到文件F.A中,在文件F.A中写入数据并返回写成功到用户A。
如图1和图2所示,当用户A对本文件系统中文件F进行读操作时,由于不存在冲突问题,读请求会被立即返回;然而当用户A向文件F写入数据时,由于文件F的所有者和A的用户名不相符(假设F的所有者是public),这时上下文文件系统会创建一个新的文件副本,除了这个副本的所有者、存储的物理位置和原文件不同外,其它文件元数据都和原文件一致,由于两个文件同名,文件系统将会优先显示用户自身创建的文件,所以在用户A的虚拟目录中文件F被屏蔽,用户A将只能看到副本F.A,这时所有对文件F的操作自然被上下文文件系统映射到文件F.A中。每个用户只要对非自身的文件进行修改就会创建新的属于自己的副本文件,这个副本文件会被存放于用户指定的位置中保存,只改变文件F.A内容,而不改变F.A的元数据,F都不会再现,这就解决了多用户写冲突的问题,同时又维持命名空间的一致性。
二、文件存放方法由于文件系统只提供虚拟目录与虚拟文件,最终的用户文件会分散存储于整个空间中的后台文件服务器中(如图3),本系统的文件存放方法将确定一个最优的存储位置,以保证文件的快速获取。
新创建的用户文件及副本的存放位置,由多种因素决定。基于ContextFS上下文文件系统的文件存放策略主要根据用户自定义、当前上下文、用户偏好等因素,来决定文件的最终存放位置。文件存放方法具体如下2.1)、用户自定义拥有最高优先级,如果用户自定义了文件的存储位置,则根据自定义的位置存放生成的文件。如用户A自定义了他的文件存储位置为后台文件服务器中的某台文件服务器(IP地址),那么A生成的所有文件及副本会被优先保存到这台服务器上。
2.2)、如果用户没有自定义文件的存放位置,或由于其他原因2.1无法满足(服务器空间不足等),那么本系统采用该用户的当前上下文信息来决定文件的存放位置。系统根据当前上下文中的位置信息,选择空间中接近用户的后台设备存放用户文件。如;用户A使用一无线笔记本N,该笔记本N既安装了ContextFS的客户端,又安装了ContextFS的后台文件服务器端,所以该设备既是用户接入层中的前端设备,也是后台文件服务器。如果用户A在使用N的过程中产生了新的用户文件,则在没有提供自定义偏好的情况下,优先存放于最接近用户的服务器N上。如果用户携带的设备没有文件存储能力,则文件会被存放到空间中接近用户并具有存储能力的文件服务器上。
2.3.1)、如果空间中出现多个可供选择的后台文件服务器时,系统将进一步根据当前环境中的上下文信息选择最优设备,这时考虑的上下文包括服务器的性能,网络带宽,存储容量等多方面。存储策略根据用户的文件类型决定,如果是临时文件按照性能优先的原则存放,大文件按照网络带宽优先的原则存放,小文件则根据存储容量平衡的原则存放。
2.3.2)、如果空间中没有可选择的后台文件服务器时,根据历史上下文中的用户偏好,选择用户所在组或用户当前角色来选择一个符合用户偏好的远程服务器进行存储。如医生A在公共汽车上,利用自己的手持式设备创建了文件F,车上没有可供存储F的其他设备,且A也没有自定义文件的存储位置,那么系统会根据A的角色医生及其平时文件存放习惯(2.3.1中成功存放的例子),在他的工作场所(医院)的电脑上创建F。
三、文件归档考虑到系统中设备存储容量的有限性,需要对长期不使用的文件,即对长期处于未使用状态的文件进行归档存储,文件归档策略具体如下3.1)、系统根据安装了ContextFS的后台文件服务器端存储设备的容量和价格,把它们分为从低到高的多个等级,每个等级对应一个归档时间T。
3.2)、当该处于某个等级的文件A处于未使用状态(没有被对应的虚拟文件选中)的时间超过归档时间T,则系统自动对其进行降级归档。即自动将A移动到属于下个等级的存储设备上。
3.3)、被归档的文件只读,一旦进行写操作则产生新的用户副本,归档文件自动删除。
权利要求
1.一种基于ContextFS上下文文件系统的文件管理方法,其特征在于1.1)、用户副本在上下文文件系统中,如果产生多个用户对同一个文件进行读写的情况,采用用户副本的方法来解决这些冲突,同时又维持命名空间的一致性;1.2)、文件存放根据用户自定义、当前上下文、用户偏好多个因素,来决定新创建的用户文件及副本的最终存放位置;1.3)、文件归档对长期不使用的文件,即对长期处于未使用状态的文件进行归档存储。
2.根据权利要求1所述的基于ContextFS上下文文件系统的文件管理方法,其特征在于所述用户副本的方法,包括下述步骤2.1)、用户A对本文件系统中文件F发出读取请求,系统检查其权限,如果没有读权限则返回读失败;如果有读权限,则读请求会立即将请求的数据返回给用户A;2.2.1)、用户A对本文件系统中文件F发出写入请求,系统检查其权限,如果没有写权限则返回写失败;如果有写权限,则判断文件F的所有者是否是用户A,如果是用户A的文件则返回写成功;2.2.2)、如果不是用户A的文件,则创建用户副本,文件F被复制成文件F.A,文件F.A的元数据被写入文件元数据库,这个副本除了所有者、存储的物理位置和原文件不同外,其它文件元数据都和原文件一致,文件系统设定优先显示用户自身创建的文件F.A,对文件F的操作映射到文件F.A中,在文件F.A中写入数据并返回写成功到用户A。
3.根据权利要求1所述的基于ContextFS上下文文件系统的文件管理方法,其特征在于所述文件存放方法,包括下述步骤3.1)、用户自定义拥有最高优先级,如果用户自定义了文件的存储位置,则根据自定义的位置存放生成的文件;3.2)、如果用户没有自定义文件的存放位置,或由于其他原因3.1无法满足,采用该用户的当前上下文信息来决定文件的存放位置,即系统根据当前上下文中的位置信息,选择空间中接近用户的后台设备存放用户文件;3.3.1)、如果空间中出现多个可供选择的后台文件服务器时,系统将进一步根据当前环境中的上下文信息选择最优设备,存储方法根据用户的文件类型决定,如果是临时文件按照性能优先的原则存放,大文件按照网络带宽优先的原则存放,小文件则根据存储容量平衡的原则存放;3.3.2)、如果空间中没有可选择的后台文件服务器时,根据历史上下文中的用户偏好,选择用户所在组或用户当前角色来选择一个符合用户偏好的远程服务器进行存储。
4.根据权利要求1所述的基于ContextFS上下文文件系统的文件管理方法,其特征在于所述文件归档方法,包括下述步骤4.1)、系统根据安装了ContextFS的后台文件服务器端存储设备的容量和价格,把它们分为从低到高的多个等级,每个等级对应一个归档时间T;4.2)、当该处于某个等级的文件A处于未使用状态的时间超过归档时间T,则系统自动对其进行降级归档,即自动将A移动到属于下个等级的存储设备上;4.3)、被归档的文件只读,一旦进行写操作则产生新的用户副本,归档文件自动删除。
全文摘要
本发明涉及一种基于ContextFS上下文文件系统的文件管理方法,包括下述步骤用户副本在上下文文件系统中,如果产生多个用户对同一个文件进行读写的情况,采用用户副本的方法来解决这些冲突,同时又维持命名空间的一致性;文件存放根据用户自定义、当前上下文、用户偏好多个因素,来决定新创建的用户文件及副本的最终存放位置;文件归档对长期不使用的文件,即对长期处于未使用状态的文件进行归档存储。本发明有益的效果是1.解决多个用户对同一个文件进行读写产生的冲突,同时又维持命名空间的一致性。2.确定一个最优的存储位置,以保证文件的快速获取。3.对长期处于未使用状态的文件进行归档存储,降低储存代价。
文档编号G06F17/30GK101079053SQ200710069838
公开日2007年11月28日 申请日期2007年7月2日 优先权日2007年7月2日
发明者杨建华, 汤斯亮, 吴朝晖, 陶美军 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1