一种基于网络游戏应用的文件系统的制作方法

文档序号:9870376阅读:458来源:国知局
一种基于网络游戏应用的文件系统的制作方法
【技术领域】
[0001] 本发明设及互联网游戏应用领域,特别是一种基于网络游戏应用的文件系统。
【背景技术】
[0002] 近年来网络游戏迅速发展,其中完整安装版的客户端游戏数量反而在逐渐减少, 能够迅速地进入游戏已经成为了游戏上线的敲口砖。为此游戏客户端需要能够动态地下载 游戏过程所需资源,由此带来一系列相关问题。
[0003] 网络游戏程序运行过程中要读取大量文件,在windows系统中,运些文件如果直接 放在windows文件目录中,不仅访问速度较慢,不能高效应用系统缓存,也不能压缩节省空 间,也不利于资源的安全,容易使资源文件被盗窃、修改。
[0004] 于是大型客户端游戏都有一个需求,就是文件打包压缩加密读取。先保证安全稳 定,再偏重于速度,最后顾及压缩W及文件的变化更新。
[0005] 目前国内外大部分上档次的游戏都对其资源文件进行了打包处理,但是能够在线 动态更新的并不多见,国内似乎有龙枪、霸刀等新近出现的网游采用了类似技术。国外游戏 中应用的较少,可能是因为国外网络带宽大的原因,下载整个游戏也不会很耗时的缘故。不 论是国内外的,目前暂时都没有开源代码可供下载。
[0006] 因此,目前的技术厂家都在积极开发新的文件系统,运个文件系统需要适合大量 的客户端资源文件的整合管理,W及有不太严格的安全要求,有在线下载需求,文件数据没 有运行时修改需求的场合。基于运个系统,客户端更易于安装和移动,减少资源文件暴露机 会使数据更加安全难W窃取和篡改,利用压缩W减少数据尺寸和硬盘读取耗时,支持网络 动态下载所需资源,W及当部分资源更新时不需要重新下载客户端已缓存好的数据。在未 来还能通过不断优化系统内部实现方案,对应用层透明地优化性能。

【发明内容】

