配置文件的推送方法、装置、服务器及存储介质制造方法及图纸

技术编号:28836607 阅读:40 留言:0更新日期:2021-06-11 23:33
本申请公开了一种配置文件的推送方法、装置、服务器及存储介质,该配置文件的推送方法应用于服务器,该配置文件的推送方法包括:接收终端设备发送的获取请求,所述获取请求用于获取第一目标应用的热点代码;响应所述获取请求,获取所述第一目标应用所属的应用类别;获取所述应用类别的多个应用中的第二目标应用对应的配置文件,所述第二目标应用为所述多个应用中当前存在配置文件的应用,所述配置文件至少包括热点代码;将所述第二目标应用对应的配置文件推送至所述终端设备,所述配置文件用于所述终端设备对所述热点代码进行预编译,获得编译文件。本方法可以减少服务器需要维护的热点代码对应的配置文件的数量。

【技术实现步骤摘要】
配置文件的推送方法、装置、服务器及存储介质
本申请涉及计算机
,更具体地,涉及一种配置文件的推送方法、装置、服务器及存储介质。
技术介绍
在终端设备的应用程序的使用中,通常将应用程序的使用频繁的方法或代码作为热点代码,并预先对热点代码编译为二进制机器码,编译得到的二进制机器码可以用于在下次运行应用程序时直接由处理器执行,从而提升应用程序的运行速度。一些厂商通过对应用的热点代码进行搜集,并推送给用户的终端设备,但对于厂商的服务器而言,需要搜集和维护的热点代码数量较大。
技术实现思路
鉴于上述问题,本申请提出了一种配置文件的推送方法、装置、服务器及存储介质。第一方面,本申请实施例提供了一种配置文件的推送方法,应用于服务器,所述方法包括:接收终端设备发送的获取请求,所述获取请求用于获取第一目标应用的热点代码;响应所述获取请求,获取所述第一目标应用所属的应用类别;获取所述应用类别的多个应用中的第二目标应用对应的配置文件,所述第二目标应用为所述多个应用中当前存在配置文件的应用,所述配置文件至少包括热点代码;将所述第二目标应用对应的配置文件推送至所述终端设备,所述配置文件用于所述终端设备对所述热点代码进行预编译,获得编译文件。第二方面,本申请实施例提供了一种配置文件的推送装置,应用于服务器,所述装置包括:请求接收模块、请求响应模块、文件获取模块以及文件推送模块,其中,所述请求接收模块用于接收终端设备发送的获取请求,所述获取请求用于获取第一目标应用的热点代码;所述请求响应模块用于响应所述获取请求,获取所述第一目标应用所属的应用类别;所述文件获取模块用于获取所述应用类别的多个应用中的第二目标应用对应的配置文件,所述第二目标应用为所述多个应用中当前存在配置文件的应用,所述配置文件至少包括热点代码;所述文件推送模块用于将所述第二目标应用对应的配置文件推送至所述终端设备,所述配置文件用于所述终端设备对所述热点代码进行预编译,获得编译文件。第三方面,本申请实施例提供了一种服务器,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的配置文件的推送方法。第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的配置文件的推送方法。本申请提供的方案,通过接收终端设备发送的获取请求,该获取请求用于获取第一目标应用的热点代码,响应获取请求,获取第一目标应用所属的应用类别,然后从应用类别的多个应用中获取第二目标应用对应的配置文件,该第二目标应用为多个应用中当前存在配置文件的应用,配置文件至少包括热点代码,再将第二目标应用对应的配置文件推送至终端设备,配置文件用于终端设备对热点代码进行预编译,获得编译文件,从而可以实现向终端设备推送属于同一类别的应用的热点代码的配置文件,减少服务器搜集和存储的配置文件的数量,进而减少服务器的负担。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本申请实施例提供的应用场景的一种示意图。图2示出了本申请实施例提供的应用场景的另一种示意图。图3示出了根据本申请一个实施例的配置文件的推送方法流程图。图4示出了根据本申请另一个实施例的配置文件的推送方法流程图。图5示出了根据本申请又一个实施例的配置文件的推送方法流程图。图6示出了根据本申请再一个实施例的配置文件的推送方法流程图。图7示出了根据本申请一个实施例的配置文件的推送装置的一种框图。图8是本申请实施例的用于执行根据本申请实施例的配置文件的推送方法的服务器的框图。图9是本申请实施例的用于保存或者携带实现根据本申请实施例的配置文件的推送方法的程序代码的存储单元。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。安卓(Android)有两种虚拟机执行环境:Dalvik虚拟机和Art虚拟机。在Dalvik虚拟机的执行环境下,应用每次运行的时候,字节码都需要通过即时编译器(JustInTimecompilation,JIT编译器)转换为机器码,才能被设备运行,这样会拖慢应用的执行效率。在Android4.4版本时,Art虚拟机开始替代Dalvik虚拟机,在最开始的Art虚拟机中,应用在第一次安装的时候,系统会通过一个名称为dex2oat的工具将APK中的dex文件编译成包含本地机器码的oat文件存放下来。这样做之后,在程序执行的时候,就可以直接使用已经编译好的机器码以加快效率,这种预先编译机器码的机制叫做运行前编译(AheadOfTime,AOT)。AOT的缺点是应用安装和系统升级之后的应用优化过程比较耗时(需要重新将dex字节码编译成本地机器码),且优化后的文件会占用额外的存储空间。由于单纯的使用JIT和AOT都会对性能带来一定影响,为了更好的加快编译效率,提升用户体验,因此后来对其做了相应的调整,在Art虚拟机的环境上,由原来的AOT变为解释器(Interpreter)+JIT+AOT混合编译,并引入了PGO机制,具体如下:应用在安装期间,系统不会对.dex文件进行AOT编译;应用程序运行时,没有被热点识别过的代码(coldcode)会先通过JAVA解析器被直接执行,在执行过程中当虚拟机发现某个方法或者代码块运行特别频繁时会将其认定为热点代码(hotcode),经过JIT编译后存储在缓存中,这样在下次启动应用时如果遇到这些代码,会优先从缓存中执行编译后的代码,另外,系统也会生成profile(配置)文件来记录热点函数的信息;除了JIT编译之外,当设备空闲且处于充电状态时,AOT编译器也会利用profile文件重新编译应用生成.oat文件,使得这些热点代码下次启动后不再需要在运行时进行JIT优化。利用PGO机制,一个应用中需要编译的代码只会是程序中最经常执行的那一部分java字节码,而不会是整个程序中的代码。这样的做法可以在较大限度地提升了程序的运行性能的同时,又尽量减少对应用安装速度和额外的空间占用的影响,减轻了单个JIT或AOT编译所可能带来的弊端。在解释器+JIT+AOT混合编译的方案中,每当用户安装应用并初次使用时,该应用都是未经过优化的,只有在用户使用该应用一段时间后,系统才可以生成符合用户使用习惯的profile文件,从而优化应用,提升速度,这使得在首次使用应用时,应用的运行效率并未得到提升。另外,应用的profile文件只能针对当前版本的应用进行优化,如果应用的版本升级,那么就需要系统重新收本文档来自技高网
...

