项目资源检测方法、装置、电子设备及存储介质

文档序号:190110 发布日期:2021-11-02 浏览:47次 >En<

阅读说明:本技术 项目资源检测方法、装置、电子设备及存储介质 (Project resource detection method and device, electronic equipment and storage medium ) 是由 王达 于 2021-08-02 设计创作,主要内容包括:本发明实施例公开了一种项目资源检测方法、装置、电子设备及存储介质。该方法通过在目标引擎的编辑器的启动过程中加载的预先构建的资源检测钩子文件,以及资源服务器中的目标加载项目资源,对本地加载项目资源进行检测,进而根据检测的结果确定是否继续执行开启目标引擎的编辑器的操作,实现了编辑器启动过程中项目资源的自动检查,无需在编辑器完全启动之后人工检查项目资源是否过期,使得过期的项目资源可以在编辑器启动过程中被快速发现,提高了项目资源的检查效率,进一步的,提高了项目的开发效率;同时,避免了由于项目资源过期所导致的编辑器的重新启动,减少了引擎运行占用内存。(The embodiment of the invention discloses a project resource detection method and device, electronic equipment and a storage medium. The method detects the locally loaded project resources through the pre-constructed resource detection hook file loaded in the starting process of the editor of the target engine and the target loaded project resources in the resource server, and further determines whether to continue to execute the operation of starting the editor of the target engine according to the detection result, so that the automatic inspection of the project resources in the starting process of the editor is realized, the manual inspection of whether the project resources are overdue after the editor is completely started is not needed, the overdue project resources can be quickly discovered in the starting process of the editor, the inspection efficiency of the project resources is improved, and further, the development efficiency of the project is improved; meanwhile, restarting of the editor caused by overdue project resources is avoided, and memory occupied by engine operation is reduced.)

项目资源检测方法、装置、电子设备及存储介质

技术领域

本发明实施例涉及计算机应用技术领域,尤其涉及一种项目资源检测方法、装置、电子设备及存储介质。

背景技术

在项目引擎编辑器启动的过程中,往往需要加载项目开发或者运行所需要的各种各样的项目资源。如果加载了过期的项目资源,会在项目运行中报错或者出现显示错误,此时需要关闭编辑器,然后手动更新项目资源,再重新启动编辑器,才能够使用插件。

目前,检查项目资源是否过期的方式是,在编辑器启动之后,由专业的技术人员手动进行检查,其检查时间存在一定的滞后性;如果存在项目资源过期的情况,则需要重启编辑器,由于编辑器的启动过程中会涉及到很多程序集的加载以及资源的导入,会造成系统资源的负担以及时间浪费,从而影响项目开发效率。

发明内容

本发明实施例提供了一种项目资源检测方法、装置、电子设备及存储介质,以提高项目资源的检测效率,进一步的,提高项目的开发效率。

第一方面,本发明实施例提供了一种项目资源检测方法,包括:

在目标引擎的编辑器的启动过程中,加载预先构建的资源检测钩子文件;

基于所述资源检测钩子文件和资源服务器中的目标加载项目资源对本地加载项目资源进行检测;

基于检测结果确定是否继续执行开启目标引擎的编辑器的操作。

可选的,所述基于所述资源检测钩子文件和资源服务器中的目标加载项目资源对本地加载项目资源进行检测,包括:

基于所述资源检测钩子文件将本地加载项目资源的本地配置文件与资源服务器中的目标加载项目资源的远端配置文件进行比对。

可选的,所述基于所述资源检测钩子文件将本地加载项目资源的本地配置文件与资源服务器中的目标加载项目资源的远端配置文件进行比对,包括:

基于所述资源检测钩子文件中的资源检测类,将本地加载项目资源的本地配置文件的本地更新时间信息与资源服务器中的目标加载项目资源的远端配置文件的远端更新时间信息进行比对。

可选的,所述基于检测结果确定是否继续执行开启目标引擎的编辑器的操作,包括:

如果所述本地配置文件与所述远端配置文件不一致,则基于所述资源检测钩子文件中的资源更新类将所述本地加载项目资源更新为所述目标加载项目资源,并继续执行开启目标引擎的编辑器的操作。

