一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

服务接口流控方法、装置、设备及存储介质与流程

2021-10-30 02:34:00 来源:中国专利 TAG:装置 接口 方法 设备 存储介质


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.可选地,所述获取模块,具体用于从所述目标服务接口的配置文件中获取所述目标服务接口的流控配置参数,所述流控配置参数包括:所述流控单位阈值和所述流控单位时间。
36.可选地,所述流控配置参数还包括:所述目标服务接口对应的超额流控策略;
37.所述执行模块,具体用于根据所述超额流控策略,对所述目标服务接口执行所述超额流控策略对应的流控操作。
38.可选地,若所述超额流控策略为超额丢弃策略,则所述装置还包括:丢弃模块,用
于根据所述超额丢弃策略,丢弃所述目标服务接口的调用请求。
39.可选地,若所述超额流控策略为超额重试策略,则所述装置还包括:重试模块,用于根据所述超额重试策略,重新将所述目标服务接口的调用请求加入至接口调用队列中。
40.可选地,所述装置还包括:检测模块和更新模块,其中:
41.所述检测模块,用于检测所述多个服务接口的配置文件是否更新;
42.所述更新模块,用于若检测到所述多个服务接口中存在更新配置文件的服务接口,则根据更新后的配置文件,对对应服务接口的流控配置参数进行更新。
43.第三方面,本技术另一实施例提供了一种服务接口流控设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当服务接口流控设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述第一方面任一所述方法的步骤。
44.第四方面,本技术另一实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面任一所述方法的步骤。
45.本技术的有益效果是:采用本技术提供的服务接口流控方法,由于服务器侧本身就预先配置有预设的接口资源池,接口资源池中包括多个服务接口的信息,因此在调用服务接口时,需要先判断目标服务接口是否在预设的接口资源池中,若在,则继续判断目标服务接口是否到达目标服务接口对应的目标流控条件,若到达,则执行目标服务接口对应的流控操作,这样的设置方法无需针对每个服务接口配置逻辑代码,而是直接在服务器侧预先配置好各服务接口的信息,在调用过程中,直接根据调用规则和流控条件对应的流控操作执行对应的调用操作,并且在调用过程中,无需等待目标服务接口方的返回,而是直接根据服务器侧目标服务接口的信息,确定当前目标服务接口对应的流控操作策略,从而降低了开发的工作量,并且提高了调用服务接口的调用效率。
附图说明
46.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
47.图1为本技术一实施例提供的服务接口流控方法的流程示意图;
48.图2为本技术另一实施例提供的服务接口流控方法的流程示意图;
49.图3为本技术另一实施例提供的服务接口流控方法的流程示意图;
50.图4为本技术一实施例提供的服务接口流控装置的结构示意图;
51.图5为本技术另一实施例提供的服务接口流控装置的结构示意图;
52.图6为本技术一实施例提供的服务接口流控设备的结构示意图。
具体实施方式
53.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。
54.通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
55.另外,本技术中使用的流程图示出了根据本技术的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
56.如下结合多个具体的应用示例,对本技术实施例所提供的一种服务接口流控方法进行解释说明。图1为本技术一实施例提供的一种服务接口流控方法的流程示意图,如图1所示,该方法包括:
57.s101:判断目标服务接口是否在预设的接口资源池中。
58.其中,每个应用程序均有自己对应的预设的接口资源池,接口资源池中包括多个服务接口的信息,不同的接口资源池中包括的服务接口的数量和信息并不一定相同;服务接口例如可以为登陆服务接口、支付服务接口或授权服务接口等,应当理解上述实施例仅为示例性说明,具体服务接口的类型和包括的内容均可以根据用户需要灵活调整,并不以上述实施例给出的为限。
59.在本技术的一个实施例中,服务接口的信息例如可以包括:服务接口的地址信息、服务接口的流量控制单位信息、服务接口的流量控制单位的单位阈值信息、超额策略信息等;其中,流量控制单位信息也可以称为流控信息,例如可以为单位时间信息,例如流量控制的单位时间可以为每分钟、每小时、或每天等;超额策略信息即为目标服务接口在不满足其对应的目标流控条件时,对应的流量控制操作信息,也即流控操作信息,在一些可能的实施例中,流控操作信息例如可以为重试或丢弃等,应当理解上述实施例仅为示例性说明,具体服务接口的信息、流控信息和超额策略信息的配置内容均可以根据用户需要调整,并不以上述实施例给出的为限。
60.s102:若目标服务接口在接口资源池中,则判断目标服务接口是否达到目标服务接口对应的目标流控条件。
61.在本技术的一个实施例中,目标流控条件可以为服务接口的流量控制单位的单位阈值信息,不同的目标服务接口对应的目标流控条件可能不同,在一些可能的实施例中,目标流控条件例如可以为该目标服务接口每秒最多可以被发起的调用请求调用60次,或每分钟最多被发起的调用请求调用1000次,应当理解上述实施例仅为示例性说明,具体目标流控条件的配置是与当前应用程序与目标服务接口之前的需求预先配置的,可以根据用户需要灵活调整,并不以上述实施例给出的为限。
62.s103:若目标服务接口达到目标流控条件,则对目标服务接口执行目标服务接口对应的流控操作。
63.在一些可能的实施例中,流控操作例如可能与当前执行的目标服务相关,例如当前调用目标服务接口的服务对调用的准确率的要求很高,例如对于支付服务或登录服务等,则可以设置该目标服务接口在到达目标流控条件时,对应的流控操作为重试,即在到达
目标流控条件导致调用失败时,根据预设规则再次尝试调用该目标服务接口,从而保证该服务的准确率;若当前调用目标服务接口的服务对准确率的要求不高,例如发送短信等服务时,则可以设置该目标服务接口在达到目标流控条件时,对应的流控操作为丢弃,即在达到目标流控条件时,对于调用失败的情况可以直接丢弃当前的调用请求,应当理解上述实施例仅为示例性说明,具体流控操作与目标服务之间的对应关系,以及设置依据均可以根据用户需要灵活调整,并不以上述实施例给出的为限。
64.采用本技术提供的服务接口流控方法,由于服务器侧本身就预先配置有预设的接口资源池,接口资源池中包括多个服务接口的信息,因此在调用服务接口时,需要先判断目标服务接口是否在预设的接口资源池中,若在,则继续判断目标服务接口是否到达目标服务接口对应的目标流控条件,若到达,则执行目标服务接口对应的流控操作,这样的设置方法无需针对每个服务接口配置逻辑代码,而是直接在服务器侧预先配置好各服务接口的信息,在调用过程中,直接根据调用规则和流控条件对应的流控操作执行对应的调用操作,并且在调用过程中,无需等待目标服务接口方的返回,而是直接根据服务器侧目标服务接口的信息,确定当前目标服务接口对应的流控操作策略,从而降低了开发的工作量,并且提高了调用服务接口的调用效率。
65.可选地,在上述实施例的基础上,本技术实施例还可提供一种服务接口流控方法,如下结合附图对上述方法中判断服务接口是否达到对应的目标流控条件的实现过程进行示例说明。图2为本技术另一实施例提供的一种服务接口流控方法的流程示意图,如图2所示,s102可包括:
66.s104:获取目标服务接口对应的流控单位阈值。
67.在本技术的一个实施例中,例如可以从目标服务接口的配置文件中获取目标服务接口的流控配置参数,流控配置参数例如可以包括:流控单位阈值和流控单位时间,其中,流控单位时间为流量控制的时间,例如可以为秒、或分钟、或小时、或天等,流控单位阈值为在流控单位时间内,调用该目标服务接口次数的阈值,具体可以根据用户需要灵活调整,并不以上述实施例给出的为限。
68.其中,流控单位阈值为流控单位时间内调用目标服务接口次数的阈值;例如可以为每秒内目标服务接口被调用请求调用的次数阈值,或每分钟内目标服务接口被调用请求调用的次数阈值,或每小时内目标服务接口被调用请求调用的次数阈值,应当理解上述实施例仅为示例性说明,具体流控单位阈值可以根据用户需要灵活设置,并不以上述实施例给出的为限。
69.s105:判断目标服务接口在流控单位时间内的请求次数是否达到流控单位阈值。
70.其中,不同的目标服务接口对应的流控单位阈值和流控单位时间均为提前预设的,不同的目标服务接口对应的可能不同,在使用过程中,还可以根据用户需要,对各目标服务接口的预设的流控单位阈值和流控单位时间进行调整。
71.s106:若请求次数达到流控单位阈值,则确定目标服务接口达到目标流控条件。
72.在本技术的一个实施例中,流控配置参数还包括:目标服务接口对应的流控超额策略,即在请求调用目标服务接口的请求次数大于流控单位阈值时,确定当前目标服务接口达到目标流控条件,即当前请求目标服务接口的调用次数已经超额,需要触发该目标服务接口对应的目标超额策略,并执行目标超额策略。
73.此时s103例如可以为根据超额流控策略,对目标服务接口执行超额流控策略对应的流控操作。
74.在本技术的实施例中,超额流控策略例如可以为超额重试策略或超额丢弃策略,若超额流控策略为超额丢弃策略,则在访问目标服务接口超额时,可以直接丢弃超额的服务请求,也即s103为根据超额丢弃策略,丢弃目标服务接口的调用请求;若超额流控策略为超额重试策略,则在访问目标服务接口超额时,可以将超额的服务请求放在队列里,然后依据执行规则,等待下次执行,也即s103为根据超额重试策略,重新将目标服务接口的调用请求加入至接口调用队列中。
75.在一些可能的实施例中,接口调用队列例如可以为整个应用程序对应的待执行接口调用队列,即当前应用程序中所有服务接口对应的服务请求均放置在该接口调用队列中,例如可以根据放置时间,依次将最新放置的服务请求放置在接口调用队列的队尾,并按照队列顺序,顺序执行各服务请求;也可以为各目标服务接口对应的接口调用队列,即当前应用程序中所有服务请求时根据目标服务接口划分的,各服务请求均放置在自己对应的目标服务接口的接口调用队列下,执行过程中,各接口调用队列根据自己的队列顺序并行执行各服务请求,应当理解上述实施例仅为示例性说明,具体接口调用队列的设置方式,设置个数均可以根据用户需要灵活调整,并不以上述实施例给出的为限。
76.s107:若请求次数未达到流控单位阈值,则确定目标服务接口未达到目标流控条件。
77.即在请求次数小于或等于流控单位阈值时,则可以确定当前目标服务接口未达到目标流控条件,说明当前目标服务接口的调用次数并未超额,即当前可以正常通过目标服务接口执行调用请求。
78.可选地,在上述实施例的基础上,本技术实施例还可提供一种服务接口流控方法,如下结合附图对上述方法的实现过程进行示例说明。图3为本技术另一实施例提供的一种服务接口流控方法的流程示意图,如图3所示,发方法还可包括:
79.s108:检测多个服务接口的配置文件是否更新。
80.其中,在本技术的一个实施例中,例如可以通过查看配置文件的状态,确定配置文件是否更新,例如配置文件若发生过更新,则配置文件的当前状态为已更新;若配置文件未发生过更新,则配置文件的当前状态为正常;在本技术的另一个实施例中,例如可以在配置文件发生更新后,主动发送一个更新指令,服务器在接收到更新指令后,确定更新指令对应的配置文件发生了更新;应当理解上述实施例仅为示例性说明,具体配置文件是否更新的确定方式,以及表现方式,均可以根据用户需要灵活调整,并不以上述实施例给出的为限。
81.s109:若检测到多个服务接口中存在更新配置文件的服务接口,则根据更新后的配置文件,对对应服务接口的流控配置参数进行更新。
82.采用本技术提供的服务接口流控方法,服务器侧本身就根据当前应用程序和各服务之间预先签署的协议配置有当前应用程序对应的预设的接口资源池,并且接口资源池中包括多个服务接口的信息,因此在调用服务接口时,直接在应用程序侧判断目标服务接口是否在预设的接口资源池中,若在,则在目标服务接口应用未达到目标服务接口对应的目标流控条件时,调用目标服务接口执行对应的调用操作,达到目标服务接口对应的目标流控条件时,执行目标服务接口对应的流控操作,这样的设置方法无需每次都针对每个服务
接口配置逻辑代码,而是直接在应用程序的服务器侧预先配置好各服务接口的信息,在调用过程中,直接根据调用规则和流控条件对应的流控操作执行对应的调用操作,并且在调用过程中,无需等待目标服务接口方的返回,而是直接根据服务器侧目标服务接口的信息,确定当前目标服务接口对应的流控操作策略,从而降低了开发的工作量,并且提高了调用服务接口的调用效率。
83.下述结合附图对本技术所提供的服务接口流控装置进行解释说明,该服务接口流控装置可执行上述图1

