掌桥专利:专业的专利平台
掌桥专利
首页

配置文件处理方法、应用程序更新方法、装置、服务器

文献发布时间:2024-01-17 01:26:37


配置文件处理方法、应用程序更新方法、装置、服务器

技术领域

本申请属于计算机技术领域,具体涉及一种配置文件处理方法、应用程序更新方法、装置、服务器、电子设备及可读存储介质。

背景技术

目前,在安卓运行环境(Android Runtime,ART)虚拟机中,ART虚拟机可以根据应用程序的配置文件中的热点方法,将应用程序的Dalvik Executable(dex)字节码编译成本地机器指令,以供ART虚拟机在应用程序运行时直接使用,从而提高应用程序的运行速度。其中,配置文件有两种生成方式:一种方式为由服务器直接随应用程序安装包一起下发给ART虚拟机;另一种方式为服务器仅下发应用程序的安装包,ART虚拟机在该应用程序的运行时长达到一定时长之后,根据用户的使用偏好主动生成。

然而,对于在安装时直接由服务器下发的配置文件,由于该配置文件往往是随机训练的结果,因此通常与用户的使用偏好大相径庭,并不能达到最贴近用户使用偏好的优化效果;而对于由ART虚拟机主动运行应用程序一段时间后根据用户的使用偏好主动生成的配置文件,由于在首次启动时为解释执行代码,没有进行代码优化,而是在应用程序的运行过程中对代码进行编译,因此会导致占用大量系统资源,使应用程序运行时产生卡顿。如此,现有的应用程序的配置文件的生成方法无法兼顾用户的使用偏好和运行的流畅度。

发明内容

本申请实施例的目的是提供一种配置文件处理方法、应用程序更新方法、装置、服务器、电子设备及可读存储介质,能够在应用程序进行版本更新之后,使新版本的应用程序可以兼顾用户的使用偏好和运行的流畅度。

第一方面,本申请实施例提供了一种配置文件处理方法,该方法包括:服务器获取第一应用程序的第一配置文件,第一配置文件为电子设备运行旧版本第一应用程序时生成的;服务器在第一应用程序版本更新的情况下,基于第一配置文件,生成第二配置文件,第二配置文件为新版本第一应用程序的配置文件。

第二方面,本申请实施例提供了一种应用程序更新方法,该方法包括:电子设备接收服务器发送的目标文件,电子设备安装有旧版本第一应用程序;电子设备基于目标文件,将旧版本第一应用程序更新为新版本第一应用程序;其中,目标文件包括以下任一项:新版本第一应用程序的安装包和第二配置文件,第二配置文件是服务器根据旧版本第一应用程序的第一配置文件生成的;新版本第一应用程序的安装包和编译文件,编译文件是服务器基于第二配置文件,对新版本第一应用程序编译得到的。

第三方面,本申请实施例提供了一种配置文件处理装置,该装置包括:获取模块和生成模块;获取模块,用于获取第一应用程序的第一配置文件,第一配置文件为电子设备运行旧版本第一应用程序时生成的;生成模块,用于在第一应用程序版本更新的情况下,基于所述获取模块获取的第一配置文件,生成第二配置文件,第二配置文件为新版本第一应用程序的配置文件。

第四方面,本申请实施例提供了一种应用程序更新装置,该装置包括:接收模块和更新模块;接收模块,用于接收服务器发送的目标文件,电子设备安装有旧版本第一应用程序;更新模块,用于基于接收模块接收的目标文件,将旧版本第一应用程序更新为新版本第一应用程序;其中,目标文件包括以下任一项:新版本第一应用程序的安装包和第二配置文件,第二配置文件是服务器根据旧版本第一应用程序的第一配置文件生成的;新版本第一应用程序的安装包和编译文件,编译文件是服务器基于第二配置文件,对新版本第一应用程序编译得到的。

第五方面,本申请实施例提供了一种服务器,该服务器包括处理器、通信接口和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。

第六方面,本申请实施例提供了一种服务器,该服务器包括通信接口,所述通信接口用于发送目标文件。

第七方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第二方面所述的方法的步骤。

第八方面,本申请实施例提供了一种电子设备,该电子设备包括通信接口,所述通信接口用于接收目标文件。

第九方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤,或实现如第二方面所述的方法的步骤。

第十方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法,或实现如第二方面所述的方法的步骤。

第十一方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法,或实现如第二方面所述的方法的步骤。

第十二方面,本申请实施例提供一种通信系统,包括服务器及电子设备,所述服务器可用于执行如第一方面所述的配置文件处理方法的步骤,所述电子设备可用于执行如第二方面所述的应用程序更新方法的步骤。

在本申请实施例中,服务器获取第一应用程序的第一配置文件,第一配置文件为电子设备运行旧版本第一应用程序时生成的;并且服务器在第一应用程序版本更新的情况下,基于第一配置文件,生成第二配置文件,第二配置文件为新版本第一应用程序的配置文件。通过该方案,由于服务器可以获取电子设备运行旧版本应用程序时生成的配置文件,并在应用程序版本更新的情况下,复用旧版本应用程序的配置文件,生成新版本应用程序的配置文件。因此可以节省生成配置文件的时间和服务器的资源,从而可以快速生成包含用户使用偏好的更新版本后的配置文件,进而可以使得电子设备在更新该应用程序时,可以直接根据包含用户使用偏好的配置文件,更新该应用程序,提高应用程序运行的流畅度。

附图说明

图1是本申请实施例提供的一种配置文件处理方法的流程图;

图2是本申请实施例提供的一种配置文件处理方法的实例流程图;

图3是本申请实施例提供的一种应用程序更新方法的流程图;

图4是本申请实施例提供的一种应用程序更新方法的实例流程图;

图5是本申请实施例提供的一种配置文件处理方法和应用程序更新方法的实例示意图;

图6是本申请实施例提供的一种配置文件处理方法的结构示意图;

图7是本申请实施例提供的一种应用程序更新装置的结构示意图;

图8是本申请实施例提供的一种电子设备的硬件结构示意图之一;

图9是本申请实施例提供的一种电子设备的硬件结构示意图之二;

图10是本申请实施例提供的一种服务器的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。

下面对本申请实施例中涉及的一些术语/名词进行解释说明。

1、安卓运行环境(Android Runtime,ART)虚拟机

在启用ART虚拟机后,ART虚拟机在安装应用程序时会进行一次预编译,即在安装应用程序时会先将代码转换为机器语言存储在本地。如此,ART虚拟机无需在每次运行应用程序时都进行一次编译。

2、预编译(Ahead-Of-Time,AOT)技术

AOT技术是指在应用程序运行之前,将应用程序的代码转换为机器能够直接执行的代码的技术。AOT技术可以提高应用程序的性能,因为编译后的代码通常比动态转换的代码执行得更快,并且由于不需要在运行时进行编译,因此可以缩短应用程序的启动时间。

3、oat文件

安卓操作系统会创建一个oat文件,以加快应用程序的应用程序包(AndroidPacKage,APK文件)的加载时间。安装应用程序时,ART虚拟机可以自动优化应用程序数据并创建相应的oat文件。

4、verify模式

verify模式为检验模式,在此模式下ART虚拟机可以对应用程序的字节码进行静态验证,在应用程序运行时对应用程序进行编译,因此运行速度较慢。

5、speed-profile模式

speed-profile模式为ART虚拟机在verify模式的基础对配置文件中列出的方法信息进行AOT编译,将应用程序的代码转化为机器语言,以使得ART虚拟机可以直接运行该应用程序。

下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的配置文件处理方法、应用程序更新方法、装置、服务器进行详细地说明。

本申请实施例提供的配置文件处理方法、应用程序更新方法、装置、服务器,可以应用于更新应用程序的场景中。

目前,安卓系统通常采用ART虚拟机通过AOT技术运行应用程序。在对应用程序进行编译前,应用程序一般为verify模式,在verify模式下,ART虚拟机可以在应用程序的运行过程中,对应用程序的Dalvik Executable(dex)字节码进行编译,因此容易导致编译过程占用大量系统资源,使应用程序的运行产生卡顿。而ART虚拟机可以采用AOT技术,通过应用程序的配置文件中的热点方法,将应用程序的dex字节码编译成机器语言之后,可以使得该应用程序的模式转变为speed-profile模式,在speed-profile模式下,ART虚拟机可以直接在应用程序运行时使用该指令,因此可以提高应用程序的启动速度和运行速度。

在相关技术中,通过AOT技术进行编译的过程需要使用到dex2oat工具。dex2oat工具为通过profile热点方法配置文件,将应用程序的dex字节码编译成机器语言,生成oat文件,使应用程序变为speed-profile模式,以供ART虚拟机在应用程序运行时使用。而profile热点方法配置文件一般有两种生成方式,第一种为由电子设备主动运行应用程序一段时间后,根据用户的使用偏好主动生成。第二种为由服务器模拟用户使用应用程序,以收集应用程序运行时的热点方法来生成配置文件,然后在安装该应用程序时直接由服务器或云端下发。

然而,对于上述的第一种profile热点方法配置文件的生成方法,虽然是根据用户历史使用生成的profile热点方法配置文件,较为符合用户对应用程序的使用偏好,编译成speed-profile模式后效果也较好,但是由于需要用户使用一段时间之后才能生成该应用程序对应的配置文件,并且首次启动该应用程序时为解释执行该应用程序的代码,没有对代码进行优化,而是在运行该应用程序的过程中对代码进行编译,因此会导致占用大量的系统资源,使应用程序的运行产生卡顿,影响用户体验。对于上述的第二种profile热点方法配置文件的生成方法,虽然可以在安装该应用程序时就进行编译,使得该应用程序在安装之后即可编译为speed-profile模式,从而提高应用程序的运行速度,避免卡顿,但是由于由服务器或云端下发的profile热点方法配置文件往往为服务器随机训练的结果,因此在消耗服务器资源的同时,训练得到的配置文件也通常与用户的使用偏好大相径庭,不能达到符合用户的使用偏好的效果,并且在应用程序更新后,由于部分代码和框架的改变,该应用程序会重新变回verify模式,降低应用程序运行的流畅度。如此,现有的应用程序的配置文件的生成方法无法兼顾用户的使用偏好和运行的流畅度。

而在本申请实施例提供的配置文件处理方法中,电子设备可以将更版本前的应用程序的配置文件上传至服务器,当服务器检测到该应用程序版本更新时,服务器可以获取电子设备运行旧版本应用程序时生成的配置文件,通过复用旧版本应用程序的配置文件生成一个新的配置文件,缩短了生成配置文件所需的时间,从而避免了服务器耗费时间与资源对更新版本后的应用程序重新进行训练,以生成新的配置文件。并且由于复用的配置文件是根据电子设备的用户历史使用生成的,因此根据该新的配置文件对应用程序进行编译的结果也更加贴近用户的使用偏好,从而避免了机器训练得到的配置文件中的热点方法在实际使用时不符合用户偏好而导致命中率过低的问题。此外,在安装更新版本后的应用程序时,服务器下发通过复用更新版本前的配置文件生成的新的配置文件到电子设备中,电子设备可以根据新的配置文件将新版本应用程序编译为speed-profile模式,达到及时进行符合用户使用偏好的编译优化,而无需过多占用服务器的资源,减少了服务器生成新的配置文件所需时间,提高了应用程序的运行速度。

本申请实施例提供一种配置文件处理方法,图1示出了本申请实施例提供的一种配置文件处理方法的流程图,该方法可以应用于服务器。如图1所示,本申请实施例提供的配置文件处理方法可以包括下述的步骤100和步骤101。

步骤100、服务器获取第一应用程序的第一配置文件。

其中,上述第一配置文件为电子设备运行旧版本第一应用程序时生成的。

在本申请的一些实施例中,上述第一应用程序可以为电子设备中已下载的应用程序中的一个或多个应用程序。

示例性地,上述第一应用程序可以为电子设备中已下载的通讯应用程序;或者,上述第一应用程序可以为电子设备中正在运行的视频应用程序。

在本申请的一些实施例中,上述配置文件为应用程序的配置文件,其可以包含应用程序中的热点方法信息。其中,热点方法信息可以包括应用程序运行过程中重复次数较多的方法信息。

例如,上述热点方法信息可以包括与用户使用偏好对应的个性化设置和用户对用户名和密码的设置;或者,上述热点方法信息可以包括第三方系统调用的秘钥信息和应用程序的运行日志。

可以理解,上述第一配置文件为电子设备中更新版本前的第一应用程序的配置文件,该配置文件可以包括与用户的使用偏好对应的设置。

在本申请的一些实施例中,上述步骤100可以包括下述的步骤100a。

步骤100a、服务器接收电子设备发送的第一应用程序的第一配置文件。

在本申请的一些实施例中,服务器可以接收电子设备发送的对旧版本第一应用程序的代码根据用户历史用户第一应用程序的使用偏好进行编译之后,所生成的第一配置文件。

在本申请的一些实施例中,服务器可以接收电子设备在用户的使用偏好发生较大改变时,重新生成的第一配置文件,服务器可以在接收到电子设备发送的重新生成的第一配置文件之后,可以将接收到的第一配置文件替换掉之前的第一配置文件。

在本申请的一些实施例中,服务器接收的电子设备发送的第一配置文件中,可以携带该电子设备的设备标识,以标记该第一配置文件所属的电子设备。

如此,由于服务器可以接收电子设备发送的第一应用程序的第一配置文件,因此可以保证服务器中保存的旧版本应用程序的配置文件为最新的配置文件,从而可以在复用该配置文件时,使得生成的新的配置文件最符合用户的使用习惯。

步骤101、服务器在第一应用程序版本更新的情况下,基于第一配置文件,生成第二配置文件。

其中,上述第二配置文件为新版本第一应用程序的配置文件。

在本申请的一些实施例中,上述第一应用程序版本更新是指第一应用程序的版本升级,以优化该第一应用程序的性能,从而提供给用户更好的使用体验。

示例性地,第一应用程序版本更新可以包括对该第一应用程序的代码的修改或完善,还可以包括为该第一应用程序增添新的功能。

