流量统计方法、流量质量分析方法及装置与流程

文档序号:28816546发布日期:2022-02-09 06:20阅读:140来源:国知局
流量统计方法、流量质量分析方法及装置与流程

1.本发明涉及流量统计技术领域,具体涉及一种流量统计方法、流量质量分析方法及装置。


背景技术:

2.随着互联网应用尤其是近几年移动互联的飞速发展,各种新协议不断涌现,且协议的复杂度也越来越高。例如:一个父协议下包括多个子协议,子协议也包括多个次子协议。由于父协议下的子协议和次子协议种类过多,流量统计比较复杂。
3.现有的流量统计方法大部分是针对各种协议进行协议识别和字段解析,分别获得同一个父协议下不同子协议或次子协议的流量,无法完整的统计一个父协议下的总流量。
4.并且,现有技术中对流量质量进行分析只会对数据包进行报文字节统计、抖动和丢包率等参数做相关计算,然后展现给客户,但这些参数比较专业,导致用户很难理解,造成客户无法直观的看出流量质量的好坏。


技术实现要素:

5.有鉴于此,有必要提供一种流量统计方法、流量质量分析方法及装置,用以解决现有技术中存在的无法完整的统计一个父协议下的总流量以及无法直观的看出流量质量好坏的技术问题。
6.为了解决上述技术问题,本发明提供了一种流量统计方法,包括:获取多个报文,并对所述多个报文进行解析,获得所述多个报文的源地址和目的地址;将所述源地址和所述目的地址均相同的报文分发至同一线程,获得多个目标报文;基于预设的特征库确定所述目标报文的父协议;对所述父协议进行解析,获得所述父协议的协议地址端口表;所述父协议包括至少一个子协议,所述协议地址端口表包括所述子协议的参考协议地址和参考端口;获取所述目标报文的协议地址和端口,并基于所述协议地址端口表以及所述目标报文的协议地址和端口确定所述多个目标报文中的待统计报文,并根据所述待统计报文进行流量统计。
7.在一些可能的实现方式中,所述基于预设的特征库确定所述目标报文的父协议,包括:获取所述目标报文的有效载荷;将所述有效载荷与所述预设的特征库中的协议特征进行匹配,确定所述目标报文的父协议。
8.在一些可能的实现方式中,所述基于所述协议地址端口表以及所述目标报文的协议地址和端口确定所述多个目标报文中的待统计报文,包括:
判断所述协议地址端口表中是否存在与所述目标报文的协议地址和端口对应的参考协议地址和参考端口;若所述协议地址端口表中存在与所述目标报文的协议地址和端口对应的参考协议地址和参考端口,则所述目标报文为所述待统计报文;若所述协议地址端口表中不存在与所述目标报文的协议地址和端口对应的参考协议地址和参考端口,则所述目标报文不是所述待统计报文。
9.在一些可能的实现方式中,所述子协议包括至少一个次子协议;在所述对所述父协议进行解析,获得所述父协议的协议地址端口表之后,还包括:对所述子协议进行解析,获得所述次子协议的参考子协议和参考子端口;将所述参考子协议和所述参考子端口添加至所述协议地址端口表。
10.在一些可能的实现方式中,所述将所述源地址和所述目的地址均相同的报文分发至同一线程,获得多个目标报文,包括:将所述源地址和所述目的地址均相同的报文通过哈希算法分发至同一线程,获得多个目标报文。
11.另一方面,本发明还提供了一种流量质量分析方法,包括:基于流量统计方法获得基于目标协议传输的数据包的目标流量;获取所述目标流量在传输过程中的平均延时、平均抖动、延时常量和丢包率;基于所述平均延时、所述平均抖动和所述延时常量确定分析参数;基于所述分析参数和预设的分析标准对所述目标流量的质量进行分析;其中,所述流量统计方法为上述流量统计方法中任意一种可能的实现方式。
12.在一些可能的实现方式中,所述基于所述平均延时、所述平均抖动和所述延时常量确定分析参数,包括:基于所述平均延时、所述平均抖动和所述延时常量确定有效延时;基于所述有效延时和所述丢包率确定过渡参数;当所述过渡参数小于零时,所述分析参数为1;当所述过渡参数大于或等于零时,基于预设模型计算所述分析参数。
13.在一些可能的实现方式中,所述预设模型为:mos = 1 + 0.035*r + 0.000007*r*(r-60)*(100-r)式中,mos为所述分析参数;r为所述过渡参数。
14.另一方面,本发明还提供一种流量统计装置,包括:报文解析单元,用于获取多个报文,并对所述多个报文进行解析,获得所述多个报文的源地址和目的地址;报文分发单元,用于将所述源地址和所述目的地址均相同的报文分发至同一线程,获得多个目标报文;父协议确定单元,用于基于预设的特征库确定所述目标报文的父协议;父协议解析单元,用于对所述父协议进行解析,获得所述父协议的协议地址端口表;所述父协议包括至少一个子协议,所述协议地址端口表包括所述子协议的参考协议地址和参考端口;流量统计单元,用于获取所述目标报文的协议地址和端口,并基于所述协议地址
端口表以及所述目标报文的协议地址和端口确定所述多个目标报文中的待统计报文,并根据所述待统计报文进行流量统计。
15.另一方面,本发明还提供了流量质量分析装置,包括:目标流量统计单元,用于基于流量统计方法获得基于目标协议传输的数据包的目标流量;参数获取单元,用于获取所述目标流量在传输过程中的平均延时、平均抖动、延时常量和丢包率;分析参数确定单元,用于基于所述平均延时、所述平均抖动和所述延时常量确定分析参数;流量质量分析单元,用于基于所述分析参数和预设的分析标准对所述目标流量的质量进行分析;其中,所述流量统计方法为上述流量统计方法中任意一种可能的实现方式。
16.采用上述实施例的有益效果是:本发明提供的流量统计方法,通过基于预设的特征库确定目标报文的父协议,并对父协议进行解析,获得父协议的协议地址端口表,然后基于协议地址端口表以及目标报文的协议地址和端口确定多个目标报文中的待统计报文。通过父协议实现子协议的强关联,进而实现对父协议下的总流量进行完整统计。并且,本发明通过将源地址和目的地址均相同的报文分发至同一线程,获得目标报文,还可提高对目标报文寻找父协议的效率,进而可提高流量统计效率。
17.进一步地,本发明提供的流量质量分析方法,通过基于平均延时、平均抖动和延时常量确定分析参数,基于分析参数和预设的分析标准对目标流量的质量进行分析,即:将在传统的主观评价方式修改为客观的通过分析参数进行数字评价的方式,在实现客户可根据分析参数直观的看出流量质量好坏的同时可提高分析的可靠性。
附图说明
18.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1为本发明提供的流量统计方法的一个实施例流程示意图;图2为本发明图1中s103的一个实施例流程示意图;图3为本发明图1中s105的一个实施例流程示意图;图4为本发明提供的对子协议进行解析的一个实施例流程示意图;图5为本发明提供的流量质量分析的一个实施例流程示意图;图6为本发明图5中s503的一个实施例流程示意图;图7为本发明提供的流量统计装置的一个实施例结构示意图;图8为本发明提供的流量质量分析装置的一个实施例结构示意图;图9为本发明提供的电子设备的一个实施例结构示意图。
具体实施方式
20.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
22.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
23.本发明提供了一种流量统计方法、流量质量分析方法及装置,以下分别进行说明。
24.图1为本发明提供的流量统计方法的一个实施例流程示意图,如图1所示,流量统计方法包括:s101、获取多个报文,并对多个报文进行解析,获得多个报文的源地址和目的地址;s102、将源地址和目的地址均相同的报文分发至同一线程,获得多个目标报文;s103、基于预设的特征库确定目标报文的父协议;s104、对父协议进行解析,获得父协议的协议地址端口表;父协议包括至少一个子协议,协议地址端口表包括子协议的参考协议地址和参考端口;s105、获取目标报文的协议地址和端口,并基于协议地址端口表以及目标报文的协议地址和端口确定多个目标报文中的待统计报文,并根据待统计报文进行流量统计。
25.与现有技术相比,本发明实施例提供的流量统计方法,通过基于预设的特征库确定目标报文的父协议,并对父协议进行解析,获得父协议的协议地址端口表,然后基于协议地址端口表以及目标报文的协议地址和端口确定多个目标报文中的待统计报文。通过父协议实现子协议的强关联,进而实现对父协议下的总流量进行完整统计。并且,本发明通过将源地址和目的地址均相同的报文分发至同一线程,获得目标报文,还可提高对目标报文寻找父协议的效率,进而可提高流量统计效率。
26.在本发明的一些实施例中,流量统计方法可用于统计网络电话(voice over internet protocol,voip)应用进行流量统计。
27.其中,voip是以ip为网络层协议,利用 internet 为传输载体,实现语音信号传送的通信方式,其可实现了pc对pc、pc对电话、电话对电话的连接。
28.为了提高步骤s102中对报文分发至同一线程的可靠性和不可篡改性,在本发明的一些实施例中,步骤s102具体为:将源地址和目的地址均相同的报文通过哈希算法分发至同一线程,获得多个目标报文。
29.通过哈希算法实现报文的分发,可避免报文在分发过程中被篡改,提高报文分发的可靠性,从而可提高流量统计的准确性。
30.具体地,可通过数据平面开发套件(data plane development kit, dpdk)将源地址和目的地址均相同的报文通过哈希算法分发至同一线程,获得多个目标报文。
31.在本发明的一些实施例中,如图2所示,步骤s103包括:s201、获取目标报文的有效载荷(payload);s202、将有效载荷与预设的特征库中的协议特征进行匹配,确定目标报文的父协议。
32.需要说明的是:当本发明实施例对voip应用进行流量统计时,voip应用通过h.323协议组进行流量传输,h.323协议组包括父协议h.225,父协议h.225包括子协议h.245。
33.在本发明的实施例中,如图3所示,步骤s105包括:s301、判断协议地址端口表(ip端口表)中是否存在与目标报文的协议地址(ip)和端口对应的参考协议地址和参考端口;s302、若协议地址端口表中存在与目标报文的协议地址和端口对应的参考协议地址和参考端口,则目标报文为待统计报文;s303、若协议地址端口表中不存在与目标报文的协议地址和端口对应的参考协议地址和参考端口,则目标报文不是待统计报文。
34.本发明实施例通过判断协议地址端口表中是否存在与目标报文的协议地址和端口对应的参考协议地址和参考端口,即可判断目标报文是否为待统计报文,判断方式简单、可靠。
35.由于在实际情况中,子协议可能存在至少一个次子协议,例如:子协议h.245还包括两个次子协议,分别为rtp次子协议和rtcp次子协议。为了避免在进行流量统计时,漏统计次子协议导致流量统计不可靠的技术问题,在本发明的一些实施例中,如图4所示,在步骤s104之后,还包括:s401、对子协议进行解析,获得次子协议的参考子协议和参考子端口;s402、将参考子协议和参考子端口添加至协议地址端口表。
36.本发明实施例通过将次子协议的参考子协议和参考子端口添加至协议地址端口表,可实现次子协议与父协议的关联,从而实现对次子协议传输的流量进行统计,提高流量统计的完整性。
37.以voip应用为例,在将源地址和目的地址均相同的报文分发至同一线程,获得多个目标报文之后,通过预设的特征库匹配识别父协议h.225,在解析父协议h.225的目标报文时,将其子协议h.245的协议地址和端口加入协议地址端口表。当子协议h.245进入线程时,通过匹配协议地址端口表查找,如果能找到匹配的目标报文,则目标报文为子协议h.245的目标报文,在解析子协议h.245时,再将其次子协议rtp和rtcp的协议地址和端口加入协议地址端口表。同样,当次子协议rtp和rtcp的目标报文进入线程后匹配协议地址端口表进行协议识别。由此即可实现父协议h.225的所有流量的统计。
38.由于客户关心流量质量,现有的流量质量分析方法是将报文字节数统计、抖动和丢包率做相关计算,然后展现给客户。但是这些参数比较专业,导致用户很难理解,显得不直观,为了解决这一技术问题,本发明实施例还提供了一种流量质量分析方法,如图5所示,流量质量分析方法包括:s501、基于流量统计方法获得基于目标协议传输的数据包的目标流量;s502、获取目标流量在传输过程中的平均延时、平均抖动、延时常量和丢包率;s503、基于平均延时、平均抖动和延时常量确定分析参数;
s504、基于分析参数和预设的分析标准对目标流量的质量进行分析;其中,步骤s501中的流量统计方法为上述流量统计方法实施例中的流量统计方法。
39.本发明实施例提供的流量质量分析方法,通过基于平均延时、平均抖动和延时常量确定分析参数,基于分析参数和预设的分析标准对目标流量的质量进行分析,即:将在传统的主观评价方式修改为客观的通过分析参数进行数字评价的方式,在实现客户可根据分析参数直观的看出流量质量好坏的同时可提高分析的可靠性。
40.需要说明的是:目标流量可以为父协议下的总流量也可为子协议或次子协议的流量,可根据实际场景进行选取。
41.在本发明的具体实施例中,当对voip应用中的流量进行分析时,目标流量为次子协议rtp下的流量。
42.还需要说明的是:本发明实施例中的流量统计方法每个步骤实现的原理及具体实施例可参见上述流量统计方法实施例中的相应内容,此处不再赘述。
43.在本发明的一些实施例中,步骤s504中预设的分析标准为:当分析参数为0.01-2.99时,目标流量的质量较差;当分析参数为3.00-4.33时,目标流量的质量一般;当分析参数为4.34-5时,目标流量的质量好。
44.即:本发明实施例通过查看分析参数的数值即可分析出流量质量的好坏,分析方法简单、直观。
45.在本发明的一些实施例中,如图6所示,步骤s503包括:s601、基于平均延时、平均抖动和延时常量确定有效延时;s602、基于有效延时和丢包率确定过渡参数;s603、当过渡参数小于零时,分析参数为1;s604、当过渡参数大于或等于零时,基于预设模型计算分析参数。
46.具体地,有效延时为:effective_latency = average_latency + 2* average_jitter + codec_delay式中,effective_latency为有效延时;average_latency为平均延时;average_jitter为平均抖动;codec_delay为延时常量。
47.过渡参数为:r = r1ꢀ‑ꢀ
2.5 * rtp_pkt_loss式中,r为过渡参数;r1为局部参数;rtp_pkt_loss为丢包率。
48.其中,当有效延时小于第一阈值时,局部参数为:r1= 93.2
ꢀ‑ꢀ
(effective_latency / 40)当有效延时大于或等于第一阈值时,局部参数为:r
1 = 93.2
ꢀ‑ꢀ
((effective_latency
ꢀ‑ꢀ
120)/ 10)在本发明的一些实施例中,第一阈值为160。应当理解的是,第一阈值可根据实际流量环境进行调整,在此不做具体赘述。
49.在本发明的一些实施例中,步骤s604中的预设模型为:mos = 1 + 0.035*r + 0.000007*r*(r-60)*(100-r)式中,mos为分析参数;r为过渡参数。
50.为了更好实施本发明实施例中的流量统计方法,在流量统计方法基础之上,对应的,如图7所示,本发明实施例还提供了一种流量统计装置700,包括:报文解析单元701,用于获取多个报文,并对多个报文进行解析,获得多个报文的源地址和目的地址;报文分发单元702,用于将源地址和目的地址均相同的报文分发至同一线程,获得多个目标报文;父协议确定单元703,用于基于预设的特征库确定目标报文的父协议;父协议解析单元704,用于对父协议进行解析,获得父协议的协议地址端口表;父协议包括至少一个子协议,协议地址端口表包括子协议的参考协议地址和参考端口;流量统计单元705,用于获取目标报文的协议地址和端口,并基于协议地址端口表以及目标报文的协议地址和端口确定多个目标报文中的待统计报文,并根据待统计报文进行流量统计。
51.上述实施例提供的流量统计装置700可实现上述流量统计方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述流量统计方法实施例中的相应内容,此处不再赘述。
52.为了更好实施本发明实施例中的流量质量分析方法,在流量质量分析方法基础之上,对应的,如图8所示,本发明实施例还提供了一种流量质量分析装置800,包括:目标流量统计单元801,用于基于流量统计方法获得基于目标协议传输的数据包的目标流量;参数获取单元802,用于获取目标流量在传输过程中的平均延时、平均抖动、延时常量和丢包率;分析参数确定单元803,用于基于平均延时、平均抖动和延时常量确定分析参数;流量质量分析单元804,用于基于分析参数和预设的分析标准对目标流量的质量进行分析。
53.上述实施例提供的流量质量分析装置800可实现上述流量质量分析方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述流量质量分析方法实施例中的相应内容,此处不再赘述。
54.如图9所示,本发明还相应提供了一种电子设备900。该电子设备900包括处理器901、存储器902及显示器903。图9仅示出了电子设备900的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
55.存储器902在一些实施例中可以是电子设备900的内部存储单元,例如电子设备900的硬盘或内存。存储器902在另一些实施例中也可以是电子设备900的外部存储设备,例如电子设备900上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
56.进一步地,存储器902还可既包括电子设备900的内部储存单元也包括外部存储设备。存储器902用于存储安装电子设备900的应用软件及各类数据。
57.处理器901在一些实施例中可以是一中央处理器(central processing unit,cpu),微处理器或其他数据处理芯片,用于运行存储器902中存储的程序代码或处理数据,例如本发明中的流量统计方法和/或流量质量分析方法。
58.显示器903在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。显示器903用于显示在电子设备900的信息以及用于显示可视化的用户界面。电子设备900的部件901-903通过系统总线相互通信。
59.在本发明的一些实施例中,当处理器901执行存储器902中的流量统计方法时,可实现以下步骤:获取多个报文,并对多个报文进行解析,获得多个报文的源地址和目的地址;将源地址和目的地址均相同的报文分发至同一线程,获得多个目标报文;基于预设的特征库确定目标报文的父协议;对父协议进行解析,获得父协议的协议地址端口表;父协议包括至少一个子协议,协议地址端口表包括子协议的参考协议地址和参考端口;获取目标报文的协议地址和端口,并基于协议地址端口表以及目标报文的协议地址和端口确定多个目标报文中的待统计报文,并根据待统计报文进行流量统计。
60.在本发明的一些实施例中,当处理器901执行存储器902中的流量质量分析方法时,可实现以下步骤:基于流量统计方法获得基于目标协议传输的数据包的目标流量;获取目标流量在传输过程中的平均延时、平均抖动、延时常量和丢包率;基于平均延时、平均抖动和延时常量确定分析参数;基于分析参数和预设的分析标准对目标流量的质量进行分析。
61.应当理解的是:处理器901在执行存储器902中的流量统计程序和/或流量质量分析程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面相应方法实施例的描述。
62.进一步地,本发明实施例对提及的电子设备900的类型不做具体限定,电子设备900可以为手机、平板电脑、个人数字助理(personal digital assistant,pda)、可穿戴设备、膝上型计算机(laptop)等便携式电子设备。便携式电子设备的示例性实施例包括但不限于搭载ios、android、microsoft或者其他操作系统的便携式电子设备。上述便携式电子设备也可以是其他便携式电子设备,诸如具有触敏表面(例如触控面板)的膝上型计算机(laptop)等。还应当理解的是,在本发明其他一些实施例中,电子设备900也可以不是便携式电子设备,而是具有触敏表面(例如触控面板)的台式计算机。
63.相应地,本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储计算机可读取的程序或指令,程序或指令被处理器执行时,能够实现上述各方法实施例提供的方法步骤或功能。
64.本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于计算机可读存储介质中。其中,计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
65.以上对本发明所提供的流量统计方法、流量质量分析方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为
对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1