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

项目资源的发布方法、装置、设备及计算机可读存储介质

文献发布时间:2024-04-18 19:59:31


项目资源的发布方法、装置、设备及计算机可读存储介质

技术领域

本申请涉及计算机应用技术领域,具体涉及一种项目资源的发布方法、装置、设备及计算机可读存储介质。

背景技术

在项目资源存在更新的情况下,需要对项目资源的发布内容进行整合。该发布内容包括更新内容与未更新内容,将更新内容与未更新内容打包生成打包资源以供用户使用。目前通常是重新打包更新内容与未更新内容的资源,形成新的打包资源,基于该新的打包资源进行发布。

但是目前的方式忽略了项目的历史版本,容易重复打包项目的历史版本中存在的资源,可能存在项目资源重复发布,导致项目资源发布效率较低。

发明内容

有鉴于此,本申请提供一种项目资源的发布方法、装置、设备及计算机可读存储介质,能够提高项目资源发布的效率。

为解决上述问题,本申请提供的技术方案如下:

第一方面,本申请提供一种项目资源的发布方法,所述方法应用于项目资源的发布系统,所述方法包括:

根据项目合集包的主工程的打包全局设置信息和子工程的打包临时设置信息生成打包资源,所述打包资源包括资源清单文件和压缩包文件,所述资源清单文件包括所述压缩包文件的下载地址,所述压缩包文件包括子工程的项目资源;

将所述压缩包文件的下载地址映射为虚拟服务器的虚拟版本地址,更新所述资源清单文件;

将更新后的资源清单文件发布至用户客户端,所述用户客户端利用所述更新后的资源清单文件下载所述压缩包文件。

在一种可能实现的方式中,所述将所述压缩包文件的下载地址映射为虚拟服务器的虚拟版本地址,更新所述资源清单文件,包括:

对所述压缩包文件和上一个版本的历史资源进行差分处理,得到差异压缩包文件和未变更压缩包文件;

获取所述差异压缩包文件的下载地址和所述未变更压缩包文件在上一个版本的历史资源中的下载地址;

将所述差异压缩包文件的下载地址和所述未变更压缩包文件在上一个版本的历史资源中的下载地址映射至虚拟服务器的虚拟版本地址;

基于所述虚拟版本地址更新所述资源清单文件。

在一种可能实现的方式中,所述方法还包括:

构建差异目录;

将所述差异压缩包文件存储至所述差异目录中。

在一种可能实现的方式中,在生成所述打包资源之后,所述方法还包括:

删除所述子工程的打包临时设置信息。

第二方面,本申请提供一种项目资源的发布装置,所述装置应用于项目资源的发布系统,所述装置包括生成模块、映射模块以及发布模块:

所述生成模块,用于根据项目合集包的主工程的打包全局设置信息和子工程的打包临时设置信息生成打包资源,所述打包资源包括资源清单文件和压缩包文件,所述资源清单文件包括所述压缩包文件的下载地址,所述压缩包文件包括子工程的项目资源;

所述映射模块,用于将所述压缩包文件的下载地址映射为虚拟服务器的虚拟版本地址,更新所述资源清单文件;

所述发布模块,用于将更新后的资源清单文件发布至用户客户端,所述用户客户端利用所述更新后的资源清单文件下载所述压缩包文件。

在一种可能实现的方式中,所述映射模块包括差分处理子模块、获取子模块、映射子模块以及更新子模块:

所述差分处理子模块,用于对所述压缩包文件和上一个版本的历史资源进行差分处理,得到差异压缩包文件和未变更压缩包文件;

所述获取子模块,用于获取所述差异压缩包文件的下载地址和所述未变更压缩包文件在上一个版本的历史资源中的下载地址;

所述映射子模块,用于将所述差异压缩包文件的下载地址和所述未变更压缩包文件在上一个版本的历史资源中的下载地址映射至虚拟服务器的虚拟版本地址;

所述更新子模块,用于基于所述虚拟版本地址更新所述资源清单文件。

在一种可能实现的方式中,所述装置还包括构建模块和存储模块:

所述构建模块,用于构建差异目录;

所述存储模块,用于将所述差异压缩包文件存储至所述差异目录中。

在一种可能实现的方式中,在生成所述打包资源之后,所述装置还包括删除模块:

所述删除模块,用于删除所述子工程的打包临时设置信息。

第三方面,本申请提供一种项目资源的发布设备,所述设备包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述第一方面所述的项目资源的发布方法。

第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储指令,当所述指令在设备上运行时,使得所述设备执行上述第一方面所述的项目资源的发布方法。

由此可见,本申请具有如下有益效果:

本申请提供一种项目资源的发布方法,该方法应用于项目资源的发布系统,首先根据项目合集包的主工程的打包全局设置信息和子工程的打包临时设置信息生成打包资源,所述打包资源包括资源清单文件和压缩包文件,所述资源清单文件包括所述压缩包文件的下载地址,所述压缩包文件包括子工程的项目资源;其次将所述压缩包文件的下载地址映射为虚拟服务器的虚拟版本地址,最后更新所述资源清单文件;将更新后的资源清单文件发布至用户客户端,所述用户客户端利用所述更新后的资源清单文件下载所述压缩包文件。如此,可以调用打包临时设置信息,与主工程中的打包全局设置信息结合完成资源打包;需打包的压缩包文件分布在不同历史版本中,将不同压缩包文件的下载地址映射至虚拟服务器的虚拟版本地址,不需要一一获取压缩包文件的原始地址,能够减少压缩包文件的重复发布,提高项目资源的发布效率。

本申请实施例还提供了与上述方法相对应的装置,具有与上述方法相同的有益效果。

附图说明

图1为本申请实施例提供的资源清单文件和压缩包文件的关系示意图;

图2为本申请实施例提供的一种Addressable系统打包生成更新资源的流程示意图;

图3为本申请实施例提供的各类型人员的需求分析示意图;

图4为本申请实施例提供的一种各类型人员的功能与系统功能对应关系的示意图;

图5为本申请实施例提供的一种各类型人员的开发面板的示意图;

图6为本申请实施例提供的一种项目资源的发布方法的流程示意图;

图7为本申请实施例提供的合集包项目资源结构及资源打包示意图;

图8为本申请实施例提供的一种资源更新差异对比的示意图;

图9为本申请实施例提供的一种项目资源的发布装置的结构示意图;

图10为本申请实施例提供的一种项目资源的发布设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

合集包项目中通常存在多个项目,在项目资源存在更新的情况下,现有的项目资源更新系统的资源发布功能需要对项目资源的发布内容进行整合。该发布内容包括更新内容与未更新内容,将更新内容与未更新内容打包生成打包资源以供用户使用。目前通常是重新打包更新内容与未更新内容的资源,形成新的打包资源,基于该新的打包资源进行发布。但是目前的方式忽略了项目的历史版本,容易重复打包项目的历史版本中存在的资源,可能存在项目资源重复发布,导致项目资源发布效率较低。

基于此,本申请实施例提供一种项目资源的发布方法、装置、设备及计算机可读存储介质,应用于项目资源的发布系统,首先根据项目合集包的主工程的打包全局设置信息和子工程的打包临时设置信息生成打包资源,所述打包资源包括资源清单文件和压缩包文件,所述资源清单文件包括所述压缩包文件的下载地址,所述压缩包文件包括子工程的项目资源;其次将所述压缩包文件的下载地址映射为虚拟服务器的虚拟版本地址,最后更新所述资源清单文件;将更新后的资源清单文件发布至用户客户端,所述用户客户端利用所述更新后的资源清单文件下载所述压缩包文件。如此,可以调用打包临时设置信息,与主工程中的打包全局设置信息结合完成资源打包;需打包的压缩包文件分布在不同历史版本中,将不同压缩包文件的下载地址映射至虚拟服务器的虚拟版本地址,不需要一一获取压缩包文件的原始地址,能够减少压缩包文件的重复发布,提高项目资源的发布效率。

为了便于理解本申请实施例提供的技术方案,下面结合附图对本申请实施例提供的一种项目资源的发布方法、装置、设备及计算机可读存储介质进行说明。

对项目资源的发布系统进行解释。

基于Unity的Addressable系统设计该项目资源的发布系统,其中,Addressable系统生成的资源包括两种类型,分别为资源清单文件和压缩包文件。参见图1,图1为本申请实施例提供的资源清单文件和压缩包文件的关系示意图。资源清单文件中包括压缩包文件的哈希值和下载地址,包的哈希值为对应的压缩包文件通过哈希算法生成的一串数字,这组数字主要用来在用户下载完压缩包文件后,验证该压缩包文件的完整性,不同的压缩包文件生成的哈希值均不相同。参见图2,图2为本申请实施例提供的一种Addressable系统打包生成更新资源的流程示意图。首先配置资源清单文件的服务器下载地址、全局下载参数等相关信息,再标记哪个资源需要生成压缩包文件(即资源包文件),需要生成的压缩包文件的数量是多少,最后打包资源清单文件以及压缩包文件。

