CN115396375B - 一种业务处理方法、装置以及设备 - Google Patents

一种业务处理方法、装置以及设备 Download PDF

Info

Publication number
CN115396375B
CN115396375B CN202210985422.3A CN202210985422A CN115396375B CN 115396375 B CN115396375 B CN 115396375B CN 202210985422 A CN202210985422 A CN 202210985422A CN 115396375 B CN115396375 B CN 115396375B
Authority
CN
China
Prior art keywords
client
service request
current
configuration information
current limiting
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
CN202210985422.3A
Other languages
English (en)
Other versions
CN115396375A (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202210985422.3A priority Critical patent/CN115396375B/zh
Publication of CN115396375A publication Critical patent/CN115396375A/zh
Application granted granted Critical
Publication of CN115396375B publication Critical patent/CN115396375B/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/12Avoiding congestion; Recovering from congestion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本说明书实施例公开了一种业务处理方法、装置以及设备。方案包括:接收服务端发送的限流配置信息;当所述客户端上生成待发送给所述服务端的业务请求时,判断所述业务请求是否处于所述限流配置信息所表示的限流范围内;若是,则在所述客户端上阻断所述业务请求,以使所述客户端当前不将所述业务请求发送给所述服务端。

Description

一种业务处理方法、装置以及设备
技术领域
本说明书涉及互联网技术领域,尤其涉及一种业务处理方法、装置以及设备。
背景技术
电商公司为了营收、平台影响力提升、获取新客户,一般都会举行促销活动。一些固定的促销日已经成为购物新潮流,每年如期而至。但大促活动带来超多用户短时间集中访问,尤其是秒杀类活动,大促期间的请求量是日常的数十倍甚至上百倍,对应用系统也带来超大压力。
应用系统为了应对此类超高并发,一般首先进行机器扩容,将系统吞吐量提升到一定水位,比如,扩充十倍机器使得吞吐达到日常十倍,当然扩容成本也是相当之高,其次在扩容的基础之上,在服务端上进行限流,若当前的并发请求量过多,则服务端会拒绝服务或者让各请求排队等待。
但是,上面的这类应对方案成本十分高昂,并且需要大量机器上下线等运维操作,十分复杂,而且客户端请求到了服务端却被拒绝服务,浪费服务端资源,同时对客户端来说,浪费用户手机电量、流量。
基于此,需要应对大促销等场景下高并发请求的更好的方案。
发明内容
本说明书一个或多个实施例提供一种业务处理方法、装置、设备以及存储介质,用以解决如下技术问题:需要应对大促销等场景下高并发请求的更好的方案。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
本说明书一个或多个实施例提供的一种业务处理方法,应用于终端上的客户端,所述方法包括:
接收服务端发送的限流配置信息;
当所述客户端上生成待发送给所述服务端的业务请求时,判断所述业务请求是否处于所述限流配置信息所表示的限流范围内;
若是,则在所述客户端上阻断所述业务请求,以使所述客户端当前不将所述业务请求发送给所述服务端。
本说明书一个或多个实施例提供的一种业务处理装置,应用于终端上的客户端,所述装置包括:
配置接收模块,接收服务端发送的限流配置信息;
限流判断模块,当所述客户端上生成待发送给所述服务端的业务请求时,判断所述业务请求是否处于所述限流配置信息所表示的限流范围内;
请求阻断模块,若是,则在所述客户端上阻断所述业务请求,以使所述客户端当前不将所述业务请求发送给所述服务端。
本说明书一个或多个实施例提供的一种业务处理设备,应用于终端上的客户端,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
接收服务端发送的限流配置信息;
当所述客户端上生成待发送给所述服务端的业务请求时,判断所述业务请求是否处于所述限流配置信息所表示的限流范围内;
若是,则在所述客户端上阻断所述业务请求,以使所述客户端当前不将所述业务请求发送给所述服务端。
本说明书一个或多个实施例提供的一种非易失性计算机存储介质,应用于终端上的客户端,所述介质存储有计算机可执行指令,所述计算机可执行指令设置为:
接收服务端发送的限流配置信息;
当所述客户端上生成待发送给所述服务端的业务请求时,判断所述业务请求是否处于所述限流配置信息所表示的限流范围内;
若是,则在所述客户端上阻断所述业务请求,以使所述客户端当前不将所述业务请求发送给所述服务端。
本说明书一个或多个实施例采用的上述至少一个技术方案能够达到以下有益效果:将限流逻辑前置到客户端上执行,在大促销等高并发请求产生的场景下,能够灵活地在客户端上就阻断适量的业务请求,以降低并发压力,从而,对于服务端而言,无需购买机器扩容,也避免了无效请求,对于客户端也节省了用户终端的电量、流量。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例提供的一种业务处理方法的流程示意图;
图2为本说明书一个或多个实施例提供的图1中方法的一种实施思路示意图;
图3为本说明书一个或多个实施例提供的一种应用场景下,图1中方法的一种具体实施方案的流程示意图;
图4为本说明书一个或多个实施例提供的图1中方法采用的一种集中缓发方案的流程示意图;
图5为本说明书一个或多个实施例提供的一种业务处理装置的结构示意图;
图6为本说明书一个或多个实施例提供的一种业务处理设备的结构示意图。
具体实施方式
本说明书实施例提供一种业务处理方法、装置、设备以及存储介质。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
大促销、热门考试报名等一些场景下,在相应的期间内(若干天或者若干小时等),业务请求并发数量会猛增,从而引发背景技术中提出的问题,然而,在此期间外的大部分时间内,业务请求并发数量确又趋于平和,迅速回落到一个较低的水平,基于此,专门为了相对短的该期间的超高并发情况,来花费高成本扩充服务端的机器是不合算的。本申请将限流逻辑前置到客户端执行,低成本解决超高并发问题,不仅如此,为客户端还进一步提供了集中缓发方案,以使得客户端的业务请求有他处可去,避免客户端重新再发业务请求,避免在一段时间内继续占用着想向服务端发送业务请求每个客户端的资源。下面基于这样的思路详细说明。
图1为本说明书一个或多个实施例提供的一种业务处理方法的流程示意图。该方法可以应用于不同的业务领域中,这些业务领域比如包括:电商业务领域、电子支付业务领域、即时通讯业务领域、游戏业务领域、公务业务领域等。该流程可以在这些领域中终端上的客户端上执行,典型的如用户手机、平板电脑或者其他智能家电上的应用(APP)客户端。流程中的某些输入参数或者中间结果允许人工干预调节,以帮助提高准确性。
图1中的流程应用于终端上的客户端,可以包括以下步骤:
S102:接收服务端发送的限流配置信息。
在本说明书一个或多个实施例中,限流配置信息包含了一项或者多项属性信息,通过这些属性信息来表示限流范围,属性信息比如是:限流使能开关、限流客户端范围(比如,数量比例、客户端特征等)、限流时间窗口(比如包括限流开始时间、和/或限流结束时间、和/或限流时长等)、限流接口(针对服务端的限制访问的接口,由于服务端处于远端,因此主要为远程过程调用(Remote Procedure Call,RPC)接口)、限流访问次数、限流等级,等等。基于多属性信息的限流配置信息有助于更精准、更细粒度、更灵活地控制限流范围。
在一种更简单的情况下,限流配置信息就是一个标识,接收到该标识的客户端即处于限流范围内。后续,服务端可以再向客户端发送通知取消限流,或者该标识可以具有默认的失效时间,失效后则限流自动取消。这种方式对于客户端和服务端而言虽然降低了限流控制的灵活性,但是进一步降低了客户端和服务端的负担。
在服务端并发请求压力较大时,或者并发请求高峰将要到来前,服务端可以选择一些客户端,向这些客户端发送限流配置信息,以指示这些客户端自己在其本地,针对欲发往该服务端的流量(即,各种业务请求)进行主动限流,避免无谓地浪费客户端资源。客户端可以主动向服务端请求获得限流配置信息,有助于根据限流配置信息,提前合理安排本地业务的进行,避免影响用户体验。
在本说明书一个或多个实施例中,不同的客户端接收到的限流配置信息可以具有差异,服务端可以根据实际需求,来确定各限流配置信息内的具体内容,如此,有助于使得从客户端群体流向服务端的流量更趋于平滑,而不是由于限流导致流量水平突然大起大落,这同样也是浪费资源的。
S104:当所述客户端上生成待发送给所述服务端的业务请求时,判断所述业务请求是否处于所述限流配置信息所表示的限流范围内。
以大促销场景为例,业务请求比如是用户在手机的电商应用客户端上进行下单操作而产生的下单请求,再以考试报名为例,业务请求比如是用户在个人电脑上点击报名页面而产生的报名页面跳转请求,等等。正常情况下,客户端会将这些请求请求即刻发送给服务端进行处理,服务端处理后返回给客户端相应的结果,从而实现了业务目的,用户能够继续执行下一步操作,比如,为订单付款、报名选位等,而在本申请中,客户端则有可能根据限流配置信将业务请求阻断,当前不将其发送给服务端,以降低服务端的高并发请求压力。
在本说明书一个或多个实施例中,根据限流配置信息包含的一项或者多项属性信息,进行条件判断,若业务请求满足相应的限流条件,则处于限流配置信息所表示的限流范围内。
S106:若是,则在所述客户端上阻断所述业务请求,以使所述客户端当前不将所述业务请求发送给所述服务端。
在本说明书一个或多个实施例中,阻断业务请求之后,可以继续关注业务请求和限流配置信息,若后续业务请求不再处于限流配置信息所表示的限流范围内,则可以重新向服务端发送相应的业务请求。当然,阻断之后,也可以采用其他方式及时处理处理业务请求,比如采用前面提到的集中缓发方案来处理,如此,该客户端无需再重新向服务端发送相应的业务请求,也能够完成相应业务,后面会具体说明。
通过图1的方法,将限流逻辑前置到客户端上执行,在大促销等高并发请求产生的场景下,能够灵活地在客户端上就阻断适量的业务请求,以降低并发压力,从而,对于服务端而言,无需购买机器扩容,也避免了无效请求,对于客户端也节省了用户终端的电量、流量。
基于图1的方法,本说明书还提供了该方法的一些具体实施方案和扩展方案,下面继续进行说明。
在本说明书一个或多个实施例中,限流配置信息包含了表示限流范围的限流接口,比如,服务端提供的一些应用程序编程接口(Application Program Interface,API),客户端要发送的业务请求可能会访问这些接口,一般会在业务请求中调用这些接口。则在判断业务请求是否处于限流配置信息所表示的限流范围时,具体可以在判断业务请求针对所述服务端所要访问的接口是否为所述限流接口,判断业务请求针对服务端所要访问的接口是否为限流接口,若否,则可能确定业务请求未处于限流配置信息所表示的限流范围内,反之,可能确定业务请求处于限流配置信息所表示的限流范围内。当然,若限流配置信息还包含了表示限流范围的其他信息,则还可以结合其他信息综合地判断,以最终确定业务请求当前到底是否处于限流配置信息所表示的限流范围。
类似地,在本说明书一个或多个实施例中,限流配置信息包含了表示限流范围的限流时间窗口。则可以判断当前时间是否处于限流时间窗口内,若否,则可能确定业务请求未处于限流配置信息所表示的限流范围内,反之,可能确定业务请求处于限流配置信息所表示的限流范围内。
进一步地,限流配置信息还包含了表示限流范围的限流访问次数。若当前时间处于限流时间窗口内,则可以进一步判断在限流时间窗口内,客户端通过向服务端发送相应的业务请求,访问服务器的次数和/或访问服务器的指定接口(比如,一个或多个限流接口)的次数是否超过限流访问次数,若是,则可能确定业务请求处于限流配置信息所表示的限流范围内,反之,可能确定业务请求未处于限流配置信息所表示的限流范围内。
当然,在实际应用中上面这些判断条件是可以根据需求结合的,比如,对于上一段中的判断,可以先判断是否是限流接口,然后,在判断在限流时间窗口内,客户端通过向服务端发送相应的业务请求,访问限流接口的次数是否超过限流访问次数。
除了列举的这几个属性信息以外,还可以有诸如限流使能开关、限流客户端数量比例、区分不同限流程度的限流等级等其他能够影响限流范围的属性信息,判断方式是类似的,不再一一具体说明。
根据上面的说明,更直观地,本说明书一个或多个实施例提供了图1中方法的一种实施思路示意图,如图2所示。在图2中,
搭载客户端的终端为手机,右侧的设备属于服务端,最上面为服务端的配置中心,下面两个服务端的业务服务器,这是示例性的,配置中心和业务服务器可以集成的同一个设备上,业务服务器也可以有更多个,往往构成一个服务器集群。
客户端向配置中心发起请求,获得配置中心提供的限流配置信息,之后,客户端上如果有要发送给服务端的业务请求(比如,业务请求1、业务请求2)。在发送前,会判断业务请求是否处于限流配置信息所表示的限流范围内,简称为业务请求是否命中限流配置信息。
基于该思路,本说明书一个或多个实施例还提供了一种应用场景下,图1中方法的一种具体实施方案的流程示意图,如图3所示。在该应用场景下,限流配置信息包含的主要属性信息为:限流开始时间、限流结束时间,限流API列表、限流API在限流时间窗口内允许的访问次数(即,限流访问次数)等,如果次数配置为0,则表示完全阻断要访问对应的限流API的业务请求。
更直观地,示例性地提供一种限流配置信息如下:
"limit_switch"表示限流使能开关,其取值的数字比如表示是否启动限流,或者进一步地要选择多少数量比例的客户端进行限流,则其当前取值为64,比如表示选择64%的客户端进行限流。"start_time"表示限流开始时间,"end_time"表示限流结束时间,比如以秒为单位计时。"rpc_configs"表示限流接口列表及对应的限流访问次数,比如,对于其中一个限流接口列表"xxxpay.cdp.space.queryBySpaceCode4Pb",对应的限流访问次数为50次,即,对于当前的客户端,请求访问"xxxpay.cdp.space.queryBySpaceCode4Pb"中的接口的访问次数在限流时间窗口内不能超过50次,若超过则阻断业务请求进行限流。
图3中的流程可以包括以下步骤:
客户端上发起业务请求,请求访问服务端的API。
客户端上部署的SDK(用于实现本方案)解析预先从服务端获取到的限流配置信息到内存中。
判断所请求的API是否在限流API列表中,若不在则正常请求。
若所请求的API在限流API列表中,则判断当前时间是否在限流时间窗口内,若不在则正常请求。
若当前时间是否在限流时间窗口内,则判断对所请求的API在限流时间窗口内的访问次数是否超过限流访问次数。
若未超过则正常请求,若超过则阻断该业务请求。
通过图3中的方案,能够较好地解决大促销等场景下超高并发的问题,同时成本低廉,操作简单,用户体验良好。将限流配置及策略前置到客户端,在终端上执行限流逻辑,一方面服务端不需要进行大规模扩容,节约了大量机器成本,另一方面无需机器运维操作,只需配置限流策略即可,操作简单,同时,在终端执行限流后,业务请求直接在终端上阻断,也避免了网络请求,能够节省用户的电量流量,用户体验良好。
而且,实现了限流配置精细化管理,分层管控,针对RPC接口维度进行配置,同时可以配置严格的限流生命周期,灵活地设置限流开始时间,限流结束时间,在非高并发期间,则无需执行限流,保证日常业务逻辑正确执行。
前面对本申请的基本思路和实施方式进行了说明,在基本思路下虽然解决了背景技术提到的问题,但是也引入了新问题,即:业务请求被阻断同样也会影响用户体验。针对该新问题,本申请进一步提出了一种集中缓发方案解决。
在本说明书一个或多个实施例中,客户端上的业务请求虽然当前被阻断了,但是相应的业务迟早还是要完成的,可以被动地等待限流结束,再通过该客户端重新向服务端发送该业务请求,但是,如此该客户端的用户体验较差,而且对于该客户端而言,可能导致其始终存在一个未完成的任务,该任务可能持续占用客户端上的缓存、线程等资源,甚至若客户端后续发生异常可能导致该业务请求无法重新发送。基于此,考虑将多个这样的客户端(比如,同处于一个局域网的客户端、同处于一个地区的客户端等)上被阻断的业务请求集中发送到某一个作为代表的客户端(称为代表客户端)上,由代表客户端专注于这些业务请求的后续处理(一方面,业务请求被发送给了代表客户端,而没有即刻发送给服务端,另一方面,代表客户端自身可能也受限流,则也会推迟发送业务请求,因此将这样的处理思路称为集中缓发),则解放了其他的客户端。
进一步地,对于代表客户端而言,其集中了多个业务请求,为了减少对服务端的并发压力,可以将这多个业务请求集成为一个业务请求,称为集成业务请求,进而无需并发地将这多个业务请求发送给服务端,从服务端看来,来自该代表客户端的业务请求是单个发送过来的,而不是并发过来的,有助于防止并发数过高导致服务端崩溃。
基于集中缓发的思路,本说明书一个或多个实施例提供了图1中方法采用的一种集中缓发方案的流程示意图,如图4所示,该流程可以在客户端上阻断业务请求之后,由该客户端执行,对于该流程,限流配置信息包含了集中缓发策略,集中缓发策略比如指示是否启用集中缓发、具体如何确定代表服务端、当前服务端与代表服务端之间的限流程度差异,等等。
图4中的流程可以包括以下步骤:
S402:确定自身所处的局域网(之所以选择局域网这个范围,是考虑到通讯成本相对较低,安全性相对更高)对应于所述服务端的一个其他客户端(即代表客户端)。
在本说明书一个或多个实施例中,对于当前被阻断的客户端而言,其是希望自己业务请求尽快发送给服务端的,因此,可以优先选择被阻断程度相对低的另一个客户端,作为代表客户端。
具体比如,限流配置信息可以包含:对接收该限流配置信息的客户端的限流等级;在这种情况下,当前的客户端可以获取自身所处的局域网同样也对应于该服务端的一个或者多个其他客户端分别对应的限流等级,若自身对应的限流等级所表示的限流程度在局域网中不为最低,则在这一个或者多个其他客户端中,确定限流程度相比于自身更低(比如,比如自身低一级的、或者该局域网中最低的等)的一个其他客户端,作为自己的代表客户端。一个局域网中可以有一个或者多个代表客户端。
在本说明书一个或多个实施例中,由于代表客户端可能集中多个业务请求,而其自身可能也有被阻断的业务请求,因此,负担相对于其他客户端要更大一些,基于此,可以选择相对空闲或者能力相对强的客户端作为代表客户端。比如,向代表客户端发送的业务请求的客户端所在的终端可以为移动终端(比如用户的手机等,用户需要频繁操作手机,因此不适合负担过重),代表客户端所在的终端可以为非移动终端(比如,屋里工作中的智能家电等)。
S404:根据所述集中缓发策略,将所述业务请求发送给所述一个其他客户端,以使得所述局域网内的至少部分所述业务请求集中于所述一个其他客户端上,等待由所述一个其他客户端相应地与所述服务端交互。
在本说明书一个或多个实施例中,代表客户端可以适时地将这些业务请求转发给服务端,而无需被代表的那些客户端重新发送自己被阻断的业务请求。
S406:通过所述发送,使所述一个其他客户端执行:对集中在自身上的多个所述业务请求进行解析和重封装,生成一个集成业务请求,在所述一个集成业务请求不受阻断时,将所述一个集成业务请求,代替所述多个所述业务请求,发送给所述服务端。
本申请提出的集中缓发的方案配合业务请求在本地阻断的方案,既降低了客户端和服务端的负担,有助于更好地应对高并发请求场景,又有效兼顾了用户体验。另外,终端应用于客户端上的限流配置信息也具有高扩展性,可以扩展引入更多的适配条件,比如,可以根据限流配置信息,判断服务端是否处于下线状态,若是,则也可以在客户端上及时阻断业务请求,以避免浪费资源,等等。
基于同样的思路,本说明书一个或多个实施例还提供了上述方法对应的装置和设备,如图5、图6所示,虚线方框为可选的模块。
图5为本说明书一个或多个实施例提供的一种业务处理装置的结构示意图,所述装置应用于终端上的客户端,所述装置包括:
配置接收模块502,接收服务端发送的限流配置信息;
限流判断模块504,当所述客户端上生成待发送给所述服务端的业务请求时,判断所述业务请求是否处于所述限流配置信息所表示的限流范围内;
请求阻断模块506,若是,则在所述客户端上阻断所述业务请求,以使所述客户端当前不将所述业务请求发送给所述服务端。
可选地,所述限流配置信息包含了表示所述限流范围的限流接口;
所述限流判断模块504,判断所述业务请求针对所述服务端所要访问的接口是否为所述限流接口;
若否,则确定所述业务请求未处于所述限流配置信息所表示的限流范围内。
可选地,所述限流配置信息包含了表示所述限流范围的限流时间窗口;
所述限流判断模块504,判断当前时间是否处于所述限流时间窗口内;
若否,则确定所述业务请求未处于所述限流配置信息所表示的限流范围内。
可选地,所述限流配置信息包含了表示所述限流范围的限流访问次数;
所述限流判断模块504,若当前时间处于所述限流时间窗口内,则判断在所述限流时间窗口内,所述客户端通过向所述服务端发送相应的业务请求,访问所述服务器的次数和/或访问所述服务器的指定接口的次数是否超过所述限流访问次数;
若是,则确定所述业务请求处于所述限流配置信息所表示的限流范围内。
可选地,所述限流配置信息包含了表示所述限流范围的限流接口,所述指定接口为所述限流接口。
可选地,所述限流配置信息包含了集中缓发策略;
所述装置还包括:
集中缓发模块508,在所述在所述客户端上阻断所述业务请求之后,确定自身所处的局域网对应于所述服务端的一个其他客户端;
根据所述集中缓发策略,将所述业务请求发送给所述一个其他客户端,以使得所述局域网内的至少部分所述业务请求集中于所述一个其他客户端上,等待由所述一个其他客户端相应地与所述服务端交互。
可选地,所述集中缓发模块508,通过所述发送,使所述一个其他客户端执行:
对集中在自身上的多个所述业务请求进行解析和重封装,生成一个集成业务请求;
在所述一个集成业务请求不受阻断时,将所述一个集成业务请求,代替所述多个所述业务请求,发送给所述服务端。
可选地,所述限流配置信息包含:对接收该限流配置信息的客户端的限流等级;
所述集中缓发模块508,获取自身所处的局域网对应于所述服务端的一个或者多个其他客户端分别对应的限流等级;
若自身对应的限流等级所表示的限流程度在所述局域网中不为最低,则在所述一个或者多个其他客户端中,确定限流程度相比于所述自身更低的一个其他客户端。
可选地,向所述一个其他客户端发送所述的业务请求的客户端所在的终端为移动终端,所述一个其他客户端所在的终端为非移动终端。
可选地,所述请求阻断模块506,判断所述服务端是否处于下线状态;
若是,则在所述客户端上阻断所述业务请求。
图6为本说明书一个或多个实施例提供的一种业务处理设备的结构示意图,所述设备应用于终端上的客户端,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
接收服务端发送的限流配置信息;
当所述客户端上生成待发送给所述服务端的业务请求时,判断所述业务请求是否处于所述限流配置信息所表示的限流范围内;
若是,则在所述客户端上阻断所述业务请求,以使所述客户端当前不将所述业务请求发送给所述服务端。
处理器与存储器之间可以通过总线通信,设备还可以包括与其他设备通信的输入/输出接口。
基于同样的思路,本说明书一个或多个实施例还提供了对应于图1中方法的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
接收服务端发送的限流配置信息;
当所述客户端上生成待发送给所述服务端的业务请求时,判断所述业务请求是否处于所述限流配置信息所表示的限流范围内;
若是,则在所述客户端上阻断所述业务请求,以使所述客户端当前不将所述业务请求发送给所述服务端。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑业务处理器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件业务处理器相类似,而要业务处理之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (19)

1.一种业务处理方法,应用于终端上的客户端,所述方法包括:
接收服务端发送的限流配置信息;
当所述客户端上生成待发送给所述服务端的业务请求时,判断所述业务请求是否处于所述限流配置信息所表示的限流范围内;
若是,则在所述客户端上阻断所述业务请求,以使所述客户端当前不将所述业务请求发送给所述服务端;
所述限流配置信息包含了集中缓发策略;
所述在所述客户端上阻断所述业务请求之后,所述方法还包括:
确定自身所处的局域网对应于所述服务端的一个其他客户端;
根据所述集中缓发策略,将所述业务请求发送给所述一个其他客户端,以使得所述局域网内的至少部分所述业务请求集中于所述一个其他客户端上,等待由所述一个其他客户端相应地与所述服务端交互。
2.如权利要求1所述的方法,所述限流配置信息包含了表示所述限流范围的限流接口;
所述判断所述业务请求是否处于所述限流配置信息所表示的限流范围内,具体包括:
判断所述业务请求针对所述服务端所要访问的接口是否为所述限流接口;
若否,则确定所述业务请求未处于所述限流配置信息所表示的限流范围内。
3.如权利要求1所述的方法,所述限流配置信息包含了表示所述限流范围的限流时间窗口;
所述判断所述业务请求是否处于所述限流配置信息所表示的限流范围内,具体包括:
判断当前时间是否处于所述限流时间窗口内;
若否,则确定所述业务请求未处于所述限流配置信息所表示的限流范围内。
4.如权利要求3所述的方法,所述限流配置信息包含了表示所述限流范围的限流访问次数;
所述判断所述业务请求是否处于所述限流配置信息所表示的限流范围内,具体包括:
若当前时间处于所述限流时间窗口内,则判断在所述限流时间窗口内,所述客户端通过向所述服务端发送相应的业务请求,访问所述服务端的次数和/或访问所述服务端的指定接口的次数是否超过所述限流访问次数;
若是,则确定所述业务请求处于所述限流配置信息所表示的限流范围内。
5.如权利要求4所述的方法,所述限流配置信息包含了表示所述限流范围的限流接口,所述指定接口为所述限流接口。
6.如权利要求1所述的方法,还包括:
通过所述发送,使所述一个其他客户端执行:
对集中在自身上的多个所述业务请求进行解析和重封装,生成一个集成业务请求;
在所述一个集成业务请求不受阻断时,将所述一个集成业务请求,代替所述多个所述业务请求,发送给所述服务端。
7.如权利要求1所述的方法,所述限流配置信息包含:对接收该限流配置信息的客户端的限流等级;
所述确定自身所处的局域网对应于所述服务端的一个其他客户端,具体包括:
获取自身所处的局域网对应于所述服务端的一个或者多个其他客户端分别对应的限流等级;
若自身对应的限流等级所表示的限流程度在所述局域网中不为最低,则在所述一个或者多个其他客户端中,确定限流程度相比于所述自身更低的一个其他客户端。
8.如权利要求1~7任一项所述的方法,向所述一个其他客户端发送所述的业务请求的客户端所在的终端为移动终端,所述一个其他客户端所在的终端为非移动终端。
9.如权利要求1所述的方法,还包括:
判断所述服务端是否处于下线状态;
若是,则在所述客户端上阻断所述业务请求。
10.一种业务处理装置,应用于终端上的客户端,所述装置包括:
配置接收模块,接收服务端发送的限流配置信息;
限流判断模块,当所述客户端上生成待发送给所述服务端的业务请求时,判断所述业务请求是否处于所述限流配置信息所表示的限流范围内;
请求阻断模块,若是,则在所述客户端上阻断所述业务请求,以使所述客户端当前不将所述业务请求发送给所述服务端;
所述限流配置信息包含了集中缓发策略;
所述装置还包括:
集中缓发模块,在所述在所述客户端上阻断所述业务请求之后,确定自身所处的局域网对应于所述服务端的一个其他客户端;
根据所述集中缓发策略,将所述业务请求发送给所述一个其他客户端,以使得所述局域网内的至少部分所述业务请求集中于所述一个其他客户端上,等待由所述一个其他客户端相应地与所述服务端交互。
11.如权利要求10所述的装置,所述限流配置信息包含了表示所述限流范围的限流接口;
所述限流判断模块,判断所述业务请求针对所述服务端所要访问的接口是否为所述限流接口;
若否,则确定所述业务请求未处于所述限流配置信息所表示的限流范围内。
12.如权利要求10所述的装置,所述限流配置信息包含了表示所述限流范围的限流时间窗口;
所述限流判断模块,判断当前时间是否处于所述限流时间窗口内;
若否,则确定所述业务请求未处于所述限流配置信息所表示的限流范围内。
13.如权利要求12所述的装置,所述限流配置信息包含了表示所述限流范围的限流访问次数;
所述限流判断模块,若当前时间处于所述限流时间窗口内,则判断在所述限流时间窗口内,所述客户端通过向所述服务端发送相应的业务请求,访问所述服务端的次数和/或访问所述服务端的指定接口的次数是否超过所述限流访问次数;
若是,则确定所述业务请求处于所述限流配置信息所表示的限流范围内。
14.如权利要求13所述的装置,所述限流配置信息包含了表示所述限流范围的限流接口,所述指定接口为所述限流接口。
15.如权利要求10所述的装置,所述集中缓发模块,通过所述发送,使所述一个其他客户端执行:
对集中在自身上的多个所述业务请求进行解析和重封装,生成一个集成业务请求;
在所述一个集成业务请求不受阻断时,将所述一个集成业务请求,代替所述多个所述业务请求,发送给所述服务端。
16.如权利要求10所述的装置,所述限流配置信息包含:对接收该限流配置信息的客户端的限流等级;
所述集中缓发模块,获取自身所处的局域网对应于所述服务端的一个或者多个其他客户端分别对应的限流等级;
若自身对应的限流等级所表示的限流程度在所述局域网中不为最低,则在所述一个或者多个其他客户端中,确定限流程度相比于所述自身更低的一个其他客户端。
17.如权利要求10~16任一项所述的装置,向所述一个其他客户端发送所述的业务请求的客户端所在的终端为移动终端,所述一个其他客户端所在的终端为非移动终端。
18.如权利要求10所述的装置,所述请求阻断模块,判断所述服务端是否处于下线状态;
若是,则在所述客户端上阻断所述业务请求。
19.一种业务处理设备,应用于终端上的客户端,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
接收服务端发送的限流配置信息;
当所述客户端上生成待发送给所述服务端的业务请求时,判断所述业务请求是否处于所述限流配置信息所表示的限流范围内;
若是,则在所述客户端上阻断所述业务请求,以使所述客户端当前不将所述业务请求发送给所述服务端;
所述限流配置信息包含了集中缓发策略;
所述在所述客户端上阻断所述业务请求之后,还执行:
确定自身所处的局域网对应于所述服务端的一个其他客户端;
根据所述集中缓发策略,将所述业务请求发送给所述一个其他客户端,以使得所述局域网内的至少部分所述业务请求集中于所述一个其他客户端上,等待由所述一个其他客户端相应地与所述服务端交互。
CN202210985422.3A 2022-08-17 2022-08-17 一种业务处理方法、装置以及设备 Active CN115396375B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210985422.3A CN115396375B (zh) 2022-08-17 2022-08-17 一种业务处理方法、装置以及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210985422.3A CN115396375B (zh) 2022-08-17 2022-08-17 一种业务处理方法、装置以及设备

Publications (2)

Publication Number Publication Date
CN115396375A CN115396375A (zh) 2022-11-25
CN115396375B true CN115396375B (zh) 2024-02-27

Family

ID=84120218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210985422.3A Active CN115396375B (zh) 2022-08-17 2022-08-17 一种业务处理方法、装置以及设备

Country Status (1)

Country Link
CN (1) CN115396375B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719582B (zh) * 2023-08-07 2023-11-03 北京市大数据中心 一种高并发系统的前端限流方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102164384A (zh) * 2010-06-17 2011-08-24 华为技术有限公司 提高服务成功率的方法、装置及系统
CN109787908A (zh) * 2018-12-13 2019-05-21 平安普惠企业管理有限公司 服务器限流方法、系统、计算机设备及存储介质
CN111817972A (zh) * 2020-06-16 2020-10-23 上海中通吉网络技术有限公司 物流业务系统流量接口的限流方法及相关设备
CN112583726A (zh) * 2019-09-27 2021-03-30 华为技术有限公司 一种流量控制的方法及装置
CN113938429A (zh) * 2021-09-07 2022-01-14 南京星云数字技术有限公司 流量控制方法、装置及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7756034B2 (en) * 2005-11-29 2010-07-13 Cisco Technology, Inc. System and method for handling network overload

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102164384A (zh) * 2010-06-17 2011-08-24 华为技术有限公司 提高服务成功率的方法、装置及系统
CN109787908A (zh) * 2018-12-13 2019-05-21 平安普惠企业管理有限公司 服务器限流方法、系统、计算机设备及存储介质
CN112583726A (zh) * 2019-09-27 2021-03-30 华为技术有限公司 一种流量控制的方法及装置
CN111817972A (zh) * 2020-06-16 2020-10-23 上海中通吉网络技术有限公司 物流业务系统流量接口的限流方法及相关设备
CN113938429A (zh) * 2021-09-07 2022-01-14 南京星云数字技术有限公司 流量控制方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN115396375A (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
CN111756550B (zh) 一种区块链共识方法及装置
US20200304580A1 (en) Network information processing
JP7130142B2 (ja) 通信方法、装置、エンティティ及びコンピュータ可読記憶媒体
CN103430169B (zh) 资产到用户设备的预取
US11003514B2 (en) Methods and devices for broadcasting messages
CN109617829B (zh) 一种业务请求数据的处理方法、装置及系统
WO2017167121A1 (zh) 确定及运用应用程序之间的关系关联的方法及装置
CN115396375B (zh) 一种业务处理方法、装置以及设备
WO2019149058A1 (zh) 一种信息推送方法、装置及设备
CN104239156A (zh) 一种外部服务的调用方法及系统
CN110413286B (zh) 一种应用部署方法、装置及设备
CN111324533A (zh) A/b测试方法、装置及电子设备
CN116405554A (zh) 一种网络通信的方法、装置、存储介质及电子设备
CN111445306A (zh) 一种订单处理的方法及装置
CN112770381B (zh) 调整区域内各子区域的导频信号发射总功率的方法和装置
CN111913792B (zh) 一种业务处理方法和装置
CN106534571A (zh) 一种事件通知方法及终端
CN108769152B (zh) 服务刷新策略注册、服务刷新请求方法、装置以及设备
CN116089046A (zh) 基于软件定义算力网络的调度方法、装置、设备及介质
CN110413427B (zh) 订阅数据拉取方法、装置、设备及存储介质
CN114374657A (zh) 一种数据处理方法和装置
CN110019023B (zh) 一种机构信息报文的推送方法、装置及设备
CN115174587B (zh) 一种数据传输系统、方法、装置、计算机可读存储介质及电子设备
CN114205270B (zh) 设备状态确定方法、装置、存储介质及电子设备
CN115038134B (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