可选的,所述基于所述资源检测钩子文件中的资源更新类将所述本地加载项目资源更新为所述目标加载项目资源,包括:

调用所述资源检测钩子文件中的资源更新类,基于所述远端配置文件从所述资源服务器中拉取所述目标加载项目资源,并将所述本地加载项目资源替换为对应的所述目标加载项目资源。

可选的,所述基于检测结果确定是否继续执行开启目标引擎的编辑器的操作,包括:

如果所述本地配置文件与所述远端配置文件一致,则继续执行开启目标引擎的编辑器的操作。

可选的,还包括执行下述操作中的至少一项:

加载所述目标引擎的原生代码库;

加载所述目标引擎的引擎插件层程序集;

加载预先构建的项目工程程序集;

加载预先构建的第三方软件开发工具包程序集;

所述加载预先构建的资源检测钩子文件,包括下述操作中的至少一项:

当所述目标引擎的原生代码库加载完成时,加载预先构建的资源检测钩子文件;或者,

当所述目标引擎的引擎插件层程序集加载完成时,加载预先构建的资源检测钩子文件;或者,

当预先构建的项目工程程序集加载完成时,加载预先构建的资源检测钩子文件;又或者,

当预先构建的第三方软件开发工具包程序集加载完成时,加载预先构建的资源检测钩子文件。

第二方面,本发明实施例还提供了一种项目资源检测装置,包括:

钩子文件加载模块,用于在目标引擎的编辑器的启动过程中,加载预先构建的资源检测钩子文件;

项目资源检测模块,用于基于所述资源检测钩子文件和资源服务器中的目标加载项目资源对本地加载项目资源进行检测;

开启操作执行模块,用于基于检测结果确定是否继续执行开启目标引擎的编辑器的操作。

第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例提供的项目资源检测方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例提供的项目资源检测方法。

上述发明中的实施例具有如下优点或有益效果:

通过在目标引擎的编辑器的启动过程中加载的预先构建的资源检测钩子文件,以及资源服务器中的目标加载项目资源,对本地加载项目资源进行检测,进而根据检测的结果确定是否继续执行开启目标引擎的编辑器的操作,实现了编辑器启动过程中项目资源的自动检测,无需在编辑器完全启动之后人工检测项目资源是否过期,使得过期的项目资源可以在编辑器启动过程中被快速发现,提高了项目资源的检测效率,进一步的,提高了项目的开发效率;同时,避免了由于项目资源过期所导致的编辑器的重新启动,减少了引擎运行占用内存。

附图说明

为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。

图1为本发明实施例一所提供的一种项目资源检测方法的流程示意图;

图2为本发明实施例二所提供的一种项目资源检测方法的流程示意图;

图3为本发明实施例三所提供的一种项目资源检测方法的流程示意图;

图4为本发明实施例四所提供的一种项目资源检测装置的结构示意图;

图5为本发明实施例五所提供的一种电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种项目资源检测方法的流程示意图,本实施例可适用于在启动引擎的编辑器的过程中,对项目资源进行检测的情况,该方法可以由项目资源检测装置来执行,该装置可以由硬件和/或软件来实现,该方法具体包括如下步骤:

S110、在目标引擎的编辑器的启动过程中,加载预先构建的资源检测钩子文件。

其中,目标引擎可以是当前正在启动编辑器的引擎。示例性的,目标引擎可以是为开发者提供大量核心技术、基础支持或功能调用的工具。如,目标引擎可以是游戏引擎,包括但不限于Unity引擎、虚幻引擎、脚本引擎、物理引擎、渲染引擎以及网络引擎等。以渲染引擎为例,利用渲染引擎可以把人物模型、动画、光影、特效等所有效果实时计算出来并展示在屏幕上;以物理引擎为例,利用物理引擎可以使游戏中物体的运动遵循固定的规律,如,规定角色跳起高度、跑步速度、飞行速度、招式的施放轨迹等。

在本实施例中,目标引擎的编辑器的启动过程可以包括如下步骤:1、初始化目标引擎的基础配置;2、编译目标引擎的全部代码;3、导入目标引擎的项目资源;4、导入目标引擎的数值文件。

其中,编译的目标引擎的全部代码包括:目标引擎的原生代码库、目标引擎的插件层代码、目标引擎的项目工程的全部代码以及目标引擎的第三方库或软件开发工具包的插件库。目标引擎的项目资源可以包括角色模型、建筑模型、武器模型、贴图、动作、骨骼、prefab预制体等资源。目标引擎的数值文件可以是描述模型基本数值、动作相关数值或场景相关数值的文件;如,模型高度数值、武器外观数值、武器发射数值、人物动作速度数值、特效时间数值、场景透明度数值等。

具体的,本实施例可以在上述目标引擎的编辑器的启动过程中的任一步骤中,加载预先构建的资源检测钩子文件。

在本实施例中,预先构建的资源检测钩子文件可以是用于进行项目资源检测的文件。具体的,资源检测钩子文件可以包含调用项目资源检测方法的指令。资源检测钩子文件可以是hook文件,如,.dll文件、.lab文件等。示例性的,资源检测钩子文件可以是EnginePreEntryHook.dll文件。

可选的,可以基于目标引擎的C#生成dll方法,预先构建一个工程EnginePreEntryHook,从而生成一个EnginePreEntryHook.dll文件,将其作为资源检测钩子文件。可选的,EnginePreEntryHook.dll文件可以放置在项目工程内的EngineDll目录下,并与其它引擎内部的dll文件分开独立维护;在每次编写EnginePreEntryHook内部代码之后,自动映射更新项目工程内EngineDll目录下面的EnginePreEntryHook.dll文件。

在一种实施方式中,为了进一步提高项目资源的检测效率,可以在上述编辑器的启动过程中的导入目标引擎的数值文件之前,加载预先构建的资源检测钩子文件,以在导入数值文件之前检测项目资源,进而减少项目资源的检测时间;或者,在导入目标引擎的项目资源之前,加载预先构建的资源检测钩子文件,以在导入项目资源之前检测项目资源,在项目资源过期时及时更新项目资源,相比于在导入项目资源之后检测项目资源,可以在项目资源过期并更新项目资源后,无需重新再次导入项目资源,减少了引擎的编辑器的启动时间,进而减少了项目的开发时间。

在另一种实施方式中,考虑到编译目标引擎的全部代码的操作,可能会对项目资源产生更改,因此,还可以在编译目标引擎的全部代码之后,导入目标引擎的项目资源之前,加载预先构建的资源检测钩子文件,进而在保证项目资源的检测准确率的同时,提高项目资源的检测效率。

在另一种实施方式中,还可以在编译目标引擎的全部代码的过程中,加载预先构建的资源检测钩子文件。即,本实施例提供项目资源检测方法还包括执行下述操作中的至少一项:

加载目标引擎的原生代码库;加载目标引擎的引擎插件层程序集;加载预先构建的项目工程程序集;加载预先构建的第三方软件开发工具包程序集;

所述加载预先构建的资源检测钩子文件,包括下述操作中的至少一项:

当目标引擎的原生代码库加载完成时,加载预先构建的资源检测钩子文件;或者,当目标引擎的引擎插件层程序集加载完成时,加载预先构建的资源检测钩子文件;或者,当预先构建的项目工程程序集加载完成时,加载预先构建的资源检测钩子文件;又或者,当预先构建的第三方软件开发工具包程序集加载完成时,加载预先构建的资源检测钩子文件。

其中,目标引擎的原生代码库可以包含目标引擎的基础代码;如,原生代码库可以包含UnityEngine系列dll文件。目标引擎的引擎插件层程序集可以包含插件层代码或调用原生代码的程序代码;如,包含package和plugin系列的dll文件。预先构建的项目工程程序集可以包含项目工程的全部程序代码;如游戏工程的全部程序代码,可以是Project系列的dll文件代码。预先构建的第三方软件开发工具包程序集可以包含第三方库或SDK(Software Development Kit,软件开发工具包)的插件库文件。示例性的,第三方软件开发工具包程序集可以是音效Wwise、游戏SDK等。

