一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于IP地址画像的大规模IP自动分类方法、装置和介质与流程

2022-07-31 08:53:30 来源:中国专利 TAG:

基于ip地址画像的大规模ip自动分类方法、装置和介质
技术领域
1.本发明涉及社区发现领域,特别涉及基于ip地址画像的大规模ip自动分类方法、装置和介质。


背景技术:

2.在互联网访问行为分析中,针对访问日志中的ip访问记录和已有的ip画像属性,进行ip群体的自动划分,即ip自动分类分析是支撑互联网访问态势分析、访问行为分析的重要工作之一。
3.ip画像描述了ip的个体属性或特征,不同ip的各个特征之间隐含了一定的关联性,因此,可以把具有相似ip画像特征的多个ip划分为同一群体,这是ip自动分类的理论基础。此外,随着时间的推移,互联网访问信息会不断更新,ip的画像特征也会不断改变,这种ip画像的变化必然带来ip群体的变化。传统的方法中,通常会随着ip画像的变化,对所有的ip重新使用社区发现等算法,进行群体发现。此类方法的缺点是,在海量ip数据下,发现大规模ip群体时,效率低、耗时久,并需要耗费大量计算资源,因此不适合线上实时场景即ip画像动态变化的群体发现。此外,我们发现,大规模ip群体内,不同ip的画像实时变化的程度不同:一般群体中的“核心节点”较为稳定,而“边缘节点”则变化波动较大。如果采用传统的社区发现算法进行ip分类,则每次运行时,由于ip画像变化导致的计算顺序不同,也会影响群体生成的稳定性。


技术实现要素:

