当前位置: 首页 > 专利查询>南开大学专利>正文

一种支持扩展功能的虚拟文件系统装置和方法制造方法及图纸

技术编号:11406337 阅读:51 留言:0更新日期:2015-05-03 23:38
本发明专利技术公开了一种支持扩展功能的虚拟文件系统装置和方法,属于计算机领域,该虚拟文件系统装置支持针对文件系统的动态扩展功能操作。支持扩展功能的虚拟文件系统装置包括虚拟文件系统服务模块、文件系统实例模块、扩展功能表模块和扩展功能模块;支持虚拟文件系统扩展功能的方法包括:初始时建立“文件系统类型实例表”;加载文件系统实例时建立“文件系统类型”实例;注册指定文件系统类型的文件扩展功能;访问文件系统实例的文件扩展功能。本发明专利技术将文件数据的处理过程从应用层转到虚拟文件系统层来完成,从而减少文件数据在上述两层间的传递,有效提高文件数据的处理速度,尤其是适合IO密集型应用及基于网络文件系统应用场景。

【技术实现步骤摘要】
一种支持扩展功能的虚拟文件系统装置和方法
本专利技术属于计算机领域,主要关注提高文件系统中文件数据的处理速度。
技术介绍
目前提高文件数据的处理速度主要有两类手段,一类是提高计算机硬件CPU的处理能力;另外一类是借助应用层的高速缓存机制。上述两类手段共同的缺点是必须把待处理的文件数据传递到应用层的软件上来处理,这样文件数据需要由存储介质读取到操作系统内核中,然后再传递到操作系统用户态,甚至需要通过网络传递到文件处理软件的计算机节点的用户态中,这样大量的数据拷贝非常耗费计算资源,文件数据的处理速度很难有巨大的提高。
技术实现思路
本专利技术目的是为了有效提高文件系统中文件数据的处理速度。给出一种采用支持扩展功能的虚拟文件系统装置及方法。本专利技术的技术方案一种支持扩展功能的虚拟文件系统装置,所述装置包括:虚拟文件系统服务模块、文件系统实例模块、扩展功能表模块和扩展功能模块;虚拟文件系统服务模块分别与文件系统实例模块和扩展功能表模块相互连接,扩展功能表模块与扩展功能模块单向连接,扩展功能表模块通过或不通过虚拟文件系统服务模块指向文件系统实例模块;其中,所述的虚拟文件系统服务模块包括:文件系统类型实例管理模块、标准功能服务模块,以及扩展功能服务模块;所述的文件系统类型实例管理模块用于对“文件系统类型实例表”的管理,包括“文件系统类型”实例的注册与注销;标准功能服务模块用于提供文件标准功能的服务,标准功能服务模块将已注册“文件系统类型”实例与属于该“文件系统类型”实例的“文件系统实例”相互关联;扩展功能服务模块用于提供自定义的文件扩展功能的服务,扩展功能服务模块将已注册“文件系统类型”实例与已注册的“扩展功能表”相互关联;文件系统实例模块包括数据结构体实例和标准功能模块,“数据结构体实例”记录该文件系统实例的运行时数据,标准功能模块则基于“数据结构体实例”的数据来提供该文件系统实例的文件标准功能执行代码的实现;扩展功能表模块,用于针对具体文件系统实例提供文件扩展功能的“扩展功能表”的管理;扩展功能服务模块,用于针对具体文件系统实例提供文件扩展功能执行代码的实现。所述的“扩展功能表”为一组“扩展功能描述”结构体实例的集合,其中“扩展功能描述”结构体包含文件系统类型、扩展功能编号、扩展功能类型、扩展功能名称、扩展功能名称长度和扩展功能函数地址;“文件系统类型实例表”为一组“文件系统类型”结构体实例的集合,其中“文件系统类型”结构体包含了文件系统类型名称、指向该“文件系统类型”对应的“扩展功能表”的指针以及指向属于该“文件系统类型”的具体“文件系统实例”的“超级块”的指针。所述的虚拟文件系统服务模块的扩展功能服务模块提供了“扩展功能服务方法”,“扩展功能服务方法”包括扩展功能列举函数、扩展功能查找函数、扩展功能注册函数和扩展功能注销函数;“应用程序”可通过采用增强已有系统服务、建立新系统服务、各种进程间通信协议以及网络通信协议来访问虚拟文件系统的扩展功能服务方法。本专利技术同时提供了基于上述系统装置的支持虚拟文件系统扩展功能的方法,所述方法包括以下处理过程:第1步、加载支持扩展功能的虚拟文件系统时,建立并初始化“文件系统类型实例表”;第2步、加载具体文件系统实例时,若“文件系统类型实例表”不包含该具体文件系统实例所对应的“文件系统类型”实例,则建立“文件系统类型”实例并添加到“文件系统类型实例表”;并且进一步建立该“文件系统类型”实例所关联的“扩展功能表”,并对该“扩展功能表”进行初始化,添加一个空的“扩展功能描述”结构体实例;进一步将该具体文件系统实例所对应的“文件系统类型”实例的相关指针指向该“扩展功能表”;第3步、访问虚拟文件系统的扩展功能服务方法;第4步、注册或注销指定文件系统类型的文件扩展功能;第5步、访问具体文件系统实例的文件扩展功能;第6步、卸载支持扩展功能的虚拟文件系统时,卸载虚拟文件系统中所有文件系统类型的全部文件扩展功能代码,进一步删除所有文件系统类型的全部“扩展功能表”。本专利技术方法第4步所述的“注册或注销指定文件系统类型的文件扩展功能”中,“注册指定文件系统类型的文件扩展功能”是通过虚拟文件系统服务模块的扩展功能服务模块中的扩展功能注册函数来实现注册;扩展功能注册函数的参数包括文件系统类型实例和文件扩展功能描述实例;第4.1步、扩展功能注册函数的处理过程如下:第4.1.1步、根据文件系统类型实例和文件扩展功能描述实例,调用扩展功能查找函数来查找是否该文件系统类型实例中已注册该文件扩展功能,若已注册则设置返回值为“失败”标识并执行第4.1.6步;第4.1.2步、根据文件扩展功能描述实例的“函数名称”加载指定扩展功能函数代码到虚拟文件系统中,并将该扩展功能函数代码的内存首地址记录在该文件扩展功能描述实例中;第4.1.3步、根据文件系统类型实例找到该文件系统类型实例所对应的“扩展功能表”;第4.1.4步、将第4.1.2步中的文件扩展功能描述实例添加到第4.1.3步中的“扩展功能表”;第4.1.5步、设置返回值为“成功”标识;第4.1.6步、处理过程结束。本专利技术方法第4步所述的“注册或注销指定文件系统类型的文件扩展功能”中,“注销指定文件系统类型的文件扩展功能”是通过虚拟文件系统服务模块的扩展功能服务模块中的扩展功能注销函数来实现注销;扩展功能注销函数的参数包括文件系统类型实例和文件扩展功能描述实例;第4.2步、扩展功能注销函数的处理过程如下:第4.2.1步、根据文件系统类型实例和文件扩展功能描述实例,调用扩展功能查找函数来查找是否该文件系统类型实例中已注册该文件扩展功能,若未注册则设置返回值为“失败”标识并执行第4.2.7步;第4.2.2步、根据文件系统类型实例找到该文件系统类型实例所对应的“扩展功能表”;第4.2.3步、遍历第4.2.2步中的“扩展功能表”,找到与第4.2.1步中文件扩展功能描述实例中扩展功能编号相同的已有文件扩展功能描述实例的首地址;第4.2.4步、根据第4.2.3步中找到的已有文件扩展功能描述实例,获取对应的“扩展功能”函数首地址,在虚拟文件系统中卸载该扩展功能函数代码;第4.2.5步、在第4.2.2步的“扩展功能表”中删除第4.2.3步中找到的已有文件扩展功能描述实例;第4.2.6步、设置返回值为“成功”标识;第4.2.7步、处理过程结束。本专利技术方法第5步所述的“访问具体文件系统实例的文件扩展功能”的方法是“应用程序”通过采用增强已有系统服务或建立新系统服务来访问具体文件系统实例的文件扩展功能,上述系统服务的参数包括文件扩展功能编号和文件扩展功能参数结构体指针;具体处理过程如下:第5.1步、根据文件扩展功能参数结构体,获取待处理文件的文件描述字;第5.2步、根据第5.1步中的文件描述字获取所对应的文件结构体,进一步根据该文件结构体获取所对应的具体“文件系统实例”的“超级块”结构体实例;第5.3步、根据第5.2步中的“超级块”结构体实例,获取所对应的文件系统类型实例;第5.4步、根据第5.3步中的文件系统类型实例和文件扩展功能编号,调用扩展功能查找函数来查找是否该文件系统类型实例中已注册该文件扩展功能,若未注册则设置返回值为“失败”标识并执行第5.6步;否则记录下扩展功能查找函数所返本文档来自技高网...
一种支持扩展功能的虚拟文件系统装置和方法

