CN107181804A - 资源的下载方法和装置 - Google Patents

资源的下载方法和装置 Download PDF

Info

Publication number
CN107181804A
CN107181804A CN201710380406.0A CN201710380406A CN107181804A CN 107181804 A CN107181804 A CN 107181804A CN 201710380406 A CN201710380406 A CN 201710380406A CN 107181804 A CN107181804 A CN 107181804A
Authority
CN
China
Prior art keywords
resource
server
information
downloaded
caching 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
CN201710380406.0A
Other languages
English (en)
Other versions
CN107181804B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710380406.0A priority Critical patent/CN107181804B/zh
Publication of CN107181804A publication Critical patent/CN107181804A/zh
Application granted granted Critical
Publication of CN107181804B publication Critical patent/CN107181804B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种资源的下载方法和装置。其中,该方法包括:接收到指示对第一资源进行下载的指令,第一资源是与目标应用相关的资源;在下载第一资源之前,判断第一资源与缓存服务器上缓存的第二资源是否相同,第二资源为终端向源服务器请求第一资源之后,缓存服务器转发源服务器发送的第一资源至终端时,对转发的第一资源进行缓存得到的;在第二资源与第一资源相同的情况下,从缓存服务器下载第二资源;在第二资源与第一资源不相同的情况下,从源服务器下载第一资源。本发明解决了相关技术中用户下载资源时需要消耗较多流量的技术问题。

Description

