一种网络节点监测方法及装置的制造方法_3

文档序号:9380250阅读:来源:国知局
成应答包的时间即为延迟时间。在本实施例中,通过每个应答包的平均延迟时间来衡量所 述网络服务器当前的负载,即每个应答包的平均延迟时间越长,说明网络服务器负载越高; 反之,则说明网络服务器负载越低。
[0094] 本发明对如何根据所述平均访问请求数量与所述平均延迟时间计算所述预设请 求数量不做具体限定,只要满足所述预设请求数量与所述平均访问请求数量成正比、与所 述平均延迟时间均成反比的条件均可。在本实施中,具体的,可以计算上一时间周期内每个 应答包的平均延迟时间与正常延迟时间之间的倍数关系,以及计算上一时间周期内每个用 户的平均访问请求数量,根据所述平均访问请求数量与所述倍数关系计算所述预设请求数 量。
[0095] 举个例子,假设上一时间周期内一共接收了 10000个访问请求,这些请求来源于 100个用户,因此每个用户的平均访问请求数量为100个。如果在上一时间周期内,所述网 络服务器发送的每个应答包的平均延迟时间是正常延迟时间的10倍,那么所述预设请求 数量为100X10 = 1000。以上述例子为基准,如果所述网络服务器发送的每个应答包的平 均延迟时间是正常延迟时间的5倍,那么所述预设请求数量为1000X 10/5 = 2000。若每个 用户的平均访问请求数量为1000个,且在上一时间周期内,所述网络服务器发送的每个应 答包的平均延迟时间是正常延迟时间的10倍,那么所述预设请求数量为1000X 100/10 = 10000ο
[0096] 由于黑客用于攻击的网络节点的数量通常是一定的,一般不会发生变化,假设攻 击者利用1000个网络节点发起资源滥用攻击,发送了 10万个访问请求,则平均每个网络节 点的访问请求数量为100,如果攻击持续下去,每个网络节点的访问请求数量会变得更多, 但是无论如何变化,都源于这1000个网络节点。基于这个事实,本实施例通过每接收一次 网络节点发送的访问请求,就在所述第二表格中对应累计所述网络节点对应的访问请求数 量,如果累积的访问请求数量大于或等于所述预设请求数量,则认为所述网络节点为非正 常网络节点。相对于现有技术一,本实施例实现了在众多与服务器连接的网络节点中,实时 地监测出黑客进行资源滥用攻击所利用的非正常网络节点的目的,提高了网络服务器防御 攻击的能力,保证服务器的正常运行。相对于现有技术二,由于本实施例统计的是每个网络 节点的访问请求数量,而不是删除令牌的速率,因此很容易在众多网络节点中辨认出哪些 网络节点是非正常网络节点,因为无论黑客控制多少网络节点发起攻击,被控制的网络节 点发送访问请求的数量会远远大于普通用户正常发送访问请求的数量。
[0097] 另外,本实施例通过获取所述网络节点区别于其他网络节点的第一标识,并根据 哈希算法计算所述第一标识对应的哈希值,然后判断所述哈希值在所述第一表格对应的表 项中是否存在所述第一标识,如果是,则获取所述第一标识对应的所述第一标识在所述第 二表格中的位置,进而可以在所述第二表格中快速查找到所述第一标识。相对于现有技术 中通常采用遍历的方式来在表格中查找标识的方法,本实施例有效提高了监测的效率。
[0098] 方法实施例二
[0099] 参见图2,该图为本发明提供的一种网络节点监测方法实施例二的流程图。
[0100] 本实施例提供的网络节点监测方法包括如下步骤:
[0101] 步骤S201 :接收网络节点发送的访问请求,获取所述网络节点区别于其他网络节 点的第一标识。
[0102] 在方法实施例一中,所述第一标识可以包括所述网络节点的IP地址、网站cookie 和/或网络节点物理设备的唯一标识等。然而,由于由所述IP地址、网站cookie和/或网 络节点物理设备的唯一标识构成的第一标识往往较为复杂,在以下步骤在第一表格或第二 表格中查找所述第一标识时耗时比较长,为了克服这个问题,在本实施例中,可以将IP地 址、网站cookie和/或网络节点物理设备的唯一标识等进行处理,即所述第一标识为根据 哈希算法计算所述IP地址、网站cookie和/或网络节点物理设备的唯一标识等的哈希值。
[0103] 步骤S202 :根据哈希算法计算所述第一标识对应的哈希值。
[0104] 所述哈希值表示所述第一标识在第一表格中的位置,所述第一表格中保存有所述 第一标识与所述第一标识在第二表格中的位置的对应关系。
[0105] 步骤S203 :判断所述哈希值对应的所述第一表格的表项中是否存在所述第一标 识,如果是,则执行步骤S204 ;如果否,则执行步骤S207。
[0106] 步骤S204 :依据所述对应关系在所述第二表格中查找所述第一标识,并在所述第 一标识对应的当前的访问请求数量的基础上加1,然后执行步骤S205。
[0107] 步骤S205 :判断增加后的访问请求数量是否大于或等于预设请求数量,如果是, 则执行步骤S206 ;
[0108] 步骤S206 :确认所述网络节点为非正常网络节点,流程结束。
[0109] 步骤S207 :判断所述第二表格中当前指针指向的表项是否为空,如果是,则执行 步骤S208 ;如果否,则执行步骤S209。
[0110] 在本实施例中,当所述第一表格中不存在所述第一标识时,由于所述第一表格和 所述第二表格中是同步的,也即这两个表格中的标识完全一样,那么说明所述第二表格也 不存在所述第一标识,所述第一标识为一个新标识。在这种情况下,判断所述第二表格中当 前指针指向的表项是否为空,如果是空的,说明所述第二表格中存在空表项,那么就可以在 所述当前指针指向的表项中加入所述第一标识,并将所述第一标识对应的访问请求数量置 为1。而如果所述第二表格中当前指针指向的表项不为空,那么说明所述第一表格中没有空 表项,这时通过将所述当前指针指向的表项中的访问请求数量减1,然后将所述当前指针指 向下一个表项。当下一个访问请求到来且该请求对应的标识在所述第二表格中不存在时, 将所述下一个表项的访问请求数量减1,以此类推。通过这样一种方式使得在所述第二表格 中表项数量一定的情况下,所述第二表格中每个标识对应的访问请求数量占总体访问请求 数量的比率是客观的、公平的。
[0111] 所述第二表格中记录的是访问请求数量最多的前N个网络节点,所述N为所述第 二表格的行数,以实现对这些网络节点监控的目的。
[0112] 步骤S208 :在所述当前指针指向的表项中填写所述第一标识,并将所述第一标识 对应的访问请求数量置为1,同时在所述第二表格中记录所述第一标识以及所述第一标识 在所述第二表格中的位置,然后执行步骤S212。
[0113] 在本实施例中,所述第一表格和所述第二表格是同步更新的,也就是说,所述第一 表格中所有的标识都与所述第二表格中的标识保持一致,如果所述第一表格中加入新的标 识,那么该标识也应当加入所述第二表格;如果所述第一表格中删除一个标识,那么所述第 二表格中也需要删除该标识。在实际应用中,所述第一表格和所述第二表格的表项行数可 以设置为相同。
[0114] 在本实施例中,所述哈希值在所述第一表格对应的表项中不存在所述第一标识有 两种情况:一种是所述第一表格中与所述哈希值对应的表项为空;另一种是所述第一表 格中与所述哈希值对应的表项不为空,但是其中的标识与所述第一标识不一致。对于这两 种情况,在所述第二表格中记录所述第一标识以及所述第一标识在所述第二表格中的位置 的方法是不同的。对于前一种情况,可以直接在所述哈希值对应的表项中填写所述第一标 识以及所述第一标识在所述第二表格中的位置;对于后一种情况(业内也称为哈希冲突), 由于表项已被占用,因此需要为所述第一表格动态分配一个表项,将所述第一标识以及所 述第一标识在所述第二表格中的位置记录在所述分配的表项中,并用指针从所述哈希值对 应的表项指向所述分配的表项,例如表2。所述表2为所述第一表格的不意图,在该表中, EVENT ID为所述第一标识,POSTION为所述第一标识在所述第二表格中的位置,例如EVENT ID为73461在第二表格中的位置为第9行表项。NEXT为是否指向动态分配的表项,NULL 为不指向,存在指针即为指向。例如EVENT ID23和EVENT ID3的哈希值均为4,也就是说, 这两个第一标识在所述第一表格中的位置均为第4行,因此发生了哈希冲突,在这种情况 下,由于EVENT ID23先记录在所述第一表格中,那么就为EVENT ID3动态分配一个表项,并 将EVENT ID3以及其在第二表格的位置8记录在该动态分配的表项中,并在EVENT ID23的 NEXT中用指针指向该动态分配的表项。
[0115] 表2第一表格
[0116]
[0117] 步骤S209 :将当前指针指向的表项中的访问请求数量减1,然后执行步骤S210。
[0118] 步骤S210 :判断所述当前指针指向的表项的访问请求数量是否为0,如果是,则 执行步骤S211 ;如果否,则执行步骤S212。
[0119] 在本实施例中,当所述第二表格中当前指针指向的表项不为空,且将所述当前指 针指向的表项中的访问请求数量减1后,判断所述当前指针指向的表项的访问请求数量是 否为0,如果是,说明所述表项中原来的访问请求数量为1,也就是说所述表项中第二标识 对应的网络节点发送的访问请求对当前的服务器负载起到的作用微乎其微,因此可以将所 述第二标识替换为所述第一标识,并将所述第一标识对应的访问请求数量置为1,以对所述 第一标识的请求数量进行累计。同时,将所述第二标识的哈希值在第一表格中对应的表项 的内容清空,将所述第一标识以及所述第一标识在所述第二表格中的位置填充至所述清空 后的表项中,以使所述第一表格和所述第二表格实现同步更新。
[0120] 例如,所述第二表格中当前指针指向的第二标识为132,在所述第二表格中位于第 65行,所述第二标识132对应的访问请求数量减1后为0。现将第一标识654替换掉第二 表格中的所述第二标识132,并将访问请求数量置为1。同时,根据哈希算法计算得到第二 标识132在所述第一表格中的位置为98,那么将第一表格中第98行的表项清空,并将所述 第一标识654以及所述第一标识在所述第一表格中的位置65填入清空的第98行表项中, 然后将所述第二表格中的指针指向下一个表项。
[0121] 步骤S211 :计算所述当前指针指向表项中的第二标识的哈希值,并将所述第一表 格中与所述第二标识的哈希值对应的表项中的内容清空;将所述第二表格中的所述第二标 识替换为所述第一标识,并将所述第一标识对应的访问请求数量置为1 ;在所述第一表格 中记录所述第一标识以
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1