访问请求接入控制方法、装置、计算机设备及存储介质转让专利

申请号 : CN202110776209.7

文献号 : CN113542384B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李江怀

申请人 : 平安科技(深圳)有限公司

摘要 :

本发明涉及安全防护领域,具体公开了一种访问请求接入控制方法、装置、计算机设备及存储介质,在传统的微服务架构基础上,通过在客户端与微服务服务器上游(上游微服务)的应用层网关之间增设一接入层网关,该接入层网关用于接收客户端发起的携带有微服务标识信息的微服务访问请求,获取与该微服务标识信息对应的访问请求接入条件,并在判断所述微服务访问请求满足访问请求接入条件时,将微服务访问请求转发至应用层网关,并经由该应用层网关将微服务访问请求分发至指定微服务服务器,即在接入层网关处就对客户端发起的微服务访问请求进行接入控制,上游微服务对客户端发起的访问请求基本无感知,能够很好地缓解上游微服务的压力。

权利要求 :

1.一种访问请求接入控制方法,其特征在于,所述访问请求接入控制方法应用于接入层网关,所述访问请求接入控制方法包括:接收客户端发起的微服务访问请求,所述微服务访问请求携带有微服务标识信息;

获取与所述微服务标识信息对应的访问请求接入条件;判断所述微服务访问请求是否满足所述访问请求接入条件;

当所述微服务访问请求满足所述访问请求接入条件时,将所述微服务访问请求转发至应用层网关,并经由所述应用层网关将所述微服务访问请求分发至指定微服务服务器;

其中,所述微服务访问请求包括第一微服务访问请求和第二微服务访问请求;

所述当所述微服务访问请求满足所述访问请求接入条件时,将所述微服务访问请求转发至应用层网关,包括:根据预设接入规则确定所述第一微服务访问请求和第二微服务访问请求的接入顺序;

按照所述接入顺序,将所述第一微服务访问请求、第二微服务访问请求转发至所述应用层网关;

所述根据预设接入规则确定所述第一微服务访问请求和第二微服务访问请求的接入顺序,包括:获取所述第一微服务访问请求中的第一期望访问指标,所述第一期望访问指标包括第一期望流量、第一期望带宽和/或第一期望请求响应时间;获取所述第二微服务访问请求中的第二期望访问指标,所述第二期望访问指标包括第二期望流量、第二期望带宽和/或第二期望请求响应时间;

根据预设排序规则处理所述第一期望访问指标和所述第二期望访问指标,获得所述第一微服务访问请求和第二微服务访问请求的接入顺序。

2.如权利要求1所述的访问请求接入控制方法,其特征在于,获取与所述微服务标识信息对应的访问请求接入条件;判断所述微服务访问请求是否满足所述访问请求接入条件,包括:获取预设的与所述微服务标识信息对应的限制列表清单,所述限制列表清单包括若干限制访问接入的ID和/或IP地址;

获取发起所述微服务访问请求的客户端的客户端ID和/或客户端IP地址,判断所述限制列表清单是否包括所述客户端ID和/或客户端IP地址;

若所述限制列表清单不包括所述客户端ID和/或客户端IP地址,则确定所述微服务访问请求满足访问请求接入条件。

3.如权利要求1所述的访问请求接入控制方法,其特征在于,所述获取与所述微服务标识信息对应的访问请求接入条件;判断所述微服务访问请求是否满足所述访问请求接入条件,包括:获取与所述微服务标识信息对应的访问频次阈值;

获取客户端发起微服务访问请求的第一访问频次,判断所述第一访问频次是否大于所述访问频次阈值;

若所述第一访问频次小于等于所述访问频次阈值,则确定所述微服务访问请求满足访问请求接入条件。

4.如权利要求1所述的访问请求接入控制方法,其特征在于,所述获取与所述微服务标识信息对应的访问请求接入条件;判断所述微服务访问请求是否满足所述访问请求接入条件,包括:获取所述客户端在与所述微服务标识信息对应的微服务服务器进行注册的注册信息;

所述注册信息包括所述客户端访问所述微服务服务器的权限;

校验所述微服务访问请求是否符合所述权限,若校验通过,则确定所述微服务访问请求满足访问请求接入条件。

5.如权利要求1所述的访问请求接入控制方法,其特征在于,所述获取与所述微服务标识信息对应的访问请求接入条件;判断所述微服务访问请求是否满足所述访问请求接入条件,包括:获取与所述微服务标识信息对应的微服务服务器当前的运行状态信息;

从所述运行状态信息提取所述微服务服务器的访问指标,所述访问指标包括可用流量、可用带宽和/或请求响应时间阈值;

获取所述微服务访问请求中的期望访问指标,所述期望访问指标包括期望流量、期望带宽和/或期望请求响应时间;

计算所述访问指标与所述期望访问指标之间的匹配度;

若所述匹配度满足预设匹配要求,则确定所述微服务访问请求满足访问请求接入条件。

6.一种访问请求接入控制装置,其特征在于,所述访问请求接入控制装置应用于接入层网关,所述访问请求接入控制装置包括:微服务访问请求接收模块,用于接收客户端发起的微服务访问请求,所述微服务访问请求携带有微服务标识信息;

访问请求接入条件获取模块,用于获取与所述微服务标识信息对应的访问请求接入条件;判断所述微服务访问请求是否满足所述访问请求接入条件;

微服务访问请求转发模块,用于当所述微服务访问请求满足所述访问请求接入条件时,将所述微服务访问请求转发至应用层网关,并经由所述应用层网关将所述微服务访问请求分发至指定微服务服务器;

所述微服务访问请求包括第一微服务访问请求和第二微服务访问请求,所述微服务访问请求转发模块包括微服务访问请求转发单元;

所述微服务访问请求转发单元,用于根据预设接入规则确定所述第一微服务访问请求和第二微服务访问请求的接入顺序;按照所述接入顺序,将所述第一微服务访问请求、第二微服务访问请求转发至应用层网关;

所述微服务访问请求转发单元包括接入顺序确定单元;

所述接入顺序确定单元,用于获取所述第一微服务访问请求中的第一期望访问指标,所述第一期望访问指标包括第一期望流量、第一期望带宽和/或第一期望请求响应时间;

所述接入顺序确定单元,还用于获取所述第二微服务访问请求中的第二期望访问指标,所述第二期望访问指标包括第二期望流量、第二期望带宽和/或第二期望请求响应时间;

所述接入顺序确定单元,还用于根据预设排序规则处理所述第一期望访问指标和所述第二期望访问指标,获得所述第一微服务访问请求和第二微服务访问请求的接入顺序。

7.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如权利要求1至5中任一项所述访问请求接入控制方法。

8.一种存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至5中任一项所述访问请求接入控制方法。

说明书 :

访问请求接入控制方法、装置、计算机设备及存储介质

技术领域

[0001] 本发明涉及安全防护领域,尤其涉及一种访问请求接入控制方法、装置、计算机设备及存储介质。

背景技术

[0002] 微服务作为一项在云中部署应用和服务的新技术已成为当下最新的热门话题。在构建微服务架构的基础平台时,网关模块是必不可少的核心组件之一。网关模块可为用户访问微服务提供接口,使用户可以通过该接口访问微服务。
[0003] 在传统的微服务架构中,网关模块是作为路由器使用,具体用于处理用户请求的转发、权限校验、限流、监控等操作,因此,其流量基本上都压到了后端服务上,若在此处做限流操作,只能缓解下游微服务的压力,例如,数据库的压力,却无法缓解上游微服务的压力。
[0004] 可见,现有的微服务架构存在无法缓解上游微服务的压力的问题。

发明内容

[0005] 基于此,有必要针对上述技术问题,提供一种访问请求接入控制方法、装置、计算机设备及存储介质,以解决现有的微服务架构存在无法缓解上游微服务的压力的问题。
[0006] 一种访问请求接入控制方法,包括:
[0007] 接收客户端发起的微服务访问请求,所述微服务访问请求携带有微服务标识信息;
[0008] 获取与所述微服务标识信息对应的访问请求接入条件;判断所述微服务访问请求是否满足所述访问请求接入条件;
[0009] 当所述微服务访问请求满足所述访问请求接入条件时,将所述微服务访问请求转发至应用层网关,并经由所述应用层网关将所述微服务访问请求分发至指定微服务服务器。
[0010] 一种访问请求接入控制装置,包括:
[0011] 微服务访问请求接收模块,用于接收客户端发起的微服务访问请求,所述微服务访问请求携带有微服务标识信息;
[0012] 访问请求接入条件获取模块,用于获取与所述微服务标识信息对应的访问请求接入条件;判断所述微服务访问请求是否满足所述访问请求接入条件;
[0013] 微服务访问请求转发模块,用于当所述微服务访问请求满足所述访问请求接入条件时,将所述微服务访问请求转发至应用层网关,并经由所述应用层网关将所述微服务访问请求分发至指定微服务服务器。
[0014] 一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述访问请求接入控制方法。
[0015] 一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如上述访问请求接入控制方法。
[0016] 上述访问请求接入控制方法、装置、计算机设备及存储介质,在传统的微服务架构基础上,通过在客户端与微服务服务器上游(上游微服务)的应用层网关之间增设一接入层网关,该接入层网关用于接收客户端发起的携带有微服务标识信息的微服务访问请求,获取与该微服务标识信息对应的访问请求接入条件,并在判断所述微服务访问请求满足访问请求接入条件时,将微服务访问请求转发至应用层网关,并经由该应用层网关将微服务访问请求分发至指定微服务服务器,即在接入层网关处就对客户端发起的微服务访问请求进行接入控制,上游微服务对客户端发起的访问请求基本无感知,能够很好地缓解上游微服务的压力。

附图说明

[0017] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018] 图1是本发明一实施例中访问请求接入控制方法的应用环境示意图;
[0019] 图2是本发明一实施例中访问请求接入控制方法的流程示意图;
[0020] 图3是本发明一实施例中访问请求接入控制装置的结构示意图;
[0021] 图4是本发明一实施例中计算机设备的示意图。

具体实施方式

