CN111078318A - 配置文件的处理方法、装置、系统及存储介质 - Google Patents
配置文件的处理方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN111078318A CN111078318A CN201911310927.4A CN201911310927A CN111078318A CN 111078318 A CN111078318 A CN 111078318A CN 201911310927 A CN201911310927 A CN 201911310927A CN 111078318 A CN111078318 A CN 111078318A
- Authority
- CN
- China
- Prior art keywords
- configuration file
- target
- application
- hot spot
- size
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种配置文件的处理方法、装置、系统及存储介质,该配置文件的处理方法应用于服务器,该配置文件的处理方法包括:在接收到终端设备发送的获取请求时,获取目标应用的应用大小,所述获取请求用于获取所述目标应用的热点代码;从所述目标应用的多个配置文件中确定与所述应用大小对应的至少一个配置文件,作为目标配置文件,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;将所述目标配置文件发送至所述终端设备,所述目标配置文件用于指示所述终端设备对所述目标配置文件中的热点代码进行预编译。本方法可以避免终端设备的存储空间的浪费。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种配置文件的处理方法、装置、系统及存储介质。
背景技术
在终端设备的应用程序的使用中,通常将应用程序的使用频繁的方法或代码作为热点代码,并预先对热点代码编译为二进制机器码,编译得到的二进制机器码可以用于在下次运行应用程序时直接由处理器执行,从而提升应用程序的运行速度。对应代码数量和大小相对较小应用而言,通过预先编译热点代码所带来的运行速度的提升不会过于明显,因此如果终端设备对获取的全部热点代码进行编译,编译后的文件会造成存储空间的浪费。
发明内容
鉴于上述问题,本申请提出了一种配置文件的处理方法、装置、系统及存储介质。
第一方面,本申请实施例提供了一种配置文件的处理方法,应用于服务器,所述方法包括:在接收到终端设备发送的获取请求时,获取目标应用的应用大小,所述获取请求用于获取所述目标应用的热点代码;从所述目标应用的多个配置文件中确定与所述应用大小对应的至少一个配置文件,作为目标配置文件,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;将所述目标配置文件发送至所述终端设备,所述目标配置文件用于指示所述终端设备对所述目标配置文件中的热点代码进行预编译。
第二方面,本申请实施例提供了一种配置文件的处理方法,应用于终端设备,所述方法包括:发送获取请求至服务器,所述获取请求用于获取目标应用的热点代码;接收所述服务器下发的目标配置文件,所述目标配置文件由所述服务器根据所述目标应用的应用大小,从所述目标应用对应的多个配置文件中确定,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;对所述目标配置文件中的热点代码进行预编译,并将预编译后得到的编译文件进行存储。
第三方面,本申请实施例提供了一种配置文件的处理装置,应用于服务器,所述装置包括:请求接收模块、文件获取模块以及文件发送模块,其中,所述请求接收模块用于在接收到终端设备发送的获取请求时,获取目标应用的应用大小,所述获取请求用于获取所述目标应用的热点代码;所述文件获取模块用于从所述目标应用的多个配置文件中确定与所述应用大小对应的至少一个配置文件,作为目标配置文件,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;所述文件发送模块用于将所述目标配置文件发送至所述终端设备,所述目标配置文件用于指示所述终端设备对所述目标配置文件中的热点代码进行预编译。
第四方面,本申请实施例提供了一种配置文件的处理装置,应用于终端设备,所述装置包括:请求发送模块、文件接收模块以及代码编译模块,其中,所述请求发送模块用于发送获取请求至服务器,所述获取请求用于获取目标应用的热点代码;所述文件接收模块用于接收所述服务器下发的目标配置文件,所述目标配置文件由所述服务器根据所述目标应用的应用大小,从所述目标应用对应的多个配置文件中确定,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;所述代码编译模块用于对所述目标配置文件中的热点代码进行预编译,并将预编译后得到的编译文件进行存储。
第五方面,本申请实施例提供了一种配置文件的处理系统,所述系统包括服务器以及终端设备,所述服务器与所述终端设备通信连接,其中,所述终端设备用于发送获取请求至服务器,所述获取请求用于获取目标应用的热点代码;所述服务器用于接收所述服务器下发的目标配置文件,所述目标配置文件由所述服务器根据所述目标应用的应用大小,从所述目标应用对应的多个配置文件中确定,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;所述服务器还用于将所述目标配置文件发送至所述终端设备;所述终端设备还用于接收所述目标配置文件,对所述目标配置文件中的热点代码进行预编译,并将预编译后得到的编译文件进行存储。
第六方面,本申请实施例提供了一种服务器,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的配置文件的处理方法。
第七方面,本申请实施例提供了一种终端设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第二方面提供的配置文件的处理方法。
第八方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的配置文件的处理方法、或者执行上述第二方面提供的配置文件的处理方法。
本申请提供的方案,服务器通过在接收到终端设备发送的获取请求时,获取目标应用的应用大小,该获取请求用于获取目标应用的热点代码,然后根据该应用大小,从目标应用对应的多个配置文件中确定与该应用大小对应的至少一个配置文件,作为目标配置文件,该多个配置文件预先根据目标应用的热点代码生成,且多个配置文件中每个配置文件的大小不同,将目标配置文件发送至终端设备,目标配置文件用于指示该终端设备对目标配置文件中的热点代码进行预编译。从而可以实现服务器在向终端设备推送应用的配置文件时,推送的配置文件的大小由应用的应用大小确定,避免如果推送全部的热点代码对应的配置文件至终端设备,而应用的应用大小较小时,终端设备对全部热点代码进行编译后的文件会造成存储空间的浪费。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请实施例提供的应用场景的一种示意图。
图2示出了根据本申请实施例提供的应用场景的另一种示意图。
图3示出了根据本申请一个实施例的配置文件的处理方法流程图。
图4示出了根据本申请另一个实施例的配置文件的处理方法流程图。
图5示出了根据本申请又一个实施例的配置文件的处理方法流程图。
图6示出了根据本申请再一个实施例的配置文件的处理方法流程图。
图7示出了根据本申请又另一个实施例的配置文件的处理方法流程图。
图8示出了根据本申请又再一个实施例的配置文件的处理方法流程图。
图9示出了根据本申请一个实施例的配置文件的处理装置的一种框图。
图10示出了根据本申请另一个实施例的配置文件的处理装置的一种框图。
图11是本申请实施例的用于执行根据本申请实施例的配置文件的处理方法的终端设备的框图。
图12是本申请实施例的用于执行根据本申请实施例的配置文件的处理方法的服务器的框图。
图13是本申请实施例的用于保存或者携带实现根据本申请实施例的配置文件的处理方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
安卓(Android)有两种虚拟机执行环境:Dalvik虚拟机和Art虚拟机。在Dalvik虚拟机的执行环境下,应用每次运行的时候,字节码都需要通过即时编译器(Just In Timecompilation,JIT编译器)转换为机器码,才能被设备运行,这样会拖慢应用的执行效率。在Android 4.4版本时,Art虚拟机开始替代Dalvik虚拟机,在最开始的Art虚拟机中,应用在第一次安装的时候,系统会通过一个名称为dex2oat的工具将APK中的dex文件编译成包含本地机器码的oat文件存放下来。这样做之后,在程序执行的时候,就可以直接使用已经编译好的机器码以加快效率,这种预先编译机器码的机制叫做运行前编译(Ahead Of Time,AOT)。AOT的缺点是应用安装和系统升级之后的应用优化过程比较耗时(需要重新将dex字节码编译成本地机器码),且优化后的文件会占用额外的存储空间。
因此,后来对其做了相应的调整,在Art虚拟机的环境上,由原来的AOT变为解释器(Interpreter)+JIT+AOT混合编译。JAVA程序最初仅仅通过JAVA解释器(Interpreter)解释执行,即对字节码逐条解释执行,这种方式的执行速度相对会比较慢,尤其当某个方法或代码块运行特别频繁时,这种方式的执行效率就显得很低。于是后来在虚拟机中引入了JIT编译器,当虚拟机发现某个方法或者代码块运行特别频繁时,就会把这些代码认定为“hotspot code”(热点代码),将之记录下来保存到profile文件(配置文件),为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,而正是由JIT编译器负责这项任务。简单而言,profile文件记录了应用频繁运行的方法或者代码块,经由JIT或者AOT编译后得到.odex/.oat文件,该文件存有这些热点代码编译而成的二进制机器码,可直接交由中央处理器(Central Processing Unit,CPU)执行,从而提高了运行速度。
在JIT架构中,oat文件由于包含的时程序运行的机器码,因此可以直接被Art虚拟机运行。而dex文件中,如果是cold code(非热点代码),则交由JAVA解释器执行,如果是hotcode(热点代码)则交由JIT实时编译后存放在JIT CODE CACHE中,下次再次访问该热点,则可以直接从cache中执行对应的机器码。
通常大部分厂商均采用上述的Interpreter+JIT+AOT混合编译模式,在该混合编译模式下,应用在安装的时候dex文件不会被编译,应用在运行时,dex文件先通过Interpreter被直接运行,经常运行的函数或者代码块会被识别为hot code,hot code被JIT编译后存储在JIT CODE CACHE中,生成profile文件以记录热点函数的信息,移动终端在进入IDLE(空闲)且Charging(充电)状态的时候,系统会扫描应用的目录下的profile文件并执行AOT过程进行编译,AOT编译后的二进制机器码可直接交由中央处理器(CentralProcessing Unit,CPU)执行,从而提高了运行速度。这种方式下,需要移动终端自行对热点代码进行搜集,热点代码的编译依赖于设备在空闲维护模式下才会被触发,因此需要在使用应用一段时间后才能享受到性能的提升。
当然,一些厂商从用户的移动终端收集应用的配置文件,上传到云端。用户可以使用移动终端从云端下载配置文件,移动终端在接收到配置文件后会对配置文件中的热点代码进行编译,编译后的编译文件(二进制机器码)可以进行存储,以便运行应用程序的热点代码时,能直接执行二进制机器代码,使得移动终端能直接根据下载的配置文件进行编译,从而移动终端不必经过较长时间搜集热点代码和对热点代码进行编译,可以立即享受到应用运行时的性能提升。
发明人经过长期的研究发现,对于终端设备而言,会对从服务器获取的热点代码全部进行编译,并将编译后的编译文件进行存储。对应代码数量和大小相对较小应用而言,通过预先编译热点代码所带来的运行速度的提升不会过于明显,因此如果终端设备对从服务器获取的全部热点代码进行编译,编译后的文件会造成存储空间的浪费。
针对上述问题,发明人提出了本申请实施例提供的配置文件的处理方法、装置、系统及存储介质,通过服务器在向终端设备推送应用的配置文件时,推送的配置文件的大小由应用的应用大小确定,避免推送的配置文件较大,而应用大小较小,导致终端设备的存储空间的浪费。其中,具体的配置文件的处理方法在后续的实施例中进行详细的说明。
下面对本申请实施例提供的应用场景进行介绍。
在一些实施方式中,请参阅图1,图1示出了本申请实施例提供的应用场景的一种示意图,该应用场景包括配置文件的处理系统10,该配置文件的处理系统10包括:终端设备100以及第一服务器200。其中,终端设备100与第一服务器200通过网络进行通信。终端设备100可以与第一服务器200进行数据交互,以从第一服务器200获取应用程序的配置文件等文件数据。
在另一些实施方式中,请参阅图2,图2示出了本申请实施例提供的应用场景的另一种示意图,配置文件的处理系统10也可以包括:终端设备100、第一服务器200以及第二服务器300。其中,终端设备100与第一服务器200之间进行数据交互,第一服务器200与第二服务器300之间也可以进行数据交互。第一服务器200可以用于处理终端设备100的请求,第二服务器300可以用于存储和管理应用程序的配置文件、安装包等文件数据,当终端设备100从第一服务器200获取应用程序的文件时,第一服务器200可以从第二服务器300获取应用程序的文件,并将应用程序的文件发送至终端设备100。
当然,配置文件的处理系统10中也还可以包括其他的服务器。例如,配置文件的处理系统10还可以包括第三服务器,第三服务器可以用于从用户的终端设备收集应用程序的配置文件,并将收集的配置文件传输至第二服务器200进行整理和存储等;又例如,配置文件的处理系统10也还可以包括第四服务器,第四服务器可以用于存储和管理应用程序的安装包等,该情况下,可以由第二服务器200存储和管理应用程序的配置文件,实现应用程序的安装包与配置文件的单独进行管理和存储。
在一些实施方式中,上述的终端设备100可以为智能手机、平板电脑、电子书、智能手表等设备;第一服务器200、第二服务器300等服务器可以为传统服务器,也可以为云服务器,在此不做限定。
下面对本申请实施例提供的配置文件的处理方法进行详细介绍。
请参阅图3,图3示出了本申请一个实施例提供的配置文件的处理方法的流程示意图。该配置文件的处理方法可以应用于上述配置文件的处理系统中的服务器。下面将以终端设备为例,说明本实施例的具体流程。下面将针对图3所示的流程进行详细的阐述,所述配置文件的处理方法具体可以包括以下步骤:
步骤S110:在接收到终端设备发送的获取请求时,获取目标应用的应用大小,所述获取请求用于获取所述目标应用的热点代码。
在本申请实施例中,获取请求可以由终端设备生成,该获取请求用于从服务器获取目标应用的文件数据。在一些方式中,获取请求可以至少用于获取目标应用的热点代码。其中,该应用可以是终端设备未安装过的应用,也可以为终端设备已安装而未对热点代码进行过编译的应用,在此不做限定。
在一些实施方式中,终端设备可以根据用户的用户操作,生成上述获取请求,再发送至服务器,从而服务器接收到获取请求,例如,终端设备检测到在软件商店的界面中对目标应用的热点代码的获取操作,进而生成获取该目标应用的热点代码的获取请求。
在另一些实施方式中,也可以是在目标应用安装完成后,未被使用之前,终端设备主动生成用于获取该目标应用的热点代码的获取请求后,再发送至服务器,从而服务器接收到获取请求。
当然,在一些实施方式中,也可以是终端设备在下载应用时生成同时用于获取安装包和热点代码的获取请求,并发送至服务器,从而服务器接收到获取请求。
在本申请实施例中,服务器在接收到终端设备的以上获取请求时,可以获取目标应用的应用大小。其中,应用大小可以指应用占据存储空间的大小,例如,可以为应用程序的安装包的大小。可以理解的,通常应用中程序的代码数量和大小与应用大小有关,应用大小越大,则代码数量和大小也越大,因此服务器可以通过获取目标应用的应用大小,以确定用于推送的配置文件,避免推送的配置文件较大,而应用较小时,终端设备对配置文件中的热点代码进行编译后,产生的编译文件较大,而造成存储空间的浪费。
在一些实施方式中,服务器可以根据应用商店记录的目标应用的信息,获取目标应用的应用大小。当该服务器为应用商店的服务器时,则可以直接从本地获取目标应用的应用大小;当该服务器不为应用商店的服务器时,则可以从应用商店的服务器,获取该目标应用的应用大小。
步骤S120:从所述目标应用的多个配置文件中确定与所述应用大小对应的至少一个配置文件,作为目标配置文件,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同。
在本申请实施例中,服务器在获取到目标应用的应用大小之后,则可以根据目标应用的应用大小,确定需要推送至终端设备的配置文件。其中,服务器可以从目标应用对应的多个配置文件中,确定需推送的配置文件。
在一些实施方式中,目标应用对应的多个配置文件预先根据目标应用的热点代码生成,每个配置文件中均包括目标应用的热点代码,也就是上述的记录应用的热点代码的profile文件。并且多个配置文件中每个配置文件的大小不同,也就是配置文件中热点代码的大小是不同的。
作为一种实施方式,可以根据目标应用对应的所有热点代码,按照设定的规则,对所有热点代码划分成多个部分,并且每个部分的热点代码的大小不同,然后根据每个部分的热点代码,生成一个配置文件,从而获得多个不同大小的配置文件。
作为另一种实施方式,可以根据目标应用对应的所有热点代码,按照热点代码实现的功能的不同,分成多个热点代码,然后将根据热点代码的大小,根据一个或多个热点代码的组合,生成不同的配置文件,且每个配置文件中的热点代码的大小不同。当然,具体多个配置文件形成的方式可以不作为限定。
在一些实施方式中,服务器根据目标应用的应用大小,从目标应用的多个配置文件中,获取至少一个配置文件作为目标配置文件,可以是服务器根据目标应用的应用大小,按照配置文件的大小,选取与该应用大小对应的大小的配置文件,作为目标配置文件。其中,目标配置文件可以为一个配置文件,也可以为多个配置文件的组合,也就是说,可以是选取一个大小为与该应用大小对应的大小的配置文件,也可以是选取大小总和为与该应用大小对应的大小的多个配置文件,在此不做限定。从而可以使目标配置文件的大小能与应用大小相对应。
作为一种实施方式,应用大小与目标配置文件的大小的对应关系,可以是目标配置文件的大小与应用大小成正比的关系,也就是说,应用大小越大,则目标配置文件的大小越大。作为另一种实施方式,也可以是处于同一大小范围的应用大小,对应同样的目标大小,即可以获取同样大小的配置文件,并且较大的大小范围,对应的目标大小也越大,通过大小范围而区分需要推送的目标配置文件的大小,也可以使应用大小小于一定值时,推送的目标配置文件的大小也相应减少,避免存储空间的浪费。当然,具体根据应用大小获取至少一个配置文件的规则可以不作为限定,例如,也还可以是当应用大小小于第一阈值,则选取第一大小的一个或多个配置文件,作为目标配置文件,当应用大小小于第二阈值,则选取第二大小的一个或多个配置文件,且第一大小大于第二大小,第一阈值大于第二阈值,这样也可以使目标配置文件的大小与应用的应用大小相对应,且保证应用大小小于一定值时,推送的目标配置文件的大小相应减少,避免存储空间的浪费。
在一些实施方式中,目标应用的多个配置文件存储于服务器中,服务器可以直接根据应用大小,从多个配置文件中获取至少一个配置文件,作为目标配置文件。在另一些实施方式中,目标应用的多个配置文件存储于其他服务器中,接收到获取请求的服务器中可以存储有每个配置文件的标识,可以根据应用大小对应的至少一个配置文件的标识,从其他服务器获取应用大小对应的至少一个配置文件,作为目标配置文件。
步骤S130:将所述目标配置文件发送至所述终端设备,所述目标配置文件用于指示所述终端设备对所述目标配置文件中的热点代码进行预编译。
在本申请实施例中,接收到获取请求的服务器在获取到目标配置文件后,则可以将目标配置文件发送至推送至上述终端设备,以便发送获取请求的终端设备能够获取到目标配置文件。服务器发送至终端设备的目标配置文件,目标配置文件中包括有相应大小的热点代码,目标配置文件可以指示终端设备对其中的热点代码进行预编译,并将预编译得到的编译文件进行存储。编译文件中的文件为二进制的机器代码,因此当终端设备运行目标配置文件中的热点代码时,可以直接执行编译文件中的二进制的机器代码,提升运行目标应用的效率。另外,推送至终端设备的目标配置文件的大小是与应用大小相对应的,这样也避免了将目标应用的全部热点代码对应的配置文件进行推送,而导致避免推送的配置文件较大,但应用的应用大小较小时,所造成的终端设备的存储空间的浪费。
本申请实施例提供的配置文件的处理方法,服务器通过在接收到终端设备发送的获取请求时,获取目标应用的应用大小,该获取请求用于获取目标应用的热点代码,然后根据该应用大小,从目标应用对应的多个配置文件中确定与该应用大小对应的至少一个配置文件,作为目标配置文件,该多个配置文件预先根据目标应用的热点代码生成,且多个配置文件中每个配置文件的大小不同,将目标配置文件发送至终端设备,目标配置文件用于指示该终端设备对目标配置文件中的热点代码进行预编译。推送至终端设备的目标配置文件的大小是与应用大小相对应的,这样也避免了将目标应用的全部热点代码对应的配置文件进行推送,而导致避免推送的配置文件较大,但应用的应用大小较小时,终端设备在对配置文件中的所有热点代码进行编译后的编译文件进行存储后,所造成的终端设备的存储空间的浪费。
请参阅图4,图4示出了本申请另一个实施例提供的配置文件的处理方法的流程示意图。该配置文件的处理方法应用于上述配置文件的处理系统中的服务器。下面将针对图4所示的流程进行详细的阐述,所述配置文件的处理方法具体可以包括以下步骤:
步骤S210:在接收到终端设备发送的获取请求时,获取目标应用的应用大小,所述获取请求用于获取所述目标应用的热点代码。
在本申请实施例中,步骤S210可以参阅前述实施例的内容,在此不再赘述。
步骤S220:根据所述应用大小,确定待推送至所述终端设备的配置文件的目标大小。
在本申请实施例中,可以预先设定有应用大小与待推送的配置文件的目标大小的对应关系,服务器根据该对应关系,可以确定与应用大小相对应的目标大小。
步骤S230:从所述多个配置文件中选取所述目标大小的一个或多个配置文件,作为目标配置文件。
在本申请实施例中,目标配置文件可以为一个配置文件,也可以为多个配置文件的组合,也就是说,可以是选取一个大小为目标大小对应的大小的配置文件,也可以是选取大小总和为该目标大小的多个配置文件,在此不做限定。
在一些实施方式中,当与目标大小对应的配置文件为多个配置文件的组合时,步骤S230可以包括:当多个配置文件中存在多种目标组合时,获取每种组合中配置文件对应的热点代码的使用频率,目标组合中的配置文件的总大小与所述目标大小相等;从多个目标组合中确定指定组合,并将指定组合中的配置文件,作为目标配置文件,指定组合中配置文件对应的热点代码的使用频率大于其他组合中配置文件对应的热点代码的使用频率。其中,使用频率可以由服务器从其他安装有目标应用的终端设备获得。从而可以保证推送的配置文件的大小不仅与应用大小相对应,而且还保证了推送的配置文件能更符合用户的需求。
步骤S240:将所述目标配置文件发送至所述终端设备,所述目标配置文件用于指示所述终端设备对所述目标配置文件中的热点代码进行预编译。
本申请实施例提供的配置文件的处理方法,服务器通过在接收到终端设备发送的获取请求时,获取目标应用的应用大小,该获取请求用于获取目标应用的热点代码,然后根据该应用大小,确定待推送的配置文件的目标大小,然后从目标应用对应的多个配置文件中确定与该应用大小对应的一个或多个配置文件,作为目标配置文件,,将目标配置文件发送至终端设备,目标配置文件用于指示该终端设备对目标配置文件中的热点代码进行预编译。推送至终端设备的目标配置文件的大小是与应用大小相对应的,这样也避免了将目标应用的全部热点代码对应的配置文件进行推送,而导致避免推送的配置文件较大,但应用的应用大小较小时,终端设备在对配置文件中的所有热点代码进行编译后的编译文件进行存储后,所造成的终端设备的存储空间的浪费。另外,当与目标大小对应的配置文件为多个配置文件的组合时,从多种组合中确定配置文件的热点代码使用频率相对较高的组合,作为目标配置文件,可以保证推送的配置文件能更符合用户的需求。
请参阅图5,图5示出了本申请又一个实施例提供的配置文件的处理方法的流程示意图。该配置文件的处理方法应用于上述配置文件的处理系统中的服务器。下面将针对图5所示的流程进行详细的阐述,所述配置文件的处理方法具体可以包括以下步骤:
步骤S310:在接收到终端设备发送的获取请求时,获取目标应用的应用大小,所述获取请求用于获取所述目标应用的热点代码。
在本申请实施例中,步骤S310可以参阅前述实施例的内容,在此不再赘述。
步骤S320:确定所述应用大小所处的区间。
在本申请实施例中,服务器在根据目标应用的应用大小,从目标应用对应的多个配置文件中确定用于推送的目标配置文件时,可以根据应用大小所处的区间,确定目标配置文件。其中,区间指的是大小范围,例如,50兆(Mb)~100Mb。
步骤S330:从所述目标应用对应的多个配置文件中获取所述区间对应的至少一个配置文件,作为目标配置文件。
在本申请实施例中,处于同一区间的应用大小,对应同样的配置文件,且不同区间所对应的配置文件的大小不同。另外区间中应用大小较大的区间,对应的配置文件的大小也越大。通过应用大小所处的区间而区分需要推送的目标配置文件的大小,也可以使应用的应用大小小于一定值时,推送的目标配置文件的大小也相应减少,避免存储空间的浪费。
在一些实施方式中,目标应用的多个配置文件中每个配置文件中的热点代码的大小不同,服务器可以从多个配置文件中获取目标数量的配置文件,作为目标配置文件,目标数量与应用大小的区间对应。
进一步的,多个配置文件中与应用大小的区间对应的配置文件为多个配置文件的组合,且存在多种组合时,服务器还可以根据多种组合的配置文件中热点代码的使用频率,从多种组合中确定配置文件的热点代码使用频率相对较高的组合,作为目标配置文件,也就是说,选取出的组合中的热点代码的使用频率高于其他组合中的热点代码的使用频率。其中,使用频率可以由服务器从其他安装有目标应用的终端设备获得。从而可以保证推送的配置文件的大小不仅与应用大小的区间对应,而且还保证了推送的配置文件能更符合用户的需求。
在一些实施方式中,服务器从目标应用对应的多个配置文件中获取应用大小所处区间对应的至少一个配置文件,可以包括:
当所述应用大小处于第一区间时,从所述多个配置文件中获取第一配置文件以及第二配置文件,作为所述目标配置文件;当所述应用大小处于第二区间时,从所述多个配置文件中获取第三配置文件以及所述第一配置文件,作为所述目标配置文件,所述第二配置文件的大小大于所述第二配置文件的大小,所述第一区间中的最小的应用大小大于所述第二区间中的最大的应用大小;当所述应用大小处于第三区间时,从所述多个配置文件中获取所述第一配置文件,作为所述目标配置文件,其中,所述第二区间中的最小的应用大小大于所述第三区间中的最大的应用大小。
在该实施方式中,第一区间、第二区间以及第三区间是应用大小依次减小的范围,例如,第一区间可以为大于300Mb的范围,第二区间可以为100Mb~300Mb,第三区间可以为小于100Mb的范围。可以看出,第一区间、第二区间以及第三区间对应的目标配置文件中均包括有第一配置文件,而第一区间及第二区间对应的目标配置文件中还包括有其他配置文件(第二配置文件或者第三配置文件),由于第二区间中的应用大小小于第一区间中的应用大小,因此,第三配置文件的大小小于第二配置文件的大小,这样保证了第一区间、第二区间以及第三区间对应的目标配置文件的大小依次减小,在到目标配置文件推送至终端设备后,则可以体现出应用大小小于一定大小时,推送的配置文件的大小也相应减小,使得对于应用大小较低的应用,不会全部的热点代码被编译,也就不会导致编译后的编译文件进行存储后,所造成的终端设备的存储空间的浪费。
需要说明的是,不同区间对应的目标配置文件中可以包括相同的热点代码,也可以不包括相同的热点代码,即不同区间对应的目标配置文件中的热点代码互不相同。
步骤S340:将所述目标配置文件发送至所述终端设备,所述目标配置文件用于指示所述终端设备对所述目标配置文件中的热点代码进行预编译。
在本申请实施例中,接收到获取请求的服务器在获取到目标配置文件后,则可以将目标配置文件发送至推送至上述终端设备,以便发送获取请求的终端设备能够获取到目标配置文件,并对目标配置文件中的热点代码进行编译,将编译产生的编译文件进行存储。
在一些实施方式中,当目标配置文件中包括至少两个配置文件时,所述至少两个配置文件用于指示所述终端设备对所述至少两个配置文件中的热点代码进行分阶段的预编译;当目标配置文件中包括一个配置文件时,目标配置文件用于指示终端设备对所述目标配置文件中的热点代码进行一次性的预编译。可以理解的,当目标配置文件中包括至少两个配置文件,可能会导致编译时长较长,如果是安装应用时进行编译,则会导致安装时长较长,通过分阶段编译,则可以避免安装时长过长;如果是终端设备处于可进行编译的状态(空闲状态且处于充电状态)时,进行编译,对至少两个配置文件中的热点代码进行一次性的编译,则可能导致编译时长过长而未编译完时,终端设备就处于不满足可进行编译的状态,而使得编译失败,下次再等到满足可进行编译的状态时,又重新对至少两个配置文件中的热点代码进行编译,通过分阶段编译,则可以很好的解决该问题。
在一些实施方式中,获取请求还可以用于获取目标应用的安装包,也就是说,该获取请求用于同时获取目标应用的安装包以及热点代码。服务器还可以将安装包发送至终端设备。当目标配置文件中包括至少两个配置文件时,则可以在根据安装包安装目标应用时,对其中一个配置文件的热点代码进行编译,而其他的配置文件的热点代码则在安装完成后,终端设备处于可进行编译的状态时,再进行编译。
作为一种具体的实施方式,在以上的服务器根据应用大小所处区间处于第一区间、第二区间或者第三区间,确定目标配置文件的方式中,第一配置文件中的热点代码至少包括启动代码,且第二配置文件的大小大于第一配置文件的大小。该配置文件的处理方法还可以包括:将目标应用的安装包发送至终端设备。在该实施方式下,第一配置文件用于指示终端设备在根据安装包对目标应用进行安装的同时,对第一配置文件中的启动代码进行预编译;第二配置文件以及第三配置文件用于指示终端设备在对目标应用安装完成后,对第二配置文件或者第三配置文件中的热点代码进行预编译。通过该方式,终端设备可以在下载应用时,服务器同时将安装包以及目标配置文件进行推送,并且启动代码在应用安装时进行编译,而其余的配置文件中的热点代码在安装后进行编译,可以有效避免推送的目标配置文件中的全部热点代码在安装时进行编译,而导致安装时长较长的问题。
本申请实施例提供的配置文件的处理方法,服务器通过在接收到终端设备发送的获取请求时,获取目标应用的应用大小,该获取请求用于获取目标应用的热点代码,然后根据该应用大小,确定应用大小所处的区间,确定目标应用对应的多个配置文件中与该区间对应的至少一个配置文件,作为目标配置文件,该多个配置文件预先根据目标应用的热点代码生成,且多个配置文件中每个配置文件的大小不同,将目标配置文件发送至终端设备,目标配置文件用于指示该终端设备对目标配置文件中的热点代码进行预编译。推送至终端设备的目标配置文件的大小是与应用大小相对应的,这样也避免了将目标应用的全部热点代码对应的配置文件进行推送,而导致避免推送的配置文件较大,但应用的应用大小较小时,终端设备在对配置文件中的所有热点代码进行编译后的编译文件进行存储后,所造成的终端设备的存储空间的浪费。
请参阅图6,图6示出了本申请再一个实施例提供的配置文件的处理方法的流程示意图。该配置文件的处理方法应用于上述配置文件的处理系统中的服务器。下面将针对图6所示的流程进行详细的阐述,所述配置文件的处理方法具体可以包括以下步骤:
步骤S410:获取所述目标应用的热点代码。
在本申请实施例中,还提供了预先根据目标应用的热点代码生成多个配置文件的方式。首先,服务器可以获取目标应用的热点代码。
在一些实施方式中,服务器可以接收其他终端发送的目标应用的配置文件,并将配置文件进行存储。可以理解的,服务器可以从其他终端搜集目标应用的配置文件,并将目标应用的配置文件进行存储。具体的,服务器可以对从多个终端设备的配置文件进行整合,获得整合后的配置文件,以便后续进行推送时,推送的配置文件中的热点代码更加准确。其中,该服务器可以为用于处理上述获取请求的服务器,也可以为用于存储配置文件的其他服务器,在此不做限定。服务器获得目标应用的配置文件之后,可以从配置文件中获取目标应用的热点代码。
步骤S420:根据所述热点代码中热点代码的功能,生成多个配置文件,每个配置文件中热点代码实现的功能的数量不同,且每个配置文件中的热点代码的大小不同。
在本申请实施例中,服务器可以根据热点代码中热点代码的功能,生成多个配置文件,每个配置文件中热点代码实现的功能的数量不同,且每个配置文件中的热点代码的大小不同。如此,可以使得后续从多个配置文件中确定目标配置文件时,能依据热点代码实现的功能进行确定,以贴合用户的需求。
在一些实施方式中,服务器根据所述热点代码中热点代码的功能,生成多个配置文件,可以包括:根据所述热点代码中热点代码的功能,从所述热点代码中分离出多个热点代码,每个热点代码的功能不同;从所述多个热点代码中,获取第一部分的热点代码、第二部分的热点代码以及第三部分的热点代码,其中,所述第一部分的热点代码包括用于实现启动功能的热点代码,所述第一部分的热点代码包括用于实现启动功能的热点代码,所述第二部分的热点代码中热点代码的数量多于所述第三部分的热点代码中热点代码的数量,且第二部分的热点代码的大小大于所述第三部分的热点代码大小;分别根据所述第一部分的热点代码、第二部分的热点代码以及第三部分的热点代码,生成配置文件。
在该实施方式中,服务器分别根据第一部分的热点代码、第二部分的热点代码以及第三部分的热点代码,生成配置文件,可以获得三个配置文件,并且,其中一个配置文件包括第一部分的热点代码,一个配置文件包括第二部分的热点代码,一个配置文件包括第三部分的热点代码,由于启动代码用于实现启动功能,其大小通常小于用于实现其他功能的热点代码,因此第二部分的热点代码以及第三部分的热点代码的大小可以大于第一部分的热点代码的大小,而第二部分的热点代码的大小大于第三部分的热点代码大小,从而使得生成的三个配置文件的大小互不相同,也就是说,第二部分的热点代码对应的配置文件的大小、第三部分的热点代码对应的配置文件的大小以及第一部分的热点代码对应的配置文件的大小,为依次递减。
另外,由于第二部分的热点代码中热点代码的数量多于第三部分的热点代码中热点代码的数量,这样使得第二部分的热点代码中热点代码可实现的功能多余第三部分的热点代码中热点代码实现的功能。这样可以使得在进行推送时,不仅能根据应用大小选取不同大小的配置文件,还能实现推送实现的功能的数量不同的热点代码对应的配置文件。
在一种具体实施方式中,上述第二部分的热点代码以及第三部分的热点代码中可以均不包括第一部分的热点代码,第二部分的热点代码可以包括第三部分的热点代码。例如,第二部分的热点代码可以用于实现目标应用的大多数功能(启动功能除外),第三部分的热点代码可以用于实现目标应用的基本功能。该方式下,通过按照热点代码的功能,生成的多个大小不同的配置文件,可以使得服务器在确定目标配置文件时,能根据目标应用的应用大小,推送不同大小的配置文件。
步骤S430:在接收到终端设备发送的获取请求时,获取目标应用的应用大小,所述获取请求用于获取所述目标应用的热点代码。
在本申请实施例中,步骤S430可以参阅前述实施例的内容,在此不再赘述。
步骤S440:从所述目标应用的多个配置文件中确定与所述应用大小对应的至少一个配置文件,作为目标配置文件,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同。
在本申请实施例中,不同的配置文件的热点代码实现的功能的数量也不同,使得服务器在推送不同大小的配置文件时,其推送的配置文件中热点代码实现的功能的数量也能与大小相对应,也就是说,配置文件的大小越大,配置文件中热点代码实现的功能的数量也越多。
在一些实施方式中,服务器在根据目标应用的应用大小,确定目标应用对应的多个配置文件中的至少一个配置文件时,如果目标应用的多个配置文件是根据上述实施方式中的第一部分的热点代码、第二部分的热点代码以及第三部分的热点代码生成时,则服务器可以从三个配置文件中选取一个或至少两个配置文件,作为目标配置文件。
作为一种实施方式,该实施方式可以与前个实施例的实施方式结合,其中,前个实施例中的实施方式为:目标应用的应用大小处于第一区间时,目标配置文件为第一配置文件以及第二配置文件;目标应用的应用大小处于第二区间时,目标配置文件为第一配置文件以及第三配置文件;目标应用的应用大小处于第三区间时,目标配置文件为第一配置文件。并且第一配置文件可以为以上第一部分的热点代码对应的配置文件,第二配置文件可以为以上第二部分的热点代码对应的配置文件,第三配置文件为以上第三部分的热点代码对应的配置文件。
示例性的,应用大小大于300Mb时(即应用大小处于一区间),服务器可以推送启动代码对应的配置文件以及大部分功能的热点代码对应的配置文件;应用大小处于100Mb~300Mb时(即应用大小处于二区间),服务器可以推送启动代码对应的配置文件以及大部分功能的热点代码对应的配置文件;应用大小小于100Mb时(即应用大小处于三区间),服务器可以推送启动代码对应的配置文件以及基本功能的热点代码对应的配置文件。
步骤S450:将所述目标配置文件发送至所述终端设备,所述目标配置文件用于指示所述终端设备对所述目标配置文件中的热点代码进行预编译。
在本申请实施例中,步骤S450可以参阅前述实施例的内容,在此不再赘述。
本申请实施例提供的配置文件的处理方法,通过获取目标应用的热点代码,根据目标应用的热点代码中的功能,生成多个配置文件,并且不同配置文件中热点代码的功能和大小不同。从而服务器能根据目标应用的应用大小,向终端设备推送不同大小的配置文件,避免了将目标应用的全部热点代码对应的配置文件进行推送,而导致避免推送的配置文件较大,但应用的应用大小较小时,终端设备在对配置文件中的所有热点代码进行编译后的编译文件进行存储后,所造成的终端设备的存储空间的浪费。并且推送的配置文件中热点代码实现的功能的数量也能与大小相对应,也就是说,配置文件的大小越大,配置文件中热点代码实现的功能的数量也越多,能满足用户的需求,提升用户体验。
请参阅图7,图7示出了本申请又另一个实施例提供的配置文件的处理方法的流程示意图。该配置文件的处理方法应用于上述配置文件的处理系统中的终端设备,下面将针对图7所示的流程进行详细的阐述,所述配置文件的处理方法具体可以包括以下步骤:
步骤S510:发送获取请求至服务器,所述获取请求用于获取目标应用的热点代码。
步骤S520:接收所述服务器下发的目标配置文件,所述目标配置文件由所述服务器根据所述目标应用的应用大小,从所述目标应用对应的多个配置文件中确定,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同。
在本申请实施例中,步骤S510以及步骤S520与前述实施例中服务器与终端设备进行交互的内容相对应,在此不再赘述。
步骤S530:对所述目标配置文件中的热点代码进行预编译,并将预编译后得到的编译文件进行存储。
在本申请实施例中,在接收到服务器推送的目标配置文件之后,目标配置文件中包括有相应大小的热点代码,终端设备可以对其中的热点代码进行预编译,并将预编译得到的编译文件进行存储。编译文件中的文件为二进制的机器代码,因此当终端设备运行目标配置文件中的热点代码时,可以直接执行编译文件中的二进制的机器代码,提升运行目标应用的效率。另外,终端设备获得的目标配置文件的大小是与应用大小相对应的,这样也避免了将目标应用的全部热点代码对应的配置文件进行推送,而导致避免推送的配置文件较大,但应用的应用大小较小时,终端设备在对配置文件中的所有热点代码进行编译后的编译文件进行存储后,所造成的终端设备的存储空间的浪费。
请参阅图8,图8示出了本申请又再一个实施例提供的配置文件的处理方法的流程示意图。该配置文件的处理方法应用于上述配置文件的处理系统中的终端设备,下面将针对图8所示的流程进行详细的阐述,所述配置文件的处理方法具体可以包括以下步骤:
步骤S610:发送获取请求至服务器,所述获取请求用于获取目标应用的热点代码。
步骤S620:接收所述服务器下发的目标配置文件,所述目标配置文件由所述服务器根据所述目标应用的应用大小,从所述目标应用对应的多个配置文件中确定,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同。
在本申请实施例中,步骤S610以及步骤S620可以参阅前述实施例的内容,在此不再赘述。
步骤S630:当所述目标配置文件中包括至少两个配置文件时,分阶段对所述至少两个配置文件中的热点代码进行预编译,并将预编译后得到的编译文件进行存储。
在本申请实施例中,服务器向终端设备推送的目标配置文件中可能包括至少两个配置文件,因此,当目标配置文件中包括至少两个配置文件,可能会导致编译时长较长,如果是安装应用时进行编译,则会导致安装时长较长,通过分阶段编译,则可以避免安装时长过长;如果是终端设备处于可进行编译的状态(空闲状态且处于充电状态)时,进行编译,对至少两个配置文件中的热点代码进行一次性的编译,则可能导致编译时长过长而未编译完时,终端设备就处于不满足可进行编译的状态,而使得编译失败,下次再等到满足可进行编译的状态时,又重新对至少两个配置文件中的热点代码进行编译,通过分阶段编译,则可以很好的解决该问题。
在一些实施方式中,获取请求还用于获取目标应用的安装包,服务器还可以将安装包发送至终端设备,相应的,终端设备还可以接收服务器发送的目标应用的安装包。当目标配置文件中包括至少两个配置文件时,则可以在根据安装包安装目标应用时,对其中一个配置文件的热点代码进行编译,而其他的配置文件的热点代码则在安装完成后,终端设备处于可进行编译的状态时,再进行编译。
作为一种具体的实施方式,目标配置文件包括第一目标配置文件以及第二目标配置文件。第一目标配置文件中的热点代码包括启动代码,且第二目标配置文件的大小大于第一目标配置文件的大小,此时,终端设备分阶段对至少两个配置文件中的热点代码进行预编译,可以包括:在根据安装包对目标应用进行安装的同时,对第一目标配置文件中的启动代码进行预编译;在对目标应用安装完成后,对第二目标配置文件中的热点代码进行预编译。从而可以使得终端设备在下载应用后,对应用安装时,可以仅对启动代码进行编译,而其他的热点代码则在编译完成后,进行编译,可以有效避免推送的目标配置文件中的全部热点代码在安装时进行编译,而导致安装时长较长的问题。
进一步地,在对所述目标应用安装完成后,当所述终端设备满足指定状态时,对所述第二目标配置文件中的热点代码进行预编译。其中,指定状态可以指终端设备可以对热点代码进行预编译的状态,指定状态可以为终端设备处于空闲且充电的状态,例如,终端设备充电状态下,熄屏一定时间后,则可以满足指定状态。
步骤S640:当所述目标配置文件中包括一个配置文件时,对所述目标配置文件中的热点代码进行一次性的预编译,并将预编译后得到的编译文件进行存储。
在本申请实施例中,当服务器推送的目标配置文件中仅包括一个配置文件时,则终端设备可以一次性的对该配置文件中的热点代码进行预编译。例如,如果终端设备是在下载目标应用时获得目标配置文件,则可以在安装目标应用时对该配置文件中的启动代码进行预编译,并将编译产生的编译文件进行存储。
本申请实施例提供的配置文件的处理方法,通过向服务器发送获取热点代码的请求,然后接收服务器返回的目标配置文件,当目标配置文件中包括至少两个配置文件时,则可以对至少两个配置文件中的热点代码进行分阶段的预编译,可以有效避免安装时长较长的问题或者编译失败而导致的多次编译的问题。
请参阅图9,其示出了本申请一个实施例提供的一种配置文件的处理装置400的结构框图。该配置文件的处理装置400应用上述配置文件的处理中的服务器。该配置文件的处理装置400包括:请求接收模块410、文件获取模块420以及文件发送模块430。其中,所述请求接收模块410用于在接收到终端设备发送的获取请求时,获取目标应用的应用大小,所述获取请求用于获取所述目标应用的热点代码;所述文件获取模块420用于从所述目标应用的多个配置文件中确定与所述应用大小对应的至少一个配置文件,作为目标配置文件,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;所述文件发送模块430用于将所述目标配置文件发送至所述终端设备,所述目标配置文件用于指示所述终端设备对所述目标配置文件中的热点代码进行预编译。
在一些实施方式中,当所述目标配置文件中包括至少两个配置文件时,所述至少两个配置文件用于指示所述终端设备对所述至少两个配置文件中的热点代码进行分阶段的预编译;当所述目标配置文件中包括一个配置文件时,所述目标配置文件用于指示所述终端设备对所述目标配置文件中的热点代码进行一次性的预编译。
在一些实施方式中,所述目标应用的多个配置文件中每个配置文件中热点代码实现的功能不同。该实施方式下,文件获取模块420可以包括:大小确定单元,用于根据所述应用大小,确定待推送至所述终端设备的配置文件的目标大小;配置文件获取单元,用于从所述多个配置文件中选取所述目标大小的一个或多个配置文件,作为目标配置文件。
进一步的,配置文件获取单元可以具体用于:当所述多个配置文件中存在多种目标组合时,获取每种组合中配置文件对应的热点代码的使用频率,所述目标组合中的配置文件的总大小与所述目标大小相等;从所述多个目标组合中确定指定组合,并将所述指定组合中的配置文件,作为目标配置文件,所述指定组合中配置文件对应的热点代码的使用频率大于其他组合中配置文件对应的热点代码的使用频率。
在一些实施方式中,文件获取模块420可以包括:第一获取单元,用于当所述应用大小处于第一区间时,从所述多个配置文件中获取第一配置文件以及第二配置文件,作为所述目标配置文件;第二获取单元,用于当所述应用大小处于第二区间时,从所述多个配置文件中获取第三配置文件以及所述第一配置文件,作为所述目标配置文件,所述第二配置文件的大小大于所述第二配置文件的大小,所述第一区间中的最小的应用大小大于所述第二区间中的最大的应用大小。
在该实施方式下,文件获取模块420还可以包括第三获取单元,用于当所述应用大小处于第三区间时,从所述多个配置文件中获取所述第一配置文件,作为所述目标配置文件,其中,所述第二区间中的最小的应用大小大于所述第三区间中的最大的应用大小。
进一步的,所述获取请求还用于获取所述目标应用的安装包,所述第一配置文件中的热点代码至少包括启动代码,且所述第二配置文件的大小大于所述第一配置文件的大小。文件发送模块430还可以用于将所述目标应用的安装包发送至所述终端设备。此时,所述第一配置文件用于指示所述终端设备在根据所述安装包对所述目标应用进行安装的同时,对所述第一配置文件中的启动代码进行预编译;所述第二配置文件以及所述第三配置文件用于指示所述终端设备在对所述目标应用安装完成后,对所述第二配置文件或者所述第三配置文件中的热点代码进行预编译。
在一些实施方式中,该配置文件的处理装置400还可以包括:代码获取模块以及文件生成模块。代码获取模块用于获取所述目标应用的热点代码;文件生成模块用于根据所述热点代码中热点代码的功能,生成多个配置文件,每个配置文件中热点代码实现的功能的数量不同,且每个配置文件中的热点代码的大小不同。
进一步的,代码获取模块可以包括:代码分离单元,用于根据所述热点代码中热点代码的功能,从所述热点代码中分离出多个热点代码,每个热点代码的功能不同;代码确定单元,用于以及第三部分的热点代码,其中,所述第一部分的热点代码包括用于实现启动功能的热点代码,所述第一部分的热点代码包括用于实现启动功能的热点代码,所述第二部分的热点代码中热点代码的数量多于所述第三部分的热点代码中热点代码的数量,且第二部分的热点代码的大小大于所述第三部分的热点代码大小;生成执行单元,用于分别根据所述第一部分的热点代码、第二部分的热点代码以及第三部分的热点代码,生成配置文件。
请参阅图10,其示出了本申请另一个实施例提供的一种配置文件的处理装置500的结构框图。该配置文件的处理装置500应用上述配置文件的处理中的终端设备。该配置文件的处理装置500包括:请求发送模块510、文件接收模块520以及代码编译模块530。其中,所述请求发送模块510用于发送获取请求至服务器,所述获取请求用于获取目标应用的热点代码;所述文件接收模块520用于接收所述服务器下发的目标配置文件,所述目标配置文件由所述服务器根据所述目标应用的应用大小,从所述目标应用对应的多个配置文件中确定,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;所述代码编译模块530用于对所述目标配置文件中的热点代码进行预编译,并将预编译后得到的编译文件进行存储。
在一些实施方式中,代码编译模块530可以包括:第一编译单元,用于当所述目标配置文件中包括至少两个配置文件时,分阶段对所述至少两个配置文件中的热点代码进行预编译;第二编译单元,用于当所述目标配置文件中包括一个配置文件时,对所述目标配置文件中的热点代码进行一次性的预编译。
在一些实施方式中,所述获取请求还用于获取所述目标应用的安装包,所述目标配置文件包括第一目标配置文件以及第二目标配置文件,所述第一目标配置文件中的热点代码至少包括启动代码,且所述第二目标配置文件的大小大于所述第一目标配置文件的大小。
在该实施方式下,配置文件的处理装置500还可以包括:安装包接收模块,用于接收所述服务器发送的所述目标应用的安装包。代码编译模块430可以包括:第三编译单元,用于在根据所述安装包对所述目标应用进行安装的同时,对所述第一目标配置文件中的启动代码进行预编译;第四编译单元,用于在对所述目标应用安装完成后,对所述第二目标配置文件中的热点代码进行预编译。
进一步的,第四编译单元可以具体用于:在对所述目标应用安装完成后,当所述终端设备满足指定状态时,对所述第二目标配置文件中的热点代码进行预编译。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请实施例还提供了一种配置文件的处理系统,该配置文件的处理系统包括终端设备以及服务器。所述服务器与所述终端设备通信连接,例如,请再次参阅图1,服务器可以为第一服务器200。其中,所述终端设备用于发送获取请求至服务器,所述获取请求用于获取目标应用的热点代码;所述服务器用于接收所述服务器下发的目标配置文件,所述目标配置文件由所述服务器根据所述目标应用的应用大小,从所述目标应用对应的多个配置文件中确定,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;所述服务器还用于将所述目标配置文件发送至所述终端设备;所述终端设备还用于接收所述目标配置文件,对所述目标配置文件中的热点代码进行预编译,并将预编译后得到的编译文件进行存储。
综上所述,本申请提供的方案,服务器通过在接收到终端设备发送的获取请求时,获取目标应用的应用大小,该获取请求用于获取目标应用的热点代码,然后根据该应用大小,从目标应用对应的多个配置文件中确定与该应用大小对应的至少一个配置文件,作为目标配置文件,该多个配置文件预先根据目标应用的热点代码生成,且多个配置文件中每个配置文件的大小不同,将目标配置文件发送至终端设备,目标配置文件用于指示该终端设备对目标配置文件中的热点代码进行预编译。从而可以实现服务器在向终端设备推送应用的配置文件时,推送的配置文件的大小由应用的应用大小确定,避免如果推送全部的热点代码对应的配置文件至终端设备,而应用的应用大小较小时,终端设备对全部热点代码进行编译后的文件会造成存储空间的浪费。
请参考图11,其示出了本申请实施例提供的一种终端设备的结构框图。该终端设备100可以是智能手机、平板电脑、智能手表等能够运行应用程序的电子设备。本申请中的终端设备100可以包括一个或多个如下部件:处理器110、存储器120、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个终端设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行终端设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图12,其示出了本申请实施例提供的一种服务器的结构框图。该服务器600可以是传统服务器、云服务器等。本申请中的服务器600可以包括一个或多个如下部件:处理器610、存储器620、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器620中并被配置为由一个或多个处理器610执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器610可以包括一个或者多个处理核。处理器610利用各种接口和线路连接整个服务器600内的各个部分,通过运行或执行存储在存储器620内的指令、程序、代码集或指令集,以及调用存储在存储器620内的数据,执行服务器600的各种功能和处理数据。可选地,处理器610可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器610可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器610中,单独通过一块通信芯片进行实现。
存储器620可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器620可用于存储指令、程序、代码、代码集或指令集。存储器620可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储服务器600在使用中所创建的数据等。
请参考图13,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (19)
1.一种配置文件的处理方法,其特征在于,应用于服务器,所述方法包括:
在接收到终端设备发送的获取请求时,获取目标应用的应用大小,所述获取请求用于获取所述目标应用的热点代码;
从所述目标应用的多个配置文件中确定与所述应用大小对应的至少一个配置文件,作为目标配置文件,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;
将所述目标配置文件发送至所述终端设备,所述目标配置文件用于指示所述终端设备对所述目标配置文件中的热点代码进行预编译。
2.根据权利要求1所述的方法,其特征在于,当所述目标配置文件中至少包括两个配置文件时,所述至少两个配置文件用于指示所述终端设备对所述至少两个配置文件中的热点代码进行分阶段的预编译;
当所述目标配置文件中包括一个配置文件时,所述目标配置文件用于指示所述终端设备对所述目标配置文件中的热点代码进行一次性的预编译。
3.根据权利要求1所述的方法,其特征在于,所述从所述目标应用的多个配置文件中确定与所述应用大小对应的至少一个配置文件,作为目标配置文件,包括:
根据所述应用大小,确定待推送至所述终端设备的配置文件的目标大小;
从所述多个配置文件中选取所述目标大小的一个或多个配置文件,作为目标配置文件。
4.根据权利要求3所述的方法,其特征在于,所述从所述多个配置文件中选取所述目标大小的一个或多个配置文件,作为目标配置文件,包括:
当所述多个配置文件中存在多种目标组合时,获取每种组合中配置文件对应的热点代码的使用频率,所述目标组合中的配置文件的总大小与所述目标大小相等;
从所述多个目标组合中确定指定组合,并将所述指定组合中的配置文件,作为目标配置文件,所述指定组合中配置文件对应的热点代码的使用频率大于其他组合中配置文件对应的热点代码的使用频率。
5.根据权利要求1所述的方法,其特征在于,所述从所述目标应用的多个配置文件中确定与所述应用大小对应的至少一个配置文件,作为目标配置文件,包括:
当所述应用大小处于第一区间时,从所述多个配置文件中获取第一配置文件以及第二配置文件,作为所述目标配置文件;
当所述应用大小处于第二区间时,从所述多个配置文件中获取第三配置文件以及所述第一配置文件,作为所述目标配置文件,所述第二配置文件的大小大于所述第二配置文件的大小,所述第一区间中的最小的应用大小大于所述第二区间中的最大的应用大小。
6.根据权利要求5所述的方法,其特征在于,所述从所述目标应用的多个配置文件中确定与所述应用大小对应的至少一个配置文件,作为目标配置文件,还包括:
当所述应用大小处于第三区间时,从所述多个配置文件中获取所述第一配置文件,作为所述目标配置文件,其中,所述第二区间中的最小的应用大小大于所述第三区间中的最大的应用大小。
7.根据权利要求6所述的方法,其特征在于,所述获取请求还用于获取所述目标应用的安装包,所述第一配置文件中的热点代码至少包括启动代码,且所述第二配置文件的大小大于所述第一配置文件的大小,所述方法还包括:
将所述目标应用的安装包发送至所述终端设备,所述第一配置文件用于指示所述终端设备在根据所述安装包对所述目标应用进行安装的同时,对所述第一配置文件中的启动代码进行预编译;
所述第二配置文件以及所述第三配置文件用于指示所述终端设备在对所述目标应用安装完成后,对所述第二配置文件或者所述第三配置文件中的热点代码进行预编译。
8.根据权利要求1所述的方法,其特征在于,在所述从所述目标应用的多个配置文件中确定与所述应用大小对应的一个或多个配置文件,作为目标配置文件之前,所述方法还包括:
获取所述目标应用的热点代码;
根据所述热点代码中热点代码的功能,生成多个配置文件,每个配置文件中热点代码实现的功能的数量不同,且每个配置文件中的热点代码的大小不同。
9.根据权利要求3所述的方法,其特征在于,所述根据所述热点代码中热点代码的功能,生成多个配置文件,包括:
根据所述热点代码中热点代码的功能,从所述热点代码中分离出多个热点代码,每个热点代码的功能不同;
从所述多个热点代码中,获取第一部分的热点代码、第二部分的热点代码以及第三部分的热点代码,其中,所述第一部分的热点代码包括用于实现启动功能的热点代码,所述第二部分的热点代码中热点代码的数量多于所述第三部分的热点代码中热点代码的数量,且第二部分的热点代码的大小大于所述第三部分的热点代码大小;
分别根据所述第一部分的热点代码、第二部分的热点代码以及第三部分的热点代码,生成配置文件。
10.一种配置文件的处理方法,其特征在于,应用于终端设备,所述方法包括:
发送获取请求至服务器,所述获取请求用于获取目标应用的热点代码;
接收所述服务器下发的目标配置文件,所述目标配置文件由所述服务器根据所述目标应用的应用大小,从所述目标应用对应的多个配置文件中确定,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;
对所述目标配置文件中的热点代码进行预编译,并将预编译后得到的编译文件进行存储。
11.根据权利要求10所述的方法,其特征在于,所述对所述目标配置文件中的热点代码进行预编译,包括:
当所述目标配置文件中包括至少两个配置文件时,分阶段对所述至少两个配置文件中的热点代码进行预编译;
当所述目标配置文件中包括一个配置文件时,对所述目标配置文件中的热点代码进行一次性的预编译。
12.根据权利要求11所述的方法,其特征在于,所述获取请求还用于获取所述目标应用的安装包,所述目标配置文件包括第一目标配置文件以及第二目标配置文件,所述第一目标配置文件中的热点代码至少包括启动代码,且所述第二目标配置文件的大小大于所述第一目标配置文件的大小;
所述方法还包括:
接收所述服务器发送的所述目标应用的安装包;
所述分阶段对所述至少两个配置文件中的热点代码进行预编译,包括:
在根据所述安装包对所述目标应用进行安装的同时,对所述第一目标配置文件中的启动代码进行预编译;
在对所述目标应用安装完成后,对所述第二目标配置文件中的热点代码进行预编译。
13.根据权利要求12所述的方法,其特征在于,所述在对所述目标应用安装完成后,对所述第二目标配置文件中的热点代码进行预编译,包括:
在对所述目标应用安装完成后,当所述终端设备满足指定状态时,对所述第二目标配置文件中的热点代码进行预编译。
14.一种配置文件的处理装置,其特征在于,应用于服务器,所述装置包括:请求接收模块、文件获取模块以及文件发送模块,其中,
所述请求接收模块用于在接收到终端设备发送的获取请求时,获取目标应用的应用大小,所述获取请求用于获取所述目标应用的热点代码;
所述文件获取模块用于从所述目标应用的多个配置文件中确定与所述应用大小对应的至少一个配置文件,作为目标配置文件,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;
所述文件发送模块用于将所述目标配置文件发送至所述终端设备,所述目标配置文件用于指示所述终端设备对所述目标配置文件中的热点代码进行预编译。
15.一种配置文件的处理装置,其特征在于,应用于终端设备,所述装置包括:请求发送模块、文件接收模块以及代码编译模块,其中,
所述请求发送模块用于发送获取请求至服务器,所述获取请求用于获取目标应用的热点代码;
所述文件接收模块用于接收所述服务器下发的目标配置文件,所述目标配置文件由所述服务器根据所述目标应用的应用大小,从所述目标应用对应的多个配置文件中确定,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;
所述代码编译模块用于对所述目标配置文件中的热点代码进行预编译,并将预编译后得到的编译文件进行存储。
16.一种配置文件的处理系统,其特征在于,所述系统包括服务器以及终端设备,所述服务器与所述终端设备通信连接,其中,
所述终端设备用于发送获取请求至服务器,所述获取请求用于获取目标应用的热点代码;
所述服务器用于接收所述服务器下发的目标配置文件,所述目标配置文件由所述服务器根据所述目标应用的应用大小,从所述目标应用对应的多个配置文件中确定,所述多个配置文件预先根据所述目标应用的热点代码生成,所述多个配置文件中每个配置文件的大小不同;
所述服务器还用于将所述目标配置文件发送至所述终端设备;
所述终端设备还用于接收所述目标配置文件,对所述目标配置文件中的热点代码进行预编译,并将预编译后得到的编译文件进行存储。
17.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-9任一项所述的方法。
18.一种终端设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求10-13任一项所述的方法。
19.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-9任一项所述的方法、或者执行如权利要求10-13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310927.4A CN111078318B (zh) | 2019-12-18 | 2019-12-18 | 配置文件的处理方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310927.4A CN111078318B (zh) | 2019-12-18 | 2019-12-18 | 配置文件的处理方法、装置、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078318A true CN111078318A (zh) | 2020-04-28 |
CN111078318B CN111078318B (zh) | 2023-06-13 |
Family
ID=70315699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911310927.4A Active CN111078318B (zh) | 2019-12-18 | 2019-12-18 | 配置文件的处理方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078318B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111770116A (zh) * | 2020-08-31 | 2020-10-13 | 支付宝(杭州)信息技术有限公司 | 一种执行智能合约的方法、区块链节点、存储介质 |
CN112068851A (zh) * | 2020-09-14 | 2020-12-11 | 上海商米科技集团股份有限公司 | 动态配置和运行电子设备的系统rom文件的方法及设备 |
CN112068895A (zh) * | 2020-08-10 | 2020-12-11 | 深圳市鼎盛光电有限公司 | 代码配置方法、装置、视频播放设备及存储介质 |
CN112540769A (zh) * | 2020-12-29 | 2021-03-23 | Oppo广东移动通信有限公司 | 编译处理方法、装置、电子设备以及存储介质 |
CN112559088A (zh) * | 2020-12-29 | 2021-03-26 | Oppo广东移动通信有限公司 | 配置文件的优化方法、装置、服务器以及存储介质 |
WO2021129339A1 (zh) * | 2019-12-24 | 2021-07-01 | Oppo广东移动通信有限公司 | 配置文件处理方法、装置、电子设备及存储介质 |
CN111770204B (zh) * | 2020-08-31 | 2021-10-22 | 支付宝(杭州)信息技术有限公司 | 一种执行智能合约的方法、区块链节点和存储介质 |
CN113568634A (zh) * | 2021-06-28 | 2021-10-29 | 荣耀终端有限公司 | 应用优化的处理方法及处理装置 |
EP3961975A1 (en) * | 2020-08-31 | 2022-03-02 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods, blockchain nodes, and storage media for executing smart contract |
US11327732B2 (en) | 2020-08-31 | 2022-05-10 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method for executing smart contract, blockchain node, and storage medium |
US11379830B2 (en) | 2020-08-31 | 2022-07-05 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method for executing smart contract, blockchain node, and storage medium |
US11385917B2 (en) | 2020-08-31 | 2022-07-12 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method for executing smart contract and blockchain node |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050204349A1 (en) * | 2004-03-11 | 2005-09-15 | Lewis Brian T. | Dynamic management of compiled code |
US20080120595A1 (en) * | 2006-11-17 | 2008-05-22 | O'farrell Bill | System and method for hot code replace |
US20100115247A1 (en) * | 2008-10-31 | 2010-05-06 | Pedro Lopez | Replacement policy for hot code detection |
CN105446753A (zh) * | 2014-07-02 | 2016-03-30 | 北大方正集团有限公司 | 配置文件的处理方法及装置 |
CN105843664A (zh) * | 2016-04-20 | 2016-08-10 | 中国工程物理研究院计算机应用研究所 | 一种动态二进制翻译中基于代码热度的翻译缓存管理方法 |
CN106559789A (zh) * | 2016-11-15 | 2017-04-05 | 努比亚技术有限公司 | 热点共享装置、方法及系统 |
CN106612188A (zh) * | 2015-10-21 | 2017-05-03 | 中兴通讯股份有限公司 | 一种基于微服务架构扩展软件功能的方法及装置 |
CN106775893A (zh) * | 2016-12-30 | 2017-05-31 | 北京小米移动软件有限公司 | 对程序预编译的方法及装置 |
WO2017206302A1 (zh) * | 2016-05-31 | 2017-12-07 | 中兴通讯股份有限公司 | 一种应用程序的运行方法和运行装置 |
CN109710396A (zh) * | 2017-10-26 | 2019-05-03 | 华为技术有限公司 | 一种信息采集及内存释放的方法及装置 |
CN109857681A (zh) * | 2017-11-30 | 2019-06-07 | 华为技术有限公司 | 高速缓存cache地址映射方法以及相关设备 |
CN110543338A (zh) * | 2019-09-09 | 2019-12-06 | 北京安云世纪科技有限公司 | 一种文件的动态加载方法及装置 |
-
2019
- 2019-12-18 CN CN201911310927.4A patent/CN111078318B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050204349A1 (en) * | 2004-03-11 | 2005-09-15 | Lewis Brian T. | Dynamic management of compiled code |
US20080120595A1 (en) * | 2006-11-17 | 2008-05-22 | O'farrell Bill | System and method for hot code replace |
US20100115247A1 (en) * | 2008-10-31 | 2010-05-06 | Pedro Lopez | Replacement policy for hot code detection |
CN105446753A (zh) * | 2014-07-02 | 2016-03-30 | 北大方正集团有限公司 | 配置文件的处理方法及装置 |
CN106612188A (zh) * | 2015-10-21 | 2017-05-03 | 中兴通讯股份有限公司 | 一种基于微服务架构扩展软件功能的方法及装置 |
CN105843664A (zh) * | 2016-04-20 | 2016-08-10 | 中国工程物理研究院计算机应用研究所 | 一种动态二进制翻译中基于代码热度的翻译缓存管理方法 |
WO2017206302A1 (zh) * | 2016-05-31 | 2017-12-07 | 中兴通讯股份有限公司 | 一种应用程序的运行方法和运行装置 |
CN106559789A (zh) * | 2016-11-15 | 2017-04-05 | 努比亚技术有限公司 | 热点共享装置、方法及系统 |
CN106775893A (zh) * | 2016-12-30 | 2017-05-31 | 北京小米移动软件有限公司 | 对程序预编译的方法及装置 |
CN109710396A (zh) * | 2017-10-26 | 2019-05-03 | 华为技术有限公司 | 一种信息采集及内存释放的方法及装置 |
CN109857681A (zh) * | 2017-11-30 | 2019-06-07 | 华为技术有限公司 | 高速缓存cache地址映射方法以及相关设备 |
CN110543338A (zh) * | 2019-09-09 | 2019-12-06 | 北京安云世纪科技有限公司 | 一种文件的动态加载方法及装置 |
Non-Patent Citations (1)
Title |
---|
刘松 等: "一种面向循环优化和非规则代码段的粗粒度半自动并行化方法" * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021129339A1 (zh) * | 2019-12-24 | 2021-07-01 | Oppo广东移动通信有限公司 | 配置文件处理方法、装置、电子设备及存储介质 |
CN112068895B (zh) * | 2020-08-10 | 2023-12-19 | 深圳市鼎盛光电有限公司 | 代码配置方法、装置、视频播放设备及存储介质 |
CN112068895A (zh) * | 2020-08-10 | 2020-12-11 | 深圳市鼎盛光电有限公司 | 代码配置方法、装置、视频播放设备及存储介质 |
CN111770116B (zh) * | 2020-08-31 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 一种执行智能合约的方法、区块链节点、存储介质 |
US11544044B2 (en) | 2020-08-31 | 2023-01-03 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods, blockchain nodes, and storage media for executing smart contract |
CN111770204B (zh) * | 2020-08-31 | 2021-10-22 | 支付宝(杭州)信息技术有限公司 | 一种执行智能合约的方法、区块链节点和存储介质 |
CN111770116A (zh) * | 2020-08-31 | 2020-10-13 | 支付宝(杭州)信息技术有限公司 | 一种执行智能合约的方法、区块链节点、存储介质 |
EP3961975A1 (en) * | 2020-08-31 | 2022-03-02 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods, blockchain nodes, and storage media for executing smart contract |
US11301222B2 (en) | 2020-08-31 | 2022-04-12 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method for executing smart contract, blockchain node, and storage medium |
US11327732B2 (en) | 2020-08-31 | 2022-05-10 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method for executing smart contract, blockchain node, and storage medium |
US11379830B2 (en) | 2020-08-31 | 2022-07-05 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method for executing smart contract, blockchain node, and storage medium |
US11385917B2 (en) | 2020-08-31 | 2022-07-12 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method for executing smart contract and blockchain node |
CN112068851A (zh) * | 2020-09-14 | 2020-12-11 | 上海商米科技集团股份有限公司 | 动态配置和运行电子设备的系统rom文件的方法及设备 |
CN112540769A (zh) * | 2020-12-29 | 2021-03-23 | Oppo广东移动通信有限公司 | 编译处理方法、装置、电子设备以及存储介质 |
CN112559088A (zh) * | 2020-12-29 | 2021-03-26 | Oppo广东移动通信有限公司 | 配置文件的优化方法、装置、服务器以及存储介质 |
CN113568634A (zh) * | 2021-06-28 | 2021-10-29 | 荣耀终端有限公司 | 应用优化的处理方法及处理装置 |
CN113568634B (zh) * | 2021-06-28 | 2022-05-17 | 荣耀终端有限公司 | 应用优化的处理方法及处理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111078318B (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078318B (zh) | 配置文件的处理方法、装置、系统及存储介质 | |
CN111061484B (zh) | 代码编译方法、装置、服务器、用户终端及可读介质 | |
CN109960507B (zh) | 编译优化方法、装置、存储介质、智能终端及服务器 | |
CN107967139B (zh) | 游戏的热更新方法及装置 | |
CN105138382B (zh) | 一种Android系统升级的方法及终端 | |
WO2021115177A1 (zh) | 应用安装方法、装置、终端设备、服务器及存储介质 | |
CN112948026A (zh) | 热点代码处理方法、装置、服务器、电子设备及存储介质 | |
CN104375849A (zh) | 加载内核的方法及装置 | |
CN104182255A (zh) | 一种系统应用的库文件升级方法及终端 | |
US9392051B2 (en) | Application distribution supplying a dedicated application to a terminal from an application deposited by the developer | |
CN112631622A (zh) | 应用安装方法、装置、服务器及计算机可读介质 | |
CN110968331B (zh) | 应用程序运行的方法和装置 | |
WO2021135947A1 (zh) | 热点代码处理方法、装置、电子设备及存储介质 | |
CN111258557A (zh) | 代码处理方法、装置、电子设备及计算机可读介质 | |
CN116643778B (zh) | 一种应用程序优化方法及电子设备 | |
KR100725386B1 (ko) | 가상 머신 어플리케이션을 실행하는 방법 및 그 방법을이용한 디지털 방송 수신기 | |
WO2020077487A1 (zh) | 优化和运行安卓应用程序的方法以及相关装置 | |
CN110888658A (zh) | 应用程序中功能模块的动态化方法、装置及存储介质 | |
CN109634840A (zh) | 软件测试方法、装置、设备及存储介质 | |
CN112559088A (zh) | 配置文件的优化方法、装置、服务器以及存储介质 | |
WO2021115178A1 (zh) | 应用程序预编译的方法、装置、服务器及存储介质 | |
CN107423093B (zh) | 控制方法及装置、计算机装置和计算机可读存储介质 | |
CN113010172B (zh) | 配置文件的处理方法、装置、系统及存储介质 | |
KR101164465B1 (ko) | 가상머신에서 연속전달을 위한 방법 및 장치 | |
CN113031955A (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 |