一种基于半监督聚类算法的设备类型识别方法和装置与流程

文档序号:18902107发布日期:2019-10-18 22:05阅读:451来源:国知局
一种基于半监督聚类算法的设备类型识别方法和装置与流程

本发明涉及物联网设备企业识别技术领域,具体涉及一种基于半监督聚类算法的设备类型识别方法和装置。



背景技术:

物联网(internetofthings,简写为iot)即“万物相连的互联网”,是互联网基础上的延伸和扩展的网络,是将各种信息传感设备与互联网结合起来而形成的一个巨大网络,可实现在任何时间、任何地点,人、机、物的互联互通。目前,物联网已经是新一代信息技术发展的重大方向,中国通信公司自2017年起就相继开始打造智慧城市;其中,作为物联网的一个重要分支,窄带物联网(narrowbandinternetofthings,简写为nb-iot)的覆盖省域也逐步增多。nb-iot是iot领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,,只消耗大约180khz的带宽,可直接部署于gsm网络、umts网络或lte网络,以降低部署成本、实现平滑升级。

随着物联网产业的兴起,对物联网企业业务的跟踪与识别需求也接踵而至。传统的物联网企业识别过程通常为:首先针对某已知企业抓取批量设备样包;然后分析样包内容,提取设备特征;最后将提取的特征加入dpi产品识别特征库,进行企业识别。但是,由于现网存在大量未知企业数据,已知企业量级较少,因此人工提取到的已知企业特征存在非唯一企业特征,是多企业共有特征,而大量未知企业的业务数据难以探索识别。而且,物联网业务并非普通的4g移动互联网业务,难以实现本地准备设备做复现业务抓包工作,并且业务基本不具备自然语言可读性,因此现有的4g业务识别技术难以移植到物联网企业识别上来。

综上可知,鉴于物联网企业业务与常规互联网业务的业务平台差异性,本地抓包和复现业务请求极其困难,因此使用常规协议识别流程(即现有人工摸索物联网企业识别模式)很难开展物联网企业的识别工作,更难满足识别企业种类多、覆盖广、更新快的需求,因此目前仍缺少一种有效的机器学习方法对企业数据进行分类或聚类。

鉴于此,克服上述现有技术所存在的缺陷是本技术领域亟待解决的问题。



技术实现要素:

本发明需要解决的技术问题是:

鉴于物联网企业业务与常规互联网业务的业务平台差异性,本地抓包和复现业务请求极其困难,使用常规协议识别流程很难开展物联网企业的识别工作,更难满足识别企业种类多、覆盖广、更新快的需求。

本发明通过如下技术方案达到上述目的:

第一方面,本发明提供了一种基于半监督聚类算法的设备类型识别方法,包括:

收集多条物联网数据,形成物联网数据集;

在物联网数据集内对产生的业务数据进行行为统计,生成针对各设备的行为统计特征;

在物联网数据集内进行数据包级的半监督聚类学习后,对产生的业务数据进行包类型识别,生成针对各设备的包类型统计特征;

针对设备合并行为统计特征和包类型统计特征,并基于合并后的数据进行设备级的半监督聚类学习,生成设备企业聚类结果。

优选的,所述在物联网数据集内进行数据包级的半监督聚类学习后,对产生的业务数据进行包类型识别,生成针对各设备的包类型统计特征,具体包括:

在物联网数据集内,随机抽取业务数据进行数据包相关信息的提取,形成包特征聚类模型训练集;

针对所述包特征聚类模型训练集设计包特征相似度计算算法,继而进行数据包级的半监督聚类学习,生成包特征聚类模型;

在物联网数据集内,以设备为单位利用所述包特征聚类模型对产生的业务数据进行包类型识别,生成针对各设备的包类型统计特征。

优选的,在所述随机抽取业务数据进行数据包相关信息的提取中,所述数据包相关信息包括请求时段、请求类型、返回状态码、数据大小、coap各option字段以及负载原始数据中的一项或者多项。

优选的,所述半监督聚类具体为chamelon聚类,则所述针对所述包特征聚类模型训练集设计包特征相似度计算算法,继而进行数据包级的半监督聚类学习,具体为:

针对所述包特征聚类模型训练集中的不同字段类型,分别采取不同的相似度计算方法进行数据包间的相似度计算,并基于相似度结果构造数据包之间的第一相似度矩阵;