具体的,在该可选的实施方式中,可以包括加载目标引擎的原生代码库、加载目标引擎的引擎插件层程序集、加载预先构建的项目工程程序集以及加载预先构建的第三方软件开发工具包程序集的至少一项,以对原生代码库、引擎插件层程序集、项目工程程序集、第三方软件开发工具包程序集中的至少一项进行编译。当然,本实施例提供项目资源检测方法还可以包括上述全部加载步骤,需要说明的是,在包括全部加载步骤时,加载顺序为:原生代码库、引擎插件层程序集、项目工程程序集以及第三方软件开发工具包程序集。

在该可选的实施方式中,可以是在目标引擎的原生代码库加载完成时,加载资源检测钩子文件;或者,在目标引擎的引擎插件层程序集加载完成时,加载资源检测钩子文件;或者,在预先构建的项目工程程序集加载完成时,加载预先构建的资源检测钩子文件;或者,在预先构建的第三方软件开发工具包程序集加载完成时,加载预先构建的资源检测钩子文件。通过在原生代码库、引擎插件层程序集、项目工程程序集或第三方软件开发工具包程序集加载完成时,加载预先构建的资源检测钩子文件,可以在加载引擎插件层程序集、项目工程程序集或第三方软件开发工具包程序集之前,完成项目资源的检测,进一步地减少了项目资源的检查时间,提高了项目资源的检查效率,并且,减少了引擎的编辑器的启动时间,极大地提高了项目的开发效率。

可选的,可以通过修改目标引擎的引擎加载代码,将资源检测钩子文件的送入至第一优先加载队列(原生代码库加载队列)中,以在原生代码库加载完成后,加载资源检测钩子文件。该方法仅将资源检测钩子文件添加至第一优先加载队列即可,无需对整个目标引擎进行调整,提高了本实施例提供的项目资源检测方法的适用性。

当然,本实施例还可以在目标引擎的原生代码库编译完成时,加入一个hook(资源检测钩子文件)进行编译,在预先构建的项目工程程序集编译完成时,通过hook触发对项目资源进行检测。

S120、基于资源检测钩子文件和资源服务器中的目标加载项目资源对本地加载项目资源进行检测。

其中,本地加载项目资源可以是本地存储的启动目标引擎的编辑器所对应的项目资源。目标加载项目资源可以是资源服务器中存储的启动目标引擎的编辑器所需的项目资源。资源服务器可以在服务器本地存储各引擎对应的项目资源;或者,与存储项目资源的仓库相连接,从仓库中读取项目资源。

示例性的,可以根据目标引擎的引擎标识在资源服务器中查询目标引擎对应的目标加载项目资源。需要说明的是,目标加载项目资源可以是目标引擎对应的最新版本的项目资源,也可以不是最新版本的项目资源。如,引擎a对应的目标加载项目资源的版本为4.1.1;引擎b对应的目标加载项目资源的版本为4.1.2。

具体的,基于资源检测钩子文件和资源服务器中的目标加载项目资源对本地加载项目资源进行检测,可以是:通过资源检测钩子文件触发基于资源服务器中的目标加载项目资源对本地加载项目资源进行检测的操作。

可选的,基于资源检测钩子文件和资源服务器中的目标加载项目资源对本地加载项目资源进行检测,可以包括下述中的至少一种:

基于资源检测钩子文件和资源服务器中的目标加载项目资源的资源版本对本地加载项目资源的资源版本进行检测;

基于资源检测钩子文件和资源服务器中的目标加载项目资源的版本时间对本地加载项目资源的版本时间进行检测;

基于资源检测钩子文件和资源服务器中的目标加载项目资源的资源版本、资源更新时间,对本地加载项目资源的资源版本、资源更新时间进行检测;

基于资源检测钩子文件和资源服务器中的目标加载项目资源的资源内容对本地加载项目资源的资源内容进行检测。

其中,若目标加载项目资源的资源版本与本地加载项目资源的资源版本一致,则检测结果可以为检测通过。或者,若目标加载项目资源的资源更新时间与本地加载项目资源的资源更新时间一致,则检测结果可以为检测通过。或者,若目标加载项目资源的资源内容与本地加载项目资源的资源内容一致,则检测结果可以为检测通过。

S130、基于检测结果确定是否继续执行开启目标引擎的编辑器的操作。

