[发明专利]一种基于差异的AssetBundle更新方法及装置在审

专利信息
申请号: 201711025416.9 申请日: 2017-10-27
公开(公告)号: CN107908419A 公开(公告)日: 2018-04-13
发明(设计)人: 陈士财 申请(专利权)人: 珠海金山网络游戏科技有限公司;广州西山居世游网络科技有限公司
主分类号: G06F8/658 分类号: G06F8/658
代理公司: 广州嘉权专利商标事务所有限公司44205 代理人: 俞梁清
地址: 519000 广东省珠*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 差异 assetbundle 更新 方法 装置
【说明书】:

技术领域

本发明涉及游戏开发技术领域,尤其涉及基于差异的AssetBundle更新方法及装置。

背景技术

随着媒体互联网的迅速发展,数字互动娱乐延伸到新的领域,网络游戏是近年来得到广泛关注并且发展极为迅速的一个产业,如今我国网络游戏业的巨大市场使得游戏从业人员不断发展软件技术以提升玩家的游戏体验。

在网络游戏开发中,AssetBundle是Unity pro提供的一种用来存储资源的文件格式,它可以存储任意一种Unity引擎能够识别的资源,如Scene、Mesh、Material、Texture、Audio、noxss等等,同时,AssetBundle也可以包含开发者自定义的二进制文件,只需要将自定义文件的扩展名改为.bytes,Unity就可以把它识别为TextAsset,进而就可以被打包到AssetBundle中。Unity引擎所能识别的资源我们称为Asset,AssetBundle就是Asset的一个集合。例如在发明专利申请CN201710188887.5中,对游戏资源进行处理,得到多个预制件,每个预制件对应生成一个版本号,每个版本号对应一个下载地址;将多个预制件生成一个AssetBundle资源包,在游戏进程启动成功后,推算出距离当前时刻一定时间间隔内所需的游戏资源,得到所需的游戏资源对应的版本号及对应下载地址。

现有的游戏客户端通常包括游戏运行时所需的所有游戏资源,例如,图片、音频和视频等资源。这些资源通常采用打AssetBundle包方式存储,从而获得传输方便、资源保密、以及更加快速访问速度等优点。但由于AssetBundle没有提供差异更新的方式,用户通常使用大量AssetBundle包的方式解决更新包体积问题,大量的AssetBundle包会导致包内文件冗余,访问时间慢,资源无法进行绘制合并等问题。因此,需要提供实现AssetBundle更新的方法使降低更新包体积,减少包内冗余文件。

发明内容

本发明的目的是解决现有技术的不足,提供一种基于差异的AssetBundle更新方法及装置,旨在解决更新过程中AssetBundle中产生冗余资源及大幅度减少更新包体积问题。

为了实现上述目的,本发明提出一种基于差异的AssetBundle更新方法,包括如下步骤:

S100,对新版本和旧版本的AssetBundle进行解包,获取包内资源;

S200,对包内资源进行AssetBundle差异分析,获取新版本中资源与旧版本资源差异结果,生成差异指令文件并发送;

S300,客户端接收差异指令文件,根据不同的差异指令接收新版本中的相应资源或者保留旧版本中的相应资源并填充进资源数据,生成新版本AssetBundle资源包。

在本发明的上述方法中,步骤S100和步骤S200在服务器上进行,服务器向客户端获取旧AssetBundle的版本号并查找相应版本的AssetBundle文件。

进一步地,查找到相应版本的AssetBundle文件之后,通过差异比较并且遍历新版本AssetBundle包中资源检测新版本中的资源与旧版本资源差异情况。

进一步地,通过所述差异比较将新AssetBundle资源包中的资源分成三类:未变更的资源,在旧版本中存在且内容相同;新增的资源,在旧版本中不存在;变更的资源,在旧版本中存在但内容不同。

进一步地,在服务器中生成差异指令的输出文件,其中对于未变更的资源,其差异指令为资源所在旧版本中的文件名及偏移值、及偏移值和资源大小;对于新增的资源和变更的资源,其差异指令为资源所在新版本中的文件名及偏移值、资源内容和资源大小。

本发明还提出一种基于差异的AssetBundle更新装置,其包括AssetBundle差异分析模块、AssetBundle差异合并模块,其中差异分析模块用于AssetBundle差异分析,检测新版本中的资源与旧版本资源差异情况,生成差异指令的输出文件;AssetBundle差异合并模块,用于接收差异指令文件,根据不同的差异指令接收新版本中的相应资源或者保留旧版本中的相应资源并填充进资源数据,生成新版本AssetBundle资源包。

进一步地,差异分析模块在服务端模块上运行,其中服务端模块储存有多个不同版本的AssetBundle文件。

本发明的有益效果是:每次重新生成新版本的AssetBundle资源包,资源中不存在冗余文件,提高了传输效率;客户端无需更新全部资源,减少服务器带宽和用户流量。

附图说明

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山网络游戏科技有限公司;广州西山居世游网络科技有限公司,未经珠海金山网络游戏科技有限公司;广州西山居世游网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711025416.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top