买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】AssetBundle资源检测方法及系统_苏州亿歌网络科技有限公司_201910506597.X 

申请/专利权人:苏州亿歌网络科技有限公司

申请日:2019-06-12

公开(公告)日:2019-09-13

公开(公告)号:CN110232026A

主分类号:G06F11/36(20060101)

分类号:G06F11/36(20060101)

优先权:

专利状态码:失效-发明专利申请公布后的驳回

法律状态:2021.06.11#发明专利申请公布后的驳回;2019.10.15#实质审查的生效;2019.09.13#公开

摘要:本发明公开了AssetBundle资源检测方法及系统,方法包括以下步骤:从AssetBundle文件包中获取AssetBundle文件包的基础信息;从所述AssetBundle文件包中提取所有资源文件,并获取所有所述资源文件的信息;对所述AssetBundle文件包的基础信息和所述资源文件的信息进行初步分析;结合预设的资源参数对所有所述资源文件的信息进行对比分析;根据初步分析和对比分析的结果生成相应的分析报表。通过对AssetBundle文件中的各类型资源文件与预设的资源参数进行对比分析,得到更具有价值的AssetBundle资源检测结果,有利于进行AssetBundle资源文件的优化,同时,检测结果生成对应的报表,更加简单明了,便于相关人员查看。

主权项:1.AssetBundle资源检测方法,其特征在于,所述方法包括,S11:从AssetBundle文件包中获取AssetBundle文件包的基础信息;S12:从所述AssetBundle文件包中提取所有资源文件,并获取所有所述资源文件的信息;S13:对所述AssetBundle文件包的基础信息和所述资源文件的信息进行初步分析;S14:结合预设的资源参数对所有所述资源文件的信息进行对比分析;S15:根据初步分析和对比分析的结果生成相应的分析报表。

