业务处理频率的控制方法、系统、装置、电子设备与流程

文档序号:22845359发布日期:2020-11-06 16:49阅读:80来源:国知局
业务处理频率的控制方法、系统、装置、电子设备与流程

本发明涉及计算机领域,具体涉及一种业务处理频率的控制方法、系统、装置、电子设备。



背景技术:

在软件架构和程序设计领域,前台(frontend)是软件系统中直接和用户交互的部分,可向后台发出业务请求,而后台(backend)负责处理前端的业务请求,进行逻辑处理和数据交互。由于业务的多样化以及业务场景的变更等,后台常常需要处理不定时的突发流量,即后台需要应对突增的请求量,当请求量过多并超过后台的处理能力时,后台可能会出现拥塞、宕机、处理异常等安全问题。为了减轻后台的运算压力,目前可以通过控制前台发送给后台的请求数量,使其被限制在安全范围内,从而控制后台接收到请求的频率。

然而,目前对于流量的业务处理频率的控制方法效率低下。



技术实现要素:

本发明实施例提供一种业务处理频率的控制方法、系统、装置、电子设备,可以提升业务处理频率的控制效率。

本发明实施例提供一种业务处理频率的控制方法,适用于客户端,包括:

从服务器获取目标业务的惩罚时段;

当当前时刻在惩罚时段内时,告知目标业务拒绝接收业务请求;

当当前时刻在惩罚时段外时,告知目标业务接收业务请求;

当目标业务接收到业务请求时,确定目标业务的请求积累量;

将目标业务的请求积累量发送给服务器,以便服务器根据目标业务的请求积累量重新计算目标业务的惩罚时间。

本发明实施例提供一种业务处理频率的控制方法,适用于服务器,包括:

获取用户配置频率,以及确定上一时刻的令牌数量;

基于用户配置频率和上一时刻的令牌数量确定当前时刻的令牌数量;

当从客户端获取到目标业务的请求积累量时,根据目标业务的请求积累量和当前时刻的令牌数量计算惩罚时间;

将惩罚时间发送给客户端,以便客户端根据惩罚时间处理目标业务的业务请求。

本发明实施例提供一种业务处理频率的控制系统,包括客户端和服务器,客户端与服务器通信,其中:

客户端,用于:

从服务器获取目标业务的惩罚时段;

当当前时刻在惩罚时段内时,告知目标业务拒绝接收业务请求;

当当前时刻在惩罚时段外时,告知目标业务接收业务请求;

当目标业务接收到业务请求时,确定目标业务的请求积累量;

将目标业务的请求积累量发送给服务器,以便服务器根据目标业务的请求积累量重新计算目标业务的惩罚时间;

服务器,用于:

获取目标业务的用户配置频率,以及确定目标业务的上一时刻的令牌数量;

基于目标业务的用户配置频率和目标业务的上一时刻的令牌数量确定目标业务的当前时刻的令牌数量;

当从客户端获取到目标业务的请求积累量时,根据目标业务的请求积累量和目标业务的当前时刻的令牌数量计算目标业务的惩罚时段;

将惩罚时间发送给客户端,以便客户端根据惩罚时间处理目标业务的业务请求。

本发明实施例还提供一种业务处理频率的控制装置,适用于客户端,包括:

惩罚获取单元,用于从服务器获取目标业务的惩罚时段;

拒收单元,用于当当前时刻在惩罚时段内时,告知目标业务拒绝接收业务请求;

接收单元,用于当当前时刻在惩罚时段外时,告知目标业务接收业务请求;

积累量单元,用于当目标业务接收到业务请求时,确定目标业务的请求积累量;

积累量发送单元,用于将目标业务的请求积累量发送给服务器,以便服务器根据目标业务的请求积累量重新计算目标业务的惩罚时间。

本发明实施例还提供一种业务处理频率的控制装置,适用于服务器,包括:

配置单元,用于获取目标业务的用户配置频率,以及确定目标业务的上一时刻的令牌数量;

令牌单元,用于基于目标业务的用户配置频率和目标业务的上一时刻的令牌数量确定目标业务的当前时刻的令牌数量;

惩罚计算单元,用于当从客户端获取到目标业务的请求积累量时,根据目标业务的请求积累量和目标业务的当前时刻的令牌数量计算目标业务的惩罚时段;

惩罚发送单元,用于将惩罚时间发送给客户端,以便客户端根据惩罚时间处理目标业务的业务请求。

本发明实施例还提供一种电子设备,包括存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行本发明实施例所提供的任一种业务处理频率的控制方法中的步骤。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种业务处理频率的控制方法中的步骤。

在本发明实施例中,服务器可以获取用户配置频率,以及确定上一时刻的令牌数量;基于用户配置频率和上一时刻的令牌数量确定当前时刻的令牌数量;当从客户端获取到目标业务的请求积累量时,根据目标业务的请求积累量和当前时刻的令牌数量计算惩罚时间;将惩罚时间发送给客户端,以便客户端根据惩罚时间处理目标业务的业务请求。

客户端可以从服务器获取目标业务的惩罚时段;当当前时刻在惩罚时段内时,告知目标业务拒绝接收业务请求;当当前时刻在惩罚时段外时,告知目标业务接收业务请求;当目标业务接收到业务请求时,确定目标业务的请求积累量;将目标业务的请求积累量发送给服务器,以便服务器根据目标业务的请求积累量重新计算目标业务的惩罚时间。

在本发明实施例中,客户端通过统计目标业务的请求积累量,并将其发送给服务器,以便服务器根据该请求积累量计算目标业务的惩罚时间,服务器将惩罚时间发送给客户端后,客户端可以控制目标业务在惩罚时间内拒收业务请求,从而实现业务请求的接收业务处理频率的控制,使得目标业务不会因为申请量过多而出现业务异常、宕机等安全问题,由此,本方案可以提升业务处理频率的控制效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本发明实施例提供的业务处理频率的控制系统的结构示意图;

图1b是本发明实施例提供的适用于客户端的业务处理频率的控制方法的流程示意图;

图2a是本发明实施例提供的适用于服务器的业务处理频率的控制方法的流程示意图;

图2b是本发明实施例提供的分布式业务处理频率的控制云系统的结构与流程示意图;

图2c是本发明实施例提供的适用于一致性哈希算法示意图;

图2d是本发明实施例提供的频率调控效果示意图;

图3a是本发明实施例提供的适用于客户端的业务处理频率的控制装置的第一种结构示意图;

图3b是本发明实施例提供的适用于客户端的业务处理频率的控制装置的第二种结构示意图;

图4是本发明实施例提供的适用于服务器的业务处理频率的控制装置的结构示意图;

图5是本发明实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种业务处理频率的控制方法、系统、装置、电子设备。

其中,该业务处理频率的控制装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。

在一些实施例中,服务器也可以以终端的形式来实现。

