CN101526902A - 用于移动终端的可执行文件压缩及加载技术 - Google Patents

用于移动终端的可执行文件压缩及加载技术 Download PDF

Info

Publication number
CN101526902A
CN101526902A CN200810187538A CN200810187538A CN101526902A CN 101526902 A CN101526902 A CN 101526902A CN 200810187538 A CN200810187538 A CN 200810187538A CN 200810187538 A CN200810187538 A CN 200810187538A CN 101526902 A CN101526902 A CN 101526902A
Authority
CN
China
Prior art keywords
executable file
file
compression
boot
application program
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.)
Granted
Application number
CN200810187538A
Other languages
English (en)
Other versions
CN101526902B (zh
Inventor
黄小军
杨敬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN2008101875382A priority Critical patent/CN101526902B/zh
Publication of CN101526902A publication Critical patent/CN101526902A/zh
Application granted granted Critical
Publication of CN101526902B publication Critical patent/CN101526902B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 (5)

1、一种用于移动终端的可执行文件压缩及加载技术,其特征在于所述压缩包括:
将正常的可执行文件通过压缩算法压缩为压缩形式的可执行文件;
将压缩形式的可执行文件与一个引导程序组合成存储文件,所述引导程序具有载入可执行文件、初始化应用程序运行时所必须的环境、跳转到应用程序可执行文件的入口点并开始执行的功能;
所述加载包括:
加载和执行存储文件中的引导程序;
引导程序将压缩形式的可执行文件载入内存并通过解压算法解压为正常的可执行文件;
引导程序始化应用程序运行时所必须的环境;
引导程序跳转到可执行文件的代码段,应用程序开始正常运行。
2、根据权利要求1所述的用于移动终端的可执行文件压缩及加载技术,其特征在于,所述压缩为直接压缩,所述组合指形成的存储文件为引导程序和压缩形式的可执行文件经数据合并后形成的一个可执行文件。
3、根据权利要求1所述的用于移动终端的可执行文件压缩及加载技术,其特征在于,所述压缩为分离压缩,所述组合指形成的存储文件为引导程序和压缩形式的可执行文件分别存储的两个文件。
4、根据权利要求3所述的用于移动终端的可执行文件压缩及加载技术,其特征在于,所述压缩形式的可执行文件为独立文件或资源文件。
5、根据权利要求1至4所述的任一种用于移动终端的可执行文件压缩及加载技术,其特征在于,所述压缩算法与所述解压算法对应,其过程互逆。
CN2008101875382A 2008-12-25 2008-12-25 用于移动终端的可执行文件压缩及加载方法 Expired - Fee Related CN101526902B (zh)

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 true CN101526902A (zh) 2009-09-09
CN101526902B 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)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231117A (zh) * 2011-07-08 2011-11-02 盛乐信息技术(上海)有限公司 一种在嵌入式平台安装软件的方法和系统
CN102375753A (zh) * 2011-10-08 2012-03-14 宇龙计算机通信科技(深圳)有限公司 移动终端预置应用的方法及移动终端
WO2012094867A1 (zh) * 2011-01-13 2012-07-19 中兴通讯股份有限公司 开机方法、移动终端及用户识别卡
CN103577225A (zh) * 2013-10-22 2014-02-12 北京奇虎科技有限公司 一种软件安装方法和装置
CN105893086A (zh) * 2016-03-30 2016-08-24 深圳市东微智能科技有限公司 一种基于音频处理器的系统固件压缩方法及其解压缩方法
CN106897090A (zh) * 2017-02-06 2017-06-27 山东鲁能智能技术有限公司 一种嵌入式设备程序升级方法及系统
CN109241005A (zh) * 2018-09-25 2019-01-18 郑州云海信息技术有限公司 一种文件管理方法及相关装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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
US7853742B2 (en) * 2004-04-26 2010-12-14 Intel Corporation System and method to conditionally shrink an executable module

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012094867A1 (zh) * 2011-01-13 2012-07-19 中兴通讯股份有限公司 开机方法、移动终端及用户识别卡
CN102231117A (zh) * 2011-07-08 2011-11-02 盛乐信息技术(上海)有限公司 一种在嵌入式平台安装软件的方法和系统
CN102231117B (zh) * 2011-07-08 2013-08-14 盛乐信息技术(上海)有限公司 一种在嵌入式平台安装软件的方法和系统
CN102375753A (zh) * 2011-10-08 2012-03-14 宇龙计算机通信科技(深圳)有限公司 移动终端预置应用的方法及移动终端
CN102375753B (zh) * 2011-10-08 2014-06-18 宇龙计算机通信科技(深圳)有限公司 移动终端预置应用的方法及移动终端
CN103577225A (zh) * 2013-10-22 2014-02-12 北京奇虎科技有限公司 一种软件安装方法和装置
CN103577225B (zh) * 2013-10-22 2016-11-23 北京奇虎科技有限公司 一种软件安装方法和装置
CN105893086A (zh) * 2016-03-30 2016-08-24 深圳市东微智能科技有限公司 一种基于音频处理器的系统固件压缩方法及其解压缩方法
CN105893086B (zh) * 2016-03-30 2020-04-10 深圳市东微智能科技股份有限公司 一种基于音频处理器的系统固件压缩方法及其解压缩方法
CN106897090A (zh) * 2017-02-06 2017-06-27 山东鲁能智能技术有限公司 一种嵌入式设备程序升级方法及系统
CN106897090B (zh) * 2017-02-06 2020-09-25 国网智能科技股份有限公司 一种嵌入式设备程序升级方法及系统
CN109241005A (zh) * 2018-09-25 2019-01-18 郑州云海信息技术有限公司 一种文件管理方法及相关装置

