CN111343101B - 服务器限流方法、装置、电子设备及可读存储介质 - Google Patents

服务器限流方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN111343101B
CN111343101B CN202010078323.8A CN202010078323A CN111343101B CN 111343101 B CN111343101 B CN 111343101B CN 202010078323 A CN202010078323 A CN 202010078323A CN 111343101 B CN111343101 B CN 111343101B
Authority
CN
China
Prior art keywords
management server
current
current limiting
limit
request
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
CN202010078323.8A
Other languages
English (en)
Other versions
CN111343101A (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.)
Jiangsu Manyun Software Technology Co Ltd
Original Assignee
Jiangsu Manyun Software Technology Co 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 Jiangsu Manyun Software Technology Co Ltd filed Critical Jiangsu Manyun Software Technology Co Ltd
Priority to CN202010078323.8A priority Critical patent/CN111343101B/zh
Publication of CN111343101A publication Critical patent/CN111343101A/zh
Application granted granted Critical
Publication of CN111343101B publication Critical patent/CN111343101B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/215Flow control; Congestion control using token-bucket
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B15/00Arrangements or apparatus for collecting fares, tolls or entrance fees at one or more control points
    • G07B15/06Arrangements for road pricing or congestion charging of vehicles or vehicle users, e.g. automatic toll systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供一种服务器限流方法、装置、电子设备及可读存储介质,涉及网络技术领域。该方法包括:接收用户的电子收费ETC请求,其中,ETC请求用于请求对应的ETC管理服务器处理相应的ETC业务;判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果;根据所述判断结果选择对应的处理方式对所述ETC请求进行处理。该方案中,通过判断ETC请求对应的目标ETC管理服务器是否需要限流,根据判断结果选择对应的处理方式对该ETC请求进行处理,从而可以减轻ETC管理服务器的处理负担,以避免ETC管理服务器由于需要处理太多的ETC业务而造成宕机的情况。

Description

服务器限流方法、装置、电子设备及可读存储介质
技术领域
本申请涉及网络技术领域,具体而言,涉及一种服务器限流方法、装置、电子设备及可读存储介质。
背景技术
电子收费(Electronic Toll Collection,ETC)系统是一种用于公路、大桥和隧道的电子自动收费系统,该系统对于提高高速公路等的通行能力以及节能减排等具有显著的效果。
目前针对各个省份的ETC卡的管理存在一定的差异,所以,各个省份各自配置有对应的ETC管理服务器来管理各自的ETC业务,如充值业务、开卡业务等。但是由于ETC业务的剧增,使得ETC管理服务器需要频繁处理大量的开卡、充值、销卡等业务,这种情况下,很可能会造成ETC管理服务器出现宕机,从而造成用户无法顺利办理业务的情况。
发明内容
本申请实施例的目的在于提供一种服务器限流方法、装置、电子设备及可读存储介质,用以改善现有技术中ETC管理服务器在业务处理量较大时出现宕机的情况。
第一方面,本申请实施例提供了一种服务器限流方法,所述方法包括:接收用户的电子收费ETC请求,其中,ETC请求用于请求对应的ETC管理服务器处理相应的ETC业务;判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果;根据所述判断结果选择对应的处理方式对所述ETC请求进行处理。
在上述实现过程中,通过判断ETC请求对应的目标ETC管理服务器是否需要限流,根据判断结果选择对应的处理方式对该ETC请求进行处理,从而可以减轻ETC管理服务器的处理负担,以避免ETC管理服务器由于需要处理太多的ETC业务而造成宕机的情况。
可选地,所述判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果,包括:
查找是否存在与所述目标ETC管理服务器对应的限流工具;
若存在,则确定所述判断结果为所述目标ETC管理服务器需要限流。
在上述实现过程中,通过查找目标ETC管理服务器是否存在对应的限流工具,如此可便于快速判断目标ETC管理服务器是否需要限流。
可选地,所述判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果,包括:
查找是否存在与所述目标ETC管理服务器对应的限流工具;
若存在,则确定所述限流工具是否达到限流上限;
若是,则确定所述判断结果为所述目标ETC管理服务器需要限流。
在上述实现过程中,在判断限流工具达到限流上限时,可确定目标ETC管理服务器需要限流,从而可更加便于准确地判断目标ETC管理服务器的限流情况。
可选地,所述限流工具为Rate Limiter限流工具,所述确定所述限流工具是否达到限流上限,包括:
调用所述Rate Limiter限流工具获取对应的令牌桶中的令牌;
若获取不到,则确定所述限流工具达到限流上限。
在上述实现过程中,可通过Rate Limiter限流工具来准确确定限流工具是否达到限流上限。
可选地,所述接收用户的电子收费ETC请求之前,还包括:
确定需要限流的至少一个ETC管理服务器;
为需要限流的每个ETC管理服务器配置对应的限流工具;和/或根据需要限流的每个ETC管理器的限流需求为每个ETC管理服务器对应的限流工具配置对应的限流上限。
在上述实现过程中,预先为需要限流的ETC管理服务器配置限流工具,可便于对各个ETC管理服务器的限流情况进行管理。
可选地,所述根据需要限流的每个ETC管理器的限流需求为每个ETC管理服务器对应的限流工具配置对应的限流上限之后,还包括:
周期性获取需要限流的每个ETC管理服务器当前的限流需求;
将每个ETC管理服务器对应的限流工具当前的限流上限与对应的ETC管理服务器当前的限流需求进行匹配,若匹配不一致,则将每个限流工具当前的限流上限更新为目标限流上限,以使所述目标限流上限满足对应的ETC管理服务器当前的限流需求。
在上述实现过程中,通过根据目标ETC管理服务器当前的限流需求对限流上限进行调整,以使得可以在目标ETC管理服务器的限流情况发送变化时对目标ETC管理服务器的限流情况进行更新。
可选地,所述根据所述判断结果选择对应的处理方式对所述ETC请求进行处理,包括:
若所述判断结果为所述目标ETC管理服务器需要限流,则将所述ETC请求发送至所述目标ETC管理服务器对应的缓存区,以依次将所述缓存区中的ETC请求发送至所述目标ETC管理服务器。
在上述实现过程中,通过将ETC请求存入缓存区,如此可在等待一定时间后再将该ETC请求发送给目标ETC管理服务器,可无需用户再次出发ETC请求。
可选地,所述ETC请求中携带有对应的ETC卡号,所述接收用户的电子收费ETC请求之后,所述判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果之前,还包括:
获取所述ETC请求中携带的ETC卡号;
基于所述ETC卡号从多个ETC管理服务器中确定所述ETC请求对应的目标ETC管理服务器。
第二方面,本申请实施例提供了一种服务器限流装置,所述装置包括:
请求接收模块,用于接收用户的电子收费ETC请求,其中,ETC请求用于请求对应的ETC管理服务器处理相应的ETC业务;
限流判断模块,用于判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果;
请求处理模块,用于根据所述判断结果选择对应的处理方式对所述ETC请求进行处理。
可选地,所述限流判断模块,用于查找是否存在与所述目标ETC管理服务器对应的限流工具;若存在,则确定所述判断结果为所述目标ETC管理服务器需要限流。
可选地,所述限流判断模块,用于查找是否存在与所述目标ETC管理服务器对应的限流工具;若存在,则确定所述限流工具是否达到限流上限;若是,则确定所述判断结果为所述目标ETC管理服务器需要限流。
可选地,所述限流工具为Rate Limiter限流工具,所述限流判断模块,用于调用所述Rate Limiter限流工具获取对应的令牌桶中的令牌;若获取不到,则确定所述限流工具达到限流上限。
可选地,所述装置还包括:
限流工具配置模块,用于确定需要限流的至少一个ETC管理服务器;为需要限流的每个ETC管理服务器配置对应的限流工具;
和/或限流上限配置模块,用于根据需要限流的每个ETC管理器的限流需求为每个ETC管理服务器对应的限流工具配置对应的限流上限。
可选地,所述装置还包括:
限流上限更新模块,用于周期性获取需要限流的每个ETC管理服务器当前的限流需求;将每个ETC管理服务器对应的限流工具当前的限流上限与对应的ETC管理服务器当前的限流需求进行匹配,若匹配不一致,则将每个限流工具当前的限流上限更新为目标限流上限,以使所述目标限流上限满足对应的ETC管理服务器当前的限流需求。
可选地,所述请求处理模块,用于若所述判断结果为所述目标ETC管理服务器需要限流,则将所述ETC请求发送至所述目标ETC管理服务器对应的缓存区,以依次将所述缓存区中的ETC请求发送至所述目标ETC管理服务器。
可选地,所述ETC请求中携带有对应的ETC卡号,所述装置还包括:
目标ETC管理服务器确定模块,用于获取所述ETC请求中携带的ETC卡号;基于所述ETC卡号从多个ETC管理服务器中确定所述ETC请求对应的目标ETC管理服务器。
第三方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种用于执行服务器限流方法的电子设备的结构示意图;
图2为本申请实施例提供的一种服务器限流方法的流程图;
图3为本发明实施例提供的一种服务器限流装置的结构框图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提供一种服务器限流方法,在获取用户的ETC请求后,判断ETC请求对应的目标ETC管理服务器是否需要限流,根据判断结果选择对应的处理方式对该ETC请求进行处理,从而可以减轻ETC管理服务器的处理负担,以避免ETC管理服务器由于需要处理太多的ETC业务而造成宕机的情况。
请参照图1,图1为本申请实施例提供的一种用于执行服务器限流方法的电子设备的结构示意图,所述电子设备可以包括:至少一个处理器110,例如CPU,至少一个通信接口120,至少一个存储器130和至少一个通信总线140。其中,通信总线140用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口120用于与其他节点设备进行信令或数据的通信。存储器130可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器130可选的还可以是至少一个位于远离前述处理器的存储装置。存储器130中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器110执行时,电子设备执行下述图2所示方法过程,例如,存储器130可用于存储多种处理方式,处理器110可用于在接收到ETC请求后判断该ETC请求对应的目标ETC管理服务器是否需要限流,根据判断结果从存储器130中获取对应的处理方式对ETC请求进行处理。
可以理解,图1所示的结构仅为示意,所述电子设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例中,上述电子设备可以为服务器或智能终端,在电子设备为智能终端时,智能终端上可安装有ETC管理平台,该ETC管理平台可用于对用户提交的ETC请求进行相应处理,以及管理各个ETC管理服务器的限流情况,用户可在ETC管理平台上触发相应的ETC请求,从而ETC管理平台可基于该ETC请求查找对应的ETC管理服务器的限流情况,根据其限流情况对该ETC请求进行相应处理。
请参照图2,图2为本申请实施例提供的一种服务器限流方法的流程图,该方法包括如下步骤:
步骤S110:获取用户的ETC请求。
用户可在ETC管理平台触发ETC请求,该ETC请求可用于请求对应的ETC管理服务器处理相应的ETC业务,例如,用户可在智能终端进入ETC管理平台,触发该ETC管理平台中的相应服务,如用户想办理开卡业务,则可在应用中触发开卡服务,从而可触发ETC请求,此时该ETC请求用于请求对应的ETC管理服务器执行开卡服务。
若电子设备为服务器,则ETC管理平台在接收到ETC请求后可将ETC请求发送给电子设备即可。
步骤S120:判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果。
可以理解地,由于各个省份发行的ETC卡的卡种不一样,所以,每个省份可配置一个ETC管理服务器,用于管理各自省份的ETC业务,所以,不同的ETC请求可能需要不同的ETC管理服务器来处理,如针对该ETC请求为办理北京的ETC卡,则表明该ETC请求对应的ETC管理服务器为北京区域对应的ETC管理服务器。
当然,在不同的应用场景下,可以根据实际需求配置ETC管理服务器,如可以基于不同的ETC业务来区分不同的ETC管理服务器,如ETC管理服务器1用于处理相应的ETC开卡业务,ETC管理服务器2用于处理相应的ETC充值业务等。
所以,可以基于获得的ETC请求识别该ETC请求对应的目标ETC管理服务器,然后可判断该目标ETC管理服务器是否需要限流,获得判断结果。
其中,作为一种实施方式,若ETC请求中携带有对应的ETC卡号,在获得ETC请求之后,可以从ETC请求中获取ETC卡号,然后基于ETC卡号从多个ETC管理服务器中确定该ETC请求中对应的目标管理服务器。
可以理解地,ETC卡号中可以存在用于表征对应的ETC管理服务器的字段,如ETC卡号为由8位数字组成的号码,其第一位可以用于标识ETC管理服务器,所以,电子设备可对ETC卡号进行识别,获取其第一位卡号,然后从存储的多个ETC管理服务器的标识中查找与第一位卡号相同的标识,即可确定该ETC请求对应的目标ETC管理服务器。
在确定ETC请求对应的目标ETC管理服务器后,可以判断该目标ETC管理服务器是否需要限流,作为一种实施方式,电子设备可查找目标ETC管理服务器是否存在限流标识,若存在,则表示该目标ETC管理服务器需要限流。
其中,限流标识可以是数字、字母以及特殊符号等用于标识ETC管理服务需要限流的标记,电子设备中存储有各个ETC管理服务器的标识以及需要限流的ETC管理服务器的限流标识,从而可从中查找目标ETC管理服务器是否存在限流标识。
例如,各个ETC管理服务器可实时向电子设备发送自身的限流情况,电子设备中可存储各个ETC管理服务器对应的限流情况,并在限流情况发生变更时进行实时更新,例如,在不需要限流的ETC管理服务器变更为需要限流时,则电子设备为其添加上限流标识即可,如此,电子设备可查找目标ETC管理服务器是否有对应的限流标识,若有,则判断结果为目标ETC管理服务器需要限流。
当然,限流标识也可以存储于需要限流的ETC管理服务器中,各个ETC管理服务器可根据自身的ETC业务处理负担判断是否需要限流,若需要限流,可添加限流标识,也即,各个ETC管理服务器可实时检测自身当前的ETC业务处理负担,在判断自身的ETC业务处理负担较大时,可自动标记限流标识,从而电子设备可查找目标ETC管理服务器是否有限流标识,若有,则判断结果为该目标ETC管理服务器需要限流,若没有,则判断结果为该目标ETC管理服务器不需要限流。
或者,电子设备可以在接收到ETC请求后,向对应的目标ETC管理服务器发送是否需要限流的请求,目标ETC管理服务器可基于该请求查找自身是否存在限流标识,若有,则向电子设备发送对应的表征需要限流的响应信息,电子设备获得该响应信息后即可知晓目标ETC管理服务器需要限流。
步骤S130:根据所述判断结果选择对应的处理方式对所述ETC请求进行处理。
在获得判断结果后,可确定目标ETC管理服务器是否需要限流,若需要限流,可以向用户返回相应的提示信息,如需要等待一段时间的提示信息,或者如稍后重试的提示信息,或者如请求异常的提示信息,或者如操作频繁的提示信息等。
作为一种实施方式,电子设备中可预先针对需要限流的ETC管理服务器存储有对应的处理方式,针对不需要限流的情况存储有对应的处理方式,如需要限流时,其处理方式为向用户返回稍后重试的提示信息,不需要限流时,将ETC请求提交给对应的ETC管理服务器。或者,电子设备中可针对各个需要限流的ETC管理服务器存储不同的处理方式,如针对需要限流的ETC管理服务器1,其处理方式为向用户返回稍后重试的提示信息,针对需要限流的ETC管理服务器2,其处理方式为向用户返回请求异常的提示信息,针对需要限流的ETC管理服务器3,其处理方式为向用户返回空白页面等。当然,在ETC管理服务器不需要限流时,其处理方式可以均为将ETC请求直接发送给对应的ETC管理服务器,如此,电子设备可查找目标ETC管理服务器对应的处理方式,然后按照对应的处理方式对ETC请求进行处理即可。
另外,作为一种实施方式,还可以在判断结果为目标ETC管理服务器需要限流时,将ETC请求发送至目标ETC管理服务器对应的缓存区,以依次将缓存区中的ETC请求发送到目标ETC管理服务器。
其中,缓存区可以是指用于暂存ETC请求的队列存储区域,在电子设备中可为每个需要限流的ETC管理服务器分配一个缓存区,在确定ETC请求对应的目标ETC管理服务器需要限流时,将ETC请求暂时存放于缓存区中,然后可另外启动一个进程来管理这些缓存区,可以按照一定的时间间隔来依次将缓存区中的各个ETC请求发送给目标ETC管理服务器进行处理,以减少目标ETC管理服务器在单位时间内的请求处理数量;或者,还可实时检测目标ETC管理服务器的限流情况,在检测到目标ETC管理请求不需要限流时,则将缓存区中获取最先存入缓存区的ETC请求发送给目标管理服务器即可,如此可避免目标ETC管理服务器的处理负担较大的问题。
并且,电子设备将ETC请求放入缓存区,而不是直接丢弃ETC请求,此时电子设备可向用户返回需要等待的提示信息,这样用户可无需再次触发ETC请求,提高了用户体验。
需要说明的是,各个ETC管理服务器对应的处理方式也可以根据实际情况进行灵活调整,如目标ETC管理服务器在需要限流时其处理方式为向用户返回请求异常的提示信息,后续根据需求,可以将其处理方式变更为向用户返回空白页,如此,可灵活配置各个ETC管理服务器在需要限流时的处理方式。
在上述实现过程中,通过判断ETC请求对应的目标ETC管理服务器是否需要限流,根据判断结果选择对应的处理方式对该ETC请求进行处理,从而可以减轻ETC管理服务器的处理负担,以避免ETC管理服务器由于需要处理太多的ETC业务而造成宕机的情况。
作为一种实施方式,为了便于快速判断目标ETC管理服务器是否需要限流以及便于对需要限流的ETC管理服务器的管理,可以为各个需要限流的ETC管理服务器预先配置对应的限流工具,所以,在上述判断目标ETC管理服务器是否需要限流的过程中,还可以查找是否存在于目标ETC管理服务器对应的限流工具,若存在,则确定判断结果为目标ETC管理服务器需要限流。
其中,限流工具是指用于实现对需要限流的ETC管理服务器的限流管理,如限流工具可限制ETC管理服务器处理ETC业务的速率,该限流工具可以是指配置于需要限流的ETC管理服务器中的一段代码,电子设备在查找目标ETC管理服务器是否存在限流工具时,可以向目标ETC管理服务器发送查找请求,目标ETC管理服务器可基于该查找请求查找是否有限流工具,然后将查找结果返回给电子设备,若电子设备基于查找结果确定目标ETC管理服务器存在限流工具,则判断目标ETC管理服务器需要限流。
或者,为了减少ETC管理服务器的工作量,限流工具可配置于电子设备中,即在电子设备中可配置各个需要限流的ETC管理服务器的限流工具,如此,电子设备可直接在本地查找目标ETC管理服务器是否存在限流工具,若存在,则确定目标ETC管理服务器需要限流。
在上述实现过程中,通过查找目标ETC管理服务器是否存在对应的限流工具,如此可便于快速判断目标ETC管理服务器是否需要限流。
作为另外一种实施方式,在上述确定目标ETC管理服务器的过程中,还可以在查找到目标ETC管理服务器存在对应的限流工具时,确定限流工具是否达到限流上限,若是,则确定判断结果为目标ETC管理服务器需要限流。
可以理解地,若需要限流的ETC管理服务器虽然配置有限流工具,但是若此时该ETC管理服务器并没有太多ETC请求需要处理,则表明该ETC管理服务器还可以处理其他ETC请求,从而可表明此时ETC管理服务器不需要限流,限流工具未达到限流上限,若限流工具达到限流上限,则表明ETC管理服务器需要限流。
其中,限流上限可以理解为每秒钟ETC管理服务器能处理的ETC业务的最大数量,限流工具可实时监测目标ETC管理服务器的业务处理速率,若当前业务处理速率未到达限流上限时,表明限流工具未到达限流上限,则确定目标ETC管理服务器不需要限流,若当前请求处理速率达到限流上限时,表明限流工具达到限流上限,则确定目标ETC管理服务器需要限流。
例如,目标ETC管理服务器的当前业务处理速率7/s,表示目标ETC管理服务器当前可以以每秒处理7个请求的速率来处理ETC业务,若限流上限为10/s,则表明限流工具未到达限流上限。
在上述实现过程中,在判断限流工具达到限流上限时,可确定目标ETC管理服务器需要限流,从而可更加便于准确地判断目标ETC管理服务器的限流情况。
作为一种实施方式,上述的限流工具可以为Rate Limiter限流工具,则在确定限流工作是否达到限流上限时,可以调用Rate Limiter限流工具获取对应的令牌桶中的令牌,若获取不到,则确定限流工作达到限流上限。
可以理解地,Rate Limiter限流工具是基于令牌桶算法实现的,以通过限制每秒的平均速率以达到限流的作用。令牌桶算法是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌,桶中存放的令牌数有最大上限,超出之后就被丢弃或者拒绝。当流量或者请求达到时,每个请求都要获取一个令牌,如果能够获取到,则直接处理,并且令牌桶删除一个令牌,如果获取不到,该请求就要被限流,要么直接丢弃,要么在缓冲区等待。
所以,电子设备在获得ETC请求后,可以调用Rate Limiter限流工具执行令牌桶算法,以从令牌桶中获取令牌,若获取不到,表明该Rate Limiter限流工具达到限流上限,需要限流,若能够获取得到令牌,则未达到限流上限。
在上述实现过程中,可通过Rate Limiter限流工具来准确地确定限流工具是否达到限流上限。
另外,为了便于对各个ETC管理服务器的限流情况进行管理,可以预先确定需要限流的至少一个ETC管理服务器,然后为需要限流的每个ETC管理服务器配置对应的限流工具,和/或,根据需要限流的每个ETC管理服务器的限流需求为每个ETC管理服务器对应的限流工具配置对应的限流上限。
可以理解地,电子设备可以预先确定需要限流的ETC管理服务器,如电子设备可向各个ETC管理服务器发送询问消息,以询问各个ETC管理服务器是否需要限流,各个ETC管理服务器在接收到询问消息后,可向电子设备发送是否需要限流的应答消息,电子设备可基于应答消息记录需要限流的ETC管理服务器。
或者,各个ETC管理服务器也可以自动向电子设备发送是否需要限流的信息,则电子设备可直接记录哪些ETC管理服务器需要限流,哪些ETC管理服务器不需要限流。
如此,电子设备在确定需要限流的ETC管理服务器后,可为需要限流的ETC管理服务器配置对应的限流工具,和/或为每个限流工具配置对应的限流上限。其中,若是在ETC管理服务器上配置对应的限流工具,则电子设备可向ETC管理服务器发送安装限流工具的控制指令,以指示ETC管理服务器安装限流工具,并指示为每个限流工具配置限流上限。若是在电子设备中配置限流工具,则电子设备可自行为每个需要限流的ETC管理服务器安装对应的限流工具,以及为每个限流工具配置对应的限流上限。
各个需要限流的ETC管理服务器可能不同的限流需求,或者在不同的时间段有不同的限流需求,如ETC管理服务器1每秒能处理1个请求,ETC管理服务器2每秒能处理10个请求,或者,ETC管理服务器1在白天每秒可以处理1个请求,在晚上每秒可以处理10个侵权,所以可以根据各个ETC管理服务器在不同时间段的限流需求为对应的限流工具配置不同的限流上限。
作为一种实施方式,为了实时更新每个限流工具的限流上限,还可以周期性获取需要限流的每个ETC管理服务器当前的限流需求,然后将每个ETC管理服务器对应的限流工具当前的限流上限与对应的ETC管理服务器当前的限流需求进行匹配,若匹配不一致,则将每个限流工具当前的限流上限更新为目标限流上限,以使目标限流上限满足对应的ETC管理服务器当前的限流需求。
例如,对于需要限流的目标ETC管理服务器,电子设备可以周期性从目标ETC管理服务器处获取该目标ETC管理服务器当前的限流需求,或者目标ETC管理服务器可以将自身当前的限流需求周期性发送给电子设备。其中,限流需求可以是指目标ETC管理服务器当前能处理的请求速率,电子设备在获得目标ETC管理服务器当前的限流请求后,可以将该目标ETC管理服务器对应的限流工具的限流上限与该限流请求进行匹配,若不匹配,表示限流上限需要更新,则将其更新为与当前的限流请求匹配的目标限流上限。
其中,当前限流需求可以是指一定的数值,如10/s,表示目标ETC管理服务器当前可以以每秒处理10个请求的速率来处理ETC业务,则对应的目标限流上限也应配置为10/s,若目标ETC管理服务器对应的限流工具的当前的限流上限为7/s,则两者的数值不一致,则表示其匹配不一致,需要将当前的限流上限更新为目标限流上限,即10/s。
在上述实现过程中,通过根据目标ETC管理服务器当前的限流需求对限流上限进行调整,以使得可以在目标ETC管理服务器的限流情况发送变化时对目标ETC管理服务器的限流情况进行更新。
请参照图3,图3为本发明实施例提供的一种服务器限流装置200的结构框图,该装置200可以是电子设备上的模块、程序段或代码。应理解,该装置200与上述图2方法实施例对应,能够执行图2方法实施例涉及的各个步骤,该装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
可选地,所述装置200包括:
请求接收模块210,用于接收用户的电子收费ETC请求,其中,ETC请求用于请求对应的ETC管理服务器处理相应的ETC业务;
限流判断模块220,用于判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果;
请求处理模块230,用于根据所述判断结果选择对应的处理方式对所述ETC请求进行处理。
可选地,所述限流判断模块220,用于查找是否存在与所述目标ETC管理服务器对应的限流工具;若存在,则确定所述判断结果为所述目标ETC管理服务器需要限流。
可选地,所述限流判断模块220,用于查找是否存在与所述目标ETC管理服务器对应的限流工具;若存在,则确定所述限流工具是否达到限流上限;若是,则确定所述判断结果为所述目标ETC管理服务器需要限流。
可选地,所述限流工具为Rate Limiter限流工具,所述限流判断模块220,用于调用所述Rate Limiter限流工具获取对应的令牌桶中的令牌;若获取不到,则确定所述限流工具达到限流上限。
可选地,所述装置200还包括:
限流工具配置模块,用于确定需要限流的至少一个ETC管理服务器;为需要限流的每个ETC管理服务器配置对应的限流工具;
和/或限流上限配置模块,用于根据需要限流的每个ETC管理器的限流需求为每个ETC管理服务器对应的限流工具配置对应的限流上限。
可选地,所述装置200还包括:
限流上限更新模块,用于周期性获取需要限流的每个ETC管理服务器当前的限流需求;将每个ETC管理服务器对应的限流工具当前的限流上限与对应的ETC管理服务器当前的限流需求进行匹配,若匹配不一致,则将每个限流工具当前的限流上限更新为目标限流上限,以使所述目标限流上限满足对应的ETC管理服务器当前的限流需求。
可选地,所述请求处理模块230,用于若所述判断结果为所述目标ETC管理服务器需要限流,则将所述ETC请求发送至所述目标ETC管理服务器对应的缓存区,以依次将所述缓存区中的ETC请求发送至所述目标ETC管理服务器。
可选地,所述ETC请求中携带有对应的ETC卡号,所述装置200还包括:
目标ETC管理服务器确定模块,用于获取所述ETC请求中携带的ETC卡号;基于所述ETC卡号从多个ETC管理服务器中确定所述ETC请求对应的目标ETC管理服务器。
本申请实施例提供一种可读存储介质,所述计算机程序被处理器执行时,执行如图2所示方法实施例中电子设备所执行的方法过程。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:接收用户的电子收费ETC请求,其中,ETC请求用于请求对应的ETC管理服务器处理相应的ETC业务;判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果;根据所述判断结果选择对应的处理方式对所述ETC请求进行处理。
综上所述,本申请实施例提供一种服务器限流方法、装置、电子设备及可读存储介质,通过判断ETC请求对应的目标ETC管理服务器是否需要限流,根据判断结果选择对应的处理方式对该ETC请求进行处理,从而可以减轻ETC管理服务器的处理负担,以避免ETC管理服务器由于需要处理太多的ETC业务而造成宕机的情况。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种服务器限流方法,其特征在于,所述方法包括:
接收用户的电子收费ETC请求,其中,ETC请求用于请求对应的ETC管理服务器处理相应的ETC业务;
判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果;其中,所述ETC管理服务器通过实时检测到的自身当前的ETC业务处理负担较大时,自动标记限流标识,以通过所述限流标识获得判断结果;
根据所述判断结果选择对应的处理方式对所述ETC请求进行处理,其中,需要限流的不同的ETC管理服务器对应不同的处理方式。
2.根据权利要求1所述的方法,其特征在于,所述判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果,包括:
查找是否存在与所述目标ETC管理服务器对应的限流工具;
若存在,则确定所述判断结果为所述目标ETC管理服务器需要限流。
3.根据权利要求1所述的方法,其特征在于,所述判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果,包括:
查找是否存在与所述目标ETC管理服务器对应的限流工具;
若存在,则确定所述限流工具是否达到限流上限;
若是,则确定所述判断结果为所述目标ETC管理服务器需要限流。
4.根据权利要求3所述的方法,其特征在于,所述限流工具为Rate Limiter限流工具,所述确定所述限流工具是否达到限流上限,包括:
调用所述Rate Limiter限流工具获取对应的令牌桶中的令牌;
若获取不到,则确定所述限流工具达到限流上限。
5.根据权利要求3所述的方法,其特征在于,所述接收用户的电子收费ETC请求之前,还包括:
确定需要限流的至少一个ETC管理服务器;
为需要限流的每个ETC管理服务器配置对应的限流工具;和/或
根据需要限流的每个ETC管理器的限流需求为每个ETC管理服务器对应的限流工具配置对应的限流上限。
6.根据权利要求5所述的方法,其特征在于,所述根据需要限流的每个ETC管理器的限流需求为每个ETC管理服务器对应的限流工具配置对应的限流上限之后,还包括:
周期性获取需要限流的每个ETC管理服务器当前的限流需求;
将每个ETC管理服务器对应的限流工具当前的限流上限与对应的ETC管理服务器当前的限流需求进行匹配,若匹配不一致,则将每个限流工具当前的限流上限更新为目标限流上限,以使所述目标限流上限满足对应的ETC管理服务器当前的限流需求。
7.根据权利要求1-6任一所述的方法,其特征在于,所述根据所述判断结果选择对应的处理方式对所述ETC请求进行处理,包括:
若所述判断结果为所述目标ETC管理服务器需要限流,则将所述ETC请求发送至所述目标ETC管理服务器对应的缓存区,以依次将所述缓存区中的ETC请求发送至所述目标ETC管理服务器。
8.根据权利要求1-6任一所述的方法,其特征在于,所述ETC请求中携带有对应的ETC卡号,所述接收用户的电子收费ETC请求之后,所述判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果之前,还包括:
获取所述ETC请求中携带的ETC卡号;
基于所述ETC卡号从多个ETC管理服务器中确定所述ETC请求对应的目标ETC管理服务器。
9.一种服务器限流装置,其特征在于,所述装置包括:
请求接收模块,用于接收用户的电子收费ETC请求,其中,ETC请求用于请求对应的ETC管理服务器处理相应的ETC业务;
限流判断模块,用于判断所述ETC请求对应的目标ETC管理服务器是否需要限流,获得判断结果;其中,所述ETC管理服务器通过实时检测到的自身当前的ETC业务处理负担较大时,自动标记限流标识,以通过所述限流标识获得判断结果;
请求处理模块,用于根据所述判断结果选择对应的处理方式对所述ETC请求进行处理,其中,需要限流的不同的ETC管理服务器对应不同的处理方式。
10.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-8任一所述的方法。
11.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-8任一所述的方法。
CN202010078323.8A 2020-02-03 2020-02-03 服务器限流方法、装置、电子设备及可读存储介质 Active CN111343101B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010078323.8A CN111343101B (zh) 2020-02-03 2020-02-03 服务器限流方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010078323.8A CN111343101B (zh) 2020-02-03 2020-02-03 服务器限流方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111343101A CN111343101A (zh) 2020-06-26
CN111343101B true CN111343101B (zh) 2023-04-28

