一种访问限流方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:18449138 阅读:25 留言:0更新日期:2018-07-14 12:05
本发明专利技术提出了一种访问限流方法,包括:以设定检测周期,将分布式存储系统中预存的应用程序每一进程的访问流量,存储至设定内存;当通过所述设定内存检测到当前检测周期内所述应用程序所有进程的访问流量总量大于设定阈值时,限制所述应用程序每一进程的访问流量。本发明专利技术还公开了一种访问限流装置、设备及计算机可读存储介质,通过实施上述方案,实现了服务器的访问限流快速精准限流,有效提高了服务器的访问限流效率和速度。

【技术实现步骤摘要】
一种访问限流方法、装置、设备及计算机可读存储介质
本专利技术涉及互联网
,尤其涉及一种访问限流方法、装置、设备及计算机可读存储介质。
技术介绍
随着互联网行业的蓬勃发展,服务器中的大多数对外接口层的服务都设置有限流器(限制超出预期流量访问部分的流量),以通过限流器来保护服务免受外界突发性的流量毛刺带来的服务压力巨增问题。现有技术中的限流器是基于Redis集群来实现的,当每次请求来临时进行流量上报,通过Redis集中管理数据,并检查当前请求是否达到阈值从而来判断是否进行限流。然而限流操作受限于Redis集群,由于访问是同步式的,所以限流的最大阈值为Redis的访问性能,并且当Redis集群出现故障时将导致限流模块失效。
技术实现思路
本专利技术提出了一种访问限流方法、装置、设备及计算机可读存储介质,用以解决现有技术中由于受外部访问限流组件的性能限制,导致的服务器的访问限流执行效率低下的问题。本专利技术采用的技术方案是提供一种访问限流方法,包括:以设定检测周期,将分布式存储系统中预存的应用程序每一进程的访问流量,存储至设定内存;当通过所述设定内存检测到当前检测周期内所述应用程序所有进程的访问流量总量大于设定阈值时,限制所述应用程序每一进程的访问流量。可选地,所述限制所述应用程序每一进程的访问流量,包括:通过所述设定内存计算当前检测周期内所述应用程序每一进程的访问流量,与当前检测周期内所述应用程序所有进程的访问流量总量的第一访问流量比例;根据所述第一访问比例,以所述设定阈值为限,设置所述应用程序每一进程的访问流量。可选地,所述设定阈值的设置方式,包括:通过所述设定内存计算上一检测周期内所述应用程序每一进程的访问流量,与上一检测周期内所述应用程序所有进程的访问流量总量的第二访问流量比例;基于所述第二访问流量比例,确定所述当前检测周期内的所述设定阈值。可选地,所述基于所述第二访问流量比例,确定所述当前检测周期内的所述设定阈值,包括:基于所述第二访问流量比例,通过所述设定内存计算当前检测周期内所述应用程序每一进程的最大访问流量;将当前检测周期内所述应用程序每一进程的最大访问流量之和,设置为所述当前检测周期内的所述设定阈值。本专利技术还提供一种访问限流装置,包括:获取模块,用于以设定检测周期,将分布式存储系统中预存的应用程序每一进程的访问流量,存储至设定内存;流量模块,用于当通过所述设定内存检测到当前检测周期内所述应用程序所有进程的访问流量总量大于设定阈值时,限制所述应用程序每一进程的访问流量。可选地,所述限制所述应用程序每一进程的访问流量,包括:通过所述设定内存计算当前检测周期内所述应用程序每一进程的访问流量,与当前检测周期内所述应用程序所有进程的访问流量总量的第一访问流量比例;根据所述第一访问比例,以所述设定阈值为限,设置所述应用程序每一进程的访问流量。可选地,所述装置还包括:设置模块,用于在以设定检测周期,将分布式存储系统中预存的应用程序每一进程的访问流量,存储至设定内存之前,通过所述设定内存计算上一检测周期内所述应用程序每一进程的访问流量,与上一检测周期内所述应用程序所有进程的访问流量总量的第二访问流量比例;基于所述第二访问流量比例,确定所述当前检测周期内的所述设定阈值。可选地,所述基于所述第二访问流量比例,确定所述当前检测周期内的所述设定阈值,包括:基于所述第二访问流量比例,通过所述设定内存计算当前检测周期内所述应用程序每一进程的最大访问流量;将当前检测周期内所述应用程序每一进程的最大访问流量之和,设置为所述当前检测周期内的所述设定阈值。本专利技术还提供一种访问限流设备,所述访问限流设备包括处理器和存储器;所述处理器用于执行存储器中存储的访问限流的程序,以实现以下步骤:以设定检测周期,将分布式存储系统中预存的应用程序每一进程的访问流量,存储至设定内存;当通过所述设定内存检测到当前检测周期内所述应用程序所有进程的访问流量总量大于设定阈值时,限制所述应用程序每一进程的访问流量。可选地,所述限制所述应用程序每一进程的访问流量,包括:通过所述设定内存计算当前检测周期内所述应用程序每一进程的访问流量,与当前检测周期内所述应用程序所有进程的访问流量总量的第一访问流量比例;根据所述第一访问比例,以所述设定阈值为限,设置所述应用程序每一进程的访问流量。可选地,所述设定阈值的设置方式,包括:通过所述设定内存计算上一检测周期内所述应用程序每一进程的访问流量,与上一检测周期内所述应用程序所有进程的访问流量总量的第二访问流量比例;基于所述第二访问流量比例,确定所述当前检测周期内的所述设定阈值。可选地,所述基于所述第二访问流量比例,确定所述当前检测周期内的所述设定阈值,包括:基于所述第二访问流量比例,通过所述设定内存计算当前检测周期内所述应用程序每一进程的最大访问流量;将当前检测周期内所述应用程序每一进程的最大访问流量之和,设置为所述当前检测周期内的所述设定阈值。本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的访问限流方法的步骤。采用上述技术方案,本专利技术至少具有下列优点:本专利技术所述一种访问限流方法、装置、设备及计算机可读存储介质,实现了服务器的访问限流快速精准限流,有效提高了服务器的访问限流效率和速度。附图说明图1为本专利技术第一实施例的访问限流方法流程图;图2为本专利技术第二实施例的访问限流方法流程图;图3为本专利技术第三实施例的访问限流方法流程图;图4为本专利技术第四实施例的访问限流方法流程图;图5为本专利技术第五至第八的访问限流设备组成结构示意图;图6为本专利技术第十至第十一的访问限流装置组成结构示意图;图7为本专利技术第十二至第十三的访问限流装置组成结构示意图。具体实施方式为更进一步阐述本专利技术为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本专利技术进行详细说明如后。本专利技术第一实施例,一种访问限流方法,如图1所示,包括以下具体步骤:步骤S101,以设定检测周期,将分布式存储系统中预存的应用程序每一进程的访问流量,存储至设定内存。在本实施例中,对设定检测周期不做具体限定,可以是工程师根据工程经验设置的最佳检测周期,也可以是经过有限次试验获取的最佳检测周期,也可以是经过有限次计算机仿真获取的最佳检测周期。在本实施例中,通过分布式存储系统存储应用程序每一进程的访问流量,其中,应用程序的数量为一个或多个。例如,通过Etcd存储应用程序每一进程的访问流量;其中,Etcd是分布式键值存储系统。例如,以设定检测周期1秒,将Etcd中预存的应用程序每一进程的访问流量,存储至设定内存。步骤S102,当通过设定内存检测到当前检测周期内应用程序所有进程的访问流量总量大于设定阈值时,限制应用程序每一进程的访问流量。在本实施例中,对设定阈值不做具体限定,可以是工程师根据工程经验设置的最佳访问阈值,也可以是工程师根据上一检测周期中应用程序所有进程的访问流量总量设置的最佳访问阈值,也可以是工程师根据之前的多个检测周期中应用程序所有进程的访问流量总量设置的最佳访问阈值,也可以是经过有限次试验获取的最佳访问阈值,也可以是经过有限次计算机仿真获取的最佳访问阈值。在本实施例中,对限制应本文档来自技高网...

【技术保护点】
1.一种访问限流方法,其特征在于,包括:以设定检测周期,将分布式存储系统中预存的应用程序每一进程的访问流量,存储至设定内存;当通过所述设定内存检测到当前检测周期内所述应用程序所有进程的访问流量总量大于设定阈值时,限制所述应用程序每一进程的访问流量。

【技术特征摘要】
1.一种访问限流方法,其特征在于,包括:以设定检测周期,将分布式存储系统中预存的应用程序每一进程的访问流量,存储至设定内存;当通过所述设定内存检测到当前检测周期内所述应用程序所有进程的访问流量总量大于设定阈值时,限制所述应用程序每一进程的访问流量。2.根据权利要求1所述的方法,其特征在于,所述限制所述应用程序每一进程的访问流量,包括:通过所述设定内存计算当前检测周期内所述应用程序每一进程的访问流量,与当前检测周期内所述应用程序所有进程的访问流量总量的第一访问流量比例;根据所述第一访问比例,以所述设定阈值为限,设置所述应用程序每一进程的访问流量。3.根据权利要求2所述的方法,其特征在于,所述设定阈值的设置方式,包括:通过所述设定内存计算上一检测周期内所述应用程序每一进程的访问流量,与上一检测周期内所述应用程序所有进程的访问流量总量的第二访问流量比例;基于所述第二访问流量比例,确定所述当前检测周期内的所述设定阈值。4.根据权利要求3所述的方法,其特征在于,所述基于所述第二访问流量比例,确定所述当前检测周期内的所述设定阈值,包括:基于所述第二访问流量比例,通过所述设定内存计算当前检测周期内所述应用程序每一进程的最大访问流量;将当前检测周期内所述应用程序每一进程的最大访问流量之和,设置为所述当前检测周期内的所述设定阈值。5.一种访问限流装置,其特征在于,包括:获取模块,用于以设定检测周期,将分布式存储系统中预存的应用程序每一进程的访问流量,存储至设定内存;流量模块,用于当通过所述设定内存检测到当前检测周期内所述应用程序所有进程的访问流量总量大于设定阈值时,限制所述应用程序每一进程的访问流量。6.根据权利要求5所述的装置,其特征在于,所述限制...

【专利技术属性】
技术研发人员:廖仕豪
申请(专利权)人:北京五八信息技术有限公司
类型:发明
国别省市:北京,11

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

1