CN112783522A - 文件的加载方法、文件的加载装置及电子设备 - Google Patents
文件的加载方法、文件的加载装置及电子设备 Download PDFInfo
- Publication number
- CN112783522A CN112783522A CN202011589504.3A CN202011589504A CN112783522A CN 112783522 A CN112783522 A CN 112783522A CN 202011589504 A CN202011589504 A CN 202011589504A CN 112783522 A CN112783522 A CN 112783522A
- Authority
- CN
- China
- Prior art keywords
- target resource
- resource file
- loading
- storage position
- target
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种文件的加载方法、文件的加载装置及电子设备。该文件的加载方法包括:在客户端加载目标资源文件的情况下,获取记录的历史加载信息;历史加载信息包括对第一存储位置中目标资源文件的加载情况,第一存储位置用于存储客户端热更新时下载的最新版本的目标资源文件;在历史加载信息指示加载失败的次数大于预设阈值的情况下,加载第二存储位置中的目标资源文件,第二存储位置用于存储当前版本的目标资源文件。本发明实施例可以在热更新得到的目标资源文件存在问题的情况下,加载第二存储位置中当前版本的目标资源文件,以保障客户端的正常运行,降低了热更新过程中因下载存在问题的目标资源文件对用户带来的不良影响。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种文件的加载方法、文件的加载装置及电子设备。
背景技术
热更新就是动态下发代码,它可以使开发者在不发布新版本的情况下,修复BUG(漏洞)和发布功能,即跟随不同场景来动态下发不同的文件数据,进行实现不通过发布新版本的形式直接更新应用程序的功能,提高应用程序的灵活性。
目前,在热更新过程中会将新版本的文件下载下来之后覆盖旧版本文件,进而用户在使用客户端时,加载新版本文件。若新版本文件出现问题,会导致客户端崩溃或者出现其他问题导致客户端无法正常运行。
现有解决手段是增加人工测试手段,开发人员在完成新版本的文件之后,由测试人员对新版本的文件进行测试,以保证新版本文件的正确性。
然而,人工测试的方式总会有一些疏漏,一旦将存在问题的新版本文件上传至服务器,在热更新之后使用客户端时,势必会影响客户端的正常运行。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的文件的加载方法、文件的加载装置及电子设备。
第一方面,本发明实施例提供了一种文件的加载方法,所述方法包括:
在客户端加载目标资源文件的情况下,获取记录的历史加载信息;其中,所述历史加载信息包括对第一存储位置中目标资源文件的加载情况,所述第一存储位置用于存储客户端热更新时下载的最新版本的目标资源文件;
在所述历史加载信息指示加载失败的次数大于预设阈值的情况下,加载第二存储位置中的目标资源文件,所述第二存储位置用于存储当前版本的目标资源文件。
可选地,所述在客户端加载目标资源文件的情况下,获取记录的历史加载信息的步骤之前,所述方法还包括:
向服务器发送热更新请求;
接收所述服务器根据所述热更新请求返回的目标版本信息和目标网络链接,其中,所述目标版本信息为最新版本的目标资源文件的版本信息,所述目标网络链接为指示下载所述最新版本的目标资源文件的网络链接;
在所述第一存储位置和所述第二存储位置中的目标资源文件的版本信息均与所述目标版本信息不一致的情况下,根据所述目标网络链接下载所述最新版本的目标资源文件,并存储至所述第一存储位置。
可选地,所述方法还包括:
在所述历史加载信息指示加载失败的次数小于或等于所述预设阈值的情况下的情况下,加载所述第一存储位置中的目标资源文件;
在成功加载所述第一存储位置中的目标资源文件的情况下,将所述第二存储位置中的目标资源文件替换为所述第一存储位置中的目标资源文件。
可选地,所述方法还包括:
在所述历史加载信息指示加载失败的次数大于预设阈值的情况下,向服务器发送指示所述目标资源文件异常的提醒信息。
第二方面,本发明实施例还提供一种文件的加载装置,所述装置包括:
获取模块,用于在客户端加载目标资源文件的情况下,获取记录的历史加载信息;其中,所述历史加载信息包括对第一存储位置中目标资源文件的加载情况,所述第一存储位置用于存储客户端热更新时下载的最新版本的目标资源文件;
第一加载模块,用于在所述历史加载信息指示加载失败的次数大于预设阈值的情况下,加载第二存储位置中的目标资源文件,所述第二存储位置用于存储当前版本的目标资源文件。
可选地,所述装置还包括:
发送模块,用于向服务器发送热更新请求;
接收模块,用于接收所述服务器根据所述热更新请求返回的目标版本信息和目标网络链接,其中,所述目标版本信息为最新版本的目标资源文件的版本信息,所述目标网络链接为指示下载所述最新版本的目标资源文件的网络链接;
下载模块,用于在所述第一存储位置和所述第二存储位置中的目标资源文件的版本信息均与所述目标版本信息不一致的情况下,根据所述目标网络链接下载所述最新版本的目标资源文件,并存储至所述第一存储位置。
可选地,所述装置还包括:
第二加载模块,用于在所述历史加载信息指示加载失败的次数小于或等于所述预设阈值的情况下的情况下,加载所述第一存储位置中的目标资源文件;
替换模块,用于在成功加载所述第一存储位置中的目标资源文件的情况下,将所述第二存储位置中的目标资源文件替换为所述第一存储位置中的目标资源文件。
可选地,所述装置还包括:
上报模块,用于在所述历史加载信息指示加载失败的次数大于预设阈值的情况下,向服务器发送指示所述目标资源文件异常的提醒信息。
第三方面,本发明实施例还提供一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的文件的加载方法中的步骤。
再一方面,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的文件的加载方法中的步骤。
在本发明实施例中,通过第一存储位置存储客户端热更新时下载的最新版本的目标资源文件,通过第二存储位置存储当前版本的目标资源文件。在客户端加载目标资源文件时,根据加载第一存储位置中的目标资源文件的历史加载信息,确定最新版本的目标资源是否存在问题,若存在问题,即历史加载信息指示加载失败的次数大于预设阈值的情况下,加载第二存储位置中当前版本的目标资源文件,以保障客户端的正常运行,避免因加载存在问题的最新版本的目标资源文件导致客户端出现崩溃、白屏等现象,降低了热更新过程中因下载存在问题的目标资源文件对用户带来的不良影响。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的文件的加载方法的步骤流程图;
图2为本发明实施例提供的文件的加载方法的应用流程图;
图3为本发明实施例提供的文件的加载装置的结构框图;
图4为本发明实施例提供的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
参见图1,本发明实施例提供了一种文件的加载方法,该方法包括:
步骤101:在客户端加载目标资源文件的情况下,获取记录的历史加载信息。
应当说明的是,历史加载信息包括对第一存储位置中目标资源文件的加载情况,第一存储位置用于存储客户端热更新时下载的最新版本的目标资源文件。客户端在进行热更新时,将从服务器下载最新版本的目标资源文件,并存储在第一存储位置。例如客户端本地的目标资源文件为1.0版本,开发人员在完成1.1版本的目标资源文件之后,将1.1版本的目标资源文件上传至服务器。用户在使用客户端进行热更新时,将1.1版本的目标资源文件下载至本地第一存储位置。这里服务器中存储的目标资源文件即为最新版本的目标资源文件。第一存储位置可以为客户端的安装目录下的一固定存储位置,并且第一存储位置与客户端存放当前版本的目标资源文件的存储位置不同。
客户端将记录对第一存储位置中目标资源文件的加载的情况,并将其作为历史加载信息。可以理解的是,历史加载信息可以采用任意方式记录对第一存储位置中目标资源文件的加载的情况。例如,历史加载信息可以采用表格形式进行记录,每对第一存储位置中目标资源文件加载一次,在表格中生成一行信息,表示本次加载的情况。当然,可以仅针对加载失败的情况进行记录。历史加载信息还可以采用计数装置进行记录,每对第一存储位置中最新版本的目标资源文件加载失败一次,计数装置加一。
步骤102:在历史加载信息指示加载失败的次数大于预设阈值的情况下,加载第二存储位置中的目标资源文件。
应当说明的是,第二存储位置用于存储当前版本的目标资源文件。这里,第一存储位置与第二存储位置为不同的存储位置,第二存储位置中的当前版本的目标资源文件为客户端成功加载过的目标文件。其中,第二存储位置可以为客户端在电子设备中进行安装时自动选择的目标资源文件的存储位置。例如用户通过电子设备下载客户端安装包之后,将客户端安装于电子设备过程中,自动在电子设备中创建不同安装目录用于存储不同资源文件。第二存储位置即为此时创建的安装目录指示的存储位置。
可以理解的是,客户端在进行热更新之前,可以成功加载第二存储位置中的当前版本的目标资源文件。客户端在进行热更新过程中不会对第二存储位置中的当前版本的目标资源文件造成任何影响,从而客户端在热更新之后依旧可以成功加载第二存储位置中的当前版本的目标资源文件。值得注意的是,用户在使用客户端的过程中,并不一定会加载目标资源文件。例如目标资源文件为客户端展示某一详情页面所需的资源文件时,用户在使用客户端过程中,若未打开该详情页面,则客户端不会加载目标资源文件。所以在客户端热更新之后,将存在第一存储位置中存储的目标资源文件的版本高于第二存储位置中存储的目标资源文件的版本。
预设阈值可以根据需求自行设定,例如可以为3,但不限于此。当历史加载信息指示加载失败的次数大于预设阈值时,可以认为最新版本的目标资源文件存在问题,后续再对此最新版本的目标资源文件进行加载依旧会加载失败。
本发明实施例中,通过第一存储位置存储客户端热更新时下载的最新版本的目标资源文件,通过第二存储位置存储当前版本的目标资源文件。在客户端加载目标资源文件时,根据加载第一存储位置中的目标资源文件的历史加载信息,确定最新版本的目标资源是否存在问题,若存在问题,即历史加载信息指示加载失败的次数大于预设阈值的情况下,加载第二存储位置中当前版本的目标资源文件,以保障客户端的正常运行,避免因加载存在问题的最新版本的目标资源文件导致客户端出现崩溃、白屏等现象,降低了热更新过程中因下载存在问题的目标资源文件对用户带来的不良影响。
在本发明的一可选实施例中,在客户端加载目标资源文件的情况下,获取记录的历史加载信息的步骤之前,该方法还包括:
向服务器发送热更新请求。
应当说明的是,客户端可以自动向服务器发送热更新请求,也可以是用户触发客户端向服务器发送热更新请求。例如客户端在启动时自动向服务器发送热更新请求。还可以是客户端在运行预设时长之后自动向服务器发送热更新请求。还可以是用户在使用客户端过程中主动触发更新功能,向服务器发送热更新请求。具体的,客户端在一固定页面提供一更新按钮,用于触发客户端向服务器发送热更新请求,用户在使用客户端的过程中,打开该固定页面并点击该更新按钮,从而使得客户端向服务器发送热更新请求。热更新请求用于向服务器请求其上存储的目标资源文件的版本信息以及其上存储的目标资源文件的网络链接。服务器在接收到客户端发送的热更新请求之后,向客户端返回其上存储的目标资源文件的版本信息以及其上存储的目标资源文件的网络链接。
接收服务器根据热更新请求返回的目标版本信息和目标网络链接。
应当说明的是,目标版本信息为最新版本的目标资源文件的版本信息,即服务器上存储的,由开发人员最新上传的目标资源文件的版本信息。目标网络链接为指示下载最新版本的目标资源文件的网络链接。开发人员在完成新版本的目标资源文件之后,会将新版本的目标资源文件上传至服务器,供客户端热更新时下载。所以,服务器上存储的目标资源文件可以理解为最新版本的目标资源文件。
在第一存储位置和第二存储位置中的目标资源文件的版本信息均与目标版本信息不一致的情况下,根据目标网络链接下载最新版本的目标资源文件,并存储至第一存储位置。
应当说明的是,第一存储位置和第二存储位置中的目标资源文件的版本信息均与目标版本信息不一致,说明客户端本地不存在最新版本的目标资源文件,即客户端还未下载过服务器上存储的最新版本的目标资源文件。此时,将根据服务器返回的目标网络链接下载最新版本的目标资源文件。这里,下载的最新版本的目标资源文件将覆盖第一存储位置原来存储的目标资源文件,但不对第二存储位置存储的目标资源文件产生影响。
当然在第一存储位置和第二存储位置中,任一存储位置中的目标资源文件的版本信息与目标版本信息一致时,说明客户端本地存在最新版本的目标资源文件,即客户端已经下载过服务器上存储的最新版本的目标资源文件。此时,无需再从服务器下载目标资源文件。
本发明实施例中,在客户端进行热更新过程中,将从服务器下载最新版本的目标资源文件,并存储在第一存储位置,避免对第二存储位置中的目标资源文件产生影响。在客户端无法成功加载最新版本的目标资源文件时,使得客户端可以加载第二存储位置中的目标资源文件,保证客户端的正常运行。
下面以一具体实例进行说明。
客户端中第一存储位置和第二存储位置中存储的目标资源文件均为1.0版本的目标资源文件,开发人员在完成1.1版本的目标资源文件之后将其上传至服务器。
客户端在启动时,自动向服务器发送热更新请求,服务器将其上存储的目标资源文件的版本信息和下载地址返回至客户端。其中,版本信息即为1.1版本。通过比对服务器返回的1.1版本和本地的1.0版本,确定目标资源文件可以进行热更新,进而根据下载地址将1.1版本的目标资源文件下载下来,替换第一存储位置中1.0版本的目标资源文件。此后,客户端将记录加载第一存储位置中1.1版本的目标资源文件的情况。当加载第一存储位置中1.1版本的目标资源文件的失败次数大于预设阈值的情况下,说明1.1版本的目标资源文件存在问题,无法成功加载。此时不再加载第一存储位置中1.1版本的目标资源文件,而是加载第二存储位置中1.0版本的目标资源文件,以保证客户端的正常运行。
在上述实施过程中,在客户端无法成功加载最新版本的目标资源文件时,使得客户端可以加载第二存储位置中的目标资源文件,保证客户端的正常运行。
在本发明的一可选实施例中,该方法还包括:
在历史加载信息指示在历史加载信息指示加载失败的次数小于或等于预设阈值的情况下的情况下,加载第一存储位置中的目标资源文件。
本步骤中,在历史加载信息指示加载失败的次数小于或等于预设阈值的情况下,说明客户端尚未加载过第一存储位置中的目标资源文件;或者已经加载过第一存储位置中的目标资源文件,但加载失败次数较少,尚存在加载成功的较大几率。此时可以尝试加载第一存储位置中的目标资源文件。
在成功加载第一存储位置中的目标资源文件的情况下,将第二存储位置中的目标资源文件替换为第一存储位置中的目标资源文件。
本步骤中,在成功加载第一存储位置中的目标资源文件的情况下,说明此时第一存储位置中最新版本的目标资源文件不存在问题,可以将第二存储位置中的目标资源文件替换为该最新版本的目标资源文件。此时第一存储位置和第二存储位置中目标资源文件的版本信息一致,为同一版本的目标资源文件,进而在客户端再次加载目标资源文件时,可以直接从第二存储位置加载最新版本的目标资源文件即可,但不限于。例如在第一存储位置中存储的目标资源文件和第二存储位置中存储的目标资源文件为同一版本的目标资源文件的情况下,说明该版本的目标资源文件不存在问题,已经被客户端成功加载过。在加载目标资源文件时,可以使客户端选择任一存储位置中的目标资源文件进行加载。具体的,在将第二存储位置中的目标资源文件替换为第一存储位置中的目标资源文件的步骤之后,该方法还包括:在在客户端加载目标资源文件的情况下,对第一存储位置和第二存储位置中的目标资源文件的版本进行比对,若版本一致,获取记录的历史加载信息,在历史加载信息指示加载失败的次数大于预设阈值的情况下,加载第二存储位置中的目标资源文件,第二存储位置用于存储当前版本的目标资源文件。
若加载第一存储位置中的目标资源文件时加载失败,则无需将第二存储位置中的目标资源文件替换为第一存储位置中的目标资源文件,需要记录本次加载失败的信息,从而在下次加载目标资源文件时,可以查到本次记录的加载失败信息。当然,还可以在加载第一存储位置中的目标资源文件时加载失败的情况下,再次加载第二存储位置中的目标资源文件。这里,可以通过主动或者被动的方式再次加载第二存储位置中的目标资源文件。例如,通过实时检测历史加载信息,在历史加载信息指示加载失败的次数大于预设阈值的情况下,自动加载第二存储位置中的目标资源文件。还可以增加再次加载的功能控件,例如刷新控件,在加载第一存储位置中的目标资源文件时加载失败的情况下,用户触发刷新控件,直接加载第二存储位置中的目标资源文件。当然也可以在用户触发刷新控件之后,更具最新的历史加载信息再次对目标资源文件进行加载。即最新的历史加载信息指示加载失败的次数大于预设阈值时,加载第二存储位置中的目标资源文件;最新的历史加载信息指示加载失败的次数小于或者等于预设阈值时,加载第一存储位置中的目标资源文件。
本发明实施例中,在成功加载第一存储位置中的目标资源文件之后,将第二存储位置中的目标资源文件替换为第一存储位置中的目标资源文件,从而保证客户端在加载第二存储位置中的目标资源文件时,不会因目标资源文件存在问题导致加载失败。
在本发明的一可选实施例中,该方法还包括:在历史加载信息指示加载失败的次数大于预设阈值的情况下,向服务器发送指示目标资源文件异常的提醒信息。
应当说明的是,提醒信息可以为客户端与服务器预先协商好的固定标识,或者固定格式的信息。开发人员通过服务器可以及时发现并修复有问题的目标资源文件。
本发明实施例中,在加载第一存储位置中的目标资源文件的加载失败次数大于预设阈值的情况下,认为最新版本的目标资源文件存在问题,通过向服务器发送提醒信息,方便开发人员及时发现并修复存在问题的目标资源文件。
参见图2为本发明实施例提供的文件的加载方法的应用示意图,其中,包括加载目标资源文件的过程以及加载目标资源文件前通过热更新下载目标资源文件的过程。可以理解的是,客户端通过热更新更新目标资源文件之后,客户端并不一定需要直接加载目标资源文件,也就是说客户端加载目标资源文件的时机与客户端进行热更新并无关联。客户端进行热更新仅限于将服务器中最新版本的目标资源文件下载到客户端,供客户端在需要的时候使用。例如目标资源文件为客户端展示某一详情页面所需的资源文件时,客户端在热更新过程中将最新版本的目标资源文件下载至客户端即可。用户在使用客户端过程中,若未打开该详情页面,则客户端不会加载目标资源文件。只有在客户端打开该详情页面的情况下,才会进入加载目标资源文件的过程。
本发明实施例中文件的加载方法包括:
步骤201:发送热更新请求。热更新请求用于发起热更新。这里,可以在客户端启动时,自动向服务器发送热更新请求,但不限于此。例如还可以是在客户端运行预设时长之后自动向服务器发送热更新请求。还可以是用户在使用客户端过程中主动触发更新功能,向服务器发送热更新请求。
步骤202:根据服务器返回的响应信息判断是否需要进行热更新。服务器在接收到客户端发送的热更新请求之后,向客户端返回包括其上存储的目标资源文件的版本信息以及其上存储的目标资源文件的网络链接的响应信息。这里,服务器上存储的目标资源文件可以理解为开发人员上传的最新版本的目标资源文件。若响应信息中的版本信息与客户端第一存储位置和第二存储位置中的目标资源文件的版本信息均不一致,则说明客户端本地没有最新版本的目标资源文件,需要进行热更新,执行步骤203。若响应信息中的版本信息与客户端第一存储位置和第二存储位置中任一存储位置的目标资源文件的版本信息一致,则说明客户端本地存在最新版本的目标资源文件,不需要进行热更新,执行步骤205。这里,第一存储位置用于存储客户端热更新时下载的最新版本的目标资源文件;第二存储位置用于存储当前版本的目标资源文件。
步骤203:计数装置清零。计数装置用于记录对第一存储位置中目标资源文件的加载情况。具体的,计数装置的当前计数数值即为加载第一存储位置中目标资源文件的加载失败次数。由于需要热更新,会更新第一存储位置中的目标资源文件,更新之后由于尚未加载过更新后的目标资源文件,所以计数装置清零。
步骤204:根据响应信息中的网络链接下载服务器上的目标资源文件,并采用该下载的目标资源文件替换第一存储位置中的原目标资源文件。当然,若第一存储位置中没有目标资源文件,则只需将该下载的目标资源文件存储至第一存储位置即可。至此完成客户端的热更新过程,即上述几个步骤为客户端进行热更新的步骤。下面,进行热更新后加载目标资源文件的过程描述。
步骤205:在需要加载目标资源文件的情况下,判断计数装置的当前计数是否小于3。若是,则执行步骤206,若否,则执行步骤210。计数装置的当前计数数值为加载第一存储位置中目标资源文件的加载失败次数。若计数装置的当前计数小于3,说明客户端尚未加载过第一存储位置中的目标资源文件;或者已经加载过第一存储位置中的目标资源文件,但加载失败次数较少,尚存在加载成功的较大几率。此时可以尝试加载第一存储位置中的目标资源文件。若计数装置的当前计数大于或等于3,说明客户端加载过第一存储位置中的目标资源文件,并且加载失败次数较多,第一存储位置中的目标资源文件存在问题,成功加载第一存储位置中的目标资源文件的几率很小。此时需要加载第二存储位置中的目标资源文件。这里的数值3可以根据用户需求自行设定,并不限于此。例如还可以为2,判断计数装置的当前计数是否小于2。
步骤206:尝试加载第一存储位置中的目标资源文件。
步骤207:判断是否加载成功,若加载成功则执行步骤208,若加载失败则执行步骤209。加载成功,说明第一存储位置中的目标资源文件不存在问题,可以放心替换第二存储位置中的目标资源文件,保证客户端在加载第二存储位置中的目标资源文件时,不会因目标资源文件存在问题导致加载失败。加载失败,说明第一存储位置中的目标资源文件可能在问题,此时通常客户端会出现白屏、崩溃等现象。
步骤208:计数装置清零,采用第一存储位置中的目标资源文件替换第二存储位置中的目标资源文件,从而完成目标资源文件的加载。
步骤209:计数装置的技术+1。由于加载失败,此时将用于记录第一存储位置中目标资源文件加载失败次数的计数装置的计数+1。通常情况下客户端加载目标资源文件时,若加载失败,用户将主动或被动退出客户端,结束本次加载目标资源文件的流程。在需要使用客户端时,再次启动客户端,此时计数装置的计数为上次退出客户端时的最新计数结果。
步骤210:上报异常,向服务器发送关于最新版本的目标资源文件存在问题的提醒信息,以便开发人员能够从服务器及时获知,并对存在问题的目标资源文件进行修复。
步骤211:加载第二存储位置中的目标资源文件。
上述实施过程中,在客户端进行热更新的过程中,采用第一存储位置存储从服务器下载的最新版本的目标资源文件,采用第二存储位置存储客户端当前版本的目标资源文件。在客户端加载目标资源文件过程中,利用计数装置记录加载第一存储位置中的目标资源文件的加载失败次数。根据计数装置的当前计数,确定最新版本的目标资源是否存在问题,若存在问题,则加载第二存储位置中当前版本的目标资源文件,以保障客户端的正常运行;避免因加载存在问题的最新版本的目标资源文件导致客户端出现崩溃、白屏等现象。同时向服务器上报异常,以便开发人员及时发现并修复存在问题的目标资源文件。若不存在问题,将第二存储位置中的目标资源文件替换为第一存储位置中的目标资源文件,保证客户端在加载第二存储位置中的目标资源文件时,不会因目标资源文件存在问题导致加载失败。
以上介绍了本发明实施例提供的文件的加载方法,下面将结合附图介绍本发明实施例提供的文件的加载装置。
参见图3,本发明实施例还提供了一种文件的加载装置,该装置包括:
获取模块31,用于在客户端加载目标资源文件的情况下,获取记录的历史加载信息;其中,所述历史加载信息包括对第一存储位置中目标资源文件的加载情况,所述第一存储位置用于存储客户端热更新时下载的最新版本的目标资源文件;
第一加载模块32,用于在所述历史加载信息指示加载失败的次数大于预设阈值的情况下,加载第二存储位置中的目标资源文件,所述第二存储位置用于存储当前版本的目标资源文件。
可选地,该装置还包括:
发送模块,用于向服务器发送热更新请求;
接收模块,用于接收所述服务器根据所述热更新请求返回的目标版本信息和目标网络链接,其中,所述目标版本信息为最新版本的目标资源文件的版本信息,所述目标网络链接为指示下载所述最新版本的目标资源文件的网络链接;
下载模块,用于在所述第一存储位置和所述第二存储位置中的目标资源文件的版本信息均与所述目标版本信息不一致的情况下,根据所述目标网络链接下载所述最新版本的目标资源文件,并存储至所述第一存储位置。
可选地,该装置还包括:
第二加载模块,用于在所述历史加载信息指示加载失败的次数小于或等于所述预设阈值的情况下的情况下,加载所述第一存储位置中的目标资源文件;
替换模块,用于在成功加载所述第一存储位置中的目标资源文件的情况下,将所述第二存储位置中的目标资源文件替换为所述第一存储位置中的目标资源文件。
可选地,该装置还包括:
上报模块,用于在所述历史加载信息指示加载失败的次数大于预设阈值的情况下,向服务器发送指示所述目标资源文件异常的提醒信息。
本发明实施例提供的文件的加载装置能够实现图1和图2的方法实施例中文件的加载方法实现的各个过程,为避免重复,这里不再赘述。
本发明的实施例中,通过第一存储位置存储客户端热更新时下载的最新版本的目标资源文件,通过第二存储位置存储当前版本的目标资源文件。在客户端加载目标资源文件时,根据加载第一存储位置中的目标资源文件的历史加载信息,确定最新版本的目标资源是否存在问题,若存在问题,即历史加载信息指示加载失败的次数大于预设阈值的情况下,加载第二存储位置中当前版本的目标资源文件,以保障客户端的正常运行,避免因加载存在问题的最新版本的目标资源文件导致客户端出现崩溃、白屏等现象,降低了热更新过程中因下载存在问题的目标资源文件对用户带来的不良影响。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述文件的加载方法中的步骤。
举个例子如下,图4示出了一种电子设备的实体结构示意图。
如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行如下方法:
在客户端加载目标资源文件的情况下,获取记录的历史加载信息;其中,所述历史加载信息包括对第一存储位置中目标资源文件的加载情况,所述第一存储位置用于存储客户端热更新时下载的最新版本的目标资源文件;
在所述历史加载信息指示加载失败的次数大于预设阈值的情况下,加载第二存储位置中的目标资源文件,所述第二存储位置用于存储当前版本的目标资源文件。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的文件的加载方法,例如包括:
在客户端加载目标资源文件的情况下,获取记录的历史加载信息;其中,所述历史加载信息包括对第一存储位置中目标资源文件的加载情况,所述第一存储位置用于存储客户端热更新时下载的最新版本的目标资源文件;
在所述历史加载信息指示加载失败的次数大于预设阈值的情况下,加载第二存储位置中的目标资源文件,所述第二存储位置用于存储当前版本的目标资源文件。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种文件的加载方法,其特征在于,所述方法包括:
在客户端加载目标资源文件的情况下,获取记录的历史加载信息;其中,所述历史加载信息包括对第一存储位置中目标资源文件的加载情况,所述第一存储位置用于存储客户端热更新时下载的最新版本的目标资源文件;
在所述历史加载信息指示加载失败的次数大于预设阈值的情况下,加载第二存储位置中的目标资源文件,所述第二存储位置用于存储当前版本的目标资源文件。
2.根据权利要求1所述的方法,其特征在于,所述在客户端加载目标资源文件的情况下,获取记录的历史加载信息的步骤之前,所述方法还包括:
向服务器发送热更新请求;
接收所述服务器根据所述热更新请求返回的目标版本信息和目标网络链接,其中,所述目标版本信息为最新版本的目标资源文件的版本信息,所述目标网络链接为指示下载所述最新版本的目标资源文件的网络链接;
在所述第一存储位置和所述第二存储位置中的目标资源文件的版本信息均与所述目标版本信息不一致的情况下,根据所述目标网络链接下载所述最新版本的目标资源文件,并存储至所述第一存储位置。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述历史加载信息指示加载失败的次数小于或等于所述预设阈值的情况下的情况下,加载所述第一存储位置中的目标资源文件;
在成功加载所述第一存储位置中的目标资源文件的情况下,将所述第二存储位置中的目标资源文件替换为所述第一存储位置中的目标资源文件。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述历史加载信息指示加载失败的次数大于预设阈值的情况下,向服务器发送指示所述目标资源文件异常的提醒信息。
5.一种文件的加载装置,其特征在于,所述装置包括:
获取模块,用于在客户端加载目标资源文件的情况下,获取记录的历史加载信息;其中,所述历史加载信息包括对第一存储位置中目标资源文件的加载情况,所述第一存储位置用于存储客户端热更新时下载的最新版本的目标资源文件;
第一加载模块,用于在所述历史加载信息指示加载失败的次数大于预设阈值的情况下,加载第二存储位置中的目标资源文件,所述第二存储位置用于存储当前版本的目标资源文件。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
发送模块,用于向服务器发送热更新请求;
接收模块,用于接收所述服务器根据所述热更新请求返回的目标版本信息和目标网络链接,其中,所述目标版本信息为最新版本的目标资源文件的版本信息,所述目标网络链接为指示下载所述最新版本的目标资源文件的网络链接;
下载模块,用于在所述第一存储位置和所述第二存储位置中的目标资源文件的版本信息均与所述目标版本信息不一致的情况下,根据所述目标网络链接下载所述最新版本的目标资源文件,并存储至所述第一存储位置。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二加载模块,用于在所述历史加载信息指示加载失败的次数小于或等于所述预设阈值的情况下的情况下,加载所述第一存储位置中的目标资源文件;
替换模块,用于在成功加载所述第一存储位置中的目标资源文件的情况下,将所述第二存储位置中的目标资源文件替换为所述第一存储位置中的目标资源文件。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
上报模块,用于在所述历史加载信息指示加载失败的次数大于预设阈值的情况下,向服务器发送指示所述目标资源文件异常的提醒信息。
9.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的文件的加载方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的文件的加载方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011589504.3A CN112783522B (zh) | 2020-12-28 | 2020-12-28 | 文件的加载方法、文件的加载装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011589504.3A CN112783522B (zh) | 2020-12-28 | 2020-12-28 | 文件的加载方法、文件的加载装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112783522A true CN112783522A (zh) | 2021-05-11 |
CN112783522B CN112783522B (zh) | 2022-08-09 |
Family
ID=75753145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011589504.3A Active CN112783522B (zh) | 2020-12-28 | 2020-12-28 | 文件的加载方法、文件的加载装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783522B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105872106A (zh) * | 2016-06-14 | 2016-08-17 | 青岛海信移动通信技术股份有限公司 | 空中下载升级方法、空中下载服务器及终端 |
CN107729041A (zh) * | 2017-07-26 | 2018-02-23 | 上海壹账通金融科技有限公司 | 应用程序热更新方法、装置、终端和存储介质 |
CN110377850A (zh) * | 2019-06-12 | 2019-10-25 | 五八有限公司 | 资源文件加载方法、装置、电子设备及存储介质 |
CN111736875A (zh) * | 2020-06-28 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 版本更新监控方法、装置、设备及计算机存储介质 |
-
2020
- 2020-12-28 CN CN202011589504.3A patent/CN112783522B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105872106A (zh) * | 2016-06-14 | 2016-08-17 | 青岛海信移动通信技术股份有限公司 | 空中下载升级方法、空中下载服务器及终端 |
CN107729041A (zh) * | 2017-07-26 | 2018-02-23 | 上海壹账通金融科技有限公司 | 应用程序热更新方法、装置、终端和存储介质 |
CN110377850A (zh) * | 2019-06-12 | 2019-10-25 | 五八有限公司 | 资源文件加载方法、装置、电子设备及存储介质 |
CN111736875A (zh) * | 2020-06-28 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 版本更新监控方法、装置、设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112783522B (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107748668B (zh) | 一种应用程序升级的方法及装置 | |
CN107547239B (zh) | 配置对象的更新方法及装置 | |
US8855627B2 (en) | System and method for enhanced diagnostics on mobile communication devices | |
KR101201276B1 (ko) | 액션 리스트 및 버저닝을 이용한 무선 디바이스상에서액션을 수행하기 위한 방법, 소프트웨어 및 장치 | |
JP2013505512A (ja) | コンピュータ装置のシステムヘルス及びパフォーマンスのケア | |
CN106843947B (zh) | 代码缺陷的处理方法和装置 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN110597545A (zh) | 一种基于ota组件的热补丁智能升级方法及系统 | |
CN110908702A (zh) | 一种版本切换方法、版本切换装置、计算机设备及存储介质 | |
CN112134961B (zh) | 客户端的使用控制方法、客户端及计算机存储介质 | |
CN117056115B (zh) | 应用程序的修复方法和装置、存储介质及电子设备 | |
CN111984520A (zh) | 埋点测试方法、计算机设备及计算机可读存储介质 | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN112783522B (zh) | 文件的加载方法、文件的加载装置及电子设备 | |
CN111399890B (zh) | 游戏的热更新方法、装置、系统及电子设备 | |
CN112256295A (zh) | 应用程序的更新方法、装置、设备和存储介质 | |
CN114915554A (zh) | 远程升级方法、装置、计算机设备和存储介质 | |
CN114546842A (zh) | 接口测试方法、装置和存储介质及电子设备 | |
CN113672258A (zh) | 车辆的系统升级方法、装置、计算机设备和存储介质 | |
CN112596760A (zh) | 软件维护方法、装置和设备 | |
KR101123685B1 (ko) | 동적 소프트웨어 업그레이드 기술을 이용한 단말기 내의 프로그램 업그레이드 방법 및 시스템 | |
CN114995861B (zh) | 一种基于weex的应用程序更新方法、存储介质及电子设备 | |
CN114430565B (zh) | 设备的启动方法、装置及存储介质 | |
CN109471650B (zh) | 一种升级异常确定方法、装置和计算机设备 | |
CN114003260A (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 |