发明内容
本公开实施例至少提供一种资源文件配置方法及装置。
第一方面,本公开实施例提供了一种资源文件配置方法,包括:
获取目标应用程序的资源文件,并确定所述资源文件中与目标配置文件关联的至少一个静态资源文件;
为所述静态资源文件分配第一内容分发地址,并确定所述静态资源文件的第一内容分发地址与本地地址之间的映射关系;
基于所述静态资源文件的所述映射关系,对所述目标应用程序的资源文件进行内容分发配置,使所述目标应用程序部署于内容分发网络。
一种可选的实施方式中,所述目标配置文件包括入口文件及首页文件;所述基于所述静态资源文件的所述映射关系,对所述目标应用程序的资源文件进行内容分发配置,包括:
将所述静态资源文件上传至所述第一内容分发地址,基于所述静态资源文件的所述映射关系,对所述入口文件进行内容分发配置;
将配置后的所述入口文件上传至所述入口文件被分配的第二内容分发地址,对所述资源文件中的首页文件进行内容分发配置。
一种可选的实施方式中,所述基于所述静态资源文件的所述映射关系,对所述入口文件进行内容分发配置,包括:
将所述映射关系添加至所述入口文件中;
对所述入口文件添加管道函数,所述管道函数用于在所述目标应用程序运行时,将所述静态资源文件的本地地址替换为所述映射关系中对应的第一内容分发地址。
一种可选的实施方式中,所述基于所述第二内容分发地址,对所述资源文件中的首页文件进行内容分发配置,对所述资源文件中的首页文件进行内容分发配置,包括:
利用所述第二内容分发地址,对所述首页文件中所述入口文件的访问路径进行替换,完成对所述首页文件的内容分发配置。
一种可选的实施方式中,所述目标应用程序包括小游戏应用程序;
所述方法还包括:
利用目标游戏引擎构建所述目标应用程序的资源文件。
一种可选的实施方式中,所述方法还包括:
利用配置后的所述首页文件,从所述第二内容分发地址获取所述入口文件,运行所述目标应用程序;
响应针对所述静态资源文件的加载请求,利用所述入口文件,从所述第一内容分发地址获取所述静态资源文件并加载。
第二方面,本公开实施例还提供一种资源文件配置装置,包括:
获取模块,用于获取目标应用程序的资源文件,并确定所述资源文件中与目标配置文件关联的至少一个静态资源文件;
确定模块,用于为所述静态资源文件分配第一内容分发地址,并确定所述静态资源文件的第一内容分发地址与本地地址之间的映射关系;
配置模块,用于基于所述静态资源文件的所述映射关系,对所述目标应用程序的资源文件进行内容分发配置,使所述目标应用程序部署于内容分发网络。
一种可选的实施方式中,所述目标配置文件包括入口文件及首页文件;所述配置模块具体用于:
将所述静态资源文件上传至所述第一内容分发地址,基于所述静态资源文件的所述映射关系,对所述入口文件进行内容分发配置;
将配置后的所述入口文件上传至所述入口文件被分配的第二内容分发地址,对所述资源文件中的首页文件进行内容分发配置。
一种可选的实施方式中,所述配置模块在基于所述静态资源文件的所述映射关系,对所述入口文件进行内容分发配置时,用于:
将所述映射关系添加至所述入口文件中;
对所述入口文件添加管道函数,所述管道函数用于在所述目标应用程序运行时,将所述静态资源文件的本地地址替换为所述映射关系中对应的第一内容分发地址。
一种可选的实施方式中,所述配置模块在基于所述第二内容分发地址,对所述资源文件中的首页文件进行内容分发配置时,用于:
利用所述第二内容分发地址,对所述首页文件中所述入口文件的访问路径进行替换,完成对所述首页文件的内容分发配置。
一种可选的实施方式中,目标应用程序包括小游戏应用程序;
所述装置还包括构建模块,用于:
利用目标游戏引擎构建所述目标应用程序的资源文件。
一种可选的实施方式中,所述装置还包括加载模块,用于:
利用配置后的所述首页文件,从所述第二内容分发地址获取所述入口文件,运行所述目标应用程序;
响应针对所述静态资源文件的加载请求,利用所述入口文件,从所述第一内容分发地址获取所述静态资源文件并加载。
第三方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本公开实施例提供的资源文件配置方法及装置,首先获取目标应用程序的资源文件,并确定所述资源文件中与目标配置文件关联的至少一个静态资源文件;之后,为所述静态资源文件分配第一内容分发地址,并确定所述静态资源文件的第一内容分发地址与本地地址之间的映射关系;最后,基于所述静态资源文件的所述映射关系,对所述目标应用程序的资源文件进行内容分发配置,使所述目标应用程序部署于内容分发网络。本公开实施例通过确定所述静态资源文件的第一内容分发地址与本地地址之间的映射关系,基于确定的静态资源文件的映射关系,对资源文件进行内容分发配置,不需要对代理服务器等工具进行繁琐的配置,实现内容分发配置的自动化,提高内容分发配置的效率。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
为了解决进行内容分发配置时需要用户人工进行大量的配置,效率较低的技术问题,本公开提供了一种资源文件配置方法及装置,通过对静态资源文件进行依赖分析,基于确定的静态资源文件的依赖关系,对资源文件进行内容分发配置,不需要对代理服务器等工具进行繁琐的配置,实现内容分发配置的自动化,提高内容分发配置的效率。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种资源文件配置方法进行详细介绍,本公开实施例所提供的资源文件配置方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备。在一些可能的实现方式中,该资源文件配置方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的资源文件配置方法的流程图,所述方法包括步骤S101~S102,其中:
S101、获取目标应用程序的资源文件,并确定所述资源文件中与目标配置文件关联的至少一个静态资源文件。
该步骤中,终端设备可以获取或接收目标应用程序的资源文件,其中,目标应用程序可以包括小游戏、小程序、网页等类型,目标应用程序的资源文件可以是通过构建工具构建得到的,示例性的,目标应用程序可以为cocos小游戏,构建工具则可以为cocos creator开发引擎,对目标应用程序进行内容分发配置,可以将目标应用程序的部署至内容分发网络中,从而降低目标应用程序安装包体的大小。
这里,静态资源可以包括超文本、层叠样式表、脚本代码、图片等类型,这些资源通常不会在页面中发生变化,因此可以进行内容分发配置,在加载的时候不需要查找数据库,也不需要程序处理,直接从内容分发网络加载即可使用。
之后,终端设备可以确定资源文件中的目标配置文件,并确定与目标配置文件关联的至少一个静态资源文件,再确定与目标配置文件关联的至少一个静态资源文件,其中,目标配置文件可以包括入口文件及首页文件,具体的,入口文件可以为JavaScript文件中的main.js文件,首页文件可以为index.html文件,在目标配置文件中,存在加载访问各个静态资源文件的代码,通过对目标配置文件进行分析,能够确定目标应用程序的静态资源文件(即与目标配置文件关联的静态资源文件)有哪些,以及静态资源对应的本地地址。
S102、为所述静态资源文件分配第一内容分发地址,并确定所述静态资源文件的第一内容分发地址与本地地址之间的映射关系。
该步骤中,可以为确定的静态资源分配第一内容分发地址,其中,第一内容分发地址为内容分发网络上的地址,可以为各个静态资源文件分配不同的第一内容分发地址,第一内容分发地址即为内容分发配置步骤中对应的静态资源文件需要上传至的位置。
在确定静态资源文件的本地地址与第一内容分发地址后,可以建立本地地址与第一内容分发地址之间的映射关系,映射关系中可以包含静态资源文件的文件名、本地地址及第一内容分发地址。
S103、基于所述静态资源文件的所述映射关系,对所述目标应用程序的资源文件进行内容分发配置,使所述目标应用程序部署于内容分发网络。
该步骤中,在得到映射关系后,可以将静态资源文件上传至对应的第一内容分发地址,然后将映射关系注入至入口文件中,利用映射关系将入口文件中访问静态资源文件的地址由本地地址转换为第一内容分发地址,之后,可以将入口文件上传至内容分配网络中,再更新首页文件中入口文件的加载地址,完成内容分发配置,这里,最终保存在本地的文件即配置后的首页文件index.html。
具体的,步骤S103可以包括:
将所述静态资源文件上传至所述第一内容分发地址,基于所述静态资源文件的所述映射关系,对所述入口文件进行内容分发配置;
将配置后的所述入口文件上传至所述入口文件被分配的第二内容分发地址,基于所述第二内容分发地址,对所述资源文件中的首页文件进行内容分发配置。
该步骤中,可以将静态资源文件上传至内容分发网络中第一内容分发地址对应的CDN存贮器,再将本地地址下的静态资源文件删除,通过访问第一内容分发地址,可以获取对应的静态资源文件。
在将静态资源文件上传至第一内容分发地址后,可以通过以下步骤对入口文件进行内容分发配置:
将所述映射关系添加至所述入口文件中;
对所述入口文件添加管道函数,所述管道函数用于在所述目标应用程序运行时,将所述静态资源文件的本地地址替换为所述映射关系中对应的第一内容分发地址。
该步骤中,可以将映射关系添加至入口文件中,将依赖对象添加至入口文件main.js中,并对入口文件进行管道函数的添加操作,其中,管道函数可以用于为函数传递变量,具体的,在入口文件中,存在访问加载静态资源的函数,在这些函数中记录的静态资源文件的地址为本地地址,通过管道函数可以将映射关系中的与本地地址对应的第一内容分发地址传递给调用静态资源文件的函数,这样,目标应用程序即可通过入口文件获取到第一内容分发地址的静态资源文件。
这样,通过管道函数即可实现在目标应用程序运行时自动将本地地址替换为第一内容分发地址,不需要对入口文件中的本地路径进行修改,进行内容分发配置时的效率较高,节省时间。
在对入口文件的内容分发配置完成后,可以将配置后的入口文件上传至内容分发网络中的第二内容分发地址,然后利用第二内容分发地址,对首页文件中入口文件的访问路径进行替换,完成对首页文件的分发配置,这样,能够进一步减小本地文件包体的大小。
示例性的,可以利用第二内容分发地址将首页文件中入口文件的访问路径进行替换。在完成首页文件的内容分发配置之后,目标应用程序可以通过首页文件调用访问内容分发网络中的入口文件。
经过上述处理,目标应用程序的资源文件中,静态资源文件及入口文件都被上传至内容分配网络中,在本地的文件通常仅剩余首页文件index.html,这样,目标应用程序的安装包占用的存储空间就较低,在业务人员需要进行维护调试时,只需要对首页文件进行维护,也不需要开发人员熟悉代理服务器等工具,降低开发人员的学习成本,效率较高。
进一步的,在完成内容分发配置后,在运行目标应用程序时,可以利用内容分发化文件,从第二内容分发地址获取到配置后的入口文件,并在检测到针对静态资源文件的加载请求后,利用入口文件,通过第一内容分发地址获取到请求的静态资源文件,并进行加载,实现目标应用程序的正常运行。
本公开实施例提供的资源文件配置方法,首先获取目标应用程序的资源文件,并确定所述资源文件中与目标配置文件关联的至少一个静态资源文件;之后,为所述静态资源文件分配第一内容分发地址,并确定所述静态资源文件的第一内容分发地址与本地地址之间的映射关系;最后,基于所述静态资源文件的所述映射关系,对所述目标应用程序的资源文件进行内容分发配置,使所述目标应用程序部署于内容分发网络。本公开实施例通过确定所述静态资源文件的第一内容分发地址与本地地址之间的映射关系,基于确定的静态资源文件的映射关系,对资源文件进行内容分发配置,不需要对代理服务器等工具进行繁琐的配置,实现内容分发配置的自动化,提高内容分发配置的效率。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与资源文件配置方法对应的资源文件配置装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述资源文件配置方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图2所示,为本公开实施例提供的一种资源文件配置装置的示意图,所述装置包括:
获取模块210,用于获取目标应用程序的资源文件,并确定所述资源文件中与目标配置文件关联的至少一个静态资源文件;
确定模块220,用于为所述静态资源文件分配第一内容分发地址,并确定所述静态资源文件的第一内容分发地址与本地地址之间的映射关系;
配置模块230,用于基于所述静态资源文件的所述映射关系,对所述目标应用程序的资源文件进行内容分发配置,使所述目标应用程序部署于内容分发网络。
一种可选的实施方式中,所述目标配置文件包括入口文件及首页文件;所述配置模块230具体用于:
将所述静态资源文件上传至所述第一内容分发地址,基于所述静态资源文件的所述映射关系,对所述入口文件进行内容分发配置;
将配置后的所述入口文件上传至所述入口文件被分配的第二内容分发地址,对所述资源文件中的首页文件进行内容分发配置。
一种可选的实施方式中,所述配置模块230在基于所述静态资源文件的所述映射关系,对所述入口文件进行内容分发配置时,用于:
将所述映射关系添加至所述入口文件中;
对所述入口文件添加管道函数,所述管道函数用于在所述目标应用程序运行时,将所述静态资源文件的本地地址替换为所述映射关系中对应的第一内容分发地址。
一种可选的实施方式中,所述配置模块230在基于所述第二内容分发地址,对所述资源文件中的首页文件进行内容分发配置时,用于:
利用所述第二内容分发地址,对所述首页文件中所述入口文件的访问路径进行替换,完成对所述首页文件的内容分发配置。
一种可选的实施方式中,目标应用程序包括小游戏应用程序;
所述装置还包括构建模块,用于:
利用目标游戏引擎构建所述目标应用程序的资源文件。
一种可选的实施方式中,所述装置还包括加载模块,用于:
利用配置后的所述首页文件,从所述第二内容分发地址获取所述入口文件,运行所述目标应用程序;
响应针对所述静态资源文件的加载请求,利用所述入口文件,从所述第一内容分发地址获取所述静态资源文件并加载。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
对应于图1中的资源文件配置方法,本公开实施例还提供了一种电子设备300,如图3所示,为本公开实施例提供的电子设备300结构示意图,包括:
处理器31、存储器32、和总线33;存储器32用于存储执行指令,包括内存321和外部存储器322;这里的内存321也称内存储器,用于暂时存放处理器31中的运算数据,以及与硬盘等外部存储器322交换的数据,处理器31通过内存321与外部存储器322进行数据交换,当所述电子设备300运行时,所述处理器31与所述存储器32之间通过总线33通信,使得所述处理器31执行以下指令:
获取目标应用程序的资源文件,并确定所述资源文件中与目标配置文件关联的至少一个静态资源文件;
为所述静态资源文件分配第一内容分发地址,并确定所述静态资源文件的第一内容分发地址与本地地址之间的映射关系;
基于所述静态资源文件的所述映射关系,对所述目标应用程序的资源文件进行内容分发配置,使所述目标应用程序部署于内容分发网络。
一种可选的实施方式中,所述处理器31执行的指令中,所述目标配置文件包括入口文件及首页文件;所述基于所述静态资源文件的所述映射关系,对所述目标应用程序的资源文件进行内容分发配置,包括:
将所述静态资源文件上传至所述第一内容分发地址,基于所述静态资源文件的所述映射关系,对所述入口文件进行内容分发配置;
将配置后的所述入口文件上传至所述入口文件被分配的第二内容分发地址,对所述资源文件中的首页文件进行内容分发配置。
一种可选的实施方式中,所述处理器31执行的指令中,所述基于所述静态资源文件的所述映射关系,对所述入口文件进行内容分发配置,包括:
将所述映射关系添加至所述入口文件中;
对所述入口文件添加管道函数,所述管道函数用于在所述目标应用程序运行时,将所述静态资源文件的本地地址替换为所述映射关系中对应的第一内容分发地址。
一种可选的实施方式中,所述处理器31执行的指令中,所述基于所述第二内容分发地址,对所述资源文件中的首页文件进行内容分发配置,对所述资源文件中的首页文件进行内容分发配置,包括:
利用所述第二内容分发地址,对所述首页文件中所述入口文件的访问路径进行替换,完成对所述首页文件的内容分发配置。
一种可选的实施方式中,所述目标应用程序包括小游戏应用程序;
所述处理器31还用于执行:
利用目标游戏引擎构建所述目标应用程序的资源文件。
一种可选的实施方式中,所述处理器31还用于执行:
利用配置后的所述首页文件,从所述第二内容分发地址获取所述入口文件,运行所述目标应用程序;
响应针对所述静态资源文件的加载请求,利用所述入口文件,从所述第一内容分发地址获取所述静态资源文件并加载。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的资源文件配置方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的资源文件配置方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。