[发明专利]一种基于虚拟文件系统的数据读取方法无效
申请号: | 201210153653.4 | 申请日: | 2012-05-17 |
公开(公告)号: | CN102682129A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | 蒋黎 | 申请(专利权)人: | 北京像素软件科技股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 谢安昆;宋志强 |
地址: | 100043 北京市石景山区八*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 虚拟 文件系统 数据 读取 方法 | ||
技术领域
本发明涉及通信技术领域,特别涉及一种基于虚拟文件系统的数据读取方法。
背景技术
现在很多应用程序采用虚拟文件系统机制,来达到数据加密和减少磁盘空间占用等。
很多网络游戏中采用了虚拟文件系统,如网络游戏“寻仙”、“魔兽世界”等,在程序发布时,将所有资源文件分目录合并到几个压缩数据包文件里,程序启动后,使用虚拟文件系统提供的通用接口来访问压缩数据包里的数据,虚拟文件系统根据程序传入的文件路径,找到该文件在压缩数据包里对应的数据块,完成数据的读取操作。
上述读取数据的方法,采用直接从磁盘上读取数据,由于磁盘操作较慢,该种读取数据方式效率较低,尤其是文件碎片比较多的时候,会产生较大的性能瓶颈,会使程序运行的流畅度受到很大影响。
发明内容
有鉴于此,本发明提供一种基于虚拟文件系统的数据读取方法,能够提高读取数据的效率。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种基于虚拟文件系统的数据读取方法,所述方法包括:
获取压缩数据包文件和可执行文件,其中,所述可执行文件包括用于创建虚拟文件系统的可执行文件和客户端程序的可执行文件;
运行所述用于创建虚拟文件系统的可执行文件创建虚拟文件系统,通过文件映射的方式将所述压缩数据包文件映射到共享内存中,并记录文件映射信息;
所述虚拟文件系统创建完成后,运行所述客户端程序的可执行文件,根据所述记录的文件映射信息,在所述共享内存中读取数据。
综上所述,本发明以压缩数据包文件为基础,在创建虚拟文件系统时将压缩数据包文件映射到进程的共享内存中,在需要读取压缩数据包文件时,直接在共享内存中读取数据,能够提高读取数据的效率。
附图说明
图1为本发明具体实施例中基于虚拟文件系统的数据读取方法的流程示意图;
图2为本发明具体实施例中基于虚拟文件系统的数据读取结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种数据读取方法,从文件映射的共享内存中读取数据,能够提高读取数据的效率。
参见图1,图1为本发明具体实施例中基于虚拟文件系统的数据读取方法的流程示意图。具体步骤为:
步骤101,获取压缩数据包文件和可执行文件,其中,所述可执行文件包括用于创建虚拟文件系统的可执行文件和客户端程序的可执行文件。
本步骤获取的文件的途径可以为光盘、磁盘、网络等。其中,虚拟文件系统将不同来源的数据,集合成一个整体,通过提供类似文件操作的访问接口读写这些数据。
步骤102,运行所述用于创建虚拟文件系统的可执行文件创建虚拟文件系统,通过文件映射的方式将所述压缩数据包文件映射到共享内存中,并记录文件映射信息。
用于创建虚拟文件系统的可执行文件包括:载入进程可执行文件、管理进程可执行文件和数据进程可执行文件。
本步骤中运行用于创建虚拟文件系统的可执行文件创建虚拟文件系统,通过文件映射的方式将所述压缩数据包文件映射到共享内存中,并记录文件映射信息包括:
运行所述载入进程可执行文件进入载入进程,通过所述载入进程启动所述管理进程可执行文件进入管理进程,通过所述管理进程启动数据进程可执行文件进入数据进程,通过所述数据进程根据所述压缩数据包文件的大小和共享内存的大小将所述压缩数据包文件映射到数据进程的共享内存中,通过所述管理进程记录所述数据进程的文件映射信息。其中,共享内存为多个进程可以共同读写的内存区域;文件映射为一种共享内存技术,将磁盘文件映射到连续的内存区域,可以直接访问内存来读写。
当通过管理进程启动数据进程可执行文件时,该方法进一步包括:若确定获取的所述压缩数据包文件的大小大于启动一个进程的共享内存的大小,则启动多个数据进程将所述压缩数据包文件映射到不同的数据进程中,即启动不小于能够映射所有压缩数据包文件的数据进程。
本步骤中记录的文件映射信息包括:数据进程标识、压缩数据包文件标识、首地址和长度;其中,所述压缩数据包标识为到所述数据进程标识所对应的数据进程中的压缩数据包文件的标识,所述首地址为所述压缩数据包文件标识所对应的压缩数据包文件在共享内存中第一个字节的地址,所述长度为所述压缩数据包文件标识所对应的压缩数据包文件在所述共享内存中所占的长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京像素软件科技股份有限公司,未经北京像素软件科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210153653.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种NK和/或NKT细胞的培养方法
- 下一篇:局部变曲率车辆后视镜片
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置