CN103020199A - 适用于不同操作系统平台的虚拟文件系统及其应用 - Google Patents
适用于不同操作系统平台的虚拟文件系统及其应用 Download PDFInfo
- Publication number
- CN103020199A CN103020199A CN201210516374XA CN201210516374A CN103020199A CN 103020199 A CN103020199 A CN 103020199A CN 201210516374X A CN201210516374X A CN 201210516374XA CN 201210516374 A CN201210516374 A CN 201210516374A CN 103020199 A CN103020199 A CN 103020199A
- Authority
- CN
- China
- Prior art keywords
- file
- layer
- virtual
- disk storage
- physical disk
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种适用于不同操作系统平台的虚拟文件系统,包括用户访问层、文件IO系统抽象层和物理磁盘存储层,所述的用户访问层、文件IO系统抽象层和物理磁盘存储层从上到下依次设置,所述的文件IO系统抽象层设有文件压缩单元和虚拟磁盘存储单元,所述的用户访问层通过虚拟磁盘存储单元向物理磁盘存储层写入或读出数据,数据的读入或写出都经过文件压缩单元处理。与现有技术相比,本发明具有各个平台上代码实现方式相同,跨平台使用方便快捷等优点。
Description
技术领域
本发明涉及一种虚拟文件系统,尤其是涉及一种适用于不同操作系统平台的虚拟文件系统及其应用。
背景技术
随着移动平台的流行,跨平台开发成了业界的主流,大量的基于IOS,andirod平台的软件开始出现,不同平台开发都需要文件操作,现有的方式是使用不同平台API分别读取相同的文件,这需要在程序迁移到其他的平台的时候,重新编写代码,而且需要维护2套不同的实现,重复工作很多,而且非常容易出错。
为了使用不同的平台的IO文件操作,可以利用现有的文件压缩技术,将压缩文件作为虚拟的文件系统,使用压缩文件作为统一的文件封装层,将数据压缩过程从应用软件层移到操作系统中的文件系统层。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种适用于不同操作系统平台的虚拟文件系统及其应用。
本发明的目的可以通过以下技术方案来实现:
一种适用于不同操作系统平台的虚拟文件系统,其特征在于,包括用户访问层、文件IO系统抽象层和物理磁盘存储层,所述的用户访问层、文件IO系统抽象层和物理磁盘存储层从上到下依次设置,所述的文件IO系统抽象层设有文件压缩单元和虚拟磁盘存储单元,所述的用户访问层通过虚拟磁盘存储单元向物理磁盘存储层写入或读出数据,数据的读入或写出都经过文件压缩单元处理。
所述的文件IO系统抽象层中设有虚拟文件系统的目录结构,该虚拟文件系统的目录结构与物理磁盘存储层中的目录结构之间为一一映射关系。
一种适用于不同操作系统平台的虚拟文件系统的应用,其特征在于,包括以下步骤:
1)用户访问层向文件IO系统抽象层发送需要打开文件的路径;
2)文件IO系统抽象层根据打开文件的路径查找虚拟文件系统的目录结构是否存在该文件,若存在,执行步骤3),否则,结束;
3)文件IO系统抽象层读取物理磁盘存储层对应的文件,并将其装载成虚拟文件放入虚拟磁盘存储单元中;
4)用户访问层直接打开并读写存储在虚拟磁盘存储单元中的虚拟文件。
与现有技术相比,本发明具有以下优点:
1、由于上层的用户访问层只是通过接口进行物理磁盘数据访问,因此,文件IO系统抽象层使用户访问层和物理磁盘存储层完全隔离,提高了数据安全性;
2、上层的用户访问层可以使用任何现有的文件系统,因此在无需修改任何代码的情况下就都可以让程序在不同的平台上进行文件IO操作;
3、依赖压缩的文件格式,所以可以使用相同的方式在在不同的操作系统上运行,即利用成熟的文件格式,又减少了对非目标数据的压缩和解压缩操作,同时,整个压缩/解压缩过程对于用户完全透明;
4、各个平台上代码实现方式相同,跨平台使用方便快捷。
附图说明
图1为本发明的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
如图1所示,一种适用于不同操作系统平台的虚拟文件系统,包括用户访问层1、文件IO系统抽象层2和物理磁盘存储层3,所述的用户访问层1、文件IO系统抽象层2和物理磁盘存储层3从上到下依次设置,所述的文件IO系统抽象层2设有文件压缩单元22和虚拟磁盘存储单元21,所述的用户访问层1通过虚拟磁盘存储单元21向物理磁盘存储层3写入或读出数据,数据的读入或写出都经过文件压缩单元22处理。
所述的文件IO系统抽象层2中设有虚拟文件系统的目录结构,该虚拟文件系统的目录结构与物理磁盘存储层3中的目录结构之间为一一映射关系。
本发明的操作过程如下:
1)用户访问层向文件IO系统抽象层发送需要打开文件的路径;
2)文件IO系统抽象层根据打开文件的路径查找虚拟文件系统的目录结构是否存在该文件,若存在,执行步骤3),否则,结束;
3)文件IO系统抽象层读取物理磁盘存储层对应的文件,并将其装载成虚拟文件放入虚拟磁盘存储单元中;
4)用户访问层直接打开并读写存储在虚拟磁盘存储单元中的虚拟文件。
文件读写的函数:
(1)打开文件virtual bool_stdcall Open(void)=0;
该函数打开压缩文件,准备好读写操作,打开文件必须在文件属于的目录已经打开的前提下操作,否则坑内会操作失败;
(2)关闭文件virtual void_stdcall Close(void)=0;
文件读写完毕后,关闭文件,释放资源;
(3)文件长度virtual_int64_stdcall getLength()=0;
该函数获得文件的长度,长度是未压缩的文件长度,用户层看不到压缩文件存在;
(3)读取文件virtual int_stdcall Read(char*buf,int len)=0;
该函数从文件读取定长的数据,返回实际读取的文件长度。Buf是放数据的缓存,这个必须在调用前创建,len需要读取的数据长度,读取后文件读写指针自动后移。
(3)文件定位virtual_int64_stdcall Seek(_int64 offset,XSeekWay way)=0;
该函数让读写指针移动到响应的位置,用于定位读写。
(4)写入数据virtual int_stdcall Write(char*buf,int len)=0;
该函数往文件层写入数据,buf是要写入的数据缓存,len是需要写入的数据的长度,写入后文件写指针停在写入的最后位置。
Claims (3)
1.一种适用于不同操作系统平台的虚拟文件系统,其特征在于,包括用户访问层、文件IO系统抽象层和物理磁盘存储层,所述的用户访问层、文件IO系统抽象层和物理磁盘存储层从上到下依次设置,所述的文件IO系统抽象层设有文件压缩单元和虚拟磁盘存储单元,所述的用户访问层通过虚拟磁盘存储单元向物理磁盘存储层写入或读出数据,数据的读入或写出都经过文件压缩单元处理。
2.根据权利要求1所述的一种适用于不同操作系统平台的虚拟文件系统,其特征在于,所述的文件IO系统抽象层中设有虚拟文件系统的目录结构,该虚拟文件系统的目录结构与物理磁盘存储层中的目录结构之间为一一映射关系。
3.一种实施权利要求2所述的适用于不同操作系统平台的虚拟文件系统的应用,其特征在于,包括以下步骤:
1)用户访问层向文件IO系统抽象层发送需要打开文件的路径;
2)文件IO系统抽象层根据打开文件的路径查找虚拟文件系统的目录结构是否存在该文件,若存在,执行步骤3),否则,结束;
3)文件IO系统抽象层读取物理磁盘存储层对应的文件,并将其装载成虚拟文件放入虚拟磁盘存储单元中;
4)用户访问层直接打开并读写存储在虚拟磁盘存储单元中的虚拟文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210516374XA CN103020199A (zh) | 2012-12-05 | 2012-12-05 | 适用于不同操作系统平台的虚拟文件系统及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210516374XA CN103020199A (zh) | 2012-12-05 | 2012-12-05 | 适用于不同操作系统平台的虚拟文件系统及其应用 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103020199A true CN103020199A (zh) | 2013-04-03 |
Family
ID=47968803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210516374XA Pending CN103020199A (zh) | 2012-12-05 | 2012-12-05 | 适用于不同操作系统平台的虚拟文件系统及其应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103020199A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218252A (zh) * | 2013-04-23 | 2013-07-24 | 深圳市京华科讯科技有限公司 | 基于虚拟化的一级系统加速方法 |
CN104461685A (zh) * | 2014-11-19 | 2015-03-25 | 华为技术有限公司 | 虚拟机处理方法和虚拟计算机系统 |
CN107294928A (zh) * | 2016-04-05 | 2017-10-24 | 北京优朋普乐科技有限公司 | 一种终端访问cdn的方法及系统、驱动和cdn |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553325A (zh) * | 2003-06-05 | 2004-12-08 | 联想(北京)有限公司 | 一种透明扩充文件系统功能的方法 |
CN101398821A (zh) * | 2007-09-26 | 2009-04-01 | 新奥特硅谷视频技术有限责任公司 | 基于本地缓存和虚拟文件系统技术的网络存储方法及系统 |
CN101398824A (zh) * | 2007-09-26 | 2009-04-01 | 新奥特硅谷视频技术有限责任公司 | 利用虚拟文件系统技术实现数据处理后存储的方法 |
CN102129476A (zh) * | 2011-04-22 | 2011-07-20 | 上海网达软件有限公司 | 利用zip压缩格式的虚拟文件系统应用 |
CN102682129A (zh) * | 2012-05-17 | 2012-09-19 | 北京像素软件科技股份有限公司 | 一种基于虚拟文件系统的数据读取方法 |
-
2012
- 2012-12-05 CN CN201210516374XA patent/CN103020199A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1553325A (zh) * | 2003-06-05 | 2004-12-08 | 联想(北京)有限公司 | 一种透明扩充文件系统功能的方法 |
CN101398821A (zh) * | 2007-09-26 | 2009-04-01 | 新奥特硅谷视频技术有限责任公司 | 基于本地缓存和虚拟文件系统技术的网络存储方法及系统 |
CN101398824A (zh) * | 2007-09-26 | 2009-04-01 | 新奥特硅谷视频技术有限责任公司 | 利用虚拟文件系统技术实现数据处理后存储的方法 |
CN102129476A (zh) * | 2011-04-22 | 2011-07-20 | 上海网达软件有限公司 | 利用zip压缩格式的虚拟文件系统应用 |
CN102682129A (zh) * | 2012-05-17 | 2012-09-19 | 北京像素软件科技股份有限公司 | 一种基于虚拟文件系统的数据读取方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218252A (zh) * | 2013-04-23 | 2013-07-24 | 深圳市京华科讯科技有限公司 | 基于虚拟化的一级系统加速方法 |
CN104461685A (zh) * | 2014-11-19 | 2015-03-25 | 华为技术有限公司 | 虚拟机处理方法和虚拟计算机系统 |
CN104461685B (zh) * | 2014-11-19 | 2017-09-29 | 华为技术有限公司 | 虚拟机处理方法和虚拟计算机系统 |
CN107294928A (zh) * | 2016-04-05 | 2017-10-24 | 北京优朋普乐科技有限公司 | 一种终端访问cdn的方法及系统、驱动和cdn |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9760503B2 (en) | Operation method of memory controller and nonvolatile memory system including the memory controller | |
CN102662690B (zh) | 应用程序启动方法和装置 | |
CN103136181B (zh) | 电子阅读设备及其文本提取与保存的方法 | |
CN103246638A (zh) | 一种信息粘贴方法和装置 | |
US9423977B2 (en) | Lock-free communication storage request reordering | |
TW201102815A (en) | Data writing method for flash memory and control circuit and storage system using the same | |
US9792075B1 (en) | Systems and methods for synthesizing virtual hard drives | |
CN104866416B (zh) | 实现应用程序性能分析的方法和装置 | |
CN111399750B (zh) | 闪存数据写入方法及计算机可读取存储介质 | |
CN103425502A (zh) | 一种操作系统的预取启动方法和装置 | |
CN103123651B (zh) | 一种查看多个同类文件的方法、装置和移动设备 | |
CN103106260B (zh) | 一种面向角色的虚拟文件系统的建立方法 | |
CN103593424A (zh) | 一种软硬件压缩可配置的大数据处理系统 | |
CN102567452A (zh) | 一种批注信息处理方法与装置 | |
CN103020199A (zh) | 适用于不同操作系统平台的虚拟文件系统及其应用 | |
CN103500206A (zh) | 基于文件存储数据的存储方法及装置 | |
CN103617039B (zh) | 一种访问用户空间文件系统的方法及装置 | |
CN102520976B (zh) | 一种dsp程序的固化方法 | |
CN102331920A (zh) | 一种数据处理方法及装置 | |
CN102968366B (zh) | 一种蓝光播放器日志本地存储方法及装置 | |
CN102360381B (zh) | 一种对嵌入式程序进行无损压制的装置和方法 | |
TW200713051A (en) | Method for fast starting functional item of computer device by loading application program image file | |
CN106293535A (zh) | 一种nas的性能优化方法及装置 | |
EP2973008A1 (en) | Grouping files for optimized file operations | |
CN104598453A (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: 20130403 |