CN113101643A - 一种资源文件管理方法、装置、设备及存储介质 - Google Patents

一种资源文件管理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113101643A
CN113101643A CN202110412578.8A CN202110412578A CN113101643A CN 113101643 A CN113101643 A CN 113101643A CN 202110412578 A CN202110412578 A CN 202110412578A CN 113101643 A CN113101643 A CN 113101643A
Authority
CN
China
Prior art keywords
network
import
resource
resource file
cache server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110412578.8A
Other languages
English (en)
Other versions
CN113101643B (zh
Inventor
王达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Miha Youliyue Technology Co ltd
Original Assignee
Shanghai Miha Youliyue Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Miha Youliyue Technology Co ltd filed Critical Shanghai Miha Youliyue Technology Co ltd
Priority to CN202110412578.8A priority Critical patent/CN113101643B/zh
Publication of CN113101643A publication Critical patent/CN113101643A/zh
Application granted granted Critical
Publication of CN113101643B publication Critical patent/CN113101643B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种资源文件管理方法、装置、设备及存储介质。该方法包括:检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;监听将目标导入数据上传至缓存服务器时的网络传输状态,获得监听结果;根据监听结果,对缓存服务器上相对目标导入数据生成的导入文件进行管理操作。利用该方法,实现了对上传至缓存服务器上目标导入数据的网络传输状态的监测,由此避免了当出现网络断开时,损坏的导入数据到其他打包机上的扩散,从而保证打包机从缓存服务器上获取的资源文件均为有效文件,进而也有效避免了游戏运行时因获取到损坏资源文件而出现的游戏卡顿、崩溃、或闪退等现象,保证了游戏的正常运行效率。

Description

一种资源文件管理方法、装置、设备及存储介质
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种资源文件管理方法、装置、设备及存储介质。
背景技术
目前,游戏引擎Unity已经成为游戏应用软件的主流创作和开发平台。开发商往往具备对游戏应用程序进行动态更新的需求,由此,在基于Unity的实际开发中,往往会对Unity工程中已构建的一些资源文件进行修改,以实现应用程序的动态更新。在应用程序打包阶段,Unity中的打包机开始执行相应的打包功能后首先确定待打包的资源文件,并在探测到存在被修改的资源文件时,就需要重新导入这些进行了修改的资源文件,生成打包所需的导入数据。
可以看出,一个打包机导入修改后资源文件的过程耗时较大,且在一个游戏应用开发中,游戏项目工程的规模往往较大,需要借助多个打包机进行程序打包操作,对于同一份修改后的资源文件,如果每个打包机在需要该资源文件时都重复进行导入操作,将会占用很多时间。在上述问题的基础上,技术人员在Unity中增设了缓存服务器CacheServer,打包机可以将相对修改后资源文件生成的导入数据上传至Cacheserver,以通过CacheServer来提前存储相应的导入数据。由此,当后续其他打包机需要导入该修改后的资源文件时,可直接从CacheServer中获取相关的导入数据,无需再次执行本地导入操作。
然而,在打包机上传所生成导入数据,CacheServer下载该导入数据并写入磁盘的过程中,如果出现网络断开的情况,CacheServer就会直接停止导入数据的写入,或者以0字节继续写入。上述因网络断开引入的写入错误,就会造成导入数据的存储错误,但游戏引擎的现有机制并不会发现该存储错误,之后如果有其他打包机需要引入该导入数据时,将会从CacheServer上获取到一个损坏的资源文件,损坏资源文件最终可能波及全部打包机。由此,在游戏运行时,如果游戏加载到这个错误资源,将会导致游戏出现崩溃,无法正常运行。
发明内容
有鉴于此,本申请实施例提供了一种资源文件管理方法、装置、设备及存储介质,通过对上传至CacheServer资源文件的网络状态的检测,实现了对上传至缓存服务器的损坏资源的有效检测,避免损坏资源文件对游戏应用的全局影响。
第一方面,本申请实施例提供了一种资源文件管理方法,包括:
检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;
监听将所述目标导入数据上传至缓存服务器时的网络传输状态,获得监听结果;
根据所述监听结果,对所述缓存服务器上相对所述目标导入数据生成的导入文件进行管理操作。
进一步地,所述检测到待打包的资源文件满足资源导入条件的步骤包括:
响应所触发的资源打包事件后,判定待打包的资源文件的当前修改时间是否与已记录修改时间相同;
若否,则查找所述缓存服务器上相对所述资源文件存储的当前导入数据,并基于所述当前导入数据的数据信息进行资源校验;
如果资源校验结果为数据信息不匹配,则确定所述资源文件满足资源导入条件。
进一步地,所述监听将所述目标导入数据上传至缓存服务器时的网络传输状态,获得监听结果,包括:
通过设定的网络监听函数,对目标导入数据上传至所述缓存服务器时的网络传输状态进行监听;
通过所述网络监听函数中延迟判定子函数返回的判定结果,确定所述网络监听函数返回的监听结果。
进一步地,所述延迟判定子函数返回的判定结果包括:网络正常、网络延迟、网络超时;
其中,所述通过所述网络监听函数中延迟判定子函数返回的判定结果,确定所述网络监听函数返回的监听结果,包括:
如果所述判定结果为网络延迟,则将网络异常确定为所述网络监听函数的监听结果;
如果所述判定结果为网络超时,则通过次数累计函数进行超时次数累加,并在连续累加次数达到设定阈值时,将网络中断确定为所述网络监听函数的监听结果。
进一步地,所述根据所述监听结果,对所述缓存服务器上相对所述目标导入数据生成的导入文件进行管理操作,包括:
当所述监听结果为网络异常或者网络中断时,将相对所述目标导入数据生成的导入文件确定为导入错误文件;
通过设定的文件删除接口从所述缓存服务器上删除所述导入错误文件。
进一步地,当所述监听结果为网络异常或者网络中断时,还包括:
相对所述目标导入数据生成数据导入错误的预警日志,并将所述预警日志以设定形式反馈给运营人员。
进一步地,所述预警日志中包括:目标导入数据的标识信息、所述目标导入数据所对应资源文件的文件标识、以及数据导入错误的错误原因。
第二方面,本申请实施例提供了一种资源文件管理装置,包括:
数据生成模块,用于检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;
状态监听模块,用于监听将所述目标导入数据上传至缓存服务器时的网络传输状态,获得监听结果;
文件管理模块,用于根据所述监听结果,对所述缓存服务器上相对所述目标导入数据生成的导入文件进行管理操作。
第三方面,本申请实施例还提供一种计算机设备,包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面所述的资源文件管理方法。
第四方面,本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的资源文件管理方法。
上述提供的一种资源文件管理方法、装置、设备及存储介质,首先检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据,然后监听将目标导入数据上传至缓存服务器时的网络传输状态,获得监听结果,最后根据所述监听结果,对缓存服务器上相对目标导入数据生成的导入文件进行管理操作。本实施例上述技术方案,其执行主体相当于游戏引擎中的一个打包机,打包机能够在确定无法从缓存服务器上获取到待打包的资源文件直接从本地导入资源文件并生成相应导入文件后,对上传至缓存服务器时的目标导入数据的网络传输状态进行监测,并根据监测结果获得导入文件的导入状态。该种方式实现了对上传至缓存服务器上目标导入数据的网络传输状态的监测,由此避免了当出现网络断开时,损坏的导入数据到其他打包机上的扩散,从而保证打包机从缓存服务器上获取的资源文件均为有效文件,进而也有效避免了游戏运行时因获取到损坏资源文件而出现的游戏卡顿、崩溃、或闪退等现象,保证了游戏的正常运行效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1给出了本申请实施例一提供的一种资源文件管理方法的流程示意图;
图2给出了本申请实施例二提供的一种资源文件管理方法的流程示意图;
图3给出了本申请实施例三提供的一种资源文件管理装置的结构框图;
图4给出了本申请实施例四提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
实施例一
图1给出了本申请实施例一提供的一种资源文件管理方法的流程示意图,该方法适用于对游戏引擎上缓存服务器内存储的导入文件的网络传输状态进行监测的情况。该资源文件管理方法可以由资源文件管理装置来执行,该资源文件管理装置可以由软件和/或硬件来实现,该资源文件管理装置可以配置在计算机设备上,该计算机设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,计算机设备可以是笔记本、台式计算机以及智能平板等。
需要说明的是,在游戏开发中,需要对开发出的游戏应用程序通过打包机进行打包操作才能形成可运行的游戏应用软件。在游戏应用程序打包阶段,如果游戏应用程序进行了修改,打包机需要导入修改后的新资源文件继续进行打包操作。
为了保证导入效率,现有提出了缓存服务器预先存储资源文件的导入数据,以使打包机可直接从缓存服务器上获取到导入数据;或者,在缓存服务器上不存在与修改后的资源文件相匹配的导入数据时,打包机需要本地导入并生成导入数据上传至缓存服务器。目前没有对上传至缓存服务器的导入数据的网络状态进行判定的操作,由此无法保证上传至缓存服务器的导入数据均为联网状态时导入的,有可能是在网络掉线状态下导入的,在网络掉线状态下导入的导入数据会导致存储错误,由此无法保证其他打包机所下载导入数据的有效性,进而可能会下载到影响游戏正常运行的损坏文件。本实施例提供的资源文件管理方法能够对打包机上传至缓存服务器中的导入数据的网络状态进行有效性的判定,以此来克服现有技术方案所存在的问题。
如图1所示,本实施例一提供的一种资源文件管理方法,具体包括如下步骤:
需要知道的是,本实施例的执行主体可认为是运行有游戏引擎的计算机设备,游戏引擎可优选为Unity,在基于游戏引擎的游戏应用程序开发中,本执行主体在程序打包阶段可看作一个打包机,而本实施例所提供的方法可具体看作在触发了游戏引擎下的打包功能,作为打包机时所执行的步骤,由此,实施例的执行主体具体可优选为打包机。
此外,可以知道的是,在游戏开发中,对于一个游戏工程而言,其往往需要一个研发团队相互配合,即,相当于需要由多台计算机设备共同在游戏引擎下进行游戏程序的设计,而这些计算机设备均可作为打包机用于应用程序的打包。本实施例提供的方法可以由任意一台满足执行条件的打包机参与处理。
S101、检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据。
在本实施例中,打包机在执行本步骤之前相当于执行了资源文件相对资源导入条件的判定操作,本步骤相当于判定资源文件满足资源导入条件的一个执行分支。其中,所述资源文件具体可理解为在编程阶段编写的需要在打包阶段进行打包操作的游戏程序文件。所述资源导入条件具体也可看作执行本实施例所提供资源文件管理方法的触发判定条件,在满足资源导入条件时就可认为触发了本实施例后续步骤的执行。
具体的,所述资源导入条件的设定目的在于:找出需要进行本地导入操作的资源文件。其中,需要进行本地导入操作的情况主要为:资源文件本身相较于历史版本发生了修改,且缓存服务器上目前还不存在该修改后的导入文件。由此,上述需要进行本地导入操作的情况就可看作所述资源导入条件的设定内容。
可以知道的是,打包机在启动打包操作后,具备从本地获取资源文件并将其转化为打包所需导入数据的功能。本步骤中满足资源导入条件的主要是进行了修改的且缓存服务器上不存在相应导入数据的资源文件,本实施例将发生了修改的资源文件记为目标资源文件。通过本步骤的操作,可以直接从本地(即游戏引擎中)获取进行了代码更新的目标资源文件,同时还可以通过对目标资源文件的格式转换,生成打包所需的目标导入数据。
S102、监听将目标导入数据上传至缓存服务器时的网络传输状态,获得监听结果;
通过本实施例上述描述可知,在基于游戏引擎进行游戏开发的过程中,为了保证游戏工程的整体打包效率,打包机通常会在从本地获取资源文件并生成相应的导入数据后,将导入数据上传至缓存服务器。本实施例接上述S101的操作,同样控制上述生成目标导入数据上传至缓存服务器,之后可继续本步骤的操作。
其中,所述缓存服务器可认为是设置在游戏引擎中的通过所开辟的虚拟磁盘空间进行数据存储的虚拟服务器。各打包机可以在处于联网状态时与缓存服务器进行通信连接,并在有需要时从缓存服务器中获取相关数据(如,在打包阶段对于发生了程序修改的资源文件,首先考虑从缓存服务器上获取相关的导入文件)。
在本实施例中,确定已经将目标导入数据上传至缓存服务器后,就可以启动对上传至缓存服务器上目标导入数据的网络传输状态的监测,并以此来判断所上传目标导入数据的有效性(即上传状态的导入正确与否)。其中,所述网络传输状态可以理解为当打包机启动打包操作后,将资源文件从本地上传至缓存服务器时的网络状态。所述上传状态具体可理解为目标导入数据存储在缓存服务器上的存储状态,如果完整存储了目标导入数据,则可确定上传状态为数据导入成功,如果没有存储完整的目标导入数据,则可确定上传状态为数据导入错误。
示例性的,上述网络状态可以包括:网络正常、网络异常、网络中断。
网络传输状态与监听结果相对应,例如,当导入数据上传至缓存服务器时的网络传输状态为网络正常,则对应的监听结果为网络正常。当导入数据上传至缓存服务器时的网络传输状态为网络异常,则对应的监听结果为网络异常。当导入数据上传至缓存服务器时的网络传输状态为网络中断,则对应的监听结果为网络中断。
S103、根据监听结果,对缓存服务器上相对目标导入数据生成的导入文件进行管理操作。
根据步骤S102得到的网络传输状态的监听结果,可对缓存服务器上相对目标导入数据生成的导入文件进行不同的管理操作。其中,所述管理操作可以根据网络传输状态不同的监听结果采取不同的措施,可采取的措施至少包括了删除。
例如,当获得网络异常的监听结果时,可认为此时上传至缓存服务器上的导入数据可能为空文件或者未完全写入的非完整文件,因此,为防止未正常写入的非完整文件被其他打包机打包使用,需要将监听结果为网络异常时上传的导入数据进行删除。
本实施例提供的资源文件管理方法,其执行主体相当于游戏引擎中的一个打包机,打包机能够在确定无法从缓存服务器上获取到待打包的资源文件直接从本地导入资源文件并生成相应导入文件后,对上传至缓存服务器时的目标导入数据的网络传输状态进行监测,并根据监测结果获得导入文件的导入状态。该种方式实现了对上传至缓存服务器上目标导入数据的网络传输状态的监测,由此避免了当出现网络断开时,损坏的导入数据到其他打包机上的扩散,从而保证打包机从缓存服务器上获取的资源文件均为有效文件,进而也有效避免了游戏运行时因获取到损坏资源文件而出现的游戏卡顿、崩溃、或闪退等现象,保证了游戏的正常运行效率。
实施例二
图2给出了本申请实施例二提供的一种资源文件管理方法的流程示意,本实施例以上述实施例为基础进行优化,在本实施例中,还优化包括了检测到待打包的资源文件满足资源导入条件的实现步骤:响应所触发的资源打包事件后,判定待打包的资源文件的当前修改时间是否与已记录修改时间相同;若否,则查找所述缓存服务器上相对所述资源文件存储的当前导入数据,并基于所述当前导入数据的数据信息进行资源校验;如果资源校验结果为数据信息不匹配,则确定所述资源文件满足资源导入条件。
同时,本实施例可以将监听所述目标导入数据上传至缓存服务器时的网络传输状态,获得监听结果具体优化为:通过设定的网络监听函数,对目标导入数据上传至所述缓存服务器时的网络传输状态进行监听;通过所述网络监听函数中延迟判定子函数返回的判定结果,确定所述网络监听函数返回的监听结果。
此外,本实施例还可以将根据所述监听结果,对所述缓存服务器上相对所述目标导入数据生成的导入文件进行管理操作进一步优化为:当所述监听结果为网络异常或者网络中断时,将相对所述目标导入数据生成的导入文件确定为导入错误文件;通过设定的文件删除接口从所述缓存服务器上删除所述导入错误文件。
如图2所示,本申请实施例二提供的一种资源文件管理方法的流程示意图,具体包括如下操作:
S201、响应所触发的资源打包事件后,判定待打包的资源文件的当前修改时间是否与已记录修改时间相同。
需要知道的是,当打包机对待资源文件启动打包操作后,首先会在缓存服务器中查找待打包资源文件对应的导入数据,若查找不到,则证明历史版本并无所需要的打包文件,此时需要将待打包的资源文件进行更新修改,并将更新修改后的资源文件数据存储在缓存服务器中。
在缓存服务器中查找历史版本中有无所需要的待打包资源文件对应的导入数据时,本实施例根据当前修改时间是否与已记录修改时间相同进行查找,即当打包机需要对资源文件进行需打包操作时,若该资源文件历史被修改打包过,则对应其历史修改时间为时间t,若缓存服务器内存在该资源文件对应的导入数据,则缓存服务器内导入数据的上传时间也为时间t。若待打包的资源文件的当前记录时间与缓存服务器内存在相同时间数据,则证明缓存服务器内的导入数据即为打包机中待打包资源文件所需要的打包导入数据。则打包机可直接将该时间对应的数据进行打包操作,应用至其余打包机上。
S202、若否,则查找缓存服务器上相对资源文件存储的当前导入数据,并基于当前导入数据的数据信息进行资源校验。
当打包机需要对待打包资源文件进行需打包操作时,若根据该资源文件当前记录时间为时间t,但缓存服务器内不存在时间为t的导入数据,则认为历史版本并未对该资源文件进行打包操作,故缓存服务器上并没有相应的导入数据。
相应地,还可根据待打包资源文件的文件名称、文件大小进一步在缓存服务器上查找,查找缓存服务器是否存在与待打包资源文件一致的文件名称或文件大小的导入数据,用此方法进行进一步资源校验,以在缓存服务器中查找历史是否存在待打包资源文件对应的导入数据。
S203、如果资源校验结果为数据信息不匹配,则确定资源文件满足资源导入条件。
若最终的资源校验结果为在缓存服务器上并不能找到待打包资源文件对应的导入数据,则确定当前待打包资源文件满足资源导入条件,当触发打包操作时,可将当前待打包资源文件导入至缓存服务器。
S204、检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;
示例性的,缓存服务器上并不能找到待打包资源文件对应的导入数据时,将发生了修改的资源文件记为目标资源文件,从Unity获取进行了代码更新的目标资源文件,同时还可以通过对目标资源文件的格式转换,生成打包所需的目标导入数据。
S205、通过设定的网络监听函数,对目标导入数据上传至缓存服务器时的网络传输状态进行监听
可选地,将目标导入数据上传至缓存服务器时,在缓存服务器中加入网络监听函数(cachserver NetListener)作为游戏引擎的监听器,用来监听上传至缓存服务器中资源文件导入数据的网络传输状态。
S206、通过网络监听函数中延迟判定子函数返回的判定结果,确定网络监听函数返回的监听结果
在网络监听函数(cachserver NetListener)中进一步加入网络延迟判定子函数(OnCheck NetDelay),在本实施例中延迟判定子函数用于表示判断当打包机从本地将资源文件导入到缓存服务器中生成导入数据所用的时间。
根据所用时间的不同,可判断网络状态为网络正常还是网络异常。
示例性的,若监听结果为网络正常时,从本地导入更新后的目标资源文件,并在缓存服务器上生成相应的目标导入数据,该目标导入数据所对应的目标资源文件存储在缓存服务器中为有效状态,即为正常存储的有效资源文件,该资源文件可供其他打包机所使用。
若网络状态为网络异常或网络中断时,则从本地导入更新后的目标资源文件,并在缓存服务器上生成相应的目标导入数据,该目标导入数据所对应的目标资源文件存储在缓存服务器中为错误状态,即为导入错误文件,该导入错误文件存储在缓存服务器中为不占用磁盘空间的损坏空文件,损坏的空文件不能被其他打包机所使用。
进一步地,作为本发明实施例的一个可选实施例,延迟判定子函数返回的判定结果包括:网络正常、网络延迟、网络超时。
示例性的,若当打包机从本地将资源文件导入到缓存服务器中生成导入数据时,延迟判定子函数判断该过程所用的时间,若小于第一预设时间(例如,t1<3秒)则可判定网络状态为网络正常,若大于等于第一预设时间小于第二预设时间(例如,3秒≤t2<7秒)则可判定网络状态为网络延迟,若大于等于第二预设时间(例如,t3≥7秒),则可判定网络状态为网络超时。
相应地,延迟判定子函数返回的判定结果亦对应为:网络正常、网络延迟、网络超时。
在上述优化的基础上,通过网络监听函数中延迟判定子函数返回的判定结果,确定网络监听函数返回的监听结果,包括:
a)如果判定结果为网络延迟,则将网络异常确定为网络监听函数的监听结果。
在本实施例中,若当打包机从本地将资源文件导入到缓存服务器中生成导入数据时,延迟判定子函数判断该过程所用的时间大于等于第一预设时间小于第二预设时间(例如,3秒≤t2<7秒)判定网络状态为网络延迟,则将网络异常确定为网络监听函数的监听结果。
b)如果判定结果为网络超时,则通过次数累计函数进行超时次数累加,并在连续累加次数达到设定阈值时,将网络中断确定为网络监听函数的监听结果。
可以知道的是,在网络监听函数(cachserver NetListener)中设置超时累计函数(OnCal Delay),每超时一次系统服务器将会进行一次累计,若累计次数达到一定阈值,则可认为网络中断。示例性的,若监听到连续发生3次超时(即每次用时大于7秒),当打包机从本地将资源文件导入到缓存服务器中生成导入数据时,延迟判定子函数判断该过程所用的时间大于21秒,判定为网络中断,将网络中断确定为网络监听函数的监听结果。
S207当监听结果为网络异常或者网络中断时,将相对目标导入数据生成的导入文件确定为导入错误文件。
若网络状态为网络异常或网络中断时,则从本地导入更新后的目标资源文件,并在缓存服务器上生成相应的目标导入数据,该目标导入数据所对应的目标资源文件存储在缓存服务器中为错误状态,即为导入错误文件,该导入错误文件存储在缓存服务器中为不占用磁盘空间的损坏空文件,损坏的空文件不能被其他打包机所使用。
S208、通过设定的文件删除接口从所述缓存服务器上删除所述导入错误文件。
在本实施例中,在接口上设置有实现删除错误文件接口(OnDelete IncompleteAsset,删除不完全资产)自动删除上传状态为错误状态的资源文件,即为导入错误文件,以防止资源文件以空文件等方式存储在缓存服务器中,删除后,打包机在使用缓存服务器内的资源文件时均为有效文件。
本申请实施例二提供的一种资源文件管理方法,打包机对资源文件启动打包操作后,首先通过资源校验的方式确定资源文件满足资源导入条件。然后,缓存服务器中加入网络监听函数,通过监听将资源文件从本地上传至缓存服务器时的网络状态,来判断导入至缓存服务器中资源文件对应导入数据的有效性。若判断为网络异常,或网络中断,则导致上传至缓存服务器为损坏的空文件,通过设定的文件删除接口自动实现对损坏文件的删除,并生成对应的预警日志。进一步地,将预警日志发送至运营人员,运营人员根据预警日志可判断出导致资源文件上传错误的具体原因,若为网络异常或网络中断导致的,则可采取对应措施修复网络,保证工作效率,相应地,在游戏运行时,也可保证游戏的运行效率。
作为本发明实施例二的一个可选实施例,在上述实施例的基础上,本可选实施例可以在确定所述监听结果为网络异常或者网络中断时,进一步优化包括了:相对所述目标导入数据生成数据导入错误的预警日志,并将所述预警日志以设定形式反馈给运营人员。
预警日志可以将生成数据的错误原因以一定的形式反馈给运营人员,所述预警日志的表示形式可在缓存服务器中自动生成对应的文档信息,或向运营人员可视化界面反馈相应的文字信息。例如,若上传状态为错误状态,即当从本地导入更新后的目标资源文件,并在缓存服务器上生成相应的目标导入数据时,网络状态为网络异常,则在缓存服务器内自动删除目标导入数据所对应的目标资源文件后,对应的预警日志的文档信息内容或可视化界面内容可以:“A资源文件在缓存服务器内上没有写入成功,原因为B”的形式反馈给运营人员。运营人员收到被删除的资源文件对应的文档信息后,可及时查看缓存服务器内资源文件被删除的具体原因。
当打包机启动打包操作后,将文件名为“A”的资源文件作为目标资源文件,在缓存服务器中存储“A”资源文件的导入数据时对应的网络状态为网络正常,确定上传状态为有效状态,则可形成对应“A”资源文件在缓存服务器上写入成功”的预警日志。
相应地,如果在缓存服务器中存储“A”资源文件的导入数据时对应的网络状态为网络异常,则没有存储完整的“A”资源文件的导入数据,则可确定上传状态为错误状态,在缓存服务器内可删除导入数据对应的“A”资源文件,并形成“A资源文件在缓存服务器内上没有写入成功原因为网络异常”的预警日志。则运营人员可根据实际情况检测网络状态,或通过指令停止打包机进行打包操作,待网络恢复正常时再继续工作等。
在上述可选实施例的基础上,本实施例优选预警日志中可以包括:目标导入数据的标识信息、所述目标导入数据所对应资源文件的文件标识、以及数据导入错误的错误原因。
以上目标导入数据的标识信息、目标导入数据所对应资源文件的文件标识包括可以为资源文件的文件名、文件大小或文件存储时间的标识等。数据导入错误的错误原因并不以上述示例说明的缓存服务器中磁盘剩余空间、目标对象的文件大小小于或等于设定的字节阈值为限制。
本实施例提供的一种资源文件管理方法,通过对上传至缓存服务器上目标导入数据的网络传输状态的监测,并删除当网络状态为网络异常或网络中断情况下导入的错误文件,并将删除后的错误文件形成预警日志反馈至运营人员,能够使运营人员明确导入缓存服务器中资源文件的错误的网络状态,并针对错误的网络状态作出对应的改进措施。相应地,在游戏运行时,即可提高运营人员工作效率,也可保证游戏的运行效率。
实施例三
图3给出了本申请实施例三提供的一种资源文件管理装置的结构框图,如图3所示,该装置包括:数据生成模块31、状态监听模块32和文件管理模块33。
其中,数据生成模块,用于检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;
状态监听模块,用于监听将目标导入数据上传至缓存服务器时的网络传输状态,获得监听结果;
文件管理模块,用于根据所述监听结果,对缓存服务器上相对目标导入数据生成的导入文件进行管理操作。
本申请实施例三提供的资源文件管理装置,首先检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据,然后监听将目标导入数据上传至缓存服务器时的网络传输状态,获得监听结果,最后根据所述监听结果,对缓存服务器上相对目标导入数据生成的导入文件进行管理操作。本实施例上述技术方案,其执行主体相当于游戏引擎中的一个打包机,打包机能够在确定无法从缓存服务器上获取到待打包的资源文件直接从本地导入资源文件并生成相应导入文件后,对上传至缓存服务器时的目标导入数据的网络传输状态进行监测,并根据监测结果获得导入文件的导入状态。该种方式实现了对上传至缓存服务器上目标导入数据的网络传输状态的监测,由此避免了当出现网络断开时,损坏的导入数据到其他打包机上的扩散,从而保证打包机从缓存服务器上获取的资源文件均为有效文件,进而也有效避免了游戏运行时因获取到损坏资源文件而出现的游戏卡顿、崩溃、或闪退等现象,保证了游戏的正常运行效率。
进一步地,该装置还包括:判定模块、资源校验模块、确定模块;
判定模块,响应所触发的资源打包事件后,判定待打包的资源文件的当前修改时间是否与已记录修改时间相同;
资源校验模块,用于当判定待打包的资源文件的当前修改时间与已记录修改时间不同,则查找缓存服务器上相对资源文件存储的当前导入数据,并基于当前导入数据的数据信息进行资源校验;
确定模块,用于如果资源校验结果为数据信息不匹配,则确定资源文件满足资源导入条件。
进一步地,该装置状态监听模块32,还用于通过设定的网络监听函数,对目标导入数据上传至缓存服务器时的网络传输状态进行监听;
确定模块,还用于通过网络监听函数中延迟判定子函数返回的判定结果,确定网络监听函数返回的监听结果。
进一步地,确定模块,还用于如果判定结果为网络延迟,则将网络异常确定为网络监听函数的监听结果;如果判定结果为网络超时,则通过次数累计函数进行超时次数累加,并在连续累加次数达到设定阈值时,将网络中断确定为所述网络监听函数的监听结果。
进一步地,该装置还包括:确定模块;
确定模块,还用于当监听结果为网络异常或者网络中断时,将相对目标导入数据生成的导入文件确定为导入错误文件;
删除模块,用于通过设定的文件删除接口缓存服务器上删除导入错误文件。
进一步地,该装置还包括:状态反馈模块;
状态反馈模块,用于相对目标导入数据生成数据导入错误的预警日志,并将预警日志以设定形式反馈给运营人员。
本申请实施例提供的资源文件管理装置可执行本申请任意实施例所提供的资源文件管理方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4给出了本申请实施例四提供的一种计算机设备的结构示意图。该计算机设备包括:处理器40、存储器41、显示屏42、输入装置43以及输出装置44。该计算机设备中处理器40的数量可以是一个或者多个,图4中以一个处理器40为例。该计算机设备中存储器41的数量可以是一个或者多个,图4中以一个存储器41为例。该计算机设备的处理器40、存储器41、显示屏42、输入装置43以及输出装置44可以通过总线或者其他方式连接,图4中以通过总线连接为例。实施例中,计算机设备可以是电脑、笔记本或智能平板等。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例所述的计算机设备对应的程序指令/模块(例如,数据生成模块31、状态监听模块32和文件管理模块33)。存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联
显示屏42可以为具有触摸功能的显示屏42,其可以是电容屏、电磁屏或者红外屏。一般而言,显示屏42用于根据处理器40的指示显示数据,还用于接收作用于显示屏42的触摸操作,并将相应的信号发送至处理器40或其他装置。
输入装置43可用于接收输入的数字或者字符信息,以及产生与展示设备的用户设置以及功能控制有关的键信号输入。输出装置44可以包括扬声器等音频设备。需要说明的是,输入装置43和输出装置44的具体组成可以根据实际情况设定。
处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的资源文件管理方法。
上述提供的计算机设备可用于执行上述任意实施例提供资源文件管理方法,具备相应的功能和有益效果。
实施例五
本申请实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种资源文件管理方法,包括:
检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;监听将所述目标导入数据上传至缓存服务器时的网络传输状态,获得监听结果;根据所述监听结果,对所述缓存服务器上相对所述目标导入数据生成的导入文件进行管理操作。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的资源文件管理方法操作,还可以执行本发明任意实施例所提供的资源文件管理方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的资源文件管理方法。
值得注意的是,上述资源文件管装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种资源文件管理方法,其特征在于,包括:
检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;
监听将所述目标导入数据上传至缓存服务器时的网络传输状态,获得监听结果;
根据所述监听结果,对所述缓存服务器上相对所述目标导入数据生成的导入文件进行管理操作。
2.根据权利要求1所述的方法,其特征在于,所述检测到待打包的资源文件满足资源导入条件的步骤包括:
响应所触发的资源打包事件后,判定待打包的资源文件的当前修改时间是否与已记录修改时间相同;
若否,则查找所述缓存服务器上相对所述资源文件存储的当前导入数据,并基于所述当前导入数据的数据信息进行资源校验;
如果资源校验结果为数据信息不匹配,则确定所述资源文件满足资源导入条件。
3.根据权利要求1所述的方法,其特征在于,所述监听将所述目标导入数据上传至缓存服务器时的网络传输状态,获得监听结果,包括:
通过设定的网络监听函数,对目标导入数据上传至所述缓存服务器时的网络传输状态进行监听;
通过所述网络监听函数中延迟判定子函数返回的判定结果,确定所述网络监听函数返回的监听结果。
4.根据权利要求3所述的方法,其特征在于,所述延迟判定子函数返回的判定结果包括:网络正常、网络延迟、网络超时;
其中,所述通过所述网络监听函数中延迟判定子函数返回的判定结果,确定所述网络监听函数返回的监听结果,包括:
如果所述判定结果为网络延迟,则将网络异常确定为所述网络监听函数的监听结果;
如果所述判定结果为网络超时,则通过次数累计函数进行超时次数累加,并在连续累加次数达到设定阈值时,将网络中断确定为所述网络监听函数的监听结果。
5.根据权利要求1所述的方法,其特征在于,所述根据所述监听结果,对所述缓存服务器上相对所述目标导入数据生成的导入文件进行管理操作,包括:
当所述监听结果为网络异常或者网络中断时,将相对所述目标导入数据生成的导入文件确定为导入错误文件;
通过设定的文件删除接口从所述缓存服务器上删除所述导入错误文件。
6.根据权利要求5所述的方法,其特征在于,当所述监听结果为网络异常或者网络中断时,还包括:
相对所述目标导入数据生成数据导入错误的预警日志,并将所述预警日志以设定形式反馈给运营人员。
7.根据权利要求6所述的方法,其特征在于,所述预警日志中包括:目标导入数据的标识信息、所述目标导入数据所对应资源文件的文件标识、以及数据导入错误的错误原因。
8.一种资源文件管理装置,其特征在于,包括:
数据生成模块,用于检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;
状态监听模块,用于监听将所述目标导入数据上传至缓存服务器时的网络传输状态,获得监听结果;
文件管理模块,用于根据所述监听结果,对所述缓存服务器上相对所述目标导入数据生成的导入文件进行管理操作。
9.一种计算机设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7所述的方法。
CN202110412578.8A 2021-04-16 2021-04-16 一种资源文件管理方法、装置、设备及存储介质 Active CN113101643B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110412578.8A CN113101643B (zh) 2021-04-16 2021-04-16 一种资源文件管理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110412578.8A CN113101643B (zh) 2021-04-16 2021-04-16 一种资源文件管理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113101643A true CN113101643A (zh) 2021-07-13
CN113101643B CN113101643B (zh) 2024-08-13

