1.本公开涉及互联网领域和金融领域,更具体地涉及一种请求处理方法、装置、设备、介质和程序产品。
背景技术:2.互联网金融应用作为金融企业对外提供业务产品服务的主要渠道之一。相关技术中互联网金融应用架构体系可大致分为:渠道应用客户端,渠道应用服务端和外部服务,渠道应用客户端发送业务请求到渠道应用服务端,渠道应用服务端对业务请求进行处理后,调用外部服务以便于外部服务响应业务请求。
3.在实现本公开发明构思的过程中,发明人发现相关技术中至少存在以下问题:目前互联网金融应用的架构存在同层级的各个渠道系统存在明显的技术边界,且每个渠道内部的不同层级之间的耦合度较高,导致现有的架构运维成本较高。
技术实现要素:4.鉴于上述问题,本公开提供了一种请求处理方法、装置、设备、介质和程序产品。
5.根据本公开的一个方面,提供了一种请求处理方法,应用于服务端框架,上述服务端框架包括共享组合服务层和至少两个请求处理渠道,其中,每个上述请求处理渠道包括网关层和渠道展现交互层,上述方法包括:
6.响应于来自客户端的业务请求,根据上述业务请求中包含的域名信息确定目标请求处理渠道,其中,上述目标请求处理渠道为上述至少两个请求处理渠道中的一个;
7.通过上述目标请求处理渠道中的目标网关层对上述业务请求进行安全校验;
8.在上述业务请求通过安全校验的情况下,通过上述目标请求处理渠道中的目标渠道展现交互层根据预设格式对上述业务请求中包含的业务参数进行格式转换,生成组合服务参数;
9.通过上述共享组合服务层根据上述组合服务参数调用与上述组合服务参数对应的目标组合服务;以及
10.通过上述目标渠道展现交互层,向上述客户端发送由上述目标组合服务响应上述业务请求得到的执行结果。
11.根据本公开的实施例,上述请求处理方法还包括:
12.在通过上述目标请求处理渠道中的目标渠道展现交互层根据预设格式对上述业务参数进行格式转换之前,通过上述目标渠道展现交互层根据与上述目标请求处理渠道对应的所需参数信息对上述业务参数进行参数校验。
13.根据本公开的实施例,上述请求处理方法还包括:
14.上述通过上述目标请求处理渠道中的目标渠道展现交互层根据预设格式对上述业务请求中包含的业务参数进行格式转换之前,通过上述目标渠道展现交互层根据预设交互方式从上述业务请求中提取上述业务参数。
15.根据本公开的实施例,上述预设交互方式包括以下一种:页面提交式的交互方式、对话式的交互方式和数字人的交互方式。
16.根据本公开的实施例,上述通过上述目标渠道展现交互层根据预设交互方式从上述业务请求中提取上述业务参数包括:
17.在上述预设交互方式为上述页面提交式的交互方式的情况下,利用页面提交的上述业务请求,通过上述目标渠道展现交互层从利用页面提交的上述业务请求中提取上述业务参数;或者
18.在上述预设交互方式为上述对话式的交互方式的情况下,利用上述目标渠道展现交互层中的对话交互引擎调用智能客服,以便于通过上述智能客服进行交互对话;
19.从上述交互对话中提取上述业务参数;或者
20.在上述预设交互方式为上述数字人的交互方式的情况下,利用上述目标渠道展现交互层通过语音对话和图表交互的方式提取上述业务参数。
21.根据本公开的实施例,上述业务请求中包含客户端信息;
22.上述通过上述目标请求处理渠道中的目标网关层对上述业务请求进行安全校验包括:
23.通过上述目标网关层根据上述客户端信息对上述客户端的安全性进行校验。
24.本公开的另一个方面提供了一种请求处理装置,应用于服务端框架,上述服务端框架包括共享组合服务层和至少两个请求处理渠道,其中,每个上述请求处理渠道包括网关层和渠道展现交互层,上述装置包括:
25.确定模块,用于响应于来自客户端的业务请求,根据上述业务请求中包含的域名信息确定目标请求处理渠道,其中,上述目标请求处理渠道为上述至少两个请求处理渠道中的一个;
26.安全校验模块,用于通过上述目标请求处理渠道中的目标网关层对上述业务请求进行安全校验;
27.格式转换模块,用于在上述业务请求通过安全校验的情况下,通过上述目标请求处理渠道中的目标渠道展现交互层根据预设格式对上述业务请求中包含的业务参数进行格式转换,生成组合服务参数;
28.调用模块,用于通过上述共享组合服务层根据上述组合服务参数调用与上述组合服务参数对应的目标组合服务;以及
29.发送模块,用于通过上述目标渠道展现交互层,向上述客户端发送由上述目标组合服务响应上述业务请求得到的执行结果。
30.本公开的另一个方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得一个或多个处理器执行上述请求处理方法。
31.本公开的另一个方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述请求处理方法。
32.本公开的另一个方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述请求处理方法。
33.根据本公开的实施例,因为采用了包括共享组合服务层和至少两个请求处理渠道
的服务端框架,且每个请求处理渠道包括网关层和渠道展现交互层。在进行请求处理时,根据来自客户端的业务请求中包含的域名信息确定目标请求处理渠道,其中,目标请求处理渠道为至少两个请求处理渠道中的一个;然后通过目标请求处理渠道中的目标网关层对业务请求进行安全校验;之后在业务请求通过安全校验的情况下,通过目标请求处理渠道中的目标渠道展现交互层根据预设格式对业务请求中包含的业务参数进行格式转换,生成组合服务参数;之后通过共享组合服务层根据组合服务参数调用与组合服务参数对应的目标组合服务;之后通过目标渠道展现交互层,向客户端发送由目标组合服务响应业务请求得到的执行结果的技术手段,所以至少部分地克服了目前的架构存在同层级的各个渠道系统存在明显的技术边界,且每个渠道内部的不同层级之间的耦合度较高,导致运维成本较高的技术问题,进而达到了将渠道展现逻辑与共性的业务处理逻辑解耦,实现渠道业务逻辑复用,进一步有助于降低运维成本的技术效果。
附图说明
34.通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
35.图1示意性示出了根据本公开实施例的请求处理方法、装置、设备、介质和程序产品的应用场景图;
36.图2示意性示出了根据本公开实施例的请求处理方法的流程图;
37.图3示意性示出了根据本公开其中一个实施例的请求处理方法的服务端框架图;
38.图4示意性示出了根据本公开实施例的网关层的逻辑框图;
39.图5示意性示出了根据本公开实施例的渠道展现交互层的逻辑框图;
40.图6示意性示出了根据本公开实施例的共享组合服务层的逻辑框图;
41.图7示意性示出了根据本公开实施例的请求处理方法的逻辑框图;
42.图8示意性示出了根据本公开另一实施例的请求处理方法的流程图;
43.图9示意性示出了根据本公开实施例的请求处理装置的结构框图;以及
44.图10示意性示出了根据本公开实施例的适于实现请求处理方法的电子设备的方框图。
具体实施方式
45.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
46.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
47.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的
含义,而不应以理想化或过于刻板的方式来解释。
48.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
49.在新时代背景下,互联网金融领域业务呈现变化快、渠道多、开发化和智能化的特点。互联网金融应用作为金融企业对外提供业务产品服务的主要渠道之一,它致力于金融产品的快速投放,推进客户接触点聚合,在不同渠道提供对客一致的客户体验。
50.相关技术中互联网金融应用架构体系(以银行业为例)可大致分为:渠道应用客户端,渠道应用服务端(渠道应用服务端包括渠道技术控制、渠道展现交互、渠道交易逻辑)和外部服务(组合服务、产品服务)等。渠道应用客户端发送业务请求到渠道应用服务端,渠道应用服务端对业务请求进行处理后,调用外部服务以便于外部服务响应业务请求。
51.在实现本公开发明构思的过程中,发明人发现相关技术中至少存在以下问题:目前互联网金融应用的架构存在同层级的各个渠道系统存在明显的技术边界,且每个渠道内部的不同层级之间的耦合度较高,导致现有的架构运维成本较高。
52.另外,相关技术中的架构还存在如下问题:
53.不同渠道各自独立研发导致重复工作量大,复用困难,同样的业务逻辑需要各渠道单独研发维护,重复开发内容的工作量占比越来越大;修改频繁,每个产品应用的改造都导致所有渠道应用配合一起修改,渠道修改频繁;缺少灵活性,新建渠道无法复用存量资产,需要从头开始建设,业务上线速度慢;渠道业务差异,多个渠道间难以保证业务需求下达完全一致,在使用上容易对用户造成困扰,影响用户体验;研发难度大,既需要处理渠道展现逻辑也需要处理渠道业务逻辑及服务组合逻辑,开发难度大。
54.有鉴于此,本公开针对以上技术问题,通过将原有的互联网金融应用服务端架构拆分、重组,提取不同渠道间的相同之处,分别形成网关层和渠道展现交互层,降低渠道间的技术边界,从而降低运维成本。同时,针对同一渠道,将同一渠道分为网关层和渠道展现交互层,网关层用于对业务请求进行安全校验,渠道展现交互层用于对业务参数转换格式,并调用目标服务,以及向客户端返回执行结果,实现了同一渠道不同层级之间解耦。同时,将原架构的渠道交易逻辑与外部组合服务合并为共享组合服务层,实现了渠道展现逻辑与共性的业务处理逻辑解耦,便于渠道业务逻辑复用,不仅有助于进一步降低运维成本,,而且实现了多渠道共享服务,提高了资源利用率,节省了服务器资源。
55.具体地,本公开的实施例提供了一种请求处理方法,应用于服务端框架,上述服务端框架包括共享组合服务层和至少两个请求处理渠道,其中,每个上述请求处理渠道包括网关层和渠道展现交互层,上述方法包括:响应于来自客户端的业务请求,根据上述业务请求中包含的域名信息确定目标请求处理渠道,其中,上述目标请求处理渠道为上述至少两个请求处理渠道中的一个;通过上述目标请求处理渠道中的目标网关层对上述业务请求进行安全校验;在上述业务请求通过安全校验的情况下,通过上述目标请求处理渠道中的目标渠道展现交互层根据预设格式对上述业务请求中包含的业务参数进行格式转换,生成组合服务参数;通过上述共享组合服务层根据上述组合服务参数调用与上述组合服务参数对应的目标组合服务;以及通过上述目标渠道展现交互层,向上述客户端发送由上述目标组
合服务响应上述业务请求得到的执行结果。
56.需要说明的是,本公开实施例提供的请求处理方法和装置可用于互联网领域和金融领域。本公开实施例提供的请求处理方法和装置也可用于除互联网领域和金融领域之外的任意领域。本公开实施例提供的请求处理方法和装置的应用领域不做限定。
57.在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
58.在本公开的技术方案中,对数据的获取、收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
59.图1示意性示出了根据本公开实施例的请求处理方法、装置、设备、介质和程序产品的应用场景图。
60.如图1所示,根据该实施例的应用场景100可以包括网络、终端设备和服务器。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
61.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如金融类应用、购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
62.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
63.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
64.需要说明的是,本公开实施例所提供的请求处理方法一般可以由服务器105执行。相应地,本公开实施例所提供的请求处理装置一般可以设置于服务器105中。本公开实施例所提供的请求处理方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的请求处理装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
65.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
66.以下将基于图1描述的场景,通过图2~图8对公开实施例的请求处理方法进行详细描述。
67.图2示意性示出了根据本公开实施例的请求处理方法的流程图。
68.如图2所示,该实施例的请求处理方法应用于服务端框架,上述服务端框架包括共享组合服务层和至少两个请求处理渠道,其中,每个上述请求处理渠道包括网关层和渠道展现交互层,上述方法包括操作s210~操作s250,该请求处理方法可以由服务器执行。
69.在操作s210,响应于来自客户端的业务请求,根据上述业务请求中包含的域名信息确定目标请求处理渠道,其中,上述目标请求处理渠道为上述至少两个请求处理渠道中
的一个。
70.根据本公开的实施例,客户端可以包括能够发送业务请求的任意渠道客户端。例如,客户端渠道可以包括手机银行客户端、网上银行客户端、微信银行客户端等业务渠道。每个业务渠道的客户端具有与之对应的请求处理渠道。
71.根据本公开的实施例,业务请求中包含域名信息,根据域名信息确定与发送该业务请求对应的请求处理渠道。例如,手机银行客户端发送业务请求,则由于业务请求中包含手机银行客户端的域名信息,则该业务请求直接发送给与手机银行客户端对应的请求处理渠道。再如,通过微信小程序发送业务请求,则由于业务请求中包含微信小程序的域名信息,则该业务请求直接发送给与微信小程序对应的请求处理渠道。
72.在操作s220,通过上述目标请求处理渠道中的目标网关层对上述业务请求进行安全校验。
73.根据本公开的实施例,网关层位于网络负载均衡之后,渠道展现交互层之前,网关层作为应用服务端的总入口,对业务请求的安全性进行校验,有助于提高后续节点的安全性。
74.根据本公开的实施例,网关层还可以包括安全防护、路由、通讯层鉴权、流量控制、交易监控、全息监控、幂等交易缓存、服务灰度及多版本等通用的非业务功能。
75.在操作s230,在上述业务请求通过安全校验的情况下,通过上述目标请求处理渠道中的目标渠道展现交互层根据预设格式对上述业务请求中包含的业务参数进行格式转换,生成组合服务参数。
76.根据本公开的实施例,渠道展现层用于前台交互在服务端的处理。渠道展现层通过对业务参数进行格式转换,生成与共享组合服务层约定的统一格式,以便于从共享组合服务层调用服务。
77.在操作s240,通过上述共享组合服务层根据上述组合服务参数调用与上述组合服务参数对应的目标组合服务。
78.根据本公开的实施例,共享组合服务层基于分布式服务框架,对各业务领域的不同产品服务进行封装组合,以便于向不同的渠道接入应用提供现存的或未来可能的互联网金融业务组合。共享组合服务层向渠道展现交互层提供无状态的分布式服务。
79.根据本公开的实施例,共享组合服务层包括多个组合服务,组合服务例如可以包括登录组合服务、查询余额组合服务、理财组合服务、转账组合服务、存款组合服务、基金组合服务等。组合服务是由不同的产品服务封装组合形成。例如,登录组合服务可以包括账户认证服务和个人信息查询服务;查询余额组合服务可以包括卡列表查询服务、个人信息查询服务和卡余额查询服务;转账组合服务可以包括卡列表查询服务、个人信息查询服务、卡余额查询服务、卡存款服务和卡扣款服务。
80.根据本公开的实施例,根据组合服务参数从共享组合服务层中的多个组合服务中调用目标组合服务,然后目标组合服务依次执行与之对应的产品服务,并向渠道展现交互层返回执行结果。
81.在操作s250,通过上述目标渠道展现交互层,向上述客户端发送由上述目标组合服务响应上述业务请求得到的执行结果。
82.根据本公开的实施例,因为采用了包括共享组合服务层和至少两个请求处理渠道
的服务端框架,且每个请求处理渠道包括网关层和渠道展现交互层。在进行请求处理时,根据来自客户端的业务请求中包含的域名信息确定目标请求处理渠道,其中,目标请求处理渠道为至少两个请求处理渠道中的一个;然后通过目标请求处理渠道中的目标网关层对业务请求进行安全校验;之后在业务请求通过安全校验的情况下,通过目标请求处理渠道中的目标渠道展现交互层根据预设格式对业务请求中包含的业务参数进行格式转换,生成组合服务参数;之后通过共享组合服务层根据组合服务参数调用与组合服务参数对应的目标组合服务;之后通过目标渠道展现交互层,向客户端发送由目标组合服务响应业务请求得到的执行结果的技术手段,所以至少部分地克服了目前的架构存在同层级的各个渠道系统存在明显的技术边界,且每个渠道内部的不同层级之间的耦合度较高,导致运维成本较高的技术问题,进而达到了将渠道展现逻辑与共性的业务处理逻辑解耦,实现渠道业务逻辑复用,进一步有助于降低运维成本的技术效果。
83.图3示意性示出了根据本公开其中一个实施例的请求处理方法的服务端框架图。
84.如图3所示,服务端框架300包括web接入渠道310、app接入渠道320、小程序接入渠道330、组合服务层340和产品服务层350。
85.web接入渠道310包含与之对应的网关层、web渠道展现交互层;app接入渠道320包含与之对应的网关层、app渠道展现交互层;小程序接入渠道330包含与之对应的网关层、小程序渠道展现交互层。
86.组合服务层340包括多个组合服务,组合服务例如可以包括登录组合服务、查询余额组合服务、理财组合服务、转账组合服务、存款组合服务、基金组合服务等。组合服务层340还包含渠道交易逻辑,实现了渠道展现逻辑与渠道交易逻辑的解耦,渠道交易逻辑的复用,例如web接入渠道、app接入渠道、小程序接入渠道均可以从组合服务调用服务,渠道交易逻辑由组合服务层执行,达到了多渠道共享服务,提高资源利用率,节省服务器资源的效果。
87.产品服务层350包括不同的产品应用,例如产品应用可以包括账户认证、个人信息查询、卡列表查询、个人信息查询、卡余额查询等。组合服务是由不同的产品应用封装组合形成。例如,登录组合服务可以包括账户认证和个人信息查询;查询余额组合服务可以包括卡列表查询、个人信息查询和卡余额查询;转账组合服务可以包括卡列表查询、个人信息查询、卡余额查询、卡存款服务和卡扣款。
88.根据本公开的实施例,服务端框架300实现了渠道展现逻辑(即页面跳转逻辑)与业务处理逻辑(即渠道交易逻辑)解耦,以及渠道交易逻辑复用;同时将因产品服务变化导致的对渠道应用产生的影响降到最低,例如产品服务中的某个产品升级时,只需要调整组合服务即可,无需调整各个接入渠道。
89.根据本公开的实施例,上述业务请求中包含客户端信息;上述通过上述目标请求处理渠道中的目标网关层对上述业务请求进行安全校验包括:通过上述目标网关层根据上述客户端信息对上述客户端的安全性进行校验。
90.根据本公开的实施例,对客户端的安全性进行校验可以包括客户端是否是真实存在的客户端。
91.根据本公开的实施例,网关层还包含了过滤不合法报文、账号加密、路由、通讯层鉴权、流量控制、交易监控、全息监控、幂等交易缓存、服务灰度及多版本等通用的非业务功
能,用户可以根据实际需求开启所需的功能。
92.根据本公开的实施例,例如,具有灰度版本的情况下,路由功能可以利用白名单确定将业务请求转发至灰度服务器或非灰度服务器。再如,在针对某项业务举办优惠活动的情况下,可以通过流量控制模块对该业务请求进行限流,对该业务请求设置最高瞬时流量,实现限流功能,避免该业务请求数量较大导致服务器瘫痪。
93.图4示意性示出了根据本公开实施例的网关层的逻辑框图。
94.如图4所示,网关层包括了安全防护、通讯层鉴权、流量控制、交易监控、熔断降低、全息监控、路由灰度、优雅停机、幂等交易缓存等通用的非业务功能,用户可以根据实际需求开启所需的功能。例如,在网关层配置了安全防护、通讯鉴权和流量控制功能,业务请求通过负载均衡进入网关层,通过网关层对业务请求进行安全防护、通讯鉴权和流量控制操作之后,将业务请求转发至渠道展现交互层(bff层)。
95.bff全称为“backend for frontend”,即用户体验适配层。sam newman于2015年在一篇博客中首次提出bff(直译为“服务于前端的后端”)概念,并先后在rea和soundcloud两家公司实践了这个理念。bff层能够满足因不同客户端特殊的交互引起的对服务端新接口的差异化要求。
96.根据本公开的实施例,网关层可以部署在dmz区并启用安全防控,可以有效将恶意非法请求或攻击拦截在dmz区,提升后端服务节点的安全性。网关层还可以部署限流熔断,相比于传统的在应用服务器上通过限流构件进行拦截方式,在网关节点上部署限流熔断等流量保护措施,避免大流量负载到后端应用服务器上,达到对后端服务器的压力和影响更小,提升后端服务的可用性的目的。同时,建设单独的网关节点,将通用技术能力与业务逻辑进行有效隔离,对交易开发透明,有效降低非功能需求的研发和运维成本。
97.dmz全称为“demilitarized zone”,即网络隔离区。dmz在企业内部网络和外部网络之间构造一个安全地带,有效地保护了内部网络安全。
98.根据本公开的实施例,上述请求处理方法还包括:在通过上述目标请求处理渠道中的目标渠道展现交互层根据预设格式对上述业务参数进行格式转换之前,通过上述目标渠道展现交互层根据与上述目标请求处理渠道对应的所需参数信息对上述业务参数进行参数校验。
99.根据本公开的实施例,针对同一个业务请求,不同的请求处理渠道所需的参数不同。例如,不同渠道展现的话术、按钮的位置不同,导致所需的参数信息可能存在区别。因此,在目标渠道展现交互层需要根据目标渠道展现层所需参数信息对业务参数进行参数校验。
100.根据本公开的实施例,参数校验可以包括是否包含所有所需参数、参数是否合法等。
101.图5示意性示出了根据本公开实施例的渠道展现交互层的逻辑框图。
102.如图5所示,渠道展现交互层包含了日志监控、交易监控、数据校验处理、会话管理(例如会话检查、会话保持、会话数据读写等)、页面流量控制、安全控制、全息监控等功能。例如,在渠道展现交互层配置了数据校验处理、会话管理和页面流量控制,业务请求通过网关层发送至渠道展现交互层,通过渠道展现交互层对业务请求中的业务参数进行数据校验、会话管理、页面流量控制等操作后,将业务请求中的业务参数进行格式转换,生成组合
服务参数,以便于从共享组合服务层调用组合服务。
103.根据本公开的实施例,渠道展现交互层可以基于nodejs(一种让javascript运行在服务端的开发平台)框架进行开发,也可以基于springmvc框架(一种开发框架)进行开发。每个渠道内的渠道展现交互层按业务功能群组进行拆分,各个功能群组独立开发、部署、运维,提升bff层可用性和可维护性。
104.根据本公开的实施例,上述请求处理方法还包括:上述通过上述目标请求处理渠道中的目标渠道展现交互层根据预设格式对上述业务请求中包含的业务参数进行格式转换之前,通过上述目标渠道展现交互层根据预设交互方式从上述业务请求中提取上述业务参数。
105.根据本公开的实施例,上述预设交互方式包括以下一种:页面提交式的交互方式、对话式的交互方式和数字人的交互方式。
106.根据本公开的实施例,页面提交的交互方式例如可以包括用户在展示页面输入所需参数后,发送业务请求,此时业务请求中包含用户输入的业务参数。对话式的交互方式可以包括用于利用电话方式与智能客服进行对话沟通,通过智能客服对用户提问以及用户回答问题的对话中,获取所需的业务参数。数字人(人工智能柜员)的交互方式例如可以包括用户通过语音与数字人交互,数字人通过语音或在页面展示图表的形式与用户交互,从而在交互过程中获取业务参数。
107.根据本公开的实施例,上述通过上述目标渠道展现交互层根据预设交互方式从上述业务请求中提取上述业务参数包括:在上述预设交互方式为上述页面提交式的交互方式的情况下,利用页面提交的上述业务请求,通过上述目标渠道展现交互层从利用页面提交的上述业务请求中提取上述业务参数;或者在上述预设交互方式为上述对话式的交互方式的情况下,利用上述目标渠道展现交互层中的对话交互引擎调用智能客服,以便于通过上述智能客服进行交互对话;从上述交互对话中提取上述业务参数;或者在上述预设交互方式为上述数字人的交互方式的情况下,利用上述目标渠道展现交互层通过语音对话和图表交互的方式提取上述业务参数。
108.图6示意性示出了根据本公开实施例的共享组合服务层的逻辑框图。
109.如图6所示,共享组合服务层包括理财服务、账户服务、转账服务、存款服务、合作方服务、基金服务等。渠道展现交互层(例如手机银行渠道展现交互层、个人网银渠道展现交互层、小程序渠道展现交互层)生成组合服务参数之后,从共享组合服务层调用与组合服务参数对应的组合服务。例如,业务请求为转账服务,渠道展现交互层将业务请求中包含的业务参数转换格式,生成用于调用转账服务的组合服务参数,从而能够从共享组合服务层中调用转账服务。转账服务是由多个产品应用封装形成,例如转账服务由卡列表查询、卡余额查询、卡存款和卡扣款这几个产品应用封装形成,则共享组合服务层需要依次执行卡列表查询、卡余额查询、卡存款和卡扣款后,得到执行结果。
110.根据本公开的实施例,共享组合服务层不区分渠道,整体按业务功能进行微服务改造,支持水平扩展,提升共享层可用性和可维护性。
111.图7示意性示出了根据本公开实施例的请求处理方法的逻辑框图。
112.如图7所示,网关层位于dmz区,且网关层中包括多个网关。客户端发送业务请求,互联网负载均衡设备将业务请求转发至网关层中的网关。网关对业务请求进行安全校验
后,将业务请求转发至渠道展现交互层。
113.渠道展现交互层(bff层)位于内网区,渠道展现交互层配置有多个bff节点(如bff节点1,bff节点2),且在bff层内设置内网负载均衡。首先,内网负载均衡接收网关层发送的业务请求,并将业务请求分配给bff层中的bff节点,bff节点对业务请求中的业务参数进行格式转换,得到组合服务参数。根据组合服务参数从共享组合服务层调用组合服务。bff层中的多个bff节点之间的数据实时同步。
114.共享组合服务层和产品服务层位于内网区,bff层从共享组合服务层调用组合服务,共享组合服务层根据组合服务从产品服务层依次调用产品服务,并执行产品服务,并将执行结果返回给bff层。
115.图8示意性示出了根据本公开另一实施例的请求处理方法的流程图。
116.如图8所示,该实施例的请求处理方法包括操作s801~操作s811。
117.在操作s801,客户端发送业务请求,其中,业务请求中包含客户端信息和域名信息。
118.在操作s802,根据域名信息确定目标请求处理渠道,其中,目标请求处理渠道为多个请求处理渠道中的一个。例如,如图3,多个请求处理渠道分别为web接入渠道、app接入渠道和小程序接入渠道,目标请求处理渠道可以为app渠道。
119.在操作s803,通过目标请求处理渠道中的目标网关层根据客户端信息对客户端进行安全校验。
120.在操作s804,判断客户端是否验证通过。在客户端验证通过的情况下,执行操作s805;在客户端验证失败的情况下,执行操作s811。
121.在操作s805,向目标请求处理渠道中的目标渠道展现交互层发送业务请求。
122.在操作s806,目标渠道展现交互层根据与目标请求处理渠道对应的所需参数信息,对业务参数进行参数校验。
123.在操作s807,判断业务参数是否验证通过。在业务参数验证通过的情况下,执行操作s808;在业务参数验证失败的情况下,执行操作s811。
124.在操作s808,根据预设格式对业务参数进行格式转换,生成组合服务参数。
125.在操作s809,通过共享组合服务层根据组合服务参数调用与组合服务参数对应的目标组合服务,并执行目标组合服务包含的产品服务。
126.在操作s810,通过目标渠道展现交互层,向客户端发送执行结果。
127.在操作s811,返回业务请求失败的提示信息。
128.需要说明的是,本公开实施例中的流程图所示的操作除非明确说明不同操作之间存在执行的先后顺序,或者不同操作在技术实现上存在执行的先后顺序,否则,多个操作之间的执行顺序可以不分先后,多个操作也可以同时执行。
129.基于上述请求处理方法,本公开还提供了一种请求处理装置。以下将结合图9对该装置进行详细描述。
130.图9示意性示出了根据本公开实施例的请求处理装置的结构框图。
131.如图9所示,该实施例的请求处理装置900应用于服务端框架,上述服务端框架包括共享组合服务层和至少两个请求处理渠道,其中,每个上述请求处理渠道包括网关层和渠道展现交互层,上述请求处理装置900包括:确定模块910、安全校验模块920、格式转换模
块930、调用模块940和发送模块950。
132.确定模块910用于响应于来自客户端的业务请求,根据上述业务请求中包含的域名信息确定目标请求处理渠道,其中,上述目标请求处理渠道为上述至少两个请求处理渠道中的一个。在一实施例中,确定模块910可以用于执行前文描述的操作s210,在此不再赘述。
133.安全校验模块920用于通过上述目标请求处理渠道中的目标网关层对上述业务请求进行安全校验。在一实施例中,安全校验模块920可以用于执行前文描述的操作s220,在此不再赘述。
134.格式转换模块930用于在上述业务请求通过安全校验的情况下,通过上述目标请求处理渠道中的目标渠道展现交互层根据预设格式对上述业务请求中包含的业务参数进行格式转换,生成组合服务参数。在一实施例中,格式转换模块930可以用于执行前文描述的操作s230,在此不再赘述。
135.调用模块940用于通过上述共享组合服务层根据上述组合服务参数调用与上述组合服务参数对应的目标组合服务。在一实施例中,调用模块940可以用于执行前文描述的操作s240,在此不再赘述。
136.发送模块950用于通过上述目标渠道展现交互层,向上述客户端发送由上述目标组合服务响应上述业务请求得到的执行结果。在一实施例中,发送模块950可以用于执行前文描述的操作s250,在此不再赘述。
137.根据本公开的实施例,上述请求处理装置还包括参数校验模块。
138.参数校验模块,用于在通过上述目标请求处理渠道中的目标渠道展现交互层根据预设格式对上述业务参数进行格式转换之前,通过上述目标渠道展现交互层根据与上述目标请求处理渠道对应的所需参数信息对上述业务参数进行参数校验。
139.根据本公开的实施例,上述请求处理装置还包括:提取模块。
140.提取模块,用于上述通过上述目标请求处理渠道中的目标渠道展现交互层根据预设格式对上述业务请求中包含的业务参数进行格式转换之前,通过上述目标渠道展现交互层根据预设交互方式从上述业务请求中提取上述业务参数。
141.根据本公开的实施例,上述预设交互方式包括以下一种:页面提交式的交互方式、对话式的交互方式和数字人的交互方式。
142.根据本公开的实施例,上述提取模块包括第一提取单元、调用单元、第二提取单元和第三提取单元。
143.第一提取单元,用于在上述预设交互方式为上述页面提交式的交互方式的情况下,利用页面提交的上述业务请求,通过上述目标渠道展现交互层从利用页面提交的上述业务请求中提取上述业务参数。
144.调用单元,用于在上述预设交互方式为上述对话式的交互方式的情况下,利用上述目标渠道展现交互层中的对话交互引擎调用智能客服,以便于通过上述智能客服进行交互对话。
145.第二提取单元,用于从上述交互对话中提取上述业务参数。
146.第三提取单元,用于在上述预设交互方式为上述数字人的交互方式的情况下,利用上述目标渠道展现交互层通过语音对话和图表交互的方式提取上述业务参数。
147.根据本公开的实施例,上述业务请求中包含客户端信息。
148.根据本公开的实施例,上述安全校验模块还用于通过上述目标网关层根据上述客户端信息对上述客户端的安全性进行校验。
149.根据本公开的实施例的模块、单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
150.根据本公开的实施例,确定模块910、安全校验模块920、格式转换模块930、调用模块940和发送模块950中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,确定模块910、安全校验模块920、格式转换模块930、调用模块940和发送模块950中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,确定模块910、安全校验模块920、格式转换模块930、调用模块940和发送模块950中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
151.需要说明的是,本公开的实施例中请求处理装置部分与本公开的实施例中请求处理方法部分是相对应的,请求处理装置部分的描述具体参考请求处理方法部分,在此不再赘述。
152.图10示意性示出了根据本公开实施例的适于实现请求处理方法的电子设备的方框图。
153.如图10所示,根据本公开实施例的电子设备1000包括处理器1001,其可以根据存储在只读存储器(rom)1002中的程序或者从存储部分1008加载到随机访问存储器(ram)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic))等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
154.在ram 1003中,存储有电子设备1000操作所需的各种程序和数据。处理器1001、rom 1002以及ram 1003通过总线1004彼此相连。处理器1001通过执行rom 1002和/或ram 1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom 1002和ram 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
155.根据本公开的实施例,电子设备1000还可以包括输入/输出(i/o)接口1005,输入/输出(i/o)接口1005也连接至总线1004。电子设备1000还可以包括连接至i/o接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至i/o接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
156.本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
157.根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom 1002和/或ram 1003和/或rom 1002和ram 1003以外的一个或多个存储器。
158.本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的请求处理方法。
159.在该计算机程序被处理器1001执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
160.在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
161.在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
162.根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c++,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备
或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
163.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时电可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
164.本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
165.以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
技术特征:1.一种请求处理方法,应用于服务端框架,所述服务端框架包括共享组合服务层和至少两个请求处理渠道,其中,每个所述请求处理渠道包括网关层和渠道展现交互层,所述方法包括:响应于来自客户端的业务请求,根据所述业务请求中包含的域名信息确定目标请求处理渠道,其中,所述目标请求处理渠道为所述至少两个请求处理渠道中的一个;通过所述目标请求处理渠道中的目标网关层对所述业务请求进行安全校验;在所述业务请求通过安全校验的情况下,通过所述目标请求处理渠道中的目标渠道展现交互层根据预设格式对所述业务请求中包含的业务参数进行格式转换,生成组合服务参数;通过所述共享组合服务层根据所述组合服务参数调用与所述组合服务参数对应的目标组合服务;以及通过所述目标渠道展现交互层,向所述客户端发送由所述目标组合服务响应所述业务请求得到的执行结果。2.根据权利要求1所述的方法,还包括:在通过所述目标请求处理渠道中的目标渠道展现交互层根据预设格式对所述业务参数进行格式转换之前,通过所述目标渠道展现交互层根据与所述目标请求处理渠道对应的所需参数信息对所述业务参数进行参数校验。3.根据权利要求1或2所述的方法,还包括:所述通过所述目标请求处理渠道中的目标渠道展现交互层根据预设格式对所述业务请求中包含的业务参数进行格式转换之前,通过所述目标渠道展现交互层根据预设交互方式从所述业务请求中提取所述业务参数。4.根据权利要求3所述的方法,其中,所述预设交互方式包括以下一种:页面提交式的交互方式、对话式的交互方式和数字人的交互方式。5.根据权利要求4所述的方法,其中,所述通过所述目标渠道展现交互层根据预设交互方式从所述业务请求中提取所述业务参数包括:在所述预设交互方式为所述页面提交式的交互方式的情况下,利用页面提交的所述业务请求,通过所述目标渠道展现交互层从利用页面提交的所述业务请求中提取所述业务参数;或者在所述预设交互方式为所述对话式的交互方式的情况下,利用所述目标渠道展现交互层中的对话交互引擎调用智能客服,以便于通过所述智能客服进行交互对话;从所述交互对话中提取所述业务参数;或者在所述预设交互方式为所述数字人的交互方式的情况下,利用所述目标渠道展现交互层通过语音对话和图表交互的方式提取所述业务参数。6.根据权利要求1所述的方法,其中,所述业务请求中包含客户端信息;所述通过所述目标请求处理渠道中的目标网关层对所述业务请求进行安全校验包括:通过所述目标网关层根据所述客户端信息对所述客户端的安全性进行校验。7.一种请求处理装置,应用于服务端框架,所述服务端框架包括共享组合服务层和至少两个请求处理渠道,其中,每个所述请求处理渠道包括网关层和渠道展现交互层,所述装置包括:
确定模块,用于响应于来自客户端的业务请求,根据所述业务请求中包含的域名信息确定目标请求处理渠道,其中,所述目标请求处理渠道为所述至少两个请求处理渠道中的一个;安全校验模块,用于通过所述目标请求处理渠道中的目标网关层对所述业务请求进行安全校验;格式转换模块,用于在所述业务请求通过安全校验的情况下,通过所述目标请求处理渠道中的目标渠道展现交互层根据预设格式对所述业务请求中包含的业务参数进行格式转换,生成组合服务参数;调用模块,用于通过所述共享组合服务层根据所述组合服务参数调用与所述组合服务参数对应的目标组合服务;以及发送模块,用于通过所述目标渠道展现交互层,向所述客户端发送由所述目标组合服务响应所述业务请求得到的执行结果。8.一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~6中任一项所述的方法。9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~6中任一项所述的方法。10.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~6中任一项所述的方法。
技术总结本公开提供了一种请求处理方法,可以应用于互联网领域和金融领域。该方法应用于服务端框架,服务端框架包括共享组合服务层和至少两个请求处理渠道,其中,每个请求处理渠道包括网关层和渠道展现交互层,该方法包括:响应于来自客户端的业务请求,根据业务请求中包含的域名信息确定目标请求处理渠道;通过目标网关层对业务请求进行安全校验;在业务请求通过安全校验的情况下,通过目标渠道展现交互层根据预设格式对业务请求中包含的业务参数进行格式转换,生成组合服务参数;通过共享组合服务层根据组合服务参数调用目标组合服务;通过目标渠道展现交互层,向客户端发送业务请求的执行结果。本公开还提供了一种请求处理装置、设备、存储介质。存储介质。存储介质。
技术研发人员:王泽田 刘飞 吕鸥 李峰
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2022.07.22
技术公布日:2022/11/1