考虑到人员的使用便捷性,从人员需求定义一个新的项目资源的发布系统。一般项目开发中,使用项目资源的发布系统的人员主要为项目开发人员、没数人员、项目发布人员以及策划人员。其中游项目开发人员既要要求便利性和灵活性,后面的三类人员主要要求便利性。因策划人员的需求和美术人员相似,区别仅在于策划人员修改的是数据资源,美术人员修改的是图像资源或者动画资源,再下述论述中,以美术人员为例进行说明,策划人员的内容可参考美术人员论述的内容。

参见图3,图3为本申请实施例提供的各类型人员的需求分析示意图。以游戏为例,用户在移动终端上接触到的资源是由游戏引擎(unity引擎)生成的打包资源,所有的资源必须经过打包之后才能供用户使用。对于研发端的美术人员而言,其并不需要关注打包工作。在合集包项目中,为了共享公共支撑功能,项目和其底下的支撑功能被划分为不同模式,对于美术人员和策划人员而言,也并不需要关注这部分工作。将项目系统的发布系统根据功能拆分为三部分,分别为资源读取模式、资源打包模式以及资源标记范围。

资源读取模式用于表达编辑器模拟执行项目时如何读取资源。其中,原始模式代表编辑器将使用原始资源,该原始资源无需用户做任何其余操作,仅进行调用即可。导出模式代表将使用编辑器打包生成的打包资源,该打包资源为用户最终使用的资源,打包操作耗时较长。

资源打包模式用于表达项目资源在Addressable系统中如何配置。其中,发布模式代表服务器资源部署在远程资源服务器上,用户在使用导出模式时,将会自动从正式的远程资源服务器下载资源来运行。本地服务器模式代表服务器资源部署在本机的资源服务器上,每个移动终端的IP地址均不同,以区分本机的资源服务器。配置服务器模式代表服务器资源配置在指定的某个资源服务器上面,资源服务器的地址由用户输入。

资源标记范围用于表示合集包中被Addressable系统标记的资源的范围。其中,所有项目为当前编辑器中的所有项目资源都将被标记。单个项目为指定某个项目的资源将被标记。

参见图4和图5,图4为本申请实施例提供的一种各类型人员的功能与系统功能对应关系的示意图,图5为本申请实施例提供的一种各类型人员的开发面板的示意图。对于美术人员的功能而言,仅需组合所需的原始模式和所需项目即可满足该美术人员的需求;对于项目发布人员的功能而言,仅需组合所需的发布模式和单个项目即可满足该项目发布人员的需求,该系统功能能够指定项目发布人员需求打包的某个项目。对于项目开发人员而言,则需要以上所有模式以满足该项目开发人员的需求。通过分析各方人员的实际需求,从系统功能中选择满足各方需求的模式。图5中从上到下依次为项目开发人员的开发面板、项目发布人员的开发面板以及美术人员的开发面板。需要说明的是,该单个项目处理可运行于单个线程,线程是系统能够进行运算调度的最小单位,被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。可用于项目合集包中多个项目并行更新。

本申请实施例提供的一种项目资源的发布方法可以应用于前述项目资源的发布系统,参见图6,图6为本申请实施例提供的一种项目资源的发布方法的流程示意图,以该系统的资源读取模式处于原始模式,资源打包模式处于发布模式以及资源标记范围属于单个项目为例进行说明,该方法具体包括S601-S603。

S601:根据项目合集包的主工程的打包全局设置信息和子工程的打包临时设置信息生成打包资源,所述打包资源包括资源清单文件和压缩包文件,所述资源清单文件包括所述压缩包文件的下载地址,所述压缩包文件包括子工程的项目资源。

参见图7,图7为本申请实施例提供的合集包项目资源结构及资源打包示意图。多项目资源结构中多个项目工程被分为一个主工程和至少一个子工程,其中,主工程中包括资源打包的相关设置信息(打包全局设置信息),不包含项目资源;子工程中包括该项目的原始资源,不包括打包全局设置信息。

