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

文件处理方法、装置、服务器、电子设备及存储介质

文献发布时间:2023-06-19 10:22:47


文件处理方法、装置、服务器、电子设备及存储介质

技术领域

本申请涉及计算机技术领域,更具体地,涉及一种文件处理方法、装置、服务器、电子设备及存储介质。

背景技术

随着移动网络的不断发展,各类电子设备也越来越普及。为了维持良好的用户体验,电子设备的系统服务商通常会定期或不定期地,为电子设备提供操作系统更新服务。然而,随着操作系统应用体积的不断增大,以及应用版本发布的不断更迭,导致电子设备进行系统安装/升级的时间也越来越长,影响了电子设备的使用体验。

发明内容

鉴于上述问题,本申请提出了一种文件处理方法、装置、服务器、电子设备及存储介质,可改善上述问题。

第一方面,本申请实施例提供了一种文件处理方法,所述方法包括:获取指定应用程序对应的编译文件,所述编译文件为对所述指定应用程序的源代码进行编译得到的可执行文件;添加所述编译文件至系统安装包内,以使电子设备根据所述系统安装包对系统进行安装时,从所述系统安装包中提取所述编译文件。

第二方面,本申请实施例提供了一种文件处理方法,所述方法包括:接收系统安装包,所述系统安装包中包含有指定应用程序对应的编译文件;在根据所述系统安装包对系统进行安装时,从所述系统安装包中提取所述编译文件。

第三方面,本申请实施例提供了一种文件处理装置,所述装置包括:文件获取模块,用于获取指定应用程序对应的编译文件,所述编译文件为对所述指定应用程序的源代码进行编译得到的可执行文件;文件添加模块,用于添加所述编译文件至系统安装包内,以使电子设备根据所述系统安装包对系统进行安装时,从所述系统安装包中提取所述编译文件。

第四方面,本申请实施例提供了一种文件处理装置,其特征在于,所述装置包括:系统获取模块,用于接收系统安装包,所述系统安装包中包含有指定应用程序对应的编译文件;系统安装模块,用于在根据所述系统安装包对系统进行安装时,从所述系统安装包中提取所述编译文件。

第五方面,本申请实施例提供了一种服务器,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述第一方面提供的文件处理方法

第六方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述第二方面提供的文件处理方法。

第七方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的文件处理方法。

第八方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第二方面提供的文件处理方法。

本申请提供的方案,通过获取指定应用程序对应的编译文件,该编译文件为对指定应用程序的源代码进行编译得到的可执行文件,然后添加该编译文件至系统安装包内,使得电子设备根据该系统安装包对系统进行安装时,可以直接从该系统安装包中提取出指定应用程序的编译文件。如此,通过在系统安装包中加入指定应用程序的编译文件,从而电子设备在系统安装过程中无需再对指定应用程序进行编译,只需从系统安装包中直接提取指定应用程序的编译文件,节省了电子设备的系统安装时间,提高了电子设备的使用体验。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本申请实施例提供的应用场景的一种示意图。

图2示出了本申请实施例提供的应用场景的另一种示意图。

图3示出了根据本申请一个实施例的文件处理方法的一种流程图。

图4示出了根据本申请另一个实施例的文件处理方法的一种流程图。

图5示出了根据本申请另一个实施例的文件处理方法中步骤S210的一种流程图。

图6示出了根据本申请另一个实施例的文件处理方法中步骤S210的另一种流程图。

图7示出了根据本申请另一个实施例的文件处理方法中步骤S210的又一种流程图。

图8示出了根据本申请另一个实施例的文件处理方法中步骤S220的一种流程图。

图9示出了根据本申请又一个实施例的文件处理方法的一种流程图。

图10示出了根据本申请一个实施例的文件处理装置的一种框图。

图11示出了根据本申请另一个实施例的文件处理装置的一种框图。

图12是本申请实施例的用于执行根据本申请实施例的文件处理方法的电子设备的框图。

图13是本申请实施例的用于执行根据本申请实施例的文件处理方法的服务器的框图。

图14是本申请实施例的用于保存或者携带实现根据本申请实施例的文件处理方法的程序代码的存储单元。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

目前,在电子设备的系统安装包(如安卓(Android)操作系统升级、更新时的安装包)中通常会包含一些常用应用程序(Application,APP)安装包,且在电子设备的系统安装过程中,通常会逐一对这些APP进行编译,使得系统安装后这些APP无须安装就能直接使用。其中,系统安装包中包含的APP,也可称为内建APP(system built-in app)。

然而,正因为系统安装过程中,需要逐一对内建APP进行编译,因此,当系统安装包中的内建APP较多时,随之带来的系统安装时间也增多。此外,每在一个电子设备的系统软件安装过程中,这些内建APP均会被编译一遍,这也就意味着,内建APP编译带来的时间、计算资源和能量损耗,与其安装在电子设备的数量成正比,电子设备数量越多内建APP编译带来的损耗就越多。

发明人经过长期的研究发现并提出了本申请实施例提供的文件处理方法、装置、服务器、电子设备以及存储介质,可在系统软件打包之前,对内建APP进行编译,从而在系统安装包打包时,可直接将内建APP编译得到的编译文件纳入系统安装包内。如此,当电子设备安装系统时,可直接从系统安装包内将内建APP的编译文件提取出来,而不必再对指定应用程序进行编译,从而节省了电子设备因内建APP编译带来的时间、计算资源和电池电量的损耗。具体的文件处理方法在后续的实施例中进行详细的说明。

下面对本申请实施例提供的应用场景进行介绍。

在一些实施方式中,请参阅图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:获取指定应用程序对应的编译文件,所述编译文件为对所述指定应用程序的源代码进行编译得到的可执行文件。

在本申请实施例中,为了节省电子设备的系统安装时间,可以在电子设备安装系统前,提前对系统安装包内的应用程序进行编译处理,从而电子设备在系统安装过程中,因不再对系统安装包内的应用程序进行编译,使得系统安装时间大大减少的同时,也节省了由应用程序的编译带来的计算资源和能量的损耗。

具体地,服务器可以获取指定应用程序对应的编译文件,其中,该编译文件为对该指定应用程序的源代码进行编译得到的可执行文件。也即,指定应用程序的编译已在服务器打包系统安装包之前完成,从而服务器可以获取到指定应用程序对应的编译文件。

其中,上述编译可以理解将某种编程语言写成的源代码(原始语言)转换成另一种编程语言(目标语言)。其目的主要是将便于人编写、阅读、维护的高级计算机语言所写作的源代码程序,翻译为计算机能解读、运行的低阶机器语言的程序,也就是可执行文件。也就是说,上述服务器获取到的指定应用程序对应的编译文件中的文件其实是二进制的机器代码。

在一些实施例中,上述指定应用程序可以是每次系统更新或升级时,系统安装包内包含的应用程序,也即前述内建APP。其可以是系统自带的应用程序,如信息应用程序,电话应用程序,相机应用程序,日历应用程序等,也可以是非系统自带的应用程序,如应用商店上的主流应用程序:即时通信应用程序、游戏应用程序、新闻客户端等,具体的应用程序类型在此并不作限定。

在一些实施例中,服务器可以先确定当前系统更新或升级时,系统安装包中待携带的、或已经携带的指定应用程序的源代码也即安装包,从而服务器可以根据待携带的、或已经携带的指定应用程序的源代码,获取到该指定应用程序对应的编译文件。其中,该编译文件可以是由服务器对指定应用程序的源代码进行编译得到,也可以是由其他设备对指定应用程序的源代码进行编译后,将编译文件传输至服务器,此处并不作限定。

步骤S120:添加所述编译文件至系统安装包内,以使电子设备根据所述系统安装包对系统进行安装时,从所述系统安装包中提取所述编译文件。

在本申请实施例中,服务器在获取到指定应用程序对应的编译文件后,可以将编译文件添加至系统安装包内。具体地,服务器可以是在对系统安装包进行打包时,将指定应用程序对应的编译文件一并打包至系统安装包中,从而电子设备在获取到系统安装包,并根据系统安装包对系统进行安装时,可以从系统安装包中提取到上述编译文件。

在一些实施例中,电子设备从系统安装包中提取到上述编译文件后,可以将该编译文件存储到电子设备中与指定应用程序对应的指定存储位置。进而系统安装后,指定应用程序可无须安装直接使用。

在一些实施例中,上述系统安装包可以是系统在当前版本内更新时的更新安装包,也可以是系统从一个版本升级到另一个版本(通常是低版本升级高版本)的升级安装包,还可以是重装系统时任意选择的一个版本的系统安装包,此处并不作限定。

在一些实施例中,上述系统安装包可以是还未打包的系统安装包,此时系统安装包中可以是已放入指定应用程序的源代码,也可以是未放入指定应用程序的源代码。在另一些实施例中,上述系统安装包也可以是现有的已经打包好的系统安装包,其中可包含未编译的指定应用程序的源代码。

作为一种方式,当上述系统安装包中不包含未编译的指定应用程序的源代码时,通过将编译后的指定应用程序的编译文件添加至该系统安装包,在打包生成最终的系统安装包后,可使得最终生成的系统安装包中仅包含编译文件,从而减少系统安装包的文件大小的同时,也减少了系统安装包传输至电子设备的传输时间。

作为另一种方式,当上述系统安装包中包含有未编译的指定应用程序的源代码时,通过将编译后的指定应用程序的编译文件添加至该系统安装包,在打包生成最终的系统安装包后,可使得最终生成的系统安装包同时包含有指定应用程序的源代码和编译文件。从而电子设备根据系统安装包对系统进行安装时,可直接提取该指定应用程序的编译文件并进行存储,同时也可将指定应用程序的源代码进行存储,并不进行编译。等到系统安装成功后,电子设备需要运行指定应用程序时,如果运行成功,可删除存储的该指定应用程序的源代码;如果未运行成功,可认为编译文件存在问题,此时可提取出存储的指定应用程序的源代码并进行编译,根据新得到的编译文件运行指定应用程序。如此,可避免因系统安装包中的编译文件异常导致无法运行指定应用程序的情况,提高了指定应用程序的运行成功率。

本申请实施例提供的文件处理方法,通过获取指定应用程序对应的编译文件,该编译文件为对指定应用程序的源代码进行编译得到的可执行文件,然后添加该编译文件至系统安装包内,使得电子设备根据该系统安装包对系统进行安装时,可以直接从该系统安装包中提取出指定应用程序的编译文件。如此,通过在系统安装包中加入指定应用程序的编译文件,从而电子设备在系统安装过程中无需再对指定应用程序进行编译,只需从系统安装包中直接提取指定应用程序的编译文件,节省了电子设备的系统安装时间,提高了电子设备的使用体验。

请参阅图4,图4示出了本申请另一个实施例提供的文件处理方法的流程示意图。该文件处理方法可以应用于上述文件处理系统中的服务器。下面将以服务器为例,说明本实施例的具体流程。下面将针对图4所示的流程进行详细的阐述,所示文件处理方法具体可以包括以下步骤:

步骤S210:获取指定应用程序对应的编译文件,所述编译文件为对所述指定应用程序的源代码进行编译得到的可执行文件。

在一些实施例中,由于系统每次更新、升级时,更新和升级的内容类型、数量通常都不同,若系统安装包中更新和升级的指定应用程序比较少时,在系统安装过程中,对指定应用程序进行编译的编译时长也会比较短。因此,可以不用每次都提前对指定应用程序进行编译。具体的,请参阅图5,步骤S210可以包括:

步骤S211:获取指定应用程序对应的安装参数信息。

其中,安装参数信息可以是用来分析是否有必要对当前系统安装包中待携带的、或已携带的指定应用程序进行提前编译的评估参数,其可以是从编译时长、编译重要性等多角度评估。例如,从编译时长来评估时,指定应用程序对应的安装参数信息可以是指定应用程序的数量、源代码的文件大小等,从编译重要性来评估时,可以是指定应用程序的应用类型、使用频率、使用时长等。此处并不作限定。

在一些实施例中,当指定应用程序对应的安装参数信息是指定应用程序的数量、源代码的文件大小、应用类型(如影视类型、游戏类型)时,服务器可在获取到指定应用程序的安装包或源代码时,即可通过计算识别得到指定应用程序对应的安装参数信息。在另一些实施例中,当指定应用程序对应的安装参数信息是指定应用程序的应用类型(如主流热门应用、冷门应用)、使用频率、使用时长时,服务器可通过其他平台的数据库获取到指定应用程序对应的安装参数信息。例如,通过获取应用商店平台上的记录的应用下载排行榜数据,来确定指定应用程序的应用类型,通过获取电子设备服务商的用户使用行为数据库,来确定指定应用程序的使用频率、使用时长等。

步骤S212:当所述安装参数信息满足预设的安装参数条件时,获取所述指定应用程序对应的编译文件。

在一些实施例中,在获取到指定应用程序对应的安装参数信息后,可以判断该安装参数信息是否满足预设的安装参数条件。当安装参数信息满足预设的安装参数条件时,可认为有必要对当前系统安装包中待携带的、或已携带的指定应用程序进行提前编译,也即服务器可获取指定应用程序对应的编译文件,以便后续将该编译文件加入系统安装包中。而当安装参数信息不满足预设的安装参数条件时,可认为没有必要对当前系统安装包中待携带的、或已携带的指定应用程序进行提前编译,也即服务器可不用获取指定应用程序对应的编译文件,直接将包含有未编译的指定应用程序源代码的系统安装包进行发布。

其中,上述预设的安装参数条件,可以是一种用于有必要对当前系统安装包中待携带的、或已携带的指定应用程序进行提前编译处理时,安装参数信息需要满足的条件,也即一旦满足该安装参数条件,即可认为当前不必对指定应用程序进行提前编译。具体地安装参数条件可以根据实际场景需求提前设置,此处不作限定。

作为一种方式,上述安装参数信息可以包括指定应用程序的数量,预设的安装参数条件可以是预设的指定应用程序的数量阈值条件。其中,指定应用程序的数量可以是系统安装包中计划要携带的指定应用程序的源代码文件个数,通常与指定应用程序的个数对应,也即3个指定应用程序,其对应的源代码文件个数也有3个。

具体地,可以是当指定应用程序的数量大于第一阈值时,认为指定应用程序的安装参数信息满足预设的安装参数条件,此时服务器可获取所述指定应用程序对应的编译文件。而当指定应用程序的数量不大于第一阈值时,认为指定应用程序的安装参数信息不满足预设的安装参数条件,此时服务器可不用获取指定应用程序对应的编译文件,直接将包含有未编译的指定应用程序源代码的系统安装包进行发布。

其中,第一阈值可以是预设的指定应用程序的数量阈值条件中的最低阈值门限,也即如果指定应用程序的数量大于该最低门限条件,即可认为有必要对指定应用程序进行提前编译,具体的第一阈值可以根据实际需求合理设置,此处不作限定。例如,可以是3、4等。

在另一些实施例中,安装参数信息包括指定应用程序的源代码的文件大小,预设的安装参数条件可以是预设的指定应用程序的源代码的文件大小阈值条件。具体地,可以是当指定应用程序的源代码的文件大小大于第二阈值时,认为指定应用程序的安装参数信息满足预设的安装参数条件,此时服务器可获取指定应用程序对应的编译文件。而当指定应用程序的源代码的文件大小不大于第二阈值时,认为指定应用程序的安装参数信息不满足预设的安装参数条件,此时服务器可不用获取指定应用程序对应的编译文件,直接将包含有未编译的指定应用程序源代码的系统安装包进行发布。

其中,第二阈值可以是预设的指定应用程序的源代码的文件大小阈值条件中的最低阈值门限,也即如果指定应用程序的数量大于该最低门限条件,即可认为有必要对指定应用程序进行提前编译,具体的第二阈值可以根据实际需求合理设置,此处不作限定。例如,可以是50M、100M等。

在又一些实施例中,安装参数信息包括指定应用程序的应用类型,预设的安装参数条件可以是预设的热门应用类型。具体地,可以是当指定应用程序的应用类型为热门应用类型时,认为指定应用程序的安装参数信息满足预设的安装参数条件,此时服务器可获取指定应用程序对应的编译文件。而当当指定应用程序的应用类型不为热门应用类型时,认为指定应用程序的安装参数信息不满足预设的安装参数条件,此时服务器可不用获取指定应用程序对应的编译文件,直接将包含有未编译的指定应用程序源代码的系统安装包进行发布。

可以理解的是,若指定应用程序为热门应用,可认为该指定应用程序很有可能在系统安装成功后的短时间内被运行,此时需要对该指定应用程序进行提前编译,服务器可将指定应用程序的编译文件纳入系统安装包内,并一起发布,从而在电子设备的系统安装过程中,无需再对该热门应用进行编译,既节省了系统安装的时间,也保证了指定运行程序的及时运行。

可以理解的是,若指定应用程序为非热门应用,可认为该指定应用程序很有可能不会在系统安装成功后的短时间内被运行,此时无需对该指定应用程序进行提前编译,此时服务器可不用获取指定应用程序对应的编译文件,直接将包含有未编译的指定应用程序源代码的系统安装包进行发布,减小了系统安装包的大小的同时,降低了电子设备的下载流量消耗。进一步地,在电子设备的系统安装过程中,也无需对该非热门应用的源代码进行编译,直接将非热门应用的源代码进行存储,等到电子设备空闲时,才对非热门应用的源代码进行编译。既节省了系统安装的时间,也尽量保证了非热门应用的运行不被影响。

需要说明的是,上述安装参数信息以及安装参数条件仅为举例,也可以是其他安装参数信息,其他安装参数条件。具体的安装参数信息以及安装参数条件在此不作限定。例如,可以是上述的安装参数信息以及安装参数条件的任意组合。

在一些实施例中,上述编译文件可以由其他终端编译所得,从而服务器可从其他终端处获取到该编译文件。具体的,上述获取指定应用程序对应的编译文件,可以包括:接收其他终端上传的指定应用程序对应的编译文件,所述编译文件为所述其他终端对所述指定应用程序的源代码进行编译获得的可执行文件。其中,其他终端可以是除了本申请的执行主体服务器以外的任一终端设备,可以其他服务器、其他电子设备,在并不作限定。

具体地,其他终端在对指定应用程序的源代码进行编译获得可执行文件后,可以将该可执行文件作为编译文件上传至服务器,从而服务器可以接收到其他终端上传的指定应用程序对应的编译文件。

在一些实施例中,由于不同终端的编译环境可能不同,从而使得编译所得到编译文件也可能不同,进而使得有些终端编译出来的编译文件存在问题,电子设备无法根据该编译文件运行指定应用程序。因此,需要对其他终端进行判断,以确定其编译出来的编译文件是否可行。具体的,请参阅图6,上述接收其他终端上传的指定应用程序对应的编译文件,可以包括:

步骤S213:接收其他终端发送的上传请求,所述上传请求用于请求上传指定应用程序的编译文件。

其他终端在编译出指定应用程序的编译文件时,可以向服务器发送上传请求,请求上传指定应用程序的编译文件,从而服务器可接收到其他终端发送的上传请求,并根据该上传请求做出响应。

在一些实施例中,服务器可以接收指定数量的上传请求,以从中选取最优的编译文件。服务器也可以接收指定类型的其他终端的上传请求,从而可以根据不同类型的终端的编译文件,生成不同的系统安装包,从而适用于不同电子设备的下载安装。在此并不作限定。

步骤S214:判断所述其他终端的终端参数是否满足预设的终端参数条件。

步骤S215:当所述其他终端的终端参数满足所述终端参数条件时,向所述其他终端返回上传指令。

服务器在接收其他终端发送的上传请求后,可以判断其他终端的终端参数是否满足预设的终端参数条件,当其他终端的终端参数满足终端参数条件时,可认为该其他终端编译出来的编译文件可用,可以与系统安装阿包一并发布,此时服务器可向其他终端返回上传指令,以指示其他终端上传指定应用程序的编译文件。而当其他终端的终端参数不满足终端参数条件时,可认为该其他终端编译出来的编译文件不可用,不可以与系统安装阿包一并发布,此时服务器可向其他终端返回拒绝指令,或者不作回应,以指示其他终端不用上传指定应用程序的编译文件。

在一些实施例中,同类型的终端编译出来的编译文件,通常可以在同类型的电子设备成功执行。因此,上述终端参数可以是其他终端的设备类型,该设备类型可以是设备型号、设备厂商等。在一些实施例中,由于同一类型的终端安装的系统版本号不同,使得编译环境也有可能不同,导致编译文件虽然是统一设备类型,但因不是统一系统版本号的电子设备无法成功执行编译文件。因此,上述终端参数也可以是其他终端的操作系统类型、操作系统版本号等。此处并不作限定。

步骤S216:接收所述其他终端根据所述上传指令上传的所述指定应用程序对应的编译文件。

服务器向其他终端返回上传指令后,可以处于等到接收状态,以接收其他终端根据上传指令上传的指定应用程序对应的编译文件,从而服务器可获取到可用的指定应用程序对应的编译文件。

在一些实施例中,若其他终端的终端参数不满足终端参数条件,也可通过检测其他终端的编译环境是否合格,若其编译环境合格,其编译出来的编译文件也是可用的。具体地,请参阅图7,上述接收其他终端上传的指定应用程序对应的编译文件,可以包括:

步骤S217:当所述其他终端的终端参数不满足所述终端参数条件时,检测所述其他终端的编译环境是否满足预设的编译环境条件。

由于其他终端的终端参数不满足上述终端参数条件,因此,其他终端上搭建的编译环境,都可认为是电子设备(目标机)的跨平台编译环境。该跨平台编译环境需要经过正确性验证。若该跨平台编译环境通过正确性验证,可认为该跨平台编译环境编译的编译文件可用。

具体地,可通过判断其他终端的编译环境是否满足预设的编译环境条件,来确定是否通过正确性验证。其中,预设的编译环境条件可包括两方面:一个可以是跨平台编译出的编译文件,与电子设备编译出的编译文件,比对一致;另一个可以是跨平台编译出的编译文件在电子设备上安装后,能正确运行,且其运行的性能不差于电子设备编译出的编译文件。具体而言就是,经过其编译的APP能在电子设备上正确运行,并且无性能损失,该其他终端的编译环境即满足编译环境条件。

步骤S218:当所述其他终端的编译环境满足所述编译环境条件时,接收其他终端上传的指定应用程序对应的编译文件。

当其他终端的编译环境满足上述编译环境条件时,服务器也可向其他终端返回上传指令,以指示其他终端上传指定应用程序的编译文件,从而服务器可接收到其他终端上传的指定应用程序对应的编译文件。而当其他终端的编译环境不满足编译环境条件时,可认为该其他终端编译出来的编译文件不可用,不可以与系统安装阿包一并发布,此时服务器可向其他终端返回拒绝指令,或者不作回应,以指示其他终端不用上传指定应用程序的编译文件。

在一些实施例中,编译文件也可以是由服务器进行编译。具体地,也可以在服务器上,搭建电子设备的跨平台编译环境,该跨平台编译环境同样也需经过上述的正确性验证。从而服务器可以将自己编译出来的编译文件添加至系统安装包中一并发布。

步骤S220:添加所述编译文件至系统安装包内,以使电子设备根据所述系统安装包对系统进行安装时,从所述系统安装包中提取所述编译文件。

在一些实施例中,可根据不同设备类型、不同系统版本号,生成系统安装包。具体地,请参阅图8,在步骤S220之后,本申请的文件处理方法还可以包括:

步骤S221:根据所述终端参数条件,生成安装包标识。

在一些实施例中,当其他终端的终端参数满足上述终端参数条件时,或者当其他终端的终端参数满足不上述终端参数条件,但其编译环境满足上述编译环境条件时,可认为服务器从该其他终端获取的指定应用程序的编译文件,都可适用于与终端参数条件匹配的电子设备执行。从而可根据终端参数条件,生成安装包标识,从而与终端参数条件匹配的电子设备,可根据该安装包标识,准确下载到适合自己的系统安装包。

可以理解的是,当服务器设定不同的终端参数条件时,服务器可接受到不同的其他终端上传的指定应用程序的编译文件,然后分别添加至相同的系统安装包中,从而生成多个类型的系统安装包。为了区别这些系统安装包,服务器可对应根据不同的终端参数条件,生成不同的安装包标识。其中,安装包标识可以是终端参数条件中所要求的终端参数,例如,设备型号、设备上安装的系统版本号等。

步骤S222:生成与安装包标识对应的系统安装包。

服务器在生成与所述终端参数条件对应的安装包标识后,可以建立该安装包标识与系统安装包的对应关系。也即将同一终端参数条件对应的安装包标识与系统安装包进行绑定,从而生成与安装包标识对应的系统安装包,以便于与终端参数条件匹配的电子设备可根据安装包标识,快速查找到合适的系统安装包使用。

步骤S230:接收所述电子设备发送的下载请求,所述下载请求用于请求下载所述系统安装包。

其中,下载请求可以是由电子设备生成并发送至服务器,该下载请求用于请求下载上述系统安装包。从而服务器可以接收到电子设备发送的下载请求,以根据该下载请求进行响应。

在一些实施例中,电子设备可以根据用户的用户操作,生成上述下载请求,再发送至服务器,从而服务器接收到下载请求,例如,终端设备检测到在系统设备的界面中对系统版本的更新操作,进而生成获取该系统安装包的下载请求。

步骤S240:响应所述下载请求,将所述系统安装包发送至所述电子设备。

服务器在接收到电子设备发送的下载请求后,可以响应该下载请求,将当前系统更新/升级的系统安装包发送至电子设备。其中,服务器也可根据电子设备的终端参数,发送相匹配的系统安装包至该电子设备。

本申请实施例提供的文件处理方法,通过获取指定应用程序对应的安装参数信息,以判断该指定应用程序的源代码是否有必要提前编译。具体地,当该安装参数信息满足预设的安装参数条件时,可认为该指定应用程序的源代码需要提前编译,此时可获取指定应用程序对应的编译文件,并添加改编译文件至系统安装包内。当接收到电子设备发送的下载请求时,可以响应该下载请求,并将系统安装包发送至电子设备,使得电子设备根据系统安装包对系统进行安装时,可直接从系统安装包中提取出该编译文件。如此,可在每次打包系统安装包时,通过内建APP的安装参数信息,来评估当前是否需要对内建APP进行提前编译。以在内建APP的安装参数信息满足一定条件时,才会在系统安装包中加入指定应用程序的编译文件,以使电子设备在系统安装过程中无需再对指定应用程序进行编译,只需从系统安装包中直接提取指定应用程序的编译文件,节省了电子设备的系统安装时间,提高了电子设备的使用体验。也即实现了提前编译的选择性处理。

请参阅图9,图9示出了本申请又一个实施例提供的文件处理方法的流程示意图。该文件处理方法可以应用于上述文件处理系统中的电子设备。下面将以电子设备为例,说明本实施例的具体流程。下面将针对图9所示的流程进行详细的阐述,所示文件处理方法具体可以包括以下步骤:

步骤S310:接收系统安装包,所述系统安装包中包含有指定应用程序对应的编译文件。

步骤S320:在根据所述系统安装包对系统进行安装时,从所述系统安装包中提取所述编译文件。

在一些实施例中,电子设备在检测到有新的系统安装包存在时,可接收该系统安装包。其中,该系统安装包中包含有指定应用程序对应的编译文件。具体可参阅前述相关描述。

电子设备在根据接收到的系统安装包对系统进行安装时,可以直接从系统安装包中提取出指定应用程序对应的编译文件。从而电子设备在系统安装过程中无需再对指定应用程序进行编译,只需从系统安装包中直接提取指定应用程序的编译文件,节省了电子设备的系统安装时间,提高了电子设备的使用体验。

作为一种实施方式,电子设备可以在提取出该指定应用程序对应的编译文件后,可将其存入电子设备中与指定应用程序对应的指定存储位置,进而系统安装后,该指定应用程序无须安装可直接使用。

在一些实施例中,当指定应用程序的安装参数信息为指定应用程序的应用类型时,若服务器已根据指定应用程序的安装参数信息,评估出对指定应用程序不作提前编译时,电子设备在系统安装过程中也无需对指定应用程序进行编译,可以等到系统安装成功后,在电子设备的空闲状态下再对指定应用程序进行编译。

具体地,电子设备可以根据接收到系统安装包是否存在指定应用程序的编译文件,来确定是否在系统安装过程中,对指定应用程序进行编译。若接收到系统安装包未存在指定应用程序的编译文件,表明服务器已根据指定应用程序的应用类型,评估出该指定应用程序非热门或高频应用,所以未对指定应用程序作提前编译,从而下发的系统安装包中不存在指定应用程序的编译文件,因此,电子设备可确定出该指定应用程序的重要性比较低,可以不必在系统安装过程中对其进行编译,可以等到系统安装成功后,在电子设备的空闲状态下再对该指定应用程序进行编译。

本申请实施例提供的文件处理方法,通过接收包含有指定应用程序对应的编译文件的系统安装包,使得电子设备根据该系统安装包对系统进行安装时,可直接从系统安装包中提取出该编译文件。如此,通过在系统安装包中加入指定应用程序的编译文件,可以使电子设备在系统安装过程中无需再对指定应用程序进行编译,只需从系统安装包中直接提取指定应用程序的编译文件,节省了电子设备的系统安装时间,提高了电子设备的使用体验。

请参阅图10,其示出了本申请实施例提供的一种文件处理装置700的结构框图,该文件处理装置700包括:文件获取模块710以及文件添加模块720。其中,文件获取模块710用于获取指定应用程序对应的编译文件,所述编译文件为对所述指定应用程序的源代码进行编译得到的可执行文件;文件添加模块720用于添加所述编译文件至系统安装包内,以使电子设备根据所述系统安装包对系统进行安装时,从所述系统安装包中提取所述编译文件。

在一些实施例中,文件获取模块710可以包括:参数获取单元以及参数判断单元。其中,参数获取单元用于获取指定应用程序对应的安装参数信息;参数判断单元用于当所述安装参数信息满足预设的安装参数条件时,获取所述指定应用程序对应的编译文件。

在一些实施例中,上述安装参数信息可以包括指定应用程序的数量,上述参数判断单元可以具体用于:当所述数量大于第一阈值时,获取所述指定应用程序对应的编译文件。

在一些实施例中,上述安装参数信息也可以包括指定应用程序的源代码的文件大小,上述参数判断单元也可以具体用于:当所述文件大小大于第二阈值时,获取所述指定应用程序对应的编译文件。

在一些实施例中,文件获取模块710可以包括:文件接收单元,用于接收其他终端上传的指定应用程序对应的编译文件,所述编译文件为所述其他终端对所述指定应用程序的源代码进行编译获得的可执行文件。

在一些实施例中,上述文件接收单元可以具体用于:接收其他终端发送的上传请求,所述上传请求用于请求上传指定应用程序的编译文件;判断所述其他终端的终端参数是否满足预设的终端参数条件;当所述其他终端的终端参数满足所述终端参数条件时,向所述其他终端返回上传指令;接收所述其他终端根据所述上传指令上传的所述指定应用程序对应的编译文件。

在另一些实施例中,上述文件接收单元也可以具体用于:当所述其他终端的终端参数不满足所述终端参数条件时,检测所述其他终端的编译环境是否满足预设的编译环境条件;当所述其他终端的编译环境满足所述编译环境条件时,接收其他终端上传的指定应用程序对应的编译文件。

在一些实施例中,该文件处理装置700还可以包括:标识生成模块以及安装包生成模块。其中,标识生成模块用于根据所述终端参数条件,生成安装包标识;安装包生成模块用于生成与安装包标识对应的系统安装包。

在一些实施方式中,该文件处理装置700还可以包括:请求获取模块以及安装包发送模块。其中,请求获取模块用于接收所述电子设备发送的下载请求,所述下载请求用于请求下载所述系统安装包;安装包发送模块用于响应所述下载请求,将所述系统安装包发送至所述电子设备。

请参阅图11,其示出了本申请实施例提供的一种文件处理装置800的结构框图,该文件处理装置800包括:系统获取模块810以及系统安装模块820。其中,系统获取模块810用于接收系统安装包,所述系统安装包中包含有指定应用程序对应的编译文件;系统安装模块820用于在根据所述系统安装包对系统进行安装时,从所述系统安装包中提取所述编译文件。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

本申请实施例还提供了一种文件处理系统,该文件处理系统包括电子设备以及服务器。所述服务器与所述电子设备通信连接,例如,请再次参阅图1,服务器可以为第一服务器200。其中,所述服务器用于获取指定应用程序对应的编译文件,所述编译文件为对所述指定应用程序的源代码进行编译得到的可执行文件;所述服务器还用于添加所述编译文件至系统安装包内;所述电子设备用于接收所述系统安装包,并在根据所述系统安装包对系统进行安装时,从所述系统安装包中提取所述编译文件。

综上所述,本申请实施例提供的文件处理装置用于实现前述方法实施例中相应的文件处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。

请参考图12,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备100可以是PC电脑、移动终端等能够运行应用程序的终端设备。本申请中的电子设备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所示结构仅为示例,电子设备100还可以包括比图12所示更多或更少的组件,或是具有与图12所示完全不同的配置。本申请实施例对此没有限制。

请参考图13,其示出了本申请实施例提供的一种服务器的结构框图。该服务器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所示结构仅为示例,服务器600还可以包括比图13所示更多或更少的组件,或是具有与图13所示完全不同的配置。本申请实施例对此没有限制。

请参考图14,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。

计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

相关技术
  • 文件处理方法、装置、服务器、电子设备及存储介质
  • 车载超文本标记语言文件处理方法、电子设备、服务器处理方法及服务器
技术分类

06120112519129