一种网络流量监测方法和装置的制作方法

文档序号:7742338阅读:222来源:国知局
专利名称:一种网络流量监测方法和装置的制作方法
技术领域
本发明涉及IP网络流量监测和分析技术,尤其涉及对网络中各网址的流量进行排序的技术。
背景技术
包头采样是IP骨干网主要的流量监控技术之一,该技术是一种可操作性强、性价比好的技术。IETF针对这一应用专门推出了 IPFIX标准,但由于流量采集数据量一般都很大,加上网络流量监控的时效性要求比较高,所以采用软件实现的性能问题比较突出,主要体现在采集数据的缓存和快速访问、原始数据统计分析时的TOP N(即N个最大值或最小值)排序这两个方面。从各种全排序算法的原理可知,冒泡排序、堆排序、直接选择排序可以在不完成全部排序的情况下得到TOP N个最大(或最小)值;但由于冒泡法对于一个随机数列的排序效率较低,所以针对堆排序、直接选择排序来改进TOP N排序技术。另外,直接插入排序虽然也需要在完成全部排序的情况下才能得到TOP N个最大(最小)值,但如果对其算法作一下改进,同样可以满足要求。在IP网络流量监测中,通常需要了解互联网应用、目的网站、源IP地址、网络协议等等各个维度的流量统计状况。举例来说,通常需要了解在网络中的流量分布来自哪些IP 地址(源IP地址),去向哪些IP地址(目的IP地址),各个源IP地址或目的IP地址的流量分布情况和排名情况。但是IP地址的数量最大可达到232个,所以对所有IP地址进行流量进行排名是不现实的,而且在大多数情况下,只需要了解对网络影响最大的一批IP地址,即网络流量排名比较靠前的IP地址,这就是通常所说的TOP N排名,N值通常在10 100之间,再大或再小都失去了实际应用意义。在计算机算法中,传统的各类排序算法理论上也可以满足这一网络流量统计的这一需求,但是在实际使用中存在着很大的性能缺陷,主要原因是传统排序算法是全排序算法。在IP地址的流量监控中,传统的全排序算法意味着要对网络中数量极其庞大的IP地址产生的流量一一排序,而其实需要关注的仅仅是其中很小的流量排名前N的IP地址,但是对于N位之后的大量数据进行排序其实根本没必要,带来的结果是白白耗费大量的宝贵时间。

发明内容
本发明的目的在于解决上述问题,提供了一种网络流量监测方法,提高了网络流量原始数据统计分析在时效性上的效率。本发明的另一目的在于提供了一种网络流量监测装置。本发明的技术方案为本发明揭示了一种网络流量监测方法,对网络中前N个流量最大的网址进行排序,其中N是自然数,该监测方法包括将网络中任意N个网址根据流量的大小进行排序,构成当前处理序列的初始序列;将下一个未处理的网址和当前处理序列中流量最小的网址进行流量大小的比较;若该未处理的网址的流量小于该当前处理序列中流量最小的网址的流量,则丢弃该未处理的网址,否则,将该未处理的网址根据其流量大小插入到该当前处理序列中的合适位置,同时丢弃该流量最小的网址以更新该当前处理序列,返回上一步骤直至所有网址都已处理。根据本发明的网络流量监测方法的一实施例,N的取值范围是10 100之间。根据本发明的网络流量监测方法的一实施例,该任意N个网址是在网络流量监控过程中最初接收到的N个网址。根据本发明的网络流量监测方法的一实施例,将未处理的网址根据其流量大小插入到该当前处理序列中的合适位置是采用二分查找法。本发明还揭示了一种网络流量监测装置,对网络中前N个流量最大的网址进行排序,其中N是自然数,该监测装置包括流量监测模块,监测网络中各网址的流量;排序模块,连接该流量监测模块,将网络中任意N个网址根据流量的大小进行排序,构成当前处理序列的初始序列;比较模块,连接该排序模块和该流量监测模块,将从该流量监测模块输出的下一个未处理的网址和来自该排序模块的当前处理序列中流量最小的网址进行流量大小的比较;序列更新模块,其输入端连接该比较模块,输出端连接该排序模块,若该未处理的网址的流量小于该当前处理序列中流量最小的网址的流量,则丢弃该未处理的网址,否则, 将该未处理的网址根据其流量大小插入到该当前处理序列中的合适位置,同时丢弃该流量最小的网址以更新该当前处理序列;其中该比较模块和该序列更新模块是反复运行的直至网络中所有网址均已处理。根据本发明的网络流量监测装置的一实施例,N的取值范围是10 100之间。根据本发明的网络流量监测装置的一实施例,该任意N个网址是在网络流量监控过程中最初接收到的N个网址。根据本发明的网络流量监测装置的一实施例,该序列更新模块中将未处理的网址根据其流量大小插入到该当前处理序列中的合适位置是采用二分查找法。本发明对比现有技术有如下的有益效果本发明通过先将网络中任意N个网址根据其流量大小进行排序,再将下一个未处理的网址和此前N个网址中流量最小的网址进行流量比较,若未处理的网址小于N个网址中最小的网址流量则直接丢弃未处理的网址,否则将这个网址插入到合适的位置并丢弃流量最小的网址来更新这个序列。对比现有技术中用传统的排序方法对网址流量进行统计监测的技术手段,本发明能够节省更多的时间和资源。


图1是本发明的网络流量监测方法的实施例的流程图。
图2是本发明的网络流量监测方法示例中序列示意图。图3是本发明的网络流量监测方法示例中对序列进行更新的示意图。图4是本发明的网络流量监测装置的实施例的原理图。
具体实施例方式下面结合附图和实施例对本发明作进一步的描述。网络流量监测方法的实施例图1示出了本发明的网络流量监测方法的实施例。请参见图1,下面是对本实施例的网络流量监测方法的各个步骤的详细描述。步骤SlO 从网络中获取N个网址的流量。这里的N是一个自然数,大小可以根据需要而定,通常设在10 100之间。这里N 个网址的取法可以是任意的,通常是在网络流量监控过程中最初接收到的N个网址。为了描述方便,将N设定为10,这1个网址分别示为D1、D2……DlO0步骤Sll 将这N个网址根据流量大小进行排序,构成当前处理序列的初始序列。可以是从小到大的排序,也可以是从大到小的排序。这里的排序方法可以是任意一种已知的排序方法。此时构成的当前处理序列如图2所示,从图2中可以看出,这是一个流量值按照从大到小排列的链表。图2所示的这一链表可看作当前处理序列的初始值。步骤S12 获取下一个未处理的网址。在本实施例中为描述方便可定义为Dx。步骤S13 将这一未处理的网址和当前处理序列中的流量最小的网址进行流量大小的比较。如果未处理的网址流量小于流量最小的网址,则进入步骤S14,否则进入步骤 S15。承上所述,就是比较Dx和D7的大小。若Dx小于D7则进入步骤S14,否则进入步
马聚S15 ο步骤S14 直接丢弃未处理的网址。然后返回步骤S12步骤S15 将未处理的网址根据流量大小插入到当前处理序列中的合适位置。
这种插入方法可以采用任意一种已知的插入方法,例如可以采用高效的二分查找算法。例如,需要插入的网址是D11,假定Dll小于D4且大于D8,则将Dll插入到D4和 D8之间,这时候当前处理序列变成了 11项,由于只需要10项,可以把流量最小的网址D7淘汰,如图3所示。步骤S16 丢弃当前处理序列中的流量最小的网址。然后返回步骤S12。上述的步骤S15和S16就是为了更新当前处理序列。在本实施例的方法中有一个循环结构,跳出循环的条件是所有需要处理的网址都已全部处理完成。网络流量监测装置的实施例图4示出了本发明的网络流量监测装置的实施例。请参见图4,本实施例的网络流量监测装置包括流量监测模块10、排序模块20、比较模块30和序列更新模块40。它们之间的连接关系是流量监测模块10的输出端分别连接排序模块20和比较模块30。排序模块20的输出端连接比较模块30。比较模块30的输出端连接序列更新模块40。序列更新模块40的输出端连接排序模块20。
流量监测模块10监测网络中各网址的流量。排序模块20从流量监测模块10中获取N个网址的流量,并将这N个网址根据流量大小进行排序,构成当前处理序列的初始值。 这里的N是一个自然数,大小可以根据需要而定,通常设在10 100之间。这里N个网址的取法可以是任意的,通常是在网络流量监控过程中最初接收到的N个网址。比较模块30从流量监测模块10获得下一个未处理的网址,并将其和来自排序模块20的当前处理序列中流量最小的网址进行流量大小的比较,并将比较结果输出给序列更新模块40。在序列更新模块40中,如果比较结果是未处理的网址流量小于当前处理序列中流量最小的网址的流量,则丢弃这个未处理的网址。否则,这个未处理的网址根据其流量大小插入到排序模块20所完成的当前处理序列中的合适位置,同时丢弃当前处理序列中流量最小的网址,从而完成排序模块20中当前处理序列的更新。在插入未处理的网址的过程中,可以是已知的任意一种插入算法,可以采用比较高效的二分查找算法。在实际应用中,本发明的流量统计监测方法在时间和资源消耗上明显低于传统的依靠直接插入排序而完成的流量统计监测。上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
权利要求
1.一种网络流量监测方法,对网络中前N个流量最大的网址进行排序,其中N是自然数,该监测方法包括将网络中任意N个网址根据流量的大小进行排序,构成当前处理序列的初始序列;将下一个未处理的网址和当前处理序列中流量最小的网址进行流量大小的比较;若该未处理的网址的流量小于该当前处理序列中流量最小的网址的流量,则丢弃该未处理的网址,否则,将该未处理的网址根据其流量大小插入到该当前处理序列中的合适位置,同时丢弃该流量最小的网址以更新该当前处理序列,返回上一步骤直至所有网址都已处理。
2.根据权利要求1所述的网络流量监测方法,其特征在于,N的取值范围是10 100 之间。
3.根据权利要求1所述的网络流量监测方法,其特征在于,该任意N个网址是在网络流量监控过程中最初接收到的N个网址。
4.根据权利要求1所述的网络流量监测方法,其特征在于,将未处理的网址根据其流量大小插入到该当前处理序列中的合适位置是采用二分查找法。
5.一种网络流量监测装置,对网络中前N个流量最大的网址进行排序,其中N是自然数,该监测装置包括流量监测模块,监测网络中各网址的流量;排序模块,连接该流量监测模块,将网络中任意N个网址根据流量的大小进行排序,构成当前处理序列的初始序列;比较模块,连接该排序模块和该流量监测模块,将从该流量监测模块输出的下一个未处理的网址和来自该排序模块的当前处理序列中流量最小的网址进行流量大小的比较;序列更新模块,其输入端连接该比较模块,输出端连接该排序模块,若该未处理的网址的流量小于该当前处理序列中流量最小的网址的流量,则丢弃该未处理的网址,否则,将该未处理的网址根据其流量大小插入到该当前处理序列中的合适位置,同时丢弃该流量最小的网址以更新该当前处理序列;其中该比较模块和该序列更新模块是反复运行的直至网络中所有网址均已处理。
6.根据权利要求5所述的网络流量监测装置,其特征在于,N的取值范围是10 100 之间。
7.根据权利要求5所述的网络流量监测装置,其特征在于,该任意N个网址是在网络流量监控过程中最初接收到的N个网址。
8.根据权利要求5所述的网络流量监测装置,其特征在于,该序列更新模块中将未处理的网址根据其流量大小插入到该当前处理序列中的合适位置是采用二分查找法。
全文摘要
本发明公开了一种网络流量监测方法和装置,提高了网络流量原始数据统计分析在时效性上的效率。其技术方案为方法对网络中前N个流量最大的网址进行排序,方法包括将网络中任意N个网址根据流量的大小进行排序,构成当前处理序列的初始序列;将下一个未处理的网址和当前处理序列中流量最小的网址进行流量大小的比较;若未处理的网址的流量小于当前处理序列中流量最小的网址的流量,则丢弃未处理的网址,否则,将未处理的网址根据其流量大小插入到当前处理序列中的合适位置,同时丢弃流量最小的网址以更新当前处理序列,重复上一步骤直至所有网址都已处理。
文档编号H04L12/56GK102170373SQ201010113469
公开日2011年8月31日 申请日期2010年2月25日 优先权日2010年2月25日
发明者俞钢, 周晔, 王 华, 范静, 詹海, 郑文蕴 申请人:国信朗讯科技网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1