CN111586170A - 资源下载方法、装置、设备及计算机可读存储介质 - Google Patents

资源下载方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111586170A
CN111586170A CN202010377053.0A CN202010377053A CN111586170A CN 111586170 A CN111586170 A CN 111586170A CN 202010377053 A CN202010377053 A CN 202010377053A CN 111586170 A CN111586170 A CN 111586170A
Authority
CN
China
Prior art keywords
resource
resources
local
downloading
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
Application number
CN202010377053.0A
Other languages
English (en)
Other versions
CN111586170B (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.)
Guangzhou Boguan Information Technology Co Ltd
Original Assignee
Guangzhou Boguan Information 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 Guangzhou Boguan Information Technology Co Ltd filed Critical Guangzhou Boguan Information Technology Co Ltd
Priority to CN202010377053.0A priority Critical patent/CN111586170B/zh
Publication of CN111586170A publication Critical patent/CN111586170A/zh
Application granted granted Critical
Publication of CN111586170B publication Critical patent/CN111586170B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

本公开提供的资源下载方法、装置、设备及计算机可读存储介质,包括:从服务器中下载资源管理表;其中,资源管理表中包括资源信息;根据本地已有资源、资源管理表中包括的资源信息确定需要下载的目标资源;从服务器中下载目标资源。本公开提供的方法、装置、设备及计算机可读存储介质中,可以根据资源管理列表确定需要下载的目标资源,能够有针对性的进行下载,避免更新客户端时需要下载的资源量过大,进而造成更新成本高的问题。

Description

资源下载方法、装置、设备及计算机可读存储介质
技术领域
本公开涉及客户端资源技术,尤其涉及一种资源下载方法、装置、设备及计算机可读存储介质。
背景技术
目前,随着终端设备的性能越来越高,在终端设备上运行的客户端资源也越来越丰富。
例如,在终端设备上运行的很多网络游戏中,游戏画面质量高、内容表现丰富,这就导致网络游戏长期维护和频繁更新,也会造成客户端资源日益膨胀、冗余增多、玩家客户端更新成本高等问题。
发明内容
本公开提供一种资源下载方法、装置、设备及计算机可读存储介质,以解决现有技术中客户端资源日益膨胀、更新成本高等问题。
本公开的第一个方面是提供一种资源下载方法,包括:
从服务器中下载资源管理表;其中,所述资源管理表中包括资源信息;
根据本地已有资源、所述资源管理表中包括的所述资源信息确定需要下载的目标资源;
从所述服务器中下载所述目标资源。
本公开的另一个方面是提供一种资源下载装置,包括:
资源表下载模块,用于从服务器中下载资源管理表;其中,所述资源管理表中包括资源信息;
确定模块,用于根据本地已有资源、所述资源管理表中包括的所述资源信息确定需要下载的目标资源;
资源下载模块,用于从所述服务器中下载所述目标资源。
本公开的又一个方面是提供一种资源下载设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现如上述第一方面所述的资源下载方法。
本公开的又一个方面是提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如上述第一方面所述的资源下载方法。
本公开提供的资源下载方法、装置、设备及计算机可读存储介质的技术效果是:
本公开提供的资源下载方法、装置、设备及计算机可读存储介质,包括:从服务器中下载资源管理表;其中,资源管理表中包括资源信息;根据本地已有资源、资源管理表中包括的资源信息确定需要下载的目标资源;从服务器中下载目标资源。本公开提供的方法、装置、设备及计算机可读存储介质中,可以根据资源管理列表确定需要下载的目标资源,能够有针对性的进行下载,避免更新客户端时需要下载的资源量过大,进而造成更新成本高的问题。
附图说明
图1为本申请一示例性实施例示出的应用场景图;
图2为本申请一示例性实施例示出的资源下载方法的流程图;
图3为本申请另一示例性实施例示出的资源下载方法的流程图;
图4为本申请一示例性实施例示出的资源下载装置的结构图;
图5为本申请另一示例性实施例示出的资源下载装置的结构图;
图6为本申请一示例性实施例示出的资源下载设备的结构图。
具体实施方式
现在很多电脑上运行的和手机设备上运行的客户端资源非常丰富,一方面导致客户端资源数据较大,造成客户端安装包巨大,安装过程缓慢。例如,游戏画面质量高、内容表现丰富,因此客户端资源(包括但不限于模型、贴图、动画、视频、配置文件等)往往非常海量。另一方面,由于客户端长期维护和频繁更新,也会造成客户端资源日益膨胀、冗余增多、客户端更新成本高等问题。
现有技术中存在一种微端版的客户端,微端版和完整版客户端运行的是同一个客户端引擎和同样的资源包体结构,微端版相对于完整版缺少部分未下载的资源(如地图、模型、用户界面等),这些缺失的资源会在对应的资源包体相应的数据部分用0来填充的,利用大量连续0起到打包的高压缩效果,所以打包后的微端版安装包会比完整版的小很多,但在解压后微端版客户端依旧占用和完整版客户端一样的体积。
微端版缺失的资源中,部分资源可以做到按需即时下载(造型、特效等),而有些资源因为引擎难以支持异步化或者动态下载,导致这些资源如果未完成下载,必须限制客户端实现相应的功能。
这种微端版客户端的方案局限于传统的补丁(patch)更新机制。传统的补丁更新机制中,每次发布一个更新,都是以上次发布的最新版更新为基础,增量的制作出新的Patch并发布,多个Patch同时存在。终端设备在获取一个基础版本或者某个中间版本包后,要顺序下载之后所有Patch并逐一执行,最终完成客户端更新。由于微端客户端是基于资源包挖空的,更新也需要采用与普通客户端同样的patch,这会导致如果终端设备长时间没有运行客户端,可能要下载的patch总量比微端安装包本身还大,因此,微端安装包需要频繁发布新版本。
现有技术还存在一种基础包与扩展包组合的方案。这种方案提供一个最小执行的应用程序,所有资源在第一次进入客户端时下载。初始包有基础资源,剩余资源要在进入正式场景前完成下载。
初始包有基础资源,剩余资源在有需求时下载,例如,游戏客户端可以边玩边下,比如按不同的场景或者关卡顺序排出下载优先级,在本场景/关卡时,提前下载接下来会进入的新场景/关卡所用资源。
这个方案比较明显的缺点是当缺失相关资源时,要限制体验相关的客户端功能;而且要实现相关的扩展包处理逻辑,维护起来较麻烦,容易遗漏出错。
本申请的方法中,在服务器中设置有资源管理列表,终端设备可以根据资源管理列表下载需要的资源,从而实现高效的资源管理目的。
图1为本申请一示例性实施例示出的应用场景图。
如图1所示,终端设备11可以与服务器12通过网络连接,终端设备11可以从服务器12中下载客户端安装包,还可以下载客户端所需的资源。
例如,可以在服务器12中发布一资源管理列表,终端设备11可以下载该资源管理列表,并根据资源管理列表下载需要的资源。
其中,终端设备11例如可以是手机、计算机等。
图2为本申请一示例性实施例示出的资源下载方法的流程图。
如图2所示,本实施例提供的资源下载方法包括:
步骤201,从服务器中下载资源管理表;其中,资源管理表中包括资源信息。
本申请提供的方法可以由具备计算能力的电子设备执行,例如可以是图1中所示出的终端设备11。
其中,电子设备可以通过网络与服务器连接。例如,电子设备中可以预先安装一客户端,当客户端中的启动器运行时,电子设备可以与该客户端对应的后台服务器连接。比如,电子设备中安装有客户端A,客户端A所实现的功能由后台服务器A提供,这种情况下,客户端A的启动器时,电子设备可以访问后台服务器A。
具体的,电子设备与服务器连接成功后,可以从服务器中下载资源管理表。例如,客户端的启动器启动时,首先可通过一个具体的https链接从服务器zho能够下载所需版本的资源管理列表,存放到客户端本地;不同的资源版本会对应不同的https链接,便于每次的维护更新。
进一步的,资源管理列表可以预先存储到服务器中。例如,在制作客户端资源时,可以根据各个资源的信息生成资源管理列表,即该表中包括资源信息。资源信息比如可以包括资源标识、资源内容标识、资源优先级等信息。若资源为图片资源,其对应的资源信息还可以包括图片信息,比如图片对应的尺寸、在界面中的位置等基础信息。
该资源管理列表中可以包括当前客户端版本所需要的所有资源的信息。比如v1版本中,资源包括a1-a5,则v1版本对应的资源管理列表中包括a1-a5对应的资源信息。v2版本中,资源包括a1-a5、b1-b3,则v2版本对应的资源管理列表中包括a1-a5、b1-b3对应的资源信息。具体资源管理列表中包括哪些资源信息,可以根据当前客户端版本所需要的资源进行设置。例如,可以由客户端发行方制定资源管理列表,并在服务器中发布该列表。
具体可以在客户端资源制作时,对所有资源进行处理,处理包括压缩(可选)、资源文件的加密、校验头添加、计算资源内容的哈希值、把资源文件重命名为其内容哈希值;扫描所有资源生成资源管理表。
资源管理列表中可以包括所有资源的信息,每条资源信息可以包括资源标识、资源内容标识、资源优先级、图片资源的基础信息等。
实际应用时,电子设备可以从服务器中下载该资源管理表,进而根据资源管理表下载资源。
步骤202,根据本地已有资源、所述资源管理表中包括的所述资源信息确定需要下载的目标资源。
其中,电子设备可以比对本地已有资源与资源管理列表,进而确定需要下载的目标资源。
具体的,一种方式中,电子设备可以遍历资源管理列表中的资源信息,并于本地已有资源进行比对,从而确定出在资源管理列表中存在,但是本地不存在的缺失资源。比如,可以比对本地已有资源的标识与资源管理列表中每条资源信息包括的资源标识,从而确定出缺失资源。缺失资源可以作为一种目标资源。例如,在资源管理列表中,存在一条资源信息A,资源信息A中的资源标识为A',若本地资源的资源标识中不包括标识A',则可以认为本地缺失该标识为A'的资源。
进一步的,另一种方式中,电子设备还可以比对资源管理列表中的资源信息包括的资源内容标识与本地的资源内容标识。具体可以在资源信息包括的资源标识与本地资源的标识相同情况下,进一步比对二者的内容标识,若内容标识不一致,则可以将该资源确定为错误资源。错误资源可以作为一种目标资源。例如,在资源管理列表中,存在一条资源信息B,资源信息B中的资源标识为B1',资源内容标识为B2',若本地资源的资源标识中包括标识B1',但本地资源中B1'对应的资源内容标识不是B2',则可以认为本地的资源B1'与服务器中的资源B1'内容不同,因此,可以认为本地的标识为B'的资源是错误的。
实际应用时,可以将资源名称的哈希值作为资源标识,将资源内容的哈希值作为资源内容标识。
其中,根据资源管理列表确定需要下载的目标资源,能够有针对性的进行下载,避免更新客户端时需要下载的资源量过大,进而造成更新成本高的问题。此外,这种设置方式在前期可以设置一轻量的客户端,后期再有选择的下载资源,从而减小客户端安装包,提高客户端安装速度。
步骤203,从服务器中下载目标资源。
具体的,电子设备确定出目标资源后,可以从服务器下载这些目标资源。例如,电子设备可以向服务器发送包括目标资源的标识的请求,从而使服务器向电子设备包括与该资源标识对应的目标资源。
本实施例提供的方法用于下载资源,该方法由设置有本实施例提供的方法的设备执行,该设备通常以硬件和/或软件的方式来实现。
本实施例提供的资源下载方法,包括:从服务器中下载资源管理表;其中,资源管理表中包括资源信息;根据本地已有资源、资源管理表中包括的资源信息确定需要下载的目标资源;从服务器中下载目标资源。本实施例提供的方法中,可以根据资源管理列表确定需要下载的目标资源,能够有针对性的进行下载,避免更新客户端时需要下载的资源量过大,进而造成更新成本高的问题。
图3为本申请另一示例性实施例示出的资源下载方法的流程图。
如图3所示,本实施例提供的资源下载方法包括:
步骤301,从服务器中下载资源管理表;其中,所述资源管理表中包括资源信息。
本申请提供的方法可以由具备计算能力的电子设备执行,例如可以是图1中所示出的终端设备11。
步骤301与步骤201的具体原理和实现方式类似,此处不再赘述。
步骤302A,根据本地已有资源的资源标识、资源管理表中包括的资源信息的资源标识,确定本地不存在的目标资源。
其中,资源信息包括资源标识。资源管理列表中可以包括多条资源信息,每条资源信息中可以包括对应资源的信息,例如可以包括资源标识。在这种情况下,电子设备可以根据本地已有资源的资源标识、资源管理列表中资源信息包括的资源标识,确定出本地不存在的目标资源。
具体的,电子设备可以比对本地资源的资源标识与资源信息中包括的资源标识,从而确定出本地没有、但资源信息中存在的资源标识,该资源标识对应的资源即为本地不存在的目标资源。例如,再资源管理列表中存在一资源信息,其中包括资源标识A,但是电子设备本地已有资源的资源标识不包括A,则可以将A对应的资源确定为本地不存在的目标资源。
进一步的,资源标识例如可以是资源名称等唯一的标识。
实际应用时,还可以将资源名称的哈希值作为资源标识,此哈希值的计算可以采用MD5(MD5 Message-Digest Algorithm,MD5信息摘要算法)算法。在客户端提供方制作资源文件时,可以根据各个资源的名称生成资源标识,具体可以根据资源名称生成哈希值,从而得到资源标识。
其中,为了便于区分,此处将资源管理列表中资源信息包括的资源标识称为第一哈希值,该第一哈希值是根据资源信息对应的资源名称生成的。将本地已有资源的资源标识称为第二哈希值,第二哈希值是根据本地已有资源的名称生成的。
具体的,电子设备可以比对本地已有资源名称的第二哈希值与资源管理表中资源信息包括的第一哈希值;若第二哈希值中不包括第一哈希值,则根据第一哈希值确定目标资源。
进一步的,若第二哈希值中不包括第一哈希值,则可以认为本地已有资源中缺失该第一哈希值对应的资源,因此,可以将第一哈希值对应的资源确定为目标资源。该缺失的目标资源具体可以是包括第一哈希值的资源信息所对应的资源。
步骤302B,根据本地已有资源的资源标识、资源内容以及资源管理表中资源信息包括的资源标识、资源内容标识,确定资源标识相同但资源内容标识不同的目标资源。
其中,资源信息还包括资源内容标识。即在一种实施方式中,资源信息中可以包括资源标识、资源内容标识。
具体的,资源标识可以根据资源名称生成,资源内容标识可以根据资源内容生成。例如,可以根据资源内容计算哈希值,将该哈希值作为资源内容标识,具体可以读取资源的全部内容计算得到的哈希值,此哈希值的计算可以采用MD5算法。
在客户端提供方制作资源文件时,可以设置各个资源对应的优先级,并将其记录到资源管理列表中。
进一步的,电子设备可以比对本地已有资源的资源标识与资源管理列表中资源信息包括的资源标识,还可以根据本地已有资源的内容生成本地资源内容标识,并比对本地资源内容标识与资源管理列表中资源信息包括的资源内容标识。
实际应用时,若本地已有资源与资源管理列表中一资源信息的资源标识相同,但是资源内容标识不同,则可以认为本地已有的该资源为错误资源,从而可以将其作为一目标资源重新下载。
例如,本地已有资源的资源标识为A,资源管理列表中一资源信息的资源标识也为A,电子设备可以进一步的比对本地已有资源A的资源内容标识与包括资源标识A的资源信息中的资源内容标识,从而确定二者资源内容是否相同,若资源标识、资源内容标识均相同,则不需要下载该资源,否则,该资源为需要下载的目标资源。
在实际应用时,可以只设置步骤302A、302B中的一种,也可以两种都设置,具体可以根据需求设置。
步骤303,根据目标资源对应的资源优先级,在目标资源中确定最终需要下载的下载资源,并从服务器中下载所述下载资源。
其中,资源信息中还可以包括资源优先级。
确定出目标资源后,电子设备还可以根据各个目标资源对应的资源优先级确定最终需要下载的下载资源。例如,在确定出的目标资源较多的情况下,可以根据优先级筛选最终需要下载的下载资源,从而避免单次下载资源量级过大,造成加载时间过长的问题。
优先级可以用数字来表示,也可以用高、中、低等等级来表示,电子设备可以根据优先级高低确定出下载资源。例如,将目标资源中预设数量个优先级较高的资源作为下载资源。优先级的划分可以根据需求进行设置,例如可以设置16个级别。
具体的,在客户端提供方制作资源文件时,可以设置各个资源对应的优先级,并将其记录到资源管理列表中。
进一步的,电子设备可以从服务器中下载最终确定的下载资源。例如,可以向服务器发送包括下载资源的资源标识、资源名称等信息的请求,从而使服务器下发下载资源。
例如,本步骤可以与步骤302A相结合,客户端的启动器可以遍历资源管理表里面的所有资源,找出本地不存在或者资源内容哈希值不同的子集,接着查看子集中每个资源标记的优先级,如果大于预先设定的优先级阈值,则将其作为下载资源添加到预下载列表中。
实际应用时,下载确定的下载资源时,可以先依据资源管理表中该资源对应的资源标识,比如哈希值计算出https下载链接,然后再拉取资源数据;更具体地,可采用http2.0协议,通过其中所支持的多路复用技术,保证大量资源文件并发拉取时的下载速度,降低程序的刷新延迟。
步骤304,根据资源信息中包括的图片资源信息确定布局信息。
在一种实施方式中,资源列表中的资源信息还可以包括图片资源信息。当一资源是图片资源时,可以在其对应的资源信息中记录该图片资源的基本信息,例如可以是图片格式、尺寸、布局信息等。
实际应用时,电子设备可以根据图片资源信息先确定布局信息,从而能够在未加载图片资源的情况下,根据布局信息生成用户界面。这种方式能够提高生成用户界面的速度,进而提高用户体验。
步骤305,根据本地已有资源、资源管理表中包括的资源信息,在本地已有资源中确定垃圾资源。
步骤306,删除本地的垃圾资源。
实际应用时,本申请提供的方法中,电子设备还可以基于下载的资源管理列表对本地已有资源进行管理,以降低本地资源占用的空间。
其中,电子设备可以根据本地已有资源、资源管理表中包括的资源信息,在本地已有资源中确定垃圾资源。电子设备具体可以根据本地已有资源、资源管理表中包括的资源信息,确定出本地存在的资源、但资源管理列表中不包括的资源。例如,电子设备可以比对已有资源的标识与资源管理表中资源信息包括的资源标识,若一资源标识在本地存在,但是在任一条资源信息中都不存在,则可以认为该资源标识对应的资源为垃圾资源。
具体的,随着客户端的更新,可能存在一些资源不再被使用。比如,游戏客户端中存在一场景,该场景中的图片在第一版本中为p1,在第二版本中被替换为p2,那么对于第二版客户端来说,p1为不再被使用的资源。这种情况下,会导致电子设备本地存储有不被使用的垃圾资源,这些资源占用了电子设备的本地存储空间,因此,可以对其进行清除处理。
一种实施方式中,可以直接删除垃圾资源,从而降低本地资源占用的存储空间。
可选的,还可以将垃圾资源的信息添加到垃圾清理列表中,并定期根据垃圾清理列表删除本地的垃圾资源。比如,可以将垃圾资源的标识添加到垃圾清理列表中,并每隔一段时间根据垃圾清理列表中记录的信息删除垃圾资源。
步骤307,当本地资源缓存达到预设阈值时,在本地已有资源中确定过期资源。
步骤308,删除本地的过期资源。
本申请提供的方法中,为了进一步对本地已有资源进行管理,还可以设置步骤307-308,从而清除电子设备本地存储的过期资源。
其中,当本地资源缓存达到预设阈值时,可以认为本地资源占用了较大的空间,此时,可以对其进行清除处理,以优化本地客户端。
具体的,电子设备可以在本地已有资源中确定过期资源。具体可以获取本地已有资源的访问时间,若一资源的访问时间距离当前时间超出预设间隔,则可以认为该资源为过期资源。例如,一个资源文件的访问时间为当前时间之前10天,则可以认为该资源是过期资源。
进一步的,电子设备还可以获取过期资源的信息,例如,可以获取过期资源的标识、存储位置等信息。
可选的,电子设备还可以将过期资源的信息记录在垃圾清理列表中,并定期根据垃圾清理列表删除本地的垃圾资源。比如,可以将垃圾资源的标识添加到垃圾清理列表中,并每隔一段时间根据垃圾清理列表中记录的信息删除垃圾资源。
实际应用时,电子设备还可以直接删除过期资源,以降低客户端资源在电子设备中占用的空间。
步骤309,若读取目标资源时,目标资源不存在或读取出错,则从服务器中重新下载目标资源。
其中,电子设备在运行客户端时,会加载从服务器中下载的目标资源,例如加载图片资源、动画等。若目标资源不存在,或者读取目标资源出错,则电子设备可以从服务器中重新下载该目标资源。
这种实施方式中,可以根据客户端运行的实际情况,随时下载需要的目标资源,从而能够提高客户端在电子设备中运行的稳定性。
步骤310,若读取目标资源时,对目标资源进行校验出错,则删除目标资源,并重新从服务器下载目标资源。
其中,电子设备在运行客户端时,会加载从服务器中下载的目标资源,例如加载图片资源、动画等。在加载过程中,还可以对目标资源进行校验,以确定目标资源是否正确,若校验出错,则电子设备可以删除该错误的目标资源,并从服务器中重新下载该目标资源。
这种实施方式中,可以根据客户端运行的实际情况,随时下载需要的目标资源,从而能够提高客户端在电子设备中运行的稳定性。
在一种可选的实施方式中,可以在客户端启动时,从服务器中下载资源管理表。
例如,用户操作电子设备从而使电子设备运行客户端,当客户端的启动器启动后,可以从服务器中下载资源管理列表。
电子设备可以根据资源管理列表确定出需要下载的目标资源,具体可以结合上述任一实施例来确定,电子设备还可以下载确定出的资源。
在从服务器中下载目标资源之后,还包括:运行客户端的进程。
其中,下载目标资源成功后,电子设备可以运行客户端的进程,具体在运行客户端时可以加载新下载的目标资源。
可选的,可以通过打包算法将下载的资源存放到本地缓存中。例如,缓存分为一个索引表文件,和M个数据块文件(M取1~255)。索引表文件分为头部、N个记录项(N为资源总数目)和尾部。索引表文件的头部包括特殊标记(4字节)、资源总数目(4字节);索引表文件的尾部为索引表文件内容的校验码,可采用MD5算法计算得到。索引表文件的每个记录项,记录每个资源的相关信息,包括资源标识,比如MD5码(16字节),所处的数据块文件编号(1字节),在其数据块文件中的以字节为单位的偏移量(4字节),资源所占据的字节大小(4字节)。
对于某个资源进行打包时,先获取其在资源表中的优先级字段,选取出对应编号的数据块文件中;然后,根据其资源的长度,在数据块文件所对应的分配表中获得能满足长度要求的空闲块,符合长度要求的空闲块可能有多个,这时则选取其中长度最短的;获得空闲块信息后,则根据其起始位置,将资源内存数据写入到对应的数据块文件对应的起始位置中;写入后,更新分配中的相关信息,包括修改该空闲块的起始位置、字节长度;最后,在索引表中添加表示该资源的记录项。
在运行客户端时,可以先读取索引表文件,检查特殊标记和校验码是否正确,如果不正确则退出报错,如果正确,则扫描所有的记录项,按照其所属的数据块文件构建出M张分配表,和数据块文件一一对应;在每张分配表中整理出数据块文件的空闲块信息,即每个空闲块的起始位置、字节长度。
在一种可选的实施方式中,在客户端启动时,电子设备还可以从服务器获取第一版本号。该第一版本号是服务器发布的客户端的版本号。电子设备可以比对第一版本号与本地客户端的第二版本号,若而这不一致,则电子设备可以从服务器中下载资源管理列表。
这种实施方式中,在电子设备本地客户端与服务器中发布的客户端版本不一致的情况下,电子设备才从服务器中下载资源管列表,并基于资源管理列表从服务器中下载目标资源,从而避免每次客户端启动时都需要下载资源管列表,造成客户端启动速度慢的问题。
可选的,若第一版本号与本地客户端的第二版本号不同,则电子设备还可以根据本地已有资源、所述资源管理表中包括的所述资源信息,在所述本地已有资源中确定垃圾资源;删除本地的所述垃圾资源;和/或,在本地已有资源中确定过期资源;删除本地的所述过期资源。
具体确定垃圾资源、过期资源的实现方式与步骤305-306、307-308中类似,不再赘述。
在一种可选的实施方式中,电子设备每次下载完目标资源后,可以记录从服务器下载目标资源的时间信息。比如,此次下载的时间为2020.4.10。在再次运行该客户端时,若根据当前时间与时间信息确定的时间间隔大于预设间隔,则电子设备从服务器中下载资源管理表。
这种实施方式中,预先设置有时间间隔,当下载目标资源的时间距离当前时间的间隔大于预设间隔时,可以认为服务器中有可能发布了新的资源,因此,可以使电子设备从服务器中下载资源管理表。这种方式能够避免频繁更新电子设备本地的资源,从而降低下载资源的次数。
可选的,根据当前时间与所述时间信息确定的时间间隔大于预设间隔,则电子设备还可以根据本地已有资源、所述资源管理表中包括的所述资源信息,在所述本地已有资源中确定垃圾资源;删除本地的所述垃圾资源;和/或,在本地已有资源中确定过期资源;删除本地的所述过期资源。
具体确定垃圾资源、过期资源的实现方式与步骤305-306、307-308中类似,不再赘述。
在一种可选的实施方式中,资源管理表包括的各个资源信息中,包括以下至少一种信息:
资源标识、资源内容标识、资源优先级。
图4为本申请一示例性实施例示出的资源下载装置的结构图。
如图4所示,本实施例提供的资源下载装置,包括:
资源表下载模块41,用于从服务器中下载资源管理表;其中,所述资源管理表中包括资源信息;
确定模块42,用于根据本地已有资源、所述资源管理表中包括的所述资源信息确定需要下载的目标资源;
资源下载模块43,用于从所述服务器中下载所述目标资源。
本实施例提供的资源下载装置,包括:资源表下载模块,用于从服务器中下载资源管理表;其中,资源管理表中包括资源信息;确定模块,用于根据本地已有资源、资源管理表中包括的资源信息确定需要下载的目标资源;资源下载模块,用于从服务器中下载目标资源。本实施例提供的装置中,可以根据资源管理列表确定需要下载的目标资源,能够有针对性的进行下载,避免更新客户端时需要下载的资源量过大,进而造成更新成本高的问题。
本实施例提供的资源下载装置的具体原理和实现方式均与图2所示的实施例类似,此处不再赘述。
图5为本申请另一示例性实施例示出的资源下载装置的结构图。
如图5所示,在上述实施例的基础上,本实施例提供的资源下载装置,可选的,所述资源信息包括资源标识;所述确定模块42包括缺失资源确定单元421,用于:
根据本地已有资源的资源标识、所述资源管理表中包括的所述资源信息的资源标识,确定本地不存在的所述目标资源。
可选的,所述资源标识为资源名称的哈希值;
所述缺失资源确定单元421具体用于:
比对本地已有资源名称的第二哈希值与所述资源管理表中所述资源信息包括的第一哈希值;
若所述第二哈希值中不包括所述第一哈希值,则根据所述第一哈希值确定所述目标资源。
可选的,所述资源信息还包括资源内容标识;所述确定模块42包括错误资源确定单元422,用于:
根据本地已有资源的资源标识、资源内容以及所述资源管理表中的所述资源信息包括的资源标识、资源内容标识,确定资源标识相同但资源内容标识不同的所述目标资源。
可选的,所述资源信息中包括图片资源信息;
所述装置还包括布局模块44,用于:
根据所述资源信息中包括的所述图片资源信息确定布局信息。
可选的,所述资源信息包括资源优先级;所述资源下载模块43具体用于:
根据所述目标资源对应的资源优先级,在所述目标资源中确定最终需要下载的下载资源,并从所述服务器中下载所述下载资源。
可选的,所述装置还包括垃圾资源清理模块45,用于:
根据本地已有资源、所述资源管理表中包括的所述资源信息,在所述本地已有资源中确定垃圾资源;
删除本地的所述垃圾资源。
可选的,所述装置还包括过期资源清理模块46,用于:
当本地资源缓存达到预设阈值时,在本地已有资源中确定过期资源;
删除本地的所述过期资源。
可选的,所述资源下载模块43还用于:
若读取所述目标资源时,所述目标资源不存在或读取出错,则从所述服务器中重新下载所述目标资源。
可选的,所述资源下载模块43还用于:
若读取所述目标资源时,对所述目标资源进行校验出错,则删除所述目标资源,并重新从所述服务器下载所述目标资源。
可选的,所述资源表下载模块41具体用于:
在客户端启动时,从服务器中下载资源管理表;
所述装置还包括运行模块,用于在所述资源下载模块从所述服务器中下载所述目标资源之后,运行所述客户端的进程。
可选的,所述资源表下载模块41在从服务器中下载资源管理表之前,还用于:
在客户端启动时,从所述服务器获取第一版本号;
若所述第一版本号与本地客户端的第二版本号不同,则执行从所述服务器中下载资源管理表的步骤。
可选的,若所述第一版本号与本地客户端的第二版本号不同,所述方法还包括:
根据本地已有资源、所述资源管理表中包括的所述资源信息,在所述本地已有资源中确定垃圾资源;
删除本地的所述垃圾资源;
和/或,在本地已有资源中确定过期资源;
删除本地的所述过期资源。
可选的,所述装置还包括记录模块47,用于记录从所述服务器下载所述目标资源的时间信息;
在再次运行客户端时,若所述资源表下载模块41根据当前时间与所述时间信息确定的时间间隔大于预设间隔,则执行所述从服务器中下载资源管理表的步骤。
可选的,若根据当前时间与所述时间信息确定的时间间隔大于预设间隔,所述方法还包括:
根据本地已有资源、所述资源管理表中包括的所述资源信息,在所述本地已有资源中确定垃圾资源;
删除本地的所述垃圾资源;
和/或,在本地已有资源中确定过期资源;
删除本地的所述过期资源。
可选的,所述资源信息包括以下至少一种信息:
资源标识、资源内容标识、资源优先级。
本实施例提供的资源下载装置的具体原理和实现方式均与图3所示的实施例类似,此处不再赘述。
图6为本申请一示例性实施例示出的资源下载设备的结构图。
如图6所示,本实施例提供的资源下载设备包括:
存储器61;
处理器62;以及
计算机程序;
其中,所述计算机程序存储在所述存储器61中,并配置为由所述处理器62执行以实现如上所述的任一种资源下载方法。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,
所述计算机程序被处理器执行以实现如上所述的任一种资源下载方法。
本实施例还提供一种计算机程序,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如上所述的任一种资源下载方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (19)

1.一种资源下载方法,其特征在于,包括:
从服务器中下载资源管理表;其中,所述资源管理表中包括资源信息;
根据本地已有资源、所述资源管理表中包括的所述资源信息确定需要下载的目标资源;
从所述服务器中下载所述目标资源。
2.根据权利要求1所述的方法,其特征在于,所述资源信息包括资源标识;所述根据本地已有资源、所述资源管理表中包括的所述资源信息确定需要下载的目标资源,包括:
根据本地已有资源的资源标识、所述资源管理表中包括的所述资源信息的资源标识,确定本地不存在的所述目标资源。
3.根据权利要求2所述的方法,其特征在于,所述资源标识为资源名称的哈希值;
所述根据本地已有资源的资源标识、所述资源管理表中包括的所述资源信息的资源标识,确定本地不存在的所述目标资源,包括:
比对本地已有资源名称的第二哈希值与所述资源管理表中所述资源信息包括的第一哈希值;
若所述第二哈希值中不包括所述第一哈希值,则根据所述第一哈希值确定所述目标资源。
4.根据权利要求2所述的方法,其特征在于,所述资源信息还包括资源内容标识;所述根据本地已有资源的资源标识、所述资源管理表中包括的所述资源信息的资源标识,确定本地不存在的所述目标资源,包括:
根据本地已有资源的资源标识、资源内容以及所述资源管理表中的所述资源信息包括的资源标识、资源内容标识,确定资源标识相同但资源内容标识不同的所述目标资源。
5.根据权利要求1所述的方法,其特征在于,所述资源信息中包括图片资源信息;
所述方法还包括:
根据所述资源信息中包括的所述图片资源信息确定布局信息。
6.根据权利要求1所述的方法,其特征在于,所述资源信息包括资源优先级;所述从所述服务器中下载所述目标资源,包括:
根据所述目标资源对应的资源优先级,在所述目标资源中确定最终需要下载的下载资源,并从所述服务器中下载所述下载资源。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
根据本地已有资源、所述资源管理表中包括的所述资源信息,在所述本地已有资源中确定垃圾资源;
删除本地的所述垃圾资源。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
当本地资源缓存达到预设阈值时,在本地已有资源中确定过期资源;
删除本地的所述过期资源。
9.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
若读取所述目标资源时,所述目标资源不存在或读取出错,则从所述服务器中重新下载所述目标资源。
10.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
若读取所述目标资源时,对所述目标资源进行校验出错,则删除所述目标资源,并重新从所述服务器下载所述目标资源。
11.根据权利要求1-6任一项所述的方法,其特征在于,所述从服务器中下载资源管理表,包括:
在客户端启动时,从服务器中下载资源管理表;
在从所述服务器中下载所述目标资源之后,还包括:运行所述客户端的进程。
12.根据权利要求1-6任一项所述的方法,其特征在于,在所述从服务器中下载资源管理表之前,还包括:
在客户端启动时,从所述服务器获取第一版本号;
若所述第一版本号与本地客户端的第二版本号不同,则执行从所述服务器中下载资源管理表的步骤。
13.根据权利要求12所述的方法,其特征在于,若所述第一版本号与本地客户端的第二版本号不同,所述方法还包括:
根据本地已有资源、所述资源管理表中包括的所述资源信息,在所述本地已有资源中确定垃圾资源;
删除本地的所述垃圾资源;
和/或,在本地已有资源中确定过期资源;
删除本地的所述过期资源。
14.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
记录从所述服务器下载所述目标资源的时间信息;
在再次运行客户端时,若根据当前时间与所述时间信息确定的时间间隔大于预设间隔,则执行所述从服务器中下载资源管理表的步骤。
15.根据权利要求14所述的方法,其特征在于,若根据当前时间与所述时间信息确定的时间间隔大于预设间隔,所述方法还包括:
根据本地已有资源、所述资源管理表中包括的所述资源信息,在所述本地已有资源中确定垃圾资源;
删除本地的所述垃圾资源;
和/或,在本地已有资源中确定过期资源;
删除本地的所述过期资源。
16.根据权利要求1-6任一项所述的方法,其特征在于,所述资源信息包括以下至少一种信息:
资源标识、资源内容标识、资源优先级。
17.一种资源下载装置,其特征在于,包括:
资源表下载模块,用于从服务器中下载资源管理表;其中,所述资源管理表中包括资源信息;
确定模块,用于根据本地已有资源、所述资源管理表中包括的所述资源信息确定需要下载的目标资源;
资源下载模块,用于从所述服务器中下载所述目标资源。
18.一种资源下载设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现如权利要求1-16任一种所述的方法。
19.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,
所述计算机程序被处理器执行以实现如权利要求1-16任一种所述的方法。
CN202010377053.0A 2020-05-07 2020-05-07 资源下载方法、装置、设备及计算机可读存储介质 Active CN111586170B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010377053.0A CN111586170B (zh) 2020-05-07 2020-05-07 资源下载方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010377053.0A CN111586170B (zh) 2020-05-07 2020-05-07 资源下载方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111586170A true CN111586170A (zh) 2020-08-25
CN111586170B CN111586170B (zh) 2023-05-23

