获取资源包的方法、装置、设备及计算机可读存储介质与流程

文档序号:15444709发布日期:2018-09-14 23:13阅读:192来源:国知局

本发明实施例涉及互联网技术领域,特别涉及一种获取资源包的方法、装置、设备及计算机可读存储介质。



背景技术:

随着互联网技术的发展,依托于互联网的游戏类应用程序的种类越来越多,在游戏类应用程序进行资源更新时,需要获取使用到的资源包。

相关技术在获取资源包时,一般采用两种方式:第一种方式中,收集待处理的资源,判断资源之间是否出现资源交叉依赖,如果有,将交叉依赖的资源提取出来生成资源包;第二种方式中,将待处理的资源进行分类,再针对每种类别进行依赖关系分析,根据分析结果获取资源包。

上述第一种方式中,由于资源的依赖关系一般是树状,存在交叉依赖关系的资源可能来自于同一个父节点对应的资源,当两个存在交叉依赖关系的资源来自同一个父节点对应的资源时,据此得到的资源包具有冗余资源;上述第二种方式中,通过分类再进行依赖关系分析的方式中,不同类别的资源所依赖的资源会有重复,导致该种方式获取到的资源包也会有较大的冗余。



技术实现要素:

本发明实施例提供了一种获取资源包的方法、装置、设备及计算机可读存储介质,可用于解决相关技术中的问题。所述技术方案如下:

一方面,本发明实施例提供一种获取资源包的方法,所述方法包括:

将待处理的资源按照资源类型进行分层,得到至少一层分层结果;

记录所述分层结果之间的资源依赖关系,得到至少一棵依赖关系树,所述依赖关系树中的每个节点对应一个资源;

对所述依赖关系树中的冗余资源进行删除,得到优化后的依赖关系树;

根据所述优化后的依赖关系树中的资源获取资源包。

一方面,提供了一种获取资源包的装置,所述装置包括:

分层模块,用于将待处理的资源按照资源类型进行分层,得到至少一层分层结果;

记录模块,用于记录所述分层结果之间的资源依赖关系,得到至少一棵依赖关系树,所述依赖关系树中的每个节点对应一个资源;

删除模块,用于对所述依赖关系树中的冗余资源进行删除,得到优化后的依赖关系树;

获取模块,用于根据所述优化后的依赖关系树中的资源获取资源包。

一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被所述处理器执行时实现上述的获取资源包的方法。

一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被执行时实现上述的获取资源包的方法。

本发明实施例提供的技术方案可以带来如下有益效果:

将待处理的资源按照资源类型进行分层,并记录分层结果之间的资源依赖关系得到依赖关系树后,通过对依赖关系树中的冗余资源进行删除,可以降低获取的资源包中的冗余资源数量,进而提高资源加载速度,减少内存消耗。

附图说明

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

图1是本发明实施例提供的一种实施环境的示意图;

图2是本发明实施例提供的一种获取资源包的方法流程图;

图3是本发明实施例提供的一种预设依赖关系示意图;

图4a是本发明实施例提供的一种记录分层结果间的资源依赖关系流程图;

图4b是本发明实施例提供的一种分层结果示意图;

图5是本发明实施例提供的一种依赖关系树示意图;

图6是本发明实施例提供的一种依赖关系树示意图;

图7是本发明实施例提供的一种依赖关系树示意图;

图8是本发明实施例提供的一种依赖关系树示意图;

图9是本发明实施例提供的一种获取资源包的过程示意图;

图10是本发明实施例提供的一种资源更新提示和资源更新下载示意图;

图11是本发明实施例提供的一种资源更新前后的效果示意图;

图12是本发明实施例提供的一种获取资源包的装置示意图;

图13是本发明实施例提供的一种获取资源包的装置示意图;

图14是本发明实施例提供的一种获取资源包的设备结构示意图;

图15是本发明实施例提供的一种获取资源包的设备结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

随着互联网技术的发展,依托于互联网的游戏类应用程序的种类越来越多,在游戏类应用程序进行资源更新时,需要获取使用到的资源包。在获取资源包时,需要根据依赖关系来确定哪些资源单独作为资源包,哪些资源不需要单独作为资源包,而是跟其所依赖的资源一起生成一个资源包。在实际应用中,如果资源包中的资源冗余,会消耗更大的内存,且资源包中的资源越多,在游戏类应用程序启动时,进行资源匹配和加载资源时都会需要更多的时间,因而如何获取资源包,成为了影响应用程序性能的关键。