全文数据:AssetBundle资源检测方法及系统技术领域本申请涉及游戏开发技术领域,尤其涉及AssetBundle资源检测方法及系统。背景技术随着媒体互联网的迅速发展,数字互动娱乐延伸到新的领域,网络游戏是近年来得到广泛关注并且发展极为迅速的一个产业,如今我国网络游戏业的巨大市场使得游戏从业人员不断发展软件技术以提升玩家的游戏体验。在网络游戏开发中,AssetBundle是Unity提供的一种用来存储资源的文件格式,它可以存储任意一种Unity引擎能够识别的资源,如Scene、Mesh、Material、Texture、Audio等等,同时,AssetBundle也可以包含开发者自定义的二进制文件,只需要将自定义文件的扩展名改为.bytes,Unity就可以把它识别为TextAsset,进而就可以被打包到AssetBundle中。游戏客户端通常包括游戏运行时所需的所有游戏资源,例如,图片、音频和视频等资源,这些资源通常采用AssetBundle资源包方式存储,从而获得传输方便、资源保密以及加快访问速度等优点。现有的AssetBundle资源检测系统,只针对AssetBundle二进制文件进行分析,并不会对于包含在AssetBundle文件中的各类型资源文件的参数进行分析,无法得到更具有价值的分析结果,也不利于进行AssetBundle资源文件的优化。发明内容本发明的目的是要提供一种AssetBundle资源检测方法及系统,可以解决上述现有技术问题中的一个或者多个。根据本发明的一个方面,提供一种AssetBundle资源检测方法,包括以下步骤:S11:从AssetBundle文件包中获取AssetBundle文件包的基础信息;S12:从所述AssetBundle文件包中提取所有资源文件,并获取所有所述资源文件的信息;S13:对所述AssetBundle文件包的基础信息和所述资源文件的信息进行初步分析;S14:结合预设的资源参数对所有所述资源文件的信息进行对比分析;S15:根据初步分析和对比分析的结果生成相应的分析报表。第二方面,本发明实施例提供了一种AssetBundle资源检测系统,包括:文件包信息获取模块,用于从AssetBundle文件包中获取AssetBundle文件包的基础信息;资源文件提取模块,用于从AssetBundle文件包中提取所有所述资源文件;资源文件信息获取模块,用于获取所有所述资源文件的信息;初步分析模块,用于对AssetBundle文件包信息和所有资源文件信息进行初步分析;对比分析模块,用于结合预设的资源参数对各资源文件信息进行对比分析;和报表生成模块,用于将初步分析和对比分析的结果生成报表。第三方面,本发明实施例提供了一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备包括但不限于计算机,服务器,或者网络设备等读取并执行,以用于执行本发明上述任一项AssetBundle资源检测方法。第四方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项AssetBundle资源检测方法。第五方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项AssetBundle资源检测方法。本发明实施例提供的AssetBundle资源检测方法及系统,通过提取AssetBundle文件包中的资源文件,对AssetBundle文件包的基础信息与所有资源文件的信息进行分析,并结合预设的资源参数对资源文件进行对比分析,得到更具有实际参考意义的AssetBundle资源检测结果。有效检测出影响程序运行性能的资源,为提升程序运行性能提供有力的支持,有利于进行AssetBundle文件包的优化,同时,将检测结果生成各类报表,使结果表达更加简单明了,便于相关人员查看,提高效率。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请一实施例提供的一种AssetBundle资源检测方法的流程图。图2是对所述AssetBundle文件包的基础信息和所述资源文件的信息进行初步分析的流程图。图3是对所述AssetBundle文件中的资源文件的信息进行对比分析的流程图。图4是另一种对所述AssetBundle文件包的基础信息和所述资源文件的信息进行初步分析的流程图。图5是本申请一实施例提供的一种AssetBundle资源检测系统的结构示意图。图6本申请另一实施例提供的一种AssetBundle资源检测系统的结构示意图。图7是本申请一实施例提供的电子设备的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例1:如图1所示为本发明一实施例提供的一种AssetBundle资源检测方法,包括以下步骤:S11:从AssetBundle文件包中获取AssetBundle文件包的基础信息;S12:从AssetBundle文件包中提取所有资源文件,并获取所有资源文件的信息;S13:对AssetBundle文件包的基础信息和资源文件的信息进行初步分析;S14:结合预设的资源参数对所有资源文件的信息进行对比分析;S15:根据初步分析和对比分析的结果生成相应的分析报表。在本实施例中,对于步骤S11,AssetBundle文件包的基础信息包括但不限于:AssetBundle文件包的大小和AssetBundle文件包的名称。在步骤S13中,初步分析的结果包括但不限于文件树、依赖关系、冗余关系、缺失情况和变种情况等数据。初步分析可统计生成总AssetBundle文件数、有外部依赖的AssetBundle文件数、含冗余资源的AssetBundle文件数和含缺失资源的AssetBundle文件数。其有益效果为:检测AssetBundle文件包异常情况,包括冗余、缺失、多度依赖和不允许存在等,通过检测AssetBundle文件包的冗余和压缩方式等可以有效控制AssetBundle文件包的大小;通过检测AssetBundle文件包缺失可有效避免因缺失导致的程序异常;通过检测AssetBundle文件包压缩方式以及是否过度依赖,可以有效检测出影响程序运行性能的AssetBundle文件包,为项目提升程序运行性能提供支持。在步骤S14中,预设的资源参数,根据项目不同,结合实际开发需要,可进行相应的配置,根据各项目的预设资源参数,形成相应的报告。其有益效果为:通过检测各类型资源是否符合预设的资源参数,可以有效检测出影响程序运行性能的资源,为提升程序运行性能提供支持。具体的,预设的资源参数包括但不限于Mesh、Texture、字体类型资源的Readable;Texture2D资源的格式、尺寸;Mesh资源的顶点格式、面数和图集资源的采样线性、包裹模式、各向异性、Mipmap数量等。具体的,在对比分析时,可以按照资源类型逐一进行检测。图3以Texture类型资源、Mesh类型资源和Shader类型资源为例,示意性显示了一种资源文件信息对比分析的流程图,需要了解的是,进行对比文件的资源文件信息不限图中所示,其他类型的资源文件同样也可进行对比分析。S31:Texture类型资源尺寸是否超限制;若超出限制,则添加检测结果至数据库;S32:Texture类型资源格式是否与预设不符合;若与预设不符合,则添加检测结果至数据库;S33:Mesh类型资源三角形数量是否超出限制;若超出限制,则添加检测结果至数据库;S34:Mesh类型资源顶点格式是否与预设不符合;若与预设不符合,则添加检测结果至数据库;S35:Shader类型资源是否统一存放;若统一存放,则添加检测结果至数据库。在步骤S15中,生成的分析报表包括统计报表和异常报表两类。具体的,统计报表统计各类型资源参数信息,包括但不限于,资源类型大小统计、Readable统计、Mesh按顶点格式统计、Texture2D统计、字体文件依赖统计、资源压缩占比统计、依赖统计和重复资源统计。具体的,异常报表报告AssetBundle文件包和其中的所有资源文件的异常情况,包括但不限于,不允许存在资源检测报表、Shader统一存放检测报表、MonoScri缺失报表、图集限定检测报表、变种不对等对外可访问报表、AssetBundle大小超过限制报表。其有益效果为:统计报表统计AssetBundle文件包以及其中所有资源文件的信息,异常报表显示不符合预设的各类资源文件的信息,方便相关人员查询。在可选的实施例中,AssetBundle文件包通过Web接口上传。其有益效果为:Web接口上传AssetBundle文件包,简单便于操作。在可选的实施例中,AssetBundle文件包的基础信息、所有资源文件、所有资源文件的信息、初步分析结果、对比分析结果与分析报表均上传至数据库,数据库使用MongoDB数据库。其有益效果为:数据库支持大容量存储,MongoDB数据库访问速度快,相关工作人员能够便捷快速的获取数据。在可选的实施例中,AssetBundle资源检测方法还包括:接收用户的报表查询请求;从数据库中调取相应被请求报表;通过Web页面展示被请求报表。其有益效果为:用户可以请求查看已生成的报表,了解AssetBundle文件包和其中所有资源文件的情况,便于进行优化,提升性能。如图2所示,在本发明一实施方式提供的AssetBundle资源检测方法中,以上传一个AssetBundle文件包为例,对AssetBundle文件包的基础信息和资源文件的信息进行初步分析包括:S21:判断AssetBundle文件是否存在外部依赖;若存在外部依赖,则添加检测结果至数据库;S22:判断AssetBundle文件是否含冗余资源;若含有冗余资源,则添加检测结果至数据库;S23:判断AssetBundle文件是否含缺失资源;若含有缺失资源,则添加检测结果至数据库;S24:判断AssetBundle文件是否含不允许存在资源;若含有不允许存在资源,则添加检测结果至数据库;S25:判断AssetBundle文件大小是否超出限制;若超出限制,则添加检测结果至数据库。如图4所示,在本发明一实施方式提供的AssetBundle资源检测方法中,对AssetBundle文件包的基础信息和资源文件的信息进行初步分析还可以包括:S41:统计AssetBundle文件包内所有资源文件的数量;S42:提取所有资源文件名称的资源文件信息,生成文件树;S43:遍历所有资源文件,生成资源文件信息报表。本发明实施例提供的AssetBundle资源检测方法,通过提取AssetBundle文件包中的资源文件,对AssetBundle文件包的基础信息与所有资源文件的信息进行分析,并结合预设的资源参数对资源文件进行对比分析,得到更具有实际参考意义的AssetBundle资源检测结果。有效检测出影响程序运行性能的资源,为提升程序运行性能提供有力的支持,有利于进行AssetBundle文件包的优化,同时,将检测结果生成各类报表,使结果表达更加简单明了,便于相关人员查看,提高效率。实施例2:如图5所示为本发明一实施例提供的一种AssetBundle资源检测系统,包括:文件包信息获取模块,用于从AssetBundle文件包中获取AssetBundle文件包的基础信息;资源文件提取模块,用于从AssetBundle文件包中提取所有所述资源文件;资源文件信息获取模块,用于获取所有所述资源文件的信息;初步分析模块,用于对AssetBundle文件包信息和所有资源文件信息进行初步分析;对比分析模块,用于结合预设的资源参数对各资源文件信息进行对比分析;和报表生成模块,用于将初步分析和对比分析的结果生成报表。在一些可选的实施例中,还包括文件接收模块,用于接收AssetBundle文件包。实施例3如图6所示为本发明另一实施例提供的一种AssetBundle资源检测系统,包括:文件接收模块,用于接收AssetBundle文件包;文件包信息获取模块,用于从AssetBundle文件包中获取AssetBundle文件包的基础信息;资源文件提取模块,用于从AssetBundle文件包中提取所有所述资源文件;资源文件信息获取模块,用于获取所有所述资源文件的信息;初步分析模块,用于对AssetBundle文件包信息和所有资源文件信息进行初步分析;对比分析模块,用于结合预设的资源参数对各资源文件信息进行对比分析;报表生成模块,用于将初步分析和对比分析的结果生成报表;存储模块,用于存储所述AssetBundle文件包的基础信息、所有所述资源文件、所有所述资源文件的信息、所述初步分析结果、所述对比分析结果和各类所述分析报表;报表请求模块,用于用户发出报表查询请求;报表获取模块,用于从数据库获取被请求报表;和报表显示模块,用于展示被请求报表。上述实施例2与实施例3的AssetBundle资源检测系统可用于执行本发明实施例1的AssetBundle资源检测方法,并相应的达到上述本发明实施例1的AssetBundle资源检测方法所达到的技术效果,这里不再赘述。另一方面,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备包括但不限于计算机,服务器,或者网络设备等读取并执行,以用于执行上述方法实施例1中的相关步骤,例如:从AssetBundle文件包中获取AssetBundle文件包的基础信息;从所述AssetBundle文件包中提取所有资源文件,并获取所有所述资源文件的信息;对所述AssetBundle文件包的基础信息和所述资源文件的信息进行初步分析;结合预设的资源参数对所有所述资源文件的信息进行对比分析;根据初步分析和对比分析的结果生成相应的分析报表。本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项方法实施例提供的AssetBundle资源检测方法。图7是本申请提供的执行AssetBundle资源检测方法的电子设备的硬件结构示意图,如图7所示,该设备包括:一个或多个处理器310以及存储器320,图6中以一个处理器310为例。执行AssetBundle资源检测方法的设备还可以包括:输入装置330和输出装置340。处理器310、存储器320、输入装置330和输出装置340通信连接。存储器320作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的AssetBundle资源检测方法对应的程序指令模块。处理器310通过运行存储在存储器320中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的AssetBundle资源检测方法。存储器320包括存储程序区,存储程序区可存储操作系统、至少一个功能所需要的应用程序。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器320可选包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至数据同步装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。输入装置330可接收输入的数字或字符信息,以及产生与数据同步装置的用户设置以及功能控制有关的键信号输入。输出装置340可包括显示屏等显示设备。所述一个或者多个模块存储在所述存储器320中,当被所述一个或者多个处理器310执行时,执行上述任意方法实施例中的AssetBundle资源检测方法。上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROMRAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备可以是个人计算机,服务器,或者网络设备等执行各个实施例或者实施例的某些部分所述的方法。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

