CN109120548A - 一种流量控制方法及装置 - Google Patents
一种流量控制方法及装置 Download PDFInfo
- Publication number
- CN109120548A CN109120548A CN201810709264.2A CN201810709264A CN109120548A CN 109120548 A CN109120548 A CN 109120548A CN 201810709264 A CN201810709264 A CN 201810709264A CN 109120548 A CN109120548 A CN 109120548A
- Authority
- CN
- China
- Prior art keywords
- message
- processed
- resource
- type
- threshold
- 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.)
- Granted
Links
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/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种流量控制方法及装置,该方法包括:获取待处理消息,根据待处理消息需要消耗的资源的类型确定待处理消息的类型,然后根据待处理消息的类型确定待处理消息对应的受理通道。之后再判断受理通道中消息的数量是否小于第一阈值,若是,则将待处理消息放入所述受理通道,否则,丢弃待处理消息。由于预先根据待处理消息偏重消耗的资源分配不同的受理通道,故在偏重消耗某一类资源的待处理消息激增时,控制对应的受理通道对待处理消息进行限流,不会让待处理消息耗尽某一类资源,其他不偏重消耗该类资源的待处理消息仍能使用该类资源,使系统资源被合理利用,避免了系统因为待处理消息激增出现宕机的情况,对系统起到保护的作用。
Description
技术领域
本发明实施例涉及后台系统承载能力安全保护技术领域,尤其涉及一种流量控制方法及装置。
背景技术
随着互联网信息的爆炸式增长,越来越多的互联网服务器都遭遇到高并发网络请求压力。如果对于应用系统的各项资源不加合理的分配管理,有可能在某一个时间段由于同类型请求的激增导致某项资源的使用达到瓶颈,从而影响整个业务系统的正常运行。
发明内容
由于现有技术中由于同类型请求的激增导致系统资源的使用达到瓶颈,从而影响业务系统的正常运行的问题,本发明实施例提供了一种流量控制方法及装置。
第一方面,本发明实施例提供了一种流量控制方法,包括:
获取待处理消息;
根据所述待处理消息需要消耗的资源的类型确定所述待处理消息的类型;
根据所述待处理消息的类型确定所述待处理消息对应的受理通道;
判断所述受理通道中消息的数量是否小于第一阈值,若是,则将所述待处理消息放入所述受理通道;
否则,丢弃所述待处理消息。
由于预先根据待处理消息需要消耗的资源对待处理消息进行分类,根据待处理消息的类型分配不同的受理通道,故在偏重消耗某一类资源的待处理消息激增时,可以控制对应的受理通道对待处理消息进行限流,从而不会让待处理消息耗尽系统的某一类资源,其他不偏重消耗该类资源的待处理消息仍能正常使用该类资源,使得系统资源能够合理地被利用,同时避免了系统受到待处理消息激增出现宕机的情况,对系统起到保护的作用。
可选地,所述根据所述待处理消息需要消耗的资源的类型确定所述待处理消息的类型,包括:
确定所述待处理消息需要消耗的各类资源以及所述待处理消息需要消耗的各类资源占所述待处理消息需要消耗的总资源的权重;
将所述权重最高的资源的类型确定所述待处理消息的类型。
由于根据待处理消息需要消耗的资源中权重最高的资源确定待处理消息偏重消耗的资源,然后进一步根据待处理消息偏重消耗的资源确定待处理消息的类型,故在偏重消耗某一类资源的待处理消息激增时,可以通过控制该类待处理消息对应的受理通道实现对该类待处理消息的限流,从而避免该类待处理消息激增时耗尽某一类系统资源,影响其他类待处理消息的处理。
可选地,所述待处理消息携带类型标识;
所述根据所述待处理消息需要消耗的资源的类型确定所述待处理消息的类型,包括:
根据所述类型标识确定所述待处理消息的类型,所述类型标识是预先根据所述待处理消息需要消耗的各类资源中权重最高的资源的类型确定的。
由于预先根据偏重消耗的资源对待处理消息进行分类,并分配对应的类型标识。当接收到待处理消息时,直接根据待处理消息携带的类型标识确定待处理消息的类别,从而提高流量控制的效率。
可选地,还包括:
根据所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率调整所述第一阈值。
可选地,所述根据所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率调整所述第一阈值,包括:
在确定所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率小于第二阈值,增大所述第一阈值;
在确定所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率大于第二阈值,减小所述第一阈值。
由于在进行流量控制的过程中,实时根据受理通道对应的资源当前的使用情况调整受理通道的阈值,在受理通道对应的资源当前的使用率小于预设阈值时,增大受理通道的阈值,使得受理通道能受理更多的待处理消息,提高系统资源的利用率。在受理通道对应的资源的当前使用率大于预设阈值时,减小受理通道的阈值,较少受理通道的受理量,从而避免系统宕机的情况。
第二方面,本发明实施例提供了一种流量控制装置,包括:
获取模块,用于获取待处理消息;
分类模块,用于根据所述待处理消息需要消耗的资源的类型确定所述待处理消息的类型;
分发模块,用于根据所述待处理消息的类型确定所述待处理消息对应的受理通道;
处理模块,用于判断所述受理通道中消息的数量是否小于第一阈值,若是,则将所述待处理消息放入所述受理通道;
否则,丢弃所述待处理消息。
可选地,所述分类模块具体用于:
确定所述待处理消息需要消耗的各类资源以及所述待处理消息需要消耗的各类资源占所述待处理消息需要消耗的总资源的权重;
将所述权重最高的资源的类型确定所述待处理消息的类型。
可选地,所述待处理消息携带类型标识;
所述分类模块具体用于:
根据所述类型标识确定所述待处理消息的类型,所述类型标识是预先根据所述待处理消息需要消耗的各类资源中权重最高的资源的类型确定的。
可选地,还包括调整模块;
所述调整模块用于根据所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率调整所述第一阈值。
可选地,所述调整模块具体用于:
在确定所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率小于第二阈值,增大所述第一阈值;
在确定所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率大于第二阈值,减小所述第一阈值。
第三方面,本发明实施例提供了一种终端设备,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行上述任一所述方法的步骤。
第四方面,一种计算机可读介质,存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行上述任一所述方法的步骤。
本发明实施例中,由于预先根据待处理消息需要消耗的资源对待处理消息进行分类,根据待处理消息的类型分配不同的受理通道,故在偏重消耗某一类资源的待处理消息激增时,可以控制对应的受理通道对该类待处理消息进行限流,从而不会让该类待处理消息耗尽系统的某一类资源,其他不偏重消耗该类资源的待处理消息仍能正常处理,从而使得系统资源能够合理地被利用,同时避免了系统受到待处理消息激增出现宕机的情况,对系统起到保护的作用。由于在进行流量控制的过程中,实时根据受理通道对应的资源当前的使用情况调整受理通道的阈值,故在受理通道对应的资源当前的使用率小于预设阈值时,增大受理通道的阈值,使得受理通道能受理更多的待处理消息,提高系统资源的利用率。在受理通道对应的资源的当前使用率大于预设阈值时,减小受理通道的阈值,较少受理通道的受理量,从而避免系统宕机的情况。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例适用的一种系统架构示意图;
图2为本发明实施例提供的一种服务器的结构示意图;
图3为本发明实施例提供的一种流量控制方法的流程示意图;
图4为本发明实施例提供的一种流量控制装置的结构示意图;
图5为本发明实施例提供的一种业务系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中的技术方案适用于各类后台处理系统,比如交易系统、邮件系统、网购处理系统、直播后台系统等等。
图1示例性示出了本发明实施例适用的一种系统架构示意图,如图1所示,本发明实施例适用的系统架构包括终端101和服务器102。
终端101是具备网络通信能力的电子设备,该电子设备可以是智能手机、平板电脑或便携式个人计算机等等。终端101上设置有虚拟接口,虚拟接口可以为网页上的各类链接,也可以为APP上的登录、提交订单等虚拟按键。用户通过点击链接或虚拟按键触发虚拟接口,然后由终端101将虚拟接口对应的待处理消息发送至服务器102。服务器102将待处理消息进行处理并反馈处理结果至终端101。服务器102中包含流量控制装置,在偏重消耗某一类资源的待处理消息激增时,服务器102通过流量控制装置对该类待处理消息进行流量控制。终端101通过无线网络与服务器102连接。服务器102是一台服务器或若干台服务器组成的服务器集群或云计算中心。
进一步地,在图1所示的系统架构图中,服务器102的结构示意图如图2所示,服务器102包括:请求受理模块1021、业务分发模块1022、受理通道1023、控制模块1024。请求受理模块1021接收待处理消息,然后将待处理消息发送至业务分发模块1022。请求受理模块1021可以为拦截器。若待处理消息中携带了类型标识,则业务分发模块1022根据类型标识确定待处理消息的类型,然后根据待处理消息的类型确定待处理消息对应的受理通道1023,其中,每一类待处理消息对应一个受理通道。若待处理消息中没有携带类型标识,则确定待处理消息需要消耗的各类资源以及待处理消息需要消耗的各类资源占待处理消息需要消耗的总资源的权重,然后将权重最高的资源的类型确定待处理消息的类型,之后再根据待处理消息的类型确定待处理消息对应的受理通道1023。业务分发模块1022确定待处理消息对应的受理通道1023之后,判断受理通道1023中消息的数量是否小于第一阈值,若是,则将待处理消息放入受理通道1023,否则,丢弃待处理消息。控制模块1024实时监测系统中各类资源的使用率以及各个受理通道1023中消息的数量,在确定待处理消息需要消耗的各类资源中权重最高的资源的当前使用率小于第二阈值,增大受理通道1023的第一阈值。在确定待处理消息需要消耗的各类资源中权重最高的资源的当前使用率大于第二阈值,减小受理通道1023的第一阈值。当监测到一类或多类资源的使用率达到第二阈值时,启动保护开关,使得各个受理通道1023的第一阈值均不再增加。当监测到多个受理通道1023的消息达到第一阈值,可以关闭请求受理模块1021,使整个系统不再接收待处理消息。
基于图1所示的系统架构图和图2所示的服务器的结构示意图,本发明实施例提供了一种流量控制方法的流程,该方法的流程可以由流量控制装置执行,如图3所示,包括以下步骤:
步骤S301,获取待处理消息。
待处理消息可以是各类需要业务系统处理的消息。比如用户在终端上点击网页链接进入商品详情页面时,终端将发送至服务器的详情页面的内容请求为待处理消息。又比如,用户在使用账号和密码登录时,终端发送至服务器的登录请求为待处理消息。还比如,用户在网上购买商品后付款时,终端提交的付款请求也为待处理消息。再比如,一些平台在进行实名制认证时,用户通过终端发送至服务器的实名认证请求为待处理消息。需要说明的是,上述示例只是对本发明实施例中的待处理消息进行举例说明,待处理消息并不仅限于上述几种。
步骤S302,根据待处理消息需要消耗的资源的类型确定待处理消息的类型。
系统资源包括CPU资源、内存资源、数据库资源、磁盘资源、网卡资源等等。待处理消息需要消耗上述一种或多种资源。
具体实施中,本发明实施例提供了至少以下两种根据待处理消息需要消耗的资源的类型确定待处理消息的类型的方法。
在一种可能的实施方式中,确定待处理消息需要消耗的各类资源以及待处理消息需要消耗的各类资源占待处理消息需要消耗的总资源的权重,然后将权重最高的资源的类型确定待处理消息的类型。
示例性地,设定用户在进行实名制认证时,在终端上输入个人信息后提交,终端对用户提交的个人信息加密后,发送携带个人信息的实名制认证请求至服务器。服务器在接收到实名制认证请求后,对实名制认证请求进行分析,由于接收到实名制认证请求后需要解密,解密后还需要对用户的个人信息进行验证,上述过程需要使用大量的CPU资源。另外在对用户的个人信息进行验证时,需要查询数据库,因此也需要用到数据库资源。设定经过分析后,实名制验证请求需要消耗的CPU资源的权重为70%,需要消耗的数据库资源的权重为30%,因此,可以将实名制认证请求的类型确定为偏重消耗CPU资源。
由于根据待处理消息需要消耗的资源中权重最高的资源确定待处理消息偏重消耗的资源,然后进一步根据待处理消息偏重消耗的资源确定待处理消息的类型,故在偏重消耗某一类资源的待处理消息激增时,可以通过控制该类待处理消息对应的受理通道实现对该类待处理消息的限流,从而避免该类待处理消息激增时耗尽某一类系统资源,影响其他类待处理消息的处理。
在一种可能的实施方式中,待处理消息携带类型标识,根据类型标识确定待处理消息的类型,类型标识是预先根据待处理消息需要消耗的各类资源中权重最高的资源的类型确定的。
示例性地,预先在交易记录查询的虚拟接口处添加类型标识。具体为:首先对交易记录查询需要消耗的资源进行分析,由于交易记录查询时需要大量访问内存,故交易记录查询需要消耗内存资源,另外在查询交易记录时,同时需要CPU参与,故交易记录查询还需要消耗CPU资源。设定经过分析后,交易记录查询需要消耗的CPU资源的权重为40%,需要消耗的内存资源的权重为40%,因此,可以将交易记录查询的类型确定为偏重消耗内存资源,故在交易记录查询对应的虚拟接口上添加偏重消耗内存资源的类型标识。用户点击交易记录查询对应的链接时,触发交易记录查询对应的虚拟接口,终端发送携带偏重消耗内存资源的类型标识的交易记录查询请求至服务器,服务器接收到交易记录查询请求时,根据携带的类型标识可以确定交易记录查询请求的类型为偏重消耗内存资源。
由于预先根据偏重消耗的资源对待处理消息进行分类,并分配对应的类型标识。当接收到待处理消息时,直接根据待处理消息携带的类型标识确定待处理消息的类别,从而提高流量控制的效率。
步骤S303,根据待处理消息的类型确定待处理消息对应的受理通道。
预先设置多种资源对应的受理通道,比如偏重消耗CPU资源通道、偏重消耗数据库资源通道、偏重消耗内存资源通道、偏重消耗磁盘IO资源通道、偏重消耗网卡资源通道等等。受理通道可以通过队列实现,受理通道的处理能力取决于队列大小,队列采用redis或guava实现缓存队列。每个受理队列只处理一类待处理消息,比如偏重消耗CPU资源通道只受理类型为偏重消耗CPU的待处理消息。
步骤S304,判断受理通道中消息的数量是否小于第一阈值,若是,则执行步骤S305,否则执行步骤S306。
步骤S305,将待处理消息放入受理通道。
步骤S306,丢弃待处理消息。
预先设置受理通道的上限,当受理通道中的消息大于上限时,不再接收待处理消息。
由于预先根据待处理消息需要消耗的资源对待处理消息进行分类,根据待处理消息的类型分配不同的受理通道,故在偏重消耗某一类资源的待处理消息激增时,可以控制对应的受理通道对该类待处理消息进行限流,从而不会让该类待处理消息耗尽系统的某一类资源,其他不偏重消耗该类资源的待处理消息仍能正常处理,比如偏重消耗CPU资源的待处理消息激增时,通过偏重消耗CPU资源通道控制偏重消耗CPU资源的待处理消息的数量,故系统的CPU资源不会全部被占用,对于偏重消耗内存资源的待处理消息来说,需要的CPU资源并不多,故使用剩余的CPU资源仍能对偏重消耗内存资源的待处理消息进行处理,从而使得系统资源能够合理地被利用,同时避免了系统受到待处理消息激增出现宕机的情况,对系统起到保护的作用。
可选地,根据待处理消息需要消耗的各类资源中权重最高的资源的当前使用率调整第一阈值。
具体实施中,至少包括以下两种调整方法:
在一种可能的实施方式中,在确定待处理消息需要消耗的各类资源中权重最高的资源的当前使用率小于第二阈值,增大第一阈值。可选地,增大第一阈值时,可以以固定步长增加第一阈值,比如第一阈值每次增加2,也可以按比例增加数量,比如根据待处理消息需要消耗的各类资源中权重最高的资源的当前使用率增加至第二阈值时需要增加的比例增大第一阈值。
在确定待处理消息需要消耗的各类资源中权重最高的资源的当前使用率大于第二阈值,减小第一阈值。可选地,减小第一阈值时,可以以固定步长减少第一阈值,比如第一阈值每次减小2,也可以按比例减小数量,比如根据待处理消息需要消耗的各类资源中权重最高的资源的当前使用率降低至第二阈值时需要减少的比例减小第一阈值。
在确定待处理消息需要消耗的各类资源中权重最高的资源的当前使用率等于第二阈值,不调整第一阈值。
示例性的,设定受理通道包括偏重消耗CPU资源通道和偏重消耗内存资源通道,偏重消耗CPU资源通道对应的第一阈值为1000,偏重消耗内存资源通道对应的第一阈值为2000。设定CPU资源的使用率对应的第二阈值为60%,内存资源的使用率对应的第二阈值为60%。每隔两秒检测当前系统中CPU资源的使用率和内存资源的使用率,若当前CPU资源的使用率为80%,则以固定步长50减少第一阈值,将第一阈值减少为950,从而减少偏重消耗CPU资源通道接收偏重消耗CPU资源的待处理消息。
若当前内存资源的使用率为40%,当前内存资源的使用率需要增大至第二阈值60%,需要将当前内存资源的使用率增大1/4,则将偏重消耗内存资源通道对应的第一阈值增大1/4,得到调整后的第一阈值为2500。
在一种可能的实施方式中,当受理通道的消息达到第一阈值时,判断待处理消息需要消耗的各类资源中权重最高的资源的当前使用率是否不小于第二阈值,若是,则减少第一阈值,否则增大第一阈值。
示例性的,设定受理通道包括偏重消耗CPU资源通道,偏重消耗CPU资源通道对应的第一阈值为1000,CPU资源的使用率对应的第二阈值为60%。若监测到偏重消耗CPU资源通道的消息达到第一阈值,则监测CPU资源当前的使用率,若CPU资源当前的使用率为40%,则以固定步长50增加偏重消耗CPU资源通道对应的第一阈值,调整后的第一阈值为1050。若一段时间后,偏重消耗CPU资源通道一直处于满负荷状态,而CPU资源的使用率依然低于第二阈值60%,则可以继续以固定步长增加第一阈值,直到CPU资源的使用率接近第二阈值60%。
由于在进行流量控制的过程中,实时根据受理通道对应的资源当前的使用情况调整受理通道的阈值,故在受理通道对应的资源当前的使用率小于预设阈值时,增大受理通道的阈值,使得受理通道能受理更多的待处理消息,提高系统资源的利用率。在受理通道对应的资源的当前使用率大于预设阈值时,减小受理通道的阈值,较少受理通道的受理量,从而避免系统宕机的情况。
可选地,流量控制装置中的控制模块中可以设置安全开关,当监测到一类或多类资源的使用率达到第二阈值时,启动该保护开关,使得各个受理通道的第一阈值均不再增加,从而在出现偏重消耗某一类资源的待处理消息激增时,不会将该类资源耗尽,使得其他类型的待处理消息仍能使用这类资源,保证了其他待处理消息的正常处理。
可选地,当多个受理通道的消息达到第一阈值,则控制模块可以关闭请求受理模块,使整个系统不再接收待处理消息,并向终端反馈待处理消息不被受理,以使终端采用重试机制将待处理消息发送至其他服务器,从而一方面保护了系统不被激增的待处理消息导致宕机,另一方面也保证了用户的请求被处理。
基于相同的技术构思,本发明实施例提供了一种流量控制装置,如图4所示,该流量控制装置可以执行流量控制方法的流程,该装置400包括:获取模块401、分类模块402、分发模块403、处理模块404以及调整模块405。
获取模块401,用于获取待处理消息;
分类模块402,用于根据所述待处理消息需要消耗的资源的类型确定所述待处理消息的类型;
分发模块403,用于根据所述待处理消息的类型确定所述待处理消息对应的受理通道;
处理模块404,用于判断所述受理通道中消息的数量是否小于第一阈值,若是,则将所述待处理消息放入所述受理通道;
否则,丢弃所述待处理消息。
可选地,所述分类模块402具体用于:
确定所述待处理消息需要消耗的各类资源以及所述待处理消息需要消耗的各类资源占所述待处理消息需要消耗的总资源的权重;
将所述权重最高的资源的类型确定所述待处理消息的类型。
可选地,所述待处理消息携带类型标识;
所述分类模块402具体用于:
根据所述类型标识确定所述待处理消息的类型,所述类型标识是预先根据所述待处理消息需要消耗的各类资源中权重最高的资源的类型确定的。
可选地,还包括调整模块405;
所述调整模块用于根据所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率调整所述第一阈值。
可选地,所述调整模块405具体用于:
在确定所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率小于第二阈值,增大所述第一阈值;
在确定所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率大于第二阈值,减小所述第一阈值。
本发明实施例提供了一种业务系统,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行流量控制方法的步骤。如图5所示,为本发明实施例中所述的终端设备的硬件结构示意图,该终端设备具体可以为台式计算机、便携式计算机、智能手机、平板电脑等。具体地,该终端设备可以包括存储器501、处理器502及存储在存储器上的计算机程序,所述处理器502执行所述程序时实现上述实施例中的任一流量控制方法的步骤。其中,存储器501可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器502提供存储器501中存储的程序指令和数据。
进一步地,本申请实施例中所述的终端设备还可以包括输入装置503以及输出装置504等。输入装置503可以包括键盘、鼠标、触摸屏等;输出装置504可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT),触摸屏等。存储器501,处理器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图5中以通过总线连接为例。处理器502调用存储器501存储的程序指令并按照获得的程序指令执行上述实施例提供的流量控制方法。
本发明实施例还提供了一种计算机可读存储介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行流量控制的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种流量控制方法,其特征在于,包括:
获取待处理消息;
根据所述待处理消息需要消耗的资源的类型确定所述待处理消息的类型;
根据所述待处理消息的类型确定所述待处理消息对应的受理通道;
判断所述受理通道中消息的数量是否小于第一阈值,若是,则将所述待处理消息放入所述受理通道;
否则,丢弃所述待处理消息。
2.如权利要求1所述的方法,其特征在于,所述根据所述待处理消息需要消耗的资源的类型确定所述待处理消息的类型,包括:
确定所述待处理消息需要消耗的各类资源以及所述待处理消息需要消耗的各类资源占所述待处理消息需要消耗的总资源的权重;
将所述权重最高的资源的类型确定所述待处理消息的类型。
3.如权利要求1所述的方法,其特征在于,所述待处理消息携带类型标识;
所述根据所述待处理消息需要消耗的资源的类型确定所述待处理消息的类型,包括:
根据所述类型标识确定所述待处理消息的类型,所述类型标识是预先根据所述待处理消息需要消耗的各类资源中权重最高的资源的类型确定的。
4.如权利要求2或3所述的方法,其特征在于,还包括:
根据所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率调整所述第一阈值。
5.如权利要求4所述的方法,其特征在于,所述根据所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率调整所述第一阈值,包括:
在确定所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率小于第二阈值,增大所述第一阈值;
在确定所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率大于第二阈值,减小所述第一阈值。
6.一种流量控制装置,其特征在于,包括:
获取模块,用于获取待处理消息;
分类模块,用于根据所述待处理消息需要消耗的资源的类型确定所述待处理消息的类型;
分发模块,用于根据所述待处理消息的类型确定所述待处理消息对应的受理通道;
处理模块,用于判断所述受理通道中消息的数量是否小于第一阈值,若是,则将所述待处理消息放入所述受理通道;
否则,丢弃所述待处理消息。
7.如权利要求6所述的装置,其特征在于,所述分类模块具体用于:
确定所述待处理消息需要消耗的各类资源以及所述待处理消息需要消耗的各类资源占所述待处理消息需要消耗的总资源的权重;
将所述权重最高的资源的类型确定所述待处理消息的类型。
8.如权利要求6所述的装置,其特征在于,所述待处理消息携带类型标识;
所述分类模块具体用于:
根据所述类型标识确定所述待处理消息的类型,所述类型标识是预先根据所述待处理消息需要消耗的各类资源中权重最高的资源的类型确定的。
9.如权利要求7或8所述的装置,其特征在于,还包括调整模块;
所述调整模块用于根据所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率调整所述第一阈值。
10.如权利要求9所述的装置,其特征在于,所述调整模块具体用于:
在确定所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率小于第二阈值,增大所述第一阈值;
在确定所述待处理消息需要消耗的各类资源中权重最高的资源的当前使用率大于第二阈值,减小所述第一阈值。
11.一种终端设备,其特征在于,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行权利要求1~5任一权利要求所述方法的步骤。
12.一种计算机可读介质,其特征在于,存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行权利要求1~5任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810709264.2A CN109120548B (zh) | 2018-07-02 | 2018-07-02 | 一种流量控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810709264.2A CN109120548B (zh) | 2018-07-02 | 2018-07-02 | 一种流量控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109120548A true CN109120548A (zh) | 2019-01-01 |
CN109120548B CN109120548B (zh) | 2022-03-11 |
Family
ID=64822056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810709264.2A Active CN109120548B (zh) | 2018-07-02 | 2018-07-02 | 一种流量控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109120548B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109873832A (zh) * | 2019-03-15 | 2019-06-11 | 北京三快在线科技有限公司 | 流量识别方法、装置、电子设备和存储介质 |
CN110838987A (zh) * | 2019-10-08 | 2020-02-25 | 福建天泉教育科技有限公司 | 队列限流方法、存储介质 |
CN113032410A (zh) * | 2019-12-25 | 2021-06-25 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机存储介质 |
CN113672393A (zh) * | 2021-08-26 | 2021-11-19 | 咪咕文化科技有限公司 | 一种视频处理方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1780265A (zh) * | 2004-11-17 | 2006-05-31 | 华为技术有限公司 | 消息系统的流量控制方法 |
CN104092619A (zh) * | 2014-07-25 | 2014-10-08 | 华为技术有限公司 | 流量控制方法及装置 |
US20170153906A1 (en) * | 2015-11-30 | 2017-06-01 | International Business Machines Corporation | Virtual machine resource allocation based on user feedback |
CN107948095A (zh) * | 2017-11-21 | 2018-04-20 | 中国银行股份有限公司 | 一种资源控制方法、装置及总线系统服务器 |
CN107995312A (zh) * | 2017-12-19 | 2018-05-04 | 上海海事大学 | 一种边界网络服务流量分流系统及动态分流方法 |
-
2018
- 2018-07-02 CN CN201810709264.2A patent/CN109120548B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1780265A (zh) * | 2004-11-17 | 2006-05-31 | 华为技术有限公司 | 消息系统的流量控制方法 |
CN104092619A (zh) * | 2014-07-25 | 2014-10-08 | 华为技术有限公司 | 流量控制方法及装置 |
US20170153906A1 (en) * | 2015-11-30 | 2017-06-01 | International Business Machines Corporation | Virtual machine resource allocation based on user feedback |
CN107948095A (zh) * | 2017-11-21 | 2018-04-20 | 中国银行股份有限公司 | 一种资源控制方法、装置及总线系统服务器 |
CN107995312A (zh) * | 2017-12-19 | 2018-05-04 | 上海海事大学 | 一种边界网络服务流量分流系统及动态分流方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109873832A (zh) * | 2019-03-15 | 2019-06-11 | 北京三快在线科技有限公司 | 流量识别方法、装置、电子设备和存储介质 |
CN109873832B (zh) * | 2019-03-15 | 2020-07-31 | 北京三快在线科技有限公司 | 流量识别方法、装置、电子设备和存储介质 |
CN110838987A (zh) * | 2019-10-08 | 2020-02-25 | 福建天泉教育科技有限公司 | 队列限流方法、存储介质 |
CN110838987B (zh) * | 2019-10-08 | 2022-07-05 | 福建天泉教育科技有限公司 | 队列限流方法、存储介质 |
CN113032410A (zh) * | 2019-12-25 | 2021-06-25 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机存储介质 |
CN113032410B (zh) * | 2019-12-25 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机存储介质 |
CN113672393A (zh) * | 2021-08-26 | 2021-11-19 | 咪咕文化科技有限公司 | 一种视频处理方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109120548B (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109120548A (zh) | 一种流量控制方法及装置 | |
CN107040589B (zh) | 通过虚拟化密码设备集群提供密码服务的系统及方法 | |
CN110276182B (zh) | Api分布式限流的实现方法 | |
CN105281981B (zh) | 网络服务的数据流量监控方法和装置 | |
CN105447604B (zh) | 一种账户处理方法及装置 | |
CN107729137B (zh) | 服务器、区块链验签解密的方法及存储介质 | |
CN108366021B (zh) | 一种处理并发网页访问业务的方法及系统 | |
CN111078436B (zh) | 数据处理的方法、装置、设备及存储介质 | |
Mekala et al. | A DRL-based service offloading approach using DAG for edge computational orchestration | |
CN110457128B (zh) | 任务分配方法、装置和系统 | |
CN110838031A (zh) | 一种基于ABtest的数据运营方法和装置 | |
CN111352705A (zh) | 一种区块链的事务处理方法、装置、设备和介质 | |
Zhang et al. | Heterogeneity aware dominant resource assistant heuristics for virtual machine consolidation | |
CN113568756B (zh) | 一种密码资源协同动态调度方法和系统 | |
CN107463642A (zh) | 提升数据仓库工具资源利用率的方法和装置 | |
CN113595926A (zh) | 基于数据中台的api数据传输方法、装置、设备和介质 | |
US20150212973A1 (en) | Integrated utility based data processing methods | |
CN109284229A (zh) | 一种基于qps的动态调整方法以及相关设备 | |
CN109688183A (zh) | 群控设备识别方法、装置、设备及计算机可读存储介质 | |
CN109347982A (zh) | 一种数据中心的调度方法及装置 | |
CN116257427A (zh) | 联邦学习任务的异构测试方法、系统、设备及存储介质 | |
US11374869B2 (en) | Managing bandwidth based on user behavior | |
CN111443962A (zh) | 一种交易限制方法及装置 | |
Wu et al. | Blender: A traffic-aware container placement for containerized data centers | |
CN110109757A (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 |