资源的下载方法和装置
技术领域
本发明涉及互联网领域,具体而言,涉及一种资源的下载方法和装置。
背景技术
下载器是一种用于下载特定应用(如游戏、工具软件等)的辅助下载工具,下载器可以根据用户的权限进行分类,通常有蓝钻下载器、会员下载器等,这些类型的下载器根据用户权限采用不同的下载方式(如下载速度不同)。
对于传统的游戏下载器而言,即在将游戏客户端文件上传到CDN的后台服务器之后,游戏下载器启动时会先向后台服务器请求需要下载的文件及MD5,若请求不到则使用下载器内部配置的文件的链接进行下载,下载完毕后利用配置的MD5校验下载的文件是否正确,如果失败则会重新下载。
当用户跨运营商请求游戏下载资源时,用户所在的运营商需要向目的运营商支付相应的带宽费用,由于运营商间业务竞争发展不均衡及网间结算的关系等等原因,小运营商(即用户所在的运营商)需要向电信、联通支付的网间结算费用很高,为了降低成本,这些小运营商会建立缓存服务器,在客户端请求服务端数据时,将玩家的数据请求劫持到缓存服务器,也即将对应的游戏下载资源(游戏安装包)缓存到缓存服务器上,这种情况对业务能够产生诸多好处,一方面用户下载安装包的速度增加了,另一方面由于数据是在用户ISP(Internet Service Provider,即互联网服务提供商)网内传输,而不通过CDN服务器,从而降低了一部分服务的成本。但是,在某些情况下,如缓存策略异常可能导致玩家下载的文件错误,甚者,部分运营商直接劫持到了错误的资源,导致客户端下载的资源根本不对,在下载完毕后需要利用配置的MD5校验下载的文件是否正确,如果失败则会重新下载,从而导致无限制的重复下载,浪费了用户的带宽和流量。
针对相关技术中用户下载资源时需要消耗较多流量的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种资源的下载方法和装置,以至少解决相关技术中用户下载资源时需要消耗较多流量的技术问题。
根据本发明实施例的一个方面,提供了一种资源的下载方法,该下载方法包括:接收到指示对第一资源进行下载的指令,其中,第一资源是与目标应用相关的资源;在下载第一资源之前,判断第一资源与缓存服务器上缓存的第二资源是否相同,其中,第二资源为终端向源服务器请求第一资源之后,缓存服务器转发源服务器发送的第一资源至终端时,对转发的第一资源进行缓存得到的;在第二资源与第一资源相同的情况下,从缓存服务器下载第二资源;在第二资源与第一资源不相同的情况下,从源服务器下载第一资源。
根据本发明实施例的另一方面,还提供了一种资源的下载装置,该下载装置包括:接收单元,用于接收到指示对第一资源进行下载的指令,其中,第一资源是与目标应用相关的资源;第一判断单元,用于在下载第一资源之前,判断第一资源与缓存服务器上缓存的第二资源是否相同,其中,第二资源为终端向源服务器请求第一资源之后,缓存服务器转发源服务器发送的第一资源至终端时,对转发的第一资源进行缓存得到的;第一下载单元,用于在第二资源与第一资源相同的情况下,从缓存服务器下载第二资源;第二下载单元,用于在第二资源与第一资源不相同的情况下,从源服务器下载第一资源。
在本发明实施例中,接收到指示对第一资源进行下载的指令,其中,第一资源是与目标应用相关的资源;在下载第一资源之前,判断第一资源与缓存服务器上缓存的第二资源是否相同,其中,第二资源为终端向源服务器请求第一资源之后,缓存服务器转发源服务器发送的第一资源至终端时,对转发的第一资源进行缓存得到的;在第二资源与第一资源相同的情况下,从缓存服务器下载第二资源;在第二资源与第一资源不相同的情况下,从源服务器下载第一资源,以保证始终下载到正确的资源,而不会出现因为下载到不正确的资源而重复下载的情况,可以解决相关技术中用户下载资源时需要消耗较多流量的技术问题,进而达到避免用户下载资源时因为下载了错误的资源而需要消耗较多流量的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的资源的下载方法的硬件环境的示意图;
图2是根据本发明实施例的一种可选的资源的下载方法的流程图;
图3是根据本发明实施例的可选的资源的下载客户端的示意图;
图4是根据本发明实施例的一种可选的资源的下载方法的流程图;
图5是根据本发明实施例的可选的资源的下载客户端的示意图;
图6是根据本发明实施例的一种可选的资源的下载方法的流程图;
图7是根据本发明实施例的一种可选的资源的下载装置的示意图;以及
图8是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
tenioDL:一种游戏下载引擎,支持p2p(即点对点)下载、预下载、带宽集中控制、下载校验等功能。
CDN:内容分发网络(Content delivery network或Contentdistributionnetwork),是一种通过互联网互相连接的电脑网络系统,可利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序等其他资源内容发送给用户,以此来提供高性能、可扩展性及低成本的网络内容传递。
MD5:Message-Digest Algorithm 5(信息-摘要算法5),可以使用此算法计算文件的指纹(MD5值),一旦文件更改,文件的MD5就会改变,因此可以使用此算法来监测文件是否被更改。
HTTP:HyperText Transfer Protocol,超文本传输协议,是互联网上最常见的一种协议,通过HTTP协议,可以请求相应的文本、图片视频及其他资源,CDN一般用HTTP协议进行内容分发。
URL:Universal Resource Locator,统一资源定位符,用于唯一标识互联网上的某一资源,也称为被网络地址。
HTTPS:Hypertext Transfer Protocol Secure,超文本安全传输协议。HTTPS协议仍然采用HTTP协议来交换数据,只是在传输的过程中使用SSL/TLS协议来对数据包进行加密,除了客户端和服务器,其他节点都无法知道传输内容,保证了数据传输的安全性和完整性。
HTTP劫持:由于HTTP协议没有对传输内容进行加密,会导致客户端与服务端中间路径的任何一个节点都可以看到并篡改传输的数据,即HTTP劫持。
实施例1
根据本发明实施例,提供了一种资源的下载方法的方法实施例。
可选地,在本实施例中,上述资源的下载方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的资源的下载方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的资源的下载方法也可以是由安装在其上的客户端来执行。
例如,上述方法可以由终端来执行,在终端上下载资源时,利用终端上的游戏下载器进行资源下载,当用户在下载器上选择需要下载的第一资源时,对于终端而言,相当于接收到指示对第一资源进行下载的指令,终端在下载第一资源之前,判断第一资源与缓存服务器上缓存的第二资源是否相同,第二资源为终端向源服务器请求第一资源之后,缓存服务器转发源服务器发送的第一资源至终端时,对转发的第一资源进行缓存得到的;在第二资源与第一资源相同的情况下,终端从缓存服务器下载缓存的第二资源;在第二资源与第一资源不相同的情况下,终端从源服务器下载第一资源。
下面结合图2详述本申请的实施例,图2是根据本发明实施例的一种可选的资源的下载方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,接收到指示对第一资源进行下载的指令,第一资源是与目标应用相关的资源;
步骤S204,在下载第一资源之前,判断第一资源与缓存服务器上缓存的第二资源是否相同,第二资源为终端向源服务器请求第一资源之后,缓存服务器转发源服务器发送的第一资源至终端时,对转发的第一资源进行缓存得到的;
步骤S206,在第二资源与第一资源相同的情况下,从缓存服务器下载第二资源;
步骤S208,在第二资源与第一资源不相同的情况下,从源服务器下载第一资源。
通过上述步骤S202至步骤S208,通过在下载第一资源之前,判断第一资源与缓存服务器上缓存的第二资源是否相同,可以对第二资源进行预校验,判断该资源是否为正确的资源,若是则从缓存服务器下载第二资源,否则从源服务器下载第一资源,以保证始终下载到正确的资源,而不会出现因为下载到不正确的资源而重复下载的情况,可以解决相关技术中用户下载资源时需要消耗较多流量的技术问题,进而达到避免用户下载资源时因为下载了错误的资源而需要消耗较多流量的技术效果。
上述的方法可以在终端上执行,该终端可以是手机、台式电脑、笔记本、平板等能够运行游戏的智能终端,具体可以将上述方法集成到终端上用于下载资源的下载器上。
上述的第一资源为执行与目标应用(游戏应用)相关的操作时所使用的资源,此处的操作包括安装游戏客户端、运行游戏客户端中的游戏等与游戏相关的操作,资源(如上述第一资源和第二资源)为安装游戏客户端所需的资源(如游戏安装包、安装游戏客户端的过程中需要使用的与游戏具有依赖关系的资源文件等)、运行游戏客户端时需要使用的资源(如进行客户端更新的资源文件、更新游戏中场景或角色等所使用的资源文件等)。为了前后描述的统一,本申请后续内容中以游戏安装包为例进行说明。
上述的源服务器为游戏服务提供商的服务器(也即CDN网络中的服务器),缓存服务器是专门为当前用户提供服务的运营商(与前述源服务器所在的运营商不同)所使用的服务器。
下载器(如图3所示)通过tenioDL实现游戏客户端的下载,下载的流程具体如图4所示:
步骤S402,在判断第一资源与缓存服务器上缓存的第二资源是否相同之前,可以预先从后台服务器获取用于描述第一资源的资源信息(如安装包的相关信息)。该资源信息是与资源相关的信息,如资源文件的资源特征(如资源大小、资源属性、资源类型、资源编号、资源名称等)和资源片段(即组成资源的小片段)。
步骤S404,当用户在下载客户端中选择待下载的第一资源时,终端通过缓存服务器向源服务器请求第一资源。
步骤S406,缓存服务器在接收到请求下载第一资源的请求时,由于下载器请求采用HTTP协议进行文件资源的传输,而HTTP协议是明文的,缓存服务器能够知晓所请求传输的应用资源(如游戏安装包),此时会劫持该请求,而不会将该请求转发给源服务器。
由于HTTP协议是明文的,链路中的任何一个节点都可以看到请求的内容,部分小运营商为了降低网络之间的结算成本会将下载资源劫持到自己的缓存服务器,如果缓存的文件异常,一方面浪费了时间,还会因为文件错误而导致用户无法正常安装下载的安装文件。
步骤S408,缓存服务器将预先缓存的资源(即游戏安装包返回给终端)。
对于终端而言,在下载完成后,下载器计算各个资源文件的MD5,并将计算的MD5与配置中正确的MD5进行比对,如果二者一致则认为下载成功,此时可以启动客户端安装程序;如果不一致,则会重新下载不一致的文件,如果再不一致则说明文件被劫持,由于此时的MD5仍然不正确,已经没必要重复下载了,但是下载器仍然可能进行重复下载,进而大量的浪费了用户的流量和带宽,严重影响了用户的游戏体验。
在本申请中,提供了一种可以在下载器上实现的下载前预先校验并自动切换下载协议的解决方案,使用具备该功能的下载器可以快速的在下载前进行数据预校验、对校验失败的文件采取切换HTTPS协议进行下载,确保了用户方便快捷的下载正确的安装包,彻底解决了下载过程中的文件损坏、被劫持等各种问题。下面分别对步骤S202至步骤S208进行详述。
在步骤S202提供的技术方案中,当用户如图3所示的客户端进行点击“开始下载”的操作时,终端会接收到上述操作触发的用于指示对第一资源进行下载的指令,在下载的过程中,显示所下载游戏的游戏名称,下载进度(如完成90%)等。
在判断第一资源与缓存服务器上缓存的第二资源是否相同之前,可以预先获取第一资源的资源信息和第二资源的资源信息。
可选地,可以在制作下载器的时候提前将文件大小(即第一游戏的资源特征和资源片段)保存在下载器里,获取用于描述第一资源的资源信息时,直接从下载器中获取。
也可以让终端预先向后台服务器发送HEAD请求,并接收后台服务器响应HEAD请求所返回的用于指示第一资源的资源特征的信息;终端向后台服务器发送GET请求,并接收后台服务器响应GET请求所返回的第一资源中预设位置的资源片段,GET请求中携带有用于指示预设位置的RANGE参数。
可选地,获取第二资源的资源信息时,可以通过上述第二种获取第一资源的资源信息的方式获取,终端向缓存服务器发送HEAD请求,并接收缓存服务器响应HEAD请求所返回的用于指示第二资源的资源特征的信息;并向缓存服务器发送GET请求,并接收缓存服务器响应GET请求所返回的第二资源中预设位置的资源片段,GET请求中携带有用于指示预设位置的RANGE参数。
在步骤S204提供的技术方案中,在判断第一资源与缓存服务器上缓存的第二资源是否相同时,终端向缓存服务器获取用于描述第二资源的资源信息,以实现预校正,避免下载到错误的资源。
在进行预校正时,即终端判断第一资源与缓存服务器上缓存的第二资源是否相同时,通过第一资源的资源信息和第二资源的资源信息判断第一资源与第二资源是否相同,在第一资源的资源信息和第二资源的资源信息匹配的情况下,判断出第一资源与第二资源相同,否则不相同。
可选地,可以通过如下方式判断第一资源的资源信息和第二资源的资源信息是否匹配:
首先,判断第一资源的资源特征与第二资源的资源特征是否相同,以资源特征为游戏大小为例,在HTTP协议中,HEAD请求只会请求资源的头部,里面包含有文件的大小,也即下载之前预先获取文件的大小,所以,可以使用HEAD请求来得到文件的大小,然后与下载器中配置大小比对,如果不对则证明文件被劫持。
其次,判断第一资源中和第二资源中相同位置的资源片段是否相同,在判断出第一资源的资源特征与第二资源的资源特征相同,且第一资源中和第二资源中相同位置的资源片段相同的情况下,确定第一资源的资源信息和第二资源的资源信息匹配,否则不匹配。在HTTP协议中,可通过GET请求的RANGE参数来下载文件的部分内容(即资源片段),该参数经常在断点续传等情况下使用,可以利用这一特性来实现文件采样、校验。
在生成下载器的时候,对需要下载的文件进行采样,取得文件的特定段的数据,保存在下载器中。在对缓存服务器中资源文件进行文件下载前,可以使用RANGE参数下载文件指定片段的数据,下载完毕后与下载器中数据进行比对,若不一致,则必定异常,直接采用HTTPS方式下载,若一致,则很有可能是正常的。
在步骤S206提供的技术方案中,在第二资源与第一资源相同的情况下,从缓存服务器下载第二资源,终端具体可以使用明文的HTTP协议从缓存服务器下载第二资源。也即在预校验通过之后,可以保证下载到的第二资源是正确的资源的概率较大,此时终端可以HTTP协议下载。
在从缓存服务器下载第二资源之后,需要再校验MD5,具体是判断用于唯一标识第一资源的第一杂凑值MD5与用于唯一标识第二资源的第二杂凑值MD5是否相同;在判断出第一杂凑值与第二杂凑值不相同的情况下,从源服务器下载第一资源,也即在MD5异常的情况下再使用HTTPS方式下载。
在本申请的实施例中,可以在下载管理平台配置如表1所示的校对信息,如资源文件的文件名、文件大小、杂凑值MD5、RANGE采样段等信息。
表1
文件名 文件大小 MD5 RANGE采样段
xxxx.7z.1 1500000000 5D14512F 5afd124
可选地,在判断出第二资源与第一资源不相同之后,或在判断出第一资源的第一杂凑值与第二资源的第二杂凑值不相同之后,终端反馈缓存服务器的服务器标识和第一资源的资源标识至管理服务器,其中,管理服务器用于指示缓存服务器将缓存的第二资源替换为第一资源。
对于资源特征校验、资源片段校验及MD5校验中各个流程校验失败的失败信息,可以直接上报到后台数据平台,然后录入数据库DB,可以实时分析各个省份、运营商的下载失败情况,针对下载错误比较多的运营商,可以直接联系运营商进行调整,一种可选的数据上报格式如下:时间、QQ号、错误阶段、用户外网IP、最终下载服务器IP、文件大小、文件采样、文件MD5、正确大小、正确采样、正确MD5。将这些数据加载到数据分析平台进行实时分析汇总,汇总出各个省份、运营商的情况,然后可以直接联系运营商进行检查处理。
在步骤S208提供的技术方案中,在从源服务器下载第一资源时,终端可使用HTTPS协议从源服务器下载第一资源。也即,终端发送的是加密的HTTPS请求,此时由于缓存服务器无法通过该加密的请求知晓终端实际请求的游戏安装包,就不会劫持请求,从而避免了出现缓存服务器劫持终端的请求这一情况,在缓存服务器将请求转发送到目的地的源服务器,由源服务器下发第一资源至终端。
通过本申请的实施例,可以确保玩家下载到正确的游戏客户端安装包,提高游戏的下载成功率;采用HEAD和RANGE等方法优化下载流程,在避免劫持的情况下,还可以让玩家更快的下载正确的游戏客户端安装包,提升了下载的体验;进行全面统一的数据上报,可更快的定位到下载失败的省份、运营商,直接反馈给运营商,更快更高效的解决问题。
作为一种可选的实施例,下面从产品侧详述本申请的实施例:
相关技术中心,只有当整个游戏安装文件下载完毕后才能够验证文件是否被正确,而通常情况下安装包的每个分卷文件都在1.5G-2G之间,需要20分钟左右才能下载完一个分卷文件,也即每次要等20分钟后才能确定下载到的文件是否错误,浪费了用户的时间。
在本申请中,由于HTTPS协议具备的加密性和安全性,除了下载器和对应的CDN节点外,整个网络链路上的所有节点都无法知道具体的请求内容,因此可以采用HTTPS协议来解决劫持问题,如果全量使用HTTPS协议下载,一方面会增加业务传输的成本,主要是因为下载器客户端和CDN源服务器都需要进行数据的加密和解密,CDN服务器的单机QPS(QueryPer Second,即每秒的响应请求数,用于描述服务器的吞吐能力)会降低,需要部署更多的服务器;另一方面,正确的劫持也无法进行,会进一步增加CDN的传输成本,因此不建议使用全量HTTPS CDN(即直接从源服务器下载)的方式。由于被劫持的玩家所占的比例不高,因此可对下载失败的玩家再使用HTTPS协议进行文件的下载,以规避劫持。
对于下载游戏安装包的玩家来说,如果要等到文件下载完毕后再使用HTTPS协议的话,会严重浪费用户的时间和精力,甚至造成用户流失。针对这种情况,可以利用HTTP协议的HEAD请求、及GET请求中的RANGE参数来预先检验文件是否正确。并针对预校验失败的用户直接采用HTTPS协议的方式下载。使用这种方式,可以节约一半以上的下载时间,可更经济更高效的解决下载文件失败这一问题。
综上所述,针对现有下载器的两个缺点,在控制成本的基础上,本申请采用预先检验文件,对检验错误的文件采用HTTPS方式进行下载的方式,只需要升级下载器后台,即可兼容当前的所有下载器,可以实现无缝升级。
本技术方案通过对下载过程进行优化,提前校验文件是否正确、对错误文件直接采用HTTPS协议进行下载,可以很好的解决上面提到的问题。
本发明还提供了一种优选实施例,下面从技术侧详述该优选实施例。
如图5和6所示,本设计方案主要实现的核心功能点有:支持HTTPS协议下载、具备文件预检测校验功能、支持错误数据上报功能。
步骤S602,终端上下载器的下载模块主要从下载管理平台(或者后台服务器)下载需要下载的文件及相应的校验信息,即预先向后台服务器请求资源信息,包括待下载安装包的大小、文件资源片段等信息。
步骤S604,后台服务器返回终端请求的游戏安装包的资源信息。
步骤S606,终端上下载器的拉取模块向缓存服务器请求资源信息,终端利用HTTP协议的HEAD请求及GET请求中的RANGE参数向缓存服务器请求缓存的游戏安装包的大小、片段等信息。
步骤S608,缓存服务器返回所请求的资源信息给终端。
步骤S610,终端的预校验模块进行预校验,预校验模块根据上述校验信息、利用HTTP协议的HEAD请求及RANGE参数提前校验文件是否正确,然后选择HTTP或HTTPS协议来进行下载。
结合HTTP协议的低开销特征,本方案依次采用HEAD请求校验大小,RANGE参数校验文件片段,MD5校验整体文件来确认文件的正误,一旦发现文件错误,就使用HTTPS协议下载,同时上报错误信息,便于问题的及时解决。
步骤S612,如果安装包的特征信息(包括名称、大小等)、资源片段均相同,则从缓存服务器获取缓存的游戏安装包。
步骤S614,如果安装包的特征信息(包括名称、大小等)、资源片段中任意一项不相同,则从源服务器获取缓存的游戏安装包。
在本申请的实施例中,下载器具备拉取下载信息、预校验、利用HTTP和HTTPS下载及异常数据上报(通过数据上报模块实现)的功能,将错误信息上报到后台平台(如TQOS平台),以便在数据分析平台进行归类分析,在后台平台进行数据分析并预警,便于整个系统的安全快速稳定运行。
可选地,随着技术的发展及科技的进步,CDN的成本会随之降低,可以直接使用HTTPS的方式来下载游戏安装包,这样既保证了下载数据的正确性,另外也可以保证下载数据的保密性。
需要说明的是,对于其它类型的资源,如安装游戏客户端的过程中需要使用的与游戏具有依赖关系的资源文件等、运行游戏客户端时需要使用的进行客户端更新的资源文件、更新游戏中场景或角色等所使用的资源文件等,其下载方法与上述安装包的下载方法相同,本申请在此不再赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述资源的下载方法的资源的下载装置。图7是根据本发明实施例的一种可选的资源的下载装置的示意图,如图7所示,该装置可以包括:接收单元72、第一判断单元74、第一下载单元76以及第二下载单元78。
接收单元72,用于接收到指示对第一资源进行下载的指令,其中,第一资源是与目标应用相关的资源;
第一判断单元74,用于在下载第一资源之前,判断第一资源与缓存服务器上缓存的第二资源是否相同,其中,第二资源为终端向源服务器请求第一资源之后,缓存服务器转发源服务器发送的第一资源至终端时,对转发的第一资源进行缓存得到的;
第一下载单元76,用于在第二资源与第一资源相同的情况下,从缓存服务器下载第二资源;
第二下载单元78,用于在第二资源与第一资源不相同的情况下,从源服务器下载第一资源。
需要说明的是,该实施例中的接收单元72可以用于执行本申请实施例1中的步骤S202,该实施例中的第一判断单元74可以用于执行本申请实施例1中的步骤S204,该实施例中的第一下载单元76可以用于执行本申请实施例1中的步骤S206,该实施例中的第二下载单元78可以用于执行本申请实施例1中的步骤S208。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,通过在下载第一资源之前,判断第一资源与缓存服务器上缓存的第二资源是否相同,可以对第二资源进行预校验,判断该资源是否为正确的资源,若是则从缓存服务器下载第二资源,否则从源服务器下载第一资源,以保证始终下载到正确的资源,而不会出现因为下载到不正确的资源而重复下载的情况,可以解决相关技术中用户下载资源时需要消耗较多流量的技术问题,进而达到避免用户下载资源时因为下载了错误的资源而需要消耗较多流量的技术效果。
上述的装置可以在终端上执行,该终端可以是手机、台式电脑、笔记本、平板等能够运行游戏的智能终端,具体可以将上述装置集成到终端上用于下载资源的下载器上。
上述的第一资源为执行与目标应用(游戏应用)相关的操作时所使用的资源,此处的操作包括安装游戏客户端、运行游戏客户端中的游戏等与游戏相关的操作,资源(如上述第一资源和第二资源)为安装游戏客户端所需的资源(如游戏安装包、安装游戏客户端的过程中需要使用的与游戏具有依赖关系的资源文件等)、运行游戏客户端时需要使用的资源(如进行客户端更新的资源文件、更新游戏中场景或角色等所使用的资源文件等)。为了前后描述的统一,本申请后续内容中以游戏安装包为例进行说明。
上述的源服务器为游戏服务提供商的服务器(也即CDN网络中的服务器),缓存服务器是专门为当前用户提供服务的运营商(与前述源服务器所在的运营商不同)所使用的服务器。
可选地,本申请的装置还可以包括:获取单元,用于在判断第一资源与缓存服务器上缓存的第二资源是否相同之前,获取用于描述第一资源的资源信息和用于描述第二资源的资源信息。
上述的获取单元还用于向源服务器发送第一请求,并接收源服务器响应HEAD请求所返回的用于指示第一资源的资源特征的信息;向源服务器发送第二请求,并接收源服务器响应第二请求所返回的第一资源中预设位置的资源片段,其中,第二请求中携带有用于指示预设位置的RANGE参数。
上述的获取单元可以包括:第一获取模块,用于向缓存服务器发送第一请求,并接收缓存服务器响应HEAD请求所返回的用于指示第二资源的资源特征的信息;第二获取模块,用于向缓存服务器发送第二请求,并接收缓存服务器响应第二请求所返回的第二资源中预设位置的资源片段,其中,第二请求中携带有用于指示预设位置的RANGE参数。
可选地,第一判断单元还用于通过第一资源的资源信息和第二资源的资源信息判断第一资源与第二资源是否相同,其中,在第一资源的资源信息和第二资源的资源信息匹配的情况下,判断出第一资源与第二资源相同,否则不相同。
上述的资源信息包括资源文件的资源特征和资源片段,其中,第一判断单元通过如下方式判断第一资源的资源信息和第二资源的资源信息是否匹配:
首先,判断第一资源的资源特征与第二资源的资源特征是否相同,以资源特征为游戏大小为例,在HTTP协议中,HEAD请求只会请求资源的头部,里面包含有文件的大小,也即下载之前预先获取文件的大小,所以,可以使用HEAD请求来得到文件的大小,然后与下载器中配置大小比对,如果不对则证明文件被劫持。
其次,判断第一资源中和第二资源中相同位置的资源片段是否相同,在判断出第一资源的资源特征与第二资源的资源特征相同,且第一资源中和第二资源中相同位置的资源片段相同的情况下,确定第一资源的资源信息和第二资源的资源信息匹配,否则不匹配。在HTTP协议中,可通过GET请求的RANGE参数来下载文件的部分内容(即资源片段),该参数经常在断点续传等情况下使用,可以利用这一特性来实现文件采样、校验。
在生成下载器的时候,对需要下载的文件进行采样,取得文件的特定段的数据,保存在下载器中。在对缓存服务器中资源文件进行文件下载前,可以使用RANGE参数下载文件指定片段的数据,下载完毕后与下载器中数据进行比对,若不一致,则必定异常,直接采用HTTPS方式下载,若一致,则很有可能是正常的。
可选地,本申请的装置还可以包括:第二判断单元,用于在从缓存服务器下载第二资源之后,判断用于唯一标识第一资源的第一杂凑值与用于唯一标识第二资源的第二杂凑值是否相同;第三下载单元,用于在判断出第一杂凑值与第二杂凑值不相同的情况下,从源服务器下载第一资源。
在从缓存服务器下载第二资源之后,需要再校验MD5,具体是判断用于唯一标识第一资源的第一杂凑值MD5与用于唯一标识第二资源的第二杂凑值MD5是否相同;在判断出第一杂凑值与第二杂凑值不相同的情况下,从源服务器下载第一资源,也即在MD5异常的情况下再使用HTTPS方式下载。
可选地,本申请的装置还可以包括:反馈单元,用于在判断出第二资源与第一资源不相同之后,或在判断出第一资源的第一杂凑值与第二资源的第二杂凑值不相同之后,反馈缓存服务器的服务器标识和第一资源的资源标识至管理服务器,其中,管理服务器用于指示缓存服务器将缓存的第二资源替换为第一资源。
对于资源特征校验、资源片段校验及MD5校验中各个流程校验失败的失败信息,可以直接上报到后台数据平台,然后录入数据库DB,可以实时分析各个省份、运营商的下载失败情况,针对下载错误比较多的运营商,可以直接联系运营商进行调整,一种可选的数据上报格式如下:时间、QQ号、错误阶段、用户外网IP、最终下载服务器IP、文件大小、文件采样、文件MD5、正确大小、正确采样、正确MD5。将这些数据加载到数据分析平台进行实时分析汇总,汇总出各个省份、运营商的情况,然后可以直接联系运营商进行检查处理。
通过本申请的实施例,可以确保玩家下载到正确的游戏客户端安装包,提高游戏的下载成功率;采用HEAD和RANGE等方法优化下载流程,在避免劫持的情况下,还可以让玩家更快的下载正确的游戏客户端安装包,提升了下载的体验;进行全面统一的数据上报,可更快的定位到下载失败的省份、运营商,直接反馈给运营商,更快更高效的解决问题。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
实施例3
根据本发明实施例,还提供了一种用于实施上述资源的下载方法的服务器或终端(也即电子装置)。
图8是根据本发明实施例的一种终端的结构框图,如图8所示,该终端可以包括:一个或多个(图8中仅示出一个)处理器801、存储器803、以及传输装置805(如上述实施例中的发送装置),如图8所示,该终端还可以包括输入输出设备807。
其中,存储器803可用于存储软件程序以及模块,如本发明实施例中的资源的下载方法和装置对应的程序指令/模块,处理器801通过运行存储在存储器803内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的资源的下载方法。存储器803可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器803可进一步包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置805用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置805包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置805为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器803用于存储应用程序。
处理器801可以通过传输装置805调用存储器803存储的应用程序,以执行下述步骤:接收到指示对第一资源进行下载的指令,其中,第一资源是与目标应用相关的资源;在下载第一资源之前,判断第一资源与缓存服务器上缓存的第二资源是否相同,其中,第二资源为终端向源服务器请求第一资源之后,缓存服务器转发源服务器发送的第一资源至终端时,对转发的第一资源进行缓存得到的;在第二资源与第一资源相同的情况下,从缓存服务器下载第二资源;在第二资源与第一资源不相同的情况下,从源服务器下载第一资源。
处理器801还用于执行下述步骤:判断第一资源的资源特征与第二资源的资源特征是否相同;判断第一资源中和第二资源中相同位置的资源片段是否相同,其中,在判断出第一资源的资源特征与第二资源的资源特征相同,且第一资源中和第二资源中相同位置的资源片段相同的情况下,确定第一资源的资源信息和第二资源的资源信息匹配,否则不匹配。
采用本发明实施例,接收到指示对第一资源进行下载的指令,其中,第一资源是与目标应用相关的资源;在下载第一资源之前,判断第一资源与缓存服务器上缓存的第二资源是否相同,其中,第二资源为终端向源服务器请求第一资源之后,缓存服务器转发源服务器发送的第一资源至终端时,对转发的第一资源进行缓存得到的;在第二资源与第一资源相同的情况下,从缓存服务器下载第二资源;在第二资源与第一资源不相同的情况下,从源服务器下载第一资源,以保证始终下载到正确的资源,而不会出现因为下载到不正确的资源而重复下载的情况,可以解决相关技术中用户下载资源时需要消耗较多流量的技术问题,进而达到避免用户下载资源时因为下载了错误的资源而需要消耗较多流量的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图8所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图8其并不对上述电子装置的结构造成限定。例如,终端还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行资源的下载方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S11,接收到指示对第一资源进行下载的指令,其中,第一资源是与目标应用相关的资源;
S12,在下载第一资源之前,判断第一资源与缓存服务器上缓存的第二资源是否相同,其中,第二资源为终端向源服务器请求第一资源之后,缓存服务器转发源服务器发送的第一资源至终端时,对转发的第一资源进行缓存得到的;
S13,在第二资源与第一资源相同的情况下,从缓存服务器下载第二资源;
S14,在第二资源与第一资源不相同的情况下,从源服务器下载第一资源。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S21,判断第一资源的资源特征与第二资源的资源特征是否相同;
S22,判断第一资源中和第二资源中相同位置的资源片段是否相同,其中,在判断出第一资源的资源特征与第二资源的资源特征相同,且第一资源中和第二资源中相同位置的资源片段相同的情况下,确定第一资源的资源信息和第二资源的资源信息匹配,否则不匹配。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种资源的下载方法,其特征在于,包括:
接收到指示对第一资源进行下载的指令,其中,所述第一资源是与目标应用相关的资源;
在下载所述第一资源之前,判断所述第一资源与缓存服务器上缓存的第二资源是否相同,其中,所述第二资源为终端向源服务器请求所述第一资源之后,所述缓存服务器转发所述源服务器发送的所述第一资源至所述终端时,对转发的所述第一资源进行缓存得到的;
在所述第二资源与所述第一资源相同的情况下,从所述缓存服务器下载所述第二资源;
在所述第二资源与所述第一资源不相同的情况下,从所述源服务器下载所述第一资源。
2.根据权利要求1所述的方法,其特征在于,
在判断所述第一资源与缓存服务器上缓存的第二资源是否相同之前,所述方法还包括:获取用于描述所述第一资源的资源信息和用于描述所述第二资源的资源信息;
判断所述第一资源与缓存服务器上缓存的第二资源是否相同包括:通过所述第一资源的资源信息和所述第二资源的资源信息判断所述第一资源与所述第二资源是否相同,其中,在所述第一资源的资源信息和所述第二资源的资源信息匹配的情况下,判断出所述第一资源与所述第二资源相同,否则不相同。
3.根据权利要求2所述的方法,其特征在于,所述资源信息包括资源文件的资源特征和资源片段,其中,通过如下方式判断所述第一资源的资源信息和所述第二资源的资源信息是否匹配:
判断所述第一资源的资源特征与所述第二资源的资源特征是否相同;
判断所述第一资源中和所述第二资源中相同位置的资源片段是否相同,其中,在判断出所述第一资源的资源特征与所述第二资源的资源特征相同,且所述第一资源中和所述第二资源中相同位置的资源片段相同的情况下,确定所述第一资源的资源信息和所述第二资源的资源信息匹配,否则不匹配。
4.根据权利要求2所述的方法,其特征在于,获取用于描述所述第二资源的资源信息包括:
向所述缓存服务器发送第一请求,并接收所述缓存服务器响应所述第一请求所返回的用于指示所述第二资源的资源特征的信息;
向所述缓存服务器发送第二请求,并接收所述缓存服务器响应所述第二请求所返回的所述第二资源中预设位置的资源片段,其中,所述第二请求中携带有用于指示所述预设位置的RANGE参数。
5.根据权利要求1所述的方法,其特征在于,在从所述缓存服务器下载所述第二资源之后,所述方法还包括:
判断用于唯一标识所述第一资源的第一杂凑值与用于唯一标识所述第二资源的第二杂凑值是否相同;
在判断出所述第一杂凑值与所述第二杂凑值不相同的情况下,从所述源服务器下载所述第一资源。
6.根据权利要求1或5所述的方法,其特征在于,从所述源服务器下载所述第一资源包括:
使用HTTPS协议从所述源服务器下载所述第一资源,其中,所述第一资源为用于安装或者更新所述目标应用的资源,所述目标应用为游戏应用。
7.根据权利要求1或5所述的方法,其特征在于,在判断出所述第二资源与所述第一资源不相同之后,或在判断出所述第一资源的第一杂凑值与所述第二资源的第二杂凑值不相同之后,所述方法还包括:
反馈所述缓存服务器的服务器标识和所述第一资源的资源标识至管理服务器,其中,所述管理服务器用于指示所述缓存服务器将缓存的所述第二资源替换为所述第一资源。
8.根据权利要求1所述的方法,其特征在于,从所述缓存服务器下载所述第二资源包括:
使用HTTP协议从所述缓存服务器下载所述第二资源。
9.一种资源的下载装置,其特征在于,包括:
接收单元,用于接收到指示对第一资源进行下载的指令,其中,所述第一资源是与目标应用相关的资源;
第一判断单元,用于在下载所述第一资源之前,判断所述第一资源与缓存服务器上缓存的第二资源是否相同,其中,所述第二资源为终端向源服务器请求所述第一资源之后,所述缓存服务器转发所述源服务器发送的所述第一资源至所述终端时,对转发的所述第一资源进行缓存得到的;
第一下载单元,用于在所述第二资源与所述第一资源相同的情况下,从所述缓存服务器下载所述第二资源;
第二下载单元,用于在所述第二资源与所述第一资源不相同的情况下,从所述源服务器下载所述第一资源。
10.根据权利要求9所述的装置,其特征在于,
所述装置还包括:获取单元,用于在判断所述第一资源与缓存服务器上缓存的第二资源是否相同之前,获取用于描述所述第一资源的资源信息和用于描述所述第二资源的资源信息;
所述第一判断单元还用于通过所述第一资源的资源信息和所述第二资源的资源信息判断所述第一资源与所述第二资源是否相同,其中,在所述第一资源的资源信息和所述第二资源的资源信息匹配的情况下,判断出所述第一资源与所述第二资源相同,否则不相同。
11.根据权利要求10所述的装置,其特征在于,所述资源信息包括资源文件的资源特征和资源片段,其中,所述第一判断单元通过如下方式判断所述第一资源的资源信息和所述第二资源的资源信息是否匹配:
判断所述第一资源的资源特征与所述第二资源的资源特征是否相同;
判断所述第一资源中和所述第二资源中相同位置的资源片段是否相同,其中,在判断出所述第一资源的资源特征与所述第二资源的资源特征相同,且所述第一资源中和所述第二资源中相同位置的资源片段相同的情况下,确定所述第一资源的资源信息和所述第二资源的资源信息匹配,否则不匹配。
12.根据权利要求10所述的装置,其特征在于,所述获取单元包括:
第一获取模块,用于向所述缓存服务器发送第一请求,并接收所述缓存服务器响应所述第一请求所返回的用于指示所述第二资源的资源特征的信息;
第二获取模块,用于向所述缓存服务器发送第二请求,并接收所述缓存服务器响应所述第二请求所返回的所述第二资源中预设位置的资源片段,其中,所述第二请求中携带有用于指示所述预设位置的RANGE参数。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二判断单元,用于在从所述缓存服务器下载所述第二资源之后,判断用于唯一标识所述第一资源的第一杂凑值与用于唯一标识所述第二资源的第二杂凑值是否相同;
第三下载单元,用于在判断出所述第一杂凑值与所述第二杂凑值不相同的情况下,从所述源服务器下载所述第一资源。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至8中任一项所述的方法。
15.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至8任一项中所述的方法。
CN201710380406.0A 2017-05-25 2017-05-25 资源的下载方法和装置 Active CN107181804B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710380406.0A CN107181804B (zh) 2017-05-25 2017-05-25 资源的下载方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710380406.0A CN107181804B (zh) 2017-05-25 2017-05-25 资源的下载方法和装置

Publications (2)

Publication Number Publication Date
CN107181804A true CN107181804A (zh) 2017-09-19
CN107181804B CN107181804B (zh) 2019-01-08

Family

ID=59832711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710380406.0A Active CN107181804B (zh) 2017-05-25 2017-05-25 资源的下载方法和装置

Country Status (1)

Country Link
CN (1) CN107181804B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108667827A (zh) * 2018-04-25 2018-10-16 北京白山耘科技有限公司 云分发网络缓存内容校验方法、装置、网络、存储介质及计算设备
CN109347968A (zh) * 2018-11-07 2019-02-15 网宿科技股份有限公司 一种下载资源文件的数据块的方法、设备和系统
CN109672756A (zh) * 2019-02-14 2019-04-23 网宿科技股份有限公司 一种数据传输方法及相关装置、服务器和存储介质
CN109871226A (zh) * 2019-02-25 2019-06-11 深圳前海达闼云端智能科技有限公司 下载器的配置方法、装置、介质及电子设备
CN109962965A (zh) * 2017-12-26 2019-07-02 深圳联友科技有限公司 一种数据缓存的方法及装置
CN112764772A (zh) * 2019-11-06 2021-05-07 腾讯科技(深圳)有限公司 更新文件的预下载方法、加载方法、装置、设备及介质
CN112910988A (zh) * 2021-01-28 2021-06-04 网宿科技股份有限公司 一种资源获取方法及资源调度装置
CN115134356A (zh) * 2022-09-01 2022-09-30 深圳市华曦达科技股份有限公司 针对中心节点分发监控节点下载的方法、系统和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259808A (zh) * 2012-02-15 2013-08-21 腾讯科技(深圳)有限公司 更新服务提供方法及装置
CN105656663A (zh) * 2015-12-22 2016-06-08 北京奇虎科技有限公司 软件更新的方法及装置
CN106550044A (zh) * 2016-11-24 2017-03-29 腾讯科技(深圳)有限公司 应用下载方法、下载服务器、下载客户端和应用下载系统
CN106686112A (zh) * 2017-01-18 2017-05-17 中国工商银行股份有限公司 云文件传输系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259808A (zh) * 2012-02-15 2013-08-21 腾讯科技(深圳)有限公司 更新服务提供方法及装置
CN105656663A (zh) * 2015-12-22 2016-06-08 北京奇虎科技有限公司 软件更新的方法及装置
CN106550044A (zh) * 2016-11-24 2017-03-29 腾讯科技(深圳)有限公司 应用下载方法、下载服务器、下载客户端和应用下载系统
CN106686112A (zh) * 2017-01-18 2017-05-17 中国工商银行股份有限公司 云文件传输系统及方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109962965A (zh) * 2017-12-26 2019-07-02 深圳联友科技有限公司 一种数据缓存的方法及装置
CN108667827A (zh) * 2018-04-25 2018-10-16 北京白山耘科技有限公司 云分发网络缓存内容校验方法、装置、网络、存储介质及计算设备
CN108667827B (zh) * 2018-04-25 2019-07-26 北京白山耘科技有限公司 云分发网络缓存内容校验方法、装置、网络、存储介质及计算设备
CN109347968A (zh) * 2018-11-07 2019-02-15 网宿科技股份有限公司 一种下载资源文件的数据块的方法、设备和系统
US11343306B2 (en) 2018-11-07 2022-05-24 Wangsu Science & Technology Co., Ltd. Method, device and system for downloading data block of resource file
CN109672756A (zh) * 2019-02-14 2019-04-23 网宿科技股份有限公司 一种数据传输方法及相关装置、服务器和存储介质
CN109672756B (zh) * 2019-02-14 2022-04-19 网宿科技股份有限公司 一种数据传输方法及相关装置、服务器和存储介质
CN109871226A (zh) * 2019-02-25 2019-06-11 深圳前海达闼云端智能科技有限公司 下载器的配置方法、装置、介质及电子设备
CN112764772A (zh) * 2019-11-06 2021-05-07 腾讯科技(深圳)有限公司 更新文件的预下载方法、加载方法、装置、设备及介质
CN112764772B (zh) * 2019-11-06 2024-05-24 腾讯科技(深圳)有限公司 更新文件的预下载方法、加载方法、装置、设备及介质
CN112910988A (zh) * 2021-01-28 2021-06-04 网宿科技股份有限公司 一种资源获取方法及资源调度装置
CN115134356A (zh) * 2022-09-01 2022-09-30 深圳市华曦达科技股份有限公司 针对中心节点分发监控节点下载的方法、系统和介质

Also Published As

Publication number Publication date
CN107181804B (zh) 2019-01-08

Similar Documents

Publication Publication Date Title
CN107181804A (zh) 资源的下载方法和装置
CN104509069B (zh) 支持选择性移动内容优化的技术
US7702317B2 (en) System and method to query wireless network offerings
CN103250383B (zh) 终端、控制设备、通信方法、通信系统、通信模块、程序、以及信息处理设备
CN108270882A (zh) 域名的解析方法和装置、存储介质、电子装置
CN102355426B (zh) 实现离线文件传输的方法和系统
CN104852934A (zh) 基于前端调度实现流量分配的方法、装置和系统
CN107566429A (zh) 基站、访问请求的响应方法、装置及系统
CN102904959B (zh) 网络加速方法和网关
CN109995738A (zh) 一种访问控制方法、网关及云端服务器
CN106856434A (zh) 访问请求转换的方法和装置
CN107562513A (zh) 一种基于java的智能合约生命周期的管理方法
CN106331216A (zh) 域名的解析方法和装置
CN1739076A (zh) 用于传输被加密的有用数据对象的方法
CN110460652A (zh) 一种资源获取方法及边缘计算调度服务器
CN108156210A (zh) 目标资源的获取方法和装置
CN108055312A (zh) 路由方法及其装置与计算机装置及其可读存储介质
CN106911502A (zh) 一种智能家庭网关设备的升级方法及系统
CN107222561A (zh) 一种传输层反向代理方法
CN106101264A (zh) 内容分发网络日志推送方法、装置和系统
CN106850720A (zh) 软件升级方法、装置及系统
CN105407068B (zh) 网络数据获取方法、装置和系统
CN106657371A (zh) 一种传输节点的调度方法和装置
CN110198333A (zh) 数据获取方法和装置、存储介质及电子装置
CN112737849B (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