CN109189743A - 一种面向大流量实时图数据的低资源消耗的超级节点识别过滤方法和系统 - Google Patents

一种面向大流量实时图数据的低资源消耗的超级节点识别过滤方法和系统 Download PDF

Info

Publication number
CN109189743A
CN109189743A CN201810671449.9A CN201810671449A CN109189743A CN 109189743 A CN109189743 A CN 109189743A CN 201810671449 A CN201810671449 A CN 201810671449A CN 109189743 A CN109189743 A CN 109189743A
Authority
CN
China
Prior art keywords
data
point
super node
counter
filtering rule
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
Application number
CN201810671449.9A
Other languages
English (en)
Other versions
CN109189743B (zh
Inventor
黄亮
孙立远
曹开研
王振宇
李斌斌
王树鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Information Engineering of CAS
National Computer Network and Information Security Management Center
Original Assignee
Institute of Information Engineering of CAS
National Computer Network and Information Security Management Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Information Engineering of CAS, National Computer Network and Information Security Management Center filed Critical Institute of Information Engineering of CAS
Priority to CN201810671449.9A priority Critical patent/CN109189743B/zh
Publication of CN109189743A publication Critical patent/CN109189743A/zh
Application granted granted Critical
Publication of CN109189743B publication Critical patent/CN109189743B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management

Abstract

本发明公开一种面向大流量实时图数据的低资源消耗的超级节点识别过滤方法和系统,属于大数据预处理领域。该方法包括:1)接收图数据并对其进行格式转化;2)根据过滤规则对格式转化之后的数据进行过滤;3)识别过滤之后的数据中的超级节点,并根据识别出的超级节点对所述过滤规则进行动态修改。该系统包括数据接收模块、数据过滤模块、过滤规则管理模块以及超级节点识别模块。本发明可在海量实时图数据流中识别出超级节点,是一种低资源消耗的超级节点识别方案,只需极少资源就可以在海量数据中识别出超级节点。

Description

一种面向大流量实时图数据的低资源消耗的超级节点识别过 滤方法和系统
技术领域
本发明属于大数据预处理领域,涉及一种在海量实时图数据场景下,识别和过滤超级节点的方法和系统。
背景技术
随着计算机技术的不断发展和信息化程度的不断提高,数据量在迅速增长,数据结构也越来越复杂,传统的关系型数据模型在很多场景下已难以使用,非关系型数据模型越来约流行。图数据模型是非关系数据模型中的一种,模型中的基本元素为点和边,分别可以用来表示现实中的实体和实体之间的关系,因此图数据模型非常适合存储关系网络等复杂的数据。以图数据模型为基础的数据库是图数据库,图数据库是NoSQL数据库的一种类型。
超级节点(super node)指的是有非常多边与其相连的点。超级节点是目前所有图数据库共同面临的难题,在图的遍历过程中,如果遇到超级节点,图检索的结果将瞬间变得非常大,导致遍历结果集太多或者直接导致图遍历不能继续进行,而图遍历正是图数据库的核心功能。太多的超级节点将直接导致图库失去使用价值。而且在很多业务场景下,含有超级节点的数据几乎没有任何价值,甚至严重影响其他数据质量。另一方面,含有超级节点的数据通常是不正常数据,如在邮件模型中,邮箱地址为一个点,每次发送邮件都会产生一条边,边的起始点为发送者,终止点为收件者。正常的邮箱只会产生少量的边,而发送垃圾邮件的邮箱则动辄就会发送百万甚至更多的邮件。及时识别出发送垃圾邮件的邮箱(超级节点)并屏蔽(过滤)是非常有必要的。同样适用于在通话和短信数据中识别出诈骗电话。因此及时识别出图数据中的超级节点是非常有必要的。
传统的超级节点识别方法是,对每个点建立一个计数器,该点每增加一条边计数器加一。在数据量较少时,该方法没有任何问题,但是在数据量非常多时,会需要非常多的内存。虽然可以通过分布式系统来缓解问题,但是在数据量非常大时,分布式系统存在内存不足的问题。另一方面,大多数的点在计数过程中只出现有限的几次,对它们建立计数器是极大的浪费,且资源通常也不允许。
发明内容
针对目前超级节点识别系统的问题,本发明提出了一种面向海量实时图数据的、低资源消耗的超级节点识别与过滤方法和系统。
本发明采用的技术方案如下:
一种面向大流量实时图数据的超级节点识别与过滤方法,包括以下步骤:
1)接收图数据并对其进行格式转化;
2)根据过滤规则对格式转化之后的数据进行过滤;
3)识别过滤之后的数据中的超级节点,并根据识别出的超级节点对所述过滤规则进行动态修改。
进一步地,步骤1)从包括csv文件、消息队列在内的数据源读取数据,将其格式化为traplet数据并放入有界队列;所述triplet数据由两个点,两个点之间的关系,以及点与关系的属性构成。
进一步地,步骤2)从有界队列中取出格式化之后的triplet数据,按照过滤规则对其进行匹配,如果符合过滤规则,则丢弃该条数据,否则进入步骤3)进行处理。
进一步地,步骤3)在初始化时创建一个计数器counter,一个变量total并为其赋值0,一个常量chunksize,一个常量maxEdge,其中,counter用于记录图数据中每个点出现过的次数,其键为图数据中的点,值为该点出现过的次数;total是一个长整型变量,用于记录当前处理过的点的总量;chunksize是一个长整型常量,根据具体情况调整大小;maxEdge是一个长整型常量,是判断一个点是否为超级节点的阈值,根据具体情况调整大小。
进一步地,步骤3)采用以下步骤识别超级节点:
a)从triplet数据中依次取出点,如果计数器counter中存在该点,将其计数加1,否则在计数器中加入该点,并将其计数设置为1;
b)将total增加1,如果total对chunksize取余等于0,进入步骤c),否则返回步骤2);
c)遍历当前计数器,如果当前点的计数大于等于maxEdge,该点为新的超级节点,将该点从计数器中删除并作为新的过滤规则;如果当前点的计数等于1,将该点从计数器中移除,否则将当前点的计数减1。
一种面向大流量实时图数据的超级节点识别与过滤系统,包括数据接收模块,数据过滤模块,过滤规则管理模块,超级节点识别模块,其中:
数据接收模块负责接收图数据并进行格式转化;
数据过滤模块根据过滤规则对格式转化之后的数据进行过滤;
超级节点识别模块处理过滤之后的数据并识别出其中的超级节点;
过滤规则管理模块负责动态修改过滤规则。
进一步地,所述数据接收模块与其他模块并行运行,从csv文件、消息队列等数据源读取数据,将其格式化为traplet数据放入有界队列;triplet数据由两个点,两个点之间的关系,以及点与关系的属性构成。
进一步地,所述数据过滤模块从有界队列中取出一个格式化之后的triplet数据,按照过滤规则对其进行匹配,如果符合过滤规则,丢弃该条数据,然后继续处理下一个triplet数据;否则进入超级节点识别模块进行处理。
进一步地,所述超级节点识别模块对过滤之后的数据进行超级节点识别;该模块在初始化时会创建一个计数器counter,一个变量total,并为其赋值0,一个常量chunksize,一个常量maxEdge,其中:
counter是一个map(键值对集合,可以快速由键找到值),用于记录图数据中每个点出现过的次数,其键为图数据中的点,值为该点出现过的次数;
total是一个长整型变量,用于记录当前处理过的点的总量;
chunksize是一个长整型常量,是超级节点的核心判定条件,如果点在一个chunksize内出现次数超过了1次,也就是出现的频率超过了1/chunksize,那么他有可能成为一个超级节点,否则不会成为超级节点,根据具体情况调整大小;
maxEdge是一个长整型常量,是判断一个点是否为超级节点的阈值,根据具体情况调整大小;
所述超级节点识别模块进行超级节点识别的具体步骤为:
a)从triplet数据中依次取出点,如果计数器counter中存在该点,将其的计数加1,否则在计数器中加入该点,并将其计数设置为1。
b)将total增加1,如果total对chunksize取余等于0,进入步骤c),否则返回所述数据过滤模块;
c)遍历当前计数器,如果当前点的计数大于等于maxEdge,该点为新的超级节点,将该点从计数器中删除并作为新的过滤规则发送给过滤规则管理模块;如果当前点的计数等于1,将该点从计数器中移除,从而减少map中计数器的数量,以便可以使用极少量的内存对海量数据进行超级节点识别;否则(即当前点的计数不等于1),将当前点的计数减1。一个点只在多个chunksize内出现的频率大于1/chunksize,并且累计计数打到maxEdge,才会成为超级节点,减1是为了尽早将不符合条件的点从计数器中移除,以减少计数器的大小,从而使用更少的计算机资源。
进一步地,所述过滤规则管理模块与其他模块并行运行,在接收到新的过滤规则或者监控到过滤规则文件变动时,更新数据过滤模块的过滤规则。
本发明的优点在于:
1)本发明是一种面向海量实时图数据的超级节点识别方法,可在海量实时图数据流中识别出超级节点。
2)本发明是一种低资源消耗的超级节点识别方法,只需极少资源就可以在海量数据中识别出超级节点。
附图说明
图1为本发明4个模块的结构图;
图2为本发明一种面向海量实时图数据的超级节点识别过滤方法流程图。
具体实施方式
下面通过具体实施例和附图,对本发明做进一步详细说明。
本发明为了解决因计算资源与数据量矛盾而难以识别出超级节点,和不能在实时数据中识别出超级节点的问题,提出了一种适用于海量实时图数据的低资源消耗的超级节点识别过滤方法;总体分为两部分:实时数据过滤,超级节点识别。
该方法中,规则管理线程负责动态更新过滤规则;数据接收线程负责从csv文件、消息队列等地方获取数据并解析为triplet格式,放入有界队列queue1中;数据过滤模块每次从queue1中取出一条triplet数据,根据过滤规则判断其是否合格,如果不合格直接丢弃,返回从queue1取出下一个triplet;否则,对当前triplet进行处理,之后再从queue1中取出下一个triplet;处理方式为:对当前triplet中的点进行计数,并将total增加1,total为已处理过的triplet的数量;如果total对chunksize取余不等于0,返回从queue1取出下一个triplet,chunksize大小可根据使用场景设定;否则,遍历计数器中的点,如果该点出现过的次数超过maxEdge,该点为新的超级节点,将该点作为新的过滤条件传送给规则管理模块,并从计数器中删除该点,maxEdge是判断一个点是否为超级节点的阈值,在初始化时根据场景预设;如果该点出现的次数等于1,从计数器中删除该点;否则,将该点的计数减1。
本实施例的具体步骤如图2所示,如下:
步骤一、将系统分为4个模块。
如图1所示,4个模块包括:数据接收模块,数据过滤模块,过滤规则管理模块,超级节点识别模块;
第一个模块数据接收模块,与其他模块并行运行,实现从消息队列或CSV文件等地方接收需要被处理的数据,并放入有界队列中。
第二个模块数据过滤模块,负责按照给定规则过滤不需要的数据;
第三个模块过滤规则管理模块,与其他模块并行运行,通过监控规则文件和接收更新请求实现过滤规则的动态更新。在接收到新的过滤规则或者监控到过滤规则文件变动时,更新数据过滤模块的过滤规则。
第四个模块超级节点识别模块,处理过滤之后的数据并识别出其中的超级节点,并将识别出的超级节点作为新的过滤规则发送给过滤规则管理模块。
步骤二、数据接收模块与其他模块并行运行,从csv、消息队列等地方读取图数据解析为triplet,放入有界队列queue1中。
图数据是各种由点和边构成的拓扑图数据;
triplet数据由两个点,两个点之间的关系,以及点与关系的属性构成;点是一个用于唯一标识指定点的键值对,如uid=9867,属性也是一个键值对,如name=张三,但是不用来唯一标识一个点或边;
有界队列queue1用于存放从数据源获取的数据。
步骤三、数据过滤模块判断是否满足结束条件,如果是,结束程序,否则进入步骤四。
步骤四、数据过滤模块从queue1取出一条triplet数据,判断triplet是否满足过滤规则,如果满足过滤规则,丢弃数据,返回步骤三,否则进入步骤五。
步骤五、超级节点识别模块对过滤后的triplet中的点使用计数器counter计数,并将total增加1。
计数器counter是一个map,其中键为点,值为点出现过的次数,使用counter对点进行计数时,如果counter中存在该点,将counter中该点的计数加1,否则,在counter中插入该点,并将计数设置为1;
total是超级节点识别模块已处理过的triplet的总数量。
步骤六、判断total对chunksize取余是否等于0,如果不等于0,返回步骤三,否则进入步骤七。
chunksize为初始化时设定的一个处理窗口的大小,是一个长整型。
步骤七、将计数器counter转化为迭代器counter_iterator。
迭代器能够用来遍历集合中的部分或全部元素,这里用来遍历计数器counter中的所有点。
步骤八、如果counter_iterator中所有的点已被遍历,返回步骤三,否则进入步骤九。
步骤九、从counter_iterator中取出下一个没有被遍历过的点V,如果点V的计数大于maxEdge,点V为新的超级节点,将点V作为新的过滤规则发送给过滤规则管理模块,并在计数器counter中删除点V,返回步骤八;如果点V的计数等于1,在计数器counter中删除点V,返回步骤八;否则,将点V的计数减1,返回步骤八。
maxEdge是判断一个点是否为超级节点的阈值,是一个长整型,在初始化时根据具体情况调整。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