在本申请实施例中,上述“基于第一配置文件,生成第二配置文件”可以表示:服务器可以通过复用旧版本第一应用程序的第一配置文件,生成新版本第一应用程序的第二配置文件。从而可以节省生成配置文件的时间,并且使得生成的配置文件符合用户的使用偏好。

在本申请的一些实施例中,上述步骤101可以包括下述的步骤101a。

步骤101a、服务器在存在第一配置文件,且第一配置文件的文件大小处于第一范围内的情况下,基于第一配置文件,生成第二配置文件。

在本申请的一些实施例中,服务器可以在复用第一配置文件之前,对复用的条件进行判断,即服务器在满足复用条件的情况下,进行第一配置文件的复用。

在本申请的一些实施例中,服务器在存在第一配置文件,且上述第一配置文件的文件大小处于第一范围内的情况下,基于第一配置文件,生成第二配置文件。

示例性地,服务器可以在第一配置文件的文件大小处于0~500kb的情况下,进行第一配置文件的复用。

可以理解,上述第一配置文件的文件大小需大于0kb以保证该第一配置文件不是空文件;并且该第一配置文件的文件大小还需小于或等于某一个值,以避免由于该第一配置文件过大而导致更新时间延长。

在本申请的一些实施例中,上述第一范围可以为服务器默认的,也可以为用户设置的,还可以为服务器根据大数据确定的。本申请实施例不作具体限定。

在本申请的一些实施例中,服务器可以在接收到电子设备的安装包请求的情况下,基于第一配置文件,生成第二配置文件。

在本申请的一些实施例中,安装包请求可以用于请求新版本第一应用程序的安装包。

在本申请的一些实施例中,安装包可以包括以下至少之一:新版本第一应用程序的下载地址、新版本第一应用程序的压缩包、新版本第一应用程序中改变或增加的文件的压缩包、包含新版本第一应用程序的代码的补丁。

在实际实现中,上述安装包可以包括任意可以实现应用程序更新的文件,本申请实施例不作具体限定。

在本申请的一些实施例中,上述安装包请求中携带有发送该安装包请求的电子设备的设备标识。设备标识可以包括:设备名称、设备编号等。

可以理解,服务器可以在接收到电子设备的安装包请求,基于与该电子设备对应的第一配置文件,生成第二配置文件。也就是说,生成第一配置文件的电子设备与发出安装包请求的电子设备为同一电子设备。

在本申请的一些实施例中,服务器也可以在接收到电子设备的安装包请求之前,先基于第一配置文件,生成第二配置文件。然后在接收到电子设备的安装包请求之后,直接根据第二配置文件,执行相应的操作。

如此,由于服务器可以在服务器中存在第一配置文件,且第一配置文件的文件大小处于第一范围内的情况下,基于第一配置文件,生成第二配置文件。因此,服务器可以在存在旧版本应用程序的配置文件且旧版本应用程序的配置文件的文件大小合适的情况下,复用旧版本应用程序的配置文件,生成新版本应用程序的配置文件,从而可以通过复用配置文件节省生成配置文件的时间。

在本申请的一些实施例中,上述步骤101可以包括下述的步骤101b和步骤101c。

步骤101b、服务器在第一应用程序版本更新的情况下,根据第一配置文件,确定新版本第一应用程序的安装包中的第一热点方法信息。

其中,上述第一热点方法信息与第一配置文件中的热点方法信息相匹配。

在本申请的一些实施例中,上述第一热点方法信息可以为新版本第一应用程序的安装包中的一个或多个方法信息,并且第一配置文件中也包括与该一个或多个方法信息相同的方法信息。

在本申请的一些实施例中,服务器可以通过解压新版本第一应用程序的安装包,并解析第一配置文件,获取其中的方法和该方法所属的类,确定出新版本第一应用程序的安装包中的第一热点方法信息。

具体地,服务器可以解析第一配置文件,获取第一配置文件中的热点方法与类,并且服务器可以解压新版本第一应用程序的安装包,获取第一应用程序的dex文件,从该dex文件中找到与第一配置文件中的热点方法与类相同的方法与类,将找到的方法与类确定为第一热点方法信息。

步骤101c、服务器基于第一热点方法信息,生成第二配置文件。

在本申请的一些实施例中,服务器可以将第一热点方法信息写入新版本第一应用程序的配置文件中,即生成第二配置文件。

如此,由于服务器可以将新版本第一应用程序的安装包中与第一配置文件中的热点方法信息相匹配的方法信息,确定为第一热点方法信息,并基于该第一热点方法信息,生成第二配置文件。因此可以通过将新版本应用程序的安装包中,与旧版本应用程序的配置文件中相匹配的方法信息复用至新版本应用程序的配置文件中,达到复用旧版本应用程序的配置文件的目的,从而可以使得生成的新版本应用程序的配置文件符合用户的使用偏好,节省了服务器生成配置文件的时间和资源。

在本申请实施例提供的配置文件处理方法中,由于服务器可以获取电子设备运行旧版本应用程序时生成的配置文件,并在应用程序版本更新的情况下,复用旧版本应用程序的配置文件,生成新版本应用程序的配置文件。因此可以节省生成配置文件的时间和服务器的资源,从而可以快速生成包含用户使用偏好的更新版本后的配置文件,进而可以使得电子设备在更新该应用程序时,可以直接根据包含用户使用偏好的配置文件,更新该应用程序,提高应用程序运行的流畅度。

在本申请的一些实施例中,在上述步骤101之后,本申请实施例提供的配置文件处理方法还可以包括下述的步骤102。

步骤102、服务器向电子设备发送目标文件。

其中,上述目标文件可以包括以下任一项:新版本第一应用程序的安装包和第二配置文件;新版本第一应用程序的安装包和编译文件。

在本申请的一些实施例中,上述编译文件可以是服务器基于第二配置文件,对新版本第一应用程序编译得到的。

在本申请的一些实施例中,服务器向电子设备发送目标文件之后,电子设备可以接收该目标文件,并根据目标文件更新第一应用程序。

在本申请的一些实施例中,上述编译文件可以包括odex文件,vdex文件,art文件等对应用程序的代码进行编译之后的文件。

可以理解,服务器可以在复用第一配置文件生成第二配置文件之后,可以直接向电子设备发送新版本第一应用程序的安装包和第二配置文件;也可以直接根据第二配置文件,对新版本应用程序进行在线编译,将编译得到的编译文件和新版本第一应用程序的安装包直接发送给电子设备,以节省电子设备自行编译所消耗的时间和资源,提高运行第一应用程序的流畅度。

示例性地,服务器可以解压新版本第一应用程序的安装包,获取第一应用程序;然后服务器可以根据第二配置文件,对新版本第一应用程序进行编译,并将编译后的编译文件保存在服务器中,跟随新版本第一应用程序的安装包发送至电子设备。

在本申请的一些实施例中,上述步骤102可以包括下述的步骤102a。

步骤102a、服务器在第二配置文件在第一时长内生成,且配置文件复用率大于或等于第一预置的情况下,向电子设备发送目标文件。

其中,上述配置文件复用率为第二配置文件中复用第一配置文件中的热点方法信息与第一配置文件中总的热点方法信息之比。

