CN110191063B - 服务请求的处理方法、装置、设备及存储介质 - Google Patents

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

Info

Publication number
CN110191063B
CN110191063B CN201910511803.6A CN201910511803A CN110191063B CN 110191063 B CN110191063 B CN 110191063B CN 201910511803 A CN201910511803 A CN 201910511803A CN 110191063 B CN110191063 B CN 110191063B
Authority
CN
China
Prior art keywords
service
service request
gateway
request
permission
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
CN201910511803.6A
Other languages
English (en)
Other versions
CN110191063A (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910511803.6A priority Critical patent/CN110191063B/zh
Publication of CN110191063A publication Critical patent/CN110191063A/zh
Application granted granted Critical
Publication of CN110191063B publication Critical patent/CN110191063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing

Abstract

本发明实施例公开了一种服务请求的处理方法、装置、设备及存储介质。所述方法应用于通过微服务框架模式构建的服务化平台中,包括:通过网关接收服务请求,并验证所述服务请求的发送方,和/或接收方服务是否满足限流条件;如果确定不满足所述限流条件,则通过所述网关对所述服务请求进行权限准入验证;根据权限准入验证结果,和/或预先配置的分发机制,通过所述网关将所述服务请求在所述服务化平台中进行分发处理。本发明实施例提供的技术方案,实现了通过网关进行限流和权限准入验证,并进行流量分发,提高了开发效率和平台质量。

Description

服务请求的处理方法、装置、设备及存储介质
技术领域
本发明实施例涉及互联网技术领域,尤其涉及一种服务请求的处理方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展,系统架构经历了传统的单体架构到微服务架构。目前,企业的很多生产平台仍然采用的传统的单体架构。单体架构的优点是所有的代码都在一个应用单元里面,开发人员进行部署和质量保证测试比较容易,版本控制也比较简单。
发明人在实现本发明的过程中,发现单体架构存在如下缺陷:随着系统规模和访问量的日渐庞大,需求频繁变更与迭代,业务规模和功能复杂度不断增长,出现了系统功能重复臃肿、维护困难,需求迭代速度受到制约,系统变化跟不上实际业务变化等问题,造成单位产出比下降,单体架构模式显然已经成为业务发展的瓶颈。
发明内容
本发明实施例提供一种服务请求的处理方法、装置、设备及存储介质,以实现在通过微服务框架模式构建的服务化平台中,通过网关进行限流和权限准入验证,并进行流量分发,提高开发效率和平台质量。
第一方面,本发明实施例提供了一种服务请求的处理方法,应用于通过微服务框架模式构建的服务化平台中,包括:
通过网关接收服务请求,并验证所述服务请求的发送方,和/或接收方服务是否满足限流条件;
如果确定不满足所述限流条件,则通过所述网关对所述服务请求进行权限准入验证;
根据权限准入验证结果,和/或预先配置的分发机制,通过所述网关将所述服务请求在所述服务化平台中进行分发处理。
第二方面,本发明实施例还提供了一种服务请求的处理装置,应用于通过微服务框架模式构建的服务化平台中,包括:
限流判断模块,用于通过网关接收服务请求,并验证所述服务请求的发送方,和/或接收方服务是否满足限流条件;
权限准入验证模块,用于如果确定不满足所述限流条件,则通过所述网关对所述服务请求进行权限准入验证;
分发处理模块,用于根据权限准入验证结果,和/或预先配置的分发机制,通过所述网关将所述服务请求在所述服务化平台中进行分发处理。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的服务请求的处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的服务请求的处理方法。
本发明实施例的技术方案,应用于通过微服务框架模式构建的服务化平台中,通过网关接收服务请求,并验证服务请求的发送方,和/或接收方服务是否满足限流条件,若不满足限流条件,则继续对服务请求进行权限准入验证,最后根据权限准入验证结果,和/或预先配置的分发机制,将服务请求在服务化平台中进行分发处理,解决了现有技术中服务化平台的网关的功能比较单一,业务拆分不够明显,开发效率较低的问题,通过网关实现限流和权限准入验证,以及流量分发,提高开发效率和平台质量。
附图说明
图1是本发明实施例一中的一种服务请求的处理方法的流程图;
图2a是本发明实施例二中的一种服务请求的处理方法的流程图;
图2b是本发明实施例二中的服务化平台的架构图;
图3是本发明实施例三中的一种服务请求的处理装置的结构示意图;
图4是本发明实施例四中的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一中的一种服务请求的处理方法的流程图,本实施例可适用于通过网关实现限流和权限准入验证,以及流量分发的情况,该方法可以由服务请求的处理装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可以集成在用于处理服务请求的设备中,如图1所示,该方法应用于通过微服务框架模式构建的服务化平台中,具体包括:
步骤110、通过网关接收服务请求,并验证服务请求的发送方,和/或接收方服务是否满足限流条件。
本实施例中,微服务是指开发一个单个小型的但有业务功能的服务,每个服务都有自己的处理和轻量通讯机制,可以部署在单个或多个服务器上。微服务框架是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦,它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。
在通过微服务框架模式构建的服务化平台中,网关是整个服务化平台的入口,可以提供限流、权限准入限制以及流量分发的功能。具体的,由于部分服务资源有限,为保障服务化平台自身服务的稳定性,当接收到服务请求时,需要通过网关验证服务请求的发送方,和/或接收方是否满足限流条件,当不满足限流条件时,则继续对服务请求进行后续验证。
可选的,通过网关接收服务请求,并验证服务请求的发送方,和/或接收方服务是否满足限流条件,具体包括:验证发送方在设定时间段内向服务化平台中至少一个服务的请求次数是否达到第一次数阈值;和/或验证接收方服务在设定时间段内承接的请求次数是否达到第二次数阈值。其中,设定时间段可以是30秒,一分钟或者其他预先设置的时间长度;第一次数阈值表示发送方在设定时间段内可以对服务化平台中的至少一个服务进行服务请求的次数上限,用于对发送方进行有效的服务请求限制,其可以是3次,4次,或者其他预先设置的数值;第二次数阈值表示接收方服务在设定时间段内可以承接的请求次数的上限,用于保障服务化平台自身服务的稳定性,其可以是8次,10次,或者其他预先设置的数值。
具体的,通过网关验证发送方在设定时间段内向服务化平台中至少一个服务的请求次数是否达到第一次数阈值,若请求次数大于等于第一次数阈值,则确定满足限流条件,结束对本次服务请求的处理操作,若请求次数小于第一次数阈值,则确定不满足限流条件,继续对服务请求进行后续验证。以及,通过网关验证接收方服务在设定时间段内承接的请求次数是否达到第二次数阈值,若承接的请求次数大于等于第二次数阈值,则确定满足限流条件,结束对本次服务请求的处理操作,若承接的请求次数小于第二次数阈值,则确定不满足限流条件,继续对服务请求进行后续验证。
步骤120、如果确定不满足限流条件,则通过网关对服务请求进行权限准入验证。
本实施例中,若确定发送方和接收方服务都不满足限流条件,则通过网关对服务请求进行权限准入验证。
可选的,通过网关对服务请求进行权限准入验证,可以包括:根据服务请求中的请求头部,提取与服务请求对应的身份信息、时间信息以及认证信息;对认证信息进行处理,得到与服务请求对应的时间比对信息,其中,认证信息为根据静态参数以及动态参数进行加密处理后得到,动态参数与服务请求的发送时间关联;根据时间比对信息与时间信息,对服务请求进行第一权限准入条件的验证。
可选的,进入网关的服务请求必须表明身份,即服务请求的请求头部中需要携带必要信息,如省份信息、身份信息、认证信息和时间信息等。其中,身份信息可以包括发送方名称;时间信息包括服务请求的有效时间段;认证信息包括加密处理后的静态参数和动态参数。由于动态参数与服务请求的发送时间相关联,因此,网关对认证信息进行解密处理和解析处理后得到的时间比对信息即为服务请求的发送时间。
可选的,若时间比对信息落入时间信息的有效时间段内,则确定通过第一权限准入条件验证,若时间比对信息落在时间信息的有效时间段之外,则确定未通过第一权限准入条件验证。由于认证信息只在固定的有效时间段内有效,超出有效时间拒绝访问,因此,为了保障服务请求被拦截后的安全性,需要对静态参数以及动态参数进行加密处理。
可选的,若第一权限准入条件验证通过,则根据身份信息,确定与服务请求匹配的至少一项允许访问服务,并根据允许访问服务,以及与服务请求匹配的接收方服务,对服务请求进行第二权限准入条件的验证。
可选的,为了保证将权限准入控制在最小范围内,规定固定的发送方只能访问固定的服务。因此,在第一权限准入条件验证通过后,通过网关按照身份信息中的发送方名称对访问的链接进行过滤,即根据发送方名称确定与服务请求匹配的至少一项允许访问服务,并根据允许访问服务,以及与服务请求匹配的发送方所指定的接收方服务,对服务请求进行第二权限准入条件的验证。若接收方服务属于允许访问服务,则第二权限准入条件验证通过,若接收方服务不属于允许访问服务,则第二权限准入条件验证不通过。
步骤130、根据权限准入验证结果,和/或预先配置的分发机制,通过网关将服务请求在服务化平台中进行分发处理。
本实施例中,根据获得第二权限准入条件的验证结果,确定整体的权限准入验证结果,即,当第二权限准入条件的验证结果为验证通过,则权限准入验证结果为通过权限准入验证,若第二权限准入条件的验证结果为验证不通过,则权限准入验证结果为未通过权限准入验证。
可选的,根据权限准入验证结果和/或预先配置的分发机制,通过网关将服务请求在服务化平台中进行分发处理。其中,分发机制包括网关下发和网关决策,网关下发表示通过网关直接将权限准入验证结果下发至接收方服务,由接收方服务决定是否对服务请求进行处理;而网关决策则表示通过网关根据权限准入验证结果判断是否指示接收方服务对服务请求进行处理。
本发明实施例的技术方案,应用于通过微服务框架模式构建的服务化平台中,通过网关接收服务请求,并验证服务请求的发送方,和/或接收方服务是否满足限流条件,若不满足限流条件,则继续对服务请求进行权限准入验证,最后根据权限准入验证结果,和/或预先配置的分发机制,将服务请求在服务化平台中进行分发处理,解决了现有技术中服务化平台的网关的功能比较单一,业务拆分不够明显,开发效率较低的问题,通过网关实现限流和权限准入验证,以及流量分发,提高开发效率和平台质量。
实施例二
图2a是本发明实施例二中的一种服务请求的处理方法的流程图,本实施例可以与上述实施例中各个可选方案结合。如图2a所示,该方法包括:
步骤210、通过网关接收服务请求。
步骤220、通过网关验证服务请求是否满足限流条件,若是,则执行步骤260,结束对本次服务请求的处理;否则,执行步骤230。
步骤230、通过网关对服务请求进行权限准入验证,并获得权限准入验证结果。
可选的,通过网关对服务请求进行权限准入验证包括:通过网关首先验证与服务请求对应的时间比对信息是否落入时间信息的有效时间段内,若是,则继续验证服务请求是否属于与服务请求匹配的至少一项允许访问服务,若是,则权限准入验证结果为验证通过,否则,权限准入验证结果为验证不通过。
步骤240、根据权限准入验证结果,和预先配置的分发机制,通过网关将服务请求在服务化平台中进行分发处理。
可选的,根据权限准入验证结果,和/或预先配置的分发机制,通过网关将服务请求在服务化平台中进行分发处理,包括:如果确定预先配置的分发机制为网关下发,则通过网关将权限准入验证结果加入至服务请求中,并将服务请求下发至与服务请求匹配的接收方服务进行处理;或者如果确定预先配置的分发机制为网关决策,则在确定权限准入验证为通过权限准入验证时,通过网关将服务请求下发至与服务请求匹配的接收方服务进行处理,或者,在确定权限准入验证为未通过权限准入验证时,丢弃服务请求。
本实施例中,预先配置的分发机制包括网关下发和网关决策,网关下发表示通过网关直接将权限准入验证结果加入至服务请求中,并将服务请求下发至与服务请求匹配的接收方服务,由接收方服务决定是否对服务请求进行处理;网关决策表示通过网关在权限准入验证结果为通过权限准入验证时,将服务请求下发至与服务请求匹配的接收方服务进行处理,在权限准入验证结果为未通过权限准入验证时,丢弃服务请求。
可选的,通过网关将服务请求下发至与服务请求匹配的接收方服务进行处理,包括:根据预先存储的URL与服务路由之间的映射关系,通过网关对服务请求的URL进行处理,以使处理后的URL指向接收方服务;其中,URL与服务路由之间的映射关系从第三方数据源处获取。本实施例根据服务请求的URL查询预先存储的URL与服务路由之间的映射关系,获得与服务请求对应的接收方服务的路由地址,并根据该地址对服务请求的URL进行修改,使得修改后的URL指向接收方服务,第三方数据源可以包括与服务化平台相连的服务器。
可选的,将服务请求下发至与服务请求匹配的接收方服务进行处理,可以包括:根据服务请求中包括的服务名称后缀,通过网关获取与服务名称后缀对应的服务作为接收方服务,并将服务请求下发至接收方服务。
步骤250、通过调用器选取目标服务节点,并指定目标服务节点对服务请求进行处理。
可选的,在根据权限准入验证结果,和/或预先配置的分发机制,通过网关将服务请求在服务化平台中进行分发处理之后,还包括:通过调用器根据与接收方服务匹配多个服务节点的节点状态,在多个服务节点中选取目标服务节点,并指定目标服务节点对服务请求进行处理;其中,各服务节点设置于服务化平台中,节点状态为调用器从注册中心处获取,节点状态包括:节点的负载状态以及节点的健康状态。
本实施例中,通过调用器根据各服务节点的负载状态以及健康状态,跳过负载较重或者处于不健康状态的服务节点,将服务请求转发至负载较轻以及处于健康状态的服务节点上,从而实现服务请求由网关按照一定的路由策略路由至实际的服务上,保证服务稳定性的同时也实现了服务的自由扩容或者缩容对服务调用方无感。
步骤260、结束对本次服务请求的处理。
本发明实施例的技术方案,应用于通过微服务框架模式构建的服务化平台中,通过网关接收服务请求,并验证服务请求的发送方,和/或接收方服务是否满足限流条件,若不满足限流条件,则继续对服务请求进行权限准入验证,最后根据权限准入验证结果,和/或预先配置的分发机制,将服务请求在服务化平台中进行分发处理,解决了现有技术中服务化平台的网关的功能比较单一,业务拆分不够明显,开发效率较低的问题,通过网关实现限流和权限准入验证,以及流量分发,提高开发效率和平台质量。
本实施例中,服务化平台的构建主要集成了网关、注册中心、调用器、权限系统、配置中心、文档中心、队列中心、日志系统、通告服务以及流程中心等基础功能,即把一个复杂庞大的业务系统划分为若干模块,拆分出界限清晰的服务,不同的服务由不同的团队负责开发和维护,定义好服务之间的交互,服务内部的迭代、重构、技术升级等对外部的使用无感。通过对业务系统进行模块化,更利于使用一些持续集成的工具来简化和提高系统开发运维效率,可以实现测试人员一键部署,及时测试和发布修复问题,即使某个服务遇到问题,需要发版修复,也不会导致整个业务系统不可用。
可选的,服务化平台的主要组成部分包括:网关、注册中心、服务、配置中心、文档中心、调用器以及PAAS平台,如图2b所示。
其中,注册中心用于所有服务的注册、发现以及探活,并发布注册进来的服务所处的服务状态。服务包括内敛的业务逻辑,启动时注册至注册中心,注册时提供探活接口,以让注册中心进行心跳探活。文档中心,用于当服务提供方提供服务接口后,负责汇聚发布接口文档,以方便其他服务或者应用调用。配置中心,用于为整个服务化平台提供通用的配置管理,服务根据统一配置的环境来改变自己的运行模式。调用器,用于通过获取注册中心中服务的状态,通过名字均衡调用各个服务,自动跳过处于不健康状态的服务,提高服务可用和容错性。PAAS平台,用于通过容器自动化更新或者部署服务。
可选的,在上述实施例的基础上,所述方法还包括:通过PAAS平台,以容器的方式在服务化平台中部署或者更新至少一个服务,其中,每个服务包括至少一个服务节点,每个服务节点预先提供探活接口;通过注册中心对部署或者更新的服务进行注册,并在服务注册完成后通过服务提供的探活接口对与服务对应的服务节点进行心跳探活,并将对各服务节点的探活结果发布给调用器。
本实施例中,通过容器封装环境,开发人员可以直接将所有软件和依赖直接封装到容器中,打包成镜像,生产环境直接部署镜像,通过容器实现开发测试生产环境的一致。通过容器调度平台管理容器,资源利用率更高。
可选的,所述方法还包括:通过文档中心根据服务化平台中至少一个服务提供的服务接口,汇总各服务的接口文档;通过文档中心将接口文档以页面的形式进行发布,接口文档用于客户端或者其他服务对服务化平台中的服务进行接口调用。
可选的,服务化平台中的服务包括:配置中心;
相应地,所述方法还包括:通过配置中心接收服务化平台中的其他服务发送的配置请求,并对配置请求的发送服务进行运行环境的配置。运行环境可以包括:编程语言和分布式数据库。
本实施例中,在微服务框架模式下,不同服务独立运行在不同的服务器上,每个服务器使用的数据库是分布式数据库,每个数据库配置有主备。由于分布式缓存,分布式消息队列等中间件的使用,大大提高了服务化平台的可用性。
实施例三
图3是本发明实施例三中的一种服务请求的处理装置的结构示意图。如图3所示,该服务请求的处理装置应用于通过微服务框架模式构建的服务化平台中,包括:
限流判断模块310,用于通过网关接收服务请求,并验证服务请求的发送方,和/或接收方服务是否满足限流条件;
权限准入验证模块320,用于如果确定不满足限流条件,则通过网关对服务请求进行权限准入验证;
分发处理模块330,用于根据权限准入验证结果,和/或预先配置的分发机制,通过网关将服务请求在服务化平台中进行分发处理。
本发明实施例的技术方案,应用于通过微服务框架模式构建的服务化平台中,通过网关接收服务请求,并验证服务请求的发送方,和/或接收方服务是否满足限流条件,若不满足限流条件,则继续对服务请求进行权限准入验证,最后根据权限准入验证结果,和/或预先配置的分发机制,将服务请求在服务化平台中进行分发处理,解决了现有技术中服务化平台的网关的功能比较单一,业务拆分不够明显,开发效率较低的问题,通过网关实现限流和权限准入验证,以及流量分发,提高开发效率和平台质量。
进一步的,限流判断模块310包括:第一判断单元,用于验证发送方在设定时间段内向服务化平台中至少一个服务的请求次数是否达到第一次数阈值;第二判断单元,用于验证接收方服务在设定时间段内承接的请求次数是否达到第二次数阈值。
进一步的,权限准入验证模块320具体用于:根据服务请求中的请求头部,提取与服务请求对应的身份信息、时间信息以及认证信息;对认证信息进行处理,得到与服务请求对应的时间比对信息,其中,认证信息为根据静态参数以及动态参数进行加密处理后得到,动态参数与服务请求的发送时间关联;根据时间比对信息与时间信息,对服务请求进行第一权限准入条件的验证;根据身份信息,确定与服务请求匹配的至少一项允许访问服务,并根据允许访问服务,以及与服务请求匹配的接收方服务,对服务请求进行第二权限准入条件的验证。
进一步的,分发处理模块330包括:下发单元,用于如果确定预先配置的分发机制为网关下发,则通过网关将权限准入验证结果加入至服务请求中,并将服务请求下发至与服务请求匹配的接收方服务进行处理;决策单元,用于如果确定预先配置的分发机制为网关决策,则在确定权限准入验证为通过权限准入验证时,通过网关将服务请求下发至与服务请求匹配的接收方服务进行处理,或者,在确定权限准入验证为未通过权限准入验证时,丢弃服务请求。
进一步的,分发处理模块330包括:第一处理单元,用于根据预先存储的URL与服务路由之间的映射关系,通过网关对服务请求的URL进行处理,以使处理后的URL指向接收方服务;其中,URL与服务路由之间的映射关系从第三方数据源处获取;第二处理单元,用于根据服务请求中包括的服务名称后缀,通过网关获取与服务名称后缀对应的服务作为接收方服务,并将服务请求下发至接收方服务。
进一步的,分发处理模块330还包括:目标服务节点选取单元,用于通过调用器根据与接收方服务匹配多个服务节点的节点状态,在多个服务节点中选取目标服务节点,并指定目标服务节点对服务请求进行处理;
其中,各服务节点设置于服务化平台中,节点状态为调用器从注册中心处获取,节点状态包括:节点的负载状态以及节点的健康状态。
进一步的,该装置还包括:服务更新模块,用于通过PAAS平台,以容器的方式在服务化平台中部署或者更新至少一个服务,其中,每个服务包括至少一个服务节点,每个服务节点预先提供探活接口;注册模块,用于通过注册中心对部署或者更新的服务进行注册,并在服务注册完成后通过服务提供的探活接口对与服务对应的服务节点进行心跳探活,并将对各服务节点的探活结果发布给调用器。
进一步的,该装置还包括:文档汇总模块,用于通过文档中心根据服务化平台中至少一个服务提供的服务接口,汇总各服务的接口文档;发布模块,用于通过文档中心将接口文档以页面的形式进行发布,接口文档用于客户端或者其他服务对服务化平台中的服务进行接口调用。
进一步的,服务化平台中的服务包括:配置中心;
相应地,该装置还包括:配置模块,用于通过配置中心接收服务化平台中的其他服务发送的配置请求,并对配置请求的发送服务进行运行环境的配置。
本发明实施例所提供的服务请求的处理装置可执行本发明任意实施例所提供的服务请求的处理方法,具备执行方法相应的功能模块和有益效果。
实施例四
参照图4,图4是本发明实施例四提供的一种设备的结构示意图,如图4所示,该设备包括处理器410、存储器420、输入装置430和输出装置440;设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的服务请求的处理方法对应的程序指令/模块(例如,服务请求的处理装置中的限流判断模块310、权限准入验证模块320和分发处理模块330)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的服务请求的处理方法。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现一种服务请求的处理方法,一种服务请求的处理方法,应用于通过微服务框架模式构建的服务化平台中,包括:
通过网关接收服务请求,并验证所述服务请求的发送方,和/或接收方服务是否满足限流条件;
如果确定不满足所述限流条件,则通过所述网关对所述服务请求进行权限准入验证;
根据权限准入验证结果,和/或预先配置的分发机制,通过所述网关将所述服务请求在所述服务化平台中进行分发处理。
当然,本发明实施例所提供的一种计算机可读存储介质,其计算机指令可执行不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的服务请求的处理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述服务请求的处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (9)

1.一种服务请求的处理方法,其特征在于,应用于通过微服务框架模式构建的服务化平台中,包括:
通过网关接收服务请求,并验证所述服务请求的发送方,和/或接收方服务是否满足限流条件;
如果确定不满足所述限流条件,则通过所述网关对所述服务请求进行权限准入验证;
根据权限准入验证结果,和/或预先配置的分发机制,通过所述网关将所述服务请求在所述服务化平台中进行分发处理;
通过文档中心根据所述服务化平台中至少一个服务提供的服务接口,汇总各所述服务的接口文档;其中,所述服务化平台中的服务包括:配置中心;
通过所述文档中心将所述接口文档以页面的形式进行发布,所述接口文档用于客户端或者其他服务对所述服务化平台中的服务进行接口调用;
通过所述配置中心接收所述服务化平台中的其他服务发送的配置请求,并对所述配置请求的发送服务进行运行环境的配置;其中,所述运行环境包括:编程语言和分布式数据库;
其中,通过所述网关对所述服务请求进行权限准入验证,包括:
根据所述服务请求中的请求头部,提取与所述服务请求对应的身份信息、时间信息以及认证信息;
对所述认证信息进行处理,得到与所述服务请求对应的时间比对信息,其中,所述认证信息为根据静态参数以及动态参数进行加密处理后得到,所述动态参数与所述服务请求的发送时间关联;
根据所述时间比对信息与所述时间信息,对所述服务请求进行第一权限准入条件的验证;
根据所述身份信息,确定与所述服务请求匹配的至少一项允许访问服务,并根据所述允许访问服务,以及与所述服务请求匹配的接收方服务,对所述服务请求进行第二权限准入条件的验证;其中,通过规定固定的所述发送方只能访问固定的服务,将权限准入控制在最小范围内。
2.根据权利要求1所述的方法,其特征在于,通过所述网关验证所述服务请求的发送方,和/或接收方是否满足限流条件,包括:
验证所述发送方在设定时间段内向所述服务化平台中至少一个服务的请求次数是否达到第一次数阈值;和/或
验证所述接收方服务在设定时间段内承接的请求次数是否达到第二次数阈值。
3.根据权利要求1所述的方法,其特征在于,根据权限准入验证结果,和/或预先配置的分发机制,通过所述网关将所述服务请求在所述服务化平台中进行分发处理,包括:
如果确定预先配置的分发机制为网关下发,则通过所述网关将所述权限准入验证结果加入至所述服务请求中,并将所述服务请求下发至与所述服务请求匹配的接收方服务进行处理;
或者
如果确定预先配置的分发机制为网关决策,则在确定所述权限准入验证为通过权限准入验证时,通过所述网关将所述服务请求下发至与所述服务请求匹配的接收方服务进行处理,或者,在确定所述权限准入验证为未通过权限准入验证时,丢弃所述服务请求。
4.根据权利要求3所述的方法,其特征在于,通过所述网关将所述服务请求下发至与所述服务请求匹配的接收方服务进行处理,包括:
根据预先存储的URL与服务路由之间的映射关系,通过所述网关对所述服务请求的URL进行处理,以使处理后的URL指向所述接收方服务;其中,所述URL与服务路由之间的映射关系从第三方数据源处获取;
或者;
根据所述服务请求中包括的服务名称后缀,通过所述网关获取与所述服务名称后缀对应的服务作为所述接收方服务,并将所述服务请求下发至所述接收方服务。
5.根据权利要求1所述的方法,其特征在于,在根据权限准入验证结果,和/或预先配置的分发机制,通过所述网关将所述服务请求在所述服务化平台中进行分发处理之后,还包括:
通过调用器根据与所述接收方服务匹配多个服务节点的节点状态,在所述多个服务节点中选取目标服务节点,并指定所述目标服务节点对所述服务请求进行处理;
其中,各所述服务节点设置于所述服务化平台中,所述节点状态为所述调用器从注册中心处获取,所述节点状态包括:节点的负载状态以及节点的健康状态。
6.根据权利要求5所述的方法,其特征在于,还包括:
通过PAAS平台,以容器的方式在所述服务化平台中部署或者更新至少一个服务,其中,每个服务包括至少一个服务节点,每个服务节点预先提供探活接口;
通过注册中心对所述部署或者更新的服务进行注册,并在服务注册完成后通过服务提供的探活接口对与服务对应的服务节点进行心跳探活,并将对各服务节点的探活结果发布给所述调用器。
7.一种服务请求的处理装置,其特征在于,应用于通过微服务框架模式构建的服务化平台中,包括:
限流判断模块,用于通过网关接收服务请求,并验证所述服务请求的发送方,和/或接收方服务是否满足限流条件;
权限准入验证模块,用于如果确定不满足所述限流条件,则通过所述网关对所述服务请求进行权限准入验证;
分发处理模块,用于根据权限准入验证结果,和/或预先配置的分发机制,通过所述网关将所述服务请求在所述服务化平台中进行分发处理;
权限准入验证模块具体用于:根据服务请求中的请求头部,提取与服务请求对应的身份信息、时间信息以及认证信息;对认证信息进行处理,得到与服务请求对应的时间比对信息,其中,认证信息为根据静态参数以及动态参数进行加密处理后得到,动态参数与服务请求的发送时间关联;根据时间比对信息与时间信息,对服务请求进行第一权限准入条件的验证;根据身份信息,确定与服务请求匹配的至少一项允许访问服务,并根据允许访问服务,以及与服务请求匹配的接收方服务,对服务请求进行第二权限准入条件的验证;其中,通过规定固定的所述发送方只能访问固定的服务,将权限准入控制在最小范围内;
所述装置还包括:文档汇总模块,用于通过文档中心根据服务化平台中至少一个服务提供的服务接口,汇总各服务的接口文档;发布模块,用于通过文档中心将接口文档以页面的形式进行发布,接口文档用于客户端或者其他服务对服务化平台中的服务进行接口调用;其中,所述服务化平台中的服务包括:配置中心;
相应地,所述装置还包括:配置模块,用于通过所述配置中心接收所述服务化平台中的其他服务发送的配置请求,并对所述配置请求的发送服务进行运行环境的配置;其中,所述运行环境包括:编程语言和分布式数据库。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一所述的服务请求的处理方法。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的服务请求的处理方法。
CN201910511803.6A 2019-06-13 2019-06-13 服务请求的处理方法、装置、设备及存储介质 Active CN110191063B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910511803.6A CN110191063B (zh) 2019-06-13 2019-06-13 服务请求的处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910511803.6A CN110191063B (zh) 2019-06-13 2019-06-13 服务请求的处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110191063A CN110191063A (zh) 2019-08-30
CN110191063B true CN110191063B (zh) 2023-02-03

Family

ID=67721737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910511803.6A Active CN110191063B (zh) 2019-06-13 2019-06-13 服务请求的处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110191063B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784551A (zh) * 2019-11-05 2020-02-11 中国建设银行股份有限公司 基于多租户的数据处理方法、装置、设备和介质
CN111131397B (zh) * 2019-12-02 2022-09-30 京东科技信息技术有限公司 应用管理方法及系统、网关平台、服务端、存储介质
CN111163063B (zh) * 2019-12-12 2022-07-12 万翼科技有限公司 边缘应用管理方法及相关产品
CN111010339B (zh) * 2019-12-24 2021-11-30 象辑知源(武汉)科技有限公司 企业级高性能api服务网关设计方法
CN113630310B (zh) * 2020-05-06 2024-02-02 北京农信数智科技有限公司 一种分布式高可用网关系统
CN111782923A (zh) * 2020-06-24 2020-10-16 平安科技(深圳)有限公司 数据查询方法、装置、电子设备及存储介质
CN111970153A (zh) * 2020-08-21 2020-11-20 中国建设银行股份有限公司 基于虚拟网关的故障隔离方法、装置及相关设备
CN113010224B (zh) * 2021-03-03 2024-01-30 南方电网数字平台科技(广东)有限公司 前端微服务化方法、装置、计算机设备和存储介质
CN113259492B (zh) * 2021-07-07 2021-12-10 天聚地合(苏州)数据股份有限公司 服务请求转发方法及系统
CN115174586B (zh) * 2022-09-02 2022-11-29 常州尊尚信息科技有限公司 一种基于云平台的自动负载均衡系统及方法
CN115225577B (zh) * 2022-09-20 2022-12-27 深圳市明源云科技有限公司 数据处理控制方法、装置、电子设备及可读存储介质
CN115514650A (zh) * 2022-09-21 2022-12-23 杭州网易再顾科技有限公司 限流场景下的带宽管理方法、装置、介质及电子设备
CN115665074B (zh) * 2022-10-08 2023-09-15 广州市玄武无线科技股份有限公司 消息限流发送方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108306917A (zh) * 2017-01-13 2018-07-20 中国移动通信集团江西有限公司 数据处理方法和装置、微服务模块的注册方法及装置
CN108234653A (zh) * 2018-01-03 2018-06-29 马上消费金融股份有限公司 一种处理业务请求的方法及装置
CN109241767A (zh) * 2018-08-02 2019-01-18 浪潮软件集团有限公司 一种对非结构化数据资源的安全控制系统及方法
CN109672612A (zh) * 2018-12-13 2019-04-23 中国电子科技集团公司电子科学研究院 Api网关系统

Also Published As

Publication number Publication date
CN110191063A (zh) 2019-08-30

Similar Documents

Publication Publication Date Title
CN110191063B (zh) 服务请求的处理方法、装置、设备及存储介质
CN109510846B (zh) Api调用系统、方法、装置、电子设备及存储介质
US10761913B2 (en) System and method for real-time asynchronous multitenant gateway security
US10749985B2 (en) Custom communication channels for application deployment
CN111309374B (zh) 一种微服务系统和微服务系统中的服务调用方法
WO2018014657A1 (zh) 一种统一门户方法、装置及系统
CN111290865A (zh) 一种服务调用方法、装置、电子设备和存储介质
CN113055421B (zh) 一种服务网格治理方法及系统
US11134085B2 (en) Cloud least identity privilege and data access framework
CN110784360A (zh) 一种实现Kong声明式配置热更新的方法及系统
CN113794636B (zh) 一种基于Spring Cloud Gateway实现的动态路由编排方法及系统
US11418395B2 (en) Systems and methods for an enhanced framework for a distributed computing system
CN113572689A (zh) 微服务网关管理方法、系统、设备、可读存储介质及产品
Alliance Service-based architecture in 5G
CN113010561B (zh) 基于超级账本的数据获取方法、装置、计算机系统
WO2017088347A1 (zh) 基于云平台的应用用户使用信息管理的方法、设备及系统
CN116457759A (zh) 基于分布式容器组的系统内的服务编排
CN111447273B (zh) 云处理系统及基于云处理系统的数据处理方法
CN112181599A (zh) 模型训练方法、装置及存储介质
CN110545328A (zh) 非入侵式服务功能扩展增强方法、装置及服务器
CN106936643B (zh) 一种设备联动方法以及终端设备
CN110784551A (zh) 基于多租户的数据处理方法、装置、设备和介质
CN112381498B (zh) 电网业务处理系统、装置、设备和存储介质
CN113726578B (zh) 一种api网关的融合方法和网络架构系统
JP7011070B2 (ja) 分散型itインフラストラクチャにおいてプロセスプロトコルを生成するための方法

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