CN106528254A - 一种app快速加载方法 - Google Patents

一种app快速加载方法 Download PDF

Info

Publication number
CN106528254A
CN106528254A CN201611167072.0A CN201611167072A CN106528254A CN 106528254 A CN106528254 A CN 106528254A CN 201611167072 A CN201611167072 A CN 201611167072A CN 106528254 A CN106528254 A CN 106528254A
Authority
CN
China
Prior art keywords
app
loading
executable file
configuration information
file
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.)
Pending
Application number
CN201611167072.0A
Other languages
English (en)
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.)
HUNAN NEW CLOUDNET TECHNOLOGY CO., LTD.
Original Assignee
Hunan Information Technology Co Ltd
Central South University
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 Hunan Information Technology Co Ltd, Central South University filed Critical Hunan Information Technology Co Ltd
Priority to CN201611167072.0A priority Critical patent/CN106528254A/zh
Publication of CN106528254A publication Critical patent/CN106528254A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Abstract

本发明公开了一种APP快速加载方法,包括:S1.智能设备为APP分配固定的运行空间;S2.初始化运行空间;S3.判断APP存储空间中是否存在需要加载的APP的可执行文件和配置信息文件,是则跳转到步骤S4,否则跳转到步骤S5;S4.从APP存储空间获取可执行文件和配置信息文件,并根据配置信息文件将可执行文件加载至运行空间;S5.从APP存储空间获取需要加载的APP的软件包,解析并重定位,生成可执行文件及配置信息文件,将可执行文件加载至运行空间,并将可执行文件及配置信息文件备份至APP存储空间。本发明具有可实现APP的快速加载,节约安装时间,降低安装能耗,高效、可靠的优点。

Description

一种APP快速加载方法
技术领域
本发明涉及软件加载技术领域,尤其涉及一种APP快速加载方法。
背景技术
随着信息技术等相关产业的高速发展,智能终端设备已经转变为世界各个国家发展信息技术的热门方向,智能终端逐渐演变成集合了交流平台、娱乐平台、商务平台于一体的载体。
目前极为流行的智能终端产品多以ARM内核处理器为核心,移植RTOS微内核,再配合外围设备实现智能终端的多功能。如果需要智能终端具备更强的扩展性能,那还需要辅以软件重定位技术来实现软件的动态加载。但是在每次运行同一个动态软件的过程中,都需要将软件中的代码进行link(链接)、load(加载)处理,然后才能生成可执行文件。所以,每次运行软件都需要耗费大量的时间,造成CPU资源的浪费。同时,此过程也消耗大量的电能,为原本容量就极小的电池带来更大的负担。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种可实现在智能终端上进行APP的快速加载,节约APP(应用软件程序)的安装时间,降低安装APP的能耗,高效、可靠的APP快速加载方法。
为解决上述技术问题,本发明提出的技术方案为:一种APP快速加载方法,包括:
S1. 智能设备为APP分配固定的运行空间;
S2. 初始化所述运行空间;
S3. 根据所需要加载的APP,判断APP存储空间中是否存在所述需要加载的APP的可执行文件和配置信息文件,是则跳转到步骤S4,否则跳转到步骤S5;
S4. 从所述APP存储空间获取所述需要加载的APP的可执行文件和配置信息文件,并根据所述配置信息文件将所述需要加载的APP的可执行文件加载至所述运行空间;
S5. 从所述APP存储空间获取所述需要加载的APP的软件包,解析并重定位所述软件包,生成需要加载的APP的可执行文件及配置信息文件,将所述可执行文件加载至运行空间,并将所述可执行文件及配置信息文件备份至所述APP存储空间。
作为本发明的进一步改进,所述步骤S2的具体步骤包括:判断所述运行空间是否已经被占用,是则重新初始化所述运行空间。
作为本发明的进一步改进,在所述步骤S1之后,还包括步骤S1a:根据所需要加载的APP,判断所需要加载的APP的可执行文件是否缓存在智能设备中,是则直接运行所述可执行文件,否则跳转到步骤S3。
作为本发明的进一步改进,所述步骤S5的具体步骤包括:
S5.1. 从所述APP存储空间获取所述需要加载的APP的软件包;
S5.2. 解析所述软件包,进行软件包的代码段与资源段的分离;
S5.3. 将所述需要加载的APP的详细信息注册到智能设备的软件管理器中;
S5.4. 通过所述软件管理器对所述代码段进行Link和Load操作,生成所述需要加载的APP的可执行文件和配置信息文件;
S5.5. 将所述可执行文件拷贝至所述运行空间,运行所述可执行文件;
S5.6. 将所述可执行文件拷贝和配置信息文件备份至所述APP存储空间。
作为本发明的进一步改进,所述APP存储空间为所述智能设备以外的服务端上的存储空间。
与现有技术相比,本发明的优点在于:可实现在智能终端上进行APP的快速加载,节约APP的安装时间,降低安装APP的能耗,安装效率高、可靠性好。
附图说明
图1为软件包的结构示意图。
图2为本发明具体实施例流程示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图2所示,本实施例的APP快速加载方法,步骤为:S1. 智能设备为APP分配固定的运行空间;S2. 初始化运行空间;S3. 根据所需要加载的APP,判断APP存储空间中是否存在需要加载的APP的可执行文件和配置信息文件,是则跳转到步骤S4,否则跳转到步骤S5;S4. 从APP存储空间获取需要加载的APP的可执行文件和配置信息文件,并根据配置信息文件将需要加载的APP的可执行文件加载至运行空间;S5. 从APP存储空间获取需要加载的APP的软件包,解析并重定位软件包,生成需要加载的APP的可执行文件及配置信息文件,将可执行文件加载至运行空间,并将可执行文件及配置信息文件备份至APP存储空间。
在本实施例中,步骤S2的具体步骤包括:判断所述运行空间是否已经被占用,是则重新初始化所述运行空间。
在本实施例中,在步骤S1之后,还包括步骤S1a:根据所需要加载的APP,判断所需要加载的APP的可执行文件是否缓存在智能设备中,是则直接运行可执行文件,否则跳转到步骤S3。在本实施例中,APP的可执行文件缓存在智能设备中是指该APP的可执行文件在智能设备上停止运行,但由于没有新的APP加载,所以该APP的可执行文件仍驻留在运行空间中。此时,不需要重新初始化运行空间,重新获取该APP的可执行文件,只需要直接运行该APP在运行空间中的可执行文件即可。
在本实施例中,步骤S5的具体步骤为:S5.1. 从APP存储空间获取需要加载的APP的软件包;S5.2. 解析软件包,进行软件包的代码段与资源段的分离;S5.3. 将需要加载的APP的详细信息注册到智能设备的软件管理器中;S5.4. 通过软件管理器对代码段进行Link和Load操作,生成需要加载的APP的可执行文件和配置信息文件;S5.5. 将可执行文件拷贝至运行空间,运行可执行文件;S5.6. 将可执行文件拷贝和配置信息文件备份至APP存储空间。在APP存储空间没有需要加载的APP的可执行文件和配置信息文件时,需要执行步骤S5所示的一个完整的APP加载过程,并对生成的可执行文件和配置信息文件进行备份。软件包的结构如图1所示,包括RW、RO以及Resource三个部分组成,其中RW包括RW Data和ZIData,RO包括Code和RO Data,Resource包括Resource Data。支持程序运行的文件有Code、RO Data、RW Data以及ZI Data,因为ZI Data是未初始化的变量,所以其数据均为0,只需要程序运行之前将ZI Data的数据所在区域清零即可。所以程序运行最开始需要加载的文件为Code、RO Data以及RW Data。在通过对软件包进行解析获取Code、RO Data以及RW Data之后,仍然不能直接运行,需要对Code、RO Data以及RW Data进行重定位,重定位后的文件即为可执行文件。
在本实施例中,APP存储空间为智能设备以外的服务端上的存储空间。当然,如果智能设备本地存储空间足够大,满足APP软件包及可执行文件和配置信息文件的存储需求,当然也可以将APP存储空间设备在智能设备本地。
在本实施例中,通过对智能设备的内存空间进行划分,专门为APP分配一个固定的运行空间,本实施例中假定智能设备为APP分配的固定的运行空间为起始地址为0x0000,大小为512Kb的运行空间。在该智能设备上,所有需要运行的APP都在该运行空间中运行。并且,在每次加载新的APP之前,判断该运行空间是否被占用,是则停止运行空间中原有APP的运行,并初始化运行空间,即在任意时刻,智能设备上只有一个APP在运行。由于为APP配置了固定的专用的运行空间,同时,该运行空间在任意时刻只有一个APP加载,即APP的可执行文件每次加载的首地址是固定的,在该设备上运行的所有APP的可执行文件的加载起始地址均为0x0000。对于同一个APP来说,该APP的可执行文件每次在该设备上的加载起始地址均为0x0000,则在每次加载时,该APP的可执行文件中的全部需要重定位条目的地址也相同,因此,在将运行空间中的可执行文件进行备份后,在下次需要运行该APP时,可直接将备份的可执行文件拷贝至运行空间中,直接运行,而不需要再次进行重定位。从而节省了APP的加载时间,提高了加载效率。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

