CN112564928A - 服务分类方法及设备、互联网系统 - Google Patents
服务分类方法及设备、互联网系统 Download PDFInfo
- Publication number
- CN112564928A CN112564928A CN201910853336.5A CN201910853336A CN112564928A CN 112564928 A CN112564928 A CN 112564928A CN 201910853336 A CN201910853336 A CN 201910853336A CN 112564928 A CN112564928 A CN 112564928A
- Authority
- CN
- China
- Prior art keywords
- services
- service
- similarity
- domain names
- data stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000004044 response Effects 0.000 claims description 46
- 239000011159 matrix material Substances 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种服务分类方法及装置、互联网系统,属于互联网技术领域。该服务分类方法包括:确定多个数据流中每个数据流对应的服务,得到多个服务;获取所述多个服务中每个服务对应的域名;基于所述多个服务对应的域名的相似度,对所述多个服务分类。本申请能够对多个服务分类,并基于分类结果实现对互联网系统的管理。本申请能够对多个服务分类,从而能够基于分类结果实现对互联网系统的管理。
Description
技术领域
本申请涉及互联网技术领域,特别涉及一种服务分类方法及设备、互联网系统。
背景技术
互联网系统包括转发设备,以及与转发设备连接的客户端和服务端,服务端通过转发设备向客户端提供服务。
在服务端向客户端提供服务时,服务端和客户端之间通过转发设备传输服务对应的数据流。
目前,服务端向客户端提供的服务的种类较多,为了对互联网系统进行管理,亟需一种对服务进行分类的方法。
发明内容
本申请提供了一种服务分类方法及装置、互联网系统,可以对多个服务分类,进而可以基于分类结果实现对互联网系统的管理。所述技术方案如下:
第一方面,提供了一种服务分类方法,所述方法包括:确定多个数据流中每个数据流对应的服务,得到多个服务;获取所述多个服务中每个服务对应的域名;基于所述多个服务对应的域名的相似度,对所述多个服务分类。示例地,本申请以将该方法应用于服务分类装置为例进行说明,该服务分类装置可以为转发设备。本申请实施例提供的服务分类方法中,服务分类装置能够确定多个服务对应的域名;并基于多个服务对应的域名的相似度,对多个服务分类。从而实现了对多个服务进行分类的目的,进而能够基于该多个服务分类的结果实现对互联网系统的管理。
可选地,所述获取所述多个服务中每个服务对应的域名,包括:获取多个网域名称系统 DNS响应,所述多个DNS响应中的每个DNS响应用于指示所述多个服务中的一个服务对应的域名;根据所述多个DNS响应,得到所述多个服务中每个服务对应的域名。示例地,转发设备获取到的每个DNS响应携带有一个服务端的网络地址以及该服务对应的域名,该网络地址可以用于指示该域名对应的服务。转发设备可以首先查找每个DNS响应所发向的客户端,之后,检测该客户端在接收到该DNS响应后发出的第一个携带有该网络地址的数据流。然后,转发设备可以确定该数据流对应的服务对应的域名为该服务对应的域名。
可选地,在所述基于所述多个服务对应的域名的相似度,对所述多个服务分类之前,所述方法还包括:当任意两个服务对应的域名的个数之和小于或等于个数阈值时,基于所述任意两个服务对应的域名的目标字符串组的交并比,确定所述任意两个服务对应的域名的相似度,其中,一个域名的目标字符串组包括所述域名中的至少部分字符串;示例地,转发设备可以直接将这两个服务对应的域名中目标字符串组的交并比,确定为这两个服务对应的域名的相似度。或者,转发设备可以对该交并比进行计算处理,将计算处理后的结果作为这两个服务对应的域名的相似度。
当所述任意两个服务对应的域名的个数之和大于所述个数阈值时,基于所述任意两个服务对应的域名的交并比,确定所述任意两个服务对应的域名的相似度。在两个服务对应的域名的个数之和大于个数阈值时,域名的个数较多,此时直接根据域名的交并比确定域名的相似度,相较于根据域名中至少部分字符串的交并比确定域名的相似度更加简单。
可选地,一个域名中的目标字符串组包括:所述域名中除作为域名后缀的字符串之外的所有字符串。可能大多数域名的域名后缀都是相同的,因此除该域名后缀之外的字符串的相似度能比较准确的反映两个域名的相似度。
可选地,所述基于所述多个服务对应的域名的相似度,对所述多个服务分类,包括:基于所述多个服务对应的域名的相似度,确定至少一个关联服务组,所述至少一个关联服务组中的每个关联服务组包括对应的域名的相似度大于相似度阈值的两个服务;根据所述多个服务和所述至少一个关联服务组生成无向图,其中,所述无向图包括:与所述多个服务一一对应的多个节点,以及与所述至少一个关联服务组一一对应的至少一条边,所述节点用于表示对应的服务,所述边用于连接对应的一个关联服务组中的两个节点;确定所述无向图中的至少一个最大连通子图,所述最大连通子图包括至少一个所述节点;将位于同一最大连通子图中的节点对应的服务分为一类。转发设备可以基于任一种方法确定该最大连通子图,比如,深度优先搜索、广度优先搜索或者动态规划算法等。
可选地,所述基于所述多个服务对应的域名的相似度,对所述多个服务分类,包括:基于所述多个服务对应的域名的相似度,生成所述多个服务的相似度矩阵,所述相似度矩阵包括m行m列元素,且第i行第j列元素用于表示:所述多个服务中第i个服务对应的域名和第j个服务对应的域名的相似度,1≤i≤m,1≤j≤m;对所述相似度矩阵聚类,得到所述多个服务的分类结果。可选地,转发设备可以采用谱聚类算法(或其他用于基于相似度矩阵进行聚类的算法,如K-Means或DBSCAN等)对相似度矩阵进行聚类。
可选地,在所述对所述相似度矩阵聚类,得到所述多个服务的分类结果之后,所述方法还包括:检测所述多个服务的分类结果准确度是否小于或等于准确度阈值;当所述分类结果的准确度小于或等于所述准确度阈值时,重复执行对所述相似度矩阵聚类,得到所述多个服务的分类结果的过程。当该分类结果的准确度较低时,转发设备确定该分类结果不满足该条件,重复执行对所述相似度矩阵聚类,得到所述多个服务的分类结果的过程能够进一步提高分类结果的准确度。
可选地,在所述基于所述多个服务对应的域名的相似度,对所述多个服务分类之后,所述方法还包括:将每类服务对应的域名中的关键词,作为所述每类服务的类型标签。转发设备的工作人员可以根据该类型标签,确定该类服务的一些特征信息。
可选地,在所述基于所述多个服务对应的域名的相似度,对所述多个服务分类之后,所述方法还包括:记录所述多个服务中每个服务、域名和类型的对应关系。
可选地,所述方法还包括:接收待转发的数据流;基于所述多个服务的分类结果,确定所述数据流对应的服务的类型。
本申请实施例中服务分类装置基于域名的相似度对服务进行分类。在服务分类装置对多个服务分类之后,服务分类装置还可以结合其他分类结果,对多个服务的分类结果进行调整。
可选地,所述方法还包括:确定所述多个数据流中的n个数据流组,n≥1,所述n个数据流组中的每个数据流组对应一个客户端和至少两个服务,且不同数据流组对应不同的客户端;确定所述n个数据流组中每个数据流组对应的服务对,得到多个服务对,所述每个数据流组对应的每个服务对包括:所述每个数据流组对应的任意两个服务;确定所述多个服务对中每个服务对对应的间隔,所述每个服务对对应的间隔包括:所述每个服务对中两个服务在同一数据流组中对应的数据流的开始时间的间隔,一个数据流的开始时间为转发设备接收所述数据流的时间;基于所述每个服务对对应的间隔,确定所述每个服务对中的服务是否关联,得到所述每个服务对中服务的关联关系;基于所述多个服务对中各个服务对中服务的关联关系,对所述多个服务对中的多个服务分类;在所述基于所述多个服务对应的域名的相似度,对所述多个服务分类之后,根据基于所述多个服务对中各个服务对中服务的关联关系对所述多个服务分类的结果,调整基于所述多个服务对应的域名的相似度对所述多个服务端的分类结果。
可选地,所述方法还包括:确定所述多个数据流对应的多个服务中每个服务对应的客户端集合,其中,所述每个服务对应的客户端集合包括:所述每个服务对应的数据流所对应的客户端;基于所述多个服务对应的客户端集合的相似度,对所述多个服务分类;在所述基于所述多个服务对应的域名的相似度,对所述多个服务分类之后,根据基于所述客户端集合的相似度对所述多个服务分类的结果,调整基于所述多个服务对应的域名的相似度对所述多个服务的分类结果。
第二方面,提供了一种服务分类装置,所述服务分类装置包括用于执行第一方面任一所述的服务分类方法的各个模块。
第三方面,提供了一种服务分类装置,所述服务分类装置包括:至少一个处理器、至少一个接口、存储器和至少一个通信总线,所述处理器用于执行所述存储器中存储的程序,以实现第一方面任一所述的服务分类方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的服务分类方法。
第五方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行第一方面任一所述的服务分类方法。
第六方面,提供了一种互联网系统,所述互联网系统包括服务分类装置、多个服务端、以及多个客户端,所述服务分类装置为第二方面或第三方面任一所述的服务分类装置。
附图说明
图1为本申请实施例提供的一种互联网系统的结构示意图;
图2为本申请实施例提供的一种服务分类方法的流程图;
图3为本发明实施例提供的一种对服务进行分类的过程示意图;
图4为本申请实施例提供的一种无向图的结构示意图;
图5为本申请实施例提供的一种服务分类装置的框图;
图6为本申请实施例提供的另一种服务分类装置的框图;
图7为本申请实施例提供的另一种服务分类装置的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1为本申请实施例提供的一种互联网系统的结构示意图,参见图1,该互联网系统10 包括转发设备101,以及与转发设备101连接的多个客户端102(例如图1中示出了3个)和多个服务103(例如图1中示出了3个)。客户端102与服务103通过转发设备101通信连接。
服务103能够通过转发设备101向客户端102提供至少一种服务,并且,服务103可以通过服务103的网络地址和服务端口(port)区分该服务103提供的服务。另外,客户端102中运行的应用通常需要基于多个服务实现,该多个服务可以由一个服务103或多个服务103提供,本申请实施例对此不做限定。
可选地,该转发设备101可以为交换机或者路由器等能够转发数据流的设备。示例地,该转发设备101可以包括网络处理器和中央处理器,转发设备101通过网络处理器实现客户端102和服务103之间的通信连接。
在服务端向客户端提供服务时,服务端与客户端之间可以通过转发设备传输该服务对应的数据流。该数据流携带有五元组,该五元组包括:该数据流对应的客户端的互联网协议 (internet protocol,IP)地址、客户端端口、该数据流对应的服务端的IP地址以及服务端口。当转发设备101接收到客户端102发送的数据流时,转发设备101将该数据流转发至数据流对应的服务端;当转发设备101接收到服务103发送的数据流时,转发设备101将该数据流转发至数据流对应的客户端。
请继续参考图1,该互联网系统还可以包括网域名称系统(domain name system,DNS) 104,该DNS 104可以通过转发设备101与客户端102连接。该DNS 104用于向客户端102提供域名查询服务,客户端102在需要查询某一服务103的域名时,可以通过转发设备102向DNS 104发送携带有该服务103的网络地址的查询指令。DNS 104在接收到该查询指令后,可以通过转发设备101向客户端102发送携带有该服务103的网络地址和域名的DNS响应。
一个或多个服务可以对应一个应用。为了对互联网系统进行管理,提出了一种用于识别数据流对应的应用的深度报文检测(deep packet inspection,DPI)技术。转发设备维护应用特征数据库,该应用特征数据库中存储有应用特征信息与应用的对应关系。在通过DPI技术对应用的进行识别时,转发设备根据接收到的数据流中携带的应用特征信息查找该应用特征数据库,以识别该数据流对应的应用。但是,由于DPI技术需要用到应用特征数据库,当出现新的应用时,需要开发人员寻找新的应用的特征信息,并更新该应用特征数据库。通过DPI 技术确定数据流对应的应用的过程较为复杂且实时性较差。并且,该DPI技术仅能够识别数据流对应的应用,而无法对服务端提供的服务分类。
本申请实施例提供了一种用于对服务分类的方法。示例地,图2为本申请实施例提供的一种服务分类方法的流程图,该方法可以应用于服务分类装置,本申请实施例中以该服务分类装置为图1所示的转发设备101为例对图2进行说明。
步骤201、获取DNS发送的多个DNS响应。
DNS响应的解释可以参考上述互联网系统的实施例中对DNS响应的解释,本申请实施例在此不作赘述。中转设备可以在DNS每发送一个DNS响应时,获取一个DNS响应。随着DNS发送的DNS响应的数量的增多,中转设备获取到的DNS响应的数量也随之增多。
需要说明的是,上述网络地址可以为互联网协议(internet protocol,IP)地址,或者其他网络地址等。上述服务对应的域名指的是:该网络地址的服务端的域名,也即网络地址与对应的域名用于所指示同一服务端。每个服务端可以有一个或多个域名,以及一个网络地址,相应地,一个网络地址能够对应一个或多个域名。域名通常由多个字符串以及位于每两个字符串之间的点组成。比如,edoc-jp.xxx.com和ecare.xxx.com分别为两个域名,edoc-jp.xxx.com 中的字符串包括:edoc-jp、xxx和com,ecare.xxx.com中的字符串包括ecare、xxx和com。
步骤202、根据多个DNS响应,得到多个服务中每个服务对应的域名。
多个DNS响应中的每个DNS响应用于指示多个服务中的一个服务对应的域名。
示例地,转发设备获取到的每个DNS响应携带有一个服务端的网络地址以及该服务对应的域名,该网络地址可以用于指示该域名对应的服务。转发设备在步骤202中,可以首先查找每个DNS响应所发向的客户端,之后,检测该客户端在接收到该DNS响应后发出的第一个携带有该网络地址的数据流。然后,转发设备可以确定该数据流对应的服务对应的域名为该服务对应的域名。
中转设备在获取到多个DNS响应后,便可以基于每个DNS响应得到该DNS响应所指示的一个服务对应的域名,进而得到该多个DNS响应所指示的多个服务对应的域名。
示例地,转发设备在步骤202中确定出的多个服务对应的域名可以如表1所示。从表1可以看出,该多个服务端的网络地址包括:S1、S2、S3和S4,S1对应的域名包括:edoc-jp.xxx.com; S2对应的域名包括:edoc-hk.xxx.com;S3对应的域名包括:ecare.xxx.com、care.xxx.com和 console.xxx.com;S4对应的域名包括:ecare.xxx.com和console.xxx.com。
表1
服务 | 服务对应的域名 |
1 | edoc-jp.xxx.com |
2 | edoc-hk.xxx.com |
3 | ecare.xxx.com;care.xxx.com;console.xxx.com |
4 | ecare.xxx.com;console.xxx.com |
需要说明的是,步骤201和步骤202中转发设备通过多个DNS响应,以得到多个服务对应的域名,可选地,也可以不是通过DNS响应获取该多个服务对应的域名,比如转发设备直接接收工作人员输入的多个服务对应的域名。
步骤203、确定多个服务中任意两个服务对应的域名的相似度。
需要说明的是,上述多个服务中每个服务可以对应至少一个域名,在服务对应的域名的数量不同时,确定服务对应的域名的相似度的方式可以不同。
示例地,转发设备在确定上述任意两个服务对应的域名的相似度时,可以首先判断这两个服务中每个服务对应的域名的个数。
一方面,当这两个服务对应的域名的个数之和小于或等于个数阈值(比如这两个服务对应的域名的个数均为一,此时个数之和等于二)时,转发设备可以基于这两个服务对应的域名中目标字符串组的交并比,确定这两个服务对应的域名的相似度。示例地,转发设备可以直接将这两个服务对应的域名中目标字符串组的交并比,确定为这两个服务对应的域名的相似度。或者,转发设备可以对该交并比进行计算处理,将计算处理后的结果作为这两个服务对应的域名的相似度。
其中,域名中的目标字符串组可以包括域名中的至少部分字符串。可选地,本申请实施例中以域名中的目标字符串组包括:域名中除作为域名后缀的字符串之外的字符串为例。示例地,在步骤203之前,转发设备还可以对每个服务对应的域名进行分词处理,以得到每个服务对应的域名中的所有字符串。之后,转发设备可以将每个服务对应的域名中的所有字符串中,作为域名后缀的字符串去除,以得到每个服务对应的域名中的目标字符串组。之后,在步骤203中中转设备可以基于每个服务对应的域名中的目标字符串组,确定上述任意两个服务对应的域名的相似度。
需要说明的是,可能大多数域名的域名后缀都是相同的,因此除该域名后缀之外的字符串的相似度能比较准确的反映两个域名的相似度。
还需要说明的是,每两个目标字符串组的交并比指的是该两个目标字符串组的交集元素个数与并集元素个数的比值。示例地,表1中的服务1和服务2均对应一个域名,服务1对应的域名edoc-jp.xxx.com中的目标字符串组可以包括:edoc、jp和xxx,服务2对应的域名edoc-hk.xxx.com中的目标字符串组可以包括:edoc、hk和xxx。服务1对应的域名中的目标字符串组与服务2对应的域名中的目标字符串组中交集元素(edoc和xxx)个数为2,并集元素(edoc、edoc-hk、hk和xxx)个数为4,因此,服务1对应的域名中的目标字符串组与服务2对应的域名中的目标字符串组的交并比为2/4。
另一方面,当这两个服务对应的域名的个数之和大于个数阈值(比如这两个服务对应的域名的个数中存在大于一的个数时,此时个数之和大于二)时,转发设备可以基于这两个服务对应的域名的交并比,确定这两个服务对应的域名的相似度。在两个服务对应的域名的个数之和大于二时,域名的个数较多,此时直接根据域名的交并比确定域名的相似度,相较于根据域名中至少部分字符串的交并比确定域名的相似度更加简单。
需要说明的是,每两个服务对应的域名的交并比指的是该两个服务对应的域名的交集元素个数与并集元素个数的比值。示例地,表1中服务3和S4均对应多个域名,服务3对应的域名包括:ecare.xxx.com、care.xxx.com和console.xxx.com;服务4对应的域名包括:ecare.xxx.com和console.xxx.com。服务3对应的域名与服务4对应的域名中交集元素(ecare.xxx.com和console.xxx.com)个数为2,并集元素(ecare.xxx.com、care.xxx.com和console.xxx.com)个数为3,因此,服务3对应的域名与服务4对应的域名的交并比为2/3。
步骤204、基于多个服务对应的域名的相似度,对该多个服务分类。
转发设备在确定上述多个服务对应的域名的相似度后,可以基于该相似度对多个服务进行分类。示例地,转发设备可以将域名的相似度较高的服务分为一类。
可选地,图3为本发明实施例提供的一种对服务进行分类的过程示意图,如图3所示,步骤204包括:
步骤2041、根据多个服务对应的域名的相似度,确定多个服务中的至少一个关联服务组,每个关联服务组包括对应的域名的相似度大于相似度阈值的两个服务。
在对多个服务进行分类时,转发设备可以首先判断每两个服务对应的域名的相似度是否大于相似度阈值。当某两个服务对应的域名的相似度大于相似度阈值时,表明这两个服务对应的域名较为相似,此时,转发设备可以确定这两个服务组成该多个服务中的一个关联服务组。
例如,当多个服务对应的域名如表1所示时,若网络地址为表1中服务1对应的域名与服务2对应的域名的相似度大于相似度阈值,则服务1和服务2可以组成一个关联服务组。若表1中服务3对应的域名与服务4对应的域名的相似度大于相似度阈值,则服务3和服务4组成一个关联服务组。
步骤2042、根据多个服务和至少一个关联服务组生成无向图。
在确定多个服务中的至少一个关联服务组后,转发设备可以基于该多个服务和至少一个关联服务组生成无向图。其中,无向图包括:与多个服务一一对应的多个节点,以及与至少一个关联服务组一一对应的至少一条边,节点用于表示对应的服务,边用于连接对应的一个关联服务组所对应的两个节点。
示例地,假设多个服务端包括服务1~S9,且服务1和3组成第一个关联服务组,服务2 和3组成第二个关联服务组,服务4和5组成第三个关联服务组,服务端6和7组成第四个关联服务组,服务7和8组成第五个关联服务组,服务6和9组成第六个关联服务组。此时,根据这九个服务及其中的六个关联服务组生成的无向图可以如图4所示。请参考图4,该无向图包括节点1.1~1.9,以及边2.1~2.6。节点1.x对应服务x,边2.y对应第y个关联服务组,1≤x≤9,1≤y≤6。因此,节点1.1和节点1.3通过边2.1连接,节点1.2和节点1.3通过边2.2连接,节点1.4和节点1.5通过边2.3连接,节点1.6和节点1.7通过边2.4连接,节点1.7和节点1.8通过边2.5连接,节点1.6和节点1.9通过边2.6连接。
步骤2043、确定无向图中的至少一个最大连通子图,最大连通子图包括至少一个节点。
在生成无向图后,转发设备可以确定无向图中的至少一个最大连通子图。转发设备在步骤2043中可以基于任一种方法确定该最大连通子图,比如,深度优先搜索、广度优先搜索或者动态规划算法等。
示例地,转发设备在步骤2043中确定出图4所示的无向图中的最大连通子图可以包括:最大连通子图3.1~3.3。最大连通子图3.1包括节点1.1~1.3,最大连通子图3.2包括节点 1.4~1.5,最大连通子图3.3包括节点1.6~1.9。
步骤2044、将位于同一最大连通子图中的节点对应的服务分为一类。
需要说明的是,无向图中确定出的每个最大连通子图中可以包括至少一个节点,该至少一个节点由于关联性较高因此才能被划分到统一个最大连通子图中,表明该至少一个节点对应的服务端的相似度较高。所以,转发设备在确定无向图中的最大连通子图后,就可以将位于同一最大连通子图中的节点对应的服务分为一类。
示例地,转发设备在确定出图4中的最大连通子图3.1~3.3后,可以将最大连通子图3.1 包括节点1.1~1.3对应的服务1~3分为一类,将最大连通子图3.2包括节点1.4~1.5所对应的服务4和5分为一类,将最大连通子图3.3包括节点1.6~1.9对应的服务6~9分为一类。
需要说明的是,本申请实施例中以通过无向图对服务进行分类为例,可选地,转发设备在基于多个服务对应的域名的相似度,对多个服务进行分类时,还可以基于多个服务对应的域名的相似度,生成多个服务的相似度矩阵,之后再对该相似度矩阵进行聚类,得到该多个服务的分类结果。其中,该相似度矩阵包括m行m列元素,且第i行第j列元素用于表示:多个服务中第i个服务对应的域名和第j个服务对应的域名的相似度,1≤i≤m,1≤j ≤m。可选地,转发设备可以采用谱聚类算法(或其他用于基于相似度矩阵进行聚类的算法,如K-Means或DBSCAN等)对相似度矩阵进行聚类。
可选地,转发设备在对多个服务进行分类后,还可以根据多个服务对应的域名,以及多个服务的分类结果,记录服务、域名以及服务类型的对应关系。可选地,转发设备还可以生成每个服务类型的标识。示例地,如表2所示,服务1与服务2为同一类服务,并且对应的服务类型的标识均为1;服务3与服务4为同一类服务,并且对应的服务类型的标识均为2。可选地,被分为同一类的服务往往用于提供同一个应用的服务。因此,该服务类型的标识可以为该应用的标识,本申请实施例对此不作限定。
表2
步骤205、接收待转发的数据流。
步骤206、基于多个服务的分类结果,确定数据流对应的服务的类型。
转发设备在得到多个服务的分类结果后,便可以基于该分类结果识别待转发的数据流所对应的服务的类型。该数据流可以为某一客户端向某一服务端发送的数据流。或者,该数据流为某一服务端向某一客户端发送的数据流。本申请实施例对此不作限定。
转发设备在获取到数据流后,可以确定该数据流对应的服务。需要说明的是,数据流中的五元组可以用于指示该服务。转发设备可以基于该数据流中的五元组,确定该服务。示例地,转发设备在每次接收到待转发的数据流后,均可以将该数据流中的五元组存储在转发设备维护的流表中。之后,在需要确定接收到的每个数据流对应的服务的类型时,再从流表中读取该五元组中用于指示服务的服务端的网络地址和服务端口。
转发设备在获取到数据流对应的服务后,可以查询之前生成的服务、域名以及服务类型的对应关系,以确定该数据流对应的服务对应的服务类型。
转发设备还可以基于多个数据流对应的服务的类型,对互联网系统进行管理,比如对某类服务对应的数据流进行限速,或增大某类服务对应的数据流的传输带宽等。
本申请实施例中转发设备通过步骤201至步骤204对多个服务进行了分类,可选地,在对多个服务进行了分类之后,转发设备还可以对该多个DNS响应进行更新。之后,再基于更新后的DNS响应,重复执行步骤201至步骤204,以得到更新后的多个DNS所指示的多个服务的分类结果。之后,在步骤206中,可以基于更新后的多个DNS所指示的多个服务的分类结果,确定数据流对应的服务的类型。需要说明的是,更新后的多个DNS响应可以包括更新前的至少部分DNS响应,也可以不包括更新前的DNS响应,本申请实施例对此不作限定。
可选地,在步骤204之后,转发设备还可以将每类服务对应的域名中的关键词,作为该类服务的类型标签。示例地,转发设备可以采用关键词提取方法在每类服务对应的域名中提取频数最多的字符串。该关键词提取方法可以为:将频数最多的字符串作为关键词的方法、基于文本等级(text rank)的方法或基于文档频率-逆文档频率(term frequency–inverse document frequency,TF-IDF)的方法等。并且,转发设备在确定待转发的数据流对应的服务的类型后,还可以在多类服务的类型标签中,获取所述该数据流对应的服务的类型的类型标签。转发设备的工作人员可以根据该类型标签,确定该类服务的一些特征信息。
可选地,假设步骤204中转发设备在对多个服务进行分类时,基于多个服务对应的域名的相似度,生成多个服务的相似度矩阵,之后再对该相似度矩阵进行聚类,以得到该多个服务的分类结果。则在对多个服务分类之后,转发设备还可以对该多个服务的分类结果进行进一步验证,以确定该多个服务的分类结果的准确性。示例地,在该步骤204之后,转发设备还可以检测多个服务的分类结果是否满足分类约束条件,当多个服务的分类结果不满足分类约束条件时,重复执行前述步骤204中对相似度矩阵距离的步骤;当多个服务的分类结果满足分类约束条件时,结束对多个服务进行分类的过程。这样经过多次验证,可以提高对多个服务的分类的准确性。
可选地,该分类约束条件可以包括:多个服务的分类结果的准确度大于准确度阈值。可选地,转发设备在检测分类结果是否满足该条件时,可以采用轮廓系数指标对分类结果进行评价,得到该分类结果的评价指标,该评价指标可以表示该分类结果的准确度。示例地,在采用轮廓系数指标对分类结果进行评估时,转发设备可以先根据相似度矩阵生成度矩阵。再将分类结果和度矩阵输入到轮廓系数指标中,输出用于表示分类结果的质量的评价指标,该评价指标通常为处于[-1,1]区间内的数值。该评价指标的值越大,表示分类结果的准确度越高。当该评价指标的值大于准确度阈值时,表示该分类结果的准确度较高,此时转发设备确定该分类结果满足该条件;当该评价指标的值不大于准确度阈值时,表示该分类结果的准确度较低,此时转发设备确定该分类结果不满足该条件。
需要说明的是,本申请实施例提供的服务分类方法,无需维护数据库即能实现对服务进行分类,简化了服务分类的过程,以及提高了服务分类的实时性。并且目前越来越多的应用为企业私有应用,该类私有应用所运行的客户端在通过转发设备与服务端进行通信时,转发设备接收到的数据流通常是加密的,仅能从该数据流中获取到该数据流对应的客户端的IP地址、客户端端口、服务端的IP地址以及服务端口。在通过DPI技术识别应用时,转发设备需要从数据流中获取到应用特征信息。对于加密的数据流,转发设备无法获取到应用特征信息,进而无法识别应用,从而无法实现对互联网系统的管理。而本申请实施例仅需数据流携带的服务端的网络地址和服务端口即能实现对数据流对应的服务的类型的识别,因此,本申请实施例提供的服务分类方法对加密的数据流也能够实现准确的识别,应用范围较为广泛,且在数据流加密时也能够实现对互联网系统的管理。
另外,当本申请实施例中用于执行服务分类方法的服务分类装置为转发设备时,由于转发设备能够获取到DNS响应,并基于获取到的DNS响应执行服务识别的过程,因此,不存在DNS响应泄露的风险。
并且,由于本申请实施例中转发设备确定出的每个服务可以对应一个或多个域名,因此,无论一个应用对应的数据流用于向几个网域的服务端发送,本申请实施例提供的方法均能够识别每个数据流对应的服务的类型。
可选地,上述实施例中以执行服务分类方法的服务分类装置为转发设备为例。
作为一种示例,该服务分类装置也可以不是转发设备。此时,步骤205中服务分类装置并不是接收待转发的数据流,而是获取转发设备待转发的数据流。
作为另一种示例,该服务分类装置也可以包括多个设备,比如,该服务分类装置可以包括上述转发设备和辅助设备,此时,步骤201和步骤202可以由转发设备执行,之后,转发设备需要将步骤202中得到的多个服务对应的域名发送至辅助设备,之后,再由辅助设备执行步骤203和步骤204。并且此时步骤205和步骤206可以由转发设备执行,也可以由辅助设备执行。当步骤205和步骤206由转发设备执行时,在辅助设备执行完毕步骤204之后,辅助设备需要将该多个服务的分类结果发送至转发设备。当步骤205和步骤206由辅助设备执行时,步骤205 并不是接收待转发的数据流,而是获取转发设备待转发的数据流。
综上所述,本申请实施例提供的服务分类方法中,服务分类装置能够确定多个服务对应的域名;并基于多个服务对应的域名的相似度,对多个服务分类。从而实现了对多个服务进行分类的目的,进而能够基于该多个服务分类的结果实现对互联网系统的管理。
可选地,转发设备还可以基于其他方式对多个服务进行分类。
示例的,转发设备可以基于域名的相似度对多个服务进行分类。比如,转发设备可以获取多个服务中每个服务对应的域名,之后,基于多个服务对应的域名的相似度,对该多个服务分类。又示例的,转发设备可以基于客户端集合的相似度对服务进行分类。比如,转发设备可以确定该多个服务中每个服务对应的客户端集合,其中,每个服务对应的客户端集合包括:该每个服务对应的数据流所对应的客户端;之后,转发设备可以基于多个服务对应的客户端集合的相似度,对该多个服务分类。
可选地,本申请实施例中服务分类装置基于域名的相似度对服务进行分类。在服务分类装置对多个服务分类之后,服务分类装置还可以结合其他分类结果,对多个服务的分类结果进行调整。
一方面,服务分类装置在对多个服务进行分类之后,可以根据基于客户端集合的相似度对多个服务进行分类的结果,对基于域名的相似度对多个服务的分类结果进行调整。例如,假设基于客户端集合的相似度对多个服务进行分类的结果中,某两个服务被分为同一类,而基于域名的相似度对多个服务的分类结果中,这两个服务并未被分为同一类。则服务分类装置可以对基于域名的相似度对多个服务的分类结果进行调整,以使这两个服务被分为同一类。
另一方面,服务分类装置在对多个服务进行分类之后,可以根据基于多个服务对中各个服务对中服务的关联关系对多个服务分类的结果,对基于域名的相似度对多个服务的分类结果进行调整。例如,假设基于多个服务对中各个服务对中服务的关联关系对多个服务分类的结果中,某两个服务被分为同一类,而基于域名的相似度对多个服务的分类结果中,这两个服务所在的服务并未被分为同一类。则服务分类装置可以对基于域名的相似度对多个服务的分类结果进行调整,以使这两个服务被分为同一类。
再一方面,服务分类装置也可以根据基于客户端集合的相似度对多个服务进行分类的结果,以及基于多个服务对中各个服务对中服务的关联关系对多个服务分类的结果,对基于域名的相似度对多个服务的分类结果进行调整。例如,假设基于客户端集合的相似度对多个服务进行分类的结果中,某两个服务被分为同一类,基基于多个服务对中各个服务对中服务的关联关系对多个服务分类的结果中,这两个服务也被分为同一类;但基于域名的相似度对多个服务的分类结果中,这两个服务并未被分为同一类。则服务分类装置可以对基于域名的相似度对多个服务的分类结果进行调整,以使这两个服务被分为同一类。又例如,假设基于客户端集合的相似度对多个服务进行分类的结果中,某两个服务被分为同一类,基于多个服务对中各个服务对中服务的关联关系对多个服务分类的结果中,这两个服务未被分为同一类;且基于域名的相似度对多个服务的分类结果中,这两个服务并未被分为同一类。则服务分类装置可以无需对服务端的分类结果进行调整。
以上介绍了本申请实施例提供的服务分类方法,以下介绍本申请实施例提供的用于实现上述服务分类方法的服务分类装置。
图5为本申请实施例提供的一种服务分类装置的框图,参见图5,该服务分类装置110包括:
第一确定模块1101,用于确定多个数据流中每个数据流对应的服务,得到多个服务;
获取模块1102,用于获取多个服务中每个服务对应的域名;
第一分类模块1103,用于基于多个服务对应的域名的相似度,对多个服务分类。
可选地,获取模块1102用于:获取多个网域名称系统DNS响应,多个DNS响应中的每个 DNS响应用于指示多个服务中的一个服务对应的域名;根据多个DNS响应,得到多个服务中每个服务对应的域名。
可选地,图6为本申请实施例提供的另一种服务分类装置的框图,如图6所示,在图5 的基础上,该服务分类装置还包括:
第二确定模块1104,用于当任意两个服务对应的域名的个数之和小于或等于个数阈值时,基于任意两个服务对应的域名的目标字符串组的交并比,确定任意两个服务对应的域名的相似度,其中,一个域名的目标字符串组包括域名中的至少部分字符串;
第三确定模块1105,用于当任意两个服务对应的域名的个数之和大于个数阈值时,基于任意两个服务对应的域名的交并比,确定任意两个服务对应的域名的相似度。
可选地,一个域名中的目标字符串组包括:域名中除作为域名后缀的字符串之外的所有字符串。
可选地,一种情况下,第一分类模块1103用于:
基于多个服务对应的域名的相似度,确定至少一个关联服务组,至少一个关联服务组中的每个关联服务组包括对应的域名的相似度大于相似度阈值的两个服务;
根据多个服务和至少一个关联服务组生成无向图,其中,无向图包括:与多个服务一一对应的多个节点,以及与至少一个关联服务组一一对应的至少一条边,节点用于表示对应的服务,边用于连接对应的一个关联服务组中的两个节点;
确定无向图中的至少一个最大连通子图,最大连通子图包括至少一个节点;
将位于同一最大连通子图中的节点对应的服务分为一类。
可选地,另一种情况下,第一分类模块1103用于:
基于多个服务对应的域名的相似度,生成多个服务的相似度矩阵,相似度矩阵包括m 行m列元素,且第i行第j列元素用于表示:多个服务中第i个服务对应的域名和第j个服务对应的域名的相似度,1≤i≤m,1≤j≤m;
对相似度矩阵聚类,得到多个服务的分类结果。
可选地,如图6所示,该服务分类装置还包括:
检测模块1106,用于检测多个服务的分类结果准确度是否小于或等于准确度阈值;
重复模块1107,用于当分类结果的准确度小于或等于准确度阈值时,重复执行对相似度矩阵聚类,得到多个服务的分类结果的过程。
可选地,如图6所示,该服务分类装置还包括:
标签确定模块1108,用于将每类服务对应的域名中的关键词,作为每类服务的类型标签。
可选地,该服务分类装置还包括:
第四确定模块1109,用于确定多个数据流中的n个数据流组,n≥1,n个数据流组中的每个数据流组对应一个客户端和至少两个服务,且不同数据流组对应不同的客户端;
第五确定模块1110,用于确定n个数据流组中每个数据流组对应的服务对,得到多个服务对,每个数据流组对应的每个服务对包括:每个数据流组对应的任意两个服务;
第六确定模块1111,用于确定多个服务对中每个服务对对应的间隔,每个服务对对应的间隔包括:每个服务对中两个服务在同一数据流组中对应的数据流的开始时间的间隔,一个数据流的开始时间为转发设备接收数据流的时间;
第七确定模块1112,用于基于每个服务对对应的间隔,确定每个服务对中的服务是否关联,得到每个服务对中服务的关联关系;
第二分类模块1113,用于基于多个服务对中各个服务对中服务的关联关系,对多个服务对中的多个服务分类;
第一调整模块1114,用于在基于多个服务对应的域名的相似度,对多个服务分类之后,根据基于多个服务对中各个服务对中服务的关联关系对多个服务分类的结果,调整基于多个服务对应的域名的相似度对多个服务端的分类结果。
可选地,服务分类装置还包括:
第八确定模块1115,用于确定多个数据流对应的多个服务中每个服务对应的客户端集合,其中,每个服务对应的客户端集合包括:每个服务对应的数据流所对应的客户端;
第三分类模块1116,用于基于多个服务对应的客户端集合的相似度,对多个服务分类;
第二调整模块1117,用于在基于多个服务对应的域名的相似度,对多个服务分类之后,根据基于客户端集合的相似度对多个服务分类的结果,调整基于多个服务对应的域名的相似度对多个服务的分类结果。
综上所述,本申请实施例提供的服务分类装置中,第一确定模块能够确定多个服务对应的域名;第一分类模块能够基于多个服务对应的域名的相似度,对多个服务分类。从而实现了对多个服务进行分类的目的,进而能够基于该多个服务分类的结果实现对互联网系统的管理。
以上介绍了本申请实施例提供的服务分类装置,以下介绍该服务分类装置可能的产品形态。应理解,但凡具备上述图5或图6所示的服务分类装置的特征的任何形态的产品,都落入本申请的保护范围。还应理解,以下介绍仅为举例,不限制本申请实施例的服务分类装置的产品形态。
本申请实施例提供了一种服务分类装置,如图7所示,该服务分类装置1300包括:至少一个处理器1301(图7示出了一个)、至少一个接口1302(图7示出了一个)、存储器1303和至少一个通信总线1304(图7示出了一个)。该处理器1301用于执行存储器1303中存储的程序,以实现本申请实施例所述的服务分类方法。
其中,处理器1301包括一个或者一个以上处理核心,处理器1301通过运行计算机程序以及单元,从而执行各种功能应用以及数据处理。
存储器1303可用于存储计算机程序以及单元。具体的,存储器1303可存储操作系统和至少一个功能所需的应用程序单元。操作系统可以是实时操作系统(real timeeXecutive,RTX)、 LINUX、UNIX、WINDOWS或OSX之类的操作系统。
接口1302可以为多个,接口1302用于与其它存储设备或网络设备进行通信。例如在本申请实施例中,接口1302可以用于收发数据流。
存储器1303与接口1302分别通过通信总线1304与处理器1301连接。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
本申请实施例提供了一种互联网系统,该互联网系统包括转发设备,以及与转发设备连接的多个客户端和多个服务端。该服务端能够通过转发设备向客户端提供至少一种服务,在服务端向客户端中运行的应用提供服务时,服务端与客户端之间可以通过转发设备传输与服务相关的数据流。其中,该转发设备可以为前述图5至图7任一所述的服务分类装置。该互联网系统可以参考图1所示的互联网系统,本申请实施例在此不做赘述。
在本申请中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。
需要说明的是,本申请实施例提供的方法实施例和装置实施例均可以相互参考,本申请实施例对此不做限定。本申请实施例提供的方法实施例步骤的先后顺序能够进行适当调整,步骤也能够根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (23)
1.一种服务分类方法,其特征在于,所述方法包括:
确定多个数据流中每个数据流对应的服务,得到多个服务;
获取所述多个服务中每个服务对应的域名;
基于所述多个服务对应的域名的相似度,对所述多个服务分类。
2.根据权利要求1所述的方法,其特征在于,所述获取所述多个服务中每个服务对应的域名,包括:
获取多个网域名称系统DNS响应,所述多个DNS响应中的每个DNS响应用于指示所述多个服务中的一个服务对应的域名;
根据所述多个DNS响应,得到所述多个服务中每个服务对应的域名。
3.根据权利要求1或2所述的方法,其特征在于,在所述基于所述多个服务对应的域名的相似度,对所述多个服务分类之前,所述方法还包括:
当任意两个服务对应的域名的个数之和小于或等于个数阈值时,基于所述任意两个服务对应的域名的目标字符串组的交并比,确定所述任意两个服务对应的域名的相似度,其中,一个域名的目标字符串组包括所述域名中的至少部分字符串;
当所述任意两个服务对应的域名的个数之和大于所述个数阈值时,基于所述任意两个服务对应的域名的交并比,确定所述任意两个服务对应的域名的相似度。
4.根据权利要求3所述的方法,其特征在于,一个域名中的目标字符串组包括:所述域名中除作为域名后缀的字符串之外的所有字符串。
5.根据权利要求1至4任一所述的方法,其特征在于,所述基于所述多个服务对应的域名的相似度,对所述多个服务分类,包括:
基于所述多个服务对应的域名的相似度,确定至少一个关联服务组,所述至少一个关联服务组中的每个关联服务组包括对应的域名的相似度大于相似度阈值的两个服务;
根据所述多个服务和所述至少一个关联服务组生成无向图,其中,所述无向图包括:与所述多个服务一一对应的多个节点,以及与所述至少一个关联服务组一一对应的至少一条边,所述节点用于表示对应的服务,所述边用于连接对应的一个关联服务组中的两个节点;
确定所述无向图中的至少一个最大连通子图,所述最大连通子图包括至少一个所述节点;
将位于同一最大连通子图中的节点对应的服务分为一类。
6.根据权利要求1至4任一所述的方法,其特征在于,所述基于所述多个服务对应的域名的相似度,对所述多个服务分类,包括:
基于所述多个服务对应的域名的相似度,生成所述多个服务的相似度矩阵,所述相似度矩阵包括m行m列元素,且第i行第j列元素用于表示:所述多个服务中第i个服务对应的域名和第j个服务对应的域名的相似度,1≤i≤m,1≤j≤m;
对所述相似度矩阵聚类,得到所述多个服务的分类结果。
7.根据权利要求6所述的方法,其特征在于,在所述对所述相似度矩阵聚类,得到所述多个服务的分类结果之后,所述方法还包括:
检测所述多个服务的分类结果准确度是否小于或等于准确度阈值;
当所述分类结果的准确度小于或等于所述准确度阈值时,重复执行对所述相似度矩阵聚类,得到所述多个服务的分类结果的过程。
8.根据权利要求1至7任一所述的方法,其特征在于,在所述基于所述多个服务对应的域名的相似度,对所述多个服务分类之后,所述方法还包括:
将每类服务对应的域名中的关键词,作为所述每类服务的类型标签。
9.根据权利要求1至8任一所述的方法,其特征在于,所述方法还包括:
确定所述多个数据流中的n个数据流组,n≥1,所述n个数据流组中的每个数据流组对应一个客户端和至少两个服务,且不同数据流组对应不同的客户端;
确定所述n个数据流组中每个数据流组对应的服务对,得到多个服务对,所述每个数据流组对应的每个服务对包括:所述每个数据流组对应的任意两个服务;
确定所述多个服务对中每个服务对对应的间隔,所述每个服务对对应的间隔包括:所述每个服务对中两个服务在同一数据流组中对应的数据流的开始时间的间隔,一个数据流的开始时间为转发设备接收所述数据流的时间;
基于所述每个服务对对应的间隔,确定所述每个服务对中的服务是否关联,得到所述每个服务对中服务的关联关系;
基于所述多个服务对中各个服务对中服务的关联关系,对所述多个服务对中的多个服务分类;
在所述基于所述多个服务对应的域名的相似度,对所述多个服务分类之后,根据基于所述多个服务对中各个服务对中服务的关联关系对所述多个服务分类的结果,调整基于所述多个服务对应的域名的相似度对所述多个服务端的分类结果。
10.根据权利要求1至9任一所述的方法,其特征在于,所述方法还包括:
确定所述多个数据流对应的多个服务中每个服务对应的客户端集合,其中,所述每个服务对应的客户端集合包括:所述每个服务对应的数据流所对应的客户端;
基于所述多个服务对应的客户端集合的相似度,对所述多个服务分类;
在所述基于所述多个服务对应的域名的相似度,对所述多个服务分类之后,根据基于所述客户端集合的相似度对所述多个服务分类的结果,调整基于所述多个服务对应的域名的相似度对所述多个服务的分类结果。
11.一种服务分类装置,其特征在于,所述服务分类装置包括:
第一确定模块,用于确定多个数据流中每个数据流对应的服务,得到多个服务;
获取模块,用于获取所述多个服务中每个服务对应的域名;
第一分类模块,用于基于所述多个服务对应的域名的相似度,对所述多个服务分类。
12.根据权利要求11所述的服务分类装置,其特征在于,所述获取模块用于:
获取多个网域名称系统DNS响应,所述多个DNS响应中的每个DNS响应用于指示所述多个服务中的一个服务对应的域名;
根据所述多个DNS响应,得到所述多个服务中每个服务对应的域名。
13.根据权利要求11或12所述的服务分类装置,其特征在于,所述服务分类装置还包括:
第二确定模块,用于当任意两个服务对应的域名的个数之和小于或等于个数阈值时,基于所述任意两个服务对应的域名的目标字符串组的交并比,确定所述任意两个服务对应的域名的相似度,其中,一个域名的目标字符串组包括所述域名中的至少部分字符串;
第三确定模块,用于当所述任意两个服务对应的域名的个数之和大于所述个数阈值时,基于所述任意两个服务对应的域名的交并比,确定所述任意两个服务对应的域名的相似度。
14.根据权利要求13所述的服务分类装置,其特征在于,一个域名中的目标字符串组包括:所述域名中除作为域名后缀的字符串之外的所有字符串。
15.根据权利要求11至14任一所述的服务分类装置,其特征在于,所述第一分类模块用于:
基于所述多个服务对应的域名的相似度,确定至少一个关联服务组,所述至少一个关联服务组中的每个关联服务组包括对应的域名的相似度大于相似度阈值的两个服务;
根据所述多个服务和所述至少一个关联服务组生成无向图,其中,所述无向图包括:与所述多个服务一一对应的多个节点,以及与所述至少一个关联服务组一一对应的至少一条边,所述节点用于表示对应的服务,所述边用于连接对应的一个关联服务组中的两个节点;
确定所述无向图中的至少一个最大连通子图,所述最大连通子图包括至少一个所述节点;
将位于同一最大连通子图中的节点对应的服务分为一类。
16.根据权利要求11至14任一所述的服务分类装置,其特征在于,所述第一分类模块用于:
基于所述多个服务对应的域名的相似度,生成所述多个服务的相似度矩阵,所述相似度矩阵包括m行m列元素,且第i行第j列元素用于表示:所述多个服务中第i个服务对应的域名和第j个服务对应的域名的相似度,1≤i≤m,1≤j≤m;
对所述相似度矩阵聚类,得到所述多个服务的分类结果。
17.根据权利要求16所述的服务分类装置,其特征在于,所述服务分类装置还包括:
检测模块,用于检测所述多个服务的分类结果准确度是否小于或等于准确度阈值;
重复模块,用于当所述分类结果的准确度小于或等于所述准确度阈值时,重复执行对所述相似度矩阵聚类,得到所述多个服务的分类结果的过程。
18.根据权利要求11至17任一所述的服务分类装置,其特征在于,所述服务分类装置还包括:
标签确定模块,用于将每类服务对应的域名中的关键词,作为所述每类服务的类型标签。
19.根据权利要求11至18任一所述的服务分类装置,其特征在于,所述服务分类装置还包括:
第四确定模块,用于确定所述多个数据流中的n个数据流组,n≥1,所述n个数据流组中的每个数据流组对应一个客户端和至少两个服务,且不同数据流组对应不同的客户端;
第五确定模块,用于确定所述n个数据流组中每个数据流组对应的服务对,得到多个服务对,所述每个数据流组对应的每个服务对包括:所述每个数据流组对应的任意两个服务;
第六确定模块,用于确定所述多个服务对中每个服务对对应的间隔,所述每个服务对对应的间隔包括:所述每个服务对中两个服务在同一数据流组中对应的数据流的开始时间的间隔,一个数据流的开始时间为转发设备接收所述数据流的时间;
第七确定模块,用于基于所述每个服务对对应的间隔,确定所述每个服务对中的服务是否关联,得到所述每个服务对中服务的关联关系;
第二分类模块,用于基于所述多个服务对中各个服务对中服务的关联关系,对所述多个服务对中的多个服务分类;
第一调整模块,用于在所述基于所述多个服务对应的域名的相似度,对所述多个服务分类之后,根据基于所述多个服务对中各个服务对中服务的关联关系对所述多个服务分类的结果,调整基于所述多个服务对应的域名的相似度对所述多个服务端的分类结果。
20.根据权利要求11至19任一所述的服务分类装置,其特征在于,所述服务分类装置还包括:
第八确定模块,用于确定所述多个数据流对应的多个服务中每个服务对应的客户端集合,其中,所述每个服务对应的客户端集合包括:所述每个服务对应的数据流所对应的客户端;
第三分类模块,用于基于所述多个服务对应的客户端集合的相似度,对所述多个服务分类;
第二调整模块,用于在所述基于所述多个服务对应的域名的相似度,对所述多个服务分类之后,根据基于所述客户端集合的相似度对所述多个服务分类的结果,调整基于所述多个服务对应的域名的相似度对所述多个服务的分类结果。
21.一种服务分类装置,其特征在于,所述服务分类装置包括:至少一个处理器、至少一个接口、存储器和至少一个通信总线,所述处理器用于执行所述存储器中存储的程序,以实现权利要求1至10任一所述的服务分类方法。
22.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至10任一所述的服务分类方法。
23.一种互联网系统,其特征在于,所述互联网系统包括服务分类装置、多个服务端、以及多个客户端;所述服务分类装置为权利要求11至21任一所述的服务分类装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910853336.5A CN112564928B (zh) | 2019-09-10 | 2019-09-10 | 服务分类方法及设备、互联网系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910853336.5A CN112564928B (zh) | 2019-09-10 | 2019-09-10 | 服务分类方法及设备、互联网系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112564928A true CN112564928A (zh) | 2021-03-26 |
CN112564928B CN112564928B (zh) | 2024-06-18 |
Family
ID=75029190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910853336.5A Active CN112564928B (zh) | 2019-09-10 | 2019-09-10 | 服务分类方法及设备、互联网系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112564928B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112990180A (zh) * | 2021-04-29 | 2021-06-18 | 北京世纪好未来教育科技有限公司 | 判题方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012105043A (ja) * | 2010-11-10 | 2012-05-31 | Nippon Telegr & Teleph Corp <Ntt> | フロー分類方法、システム、およびプログラム |
CN102790762A (zh) * | 2012-06-18 | 2012-11-21 | 东南大学 | 基于url分类的钓鱼网站检测方法 |
US20160294852A1 (en) * | 2015-04-06 | 2016-10-06 | Trend Micro Incorporated | Determining string similarity using syntactic edit distance |
CN106411965A (zh) * | 2016-12-22 | 2017-02-15 | 北京知道创宇信息技术有限公司 | 确定提供仿冒服务的网络服务器的方法、设备及计算设备 |
CN107040618A (zh) * | 2016-12-06 | 2017-08-11 | 北京信息科技大学 | 一种去中心化的网络域名服务系统及方法 |
CN107291808A (zh) * | 2017-05-16 | 2017-10-24 | 南京邮电大学 | 一种基于语义的云制造大数据分类方法 |
CN109685128A (zh) * | 2018-12-18 | 2019-04-26 | 电子科技大学 | 一种MB-kmeans++聚类方法及基于其的用户会话聚类方法 |
CN110210475A (zh) * | 2019-05-06 | 2019-09-06 | 浙江大学 | 一种非二值化和边缘检测的车牌字符图像分割方法 |
CN112560878A (zh) * | 2019-09-10 | 2021-03-26 | 华为技术有限公司 | 服务分类方法及装置、互联网系统 |
CN112560877A (zh) * | 2019-09-10 | 2021-03-26 | 华为技术有限公司 | 服务分类方法及装置、互联网系统 |
-
2019
- 2019-09-10 CN CN201910853336.5A patent/CN112564928B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012105043A (ja) * | 2010-11-10 | 2012-05-31 | Nippon Telegr & Teleph Corp <Ntt> | フロー分類方法、システム、およびプログラム |
CN102790762A (zh) * | 2012-06-18 | 2012-11-21 | 东南大学 | 基于url分类的钓鱼网站检测方法 |
US20160294852A1 (en) * | 2015-04-06 | 2016-10-06 | Trend Micro Incorporated | Determining string similarity using syntactic edit distance |
CN107040618A (zh) * | 2016-12-06 | 2017-08-11 | 北京信息科技大学 | 一种去中心化的网络域名服务系统及方法 |
CN106411965A (zh) * | 2016-12-22 | 2017-02-15 | 北京知道创宇信息技术有限公司 | 确定提供仿冒服务的网络服务器的方法、设备及计算设备 |
CN107291808A (zh) * | 2017-05-16 | 2017-10-24 | 南京邮电大学 | 一种基于语义的云制造大数据分类方法 |
CN109685128A (zh) * | 2018-12-18 | 2019-04-26 | 电子科技大学 | 一种MB-kmeans++聚类方法及基于其的用户会话聚类方法 |
CN110210475A (zh) * | 2019-05-06 | 2019-09-06 | 浙江大学 | 一种非二值化和边缘检测的车牌字符图像分割方法 |
CN112560878A (zh) * | 2019-09-10 | 2021-03-26 | 华为技术有限公司 | 服务分类方法及装置、互联网系统 |
CN112560877A (zh) * | 2019-09-10 | 2021-03-26 | 华为技术有限公司 | 服务分类方法及装置、互联网系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112990180A (zh) * | 2021-04-29 | 2021-06-18 | 北京世纪好未来教育科技有限公司 | 判题方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112564928B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109033471B (zh) | 一种信息资产识别方法及装置 | |
CN110099059B (zh) | 一种域名识别方法、装置及存储介质 | |
US10659486B2 (en) | Universal link to extract and classify log data | |
US11250166B2 (en) | Fingerprint-based configuration typing and classification | |
EP3841730A1 (en) | Identifying device types based on behavior attributes | |
CN111090807B (zh) | 一种基于知识图谱的用户识别方法及装置 | |
CN105704259B (zh) | 一种域名权威服务来源ip识别方法和系统 | |
CN112560878A (zh) | 服务分类方法及装置、互联网系统 | |
WO2021047402A1 (zh) | 应用识别方法、装置及存储介质 | |
US20240291843A1 (en) | Systems and methods for analyzing cybersecurity events | |
US11777807B2 (en) | Fingerprint determination for network mapping | |
WO2023154779A2 (en) | Methods and systems for identifying anomalous computer events to detect security incidents | |
US20240202554A1 (en) | Data blaming | |
CN103036726A (zh) | 一种网络用户管理的方法及设备 | |
CN112564928B (zh) | 服务分类方法及设备、互联网系统 | |
CN104424316A (zh) | 一种数据存储方法、数据查询方法、相关装置和系统 | |
EP4243362B1 (en) | Network device identification | |
CN111314109A (zh) | 一种基于弱密钥的大规模物联网设备固件识别方法 | |
WO2016177146A1 (zh) | 一种网络流量数据的分类方法及装置 | |
WO2016173327A1 (zh) | 用于检测网站攻击的方法和设备 | |
KR20220093034A (ko) | Dns 트래픽의 이상들을 검출하기 위한 방법 및 장치 | |
CN114385436A (zh) | 服务器分组方法、装置、电子设备和存储介质 | |
CN112560877A (zh) | 服务分类方法及装置、互联网系统 | |
CN114024701A (zh) | 域名检测方法、装置及通信系统 | |
US20220337560A1 (en) | System and method for identifying services with which encrypted traffic is exchanged |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |