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

一种流量控制方法及装置与流程

2022-10-13 05:52:27 来源:中国专利 TAG:


1.本技术涉及互联网技术领域,具体涉及一种流量控制方法及装置。


背景技术:

2.全站加速产品在使用时,会存在有瞬间出现大量动态回源请求的情况,而当这些大量请求超出源站的处理能力时,源站的性能可能会变得很差,甚至会出现源站发生宕机的异常事故。因此,为了避免出现上述请求数量超出源站的处理能力这一情况,一般会存在有对动态回源请求数量的限流方式,即通过限制某一时间段内的请求数或者设置固定的限制速率来保证源站的正常运转。
3.但是,这种限流方式存在的弊端是:当某一时刻针对某一域名的回源量特别大时,在使用这种限流方式的情况下,就会出现大量的针对其它域名的请求被拒绝掉,导致用户体验差以及限流效果不佳等问题。并且还存在着部分域名占用了全部访问资源的问题,导致出现源站的资源配置不合理的问题。
4.因此,亟需一种新的流量控制方法,用以提升限流效果,并同时实现更好的资源配置。


技术实现要素:

5.本技术提供一种流量控制方法及装置,用以提升限流效果,并同时实现更好的资源配置。
6.第一方面,本技术提供一种流量控制方法,该方法应用于内容分发网络cdn中的边缘网关,所述cdn中包含限流中心以及至少一个边缘网关,所述方法包括:接收来自所述限流中心的限流指令;其中,所述限流指令用于指示对针对第一域名的资源请求执行第一预设策略;响应于所述限流指令,当接收到来自终端设备用于请求所述第一域名的资源的第一请求时,根据所述第一预设策略,在接收所述第一请求后的预设时间内,确定所述边缘网关中针对所述第一域名的每秒请求数qps是否超过第一阈值;若所述qps超过所述第一阈值,将所述第一请求放置于请求等待队列中,其中,所述请求等待队列中包括所述边缘网关中所有用于请求所述第一域名的资源请求。
7.在本方案中,针对不同域名设置了不同的限流阈值,针对统一域名下不同网关同样设置了不同的限流阈值,首先确保了出现大量动态回源请求时,源站不会出现宕机等事故影响其正常工作,其次,以域名 边缘网关管理粒度,实现了限流操作的精细化、差异化,这样,在保证限流效果的同时,能够更加均衡的配置cdn网络中的流量资源,避免了同一域名的动态回源请求占据全部资源的问题,提高了用户的使用体验。
8.可选的,所述第一阈值由所述cdn中所述第一域名的qps总阈值以及所述边缘网关的ip地址,根据第二预设策略确定;其中,所述第二预设策略包括所述cdn中所有边缘网关的ip地址以及所述第一域名的qps总阈值分配至所述cdn中所有边缘网关对应的qps分配比例。
9.在本方式中,为不同ip地址的边缘网关确定针对各个域名的qps阈值,进一步地实现了限流操作的精细化,同时不同的边缘网关具有不同的限流阈值,实现了通过单机限流达到全局限流的目的,最大程度的降低了对更多用户访问的影响,提高了用户的使用体验。
10.可选的,所述qps分配比例由所述边缘网关中针对所述第一域名的qps与所述cdn中针对所述第一域名的qps总量的比例确定。
11.在本方式中,由边缘网关当前针对第一域名的qps量与cdn网络中针对第一域名的qps总量的比例,确定分配至该边缘网关的qps阈值的qps比例,既能够提升限流操作的精细化程度,又能够根据各边缘网关的实施访问量进行有针对性的限制,有效地提高了限流操作的准确度以及限流效果。
12.可选的,所述确定所述边缘网关中针对所述第一域名的qps是否超过第一阈值之后,所述方法还包括:若所述qps不超过所述第一阈值,则确定所述请求等待队列中存在的请求个数是否超过所述第一阈值与所述qps的差值;若确定所述请求个数超过所述第一阈值与所述qps的差值,则根据所述请求等待队列中包含的各个子请求等待队列对应的优先级顺序,由高到低依次触发所述各个子请求等待队列中的请求,直到触发的请求的数量达到n;其中,所述n的值与所述第一阈值与所述qps的差值相同。
13.在本方式中,根据请求等待队列中各个子请求等待队列中的优先级顺序,依次触发请求,确保了高优先级的请求能够优先被处理,提高了网络稳定性以及用户的使用体验,同时,只需依据子请求等待队列的优先级顺序即可确定其包含的请求的优先级,简化了寻找高优先级的请求的操作,提高了请求被触发这一过程的效率。
14.可选的,所述将所述第一请求放置于请求等待队列中,包括:确定所述第一请求所属ip地址以及所述第一请求对应的运营商信息;根据所述第一请求所属的ip地址对应的第一优先级以及所述第一请求对应的运营商信息对应的第二优先级确定所述第一请求对应的第三优先级;根据所述第一请求对应的第三优先级,将所述第一请求放置于对应第三优先级的目标子请求等待队列中,其中,所述请求等待队列包含若干对应不同优先级的子请求等待队列,所述目标子请求等待队列为所述若干对应不同优先级的子请求等待队列中的一个。
15.在本方式中,边缘网关确定第一请求的优先级后,将第一请求放置于具有对应优先级的子请求等待队列中,确保了各个子请求等待队列所包含的请求都对应有相同的优先级,提供了后续根据子请求等待队列对应的优先级触发请求的实现基础,简化了触发流程,提高了用户的使用体验。
16.第二方面,本技术提供一种流量控制方法,应用于cdn中的限流中心,所述cdn中包含限流中心以及至少一个边缘网关,所述方法包括:获取所述cdn中针对第一域名的qps总量;确定所述qps总量与第二阈值的关系,其中,所述第二阈值用于指示所述cdn中所述第一域名的qps总阈值;若所述qps总量超过所述第二阈值,则向所述cdn中的所有边缘网关发送限流指令,所述限流指令用于指示所述边缘网关对针对所述第一域名的资源请求执行第一预设策略。
17.在本方案中,限流中心通过确定cdn网络中针对域名的qps总量与第二阈值的关系,确定是否需要对该域名执行限流操作,确保了对流量控制的及时响应,降低了源站发生宕机事故的可能,提高了用户的使用体验。
18.第三方面,本技术提供一种流量控制装置,应用于cdn中的边缘网关,所述cdn中包含限流中心以及至少一个边缘网关,所述装置包括:接收模块,用于接收来自所述限流中心的限流指令;其中,所述限流指令用于指示所述边缘网关对针对第一域名的资源请求执行第一预设策略;第一处理模块,用于响应于所述限流指令,当接收到来自终端设备用于请求所述第一域名的资源的第一请求时,根据所述第一预设策略,在接收所述第一请求后的预设时间内,确定所述边缘网关中针对所述第一域名的每秒请求数qps是否超过第一阈值;若所述qps超过所述第一阈值,将所述第一请求放置于请求等待队列中,其中,所述请求等待队列中包括所述边缘网关中所有用于请求所述第一域名的资源请求。
19.可选的,所述第一阈值由所述cdn中所述第一域名的qps总阈值以及所述边缘网关的ip地址,根据第二预设策略确定;其中,所述第二预设策略包括所述cdn中所有边缘网关的ip地址以及所述第一域名的qps总阈值分配至所述cdn中所有边缘网关对应的qps分配比例。
20.可选的,所述qps分配比例由所述边缘网关中针对所述第一域名的qps与所述cdn中针对所述第一域名的qps总量的比例确定。
21.可选的,所述第一处理模块用于确定所述边缘网关中针对所述第一域名的qps是否超过第一阈值之后,所述第一处理模块还用于:若所述qps不超过所述第一阈值,则确定所述请求等待队列中存在的请求个数是否超过所述第一阈值与所述qps的差值;若确定所述请求个数超过所述第一阈值与所述qps的差值,则根据所述请求等待队列中包含的各个子请求等待队列对应的优先级顺序,由高到低依次触发所述各个子请求等待队列中的请求,直到触发的请求的数量达到n;其中,所述n的值与所述第一阈值与所述qps的差值相同。
22.可选的,所述第一处理模块用于将所述第一请求放置于请求等待队列中时,具体用于:确定所述第一请求所属的ip地址以及所述第一请求对应的运营商信息;根据所述第一请求所属的ip地址对应的优先级顺序以及所述第一请求对应的运营商信息对应的优先级顺序确定所述第一请求对应的第三优先级;根据所述第一请求对应的第三优先级,将所述第一请求放置于对应第三优先级的目标子请求等待队列中,其中,所述请求等待队列包含若干对应不同优先级的子请求等待队列,所述目标子请求等待队列为所述若干对应不同优先级的子请求等待队列中的一个。
23.第四方面,本技术提供一种流量控制装置,应用于cdn中的限流中心,所述cdn中包含限流中心以及至少一个边缘网关,所述装置包括:第二处理模块,用于获取所述cdn中针对第一域名的qps总量;确定所述qps总量与第二阈值的关系,其中,所述第二阈值用于指示所述cdn中针对所述第一域名的qps总阈值;发送模块,用于若所述qps总量超过所述第二阈值,则向所述cdn中的所有边缘网关发送限流指令,所述限流指令用于指示所述边缘网关对针对所述第一域名的资源请求执行第一预设策略。
24.第五方面,提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,使得所述至少一个处理器通过执行第一方面或第一方面任一种可选的实施方式中所述的方法。
25.第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质用于存储指令,当所述指令被执行时,使如第一方面或第一方面任一种可选的实施方式中的方法被实
现。
26.本技术实施例中第三、第四、第五以及第六方面中提供的一个或多个技术方案所具有的技术效果或优点,均可以由第一方面中提供的对应的一个或多个技术方案所具有的技术效果或优点对应解释。
附图说明
27.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
28.图1是本技术实施例提供的一种可能的应用场景的示意图;
29.图2是本技术实施例提供的一种流量控制方法的流程图;
30.图3是本技术实施例提供的另一种流量控制方法的流程图;
31.图4是本技术实施例提供的一种示例方法的流程示意图;
32.图5是本技术实施例提供的一种流量控制装置的结构示意图;
33.图6是本技术实施例提供的另一种流量控制装置的结构示意图;
34.图7是本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
35.下面通过附图以及具体实施例对本技术技术方案做详细的说明,应当理解本技术实施例以及实施例中的具体特征是对本技术技术方案的详细的说明,而不是对本技术技术方案的限定,在不冲突的情况下,本技术实施例以及实施例中的技术特征可以相互组合。
36.需要理解的是,在本技术实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本技术实施例的描述中“多个”,是指两个或两个以上。
37.本技术实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
38.在介绍本技术实施例所提供的方法之前,首先需要对本技术涉及到的一些概念进行说明:
39.1、内容分发网络(content delivery network,cdn)是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘网关,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。cdn的关键技术主要有内容存储和分发技术。
40.2、全站加速(dynamic route for content delivery network,dcdn)在cdn静态加速服务的基础上,进一步提供了动态加速、传输控制协议(transmission control protocol,tcp)和用户数据报协议(user datagram protocol,udp)四层加速、websocket加速等能力。不同于cdn只能加速静态资源这一特点,全站加速可以同时加速静态和动态资源,因此,使用动态加速的产品无需分离动态和静态资源,即可获得相应的加速。
41.而对于使用了全站加速产品的客户群体而言,常常会出现瞬间迸发大量动态回源请求的情况。例如,使用了全站加速产品的某电商平台,经常会有大促活动,在这种活动中,支付交易类的操作一般都是动态回源请求,而这些动态回源请求都需要由对应的源站进行处理。因此,当某一时刻出现大量动态回源请求后,一旦这些请求的数量超过源站的处理能力范围,那么源站的性能就会变得很差,甚至该源站可能会发生宕机等异常事故。
42.为了避免源站出现上述可能的异常情况,存在一种限流方式是限制某一段时间内的动态回源请求数或者设置固定的限制速率。但是,当某一时刻回源量特别大时,通过该方法限流后,就会出现大量的请求被拒绝掉以及限流效果较差的问题。
43.鉴于此,本技术提供一种流量控制方法,用以解决上述问题。参见图1,为本技术实施例提供的一种流量控制方法的应用场景的示意图,如图1所示,终端设备就近向cdn网络中的边缘网关发送动态回源请求,边缘网关则向对应的源站请求资源,源站会将对应的资源返回至边缘网关,边缘网关再将该资源发送至终端设备。另外,本技术实施例在cdn网络中引入了限流中心以辅助边缘网关完成对动态回源请求的限流。
44.以下,将从边缘网关侧以及限流中心侧分别介绍本方法的具体实施步骤。参见图2,为本技术实施例提供的一种流量控制方法的流程图,该方法以边缘网关为执行主体,其具体步骤包括:
45.s201:接收来自限流中心的限流指令,其中,限流指令用于指示对针对第一域名的资源请求执行第一预设策略。
46.限流指令是边缘网关是否执行本技术实施例提供的流量控制方法的重要指示,在未接收到限流指令时,边缘网关会正常处理来自终端设备的资源请求。而一旦边缘网关接收到了限流中心的限流指令,那么此时,边缘网关则会对来自终端设备针对第一域名的资源请求进行执行第一预设策略(即限流策略),但是对于不同于第一域名的其它域名的资源请求,边缘网关则不做限流处理。
47.s202:响应于该限流指令,当接收到来自终端设备用于请求第一域名的资源的第一请求时,根据第一预设策略,在接收第一请求后的预设时间内,确定边缘网关中针对第一域名的每秒请求数qps是否超过第一阈值;若超过,则执行步骤s203,若没有超过,则执行步骤s204-步骤s206。
48.在边缘网关依据限流指令开始执行限流操作后,边缘网关则开始对来自终端设备的请求的监控。当接收到来自终端设备的用于请求第一域名的资源的第一请求时,边缘网关需要对该第一请求的类型进行判断:当第一请求的类型为动态回源请求时,边缘网关则需对该请求执行后续的限流操作;当该第一请求的类型不是动态回源请求时,边缘网关即可直接向终端设备回源。应理解,本技术实施例的限流方法是针对动态回源请求执行的方法,因此,为了便于说明,后续均默认第一请求的类型为动态回源请求来介绍本方法。
49.具体的,边缘网关在接收到第一请求后的预设时间内,判断该边缘网关在该预设时间内针对第一域名的每秒请求数(queries-per-second,qps)是否超过第一阈值;其中,上述qps在本技术实施例中用于表示每秒的动态回源请求数。
50.而第一阈值则是边缘网关从第一预设策略中获取到的针对第一域名在该边缘网关中动态回源请求qps阈值。
51.可选的,对于该第一阈值具体数值的确定,则可以由以下几种方式确定:
52.方式一、预先由cdn网络的运维人员配置在该边缘网关的第一预设策略中;其中,第一预设策略既可以是预先保存在边缘网关中用以响应限流指令的策略,也可以是由限流中心在限流指令中携带的,由限流指令一起发送至边缘网关的,具体如何设置由实际使用需求确定,本技术不做限制。
53.方式二、由该边缘网关根据自身的互联网协议(internet protocol,ip)地址、cdn网络中第一域名的qps总阈值以及第二预设策略确定;
54.方式三、由限流中心在发送限流指令时,向边缘网关发送该边缘网关对应的第一阈值,在本方式中,第一预设策略则预先配置在边缘网关中,而边缘网关在响应限流指令执行第一预设策略的同时,会从限流指令中获取具体的第一阈值的值。
55.在上述几种方式中,方式一可以由运维人员根据不同的使用情况配置相应的第一阈值,方式二则可以由边缘网关根据预设规则确定需要的第一阈值,方式三则由限流中心确定第一阈值。
56.具体的,方式二中的根据预设规则确定第一阈值的方法以及方式三种限流中心确定第一阈值的具体的值的方法,则可以参考以下实现步骤:
57.首先需要明确的是,第一阈值仅仅是对于该边缘网关而言的,针对第一域名的动态回源请求的阈值。而对于整个cdn网络而言,存在针对第一域名的qps总阈值,该总阈值即为cdn网络中,为第一域名分配的最大可使用流量的阈值。而对于其他可能存在的第二域名或第三域名,同样会被分配到属于该域名的qps阈值,这样,即使第一域名的qps已经达到该域名的qps总阈值,只要第二域名或第三域名的qps没有达到这些域名对应的阈值,那么第二域名与第三域名动态回源请求就不会受到限流操作的影响。而具体的不同域名对应的总阈值,则可以是由cdn网络的运维人员进行配置。
58.,在限流中心会被配置第一域名的qps总阈值。而在第一域名的qps总阈值确定后,还需要分别确定cdn网络中各个边缘网关对应的第一域名的第一阈值。而第一阈值的确定可以采用以下不同的方式:
59.第一种、将cdn网络中对于第一域名的qps总阈值均分至所有边缘网关。
60.第二种、以不同边缘网关的用户接入量为分配权重,将qps总阈值按照权重越大分配阈值越大的策略,分别为不同的边缘网关确定第一阈值,其中用户接入量与分配权重成正相关。
61.第三种、按照第二预设策略,将qps总阈值分配至不同ip地址的边缘网关,其中,第二阈值策略包括了cdn网络中所有边缘网关的ip地址以及第一域名的qps总阈值分配至所有不同ip地址的边缘网关的分配比例。
62.可选的,上述第三种方式中第一域名qps的分配比例可以选择依据不同的优先级顺序确定,也可以选择根据边缘网关中针对第一域名的qps量与cdn网络中针对第一域名的qps总量的比例确定。以下,分别对这两种方式进行举例介绍。
63.对于第一种,根据优先级确定分配比例,具体可以采取如下方式:
64.例如,qps的分配比例可以根据预设的ip地址对应的第一优先级顺序确定:边缘网关的ip地址对应的优先级越高,该边缘网关的qps分配比例越大,该边缘网关被分配到的第一阈值也越大。
65.又例如,qps的分配比例可以根据边缘网关的运营商对应的第二优先级顺序确定:
边缘网关的运营商对应的优先级越高,该边缘网关的qps分配比例越大,该边缘网关被分配到的第一阈值也越大。
66.还例如,qps的分配比例还可以由上述第一优先级顺序与第二优先级顺序共同确定,即,边缘网关的运营商对应的优先级越高且边缘网关的ip地址对应的优先级越高,则该边缘网关的qps分配比例越大,该边缘网关被分配到的第一阈值也越大。
67.其中,ip地址对应的第一优先级顺序以及运营商对应的第二优先级顺序均可由cdn的运维人员根据实际需求进行单独配置,本技术不做限制。
68.在本方式中,根据优先级策略为边缘网关分配qps阈值的分配比例,操作简洁,易于实现,提高了本方案的可实施性。
69.对于第二种,根据边缘网关中针对第一域名的qps量与cdn网络中针对第一域名的qps总量的比例确定,则可以是以如下方式确定:
70.假设边缘网关001的当前针对第一域名的qps的值为3万,边缘网关002的当前针对第一域名的qps值为2万,而同时刻cdn网络中针对第一域名的qps总量为12万,此时,限流中心查询到cdn网络中针对于第一域名的qps总阈值为10万,因此,限流中心需要对边缘网关发送针对第一域名的限流指令,并同时分别向不同的边缘网关下发其对应的边缘网关一级的qps阈值分配比例。而具体到边缘网关001与边缘网关002时,限流中心会获取到边缘网关此时针对第一域名的qps量,并通过边缘网关对应的qps的量与cdn网络中qps总量的比例确定其qps阈值分配比例,例如,对于边缘网关001而言,其qps阈值分配比例应为:3万/12万,即0.25,因此,边缘网关001对应的针对第一域名的qps阈值即为:10万*0.25,即2.5万。类似的边缘网关002的qps阈值分配比例即为:0.167,其对应的阈值即为:1.67万。
71.在本方式中,根据cdn网络中动态回源请求的实时分布情况,为不同的边缘网关分配对应的qps阈值分配比例,能够有效地提升限流的准确性以及限流操作的精细化程度,提高限流效果的同时,给予了用户更好的使用体验。
72.在边缘网关接收第一请求的预设时间内,边缘网关可以根据当前该边缘网关中针对第一域名的qps与第一阈值的关系,执行步骤s203或步骤s204-步骤s206。具体的,当qps超过第一阈值时,执行步骤s203,当qps没有超过第一阈值时,执行步骤s204-步骤s206。
73.s203:将第一请求放置于请求等待队列中,其中,该请求等待队列中包括边缘网关中所有用于请求第一域名的资源请求。
74.当边缘网关内针对第一域名的qps的值已经超过第一阈值后,边缘网关则需要将该第一请求放置于请求等待队列中,以实现该边缘网关对第一域名的动态回源请求的限流,使源站不至于同时接收到超出其处理能力范围内的请求量,避免源站出现工作异常的情况。然后,在qps的值降低到不超过第一阈值后,边缘网关即可将上述请求等待队列中的第一请求发送至源站。
75.可选的,在边缘网关将该第一请求放置于请求等待队列中时,边缘网关可以选择为该第一请求赋予对应的优先级,并依据该第一请求对应的优先级,将该第一请求放置于请求等待队列中具有对应的优先级的子请求等待队列中,这样,在后续触发第一请求时,边缘网关可以根据子请求等待队列对应的优先级,将放置其中的请求依次触发。
76.具体的,在将该第一请求放置于请求等待队列之前,首先确定该第一请求的所属的ip地址以及其运营商信息;其次,根据第一请求所属的ip地址对应的优先级顺序以及第
一请求对应的运营商信息对应的优先级顺序,确定该第一请求对应的第三优先级;接着,根据该第一请求对应的第三优先级,将第一请求放置于对应第三优先级的目标子请求等待队列中。需要说明的是,请求等待队列中包含若干子请求等待队列,这若干子请求等待队列分别对应不同的优先级,而目标子请求等待队列即为若干子请求等待队列中的一个。因此,本方式中,假设确定第一请求的第三优先级为5级时,会将该第一请求放置于优先级对应等级同样为5级的子请求等待队列中。
77.在本方式中,边缘网关确定第一请求的优先级后,将第一请求放置于具有对应优先级的子请求等待队列中,确保了各个子请求等待队列所包含的请求都对应有相同的优先级,提供了后续根据子请求等待队列对应的优先级触发请求的实现基础,简化了触发流程,提高了用户的使用体验。
78.s204:确定请求等待队列中存在的请求个数是否超过第一阈值与当前边缘网关内针对第一域名的qps的差值,若超过,则执行步骤s205,若不超过,则执行步骤s206。
79.s205:根据请求等待队列中包含的各个子请求等待队列对应的优先级顺序,由高到低依次触发各个子请求等待队列中的请求,直到触发的请求的数量达到n,其中,n的值与第一阈值与当前边缘网关内针对第一域名的qps的差值相同。
80.在本步骤中,根据请求等待队列中各个子请求等待队列中的优先级顺序,依次触发请求,确保了高优先级的请求能够优先被处理,提高了网络稳定性以及用户的使用体验,同时,只需依据子请求等待队列的优先级顺序即可确定其包含的请求的优先级,简化了寻找高优先级的请求的操作,提高了请求被触发这一过程的效率。
81.s206:直接触发第一请求以及请求等待队列中的全部请求。
82.若请求等待队列中请求的数量小于上述差值,则表示该边缘网关目前的请求量不会超过第一阈值,所以边缘网关即可触发目前暂存的所有请求。
83.在本方案中,针对不同域名设置了不同的限流阈值,针对统一域名下不同网关同样设置了不同的限流阈值,首先确保了出现大量动态回源请求时,源站不会出现宕机等事故影响其正常工作,其次,以域名 边缘网关管理粒度,实现了限流操作的精细化、差异化,这样,在保证限流效果的同时,能够更加均衡的配置cdn网络中的流量资源,避免了同一域名的动态回源请求占据全部资源的问题,提高了用户的使用体验。
84.以上介绍了本技术实施例在边缘网关侧的应用,而除边缘网关外,还存在需要以限流中心为执行主体的方法。参见图3,为本技术实施例提供的一种应用于限流中心的流量控制方法的流程图,该方法具体步骤如下:
85.s301:限流中心获取cdn网络中针对第一域名的qps总量。
86.示例性的,该qps总量的获取,可以是限流中心周期性地从cdn网络中的监控平台获取到的,其中该监控平台用于实时检测cdn网络中针对各个域名的qps总量,同时,监控平台也用于实时检测各个边缘网关中针对不同域名的qps分量。而限流中心则可以从监控平台获取当前第一域名的总量,进而判断是否需要对针对第一域名的动态回源请求进行限流。
87.s302:确定第一域名对应的qps总量与第二阈值的关系,其中,第二阈值用于指示上文所述的cdn网络中第一域名的qps总阈值;若qps总量超过第二阈值,则执行步骤s303,若qps总量不超过第二阈值,则不需要执行步骤s303。
88.步骤s302中仅是以第一域名的实时qps总量与第二阈值为例说明本技术实施例的方法,但是,应理解,在实际使用中,限流中心可以同时针对cdn网络中的所有域名进行qps总量的检测,以判断边缘网关是否需要对这些的域名执行对应的限流操作,具体检测的域名的数量本技术不做限制。
89.s303:向cdn网络中所有边缘网关发送限流指令,该限流指令用于指示边缘网关对针对第一域名的资源请求执行第一预设策略。
90.限流中心在确定cdn网络中针对第一域名的实时qps总量超过第二阈值后,确定当前针对第一域名的动态回源请求已超过限流阈值,此时,限流中心需要向cdn网络中的所有边缘网关发送限流指令,要求所有边缘网关对针对第一域名的资源请求执行限流操作(即第一预设策略)。
91.需要说明的是,以上方法均以第一域名为例对本技术实施例提供的方案进行了介绍,但是,在实际生活中,限流中心可以实现对cdn网络中所有域名的全部流量监控,并发送针对不同域名的限流指令,具体是分别发送指令还是统一发送指令则可以根据实际使用需求设置,本技术不做限制。
92.应理解,以上分别从两侧对本技术实施例提供的方法进行了介绍,而上述各实施方式可以相互组合以实现不同的技术效果。以下,通过一个具体的示例来介绍可能的组合。
93.参见图4,为本技术实施例提供的一种流量控制方法的示意图。该方法具体实施步骤如下:
94.s401:限流中心确定cdn网络中第一域名的qps总量。
95.s402:判断第一域名的qps总量是否超过第二阈值,若超过第二阈值,则执行步骤s403,若不超过,则不执行后续操作。
96.s403:限流中心向cdn网络中的边缘网关发送限流指令,以使所有边缘网关对针对第一域名的资源请求执行第一预设策略。
97.s404:边缘网关响应于限流指令,针对第一域名的资源请求执行第一预设操作。
98.s405:终端设备向边缘网关发送第一请求,边缘网关接收来自终端设备的第一请求,该第一请求为终端设备针对第一域名的动态回源请求。
99.s406:边缘网关根据第一预设策略,在接收第一请求的预设时间内,确定边缘网关内针对第一域名的qps超过第一阈值。
100.s407:边缘网关根据第一请求所属的ip地址以及对应的运营商信息,确定第一请求对应的第三优先级。
101.s408:边缘网关将第一请求放置于请求等待队列中具有与第一请求对应优先级的子请求等待队列中。
102.在将第一请求放置于请求等待队列后,边缘网关会继续判断边缘网关中针对第一域名的qps的值与第一阈值的关系,一旦确定该qps小于第一阈值后,则执行后续步骤。
103.s409:确定边缘网关中针对第一域名的qps小于第一阈值,触发请求等待队列中的第一请求。
104.s410:边缘网关接收来自源站的第一请求中请求的资源。
105.s411:边缘网关将接收到的资源发送至终端设备。
106.以上即为本技术实施例所提供的一种示例方法。
107.基于同一发明构思,本技术实施例还提供一种流量控制装置。
108.参见图5,为本技术实施例提供一种流量控制装置,该装置可以是由上述边缘网关或者是该设备中的芯片或集成电路等,该装置包括用于执行上述方法实施例中由边缘网关执行的方法的模块/单元/技术手段。
109.示例性的,该装置500包括:
110.接收模块501,用于接收来自所述限流中心的限流指令;其中,所述限流指令用于指示所述边缘网关对针对第一域名的资源请求执行第一预设策略。
111.第一处理模块502,用于响应于所述限流指令,当接收到用于请求所述第一域名的资源的第一请求时,根据所述第一预设策略,在接收所述第一请求后的预设时间内,确定所述边缘网关中针对所述第一域名的每秒请求数qps是否超过第一阈值;若所述qps超过所述第一阈值,则将所述第一请求放置于请求等待队列中。
112.作为一种实施例,图5论述的装置可以用于执行图2所示的实施例中所述的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考图2所示的实施例的描述,此处不再赘述。
113.基于同一发明构思,本技术实施例还提供一种流量控制装置。
114.参见图6,为本技术实施例提供一种流量控制装置,该装置可以是由上述限流中心或者是该设备中的芯片或集成电路等,该装置包括用于执行上述方法实施例中由限流中心执行的方法的模块/单元/技术手段。
115.示例性的,该装置600包括:
116.第二处理模块601,用于获取所述cdn中针对第一域名的qps总量;确定所述qps总量与第二阈值的关系,其中,所述第二阈值用于指示所述cdn中针对所述第一域名的qps总阈值。
117.发送模块602,用于若所述qps总量超过所述第二阈值,则向所述cdn中的所有边缘网关发送限流指令,所述限流指令用于指示所述边缘网关对针对所述第一域名的资源请求执行第一预设策略。
118.作为一种实施例,图6论述的装置可以用于执行图3所示的实施例中所述的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考图3所示的实施例的描述,此处不再赘述。
119.应当注意,尽管在上文详细描述中提及了装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
120.作为上述装置一种可能的产品形态,参见图7,本技术实施例还提供一种电子设备700,包括:
121.至少一个处理器701;以及与所述至少一个处理器701通信连接的通信接口703;所述至少一个处理器701通过执行存储器702存储的指令,使得所述电子设备700通过所述通信接口703执行上述方法实施例中任一设备所执行的方法步骤。
122.可选的,所述存储器702位于所述电子设备700之外。
123.可选的,所述电子设备700包括所述存储器702,所述存储器702与所述至少一个处
理器701相连,所述存储器702存储有可被所述至少一个处理器701执行的指令。附图7用虚线表示存储器702对于电子设备700是可选的。
124.其中,所述处理器701和所述存储器702可以通过接口电路耦合,也可以集成在一起,这里不做限制。
125.本技术实施例中不限定上述处理器701、存储器702以及通信接口703之间的具体连接介质。本技术实施例在图7中以处理器701、存储器702以及通信接口703之间通过总线704连接,总线在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。应理解,本技术实施例中提及的处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
126.示例性的,处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
127.应理解,本技术实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data eate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
128.需要说明的是,当处理器为通用处理器、dsp、asic、fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。
129.应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
130.作为另一种可能的产品形态,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质用于存储指令,当所述指令被执行时,使得计算机执行上述方法实例中任一设备所执行的方法步骤。
131.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
132.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
133.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
134.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
135.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献