在本实施例中,若检测结果为检测通过,则可以确定本地加载项目资源没有过期,可以继续执行启动目标引擎的编辑器的操作。若检测结果为检测不通过,则可以暂停执行启动目标引擎的编辑器的操作,根据目标加载项目资源对本地加载项目资源进行更新,基于更新后的本地加载项目资源,继续执行启动目标引擎的编辑器的操作。

示例性的,若在目标引擎的原生代码库加载完成时加载资源检测钩子文件,在预先构建的项目工程程序集加载完成时,基于资源检测钩子文件和资源服务器中的目标加载项目资源对本地加载项目资源进行检测,检测结果为检测通过,则可以继续执行加载预先构建的第三方软件开发工具包程序集的操作,从而继续执行启动目标引擎的编辑器的操作;检测结果为检测不通过,则可以停止执行启动目标引擎的编辑器的操作。

本实施例的技术方案,通过在目标引擎的编辑器的启动过程中加载的预先构建的资源检测钩子文件,以及资源服务器中的目标加载项目资源,对本地加载项目资源进行检测,进而根据检测的结果确定是否继续执行开启目标引擎的编辑器的操作,实现了编辑器启动过程中项目资源的自动检查,无需在编辑器完全启动之后人工检查项目资源是否过期,使得过期的项目资源可以在编辑器启动过程中被快速发现,提高了项目资源的检查效率,进一步的,减少了引擎的编辑器的启动时间,提高了项目的开发效率;同时,避免了由于项目资源过期所导致的编辑器的重新启动,减少了引擎运行占用内存。

在现有技术需要完全启动编辑器,若编辑器反映故障,则人工更新项目资源的方案中,编辑器的完全启动至少需要20分钟,因此,现有技术的方案至少需要20分钟来完成项目资源的检测,而本申请提出的项目资源检测方法,可以在较短的时间内快速完成项目资源的检测,例如,在目标引擎的编辑器的启动过程的30秒内,检测出项目资源是否过期,并在项目资源过期时自动拉取最新的项目资源。

实施例二

图2为本发明实施例二提供的一种项目资源检测方法的流程示意图,本实施例在上述各实施例的基础上,可选的,基于资源检测钩子文件和资源服务器中的目标加载项目资源对本地加载项目资源进行检测,包括:基于资源检测钩子文件将本地加载项目资源的本地配置文件与资源服务器中的目标加载项目资源的远端配置文件进行比对。

其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图2,本实施例提供的项目资源检测方法包括以下步骤:

S210、在目标引擎的编辑器的启动过程中,加载预先构建的资源检测钩子文件。

S220、基于资源检测钩子文件将本地加载项目资源的本地配置文件与资源服务器中的目标加载项目资源的远端配置文件进行比对。

其中,本地配置文件可以是用于描述本地加载项目资源的资源信息的文件;远端配置文件可以是用于描述目标加载项目资源的资源信息的文件。可选的,远端配置文件可以存储在资源服务器中,或者,存储在资源服务器对应的数据库中。示例性的,本实施例可以通过目标引擎的引擎标识,从资源服务器中读取目标加载项目资源的远端配置文件。

在本实施例中,基于资源检测钩子文件将本地加载项目资源的本地配置文件与资源服务器中的目标加载项目资源的远端配置文件进行比对,可以是:通过资源检测钩子文件,触发将本地加载项目资源的本地配置文件与资源服务器中的目标加载项目资源的远端配置文件进行比对的操作。

具体的,将本地加载项目资源的本地配置文件与资源服务器中的目标加载项目资源的远端配置文件进行比对,可以是:将本地配置文件的文件版本与远端配置文件的文件版本进行比对;或者,将本地配置文件的文件内容与远端配置文件的文件内容进行比对。

在一种实施方式中,将本地配置文件的文件内容与远端配置文件的文件内容进行比对,可以是:确定本地配置文件对应的本地文件哈希值以及远端配置文件对应的远端文件哈希值,将本地文件哈希值与远端文件哈希值进行比对。

S230、基于检测结果确定是否继续执行开启目标引擎的编辑器的操作。

具体的,若本地配置文件的文件版本与远端配置文件的文件版本一致,则检测结果为检测通过;若本地配置文件的文件版本与远端配置文件的文件版本不一致,则检测结果为检测不通过。

或者,若本地配置文件的文件内容与远端配置文件的文件内容一致,则检测结果为检测通过;若本地配置文件的文件内容与远端配置文件的文件内容不一致,则检测结果为检测不通过。

可选的,基于检测结果确定是否继续执行开启目标引擎的编辑器的操作,包括:如果本地配置文件与远端配置文件不一致,则基于资源检测钩子文件中的资源更新类将本地加载项目资源更新为目标加载项目资源,并继续执行开启目标引擎的编辑器的操作。

其中,资源更新类可以是预先在资源检测钩子文件中写入的用于更新本地加载项目资源的文件类。具体的,资源更新类可以包含调用本地加载项目资源的更新方法的程序代码。例如,可以在EnginePreEntryHook工程内编写C#资源更新类PEAssetsUpdater。

在该可选的实施方式中,可以在本地配置文件与远端配置文件不一致时,根据资源更新类,将本地加载项目资源更新为目标加载项目资源,并在本地加载项目资源更新后继续执行启动目标引擎的编辑器的操作,实现了项目资源的自动更新,无需重新启动编辑器或重新导入项目资源,减少了编辑器的启动时间,进而提高了项目的开发效率。

可选的,基于检测结果确定是否继续执行开启目标引擎的编辑器的操作,包括:如果本地配置文件与远端配置文件一致,则继续执行开启目标引擎的编辑器的操作。

在一种具体的实施方式中,基于资源检测钩子文件中的资源更新类将本地加载项目资源更新为目标加载项目资源,包括:调用资源检测钩子文件中的资源更新类,基于远端配置文件从资源服务器中拉取目标加载项目资源,并将本地加载项目资源替换为对应的目标加载项目资源。

具体的,可以通过远端配置文件的文件标识,从资源服务器中拉取该文件标识对应的目标加载项目资源,并将本地加载项目资源替换为目标加载项目资源。该可选的实施方式实现了项目资源的自动更新,相比于传统人工更新项目资源的方式,提高了项目资源的检查效率和编辑器的启动效率。

本实施例的技术方案,通过预先构建的资源检测钩子文件,将本地加载项目资源的本地配置文件,与资源服务器中的目标加载项目资源的远端配置文件进行比对,以通过配置文件进行项目资源的检测,进一步地提高了项目资源的检测效率,进而减少了编辑器的启动时间,提高了项目的开发效率。

实施例三

图3为本发明实施例三提供的一种项目资源检测方法的流程示意图,本实施例在上述各实施例的基础上,可选的,基于资源检测钩子文件将本地加载项目资源的本地配置文件与资源服务器中的目标加载项目资源的远端配置文件进行比对,包括:基于资源检测钩子文件中的资源检测类,将本地加载项目资源的本地配置文件的本地更新时间信息与资源服务器中的目标加载项目资源的远端配置文件的远端更新时间信息进行比对。

其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图3,本实施例提供的项目资源检测方法包括以下步骤:

S310、在目标引擎的编辑器的启动过程中,加载预先构建的资源检测钩子文件。

S320、基于资源检测钩子文件中的资源检测类,将本地加载项目资源的本地配置文件的本地更新时间信息与资源服务器中的目标加载项目资源的远端配置文件的远端更新时间信息进行比对。

其中,资源检测类可以是预先在资源检测钩子文件中写入的用于触发本地配置文件与远端配置文件的比对的类文件。资源检测类可以包含调用配置文件比对方法的程序代码。示例性的,可以在EnginePreEntryHook工程内编写C#资源检测类PAssetsChecking。

在本实施例中,本地更新时间可以是本地配置文件的最新修改时间,远端更新时间可以是远端配置文件的最新修改时间。

具体的,若本地更新时间与远端更新时间相同,则可以表明在资源服务器中拉取本地配置文件之后,本地配置文件与资源服务器中的远端配置文件均未经过修改,或者,本地配置文件与资源服务器中的远端配置文件同步修改。若本地更新时间与远端更新时间不同,则可以表明在资源服务器中拉取本地配置文件之后,资源服务器中的远端配置文件经过修改,或者,本地配置文件经过修改,或者,本地配置文件与远端配置文件的修改时间不同。