Family

ID=76718070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110412578.8A Active CN113101643B (zh) 2021-04-16 2021-04-16 一种资源文件管理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113101643B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584551A (zh) * 2022-01-27 2022-06-03 深圳爱捷云科技有限公司 文件上传方法、电子设备及计算机程序产品
WO2023143545A1 (zh) * 2022-01-29 2023-08-03 厦门雅基软件有限公司 资源处理方法、装置、电子设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070033281A1 (en) * 2005-08-02 2007-02-08 Hwang Min J Error management system and method of using the same
CN104168086A (zh) * 2014-08-08 2014-11-26 中国联合网络通信集团有限公司 上传图像的方法及装置
CN106231110A (zh) * 2016-08-12 2016-12-14 北京东方车云信息技术有限公司 司机客户端的离线服务方法、司机客户端及相关系统
CN112153132A (zh) * 2020-09-18 2020-12-29 北京浪潮数据技术有限公司 基于虚拟化管理平台的文件上传方法、装置及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070033281A1 (en) * 2005-08-02 2007-02-08 Hwang Min J Error management system and method of using the same
CN104168086A (zh) * 2014-08-08 2014-11-26 中国联合网络通信集团有限公司 上传图像的方法及装置
CN106231110A (zh) * 2016-08-12 2016-12-14 北京东方车云信息技术有限公司 司机客户端的离线服务方法、司机客户端及相关系统
CN112153132A (zh) * 2020-09-18 2020-12-29 北京浪潮数据技术有限公司 基于虚拟化管理平台的文件上传方法、装置及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584551A (zh) * 2022-01-27 2022-06-03 深圳爱捷云科技有限公司 文件上传方法、电子设备及计算机程序产品
WO2023143545A1 (zh) * 2022-01-29 2023-08-03 厦门雅基软件有限公司 资源处理方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN113101643B (zh) 2024-08-13

