发明内容
本申请提供一种用户流量动态管理方法和系统,以实现对用户流量动态且准确的管理。
第一方面,提供了一种用户流量动态管理方法,包括以下步骤:
当接收到3A服务器发送的与认证通过的目标用户对应的消息时,获取不同时间点对应的流量数据及用户数量;
基于所述流量数据和所述用户数量确定出目标用户在目标时段内的流量阈值和流量限值;
当目标用户在当前时间窗口对应的实时流量值大于流量阈值时,通过所述3A服务器将所述流量限值下发至交换机,以供交换机基于所述流量限值对目标用户进行流量管理。
一些实施例中,所述流量数据包括与目标用户对应的目标端口在当前时间窗口上的可用总带宽值、目标端口在当前时间窗口上可供目标类型用户使用的第一流量值以及基于历史流量数据计算出的目标端口在目标时段内的预估流量值,所述用户数量包括当前时间窗口用户数量以及基于历史用户数据计算出的在目标时段内的预估用户数量。
一些实施例中,所述基于所述流量数据和所述用户数量确定出目标用户在目标时段内的流量阈值和流量限值,包括:
基于所述第一流量值和所述预估用户数量计算出目标用户在目标时段内可分配到的第一最大流量值;
基于所述可用总带宽值和所述当前时间窗口用户数量计算出目标用户可分配到的实际流量值;
基于所述预估流量值和所述预估用户数量计算出目标用户在目标时段内可分配到的第二最大流量值;
通过所述第一最大流量值、所述实际流量值和所述第二最大流量值确定出目标用户在目标时段内的流量阈值和流量限值。
一些实施例中,所述通过所述第一最大流量值、所述实际流量值和所述第二最大流量值确定出目标用户在目标时段内的流量阈值和流量限值,包括:
将所述第一最大流量值、所述实际流量值和所述第二最大流量值中的最大值作为目标用户在目标时段内的流量阈值;
将所述第一最大流量值和所述第二最大流量值两者的均值作为目标用户在目标时段内的流量限值。
一些实施例中,所述历史流量数据包括目标端口在目标时段内的年流量均值、月流量均值以及周流量均值,所述历史用户数据包括在目标时段内的年用户数量均值、月用户数量均值以及周用户数量均值。
一些实施例中,在所述交换机基于所述流量限值对目标用户进行流量管理的步骤之后,还包括:
当检测到目标用户在当前时间窗口的流量值大于第二流量值时,判断当前时间窗口的实时用户数是否小于用户数阈值且所述流量限值是否小于第三流量值,所述第二流量值为所述流量限值与预设的第一百分比的乘积,所述第三流量值为所述可用总带宽值与预设的第二百分比的乘积;
若是,则重新执行所述获取不同时间点对应的流量数据及用户数量的步骤;
若否,则继续执行所述交换机基于所述流量限值对目标用户进行流量管理的步骤。
一些实施例中,在所述当目标用户在当前时间窗口对应的实时流量值大于流量阈值时的步骤之后,还包括:
向交换机发送流量超标告警信号,以供交换机基于所述流量超标告警信号向3A服务器重新发送与目标用户对应的认证请求。
一些实施例中,所述通过所述3A服务器将所述流量限值下发至交换机,以供交换机基于所述流量限值对目标用户进行流量管理,包括:
将所述流量限值发送至3A服务器进行存储;
当3A服务器基于交换机发送的认证请求确认目标用户认证通过时,将已存储的流量限值下发至交换机,以供交换机基于所述流量限值对目标用户进行流量管理。
第二方面,提供了一种用户流量动态管理系统,包括:流量管理装置、3A服务器和交换机,所述流量管理装置包括采集模块、分析模块和管理模块;
所述3A服务器用于向所述采集模块发送与认证通过的目标用户对应的消息;
所述采集模块用于当接收到3A服务器发送的与认证通过的目标用户对应的消息时,获取不同时间点对应的流量数据及用户数量;
所述分析模块用于基于所述流量数据和所述用户数量确定出目标用户在目标时段内的流量阈值和流量限值;
所述管理模块用于当目标用户在当前时间窗口对应的实时流量值大于流量阈值时,通过所述3A服务器将所述流量限值下发至交换机;
所述交换机用于基于所述流量限值对目标用户进行流量管理。
一些实施例中,所述流量数据包括与目标用户对应的目标端口在当前时间窗口上的可用总带宽值、目标端口在当前时间窗口上可供目标类型用户使用的第一流量值以及基于历史流量数据计算出的目标端口在目标时段内的预估流量值,所述用户数量包括当前时间窗口用户数量以及基于历史用户数据计算出的在目标时段内的预估用户数量。
本申请提供了一种用户流量动态管理方法和系统,包括当接收到3A服务器发送的与认证通过的目标用户对应的消息时,获取不同时间点对应的流量数据及用户数量;基于所述流量数据和所述用户数量确定出目标用户在目标时段内的流量阈值和流量限值;当目标用户在当前时间窗口对应的实时流量值大于流量阈值时,通过所述3A服务器将所述流量限值下发至交换机,以供交换机基于所述流量限值对目标用户进行流量管理。由于网络中不同时间点的用户数量以及不同用户对流量的需求均不同,因此本申请将通过对不同时间点的流量数据及用户数量进行监控,以基于流量在网络中的时间属性实现对用户流量的动态且准确的管理。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种用户流量动态管理方法和系统,其能解决相关技术中。
图1是本申请实施例提供的一种用户流量动态管理方法,包括以下步骤:
步骤S10:当接收到3A服务器发送的与认证通过的目标用户对应的消息时,获取不同时间点对应的流量数据及用户数量;其中,所述流量数据包括与目标用户对应的目标端口在当前时间窗口上的可用总带宽值、目标端口在当前时间窗口上可供目标类型用户使用的第一流量值以及基于历史流量数据计算出的目标端口在目标时段内的预估流量值,所述用户数量包括当前时间窗口用户数量以及基于历史用户数据计算出的在目标时段内的预估用户数量。所述历史流量数据包括目标端口在目标时段内的年流量均值、月流量均值以及周流量均值,所述历史用户数据包括在目标时段内的年用户数量均值、月用户数量均值以及周用户数量均值。
示范性的,可以理解的是,当待接入设备需要接入网络中进行数据通信时,需要先将其用户名和密码发送至交换机,以向交换机发起认证请求;而交换机中的用户准入模块作为3A服务器(即AAA服务器,其是能够处理用户访问请求的服务器程序,用于提供验证、授权以及帐户服务,以管理用户访问网络服务器并对具有访问权的用户提供服务)的客户端,将会把待接入设备的用户名和密码发送到3A服务器进行认证。
而3A服务器中的认证控制模块在接收到交换机的认证请求后,将进行认证处理,并在认证通过之后,将根据3A服务器中的用户策略控制模块内已存储的ACL(AccessControlList,访问控制列表)策略向交换机进行控制策略下发;需要说明的是,ACL是一个有序的规则集,其通过匹配报文中字段参数来允许报文或拒绝报文通过某个接口,即ACL的基本作用是基于已经建立的标准来允许或拒绝报文流。当交换机接收到3A服务器下发的控制策略后,将把该策略继续下发至交换机上的策略部署模块,以控制待接入设备所可以访问的网络资源。由此可见,本实施例在控制用户接入时,不仅通过用户名和密码进行认证,还进行策略控制管理,以实现更精准的接入控制。
应当理解的是,本实施例在基于以上通信流程实现对待接入设备的准入管控后,还将根据流量在网络中的时间属性对接入网络的设备流量进行动态监管。因此,当3A服务器完成对待接入设备的认证后,会将该认证通过的待接入设备作为目标用户,并将其相关信息(比如目标用户的IP地址等)发送至本实施例中的流量管理装置,使得流量管理装置中的采集模块能够基于接收的IP地址对目标用户在历史工作日(比如前一周中的每一个工作日、前一个月中每一个工作日以及前一年中每一个工作日等)中每个时间点的流量值和历史用户数量等历史数据,以及目标用户所在目标端口在当前时间窗口上的可用总带宽值、目标端口在当前时间窗口上可供目标类型用户使用的第一流量值和当前时间窗口用户数量等实时数据进行监控和采集,并将所采集到的流量数据和用户数量存储至流量管理装置中的存储模块。其中,目标类型用户指的是与目标用户属于同一类型的用户。
需要说明的是,对于企业园区网来说,用户数量和流量往往会在工作日时出现较大的变化,因此本实施例将对工作日时所对应的流量和用户数量进行监控和采集,而对于其他园区网则可以根据实际需求确定所需监控的时间段。由此可见,存储模块可存储有每一个已认证通过的用户在历史工作日中每个时间点的流量值和历史用户数量等历史数据,以及每一个端口在当前时间窗口上的可用总带宽值和当前时间窗口用户数量等实时数据。
可以理解的是,流量管理装置中的分析模块可根据存储模块所存储的历史数据计算出目标端口在某一时段内的年流量均值、月流量均值以及周流量均值,并对计算出的流量均值进行加权处理后,预测得到目标端口在该时段内的的预估流量值;同时计算出目标端口在某一时段内的年用户数量均值、月用户数量均值以及周用户数量均值,并对计算出的用户数量均值进行加权处理后,预测得到目标端口在该时段内的预估用户数量。
比如,以目标端口在上午9点至上午10点这一时段进行流量预测为例:根据所存储的各个用户在历史工作日中上午9点至10点这个时段内的流量值,计算出目标端口在上午9点至10点这个时段内的年流量均值、月流量均值以及周流量均值,然后根据以下公式计算得到目标端口在上午9点至10点这个时段内的预估流量值M(foreCast):M(foreCast)=λ1*M(year)+λ2*M(month)+λ3*M(week),其中,M(year)表示年流量均值,M(month)表示月流量均值,M(week)表示周流量均值,λ1、λ2和λ3均表示加权系数,理论上越靠近当前时间的流量均值对应的加权系数越大,即λ1<λ2<λ3,不过加权系数的具体值可根据实际需求确定,只要三者的和等于1即可。
以目标端口在上午9点至上午10点这一时段进行用户数量预测为例:根据所存储的在历史工作日中上午9点至10点这个时段内的用户数量,计算出目标端口在上午9点至10点这个时段内的年用户数量均值、月用户数量均值以及周用户数量均值,并根据以下公式计算得到目标端口在上午9点至10点这个时段内的预估用户数量N(foreCast):N(foreCast)=λ4*N(year)+λ5*N(month)+λ6*N(week),其中,N(year)表示年用户数量均值,N(month)表示月用户数量均值,N(week)表示周用户数量均值,λ4、λ5和λ6均表示加权系数,理论上越靠近当前时间的用户数量均值对应的加权系数越大,即λ4<λ5<λ6,不过加权系数的具体值可根据实际需求确定,只要三者的和等于1即可。
步骤S20:基于所述流量数据和所述用户数量确定出目标用户在目标时段内的流量阈值和流量限值;
示范性的,本实施例中,通过采集模块获取到目标端口在当前时间窗口上的可用总带宽值M(current)、目标端口在当前时间窗口上可供目标类型用户使用的第一流量值M(port)和目标端口在目标时段内的预估流量值M(foreCast)等流量数据,以及当前时间窗口用户数量N(current)和目标端口在目标时段内的预估用户数量N(foreCast)后,分析模块就可以预估出目标用户在目标时段内可分配到的最大流量值以及计算出目标用户可分配到的实际流量值;然后根据可分配到的最大流量值和可分配到的实际流量值即可确定出目标用户在目标时段内所能使用的最大流量阈值以及适合于目标用户所使用的流量限值,并根据该流量阈值和流量限值对流量管理装置中的管理模块上已存储的流量阈值和流量限值进行更新。由于本实施例是在考虑了整年内的历史数据来预测目标时段内的流量阈值和阈值限值,进而有效提升了预测结果的准确性。
进一步的,所述基于所述流量数据和所述用户数量确定出目标用户在目标时段内的流量阈值和流量限值,包括:
基于所述第一流量值和所述预估用户数量计算出目标用户在目标时段内可分配到的第一最大流量值;
基于所述可用总带宽值和所述当前时间窗口用户数量计算出目标用户可分配到的实际流量值;
基于所述预估流量值和所述预估用户数量计算出目标用户在目标时段内可分配到的第二最大流量值;
通过所述第一最大流量值、所述实际流量值和所述第二最大流量值确定出目标用户在目标时段内的流量阈值和流量限值。
示范性的,在本实施例中,将第一流量值M(port)和预估用户数量N(foreCast)代入以下公式:L1=M(port)N(foreCast),计算出在最大带宽情况下,目标用户在目标时段内可分配到的第一最大流量值L1;然后将可用总带宽值M(current)和当前时间窗口用户数量N(current)代入以下公式:L2=M(current)N(current),计算出在当前实际带宽和实际用户数量下,目标用户可分配到的实际流量值L2;再将预估流量值M(foreCast)和预估用户数量N(foreCast)代入以下公式:L3=M(foreCast)N(foreCast),预测出目标用户在目标时段内可分配到的第二最大流量值L3;最后根据第一最大流量值L1、实际流量值L2和第二最大流量值L3即可计算出目标用户在目标时段内的流量阈值L和流量限值L(new)。
进一步的,所述通过所述第一最大流量值、所述实际流量值和所述第二最大流量值确定出目标用户在目标时段内的流量阈值和流量限值,包括:
将所述第一最大流量值、所述实际流量值和所述第二最大流量值中的最大值作为目标用户在目标时段内的流量阈值;
将所述第一最大流量值和所述第二最大流量值两者的均值作为目标用户在目标时段内的流量限值。
示范性的,在本实施例中,将通过第一最大流量值L1、实际流量值L2和第二最大流量值L3中的最大值来约束目标用户在目标时段内内可使用的最大流量,即将第一最大流量值L1、实际流量值L2和第二最大流量值L3中的最大值作为目标用户在目标时段内的流量阈值;同时根据第一最大流量值L1和第二最大流量值L3来约束目标用户在目标时段内所能分配到的更为合适的流量值,即将第一最大流量值L1和第二最大流量值L3两者的均值作为目标用户在目标时段内的流量限值,以更科学合理的为目标用户进行流量分配。
步骤S30:当目标用户在当前时间窗口对应的实时流量值大于流量阈值时,通过所述3A服务器将所述流量限值下发至交换机,以供交换机基于所述流量限值对目标用户进行流量管理。
示范性的,本实施例中,在完成对目标用户的流量阈值和流量限值的确定后,还会对目标用户在当前时间窗口的实时流量值进行监测。当检测到目标用户的实时流量值大于流量阈值时,说明目标用户所使用的流量已经超出了其所在目标端口所能分配给目标用户的流量值,即目标用户的流量已超标;此时需要对目标用户所能使用的流量值进行限制,即通过3A服务器将流量限值下发至交换机,使得交换机可根据该流量限值对目标用户的流量进行自动控制管理,进而达到流量自动管理的目的。
进一步的,在所述当目标用户在当前时间窗口对应的实时流量值大于流量阈值时的步骤之后,还包括:
向交换机发送流量超标告警信号,以供交换机基于所述流量超标告警信号向3A服务器重新发送与目标用户对应的认证请求。
示范性的,在本实施例中,参见图2所示,当分析模块检测出目标用户在当前时间窗口的实时流量值大于流量阈值时,流量管理装置中的异常告警模块将会向交换机发送流量超标告警信号,以告知交换机需要对目标用户的流量值进行更新和限制;此时交换机的告警控制模块接收到该流量超标告警信号后,将会向3A服务器重新发送对目标用户进行认证的请求,以使得3A服务器对目标用户进行重新认证,并根据认证结果判定是否需要对目标用户的流量进行新的限制。
进一步,所述通过所述3A服务器将所述流量限值下发至交换机,以供交换机基于所述流量限值对目标用户进行流量管理,包括:
将所述流量限值发送至3A服务器进行存储;
当3A服务器基于交换机发送的认证请求确认目标用户认证通过时,将已存储的流量限值下发至交换机,以供交换机基于所述流量限值对目标用户进行流量管理。
示范性的,本实施例中,参见图2所示,当分析模块检测出目标用户在当前时间窗口的实时流量值大于流量阈值时,在向交换机发送流量超标告警信号的同时,也会向3A服务器发送流量告警信号,并通过管理模块将与目标用户对应的流量限值发送至3A服务器进行存储,以供3A服务器基于该流量限值更新用户数据。因此,当3A服务器接收到交换机重新发送的认证请求时,将会重新对目标用户进行认证,若认证未通过,则将认证未通过的消息发送至交换机,以禁止目标用户准入;而若认证通过,则会根据目标用户IP地址将对应的已存储的流量限值以及ACL策略下发至交换机,以供交换机对目标用户进行限速,进而实现流量的自动管理。
进一步的,在所述交换机基于所述流量限值对目标用户进行流量管理的步骤之后,还包括:
当检测到目标用户在当前时间窗口的流量值大于第二流量值时,判断当前时间窗口的实时用户数是否小于用户数阈值且所述流量限值是否小于第三流量值,所述第二流量值为所述流量限值与预设的第一百分比的乘积,所述第三流量值为所述可用总带宽值与预设的第二百分比的乘积;
若是,则重新执行所述获取不同时间点对应的流量数据及用户数量的步骤;
若否,则继续执行所述交换机基于所述流量限值对目标用户进行流量管理的步骤。
示范性的,需要说明的是,用户数阈值、第一百分比和第二百分比的具体值设定可根据实际需求确定,其中第一百分比和第二百分比两者可以相同,也可以不同,在此不作限定。比如,将第一百分比设置为90%、第二百分比设置为80%以及用户数阈值设置为50个。
可以理解的是,当某一用户的需求较大时,其若被限速,将可能导致限速后的流量无法满足该用户的实际需求。因此,本实施例在用户被流量限速之后,还会提供流量恢复的方法,即如果目标用户的实际需求很大,且当前网络中还有空余带宽时,将会根据实际情况进行调整,以计算出新的流量限值并重新下发至交换机,以使得交换机能够对目标用户进行流量恢复。
具体的,如果目标用户在当前时间窗口的实时流量值不到L(new)的90%,则表示限速之后的流量对于目标用户来说是够用的,因此不需要重新做出调整;而如果目标用户在当前时间窗口的实时流量值超过了L(new)的90%,则表示限速之后的流量对于目标用户来说是不够用的,因此需要重新做出调整。此时判断当前的用户数量是否小于50个且L(new)的值是否小于可用总带宽值M(current)的80%,若否,说明当前网络中不存在空余带宽,即无法为目标用户提供新的L(new),则还是根据L(new)对目标用户进行限速控制。
若当前的用户数量小于50个且L(new)的值小于可用总带宽值M(current)的80%,说明当前网络流量是有空闲的,那么将根据前述的算法重新为目标用户计算新的L(new),并更新3A服务器中的用户数据表(用户数据表包括但不限于用户IP、用户在各个时间点的流量值、用户的允许、转发等动作以及与用户对应的流量阈值和流量限值)中流量限值,同时向交换机发送流量限值更新信号。而交换机接收到流量限制更新信号,将重新向3A服务器发起对目标用户的认证;3A服务器在该目标用户通过认证之后,将用户数据表中的ACL策略和新的流量限值下发至交换机,以供交换机基于该新的流量限值对目标用户进行限速控制,进而实现对被限制了流量的用户的流量恢复操作,从而完成对用户流量的动态精准调整以及用户的精准策略控制。
由此可见,本实施例中,当目标用户接入之后,在下发策略控制的同时,通过对数据的采集并结合网络中不同时间点的用户数量和流量带宽等历史数据进行特定算法的数据分析,以基于流量在网络中的时间属性动态计算出当前网络中合理的流量阈值以及适合于用户的流量限值,进而对接入的目标用户进行动态且准确的流量管理。
参见图3所示,本申请实施例还提供了一种用户流量动态管理系统,包括:流量管理装置、3A服务器和交换机,所述流量管理装置包括采集模块、分析模块和管理模块;
所述3A服务器用于向所述采集模块发送与认证通过的目标用户对应的消息;
所述采集模块用于当接收到3A服务器发送的与认证通过的目标用户对应的消息时,获取不同时间点对应的流量数据及用户数量;
所述分析模块用于基于所述流量数据和所述用户数量确定出目标用户在目标时段内的流量阈值和流量限值;
所述管理模块用于当目标用户在当前时间窗口对应的实时流量值大于流量阈值时,通过所述3A服务器将所述流量限值下发至交换机;
所述交换机用于基于所述流量限值对目标用户进行流量管理。
示范性的,可以理解的是,本实施例中的流量管理装置包括采集模块、存储模块、分析模块、管理模块以及异常告警模块;其中,采集模块主要用于对端口上认证通过的用户进行流量采集;存储模块,主要负责对采集模块所采集的流量数据和用户的IP等信息;分析模块主要用于根据采集到的流量数据进行分析;管理模块主要用于将数据分析得到的数据结果发送至3A服务器,以实现数据同步;异常告警模块主要用于向交换机和3A服务器发送异常告警信号。
本实施例中的3A服务器包括用户策略控制模块和认证控制模块;其中,用户策略控制模块主要用于同步存储从管理模块发送过来的用户数据(比如流量限值)并更新用户数据表,再根据用户数据表对交换机上发起认证的用户发送对应的策略和流量限速;认证控制模块主要负责对交换机发过来的用户名和密码进行认证处理,且认证通过之后,再通过用户策略控制模块来进行策略和流量控制。
本实施例中的交换机包括用户准入模块、告警控制模块和策略部署模块;其中,用户准入模块主要负责接收用户的认证请求,即在用户输入用户名和密码之后,用户准入模块向3A服务器发起认证请求;告警控制模块主要用于接收异常告警模块发出的告警信号,并向3A服务器重新发起认证;策略部署模块主要用于接收3A服务器下发的策略和流量限值,并下发相应的配置,以管理用户的准入以及流量限值。
本实施例通过以上模块间的数据交互,来完成对不同时间点的流量数据及用户数量的监控,并基于流量在网络中的时间属性实现对用户流量的动态且准确的管理。
需要说明的是,所属本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统和各模块的具体工作过程,可以参考前述用户流量动态管理方法实施例中的对应过程,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。