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

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

Info

Publication number
CN113076122A
CN113076122A CN202110411705.2A CN202110411705A CN113076122A CN 113076122 A CN113076122 A CN 113076122A CN 202110411705 A CN202110411705 A CN 202110411705A CN 113076122 A CN113076122 A CN 113076122A
Authority
CN
China
Prior art keywords
data
target
import
cache server
resource
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.)
Pending
Application number
CN202110411705.2A
Other languages
English (en)
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 CN202110411705.2A priority Critical patent/CN113076122A/zh
Publication of CN113076122A publication Critical patent/CN113076122A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor

Abstract

本申请公开了一种资源文件管理方法、装置、设备及存储介质。该方法包括检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;在控制目标导入数据上传至缓存服务器后,通过对缓存服务器中指定目标对象的判定,确定目标导入数据的上传状态;如果上传状态为数据导入错误,则删除缓存服务器上存储的目标导入数据。利用该方法,在打包机从缓存服务器中获取目标资源文件时,对缓存服务器上损坏资源的有效检测,以使打包机从缓存服务器上获取到的资源文件均为有效文件,有效避免了在游戏运行时因获取到损坏资源文件而出现的游戏卡顿、崩溃、或闪退等现象,保证了游戏的正常运行,从而提高用户体验。

Description