Similar Documents

Publication Publication Date Title
WO2017032264A1 (zh) 一种内容推送方法、装置及终端
CN113101643B (zh) 一种资源文件管理方法、装置、设备及存储介质
CN107103238A (zh) 用于保护计算机系统免遭恶意对象活动侵害的系统和方法
CN109542844B (zh) 一种事件日志收集方法、系统及电子设备和存储介质
WO2018103216A1 (zh) 一种内存泄漏的检测方法和装置
CN113076122B (zh) 一种资源文件管理方法、装置、设备及存储介质
CN111639018A (zh) 一种内存泄漏检测方法和装置
CN111984452A (zh) 程序故障检测方法、装置、电子设备以及存储介质
CN108628733B (zh) 批量业务处理操作的测试方法及装置
CN118259962A (zh) 冗余数据处理方法、装置、存储介质及设备
EP2860633A1 (en) Method for maintaining file system of computer system
CN114924914A (zh) 磁盘分区表信息备份、恢复方法及系统
CN110780815A (zh) 日志的删除方法及装置
CN104348905A (zh) 一种离线推送消息的方法及装置
CN108090352A (zh) 检测系统及检测方法
KR20140134987A (ko) 데이터 프로세싱 시스템 보안 장치와 보안방법
CN110879701B (zh) 工作流可视化配置方法、服务器、系统及介质
CN110309647B (zh) 针对应用程序的处理方法、装置、电子设备及存储介质
JP2016018227A (ja) 作業ログ編集方法、情報処理装置、およびプログラム
CN111966630A (zh) 文件类型的检测方法、装置、设备和介质
EP3692456B1 (en) Binary image stack cookie protection
CN111078418A (zh) 操作同步方法、装置、电子设备及计算机可读存储介质
CN112988247B (zh) 日志处理方法、装置、电子设备及可读存储介质
CN111625853B (zh) 一种快照处理方法、装置、设备及可读存储介质
CN113157306A (zh) 一种资源打包管理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant