CN115580580B - 流量控制方法、流量控制装置、计算机可读存储介质 - Google Patents

流量控制方法、流量控制装置、计算机可读存储介质 Download PDF

Info

Publication number
CN115580580B
CN115580580B CN202211247577.3A CN202211247577A CN115580580B CN 115580580 B CN115580580 B CN 115580580B CN 202211247577 A CN202211247577 A CN 202211247577A CN 115580580 B CN115580580 B CN 115580580B
Authority
CN
China
Prior art keywords
service request
service
interface
processed
flow control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211247577.3A
Other languages
English (en)
Other versions
CN115580580A (zh
Inventor
刘洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202211247577.3A priority Critical patent/CN115580580B/zh
Publication of CN115580580A publication Critical patent/CN115580580A/zh
Application granted granted Critical
Publication of CN115580580B publication Critical patent/CN115580580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供了一种流量控制方法、流量控制装置、计算机可读存储介质,方法包括:当获取到待处理业务请求,根据预设的接口映射规则确定待处理业务请求的可用接口;根据可用接口和预设的流量控制策略对待处理业务请求进行流量控制;通过可用接口接收流量控制后的目标业务请求,并对目标业务请求进行业务处理,得到业务处理结果;确定发送目标业务请求的目标发送方,将业务处理结果通过可用接口发送至目标发送方。本申请可以应用于金融服务类软件系统,通过流量控制策略和可用接口对待处理业务请求进行流量控制,相较于现有技术中通过限制线程池的业务请求数对待处理业务请求进行流量控制的方法,能够有效提升软件系统入口网关的服务性能。

Description

流量控制方法、流量控制装置、计算机可读存储介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种流量控制方法、流量控制装置、计算机可读存储介质。
背景技术
随着互联网科技的不断发展,服务管理类型软件的推广越来越普遍。服务管理类型软件能够根据用户发送的业务请求向用户提供业务处理结果,例如口袋e行销平台,该平台能够处理业务查询请求、业务办理请求、保险咨询等业务,能够向用户提供符合用户实际需求的业务处理服务。为了维持服务管理类型软件的稳定运行,需要对服务管理类型软件对应的软件系统的入口网关进行流量控制,软件系统的入口网关作为内部系统对外暴露的用于接收外部业务请求的流量入口,相关技术中的流量控制方法是为入口网关对应的服务方配置专有线程池,通过限制该线程池的业务请求数量等措施进行流量控制,导致入口网关的线程数膨胀、线程上下文切换频繁,从而降低了入口网关的服务性能。
发明内容
本申请实施例的主要目的在于提出一种流量控制方法、流量控制装置、计算机可读存储介质,能够有效提升软件系统入口网关的服务性能。
为实现上述目的,本申请实施例的第一方面提出了一种流量控制方法,所述方法包括:
当获取到待处理业务请求,根据预设的接口映射规则确定所述待处理业务请求的可用接口;
根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制;
通过所述可用接口接收流量控制后的目标业务请求,并对所述目标业务请求进行业务处理,得到业务处理结果;
确定发送所述目标业务请求的目标发送方,将所述业务处理结果通过所述可用接口发送至所述目标发送方。
在一些实施例中,所述根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制,包括:
获取第一数量,所述第一数量为预设时间段内全部的所述待处理业务请求的数量;
获取预设的第一业务请求数量阈值,当所述第一数量大于所述第一业务请求数量阈值,通过所述可用接口拒绝超出所述第一业务请求数量阈值的数量的待处理业务请求,或者通过所述可用接口对超出所述第一业务请求数量阈值的数量的待处理业务请求进行降级处理,其中,所述第一业务请求数量阈值为所述预设时间段内接收所述待处理业务请求的数量的门限值。
在一些实施例中,所述根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制,包括:
当所述第一数量小于或等于所述第一业务请求数量阈值,获取所述可用接口针对所述待处理业务请求的接口等待耗时和接口响应耗时;
当所述接口等待耗时大于预设的等待耗时阈值,通过所述可用接口拒绝全部的所述待处理业务请求,或者通过所述可用接口对全部的所述待处理业务请求进行降级处理;
或者,
当所述接口响应耗时大于预设的响应耗时阈值,通过所述可用接口拒绝全部的所述待处理业务请求,或者通过所述可用接口对全部的所述待处理业务请求进行降级处理。
在一些实施例中,所述可用接口的数量至少为二,所述根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制,包括:
当所述第一数量小于或等于所述第一业务请求数量阈值,获取第二数量,所述第二数量为各个所述可用接口接收到的待处理业务请求的数量;
获取预设的第二业务请求数量,当所述第二数量大于所述第二业务请求数量阈值,通过所述可用接口拒绝超出所述第二业务请求数量阈值的数量的待处理业务请求,或者通过所述可用接口对超出所述第二业务请求数量阈值的数量的待处理业务请求进行降级处理,其中,所述第二业务请求数量阈值为所述可用接口接收所述待处理业务请求的数量的门限值。
在一些实施例中,所述待处理业务请求携带有业务标识信息,所述根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制,包括:
当所述第一数量小于或等于所述第一业务请求数量阈值,且所述可用接口接收到的所述待处理业务请求的业务类型互不相同,获取预设的权重分配规则,其中,所述业务类型根据所述业务标识信息得到;
根据所述权重分配规则、根据所述业务标识信息和预设的第二业务请求数量阈值确定第三业务请求数量阈值,其中,所述第二业务请求数量阈值为所述可用接口接收所述待处理业务请求的门限值,所述第三业务请求数量阈值为所述可用接口接收各个所述业务类型的所述待处理业务请求的门限值;
根据所述第三业务请求数量阈值对所述待处理业务请求进行流量控制。
在一些实施例中,所述可用接口包括多个接口字段,在所述将所述业务处理结果通过所述可用接口发送至所述目标发送方之后,所述方法还包括:
从多个所述接口字段中确定所述目标发送方占用的目标接口字段,释放所述目标接口字段,并获取第三数量,所述第三数量为所述目标接口字段的数量;
当检测到所述可用接口获取到来自新的目标发送方发送的新的目标业务请求,确定所述新的目标业务请求的接口字段需求量;
当所述接口字段需求量小于或等于所述第三数量,从所述目标接口字段中确定新的目标接口字段,根据预设的接口字段配置规则对所述新的目标接口字段进行配置,得到配置后的新的目标接口字段;
将配置后的新的目标接口字段发送至所述新的目标发送方,以使所述新的目标发送方根据所述配置后的新的目标接口字段发送业务请求。
在一些实施例中,流量控制方法还包括:
将所述预设时间段内的所述业务标识信息、所述接口等待耗时、所述接口响应耗时和第二数量保存至预设的日志记录器。
为实现上述目的,本申请实施例的第二方面提出了一种流量控制装置,所述装置包括:
可用接口获取模块,所述可用接口获取模块用于当获取到待处理业务请求,根据预设的接口映射规则确定所述待处理业务请求的可用接口;
流量控制模块,所述流量控制模块用于根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制;
业务处理模块,所述业务处理模块用于通过所述可用接口接收流量控制后的目标业务请求,并对所述目标业务请求进行业务处理,得到业务处理结果;
数据发送模块,所述数据发送模块用于确定发送所述目标业务请求的目标发送方,将所述业务处理结果通过所述可用接口发送至所述目标发送方。
为实现上述目的,本申请实施例的第三方面提出了一种流量控制装置,所述装置包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的流量控制方法。
本申请实施例提供了一种流量控制方法、流量控制装置、计算机可读存储介质,其中,流量控制方法包括:当获取到待处理业务请求,根据预设的接口映射规则确定所述待处理业务请求的可用接口;根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制;通过所述可用接口接收流量控制后的目标业务请求,并对所述目标业务请求进行业务处理,得到业务处理结果;确定发送所述目标业务请求的目标发送方,将所述业务处理结果通过所述可用接口发送至所述目标发送方。根据本实施例的技术方案,通过流量控制策略和可用接口对待处理业务请求进行流量控制,相较于现有技术中通过限制线程池的业务请求数对待处理业务请求进行流量控制的方法,能够有效提升软件系统入口网关的服务性能。
附图说明
图1是本申请一个实施例提供的流量控制方法的步骤流程图;
图2是本申请另一个实施例提供的流量控制方法的步骤流程图;
图3是本申请另一个实施例提供的流量控制方法的步骤流程图;
图4是本申请另一个实施例提供的流量控制方法的步骤流程图;
图5是本申请另一个实施例提供的流量控制方法的步骤流程图;
图6是本申请另一个实施例提供的保存将新的目标接口字段发送至新的目标发送方的步骤流程图;
图7是本申请另一个实施例提供的将流量控制信息保存至预设的日志记录器的步骤流程图;
图8是本申请另一个实施例提供的流量控制装置的模块示意图;
图9是本申请另一个实施例提供的流量控制装置的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
本申请实施例提供的流量控制方法、流量控制装置、计算机可读存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的流量控制方法。
本申请实施例提供的流量控制方法、流量控制装置、计算机可读存储介质,涉及数据处理技术领域。本申请实施例提供的流量控制方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现流量控制方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
图1是本申请一个实施例提供的流量控制方法的步骤流程图,图1中的方法可以包括但不限于有步骤S110至步骤S140。
步骤S110,当获取到待处理业务请求,根据预设的接口映射规则确定待处理业务请求的可用接口;
步骤S120,根据可用接口和预设的流量控制策略对待处理业务请求进行流量控制;
步骤S130,通过可用接口接收流量控制后的目标业务请求,并对目标业务请求进行业务处理,得到业务处理结果;
步骤S140,确定发送目标业务请求的目标发送方,将业务处理结果通过可用接口发送至目标发送方。
可以理解的是,本申请实施例所提供的流量控制方法可以应用于用于接收用户发送的业务请求,并对业务请求进行业务处理,向用户反馈业务处理结果的服务管理类型软件系统(例如口袋e行销平台)的入口网关,软件系统的入口网关作为服务方,软件系统的入口网关接收到的待处理业务请求的发起方作为发送方,需要在服务方配置针对发送方业务请求的流量控制策略才能更好地维持服务方的性能,从而能够提升对请求成功的业务请求的服务效果,流量控制策略可以预先配置于软件系统入口网关中的限流器中。
本申请实施例中,当软件系统的入口网关接收到待处理业务请求,根据预设的接口映射规则确定待处理业务请求的可用接口,本领域技术人员可以理解的是,当入口网关接收到待处理业务请求,会根据存储在软件系统的配置好的接口映射规则进行对外接口的转换,确定用于接收待处理业务请求的可用接口;由于入口网关接收到的待处理业务请求通常数量较多,通过可用接口和预设的流量控制策略对待处理业务请求进行流量控制,能够控制通过可用接口处理的待处理业务的数量,避免出现入口网关接收到的待处理业务请求过多而导致的线程数膨胀、线程切换频繁引起的入口网关性能损耗,从而提升软件系统入口网关的服务性能。在对待处理业务请求进行流量控制之后,通过可用接口接收流量控制后的目标业务请求,并对目标业务请求进行业务处理,得到业务处理结果,确定发送目标业务请求的目标发送方,将业务处理结果通过可用接口发送至目标发送方。
在一些实施例中,参阅图2,图1的步骤S120可以包括但不限于包括步骤S210至步骤S220:
步骤S210,获取第一数量,第一数量为预设时间段内全部的待处理业务请求的数量;
步骤S220,获取预设的第一业务请求数量阈值,当第一数量大于第一业务请求数量阈值,通过可用接口拒绝超出第一业务请求数量阈值的数量的待处理业务请求,或者通过可用接口对超出第一业务请求数量阈值的数量的待处理业务请求进行降级处理,其中,第一业务请求数量阈值为预设时间段内接收待处理业务请求的数量的门限值。
可以理解的是,在本申请实施例中,预设的流量控制策略是基于可用接口对软件系统的入口网关接收到的全部的待处理业务请求进行流量控制的规则,在待处理业务请求调用可用接口请求服务之前,对待处理业务请求的总量进行限制,主要实现方法可以是:确定预设时间段内接收到的待处理业务请求的数量,即第一数量,将第一数量与业务请求数量阈值进行比较,第一业务请求数量阈值可以理解为软件系统的入口网关在预设时间段内能够接收待处理业务请求的数量的最大值,由于入口网关在接收到待处理业务请求时,会为各个待处理业务请求分配对应的可用接口,当检测到第一数量大于第一业务请求数量阈值,表示软件系统的入口网关的能够承受的待处理业务请求的数量已满,通过可用接口拒绝超出第一业务请求数量阈值的数量的待处理业务请求,或者通过可用接口对超出第一业务请求数量阈值的数量的待处理业务请求进行降级处理,从而保障服务方,即软件系统的入口网关的服务性能,同时也能够保障请求成功的待处理业务请求的业务处理效果,从而提高用户服务体验。
需要说明的是,本申请实施例并不限制从预设时间段内的全部的待处理业务请求中选取超出第一业务请求数量阈值的,需要拒绝请求或者降级处理的拒绝的待处理业务请求的具体方式,可以是先确定第一目标数量,第一目标数量为第一业务请求数量阈值与第一数量的差值,从预设时间段内入口网关接收到的待处理业务请求中随机选取第一目标数量的待处理业务请求,通过可用接口进行拒绝请求以及降级处理,或者,按照时间顺序,在预设时间段内选取发起请求时间最晚的满足第一目标数量的待处理业务请求,通过可用接口进行拒绝请求以及降级处理。
在一些实施例中,请参阅图3,图1实施例的步骤S120可以包括但不限于有步骤S310至步骤S330:
步骤S310,当第一数量小于或等于第一业务请求数量阈值,获取可用接口针对待处理业务请求的接口等待耗时和接口响应耗时;
步骤S320,当接口等待耗时大于预设的等待耗时阈值,通过可用接口拒绝全部的待处理业务请求,或者通过可用接口对全部的待处理业务请求进行降级处理;
或者,
步骤S330,当接口响应耗时大于预设的响应耗时阈值,通过可用接口拒绝全部的待处理业务请求,或者通过可用接口对全部的待处理业务请求进行降级处理。
可以理解的是,接口等待耗时和接口响应耗时为体现可用接口的服务性能的参考数据,在第一数量小于或等于第一业务请求数量阈值的情况下,获取可用接口针对待处理业务请求的接口等待耗时和接口响应耗时,根据可用接口的接口等待耗时和接口响应耗时对经过图2实施例提供的流量控制方法控制后的待处理业务请求进行进一步流量控制,当接口等待耗时大于预设的等待耗时阈值,通过可用接口拒绝全部的待处理业务请求,或者通过可用接口对全部的待处理业务请求进行降级处理;或者,当接口响应耗时大于预设的响应耗时阈值,通过可用接口拒绝全部的待处理业务请求,或者通过可用接口对全部的待处理业务请求进行降级处理,从而能够扩展对待处理业务请求的流量控制粒度,进而提高可用接口处理待处理业务请求的性能。
需要说明的是,本申请实施例并不限制可用接口的等待耗时阈值和响应耗时阈值的具体数值,本领域技术人员根据实际情况确定即可。
在一些实施例中,可用接口的数量至少为二,请参阅图4,图1实施例的步骤S120可以包括但不限于有步骤S410至步骤S420:
步骤S410,当第一数量小于或等于第一业务请求数量阈值,获取第二数量,第二数量为各个可用接口接收到的待处理业务请求的数量;
步骤S420,获取预设的第二业务请求数量,当第二数量大于第二业务请求数量阈值,通过可用接口拒绝超出第二业务请求数量阈值的数量的待处理业务请求,或者通过可用接口对超出第二业务请求数量阈值的数量的待处理业务请求进行降级处理,其中,第二业务请求数量阈值为可用接口接收待处理业务请求的数量的门限值。
可以理解的是,由于当入口网关接收到待处理业务请求,会根据存储在软件系统的配置好的接口映射规则进行对外接口的转换,确定用于接收待处理业务请求的可用接口,在第一数量小于或等于第一业务请求数量阈值的情况下,可以通过第二业务请求数量限制各个可用接口能够处理待处理业务请求的总数,当第二数量大于第二业务请求数量阈值,通过可用接口拒绝超出第二业务请求数量阈值的数量的待处理业务请求,或者通过可用接口对超出第二业务请求数量阈值的数量的待处理业务请求进行降级处理,从而能够提高可用接口处理待处理业务请求的性能。
另外,在一些实施例中,待处理业务请求携带有业务标识信息,请参阅图5,图1步骤S120可以包括但不限于有步骤S510至步骤S530:
步骤S510,当第一数量小于或等于第一业务请求数量阈值,且可用接口接收到的待处理业务请求的业务类型互不相同,获取预设的权重分配规则,其中,业务类型根据业务标识信息得到;
步骤S520,根据权重分配规则、根据业务标识信息和预设的第二业务请求数量阈值确定第三业务请求数量阈值,其中,第二业务请求数量阈值为可用接口接收待处理业务请求的门限值,第三业务请求数量阈值为可用接口接收各个业务类型的待处理业务请求的门限值;
步骤S530,根据第三业务请求数量阈值对待处理业务请求进行流量控制。
可以理解的是,为了更好地描述本申请实施例中根据权重分配规则、根据业务标识信息和预设的第二业务请求数量阈值确定第三业务请求数量阈值,根据第三业务请求数量阈值对待处理业务请求进行流量控制的具体步骤,以下通过一个具体示例进行描述:当可用接口接收到的待处理业务请求的业务类型互不相同,例如可用接口接收到业务类型A、业务类型B和业务类型C三种不同业务类型的待处理业务请求,该可用接口的第二业务请求数量阈值为100,根据预设的权重分配规则确定可用接口接收业务类型A的待处理业务请求的门限值,即业务类型A对应的第三业务请求数量阈值为30,业务类型B对应的第三业务请求数量阈值为40,业务类型C对应的第三业务请求数量阈值为30,从而限制该可用接口对业务类型A的待处理业务请求的请求数量上限为30,对业务类型B的待处理业务请求的请求数量上限为40,对业务类型C的待处理业务请求的请求数量上限为30;从而能够有效规避当业务类型A、业务类型B或业务类型C中其中一个业务类型对应的待处理业务请求处理过程复杂、耗时较高或者数目较多时,可用接口无法响应其他待处理业务请求的情况。
需要说明的是,从待处理业务请求中获取业务标识信息可以是通过预设于软件系统的入口网关调用解析器实现,本申请实施例并不对解析器进行限制,可以是esg或ark-api。
另外,在一些实施例中,可用接口包括多个接口字段,请参阅图6,在执行图1步骤S140之后,本申请实施例提供的流量控制方法还包括但不限于有步骤S610至步骤S640:
步骤S610,从多个接口字段中确定目标发送方占用的目标接口字段,释放目标接口字段,并获取第三数量,第三数量为目标接口字段的数量;
步骤S620,当检测到可用接口获取到来自新的目标发送方发送的新的目标业务请求,确定新的目标业务请求的接口字段需求量;
步骤S630,当接口字段需求量小于或等于第三数量,从目标接口字段中确定新的目标接口字段,根据预设的接口字段配置规则对新的目标接口字段进行配置,得到配置后的新的目标接口字段;
步骤S640,将配置后的新的目标接口字段发送至新的目标发送方,以使新的目标发送方根据配置后的新的目标接口字段发送业务请求。
可以理解的是,在将业务处理结果通过可用接口发送至目标发送方之后,可以根据实际需求对可用接口的接口字段进行接口字段复用,从而提升已被使用的可用接口的开发效率,以下通过一个具体示例对本申请实施例中对可用接口已分配的接口字段进行复用的步骤进行描述:可用接口D包括4个目标接口字段f1、f2、f3和f4,即第三数量为4,由于软件系统入口网关已通过可用接口D发送业务处理结果至目标发送方E,释放目标发送方E占用的目标接口字段f1、f2、f3和f4,当可用接口D接收到新的目标发送方F发送的新的目标业务请求,新的目标业务请求的接口字段需求量为3,小于第三数量,从目标接口字段(f1、f2、f3和f4)中确定新的目标接口字段,新的目标接口字段为f1、f2和f4,根据预设的接口字段配置规则对新的目标接口字段进行配置,将f1转化为a,将f2转化为b,得到配置后的新的目标接口字段a、b和f4,将新的目标接口字段a、b和f4发送至新的目标发送方,以使新的目标发送方根据配置后的新的目标接口字段发送业务请求。
另外,在一些实施例中,请参阅图7,本申请实施例提供的流量控制方法还包括但不限于有步骤S710至步骤S720:
步骤S710,获取预设时间段内与可用接口对应的流量控制信息;
步骤S720,将流量控制信息保存至预设的日志记录器。
可以理解的是,获取预设时间段内与可用接口对应的流量控制信息,流量控制信息可以是上述实施例提到的可用接口在处理待处理业务请求的接口等待耗时、接口响应耗时、待处理业务请求的业务标识信息以及可用接口接收待处理业务请求的数量的门限值等信息,将此类流量控制信息保存至预设的日志记录器,可用于后续可用接口的信息数据统计,能够实现基于日志记录器中的审计日志支持流量控制的问题定位和数据统计处理。
请参阅图8,本申请实施例还提供一种流量控制装置,可以实现上述流量控制方法,流量控制装置800包括:
可用接口获取模块810,可用接口获取模块810用于当获取到待处理业务请求,根据预设的接口映射规则确定待处理业务请求的可用接口;
流量控制模块820,流量控制模块820用于根据可用接口和预设的流量控制策略对待处理业务请求进行流量控制;
业务处理模块830,业务处理模块830用于通过可用接口接收流量控制后的目标业务请求,并对目标业务请求进行业务处理,得到业务处理结果;
数据发送模块840,数据发送模块840用于确定发送目标业务请求的目标发送方,将业务处理结果通过可用接口发送至目标发送方。
该流量控制装置的具体实施方式与上述流量控制方法的具体实施例基本相同,在此不再赘述。
本申请实施例还提供了一种流量控制装置,该装置包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述流量控制方法。该流量控制装置可以部署于平板电脑、车载电脑等任意智能终端。
请参阅图9,图9是本申请另一个实施例提供的流量控制装置的硬件结构示意图,该流量控制装置包括:
处理器910,可以采用通用的中央处理器(Central Processing Unit,CPU)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器920,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器920可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器920中,并由处理器910来调用执行本申请实施例的流量控制方法,当被处理器910执行时,执行上述实施例中的流量控制方法,例如,执行以上描述的执行以上描述的图1中的方法步骤S110至步骤S140、图2中的方法步骤S210至步骤S220、图3中的方法步骤S310至步骤S330、图4中的方法步骤S410至步骤S420、图5中的方法步骤S510至步骤S530、图6中的方法步骤S610至步骤S640、图7中的方法步骤S710至步骤S720;
输入/输出接口930,用于实现信息输入及输出;
通信接口940,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线950,在设备的各个组件(例如处理器910、存储器920、输入/输出接口930和通信接口940)之间传输信息;
其中处理器910、存储器920、输入/输出接口930和通信接口940通过总线905实现彼此之间在设备内部的通信连接。
另外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被流量控制装置900实施例中的一个处理器910执行,可使得上述处理器执行上述实施例中的流量控制方法,例如,执行以上描述的图1中的方法步骤S110至步骤S140、图2中的方法步骤S210至步骤S220、图3中的方法步骤S310至步骤S330、图4中的方法步骤S410至步骤S420、图5中的方法步骤S510至步骤S530、图6中的方法步骤S610至步骤S640、图7中的方法步骤S710至步骤S720。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供了一种流量控制方法、流量控制装置、计算机可读存储介质,其中,流量控制方法包括:当获取到待处理业务请求,根据预设的接口映射规则确定所述待处理业务请求的可用接口;根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制;通过所述可用接口接收流量控制后的目标业务请求,并对所述目标业务请求进行业务处理,得到业务处理结果;确定发送所述目标业务请求的目标发送方,将所述业务处理结果通过所述可用接口发送至所述目标发送方。根据本实施例的技术方案,通过流量控制策略和可用接口对待处理业务请求进行流量控制,相较于现有技术中通过限制线程池的业务请求数对待处理业务请求进行流量控制的方法,能够有效提升软件系统入口网关的服务性能。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序的介质。
本实施例可用于众多通用或专用的计算机装置环境或配置中。例如:个人计算机、服务器计算机、手持电子设备或便携式电子设备、平板型电子设备、多处理器装置、基于微处理器的装置、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何装置或电子设备的分布式计算环境等等。本申请可以在由计算机执行的计算机程序的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理电子设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储电子设备在内的本地和远程计算机存储介质中。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
应当注意,尽管在上文详细描述中提及了用于动作执行的电子设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算电子设备(可以是个人计算机、服务器、触控终端、或者网络电子设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (7)

1.一种流量控制方法,其特征在于,所述方法包括:
当获取到待处理业务请求,根据预设的接口映射规则确定所述待处理业务请求的可用接口;
根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制;
通过所述可用接口接收流量控制后的目标业务请求,并对所述目标业务请求进行业务处理,得到业务处理结果;
确定发送所述目标业务请求的目标发送方,将所述业务处理结果通过所述可用接口发送至所述目标发送方;
所述根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制,包括:
获取第一数量,所述第一数量为预设时间段内全部的所述待处理业务请求的数量;
获取预设的第一业务请求数量阈值,当所述第一数量大于所述第一业务请求数量阈值,通过所述可用接口拒绝超出所述第一业务请求数量阈值的数量的待处理业务请求,或者通过所述可用接口对超出所述第一业务请求数量阈值的数量的待处理业务请求进行降级处理,其中,所述第一业务请求数量阈值为所述预设时间段内接收所述待处理业务请求的数量的门限值;
所述根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制,包括:
当所述第一数量小于或等于所述第一业务请求数量阈值,获取所述可用接口针对所述待处理业务请求的接口等待耗时和接口响应耗时;
当所述接口等待耗时大于预设的等待耗时阈值,通过所述可用接口拒绝全部的所述待处理业务请求,或者通过所述可用接口对全部的所述待处理业务请求进行降级处理;
或者,
当所述接口响应耗时大于预设的响应耗时阈值,通过所述可用接口拒绝全部的所述待处理业务请求,或者通过所述可用接口对全部的所述待处理业务请求进行降级处理;
所述待处理业务请求携带有业务标识信息,所述根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制,包括:
当所述第一数量小于或等于所述第一业务请求数量阈值,且所述可用接口接收到的所述待处理业务请求的业务类型互不相同,获取预设的权重分配规则,其中,所述业务类型根据所述业务标识信息得到;
根据所述权重分配规则、根据所述业务标识信息和预设的第二业务请求数量阈值确定第三业务请求数量阈值,其中,所述第二业务请求数量阈值为所述可用接口接收所述待处理业务请求的门限值,所述第三业务请求数量阈值为所述可用接口接收各个所述业务类型的所述待处理业务请求的门限值;
根据所述第三业务请求数量阈值对所述待处理业务请求进行流量控制。
2.根据权利要求1所述的流量控制方法,其特征在于,所述可用接口的数量至少为二,所述根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制,包括:
当所述第一数量小于或等于所述第一业务请求数量阈值,获取第二数量,所述第二数量为各个所述可用接口接收到的待处理业务请求的数量;
获取预设的第二业务请求数量,当所述第二数量大于所述第二业务请求数量阈值,通过所述可用接口拒绝超出所述第二业务请求数量阈值的数量的待处理业务请求,或者通过所述可用接口对超出所述第二业务请求数量阈值的数量的待处理业务请求进行降级处理,其中,所述第二业务请求数量阈值为所述可用接口接收所述待处理业务请求的数量的门限值。
3.根据权利要求1所述的流量控制方法,其特征在于,所述可用接口包括多个接口字段,在所述将所述业务处理结果通过所述可用接口发送至所述目标发送方之后,所述方法还包括:
从多个所述接口字段中确定所述目标发送方占用的目标接口字段,释放所述目标接口字段,并获取第三数量,所述第三数量为所述目标接口字段的数量;
当检测到所述可用接口获取到来自新的目标发送方发送的新的目标业务请求,确定所述新的目标业务请求的接口字段需求量;
当所述接口字段需求量小于或等于所述第三数量,从所述目标接口字段中确定新的目标接口字段,根据预设的接口字段配置规则对所述新的目标接口字段进行配置,得到配置后的新的目标接口字段;
将配置后的新的目标接口字段发送至所述新的目标发送方,以使所述新的目标发送方根据所述配置后的新的目标接口字段发送业务请求。
4.根据权利要求1所述的流量控制方法,其特征在于,所述方法还包括:
获取所述预设时间段内与所述可用接口对应的流量控制信息;
将所述流量控制信息保存至预设的日志记录器。
5.一种流量控制装置,其特征在于,包括:
可用接口获取模块,所述可用接口获取模块用于当获取到待处理业务请求,根据预设的接口映射规则确定所述待处理业务请求的可用接口;
流量控制模块,所述流量控制模块用于根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制;
业务处理模块,所述业务处理模块用于通过所述可用接口接收流量控制后的目标业务请求,并对所述目标业务请求进行业务处理,得到业务处理结果;
数据发送模块,所述数据发送模块用于确定发送所述目标业务请求的目标发送方,将所述业务处理结果通过所述可用接口发送至所述目标发送方;
所述根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制,包括:
获取第一数量,所述第一数量为预设时间段内全部的所述待处理业务请求的数量;
获取预设的第一业务请求数量阈值,当所述第一数量大于所述第一业务请求数量阈值,通过所述可用接口拒绝超出所述第一业务请求数量阈值的数量的待处理业务请求,或者通过所述可用接口对超出所述第一业务请求数量阈值的数量的待处理业务请求进行降级处理,其中,所述第一业务请求数量阈值为所述预设时间段内接收所述待处理业务请求的数量的门限值;
所述根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制,包括:
当所述第一数量小于或等于所述第一业务请求数量阈值,获取所述可用接口针对所述待处理业务请求的接口等待耗时和接口响应耗时;
当所述接口等待耗时大于预设的等待耗时阈值,通过所述可用接口拒绝全部的所述待处理业务请求,或者通过所述可用接口对全部的所述待处理业务请求进行降级处理;
或者,
当所述接口响应耗时大于预设的响应耗时阈值,通过所述可用接口拒绝全部的所述待处理业务请求,或者通过所述可用接口对全部的所述待处理业务请求进行降级处理;
所述待处理业务请求携带有业务标识信息,所述根据所述可用接口和预设的流量控制策略对所述待处理业务请求进行流量控制,包括:
当所述第一数量小于或等于所述第一业务请求数量阈值,且所述可用接口接收到的所述待处理业务请求的业务类型互不相同,获取预设的权重分配规则,其中,所述业务类型根据所述业务标识信息得到;
根据所述权重分配规则、根据所述业务标识信息和预设的第二业务请求数量阈值确定第三业务请求数量阈值,其中,所述第二业务请求数量阈值为所述可用接口接收所述待处理业务请求的门限值,所述第三业务请求数量阈值为所述可用接口接收各个所述业务类型的所述待处理业务请求的门限值;
根据所述第三业务请求数量阈值对所述待处理业务请求进行流量控制。
6.一种流量控制装置,其特征在于,所述流量控制装置包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的流量控制方法。
7.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的流量控制方法。
CN202211247577.3A 2022-10-12 2022-10-12 流量控制方法、流量控制装置、计算机可读存储介质 Active CN115580580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211247577.3A CN115580580B (zh) 2022-10-12 2022-10-12 流量控制方法、流量控制装置、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211247577.3A CN115580580B (zh) 2022-10-12 2022-10-12 流量控制方法、流量控制装置、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN115580580A CN115580580A (zh) 2023-01-06
CN115580580B true CN115580580B (zh) 2024-05-17

Family

ID=84584839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211247577.3A Active CN115580580B (zh) 2022-10-12 2022-10-12 流量控制方法、流量控制装置、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115580580B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107454004A (zh) * 2016-05-30 2017-12-08 阿里巴巴集团控股有限公司 一种流量控制方法和装置
WO2020220739A1 (zh) * 2019-04-28 2020-11-05 华为技术有限公司 一种请求控制方法、相关设备及计算机存储介质
CN112165436A (zh) * 2020-10-15 2021-01-01 腾讯科技(深圳)有限公司 流量控制方法、装置及系统
WO2021036437A1 (zh) * 2019-08-23 2021-03-04 苏宁易购集团股份有限公司 业务接口的流量控制方法、装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107454004A (zh) * 2016-05-30 2017-12-08 阿里巴巴集团控股有限公司 一种流量控制方法和装置
WO2020220739A1 (zh) * 2019-04-28 2020-11-05 华为技术有限公司 一种请求控制方法、相关设备及计算机存储介质
WO2021036437A1 (zh) * 2019-08-23 2021-03-04 苏宁易购集团股份有限公司 业务接口的流量控制方法、装置、计算机设备和存储介质
CN112165436A (zh) * 2020-10-15 2021-01-01 腾讯科技(深圳)有限公司 流量控制方法、装置及系统

Also Published As

Publication number Publication date
CN115580580A (zh) 2023-01-06

Similar Documents

Publication Publication Date Title
CN110086636A (zh) 一种基于mqtt的消息分发方法、服务器及存储介质
CN111008075B (zh) 一种负载均衡系统、方法、装置、设备及介质
CN110868465A (zh) 一种容器云的负载均衡系统及方法
CN107948004B (zh) 一种视频cdn调取优化方法及装置
CN106161280B (zh) 一种带宽控制方法、装置和电子设备
CN103095824A (zh) 文件上传控制方法及系统
CN113361913A (zh) 一种通信业务编排方法、装置、计算机设备及存储介质
CN103067486A (zh) 基于PaaS平台的大数据处理方法
CN104202305A (zh) 一种转码处理方法、装置及服务器
CN114268667B (zh) 数据转发方法、装置、计算机设备及存储介质
CN103428260A (zh) 用于将终端分配到服务器并高效地提示终端的系统及方法
CN115580580B (zh) 流量控制方法、流量控制装置、计算机可读存储介质
CN105162837A (zh) 海量数据存储环境下提升i/o吞吐率的方法及系统
CN115729716B (zh) 多线程内存管理方法及系统、计算机设备、存储介质
CN107045452B (zh) 虚拟机调度方法和装置
CN111813529A (zh) 数据处理方法、装置、电子设备及存储介质
CN116743836A (zh) 长连接通信链路建立方法及其装置、电子设备及存储介质
CN114615276B (zh) 一种内容分发网络域名调度方法及装置
CN116173495A (zh) 游戏进程的分配控制方法、装置、电子设备以及存储介质
CN113342776B (zh) 基于智能合约的交易信息迁移方法、装置、设备及介质
CN111770181B (zh) 一种物联网设备的接入方法、装置及设备
CN110247808B (zh) 信息发送方法、装置、设备及可读存储介质
CN114928608B (zh) 一种多媒体资源的处理方法、装置、设备及存储介质
CN112687261B (zh) 语音识别训练和应用方法及装置
CN110740151A (zh) 一种微服务调整方法、装置、服务器及计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant