CN111596936A - 应用程序的更新方法及装置 - Google Patents
应用程序的更新方法及装置 Download PDFInfo
- Publication number
- CN111596936A CN111596936A CN202010399361.3A CN202010399361A CN111596936A CN 111596936 A CN111596936 A CN 111596936A CN 202010399361 A CN202010399361 A CN 202010399361A CN 111596936 A CN111596936 A CN 111596936A
- Authority
- CN
- China
- Prior art keywords
- application
- folder
- target
- application program
- version
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种应用程序的更新方法、装置及系统,涉及信息处理领域。应用程序发布设备可以将目标版本的应用程序的新增应用资源,添加至该应用程序的根目录包括的目标文件夹中,并将该目标文件夹发送至应用服务器以供终端设备下载。由于该目标文件夹中仅添加有新增应用资源,因此目标文件夹较小,终端设备下载该目标文件夹所需的时间较短,从而有效提高了终端设备更新应用程序的效率。
Description
技术领域
本申请涉及信息处理领域,特别涉及一种应用程序的更新方法及装置。
背景技术
为了改善应用程序的性能,提高用户体验,应用程序发布平台可以不断对应用程序进行更新。
相关技术中,对于待更新的应用程序,应用程序发布平台可以将新增的应用资源添加至该应用程序的安装包中,从而实现对安装包的更新。终端设备可以下载并安装更新后的安装包,从而实现对应用程序的更新。
但是,相关技术中,将新增的应用资源添加至应用安装包内,会导致应用程序的安装包过大,从而导致终端设备更新应用程序的效率较低。
发明内容
本申请提供了一种应用程序的更新方法及装置,可以解决相关技术的终端设备更新应用程序的效率较低的问题。所述技术方案如下:
一方面,提供了一种应用程序的更新方法,所述方法包括:
获取目标版本的应用程序的新增应用资源;
从所述应用程序的根目录包括的至少一个文件夹中,确定与所述目标版本对应的目标文件夹;
将所述新增应用资源添加至所述目标文件夹;
向应用服务器发送所述目标文件夹,所述目标文件夹用于供安装有所述应用程序的终端设备下载并更新所述应用程序。
另一方面,提供了一种应用程序的更新方法,所述方法包括:
接收应用程序发布设备发送的目标文件夹,所述目标文件夹中存储有目标版本的应用程序的新增应用资源;
接收终端设备发送的新增应用资源的获取请求,所述获取请求携带有所述终端设备安装的应用程序的版本标识;
响应于所述获取请求,向所述终端设备发送与所述版本标识对应的文件夹,所述文件夹用于供所述终端设备更新所述应用程序。
又一方面,提供了一种应用程序的更新装置,配置在应用程序发布设备中,所述装置包括:
获取模块,用于获取目标版本的应用程序的新增应用资源;
确定模块,用于从所述应用程序的根目录包括的至少一个文件夹中,确定与所述目标版本对应的目标文件夹;
添加模块,用于将所述新增应用资源添加至所述目标文件夹;
发送模块,用于向应用服务器发送所述目标文件夹,所述目标文件夹用于供安装有所述应用程序的终端设备下载并更新所述应用程序。
可选的,所述目标文件夹包括至少一个子文件夹;所述添加模块用于:
根据所述新增应用资源的资源类型或功能,从所述至少一个子文件夹中确定与所述新增应用资源对应的目标子文件夹;
将所述新增应用资源添加至所述目标子文件夹。
可选的,所述确定模块,用于:
根据所述新增应用资源的资源类型或功能,从所述应用程序的根目录包括的至少一个父文件夹中,确定与所述新增应用资源对应的目标父文件夹;
从所述目标父文件夹包括的所述至少一个文件夹中,确定与所述目标版本对应的目标文件夹。
可选的,所述装置还包括:
创建模块,用于在所述至少一个文件夹中不存在与所述目标版本对应的文件夹时,则在所述根目录中创建与所述目标版本对应的目标文件夹。
可选的,所述装置还包括:
转换模块,用于根据所述终端设备的操作系统的类型,将所述新增应用资源的数据格式转换为与所述操作系统匹配的数据格式。
可选的,所述装置还包括:
压缩模块,用于压缩所述目标文件夹;
所述发送模块用于:
向应用服务器发送压缩后的所述目标文件夹。
再一方面,提供了一种应用程序的更新装置,配置在应用服务器中,所述装置包括:
第一接收模块,用于接收应用程序发布设备发送的目标文件夹,所述目标文件夹中存储有目标版本的应用程序的新增应用资源;
第二接收模块,用于接收终端设备发送的新增应用资源的获取请求,所述获取请求携带有所述终端设备安装的应用程序的版本标识;
发送模块,用于响应于所述获取请求,向所述终端设备发送与所述版本标识对应的文件夹,所述文件夹用于供所述终端设备更新所述应用程序。
再一方面,提供了一种应用程序的更新装置,所述装置包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以上述方面所述的应用程序的更新方法。
再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行上述方面所述的应用程序的更新方法。
再一方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在所述计算机上运行时,使得所述计算机执行上述方面所述的应用程序的更新方法。
再一方面,提供了一种应用程序的更新系统,所述系统包括:终端设备、应用程序发布设备以及应用服务器;
所述应用程序发布设备包括上述方面所述的配置在所述应用程序发布设备中的应用程序的更新装置;
所述应用服务器包括上述方面所述的配置在所述应用服务器中的应用程序的更新装置;
所述终端设备安装有所述应用程序。
本申请提供的技术方案带来的有益效果至少包括:
本申请提供了一种应用程序的更新方法及装置,应用程序发布设备可以将目标版本的应用程序的新增应用资源,添加至该应用程序的根目录包括的目标文件夹中,并将该目标文件夹发送至应用服务器以供终端设备下载。由于该目标文件夹中仅添加有新增应用资源,因此目标文件夹较小,终端设备下载该目标文件夹所需的时间较短,从而有效提高了终端设备更新应用程序的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种应用程序的更新系统的结构示意图;
图2是本申请实施例提供的一种应用程序的更新方法的流程图;
图3是本申请实施例提供的另一种应用程序的更新方法的流程图;
图4是本申请实施例提供的又一种应用程序的更新方法的流程图;
图5是本申请实施例提供的一种确定目标文件夹的方法流程图;
图6是本申请实施例提供的一种文件夹的层次结构的示意图;
图7是本申请实施例提供的一种将新增应用资源添加至目标文件夹的方法流程图;
图8是本申请实施例提供的另一种文件夹的层次结构的示意图;
图9是本申请实施例提供的一种安装包的包体大小随安装包的版本变化的曲线示意图;
图10是本申请实施例提供的一种应用程序的更新装置的结构示意图;
图11是本申请实施例提供的另一种应用程序的更新装置的结构示意图;
图12是本申请实施例提供的又一种应用程序的更新装置的结构示意图;
图13是本申请实施例提供的再一种应用程序的更新装置的结构示意图;
图14是本申请实施例提供的再一种应用程序的更新装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供了一种应用程序的更新系统,参见图1,该系统可以包括:终端设备10、应用程序发布设备20以及应用服务器30。该终端设备10可以安装有应用程序10a。该应用服务器30可以为该终端设备10中安装的应用程序的后台服务器。例如,若应用程序10a为游戏应用程序,则该应用服务器可以为游戏服务器。
其中,该应用服务器30可以分别与终端设备10,以及应用程序发布设备20建立通信连接。其中,该终端设备10与应用服务器30间的通信协议可以为超文本传输协议(HyperText Transfer Protocol,HTTP)。
可选的,该终端设备10可以为手机(例如智能手机)、平板电脑、笔记本电脑或者台式电脑等。该应用程序发布设备20可以为笔记本电脑或者台式电脑等。该应用服务器30可以是一台服务器,或者可以是由若干台服务器组成的服务器集群,又或者可以是一个云计算服务中心。该终端设备10安装的应用程序10a可以为游戏应用程序,该游戏应用程序可以由虚幻引擎4(Unreal Engine 4,UE4)开发得到。
在本申请实施例中,应用程序发布设备20可以将该应用程序的新增应用资源添加至该应用程序的根目录包括的目标文件夹中,并将目标文件夹上传至应用服务器30。该终端设备10可以从该应用服务器30下载该目标文件夹,并加载该目标文件夹中存储的新增应用资源以更新其上安装的应用程序10a。
图2是本申请实施例提供的一种应用程序的更新方法的流程图,该方法可以应用于应用程序发布设备,例如图1所示的应用程序发布设备20。参见图2,该方法可以包括:
步骤101、获取目标版本的应用程序的新增应用资源。
其中,目标版本的应用程序的新增应用资源可以是应用程序的开发人员创建并存储在该应用程序发布设备中的。
步骤102、从该应用程序的根目录包括的至少一个文件夹中,确定与该目标版本对应的目标文件夹。
在本申请实施例中,应用程序发布设备的存储器中存储有该应用程序的根目录,该应用程序的根目录可以包括至少一个文件夹。可选的,该至少一个文件夹中的每个文件夹可以对应于应用程序的一个版本,应用程序发布设备可以从至少一个文件夹中确定出与该目标版本对应的目标文件夹。
步骤103、将该新增应用资源添加至该目标文件夹。
应用程序发布设备确定出目标文件夹后,即可将该新增应用资源添加至目标文件夹。
步骤104、向应用服务器发送该目标文件夹。
其中,该目标文件夹用于供安装有该应用程序的终端设备下载并更新该应用程序。在本申请实施例中,应用程序发布设备可以压缩该目标文件夹,并将压缩后的目标文件夹发送至应用服务器,以发布该目标文件夹。
综上所述,本申请实施例提供了一种应用程序的更新方法,应用程序发布设备可以将目标版本的应用程序的新增应用资源,添加至该应用程序的根目录包括的目标文件夹中,并将该目标文件夹发送至应用服务器以供终端设备下载。由于该目标文件夹中仅添加有新增应用资源,因此目标文件夹较小,终端设备下载该目标文件夹所需的时间较短,从而有效提高了终端设备更新应用程序的效率。
并且,由于目标版本的应用程序的新增应用资源均存在目标文件夹内,因此应用程序发布设备可以直接基于该目标文件夹的占用内存的大小,确定目标版本的应用程序的新增应用资源的占用内存的大小,以监控新增应用资源的大小,避免新增应用资源过大导致的用户流失。由于无需人工确定新增应用资源的占用内存的大小,因此有效提高了新增应用资源的占用内存的确定效率。
此外,由于目标版本的应用程序的新增应用资源均存储在目标文件夹,因此在需要删除该新增应用资源时,可以直接删除该目标文件夹,而无需人工从多个版本的应用程序的新增应用资源中,逐个确定并删除目标版本的应用程序的新增应用资源,从而便于对目标版本的应用程序的新增应用资源进行管理和维护。
本申请实施例提供了一种应用程序的更新方法,该方法可以应用于应用服务器,例如图1所示的应用服务器30。参见图3,该方法可以包括:
步骤201、接收应用程序发布设备发送的目标文件夹。
其中,该目标文件夹中存储有目标版本的应用程序的新增应用资源。
步骤202、接收终端设备发送的新增应用资源的获取请求。
在本申请实施例中,终端设备可以向应用服务器发送新增应用资源的获取请求,相应的,该应用服务器可以接收该获取请求,该获取请求可以携带有该终端设备安装的应用程序的版本标识。该版本标识为应用程序的当前版本的版本标识。
步骤203、响应于该获取请求,向终端设备发送与该版本标识对应的文件夹。
应用服务器在接收到获取请求后,可以响应于该获取请求,向终端设备发送与获取请求中携带的版本标识对应的文件夹,以供终端设备基于该文件夹更新其上安装的应用程序。
综上所述,本申请实施例提供了一种应用程序的更新方法,应用服务器可以接收应用程序发布设备发送的,存储有目标版本的应用程序的新增应用资源的目标文件夹,并可以响应于终端设备发送的新增应用资源的获取请求,向终端设备发送,与终端设备安装的应用程序的当前版本的版本标识对应的文件夹。由于该文件夹中仅添加有新增应用资源,因此该文件夹较小,应用服务器向终端设备发送该文件夹所需的时间较短,相应的,终端设备下载该文件夹所需的时间较短,从而有效提高了终端设备更新应用程序的效率。
本申请实施例提供了一种应用程序的更新方法,该方法可以应用于应用程序的更新系统,例如图1所示的系统。参见图4,该方法可以包括:
步骤301、应用程序发布设备获取目标版本的应用程序的新增应用资源。
其中,目标版本的应用程序的新增应用资源可以是应用程序的开发人员创建并存储在该应用程序发布设备中的。
在本申请实施例中,该应用程序可以包括多个版本,应用程序发布设备可以存储有该多个版本中,每个版本的应用程序的新增应用资源。该目标版本可以是多个版本中的任一版本。
可选的,该应用程序可以为游戏应用程序。若应用程序为游戏应用程序,则新增应用资源可以包括:游戏界面、位图图像、游戏视频、游戏声音、游戏文字、游戏道具图标以及游戏模型中的一种或多种。
步骤302、应用程序发布设备检测该应用程序的根目录包括的至少一个文件夹中是否存在与该目标版本对应的文件夹。
在本申请实施例中,应用程序发布设备的存储器中可以存储有该应用程序的根目录,该根目录中存储有至少一个文件夹,应用程序发布设备在获取该新增应用资源后,可以检测该至少一个文件夹(每个文件夹也可以称为一个子目录)中是否存在与该目标版本对应的文件夹。若检测到至少一个文件夹中不存在与该目标版本对应的文件夹,则应用程序发布设备可以执行步骤303。若检测到至少一个文件夹中存在与该目标版本对应的文件夹,则应用程序发布设备可以执行步骤304。
可选的,该至少一个文件夹中的每个文件夹的路径可以与应用程序的一个版本的版本标识对应。也即是,应用程序发布设备中可以记录有应用程序的版本标识与文件夹的路径的对应关系,应用程序发布设备在获取到新增应用资源后,可以检测该对应关系中是否记录有目标版本的版本标识所对应的文件夹的路径。其中,该版本标识可以为应用程序的版本的版本号。
在本申请实施例中,应用程序发布设备检测应用程序的根目录包括的至少一个文件夹中是否存在与该目标版本对应的文件夹的过程可以包括:应用程序发布设备可以先获取目标版本的版本标识,之后可以基于该版本标识,检测文件夹的路径与应用程序的版本标识的对应关系中,是否记录有该版本标识对应的文件夹的路径。
若检测到该对应关系中并未记录与该版本标识对应的文件夹的路径,则应用程序发布设备可以确定至少一个文件夹中不存在与该目标版本对应的文件夹,并执行步骤303。若检测到该对应关系中记录有与该版本标识对应的文件夹的路径,则应用程序发布设备可以确定该至少一个文件夹中存在与该目标版本对应的文件夹,并执行步骤304。
步骤303、应用程序发布设备创建与该目标版本对应的目标文件夹。
若应用程序发布设备检测到该应用程序的根目录包括的至少一个文件夹中不存在与该目标版本对应的文件夹,则可以在该根目录中创建与该目标版本对应的目标文件夹。该目标文件夹与该存储器中已有的其他版本对应的文件夹的存储位置可以相同。
可选的,应用程序发布设备若检测到该应用程序的根目录包括的至少一个文件夹中不存在与该目标版本对应的文件夹,则可以显示用于提示开发人员新建目标文件夹的提示信息。应用程序的开发人员进而可以点击应用程序发布设备的显示屏上的新建文件夹的按键。相应的,应用程序发布设备可以响应于开发人员点击该按键的操作,在该根目录中创建与该目标版本对应的目标文件夹。或者,应用程序发布设备也可以在检测到不存在目标文件夹时,自动在该根目录中创建与该目标版本对应的目标文件夹。
示例的,假设该目标版本的版本标识为0.1.0.0,则应用程序发布设备创建与该目标版本0.1.0.0对应的目标文件夹的路径可以为:I:/game/0_1_0_0,其中0_1_0_0为该目标文件夹的名称。
步骤304、应用程序发布设备从至少一个文件夹中确定与该目标版本对应的目标文件夹。
若应用程序发布设备检测到该根目录包括的至少一个文件夹中存在与该目标版本对应的文件夹,则可以从该至少一个文件夹中确定与该目标版本对应的目标文件夹。
可选的,参见图5,应用程序发布设备从该至少一个文件夹中确定与该目标版本对应的目标文件夹的过程可以包括:
步骤3041、根据新增应用资源的资源类型或功能,从应用程序的根目录包括的至少一个父文件夹中,确定与该新增应用资源对应的目标父文件夹。
在本申请实施例中,目标版本的应用程序的应用资源可以按应用资源的资源类型或功能进行分类,同一类应用资源的存储位置可以相同,以便后续管理和维护应用程序的应用资源。其中,应用程序的应用资源可以划分为若干功能模块,每个功能模块可以用于提供一个应用界面,即将一个应用界面所包括的应用资源划分为一类。
也即是,目标版本的应用程序可以包括至少一个资源类型的应用资源,或者可以包括具有至少一种功能的应用资源,每个资源类型的应用资源,以及每种功能的应用资源均可以新增。应用程序发布设备的存储器中可以存储有该应用程序的根目录,该根目录可以包括至少一个父文件夹,每个父文件夹可以包括至少一个文件夹。
该至少一个父文件夹可以与该至少一个资源类型一一对应。该种情况下,该至少一个父文件夹中的各个父文件夹所存储的应用资源的资源类型不同。
或者,该至少一个父文件夹可以与该至少一种功能一一对应。该种情况下,该至少一个父文件夹中的各个父文件夹所存储的应用资源的功能不同,即各个父文件夹存储的应用资源所属的功能模块不同。
可选的,若应用程序为游戏应用程序,则新增应用资源的资源类型可以包括:蓝图(blueprints)、纹理贴图(texture)、视频、音频、字体、图标(icon)以及静态网格体(staticmesh)。
其中,蓝图可以是指:游戏应用程序的脚本语言的可视化语言。纹理贴图是指:存储在内存里的用于包裹到3D渲染物体的表面的位图。
本申请实施例以该至少一个父文件夹与至少一个资源类型一一对应为例,对从至少一个父文件夹中确定与该新增应用资源对应的目标父文件夹的过程进行示例性说明。
应用程序发布设备在获取新增应用资源后,可以基于该新增应用资源的资源类型从存储的根目录包括的至少一个父文件夹中确定与该资源类型对应的目标父文件夹。可选的,该至少一个父文件夹中的每个父文件夹的路径可以与一种应用资源的类型标识对应。
也即是,应用程序发布设备中可以记录有应用资源的类型标识与父文件夹的路径的对应关系,应用程序发布设备在获取到新增应用资源后,可以基于该新增应用资源的类型标识,从该对应关系中确定与该类型标识对应的父文件夹的路径,从而从该至少一个父文件夹中确定出目标父文件夹。
示例的,参见图6,应用程序发布设备的存储器中可以存储有与类型标识A对应的父文件夹:I:/game/A,以及与类型标识B对应的父文件夹:I:/game/B。并且,该父文件夹A中存储有与版本标识0.1.0.0对应的文件夹:I:/game/A/0_1_0_0,与版本标识0.2.0.0对应的文件夹:I:/game/A/0_2_0_0,以及与版本标识0.3.0.0对应的文件夹:I:/game/A/0_3_0_0。该父文件夹B中存储有与版本标识0.1.0.0对应的文件夹:I:/game/B/0_1_0_0,与版本标识0.2.0.0对应的文件夹:I:/game/B/0_2_0_0,以及与版本标识0.3.0.0对应的文件夹:I:/game/B/0_3_0_0。
假设新增应用资源的资源类型的类型标识为A,应用程序发布设备从应用资源的类型标识与父文件夹的路径的对应关系中,确定的与该类型标识A对应的文件夹的路径为:I:/game/A,则应用程序发布设备即可将位于I盘的名称为game的文件夹中,名称为A的文件夹确定为目标父文件夹。
步骤3042、从该目标父文件夹包括的至少一个文件夹中,确定与该目标版本对应的目标文件夹。
应用程序发布设备在确定目标父文件夹后,可以从该目标父文件夹包括的至少一个文件夹中,确定与目标版本对应的目标文件夹。
可选的,目标父文件夹包括的至少一个文件夹中每个文件夹的路径可以与应用程序的一个版本的版本标识对应。也即是,应用程序发布设备中可以记录有应用程序的版本标识与目标父文件夹所包括的文件夹的路径的对应关系。应用程序发布设备在确定目标版本的版本标识后,可以基于该版本标识从该对应关系中确定与该版本标识对应的文件夹的路径,从而从目标父文件夹包括的至少一个文件夹中确定出目标文件夹。
示例的,假设目标父文件夹的路径为:I:/game/A,目标版本的版本标识为0.1.0.0,应用程序发布设备基于该版本标识从应用程序的版本标识与目标父文件夹包括的文件夹的路径的对应关系中,确定的与该标识0.1.0.0对应的文件夹的路径可以为:I:/game/A/0_1_0_0,则应用程序发布设备可以将父文件夹A中的,名称为0_1_0_0文件夹确定为目标文件夹。
通过执行上述步骤3041和步骤3042,应用程序发布设备确定出目标文件夹既可以与该目标版本对应,又可以与该新增应用资源的资源类型对应。
步骤305、应用程序发布设备将该新增应用资源添加至该目标文件夹。
应用程序发布设备在创建与目标版本的应用程序对应的目标文件夹后,或者从至少一个文件夹中确定出与该目标版本对应的目标文件夹后,可以响应于针对新增应用资源的触控操作,将该新增应用资源添加至目标文件夹。其中,该触控操作可以为移动操作。
在一种可选的实现方式中,应用程序发布设备确定出的目标文件夹,既与该目标版本对应,又与该新增应用资源的资源类型或功能对应。在该种情况下,应用程序发布设备可以直接将该新增应用资源添加至目标文件夹。
在另一种可选的实现方式中,该目标文件夹可以包括至少一个子文件夹,该至少一个子文件夹中的各个子文件夹所存储的应用资源的资源类型不同,或者该各个子文件夹所存储的应用资源的功能不同,即每种资源类型可以对应一个子文件夹,或者每种功能可以对应一个子文件夹。
参见图7,应用程序发布设备将该新增应用资源添加至该目标文件夹的过程可以包括:
步骤3051、根据该新增应用资源的资源类型或功能,从至少一个子文件夹中确定与该新增应用资源对应的目标子文件夹。
在本申请实施例中,应用程序发布设备在获取新增应用资源后,可以基于该新增应用资源的资源类型或功能,从该至少一个子文件夹中确定与该新增应用资源对应的目标子文件夹。
本申请实施例以至少一个子文件夹与至少一个资源类型一一对应为例,对将新增应用资源添加至该目标文件夹的过程进行示例性说明。
可选的,每个子文件夹的路径可以与一种应用资源的类型标识对应。也即是,应用程序发布设备中可以记录有应用资源的类型标识与目标文件夹中子文件夹的路径的对应关系。应用程序发布设备在获取新增应用资源后,可以基于该新增应用资源的类型标识,从该对应关系中确定与该类型标识对应的子文件夹的路径,从而从该至少一个子文件中确定与该资源类型对应的目标子文件夹。此时,该目标子文件夹既可以与该目标版本对应,又可以与该新增应用资源的资源类型对应。
示例的,参见图8,假设应用程序有三个版本,该三个版本的版本标识分别是:0.1.0.0、0.2.0.0和0.3.0.0,则该应用程序发布设备的存储器中可以存储有与版本标识0.1.0.0对应的文件夹:I:/game/0_1_0_0,与版本标识0.2.0.0对应的文件夹:I:/game/0_2_0_0,以及与版本标识0.3.0.0对应的文件夹:I:/game/0_2_0_0。并且,每个文件夹中均包括分别与类型标识A和B对应的子文件夹。例如,文件夹0_1_0_0中存储有与类型标识A对应的文件夹:I:/game/0_1_0_0/A,以及与类型标识B对应的文件夹:I:/game/0_1_0_0/B。文件夹0_2_0_0中存储有与类型标识A对应的文件夹:I:/game/0_2_0_0/A,以及与类型标识B对应的文件夹:I:/game/0_2_0_0/B。文件夹0_3_0_0中存储有与类型标识A对应的文件夹:I:/game/0_3_0_0/A,以及与类型标识B对应的文件夹:I:/game/0_3_0_0/B。
假设目标文件夹的路径为:父文件夹的路径为:I:/game/0_1_0_0,新增应用资源的类型标识为A,则应用程序发布设备可以确定与该类型标识A对应的文件夹的路径为:I:/game/0_1_0_0/A,之后应用程序发布设备可以将目标文件夹中0_1_0_0中的,名称为A子文件夹确定为目标子文件夹。
步骤3052、将该新增应用资源添加至该目标子文件夹。
应用程序发布设备在目标子文件夹后,可以将该新增应用资源添加至该目标子文件夹。
需要说明的是,应用程序发布设备在将该新增应用资源添加至该目标文件夹之后,可以修改该应用程序的配置文件,以在该配置文件中增加该目标文件夹的加载路径,以便后续终端设备可以基于该加载路径加载该新增应用资源,从而更新应用程序。
示例的,假设该应用程序为游戏应用程序,该游戏应用程序的开发平台为UE4,该目标文件夹的名称为0_1_0_0,该游戏应用程序的配置文件为Config/DefaultGame.ini,则应用程序发布设备可以执行命令:[/Script/UnrealEd.ProjectPackagingSettings]+DirectoriesToNeverCook=(Path="0_1_0_0"),以将目标文件夹的加载路径增加至该应用程序的配置文件中。
步骤306、应用程序发布设备根据终端设备的操作系统的类型,将该新增应用资源的数据格式转换为与该操作系统匹配的数据格式。
在本申请实施例中,应用程序发布设备在向应用服务器发送该目标文件夹之前,可以根据终端设备的操作系统的类型,对目标文件夹中存储的新增应用资源进行资源烘焙(cook),以将该新增应用资源的数据格式转换为与该操作系统匹配的数据格式,从而提高新增应用资源在该终端设备上的加载效率。
可选的,应用程序发布设备可以调用对新增应用资源进行资源cook的可执行文件对新增应用资源进行资源cook。
示例的,假设该应用程序为游戏应用程序,该游戏应用程序的开发平台为UE4,则对新增应用资源进行cook的可执行文件的路径可以为:
I:\UE4181\Engine\Binaries\Win64\UE4Editor-Cmd.exe,
对新增应用资源进行cook时在UE4中所建立的工程的工程路径可以为:
I:\Survive\ShadowTrackerExtra.uprojec。
假设操作系统的类型为Android,Android终端设备的数据的纹理格式为ETC2,则应用程序发布设备可以执行下述命令:
I:\UE4181\Engine\Binaries\Win64\UE4Editor-Cmd.exe
I:\Survive\ShadowTrackerExtra.uproject-run=Cook-TargetPlatform=Android_ETC2-CookFlavor=ETC2;
从而将该新增应用资源的数据格式转换为与Android操作系统匹配的数据格式。其中,该命令中的TargetPlatform用于指示操作系统的类型,CookFlavor用于指示该种类型的操作系统的纹理格式。
步骤307、应用程序发布设备压缩该目标文件夹。
其中,该目标文件夹可以用于供安装有该应用程序的终端设备下载并更新该应用程序。
在本申请实施例中,应用程序发布设备在向应用服务器发送该目标文件夹之前,可以先获取目标文件夹中存储的所有文件的文件名列表,即待压缩(即待打包)的文件列表,以及待生成的压缩文件的名称。之后应用程序发布设备可以通过调用对目标文件夹进行压缩的可执行文件对该目标文件夹进行压缩,以生成压缩文件。
可选的,该文件名列表可以存储在文本文件中。相应的,应用程序发布设备可以直接获取该文本文件的路径。
示例的,假设应用程序为游戏应用程序,该游戏应用程序的开发平台为UE4,则压缩后的目标文件夹的格式可以为.pak文件。假设待生成的压缩文件的名称为:resource_0_1_0_0,存储目标文件夹中的所有文件的文件名列表的文本文件的路径为:I:\Survive\Saved\PakFileList.txt,该对目标文件夹进行压缩的可执行文件的路径为:I:\UE4181\Engine\Binaries\Win64\UnrealPak.exe,则应用程序发布设备可以执行下述命令:I:\UE4181\Engine\Binaries\Win64\UnrealPak.exeresource_0_1_0_0.pak-Create=I:\Survive\Saved\PakFileList.txt-EncryptionIni-EngineDir=I:\UE4181\Engine\-ProjectDir=I:\Survive\-Platform=Android-Order=I:\Survive\Build\Android\FileOpenOrder\CookerOpenOrder.log,以对该目标文件夹进行压缩,生成压缩文件resource_0_1_0_0.pak。
其中,路径为I:\Survive\Saved\PakFileList.txt的文本文件中存储的文件名列表可以包括:
"I:\Survive\Saved\Cooked\Android_ETC2\Test\Content\0_1_0_0\VoiceActorCfg.uexp",该文件名列表可以用于指示cook后的资源在应用程序发布设备中的路径;
"../../../Test/Content/0_1_0_0/VoiceActorCfg.uexp"-compress-encrypt,该文件名列表可以用于指示该资源在终端设备中的虚拟路径。
其中,-compress表示该资源需要压缩,-encrypt表示该资源需要加密处理。
步骤308、应用程序发布设备向应用服务器发送压缩后的目标文件夹。
在本申请实施例中,应用程序发布设备对目标文件进行压缩后,可以向应用服务器发送压缩后的目标文件,即将压缩生成的压缩文件上传至应用服务器。其中,该应用服务器可以为终端设备中安装的应用程序的后台服务器。
示例的,假设对目标文件夹进行压缩后生成的文件为:resource_0_1_0_0.pak,则应用程序发布设备可以将文件名为resource_0_1_0_0.pak的压缩文件上传至应用服务器。
需要说明的是,对于每个版本的应用程序,应用程序发布设备均可以执行上述步骤301至步骤308,将该版本的新增应用资源添加至该版本对应的目标文件夹中,并将该文件夹压缩后发送至应用服务器。
步骤309、终端设备向该应用服务器发送新增应用资源的获取请求。
其中,该获取请求携带有终端设备安装的应用程序的版本标识。该版本标识为应用程序当前版本的版本标识。可选的,该版本标识可以为当前版本的版本号。
步骤310、应用服务器响应于该获取请求,向终端设备发送与该标识对应的文件夹。
其中,该文件夹为经过应用程序发布设备压缩后的文件夹,即该文件夹为压缩文件。
应用服务器在接收到终端设备发送的获取请求后,可以基于获取请求所携带的应用程序的当前版本的版本标识,获取与该版本标识对应的压缩文件,并将该压缩文件发送至终端设备,相应的,终端设备可以下载该文件夹。
由于每个应用程序的版本可以在某一时间段内更新多次,因此应用服务器响应于该获取请求,可以向终端设备发送其当前版本对应的一个文件夹,还可以向终端设备发送该应用程序的更高版本对应的文件夹。也即是,该应用服务器可以向终端设备发送多个文件夹,该多个文件夹中存在一个文件夹对应的版本为终端设备中安装的应用程序的当前版本,剩余文件夹对应的版本可以高于该应用程序的当前版本。
需要说明的是,该多个压缩文件中可能存在相同的应用资源,因此终端设备在获取到多个压缩文件时,还可以获取该多个压缩文件的文件名列表,该文件名列表中可以携带有该多个压缩文件的优先级。该优先级用于在终端设备加载多个压缩文件中的相同的应用资源时,只加载多个压缩文件中优先级最高的压缩文件中的该应用资源。
其中,压缩文件的优先级可以是开发人员确定并写入该文件名列表中的。
步骤311、终端设备基于该文件夹更新该应用程序。
在本申请实施例中,终端设备在获取到文件夹(即压缩文件)后,可以加载该压缩文件,即可实现对当前版本的应用程序的更新。
可选的,终端设备可以通过调用加载接口,加载该压缩文件。该调用加载接口,加载该压缩文件的命令为:bool FPakPlatformFile::Mount(const TCHAR*InPakFilename,uint32 PakOrder,const TCHAR*InPath/*=NULL*/)。其中,该命令中可以包括:用于指示压缩文件的文件名称的参数InPakFilename。用于指示压缩文件的优先级的参数PakOrder,该参数可以在终端设备获取多个压缩文件时,确定优先加载的压缩文件。用于指示挂载路径的参数InPath,该参数默认用NULL,即表示无。
示例的,假设该压缩文件的文件名称为:resource_0_1_0_0.pak,优先级值为0,挂载路径为默路径,则终端设备可以通过执行命令:Mount(TEXT(“resource_0_1_0_0.pak”,0,NULL),以调用加载接口,加载压缩文件resource_0_1_0_0.pak。
图9是本申请实施例提供的一种安装包的包体大小随安装包的版本变化的曲线示意图。图9中,横坐标为版本号,纵坐标为包体大小,单位为兆(M)。参考图9可以看出,在从0.4.0版本升级至0.13.0版本的过程中,均将每个版本的应用程序的新增应用资源内置于下一版本的安装包内,导致应用程序的安装包的包体逐渐增大。
而在升级应用程序的0.14.0版本时,应用程序发布设备通过执行上述步骤301至步骤308,将0.14.0版本的新增应用资源添加至该版本对应的目标文件夹内,并将目标文件夹压缩后发送至应用服务器,以供终端设备下载。由于应用程序发布设备不再将该版本的新增应用资源内置于安装包内,并且由于可以将0.14.0版本的废弃应用资源删除,因此0.15.0版本的安装包的包体,较0.14.0版本的安装包的包体明显减小。
可选的,本申请实施例提供的应用程序的更新方法的步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。例如,步骤306可以在步骤305之前执行,也可以与步骤305同步执行。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在发明的保护范围之内,因此不再赘述。
综上所述,本申请实施例提供了一种应用程序的更新方法,应用程序发布设备可以将目标版本的应用程序的新增应用资源,添加至该应用程序的根目录包括的目标文件夹中,并将该目标文件夹发送至应用服务器以供终端设备下载。由于该目标文件夹中仅添加有新增应用资源,因此目标文件夹较小,终端设备下载该目标文件夹所需的时间较短,从而有效提高了终端设备更新应用程序的效率。
并且,由于目标版本的应用程序的新增应用资源均存在目标文件夹内,因此应用程序发布设备可以直接基于该目标文件夹的占用内存的大小,确定目标版本的应用程序的新增应用资源的占用内存的大小,以监控新增应用资源的大小,避免新增应用资源过大导致的用户流失。由于无需人工确定新增应用资源的占用内存的大小,因此有效提高了新增应用资源的占用内存的确定效率。
此外,由于目标版本的应用程序的新增应用资源均存储在目标文件夹,因此在需要删除该新增应用资源时,可以直接删除该目标文件夹,而无需人工从多个版本的应用程序的新增应用资源中,逐个确定并删除目标版本的应用程序的新增应用资源,从而便于对目标版本的应用程序的新增应用资源的进行管理和维护。
本申请实施例提供一种应用程序的更新装置,该装置可以配置在应用程序发布设备中,例如图1所示的应用程序发布设备20。参见图10,该装置400可以包括:
获取模块401,用于获取目标版本的应用程序的新增应用资源。
确定模块402,用于从该应用程序的根目录包括的至少一个文件夹中,确定与目标版本对应的目标文件夹。
添加模块403,用于将新增应用资源添加至目标文件夹。
发送模块404,用于向应用服务器发送目标文件夹,该目标文件夹用于供安装有应用程序的终端设备下载并更新应用程序。
可选的,该目标文件夹可以包括至少一个子文件夹,该添加模块403可以用于:
根据新增应用资源的资源类型或功能,从至少一个子文件夹中确定与新增应用资源对应的目标子文件夹;将新增应用资源添加至目标子文件夹。
可选的,该确定模块402用于:
根据新增应用资源的资源类型或功能,从该应用程序的根目录包括的至少一个父文件夹中,确定与新增应用资源对应的目标父文件夹;从目标父文件夹包括的至少一个文件夹中,确定与目标版本对应的目标文件夹。
可选的,参见图11,该装置400还可以包括:
创建模块405,用于在至少一个文件夹中不存在与目标版本对应的文件夹时,则在该跟目录中创建与目标版本对应的目标文件夹。
可选的,从图11中可以看出,该装置400还可以包括:
转换模块406,用于根据终端设备的操作系统的类型,将新增应用资源的数据格式转换为与操作系统匹配的数据格式。
可选的,参见图11,该装置400还包括;
压缩模块407,用于压缩该目标文件夹。
该发送模块404可以用于:向应用服务器发送压缩后的目标文件夹。
综上所述,本申请实施例提供了一种应用程序的更新装置,该装置可以将目标版本的应用程序的新增应用资源,添加至该应用程序的根目录包括的目标文件夹中,并将该目标文件夹发送至应用服务器以供终端设备下载。由于该目标文件夹中仅添加有新增应用资源,因此目标文件夹较小,终端设备下载该目标文件夹所需的时间较短,从而有效提高了终端设备更新应用程序的效率。
并且,由于目标版本的应用程序的新增应用资源均存在目标文件夹内,因此该装置可以直接基于该目标文件夹的占用内存的大小,确定目标版本的应用程序的新增应用资源的占用内存的大小,以监控新增应用资源的大小,避免新增应用资源过大导致的用户流失。由于无需人工确定新增应用资源的占用内存的大小,因此有效提高了新增应用资源的占用内存的确定效率。
此外,由于目标版本的应用程序的新增应用资源均存储在目标文件夹,因此在需要删除该新增应用资源时,可以直接删除该目标文件夹,而无需人工从多个版本的应用程序的新增应用资源中,逐个确定并删除目标版本的应用程序的新增应用资源,从而便于对目标版本的应用程序的新增应用资源进行管理和维护。
本申请实施例提供一种应用程序的更新装置,该装置可以配置在应用服务器中,例如图1所示的应用服务器30。参见图12,该装置500可以包括:
第一接收模块501,用于接收应用程序发布设备发送的目标文件夹,该目标文件夹中存储有目标版本的应用程序的新增应用资源。
第二接收模块502,用于接收终端设备发送的新增应用资源的获取请求,该获取请求携带有终端设备安装的应用程序的版本标识。
发送模块503,用于响应于该获取请求,向终端设备发送与该版本标识对应的文件夹,该文件夹用于供终端设备更新该应用程序。
综上所述,本申请实施例提供了一种应用程序的更新装置,该装置可以接收应用程序发布设备发送的,存储有目标版本的应用程序的新增应用资源的目标文件夹,并可以响应于终端设备发送的新增应用资源的获取请求,向终端设备发送,与终端设备安装的应用程序的当前版本的版本标识对应的文件夹。由于该文件夹中仅添加有新增应用资源,因此该文件夹较小,该装置向终端设备发送该文件夹所需的时间较短,相应的,终端设备下载该文件夹所需的时间较短,从而有效提高了终端设备更新应用程序的效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图13是本申请实施例提供的再一种应用程序的更新装置600的结构框图,该应用程序的更新装置600可以为服务器。示例地,如图13所示,该装置600包括中央处理单元(Central Processing Unit,CPU)601、包括随机存取存储器(Random Access Memor,RAM)602和只读存储器(Read-Only Memory,ROM)603的系统存储器604,以及连接系统存储器604和中央处理单元601的系统总线605。装置600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出(Input/Output,I/O)系统606,和用于存储操作系统613、应用程序614和其他程序模块615的大容量存储设备607。
基本输入/输出系统606包括有用于显示信息的显示器608和用于用户输入信息的诸如鼠标、键盘之类的输入设备609。其中显示器608和输入设备609都通过连接到系统总线605的输入输出控制器610连接到中央处理单元601。基本输入/输出系统606还可以包括输入输出控制器610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器610还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备607通过连接到系统总线605的大容量存储控制器(未示出)连接到中央处理单元601。大容量存储设备607及其相关联的计算机可读介质为装置600提供非易失性存储。也就是说,大容量存储设备607可以包括诸如硬盘或者只读光盘(CompactDisc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读存储介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、带电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字多功能光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器604和大容量存储设备607可以统称为存储器。
根据本申请的各种实施例,装置600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即装置600可以通过连接在系统总线605上的网络接口单元611连接到网络612,或者说,也可以使用网络接口单元611来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行,以实现本申请实施例提供的方法。
图14是本申请实施例提供的再一种应用程序的更新装置700的结构框图。该装置700可以是:智能手机、平板电脑、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4播放器、笔记本电脑或台式电脑等终端。或者,该装置700也可以是服务器。
通常,装置700包括有:处理器701和存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、12核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请实施例提供的应用程序的更新方法。
在一些实施例中,装置700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、触摸显示屏705、摄像头706、音频电路707、定位组件708和电源709中的至少一种。
外围设备接口703可被用于将I/O相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi网络。在一些实施例中,射频电路704还可以包括NFC(Near FieldCommunication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置在装置700上的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在装置700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在装置700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在装置700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
定位组件708用于定位装置700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源709用于为装置700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。可充电电池还可以用于支持快充技术。
在一些实施例中,装置700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
加速度传感器711可以检测以装置700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器712可以检测装置700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对装置700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器713可以设置在装置700的侧边框和/或触摸显示屏705的下层。当压力传感器713设置在装置700的侧边框时,可以检测用户对装置700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在触摸显示屏705的下层时,由处理器701根据用户对触摸显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置装置700的正面、背面或侧面。当装置700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器716,也称距离传感器,通常设置在装置700的前面板。接近传感器716用于采集用户与装置700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与装置700的正面之间的距离逐渐变小时,由处理器701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与装置700的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图14中示出的结构并不构成对装置700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例中还提供了一种计算机可读存储介质,该存储介质中可以存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如图2、图3或图4任一所示的应用程序的更新方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本申请实施例还提供了一种应用程序的更新系统,参见图1,该系统可以包括:终端设备10、应用程序发布设备20以及应用服务器30。
该应用程序发布设备20可以包括上述实施例提供的配置在该应用程序发布设备20中的应用程序的更新装置,例如图10或图11所示的装置。该应用服务器可以包括上述实施例提供的配置在该应用服务器30中的应用程序的更新装置,例如图12所示的装置。该终端设备10安装有应用程序。
综上所述,本申请实施例提供了一种应用程序的更新系统,应用程序发布设备可以将目标版本的应用程序的新增应用资源,添加至该应用程序的根目录包括的目标文件夹中,并将该目标文件夹发送至应用服务器以供终端设备下载。由于该目标文件夹中仅添加有新增应用资源,因此目标文件夹较小,终端设备下载该目标文件夹所需的时间较短,从而有效提高了终端设备更新应用程序的效率。
并且,由于目标版本的应用程序的新增应用资源均存在目标文件夹内,因此应用程序发布设备可以直接基于该目标文件夹的占用内存的大小,确定目标版本的应用程序的新增应用资源的占用内存的大小,以监控新增应用资源的大小,避免新增应用资源过大导致的用户流失。由于无需人工确定新增应用资源的占用内存的大小,因此有效提高了新增应用资源的占用内存的确定效率。
此外,由于目标版本的应用程序的新增应用资源均存储在目标文件夹,因此在需要删除该新增应用资源时,可以直接删除该目标文件夹,而无需人工从多个版本的应用程序的新增应用资源中,逐个确定并删除目标版本的应用程序的新增应用资源,从而便于对目标版本的应用程序的新增应用资源的进行管理和维护。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种应用程序的更新方法,其特征在于,所述方法包括:
获取目标版本的应用程序的新增应用资源;
从所述应用程序的根目录包括的至少一个文件夹中,确定与所述目标版本对应的目标文件夹;
将所述新增应用资源添加至所述目标文件夹;
向应用服务器发送所述目标文件夹,所述目标文件夹用于供安装有所述应用程序的终端设备下载并更新所述应用程序。
2.根据权利要求1所述的方法,其特征在于,所述目标文件夹包括至少一个子文件夹;所述将所述新增应用资源添加至所述目标文件夹,包括:
根据所述新增应用资源的资源类型或功能,从所述至少一个子文件夹中确定与所述新增应用资源对应的目标子文件夹;
将所述新增应用资源添加至所述目标子文件夹。
3.根据权利要求1所述的方法,其特征在于,所述从所述应用程序的根目录包括的至少一个文件夹中,确定与所述目标版本对应的目标文件夹,包括:
根据所述新增应用资源的资源类型或功能,从所述应用程序的根目录包括的至少一个父文件夹中,确定与所述新增应用资源对应的目标父文件夹;
从所述目标父文件夹包括的所述至少一个文件夹中,确定与所述目标版本对应的目标文件夹。
4.根据权利要求1所述的方法,其特征在于,在所述获取目标版本的应用程序的新增应用资源之后,所述方法还包括:
若所述至少一个文件夹中不存在与所述目标版本对应的文件夹,则在所述根目录中创建与所述目标版本对应的目标文件夹。
5.根据权利要求1至4任一所述的方法,其特征在于,在所述向应用服务器发送所述目标文件夹之前,所述方法还包括:
根据所述终端设备的操作系统的类型,将所述新增应用资源的数据格式转换为与所述操作系统匹配的数据格式。
6.根据权利要求1至4任一所述的方法,其特征在于,在所述向应用服务器发送所述目标文件夹之前,所述方法还包括:
压缩所述目标文件夹;
所述向应用服务器发送所述目标文件夹,包括:
向应用服务器发送压缩后的所述目标文件夹。
7.一种应用程序的更新方法,其特征在于,所述方法包括:
接收应用程序发布设备发送的目标文件夹,所述目标文件夹中存储有目标版本的应用程序的新增应用资源;
接收终端设备发送的新增应用资源的获取请求,所述获取请求携带有所述终端设备安装的应用程序的版本标识;
响应于所述获取请求,向所述终端设备发送与所述版本标识对应的文件夹,所述文件夹用于供所述终端设备更新所述应用程序。
8.一种应用程序的更新装置,其特征在于,包括用于执行权利要求1至6任一所述的方法的各个模块。
9.一种应用程序的更新装置,其特征在于,包括用于执行权利要求7所述的方法的各个模块。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现权利要求1至6任一所述的方法,或者实现权利要求7所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010399361.3A CN111596936A (zh) | 2020-05-12 | 2020-05-12 | 应用程序的更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010399361.3A CN111596936A (zh) | 2020-05-12 | 2020-05-12 | 应用程序的更新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111596936A true CN111596936A (zh) | 2020-08-28 |
Family
ID=72191257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010399361.3A Pending CN111596936A (zh) | 2020-05-12 | 2020-05-12 | 应用程序的更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111596936A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117492958A (zh) * | 2023-11-14 | 2024-02-02 | 北京智芯微电子科技有限公司 | 线程信息调整方法、装置和电子设备 |
-
2020
- 2020-05-12 CN CN202010399361.3A patent/CN111596936A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117492958A (zh) * | 2023-11-14 | 2024-02-02 | 北京智芯微电子科技有限公司 | 线程信息调整方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108536463B (zh) | 获取资源包的方法、装置、设备及计算机可读存储介质 | |
CN110674022B (zh) | 行为数据获取方法、装置及存储介质 | |
CN110362328B (zh) | Ota升级的方法、装置和计算机设备 | |
CN110837378B (zh) | 软件开发工具包sdk功能的调用方法及装置 | |
CN108595226B (zh) | 动态加载方法、装置及计算机可读存储介质 | |
CN110569220B (zh) | 游戏资源文件的展示方法、装置、终端及存储介质 | |
CN110032384B (zh) | 资源更新的方法、装置、设备及存储介质 | |
CN110147380B (zh) | 数据更新方法、装置、服务器以及存储介质 | |
CN108717365B (zh) | 在应用程序中执行功能的方法和装置 | |
US11934814B2 (en) | Application porting method and apparatus, device, and medium | |
CN110769313A (zh) | 视频处理方法及装置、存储介质 | |
CN112256320A (zh) | 版本号生成方法、装置、终端及存储介质 | |
CN111737100A (zh) | 数据获取方法、装置、设备及存储介质 | |
CN110677713A (zh) | 视频图像处理方法及装置、存储介质 | |
CN112612539A (zh) | 数据模型卸载方法、装置、电子设备及存储介质 | |
CN111596936A (zh) | 应用程序的更新方法及装置 | |
CN111666076A (zh) | 图层添加方法、装置、终端及存储介质 | |
CN111258683A (zh) | 检测方法、装置、计算机设备及存储介质 | |
CN110825465A (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN112597417B (zh) | 页面更新方法、装置、电子设备及存储介质 | |
CN113268234A (zh) | 页面生成方法、装置、终端和存储介质 | |
CN110362330B (zh) | 应用程序更新方法、装置、终端及存储介质 | |
CN113051015A (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
CN113076452A (zh) | 应用分类的方法、装置、设备及计算机可读存储介质 | |
CN112612540A (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 |