Claims (10)

1.一种面向大流量实时图数据的超级节点识别与过滤方法,其特征在于,包括以下步骤:
1)接收图数据并对其进行格式转化;
2)根据过滤规则对格式转化之后的数据进行过滤;
3)识别过滤之后的数据中的超级节点,并根据识别出的超级节点对所述过滤规则进行动态修改。
2.根据权利要求1所述的方法,其特征在于,步骤1)从包括csv文件、消息队列在内的数据源读取数据,将其格式化为traplet数据并放入有界队列;所述triplet数据由两个点,两个点之间的关系,以及点与关系的属性构成。
3.根据权利要求2所述的方法,其特征在于,步骤2)从有界队列中取出格式化之后的triplet数据,按照过滤规则对其进行匹配,如果符合过滤规则,则丢弃该条数据,否则进入步骤3)进行处理。
4.根据权利要求3所述的方法,其特征在于,步骤3)在初始化时创建一个计数器counter,一个变量total并为其赋值0,一个常量chunksize,一个常量maxEdge,其中,counter用于记录图数据中每个点出现过的次数,其键为图数据中的点,值为该点出现过的次数;total是一个长整型变量,用于记录当前处理过的点的总量;chunksize是一个长整型常量,根据具体情况调整大小;maxEdge是一个长整型常量,是判断一个点是否为超级节点的阈值,根据具体情况调整大小。
5.根据权利要求4所述的方法,其特征在于,步骤3)采用以下步骤识别超级节点:
a)从triplet数据中依次取出点,如果计数器counter中存在该点,将其计数加1,否则在计数器中加入该点,并将其计数设置为1;
b)将total增加1,如果total对chunksize取余等于0,进入步骤c),否则返回步骤2);
c)遍历当前计数器,如果当前点的计数大于等于maxEdge,该点为新的超级节点,将该点从计数器中删除并作为新的过滤规则;如果当前点的计数等于1,将该点从计数器中移除,否则将当前点的计数减1。
6.一种面向大流量实时图数据的超级节点识别与过滤系统,其特征在于,包括:
数据接收模块,负责接收图数据并进行格式转化;
数据过滤模块,根据过滤规则对格式转化之后的数据进行过滤;
超级节点识别模块,负责识别过滤之后的数据中的超级节点;
过滤规则管理模块,负责动态修改过滤规则。
7.根据权利要求6所述的系统,其特征在于,所述数据接收模块从包括csv文件、消息队列在内的数据源读取数据,将其格式化为traplet数据并放入有界队列;triplet数据由两个点,两个点之间的关系,以及点与关系的属性构成。
8.根据权利要求7所述的系统,其特征在于,所述数据过滤模块从有界队列中取出格式化之后的triplet数据,按照过滤规则对其进行匹配,如果符合过滤规则,则丢弃该条数据,否则进入所述超级节点识别模块进行处理。
9.根据权利要求8所述的系统,其特征在于,所述超级节点识别模块在初始化时创建一个计数器counter,一个变量total并为其赋值0,一个常量chunksize,一个常量maxEdge,其中,counter是一个map,用于记录图数据中每个点出现过的次数,其键为图数据中的点,值为该点出现过的次数;total是一个长整型变量,用于记录当前处理过的点的总量;chunksize是一个长整型常量,根据具体情况调整大小;maxEdge是一个长整型常量,是判断一个点是否为超级节点的阈值;所述超级节点识别模块采用以下步骤识别超级节点:
a)从triplet数据中依次取出点,如果计数器counter中存在该点,将其计数加1,否则在计数器中加入该点,并将其计数设置为1;
b)将total增加1,如果total对chunksize取余等于0,进入步骤c),否则返回所述数据过滤模块进行处理;
c)遍历当前计数器,如果当前点的计数大于等于maxEdge,该点为新的超级节点,将该点从计数器中删除并作为新的过滤规则发送给过滤规则管理模块;如果当前点的计数等于1,将该点从计数器中移除,否则将当前点的计数减1。
10.根据权利要求6所述的系统,其特征在于,所述过滤规则管理模块在接收到新的过滤规则或者监控到过滤规则文件变动时,更新数据过滤模块的过滤规则。
CN201810671449.9A 2018-06-26 2018-06-26 一种面向大流量实时图数据的低资源消耗的超级节点识别过滤方法和系统 Active CN109189743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810671449.9A CN109189743B (zh) 2018-06-26 2018-06-26 一种面向大流量实时图数据的低资源消耗的超级节点识别过滤方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810671449.9A CN109189743B (zh) 2018-06-26 2018-06-26 一种面向大流量实时图数据的低资源消耗的超级节点识别过滤方法和系统