为此,本发明实施例提供了一种获取资源包的方法,请参考图1,其示出了本发明实施例提供的方法实施环境的示意图。该实施环境可以包括:终端11和服务器12。

其中,终端11安装有应用程序客户端,例如,游戏类应用程序客户端等。当该应用程序客户端启动后,可通过终端11从服务器12上获取该类应用程序的资源,该资源包括但不限于一些游戏需要的素材及数据等。终端11获取到资源后,可据此显示游戏界面,并通过该游戏界面展示一些信息。

服务器12用于存储应用程序的资源,当终端11请求获取该资源时,如在资源更新时,获取资源包,并将其发送给终端11。终端11在检测到有资源更新时,可以获取并展示资源信息(如更新的资源大小等),并在获取到更新指令后,下载该资源包,从而通过下载的资源包提供服务。其中,服务器12在获取资源包时,可以通过本发明实施例提供的方法直接获取,也可以在其他终端或其他服务器按照本发明实施例提供的方法获取资源包后,由服务器12从其他终端或其他服务器中获取,本发明实施例对获取资源包的执行主体不加以限定。

实施时,图1所示的终端11可以是诸如手机、平板电脑、个人计算机等电子设备。服务器12可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。终端11与服务器12通过有线或无线网络建立通信连接。

基于上述图1所示的实施环境,本发明实施例提供的获取资源包的方法可如图2所示,以该方法应用于图1所示实施环境的服务器12中为例。如图2所示,本发明实施例提供的方法可以包括如下几个步骤:

在步骤201中,将待处理的资源按照资源类型进行分层,得到至少一层分层结果。

其中,资源类型包括但不限于如下几种:

prefab:预制件,是一种资源类型,资源格式为.prefab;

fbx:模型,资源格式为.fbx;

controller:动画控制器,资源格式为.controller;

font:字体;

animation:动画,资源格式为.anim;

material:材质,用来使纹理表现在游戏对象上,资源格式为.mat;

texture:纹理,图片资源,常用资源格式为.png、.jpg、.tga;

shader:着色器,对物体进行着色等处理,资源格式为.shader;

当资源更新时,服务器可以获取当前需要使用的资源,并将其作为待处理的资源进行打包处理,即获取资源包。在一种实施方式中,当前需要使用的资源可以由开发人员编辑并上传至服务器。为了使得获取的资源包中的资源冗余较少,首先,将待处理的资源按照上述资源类型进行分层,得到分层结果,之后再按照分层结果进行分析,从而确定将哪些资源获取为资源包。

在一种实施方式中,为了进一步降低获取的资源包中的冗余资源数量,本发明实施例提供的方法将待处理的资源按照资源类型进行分层,得到分层结果之后,还包括对得到的分层结果进行筛选的过程,从而得到筛选后的分层结果。

例如,当按照上述资源类型对待处理的资源进行分层之后,可以不将controller和animation或material等资源作为获取到的资源包中的资源,仅对prefab、font、texture等资源进行获取,即将prefab、font、texture等资源作为筛选后的分层结果,从而降低资源包中资源的个数。当然,对于这种筛选,后续需要注意资源包的时序性和push(推入)、pop(弹出)关系。

在步骤202中,记录分层结果之间的资源依赖关系,得到至少一棵依赖关系树,依赖关系树中的每个节点对应一个资源。

在实施时,记录分层结果之间的资源依赖关系,包括但不限于根据依赖关系确定分层结果中的首层资源,将首层资源作为依赖关系树中的根节点;从根节点开始遍历每层资源的依赖资源,根据遍历结果记录各分层结果之间的资源依赖关系,得到至少一棵依赖关系树。

其中,依赖关系可以是预先设置的,也可以在实施该获取资源包的方法时根据实际情况确定,本发明实施例对此不加以限定。为了便于理解,仍以资源类型包括prefab、fbx、controller、font、animation、material、texture、shader为例,其依赖关系可如图3所示。由图3可以看出,prefab(预制件资源)依赖fbx(模型资源)、controller(动画控制器资源)、font(字体资源)这几种类型的资源,controller(动画控制器资源)依赖animation(动画资源)这种类型的资源,animation(动画资源)依赖material(材质资源)这种类型的资源,而material(材质资源)依赖texture(纹理资源)和shader(着色器资源)这两种类型的资源。

