CN116962023A - 请求处理方法、金融网关及服务器 - Google Patents

请求处理方法、金融网关及服务器 Download PDF

Info

Publication number
CN116962023A
CN116962023A CN202310782703.3A CN202310782703A CN116962023A CN 116962023 A CN116962023 A CN 116962023A CN 202310782703 A CN202310782703 A CN 202310782703A CN 116962023 A CN116962023 A CN 116962023A
Authority
CN
China
Prior art keywords
service request
request
financial institution
service
token
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
Application number
CN202310782703.3A
Other languages
English (en)
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.)
Jiuxing Chengdu Information Technology Co ltd
Original Assignee
Jiuxing Chengdu 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 Jiuxing Chengdu Information Technology Co ltd filed Critical Jiuxing Chengdu Information Technology Co ltd
Priority to CN202310782703.3A priority Critical patent/CN116962023A/zh
Publication of CN116962023A publication Critical patent/CN116962023A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/101Access control lists [ACL]
    • 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
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

本申请提供了一种请求处理方法、金融网关及服务器,涉及网络技术领域。该方法包括:接收来自业务系统的第一业务请求,第一业务请求中携带有URL地址和令牌,令牌中包含业务系统的系统标识和密钥;基于令牌和/或redis数据库中的黑白名单,对第一业务请求进行鉴权;响应鉴权通过,基于URL地址,确定对第一业务请求的第一分发方式;采用第一分发方式,向金融机构系统发送第一业务请求。基于本方案,业务系统只需要和金融网关对接,金融机构系统也只需要和金融网关对接。对于业务系统和金融机构系统来说,金融网关就相当于一个黑盒,可以统一管理业务请求,便于工作人员管理系统间的交互。

Description

请求处理方法、金融网关及服务器
技术领域
本申请涉及网络技术领域,尤其涉及一种请求处理方法、金融网关及服务器。
背景技术
传统的金融机构面向用户提供服务的主要方式是设立线下的营业网点,通过营业网点的柜台与用户直接进行面对面交互办理业务。这种服务方式需要提供运营场所以及负担较大的人力成本,不仅运营的成本较高,而且服务时间也会受限。如果金融机构需要对业务进行扩展,需要扩大运营场所、增设营业网点或者增加工作人员的投入。这种传统的服务方式投入的成本较大,而且发展速度较慢,成为制约金融机构服务发展的瓶颈。
随着网络技术的发展,金融机构将服务转移到线上,建立业务系统与用户对接,用户可以通过业务系统来办理业务。对于金融机构来说,可以具有内部的工作系统以及对外的业务系统,而且可以通过业务系统对外提供多种服务。对外的业务系统和内部的工作系统之间,以及不同业务系统之间对接的方式并不统一,而且系统间交互复杂,对工作人员管理系统间交互带来了不便。
发明内容
本申请提供了一种请求处理方法、金融网关及服务器,以期统一管理业务请求,便于工作人员管理系统间的交互。
第一方面,本申请提供了一种请求处理方法,应用于金融网关,金融网关部署在服务器集群中的服务器,服务器集群连接于业务系统和金融机构系统,请求处理方法包括:接收来自业务系统的第一业务请求,第一业务请求中携带有统一资源定位符(uniformresource locator,URL)地址和令牌,令牌中包含业务系统的系统标识和密钥;基于令牌和/或redis数据库中的黑白名单,对第一业务请求进行鉴权;响应鉴权通过,基于URL地址,确定对第一业务请求的第一分发方式;采用第一分发方式,向金融机构系统发送第一业务请求。
基于本方案,业务系统只需要和金融网关对接,金融机构系统也只需要和金融网关对接。对于业务系统和金融机构系统来说,金融网关就相当于一个黑盒,可以统一管理业务请求。而且工作人员可以获取业务请求在链路中传递的进度以及传递的状态,便于工作人员管理系统间的交互。
结合第一方面,在第一方面的某些可能的实现方式中,基于令牌和/或redis数据库中的黑白名单,对第一业务请求进行鉴权,包括:将第一业务请求中的系统标识与黑白名单作比对,黑白名单包括黑名单和白名单;在黑名单中记录有系统标识的情况下,拒绝对第一业务请求鉴权;在白名单中记录有系统标识的情况下,通过对第一业务请求鉴权;在黑名单和白名单中都没有记录系统标识的情况下,将令牌中包含的系统标识和密钥与redis数据库中预先存储的系统标识以及密钥进行比对,对第一业务请求进行鉴权。
结合第一方面,在第一方面的某些可能的实现方式中,基于URL地址,确定对第一业务请求的第一分发方式,包括:基于URL地址中用于指示分发方式的字段,确定对第一业务请求的第一分发方式,第一分发方式包括超文本传输协议(hypertext transferprotocol,HTTP)、消息队列(message queue,MQ)或者远程过程调用(remote procedurecall,RPC)。
结合第一方面,在第一方面的某些可能的实现方式中,该方法还包括:为第一业务请求生成追踪标识,追踪标识随第一业务请求在链路中传递;接收来自链路中预先布置的埋点生成的针对追踪标识的埋点信息;基于埋点信息生成第一业务请求对应的链路追踪日志,和/或,基于埋点信息进行信息统计。
结合第一方面,在第一方面的某些可能的实现方式中,该方法还包括:将第一业务请求与追踪标识绑定存储在数据库中;接收来自金融机构系统的,针对第一业务请求的请求结果;基于请求结果,从数据库中关联追踪标识;基于追踪标识,将请求结果汇总到链路追踪日志,和/或,基于请求结果进行信息统计。
结合第一方面,在第一方面的某些可能的实现方式中,在进行信息统计之后,该方法还包括:展示信息统计结果;基于信息统计结果,确定是否达到熔断条件,熔断条件包括:金融机构系统在单位时间内的第一业务请求访问量达到第一预设门限、金融机构系统在单位时间内的第一业务请求的失败次数占比达到第二预设门限、金融机构系统的服务器宕机或者响应于工作人员的熔断操作;在金融机构系统达到熔断条件的情况下,标记金融机构系统被熔断。
结合第一方面,在第一方面的某些可能的实现方式中,在向金融机构系统发送第一业务请求之前,该方法还包括:确定金融机构系统未被标记为熔断。
结合第一方面,在第一方面的某些可能的实现方式中,在接收来自业务系统的第一业务请求之前,该方法还包括:接收来自业务系统的登录请求;基于登录请求生成令牌;向业务系统发送令牌。
结合第一方面,在第一方面的某些可能的实现方式中,金融网关通过金融机构系统接口与金融机构系统连接,该方法还包括:拦截来自业务系统,未经金融网关直接到达金融机构系统接口的第二业务请求;基于第二业务请求中令牌和/或redis数据库中的黑白名单,对第二业务请求进行鉴权;响应鉴权通过,基于第二业务请求中URL地址,确定对第二业务请求的第二分发方式;采用第二分发方式,向金融机构系统发送第二业务请求。
第二方面,本申请提供了一种金融网关,部署在服务器集群中的服务器,服务器集群连接于业务系统和金融机构系统,该金融网关包括:鉴权模块,用于接收来自业务系统的第一业务请求,第一业务请求中携带有统一资源定位符URL地址和令牌,令牌中包含业务系统的系统标识和密钥;基于令牌和/或redis数据库中的黑白名单,对第一业务请求进行鉴权;路由分发模块,用于响应鉴权通过,基于URL地址,确定对第一业务请求的第一分发方式;采用第一分发方式,向金融机构系统发送第一业务请求。
第三方面,本申请提供了一种服务器,包括存储器和处理器,存储器用于存储计算机程序,该处理器用于调用并执行计算机程序,以使得该装置执行第一方面以及第一方面任意一种可能实现方式中的方法。
第四方面,本申请提供了一种计算机可读存储介质,包括计算机程序,当该计算机程序在计算机上运行时,使得第一方面以及第一方面任一种可能实现方式中的方法被执行。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,当所述计算机程序在计算机上运行时,使得第一方面以及第一方面任一种可能实现方式中的方法被执行。
应当理解的是,本申请的第二方面至第五方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请实施例提供的请求处理方法的示意性流程图;
图2是本申请实施例提供的金融网关的架构示意图;
图3是本申请实施例提供的鉴权与路由分发的流程示意图;
图4是本申请实施例提供的鉴权与路由分发的另一流程示意图;
图5是本申请实施例提供的链路追踪的流程示意图;
图6是本申请实施例提供的服务器的示意性框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中,术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”以及任何变形,意图在于覆盖不排他的包含。
当前随着网络技术的大范围普及,金融机构针对自身涉及的业务,在线上建立业务系统。用户可以通过线上的业务系统来与金融机构对接办理业务。对于一个金融机构来说,可以有面向内部的工作系统,以及面向用户可以有多个业务系统。面向用户的业务系统和面向内部的工作系统之间,以及面向用户的多个业务系统之间对接的方式不统一,而且系统之间的链路关系和交互比较复杂,给工作人员处理系统间交互带来了不便。
鉴于此,本申请提供了一种请求处理方法、金融网关及服务器,对来自业务系统的第一业务请求进行鉴权,并在通过鉴权后基于第一业务请求中的URL地址确定第一业务请求的分发方式,并将第一业务请求分发到金融机构系统中。基于本方案,业务系统只需要和金融网关对接,金融机构系统也只需要和金融网关对接。对于业务系统和金融机构系统来说,金融网关就相当于一个黑盒,可以统一管理业务请求,便于工作人员管理系统间的交互。
图1是本申请实施例提供的请求处理方法的示意性流程图,该方法可应用于金融网关,该金融网关部署在服务器集群中的服务器,服务器集群连接于业务系统和金融机构系统。
其中,业务系统可以是面向用户的系统,用户可以通过业务系统来办理业务。与服务器集群相连接的可以有不止一个业务系统,业务系统可以为结算业务系统、票据业务系统或者支付业务系统等。金融机构系统可以是银行或者票交所等金融机构的内部系统。
该请求处理方法100包括步骤110至步骤140。
在步骤110中,接收来自业务系统的第一业务请求,第一业务请求中携带有URL地址和令牌(token),令牌中包含业务系统的系统标识和密钥。
其中,令牌可以为JSON Web Token(JWT),JWT是可以在网络应用环境中认证身份信息的一种基于JS对象简谱(javascript object notation,JSON)的开放标准。JWT结构紧凑且安全性高,适用于在分布式框架下认证身份信息。
可选地,令牌可以是金融网关生成的,业务系统获得令牌的方式可以是:
金融网关接收来自业务系统的登录请求;
金融网关中接收到登录请求之后,验证该登录请求的合法性;
在合法性验证通过之后,基于该登录请求生成令牌;
向业务系统发送令牌。
可选地,令牌还可以是业务系统生成的,业务系统生成令牌的方式可以是:
业务系统基于预先设定的生成令牌的规则来生成令牌,该规则对于业务系统和金融网关是统一的,所以业务系统基于该规则生成的令牌可用于在金融网关处鉴权。
在步骤120中,基于令牌和/或redis数据库中的黑白名单,对第一业务请求进行鉴权。
由于鉴权功能可用于判断第一业务请求的合法性,有利于保障金融网关的安全性,因此鉴权功能可以被设置在金融网关的入口处。
对第一业务请求进行鉴权的方式可以是:
将第一业务请求中的系统标识与黑白名单作比对,黑白名单包括黑名单和白名单。金融网关中包括redis数据库,redis数据库中记录有黑名单和白名单,其中黑名单中记录有拒绝鉴权的业务系统的系统标识,白名单中记录有通过鉴权的业务系统的系统标识。
在黑名单中记录有系统标识的情况下,拒绝对第一业务请求鉴权;
在白名单中记录有系统标识的情况下,通过对第一业务请求鉴权;
在黑名单和白名单中都没有记录该系统标识的情况下,将令牌中包含的系统标识和密钥与redis数据库中预先存储的系统标识以及密钥进行比对,对第一业务请求进行鉴权。
如果鉴权没有通过,则不对该第一业务请求进行分发,即,不将该第一业务请求发送到金融机构系统;如果鉴权通过,则可以将第一业务请求发送到金融机构系统。
在步骤130中,响应鉴权通过,基于URL地址,确定对第一业务请求的第一分发方式。
URL地址是用于完整地描述网络资源地址的字符串,其中包括用于指示分发方式的字段,金融网关可以根据该字段确定对第一业务请求的第一分发方式。
其中,第一分发方式可以包括HTTP、MQ或者RPC等,本申请对此不作限定。
在步骤140中,采用第一分发方式,向金融机构系统发送第一业务请求。
在金融网关接收第一业务请求到发送第一业务请求的过程中,该第一业务请求可以在金融网关中的模块组成的链路中传递。金融网关可以为第一任务请求生成追踪标识,该追踪标识可以随着第一任务请求一起在链路中传递。
在业务请求在整个链路中传递的过程中,每一个节点都预先布置有埋点。业务请求每传递到链路中的一个节点,该节点的埋点可以针对该追踪标识生成埋点信息。埋点信息中可以包括该节点的名称、业务请求经过该节点的时间,以及业务请求传递的状态为正常或者异常等信息。
金融网关可以接收来自链路中预先布置的埋点生成的针对该追踪标识的埋点信息。并基于埋点信息生成链路追踪日志,和/或,基于埋点信息进行信息统计。
通过埋点信息生成的链路追踪日志或者信息统计,工作人员可以获取第一业务请求在链路中传递的进度以及传递的状态,有利于工作人员管理系统间的交互。
第一业务请求在链路中传递的过程中,始终携带有追踪标识。而金融网关将第一业务请求发送到金融机构系统时,可以不携带追踪标识。因为金融机构系统为第三方提供的系统,其中可能并未布置埋点,即使将追踪标识发送给金融机构系统,金融机构系统也可能不会返回埋点信息。
因此,金融网关将第一业务请求发送到金融机构系统时,可以将该第一业务请求与追踪标识绑定存储在数据库中,此处的数据库与上文提到的redis数据库可以为同一个数据库,也可以为不同的数据库,本申请对此不作限定。
在接收到来自金融机构系统的,针对该第一业务请求的请求结果之后,可以基于请求结果,从数据库中关联出于该第一业务请求绑定存储的追踪标识。请求结果与追踪标识相关联之后,可以基于追踪标识,将请求结果汇总到链路追踪日志中,和/或,基于请求结果进行信息统计,以便于工作人员完整获知该第一业务请求的状态。
在进行信息统计之后,可以向工作人员展示信息统计结果,从信息统计结果中可以确定金融机构系统的运行状态。
基于信息统计结果,可以判断是否达到熔断条件。熔断条件包括:金融机构系统在单位时间内的第一业务请求访问量达到第一预设门限、金融机构系统在单位时间内的第一业务请求的失败次数占比达到第二预设门限、金融机构系统的服务器宕机或者响应于工作人员的熔断操作;
在该金融机构系统达到熔断条件的情况下,标记该金融机构系统被熔断。
应理解,此处仅罗列了部分熔断条件,熔断条件包括但不限于上述熔断条件。
在金融网关中加入熔断机制,可以在金融机构系统运行压力过大或者运行不正常的情况下停止向其发送第一业务请求,有利于提高金融机构系统运行的稳定性。
由于引入了熔断机制,所以在向金融机构系统发送第一业务请求之前,可以先确定该金融机构系统未被标记为熔断。
即,在金融机构系统未被标记为熔断的情况下,才向该金融机构系统发送第一业务请求;在金融机构系统被标记为熔断的情况下,不向该金融机构系统发送第一业务请求。
可选地,金融网关可以通过金融机构系统接口与金融机构系统连接。由于业务系统和金融机构系统相比于本申请提出的金融网关来说,开发得更早。在本申请提出的金融网关得到应用之前,业务系统可以直接和金融机构系统接口连接,进而与金融机构系统交互。
而在本申请提出的金融网关得到应用之后,业务系统可能并没有配合本申请提出的金融网关进行改进,仍然直接和金融机构系统接口连接。通过这种方式,业务系统和金融机构系统之间交互就可以绕过金融网关,具有安全隐患。
因此,为了避免上述情况,金融网关中还可以引入拦截功能。
金融网关可以拦截来自业务系统,未经金融网关直接到达金融机构系统接口的第二业务请求。并基于第二业务请求中令牌和/或redis数据库中的黑白名单,对第二业务请求进行鉴权。在鉴权通过的情况下,基于第二业务请求中URL地址,确定对第二业务请求的第二分发方式;并采用第二分发方式,向金融机构系统发送第二业务请求。
基于上述拦截功能,业务系统和金融机构系统之间交互就无法绕过金融网关,来自业务系统的所有的业务请求都需要进行鉴权,提高了交互的安全性。
图2是本申请实施例提供的金融网关的架构示意图。该金融网关可以为图1所示实施例中的金融网关。该金融网关中包括nginx集群和应用程序编程接口(applicationprogramming interface,API)网关,nginx集群可用于进行负载均衡,API网关可用于将业务请求转发给其他模块。
金融网关中的模块可以包括鉴权模块、路由分发模块、链路追踪模块、拦截模块、转发模块、熔断模块、日志模块、信息统计模块和监控模块。
其中,鉴权模块,用于接收来自业务系统的第一业务请求,第一业务请求中携带有URL地址和令牌,令牌中包含业务系统的系统标识和密钥;基于令牌和/或redis数据库中的黑白名单,对第一业务请求进行鉴权。
路由分发模块,用于响应鉴权通过,基于URL地址,确定对第一业务请求的第一分发方式;采用第一分发方式,向金融机构系统发送第一业务请求。
可选地,鉴权模块可用于,将第一业务请求中的系统标识与黑白名单作比对,黑白名单包括黑名单和白名单;在黑名单中记录有系统标识的情况下,拒绝对第一业务请求鉴权;在白名单中记录有系统标识的情况下,通过对第一业务请求鉴权;在黑名单和白名单中都没有记录系统标识的情况下,将令牌中包含的系统标识和密钥与redis数据库中预先存储的系统标识以及密钥进行比对,对第一业务请求进行鉴权。
可选地,路由分发模块可用于,基于URL地址中用于指示分发方式的字段,确定对第一业务请求的第一分发方式,第一分发方式包括HTTP、MQ或者RPC。
图3是本申请实施例提供的鉴权与路由分发的流程示意图。
在步骤301中,业务系统向鉴权模块发送登录请求;
在步骤302中,鉴权模块验证登录请求的合法性;
在步骤303中,鉴权模块基于登录请求,生成令牌,并将令牌存入redis数据库;
在步骤304中,鉴权模块将生成的令牌返回给业务系统;
在步骤305中,业务系统响应于用户的操作,向鉴权模块发送第一业务请求,第一业务请求中携带有令牌和URL地址;
在步骤306中,鉴权模块将第一业务请求中令牌中的系统标识与redis数据库中的黑名单以及白名单进行比对,若该系统标识在黑名单中,则拒绝对该第一业务请求鉴权,若该系统标识在白名单中,则通过对该第一业务请求鉴权;
在步骤307中,若黑名单和白名单中都没有记录该系统标识,则鉴权模块解析并校验令牌中的密钥,对第一业务请求进行鉴权;
在步骤308中,在鉴权通过的情况下,鉴权模块向路由分发模块发送该第一业务请求;
在步骤309中,路由分发模块基于URL地址,判断对该第一业务请求的分发方式,并将第一业务请求发送到金融机构系统中;
在步骤310中,路由分发模块接收来自金融机构系统的请求结果;
在步骤311中,路由分发模块将请求结果返回发送到业务系统。
图4是本申请实施例提供的鉴权与路由分发的另一流程示意图。
如图4所示,令牌接口调用令牌生成软件开发工具包(software developmentkit,SDK)生成令牌,将令牌存入redis数据库,而且将令牌发送到业务系统。
业务系统将携带有令牌与系统标识的第一业务请求经API网关发送到鉴权模块。
鉴权模块首先使用redis数据库中的黑白名单进行鉴权,其中黑名单中记录有拒绝鉴权的业务系统的系统标识,白名单中记录有通过鉴权的业务系统的系统标识。
在黑名单中记录有系统标识的情况下,拒绝对第一业务请求鉴权;
在白名单中记录有系统标识的情况下,通过对第一业务请求鉴权;
在黑名单和白名单中都没有记录该系统标识的情况下,将令牌中包含的系统标识和密钥与redis数据库中预先存储的系统标识以及密钥进行比对,对第一业务请求进行鉴权。
存储有黑白名单的redis数据库与存储有系统标识以及密钥的redis数据库可以为同一个redis数据库也可以为不同的redis数据库。
通过鉴权后,路由分发模块将第一业务请求发送到金融机构系统。
可选地,链路追踪模块可用于,为第一业务请求生成追踪标识,追踪标识随第一业务请求在链路中传递;接收来自链路中预先布置的埋点生成的针对追踪标识的埋点信息。
日志模块可用于,基于埋点信息生成第一业务请求对应的链路追踪日志。
信息统计模块可用于,基于埋点信息进行信息统计。
可选地,链路追踪模块可用于,将第一业务请求与追踪标识绑定存储在数据库中;接收来自金融机构系统的,针对第一业务请求的请求结果;基于请求结果,从数据库中关联追踪标识。
日志模块可用于,基于追踪标识,将请求结果汇总到链路追踪日志。
信息统计模块可用于,基于请求结果进行信息统计。
图5是本申请实施例提供的链路追踪的流程示意图。
业务系统通过API网关向请求传递链路发送第一业务请求,这里的请求传递链路可以包括但不限于如图4所示的鉴权链路。链路追踪模块生成追踪标识,这个追踪标识随着第一业务请求一起在请求传递链路中传递,链路中有预先布置的埋点。
该链路追踪模块可以基于skywalking框架构建。
而路由分发模块将该第一业务请求发送到金融机构系统时,并不会一起将追踪标识发送过去。而是将追踪标识与第一业务请求绑定存储在数据库中。
在接收到来自金融机构系统的请求结果后,基于请求结果,从数据库中关联追踪标识。
埋点信息和请求结果可以汇聚到日志模块和信息统计模块,以生成链路追踪日志以及进行信息统计。
可选地,信息统计模块可用于,展示信息统计结果。
监控模块可用于,基于信息统计结果,确定是否达到熔断条件,熔断条件包括:金融机构系统在单位时间内的第一业务请求访问量达到第一预设门限、金融机构系统在单位时间内的第一业务请求的失败次数占比达到第二预设门限、金融机构系统的服务器宕机或者响应于工作人员的熔断操作。
熔断模块可用于,在金融机构系统达到熔断条件的情况下,标记金融机构系统被熔断。
可选地,路由分发模块还可用于,确定金融机构系统未被标记为熔断。
可选地,鉴权模块还可用于,接收来自业务系统的登录请求;基于登录请求生成令牌;向业务系统发送令牌。
可选地,拦截模块可用于,拦截来自业务系统,未经金融网关直接到达金融机构系统接口的第二业务请求。
转发模块可用于,将拦截的第二任务请求转发给鉴权模块。
鉴权模块可用于,基于第二业务请求中令牌和/或redis数据库中的黑白名单,对第二业务请求进行鉴权。
路由分发模块可用于,响应鉴权通过,基于第二业务请求中URL地址,确定对第二业务请求的第二分发方式;采用第二分发方式,向金融机构系统发送第二业务请求。
图6是本申请实施例提供的服务器的示意性框图。如图6所示,该服务器600可以包括至少一个处理器610,可用于实现本申请提供的请求处理方法中金融网关的功能。具体参见方法实施例中的详细描述,此处不做赘述。
该服务器600还可以包括一个存储器620,用于存储程序指令和/或数据。存储器620和处理器610耦合。本申请中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器610可能和存储器620协同操作。处理器610可能执行存储器620中存储的程序指令。所述至少一个存储器620中的至少一个可以包括于处理器610中。
该服务器600还可以包括一个通信接口630,用于通过传输介质和其它设备进行通信,从而用于终端设备600中的装置可以和其它设备进行通信。所述通信接口630例如可以是收发器、接口、总线、电路或者能够实现收发功能的装置。处理器610可利用通信接口630收发数据和/或信息,并用于实现图1对应的实施例中所述的请求处理方法。
本申请中不限定上述处理器610、存储器620以及通信接口630之间的具体连接介质。本申请在图6中以处理器610、存储器620以及通信接口630之间通过总线640连接。总线640在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
根据本申请提供的方法,本申请还提供一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行图1对应的实施例中所述的请求处理方法。
根据本申请提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码。当该计算机程序代码在计算机上运行时,使得该计算机执行图1对应的实施例中所述的请求处理方法。
本申请提供的技术方案可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、终端设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线,例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质例如,数字视频光盘(digital video disc,DVD)、或者半导体介质等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (13)

1.一种请求处理方法,其特征在于,应用于金融网关,所述金融网关部署在服务器集群中的服务器,所述服务器集群连接于业务系统和金融机构系统,所述请求处理方法包括:
接收来自业务系统的第一业务请求,所述第一业务请求中携带有统一资源定位符URL地址和令牌,所述令牌中包含所述业务系统的系统标识和密钥;
基于所述令牌和/或redis数据库中的黑白名单,对所述第一业务请求进行鉴权;
响应鉴权通过,基于所述URL地址,确定对所述第一业务请求的第一分发方式;
采用所述第一分发方式,向金融机构系统发送所述第一业务请求。
2.根据权利要求1所述的请求处理方法,其特征在于,所述基于所述令牌和/或redis数据库中的黑白名单,对所述第一业务请求进行鉴权,包括:
将所述第一业务请求中的所述系统标识与所述黑白名单作比对,所述黑白名单包括黑名单和白名单;
在所述黑名单中记录有所述系统标识的情况下,拒绝对所述第一业务请求鉴权;
在所述白名单中记录有所述系统标识的情况下,通过对所述第一业务请求鉴权;
在所述黑名单和所述白名单中都没有记录所述系统标识的情况下,将所述令牌中包含的所述系统标识和所述密钥与redis数据库中预先存储的系统标识以及密钥进行比对,对所述第一业务请求进行鉴权。
3.根据权利要求1所述的请求处理方法,其特征在于,所述基于所述URL地址,确定对所述第一业务请求的第一分发方式,包括:
基于所述URL地址中用于指示分发方式的字段,确定对所述第一业务请求的第一分发方式,所述第一分发方式包括超文本传输协议HTTP、消息队列MQ或者远程过程调用RPC。
4.根据权利要求1至3中任一项所述的请求处理方法,其特征在于,所述方法还包括:
为所述第一业务请求生成追踪标识,所述追踪标识随所述第一业务请求在链路中传递;
接收来自链路中预先布置的埋点生成的针对所述追踪标识的埋点信息;
基于所述埋点信息生成所述第一业务请求对应的链路追踪日志,和/或,基于所述埋点信息进行信息统计。
5.根据权利要求4所述的请求处理方法,其特征在于,所述方法还包括:
将所述第一业务请求与所述追踪标识绑定存储在数据库中;
接收来自所述金融机构系统的,针对所述第一业务请求的请求结果;
基于所述请求结果,从所述数据库中关联所述追踪标识;
基于所述追踪标识,将所述请求结果汇总到所述链路追踪日志,和/或,基于所述请求结果进行信息统计。
6.根据权利要求5所述的请求处理方法,其特征在于,在所述进行信息统计之后,所述方法还包括:
展示信息统计结果;
基于所述信息统计结果,确定是否达到熔断条件,所述熔断条件包括:所述金融机构系统在单位时间内的第一业务请求访问量达到第一预设门限、所述金融机构系统在单位时间内的第一业务请求的失败次数占比达到第二预设门限、所述金融机构系统的服务器宕机或者响应于工作人员的熔断操作;
在所述金融机构系统达到熔断条件的情况下,标记所述金融机构系统被熔断。
7.根据权利要求6所述的请求处理方法,其特征在于,在所述向金融机构系统发送所述第一业务请求之前,所述方法还包括:
确定所述金融机构系统未被标记为熔断。
8.根据权利要求1至3中任一项所述的请求处理方法,其特征在于,在所述接收来自业务系统的第一业务请求之前,所述方法还包括:
接收来自所述业务系统的登录请求;
基于所述登录请求生成所述令牌;
向所述业务系统发送所述令牌。
9.根据权利要求1至3中任一项所述的请求处理方法,其特征在于,所述金融网关通过金融机构系统接口与所述金融机构系统连接,所述方法还包括:
拦截来自所述业务系统,未经所述金融网关直接到达所述金融机构系统接口的第二业务请求;
基于所述第二业务请求中令牌和/或redis数据库中的黑白名单,对所述第二业务请求进行鉴权;
响应鉴权通过,基于所述第二业务请求中URL地址,确定对所述第二业务请求的第二分发方式;采用所述第二分发方式,向金融机构系统发送所述第二业务请求。
10.一种金融网关,其特征在于,部署在服务器集群中的服务器,所述服务器集群连接于业务系统和金融机构系统,所述金融网关包括:
鉴权模块,用于接收来自业务系统的第一业务请求,所述第一业务请求中携带有统一资源定位符URL地址和令牌,所述令牌中包含所述业务系统的系统标识和密钥;基于所述令牌和/或redis数据库中的黑白名单,对所述第一业务请求进行鉴权;
路由分发模块,用于响应鉴权通过,基于所述URL地址,确定对所述第一业务请求的第一分发方式;采用所述第一分发方式,向金融机构系统发送所述第一业务请求。
11.一种服务器,其特征在于,包括存储器和处理器,其中,
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序,以实现如权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,包括计算机程序,当所述计算机程序在计算机上运行时,使得如权利要求1至9中任一项所述的方法被执行。
13.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序在计算机上运行时,使得如权利要求1至9中任一项所述的方法被执行。
CN202310782703.3A 2023-06-28 2023-06-28 请求处理方法、金融网关及服务器 Pending CN116962023A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310782703.3A CN116962023A (zh) 2023-06-28 2023-06-28 请求处理方法、金融网关及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310782703.3A CN116962023A (zh) 2023-06-28 2023-06-28 请求处理方法、金融网关及服务器

Publications (1)

Publication Number Publication Date
CN116962023A true CN116962023A (zh) 2023-10-27

Family

ID=88441919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310782703.3A Pending CN116962023A (zh) 2023-06-28 2023-06-28 请求处理方法、金融网关及服务器

Country Status (1)

Country Link
CN (1) CN116962023A (zh)

Similar Documents

Publication Publication Date Title
CN101350717B (zh) 一种通过即时通信软件登录第三方服务器的方法及系统
CA2736582C (en) Authorization of server operations
CN105229987B (zh) 主动联合的移动认证
CN112073400A (zh) 一种访问控制方法、系统、装置及计算设备
KR102119449B1 (ko) 통합 오픈 api 플랫폼 시스템, 이를 이용한 금융 서비스 방법 및 이를 위한 컴퓨터 프로그램
CN102006271A (zh) 用于在线交易的ip地址安全多信道认证
CN111222841B (zh) 一种基于区块链的数据分配方法及其设备、存储介质
US10841293B2 (en) Gateway device for authentication and authorization of applications and/or servers for data transfer between applications and/or servers
CN111488596A (zh) 数据处理权限验证方法、装置、电子设备及存储介质
CN108966216B (zh) 一种应用于配电网的移动通信方法及系统
KR102323680B1 (ko) 통합 인증을 통한 정보 수집 플랫폼 시스템, 통합 인증을 통한 정보 수집 방법 및 이를 위한 컴퓨터 프로그램
CN111949335A (zh) 用于共享金融数据的方法和设备
KR102116587B1 (ko) 사이버 id를 이용하여 보안 트랜잭션을 제공하는 방법 및 시스템
CN111726328A (zh) 用于对第一设备进行远程访问的方法、系统以及相关设备
CN116962023A (zh) 请求处理方法、金融网关及服务器
JP4630187B2 (ja) 認証方法
KR101331575B1 (ko) 전화인증 우회 해킹 차단 방법 및 시스템
US11223618B2 (en) Control of delegation rights
CN106534047A (zh) 一种基于Trust应用的信息传输方法及装置
US11455605B2 (en) Method for processing transactional data, corresponding device and program
KR102347642B1 (ko) 금융상품 가입 중개 서비스 시스템과 방법 및 이를 위한 컴퓨터 프로그램
CN114826616B (zh) 数据处理方法、装置、电子设备和介质
CN108234399A (zh) 一种接口通信方法及终端
CN117375849A (zh) 基于区块链的应用访问方法、装置、计算机、介质及产品
CN114430428A (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