【技术保护点】
一种支持扩展功能的虚拟文件系统装置,其特征在于,所述系统装置包括:虚拟文件系统服务模块、文件系统实例模块、扩展功能表模块和扩展功能模块;虚拟文件系统服务模块分别与文件系统实例模块和扩展功能表模块相互连接,扩展功能表模块与扩展功能模块单向连接,扩展功能表模块通过或不通过虚拟文件系统服务模块指向文件系统实例模块;其中,所述的虚拟文件系统服务模块包括:文件系统类型实例管理模块、标准功能服务模块,以及扩展功能服务模块;所述的文件系统类型实例管理模块用于对“文件系统类型实例表”的管理,包括“文件系统类型”实例的注册与注销;标准功能服务模块用于提供文件标准功能的服务,标准功能服务模块将已注册“文件系统类型”实例与属于该“文件系统类型”实例的“文件系统实例”相互关联;扩展功能服务模块用于提供自定义的文件扩展功能的服务,扩展功能服务模块将已注册“文件系统类型”实例与已注册的“扩展功能表”相互关联;文件系统实例模块包括数据结构体实例和标准功能模块,“数据结构体实例”记录该文件系统实例的运行时数据,标准功能模块则基于“数据结构体实例”的数据来提供该文件系统实例的文件标准功能执行代码的实现;扩展功能表模块,用于针对具体文件系统实例提供文件扩展功能的“扩展功能表”的管理;扩展功能服务模块,用于针对具体文件系统实例提供文件扩展功能执行代码的实现。...

【技术特征摘要】
1.一种支持扩展功能的虚拟文件系统装置,其特征在于,所述系统装置包括:虚拟文件系统服务模块、文件系统实例模块、扩展功能表模块和扩展功能模块;虚拟文件系统服务模块分别与文件系统实例模块和扩展功能表模块相互连接,扩展功能表模块与扩展功能模块单向连接,扩展功能表模块通过或不通过虚拟文件系统服务模块指向文件系统实例模块;其中,所述的虚拟文件系统服务模块包括:文件系统类型实例管理模块、标准功能服务模块,以及扩展功能服务模块;所述的文件系统类型实例管理模块用于对“文件系统类型实例表”的管理,包括“文件系统类型”实例的注册与注销;标准功能服务模块用于提供文件标准功能的服务,标准功能服务模块将已注册“文件系统类型”实例与属于该“文件系统类型”实例的“文件系统实例”相互关联;扩展功能服务模块用于提供自定义的文件扩展功能的服务,扩展功能服务模块将已注册“文件系统类型”实例与已注册的“扩展功能表”相互关联;文件系统实例模块包括数据结构体实例和标准功能模块,“数据结构体实例”记录该文件系统实例的运行时数据,标准功能模块则基于“数据结构体实例”的数据来提供该文件系统实例的文件标准功能执行代码的实现;扩展功能表模块,用于针对具体文件系统实例提供文件扩展功能的“扩展功能表”的管理;扩展功能服务模块,用于针对具体文件系统实例提供文件扩展功能执行代码的实现。2.根据权利要求1所述的系统装置,其特征在于,所述的“扩展功能表”为一组“扩展功能描述”结构体实例的集合,其中“扩展功能描述”结构体包含文件系统类型、扩展功能编号、扩展功能类型、扩展功能名称、扩展功能名称长度和扩展功能函数地址;“文件系统类型实例表”为一组“文件系统类型”结构体实例的集合,其中“文件系统类型”结构体包含了文件系统类型名称、指向该“文件系统类型”对应的“扩展功能表”的指针以及指向属于该“文件系统类型”的具体“文件系统实例”的“超级块”的指针。3.根据权利要求1所述的系统装置,其特征在于,所述的虚拟文件系统服务模块的扩展功能服务模块提供了“扩展功能服务方法”,“扩展功能服务方法”包括扩展功能列举函数、扩展功能查找函数、扩展功能注册函数和扩展功能注销函数;“应用程序”可通过采用增强已有系统服务、建立新系统服务、各种进程间通信协议以及网络通信协议来访问虚拟文件系统的扩展功能服务方法。4.一种支持虚拟文件系统扩展功能的方法,其特征在于,所述方法包括以下处理过程:第1步、加载支持扩展功能的虚拟文件系统时,建立并初始化“文件系统类型实例表”;第2步、加载具体文件系统实例时,若“文件系统类型实例表”不包含该具体文件系统实例所对应的“文件系统类型”实例,则建立“文件系统类型”实例并添加到“文件系统类型实例表”;并且进一步建立该“文件系统类型”实例所关联的“扩展功能表”,并对该“扩展功能表”进行初始化,添加一个空的“扩展功能描述”结构体实例;进一步将该具体文件系统实例所对应的“文件系统类型”实例的相关指针指向该“扩展功能表”;第3步、访问虚拟文件系统的扩展功能服务方法;第4步、注册或注销指定文件系统类型的文件扩展功能;第5步、访问具体文件系统实例的文件扩展功能;第6步、卸载支持扩展功能的虚拟文件系统时,卸载虚拟文件系统中所有文件系统类型的全部文件扩展功能代码,进一步删除所有文件系统类型的全部“扩展功能表”。5.根据权利要求4所述的方法,其特征在于,第4步所述的“注册或注销指定文件系统类型的文件扩展功能”中,“...

【专利技术属性】
技术研发人员:李旭东
申请(专利权)人:南开大学
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1