CN114500382B - 客户端限流方法和装置、电子设备 - Google Patents
客户端限流方法和装置、电子设备 Download PDFInfo
- Publication number
- CN114500382B CN114500382B CN202210354841.7A CN202210354841A CN114500382B CN 114500382 B CN114500382 B CN 114500382B CN 202210354841 A CN202210354841 A CN 202210354841A CN 114500382 B CN114500382 B CN 114500382B
- Authority
- CN
- China
- Prior art keywords
- server
- client
- delay parameter
- delay
- service content
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种客户端限流方法和装置、电子设备及计算机可读存储介质,涉及计算机技术领域。该方法检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数;根据延时参数确定业务内容请求的延时发送时间,在经过延时发送时间后将业务内容请求发送给对应的服务器;接收服务器返回的业务内容请求对应的业务内容。可以看到,本申请实施例利用客户端的手段阻止或延后业务内容请求,能够有效降低服务器端面临的流量峰值;并且,相比于现有的服务端限流会造成用户频繁重试,由于重试甚至进一步拉高流量峰值,造成恶性循环,本申请实施例的客户端限流方案具有降低流量峰值、减少用户重试次数的优势,节省网络资源。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种客户端限流方法和装置、电子设备及计算机可读存储介质。
背景技术
随着计算机和通信技术的不断发展,互联网可以向人们提供各种便捷服务,例如人们可以通过互联网进行学习、购物、缴费、娱乐等等,其已成为人们学习、工作和生活不可缺少的部分。相应地,互联网一侧的服务器接收到的服务请求也越来越多,服务压力也越来越大。
面对大量的服务请求,当服务请求的流量大于服务器可承受流量时,需要考虑限流方案。目前是在服务端进行限流,主要是通过增加服务器的数量,来进行服务负载的均衡,减少各个服务器的服务压力。然而,这种方法需要的成本非常高,不仅需要购置相应的服务器,运营和维护服务器也需要一定的成本;并且,在服务较少的空间时段,会有大量服务器处于闲置状态,服务器的利用效率较低。因此,面对大量的服务请求如何进行有效处理成为亟需解决的技术问题。
发明内容
鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的客户端限流方法和装置、电子设备及计算机可读存储介质。所述技术方案如下:
第一方面,提供了一种客户端限流方法,应用于客户端,包括:
检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,其中所述服务器结合构建的模型根据当前服务端流量情况确定延时参数;
根据所述延时参数确定所述业务内容请求的延时发送时间,在经过所述延时发送时间后将所述业务内容请求发送给对应的所述服务器;
接收所述服务器返回的所述业务内容请求对应的业务内容。
在一种可能的实现方式中,根据所述延时参数确定所述业务内容请求的延时发送时间,包括:
根据所述延时参数判断是否触发预先构建的延时器,其中所述延时器基于延时参数随机生成延时发送时间;
如果判断触发延时器,则在所述延时器中根据所述延时参数确定所述业务内容请求的延时发送时间。
在一种可能的实现方式中,在经过所述延时发送时间后将所述业务内容请求发送给对应的服务器,包括:
在所述延时器中经过所述延时发送时间后将所述业务内容请求发送给对应的服务器。
在一种可能的实现方式中,所述检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数之前,所述方法还包括:
检测到预设事件发生,向服务器请求延时参数;其中所述服务器根据当前服务端流量情况确定延时参数,并将确定的延时参数下发给客户端;
接收所述服务器下发的延时参数;
所述检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,包括:
检测到业务内容请求的生成事件,获取所述服务器预先下发至客户端的延时参数。
在一种可能的实现方式中,所述方法还包括:接收所述服务器按照预设时间间隔下发的延时参数;
所述检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,包括:检测到业务内容请求的生成事件,获取所述服务器距离当前时间最近时间下发至客户端的延时参数。
在一种可能的实现方式中,所述检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,包括:
检测到业务内容请求的生成事件,向服务器请求延时参数;其中所述服务器根据当前服务端流量情况确定延时参数,并将确定的延时参数下发给客户端;接收所述服务器下发的延时参数。
在一种可能的实现方式中,所述检测到业务内容请求的生成事件,包括:
检测到客户端页面的业务操作按键被触发,生成所述业务操作按键对应的业务内容请求。
第二方面,提供了一种客户端限流方法,应用于服务器,包括:
向客户端下发所述客户端的延时参数,其中所述服务器结合构建的模型根据当前服务端流量情况确定延时参数;
接收所述客户端经过延时发送时间后发送的业务内容请求,其中所述客户端根据所述延时参数确定所述业务内容请求的延时发送时间;
向所述客户端返回所述业务内容请求对应的业务内容。
在一种可能的实现方式中,向客户端下发所述客户端的延时参数,包括:
接收客户端的获取延时参数的请求,向所述客户端下发所述客户端的延时参数;或者
按照预设时间间隔向客户端下发所述客户端的延时参数。
第三方面,提供了一种客户端限流装置,应用于客户端,包括:
获取模块,用于检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,其中所述服务器结合构建的模型根据当前服务端流量情况确定延时参数;
确定模块,用于根据所述延时参数确定所述业务内容请求的延时发送时间;
请求发送模块,用于在经过所述延时发送时间后将所述业务内容请求发送给对应的所述服务器;
内容接收模块,用于接收所述服务器返回的所述业务内容请求对应的业务内容。
第四方面,提供了客户端限流装置,应用于服务器,包括:
下发模块,用于向客户端下发所述客户端的延时参数,其中所述服务器结合构建的模型根据当前服务端流量情况确定延时参数;
请求接收模块,用于接收所述客户端经过延时发送时间后发送的业务内容请求,其中所述客户端根据所述延时参数确定所述业务内容请求的延时发送时间;
内容发送模块,用于向所述客户端返回所述业务内容请求对应的业务内容。
第五方面,提供了一种电子设备,该电子设备包括处理器和存储器,其中,所述存储器中存储有计算机程序,所述处理器被配置为运行所述计算机程序以执行上述任一项所述的应用于客户端的客户端限流方法或者应用于服务器的客户端限流方法。
第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序被配置为运行时执行上述任一项所述的应用于客户端的客户端限流方法或者应用于服务器的客户端限流方法。
借由上述技术方案,本申请实施例提供的客户端限流方法和装置、电子设备及计算机可读存储介质,可以检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数;根据延时参数确定业务内容请求的延时发送时间,在经过延时发送时间后将业务内容请求发送给对应的服务器;接收服务器返回的业务内容请求对应的业务内容。可以看到,本申请实施例打破传统认为客户端无法限流的思想,只能通过服务端限流的思维,利用客户端的手段阻止或延后业务内容请求,能够有效降低服务器端面临的流量峰值;并且,相比于现有的服务端限流会造成用户频繁重试,由于重试甚至进一步拉高流量峰值,造成恶性循环,本申请实施例的客户端限流方案具有降低流量峰值、减少用户重试次数的优势,节省网络资源。此外,由客户端根据延时参数确定业务内容请求的延时发送时间,使得客户端可以根据自身的情况灵活确定延时发送时间,满足客户端的业务需求,提高客户端限流的准确性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1示出了本申请实施例提供的应用于客户端的客户端限流方法的流程图;
图2A示出了本申请实施例提供的应用于服务器的客户端限流方法的流程图;
图2B示出了本申请另一实施例提供的客户端限流方法的流程图;
图3示出了本申请实施例提供的客户端流量随着时间的变化数据;
图4示出了采用现有的服务端限流的流量随着时间的变化数据;
图5示出了采用本申请实施例提供的客户端限流的流量随着时间的变化数据;
图6示出了本申请实施例提供的应用于客户端的客户端限流装置的结构图;
图7示出了本申请实施例提供的应用于服务器的客户端限流装置的结构图;
图8示出了根据本申请一实施例的电子设备的结构图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。
本申请实施例提供了一种客户端限流方法,可以应用在客户端,具体可以应用在个人电脑、智能手机、平板电脑、智能手表等电子设备上,如图1所示,该客户端限流方法可以包括以下步骤S101至S103:
步骤S101,检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,其中服务器结合构建的模型根据当前服务端流量情况确定延时参数;
步骤S102,根据延时参数确定业务内容请求的延时发送时间,在经过延时发送时间后将业务内容请求发送给对应的服务器;
步骤S103,接收服务器返回的业务内容请求对应的业务内容。
本申请实施例打破传统认为客户端无法限流的思想,只能通过服务端限流的思维,利用客户端的手段阻止或延后业务内容请求,能够有效降低服务器端面临的流量峰值;并且,相比于现有的服务端限流会造成用户频繁重试,由于重试甚至进一步拉高流量峰值,造成恶性循环,本申请实施例的客户端限流方案具有降低流量峰值、减少用户重试次数的优势,节省网络资源。此外,由客户端根据延时参数确定业务内容请求的延时发送时间,使得客户端可以根据自身的情况灵活确定延时发送时间,满足客户端的业务需求,提高客户端限流的准确性。
本申请实施例中提供了一种可能的实现方式,上文步骤S101在检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数之前,可以检测到预设事件发生,向服务器请求延时参数;其中服务器根据当前服务端流量情况确定延时参数,并将确定的延时参数下发给客户端;进而接收服务器下发的延时参数。这里的预设事件可以根据实际需求来预先设置,例如预设事件可以是应用程序的启动事件,也可以是应用程序的首页页面展示事件,还可以是指定页面的展示事件等等,本申请实施例对此不做限制。
本申请实施例中提供了一种可能的实现方式,服务器结合构建的模型根据当前服务端流量情况确定延时参数,具体地,服务器根据当前服务端流量情况确定延时参数,可以是构建下面的模型,通过模型验证,进而推导计算得到的,具体地:
接下来考虑下面的三个问题:
1)这种延时方式是否能够保证后续的流量最高点低于当前最高点,即是否一定具有削峰效果;
2)后续的流量最高值,对应的时间是什么时候;
本申请实施例中提供了一种可能的实现方式,步骤S101检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,具体可以是检测到业务内容请求的生成事件,获取服务器预先下发至客户端的延时参数。这样可以及时获取到延时参数进行后续限流操作。
本申请实施例中提供了一种可能的实现方式,还可以接收服务器按照预设时间间隔下发的延时参数,这里的预设时间间隔可以根据实际需求来设置,如5秒或60秒等,本申请实施例对此不做限制。
另外,服务器可以根据上面提及的模型、和来计算延时参数,然后按照预设时间间隔及时下发延时参数给客户端。这样,步骤S101检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,具体可以是检测到业务内容请求的生成事件,获取服务器距离当前时间最近时间下发至客户端的延时参数,从而提高限流的精确度,有效降低服务器端面临的流量峰值。
本申请实施例中提供了一种可能的实现方式,步骤S101检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,具体还可以是检测到业务内容请求的生成事件,向服务器请求延时参数;其中服务器根据当前服务端流量情况确定延时参数,并将确定的延时参数下发给客户端;接收服务器下发的延时参数。这里,服务器可以根据上面提及的模型、和来计算延时参数,然后及时下发提供给客户端。
本申请实施例中提供了一种可能的实现方式,步骤S101检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,具体还可以是检测到业务内容请求的生成事件,向服务器请求当前服务端流量参数;根据服务器返回的当前服务端流量参数计算延时参数。这里,客户端可以根据上面提及的模型、和来计算延时参数,这样从服务器角度来看,各个客户端自身计算延时参数,可以节省服务器的计算资源。
本申请实施例中提供了一种可能的实现方式,步骤S101检测到业务内容请求的生成事件,具体可以是检测到客户端页面的业务操作按键被触发,生成业务操作按键对应的业务内容请求。这样可以及时响应用户的操作,提高处理效率,同时提升用户体验。
本申请实施例中提供了一种可能的实现方式,上文步骤S102根据延时参数确定业务内容请求的延时发送时间,具体可以是根据延时参数判断是否触发预先构建的延时器;这里延时器可以基于延时参数随机生成延时发送时间;如果判断触发延时器,则在延时器中根据延时参数确定业务内容请求的延时发送时间。举例来说,延时参数为2秒,根据延时参数随机生成延时发送时间可以是2.5秒等,需要说明的是,此处列举仅是示意性的,并不对本申请实施例进行限制。
本申请实施例中提供了一种可能的实现方式,上文步骤S102在经过延时发送时间后将业务内容请求发送给对应的服务器,具体可以是在延时器中经过延时发送时间后将业务内容请求发送给对应的服务器。本申请实施例通过延时器可以基于延时参数随机生成延时发送时间,并控制是否进行延时操作,如果进行延时操作则在延时器中经过延时发送时间后将业务内容请求发送给对应的服务器;如果不进行延时操作,则在延时器中经过延时发送时间为零后,将业务内容请求发送给对应的服务器。
相应的,本申请实施例提供了一种客户端限流方法,可以应用在服务器,如图2A所示,该客户端限流方法可以包括以下步骤S111至S113:
步骤S111,向客户端下发客户端的延时参数,其中服务器结合构建的模型根据当前服务端流量情况确定延时参数;
步骤S112,接收客户端经过延时发送时间后发送的业务内容请求,其中客户端根据延时参数确定业务内容请求的延时发送时间;
步骤S113,向客户端返回业务内容请求对应的业务内容。
本申请实施例中提供了一种可能的实现方式,上文步骤S111向客户端下发客户端的延时参数,可以是接收客户端的获取延时参数的请求,向客户端下发客户端的延时参数,这样客户端可以及时获取到延时参数进行后续限流操作。或者,可以是按照预设时间间隔向客户端下发客户端的延时参数,这样客户端可以获取服务器距离当前时间最近时间下发至客户端的延时参数,从而提高限流的精确度,有效降低服务器端面临的流量峰值。
以上介绍了图1和图2A所示的实施例中各个环节的多种实现方式,下面通过具体的实施例对本申请实施例提供的客户端限流方法做进一步说明。
在现有的服务端限流方案中,通过阻塞、队列等手段,拒绝或延后处理用户的网络请求,然而服务端限流主要缺点有两点:
(1)当前时间被限流的用户,会再次尝试,导致下个单位时间内流量峰值更高,造成更多的用户被限流,形成恶性循环,造成网络资源浪费;
(2)有些运气不好的用户,会被频繁限流,用户体验非常差。
本申请实施例提供的客户端限流方案具有降低流量峰值、减少用户重试次数的优势,图2B示出了本申请另一实施例提供的客户端限流方法的流程图,如图2B所示,该客户端限流方法可以包括以下步骤S201至S207。
步骤S201,检测到预设事件发生。
该步骤中,预设事件可以根据实际需求来预先设置,例如预设事件可以是应用程序的启动事件,也可以是应用程序的首页页面展示事件,还可以是指定页面的展示事件等等,本申请实施例对此不做限制。
步骤S202,向服务器请求延时参数;其中服务器根据当前服务端流量情况确定延时参数,并将确定的延时参数下发给客户端。
在可选的实施方式中,还可以向CDN(Content Delivery Network,内容分发网络)请求延时参数,即服务器可以定期向CDN下发延时参数,客户端可以向CDN请求距离当前时刻最近时间服务器下发的延时参数。
步骤S203,接收服务器下发的延时参数。
步骤S204,检测到业务内容请求的生成事件,获取客户端的延时参数。
该步骤中,可以是检测到客户端页面的业务操作按键被触发,生成业务操作按键对应的业务内容请求。这样可以及时响应用户的操作,提高处理效率,同时提升用户体验。
步骤S205,根据延时参数判断是否触发预先构建的延时器;这里延时器可以基于延时参数随机生成延时发送时间。
步骤S206,如果判断触发延时器,则在延时器中根据延时参数确定业务内容请求的延时发送时间,并在延时器中经过延时发送时间后将业务内容请求发送给对应的服务器。
该步骤中,延时器可以基于延时参数随机生成延时发送时间,并控制是否进行延时操作,如果进行延时操作则在延时器中经过延时发送时间后将业务内容请求发送给对应的服务器;如果不进行延时操作,则在延时器中经过延时发送时间为零后,将业务内容请求发送给对应的服务器。
步骤S207,接收服务器返回的业务内容请求对应的业务内容,并展示。
本申请实施例打破传统认为客户端无法限流的思想,只能通过服务端限流的思维,利用客户端的优势,补全整体限流方案。
图3示出了本申请实施例提供的客户端流量随着时间的变化数据,在第一行时间(秒)中,包含了当前时刻1至21秒;第二行流量()表示没有延时,各个当前时刻1至21秒的客户端流量,即服务器需要处理的流量;第三行流量()表示延时,各个当前时刻1至21秒的客户端流量,即服务器需要处理的流量;第四行流量()表示延时,各个当前时刻1至21秒的客户端流量,即服务器需要处理的流量。同时不妨假设服务端的单位处理量最大值为8。
当使用服务端阻塞式限流时,假定当前时间处理不完的流量,用户会在下一个单位时间重试,图4示出了采用现有的服务端限流方案的流量随着时间的变化数据。
可以看到,
本申请实施例通过服务端获取当前服务端流量状态,并下发延时参数的方式,将此信息告知客户端,使得客户端能够根据服务端的状态进行相应策略的限流,具有更好的降低流量峰值效果、减少用户重复次数,弥补了纯服务端限流的不足。
需要说明的是,实际应用中,上述所有可能的实施方式可以采用结合的方式任意组合,形成本申请的可能的实施例,在此不再一一赘述。
基于上文各个实施例提供的客户端限流方法,基于同一发明构思,本申请实施例还提供了一种客户端限流装置。
图6示出了本申请实施例提供的应用于客户端的客户端限流装置的结构图。如图6所示,该客户端限流装置可以包括获取模块610、确定模块620、请求发送模块630以及内容接收模块640。
获取模块610,用于检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数;
确定模块620,用于根据延时参数确定业务内容请求的延时发送时间;
请求发送模块630,用于在经过延时发送时间后将业务内容请求发送给对应的服务器;
内容接收模块640,用于接收服务器返回的业务内容请求对应的业务内容。
本申请实施例中提供了一种可能的实现方式,上文图6展示的请求发送模块630还用于:检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数之前,检测到预设事件发生,向服务器请求延时参数;其中服务器根据当前服务端流量情况确定延时参数,并将确定的延时参数下发给客户端;
内容接收模块640还用于:接收服务器下发的延时参数;
获取模块610还用于:检测到业务内容请求的生成事件,获取服务器预先下发至客户端的延时参数。
本申请实施例中提供了一种可能的实现方式,上文图6展示的内容接收模块640还用于:接收服务器按照预设时间间隔下发的延时参数;
获取模块610还用于:检测到业务内容请求的生成事件,获取服务器距离当前时间最近时间下发至客户端的延时参数。
本申请实施例中提供了一种可能的实现方式,上文图6展示的获取模块610还用于:
检测到业务内容请求的生成事件,向服务器请求延时参数;其中服务器根据当前服务端流量情况确定延时参数,并将确定的延时参数下发给客户端;接收服务器下发的延时参数。
本申请实施例中提供了一种可能的实现方式,上文图6展示的获取模块610还用于:
检测到客户端页面的业务操作按键被触发,生成业务操作按键对应的业务内容请求。
本申请实施例中提供了一种可能的实现方式,上文图6展示的确定模块620还用于:
根据延时参数判断是否触发预先构建的延时器;延时器基于延时参数随机生成延时发送时间;
如果判断触发延时器,则在延时器中根据延时参数确定业务内容请求的延时发送时间。
本申请实施例中提供了一种可能的实现方式,上文图6展示的请求发送模块630还用于:
在延时器中经过延时发送时间后将业务内容请求发送给对应的服务器。
图7示出了本申请实施例提供的应用于服务器的客户端限流装置的结构图。如图7所示,该客户端限流装置可以包括下发模块710、请求接收模块720以及内容发送模块730。
下发模块710,用于向客户端下发客户端的延时参数,其中服务器结合构建的模型根据当前服务端流量情况确定延时参数;
请求接收模块720,用于接收客户端经过延时发送时间后发送的业务内容请求,其中客户端根据延时参数确定业务内容请求的延时发送时间;
内容发送模块730,用于向客户端返回业务内容请求对应的业务内容。
本申请实施例中提供了一种可能的实现方式,上文图7展示的下发模块710还用于:接收客户端的获取延时参数的请求,向客户端下发客户端的延时参数;或者,按照预设时间间隔向客户端下发客户端的延时参数。
基于同一发明构思,本申请实施例还提供了一种电子设备,包括处理器和存储器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任意一个实施例的应用于客户端的客户端限流方法或者应用于服务器的客户端限流方法。
在示例性的实施例中,提供了一种电子设备,如图8所示,图8所示的电子设备800包括:处理器801和存储器803。其中,处理器801和存储器803相连,如通过总线802相连。可选地,电子设备800还可以包括收发器804。需要说明的是,实际应用中收发器804不限于一个,该电子设备800的结构并不构成对本申请实施例的限定。
处理器801可以是通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application Specific Integrated Circuit,专用集成电路),FPGA(FieldProgrammable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器801也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线802可包括一通路,在上述组件之间传送信息。总线802可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线802可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器803可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器803用于存储执行本申请方案的应用程序代码,并由处理器801来控制执行。处理器801用于执行存储器803中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
基于同一发明构思,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任意一个实施例的应用于客户端的客户端限流方法或者应用于服务器的客户端限流方法。
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置、模块的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
本领域普通技术人员可以理解:本申请的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干程序指令,用以使得一电子设备(例如个人计算机,服务器,或者网络设备等)在运行程序指令时执行本申请各实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的电子设备)来完成,程序指令可以存储于一计算机可读取存储介质中,当程序指令被电子设备的处理器执行时,电子设备执行本申请各实施例方法的全部或部分步骤。
以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:在本申请的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本申请的保护范围。
Claims (10)
1.一种客户端限流方法,应用于客户端,其特征在于,包括:
检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,其中所述服务器结合构建的模型根据当前服务端流量情况确定延时参数;
根据所述延时参数确定所述业务内容请求的延时发送时间,在经过所述延时发送时间后将所述业务内容请求发送给对应的所述服务器;
接收所述服务器返回的所述业务内容请求对应的业务内容;
其中,所述服务器结合构建的模型根据当前服务端流量情况确定延时参数,包括:所述服务器根据当前服务端流量情况确定延时参数,是构建下面的模型,通过模型验证,进而推导计算得到的,具体地:
2.根据权利要求1所述的客户端限流方法,其特征在于,根据所述延时参数确定所述业务内容请求的延时发送时间,包括:
根据所述延时参数判断是否触发预先构建的延时器,其中所述延时器基于延时参数随机生成延时发送时间;
如果判断触发延时器,则在所述延时器中根据所述延时参数确定所述业务内容请求的延时发送时间。
3.根据权利要求1所述的客户端限流方法,其特征在于,所述检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数之前,所述方法还包括:
检测到预设事件发生,向服务器请求延时参数;其中所述服务器根据当前服务端流量情况确定延时参数,并将确定的延时参数下发给客户端;
接收所述服务器下发的延时参数;
所述检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,包括:
检测到业务内容请求的生成事件,获取所述服务器预先下发至客户端的延时参数。
4.根据权利要求1所述的客户端限流方法,其特征在于,所述方法还包括:接收所述服务器按照预设时间间隔下发的延时参数;
所述检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,包括:检测到业务内容请求的生成事件,获取所述服务器距离当前时间最近时间下发至客户端的延时参数。
5.根据权利要求1所述的客户端限流方法,其特征在于,所述检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,包括:
检测到业务内容请求的生成事件,向服务器请求延时参数;其中所述服务器根据当前服务端流量情况确定延时参数,并将确定的延时参数下发给客户端;接收所述服务器下发的延时参数。
6.一种客户端限流方法,应用于服务器,其特征在于,包括:
向客户端下发所述客户端的延时参数,其中所述服务器结合构建的模型根据当前服务端流量情况确定延时参数;
接收所述客户端经过延时发送时间后发送的业务内容请求,其中所述客户端根据所述延时参数确定所述业务内容请求的延时发送时间;
向所述客户端返回所述业务内容请求对应的业务内容;
其中,所述服务器结合构建的模型根据当前服务端流量情况确定延时参数,包括:所述服务器根据当前服务端流量情况确定延时参数,是构建下面的模型,通过模型验证,进而推导计算得到的,具体地:
7.一种客户端限流装置,应用于客户端,其特征在于,包括:
获取模块,用于检测到业务内容请求的生成事件,获取服务器下发的客户端的延时参数,其中所述服务器结合构建的模型根据当前服务端流量情况确定延时参数;
确定模块,用于根据所述延时参数确定所述业务内容请求的延时发送时间;
请求发送模块,用于在经过所述延时发送时间后将所述业务内容请求发送给对应的所述服务器;
内容接收模块,用于接收所述服务器返回的所述业务内容请求对应的业务内容;
其中,所述服务器结合构建的模型根据当前服务端流量情况确定延时参数,包括:所述服务器根据当前服务端流量情况确定延时参数,是构建下面的模型,通过模型验证,进而推导计算得到的,具体地:
8.一种客户端限流装置,应用于服务器,其特征在于,包括:
下发模块,用于向客户端下发所述客户端的延时参数,其中所述服务器结合构建的模型根据当前服务端流量情况确定延时参数;
请求接收模块,用于接收所述客户端经过延时发送时间后发送的业务内容请求,其中所述客户端根据所述延时参数确定所述业务内容请求的延时发送时间;
内容发送模块,用于向所述客户端返回所述业务内容请求对应的业务内容;
其中,所述服务器结合构建的模型根据当前服务端流量情况确定延时参数,包括:所述服务器根据当前服务端流量情况确定延时参数,是构建下面的模型,通过模型验证,进而推导计算得到的,具体地:
9.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器中存储有计算机程序,所述处理器被配置为运行所述计算机程序以执行权利要求1至5中任一项所述的应用于客户端的客户端限流方法或者权利要求6所述的应用于服务器的客户端限流方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被配置为运行时执行权利要求1至5中任一项所述的应用于客户端的客户端限流方法或者权利要求6所述的应用于服务器的客户端限流方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210354841.7A CN114500382B (zh) | 2022-04-06 | 2022-04-06 | 客户端限流方法和装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210354841.7A CN114500382B (zh) | 2022-04-06 | 2022-04-06 | 客户端限流方法和装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114500382A CN114500382A (zh) | 2022-05-13 |
CN114500382B true CN114500382B (zh) | 2022-07-15 |
Family
ID=81488387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210354841.7A Active CN114500382B (zh) | 2022-04-06 | 2022-04-06 | 客户端限流方法和装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114500382B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020220739A1 (zh) * | 2019-04-28 | 2020-11-05 | 华为技术有限公司 | 一种请求控制方法、相关设备及计算机存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8200812B2 (en) * | 2009-12-31 | 2012-06-12 | International Business Machines Corporation | Reducing workload on a backend system using client side request throttling |
US20170272343A1 (en) * | 2016-03-21 | 2017-09-21 | Ca, Inc. | Systems and methods for monitoring servers for overloading conditions |
US11153174B2 (en) * | 2018-06-15 | 2021-10-19 | Home Box Office, Inc. | Data service overload detection and mitigation |
CN111555987B (zh) * | 2020-04-28 | 2023-01-24 | 深圳前海微众银行股份有限公司 | 限流配置方法、装置、设备及计算机存储介质 |
CN112162769A (zh) * | 2020-10-14 | 2021-01-01 | 广州欢网科技有限责任公司 | 针对应用软件限流升级的方法、服务器及客户端 |
-
2022
- 2022-04-06 CN CN202210354841.7A patent/CN114500382B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020220739A1 (zh) * | 2019-04-28 | 2020-11-05 | 华为技术有限公司 | 一种请求控制方法、相关设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114500382A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8413156B2 (en) | Method and system for managing resource connections | |
CN109936511B (zh) | 一种令牌获取方法、装置、服务器、终端设备及介质 | |
CN109144700B (zh) | 超时时长的确定方法、装置、服务器和数据处理方法 | |
CN110858843A (zh) | 业务请求处理方法、装置及计算机可读存储介质 | |
JP2005108238A (ja) | ホスト・トランザクション処理システム内の動的トランザクション制御 | |
CN109034867B (zh) | 点击流量检测方法、装置及存储介质 | |
CN111338575B (zh) | 一种存储服务质量控制方法、装置、设备及存储介质 | |
CN109120548B (zh) | 一种流量控制方法及装置 | |
US20070265976A1 (en) | License distribution in a packet data network | |
CN110311963B (zh) | 消息推送方法、装置、计算机设备及计算机可读存储介质 | |
CN109104480B (zh) | 一种网络请求的处理方法及装置 | |
CN114500382B (zh) | 客户端限流方法和装置、电子设备 | |
JP2006216049A (ja) | P2pネットワークにおけるヒルを減少させるための方法および装置 | |
CN106817296B (zh) | 信息推荐的测试方法、装置以及电子设备 | |
JP4526774B2 (ja) | コンピューターシステムの構成装置の性能バランス評価とサイジングを行う装置と方法 | |
CN110751464A (zh) | 一种信息提示方法、装置、设备及存储介质 | |
CN111861436A (zh) | 由服务器执行的数据处理方法、装置、系统、介质 | |
CN115361339A (zh) | 流量控制方法、装置、电子设备和存储介质 | |
CN114296897A (zh) | 一种广告请求的发送方法和装置 | |
CN112950171A (zh) | 一种银行业务处理系统及方法 | |
CN111144977B (zh) | 一种股票订单处理方法、装置 | |
CN109510816B (zh) | 服务请求有效性验证方法、客户端及服务器 | |
CN112596985A (zh) | 一种it资产探测方法、装置、设备和介质 | |
CN112036935A (zh) | 广告数据加载方法和装置 | |
CN114765550B (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 |