掌桥专利:专业的专利平台
掌桥专利
首页

应用资源控制方法、装置、计算机设备和存储介质

文献发布时间:2023-06-19 13:45:04


应用资源控制方法、装置、计算机设备和存储介质

技术领域

本申请涉及计算机技术领域,特别是涉及一种应用资源控制方法、装置、计算机设备和存储介质。

背景技术

随着计算机技术的发展,出现了公有云。使用公有云可以使应用资源得到充分利用的同时,还存在应用资源的管控问题,对应用资源进行合理、灵活地管控存在非常重要的意义。

目前,实现对资源管控的方法,是通过接入层设备对请求中的用户身份判别,以判断请求是否具有访问所指定的应用资源的权限,从而仅能依据用户身份对应用资源进行管控,比较局限。如果需要增加用户身份以外的管控条件,则无法通过接入层设备实现,只能对业务服务进行独立开发,而且开发的业务服务也不具有通用性仍然存在局限性问题。

由此,目前的应用资源控制方法存在局限性。

发明内容

基于此,有必要针对上述技术问题,提供一种能够避免局限性的应用资源控制方法、装置、计算机设备和存储介质。

一种应用资源控制方法,所述方法包括:

所述接入层网关响应于针对目标应用资源的处理请求,从所述处理请求中提取多维度的控制依据信息;所述控制依据信息,是进行控制判断的依据信息;

将各所述维度的所述控制依据信息与目标资源控制规则中同一维度下的目标规则参数进行匹配,得到匹配结果;所述目标资源控制规则中包括各所述维度下的目标规则参数;所述目标资源控制规则是设置于接入层网关中的、且与所述目标应用资源对应的资源控制规则;

若所述匹配结果表示命中所述目标资源控制规则,执行所述目标资源控制规则所对应的控制动作,以对所述处理请求进行相应控制处理。

在其中一个实施例中,所述处理请求,是埋点后的处理请求;

所述接入层网关响应于针对目标应用资源的处理请求,从所述处理请求中提取多维度的控制依据信息,包括:

接入层网关响应于针对目标应用资源的埋点后的处理请求,识别所述处理请求中的埋点位置;

提取位于所述埋点位置处的信息,得到多维度的控制依据信息。

在其中一个实施例中,所述接入层网关响应于针对目标应用资源的处理请求,从所述处理请求中提取多维度的控制依据信息,包括:

所述接入层网关响应于针对目标应用资源的处理请求,解析所述目标应用资源对应的目标资源控制规则,得到多维度的控制项;

所述接入层网关响应于针对目标应用资源的埋点后的处理请求,识别所述处理请求中的埋点位置,包括:

识别所述多维度的控制项在所述处理请求中对应的埋点位置。

在其中一个实施例中,所述多维度的控制项包括原生属性控制项与自定义属性控制项中的至少一种;

所述提取位于所述埋点位置处的信息,得到多维度的控制依据信息,包括:

若所述控制项包括所述原生属性控制项,则从所述原生属性控制项在所述处理请求中对应的埋点位置处,提取对应于所述原生属性的原生控制依据信息;

若所述控制项包括所述自定义属性控制项,则从所述自定义属性控制项在所述处理请求中对应的埋点位置处,提取对应于所述自定义属性的自定义控制依据信息。

在其中一个实施例中,所述将各所述维度的所述控制依据信息与目标资源控制规则中同一维度下的目标规则参数进行匹配,得到匹配结果,包括:

按照所述目标资源控制规则中目标规则参数的排列顺序,将各所述目标规则参数与同一维度的所述控制依据信息依次进行匹配;

在依次匹配的过程中,若存在所述目标规则参数与同一维度的所述控制依据信息不匹配,则停止匹配,得到表示未命中所述目标资源控制规则的匹配结果。

在其中一个实施例中,所述方法还包括:

所述接入层网关在接收到规则处理引擎发送的规则存储指令的情况下,从数据库中读取资源控制规则并存储在规则库中;其中,所述目标资源控制规则是从所述规则库中查找的、且与所述目标应用资源对应的资源控制规则。

在其中一个实施例中,所述规则库中包括临时资源控制规则;所述临时资源控制规则具有相应的有效时长;

所述方法还包括:

若所述规则处理引擎在所述有效时长满足失效条件后向所述接入层网关发送规则清除指令,则响应于所述规则清除指令,清除失效的所述临时资源控制规则。

在其中一个实施例中,所述若所述匹配结果表示命中所述目标资源控制规则,执行所述目标资源控制规则所对应的控制动作,以对所述处理请求进行相应控制处理,包括:

在所述目标资源控制规则所对应的控制动作为拦截动作的情况下,若所述匹配结果表示命中所述目标资源控制规则,执行所述拦截动作以对所述处理请求进行拦截;

在所述控制动作为放行动作的情况下,若所述匹配结果表示命中所述目标资源控制规则,则不拦截所述处理请求;

在所述控制动作为链路染色动作的情况下,若所述匹配结果表示命中所述目标资源控制规则,则对所述处理请求添加相应标记,以进行链路染色。

一种应用资源控制装置,设置于所述接入层网关中,所述装置包括:

提取模块,用于响应于针对目标应用资源的处理请求,从所述处理请求中提取多维度的控制依据信息;所述控制依据信息,是进行控制判断的依据信息;

匹配模块,用于将各所述维度的所述控制依据信息与目标资源控制规则中同一维度下的目标规则参数进行匹配,得到匹配结果;所述目标资源控制规则中包括各所述维度下的目标规则参数;所述目标资源控制规则是设置于接入层网关中的、且与所述目标应用资源对应的资源控制规则;

执行模块,用于若所述匹配结果表示命中所述目标资源控制规则,执行所述目标资源控制规则所对应的控制动作,以对所述处理请求进行相应控制处理。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

所述接入层网关响应于针对目标应用资源的处理请求,从所述处理请求中提取多维度的控制依据信息;所述控制依据信息,是进行控制判断的依据信息;

将各所述维度的所述控制依据信息与目标资源控制规则中同一维度下的目标规则参数进行匹配,得到匹配结果;所述目标资源控制规则中包括各所述维度下的目标规则参数;所述目标资源控制规则是设置于接入层网关中的、且与所述目标应用资源对应的资源控制规则;

若所述匹配结果表示命中所述目标资源控制规则,执行所述目标资源控制规则所对应的控制动作,以对所述处理请求进行相应控制处理。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

所述接入层网关响应于针对目标应用资源的处理请求,从所述处理请求中提取多维度的控制依据信息;所述控制依据信息,是进行控制判断的依据信息;

将各所述维度的所述控制依据信息与目标资源控制规则中同一维度下的目标规则参数进行匹配,得到匹配结果;所述目标资源控制规则中包括各所述维度下的目标规则参数;所述目标资源控制规则是设置于接入层网关中的、且与所述目标应用资源对应的资源控制规则;

若所述匹配结果表示命中所述目标资源控制规则,执行所述目标资源控制规则所对应的控制动作,以对所述处理请求进行相应控制处理。

上述应用资源控制方法、装置、计算机设备和存储介质,接入层网关中存储了与所述应用资源对应的多维度的资源控制规则。当接收到处理请求时,接入层网关根据处理请求所指定的目标应用资源,可以确定目标资源控制规则并提取多维度的控制依据信息。接入层网关直接将各维度的控制依据信息与目标资源控制规则中同一维度下的目标规则参数进行匹配,即可得到表示命中所述目标资源控制规则的匹配结果,执行所述目标资源控制规则所对应的控制动作,即可对所述处理请求进行相应控制处理。通过上述的步骤,直接由接入层网关实现应用资源的多维度控制,既解决了接入层网关只能通过单一的用户身份维度对应用资源进行管控带来的局限性问题,又无需采用不具有通用性的独立开发业务服务来对应用资源进行控制,有效避免了应用资源控制的局限性。

附图说明

图1为一个实施例中应用资源控制方法的应用环境图;

图2为一个实施例中应用资源控制方法的流程示意图;

图3为另一个实施例中应用资源控制方法的流程示意图;

图4为另一个实施例中规则处理引擎存储资源控制规则的示意图;

图5为一个实施例中应用资源控制方法装置的结构框图;

图6为另一个实施例中应用资源控制方法装置的结构框图;

图7为一个实施例中计算机设备的内部结构图。

具体实施方式

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

本申请提供的应用资源控制方法,可以应用于如图1所示的应用环境中。其中,终端102通过运行的客户端通过网络与公有云104中的接入层网关进行通信。终端102可以通过客户端将处理请求通过网络发送给接入层网关104。接入层网关响应于针对目标应用资源的处理请求,从处理请求中提取多维度的控制依据信息。接入层网关响应于将各维度的控制依据信息与目标资源控制规则中同一维度下的目标规则参数进行匹配,得到匹配结果。若匹配结果表示命中目标资源控制规则,接入层网关则执行目标资源控制规则所对应的控制动作,以对处理请求进行相应控制处理。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,公有云104是通过服务器集群来实现,以基于互联网提供共享资源的服务。

在一个实施例中,如图2所示,提供了一种应用资源控制方法,以该方法应用于图1中的接入层网关为例进行说明,包括以下步骤:

步骤202,接入层网关响应于针对目标应用资源的处理请求,从处理请求中提取多维度的控制依据信息。

其中,接入层网关,是终端上的客户端与公有云上的应用资源之间沟通的关口。目标应用资源,是处理请求所指定的应用资源。处理请求,是接入层网关接收并处理的请求。

控制依据信息,是进行控制判断的依据信息,即,在判断如何对处理请求进行控制处理时,可以依据该控制依据信息来进行判断。可以理解,接入层网关会事先和公有云的客户端约定需要携带哪些维度的信息,以供接入层网关在判断对处理请求如何进行控制处理时作为参考,因此,客户端向公有云发送的处理请求中则会携带约定的这些维度下的信息,即约定的多维度的控制依据信息。

在一个实施例中,控制依据信息可以包括原生控制依据信息和自定义控制依据信息等中的至少一种。原生控制依据信息,是处理请求的请求头中本身的属性项对应的属性值。自定义控制依据信息,是处理请求的请求头中自定义添加的属性项对应的属性值。

可以理解,终端可以通过公有云的客户端发送针对目标应用资源的处理请求至公有云,以请求获得目标应用资源的响应。公有云可以通过接入层网关控制处理请求。具体地,接入层网关存储有与应用资源对应的资源控制规则。在接收到针对目标应用资源的处理请求,接入层网关可以查看是否存储有目标应用资源对应的目标资源控制规则。若存储有目标资源控制规则,接入层网关可以按照目标资源控制规则从处理请求中提取多维度的控制依据信息,以判断是否需要公有云上的目标应用资源响应客户端的处理请求。

在一个实施例中,接入层网关可以通过openresty在公有云上构建。其中,openresty,是一个应用服务器,通过Lua脚本语言可以调动Nginx支持的模块来实现接入层网关。Nginx,是一个高性能代理服务器。

在一个实施例中,应用资源具体可以包括服务、目录、接口、业务数据以及应用调用链路等中的一种或多种。

步骤204,将各维度的控制依据信息与目标资源控制规则中同一维度下的目标规则参数进行匹配,得到匹配结果;目标资源控制规则中包括各维度下的目标规则参数;目标资源控制规则是设置于接入层网关中的、且与目标应用资源对应的资源控制规则。

其中,目标规则参数,是目标资源控制规则中的参数。

具体地,接入层网关可以将按照目标资源控制规则从处理请求中提取的多维度的控制依据信息,与目标资源控制规则中同一维度下的目标规则参数进行匹配,得到匹配结果。

在一个实施例中,匹配结果可以为表示命中目标资源控制规则的匹配结果,或表示未命中目标资源控制规则的匹配结果。

在一个实施例中,若各个控制依据信息与目标资源控制规则中同一维度下的目标规则参数皆匹配一致,接入层网关可以得到表示命中目标资源控制规则的匹配结果。若存在任意一个控制依据信息与目标资源控制规则中同一维度下的目标规则参数匹配不一致,接入层网关可以得到表示未命中目标资源控制规则的匹配结果。

在另一个实施例中,也可以确定若控制依据信息与目标资源控制规则中同一维度下的目标规则参数匹配一致的比例,若该比例大于预设比例阈值,则可以判定命中目标资源控制规则,得到表示命中目标资源控制规则的匹配结果。若该比例小于预设比例阈值,则判定未命中目标资源控制规则,得到表示未命中目标资源控制规则的匹配结果。

步骤206,若匹配结果表示命中目标资源控制规则,执行目标资源控制规则所对应的控制动作,以对处理请求进行相应控制处理。

其中,控制动作,是对处理请求进行控制的动作。资源控制规则,规定有对命中资源控制规则的处理请求的控制动作。

具体地,若得到表示命中目标资源控制规则的匹配结果,接入层网关可以解析目标资源控制规则所规定的控制动作,按照控制动作来对命中资源控制规则的处理请求进行控制处理。

在一个实施例中,目标资源控制规则中可以包括控制动作的标识,接入层网关可以从目标资源控制规则中提取相应的控制动作的标识,并执行控制动作的标识所表征的控制动作,以对命中资源控制规则的处理请求进行控制处理。

在一个实施例中,目标资源控制规则中除了可以包括各维度下的目标规则参数和控制动作的标识以外,还可以包括规则名以及目标应用资源的标识等其他信息。

为了便于理解,现举例说明。假设,目标资源控制规则为“deny_uri:deny:/order/:192.168.1.1##clientId:666##useridAAA”,其中,“deny_uri”即为表示拦截URI的规则名,“deny”为拦截动作(即控制动作),“/order/”为请求访问的目录(即目标应用资源),192.168.1.1、clientId:666、以及useridAAA即分别为源网络地址、用户代理以及用户身份等各维度下对应的目标规则参数。

在一个实施例中,控制动作,具体可以是对处理请求进行拦截,也可以是对处理请求进行放行,还可以是对处理请求进行链路染色,此处不做限定。

在一个实施例中,若得到表示未命中目标资源控制规则的匹配结果,接入层网关可以不对处理请求进行控制,也可以采用预先设置的控制动作对处理请求进行控制,还可以采用与目标控制规则所对应的控制动作相反的控制动作,对处理请求进行控制。

上述应用资源控制方法中,接入层网关中存储了与应用资源对应的资源控制规则。当接收到处理请求时,接入层网关根据处理请求所指定的目标应用资源,可以确定目标资源控制规则并提取多维度的控制依据信息。接入层网关直接将各维度的控制依据信息与目标资源控制规则中同一维度下的目标规则参数进行匹配,即可得到表示命中目标资源控制规则的匹配结果,执行目标资源控制规则所对应的控制动作,即可对处理请求进行相应控制处理。通过上述的步骤,直接由接入层网关实现应用资源的多维度控制,既解决了接入层网关只能通过单一的用户身份维度对应用资源进行管控带来的局限性问题,又无需采用不具有通用性的独立开发业务服务来对应用资源进行控制,有效避免了应用资源控制的局限性。

此外,相较于传统的需要独立开发业务服务存在时间成本过高和开发人员工作量过大等问题,本申请的方案通过对接入层网关进行改进,由接入层网关通过多维度资源控制规则统一实现通用的多维度的管控,大大节省了时间成本过高,同时有效降低了开发人员的工作量,而且,避免了多次独立开发业务服务造成的资源消耗,节省了资源。

在一个实施例中,处理请求,是埋点后的处理请求;接入层网关响应于针对目标应用资源的处理请求,从处理请求中提取多维度的控制依据信息,包括:接入层网关响应于针对目标应用资源的埋点后的处理请求,识别处理请求中的埋点位置;提取位于埋点位置处的信息,得到多维度的控制依据信息。

其中,埋点位置,是处理请求的请求头中指定的属性项。可以理解,对请求头中的属性项进行埋点,后续则可以从埋点位置处提取多维度的控制依据信息。

具体地,客户端在发送指定目标应用资源的处理请求时,可以根据所指定的目标应用资源,在处理请求中的埋点位置添加多维度的控制依据信息,并将埋点后的处理请求发送至接入层网关。接入层网关接收到客户端埋点后的处理请求,从识别的埋点位置提取出多维度的控制依据信息。

在一个实施例中,客户端可以先存储各个应用资源与对应的埋点位置之间的关联关系,在发送指定目标应用资源的处理请求时,可以根据所指定的目标应用资源与埋点位置的关联关系,选择与目标应用资源对应的埋点位置并添加多维度的控制依据信息。

在一个实施例中,埋点位置具体包括,源网络地址、用户代理(即User-Agent)、屏幕大小(即UA-Pixels)、颜色深度(即UA-Color)、操作系统(即UA-OS)以及CPU(即UA-CPU)等属性项中的一种或多种。可以理解,客户端可以在埋点位置中添加控制依据信息。

为便于理解,现结合以下例子进行示意说明:

源网络地址:192.168.1.1

用户代理:clientId:666

用户身份:useridAAA

可以理解,源网络地址、用户代理以及用户身份这些属性项即为埋点位置,客户端可以在埋点位置中添加控制依据信息,即,客户端可以在源网络地址这一属性项添加控制依据信息192.168.1.1,在用户代理这一属性项添加控制依据信息clientId:666,以及在用户身份这一属性项添加控制依据信息useridAAA。

在一个实施例中,客户端还可以在请求头中的自定义属性项添加控制依据信息,比如在自定义属性项中添加控制依据信息cust,即自定义属性:cust。

在一个实施例中,客户端可以先存储各个应用资源与对应的埋点位置之间的关联关系。在发送指定目标应用资源的处理请求时,客户端可以查看是否存储了目标应用资源与埋点位置的关联关系,若否,则不添加控制依据信息并直接将处理请求发送至接入层网关。

本实施例中,通过接入层网关从处理请求中提取位于埋点位置处的信息,即可得到用于实现接入层网关进行多维度的应用资源控制的多维度的控制依据信息。

在一个实施例中,接入层网关响应于针对目标应用资源的处理请求,处理请求中提取多维度的控制依据信息,包括:接入层网关响应于针对目标应用资源的处理请求,解析目标应用资源对应的目标资源控制规则,得到多维度的控制项;接入层网关响应于针对目标应用资源的埋点后的处理请求,识别处理请求中的埋点位置,包括:识别多维度的控制项在处理请求中对应的埋点位置。

其中,多维度的控制项,是资源控制规则中各维度的规则参数所属的属性项。可以理解,控制项不是具体的参数值,而是一个用于进行控制的属性项,对应于控制项的规则参数,才是具体的参数值。比如,资源控制规则中包括源网络地址这一控制项,那么,具体的源网络地址192.168.1.1则为属于源网络地址这一控制项的规则参数。

具体地,接入层网关对接收到的处理请求,根据处理请求所指定的目标应用资源,查找到目标应用资源对应的目标资源控制规则。接入层网关对查找到的目标资源控制规则解析出多维度的控制项,可以识别多维度的控制项在处理请求中对应的埋点位置,以提取对应维度的控制依据信息。

为了便于理解控制项和控制依据信息之间的关系,现进行举例说明。目标资源控制规则为“deny_uri:deny:/order/:192.168.1.1##clientId:666##useridAAA”的情况下,192.168.1.1、clientId:666、以及useridAAA即为各个目标规则参数,这些目标规则参数分别属于的控制项则为源网络地址、用户代理以及用户身份。接入层网关则可以基于各个维度的控制项,识别多维度的控制项在处理请求中对应的埋点位置,以提取处理请求中所携带的具体的源网络地址、具体的用户代理信息以及具体的用户身份信息,这些提取的信息即为多个维度下的控制依据信息。比如,处理请求中携带源网络地址192.000.0.0,接入层网关则可以依据源网络地址这一控制项,识别多维度的控制项在处理请求中对应的埋点位置以提取192.000.0.0。

本实施例中,接入层网关只需要分析规则得到多维的控制项,根据多维的控制项识别多维度的控制项在处理请求中对应的埋点位置,以准确提取对应维度的控制依据信息。

在一个实施例中,多维度的控制项包括原生属性控制项与自定义属性控制项中的至少一种;提取位于埋点位置处的信息,得到多维度的控制依据信息,包括:若控制项包括原生属性控制项,则从原生属性控制项在处理请求中对应的埋点位置处,提取对应于原生属性的原生控制依据信息;若控制项包括自定义属性控制项,则从自定义属性控制项在处理请求中对应的埋点位置处,提取对应于自定义属性的自定义控制依据信息。

其中,原生属性控制项,是资源控制规则中与处理请求的请求头中本身的属性项相对应的控制项。比如,处理请求的请求头中本身的属性项包括源网络地址,则源网络地址就对应于资源控制规则的控制项的原生属性控制项。自定义属性控制项,是资源控制规则中与处理请求的请求头中自定义的属性项相对应的控制项。比如,可以在处理请求的请求头中自定义管理员为属性项,则管理员就对应于资源控制规则的控制项的自定义属性控制项。

具体地,接入层网关对查找到的目标资源控制规则解析出多维度的控制项,若多维度的控制项包括原生属性控制项,则按照原生属性控制项,从处理请求中对应的埋点位置处提取本身的属性项对应的的原生控制依据信息,若多维度的控制项包括自定义属性控制项,按照自定义属性控制项,从处理请求中对应的埋点位置处提取自定义的属性项对应的自定义控制依据信息。

在一个实施例中,假设,目标资源控制规则为deny_uri:deny:/order/:192.168.1.1##cust,其中,192.168.1.1是具体的源网络地址,cust是具体的管理员的标识,即,该目标资源控制规则中的多维度的控制项包括原生属性控制项和自定义属性控制项。

接入层网关解析到该目标资源控制规则的多维度的控制项包括原生属性控制项还包括自定义属性控制项,可以根据原生属性控制项,即源网络地址,从处理请求中对应的埋点位置处提取本身的属性项对应的原生控制依据信息,以及根据自定义属性控制项,即管理员,从处理请求中对应的埋点位置处提取自定义的属性项对应的自定义控制依据信息。

在一个实施例中,对于未埋点的处理请求,接入层网关只从处理请求中对应的埋点位置处的提取原生属性控制项对应的原生控制依据信息,比如源网络地址、用户代理以及COOKIE等中的一种或多种。其中,COOKIE,是一种能够把访问网站时的产生的一些行为信息读取并保存的技术。

本实施例中,提取的控制依据信息,不仅可以是处理请求的请求头中本身就有的属性对应的属性值,还可以是自定义属性对应的属性值,由此,不仅可以使应用资源的控制维度更灵活,还能增加应用资源的控制维度,从而使得接入层网关对应用资源的控制不会受到可控维度单一性的限制。