权利要求:1.AssetBundle资源检测方法,其特征在于,所述方法包括,S11:从AssetBundle文件包中获取AssetBundle文件包的基础信息;S12:从所述AssetBundle文件包中提取所有资源文件,并获取所有所述资源文件的信息;S13:对所述AssetBundle文件包的基础信息和所述资源文件的信息进行初步分析;S14:结合预设的资源参数对所有所述资源文件的信息进行对比分析;S15:根据初步分析和对比分析的结果生成相应的分析报表。2.根据权利要求1所述的AssetBundle资源检测方法,其特征在于,对所述AssetBundle文件包的基础信息和所述资源文件的信息进行初步分析包括:S21:判断AssetBundle文件是否存在外部依赖;若存在外部依赖,则添加检测结果至数据库;S22:判断AssetBundle文件是否含冗余资源;若含有冗余资源,则添加检测结果至数据库;S23:判断AssetBundle文件是否含缺失资源;若含有缺失资源,则添加检测结果至数据库;S24:判断AssetBundle文件是否含不允许存在资源;若含有不允许存在资源,则添加检测结果至数据库;S25:判断AssetBundle文件大小是否超出限制;若超出限制,则添加检测结果至数据库。3.根据权利要求2所述的AssetBundle资源检测方法,其特征在于,对所述AssetBundle文件包的基础信息和所述资源文件的信息进行初步分析还包括:S41:统计AssetBundle文件包内所有资源文件的数量;S42:提取所有资源文件名称的资源文件信息,生成文件树;S43:遍历所有资源文件,生成资源文件信息报表。4.根据权利要求1所述的AssetBundle资源检测方法,其特征在于,所述预设的资源参数包括:Mesh、Texture、字体类型资源的Readable;Texture2D资源的格式、尺寸;Mesh资源的顶点格式、面数和图集资源的采样线性、包裹模式、各向异性、Mipmap数量。5.根据权利要求1所述的AssetBundle资源检测方法,其特征在于,还包括所述AssetBundle文件通过Web接口上传。6.根据权利要求1所述的AssetBundle资源检测方法,其特征在于,所述AssetBundle文件包的基础信息、所有所述资源文件、所有所述资源文件的信息、所述初步分析结果、所述对比分析结果与所述分析报表均上传至数据库,所述数据库使用MongoDB数据库。7.根据权利要求1所述的AssetBundle资源检测方法,其特征在于,所述分析报表包括统计报表和异常报表。8.根据权利要求1所述的AssetBundle资源检测方法,其特征在于,还包括,接收用户的报表查询请求;从数据库中调取相应被请求报表;通过Web页面展示被请求报表。9.AssetBundle资源检测系统,其特征在于,该系统包括:文件包信息获取模块,用于从AssetBundle文件包中获取AssetBundle文件包的基础信息;资源文件提取模块,用于从AssetBundle文件包中提取所有所述资源文件;资源文件信息获取模块,用于获取所有所述资源文件的信息;初步分析模块,用于对AssetBundle文件包信息和所有资源文件信息进行初步分析;对比分析模块,用于结合预设的资源参数对各资源文件信息进行对比分析;和报表生成模块,用于将初步分析和对比分析的结果生成报表。10.根据权利要求9所述的AssetBundle资源检测系统,其特征在于,还包括,文件接收模块,用于接收AssetBundle文件包;存储模块,用于存储所述AssetBundle文件包的基础信息、所有所述资源文件、所有所述资源文件的信息、所述初步分析结果、所述对比分析结果和各类所述分析报表;报表请求模块,用于用户发出报表查询请求;报表获取模块,用于从数据库获取被请求报表;和报表显示模块,用于展示被请求报表。

百度查询: 苏州亿歌网络科技有限公司 AssetBundle资源检测方法及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。