[发明专利]应用程序运行方法、装置及系统有效
申请号: | 201010100336.7 | 申请日: | 2010-01-22 |
公开(公告)号: | CN102135892A | 公开(公告)日: | 2011-07-27 |
发明(设计)人: | 朱熠锷 | 申请(专利权)人: | 北京金山数字娱乐科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;H04L29/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 赵景平;逯长明 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 运行 方法 装置 系统 | ||
技术领域
本发明涉及软件处理技术,具体涉及一种应用程序运行方法、装置及系统。
背景技术
一个应用程序,其运行时所需的文件通常包含两部分:程序文件和数据文件。而对于大部分应用程序,其数据文件的体积通常要比程序模块文件的体积大。
应用程序体积过大,不仅会占用过多的存储空间,而且会导致用户使用软件时间成本过高。因此,为了满足不同用户的应用需求,市面上有很多软件的瘦身版本,即精简版本。这些产品大多数都是针对资源文件的瘦身,一般而言,都是经过特殊定制的。还有一些精简版本的软件需要修改原程序的源代码,重新编译出新的程序文件,并且删减部分程序文件和数据文件,从而达到瘦身的目的。
这样的做法主要有以下缺点:
1、需要针对不同的应用程序进行特别定制,无法提供通用的方法。
2、精简版本的软件功能受限,如果用户需要体验其他功能,需要重新安装。
发明内容
本发明实施例提供一种应用程序运行方法、装置及系统,无需进行专门定制,即可简单、高效地缩减应用程序安装包的体积,提供用户所需功能。
为此,本发明实施例提供如下技术方案:
一种应用程序运行方法,包括:
创建对应所述应用程序的进程,并加载预先生成的所述应用程序的数据文件描述信息;
通过所述进程监听所述应用程序的I/O请求,并在监听到所述应用程序的I/O请求后,根据所述I/O请求确定所述应用程序要访问的文件类型;
如果所述应用程序要访问的文件类型为数据文件,则根据所述数据文件描述信息从服务器端获取所述应用程序所需的数据块;
将所述数据块加载到内存。
优选地,所述加载预先生成的所述应用程序的数据文件描述信息包括:
从所述服务器端加载所述应用程序的数据文件描述信息。
优选地,所述方法还包括:
在创建对应所述应用程序的进程之前,检查所述应用程序的数据文件描述信息是否保存在本地的指定目录;
如果是,则从所述指定目录加载所述数据文件描述信息;
如果否,则执行所述从所述服务器端加载所述应用程序的数据文件描述信息的步骤。
优选地,所述方法还包括:
抽取所述应用程序的数据文件,生成所述数据文件描述信息;
将所述数据文件描述信息保存到本地的指定目录和/或所述服务器端,并将所述数据文件保存到所述服务器端。
优选地,所述通过所述进程监听所述应用程序的I/O请求包括:
通过所述进程加载I/O钩子函数;
通过所述I/O钩子函数在所述应用程序运行时监听所述应用程序的I/O请求。
优选地,所述根据所述数据文件描述信息从所述服务器端获取所述应用程序所需的数据块包括:
根据所述数据文件描述信息检查所述数据文件是否存在;
如果所述数据文件存在,则向所述服务器端发送数据块下载请求;
接收所述服务器端下发的所述应用程序所需的数据块。
优选地,所述方法还包括:
在向所述服务器端发送数据块下载请求之前,检查所述应用程序所需的数据块是否保存在本地的映射文件中;
如果是,则从所述映射文件中获取所述应用程序所需的数据块;
如果否,则执行向所述服务器端发送数据块下载请求的步骤。
优选地,所述方法还包括:
接收到所述服务器端下发的所述应用程序所需的数据块后,将所述数据块保存到所述映射文件中,并更新所述映射文件的头部信息;
所述检查所述应用程序所需的数据块是否保存在本地的映射文件中包括:通过检查所述映射文件的头部信息,确定所述应用程序所需的数据块是否保存在本地的映射文件中。
优选地,所述方法还包括:
服务器端接收到所述数据块下载请求后,对所述请求进行验证并检测请求的数据块是否存在;
如果验证通过并且所述数据块存在,则将所述数据块发送给请求方。
一种应用程序运行装置,包括:
进程创建单元,用于创建对应所述应用程序的进程,并加载预先生成的所述应用程序的数据文件描述信息;
监听单元,用于通过所述进程监听所述应用程序的I/O请求,并在监听到所述应用程序的I/O请求后,根据所述I/O请求确定所述应用程序要访问的文件类型;
网络通信单元,用于在所述监听单元确定所述应用程序要访问的文件类型为数据文件后,根据所述数据文件描述信息从服务器端获取所述应用程序所需的数据块;
加载单元,用于将所述数据块加载到内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山数字娱乐科技有限公司,未经北京金山数字娱乐科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010100336.7/2.html,转载请声明来源钻瓜专利网。