Publications (2)

Publication Number Publication Date
CN109189743A true CN109189743A (zh) 2019-01-11
CN109189743B CN109189743B (zh) 2021-09-28

Family

ID=64948498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810671449.9A Active CN109189743B (zh) 2018-06-26 2018-06-26 一种面向大流量实时图数据的低资源消耗的超级节点识别过滤方法和系统

Country Status (1)

Country Link
CN (1) CN109189743B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840286A (zh) * 2019-01-31 2019-06-04 中国农业银行股份有限公司 一种识别海量数据构建的关系图中超级节点的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101730063A (zh) * 2009-11-19 2010-06-09 福建星网锐捷网络有限公司 一种邻居表项资源回收方法、装置及IPv6节点
WO2015049601A2 (en) * 2013-10-03 2015-04-09 Bhagat Nitin Sadashiv Method and system for identifying predetermined number of forest sub-graphs in a graph
CN104881415A (zh) * 2014-02-28 2015-09-02 国际商业机器公司 树图生成的方法及设备
CN107038260A (zh) * 2017-05-27 2017-08-11 国家计算机网络与信息安全管理中心 一种可保持titan实时数据一致性的高效并行加载方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101730063A (zh) * 2009-11-19 2010-06-09 福建星网锐捷网络有限公司 一种邻居表项资源回收方法、装置及IPv6节点
WO2015049601A2 (en) * 2013-10-03 2015-04-09 Bhagat Nitin Sadashiv Method and system for identifying predetermined number of forest sub-graphs in a graph
CN104881415A (zh) * 2014-02-28 2015-09-02 国际商业机器公司 树图生成的方法及设备
CN107038260A (zh) * 2017-05-27 2017-08-11 国家计算机网络与信息安全管理中心 一种可保持titan实时数据一致性的高效并行加载方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
廖闻剑: ""基于复杂网络理论的网络异常行为研究"", 《中国优秀硕士学位论文全文数据库》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840286A (zh) * 2019-01-31 2019-06-04 中国农业银行股份有限公司 一种识别海量数据构建的关系图中超级节点的方法及装置

