发明内容
有鉴于此,本申请实施例至少提供一种服务请求的处理方法、装置、电子设备及存储介质,通过优先拒绝对来自优先级低的业务线的服务请求进行响应,可以优先为优先级高的业务线提供服务资源,实现对服务请求进行精细化的限流控制。
本申请主要包括以下几个方面:
第一方面,本申请实施例提供一种服务请求的处理方法,所述处理方法包括:
接收服务请求端发送的服务请求;
根据所述服务请求中携带的请求参数信息,确定所述服务请求所属的请求线路元组的标准配额;每个请求线路元组的标准配额是根据该请求线路元组中业务的优先级预先分配的;
获取所述服务请求所属的请求线路元组对应的当前访问量;
若所述当前访问量大于或等于所述服务请求所属的请求线路元组的标准配额,拒绝对所述服务请求进行响应。
在一种可能的实施方式中,所述请求参数信息包括以下参数信息中的至少一种:
所述服务请求端对应的业务线标识;所述服务请求端请求访问的服务标识;所述服务请求端请求访问的接口标识。
在一种可能的实施方式中,所述根据所述服务请求中携带的请求参数信息,确定所述服务请求所属的请求线路元组的标准配额,包括:
根据所述请求参数信息,确定所述服务请求所属的请求线路元组;
根据所述请求线路元组,在配额映射表中,查询出与该请求线路元组对应的标准配额。
在一种可能的实施方式中,所述根据所述请求参数信息,确定所述服务请求所属的请求线路元组,包括:
根据所述请求参数信息所指示的所述服务标识,确定所述服务请求端请求访问的服务所属服务组的服务组标识;所述服务组包括至少一个服务;
根据所述服务请求端对应的业务线标识、所述服务请求端请求访问的服务组标识、以及所述服务请求端请求访问的接口标识,确定所述服务请求所属的请求线路元组。
在一种可能的实施方式中,还包括根据以下步骤生成所述配额映射表:
获取服务平台中提供的业务线标识、服务组标识和接口标识;所述服务平台包括多个服务提供端;
将获取的业务线标识、服务组标识和接口标识进行组合,生成所述服务平台对应的多个请求线路元组;
根据各个请求线路元组的优先级,为每个请求线路元组分配对应的标准配额;其中,所述配额映射表中全部请求线路元组的标准配额的和值小于或等于服务平台所能承接的访问量;
将每个请求线路元组与对应的标准配额相关联存储,生成所述配额映射表。
在一种可能的实施方式中,还包括根据以下步骤确定每个请求线路元组的优先级:
根据每个请求线路元组中的业务线和/或服务组的重要程度,确定每个请求线路元组的优先级。
在一种可能的实施方式中,所述处理方法还包括:
若所述当前访问量小于所述服务请求所属的请求线路元组的标准配额,允许对所述服务请求进行响应。
在一种可能的实施方式中,若同时接收到多个服务请求,且所述多个服务请求中每个服务请求所属的请求线路元组对应的当前访问量均小于或等于对应的标准配额,所述处理方法还包括:
按照各个服务请求分别所属的请求线路元组的优先级,依次对各个服务请求进行响应。
第二方面,本申请实施例还提供一种服务请求的处理装置,所述处理装置包括:
接收模块,用于接收服务请求端发送的服务请求;
确定模块,用于根据所述服务请求中携带的请求参数信息,确定所述服务请求所属的请求线路元组的标准配额;每个请求线路元组的标准配额是根据该请求线路元组中业务的优先级预先分配的;
获取模块,用于获取所述服务请求所属的请求线路元组对应的当前访问量;
响应模块,用于若所述当前访问量大于或等于所述服务请求所属的请求线路元组的标准配额,拒绝对所述服务请求进行响应。
在一种可能的实施方式中,所述请求参数信息包括以下参数信息中的至少一种:
所述服务请求端对应的业务线标识;所述服务请求端请求访问的服务标识;所述服务请求端请求访问的接口标识。
在一种可能的实施方式中,所述确定模块包括:
第一确定单元,用于根据所述请求参数信息,确定所述服务请求所属的请求线路元组;
查询单元,用于根据所述请求线路元组,在配额映射表中,查询出与该请求线路元组对应的标准配额。
在一种可能的实施方式中,所述第一确定单元,用于根据以下步骤确定所述服务请求所属的请求线路元组:
根据所述请求参数信息所指示的所述服务标识,确定所述服务请求端请求访问的服务所属服务组的服务组标识;所述服务组包括至少一个服务;
根据所述服务请求端对应的业务线标识、所述服务请求端请求访问的服务组标识、以及所述服务请求端请求访问的接口标识,确定所述服务请求所属的请求线路元组。
在一种可能的实施方式中,所述处理装置还包括生成模块;所述生成模块,用于根据以下步骤生成所述配额映射表:
获取服务平台中提供的业务线标识、服务组标识和接口标识;所述服务平台包括多个服务提供端;
将获取的业务线标识、服务组标识和接口标识进行组合,生成所述服务平台对应的多个请求线路元组;
根据各个请求线路元组的优先级,为每个请求线路元组分配对应的标准配额;其中,所述配额映射表中全部请求线路元组的标准配额的和值小于或等于服务平台所能承接的访问量;
将每个请求线路元组与对应的标准配额相关联存储,生成所述配额映射表。
在一种可能的实施方式中,所述生成模块包括第二确定单元;所述第二确定单元,用于根据以下步骤确定每个请求线路元组的优先级:
根据每个请求线路元组中的业务线和/或服务组的重要程度,确定每个请求线路元组的优先级。
在一种可能的实施方式中,所述响应模块还用于:
若所述当前访问量小于所述服务请求所属的请求线路元组的标准配额,允许对所述服务请求进行响应。
在一种可能的实施方式中,若同时接收到多个服务请求,且所述多个服务请求中每个服务请求所属的请求线路元组对应的当前访问量均小于或等于对应的标准配额,所述响应模块还用于:
按照各个服务请求分别所属的请求线路元组的优先级,依次对各个服务请求进行响应。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的服务请求的处理方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的服务请求的处理方法的步骤。
本申请实施例中,通过接收服务请求端发送的服务请求,并根据服务请求中携带的请求参数信息,可以确定服务请求所属的请求线路元组的标准配额,其中,标准配额是根据该请求线路元组中业务的优先级预先分配的,进一步地,获取服务请求所属的请求线路元组的当前访问量,若当前访问量大于服务请求所属的请求线路元组的标准配额,拒绝对服务请求进行响应。基于上述方式,根据业务的优先级来设置每个请求线路元组的标准配额,并根据标准配额优先拒绝对来自优先级低的业务线的服务请求进行响应,可以优先为优先级高的业务线提供服务资源,实现对服务请求的行精细化限流控制。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中的附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“服务请求的处理”,给出以下实施方式,对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。
本申请实施例下述方法、装置、电子设备或计算机可读存储介质可以应用于任何需要进行服务请求的处理的场景,本申请实施例并不对具体的应用场景作限制,任何使用本申请实施例提供的服务请求的处理方法及装置的方案均在本申请保护范围内。
值得注意的是,在本申请提出之前,当服务平台提供的资源不足,即服务平台提供的资源不能满足大量服务请求时,为了保证有限的资源能够正常提供服务,可以进行流量限制或功能限制,以避免因为服务请求数量过大导致服务平台崩溃,但是,还无法实现精细化的限流操作。
针对上述问题,本申请实施例,通过接收服务请求端发送的服务请求,并根据服务请求中携带的请求参数信息,可以确定服务请求所属的请求线路元组的标准配额,其中,标准配额是根据该请求线路元组中业务的优先级预先分配的,进一步地,获取服务请求所属的请求线路元组的当前访问量,若当前访问量大于服务请求所属的请求线路元组的标准配额,拒绝对服务请求进行响应。基于上述方式,根据业务的优先级来设置每个请求线路元组的标准配额,并根据标准配额优先拒绝对来自优先级低的业务线的服务请求进行响应,可以优先为优先级高的业务线提供服务资源,实现对服务请求的行精细化限流控制。
为便于对本申请进行理解,下面结合具体实施例对本申请提供的技术方案进行详细说明。
图1为本申请实施例所提供的一种服务请求的处理方法的流程图。执行服务请求的处理方法的设备可以是代理服务器,代理服务器可以与服务请求端和服务平台进行交互,服务平台为提供多种服务的平台。下面从执行主体为代理服务器的角度,对本申请实施例所提供的服务请求的处理方法加以说明。如图1所示,本申请实施例提供的服务请求的处理方法,包括以下步骤:
S101:接收服务请求端发送的服务请求。
在具体实施中,实时接收来自任意一个或多个服务请求端发送的服务请求,当检测到服务平台提供的资源不足,即服务平台提供的资源不能满足大量服务请求时,会按照预先设置的规则进行流量限制或功能限制,这样,可以保证有限的资源能够正常提供服务。
S102:根据所述服务请求中携带的请求参数信息,确定所述服务请求所属的请求线路元组的标准配额;每个请求线路元组的标准配额是根据该请求线路元组中业务的优先级预先分配的。
在具体实施中,在接收到服务请求端发送的服务请求后,获取该服务请求中携带的请求参数信息,进而,根据该服务请求中携带的请求参数信息,来确定出该服务请求所属的请求线路元组的标准配额,这里,该服务请求所属的请求线路元组的标准配额为在单位时间内允许为该请求线路元组分配的访问量,其中,每个请求线路元组的标准配额是根据对应的请求线路元组中业务的优先级预先分配的,即每个请求线路元组的标准配额的数量是由对应的业务或服务的重要性决定的,对于业务优先级高的请求线路元组分配相对较多的配额,对于业务优先级低的请求线路元组分配相对较少的配额,因而,各个请求线路元组的标准配额有所不同。
这里,请求参数信息包括以下参数信息中的至少一种:所述服务请求端对应的业务线标识;所述服务请求端请求访问的服务标识;所述服务请求端请求访问的接口标识。
在具体实施中,服务请求中携带的请求参数信息可以包括服务请求端对应的业务线标识,通常,服务请求端为应用程序,一个应用程序对应一条业务线,业务线比如可以同时提供视频播放、账号登录、账号退出的业务;服务请求中携带的请求参数信息可以包括服务请求端请求访问的服务标识,服务比如账号登录服务、账号退出服务;服务请求中携带的请求参数信息可以包括服务请求端请求访问的接口标识,通常,服务会提供一个接口,服务请求端通过接口来实现对服务的访问。
需要说明的是,本申请通过根据业务的优先级来设置每个请求线路元组的标准配额,并可以根据标准配额优先拒绝对来自优先级低的业务线的服务请求进行响应,可以优先为优先级高的业务线提供服务资源,实现对服务请求的行精细化限流控制。
S103:获取所述服务请求所属的请求线路元组对应的当前访问量。
在具体实施中,在接收到服务请求端发送的服务请求,并根据服务请求中携带的请求参数信息,确定出服务请求所属的请求线路元组后,获取服务请求所属的请求线路元组对应的当前访问量,即,该服务请求所属的请求线路元组的当前访问量为在单位时间内属于该请求线路元组的请求服务已经进行产生的访问量。
S104:若所述当前访问量大于或等于所述服务请求所属的请求线路元组的标准配额,拒绝对所述服务请求进行响应。
在具体实施中,在确定出来自服务提供端的服务请求所属的请求线路元组的标准配额,以及获取该服务请求所属的请求线路元组对应的当前访问量后,将当前访问量与该标准配额进行比较,若当前访问量已经大于或等于该标准配额,说明此时,在单位时间内允许该请求线路元组的访问量已经达到,可以直接拒绝对该服务请求进行响应,即限制该服务请求的访问。这里,本申请针对各个业务线的重要性不同,比如产品的核心服务如登录、付款比反馈的重要性更高,在资源不够时,可以先对来自重要性低的业务的请求线路元组的服务请求进行限流控制,具体地,根据标准配额优先拒绝对来自优先级低的业务线的服务请求进行响应,这样,可以优先为优先级高的业务线提供服务资源,实现对服务请求的行精细化限流控制。
进一步地,在确定出来自服务提供端的服务请求所属的请求线路元组的标准配额,以及获取该服务请求所属的请求线路元组对应的当前访问量后,也即步骤S103之后,将当前访问量与该标准配额进行比较,若当前访问量小于服务请求所属的请求线路元组的标准配额,允许对服务请求进行响应。
在具体实施中,若当前访问量小于服务请求所属的请求线路元组的标准配额,说明此时,在单位时间内允许该请求线路元组的访问量还没有达到,即,提供给该请求线路元组的资源还很充足,可以允许对该服务请求进行响应,即不限制该服务请求的访问。
进一步地,实时接收各个服务请求端发送的服务请求,若同时接收到多个服务请求,且多个服务请求中每个服务请求所属的请求线路元组对应的当前访问量均小于或等于对应的标准配额时,按照各个服务请求分别所属的请求线路元组的优先级,依次对各个服务请求进行响应。
在具体实施中,若同时接收到多个服务请求,且多个服务请求中每个服务请求所属的请求线路元组对应的当前访问量均小于或等于对应的标准配额时,即在单位时间内允许多个服务请求对应的请求线路元组的访问量还没有达到,但如果允许对该多个服务请求都进行响应时,难免会使来自优先级高的服务请求的服务请求端延后获取到服务,这里,本申请先响应优先级高的服务请求,在响应完优先级高的服务请求后,才会响应优先级低的服务请求,可以保证优先级高的服务请求对应的业务线的资源充足,实现对服务进行精细化的限流控制。
在本申请实施例中,通过接收服务请求端发送的服务请求,并根据服务请求中携带的请求参数信息,可以确定服务请求所属的请求线路元组的标准配额,其中,标准配额是根据该请求线路元组中业务的优先级预先分配的,进一步地,获取服务请求所属的请求线路元组的当前访问量,若当前访问量大于服务请求所属的请求线路元组的标准配额,拒绝对服务请求进行响应。基于上述方式,根据业务的优先级来设置每个请求线路元组的标准配额,并根据标准配额优先拒绝对来自优先级低的业务线的服务请求进行响应,可以优先为优先级高的业务线提供服务资源,实现对服务请求的行精细化限流控制。
图2为本申请实施例所提供的一种服务请求的处理方法的流程图。执行服务请求的处理方法的设备可以是代理服务器,代理服务器可以与服务请求端和服务平台进行交互,服务平台为提供多种服务的平台。下面从执行主体为代理服务器的角度,对本申请实施例所提供的服务请求的处理方法加以说明。如图2所示,本申请实施例提供的服务请求的处理方法,包括以下步骤:
S201:接收服务请求端发送的服务请求。
S202:根据所述请求参数信息,确定所述服务请求所属的请求线路元组。
在具体实施中,在接收到服务请求端发送的服务请求后,获取该服务请求中携带的请求参数信息,进而,根据该服务请求中携带的请求参数信息,来确定出该服务请求所属的请求线路元组,这里,请求参数信息包括服务请求端对应的业务线标识、服务请求端请求访问的服务标识、服务请求端请求访问的接口标识,具体地,根据业务线标识、服务标识、接口标识来共同确定该服务请求所属的请求线路元组,其中,每个请求线路元组中包括业务线、服务、接口。
进一步地,可以预先根据服务平台中提供的业务线、服务、接口,来设置多个请求线路元组,这里,由于服务的数量较多,故,可以将相似功能的服务放在一个服务组中,这样,根据服务平台中提供的业务线、服务组、接口,来设置多个请求线路元组,以减少设置的请求线路元组的数量,也即,步骤S202中根据所述请求参数信息,确定所述服务请求所属的请求线路元组,包括以下步骤:
步骤a1:根据所述请求参数信息所指示的所述服务标识,确定所述服务请求端请求访问的服务所属服务组的服务组标识;所述服务组包括至少一个服务。
在具体实施中,在接收到服务请求端发送的服务请求后,获取该服务请求中携带的请求参数信息,从请求参数信息中获取服务请求端请求访问的服务的服务标识,进而,根据该服务标识,确定出服务请求端请求访问的服务所属的服务组。
步骤a2:根据所述服务请求端对应的业务线标识、所述服务请求端请求访问的服务组标识、以及所述服务请求端请求访问的接口标识,确定所述服务请求所属的请求线路元组。
在具体实施中,根据从服务请求携带的请求参数信息中的服务请求端对应的业务线标识、服务请求端请求访问的服务组标识、服务请求端请求访问的接口标识来共同确定该服务请求所属的请求线路元组,其中,每个请求线路元组中包括业务线、服务组、接口。
S203:根据所述请求线路元组,在配额映射表中,查询出与该请求线路元组对应的标准配额。
在具体实施中,在确定出服务请求所属的请求线路元组后,在配额映射表中,可以查询出与该请求线路元组对应的标准配额,这里,每个请求线路元组的标准配额是根据该请求线路元组中业务的优先级预先分配的,即每个请求线路元组的标准配额的数量是由对应的业务或服务的重要性决定的,对于业务优先级高的请求线路元组分配相对较多的配额,对于业务优先级低的请求线路元组分配相对较少的配额,因而,各个请求线路元组的标准配额有所不同,在为每个请求线路元组分配标准配额后,将每个请求线路元组、每个请求线路元组对应的标准配额相关联存储至配额映射表中,这样,可以根据确定出的请求线路元组,查询出该请求线路元组对应的标准配额。
进一步地,可以预先设置配额映射表,进而,在接收到服务请求后,直接从配额映射表中查询出服务请求对应的请求线路元组的标准配额,并按照预先设置的规则进行流量限制,这样,可以保证有限的资源能够正常提供服务,这里,根据以下步骤生成所述配额映射表:
步骤b1:获取服务平台中提供的业务线标识、服务组标识和接口标识;所述服务平台包括多个服务提供端。
在具体实施中,在建立配额映射表时,先获取服务平台能够提供的业务线的业务线标识、服务组的服务组标识以及接口的接口标识。
步骤b2:将获取的业务线标识、服务组标识和接口标识进行组合,生成所述服务平台对应的多个请求线路元组。
在具体实施中,在获取到多个业务线标识、多个服务组标识和多个接口标识后,分别从多个业务线标识中获取任意一个业务线标识、从多个服务组标识中获取任意一个服务组标识以及从多个接口标识中获取任意一个接口标识,并将获取的该业务线标识、该服务组标识和该接口标识进行组合,得到一个请求线路元组,采用同样的方式,得到服务平台对应的多个请求线路元组。
步骤b3:根据各个请求线路元组的优先级,为每个请求线路元组分配对应的标准配额;其中,所述配额映射表中全部请求线路元组的标准配额的和值小于或等于服务平台所能承接的访问量。
在具体实施中,每个请求线路元组的标准配额是根据该请求线路元组中业务的优先级预先分配的,即,根据各个请求线路元组的优先级,为每个请求线路元组分配对应的标准配额,在对各个请求线路元组分配标准配额时,要求配额映射表中全部请求线路元组的标准配额的和值小于或等于服务平台所能承接的访问量,这里,服务平台所能承接的访问量是由提供服务的各个服务器的配置决定的。
进一步地,可以根据以下步骤确定每个请求线路元组的优先级:
根据每个请求线路元组中的业务线和/或服务组的重要程度,确定每个请求线路元组的优先级。
在具体实施中,通过根据每个请求线路元组中的业务线和/或服务组的重要程度,确定每个请求线路元组的优先级,这样,可以实现优先拒绝对优先级较低的请求线路元组对应的服务请求进行响应,可以保障优先级较高的业务线和服务组的可用性,即保证重要的业务线的资源充足,可以实现对服务进行精细化的限流控制。
步骤b4:将每个请求线路元组与对应的标准配额相关联存储,生成所述配额映射表。
在具体实施中,在为服务平台中各个请求线路元组分配标准配额后,将每个请求线路元组与对应的标准配额相关联存储,生成配额映射表,进而,在接收到服务请求后,直接从配额映射表中查询出服务请求对应的请求线路元组的标准配额,并按照预先设置的规则进行流量限制,这样,可以保证有限的资源能够正常提供服务。
S204:获取所述服务请求所属的请求线路元组对应的当前访问量。
S205:若所述当前访问量大于或等于所述服务请求所属的请求线路元组的标准配额,拒绝对所述服务请求进行响应。
其中,S201、S203-S205的描述可以参见S101-S104的描述,并且能够达到相同的技术效果,对此,不再进行赘述。
一示例中,服务平台包括请求线路元组A和请求线路元组B,其中,请求线路元组A包括接口1、服务组1、业务线1,请求线路元组B包括接口2、服务组2、业务线2,服务组1中有两个服务服务a和服务b,服务组2中有一个服务c,给服务平台设置限流规则,具体地,为请求线路元组 A分配2000配额,为请求线路元组B分配500配额,对于针对请求线路元组A的服务请求,要求每一秒请求的成功响应小于或等于2000个,而针对请求线路元组B的服务请求,要求每一秒请求的成功响应小于或等于500 个,而请求线路元组A的请求流量远大于请求线路元组B,这样就保证了重要性高的请求线路元组A能够更大程度的正常服务,而且优先满足业务线1。
在本申请实施例中,通过接收服务请求端发送的服务请求,并根据服务请求中携带的请求参数信息,可以确定服务请求所属的请求线路元组,进而,可以根据确定的请求线路元组,在配额映射表中,可以查询出与该请求线路元组对应的标准配额,进一步地,获取服务请求所属的请求线路元组的当前访问量,若当前访问量大于服务请求所属的请求线路元组的标准配额,拒绝对服务请求进行响应。基于上述方式,根据业务的优先级来设置每个请求线路元组的标准配额,并根据标准配额优先拒绝对来自优先级低的业务线的服务请求进行响应,可以优先为优先级高的业务线提供服务资源,实现对服务请求的行精细化限流控制。
基于同一申请构思,本申请实施例中还提供了与上述实施例提供的服务请求的处理方法对应的服务请求的处理装置,由于本申请实施例中的装置解决问题的原理与本申请上述实施例的服务请求的处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
如图3至图5所示,图3为本申请实施例提供的一种服务请求的处理装置300的功能模块图之一,图4示出了图3中确定模块320的功能模块图;图5示出了本申请实施例所提供的一种服务请求的处理装置300的功能模块图之二。
如图3所示,服务请求的处理装置300包括:
接收模块310,用于接收服务请求端发送的服务请求;
确定模块320,用于根据所述服务请求中携带的请求参数信息,确定所述服务请求所属的请求线路元组的标准配额;每个请求线路元组的标准配额是根据该请求线路元组中业务的优先级预先分配的;
获取模块330,用于获取所述服务请求所属的请求线路元组对应的当前访问量;
响应模块340,用于若所述当前访问量大于或等于所述服务请求所属的请求线路元组的标准配额,拒绝对所述服务请求进行响应。
在一种可能的实施方式中,所述请求参数信息包括以下参数信息中的至少一种:
所述服务请求端对应的业务线标识;所述服务请求端请求访问的服务标识;所述服务请求端请求访问的接口标识。
在一种可能的实施方式中,如图4所示,所述确定模块320包括:
第一确定单元322,用于根据所述请求参数信息,确定所述服务请求所属的请求线路元组;
查询单元324,用于根据所述请求线路元组,在配额映射表中,查询出与该请求线路元组对应的标准配额。
在一种可能的实施方式中,如图4所示,所述第一确定单元322,用于根据以下步骤确定所述服务请求所属的请求线路元组:
根据所述请求参数信息所指示的所述服务标识,确定所述服务请求端请求访问的服务所属服务组的服务组标识;所述服务组包括至少一个服务;
根据所述服务请求端对应的业务线标识、所述服务请求端请求访问的服务组标识、以及所述服务请求端请求访问的接口标识,确定所述服务请求所属的请求线路元组。
在一种可能的实施方式中,如图5所示,所述服务请求的处理装置300 还包括生成模块350;所述生成模块350,用于根据以下步骤生成所述配额映射表:
获取服务平台中提供的业务线标识、服务组标识和接口标识;所述服务平台包括多个服务提供端;
将获取的业务线标识、服务组标识和接口标识进行组合,生成所述服务平台对应的多个请求线路元组;
根据各个请求线路元组的优先级,为每个请求线路元组分配对应的标准配额;其中,所述配额映射表中全部请求线路元组的标准配额的和值小于或等于服务平台所能承接的访问量;
将每个请求线路元组与对应的标准配额相关联存储,生成所述配额映射表。
在一种可能的实施方式中,如图5所示,所述生成模块350包括第二确定单元352;所述第二确定单元352,用于根据以下步骤确定每个请求线路元组的优先级:
根据每个请求线路元组中的业务线和/或服务组的重要程度,确定每个请求线路元组的优先级。
在一种可能的实施方式中,如图5所示,所述响应模块340还用于:
若所述当前访问量小于所述服务请求所属的请求线路元组的标准配额,允许对所述服务请求进行响应。
在一种可能的实施方式中,如图5所示,若同时接收到多个服务请求,且所述多个服务请求中每个服务请求所属的请求线路元组对应的当前访问量均小于或等于对应的标准配额,所述响应模块340还用于:
按照各个服务请求分别所属的请求线路元组的优先级,依次对各个服务请求进行响应。
在本申请实施例中,通过接收模块310接收服务请求端发送的服务请求,并根据服务请求中携带的请求参数信息,可以通过确定模块320确定服务请求所属的请求线路元组的标准配额,其中,标准配额是根据该请求线路元组中业务的优先级预先分配的,进一步地,通过获取模块330获取服务请求所属的请求线路元组的当前访问量,若当前访问量大于服务请求所属的请求线路元组的标准配额,通过响应模块340拒绝对服务请求进行响应。基于上述方式,根据业务的优先级来设置每个请求线路元组的标准配额,并根据标准配额优先拒绝对来自优先级低的业务线的服务请求进行响应,可以优先为优先级高的业务线提供服务资源,实现对服务请求的行精细化限流控制。
基于同一申请构思,参见图6所示,为本申请实施例提供的一种电子设备600的结构示意图,包括:处理器610、存储器620和总线630,所述存储器620存储有所述处理器610可执行的机器可读指令,当电子设备600 运行时,所述处理器610与所述存储器620之间通过所述总线630进行通信,所述机器可读指令被所述处理器610运行时执行如上述实施例中任一所述的服务请求的处理方法的步骤。
具体地,所述机器可读指令被所述处理器610执行时可以执行如下处理:
接收服务请求端发送的服务请求;
根据所述服务请求中携带的请求参数信息,确定所述服务请求所属的请求线路元组的标准配额;每个请求线路元组的标准配额是根据该请求线路元组中业务的优先级预先分配的;
获取所述服务请求所属的请求线路元组对应的当前访问量;
若所述当前访问量大于或等于所述服务请求所属的请求线路元组的标准配额,拒绝对所述服务请求进行响应。
本申请实施例中,通过接收服务请求端发送的服务请求,并根据服务请求中携带的请求参数信息,可以确定服务请求所属的请求线路元组的标准配额,其中,标准配额是根据该请求线路元组中业务的优先级预先分配的,进一步地,获取服务请求所属的请求线路元组的当前访问量,若当前访问量大于服务请求所属的请求线路元组的标准配额,拒绝对服务请求进行响应。基于上述方式,根据业务的优先级来设置每个请求线路元组的标准配额,并根据标准配额优先拒绝对来自优先级低的业务线的服务请求进行响应,可以优先为优先级高的业务线提供服务资源,实现对服务请求的行精细化限流控制。
基于同一申请构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例提供的服务请求的处理方法的步骤。
具体地,所述存储介质能够为通用的存储介质,如移动磁盘、硬盘等,所述存储介质上的计算机程序被运行时,能够执行上述服务请求的处理方法,通过根据业务的优先级来设置每个请求线路元组的标准配额,并根据标准配额优先拒绝对来自优先级低的业务线的服务请求进行响应,可以优先为优先级高的业务线提供服务资源,实现对服务请求的行精细化限流控制。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。