一种网络流量的处理方法及装置与流程

文档序号:18465877发布日期:2019-08-17 02:27阅读:301来源:国知局
一种网络流量的处理方法及装置与流程

本公开涉及计算机网络技术领域,具体涉及一种网络流量的处理方法及装置。



背景技术:

对网络流量进行识别,可为网络监控提供决策参考。在识别网络流量的基础上,可以采取多种措施进行网络监控。对网络流量进行识别还可以用于流量计费、提升用户体验和保障网络安全方面,还可以用于日常运维,通过网络流量识别及早发现网络流量异动,从而采取保障措施,确保业务不受影响。

目前的网络流量识别技术中,网络运营商通常依托dpi技术了解他们的业务,分析用户的感知,并据此展开网络的测量和管理,业务的推荐和优化。目前dpi输出的原始话单是上述活动的重要基石,但是上述话单并不能完全代表用户的真实使用行为。当人工智能ai在应用平台遍地开花的时候,如果数据差之毫厘,得到的结果无疑将会谬以千里,而目前很多业务中,都需要感知用户流量的真实使用情况。

传统的各种网络流量识别方法只能从原始流量的角度,根据规则或者模型去识别用户所使用的应用程序app或应用软件,但是并不能确定用户是否真的使用了该app,并且实际经验表明原始流量上识别出的用户的app使用行为与用户的真实使用情况之间存在较大的差异。比如用户只用了一个app,却识别出多个业务;用户使用业务a,识别结果却是业务b。



技术实现要素:

有鉴于此,本公开实施例提供一种网络流量的处理方法及装置,以确定用户流量中各数据连接是否属于用户触发类数据连接。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

第一方面,本公开实施例提供了一种网络流量的处理方法,包括:

基于用户网络流量所包含的多个数据连接,按照所属的应用程序进行聚合得到多个分组;

分别根据分组内的数据连接确定各分组的数据流量特征;

分别根据分组的数据流量特征和所属的应用程序确定各分组内的数据连接是否属于用户触发类数据连接。

于一实施例中,根据分组的数据流量特征和所属的应用程序确定分组内的数据连接是否属于用户触发类数据连接包括:

基于当前分组所属的应用程序、以及预设的应用程序与阈值和权重之间的关联关系进行匹配,得到当前分组所属的应用程序的阈值和权重;

根据当前分组的数据流量特征和当前分组所属的应用程序的阈值和权重,确定当前分组内的数据连接是否属于用户触发类数据连接。

于一实施例中,所述数据流量特征包括持续时长、连接数、每秒连接数、上行字节流、以及每秒上行字节流。

于一实施例中,根据当前分组的数据流量特征和当前分组所属的应用程序的阈值和权重,确定当前分组内的数据连接是否属于用户触发类数据连接通过如下公式实现:

其中,p表示当前分组内的数据连接属于用户触发类数据连接的概率,当p值大于设定值表示当前分组内的数据连接属于用户触发类数据连接;

χκ表示当前分组所属的应用程序的第k个数据强度指标;

tκ表示当前分组所属的应用程序的第k个数据强度指标的阈值;

ωκ表示当前分组所属的应用程序的数据强度指标的权重。

于一实施例中,所述关联关系通过如下方式构建:

使用标注的目标应用程序网络流量作为样本,通过机器学习获取所述目标应用程序的数据流量特征的阈值和权重。

于一实施例中,所述方法还包括:

通过滑动窗口周期性地获取预设时长的用户网络流量,先后得到第一网络流量和第二网络流量;

分别确定第一网络流量的各分组内的数据连接是否属于用户触发类数据连接、以及第二网络流量的各分组内的数据连接是否属于用户触发类数据连接;

根据第二网络流量的结果按照设定规则修正第一网络流量的结果。

于一实施例中,在确定各分组内的数据连接是否属于用户触发类数据连接之后还包括:

从所述用户网络流量中将识别为非用户触发类数据连接剔除,将剩下的多个数据连接的起始时间和结束时间,按照先后顺序生成应用程序标识序列;

根据所述应用程序标识序列和应用程序间归并规则,对所述应用程序标识序列进行归并处理,并将被归并的数据连接归并到宿主应用程序的分组中。

于一实施例中,所述应用程序间归并规则还包括优先级;

如果命中多个所述应用程序间归并规则,根据优先级进行归并处理,并分别将被归并的数据连接归并到宿主应用程序的分组中。

于一实施例中,所述应用程序间归并规则通过如下方式构建:

基于频繁项抽取算法或fpgroup算法挖掘应用程序标识序列中各应用程序之间的调用关系,根据挖掘结果得到所述应用程序间归并规则。

于一实施例中,所述方法还包括确定所述用户的行为特征;

分别根据分组的数据流量特征和所属的应用程序确定各分组内的数据连接是否属于用户触发类数据连接包括:

分别根据分组的数据流量特征、所属的应用程序、以及所述用户的行为特征确定各分组内的数据连接是否属于用户触发类数据连接。

于一实施例中,确定所述用户的行为特征包括:基于所述用户的历史网络流量,对识别为用户触发类的各分组按照应用程序进行聚类分析得到所述用户的行为特征。

