访问请求调控方法和装置与流程

文档序号:11156509阅读:886来源:国知局
访问请求调控方法和装置与制造工艺

本发明涉及计算机应用领域,特别是涉及一种访问请求调控方法和装置。



背景技术:

随着互联网技术的飞速发展,越来越多的服务提供者逐渐将线下服务扩展到了线上互联网服务和线下服务的结合,在线上进行消息推送、关注服务的人员管理、消息群发等一系列繁杂的服务,需要统一的服务器进行管理,而随着服务提供者数量的增加,对服务器的性能要求也越来越高。

传统的web服务器采用Linux+Nginx+PHP(Hypertext Preprocessor,超文本预处理器)模式对外界提供服务,Nginx作为接入层,仅用于负载均衡的反向代理,PHP用于鉴权和业务逻辑,这样就会造成大量无效请求冲击服务器,增加服务器的负担。



技术实现要素:

基于此,有必要针对服务器的负担大的问题,提供一种访问请求调控方法及装置,能减少无效请求对服务器的冲击,降低服务器的负担。

一种访问请求调控方法,包括:

接收用户所在终端发起的访问请求;

根据所述访问请求接收访问请求包体的请求头数据,所述请求头数据包括用户的网络地址、访问请求地址和票据,所述票据是根据所述用户的应用程序标识和密钥分配的临时令牌;

根据所述用户的网络地址获取所述网络地址的访问频率;

验证所述票据是否有效,以及验证所述网络地址的访问频率是否超过第一访问频率阈值;

若所述票据有效且所述网络地址的访问频率未超过第一访问频率阈值,则完整接收所述访问请求包体,将所述访问请求包体发送给对应的业务服务器;

若所述票据无效或所述用户的访问频率超过访问频率阈值,则丢弃所述请求头数据。

一种访问请求调控装置,包括:

请求接收模块,用于接收用户所在终端发起的访问请求;

验证数据接收模块,用于根据所述访问请求接收访问请求包体的请求头数据,所述请求头数据包括用户的网络地址、访问请求地址和票据,所述票据是根据所述用户的应用程序标识和密钥分配的临时令牌;

统计模块,用于根据所述用户的网络地址获取所述网络地址的访问频率;

验证模块,用于验证所述票据是否有效,以及验证所述网络地址的访问频率是否超过第一访问频率阈值;

请求包接收模块,用于若所述票据有效且所述网络地址的访问频率未超过第一访问频率阈值,则完整接收所述访问请求包体;

分发模块,用于将所述访问请求包体发送给对应的业务服务器;

丢弃模块,用于若所述票据无效或所述网络地址的访问频率超过第一访问频率阈值,丢弃所述请求头数据。

上述访问请求调控方法和装置,接收用户所在终端发起的访问请求后,接收访问请求包体的请求头数据,根据请求头数据中的用户的网络地址获取网络地址的访问频率,验证票据是否有效,以及网络地址的访问频率是否超过第一访问频率阈值,当票据无效或超频时,丢弃该访问请求包体,当票据有效且未超频时,完整接收访问请求包体,并将访问请求包体发送给对应的业务服务器,使得无效的访问请求过滤掉,不需要下载无效的访问请求的访问请求包体,节省了网络流量,减少了无效请求对服务器的冲击,降低了服务器的负担。

附图说明

图1为一个实施例中访问请求调控方法的应用环境示意图;

图2为一个实施例中策略服务器的内部结构示意图;

图3为一个实施例中访问请求调控方法的流程图;

图4为一个实施例中访问请求调控方法的应用原理示意图;

图5为一个实施例中访问请求调控装置的结构框图;

图6为另一个实施例中访问请求调控装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一个实施例中访问请求调控方法的应用环境示意图。如图1所示,该应用环境包括终端110、策略服务器120和业务服务器130。终端110上的用户根据票据向策略服务器120发起访问请求,该访问请求的访问请求包体的请求头数据中包括用户的网络地址、访问请求地址和票据,该票据是根据用户的应用程序标识和密钥分配的临时令牌。策略服务器120根据用户的网络地址获取该网络地址的访问频率,验证该票据是否有效,以及网络地址的访问频率是否超过第一访问频率阈值,若票据无效或网络地址的访问频率超过了第一访问频率阈值,则将访问失败的结果返回给终端110,并丢弃该请求头数据,若该票据有效且用户的访问频率未超过访问频率阈值,则完整接收访问请求包体,将访问请求包体分发到对应的业务服务器130。终端110可为服务提供者的服务器等,可为计算机或服务器集群等。策略服务器120可为一个或多个服务器,用于调控访问请求。业务服务器130用于处理访问请求。

