1.本技术属于大数据技术领域,尤其涉及一种流量控制方法、装置、设备及计算机存储介质。
背景技术:[0002]“流控”是流量控制的简称,用于对具体的应用程序接口(application program interface,api)进行同时访问的请求数量控制。
[0003]
现有技术中,主要通过在应用启动时,将流控参数加载到内存使用的方式,进行流量控制,或者在接收到业务请求后,确定业务请求指向的业务方法,针对不同业务方法需求进行流量控制决策。然而,将流控参数加载到内存使用的方式虽然可以减少时间消耗,但是由于内存是单台机器实现,无法实现集群内流量精准控制,针对不同业务方法需求进行流量控制决策的方式仅能针对同类型业务的业务请求进行流量控制,无法实现针对不同的请求方进行流量控制,因此,以上方式都无法实现对不同的请求方的集群内流量精准控制的问题。
技术实现要素:[0004]
本技术实施例提供一种流量控制方法、装置、设备及计算机存储介质,能够解决现有技术中存在无法实现对不同的请求方的集群内流量精准控制的问题。
[0005]
第一方面,本技术实施例提供一种流量控制方法,该方法包括:
[0006]
接收目标交易请求,所述目标交易请求包括请求设备的标识;
[0007]
从数据库获取所述请求设备交易请求的数量,以及所述请求设备允许交易请求的总数量,所述请求设备交易请求的数量和所述请求设备允许交易请求的总数量是从流控配置模块预先加载到所述数据库的;
[0008]
在交易请求的数量小于所述总数量的情况下,记录并更新所述请求设备当前的交易请求数量为所述交易请求的数量加一,并从所述数据库中获取服务器初始值;
[0009]
根据所述服务器初始值确定为所述目标交易请求提供服务的所述服务器标识,向所述服务器标识对应的服务器发送所述目标交易请求;
[0010]
在交易请求的数量大于等于所述总数量的情况下,向所述请求设备发送超出流量控制信息。
[0011]
在一种实施方式中,所述数据库包括集群数据库;所述根据所述服务器初始值确定为所述目标交易请求提供服务的所述服务器标识,包括:
[0012]
确定所述服务器初始值与预设数值的和,与所述集群数据库中的服务器总数相除的余数为所述服务器标识。
[0013]
在一种实施方式中,所述方法还包括:
[0014]
将所述余数作为更新后的服务器初始值存储至所述集群数据库。
[0015]
在一种实施方式中,所述数据库包括流控配置信息;在所述向所述服务器标识对
应的服务器发送所述目标交易请求之后,所述方法还包括:查询所述请求设备的流控配置信息中当前交易请求的数量;
[0016]
将所述请求设备的当前交易请求的数量减一,得到更新后的当前交易请求的数量;
[0017]
将所述更新后的当前交易请求的数量存储至所述流控配置信息。
[0018]
第二方面,本技术实施例提供了一种流量控制装置,该流量控制装置包括:
[0019]
接收模块,用于接收目标交易请求,所述目标交易请求包括请求设备的标识;
[0020]
获取模块,用于从数据库获取所述请求设备交易请求的数量,以及所述请求设备允许交易请求的总数量,所述请求设备交易请求的数量和所述请求设备允许交易请求的总数量是从流控配置模块预先加载到所述数据库的;
[0021]
更新模块,用于在交易请求的数量小于所述总数量的情况下,记录并更新所述请求设备当前的交易请求数量为所述交易请求的数量加一,并从所述数据库中获取服务器初始值;
[0022]
发送模块,用于根据所述服务器初始值确定为所述目标交易请求提供服务的所述服务器标识,向所述服务器标识对应的服务器发送所述目标交易请求;
[0023]
所述发送模块,还用于在交易请求的数量大于等于所述总数量的情况下,向所述请求设备发送超出流量控制信息。
[0024]
在一种实施方式中,所述数据库包括集群数据库;所述流量控制装置还包括确定模块;
[0025]
所述确定模块,用于确定所述服务器初始值与预设数值的和,与所述数据库中的服务器总数相除的余数为所述服务器标识。
[0026]
在一种实施方式中,该流量控制装置还包括存储模块;
[0027]
所述存储模块,用于将所述余数作为更新后的服务器初始值存储至所述集群数据库。
[0028]
在一种实施方式中,所述数据库包括流控配置信息;该流量控制装置还包括查询模块;
[0029]
所述查询模块,用于在所述向所述服务器标识对应的服务器发送所述目标交易请求之后,查询所述请求设备的流控配置信息中当前交易请求的数量;
[0030]
所述更新模块,还用于将所述请求设备的当前交易请求的数量减一,得到更新后的当前交易请求的数量;
[0031]
所述存储模块,还用于将所述更新后的当前交易请求的数量存储至所述流控配置信息。
[0032]
第三方面,本技术实施例提供了一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;
[0033]
处理器执行计算机程序指令时实现如第一方面的任一项实施例中所述的流量控制方法。
[0034]
第四方面,本技术实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面的任一项实施例中所述的流量控制方法。
[0035]
第五方面,本技术实施例提供了一种计算机程序产品,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如第一方面的任一项实施例中所述的流量控制方法。
[0036]
本技术实施例的流量控制方法、装置、设备及计算机存储介质,通过接收包括请求设备的标识的目标交易请求,从数据库获取请求设备交易请求的数量,以及请求设备允许交易请求的总数量,请求设备交易请求的数量和请求设备允许交易请求的总数量是从流控配置模块预先加载到数据库的,提高了后续查询交易请求数量的效率。接着,在交易请求的数量小于总数量的情况下,记录并更新请求设备当前的交易请求数量为交易请求的数量加一,并从数据库中获取服务器初始值,根据服务器初始值确定为目标交易请求提供服务的服务器标识,向服务器标识对应的服务器发送目标交易请求。在交易请求的数量大于等于总数量的情况下,向请求设备发送超出流量控制信息。本技术实施例中通过统一逻辑控制,将请求设备的流量控制信息配置到数据库中,实现了集群共享,可以针对不同的请求设备进行集群内流量控制,当每笔交易请求到达时,对数据库中的流量控制数据进行更新,实现流量控制数据的精准控制。
附图说明
[0037]
为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]
图1是本技术一个实施例提供的流量控制架构的示意图;
[0039]
图2是本技术一个实施例提供的流量控制方法的流程示意图;
[0040]
图3是本技术一个实施例提供的流量控制装置的结构示意图;
[0041]
图4是本技术一个实施例提供的电子设备的结构示意图。
具体实施方式
[0042]
下面将详细描述本技术的各个方面的特征和示例性实施例,为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本技术进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本技术,而不是限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。
[0043]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0044]
本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
[0045]
如背景技术所述,现有技术中存在无法实现对不同的请求方的集群内流量精准控制的问题。为了解决上述问题,本技术实施例提供了一种流量控制方法、装置、设备及计算机存储介质,该流量控制方法可以通过接收包括请求设备的标识的目标交易请求,从数据库获取请求设备交易请求的数量,以及请求设备允许交易请求的总数量,请求设备交易请求的数量和请求设备允许交易请求的总数量是从流控配置模块预先加载到数据库的,提高了后续查询交易请求数量的效率。接着,在交易请求的数量小于总数量的情况下,记录并更新请求设备当前的交易请求数量为交易请求的数量加一,并从数据库中获取服务器初始值,根据服务器初始值确定为目标交易请求提供服务的服务器标识,向服务器标识对应的服务器发送目标交易请求。在交易请求的数量大于等于总数量的情况下,向请求设备发送超出流量控制信息。本技术实施例中通过统一逻辑控制,将请求设备的流量控制信息配置到数据库中,实现了集群共享,可以针对不同的请求设备进行集群内流量控制,当每笔交易请求到达时,对数据库中的流量控制数据进行更新,实现流量控制数据的精准控制。
[0046]
基于此,上述本技术实施例提供的流量控制方法可以基于流量控制架构实现,下面结合附图1对本技术实施例提供的流量控制架构进行详细地说明。
[0047]
如图1所示,本技术实施例提出的流量控制架构可以包括服务器集群10、客户端11和流控管理系统12。
[0048]
客户端11向流控管理系统12发送交易请求。流控管理系统12接收客户端11发送的交易请求,并根据交易请求中客户端11的标识信息,获取客户端11的流控配置信息,包括交易请求的数量以及客户端11允许交易请求的总数量,接着,在判断交易请求的数量小于总数量的情况下,记录并更新客户端11当前的交易请求数量为交易请求的数量加一。进而流控管理系统12获取服务器初始值,根据服务器初始值确定为目标交易请求提供服务的服务器标识,向服务器集群10中服务器标识对应的服务器发送该交易请求。在交易请求的数量大于等于总数量的情况下,向客户端11发送超出流量控制信息。这样,可以针对客户端11进行集群内流量控制,并且当交易请求到达时,对流控管理系统12中的流控配置信息进行更新,实现了流量控制数据的精准控制。
[0049]
在一些实施例中,如图1所示,服务器集群10可以包括至少一个服务器,例如服务器1、服务器2、
……
、服务器n,n为大于1的整数。服务器集群10可以是由多台提供相同服务的服务器构成的集群,对外提供应用程序接口(application program interface,api)。
[0050]
客户端11可以包括至少一个请求设备,例如请求设备1、请求设备2、
……
、请求设备m,m为大于1的整数。
[0051]
流控管理系统12还包括服务器管理模块、流控配置模块、数据库访问模块和数据库。
[0052]
服务器管理模块用于接收客户端11中至少一个请求设备发送的交易请求,并访问数据库访问模块查询数据库中集群数据库信息、请求设备交易请求的数量以及请求设备允许交易请求的总数量,在判断交易请求的数量小于总数量的情况下,记录并更新请求设备当前的交易请求数量为交易请求的数量加一,将更新后的当前的交易请求数量存储至流控配置模块。接着,调用服务器集群10中的服务器,将交易请求转发至对应的服务器。其中,服务器可以是部署了某种服务的机器,对外提供api或者接口供调用。
[0053]
流控配置模块用于在应用启动时根据配置初始化流控参数,流控参数即流控配置
信息,用于对客户端11中每个请求设备的api或者接口进行同时访问的请求数量控制。流控配置模块还用于对每个请求设备的流控配置信息进行更新,实现集群共享。
[0054]
数据库访问模块用于从流控配置模块中将流控配置信息预先加载到数据库中,从服务器集群10中将集群数据库信息预先加载到数据库中,以备后续快速查询使用,其中,数据库例如可以是内存数据库,利用内存数据库写入、读取数据快的特点,进行流控数据存储。
[0055]
因此,在本技术实施例中,流控管理系统基于服务器管理模块接收请求设备发送的目标交易请求,根据请求设备的标识,基于数据库访问模块从数据库获取请求设备的流控配置信息,包括交易请求的数量以及请求设备允许交易请求的总数量,流控配置信息是从流控配置模块预先加载到数据库的,提高了后续查询交易请求数量的效率。接着,在判断交易请求的数量小于总数量的情况下,记录并更新请求设备当前的交易请求数量为交易请求的数量加一,将更新后的当前的交易请求数量存储至流控配置模块。接着,从数据库中获取服务器初始值,根据服务器初始值确定为目标交易请求提供服务的服务器标识,向服务器集群中服务器标识对应的服务器发送目标交易请求。在交易请求的数量大于等于总数量的情况下,向请求设备发送超出流量控制信息。这样,通过统一逻辑控制,将请求设备的流量控制信息配置到数据库中,实现了集群共享,可以针对不同的请求设备进行集群内流量控制,当每笔交易请求到达时,对数据库中的流量控制数据进行更新,实现了流量控制数据的精准控制。
[0056]
另外,本技术实施例提出的流量控制架构可以应用于流控参数的数值小于服务器数量的低流控场景,可以实现流控的精准控制。
[0057]
根据上述流量控制架构,下面结合图2对本技术实施例提供的流量控制方法进行详细说明。
[0058]
图2示出了本技术一个实施例提供的流量控制方法的流程示意图,该流量控制方法可以应用于上述流量控制架构中的流控管理模块。
[0059]
如图2所示,该流量控制方法具体可以包括如下步骤:
[0060]
s110,接收目标交易请求,目标交易请求可以包括请求设备的标识。
[0061]
目标交易请求可以是任意请求设备发送的交易请求,可以包括请求设备的标识,其中,请求设备的标识可以是能够唯一标识请求设备的字符,可以包括数字、字母、符号等。
[0062]
在一种实施方式中,获取目标交易请求中的流控字段值,得到请求设备的标识。
[0063]
s120,从数据库获取请求设备交易请求的数量,以及请求设备允许交易请求的总数量,请求设备交易请求的数量和请求设备允许交易请求的总数量可以是从流控配置模块预先加载到数据库的。
[0064]
请求设备交易请求的数量和请求设备允许交易请求的总数量可以是数据库基于流控配置模块预先配置的数量,其中,数据库可以是内存数据库。
[0065]
作为一个示例,在服务启动时,首先从流控配置模块在内存数据库中预先配置请求设备1的配置信息,包括允许交易请求的总数量,即最多请求数,以及请求设备1当前交易请求的数量,即当前请求数,以备后续快速查询使用。当针对请求设备1流量控制为3时,根据请求设备1的需求初始化后的数据可以为:请求设备1:{当前请求数:0,最多请求数:3}。接着,从内存数据库中获取请求设备1交易请求的数量0,以及请求设备1允许交易请求的总
数量3。
[0066]
s130,在交易请求的数量小于总数量的情况下,记录并更新请求设备当前的交易请求数量为交易请求的数量加一,并从数据库中获取服务器初始值。
[0067]
作为一个示例,在数据库中配置好请求设备1目前交易请求的数量为0,以及请求设备1允许交易请求的总数量为3之后,在接收到交易请求a时,查询数据库中的当前配置信息,判断该交易请求a是否在流控范围内,即允许交易请求的总数量3-目前交易请求的数量0=3》0,交易请求的数量小于总数量,则该交易请求a判断通过,该交易请求a在流控范围内。接着,获取在数据库中预先配置的服务器初始值,例如可以是-1,以用于后续确定为该交易请求a提供服务的服务器。另外,将目前交易请求的数量加1并回写数据库,作为更新后的请求设备1当前的交易请求数量。
[0068]
s140,根据服务器初始值确定为目标交易请求提供服务的服务器标识,向服务器标识对应的服务器发送目标交易请求。
[0069]
服务器初始值可以是服务器下标值,用于选择调用服务器,例如,当服务器初始值为-1,数据库中存储服务器下标:-1。
[0070]
作为一个示例,在服务启动时,在内存数据库中预先配置服务器信息数组,例如集群包括12台服务器,根据需求初始化后的数据可以为:服务器信息数组=[{服务器1},{服务器2},{
…
12}],服务器下标:-1。接着,接收到交易请求a,且判断该交易请求a在流控范围内时,从集群数据库中获取服务器下标值-1,并根据服务器下标值-1确定为交易请求a提供服务的服务器标识,向服务器标识对应的服务器发送该交易请求a。
[0071]
s150,在交易请求的数量大于等于总数量的情况下,向请求设备发送超出流量控制信息。
[0072]
超出流量控制信息可以是用于提示请求设备的交易请求超出流量控制的反馈信息。
[0073]
作为一个示例,当针对请求设备1流量控制为3时,在接收到请求设备1的交易请求b时,查询数据库中的当前配置信息,判断该交易请求b是否在流控范围内,即请求设备1的允许交易请求的总数量3-目前交易请求的数量3=0,交易请求的数量等于总数量,则该交易请求b不通过,没有在流控范围内,向请求设备1发送超出流量控制的信息。
[0074]
本技术实施例中,通过接收包括请求设备的标识的目标交易请求,从数据库获取请求设备交易请求的数量,以及请求设备允许交易请求的总数量,请求设备交易请求的数量和请求设备允许交易请求的总数量是从流控配置模块预先加载到数据库的,提高了后续查询交易请求数量的效率。接着,在交易请求的数量小于总数量的情况下,记录并更新请求设备当前的交易请求数量为交易请求的数量加一,并从数据库中获取服务器初始值,根据服务器初始值确定为目标交易请求提供服务的服务器标识,向服务器标识对应的服务器发送目标交易请求。在交易请求的数量大于等于总数量的情况下,向请求设备发送超出流量控制信息。本技术实施例中通过统一逻辑控制,将请求设备的流量控制信息配置到数据库中,实现了集群共享,可以针对不同的请求设备进行集群内流量控制,当每笔交易请求到达时,对数据库中的流量控制数据进行更新,实现流量控制数据的精准控制。
[0075]
本技术实施例中,通过从集群数据库中获取服务器初始值,并根据服务器初始值确定为目标交易请求提供服务的服务器标识,可以精确地选择集群数据库中的服务器进行
调用,实现集群内服务器的精准控制。
[0076]
在一些实施例中,数据库可以包括集群数据库;s140:根据服务器初始值确定为目标交易请求提供服务的服务器标识,具体可以包括:
[0077]
确定服务器初始值与预设数值的和,与数据库中的服务器总数相除的余数为服务器标识。
[0078]
集群数据库可以用于存储服务器集群,集群数据库中可以存储服务器标识和服务器初始值,,预设数值可以是用户根据需要任意设置的数值,例如可以是0或者1,在此不作限定。
[0079]
作为一个示例,集群包括12台服务器,在服务启动时,在集群数据库中初始化后的数据可以为:服务器信息数组=[{服务器1},{服务器2},{
…
12}],服务器下标:-1。在接收到交易请求a,且判断该交易请求a在流控范围内时,从集群数据库中获取服务器下标的值为-1,根据服务器下标的值选择服务器信息数组中的一台服务器提供服务,利用服务器下标=(服务器下标+1)%服务器总数,计算得到余数为0,即计算后的服务器下标为0,调用下标值为0的服务器,为该交易请求a提供服务。
[0080]
本技术实施例中,通过计算服务器初始值与预设数值的和,与数据库中的服务器总数相除的余数,并将该余数为服务器标识,可以使集群内服务器的选择更精准,进一步提高集群内服务器调用的精确性。
[0081]
在一些实施例中,该流量控制方法还可以包括:
[0082]
将余数作为更新后的服务器初始值存储至集群数据库。
[0083]
作为一个示例,在接收到交易请求a,且利用服务器下标=(服务器下标+1)%服务器总数,计算得到余数为0之后,将计算后的下标返回集群数据库的服务器信息数组,将集群数据库中服务器下标更新为0,即服务器信息数组=[{服务器1},{服务器2},{
…
12}],服务器下标:0。
[0084]
本技术实施例中,通过将余数作为更新后的服务器初始值存储至集群数据库,便于后续对接收到的交易请求调用服务器。
[0085]
在一些实施例中,数据库可以包括流控配置信息;在s140:向服务器标识对应的服务器发送目标交易请求之后,该流量控制方法还可以包括:
[0086]
查询请求设备的流控配置信息中当前交易请求的数量;
[0087]
将请求设备的当前交易请求的数量减一,得到更新后的当前交易请求的数量;
[0088]
将更新后的当前交易请求的数量存储至流控配置信息。
[0089]
流控配置信息可以是预先配置在数据库中的信息,例如可以包括请求设备当前交易请求的数量,以及请求设备允许交易请求的总数量。
[0090]
作为一个示例,在将请求设备1的交易请求a转发至对应服务器之后,即交易请求结束后,查询请求设备1的流控配置信息中的当前请求的数量,将当前请求的数量减1并回写数据库,作为更新后的当前交易请求的数量,此时单次交易请求处理结束。
[0091]
本技术实施例中,通过查询请求设备的流控配置信息中当前交易请求的数量,将请求设备的当前交易请求的数量减一,得到更新后的当前交易请求的数量,并将更新后的当前交易请求的数量存储至流控配置信息,便于后续判断接收到的请求设备的交易请求是否在流控范围内,对数据库中的流控配置信息进行更新,可以实现集群共享和精准控制。
[0092]
图3是根据一示例性实施例示出的一种流量控制装置300的结构示意图。
[0093]
如图3所示,该流量控制装置300可以包括:
[0094]
接收模块301,用于接收目标交易请求,目标交易请求包括请求设备的标识;
[0095]
获取模块302,用于从数据库获取请求设备交易请求的数量,以及请求设备允许交易请求的总数量,请求设备交易请求的数量和请求设备允许交易请求的总数量是从流控配置模块预先加载到数据库的;
[0096]
更新模块303,用于在交易请求的数量小于总数量的情况下,记录并更新请求设备当前的交易请求数量为交易请求的数量加一,并从数据库中获取服务器初始值;
[0097]
发送模块304,用于根据服务器初始值确定为目标交易请求提供服务的服务器标识,向服务器标识对应的服务器发送目标交易请求;
[0098]
发送模块304,还用于在交易请求的数量大于等于总数量的情况下,向请求设备发送超出流量控制信息。
[0099]
在一种实施方式中,数据库包括集群数据库;流量控制装置300还可以包括确定模块;
[0100]
确定模块,用于确定服务器初始值与预设数值的和,与数据库中的服务器总数相除的余数为服务器标识。
[0101]
在一种实施方式中,该流量控制装置300还可以包括存储模块;
[0102]
所述存储模块,用于将所述余数作为更新后的服务器初始值存储至所述集群数据库。
[0103]
在一种实施方式中,数据库包括流控配置信息;流量控制装置300还可以包括查询模块;
[0104]
查询模块,用于在向服务器标识对应的服务器发送目标交易请求之后,查询请求设备的流控配置信息中当前交易请求的数量;
[0105]
更新模块303,还用于将请求设备的当前交易请求的数量减一,得到更新后的当前交易请求的数量;
[0106]
存储模块,还用于将更新后的当前交易请求的数量存储至流控配置信息。
[0107]
由此,通过接收包括请求设备的标识的目标交易请求,从数据库获取请求设备交易请求的数量,以及请求设备允许交易请求的总数量,请求设备交易请求的数量和请求设备允许交易请求的总数量是从流控配置模块预先加载到数据库的,提高了后续查询交易请求数量的效率。接着,在交易请求的数量小于总数量的情况下,记录并更新请求设备当前的交易请求数量为交易请求的数量加一,并从数据库中获取服务器初始值,根据服务器初始值确定为目标交易请求提供服务的服务器标识,向服务器标识对应的服务器发送目标交易请求。在交易请求的数量大于等于总数量的情况下,向请求设备发送超出流量控制信息。本技术实施例中通过统一逻辑控制,将请求设备的流量控制信息配置到数据库中,实现了集群共享,可以针对不同的请求设备进行集群内流量控制,当每笔交易请求到达时,对数据库中的流量控制数据进行更新,实现流量控制数据的精准控制。
[0108]
图4示出了本技术实施例提供的电子的硬件结构示意图。
[0109]
在电子设备可以包括处理器401以及存储有计算机程序指令的存储器402。
[0110]
具体地,上述处理器401可以包括中央处理器(cpu),或者特定集成电路
(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
[0111]
存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在综合网关容灾设备的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。
[0112]
存储器可包括只读存储器(rom),随机存取存储器(ram),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
[0113]
处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种流量控制方法。
[0114]
在一个示例中,电子设备还可包括通信接口403和总线410。其中,如图4所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
[0115]
通信接口403,主要用于实现本技术实施例中各模块、装置、单元和/或设备之间的通信。
[0116]
总线410包括硬件、软件或两者,将流量控制设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
[0117]
该电子设备可以基于目标交易请求中请求设备的标识、数据库中请求设备交易请求的数量,以及请求设备允许交易请求的总数量执行本技术实施例中的流量控制方法,从而实现结合图2描述的流量控制方法。
[0118]
另外,结合上述实施例中的流量控制方法,本技术实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种流量控制方法。
[0119]
需要明确的是,本技术并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本技术的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本技术的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
[0120]
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插
件、功能卡等等。当以软件方式实现时,本技术的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0121]
还需要说明的是,本技术中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本技术不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0122]
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
[0123]
以上所述,仅为本技术的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。
技术特征:1.一种流量控制方法,其特征在于,包括:接收目标交易请求,所述目标交易请求包括请求设备的标识;从数据库获取所述请求设备交易请求的数量,以及所述请求设备允许交易请求的总数量,所述请求设备交易请求的数量和所述请求设备允许交易请求的总数量是从流控配置模块预先加载到所述数据库的;在交易请求的数量小于所述总数量的情况下,记录并更新所述请求设备当前的交易请求数量为所述交易请求的数量加一,并从所述数据库中获取服务器初始值;根据所述服务器初始值确定为所述目标交易请求提供服务的所述服务器标识,向所述服务器标识对应的服务器发送所述目标交易请求;在交易请求的数量大于等于所述总数量的情况下,向所述请求设备发送超出流量控制信息。2.根据权利要求1所述的方法,其特征在于,所述数据库包括集群数据库;所述根据所述服务器初始值确定为所述目标交易请求提供服务的所述服务器标识,包括:确定所述服务器初始值与预设数值的和,与所述集群数据库中的服务器总数相除的余数为所述服务器标识。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:将所述余数作为更新后的服务器初始值存储至所述集群数据库。4.根据权利要求1所述的方法,其特征在于,所述数据库包括流控配置信息;在所述向所述服务器标识对应的服务器发送所述目标交易请求之后,所述方法还包括:查询所述请求设备的流控配置信息中当前交易请求的数量;将所述请求设备的当前交易请求的数量减一,得到更新后的当前交易请求的数量;将所述更新后的当前交易请求的数量存储至所述流控配置信息。5.一种流量控制装置,其特征在于,所述装置包括:接收模块,用于接收目标交易请求,所述目标交易请求包括请求设备的标识;获取模块,用于从数据库获取所述请求设备交易请求的数量,以及所述请求设备允许交易请求的总数量,所述请求设备交易请求的数量和所述请求设备允许交易请求的总数量是从流控配置模块预先加载到所述数据库的;更新模块,用于在交易请求的数量小于所述总数量的情况下,记录并更新所述请求设备当前的交易请求数量为所述交易请求的数量加一,并从所述数据库中获取服务器初始值;发送模块,用于根据所述服务器初始值确定为所述目标交易请求提供服务的所述服务器标识,向所述服务器标识对应的服务器发送所述目标交易请求;所述发送模块,还用于在交易请求的数量大于等于所述总数量的情况下,向所述请求设备发送超出流量控制信息。6.根据权利要求5所述的装置,其特征在于,所述数据库包括集群数据库;所述流量控制装置还包括确定模块;所述确定模块,用于确定所述服务器初始值与预设数值的和,与所述集群数据库中的服务器总数相除的余数为所述服务器标识。7.根据权利要求6所述的装置,其特征在于,所述装置还包括存储模块;
所述存储模块,用于将所述余数作为更新后的服务器初始值存储至所述集群数据库。8.一种电子设备,其特征在于,所述设备包括:处理器,以及存储有计算机程序指令的存储器;所述处理器读取并执行所述计算机程序指令,以实现如权利要求1-4任意一项所述的流量控制方法。9.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-4任意一项所述的流量控制方法。10.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1-4任意一项所述的流量控制方法。
技术总结本申请实施例提供了一种流量控制方法、装置、设备及计算机存储介质,该流量控制方法包括接收目标交易请求,目标交易请求包括请求设备的标识;从数据库获取请求设备交易请求的数量,以及请求设备允许交易请求的总数量,交易请求的数量和总数量是从流控配置模块预先加载到数据库的;当交易请求的数量小于总数量时,记录并更新请求设备当前的交易请求数量为交易请求的数量加一,并从数据库中获取服务器初始值;根据服务器初始值确定为目标交易请求提供服务的服务器标识,向服务器标识对应的服务器发送目标交易请求;在交易请求的数量大于等于总数量的情况下,向请求设备发送超出流量控制信息。根据本申请实施例,可以实现流量控制数据的精准控制。制数据的精准控制。制数据的精准控制。
技术研发人员:陈永胜 许国庆 王勇
受保护的技术使用者:中国建设银行股份有限公司
技术研发日:2022.03.31
技术公布日:2022/7/5