在本申请的一些实施例中,在生成第二配置文件的过程中发生错误,或复用的第一配置文件过大,可能会导致生成第二配置文件所需的时间较长,因此服务器可以监控生成第二配置文件时所用的时间,在生成该配置文件所用时间没有超过第一时长的情况下,向电子设备发送目标文件。

在本申请的一些实施例中,上述第一时长可以为服务器默认的,也可以为用户设置的,还可以为服务器根据大数据确定的。本申请实施例不作具体限定。

需要说明的是,服务器可以在生成第二配置文件之后再统计生成第二配置文件所消耗的时间;也可以在生成第二配置文件的过程中统计所消耗的时间。进一步地,服务器可以在生成第二配置文件所消耗的时间超过第一时长之后,放弃生成该第二配置文件。

在本申请的一些实施例中,上述配置文件复用率可以为第二配置文件中与第一配置文件中相同的热点方法信息占第一配置文件中所有热点方法信息的比例,即第一热点方法信息与第一配置文件中的所有热点方法信息的比例,也就是第二配置文件复用第一配置文件中的热点方法信息的比例。

在本申请的一些实施例中,上述第一阈值可以为服务器默认的,也可以为人为设置的,还可以为服务器根据大数据确定的。本申请实施例不作具体限定。

示例性地,假设第一阈值为70%,第一配置文件中有8000条热点方法信息,第二配置文件中有6400条热点方法信息与第一配置文件中的热点方法信息相同。那么第二配置文件中与第一配置文件中相同的热点方法信息占第一配置文件中所有热点方法信息的比例为80%,即配置文件复用率为80%,则服务器可以确定出该配置文件复用率大于第一阈值,即配置文件复用率大于或等于第一阈值,服务器可以向电子设备发送目标文件。

如此,由于服务器可以在第一时长内生成第二配置文件,且配置文件复用率大于或等于第一阈值的情况下,向电子设备发送目标文件,即服务器可以在生成的第二配置文件中的热点方法信息无误,且符合用户的使用偏好的情况下,向电子设备发送目标文件。如此,可以使得服务器在较短时间内通过复用旧版本应用程序的配置文件生成新的配置文件,且在配置文件复用率较高的情况下向电子设备发送对应的文件信息,使得电子设备可以直接根据包含用户使用偏好的配置文件更新新版本应用程序,从而可以在兼顾用户的使用偏好的同时节省生成配置文件的时间。

在本申请的一些实施例中,上述服务器在第二配置文件没有在第一时长内生成或配置文件复用率小于第一预置的情况下,删除第一配置文件,并向电子设备发送新版本第一应用程序的安装包。

可以理解,服务器可以在第一时长内没有生成第二配置文件,或配置文件复用率小于第一阈值的情况下,判定复用第一配置文件失败,服务器可以删除第一配置文件,并将已生成或正在生成的第二配置文件删除,仅向电子设备发送新版本第一应用程序的安装包。

如此,由于服务器可以在第一时长内没有生成第二配置文件,或配置文件复用率小于第一阈值的情况下,仅向电子设备发送新版本第一应用程序的安装包,即在复用第一配置文件失败的情况下,仅向电子设备发送新版本第一应用程序的安装包。因此,可以避免生成错误或不符合用户使用偏好的配置文件,造成服务器生成配置文件时的时间和资源的浪费。

在本申请实施例提供的配置文件处理方法中,由于服务器可以获取电子设备运行旧版本应用程序时生成的配置文件,并在应用程序版本更新的情况下,复用旧版本应用程序的配置文件,生成新版本应用程序的配置文件。因此可以节省生成配置文件的时间和服务器的资源,从而可以快速生成包含用户使用偏好的更新版本后的配置文件,进而可以使得电子设备在更新该应用程序时,可以直接根据包含用户使用偏好的配置文件,更新该应用程序,提高应用程序运行的流畅度。

以下以具体示例来对本申请实施例提供的配置文件处理方法进行示例性说明。如图2所示,该配置文件处理方法可以包括下述的步骤201至步骤208。

步骤201、服务器接收电子设备发送的第一配置文件。

步骤202、服务器检测到第一应用程序的版本发生更新。

步骤203、服务器在存在第一配置文件且第一配置文件的文件大小处于第一范围内的情况下,解压新版本第一应用程序的安装包,加载安装包中的dex文件,获取所有的方法信息。

在本申请的一些实施例中,服务器可以获取安装包中的dex文件中的所有方法信息和与其对应的类。

步骤204、服务器加载保存的第一配置文件,获取热点方法信息。

在本申请的一些实施例中,服务器可以获取第一配置文件中的热点方法信息和与其对应的类。

步骤205、服务器将第一配置文件中的热点方法与类和新版本第一应用程序的安装包的dex文件中的方法与类进行匹配,确定出第一热点方法信息。

步骤206、服务器根据第一热点方法信息,生成第二配置文件。

步骤207、服务器在第二配置文件在第一时长内生成,且配置文件复用率大于或等于第一阈值的情况下,保存复用生成的第二配置文件。

步骤208、服务器准备更新完毕,向电子设备发送目标文件。

需要说明的是,对于步骤201至步骤208的其他描述,参见上述实施例中对步骤100至步骤102的相关描述。

如此,由于服务器可以获取电子设备运行旧版本应用程序时生成的配置文件,并在应用程序版本更新的情况下,复用旧版本应用程序的配置文件,生成新版本应用程序的配置文件。因此可以节省生成配置文件的时间和服务器的资源,从而可以快速生成包含用户使用偏好的更新版本后的配置文件,进而可以使得电子设备在更新该应用程序时,可以直接根据包含用户使用偏好的配置文件,更新该应用程序,提高应用程序运行的流畅度。

本申请实施例提供了一种应用程序更新方法,图3示出了本申请实施例提供的一种应用程序更新方法的流程图,该方法可以应用于电子设备。如图3所示,本申请实施例提供的应用程序更新方法可以包括下述的步骤300和步骤301。

步骤300、电子设备接收服务器发送的目标文件。

其中,上述目标文件可以包括以下任一项:新版本第一应用程序的安装包和第二配置文件,新版本第一应用程序的安装包和编译文件。

在本申请的一些实施例中,上述第二配置文件是服务器根据旧版本第一应用程序的第一配置文件生成的;上述编译文件是服务器基于第二配置文件,对新版本第一应用程序编译得到的。

在本申请的一些实施例中,第二配置文件为新版本第一应用程序的配置文件,第二配置文件是服务器基于第一配置文件生成的,第一配置文件是电子设备基于用户历史使用第一应用程序的使用偏好生成的。

对于安装包、第一配置文件、第二配置文件和编译文件,可以参见上述服务器侧中相关实施例中的描述。

步骤301、电子设备基于目标文件,将旧版本第一应用程序更新为新版本第一应用程序。

在本申请的一些实施例中,电子设备可以根据接收到目标文件,对第一应用程序进行更新和运行。

示例性地,在电子设备接收到的目标文件包括新版本第一应用程序的安装包和第二配置文件的情况下,电子设备可以在安装新版本第一应用程序时,根据第二配置文件,对新版本第一应用程序进行预编译,将新版本第一应用程序更新为speed-profile模式,以提高新版本应用程序的运行速度。

在本申请的一些实施例中,上述目标文件可以包括新版本第一应用程序的安装包和编译文件。上述步骤301可以包括下述的步骤301a和步骤301b。

步骤301a、电子设备根据新版本第一应用程序的安装包,将旧版本第一应用程序更新为新版本第一应用程序。

在本申请的一些实施例中,电子设备可以根据新版本第一应用程序的安装包中的代码文件、原生资源文件、证书等文件,将旧版本第一应用程序更新为新版本第一应用程序。

步骤301b、电子设备基于编译文件,运行新版本第一应用程序。

在本申请的一些实施例中,在电子设备接收到的目标文件包括新版本第一应用程序的安装包和编译文件的情况下,电子设备可以在安装新版本第一应用程序之后,直接加载该编译文件,将第一应用程序直接更新为speed-profile模式,以减少新版本第一应用程序生成新的配置文件的时间,同时还可以减少电子设备在本地对新版本第一应用程序进行编译的时间,减少在本地对第一应用程序进行编译的功耗。

需要说明的是,若电子设备仅接收到服务器发送的新版本第一应用程序的安装包,则电子设备可以直接将该第一应用程序编译为verify模式,并在运行第一应用程序的过程中对其进行编译。

如此,由于电子设备可以接收服务器发送的新版本第一应用程序的安装包和第二配置文件或新版本第一应用程序的安装包和编译文件,因此电子设备可以直接复用旧版本应用程序的配置文件生成的包含用户使用偏好的配置文件,对新版本应用程序进行编译,从而可以减少安装新版本应用程序后等待配置文件生成的时间,并使得生成的配置文件可以兼顾用户的使用偏好;或电子设备可以直接通过编译文件运行新版本应用程序,节省电子设备自行对应用程序进行编译所消耗的时间和资源,减少应用程序运行的卡顿。

在本申请的一些实施例中,在上述步骤300之前,本申请实施例提供的应用程序更新方法还可以包括下述的步骤302和步骤303。

步骤302、电子设备接收用户的第一输入。

在本申请的一些实施例中,上述第一输入可以用于触发电子设备向服务器发送安装包请求,以更新第一应用程序。第一输入也可以称为第一操作。

示例性地,上述第一输入包括但不限于:用户通过手指或者手写笔等触控装置在电子设备的屏幕上的触控输入,或者为用户输入的语音指令,或者为用户输入的特定手势,或者为其他可行性输入,具体的可以根据实际使用需求确定,本申请实施例不作限定。本申请实施例中的特定手势可以为单击手势、滑动手势、拖动手势、压力识别手势、长按手势、面积变化手势、双按手势、双击手势中的任意一种;本申请实施例中的点击输入可以为单击输入、双击输入或任意次数的点击输入等,还可以为长按输入或短按输入。

例如,上述第一输入可以为用户对更新应用程序控件的点击输入,以触发电子设备向服务器发送安装包请求。在实际实现中,可以根据实际使用需求确定,本申请实施例不作限定。

例如,上述第一输入可以为用户对第一应用程序的语音输入,如该语音输入的语音内容可以为:“更新第一应用程序”,电子设备可以接收该语音输入,向服务器发送安装包请求。在实际实现中,可以根据实际使用需求确定,本申请实施例不作限定。

步骤303、电子设备响应于第一输入,向服务器发送安装包请求。

其中,上述安装包请求用于请求新版本第一应用程序的安装包。

在本申请的一些实施例中,电子设备向服务器发送安装包请求之后,服务器可以接收该安装包请求,向电子设备发送目标文件。

如此,由于电子设备可以在接收用户的第一输入之后,向服务器发送安装包请求,因此电子设备可以在用户需求更新应用程序时,对应用程序进行更新,避免了对更新时所需时间和资源的浪费。

在本申请的一些实施例中,在上述步骤300之前,本申请实施例提供的应用程序更新方法还可以包括下述的步骤304。

步骤304、电子设备向服务器发送第一应用程序的配置文件。

在本申请的一些实施例中,电子设备可以向服务器发送对旧版本第一应用程序的代码根据用户历史用户第一应用程序的使用偏好进行编译之后,所生成的第一配置文件。

在本申请的一些实施例中,电子设备可以将用户的使用偏好发生较大改变时,重新生成的第一配置文件,发送给服务器,使得服务器可以在接收到电子设备发送的重新生成的第一配置文件之后,将接收到的第一配置文件替换掉之前的第一配置文件。

在本申请的一些实施例中,电子设备向服务器发送的第一配置文件中,可以携带该电子设备的设备标识,以标记该第一配置文件所属的电子设备。

如此,由于电子设备可以向服务器发送第一应用程序的配置文件,因此可以保证服务器中保存的旧版本应用程序的配置文件为最新的配置文件,从而可以在复用该配置文件时,使得生成的新的配置文件最符合用户的使用习惯。

在本申请的一些实施例中,上述目标文件包括新版本第一应用程序的安装包和第二配置文件。在上述步骤300之后,本申请实施例提供的应用程序更新方法还可以包括下述的步骤305。

步骤305、电子设备在电子设备的运算能力小于第二阈值的情况下,在更新第一应用程序的版本的过程中,基于第二配置文件编译新版本第一应用程序的安装包,得到并保存编译文件。

在本申请的一些实施例中,上述电子设备的运算能力可以为根据电子设备处理器的芯片的运算能力来确定。

示例性地,假设电子设备处理器的芯片为中央处理器(Central ProcessingUnit,CPU)芯片,CPU芯片的运算能力可以根据CPU架构、CPU核心数量、CPU运算频率等参数确定。

例如,电子设备的CPU芯片可以为64位,四核心,运算频率为3.0GHz。

在本申请的一些实施例中,上述第二阈值可以为服务器默认的,也可以为用户设置的,还可以为服务器根据大数据确定的。本申请实施例不作具体限定。

示例性地,假设第二阈值为2.8GHz,若电子设备CPU芯片的运算能力为3.0GHz,则电子设备可以确定出电子设备的运算能力大于第二阈值,电子设备可以在运行新版本第一应用程序之前,基于第二配置文件编译新版本第一应用程序的安装包,得到编译文件。在本申请的一些实施例中,“基于第二配置文件编译新版本第一应用程序的安装包,得到编译文件”可以理解为:电子设备解压第一应用程序的程序包,安装第一应用程序,在安装第一应用程序时电子设备可以根据第二配置文件中的方法信息,将第一应用程序的代码编译为机器语言,得到包含odex文件、vdex文件等文件的编译文件,以使得电子设备可以根据所得到的编译文件,直接运行新版本第一应用程序。

在本申请的一些实施例中,电子设备的运算能力小于第二阈值,可以表明:电子设备的运算能力不足以支持电子设备在运行第一应用程序时对第一应用程序进行编译,否则容易造成运行第一应用程序时的卡顿,影响用户的体验。因此,电子设备可以在电子设备的运算能力小于第二阈值的情况下,对第一应用程序进行预编译,并保存得到的编译文件,以使得电子设备可以直接通过编译文件运行第一应用程序,从而可以提高第一应用程序的运行速度和流畅度。