其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(contentdeliverynetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。

其中,分布式是计算机的一种算法,当计算机的程序和数据通过网络分布在多于一个的计算机上时,计算就成为“分布式的”。

其中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

本发明实施例将以适用于服务器的业务处理频率的控制装置集成在由云服务器组成的服务器集群中,以及适用于客户端的业务处理频率的控制装置集成在服务器中为例,来介绍业务处理频率的控制方法。

参考图1a,本实施例可以应用于互联网业务服务后台的流量限制场景,本发明实施例提供了一种业务处理频率的控制系统,包括客户端10、服务器集群11等。

其中,适用于服务器的业务处理频率的控制装置集成在服务器集群11中,适用于客户端的业务处理频率的控制装置集成在客户端10中,客户端10可以与服务器集群11通信。

其中,客户端10可以从服务器11获取目标业务的惩罚时段;当当前时刻在惩罚时段内时,告知目标业务拒绝接收业务请求;当当前时刻在惩罚时段外时,告知目标业务接收业务请求;当目标业务接收到业务服务前台发送的业务请求时,确定目标业务的请求积累量;将目标业务的请求积累量发送给服务器集群11,以便服务器集群11根据目标业务的请求积累量重新计算目标业务的惩罚时间。

其中,服务器集群11可以获取用户配置频率,以及确定上一时刻的令牌数量;基于用户配置频率和上一时刻的令牌数量确定当前时刻的令牌数量;当从客户端获取到目标业务的请求积累量时,根据目标业务的请求积累量和当前时刻的令牌数量计算惩罚时间;将惩罚时间发送给客户端10,以便客户端10根据惩罚时间处理目标业务的业务请求。

在一些实施例中,业务处理频率的控制系统还可以包括业务端12,业务端12运行有至少一个业务,包括目标业务;业务端12可以处理业务服务前台发送的业务请求,该业务端12可以通过网络与客户端10通信来接入业务处理频率的控制系统,从而调用客户端10中搭载的业务处理频率的控制方法,业务端可以当被客户端告知目标业务拒绝接收业务请求时,关闭目标业务的业务接收功能;当被客户端告知目标业务接收业务请求时,开启目标业务的业务接收功能;当接收到目标业务的业务请求时,根据预设的业务处理操作处理业务请求。

在一些实施例中,业务处理频率的控制系统还可以包括数据库13,数据库13可以与服务器集群11通信,服务器集群11可以通过确定参数监听接口;当通过参数监听接口监听到数据库13出现数据更新事件时,通过参数监听接口从数据库13获取业务参数;获取上一用户配置频率;根据业务参数更新上一用户配置频率,得到用户配置频率的方法来从数据库13获取用户配置频率。

在一些实施例中,业务处理频率的控制系统还可以包括用户配置平台14,数据库13和用户配置平台14可以通信,数据库13可以定时从用户配置平台14拉取业务参数;基于业务参数执行数据更新事件,以便服务器集群11通过参数监听接口监听数据更新事件;向服务器集群11的参数监听接口发送业务参数,以便服务器集群11通过参数监听接口从数据库13获取业务参数。

用户配置平台14可以接收用户对目标业务配置的业务参数;将业务参数定时发送给数据库13,以便数据库13向服务器集群11的参数监听接口发送业务参数。

以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。

本发明实施例将从业务处理频率的控制装置的角度进行描述,该业务处理频率的控制装置具体可以集成在服务器中,例如,可以以程序的形式集成在服务器中。

本发明实施例提供的一种适于客户端的业务处理频率的控制方法,该业务处理频率的控制方法可以由服务器的处理器执行,如图1b所示,该业务处理频率的控制方法的具体流程可以如下:

101、从服务器获取目标业务的惩罚时段。

业务服务是指组成程序应用的功能模块,例如,对于支付应用,其可以由金额查询业务、转账业务、还款业务等组成。

在一些实施例中,程序应用可以根据其功能,被分离并安装在业务前台(简称前台)和业务后台(简称后台)中,前台和后台可以对程序应用的不同业务服务进行处理,前台是程序应用中直接和用户交互的部分,而后台是对前台发送的业务请求进行一系列响应和处理的部分。

其中,服务器可以为客户端提供多个不同业务服务的惩罚时段,这些业务服务中包括目标业务。

惩罚时段是指对一些业务服务实行惩罚,使其无法接收业务请求的时段,即,在惩罚时段内,后台中的业务服务拒绝接收业务前台发送的业务请求,在惩罚时段外,业务服务可以接收业务请求。

102、当当前时刻在惩罚时段内时,告知目标业务拒绝接收业务请求。

其中,当前时刻是指当前的时间,计算机可以根据其内置的时钟模块,或网络来确定当前时刻。

客户端可以通过网络或光纤等传输方式来与业务后台中的业务服务通信。

在一些实施例中,后台中可以安装有业务端,业务端可以与客户端通信,使得业务后台可通过业务端接收客户端告知的业务处理消息。

其中,业务处理消息可以包括拒收处理消息和接收处理消息,当业务端接收到拒收处理消息时,安装有业务端的业务后台可以暂时关闭其接收业务请求的功能,直到当前时刻在惩罚之间段外,安装有业务端的业务后台才可以继续接收业务服务的收业务请求。

103、当当前时刻在惩罚时段外时,告知目标业务接收业务请求。

类似于步骤102,当业务端接收到接收处理消息时,安装有业务端的业务后台可以接收业务服务的收业务请求。

104、当目标业务接收到业务请求时,确定目标业务的请求积累量。

在一些实施例中,每当目标业务接收到业务请求时,都可以统计请求积累量,该请求积累量是指累计其接收到的业务请求的数量。

例如,上一次接收到业务请求时,请求积累量为count,则再一次接收到业务请求时,请求积累量为count+1。

105、将目标业务的请求积累量发送给服务器,以便服务器根据目标业务的请求积累量重新计算目标业务的惩罚时间。

客户端可以和服务器通过网络进行通信,客户端将目标业务的请求积累量发送给服务器后,服务器可以根据该请求积累量重新计算目标业务的惩罚时间,并再将惩罚时间返回给客户端,以便客户端告知目标业务在惩罚时间内拒收业务请求。

在一些实施例中,为了降低计算资源的消耗、进一步提高业务处理频率的控制效率,客户端还可以从服务器获取目标业务的平均配置频率,基于平均配置频率来分次地或全部地将请求积累量发送给服务器,步骤105可以包括如下步骤:

(1)当目标业务的请求积累量不小于目标业务的平均配置频率时,将目标业务的请求积累量发送给服务器;

(2)当目标业务的请求积累量小于目标业务的平均配置频率时,获取预设时间间隔;

(3)基于预设时间间隔,定时将目标业务的请求积累量发送给服务器;

(4)对目标业务的请求积累量进行清零处理。

其中,平均配置频率是指用户为目标业务配置的拒绝接收业务请求的平均配置频率。

在一些实施例中,客户端可以包括多个客户端节点,平均配置频率可以由用户为目标业务配置的用户配置频率和客户端节点的数量求得。

例如,在一些实施例中,平均配置频率=用户配置频率/客户端节点的数量。

其中,在一些实施例中,用户配置频率可以是用户为业务服务设置的每秒查询率(qps,queries-per-second)、每分钟查询率(qpm,queries-per-minite)等,平均配置频率可以是平均qps。

因此,在一些实施例中,平均qps=qps/客户端节点的数量。

在本发明实施例中,可以通过平均qps来判定请求积累量是否积累过多,当请求积累量过多时,业务后台需要迅速处理这些业务,为了保证高业务处理频率的控制效率,可以一次性地将将目标业务的请求积累量发送给服务器。

当请求积累量过少时,业务后台无需快速处理这些业务,故为了降低计算资源,可以定时地分次将请求积累量发送给服务器。

其中,预设时间间隔可以由技术人员制定,例如,预设时间间隔可以是0.3秒。

例如,当请求积累量count=200时,每过0.3秒,将请求积累量中的100发送给服务器,在0.6秒时,完成将请求积累量全部发送给服务器。

最后,不论是一次性还是分次发送,在发送完成后,均需要对请求积累量进行清零处理,即,将count赋值为0。

其中,服务器可以包括多个服务器节点,即服务器是一种由多个服务器节点构成的分布式服务器集群,每一个服务器节点都专用于处理其对应业务服务的请求积累量。

例如,参考图2b,业务服务a对应服务器中的服务器节点a,业务服务b对应服务器中的服务器节点b,业务服务c对应服务器中的服务器节点c。

客户端每次向服务器发送目标业务的请求积累量时,需要首先确定是向服务器中哪一个服务器节点对应目标业务,为了提高确定服务器节点的效率,额可以采用一致性哈希算法来实现步骤(3)基于预设时间间隔,定时将目标业务的请求积累量发送给服务器:

将服务器节点映射在预设的哈希环上,得到含节点哈希环;

将目标业务映射在含节点哈希环上,得到节点业务哈希环;

在节点业务哈希环上确定目标业务对应的服务器节点,定时将目标业务的请求积累量发送给目标业务对应的服务器节点。

其中,一致性哈希算法是一种哈希(hash)算法,通过一致性哈希算法来移除或者添加一个服务器时,能够尽可能小地改变已存在的业务服务与其对应服务器之间的映射关系,尽可能满足单调性的要求。

预设的哈希环上可以含有等分的2^32个点,参考图2c,圆环的正上方的点代表0,0点右侧的第一个点代表1,以此类推,2、3、4、5、6……直到2^32-1,也就是说0点左侧的第一个点代表2^32-1。

服务器节点a、b、c可以映射在预设的哈希环上。具体地,可以对服务器节点的ip地址(internetprotocoladdress)进行哈希计算,使用哈希后的结果对2^32取模,得到服务器在哈希环上对应的点,如下:

hash(服务器节点ip地址)%2^32

参考图2c,服务器节点a、b、c映射在预设的哈希环上,得到含节点哈希环。

然后,可以对目标业务的业务名称进行哈希计算,使用哈希后的结果对2^32取模,得到目标业务在哈希环上对应的点,如下:

hash(目标业务的名称)%2^32

参考图2c,目标业务a映射在含节点哈希环上,得到节点业务哈希环。

然后,根据节点业务哈希环可知,目标业务a沿节点业务哈希环顺时针方向遇到的第一个服务器节点为服务器节点a,因此,服务器节点a可以被确定为目标业务对应的服务器节点。

本发明实施例提供的一种适于服务器的业务处理频率的控制方法,该业务处理频率的控制方法可以由服务器的处理器执行,如图2a所示,该业务处理频率的控制方法的具体流程可以如下:

201、获取用户配置频率,以及确定上一时刻的令牌数量。

令牌桶算法是一种网络流量整形(trafficshaping)和速率限制(ratelimiting)的算法,可以在网络中传输数据时防止网络拥塞,限制流出网络的流量,使流量以比较均匀的速度向外发送。

其中,令牌桶算法的基本过程如下:

假如用户配置的发送速率为r、令牌桶最多可以存放b个令牌;则每隔1/r秒将一个令牌加入到令牌桶中,如果令牌到达时令牌桶已经满了,则丢弃这个令牌;当请求积累量count=n到达时,则从令牌桶中删除n个令牌,并且告知客户端;如果令牌桶中存储的令牌数量少于n,则不会删除n个令牌,并且认为请求积累量还未达到流量限制。

在本发明实施例中,可以在每一个服务器节点中采用令牌桶算法来计算该服务器节点对应业务服务的惩罚时间。

例如,参考图2b,服务器节点a采用令牌桶a’来计算业务服务a的惩罚时间;服务器节点b采用令牌桶b’来计算业务服务b的惩罚时间;服务器节点c采用令牌桶c’来计算业务服务c的惩罚时间。

在步骤201中,可以获取用户为多个业务服务设置的用户配置频率,该用户配置频率可以为qps,即,用户可以为不同的业务服务设置不同的qps。

其中,上一时刻是指在最近一次令牌桶中被放入令牌的时刻。

202、基于用户配置频率和上一时刻的令牌数量确定当前时刻的令牌数量。

其中,如步骤101所述,为了定时地向令牌桶中加入令牌,可以根据技术人员设定的预设令牌添加时间,每隔一段时间将一个令牌加入到令牌桶中。

由于服务器包括多个服务器节点,多个服务器节中包括目标业务对应的服务器节点,用户配置频率包括目标业务的配置频率,因此,步骤202可以包括如下步骤:

确定预设令牌添加时间;

基于令牌添加时间,对目标业务的用户配置频率和目标业务对应的服务器节点在上一时刻的令牌数量进行求和处理,得到确定目标业务对应的服务器节点在当前时刻的令牌数量。

例如,设上一时刻令牌桶中的令牌数量为n,用户配置频率为r,令牌添加量为1/r,预设令牌添加时间为1秒,可以确定每过1秒,当前时刻的令牌数量m为:

m=n+1/r

在一些实施例中,令牌桶的容量可以设为用户配置频率,每秒可以向令牌桶中放入与用户配置频率相同数值数量的令牌。

在一些实施例中,用户配置频率可以是qps,令牌桶的容量可以设为qps,每秒可以向令牌桶中放入qps个令牌。

203、当从客户端获取到目标业务的请求积累量时,根据目标业务的请求积累量和当前时刻的令牌数量计算惩罚时间。

每当服务器节点从客户端获取到目标业务的请求积累量时,服务器节点中的令牌桶会扣除相应数量的令牌。

其中,步骤203可以包括如下步骤:

对当前时刻的令牌数量和目标业务的请求积累量进行求差处理,得到下一时刻的令牌数量;

当下一时刻的令牌数量小于0时,根据下一时刻的令牌数量和当前时刻的令牌数量计算惩罚时间。

其中下一时刻的令牌数量是指此次令牌桶扣除了请求积累量后,桶中剩余的令牌数量。需要注意的是,由于令牌桶中的令牌数量不可以为负数,因此,当请求积累量大于令牌桶中的令牌数量时,请求积累量中无法被扣除的部分可以被称为请求剩余量。

在一些实施例中,可以根据请求剩余量计算惩罚时间。

例如,假设从客户端获取到目标业务的请求积累量为count,当令牌桶中当前时刻的令牌数量m小于count时,则可以请求剩余量o:

o=count-m

惩罚时间t可以由请求剩余量o和用户配置频率确定:

t=o/用户配置频率

例如,平均配置频率为qps,则t=o/qps。

在一些实施例中,由于客户端可以由多个客户端节点构成,平均配置频率等于用户配置频率/客户端节点的数量,因此,对于每个客户端,惩罚时间t可以由请求剩余量o和平均配置频率确定:

t=o/平均配置频率

例如,平均配置频率为平均qps,则t=o/平均qps。

其中,在一些实施例中,平均配置频率可根据服务器中服务器节点的数量求得,因此适用于服务器的业务处理频率的控制方法,还可以包括如下步骤:

确定服务器中服务节点的数量;

基于服务节点的数量和目标业务的配置频率计算目标业务的平均配置频率。

在一些实施例中,还可以将目标业务的平均配置频率发送给客户端,以便客户端基于目标业务的平均配置频率将目标业务的请求积累量返回给目标业务对应的服务节点。

204、将惩罚时间发送给客户端,以便客户端根据惩罚时间处理目标业务的业务请求。

最后,服务器节点可以将惩罚时间发送给客户端,以便客户端根据惩罚时间处理目标业务的业务请求。

由上可知,在本发明实施例中,客户端通过统计目标业务的请求积累量,并将其发送给服务器,以便服务器根据该请求积累量计算目标业务的惩罚时间,服务器将惩罚时间发送给客户端后,客户端可以控制目标业务在惩罚时间内拒收业务请求,从而实现业务请求的接收业务处理频率的控制,对突发流量进行削峰,使进入后台的流量保持持续稳定性,防止后台的过载和雪崩,由此,本方案可以提升业务处理频率的控制效率。

本发明实施例提供的业务处理频率的控制方案可以基于云计算应用在各种后台服务场景中,比如,以分布式的业务处理频率的控制云系统为例,采用本发明实施例提供的方案能够提升业务处理频率的控制效率。

本发明实施例中分布式的业务处理频率的控制云系统的服务器可以是云服务器集群,客户端可以是云客户端集群,云服务器集群和云客户端集群均需要使用到云技术。

其中,云技术(cloudtechnology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。

通过本发明实施例提供的业务处理频率的控制方法可以使用云技术来实现分布式的业务处理频率的控制云系统。

比如,参考图2a,分布式的业务处理频率的控制云系统中可以包括客户端、服务器、业务端、数据库和用户配置平台。

其中,用户可以在用户配置平台为不同的业务服务配置各种业务参数,其中,业务参数可以包括业务名称、业务的用户配置频率如qps,等等。

该用户配置平台可以用于接收用户对各种业务服务配置的业务参数,将业务参数定时发送给数据库,以便数据库向服务器的参数监听接口发送业务参数。用户配置平台可以由用户对不同的业务进行不同的频率管理,提供差异化服务。

其中,数据库可以用于定时从用户配置平台拉取并存储这些业务参数,因此,该数据库可以用于定时从用户配置平台拉取业务参数;基于业务参数执行数据更新事件,以便服务器通过参数监听接口监听数据更新事件;向服务器的参数监听接口发送业务参数,以便服务器通过参数监听接口从数据库获取业务参数;

其中,服务器中可设有监听接口,服务器可以确定参数监听接口;当数据库存储用户配置平台向其发送的业务参数时,数据库会出现业务参数的更新事件,每当服务器通过参数监听接口监听到数据库出现数据更新事件时,服务器可通过参数监听接口从数据库获取并存储业务参数,然后,获取上一用户配置频率,并根据业务参数更新上一用户配置频率,得到用户配置频率,并将这些业务服务的用户配置频率保存在本地内存中,以供后续使用。

其中,业务后台中可以为每个业务服务安装一个对应的业务端,业务端可以与客户端通信,从而调用客户端中的业务处理频率的控制方法,该业务端用于当被客户端告知目标业务a拒绝接收业务请求时,关闭目标业务a的业务接收功能;当被客户端告知目标业务a接收业务请求时,开启目标业务a的业务接收功能。当该业务后台接收到目标业务a的业务请求时,业务后台可以根据预设的业务处理操作处理业务请求a。

其中,业务后台可以按照预设的业务处理操作来实现对业务前台所发出业务请求的响应。每当有业务请求进入业务后台时,业务后台可以先将业务请求通过客户端上报到服务器后,由服务器进行统一的结算。

每当业务后台中一个业务服务接入分布式频控云系统时,需要通过该业务服务的业务端进行统一的上报。

其中,客户端中可以包括多个客户端节点,客户端可以用于:

从服务器获取t,其中,t为目标业务a的惩罚时段;

当当前时刻在t内时,告知目标业务a拒绝接收业务请求;

当当前时刻在t外时,告知目标业务a接收业务请求;

当目标业务a接收到业务请求时,确定目标业务a的请求积累量count;

将目标业务a的请求积累量count发送给服务器节点a,以便服务器节点a根据目标业务a的请求积累量count重新计算目标业务的惩罚时间t’。

其中,服务器可以统一地对所有业务服务的惩罚时段进行计算,进而提高业务处理频率的控制效率的方式提高流量限制的实时性,服务器包括多个分布式的服务器节点,即服务器是一种云服务器集群,该服务器节点a可以用于:

获取目标业务a的用户配置频率,以及确定目标业务a的上一时刻的令牌数量nt-1;

基于目标业务的用户配置频率qps和目标业务的上一时刻的令牌数量nt-1确定目标业务的当前时刻的令牌数量nt;

当从客户端获取到目标业务a的请求积累量count时,根据目标业务a的请求积累量count和目标业务a的当前时刻的令牌数量nt计算目标业务的惩罚时段t;

将惩罚时间t发送给客户端,以便客户端根据惩罚时间t处理目标业务a的业务请求。

在一些实施例中,为了防止客户端中的客户端节点出现宕机等异常情况,参考图2a,客户端节点可以在每次知晓业务服务接到业务请求后,将此次接收事件告知服务器,并定时(比如,每过1分钟)从服务器中拉取业务服务的业务参数,如业务名称、服务器节点的节点数量、qps,等等;当服务器发现某一客户端节点距上次上报接收事件超过预设时长(如5分钟)还未再一次上报接收事件时,服务器可以将该客户端节点判定为异常情况节点,服务器可以重新为该业务服务分配一个正常的客户端节点,并重新将qps和平均qps等信息发送给该正常的客户端节点。

在本发明实施例中,客户端通过统计目标业务的请求积累量,并将其发送给服务器,以便服务器根据该请求积累量计算目标业务的惩罚时间,服务器将惩罚时间发送给客户端后,客户端可以控制目标业务在惩罚时间内拒收业务请求,从而实现业务请求的接收业务处理频率的控制,使得目标业务不会因为申请量过多而出现业务异常、宕机等安全问题。

参考图2d,用户还可以在用户配置平台设置该业务处理频率的控制方法的开始时刻和结束时刻,在频率调控开始时刻至频率结束时刻,业务服务接收到的请求量与用户设定的qps匹配,可以被稳定地在小范围内波动,维持在一个安全的水平,本方案可以提业务后台的成功率和稳定性,对于突发的流量进行比较平稳的削峰,防止业务后台因过载导致节点宕机。由此,本方案可以提升业务处理频率的控制效率,从而提升业务处理频率的控制效率。

为了更好地实施以上方法,本发明实施例还提供一种业务处理频率的控制装置,该业务处理频率的控制装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。

比如,在本实施例中,将以适用于客户端的业务处理频率的控制装置具体集成在服务器中为例,对本发明实施例的方法进行详细说明。

例如,如图3a所示,该业务处理频率的控制装置可以包括惩罚获取单元301、拒收单元302、接收单元303、积累量单元304以及积累量发送单元305,如下:

(一)惩罚获取单元301:

惩罚获取单元301可以用于从服务器获取目标业务的惩罚时段。

(二)拒收单元302:

拒收单元302可以用于当当前时刻在惩罚时段内时,告知目标业务拒绝接收业务请求。

(三)接收单元303:

接收单元303可以用于当当前时刻在惩罚时段外时,告知目标业务接收业务请求。

(四)积累量单元304:

积累量单元304可以用于当目标业务接收到业务请求时,确定目标业务的请求积累量。

(五)积累量发送单元305:

积累量发送单元305可以用于将目标业务的请求积累量发送给服务器,以便服务器根据目标业务的请求积累量重新计算目标业务的惩罚时间。

在一些实施例中,客户端可以包括多个客户端节点,适用于客户端的业务处理频率的控制装置还可以用于:

从服务器获取目标业务的平均配置频率。

此时,参考图3b,在一些实施例中,积累量发送单元305可以包括积累量发送子单元3051、间隔子单元3052、定时发送子单元3053以及清零子单元3054,如下:

(1)积累量发送子单元3051:

积累量发送子单元3051可以用于当目标业务的请求积累量不小于目标业务的平均配置频率时,将目标业务的请求积累量发送给服务器。

(2)间隔子单元3052:

间隔子单元3052可以用于当目标业务的请求积累量小于目标业务的平均配置频率时,获取预设时间间隔。

(3)定时发送子单元3053:

定时发送子单元3053可以用于基于预设时间间隔,定时将目标业务的请求积累量发送给服务器。

(4)清零子单元3054:

清零子单元3054可以用于对目标业务的请求积累量进行清零处理。

在一些实施例中,服务器可以包括多个服务器节点,定时发送子单元3053,可以用于:

将服务器节点映射在预设的哈希环上,得到含节点哈希环;

将目标业务映射在含节点哈希环上,得到节点业务哈希环;

在节点业务哈希环上确定目标业务对应的服务器节点,定时将目标业务的请求积累量发送给目标业务对应的服务器节点。

此外,在本实施例中,将以适用于服务器的业务处理频率的控制装置具体集成在由多个服务器组成的分布式云服务器集群中为例,对本发明实施例的方法进行详细说明。

例如,如图4所示,该业务处理频率的控制装置可以包括配置单元401、令牌单元402、以及,如下:

(一)配置单元401:

配置单元401可以用于获取目标业务的用户配置频率,以及确定目标业务的上一时刻的令牌数量。

(二)令牌单元402:

令牌单元402可以用于基于目标业务的用户配置频率和目标业务的上一时刻的令牌数量确定目标业务的当前时刻的令牌数量。

在一些实施例中,服务器可以包括多个服务器节点,多个服务器节中可以包括目标业务对应的服务器节点,用户配置频率可以包括目标业务的配置频率,令牌单元402可以用于:

确定预设令牌添加时间;

基于令牌添加时间,对目标业务的用户配置频率和目标业务对应的服务器节点在上一时刻的令牌数量进行求和处理,得到确定目标业务对应的服务器节点在当前时刻的令牌数量。

(三)惩罚计算单元403:

惩罚计算单元403可以用于当从客户端获取到目标业务的请求积累量时,根据目标业务的请求积累量和目标业务的当前时刻的令牌数量计算目标业务的惩罚时段。

在一些实施例中,惩罚计算单元403可以用于:

对当前时刻的令牌数量和目标业务的请求积累量进行求差处理,得到下一时刻的令牌数量;

当下一时刻的令牌数量小于0时,根据下一时刻的令牌数量和当前时刻的令牌数量计算惩罚时间。

(四)惩罚发送单元404:

惩罚发送单元404可以用于将惩罚时间发送给客户端,以便客户端根据惩罚时间处理目标业务的业务请求。

在一些实施例中,服务器可以包括多个服务节点,业务处理频率的控制装置还可以用于:

确定服务器中服务节点的数量;

基于服务节点的数量和目标业务的配置频率计算目标业务的平均配置频率;

将目标业务的平均配置频率发送给客户端,以便客户端基于目标业务的平均配置频率将目标业务的请求积累量返回给目标业务对应的服务节点。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

由上可知,本实施例的适用于客户端的业务处理频率的控制装置由惩罚获取单元从服务器获取目标业务的惩罚时段;由拒收单元当当前时刻在惩罚时段内时,告知目标业务拒绝接收业务请求;由接收单元当当前时刻在惩罚时段外时,告知目标业务接收业务请求;由积累量单元当目标业务接收到业务请求时,确定目标业务的请求积累量;由积累量发送单元将目标业务的请求积累量发送给服务器,以便服务器根据目标业务的请求积累量重新计算目标业务的惩罚时间。

本实施例的适用于服务器的业务处理频率的控制装置由配置单元获取目标业务的用户配置频率,以及确定目标业务的上一时刻的令牌数量;由令牌单元基于目标业务的用户配置频率和目标业务的上一时刻的令牌数量确定目标业务的当前时刻的令牌数量;由惩罚计算单元当从客户端获取到目标业务的请求积累量时,根据目标业务的请求积累量和目标业务的当前时刻的令牌数量计算目标业务的惩罚时段;由惩罚发送单元将惩罚时间发送给客户端,以便客户端根据惩罚时间处理目标业务的业务请求。

由此,本发明实施例可以提升业务处理频率的控制效率。

本发明实施例还提供一种电子设备,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑,等等;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,等等。

在一些实施例中,该业务处理频率的控制装置还可以集成在多个电子设备中,比如,业务处理频率的控制装置可以集成在多个服务器中,由多个服务器来实现本发明的业务处理频率的控制方法。

在一些实施例中,该业务处理频率的控制装置还可以集成在由多个云服务器构成的分布式云服务器集群中。

在本实施例中,将以本实施例的电子设备是由多个服务器构成的分布式云服务器集群为例进行详细描述,比如,如图5所示,其示出了本发明实施例所涉及的每个服务器的结构示意图,具体来讲:

该服务器可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、电源503、输入模块504以及通信模块505等部件。本领域技术人员可以理解,图5中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器501是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。在一些实施例中,处理器501可包括一个或多个处理核心;在一些实施例中,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。

存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。

服务器还包括给各个部件供电的电源503,在一些实施例中,电源503可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源503还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该服务器还可包括输入模块504,该输入模块504可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

该服务器还可包括通信模块505,在一些实施例中通信模块505可以包括无线模块,服务器可以通过该通信模块505的无线模块进行短距离无线传输,从而为用户提供了无线的宽带互联网访问。比如,该通信模块505可以用于帮助用户收发电子邮件、浏览网页和访问流式媒体等。

尽管未示出,服务器还可以包括显示单元等,在此不再赘述。

在一些实施例中,服务器中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:

从服务器获取目标业务的惩罚时段;

当当前时刻在惩罚时段内时,告知目标业务拒绝接收业务请求;

当当前时刻在惩罚时段外时,告知目标业务接收业务请求;

当目标业务接收到业务请求时,确定目标业务的请求积累量;

将目标业务的请求积累量发送给服务器,以便服务器根据目标业务的请求积累量重新计算目标业务的惩罚时间。

在一些实施例中,服务器中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:

获取用户配置频率,以及确定上一时刻的令牌数量;

基于用户配置频率和上一时刻的令牌数量确定当前时刻的令牌数量;

当从客户端获取到目标业务的请求积累量时,根据目标业务的请求积累量和当前时刻的令牌数量计算惩罚时间;

将惩罚时间发送给客户端,以便客户端根据惩罚时间处理目标业务的业务请求。以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

由上可知,本方案可以提升业务处理频率的控制效率。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种业务处理频率的控制方法中的步骤。例如,在一些实施例中,该指令可以执行如下步骤:

从服务器获取目标业务的惩罚时段;

当当前时刻在惩罚时段内时,告知目标业务拒绝接收业务请求;

当当前时刻在惩罚时段外时,告知目标业务接收业务请求;

当目标业务接收到业务请求时,确定目标业务的请求积累量;

将目标业务的请求积累量发送给服务器,以便服务器根据目标业务的请求积累量重新计算目标业务的惩罚时间。

在一些实施例中,该指令可以执行如下步骤:

获取用户配置频率,以及确定上一时刻的令牌数量;

基于用户配置频率和上一时刻的令牌数量确定当前时刻的令牌数量;

当从客户端获取到目标业务的请求积累量时,根据目标业务的请求积累量和当前时刻的令牌数量计算惩罚时间;

将惩罚时间发送给客户端,以便客户端根据惩罚时间处理目标业务的业务请求。

其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中提供的业务处理频率的控制方面或者分布式频控云系统方面的各种可选实现方式中提供的方法。

由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种业务处理频率的控制方法中的步骤,因此,可以实现本发明实施例所提供的任一种业务处理频率的控制方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本发明实施例所提供的一种业务处理频率的控制方法、装置、服务器和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1