根据所述第一相似度矩阵的数据值,采用k-最邻近法将数据包以相似度最大的k个为单位聚集成簇;

计算任意两个簇的互连性ri和紧密性rc,当两个指标均符合包特征聚类指标时合并两个簇,迭代合并至无簇后结束动态聚类。

优选的,所述针对设备合并行为统计特征和包类型统计特征,并基于合并后的数据进行设备级的半监督聚类学习,生成设备企业聚类结果,具体包括:

以设备为键值合并相应的行为统计特征和包类型统计特征,形成设备半监督聚类训练集;

提取有企业标签的设备半监督聚类训练集,建立分类模型并进行有监督的训练,生成设备相似度计算模型;

利用所述设备相似度计算模型进行设备级的半监督聚类学习,生成设备企业聚类结果。

优选的,所述提取有企业标签的设备半监督聚类训练集,建立分类模型并进行有监督的训练,生成设备相似度计算模型,具体为:

提取适当数量的有企业标签的设备半监督聚类训练集,并针对设备半监督聚类训练集计算两两设备之间的第一特征差值向量;

根据所述两两设备之间的第一特征差值向量与label值,构成设备相似度计算模型训练集;其中,对于所述两两设备,若两两企业相同则label为1,不同则label为0;

建立分类模型,并利用所述设备相似度计算模型训练集进行分类模型的训练,将训练好的模型作为设备相似度计算模型。

优选的,所述半监督聚类具体为chamelon聚类,则所述利用所述设备相似度计算模型进行设备级的半监督聚类学习,具体为:

针对所述设备相似度计算模型训练集,计算两两设备之间的第二特征差值向量;

将所述第二特征差值向量输入所述设备相似度计算模型,并基于输出的相似度结果构造设备之间的第二相似度矩阵;

根据所述第二相似度矩阵的数据值,采用k-最邻近法将设备以相似度最大的k个为单位聚集成簇;

计算任意两个簇的互连性ri和紧密性rc,当两个指标均符合设备聚类指标时合并两个簇,迭代合并至无簇后结束动态聚类。

优选的,在所述物联网数据集中,每条数据包含上下行请求包数、上下行请求字节数、请求类型、请求负载以及返回状态码中的一项或多项信息。

优选的,在所述在物联网数据集内对产生的业务数据进行行为统计时,具体统计相应设备在一天中不同时段内,产生的请求类型分布、请求成功率分布、失败类型分布以及出现地点数分布中的一项或多项信息。

第二方面,本发明还提供了一种基于半监督聚类算法的设备类型识别装置,包括至少一个处理器和存储器,所述至少一个处理器和存储器之间通过数据总线连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令在被所述处理器执行后,用于完成第一方面所述的基于半监督聚类算法的设备类型识别方法。

本发明的有益效果是:

本发明提供的设备类型识别方法中,通过解析iot设备产生的协议流特征与数据包内特征,基于半监督聚类算法对设备类型进行分类,在设备聚类之前先进行包类型聚类,既摆脱了数据包混淆的困扰,又利用了设备产生不同类型数据包的分布状态协助了设备聚类,节省了人力物力,可以多、快、准的发现物联网企业,帮助完成物联网企业的识别工作。

【附图说明】

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

图1为本发明实施例提供的一种基于半监督聚类算法的设备类型识别方法流程图;

图2为本发明实施例提供的一种基于半监督聚类算法的设备类型识别方法的具体实现过程拓扑图;

图3为本发明实施例提供的一种生成针对设备的包类型统计特征的方法流程图;

图4为本发明实施例提供的一种针对包的chamelon聚类学习方法流程图;

图5为本发明实施例提供的一种基于合并特征生成设备企业聚类结果的方法流程图;

图6为本发明实施例提供的一种设备相似度计算模型的训练方法流程图;

图7为本发明实施例提供的一种针对设备的chamelon聚类学习方法流程图;

图8为本发明实施例提供的一种基于半监督聚类算法的设备类型识别装置的架构图。

【具体实施方式】

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面就参考附图和实施例结合来详细说明本发明。

实施例1:

本发明实施例提供了一种基于半监督聚类算法的设备类型识别方法,可多、快、准的发现物联网企业,帮助完成物联网企业的识别工作。如图1所示,所述方法具体包括以下步骤:

步骤10,收集多条物联网数据,形成物联网数据集。