在其他实施例中,策略服务器120和业务服务器130的功能可由一个服务器实现。

图2为一个实施例中策略服务器(或云端等)的内部结构示意图。如图2所示,该策略服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作系统、数据库和访问请求调控装置,数据库中存储有预设的策略、用户的个人信息和票据等,该访问请求调控装置用于实现适用于服务器的一种访问请求调控方法。该策略服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该策略服务器的内存储器为非易失性存储介质中的访问请求调控装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种访问请求调控方法。该策略服务器的网络接口用于据以与外部的终端通过网络连接通信,比如接收终端发送的访问请求以及向终端返回访问请求结果等。策略服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图3为一个实施例中访问请求调控方法的流程图。如图3所示,一种访问请求调控方法,运行于策略服务器上,包括步骤302至步骤312,其中:

步骤302,接收用户所在终端发起的访问请求。

本实施例中,用户可为服务提供者,如视频服务提供者、音频服务提供者、主播服务提供者等。用户所在终端是指服务提供者所提供的服务器,如商家服务器等。

首先,获取用户在注册界面注册服务号请求,并获取用户输入的个人信息,并根据用户的个人信息分配对应的Appid(应用程序标识)和secret(密钥)。用户的个人信息可包括用户名称、地址、联系方式、身份证号码(或企业代码)等。该用户的应用程序标识即为用户的服务号。应用程序标识是用于唯一表示用户身份的字符串。该字符串可为数字、字母和字符中的一种或多种。密钥是应用程序标识对应的密码。为了保护密钥,策略服务器会根据用户的应用程序标识和密钥分配token(票据)。该票据是临时令牌,具有有效期。

策略服务器通过应用服务接入层Nginx接收用户所在终端通过票据发起的访问请求。

步骤304,根据该访问请求接收访问请求包体的请求头数据,该请求头数据包括用户的网络地址、访问请求地址和票据,该票据是根据该用户的应用程序标识和密钥分配的临时令牌。

本实施例中,该访问请求包体可为HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求包体。请求包体包括请求行数据、请求头数据和请求数据。请求行数据包括请求方法、请求协议。该访问请求包体的请求头数据包括用户的IP地址(Internet Protocol,网络地址)、访问请求地址和票据。在其他实施例中请求头数据还可以包括用户所在终端接受的编码方式和压缩方式。请求数据用于表示访问请求的具体内容,比如消息推送、消息群发等。

步骤306,根据该用户的网络地址和访问请求地址获取该网络地址的访问频率。

本实施例中,每次用户发送访问请求时都会携带有用户的网络地址和访问请求地址,可统计得到在预设时间内用户的网络地址的访问频率,即同一网络地址的访问频率。

步骤308,验证该票据是否有效,以及验证该网络地址的访问频率是否超过第一访问频率阈值。

本实施例中,验证该票据是否有效,包括判断该票据是否在有效期内,若是,则该票据有效,若否,则该票据无效。有效期是指每一个票据都有对应的有效期,在有效期内该票据有效,在有效期外该票据无效。票据的有效期可根据需要设定,如从生成该票据起2小时、3小时、4小时等内有效,不限于此。

第一访问频率阈值可根据需要设定,如一天100次等。不同的网络地址对应的第一访问频率阈值可相同或不同。

可以先验证该网络地址的访问频率是否超过第一访问频率阈值,当网络地址的访问频率未超过第一访问频率阈值时,再验证该票据是否有效,当网络地址的访问频率超过第一访问频率阈值时,丢弃该请求头数据,将访问失败的结果返回给用户所在终端;当该网络地址的访问频率未超过第一访问频率阈值且该票据有效时,完整接收该访问请求包体,将该访问请求包体发送给对应的业务服务器;当票据无效时,丢弃该请求头数据,将访问失败的结果返回给用户所在终端。

