一种流量控制方法及装置制造方法及图纸

技术编号:15218919 阅读:266 留言:0更新日期:2017-04-26 14:26
本发明专利技术实施例提供了一种流量控制方法及装置,按照流量控制规则,对流控对象的预设运行状态指标进行监控;当监控到流控对象的预设运行状态指标满足对应的触发条件时,根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定调用关系对监控到的流控对象的预设运行状态指标具有作用的资源或应用程序;从确定的资源或应用程序中确定需要进行流量控制的资源或应用程序进行流量控制。动态实时有效地对需要进行限流的资源或应用程序限流。

Flow control method and device

The embodiment of the invention provides a flow control method and device, in accordance with the traffic control rules, to monitor the running state of preset object flow index; when the monitoring object to fluidic performance state indicators meet the preset trigger conditions, according to the statistics of the current call between the application and the operation process of the resources of the call to determine the relationship, fluidic invoking objects to monitor the running state of the default index has the effect of resources or application; determine the need for flow control of resources or application for flow control from the determined resources or application. To dynamically and efficiently limit the resources or applications that need to be limited to the current.

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种流量控制方法及装置
技术介绍
Internet的快速成长,使得对网络系统的访问量急剧增长。面对快速增加的访问流量,网络系统需要具备更加强大的功能来处理大量的并发访问流量。对于提供大负载网络访问服务的网络服务器来讲,CPU、I/O处理能力很快会成为瓶颈,仅仅通过提高硬件性能并不能从根本上解决这个问题。当网络系统被攻击或者由于其他原因使得访问流量突然增大,网络系统会因为负载变高或者内存不够用而导致宕机,最终导致网络系统无法访问。以Sysguard为例,Sysguard为代理服务器中用于进行流量控制的模块,Sysguard能够为内存资源和系统负载设置阈值,当内存资源或者系统负载达到阈值时,将为所有新的资源调用请求直接返回503或504响应,来拒新的资源调用请求,由于内存资源和系统负载均为有限的资源,而内存资源的消耗和系统负载的占用是网络系统中所有应用程序调用系统资源的结果,这些应用程序中可能存在不重要的应用或者对系统资源依赖性不强的应用,这样直接拒绝新的资源调用请求导致的后果是将网络系统的处理能力浪费在了不重要的应用或者对系统资源依赖性不强的应用,而拒绝了后来的可能更加重要的或者对系统资源依赖性更强的应用的请求,因此浪费了系统的处理能力;Sysguard还可以被配置为在自身资源调用达到调用极限时,将系统负载转嫁到同集群的其他网络系统中,这样导致的后果是引起其他网络系统超负荷,最终引起雪崩,导致整个集群崩溃。可见,现有技术中采用的限流方式只能够在系统资源达到使用阈值的时候,通过机械地对后续的调用请求一刀切地拒绝,或者一刀切地转嫁给其他网络系统对该系统资源进行限流,而不能够根据系统资源的实际使用情况,即动态地根据当前已经占有系统资源的应用程序对系统资源的使用情况和新的资源调用请求所请求的系统资源的使用情况,对系统资源进行动态限流。
技术实现思路
本专利技术实施例提供了一种流量控制方法及装置,用以解决现有的无法对资源动态地进行流量控制的问题。基于上述问题,本专利技术实施例提供了一种流量控制方法,包括:按照流量控制规则,对流控对象的预设运行状态指标进行监控;其中,所述流控对象为应用程序在运行过程中调用的资源中需要进行访问流量控制的资源;所述流量控制规则包括针对至少一个流控对象的预设运行状态指标确定的,对相应流控对象进行流量控制的触发条件;当监控到流控对象的预设运行状态指标满足对应的触发条件时,根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定调用关系对所述监控到的流控对象的所述预设运行状态指标具有作用的资源或应用程序;从确定的资源或应用程序中确定需要进行流量控制的资源或应用程序,并进行流量控制。本专利技术实施例提供了一种流量控制装置,包括:监控模块,用于按照流量控制规则,对流控对象的预设运行状态指标进行监控;其中,所述流控对象为应用程序在运行过程中调用的资源中需要进行访问流量控制的资源;所述流量控制规则包括针对至少一个流控对象的预设运行状态指标确定的,对相应流控对象进行流量控制的触发条件;判定模块,用于当所述监控模块监控到流控对象的预设运行状态指标满足对应的触发条件时,根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定调用关系对所述监控到的流控对象的所述预设运行状态指标具有作用的资源或应用程序;流控模块,用于从所述判定模块确定的资源或应用程序中确定需要进行流量控制的资源或应用程序,并进行流量控制。本专利技术实施例的有益效果包括:本专利技术实施例提供的一种流量控制方法及装置,按照流量控制规则,对流控对象的预设运行状态指标进行监控;其中,流控对象为应用程序在运行过程中调用的资源中需要进行访问流量控制的资源;流量控制规则包括针对至少一个流控对象的预设运行状态指标确定的,对相应流控对象进行流量控制的触发条件;当监控到流控对象的预设运行状态指标满足对应的触发条件时,根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定调用关系对监控到的流控对象的预设运行状态指标具有作用的资源或应用程序;从确定的资源或应用程序中确定需要进行流量控制的资源或应用程序,并进行流量控制。本专利技术实施例提供的流量控制方法,与现有技术不同,会针对应用程序调用的资源中需要进行流量控制的流控对象确定流量控制规则,并对流控对象的预设运行状态指标进行监控,当流控对象的预设运行状态指标的指标值违反对应的流量控制规则时,本专利技术实施例中并不是拒绝后续新的资源调用请求,也不是将新的资源调用请求转嫁到其他系统,而是根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定调用关系对监控到的流控对象的预设运行状态指标具有作用的资源或应用程序,并从确定的资源或应用程序中确定需要进行流量控制的资源或应用程序进行流量控制,这样,就能够根据资源的当前运行状态、各应用程序运行过程中资源之间的调用关系,动态地确定对流控对象的预设运行状态指标具有作用的资源或应用程序,并确定出需要进行限流的资源或应用程序进行限流,实现了动态地、实时地、有效地对需要进行限流的资源或应用程序限流。附图说明图1为本专利技术实施例提供的一种流量控制方法的流程图;图2为本专利技术实施例1提供的一种流量控制方法的流程图;图3为本专利技术实施例1提供的为应用程序a生成的资源调用关系示意图;图4为本专利技术实施例提供的实现流量控制方法的整体架构示意图;图5为本专利技术实施例提供的一种流量控制装置的结构示意图。具体实施方式本专利技术实施例提供了一种流量控制方法及装置,以下结合说明书附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本专利技术实施例提供一种流量控制方法,如图1所示,包括:S101、按照流量控制规则,对流控对象的预设运行状态指标进行监控;其中,流控对象为应用程序在运行过程中调用的资源中需要进行访问流量控制的资源;流量控制规则包括针对至少一个流控对象的预设运行状态指标确定的,对相应流控对象进行流量控制的触发条件。S102、当监控到流控对象的预设运行状态指标满足对应的触发条件时,根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定调用关系对监控到的流控对象的预设运行状态指标具有作用的资源或应用程序。S103、从确定的资源或应用程序中确定需要进行流量控制的资源或应用程序,并进行流量控制。本专利技术实施例提供的流量控制方法在对流控对象进行流量控制时,考虑了流控对象当前运行状态,并且考虑了各应用程序与运行过程中调用的资源之间的调用关系,与现有技术相比,实现了动态限流,使得资源能够更充分的利用,对资源的分配更加合理。下面结合附图,用具体实施例对本专利技术提供的方法及相关设备进行详细描述。实施例1:本专利技术实施例1中,提供一种流量控制方法,本专利技术实施例1中为每个应用程序设置一个流量控制装置,流量控制装置对于应用程序来说可以是透明的,该流量控制装置可以建立该应用程序运行时调用的各资源之间的调用关系,以及其他应用程序与上述各资源的调用关系,还可以对各资源的运行状态进行统计和监控,以便在对应运行状本文档来自技高网
...
一种流量控制方法及装置

