CN114584628B - 请求处理方法、装置、服务器及存储介质 - Google Patents

请求处理方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN114584628B
CN114584628B CN202210090250.3A CN202210090250A CN114584628B CN 114584628 B CN114584628 B CN 114584628B CN 202210090250 A CN202210090250 A CN 202210090250A CN 114584628 B CN114584628 B CN 114584628B
Authority
CN
China
Prior art keywords
target
configuration information
micro
service
assertion
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.)
Active
Application number
CN202210090250.3A
Other languages
English (en)
Other versions
CN114584628A (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202210090250.3A priority Critical patent/CN114584628B/zh
Publication of CN114584628A publication Critical patent/CN114584628A/zh
Application granted granted Critical
Publication of CN114584628B publication Critical patent/CN114584628B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开关于一种请求处理方法、装置、服务器及存储介质,涉及通信领域。该方法包括:将与目标应用对应的路由配置信息从数据库中加载到本地缓存中,其中,目标应用对应多个微服务,路由配置信息包括:多个微服务路由配置信息,每个微服务路由配置信息对应一个微服务;接收用户发送的与目标应用对应的访问请求,访问请求中携带有多种访问参数;从本地缓存中存储的路由配置信息中确定与访问参数匹配的目标路由配置信息;根据目标路由配置信息将访问请求发送至与目标路由配置信息对应的目标微服务,目标微服务是多个微服务中的任一个。本公开对整个访问请求的处理速度较快,效率较高。

Description

请求处理方法、装置、服务器及存储介质
技术领域
本公开涉及通信领域,尤其涉及一种请求处理方法、装置、服务器及存储介质。
背景技术
随着业务增长,庞大的单体业务系统可以被拆分成多个微服务,服务拆分使得各个功能模块相互独立,但同时也带来应用程序接口(Application Program Interface,简称API)规模的成倍增长以及状态管理和服务治理的重复工作,微服务对统一接口层API网关需求日益显著。API网关是运行于外部客户端与内部服务的入口层服务,可以实现对外部请求的鉴权、审计、请求转发等功能。
在相关技术中,以Spring Cloud Gateway网关为例,其在处理用户针对某应用发起的访问请求时,一般是在外部的数据库中查询与该访问请求匹配的路由配置信息,然后,再将该访问请求发送到与该路由配置信息对应的微服务中,整个访问请求的处理速度较慢,效率较低。
发明内容
本公开提供一种请求处理方法、装置、服务器及存储介质,以至少解决相关技术中整个访问请求的处理速度较慢,效率较低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种请求处理方法,包括:
将与目标应用对应的路由配置信息从数据库中加载到本地缓存中,其中,所述目标应用对应多个微服务,所述路由配置信息包括:多个微服务路由配置信息,每个所述微服务路由配置信息对应一个微服务;
接收用户发送的与所述目标应用对应的访问请求,所述访问请求中携带有多种访问参数;
从本地缓存中存储的路由配置信息中确定与所述访问参数匹配的目标路由配置信息;
根据所述目标路由配置信息将所述访问请求发送至与所述目标路由配置信息对应的目标微服务,所述目标微服务是所述多个微服务中的任一个。
在一些实施例中,所述将与目标应用对应的路由配置信息从数据库中加载到本地缓存中之前,所述方法还包括:
响应于用户对所述多个微服务的路由配置操作,生成与所述路由配置操作对应的所述多个微服务路由配置信息;
将所述多个微服务路由配置信息存入数据库中。
在一些实施例中,所述将所述多个微服务路由配置信息存入数据库中之后,所述方法还包括:
若监听到所述数据库中任一所述微服务路由配置信息被更新,则将更新后的微服务路由配置信息更新到所述本地缓存中。
在一些实施例中,每个微服务路由配置信息中包括路由规则对应的过滤项和断言项组,所述断言项组中包含至少两个断言项;
所述从本地缓存中存储的路由配置信息中确定与所述访问参数匹配的目标路由配置信息,包括:
根据不同微服务的路由规则所对应的至少两种断言项,确定与所述访问参数匹配的目标断言项组;
确定与所述目标断言项组对应的目标路由规则;
所述根据所述目标路由配置信息将所述访问请求发送至与所述目标路由配置信息对应的目标微服务,包括:
根据所述目标路由规则对应的过滤项对所述访问请求进行过滤处理,以将过滤后的访问请求发送至与所述目标路由规则对应的目标微服务。
在一些实施例中,所述服务接入网关中设有与多种类型的断言项对应的多个匹配器;
所述根据不同微服务的路由规则所对应的至少两个断言项,确定与所述访问参数匹配的目标断言项组,包括:
分别通过所述多个匹配器对所述访问参数进行参数提取处理,得到所述多个匹配器各自对应的参数信息;
在所述多个匹配器各自对应类型的断言项中,通过所述多个匹配器查找到与所述多个匹配器各自提取到的参数信息相匹配的断言项;
根据所述多个匹配器各自查找到的断言项,确定对应于同一路由规则的断言项构成与所述访问参数匹配的目标断言项组。
在一些实施例中,所述根据所述目标路由配置信息将所述访问请求发送至与所述目标路由配置信息对应的目标微服务之后,所述方法还包括:
若在设定时长内未接收到所述目标微服务对所述访问请求的响应信息,则向所述用户输出提示信息。
在一些实施例中,所述接收用户发送的与所述目标应用对应的访问请求之后,所述方法还包括:
生成与所述访问请求对应的请求标识,将所述请求标识填充到所述访问请求中;
响应于与所述访问请求对应的各条日志创建请求,在创建的各条日志中关联所述请求标识。
根据本公开实施例的第二方面,提供一种请求处理装置,包括:
加载单元,被配置为执行将与目标应用对应的路由配置信息从数据库中加载到本地缓存中,其中,所述目标应用对应多个微服务,所述路由配置信息包括:多个微服务路由配置信息,每个所述微服务路由配置信息对应一个微服务;
接收单元,被配置为执行接收用户发送的与所述目标应用对应的访问请求,所述访问请求中携带有多种访问参数;
确定单元,被配置为执行从本地缓存中存储的路由配置信息中确定与所述访问参数匹配的目标路由配置信息;
处理单元,被配置为执行根据所述目标路由配置信息将所述访问请求发送至与所述目标路由配置信息对应的目标微服务,所述目标微服务是所述多个微服务中的任一个。
在一些实施例中,所述装置还包括:
生成单元,被配置为执行响应于用户对所述多个微服务的路由配置操作,生成与所述路由配置操作对应的所述多个微服务路由配置信息;
存储单元,被配置为执行将所述多个微服务路由配置信息存入数据库中。
在一些实施例中,所述装置还包括:
更新单元,被配置为执行若监听到所述数据库中任一所述微服务路由配置信息被更新,则将更新后的微服务路由配置信息更新到所述本地缓存中。
在一些实施例中,每个微服务路由配置信息中包括路由规则对应的过滤项和断言项组,所述断言项组中包含至少两个断言项;
所述确定单元还被配置为:
根据不同微服务的路由规则所对应的至少两种断言项,确定与所述访问参数匹配的目标断言项组;
确定与所述目标断言项组对应的目标路由规则;
所述处理单元还被配置为执行:
根据所述目标路由规则对应的过滤项对所述访问请求进行过滤处理,以将过滤后的访问请求发送至与所述目标路由规则对应的目标微服务。
在一些实施例中,所述服务接入网关中设有与多种类型的断言项对应的多个匹配器;
所述确定单元还被配置为:
分别通过所述多个匹配器对所述访问参数进行参数提取处理,得到所述多个匹配器各自对应的参数信息;
在所述多个匹配器各自对应类型的断言项中,通过所述多个匹配器查找到与所述多个匹配器各自提取到的参数信息相匹配的断言项;
根据所述多个匹配器各自查找到的断言项,确定对应于同一路由规则的断言项构成与所述访问参数匹配的目标断言项组。
在一些实施例中,所述装置还包括:
输出单元,被配置为执行若在设定时长内未接收到所述目标微服务对所述访问请求的响应信息,则向所述用户输出提示信息。
在一些实施例中,所述装置还包括:
填充单元,被配置为执行生成与所述访问请求对应的请求标识,将所述请求标识填充到所述访问请求中;
关联单元,被配置为执行响应于与所述访问请求对应的各条日志创建请求,在创建的各条日志中关联所述请求标识。
根据本公开实施例的第三方面,提供一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述请求处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述请求处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述请求处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开实施例通过在用户发送的访问请求到达之前,预先将与目标应用对应的由配置信息从数据库中加载到本地缓存中。在接收到用户发送的与目标应用对应的访问请求后,从本地缓存中存储的路由配置信息中确定与访问参数匹配的目标路由配置信息,再根据目标路由配置信息将访问请求发送至与目标路由配置信息对应的目标微服务,即可完成整个请求处理流程。相比于从外部的数据库中查询与该访问请求匹配的路由配置信息,本公开对整个访问请求的处理速度较快,效率较高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种请求处理方法的流程图;
图2是根据一示例性实施例示出的一种请求处理方法的流程图;
图3是根据一示例性实施例示出的一种确定目标断言项组的流程图;
图4是根据一示例性实施例示出的一种请求处理装置的框图;
图5是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
随着业务增长,庞大的单体业务系统可以被拆分成多个微服务,服务拆分使得各个功能模块相互独立,但同时也带来应用程序接口(Application Program Interface,简称API)规模的成倍增长以及状态管理和服务治理的重复工作,微服务对统一接口层API网关需求日益显著。API网关是运行于外部客户端与内部服务的入口层服务,可以实现对外部请求的鉴权、审计、请求转发等功能。以Spring Cloud Gateway网关为例,其在处理用户针对某应用发起的访问请求时,一般是在外部的数据库中查询与该访问请求匹配的路由配置信息,然后,再将该访问请求发送到与该路由配置信息对应的微服务中,整个访问请求的处理速度较慢,效率较低。
有鉴于此,本公开实施例提供了一种请求处理方法,应用于服务接入网关,在用户发送的访问请求到达之前,预先将与目标应用对应的由配置信息从数据库中加载到本地缓存中。在接收到用户发送的与目标应用对应的访问请求后,从本地缓存中存储的路由配置信息中确定与访问参数匹配的目标路由配置信息,再根据目标路由配置信息将访问请求发送至与目标路由配置信息对应的目标微服务,即可完成整个请求处理流程。相比于从外部的数据库中查询与该访问请求匹配的路由配置信息,本公开对整个访问请求的处理速度较快,效率较高。
图1是根据一示例性实施例示出的一种请求处理方法的流程图,该请求处理方法应用于服务接入网关,如图1所示,该方法包括如下步骤:
在步骤S11中,将与目标应用对应的路由配置信息从数据库中加载到本地缓存中,其中,目标应用对应多个微服务,路由配置信息包括:多个微服务路由配置信息,每个微服务路由配置信息对应一个微服务。
在本公开实施例中,目标应用在开发的时候是基于微服务架构来开发的,即开发出构成该目标应用的多个微服务,以某购物类应用为例,其对应的微服务可以包括:订单微服务,用户管理微服务,购物车微服务,配送微服务等。一个网关可以管理一个或多个该应用。
实际应用中,预先生成多个微服务路由配置信息,并将其存入数据库中。然后从数据库中将多个微服务路由配置信息加载到本地缓存,并对该多个微服务路由配置信息进行格式转换,转换成Spring Cloud Gateway网关能够识别的格式。其中,对于进行“加载”动作的时机,举例来说,可以为:在网关中启动了对目标应用的管理时。
此外,应理解,将与目标应用对应的路由配置信息从数据库中加载到本地缓存中可以提高用户的访问体验。由于网关承载的数据量特别大,且需要实时响应,如果访问请求到了才去加载这些路由配置信息,延时会比较大,并且在严重时还会导致这个访问请求失败。因此,本公开在接收到用户发送的与目标应用对应的访问请求前,就将与目标应用对应的路由配置信息从数据库中加载到本地缓存中了。
而为了保证能够顺利地将与目标应用对应的路由配置信息从数据库中加载到本地缓存中,在将与目标应用对应的路由配置信息从数据库中加载到本地缓存中之前,该请求处理方法还包括如下步骤:
响应于用户对多个微服务的路由配置操作,生成与路由配置操作对应的多个微服务路由配置信息。
将多个微服务路由配置信息存入数据库中。
而为了保证上述访问请求转发的准确性,在将多个微服务路由配置信息存入数据库中之后,本公开提供的请求处理方法还包括:
若监听到数据库中任一微服务路由配置信息被更新,则将更新后的微服务路由配置信息更新到本地缓存中。
应理解,数据库中的数据是实时更新的,而本地缓存中的数据如果不随之改变,则会导致用户错误访问或访问失败。举例来说,在第三秒的时候将与目标应用对应的路由配置信息从数据库中加载到本地缓存中,但是在第四秒的时候,用户更新了数据库中的路由配置信息,那么,这时再去使用本地缓存中的路由配置信息,则会出现访问信息与实际信息不一致的情况,进而导致用户错误访问或访问失败。因此,本公开实施例在监听到数据库中任一微服务路由配置信息被更新时,也会对本地缓存中的路由配置信息进行更新。
在步骤S12中,接收用户发送的与目标应用对应的访问请求,访问请求中携带有多种访问参数。
在实际应用中,举例来说,比如接收到的访问请求是在浏览器访问目标地址的访问请求,那么此时,该访问请求中携带的访问参数可以为:用户登录信息、访问路径信息、请求属性信息等,在此不一一列举。
为了便于后续在某服务出现问题时,能够及时对其进行查找定位,在接收用户发送的与目标应用对应的访问请求之后,本公开实施例提供的请求处理方法还包括以下步骤:
在步骤S1201中,生成与访问请求对应的请求标识,将请求标识填充到访问请求中。
在步骤S1202中,响应于与访问请求对应的各条日志创建请求,在创建的各条日志中关联请求标识。
应理解,网关所有的服务都需要记录日志,比如线上报错,需要去定位报错的位置,这些都是需要记录日志的。但是,Spring Cloud Gateway是基于事件做的异步触发,所以,其同一个访问请求对应了多个线程,如果使用传统的日志创建工具去将各个线程使用请求链串接在一起,则无法将用户发送的访问请求与路由配置信息相匹配。在理想情况下,一个请求对应一个请求链,无论它经过哪些服务,调用了多少方法,这一个请求只对应一个请求链。通过该请求链,可以知道具体调用过什么方法,在哪些环境中进行了报错等。
有鉴于此,本公开在实际应用中,接收到用户发送的访问请求后就会生成与该访问请求对应的请求标识。在将请求标识填充到访问请求中后,根据与访问请求对应的各条日志创建请求,在每一个能获取到访问请求的地方(即创建的各条日志),关联请求标识。这样,所有日志中都会包含请求标识,该请求标识就相当于上述请求链标识,后续在需要查找日志,定位问题时,只需筛选该请求标识即可。
在步骤S13中,从本地缓存中存储的路由配置信息中确定与访问参数匹配的目标路由配置信息。
应理解,在接收到用户发送的与目标应用对应的访问请求后,为了将该访问请求发送至相应的目标微服务,需要先确定相关的路由信息,即本公开实施例中与访问参数匹配的目标路由配置信息。
在步骤S14中,根据目标路由配置信息将访问请求发送至与目标路由配置信息对应的目标微服务,目标微服务是多个微服务中的任一个。
在本公开实施例中,每个微服务路由配置信息中包括路由规则对应的过滤项和断言项组,断言项组中包含至少两种断言项。
其中,对于断言项:开发人员可以匹配访问请求中的所有内容,如果访问请求与断言项相匹配,则可以进行路由。对于过滤项:通过使用该过滤项,可以在访问请求被路由之前或之后对该访问请求进行修改。
而从本地缓存中存储的路由配置信息中确定与访问参数匹配的目标路由配置信息,具体包括以下步骤:
在步骤S1301中,根据不同微服务的路由规则所对应的至少两种断言项,确定与访问参数匹配的目标断言项组。
在步骤S1302中,确定与目标断言项组对应的目标路由规则。
需要说明的是,在相关技术中,只需一种断言项既可以确定目标路由规则,只能满足部分用户需求。而本公开实施例通过目标断言项组(至少两种断言项,例如,路径断言项和域名断言项)确定目标路由规则,可以覆盖更广的用户需求。举例来说,在相关技术中,可能只需要使用路径断言项,或者域名断言项即可确定其对应的目标路由规则,而在本公开实施例中,只有同时满足路径断言项和域名断言项,才能确定出目标路由规则。
而根据目标路由配置信息将访问请求发送至与目标路由配置信息对应的目标微服务,具体包括以下步骤:
根据目标路由规则对应的过滤项对访问请求进行过滤处理,以将过滤后的访问请求发送至与目标路由规则对应的目标微服务。其中,过滤处理包括:对用户信息进行校验、对敏感信息进行加密和脱敏、进行一些负载均衡操作等。
在本公开实施例中,服务接入网关中设有与多种类型的断言项对应的多个匹配器。
如图3所示,根据不同微服务的路由规则所对应的至少两种断言项,确定与访问参数匹配的目标断言项组,具体包括以下步骤:
在步骤S31中,分别通过多个匹配器对访问参数进行参数提取处理,得到多个匹配器各自对应的参数信息。
在步骤S32中,在多个匹配器各自对应类型的断言项中,通过多个匹配器查找到与多个匹配器各自提取到的参数信息相匹配的断言项。
在步骤S33中,根据多个匹配器各自查找到的断言项,确定对应于同一路由规则的断言项构成与访问参数匹配的目标断言项组。
下面以一具体示例对上述步骤进行说明:
在接收到用户发送的访问请求后,根据访问请求的域名确定其对应的目标应用,相当于确定一个范围。此时,获取本地缓存中目标应用对应的所有路由配置信息。此时,会生成与多种类型的断言项对应的多个匹配器。假设现在有五个匹配器(RuleInvoker),分别是:CookieRuleInvoker、HeaderRuleInvoker、PathRuleInvoker、RealIpRuleInvoker、DefaultRuleInvoker,那么此时,其各自一一对应的断言项则为Cookie、Header、Path、RealIp、Default。在根据多个匹配器各自查找到的断言项,确定对应于同一路由规则的断言项构成与访问参数匹配的目标断言项组后,即可根据目标断言项组确定目标路由规则,进而将访问请求发送至对应的目标微服务。
而在根据目标路由配置信息将访问请求发送至与目标路由配置信息对应的目标微服务之后,本公开实施例提供的请求处理方法还包括:
若在设定时长内未接收到目标微服务对访问请求的响应信息,则向用户输出提示信息。
具体实施时,在将访问请求发送至与目标路由配置信息对应的目标微服务之后,如果在设定时长内未接收到目标微服务对访问请求的响应信息,即判定目标微服务这边响应超时。此时,会给用户返回一个失败的错误码,用户可以重新发起访问请求或者做其他处理,而不是一直占用这个链接。其中,设定时长可以根据实际情况确定,例如,5s、10s等,在此不作限定。
综上所述,本公开实施例通过在用户发送的访问请求到达之前,预先将与目标应用对应的由配置信息从数据库中加载到本地缓存中。在接收到用户发送的与目标应用对应的访问请求后,从本地缓存中存储的路由配置信息中确定与访问参数匹配的目标路由配置信息,再根据目标路由配置信息将访问请求发送至与目标路由配置信息对应的目标微服务,即可完成整个请求处理流程。相比于从外部的数据库中查询与该访问请求匹配的路由配置信息,本公开对整个访问请求的处理速度较快,效率较高。
并且,本公开通过实时监听路由配置信息的变化,并根据路由配置信息的变化对本地缓存中的信息进行更新,提高了访问请求下发的准确性。通过使用两项以上的断言项确定目标路由规则,可以覆盖更广的客户需求。通过将请求标识与各条日志进行关联,可以便于后续查找日志,进行问题定位。通过在目标微服务响应超时的时候,对用户进行提示,提高了用户体验。
需要说明的是,本公开实施例中使用的网关在提供了流量控制、日志统计的流量网关功能之外还提供了业务相关的鉴权、认证、协议转换、数据包装、负载均衡等功能,进一步提高了用户体验。此外,业务开发人员在网关添加配置时,还可以将路由转发器设置为根据用户需求自动生成域名,并实现域名与微服务的自动关联。同时其还可以实现多环境(如测试环境、线上环境等)的信息配置同步,例如,将测试环境的配置信息同步至线上环境,减少用户的耗时。
图4是根据一示例性实施例示出的一种请求处理装置,应用于服务接入网关。参照图4,该装置包括加载单元401、接收单元402、确定单元403和处理单元404。
加载单元401被配置为执行将与目标应用对应的路由配置信息从数据库中加载到本地缓存中,其中,目标应用对应多个微服务,路由配置信息包括:多个微服务路由配置信息,每个微服务路由配置信息对应一个微服务;
接收单元402被配置为执行接收用户发送的与目标应用对应的访问请求,访问请求中携带有多种访问参数;
确定单元403被配置为执行从本地缓存中存储的路由配置信息中确定与访问参数匹配的目标路由配置信息;
处理单元404被配置为执行根据目标路由配置信息将访问请求发送至与目标路由配置信息对应的目标微服务,目标微服务是多个微服务中的任一个。
在本公开的一种示例性实施例中,该装置还包括:
生成单元,被配置为执行响应于用户对多个微服务的路由配置操作,生成与路由配置操作对应的多个微服务路由配置信息;
存储单元,被配置为执行将多个微服务路由配置信息存入数据库中。
在本公开的一种示例性实施例中,该装置还包括:
更新单元,被配置为执行若监听到数据库中任一微服务路由配置信息被更新,则将更新后的微服务路由配置信息更新到本地缓存中。
在本公开的一种示例性实施例中,每个微服务路由配置信息中包括路由规则对应的过滤项和断言项组,断言项组中包含至少两个断言项;
确定单元403还被配置为:
根据不同微服务的路由规则所对应的至少两种断言项,确定与访问参数匹配的目标断言项组;
确定与目标断言项组对应的目标路由规则;
处理单元404还被配置为执行:
根据目标路由规则对应的过滤项对访问请求进行过滤处理,以将过滤后的访问请求发送至与目标路由规则对应的目标微服务。
在本公开的一种示例性实施例中,服务接入网关中设有与多种类型的断言项对应的多个匹配器;
确定单元403还被配置为:
分别通过多个匹配器对访问参数进行参数提取处理,得到多个匹配器各自对应的参数信息;
在多个匹配器各自对应类型的断言项中,通过多个匹配器查找到与多个匹配器各自提取到的参数信息相匹配的断言项;
根据多个匹配器各自查找到的断言项,确定对应于同一路由规则的断言项构成与访问参数匹配的目标断言项组。
在本公开的一种示例性实施例中,该装置还包括:
输出单元,被配置为执行若在设定时长内未接收到目标微服务对访问请求的响应信息,则向用户输出提示信息。
在本公开的一种示例性实施例中,该装置还包括:
填充单元,被配置为执行生成与访问请求对应的请求标识,将请求标识填充到访问请求中;
关联单元,被配置为执行响应于与访问请求对应的各条日志创建请求,在创建的各条日志中关联请求标识。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种服务器的框图。该服务器500可以为用户所使用的服务器。该服务器500可以是:智能手机、智能手表、台式电脑、手提电脑和膝上型服务器、台式服务器等其他名称。
通常,服务器500包括有:处理器501和存储器502。
其中,处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个存储介质,该存储介质可以是非暂态的。存储器502还可以包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。
在一些实施例中,服务器500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、显示屏505、摄像头组件506、音频电路507、定位组件508和电源509中的至少一种。
外围设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施了对此不加以限定。
射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选的,射频电路504包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏505用于显示UI(User Interface,用户界面)。该UI可以包括图像、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置服务器500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在服务器500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在服务器500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图像,也即异形屏。显示屏505可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件506用于采集图像或视频。可选的,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在服务器500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
定位组件508用于定位服务器500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件508可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源509用于为服务器500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,服务器500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
加速度传感器511可以检测以服务器500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器512可以检测服务器500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对服务器500的3D动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器513可以设置在服务器500的侧边框和/或显示屏505的下层。当压力传感器513设置在服务器500的侧边框时,可以检测用户对服务器500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在显示屏505的下层时,由处理器501根据用户对显示屏505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置服务器500的正面、背面或侧面。当服务器500上设置有物理按键或厂商Logo时,指纹传感器514可以与物理按键或厂商Logo集成在一起。
光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制显示屏505的显示亮度。具体地,当环境光强度较高时,调高显示屏505的显示亮度;当环境光强度较低时,调低显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
接近传感器516,也称距离传感器,通常设置在服务器500的前面板。接近传感器516用于采集用户与服务器500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与服务器500的正面之间的距离逐渐变小时,由处理器501控制显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与服务器500的正面之间的距离逐渐变大时,由处理器501控制显示屏505从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图5中示出的结构并不构成对服务器500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,本公开还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由服务器500的处理器501执行以完成上述请求处理方法。可选的,存储介质可以是非临时性存储介质,例如,所述非临时性存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (16)

1.一种请求处理方法,其特征在于,应用于服务接入网关,包括:
将与目标应用对应的路由配置信息从数据库中加载到本地缓存中,其中,所述目标应用对应多个微服务,所述路由配置信息包括:多个微服务路由配置信息,每个所述微服务路由配置信息对应一个微服务;
接收用户发送的与所述目标应用对应的访问请求,所述访问请求中携带有多种访问参数;
从本地缓存中存储的路由配置信息中确定与所述访问参数匹配的目标路由配置信息;
根据所述目标路由配置信息将所述访问请求发送至与所述目标路由配置信息对应的目标微服务,所述目标微服务是所述多个微服务中的任一个;
每个微服务路由配置信息中包括路由规则对应的过滤项和断言项组,所述断言项组中包含至少两个断言项;所述从本地缓存中存储的路由配置信息中确定与所述访问参数匹配的目标路由配置信息,包括:根据不同微服务的路由规则所对应的至少两种断言项,确定与所述访问参数匹配的目标断言项组;确定与所述目标断言项组对应的目标路由规则。
2.根据权利要求1所述的请求处理方法,其特征在于,所述将与目标应用对应的路由配置信息从数据库中加载到本地缓存中之前,所述方法还包括:
响应于用户对所述多个微服务的路由配置操作,生成与所述路由配置操作对应的所述多个微服务路由配置信息;
将所述多个微服务路由配置信息存入数据库中。
3.根据权利要求2所述的请求处理方法,其特征在于,所述将所述多个微服务路由配置信息存入数据库中之后,所述方法还包括:
若监听到所述数据库中任一所述微服务路由配置信息被更新,则将更新后的微服务路由配置信息更新到所述本地缓存中。
4.根据权利要求1所述的请求处理方法,其特征在于,所述根据所述目标路由配置信息将所述访问请求发送至与所述目标路由配置信息对应的目标微服务,包括:
根据所述目标路由规则对应的过滤项对所述访问请求进行过滤处理,以将过滤后的访问请求发送至与所述目标路由规则对应的目标微服务。
5.根据权利要求4所述的请求处理方法,其特征在于,所述服务接入网关中设有与多种类型的断言项对应的多个匹配器;
所述根据不同微服务的路由规则所对应的至少两个断言项,确定与所述访问参数匹配的目标断言项组,包括:
分别通过所述多个匹配器对所述访问参数进行参数提取处理,得到所述多个匹配器各自对应的参数信息;
在所述多个匹配器各自对应类型的断言项中,通过所述多个匹配器查找到与所述多个匹配器各自提取到的参数信息相匹配的断言项;
根据所述多个匹配器各自查找到的断言项,确定对应于同一路由规则的断言项构成与所述访问参数匹配的目标断言项组。
6.根据权利要求1所述的请求处理方法,其特征在于,所述根据所述目标路由配置信息将所述访问请求发送至与所述目标路由配置信息对应的目标微服务之后,所述方法还包括:
若在设定时长内未接收到所述目标微服务对所述访问请求的响应信息,则向所述用户输出提示信息。
7.根据权利要求1所述的请求处理方法,其特征在于,所述接收用户发送的与所述目标应用对应的访问请求之后,所述方法还包括:
生成与所述访问请求对应的请求标识,将所述请求标识填充到所述访问请求中;
响应于与所述访问请求对应的各条日志创建请求,在创建的各条日志中关联所述请求标识。
8.一种请求处理装置,其特征在于,应用于服务接入网关,包括:
加载单元,被配置为执行将与目标应用对应的路由配置信息从数据库中加载到本地缓存中,其中,所述目标应用对应多个微服务,所述路由配置信息包括:多个微服务路由配置信息,每个所述微服务路由配置信息对应一个微服务;
接收单元,被配置为执行接收用户发送的与所述目标应用对应的访问请求,所述访问请求中携带有多种访问参数;
确定单元,被配置为执行从本地缓存中存储的路由配置信息中确定与所述访问参数匹配的目标路由配置信息,其中,每个微服务路由配置信息中包括路由规则对应的过滤项和断言项组,所述断言项组中包含至少两个断言项;所述从本地缓存中存储的路由配置信息中确定与所述访问参数匹配的目标路由配置信息,包括:根据不同微服务的路由规则所对应的至少两种断言项,确定与所述访问参数匹配的目标断言项组;确定与所述目标断言项组对应的目标路由规则;
处理单元,被配置为执行根据所述目标路由配置信息将所述访问请求发送至与所述目标路由配置信息对应的目标微服务,所述目标微服务是所述多个微服务中的任一个。
9.根据权利要求8所述的请求处理装置,其特征在于,所述装置还包括:
生成单元,被配置为执行响应于用户对所述多个微服务的路由配置操作,生成与所述路由配置操作对应的所述多个微服务路由配置信息;
存储单元,被配置为执行将所述多个微服务路由配置信息存入数据库中。
10.根据权利要求9所述的请求处理装置,其特征在于,所述装置还包括:
更新单元,被配置为执行若监听到所述数据库中任一所述微服务路由配置信息被更新,则将更新后的微服务路由配置信息更新到所述本地缓存中。
11.根据权利要求8所述的请求处理装置,其特征在于,每个微服务路由配置信息中包括路由规则对应的过滤项和断言项组,所述断言项组中包含至少两个断言项;
所述确定单元还被配置为:
根据不同微服务的路由规则所对应的至少两种断言项,确定与所述访问参数匹配的目标断言项组;
确定与所述目标断言项组对应的目标路由规则;
所述处理单元还被配置为执行:
根据所述目标路由规则对应的过滤项对所述访问请求进行过滤处理,以将过滤后的访问请求发送至与所述目标路由规则对应的目标微服务。
12.根据权利要求11所述的请求处理装置,其特征在于,所述服务接入网关中设有与多种类型的断言项对应的多个匹配器;
所述确定单元还被配置为:
分别通过所述多个匹配器对所述访问参数进行参数提取处理,得到所述多个匹配器各自对应的参数信息;
在所述多个匹配器各自对应类型的断言项中,通过所述多个匹配器查找到与所述多个匹配器各自提取到的参数信息相匹配的断言项;
根据所述多个匹配器各自查找到的断言项,确定对应于同一路由规则的断言项构成与所述访问参数匹配的目标断言项组。
13.根据权利要求8所述的请求处理装置,其特征在于,所述装置还包括:
输出单元,被配置为执行若在设定时长内未接收到所述目标微服务对所述访问请求的响应信息,则向所述用户输出提示信息。
14.根据权利要求8所述的请求处理装置,其特征在于,所述装置还包括:
填充单元,被配置为执行生成与所述访问请求对应的请求标识,将所述请求标识填充到所述访问请求中;
关联单元,被配置为执行响应于与所述访问请求对应的各条日志创建请求,在创建的各条日志中关联所述请求标识。
15.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的请求处理方法。
16.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如权利要求1至7中任一项所述的请求处理方法。
CN202210090250.3A 2022-01-25 2022-01-25 请求处理方法、装置、服务器及存储介质 Active CN114584628B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210090250.3A CN114584628B (zh) 2022-01-25 2022-01-25 请求处理方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210090250.3A CN114584628B (zh) 2022-01-25 2022-01-25 请求处理方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN114584628A CN114584628A (zh) 2022-06-03
CN114584628B true CN114584628B (zh) 2024-03-26

Family

ID=81768805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210090250.3A Active CN114584628B (zh) 2022-01-25 2022-01-25 请求处理方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN114584628B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108540574A (zh) * 2018-04-27 2018-09-14 宁波银行股份有限公司 一种多类型数据对接系统及方法
CN110519379A (zh) * 2019-08-29 2019-11-29 泰康保险集团股份有限公司 基于微服务的请求处理方法及设备
CN111600930A (zh) * 2020-04-09 2020-08-28 网宿科技股份有限公司 微服务请求的流量管理方法、装置、服务器及存储介质
CN111970198A (zh) * 2020-08-13 2020-11-20 北京金山云网络技术有限公司 一种服务路由方法、装置、电子设备及介质
CN113010224A (zh) * 2021-03-03 2021-06-22 南方电网数字电网研究院有限公司 前端微服务化方法、装置、计算机设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016178810A1 (en) * 2015-05-01 2016-11-10 Google Inc. Caching in a mobile network
US11057487B2 (en) * 2019-05-17 2021-07-06 Citrix Systems, Inc. Systems and methods for recording metadata about microservices for requests to the microservices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108540574A (zh) * 2018-04-27 2018-09-14 宁波银行股份有限公司 一种多类型数据对接系统及方法
CN110519379A (zh) * 2019-08-29 2019-11-29 泰康保险集团股份有限公司 基于微服务的请求处理方法及设备
CN111600930A (zh) * 2020-04-09 2020-08-28 网宿科技股份有限公司 微服务请求的流量管理方法、装置、服务器及存储介质
CN111970198A (zh) * 2020-08-13 2020-11-20 北京金山云网络技术有限公司 一种服务路由方法、装置、电子设备及介质
CN113010224A (zh) * 2021-03-03 2021-06-22 南方电网数字电网研究院有限公司 前端微服务化方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN114584628A (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
CN108881030B (zh) 灰度发布场景下的路由方法及装置
CN108833607B (zh) 物理地址获取方法、装置及可读介质
CN108959361B (zh) 表单管理的方法和装置
CN110674022A (zh) 行为数据获取方法、装置及存储介质
CN110704324B (zh) 应用调试方法、装置及存储介质
CN111866140B (zh) 融合管理设备、管理系统、服务调用方法及介质
CN113051015B (zh) 页面渲染方法、装置、电子设备及存储介质
CN110601921B (zh) 数据包传输参数的检测方法及装置、数据包传输系统
CN113377647B (zh) 页面处理方法、装置、服务器、终端及可读存储介质
CN112612539B (zh) 数据模型卸载方法、装置、电子设备及存储介质
CN110825465B (zh) 日志数据处理方法、装置、电子设备及存储介质
CN111008083B (zh) 页面通信方法、装置、电子设备及存储介质
CN112910722B (zh) 网络请求测试方法、装置、终端及存储介质
CN111580892B (zh) 一种业务组件调用的方法、装置、终端和存储介质
CN111130985B (zh) 关联关系建立方法、装置、终端、服务器及存储介质
CN110597840A (zh) 基于区块链的伴侣关系建立方法、装置、设备及存储介质
CN114143280B (zh) 会话显示方法、装置、电子设备及存储介质
CN114584628B (zh) 请求处理方法、装置、服务器及存储介质
CN112612540B (zh) 数据模型配置方法、装置、电子设备及存储介质
CN112597417B (zh) 页面更新方法、装置、电子设备及存储介质
CN112905328B (zh) 任务处理方法、装置及计算机可读存储介质
CN112765571B (zh) 权限管理方法、系统、装置、服务器及存储介质
CN114329292A (zh) 资源信息的配置方法、装置、电子设备以及存储介质
CN109618018B (zh) 用户头像显示方法、装置、终端、服务器及存储介质
CN113076452A (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
GR01 Patent grant
GR01 Patent grant