Family

ID=71185173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010078323.8A Active CN111343101B (zh) 2020-02-03 2020-02-03 服务器限流方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111343101B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111932178A (zh) * 2020-08-12 2020-11-13 中国工商银行股份有限公司 产品物流信息的处理方法、装置、服务器及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108390908A (zh) * 2018-01-10 2018-08-10 努比亚技术有限公司 一种数据请求处理方法、装置及计算机可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158656A (ja) * 2000-11-17 2002-05-31 Nec Corp ネットワークアクセス課金システム及び方法
WO2014116153A1 (en) * 2013-01-28 2014-07-31 Telefonaktiebolaget L M Ericsson (Publ) Apparatus, server, and method for controlling traffic flow in road network
CN105574945B (zh) * 2015-12-16 2018-01-19 深圳市金溢科技股份有限公司 Etc卡中心的功能调用方法、装置及etc卡服务系统
CN107609976A (zh) * 2017-09-25 2018-01-19 中国银行股份有限公司 一种交易接口的限流方法及装置
CN108173938B (zh) * 2017-12-28 2021-01-29 泰康保险集团股份有限公司 服务器负载分流方法及装置
CN110351357B (zh) * 2019-07-08 2023-07-25 中国平安人寿保险股份有限公司 服务器限流方法、装置、计算机设备以及存储介质
CN110380986B (zh) * 2019-07-23 2022-05-10 中南民族大学 基于Zuul的流量限制方法、装置、设备及存储介质
CN110428510B (zh) * 2019-08-23 2022-03-08 深圳市金溢科技股份有限公司 Psam卡集中管理方法、装置以及安全云盒系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108390908A (zh) * 2018-01-10 2018-08-10 努比亚技术有限公司 一种数据请求处理方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN111343101A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
EP3418877B1 (en) Data writing and reading method and apparatus, and cloud storage system
US10536456B2 (en) Method and system for identifying user information in social network
CN110968478B (zh) 日志采集方法、服务器及计算机存储介质
CN112039710B (zh) 服务故障处理方法、终端设备及可读存储介质
CN112615793A (zh) 一种数据限流方法及装置
CN110166529A (zh) 保持登录态方法、装置、设备及存储介质
CN111343101B (zh) 服务器限流方法、装置、电子设备及可读存储介质
US7987225B2 (en) Method for remembering resource allocation in grids
CN111209333B (zh) 数据更新方法、装置、终端及存储介质
CN105893150B (zh) 接口调用频度控制、接口调用请求处理方法及装置
CN116886286A (zh) 大数据认证服务自适应方法、装置和设备
CN109542841B (zh) 集群中创建数据快照的方法及终端设备
CN108733477A (zh) 数据集群化处理的方法、装置及设备
CN116450176A (zh) 版本更新方法、装置、电子设备及存储介质
CN109962941B (zh) 通信方法、装置以及服务器
CN111885159B (zh) 数据采集方法、装置、电子设备及存储介质
CN113518013B (zh) 一种实现心跳机制的处理方法及装置
CN114817134A (zh) 一种快照任务监控方法、装置、设备及介质
US20120233317A1 (en) Computer system management method and management apparatus
JP2013186765A (ja) バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム
CN109818767B (zh) 一种Redis集群容量调整的方法、装置及存储介质
CN107704557B (zh) 操作互斥数据的处理方法、装置、计算机设备和存储介质
CN111464357A (zh) 资源配置方法及装置
CN115190178B (zh) 一种微服务分流方法、装置和设备
CN114466067B (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