由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的http协议应用在物联网上就显得过于庞大而不适用,故本发明实施例中采用coap协议,收集预设单位内的多条物联网现网coap数据,形成物联网数据集。在这里,所述预设单位可以是天、周、月等,本实施例优选为天单位,因为物联网设备业务请求频率低,周期性强,所以以天为单位既可以避免频率低而收集不到企业信息,也可以将企业业务分布时段作为聚类特征。其中,在所述物联网数据集中,每条数据需要包含请求和返回数据的原始数据和相关统计数据,具体包含但不限于上下行请求包数、上下行请求字节数、请求类型、请求负载以及返回状态码中的一项或多项信息。

步骤20,在物联网数据集内对产生的业务数据进行行为统计,生成针对各设备的行为统计特征。

在对产生的业务数据进行行为统计时,具体根据步骤10中的上下行请求包数、上下行请求字节数、请求类型等信息,统计相应设备在一天中不同时段内,产生的请求类型分布、请求成功率分布、失败类型分布以及出现地点数分布中的一项或多项信息,进而对各项信息处理后生成针对设备的行为统计特征。

步骤30,在物联网数据集内进行数据包级的半监督聚类学习后,对产生的业务数据进行包类型识别,生成针对各设备的包类型统计特征。

在本发明实施例中,为摆脱数据包混淆的困扰,同时利用设备产生不同类型数据包的分布状态协助设备聚类,在设备聚类之前先进行了包类型聚类。即,在物联网数据集内,先随机抽取业务数据进行数据包级的半监督聚类学习处理,生成包特征聚类模型,然后利用生成的包特征聚类模型识别设备产生的数据归属包类型,生成针对设备的包类型统计特征。其中,本发明使用了半监督聚类学习,既可以利用标记样本数据信息帮助建立模型,又可以利用未标记数据提升学习性能,对学习过程中观察到的未标记数据进行预测。

步骤40,针对设备合并行为统计特征和包类型统计特征,并基于合并后的数据进行设备级的半监督聚类学习,生成设备企业聚类结果。

在步骤20和步骤30的基础上,先以设备为单位合并行为统计特征和包类型统计特征作为训练集;然后基于训练集进行有监督的模型训练,得到设备相似度计算模型;最后利用训练好的设备相似度计算模型进行设备级的半监督聚类学习,其聚类结果即为本批数据的设备企业聚类结果。

进一步地,在本发明实施例中,为避免受未知企业数目的困扰,需保证聚类结果的类型数目是动态的,进而满足物理网企业数量与日俱增的特性。因此,无论是数据包级的聚类还是设备级的聚类,所述半监督聚类具体都可优选地采用chamelon聚类;当然,也可选择其他合适的动态聚类算法。chamelon聚类是一种两阶段聚类法:第一阶段把点分成很多小的簇;第二阶段根据相近程度合并这些小的簇。其中,第一阶段采用k-最邻近法,即把一个点和它最邻近的k个点连接起来;第二阶段计算任意两个簇的互连性ri和紧密性rc,当两个指标都比较大时(即两个簇的相似性较大)才合并这两个簇。互连性ri和紧密性rc的计算方法如下:

互连度:ri(ci,cj)=2*|ec(ci,cj)|/|ec(ci)|+|ec(cj)|

紧密度:rc(ci,cj)=(|ci|+|cj|)ec(ci,cj)/(|cj|ec(ci)+|ci|ec(cj)(1))

其中,|ci|表示簇i内数据点的个数,ec(ci)表示簇i内所有边的权重和,ec(ci,cj)表示跨越两个簇的所有边的权重和。

本发明提供的上述设备类型识别方法中,通过解析iot设备产生的coap协议流特征与数据包内特征,基于半监督聚类算法对设备类型进行分类,在设备聚类之前先进行包类型聚类,既摆脱了数据包混淆的困扰,又利用了设备产生不同类型数据包的分布状态协助了设备聚类,节省了人力物力,可以多、快、准的发现物联网企业,帮助完成物联网企业的识别工作。

进一步地,整个设备类型识别方法的具体执行过程还可参考图2,虚线框内的流程即为数据包级的chamelon聚类过程。结合图3和图2,所述在物联网数据集内进行数据包级的半监督聚类学习后,对产生的业务数据进行包类型识别,生成针对各设备的包类型统计特征,即步骤30,具体包括以下步骤:

步骤301,在物联网数据集内,随机抽取业务数据进行数据包相关信息的提取,形成包特征聚类模型训练集。

其中,所述数据包相关信息包括请求时段、请求类型、返回状态码、数据大小、coap各option字段以及负载原始数据中的一项或者多项信息,通过提取各项信息,组成包特征聚类模型训练集。

步骤302,针对所述包特征聚类模型训练集设计包特征相似度计算算法,继而进行数据包级的半监督聚类学习,生成包特征聚类模型。其中,当所述半监督聚类具体为chamelon聚类时,针对包的chamelon聚类学习过程可参考图4和图2,具体包括:

步骤3021,针对所述包特征聚类模型训练集中的不同字段类型,分别采取不同的相似度计算方法进行数据包间的相似度计算,并基于相似度结果构造数据包之间的第一相似度矩阵。

其中,物联网数据集中的字段类型通常分为数值型、类型型和字符串型,针对三种不同的字段类型分别进行数值相似度计算、特征值相似度计算(即类型相似度计算)和字符串相似度计算;随后对不同的字段类型设计权值,加权计算得到两个数据包的相似度;最后利用数据包的相似度结果构造数据包之间的相似度矩阵;为便于区分,这里记为“第一相似度矩阵”。进一步地,除上述提到的数值型、类型型和字符串型以外,字段类型还可能包括时间型和字节型,相应地还需要进行时间相似度计算和字节相似度计算。

步骤3022,根据所述第一相似度矩阵的数据值,采用k-最邻近法将数据包以相似度最大的k个为单位聚集成簇。

步骤3023,计算任意两个簇的互连性ri和紧密性rc,当两个指标均符合包特征聚类指标时合并两个簇,迭代合并至无簇后结束动态聚类。

其中,步骤3022与3023为chamelon的两阶段聚类。步骤3022对应一阶聚类,即采用k-最邻近法将数据包以相似度最大的k个为单位聚集成小簇,也就是建立最小子簇;步骤3023对应二阶聚类,即根据计算的互连性ri和紧密性rc进行动态规划,合并相似性高的子簇。在这里,“符合包特征聚类指标”是指互连性ri和紧密性rc两个指标都比较大,达到相应的预设阈值,该预设阈值具体根据实际需要设定,此处不做具体限定。

步骤303,在物联网数据集内,以设备为单位利用所述包特征聚类模型对产生的业务数据进行包类型识别,生成针对设备的包类型统计特征。

在具体实施过程中,可以设备为单位,使其产生的coap数据逐一通过所述包特征聚类模型进行识别,并将识别结果统计进设备产生包类型的分布向量,生成设备的包类型统计特征。

继续参考图5和图2,所述针对设备合并行为统计特征和包类型统计特征,并基于合并后的数据进行设备级的半监督聚类学习,生成设备企业聚类结果,即步骤40,具体包括以下步骤:

步骤401,以设备为键值合并相应的行为统计特征和包类型统计特征,形成设备半监督聚类训练集。

步骤402,提取有企业标签的设备半监督聚类训练集,建立分类模型并进行有监督的训练,生成设备相似度计算模型。其中,训练设备相似度计算模型的过程具体又可参考图6,包括:

步骤4021,提取适当数量的有企业标签的设备半监督聚类训练集,并针对设备半监督聚类训练集计算两两设备之间的第一特征差值向量。

通过以往人工积累的企业特征的识别,物联网现网的coap业务数据集中有部分数据已有企业标签,此类数据可以协助进行设备聚类。因此在该步骤中,可根据实际使用需求,提取部分有企业标签的设备半监督聚类训练集,进而针对该数据集计算两两设备之间的特征差值向量,记为第一特征差值向量。其中,第一特征差值的计算公式为:式中集合a表示两个设备特征值的集合,max(a)表示两个设备特征值中的较大值,min(a)表示两个设备特征值中的较小值,avg(a)表示两个设备特征值的平均值,两两设备间所有第一特征差值构成第一特征差值向量。

步骤4022,根据所述两两设备之间的第一特征差值向量与label值,构成设备相似度计算模型训练集。其中,对于所述两两设备,若对应的两两企业相同则label为1,若对应的两两企业不同则label为0;第一特征差值向量与label构成设备相似度计算模型的训练集。

步骤4023,建立分类模型,并利用所述设备相似度计算模型训练集进行分类模型的训练,将训练好的模型作为设备相似度计算模型。

