CN114615073A - 访问流量控制方法及其装置、设备、介质 - Google Patents

访问流量控制方法及其装置、设备、介质 Download PDF

Info

Publication number
CN114615073A
CN114615073A CN202210304703.8A CN202210304703A CN114615073A CN 114615073 A CN114615073 A CN 114615073A CN 202210304703 A CN202210304703 A CN 202210304703A CN 114615073 A CN114615073 A CN 114615073A
Authority
CN
China
Prior art keywords
network access
flow
current
limiting
address
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
Application number
CN202210304703.8A
Other languages
English (en)
Other versions
CN114615073B (zh
Inventor
蒋顺风
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Cubesili Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Cubesili Information Technology Co Ltd filed Critical Guangzhou Cubesili Information Technology Co Ltd
Priority to CN202210304703.8A priority Critical patent/CN114615073B/zh
Priority claimed from CN202210304703.8A external-priority patent/CN114615073B/zh
Publication of CN114615073A publication Critical patent/CN114615073A/zh
Application granted granted Critical
Publication of CN114615073B publication Critical patent/CN114615073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开一种访问流量控制方法及其装置、设备、介质,所述方法包括:响应客户端推送的访问请求,生成包含客户端的访问者地址及其访问的目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验;查询访问限流列表中是否存在目标网络访问地址,若存在,则监听流量控制中心中的限流校验事件,若不存在,则开放客户端访问目标网络访问地址的权限;当监听时长超过预设监听时长时,则开放客户端访问目标网络访问地址的权限;接收流量控制中心推送的限流校验结果,根据限流校验结果判断是否开放客户端访问目标网络访问地址的权限。本申请以分布式集群方式为后端服务器集群提供流控服务,具有节省服务器集群运算资源、流量控制更精准等优势。

Description

访问流量控制方法及其装置、设备、介质
技术领域
本申请涉及服务器流控领域,尤其涉及一种访问流量控制方法,此外还涉及该方法相应的装置、设备以及非易失性存储介质。
背景技术
现有的互联网平台为平台用户提供各类型的相关在线服务,例如,互联网直播平台会向平台用户提供各类型的网络直播在线服务,如直播观看服务、与主播用户互动的虚拟礼物赠送在线服务等,且互联网平台所提供的在线服务一般通过代理服务器的方式将平台用户的访问请求转发推送至后端服务器中进行处理,但代理服务器一般也需对平台用户的请求进行流控处理,以防止因互联网直播平台举办热门的在线活动或遭受CC攻击等恶意的互联网攻击时,高并发的过量请求推送至后端服务器中极易造成服务器发生崩溃,导致相关的在线服务无法为平台用户提供服务。
但现有的互联网平台为代理服务器集群构建的流控服务是为各代理服务器分别设置独立的流控模块,各代理服务器独立负责对其接收到的请求进行流控处理,这种流控方式占用代理服务器的算力资源,使代理服务器无法将算力资源应用于请求响应及转发,无法快速地反馈平台用户推送的请求影响用户体验。
另外,分别为各代理服务器配置独立的流控模块的开发成本较高,同时各代理服务器中的流控模块相互独立,难以对各代理服务器所处的代理服务器集群进行统一地流控配置,维护成本较高。
鉴于现有的代理服务器集群的流量控制所存在的问题,本申请人出于解决该问题的考虑做出相应的探索。
发明内容
本申请的目的在于满足用户需求而提供一种访问流量控制方法,此外还涉及该方法相应的装置、设备、非易失性存储介质以及计算机程序产品。
为实现本申请的目的,采用如下技术方案:
适应本申请的目的而提出的一种访问流量控制方法,包括如下步骤:
响应客户端推送的访问请求,确定该客户端所对应的访问者地址及其访问的目标网络访问地址,以将生成包含该访问者地址及目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验;
查询访问限流列表中是否存在目标网络访问地址,若存在,则监听所述流量控制中心中作用于所述流量校验请求的限流校验事件,若不存在,则开放所述客户端访问所述目标网络访问地址的权限;
当所述限流校验事件的监听时长超过预设监听时长时,则开放所述客户端访问所述目标网络访问地址的权限,若未超过,则继续监听所述限流校验事件;
接收由所述流量控制中心推送的限流校验结果,根据该限流校验结果判断是否向所述客户端开放访问所述目标网络访问地址的权限。
进一步的实施例中,所述以将生成包含该访问者地址及目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验的步骤中,包括如下由流量控制中心执行的步骤:
获取由代理服务器推送的所述流量校验请求,获取该请求中包含的所述访问者地址及目标网络访问地址,并根据该流量校验请求对应统计该目标网络访问地址所对应的网络每秒总访问量及客户每秒访问次数;
查询限流策略池中是否存在所述目标网络访问地址所对应的限流策略,所述限流策略池中存储着多个目标网络访问地址所对应的目标网络访问地址;
当存在所述目标网络访问地址所对应的限流策略时,获取该限流策略中包含的预设网址限流阈值及客户限流阈值;
判断当前最新统计的所述网址每秒访问总量是否超过所述网址限流阈值,若超过,则向代理服务器推送表征对所述目标网络访问地址执行限流的限流校验结果;
判断当前最新统计的所述客户每秒访问次数是否超过所述客户限流阈值,若超过,则向代理服务器推送表征禁止所述客户端访问的限流校验结果,若未超过,则向代理服务器推送表征允许所述客户端访问的限流校验结果。
进一步的实施例中,本方法包括如下由流量控制中心执行的并行步骤:
接收由管理端推送限流策略更新指令,获取该限流策略更新指令中包含的网络访问地址及其对应的最新限流策略;
判断限流策略池中是否存在所述网络访问地址所对应的限流策略,若存在,则根据所述最新限流策略对应更新限流策略池中的所述网络访问地址的限流策略;
当所述限流策略池中不存在所述网络访问地址所对应的限流策略,则在所述限流策略池存储所述最新限流策略,将生成包含该网络访问地址的访问限流列表广播至代理服务器集群中进行更新。
进一步的实施例中,本方法包括如下由流量控制中心执行的并行步骤:
接收由代理服务器集群中一个或多个代理服务器推送的流量校验请求,获取该些流量校验请求各自包含的网络访问地址;
判断各所述网络访问地址在限流策略池中是否存在对应的限流策略,统计存在所述限流策略的网络访问地址的网络每秒总访问量,所述网络每秒总访问量根据网络访问地址所属的流量校验请求的数量进行统计;
当任一网络访问地址的所述网络每秒总访问量超过其限流策略中包含的限流阈值时,将生成包含该网络访问地址的访问限流列表广播至代理服务器集群中进行更新。
进一步的实施例中,所述当所述限流校验事件的监听时长超过预设监听时长时,则开放所述客户端访问所述目标网络访问地址的权限,若未超过,则继续监听所述限流校验事件的步骤中,包括如下由代理服务器执行的步骤:
将所述流量校验请求推送至流量控制中心后,将该流量校验请求存储至请求队列中,所述请求队列中各流量校验请求及其入队时间对应存储;
监听所述请求队列中各流量校验请求的入队时间,当任意流量校验请求的入队时间超过预设监听时长时,则确定该流量校验请求中包含的网络访问地址;
将所述流量校验请求所对应的访问请求转发至所述网络访问地址所对应的后端服务器中,以开放所述访问请求所属的客户端访问所述网络访问地址的权限。
进一步的实施例中,所述根据该限流校验结果判断是否向所述客户端开放访问所述目标网络访问地址的权限的步骤中,包括如下由代理服务器执行的步骤:
解析由所述流量控制中心推送的所述限流校验结果,获取该限流校验结果中包含的流控标识;
当所述流控标识表征允许访问时,将所述访问请求转发至所述目标网络访问地址所对应的后端服务器中,以开放所述客户端访问所述目标网络访问地址的权限;
当所述流控标识表征禁止访问时,将不向所述目标网络访问地址所对应的后端服务器转发所述访问请求,并向所述客户端推送访问错误通知。
进一步的实施例中,所述以将生成包含该访问者地址及目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验的步骤之后,包括如下由代理服务器执行的步骤:
获取由所述流量控制中心推送的所述限流校验结果;
解析所述限流校验结果,当该限流校验结果中包含作用于所述目标网络访问地址的限流标识时,将不向该目标网络访问地址所对应的后端服务器转发所述访问请求,并向所述客户端推送访问错误通知;
将该目标网络访问地址存储至所述访问限流列表中。
适应本申请的目的而提出的一种访问流量控制装置,其包括:
校验请求推送模块,用于响应客户端推送的访问请求,确定该客户端所对应的访问者地址及其访问的目标网络访问地址,以将生成包含该访问者地址及目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验;
校验事件监听模块,用于查询访问限流列表中是否存在目标网络访问地址,若存在,则监听所述流量控制中心中作用于所述流量校验请求的限流校验事件,若不存在,则开放所述客户端访问所述目标网络访问地址的权限;
监听时长判断模块,用于当所述限流校验事件的监听时长超过预设监听时长时,则开放所述客户端访问所述目标网络访问地址的权限,若未超过,则继续监听所述限流校验事件;
校验结果响应模块,用于接收由所述流量控制中心推送的限流校验结果,根据该限流校验结果判断是否向所述客户端开放访问所述目标网络访问地址的权限。
进一步的实施例中,所述校验请求推送模块包括:
流量统计子模块,用于获取由代理服务器推送的所述流量校验请求,获取该请求中包含的所述访问者地址及目标网络访问地址,并根据该流量校验请求对应统计该目标网络访问地址所对应的网络每秒总访问量及客户每秒访问次数;
限流策略查询子模块,用于查询限流策略池中是否存在所述目标网络访问地址所对应的限流策略,所述限流策略池中存储着多个目标网络访问地址所对应的目标网络访问地址;
阈值获取子模块,用于当存在所述目标网络访问地址所对应的限流策略时,获取该限流策略中包含的预设网址限流阈值及客户限流阈值;
网址阈值判断子模块,用于判断当前最新统计的所述网址每秒访问总量是否超过所述网址限流阈值,若超过,则向代理服务器推送表征对所述目标网络访问地址执行限流的限流校验结果;
客户阈值判断子模块,用于判断当前最新统计的所述客户每秒访问次数是否超过所述客户限流阈值,若超过,则向代理服务器推送表征禁止所述客户端访问的限流校验结果,若未超过,则向代理服务器推送表征允许所述客户端访问的限流校验结果。
进一步的实施例中,所述校验结果响应模块包括:
请求记录子模块,用于将所述流量校验请求推送至流量控制中心后,将该流量校验请求存储至请求队列中,所述请求队列中各流量校验请求及其入队时间对应存储;
入队时长监听子模块,用于监听所述请求队列中各流量校验请求的入队时间,当任意流量校验请求的入队时间超过预设监听时长时,则确定该流量校验请求中包含的网络访问地址;
请求转发子模块,用于将所述流量校验请求所对应的访问请求转发至所述网络访问地址所对应的后端服务器中,以开放所述访问请求所属的客户端访问所述网络访问地址的权限。
进一步的实施例中,所述监听时长判断模块包括:
流控标识获取子模块,用于解析由所述流量控制中心推送的所述限流校验结果,获取该限流校验结果中包含的流控标识;
访问权限开放子模块,用于当所述流控标识表征允许访问时,将所述访问请求转发至所述目标网络访问地址所对应的后端服务器中,以开放所述客户端访问所述目标网络访问地址的权限;
访问权限禁止子模块,用于当所述流控标识表征禁止访问时,将不向所述目标网络访问地址所对应的后端服务器转发所述访问请求,并向所述客户端推送访问错误通知。
较佳的实施例中,所述监听时长判断模块还包括:
校验结果获取子模块,用于获取由所述流量控制中心推送的所述限流校验结果;
校验结果解析子模块,用于解析所述限流校验结果,当该限流校验结果中包含作用于所述目标网络访问地址的限流标识时,将不向该目标网络访问地址所对应的后端服务器转发所述访问请求,并向所述客户端推送访问错误通知;
访问地址存储子模块,用于将该目标网络访问地址存储至所述访问限流列表中。
为解决上述技术问题本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述所述访问流量控制方法的步骤。
为解决上述技术问题本申请实施例还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述所述访问流量控制方法的步骤。
为解决上述技术问题本申请实施例还提供一种计算机程序产品,包括计算机程序及计算机指令,该计算机程序及计算机指令被处理器执行时,使得所述处理器执行上述所述访问流量控制方法的步骤。
相对于现有技术,本申请的优势如下:
本申请为互联网平台提供分布式集群的流量控制中心,通过流量控制中心分布式集中管理代理服务器集群中各代理服务器的限流校验,代理服务器仅需在其每次接收到访问请求后,就将访问请求所属的客户端的访问者地址及其访问的目标网络访问地址推送至流量控制中心中,由流量控制中心负责为校验作用于客户端的客户访问次数校验及目标网络服务地址的访问总量校验,而代理服务器仅需获取由流量控制访问推送的校验结果,进而根据校验结果进行流控处理即可,相比较现有的代理服务器流控方式,本申请不需要为代理服务器集群中各代理服务器分别设置相关流控方式,节省开发人员分别为各代理服务器配置相关控流模块所耗费的时间,且流量校验处理交由流控控制中心负责而无需各代理服务器独立负责,有效地节省了代理服务器的算力资源,使代理服务器可为更快速地响应及反馈平台用户推送的请求,提升平台用户的网络体验。
其次,本申请中的代理服务器集群中各服务器集群通过记录着需进行限流校验的网络访问地址的访问限流列表与流量控制中心保持校验对象的同步,对于存在访问限流列表中的网络访问地址的流量校验请求进行监听,以对监听时长超过预设时长的流量校验请求所对应的访问请求进行转发及反馈处理,防止因流量控制中心响应流量校验请求的时间过长而影响平台用户的使用体验。
另外,本申请的流量控制中心的校验策略针对网络访问地址进行限流处理,以实现针对域名进行机房级别进行多维度地限流校验,通过统计网络访问地址的每秒访问总量及客户访问总量,以从网络访问地址的访问总量及用户的访问总量进行多维度的流量校验,有效地防止恶意的网络攻击造成在线服务的崩溃,提升互联网平台中在线服务的服务质量。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为实施本申请的技术方案相关的一种典型的网络部署架构示意图;
图2为本申请的访问流量控制方法的典型实施例的流程示意图;
图3为本申请关于流量控制中心校验流量校验请求的具体实施方式所形成的流程示意图;
图4为本申请关于流量控制中心同步更新代理服务器集群的限流访问列表的一种实施方式的具体实施方式所形成的流程示意图;
图5为本申请关于流量控制中心同步更新代理服务器集群的限流访问列表的另一种实施方式的具体实施方式所形成的流程示意图;
图6为本申请关于代理服务器监听流量校验事件的具体实施方式所形成的流程示意图;
图7为本申请关于代理服务器根据限流校验结果判断是否向所述客户端开放访问所述目标网络访问地址的权限的一种实施方式的具体实施方式所形成的流程示意图;
图8为本申请关于代理服务器根据限流校验结果判断是否向所述客户端开放访问所述目标网络访问地址的权限的另一种实施方式的具体实施方式所形成的流程示意图;
图9为本申请的访问流量控制装置的典型实施例的原理框图;
图10为本申请一个实施例的计算机设备的基本结构框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信***),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位***)接收器;传统膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的传统膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本申请所称的“服务器”、“客户端”、“工作节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器集群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机集群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。
请参阅图1,本申请相关技术方案实施时所需的硬件基础可按图中所示的架构进行部署。本申请所称服务器80部署在云端,作为一个在线服务器,其可以负责进一步连接起相关数据服务器以及其他提供相关支持的服务器等,以此构成逻辑上相关联的服务集群,来为相关的终端设备例如图中所示的智能手机81和个人计算机82或者第三方服务器(未图示)提供服务。所述的智能手机和个人计算机均可通过公知的网络接入方式接入互联网,与云端的服务器80建立数据通信链路,以便运行所述服务器所提供的服务相关的终端应用程序。
对于服务器而言,所述的应用程序通常会被构建为服务进程,开放相应的程序接口,供各种终端设备上运行的应用程序进行远程调用,本申请中适于运行于服务器的相关技术方案,便可以此种方式实现于服务器中。
所述的应用程序,是指运行于服务器或终端设备上的应用程序,这一应用程序采用编程的方式实现了本申请的相关技术方案,其程序代码可被以计算机可执行指令的形式保存于计算机能识别的非易失性存储介质中,并被中央处理器调入内存中运行,通过该应用程序在计算机的运行而构造出本申请的相关装置。
对于服务器而言,所述的应用程序通常会被构建为服务进程,开放相应的程序接口,供各种终端设备上运行的应用程序进行远程调用,本申请中适于运行于服务器的相关技术方案,便可以此种方式实现于服务器中。
本领域技术人员对此应当知晓:本申请的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本申请所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
请参阅图2,本申请的一种访问流量控制方法,在其典型实施例中,其包括如下步骤:
步骤S11,响应客户端推送的访问请求,确定该客户端所对应的访问者地址及其访问的目标网络访问地址,以将生成包含该访问者地址及目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验:
当前代理服务器响应所述客户端推送的访问请求,以根据该访问请求确定所述客户端所对应的访问者地址及其推送该访问请求所需访问的目标网络访问地址,进而生成包含所述访问者地址及目标网络访问地址的流量校验请求,以将该流量校验请求推送至流量控制中心中进行限流校验。
客户端推送所述访问请求的目的是用于访问目标网络访问地址所指的网络页面或在目标网络访问地址所对应的网络页面中进行相应的操作,如登录账号、注册账号或进入直播间页面等,当前代理服务器接收所述访问请求后,一般将该访问请求转发至目标网络访问地址所对应的后端服务器中,以便所述客户端访问该目标网络访问地址所对应的网络页面,但出于减轻后端服务器的流量压力及维护目标网络访问地址的目的,本方法将对访问网络访问地址的客户端及网络访问地址进行限流校验,代理服务器获取由客户端推送的访问请求后,将对生成包含访问者地址及目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验。
所述的访问者地址一般是指用于表征推送访问请求的客户端的互联网协议地址,即一般俗称的IP地址。
所述的网络访问地址一般是指URL,客户端通过推送指向目标网络访问地址的访问请求,以访问该目标网络访问地址所对应的网络页面或执行相应的线上操作。
所述的流量控制中心是指为代理服务器集群负责流量校验等限流处理的服务,所述流量控制中心接收代理服务器集群中任意代理服务器推送的流量校验请求,以校验各流量校验请求所对应的网络访问地址是否符合其限流策略,进而对网络访问地址进行限流处理,防止大量的请求推送至各网络访问地址相关联的后端服务器中,减轻各后端服务器的运算压力,进而保证各后端服务器的运行流畅性。
所述的流量控制中心接收由当前代理服务器推送的所述流量校验请求后,将解析该流量校验请求以获取其包含的所述访问者地址及目标网络访问地址,以根据该访问者地址对目标网络访问地址所对应的客户每秒访问次数进行统计处理,即当每次接收到包含该访问者地址时,则将对应添加目标网络访问地址的作用于该访问者地址的所述客户每次访问次数,相对应,根据所述目标网络访问地址对应统计作用于该目标网络访问地址的网络每秒访问量;同时,所述流量控制中心查询限流策略池中是否存在所述目标网络访问地址所对应的限流策略,若存在所述限流策略,则获取该限流策略中包含的客户限流阈值,以判断作用于所述访问者地址的所述客户每次访问次数是否超过该客户限流阈值,以及获取该限流策略中包含的网址限流阈值,判断作用于目标网络访问地址的网络每秒访问量是否超过该网址限流阈值;若当前最新统计的所述客户每次访问次数超过该客户限流阈值时,则向当前代理服务器推送表征禁止所述客户端访问的限流校验结果,若未超过,则则向当前代理服务器推送表征允许所述客户端访问的限流校验结果;若当前最新统计的所述网址每秒访问总量超过所述网址限流阈值时,则向当前代理服务器推送表征对所述目标网络访问地址执行限流的限流校验结果。
步骤S12,查询访问限流列表中是否存在目标网络访问地址,若存在,则监听所述流量控制中心中作用于所述流量校验请求的限流校验事件,若不存在,则开放所述客户端访问所述目标网络访问地址的权限:
当前代理服务器查询访问限流列表中是否存在所述目标网络访问地址,若存在,则监听所述流量控制中心监听作用于所述流量校验请求的限流校验事件,若不存在,则开放所述客户端访问所述目标网络访问地址的权限。
所述的访问限流列表中存储着需进行限流校验的网络访问地址,该访问限流列表中存储的网络访问地址一般由当前代理服务器根据所述流量控制中心负责推送及更新,具体的,当流量控制中心获取为未具有限流策略的网络访问地址新配置的限流策略后,该流量控制中心将向代理服务器集群广播该网络访问地址或广播新添加该网络访问地址的访问限流列表,以便集群中各代理服务器对应更新其当前具有访问限流列表。
另外,另一种流量控制中心更新代理服务器集群中各代理服务器所具有的访问限流列表的方式,流量控制中心当前最新统计任意网络访问地址所对应的网址每秒访问总量超过网址限流阈值时,则流量控制中心将向代理服务器集群广播该网络访问地址或广播新添加该网络访问地址的访问限流列表,以便集群中各代理服务器对应更新其当前具有访问限流列表。
所述的限流校验事件是指所述流量控制中心中作用于所述流量校验请求的事件,当前代理服务器确定所述访问限流列表中存在目标网络访问地址后,将监听所述流量控制中心中作用于所述流量校验请求的事件,以便在流量控制中心超时处理所述流量校验请求时,可向所述客户端开放其访问目标网络访问地址的权限。
关于如何向客户端开放访问目标网络访问地址的权限的实施方式,一般由代理服务器将客户端推送的访问请求转发至与目标网络访问地址相关联的后端服务器中,以由该后端服务器响应所述访问请求,进而使客户端可访问目标网络访问地址所对应的网络页面或执行相应的线上操作。
步骤S13,当所述限流校验事件的监听时长超过预设监听时长时,则开放所述客户端访问所述目标网络访问地址的权限,若未超过,则继续监听所述限流校验事件:
当前代理服务器持续监听作用于所述流量校验请求的限流校验事件,当监听该限流校验事件的监听时长超过预设的监听时长时,则当前代理服务器将向所述客户端开放访问所述目标网络访问地址的权限,以防止因网络堵塞或其他原因造成所述流量控制中心无法响应,导致代理服务器长时间无法接收该流量控制中心推送的限流校验结果,进而导致客户端无法访问目标网络访问地址所对应的网络页面,影响用户的网络体验。
关于当前代理服务器监听所述限流校验事件的具体实施方式,当前代理服务器将所述流量校验请求推送至流量控制中心及确定所述访问限流列表中存在目标网络访问地址后,将该流量校验请求存储至请求队列中,所述请求队列中各流量校验请求及其入队时间对应存储,以监听该请求队列中各流量校验请求的入队时间,当任意流量校验请求的入队时间超过预设监听时长时,则确定该流量校验请求中包含的网络访问地址,进而将所述流量校验请求所对应的访问请求转发至所述网络访问地址所对应的后端服务器中,以便开放所述访问请求所属的客户端访问所述网络访问地址的权限。
步骤S14,接收由所述流量控制中心推送的限流校验结果,根据该限流校验结果判断是否向所述客户端开放访问所述目标网络访问地址的权限:
代理服务器接收由所述流量控制中心推送的作用于所述流量校验请求的限流校验结果,以解析该限流校验结果,进而根据该限流校验结果判断是否向所述客户端开放访问目标网络访问地址的权限。
所述的限流校验结果中一般包含流控标识,以控制当前代理服务器是否将客户端所推送的访问请求转发至后端服务器中,具体的,当前代理服务器解析由所述流量控制中心推送的所述限流校验结果,获取该限流校验结果中包含的流控标识,当所述流控标识表征允许访问时,当前代理服务器将所述访问请求转发至所述目标网络访问地址所对应的后端服务器中,以开放所述客户端访问所述目标网络访问地址的权限,当所述流控标识表征禁止访问时,当前代理服务器将不向所述目标网络访问地址所对应的后端服务器转发所述访问请求,并向所述客户端推送访问错误通知,以通知处于所述客户端的用户在稍后再进行所述明白网络地址的访问。
通过本方法的典型实施方式可知,本方法为互联网平台提供分布式集群的流量控制中心,通过流量控制中心分布式集中管理代理服务器集群中各代理服务器的限流校验,代理服务器仅需在其每次接收到访问请求后,就将访问请求所属的客户端的访问者地址及其访问的目标网络访问地址推送至流量控制中心中,由流量控制中心负责为校验作用于客户端的客户访问次数校验及目标网络服务地址的访问总量校验,而代理服务器仅需获取由流量控制访问推送的校验结果,进而根据校验结果进行流控处理即可,相比较现有的代理服务器流控方式,本方法不需要为代理服务器集群中各代理服务器分别设置相关流控方式,节省开发人员分别为各代理服务器配置相关控流模块所耗费的时间,且流量校验处理交由流控控制中心负责而无需各代理服务器独立负责,有效地节省了代理服务器的算力资源,使代理服务器可为更快速地响应及反馈平台用户推送的请求,提升平台用户的网络体验。
其次,本方法中的代理服务器集群中各服务器集群通过记录着需进行限流校验的网络访问地址的访问限流列表与流量控制中心保持校验对象的同步,对于存在访问限流列表中的网络访问地址的流量校验请求进行监听,以对监听时长超过预设时长的流量校验请求所对应的访问请求进行转发及反馈处理,防止因流量控制中心响应流量校验请求的时间过长而影响平台用户的使用体验。
另外,本方法的流量控制中心的校验策略针对网络访问地址进行限流处理,以实现针对域名进行机房级别进行多维度地限流校验,通过统计网络访问地址的每秒访问总量及客户访问总量,以从网络访问地址的访问总量及用户的访问总量进行多维度的流量校验,有效地防止恶意的网络攻击造成在线服务的崩溃,提升互联网平台中在线服务的服务质量。
以上的典型实施例及其变化实施例充分揭示了本申请的访问流量控制方法的实施方案,但是,仍可通过对一些技术手段的变换和扩增而演绎出该方法的多种变化实施例,如下概要说明其他实施例:
一种实施例中,请参考图3,所述以将生成包含该访问者地址及目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验的步骤中,包括如下由流量控制中心执行的步骤:
步骤S111,获取由代理服务器推送的所述流量校验请求,获取该请求中包含的所述访问者地址及目标网络访问地址,并根据该流量校验请求对应统计该目标网络访问地址所对应的网络每秒总访问量及客户每秒访问次数:
所述流量控制中心获取由当前代理服务器推送的流量校验请求,获取该流量校验请求中包含的访问者地址及目标网络访问地址,以确定该流量校验请求所对应的目标网络访问地址,进而对应统计该目标网络访问地址的网络每秒总访问量及客户每秒访问次数。
流量控制中心统计目标网络访问地址的网络每秒访问量,是根据接收到指向目标网络访问地址的流量校验请求所确定,例如,当流量控制中心在时间端1秒内接收到指向目标网络访问地址的10个流量校验请求后,则目标网络访问地址在该1秒内的网络每秒总访问量为10。
目标网络访问地址的客户每秒访问次数是指任一客户端在1秒内访问目标网络访问地址的次数,流量控制中心根据接收到指向目标网络访问地址的流量校验请求中所包含的访问者地址,对应统计该访问者地址在每秒内访问目标网络访问地址的客户每秒访问次数。
步骤S112,查询限流策略池中是否存在所述目标网络访问地址所对应的限流策略,所述限流策略池中存储着多个目标网络访问地址所对应的目标网络访问地址:
流量控制中心在统计目标网络访问地址的所述网络每秒总访问量及客户每秒访问次数时,将同时从所述限流策略池中查询是否存在目标网络访问地址所对应的限流策略,若存在,则获取该限流策略对目标网络访问地址进行限流校验处理,若不存在,则向代理服务器推送表征允许所述客户端访问的限流校验结果。
步骤S113,当存在所述目标网络访问地址所对应的限流策略时,获取该限流策略中包含的预设网址限流阈值及客户限流阈值:
当流量控制中心从所述限流策略池中查询出目标网络访问地址所对应的限流策略后,将获取该限流策略中包含的预设网络限流阈值及客户限流阈值,所述网络限流阈值与所述网络每秒总访问量对应校验,所述客户限流阈值与客户每秒访问次数对应校验。
步骤S114,判断当前最新统计的所述网址每秒访问总量是否超过所述网址限流阈值,若超过,则向代理服务器推送表征对所述目标网络访问地址执行限流的限流校验结果:
当流量控制中心为目标网络访问地址当前最新统计的网络每秒访问总量超过所述网络限流阈值时,则将向代理服务器推送表征对所述目标网络访问地址指向限流的限流校验结果,以控制该代理服务器不向目标网络访问地址推送所述客户端推送的访问请求,进而禁止所述客户端访问目标网络访问地址。
若当前最新统计的所述网址每秒访问总量未超过所述网址限流阈值,则将继续统计目标网络访问地址的所述网络每秒访问总量及针对所述客户端的客户每秒访问次数。
步骤S115,判断当前最新统计的所述客户每秒访问次数是否超过所述客户限流阈值,若超过,则向代理服务器推送表征禁止所述客户端访问的限流校验结果,若未超过,则向代理服务器推送表征允许所述客户端访问的限流校验结果:
当流量控制中心为目标网络访问地址当前最新统计的作用于所述客户端的客户每秒访问次数超过所述客户限流阈值时,将向代理服务器推送禁止该客户端访问目标网络访问地址的限流校验结果,若未超过,则则向代理服务器推送表征允许所述客户端访问的限流校验结果,以控制代理服务器向目标网络访问地址相关联的后端服务器转发该客户端推送的访问请求。
本实施例中,流量控制中心通过统计网络访问地址的网络每秒总访问量及客户每秒访问次数,以从网络访问地址的访问量及某一客户端访问次数控制该网络访问地址的访问流量,防止网络访问地址所关联的后端服务器因巨大流量造成服务崩溃或宕机。
一种实施例中,请参考图4,本方法包括如下由流量控制中心执行的并行步骤:
步骤S15,接收由管理端推送限流策略更新指令,获取该限流策略更新指令中包含的网络访问地址及其对应的最新限流策略:
所述的限流策略更新指令由管理端通过作用于某一网络访问地址所策略编辑事件所触发推送,该策略编辑事件是指出于管理端的开发人员为某一网络访问地址编辑相应的网址限流阈值及客户限流阈值,以指定该网络访问地址的限流策略。
流量控制中心获取所述限流策略更新指令后,将获取该指令中包含的网络访问地址及其对应的最新限流策略,以将该最新限流策略继续存储处理。
步骤S16,判断限流策略池中是否存在所述网络访问地址所对应的限流策略,若存在,则根据所述最新限流策略对应更新限流策略池中的所述网络访问地址的限流策略:
当限流策略池中存在所述限流处理更新指令所指向的网络访问地址的限流策略时,流量控制中心将根据所述限流策略更新指令中包含的最新限流策略对应更新限流策略池中该网络访问地址的限流策略,例如,对应替换限流策略继续更新或对应更新限流策略中包含的网址限流阈值及客户限流阈值。
步骤S17,当所述限流策略池中不存在所述网络访问地址所对应的限流策略,则在所述限流策略池存储所述最新限流策略,将生成包含该网络访问地址的访问限流列表广播至代理服务器集群中进行更新:
当限流策略池中不存在所述限流处理更新指令所指向的网络访问地址的限流策略时,流量控制中心将所述网络访问地址及最新限流策略对应存储至所述限流策略池中,且生成包含该网络访问地址的最新访问限流列表,将该最新访问限流列表广播至代理服务器集群中,以便集群中的代理服务器接收该访问限流列表进行同步更新。
本实施例中,流量控制中心向限流策略池中添加新的限流策略时,将同步更新代理服务器集群中个代理服务器的访问限流列表,以保证需进行限流处理的网络访问地址的同步,防止代理服务器放行需限流的网络访问地址的访问请求。
一种实施例中,请参考图5,本方法包括如下由流量控制中心执行的并行步骤:
步骤S15’,接收由代理服务器集群中一个或多个代理服务器推送的流量校验请求,获取该些流量校验请求各自包含的网络访问地址:
流量控制中心一般会持续不断地接收代理服务器集群中个代理服务器推送的流量校验请求,并获取该些流量校验请求各自包含的网络访问地址,以对该些网络访问地址进行流量校验。
步骤S16’,判断各所述网络访问地址在限流策略池中是否存在对应的限流策略,统计存在所述限流策略的网络访问地址的网络每秒总访问量,所述网络每秒总访问量根据网络访问地址所属的流量校验请求的数量进行统计:
流量控制中心获取流量校验请求中包含的网络访问地址后,将查询限流处理池中是否存在该网络访问地址所对应的限流策略,若存在,则统计该网络访问地址的网络每秒总访问量,所述网络每秒总访问量的统计方式请参考前文的相关叙述,本步骤恕不赘述。
步骤S17’,当任一网络访问地址的所述网络每秒总访问量超过其限流策略中包含的限流阈值时,将生成包含该网络访问地址的访问限流列表广播至代理服务器集群中进行更新:
当流量控制中心判断为任一网络访问地址最新统计的网络每秒访问总量超过所述网络限流阈值时,则将向推送该网络访问地址所对应的流量校验请求的代理服务器推送表征对所述目标网络访问地址指向限流的限流校验结果,且生成包含该网络访问地址的访问限流列表广播至代理服务器集群中进行更新。
本实施例中,流量控制中心处理限制超过限流阈值的网络访问地址的访问流量外,还将向代理服务器集群广播包含该些网络访问地址的访问限流列表,以控制各代理服务器的流量校验流程。
一种实施例中,请参考图6,所述当所述限流校验事件的监听时长超过预设监听时长时,则开放所述客户端访问所述目标网络访问地址的权限,若未超过,则继续监听所述限流校验事件的步骤中,包括如下由代理服务器执行的步骤:
步骤S131,将所述流量校验请求推送至流量控制中心后,将该流量校验请求存储至请求队列中,所述请求队列中各流量校验请求及其入队时间对应存储:
代理服务器向流量控制中心推送流量校验请求后,将该流量校验请求存储至所述请求队列中,该请求队列中对应存储着多个流量校验请求及其入队时间,且该些流量校验请求皆为未超过预设监听时长且未被流量控制中心响应而推送对应的限流校验结果,即该请求队列中超过预设监听时长及具有对应限流校验结果的流量校验请求将被移除。
步骤S132,监听所述请求队列中各流量校验请求的入队时间,当任意流量校验请求的入队时间超过预设监听时长时,则确定该流量校验请求中包含的网络访问地址:
代理服务器监听所述请求队列中存储的各流量校验请求的入队时间,分别判断该些入队时间是否超过预设监听时长,当任意流量校验请求的入队时间超过预设监听时长时,队列服务器将确定该些流量校验请求所对应的网络访问地址,以便后续将该些流量校验请求所对应的访问请求推送至对应的网络访问地址所对应的后端服务器中。
步骤S133,将所述流量校验请求所对应的访问请求转发至所述网络访问地址所对应的后端服务器中,以开放所述访问请求所属的客户端访问所述网络访问地址的权限:
代理服务器确定出入队时间超过预设监听时长的流量校验请求后,将确定该流量校验请求所对应的访问请求,以将该访问请求推送至实时流量校验请求所对应的网络访问地址相关联的后端服务器,进而开放所述访问请求所属的客户端访问所述网络访问地址。
本实施例中,代理服务器通过监控各流量校验请求的入队时间,以判断流量控制中心响应流量校验请求的时间是否过长,进而开放响应时间过长的请求所属的客户端访问其需访问的网络访问地址,防止过长的响应时间影响用户的网络体验。
一种实施例中,请参考图7,所述根据该限流校验结果判断是否向所述客户端开放访问所述目标网络访问地址的权限的步骤中,包括如下由代理服务器执行的步骤:
步骤S141,解析由所述流量控制中心推送的所述限流校验结果,获取该限流校验结果中包含的流控标识:
代理服务器解析由所述流量控制中心响应流量校验请求所推送的限流校验结果,获取该限流校验结果中包含的流控标识,所述流控标识用于控制代理服务器是否转发所述流量校验请求所对应的访问请求。
步骤S142,当所述流控标识表征允许访问时,将所述访问请求转发至所述目标网络访问地址所对应的后端服务器中,以开放所述客户端访问所述目标网络访问地址的权限:
当所述流控标识表征允许访问时,则代理服务器将所述流量校验请求所对应的访问请求转发推送至所述目标网络访问地址所对应的后端服务器中,以便所述客户端通过该后端服务器访问目标网络访问地址及进行相应的网络线上操作。
步骤S143,当所述流控标识表征禁止访问时,将不向所述目标网络访问地址所对应的后端服务器转发所述访问请求,并向所述客户端推送访问错误通知:
当所述流控标识表征禁止访问时,代理服务器将不向所述目标网络访问地址相关联的后端服务器转发所述流量校验请求所对应的访问请求,并向该访问请求所属的客户端推送访问错误通知,该访问错误通知用于向客户端通知访问所述目标网络访问地址失败,且可包含访问失败原因为目标网络访问地址处于限流状态。
本实施例中,代理服务器根据流量控制访问的校验结果,以判断是否转发访问请求至后端服务器中以开放客户端访问网络访问地址。
一种实施例中,请参考图8,所述以将生成包含该访问者地址及目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验的步骤之后,包括如下由代理服务器执行的步骤:
步骤S141’,获取由所述流量控制中心推送的所述限流校验结果:
代理服务器获取由所述流量控制中心作用于目标网络服务地址的限流校验结果。
步骤S142’,解析所述限流校验结果,当该限流校验结果中包含作用于所述目标网络访问地址的限流标识时,将不向该目标网络访问地址所对应的后端服务器转发所述访问请求,并向所述客户端推送访问错误通知:
代理服务器解析所述限流校验结果,确定该限流校验结果中包含的作用于所述目标网络服务地址的限流标识时,则表征流量控制中心当前最新统计目标网络服务地址的所述网址每秒访问总量已超过所述网址限流阈值,代理服务器将不向所述目标网络访问地址相关联的后端服务器转发所述流量校验请求所对应的访问请求,并向该访问请求所属的客户端推送访问错误通知,该访问错误通知用于向客户端通知访问所述目标网络访问地址失败,且可包含访问失败原因为目标网络访问地址处于限流状态。
步骤S143’,将该目标网络访问地址存储至所述访问限流列表中:
将所述限流标识所对应的目标网络访问地址存储至所述访问限流列表中,以便后续向流量控制中心推送作用于目标网络访问地址的流量校验请求后,对该流量校验请求的流量校验事件进行响应时长监听处理。
本实施例中,若代理服务器的访问限流列表中与流量控制中心中需进行限流校验的网络访问地址不同步,为了即时停止代理服务器将需限流校验的访问请求不断地转发至后端服务器中造成流量堵塞,因此当代理服务器接收到流量控制中心需对访问限流列表中不存在的网络访问地址进行限流后,代理服务器将该网络访问地址存储至访问限流列表中,以防止将该网络访问地址的访问请求未经限流校验就转发至后端服务器中。
进一步,可以通过将上述各实施例所揭示的方法中的各个步骤进行功能化,构造出本申请的一种访问流量控制装置,按照这一思路,请参阅图9,其中的一个典型实施例中,该装置包括:校验请求推送模块11,用于响应客户端推送的访问请求,确定该客户端所对应的访问者地址及其访问的目标网络访问地址,以将生成包含该访问者地址及目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验;校验事件监听模块12,用于查询访问限流列表中是否存在目标网络访问地址,若存在,则监听所述流量控制中心中作用于所述流量校验请求的限流校验事件,若不存在,则开放所述客户端访问所述目标网络访问地址的权限;监听时长判断模块13,用于当所述限流校验事件的监听时长超过预设监听时长时,则开放所述客户端访问所述目标网络访问地址的权限,若未超过,则继续监听所述限流校验事件;校验结果响应模块14,用于接收由所述流量控制中心推送的限流校验结果,根据该限流校验结果判断是否向所述客户端开放访问所述目标网络访问地址的权限。
一种实施例中,所述校验请求推送模块11包括:流量统计子模块,用于获取由代理服务器推送的所述流量校验请求,获取该请求中包含的所述访问者地址及目标网络访问地址,并根据该流量校验请求对应统计该目标网络访问地址所对应的网络每秒总访问量及客户每秒访问次数;限流策略查询子模块,用于查询限流策略池中是否存在所述目标网络访问地址所对应的限流策略,所述限流策略池中存储着多个目标网络访问地址所对应的目标网络访问地址;阈值获取子模块,用于当存在所述目标网络访问地址所对应的限流策略时,获取该限流策略中包含的预设网址限流阈值及客户限流阈值;网址阈值判断子模块,用于判断当前最新统计的所述网址每秒访问总量是否超过所述网址限流阈值,若超过,则向代理服务器推送表征对所述目标网络访问地址执行限流的限流校验结果;客户阈值判断子模块,用于判断当前最新统计的所述客户每秒访问次数是否超过所述客户限流阈值,若超过,则向代理服务器推送表征禁止所述客户端访问的限流校验结果,若未超过,则向代理服务器推送表征允许所述客户端访问的限流校验结果。
一种实施例中,所述校验结果响应模块13包括:请求记录子模块,用于将所述流量校验请求推送至流量控制中心后,将该流量校验请求存储至请求队列中,所述请求队列中各流量校验请求及其入队时间对应存储;入队时长监听子模块,用于监听所述请求队列中各流量校验请求的入队时间,当任意流量校验请求的入队时间超过预设监听时长时,则确定该流量校验请求中包含的网络访问地址;请求转发子模块,用于将所述流量校验请求所对应的访问请求转发至所述网络访问地址所对应的后端服务器中,以开放所述访问请求所属的客户端访问所述网络访问地址的权限。
一种实施例中,所述监听时长判断模块14包括:流控标识获取子模块,用于解析由所述流量控制中心推送的所述限流校验结果,获取该限流校验结果中包含的流控标识;访问权限开放子模块,用于当所述流控标识表征允许访问时,将所述访问请求转发至所述目标网络访问地址所对应的后端服务器中,以开放所述客户端访问所述目标网络访问地址的权限;访问权限禁止子模块,用于当所述流控标识表征禁止访问时,将不向所述目标网络访问地址所对应的后端服务器转发所述访问请求,并向所述客户端推送访问错误通知。
另一种实施例中,所述监听时长判断模块14还包括:校验结果获取子模块,用于获取由所述流量控制中心推送的所述限流校验结果;校验结果解析子模块,用于解析所述限流校验结果,当该限流校验结果中包含作用于所述目标网络访问地址的限流标识时,将不向该目标网络访问地址所对应的后端服务器转发所述访问请求,并向所述客户端推送访问错误通知;访问地址存储子模块,用于将该目标网络访问地址存储至所述访问限流列表中。
为解决上述技术问题,本申请实施例还提供一种计算机设备,用于运行根据所述访问流量控制方法所实现的计算机程序。具体请参阅图10,图10为本实施例计算机设备基本结构框图。
如图10所示,计算机设备的内部结构示意图。该计算机设备包括通过***总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作***、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种访问流量控制方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种访问流量控制方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行本申请的访问流量控制装置中的各个模块/子模块的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有访问流量控制装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
本申请还提供一种非易失性存储介质,所述的访问流量控制方法被编写成计算机程序,以计算机可读指令的形式存储于该存储介质中,计算机可读指令被一个或多个处理器执行时,意味着该程序在计算机中的运行,由此使得一个或多个处理器执行上述任一实施例访问流量控制方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本申请以分布式集群方式为代理服务器集群提供流控服务,节省服务器的运算压力,减轻后端服务器的压力以保活。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种访问流量控制方法,其特征在于,包括如下步骤:
响应客户端推送的访问请求,确定该客户端所对应的访问者地址及其访问的目标网络访问地址,以将生成包含该访问者地址及目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验;
查询访问限流列表中是否存在目标网络访问地址,若存在,则监听所述流量控制中心中作用于所述流量校验请求的限流校验事件,若不存在,则开放所述客户端访问所述目标网络访问地址的权限;
当所述限流校验事件的监听时长超过预设监听时长时,则开放所述客户端访问所述目标网络访问地址的权限,若未超过,则继续监听所述限流校验事件;
接收由所述流量控制中心推送的限流校验结果,根据该限流校验结果判断是否向所述客户端开放访问所述目标网络访问地址的权限。
2.根据权利要求1所述的方法,其特征在于,所述以将生成包含该访问者地址及目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验的步骤中,包括如下由流量控制中心执行的步骤:
获取由代理服务器推送的所述流量校验请求,获取该请求中包含的所述访问者地址及目标网络访问地址,并根据该流量校验请求对应统计该目标网络访问地址所对应的网络每秒总访问量及客户每秒访问次数;
查询限流策略池中是否存在所述目标网络访问地址所对应的限流策略,所述限流策略池中存储着多个目标网络访问地址所对应的目标网络访问地址;
当存在所述目标网络访问地址所对应的限流策略时,获取该限流策略中包含的预设网址限流阈值及客户限流阈值;
判断当前最新统计的所述网址每秒访问总量是否超过所述网址限流阈值,若超过,则向代理服务器推送表征对所述目标网络访问地址执行限流的限流校验结果;
判断当前最新统计的所述客户每秒访问次数是否超过所述客户限流阈值,若超过,则向代理服务器推送表征禁止所述客户端访问的限流校验结果,若未超过,则向代理服务器推送表征允许所述客户端访问的限流校验结果。
3.根据权利要求1所述的方法,其特征在于,本方法包括如下由流量控制中心执行的并行步骤:
接收由管理端推送限流策略更新指令,获取该限流策略更新指令中包含的网络访问地址及其对应的最新限流策略;
判断限流策略池中是否存在所述网络访问地址所对应的限流策略,若存在,则根据所述最新限流策略对应更新限流策略池中的所述网络访问地址的限流策略;
当所述限流策略池中不存在所述网络访问地址所对应的限流策略,则在所述限流策略池存储所述最新限流策略,将生成包含该网络访问地址的访问限流列表广播至代理服务器集群中进行更新。
4.根据权利要求1所述的方法,其特征在于,本方法包括如下由流量控制中心执行的并行步骤:
接收由代理服务器集群中一个或多个代理服务器推送的流量校验请求,获取该些流量校验请求各自包含的网络访问地址;
判断各所述网络访问地址在限流策略池中是否存在对应的限流策略,统计存在所述限流策略的网络访问地址的网络每秒总访问量,所述网络每秒总访问量根据网络访问地址所属的流量校验请求的数量进行统计;
当任一网络访问地址的所述网络每秒总访问量超过其限流策略中包含的限流阈值时,将生成包含该网络访问地址的访问限流列表广播至代理服务器集群中进行更新。
5.根据权利要求1所述的方法,其特征在于,所述当所述限流校验事件的监听时长超过预设监听时长时,则开放所述客户端访问所述目标网络访问地址的权限,若未超过,则继续监听所述限流校验事件的步骤中,包括如下由代理服务器执行的步骤:
将所述流量校验请求推送至流量控制中心后,将该流量校验请求存储至请求队列中,所述请求队列中各流量校验请求及其入队时间对应存储;
监听所述请求队列中各流量校验请求的入队时间,当任意流量校验请求的入队时间超过预设监听时长时,则确定该流量校验请求中包含的网络访问地址;
将所述流量校验请求所对应的访问请求转发至所述网络访问地址所对应的后端服务器中,以开放所述访问请求所属的客户端访问所述网络访问地址的权限。
6.根据权利要求1所述的方法,其特征在于,所述根据该限流校验结果判断是否向所述客户端开放访问所述目标网络访问地址的权限的步骤中,包括如下由代理服务器执行的步骤:
解析由所述流量控制中心推送的所述限流校验结果,获取该限流校验结果中包含的流控标识;
当所述流控标识表征允许访问时,将所述访问请求转发至所述目标网络访问地址所对应的后端服务器中,以开放所述客户端访问所述目标网络访问地址的权限;
当所述流控标识表征禁止访问时,将不向所述目标网络访问地址所对应的后端服务器转发所述访问请求,并向所述客户端推送访问错误通知。
7.根据权利要求1所述的方法,其特征在于,所述以将生成包含该访问者地址及目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验的步骤之后,包括如下由代理服务器执行的步骤:
获取由所述流量控制中心推送的所述限流校验结果;
解析所述限流校验结果,当该限流校验结果中包含作用于所述目标网络访问地址的限流标识时,将不向该目标网络访问地址所对应的后端服务器转发所述访问请求,并向所述客户端推送访问错误通知;
将该目标网络访问地址存储至所述访问限流列表中。
8.一种访问流量控制装置,其特征在于,包括:
校验请求推送模块,用于响应客户端推送的访问请求,确定该客户端所对应的访问者地址及其访问的目标网络访问地址,以将生成包含该访问者地址及目标网络访问地址的流量校验请求推送至流量控制中心中进行限流校验;
校验事件监听模块,用于查询访问限流列表中是否存在目标网络访问地址,若存在,则监听所述流量控制中心中作用于所述流量校验请求的限流校验事件,若不存在,则开放所述客户端访问所述目标网络访问地址的权限;
监听时长判断模块,用于当所述限流校验事件的监听时长超过预设监听时长时,则开放所述客户端访问所述目标网络访问地址的权限,若未超过,则继续监听所述限流校验事件;
校验结果响应模块,用于接收由所述流量控制中心推送的限流校验结果,根据该限流校验结果判断是否向所述客户端开放访问所述目标网络访问地址的权限。
9.一种电子设备,包括中央处理器和存储器,其特征在于,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如权利要求1至7中任一项所述的方法的步骤。
10.一种非易失性存储介质,其特征在于,其以计算机可读指令的形式存储有依据权利要求1至7中任意一项所述的方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
CN202210304703.8A 2022-03-22 访问流量控制方法及其装置、设备、介质 Active CN114615073B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210304703.8A CN114615073B (zh) 2022-03-22 访问流量控制方法及其装置、设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210304703.8A CN114615073B (zh) 2022-03-22 访问流量控制方法及其装置、设备、介质

Publications (2)

Publication Number Publication Date
CN114615073A true CN114615073A (zh) 2022-06-10
CN114615073B CN114615073B (zh) 2024-07-26

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277599A (zh) * 2022-06-16 2022-11-01 平安银行股份有限公司 限流场景下的回流方法、装置、计算机设备及存储介质

Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1246773A (zh) * 1998-07-17 2000-03-08 电话通有限公司 提供对移动装置本地服务的访问控制的方法和装置
CN101917431A (zh) * 2010-08-13 2010-12-15 中兴通讯股份有限公司 智能家居内部网络防止非法入侵的方法及装置
CN106453665A (zh) * 2016-12-16 2017-02-22 东软集团股份有限公司 基于分布式缓存***的数据缓存方法、服务器和***
CN107370684A (zh) * 2017-06-15 2017-11-21 腾讯科技(深圳)有限公司 业务限流方法及业务限流装置
CN107454120A (zh) * 2016-05-30 2017-12-08 北京京东尚科信息技术有限公司 网络攻击防御***和防御网络攻击的方法
CN107707488A (zh) * 2017-10-25 2018-02-16 北京数码视讯支付技术有限公司 支付联机交易流量控制方法、限流服务端及客户端
CN107888543A (zh) * 2016-09-30 2018-04-06 江苏神州信源***工程有限公司 基于分布式集群环境下保护集群数据安全的方法和***
CN108111333A (zh) * 2017-11-22 2018-06-01 链家网(北京)科技有限公司 一种基于web的流量限制方法及***
CN108173938A (zh) * 2017-12-28 2018-06-15 泰康保险集团股份有限公司 服务器负载分流方法及装置
WO2018107943A1 (zh) * 2016-12-13 2018-06-21 腾讯科技(深圳)有限公司 一种网络访问控制方法、装置及***
CN108479061A (zh) * 2018-03-29 2018-09-04 腾讯科技(深圳)有限公司 应用的运行数据校验方法、装置、存储介质及服务器
CN110413416A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 一种分布式服务器的限流方法及装置
CN110932988A (zh) * 2019-10-31 2020-03-27 北京三快在线科技有限公司 流量控制方法、装置、电子设备及可读存储介质
CN111614570A (zh) * 2020-04-20 2020-09-01 北京邮电大学 一种用于服务网格的流量控制***及方法
CN111970339A (zh) * 2020-07-30 2020-11-20 北京金山云网络技术有限公司 请求控制方法、装置及电子设备
CN112367321A (zh) * 2020-11-10 2021-02-12 苏州万店掌网络科技有限公司 快速构建服务调用的方法及中台api网关
CN112367338A (zh) * 2020-11-27 2021-02-12 腾讯科技(深圳)有限公司 恶意请求检测方法及装置
CN112527534A (zh) * 2020-12-28 2021-03-19 平安普惠企业管理有限公司 基于消息队列的业务处理方法、装置、设备及存储介质
CN112600847A (zh) * 2020-12-17 2021-04-02 浪潮(北京)电子信息产业有限公司 一种业务处理方法、***及电子设备和存储介质
CN112637125A (zh) * 2020-11-23 2021-04-09 中信银行股份有限公司 报文的处理方法、装置、电子设备及计算机可读存储介质
CN112799824A (zh) * 2019-10-28 2021-05-14 北京京东尚科信息技术有限公司 一种限流方法、装置、设备和存储介质
CN112929414A (zh) * 2021-01-22 2021-06-08 北京北信源软件股份有限公司 升级包下载方法、装置、电子设备及存储介质
CN113596033A (zh) * 2021-07-30 2021-11-02 深信服科技股份有限公司 访问控制方法及装置、设备、存储介质
CN113726885A (zh) * 2021-08-30 2021-11-30 北京天空卫士网络安全技术有限公司 一种流量配额的调整方法和装置
CN113765982A (zh) * 2020-12-17 2021-12-07 北京沃东天骏信息技术有限公司 一种请求响应方法、装置、***、服务器和存储介质
CN113765980A (zh) * 2020-11-20 2021-12-07 北京沃东天骏信息技术有限公司 一种限流方法、装置、***、服务器和存储介质
CN113783883A (zh) * 2021-09-16 2021-12-10 江苏云从曦和人工智能有限公司 网络图片权限控制方法、介质和装置
CN113905091A (zh) * 2021-09-15 2022-01-07 盐城金堤科技有限公司 用于对访问请求进行处理的方法及装置
CN113923216A (zh) * 2021-09-29 2022-01-11 阿里巴巴(中国)有限公司 一种分布式集群限流***及方法和分布式集群节点
CN114172902A (zh) * 2021-11-12 2022-03-11 北京达佳互联信息技术有限公司 服务集群的流量控制方法及***