[0022] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023] 本实施例提供的访问请求接入控制方法,可应用在如图1的微服务架构中,包括客户端、接入层网关、应用层网关和微服务服务器。其中,客户端与接入层网关进行通信,接入层网关与应用层网关进行通信,应用层网关与微服务服务器进行通信。其中,客户端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。接入层网关可以是API网关(例如,Kong),Kong是构建于openresty之上,而openresty其实是nginx的增强版,由于nginx本身支持高并发,性能高,易扩,可用于应对客户端发起的大批量的微服务访问请求。应用层网关在此架构中可用作智能路由器,用于将由接入层网关发送过来的微服务访问请求分发至指定的微服务服务器。
[0024] 在一实施例中,如图2所示,提供一种访问请求接入控制方法,以该方法应用在图1中的接入层网关为例进行说明,包括如下步骤:
[0025] 步骤S10,接收客户端发起的微服务访问请求,所述微服务访问请求携带有微服务标识信息。
[0026] 在本发明实施例中,用户在使用客户端(例如,智能手机)时,可以在客户端中进行不同的业务操作(例如,上传文件/视频/图片/语音、下载文件/视频/图片/语音等)。这样,客户端需要访问指定微服务服务器,由此需要发起携带有微服务标识信息的微服务访问请求。
[0027] 微服务标识信息,包括但不限于微服务服务器的名称、编号等。例如,用户想要将存储在客户端的文件A上传至文件存储器B时,则可以通过客户端发起携带有文件存储器B的名称(如,文件存储器B)、编号(如,01)等标识信息的访问请求。
[0028] 步骤S20,获取与所述微服务标识信息对应的访问请求接入条件;判断所述微服务访问请求是否满足所述访问请求接入条件。
[0029] 在一个实施例中,上述步骤S20包括如下步骤:
[0030] 获取预设的与所述微服务标识信息对应的限制列表清单,所述限制列表清单包括若干限制访问接入的ID和/或IP地址。
[0031] 获取发起所述微服务访问请求的客户端的客户端ID和/或客户端IP地址,判断所述限制列表清单是否包括所述客户端ID和/或客户端IP地址。
[0032] 若所述限制列表清单不包括所述客户端ID和/或客户端IP地址,则确定所述微服务访问请求满足访问请求接入条件。
[0033] 示例性的,预设的与所述微服务标识信息对应的限制列表清单,可以是微服务标识信息与限制访问接入的ID和/或IP地址的映射表,具体如下表1、表2所示。
[0034] 表1微服务标识信息与限制访问接入的ID的映射表
[0035]微服务标识信息 限制访问接入的ID
A ID1
B ID2
… …
[0036] 表2微服务标识信息与限制访问接入的IP地址的映射表
[0037]微服务标识信息 限制访问接入的IP地址
A IP地址1
B IP地址2
… …
[0038] 示例性的,假设用户想要访问文件存储器,该文件存储器的微服务标识信息为B,在接收到用户操作客户端K发起携带有微服务标识信息为B的微服务访问请求1,获取该客户端K的客户端ID和/或IP地址。例如,该客户端K的客户端ID为ID2,IP地址为IP地址2。遍历上表1和表2,发现ID2为与B对应的限制访问接入的ID,IP地址2为与B对应的限制访问接入的IP地址,即可确定限制列表清单包括ID2、IP地址2,由此可判定微服务访问请求1不满足访问请求接入条件,拒绝接入。
[0039] 又例如,该客户端K的客户端ID为ID1,IP地址为IP地址1。遍历上表1和表2,发现ID1不是与B对应的限制访问接入的ID,IP地址1不是与B对应的限制访问接入的IP地址,即可确定限制列表清单不包括与B对应的ID1、IP地址1,由此可判定微服务访问请求1满足访问请求接入条件,允许接入。
[0040] 可以理解的,当判断上述限制列表清单包括客户端ID和IP地址其中之一,则确定微服务访问请求不满足访问请求接入条件,拒绝接入。
[0041] 通过获取发起微服务访问请求的客户端的客户端ID和/或客户端IP地址,并拒绝接入携带上述限制列表清单中的限制访问接入的ID和/或IP地址拒的微服务访问请求,可以防止非法ID和/或IP地址的客户端(例如,黑客客户端等)访问微服务服务器,从而提高了访问接入的安全性。
[0042] 在另一实施例中,上述步骤S20包括如下步骤:
[0043] 获取与所述微服务标识信息对应的访问频次阈值。
[0044] 获取客户端发起微服务访问请求的第一访问频次,判断所述第一访问频次是否大于所述访问频次阈值。
[0045] 若所述第一访问频次小于等于所述访问频次阈值,则确定所述微服务访问请求满足访问请求接入条件。
[0046] 其中,访问频次阈值通常是指在预设时间内的最大访问次数。例如,每秒的最大访问次数为1000次,则访问频次阈值可以预设为1000次/秒。考虑到同一微服务服务器在不同的时间段的访问请求量不同,例如,在高考放榜查分数期间,对某个微服务服务器的访问请求量激增,因此,访问频次阈值也可以根据考生查询高考成绩的历史数据来确定访问请求数量的分布规律,再根据该分布规律来设定不同的时间段对应不同的访问频次阈值。例如,访问请求量最大的时间段为上午7:00‑12:00,下午13:00‑18:00,晚上19:00‑24:00,那么可以设置这三个时间段的最大访问次数分别为10万次,11万次和13万次。
[0047] 第一访问频次,可以是单个客户端ID或者IP在预设时间内的访问次数,例如,每秒访问100次;也可以是多个客户端ID或者IP在同一时间内发起的访问次数,例如,5个客户端ID或者IP在同一秒内发起的访问次数为500次。
[0048] 在本发明的一个示例性实施例中,当微服务访问请求中的第一访问频次为100次/秒,访问频次阈值为1000次/秒时,则第一访问频次<访问频次阈值,即第一访问频次小于访问频次阈值,则该微服务访问请求满足访问请求接入条件。
[0049] 通过限制超过访问频次阈值的客户端发起的微服务访问请求,可以避免因访问次数过于频繁而导致响应时间过慢而影响用户体验,甚至导致系统因负载过大而崩溃。
[0050] 在又一实施例中,上述步骤S20包括如下步骤:
[0051] 获取所述客户端在与所述微服务标识信息对应的微服务服务器进行注册的注册信息;所述注册信息包括所述客户端访问所述微服务服务器的权限;
[0052] 校验所述微服务访问请求是否符合所述权限,若校验通过,则确定所述微服务访问请求满足访问请求接入条件。
[0053] 注册信息,包括但不限于用户账号名称、密码、联系方式、住址、工作单位、访问权限(例如,上传/下载的文件大小,访问时间段、访问次数、访问内容等)等。
[0054] 在本发明的一个示例性实施例中,可预先将客户端与注册信息对应存储在微服务服务器S中,形成如下表3所示的客户端‑注册信息一一对应的对应关系表。
[0055] 表3客户端和注册信息对应关系表
[0056]客户端 注册信息
客户端1 注册信息1
客户端2 注册信息2
… …
[0057] 假设用户在操作客户端1申请注册微服务服务器S的会员时,在微服务服务器S上设置的注册信息1包括:账号名称为“天空之城”,密码为“1234xx”,购买或者订阅的服务包括“500MB的存储空间”。当接收到客户端1向微服务服务器S发起微服务访问请求时,获取该客户端1在注册微服务服务器S时的上述注册信息1。
[0058] 当接收到用户操作客户端1发起的微服务访问请求为“上传400MB的文件至微服务服务器S”时,而根据获取到的该客户端1的注册信息可知,该客户端1在微服务服务器S拥有500MB的存储空间,现在需要上传的文件大小为400MB,不超过其拥有的500MB的存储空间(或当前可用存储空间大小),因此,可确定客户端1当前发起的微服务访问请求满足访问请求接入条件。
[0059] 用户通过客户端向指定的微服务服务器发起访问请求之前,需要在指定的微服务服务器进行注册,并通过购买或者订阅等手段获得使用该微服务服务器的相应服务的权限,这样,一方面,可以使得微服务服务器提供商能够针对注册客户端提供个性化的服务,有利于提升服务的质量;另一方面,可以将其他非注册客户端对微服务服务器发起的访问请求拦截在外,避免造成资源的占用。
[0060] 在再一实施例中,上述步骤S20包括如下步骤:
[0061] 获取与所述微服务标识信息对应的微服务服务器当前的运行状态信息;
[0062] 从所述运行状态信息提取所述微服务服务器的访问指标,所述访问指标包括可用流量、可用带宽和/或请求响应时间阈值;
[0063] 获取所述微服务访问请求中的期望访问指标,所述期望访问指标包括期望流量、期望带宽和/或期望请求响应时间;
[0064] 计算所述访问指标与所述期望访问指标之间的匹配度;
[0065] 若所述匹配度满足预设匹配要求,则确定所述微服务访问请求满足访问请求接入条件。
[0066] 在本发明实施例中,微服务服务器当前的运行状态信息,包括当前的可用流量、可用带宽、请求响应时间阈值、存储空间、CPU利用率等。
[0067] 在本发明实施例中,计算所述访问指标与所述期望访问指标之间的匹配度,具体可以是计算访问指标与期望访问指标的差值,判断该差值是否在预设阈值范围内,并由此确定访问指标与期望访问指标之间的匹配度。
[0068] 在一示例性实施例中,预设流量阈值为≥0MB,访问指标中的微服务服务器当前的可用流量为1000MB,期望访问指标中的期望流量为500MB,那么经计算可得出访问指标与期望访问指标的差值为+500MB≥0MB,即该差值在预设阈值范围内,由此可确定访问指标与期望访问指标的匹配度为100%。
[0069] 在另一示例性实施例中,预设流量阈值为≥0MB,访问指标中的微服务服务器当前的可用流量为500MB,期望访问指标中的期望流量为1000MB,那么经计算可得出访问指标与期望访问指标的差值为‑500MB<0MB,即该差值不在预设阈值范围内,由此可确定访问指标与期望访问指标的匹配度为0。
[0070] 在本发明实施例中,预设的匹配度要求可以是访问指标与期望访问指标的匹配度为100%。
[0071] 步骤S30,当所述微服务访问请求满足所述访问请求接入条件时,将所述微服务访问请求转发至应用层网关,并经由所述应用层网关将所述微服务访问请求分发至指定微服务服务器。
[0072] 在一实施例中,所述微服务访问请求包括第一微服务访问请求和第二微服务访问请求。在步骤S30中,当所述微服务访问请求满足所述访问请求接入条件时,将所述微服务访问请求转发至应用层网关,包括:
[0073] 根据预设接入规则确定所述第一微服务访问请求和第二微服务访问请求的接入顺序。
[0074] 按照所述接入顺序,将所述第一微服务访问请求、第二微服务访问请求转发至应用层网关。
[0075] 在本发明实施例中,根据预设接入规则确定所述第一微服务访问请求和第二微服务访问请求的接入顺序,包括:获取所述第一微服务访问请求中的第一期望访问指标,所述第一期望访问指标包括第一期望流量、第一期望带宽和/或第一期望请求响应时间;获取所述第二微服务访问请求中的第二期望访问指标,所述第二期望访问指标包括第二期望流量、第二期望带宽和/或第二期望请求响应时间;根据预设排序规则处理所述第一期望访问指标和所述第二期望访问指标,获得所述第一微服务访问请求和第二微服务访问请求的接入顺序。
[0076] 在本发明实施例中,第一微服务访问请求、第二微服务访问请求可以是同一客户端发起的,也可以是不同客户端发起的。
[0077] 在一示例性实施例中,预设排序规则可以是访问请求的发起时间顺序。假设当第一微服务访问请求和第二微服务访问请求是由同一客户端在不同时间点发起的,且第一微服务访问请求的第一期望访问指标和第二微服务访问请求的第二期望访问指标的各项指标完全相同时,则可根据发起时间先后顺序确定第一微服务访问请求和第二微服务访问请求的接入顺序。例如,第一微服务访问请求的发起时间是上午8:00,第二微服务访问请求的发起时间是8:01,则第一微服务访问请求和第二微服务访问请求的接入顺序为第一微服务访问请求→第二微服务访问请求。
[0078] 在另一示例性实施例中,预设的排序规则还可以是预设的带宽、流量、请求响应时间三者的优先级别。例如,可以是流量>带宽>请求响应时间,也可以是带宽>流量>请求响应时间,还可以是请求响应时间>流量>带宽,其中,带宽、流量、请求响应时间三者的优先级别可以根据实际情况来确定,在本发明中不做具体限定。
[0079] 具体的,假设当第一微服务访问请求和第二微服务访问请求是由同一客户端在不同时间点发起的,且第一微服务访问请求的第一期望访问指标和第二微服务访问请求的第二期望访问指标的各项指标不完全相同时,可根据预设的带宽、流量、请求响应时间三者的优先级别,按照优先级别的顺序逐一比较第一期望访问指标和第二期望访问指标中的指标值大小,直至确定第一微服务访问请求和第二微服务访问请求的接入顺序。例如,第一期望访问指标的第一期望流量为500MB、第一期望带宽为1kbps、第一期望请求响应时间为0.2s;第二期望访问指标的第二期望流量为300MB、第二期望带宽为1kbps、第二期望请求响应时间为0.3s。预设的带宽、流量、请求响应时间优先级别为带宽>流量>请求响应时间,那么首先比较第一期望带宽与第二期望带宽的大小,比较的结果是第一期望带宽等于第二期望带宽;接着比较第一期望流量与第二期望流量的大小,比较的结果是第一期望流量大于第二期望流量,考虑到微服务服务器的服务性能和质量,可将期望值更小的访问请求先接入,由此,可确定第一微服务访问请求和第二微服务访问请求的接入顺序为:第二微服务访问请求→第一微服务访问请求。
[0080] 通过先确定第一微服务访问请求和第二微服务访问请求的接入顺序,使得访问请求能够有序接入应用层网关中进行转发,使得享有优先接入权限的客户端能够优先享受到相应的服务,从而可提高用户的体验;同时也可以兼顾到微服务服务器的承载能力,使得访问请求可有序接入,避免系统崩溃。
[0081] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0082] 在一实施例中,提供一种访问请求接入控制装置,该访问请求接入控制装置与上述实施例中访问请求接入控制方法一一对应。如图3所示,该访问请求接入控制装置包括微服务访问请求接收模块11、访问请求接入条件获取模块12和微服务访问请求转发模块13。各功能模块详细说明如下:
[0083] 微服务访问请求接收模块11,用于接收客户端发起的微服务访问请求,所述微服务访问请求携带有微服务标识信息。
[0084] 访问请求接入条件获取模块12,用于获取与所述微服务标识信息对应的访问请求接入条件;判断所述微服务访问请求是否满足所述访问请求接入条件。
[0085] 微服务访问请求转发模块13,用于当所述微服务访问请求满足所述访问请求接入条件时,将所述微服务访问请求转发至应用层网关,并经由所述应用层网关将所述微服务访问请求分发至指定微服务服务器。
[0086] 在一实施例中,上述访问请求接入条件获取模块12,包括限制列表清单获取单元、第一判断单元和第一确定单元。
[0087] 限制列表清单获取单元,用于获取预设的与所述微服务标识信息对应的限制列表清单,所述限制列表清单包括若干限制访问接入的ID和/或IP地址。
[0088] 第一判断单元,用于获取发起所述微服务访问请求的客户端的客户端ID和/或客户端IP地址,判断所述限制列表清单是否包括所述客户端ID和/或客户端IP地址;
[0089] 第一确定单元,用于若所述限制列表清单不包括所述客户端ID和/或客户端IP地址,则确定所述微服务访问请求满足访问请求接入条件。
[0090] 在另一实施例中,上述访问请求接入条件获取模块12,包括访问频次阈值获取单元、第二判断单元和第二确定单元。
[0091] 访问频次阈值获取单元,用于获取与所述微服务标识信息对应的访问频次阈值。
[0092] 第二判断单元,用于获取客户端发起微服务访问请求的第一访问频次,判断所述第一访问频次是否大于所述访问频次阈值。
[0093] 第二确定单元,用于若所述第一访问频次小于等于所述访问频次阈值,则确定所述微服务访问请求满足访问请求接入条件。
[0094] 在又一实施例中,上述访问请求接入条件获取模块12,包括注册信息获取单元和第三确定单元。
[0095] 注册信息获取单元,用于获取所述客户端在与所述微服务标识信息对应的微服务服务器进行注册的注册信息;所述注册信息包括所述客户端访问所述微服务服务器的权限。
[0096] 第三确定单元,用于校验所述微服务访问请求是否符合所述权限,若校验通过,则确定所述微服务访问请求满足访问请求接入条件。
[0097] 在再一实施例中,上述访问请求接入条件获取模块12,包括运行状态信息获取单元、访问指标提取单元、期望访问指标获取单元、匹配度计算单元和第四确定单元。
[0098] 运行状态信息获取单元,用于获取与所述微服务标识信息对应的微服务服务器当前的运行状态信息。
[0099] 访问指标提取单元,用于从所述运行状态信息提取所述微服务服务器的访问指标,所述访问指标包括可用流量、可用带宽和/或请求响应时间阈值。
[0100] 期望访问指标获取单元,用于获取所述微服务访问请求中的期望访问指标,所述期望访问指标包括期望流量、期望带宽和/或期望请求响应时间。
[0101] 匹配度计算单元,用于计算所述访问指标与所述期望访问指标之间的匹配度;
[0102] 第四确定单元,用于若所述匹配度满足预设匹配要求,则确定所述微服务访问请求满足访问请求接入条件。
[0103] 在一实施例中,上述微服务访问请求包括第一微服务访问请求和第二微服务访问请求。上述微服务访问请求转发模块13,包括微服务访问请求转发单元。
[0104] 微服务访问请求转发单元,用于根据预设接入规则确定所述第一微服务访问请求和第二微服务访问请求的接入顺序;按照所述接入顺序,将所述第一微服务访问请求、第二微服务访问请求转发至应用层网关。
[0105] 在一实施例中,上述微服务访问请求转发单元包括接入顺序确定单元。
[0106] 接入顺序确定单元,用于获取所述第一微服务访问请求中的第一期望访问指标,所述第一期望访问指标包括第一期望流量、第一期望带宽和/或第一期望请求响应时间;获取所述第二微服务访问请求中的第二期望访问指标,所述第二期望访问指标包括第二期望流量、第二期望带宽和/或第二期望请求响应时间。
[0107] 根据预设排序规则处理所述第一期望访问指标和所述第二期望访问指标,获得所述第一微服务访问请求和第二微服务访问请求的接入顺序。
[0108] 关于访问请求接入控制装置的具体限定可以参见上文中对于访问请求接入控制方法的限定,在此不再赘述。上述访问请求接入控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0109] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机可读指令被处理器执行时以实现一种访问请求接入控制方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
[0110] 在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:
[0111] 接收客户端发起的微服务访问请求,所述微服务访问请求携带有微服务标识信息;
[0112] 获取与所述微服务标识信息对应的访问请求接入条件;判断所述微服务访问请求是否满足所述访问请求接入条件;
[0113] 当所述微服务访问请求满足所述访问请求接入条件时,将所述微服务访问请求转发至应用层网关,并经由所述应用层网关将所述微服务访问请求分发至指定微服务服务器。
[0114] 在一个实施例中,提供了一个或多个存储有计算机可读指令的计算机可读存储介质,本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。可读存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现以下步骤:
[0115] 接收客户端发起的微服务访问请求,所述微服务访问请求携带有微服务标识信息;
[0116] 获取与所述微服务标识信息对应的访问请求接入条件;判断所述微服务访问请求是否满足所述访问请求接入条件;
[0117] 当所述微服务访问请求满足所述访问请求接入条件时,将所述微服务访问请求转发至应用层网关,并经由所述应用层网关将所述微服务访问请求分发至指定微服务服务器。
[0118] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0119] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0120] 以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。