CN101526902B - 用于移动终端的可执行文件压缩及加载方法 - Google Patents
用于移动终端的可执行文件压缩及加载方法 Download PDFInfo
- Publication number
- CN101526902B CN101526902B CN2008101875382A CN200810187538A CN101526902B CN 101526902 B CN101526902 B CN 101526902B CN 2008101875382 A CN2008101875382 A CN 2008101875382A CN 200810187538 A CN200810187538 A CN 200810187538A CN 101526902 B CN101526902 B CN 101526902B
- Authority
- CN
- China
- Prior art keywords
- executable file
- boot
- application program
- file
- compression
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开一种用于移动终端的可执行文件压缩及加载方法,通过对可执行文件的压缩,并加入引导程序,使原来的应用程序可执行文件体积缩小,方便在现有的各种移动终端中存储,加载时通过引导程序实现自动载入并解压为正常的可执行文件、初始化运行环境,并自动运行,在不影响性能的前提下,实现大幅减少嵌入式平台应用程序的体积的目的,减少对无线网络传输速度的要求。
Description
技术领域
本发明涉及移动终端应用软件领域,尤其是涉及应用于移动终端的可执行文件压缩及加载方法。
背景技术
随着移动终端的发展,一方面其处理数据的速度不断增长,另一方面运行在其上的应用软件的体积也随之迅速增长,这对于资源受限的移动终端来说是一个不可忽视的问题。目前应用软件的数量与日俱增,安装在用户移动终端上的应用软件数量也在迅速增加,然而移动终端的存储空间毕竟有限,一些复杂的应用软件所占用的存储空间大小相对于移动终端的存储空间来说是比较大的。中国专利ZL01141646.7提供了一种为移动终端用户提供扩展存储空间的方法,其技术方案是在移动通信网络侧增设信息存储服务器,在手机侧增设由界面软件和通信软件组成的应用软件,来实现信息的存储扩展和应用。但其又依赖于无线网络的传输,而且随着用户使用的增加,无线网络流量增大造成网络拥塞,使其亦无法正常使用,这些因素都限制了嵌入式平台软件产业的发展。
为了减少应用程序的体积,应尽可能的减少可执行文件的大小,在嵌入式平台上就是指减小应用程序可执行文件的大小。减少可执行文件的大小最直接的方法是减少代码长度,通常的作法是对原始的代码进行优化,或者说重构,尽可能的增加代码的重用度,减少代码冗余。但是不同的应用程序本身的结构千差万别,重构的具体策略和应用程序本身密切相关,因此这种方法不具有通用性。
发明内容
本发明的目的是提供一种用于移动终端的可执行文件压缩及加载方法,通过引导程序解压并加载应用的可执行文件,在不影响性能的前提下,实现大幅减少嵌入式平台应用程序的体积的目的,减少对无线网络传输速度的要求。
本发明的目的是通过以下技术方案来实现:
一种用于移动终端的可执行文件压缩及加载方法,所述压缩包括:
将正常的可执行文件通过压缩算法压缩为压缩形式的可执行文件;
将压缩形式的可执行文件与一个引导程序组合成存储文件,所述引导程序具有载入可执行文件、初始化应用程序运行时所必须的环境、跳转到应用程序可执行文件的入口点并开始执行的功能;
所述加载包括:
执行存储文件中的引导程序;
引导程序将压缩形式的可执行文件载入内存并通过解压算法解压为正常的可执行文件;
引导程序初始化应用程序运行时所必须的环境;
引导程序跳转到可执行文件的代码段,应用程序开始正常运行。
对上述用于移动终端的可执行文件压缩及加载方法进一步的优化,所述压缩为直接压缩,形成的存储文件为引导程序和压缩形式的可执行文件经数据合并后形成的一个可执行文件。
上述用于移动终端的可执行文件压缩及加载方法的另一种形式,所述压缩为分离压缩,形成的存储文件为引导程序和压缩形式的可执行文件分别存储的两个文件;进一步的其中的压缩形式的可执行文件可以为独立文件或资源文件。
所述压缩算法与所述解压算法对应,其过程互逆。
本发明的有益效果为,通过对可执行文件的压缩,并加入引导程序,使原来的应用程序可执行文件体积缩小,方便在现有的各种移动终端中存储,加载时通过引导程序实现自动载入并解压为正常的可执行文件、初始化运行环境,并自动运行,在不影响性能的前提下,实现大幅减少嵌入式平台应用程序的体积的目的,减少对无线网络传输速度的要求。
附图说明
下面根据附图和具体实施例对本发明作进一步详细说明。
图1是本发明采用直接压缩方案压缩应用程序的流程图;
图2、图3是本发明采用分离压缩方案压缩应用程序的流程图;
图4是本发明采用直接压缩方案加载应用程序的流程图;
图5、图6是本发明采用分离压缩方案加载应用程序的流程图。
具体实施方式
本发明的具体实施方案中包含三个关键部分:应用程序的压缩、引导程序的加载和执行、解压功能的实现。
应用程序的压缩是实现本发明的第一步。
图1为采用直接压缩方案压缩应用程序的流程图。
在步骤S101中,把应用程序可执行文件100压缩为压缩形式的可执行文件300;
在步骤S102中,把压缩形式的可执行文件300以数据追加的形式与引导程序200组合,生成最终的一个可执行文件400作为存储文件,其具有引导程序200形成的引导部分;
图2、图3为采用分离压缩方案压缩应用程序的流程图。
分别通过步骤S201、S301把应用程序程序可执行文件100压缩为压缩形式的可执行文件300;
在图2步骤S202中,通过组合把压缩形式的可执行文件300以独立文件500的形式存放在文件系统中;并以独立文件的形式存放引导程序200,最终形成的存储文件为两个文件;
在图3步骤S302中,组合过程为把压缩形式的可执行文件300以数据的形式存放在应用程序的资源文件600中;以独立文件的形式存放引导程序200,最终形成的存储文件为两个文件;
引导程序具有载入可执行文件、初始化应用程序运行时所必须的环境、跳转到应用程序可执行文件的入口点并开始执行的功能,引导程序的加载和执行是实现压缩形式可执行文件加载的重要过程,根据应用程序的加载机制,程序启动的时候会从引导程序入口处开始处执行。
应用程序的解压是由引导程序完成的,可以采用各种可用的解压算法,如Gzip解压流,采用的解压算法与压缩算法对应,为互逆的两个过程。
图4为本发明采用直接压缩方案加载应用程序的流程图。
在步骤S401中,程序启动后先加载最终的可执行文件400,加载过程由各个平台应用程序加载机制自动完成,引导部分包含在最终的可执行文件400中,引导部分为解压应用程序分配必要的内存空间;
在步骤S402中,加载完毕后,由引导部分把最终的可执行文件400解压到已分配好的内存中,得到内存中的应用程序可执行文件100,紧接着初始化应用程序运行时所必须的环境,最终跳转到应用程序可执行文件100的代码段,应用程序开始正常运行;
图5、图6为采用分离压缩方案加载应用程序的流程图。
在步骤S501、S601中,程序启动后先加载引导程序200并从入口点开始执行;引导程序200分别为压缩形式的可执行文件(独立文件)500或压缩形式的可执行文件(资源文件)600分配必要的内存空间,并完成其向内存中的加载;
在步骤S502中,引导程序200将独立存放的压缩形式的可执行文件500,解压到内存中,得到内存中的应用程序可执行文件100;步骤S602中,引导程序200将以资源文件存放的压缩形式的可执行文件600解压到内存中,得到内存中的应用程序可执行文件100;紧接着初始化应用程序运行时所必须的环境,最终跳转到应用程序可执行文件100的代码段,应用程序开始正常运行。
Claims (2)
1.一种用于移动终端的可执行文件压缩及加载方法,其特征在于所述压缩包括:
将正常的可执行文件通过压缩算法压缩为压缩形式的可执行文件;
将压缩形式的可执行文件与一个引导程序组合成存储文件,所述引导程序具有载入可执行文件、初始化应用程序运行时所必须的环境、跳转到应用程序可执行文件的入口点并开始执行的功能;
所述加载包括:
加载和执行存储文件中的引导程序;
引导程序将压缩形式的可执行文件载入内存并通过解压算法解压为正常的可执行文件;
引导程序初始化应用程序运行时所必须的环境;
引导程序跳转到可执行文件的代码段,应用程序开始正常运行;
所述压缩为直接压缩,所述组合指形成的存储文件为引导程序和压缩形式的可执行文件经数据合并后形成的一个可执行文件。
2.根据权利要求1所述的任一种用于移动终端的可执行文件压缩及加载方法,其特征在于,所述压缩算法与所述解压算法对应,其过程互逆。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101875382A CN101526902B (zh) | 2008-12-25 | 2008-12-25 | 用于移动终端的可执行文件压缩及加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101875382A CN101526902B (zh) | 2008-12-25 | 2008-12-25 | 用于移动终端的可执行文件压缩及加载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101526902A CN101526902A (zh) | 2009-09-09 |
CN101526902B true CN101526902B (zh) | 2012-01-04 |
Family
ID=41094773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101875382A Expired - Fee Related CN101526902B (zh) | 2008-12-25 | 2008-12-25 | 用于移动终端的可执行文件压缩及加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101526902B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102082873B (zh) * | 2011-01-13 | 2014-04-30 | 中兴通讯股份有限公司 | 开机方法、移动终端及用户识别卡 |
CN102231117B (zh) * | 2011-07-08 | 2013-08-14 | 盛乐信息技术(上海)有限公司 | 一种在嵌入式平台安装软件的方法和系统 |
CN102375753B (zh) * | 2011-10-08 | 2014-06-18 | 宇龙计算机通信科技(深圳)有限公司 | 移动终端预置应用的方法及移动终端 |
CN103577225B (zh) * | 2013-10-22 | 2016-11-23 | 北京奇虎科技有限公司 | 一种软件安装方法和装置 |
CN105893086B (zh) * | 2016-03-30 | 2020-04-10 | 深圳市东微智能科技股份有限公司 | 一种基于音频处理器的系统固件压缩方法及其解压缩方法 |
CN106897090B (zh) * | 2017-02-06 | 2020-09-25 | 国网智能科技股份有限公司 | 一种嵌入式设备程序升级方法及系统 |
CN109241005A (zh) * | 2018-09-25 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种文件管理方法及相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5530847A (en) * | 1993-03-22 | 1996-06-25 | Dell Usa, L.P. | System and method for loading compressed embedded diagnostics |
CN1947094A (zh) * | 2004-04-26 | 2007-04-11 | 英特尔公司 | 用于有条件地缩小可执行模块的系统和方法 |
-
2008
- 2008-12-25 CN CN2008101875382A patent/CN101526902B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5530847A (en) * | 1993-03-22 | 1996-06-25 | Dell Usa, L.P. | System and method for loading compressed embedded diagnostics |
CN1947094A (zh) * | 2004-04-26 | 2007-04-11 | 英特尔公司 | 用于有条件地缩小可执行模块的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101526902A (zh) | 2009-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101526902B (zh) | 用于移动终端的可执行文件压缩及加载方法 | |
CN104375849B (zh) | 加载内核的方法及装置 | |
CN100396132C (zh) | 一种实现无线终端程序更新的方法 | |
CN101526950B (zh) | 一种终端、数据自动同步的方法及系统 | |
CN102375753B (zh) | 移动终端预置应用的方法及移动终端 | |
CN111031058A (zh) | 基于WebSocket的分布式服务器集群交互方法及装置 | |
CN1669017A (zh) | 针对无线设备的位于应用服务器上的应用程序目录 | |
CN101543011A (zh) | 将多媒体内容和解码装置捆绑的方法 | |
JP2006502457A (ja) | ネットワーク接続されたリソース上の制約を有する装置の実行及びリソースをオフロードする方法及びシステム | |
CN101840341A (zh) | 智能手机系统及其启动方法 | |
CN102281325B (zh) | 一种移动应用分包下载方法 | |
CN102223380A (zh) | 一种基于网络服务的客户端自动升级框架及其应用 | |
US20070192443A1 (en) | Contents download system using wireless internet platform and method thereof | |
CN102073705B (zh) | 一种彩卡客户端的短信智能解析系统 | |
CN106919391A (zh) | 面向智能手机的可定制操作系统组件的嵌入式系统 | |
CN102368849A (zh) | 智能手机通讯录通过网络进行状态更新的系统及方法 | |
CN101035337A (zh) | 减少移动通信终端的引导时间的方法 | |
KR100747901B1 (ko) | 이동통신단말기의 실행 파일 압축 방법 | |
CN103024724A (zh) | 信息处理系统和方法、服务器、移动终端 | |
CN112769945B (zh) | 分布式服务调用方法及装置 | |
CN113055483A (zh) | 消息中间件数据处理方法、装置及系统 | |
CN102227900A (zh) | 使信息同步的方法与系统 | |
CN101605186B (zh) | 一种提高语音可扩展标记语言业务播放远端语音性能方法 | |
CN106453494A (zh) | 一种插件更新方法、系统、客户端和服务端 | |
CN103297516A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120104 Termination date: 20121225 |