示例性地,电子设备可以采用AOT技术,对第一应用程序进行预编译,将第一应用程序编译为speed-profile模式,提高第一应用程序的运行速度和流畅度。

在本申请的一些实施例中,电子设备对基于第二配置文件编译新版本第一应用程序的安装包之后,可以将得到的编译文件保存在电子设备中。

如此,由于电子设备可以在电子设备的运算能力小于第二阈值的情况下,通过服务器复用第一配置文件生成的第二配置文件,对新版本第一应用程序进行一次预编译,并保存得到的编译文件,因此电子设备在运行新版本第一应用程序时,可以直接根据编译文件,运行新版本第一应用程序,而无需再次进行编译。如此,在节省生成配置文件的时间的同时,使得电子设备在运行新版本应用程序时可以呈现出与旧版本应用程序相同的用户使用偏好,并且由于电子设备可以直接根据编译文件运行新版本应用程序,因此还可以提高电子设备运行应用程序的速度和流畅度。

在本申请的一些实施例中,上述目标文件包括新版本第一应用程序的安装包和第二配置文件。在上述步骤300之后,本申请实施例提供的应用程序更新方法还可以包括下述的步骤306。

步骤306、电子设备在电子设备的运算能力大于或等于第二阈值的情况下,基于目标文件,将旧版本第一应用程序更新为新版本第一应用程序之后,直接运行新版本第一应用程序。

可以理解,在电子设备的运算能力大于或等于第二阈值的情况下,电子设备可以在verify模式下流畅的运行新版本第一应用程序。因此无需基于第二配置文件,对新版本第一应用程序进行编译,而是可以直接运行该新版本第一应用程序。

如此,由于电子设备可以在电子设备运算能力大于或等于第二阈值的情况下,直接运行新版本的应用程序,而无需基于新版本应用程序的配置文件进行编译,因此可以减少编译产生文件对电子设备空间,提高了电子设备资源的利用率。

在本申请的一些实施例中,上述目标文件可以包括新版本所述第一应用程序的安装包和所述第二配置文件。在上述步骤300之后,本申请实施例提供的应用程序更新方法还可以包括下述的步骤307。

步骤307、电子设备在电子设备的运算能力大于或等于第二阈值,且电子设备处于空闲状态的情况下,基于第二配置文件编译新版本第一应用程序的安装包,得到并保存编译文件。

在本申请的一些实施例中,电子设备的空闲状态可以指电子设备处于非活动的状态。

示例性地,电子设备可以根据电子设备是否熄屏,是否长时间未使用,电量是否充足,温度是否超过预先设置的温度阈值来判断电子设备是否处于空闲状态。

例如,电子设备可以在熄屏之后,若超过5分钟没有被使用,且电量在50%以上,温度不超过35℃的情况下,判断出电子设备此时处于空闲状态。

在本申请的一些实施例中,电子设备可以在电子设备的运算能力大于或等于第一阈值的情况下,在接收到服务器发送的新版本第一应用程序的安装包和第二配置文件之后,安装该新版本第一应用程序,若没有接收到用户运行该新版本第一应用程序的输入,则可以不立即进行编译。电子设备可以在判断出电子设备处于空闲状态时,才对新版本第一应用程序进行编译,得到并保存编译文件。

可以理解,电子设备的运算能力在大于或等于第二阈值时,才能在verify模式下可以较为流畅的运行。因此,在电子设备的运算能力在大于或等于第二阈值时,电子设备可以在安装新版本第一应用程序时不进行编译,而在电子设备处于空闲状态时才进行编译,从而缩短安装新版本第一应用程序时占用对应资源的时间。

需要说明的是,若电子设备在安装该新版本第一应用程序之后,接收到用户运行该新版本第一应用程序的输入,则可以按照上述步骤305所述的方法运行该新版本第一应用程序,此处不再赘述。

如此,由于电子设备可以在电子设备的运算能力小于第二阈值,且电子设备处于空闲状态的情况下,基于第二配置文件编译新版本第一应用程序的安装包,得到并保存编译文件。因此可以将安装新版本应用程序的过程与编译新版本应用程序的过程分离开来,减少安装的时间,并且由于在电子设备处于空闲状态时编译新版本应用程序,因此可以避免用户在电子设备进行编译时进行其他操作而导致卡顿的问题,从而可以提高应用程序运行的速度与流畅度。

以下结合具体示例对本申请提供的应用程序更新方法进行示例性描述。如图4所示,该应用程序更新方法可以包括下述的步骤401至步骤406。

步骤401、电子设备接收服务器发送的新版本第一应用程序的安装包和第二配置文件。

步骤402、电子设备安装新版本第一应用程序。

步骤403、电子设备在电子设备的运算能力小于第二阈值的情况下,基于第二配置文件编译新版本第一应用程序的安装包。

在本申请的一些实施例中,在电子设备接收到服务器发送的新版本第一应用程序的安装包和第二配置文件之后,电子设备可以根据电子设备的运算能力判断是否在安装新版本第一应用程序时对第一应用程序进行编译。电子设备可以在电子设备的运算能力大于或等于第二阈值的情况下,将第一应用程序运行在verify模式下,即在安装时仅解释执行代码,而不进行编译;电子设备可以在电子设备的运算能力小于第二阈值的情况下,将第一应用程序运行在speed-profile模式下,即在安装时进行编译。

步骤404、电子设备在得到编译文件的情况下,基于编译文件将新版本第一应用程序编译为speed-profile模式。

步骤405、电子设备在电子设备的运算能力大于或等于第二阈值,或没有得到编译文件的情况下,基于编译文件将新版本第一应用程序编译为verify模式。

步骤406、电子设备更新第一应用程序结束。

如此,由于电子设备可以接收服务器发送的新版本第一应用程序的安装包和第二配置文件或新版本第一应用程序的安装包和编译文件,因此电子设备可以直接复用旧版本应用程序的配置文件生成的包含用户使用偏好的配置文件,对新版本应用程序进行编译,从而可以减少安装新版本应用程序后等待配置文件生成的时间,并使得生成的配置文件可以兼顾用户的使用偏好;或电子设备可以直接通过编译文件运行新版本应用程序,节省电子设备自行对应用程序进行编译所消耗的时间和资源,减少应用程序运行的卡顿。

本申请实施例提供了一种配置文件处理方法和应用程序更新方法,图5示出了本申请实施例提供的一种配置文件处理方法和应用程序更新方法的流程图。如图5所示,本申请实施例提供的配置文件处理方法和应用程序更新方法可以包括下述的步骤501至步骤506。

步骤501、电子设备向服务器发送第一应用程序的第一配置文件。

步骤502、服务器获取第一应用程序的第一配置文件。

步骤503、服务器在第一应用程序版本更新的情况下,基于第一配置文件,生成第二配置文件。

在本申请的一些实施例中,上述步骤503可以包括下述的步骤503a。

步骤503a、服务器在存在第一配置文件,且第一配置文件的文件大小处于第一范围内的情况下,基于第一配置文件,生成第二配置文件。

在本申请的一些实施例中,上述步骤503还可以包括下述的步骤503b和步骤503c。

步骤503b、服务器根据第一配置文件,确定新版本第一应用程序的安装包中的第一热点方法信息。

其中,第一热点方法信息与第一配置文件中的热点方法信息相匹配。

步骤503c、服务器基于第一热点方法信息,生成第二配置文件。

步骤504、服务器向电子设备发送目标文件。

其中,上述目标文件包括以下任一项:新版本第一应用程序的安装包和第二配置文件;新版本第一应用程序的安装包和编译文件,编译文件是基于第二配置文件,对新版本第一应用程序编译得到的。

在本申请的一些实施例中,上述步骤504可以包括下述的步骤504a。

步骤504a、服务器在第二配置文件在第一时长内生成,且配置文件复用率大于或等于第一阈值的情况下,向电子设备发送目标文件;

其中,配置文件复用率为第二配置文件中复用第一配置文件中的热点方法信息与第一配置文件中总的热点方法信息之比。

步骤505、电子设备接收服务器发送的目标文件。

步骤506、电子设备基于目标文件,将旧版本第一应用程序更新为新版本第一应用程序。

在本申请的一些实施例中,目标文件包括新版本第一应用程序的安装包和编译文件。上述步骤506可以包括下述的步骤506a和步骤506b。

步骤506a、电子设备根据新版本第一应用程序的安装包,将旧版本第一应用程序更新为新版本第一应用程序。

步骤506b、电子设备基于编译文件,运行新版本第一应用程序。

在本申请的一些实施例中,目标文件包括新版本第一应用程序的安装包和第二配置文件。上述步骤506还可以包括下述的步骤506c。

步骤506c、电子设备在电子设备的运算能力小于第二阈值的情况下,在更新第一应用程序的版本的过程中,基于第二配置文件编译新版本第一应用程序的安装包,得到并保存编译文件。

在本申请的一些实施例中,目标文件包括新版本第一应用程序的安装包和第二配置文件。上述步骤506还可以包括下述的步骤506d。

步骤506d、电子设备在所述电子设备的运算能力大于或等于第二阈值,且所述电子设备处于空闲状态的情况下,基于所述第二配置文件编译新版本所述第一应用程序的安装包,得到并保存编译文件。

如此,电子设备可以将更版本前的应用程序的配置文件上传至服务器,当服务器检测到该应用程序版本更新时,服务器可以获取电子设备运行旧版本应用程序时生成的配置文件,通过复用旧版本应用程序的配置文件生成一个新的配置文件,缩短了生成配置文件所需的时间,从而避免了服务器耗费时间与资源对更新版本后的应用程序重新进行训练,以生成新的配置文件。并且由于复用的配置文件是根据电子设备的用户历史使用生成的,因此根据该新的配置文件对应用程序进行编译的结果也更加贴近用户的使用偏好,从而避免了机器训练得到的配置文件中的热点方法在实际使用时不符合用户偏好而导致命中率过低的问题。此外,在安装更新版本后的应用程序时,服务器下发通过复用更新版本前的配置文件生成的新的配置文件到电子设备中,电子设备可以根据新的配置文件将新版本应用程序编译为speed-profile模式,达到及时进行符合用户使用偏好的编译优化,而无需过多占用服务器的资源,减少了服务器生成新的配置文件所需时间,提高了应用程序的运行速度。

需要说明的是,对于步骤501至步骤506的其他描述,参见上述实施例中对步骤100至步骤102、步骤300至步骤302的相关描述。

本申请实施例提供的配置文件处理方法,执行主体可以为配置文件处理装置。本申请实施例中以配置文件处理装置执行配置文件处理方法为例,说明本申请实施例提供的配置文件处理装置。

图6示出了本申请实施例中涉及的配置文件处理装置的一种可能的结构示意图。如图6所示,该配置文件处理装置60可以包括:获取模块61和生成模块62。

其中,获取模块61,用于获取第一应用程序的第一配置文件,第一配置文件为电子设备运行旧版本第一应用程序时生成的;生成模块62,用于在第一应用程序版本更新的情况下,基于获取模块61获取的第一配置文件,生成第二配置文件,第二配置文件为新版本第一应用程序的配置文件。

在一种可能的实现方式中,上述装置还包括:发送模块;

上述发送模块,用于在生成模块62基于第一配置文件,生成第二配置文件之后,向电子设备发送目标文件,目标文件包括以下任一项:

新版本第一应用程序的安装包和第二配置文件;

新版本第一应用程序的安装包和编译文件,编译文件是基于第二配置文件,对新版本第一应用程序编译得到的。

在一种可能的实现方式中,上述生成模块62,具体用于在存在第一配置文件,且第一配置文件的文件大小处于第一范围内的情况下,基于第一配置文件,生成第二配置文件。

在一种可能的实现方式中,上述生成模块62,具体用于:

根据第一配置文件,确定新版本第一应用程序的安装包中的第一热点方法信息,第一热点方法信息与第一配置文件中的热点方法信息相匹配;

基于第一热点方法信息,生成第二配置文件。

在一种可能的实现方式中,上述发送模块,具体用于在第二配置文件在第一时长内生成,且配置文件复用率大于或等于第一阈值的情况下,向电子设备发送目标文件;

其中,配置文件复用率为第二配置文件中复用第一配置文件中的热点方法信息与第一配置文件中总的热点方法信息之比。

在一种可能的实现方式中,上述获取模块61,用于接收电子设备发送的第一应用程序的第一配置文件。

本申请实施例提供一种配置文件处理装置,由于服务器可以获取电子设备运行旧版本应用程序时生成的配置文件,并在应用程序版本更新的情况下,复用旧版本应用程序的配置文件,生成新版本应用程序的配置文件。因此可以节省生成配置文件的时间和服务器的资源,从而可以快速生成包含用户使用偏好的更新版本后的配置文件,进而可以使得电子设备在更新该应用程序时,可以直接根据包含用户使用偏好的配置文件,更新该应用程序,提高应用程序运行的流畅度。

图7示出了本申请实施例中涉及的应用程序更新装置的一种可能的结构示意图。如图7所示,该应用程序更新装置70可以包括:接收模块71和更新模块72。

其中,接收模块71,用于接收服务器发送的目标文件,电子设备安装有旧版本第一应用程序;更新模块72,用于基于目标文件,将旧版本第一应用程序更新为新版本第一应用程序;其中,目标文件包括以下任一项:新版本第一应用程序的安装包和第二配置文件,第二配置文件是服务器根据旧版本第一应用程序的第一配置文件生成的;新版本第一应用程序的安装包和编译文件,编译文件是服务器基于第二配置文件,对新版本第一应用程序编译得到的。

在一种可能的实现方式中,上述目标文件包括新版本第一应用程序的安装包和编译文件;

上述更新模块72,具体用于:

根据新版本第一应用程序的安装包,将旧版本第一应用程序更新为新版本第一应用程序;

基于编译文件,运行新版本第一应用程序。

在一种可能的实现方式中,上述装置还包括:发送模块;

上述发送模块,用于在接收模块71接收服务器发送的目标文件之前,向服务器发送第一应用程序的第一配置文件,第一配置文件为电子设备运行旧版本第一应用程序时生成的。

在一种可能的实现方式中,上述目标文件包括新版本第一应用程序的安装包和第二配置文件;

上述更新模块72,还用于在接收模块71接收服务器发送的目标文件之后,在电子设备的运算能力小于第二阈值的情况下,在更新第一应用程序的版本的过程中,基于第二配置文件编译新版本第一应用程序的安装包,得到并保存编译文件。

在一种可能的实现方式中,上述目标文件包括新版本第一应用程序的安装包和第二配置文件;

上述更新模块72,还用于在接收模块71接收服务器发送的目标文件之后,在电子设备的运算能力大于或等于第二阈值,且电子设备处于空闲状态的情况下,基于第二配置文件编译新版本第一应用程序的安装包,得到并保存编译文件。

本申请实施例提供一种应用程序更新装置,由于电子设备可以接收服务器发送的新版本第一应用程序的安装包和第二配置文件或新版本第一应用程序的安装包和编译文件,因此电子设备可以直接复用旧版本应用程序的配置文件生成的包含用户使用偏好的配置文件,对新版本应用程序进行编译,从而可以减少安装新版本应用程序后等待配置文件生成的时间,并使得生成的配置文件可以兼顾用户的使用偏好;或电子设备可以直接通过编译文件运行新版本应用程序,节省电子设备自行对应用程序进行编译所消耗的时间和资源,减少应用程序运行的卡顿。

本申请实施例中的应用程序更新装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。

本申请实施例中的应用程序更新装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。

本申请实施例提供的应用程序更新装置能够实现如上述应用程序更新方法实施例实现的各个过程,达到相同的技术效果,为避免重复,这里不再赘述。

可选地,如图8所示,本申请实施例还提供一种电子设备800,包括处理器801和存储器802,存储器802上存储有可在处理器801上运行的程序或指令,例如,该通信设备800为电子设备时,该程序或指令被处理器801执行时实现上述电子设备侧方法实施例的各个步骤,且能达到相同的技术效果。该通信设备800为服务器时,该程序或指令被处理器801执行时实现上述服务器侧方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要说明的是,本申请实施例中的电子设备包括移动电子设备和非移动电子设备。

图9为实现本申请实施例的一种电子设备的硬件结构示意图。

该电子设备900包括但不限于:射频单元901、网络模块902、音频输出单元903、输入单元904、传感器905、显示单元906、用户输入单元907、接口单元908、存储器909、以及处理器910等部件。

本领域技术人员可以理解,电子设备900还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器910逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图9中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。

其中,射频单元901,用于接收服务器发送的目标文件,电子设备安装有旧版本第一应用程序;处理器910,用于基于目标文件,将旧版本第一应用程序更新为新版本第一应用程序;其中,目标文件包括以下任一项:新版本第一应用程序的安装包和第二配置文件,第二配置文件是服务器根据旧版本第一应用程序的第一配置文件生成的;新版本第一应用程序的安装包和编译文件,编译文件是服务器基于第二配置文件,对新版本第一应用程序编译得到的。

在一种可能的实现方式中,上述目标文件包括新版本第一应用程序的安装包和编译文件;

上述处理器910,具体用于:

根据新版本第一应用程序的安装包,将旧版本第一应用程序更新为新版本第一应用程序;

基于编译文件,运行新版本第一应用程序。

在一种可能的实现方式中,上述射频单元901,还用于在接收服务器发送的目标文件之前,向服务器发送第一应用程序的第一配置文件,第一配置文件为电子设备运行旧版本第一应用程序时生成的。

在一种可能的实现方式中,上述目标文件包括新版本第一应用程序的安装包和第二配置文件;

上述处理器910,还用于在射频单元901接收服务器发送的目标文件之后,在电子设备的运算能力小于第二阈值的情况下,在更新第一应用程序的版本的过程中,基于第二配置文件编译新版本第一应用程序的安装包,得到并保存编译文件。

在一种可能的实现方式中,上述目标文件包括新版本第一应用程序的安装包和第二配置文件;

上述处理器910,还用于在射频单元901接收服务器发送的目标文件之后,在电子设备的运算能力大于或等于第二阈值,且电子设备处于空闲状态的情况下,基于第二配置文件编译新版本第一应用程序的安装包,得到并保存编译文件。

本申请实施例提供一种电子设备,由于电子设备可以接收服务器发送的新版本第一应用程序的安装包和第二配置文件或新版本第一应用程序的安装包和编译文件,因此电子设备可以直接复用旧版本应用程序的配置文件生成的包含用户使用偏好的配置文件,对新版本应用程序进行编译,从而可以减少安装新版本应用程序后等待配置文件生成的时间,并使得生成的配置文件可以兼顾用户的使用偏好;或电子设备可以直接通过编译文件运行新版本应用程序,节省电子设备自行对应用程序进行编译所消耗的时间和资源,减少应用程序运行的卡顿。

应理解的是,本申请实施例中,输入单元904可以包括图形处理器(GraphicsProcessing Unit,GPU)9041和麦克风9042,图形处理器9041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元906可包括显示面板9061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板9061。用户输入单元907包括触控面板9071以及其他输入设备9072中的至少一种。触控面板9071,也称为触摸屏。触控面板9071可包括触摸检测装置和触摸控制器两个部分。其他输入设备9072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。

存储器909可用于存储软件程序以及各种数据。存储器909可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器909可以包括易失性存储器或非易失性存储器,或者,存储器909可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器909包括但不限于这些和任意其它适合类型的存储器。

处理器910可包括一个或多个处理单元;可选的,处理器910集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器910中。

图10示出了本申请实施例提供的一种服务器的结构示意图。

如图10所示,该服务器1000包括:天线101、射频装置102、基带装置103、处理器104和存储器105。天线101与射频装置102连接。在上行方向上,射频装置102通过天线101接收信息,将接收的信息发送给基带装置103进行处理。在下行方向上,基带装置103对要发送的信息进行处理,并发送给射频装置102,射频装置102对收到的信息进行处理后经过天线101发送出去。

以上实施例中服务器执行的方法可以在基带装置103中实现,该基带装置103包括基带处理器。

基带装置103例如可以包括至少一个基带板,该基带板上设置有多个芯片,如图10所示,其中一个芯片例如为基带处理器,通过总线接口与存储器105连接,以调用存储器105中的程序,执行以上方法实施例中所示的服务器操作。

该服务器还可以包括网络接口106,该接口例如为通用公共无线接口(CommonPublic Radio Interface,CPRI)。

具体地,本发明实施例的服务器1000还包括:存储在存储器105上并可在处理器104上运行的指令或程序,处理器104调用存储器105中的指令或程序执行图6所示各模块执行的方法,并达到相同的技术效果,为避免重复,故不在此赘述。

本申请实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述配置文件处理方法和应用程序更新方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

其中,处理器为上述实施例中的电子设备中的处理器。可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。

本申请实施例另提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述配置文件处理方法和应用程序更新方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。

本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述配置文件处理方法和应用程序更新方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

相关技术
  • 基于git的配置文件处理方法、装置和计算机设备
  • 应用程序的显示处理方法、终端及服务器
  • 应用程序的更新方法、电子设备、服务器和存储介质
  • 应用程序更新处理方法、装置、无人驾驶车辆及服务器
  • 应用程序的配置文件更新方法及装置
技术分类

06120116216593