以项目a为例进行说明,图7中展示了单个工程-工程A的打包过程。使用项目a对应的子工程A的打包临时设置信息以及主工程的打包全局设置信息来进行打包。该子工程A的打包临时设置信息包括项目a的原始资源,主工程的打包全局设置信息包括服务器下载地址及全局下载参数。在一种可能实现的方式中,生成打包资源之后,删除该子工程的打包临时设置信息。通过这种方式,仅对项目a的原始资源进行调用,不需要修改子工程A的任何设置,仅读取项目a的原始资源,并形成最终的打包资源。该子工程A的打包临时设置信息可以用于指示如何形成压缩包文件。采用目录的方式在子工程A中定义了相关目录,比如:图像目录、逻辑代码目录等,所有子工程均采用目录的方式,能够提高打包效率。

经过打包后生成的打包资源用于资源项目的发布。在本申请实施例中项目的发布为更新已有项目,则打包资源对应为更新资源,基于打包资源完成项目发布,即完成项目在用户移动终端的更新。

需要说明的是,在执行打包操作之前,还存在压缩包文件的全局依赖。对于每个不同的项目而言,都可能存在对Unity引擎的内置shader依赖,而且每个项目依赖的内置shader不同,因此在导出资源的时候,每个项目不知道该导出什么样的内置shader。

在一种可能实现的方式中,为解决内置shader依赖问题在每个项目中增加一个内置shader文件夹,在导出项目资源的时候会先检查本项目所有的资源对于内置shader的依赖,如果没有,就执行导出操作。如果有,则找到该部分所有的内置shader,从服务器上下载预先放置的同名内置shader,放到该项目的内置shader目录,并且将项目资源对于内置shader的依赖改为依赖本项目内置shader文件夹中同名shader的依赖,然后再执行打包操作。

S602:将所述压缩包文件的下载地址映射为虚拟服务器的虚拟版本地址,更新所述资源清单文件。

项目资源的发布系统中,当资源打包模式处于发布模式时,项目资源需要从远程资源服务器调用。对于每个子工程而言,存在许多版本的更新资源,每个版本与前一历史版本都存在相同部分和更新部分。参见图8所示,图8为本申请实施例提供的一种资源更新差异对比的示意图。

从客户端生成的资源中可以看到在从版本1到版本3的不同的版本中,每个版本相对上个版本的变更较小。从服务器端存储的资源中可以看到,为了减少服务器的存储占用,一般采用差分存储的方式。即以某个版本为基准版本,后续更新的版本仅存储与基准版本不同的文件。如图8所示,服务器的存储中,真实存储的文件数量小于客户端生成的文件,随着版本的增多,客户端生成的资源与服务器端存储的资源的数量差异将会越来越大。

在版本更新的过程中,服务器的每个资源清单中压缩包文件的下载地址会发生变更。例如,原本版本2的资源清单中有三个地址,其中有两个压缩包文件的真实下载地址在版本1中。在一种可能实现的方式中,所述将所述压缩包文件的下载地址映射为虚拟服务器的虚拟版本地址,更新所述资源清单文件,包括:对所述压缩包文件和上一个版本的历史资源进行差分处理,得到差异压缩包文件和未变更压缩包文件;获取所述差异压缩包文件的下载地址和所述未变更压缩包文件在上一个版本的历史资源中的下载地址;将所述差异压缩包文件的下载地址和所述未变更压缩包文件在上一个版本的历史资源中的下载地址映射至虚拟服务器的虚拟版本地址;基于所述虚拟版本地址更新所述资源清单文件。

在一种可能实现的方式中,所述方法还包括:构建差异目录;将所述差异压缩包文件存储至所述差异目录中。

在客户端上传打包的资源到服务器后,服务器对版本执行差分处理,将不一样的文件存储在服务器定义的差异目录中。同时对资源清单文件中的下载地址全部进行重映射,将所有的下载地址变更为虚拟服务器的虚拟版本地址。虚拟服务器的虚拟版本地址到真实文件的映射关系存储在网址映射服务器中。

S603:将更新后的资源清单文件发布至用户客户端,所述用户客户端利用所述更新后的资源清单文件下载所述压缩包文件。

用户客户端下载更新后的资源清单文件,对其中的压缩包文件进行下载,在下载时将会自动映射到真实的压缩包进行下发。