示例性的,可以在本地更新时间与远端更新时间一致时,确定检测结果为检测通过;在本地更新时间早于远端更新时间时,确定检测结果为检测不通过;在本地更新时间晚于远端更新时间时,确定检测结果为检测通过。

在一种可选的实施方式中,考虑到可能会出现文件更新时间一致,但本地配置文件与远端配置文件仍然不同的情形,还可以在将本地更新时间信息与远端更新时间信息进行比对之前,基于资源检测钩子文件中的资源检测类,将本地加载项目资源的本地配置文件的文件版本与资源服务器中的目标加载项目资源的远端配置文件的文件版本进行比对;若本地文件版本与远端文件版本一致,则执行将本地更新时间信息与远端更新时间信息进行比对的操作。

换言之,基于资源检测钩子文件和资源服务器中的目标加载项目资源对本地加载项目资源进行检测,包括:对本地配置文件的文件版本与远端配置文件的文件版本进行比对,在本地配置文件的文件版本与远端配置文件的文件版本一致时,对本地更新时间与远端更新时间进行比对。具体的,可以是本地更新时间与远端更新时间一致时,检测结果为检测通过;本地更新时间与远端更新时间不一致,或本地配置文件的文件版本与远端配置文件的文件版本不一致时,检测结果为检测不通过。

在该可选的实施方式中,可以先进行文件版本比对,在文件版本不一致时,无需再继续进行文件更新时间的比对,进一步地提高了本地配置文件与远端配置文件的比对效率,同时,避免了出现文件更新时间一致但文件版本不同时检测通过的情形,提高了本地配置文件与远端配置文件的比对准确率,减少了出现由于项目资源错误所导致的数值或代码不匹配的情形。

当然,本实施例还可以在本地配置文件的本地更新时间信息与远端配置文件的远端更新时间信息一致时,对本地配置文件的文件内容与远端配置文件的文件内容进行比对,进一步地确保本地配置文件与远端配置文件的比对准确度。其中,文件内容的比对可以是基于文件的哈希值进行比对。

S330、基于检测结果确定是否继续执行开启目标引擎的编辑器的操作。

示例性的,若本地更新时间与远端更新时间一致,则检测结果为检测通过;若本地更新时间与远端更新时间不一致,则检测结果为检测不通过。

当然,在将本地更新时间信息与远端更新时间信息进行比对之后,若本地更新时间与远端更新时间一致,还继续对本地配置文件的文件内容与远端配置文件的文件内容进行比对,则此时若本地配置文件的文件内容与远端配置文件的文件内容一致,则检测结果为检测通过,若本地配置文件的文件内容与远端配置文件的文件内容不一致,则检测结果为检测不通过。

本实施例的技术方案,通过资源检测钩子文件的资源检测类,对本地配置文件的本地更新时间信息与远端配置文件的远端更新时间进行比对,将比对的结果确定为检测结果,以通过文件更新时间实现项目资源的检测,进一步地提高了项目资源的检测效率,减少了编辑器的启动时间,进一步的,提高了项目的开发效率。

实施例四

图4为本发明实施例四提供的一种项目资源检测装置的结构示意图,本实施例可适用于在启动引擎的编辑器的过程中,对项目资源进行检测的情况,该装置具体包括:钩子文件加载模块410、项目资源检测模块420和开启操作执行模块430。

钩子文件加载模块410,用于在目标引擎的编辑器的启动过程中,加载预先构建的资源检测钩子文件;

项目资源检测模块420,用于基于所述资源检测钩子文件和资源服务器中的目标加载项目资源对本地加载项目资源进行检测;

开启操作执行模块430,用于基于检测结果确定是否继续执行开启目标引擎的编辑器的操作。

可选的,所述项目资源检测模块420包括文件比对单元,所述文件比对单元,用于基于所述资源检测钩子文件将本地加载项目资源的本地配置文件与资源服务器中的目标加载项目资源的远端配置文件进行比对。

可选的,所述文件比对单元具体用于:

基于所述资源检测钩子文件中的资源检测类,将本地加载项目资源的本地配置文件的本地更新时间信息与资源服务器中的目标加载项目资源的远端配置文件的远端更新时间信息进行比对。

