CN114466032B - 一种cdn系统合并回源方法、装置及存储介质 - Google Patents
一种cdn系统合并回源方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114466032B CN114466032B CN202111617569.9A CN202111617569A CN114466032B CN 114466032 B CN114466032 B CN 114466032B CN 202111617569 A CN202111617569 A CN 202111617569A CN 114466032 B CN114466032 B CN 114466032B
- Authority
- CN
- China
- Prior art keywords
- resource
- source
- cached
- target resource
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000004044 response Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种CDN系统合并回源方法、装置及存储介质,其特征在于,所述方法包括:在接收到用户终端发送的资源请求时,判断目标资源是否正在缓存,其中,所述资源请求用于请求所述目标资源;若所述目标资源正在缓存,则判断等待所述目标资源缓存完成的时间是否达到预设等待时长;若未达到所述预设等待时长,则将缓存完成的所述目标资源返回给所述用户终端;若达到所述预设等待时长,则向源站发送所述资源请求以进行同时缓存。解决了现有技术中回源量相对较高的技术问题,解决了现有技术中获取资源等待时间过长的技术问题。
Description
技术领域
本发明涉及回源技术领域,尤涉及一种CDN系统合并回源方法、装置及存储介质。
背景技术
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将原站点的服务器的内容发布到最接近用户的网络的边缘节点的服务器,使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问源站点的服务器的速度,用于加速用户获取源站点的服务器的资源,并且减少对应源站点的服务器的负载,边缘节点的服务器往往接收到大批量的各个客户端的请求,通过边缘节点的服务器,使得回源量降低。回源是指用户端在发送请求报文获取资源时,响应该请求报文的是源站点的服务器,而不是各边缘节点上的缓存服务器,那么这个过程相对于通过各边缘节点上的缓存服务器来响应的过程就称作为回源。回源的请求或流量太多的话,有可能会让源站点的服务器承载着过大的访问压力,进而影响源站点的服务器的正常访问。
当有用户端访问某一个URL的时候,如果被解析到的对应的CDN边缘节点没有缓存响应的内容,或者是边缘节点中的缓存已经到期,那么用户端就会去源站获取对应的资源。如果没有用户端进行访问,那么CDN边缘节点不会主动去源站获取资源并写入到边缘节点对应对缓存服务器中。
发明人发现,CDN本来是用于加速用户端访问源站资源,但是有时会因为不合适的回源策略反而给源站的服务器带来负担。尤其体现在用户端刷短视频的场景下。基于短视频的大规模发展,经常出现热点视频的突发现象,为避免对应的热点视频的源站的服务器承载过大的访问压力,通常会通过CDN以加速用户端获取对应的热点视频资源,并且减少对应的源站服务器的访问负载。在该场景下,请求相同资源的请求,需要根据首次请求从源站服务器获取对应的资源并将对应的资源缓存至对应的边缘节点服务器,其他请求则对应从边缘节点服务器缓存中获取资源,以此减少源站服务器访问压力。然而由于网络的不稳定性,即就是说首次请求直至源站服务器中的资源缓存至对应的边缘节点的时长消耗无法确定。换句话说,即就是首次请求响应未完成,后续请求需要一直等待首次请求响应直至完成,若完成耗时相对较长,则导致其他请求等待时间相对较长,在刷短视频场景下,即就是影响首包首屏,使得用户刷短视频体验较差。首次请求响应直至完成消耗的时间过长,亦或首次请求无法完成响应,则其他请求等待时间过长或等待时间无限延长,则会导致其他请求选择不进行缓存、透传源站进行响应,导致回源量飙高。因此,亟需一种CDN系统合并回源方法,以解决上述问题。
发明内容
有鉴于此,本发明实施例提供了一种CDN系统合并回源方法、装置及存储介质,以解决上述的技术问题。
第一方面,根据本发明实施例提供的一种CDN系统合并回源方法,包括:
在接收到用户终端发送的资源请求时,判断目标资源是否正在缓存,其中,所述资源请求用于请求所述目标资源;
若所述目标资源正在缓存,则判断等待所述目标资源缓存完成的时间是否达到预设等待时长;
若未达到所述预设等待时长,则将缓存完成的所述目标资源返回给所述用户终端;
若达到所述预设等待时长,则向源站发送所述资源请求以进行同时缓存。
在一个实施方式中,在向源站发送所述资源请求以进行同时缓存之后,还包括:
将所述目标资源写入到第一存储位置,其中,所述第一存储位置为响应所述资源请求所写入的资源数据的位置;
将所述目标资源写入到第二存储位置,其中,所述第二存储位置为响应在所述资源请求之前发起的资源请求所写入的资源数据的位置;
其中,写入上述存储位置的目标资源中携带有能够表示数据的新旧关系的标识信息。
在一个实施方式中,所述判断目标资源是否正在缓存,包括:
利用所述资源请求生成用于唯一表示所述目标资源的键值;
判断正在缓存的资源中是否存在与所述键值相同的资源;
若存在,则确定所述目标资源正在缓存。
在一个实施方式中,所述将缓存完成的所述目标资源返回给所述用户终端,包括:
根据缓存完成的资源中的vary头部信息来选择匹配的缓存;
若缓存完成的资源中的不存在vary头部信息,则根据所述目标资源中携带的能够表示数据的新旧关系的标识信息,确定对应的优选目标资源,并将所述优选目标资源返回给所述用户终端。
在一个实施方式中,在向源站发送所述资源请求以进行同时缓存之后,还包括:
同时缓存的重试计数加1,并判断同时缓存的重试计数是否达到预设阈值;
若所述重试计数达到所述预设阈值,则停止增加同时缓存的资源请求。
在一个实施方式中,还包括:
若所述目标资源未缓存,则向源站发送所述资源请求以进行缓存。
在一个实施方式中,所述向源站发送所述资源请求以进行同时缓存,包括:
确定向源站发送所述资源请求对应的IP以进行同时缓存。
第二方面,根据本发明实施例提供的一种CDN系统合并回源装置,包括:
存在判断模块,用于在接收到用户终端发送的资源请求时,判断目标资源是否正在缓存,其中,所述资源请求用于请求所述目标资源;
等待判断模块,用于若所述目标资源正在缓存,则判断等待所述目标资源缓存完成的时间是否达到预设等待时长;
缓存返回模块,用于若未达到所述预设等待时长,则将缓存完成的所述目标资源返回给所述用户终端;
合并回源模块,用于若达到所述预设等待时长,则向源站发送所述资源请求以进行同时缓存。
第三方面,根据本发明实施例提供的一种CDN系统合并回源装置,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而实现第一方面任一项所述的CDN系统合并回源方法。
第四方面,根据本发明实施例提供的一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现第一方面任一项所述的CDN系统合并回源方法。
本发明实施例提供的CDN系统合并回源方法、装置及存储介质,至少具有如下有益效果:
本发明实施例提供的CDN系统合并回源方法、装置及存储介质,通过在接收到用户终端发送的资源请求时,判断目标资源是否正在缓存,其中,所述资源请求用于请求所述目标资源;若所述目标资源正在缓存,则判断等待所述目标资源缓存完成的时间是否达到预设等待时长;若未达到所述预设等待时长,则将缓存完成的所述目标资源返回给所述用户终端;若达到所述预设等待时长,则向源站发送所述资源请求以进行同时缓存。通过判断目标资源是否正在缓存,可以确定当前的资源请求的先后,及就是说首次获取到资源请求时,则所述目标资源未缓存,则向源站发送所述资源请求以进行缓存,进而进行首次缓存。通过判断等待所述目标资源缓存完成的时间是否达到预设等待时长,在达到所述预设等待时长时,则发送资源请求以进行同时缓存,进而可以使得在后获取到的资源请求不必等待在先请求对应将目标资源缓存完成,就可以根据在后获取到的资源请求进行缓存,将目标资源缓存至边缘节点的服务器中。从而使得边缘节点服务器可以根据多个请求获取多个相同的目标资源,使得其他请求可以获取到写入边缘节点的服务器的目标资源,避免由于仅首次请求响应获取缓存,在网络不稳定性情况下导致的其他请求从边缘节点服务器中获取到目标资源的耗时较长或是无法获取到目标资源。减少其他请求获取到资源的时间消耗,避免其他请求选择不进行缓存、透传源站进行响应,导致回源量飙高的问题。在处于高并发的请求热点视频时,可以进行合并回源,进行同时缓存,减少回源量。设置预设等待时长,避免等待时长过长带来的影响。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种CDN系统合并回源方法的流程图;
图2为本发明实施例提供的另一种CDN系统合并回源方法的流程图;
图3为本发明实施例提供的再一种CDN系统合并回源方法的流程图;
图4为本发明实施例提供的一种CDN系统合并回源装置的框图;
图5为本发明实施例提供的一种CDN系统合并回源装置的结构框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将原站点的服务器的内容发布到最接近用户的网络的边缘节点的服务器,使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问源站点的服务器的速度,用于加速用户获取源站点的服务器的资源,并且减少对应源站点的服务器的负载,边缘节点的服务器往往接收到大批量的各个客户端的请求,通过边缘节点的服务器,使得回源量降低。回源是指用户端在发送请求报文获取资源时,响应该请求报文的是源站点的服务器,而不是各边缘节点上的缓存服务器,那么这个过程相对于通过各边缘节点上的缓存服务器来响应的过程就称作为回源。回源的请求或流量太多的话,有可能会让源站点的服务器承载着过大的访问压力,进而影响源站点的服务器的正常访问。
当有用户端访问某一个URL的时候,如果被解析到的对应的CDN边缘节点没有缓存响应的内容,或者是边缘节点中的缓存已经到期,那么用户端就会去源站获取对应的资源。如果没有用户端进行访问,那么CDN边缘节点不会主动去源站获取资源并写入到边缘节点对应对缓存服务器中。
发明人发现,CDN本来是用于加速用户端访问源站资源,但是有时会因为不合适的回源策略反而给源站的服务器带来负担。尤其体现在用户端刷短视频的场景下。基于短视频的大规模发展,经常出现热点视频的突发现象,为避免对应的热点视频的源站的服务器承载过大的访问压力,通常会通过CDN以加速用户端获取对应的热点视频资源,并且减少对应的源站服务器的访问负载。在该场景下,请求相同资源的请求,需要根据首次请求从源站服务器获取对应的资源并将对应的资源缓存至对应的边缘节点服务器,其他请求则对应从边缘节点服务器缓存中获取资源,以此减少源站服务器访问压力。然而由于网络的不稳定性,即就是说首次请求直至源站服务器中的资源缓存至对应的边缘节点的时长消耗无法确定。换句话说,即就是首次请求响应未完成,后续请求需要一直等待首次请求响应直至完成,若完成耗时相对较长,则导致其他请求等待时间相对较长,在刷短视频场景下,即就是影响首包首屏,使得用户刷短视频体验较差。首次请求响应直至完成消耗的时间过长,亦或首次请求无法完成响应,则其他请求等待时间过长或等待时间无限延长,则会导致其他请求选择不进行缓存、透传源站进行响应,导致回源量飙高。因此,亟需一种CDN系统合并回源方法,以解决上述问题。
实施例1
图1是发明实施例提供的一种CDN系统合并回源方法的流程图。虽然下文描述的过程包括以特定的顺序出现的多个操作,但是应该清楚地了解到,这些过程也可以包括更多或者更少的操作,这些操作可以顺序执行或者并行执行。参见图1所示,本发明实施例提供的一种CDN系统合并回源方法,包括如下步骤:
步骤S101、在接收到用户终端发送的资源请求时,判断目标资源是否正在缓存,其中,所述资源请求用于请求所述目标资源。
在上述实施方式中,具体地,本方法执行的主体为CDN系统中各边缘节点。边缘节点,在接收到用户终端发送的资源请求时,判断目标资源是否正在缓存,其中,所述资源请求用于请求所述目标资源。其中所述是否正在缓存是指对应的源站服务器是否响应对应的请求,并向边缘节点的服务器中写入对应的目标资源。举例来说,边缘节点J获取到客户端B发射的对应URL请求b,若请求b对应向X网站获取短视频资源1,则判断X网站服务器是否正在边缘节点J的服务器写入短视频资源1。
步骤S102、若所述目标资源正在缓存,则判断等待所述目标资源缓存完成的时间是否达到预设等待时长;
步骤S103、若未达到所述预设等待时长,则将缓存完成的所述目标资源返回给所述用户终端;
步骤S104、若达到所述预设等待时长,则向源站发送所述资源请求以进行同时缓存。
在上述实施方式中,具体地,所述同时缓存是指确定所述资源请求对应新的IP,并向所述源站服务器发起数据缓存请求,并依据所述资源请求及对应的新IP再次将目标资源缓存至所述边缘节点服务器中,之前发起的对应的资源请求及对应缓存资源的操作不受影响。换就话说,即就是在先的对应客户端发送的请求获取相同目标资源时,若在先的请求在预设时间内未响应,即在预设时间内源站服务器未将目标资源向边缘节点的服务器写入完成,则可以再次向源站发送资源请求以再次让源站服务器将目标资源写入边缘节点的服务器中。
举例来说,依时间先后顺序获取到的100个请求,请求1-100均要获取源站A的资源a,若请求1对应的客户端的网络性能相对较差,若按照现有技术中的CDN对应的回源方法,请求2-100需要等待请求1对应响应完成后才可获得对应的资源,请求1响应,即对应请求1将源站A的资源a写入边缘节点的服务器完成。若此过程需要的时间消耗过长,例如5秒,那么严重影响到了请求2-100的响应,严重影响到了对应客户端的对应用户的使用感受。因此,将预设等待时长设置为0.1秒,当接受到用户端发送的请求2时,判断到资源a正在缓存,且在获取到请求2等待缓存完成时长达到0.1秒,则确定请求2对应的IP,并向源站A发送请求2以进行同时缓存,以使得将资源a再次写入边缘节点的服务器。若第二次写入直至完成需要的时间消耗为0.05秒,则在请求3-100可命中边缘节点的服务器中存在的资源a,即将存在的资源a返回给请求3-100对应的客户端,需要说明的是判断等待一次写入完成的预设等待时间应当进行顺延,即预设等待时间为0.2秒,即判断等待0.2秒第一个正在缓存的资源是否可以完成。因此请求2-100对应获取到资源a的时间消耗不受5秒的影响,进而保证了其他请求获取资源的效率。在上述实施方式中,所提及的预设时间0.1秒,仅是为便于理解所举的一个例子,实际应用中应当根据实际获取的资源确定。上述示例中,仅描述了请求2对应的等待缓存完成的时间未达到预设时间,但应当同理理解请求2对应的等待缓存完成的时间达到预设时间的情况,即若第二次写入直至完成需要的时间消耗超过预设等待时长2秒,则根据请求3进行第三次将资源a写入边缘节点的服务器,以此同理类推,此处不在赘述。
在上述实施方式中,通过在接收到用户终端发送的资源请求时,判断目标资源是否正在缓存,其中,所述资源请求用于请求所述目标资源;若所述目标资源正在缓存,则判断等待所述目标资源缓存完成的时间是否达到预设等待时长;若未达到所述预设等待时长,则将缓存完成的所述目标资源返回给所述用户终端;若达到所述预设等待时长,则向源站发送所述资源请求以进行同时缓存。通过判断目标资源是否正在缓存,可以确定当前的资源请求的先后,及就是说首次获取到资源请求时,则所述目标资源未缓存,则向源站发送所述资源请求以进行缓存,进而进行首次缓存。通过判断等待所述目标资源缓存完成的时间是否达到预设等待时长,在达到所述预设等待时长时,则发送资源请求以进行同时缓存,进而可以使得在后获取到的资源请求不必等待在先请求对应将目标资源缓存完成,就可以根据在后获取到的资源请求进行缓存,将目标资源缓存至边缘节点的服务器中。从而使得边缘节点服务器可以根据多个请求获取多个相同的目标资源,使得其他请求可以获取到写入边缘节点的服务器的目标资源,避免由于仅首次请求响应获取缓存,在网络不稳定性情况下导致的其他请求从边缘节点服务器中获取到目标资源的耗时较长或是无法获取到目标资源。减少其他请求获取到资源的时间消耗,避免其他请求选择不进行缓存、透传源站进行响应,导致回源量飙高的问题。在处于高并发的请求热点视频时,可以进行合并回源,进行同时缓存,减少回源量。设置预设等待时长,避免等待时长过长带来的影响。
在一个实施方式中,在向源站发送所述资源请求以进行同时缓存之后,还包括:
a)将所述目标资源写入到第一存储位置,其中,所述第一存储位置为响应所述资源请求所写入的资源数据的位置;
b)将所述目标资源写入到第二存储位置,其中,所述第二存储位置为响应在所述资源请求之前发起的资源请求所写入的资源数据的位置;
其中,写入上述存储位置的目标资源中携带有能够表示数据的新旧关系的标识信息。
在上述实施方式中,具体地,将同时缓存的目标资源写入边缘节点服务器中对应的不同位置,而非覆盖写,使得先完成的缓存不会被覆盖,避免造成先完成的缓存丢失。可以添加边缘节点服务器中目标资源的数量,从而便于边缘节点服务器将目标资源发送给对应的请求客户端。举例来说,若边缘节点服务器中存在2个相同的目标资源,若想100个请求客户端发送对应的目标资源,则每次可以发送两个不同的客户端发送目标资源,即仅50次,所述客户端可获得对应的目标资源,而相比仅存在1个目标资源,需要100次,所有的客户端才能全部获取到对应的目标资源。将目标资源写入到多个存储位置,用于提高用户端获取目标资源的效率。在写入对应存储位置的目标资源中携带有能够表示数据的新旧关系的标识信息,即就是,当多个请求对应合并写入缓存时,其写入完成的时间有先后,在先完成写入的对应的为旧数据,后写入完成的对应为新数据,其中所述新、旧仅是相对概念,其在在写入对应存储位置的目标资源中携带有能够表示数据的新旧关系的标识信息,其标识信息可以为对应的序号信息,其中对应的序号信息用于在边缘节点服务器向客户端发送目标数据时,确定对应目标数据所在的位置,以便进行合理分配对应的目标数据进行发送,避免任一存储位置的目标资源未被使用的情况发生。
在一个实施方式中,参见图2所示,步骤S101中所述判断目标资源是否正在缓存,包括:
步骤S1011、利用所述资源请求生成用于唯一表示所述目标资源的键值;
步骤S1012、判断正在缓存的资源中是否存在与所述键值相同的资源;
步骤S1013、若存在,则确定所述目标资源正在缓存。
在一个实施方式中,所述将缓存完成的所述目标资源返回给所述用户终端,包括:
根据缓存完成的资源中的vary头部信息来选择匹配的缓存;
若缓存完成的资源中的不存在vary头部信息,则根据所述目标资源中携带的能够表示数据的新旧关系的标识信息,确定对应的优选目标资源,并将所述优选目标资源返回给所述用户终端。
在上述实施方式中,具体地,通过键值确定同样的键值的目标缓存资源,目标缓存资源有多分,可以通过vary头部信息来选择匹配的缓存,要是无vary头部信息,可以使用较新的目标缓存资源,保证使用较优的目标缓存资源。
在一个实施方式中,参见图3所示,在向源站发送所述资源请求以进行同时缓存之后,还包括:
步骤S105、同时缓存的重试计数加1,并判断同时缓存的重试计数是否达到预设阈值;
步骤S106、若所述重试计数达到所述预设阈值,则停止增加同时缓存的资源请求。
在上述实施方式中,具体地,通过预设阈值限制同时缓存数量,换就话说即就是通过预设阈值限制源站服务器缓存目标资源到所述边缘节点服务器的数量,相对减少源站服务器的访问负载。
在一个实施方式中,还包括:
若所述目标资源未缓存,则向源站发送所述资源请求以进行缓存。
若所述目标资源已缓存,则将已缓存的所述目标资源返回给所述用户终端。
在一个实施方式中,所述向源站发送所述资源请求以进行同时缓存,包括:
确定所述资源请求对应的IP,基于所述IP向源站发送所述资源请求。
在上述实施方式中,具体地,即前次资源请求对应的IP获取资源相应等待时间较长,则通过轮询IP的方式,重新确定对应IP,并再次向源站获取资源。通过改变IP后再次获取资源,进而避免在再次向源站获取资源时受到原有IP的影响,减少网络稳定性的影响权重,进而进一步地保证合并获取资源的效力,进而提高了源站服务器向边缘节点服务器写入目标资源的效率,减少首次完成数据缓存的时间,减少同时缓存的次数,进一步地提高了合并回源的效率。
实施例2
图4是本发明实施例提供的一种CDN系统合并回源装置的模块图,本实施例以所述CDN系统合并回源装置应用于方法实施例1所述的CDN系统合并回源方法进行说明。所述CDN系统合并回源装置,至少包括以下几个模块:
存在判断模块41,用于在接收到用户终端发送的资源请求时,判断目标资源是否正在缓存,其中,所述资源请求用于请求所述目标资源;
等待判断模块42,用于若所述目标资源正在缓存,则判断等待所述目标资源缓存完成的时间是否达到预设等待时长;
缓存返回模块43,用于若未达到所述预设等待时长,则将缓存完成的所述目标资源返回给所述用户终端;
合并回源模块44,用于若达到所述预设等待时长,则向源站发送所述资源请求以进行同时缓存。
本申请实施例提供的CDN系统合并回源装置,可用于如上实施例1中执行的CDN系统合并回源方法,相关细节参考上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
需要说明的是:上述实施例中提供的CDN系统合并回源装置在进行合并回源时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将CDN系统合并回源装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的CDN系统合并回源装置与CDN系统合并回源方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
实施例3
本发明实施例提供的一种CDN系统合并回源装置,如图5所示,该CDN系统合并回源装置为电子设备,该电子设备包括处理器501和存储器502,其中处理器501和存储器502可以通过总线或者其他方式连接,图5中以通过总线连接为例。
处理器501可以为中央处理器(Central Processing Unit,CPU)也可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、图形处理器(GraphicsProcessing Unit,GPU)、嵌入式神经网络处理器(Neural-network Processing Unit,NPU)或者其他专用的深度学习协处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器502作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中CDN系统合并回源方法对应的程序指令/模块。处理器501通过运行存储在存储器502中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例1中的CDN系统合并回源方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器501所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至处理器501。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器502中,当被所述处理器501执行时,执行如图1所示CDN系统合并回源方法。
本发明实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的CDN系统合并回源方法。其中,所述非暂态计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述非暂态计算机可读存储介质还可以包括上述种类的存储器的组合。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置或非暂态计算机可读存储介质均可涉及或包含计算机程序产品。
因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
显然,以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,在上述说明的基础上还可以做出其他不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种CDN系统合并回源方法,其特征在于,包括:
在接收到用户终端发送的资源请求时,在边缘节点本地没有目标资源的情况下,判断目标资源是否正在缓存,其中,所述资源请求用于请求所述目标资源;
若所述目标资源正在缓存,则判断等待所述目标资源缓存完成的时间是否达到预设等待时长;
若未达到所述预设等待时长,则将缓存完成的所述目标资源返回给所述用户终端;
若达到所述预设等待时长,则向源站发送所述资源请求以进行同时缓存,
其中,所述判断目标资源是否正在缓存,包括:
利用所述资源请求生成用于唯一表示所述目标资源的键值;
判断正在缓存的资源中是否存在与所述键值相同的资源;
若存在,则确定所述目标资源正在缓存。
2.根据权利要求1所述的CDN系统合并回源方法,其特征在于,在向源站发送所述资源请求以进行同时缓存之后,还包括:
将所述目标资源写入到第一存储位置,其中,所述第一存储位置为响应所述资源请求所写入的资源数据的位置;
将所述目标资源写入到第二存储位置,其中,所述第二存储位置为响应在所述资源请求之前发起的资源请求所写入的资源数据的位置;
其中,写入上述存储位置的目标资源中携带有能够表示数据的新旧关系的标识信息。
3.根据权利要求1所述的CDN系统合并回源方法,其特征在于,所述将缓存完成的所述目标资源返回给所述用户终端,包括:
根据缓存完成的资源中的vary头部信息来选择匹配的缓存;
若缓存完成的资源中的不存在vary头部信息,则根据所述目标资源中携带的能够表示数据的新旧关系的标识信息,确定对应的优选目标资源,并将所述优选目标资源返回给所述用户终端。
4.根据权利要求1所述的CDN系统合并回源方法,其特征在于,在向源站发送所述资源请求以进行同时缓存之后,还包括:
同时缓存的重试计数加1,并判断同时缓存的重试计数是否达到预设阈值;
若所述重试计数达到所述预设阈值,则停止增加同时缓存的资源请求。
5.根据权利要求1所述的CDN系统合并回源方法,其特征在于,还包括:
若所述目标资源未缓存,则向源站发送所述资源请求以进行缓存。
6.根据权利要求1-5任一项所述的CDN系统合并回源方法,其特征在于, 所述向源站发送所述资源请求以进行同时缓存,包括:
确定向源站发送所述资源请求对应的IP以进行同时缓存。
7.一种CDN系统合并回源装置,其特征在于,包括:
存在判断模块,用于在接收到用户终端发送的资源请求时,在边缘节点本地没有目标资源的情况下,判断目标资源是否正在缓存,其中,所述资源请求用于请求所述目标资源,所述存在判断模块具体用于利用所述资源请求生成用于唯一表示所述目标资源的键值;判断正在缓存的资源中是否存在与所述键值相同的资源;若存在,则确定所述目标资源正在缓存;
等待判断模块,用于若所述目标资源正在缓存,则判断等待所述目标资源缓存完成的时间是否达到预设等待时长;
缓存返回模块,用于若未达到所述预设等待时长,则将缓存完成的所述目标资源返回给所述用户终端;
合并回源模块,用于若达到所述预设等待时长,则向源站发送所述资源请求以进行同时缓存。
8.一种CDN系统合并回源装置,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-6中任一项所述的CDN系统合并回源方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1-6中任一项所述的CDN系统合并回源方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111617569.9A CN114466032B (zh) | 2021-12-27 | 2021-12-27 | 一种cdn系统合并回源方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111617569.9A CN114466032B (zh) | 2021-12-27 | 2021-12-27 | 一种cdn系统合并回源方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114466032A CN114466032A (zh) | 2022-05-10 |
CN114466032B true CN114466032B (zh) | 2023-11-03 |
Family
ID=81407932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111617569.9A Active CN114466032B (zh) | 2021-12-27 | 2021-12-27 | 一种cdn系统合并回源方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114466032B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161647A (zh) * | 2016-08-25 | 2016-11-23 | 上海斐讯数据通信技术有限公司 | 一种云终端设备批量发现的方法及云终端管理系统 |
CN108416017A (zh) * | 2018-03-05 | 2018-08-17 | 北京云端智度科技有限公司 | 一种cdn缓存清除方法和系统 |
CN108509280A (zh) * | 2018-04-23 | 2018-09-07 | 南京大学 | 一种基于推送模型的分布式计算集群本地性调度方法 |
CN109600437A (zh) * | 2018-12-11 | 2019-04-09 | 网宿科技股份有限公司 | 一种流媒体资源的下载方法及缓存服务器 |
WO2021169298A1 (zh) * | 2020-02-29 | 2021-09-02 | 平安科技(深圳)有限公司 | 减少回源请求的方法、装置及计算机可读存储介质 |
CN113453047A (zh) * | 2021-07-02 | 2021-09-28 | 北京金山云网络技术有限公司 | 资源请求的处理方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8539160B2 (en) * | 2009-09-10 | 2013-09-17 | Red Hat, Inc. | Asynchronous cache refresh for systems with a heavy load |
US9547834B2 (en) * | 2014-01-08 | 2017-01-17 | Bank Of America Corporation | Transaction performance monitoring |
-
2021
- 2021-12-27 CN CN202111617569.9A patent/CN114466032B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161647A (zh) * | 2016-08-25 | 2016-11-23 | 上海斐讯数据通信技术有限公司 | 一种云终端设备批量发现的方法及云终端管理系统 |
CN108416017A (zh) * | 2018-03-05 | 2018-08-17 | 北京云端智度科技有限公司 | 一种cdn缓存清除方法和系统 |
CN108509280A (zh) * | 2018-04-23 | 2018-09-07 | 南京大学 | 一种基于推送模型的分布式计算集群本地性调度方法 |
CN109600437A (zh) * | 2018-12-11 | 2019-04-09 | 网宿科技股份有限公司 | 一种流媒体资源的下载方法及缓存服务器 |
WO2021169298A1 (zh) * | 2020-02-29 | 2021-09-02 | 平安科技(深圳)有限公司 | 减少回源请求的方法、装置及计算机可读存储介质 |
CN113453047A (zh) * | 2021-07-02 | 2021-09-28 | 北京金山云网络技术有限公司 | 资源请求的处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
一种网站问题分析和优化的方法研究;窦喆;;产业科技创新(11);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114466032A (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110290217B (zh) | 数据请求的处理方法及装置、存储介质及电子装置 | |
CN111147564B (zh) | 数据文件传输方法、系统及通信终端 | |
KR101330052B1 (ko) | 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 | |
CN106534243B (zh) | 基于http协议的缓存、请求、响应方法及相应装置 | |
CN109600437B (zh) | 一种流媒体资源的下载方法及缓存服务器 | |
US20140019577A1 (en) | Intelligent edge caching | |
CN110022482B (zh) | 视频起播方法、视频服务系统及存储介质 | |
US20130346552A1 (en) | Download method, system, and device for mobile terminal | |
US20170193416A1 (en) | Reducing costs related to use of networks based on pricing heterogeneity | |
US20150222725A1 (en) | Caching proxy method and apparatus | |
TW201709697A (zh) | 網路接取請求控制方法和裝置 | |
CN103731487A (zh) | 一种资源文件的下载方法、装置、系统及路由器 | |
CN107197359B (zh) | 视频文件缓存方法及装置 | |
CN110737388A (zh) | 数据预读方法、客户端、服务器以及文件系统 | |
WO2019041670A1 (zh) | 一种降低功能页面请求次数的方法、存储介质、设备及系统 | |
WO2022127319A1 (zh) | 数据刷新的方法、装置、电子设备及计算机可读存储介质 | |
CN109462631A (zh) | 数据处理方法、装置、存储介质及电子装置 | |
WO2017032152A1 (zh) | 将数据写入存储设备的方法及存储设备 | |
CN111200637B (zh) | 一种缓存的处理方法及装置 | |
US9344363B2 (en) | Information processing system, relay device, information processing device, and information processing method | |
US20150006622A1 (en) | Web contents transmission method and apparatus | |
CN110650182B (zh) | 网络缓存方法、装置、计算机设备及存储介质 | |
CN106161623A (zh) | 缓存服务器、更新服务器及数据更新方法 | |
WO2021237431A1 (zh) | 数据处理方法、装置、处理设备以及数据存储系统 | |
CN114466032B (zh) | 一种cdn系统合并回源方法、装置及存储介质 |
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 |