【技术保护点】
一种流量控制的方法,其特征在于,包括:按照流量控制规则,对流控对象的预设运行状态指标进行监控;其中,所述流控对象为应用程序在运行过程中调用的资源中需要进行访问流量控制的资源;所述流量控制规则包括针对至少一个流控对象的预设运行状态指标确定的,对相应流控对象进行流量控制的触发条件;当监控到流控对象的预设运行状态指标满足对应的触发条件时,根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定调用关系对所述监控到的流控对象的所述预设运行状态指标具有作用的资源或应用程序;从确定的资源或应用程序中确定需要进行流量控制的资源或应用程序,并进行流量控制。

【技术特征摘要】
1.一种流量控制的方法,其特征在于,包括:按照流量控制规则,对流控对象的预设运行状态指标进行监控;其中,所述流控对象为应用程序在运行过程中调用的资源中需要进行访问流量控制的资源;所述流量控制规则包括针对至少一个流控对象的预设运行状态指标确定的,对相应流控对象进行流量控制的触发条件;当监控到流控对象的预设运行状态指标满足对应的触发条件时,根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定调用关系对所述监控到的流控对象的所述预设运行状态指标具有作用的资源或应用程序;从确定的资源或应用程序中确定需要进行流量控制的资源或应用程序,并进行流量控制。2.如权利要求1所述的方法,其特征在于,所述资源包括如下一种或多种:方法、类、数据库、存储资源、CPU资源。3.如权利要求1或2所述的方法,其特征在于,统计的各应用程序与运行过程中调用的资源之间的调用关系,具体包括:针对每个应用程序,采用为该应用程序生成资源调用关系图的方式,统计该应用程序在运行过程中调用的资源之间的调用关系,以及其他应用程序与该资源之间的调用关系:通过所述图的应用程序入口顶点表征该应用程序的入口,通过所述图的调用入口顶点表征该应用程序的调用入口,其中,所述调用入口用于为其他应用程序调用该应用程序的资源提供入口;并将该应用程序入口顶点作为初始点,将至少一个调用入口顶点作为终端点,通过有向边将该初始点分别与至少一个终端点连接;通过所述图的资源顶点表征该应用程序在运行过程中使用的资源;并针对该应用程序在运行过程中至少一次调用过程的每次调用过程,将该次调用过程中使用的资源按照调用的先后顺序依次通过有向边连接,生成该次调
\t用过程对应的路径;针对每条路径,确定该路径对应的调用过程对应的调用入口,并将表征该调用入口的调用入口顶点作为初始点,将该路径的起始顶点作为尾端点,通过有向边将该初始点与该尾端点连接,得到该应用程序对应的资源调用关系图。4.如权利要求3所述的方法,其特征在于,当监控到流控对象的预设运行状态指标满足对应的触发条件时,根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定调用关系对所述监控到的流控对象的所述预设运行状态指标具有作用的资源或应用程序,具体包括:确定监控到流控对象的预设运行状态指标的指标值达到所述流量控制规则中包括的对应预设运行状态指标的指标阈值;根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定调用监控到的流控对象的,且对所述监控到的流控对象的调用对所述监控到的流控对象的所述预设运行状态指标具有作用的各应用程序;从确定的资源或应用程序中确定需要进行流量控制的资源或应用程序,并进行流量控制,具体包括:根据所述流量控制规则中包括的各应用程序在调用所述监控到的流控对象时分别对应的所述预设运行状态指标的使用阈值,确定在调用所述流控对象时,所述预设运行状态指标的指标值达到对应的使用阈值的应用程序;限制或者停止确定出的应用程序对所述监控到的流控对象的调用,使得所述监控到的流控对象被调用时所述预设运行状态指标的指标值低于对应的指标阈值。5.如权利要求3所述的方法,其特征在于,当监控到流控对象的预设运行状态指标满足对应的触发条件时,根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定调用关系对所述监控到的流控对象的所述预设运行状态指标具有作用的资源或应用程序,具体包括:确定监控到流控对象的预设运行状态指标的指标值达到所述流量控制规
\t则中包括的对应预设运行状态指标的指标阈值;根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定监控到的流控对象调用的,且所述调用对所述监控到的流控对象的所述预设运行状态指标具有作用的其他应用程序的资源;从确定的资源或应用程序中确定需要进行流量控制的资源或应用程序,并进行流量控制,具体包括:从确定的所述资源中确定导致所述监控到的流控对象的所述预设运行状态指标的指标值达到对应的指标阈值的资源;限制或者停止监控到的流控对象对确定的资源的调用,使得所述监控到的流控对象的所述预设运行状态指标的指标值低于对应的指标阈值。6.如权利要求3所述的方法,其特征在于,当监控到流控对象的预设运行状态指标满足对应的触发条件时,根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定调用关系对所述监控到的流控对象的所述预设运行状态指标具有作用的资源或应用程序,具体包括:确定监控到流控对象的预设运行状态指标的指标值满足所述流量控制规则中包括的是需要调用预设资源;根据当前统计的各应用程序与运行过程中调用的资源之间的调用关系,确定在调用所述预设资源时需要独占所述预设资源的资源;从确定的资源或应用程序中确定需要进行流量控制的资源或应用程序,并进行流量控制,具体包括:判断确定的所述资源是否正在调用所述预设资源;若是,则阻止所述监控到的流控对象对所述预设资源的调用,直到确定的所述资源完成对所述预设资源的调用。7.如权利要求1或2所述的方法,其特征在于,在对流控对象的预设运行状态指标进行监控之前,还包括:针对所述应用程序在运行过程中使用的每个资源对应的每种运行状态指
\t标,按照预设统计周期确定该运行状态指标的指标值;并针对每次确定出的该运行状态指标的指标值,基于预设移动平均算法,根据该次以及该次...

【专利技术属性】
技术研发人员:张军齐楠周洲林佳梁丁宇
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1