步骤403,利用所述设备相似度计算模型进行设备级的半监督聚类学习,生成设备企业聚类结果。其中,当所述半监督聚类具体为chamelon聚类时,针对设备的chamelon聚类学习过程可参考图7,具体包括:

步骤4031,针对所述设备相似度计算模型训练集,计算两两设备之间的第二特征差值向量。这里的设备相似度计算模型训练集即可认为是设备特征数据集,针对该数据集计算两两设备之间的特征差值向量,记为第二特征差值向量。其中,第二特征差值的计算公式为:式中集合a表示两个设备特征值的集合,max(a)表示两个设备特征值中的较大值,min(a)表示两个设备特征值中的较小值,avg(a)表示两个设备特征值的平均值,两两设备间所有第二特征差值构成第二特征差值向量。

步骤4032,将所述第二特征差值向量输入所述设备相似度计算模型,并基于输出的相似度结果构造设备之间的第二相似度矩阵。

利用步骤402中训练好的设备相似度计算模型进行相似度计算,得到两个设备的相似度,进而利用设备的相似度结果构造设备间二维关联的相似度矩阵;为便于区分,这里记为“第二相似度矩阵”。其中,每两个设备之间均有相似度值,因此可构造二维关联矩阵,矩阵内的元素值即为相似度值。

步骤4033,根据所述第二相似度矩阵的数据值,采用k-最邻近法将设备以相似度最大的k个为单位聚集成簇。

步骤4034,计算任意两个簇的互连性ri和紧密性rc,当两个指标均符合设备聚类指标时合并两个簇,迭代合并至无簇后结束动态聚类。

其中,步骤4033与4034为chamelon的两阶段聚类。步骤4033对应一阶聚类,即采用k-最邻近法将设备以相似度最大的k个为单位聚集成小簇,也就是建立最小子簇;步骤4034对应二阶聚类,即根据计算的互连性ri和紧密性rc进行动态规划,合并相似性高的子簇。在这里,“符合设备聚类指标”是指互连性ri和紧密性rc两个指标都比较大,达到相应的预设阈值,该预设阈值具体根据实际需要设定,此处不做具体限定。

综上所述,本发明实施例提供的基于半监督聚类算法的设备类型识别方法,相比现有技术具有以下优势:

通过解析iot设备产生的协议流特征与数据包内特征,基于半监督聚类算法对设备类型进行分类,突破了传统人工摸索物理网企业识别模式,节省了人力物力,可以快速自动化发现物联网企业,帮助完成物联网企业的识别工作;

考虑到相同企业会产生不同类型请求以及不同企业会产生相似请求的问题,在设备聚类之前先进行了包类型聚类,设备产生的包以分布状态体现在设备半监督聚类训练集里,既摆脱了数据包混淆的困扰,又利用了设备产生不同类型数据包的分布状态协助了设备聚类;

所述半监督聚类方法采用chamelon聚类,即k-means+二次动态聚类的两层聚类方式进行聚类,不会受未知企业数目的困扰,聚类结果的类型数目是动态的,满足物理网企业数量与日俱增的特性。

实施例2:

在上述实施例1提供的基于半监督聚类算法的设备类型识别方法的基础上,本发明还提供了一种可用于实现上述方法的基于半监督聚类算法的设备类型识别装置,如图8所示,是本发明实施例的装置架构示意图。本实施例的基于半监督聚类算法的设备类型识别装置包括一个或多个处理器21以及存储器22。其中,图8中以一个处理器21为例。

所述处理器21和所述存储器22可以通过总线或者其他方式连接,图8中以通过总线连接为例。

所述存储器22作为一种基于半监督聚类算法的设备类型识别方法非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如实施例1中的基于半监督聚类算法的设备类型识别方法。所述处理器21通过运行存储在所述存储器22中的非易失性软件程序、指令以及模块,从而执行基于半监督聚类算法的设备类型识别装置的各种功能应用以及数据处理,即实现实施例1和实施例2的基于半监督聚类算法的设备类型识别方法。

所述存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,所述存储器22可选包括

相对于所述处理器21远程设置的存储器,这些远程存储器可以通过网络连接至所述处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例1中的基于半监督聚类算法的设备类型识别方法,例如,执行以上描述的图1、图2-图7所示的各个步骤。

本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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