CN113220943B - 一种半结构化流量数据中的目标信息定位方法及系统 - Google Patents
一种半结构化流量数据中的目标信息定位方法及系统 Download PDFInfo
- Publication number
- CN113220943B CN113220943B CN202110626549.1A CN202110626549A CN113220943B CN 113220943 B CN113220943 B CN 113220943B CN 202110626549 A CN202110626549 A CN 202110626549A CN 113220943 B CN113220943 B CN 113220943B
- Authority
- CN
- China
- Prior art keywords
- flow
- hash
- cluster
- semi
- structured
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种半结构化流量数据中的目标信息定位方法及系统,包括以下步骤:基于半结构数据路径的流量哈希和聚类;基于结构向量化的信息预对准;基于流量哈希与对准信息的快速目标信息定位。本发明使用“相似性哈希的方法”对流量数据的结构信息进行编码,实现流量结构信息相似性的快速比较;使用“翻译嵌入模型”对流量信息的数据域进行编码,实现不同流量中相似数据域对应关系的建立;根据流量结构的“哈希”辨别特定流量,获取该特定流量与其他流量之间的数据域的对应关系,实现快速定位目标信息。
Description
技术领域
本发明涉及数据处理领域,具体地,涉及一种半结构化流量数据中的目标信息定位方法及系统。
背景技术
流量数据中特定信息的识别是系统状态监控、信息过滤、入侵检测等诸多工作的核心步骤之一。实现识别通常有基于规则的、启发式的、机器学习的几类方法来实现。其中基于规则的方法具有“准确率高,召回率低”的特点;启发式方法相对前者在召回率上有所提高,但依然还不够鲁棒;基于机器学习的方法在泛化性、准确性上具有较好的效果,但其在执行时所需计算量较大,在速度方面有一定的欠缺。
在公开号为CN111797279A的中国发明专利申请文件中,公开了一种存储数据的方法及装置,其中,该存储数据的方法包括:针对待存储半结构化数据集中的每条半结构化数据,依据该半结构化数据包含的字段,对该字段包含的内容进行编码,得到编码字段内容;分别以各字段为列构建数据库表,将半结构化数据对应的各编码字段内容存储至数据库表中该半结构化数据对应的行列,每条半结构化数据对应数据库表中的一行;将构建的数据库表存储至关系型数据库。可以提高数据的挖掘价值。
在网络流量中,有不少应用层流量所包含的信息是半结构化的,如JSON、XML等。现有的针对半结构化流量数据中目标信息的定位在泛化性、准确性和执行速度上仍有待提高。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种半结构化流量数据中的目标信息定位发方法及系统。
根据本发明提供的一种半结构化流量数据中的目标信息定位方法,包括以下步骤:
步骤S1:基于半结构数据路径的流量哈希和聚类,将流量信息用哈希码表示,并基于此哈希编码进行聚类;
步骤S2:基于结构向量化的信息预对准,计算出不同类型流量数据之间的结构对应关系,用于后续步骤中加速目标信息的定位;
步骤S3:基于流量哈希与对准信息的快速目标信息定位,对半结构化流量中目标信息的定位。
优选的,所述步骤S1包括以下子步骤:
步骤S1.1:读取半结构化流量数据记录,分析每个半结构化流量中的结构化部分,解析出包括以XML、Json数据交换格式编码的半结构数据;
步骤S1.2:对于半结构化流量数据,生成从数据的最外层结构到每个叶结点内容的路径,将路径构成的集合记为Set_trail;
步骤S1.3:对Set_trail中每个元素,进行哈希编码;
步骤S1.4:将Set_trail中所有元素的hash_trail进行按位累加,将累加结果向量中大于0的项改写为1,其余改写为0,最终得到该半结构化流量数据记录的哈希编码,记为hash_flow;
步骤S1.5:读取一定量的结构化流量数据,使用步骤S1.1-步骤S1.4的方法生成每一条记录hash_flow,构成hash_flow的集合,记为Set_hash;
步骤S1.6:对Set_hash中的数据进行聚类,得到聚类结果Set_cluster。
优选的,所述步骤S1.2中路径的表示方法包括列表,列表中的每个元素都是上层结构的名称或者属性的名称。
优选的,所述步骤S1.3包括以下子步骤:
步骤S1.3.1:取元素中路径的最靠前的m段,对每一段路径进行n位长度的0-1哈希编码,将m段编码依次进行连接,形成m×n长度的哈希编码,不足m段的以全0补足,记为hash_seg;
步骤S1.3.2:将hash_seg中的0改写为-1,记为hash_trail。
优选的,所述步骤S1.6中聚类时使用海明距离计算相似度。
优选的,所述步骤S2包括以下子步骤:
步骤S2.1:计算Set-cluster中每个聚类的中心,将聚类中距离中心最近的向量为hash_flow_core,将hash_flow_core对应的流量称为核心流量,记录记为flow_core;
步骤S2.2:对于Set_cluster中的聚类cluster_n,cluster_n的核心流量为flow_core_n,将其半结构化内容转化为三元组,将flow_core_n对应的三元组表示构成的集合记为cluster_triple_n;
步骤S2.3:对于Set-cluster中的聚类n对应的cluster_triple_n集合中的三元组使用翻译嵌入模型将结点向量化为p维向量,计算得到结点编码的集合,记为cluster_embedding_n;
步骤S2.4:对于两个不同的结点编码的集合cluster_embedding_i和cluster_embedding_j,选择两个集合中“属性结点”和“字面值结点”中名称和值相同的结点,构成对应点对集合Set_pair,点对中左侧为j中的结点,右侧为i中结点
步骤S2.5:构建深度神经网络模型,用于对准不同cluster_embedding集合之间的结点;模型的输入输出均为p长度的向量,中间由多层全连接层组成,损失函数为均方差损失函数;
步骤S2.6:使用Set_pair中的数据训练步骤S2.5的模型,pair的左侧元素的向量为输入,右侧元素的向量为输出,得到训练好的模型
步骤S2.7:将所有cluster_embedding_j中的结点作为步骤S2.6得到模型的输入,将其输出作为结点新的编码向量记为cluster_embedding_trans_j;
步骤S2.8:将cluster_embedding_trans_j中的每个“属性结点”与cluster_embedding_i中的每个“属性结点”计算结点之间的相似度,当相似度小于THRE_SIM时,认为这两个结点之间“等价”,其中,0<THRE_SIM<1;找到所有cluster之间的具备“等价”关系的属性结点,将每一类等价的结点构成的集合称为“等价属性集”,集合中的元素为“n_属性名”,n为聚类编号;将所有“等价属性集”构成的集合称为“查找集合”。
优选的,所述步骤S2.1中,聚类中心的计算方法包括采用所有向量按位累加的均值。
优选的,所述步骤S3包括以下子步骤:
步骤S3.1:把能用于识别信息是否为目标信息的过程记为func,对于样本流量flow_sample使用func识别出具有目标信息的属性集合为Target_set;
步骤S3.2:对于flow_sample使用步骤S1.1提取其哈希值,并用KNN算法将其分类到Set_cluster中的一个聚类簇cluster_n中,从“查找集合”找到Target-set中元素所分布的“等价属性集”,将找到的“等价属性集”构成func的“目标属性集”;
步骤S3.3:基于“目标属性集”定位流量的目标信息。
优选的,所述步骤S3.3包括以下子步骤:
步骤S3.3.1:读取一条待识别流量flow_recognize;
步骤S3.3.2:将flow_recognize使用步骤S1.1的方法生成哈希编码;
步骤S3.3.3:基于生成的哈希编码,使用KNN算法从Set_cluster中找到所属的cluster_n;
步骤S3.3.4:从“目标属性集”中找到cluster_n对应的属性,这些属性的值即为“目标信息”。
与现有技术相比,本发明具有如下的有益效果:
1、使用“相似性哈希的方法”对流量数据的结构信息进行编码,实现流量结构信息相似性的快速比较;
2、使用“翻译嵌入模型”对流量信息的数据域进行编码,实现不同流量中相似数据域对应关系的建立;
3、根据流量结构的“哈希”辨别特定流量,获取该特定流量与其他流量之间的数据域的对应关系,实现快速定位目标信息。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例的整体执行步骤示意图;
图2为本发明实施例基于半结构数据路径的流量哈希和聚类步骤示意图;
图3为本发明实施例基于结构体对准的信息预对准步骤示意图;
图4为本发明实施例基于流量哈希与对准信息的快速目标信息定位骤示意图
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明提出了一种半结构化流量数据中的目标信息定位发方法,参考图1,本系统包括如下步骤:
基于半结构数据路径的流量哈希和聚类步骤,参考图2,该步骤的输入为:半结构化流量数据;该步骤的输出:半结构化流量数据的对应的哈希编码、半结构化流量数据的聚类;
基于结构向量化的信息预对准步骤,参考图3,该步骤的输入为:不同类型的半结构化流量数据;该步骤的输出为:不同类型流量数据之间的结构对准关系描述;
基于流量哈希与对准信息的快速目标信息定位步骤,参考图4,该步骤的输入为:板结构化流量信息;该步骤的输出为:目标信息定位。
“基于半结构数据路径的流量哈希和聚类步骤”可以将流量信息用哈希码表示,并基于此哈希编码进行聚类;“基于结构体对准的信息预对准步骤”用于计算出不同类型流量之间可能存在的数据的对应关系,用于后续步骤中加速目标信息的定位;“基于流量哈希与对准信息的快速目标信息定位步骤”用于完成对半结构化流量中目标信息的定位。
步骤S1:基于半结构数据路径的流量哈希和聚类步骤,执行子步骤如下:
步骤S1.1:读取半结构化流量数据记录,分析每个半结构化流量中的结构化部分,解析出以XML、Json等数据交换格式编码的半结构数据;
步骤S1.2:对于半结构化流量数据,生成从数据的最外层结构到每个叶结点内容的路径,将路径构成的集合记为Set_trail。路径可使用各种方法表示,比如列表,形如[req,info,person,name],列表中的每个元素都是上层结构的名称或者属性的名称
步骤S1.3:对Set_trail中每个元素,进行哈希编码,步骤如下:
步骤S1.3.1:取元素中路径的最靠前的m段,对每一段路径进行n位长度的0-1哈希编码,哈希算法可以是任意“结果为n位0-1编码”的hash算法,将m段编码依次进行连接,形成m×n长度的哈希编码,不足m段的以全0补足,记为hash_seg;
步骤S1.3.2:将hash_seg中的0改写为-1,记为hash_trail。
步骤S1.4:将Set_trail中所有元素的hash_trail进行按位累加,将累加结果向量中大于0的项改写为1,其余改写为0,最终得到该半结构化流量数据记录的m×n长度的哈希编码,记为hash_flow;
步骤S1.5:读取一定量的结构化流量数据,使用步骤S1.1-步骤S1.4的方法生成每一条记录hash_flow,构成hash_flow的集合,记为Set_hash;
步骤S1.6:对Set_hash中的数据进行聚类,此处以Canopy算法为例,得到聚类结果Set_cluster,其中每个元素是一个聚类簇。聚类时使用海明距离计算相似度。
步骤S2:基于结构体对准的信息预对准步骤,执行子步骤如下:
步骤S2.1:计算Set-cluster中每个聚类的中心,计算方法可以采用所有向量按位累加的均值;将聚类中距离中心最近的向量为hash_flow_core,将hash_flow_core对应的流量称为核心流量,记录记为flow_core;
步骤S2.2:对于Set_cluster中的聚类cluster_n,cluster_n的核心流量为flow_core_n,将其半结构化内容转化为三元组,比如,对于flow_core_n的Json结构体:{“l1_1”:{“l2”:{“l3”:123}},“l1_2”:“abc”},可以表示为如下三元组:
<root_n,l1_1,node_n_1>,<root_n,l1_2,456>,
<node_n_1,l2,node_n_2>,<node_n_2,l3,123>,
其中,root和node称为“匿名结点”,其字面值没有意义;l1_1、l1_2、l2、l3称为“属性结点”;123、“abc”称为“字面值结点”。将flow_core_n对应的三元组表示构成的集合记为cluster_triple_n;
步骤S2.3:对于Set-cluster中的聚类n对应的cluster_triple_n集合中的三元组使用翻译嵌入模型将结点向量化为p维向量,翻译嵌入模型如transE、transR、transH等,计算得到结点编码的集合,记为cluster_embedding_n;
步骤S2.4:对于两个不同的结点编码的集合cluster_embedding_i和cluster_embedding_j,选择两个集合中“属性结点”和“字面值结点”中名称和值相同的结点,构成对应点对集合Set_pair,点对中左侧为j中的结点,右侧为i中结点
步骤S2.5:构建深度神经网络模型,用于对准不同cluster_embedding集合之间的结点;模型的输入输出均为p长度的向量,中间由多层全连接层组成,损失函数为均方差损失函数;
步骤S2.6:使用Set_pair中的数据训练步骤S2.5的模型,pair的左侧元素的向量为输入,右侧元素的向量为输出,得到训练好的模型
步骤S2.7:将所有cluster_embedding_j中的结点作为步骤S2.6得到模型的输入,将其输出作为结点新的编码向量记为cluster_embedding_trans_j;
步骤S2.8:将cluster_embedding_trans_j中的每个“属性结点”与cluster_embedding_i中的每个“属性结点”计算结点之间的相似度,当相似度小于THRE_SIM时,认为这两个结点之间“等价”,其中,0<THRE_SIM<1;找到所有cluster之间的具备“等价”关系的属性结点,将每一类等价的结点构成的集合称为“等价属性集”,集合中的元素为“n_属性名”,n为聚类编号;将所有“等价属性集”构成的集合称为“查找集合”。
步骤S3:基于流量哈希与对准信息的快速目标信息定位步骤,执行子步骤如下:
步骤S3.1:把能用于识别信息是否为目标信息的过程记为func,对于样本流量flow_sample使用func识别出具有目标信息的属性集合为Target_set;
步骤S3.2:对于flow_sample使用步骤S1.1提取其哈希值,并用KNN算法将其分类到Set_cluster中的一个聚类簇cluster_n中,从“查找集合”找到Target-set中元素所分布的“等价属性集”,将找到的“等价属性集”构成func的“目标属性集”;
步骤S3.3:基于“目标属性集”定位流量的目标信息,包含子步骤:
步骤S3.3.1:读取一条待识别流量flow_recognize;
步骤S3.3.2:将flow_recognize使用步骤S1.1的方法生成哈希编码;
步骤S3.3.3:基于生成的哈希编码,使用KNN算法从Set_cluster中找到所属的cluster_n;
步骤S3.3.4:从“目标属性集”中找到cluster_n对应的属性,这些属性的值即为“目标信息”。
下面对本发明做进一步说明。
步骤1:基于半结构数据路径的流量哈希和聚类步骤,执行子步骤如下:
步骤1.1:读取一条半结构化流量数据记录,分析每个半结构化流量中的结构化部分:{“req”:{“info”:{“product”:{“sn”:“12321312”,“name”:“p1”}}}};
步骤1.2:对于半结构化流量数据,生成从数据的最外层结构到每个叶结点内容的路径,将路径构成的集合记为Set_trail,为{[req,info,product,sn],[req,info,product,p1]};
步骤1.3:对Set_trail中每个元素,进行哈希编码,步骤如下:
步骤1.3.1:取元素中路径的最靠前的5段,对每一段路径进行5位长度的0-1哈希编码,形成5×5=25长度的哈希编码,不足5段的以全0补足,记为[01001 00110 0101101111 00000,01001 00110 01011 11101 00000];
步骤1.3.2:将hash_seg中的0改写为-1,记为[-11-1-11-1-1110-11-111-11111-1-1-1-1-1,-11-1-11-1-1110-11-111 11-111-1-1-1-1-1];
步骤1.4:将Set_trail中所有元素的hash_trail进行按位累加,将累加结果向量中大于0的项改写为1,其余改写为0,最终得到该半结构化流量数据记录的m×n长度的哈希编码,记为hash_flow=[01001 00110 01011 01011 00000]。
步骤1.5:读取一定量的结构化流量数据,使用步骤1.1-1.4的方法生成每一条记录hash_flow,构成hash_flow的集合,记为Set_hash;
步骤1.6:对Set_hash中的数据进行聚类,此处以Canopy算法为例,得到包含3个聚类簇的集合Set_cluster。聚类时使用海明距离计算相似度。
步骤2:基于结构体对准的信息预对准步骤,执行子步骤如下:
步骤2.1:计算Set-cluster中每个聚类的中心,计算方法可以采用所有向量按位累加的均值;将聚类中距离中心最近的向量为hash_flow_core=[01001 001100101101111 00000],将hash_flow_core对应的流量称为核心流量,记录记为flow_core;
步骤2.2:对于Set_cluster中的聚类cluster_0,cluster_0的核心流量为flow_core_0,将其半结构化内容转化为三元组;Json结构体:
{“req”:{“info”:{“product”:{“sn”:“12321312”,“name”:“p1”}}}},可以表示为如下三元组:
<root_0,req,node_0_1>,<node_0_1,info,node_0_2>,
<node_0_2,product,node_0_3>,<node_0_3,sn,12321312>,
<node_0_3,name,p1>
将flow_core_0对应的三元组表示构成的集合记为cluster_triple_0。
步骤2.3:对于Set-cluster中的3个聚类对应的cluster_triple_n集合中的三元组使用transE将结点向量化为32维向量,计算得到结点编码的集合,记为cluster_embedding_n;
步骤2.4:对于两个不同的结点编码的集合cluster_embedding_i和cluster_embedding_j,选择两个集合中“属性结点”和“字面值结点”中名称和值相同的结点,构成对应点对集合Set_pair。i、j分别以0、1为例,得Set_pair={(1_product,0_product),(1_name,0_name)},点对中左侧为1中的结点,右侧为0中结点;
步骤2.5:构建深度神经网络模型,用于对准不同cluster_embedding集合之间的结点。模型的输入输出均为32长度的向量,中间由3层全连接层组成,损失函数为均方差损失函数;
步骤2.6:使用Set_pair中的数据训练步骤2.5的模型,pair的左侧元素,的向量为输入,右侧元素的向量为输出,得到训练好的模型;
步骤2.7:将所有cluster_embedding_1中的结点作为步骤2.6得到模型的输入,将其输出作为结点新的编码向量记为cluster_embedding_trans_0;
步骤2.8:将cluster_embedding_trans_j中的每个“属性结点”与cluster_embedding_i中的每个“属性结点”计算结点之间的相似度,当相似度小于THRE_SIM=0.85时,认为这两个结点之间“等价”。找到所有cluster之间的具备“等价”关系的属性结点,将每一类等价的结点构成的集合称为“等价属性集”,如{0_number,1_count,2_stock}、{0_name,2_shortname},0、1、2为聚类编号。将所有“等价属性集”构成的集合称为“查找集”,如{{0_number,1_count,2_stock},{0_name,2_shortname}};
步骤3:基于流量哈希与对准信息的快速目标信息定位步骤,执行子步骤如下:
步骤3.1:把能用于识别信息是否为目标信息的过程记为func,对于样本流量flow_sample使用func识别出具有目标信息的属性集合为Target_set{number,name};
步骤3.2:对于flow_sample使用步骤1提取其哈希值,并用KNN算法将其分类到Set_cluster中的聚类簇cluster_0中,从“查找集”找到Target-set中元素所分布的“等价属性集”为{0_number,1_count,2_stock}和{0_name,2_shortname},将找到的“等价属性集”构成func的“目标属性集”为{0_number,1_count,2_stock,0_name,2_shortname};
步骤3.3:基于“目标属性集”的信息定位,包含子步骤:
步骤3.3.1:读取一条待识别流量flow_recognize;
步骤3.3.2:将flow_recognize使用步骤1的方法生成哈希编码;
步骤3.3.3:基于生成的哈希编码,使用KNN算法从Set_cluster中找到所属的cluster_2;
步骤3.3.4:从“目标属性集”中找到cluster_2对应的属性,这些属性的值即为“目标信息”为{2_stock,2_shortname}。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (9)
1.一种半结构化流量数据中的目标信息定位方法,其特征在于,包括以下步骤:
步骤S1:基于半结构数据路径的流量哈希和聚类,将流量信息用哈希码表示,并基于此哈希编码进行聚类;
步骤S2:基于结构向量化的信息预对准,计算出不同类型流量数据之间的结构对应关系,用于后续步骤中加速目标信息的定位;
步骤S3:基于流量哈希与对准信息的快速目标信息定位,对半结构化流量中目标信息的定位;
所述步骤S1包括以下子步骤:
步骤S1.1:读取半结构化流量数据记录,分析每个半结构化流量中的结构化部分,解析出包括以XML、Json数据交换格式编码的半结构数据;
步骤S1.2:对于半结构化流量数据,生成从数据的最外层结构到每个叶结点内容的路径,将路径构成的集合记为Set_trail;
步骤S1.3:对Set_trail中每个元素,进行哈希编码;
步骤S1.4:将Set_trail中所有元素的hash_trail进行按位累加,将累加结果向量中大于0的项改写为1,其余改写为0,最终得到该半结构化流量数据记录的哈希编码,记为hash_flow;
步骤S1.5:读取一定量的结构化流量数据,使用步骤S1.1-步骤S1.4的方法生成每一条记录hash_flow,构成hash_flow的集合,记为Set_hash;
步骤S1.6:对Set_hash中的数据进行聚类,得到聚类结果Set_cluster。
2.根据权利要求1所述的一种半结构化流量数据中的目标信息定位方法,其特征在于:所述步骤S1.2中路径的表示方法包括列表,列表中的每个元素都是上层结构的名称或者属性的名称。
3.根据权利要求1所述的一种半结构化流量数据中的目标信息定位方法,其特征在于:所述步骤S1.3包括以下子步骤:
步骤S1.3.1:取元素中路径的最靠前的m段,对每一段路径进行n位长度的0-1哈希编码,将m段编码依次进行连接,形成m×n长度的哈希编码,不足m段的以全0补足,记为hash_seg;
步骤S1.3.2:将hash_seg中的0改写为-1,记为hash_trail。
4.根据权利要求1所述的一种半结构化流量数据中的目标信息定位方法,其特征在于:所述步骤S1.6中聚类时使用海明距离计算相似度。
5.根据权利要求1所述的一种半结构化流量数据中的目标信息定位方法,其特征在于:所述步骤S2包括以下子步骤:
步骤S2.1:计算Set-cluster中每个聚类的中心,将聚类中距离中心最近的向量为hash_flow_core,将hash_flow_core对应的流量称为核心流量,记录记为flow_core;
步骤S2.2:对于Set_cluster中的聚类cluster_n,cluster_n的核心流量为flow_core_n,将其半结构化内容转化为三元组,将flow_core_n对应的三元组表示构成的集合记为cluster_triple_n;
步骤S2.3:对于Set-cluster中的聚类n对应的cluster_triple_n集合中的三元组使用翻译嵌入模型将结点向量化为p维向量,计算得到结点编码的集合,记为cluster_embedding_n;
步骤S2.4:对于两个不同的结点编码的集合cluster_embedding_i和cluster_embedding_j,选择两个集合中“属性结点”和“字面值结点”中名称和值相同的结点,构成对应点对集合Set_pair,点对中左侧为j中的结点,右侧为i中结点;
步骤S2.5:构建深度神经网络模型,用于对准不同cluster_embedding集合之间的结点;模型的输入输出均为p长度的向量,中间由多层全连接层组成,损失函数为均方差损失函数;
步骤S2.6:使用Set_pair中的数据训练步骤S2.5的模型,pair的左侧元素的向量为输入,右侧元素的向量为输出,得到训练好的模型;
步骤S2.7:将所有cluster_embedding_j中的结点作为步骤S2.6得到模型的输入,将其输出作为结点新的编码向量记为cluster_embedding_trans_j;
步骤S2.8:将cluster_embedding_trans_j中的每个“属性结点”与cluster_embedding_i中的每个“属性结点”计算结点之间的相似度,当相似度小于THRE_SIM时,认为这两个结点之间“等价”,其中,0 < THRE_SIM < 1;找到所有cluster之间的具备“等价”关系的属性结点,将每一类等价的结点构成的集合称为“等价属性集”,集合中的元素为“n_属性名”,n为聚类编号;将所有“等价属性集”构成的集合称为“查找集合”。
6.根据权利要求5所述的一种半结构化流量数据中的目标信息定位方法,其特征在于,所述步骤S2.1中,聚类中心的计算方法包括采用所有向量按位累加的均值。
7.根据权利要求1所述的一种半结构化流量数据中的目标信息定位方法,其特征在于,所述步骤S3包括以下子步骤:
步骤S3.1:把能用于识别信息是否为目标信息的过程记为func,对于样本流量flow_sample使用func识别出具有目标信息的属性集合为Target_set;
步骤S3.2:对于flow_sample使用步骤S1.1提取其哈希值,并用KNN算法将其分类到Set_cluster中的一个聚类簇cluster_n中,从“查找集合”找到Target-set中元素所分布的“等价属性集”,将找到的“等价属性集”构成func的“目标属性集”;
步骤S3.3:基于“目标属性集”定位流量的目标信息。
8.根据权利要求7所述的一种半结构化流量数据中的目标信息定位方法,其特征在于:所述步骤S3.3包括以下子步骤:
步骤S3.3.1:读取一条待识别流量flow_recognize;
步骤S3.3.2:将flow_recognize使用步骤S1.1的方法生成哈希编码;
步骤S3.3.3:基于生成的哈希编码,使用KNN算法从Set_cluster中找到所属的cluster_n;
步骤S3.3.4:从“目标属性集”中找到cluster_n对应的属性,这些属性的值即为 “目标信息”。
9.一种半结构化流量数据中的目标信息定位系统,其特征在于:包括以下模块:
模块M1:基于半结构数据路径的流量哈希和聚类,将流量信息用哈希码表示,并基于此哈希编码进行聚类;
模块M2:基于结构向量化的信息预对准,计算出不同类型流量数据之间的结构对应关系,用于后续步骤中加速目标信息的定位;
模块M3:基于流量哈希与对准信息的快速目标信息定位,对半结构化流量中目标信息的定位;
所述模块M1执行包括:
步骤S1.1:读取半结构化流量数据记录,分析每个半结构化流量中的结构化部分,解析出包括以XML、Json数据交换格式编码的半结构数据;
步骤S1.2:对于半结构化流量数据,生成从数据的最外层结构到每个叶结点内容的路径,将路径构成的集合记为Set_trail;
步骤S1.3:对Set_trail中每个元素,进行哈希编码;
步骤S1.4:将Set_trail中所有元素的hash_trail进行按位累加,将累加结果向量中大于0的项改写为1,其余改写为0,最终得到该半结构化流量数据记录的哈希编码,记为hash_flow;
读取一定量的结构化流量数据,使用步骤S1.1-步骤S1.4的方法生成每一条记录hash_flow,构成hash_flow的集合,记为Set_hash;
对Set_hash中的数据进行聚类,得到聚类结果Set_cluster。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110626549.1A CN113220943B (zh) | 2021-06-04 | 2021-06-04 | 一种半结构化流量数据中的目标信息定位方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110626549.1A CN113220943B (zh) | 2021-06-04 | 2021-06-04 | 一种半结构化流量数据中的目标信息定位方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113220943A CN113220943A (zh) | 2021-08-06 |
CN113220943B true CN113220943B (zh) | 2022-09-30 |
Family
ID=77082851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110626549.1A Active CN113220943B (zh) | 2021-06-04 | 2021-06-04 | 一种半结构化流量数据中的目标信息定位方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220943B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021179A (zh) * | 2014-06-05 | 2014-09-03 | 暨南大学 | 一种大数据集下相似性数据的快速识别算法 |
CN108268458A (zh) * | 2016-12-30 | 2018-07-10 | 广东精点数据科技股份有限公司 | 一种基于knn算法的半结构化数据分类方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104794123B (zh) * | 2014-01-20 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 |
CN104598536B (zh) * | 2014-12-29 | 2017-10-20 | 浙江大学 | 一种分布式网络信息结构化处理方法 |
CN106777970B (zh) * | 2016-12-15 | 2018-12-07 | 北京锐软科技股份有限公司 | 一种医疗信息系统数据模板化的集成系统及方法 |
CN109165202A (zh) * | 2018-07-04 | 2019-01-08 | 华南理工大学 | 一种多源异构大数据的预处理方法 |
WO2020197599A1 (en) * | 2019-03-27 | 2020-10-01 | BigID Inc. | Dynamic document clustering and keyword extraction |
CN111797279B (zh) * | 2020-07-17 | 2024-01-19 | 西安数据如金信息科技有限公司 | 一种存储数据的方法及装置 |
CN112148830A (zh) * | 2020-08-28 | 2020-12-29 | 中国电子科技集团公司第二十八研究所 | 一种基于最大区域网格的语义数据存储与检索的方法及装置 |
CN112100149B (zh) * | 2020-08-30 | 2023-02-24 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 日志自动化分析系统 |
CN112579707B (zh) * | 2020-12-08 | 2023-04-18 | 西安邮电大学 | 一种日志数据的知识图谱构建方法 |
-
2021
- 2021-06-04 CN CN202110626549.1A patent/CN113220943B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021179A (zh) * | 2014-06-05 | 2014-09-03 | 暨南大学 | 一种大数据集下相似性数据的快速识别算法 |
CN108268458A (zh) * | 2016-12-30 | 2018-07-10 | 广东精点数据科技股份有限公司 | 一种基于knn算法的半结构化数据分类方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113220943A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113822494B (zh) | 风险预测方法、装置、设备及存储介质 | |
Kieu et al. | Outlier detection for multidimensional time series using deep neural networks | |
US10565498B1 (en) | Deep neural network-based relationship analysis with multi-feature token model | |
CN111428054A (zh) | 一种网络空间安全领域知识图谱的构建与存储方法 | |
CN101853289B (zh) | 一种Oracle数据库审计方法和设备 | |
CN111143838B (zh) | 数据库用户异常行为检测方法 | |
CN112990378B (zh) | 基于人工智能的场景识别方法、装置及电子设备 | |
CN114816997B (zh) | 一种基于图神经网络与双向gru特征抽取的缺陷预测方法 | |
CN114117153A (zh) | 一种基于相似度重学习的在线跨模态检索方法及系统 | |
CN111563192A (zh) | 实体对齐方法、装置、电子设备及存储介质 | |
CN115357904B (zh) | 一种基于程序切片和图神经网络的多类漏洞检测方法 | |
CN114357319A (zh) | 网络请求处理方法、装置、设备、存储介质及程序产品 | |
CN113656690A (zh) | 产品推荐方法、装置、电子设备及可读存储介质 | |
US20170220665A1 (en) | Systems and methods for merging electronic data collections | |
CN109857892B (zh) | 基于类标传递的半监督跨模态哈希检索方法 | |
CN113220943B (zh) | 一种半结构化流量数据中的目标信息定位方法及系统 | |
CN116029394B (zh) | 自适应文本情感识别模型训练方法、电子设备及存储介质 | |
CN108921213B (zh) | 一种实体分类模型训练方法及装置 | |
CN111506554B (zh) | 数据标注方法以及相关装置 | |
CN111143544B (zh) | 一种基于神经网络的柱形图信息提取方法及装置 | |
CN114398980A (zh) | 跨模态哈希模型的训练方法、编码方法、装置及电子设备 | |
CN113643141A (zh) | 解释性结论报告生成方法、装置、设备及存储介质 | |
CN113626574A (zh) | 一种信息查询方法及系统及装置及介质 | |
CN113821418A (zh) | 故障跟因分析方法及装置、存储介质和电子设备 | |
CN113420821A (zh) | 一种基于标记和特征局部相关性的多标记学习方法 |
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 |