接下来,为了便于理解,以图4a所示的记录分层结果之间的资源依赖关系的流程为例,对得到依赖关系树的过程进行举例说明。按照如图3所示的依赖关系,prefab即为首层资源,将获取到的待处理资源中,资源类型为prefab的资源作为依赖关系树的根节点,prefab资源的数量决定了依赖关系树的数量。为了便于理解,以图4b所示的a、b、c、d、e、f、g、j、m、n、z这几种资源为例。其中,a、b、c为预制件资源,位于图3所示的资源依赖关系的第一层;f、e为动画资源,位于图3所示的资源依赖关系的第三层;d、m、n为材质资源,位于图3所示的资源依赖关系的第四层;g、z、k为纹理资源,位于图3所示的资源依赖关系的第五层。

接下来,以图5中的依赖关系树为例,资源a、b和c均为根节点。在确定各个根节点之后,从根节点开始遍历每层资源的依赖资源,判断当前层是否有依赖资源,如果有,则遍历当前层所有资源,并收集其依赖关系,每遍历完一层,层号加1,继续遍历下一层,并记录每个资源所在层和其依赖关系。根据遍历结果记录各分层结果之间的资源依赖关系,得到至少一棵依赖关系树。

以资源a开始遍历为例,资源a有依赖资源d、f和k,再分别收集d、f和k各自的依赖关系,得到g依赖于d,m依赖于f。之后,再分别收集g和m各自的依赖关系,得到z依赖于m,g无依赖资源。如此遍历结束,按照层排序之后,得到各个资源的依赖关系,按照各个资源的依赖关系建立的依赖关系树即为如图5所示以a为根节点的依赖关系树。

以上仅以从资源a开始遍历的过程进行举例,针对图5中根节点对应的资源b和c的遍历过程与资源a的遍历过程一致,本发明实施例在此不再一一赘述。得到各个依赖关系树后,为了便于后续获取资源包,本发明实施例提供的方法将各个资源按照依赖关系记录到依赖列表中,并标注层号。

需要说明的是,对于同一资源在不同依赖关系树中的情况,该资源对应的层数保持一致。如图5所示,各个根节点所在层为第一层,针对资源z,其在资源a和资源b所在的依赖关系树中均为第五层。

在一种实施方式中,如果在步骤201中对得到的分层结果进行了筛选,则该步骤在记录分层结果之间的资源依赖关系时,包括但不限于:记录筛选后的分层结果之间的资源依赖关系,得到至少一棵依赖关系树。例如,基于上述依赖关系,根据该依赖关系记录筛选后的分层结果之间的资源依赖关系,其实现过程与上述记录非筛选的分层结果之间的资源依赖关系的过程原理相同,本发明实施例对此不再赘述。

进一步地,无论是否对分层结果进行筛选,得到依赖关系树之后,为了进一步减少资源包的冗余资源,均可以执行后续对冗余资源进行删除的步骤。

在步骤203中,对依赖关系树中的冗余资源进行删除,得到优化后的依赖关系树。

在一种实现方式中,对依赖关系树中的冗余资源进行删除,包括但不限于:确定依赖关系树中的单一依赖资源,单一依赖资源是指仅被一个资源依赖的资源;将依赖关系树中的单一依赖资源进行删除。删除之后得到的依赖关系树可以直接作为优化后的依赖关系树,从而据此获取资源包。当然,也可以继续进行优化,详见后续过程。

为了便于理解,以得到如图5所示的依赖关系树,删除冗余资源的过程如图6所示为例,对于资源a所在的依赖关系树,由于资源m仅被资源f依赖,资源f仅被资源a依赖,资源k也仅被资源a依赖,因而资源m、资源f和资源k均为单一依赖资源。对于资源b所在的依赖关系树,由于资源n仅被资源e依赖,资源e仅被资源b依赖,因而资源n和资源e也为单一依赖资源。对各个依赖关系树中的单一依赖资源进行删除之后,得到如图6右侧所示的依赖关系树。不难看出,删除前和删除后的资源数量明显减少,因而去除了冗余资源,由此得到的资源包的冗余资源较少,因而可以加快资源加载速度,从而降低内存消耗。