[0007] 为解决上述问题,本发明的目的在于提供一种基于网络游戏应用的文件系统,提 高游戏加载资源的速度,允许多个进程对同一个包同时读取和下载资源,允许在线后台同 步服务器上的资源,并在一定程度上保证资源的安全性。
[000引本发明解决其问题所采用的技术方案是: 本发明的优选实施例提供了一种基于网络游戏应用的文件系统,至少包括存储模块、 捜索模块、统一下载平台模块、下载共享模块,其中: 所述存储模块用于存储所述文件系统的文件信息; 所述捜索模块用于从存储模块中检索对应的文件信息; 所述统一下载平台模块用于接收游戏客户端发出的对应文件的下载请求,并根据下载 请求控制捜索模块检索对应的文件信息; 所述下载共享模块用于在统一下载平台模块接收下载请求的同时,分析下载地址是否 为相同下载地址,在为相同下载地址时,返回已经下载文件的共享信息。
[0009] 进一步,所述文件系统还包括: 压缩及加密模块,用于对存储模块中存储的文件信息进行压缩或/和加密,所述压缩及 加密模块对相应文件信息进行压缩时,只对压缩后的文件可W达到设定的压缩率的文件信 息进行压缩。
[0010] 进一步,所述存储模块W多级树的方式存储对应的文件信息,同时生成树索引文 件,所述树索引文件单独存储或者与对应的文件信息一起存储。
[0011] 进一步,所述文件系统还包括: 压缩及加密模块,用于对存储模块中存储的文件信息进行压缩或/和加密,所述压缩及 加密模块对相应文件信息进行压缩时,生成的压缩包包括: 主文档,所述主文档包括包头、文件数据区和树信息区;或者 主文档和树索引文件,所述主文档包括包头和文件数据区,所述树索引文件包括包头 和树索引文件; 所述包头至少包括文件头的长度及版本信息,且包头中存储有对应树信息区的位置信 息,所述文件数据区存储对应的文件信息,所述树信息区存储对应的树索引文件。
[0012] 进一步,所述统一下载平台模块包括: 多进程处理单元,用于对接收游戏客户端发送的进程,对进程进行排序,并按照序列处 理进程; 信息识别单元,用于在多进程处理单元处理某个线程时,读取该进程目录下的配置文 件,根据配置信息获取对应文件信息的数量、路径及下载地址,并返回至多进程处理单元。
[0013] 进一步,所述统一下载平台模块还包括在线下载识别单元,用于识别多进程处理 单元所接收的进程是否为在线下载进程,在识别为在线下载进程时,为对应进程设置高优 先级权重。
[0014] 进一步,所述统一下载平台模块还包括: 进程管理单元,用于在多个进程同时下载时,统一管理下载中的共享信息及下载流量, 所述共享信息包括多个游戏客户端下载同一文件信息和同一用户端重复下载同一文件信 息。
[0015] 进一步,所述文件系统还包括在线发布模块,所述在线发布模块包括: 更新包生成单元,用于通过重新创建或更新的方式生成需要更新的完整数据包; 分离树单元,用于对完整数据包进行分离树索引文件操作,获取对应的树索引文件; 上传单元,用于改名树索引文件后将其与数据包一起上传至下载服务器。
[0016] 本发明的有益效果是: 本发明采用一种基于网络游戏应用的文件系统,在游戏的底层基础实现,允许多个进 程对同一个包同时读取和下载资源,允许在线后台同步服务器上的资源,能使游戏加载资 源更快,使资源文件更安全,加大了非法获取资源的难度,并使得游戏文件版本升级对玩家 造成的影响更小、更透明。
【附图说明】
[0017] 下面结合附图和实例对本发明作进一步说明。
[0018] 图1是本发明优选实施例中文件系统的结构示意图; 图2是本发明统一下载平台模块的结构组成示意图; 图3是本发明统一下载平台模块与进程的处理示意图; 图4是本发明文件系统具体内部结构及工作流程示意图; 图5是本发明文件系统的线程关系及处理流程示意图。
【具体实施方式】
[0019] 本发明W下实施例仅代表对本发明具体的解释,本发明并不限于某种系统或游戏 的应用。本发明所言及的游戏,并不针对某一款特殊的游戏,本发明所属应用为对本发明中 的技术方案的具体说明。
[0020] 本发明所述文件系统向上层程序员提供FPC库及其在线版本FPCO (在线文件压缩 包File Pack with Compression Online)库和DownloadClient库(Client of Download Service统一下载服务客户端)库,并附带了DownloadServer程序(Server of Download Service统一下载服务平台)和文件包管理工具,W及一个控制台示例程序、一个基于.Net 平台C++A:LI语言的可视化演示程序。本发明所述文件系统的具体实现参照W下实施例中 具体所述。
[0021] 实施例1: 作为本发明的优选实施例,参照图1所示,本发明的文件系统至少包括存储模块100、捜 索模块101、统一下载平台模块102、下载共享模块103,其中: 所述存储模块100用于存储所述文件系统的文件信息; 所述捜索模块101用于从存储模块100中检索对应的文件信息; 所述统一下载平台模块102用于接收游戏客户端发出的对应文件的下载请求,并根据 下载请求控制捜索模块101检索对应的文件信息; 所述下载共享模块103用于在统一下载平台模块102接收下载请求的同时,分析下载地 址是否为相同下载地址,在为相同下载地址时,返回已经下载文件的共享信息。
[0022] W上系统结构构成了本发明最基础的组成单元,游戏客户端所发出的所有进程的 下载请求均通过统一下载平台模块102进行处理,对进程的下载的流量和进行资源的分配 可W合理有序的控制,避免堵塞及其它异常情况。
[0023] 本发明的优选实施例在文件系统中加入了压缩及加密模块104,用于对存储模块 100中存储的文件信息进行压缩或/和加密,所述压缩及加密模块104对相应文件信息进行 压缩时,只对压缩后的文件可W达到设定的压缩率的文件信息进行压缩。此处,所设置的压 缩率可W根据实际应用进行设置,本发明并不限于某一单一的固定值,其值也可W随着压 缩文件的不同动态设置。本发明所采用的压缩及加密方案,可W目前采用的常规方案,也可 W是高级压缩及加密方式,在本发明的文件系统中,压缩及加密所采用的方式对本发明的 实现不具有实质性的影响。
[0024] -般的扩展性较好的二进制文件,都有一个文件头(包头),用于指明文件头的长 度W及文件版本等,使用包头可W增强容错性和版本兼容能力。为了兼容FPC和FPCO对文件 树结构信息(简称树信息)的不同需求,文件树结构信息可W和文件数据一起存储在主文档 内,也可W单独分离出来保存成一个文件(称作树索引文件)。在包头中可W指明树信息存 储在哪个文件。由于主文档的长度可能动态的增长,所W使用FPCO时,必须使树索引文件。
[0025] 为此,在本发明的优选实施例中,所述存储模块IOOW多级树的方式存储对应的文 件信息,同时生成树索引文件,所述树索引文件单独存储或者与对应的文件信息一起存储。 不论树索引文件单独存储或者与
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1