CN112650541A - 一种应用程序启动加速方法、系统、设备及存储介质 - Google Patents
一种应用程序启动加速方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112650541A CN112650541A CN201910953787.6A CN201910953787A CN112650541A CN 112650541 A CN112650541 A CN 112650541A CN 201910953787 A CN201910953787 A CN 201910953787A CN 112650541 A CN112650541 A CN 112650541A
- Authority
- CN
- China
- Prior art keywords
- application program
- control process
- target application
- process system
- acceleration
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用程序启动加速方法、系统、设备及存储介质,通过当接收到针对目标应用程序的启动指令时,获取所述目标应用程序对应的加速配置信息;根据所述加速配置信息,启动所述目标应用程序。本实施例中通过预先为各种应用程序配置相应的加速配置信息,当检测到某一应用程序启动的信息,则自动为该应用程序查找相对应的加速配置信息,根据所述查找出的加速配置信息对所述应用程序进行启动加速控制,从而实现了在不改变硬件配置的前提下,自动开启对应用程序启动加速,使得启动加速后的应用程序,启动时间短,减少了用户的等待时间,为用户的使用提供了便利,提高了用户使用应用程序的舒适性与便捷性。
Description
技术领域
本发明涉及控制领域,尤其涉及的是一种应用程序启动加速方法、系统、设备及存储介质。
背景技术
安卓系统是一种基于Linux操作系统的自由及开放源代码的操作系统,由谷歌公司和开放手机联盟领导及开发,主要用于移动设备,如智能手机和平板电脑。安卓系统的系统架构和其他操作系统一样,采用了分层的架构,从架构图看,安卓操作系统分为四层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
随着科技和工业的发展,搭载安卓系统的智能终端设备越来越普及,安卓手机、平板、电视等设备影响着人们每天的工作、生活。由于不同机器的硬件配置不可变性,加安装到系统的应用越来越多,导致很多应用在运行时,由于对应用配置文件解析过程增加,导致应用启动变慢,操作卡顿,用户需要较长时间等待应用启动进程的执行,甚至在应用启动进程执行的过程中还可能会发生应用启动失败的情况,因此给用户使用应用带来诸多不便。
因此,现有技术有待于进一步的改进。
发明内容
鉴于上述现有技术中的不足之处,本发明提供了一种应用程序启动加速方法、系统、设备及存储介质,旨在克服应用程序启动缓慢,用户等待时间较长的问题。
第一方面,本实施例公开了一种应用程序启动加速方法,其中,包括:
当接收到针对目标应用程序的启动指令时,响应于所述启动指令,获取所述目标应用程序对应的加速配置信息;其中,所述加速配置信息包括所述目标应用程序对应的控制进程系统及所述控制进程系统对应的运行资源;
根据所述加速配置信息,启动所述目标应用程序。
可选的,所述当接收到针对目标应用程序的启动指令时,响应于所述启动指令,获取所述目标应用程序对应的加速配置信息的步骤包括:
接收针对目标应用程序的启动指令;
响应于所述启动指令,读取所述目标应用程序的应用信息;
根据所述应用信息,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源;
将所述控制进程系统以及所述控制进程系统对应的运行资源作为所述目标应用程序对应的加速配置信息。
可选的,所述根据所述应用信息,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源的步骤包括:
根据所述应用信息识别出所述目标应用程序所属的应用程序种类;
根据所述目标应用程序所属的应用程序种类,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源。
可选的,所述根据所述目标应用程序所属的应用程序种类,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源的步骤包括:
若所述目标应用程序所属的应用程序种类为媒体播放类,则所述目标应用程序对应的控制进程系统为CPU占用调节子系统,以及所述控制进程系统所对应的运行资源为所述CPU占用调节子系统对应的预设CPU时间片的占用比例;
若所述目标应用程序所属的应用程序种类为信息管理类,则所述目标应用程序对应的控制进程系统为CPU调核子系统,以及所述控制进程系统所对应的运行资源为所述CPU调核子系统对应的进程运行CPU核心;
若所述目标应用程序所属的应用程序种类为文字处理类,则所述目标应用程序对应的控制进程系统为动态频率调节系统,以及所述控制进程系统所对应的运行资源为所述动态频率调节系统对应的CPU运行频率。
可选的,所述根据所述应用信息,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源的步骤包括:
根据所述应用信息确定所述目标应用程序的名称;
根据所述目标应用程序的名称,确定所述目标应用程序的名称对应的控制进程系统,以及所述控制进程系统对应的运行资源。
可选的,所述根据所述加速配置信息,启动所述目标应用程序的步骤包括:
确定所述加速配置信息对应的控制进程系统;
将所述加速配置信息中的所述运行资源配置所述控制进程系统,以便所述控制进程系统基于所述运行资源启动所述目标应用程序;
其中,所述运行资源包括:占用CPU时间片比例、进程运行CPU核心等级和CPU运行频率等级中的一种或多种。
可选的,所述根据所述加速配置信息,启动所述目标应用程序的步骤之前,还包括步骤:
将所述目标应用程序的启动进程添加到所述控制进程系统对应的加速控制线程中。
可选的,所述根据所述加速配置信息,启动所述目标应用程序的步骤之后,还包括:
当接收到所述目标应用程序的启动完成信号时,将所述目标应用程序的启动进程从所述控制进程系统对应的加速控制线程中移除。
第二方面,本实施例还公开了一种应用程序启动加速系统,其中,包括:
配置获取模块,用于当接收到针对目标应用程序的启动指令时,响应于所述启动指令,获取所述目标应用程序对应的加速配置信息;其中,所述加速配置信息包括所述加速配置信息包括启动加速对应的控制进程系统及所述控制进程系统对应的运行资源;
控制加速模块,根据所述加速配置信息,启动所述目标应用程序。
第三方面,本实施例还公开了一种应用程序启动加速设备,其中,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如所述的应用程序启动加速方法。
第四方面,本实施例还公开了一种非临时性计算机可读存储介质,其中,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行所述的应用程序启动加速方法。
与现有技术相比,本发明实施例具有以下优点:
根据本发明实施方式提供的方法,通过当接收到针对目标应用程序的启动指令时,获取所述目标应用程序对应的加速配置信息;根据所述加速配置信息,启动所述目标应用程序。本实施例中通过预先为各种应用程序配置相应的加速配置信息,当检测到某一应用程序启动的信息,则自动为该应用程序查找相对应的加速配置信息,根据所述查找出的加速配置信息对所述应用程序进行启动加速控制,由于本实施例中通过改变控制进程系统中所分配的运行资源,所涉及到的控制均为软件资源配置上的调整,并未涉及到硬件上的改变,因此本实施例实现了在不改变硬件配置的前提下,自动开启对应用程序启动加速,使得启动加速后的应用程序启动时间短,减少了用户的等待时间,为用户的使用提供了便利,提高了用户使用应用程序的舒适性与便捷性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中一种基于应用程序启动加速方法的步骤流程图;
图2是本发明实施例中所述的应用程序启动加速系统的框架图;
图3是本发明实施例中所述应用程序启动加速的应用实施例的步骤流程示意图;
图4是本发明实施例中一种应用程序启动加速系统的原理结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有技术中为了使得智能终端可以同时满足用户多种需求的目的,越来越多的应用程序被开发出来,并安装到智能终端上,例如:用于播放影视剧的视频类应用程序,例如:腾讯视频、咪咕视频、爱奇艺等,音乐类应用程序,例如:QQ音乐、网易云音乐、酷我音乐盒等,还有游戏类应用程序,学习类应用程序、生活类应用程序等等,由于越来越多的已安装应用程序占用终端设备系统内存和CPU,因此导致应用程序在启动时,进程缓慢,甚至可能出现启动失败的情况发生,从而给用户带来不便。
为了解决上述问题,本实施例中公开了一种应用程序启动加速方法,可以应用到如下的场景中,终端设备可以是安装有安卓系统的手机或智能电视,通过预先在终端设备中设置一个用于对应用程序进行加速控制的配置信息,该配置信息中存储有应用程序的名称或应用程序所属类型与其相对应加速配置信息,当用户开启终端设备上的某个应用程序时,终端设备监测到该应用程序启动的线程,则根据该应用程序的名称或所属类型查找出与所述应用程序相对应的加速启动的加速配置信息,根据所述加速配置信息对应用程序进行加速控制。其中,所述加速配置信息为针对系统中已经安装的应用程序在启动时,所配置的加速控制信息,其包括应用程序所对应的控制进程系统及所述控制进程系统所对应的运行资源。所述控制进程系统中的进程是程序的一次执行过程,控制进程系统是用来控制这个进程的操作系统,运行资源是所述控制进程系统用来控制这个进程所具有的一些系统资源,例如:CPU,内存或者I/O输入/输出,运行资源涉及到CPU的配置及控制启动加速进程所执行的核心等,例如:学习类应用程序所配置的控制进程系统为利用CPU占用调节子系统,所述控制进程系统所对应的运行资源CPU时间片比例为30%,影视类应用程序的所配置的控制进程系统为CPU调核子系统,其控制进程系统所对应的运行资源为控制启动进程的核心运行频率较大的CPU上,例如:手机的CPU的主处理器的运行频率为2.6G四核,协处理器的运行频率为2.1G四核,则将控制进程系统所对应的运行资源的对应的控制启动进程的核心运行频率为2.6G四核的主处理器,则其启动加速的速度比核心数为2.1G四核的协处理器快。由于学习类应用程序和影视类应用程序同时启动时,所占用的控制进程系统及所述控制进程系统所对应的运行资源不同,与学习类应用程序所配置的运行资源低于所述影视类应用程序配置的运行资源,因此当学习类应用程序与影视类应用程序同时处于启动控制线程时,影视类应用程序所占有的运行资源多于学习类应用程序,使得影视类应用程序相比与学习类的应用程序占用相同运行资源的情况下,可以较快的启动完成,从而实现了缩短影视类应用程序启动时间的目的。
需要注意的是,上述应用场景仅是为了便于理解本发明而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
下面结合附图,详细说明本发明的各种非限制性实施方式。
示例性方法
参见图1,示出了本发明实施例中的一种应用程序启动加速方法,在本实施例中,所述方法例如可以包括以下步骤:
步骤S101、当接收到针对目标应用程序的启动指令时,响应于所述启动指令,获取所述目标应用程序对应的加速配置信息;其中,所述加速配置信息包括所述目标应用程序对应的控制进程系统及所述控制进程系统对应的运行资源。
所述启动指令为控制器发出的针对某一个应用程序的启动指示。当操作系统开机启动时,控制器可能会根据系统配置中的开机启动项中含有的应用程序开机自启动设置,发出针对一个或多个应用程序的启动指令。
所述启动指令还可能是接收到的用户发出的针对某个应用程序的启动操作指令,用户可以通过触控操作发出,也可以通过鼠标点击发出,也可以基于语音控制发出启动某一个应用程序的启动指令。
本实施例中,所述加速配置信息包括:目标应用程序对应的控制进程系统及所述控制进程系统对应的运行资源。所述加速配置信息可以预先在安卓系统中设置并保存,或者是从云端服务器下载获取到的。所述加速配置信息为用于对已安装的应用程序进行启动时的加速启动策略配置,该加速配置信息可以存储在一加速配置文件中,当系统开机启动完成后,通过解析所述配置文件可以得到各个应用程序所对应启动时的加速配置信息,根据解析出的所述加速配置信息对各个应用程序进行相应的启动加速控制。
目标应用程序为接收到的启动指令所针对的应用程序,当接收到针对目标应用程序的启动指令时,响应所述启动指令,获取与所述目标应用程序所对应的控制进程系统及所述控制进程系统所对应的运行资源。
具体的,所述当接收到针对目标应用程序的启动指令时,响应于所述启动指令,获取所述目标应用程序对应的加速配置信息的步骤包括:
步骤S1011、接收针对目标应用程序的启动指令。
所述启动指令可能是终端系统启动时,检测到的目标应用程序开机自启动设置发出的启动指令,也可能是用户通过语音或输入文字或通过其他方式发出的启动目标应用程序的指令。
例如,若系统为安卓系统,则通过安卓系统的核心服务AMS(Activity ManagerService,活动管理服务)监测到该启动的应用程序启动流程中管理服务注册的回调监听,通过回调接口,通知应用管理服务该注册回调,从而获取针对目标应用程序的启动指令。
步骤S1012、响应于所述启动指令,读取所述目标应用程序的应用信息。
当接收到启动目标应用程序的启动指令时,则获取并读取所述目标应用程序的应用信息。所述应用信息为与应用程序相关的信息,其包括:应用程序的名称,历史版本号或最新版本号,应用程序所属的种类,以及应用程序的配置信息,或者其他与应用程序相关的信息。
步骤S1013、根据所述应用信息,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源。
根据与目标应用程序相关的信息得到与其相对应的控制进程系统及所述控制进程系统对应的运程资源。具体的,所述加速配置信息中的控制进程系统及所述控制进程系统所对应的运行资源可以与所述应用程序的应用信息中含有的信息建立对应关系,通过所建立的对应关系,根据应用信息匹配出相对应的控制进程系统及所述控制进程系统所对应的运行资源。
在一种实施方式中,所述步骤S1013中根据所述应用信息,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源的步骤包括:
步骤S101311、根据所述应用信息识别出所述目标应用程序所属的应用程序种类。
基于目标应用程序的应用信息可以识别出所述目标应用程序的所属的应用程序种类,比如:微信、QQ为社交类、生活类应用程序,腾讯视频、爱奇艺等属于媒体播放类应用程序,因此根据应用程序的应用信息获知该应用程序所属的应用程序种类。
步骤S101312、根据所述目标应用程序所属的应用程序种类,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源。
由于预先有建立各个控制进程系统与各个应用程序种类之间的对应关系,其中,一个控制进程系统可以对应多个个应用程序种类,而一个应用程序种类仅能对应一个控制进程系统,与同一个控制进程系统相对应的多个应用程序种类下的应用程序在进行同步加速时,其占有的运行资源是相同的,不同控制进程系统所对应的应用程序种类下的应用程序在进行同步加速时,其占用的运行资源是不同的。因此当上述步骤S101311识别出目标应用程序所属的应用程序种类后,则可以控制进程系统与应用程序种类之间的对应关系,查找出与目标应用程序所属应用程序种类相对应的控制进程系统。
所述运行资源包括:所占用的CPU时间片比例、进程运行CPU核心等级和CPU运行频率等级中的一种或多种。
若所述目标应用程序所属的应用程序种类为媒体播放类,则所述目标应用程序对应的控制进程系统为CPU占用调节子系统,以及所述控制进程系统所对应的运行资源为所述CPU占用调节子系统对应的预设CPU时间片的占用比例。
CPU占用调节子系统,也即Cpuctl,为Linux cgroup系统的子系统之一,提供CPU调整时间片、调整权重比例的功能,需内核开启支持。
所述CPU时间片为CPU分配给各个程序的时间,每个线程被分配一个时间段,称作时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程,如果进程在时间片结束前阻塞或结束,则CPU当即进行切换,从而不造成CPU资源浪费。
若所述目标应用程序所属的应用程序种类为信息管理类,则所述目标应用程序对应的控制进程系统为CPU调核子系统,以及所述控制进程系统所对应的运行资源为所述CPU调核子系统对应的进程运行CPU核心。
CPU调核子系统,也即Cpuset,其为Linux cgroup系统的子系统之一,提供CPU调核功能,可以将制定的进程运行在制定的CPU核心上,需内核开启支持。
所述CPU核心为CPU中间的核心芯片,其是CPU最重要的组成部分,CPU所有的计算、接受/存储指令、处理数据都是核心执行,通过将控制进程系统控制启动应用程序的进程在频率较大的CPU核心上运行,从而达到提高启动速率的目的。
若所述目标应用程序所属的应用程序种类为文字处理类,则所述目标应用程序对应的控制进程系统为动态频率调节系统,以及所述控制进程系统所对应的运行资源为所述动态频率调节系统对应的CPU运行频率。
所述动态频率调节系统,也即Cpufreq,其实Linux标准文件节点之一,提供动态调整cpu运行频率的功能。
CPU运行频率就是CPU的时钟频率,是CPU运算时的工作的频率,其决定CPU运行速度,因此,调整目标应用程序所对应的运行资源中CPU运行频率越高,则目标应用程序的启动速率越高。
上述应用程序种类所对应的控制进程系统,以及所述控制进程系统对应的运行资源仅仅为本实施例的一种实施方式,在具体实施时,还可以设置将影视类应用程序、音频播放类应用程序与同一个控制进程系统相对应,还可以设置将游戏类应用程序所对应的控制进程系统所对应的运行资源为占用CPU时间片的90%以上,因此可以根据需要对安装在系统内的各个应用程序的种类进行相应的控制进程系统对应设置,根据应用程序种类进行不同的控制进程系统对应的运行资源配置,满足用户可以快速启动各种应用程序的需求。
在另一种实施方式中,所述步骤S1013中所述根据所述应用信息,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源的步骤包括:
步骤S101321、根据所述应用信息确定所述目标应用程序的名称;
由于在具体实施过程中,可以根据目标应用程序的启动进程标识获取到相对应的应用程序名称,获取到的应用程序名称可能中文汉字,有的应用程序名称可能是一系列字母。
步骤S101322、根据所述目标应用程序的名称,确定所述目标应用程序的名称对应的控制进程系统,以及所述控制进程系统对应的运行资源。
若建立应用程序名称与控制进程系统及所述控制进程系统对应的运行资源之间的对应关系,则可根据目标应用程序的名称确定其所对应的控制进程系统及所述控制进程系统所对应的运行资源。例如:当检测到启动指令所针对的目标应用程序为微信时,则通过微信的应用程序名称,可以匹配到其所对应的控制进程系统及控制进程系统对应的运行资源为:CPU占用调节子系统及CPU时间片比例为30%。当以应用程序种类来建立对应关系,则建立社交类应用程序与CPU占用调节子系统及CPU占用调节子系统所对应的CPU时间片比例为30%的对应关系,当确定出微信所属的应用程序种类为社交类应用程序时,则得到微信所对应的控制进程系统为CPU占用调节子系统,所述CPU占用调节子系统所对应的运行资源为CPU时间片比例为30%。
由于预设置的配置文件中可能并不含有全部已安装应用程序对应的控制进程系统及所述控制进程系统对应的运行资源,因此为了实现对各个应用程序进行更好的启动加速,在根据所述目标应用程序的名称,确定所述目标应用程序的名称对应的控制进程系统,以及所述控制进程系统对应的运行资源的步骤中,还包括:
计算所述目标应用程序的名称与预配置控制进程系统的各个应用程序的名称之间的相似度,得到相似度最高的应用程序。
计算目标应用程序与已经配置控制进程系统的各个应用程序的名称进行相似度匹配,基于匹配到的相似度识别出名称最为相似的已配置控制进程系统的应用程序,以该已配置控制进程系统的应用程序所配置的控制进程系统及所述控制进程系统所对应的运行资源为目标应用程序的加速配置信息。
在一种实施方式中,可以设置相似度阈值,当计算出目标应用程序与已配置控制进程系统的应用程序之间的名称相似度低于某个相似度阈值,则不对目标应用程序进行加速启动处理,以目标应用程序的配置文件所含有的配置信息进行相应的启动控制即可。
具体的,步骤S101322中计算所述目标应用程序的名称与预配置控制进程系统的各个应用程序的名称之间的相似度的步骤包括:
S13221、获取预配置控制进程系统中各个应用程序的名称所含有的字符信息;
S13222、依次计算目标应用程序的名称所含有的字符信息与所述各个应用程序的名称所含有的字符信息之间的编辑距离。
所述编辑距离为两个字符串之间,由一个转成另一个所需的最少编辑操作次数,许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。
由于目标应用程序的名称所含有的字符信息可能为纯中文、纯英文或中英文字符结合,因此当计算目标应用的名称与各个应用程序的名称之间的编辑距离时,需要将名称的字符信息中含有的中文转换拼音字母,将转成两个字符串的两个名称进行编辑距离的计算,得到目标应用程序的名称与各个应用程序的名称之间的编辑距离。
S13223、根据计算出的编辑距离最小的名称对应的应用程序作为与所述目标应用程序相似度最高的应用程序。
当目标应用程序的名称所含有的字符信息与某个应用程序的名称所含有的字符信息之间的编辑距离越小,则说明目标应用程序的名称与某个应用程序的名称之间的差别越小,说明目标应用程序的名称与该应用程序的名称之间相似度越大,从而得到各个应用程序中名称最为相似的应用程序名称。
S13224、以所述相似度最高的应用程序所预配置的控制进程系统对应的运行资源作为所述目标应用程序预配置的控制进程系统对应的运行资源。
当计算出名称相似度最高的应用程序后,根据该相似度最高的应用程序所预设置的控制进程系统及所述控制进程系统对应的运行资源作为所述目标应用程序的控制进程系统及运行资源。
步骤S1014、将所述控制进程系统以及所述控制进程系统对应的运行资源作为所述目标应用程序对应的加速配置信息。
根据上述步骤S1013中建立的应用程序的名称或应用程序种类与所述控制进程系统建立的对应关系,以及将各个控制进程系统与其运行资源建立对应关系,则将与应用程序的名称或应用程序种类建立对应的所述控制进程系统作为加速配置信息中所对应的控制进程系统,将与其建立对应的所述控制进程系统相对应的运行资源作为其运行资源,用于对应用程序进行启动加速。
具体的,在所述接收针对目标应用程序的启动指令步骤之前,还包括:
创建多个分别用于控制应用程序启动的控制进程系统,并分别为各个控制进程系统配置相应对应的运行资源,根据应用程序的名称或所属种类为各个控制进程系统设置启动加速控制进程的运行资源。各个控制进程系统之间的对应的运行资源不同,因此启动加速时,启动进程的运行速率不同,运行资源设置占有较大CPU时间片比例、或所控制运行核心的频率越大或设置CPU运行频率越大的应用程序,其启动运行的速率越高。
步骤S102、根据所述加速配置信息,启动所述目标应用程序。
根据上述步骤S101中获取的目标应用程序的加速配置信息控制该目标应用程序加速启动。将所述加速配置信息中的所述运行资源配置所述控制进程系统,以便所述控制进程系统基于所述运行资源启动所述目标应用程序。
在一种实施方式中,所述根据所述加速配置信息,启动所述目标应用程序的步骤之前,还包括步骤:
将所述目标应用程序的启动进程添加到所述控制进程系统对应的加速控制线程中。
具体的,各个控制进程系统中处于同一个控制进程系统的加速控制线程具有相同加速优先级的,因此同一个控制进程系统中各个应用程序的加速控制线程是同步的,而处于不同控制进程系统的应用程序所处于的加速控制线程是异步的,具有最高优先级的应用程序先进行加速启动,具有次级优先级的应用程序的加速启动落后于最高优先级的应用程序,最低优先级的应用程序则处于加速启动的最后。
与现有技术相比,本发明实施例具有以下优点:
根据本发明实施方式提供的方法,通过当接收到针对目标应用程序的启动指令时,获取所述目标应用程序对应的加速配置信息;根据所述加速配置信息,启动所述目标应用程序。本实施例中通过预先为各种应用程序配置相应的加速配置信息,当检测到某一应用程序启动的信息,则自动为该应用程序查找相对应的加速配置信息,根据所述查找出的加速配置信息对所述应用程序进行启动加速控制,由于本实施例中通过改变控制进程系统中所分配的运行资源,所涉及到的控制均为软件资源配置上的调整,并未涉及到硬件上的改变,因此本实施例实现了在不改变硬件配置的前提下,自动开启对应用程序启动加速,使得启动加速后的应用程序启动时间短,减少了用户的等待时间,为用户的使用提供了便利,提高了用户使用应用程序的舒适性与便捷性。
下面以本发明具体应用实施例的步骤流程为例,对本发明所述的方法做更为详细的说明。
如图2所示,在安卓系统下所使用的Linux cgroup框架,包含以下部分:
应用层
应用层为用户交互层,指的是用户在电视、手机等android智能终端上安装并使用的应用,比如微信、VOD视频点播等。
框架层
框架层是本发明的核心层级,其中包含两个模块,第一个模块为配置信息的解析、用于配置信息存储的配置信息模块,负责在开机启动时,将预置在系统中的配置文件读取出来,经过解析,得到相应的策略,并保存,供管理服务使用;
管理服务为框架层中第二个模块,是本发明的控制中枢。管理服务会在开机启动时将本服务注册到安卓系统最核心的服务活动管理服务中,之后系统中的任何应用有任何状态的变化,都可以被管理服务监测到,进而根据配置信息中含有的加速策略进行相应控制操作。
本地层
Native层是对底层相关操作的封装,向上对framework层提供API接口,包括:CPU占用调节子系统,也即是cpuctl子系统,CPU调核子系统,也即是couset子系统,动态频率调节系统,也即是cpu调频子系统。
内核层
内核层是安卓系统的最底层,即linux系统的内核层,负责整个硬件的驱动和操作管理,直接与硬件相关。
具体的,如图3所示,使用上述系统框架所包含的各个模块进行应用程序加速的步骤包括以下内容:
步骤S301、用户操作终端设备,点击开启某个该终端设备安卓系统中已经安装的应用程序。
步骤S302、安卓系统的核心服务AMS(Activity Manager Service,活动管理服务)监测到该启动的应用程序启动流程中管理服务注册的回调监听,通过回调接口,通知应用管理服务该注册回调。
步骤S303、应用管理服务解析下载到的或者系统内存中保存的加速配置信息,所述加速配置信息可以存储在一个配置文件中,该配置文件可以保存在云端服务器中,也可以保存在本地,当系统开机后,从云端服务器下载该配置文件或者直接从内存中获取该配置文件中含有的加速配置信息。
步骤S304、解析所述加速配置信息,得到与该启动应用程序相对应的加速优先级;
步骤S305、根据解析出的配置信息判断该启动应用程序是否需要加速启动,以及将该启动应用程序的启动线程添加到预设设置的哪个控制进程系统中,若该启动应用程序不属于需要加速的应用程序则本次加速启动步骤结束。
步骤S3051,若属于需要加速启动的应用程序,且根据其所属应用程序种类或名称识别出预配置的控制进程系统为CPU占用调节子系统,则管理服务调用cpuctl接口,将此应用程序的启动进程添加到cpuctl子系统的中,根据预设置该加速分组的时间片占用比例和权重,优先给与其足够的cpu资源,为该启动应用程序进行加速启动。
或者,步骤S3052,若属于需要加速启动的应用程序,且根据其所属应用程序种类或名称识别出其预配置的控制进程系统为CPU调核子系统,将此APP的启动进程添加到cpuset子系统的控制进程中,并将所述cpuset子系统的cpu绑定到核心运行频率高的核心上,(一般4核cpu,有2个频率较低的小核,2个频率较高的大核);
或者,步骤S3053,若属于需要加速启动的应用程序,且根据其所属应用程序种类或名称识别出其预配置的控制进程系统为动态频率调节系统,将设置cpu核心的策略调度器到最高优先级,运行该应用程序的启动线程在CPU的最高频率上;
步骤S306,该启动应用程序启动完成。
步骤S307,AMS监测到该启动应用程序启动流程完成,则通过回调接口,通知应用管理服务该注册回调。
步骤S308,管理服务接收到所述注册回调后,执行该应用程序的启动线程从控制进程系统中移除并恢复CPU频率的步骤;
具体的步骤S308包括:
步骤S3081,将此APP的启动进程从cpuctl子系统中移除;
步骤S3082,将此应用程序的启动进程从cpuset子系统的加速分组中移除;
步骤S3083,设置cpu主控制器核心的策略调度器到默认策略,使这主核恢复之前的运行模式。
执行完上述操作后,一次应用程序的加速启动流程完成,退出任务,等待下次新的任务。
由于在具体实施时,针对各个控制进程系统所对应设置的配置条件可能是基于上述步骤S3051-S3053中的一个或多个,则当加速启动结束后,将加速线程从加速分组中移除的步骤可能相应的对应步骤S3081-S3083中的一个或多个。
本发明所公开的方法,通过对cgroup系统中cpuctl、cpuset、system的调频能力进行整合,根据配置信息对相应的应用启动进行加速,可以加快应用启动速度,提升用户体验,可以应用到使用安卓系统的终端设备上,在不改变其硬件配置的前提下,有效提升应用的启动速度,为用户使用安卓系统的终端设备提供了便利。
设备示例
本实施例提供了一种应用程序启动加速系统,如图4所示,包括:
配置获取模块401,用于当接收到针对目标应用程序的启动指令时,响应于所述启动指令,获取所述目标应用程序对应的加速配置信息;其中,所述加速配置信息包括所述加速配置信息包括启动加速对应的控制进程系统及所述控制进程系统对应的运行资源;其功能如步骤S101所述。
控制加速模块402,用于根据所述加速配置信息,启动所述目标应用程序;其功能如步骤S102所述。
本实施例提供了一种应用程序启动加速设备,其中,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行所述的应用程序启动加速方法。
存储器作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
本实施例提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行所述的应用程序启动加速方法。
所述存储介质以及移动终端中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
根据本发明实施方式提供的方法,通过当接收到针对目标应用程序的启动指令时,获取所述目标应用程序对应的加速配置信息;根据所述加速配置信息,启动所述目标应用程序。
本实施例中通过预先为各种应用配置相应的加速配置信息,当检测到某一应用程序启动的信息,则自动为该应用程序查找相对应的加速配置信息,根据所述查找出的加速配置信息对所述应用程序进行启动加速控制,从而实现了在不改变硬件配置的前提下,自动开启对应用程序启动加速,使得启动加速后的应用程序,启动时间短,减少了用户的等待时间,为用户的使用提供了便利,提高了用户使用应用程序的舒适性与便捷性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (11)
1.一种应用程序启动加速方法,其特征在于,包括:
当接收到针对目标应用程序的启动指令时,响应于所述启动指令,获取所述目标应用程序对应的加速配置信息;其中,所述加速配置信息包括所述目标应用程序对应的控制进程系统及所述控制进程系统对应的运行资源;
根据所述加速配置信息,启动所述目标应用程序。
2.根据权利要求1所述的应用程序启动加速方法,其特征在于,所述当接收到针对目标应用程序的启动指令时,响应于所述启动指令,获取所述目标应用程序对应的加速配置信息的步骤包括:
接收针对目标应用程序的启动指令;
响应于所述启动指令,读取所述目标应用程序的应用信息;
根据所述应用信息,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源;
将所述控制进程系统以及所述控制进程系统对应的运行资源作为所述目标应用程序对应的加速配置信息。
3.根据权利要求2所述的应用程序启动加速方法,其特征在于,所述根据所述应用信息,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源的步骤包括:
根据所述应用信息识别出所述目标应用程序所属的应用程序种类;
根据所述目标应用程序所属的应用程序种类,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源。
4.根据权利要求3所述的应用程序启动加速方法,其特征在于,所述根据所述目标应用程序所属的应用程序种类,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源的步骤包括:
若所述目标应用程序所属的应用程序种类为媒体播放类,则所述目标应用程序对应的控制进程系统为CPU占用调节子系统,以及所述控制进程系统所对应的运行资源为所述CPU占用调节子系统对应的预设CPU时间片的占用比例;
若所述目标应用程序所属的应用程序种类为信息管理类,则所述目标应用程序对应的控制进程系统为CPU调核子系统,以及所述控制进程系统所对应的运行资源为所述CPU调核子系统对应的进程运行CPU核心;
若所述目标应用程序所属的应用程序种类为文字处理类,则所述目标应用程序对应的控制进程系统为动态频率调节系统,以及所述控制进程系统所对应的运行资源为所述动态频率调节系统对应的CPU运行频率。
5.根据权利要求2所述的应用程序启动加速方法,其特征在于,所述根据所述应用信息,确定所述目标应用程序对应的控制进程系统,以及所述控制进程系统对应的运行资源的步骤包括:
根据所述应用信息确定所述目标应用程序的名称;
根据所述目标应用程序的名称,确定所述目标应用程序的名称对应的控制进程系统,以及所述控制进程系统对应的运行资源。
6.根据权利要求1-5任一项所述的应用程序启动加速方法,其特征在于,所述根据所述加速配置信息,启动所述目标应用程序的步骤包括:
确定所述加速配置信息对应的控制进程系统;
将所述加速配置信息中的所述运行资源配置所述控制进程系统,以便所述控制进程系统基于所述运行资源启动所述目标应用程序;
其中,所述运行资源包括:占用CPU时间片比例、进程运行CPU核心等级和CPU运行频率等级中的一种或多种。
7.根据权利要求1-5任一项所述的应用程序启动加速方法,其特征在于,所述根据所述加速配置信息,启动所述目标应用程序的步骤之前,还包括步骤:
将所述目标应用程序的启动进程添加到所述控制进程系统对应的加速控制线程中。
8.根据权利要求7所述的应用程序启动加速方法,其特征在于,所述根据所述加速配置信息,启动所述目标应用程序的步骤之后,还包括:
当接收到所述目标应用程序的启动完成信号时,将所述目标应用程序的启动进程从所述控制进程系统对应的加速控制线程中移除。
9.一种应用程序启动加速系统,其特征在于,包括:
配置获取模块,用于当接收到针对目标应用程序的启动指令时,响应于所述启动指令,获取所述目标应用程序对应的加速配置信息;其中,所述加速配置信息包括所述加速配置信息包括启动加速对应的控制进程系统及所述控制进程系统对应的运行资源;
控制加速模块,根据所述加速配置信息,启动所述目标应用程序。
10.一种应用程序启动加速设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如权利要求1-8中任意一项所述的方法。
11.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-8中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910953787.6A CN112650541B (zh) | 2019-10-09 | 2019-10-09 | 一种应用程序启动加速方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910953787.6A CN112650541B (zh) | 2019-10-09 | 2019-10-09 | 一种应用程序启动加速方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112650541A true CN112650541A (zh) | 2021-04-13 |
CN112650541B CN112650541B (zh) | 2023-02-17 |
Family
ID=75342383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910953787.6A Active CN112650541B (zh) | 2019-10-09 | 2019-10-09 | 一种应用程序启动加速方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112650541B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377462A (zh) * | 2021-07-01 | 2021-09-10 | 北京百度网讯科技有限公司 | 用于小程序的处理方法、装置、设备和存储介质 |
CN116302209A (zh) * | 2023-05-15 | 2023-06-23 | 阿里云计算有限公司 | 应用进程加速启动的方法、分布式系统、节点和存储介质 |
WO2024087830A1 (zh) * | 2022-10-26 | 2024-05-02 | 荣耀终端有限公司 | 应用启动方法及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357651A (zh) * | 2017-06-09 | 2017-11-17 | 北京安云世纪科技有限公司 | 应用加速方法、装置以及终端 |
CN108536490A (zh) * | 2018-04-27 | 2018-09-14 | 努比亚技术有限公司 | 一种应用程序启动方法、移动终端以及计算机存储介质 |
US20190108038A1 (en) * | 2016-03-15 | 2019-04-11 | Alibaba Group Holding Limited | Method and system for starting up application |
CN109918145A (zh) * | 2019-01-10 | 2019-06-21 | 北京字节跳动网络技术有限公司 | 一种应用程序冷启动的加速方法、装置、电子设备 |
-
2019
- 2019-10-09 CN CN201910953787.6A patent/CN112650541B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190108038A1 (en) * | 2016-03-15 | 2019-04-11 | Alibaba Group Holding Limited | Method and system for starting up application |
CN107357651A (zh) * | 2017-06-09 | 2017-11-17 | 北京安云世纪科技有限公司 | 应用加速方法、装置以及终端 |
CN108536490A (zh) * | 2018-04-27 | 2018-09-14 | 努比亚技术有限公司 | 一种应用程序启动方法、移动终端以及计算机存储介质 |
CN109918145A (zh) * | 2019-01-10 | 2019-06-21 | 北京字节跳动网络技术有限公司 | 一种应用程序冷启动的加速方法、装置、电子设备 |
Non-Patent Citations (1)
Title |
---|
陈军 等: "加快嵌入式Linux系统启动速度的方法及应用", 《后勤工程学院学报》, no. 3, 3 December 2005 (2005-12-03), pages 54 - 58 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377462A (zh) * | 2021-07-01 | 2021-09-10 | 北京百度网讯科技有限公司 | 用于小程序的处理方法、装置、设备和存储介质 |
WO2024087830A1 (zh) * | 2022-10-26 | 2024-05-02 | 荣耀终端有限公司 | 应用启动方法及电子设备 |
CN116302209A (zh) * | 2023-05-15 | 2023-06-23 | 阿里云计算有限公司 | 应用进程加速启动的方法、分布式系统、节点和存储介质 |
CN116302209B (zh) * | 2023-05-15 | 2023-08-04 | 阿里云计算有限公司 | 应用进程加速启动的方法、分布式系统、节点和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112650541B (zh) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061484B (zh) | 代码编译方法、装置、服务器、用户终端及可读介质 | |
US10838838B2 (en) | Method and apparatus for dealing with abnormality of application program and storage medium | |
CN112650541B (zh) | 一种应用程序启动加速方法、系统、设备及存储介质 | |
US8566826B2 (en) | System and method for synchronizing transient resource usage between virtual machines in a hypervisor environment | |
CN112861057B (zh) | 基于小程序的页面渲染方法、装置、设备及存储介质 | |
US9354856B2 (en) | Software installation method and device | |
CN110247984B (zh) | 业务处理方法、装置及存储介质 | |
JP5678778B2 (ja) | システムおよびマイグレーション方法 | |
CN112380020A (zh) | 一种算力资源分配方法、装置、设备及存储介质 | |
CN111767090A (zh) | 小程序的启动方法、装置、电子设备以及存储介质 | |
CN108614697B (zh) | 后台Dex编译管控的方法及装置 | |
CN110362314B (zh) | 信息处理方法及装置、计算机可读介质、电子设备 | |
CN113204425A (zh) | 供进程管理内部线程的方法、装置、电子设备及存储介质 | |
CN108958808A (zh) | 终端启动方法及装置、终端及存储介质 | |
CN111767126A (zh) | 分布式批量处理的系统和方法 | |
CN114911538A (zh) | 一种运行系统的启动方法及计算设备 | |
CN113849686A (zh) | 一种视频数据获取方法、装置、电子设备及存储介质 | |
CN113687908A (zh) | Pmem虚拟机的创建方法、装置、设备及可读存储介质 | |
CN113032098A (zh) | 一种虚拟机调度方法、装置、设备及可读存储介质 | |
CN112579938A (zh) | 一种页面加载方法、装置、存储介质及电子设备 | |
CN113407331A (zh) | 一种任务处理的方法、装置及存储介质 | |
CN113448585A (zh) | 一种对线程池的优化方法、装置、电子设备和存储介质 | |
CN112181640A (zh) | 一种任务处理方法及装置 | |
CN112181641A (zh) | 线程处理方法、装置、设备及存储介质 | |
CN115658185B (zh) | 一种云应用快速启动的方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |