一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网络请求路径优化方法、装置、设备和存储介质与流程

2022-07-31 03:51:04 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,具体涉及大数据、云计算等人工智能领域,可应用于媒体云场景下,尤其涉及一种网络请求路径优化方法、装置、设备和存储介质。


背景技术:

2.内容分发网络(content delivery network,cdn)是构建在现有网络基础之上的智能虚拟网络,通过负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。cdn可以分为多层,每层cdn可以包括至少一个负载均衡服务器以及至少一个存储服务器。
3.用户通过cdn获取资源时,一般是负载均衡服务器接收资源请求,基于资源请求中的资源标识在至少一个存储服务器中确定目标存储服务器。
4.相关技术中,负载均衡服务器确定目标存储服务器时,是基于hash算法,此时,会将同一资源的资源请求发送给同一台目标存储服务器。


技术实现要素:

5.本公开提供了一种网络请求路径优化方法、装置、设备和存储介质。
6.根据本公开的一方面,提供了一种网络请求路径优化方法,包括:接收用以获取目标资源的资源请求消息;若所述目标资源属于当前周期内的热点资源,在所述目标资源对应的多个候选存储服务器中,确定目标存储服务器,其中,所述当前周期内的热点资源包括:第一热点资源和第二热点资源,所述第一热点资源基于第一周期内的资源请求消息确定,所述第二热点资源基于第二周期内的资源请求消息确定,所述第一周期为所述当前周期的前一周期,所述第二周期早于所述第一周期;将所述资源请求消息,转发至所述所述目标存储服务器。
7.根据本公开的另一方面,提供了一种网络请求路径优化装置,包括:接收模块,用于接收用以获取目标资源的资源请求消息;确定模块,用于若所述目标资源属于当前周期内的热点资源,在所述目标资源对应的多个候选存储服务器中,确定目标存储服务器,其中,所述当前周期内的热点资源包括:第一热点资源和第二热点资源,所述第一热点资源基于第一周期内的资源请求消息确定,所述第二热点资源基于第二周期内的资源请求消息确定,所述第一周期为所述当前周期的前一周期,所述第二周期早于所述第一周期;发送模块,用于将所述资源请求消息,转发至所述所述目标存储服务器。
8.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。
9.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方
法。
10.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。
11.根据本公开的技术方案,可以均衡负载并提高系统稳定性。
12.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
13.附图用于更好地理解本方案,不构成对本公开的限定。其中:
14.图1是根据本公开第一实施例的示意图;
15.图2是本公开实施例中不同周期的示意图;
16.图3是本公开实施例基于hash算法转发资源请求消息的应用场景的示意图;
17.图4是根据本公开第二实施例的示意图;
18.图5是本公开实施例中当前策略信息的生成方法的流程图;
19.图6是本公开实施例中基于第一策略信息和第二策略信息生成当前策略信息的示意图;
20.图7是根据本公开第三实施例的示意图;
21.图8是用来实现本公开实施例的网络请求路径优化方法的电子设备的示意图。
具体实施方式
22.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
23.相关技术中,负载均衡服务器确定目标存储服务器时,是基于hash算法,此时,会将同一资源的资源请求发送给同一台目标存储服务器。
24.由于同一资源的资源请求被发送给同一台目标存储服务器,若该资源为热点资源,则其对应的目标存储服务器的访问压力会很大,严重影响cdn整体的稳定性和吞吐能力。
25.为了均衡存储服务器的访问压力,本公开提供如下实施例。
26.图1是根据本公开第一实施例的示意图,本实施例提供一种网络请求路径优化方法,该方法包括:
27.101、接收用以获取目标资源的资源请求消息。
28.102、若所述目标资源属于当前周期内的热点资源,在所述目标资源对应的多个候选存储服务器中,确定目标存储服务器,其中,所述当前周期内的热点资源包括:第一热点资源和第二热点资源,所述第一热点资源基于第一周期内的资源请求消息确定,所述第二热点资源基于第二周期内的资源请求消息确定,所述第一周期为所述当前周期的前一周期,所述第二周期早于所述第一周期。
29.103、将所述资源请求消息,转发至所述所述目标存储服务器。
30.本实施例的网络请求路径优化方法可以由cdn内的负载均衡服务器执行。
31.资源请求消息可以来自于用户终端,即,用户需要获取目标资源时,可以通过用户终端发送资源请求消息。
32.目标资源,是指用户待获取或待访问的资源,比如,网页、游戏、应用、音视频等。
33.其中,资源请求消息中可以包含目标资源的资源标识,以表明资源请求消息用以获取目标资源。
34.资源标识,是指用于标识资源的信息,比如,可以为统一资源定位器(uniform resource locator,url)地址,或者,也可以为资源名等。
35.热点资源,是指某个周期内访问量较大的资源,可以基于相应周期内的资源请求消息确定。
36.热点资源是可更新的,不同周期的热点资源可以是相同或不同的。
37.当前周期,是指接收到资源请求消息的时间点所属的周期。
38.参见图2,假设当前周期的起始时间点表示为t0,当前周期的结束时间点为t1,则t1=t0 t,其中,t为周期的时长,周期的时长为可设置值,比如,t=10秒。因此,针对t0~t1这一周期内收到的资源请求消息,其当前周期为[t0-t,t0]。
[0039]
第一周期是当前周期的前一周期,如图2所示,第一周期的时间范围为[t0-t,t0]。
[0040]
第二周期早于第一周期,图2中的第二周期的时间范围为[t0-k*t,t0-(k-1)*t],其中,k为大于1的正整数,具体数值可以基于预设的延迟老化策略确定,比如,k=30。
[0041]
针对当前周期[t0,t0 t]内收到的资源请求消息,若资源请求消息对应的目标资源属于当前周期内的热点资源,可以在多个候选存储服务器中确定出目标存储服务器,比如,可以在多个候选存储服务器中随机选择一个候选存储服务器作为目标存储服务器。
[0042]
针对目标资源对应的多个候选存储服务器,多个是指至少两个。多个候选存储服务器可以预先确定,比如,将负载均衡服务器所在cdn分层内的多个存储服务器作为多个候选存储服务器。进一步地,还可以基于目标资源的资源请求消息在对应的周期内的数量确定候选存储服务器,比如,若目标资源为第一热点资源,则基于第一周期内的目标资源的资源请求消息的数量确定候选存储服务器,或者,若目标资源为第二热点资源,则基于第二周期内的目标资源的资源请求消息的数量确定。关于候选存储服务器的确定过程可以参见后续实施例的描述。
[0043]
确定出目标存储服务器后,可以将资源请求消息发送至目标存储服务器,以便从目标存储服务器获取目标资源。
[0044]
另外,由于热点资源在不同周期内是可变的,若当前周期内的热点资源仅包括第一热点资源,即,仅与当前周期的前一周期内的资源请求消息相关时,当前周期内的热点资源会产生震荡问题,即,针对某个资源,该资源可能在某个周期属于该周期内的热点资源,在该周期的下一周期不属于热点资源,在再下一个周期又属于热点资源。热点资源的震荡问题会导致负载均衡服务器的负载均衡策略的震荡,影响整体的稳定性等性能。
[0045]
本实施例中,针对当前周期内的热点资源,可以从多个候选存储服务器中确定目标存储服务器,相对于固定一个目标存储服务器的方式,可以均衡存储服务器的访问压力,提高cdn的负载均衡效果。另外,本实施例中,当前周期内的热点资源包括第一热点资源和第二热点资源,第一热点资源基于第一周期内的资源请求消息确定,第二热点资源基于第
二周期内的资源请求消息确定,由于第二周期早于第一周期,因此,当前周期内的热点资源不仅与当前周期的前一周期(即第一周期)内的资源请求消息相关,还与更早周期(即第二周期)内的资源请求消息相关,实现了热点资源的延迟老化,在热点资源延迟老化的情况下,若目标资源属于热点资源,则可以降低目标资源在热点资源和非热点资源之间切换引起的震荡问题,提高系统稳定性,提高整体性能。
[0046]
图3是本公开实施例基于hash算法转发资源请求消息的应用场景的示意图。
[0047]
如图3所示,以cdn的某一分层为例,该cdn分层300内可以包括至少一个负载均衡服务器和至少一个存储服务器,假设该层包括两个负载均衡服务器(分别用负载均衡器-1和负载均衡器-2表示)和三个存储服务器(分别用存储服务器-1、存储服务器-2和存储服务器-3表示)。
[0048]
用户需要访问某一资源时,可以通过用户终端发送资源请求消息,资源请求消息中可以包含目标资源的资源标识。
[0049]
用户终端可以包括:个人电脑(personal computer、pc)、移动设备、智能家居设备、智能家居设备、可穿戴式设备等,移动设备比如包括手机、便携式电脑、平板电脑等,智能家居设备比如包括智能音箱、智能电视等,可穿戴式设备比如包括智能手表、智能眼镜等。
[0050]
目标资源,是用户待获取或待访问的资源,比如,网页、游戏、应用、音视频等。
[0051]
目标资源的资源标识比如为目标资源的url地址,或者资源名等。
[0052]
负载均衡服务器接收到资源请求消息后,负载均衡服务器可以基于预设算法,确定目标存储服务器,目标存储服务器是指作为转发目的地的存储服务器。
[0053]
一般来讲,负载均衡服务器可以基于hash算法确定目标存储服务器,此时,负载均衡服务器可以对资源请求消息中的资源标识进行hash运算,以获得hash值,基于hash值确定目标存储服务器。
[0054]
基于hash算法,同一资源将对应相同的目标存储服务器,比如,参见图3,请求资源a的8次资源请求消息均被发送至存储服务器-1,请求资源c的10次资源请求消息均被发送至存储服务器-2,请求资源b的220次资源请求消息均被发送至存储服务器-3。
[0055]
由于同一资源的资源请求消息被发送至同一台存储服务器,若该资源为热点资源,即,资源请求消息的数量较多的资源,比如,上述的资源b,热点资源所对应的存储服务器,比如,上述的存储服务器-3的访问压力较大。
[0056]
为了均衡存储服务器的访问压力,负载均衡服务器可以采用一些负载均衡算法,比如,可以配置热点均衡表等,此时,同一资源可以被分散到多台存储服务器。
[0057]
比如,基于hash算法,资源b的目标存储服务器只有固定的一台,即存储服务器-3。但是,采用均衡算法后,可以为资源b配置多台存储服务器,这多台存储服务器可以称为候选存储服务器,负载均衡服务器可以在这多台候选存储服务器内随机选择一台作为资源b的目标存储服务器。
[0058]
候选存储服务器的确定方式可以参见相关技术,本实施例对此不作限定。比如,可以将基于hash算法确定的存储服务器称为hash服务器;可以基于某一周期内的同一资源对应的资源请求消息的数量确定待分散的存储服务器的数量,再随机选择上述数量的存储服务器作为非hash服务器;将hash服务器和非hash服务器作为候选存储服务器。
[0059]
如表1所示,针对资源a和资源b,可以确定其对应的候选存储服务器。
[0060]
表1
[0061][0062]
其中,针对某一目标资源,候选存储服务器可以包括hash服务器和非hash服务器,hash服务器是指基于hash算法确定的存储服务器,非hash服务器是指为了实现负载均衡确定的其他存储服务器。
[0063]
参见表1,以资源a为例,c[31]是资源a对应的hash服务器,c[30]和c[32]是资源a对应的非hash服务器。
[0064]
负载均衡服务器接收到资源请求消息后,可以在候选存储服务器中确定目标存储服务器,比如,针对资源a,可以在c[30]、c[31]、c[32]中确定目标存储服务器。
[0065]
关于如何在候选存储服务器中确定目标存储服务器,本实施例不作限定,比如,可以随机选择一个。
[0066]
确定出目标存储服务器后,负载均衡服务器可以将资源请求消息转发至目标存储服务器。
[0067]
如上分析,引入均衡算法后,每个资源可以对应多个候选存储服务器,从而可以解决基于hash算法将资源请求消息固定到某个存储服务器上引起的访问压力较大的问题。
[0068]
但是,针对某个资源,仅对应多个候选存储服务器可能会存在震荡问题,为了降低目标资源在热点资源和非热点资源之间切换引起的震荡问题,本公开实施例中,除了每个资源可以对应多个候选存储服务器之外,还可以引入热点资源的延迟老化,还可以实现策略合并,具体可以参见后续实施例。
[0069]
图4是根据本公开第二实施例的流程示意图,本实施例提供一种网络请求路径优化方法,本实施例的方法可以应用在负载均衡服务器,本实施例提供的方法包括:
[0070]
401、获取当前策略信息,所述当前策略信息包括:资源标识,以及所述资源标识对应的多个服务器标识。
[0071]
其中,当前策略信息为至少一组,每组当前策略信息包括:资源标识,以及资源标识对应的多个服务器标识。
[0072]
多个是指至少两个。服务器标识可以为服务器的ip地址,
[0073]
至少一组当前策略信息可以组成当前策略集合。
[0074]
其中,所述资源标识包括:所述第一热点资源的资源标识,以及,所述第二热点资源的资源标识。
[0075]
所述第一热点资源基于第一周期内的资源请求消息确定,所述第二热点资源基于第二周期内的资源请求消息确定,所述第一周期为所述当前周期的前一周期,所述第二周期早于所述第一周期。
[0076]
即,当前策略信息中的资源标识包括延迟老化的热点资源(即第二热点资源)的资源标识。
[0077]
当前策略信息中还可以包括过期时间,基于过期时间可以实现当前策略信息的更新。
[0078]
当前策略信息可以如表2所示。
[0079]
表2
[0080][0081][0082]
其中,资源a和资源d可以为第一热点资源,t0为当前周期对应的统计时间点,比如为当前周期的起始时间点t0,也即第一周期(当前周期的前一周期)的结束时间点。资源a和资源d对应的候选存储服务器可以基于第一周期内的资源a或资源d资源请求消息确定。ttl为预设生存时长,比如,ttl=30*t,t为周期的时长,比如10秒,则ttl=300秒。
[0083]
资源c为第二热点资源,资源c及其对应的候选存储服务器可以基于第二周期内的资源c的资源请求消息确定。t0’为资源c对应的统计时间点,比如为第二周期的结束时间点。由于第二周期早于第一周期,则t0’也早于t0,即t0’《t0。
[0084]
关于当前策略信息的生成过程可以参见图5所示的实施例。
[0085]
402、接收资源请求消息,所述资源请求消息中包含目标资源的资源标识。
[0086]
401和402无时序限制关系。
[0087]
403、判断目标资源的资源标识是否属于所述当前策略信息,若是,执行404,否则,执行405。
[0088]
比如,当前策略信息如表2所示,目标资源的资源标识为资源a,由于资源a属于当前策略信息,则执行404。
[0089]
又比如,当前策略信息如表2所示,目标资源的资源标识为资源b,由于资源b不属于当前策略信息,则执行405。
[0090]
404、在所述目标资源对应的多个候选存储服务器中,随机选择一个候选存储服务
器,作为目标存储服务器。
[0091]
其中,可以将所述当前策略信息内,所述目标资源的资源标识对应的多个服务器标识所指示的多个服务器作为所述多个候选存储服务器。
[0092]
比如,参见表2,目标资源的资源标识为资源a,由于当前策略信息中,资源a对应的多个服务器标识为c[30]、c[31]、c[32],则可以在c[30]、c[31]、c[32]中随机选择一个作为目标存储服务器,比如,选择c[30]对应的存储服务器作为目标存储服务器。
[0093]
通过采用随机方式选择一个候选存储服务器作为目标存储服务器,可以提高随机性,更好地均衡资源请求消息。
[0094]
405、基于hash算法,确定目标存储服务器。
[0095]
比如,目标资源的资源标识为资源b,当前策略信息如表2所示,由于当前策略信息中不包含资源b,则针对资源b,可以基于hash算法确定目标存储服务器,即,计算资源b对应的hash值,将hash值对应的存储服务器作为目标存储服务器。
[0096]
406、将所述资源请求消息转发至目标存储服务器。
[0097]
负载均衡服务器将资源请求消息转发至目标存储服务器后,若目标存储服务器内存储目标资源,则目标存储服务器可以在自身基于资源标识获取目标资源后,反馈给负载均衡服务器。或者,若目标存储服务器自身未存储目标资源,则目标存储服务器可以执行回源操作以获得目标资源后反馈给负载均衡服务器。关于回源操作的过程可以采用相关技术实现,本实施例对此不作限定。
[0098]
本实施例中,通过获取当前策略信息,当前策略信息包括资源标识,基于目标资源的资源标识是否属于当前策略信息,可以简便地确定目标资源是否属于当前周期内的热点资源,进而可以采用不同的目标存储服务器的确定方式,即,若目标资源的资源标识属于当前策略信息,在多个候选存储服务器中随机选择一个作为目标存储服务器;若目标资源的资源标识不属于当前策略信息,基于hash算法确定目标存储服务器。可以根据实际情况确定目标存储服务器,提高负载均衡效果。
[0099]
图5是本公开实施例中当前策略信息的生成方法的流程图,如图5所示,该生成方法包括:
[0100]
501、基于所述第一周期内的资源请求消息,确定第一策略信息,所述第一策略信息包括:第一资源标识,以及所述第一资源标识对应的第一过期时间和第一服务器标识,所述第一资源标识为所述第一热点资源的资源标识,所述第一服务器标识为多个。
[0101]
其中,可以在当前周期的起始时间点,基于第一周期(即当前周期的前一周期)内的资源请求消息,确定第一策略信息。
[0102]
比如,参见图2,可以在t0时间点,基于[t0-t,t0]这一周期内的资源请求消息确定第一策略信息。
[0103]
其中,第一资源标识是第一周期内的热点资源(即第一热点资源)的资源标识,第一周期内的热点资源可以基于同一资源的资源请求消息的数量确定,比如,可以将第一周期内的,同一资源的资源请求消息的数量大于预设值的资源确定为热点资源,或者,将第一周期内的,同一资源的资源请求消息的数量较大的预设个数的资源确定为热点资源。
[0104]
确定出第一热点资源后,还可以确定其对应的过期时间和多个候选存储服务器,第一热点资源对应的过期时间可以称为第一过期时间,第一热点资源对应的候选存储服务
器的服务器标识可以称为第一服务器标识。
[0105]
其中,第一过期时间可以基于当前周期的统计时间点和预设生存时长确定。
[0106]
比如,第一过期时间=t0 ttl,其中,t0是当前周期的统计时间点,一般为当前周期的起始时间点,ttl为预设生存时长,可以根据实际需求选择,比如,ttl=30*t,t为周期的时长,比如10秒。
[0107]
因此,针对某个热点资源,其老化时间为30*10=300秒。
[0108]
第一热点资源对应的候选存储服务器可以采用相关技术确定,比如,基于第一热点资源的资源标识,采用hash算法可以确定hash服务器,根据第一热点资源的资源请求消息的数量可以确定待分散服务器(非hash服务器)的数量,一般来讲,资源请求消息的数量越大待分散服务器的数量越大,在负载均衡服务器所在cdn分层的存储服务器中,随机选择数量为上述待分散服务器的数量的存储服务器作为非hash服务器。由hash服务器和非hash服务器组成候选存储服务器。进而可以将对应的服务器标识作为第一服务器标识。
[0109]
比如,如表2所示,资源a对应的第一过期时间=t0 ttl。资源a对应的第一服务器标识包括:c[30]、c[31]、c[32];资源d对应的第一服务器标识包括:c[43]、c[44]。
[0110]
502、获取已有的第二策略信息,所述第二策略信息包括:第二资源标识,以及所述第二资源标识对应的第二过期时间和第二服务器标识,所述第二资源标识为所述第二热点资源的资源标识,所述第二服务器标识为多个。
[0111]
其中,当前策略信息是可更新的,即,当前策略信息可以基于上一周期的已有策略信息确定,当前策略信息还可以作为下一周期的已有策略信息。为了区分,已有策略信息可以称为已有的第二策略信息。已有的第二策略信息的初始值可以为空。
[0112]
第一策略信息和第二策略信息的确定过程类似,只是采用了不同周期的资源请求消息。
[0113]
第一策略信息和第二策略信息可以均为一组或多组,相应地,可以组成第一策略集合和第二策略集合。
[0114]
如图6所示,假设第二策略信息组成第二策略集合,第二策略集合包括三组第二策略信息,每组第二资源策略信息包括第二资源标识,以及每个第二资源标识对应的第二过期时间和第二服务器标识,其中,第二资源标识分别用资源a、资源b和资源c表示。
[0115]
假设第一策略信息组成第一策略集合,第一策略集合包括两组第一策略信息,每组第一策略信息包括第一资源标识,以及每个第一资源标识对应的第一过期事假和第一服务器标识,其中,第一资源标识分别用资源a和资源d表示。
[0116]
获取第一策略信息和第二策略信息后,可以采用第一策略信息更新第二策略信息,以获得更新后的第二策略信息,更新后的第二策略信息可以组成更新后的第二策略集合。
[0117]
第二策略信息的更新过程可以如下:
[0118]
503、遍历第一策略信息中的每个第一资源标识。
[0119]
504、判断当前遍历的第一资源标识是否属于第二策略信息,若是,执行505,否则,执行509。
[0120]
其中,基于图6的示例,若当前遍历的第一资源标识为资源a,则由于第二策略信息中也包含资源a,则执行505;或者,若当前遍历的第一资源标识为资源d,由于第二策略信息
中不包含资源d,则执行509。
[0121]
505、判断当前遍历的第一资源标识对应的第一服务器标识的数量是否大于所述第二策略信息中所述资源资源标识对应的第二服务器标识的数量,若是,执行506,否则,执行507。
[0122]
其中,针对资源a,可以从第一策略信息中获取资源a对应的第一服务器标识的数量(假设该数量为3),针对资源a,还可以从第二策略信息中获取资源a对应的第二服务器标识的数量(假设该数量为2),由于第一服务器标识的数量大于第二服务器标识的数量,则执行506。
[0123]
506、在所述第二策略信息中,将所述第一资源标识对应的第二服务器标识更新为所述第一资源标识对应的第一服务器标识。
[0124]
比如,参见图6,更新后的第二策略集合内,资源a对应的服务器标识更新为第一服务器标识。
[0125]
507、在所述第二策略信息中,保持所述第一资源标识对应的第二服务器标识不变。
[0126]
比如,针对资源a,若资源a对应的第一服务器标识的数量小于或等于资源b对应的第二服务器标识的数量,则更新后的第二策略集合内,资源a对应的服务器标识保持为第二服务器标识。
[0127]
508、在所述第二策略信息中,将所述第一资源标识对应的第二过期时间更新为所述第一资源标识对应的第一过期时间。
[0128]
比如,参见图6,更新后的第二策略集合内,资源a对应的过期时间更新为第一过期时间。
[0129]
另外,针对资源a,若资源a对应的服务器标识依然保持第二服务器标识不变,此时资源a对应的过期时间也需要更新为第一过期时间。
[0130]
基于上述的505-508,可以实现第二策略集合内的第二策略信息的更新,并且,将服务器标识更新为较多数量的服务器标识,可以提高候选服务器的分散性,进一步提高负载均衡效果。
[0131]
509、将所述第一资源标识对应的第一策略信息,添加为新的第二策略信息。
[0132]
比如,参见图6,由于资源d不属于第二策略信息,则在更新后的第二策略集合内,添加资源d及其对应的第一过期时间和第一服务器标识。
[0133]
因此,通过将所述第一资源标识对应的第一策略信息添加为新的第二策略信息,可以实现策略信息的新增,保证更新后的第二策略信息的准确度。
[0134]
510、在第一策略信息中的每个第一资源标识均遍历完成后,获得更新后的第二策略信息。
[0135]
511、遍历每个更新后的第二策略信息。
[0136]
512、判断当前遍历的更新后的第二策略信息是否过期,若是,执行513,否则重复执行514。
[0137]
其中,可以根据当前遍历的更新后的第二策略信息中的过期时间来判断相应的策略信息是否过期,比如,若过期时间早于或等于当前时间,具体如,当前时间t0=9点,若过期时间为8点50分,则表明过期;或者,又比如,过期时间为9点5分,则未过期。
[0138]
513、删除过期的更新后的第二策略信息。
[0139]
通过删除过期的策略信息,可以保证策略信息的准确度,还可以释放存储空间,降低资源开销。
[0140]
514、在每个更新后的第二策略信息均遍历完成后,获得更新后的第二策略信息生成当前策略信息。
[0141]
其中,可以将删除过期的更新后的第二策略信息,作为当前策略信息,当前策略信息可以组成当前策略集合。
[0142]
比如,参见图6,若资源b对应的第二过期时间早于当前时间,则资源b过期,删除资源b对应的策略信息,从而当前策略集合包括资源a、资源c和资源d对应的策略信息。
[0143]
本实施例中,由于第一策略信息基于第一周期内的资源请求消息确定,可以确定第一热点资源的资源标识,第二策略信息是已有信息,其中包括第二热点资源的资源标识,从而基于第一策略信息更新第二策略信息,以及删除过期的策略信息,可以实现策略信息的更新和删除,保证当前策略信息的准确度,进而提高负载均衡的准确度。
[0144]
另外,热点资源的过期时间基于相应的统计时间点和预设生存时长确定,由于过期时间加上了预设生存时长,可以实现热点资源的延迟老化,比如,延迟5分钟(预设生存时长为10*t时)后才删除对应的策略信息。在热点资源延迟老化的情况下,可以降低资源在热点资源和非热点资源之间切换引起的震荡问题,提高系统稳定性。通过采用第一策略信息更新第二策略信息,可以实现策略合并,保证当前策略信息的准确性,进而保证整体处理效果的准确性。
[0145]
图7是根据本公开第九实施例的示意图,本实施例提供一种网络请求路径优化装置,该装置700包括:接收模块701、确定模块702和发送模块703。
[0146]
接收模块701用于接收用以获取目标资源的资源请求消息;确定模块702用于若所述目标资源属于当前周期内的热点资源,在所述目标资源对应的多个候选存储服务器中,确定目标存储服务器,其中,所述当前周期内的热点资源包括:第一热点资源和第二热点资源,所述第一热点资源基于第一周期内的资源请求消息确定,所述第二热点资源基于第二周期内的资源请求消息确定,所述第一周期为所述当前周期的前一周期,所述第二周期早于所述第一周期;发送模块703用于将所述资源请求消息,转发至所述所述目标存储服务器。
[0147]
本实施例中,针对当前周期内的热点资源,可以从多个候选存储服务器中确定目标存储服务器,相对于固定一个目标存储服务器的方式,可以均衡存储服务器的访问压力,提高cdn的负载均衡效果。另外,本实施例中,当前周期内的热点资源包括第一热点资源和第二热点资源,第一热点资源基于第一周期内的资源请求消息确定,第二热点资源基于第二周期内的资源请求消息确定,由于第二周期早于第一周期,因此,当前周期内的热点资源不仅与当前周期的前一周期(即第一周期)内的资源请求消息相关,还与更早周期(即第二周期)内的资源请求消息相关,实现了热点资源的延迟老化,在热点资源延迟老化的情况下,若目标资源属于热点资源,则可以降低目标资源在热点资源和非热点资源之间切换引起的震荡问题,提高系统稳定性,提高整体性能。
[0148]
一些实施例中,所述资源请求消息中包含所述目标资源的资源标识,所述装置700还包括:策略获取模块,用于获取当前策略信息,所述当前策略信息包括:资源标识,以及所
述资源标识对应的多个服务器标识,所述资源标识包括:所述第一热点资源的资源标识,以及,所述第二热点资源的资源标识;热点判定模块,用于若所述目标资源的资源标识属于所述当前策略信息,确定所述目标资源属于当前周期内的热点资源;候选模块,用于将所述当前策略信息内,所述目标资源的资源标识对应的多个服务器标识所指示的多个服务器作为所述多个候选存储服务器。
[0149]
本实施例中,通过获取当前策略信息,当前策略信息包括资源标识,基于目标资源的资源标识是否属于当前策略信息,可以简便地确定目标资源是否属于当前周期内的热点资源,进而可以采用不同的目标存储服务器的确定方式,即,若目标资源的资源标识属于当前策略信息,在多个候选存储服务器中随机选择一个作为目标存储服务器;若目标资源的资源标识不属于当前策略信息,基于hash算法确定目标存储服务器。可以根据实际情况确定目标存储服务器,提高负载均衡效果。
[0150]
一些实施例中,所述装置700还包括:第一获取模块,用于基于所述第一周期内的资源请求消息,确定第一策略信息,所述第一策略信息包括:第一资源标识,以及所述第一资源标识对应的第一过期时间和第一服务器标识,所述第一资源标识为所述第一热点资源的资源标识,所述第一服务器标识为多个;第二获取模块,用于获取已有的第二策略信息,所述第二策略信息包括:第二资源标识,以及所述第二资源标识对应的第二过期时间和第二服务器标识,所述第二资源标识为所述第二热点资源的资源标识,所述第二服务器标识为多个;更新模块,用于基于所述第一策略信息,更新所述第二策略信息,以获得更新后的第二策略信息;生成模块,用于删除过期的所述更新后的第二策略信息,以生成所述当前策略信息。
[0151]
本实施例中,由于第一策略信息基于第一周期内的资源请求消息确定,可以确定第一热点资源的资源标识,第二策略信息是已有信息,其中包括第二热点资源的资源标识,从而基于第一策略信息更新第二策略信息,以及删除过期的策略信息,可以实现策略信息的更新和删除,保证当前策略信息的准确度,进而提高负载均衡的准确度。
[0152]
一些实施例中,所述更新模块进一步用于:若所述第一资源标识属于所述第二策略信息,执行:将所述第二策略信息内的所述第一资源标识对应的第二过期时间,更新为所述第一资源标识对应的第一过期时间;若所述第一资源标识对应的第一服务器标识的数量大于所述第二策略信息内的所述第一资源标识对应的第二服务器标识的数量,将所述第二策略信息内的所述第一资源标识对应的第二服务器标识更新为所述第一服务器标识。
[0153]
本实施例中,将服务器标识更新为较多数量的服务器标识,可以提高候选服务器的分散性,进一步提高负载均衡效果。
[0154]
一些实施例中,所述更新模块进一步用于:若所述第一资源标识不属于所述第二策略信息,将所述第一资源标识对应的第一策略信息添加为新的第二策略信息。
[0155]
本实施例中,通过将所述第一资源标识对应的第一策略信息添加为新的第二策略信息,可以实现策略信息的新增,保证更新后的第二策略信息的准确度。
[0156]
一些实施例中,所述生成所述当前策略信息的时间点为当前时间,所述更新后的第二策略信息包括更新后的第二过期时间,所述删除模块进一步用于:若所述更新后的第二过期时间早于或等于所述当前时间,删除对应的所述更新后的第二策略信息。
[0157]
本实施例中,通过删除过期的策略信息,可以保证策略信息的准确度,还可以释放
存储空间,降低资源开销。
[0158]
一些实施例中,所述生成所述当前策略信息的时间点为当前时间,所述第一过期时间为所述当前时间与预设生存时长的和。
[0159]
本实施例中,热点资源的过期时间基于相应的统计时间点和预设生存时长确定,由于过期时间加上了预设生存时长,可以实现热点资源的延迟老化,比如,延迟5分钟(预设生存时长为10*t时)后才删除对应的策略信息。在热点资源延迟老化的情况下,可以降低资源在热点资源和非热点资源之间切换引起的震荡问题,提高系统稳定性。
[0160]
一些实施例中,所述确定模块进一步用于:在所述多个候选存储服务器中,随机选择一个候选存储服务器,作为所述目标存储服务器。
[0161]
本实施例中,通过采用随机方式选择一个候选存储服务器作为目标存储服务器,可以提高随机性,更好地均衡资源请求消息。
[0162]
可以理解的是,本公开实施例中,不同实施例中的相同或相似内容可以相互参考。
[0163]
可以理解的是,本公开实施例中的“第一”、“第二”等只是用于区分,不表示重要程度高低、时序先后等。
[0164]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0165]
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0166]
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
[0167]
电子设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0168]
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如网络请求路径优化方法。例如,在一些实施例中,网络请求路径优化方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到ram803并由计算单元801执行时,可以执行上文描述的网络请
求路径优化方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行网络请求路径优化方法。
[0169]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0170]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程负载均衡装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0171]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0172]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0173]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0174]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或
云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0175]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0176]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献