业务请求处理方法、装置、设备及存储介质与流程

文档序号:27080478发布日期:2021-10-24 12:14阅读:82来源:国知局
业务请求处理方法、装置、设备及存储介质与流程

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.图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;图2为本发明业务请求处理方法第一实施例的流程示意图;图3为本发明业务请求处理方法第二实施例的流程示意图;图4为本发明业务请求处理方法第三实施例的流程示意图;图5为本发明业务请求处理装置第一实施例的结构框图。
27.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
28.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
29.参照图1,图1为本发明实施例方案涉及的硬件运行环境的业务请求处理设备结构示意图。
30.如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless

fidelity,wi

fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram),也可以是稳定的非易失性存储器(non

volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
31.本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
32.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及业务请求处理程序。
33.在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在业务请求处理设备中,所述电子设备通过处理器1001调用存储器1005中存储的
业务请求处理程序,并执行本发明实施例提供的业务请求处理方法。
34.本发明实施例提供了一种业务请求处理方法,参照图2,图2为本发明一种业务请求处理方法第一实施例的流程示意图。
35.本实施例中,所述业务请求处理方法包括以下步骤:步骤s10:获取接入方发送的业务接入请求,并对所述业务接入请求进行解析,获得接口标识及请求参数。
36.需要说明的是,本实施例的执行主体可以是所述业务请求处理设备,所述业务请求处理设备可以是服务器、云服务器等电子设备,还可以为其他可实现相同或相似功能的设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以业务请求处理设备为例对本发明业务请求处理方法进行说明。
37.需要说明的是,接入方可以是其他需要对接流程中心的系统。企业内部的流程中心可以部署在所述业务请求处理设备上,其他系统在需要对接流程中心时,可以向业务请求处理设备发送业务接入请求,业务接入请求中可以包括待对接接口的接口标识及需要发送至待对接接口的请求参数。
38.在实际使用中,接入方可以通过接口请求方式将业务接入请求发送至业务请求处理设备,例如:采用restfule风格的接口请求方式将业务接入请求发送至业务请求处理设备。接入方还可以采用远程调用方式将业务接入请求发送至业务请求处理设备,例如:采用dubbo远程调用,将业务接入请求发送至业务请求处理设备。
39.步骤s20:查找所述接口标识对应的业务接口,并确定所述业务接口对应的业务处理队列。
40.需要说明的是,部署在业务请求处理设备上的流程中心中为不同的业务设置了不同的业务接口,用于执行不同的业务流程。查找接口标识对应的业务接口可以是在根据接口标识在业务接口信息表中查找对应的业务接口,其中,业务接口信息表可以由业务请求处理设备的管理人员预先进行设置,其中保存有各个业务接口的接口信息,接口信息可以包括接口标识、接口功能描述、接口队列标识、接口接收参数、接口访问地址等信息。确定业务接口对应的业务处理队列可以是根据业务接口的接口信息确定接口队列标识,根据接口队列标识查找对应的业务处理队列,其中,业务处理队列可以为消息队列(message queue),例如:rabbitmq、rocketmq、activemq、kafka、zeromq、metamq等消息队列。
41.步骤s30:将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理。
42.需要说明的是,传统的直接根据请求参数调用业务接口,需要调用方一直等待业务接口返回的结果,且若是业务接口当前繁忙或者异常,甚至可能会出现无法调用从而导致请求参数丢失等现象,为了解决该缺陷,可以在流程中心中引入业务处理队列,在接收到请求参数时,直接向接入方返回消息成功接收的提示,使接入方不必等待业务调用结果,后续间隔一定时长查询调用结果或等待业务请求处理设备推送调用结果即可,而业务请求处理设备在接收到请求参数时也不必立即处理,而是可以将请求参数缓存至业务处理队列中,在业务接口运行正常且不繁忙时根据请求参数执行业务流程。
43.在实际使用中,业务处理队列存在对应的生产者及消费者,生产者用于将数据放入业务处理队列中,消费者用于监听业务处理队列,在业务处理队列中存在数据时,取出数
据进行消费。将所述请求参数添加至所述业务处理队列中可以是通过业务处理队列对应的生产者将请求参数添加至业务处理队列中。
44.可以理解的是,业务处理队列对应的消费者在监听到业务处理队列中存在请求参数时,会将请求参数从业务处理队列中取出,再根据请求参数调用业务接口进行数据处理,从而执行对应的业务流程。
45.进一步地,为了避免参数丢失,且可及时发现系统卡顿,本实施例步骤s30之前,还可以包括:获取所述业务处理队列的当前参数总数;在所述当前参数总数小于预设队列上限阈值时,执行所述将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理的步骤。
46.需要说明的是,业务处理队列的当前参数总数可以是业务处理队列中当前存在的请求参数的数量。若业务请求处理设备运行异常或卡顿,则会导致业务流程无法正常执行,此时业务处理队列中的请求参数无法被正常消费,数量会不停增加,因此,若业务处理队列的当前参数总数小于预设队列上限阈值,则可以说明业务处理队列中的请求参数一直被正常消费,即业务请求处理设备并未出现卡顿或运行异常,则此时可以正常执行所述将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理的步骤。
47.可以理解的是,若当前参数总数大于预设队列上限阈值时,则可能业务请求处理设备运行卡顿或运行异常,无法正常消费业务处理了队列中的数据,需要进行排查,则此时可以向业务请求处理设备的管理人员发出异常信息,由业务请求处理设备的管理人员人工进行排查。
48.本实施例通过获取接入方发送的业务接入请求,并对所述业务接入请求进行解析,获得接口标识及请求参数;查找所述接口标识对应的业务接口,并确定所述业务接口对应的业务处理队列;将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理。由于在调用业务接口时并非直接阻塞式调用业务接口,而是将请求参数添加至业务接口对应的业务处理队列中,使得监听到请求参数的消费者根据请求参数调用业务接口,可以不必实时处理数据,避免阻塞等现象,提高了业务接口的负载能力。
49.参考图3,图3为本发明一种业务请求处理方法第二实施例的流程示意图。
50.基于上述第一实施例,本实施例业务请求处理方法在所述步骤s30之前,还包括:步骤s21:获取所述业务接口对应的参数接收规则。
51.需要说明的是,各个不同的业务接口对应了不同的业务流程,而为了保证业务流程的正常执行,业务接口对接收的参数是存在要求的,参数接收规则用于表示业务接口的参数要求。其中,参数接收规则可以包括参数数量、各参数名称、参数取值范围等规则。
52.步骤s22:根据所述参数接收规则对所述请求参数进行数据转换,获得接口调用参数。
53.需要说明的是,接收到的业务接入请求可能是从不同的系统发送而来的,而各个不同的系统的数据格式均可能并不相同,由此导致接收到的请求参数可能并不符合业务接
口的要求,无法直接通过该请求参数调用业务接口,因此根据参数接收规则对请求参数进行数据转换,将请求参数转换为接口调用参数。
54.在实际使用中,根据所述参数接收规则对所述请求参数进行数据转换,获得接口调用参数可以是调用预设的参数转换(api transform,atf)接口根据参数接收规则将请求参数转换为符合业务接口要求的接口调用参数。
55.相应的,所述步骤s30,包括:步骤s30':将所述接口调用参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述接口调用参数调用所述业务接口进行数据处理。
56.可以理解的是,将请求参数转换为接口调用参数之后,即可将接口调用参数添加至业务处理队列中,从而使得业务处理队列对应的消费者根据接口调用参数调用业务接口进行数据处理。
57.进一步地,若不对请求参数进行验证直接根据参数接收规则对请求参数进行数据转换,则在请求参数中存在不合参数接收规则要求的参数时,会直接转换失败,然而,若是直接转换失败时,由于参数转换是顺序执行的,在有一项参数转化失败即会直接返回失败原因,且不再执行后续步骤,因此,直接对请求参数进行数据转换仅可发现请求参数中第一个不合要求的参数,而无法发现所有不合要求的参数,并不利于调试,为了尽可能发现所有不合要求的参数,本实施例步骤s22之前,还可以包括:对所述请求参数进行合法性验证,获得合法性验证结果;根据所述合法性验证结果判断合法性验证是否通过。
58.需要说明的是,合法性验证是对请求参数中所有参数进行验证,再生成合法性验证结果。
59.在实际使用中,在进行参数转换之前,可以先对请求参数进行合法性验证,获得合法性验证结果,根据合法性验证结果判断合法性验证是否通过,在合法性验证通过时,再执行根据所述参数接收规则对所述请求参数进行数据转换,获得接口调用参数的步骤,从而保证数据转换可正常进行。在合法性验证不通过时,可以根据合法性验证结果确定验证失败原因;根据验证失败原因生成业务接入响应,将业务接入响应反馈至接入方,使得接入方明确请求参数中所有不合要求的参数,从而便于调试。
60.进一步地,为了选择合适的方式进行合法性验证,本实施例所述对所述请求参数进行合法性验证,获得合法性验证结果可以包括:获取所述业务接口的校验配置参数;在所述校验配置参数为第一类型参数时,根据所述参数接收规则确定参数合法性规则;根据所述参数合法性规则对所述请求参数进行合法性验证,获得合法性验证结果。
61.需要说明的是,在实际场景中,有部分业务接口的参数要求可能相同,为了提高开发的效率,该类业务接口的参数验证会采用一个统一的验证接口进行验证,而为了区分此类业务接口与普通业务接口,会在业务接口中设置校验配置参数,校验配置参数可以存在两种数值,即第一类型参数与第二类型参数,例如:校验配置参数字段名为prevalidate,其数值包括第一类型参数false及第二类型参数true。
62.在实际使用中,若业务接口的校验配置参数为第一类型参数,则表明该业务接口并不使用统一的验证接口进行合法性验证,则此时可以根据业务接口的参数接收规则确定
参数合法性规则,然后根据参数合法性规则对请求参数进行合法性验证,从而获得合法性验证结果。
63.可以理解的是,若业务接口的校验配置参数为第二类型参数,则表明该业务接口使用统一的验证接口进行合法性验证,则此时可以将所述请求参数发送至预设前置验证接口,以使预设前置验证接口对请求参数进行合法性验证;然后接收预设前置验证接口反馈的合法性验证结果。其中,预设前置验证接口即业务接口对应的统一验证接口。
64.本实施例通过获取所述业务接口对应的参数接收规则;根据所述参数接收规则对所述请求参数进行数据转换,获得接口调用参数;将所述接口调用参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述接口调用参数调用所述业务接口进行数据处理。由于在将请求参数添加至业务处理队列之前根据业务接口的参数接收规则对请求参数进行了数据转换,将其转换为符合业务接口要求的接口调用参数,再将接口调用参数添加至业务处理队列中,保证了业务接口可正常执行业务流程,且扩大了可接口的请求参数的范围,保证了可对接不同的系统。
65.参考图4,图4为本发明一种业务请求处理方法第三实施例的流程示意图。
66.基于上述第一实施例,本实施例业务请求处理方法在所述步骤s30之后,还包括:步骤s40:获取所述业务接口反馈的数据处理结果。
67.可以理解的是,业务接口在根据请求参数进行数据处理之后,会生成数据处理结果。
68.步骤s50:根据所述数据处理结果确定业务流程是否成功执行。
69.需要说明的是,数据处理结果中可以存在数据处理状态码,根据数据处理状态码即可确定业务流程是否成功执行。例如:假设数据处理状态码字段为state,若数据处理结果中state=success,则可以判定业务流程成功执行,若数据处理结果中state=fail,则可以判定业务流程未成功执行。
70.进一步地,为了尽可能提高用户的使用体验,本实施例步骤s50之后,还可以包括:在所述业务流程未成功执行时,获取所述请求参数对应的历史业务失败次数;在所述历史业务失败次数小于预设失败阈值时,将所述历史业务失败次数进行加一处理,获得当前业务失败次数;将所述当前业务失败次数作为新的历史业务失败次数,并将所述请求参数添加至所述业务处理队列,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理。
71.需要说明的是,若业务流程未成功执行,其可能是由于部分数据被其他程序占用或执行超时等引起的,此类业务流程重新尝试运行,就可能会执行成功,因此,在流程未成功执行时,获取该请求参数对应的历史业务失败次数,在历史业务失败次数小于预设失败阈值时,可以重新尝试执行业务流程,则此时可以将历史失败次数加一,获得当前失败次数,并将当前失败次数作为新的历史业务失败次数,然后将请求参数添加至业务处理队列中重新尝试执行业务流程。其中,预设失败阈值用于表示最大重复尝试次数,可以由业务请求处理的管理人员预先进行设置。
72.在实际使用中,重新将请求参数添加至业务处理队列中时可以将请求参数添加至业务处理队列的头部,保证该请求参数优先被业务处理队列的消费者进行消费。
73.在具体实现中,若历史失败次数大于或等于预设失败阈值,则表明失败次数已经
大于最大重复尝试次数,则此时可能是由于数据异常等引起的业务流程执行失败,因此,可以根据历史业务失败次数、请求参数、业务接口及数据处理结果生成业务失败日志;清空历史业务失败次数,并将业务失败日志进行存储。业务请求处理设备的管理人员可以根据存储的业务失败日志排查失败原因,并进行相应处理。
74.在实际使用中,为了保证业务请求处理设备的管理人员可第一进行一场处理,还可以将生成的业务失败日志推送给业务请求处理设备的管理人员,例如:通过邮件、短信等方式将业务失败日志推送给业务请求处理设备的管理人员。
75.步骤s60:在所述业务流程成功执行时,根据所述请求参数确定回调配置参数。
76.需要说明的是,在实际场景中,一次业务是否成功执行需要接入方及流程中心均执行成功才可确定该项业务流程执行成功,此类特殊业务,在业务流程成功执行时,需要业务请求处理设备回调接入方,而为了区分普通的业务及此类特殊业务,接入方可以在请求参数中设置回调配置参数,使用回调配置参数声明是否需要业务请求处理设备回调接入方。
77.在实际使用中,回调配置参数可以包含两种数值,分别为第一配置参数及第二配置参数,若回调配置参数对应的数值为第一配置参数,则表明需要业务请求处理设备回调接入方,若回调配置参数对应的数值为第二配置参数,则表明不需要业务请求处理设备回调接入方。例如:假设回调配置参数为iscallback,其数值分为第一配置参数true及第二配置参数false。
78.步骤s70:在所述回调配置参数为第一配置参数时,根据所述请求参数确定回调队列。
79.可以理解的是,若回调配置参数为第一配置参数,则表明需要业务请求处理设备回调接入方,则此时可以根据请求参数获取回调队列。
80.在实际使用中,需要进行回调的接入方可能存在多个,仅仅设置一个回调队列可能会导致数据紊乱,甚至可能会出现数据泄露等情况,为了克服此类缺陷,可以针对不同的接入方、不同的业务接口设置多个不同的回调队列,则此时本实施例所述根据所述请求参数确定回调队列的步骤,可以包括:根据所述请求参数确定接入来源标识;根据所述接口标识及所述接入来源标识查找对应的回调队列。
81.可以理解的是,根据不同的接入方、不同的业务接口设置不同的回调队列,则可以依据接入方的接入来源标识及业务接口的接口标识来确定回调队列的唯一性,因此,可以根据接口标识及接入来源标识查找对应的回调队列。
82.在实际使用中,根据接口标识及接入来源标识查找对应的回调队列可以是根据接口标识及接入来源标识在预设回调队列信息表中查找对应的回调队列,预设回调队列信息表中可以包括各个回调队列的队列信息与接口标识和接入来源标识的对应关系,该对应关系可以由业务请求处理设备的管理人员预先进行设置。其中,队列信息可以包括队列名、队列访问地址等信息。
83.步骤s80:根据所述数据处理结果生成回调消息,并将所述回调消息添加至所述回调队列,以使所述回调队列的消费者根据所述回调消息调用所述接入方的回调接口进行数据处理。
84.可以理解的是,在执行需要进行回调的业务流程时,业务接口返回的数据处理结果中可以包含有回调数据,此时可以提取数据处理结果中的回调数据,根据回调数据生成回调消息,并将回调消息添加至回调队列中,接入方设置的回调队列的消费者在监听到回调队列中的回调消息时,会根据回调消息调用接入方的回调接口进行数据处理。
85.在实际使用中,接入方的回调接口在数据处理完毕时还会生成回调处理结果,并将回调处理结果发送至业务请求处理设备,以便于确定业务流程执行情况,则此时业务请求处理设备还可以接收接入方的回调接口反馈的回调处理结果;根据回调处理结果对业务流程进行状态更新。例如:接入方的回调接口反馈的回调处理结果为处理成功,则可以根据回调处理结果将业务流程的状态更新为执行完毕;若接入方的回调接口反馈的回调处理结果为处理失败,则可以根据回调处理结果将业务流程的状态更新为执行失败。
86.本实施例通过获取所述业务接口反馈的数据处理结果;根据所述数据处理结果确定业务流程是否成功执行;在所述业务流程成功执行时,根据所述请求参数确定回调配置参数;在所述回调配置参数为第一配置参数时,根据所述请求参数确定回调队列;根据所述数据处理结果生成回调消息,并将所述回调消息添加至所述回调队列,以使所述回调队列的消费者根据所述回调消息调用所述接入方的回调接口进行数据处理。由于在业务流程成功执行时还根据请求参数中的回调配置参数确定是否需要回调接入方,在需要回调接入方时,根据请求参数确定了对应的回调队列,并根据数据粗粒结果生成回调消息,将回调消息添加至回调队列中,以使回调队列的消费者根据回调消息调用接入方的回调接口进行数据处理,保证了回调可正常进行,扩大了本发明业务请求处理方法的适用场景,增加了适用性。
87.此外,本发明实施例还提出一种存储介质,所述存储介质上存储有业务请求处理程序,所述业务请求处理程序被处理器执行时实现如上文所述的业务请求处理方法的步骤。
88.参照图5,图5为本发明业务请求处理装置第一实施例的结构框图。
89.如图5所示,本发明实施例提出的业务请求处理装置包括:请求接收模块10,用于获取接入方发送的业务接入请求,并对所述业务接入请求进行解析,获得接口标识及请求参数;数据查找模块20,用于查找所述接口标识对应的业务接口,并确定所述业务接口对应的业务处理队列;数据处理模块30,用于将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理。
90.本实施例通过获取接入方发送的业务接入请求,并对所述业务接入请求进行解析,获得接口标识及请求参数;查找所述接口标识对应的业务接口,并确定所述业务接口对应的业务处理队列;将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理。由于在调用业务接口时并非直接阻塞式调用业务接口,而是将请求参数添加至业务接口对应的业务处理队列中,使得监听到请求参数的消费者根据请求参数调用业务接口,可以不必实时处理数据,避免阻塞等现象,提高了业务接口的负载能力。
91.进一步地,所述数据处理模块30,还用于获取所述业务接口对应的参数接收规则;
根据所述参数接收规则对所述请求参数进行数据转换,获得接口调用参数;所述数据处理模块30,还用于将所述接口调用参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述接口调用参数调用所述业务接口进行数据处理。
92.进一步地,所述数据处理模块30,还用于对所述请求参数进行合法性验证,获得合法性验证结果;根据所述合法性验证结果判断合法性验证是否通过;在合法性验证通过时,根据所述参数接收规则对所述请求参数进行数据转换,获得接口调用参数。
93.进一步地,所述数据处理模块30,还用于在合法性验证不通过时,根据所述合法性验证结果确定验证失败原因;根据所述验证失败原因生成业务接入响应,将所述业务接入响应反馈至所述接入方。
94.进一步地,所述数据处理模块30,还用于获取所述业务接口的校验配置参数;在所述校验配置参数为第一类型参数时,根据所述参数接收规则确定参数合法性规则;根据所述参数合法性规则对所述请求参数进行合法性验证,获得合法性验证结果。
95.进一步地,所述数据处理模块30,还用于在所述校验配置参数为第二类型参数时,将所述请求参数发送至预设前置验证接口,以使所述预设前置验证接口对所述请求参数进行合法性验证;接收所述预设前置验证接口反馈的合法性验证结果。
96.进一步地,所述数据处理模块30,还用于获取所述业务接口反馈的数据处理结果;根据所述数据处理结果确定业务流程是否成功执行;在所述业务流程成功执行时,根据所述请求参数确定回调配置参数;在所述回调配置参数为第一配置参数时,根据所述请求参数确定回调队列;根据所述数据处理结果生成回调消息,并将所述回调消息添加至所述回调队列,以使所述回调队列的消费者根据所述回调消息调用所述接入方的回调接口进行数据处理。
97.进一步地,所述数据处理模块30,还用于根据所述请求参数确定接入来源标识;根据所述接口标识及所述接入来源标识查找对应的回调队列。
98.进一步地,所述数据处理模块30,还用于接收所述接入方的回调接口反馈的回调处理结果;根据所述回调处理结果对所述业务流程进行状态更新。
99.进一步地,所述数据处理模块30,还用于在所述业务流程未成功执行时,获取所述请求参数对应的历史业务失败次数;在所述历史业务失败次数小于预设失败阈值时,将所述历史业务失败次数进行加一处理,获得当前业务失败次数;将所述当前业务失败次数作为新的历史业务失败次数,并将所述请求参数添加至所述业务处理队列,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理。
100.进一步地,所述数据处理模块30,还用于在所述历史业务失败次数等于预设失败阈值时,根据所述历史业务失败次数、所述请求参数、所述业务接口及所述数据处理结果生成业务失败日志;清空所述历史业务失败次数,并将所述业务失败日志进行存储。
101.进一步地,所述数据处理模块30,还用于获取所述业务处理队列的当前参数总数;在所述当前参数总数小于预设队列上限阈值时,将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理。
102.应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具
体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
103.需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
104.另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的业务请求处理方法,此处不再赘述。
105.此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
106.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
107.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(read only memory,rom)/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
108.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
109.本发明公开了a1、一种业务请求处理方法,所述业务请求处理方法包括以下步骤:获取接入方发送的业务接入请求,并对所述业务接入请求进行解析,获得接口标识及请求参数;查找所述接口标识对应的业务接口,并确定所述业务接口对应的业务处理队列;将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理。
110.a2、如a1所述的业务请求处理方法,所述将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理的步骤之前,还包括:获取所述业务接口对应的参数接收规则;根据所述参数接收规则对所述请求参数进行数据转换,获得接口调用参数;相应的,所述将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理的步骤,包括:将所述接口调用参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述接口调用参数调用所述业务接口进行数据处理。
111.a3、如a2所述的业务请求处理方法,所述根据所述参数接收规则对所述请求参数进行数据转换,获得接口调用参数的步骤之前,还包括:
对所述请求参数进行合法性验证,获得合法性验证结果;根据所述合法性验证结果判断合法性验证是否通过;在合法性验证通过时,执行所述根据所述参数接收规则对所述请求参数进行数据转换,获得接口调用参数的步骤。
112.a4、如a3所述的业务请求处理方法,所述根据所述合法性验证结果确定合法性验证是否通过的步骤之后,还包括:在合法性验证不通过时,根据所述合法性验证结果确定验证失败原因;根据所述验证失败原因生成业务接入响应,将所述业务接入响应反馈至所述接入方。
113.a5、如a3所述的业务请求处理方法,所述对所述请求参数进行合法性验证,获得合法性验证结果的步骤,包括:获取所述业务接口的校验配置参数;在所述校验配置参数为第一类型参数时,根据所述参数接收规则确定参数合法性规则;根据所述参数合法性规则对所述请求参数进行合法性验证,获得合法性验证结果。
114.a6、如a5所述的业务请求处理方法,所述获取所述业务接口的校验配置参数的步骤之后,还包括:在所述校验配置参数为第二类型参数时,将所述请求参数发送至预设前置验证接口,以使所述预设前置验证接口对所述请求参数进行合法性验证;接收所述预设前置验证接口反馈的合法性验证结果。
115.a7、如a1所述的业务请求处理方法,所述将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理的步骤之后,还包括:获取所述业务接口反馈的数据处理结果;根据所述数据处理结果确定业务流程是否成功执行;在所述业务流程成功执行时,根据所述请求参数确定回调配置参数;在所述回调配置参数为第一配置参数时,根据所述请求参数确定回调队列;根据所述数据处理结果生成回调消息,并将所述回调消息添加至所述回调队列,以使所述回调队列的消费者根据所述回调消息调用所述接入方的回调接口进行数据处理。
116.a8、如a7所述的业务请求处理方法,所述根据所述请求参数确定回调队列的步骤,包括:根据所述请求参数确定接入来源标识;根据所述接口标识及所述接入来源标识查找对应的回调队列。
117.a9、如a7所述的业务请求处理方法,所述根据所述数据处理结果生成回调消息,并将所述回调消息添加至所述回调队列,以使所述回调队列的消费者根据所述回调消息调用所述接入方的回调接口进行数据处理的步骤之后,还包括:接收所述接入方的回调接口反馈的回调处理结果;根据所述回调处理结果对所述业务流程进行状态更新。
118.a10、如a7所述的业务请求处理方法,所述根据所述数据处理结果确定业务流程是否成功执行的步骤之后,还包括:在所述业务流程未成功执行时,获取所述请求参数对应的历史业务失败次数;在所述历史业务失败次数小于预设失败阈值时,将所述历史业务失败次数进行加一处理,获得当前业务失败次数;将所述当前业务失败次数作为新的历史业务失败次数,并将所述请求参数添加至所述业务处理队列,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理。
119.a11、如a10所述的业务请求处理方法,所述在业务未成功执行时,获取所述请求参数对应的历史业务失败次数的步骤之后,还包括:在所述历史业务失败次数等于预设失败阈值时,根据所述历史业务失败次数、所述请求参数、所述业务接口及所述数据处理结果生成业务失败日志;清空所述历史业务失败次数,并将所述业务失败日志进行存储。
120.a12、如a1

a11中任一项所述的业务请求处理方法,所述将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理的步骤之前,还包括:获取所述业务处理队列的当前参数总数;在所述当前参数总数小于预设队列上限阈值时,执行所述将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理的步骤。
121.本发明公开了b13、一种业务请求处理装置,所述业务请求处理装置包括以下模块:请求接收模块,用于获取接入方发送的业务接入请求,并对所述业务接入请求进行解析,获得接口标识及请求参数;数据查找模块,用于查找所述接口标识对应的业务接口,并确定所述业务接口对应的业务处理队列;数据处理模块,用于将所述请求参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述请求参数调用所述业务接口进行数据处理。
122.b14、如b13所述的业务请求处理装置,所述数据处理模块,还用于获取所述业务接口对应的参数接收规则;根据所述参数接收规则对所述请求参数进行数据转换,获得接口调用参数;所述数据处理模块,还用于将所述接口调用参数添加至所述业务处理队列中,以使所述业务处理队列对应的消费者根据所述接口调用参数调用所述业务接口进行数据处理。
123.b15、如b14所述的业务请求处理装置,所述数据处理模块,还用于对所述请求参数进行合法性验证,获得合法性验证结果;根据所述合法性验证结果判断合法性验证是否通过;在合法性验证通过时,根据所述参数接收规则对所述请求参数进行数据转换,获得接口调用参数。
124.b16、如b15所述的业务请求处理装置,所述数据处理模块,还用于在合法性验证不
通过时,根据所述合法性验证结果确定验证失败原因;根据所述验证失败原因生成业务接入响应,将所述业务接入响应反馈至所述接入方。
125.b17、如b15所述的业务请求处理装置,所述数据处理模块,还用于获取所述业务接口的校验配置参数;在所述校验配置参数为第一类型参数时,根据所述参数接收规则确定参数合法性规则;根据所述参数合法性规则对所述请求参数进行合法性验证,获得合法性验证结果。
126.b18、如b17所述的业务请求处理装置,所述数据处理模块,还用于在所述校验配置参数为第二类型参数时,将所述请求参数发送至预设前置验证接口,以使所述预设前置验证接口对所述请求参数进行合法性验证;接收所述预设前置验证接口反馈的合法性验证结果。
127.本发明公开了c19、一种业务请求处理设备,所述业务请求处理设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的业务请求处理程序,所述业务请求处理程序被处理器执行时实现如上所述的业务请求处理方法的步骤。
128.本发明公开了d20、一种计算机可读存储介质,所述计算机可读存储介质上存储有业务请求处理程序,所述业务请求处理程序执行时实现如上所述的业务请求处理方法的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1