也可以先验证该票据是否有效,若该票据有效,则验证该网络地址的访问频率是否超过第一访问频率阈值,若该票据无效,则丢弃该请求头数据,将访问失败的结果返回给用户所在终端;若该票据无效且该网络地址的访问频率未超过第一访问频率阈值,则完整接收该访问请求包体,将该访问请求包体发送给对应的业务服务器;若该网络地址的访问频率超过第一访问频率阈值,则丢弃该请求头数据,将访问失败的结果返回给用户所在终端。

步骤310,若该票据有效且该网络地址的访问频率未超过该网络地址的访问频率阈值,则完整接收该访问请求包体,将该访问请求包体发送给对应的业务服务器。

本实施例中,当票据有效且网络地址的访问频率未超过第一访问频率阈值,才完整的接收访问请求包体,即接收请求包体的全部数据。策略服务器再将完整接收的请求包体发送给对应的业务服务器进行处理,接收业务服务器对该访问请求包体做出的响应结果,并将该响应结果返回给该用户所在的终端。

步骤312,若该票据无效或该网络地址的访问频率超过第一访问频率阈值,则丢弃该请求头数据。

本实施例中,票据无效或网络地址的访问频率超过第一访问频率阈值,即只需满足一条,则访问失败,丢弃该请求头数据,即不会接收访问请求包体的其他数据,将访问失败的结果返回给用户所在终端。

上述访问请求调控方法,接收用户所在终端发起的访问请求后,接收访问请求包体的请求头数据,根据请求头数据中的用户的网络地址获取网络地址的访问频率,验证票据是否有效,以及网络地址的访问频率是否超过第一访问频率阈值,当票据无效或超频时,丢弃该访问请求包体,当票据有效且未超频时,完整接收访问请求包体,并将访问请求包体发送给对应的业务服务器,使得无效的访问请求过滤掉,不需要下载无效的访问请求的访问请求包体,节省了网络流量,减少了无效请求对服务器的冲击,降低了服务器的负担;通过访问频率控制,避免恶意攻击以及正常用户的超频调用。

在一个实施例中,上述访问请求调控方法还包括:根据该票据获取对应的用户的个人信息,以及根据该用户的个人信息判断该用户是否具有访问权限;若该票据有效、该网络地址的访问频率未超过第一访问频率阈值且该用户具有访问权限时,则完整接收该访问请求包体,将该访问请求包体发送给对应的业务服务器;若该用户不具有访问权限,则将访问请求失败的结果返回给该用户所在终端,并丢弃该请求头数据。

本实施例中,用户的票据与用户的应用程序标识对应,用户的应用程序标识与用户的个人信息对应,根据票据可得到对应的个人信息。对每个用户分配对应的访问权限,根据用户的个人信息可判断用户是否具有访问请求地址的访问权限。当该票据有效、该网络地址的访问频率未超过第一访问频率阈值且该用户具有访问权限时,则完整接收该访问请求包体。

在网络地址的访问频率未超过第一访问频率阈值且票据有效时,根据该票据获取对应的用户的个人信息,以及根据该用户的个人信息判断该用户是否具有访问权限。

当票据无效、网络地址的访问频率超过第一访问频率阈值、用户不具有访问权限任意一项成立,则访问失败,将访问失败的结果返回给用户所在终端,并丢弃该请求头数据,即不需要接收访问请求包体的其他数据。

在一个实施例中,上述访问请求调控方法还包括:根据该用户的票据和访问请求地址获取该用户的访问频率,判断该用户的访问频率是否超过第二访问频率阈值;若该票据有效、该网络地址的访问频率未超过第一访问频率阈值且该用户的访问频率未超过第二访问频率阈值时,则完整接收该访问请求包体,将该访问请求包体发送给对应的业务服务器;若该用户的访问频率超过第二访问频率阈值,则将访问请求失败的结果返回给该用户所在终端,并丢弃该请求头数据。

具体地,在网络地址的访问频率未超过第一访问频率阈值且票据有效时,根据该用户的票据和访问请求地址获取该用户的访问频率,判断该用户的访问频率是否超过第二访问频率阈值。