于一实施例中,确定所述用户的行为特征包括:使用时间段、使用时长、和/或对应用程序的操作频率。

于一实施例中,所述用户网络流量为流量话单对应的网络流量。

第二方面,本公开实施例还提供了一种网络流量的处理装置,包括:

分组单元,用于基于用户网络流量所包含的多个数据连接,按照所属的应用程序进行聚合得到多个分组;

数据流量特征确定单元,用于分别根据分组内的数据连接确定各分组的数据流量特征;

判定单元,用于分别根据分组的数据流量特征和所属的应用程序确定各分组内的数据连接是否属于用户触发类数据连接。

于一实施例中,所述判定单元包括阈值权重获取子单元和阈值权重判定子单元;

所述阈值权重获取子单元用于,基于当前分组所属的应用程序、以及预设的应用程序与阈值和权重之间的关联关系进行匹配,得到当前分组所属的应用程序的阈值和权重;

所述阈值权重判定子单元,用于根据当前分组的数据流量特征和当前分组所属的应用程序的阈值和权重,确定当前分组内的数据连接是否属于用户触发类数据连接。

于一实施例中,所述数据流量特征包括持续时长、连接数、每秒连接数、上行字节流、以及每秒上行字节流。

于一实施例中,所述阈值权重判定子单元确定当前分组内的数据连接是否属于用户触发类数据连接通过如下公式实现:

其中,p表示当前分组内的数据连接属于用户触发类数据连接的概率,当p值大于设定值表示当前分组内的数据连接属于用户触发类数据连接;

χκ表示当前分组所属的应用程序的第k个数据强度指标;

tκ表示当前分组所属的应用程序的第k个数据强度指标的阈值;

ωκ表示当前分组所属的应用程序的数据强度指标的权重。

于一实施例中,所述阈值权重获取子单元用于:使用标注的目标应用程序网络流量作为样本,通过机器学习获取所述目标应用程序的数据流量特征的阈值和权重。

于一实施例中,所述装置还包括所述滑动提取流量单元、结果获取单元、以及结果修正单元。

所述滑动提取流量单元用于,通过滑动窗口周期性地获取预设时长的用户网络流量,先后得到第一网络流量和第二网络流量;

所述结果获取单元用于分别确定第一网络流量的各分组内的数据连接是否属于用户触发类数据连接、以及第二网络流量的各分组内的数据连接是否属于用户触发类数据连接;

所述结果修正单元用于,根据第二网络流量的结果按照设定规则修正第一网络流量的结果。

于一实施例中,所述装置还包括序列生成单元和流量归并单元;

所述序列生成单元用于,在确定各分组内的数据连接是否属于用户触发类数据连接之后,从所述用户网络流量中将识别为非用户触发类数据连接剔除,将剩下的多个数据连接的起始时间和结束时间,按照先后顺序生成应用程序标识序列;

所述流量归并单元用于,根据所述应用程序标识序列和应用程序间归并规则,对所述应用程序标识序列进行归并处理,并将被归并的数据连接归并到宿主应用程序的分组中。

于一实施例中,所述应用程序间归并规则还包括优先级;

所述流量归并单元还用于,如果命中多个所述应用程序间归并规则,根据优先级进行归并处理,并分别将被归并的数据连接归并到宿主应用程序的分组中。

于一实施例中,所述流量归并单元用于,基于频繁项抽取算法或fpgroup算法挖掘应用程序标识序列中各应用程序之间的调用关系,根据挖掘结果得到所述应用程序间归并规则。

于一实施例中,所述装置还包括行为特征确定单元;

所述行为特征确定单元用于,确定所述用户的行为特征;

所述判定单元用于,分别根据分组的数据流量特征、所属的应用程序、以及所述用户的行为特征确定各分组内的数据连接是否属于用户触发类数据连接。

于一实施例中,所述行为特征确定单元用于,基于所述用户的历史网络流量,对识别为用户触发类的各分组按照应用程序进行聚类分析得到所述用户的行为特征。

于一实施例中,所述行为特征包括:使用时间段、使用时长、和/或对应用程序的操作频率。

于一实施例中,所述用户网络流量为流量话单对应的网络流量。

第三方面,本公开实施例还提供了一种计算机,包括:处理器;存储器,存储用于所述处理器控制如第一方面任一项所述方法的指令。

第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面任一项所述方法的步骤。

本公开实施例提出的技术方案的有益技术效果是:

本公开实施例基于用户网络流量所包含的多个数据连接按照所属的应用程序进行聚合得到多个分组,分别根据分组内的数据连接确定各分组的数据流量特征,再分别根据分组的数据流量特征和所属的应用程序确定各分组内的数据连接是否属于用户触发类数据连接,能获知用户网络流量的真实使用情况,以及能够获知应用程序的实际被使用情况。

附图说明

为了更清楚地说明本公开实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本公开实施例的内容和这些附图获得其他的附图。

图1是本公开一具体实施例所述的网络流量的处理方法流程图;

图2是本公开一具体实施例所述的网络流量的处理方法流程图;

图3是本公开一具体实施例所述的网络流量的处理方法流程图;

图4是本公开一具体实施例所述的系统架构图;

图5是本公开一具体实施例所述流量特征计算的流程图;

图6是本公开一具体实施例所述的网络流量的处理方法中用于确定是否属于用户触发类的流程图;

图7是本公开一具体实施例所述的网络流量的处理方法中用于对被调用的应用程序标识序列进行归并处理的流程图;

图8是本公开一具体实施例所述的网络流量的处理方法的整体流程示意图;

图9是本公开一具体实施例所述的网络流量的处理装置结构框图;

图10是本公开一具体实施例所述的网络流量的处理装置结构框图;

图11是本公开一具体实施例所述的网络流量的处理装置结构框图;

图12是本公开具体实施例四所述的网络流量的处理装置结构框图。

具体实施方式

为使本公开解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本公开实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

下面结合附图并通过具体实施方式来进一步说明本公开的技术方案。

图1是本公开一具体实施例所述的网络流量的处理方法流程图,本实施例可适用于针对用户的网络流量,细分出其包含的数据连接哪些是属于用户触发类数据连接,以确定用户流量的真实使用情况。

该方法可以由配置于计算机中用于执行网络流量的处理的程序来执行,如图1所示,本实施例所述的网络流量的处理方法包括:

在步骤s110中,基于用户网络流量所包含的多个数据连接,例如,按照所属的应用程序进行聚合得到多个分组。

本实施例所述的用户网络流量,是指同一用户终端在连续时段内使用的网络流量。该网络流量的数据可以是设定数据长度的网络流量,还可以是用户的一个流量话单对应的网络流量,或者也可以是设定时间长度使用的网络流量,例如某用户一小时之内的手机流量。进一步地,为了增加本实施例网络流量的处理效果,该网络流量的规模可设定为用户在一个通常的使用周期产生的网络流量,具体值可根据不同用户区别设置或根据不同类型的用户区别设置。

用户网络流量所包含的数据连接,至少能获取各连接所属的应用程序app标识、该连接的发生时间、数据大小等信息。

按照数据连接所属的应用程序进行分组,同一应用程序对应数据连接归为一组,即在该用户网络流量范围内,分别获取向各应用程序请求的数据连接信息。

在步骤s120中,分别根据分组内的数据连接确定各分组的数据流量特征。

即根据分组内的数据连接的统计信息、流量信息、时间信息等确定所属分组的数据流量特征。

对于一个连接分组的数据连接,其请求的是同一个应用程序的数据,根据这些数据连接可汇总其数据流量特征,例如汇总这些数据连接的上行字节总量、连接次数、最早连接时间、最晚连接时间、以及据最早连接时间和最晚连接时间计算得到的持续时间、该持续时间之内平均每秒连接数、以及该持续时间之内平均每秒上行字节数等信息的一种或多种。

例如,所述数据流量特征可设置为包括持续时长、连接数、每秒连接数、上行字节流、以及每秒上行字节流的信息。

在步骤s130中,分别根据分组的数据流量特征和所属的应用程序确定各分组内的数据连接是否属于用户触发类数据连接。

非用户触发类数据连接包括多种,例如应用程序后台运行的心跳、软件更新、系统服务、通知等,通常来说,与用户正常使用应用程序相比,这些非触发类数据连接要么持续时间短、要么连接频率低,要么数据流量小,或者同时具有以上一个以上特点。例如心跳和通知类数据连接,数据流量小,频率很低、一个周期内很可能只出现一次,因此持续时间特别短。

另外,对于各应用程序来说,其本身人机交互特点存在差异,例如视频类应用程序,用户使用过程中,每条数据连接的上行字节数非常大,一般持续时间也会比较长,而对于社交类应用程序来说,其平均连接次数会比较多,连接总量也会多。

因此,对于一个数据连接来说,可根据分组的数据流量特征和所属的应用程序判断出该连接是否属于用户触发类数据连接。

例如可基于当前分组所属的应用程序、以及预设的应用程序与阈值和权重之间的关联关系进行匹配,得到当前分组所属的应用程序的阈值和权重,根据当前分组的数据流量特征和当前分组所属的应用程序的阈值和权重,确定当前分组内的数据连接是否属于用户触发类数据连接。

例如,基于将数据流量特征可设置为包括持续时长、连接数、每秒连接数、上行字节流、以及每秒上行字节流的信息,采用如下公式确定一个数据连接是否属于用户触发类数据连接。

所述关联关系应该将应用程序被正常使用时和非正常使用时的区别充分显示出来。例如qq,用户主动使用,单元时长内产生20条连接,用户没使用情况下,单元时间长内产生2条连接。需根据非主动使用和主动使用情况下的数据流量特征,确定该应用程序的阈值和权重。

所述关联关系可通过各种方式构建,例如可根据用户设置信息构建。用户根据各应用程序的流量特征的特点,或者各类别应用程序的流量特征的特点,手动设置应用程序与阈值和权重之间的关联关系。还可以通过机器学习的方式构建,例如使用标注的目标应用程序网络流量作为样本,通过机器学习获取所述目标应用程序的数据流量特征的阈值和权重。

获取到应用程序与阈值和权重之间的关联关系之后,可根据当前分组的数据流量特征和当前分组所属的应用程序的阈值和权重,确定当前分组内的数据连接是否属于用户触发类数据连接。

具体的确定方式包括多种,例如可以通过如下公式实现:

其中,p表示当前分组内的数据连接属于用户触发类数据连接的概率,当p值大于设定值表示当前分组内的数据连接属于用户触发类数据连接;

χκ表示当前分组所属的应用程序的第k个数据强度指标;

tκ表示当前分组所属的应用程序的第k个数据强度指标的阈值;

ωκ表示当前分组所属的应用程序的数据强度指标的权重。

进一步地,本实施例所述方法还可进一步通过滑动窗口周期性地获取预设时长的用户网络流量,先后得到第一网络流量和第二网络流量,分别确定第一网络流量的各分组内的数据连接是否属于用户触发类数据连接、以及第二网络流量的各分组内的数据连接是否属于用户触发类数据连接,根据第二网络流量的结果按照设定规则修正第一网络流量的结果。

上述技术方案能修正由于用户网络流量包分割而产生的边际误判问题。如果用户操作应用程序的时机刚好跨越两个网络流量包对应的时间,例如在上一网络流量包的截止时间之前刚好开始使用某一个应用程序,发生了一次数据连接,又如在上一网络流量包的截止时间之后,刚好结束使用某一应用程序,在下一网络流量仅发生了一次数据连接。由于其连接数少、使用时间非常短、甚至数据连接的字节数都很小,可能会因此将该连接判断为非用户触发类数据连接。上述方法能很好地克服这一问题。

本实施例的技术方案通过用户网络流量所包含的数据连接按照对应的应用程序分组,根据分组内的数据连接确定各分组的数据流量特征,再分别根据分组的数据流量特征和所属的应用程序确定各分组内的数据连接是否属于用户触发类数据连接,能够获知用户网络流量的真实使用情况,以及能够获知用户对应用程序的实际使用情况。

图2是本公开一具体实施例所述的网络流量的处理方法流程图,如图2所示,本实施例所述的网络流量的处理方法包括:

在步骤s210中,基于用户网络流量所包含的多个数据连接,按照所属的应用程序进行聚合得到多个分组。

在步骤s220中,分别根据分组内的数据连接确定各分组的数据流量特征。

在步骤s230中,分别根据分组的数据流量特征和所属的应用程序确定各分组内的数据连接是否属于用户触发类数据连接。

上述步骤s210-s230与实施例一的步骤s110-s130相同,本实施例在此不作赘述。

在步骤s240中,从所述用户网络流量中将识别为非用户触发类数据连接剔除,将剩下的多个数据连接的起始时间和结束时间,按照先后顺序生成应用程序标识序列。

通过步骤s230在确定各分组内的数据连接是否属于用户触发类数据连接之后,从所述用户网络流量中将识别为非用户触发类数据连接剔除,将剩下的多个数据连接的起始时间和结束时间,按照先后顺序生成应用程序标识序列。

例如依据各数据连接的开始时间和结束时间,按照时间先后顺序形成如下时间序列。

'21-8996-s.4-9-s,4-9-e,21-8996-e....'。

上述各时间序列,第一个数字为该数据连接所属应用程序所属的类别码,如视频类、即时通讯类、地图类等。第二个数字为该数据连接所属应用程序在其内别内的区别码,地图类应用程序中,百度地图、高德地图等。第三个数字为s表示该时间为数据连接的起始时间,e表示该时间为数据连接的结束时间。

在步骤s250中,根据所述应用程序标识序列和应用程序间归并规则,对所述应用程序标识序列进行归并处理,并将被归并的数据连接归并到宿主应用程序的分组中。

例如将上述步骤s240形成的时间序列通过应用程序间归并规则进行匹配,如果命中应用程序间归并规则,对所述应用程序标识序列进行归并处理,并将被归并的数据连接归并到宿主应用程序的分组中;若未命中则直接输出。

例如1-8996对应摩拜单车,4-9对应百度地图,上述序列'21-8996-s.4-9-s,4-9-e,21-8996-e....',若该时间序列命中应用程序1-8996和4-9之间的归并规则对所述应用程序标识序列进行归并处理,并将被调用的应用程序4-9在该时间片内的数据连接,归并到宿主应用程序1-8996的对应的分组中,即将该被归并的数据连接的所属应用程序重置为宿主应用程序。

进一步地,所述应用程序间归并规则还包可括优先级。如果命中多个所述应用程序间归并规则,根据优先级进行归并处理,并分别将被归并的数据连接归并到宿主应用程序的分组中。

需要说明的是,本实施例中挖掘应用程序间归并规则的需求来源于对一些场景,用户使用应用程序会调用或者产生其他没主动使用的应用程序的数据流量,这个时候应该把其间该被调用应用程序产生的数据连接,归属为用户使用该宿主应用程序产生的数据连接。