图3任一服务接口流控方法,其具体实现以及有益效果参照上述,如下不再赘述。
84.图4为本技术一实施例提供的服务接口流控装置的结构示意图,如图3所示,该装置包括:判断模块201和执行模块202,其中:
85.判断模块201,用于判断目标服务接口是否在预设的接口资源池中,接口资源池中包括多个服务接口的信息;若目标服务接口在接口资源池中,则判断目标服务接口是否达到目标服务接口对应的目标流控条件;
86.执行模块202,用于若目标服务接口达到目标流控条件,则对目标服务接口执行目标服务接口对应的流控操作。
87.可选地,在上述实施例的基础上,本技术实施例还可提供一种服务接口流控装置,如下结合附图对上述图4给出的装置的实现过程进行示例说明。图5为本技术另一实施例提供的服务接口流控装置的结构示意图,如图5所示,该装置还包括:获取模块203和确定模块204,其中:
88.获取模块203,用于获取目标服务接口对应的流控单位阈值,流控单位阈值为流控单位时间内目标服务接口的请求次数阈值;
89.判断模块201,具体用于判断目标服务接口在流控单位时间内的请求次数是否达到流控单位阈值;
90.确定模块204,用于若请求次数达到流控单位阈值,则确定目标服务接口达到目标流控条件;若请求次数未达到流控单位阈值,则确定目标服务接口未达到目标流控条件。
91.可选地,获取模块203,具体用于从目标服务接口的配置文件中获取目标服务接口的流控配置参数,流控配置参数包括:流控单位阈值和流控单位时间。
92.可选地,流控配置参数还包括:目标服务接口对应的超额流控策略;
93.执行模块202,具体用于根据超额流控策略,对目标服务接口执行超额流控策略对应的流控操作。
94.如图5所示,若超额流控策略为超额丢弃策略,则该装置还包括:丢弃模块205,用于根据超额丢弃策略,丢弃目标服务接口的调用请求。
95.可选地,若超额流控策略为超额重试策略,则装置还包括:重试模块206,用于根据超额重试策略,重新将目标服务接口的调用请求加入至接口调用队列中。
96.如图5所示,该装置还包括:检测模块207和更新模块208,其中:
97.检测模块207,用于检测多个服务接口的配置文件是否更新;
98.更新模块208,用于若检测到多个服务接口中存在更新配置文件的服务接口,则根据更新后的配置文件,对对应服务接口的流控配置参数进行更新。
99.上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不
再赘述。
100.以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
101.图6为本技术一实施例提供的服务接口流控设备的结构示意图,该服务接口流控设备可以集成于终端设备或者终端设备的芯片。
102.如图6所示,该服务接口流控设备包括:处理器501、存储介质502和总线503。
103.处理器501用于存储程序,处理器501调用存储介质502存储的程序,以执行上述图1-图4对应的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
104.可选地,本技术还提供一种程序产品,例如存储介质,该存储介质上存储有计算机程序,包括程序,该程序在被处理器运行时执行上述方法对应的实施例。
105.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
106.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
107.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
108.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