第二访问频率阈值可根据需要设定,用于限定用户的访问频率。当票据有效、网络地址的访问频率未超过第一访问频率阈值且用户的访问频率未超过第二访问频率阈值时,完整接收该访问请求包体。当票据无效、网络地址的访问频率超过第一访问频率阈值、用户的访问频率超过第二访问频率阈值满足任意一条,则丢弃该请求头数据,将访问请求失败的结果返回给该用户所在终端。

在一个实施例中,上述访问请求调控方法还包括:根据该用户的票据和访问请求地址获取该用户的访问频率,判断该用户的访问频率是否超过第二访问频率阈值;以及根据该票据获取对应的用户的个人信息,以及根据该用户的个人信息判断该用户是否具有访问权限;若该票据有效、该网络地址的访问频率未超过第一访问频率阈值、该用户的访问频率未超过第二访问频率阈值且该用户具有访问权限时,则完整接收该访问请求包体,将该访问请求包体发送给对应的业务服务器;若该用户的访问频率超过第二访问频率阈值或该用户不具有访问权限时,则将访问请求失败的结果返回给该用户所在终端,并丢弃该请求头数据。

具体地,在网络地址的访问频率未超过第一访问频率阈值且票据有效时,根据该用户的票据和访问请求地址获取该用户的访问频率,判断该用户的访问频率是否超过第二访问频率阈值,若该用户的访问频率未超过第二访问频率阈值,则根据该票据获取对应的用户的个人信息,并根据该用户的个人信息判断该用户是否具有访问权限,若用户具有访问权限,则完整接收该访问请求包体,将该访问请求包体发送给对应的业务服务器,若用户不具有访问权限,则将访问请求失败的结果返回给该用户所在终端,并丢弃该请求头数据;若用户的访问频率超过第二访问频率阈值,则将访问请求失败的结果返回给该用户所在终端,并丢弃该请求头数据。

在网络地址的访问频率未超过第一访问频率阈值且票据有效时,根据该票据获取对应的用户的个人信息,并根据该用户的个人信息判断该用户是否具有访问权限,若用户具有访问权限,则根据该用户的票据和访问请求地址获取该用户的访问频率,判断该用户的访问频率是否超过第二访问频率阈值,若用户的访问频率未超过第二访问频率阈值,则完整接收该访问请求包体,将该访问请求包体发送给对应的业务服务器,若用户的访问频率超过第二访问频率阈值,则将访问请求失败的结果返回给该用户所在终端,并丢弃该请求头数据;若用户不具有访问权限,则将访问请求失败的结果返回给该用户所在终端,并丢弃该请求头数据。

第二访问频率阈值可根据需要设定,用于限定用户的访问频率。当票据有效、网络地址的访问频率未超过第一访问频率阈值且用户的访问频率未超过第二访问频率阈值以及用户具有访问权限时,完整接收该访问请求包体。当票据无效、网络地址的访问频率超过第一访问频率阈值、用户的访问频率超过第二访问频率阈值、用户不具有访问权限满足任意一条,则丢弃该请求头数据,将访问请求失败的结果返回给该用户所在终端。

在一个实施例中,将该访问请求包体发送给对应的业务服务器,包括:获取用户的应用程序标识和应用程序标识类型,根据该用户的应用程序标识、应用程序标识类型、用户的网络地址和访问请求地址根据预设的策略服务判定该用户所属的环境;根据该用户所属的环境按照预设的环境分发策略将该访问请求包体发送给对应的业务服务器。

本实施例中,用户的应用程序标识是用于唯一表示用户身份的字符串,例如可为公众服务号,如123456。应用程序标识类型可包括测试类型、服务类型等。用户的网络地址是指用户所在终端的网络地址。访问请求地址是指用户所在终端所要访问的网络地址。

预设的策略服务是预先训练数据建立的策略服务。策略服务包括应用程序标识、应用程序标识类型、用户所在终端的网络地址、内部外部请求、服务器的网络地址等维度。内部外部请求包括内部请求和外部请求。内部请求是指内网的访问请求。外部请求是指外网的访问请求。根据用户所在终端的网络地址和访问请求地址可以确定该访问请求属于外部请求还是内部请求。

根据用户的应用程序标识、应用程序标识类型、用户的网络地址和访问请求地址可判定用户所属的环境。用户所属的环境可采用环境标识表示。该环境标识用于唯一表示某一环境。

预设的环境分发策略是指预先建立的环境与业务服务器的对应关系,根据用户所属的环境可确定对应的业务服务器,将访问请求包体分发到对应的业务服务器进行处理。用户所属的环境可为灰度发布环境。该灰度发布环境是指在黑与白之间,能够平滑过渡的一种发布方式。A/B测试是灰度发布方式,是指一部分用户继续使用A,一部分用户开始使用B,如果用户对B没有反对意见,则逐步扩大范围,把所有用户都迁移到B上面来。

通过用户所属的环境将访问请求包体分发到对应的业务服务器,支持不同应用程序标识、不同应用程序标识类型的不同环境的分发,节约外网流量,屏蔽无效请求,节约内网流量,无需转发无效请求。

在一个实施例中,上述访问请求调控方法还包括:记录该访问请求的请求时间、请求状态码和用户的网络地址。

本实施例中,无论访问成功或失败,均记录该访问请求的请求时间、请求状态码和用户的网络地址。请求状态码是指HTTP状态码。HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由RFC2616规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。其中,100表示客户端应该继续发送请求。101表示服务器理解客户端的需求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。102表示处理将被继续执行。200表示请求已成功。201表示请求已经被实现,而且有一个新的资源已经依据请求的需要建立,且其URL(Uniform Resource Locator,统一资源定位符)已经随Location头信息返回。202表示服务器已接受请求,但尚未处理。203表示服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或第三方的拷贝等。

通过接收并记录上报的请求数据,提升服务运营指令,达到可量化。

在一个实施例中,上述访问请求调控方法还包括:当访问请求量超过指定阈值和/或该访问请求在指定时间内未响应时,增加预设的核心业务的优先级,以及接收该核心业务的访问请求,并将该核心业务的访问请求发送给对应的业务服务器。

本实施例中,当检测到访问请求量超过指定阈值和/或访问请求在指定时间内未响应时,表示服务器的压力过大,可以增加预设的核心业务的优先级,接收核心业务的访问请求,将该核心业务的访问请求发送给对应的业务服务器。访问请求量是指总的访问请求的数量。指定阈值可根据需要设定,如10000个等。指定时间可根据需要设定,如3秒、5秒等。核心业务是预先配置的,如抢红包业务、奥运会直播业务等。通过增加核心业务的优先级,使得非核心业务的优先级低于核心业务的优先级,保证核心业务的正常运转。

在一个实施例中,上述访问请求调控方法还包括:当访问请求量超过指定阈值和/或该访问请求在指定时间内未响应时,降低除该核心业务外的业务的优先级。

本实施例中,降低除核心业务外的业务的优先级,使得非核心业务的优先级低于核心业务的优先级,保证核心业务的正常运转。

在一个实施例中,上述访问请求调控方法还包括:当访问请求量超过指定阈值和/或该访问请求在指定时间内未响应时,增加预设的核心业务的优先级,以及接收该核心业务的访问请求,并将该核心业务的访问请求发送给对应的业务服务器,并降低除该核心业务外的业务的优先级。

本实施例中,可通过增加核心业务的优先级,降低除核心业务外的业务的优先级,使得非核心业务的优先级低于核心业务的优先级,保证核心业务的正常运转。

为了更清楚的说明上述访问请求调控方法的应用原理,下面结合附图4说明其工作原理,在策略服务器上配置有Nginx接入服务、策略调控服务和数据存储服务,其中,Nginx是一种高性能的HTTP和反向代理服务。工作过程包括(1)~(7):

(1)用户所在终端向Nginx接入服务发起访问请求。

(2)Nginx接入服务根据访问请求接收该访问请求的访问请求包体中的请求头数据,该请求头数据包括用户的网络地址、访问请求地址和票据,该票据是根据用户的应用程序标识和密钥分配的临时令牌;将请求头数据发送给策略调控服务。

(3)策略调控服务根据用户的网络地址获取该网络地址的访问频率,判断该网络地址的访问频率是否超过第一访问频率阈值,若是,则丢弃该请求头数据,并将访问失败的结果返回给Nginx接入服务,由Nginx接入服务返回给用户所在的终端,若否,则验证票据是否有效,若票据有效,则根据用户的票据和访问请求地址获取该用户的访问频率,判断用户的访问频率是否超过第二访问频率阈值,若是,则丢弃该请求头数据,并将访问失败的结果返回给Nginx接入服务,若否,则根据该票据获取对应的用户的个人信息,根据用户的个人信息判断该用户是否具有访问权限,用户具有访问权限,则验证成功,由Nginx完整接收访问请求包体,若用户不具有访问权限,则丢弃该请求头数据,并将访问失败的结果返回给Nginx接入服务;若票据无效,则直接丢弃该请求头数据,并将访问失败的结果返回给Nginx接入服务;策略调控服务还获取用户的应用程序标识和应用程序标识类型,根据该用户的应用程序标识、应用程序标识类型、用户的网络地址和访问请求地址根据预设的策略服务判定该用户所属的环境,并将该用户所属的环境返回给Nginx接入服务。

(4)Nginx接入服务根据验证结果进行相应的处理,若验证结果为该票据有效、该用户的访问频率未超过访问频率阈值且该用户具有访问权限,则完整接收访问请求包体,并根据用户所属的环境按照预设的环境分发策略将访问请求包体发送给对应的业务服务器,如素材服务器、消息A服务器和消息B服务器等。消息A服务器是用于接收并响应A/B测试中继续使用A的用户发送的消息。消息B服务器是用于接收并响应A/B测试中使用B的用户发送的消息。

(5)Nginx接入服务还接收业务服务器对访问请求的响应结果,并将响应结果返回给用户所在的终端;若票据无效或网络地址的访问频率超过第一访问频率阈值或用户的访问频率超过第二访问频率阈值或用户不具有访问权限,则Nginx接入服务丢弃该请求头数据,并将访问失败的结果返回给用户所在的终端。

(6)Nginx接入服务将该访问请求的请求时间、请求状态码和用户的网络地址发送给数据存储服务记录。

(7)策略调控服务调用数据存储服务记录的访问请求的请求时间、请求状态码和用户的网络地址统计用户的访问频率,判断用户的访问频率是否超过访问频率阈值等。

此外,策略调控服务还当访问请求量超过指定阈值和/或所述访问请求在指定时间内未响应时,增加预设的核心业务的优先级,以及接收所述核心业务的访问请求,并将所述核心业务的访问请求发送给对应的业务服务器;和/或,降低除所述核心业务外的业务的优先级。

上述访问请求调控方法,通过Nginx接入服务接收请求头数据,有策略调控服务对请求头数据中票据、用户的访问频率和用户的访问权限进行验证,验证通过后,完整接收访问请求包体,验证不通过,则丢失请求头数据,节约了外网流量,屏蔽了无效请求,节约内网流量,无需转发无效请求,同时保护后端的业务服务,避免遭受攻击,更加安全,接收上报的请求数据,提升服务运营指令,达到可量化,支持降级服务。

图5为一个实施例中访问请求调控装置的结构框图。如图5所示,一种访问请求调控装置,包括请求接收模块502、验证数据接收模块504、统计模块506、验证模块508、请求包接收模块510、分发模块512、丢弃模块514、响应接收模块516和返回模块518。其中:

请求接收模块502用于接收用户所在终端发起的访问请求。

本实施例中,用户可为服务提供者,如视频服务提供者、音频服务提供者、主播服务提供者等。用户所在终端是指服务提供者所提供的服务器,如商家服务器等。

首先,获取用户在注册界面注册服务号请求,并获取用户输入的个人信息,并根据用户的个人信息分配对应的Appid(应用程序标识)和secret(密钥)。用户的个人信息可包括用户名称、地址、联系方式、身份证号码(或企业代码)等。该用户的应用程序标识即为用户的服务号。应用程序标识是用于唯一表示用户身份的字符串。该字符串可为数字、字母和字符中的一种或多种。密钥是应用程序标识对应的密码。为了保护密钥,策略服务器会根据用户的应用程序标识和密钥分配token(票据)。该票据是临时令牌,具有有效期。

策略服务器通过应用服务接入层Nginx接收用户所在终端通过票据发起的访问请求。

验证数据接收模块504用于根据该访问请求接收访问请求包体的请求头数据,该请求头数据包括用户的网络地址、访问请求地址和票据,该票据是根据该用户的应用程序标识和密钥分配的临时令牌。