应用程序间归并规则可依据用户对各应用程序的使用场景分析得出,还可进行机器学习分析得到。例如可基于频繁项抽取算法或fpgroup算法挖掘应用程序标识序列中各应用程序之间的调用关系,根据挖掘结果得到所述应用程序间归并规则。

更详细地,可通过对现网话单数据做清洗,按照用户、日期、小时三个维度对所有用户的话单做统计分析,作为挖掘关联关系的训练样本。利用数据挖掘apriori算法或fpgroup算法,根据不同的支持度对训练样本挖掘同一用户在使用不同应用程序时的关联关系。对挖掘到的关联关系进行判断,将判断为需要做归并处理的不同应用程序形成归并规则库。依据离线形成的关联关系参数库,将应用间调用进行合并,减少输出结果和用户感知上的差别,比如用户使用摩拜单车,而其调用百度地图进行定位,,寻车,归并的结果就是将该百度地图对应的数据连接合并到摩拜单车对应的数据连接组里。

本实施例的技术方案,在上一实施例的基础之上,考虑了应用程序之间的调用关系,将应用程序之间的调用进行合并。即在确定各分组内的数据连接是否属于用户触发类数据连接之后,从所述用户网络流量中将识别为非用户触发类数据连接剔除,将剩下的多个数据连接的起始时间和结束时间,按照先后顺序生成应用程序标识序列,根据所述应用程序标识序列和应用程序间归并规则,对所述应用程序标识序列进行归并处理,并将被归并的数据连接归并到宿主应用程序的分组中。本实施例的技术方案除了能够确定用户流量中各数据连接是否属于用户触发类数据连接之外,还能够获知用户网络流量的真实使用情况,并能够精确地获知应用程序的实际被使用情况。

图3是本公开一具体实施例所述的网络流量的处理方法流程图,如图3所示,本实施例所述的网络流量的处理方法包括:

在步骤s310中,基于用户网络流量所包含的多个数据连接,按照所属的应用程序进行聚合得到多个分组。

在步骤s320中,分别根据分组内的数据连接确定各分组的数据流量特征。

上述步骤s310-s320与实施例一的步骤s110-s120相同,本实施例在此不作赘述。

在步骤s330中,确定所述用户的行为特征。

所述用户的行为特征为用户对移动终端或各应用程序使用时的特征,例如可包括用户对移动终端或某应用程序的使用时间段、使用时长、对应用程序的操作频率等信息。

确定所述用户的行为特征可通过多种方式实现。例如可基于某用户的历史网络流量,对识别为用户触发类的各分组按照应用程序进行聚类分析得到该用户的行为特征。

在步骤s340中,分别根据分组的数据流量特征、所属的应用程序、以及所述用户的行为特征确定各分组内的数据连接是否属于用户触发类数据连接。

具体实现方式可包括多种,例如,基于当前分组所属的应用程序、以及预设的应用程序与用户标识、阈值和权重之间的关联关系进行匹配,得到当前分组所属的应用程序的阈值和权重。即对于同一应用程序,为不同的用户设置不同的阈值和权重。

本实施例的技术方案,在前述实施例的基础之上,判断用户流量中各数据连接是否属于用户触发类数据连接时,综合考虑了对应用程序使用时的流量特征和用户的行为特征,能提高判断的准确性。

图4是本公开一具体实施例所述的系统架构图,主要做法是通过一个时间阈值,将用户的上网日志切分为n段上网行为,这些上网行为中会包含m个app,其中只有k(k<m)个app是用户自身打开的,其他的app都是背景流量或者被其他app引用产生的流量。在收集到上网行为后,通过计算时长,app的使用顺序,流量大小等参数计算出真实使用的app分别有哪些。

如图4所示,本实施例所述的系统包括离线建模模块410、模型420和线上处理模块430。

离线建模模块410,用于离线特征库积累,使用标注的app数据计算其阈值、权重、关系图谱,然后形成特征库,供线上使用;

其中,所述离线建模模块410用于,将标注的pcap数据411经过dpi引擎进行回放形成用户话单412,通过子模块数据清洗413,子模块提取流量特征414、子模块后台模量模型训练415、子模块模型评测416、子模块关联关系特征417、子模块apriori算法418、子模块模型评测419,按照如图4所述的流程构建模型420。

线上处理模块430,计算出线上话单相应的n个特征参数,再通过线性分类器或者随机森林等其它机器学习算法判断是否为用户主动使用的流量;最后参照线下生成的app调用关系图将用户主动使用的流量进一步归并,分辨出用户真实使用的app。

其中,所述线上处理模块430用于,将dpi用户面话单431,通过子模块数据清洗432、子模块数据聚合433、子模块流量特征计算434、子模块加载模型435、子模块模型判定436、子模型过滤437、子模型聚合形成时间序列438、子模型模型匹配判定439、子模型appid替换440、子模型输出441按照如图4所述的流程处理,输出识别结果。

标注的pcap数据411可通过移动设备采集测试app产生的pcap数据包经过dpi回放生成。在移动设备上运行待测试的app,监控其产生的流量数据形成pcap数据包。利用dpi引擎对形成的pcap数据包进行回放,形成相应的用户话单412。对话单进行降维处理,提取话单中每条数据连接的app大小类、时间以及上行字节流形成分析样本。

子模块模型判定436,用于对用户使用app所产生的原始流量,首先要过滤掉后台运行的心跳连接、广告插件、通知等,这可以通过预先搜集一个插件数据集来实现。

对于用户使用app所产生的原始流量,通过dpi引擎的初步识别会为每条tcp/udp连接打上app的标签。然后需要判断每条流是否为用户主动使用所产生。判断的算法是提取流的基本特征和用户的行为习惯特征,将两种特征拼接成特征向量,输入给机器学习算法(当前使用的是线性分类器),作为分类问题得出识别结果。

图5是本实施例所述流量特征计算的流程图,如图5所示,本实施例所述的流程图包括:测试话单500,持续时间510、持续时间权重511、连接数520、连接数权重521、每秒连接数530、每秒连接数权重531、上行字节流540、上行字节流权重540、每秒上行字节流550、每秒上行字节流权重551、测试结果560、回测话单570、入库580。

相关流从开始到结束的时间间隔为其持续时间记为持续时间510,通过app可获得一个持续时间权重511。

在测试话单内相关流出现的次数为其连接数记为连接数520,通过app可获得一个连接数权重521。

将连接数除以持续时间即可得到每秒连接数记为每秒连接数530连接数520,通过app可获得一个每秒连接数权重531。

在持续时间内,将每条流的上行字节数相加即可得到上行字节数记为上行字节数540,通过app可获得一个上行字节数权重541。

将上行字节数除以持续时间即可得到每秒上行字节数550,通过app可获得一个上行字节数权重541。

计算后每个特征会得出一个阈值,例如宝宝儿童动物乐园的特征阈值如下:持续时间19秒、连接数2条、每秒连接数0.052、上行字节数3456b、每秒上行字节数180.272等。其中每个特征相应的权重,随着长时间的测试以及反馈,这些权重也会发生相应的变化。当遇到实际的用户行为时,统计出该用户这5个特征值,与阈值表进行比较,大于阈值则记作1,小于阈值则记作0。从而得到由5个0或者1组成的数组。

用户的行为特征的描述,例如可采集时长,表征相关流从开始到结束的时间间隔为其持续时间,和时间段,表征用户使用某app所在的时间段,比如凌晨3:00。

阈值的计算是独立的对每个app进行分析,从持续时间、连接数、每秒连接数、上行字节流、每秒上行字节等五个维度综合的判断每个独立的app的流量是否为主动使用产生。

通过对每个测试话单的数据清洗计算,可以得出五个维度的数值。综合一个app的多个测试话单的五个数值可得到每个参数对应的阈值。计算出每个app的阈值后,对比起测试结果的标记数据可以得到五个参数对应的权重。最后将阈值和权重入库。将上述特征值分别乘以阈值对应的系数,最终得到一个指标值,然后和总阈值进行比较,最终预测出是否为背景流量。

本实施例中,离线apriori算法418挖掘关联关系,其需求来源于对一些场景,用户使用的app会调用或者产生其它没主动使用的app特征流量,这个时候模型会把用户没有主动使用的app判断为正常使用。归并规则就可以将模型筛选为正常使用的流量但是不是用户主动使用的流量和主动使用的流量归并为一个。示例性方案如下:

(1)对现网话单数据做清洗,按照用户、日期、小时三个维度对所有用户的话单做统计分析,作为挖掘关联关系的训练样本;(2)利用数据挖掘apriori算法,根据不同的支持度对训练样本挖掘同一用户在使用不同app时的关联关系;(3)对挖掘到的关联关系进行判断,将判断为需要做归并处理的不同app形成归并规则库。

依据离线形成的关联关系参数库,将应用间调用进行合并,减少输出结果和用户感知上的差别,比如用户使用摩拜单车,而其调用百度地图进行定位,寻车,归并的结果就是将百度地图合并到摩拜单车。

举例:接收后台流量识别输出的结果数据,并排除后台流量。聚合该用户的所有片段并按照时间从大到小排序,形成时间序列。

在对相应的流量进行分类后,将分类为正常使用的流量进行数据聚合。根据用户数据,对用户的流量数据按照时间形成上下文app_id的序列值,例如'21-8996-s.4-9-s,4-9-e,21-8996-e....'。将该序列与归并特征进行比较,如果命中归并特征则将相应的序列归并;若未命中则直接输出。若归并规则库中可命中多条归并规则,则依据优先级归并为高优先级规则的命中值。

针对新用户冷启动需要等到很长时间才能看到app识别分析结果的问题,将一个小时定时执行一次的spark批处理任务改造为每n分钟执行一次的流式任务,每次执行会对上次执行的结果数据进行修正.

后台流量识别依托于dpi对原始话单的准确识别,在此基础上通过流量特征模型将后台运行的流量过滤掉。

将用户的一次app使用行为进行抽象,1个小时内切割为n次app使用行为。抽象的逻辑单位数据结构为:appid,开始时间,结束时间,特征五元组,话单集合。