4.本发明所要解决的技术问题是针对现有技术的不足,提供基于ip地址画像的大规模ip自动分类方法、装置和介质。
5.本发明解决上述技术问题的技术方案如下:
6.一种基于ip地址画像的大规模ip自动分类方法,所述方法包括:
7.s1、从ip数据样本库中随机抽取第一ip集,根据所述第一ip集中各ip之间的相似度关系,构建ip节点关系图;
8.s2、运用谱聚类算法,将所述ip节点关系图划分为多个子图,每张所述子图对应一个ip群体;
9.s3、根据所述ip节点关系图,确定每张所述子图的核心节点,并过滤掉包含ip数小于预设数量的所述子图;
10.s4、当新ip节点加入时,根据计算所述新ip节点与每个所述核心节点的相似度,确定所述新ip节点所属的所述ip群体;
11.s5、当所述ip地址画像更新后,再次从ip数据样本库中随机抽取第二若干ip后,将所述核心节点与所述第二若干ip混合后得到第二ip集,根据第二ip集中各ip间的相似度关系,构建所述ip节点关系图,重复执行所述s2至所述s4。
12.本方法发明的有益效果是:提出了一种基于ip地址画像的大规模ip自动分类方
法,包括首先基于各个ip画像的相似度关系构建图结构,由此确定核心的ip节点,对于新加入的节点,本方法对其进行分类的计算复杂度为o(n),n为核心节点的数量,因此适用于大规模ip数据的线上实时处理。同时,本方法在进行ip分类结果的更新时,会将之前的核心节点与新抽样的节点混合起来重新聚类,这一过程在一定程度上保证了各ip群体的核心稳定性,同时又能较好地反映它们的实时变化。
13.本发明解决上述技术问题的另一技术方案如下:
14.一种基于ip地址画像的大规模ip自动分类装置,所述装置包括:
15.构建模块,用于从ip数据样本库中随机抽取第一ip集,根据所述第一ip集中各ip之间的相似度关系,构建ip节点关系图;
16.划分模块,用于运用谱聚类算法,将所述ip节点关系图划分为多个子图,每张所述子图对应一个ip群体;
17.过滤模块,用于根据所述ip节点关系图,确定每张所述子图的核心节点,并过滤掉包含ip数小于预设数量的所述子图;
18.查新模块,用于当新ip节点加入时,根据计算所述新ip节点与每个所述核心节点的相似度,确定所述新ip节点所属的所述ip群体;
19.更新模块,用于当所述ip地址画像更新后,再次从ip数据样本库中随机抽取第二若干ip后,将所述核心节点与所述第二若干ip混合后得到第二ip集,根据第二ip集中各ip间的相似度关系,构建所述ip节点关系图,重复执行所述构建模块至所述查新模块。
20.此外,本发明还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现上述技术方案中任一项所述方法的步骤。
21.本发明还提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现上述技术方案中任一项所述方法的步骤。
22.本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
23.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1为本发明实施例所述的一种基于ip地址画像的大规模ip自动分类方法的流程示意图;
25.图2为本发明另一实施例所述的一种基于ip地址画像的大规模ip自动分类装置的模块示意图;
26.图3为本发明另一实施例所述的一种基于ip地址画像的大规模ip自动分类方法的实施示意图。
具体实施方式
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
28.本技术提出了一种基于ip地址画像的大规模ip自动分类方法。该方法首先将对全部的大规模数据进行随机抽样,获取一定数量的ip画像,而传统的社区发现算法则会针对全部数据,计算每两个ip画像之间的相似度。然后通过谱聚类,把随机抽样得到的ip划分为不同的群体,并提取每个群体的核心结点。划分完毕后,对任意一个未知的ip,都可以通过比较其画像与各个核心节点的相似度而进行自动分类,提升ip群体实时更新的效率。这一方法既能保证短时间内ip群体的核心稳定性,又能即时地反映ip群体的最新变化。
29.现有技术需要对整个用户节点关系图运行社区发现算法,其局限性包括(一)方案的复杂度高,这在大规模数据的场景下,关系图中含有海量的节点和边,将耗费大量的运算和存储资源;(二)运算速度慢,无法实时的更新并给出某一节点所属的分类;(三)聚类结果的稳定性差,即便对于同样的关系图,运行两次社区发现算法,最终得到的社区即用户群,结构也往往存在巨大的偏差;(四)除“社区发现算法”之外,全量地构建用户节点关系图的过程的复杂度也达到了o(n2),同样不适合大规模数据场景。
30.为了解决现有的技术问题,本发明提供了一种基于ip地址画像的大规模ip自动分类方法,相比传统的社区发现算法,本方法首先基于各个ip画像的相似度关系构建图结构,由此确定核心的ip节点,对于新加入的节点,本方法对其进行分类的计算复杂度为o(n),n为核心节点的数量,因此适用于大规模ip数据的线上实时处理。同时,本方法在进行ip分类结果的更新时,会将之前的核心节点与新抽样的节点混合起来重新聚类,这一过程在一定程度上保证了各ip群体的核心稳定性,同时又能较好地反映它们的实时变化。
31.如图1本发明实施例所述的一种基于ip地址画像的大规模ip自动分类方法,包括以下步骤:
32.s1、从ip数据样本库中随机抽取第一ip集,根据所述第一ip集中各ip之间的相似度关系,构建ip节点关系图。
33.s2、运用谱聚类算法,将所述ip节点关系图划分为多个子图,每张所述子图对应一个ip群体。
34.s3、根据所述ip节点关系图,确定每张所述子图的核心节点,并过滤掉包含ip数小于预设数量的所述子图。
35.s4、当新ip节点加入时,根据计算所述新ip节点与每个所述核心节点的相似度,确定所述新ip节点所属的所述ip群体。
36.s5、当所述ip地址画像更新后,再次从ip数据样本库中随机抽取第二若干ip后,将所述核心节点与所述第二若干ip混合后得到第二ip集,根据第二ip集中各ip间的相似度关系,构建所述ip节点关系图,重复执行所述s2至所述s4。
37.进一步地,所述s1具体包括:
38.为所述第一ip集中各ip统计画像属性,所述画像属性包括字符串类型和归一化到0~1数值类型。
39.从ip数据样本库中随机抽取k个ip,得到所述第一ip集,其中k是整数。
40.计算所述第一ip集中每两个ip之间的相似度,所述相似度是指分别计算所述每两
个ip的画像属性的分量的距离之和后取负指数。
41.得到k2个ip对,取所有所述相似度中最高值的预设数量n个ip对,作为所述ip节点关系图中的边,其中,n是整数。
42.进一步地,所述s2具体包括:
43.运用谱聚类算法,将所述ip节点关系图划分为m个子图。
44.所述m是预定义超参数,通过比较不同m值对应的聚类结果的轮廓系数和簇内误差平方和sse确定所述m。
45.删除包含所述ip数小于所述预设数量的所述子图。
46.进一步地,所述s3具体包括:
47.对于每张所述子图,计算所述每张子图中各节点的接近中心度。
48.将所有所述接近中心度进行排序后,将排序结果在预设位置之前的所有所述节点作为所述子图的核心节点,所述子图中的其余节点作为边缘节点。
49.进一步地,所述s4具体包括:
50.当所述新ip节点x加入时,计算所述新ip节点x与每个核心节点的相似度。
51.将每张所述子图中的所有所述核心节点与所述新ip节点x的相似度中最小的相似度,作为所述新ip节点x与所述子图的相似度。
52.将所述新ip节点x与所有所述子图的相似度中最高值所对应的所述子图所属的所述ip群体,作为所述新ip节点x所属的所述ip群体。
53.当存在第二ip群体与所述新ip节点x的相似度值与所述最高值的差值在预设范围内时,则所述新ip节点x所属的所述第二ip群体。
54.应理解,本发明提供了一种基于ip地址画像的大规模ip自动分类方法,相比传统的社区发现算法,本方法首先基于各个ip画像的相似度关系构建图结构,由此确定核心的ip节点,对于新加入的节点,本方法对其进行分类的计算复杂度为o(n),n为核心节点的数量,因此适用于大规模ip数据的线上实时处理。同时,本方法在进行ip分类结果的更新时,会将之前的核心节点与新抽样的节点混合起来重新聚类,这一过程在一定程度上保证了各ip群体的核心稳定性,同时又能较好地反映它们的实时变化。
55.如图3所示,对本发明的实施方案作更详细的描述。
56.步骤s1:从大规模的ip画像数据中,随机抽取k个ip。
57.步骤s2:根据ip画像,计算每两个ip之间的相似度关系,取出最相似的10k个节点对作为边,最终构成k个节点,10k条边的ip节点关系图。
58.步骤s3:运用谱聚类算法,把ip节点关系图划分成m个子图(每个子图对应一个分类类别),过滤掉包含节点过少的子图,把接近中心度前50%的节点作为核心节点。
59.步骤s4:对于每个新输入的ip,计算它与已有的核心节点的相似度关系,以此确定该ip所属的分类。
60.步骤s5:每次ip画像更新后,重新抽样若干个新的ip,与之前计算得到的核心节点一起,作为新一轮的抽样结果,跳转到s2。
61.下面将对每个步骤进行具体的说明:
62.步骤s1:获取初始的ip群结点
63.在全部的n个ip中,随机抽取k个ip(n>>k,本例中,n的值不定,k=104),作为初
始的候选集,记为s={ip1,ip2,ip3,

,ipk}。
64.步骤s2:构建ip关系图
65.(2.1):定义ip画像为ip的特征集合,记为p={p1,p2,p3,

,pn},其中,pi表示ip画像中的一个特征值,共n个特征。pi的值为两类:字符串类、归一化到[0,1]的数值类,每一个ip地址都对应一个画像p。
[0066]
(2.2):计算候选集s中,任意2个ip画像的相似度,具体的计算方法如下,对于任意一个特征pi:
[0067]
若pi是数值类指标,则距离
[0068]
若pi是字符串类指标,则
[0069]
本例中α=0.5。
[0070]
任意2个ip画像的相似度本例中γ=1。此外,定义ip关系图中,
[0071]
边信息集合e={《ipi,ipj,sim(ipi,ipj)》,ipi∈sandipj∈s}。
[0072]
(2.3):根据相似度sim的大小,对边信息集合e中的ip节点对做排序,保留前10
×
k个相似度sim最大的节点对,其余的删去。最终构成包含k个节点、10k条边的ip关系图g(s,e)。
[0073]
步骤s3:核心节点计算
[0074]
(3.1):根据g(s,e),计算全连接,即,矩阵中包含s中任意两个节点之间的相似度关系,且相似度不能为0的相似度矩阵,记为sims,具体方法如下:
[0075]
若ipi∈sandipj∈s,且ipi和ipj不相连,则sims
i,j
=10-8
[0076]
若ipi∈sandipj∈s,且ipi和ipj相连,则sims
i,j
=sim(ipi,ipj)
[0077]
(3.2)运行谱聚类算法,对图g(s,e)进行聚类,算法的输入是全连接相似度矩阵sims,算法的输出是把g(s,e)划分为不重复的m个子图(对应m个分类,每个抽样得到的ip,属于且只属于这m个分类中的一个分类)
[0078]
说明1:测试发现,本例中m的最佳取值范围是[5,10],因此本例中令m=10,这个范围是根据“轮廓系数”和“簇内误差平方和”这两个指标得到的。下面给出这两个指标的定义:设n
i,j
(i=1,

,lj)为子图gj(j=1,...,m)中的一个节点(lj表示gj总共包含的节点数,共有m个子图),则聚类结果对应的轮廓系数为:
[0079][0080]
[0081][0082]
其中,gj‘
是距离当前子图gj‘
最近的子图,dist表示两个节点的距离。由公式可知,类内距离越小,类间距离越大,则对应的轮廓系数越高,表示聚类效果越好。
[0083]
聚类结果对应的簇内误差平方和为:
[0084][0085]
其中,n
c,j
表示子图的中心节点,如果每个节点中只包含“数值类特征”,则可直接按照下式计算n
c,j

[0086][0087]
但是本例中的节点还包含“字符串型特征”,最高的节点作为中心节点。此外,簇内误差平方和考虑的是类内部各个节点的聚集性,簇内误差平方和越大,表示聚类效果可能越好。
[0088]
说明2:测试发现,通过增加相似度矩阵sims的稀疏度(sims
i,j
=10-8
越多,sims越稀疏),能够大大缩短谱聚类的运行耗时,这就是引入步骤2.3的原因。
[0089]
(3.2):设子图gi(i=1,...,m)所包含的节点数为li,如果则认为该子图所含的节点数过少,不足以构成一种分类,删除该子图;反之,则计算子图中每个节点的接近中心度c
[0090][0091]
其中,ck表示节点k的接近中心度,min_dist(ipk,ipj)表示从节点k到节点j的最短路径,实际图中边的权重代表的是相似度,所以需转化为最长路径问题来求解。
[0092]
计算完毕后,令子图中所有节点,按照接近中心度c降序排序,然后取出前li/α个节点,对于第一次抽样,α=2;对于后续抽样,α=3,作为该子图的核心节点。
[0093]
说明:取接近中心性前li/α的ip作为子图gi的核心节点,可以去除“噪声”指与子图中其它节点偏差较大的节点、提取子图中更具共性和一般性的特征。
[0094]
步骤s4:ip自动分类
[0095]
(4.1):输入任意一个ip,从ip画像库中获取该ip的画像,记为ip
[0096]
(4.2):设子图gi中,
[0097]
所有核心节点的集合为计算输入的ip,与
所有核心节点的相似度,记为sim(ip,ip
i,k
),i=1,2,...,m,k=1,2,...,ki。
[0098]
(4.3):对于每个子图gi,找出和输入节点的相似度最小的核心节点,记这两个节点的相似度为
[0099]
最终得到集合s={si|i=1,2,...,m}。
[0100]
(4.4):根据集合s,确定输入ip所属的子图,具体步骤如下:
[0101]
对s中的元素,做降序排序,记排序结果为s’;
[0102]
取出s’中的第1个元素,记为s
i1
,则认为ip∈g
i1

[0103]
遍历s’,记s’中的第k个元素(k≠1)为s
ik

[0104]
ifs
ik
》α
×si1
,本例中α=0.95;
[0105]
则认为ip∈g
ik
,说明:ip∈g
i1
和ip∈g
ik
这两个条件可以同时成立;
[0106]
else
[0107]
停止遍历。
[0108]
步骤s5:更新聚类,每次检测到ip画像更新完毕后,执行“聚类更新”的操作,具体内容如下
[0109]
(5.1):设上一轮抽样得到的核心节点数为h(由前述可知,);
[0110]
(5.2):抽取由前述可知,个新的ip,要求新抽取的ip与原有的核心节点ip不重复,二者合并后,作为新一轮抽样的样本,一共含有k个ip。
[0111]
(5.3):跳转回步骤s2。
[0112]
如图2所示,一种基于ip地址画像的大规模ip自动分类装置,所述装置包括:
[0113]
构建模块,用于从ip数据样本库中随机抽取第一ip集,根据所述第一ip集中各ip之间的相似度关系,构建ip节点关系图。
[0114]
划分模块,用于运用谱聚类算法,将所述ip节点关系图划分为多个子图,每张所述子图对应一个ip群体。
[0115]
过滤模块,用于根据所述ip节点关系图,确定每张所述子图的核心节点,并过滤掉包含ip数小于预设数量的所述子图。
[0116]
查新模块,用于当新ip节点加入时,根据计算所述新ip节点与每个所述核心节点的相似度,确定所述新ip节点所属的所述ip群体。
[0117]
更新模块,用于当所述ip地址画像更新后,再次从ip数据样本库中随机抽取第二若干ip后,将所述核心节点与所述第二若干ip混合后得到第二ip集,根据第二ip集中各ip间的相似度关系,构建所述ip节点关系图,重复执行所述构建模块至所述查新模块。
[0118]
进一步地,所述构建模块,具体用于为所述第一ip集中各ip统计画像属性,所述画像属性包括字符串类型和归一化到0~1数值类型。
[0119]
从ip数据样本库中随机抽取k个ip,得到所述第一ip集,其中k是整数。
[0120]
计算所述第一ip集中每两个ip之间的相似度,所述相似度是指分别计算所述每两个ip的画像属性的分量的距离之和后取负指数。
[0121]
得到k2个ip对,取所有所述相似度中最高值的预设数量n个ip对,作为所述ip节点关系图中的边,其中,n是整数。
[0122]
进一步地,所述划分模块,具体用于运用谱聚类算法,将所述ip节点关系图划分为m个子图。
[0123]
所述m是预定义超参数,通过比较不同m值对应的聚类结果的轮廓系数和sse确定所述m。
[0124]
删除包含所述ip数小于所述预设数量的所述子图。
[0125]
此外,本发明还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现上述技术方案中任一项所述方法的步骤。
[0126]
本发明还提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现上述技术方案中任一项所述方法的步骤。
[0127]
以上结合附图对所提出的基于ip地址画像的大规模ip自动分类算法的具体实施方式进行了阐述。通过以上实施方式的描述,所属领域的一般技术人员可以清楚的了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现,但前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现,该软件产品存储在一个存储介质中,包括若干指令用以使得一台或多台计算机设备执行本发明各个实施例所述的方法。依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。以上所述的本发明实施方式,并不构成对发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献