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

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

A Low Resource Consumption Super Node Recognition and Filtering Method and System for Large Flow Real-time Map Data

The invention discloses a low resource consumption super node identification and filtering method and system for large flow real-time graph data, belonging to the field of large data preprocessing. The method includes: 1) receiving graph data and format transformation; 2) filtering data after format transformation according to filtering rules; 3) identifying super nodes in filtered data, and dynamically modifying the filtering rules according to the identified super nodes. The system includes data receiving module, data filtering module, filtering rule management module and super node identification module. The invention can identify super nodes in massive real-time graph data stream, and is a low resource consumption super node identification scheme, which can identify super nodes in massive data with very few resources.

【技术实现步骤摘要】
一种面向大流量实时图数据的低资源消耗的超级节点识别过滤方法和系统
本专利技术属于大数据预处理领域,涉及一种在海量实时图数据场景下,识别和过滤超级节点的方法和系统。
技术介绍
随着计算机技术的不断发展和信息化程度的不断提高,数据量在迅速增长,数据结构也越来越复杂,传统的关系型数据模型在很多场景下已难以使用,非关系型数据模型越来约流行。图数据模型是非关系数据模型中的一种,模型中的基本元素为点和边,分别可以用来表示现实中的实体和实体之间的关系,因此图数据模型非常适合存储关系网络等复杂的数据。以图数据模型为基础的数据库是图数据库,图数据库是NoSQL数据库的一种类型。超级节点(supernode)指的是有非常多边与其相连的点。超级节点是目前所有图数据库共同面临的难题,在图的遍历过程中,如果遇到超级节点,图检索的结果将瞬间变得非常大,导致遍历结果集太多或者直接导致图遍历不能继续进行,而图遍历正是图数据库的核心功能。太多的超级节点将直接导致图库失去使用价值。而且在很多业务场景下,含有超级节点的数据几乎没有任何价值,甚至严重影响其他数据质量。另一方面,含有超级节点的数据通常是不正常数据,如在邮件模型中,邮箱地址为一个点,每次发送邮件都会产生一条边,边的起始点为发送者,终止点为收件者。正常的邮箱只会产生少量的边,而发送垃圾邮件的邮箱则动辄就会发送百万甚至更多的邮件。及时识别出发送垃圾邮件的邮箱(超级节点)并屏蔽(过滤)是非常有必要的。同样适用于在通话和短信数据中识别出诈骗电话。因此及时识别出图数据中的超级节点是非常有必要的。传统的超级节点识别方法是,对每个点建立一个计数器,该点每增加一条边计数器加一。在数据量较少时,该方法没有任何问题,但是在数据量非常多时,会需要非常多的内存。虽然可以通过分布式系统来缓解问题,但是在数据量非常大时,分布式系统存在内存不足的问题。另一方面,大多数的点在计数过程中只出现有限的几次,对它们建立计数器是极大的浪费,且资源通常也不允许。
技术实现思路
针对目前超级节点识别系统的问题,本专利技术提出了一种面向海量实时图数据的、低资源消耗的超级节点识别与过滤方法和系统。本专利技术采用的技术方案如下:一种面向大流量实时图数据的超级节点识别与过滤方法,包括以下步骤: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为本专利技术一种面向海量实时图数据的超级节点识别过滤方法本文档来自技高网
...

【技术保护点】
1.一种面向大流量实时图数据的超级节点识别与过滤方法,其特征在于,包括以下步骤:1)接收图数据并对其进行格式转化;2)根据过滤规则对格式转化之后的数据进行过滤;3)识别过滤之后的数据中的超级节点,并根据识别出的超级节点对所述过滤规则进行动态修改。

【技术特征摘要】
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.一种面向大流量实时图数据的超级节点识别与过滤系统,其特征在于,包括:数据接收模块,负责接收图数...

【专利技术属性】
技术研发人员:黄亮孙立远曹开研王振宇李斌斌王树鹏
申请(专利权)人:国家计算机网络与信息安全管理中心中国科学院信息工程研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1