Family

ID=72112057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010377053.0A Active CN111586170B (zh) 2020-05-07 2020-05-07 资源下载方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111586170B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113110851A (zh) * 2021-06-15 2021-07-13 北京易真学思教育科技有限公司 资源的加载方法、装置、电子设备和介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021971A1 (en) * 2003-07-23 2005-01-27 Microsoft Corporation Application identification and license enforcement
CN101187884A (zh) * 2007-12-06 2008-05-28 北京金山软件有限公司 资源管理方法和资源管理系统
CN101626391A (zh) * 2008-07-08 2010-01-13 盛大计算机(上海)有限公司 网络游戏客户端资源处理方法
US20100235509A1 (en) * 2007-06-01 2010-09-16 Alibaba Group Holding Limited Method, Equipment and System for Resource Acquisition
US20120089841A1 (en) * 2010-10-06 2012-04-12 International Business Machines Corporation Digital signatures of composite resource documents
CN102833293A (zh) * 2011-06-17 2012-12-19 腾讯科技(深圳)有限公司 P2sp网络中资源下载的方法及客户端
CN103605577A (zh) * 2013-12-04 2014-02-26 广州博冠信息科技有限公司 跨进程的资源共享方法和设备
CN104283933A (zh) * 2013-07-12 2015-01-14 腾讯科技(深圳)有限公司 下载数据的方法、客户端及系统
CN107203395A (zh) * 2017-05-19 2017-09-26 北京京东尚科信息技术有限公司 资源升级方法、装置及计算机可读存储介质和电子设备
CN107547629A (zh) * 2017-07-20 2018-01-05 北京京东尚科信息技术有限公司 客户端静态资源下载的方法、装置、电子设备和可读介质
CN108549673A (zh) * 2018-03-29 2018-09-18 优视科技有限公司 网页资源的预加载方法、客户端、服务器及网络系统
US20190108168A1 (en) * 2014-03-07 2019-04-11 Hewlett-Packard Development Company, L.P. System for suggesting network resource for use by a network terminal based on network resource ranking
CN109995863A (zh) * 2019-03-29 2019-07-09 北京金山安全软件有限公司 一种动态资源下载方法、装置、电子设备及存储介质
CN110866198A (zh) * 2019-09-27 2020-03-06 上海硬通网络科技有限公司 静态资源缓存方法、系统、装置、计算机设备和存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021971A1 (en) * 2003-07-23 2005-01-27 Microsoft Corporation Application identification and license enforcement
US20100235509A1 (en) * 2007-06-01 2010-09-16 Alibaba Group Holding Limited Method, Equipment and System for Resource Acquisition
CN101187884A (zh) * 2007-12-06 2008-05-28 北京金山软件有限公司 资源管理方法和资源管理系统
CN101626391A (zh) * 2008-07-08 2010-01-13 盛大计算机(上海)有限公司 网络游戏客户端资源处理方法
US20120089841A1 (en) * 2010-10-06 2012-04-12 International Business Machines Corporation Digital signatures of composite resource documents
CN102833293A (zh) * 2011-06-17 2012-12-19 腾讯科技(深圳)有限公司 P2sp网络中资源下载的方法及客户端
CN104283933A (zh) * 2013-07-12 2015-01-14 腾讯科技(深圳)有限公司 下载数据的方法、客户端及系统
CN103605577A (zh) * 2013-12-04 2014-02-26 广州博冠信息科技有限公司 跨进程的资源共享方法和设备
US20190108168A1 (en) * 2014-03-07 2019-04-11 Hewlett-Packard Development Company, L.P. System for suggesting network resource for use by a network terminal based on network resource ranking
CN107203395A (zh) * 2017-05-19 2017-09-26 北京京东尚科信息技术有限公司 资源升级方法、装置及计算机可读存储介质和电子设备
CN107547629A (zh) * 2017-07-20 2018-01-05 北京京东尚科信息技术有限公司 客户端静态资源下载的方法、装置、电子设备和可读介质
CN108549673A (zh) * 2018-03-29 2018-09-18 优视科技有限公司 网页资源的预加载方法、客户端、服务器及网络系统
CN109995863A (zh) * 2019-03-29 2019-07-09 北京金山安全软件有限公司 一种动态资源下载方法、装置、电子设备及存储介质
CN110866198A (zh) * 2019-09-27 2020-03-06 上海硬通网络科技有限公司 静态资源缓存方法、系统、装置、计算机设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YI SUN ET.AL.: "Network optimization for DHT-based applications", 2012 PROCEEDINGS IEEE INFOCOM *
朱承,张维明,刘忠,徐振宁: "一种基于资源类型的网格资源发现方法", 计算机研究与发展 *
杨惠婷: "存储转发式应用层网关缓存管理技术研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113110851A (zh) * 2021-06-15 2021-07-13 北京易真学思教育科技有限公司 资源的加载方法、装置、电子设备和介质

Also Published As

Publication number Publication date
CN111586170B (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
US9286059B2 (en) Information processing device and difference generating for software patching system
CN105511889B (zh) 一种通用的游戏版本增量更新系统和方法
US7849462B2 (en) Image server
US8073926B2 (en) Virtual machine image server
CN110489059B (zh) 数据集群存储的方法、装置及计算机设备
US20170031948A1 (en) File synchronization method, server, and terminal
CN109908585B (zh) 一种文件处理方法及系统、计算设备及存储介质
CN111045715A (zh) 一种云游戏的热更新方法、系统和可读存储介质
CN105373396A (zh) 插件平台中的插件更新方法和装置
CN106371875B (zh) 一种基于html5的手机应用更新方法
CN112114849B (zh) 一种资源更新方法和装置
US10166467B2 (en) Information processing device, data structure of game data, and recording medium
US20150126288A1 (en) Information processing device, program, and recording medium
CN111367558B (zh) 一种应用程序的数据更新方法和装置
WO2010115325A1 (zh) 分布式文件系统中业务内容处理、更新方法与装置
CN110362338B (zh) 一种在移动平台下的游戏资源打包和资源快速访问方法
CN112948026A (zh) 热点代码处理方法、装置、服务器、电子设备及存储介质
CN104866339A (zh) Fota数据的分布式持久化管理方法、系统和装置
CN111586170B (zh) 资源下载方法、装置、设备及计算机可读存储介质
US20150126283A1 (en) Information processing device, data structure of game data, and recording medium
CN112882746B (zh) 应用程序的更新方法、装置、存储介质及计算机设备
CN112799737B (zh) 游戏资源的处理方法、装置、处理器和存储介质
CN112000850A (zh) 进行数据处理的方法、装置、系统及设备
CN111475474B (zh) 一种视频文件缓存处理模块及处理方法
CN110007937B (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