在另一种实施方式中,对依赖关系树中的单一依赖资源进行删除之后,还包括:对单棵依赖关系树中被同一资源依赖的相同资源进行去重,相同资源为至少两个。去重之后得到的依赖关系树可以直接作为优化后的依赖关系树,从而据此获取资源包。当然,也可以继续进行优化,详见后续过程。

为了便于理解,在得到如图6右侧所示的依赖关系树基础上,进一步删除冗余资源的过程以图7所示为例。图7中,针对资源b所在的依赖关系树,由于两个资源z均被资源b依赖,即单棵依赖关系树中的两个资源z为被同一资源b依赖的相同资源,因而对其进行去重,即删除多余的相同资源,仅保留一个,得到如图7右侧所示的依赖关系树,从而达到进一步降低资源冗余的目的。

在另一种实施方式中,对同一依赖关系树中存在的依赖同一资源的相同资源进行去重之后,还包括:当任一资源在至少两棵依赖关系树中被相同资源依赖时,将该任一资源从该至少两棵依赖关系树中进行删除。删除之后得到的依赖关系树可以直接作为优化后的依赖关系树,从而据此获取资源包。当然,也可以继续进行优化,详见后续过程。

为了便于理解,在得到如图7右侧所示的依赖关系树基础上,进一步删除冗余资源的过程以图8所示为例。由于图8中资源g在资源a所在的依赖关系树及资源b所在的依赖关系树中均被资源d依赖,即资源g在至少两棵依赖关系树中被相同资源d依赖,因而将资源g从该至少两棵依赖关系树中进行删除,得到如图8右侧所示的依赖关系树。

在步骤204中,根据优化后的依赖关系树中的资源获取资源包。

经过上述对依赖关系树进行冗余资源的删除操作,得到优化后的依赖关系树之后,据此得到的资源包中的冗余资源有所减少,因而能够提高加载速度,降低内存消耗。

为了进一步地按照依赖关系来获取资源包,本发明实施例提供的方法在根据优化后的依赖关系树中的资源获取资源包时,包括但不限于采取如下方式:

将优化后的依赖关系树中的资源按照资源类型放入资源顺序列表中;按照顺序将所述资源顺序列表中的资源依次保存成文件格式,得到资源包。实施时,经过优化之后,有些资源被从依赖关系树中删除,剩余的资源按照资源类型放入资源顺序列表中。在按照顺序依次保存时,该顺序可以是按层递增的顺序,仍以图3所示的资源类型为例,第一层为prefab资源,第二层为controller资源,第三层为animation资源,第四层为material资源,第五层为texture、shader、font及fbx资源。则按层递减的顺序依次保存成文件格式时,即按照第五层、第四层、第三层、第二层再第一层的顺序进行保存。

按资源树依赖顺序分层后,资源打包即获取资源包时,是按照从高层次资源入栈,先入后出进行依赖打包,这样即可做到低层次的资源完全能依赖到高层次的资源,不会出现资源冗余;相反,如果资源不进行依赖顺序分层分析,直接对资源进行打包,会出现相互依赖的资源包出现冗余,造成资源包增大,游戏运行内存增大。

上述过程可以参见图9,在获取资源包时,先进行资源依赖分层,之后去单一依赖,再单棵树去重,之后删除仅被相同父节点依赖的节点(即指代在至少两棵依赖关系树中被相同资源依赖的资源),剩下的节点对应的资源进行打包,得到获取的资源包。

服务器按照上述流程获取到资源包后,将该资源包可以提供给终端,以将上述获取到的资源包应用于游戏类应用程序中。例如,终端上的客户端启动游戏类应用程序后,比对服务器上资源列表是否需要更新,将需要更新的资源生成列表统计出来并进行展示。展示时,可以在展示界面上展示提示信息,除此之外,还可以展示更新选项,每种更新选项对应一种指令。在根据检测到的选择操作获取到某个更新选项被选中时,如果获取到更新指令,则下载该资源包,以提供给本地游戏类应用程序加载使用。

以图10所示的展示界面为例,终端的展示界面上展示的提示信息为“发现新资源,更新包大小49.8m,请在稳定的网络中更新”,还包括“暂不更新”及“立即更新”两种更新选项,如果检测到“立即更新”的更新选项被选中,则获取到更新指令,从而立即下载资源包。如果检测到“暂不更新”的更新选项被选中,则暂时不执行更新操作。

在一种实施方式中,在下载资源包的过程中,为了使得用户了解下载进度,本发明实施例提供的方法还支持对下载进度进行展示的过程。仍以图10所示的展示界面为例,当执行下载资源包的操作时,可以通过进度条的方式展示下载进度“26%”。