本实施例中,该访问请求包体可为HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求包体,该访问请求包体的请求头数据包括用户的IP地址(Internet Protocol,网络地址)、访问请求地址和票据。

统计模块506用于根据该用户的网络地址获取该网络地址的访问频率。

本实施例中,每次用户发送访问请求时都会携带有用户的网络地址和访问请求地址,可统计得到在预设时间内用户的网络地址的访问频率,即同一网络地址的访问频率。

验证模块508用于验证该票据是否有效,以及验证该网络地址的访问频率是否超过第一访问频率阈值。

本实施例中,验证该票据是否有效,包括判断该票据是否在有效期内,若是,则该票据有效,若否,则该票据无效。有效期是指每一个票据都有对应的有效期,在有效期内该票据有效,在有效期外该票据无效。票据的有效期可根据需要设定,如从生成该票据起2小时、3小时、4小时等内有效,不限于此。

第一访问频率阈值可根据需要设定,如一天100次等。不同的网络地址对应的第一访问频率阈值可相同或不同。

请求包接收模块510用于若该票据有效且该网络地址的访问频率未超过第一访问频率阈值,则完整接收该访问请求包体。

本实施例中,当票据有效且网络地址的访问频率未超过第一访问频率阈值,才完整的接收访问请求包体,即接收请求包体的全部数据。

分发模块512用于将该访问请求包体发送给对应的业务服务器。

本实施例中,分发模块512将完整接收的请求包体发送给对应的业务服务器进行处理,响应接收模块516用于接收业务服务器对该访问请求包体做出的响应结果,返回模块518将该响应结果返回给该用户所在的终端。

丢弃模块514用于若该票据无效或该网络地址的访问频率超过第一访问频率阈值,丢弃该请求头数据。

本实施例中,返回模块518还将访问失败的结果返回给用户所在的终端。

上述访问请求调控装置,接收用户所在终端发起的访问请求后,接收访问请求包体的请求头数据,根据请求头数据中的用户的网络地址获取网络地址的访问频率,验证票据是否有效,以及网络地址的访问频率是否超过第一访问频率阈值,当票据无效或超频时,丢弃该访问请求包体,当票据有效且未超频时,完整接收访问请求包体,并将访问请求包体发送给对应的业务服务器,使得无效的访问请求过滤掉,不需要下载无效的访问请求的访问请求包体,节省了网络流量,减少了无效请求对服务器的冲击,降低了服务器的负担;通过访问频率控制,避免恶意攻击以及正常用户的超频调用。

在一个实施例中,该验证模块508还用于根据该票据获取对应的用户的个人信息,以及根据该用户的个人信息判断该用户是否具有发起该访问请求的权限。

本实施例中,用户的票据与用户的应用程序标识对应,用户的应用程序标识与用户的个人信息对应,根据票据可得到对应的个人信息。对每个用户分配对应的访问权限,根据用户的个人信息可判断用户是否具有访问请求地址的访问权限。

该请求包接收模块510还用于若该票据有效、该网络地址的访问频率未超过第一访问频率阈值且该用户具有访问权限时,则完整接收该访问请求包体。

该分发模块512还用于将该访问请求包体发送给对应的业务服务器。

丢弃模块514还用于若该用户不具有访问权限,丢弃该请求头数据。

当票据无效、该网络地址的访问频率超过第一访问频率阈值、用户不具有访问权限任意一项成立,则访问失败,将访问失败的结果返回给用户所在终端,并丢弃该请求头数据,即不需要接收访问请求包体的其他数据。

在一个实施例中,统计模块506还用于根据该用户的票据和访问请求地址获取该用户的访问频率;验证模块508还用于判断该用户的访问频率是否超过第二访问频率阈值;请求包接收模块510还用于若该票据有效、该网络地址的访问频率未超过第一访问频率阈值且该用户的访问频率未超过第二访问频率阈值时,则完整接收该访问请求包体;分发模块512还用于将该访问请求包体发送给对应的业务服务器;丢弃模块514还用于若该用户的访问频率超过第二访问频率阈值,丢弃该请求头数据,返回模块518还用于将访问请求失败的结果返回给该用户所在终端。

