特征数据库生成方法和装置及对应的流量分拣方法和装置与流程

文档序号:17002680发布日期:2019-03-02 01:52阅读:153来源:国知局
特征数据库生成方法和装置及对应的流量分拣方法和装置与流程

本发明涉及网络优化及流量识别技术领域,尤其涉及一种特征数据库生成方法和装置、流量分拣方法和装置。



背景技术:

随着近年来互联网的极大普及,应用市场的多元化,用户的个性化需求也随之提升,这要求网络优化平台具备精细化运营的能力,更小粒度地操纵、调节、优化网络资源。目前大量的不同性质的业务封装在标准ipv4协议之上,仅依靠三、四层协议的初步流量识别已经远远无法满足需求,深度报文检测(deeppacketinspection,dpi)设备就是用来进一步识别四层以上的特征。dpi设备常见的接入方式为串联或者并联,可单台工作也可多台联合工作,从互联服务口接收网络中的流量,通过特定策略层层解封装,直至特征匹配成功或者未能匹配到特征。

但是,这种方式存在着如下的缺陷:在上述识别过程中,对网络优化平台上运营的dpi设备而言,是被动接收流量方,即当流量到来时实时分析,对系统的硬件性能与内在逻辑效率提出很高要求。并且,未来的网络流量趋势必然向更大带宽需求的方向发展,在流量很大的情况下,特征匹配将耗费较高的系统性能,很可能影响线上服务质量。



技术实现要素:

有鉴于此,本发明提出一种特征数据库生成方法和装置、流量分拣方法和装置,以解决至少一个上述技术问题。

首先,为实现上述目的,本发明提出一种特征数据库生成方法,包括:

抓取目标应用对应的目标流量;

对所述目标流量进行预设维度下的初步分类;

对分类后的所述目标流量进行特征提取,将所提取的特征与已保存的历史特征数据库进行匹配,以对所述目标流量进行功能预判;

将每条预判结果作为一个分支,生成一个针对所述目标流量的分析树;

根据所述分析树生成新的特征数据库。

可选地,所述历史特征数据库中包括流量大类、小类、特征描述及对应功能。

可选地,所述对所述目标流量进行预设维度下的初步分类包括:

根据所述历史特征数据库中的流量大类及其他预设识别方式对所述目标流量进行所述预设维度下的初步分类。

可选地,所述预设维度包括:http类流量、https类流量、p2p类流量、其它可以识别的预设类型流量和非预设类型流量、无须处理流量、未能识别流量。

可选地,所述将所提取的特征与已保存的历史特征数据库进行匹配,以对所述目标流量进行功能预判包括:

将所提取的特征与所述历史特征数据库中的流量小类和特征描述进行匹配,得到对应的功能,即为所述目标流量的功能预判结果。

可选地,所述方法在根据所述分析树生成新的特征数据库之前还包括:

以所述分析树的分支为依据,对所述目标流量对应的目标功能进行测试验证,判断验证结果是否符合所述分支的预判结果;

当所述验证结果不符合所述预判结果时,根据所述验证结果调整所述分支的预判结果,然后继续执行所述测试验证的步骤;及

当所述验证结果符合所述预判结果时,执行所述根据所述分析树生成新的特征数据库的步骤。

可选地,所述对所述目标流量对应的目标功能进行测试验证的步骤包括:

在所述分析树的基础上,根据所述目标流量对应的所述目标应用所侧重的功能确定待测试验证的分支,即为所述目标功能;

通过运行所述目标应用针对所述目标功能进行测试,判断所述目标功能对应的目标测试现象是否出现,从而验证所述目标流量在所述目标应用的功能,判断是否与所述分支的预判结果一致。

此外,为实现上述目的,本发明还提供一种特征数据库生成装置,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的特征数据库生成程序,所述特征数据库生成程序被所述处理器执行时实现如上述的特征数据库生成方法。

进一步地,为实现上述目的,本发明还提供一种流量分拣方法,包括:

抓取目标应用对应的目标流量;

将所述目标流量与预设的特征数据库进行匹配,以对所述目标流量进行分类和功能预判,其中所述预设的特征数据库根据如上述的特征数据库生成方法得到。

进一步地,为实现上述目的,本发明还提供一种流量分拣装置,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的流量分拣程序,所述流量分拣程序被所述处理器执行时实现如上述的流量分拣方法。

相较于现有技术,本发明所提出的特征数据库生成方法和装置、流量分拣方法和装置,可以在对目标应用的流量收集的基础上,主动对目标流量进行精细化智能分类,并对分类的目标流量进行验证与反馈调整,达到判定流量在目标应用中所起的功能的作用,并将最终结果整合入新的特征数据库,实现对特征数据库的更新和完善,以用于后续在流量分拣时进行流量特征匹配。在目标流量经过所述流量分拣装置时,利用所述特征数据库进行高精度的匹配,优化所述流量分拣装置的流量匹配深度与效率。

附图说明

图1是本发明实施例提出的一种特征数据库生成装置的架构示意图;

图2是本发明实施例提出的一种特征数据库生成方法的流程示意图;

图3是本发明中对目标流量进行初步分类的示意图;

图4是本发明实施例提出的另一种特征数据库生成方法的流程示意图;

图5是本发明实施例提出的一种流量分拣装置的架构示意图;

图6是本发明实施例提出的一种流量分拣方法的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参阅图1所示,本发明实施例提出一种实现特征数据库生成方法的特征数据库生成装置1。在本实施例中,所述特征数据库生成装置1可以是dpi设备或者其他具有运算功能的电子设备。

所述特征数据库生成装置1包括:存储器11、处理器13、网络接口15及通信总线17。其中,网络接口15可选地可以包括标准的有线接口、无线接口(如wi-fi接口)。通信总线17用于实现这些组件之间的连接通信。

存储器11至少包括一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,所述存储器11可以是特征数据库生成装置1的内部存储单元,例如该特征数据库生成装置1的硬盘。在另一些实施例中,所述存储器11也可以是特征数据库生成装置1的外部存储单元,例如特征数据库生成装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。

所述存储器11可以用于存储安装于特征数据库生成装置1的应用软件及各类数据,例如特征数据库生成程序10的程序代码及其运行过程中产生的相关数据。

处理器13在一些实施例中可以是一中央处理器,微处理器或其它数据处理芯片,用于运行存储器11中存储的程序代码或处理数据。

图1仅示出了具有组件11-17以及特征数据库生成程序10的特征数据库生成装置1,但是应理解的是,图1并未示出特征数据库生成装置1的所有组件,可以替代实施更多或者更少的组件。

在图1所示的特征数据库生成装置1实施例中,作为一种计算机存储介质的存储器11中存储特征数据库生成程序10的程序代码,处理器13执行所述特征数据库生成程序10的程序代码时,实现如下方法:

(1)抓取目标应用对应的目标流量。

(2)对所述目标流量进行预设维度下的初步分类。

(3)对分类后的所述目标流量进行特征提取,将所提取的特征与已保存的历史特征数据库进行匹配,以对所述目标流量进行功能预判。

(4)将每条预判结果作为一个分支,生成一个针对所述目标流量的分析树。

(5)根据所述分析树生成新的特征数据库。

优选的,所述方法在根据所述分析树生成新的特征数据库之前还包括:

(6)以所述分析树的分支为依据,对所述目标流量对应的目标功能进行测试验证,判断验证结果是否符合所述分支的预判结果。

(7)当所述验证结果不符合所述预判结果时,根据所述验证结果调整所述分支的预判结果,然后继续执行所述测试验证的步骤。

(8)当所述验证结果符合所述预判结果时,执行所述根据所述分析树生成新的特征数据库的步骤。

所述方法的详细说明请参阅下述关于特征数据库生成方法的实施例,在此不再赘述。

参阅图2所示,本发明实施例还提出一种特征数据库生成方法,应用于所述特征数据库生成装置1。该方法包括以下步骤:

s10,抓取目标应用对应的目标流量。

具体地,当运行目标应用时,可以匹配目标应用所发起的多个进程,并将每个进程发起的流量通过流量关联工具与目标应用进行标签关联,然后将关联后的流量(目标流量)以数据流的形式进行引导。对于非目标应用发起的流量,可以不进行标签关联,或者进行其它标签处理,实现将目标流量与非目标流量进行区分。然后,所述特征数据库生成装置1根据所述标签抓取目标流量。而对于非目标应用产生的非目标流量仅作转发处理,不再执行后续步骤。

s20,对目标流量进行预设维度下的初步分类。

具体地,当抓取出目标流量后,为了便于后续对目标流量进行功能分析,首先要根据历史特征数据库中的流量大类及其他预设识别方式对所述目标流量进行预设维度下的初步分类。所述历史特征数据库是指已保存的之前生成的特征数据库,所述历史特征数据库中包括流量大类、小类、特征描述及对应功能等项目。针对所述历史特征数据库中已经包含的流量大类,可以通过将所述目标流量与所述流量大类进行匹配,识别出所述目标流量对应的类型。针对所述历史特征数据库中的流量大类无法匹配出的目标流量,需要采用其他预设识别方式进行初步分类。所述其他预设识别方式可以是现有的所有可以对各种已知的流量类型进行识别的技术手段。

在本实施例中,所述预设维度包括:http类流量、https类流量、p2p类流量、其它可以识别的预设类型流量和非预设类型流量、无须处理流量、未能识别流量(参阅图3所示)。在其他实施例中,具体的分类维度可以根据实际需求进行调整,按照目标应用的特征而有不同的划分框架。

其中,http类流量、https类流量、p2p类流量是比较常见的三大类流量类型。所述其它可以识别的预设类型流量是指所述历史特征数据库中的流量大类及其他预设识别方式可以识别出的除http类流量、https类流量、p2p类流量之外的常见流量类型,具体包含哪些流量类型可以由用户预先设置。所述其它可以识别的非预设类型流量包含但不限于如邮件、各类虚拟专用网络(virtualprivatenetwork,vpn)、域名系统(domainnamesystem,dns)域名解析等流量(可能无法以某个类型名称进行概括),可以根据已知的公有协议或借助通用工具进行识别。所述无须处理流量指与目标应用无必要关联性的流量,如地址解析协议(addressresolutionprotocol,arp)、简单服务发现协议(simpleservicediscoveryprotocol,ssdp)等。所述未能识别流量是指与目标应用相关但尚未通过所述历史特征数据库中的流量大类及其他预设识别方式识别出的流量,在这部分流量中,有可能出现目标应用所特有的新的流量类型。

s30,对分类后的所述目标流量进行特征提取,将所提取的特征与所述历史特征数据库进行匹配,以对所述目标流量进行功能预判。

具体地,对经过初步分类后的各种所述目标流量进行相应的特征提取,从而进一步进行精细化切分,智能地将同一子类流量划分成一类,并添加相应特征描述与索引值。将所提取的特征与所述历史特征数据库中的流量小类和特征描述进行匹配,得到对应的功能,即为所述目标流量的功能预判结果。

举例而言,对于http及https类的流量的特征提取,重点分析其所具备的功能,例如请求服务器列表、更新、信息上报等。

例如,对于http类流量,包含但不限于以下五个特征维度:域名、后缀、统一资源标识符(uniformresourceidentifier,uri)关键字、http头部、交互数据。

针对域名维度,统一按照一定提取顺序提取出域名部分,通过域名分析将域名划分为顶级域名、二级域名、三级域名、四级域名,每种域名对应一个目标应用的功能描述与索引值。

针对后缀维度,可以包括图片、下载、点播、直播、脚本等,分别对应一种功能描述与索引值,若无后缀,则标记为null。

针对uri关键字维度,以斜杠“/”分割除域名部分外的关键字,提取重点关键字,作为该uri的特征信息之一,将重点关键字分类后分别产生对应的功能描述和索引值。针对http头部维度,提取referer、content_type等有用信息,划分对应的功能描述和索引值。

针对交互数据维度,所述交互数据是指客户端与服务器互相发送的内容,交互内容区分为可读与不可读部分,将在可读部分内搜索关键信息,将关键信息分类并生成相应功能描述和索引值。

将上述各个维度的特征对应的功能描述和索引值与所述历史特征数据库中的流量小类和特征描述进行匹配,得到对应的功能,即为所述目标流量的功能预判结果。

值得注意的是,以上提及的维度可单独作为区分目标流量的依据,也可组合后作为区分目标流量的依据,但每个目标流量至少被一个维度标记到,以与所述历史特征数据库进行匹配。

在其他实施例中,若所述历史特征数据库中无法匹配所述目标流量对应的特征,还可以采用其他现有的针对各种已知的流量类型的特征匹配方式对所述目标流量进行特征匹配,从而对所述目标流量进行功能预判。

s40,将每条预判结果作为一个分支,生成一个针对所述目标流量的分析树。

具体地,根据所述功能预判的结果,每个目标流量均被各个维度的特征所标记,每种特征都有对应的功能。为不同维度分配不同的权重因子,按照所述权重因子构建目标流量分析树,用以生成测试用例,从而进行模拟验证。所述权重因子不同,可以产生不同的目标流量的分类方式,每个分类方式用一个分析树来表示,分析树的每个分支,都表示了一类目标流量。流量切分越精细,所述分析树的分支对应地越精细。

s50,根据所述分析树生成新的特征数据库。

具体地,根据所述分析树生成一个完全匹配优先、正则匹配次之的特征数据库,所述特征数据库中包含对目标流量的精细分析结果,用于后续的流量分拣时的流量特征匹配。所述特征数据库具体包含的信息有:流量是否属于目标应用以及每个流量分支对应的功能,这些功能在所述特征数据库中都至少标记一个相应的标签,所述标签指明了该流量分支的功能。同样地,所述新的特征数据库也包括流量大类、小类、特征描述及对应功能等项目。

本实施例提供的特征数据库生成方法,可以在对目标应用的流量收集的基础上,主动对目标流量进行精细化智能分类,判定目标流量在目标应用中所起的功能的作用,并将最终结果整合入新的特征数据库,实现对特征数据库的更新和完善,以用于后续在流量分拣时进行流量特征匹配。

参阅图4所示,本发明实施例还提出一种特征数据库生成方法。在本实施例中,所述特征数据库生成方法中的s12-s42与上述实施例的s10-s40相类似,区别在于该方法还包括s52-s72。

s12,抓取目标应用对应的目标流量。

s22,对目标流量进行预设维度下的初步分类。

s32,对分类后的所述目标流量进行特征提取,将所提取的特征与所述历史特征数据库进行匹配,以对所述目标流量进行功能预判。

s42,将每条预判结果作为一个分支,生成一个针对所述目标流量的分析树。

s52,以所述分析树的分支为依据,对所述目标流量对应的目标功能进行测试验证,判断验证结果是否符合所述分支的预判结果。当所述验证结果不符合所述预判结果时,执行步骤s62。当所述验证结果符合所述预判结果时,执行步骤s72。

首先,在所述分析树的基础上,确定待测试验证的分支。每个目标应用都有特定的所侧重的功能,依据实际需要的功能选择对应的分支来进行测试与功能验证。根据所述目标流量对应的所述目标应用所侧重的功能确定待测试验证的分支,即为所述目标功能。

然后,通过运行所述目标应用针对所述目标功能进行测试,例如阻塞测试流量、模拟网络时延或丢包、切换不同线路出口等,判断所述目标功能对应的目标测试现象是否出现,从而验证所述目标流量在所述目标应用的功能,判断是否与所述分支的预判结果一致。当目标测试现象出现时,表示验证结果与所述分支的预判结果一致,否则表示不一致,所述分支需要进行调整。

验证过程中,可以单独分支验证,也可以多个分支组合,直至验证的功能对应的目标测试现象出现。每轮测试验证的结果均与该分支的预判结果进行比对,若相符,则该分支的验证结束,若与该分支的预判结果有差异,则将此次测试验证的分支信息进行反馈,以对其进行调整。

例如,对具有某个头部特征的http请求,进行干扰,即模拟网络拥塞、丢包等。又例如,对具有相同域名关键字段特征的https请求,引导走不同运营商出口。干扰或引导后,再从最终产生的结果看这些干扰或者引导操作,对该目标应用的使用所造成怎样的影响,是否出现目标测试现象。

s62,根据所述验证结果调整所述分支的预判结果,然后返回步骤52,继续对调整后的所述分支进行测试验证。

具体地,该步骤是以测试验证过程中的实际结果来调整所述分析树每个分支的预判结果,通过将与目标流量相关联的功能描述与索引值进行增加、删除、变更等来调整目标流量的功能定位,以验证结果对分析树的流量分类、流量具体功能进行调节或者补充,然后根据调整后的分析树进行下一轮次测试验证,这个过程可能需要多次测试验证与反馈才能得到目标测试现象,从而达到一个理想的分析结果。

例如,当所述验证结果不符合所述预判结果时,分析所述验证出现了何种测试现象,该测试现象对应的功能是什么,从而对所述分支对应的功能进行调整。然后,针对调整后的所述分支再次进行测试验证,直至验证结果符合所述分支的预判结果。

s72,根据所述分析树生成新的特征数据库。

具体地,当所述验证结果符合所述预判结果时,表示所述分支验证通过,当所有待测试的分支都验证通过后,根据所述分析树可以输出对所述目标流量的精细分析结果,从而生成所述新的特征数据库,用于后续的流量特征匹配。

本实施例提供的特征数据库生成方法,可以在对目标应用的流量收集的基础上,主动对目标流量进行精细化智能分类,并对分类的目标流量进行验证与反馈调整,达到判定流量在目标应用中所起的功能的作用,并将最终结果整合入新的特征数据库,实现对特征数据库的更新和完善,以用于后续在流量分拣时进行流量特征匹配。

参阅图5所示,本发明实施例还提出一种实现流量分拣方法的流量分拣装置2。在本实施例中,所述流量分拣装置2可以是dpi设备或者其他具有运算功能的电子设备。

所述流量分拣装置2包括:存储器21、处理器23、网络接口25及通信总线27。其中,网络接口25可选地可以包括标准的有线接口、无线接口(如wi-fi接口)。通信总线27用于实现这些组件之间的连接通信。

存储器21至少包括一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,所述存储器21可以是流量分拣装置2的内部存储单元,例如该流量分拣装置2的硬盘。在另一些实施例中,所述存储器21也可以是流量分拣装置2的外部存储单元,例如流量分拣装置2上配备的插接式硬盘,smc卡,sd卡,闪存卡等。

所述存储器21可以用于存储安装于流量分拣装置2的应用软件及各类数据,例如流量分拣程序20的程序代码及其运行过程中产生的相关数据。

处理器23在一些实施例中可以是一中央处理器,微处理器或其它数据处理芯片,用于运行存储器21中存储的程序代码或处理数据。

图5仅示出了具有组件21-27以及流量分拣程序20的流量分拣装置2,但是应理解的是,图5并未示出流量分拣装置2的所有组件,可以替代实施更多或者更少的组件。

在图5所示的流量分拣装置2实施例中,作为一种计算机存储介质的存储器21中存储流量分拣程序20的程序代码,处理器23执行所述流量分拣程序20的程序代码时,实现如下方法:

(1)抓取目标应用对应的目标流量。

(2)将所述目标流量与预设的特征数据库进行匹配,以对所述目标流量进行分类和功能预判。其中所述预设的特征数据库根据上述特征数据库生成方法得到,具体生成过程在此不再赘述。

参阅图6所示,本发明实施例还提出一种流量分拣方法,应用于所述流量分拣装置2。该方法包括以下步骤:

s14,抓取目标应用对应的目标流量。

s24,将所述目标流量与预设的特征数据库进行匹配,以对所述目标流量进行分类和功能预判。其中所述预设的特征数据库根据如上述的特征数据库生成方法得到,具体生成过程在此不再赘述。在确定所述目标流量的分类和功能后,可输出给后端应用,以进一步对该目标流量进行处理,例如,加速引导、流量计费等。

本实施例提供的流量分拣方法,可以在目标流量经过所述流量分拣装置时,利用所述特征数据库进行高精度的匹配,优化所述流量分拣装置的流量匹配深度与效率。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台客户端(可以是手机,计算机,电子设备,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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