当资源包下载完成后,终端即可对其进行加载,从而更新该应用程序下的资源。加载时,可以同步加载,即将资源包均下载完毕后再进行加载;也可以异步加载,即边下载边加载。具体采用哪种加载方式,本发明实施例对此不加以限定。加载完成后,资源更新前后的显示界面可如图11所示。其中,显示界面中展示的花盆在资源更新前后发生了改变。

本发明实施例提供的方法,将待处理的资源按照资源类型进行分层,并记录分层结果之间的资源依赖关系得到依赖关系树后,通过对依赖关系树中的冗余资源进行删除,可以降低获取的资源包中的冗余资源数量,进而提高加载速度,减少内存消耗。

另外,得到分层结果之后,通过对分层结果进行筛选,可以进一步减少冗余资源,提高加载速度,减少内存消耗。

基于与方法同样的构思,参见图12,本发明实施例提供了一种获取资源包的装置,用于执行上述获取资源包的方法,该装置包括:

分层模块121,用于将待处理的资源按照资源类型进行分层,得到至少一层分层结果;

记录模块122,用于记录分层结果之间的资源依赖关系,得到至少一棵依赖关系树,依赖关系树中的每个节点对应一个资源;

删除模块123,用于对依赖关系树中的冗余资源进行删除,得到优化后的依赖关系树;

获取模块124,用于根据优化后的依赖关系树中的资源获取资源包。

在一种实现方式中,删除模块123,用于确定依赖关系树中的单一依赖资源,单一依赖资源是指仅被一个资源依赖的资源;将依赖关系树中的单一依赖资源进行删除。

在一种实现方式中,删除模块123,还用于对单棵依赖关系树中被同一资源依赖的相同资源进行去重,所述相同资源为至少两个。

在一种实现方式中,删除模块123,还用于当任一资源在至少两棵依赖关系树中被相同资源依赖时,将所述任一资源从所述至少两棵依赖关系树中进行删除。

在一种实现方式中,记录模块122,用于根据依赖关系确定分层结果中的首层资源,将所述首层资源作为所述依赖关系树中的根节点;从所述根节点开始遍历每层资源的依赖资源,根据遍历结果记录各分层结果之间的资源依赖关系,得到至少一棵依赖关系树。

在一种实现方式中,获取模块124,用于将优化后的依赖关系树中的资源按照资源类型放入资源顺序列表中;将所述资源顺序列表中的资源按照顺序依次保存成文件格式,得到资源包。

在一种实现方式中,参见图13,该装置还包括:

筛选模块125,用于对得到的分层结果进行筛选,得到筛选后的分层结果;

记录模块122,用于记录筛选后的分层结果之间的资源依赖关系,得到至少一棵依赖关系树。

本发明实施例提供的装置,将待处理的资源按照资源类型进行分层,并记录分层结果之间的资源依赖关系得到依赖关系树后,通过对依赖关系树中的冗余资源进行删除,可以降低获取的资源包中的冗余资源数量,进而提高加载速度,减少内存消耗。

另外,得到分层结果之后,通过对分层结果进行筛选,可以进一步减少冗余资源,提高加载速度,减少内存消耗。

需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图14是本发明实施例提供的一种获取资源包的设备结构示意图,该设备可以为服务器,服务器可以是单独的服务器或集群服务器。具体来讲:

服务器包括中央处理单元(cpu)1401、随机存取存储器(ram)1402和只读存储器(rom)1403的系统存储器1404,以及连接系统存储器1404和中央处理单元1401的系统总线1405。服务器还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)1406,和用于存储操作系统1413、应用程序1414和其他程序模块1415的大容量存储设备1407。

基本输入/输出系统1406包括有用于显示信息的显示器1408和用于用户输入信息的诸如鼠标、键盘之类的输入设备1409。其中显示器1408和输入设备1409都通过连接到系统总线1405的输入输出控制器1410连接到中央处理单元1401。基本输入/输出系统1406还可以包括输入输出控制器1410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1410还提供输出到显示屏、打印机或其他类型的输出设备。

大容量存储设备1407通过连接到系统总线1405的大容量存储控制器(未示出)连接到中央处理单元1401。大容量存储设备1407及其相关联的计算机可读介质为服务器提供非易失性存储。也就是说,大容量存储设备1407可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1404和大容量存储设备1407可以统称为存储器。