一种资源文件管理方法、装置、设备及存储介质
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种资源文件管理方法、装置、设备及存储介质。
背景技术
目前,游戏引擎Unity已经成为游戏应用软件的主流创作和开发平台。开发商往往具备对游戏应用程序进行动态更新的需求,由此,在基于Unity的实际开发中,往往会对Unity工程中已构建的一些资源文件进行修改,以实现应用程序的动态更新。在应用程序打包阶段,Unity中的打包机开始执行相应的打包功能后首先确定待打包的资源文件,并在探测到存在被修改的资源文件时,就需要重新导入这些进行了修改的资源文件,生成打包所需的导入数据。
可以看出,一个打包机导入修改后资源文件的过程耗时较大,且在一个游戏应用开发中,游戏项目工程的规模往往较大,需要借助多个打包机进行程序打包操作,对于同一份修改后的资源文件,如果每个打包机在需要该资源文件时都重复进行导入操作,将会占用很多时间。在上述问题的基础上,技术人员在Unity中增设了缓存服务器CacheServer,打包机可以将相对修改后资源文件生成的导入数据上传至Cacheserver,以通过CacheServer来提前存储相应的导入数据。由此,当后续其他打包机需要导入该修改后的资源文件时,可直接从CacheServer中获取相关的导入数据,无需再次执行本地导入操作。
其中,可认为CacheServer上存在预先分配有用于数据存储的虚拟磁盘。具体的,在CacheServer存储导入数据的实现中,CacheServer收到导入数据后首先需要创建一个只有报头没有数据内容的空文件,之后再将导入数据写入所创建的空文件中。然而,在导入数据写入空文件的过程中,如果CacheServer上所分配虚拟磁盘的空间已满,导入数据将无法正常写入空文件;之后如果有其他打包机需要引入该导入数据时,将会从CacheServer上获取到一个损坏的资源文件,损坏资源文件最终可能波及全部打包机。由此,在游戏运行时,如果游戏加载到这个错误资源,将会导致游戏出现崩溃,无法正常运行。
发明内容
有鉴于此,本申请实施例提供了一种资源文件管理方法、装置、设备及存储介质,实现了对CacheServer上损坏资源的有效检测,避免损坏资源文件对游戏应用的全局影响。
第一方面,本申请实施例提供了一种资源文件管理方法,包括:
检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;
在控制所述目标导入数据上传至缓存服务器后,通过对所述缓存服务器中指定目标对象的判定,确定所述目标导入数据的上传状态;
如果所述上传状态为数据导入错误,则删除所述缓存服务器上存储的目标导入数据。
进一步地,所述检测到待打包的资源文件满足资源导入条件的步骤包括:
响应所触发的资源打包事件后,判定待打包的资源文件的当前修改时间是否与已记录修改时间相同;
若否,则查找所述缓存服务器上相对所述资源文件存储的当前导入数据,并基于所述当前导入数据的数据信息进行资源校验;
如果资源校验结果为数据信息不匹配,则确定所述资源文件满足资源导入条件。
进一步地,所述通过对所述缓存服务器中指定目标对象的判定,确定所述目标导入数据的上传状态,包括:
将所述缓存服务器的磁盘空间作为目标对象,通过设定的读写监听函数,对所述目标对象的剩余空间进行监听;
如果监听结果为磁盘无剩余空间,则确定所述目标导入数据的上传状态为数据导入错误。
进一步地,所述通过对所述缓存服务器中指定目标对象的判定,确定所述目标导入数据的上传状态,包括:
将上传至所述缓存服务器的目标导入数据作为目标对象,通过所设定读写监听函数中的文件检测接口函数对所述目标对象的文件大小进行检测;
如果检测结果为文件大小小于或等于给定的字节阈值,则确定所述目标导入数据的上传状态数据导入错误。
进一步地,所述删除所述缓存服务器上存储的目标导入数据,包括:
通过设定的文件删除接口函数从所述缓存服务器上删除所述目标导入数据。
进一步地,所述资源文件管理方法,在确定所述上传状态为数据导入错误时,还包括:
相对所述目标导入数据生成数据导入错误的预警日志,并将所述预警日志以设定形式反馈给运营人员。
进一步地,所述预警日志中包括:目标导入数据的标识信息、所述目标导入数据所对应资源文件的文件标识、以及数据导入错误的错误原因。
第二方面,一种资源文件管理装置,包括:
数据生成模块,用于检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;
状态检测模块,用于在控制所述目标导入数据上传至缓存服务器后,通过对所述缓存服务器中指定目标对象的判定,确定所述目标导入数据的上传状态;
结果执行模块,用于当所述上传状态为数据导入错误时,删除所述缓存服务器上存储的目标导入数据。
第三方面,本申请实施例还提供一种计算机设备,包括:
存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面所述的资源文件管理方法。
第四方面,本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的资源文件管理方法。
上述提供的一种资源文件管理方法、装置、设备及存储介质,首先检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;然后在控制目标导入数据上传至缓存服务器后,通过对缓存服务器中指定目标对象的判定,确定目标导入数据的上传状态;如果上传状态为数据导入错误,则删除缓存服务器上存储的目标导入数据。本实施例上述技术方案,其执行主体相当于游戏引擎中的一个打包机,打包机能够在确定无法从缓存服务器上获取到待打包的资源文件直接从本地导入资源文件并生成相应导入文件后,对上传至缓存服务器的导入文件进行文件损坏与否的检测,并及时对检测出的错误资源文件进行删除处理。该种方式实现了对缓存服务器上所存入导入数据的有效检测,由此避免了损坏的导入数据到其他打包机上的扩散,从而保证打包机从缓存服务器上获取的资源文件均为有效文件,进而也有效避免了游戏运行时因获取到损坏资源文件而出现的游戏卡顿、崩溃、或闪退等现象,保证了游戏的正常运行效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1给出了本申请实施例一提供的一种资源文件管理方法的流程示意图;
图2给出了本申请实施例二提供的一种资源文件管理方法的流程示意图;
图3给出了本申请实施例三提供的一种资源文件管理装置的结构框图;
图4给出了本申请实施例四提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
实施例一
图1给出了本申请实施例一提供的一种资源文件管理方法的流程示意图,该方法适用于对游戏引擎上缓存服务器内存储的导入文件进行损坏检测的情况。该资源文件管理方法可以由资源文件管理装置来执行,该资源文件管理装置可以由软件和/或硬件来实现,该资源文件管理装置可以配置在计算机设备上,该计算机设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,计算机设备可以是笔记本、台式计算机以及智能平板等。
需要说明的是,在游戏开发中,需要对开发出的游戏应用程序通过打包机进行打包操作才能形成可运行的游戏应用软件。在游戏应用程序打包阶段,如果游戏应用程序进行了修改,打包机需要导入修改后的新资源文件继续进行打包操作。
为了保证导入效率,现有提出了缓存服务器预先存储资源文件的导入数据,以使打包机可直接从缓存服务器上获取到导入数据;或者,在缓存服务器上不存在与修改后的资源文件相匹配的导入数据时,打包机需要本地导入并生成导入数据上传至缓存服务器。目前并没有对缓存服务器上所存储导入数据进行有效性判定的操作,由此无法保证其他打包机所下载导入数据的有效性,进而可能会下载到影响游戏正常运行的损坏文件。本实施例提供的资源文件管理方法能够对打包机上传至缓存服务器中的导入数据进行有效性的判定,以此来克服现有技术方案所存在的问题。
如图1所示,本实施例一提供的一种资源文件管理方法,具体包括如下步骤:
需要知道的是,本实施例的执行主体可认为是运行有游戏引擎的计算机设备,游戏引擎可优选为Unity,在基于游戏引擎的游戏应用程序开发中,本执行主体在程序打包阶段可看作一个打包机,而本实施例所提供的方法可具体看作在触发了游戏引擎下的打包功能,作为打包机时所执行的步骤,由此,实施例的执行主体具体可优选为打包机。
此外,可以知道的是,在游戏开发中,对于一个游戏工程而言,其往往需要一个研发团队相互配合,即,相当于需要由多台计算机设备共同在游戏引擎下进行游戏程序的设计,而这些计算机设备均可作为打包机用于应用程序的打包。本实施例提供的方法可以由任意一台满足执行条件的打包机参与处理。
S101、检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据。
在本实施例中,打包机在执行本步骤之前相当于执行了资源文件相对资源导入条件的判定操作,本步骤相当于判定资源文件满足资源导入条件的一个执行分支。其中,所述资源文件具体可理解为在编程阶段编写的需要在打包阶段进行打包操作的游戏程序文件。所述资源导入条件具体也可看作执行本实施例所提供资源文件管理方法的触发判定条件,在满足资源导入条件时就可认为触发了本实施例后续步骤的执行。
具体的,所述资源导入条件的设定目的在于:找出需要进行本地导入操作的资源文件。其中,需要进行本地导入操作的情况主要为:资源文件本身相较于历史版本发生了修改,且缓存服务器上目前还不存在该修改后的导入文件。由此,上述需要进行本地导入操作的情况就可看作所述资源导入条件的设定内容。
可以知道的是,打包机在启动打包操作后,具备从本地获取资源文件并将其转化为打包所需导入数据的功能。本步骤中满足资源导入条件的主要是进行了修改的且缓存服务器上不存在相应导入数据的资源文件,本实施例将发生了修改的资源文件记为目标资源文件。通过本步骤的操作,可以直接从本地(即游戏引擎中)获取进行了代码更新的目标资源文件,同时还可以通过对目标资源文件的格式转换,生成打包所需的目标导入数据。
S102、在控制目标导入数据上传至缓存服务器后,通过对缓存服务器中指定目标对象的判定,确定目标导入数据的上传状态。
通过本实施例上述描述可知,在基于游戏引擎进行游戏开发的过程中,为了保证游戏工程的整体打包效率,打包机通常会在从本地获取资源文件并生成相应的导入数据后,将导入数据上传至缓存服务器。本实施例接上述S101的操作,同样控制上述生成目标导入数据上传至缓存服务器,之后可继续本步骤的操作。
其中,所述缓存服务器可认为是设置在游戏引擎中的通过所开辟的虚拟磁盘空间进行数据存储的虚拟服务器。各打包机可以在处于联网状态时与缓存服务器进行通信连接,并在有需要时从缓存服务器中获取相关数据(如,在打包阶段对于发生了程序修改的资源文件,首先考虑从缓存服务器上获取相关的导入文件)。
在本实施例中,确定已经将目标导入数据上传至缓存服务器后,就可以启动对缓存服务器上目标对象的检测,以此来判断所上传目标导入数据的有效性(即上传状态的导入正确与否)。其中,所述目标对象具体可理解为对目标导入数据的有效性进行判定时实际需要直接判定的对象;所述上传状态具体可理解为目标导入数据存储在缓存服务器上的存储状态,如果完整存储了目标导入数据,则可确定上传状态为数据导入成功,如果没有存储完整的目标导入数据,则可确定上传状态为数据导入错误。
示例性的,对于待检测的目标对象,可以根据引起目标导入数据上传错误的原因来设定。如,目标导入数据上传错误可能是因为缓存服务器的磁盘空间已满造成的,由此,可以将磁盘空间作为目标对象,通过对其磁盘剩余空间的判定来确定是否引起目标导入数据上传错误;又如,目标导入数据上传错误也可能是数据本身在写入过程中写入错误,这种写入错误的外在表现就是所形成导入数据文件的文件大小达不到设定的字节阈值,由此,可以将所上传导入数据形成的文件作为目标对象,通过对其文件大小的判定来确定是否目标导入数据上传错误。
S103、如果上传状态为数据导入错误,则删除缓存服务器上存储的目标导入数据。
在本实施例中,本步骤相当于给出了对缓存服务器上所存在目标导入数据的管理操作。具体的,可以在上传状态为数据导入错误时,直接从缓存服务器上删除该目标导入数据,以使得留在缓存服务器中的导入数据上传状态均为数据导入成功,保证了所上传导入数据的有效性。
本申请实施例提供的一种资源文件管理方法,其执行主体相当于游戏引擎中的一个打包机,打包机能够在确定无法从缓存服务器上获取到待打包的资源文件直接从本地导入资源文件并生成相应导入文件后,对上传至缓存服务器的导入文件进行文件损坏与否的检测,并及时对检测出的错误资源文件进行删除处理。该种方式实现了对缓存服务器上所存入导入数据的有效检测,由此避免了损坏的导入数据到其他打包机上的扩散,从而保证打包机从缓存服务器上获取的资源文件均为有效文件,进而也有效避免了游戏运行时因获取到损坏资源文件而出现的游戏卡顿、崩溃、或闪退等现象,保证了游戏的正常运行效率。
作为本发明实施例的一个可选实施例,本可选实施例在确定上传状态为数据导入错误时,还进一步优化增加了:相对目标导入数据生成数据导入错误的预警日志,并将预警日志以设定形式反馈给运营人员。
当打包机启动打包操作后,对上传至缓存服务器中的目标导入数据进行检测,并针对目标导入数据的上传状态生成相应的预警日志。例如,将文件名为“A”的资源文件作为目标资源文件,如果在缓存服务器中完整存储了“A”资源文件的导入数据,确定上传状态为数据导入成功,则可形成对应“A”资源文件在缓存服务器内上写入成功”的预警日志。相应地,若没有存储完整的“A”资源文件的导入数据,则可确定上传状态为数据导入错误,在缓存服务器内可删除导入数据对应的“A”资源文件,并形成“A资源文件在缓存服务器内上没有写入成功”的预警日志。
预警日志可以将生成数据的错误原因以一定的形式反馈给运营人员,所述预警日志的表示形式可在缓存服务器中自动生成对应的文档信息,或向运营人员可视化界面反馈相应的文字信息。例如,若上传状态为数据写入错误,在缓存服务器内自动删除目标导入数据所对应的目标资源文件后,对应的预警日志的文档信息内容或可视化界面内容可以:“A资源文件在缓存服务器内上没有写入成功,原因为B”的形式反馈给运营人员。运营人员收到被删除的资源文件对应的文档信息后,可及时查看缓存服务器内资源文件被删除的具体原因。
根据步骤S102示例,若是因为缓存服务器的磁盘空间已满造成的,对应的预警日志的文档信息内容或可视化界面内容可为:“A资源文件在缓存服务器内上没有写入成功,原因为磁盘空间已满”则运营人员可根据实际情况判断是否需要清除缓存服务器磁盘内无用的历史资源文件,以使得磁盘内释放出一定的空间用来存放最新的资源文件等。
若由于所导入的资源文件大小小于或等于设定的字节阈值被删除,对应的预警日志的文档信息内容或可视化界面内容可为:“A资源文件在缓存服务器内上没有写入成功,原因为资源文件大小小于或等于设定的字节阈值”则运营人员可根据实际情况判断是否需要检查因内部程序代码或其他原因导致即将缓存的A为损坏的空文件。
更进一步地,预警日志中包括:目标导入数据的标识信息、目标导入数据所对应资源文件的文件标识、以及数据导入错误的错误原因。
以上目标导入数据的标识信息、目标导入数据所对应资源文件的文件标识包括可以为资源文件的文件名、文件大小或文件存储时间的标识等。数据导入错误的错误原因并不以上述示例说明的缓存服务器中磁盘剩余空间、目标对象的文件大小小于或等于设定的字节阈值为限制。
相应地,若预警日志中包含目标导入数据的标识信息为文件a,目标导入数据所对应资源文件的文件标识A,数据导入错误的错误原因为磁盘已满,则对应的预警日志的文档信息内容或可视化界面内容可为:“文件a在从本地导入到缓存服务器资源文件A时没有写入成功,原因为磁盘空间已满”
本实施例提供的一种资源文件管理方法,打包机能够在确定无法从缓存服务器上获取到待打包的资源文件直接从本地导入资源文件并生成相应导入文件后,对上传至缓存服务器的导入文件进行文件损坏与否的检测,并及时对检测出的错误资源文件进行删除处理,将删除后的错误资源文件形成预警日志反馈至运营人员,能够使运营人员明确导入缓存服务器中资源文件的错误原因,并针对不同原因做出相应的改善措施。相应地,在游戏运行时,即可提高运营人员工作效率,也可保证游戏的运行效率。
实施例二
图2给出了本申请实施例二提供的一种资源文件管理方法的流程示意图,本实施例以上述实施例为基础进行优化,在本实施例中,还优化包括了检测到待打包的资源文件满足资源导入条件的实现步骤:响应所触发的资源打包事件后,判定待打包的资源文件的当前修改时间是否与已记录修改时间相同;若否,则查找所述缓存服务器上相对所述资源文件存储的当前导入数据,并基于所述当前导入数据的数据信息进行资源校验;如果资源校验结果为数据信息不匹配,则确定所述资源文件满足资源导入条件。
同时,本实施例还进一步将通过对缓存服务器中指定目标对象的判定,确定目标导入数据的上传状态具体化为:将缓存服务器的磁盘空间作为目标对象,通过设定的读写监听函数,对目标对象的剩余空间进行监听;如果监听结果为磁盘无剩余空间,则确定目标导入数据的上传状态为数据导入错误。
此外,本实施例进一步将删除所述缓存服务器上存储的目标导入数据具体化为:通过设定的文件删除接口函数从所述缓存服务器上删除目标导入数据。
如图2所示,本实施例二提供的一种资源文件管理方法,具体包括如下操作:
S201、响应所触发的资源打包事件后,判定待打包的资源文件的当前修改时间是否与已记录修改时间相同。
需要知道的是,当打包机对待资源文件启动打包操作后,首先会在缓存服务器中查找待打包资源文件对应的导入数据,若查找不到,则证明历史版本并无所需要的打包文件,此时需要将待打包的资源文件进行更新修改,并将更新修改后的资源文件数据存储在缓存服务器中。
在缓存服务器中查找历史版本中有无所需要的待打包资源文件对应的导入数据时,本实施例根据当前修改时间是否与已记录修改时间相同进行查找,即当打包机需要对资源文件进行需打包操作时,若该资源文件历史被修改打包过,则对应其历史修改时间为时间t,若缓存服务器内存在该资源文件对应的导入数据,则缓存服务器内导入数据的上传时间也为时间t。若待打包的资源文件的当前记录时间与缓存服务器内存在相同时间数据,则证明缓存服务器内的导入数据即为打包机中待打包资源文件所需要的打包导入数据。则打包机可直接将该时间对应的数据进行打包操作,应用至其余打包机上。
S202、若否,则查找缓存服务器上相对资源文件存储的当前导入数据,并基于当前导入数据的数据信息进行资源校验。
当打包机需要对待打包资源文件进行需打包操作时,若根据该资源文件当前记录时间为时间t,但缓存服务器内不存在时间为t的导入数据,则认为历史版本并未对该资源文件进行打包操作,故缓存服务器上并没有相应的导入数据。
相应地,还可根据待打包资源文件的文件名称、文件大小进一步在缓存服务器上查找,查找缓存服务器是否存在与待打包资源文件一致的文件名称或文件大小的导入数据,用此方法进行进一步资源校验,以在缓存服务器中查找历史是否存在待打包资源文件对应的导入数据。
S203、如果资源校验结果为数据信息不匹配,则确定资源文件满足资源导入条件。
若最终的资源校验结果为在缓存服务器上并不能找到待打包资源文件对应的导入数据,则确定当前待打包资源文件满足资源导入条件,当触发打包操作时,可将当前待打包资源文件导入至缓存服务器。
S204、检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据。
示例性的,缓存服务器上并不能找到待打包资源文件对应的导入数据时,将发生了修改的资源文件记为目标资源文件,从Unity获取进行了代码更新的目标资源文件,同时还可以通过对目标资源文件的格式转换,生成打包所需的目标导入数据。
S205、控制目标导入数据上传至缓存服务器。
S206、将缓存服务器的磁盘空间作为目标对象,通过设定的读写监听函数,对目标对象的剩余空间进行监听。
将目标导入数据上传至缓存服务器,将缓存服务器的磁盘空间作为目标对象,对缓存服务器的磁盘空间设定读写监听函数,以判断当目标对象向缓存服务器的磁盘空间写入时缓存服务器内剩余的磁盘空间。可在引擎Unity内加入缓存服务器类(cachserverObs)作为该机器I/O(I/O输入/输出(Input/Output))的监听器,以捕获磁盘使用情况。
S207、如果监听结果为磁盘无剩余空间,则确定目标导入数据的上传状态为数据导入错误。
在本实施例中,磁盘无剩余空间相当于缓存服务器中所划定的虚拟磁盘上没有可进行文件存储的存储空间。本步骤在监听结果为磁盘无剩余空间时,可认为前面上传至缓存服务器上的目标导入数据可能并没有正常写入至缓存服务器的磁盘内,由此,本步骤可以在获得该监测结果时将目标导入数据的上传状态为数据导入错误。
S208、如果上传状态为数据导入错误,则通过设定的文件删除接口函数从缓存服务器上删除目标导入数据。
在本实施例中,在接口上设置有实现删除错误文件接口(Delete InvalidAsset)自动删除上传状态为数据导入错误的目标导入数据,以防止目标导入数据以不占用缓存服务器的磁盘空间的方式存储在缓存服务器内,此时该资源文件为空文件,删除后,打包机在使用缓存服务器内的资源文件是均为有效文件。
本申请实施例二提供的一种资源文件管理方法,在打包机对资源文件启动打包操作后,首先通过资源校验的方式确定资源文件满足资源导入条件。然后,对缓存服务器的磁盘空间设置监听函数,通过磁盘有无剩余空间判断目标导入数据的上传状态,若磁盘无空间,则目标导入数据的上传状态为数据导入错误。通过对缓存服务器的磁盘空间检测,实现了对上传至缓存服务器的导入文件的文件损坏与否的检测,并通过设定文件删除接口函数自动删除目标导入数据的上传状态为数据导入错误的目标文件。进一步地,通过预警日志可将文件错误原因发送至运营人员,运营人员根据实际情况判断是否需要清除缓存服务器磁盘内无用的历史资源文件,以使得磁盘内释放出一定的空间用来存放最新的资源文件等。能够使得运营人员明确导入缓存服务器中资源文件的错误原因,并针对错误原因尽快作出相应改正措施,保证工作效率。相应地,在游戏运行时,也可保证游戏的运行效率。
作为本发明实施例二的一个可选实施例,本可选实施例进一步提供了通过对缓存服务器中指定目标对象的判定,确定目标导入数据的上传状态的另一种执行方式,即:
a)将上传至缓存服务器的目标导入数据作为目标对象,通过所设定读写监听函数中的文件检测接口函数对目标对象的文件大小进行检测。
通过设定监听函数判断每个即将存入缓存服务器磁盘内资源文件的大小,该判定的意义是为了保证每个待存入的资源文件内均携带有一定大小的数据,若没有数据,则资源文件的使用的存储空间将会较小,该资源文件即为一个被损坏的文件或是一个空文件,将不能被打包机所使用。
b)如果检测结果为资源文件大小小于或等于给定的字节阈值,则确定目标导入数据的上传状态数据导入错误。
进一步地,在缓存服务器上即将缓存待存入的目标导入数据时,会先创建一个没有内容的空文件,而该空文件所占用存储器的大小为60字节(bait),若监听函数检测到目标导入数据的文件大小小于或等于60字节,则可证明该文件为一个被损坏的空文件,所以目标导入数据的上传状态为数据导入错误,因此也不能写入至缓存服务器中,不能被其他打包机所使用。
在接口上设置有实现删除错误文件接口(Delete InvalidAsset)自动删除写入后只有60字节的空文件,以保证存储在缓存服务器内的资源文件均为有效文件。
作为本发明实施例的另一个可选实施例,设定的读写监听函数首先对目标导入数据的文件大小进行检测,再将磁盘空间作为目标对象,对磁盘对象的剩余空间进行监听,进行综合判断,确定目标导入数据的上传状态。
具体方法为,打包机能够在确定无法从缓存服务器上获取到待打包的资源文件直接从本地导入资源文件并生成相应目标资源文件后,对上传至缓存服务器的目标资源文件进行文件损坏与否的检测时,先对目标资源文件的文件大小进行检测,若目标资源文件的文件大小小于或等于给定的字节阈值,则确定目标资源文件的上传状态为数据导入错误,则无需访问缓存服务器的磁盘剩余空间。
若目标资源文件的文件大小大于给定的字节阈值,再访问缓存服务器的磁盘剩余空间,若磁盘无剩余空间,数据再无法写入至缓存服务器的磁盘内,则目标资源文件的上传状态为数据导入错误。
若目标资源文件的文件大小大于给定的字节阈值,再访问缓存服务器的磁盘剩余空间,若磁盘有剩余空间,则正常将目标文件存储至缓存服务器中,以供其他打包机直接从缓存服务器上获取到目标资源文件的导入数据。
本实施例通过先检测导入文件的文件大小再检测缓存服务器的磁盘剩余空间的先后顺序,若为目标资源文件的文件大小小于或等于给定阈值,则运营人员可根据实际情况判断是否需要检查因内部程序代码或其他原因导致即将缓存的损坏的空文件。若为磁盘空间已满,则运营人员可根据实际情况判断是否需要清除缓存服务器磁盘内无用的历史资源文件,以使得磁盘内释放出一定的空间用来存放最新的资源文件等。
实施例三
图3给出了本申请实施例三提供的一种资源文件管理装置。如图3所示,该装置包括:数据生成模块31、状态检测模块32和结果执行模块33。
其中,数据生成模块31,用于检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;
状态检测模块32,用于在控制目标导入数据上传至缓存服务器后,通过对缓存服务器中指定目标对象的判定,确定目标导入数据的上传状态;
结果执行模块33,用于当上传状态为数据导入错误时,删除缓存服务器上存储的目标导入数据。
本申请实施例三提供的资源文件管理装置,首先检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;然后在控制目标导入数据上传至缓存服务器后,通过对缓存服务器中指定目标对象的判定,确定目标导入数据的上传状态;如果上传状态为数据导入错误,则删除缓存服务器上存储的目标导入数据。本实施例上述技术方案,其执行主体相当于游戏引擎中的一个打包机,打包机能够在确定无法从缓存服务器上获取到待打包的资源文件直接从本地导入资源文件并生成相应导入文件后,对上传至缓存服务器的导入文件进行文件损坏与否的检测,并及时对检测出的错误资源文件进行删除处理。该种方式实现了对缓存服务器上所存入导入数据的有效检测,由此避免了损坏的导入数据到其他打包机上的扩散,从而保证打包机从缓存服务器上获取的资源文件均为有效文件,进而也有效避免了游戏运行时因获取到损坏资源文件而出现的游戏卡顿、崩溃、或闪退等现象,保证了游戏的正常运行效率。
进一步地,该装置还包括:判定模块、资源校验模块、确定模块;
判定模块,响应所触发的资源打包事件后,判定待打包的资源文件的当前修改时间是否与已记录修改时间相同;
资源校验模块,用于当判定待打包的资源文件的当前修改时间与已记录修改时间不同,则查找缓存服务器上相对资源文件存储的当前导入数据,并基于当前导入数据的数据信息进行资源校验;
确定模块,用于如果资源校验结果为数据信息不匹配,则确定资源文件满足资源导入条件。
进一步地,该装置状态检测模块32,还用于将缓存服务器的磁盘空间作为目标对象,通过设定的读写监听函数,对目标对象的剩余空间进行监听;
确定模块,还用于如果监听结果为磁盘无剩余空间,则确定目标导入数据的上传状态为数据导入错误。
进一步地,状态检测模块32,还用于将上传至缓存服务器的目标导入数据作为目标对象,通过所设定读写监听函数中的文件检测接口函数对所述目标对象的文件大小进行检测;
确定模块,还用于如果检测结果为文件大小小于或等于给定的字节阈值,则确定目标导入数据的上传状态数据导入错误。
更进一步地,结果执行模块33,还用于通过设定的文件删除接口函数从缓存服务器上删除目标导入数据。
进一步地,该装置还包括:状态反馈模块;
状态反馈模块,用于相对目标导入数据生成数据导入错误的预警日志,并将所述预警日志以设定形式反馈给运营人员。
实施例四
图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.根据权利要求1所述方法,其特征在于,所述通过对所述缓存服务器中指定目标对象的判定,确定所述目标导入数据的上传状态,包括:
将上传至所述缓存服务器的目标导入数据作为目标对象,通过所设定读写监听函数中的文件检测接口函数对所述目标对象的文件大小进行检测;
如果检测结果为文件大小小于或等于给定的字节阈值,则确定所述目标导入数据的上传状态数据导入错误。
5.根据权利要求1所述的方法,其特征在于,所述删除所述缓存服务器上存储的目标导入数据,包括:
通过设定的文件删除接口函数从所述缓存服务器上删除所述目标导入数据。
6.根据权利要求1-5任一项所述的方法,其特征在于,在确定所述上传状态为数据导入错误时,还包括:
相对所述目标导入数据生成数据导入错误的预警日志,并将所述预警日志以设定形式反馈给运营人员。
7.根据权利要求6所述的方法,其特征在于,所述预警日志中包括:目标导入数据的标识信息、所述目标导入数据所对应资源文件的文件标识、以及数据导入错误的错误原因。
8.一种资源文件管理装置,其特征在于,包括:
数据生成模块,用于检测到待打包的资源文件满足资源导入条件时,从本地导入更新后的目标资源文件,并生成相应的目标导入数据;
状态检测模块,用于在控制所述目标导入数据上传至缓存服务器后,通过对所述缓存服务器中指定目标对象的判定,确定所述目标导入数据的上传状态;
结果执行模块,用于当所述上传状态为数据导入错误时,删除所述缓存服务器上存储的目标导入数据。
9.一种计算机设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7所述的方法。
CN202110411705.2A 2021-04-16 2021-04-16 一种资源文件管理方法、装置、设备及存储介质 Pending CN113076122A (zh)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
CN113076122A true CN113076122A (zh) 2021-07-06