Claims (5)

1.一种APP快速加载方法,其特征在于:
S1. 智能设备为APP分配固定的运行空间;
S2. 初始化所述运行空间;
S3. 根据所需要加载的APP,判断APP存储空间中是否存在所述需要加载的APP的可执行文件和配置信息文件,是则跳转到步骤S4,否则跳转到步骤S5;
S4. 从所述APP存储空间获取所述需要加载的APP的可执行文件和配置信息文件,并根据所述配置信息文件将所述需要加载的APP的可执行文件加载至所述运行空间;
S5. 从所述APP存储空间获取所述需要加载的APP的软件包,解析并重定位所述软件包,生成需要加载的APP的可执行文件及配置信息文件,将所述可执行文件加载至运行空间,并将所述可执行文件及配置信息文件备份至所述APP存储空间。
2.根据权利要求1所述的APP快速加载方法,其特征在于:所述步骤S2的具体步骤包括:判断所述运行空间是否已经被占用,是则重新初始化所述运行空间。
3.根据权利要求2所述的APP快速加载方法,其特征在于,在所述步骤S1之后,还包括步骤S1a:根据所需要加载的APP,判断所需要加载的APP的可执行文件是否缓存在智能设备中,是则直接运行所述可执行文件,否则跳转到步骤S3。
4.根据权利要求3所述的APP快速加载方法,其特征在于,所述步骤S5的具体步骤包括:
S5.1. 从所述APP存储空间获取所述需要加载的APP的软件包;
S5.2. 解析所述软件包,进行软件包的代码段与资源段的分离;
S5.3. 将所述需要加载的APP的详细信息注册到智能设备的软件管理器中;
S5.4. 通过所述软件管理器对所述代码段进行Link和Load操作,生成所述需要加载的APP的可执行文件和配置信息文件;
S5.5. 将所述可执行文件拷贝至所述运行空间,运行所述可执行文件;
S5.6. 将所述可执行文件拷贝和配置信息文件备份至所述APP存储空间。
5.根据权利要求1至4任一项所述的APP快速加载方法,其特征在于:所述APP存储空间为所述智能设备以外的服务端上的存储空间。
CN201611167072.0A 2016-12-16 2016-12-16 一种app快速加载方法 Pending CN106528254A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611167072.0A CN106528254A (zh) 2016-12-16 2016-12-16 一种app快速加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611167072.0A CN106528254A (zh) 2016-12-16 2016-12-16 一种app快速加载方法

Publications (1)

Publication Number Publication Date
CN106528254A true CN106528254A (zh) 2017-03-22

Family

ID=58340954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611167072.0A Pending CN106528254A (zh) 2016-12-16 2016-12-16 一种app快速加载方法

Country Status (1)

Country Link
CN (1) CN106528254A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309341A (zh) * 2020-02-17 2020-06-19 中南大学 基于耗时预测的安卓应用安装流程优化方法
CN111381902A (zh) * 2020-03-10 2020-07-07 中南大学 基于带属性异构网络嵌入的app启动加速方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101246427A (zh) * 2007-02-15 2008-08-20 凌阳科技股份有限公司 应用程序可重定位加载的方法及地址重定位装置
CN102819439A (zh) * 2011-06-10 2012-12-12 中兴通讯股份有限公司 一种基于重定位的多制式应用程序的动态加载方法和装置
US20130304796A1 (en) * 2010-09-29 2013-11-14 Citrix Systems, Inc. Systems and methods for providing quality of service via a flow controlled tunnel
CN103902305A (zh) * 2012-12-26 2014-07-02 中国航空工业集团公司第六三一研究所 基于ti dsp的软件远程加载与固化方法
CN103927187A (zh) * 2014-05-09 2014-07-16 成都凯智科技有限公司 嵌入式系统程序执行方法
CN104407886A (zh) * 2014-11-05 2015-03-11 中国航天科技集团公司第九研究院第七七一研究所 一种引导与目标分离的嵌入式软件固化、加载方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101246427A (zh) * 2007-02-15 2008-08-20 凌阳科技股份有限公司 应用程序可重定位加载的方法及地址重定位装置
US20130304796A1 (en) * 2010-09-29 2013-11-14 Citrix Systems, Inc. Systems and methods for providing quality of service via a flow controlled tunnel
CN102819439A (zh) * 2011-06-10 2012-12-12 中兴通讯股份有限公司 一种基于重定位的多制式应用程序的动态加载方法和装置
CN103902305A (zh) * 2012-12-26 2014-07-02 中国航空工业集团公司第六三一研究所 基于ti dsp的软件远程加载与固化方法
CN103927187A (zh) * 2014-05-09 2014-07-16 成都凯智科技有限公司 嵌入式系统程序执行方法
CN104407886A (zh) * 2014-11-05 2015-03-11 中国航天科技集团公司第九研究院第七七一研究所 一种引导与目标分离的嵌入式软件固化、加载方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309341A (zh) * 2020-02-17 2020-06-19 中南大学 基于耗时预测的安卓应用安装流程优化方法
CN111309341B (zh) * 2020-02-17 2023-04-07 中南大学 基于耗时预测的安卓应用安装流程优化方法
CN111381902A (zh) * 2020-03-10 2020-07-07 中南大学 基于带属性异构网络嵌入的app启动加速方法

Similar Documents

Publication Publication Date Title
CN105100191B (zh) 一种云编译实现Java应用安装的方法、装置及系统
CN102999369B (zh) 虚拟机升级的方法及装置
CN107769949B (zh) 一种应用组件部署方法及部署节点
CN105138382B (zh) 一种Android系统升级的方法及终端
CN103227812B (zh) 智能设备中支持断点续传的下载方法和装置
TWI622933B (zh) Client update method and device
US20140033208A1 (en) Method and device for loading application program
JP6412276B2 (ja) 仮想マシン作成方法及び装置
CN104301338A (zh) 基于云平台的应用系统自动部署方法
CN101673204A (zh) 一种基于arm的手机应用程序动态加载方法
CN105975311A (zh) 一种应用启动方法及装置
CN103488536A (zh) 任务调度方法、装置及操作系统
CN104850505A (zh) 基于链式堆叠的内存管理方法与系统
CN104077161A (zh) 一种客户端应用的升级方法及装置
US20060101410A1 (en) Abstracted managed code execution
CN112328319A (zh) 一种支持ram文件系统的星载app动态加载方法
CN103593233A (zh) 推送软件信息的方法和系统
CN106528254A (zh) 一种app快速加载方法
CN104699536A (zh) 活动组件进程空间分配方法及其相应的装置
CN111625317A (zh) 一种业务系统的容器云构建方法及相关装置
CN109347661B (zh) 消费者vnf的实例化方法及装置
CN109298873A (zh) 一种系统升级方法及装置
CN112799777B (zh) 一种流水线中预热调度的方法
CN102129385B (zh) 一种虚拟机管理功能动态扩展的管理方法
CN116048825A (zh) 容器集群构建方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20170704

Address after: 410083 Hunan province Changsha Lushan Road No. 932

Applicant after: Central South University

Applicant after: HUNAN NEW CLOUDNET TECHNOLOGY CO., LTD.

Address before: 410083 Hunan province Changsha Lushan Road No. 932

Applicant before: Central South University

Applicant before: Hunan, Information Technology Co. Ltd.

CB03 Change of inventor or designer information

Inventor after: Zhang Yaoxue

Inventor after: Guo Hui

Inventor after: Ren Ju

Inventor after: Liu Yaping

Inventor after: Chen Yafang

Inventor after: Li Zhengjun

Inventor before: Guo Hui

Inventor before: Ren Ju

Inventor before: Zhang Yaoxue

Inventor before: Liu Yaping

Inventor before: Chen Yafang

Inventor before: Li Zhengjun

CB03 Change of inventor or designer information
RJ01 Rejection of invention patent application after publication

Application publication date: 20170322

RJ01 Rejection of invention patent application after publication