根据本发明的各种实施例,服务器还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器可以通过连接在系统总线1405上的网络接口单元1411连接到网络1412,或者说,也可以使用网络接口单元1411来连接到其他类型的网络或远程计算机系统(未示出)。

上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。所述一个或者一个以上程序包含用于进行本发明实施例提供的获取资源包的方法的指令。

图15是本发明实施例提供的一种获取资源包的设备的结构示意图。该设备可以为终端,例如可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端包括有:处理器1501和存储器1502。

处理器1501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1501可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1501可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1501还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器1502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1501所执行以实现本申请中方法实施例提供的获取资源包的方法。

在一些实施例中,终端还可选包括有:外围设备接口1503和至少一个外围设备。处理器1501、存储器1502和外围设备接口1503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1503相连。具体地,外围设备包括:射频电路1504、触摸显示屏1505、摄像头1506、音频电路1507、定位组件1508和电源1509中的至少一种。

外围设备接口1503可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1501和存储器1502。在一些实施例中,处理器1501、存储器1502和外围设备接口1503被集成在同一芯片或电路板上;在一些其他实施例中,处理器1501、存储器1502和外围设备接口1503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路1504用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路1504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1504包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路1504还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏1505用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1505是触摸显示屏时,显示屏1505还具有采集在显示屏1505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1501进行处理。此时,显示屏1505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1505可以为一个,设置终端的前面板;在另一些实施例中,显示屏1505可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在再一些实施例中,显示屏1505可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏1505还可以设置成非矩形的不规则图形,也即异形屏。显示屏1505可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件1506用于采集图像或视频。可选地,摄像头组件1506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路1507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1501进行处理,或者输入至射频电路1504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1501或射频电路1504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1507还可以包括耳机插孔。

定位组件1508用于定位终端的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件1508可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源1509用于为终端中的各个组件进行供电。电源1509可以是交流电、直流电、一次性电池或可充电电池。当电源1509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端还包括有一个或多个传感器1510。该一个或多个传感器1510包括但不限于:加速度传感器1511、陀螺仪传感器1512、压力传感器1513、指纹传感器1514、光学传感器1515以及接近传感器1516。

加速度传感器1511可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1511可以用于检测重力加速度在三个坐标轴上的分量。处理器1501可以根据加速度传感器1511采集的重力加速度信号,控制触摸显示屏1505以横向视图或纵向视图进行用户界面的显示。加速度传感器1511还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器1512可以检测终端的机体方向及转动角度,陀螺仪传感器1512可以与加速度传感器1511协同采集用户对终端的15d动作。处理器1501根据陀螺仪传感器1512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器1513可以设置在终端的侧边框和/或触摸显示屏1505的下层。当压力传感器1513设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器1501根据压力传感器1513采集的握持信号进行左右手识别或快捷操作。当压力传感器1513设置在触摸显示屏1505的下层时,由处理器1501根据用户对触摸显示屏1505的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器1514用于采集用户的指纹,由处理器1501根据指纹传感器1514采集到的指纹识别用户的身份,或者,由指纹传感器1514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1514可以被设置终端的正面、背面或侧面。当终端上设置有物理按键或厂商logo时,指纹传感器1514可以与物理按键或厂商logo集成在一起。

光学传感器1515用于采集环境光强度。在一个实施例中,处理器1501可以根据光学传感器1515采集的环境光强度,控制触摸显示屏1505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1505的显示亮度;当环境光强度较低时,调低触摸显示屏1505的显示亮度。在另一个实施例中,处理器1501还可以根据光学传感器1515采集的环境光强度,动态调整摄像头组件1506的拍摄参数。

接近传感器1516,也称距离传感器,通常设置在终端的前面板。接近传感器1516用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器1516检测到用户与终端的正面之间的距离逐渐变小时,由处理器1501控制触摸显示屏1505从亮屏状态切换为息屏状态;当接近传感器1516检测到用户与终端的正面之间的距离逐渐变大时,由处理器1501控制触摸显示屏1505从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图15中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

在示例中实施例中,还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集。所述至少一条指令、至少一段程序、代码集或指令集经配置以由一个或者一个以上处理器执行,以实现上述获取资源包的方法。

在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时实现上述获取资源包的方法。

可选地,上述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上所述仅为本发明的示例性实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1