可选的,开启操作执行模块430包括资源更新单元,所述资源更新单元,用于如果所述本地配置文件与所述远端配置文件不一致,则基于所述资源检测钩子文件中的资源更新类将所述本地加载项目资源更新为所述目标加载项目资源,并继续执行开启目标引擎的编辑器的操作。

可选的,所述资源更新单元具体用于:

如果所述本地配置文件与所述远端配置文件不一致,则调用所述资源检测钩子文件中的资源更新类,基于所述远端配置文件从所述资源服务器中拉取所述目标加载项目资源,并将所述本地加载项目资源替换为对应的所述目标加载项目资源。

可选的,开启操作执行模块430还包括继续启动单元,用于如果所述本地配置文件与所述远端配置文件一致,则继续执行开启目标引擎的编辑器的操作。

可选的,所述项目资源检测装置还包括代码加载模块,所述代码加载模块,用于执行下述操作中的至少一项:

加载所述目标引擎的原生代码库;

加载所述目标引擎的引擎插件层程序集;

加载预先构建的项目工程程序集;

加载预先构建的第三方软件开发工具包程序集;

所述钩子文件加载模块410包括文件加载单元,所述文件加载单元,用于执行下述操作中的至少一项:

当所述目标引擎的原生代码库加载完成时,加载预先构建的资源检测钩子文件;或者,

当所述目标引擎的引擎插件层程序集加载完成时,加载预先构建的资源检测钩子文件;或者,

当预先构建的项目工程程序集加载完成时,加载预先构建的资源检测钩子文件;又或者,

当预先构建的第三方软件开发工具包程序集加载完成时,加载预先构建的资源检测钩子文件。

在本实施例中,通过钩子文件加载模块,在目标引擎的编辑器的启动过程中加载预先构建的资源检测钩子文件,通过项目资源检测模块,基于资源检测钩子文件以及资源服务器中的目标加载项目资源,对本地加载项目资源进行检测,进而通过开启操作执行模块,根据检测的结果确定是否继续执行开启目标引擎的编辑器的操作,实现了编辑器启动过程中项目资源的自动检查,无需在编辑器完全启动之后人工检查项目资源是否过期,使得过期的项目资源可以在编辑器启动过程中被快速发现,提高了项目资源的检查效率,进一步的,提高了项目的开发效率;同时,避免了由于项目资源过期所导致的编辑器的重新启动,减少了引擎运行占用内存。

本发明实施例所提供的项目资源检测装置可执行本发明任意实施例所提供的项目资源检测方法,具备执行方法相应的功能模块和有益效果。

值得注意的是,上述系统所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。

实施例五

图5是本发明实施例五提供的一种电子设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图5显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。设备12典型的是承担启动引擎编辑器时检测项目资源的功能的电子设备。

如图5所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,存储器28,连接不同组件(包括存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。

电子设备12典型地包括多种计算机可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器28可以包括易失性存储器形式的计算机装置可读介质,例如随机存取存储器(Random Access Memory,RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机存储介质。仅作为举例,存储装置34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品40,该程序产品40具有一组程序模块42,这些程序模块被配置以执行本发明各实施例的功能。程序产品40,可以存储在例如存储器28中,这样的程序模块42包括但不限于一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

电子设备12也可以与一个或多个外部设备14(例如键盘、鼠标、摄像头等和显示器)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网WideArea Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)装置、磁带驱动器以及数据备份存储装置等。

处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的项目资源检测方法,包括:

在目标引擎的编辑器的启动过程中,加载预先构建的资源检测钩子文件;

基于所述资源检测钩子文件和资源服务器中的目标加载项目资源对本地加载项目资源进行检测;

基于检测结果确定是否继续执行开启目标引擎的编辑器的操作。

当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的项目资源检测方法的技术方案。

实施例六

本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的项目资源检测方法步骤,该方法包括:

在目标引擎的编辑器的启动过程中,加载预先构建的资源检测钩子文件;

基于所述资源检测钩子文件和资源服务器中的目标加载项目资源对本地加载项目资源进行检测;

基于检测结果确定是否继续执行开启目标引擎的编辑器的操作。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于区块链的边缘计算服务交互方法与系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!