在一个实施例中,将各维度的控制依据信息与目标资源控制规则中同一维度下的目标规则参数进行匹配,得到匹配结果,包括:按照目标资源控制规则中目标规则参数的排列顺序,将各目标规则参数与同一维度的控制依据信息依次进行匹配;在依次匹配的过程中,若存在目标规则参数与同一维度的控制依据信息不匹配,则停止匹配,得到表示未命中目标资源控制规则的匹配结果。

其中,规则参数,是资源控制规则中具体的参数。目标规则参数,是目标资源控制规则中具体的参数。匹配结果,用于表示是否命中目标资源控制规则。

具体地,接入层网关按照解析出的多维度的控制项提取出处理请求中的对应的控制依据信息,按照目标资源控制规则中目标规则参数的排列顺序,将各目标规则参数与同一维度的控制依据信息依次进行匹配。在依次匹配的过程中,若存在目标规则参数与同一维度的控制依据信息不匹配,接入层网关则停止匹配,得到表示未命中目标资源控制规则的匹配结果。

在一个实施例中,接入层网关可以按照目标资源控制规则中目标规则参数的排列顺序从前到后,将各目标规则参数与同一维度的控制依据信息依次进行匹配。

在一个实施例中,接入层网关可以按照目标资源控制规则中目标规则参数的排列顺序从后到前,将各目标规则参数与同一维度的控制依据信息依次进行匹配。

为了便于理解,现举例说明。假设,目标规则参数的排列顺序是192.168.1.1到clientid:666,提取对应提取的控制依据信息为clientid:666以及192.000.0.0,接入层网关可以先将目标规则参数的clientid:666与控制依据信息的clientid:666进行匹配,发现匹配一致,再将目标规则参数的192.168.1.1与控制依据信息的192.000.0.0进行匹配,发现匹配不匹配,则停止匹配,得到表示未命中目标资源控制规则的匹配结果。

在一个实施例中,接入层网关可以将各目标规则参数与同一维度的控制依据信息一次性全部精心匹配,若至少发现一个目标规则参数与同一维度的控制依据信息不匹配,得到表示未命中目标资源控制规则的匹配结果。

在一个实施例中,如图3所示,接入层网关接收到处理请求,查看处理请求所指定的应用资源受不受资源控制规则控制。若不受资源控制规则控制,接入层网关可以允许处理请求去请求应用资源。若受资源控制规则控制,接入层网关可以查找出目标应用资源对应的目标资源控制规则n。接入层网关可以解析出目标资源控制规则n的多维的控制项,即源网络地址、用户身份、用户代理以自定义属性控制项,以及解析出各控制项中的目标规则参数。接入层网关按源网络地址、用户身份、用户代理以及自定义属性控制项提取出处理请求中对应的控制依据信息,并按目标规则参数的排列顺序,将各目标规则参数与同一维度的控制依据信息依次进行匹配。若目标规则参数与同一维度的控制依据信息从前到后一一命中(即均匹配一致),接入层网关可以对处理请求执行目标资源控制规则对应的控制动作,否则,接入层网关则停止匹配,并允许处理请求去请求应用资源。

本实施例中,用多个维度的控制依据信息去匹配一条目标资源控制规则上的同一维度的目标规则参数,除非控制依据信息与所有对应维度的目标规则参数都匹配,否则,就不执行目标资源控制规则上对应的控制动作,由此可以只通过接入层网关就能够对应用资源进行多维度的控制。

在一个实施例中,方法还包括:接入层网关在接收到规则处理引擎发送的规则存储指令的情况下,从数据库中读取资源控制规则并存储在规则库中;其中,目标资源控制规则是从规则库中查找的、且与目标应用资源对应的资源控制规则。

其中,规则处理引擎,用于管理数据库中的规则以及触发更新接入层网关内的规则库的规则。

具体地,用户可以随时增加以及修改控制应用资源的资源控制规则。规则处理引擎可以响应于用户触发的增加或者修改资源控制规则的操作,增加或者修改数据库中的资源控制规则。若数据库中有增加或者修改的资源控制规则,规则处理引擎发送的规则存储指令至接入层网关。接入层网关在接收到规则处理引擎发送的规则存储指令,可以从数据库中读取资源控制规则并存储在规则库中。

在一个实施例中,在可以通过工具调用接入层网关的更新接口,实现批量更新资源控制规则,也可以通过手动重启的方式重新加载接入层网关的资源控制规则。