Also Published As

Publication number Publication date
CN109189743B (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
CN114143020B (zh) 一种基于规则的网络安全事件关联分析方法和系统
CN101119321B (zh) 网络流量分类处理方法及网络流量分类处理装置
CN110008201A (zh) 一种面向大数据的数据质量稽核监控方法
CN101697545A (zh) 安全事件关联方法、装置及网络服务器
CN110287688A (zh) 关联账号分析方法、装置和计算机可读存储介质
CN110535825A (zh) 一种特征网络流的数据识别方法
CN113839835B (zh) 一种基于小流过滤的Top-k流精确监控系统
CN105989163A (zh) 数据实时处理方法及系统
CN111984495A (zh) 一种大数据监控方法、装置和存储介质
CN105045535B (zh) 一种自动删除过期数据的方法和系统
CN106033438A (zh) 舆情数据存储方法和服务器
CN114880522A (zh) 基于图数据库实现ID Mapping的方法及装置
CN109189743A (zh) 一种面向大流量实时图数据的低资源消耗的超级节点识别过滤方法和系统
CN114401158A (zh) 流量计费方法、装置、电子设备及存储介质
CN104965846B (zh) MapReduce平台上的虚拟人建立方法
CN110069457A (zh) 一种基于分布式文件存储系统中过期文件删除方法及系统
CN112598510A (zh) 资源数据处理方法和装置
CN110399095A (zh) 一种存储空间的统计方法和装置
CN110162513A (zh) 用于智能电网大数据处理的数据表连接方法及计算机可读存储介质
CN107085576A (zh) 一种流式数据统计算法及装置
CN115514784A (zh) 基于物联网的多源数据采集中台
CN114090850A (zh) 日志分类方法、电子设备及计算机可读存储介质
CN111461617B (zh) 一种库存统计方法、装置、计算机设备及存储介质
CN107145599A (zh) 一种大数据资产管理系统
CN107276782A (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