在一个实施例中,统计模块506还用于根据该用户的票据和访问请求地址获取该用户的访问频率;验证模块508还用于判断该用户的访问频率是否超过第二访问频率阈值,以及根据该票据获取对应的用户的个人信息,以及根据该用户的个人信息判断该用户是否具有访问权限;请求包接收模块510还用于若该票据有效、该网络地址的访问频率未超过第一访问频率阈值、该用户的访问频率未超过第二访问频率阈值且该用户具有访问权限时,则完整接收该访问请求包体;分发模块512还用于将该访问请求包体发送给对应的业务服务器;丢弃模块514还用于若该用户的访问频率超过第二访问频率阈值或该用户不具有访问权限时,丢弃该请求头数据;返回模块518还用于将访问请求失败的结果返回给该用户所在终端。

在一个实施例中,该分发模块512还用于获取用户标识和用户标识类型,根据该用户标识、用户标识类型、用户的网络地址和访问请求地址根据预设的策略服务判定该用户所属的环境,以及根据该用户所属的环境按照预设的环境分发策略将该访问请求包体发送给对应的业务服务器。

本实施例中,用户的应用程序标识是用于唯一表示用户身份的字符串,例如可为公众服务号,如123456。应用程序标识类型可包括测试类型、服务类型等。用户的网络地址是指用户所在终端的网络地址。访问请求地址是指用户所在终端所要访问的网络地址。

预设的策略服务是预先训练数据建立的策略服务。策略服务包括应用程序标识、应用程序标识类型、用户所在终端的网络地址、内部外部请求、服务器的网络地址等维度。内部外部请求包括内部请求和外部请求。内部请求是指内网的访问请求。外部请求是指外网的访问请求。根据用户所在终端的网络地址和访问请求地址可以确定该访问请求属于外部请求还是内部请求。

根据用户的应用程序标识、应用程序标识类型、用户的网络地址和访问请求地址可判定用户所属的环境。用户所属的环境可采用环境标识表示。该环境标识用于唯一表示某一环境。

预设的环境分发策略是指预先建立的环境与业务服务器的对应关系,根据用户所属的环境可确定对应的业务服务器,将访问请求包体分发到对应的业务服务器进行处理。通过用户所属的环境将访问请求包体分发到对应的业务服务器,支持不同应用程序标识、不同应用程序标识类型的不同环境的分发,节约外网流量,屏蔽无效请求,节约内网流量,无需转发无效请求。

图6为另一个实施例中访问请求调控装置的结构框图。如图6所示,一种访问请求调控装置,除了包括请求接收模块502、验证数据接收模块504、统计模块506、验证模块508、请求包接收模块510、分发模块512、丢弃模块514、响应接收模块516和返回模块518,还包括记录模块520和优先级调整模块522。其中:

记录模块520用于记录该访问请求的请求时间、请求状态码和用户的网络地址。

本实施例中,无论访问成功或失败,均记录该访问请求的请求时间、请求状态码和用户的网络地址。请求状态码是指HTTP状态码。通过接收并记录上报的请求数据,提升服务运营指令,达到可量化。

优先级调整模块522用于当访问请求量超过指定阈值和/或该访问请求在指定时间内未响应时,增加预设的核心业务的优先级,以及接收该核心业务的访问请求,并将该核心业务的访问请求发送给对应的业务服务器;和/或,降低除该核心业务外的业务的优先级。

本实施例中,当检测到访问请求量超过指定阈值和/或访问请求在指定时间内未响应时,表示服务器的压力过大,可以增加预设的核心业务的优先级,接收核心业务的访问请求,将该核心业务的访问请求发送给对应的业务服务器;和/或降低除该核心业务外的业务的优先级。访问请求量是指总的访问请求的数量。指定阈值可根据需要设定,如10000个等。指定时间可根据需要设定,如3秒、5秒等。核心业务是预先配置的,如抢红包业务、奥运会直播业务等。通过增加核心业务的优先级,和/或降低非核心业务的优先级,使得非核心业务的优先级低于核心业务的优先级,保证核心业务的正常运转。

在其他实施例中,上述访问请求调控装置,可包括请求接收模块502、验证数据接收模块504、统计模块506、验证模块508、请求包接收模块510、分发模块512、丢弃模块514、响应接收模块516、返回模块518、记录模块520和优先级调整模块522中所有可能的组合。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1