本实施例中,用户增加或者修改的是数据库中的资源控制规则,在数据库更新后,再由接入层网关将数据库中的资源控制规则读取到自身的规则库中,此时接入层网关中的资源控制规则即可实时生效。由此减少更新数据库中的资源控制规则的过程对接入层网关的影响,使接入层网关尽量保持对处理请求进行处理的状态,以提高对应用资源的多维度的控制效率。而且,更新接入层网关的规则无需任何侵入式的代码改造,对后端业务系统也没有影响。

在一个实施例中,规则库中包括临时资源控制规则;临时资源控制规则具有相应的有效时长;方法还包括:若规则处理引擎在有效时长满足失效条件后向接入层网关发送规则清除指令,则响应于规则清除指令,清除失效的临时资源控制规则。

其中,失效条件,是临时资源控制规则失去对相应的应用资源进行约束的条件。

具体地,规则处理引擎可以对数据库中具有相应的有效时长的临时资源控制规则进行管控,若有效时长满足失效条件,规则处理引擎可以将失效的临时资源控制规则从规则库中进行清除,并向接入层网关发送规则清除指令。接入层网关接收到清除指令,可以根据清除指令,清除失效的临时资源控制规则。

在一个实施例中,规则处理引擎可以将具有有效时长的临时资源控制规则存储在规则库中的临时区,将非临时资源控制规则存储在规则库中的非临时区。规则处理引擎可以通过定时器计算临时区中的临时资源控制规则的有效时长,并由定时器触发清除操作时,将临时资源控制规则从规则库的临时区中清除。比如,临时资源控制规则具体的有效时长为30分钟,控制动作为拦截处理请求。临时资源控制规则在30分钟有效时长内,接入层网关接收到命中临时资源控制规则的处理请求,则对处理请求进行拦截。当定时器计算达到有效时长30分钟并触发清除操作时,规则处理引擎可以将临时资源控制规则从规则库的临时区中清除。

在一个实施例中,如图4所示,用户可以设置资源控制规则A、B、C和D,并且将资源控制规则C和D分别设置为具有30分钟和60分钟有效时长的临时资源控制规则。规则处理引擎,可以将资源控制规则A和B存储到数据库中的非临时资源控制规则区域,将资源控制规则C和D存储在临时资源控制规则区域中。规则处理引擎可以通过定时器计算临时区中的临时资源控制规则的有效时长,在过去30分钟后,可以由定时器触发清除操作,将资源控制规则C进行清除,留下剩余30分钟有效时长的资源控制规则D。其中,定时器的即时单位为秒。

本实施例中,在某些用户在某段时间内无权访问应用资源时,可以通过临时资源控制规则来实现,由此可以在时间维度上对应用资源的进行控制。

在一个实施例中,用户可以随时删除控制应用资源的资源控制规则。规则处理引擎可以响应于用户触发的删除资源控制规则的操作,删除数据库中的资源控制规则,并发送的规则删除指令至接入层网关。接入层网关在接收到规则处理引擎发送的规则删除指令,可以根据规则删除指令从规则库中查找到对应的规则并删除。

本实施例中,用户删除的是数据库中的资源控制规则,在数据库更新后,再由接入层网关删除规则库中相同的资源控制规则,由此减少更新数据库中的资源控制规则的过程对接入层网关的影响,使接入层网关尽量保持对处理请求进行处理的状态,以提高对应用资源的多维度的控制效率。不需要的资源控制规则,只需在接入层网关中动态删除即可,不需要编写任何代码,免去了复杂繁琐的流程,也提升了工作人员的工作效率。

在一个实施例中,若匹配结果表示命中目标资源控制规则,执行目标资源控制规则所对应的控制动作,以对处理请求进行相应控制处理,包括:在目标资源控制规则所对应的控制动作为拦截动作的情况下,若匹配结果表示命中目标资源控制规则,执行拦截动作以对处理请求进行拦截;在控制动作为放行动作的情况下,若匹配结果表示命中目标资源控制规则,则不拦截处理请求;在控制动作为链路染色动作的情况下,若匹配结果表示命中目标资源控制规则,则对处理请求添加相应标记,以进行链路染色。

在一个实施例中,资源控制规则所对应的控制动作具体可以是拦截动作,也可以是放行动作,还可以是链路染色动作,此处不做限定。

在一个实施例中,若匹配结果表示命中目标资源控制规则、且目标资源控制规则所对应的控制动作为拦截动作,接入层网关可以拦截处理请求。

在一个实施例中,若匹配结果表示命中目标资源控制规则、且目标资源控制规则所对应的控制动作为放行动作,接入层网关将处理请求放行。

在一个实施例中,若匹配结果表示命中目标资源控制规则、且目标资源控制规则所对应的控制动作为链路染色动作,接入层网关可以对处理请求添加相应标记,以进行链路染色。比如,目标应用资源是受保护的资源,匹配结果命中的目标资源控制规则所对应的控制动作为对处理请求添加受保护标识,接入层网关可以对处理请求添加受保护标识,并将携带有受保护标识的处理请求发送至后端,以访问受保护的资源。

在一个实施例中,在目标资源控制规则所对应的控制动作为拦截动作的情况下,若匹配结果表示未命中目标资源控制规则,接入层网关可以放行处理请求。

在一个实施例中,在控制动作为放行动作的情况下,若匹配结果表示未命中目标资源控制规则,接入层网关可以放拦截处理请求。

在一个实施例中,在控制动作为链路染色动作的情况下,若匹配结果表示未命中目标资源控制规则,接入层网关可以不对处理请求进行链路染色。

本实施例中,通过不同资源控制规则对应的控制动作,比如,在某企业某部分客户端或某部分用户请求特定资源时,可以通过对处理请求添加标识的来实现,由此能够对应用资源进行灵活的控制。

应该理解的是,虽然上述各个实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各个实施例的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种应用资源控制装置500,设置于接入层网关中,装置包括:提取模块502、匹配模块504和执行模块506,其中:

提取模块502,用于响应于针对目标应用资源的处理请求,从处理请求中提取多维度的控制依据信息;控制依据信息,是进行控制判断的依据信息。

匹配模块504,用于将各维度的控制依据信息与目标资源控制规则中同一维度下的目标规则参数进行匹配,得到匹配结果;目标资源控制规则中包括各维度下的目标规则参数;目标资源控制规则是设置于接入层网关中的、且与目标应用资源对应的资源控制规则。

执行模块506,用于若匹配结果表示命中目标资源控制规则,执行目标资源控制规则所对应的控制动作,以对处理请求进行相应控制处理。

在一个实施例中,处理请求,是埋点后的处理请求;提取模块502,还用于响应于针对目标应用资源的埋点后的处理请求,识别处理请求中的埋点位置;提取位于埋点位置处的信息,得到多维度的控制依据信息。

在一个实施例中,提取模块502,还用于响应于针对目标应用资源的处理请求,解析目标应用资源对应的目标资源控制规则,得到多维度的控制项;识别多维度的控制项在处理请求中对应的埋点位置。

在一个实施例中,多维度的控制项包括原生属性控制项与自定义属性控制项中的至少一种;提取模块502,还用于若控制项包括原生属性控制项,则从原生属性控制项在处理请求中对应的埋点位置处,提取对应于原生属性的原生控制依据信息;若控制项包括自定义属性控制项,则从自定义属性控制项在处理请求中对应的埋点位置处,提取对应于自定义属性的自定义控制依据信息。

在一个实施例中,匹配模块504,还用于按照目标资源控制规则中目标规则参数的排列顺序,将各目标规则参数与同一维度的控制依据信息依次进行匹配;在依次匹配的过程中,若存在目标规则参数与同一维度的控制依据信息不匹配,则停止匹配,得到表示未命中目标资源控制规则的匹配结果。

在一个实施例中,装置还包括:读取模块508,用于在接收到规则处理引擎发送的规则存储指令的情况下,从数据库中读取资源控制规则并存储在规则库中;其中,目标资源控制规则是从规则库中查找的、且与目标应用资源对应的资源控制规则。

在一个实施例中,规则库中包括临时资源控制规则;临时资源控制规则具有相应的有效时长;如图6所示,装置还包括:读取模块508和清除模块510;其中,清除模块510,用于若规则处理引擎在有效时长满足失效条件后向接入层网关发送规则清除指令,则响应于规则清除指令,清除失效的临时资源控制规则。

在一个实施例中,执行模块506,还用于在目标资源控制规则所对应的控制动作为拦截动作的情况下,若匹配结果表示命中目标资源控制规则,执行拦截动作以对处理请求进行拦截;在控制动作为放行动作的情况下,若匹配结果表示命中目标资源控制规则,则不拦截处理请求;在控制动作为链路染色动作的情况下,若匹配结果表示命中目标资源控制规则,则对处理请求添加相应标记,以进行链路染色。

关于应用资源控制装置的具体限定可以参见上文中对于应用资源控制方法的限定,在此不再赘述。上述应用资源控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,该服务器可以是公有云服务器,公有云服务器为接入层网关提供硬件支持。该服务器的内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储应用资源控制数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用资源控制方法。

本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

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

相关技术
  • 应用资源控制方法、装置、计算机设备和存储介质
  • 虚拟资源的使用控制方法、装置、计算机设备及存储介质
技术分类

06120113792457