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

文档序号:10538631阅读:243来源:国知局
一种流量控制方法及装置的制造方法
【专利摘要】本发明是关于一种流量控制方法及装置,该方法包括:在接收到报文时,提取该报文中的IP地址;获取哈希散列表中与IP地址对应的令牌桶;在报文的字节数量大于令牌桶内剩余的令牌数量时,抛弃报文;在报文的字节数量小于或等于令牌桶内剩余的令牌数量时,允许报文通过,并计算令牌桶内剩余的令牌数量与报文的字节数量之差得到当前令牌数量,将当前令牌数量确定为令牌桶内剩余的令牌数量;令牌桶内剩余的令牌数量小于或等于最大令牌数量。相对于现有技术需要逐条遍历预先生成的限制规则而言,本发明提供的方案在哈希散列表中查询与IP地址对应的令牌桶的速度非常快,从而提高了查询效率,并较少的占用系统处理资源。
【专利说明】
一种流量控制方法及装置
技术领域
[0001]本发明涉及通信技术领域,更具体的说,涉及流量控制方法及装置。
【背景技术】
[0002]目前,如果连接路由器的设备较多,那么多个设备会存在抢带宽的情况。例如,电脑和智能电视均连接到路由器上,在路由器对连接设备不做流量限制的情况下,如果电脑下载数据,那么电脑可能会占据路由器的所有带宽,以使智能电视下载服务器的视频资源速度变慢,从而出现视频播放卡顿的情况,所以需要对连接到路由器的设备进行流量控制。
[0003]当前路由器的内核大部分都为netfilter。其中,netfilter是由RustyRussell提出的Linux 2.4内核防火墙框架。当前路由器比较成熟的流量控制方法为:在路由器接收到用户输入的针对设备的IP地址的流量限制参数时,路由器内的netfilter会根据上述流量限制参数生成该IP地址对应的限制规则。如果路由器中接收到针对多个IP地址的流量限制参数时,那么路由器内的netfilter会生成针对多个IP地址的限制规则。在路由器的netf i I ter接收到报文时,netf i I ter会在报文中提取出IP地址,然后逐条遍历预先生成的限制规则,以判断在预先生成的限制规则中是否存在该IP地址对应的限制规则。如果存在,那么将该报文打上标记,并将该打上标记的报文发送到路由器的TC(Traffic ControlJ^量控制)模块中,以使该打上标记的报文被TC模块进行限流操作。
[0004]但是,netfi Iter模块每次在接收到报文时,无论该报文内的IP地址是否对应有限制规则,netfilter模块都需要查询一次预先生成的限制规则,所以当前的查询效率非常低下;而且,如果预先生成的限制规则数量特别多,那么netfilter模块查找IP地址对应的限制规则的过程会更加消耗时间,并大量的占用了路由器的系统处理资源。

【发明内容】