依据离线训练形成的模型参数,计算用户使用app的强度指标作为用户是否主动使用的依据。app的强度计算公式:计算一次app使用的特征五元组(持续时长,连接数,流量,每秒平均连接数,每秒平均流量),与离线训练形成的参数进行比对,加权计算。

其中,p表示当前分组内的数据连接属于用户触发类数据连接的概率,当p值大于设定值表示当前分组内的数据连接属于用户触发类数据连接;

χκ表示当前分组所属的应用程序的第k个数据强度指标;

tκ表示当前分组所属的应用程序的第k个数据强度指标的阈值;

ωκ表示当前分组所属的应用程序的数据强度指标的权重。

对于离线训练未覆盖的app来说,通过模型不能基于app标识获得该app对应的各权重值和各阈值。

因此,适用于特征库未覆盖的app,特征设置固定阈值,例如,持续时长>60s,连接数>5,持续时长/连接数<=20。

本实施例中,对于线上处理模块430中的流量过滤的处理流程,通过准实时接收用户面数据,每n分钟计算一次。将当前小时数据聚合成一个个app使用行为,形成统一计算逻辑单元,在此基础应用离线形成的特征模型识别后台流量,结果数据修正上次计算的结果,图6是示出了本实施例所述的网络流量的处理方法中用于确定是否属于用户触发类的流程图,图7示出了本实施例所述的网络流量的处理方法中用于对被调用的应用程序标识序列进行归并处理的流程图,图8示出了本实施例所述的网络流量的处理方法的整体流程示意图。如图6所示,本实施例所述的网络流量的处理方法包括:

在步骤610中,获取用户面数据,执行步骤620。

在步骤620中,进行数据聚合,执行步骤630。

在步骤630中,模型选择,判断是否选择到匹配的模型,若是执行步骤640,否则执行步骤650。

在步骤640中,进行app特征计算,执行步骤641。

在步骤641中,进行阈值计算,执行步骤642。

在步骤642中,判断是否大于阈值,若是执行步骤660,否则标记为非用户触发类流量。

在步骤660中,标记为用户触发类流量并更新上次结果,结束。

在步骤650中,进行通用特征计算,执行步骤651。

在步骤651中,进行阈值计算,执行步骤652。

在步骤652中,判断是否大于阈值,若是执行步骤660,否则标记为非用户触发类流量。

在确定是否属于用户触发类数据连接之后还包括对被调用的应用程序标识序列进行归并处理,图7是示出了一具体实施例所述的网络流量的处理方法中用于对被调用的应用程序标识序列进行归并处理的流程图,如图7所示,本实施例所述的网络流量的处理方法包括:

在步骤710中,进行非用户触发类流量识别。

在步骤720中,进行数据聚合。

在步骤730中,生成上下文appid序列值。

在步骤740中,判断是否命中特征库里的归并规则,若是则执行步骤750,否则执行步骤760。

在步骤750中,进行appid替换。

在步骤760中,进行输出。

本实施例的技术方案,通过一个详细的示例,基于原始流量计算用户真实上网行为,过滤掉造成干扰的背景流量,并且将一些被调用的app流量归并为宿主app流量,从而使得流量识别结果与用户的真实使用行为一致。

图9是本实施例所述的网络流量的处理装置的结构框图,如图9所示,本实施例所述的网络流量的处理装置包括分组单元910、数据流量特征确定单元920和判定单元930。

所述分组单元910被配置为,用于基于用户网络流量所包含的多个数据连接,按照所属的应用程序进行聚合得到多个分组。

所述数据流量特征确定单元920被配置为,用于分别根据分组内的数据连接确定各分组的数据流量特征。

所述判定单元930被配置为,用于分别根据分组的数据流量特征和所属的应用程序确定各分组内的数据连接是否属于用户触发类数据连接。

进一步地,所述数据流量特征包括持续时长、连接数、每秒连接数、上行字节流、以及每秒上行字节流。

进一步地,所述用户网络流量为流量话单对应的网络流量。

进一步地,本实施例所述装置还可包括所述滑动提取流量单元(图中未示出)、结果获取单元(图中未示出)、以及结果修正单元(图中未示出)。

所述滑动提取流量单元用于,通过滑动窗口周期性地获取预设时长的用户网络流量,先后得到第一网络流量和第二网络流量。

所述结果获取单元用于分别确定第一网络流量的各分组内的数据连接是否属于用户触发类数据连接、以及第二网络流量的各分组内的数据连接是否属于用户触发类数据连接。

所述结果修正单元用于,根据第二网络流量的结果按照设定规则修正第一网络流量的结果。

本实施例提供的网络流量的处理装置可执行本公开方法实施例所提供的网络流量的处理方法,具备执行方法相应的功能模块和有益效果。

图10是本实施例所述的网络流量的处理装置的结构框图,如图10所示,本实施例所述的网络流量的处理装置包括分组单元1010、数据流量特征确定单元1020和判定单元1030,其中所述判定单元1030还包括阈值权重获取子单元1031和阈值权重判定子单元1032。

所述分组单元1010被配置为,用于基于用户网络流量所包含的多个数据连接,按照所属的应用程序进行聚合得到多个分组;

所述数据流量特征确定单元1020被配置为,用于分别根据分组内的数据连接确定各分组的数据流量特征;

所述判定单元1030被配置为,用于分别根据分组的数据流量特征和所属的应用程序确定各分组内的数据连接是否属于用户触发类数据连接。

其中所述阈值权重获取子单元1031用于,基于当前分组所属的应用程序、以及预设的应用程序与阈值和权重之间的关联关系进行匹配,得到当前分组所属的应用程序的阈值和权重。

所述阈值权重判定子单元1032,用于根据当前分组的数据流量特征和当前分组所属的应用程序的阈值和权重,确定当前分组内的数据连接是否属于用户触发类数据连接。

进一步地,所述数据流量特征包括持续时长、连接数、每秒连接数、上行字节流、以及每秒上行字节流。

进一步地,所述阈值权重判定子单元1031用于确定当前分组内的数据连接是否属于用户触发类数据连接通过如下公式实现:

其中,p表示当前分组内的数据连接属于用户触发类数据连接的概率,当p值大于设定值表示当前分组内的数据连接属于用户触发类数据连接;

χκ表示当前分组所属的应用程序的第k个数据强度指标;

tκ表示当前分组所属的应用程序的第k个数据强度指标的阈值;

ωκ表示当前分组所属的应用程序的数据强度指标的权重。

进一步地,所述阈值权重获取子单元1032用于:使用标注的目标应用程序网络流量作为样本,通过机器学习获取所述目标应用程序的数据流量特征的阈值和权重。

本实施例提供的网络流量的处理装置可执行本公开方法实施例所提供的网络流量的处理方法,具备执行方法相应的功能模块和有益效果。

图11是本实施例所述的网络流量的处理装置的结构框图,如图11所示,本实施例所述的网络流量的处理装置包括分组单元1110、数据流量特征确定单元1120、判定单元1130、序列生成单元1140和流量归并单元1150。

所述分组单元1110被配置为,用于基于用户网络流量所包含的多个数据连接,按照所属的应用程序进行聚合得到多个分组。

所述数据流量特征确定单元1120被配置为,用于分别根据分组内的数据连接确定各分组的数据流量特征。

所述判定单元1130被配置为,用于分别根据分组的数据流量特征和所属的应用程序确定各分组内的数据连接是否属于用户触发类数据连接。

所述序列生成单元1140被配置为,用于在确定各分组内的数据连接是否属于用户触发类数据连接之后,从所述用户网络流量中将识别为非用户触发类数据连接剔除,将剩下的多个数据连接的起始时间和结束时间,按照先后顺序生成应用程序标识序列。

所述流量归并单元1150被配置为,用于根据所述应用程序标识序列和应用程序间归并规则,对所述应用程序标识序列进行归并处理,并将被归并的数据连接归并到宿主应用程序的分组中。

进一步地,所述应用程序间归并规则还包括优先级,所述流量归并单元1150还用于,如果命中多个所述应用程序间归并规则,根据优先级进行归并处理,并分别将被归并的数据连接归并到宿主应用程序的分组中。

进一步地,所述流量归并单元1150用于,基于频繁项抽取算法或fpgroup算法挖掘应用程序标识序列中各应用程序之间的调用关系,根据挖掘结果得到所述应用程序间归并规则。

本实施例提供的网络流量的处理装置可执行本公开方法实施例所提供的网络流量的处理方法,具备执行方法相应的功能模块和有益效果。

图12是本实施例所述的网络流量的处理装置的结构框图,如图12所示,本实施例所述的网络流量的处理装置包括分组单元1210、数据流量特征确定单元1220、行为特征确定单元1230和判定单元1240。

所述分组单元1210被配置为,用于基于用户网络流量所包含的多个数据连接,按照所属的应用程序进行聚合得到多个分组。

所述数据流量特征确定单元1220被配置为,用于分别根据分组内的数据连接确定各分组的数据流量特征。

所述行为特征确定单元1230被配置为,用于确定所述用户的行为特征;

所述判定单元1240被配置为,用于分别根据分组的数据流量特征、所属的应用程序、以及所述用户的行为特征确定各分组内的数据连接是否属于用户触发类数据连接。

进一步地,所述行为特征确定单元1230用于,基于所述用户的历史网络流量,对识别为用户触发类的各分组按照应用程序进行聚类分析得到所述用户的行为特征。

进一步地,所述行为特征包括:使用时间段、使用时长、和/或对应用程序的操作频率。

本实施例提供的网络流量的处理装置可执行本公开方法实施例所提供的网络流量的处理方法,具备执行方法相应的功能模块和有益效果。

以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。

注意,上述仅为本公开的较佳实施例及所运用技术原理。本领域技术人员会理解,本公开不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本公开的保护范围。因此,虽然通过以上实施例对本公开进行了较为详细的说明,但是本公开不仅仅限于以上实施例,在不脱离本公开构思的情况下,还可以包括更多其他等效实施例,而本公开的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1