CN111225025A - 服务请求的处理方法及装置 - Google Patents
服务请求的处理方法及装置 Download PDFInfo
- Publication number
- CN111225025A CN111225025A CN201911168871.3A CN201911168871A CN111225025A CN 111225025 A CN111225025 A CN 111225025A CN 201911168871 A CN201911168871 A CN 201911168871A CN 111225025 A CN111225025 A CN 111225025A
- Authority
- CN
- China
- Prior art keywords
- target
- request
- http request
- rule
- data
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种服务请求的处理方法及装置,涉及计算机软件开发技术领域。本发明实施例能够通过对终端发送的HTTP请求的筛选,为其选择合适的规则。避免了为HTTP请求直接分配相应操作方式后,在该操作方式进行了一定处理的情况下,再将不满足该操作方式的HTTP请求进行剔除的过程,避免了业务资源的浪费。该方法包括:获取用户终端发送的目标HTTP请求。根据目标HTTP请求,确定对目标数据的请求方法、目标数据的URI以及目标HTTP请求的请求头内容。从多个规则中选择与目标HTTP请求对应的目标规则。按照目标规则对应的操作方式对目标HTTP请求进行处理。本发明应用于服务请求的处理。
Description
技术领域
本发明涉及计算机软件开发技术领域,尤其涉及一种服务请求的处理方法及装置。
背景技术
目前,网络服务通常使用nginx作为应用程序编程接口(applicationprogramming interface,API)网关,当API网关获取超文本传输协议(hyper texttransfer protocol,HTTP)请求后,通常会将HTTP请求直接转发到后端服务,然后由后端服务进行相应操作后,再将不符合该后端服务的HTTP请求剔除。
现有的API网关,无法根据HTTP请求的具体内容,向HTTP请求分配对应的后端服务,进而造成了网络资源的持续浪费。
发明内容
本发明实施例提供一种服务请求的处理方法及装置,能够通过对终端发送的HTTP请求的筛选,为其选择合适的规则。因每个规则对应一个操作方式,所以可以按照不同规则对应的操作方式对不同的HTTP请求进行处理。避免了为HTTP请求直接分配相应操作方式后,在该操作方式进行了一定处理的情况下,再将不满足该操作方式的HTTP请求进行剔除的过程,避免了业务资源的浪费。提升了HTTP请求的处理灵活性,提升了工作效率。
第一方面,本发明提供一种服务请求的处理方法,包括:获取用户终端发送的目标HTTP请求。根据目标HTTP请求,确定对目标数据的请求方法、目标数据的统一资源标识符(uniform resource identifier,URI)以及目标HTTP请求的请求头内容。根据对目标数据的请求方法、目标数据的URI以及目标HTTP请求的请求头内容,从多个规则中选择与目标HTTP请求对应的目标规则。按照目标规则对应的操作方式对目标HTTP请求进行处理。
第二方面,本发明实施例提供一种服务请求的处理装置,包括:获取单元,用于获取用户终端发送的目标HTTP请求。处理单元,用于根据目标HTTP请求,确定对目标数据的请求方法、目标数据的URI以及所述目标HTTP请求的请求头内容。处理单元,还用于根据对目标数据的请求方法、目标数据的URI以及目标HTTP请求的请求头内容,从多个规则中选择与目标HTTP请求对应的目标规则。处理单元,还用于按照目标规则对应的操作方式对目标HTTP请求进行处理。
第三方面,本发明实施例提供另一种服务请求的处理装置,包括:处理器、存储器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接,当服务请求的处理装置运行时,处理器执行上述存储器存储的上述计算机执行指令,以使服务请求的处理装置执行如上述第一方面所提供的服务请求的处理方法。
第四方面,本发明实施例提供一种计算机存储介质,包括指令,当其在服务请求的处理装置上运行时,使得服务请求的处理装置执行上述第一方面所提供的一种服务请求的处理方法。
第五方面,本发明实施例提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第一方面及其任意一种实现方式所述服务请求的处理方法。
本发明实施例所提供的服务请求的处理方法及装置,能够通过对终端发送的HTTP请求的筛选,为其选择合适的规则。因每个规则对应一个操作方式,所以可以按照不同规则对应的操作方式对不同的HTTP请求进行处理。避免了为HTTP请求直接分配相应操作方式后,在该操作方式进行了一定处理的情况下,再将不满足该操作方式的HTTP请求进行剔除的过程,避免了业务资源的浪费。提升了HTTP请求的处理灵活性,提升了工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种服务请求的处理方法的应用场景示意图;
图2为本发明实施例提供的一种服务请求的处理方法的流程示意图;
图3为本发明实施例提供的一种目标规则的选择示意图之一;
图4为本发明实施例提供的一种目标规则的选择示意图之二;
图5为本发明实施例提供的一种通过目标选择器执行预设操作的示意图;
图6为本发明实施例提供的一种API网关的内部架构示意图;
图7为本发明实施例提供的一种服务请求的处理装置的结构示意图之一;
图8为本发明实施例提供的一种服务请求的处理装置的结构示意图之二;
图9为本发明实施例提供的一种服务请求的处理装置的结构示意图之三。
具体实施方式
下面将结合附图对本申请提供的服务请求的处理方法及装置进行详细的描述。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中所述“和/或”,包括用两种方法中的任意一种或者同时使用两种方法。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
首先,对本申请实施例中涉及的技术术语进行解释:
HTTP请求,是指从客户端到服务器端的请求消息。包括:消息首行、请求头和请求正文。消息首行中,包括对资源的请求方法、资源的标识符以及使用的协议。本发明中,通过将资源的请求方法、资源的标识符以及HTTP请求的请求头内容作为约束条件,使满足三项约束条件的HTTP请求通过并为其分配相应的操作方式。
对数据的请求方法,也就是对资源的请求方法,包括get:向目标资源请求一个文件。post:向目标资源发送数据并且处理,示例性的,提交表单或上传文件。put:向目标资源发送数据并存储。delete:请求删除目标资源。head:检查某个资源是否存在。options:用于测试服务器的性能。trace:回显服务器收到的HTTP请求。connect:对通道提供支持。本发明通过将对数据的请求方法,作为一项约束条件,对满足约束条件的HTTP请求分配相应的操作方式。
URI,统一资源标识符,是一个用于标识某一互联网资源名称的字符串。该标识用于对互联网的资源通过特定的协议进行交互操作。本发明中,通过将资源的标识符作为三项约束条件中的一项,为满足约束条件对应规则的HTTP请求分配相应的操作方式。
HTTP请求头,请求头包含许多有关的客户端环境和请求正文的有用信息。包括,客户端使用的语言,请求正文的内容,请求来源的说明以及存储一些客户端的数据。本发明通过将不同HTTP请求的请求头内容作为三项约束条件中的一项,为满足约束条件对应规则的HTTP请求分配相应的操作方式。
nginx,是一款万维网(world wide web,WEB)服务器/反向代理服务器及电子邮件代理服务器。nginx的配置文件为nginx.conf,其包含了多个用于负载均衡的upstream和多个server,多个server中包括了多个用于匹配特定位置的location。但是,多个upstream、多个server和多个location往往作用于一个nginx节点,并对应多项服务,形成了繁杂的配置文件。同时,每次修改nginx.conf都需要对nginx进行重启。本发明通过将服务需求的信息存储于目标缓存空间中,使用这些需求的信息时,无需修改配置文件nginx.conf,直接从目标缓存空间中读取。进而无需重启nginx,提高了API网关的处理性能。
本发明的发明原理:目前,当获取到终端发送的HTTP请求时,现有API网关会直接将HTTP请求发送至后端服务处,后端服务进行相应的处理将服务返回至终端。这样做会有很大的概率出现不符合后端服务条件的HTTP请求也发送至对应后端服务处,然而后端服务仍需进行一定操作后才发现该HTTP请求中存在的缺陷,导致了网络资源的浪费。因此,急需一种方法,可以在API网关处,或者在HTTP请求到达后端服务之前,对HTTP请求进行一定的筛选,为符合相关条件的HTTP请求分配对应的服务。
基于上述发明原理,本发明实施例提供一种服务请求的处理方法。应用于如图1所示的应用场景中。其中,当外部服务请求100需要从实际应用103、实际应用104、实际应用105中的一个实际应用中获取服务时,需要首先将外部服务请求100发送至外部API网关101或外部API网关102,然后由外部API网关101或外部API网关102将HTTP请求转发至实际应用103、实际应用104、实际应用105中的一个。当需要从内部服务108、内部服务109、内部服务1010中的一个内部服务中获取服务时,需要通过内部API网关106或者内部API网关107,完成实际应用103、实际应用105与内部服务108、内部服务109、内部服务1010之间的信息传输。
应用于上述图1所示的应用场景,本发明实施例提供了一种服务请求的处理方法,该方法可用于如图1所示的应用场景中外部API网关101或者外观API网关102中,以使外部API网关101或者外部API网关102实现为外部服务请求100分配对应服务的功能。如图2所示,包括步骤S201-S205:
S201、获取用户终端发送的目标HTTP请求。
S202、根据目标HTTP请求,确定对目标数据的请求方法、目标数据的URI以及目标HTTP请求的请求头内容。
具体的,根据目标HTTP请求还可以确定目标数据的互联网协议(internetprotocol,IP)地址以及目标HTTP请求的请求正文内容。目标HTTP请求的请求头内容包括,对目标HTTP请求的来源说明以及存储的用户终端的数据。示例性的,存储的用户终端的数据包括,cookies,具体用于对用户终端进行身份识别。
S203、根据对目标数据的请求方法、目标数据的URI以及目标HTTP请求的请求头内容,从多个规则中选择与目标HTTP请求对应的目标规则。
其中,多个规则中的每个规则分别包括:对数据的请求方法、数据的URI以及HTTP请求的请求头内容,三项的约束条件。多个规则中的每个规则分别对应多种操作方式中的一种。多种操作方式,具体包括:将HTTP请求转发至目标服务节点、对HTTP请求进行重定向、对HTTP请求进行访问控制。
具体的,本发明实施例将对数据的请求方法、数据的URI以及HTTP请求的请求头内容作为每个规则中的三项约束条件。当获取到用户终端发送的目标HTTP请求时,因为目标HTTP请求中包括对目标数据的请求方法、目标数据的URI以及目标HTTP请求的请求头内容,所以可以直接根据对目标数据的请求方法、目标数据的URI以及目标HTTP请求的请求头内容选择与目标HTTP请求对应的目标规则。即可以根据对目标数据的请求方法、目标数据的URI以及目标HTTP请求的请求头内容选择与目标HTTP请求对应的符合三项约束条件的规则。同时,每个规则对应一种操作方式,具体包括将HTTP请求转发至目标服务节点、对HTTP请求进行重定向、对HTTP请求进行访问控制。
示例性的,图3给出了多个规则中的三个规则示例,包括规则301、规则302以及规则303。如图3所示,目标HTTP请求中对目标数据的请求方法为post,目标数据的URI为/search,目标HTTP请求的请求头内容为:headers:APP-Version:2.0。规则301中的三项约束条件分别是,条件3011:对数据的请求方法=post、条件3012:数据的URI=/publish、条件3013:HTTP请求的请求头内容为headers:APP-Version≥1.0。规则302中的三项约束条件分别是,条件3021:对数据的请求方式=delete、条件3022:数据的URI=/search、条件3023:HTTP请求的请求头内容为headers:APP-Version≥3.0。规则303的三项约束条件分别是:条件3031:对数据的请求方法=post、条件3032:数据的URI=/search、条件3033:HTTP请求的请求头内容为headers:APP-Version≥1.0。显然,目标HTTP请求满足规则303,即从规则301、规则302以及规则303中选择规则303为目标规则。
需要说明的是,本发明实施例为了选择与目标HTTP请求对应的目标规则,将对数据的请求方法、数据的URI以及HTTP请求的请求头内容作为每个规则中的三项约束条件。在另一种实现方式中,约束条件还包括数据的IP地址以及HTTP请求的请求正文内容。多个规则中的每个规则分别包括对数据的请求方法、数据的URI、HTTP请求的请求头内容、数据的IP地址以及HTTP请求的请求正文内容,这五项约束条件中的任意三项。因此,本发明实施例提供的方法还包括:
根据对目标数据的请求方法、目标数据的URI、目标HTTP请求的请求头内容、目标数据的IP地址以及目标HTTP请求的请求正文内容,从多个规则中选择与目标HTTP请求对应的目标规则。
在本发明的一种实现方式中,S203根据对目标数据的请求方法、目标数据的URI以及目标HTTP请求的请求头内容,从多个规则中选择与目标HTTP请求对应的目标规则,具体包括步骤S203a-S203b:
S203a、根据对目标数据的请求方法,从多个选择器中选择目标选择器。
多个选择器中的每个选择器分别包括至少一个规则。至少一个规则包含于多个规则。
具体的,本发明实施例,根据目标数据的请求方法选择目标选择器,目标选择器用于对多个规则进行初步筛选。进而再根据目标HTTP请求中的其他信息选择目标规则。即可以根据规则中的一项约束条件进行一个初步的选择,再根据规则中的其他约束条件进行最终的选择。
S203b、根据目标数据的URI以及目标HTTP请求的请求头内容,从目标选择器中选择与目标HTTP请求对应的目标规则。
具体的,本发明实施例在选择对应的目标选择器之后,再根据目标数据的URI以及目标HTTP请求的请求头内容,从目标选择器中选择目标规则。
示例性的,如图4所示,选择器401中包括规则4011和规则4012。规则4011的三项约束条件分别是,条件4011a:对数据的请求方式=delete、条件4011b:数据的URI=/search、条件4011c:HTTP请求的请求头内容为headers:APP-Version≥3.0。规则4012的三项约束条件分别是,条件4012a:对数据的请求方式=delete、条件4012b:数据的URI=/publish、条件4012c:HTTP请求的请求头内容为headers:APP-Version>1.0。选择器402包括规则4021和规则4022。规则4021的三项约束条件分别是,条件4021a:对数据的请求方法=post、条件4021b:数据的URI=/search、条件4021c:HTTP请求的请求头内容为headers:APP-Version≥1.0。规则4022的三项约束条件分别是,条件4022a:对数据的请求方法=post、条件4022b:数据的URI=/publish、条件4022c:HTTP请求的请求头内容为headers:APP-Version≥1.0。目标HTTP请求中对目标数据的请求方法为post,目标数据的URI为/search,目标HTTP请求的请求头内容为:headers:APP-Version:2.0,显然目标HTTP请求符合规则4021中的三项约束条件,可以根据对目标数据的请求方法post选择选择器402之后,再根据目标数据的URI和目标HTTP请求的请求头内容,从选择器402中选择规则4021作为目标HTTP请求对应的目标规则。
显然,规则4011中的条件4011a和规则4012中的条件4012a一致,对数据的请求方法均为delete。而规则4021中的条件4021a和规则4022中的条件4022a一致,对数据的请求方法均为post。本发明实施例将对数据的请求方法的不同分为不同的选择器,从而对多个规则进行一个初步的筛选,避免不必要的规则筛选过程,提升了工作效率。
需要说明的是,本发明实施例为了提升选择目标规则的效率,将对数据的请求方法作为初选条件,选择对应的选择器。即根据目标数据的请求方法选择目标选择器。再根据目标数据的URI以及目标HTTP请求的请求头内容选择目标规则。在另一种实现方式中,可以将数据的URI或HTTP请求的请求头内容作为初选条件,选择目标选择器,再根据对目标数据的请求方法以及目标HTTP请求的请求头内容确定目标规则,或根据对目标数据的请求方法以及目标数据的URI确定目标规则。即,选择每个规则中的任一约束条件作为选择目标选择器的条件,根据目标HTTP请求中与该约束条件对应的信息选择目标选择器之后,再根据目标HTTP请求中的其他信息,即与目标选择器中至少一个规则中的其他约束条件选择目标规则。同时,本发明实施例在前述步骤中公开了,目标HTTP请求中还包括,目标数据的IP地址以及目标HTTP请求的请求正文内容。约束条件还包括数据的IP地址以及HTTP请求的请求正文内容。在另一种实现方式中,可以根据目标数据的IP地址或目标HTTP请求的请求正文内容选择目标选择器,进而选择与目标HTTP请求对应的目标规则。
在本发明的一种实现方式中,S203根据对目标数据的请求方法、目标数据的URI以及目标HTTP请求的请求头内容,从多个规则中选择与目标HTTP请求对应的目标规则,具体还包括步骤S203c-S203d:
S203c、从目标缓存空间中,读取多个规则中每个规则所对应的条件信息。
其中,条件信息包括:规则所包括的约束条件。
S203d、根据多个规则中每个规则所对应的条件信息,从多个规则中选择与目标HTTP请求对应的目标规则。
具体的,将每个规则对应的条件信息存储至目标缓存空间中。当获取到用户终端发送的目标HTTP请求时,首先从目标缓存空间中读取每个规则的条件信息,然后从每个规则的条件信息中选择符合目标规则的条件信息,即选择与目标HTTP请求对应的目标规则。本发明通过将每个规则对应的条件信息,即对HTTP请求进行处理所需的配置存储于目标缓存空间中,使用该所需的配置时,无需像现有技术一样修改配置文件,而可以直接从目标缓存空间中读取。而现有修改配置文件的方法在每次修改的过程中均需要对API网关进行重启,进而无需重启API网关,提高了API网关的处理性能。
S204、按照目标规则对应的操作方式对目标HTTP请求进行处理。
具体的,若目标HTTP请求对应的目标规则的操作方式为将HTTP请求转发至目标服务节点,则将目标HTTP请求转发至目标服务节点。
示例性的,如图3所示。规则301对应的操作方式为将HTTP请求转发至目标服务节点,规则302对应的操作方式为对HTTP请求进行重定向,规则303对应的操作方式为对HTTP请求进行访问控制。与目标HTTP请求对应的目标规则为规则303,则按照规则303对应的操作方式对目标HTTP请求进行处理,即对目标HTTP请求进行访问控制。
需要说明的是,本发明实施例对满足目标规则的HTTP请求,按照目标规则对应的操作方式进行处理。在另一种实现方式中,目标HTTP请求可能存在对应的目标选择器,但不存在对应的目标规则,当目标HTTP请求不存在对应的目标规则时。在步骤S203a根据目标数据的请求方法,从多个选择器中选择目标选择器之后,该方法还包括:
S205、若目标选择器中没有与目标HTTP请求对应的目标规则,则执行预设操作。
具体的,当目标HTTP请求满足多个选择器中的一个选择器时,即满足目标选择器中至少一个规则的相同预设条件时,可以对目标HTTP请求执行预设操作。其中,预设操作包括多种操作方式种的一种,也可以为其他操作,在此不做具体限定。本发明实施例通过对HTTP请求执行预设操作,对满足目标选择器的HTTP请求分配相应的操作,避免了网络资源的浪费,同时提升了API网关对HTTP请求处理的灵活性。
示例性的,如图5所示。选择器501中包括规则5011和规则5012,规则5011的三项约束条件分别是,条件5011a:对数据的请求方法=post、条件5011b:数据的URI=/publish、条件5011c:HTTP请求的请求头内容为headers:APP-Version≥1.0。规则5012的三项约束条件分别是,条件5012a:对数据的请求方法=post、条件5012b:数据的URI=/publish、条件5012c:HTTP请求的请求头内容为headers:APP-Version=1.0。选择器502中包括规则5021,规则5021的三项约束条件分别是,条件5021a:对数据的请求方法=delete、条件5021b:数据的URI=/search、条件5021c:HTTP请求的请求头内容为headers:APP-Version≥1.0。目标HTTP请求中对目标数据的请求方法为post,目标数据的URI为/search,目标HTTP请求的请求头内容为:headers:APP-Version:2.0。显然,目标HTTP请求满足选择器501但不满足选择器501中的规则5011和规则5012,对目标HTTP请求执行预设操作。
本发明实施例提供了一种API网关。该API网关包括管理控制台、开放API、加载器模块、加载器模块、执行器模块、存储模块以及缓存数据库。其中,管理控制台用于以图形的方式选择选择器、规则、规则对应的操作方式。开放API用于以调用API的方式选择选择器、规则、规则对应的操作方式。加载器模块用于在该API网关启动时和/或HTTP请求进入时,请求读取对应的服务配置信息。选择器模块,用于选择目标选择器、目标规则。执行器模块,用于为HTTP请求分配相应的操作方式。存储模块,用于从缓存数据库中获取目标选择器、目标规则、操作方式相关的配置参数信息并暂时存储。缓存数据库,用于存储HTTP请求对应的服务配置信息以及目标选择器、目标规则、操作方式相关的配置参数信息。
示例性的,如图6所示,API网关601包括管理控制台602、开放API603、加载器模块604、选择器模块605、执行器模块606、存储模块607、缓存数据库608。当目标HTTP请求进入API网关601时,加载器模块604从缓存数据库608中读取目标HTTP请求对应的服务配置信息。同时,管理控制台602和开放API603判断是以图形的方式还是调用API的方式从选择器模块605中选择目标选择器和/或目标规则,从执行器模块606中选择目标HTTP请求对应的操作方式。在选择器模块605选择目标选择器和/或目标规则、执行器模块606在执行相应的操作方式之前,存储模块607从缓存数据库608中获取与选择器模块605及执行器模块606相关的配置参数信息,以供目标HTTP请求使用。
本申请提供了一种服务请求的处理装置,用于执行前述服务请求的处理方法,如图7所示,为本发明实施例提供的服务请求的处理装置70的一种可能的结构示意图。其中,该装置包括:
获取单元701,用于获取用户终端发送的目标HTTP请求。
处理单元702,用于根据目标HTTP请求,确定对目标数据的请求方法、目标数据的URI以及目标HTTP请求的请求头内容。
处理单元702,还用于根据对目标数据的请求方法、目标数据的URI以及目标HTTP请求的请求头内容,从多个规则中选择与目标HTTP请求对应的目标规则。其中,多个规则中的每个规则分别包括:对数据的请求方法、数据的URI以及HTTP请求的请求头内容,三项的约束条件。多个规则中的每个规则分别对应多种操作方式中的一种。多种操作方式,具体包括:将HTTP请求转发至目标服务节点、对HTTP请求进行重定向、对HTTP请求进行访问控制。
处理单元702,还用于按照目标规则对应的操作方式对目标HTTP请求进行处理。
可选的,处理单元702,具体用于根据对目标数据的请求方法,从多个选择器中选择目标选择器。多个选择器中的每个选择器分别包括至少一个规则;至少一个规则包含于多个规则。
处理单元702,具体还用于根据目标数据的URI以及目标HTTP请求的请求头内容,从目标选择器中选择与目标HTTP请求对应的目标规则。
可选的,处理单元702,还用于若目标选择器中没有与目标HTTP请求对应的目标规则,则执行预设操作。
可选的,处理单元702,具体还用于从目标缓存空间中,读取多个规则中每个规则所对应的条件信息。其中,条件信息包括:规则所包括的约束条件。
处理单元702,具体还用于根据多个规则中每个规则所对应的条件信息,从多个规则中选择与目标HTTP请求对应的目标规则。
本申请实施例可以根据上述方法示例对服务请求的处理装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,图8示出了上述实施例中所涉及的服务请求的处理装置的一种可能的结构示意图。服务请求的处理装置80包括:处理模块801、通信模块802和存储模块803。处理模块801用于对服务请求的处理装置80的动作进行控制管理,例如,处理模块801用于支持服务请求的处理装置80执行图2中的过程S201-S205。通信模块802用于支持服务请求的处理装置80与其他实体的通信。存储模块803用于存储服务请求的处理装置的程序代码和数据。
其中,处理模块801可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,CPU),通用处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块802可以是收发器、收发电路或通信接口等。存储模块803可以是存储器。
当处理模块801为如图9所示的处理器,通信模块802为图9的收发器,存储模块803为图9的存储器时,本发明实施例所涉及的服务请求的处理装置可以为如下的服务请求的处理装置90。
参照图9所示,该服务请求的处理装置90包括:处理器901、收发器902、存储器903和总线904。
其中,处理器901、收发器902、存储器903通过总线904相互连接;总线904可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器901可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
存储器903可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器903用于存储执行本发明方案的应用程序代码,并由处理器901来控制执行。收发器902用于接收外部设备输入的内容,处理器401用于执行存储器903中存储的应用程序代码,从而实现本发明实施例中提供的一种服务请求的处理方法。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户终端线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种服务请求的处理方法,其特征在于,所述方法包括:
获取用户终端发送的目标超文本传输协议HTTP请求;
根据所述目标HTTP请求,确定对目标数据的请求方法、所述目标数据的统一资源标识符URI以及所述目标HTTP请求的请求头内容;
根据所述对目标数据的请求方法、所述目标数据的URI以及所述目标HTTP请求的请求头内容,从多个规则中选择与所述目标HTTP请求对应的目标规则;其中,所述多个规则中的每个规则分别包括:对数据的请求方法、数据的URI以及HTTP请求的请求头内容,三项的约束条件;所述多个规则中的每个规则分别对应多种操作方式中的一种;所述多种操作方式,具体包括:将HTTP请求转发至目标服务节点、对HTTP请求进行重定向、对HTTP请求进行访问控制;
按照所述目标规则对应的操作方式对所述目标HTTP请求进行处理。
2.根据权利要求1所述的服务请求的处理方法,其特征在于,所述根据所述对目标数据的请求方法、所述目标数据的URI以及所述目标HTTP请求的请求头内容,从多个规则中选择与所述目标HTTP请求对应的目标规则,具体包括:
根据所述对目标数据的请求方法,从多个选择器中选择目标选择器;所述多个选择器中的每个选择器分别包括至少一个规则;所述至少一个规则包含于所述多个规则;
根据所述目标数据的URI以及所述目标HTTP请求的请求头内容,从所述目标选择器中选择与所述目标HTTP请求对应的目标规则。
3.根据权利要求2所述的服务请求的处理方法,其特征在于,在所述根据所述对目标数据的请求方法,从多个选择器中选择目标选择器之后,所述方法还包括:
若所述目标选择器中没有与所述目标HTTP请求对应的所述目标规则,则执行预设操作。
4.根据权利要求1-3任一项所述的服务请求的处理方法,其特征在于,所述根据所述对目标数据的请求方法、所述目标数据的URI以及所述目标HTTP请求的请求头内容,从多个规则中选择与所述目标HTTP请求对应的目标规则,具体还包括:
从目标缓存空间中,读取所述多个规则中每个规则所对应的条件信息;其中,所述条件信息包括:规则所包括的约束条件;
根据所述多个规则中每个规则所对应的条件信息,从所述多个规则中选择与所述目标HTTP请求对应的目标规则。
5.一种服务请求的处理装置,其特征在于,所述装置包括:
获取单元,用于获取用户终端发送的目标HTTP请求;
处理单元,用于在所述获取单元获取所述目标HTTP请求之后,根据所述目标HTTP请求,确定对目标数据的请求方法、所述目标数据的URI以及所述目标HTTP请求的请求头内容;
所述处理单元,还用于在所述处理单元根据所述目标HTTP请求,确定对目标数据的请求方法、所述目标数据的URI以及所述目标HTTP请求的请求头内容之后,根据所述对目标数据的请求方法、所述目标数据的URI以及所述目标HTTP请求的请求头内容,从多个规则中选择与所述目标HTTP请求对应的目标规则;其中,所述多个规则中的每个规则分别包括:对数据的请求方法、数据的URI以及HTTP请求的请求头内容,三项的约束条件;所述多个规则中的每个规则分别对应多种操作方式中的一种;所述多种操作方式,具体包括:将HTTP请求转发至目标服务节点、对HTTP请求进行重定向、对HTTP请求进行访问控制;
所述处理单元,还用于在所述处理单元根据所述对目标数据的请求方法、所述目标数据的URI以及所述目标HTTP请求的请求头内容,从多个规则中选择与所述目标HTTP请求对应的目标规则之后,按照所述目标规则对应的操作方式对所述目标HTTP请求进行处理。
6.根据权利要求5所述的服务请求的处理装置,其特征在于,
所述处理单元,具体用于根据所述对目标数据的请求方法,从多个选择器中选择目标选择器;所述多个选择器中的每个选择器分别包括至少一个规则;所述至少一个规则包含于所述多个规则;
所述处理单元,具体还用于根据所述目标数据的URI以及所述目标HTTP请求的请求头内容,从所述目标选择器中选择与所述目标HTTP请求对应的目标规则。
7.根据权利要求6所述的服务请求的处理装置,其特征在于,
所述处理单元,还用于在所述处理单元根据所述对目标数据的请求方法,从多个选择器中选择目标选择器之后,若所述目标选择器中没有与所述目标HTTP请求对应的所述目标规则,则执行预设操作。
8.根据权利要求5-7任一项所述的服务请求的处理装置,其特征在于,
所述处理单元,具体还用于从目标缓存空间中,读取所述多个规则中每个规则所对应的条件信息;其中,所述条件信息包括:规则所包括的约束条件;
所述处理单元,具体还用于根据所述多个规则中每个规则所对应的条件信息,从所述多个规则中选择与所述目标HTTP请求对应的目标规则。
9.一种服务请求的处理装置,其特征在于,所述服务请求的处理装置包括:处理器、通信接口和存储器;其中,存储器用于存储一个或多个程序,该一个或多个程序包括计算机执行指令,当该服务请求的处理装置运行时,处理器执行该存储器存储的该计算机执行指令,以使该服务请求的处理装置执行权利要求1至4任一项所述的服务请求的处理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在计算机上运行时,使得计算机执行如权利要求1至4中任一项所述的服务请求的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911168871.3A CN111225025A (zh) | 2019-11-25 | 2019-11-25 | 服务请求的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911168871.3A CN111225025A (zh) | 2019-11-25 | 2019-11-25 | 服务请求的处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111225025A true CN111225025A (zh) | 2020-06-02 |
Family
ID=70827181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911168871.3A Pending CN111225025A (zh) | 2019-11-25 | 2019-11-25 | 服务请求的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111225025A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2765756A1 (en) * | 2011-11-04 | 2014-08-13 | Huawei Technologies Co., Ltd. | Service configuration method and device |
CN105306602A (zh) * | 2015-11-30 | 2016-02-03 | 用友优普信息技术有限公司 | 超文本传输协议请求的处理方法、处理装置和服务器 |
CN107231402A (zh) * | 2016-08-31 | 2017-10-03 | 北京新媒传信科技有限公司 | Http请求处理方法、装置及系统 |
US20170339165A1 (en) * | 2013-04-22 | 2017-11-23 | Imperva, Inc. | Automatic generation of attribute values for rules of a web application layer attack detector |
CN107948314A (zh) * | 2017-12-21 | 2018-04-20 | 泰康保险集团股份有限公司 | 基于规则文件的业务处理方法、装置及服务器 |
CN108881066A (zh) * | 2017-05-10 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种路由请求的方法、接入服务器以及存储设备 |
CN110457382A (zh) * | 2019-08-12 | 2019-11-15 | 中国联合网络通信集团有限公司 | 业务处理方法及设备 |
-
2019
- 2019-11-25 CN CN201911168871.3A patent/CN111225025A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2765756A1 (en) * | 2011-11-04 | 2014-08-13 | Huawei Technologies Co., Ltd. | Service configuration method and device |
US20170339165A1 (en) * | 2013-04-22 | 2017-11-23 | Imperva, Inc. | Automatic generation of attribute values for rules of a web application layer attack detector |
CN105306602A (zh) * | 2015-11-30 | 2016-02-03 | 用友优普信息技术有限公司 | 超文本传输协议请求的处理方法、处理装置和服务器 |
CN107231402A (zh) * | 2016-08-31 | 2017-10-03 | 北京新媒传信科技有限公司 | Http请求处理方法、装置及系统 |
CN108881066A (zh) * | 2017-05-10 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种路由请求的方法、接入服务器以及存储设备 |
CN107948314A (zh) * | 2017-12-21 | 2018-04-20 | 泰康保险集团股份有限公司 | 基于规则文件的业务处理方法、装置及服务器 |
CN110457382A (zh) * | 2019-08-12 | 2019-11-15 | 中国联合网络通信集团有限公司 | 业务处理方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109428922B (zh) | 一种订阅发布方法及服务器 | |
CN110120917B (zh) | 基于内容的路由方法及装置 | |
US20200099606A1 (en) | Distrubuted testing service | |
CN108494891A (zh) | 一种域名解析方法、服务器及系统 | |
US9647892B2 (en) | Cloud-based service resource provisioning based on network characteristics | |
CN107786621B (zh) | 一种用户信息管理方法、访问处理方法及装置和系统 | |
US20100306162A1 (en) | Proximity data import | |
CN112751931B (zh) | 网络连接方法和装置、电子设备、及介质 | |
CN115190062B (zh) | 业务处理方法及装置、电子设备和计算机可读存储介质 | |
CN110120971A (zh) | 一种灰度发布方法、装置及电子设备 | |
CN114598750B (zh) | 一种数据请求处理方法、装置及存储介质 | |
CN110740464A (zh) | 一种nf服务发现方法及设备 | |
CN112825524B (zh) | 网络服务节点的确定方法、装置和系统 | |
CN110213365B (zh) | 基于用户分区的用户访问请求处理方法及电子设备 | |
CN109471713B (zh) | 用于查询信息的方法和装置 | |
CN111628878A (zh) | 基于多级网络节点的故障定位方法、装置及系统 | |
CN114090623A (zh) | 一种缓存资源的创建方法、装置、电子设备及存储介质 | |
CN107222365B (zh) | 数据处理方法、装置及服务器 | |
CN108494870A (zh) | 基于cdn的动态数据加载方法及装置 | |
US7885995B2 (en) | Processing service requests in a distributed environment | |
CN111225025A (zh) | 服务请求的处理方法及装置 | |
CN114466031B (zh) | 一种cdn系统节点配置方法、装置、设备及存储介质 | |
CN113596105B (zh) | 内容的获取方法、边缘节点及计算机可读存储介质 | |
CN112839071B (zh) | 训练系统、训练数据访问方法及装置、电子设备、介质 | |
CN113949639A (zh) | 资源配置方法、装置、设备及介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200602 |
|
RJ01 | Rejection of invention patent application after publication |