Family

ID=76617921

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN113076122A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023143545A1 (zh) * 2022-01-29 2023-08-03 厦门雅基软件有限公司 资源处理方法、装置、电子设备及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137689A (ja) * 1998-11-04 2000-05-16 Hitachi Ltd 共用データキャッシュ処理方法及びその実施装置並びにその処理プログラムを記録した媒体
US20140250066A1 (en) * 2013-03-04 2014-09-04 Vmware, Inc. Cross-file differential content synchronization
CN106776012A (zh) * 2016-11-28 2017-05-31 武汉秀宝软件有限公司 一种虚拟资源的管理方法及系统
CN108664252A (zh) * 2017-03-27 2018-10-16 Tcl集团股份有限公司 一种基于安卓系统的桌面启动器恢复方法及系统
CN110750277A (zh) * 2019-09-09 2020-02-04 无锡江南计算技术研究所 一种分布式维护系统的更新方法及系统
CN111399873A (zh) * 2015-10-26 2020-07-10 阿里巴巴集团控股有限公司 一种模型更新方法及装置
CN111563003A (zh) * 2020-06-12 2020-08-21 广东浪潮大数据研究有限公司 一种设备状态监控装置、方法、设备及介质
CN112153132A (zh) * 2020-09-18 2020-12-29 北京浪潮数据技术有限公司 基于虚拟化管理平台的文件上传方法、装置及设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137689A (ja) * 1998-11-04 2000-05-16 Hitachi Ltd 共用データキャッシュ処理方法及びその実施装置並びにその処理プログラムを記録した媒体
US20140250066A1 (en) * 2013-03-04 2014-09-04 Vmware, Inc. Cross-file differential content synchronization
CN111399873A (zh) * 2015-10-26 2020-07-10 阿里巴巴集团控股有限公司 一种模型更新方法及装置
CN106776012A (zh) * 2016-11-28 2017-05-31 武汉秀宝软件有限公司 一种虚拟资源的管理方法及系统
CN108664252A (zh) * 2017-03-27 2018-10-16 Tcl集团股份有限公司 一种基于安卓系统的桌面启动器恢复方法及系统
CN110750277A (zh) * 2019-09-09 2020-02-04 无锡江南计算技术研究所 一种分布式维护系统的更新方法及系统
CN111563003A (zh) * 2020-06-12 2020-08-21 广东浪潮大数据研究有限公司 一种设备状态监控装置、方法、设备及介质
CN112153132A (zh) * 2020-09-18 2020-12-29 北京浪潮数据技术有限公司 基于虚拟化管理平台的文件上传方法、装置及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023143545A1 (zh) * 2022-01-29 2023-08-03 厦门雅基软件有限公司 资源处理方法、装置、电子设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN102866961A (zh) 具有扩展的数据和用户隐私保护的存储器转储
US20060064576A1 (en) Boot systems and methods
US10228993B2 (en) Data dump for a memory in a data processing system
CN108509215B (zh) 一种系统软件的更换方法、装置、终端设备及存储介质
CN109445861A (zh) 系统启动方法、装置、计算机装置及存储介质
CN106909362A (zh) Bmc固件生成的方法和装置、bmc系统启动的方法和装置
CN113101643A (zh) 一种资源文件管理方法、装置、设备及存储介质
CN115407943A (zh) 一种内存转储文件生成方法、装置、设备及可读存储介质
CN110147354B (zh) 批量数据编辑方法、装置、计算机设备及存储介质
US11868465B2 (en) Binary image stack cookie protection
CN113076122A (zh) 一种资源文件管理方法、装置、设备及存储介质
US9870400B2 (en) Managed runtime cache analysis
CN109214184B (zh) 一种Android加固应用程序通用自动化脱壳方法和装置
CN111078418A (zh) 操作同步方法、装置、电子设备及计算机可读存储介质
CN107092671B (zh) 一种元信息管理的方法及设备
KR101889222B1 (ko) 악성코드탐지를 수행하는 이동식저장장치 및 이를 위한 방법
CN114924914A (zh) 磁盘分区表信息备份、恢复方法及系统
KR102256894B1 (ko) 크래시 리포트 그룹핑 방법, 서버 및 컴퓨터 프로그램
CN106557263B (zh) 用于在数据块删除中检查伪共享的方法及设备
CN114996955A (zh) 一种云原生混沌工程实验的靶场环境构建方法及装置
WO2020177495A1 (zh) 一种数据库连接管理方法及装置、设备
CN113157306A (zh) 一种资源打包管理方法、装置、设备及存储介质
CN113110870A (zh) 一种资源打包管理方法、装置、设备及存储介质
JP6999679B2 (ja) データ消去方法および装置
CN112486511A (zh) 一种通过web生成操作系统安装镜像的方法

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