CN112637262B - 一种内容刷新方法和装置 - Google Patents
一种内容刷新方法和装置 Download PDFInfo
- Publication number
- CN112637262B CN112637262B CN202011293073.6A CN202011293073A CN112637262B CN 112637262 B CN112637262 B CN 112637262B CN 202011293073 A CN202011293073 A CN 202011293073A CN 112637262 B CN112637262 B CN 112637262B
- Authority
- CN
- China
- Prior art keywords
- target
- resource
- refreshing
- target resource
- cache
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 172
- 230000000903 blocking effect Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 134
- 230000004044 response Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010926 purge Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
Images
Classifications
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- 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/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种内容推送方法,所述方法包括:接收推送客户端发送的HTTP推送请求;解析所述HTTP推送请求,以获取所述多个推送任务,并判断所述多个推送任务中任意一个目标推送任务是否属于文件推送,若属于,则判断所述目标推送任务指向的目标资源是否为分块缓存文件,若所述目标资源是分块缓存文件,则基于所述目标资源的第一分块资源,对所述目标资源进行推送。本申请提供的技术方案,可以对分块缓存文件进行推送。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种内容推送方法和装置。
背景技术
随着互联网的快速发展,CDN(Content Delivery Network,内容分发网络) 得到越来越多的应用,在CDN网络中,CDN节点存储有源站资源,其相当于缓存服务器。CDN节点中的内容与源站内容的同步主要依靠设置刷新时间来实现,设置刷新时间可以按照文件目录来设置,也可以按照单个文件的具体URL来设置。
针对已经在CDN节点上缓存的资源,当源站更新资源后,如果需要及时更新CDN节点上的缓存资源,人们需要使用CDN网络中的内容推送功能,通过推送客户端向CDN节点发送推送请求,从而将CDN节点上已缓存的资源删除或者设置为过期,这样当用户再次请求获取上述资源时,CDN节点便可以向源站重新发送请求,以将更新后的资源反馈给用户。
但是现有技术中,针对采用分块形式保存的文件,推送客户端无法获知整个文件被拆分成多少分块,因而推送客户端无法确定推送请求的数量,导致推送客户端无法对分块缓存文件进行推送。
鉴于此,有必要提供一种新的内容推送方法和装置以解决上述不足。
发明内容
本申请的目的在于提供一种新的内容推送方法和装置,可以对分块缓存文件进行推送。
为实现上述目的,本申请一方面提供一种内容推送方法,所述方法应用于缓存服务器中,所述方法包括:接收推送客户端发送的HTTP推送请求,其中,所述HTTP推送请求的请求头中携带有多个推送任务;解析所述HTTP推送请求,以获取所述多个推送任务,并判断所述多个推送任务中任意一个目标推送任务是否属于文件推送,若属于,则判断所述目标推送任务指向的目标资源是否为分块缓存文件,若所述目标资源是分块缓存文件,则基于所述目标资源的第一分块资源,对所述目标资源进行推送。
为实现上述目的,本申请另一方面还提供一种内容推送装置,所述装置应用于缓存服务器中,所述装置包括:推送请求接收模块,用于接收推送客户端发送的HTTP推送请求,其中,所述HTTP推送请求的请求头中携带有多个推送任务;推送请求处理模块,用于解析所述HTTP推送请求,以获取所述多个推送任务,并判断所述多个推送任务中任意一个目标推送任务是否属于文件推送,若属于,则判断所述目标推送任务指向的目标资源是否为分块缓存文件,若所述目标资源是分块缓存文件,则基于所述目标资源的第一分块资源,对所述目标资源进行推送。
为实现上述目的,本申请另一方面还提供一种内容推送装置,所述内容推送装置包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,实现上述内容推送的方法。
由此可见,本申请提供的技术方案,当缓存服务器(即CDN节点)接收到推送客户端发送的推送任务后,缓存服务器将首先判断该推送任务是否为文件推送,如果是文件推送并且该推送任务指向的资源属于分块缓存文件,那么缓存服务器可以自行在本地或者向源站查找上述资源的第一分块资源,并读取第一分块资源中的相关信息,从而得到上述资源的整体文件大小,然后根据配置信息和整体文件大小,计算整个资源被拆分成多少分块,再逐一计算出每个分块资源的分块缓存值,然后对每个分块资源进行推送,从而实现对整个资源的推送。这样,针对分块缓存文件,推送客户端只需要发送一个推送任务即可,缓存服务器可以自行计算出分块资源的数量,并对各个分块资源进行推送。同时,推送任务通过请求头下发,而非请求本身,这样一个HTTP推送请求可以下发多个推送任务,减少了网络数据的交互次数,进一步提高了内容推送效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施方式中内容推送系统的架构示意图;
图2是本申请实施方式一中内容推送方法的流程图;
图3是本申请实施方式二中内容推送方法的流程图;
图4是本申请实施方式中内容推送装置的功能模块示意图;
图5是本申请实施方式中内容推送装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着互联网的快速发展,CDN(Content Delivery Network,内容分发网络) 得到越来越多的应用。在CDN网络中,CDN节点存储有源站资源,其相当于缓存服务器,CDN网络能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息,将用户的请求重新导向离用户最近的CDN节点,从而降低网络拥塞,提高用户访问的响应速度。
针对已经在CDN节点上缓存的资源,当源站更新资源后,如果需要及时更新CDN节点上的缓存资源,开发者可以使用CDN网络中的内容推送功能,即通过CDN服务商提供的推送客户端向CDN节点发送推送请求,强制刷新CDN节点中的缓存资源,从而将CDN节点中已缓存的资源删除或者设置为过期,这样当用户再次请求获取上述资源时,CDN节点便可以向源站重新发送请求,以将更新后的资源反馈给用户。开发者在发送推送请求时,可以按照文件目录的方式进行推送(即目录推送),也可以按照单个文件的具体URL的方式进行推送(即文件推送)。
在实际应用中,CDN节点根据预设规则来生成缓存文件的缓存key,通常使用多个变量,例如请求方法、URL、偏移量等字段组合成缓存key,并以缓存key 的MD5值作为缓存文件名,上述缓存文件名作为缓存文件在CDN网络中的唯一标识,通过缓存文件名可以定位缓存文件在磁盘上的存储位置。为便于叙述,本申请将CDN节点称为缓存服务器,将缓存key的MD5值称为缓存值。当缓存服务器接收到推送请求后,首先根据推送请求中携带的信息计算缓存值,然后根据该缓存值定位推送请求指向的缓存文件,从而对上述缓存文件进行推送。
但是现有技术存在以下弊端:针对采用分块形式保存的文件,推送客户端无法获知整个文件被拆分成多少分块,因而推送客户端无法确定推送请求的数量,导致推送客户端无法对分块缓存文件进行推送;一个推送请求只能推送一个缓存文件,这就使得当源站资源进行大量更新后,推送客户端需要发送多个推送请求,推送效率低下;推送客户端发送的推送请求与用户客户端发送的资源获取请求一般存在差异,如果生成缓存key的预设规则使用到差异字段,那么缓存服务器根据推送请求计算的缓存key与根据资源获取请求计算的缓存key 将不同,导致缓存文件无法被推送;推送请求与资源获取请求竞争缓存服务器的服务资源,推送请求需要读写磁盘,影响缓存服务器对资源获取请求的响应。
本申请提供的技术方案可以解决上述不足。
如图1所示,为本申请实施方式中内容推送系统的架构示意图。
在本实施方式中,内容推送系统包括推送客户端、缓存服务器、源站和用户客户端。缓存服务器存储有缓存资源,用户客户端可以向缓存服务器发送资源获取请求以获取缓存资源,当缓存服务器本地未存储用户客户端所请求的缓存资源,或者缓存服务器本地存储的缓存资源已经过期时,缓存服务器可以向源站发送请求,以拉取最新的数据。当源站内容进行更新后,开发者可以通过推送客户端向缓存服务器发送HTTP推送请求,以强制刷新缓存服务器中的缓存资源。
请一并参阅图2和图3,本申请所述内容推送方法应用于缓存服务器中,所述方法可以包括以下步骤。
S101:接收推送客户端发送的HTTP推送请求,其中,所述HTTP推送请求的请求头中携带有多个推送任务。
在本实施方式中,推送客户端采用HTTP请求的方式与缓存服务器进行通讯,当开发者需要对缓存服务器中存储的缓存资源进行更新时,其可以登录CDN客户平台,并通过CDN客户平台中的推送客户端向缓存服务器发送HTTP推送请求。具体的,推送客户端可以基于开发者输入的待更新缓存文件的URL信息生成HTTP 请求,并在请求行的请求方法字段中写入“PURGE”或者其它约定字符,这样,当缓存服务器接收到携带有“PURGE”或者其它约定字符的HTTP请求时,缓存服务器便可以识别出该HTTP请求为推送请求。
进一步的,当开发者需要对多个缓存文件进行更新时,开发者可以同时输入多个待更新缓存文件的URL信息,推送客户端可以将上述多个URL信息以请求头的形式写入同一个HTTP请求中,从而使得该HTTP请求具有多个请求头,其中,该HTTP请求中的每一个请求头代表一个推送任务。这样推送客户端通过一个HTTP请求便可以向缓存服务器下发多个推送任务,最终使得推送客户端和缓存服务器之间可以减少TCP握手、挥手的次数,以及HTTP报文解析的时间,从而提高内容推送的效率。
在一个实施方式中,为避免推送客户端发送的推送请求与用户客户端发送的资源获取请求竞争缓存服务器的服务资源,可以在缓存服务器中设置推送进程和工作进程。工作进程负责接收推送客户端发送的HTTP推送请求,并将存放于请求头中的推送任务提取出来,然后再为每个推送任务构造出真实的推送请求,发送给推送进程;推送进程负责文件的读写,实现文件的刷新工作。在此过程中,推送任务由独立的推送进程执行,工作进程负责HTTP推送请求的接收和解析、以及拆分和转发推送任务,工作进程并不负责文件的刷新工作,通过设置推送进程和工作进程,缓存服务器可以合理的为推送请求和资源获取请求分配服务资源,从而提高缓存服务器对推送客户端和用户客户端进行响应的效率。工作进程与推送进程之间的通讯可使用包括但不限于本地套接字(unix socket)、tcp、udp等方式。
需要特别指出的是,推送客户端也可以针对开发者输入的目录信息生成 HTTP推送请求,本申请对此不作限制。
S102:解析所述HTTP推送请求,以获取所述多个推送任务,并判断所述多个推送任务中任意一个目标推送任务是否属于文件推送,若属于,则判断所述目标推送任务指向的目标资源是否为分块缓存文件,若所述目标资源是分块缓存文件,则基于所述目标资源的第一分块资源,对所述目标资源进行推送。
在本实施方式中,当缓存服务器中的工作进程接收到某一个HTTP请求后,工作进程可以对其进行解析,若识别出该HTTP请求中的请求方法字段为“PURGE”或者其它约定字符,工作进程可以判断该HTTP请求为推送请求。进一步的,工作进程可以对该HTTP请求的请求头进行解析,将存放于上述请求头中的推送任务提取出来,从而获取该HTTP推送请求中携带的各个推送任务。
在实际应用中,开发者可以在缓存服务器的配置文件中,针对不同域名下的文件设置不同的存储策略,例如规定a.com域名下的所有文件皆采用分块缓存策略,b.com域名下的所有文件皆不采用分块缓存策略。进一步的,开发者还可以在缓存服务器的配置文件中,针对某一个域名下的某一个目录中的文件设置存储策略,或者针对某一个具体的文件单独设置存储策略,例如规定文件 https://www.a.com/shenmo/patch/pem.sup采用分块缓存策略。这样,当工作进程获取到HTTP推送请求携带的多个推送任务后,针对上述多个推送任务中的任意一个推送任务(即目标推送任务),工作进程可以识别目标推送任务中的URL 字段,进而判断目标推送任务是否属于文件推送,如果工作进程判断目标推送任务属于文件推送,工作进程可以将目标推送任务中的URL信息与配置文件中保存的存储策略进行比对,以判断目标推送任务指向的目标资源是否采用了分块缓存策略,如果目标资源采用了分块缓存策略,工作进程可以确定目标资源属于分块缓存文件,相应的,如果目标资源未采用分块缓存策略,工作进程可以确定目标资源不属于分块缓存文件。
当工作进程确定目标资源属于分块缓存文件后,工作进程可以根据目标推送任务携带的相关信息构造针对目标资源的真实推送请求,并将上述真实推送请求发送至推送进程,从而使得推送进程可以基于目标资源从文件头起始的第一个分块文件(即第一分块资源),对目标资源进行推送。
在一个实施方式中,基于目标资源的第一分块资源,对目标资源进行推送可以包括以下步骤:
首先,查找目标资源的第一分块资源,以获取目标资源的整体文件大小;
然后,根据目标资源的整体文件大小获取目标资源的分块资源数量,并基于目标资源的分块资源数量计算各个分块资源的分块缓存值,以对目标资源进行推送。
在实际应用中,针对采用分块缓存策略的文件,缓存服务器的配置文件中可以记录分块的标准,即按照多大的体积对文件进行分割,如此,当缓存服务器在本地存储上述采用分块缓存策略的文件时,缓存服务器可以根据分块标准和各个分块资源的顺序计算其偏移量,并结合缓存key的生成规则得到各个分块资源的缓存key,缓存服务器可以通过上述缓存key标记各个分块资源在磁盘上的存储位置。当工作进程确定目标资源属于分块缓存文件后,工作进程可以基于目标推送任务中携带的信息,构造出针对目标资源从文件头起始的第一个分块文件(即第一分块资源)的查询请求,并将该查询请求发送给推送进程。推送进程在接收到上述查询请求后,可以首先在本地存储的文件中查找上述第一分块资源。具体的,假设目标资源的分块标准为100byte,那么目标资源的第一分块资源的偏移量必然是bytes=0-99,推送进程可以根据“bytes=0-99”并结合缓存key的生成规则,生成第一分块资源的缓存key,然后根据得到的第一分块资源的缓存key定位第一分块资源在磁盘上的存储位置,进而查找到上述第一分块资源。当推送进程查找到上述第一分块资源后,推送进程可以读取第一分块资源的响应头信息,从而得到目标资源的整体文件大小。
当推送进程获取到目标资源的整体文件大小后,推送进程可以结合预先设置的分块标准,计算目标资源的分块资源数量,并且推送进程还可以根据得到的分块资源数量计算各个分块资源的分块缓存值,然后再对每个分块资源进行推送,从而完成目标资源的推送任务。推送进程基于分块资源数量计算各个分块资源的分块缓存值,以对目标资源进行推送可以通过如下方式实现:
首先,根据分块资源数量计算各个分块资源的偏移量;
然后,基于目标推送任务和各个分块资源的偏移量,计算各个分块资源的分块缓存值;
最后,根据各个分块缓存值定位各个分块资源,并对各个分块资源进行推送。
举例说明,假设目标资源的整体文件大小为2000byte,分块标准为100byte,缓存key的生成规则为“请求方法”+“URL”+“偏移量”,则推送进程可以计算出目标资源的分块资源数量为20,相应的,推送进程可以计算出第一分块资源的偏移量为bytes=0-99,第二分块资源的偏移量为bytes=100-199,第三分块资源的偏移量为bytes=200-299,以此类推,推送进程可以计算出各个分块资源的偏移量。之后推送进程解析目标推送任务中的请求方法字段和URL字段,从而获取请求方法字段和URL字段中的字符,然后将上述字符与各个分块资源的偏移量进行组合,从而得到各个分块资源的缓存key,并计算上述各个分块资源缓存key的MD5值,从而得到各个分块资源的分块缓存值。当推送进程计算出各个分块资源的分块缓存值后,推送进程便可以根据上述分块缓存值定位各个分块资源在磁盘上的存储位置,进而查找到上述各个分块资源,并对每个分块资源执行推送操作,例如删除分块资源或者将分块资源设置为过期。当推送进程对所有的分块资源都执行完推送操作后,推送进程便完成了目标资源的推送任务。
在一个实施方式中,如果缓存服务器磁盘上与第一分块资源缓存key相对应的位置不存在文件,则说明缓存服务器未存储上述第一分块资源,推送进程将无法在缓存服务器本地存储的文件中查找到上述第一分块资源。此时,推送进程可以向工作进程反馈未查询到第一分块资源,工作进程在接收到上述反馈后,可以自行构造针对第一分块资源的资源获取请求,并向目标资源所在的源站发送该资源获取请求,进而从上述源站拉取第一分块资源,并将拉取的第一分块资源存储在缓存服务器的磁盘中。当缓存服务器拉取到上述第一分块资源后,推送进程可以读取第一分块资源的响应头信息,从而得到目标资源的整体文件大小。
需要特别指出的是,如果工作进程判断目标推送任务属于文件推送,并且目标推送任务指向的目标资源属于分块缓存文件,但是推送进程无法在本地存储的文件中查找到上述第一分块资源,和/或者工作进程无法从目标资源所在的源站拉取到上述第一分块资源,则说明推送进程无法立即执行目标推送任务,此时推送进程可以存储目标推送任务,并记录工作进程接收到目标推送任务时的时间,即记录目标推送任务的接收时间。具体的,推送进程可以将目标推送任务保存至共享内存中,同时持久化到非易失性存储介质(如磁盘)中,以根据预设周期再次执行上述目标推送任务。关于推送进程根据预设周期再次执行上述目标推送任务的内容,将在后文进行详细说明。
在一个实施方式中,推送进程存储目标推送任务可以通过以下方式实现:
首先,基于目标推送任务计算目标资源的目标缓存值;
然后,建立目标推送任务与目标缓存值之间的映射关系,并存储目标缓存值。
在实际应用中,推送进程可以根据目标推送任务中携带的信息,并结合缓存key的生成规则得到目标资源的缓存key,然后计算上述目标资源缓存key的 MD5值,从而得到目标缓存值。当推送进程计算出目标缓存值后,推送进程可以对上述目标缓存值进行存储,并将目标推送任务与目标缓存值进行绑定,从而建立目标推送任务与目标缓存值之间的映射关系,如此,推送进程或者工作进程便可以通过目标缓存值查询到对应的目标推送任务。
需要特别指出的是,如果工作进程判断目标推送任务不属于文件推送,例如目标推送任务属于目录推送,或者vary缓存推送,推送进程也可以存储目标推送任务,并记录目标推送任务的接收时间,以根据预设周期再次执行上述目标推送任务。
在一个实施方式中,如果工作进程判断目标推送任务属于文件推送,但是目标推送任务指向的目标资源不属于分块缓存文件,工作进程可以基于目标推送任务中携带的信息,构造出针对目标资源的真实的推送请求,并将上述真实的推送请求发送给推送进程,推送进程在接收到上述真实的推送请求后,可以结合缓存key的生成规则得到目标资源的缓存key,并计算上述目标资源缓存 key的MD5值,从而得到目标缓存值。当推送进程计算出目标资源的目标缓存值后,推送进程便可以根据上述目标缓存值定位目标资源在磁盘上的存储位置,进而查找到目标资源,并对目标资源进行推送,例如删除目标资源或者将目标资源设置为过期,从而完成目标资源的推送任务。
在一个实施方式中,如果推送进程无法立即执行目标推送任务,而将目标推送任务进行存储,并记录目标推送任务的接收时间后,为完成目标资源的推送工作,推送进程可以再次对目标资源进行推送。具体的,推送进程可以根据预设周期遍历缓存服务器的本地缓存文件,并查询本地缓存文件中是否存在目标资源,如果本地缓存文件中存在上述目标资源,推送进程可以进一步查询缓存服务器在本地构建上述目标资源的时间(即本地存储时间),然后推送进程可以比较目标资源的本地存储时间与目标推送任务接收时间的大小关系,如果本地存储时间小于或者等于目标推送任务的接收时间,则说明工作进程在接收到目标推送任务之前,目标资源已经存在于缓存服务器的磁盘中了,因此,推送进程可以再次对上述目标资源进行推送。推送进程再次对目标资源进行推送的过程可以参考前述步骤,此处不再赘述。
如果本地存储时间大于目标推送任务的接收时间,则说明工作进程在接收到目标推送任务之后,目标资源才被储存于缓存服务器的磁盘中,此时,缓存服务器中存储的目标资源是最新的文件,因此推送进程无需对目标资源进行推送。
需要特别指出的是,为避免对目标资源进行重复推送,当推送进程遍历完毕缓存服务器的所有本地缓存文件,并在完成目标资源的推送后,推送进程可以删除保存的上述目标推送任务。相应的,当推送进程遍历完毕缓存服务器的所有本地缓存文件,并判断无需对目标资源进行推送后,推送进程也可以删除保存的上述目标推送任务。
在一个实施方式中,当用户需要获取某一个资源(记为目的资源)时,用户可以通过用户客户端向缓存服务器发送目的资源获取请求。需要指出的是,为便于叙述,此处将用户需要获取的资源标记为目的资源,在实际应用中,目的资源和目标资源可以指代同一个文件,也可以指代不同的文件。
为避免针对同一个文件,缓存服务器根据推送请求计算的缓存key与根据资源获取请求计算的缓存key不同,资源获取请求与推送请求必须携带有相同的变量字段。例如,假设缓存key的生成规则为“请求方法”+“URL”+“偏移量”,那么目的资源获取请求和HTTP推送请求中都必须携带有“请求方法”、“URL”和“偏移量”三个变量字段。同时,为保证针对同一个文件,缓存服务器可以从推送请求中获取和资源获取请求相同的变量值,推送请求的请求头中的值可以采用key-value的形式,以提供生成缓存key的所有必要信息。
当工作进程接收到用户客户端发送的目的资源获取请求后,工作进程可以基于上述目的资源获取请求,并结合缓存key的生成规则得到目的资源的缓存 key,然后计算上述目的资源缓存key的MD5值,从而得到目的缓存值,进而工作进程可以查询缓存服务器的共享内存中是否存储有上述目的缓存值。如果共享内存中存储有上述目的缓存值,则说明缓存服务器中存在与上述目的缓存值相对应的推送任务(即目的推送任务),工作进程可以基于目的推送任务中携带的信息,构造出针对目的资源的真实的推送请求,并将上述真实的推送请求发送给推送进程,推送进程在接收到上述真实的推送请求后,可以结合缓存key的生成规则得到目的资源的缓存key,并计算上述目的资源缓存key的MD5值,从而得到目的缓存值。需要指出的是,工作进程在将上述真实的推送请求发送给推送进程时,也可以将其已经计算出的目的缓存值一并发送给推送进程,以减少推送进程的计算量。
当推送进程获取到上述目的缓存值后,推送进程便可以根据上述目的缓存值定位目的资源在磁盘上的存储位置,以查询本地缓存文件中是否存在上述目的资源。如果缓存服务器磁盘上与目的缓存值相对应的位置存在文件,则说明缓存服务器中存储有上述目的资源,推送进程则可以进一步基于目的资源的本地存储时间,以及与目的缓存值相对应的目的推送任务的接收时间,判断是否对目的资源进行推送。具体的,推送进程可以查询目的资源的本地存储时间,然后推送进程可以比较目的资源的本地存储时间与目的推送任务接收时间的大小关系,如果本地存储时间小于或者等于目的推送任务的接收时间,则说明工作进程在接收到目的推送任务之前,目的资源已经存在于缓存服务器的磁盘中了,因此,推送进程可以对上述目的资源进行推送,例如删除目的资源或者将目的资源设置为过期,从而完成目的资源的推送任务。同时,推送进程还将向工作进程反馈信息,从而通知工作进程向目的资源所在的源站发送请求,以拉取最新的目的资源,缓存服务器在获取到上述最新的目的资源后,将向用户客户端反馈上述最新的目的资源,并将其存储在本地磁盘中。需要指出的是,为避免对目的资源进行重复推送,当推送进程完成目的资源的推送任务后,推送进程可以删除保存的上述目的推送任务。
如果目的资源的本地存储时间大于目的推送任务的接收时间,则说明工作进程在接收到目的推送任务之后,目的资源才被储存于缓存服务器的磁盘中,此时,缓存服务器中存储的目的资源是最新的文件,因此推送进程无需对目的资源进行推送。同时,推送进程还将向工作进程反馈信息,从而通知工作进程将上述目的资源反馈给用户客户端。需要指出的是,当推送进程判断无需对目的资源进行推送后,推送进程可以删除保存的上述目的推送任务。
如果缓存服务器磁盘上与目的缓存值相对应的位置不存在文件,则说明缓存服务器中未存储有上述目的资源,推送进程可以向工作进程反馈信息,从而通知工作进程向目的资源所在的源站发送请求,以拉取最新的目的资源,缓存服务器在获取到上述最新的目的资源后,将向用户客户端反馈上述最新的目的资源,并将其存储在本地磁盘中,同时记录上述最新的目的资源的本地存储时间。
在一个实施方式中,当缓存服务器未存储目的资源,工作进程向目的资源所在的源站请求上述目的资源时,工作进程可以将目的资源获取请求中的URL 信息与配置文件中保存的存储策略进行比对,以判断目的资源获取请求指向的目的资源是否采用了分块缓存策略,如果目的资源采用了分块缓存策略,工作进程可以确定目的资源属于分块缓存文件。
当工作进程确定目的资源属于分块缓存文件后,工作进程可以进一步判断上述目的资源中是否包含从文件头起始的第一个分块文件(即起始分块资源)。具体的,工作进程可以判断目的资源获取请求中是否存在Range字段,如果存在Range字段,则说明目的资源获取请求为范围请求,工作进程可以进一步识别Range字段的内容,从而判断上述目的资源中是否包含起始分块资源。例如,假设目的资源获取请求中的Range字段为“Range:bytes=0-1023”,则表示用户请求获取整个文件的第一个字节到第1023个字节之间的内容,显然该目的资源中包含起始分块资源;如果目的资源获取请求中的Range字段为“Range: bytes=2001-3023”,则表示用户请求获取整个文件的第2001个字节到第3023 个字节之间的内容,显然该目的资源中不包含起始分块资源。如果工作进程判断上述目的资源中不包含起始分块资源,工作进程可以自行构造起始分块资源获取请求,以从目的资源所在的源站获取上述起始分块资源,并将上述起始分块资源存储在本地磁盘中,如此,当后期缓存服务器接收到针对目的资源的推送请求后,缓存服务器便可以快速查找到上述起始分块资源,从而提高目的资源的推送效率。
需要特别指出的是,如果工作进程无法在共享内存中查询到上述目的缓存值,则说明缓存服务器中不存在与上述目的缓存值相对应的推送任务,因此工作进程可以直接查询本地缓存文件中是否存在上述目的资源。如果本地缓存文件中存在上述目的资源,工作进程可以直接将上述目的资源发送至用户客户端;如果本地缓存文件中不存在上述目的资源,工作进程可以向目的资源所在的源站发送请求,以拉取上述目的资源,缓存服务器在获取到上述目的资源后,将向用户客户端反馈上述目的资源,并将其存储在本地磁盘中,同时记录上述目的资源的本地存储时间。
在一个实施方式中,每当推送进程执行一个推送任务,推送进程都可以将执行结果以响应状态码的形式反馈给工作进程,工作进程可以对所有推送任务的执行结果进行汇总,并将汇总情况发送至推送客户端,从而使得开发者可以获知推送请求的执行情况,进而采取对应的措施。
请参阅图4,本申请还提供一种内容推送装置,所述装置应用于缓存服务器中,所述装置包括:
推送请求接收模块,用于接收推送客户端发送的HTTP推送请求,其中,所述HTTP推送请求的请求头中携带有多个推送任务;
推送请求处理模块,用于解析所述HTTP推送请求,以获取所述多个推送任务,并判断所述多个推送任务中任意一个目标推送任务是否属于文件推送,若属于,则判断所述目标推送任务指向的目标资源是否为分块缓存文件,若所述目标资源是分块缓存文件,则基于所述目标资源的第一分块资源,对所述目标资源进行推送。
在一个实施方式中,所述装置还包括推送请求执行模块,
所述推送请求处理模块,还用于查找所述目标资源的第一分块资源,以获取所述目标资源的整体文件大小;
所述推送请求执行模块,用于根据所述整体文件大小获取所述目标资源的分块资源数量,并基于所述分块资源数量计算各个分块资源的分块缓存值,以对所述目标资源进行推送。
在一个实施方式中,基于所述分块资源数量计算各个分块资源的分块缓存值,以对所述目标资源进行推送包括:
根据所述分块资源数量计算各个分块资源的偏移量;
基于所述目标推送任务和所述各个分块资源的偏移量,计算所述各个分块资源的分块缓存值;
根据各个所述分块缓存值定位所述各个分块资源,并对所述各个分块资源进行推送。
在一个实施方式中,所述推送请求处理模块,还用于若所述目标推送任务属于文件推送,并且所述目标推送任务指向的目标资源不是分块缓存文件,则基于所述目标推送任务计算所述目标资源的目标缓存值;
所述推送请求执行模块,还用于根据所述目标缓存值定位所述目标资源,并对所述目标资源进行推送。
在一个实施方式中,所述推送请求处理模块,还用于若所述目标推送任务属于文件推送,并且所述目标推送任务指向的目标资源是分块缓存文件,但无法查找到所述目标资源的第一分块资源;或者,
所述目标推送任务不属于文件推送,则存储所述目标推送任务,并记录所述目标推送任务的接收时间。
在一个实施方式中,所述装置还包括:
推送请求查询模块,用于根据预设周期遍历本地缓存文件,查询所述本地缓存文件中是否存在所述目标资源,若存在所述目标资源,则判断所述目标资源的本地存储时间是否小于或者等于所述目标推送任务的接收时间,若是,则对所述目标资源进行推送;
若否,则不对所述目标资源进行推送。
在一个实施方式中,存储所述目标推送任务包括:
基于所述目标推送任务计算所述目标资源的目标缓存值;
建立所述目标推送任务与所述目标缓存值之间的映射关系,并存储所述目标缓存值。
在一个实施方式中,所述装置还包括:
资源请求接收模块,用于接收用户客户端发送的目的资源获取请求,其中,所述目的资源获取请求与所述HTTP推送请求具有相同的变量字段;
资源请求处理模块,用于基于所述目的资源获取请求计算目的资源的目的缓存值,并判断是否存储有所述目的缓存值,若存储有所述目的缓存值,则查询本地缓存文件中是否存在所述目的资源;
所述推送请求查询模块,还用于若存在所述目的资源,则基于所述目的资源的本地存储时间,以及与所述目的缓存值相对应的目的推送任务的接收时间,判断是否对所述目的资源进行推送,若不存在所述目的资源,则向所述目的资源所在的源站请求所述目的资源。
在一个实施方式中,所述装置还包括:
分块资源识别模块,用于当不存在所述目的资源,并向所述目的资源所在的源站请求所述目的资源时,判断所述目的资源是否属于分块缓存文件,若属于,则判断所述目的资源中是否包含起始分块资源,若不包含所述起始分块资源,则生成起始分块资源获取请求,以从所述源站获取所述起始分块资源。
请参阅图5,本申请还提供一种内容推送装置,所述内容推送装置包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,可以实现如上述的内容推送方法。具体地,在硬件层面,该内容推送装置可以包括处理器、内部总线和存储器。所述存储器可以包括内存以及非易失性存储器。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行。本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述内容推送装置的结构造成限定。例如,所述内容推送装置还可包括比图5 中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如GPU(GraphicsProcessing Unit,图像处理器),或者对外通信端口等。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等。
本实施方式中,所述的处理器可以包括中央处理器(CPU)或图形处理器 (GPU),当然也可以包括其他的具有逻辑处理能力的单片机、逻辑门电路、集成电路等,或其适当组合。本实施方式所述的存储器可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如RAM、FIFO 等;在系统中,具有实物形式的存储设备也可以叫存储器等。实现的时候,该存储器也可以采用云存储器的方式实现,具体实现方式,本说明书不做限定。
需要说明的是,本说明书中的内容推送装置,具体的实现方式可以参照方法实施方式的描述,在此不作一一赘述。
由此可见,本申请提供的技术方案,当缓存服务器接收到推送客户端发送的推送任务后,缓存服务器将首先判断该推送任务是否为文件推送,如果是文件推送并且该推送任务指向的资源属于分块缓存文件,那么缓存服务器可以自行在本地或者向源站查找上述资源的第一分块资源,并读取第一分块资源中的相关信息,从而得到上述资源的整体文件大小,然后根据配置信息和整体文件大小,计算整个资源被拆分成多少分块,再逐一计算出每个分块资源的分块缓存值,然后对每个分块资源进行推送,从而实现对整个资源的推送。这样,针对分块缓存文件,推送客户端只需要发送一个推送任务即可,缓存服务器可以自行计算出分块资源的数量,并对各个分块资源进行推送。同时,推送任务通过请求头下发,而非请求本身,这样一个HTTP推送请求可以下发多个推送任务,减少了网络数据的交互次数,进一步提高了内容推送效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种内容刷新方法,其特征在于,所述方法应用于缓存服务器中,所述方法包括:
接收刷新客户端发送的HTTP刷新请求,其中,所述HTTP刷新请求的请求头中携带有多个刷新任务;
解析所述HTTP刷新请求,以获取所述多个刷新任务,并判断所述多个刷新任务中任意一个目标刷新任务是否属于文件刷新,若属于,则判断所述目标刷新任务指向的目标资源是否为分块缓存文件,若所述目标资源是分块缓存文件,则基于所述目标资源的第一分块资源,计算所述目标资源各个分块资源的分块缓存值,以对所述目标资源进行刷新。
2.根据权利要求1所述的方法,其特征在于,基于所述目标资源的第一分块资源,对所述目标资源进行刷新包括:
查找所述目标资源的第一分块资源,以获取所述目标资源的整体文件大小;
根据所述整体文件大小获取所述目标资源的分块资源数量,并基于所述分块资源数量计算各个分块资源的分块缓存值,以对所述目标资源进行刷新。
3.根据权利要求2所述的方法,其特征在于,基于所述分块资源数量计算各个分块资源的分块缓存值,以对所述目标资源进行刷新包括:
根据所述分块资源数量计算各个分块资源的偏移量;
基于所述目标刷新任务和所述各个分块资源的偏移量,计算所述各个分块资源的分块缓存值;
根据各个所述分块缓存值定位所述各个分块资源,并对所述各个分块资源进行刷新。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标刷新任务属于文件刷新,并且所述目标刷新任务指向的目标资源不是分块缓存文件,则基于所述目标刷新任务计算所述目标资源的目标缓存值;
根据所述目标缓存值定位所述目标资源,并对所述目标资源进行刷新。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标刷新任务属于文件刷新,并且所述目标刷新任务指向的目标资源是分块缓存文件,但无法查找到所述目标资源的第一分块资源;或者,
所述目标刷新任务不属于文件刷新,则存储所述目标刷新任务,并记录所述目标刷新任务的接收时间。
6.根据权利要求5所述的方法,其特征在于,在记录所述目标刷新任务的接收时间之后,所述方法还包括:
根据预设周期遍历本地缓存文件,查询所述本地缓存文件中是否存在所述目标资源;
若存在所述目标资源,则判断所述目标资源的本地存储时间是否小于或者等于所述目标刷新任务的接收时间,若是,则对所述目标资源进行刷新;
若否,则不对所述目标资源进行刷新。
7.根据权利要求5所述的方法,其特征在于,存储所述目标刷新任务包括:
基于所述目标刷新任务计算所述目标资源的目标缓存值;
建立所述目标刷新任务与所述目标缓存值之间的映射关系,并存储所述目标缓存值。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收用户客户端发送的目的资源获取请求,其中,所述目的资源获取请求与所述HTTP刷新请求具有相同的变量字段;
基于所述目的资源获取请求计算目的资源的目的缓存值,并判断是否存储有所述目的缓存值,若存储有所述目的缓存值,则查询本地缓存文件中是否存在所述目的资源;
若存在所述目的资源,则基于所述目的资源的本地存储时间,以及与所述目的缓存值相对应的目的刷新任务的接收时间,判断是否对所述目的资源进行刷新;
若不存在所述目的资源,则向所述目的资源所在的源站请求所述目的资源。
9.根据权利要求8所述的方法,其特征在于,当不存在所述目的资源,并向所述目的资源所在的源站请求所述目的资源时,所述方法还包括:
判断所述目的资源是否属于分块缓存文件,若属于,则判断所述目的资源中是否包含起始分块资源,若不包含所述起始分块资源,则生成起始分块资源获取请求,以从所述源站获取所述起始分块资源。
10.一种内容刷新装置,其特征在于,所述装置应用于缓存服务器中,所述装置包括:
刷新请求接收模块,用于接收刷新客户端发送的HTTP刷新请求,其中,所述HTTP刷新请求的请求头中携带有多个刷新任务;
刷新请求处理模块,用于解析所述HTTP刷新请求,以获取所述多个刷新任务,并判断所述多个刷新任务中任意一个目标刷新任务是否属于文件刷新,若属于,则判断所述目标刷新任务指向的目标资源是否为分块缓存文件,若所述目标资源是分块缓存文件,则基于所述目标资源的第一分块资源,计算所述目标资源各个分块资源的分块缓存值,以对所述目标资源进行刷新。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括刷新请求执行模块,
所述刷新请求处理模块,还用于查找所述目标资源的第一分块资源,以获取所述目标资源的整体文件大小;
所述刷新请求执行模块,用于根据所述整体文件大小获取所述目标资源的分块资源数量,并基于所述分块资源数量计算各个分块资源的分块缓存值,以对所述目标资源进行刷新。
12.根据权利要求11所述的装置,其特征在于,基于所述分块资源数量计算各个分块资源的分块缓存值,以对所述目标资源进行刷新包括:
根据所述分块资源数量计算各个分块资源的偏移量;
基于所述目标刷新任务和所述各个分块资源的偏移量,计算所述各个分块资源的分块缓存值;
根据各个所述分块缓存值定位所述各个分块资源,并对所述各个分块资源进行刷新。
13.根据权利要求11所述的装置,其特征在于,
所述刷新请求处理模块,还用于若所述目标刷新任务属于文件刷新,并且所述目标刷新任务指向的目标资源不是分块缓存文件,则基于所述目标刷新任务计算所述目标资源的目标缓存值;
所述刷新请求执行模块,还用于根据所述目标缓存值定位所述目标资源,并对所述目标资源进行刷新。
14.根据权利要求13所述的装置,其特征在于,
所述刷新请求处理模块,还用于若所述目标刷新任务属于文件刷新,并且所述目标刷新任务指向的目标资源是分块缓存文件,但无法查找到所述目标资源的第一分块资源;或者,
所述目标刷新任务不属于文件刷新,则存储所述目标刷新任务,并记录所述目标刷新任务的接收时间。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
刷新请求查询模块,用于根据预设周期遍历本地缓存文件,查询所述本地缓存文件中是否存在所述目标资源,若存在所述目标资源,则判断所述目标资源的本地存储时间是否小于或者等于所述目标刷新任务的接收时间,若是,则对所述目标资源进行刷新;
若否,则不对所述目标资源进行刷新。
16.根据权利要求14所述的装置,其特征在于,存储所述目标刷新任务包括:
基于所述目标刷新任务计算所述目标资源的目标缓存值;
建立所述目标刷新任务与所述目标缓存值之间的映射关系,并存储所述目标缓存值。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
资源请求接收模块,用于接收用户客户端发送的目的资源获取请求,其中,所述目的资源获取请求与所述HTTP刷新请求具有相同的变量字段;
资源请求处理模块,用于基于所述目的资源获取请求计算目的资源的目的缓存值,并判断是否存储有所述目的缓存值,若存储有所述目的缓存值,则查询本地缓存文件中是否存在所述目的资源;
所述刷新请求查询模块,还用于若存在所述目的资源,则基于所述目的资源的本地存储时间,以及与所述目的缓存值相对应的目的刷新任务的接收时间,判断是否对所述目的资源进行刷新,若不存在所述目的资源,则向所述目的资源所在的源站请求所述目的资源。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括:
分块资源识别模块,用于当不存在所述目的资源,并向所述目的资源所在的源站请求所述目的资源时,判断所述目的资源是否属于分块缓存文件,若属于,则判断所述目的资源中是否包含起始分块资源,若不包含所述起始分块资源,则生成起始分块资源获取请求,以从所述源站获取所述起始分块资源。
19.一种内容刷新装置,其特征在于,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,实现如权利要求1至9中任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011293073.6A CN112637262B (zh) | 2020-11-18 | 2020-11-18 | 一种内容刷新方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011293073.6A CN112637262B (zh) | 2020-11-18 | 2020-11-18 | 一种内容刷新方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112637262A CN112637262A (zh) | 2021-04-09 |
CN112637262B true CN112637262B (zh) | 2022-12-02 |
Family
ID=75303355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011293073.6A Active CN112637262B (zh) | 2020-11-18 | 2020-11-18 | 一种内容刷新方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112637262B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017005095A1 (zh) * | 2015-07-03 | 2017-01-12 | 阿里巴巴集团控股有限公司 | 缓存资源、更新缓存资源的方法、客户端、服务器及系统 |
CN109347968A (zh) * | 2018-11-07 | 2019-02-15 | 网宿科技股份有限公司 | 一种下载资源文件的数据块的方法、设备和系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741730B (zh) * | 2009-12-02 | 2012-05-30 | 成都市华为赛门铁克科技有限公司 | 文件下载方法及设备、提供文件下载服务的方法及系统 |
CN103200278B (zh) * | 2013-04-25 | 2016-08-31 | 网宿科技股份有限公司 | 源站文件更新发布方法及缓存文件更新方法 |
CN104951480B (zh) * | 2014-03-31 | 2018-05-08 | 杭州迪普科技股份有限公司 | 一种cdn系统中资源存储的索引装置及方法 |
US10313463B2 (en) * | 2015-02-19 | 2019-06-04 | Akamai Technologies, Inc. | Systems and methods for avoiding server push of objects already cached at a client |
CN106657249B (zh) * | 2016-10-25 | 2019-07-09 | 杭州迪普科技股份有限公司 | 更新缓存资源的方法及装置 |
CN108183960B (zh) * | 2017-12-29 | 2021-09-21 | 中国平安人寿保险股份有限公司 | 基于cdn的文件更新方法、服务器、存储介质及装置 |
CN108494875A (zh) * | 2018-04-10 | 2018-09-04 | 网宿科技股份有限公司 | 一种反馈资源文件的方法和装置 |
CN111385316B (zh) * | 2018-12-27 | 2022-06-21 | 阿里巴巴集团控股有限公司 | 资源刷新方法、访问方法及装置 |
CN111475180A (zh) * | 2019-01-24 | 2020-07-31 | 北京京东尚科信息技术有限公司 | 更新客户端缓存的方法和系统 |
-
2020
- 2020-11-18 CN CN202011293073.6A patent/CN112637262B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017005095A1 (zh) * | 2015-07-03 | 2017-01-12 | 阿里巴巴集团控股有限公司 | 缓存资源、更新缓存资源的方法、客户端、服务器及系统 |
CN109347968A (zh) * | 2018-11-07 | 2019-02-15 | 网宿科技股份有限公司 | 一种下载资源文件的数据块的方法、设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112637262A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10027564B2 (en) | Unobtrusive methods and systems for collecting information transmitted over a network | |
CN110046133B (zh) | 一种存储文件系统的元数据管理方法、装置及系统 | |
US9906595B2 (en) | Content source discovery | |
CN102882974B (zh) | 一种通过网站识别版本号节省网站访问资源的方法 | |
CN109640113B (zh) | 一种拖拉视频数据的处理方法及代理服务器 | |
CN109167840B (zh) | 一种任务推送方法、节点自治服务器及边缘缓存服务器 | |
US20140359066A1 (en) | System, method and device for offline downloading resource and computer storage medium | |
CN106817388B (zh) | 虚拟机、宿主机获取数据的方法、装置及访问数据的系统 | |
CN108228322B (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
US11799961B2 (en) | File directory traversal method, apparatus, device, and medium | |
US20110302272A1 (en) | Unobtrusive methods and systems for collecting information transmitted over a network | |
TW202001618A (zh) | 檔案處理的方法及裝置 | |
WO2019196225A1 (zh) | 一种反馈资源文件的方法和装置 | |
CN109947718A (zh) | 一种数据存储方法、存储平台及存储装置 | |
CN104503983A (zh) | 为搜索引擎提供网站认证数据的方法及装置 | |
CN112637262B (zh) | 一种内容刷新方法和装置 | |
CN107613016B (zh) | 文件批量下载方法、客户端、分发服务器及系统 | |
CN110855786B (zh) | 针对网络数据请求的处理方法、设备及计算机存储介质 | |
CN112149017A (zh) | 一种网页访问方法、装置、系统、电子设备及存储介质 | |
WO2021037072A1 (zh) | 一种缓存信息的更新方法、装置、设备及介质 | |
JP5734416B2 (ja) | ネットワークトラフィック分析方法、ネットワークトラフィック分析装置、コンピュータプログラム | |
CN105700894A (zh) | 一种修改http响应数据的方法及装置 | |
CN113626188B (zh) | 任务推送方法、装置、计算机设备和存储介质 | |
CN112968980B (zh) | 一种概率确定方法、装置、存储介质及服务器 | |
WO2017097027A1 (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 |