基于步骤S601-603的内容可知,根据项目合集包的主工程的打包全局设置信息和子工程的打包临时设置信息生成打包资源,所述打包资源包括资源清单文件和压缩包文件,所述资源清单文件包括所述压缩包文件的下载地址,所述压缩包文件包括子工程的项目资源;其次将所述压缩包文件的下载地址映射为虚拟服务器的虚拟版本地址,最后更新所述资源清单文件;将更新后的资源清单文件发布至用户客户端,所述用户客户端利用所述更新后的资源清单文件下载所述压缩包文件。如此,可以调用打包临时设置信息,与主工程中的打包全局设置信息结合完成资源打包;需打包的压缩包文件分布在不同历史版本中,将不同压缩包文件的下载地址映射至虚拟服务器的虚拟版本地址,不需要一一获取压缩包文件的原始地址,能够减少压缩包文件的重复发布,提高项目资源的发布效率。

前述本申请实施例提供基于上述的一种项目资源的发布方法。接下来说明本申请实施例中还提供的一种项目资源的发布装置,该装置应用于项目资源的发布系统,执行前述图6所示的方法,接下来对项目资源的发布装置的功能进行说明,所述项目资源的发布装置的结构示意图如图9所示,包括生成模块901、映射模块902以及发布模块903。

所述生成模块901,用于根据项目合集包的主工程的打包全局设置信息和子工程的打包临时设置信息生成打包资源,所述打包资源包括资源清单文件和压缩包文件,所述资源清单文件包括所述压缩包文件的下载地址,所述压缩包文件包括子工程的项目资源;

所述映射模块902,用于将所述压缩包文件的下载地址映射为虚拟服务器的虚拟版本地址,更新所述资源清单文件;

所述发布模块903,用于将更新后的资源清单文件发布至用户客户端,所述用户客户端利用所述更新后的资源清单文件下载所述压缩包文件。

在一种可能实现的方式中,所述映射模块902包括差分处理子模块、获取子模块、映射子模块以及更新子模块:

所述差分处理子模块,用于对所述压缩包文件和上一个版本的历史资源进行差分处理,得到差异压缩包文件和未变更压缩包文件;

所述获取子模块,用于获取所述差异压缩包文件的下载地址和所述未变更压缩包文件在上一个版本的历史资源中的下载地址;

所述映射子模块,用于将所述差异压缩包文件的下载地址和所述未变更压缩包文件在上一个版本的历史资源中的下载地址映射至虚拟服务器的虚拟版本地址;

所述更新子模块,用于基于所述虚拟版本地址更新所述资源清单文件。

在一种可能实现的方式中,所述装置还包括构建模块和存储模块:

所述构建模块,用于构建差异目录;

所述存储模块,用于将所述差异压缩包文件存储至所述差异目录中。

在一种可能实现的方式中,在生成所述打包资源之后,所述装置还包括删除模块:

所述删除模块,用于删除所述子工程的打包临时设置信息。

本申请实施例提供一种项目资源的发布装置,该装置包括生成模块、映射模块以及发布模块。生成模块用于根据项目合集包的主工程的打包全局设置信息和子工程的打包临时设置信息生成打包资源,所述打包资源包括资源清单文件和压缩包文件,所述资源清单文件包括所述压缩包文件的下载地址,所述压缩包文件包括子工程的项目资源;映射模块用于将所述压缩包文件的下载地址映射为虚拟服务器的虚拟版本地址,更新所述资源清单文件;发布模块用于将更新后的资源清单文件发布至用户客户端,所述用户客户端利用所述更新后的资源清单文件下载所述压缩包文件。如此,可以调用打包临时设置信息,与主工程中的打包全局设置信息结合完成资源打包;需打包的压缩包文件分布在不同历史版本中,将不同压缩包文件的下载地址映射至虚拟服务器的虚拟版本地址,不需要一一获取压缩包文件的原始地址,能够减少压缩包文件的重复发布,提高项目资源的发布效率。

基于上述方法实施例提供的一种项目资源的发布方法,本申请实施例提供一种项目资源的发布设备,参见图10,所述设备包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述任一项实施例所述的项目资源的发布方法。

基于上述方法实施例提供的一种项目资源的发布方法,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储指令,当所述指令在设备上运行时,使得所述设备执行上述任一项实施例所述的项目资源的发布方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种亚麻籽油的生产方法及其真空低温压榨装置
  • 一种新型天然亚麻籽植物蛋白饮料及其制备方法
  • 一种脱除亚麻籽油苦味的方法
  • 一种具有润肠通便作用的葡萄籽粉产品及其制备方法
  • 一种具有良好口感亚麻籽的烘焙方法
  • 一种基于界面调控的具有良好风味与功能活性亚麻籽植物乳及其制备方法与应用
技术分类

06120116521984