分布式动态控制API超时响应的管理系统及方法与流程

文档序号:32338465发布日期:2022-11-26 08:51阅读:44来源:国知局
分布式动态控制API超时响应的管理系统及方法与流程
分布式动态控制api超时响应的管理系统及方法
技术领域
1.本发明属于网关技术领域,具体涉及一种分布式动态控制api超时响应的管理系统及方法。


背景技术:

2.随着业务量的急剧的增长,对服务高性能及高可用(分布式)方面的要求也同比增长,但即使服务的稳定性非常高的情况下,并发量一旦超出阈值也难免会出现api阻塞的问题,导致请求超时,使得调用者无法处理接口的响应从而影响到业务甚至导致服务内部错误。
3.相关技术中,在软件开发过程中,需要根据产品的要求对超时的响应给予可配置化的异常处理结果。例如:接口在收到请求时,因为各种原因如:查询数据库、软件处理逻辑等一系列操作,导致接口处理超时后给出可配置化的异常处理响应。软件上线后,无法针对不同的调用者及不同的产品配置出不同的超时响应结果。导致客户遇到api超时后无法动态的给出处理后的结果,而让调用者无法识别响应而影响业务逻辑或导致系统内部错误的问题。


技术实现要素:

4.有鉴于此,本发明的目的在于克服现有技术的不足,提供一种分布式动态控制api超时响应的管理系统及方法,以解决现有技术中调用者无法识别响应而影响业务逻辑或导致系统内部错误的问题。
5.为实现以上目的,本发明采用如下技术方案:一种分布式动态控制api超时响应的管理系统,包括:调用端、超时控制模块、业务逻辑处理模块、超时返回管理模块、缓存服务器以及配置管理服务器;
6.所述配置管理服务器用于配置api请求的api信息;其中,所述api信息包括api请求的默认返回结果;
7.所述缓存服务器用于获取预先配置的调用端与api信息并存储;
8.所述业务逻辑处理模块用于根据待处理业务逻辑生成api请求;
9.所述超时控制模块用于监控当前api请求的处理耗时,如果处理耗时超过预设阈值时,中断业务逻辑处理模块的线程并将当前api请求及调用信息发送至超时返回管理模块进行处理;
10.所述超时返回管理模块用于处理超时的api请求,根据所述调用信息查询所述缓存服务器,获取所述缓存服务器中存储的对当前api请求的默认返回结果,将所述默认返回结果反馈至调用端。
11.进一步的,所述超时控制模块还用于在所述处理耗时未超过预设阈值时,直接输出当前api请求的返回结果至调用端。
12.进一步的,所述api信息还包括:调用者id、api接口编码、超时时间、生效日期及是
否生效字段。
13.进一步的,所述调用信息包括:
14.调用端信息和当前产品信息。
15.进一步的,所述缓存服务器采用基于redis搭建的内存性缓存服务,用于实时更新调用端与api信息。
16.本技术实施例提供一种分布式动态控制api超时响应的控制方法,包括:
17.获取预先配置的调用端与api信息并存储;其中,所述api信息包括api请求的默认返回结果;
18.根据待处理业务逻辑生成api请求;
19.监控当前api请求的处理耗时,当处理耗时超过预设阈值时,确定所述api请求超时,获取预存储的对当前api请求的默认返回结果,将所述默认返回结果反馈至调用端。
20.进一步的,还包括:
21.当处理耗时未超过预设阈值时,直接输出当前api的返回结果。
22.本技术实施例提供一种计算机设备,包括:存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述任一项分布式动态控制api超时响应的控制方法的步骤。
23.本技术实施例还提供一种计算机存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述任一项生成方法的步骤或任一项查询方法的步骤。
24.本发明采用以上技术方案,能够达到的有益效果包括:
25.本发明提供一种分布式动态控制api超时响应的管理系统及方法,所述系统包括调用端、超时控制模块、业务逻辑处理模块、超时返回管理模块、缓存服务器以及配置管理服务器;配置管理服务器配置api请求的api信息;缓存服务器获取预先配置的调用端与api信息并存储;业务逻辑处理模块根据待处理业务逻辑生成api请求;超时控制模块用于监控当前api请求的处理耗时,如果处理耗时超过预设阈值时,中断业务逻辑处理模块的线程并将当前api请求及调用信息发送至超时返回管理模块进行处理;超时返回管理模块处理超时的api请求,根据调用信息查询所述缓存服务器,获取缓存服务器中存储的对当前api请求的默认返回结果,将默认返回结果反馈至调用端。本技术针对不同的调用者及不同的产品配置出不同的超时响应结果。在客户遇到api超时后可以动态的给出处理后的结果,而让调用者免于无法识别响应而影响业务逻辑或导致系统内部错误的问题。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
27.图1为发明分布式动态控制api超时响应的管理系统的结构示意图;
28.图2为本发明分布式动态控制api超时响应的管理方法的步骤示意图;
29.图3为本发明分布式动态控制api超时响应的管理方法的流程示意图;
30.图4为本发明分布式动态控制api超时响应的管理方法的实施环境的硬件结构示意图。
具体实施方式
31.为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
32.在api超时的时候一般接口会返回502bad gateway或者readtimeout等错误,这种响应结果会引发一部分没有对异常调用处理服务的内部错误,更严重者会导致上游调用者也出现此类连锁反应。还有部分技术在遇到超时后会给出一个固定的默认返回,无法动态控制。
33.下面结合附图介绍本技术实施例中提供的一个具体的分布式动态控制api超时响应的管理系统及方法。
34.如图1所示,本技术实施例中提供的分布式动态控制api超时响应的管理系统,包括:调用端1、超时控制模块2、业务逻辑处理模块3、超时返回管理模块4、缓存服务器5以及配置管理服务器6;
35.所述配置管理服务器6用于配置api请求的api信息;
36.所述缓存服务器5用于获取预先配置的调用端1与api信息并存储;其中,所述api信息包括api请求的默认返回结果;
37.所述业务逻辑处理模块3用于根据待处理业务逻辑生成api请求;
38.所述超时控制模块2用于监控当前api请求的处理耗时,如果处理耗时超过预设阈值时,中断业务逻辑处理模块3的线程并将当前api请求及调用信息发送至超时返回管理模块4进行处理;
39.所述超时返回管理模块4用于处理超时的api请求,根据所述调用信息查询所述缓存服务器5,获取所述缓存服务器5中存储的对当前api请求的默认返回结果,将所述默认返回结果反馈至调用端1。
40.本技术提供的分布式动态控制api超时响应的管理系统的工作原理为,配置管理服务器6配置api请求的api信息,也就是配置机构产品默认返回信息,至少维护以下字段:调用者id、api接口编码、超时时间、默认返回结果、生效日期、是否生效字段,配置完成后更新至缓存服务器5,具体工作流程为,业务逻辑处理模块3根据待处理业务逻辑生成api请求,超时控制模块2监控当前api请求的处理耗时,如果处理耗时超过预设阈值时,中断业务逻辑处理模块3的线程并将当前api请求及调用信息发送至超时返回管理模块4进行处理,超时返回管理模块4处理超时的api请求,根据所述调用信息查询所述缓存服务器5,获取所述缓存服务器5中存储的对当前api请求的默认返回结果,将所述默认返回结果反馈至调用端1。
41.一些实施例中,所述超时控制模块2还用于在所述处理耗时未超过预设阈值时,直接输出当前api请求的返回结果至调用端1。
42.作为一个具体的实施方式,本技术中,超时控制模块2监控当前业务逻辑的处理耗
时。根据当前请求读取缓存配置基本信息调用者编码、api接口编码、超时时间,当业务逻辑处理模块3耗的时间,超时控制模块2的预设阈值,超时控制模块2会主动中断业务模块的线程,转而开启另外线程把任务交给超时返回管理模块4来处理,在转发的同时会把当前api的相关信息同时传入,至少包含调用者信息、产品信息。超时返回管理模块4处理已超时的api请求,当超时控制模块2把请求转发至此后,超时返回管理模块4会通过超时控制模块2携带的信息调用者信息、产品信息查询缓存服务器5,获取调用端1对当前产品的默认返回,拿到此结果后返回给api调用者,完成api超时响应。
43.一些实施例中,所述调用信息包括:
44.调用端1信息和当前产品信息。
45.在一个实施例中,所述缓存服务器5采用基于redis搭建的内存性缓存服务,用于实时更新调用端1与api信息。
46.具体的,缓存服务器5是基于redis搭建的内存性缓存服务。主要维护调用端1与api的信息,其字段至少包含:调用者id、api接口编码、超时时间、默认返回结果、生效日期、是否生效字段。
47.如图2所示,本技术提供一种分布式动态控制api超时响应的控制方法,包括:
48.s101,获取预先配置的调用端1与api信息并存储;其中,所述api信息包括api请求的默认返回结果;
49.s102,根据待处理业务逻辑生成api请求;
50.s103,监控当前api请求的处理耗时,当处理耗时超过预设阈值时,确定所述api请求超时,获取预存储的对当前api请求的默认返回结果,将所述默认返回结果反馈至调用端1。
51.一些实施例中,本技术提供的分布式动态控制api超时响应的控制方法,还包括:
52.当处理耗时未超过预设阈值时,直接输出当前api的返回结果。
53.本技术提供的分布式动态控制api超时响应的控制方法的工作原理为,如图3所示,具体如下:
54.s201,配置调用者与api产品的基本信息并更新至缓存服务;
55.s202,api调用者开始请求产品,根据待处理业务逻辑生成api请求;
56.s203,超时控制模块2通过api请求信息拿到调用者id、api产品信息加载耗时控制,开始处理业务逻辑,开始计时;
57.s204,判断是否超时;
58.s205,业务逻辑处理已超时,读取查询缓存服务拿到默认返回结果;
59.s206,当处理耗时未超过预设阈值时,直接输出当前api的返回结果,响应api调用者开始请求产品。
60.本技术提供一种计算机设备,包括:存储器41和处理器42,还可以包括网络接口43,所述存储器41存储有计算机程序,存储器41可以包括计算机可读介质中的非永久性存储器41,随机存取存储器41(ram)和/或非易失性内存等形式,如只读存储器41(rom)或闪存(flash ram)。该计算机设备存储有操作系统44,存储器41是计算机可读介质的示例。所述计算机程序被所述处理器42执行时,使得所述处理器42执行分布式动态控制api超时响应的管理方法,图4示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本
申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
61.在一个实施例中,本技术提供的分布式动态控制api超时响应的管理方法可以实现为一种计算机程序的形式,计算机程序可在如图4所示的计算机设备上运行。
62.一些实施例中,所述计算机程序被所述处理器42执行时,使得所述处理器42执行以下步骤:获取预先配置的调用端1与api信息并存储;其中,所述api信息包括api请求的默认返回结果;根据待处理业务逻辑生成api请求;监控当前api请求的处理耗时,当处理耗时超过预设阈值时,确定所述api请求超时,获取预存储的对当前api请求的默认返回结果,将所述默认返回结果反馈至调用端1。
63.本技术还提供一种计算机存储介质,计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光光盘(dvd)或其他光学存储、磁盒式磁带存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
64.一些实施例中,本发明还提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器42执行时,获取预先配置的调用端1与api信息并存储;其中,所述api信息包括api请求的默认返回结果;根据待处理业务逻辑生成api请求;监控当前api请求的处理耗时,当处理耗时超过预设阈值时,确定所述api请求超时,获取预存储的对当前api请求的默认返回结果,将所述默认返回结果反馈至调用端1。
65.综上所述,本发明提供一种分布式动态控制api超时响应的管理系统及方法,包括调用端、超时控制模块、业务逻辑处理模块、超时返回管理模块、缓存服务器以及配置管理服务器;调用端与超时返回管理模块和超时控制模块连接,所述超时返回管理模块分别与超时控制模块、缓存服务器连接,超时控制模块与业务逻辑处理模块连接,缓存服务器与配置管理服务器连接。本发明针对不同的调用者及不同的产品配置出不同的超时响应结果。在客户遇到api超时后可以动态的给出处理后的结果,使得调用者避免因为无法识别响应而影响业务逻辑或导致系统内部错误的问题。
66.可以理解的是,上述提供的管理方法实施例与上述的装置实施例对应,相应的具体内容可以相互参考,在此不再赘述。
67.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
68.本技术是参照根据本技术实施例的管理方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用
于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
69.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令方法的制造品,该指令方法实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
70.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
71.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1