CN111061483B - 编译优化方法、装置及电子设备 - Google Patents
编译优化方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111061483B CN111061483B CN201911193357.5A CN201911193357A CN111061483B CN 111061483 B CN111061483 B CN 111061483B CN 201911193357 A CN201911193357 A CN 201911193357A CN 111061483 B CN111061483 B CN 111061483B
- Authority
- CN
- China
- Prior art keywords
- application program
- user
- target
- code
- user terminal
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000005457 optimization Methods 0.000 title claims abstract description 48
- 238000013145 classification model Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 16
- 238000004138 cluster model Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 10
- 238000009434 installation Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011900 installation process Methods 0.000 description 2
- 206010037660 Pyrexia Diseases 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种编译优化方法、装置及电子设备,涉及计算机技术领域。其中,该方法包括:确定用户终端已安装的目标应用程序,确定该用户终端的当前用户所属的目标用户类型,根据预先建立的用户类型、应用程序及该应用程序中热点代码的代码标识的对应关系,确定与目标应用程序及目标用户类型对应的目标代码标识;根据确定的目标代码标识,生成目标应用程序的热点代码信息,使用户终端根据热点代码信息对目标应用程序进行编译优化。如此,生成的热点代码信息与用户终端的当前用户的实际需求相符,可以更为有效地提升目标应用程序的运行效率。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种编译优化方法、装置及电子设备。
背景技术
为了提高电子设备运行应用程序的效率,可以通过编译器对应用程序进行编译优化。目前,常用的方式是收集用户终端中特定应用程序的热点代码信息,并对收集的热点代码信息进行整合,从而在后续有用户终端请求下载应用程序时,向该用户终端推送整合的热点代码信息。但是,采用这种方式生成的热点代码信息无法满足用户的实际需求。
发明内容
鉴于上述问题,本申请提出了一种编译优化方法、装置及电子设备,能够改善上述问题。
第一方面,本申请实施例提供了一种编译优化方法,包括:确定用户终端已安装的目标应用程序;确定所述用户终端的当前用户所属的目标用户类型;根据预先建立的用户类型、应用程序及该应用程序中热点代码的代码标识的对应关系,确定与所述目标应用程序及所述目标用户类型对应的目标代码标识;根据确定的目标代码标识,生成所述目标应用程序的热点代码信息,使所述用户终端根据所述热点代码信息对所述目标应用程序进行编译优化。
第二方面,本申请实施例提供了一种编译优化方法,应用于与服务器通信的用户终端,所述方法包括:在安装目标应用程序后,向服务器发送查询请求,所述查询请求用于使所述服务器根据预先建立的用户类型、应用程序及该应用程序中热点代码的代码标识,确定与所述目标应用程序、所述用户终端的当前用户所属的用户类型对应的目标代码标识,并根据所述目标代码标识生成热点代码信息发送给所述用户终端;接收所述热点代码信息,根据所述热点代码信息对所述目标应用程序进行编译优化。
第三方面,本申请实施例提供了一种编译优化装置,包括:确定模块,用于确定用户终端已安装的目标应用程序,确定所述用户终端的当前用户所属的目标用户类型,根据预先建立的用户类型、应用程序及所述应用程序中热点代码的代码标识的对应关系,确定与所述目标应用程序及所述目标用户类型对应的目标代码标识;生成模块,用于根据确定的目标代码标识,生成所述目标应用程序的热点代码信息,使所述用户终端根据所述热点代码信息对所述目标应用程序进行编译优化。
第四方面,本申请实施例提供了一种编译优化装置,应用于与服务器通信的用户终端,所述装置包括:查询模块,用于在安装目标应用程序后,向服务器发送查询请求,所述查询请求用于使所述服务器根据预先建立的用户类型、应用程序及该应用程序中热点代码的代码标识,确定与所述目标应用程序、所述用户终端的当前用户所属的用户类型对应的目标代码标识,并根据所述目标代码标识生成热点代码信息发送给所述用户终端;编译优化模块,用于接收所述热点代码信息,根据所述热点代码信息对所述目标应用程序进行编译优化。
第五方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储由程序代码,所述程序代码可被处理器调用执行上述的方法。
相对于现有技术,本申请提供的方案,在用户终端安装目标应用程序后,根据用户类型、应用程序及该应用程序中热点代码的代码标识的对应关系,确定与用户终端的当前用户所属的目标用户类型以及该目标应用程序对应的目标代码标识,根据目标代码标识生成热点代码信息,用于指导用户终端对目标应用程序的编译优化。由于目标代码标识指示的是目标应用程序中与当前用户所属的用户类型对应的热点代码,该热点代码是当前用户在用户终端上使用目标应用程序时真正常用的代码,因而,基于目标代码标识生成的热点代码信息符合当前用户的实际需求和使用习惯,可以更为有效地提升当前用户的用户终端运行目标应用程序的效率。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种适用于本申请实施例的应用环境示意图。
图2示出了根据本申请一个实施例的编译优化方法流程图。
图3示出了根据本申请另一个实施例的编译优化方法流程图。
图4示出了图3所示方法的另一流程图。
图5示出了图3所示方法的又一流程图。
图6示出了图3所示方法的再一流程图。
图7示出了根据本申请又一个实施例的编译优化方法流程图。
图8是本申请实施例的用于执行根据本申请实施例的编译优化方法的电子设备的框图。
图9示出了根据本申请实施例的一种编译优化装置的框图。
图10示出了根据本申请实施例的另一种编译优化装置的框图。
图11是本申请实施例的用于保存或者携带实现根据本申请实施例的编译优化方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
相关技术中,通常采用以下方式来实现对应用程序的编译优化:
一种是用户终端安装应用程序后,首先通过解释器(又称“解析器”)来解释执行应用程序,并在解释执行应用程序的过程中,对应用程序中用于实现不同功能的代码的使用频次进行统计,所述代码可以是应用程序的源码中的函数、方法(method)、类等。经过一段时间的统计后,将使用频次达到设定次数的代码确定为应用程序的热点代码,并将所确定的热点代码的索引记录到配置文件(profile)中,再根据配置文件将配置文件中的索引指示的热点代码编译为机器代码,后续用户终端在使用热点代码时,可以直接调用机器代码,无需进行即时(just-in-time)编译。
另一种是对于新发布的应用程序的安装包,部分用户终端在下载该应用程序的安装包后,采用方式一生成该应用程序的配置文件,并将生成的配置文件上传服务器,服务器对各用户终端上传的配置文件进行整合,得到整合后的配置文件,并在后续有用户终端从服务器下载应用程序的安装包时,将安装包与整合的配置文件一并推送给用户终端。
方式一通常需要统计较长的一段时间才能得到足够多的数据量,进而使得确定的热点代码比较准确,因此,方式一生成热点代码信息的过程耗时较长;并且,用户终端在应用程序被用户使用时,才会通过解释器解释执行应用程序,进而才能实现对应用程序中代码的使用频次的统计,对于用户不常用的应用程序,确定热点代码需的时长将进一步增加。
方式二虽然可以使大部分用户比较及时地获得配置文件,但是服务器下发的配置文件是对来自不同用户的配置文件整合得到的通用配置文件,并非与每个用户完全契合,容易出现缺少部分用户的常用代码,或是包括部分用户的非常用代码的情况,从而导致用户终端根据该通用配置文件对应用程序作出的编译优化与用户实际需求不符,对于用户终端运行应用程序的效率的改善效果非常有限。
发明人经过长期的研究,提出了一种编译优化方法、装置及电子设备,可以生成符合用户实际需求的热点代码信息,基于该热点代码信息对应用程序进行编译优化可以更为有效地提升用户终端运行该应用程序的效率。下面将对本申请实施例的方案进行详细阐述。
请参照图1,图1为本申请实施例提供的应用场景示意图。其中,服务器100和用户终端200通过网络通信连接。服务器100可以是一个独立的服务器,也可以是多个服务器100组成的集群中的任意一个,本申请实施例对此没有限制。
一个例子中,服务器100可以为用户提供应用程序的安装包下载服务,例如可以是应用商店服务器。另一个例子中,服务器100可以是与应用商店服务器通信的其他服务器。又一个例子中,用于提供安装包下载服务的服务器与其他服务器组成了集群,本申请实施例中的服务器100可以是该集群中的任意一个服务器。
本申请实施例中,用户终端200可以为任意具有数据处理功能及通信功能的电子设备,比如可以是,但不限于,智能手机、平板电脑、笔记本电脑等。
请参照图2,图2为本申请一实施例提供的一种编译优化方法的流程示意图,该方法可以应用于电子设备,所述电子设备可以是图1中的服务器100或者用户终端200。下面对该方法的步骤进行详细描述。
步骤S110,确定用户终端200已安装的目标应用程序。
其中,目标应用程序可以是用户终端200已安装的任意一个应用程序,也可以预先指定的至少一个应用程序,当预先指定的任一应用程序被用户终端200安装成功时,即可视作本实施例中的目标应用程序。所述目标应用程序可以通过其程序标识来表示,所述程序标识例如可以是目标应用程序的程序名称。
步骤S120,确定所述用户终端200的当前用户所属的目标用户类型。
其中,用户终端200的当前用户可以根据用户终端200对应的用户标识确定,所述用户标识可以是用于登录用户终端200的帐号信息,如用户终端200的系统登录帐号,又如用于登录服务器100的帐号。此外,所述用户标识也可以是用户终端200的设备信息,例如可以是IMEI(International Mobile Equipment Identity,国际移动设备识别码),IMEI可以用于唯一地标识一台移动设备。
目标用户类型可以是用户终端200的当前用户所属的用户类型,例如可以是社交爱好型、游戏发烧型、文学偏好型、视频爱好型、新闻爱好型等,本实施例对此不作限制。
本实施例中,每个用户终端的当前用户所属的用户类型可以预先确定,并通过对应的类型信息来表征,所述类型信息例如可以是用户标签。可以理解,每个用户可以具有一个或多个用户标签,以表示该用户属于一个用户类型或同时属于多个用户类型,比如,一个用户终端200的当前用户可以同时具有表征社交爱好型的用户标签以及表征新闻爱好型的用户标签。
本实施例中,电子设备为用户终端200时,电子设备可以存储本设备的当前用户的类型信息,则电子设备可以直接根据存储的类型信息确定本设备的当前用户所属的用户类型。电子设备为服务器100时,电子设备可以存储不同用户的用户标识与该用户的类型信息的关联关系,从而可以根据用户终端200的当前用户的用户标识来查找该当前用户的类型信息,再根据查找到的类型信息确定该当前用户所属的用户类型。所确定的用户类型即为步骤S120中的目标用户类型。
步骤S130,根据预先建立的用户类型、应用程序及该应用程序中热点代码的代码标识的对应关系,确定与所述目标应用程序及所述目标用户类型对应的目标代码标识。
本实施例中,每个所述对应关系可以是一条数据记录,包括表征用户类型的类型信息、应用程序的程序标识及该应用程序中热点代码的代码标识。所述对应关系可以存储于电子设备中,例如,电子设备为用户终端200时,所述对应关系存储于用户终端200中,又如,电子设备为服务器100时,所述对应关系存储于服务器100中。
通过步骤S110可以获得目标应用程序的程序标识,通过步骤S120可以获得表征用户终端200的当前用户所属的目标用户类型的类型信息,电子设备可以以目标应用程序的程序标识以及表征目标用户类型的类型信息为索引进行查找,从而可以查找包括该程序标识和该类型信息的数据记录,查找到的数据记录中的代码标识即为本实施例的目标代码标识。
步骤S140,根据确定的目标代码标识,生成所述目标应用程序的热点代码信息,使所述用户终端200根据所述热点代码信息对所述目标应用程序进行编译优化。
本实施例中,电子设备为服务器100的情况下,服务器100可以将生成的热点代码信息发送给用户终端200,用户终端200再根据接收的热点代码信息对目标应用程序进行编译优化。电子设备为用户终端200的情况下,用户终端200可以直接根据生成的热点代码信息对目标应用程序进行编译优化。
其中,用户终端200根据热点代码信息对目标应用程序进行编译优化可以通过以下方式实现:根据热点代码信息确定目标应用程序中的热点代码,该热点代码与用户终端200的当前用户所属的目标用户类型匹配,并将热点代码编译为机器代码。如此,后续如果需要使用该热点代码,可以直接调用对应的机器代码,而不必再进行即时编译,从而提高目标应用程序在用户终端200的运行效率。
相较于相关技术中的方式二,通过图2所示流程,为目标应用程序生成的热点代码信息符合该目标应用程序所在用户终端的当前用户的实际需求及使用习惯,可以避免将当前用户不常用的代码编译为机器代码或是没有将当前用户的常用代码编译为机器代码的情况,使得用户终端基于热点代码信息对目标应用程序所做的编译优化可以更为有效地提升目标应用程序的运行效率。
相较于相关技术中的方式一,基于图2所示的流程,可以不必通过统计代码的使用频次的方式来确定热点代码,加快了确定热点代码的速度,从而加快了生成热点代码信息的速度,可以快速地实现对目标应用程序的编译优化。尤其是对于用户不常用的应用程序,可以极大地提升生成热点代码信息的速度。
请参照图3,图3为本申请另一实施例提供的一种编译优化方法的流程示意图,该方法可以应用于图1所示的服务器100。下面对该方法的步骤进行详细阐述。
步骤S210,接收用户终端200发送的查询请求,所述查询请求包括用户终端200已安装的应用程序的程序标识。
步骤S220,获取所述查询请求中的程序标识,将该程序标识指示的应用程序确定为目标应用程序。
本实施例中,通过步骤S210和步骤S220来确定用户终端200的目标应用程序。下面以服务器100是应用商店服务器为例进行阐述。
用户终端200可以从服务器100下载应用程序A1的安装包,并对安装包进行安装得到该应用程序A1。在该应用程序A1安装成功后,用户终端200可以生成一查询请求,将应用程序A1的程序标识A1添加到查询请求中,并将添加程序标识A1的查询请求发送给服务器100。
服务器100接收到查询请求时,识别查询请求中的程序标识,并提取识别出的程序标识A1,从而将程序标识A1指示的应用程序A1确定为目标应用程序。
通过步骤S210和步骤S220,可以避免在应用程序的安装过程中对应用程序的热点代码进行编译,从而加快了应用程序的安装速度,改善了用户体验。
步骤S230,确定用户终端200的当前用户所属的目标用户类型。
本实施例中,步骤S230可以通过不同的方式实现。
一种实现方式中,可以由服务器100预先确定每个用户所属的用户类型,将表征用户所属的用户类型的类型信息下发至该用户的用户终端200,则用户终端200可以将类型信息携带在查询请求中发送给服务器100。在此情况下,查询请求包括用户终端200已安装的应用程序的程序标识以及用户终端200的当前用户的类型信息。其中,服务器100可以在执行步骤S210之前,通过图4所示步骤预先确定用户所属的用户类型,具体描述如下:
步骤S410,获取用户终端200的当前用户的属性信息。
步骤S420,获取由分类模型根据所述当前用户的属性信息输出的类型信息,所述类型信息表征所述当前用户所属的用户类型。
其中,所述属性信息可以选自当前用户的性别信息、年龄信息、地域信息及常用的应用程序类型信息中的一种或几种的组合。
获取所述当前用户的属性信息后,服务器100可以将该属性信息输入分类模型,分类模型将根据输入的属性信息输出一类型信息,该类型信息表征分类模型预测的当前用户所属的用户类型。
可选地,本实施例中,服务器100可以在执行步骤S420之前,通过图5所示流程来构建所述分类模型,详细描述如下。
步骤S510,分别获取多个用户的属性信息,以每个用户的属性信息为一个样本,得到多个样本。
步骤S520,获取针对所述多个样本的聚类结果,所述聚类结果包括至少两个聚类及每个聚类的聚类中心,每个聚类对应一个用户类型。
实施过程中,可以采用不同的聚类算法对多个样本进行聚类,即,将多个样本划分为至少两个样本集,每个样本集包括至少一个样本。每个样本集相当于一个聚类,与一个用户类型对应,可以具有对应的类型信息。每个聚类中的样本之间的相似度比该聚类中的样本与其他聚类中的样本之间的相似度更高,例如,聚类A中的样本之间的相似度比聚类A中的样本与聚类B中的样本间的相似度更高。其中,所述相似度可以通过样本之间的距离(如,欧氏距离、曼哈顿距离)等表征。每个聚类的聚类中心可以通过该聚类中各个样本的平均值表示。
可选地,所述聚类算法例如可以是K-means(K均值)算法、Canopy聚类算法、均值漂移聚类算法、基于密度的聚类算法、用高斯混合模型的最大期望聚类、凝聚层次聚类等。
步骤S530,建立所述分类模型,所述分类模型用于分别计算输入的属性信息与每个聚类的聚类中心的距离,从所述至少两个聚类中确定聚类中心与所述目标用户的属性信息距离最小的目标聚类,输出表征所述目标聚类对应的用户类型的类型信息。
通过步骤S520可以确定不同用户终端的用户通常可以分为所述至少两个用户类型,对于未确定类型的用户U1,分类模型可以根据其属性信息与所述至少两个用户类型各自对应的聚类的聚类中心的距离来确定该用户U1所属的用户类型。例如,通过步骤S520确定了聚类C1、C2、C3,则可以计算用户U1的属性信息与聚类C1的聚类中心的距离d1,计算用户U1的属性信息与聚类C2的聚类中心的距离d2,计算用户U1的属性信息与聚类C3的聚类中心的距离d3。对得到的距离d1、d2、d3进行比较,确定最小值为d3,则可以确定聚类C3为目标聚类,从而可以输出表征目标聚类C3所对应的用户类型的类型信息。该类型信息即为用户U1的类型信息。
可以理解,图3所示流程、图4所示流程及图5所示流程可以由同一个服务器100执行,也可以由相互通信的不同服务器100来执行,本实施例对此没有限制。
步骤S230的另一种实现方式中,服务器100可以在确定每个用户所属的用户类型后,记录该用户的用户标识与表征该用户类型的类型信息的对应关系。对应地,用户终端200发送的查询请求可以包括当前用户的用户标识以及上述的程序标识,在此情况下,对于用户终端200发送的每个查询请求,服务器100可以根据记录的用户标识与类型信息的对应关系,确定与查询请求中的用户标识对应的类型信息,进而根据确定的类型信息来确定当前用户所属的用户类型。
步骤S230的又一种实现方式中,用户终端200发送的查询请求可以包括当前用户的用户标识及上述的程序标识。在此情况下,对于接收的每个查询请求,服务器100可以根据该用户标识获取对应的属性信息,从而将获取的属性信息输入上述的分类模型,再获取分类模型根据所述属性信息输出的类型信息,根据获取的类型信息确定当前用户所属的用户类型。
步骤S240,根据存储的用户类型、应用程序及该应用程序中热点代码的代码标识的对应关系,确定与所述目标应用程序及所述目标用户类型对应的目标代码标识。
其中,所述用户类型、应用程序及该应用程序中热点代码的代码标识的对应关系可以存储于服务器100中,也可以应用于服务器100所在集群的其他服务器中,该其他服务器可以与服务器100通信。
步骤S250,根据确定的目标代码标识生成所述目标应用程序的热点代码信息,并将所述热点代码信息发送给所述用户终端200,使所述用户终端200根据所述热点代码信息对所述目标应用程序进行编译优化。
其中,步骤S240-步骤S250的实现流程与前一实施例中的步骤S130-步骤S140类似,在此不再赘述。
可选地,本实施例中,服务器100在执行步骤S240之前,可以通过图6所示流程构建所述用户类型、应用程序及该应用程序中热点代码的代码标识的对应关系,下面对该流程进行详细描述。
步骤S610,针对所述聚类结果中的每个聚类对应的用户类型,分别从属于所述用户类型的多个用户的用户终端获取所述目标应用程序的配置文件,所述配置文件包括所述目标应用程序中至少一个热点代码的代码标识。
以上述的聚类C1、C2和C3为例,针对聚类Ci(1≤i≤3,i为正整数),假设聚类Ci对应的用户类型通过类型信息data-i表征,则可以查找N(N为正整数)个具有类型信息data-i的用户的用户终端,并分别从查找到的N个用户终端获取目标应用程序的配置文件,则可以获得目标应用程序的N个配置文件,该N个配置文件均与类型信息data-i表征的用户类型对应。
步骤S620,根据多个所述配置文件中的代码标识,得到所述目标应用程序中与所述用户类型对应的热点代码的所述目标代码标识。
本实施例中,步骤S620可以通过如下方式实现:
服务器100可以针对所述配置文件中的每个代码标识,统计包括该代码标识的所述配置文件的数量,若统计的数量达到设定值,则将该代码标识确定为所述目标代码标识。
换言之,对于配置文件中的每个代码标识,服务器100可以统计该代码标识的出现次数,例如,某一代码标识在10个配置文件中出现过,则其统计数量为10。如此,各配置文件中出现的代码标识都具有一对应的统计数量。以上述的N个配置文件为例,对于配置文件中出现的代码标识,其对应的统计数量的取值范围为[1,N]。其中,若代码标识对应的统计数量为1,表示只在一个配置文件中包含该代码标识,若代码标识对应的统计数量为N,表示在所有配置文件中均存在该代码标识。对于每个代码标识的统计数量,可以对该统计数量与设定值进行比较,若该统计数量达到设定值,则表示该代码标识在同一用户类型用户的用户终端的配置文件中出现次数较多,从而可以确定该代码标识指示的代码与该用户类型的用户关联紧密,可以将该代码标识视作目标应用程序中与该用户类型对应的目标代码标识。可以理解,针对每个用户类型确定的目标代码标识为一个或多个。
步骤S630,建立并存储所述用户类型、所述目标应用程序及所述目标代码标识的所述对应关系。
对于聚类结果中的每个用户类型及针对该用户类型确定的目标代码标识,建立该用户类型、该目标代码标识及目标应用程序的对应关系。其中,包含了目标应用类型、目标代码标识与目标应用程序的对应关系。
可以理解,本实施例中,图6所示步骤和图3所示步骤可以由同一服务器100执行,也可以由相互通信的不同服务器100执行。此外,建立的对应关系可以存储于执行图3所示步骤的服务器100中,也可以存储于与执行图3所示步骤的服务器100通信的其他服务器100中。本实施例对此没有限制。
本实施例仅以目标应用程序为例进行阐述,可以理解,参照上述流程,服务器100还可以针对其他应用程序建立用户类型、应用程序及该应用程序中热点代码的代码标识的对应关系。对于建立的对应关系可以以数据表的形式存储,例如可以如下表1所示。
表1
表1中示出了应用程序A1-A3中分别与社交爱好型、文学爱好型、视频爱好型、新闻爱好型对应的热点代码的代码标识,表1中示出的代码标识为代码索引。
实际应用中,应用程序中的代码具有代码索引和代码名称,两者均可以用于唯一地表征该代码。其中,代码索引通常会随着应用程序版本的变更而变更,而为了代码的可读性以便于后续维护,代码名称通常不会改变。
基于上述描述,一种实施方式中,本实施例中的代码标识可以是代码索引,在此情况下,步骤S610中,获取的均是具有相同版本信息的目标应用程序的配置文件。对应地,所述对应关系可以是包括表征用户类型的类型信息、应用程序的程序标识、该应用程序中热点代码的代码索引及该应用程序的第一版本信息的数据记录。其中,第一版本信息是指对应关系中记录的版本信息,对应关系中记录的代码标识,是具有该对应关系中的第一版本信息和程序标识的应用程序中的代码标识。在此情况下,步骤S240可以通过以下流程实现:
从存储的对应关系中,查找包括所述目标应用程序的程序标识及所述目标用户的类型信息的目标对应关系,将所述目标对应关系中的代码索引确定为所述目标代码索引。
进一步地,步骤S250可以通过如下流程实现:
获取所述目标对应关系中的第一版本信息;获取所述目标应用程序的第二版本信息;若所述第二版本信息不同于所述第一版本信息,则从具有所述目标对应关系及所述目标对应关系中的程序标识的应用程序中,查找与所述目标代码索引对应的目标代码名称;从所述目标应用程序中查找所述目标代码名称对应的代码索引作为目标代码索引,根据查找到的目标代码索引生成所述目标应用程序的热点代码信息。
其中,第二版本信息表示目标应用程序的实际版本信息。第二版本信息与第一版本信息不同,表示目标应用程序和目标对应关系中的程序标识所指示的应用程序为同一应用程序的不同版本,则用于实现相同功能的热点代码在两者中的代码索引可能不同。因此,可以先将目标对应关系中的代码标识转换为代码名称,再基于代码名称从目标应用程序确定对应的目标代码索引。
另一种实施方式中,本实施例中的代码标识可以是代码名称。对应地,步骤S250可以通过如下流程实现:根据确定目标代码名称,从所述目标应用程序中查找与所述目标代码名称对应的目标代码索引;根据查找到的目标代码索引生成所述目标应用程序的热点代码信息。
上述两种实施方式中,服务器100可以直接将查找到的所有目标代码索引整体作为所述目标应用程序的热点代码信息。如此,发送给用户终端200的热点代码信息比配置文件相比,仅包含代码索引而没有其他配置信息,包含信息量较少,此外,热点代码信息只包括与用户终端的当前用户紧密相关的热点代码的代码标识,减少了当前用户的非常用代码的代码标识,进一步减少了推送给用户终端的信息量,从而可以减少推送热点代码信息所需的流量。
通过本实施例的方案,一方面可以为目标应用程序生成符合用户终端的当前用户的实际需求和使用习惯的热点代码信息,使得用户终端根据热点代码信息对目标应用程序的编译优化可以更为有效地提升目标应用程序的运行效率。另一方面,相较于相关技术中的方式一可以有效加快生成热点代码信息的效率,经测试,相较于方式一,本实施例的方案一般可以提前3天达到应用程序的性能最优状态,对于不常用的应用程序,则基本可以提前7天达到该应用程序的性能最优状态。再一方面,本实施例的方案可以不必在安装应用程序的过程中进行编译优化,加快了应用程序的安装过程,改善了用户体验。
请参照图7,图7为本申请又一实施例提供的一种编译优化方法,应用于图1所示的用户终端200,服务器100存储由用户类型、应用程序及该应用程序中热点代码的代码标识的对应关系。该方法包括以下步骤。
步骤S710,在安装目标应用程序后,向服务器100发送查询请求,所述查询请求用于使所述服务器100根据预先建立的用户类型、应用程序及该应用程序中热点代码的代码标识,确定与所述目标应用程序、所述用户终端的当前用户所属的用户类型对应的目标代码标识,并根据所述目标代码标识生成热点代码信息发送给所述用户终端200。
步骤S710中,用户终端200向存储有所述对应关系的服务器100发送查询请求。步骤S710的实现流程可以参照上文关于步骤S210-步骤S250的详细描述,不再赘述。值得说明的是,查询请求可以有不同的实现形式。
一种方式中,服务器100可以存储由用户标识和表征用户类型的类型信息的关联关系。在此情况下,所述查询请求中可以包括目标应用程序的程序标识和当前用户的用户标识,服务器100接收到查询请求后,可以根据存储的关联关系查找与查询请求中的用户标识对应的类型信息,根据该类型信息确定当前用户所属的目标用户类型。
另一种方式中,服务器100可以预先根据每个用户的属性信息确定该用户所属的用户类型,并将表征该用户类型的类型信息下发给该用户的用户终端200。在此情况下,查询请求包括目标应用程序的程序标识和当前用户的类型信息。如此,用户终端200可以将当前用户的类型信息携带在前述的查询请求中发送给服务器100,则服务器100可以根据查询请求中的类型信息来确定用户终端200的当前用户所属的目标用户类型。
可选地,为了进一步改善用户体验,步骤S710中,用户终端200在完成目标应用程序的安装时,可以检测用户终端200是否灭屏,若是,则对用户终端200处于灭屏状态的时长进行统计,并在统计的时长达到预设时长时,再发送所述查询请求。其中,所述预设时长可以为1-5分钟,比如可以是3分钟。当用户终端200处于灭屏状态一段时间时,表示用户当前不需要使用用户终端200,此时对目标应用程序进行编译优化,可以避免因占用用户终端200的资源而对影响用户的使用体验,并且可以相对及时地对目标应用程序进行编译优化。
步骤S720,接收所述热点代码信息,根据所述热点代码信息对所述目标应用程序进行编译优化。
参照前文的描述,可以确定热点代码信息中包括目标应用程序中与当前用户所属用户类型对应的热点代码的代码标识,基于此,用户终端200可以从目标应用程序中查找热点代码信息中的代码标识指示的代码,并将查找到的代码编译为机器代码。如此,可以避免用户终端200在运行目标应用程序时再对热点代码进行即时编译,提高了用户终端200对目标应用程序的运行效率。
请参照图8,图8示出了本申请实施例提供的一种电子设备800的结构框图。该电子设备800可以是图1所示的服务器100或者用户终端200。
本申请中的电子设备800可以包括一个或多个如下部件:处理器810、存储器820、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器820中并被配置为由一个或多个处理器810执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器810可以包括一个或者多个处理核。处理器810利用各种接口和线路连接整个电子设备800内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器820内的数据,执行电子设备800的各种功能和处理数据。可选地,处理器810可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器810可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器810中,单独通过一块通信芯片进行实现。
存储器820可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器820可用于存储指令、程序、代码、代码集或指令集。存储器820可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备800在使用中所创建的数据(比如上文所述的对应关系、分类模型)等。
可以理解,图8所示仅为示意,电子设备800还可以包括比图8所示更多或更少的组件,或是具有与图8所示完全不同的配置,例如还可以包括通信单元。
请参阅图9,其示出了本申请实施例提供的一种编译优化装置900的结构框图。该装置900可以包括:确定模块910和生成模块920。
其中,确定模块910用于确定用户终端200已安装的目标应用程序,确定所述用户终端200的当前用户所属的目标用户类型,根据预先建立的用户类型、应用程序及所述应用程序中热点代码的代码标识的对应关系,确定与所述目标应用程序及所述目标用户类型对应的目标代码标识。
生成模块920用于根据确定的目标代码标识,生成所述目标应用程序的热点代码信息,使所述用户终端200根据所述热点代码信息对所述目标应用程序进行编译优化。
可选地,编译优化装置900可以应用于服务器100,服务器100存储有所述对应关系。在此情况下,确定模块910可以通过以下方式确定用户终端200已安装的目标应用程序:接收所述用户终端200发送的查询请求,所述查询请求包括所述用户终端200已安装的应用程序的程序标识;将所述查询请求中的程序标识指示的应用程序,确定为所述目标应用程序。对应地,所述装置900还可以包括发送模块,发送模块用于将所述热点代码信息发送给所述用户终端200。
进一步地,所述查询请求还包括所述用户终端200的当前用户的类型信息,所述类型信息表征所述当前用户所属的用户类型。在此情况下,所述确定模块910可以通过以下方式确定所述用户终端200的当前用户所属的目标用户类型:获取所述查询请求中的类型信息;根据获取的类型信息确定所述用户终端200的当前用户所属的用户类型作为所述目标用户类型。
可选地,编译优化装置900还可以包括分类模块,用于在接收所述用户终端200发送的查询请求之前,获取所述用户终端200的当前用户的属性信息,获取由分类模型根据所述当前用户的属性信息输出的类型信息,所述类型信息表征所述当前用户所属的用户类型,将所述类型信息发送给所述用户终端200。
编译优化装置900还可以包括模型建立模块,模型建立模块用于:分别获取多个用户的属性信息,以每个用户的属性信息为一个样本,得到多个样本;获取针对所述多个样本的聚类结果,所述聚类结果包括至少两个聚类及每个聚类的聚类中心,每个聚类对应一个用户类型;建立所述分类模型,所述分类模型用于分别计算输入的属性信息与每个聚类的聚类中心的距离,从所述至少两个聚类中确定聚类中心与所述目标用户的属性信息距离最小的目标聚类,输出表征所述目标聚类对应的用户类型的类型信息。
可选地,编译优化装置900还包括对应关系建立模块,对应关系建立模块用户:在确定模块910根据预先建立的用户类型、应用程序及该应用程序中热点代码的代码标识的对应关系,确定与所述目标应用程序及所述目标用户类型对应的目标代码标识之前,针对所述聚类结果中的每个聚类对应的用户类型,分别从属于所述用户类型的多个用户的用户终端获取所述目标应用程序的配置文件,所述配置文件包括所述目标应用程序中至少一个热点代码的代码标识;根据多个所述配置文件中的代码标识,得到所述目标应用程序中与所述用户类型对应的热点代码的所述目标代码标识;建立并存储所述用户类型、所述目标应用程序及所述目标代码标识的所述对应关系。
所述对应关系建立模块根据多个所述配置文件中的代码标识,得到所述目标应用程序中与所述用户类型对应的热点代码的所述目标代码标识的方式可以为:针对所述配置文件中的每个代码标识,统计包括该代码标识的所述配置文件的数量,若统计的数量达到设定值,则将该代码标识确定为所述目标代码标识。
请参照图10,图10为本申请实施例提供的一种应用于用户终端200的编译优化装置1000,装置1000包括查询模块1010和编译优化模块1020。其中,查询模块1010用于在安装目标应用程序后,向服务器100发送查询请求,所述查询请求用于使所述服务器100根据预先建立的用户类型、应用程序及该应用程序中热点代码的代码标识,确定与所述目标应用程序、所述用户终端200的当前用户所属的用户类型对应的目标代码标识,并根据所述目标代码标识生成热点代码信息发送给所述用户终端200。
编译优化模块1020用于接收所述热点代码信息,根据所述热点代码信息对所述目标应用程序进行编译优化。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,所显示或讨论的模块相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参考图11,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质1100中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质1100可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质1100包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质1100具有执行上述方法中的任何方法步骤的程序代码1110的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1110可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种编译优化方法,其特征在于,应用于与用户终端通信的服务器,包括:
接收所述用户终端发送的查询请求,所述查询请求包括所述用户终端已安装的应用程序的程序标识;
将所述查询请求中的程序标识指示的应用程序,确定为目标应用程序;
确定所述用户终端的当前用户所属的目标用户类型;
根据预先建立的用户类型、应用程序及该应用程序中热点代码的代码标识的对应关系,确定与所述目标应用程序及所述目标用户类型对应的目标代码标识;
根据确定的目标代码标识,生成所述目标应用程序的热点代码信息,使所述用户终端根据所述热点代码信息对所述目标应用程序进行编译优化。
2.根据权利要求1所述的方法,其特征在于,所述服务器存储所述对应关系;
在所述根据确定的目标代码标识,生成所述目标应用程序的热点代码信息之后,所述方法还包括:
将所述热点代码信息发送给所述用户终端。
3.根据权利要求2所述的方法,其特征在于,所述查询请求还包括所述用户终端的当前用户的类型信息,所述类型信息表征所述当前用户所属的用户类型;
所述确定所述用户终端的当前用户所属的目标用户类型,包括:
获取所述查询请求中的类型信息;
根据获取的类型信息确定所述用户终端的当前用户所属的用户类型作为所述目标用户类型。
4.根据权利要求3所述的方法,其特征在于,在所述接收所述用户终端发送的查询请求之前,还包括:
获取所述用户终端的当前用户的属性信息;
获取由分类模型根据所述当前用户的属性信息输出的类型信息,所述类型信息表征所述当前用户所属的用户类型;
将所述类型信息发送给所述用户终端。
5.根据权利要求4所述的方法,其特征在于,在所述获取由聚类模型根据所述目标用户的属性信息输出的类型信息之前,还包括:
分别获取多个用户的属性信息,以每个用户的属性信息为一个样本,得到多个样本;
获取针对所述多个样本的聚类结果,所述聚类结果包括至少两个聚类及每个聚类的聚类中心,每个聚类对应一个用户类型;
建立所述分类模型,所述分类模型用于分别计算输入的属性信息与每个聚类的聚类中心的距离,从所述至少两个聚类中确定聚类中心与所述目标用户的属性信息距离最小的目标聚类,输出表征所述目标聚类对应的用户类型的类型信息。
6.根据权利要求5所述的方法,其特征在于,在所述根据预先建立的用户类型、应用程序及该应用程序中热点代码的代码标识的对应关系,确定与所述目标应用程序及所述目标用户类型对应的目标代码标识之前,还包括:
针对所述聚类结果中的每个聚类对应的用户类型,分别从属于所述用户类型的多个用户的用户终端获取所述目标应用程序的配置文件,所述配置文件包括所述目标应用程序中至少一个热点代码的代码标识;
根据多个所述配置文件中的代码标识,得到所述目标应用程序中与所述用户类型对应的热点代码的所述目标代码标识;
建立并存储所述用户类型、所述目标应用程序及所述目标代码标识的所述对应关系。
7.根据权利要求6所述的方法,其特征在于,所述根据多个所述配置文件中的代码标识,得到所述目标应用程序中与所述用户类型对应的热点代码的所述目标代码标识,包括:
针对所述配置文件中的每个代码标识,统计包括该代码标识的所述配置文件的数量,若统计的数量达到设定值,则将该代码标识确定为所述目标代码标识。
8.一种编译优化方法,其特征在于,应用于与服务器通信的用户终端,所述方法包括:
在安装目标应用程序后,向服务器发送包括所述目标应用程序的程序标识的查询请求,所述查询请求用于使所述服务器确定所述查询请求中的程序标识指示的应用程序为所述目标应用程序;根据预先建立的用户类型、应用程序及该应用程序中热点代码的代码标识,确定与所述目标应用程序、所述用户终端的当前用户所属的用户类型对应的目标代码标识,并根据所述目标代码标识生成热点代码信息发送给所述用户终端;
接收所述热点代码信息,根据所述热点代码信息对所述目标应用程序进行编译优化。
9.一种编译优化装置,其特征在于,应用于与用户终端通信的服务器,包括:
确定模块,用于接收所述用户终端发送的查询请求,所述查询请求包括所述用户终端已安装的应用程序的程序标识;将所述查询请求中的程序标识指示的应用程序,确定为目标应用程序;确定所述用户终端的当前用户所属的目标用户类型,根据预先建立的用户类型、应用程序及所述应用程序中热点代码的代码标识的对应关系,确定与所述目标应用程序及所述目标用户类型对应的目标代码标识;
生成模块,用于根据确定的目标代码标识,生成所述目标应用程序的热点代码信息,使所述用户终端根据所述热点代码信息对所述目标应用程序进行编译优化。
10.一种编译优化装置,其特征在于,应用于与服务器通信的用户终端,所述装置包括:
查询模块,用于在安装目标应用程序后,向服务器发送包括所述目标应用程序的程序标识的查询请求,所述查询请求用于使所述服务器确定所述查询请求中的程序标识指示的应用程序为所述目标应用程序;根据预先建立的用户类型、应用程序及该应用程序中热点代码的代码标识,确定与所述目标应用程序、所述用户终端的当前用户所属的用户类型对应的目标代码标识,并根据所述目标代码标识生成热点代码信息发送给所述用户终端;
编译优化模块,用于接收所述热点代码信息,根据所述热点代码信息对所述目标应用程序进行编译优化。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-8中任意一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-8中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911193357.5A CN111061483B (zh) | 2019-11-28 | 2019-11-28 | 编译优化方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911193357.5A CN111061483B (zh) | 2019-11-28 | 2019-11-28 | 编译优化方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111061483A CN111061483A (zh) | 2020-04-24 |
CN111061483B true CN111061483B (zh) | 2023-12-01 |
Family
ID=70299440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911193357.5A Active CN111061483B (zh) | 2019-11-28 | 2019-11-28 | 编译优化方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061483B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112215702A (zh) * | 2020-10-14 | 2021-01-12 | 深圳市欢太科技有限公司 | 信用风险的评估方法、移动终端及计算机存储介质 |
CN112540767B (zh) * | 2020-12-25 | 2023-07-25 | 北京百度网讯科技有限公司 | 程序代码的生成方法、装置、电子设备及存储介质 |
CN112559088A (zh) * | 2020-12-29 | 2021-03-26 | Oppo广东移动通信有限公司 | 配置文件的优化方法、装置、服务器以及存储介质 |
CN112799690B (zh) * | 2021-02-01 | 2024-08-23 | 联想(北京)有限公司 | 信息处理方法、装置、设备和存储介质 |
CN113568634B (zh) * | 2021-06-28 | 2022-05-17 | 荣耀终端有限公司 | 应用优化的处理方法及处理装置 |
CN113377378A (zh) * | 2021-07-02 | 2021-09-10 | 北京百度网讯科技有限公司 | 用于小程序的处理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8543907B1 (en) * | 2009-10-16 | 2013-09-24 | Google Inc. | Context-sensitive optimization level selection |
CN106775893A (zh) * | 2016-12-30 | 2017-05-31 | 北京小米移动软件有限公司 | 对程序预编译的方法及装置 |
CN108153463A (zh) * | 2017-12-27 | 2018-06-12 | 广东欧珀移动通信有限公司 | 应用界面显示控制方法、装置及存储介质和移动终端 |
US10007501B1 (en) * | 2017-05-19 | 2018-06-26 | Central South University | Method of deploying applications rapidly based on customized android platform |
CN109960507A (zh) * | 2017-12-14 | 2019-07-02 | 广东欧珀移动通信有限公司 | 编译优化方法、装置、存储介质、智能终端及服务器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7150012B2 (en) * | 2002-10-15 | 2006-12-12 | Nokia Corporation | Method and apparatus for accelerating program execution in platform-independent virtual machines |
US20110209128A1 (en) * | 2010-02-24 | 2011-08-25 | Nokia Corporation | Systems, methods and apparatuses for facilitating targeted compilation of source code |
KR102492871B1 (ko) * | 2015-12-15 | 2023-01-30 | 삼성전자주식회사 | 사용자 단말장치, 서버, 및 그 어플리케이션 실행 방법 |
-
2019
- 2019-11-28 CN CN201911193357.5A patent/CN111061483B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8543907B1 (en) * | 2009-10-16 | 2013-09-24 | Google Inc. | Context-sensitive optimization level selection |
CN106775893A (zh) * | 2016-12-30 | 2017-05-31 | 北京小米移动软件有限公司 | 对程序预编译的方法及装置 |
US10007501B1 (en) * | 2017-05-19 | 2018-06-26 | Central South University | Method of deploying applications rapidly based on customized android platform |
CN109960507A (zh) * | 2017-12-14 | 2019-07-02 | 广东欧珀移动通信有限公司 | 编译优化方法、装置、存储介质、智能终端及服务器 |
CN108153463A (zh) * | 2017-12-27 | 2018-06-12 | 广东欧珀移动通信有限公司 | 应用界面显示控制方法、装置及存储介质和移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN111061483A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061483B (zh) | 编译优化方法、装置及电子设备 | |
CN111061484B (zh) | 代码编译方法、装置、服务器、用户终端及可读介质 | |
US20190147862A1 (en) | Method and apparatus for providing voice service | |
CN109960507A (zh) | 编译优化方法、装置、存储介质、智能终端及服务器 | |
CN111835760B (zh) | 报警信息处理方法及装置、计算机存储介质、电子设备 | |
CN110941424B (zh) | 编译参数优化方法、装置及电子设备 | |
US11310066B2 (en) | Method and apparatus for pushing information | |
CN108011976B (zh) | 一种上网终端型号的识别方法及计算机设备 | |
CN112464034A (zh) | 用户数据提取方法、装置、电子设备及计算机可读介质 | |
CN111405030B (zh) | 一种消息推送方法、装置、电子设备和存储介质 | |
WO2021203319A1 (zh) | 数据查询方法、装置及服务器 | |
CN113505272B (zh) | 基于行为习惯的控制方法和装置、电子设备和存储介质 | |
CN111954173A (zh) | 发送短信的方法、装置、服务器及计算机可读存储介质 | |
CN106844550B (zh) | 一种虚拟化平台操作推荐方法及装置 | |
CN112559088A (zh) | 配置文件的优化方法、装置、服务器以及存储介质 | |
CN112836057A (zh) | 知识图谱的生成方法、装置、终端以及存储介质 | |
CN115423030A (zh) | 一种设备识别的方法和装置 | |
CN111507400A (zh) | 应用分类方法、装置、电子设备以及存储介质 | |
CN112749327A (zh) | 内容推送方法和装置 | |
CN114356712A (zh) | 数据处理方法、装置、设备、可读存储介质及程序产品 | |
CN112311720A (zh) | 数据的传输方法及装置 | |
CN109697224B (zh) | 一种账单消息处理方法、装置和存储介质 | |
WO2019019387A1 (zh) | 信息推送建议生成方法、装置、计算机设备和存储介质 | |
CN116204428A (zh) | 一种测试用例生成方法和装置 | |
CN112783500B (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 |