CN111125580A - 网络资源获取方法、装置、电子设备及存储介质 - Google Patents
网络资源获取方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111125580A CN111125580A CN201911250722.1A CN201911250722A CN111125580A CN 111125580 A CN111125580 A CN 111125580A CN 201911250722 A CN201911250722 A CN 201911250722A CN 111125580 A CN111125580 A CN 111125580A
- Authority
- CN
- China
- Prior art keywords
- resource
- fingerprint information
- cache
- target
- node device
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了网络资源获取方法、装置、电子设备及存储介质,方法包括:当本节点设备接收到下级节点设备发送的用于获取目标资源的资源请求时,在本地缓存中查找目标资源对应的第一缓存资源和第一缓存资源对应的第一指纹信息,如果查找到第一缓存资源,则从上级节点设备获取第二指纹信息,并通过对比第一指纹信息和第二指纹信息确定资源是否更新;如果第一指纹信息与第二指纹信息一致,则返回第一缓存资源给下级节点设备,否则,重定位目标资源,并将重定位的目标资源返回给下级节点设备。本申请方法既能提高客户端访问资源的速度,减轻网络带宽压力,还能确保资源的准确性,避免脏读。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种网络资源获取方法、装置、电子设备及存储介质。
背景技术
网络信息资源简称网络资源,是指以电子资源数据的形式,将文字、图像、声音、动画等多种形式的信息储存在光、磁等非印刷质的介质中,利用计算机通过网络进行发布、传递、储存的各类信息资源的总和。客户端可以通过向代理服务器或者负载均衡服务器发送资源请求,直接获取网络资源。
随着互联网业务的丰富及资源需求量的增加,直接获取网络资源的方式已然无法满足用户对资源访问速度的要求。为了提高资源访问速度,已有技术将网络资源预先缓存在网络中的各个节点设备内,并通过预定的资源分发策略为客户端所需资源分发给客户端,从而使客户端可以避开拥塞链路并就近获取到所需资源,提高资源访问速度。例如,将网络资源缓存在CDN(Content Delivery Network,内容分发网络)设备中,并利用CDN的负载均衡、内容分发及调度等功能模块为客户端分发资源。
然而,由于缓存中的网络资源存在更新延迟的问题,即缓存中网络资源的更新时间晚于资源提供者更新网络资源的时间,因此容易使客户端获取到错误信息。
发明内容
本申请提供一种网络资源获取方法、装置、电子设备及存储介质,以解决由于缓存中的网络资源存在更新延迟的问题,即缓存中网络资源的更新时间晚于资源提供者更新网络资源的时间,因此容易使客户端获取到错误信息的问题。
第一方面,本申请提供一种网络资源获取方法,所述方法包括:
接收下级节点设备发送的资源请求,所述资源请求用于获取目标资源;
根据所述资源请求在本地缓存中查找所述目标资源对应的第一缓存资源和所述第一缓存资源对应的第一指纹信息;
如果查找到所述第一缓存资源,则从上级节点设备获取第二指纹信息,所述第二指纹信息对应于所述上级节点设备中的与所述目标资源对应的第二缓存资源;
对比所述第一指纹信息与所述第二指纹信息;
如果所述第一指纹信息与所述第二指纹信息一致,则返回所述第一缓存资源给所述下级节点设备;
如果未查找到所述第一缓存资源或者所述第一指纹信息与所述第二指纹信息不一致,则根据所述资源请求重定位所述目标资源;
将重定位的目标资源返回给所述下级节点设备。
进一步,所述资源请求包括所述目标资源的URL、资源标识和资源参数中的至少一项;
所述根据资源请求在本地缓存中查找所述目标资源对应的第一缓存资源,包括:
根据所述目标资源的URL、资源标识和/或资源参数在本地缓存中查找所述第一缓存资源,所述第一缓存资源的URL、资源标识和/或资源参数中的至少一项与所述目标资源相同。
进一步,所述根据资源请求重定位目标资源,包括:
将所述资源请求发送给上级节点设备;
接收上级节点设备根据所述资源请求返回的目标资源,所述重定位的目标资源为所述第二缓存资源或者其他节点设备中的所述目标资源对应的缓存资源。
进一步,如果查找到所述第一缓存资源且未查找到所述第一指纹信息,则根据所述第一缓存资源生成第一指纹信息,以用于与所述第二指纹信息进行对比;
以及,将生成的所述第一指纹信息在所述本地缓存中与所述第一缓存资源对应保存。
进一步,所述方法还包括:
使用所述重定位的目标资源替换所述第一缓存资源;
以及,根据所述重定位的目标资源生成目标指纹信息;
使用所述目标指纹信息替换所述第一指纹信息。
进一步,所述方法还包括:
周期性从上级节点设备获取第二资源列表,所述第二资源列表对应存储有所述上级节点设备缓存的所有资源的资源标识和指纹信息;
根据所述第二资源列表对本地缓存中的资源进行更新。
进一步,所述根据所述第二资源列表对本地缓存中的资源进行更新,包括:
根据所述资源标识,将同一个资源在所述第二资源列表中的指纹信息与所述资源在本地缓存中的指纹信息对比;
确定指纹信息不一致的资源为待更新资源;
重定位所述待更新资源对应的更新资源;
使用更新资源对所述待更新资源及对应的指纹信息进行更新。
进一步,所述方法还包括:
周期性向所述下级节点设备发送第一资源列表,以使所述下级节点设备根据所述第一资源列表对所述下级节点设备缓存的资源进行更新,所述第一资源列表对应存储有所述本地缓存中所有资源的资源标识和指纹信息。
第二方面,本申请还提供一种网络资源获取装置,应用于中间节点设备,所述装置包括:
存储模块,用于缓存网络资源和所述网络资源对应的指纹信息;
接收模块,用于接收下级节点设备发送的资源请求,所述资源请求用于获取目标资源;
查找模块,用于根据所述资源请求在所述存储模块中查找所述目标资源对应的第一缓存资源和所述第一缓存资源对应的第一指纹信息;
获取模块,用于如果查找到所述第一缓存资源,则从上级节点设备获取第二指纹信息,所述第二指纹信息对应于所述上级节点设备中的与所述目标资源对应的第二缓存资源;
对比模块,用于对比所述第一指纹信息与所述第二指纹信息;
返回模块,用于如果所述第一指纹信息与所述第二指纹信息一致,则返回所述第一缓存资源给所述下级节点设备;
重定位模块,用于如果未查找到所述第一缓存资源或者所述第一指纹信息与所述第二指纹信息不一致,根据所述资源请求重定位目标资源;
所述返回模块,还用于将重定位的目标资源返回给所述下级节点设备。
进一步,所述资源请求包括所述目标资源的URL、资源标识和资源参数中的至少一项;
所述查找模块具体用于,根据所述目标资源的URL、资源标识和/或资源参数在本地缓存中查找所述第一缓存资源,所述第一缓存资源的URL、资源标识和/或资源参数中的至少一项与所述目标资源相同。
进一步,所述重定位模块包括:
发送单元,用于将所述资源请求发送给上级节点设备;
接收单元,用于接收上级节点设备根据所述资源请求返回的目标资源,所述重定位的目标资源为所述第二缓存资源或者其他节点设备中的所述目标资源对应的缓存资源。
进一步,所述装置还包括:
指纹生成模块,用于如果查找到所述第一缓存资源且未查找到所述第一指纹信息,则根据所述第一缓存资源生成第一指纹信息,以用于与所述第二指纹信息进行对比;
所述存储模块,还用于将生成的所述第一指纹信息与所述第一缓存资源对应保存。
进一步,所述装置还包括:
资源更新模块,用于使用所述重定位的目标资源替换所述第一缓存资源;
以及,使用所述指纹生成模块根据所述重定位的目标资源生成的目标指纹信息替换所述第一指纹信息;
所述指纹生成模块,还用于根据所述重定位的目标资源生成目标指纹信息。
进一步,所述装置还包括:
资源同步模块,用于周期性从上级节点设备获取第二资源列表,所述第二资源列表对应存储有所述上级节点设备缓存的所有资源的资源标识和指纹信息;
以及,根据所述第二资源列表对本地缓存中的资源进行更新。
进一步,所述资源同步模块包括:
对比单元,用于根据所述资源标识,将同一个资源在所述第二资源列表中的指纹信息与所述资源在本地缓存中的指纹信息对比;
确定单元,用于确定指纹信息不一致的资源为待更新资源;
重定位单元,用于重定位所述待更新资源对应的更新资源;
更新单元,用于使用更新资源对所述待更新资源及对应的指纹信息进行更新。
进一步,所述装置还包括:
资源发布模块,用于周期性向所述下级节点设备发送第一资源列表,以使所述下级节点设备根据所述第一资源列表对所述下级节点设备缓存的资源进行更新,所述第一资源列表对应存储有所述本地缓存中所有资源的资源标识和指纹信息。
第三方面,本申请还提供一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面所述的方法。
第四方面,本申请还提供一种存储介质,所述存储介质中存储有计算机程序,当第二方面所述的装置的至少一个处理器执行所述计算机程序时,所述装置执行第一方面所述的方法。
由以上技术方案可知,本申请提供一种网络资源获取方法、装置、电子设备及存储介质,所述方法包括:当本节点设备接收到下级节点设备发送的用于获取目标资源的资源请求时,在本地缓存中查找目标资源对应的第一缓存资源和第一缓存资源对应的第一指纹信息,如果查找到第一缓存资源,则从上级节点设备获取第二指纹信息,并通过对比第一指纹信息和第二指纹信息确定资源是否更新;如果第一指纹信息与第二指纹信息一致,则返回第一缓存资源给下级节点设备,否则,重定位目标资源,并将重定位的目标资源返回给下级节点设备。
由于本节点设备在向下分发缓存的网络资源之前,会确定缓存的资源是否为最新资源,若是最新资源则直接分发缓存的资源,若非最新资源则进行资源重定位,因此本申请方法既能提高客户端访问资源的速度,减轻网络带宽压力,还能确保资源的准确性,避免脏读。另外,由于本节点设备通过与上级节点设备交互资源的指纹信息来确定资源是否发生更新,而指纹信息相对于资源文件本身具有极轻的数据量,意味着该交互过程只会占用极小部分的带宽资源,并且在链路拥塞时也容易实现,因此不会对带宽造成额外的压力。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请根据一示例性实施例示出的网络节点拓扑结构示意图;
图2为本申请根据一示例性实施例示出的网络资源获取方法流程图;
图3为本申请根据一示例性实施例示出的网络资源获取装置框图;
图4为本申请根据一示例性实施例示出的电子设备硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
随着互联网业务的丰富及资源需求量的增加,直接获取网络资源的方式已然无法满足用户对资源访问速度的要求。为了提高资源访问速度,可以将网络资源预先缓存在网络中的各个节点设备内,并通过预定的资源分发策略为客户端所需资源分发给客户端,从而使客户端可以避开拥塞链路并就近获取到所需资源,提高资源访问速度。
图1为本申请根据一示例性实施例示出的网络节点拓扑结构示意图,如图1所示,至少两个节点设备可以组成一条数据链路,数据流在数据链路上的节点设备之间传输。根据数据流的传输方向,同一条数据链路上的多个节点设备之间具有层级关系。例如,节点设备1向节点设备2发送资源请求,节点设备2将资源请求转发给节点设备3,在这条数据链路中,节点设备1的层级最低,为节点设备2的下级节点设备,节点设备3的层级最高,为节点设备2的上级节点设备。
本实施例中,某个下级节点设备对应的上级节点设备为该下级节点设备可直接交互的节点设备,一般为使数据传输路径最短的节点设备,一个下级节点设备可以对应一个或多个上级节点设备。客户端则为链路中层级最低的节点设备。
另外,为了便于说明,本实施例将图1所示网络结构中的节点设备分为边界节点设备和中间节点设备,其中,边界节点设备包括最初发起请求的节点设备(如客户端设备)和最初发布资源及提供资源更新的节点设备,中间节点设备则为除边界节点设备以外的节点设备。
基于图1所示的网络结构,本申请实施例提供一种网络资源获取方法,该方法能够将最新的网络资源分发给资源请求方,并及时更新节点设备缓存的网络资源,避免客户端获取到错误资源。其中,资源请求方可以是网络中包括客户端设备在内的任意一个节点设备。图2为本申请根据一示例性实施例示出的网络资源获取方法流程图,应用于图1所示网络结构中的任意一个中间节点设备,为了便于区分,本申请实施例将本申请方法所应用的节点设备称为本节点设备,本节点设备对应至少一个下级节点设备和至少一个上级节点设备。
如图2所示,该方法可以包括:
步骤210,接收下级节点设备发送的资源请求,所述资源请求用于获取目标资源。
目标资源是指下级节点设备所要获取的网络资源。资源请求可以包括目标资源的资源ID,资源参数和URL(Uniform Resource Locator,统一资源定位符)等。在一些实施例中,资源ID、资源参数可以包含在URL地址中。
步骤210涉及的下级节点设备可以是客户端设备或者图1所示网络结构中的中间节点设备。例如,在图1所示的由节点设备1、2、3组成的数据链路中,节点设备2作为节点设备1的上级节点设备,可以接收到节点设备1发送的资源请求,节点设备3作为节点设备2的上级节点设备,可以接收到节点设备2发送的资源请求。
步骤220,根据资源请求在本地缓存中查找目标资源对应的第一缓存资源和第一缓存资源对应的第一指纹信息。
本地缓存是指本节点设备的缓存区,本节点设备预先将若干网络资源保存在其本地缓存中,从而当接收到下级节点设备发送的资源请求时,可以将缓存的资源返回给下级节点设备,进而实现对客户端访问资源的快速响应。
第一缓存资源为本地缓存中与目标资源对应的资源,由于目标资源应当为最新资源,因此在第一缓存资源更新延迟的情形中,目标资源与第一缓存资源并非内容相同的资源,所以第一缓存资源与目标资源为对应关系。
指纹信息是网络资源内容的唯一性标识,可以根据资源的类型、最后修改时间、资源内容等信息,采用相关算法计算得到,例如MD5(Message Digest Algorithm MD5,消息摘要算法第五版)。步骤220涉及的第一指纹信息根据第一缓存资源计算得到,例如,可以在上一次更新第一缓存资源时,根据最新的第一缓存资源计算出第一指纹信息,并将第一指纹信息与第一缓存资源对应保存在本地缓存中。
由于当资源内容发生变化时,其指纹信息会相应变化,因此步骤220在查找第一缓存资源的同时,查找第一指纹信息,目的是将第一指纹信息与上级节点设备中第二缓存资源对应的第二指纹信息进行比较,以确定第二缓存资源相对于第一缓存资源是否发生更新,其中,第二缓存资源为上级节点设备中的与目标资源对应的缓存资源。
具体实现时,可以根据资源请求中目标资源的URL、资源ID和/或资源参数在本地缓存中查找第一缓存资源,第一缓存资源的URL、资源ID和/或资源参数中的至少一项与目标资源相同。
步骤220的查找结果包括三种,其一是查找到第一缓存资源且查找到第一指纹信息,其二是查找到第一缓存资源但未查找到第一指纹信息,其三是未查找到第一缓存资源。在查找到第一缓存资源的情况下,执行步骤230,在未查找到第一缓存资源的情况下,执行步骤260。
其中,如果查找到第一缓存资源但未查找第一指纹信息,则根据第一缓存资源生成第一指纹信息,以用于与第二指纹信息进行对比,并将生成的第一指纹信息在本地缓存中与第一缓存资源对应保存。
在步骤230中,从上级节点设备获取第二指纹信息,第二指纹信息对应于上级节点设备中的与目标资源对应的第二缓存资源。
为了便于区分,将上级节点设备缓存的与目标资源对应的资源成为第二缓存资源,第二指纹信息根据第二缓存资源生成。
具体实现时,向上级节点设备发送指纹信息请求,该指纹信息请求包括目标资源的URL、资源ID、资源参数等;上级节点设备接收到指纹信息请求后,在上级节点设备本地缓存中查找第二指纹信息或者第二缓存资源,若查找到第二指纹信息,则将第二指纹信息返回,若未查找到第二指纹信息,则根据查找到的第二缓存资源生成第二指纹信息,再将生成的第二指纹信息返回,同时将第二指纹信息对第二缓存资源对应保存在其本地缓存中。其中,第二缓存资源的URL、资源ID和资源参数中的至少一项与目标资源相同。
步骤240,对比第一指纹信息与第二指纹信息。
由于若对资源进行了更新则资源内容必然发生变化,故其指纹信息必然发生变化,因此通过对比第一指纹信息与第二指纹信息可以确定第二缓存资源相对于第一缓存资源是否发生更新,如果第一指纹信息与第二指纹信息一致,说明第二缓存资源未发生更新,此时,本节点设备可以直接将第一缓存资源返回给下级节点设备,如果第一指纹信息与第二指纹信息不一致,说明第二缓存资源发生更新,此时,本节点设备需要根据资源请求重定位目标资源。
具体的,在步骤250中,如果第一指纹信息与第二指纹信息一致,则返回第一缓存资源给所述下级节点设备。
在步骤260中,如果第一指纹信息与第二指纹信息不一致,则重定位所述目标资源。
在一些实施例中,重定位目标资源的步骤包括:首先将资源请求发送给上级节点设备,然后接收由上级节点设备返回的目标资源。需要说明的是,将资源请求发送给上级节点设备,可以触发上级节点设备执行本节点设备在接收到资源请求后所执行的步骤流程。
示例性地,参阅图1,节点设备1向上级节点设备2发送资源请求,节点设备2执行步骤210-240,如果节点设备2在步骤240中对比指纹信息不一致,则在步骤260中将资源请求转发给节点设备3,节点设备3执行步骤210-240,如果节点设备3在步骤240中对比指纹信息一致,则将其本地缓存中与目标资源对应的缓存资源发送给节点设备2,如果节点设备3在步骤240中对比指纹信息不一致,则将资源请求转发给节点设备3的上级节点设备,从而进入到下一个循环中。
可以看出,重定位的目标资源可能是第二缓存资源,也可能是其他节点设备中的与目标资源对应的缓存资源。
最后,在步骤270中,将重定位的目标资源返回给所述下级节点设备。
需要说明的是,重定位的目标资源可以是资源文件数据流,也可以是目标资源的其他访问地址,例如指向其他节点设备的访问地址。
由以上实施例可知,本申请提供一种网络资源获取方法,应用于网络中任意一个中间节点设备,该方法包括:当本节点设备接收到下级节点设备发送的用于获取目标资源的资源请求时,在本地缓存中查找目标资源对应的第一缓存资源和第一缓存资源对应的第一指纹信息,如果查找到第一缓存资源,则从上级节点设备获取第二指纹信息,并通过对比第一指纹信息和第二指纹信息确定资源是否更新;如果第一指纹信息与第二指纹信息一致,则返回第一缓存资源给下级节点设备,否则,重定位目标资源,并将重定位的目标资源返回给下级节点设备。
由于本节点设备在向下分发缓存的网络资源之前,会确定缓存的资源是否为最新资源,若是最新资源则直接分发缓存的资源,若非最新资源则进行资源重定位,因此本申请方法既能提高客户端访问资源的速度,减轻网络带宽压力,还能确保资源的准确性,避免脏读。另外,由于本节点设备通过与上级节点设备交互资源的指纹信息来确定资源是否发生更新,而指纹信息相对于资源文件本身具有极轻的数据量,意味着该交互过程只会占用极小部分的带宽资源,并且在链路拥塞时也容易实现,因此不会对带宽造成额外的压力。
在一些实施例中,本申请提供的网络资源获取方法,还包括:使用重定位的目标资源对第一缓存资源及第一指纹信息进行更新。具体的,使用重定位的目标资源替换本地缓存中的第一缓存资源,以及,根据重定位的目标资源生成目标指纹信息,使用生成的目标指纹信息替换本地缓存中第一指纹信息。
在一些实施例中,本申请提供的网络资源获取方法,还包括:周期性从上级节点设备获取第二资源列表,该第二资源列表对应存储有上级节点设备缓存的所有资源的资源标识和指纹信息;根据第二资源列表对本地缓存中的资源进行更新。
具体实现时,预先根据本地缓存中所有资源的资源标识和对应的指纹信息生成第一资源列表,并周期性对第一资源列表进行更新和维护。每次获取到第二资源列表后,根据资源标识,将同一个资源在第一资源列表中的指纹信息与其在第二资源列表中的指纹信息进行对比,若对比结果显示指纹信息一致,则无需对该资源进行更新,如果对比结果显示指纹信息不一致,则确定该资源为待更新资源;此时,需要重定位待更新资源对应的更新资源,并使用更新资源对待更新资源及对应的指纹信息进行更新。
其中,重定位待更新资源具体可以包括:根据待更新资源的资源标识、资源参数和/或URL生成更新请求,并将更新请求发送给上级节点设备,以使上级节点设备根据接收到的更新请求查找并返回与待更新资源对应的更新资源,接收上级节点设备返回的更新资源。
在一些实施例中,本申请提供的网络资源获取方法,还包括:周期性向下级节点设备发送预先生成的第一资源列表,以使下级节点设备根据第一资源列表对下级节点设备缓存的资源进行更新。其中,第一资源列表对应存储有本地缓存中所有资源的资源标识和指纹信息。
需要说明的是,下级节点设备根据第一资源列表更新其缓存资源的过程可以参考上述实施例中本节点设备根据第二资源列表更新本地缓存的过程,此处不予赘述。
由以上实施例可知,各个中间节点设备周期性对其缓存的网络资源进行更新,从而尽量保证更新的及时性,尽可能地减少在客户端访问资源时执行资源重定位的过程,提高访问速度。
根据上述实施例提供的网络资源获取方法,本申请实施例还提供网络资源获取装置,应用于中间节点设备,如图3所示,该装置可以包括:
存储模块310,用于缓存网络资源和所述网络资源对应的指纹信息;接收模块320,用于接收下级节点设备发送的资源请求,所述资源请求用于获取目标资源;查找模块330,用于根据所述资源请求在所述存储模块中查找所述目标资源对应的第一缓存资源和所述第一缓存资源对应的第一指纹信息;获取模块340,用于如果查找到所述第一缓存资源,则从上级节点设备获取第二指纹信息,所述第二指纹信息对应于所述上级节点设备中的与所述目标资源对应的第二缓存资源;对比模块350,用于对比所述第一指纹信息与所述第二指纹信息;返回模块360,用于如果所述第一指纹信息与所述第二指纹信息一致,则返回所述第一缓存资源给所述下级节点设备;重定位模块370,用于如果所述第一指纹信息与所述第二指纹信息不一致,根据所述资源请求重定位目标资源;所述返回模块360,还用于将重定位的目标资源返回给所述下级节点设备。
在一些实施例中,所述资源请求包括所述目标资源的URL、资源标识和资源参数中的至少一项;所述查找模块320具体用于,根据所述目标资源的URL、资源标识和/或资源参数在本地缓存中查找所述第一缓存资源,所述第一缓存资源的URL、资源标识和/或资源参数中的至少一项与所述目标资源相同。
在一些实施例中,重定位模块370包括:发送单元,用于将所述资源请求发送给上级节点设备;接收单元,用于接收上级节点设备根据所述资源请求返回的目标资源,所述重定位的目标资源为所述第二缓存资源或者其他节点设备中的所述目标资源对应的缓存资源。
在一些实施例中,所述装置还包括:指纹生成模块,用于如果查找到所述第一缓存资源且未查找到所述第一指纹信息,则根据所述第一缓存资源生成第一指纹信息,以用于与所述第二指纹信息进行对比;所述存储模块310,还用于将生成的所述第一指纹信息与所述第一缓存资源对应保存。
在一些实施例中,所述装置还包括:资源更新模块,用于使用所述重定位的目标资源替换所述第一缓存资源;以及,使用所述指纹生成模块根据所述重定位的目标资源生成的目标指纹信息替换所述第一指纹信息;所述指纹生成模块,还用于根据所述重定位的目标资源生成目标指纹信息。
在一些实施例中,所述装置还包括:资源同步模块,用于周期性从上级节点设备获取第二资源列表,所述第二资源列表对应存储有所述上级节点设备缓存的所有资源的资源标识和指纹信息;以及,根据所述第二资源列表对本地缓存中的资源进行更新。
在一些实施例中,所述资源同步模块包括:对比单元,用于根据所述资源标识,将同一个资源在所述第二资源列表中的指纹信息与所述资源在本地缓存中的指纹信息对比;确定单元,用于确定指纹信息不一致的资源为待更新资源;重定位单元,用于重定位所述待更新资源对应的更新资源;更新单元,用于使用更新资源对所述待更新资源及对应的指纹信息进行更新。
在一些实施例中,所述装置还包括:资源发布模块,用于周期性向所述下级节点设备发送第一资源列表,以使所述下级节点设备根据所述第一资源列表对所述下级节点设备缓存的资源进行更新,所述第一资源列表对应存储有所述本地缓存中所有资源的资源标识和指纹信息。
图4为本申请实施例提供的电子设备的硬件结构示意图。如图4所示,该电子设备,可以包括:存储器401,用于存储程序指令;处理器402,用于调用并执行所述存储器中的程序指令,以实现上述网络资源获取方法。
本实施例中,处理器和存储器可通过总线或其他方式连接。处理器可以是通用处理器,例如中央处理器、数字信号处理器、专用集成电路,或者被配置成实施本发明实施例的一个或多个集成电路。存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘。
具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有计算程序,当网络资源获取装置的至少一个处理器执行所述计算机程序时,网络资源获取装置执行本申请网络资源获取方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置、电子设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。
Claims (18)
1.一种网络资源获取方法,其特征在于,所述方法包括:
接收下级节点设备发送的资源请求,所述资源请求用于获取目标资源;
根据所述资源请求在本地缓存中查找所述目标资源对应的第一缓存资源和所述第一缓存资源对应的第一指纹信息;
如果查找到所述第一缓存资源,则从上级节点设备获取第二指纹信息,所述第二指纹信息对应于所述上级节点设备中的与所述目标资源对应的第二缓存资源;
对比所述第一指纹信息与所述第二指纹信息;
如果所述第一指纹信息与所述第二指纹信息一致,则返回所述第一缓存资源给所述下级节点设备;
如果未查找到所述第一缓存资源或者所述第一指纹信息与所述第二指纹信息不一致,则根据所述资源请求重定位所述目标资源;
将重定位的目标资源返回给所述下级节点设备。
2.根据权利要求1所述的方法,其特征在于,所述资源请求包括所述目标资源的URL、资源标识和资源参数中的至少一项;
所述根据资源请求在本地缓存中查找所述目标资源对应的第一缓存资源,包括:
根据所述目标资源的URL、资源标识和/或资源参数在本地缓存中查找所述第一缓存资源,所述第一缓存资源的URL、资源标识和/或资源参数中的至少一项与所述目标资源相同。
3.根据权利要求1所述的方法,其特征在于,所述根据资源请求重定位目标资源,包括:
将所述资源请求发送给上级节点设备;
接收上级节点设备根据所述资源请求返回的目标资源,所述重定位的目标资源为所述第二缓存资源或者其他节点设备中的所述目标资源对应的缓存资源。
4.根据权利要求1所述的方法,其特征在于:
如果查找到所述第一缓存资源且未查找到所述第一指纹信息,则根据所述第一缓存资源生成第一指纹信息,以用于与所述第二指纹信息进行对比;
以及,将生成的所述第一指纹信息在所述本地缓存中与所述第一缓存资源对应保存。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
使用所述重定位的目标资源替换所述第一缓存资源;
以及,根据所述重定位的目标资源生成目标指纹信息;
使用所述目标指纹信息替换所述第一指纹信息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
周期性从上级节点设备获取第二资源列表,所述第二资源列表对应存储有所述上级节点设备缓存的所有资源的资源标识和指纹信息;
根据所述第二资源列表对本地缓存中的资源进行更新。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二资源列表对本地缓存中的资源进行更新,包括:
根据所述资源标识,将同一个资源在所述第二资源列表中的指纹信息与所述资源在本地缓存中的指纹信息对比;
确定指纹信息不一致的资源为待更新资源;
重定位所述待更新资源对应的更新资源;
使用更新资源对所述待更新资源及对应的指纹信息进行更新。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
周期性向所述下级节点设备发送第一资源列表,以使所述下级节点设备根据所述第一资源列表对所述下级节点设备缓存的资源进行更新,所述第一资源列表对应存储有所述本地缓存中所有资源的资源标识和指纹信息。
9.一种网络资源获取装置,应用于中间节点设备,其特征在于,所述装置包括:
存储模块,用于缓存网络资源和所述网络资源对应的指纹信息;
接收模块,用于接收下级节点设备发送的资源请求,所述资源请求用于获取目标资源;
查找模块,用于根据所述资源请求在所述存储模块中查找所述目标资源对应的第一缓存资源和所述第一缓存资源对应的第一指纹信息;
获取模块,用于如果查找到所述第一缓存资源,则从上级节点设备获取第二指纹信息,所述第二指纹信息对应于所述上级节点设备中的与所述目标资源对应的第二缓存资源;
对比模块,用于对比所述第一指纹信息与所述第二指纹信息;
返回模块,用于如果所述第一指纹信息与所述第二指纹信息一致,则返回所述第一缓存资源给所述下级节点设备;
重定位模块,用于如果未查找到所述第一缓存资源或者所述第一指纹信息与所述第二指纹信息不一致,根据所述资源请求重定位目标资源;
所述返回模块,还用于将重定位的目标资源返回给所述下级节点设备。
10.根据权利要求9所述的装置,其特征在于,所述资源请求包括所述目标资源的URL、资源标识和资源参数中的至少一项;
所述查找模块具体用于,根据所述目标资源的URL、资源标识和/或资源参数在本地缓存中查找所述第一缓存资源,所述第一缓存资源的URL、资源标识和/或资源参数中的至少一项与所述目标资源相同。
11.根据权利要求9所述的装置,其特征在于,所述重定位模块包括:
发送单元,用于将所述资源请求发送给上级节点设备;
接收单元,用于接收上级节点设备根据所述资源请求返回的目标资源,所述重定位的目标资源为所述第二缓存资源或者其他节点设备中的所述目标资源对应的缓存资源。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
指纹生成模块,用于如果查找到所述第一缓存资源且未查找到所述第一指纹信息,则根据所述第一缓存资源生成第一指纹信息,以用于与所述第二指纹信息进行对比;
所述存储模块,还用于将生成的所述第一指纹信息与所述第一缓存资源对应保存。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括:
资源更新模块,用于使用所述重定位的目标资源替换所述第一缓存资源;
以及,使用所述指纹生成模块根据所述重定位的目标资源生成的目标指纹信息替换所述第一指纹信息;
所述指纹生成模块,还用于根据所述重定位的目标资源生成目标指纹信息。
14.根据权利要求9所述的装置,其特征在于,所述装置还包括:
资源同步模块,用于周期性从上级节点设备获取第二资源列表,所述第二资源列表对应存储有所述上级节点设备缓存的所有资源的资源标识和指纹信息;
以及,根据所述第二资源列表对本地缓存中的资源进行更新。
15.根据权利要求14所述的装置,其特征在于,所述资源同步模块包括:
对比单元,用于根据所述资源标识,将同一个资源在所述第二资源列表中的指纹信息与所述资源在本地缓存中的指纹信息对比;
确定单元,用于确定指纹信息不一致的资源为待更新资源;
重定位单元,用于重定位所述待更新资源对应的更新资源;
更新单元,用于使用更新资源对所述待更新资源及对应的指纹信息进行更新。
16.根据权利要求9所述的装置,其特征在于,所述装置还包括:
资源发布模块,用于周期性向所述下级节点设备发送第一资源列表,以使所述下级节点设备根据所述第一资源列表对所述下级节点设备缓存的资源进行更新,所述第一资源列表对应存储有所述本地缓存中所有资源的资源标识和指纹信息。
17.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求1-8任一项所述的方法。
18.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,当权利要求9-16任一项所述的装置的至少一个处理器执行所述计算机程序时,所述装置执行权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911250722.1A CN111125580B (zh) | 2019-12-09 | 2019-12-09 | 网络资源获取方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911250722.1A CN111125580B (zh) | 2019-12-09 | 2019-12-09 | 网络资源获取方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125580A true CN111125580A (zh) | 2020-05-08 |
CN111125580B CN111125580B (zh) | 2023-08-15 |
Family
ID=70497823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911250722.1A Active CN111125580B (zh) | 2019-12-09 | 2019-12-09 | 网络资源获取方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125580B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112436974A (zh) * | 2020-07-29 | 2021-03-02 | 上海哔哩哔哩科技有限公司 | Cdn数据资源一致性检测方法、装置以及计算机设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266056B1 (en) * | 1998-11-30 | 2001-07-24 | Sun Microsystems, Inc. | Display widget interaction in embedded systems using child graphics contexts |
WO2004001629A1 (ja) * | 2002-06-19 | 2003-12-31 | Ariel Networks Co., Ltd. | ネットワークシステムおよびプログラム |
CN101127783A (zh) * | 2007-09-28 | 2008-02-20 | 北京金山软件有限公司 | 一种网站缓存方法和一种网站缓存的装置 |
US20080165727A1 (en) * | 2006-09-18 | 2008-07-10 | Nokia Corporation | Resource management techniques for wireless networks |
CN104077310A (zh) * | 2013-03-28 | 2014-10-01 | 联想(北京)有限公司 | 加载资源文件的方法、设备和系统 |
CN104951480A (zh) * | 2014-03-31 | 2015-09-30 | 杭州迪普科技有限公司 | 一种cdn系统中资源存储的索引装置及方法 |
CN106657249A (zh) * | 2016-10-25 | 2017-05-10 | 杭州迪普科技股份有限公司 | 更新缓存资源的方法及装置 |
CN106682176A (zh) * | 2016-12-29 | 2017-05-17 | 北京五八信息技术有限公司 | 页面的加载方法、装置和设备 |
CN107968807A (zh) * | 2016-10-20 | 2018-04-27 | 法乐第(北京)网络科技有限公司 | 自动更新本地缓存资源的方法及装置 |
WO2018184491A1 (zh) * | 2017-04-07 | 2018-10-11 | 华为技术有限公司 | 资源获取方法、装置及系统 |
-
2019
- 2019-12-09 CN CN201911250722.1A patent/CN111125580B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6266056B1 (en) * | 1998-11-30 | 2001-07-24 | Sun Microsystems, Inc. | Display widget interaction in embedded systems using child graphics contexts |
WO2004001629A1 (ja) * | 2002-06-19 | 2003-12-31 | Ariel Networks Co., Ltd. | ネットワークシステムおよびプログラム |
US20080165727A1 (en) * | 2006-09-18 | 2008-07-10 | Nokia Corporation | Resource management techniques for wireless networks |
CN101127783A (zh) * | 2007-09-28 | 2008-02-20 | 北京金山软件有限公司 | 一种网站缓存方法和一种网站缓存的装置 |
CN104077310A (zh) * | 2013-03-28 | 2014-10-01 | 联想(北京)有限公司 | 加载资源文件的方法、设备和系统 |
CN104951480A (zh) * | 2014-03-31 | 2015-09-30 | 杭州迪普科技有限公司 | 一种cdn系统中资源存储的索引装置及方法 |
CN107968807A (zh) * | 2016-10-20 | 2018-04-27 | 法乐第(北京)网络科技有限公司 | 自动更新本地缓存资源的方法及装置 |
CN106657249A (zh) * | 2016-10-25 | 2017-05-10 | 杭州迪普科技股份有限公司 | 更新缓存资源的方法及装置 |
CN106682176A (zh) * | 2016-12-29 | 2017-05-17 | 北京五八信息技术有限公司 | 页面的加载方法、装置和设备 |
WO2018184491A1 (zh) * | 2017-04-07 | 2018-10-11 | 华为技术有限公司 | 资源获取方法、装置及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112436974A (zh) * | 2020-07-29 | 2021-03-02 | 上海哔哩哔哩科技有限公司 | Cdn数据资源一致性检测方法、装置以及计算机设备 |
CN112436974B (zh) * | 2020-07-29 | 2021-12-24 | 上海哔哩哔哩科技有限公司 | Cdn数据资源一致性检测方法、装置以及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111125580B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11909639B2 (en) | Request routing based on class | |
CN109067930B (zh) | 域名接入方法、域名解析方法、服务器、终端及存储介质 | |
CN108696895B (zh) | 资源获取方法、装置及系统 | |
CN105224609B (zh) | 一种索引查询方法及装置 | |
CN108173774A (zh) | 一种客户端的升级方法及系统 | |
CN112513830A (zh) | 内容分发网络中的回源方法及相关装置 | |
CN109729183A (zh) | 请求处理方法、装置、设备及存储介质 | |
CN111639140A (zh) | 分布式数据存储方法、设备和存储介质 | |
CN112579319A (zh) | 一种基于LRU Cache优化的服务调用方法及装置 | |
CN109873855A (zh) | 一种基于区块链网络的资源获取方法和系统 | |
US9686372B1 (en) | Systems and methods for automatically rewriting network page code | |
CN113630457B (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
CN111125580B (zh) | 网络资源获取方法、装置、电子设备及存储介质 | |
CN115361279A (zh) | 配置数据的更新方法、装置、电子设备及计算机可读介质 | |
CN111367921A (zh) | 数据对象的刷新方法及装置 | |
JP6233846B2 (ja) | 可変長ノンスの生成 | |
CN113626188A (zh) | 任务推送方法、装置、计算机设备和存储介质 | |
CN103685367A (zh) | 离线下载系统和方法 | |
CN110807040B (zh) | 管理数据的方法、装置、设备及存储介质 | |
CN113238836A (zh) | 一种分布式内容调度方法、调度系统及中心服务器 | |
CN111447291A (zh) | 基于dns的调度方法、系统及电子设备 | |
CN110555040A (zh) | 一种数据缓存方法、装置及服务器 | |
CN116668446A (zh) | 集群节点分流方法、装置、计算设备及存储介质 | |
CN114640717A (zh) | 一种cdn动态加速方法、装置及cdn边缘节点 | |
CN103618725B (zh) | 一种kad网络资源信息的获取方法及系统 |
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 |