CN110932994B - 一种数据流量处理方法、装置、电子设备及存储介质 - Google Patents
一种数据流量处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110932994B CN110932994B CN201911407768.XA CN201911407768A CN110932994B CN 110932994 B CN110932994 B CN 110932994B CN 201911407768 A CN201911407768 A CN 201911407768A CN 110932994 B CN110932994 B CN 110932994B
- Authority
- CN
- China
- Prior art keywords
- data request
- token bucket
- data
- request
- service
- 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
- H04L47/215—Flow control; Congestion control using token-bucket
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及流量处理技术领域,提供一种数据流量处理方法、装置、电子设备及存储介质,所述方法包括步骤:当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将所述数据请求转发到资源服务器中,并检测资源服务器中是否存在对应于所述数据请求的可用资源;若存在对应于所述数据请求的可用资源,则根据所述可用资源生成新的令牌桶,所述新的令牌桶用于生产与所述数据请求对应的令牌;当检测到所述业务代理层获取到所述新的令牌桶中生产出与所述数据请求对应的令牌时,将所述数据请求转发到所述业务代理层,以响应与所述数据请求对应的服务项目。本发明实施例能够提高对数据流量的控制效率,对资源进行合理利用。
Description
技术领域
本发明涉及流量处理技术领域,尤其涉及一种数据流量处理方法、装置、电子设备及存储介质。
背景技术
现有的数据通信设备中,在分组交换以及多用户业务并存的复杂通信环境下,数据传输的拥塞是不可避免的。目前,对于拥塞情况的管理一般采用限流系统进行流量控制,通过相应的队列调度方法将对应队列的流量分发出去。但是,通常的限流系统在检测到资源服务器中没有可用资源时,便需要将数据请求加载到等待队列中,等待轮询。目前在微服务发展下,高可用的服务需求日益严峻,上述的限流方法在大数据量的情况下,服务处理速度慢,能承受的并发将会受到限制。可见,现有技术中对于数据流量的控制存在控制效率差的问题。
发明内容
本发明实施例提供一种数据流量处理方法,能够提高对数据流量的控制效率,对资源进行合理利用。
第一方面,本发明实施例提供一种数据流量处理方法,包括以下步骤:
当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将所述数据请求转发到资源服务器中,并检测资源服务器中是否存在对应于所述数据请求的可用资源;
若存在对应于所述数据请求的可用资源,则根据所述可用资源生成新的令牌桶,所述新的令牌桶用于生产与所述数据请求对应的令牌;
当检测到所述业务代理层获取到所述新的令牌桶中生产出与所述数据请求对应的令牌时,将所述数据请求转发到所述业务代理层,以响应与所述数据请求对应的服务项目。
第二方面,本发明实施例还提供一种数据流量处理装置,包括:
转发模块,用于当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将所述数据请求转发到资源服务器中,并检测资源服务器中是否存在对应于所述数据请求的可用资源;
生成模块,用于若存在对应于所述数据请求的可用资源,则根据所述可用资源生成新的令牌桶,所述新的令牌桶用于生产与所述数据请求对应的令牌;
响应模块,用于当检测到所述业务代理层获取到所述新的令牌桶中生产出与所述数据请求对应的令牌时,将所述数据请求转发到所述业务代理层,以响应与所述数据请求对应的服务项目。
第三方面,本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例提供的数据流量处理方法中的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的数据流量处理方法中的步骤。
本发明实施例中,当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将所述数据请求转发到资源服务器中,并检测资源服务器中是否存在对应于所述数据请求的可用资源;若存在对应于所述数据请求的可用资源,则根据所述可用资源生成新的令牌桶,所述新的令牌桶用于生产与所述数据请求对应的令牌;当检测到所述业务代理层获取到所述新的令牌桶中生产出与所述数据请求对应的令牌时,将所述数据请求转发到所述业务代理层,以响应与所述数据请求对应的服务项目。本发明实施例由于可以将取不到令牌的数据请求转发到资源服务器,在资源服务器有可用资源时,再根据数据请求重新生成新的令牌桶并生产对应的令牌,用于业务代理层重新相应数据请求对应的服务项目,所以,本发明在令牌桶的基础上,结合了资源服务器的可用资源情况做出相应的响应,这样,可以降低业务代理层被大量数据请求访问时造成崩溃的可能性,提高对资源的合理分配利用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据流量处理方法的流程图;
图2是本发明实施例提供的另一种数据流量处理方法的流程图;
图3是本发明实施例提供的另一种数据流量处理方法的流程图;
图4是本发明实施例提供的另一种数据流量处理方法的流程图;
图5是本发明实施例提供的一种数据流量处理装置的结构示意图;
图6是本发明实施例提供的另一种数据流量处理装置的结构示意图;
图7是本发明实施例提供的另一种数据流量处理装置的结构示意图;
图8是本发明实施例提供的另一种数据流量处理装置的结构示意图;
图9是本发明实施例提供的另一种数据流量处理装置的结构示意图;
图10是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
如图1所示,图1是本发明实施例提供的一种数据流量处理方法的流程图,该数据流量处理方法包括以下步骤:
S101、当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将数据请求转发到资源服务器中,并检测资源服务器中是否存在对应于数据请求的可用资源。
在本实施例中,数据流量处理方法运行于其上的电子设备可以通过有线连接方式或者无线连接方式获取数据请求等。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi(Wireless-Fidelity)连接、蓝牙连接、WiMAX(WorldwideInteroperability for Microwave Access)连接、Zigbee(低功耗局域网协议,又称紫峰协议)连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
其中,业务代理层可以表示对用户从移动终端发出数据请求的进行响应的处理层。检测到业务代理层在令牌桶中取不到与数据请求对应的令牌可以表示业务代理层接收到的请求已经达到了最大限制,无法继续接收新的数据请求。
上述的令牌桶是一种常用的流量控制技术,属于控制速率类型。在令牌桶中可以存放有至少一个或者多个令牌,桶中也可能出现没有令牌,或者令牌桶装满的情况。在令牌桶中可以存放有不同类型的令牌,取到的令牌的类型与将要响应的数据请求的类型为同一种类型。
上述的资源服务器可以是本地服务器,也可以是云服务器等。在资源服务器中配置有资源池,资源池中存放有一定数量的可用资源,可用于业务代理层转发的数据请求进行消耗。在服务器上可以配置默认资源池,在只设置有默认资源池的情况下,业务代理层转发到资源服务器中的数据请求可以消耗默认资源池中对应大小的资源,并且在默认资源池中被数据请求消耗的那部分资源会被标识为忙,标识为忙的资源是不可以再被分配使用的资源。直到这个被标识为忙的资源被使用完之后,资源池会把标识为忙的资源及相关的资源清除掉,这样,这个被清除忙标识的资源就可以再次被下一个数据请求使用。
当然,资源服务器中,还可以配置有多个资源池。可以指定某个资源池或者多个资源池接收数据请求,还可以让多个资源池之间相互关联,当一个资源池中的资源不够用时,可以将数据请求转入到另一个资源池。这样,可以更加合理的对数据请求进行处理,不会让业务代理层响应数据请求时出现灾难性的崩溃。
S102、若存在对应于数据请求的可用资源,则根据可用资源生成新的令牌桶,新的令牌桶用于生产与数据请求对应的令牌。
其中,令牌桶可以有至少一个,当已生产的令牌的数量已经占满令牌桶,且资源服务器中没有可用资源时,后续生产的令牌将会被丢弃。因为产生数据请求的数量已经小于产生令牌的数量,或者没有数据请求产生,导致消耗令牌的速度受限。
上述新的令牌桶是在资源服务器有可用资源的情况下,会通过增加生产令牌的途径去生产,新的令牌桶可以用于生产对应于转发到资源服务器中的数据请求的令牌。
S103、当检测到业务代理层获取到新的令牌桶中生产出与数据请求对应的令牌时,将数据请求转发到业务代理层,以响应与数据请求对应的服务项目。
当资源服务器中存在可用资源时,不仅会生成新的令牌桶用于生产对应的数据请求的令牌,还会将该数据请求转发到业务代理层,在业务代理层会根据该数据请求提取到新的令牌桶中对应的令牌,然后基于该令牌可以响应转发到业务代理层中的数据请求对应的服务项目。
上述的服务项目可以表示对应于数据请求想要业务系统执行的动作,例如:用户在移动终端的输入框中输入某地考试报名入口,然后基于该字符进行数据请求,对应的服务项目则为对应的报名入口的网址或者考生信息输入口。所以,本实施例能够在有大量的用户通过不同的移动终端进行数据请求时,可以减少出现业务繁忙,请求错误,找不到页面等反馈信息出现的可能,有利于降低造成服务崩溃的概率,便于合理的规划资源的利用。
需要说明的是,上述移动终端设备可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
本发明实施例中,当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将数据请求转发到资源服务器中,并检测资源服务器中是否存在对应于数据请求的可用资源;若存在对应于数据请求的可用资源,则根据可用资源生成新的令牌桶,新的令牌桶用于生产与数据请求对应的令牌;将数据请求转发到业务代理层,以使业务代理取得新的令牌桶中的令牌,并根据新的令牌桶中的令牌,响应与数据请求对应的服务项目。本发明实施例由于可以将取不到令牌的数据请求转发到资源服务器,在资源服务器有可用资源时,再根据数据请求重新生成新的令牌桶并生产对应的令牌,用于业务代理层重新相应数据请求对应的服务项目,所以,本发明在令牌桶的基础上,结合了资源服务器的可用资源情况做出相应的响应,这样,可以降低业务代理层被大量数据请求访问时造成崩溃的可能性,提高对资源的合理分配利用。
如图2所示,图2是本发明实施例提供的另一种方法流程图,图2中结合了图1中步骤。在图2中,将步骤S101分为以下步骤:
S201、当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将数据请求转发到资源服务器中。
S202、检测资源服务器中是否存在对应于数据请求的可用资源。
在上述步骤的基础上,如图2所示,在本实施例中,本方法还包括以下步骤:
S203、若资源服务器中不存在对应于数据请求的可用资源,则将数据请求添加到等待队列中。
其中,当业务代理层在令牌桶中取不到与数据请求对应的令牌时,会先判断资源服务器中是否存在可用资源,若资源服务器的资源池中可用资源已用完时,就需要让数据请求先进行排队等待。所以,可以将未被响应的数据请求依次放入等待队列中,该等待队列可以是一个先进先出的队列。将数据请求添加在等待队列中等待处理,可以有序的规划资源的利用,提高服务的稳定性。
S204、轮询等待队列,判断数据请求是否超时。
其中,轮询表示让等待队列中的数据请求呈现周期性的让业务代理层从令牌桶中取令牌。因为令牌桶中会不断的生产令牌,所以,当数据请求的数量减少时,等待队列中的数据请求就可能会获取到令牌桶中的令牌。此外,即便数据请求的数据没有减少,但是业务代理层可以根据请求的时序对数据请求进行接收。
上述的超时表示预先设置有等待时间阈值,可以将等待队列中的数据请求对应的等待时间与等待时间阈值进行比较,判断是否超时,然后基于判断的结果执行对应的动作。
S205、若数据请求超时,则返回超时提示信息,并将数据请求移除等待队列。
其中,超时提示信息指的是当数据请求的等待时间达到等待时间阈值时,生成的信息,超时提示信息用于反馈到用户发出数据请求的移动终端界面提醒用户请求超时,超时提醒信息对应的内容可以是“请求超时,请稍后再试”、“系统繁忙,请刷新再试”等等。
当数据请求超时,同时会将添加在等待队列中且超时的数据请求进行移出。移出等待队列中的数据请求可以让等待队列中腾出新的位置用于添加新的数据请求,避免业务代理层以及资源服务器合理的分配资源并响应对应与数据请求的服务项目。
S206、若数据请求未超时,则在轮询到数据请求时,业务代理层获取新的令牌桶中生产的与数据请求对应的令牌;或
继续添加数据请求到等待队列。
其中,未超时可以表示数据请求发出的等待时间还没有达到等待时间阈值,正在等待业务代理层从新的令牌桶中获取与数据请求对应的令牌。等待队列中的数据请求在轮询时,会出现一次或者多次等待业务代理层接收的情况。若是轮询一次就被业务代理层接收,则表示业务代理层从令牌桶中取到了与数据请求对应的令牌。
若是轮询多次才被业务代理层接收,则表示每次轮询到该数据请求时,业务代理层所接收的数据请求已经达到了最大限度,不能再容纳新的数据请求,也没有办法从令牌桶中取到对应的令牌提供给该数据请求进行消耗,所以,会将该数据请求继续添至等待队列中等待下一次轮询。
具体的,等待队列中的数据请求为先进先出,但是不一定会被业务代理层依次接收,例如:业务代理层在令牌桶中取到一个令牌,则进入业务代理层的第一个数据请求会被响应,当第二个数据请求准备进入业务代理层时,业务代理层中已经没有从令牌桶中取到的令牌了,此时第二个数据请求可能会转发到资源服务器或者重新回到等待队列中进行排队等待。而当第三个数据请求准备进入业务代理层时,业务代理层又取到了令牌,所以便可以让业务系统执行对应于第三个数据请求的服务项目。
在本发明实施例中,当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将数据请求转发到资源服务器中,并判断资源服务器中是否存在对应于数据请求的可用资源,对于不存在可用资源的情况,可以将数据请求添加到等待队列中进行轮询,等待业务代理层接收,并且还会判断在等待队列中的数据请求在等待接收的过程中是否超时,基于超时的情况会反馈超时提示信息给用户发送数据请求的移动终端;基于不超时的情况则继续轮询直至业务代理层取到对应于数据请求的令牌供数据请求进行消耗,让业务系统响应对应于业务请求的服务项目。这样,可以降低业务代理层被大量数据请求访问时造成崩溃的可能性,通过设置等待队列有利于缓和数据请求的冲击,增强对数据请求的合理分配及响应,同时让用户有更好的体验度。
如图3所示,图3是本发明实施提供的另一种数据流量处理方法的流程图。
具体包括以下步骤:
S301、当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将数据请求转发到资源服务器中,并检测资源服务器中是否存在对应于数据请求的可用资源。
S302、若存在对应于数据请求的可用资源,则调用预设的服务启动脚本,以响应对应于数据请求的服务项目,并根据可用资源生成新的令牌桶。
具体的,当业务代理层从令牌桶中取不到对应数据请求的令牌时,将数据请求转发到资源服务器,当资源服务器中资源池存在可用资源时,可以请求预设的服务启动脚本,基于预设的服务启动脚本启动业务系统中对应于数据请求的服务项目,其中请求启动服务项目可以是通过路由进行请求。脚本是一种纯文本保存的程序,可以实现一定的逻辑分支等。
在本发明实施例中,预设的服务启动脚本可以表示直接在一个文件中写下脚本,保存为可执行的文件类型,当数据请求进入需要调用该脚本时,会直接启动服务系统中对应该数据请求对应的服务项目,例如:自动扩容,增加应用至对应的服务系统。
若检测到资源服务器中存在可用资源时,需要生成新的令牌桶,同时还需要启动业务系统对与数据请求对应的服务项目进行响应。在启动业务系统时,需要调用预设的服务启动脚本,在调用的这个过程中,有一定的等待时间,因此,可以在这个等待时间内预先生成新的令牌桶。当新的令牌桶生成,且预设的服务启动脚本调用成功后,再启动业务系统响应服务项目。当然,也可以是先调用预设的服务启动脚本,待业务系统启动成功并响应服务项目后,再生成新的令牌桶。也即是启动服务项目与生产新的令牌桶为异步关系。
S303、当检测到所述业务代理层获取到所述新的令牌桶中生产出与所述数据请求对应的令牌时,将所述数据请求转发到所述业务代理层,以响应与所述数据请求对应的服务项目。
在本发明实施例中,当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将数据请求转发到资源服务器中,并检测资源服务器中是否存在对应于数据请求的可用资源;若存在对应于数据请求的可用资源,调用预设的服务启动脚本,以响应对应于数据请求的服务项目。本发明实施例在检测到资源服务器中存在对应于数据请求的可用资源后,需要根据可用资源生成新的令牌桶,用于生产与数据请求对应的令牌,并且需要启动预设的服务启动脚本,根据预设的服务启动脚本启动业务系统中对应于数据请求的服务项目进行响应,对于将上述生成新的令牌桶以及启动业务系统中对应于数据请求的服务项目进行响应的时间关系设置为异步,可以有效的利用时间,减少耗时,同时避免两个内容同时进行,能够加快生成新的令牌桶的完成速度以及相应服务项目的速度,有利于对资源服务器中的资源进行合理利用。
如图4所示,图4为本发明实施提供的另一种数据流量处理方法的流程图,具体包括以下步骤:
S401、当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将数据请求转发到资源服务器中,并检测资源服务器中是否存在对应于数据请求的可用资源。
S402、数据请求包括服务项目类型,若存在对应于数据请求的可用资源,提取数据请求中对应于服务项目类型的字段。
其中,服务项目类型可以包括数据请求的类型、属性、格式等。服务于数据请求的服务项目同样是包括与数据请求对应的类型、属性、格式等信息的。这样才会得到用户所需要的结果。上述字段可以是数据请求中的某个或者多个数据项,在字段中的数据项其服务项目类型可以是相同类型。数据项可以有不同的长度,所以基于不同长度的数据项得到的字段的长度也可以是不同的。
S403、根据服务项目类型的字段,利用可用资源,生成新的令牌桶,新的令牌桶用于生产与数据请求对应的令牌。
其中,在资源服务器的资源池中存在可用资源时,可以基于服务项目类型的字段生成与该服务项目类型对应的新的令牌桶,新的令牌桶与已有的令牌桶的大小可以不同,也可以相同。新的令牌桶用于生产与转发到资源服务器中的数据请求对应类型的令牌。
S404、将数据请求转发到业务代理层,以使业务代理取得新的令牌桶中的令牌,并根据新的令牌桶中的令牌,响应与数据请求对应的服务项目。
可选的,数据请求还包括请求内容,上述步骤S403具体包括:
提取数据请求中对应于请求内容的内容字段。
其中,请求内容可以表示用户通过移动终端发送的数据请求中所包含的具体内容,内容字段则可以是该具体内容对应的字符串转换后的数据项。当系统判断到资源服务器的资源池中存在可用资源的情况下,并且可用资源的大小满足数据请求的请求内容所占用的大小时,便会提取数据请求中对应于请求内容的内容字段作为生成新的令牌桶的基础数据。
根据可用资源以及内容字段确定新的令牌桶的大小。
其中,可用资源的大小至少可以大于数据请求中内容字段的大小,基于内容字段大小的不同,生成的新的令牌桶的大小也可以是不同的。当然,生成的新的令牌桶的容量大小不止是只有当前的内容字段的大小,因为扩大新的令牌桶的容量,也可以用于生产后续转发到资源服务器中的数据请求且类型相同的令牌。
在令牌桶中生产的令牌与内容字段大小、类型等一致,服务器资源接收到多少个数据请求,就会对应生产多少个对应的令牌。资源服务器会将接收到的数据请求转发到业务代理层,业务代理层拿到新的令牌桶中生产的对应的令牌后,可用于转发到业务代理层的数据请求进行消耗,也即是得到响应,业务系统会启动对应的服务项目。当然,在本发明实施例中,不排除将新生成的令牌桶的大小机械能进行预先固定设置,将每个令牌桶的大小设置成一样大小。
根据服务项目类型的可支撑请求速度确定新的令牌桶的令牌生产速度。
其中,可支撑请求速度可以表示业务代理层接收数据请求进行处理的速度。在新的令牌桶的大小有限的情况下,可以基于该可支撑请求速度以及新的令牌桶的大小去控制新的令牌桶中生产令牌的速度,让生产令牌的速度在控可制且有序中进行。这样,可以避免出现生产令牌速度过快导致大量令牌滞留无法被消耗,造成令牌桶中的令牌溢出被丢弃,使得资源浪费。
同样,根据服务项目类型的可支撑请求速度确定新的令牌桶的令牌生产速度也不会让新的令牌桶生产令牌的速度过慢,造成数据请求被业务代理层接收的速度过慢、时间过久,对业务系统响应对应数据请求的服务项目造成时延,降低用户的体验度。
可选的,方法还包括:
设置预设时间内转入资源服务器的最大数据请求数,资源服务器的最大数据请求数小于或等于相同预设时间内进入业务代理层的最大数据请求数。
具体的,资源服务器中资源池的资源是有限的,并且要保证数据请求得到合理有序的响应,需要在业务代理层设置最大数据请求数之后,在资源服务器与业务代理层之间也需要设置最大数据请求数。上述的最大数据请求数可以表示在指定的预设时间范围内允许的最大数据请求数。
其中,业务代理层可以作为接受数据请求的第一阶层,接收到的数据请求是大于第二阶层资源服务器接收到的数据请求的,因为只有在第一阶层无法接收的情况下,才会将数据请求转发到第二阶层中。所以,需要保证资源服务器的最大数据请求数小于或等于相同预设时间内进入业务代理层的最大数据请求数。这样,有利于保证资源服务器合理有序的接收数据请求,并基于该数据请求生成新的令牌桶,在令牌桶中生产令牌用于该数据请求消耗,业务系统才能启动对应的服务项目。
可选的,方法还包括:
在新的令牌桶中的令牌被消耗完后,删除新的令牌桶以释放可用资源;或者
检测到进入业务代理层的数据请求的速度小于预设请求速度时,删除新的令牌桶以释放可用资源。
其中,新的令牌桶中的令牌被消耗完,可以指后续没有接收到与新的令牌桶中的令牌的类型一致的数据请求,所以该新的令牌桶在当前是不具备任何作用的,因此可以删除新的令牌桶,避免造成资源浪费。
作为一种可能的实施例方式,还会存在原来的令牌桶还具有一定的空间,可以生产与数据请求对应类型的令牌的可能。所以,上述的预设请求速度可以表示业务代理层接收到的数据请求的速度是小于新的令牌桶中生产令牌的速度的。因此,当数据请求的速度变小时,原来的令牌桶中就会有多余的未被消耗的令牌等待消耗,且原来的令牌桶中还保留有一定的空间用于生产令牌,这时,就可以对新的令牌桶进行清除,业务代理层后续接收到的数据请求就可以从原来的令牌桶中取令牌,而不用将数据请求转发到资源服务器中。这样,有利于合理的利用资源,增强业务系统的服务效果,得到进一步优化。
因令牌桶中具有一定的存储空间,所以,是可以抵挡一定的数据请求突发情况的,例如:令牌桶中能存放b个令牌,令牌添加的速率为r,m作为业务代理层最大的传输速率,且M>r,所以,承受最大传输速率的时间则为Tmax=b/(m-r),承受最大传输速率的时间内传输的数据请求为Bmax=Tmax*m。
在本发明实施例中,数据请求包括请求内容,若存在对应于数据请求的可用资源,提取数据请求中对应于请求内容的内容字段,根据请求内容的内容字段结合可用资源,去生成一个容量大小对应的新的令牌桶,新的令牌桶用于生产与数据请求对应的令牌;并将数据请求从资源服务器转发到业务代理层,以使业务代理取得新的令牌桶中的对应的令牌,根据取到的令牌响应与数据请求对应的服务项目。且当新的令牌桶不再作用时,可以将新的令牌桶进行删除。这样,不仅可以根据具体的请求内容中的字段去生成对应类型的新的令牌桶,还可以对新的令牌桶进行删除,避免了新的令牌桶占用存储空间,有利于让资源得到合理利用。
如图5所示,图5是本发明实施例提供的一种数据流量处理装置的结构示意图,数据流量处理装置包括:
转发模块501,用于当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将数据请求转发到资源服务器中,并检测资源服务器中是否存在对应于数据请求的可用资源;
生成模块502,用于若存在对应于数据请求的可用资源,则根据可用资源生成新的令牌桶,新的令牌桶用于生产与数据请求对应的令牌;
响应模块503,用于当检测到业务代理层获取到新的令牌桶中生产出与数据请求对应的令牌时,将数据请求转发到业务代理层,以响应与数据请求对应的服务项目。
可选的,如图6所示,图6是本发明实施例提供的另一种数据流量处理装置的结构示意图,装置还包括:
添加模块504,用于若资源服务器中不存在对应于数据请求的可用资源,则将数据请求添加到等待队列中;
判断模块505,用于轮询等待队列,判断数据请求是否超时;
提示模块506,用于若数据请求超时,则返回超时提示信息,并将数据请求移除等待队列;
生产模块507,用于若数据请求未超时,则在轮询到数据请求时,业务代理层获取新的令牌桶中生产的与数据请求对应的令牌;或
继续添加数据请求到等待队列。
可选的,数据请求包括服务项目类型,如图7所示,图7是本发明实施例提供的另一种数据流量处理装置的结构示意图,生成模块502包括:
提取单元5021,用于提取数据请求中对应于服务项目类型的字段;
生成单元5022,用于根据服务项目类型的字段,利用可用资源,生成新的令牌桶。
可选的,数据请求还包括请求内容,如图8所示,图8是本发明实施例提供的另一种数据流量处理装置的结构示意图,生成单元5022包括:
提取子单元50221,用于提取数据请求中对应于请求内容的内容字段;
第一确定子单元50222,用于根据可用资源以及内容字段确定新的令牌桶的大小;
第二确定子单元50223,用于根据服务项目类型的可支撑请求速度确定新的令牌桶的令牌生产速度。
可选的,转发模块501还用于设置预设时间内转入资源服务器的最大数据请求数,资源服务器的最大数据请求数小于或等于相同预设时间内进入业务代理层的最大数据请求数。
可选的,如图9所示,图9是本发明实施例提供的另一种数据流量处理装置的结构示意图,装置还包括:
删除模块508,用于在新的令牌桶中的令牌被消耗完后,删除新的令牌桶以释放可用资源;或者
检测模块509,用于检测到进入业务代理层的数据请求的速度小于预设请求速度时,删除新的令牌桶以释放可用资源。
可选的,响应模块503还用于调用预设的服务启动脚本,以响应对应于数据请求的服务项目。
在本发明实施例中,该数据流量处理装置能够实现上述实施例提供的数据流量处理方法的各个步骤,并能够达到相同的效果,为避免重复,在此不再赘述。
如图10所示,图10是本发明实施例提供的一种电子设备的结构示意图,该电子设备1000包括:存储器1002、处理器1001、网络接口1003及存储在存储器1002上并可在处理器1001上运行的计算机程序,处理器1001执行计算机程序时实现上述实施例提供的数据流量处理方法中的步骤。
具体的,处理器1001用于执行以下步骤:
当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将数据请求转发到资源服务器中,并检测资源服务器中是否存在对应于数据请求的可用资源;
若存在对应于数据请求的可用资源,则根据可用资源生成新的令牌桶,新的令牌桶用于生产与数据请求对应的令牌;
当检测到业务代理层获取到新的令牌桶中生产出与数据请求对应的令牌时,将数据请求转发到业务代理层,以响应与数据请求对应的服务项目。
可选的,处理器1001还用于执行若不存在对应于数据请求的可用资源,则将数据请求添加到等待队列中;
若资源服务器中不存在对应于数据请求的可用资源,则将数据请求添加到等待队列中;
轮询等待队列,判断数据请求是否超时;
若数据请求超时,则返回超时提示信息,并将数据请求移除等待队列;
若数据请求未超时,则在轮询到数据请求时,业务代理层获取新的令牌桶中生产的与数据请求对应的令牌;或
继续添加数据请求到等待队列。
可选的,数据请求包括服务项目类型,处理器1001执行的根据可用资源生成新的令牌桶,包括:
提取数据请求中对应于服务项目类型的字段;
根据服务项目类型的字段,利用可用资源,生成新的令牌桶。
可选的,数据请求还包括请求内容,处理器1001执行的根据服务项目类型的字段,利用可用资源,生成新的令牌桶,包括:
提取数据请求中对应于请求内容的内容字段;
根据可用资源以及内容字段确定新的令牌桶的大小;
根据服务项目类型的可支撑请求速度确定新的令牌桶的令牌生产速度。
可选的,处理器1001还执行以下步骤:
设置预设时间内转入资源服务器的最大数据请求数,资源服务器的最大数据请求数小于或等于相同预设时间内进入业务代理层的最大数据请求数。
可选的,处理器1001还用于执行在新的令牌桶中的令牌被消耗完后,删除新的令牌桶以释放可用资源;或者
检测到进入业务代理层的数据请求的速度小于预设请求速度时,删除新的令牌桶以释放可用资源。
可选的,在若存在对应于数据请求的可用资源之后,处理器1001还用于执行调用预设的服务启动脚本,以响应对应于数据请求的服务项目。
本发明实施例提供的电子设备1000能够实现数据流量处理方法实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。
需要指出的是,图中仅示出了具有组件的1001-1003,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的电子设备1000是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
电子设备1000可以是桌上型计算机、笔记本及掌上电脑等计算设备。电子设备1000可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
存储器1002至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器1002可以是电子设备1000的内部存储单元,例如该电子设备1000的硬盘或内存。在另一些实施例中,存储器1002也可以是电子设备1000的外部存储设备,例如该电子设备1000上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器1002还可以既包括电子设备1000的内部存储单元也包括其外部存储设备。本实施例中,存储器1002通常用于存储安装于电子设备1000的操作系统和各类应用软件,例如基于阅读内容的推送方法的程序代码等。此外,存储器1002还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器1001在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器1001通常用于控制电子设备1000的总体操作。本实施例中,处理器1001用于运行存储器1002中存储的程序代码或者处理数据,例如运行基于阅读内容的推送方法的程序代码。
网络接口1003可包括无线网络接口或有线网络接口,该网络接口1003通常用于在电子设备1000与其他电子设备之间建立通信连接。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器1001执行时实现上述实施例提供的数据流量处理方法中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器1002(Random AccessMemory,简称RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (8)
1.一种数据流量处理方法,其特征在于,包括以下步骤:
当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将所述数据请求转发到资源服务器中,并检测资源服务器中是否存在对应于所述数据请求的可用资源;
若存在对应于所述数据请求的可用资源,则根据所述可用资源生成新的令牌桶,所述新的令牌桶用于生产与所述数据请求对应的令牌;
当检测到所述业务代理层获取到所述新的令牌桶中生产出与所述数据请求对应的令牌时,将所述数据请求转发到所述业务代理层,以响应与所述数据请求对应的服务项目;
所述数据请求包括服务项目类型,所述根据所述可用资源生成新的令牌桶,包括:
提取所述数据请求中对应于所述服务项目类型的字段;
根据所述服务项目类型的字段,利用所述可用资源,生成新的令牌桶;
所述数据请求还包括请求内容,所述根据所述服务项目类型的字段,利用所述可用资源,生成新的令牌桶,包括:
提取所述数据请求中对应于所述请求内容的内容字段;
根据所述可用资源以及所述内容字段确定所述新的令牌桶的大小;
根据所述服务项目类型的可支撑请求速度确定所述新的令牌桶的令牌生产速度。
2.如权利要求1所述的数据流量处理方法,其特征在于,所述方法还包括:
若所述资源服务器中不存在对应于所述数据请求的可用资源,则将所述数据请求添加到等待队列中;
轮询所述等待队列,判断所述数据请求是否超时;
若所述数据请求超时,则返回超时提示信息,并将所述数据请求移除所述等待队列;
若所述数据请求未超时,则在轮询到所述数据请求时,所述业务代理层获取所述新的令牌桶中生产的与所述数据请求对应的令牌;或
继续添加所述数据请求到所述等待队列。
3.如权利要求1所述的数据流量处理方法,其特征在于,所述方法还包括:
设置预设时间内转入所述资源服务器的最大数据请求数,所述资源服务器的最大数据请求数小于或等于相同预设时间内进入所述业务代理层的最大数据请求数。
4.如权利要求1所述的数据流量处理方法,其特征在于,所述方法还包括:
在所述新的令牌桶中的令牌被消耗完后,删除所述新的令牌桶以释放所述可用资源;或者
检测到进入所述业务代理层的数据请求的速度小于预设请求速度时,删除所述新的令牌桶以释放所述可用资源。
5.如权利要求1所述的数据流量处理方法,其特征在于,在所述若存在对应于所述数据请求的可用资源之后,所述方法还包括:
调用预设的服务启动脚本,以响应对应于所述数据请求的服务项目。
6.一种数据流量处理装置,其特征在于,包括:
转发模块,用于当检测到业务代理层在令牌桶中取不到与数据请求对应的令牌时,将所述数据请求转发到资源服务器中,并检测资源服务器中是否存在对应于所述数据请求的可用资源;
生成模块,用于若存在对应于所述数据请求的可用资源,则根据所述可用资源生成新的令牌桶,所述新的令牌桶用于生产与所述数据请求对应的令牌;
响应模块,用于当检测到所述业务代理层获取到所述新的令牌桶中生产出与所述数据请求对应的令牌时,将所述数据请求转发到所述业务代理层,以响应与所述数据请求对应的服务项目;
所述数据请求包括服务项目类型,所述生成模块,包括:
提取单元,用于提取所述数据请求中对应于所述服务项目类型的字段;
生成单元,用于根据所述服务项目类型的字段,利用所述可用资源,生成新的令牌桶;
所述数据请求还包括请求内容,所述生成单元,包括:
提取子单元,用于提取所述数据请求中对应于所述请求内容的内容字段;
第一确定子单元,用于根据所述可用资源以及所述内容字段确定所述新的令牌桶的大小;
第二确定子单元,用于根据所述服务项目类型的可支撑请求速度确定所述新的令牌桶的令牌生产速度。
7.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的数据流量处理方法中的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的数据流量处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911407768.XA CN110932994B (zh) | 2019-12-31 | 2019-12-31 | 一种数据流量处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911407768.XA CN110932994B (zh) | 2019-12-31 | 2019-12-31 | 一种数据流量处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110932994A CN110932994A (zh) | 2020-03-27 |
CN110932994B true CN110932994B (zh) | 2022-11-22 |
Family
ID=69861572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911407768.XA Active CN110932994B (zh) | 2019-12-31 | 2019-12-31 | 一种数据流量处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110932994B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112600761B (zh) * | 2020-12-11 | 2024-04-09 | 腾讯科技(深圳)有限公司 | 一种资源分配的方法、装置及存储介质 |
CN113282902B (zh) * | 2021-07-26 | 2022-03-08 | 南京蓝鲸人网络科技有限公司 | 一种业务行为安全控制方法、系统与设备 |
CN113810307A (zh) * | 2021-10-11 | 2021-12-17 | 上海微盟企业发展有限公司 | 一种数据流量控制方法、系统及存储介质 |
CN114726798B (zh) * | 2022-02-28 | 2023-07-18 | 福建星云电子股份有限公司 | 一种锂电池测试通道限流方法及系统 |
CN114760327B (zh) * | 2022-03-30 | 2024-03-26 | 阿里巴巴(中国)有限公司 | 云盘资源配置的调整方法及装置 |
CN115378656A (zh) * | 2022-07-26 | 2022-11-22 | 青岛海尔科技有限公司 | 令牌回填方法、存储介质及电子装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104768188A (zh) * | 2015-04-23 | 2015-07-08 | 杭州华三通信技术有限公司 | 一种流量控制方法和装置 |
CN106385377A (zh) * | 2015-07-29 | 2017-02-08 | 腾讯科技(深圳)有限公司 | 一种信息处理方法和系统 |
CN110943934A (zh) * | 2019-11-19 | 2020-03-31 | 上海钧正网络科技有限公司 | 服务请求处理方法、系统、终端及可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120127864A1 (en) * | 2010-11-22 | 2012-05-24 | Avaya Inc. | Performing policing operations in packet time |
-
2019
- 2019-12-31 CN CN201911407768.XA patent/CN110932994B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104768188A (zh) * | 2015-04-23 | 2015-07-08 | 杭州华三通信技术有限公司 | 一种流量控制方法和装置 |
CN106385377A (zh) * | 2015-07-29 | 2017-02-08 | 腾讯科技(深圳)有限公司 | 一种信息处理方法和系统 |
CN110943934A (zh) * | 2019-11-19 | 2020-03-31 | 上海钧正网络科技有限公司 | 服务请求处理方法、系统、终端及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110932994A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110932994B (zh) | 一种数据流量处理方法、装置、电子设备及存储介质 | |
CN105159776B (zh) | 进程处理方法及装置 | |
JP5887025B2 (ja) | 情報送信方法、装置、およびシステム、端末、およびサーバ | |
KR101795333B1 (ko) | 클라우드 프로세스 관리 | |
CN113485822A (zh) | 内存管理方法、系统、客户端、服务器及存储介质 | |
CN107659509B (zh) | 控制应用流量使用方法、装置、可读存储介质及终端设备 | |
CN106412296B (zh) | 终端设备控制方法及装置 | |
CN115237589A (zh) | 一种基于sr-iov的虚拟化方法、装置和设备 | |
CN114385888A (zh) | 一种客户端请求处理方法及相关设备 | |
CN113014608A (zh) | 一种流量分发控制方法、装置、电子设备及存储介质 | |
CN113242301B (zh) | 真实服务器的选定方法、装置、计算机设备及存储介质 | |
CN103686633A (zh) | 一种文件的传输方法及装置 | |
CN112492518A (zh) | 卡片确定方法、装置、电子设备及存储介质 | |
CN109067864B (zh) | 通知消息推送方法、装置及电子设备 | |
CN109413180B (zh) | 一种数据采集方法、系统及设备和存储介质 | |
CN110650546A (zh) | 文件传输的方法、装置、存储介质以及终端 | |
CN110120963B (zh) | 一种数据处理方法、装置、设备和机器可读介质 | |
CN114416885A (zh) | 基于drbd的数据同步方法、装置、计算机设备及存储介质 | |
CN110515743B (zh) | 写事件通知方法及装置 | |
CN114281724A (zh) | 数据传输方法、装置及电子设备 | |
CN114048059A (zh) | 接口的超时时间调整方法、装置、计算机设备及存储介质 | |
CN114546171A (zh) | 数据分发方法、装置、存储介质及电子设备 | |
JP2007221522A (ja) | ポーリング装置及び端末装置及びポーリング方法及びプログラム | |
CN113368494A (zh) | 云设备分配方法、装置、电子设备及存储介质 | |
CN112306797A (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 |