Patent Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1246773A (zh) * 1998-07-17 2000-03-08 电话通有限公司 提供对移动装置本地服务的访问控制的方法和装置
CN101917431A (zh) * 2010-08-13 2010-12-15 中兴通讯股份有限公司 智能家居内部网络防止非法入侵的方法及装置
CN107454120A (zh) * 2016-05-30 2017-12-08 北京京东尚科信息技术有限公司 网络攻击防御***和防御网络攻击的方法
CN107888543A (zh) * 2016-09-30 2018-04-06 江苏神州信源***工程有限公司 基于分布式集群环境下保护集群数据安全的方法和***
WO2018107943A1 (zh) * 2016-12-13 2018-06-21 腾讯科技(深圳)有限公司 一种网络访问控制方法、装置及***
CN106453665A (zh) * 2016-12-16 2017-02-22 东软集团股份有限公司 基于分布式缓存***的数据缓存方法、服务器和***
CN107370684A (zh) * 2017-06-15 2017-11-21 腾讯科技(深圳)有限公司 业务限流方法及业务限流装置
CN107707488A (zh) * 2017-10-25 2018-02-16 北京数码视讯支付技术有限公司 支付联机交易流量控制方法、限流服务端及客户端
CN108111333A (zh) * 2017-11-22 2018-06-01 链家网(北京)科技有限公司 一种基于web的流量限制方法及***
CN108173938A (zh) * 2017-12-28 2018-06-15 泰康保险集团股份有限公司 服务器负载分流方法及装置
CN108479061A (zh) * 2018-03-29 2018-09-04 腾讯科技(深圳)有限公司 应用的运行数据校验方法、装置、存储介质及服务器
CN110413416A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 一种分布式服务器的限流方法及装置
CN112799824A (zh) * 2019-10-28 2021-05-14 北京京东尚科信息技术有限公司 一种限流方法、装置、设备和存储介质
CN110932988A (zh) * 2019-10-31 2020-03-27 北京三快在线科技有限公司 流量控制方法、装置、电子设备及可读存储介质
CN111614570A (zh) * 2020-04-20 2020-09-01 北京邮电大学 一种用于服务网格的流量控制***及方法
CN111970339A (zh) * 2020-07-30 2020-11-20 北京金山云网络技术有限公司 请求控制方法、装置及电子设备
CN112367321A (zh) * 2020-11-10 2021-02-12 苏州万店掌网络科技有限公司 快速构建服务调用的方法及中台api网关
CN113765980A (zh) * 2020-11-20 2021-12-07 北京沃东天骏信息技术有限公司 一种限流方法、装置、***、服务器和存储介质
CN112637125A (zh) * 2020-11-23 2021-04-09 中信银行股份有限公司 报文的处理方法、装置、电子设备及计算机可读存储介质
CN112367338A (zh) * 2020-11-27 2021-02-12 腾讯科技(深圳)有限公司 恶意请求检测方法及装置
CN112600847A (zh) * 2020-12-17 2021-04-02 浪潮(北京)电子信息产业有限公司 一种业务处理方法、***及电子设备和存储介质
CN113765982A (zh) * 2020-12-17 2021-12-07 北京沃东天骏信息技术有限公司 一种请求响应方法、装置、***、服务器和存储介质
CN112527534A (zh) * 2020-12-28 2021-03-19 平安普惠企业管理有限公司 基于消息队列的业务处理方法、装置、设备及存储介质
CN112929414A (zh) * 2021-01-22 2021-06-08 北京北信源软件股份有限公司 升级包下载方法、装置、电子设备及存储介质
CN113596033A (zh) * 2021-07-30 2021-11-02 深信服科技股份有限公司 访问控制方法及装置、设备、存储介质
CN113726885A (zh) * 2021-08-30 2021-11-30 北京天空卫士网络安全技术有限公司 一种流量配额的调整方法和装置
CN113905091A (zh) * 2021-09-15 2022-01-07 盐城金堤科技有限公司 用于对访问请求进行处理的方法及装置
CN113783883A (zh) * 2021-09-16 2021-12-10 江苏云从曦和人工智能有限公司 网络图片权限控制方法、介质和装置
CN113923216A (zh) * 2021-09-29 2022-01-11 阿里巴巴(中国)有限公司 一种分布式集群限流***及方法和分布式集群节点
CN114172902A (zh) * 2021-11-12 2022-03-11 北京达佳互联信息技术有限公司 服务集群的流量控制方法及***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277599A (zh) * 2022-06-16 2022-11-01 平安银行股份有限公司 限流场景下的回流方法、装置、计算机设备及存储介质
CN115277599B (zh) * 2022-06-16 2023-08-15 平安银行股份有限公司 限流场景下的回流方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
US9344371B1 (en) Dynamic throttling systems and services
US11489879B2 (en) Method and apparatus for centralized policy programming and distributive policy enforcement
CN112367321B (zh) 快速构建服务调用的方法及中台api网关
EP2563062B1 (en) Long connection management apparatus and link resource management method for long connection communication
EP2787742B1 (en) Method and system for transmitting network video
US10565372B1 (en) Subscription-based multi-tenant threat intelligence service
EP3149921B1 (en) Providing router information according to a programmatic interface
RU2007101525A (ru) Способ, система и компьютерная программа для обнаружения сервисов и контента на основании событий протокола sip в сообществе, построенном на контекстной информации
CN112600693B (zh) 业务请求的处理方法、***、电子设备及计算机存储介质
CN111698126B (zh) 信息监控方法、***及计算机可读存储介质
CN111159233B (zh) 分布式缓存方法、***、计算机设备以及存储介质
CN110049031B (zh) 一种接口安全认证方法及服务器、认证中心服务器
CN114253707B (zh) 一种基于api网关的微服务请求方法
CN111327606A (zh) 资源管理方法、***及存储介质
US20240118935A1 (en) Pod deployment method and apparatus
CN114510711A (zh) 防护cc攻击的方法、装置、介质以及计算机设备
CN106156258B (zh) 一种在分布式存储***中统计数据的方法、装置及***
WO2018137710A1 (zh) 搜索控制方法和***
CN114615073B (zh) 访问流量控制方法及其装置、设备、介质
CN114615073A (zh) 访问流量控制方法及其装置、设备、介质
CN111274029A (zh) 集群调度方法及装置
CN110347718A (zh) 一种redis分片方法、装置、计算机设备和存储介质
CN113542409B (zh) 一种RocketMQ消息队列实例管理***及处理方法
US11106378B2 (en) Record information management based on self describing attributes
CN113542373A (zh) 用于paas平台的路由服务发现装置及方法

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