Also Published As

Publication number Publication date
CN101526902B (zh) 2012-01-04

Similar Documents

Publication Publication Date Title
CN101526902B (zh) 用于移动终端的可执行文件压缩及加载方法
CN104375849B (zh) 加载内核的方法及装置
CN100396132C (zh) 一种实现无线终端程序更新的方法
CN101543011B (zh) 将多媒体内容和解码装置捆绑的方法
JP4216722B2 (ja) ネットワーク接続されたリソース上の制約を有する装置の実行及びリソースをオフロードする方法及びシステム
CN101568104B (zh) 用于在无线设备和服务器之间握手的系统和方法
CN111031058A (zh) 基于WebSocket的分布式服务器集群交互方法及装置
CN102375753B (zh) 移动终端预置应用的方法及移动终端
CN101526950B (zh) 一种终端、数据自动同步的方法及系统
CN1669017A (zh) 针对无线设备的位于应用服务器上的应用程序目录
CN102281325B (zh) 一种移动应用分包下载方法
US20070192443A1 (en) Contents download system using wireless internet platform and method thereof
CN102223380A (zh) 一种基于网络服务的客户端自动升级框架及其应用
CN105453126A (zh) 应用程序共享服务方法和应用于该服务方法的装置
CN101035337B (zh) 减少移动通信终端的引导时间的方法
CN106919391A (zh) 面向智能手机的可定制操作系统组件的嵌入式系统
CN112769945B (zh) 分布式服务调用方法及装置
CN113282590A (zh) 基于5g消息的接口联调方法及装置
KR20070010353A (ko) 이동통신단말기의 실행 파일 압축 방법
CN113055483A (zh) 消息中间件数据处理方法、装置及系统
WO2012024857A1 (zh) 一种java虚拟机图片资源加载的方法和终端
CN101605186B (zh) 一种提高语音可扩展标记语言业务播放远端语音性能方法
CN106453494A (zh) 一种插件更新方法、系统、客户端和服务端
CN101937362A (zh) 一种支持多嵌入式设备计算迁移的系统和方法
CN101808269A (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