[0005]本发明提供一种流量控制方法,以提高查询效率,并较少的占用系统处理资源。
[0006]根据本发明实施例的第一方面,提供一种流量控制方法,包括:
[0007]在接收到报文时,提取该报文中的IP地址;
[0008]获取哈希散列表中与所述IP地址对应的令牌桶,所述哈希散列表中预先存储有所述令牌桶,所述令牌桶内设置有IP地址和最大令牌数量;
[0009]在所述报文的字节数量大于所述令牌桶内剩余的令牌数量时,抛弃所述报文;
[0010]在所述报文的字节数量小于或等于所述令牌桶内剩余的令牌数量时,允许所述报文通过,并计算所述令牌桶内剩余的令牌数量与所述报文的字节数量之差得到当前令牌数量,将所述当前令牌数量确定为所述令牌桶内剩余的令牌数量;
[0011]所述令牌桶内剩余的令牌数量小于或等于所述最大令牌数量。
[0012]可选的,在接收到报文之前,所述方法还包括:
[0013]接收用户输入的IP地址和允许通过的每秒最大字节数;
[0014]根据所述每秒最大字节数设置令牌桶中的最大令牌数量;
[0015]将所述IP地址存储到所述令牌桶中;
[0016]根据预设算法将所述IP地址转换成哈希索引;
[0017]将所述令牌桶存储至哈希散列表中的所述哈希索引位置处。
[0018]可选的,获取哈希散列表中与所述IP地址对应的令牌桶的步骤包括:
[0019]根据预设算法将所述IP地址转换成哈希索引;
[0020]在所述哈希散列表中获取与所述哈希索引对应的令牌桶。
[0021]可选的,根据预设算法将所述IP地址转换成哈希索引的步骤包括:
[0022]分别将所述IP地址中每个数据位的十进制数转换为二进制数;
[0023]将所述IP地址中的前两个数据位的二进制数与所述IP地址中的后两个数据位的二进制数进行异或运算,得到目标二进制数;
[0024]将所述目标二进制数转换为目标十进制数;
[0025]利用所述目标十进制数对预设数字进行取模运算,得到余数;
[0026]将所述余数确定为哈希散列表的哈希索引。
[0027]可选的,在所述获取哈希散列表中与所述IP地址对应的令牌桶之前,所述方法还包括:
[0028]判断所述哈希散列表中是否存在与所述IP地址对应的令牌桶;
[0029]在所述哈希散列表中存在与所述IP地址对应的令牌桶时,触发所述获取哈希散列表中与所述IP地址对应的令牌桶的步骤;
[0030]在所述哈希散列表中不存在与所述IP地址对应的令牌桶时,允许所述报文通过。
[0031]根据本发明实施例的第二方面,提供一种流量控制装置,包括:
[0032]提取模块,用于在接收到报文时,提取该报文中的IP地址;
[0033]获取模块,用于获取哈希散列表中与所述IP地址对应的令牌桶,所述哈希散列表中预先存储有所述令牌桶,所述令牌桶内设置有IP地址和最大令牌数量;
[0034]第一限流模块,用于在所述报文的字节数量大于所述令牌桶内剩余的令牌数量时,抛弃所述报文;
[0035]第二限流模块,用于在所述报文的字节数量小于或等于所述令牌桶内剩余的令牌数量时,允许所述报文通过,并计算所述令牌桶内剩余的令牌数量与所述报文的字节数量之差得到当前令牌数量,将所述当前令牌数量确定为所述令牌桶内剩余的令牌数量;
[0036]所述令牌桶内剩余的令牌数量小于或等于所述最大令牌数量。
[0037]可选的,所述装置还包括:
[0038]接收模块,用于接收用户输入的IP地址和允许通过的每秒最大字节数;
[0039]设置模块,用于根据所述每秒最大字节数设置令牌桶中的最大令牌数量;
[0040]第一存储模块,用于将所述IP地址存储到所述令牌桶中;
[0041]转换模块,用于根据预设算法将所述IP地址转换成哈希索引;
[0042]第二存储模块,用于将所述令牌桶存储至哈希散列表中的所述哈希索引位置处。
[0043]可选的,所述获取模块包括:
[0044]第一转换子模块,用于根据预设算法将所述IP地址转换成哈希索引;
[0045]获取子模块,用于在所述哈希散列表中获取与所述哈希索引对应的令牌桶。
[0046]可选的,所述转换模块或所述第一转换子模块包括:
[0047]第二转换子模块,用于分别将所述IP地址中每个数据位的十进制数转换为二进制数;
[0048]第一运算子模块,用于将所述IP地址中的前两个数据位的二进制数与所述IP地址中的后两个数据位的二进制数进行异或运算,得到目标二进制数;
[0049]第三转换子模块,用于将所述目标二进制数转换为目标十进制数;
[0050]第二运算子模块,用于利用所述目标十进制数对预设数字进行取模运算,得到余数;
[0051]确定子模块,用于将所述余数确定为哈希散列表的哈希索引。
[0052]可选的,所述装置还包括:
[0053]判断模块,用于判断所述哈希散列表中是否存在与所述IP地址对应的令牌桶;
[0054]第一执行模块,用于在所述哈希散列表中存在与所述IP地址对应的令牌桶时,触发所述获取模块;
[0055]第二执行模块,用于在所述哈希散列表中不存在与所述IP地址对应的令牌桶时,允许所述报文通过。
[0056]与现有技术相比,本实施例提供的技术方案具有以下优点和特点:
[0057]在本发明提供的方案中,由于在哈希散列表中预先存储有令牌桶,而且令牌桶内设置有IP地址,所以路由器可以在哈希散列表中快速的获取到与报文中的IP地址对应的令牌桶。并根据报文的字节数量和令牌桶内剩余的令牌数量来决定抛弃报文或允许报文通过,从而实现对报文的流量限制。相对于现有技术需要逐条遍历预先生成的限制规则而言,本发明提供的方案在哈希散列表中查询与IP地址对应的令牌桶的速度非常快,从而提高了查询效率,并较少的占用系统处理资源。
【附图说明】
[0058]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0059]图1为本发明实施例提供的一种流量控制方法的流程图。
[0060]图2为本发明实施例提供的另一种流量控制方法的流程图。
[0061]图3为本发明实施例提供的一种流量控制装置的示意图。
【具体实施方式】
[0062]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0063]图1为本发明实施例提供的一种流量控制方法的流程图。本发明实施例提供的流量控制方法在哈希散列表中查询与IP地址对应的令牌桶的速度非常快,从而提高了查询效率,并较少的占用系统处理资源该方法包括以下步骤。
[0064]步骤SI1、在接收到报文时,提取该报文中的IP地址。
[0065]其中,本发明提供的方法可以应用于终端内,终端可以为路由器等设备。
[0066]本发明实施例适用的应用场景非常多。例如,本发明实施例可以应用在路由器的内核中,内核可以为netfilter。由于路由器的netfilter是报文必然经过的一个内核框架,这个框架上开发者可以开发各种各样的扩展对报文做特定的处理,所以本发明实施例需要在netf i I ter内制作一个扩展,作为流量控制的总开关。假设,在netf i I ter内制作的扩展名称为flow_limit。当flow_limit条目存在时候,那么意味着流量控制可以执行,在路由器的netfilter接收到报文时,需要触发步骤S12,从而进行流量控制;当flow_limit条目不存在的时候,那么意味着流量控制不可以执行,在路由器的netfilter接收到报文时,不会触发步骤S12,从而使得netf i Iter执行正常的流程。因此,在netf i I ter内制作扩展,相当于在netfitler中引入了一个总开关,可以达到全局开关的目的。
[0067]当然,本发明实施例并不局限于上述提到的场景中,还可以应用在其他需要进行流量控制的场景中。
[0068]在路由器接收到报文时,该报文有可能是向外网发送的,也有可能是向路由器建立的无线局域网发送的。
[0069]用户需要预先在路由器中对需限制流量的IP地址进行设置。具体的设置为:用户需要打开路由器的流量控制界面,在流量控制界面中输入需限制流量的IP地址,并为该IP地址设置最大上行带宽和最大下行带宽。在用户设置完并点击保存后,路由器便会接收到用户输入的IP地址和允许通过的每秒最大字节数,其中,之前设置好的最大上行带宽或最大下行带宽即为允许通过的每秒最大字节数。然后,路由器会根据每秒最大字节数设置令牌桶中的最大令牌数量,并将IP地址存储到令牌桶中。最后,根据预设算法将IP地址转换成哈希索引,将令牌桶存储至哈希散列表中的哈希索引位置处,设置完成。
[0070]上述根据预设算法将IP地址转换成哈希索引的步骤,还可以具体包括以下子步骤:首先,分别将IP地址中每个数据位的十进制数转换为二进制数。然后,将IP地址中的前两个数据位的二进制数与IP地址中的后两个数据位的二进制数进行异或运算,得到目标二进制数。其次,将目标二进制数转化为目标十进制数。再次,利用目标十进制数对于预设数字进行取模运算,得到余数。最后,将余数确定为哈希散列表的哈希索引。
[0071]如果直接匹配IP地址,那么需要对比IP地址的每个数据位的数字是否相同,所以比较麻烦。本发明实施例将据预设算法将IP地址转换成一个整数,以便于查找时可以直接去匹配该整数,从而提高查询效率。
[0072]下面通过实例来介绍上述方法的步骤。
[0073 ]例如,假设需要被限制流量的IP地址为19 2.16 8.0.1,首先,分别将IP地址192.168.0.1中每个数据位的十进制数转换为二进制数,其中,192对应的二进制数为11000000,168对应的二进制数为1010 1001,0对应的二进制数为0000 0000,I对应的二进制数为0000 0001。然后,将IP地址192.168.0.1中的前两个数据位192和168的二进制数11000000 1010 1001与IP地址中的后两个数据位O和I的二进制数0000 0000 0000 0001进行异或运算,得到目标二进制数1100 0000 1010 1000。其次,将目标二进制数1100 0000 10101000转化为目标十进制数49320。再次,利用目标十进制数49320对预设数字256进行取模运算,得到余数168。最后,将余数168确定为哈希散列表的哈希索引。
[0074]当然,根据预设算法将IP地址转换成哈希索引的具体做法并不局限于上述步骤,还可以为其他的方式。
[0075]另外,令牌桶自身的工作过程包括3个阶段:产生令牌、消耗令牌和判断数据包是否通过。其中涉及到2个参数:令牌产生的速率CIR(Committed Informat1n Rate)/EIR(Excess Informat1n Rate)和令牌桶的大小CBS(Committed Burst Size)/EBS(ExcessBurst Size)。
[0076]产生令牌:周期性的以速率CIR/EIR向令牌桶中增加令牌,令牌桶中的令牌不断增多。如果令牌桶中令牌数已到达CBS/EBS,则丢弃多余令牌。
[0077]消耗令牌:输入数据包会消耗令牌桶中的令牌。在网络传输中,数据包的大小通常不一致。大的数据包相较于小的数据包消耗的令牌要多。
[0078]判断是否通过:输入数据包经过令牌桶后的结果包括输出的数据包和丢弃的数据包。当令牌桶中的令牌数量可以满足数据包对令牌的需求,则将数据包输出,否则将其丢弃。
[0079 ]步骤SI 2、获取哈希散列表中与IP地址对应的令牌桶。
[0080]其中,通过上述内容可以得知,在用户预先在路由器中对需限制流量的IP地址进行设置时,便生成了哈希散列表,所以哈希散列表中预先存储有令牌桶,令牌桶内设置有IP地址和最大令牌数量。此时,路由器便可以在哈希散列表中获取到与IP地址对应的令牌桶。
[0081]关于获取哈希散列表中与IP地址对应的令牌桶的步骤还可以具体包括以下子步骤:首先,根据预设算法将IP地址转换成哈希索引。然后,在哈希散列表中获取与哈希索引对应的令牌桶。
[0082]不管预设算法是什么算法,在获取哈希散列表中与IP地址对应的令牌桶的过程中,只需要与建立哈希散列表的哈希索引的算法相同即可。由于上述内容已经介绍过建立哈希散列表的哈希索引的算法,预设算法可以与此相同,所以在此不再赘述。
[0083]步骤SI3、在报文的字节数量大于令牌桶内剩余的令牌数量时,抛弃报文。
[0084]其中,在路由器获取哈希散列表中与IP地址对应的令牌桶以后,路由器便需要判断报文的字节数量是否大于令牌桶内剩余的令牌数量。在报文的字节数量大于令牌桶内剩余的令牌数量时,说明该报文的字节数量已经超过了预先设置好的最大上行带宽或最大下行带宽,所以路由器需要抛弃该报文。
[0085]步骤S14、在报文的字节数量小于或等于令牌桶内剩余的令牌数量时,允许报文通过,并计算令牌桶内剩余的令牌数量与报文的字节数量之差得到当前令牌数量,将当前令牌数量确定为令牌桶内剩余的令牌数量,令牌桶内剩余的令牌数量小于或等于最大令牌数量。
[0086]其中,在报文的字节数量小于或等于令牌桶内剩余的令牌数量时,说明该报文的字节数量小于或等于预先设置好的最大上行带宽或最大下行带宽,所以路由器需要允许报文通过。并计算令牌桶内剩余的令牌数量与报文的字节数量之差得到当前令牌数量,将当前令牌数量确定为令牌桶内剩余的令牌数量,以使每次有报文通过时,都能够及时的更新令牌桶内的令牌数量。
[0087]在图1所示的实施例中,由于在哈希散列表中预先存储有令牌桶,而且令牌桶内设置有IP地址,所以路由器可以在哈希散列表中快速的获取到与报文中的IP地址对应的令牌桶。并根据报文的字节数量和令牌桶内剩余的令牌数量来决定抛弃报文或允许报文通过,从而实现对报文的流量限制。相对于现有技术需要逐条遍历预先生成的限制规则而言,本发明提供的方案在哈希散列表中查询与IP地址对应的令牌桶的速度非常快,从而提高了查询效率,并较少的占用系统处理资源。
[0088]请参见图2所示,在本发明的另一些实施例中,在获取哈希散列表中与IP地址对应的令牌桶的步骤之前,本发明实施例提供的方法还可以包括以下步骤:
[0089]步骤S15、判断哈希散列表中是否存在与IP地址对应的令牌桶。在哈希散列表中存在与IP地址对应的令牌桶时,触发步骤S12。在哈希散列表中不存在与IP地址对应的令牌桶时,触发步骤S16。
[0090]步骤S16、允许报文通过。
[0091]其中,如果路由器判断出哈希散列表中不存在与IP地址对应的令牌桶,那么说明用户未对该IP地址进行流量限制,所以路由器会快速的让该报文通过。
[0092]图3为本发明实施例提供的一种流量控制装置的示意图。参照图3,该装置包括提取模块11、获取模块12、第一限流模块13和第二限流模块14,其中:
[0093]提取模块11,用于在接收到报文时,提取该报文中的IP地址。
[0094]获取模块12,用于获取哈希散列表中与IP地址对应的令牌桶,哈希散列表中预先存储有令牌桶,令牌桶内设置有IP地址和最大令牌数量。
[0095]第一限流模块13,用于在报文的字节数量大于令牌桶内剩余的令牌数量时,抛弃报文。
[0096]第二限流模块14,用于在报文的字节数量小于或等于令牌桶内剩余的令牌数量时,允许报文通过,并计算令牌桶内剩余的令牌数量与报文的字节数量之差得到当前令牌数量,将当前令牌数量确定为令牌桶内剩余的令牌数量。令牌桶内剩余的令牌数量小于或等于最大令牌数量。
[0097]可选的,本发明实施例提供的流量控制装置还可以包括以下模块:
[0098]接收模块,用于接收用户输入的IP地址和允许通过的每秒最大字节数。
[0099]设置模块,用于根据每秒最大字节数设置令牌桶中的最大令牌数量。
[0100]第一存储模块,用于将IP地址存储到令牌桶中。
[0101]转换模块,用于根据预设算法将IP地址转换成哈希索引。
[0102]第二存储模块,用于将令牌桶存储至哈希散列表中的哈希索引位置处。
[0103]可选的,上述获取模块12还可以包括以下子模块:
[0104]第一转换子模块,用于根据预设算法将IP地址转换成哈希索引。
[0105]获取子模块,用于在哈希散列表中获取与哈希索引对应的令牌桶。
[0106]可选的,上述转换模块或第一转换子模块还可以包括以下子模块:
[0107]第二转换子模块,用于分别将IP地址中每个数据位的十进制数转换为二进制数。
[0108]第一运算子模块,用于将IP地址中的前两个数据位的二进制数与IP地址中的后两个数据位的二进制数进行异或运算,得到目标二进制数。
[0109]第三转换子模块,用于将目标二进制数转换为目标十进制数。
[0110]第二运算子模块,用于利用目标十进制数对预设数字进行取模运算,得到余数。
[0111]确定子模块,用于将余数确定为哈希散列表的哈希索引。
[0112]可选的,本发明实施例提供的流量控制装置还可以包括以下模块:
[0113]判断模块,用于判断哈希散列表中是否存在与IP地址对应的令牌桶。
[0114]第一执行模块,用于在哈希散列表中存在与IP地址对应的令牌桶时,触发获取模块12 O
[0115]第二执行模块,用于在哈希散列表中不存在与IP地址对应的令牌桶时,允许报文通过。
[0116]关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0117]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【主权项】
1.一种流量控制方法,其特征在于,包括: 在接收到报文时,提取该报文中的IP地址; 获取哈希散列表中与所述IP地址对应的令牌桶,所述哈希散列表中预先存储有所述令牌桶,所述令牌桶内设置有IP地址和最大令牌数量; 在所述报文的字节数量大于所述令牌桶内剩余的令牌数量时,抛弃所述报文; 在所述报文的字节数量小于或等于所述令牌桶内剩余的令牌数量时,允许所述报文通过,并计算所述令牌桶内剩余的令牌数量与所述报文的字节数量之差得到当前令牌数量,将所述当前令牌数量确定为所述令牌桶内剩余的令牌数量; 所述令牌桶内剩余的令牌数量小于或等于所述最大令牌数量。2.根据权利要求1所述的流量控制方法,其特征在于,在接收到报文之前,所述方法还包括: 接收用户输入的IP地址和允许通过的每秒最大字节数; 根据所述每秒最大字节数设置令牌桶中的最大令牌数量; 将所述IP地址存储到所述令牌桶中; 根据预设算法将所述IP地址转换成哈希索引; 将所述令牌桶存储至哈希散列表中的所述哈希索引位置处。3.根据权利要求1所述的流量控制方法,其特征在于,获取哈希散列表中与所述IP地址对应的令牌桶的步骤包括: 根据预设算法将所述IP地址转换成哈希索引; 在所述哈希散列表中获取与所述哈希索引对应的令牌桶。4.根据权利要求2或3所述的流量控制方法,其特征在于,根据预设算法将所述IP地址转换成哈希索引的步骤包括: 分别将所述IP地址中每个数据位的十进制数转换为二进制数; 将所述IP地址中的前两个数据位的二进制数与所述IP地址中的后两个数据位的二进制数进行异或运算,得到目标二进制数; 将所述目标二进制数转换为目标十进制数; 利用所述目标十进制数对预设数字进行取模运算,得到余数; 将所述余数确定为哈希散列表的哈希索引。5.根据权利要求1所述的流量控制方法,其特征在于,在所述获取哈希散列表中与所述IP地址对应的令牌桶之前,所述方法还包括: 判断所述哈希散列表中是否存在与所述IP地址对应的令牌桶; 在所述哈希散列表中存在与所述IP地址对应的令牌桶时,触发所述获取哈希散列表中与所述IP地址对应的令牌桶的步骤; 在所述哈希散列表中不存在与所述IP地址对应的令牌桶时,允许所述报文通过。6.一种流量控制装置,其特征在于,包括: 提取模块,用于在接收到报文时,提取该报文中的IP地址; 获取模块,用于获取哈希散列表中与所述IP地址对应的令牌桶,所述哈希散列表中预先存储有所述令牌桶,所述令牌桶内设置有IP地址和最大令牌数量; 第一限流模块,用于在所述报文的字节数量大于所述令牌桶内剩余的令牌数量时,抛弃所述报文; 第二限流模块,用于在所述报文的字节数量小于或等于所述令牌桶内剩余的令牌数量时,允许所述报文通过,并计算所述令牌桶内剩余的令牌数量与所述报文的字节数量之差得到当前令牌数量,将所述当前令牌数量确定为所述令牌桶内剩余的令牌数量; 所述令牌桶内剩余的令牌数量小于或等于所述最大令牌数量。7.根据权利要求6所述的流量控制装置,其特征在于,所述装置还包括: 接收模块,用于接收用户输入的IP地址和允许通过的每秒最大字节数; 设置模块,用于根据所述每秒最大字节数设置令牌桶中的最大令牌数量; 第一存储模块,用于将所述IP地址存储到所述令牌桶中; 转换模块,用于根据预设算法将所述IP地址转换成哈希索引; 第二存储模块,用于将所述令牌桶存储至哈希散列表中的所述哈希索引位置处。8.根据权利要求6所述的流量控制装置,其特征在于,所述获取模块包括: 第一转换子模块,用于根据预设算法将所述IP地址转换成哈希索引; 获取子模块,用于在所述哈希散列表中获取与所述哈希索引对应的令牌桶。9.根据权利要求7或8所述的流量控制装置,其特征在于,所述转换模块或所述第一转换子模块包括: 第二转换子模块,用于分别将所述IP地址中每个数据位的十进制数转换为二进制数; 第一运算子模块,用于将所述IP地址中的前两个数据位的二进制数与所述IP地址中的后两个数据位的二进制数进行异或运算,得到目标二进制数; 第三转换子模块,用于将所述目标二进制数转换为目标十进制数; 第二运算子模块,用于利用所述目标十进制数对预设数字进行取模运算,得到余数; 确定子模块,用于将所述余数确定为哈希散列表的哈希索引。10.根据权利要求6所述的流量控制装置,其特征在于,所述装置还包括: 判断模块,用于判断所述哈希散列表中是否存在与所述IP地址对应的令牌桶; 第一执行模块,用于在所述哈希散列表中存在与所述IP地址对应的令牌桶时,触发所述获取模块; 第二执行模块,用于在所述哈希散列表中不存在与所述IP地址对应的令牌桶时,允许所述报文通过。
【文档编号】H04L12/819GK105897610SQ201610197135
【公开日】2016年8月24日
【申请日】2016年3月31日
【发明人】周胜勇
【申请人】乐视控股(北京)有限公司, 乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1