【技术保护点】
1.一种配置文件的推送方法,其特征在于,应用于服务器,所述方法包括:/n接收终端设备发送的获取请求,所述获取请求用于获取第一目标应用的热点代码;/n响应所述获取请求,获取所述第一目标应用所属的应用类别;/n获取所述应用类别的多个应用中的第二目标应用对应的配置文件,所述第二目标应用为所述多个应用中当前存在配置文件的应用,所述配置文件至少包括热点代码;/n将所述第二目标应用对应的配置文件推送至所述终端设备,所述配置文件用于所述终端设备对所述热点代码进行预编译,获得编译文件。/n

【技术特征摘要】
1.一种配置文件的推送方法,其特征在于,应用于服务器,所述方法包括:
接收终端设备发送的获取请求,所述获取请求用于获取第一目标应用的热点代码;
响应所述获取请求,获取所述第一目标应用所属的应用类别;
获取所述应用类别的多个应用中的第二目标应用对应的配置文件,所述第二目标应用为所述多个应用中当前存在配置文件的应用,所述配置文件至少包括热点代码;
将所述第二目标应用对应的配置文件推送至所述终端设备,所述配置文件用于所述终端设备对所述热点代码进行预编译,获得编译文件。


2.根据权利要求1所述的方法,其特征在于,在所述响应所述获取请求,获取所述第一目标应用所属的应用类别之前,所述方法还包括:
获取多个应用中每个应用的特征;
根据所述每个应用的特征,对所述多个应用进行聚类,获得多个应用类别。


3.根据权利要求2所述的方法,其特征在于,所述根据所述每个应用的特征,对所述多个应用进行聚类,获得多个应用类别,包括:
根据所述每个应用的特征,建立所述每个应用的应用画像;
根据所述应用画像,对所述多个应用进行聚类,获得多个应用类别。


4.根据权利要求2所述的方法,其特征在于,在将所述第二目标应用对应的热点代码推送至所述终端设备之后,所述方法还包括:
接收所述终端设备发送的新的配置文件,将所述新的配置文件作为第一配置文件,并将推送至所述终端设备的配置文件作为第二配置文件;
根据所述第一配置文件以及所述第二配置文件,对所述第一目标应用所属的应用类别进行校正。


5.根据权利要求4所述的方法,其特征在于,所述根据所述第一配置文件以及所述第二配置文件,对所述第一目标应用所属的应用类别进行校正,包括:
比较所述第一配置文件中的热点代码与所述第二配置文件中的热点代码的差异,获得差异结果;
根据所述差异结果,对所述第一目标应用所属的应用类别进行校正。


6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述终端设备发送的第一运行时长,所述第一运行时长为所述终端设备根据所述编译文件,对所述第一目标应用进行运行时的运行时长;
接收其他终端发送的第二运行时长,所述第二运行时长为所述其他终端对所述第一目标应用对应的热点代码进行预编译后,根据预编译得到的编译文件对所述第一目标应用进行运行...

【专利技术属性】
技术研发人员:李士新帅朝春
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1