CN111475837A - 一种网络大数据隐私保护方法 - Google Patents
一种网络大数据隐私保护方法 Download PDFInfo
- Publication number
- CN111475837A CN111475837A CN202010249771.XA CN202010249771A CN111475837A CN 111475837 A CN111475837 A CN 111475837A CN 202010249771 A CN202010249771 A CN 202010249771A CN 111475837 A CN111475837 A CN 111475837A
- Authority
- CN
- China
- Prior art keywords
- node
- item
- frequent
- data
- tree
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种网络大数据隐私保护方法,先进行隐私信息挖掘,最后将隐私信息进行隐藏。而挖掘过程中,通过基于通信量优化的FP‑growth并行TFP算法与分布式计算框架Hadoop的MapReduce编程模式有机结合,对社交网络用户个体及群体属性数据进行关联分析,不仅有效解决传统算法各个计算子节点的负载不均衡,而且在为每个频繁项目分组时,优先考虑将其分到需要最小通信量的节点上去进入使各个子节点具有相似负载量的同时还具有最小的通信量。
Description
技术领域
本发明涉及大数据隐私保护的技术领域,尤其涉及到一种网络大数据隐私保护方法。
背景技术
社交网络作为大数据时代下的主要网络社交平台,其安全性及隐私问题直接影响社交网络用户参与网络活动的积极性,网络用户的隐私保护问题值得社会各界高度关注.
当前,随着Web 2.0技术的广泛应用,社交网络作为一种新型互联网交互模式,正受到越来越多的关注,已经成为用户数最多、传播影响最大的新媒体平台,如Facebook、Twitter、人人网、开心网、微博、微信等,为人们聊天交友和及时分享信息提供了便捷的服务,吸引了大量用户参与进来.大数据时代的到来加剧了社交网络隐私泄露的风险,由于社交网络具有开放性、共享性和连通性等特点,借助强大的搜索引擎,用户的隐私信息更容易被窥探、收集和非法利用,而且用户看是平常的信息,借助大数据分析工具,从中挖掘出用户的隐私信息,也可能造成用户隐私的泄露,给相关个体和组织带来一定的安全威胁.因此,如何使社交网络在满足用户沟通交流、模式知识发现的同时,更好地保护数据所有者的隐私,已成为近年来相关领域专家学者研究的热点问题。
目前针对社交网络用户隐私保护研究主要集中于社交网络数据发布的隐私保护和社交网络访问控制等方面。社交网络数据发布的隐私保护技术研究的较多,主要采用人工建立敏感数据集,对存在该敏感信息匿名处理技术,该技术确实能够将我们确认的隐私信息很好的隐藏,但是很机械化,必须人工设定一个隐私数据集,工作量很大,而且不利于实现个性化隐私保护;社交网络访问控制技术的研究主要集中于社交网络访问控制模型设计,以解决社交网络数据授权访问问题.然而,现有文献对用户隐私信息间的关联关系研究的很少,不便于进行个性化隐私保护策略设计,增加了用户隐私保护设置的复杂性;其中频繁模式增长算法(FP-growth算法)是关联规则里的经典算法,但随着所需处理的数据集越来越大,FP-growth算法的挖掘效率变得低下,甚至不能在内存中构建一棵全局的FP-tree。并行的FP-growth算法相继被提出,但传统的FP-growth并行算法并没有考虑各个计算子节点的负载均衡问题,以及节点间通信消耗的问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种网络大数据隐私保护方法,先挖掘出隐私信息,最后将隐私信息进行隐藏。其在挖掘隐私信息时,能有效解决传统算法各个计算子节点的负载不均衡,而且在为每个频繁项目分组时,优先考虑将其分到需要最小通信量的节点上去进入使各个子节点具有相似负载量的同时还具有最小的通信量。
为实现上述目的,本发明所提供的技术方案为:
一种网络大数据隐私保护方法,通过基于通信量优化的FP-growth并行TFP 算法与分布式计算框架Hadoop的MapReduce编程模式有机结合,对社交网络用户个体及群体属性数据进行关联分析,挖掘出隐私信息,最后将隐私信息进行隐藏。
进一步地,所述通过基于通信量优化的FP-growth并行TFP算法与分布式计算框架Hadoop的MapReduce编程模式有机结合,对社交网络用户个体及群体属性数据进行关联分析,挖掘出隐私信息的具体过程如下:
一)进行基于MapReduce的TFP算法:
1)统计计数获取频繁项集:
统计每一条样本数据中每一个项的出现频数;将频数小于最小支持度数的项删除;按照频数从大到小降序排列所有的项;
2)节点负载评估及分组:
调用基于贪心策略的负载优化分组算法,得到每一个项对应的组号,将这个组号与项之间形成投影表,即GF-List;
3)基于FP-growth的频繁模式挖掘:
对于每一条样本数据,利用频繁项集找出其中的频繁项,并且利用生成的 GF-List表,将每一个项投影到某个组里,记为gid;对于每一个频繁项,找到以它为后缀模式的所有条件模式基;按照项对应的gid进行数据分发,即以gid 为key,全部的条件模式基为value;同一个gid的项以及它的条件模式基集合都会集中于一个reducer任务中,在reduce函数中,对条件模式基建立局部的条件模式树,递归调用FP-growth算法得到频繁项集;
4)整合结果
由最后一个节点将所有的频繁项集合并,然后输出到一个文件中;
二)并行计算框架MapReduce:
(1)将待执行的MapReduce程序复制到主节点Master与子节点Worker中;
(2)主节点Master决定子节点执行Map函数与Reduce函数;
(3)将位于HDFS上的文件进行分配,将数据集投影或者划分到各个子节点,并在子节点Worker中运行Map任务;
(4)将Map函数执行后的结果存入子节点所在的本地磁盘;
(5)子节点读取Map结果,对结果进行调整与排序,执行Reduce函数;
(6)输出最终结果并写回HDFS中。
进一步地,所述基于通信量优化的FP-growth并行TFP算法具体为:
首先将原始大规模数据集划分为小的数据集,然后得到频繁项集列表 F-list,再利用基于贪心策略的节点负载优化算法,将各个项目的条件模式基以组为单位水平投影到各个计算子节点上,并依据条件FP-tree代替全局FP-tree 的理论基础,在各个计算子节点上构建该组所有项目的条件模式树FP-tree,并对该FP-tree进行关联规则挖掘,挖掘到的关联规则与全局FP-tree得到的关联规则相同。
A1、数据划分:
中心计算节点Master将数据库D划分为连续的P个部分,并将它们分别发送到P个计算子节点上,即Sharding((Sent(D1),(Sent(D2),…,Sent(Dp));
A2、并行计算:
在上述P个计算子节点上,对分配给它的数据集Di进行并行计算,统计各个项的数目,即Parallel(Count(D1),Count(D2),…,Count(Dn));
A3、发送项集计数:
各计算子节点P将它所统计的局部数据集中各个项集的计数结果发送到中心节点Master,即Parallel(Send(1),Send(2),…,Send(p));
A4、统计和分组:
中心节点Master对服务器发来的项集计数进行统计,依据最小支持度阈值删除非频繁项集后得到频繁项集F-list,然后利用基于贪心策略的节点负载优化算法将F-list中的项划分为Q个组,得到GF-list;对F-list的每一个频繁项目而言,其在GF-list中对应的组号是唯一的;
A5、发送条件模式基:
各计算子节点将根据GF-list表对数据集上的事务进行水平投影,使它们被分配到频繁项目的GroudId所指定的节点上,即Parallel(Send(1),Send(2),…, Send(p));
A6、构建局部FP-tree:
各个计算子节点将根据GF-list和水平投影后的数据集Di构造各个项目的条件模式树FP-tree,即Parallel(Build_LT(D1),Build_LT(D2),…,Build_LT(Dp));
A7、挖掘频繁模式基:
各计算节点Pi对汇总到该节点的各个项目的条件FP-tree进行频繁模式挖掘,即Parallel(Mining(1),Mining(2),…,Mining(p));
A8、生成关联规则:
各个计算节点Pi所挖掘到的关联规则聚集起来就是该数据集所有的频繁模式,即Parallel(Get_Rule(1),Get_Rule(2),…,Get_Rule(p))。
与现有技术相比,本方案原理及优点如下:
本方案先进行隐私信息挖掘,最后将隐私信息进行隐藏。而挖掘过程中,通过基于通信量优化的FP-growth并行TFP算法与分布式计算框架Hadoop的 MapReduce编程模式有机结合,对社交网络用户个体及群体属性数据进行关联分析,不仅有效解决传统算法各个计算子节点的负载不均衡,而且在为每个频繁项目分组时,优先考虑将其分到需要最小通信量的节点上去进入使各个子节点具有相似负载量的同时还具有最小的通信量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的服务作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种网络大数据隐私保护方法中TFP算法的流程图;
图2为MapReduce执行示意图;
图3为PFP算法和TFP算法的运行时间随reduce数目的变化示意图。
具体实施方式
下面结合具体实施例对本发明作进一步说明:
本实施例所述的一种网络大数据隐私保护方法,通过基于通信量优化的FP-growth并行TFP算法与分布式计算框架Hadoop的MapReduce编程模式有机结合,对社交网络用户个体及群体属性数据进行关联分析,挖掘出隐私信息,最后将隐私信息进行隐藏。
为了更容易理解,下面对基于通信量优化的FP-growth并行算法进行解析,具体如下:
首先,给出算法相关定义符号,然后描述算法的详细流程。
定义I={I1,I2,...,Im}为所有项目的集合,D={T1,T2,…,Tn}表示事务数据集,其中,每个事务Ti(i=1,2,…,n)都是I中一个子集。假设有N个存储节点,则Di表示分布在第i个存储节点上的事务集。
定义(k=1,2,...,p)表示P个计算节点,中心节点为Master。
该算法首先将原始大规模数据集划分为小的数据集,然后得到频繁项集列表 F-list,再利用基于贪心策略的节点负载优化算法,将各个项目的条件模式基以组为单位水平投影到各个计算子节点上,并依据条件FP-tree代替全局FP-tree 的理论基础,在各个计算子节点上构建该组所有项目的条件模式树FP-tree,并对该FP-tree进行关联规则挖掘,挖掘到的关联规则与全局FP-tree得到的关联规则相同。
A1、数据划分:
中心计算节点Master将数据库D划分为连续的P个部分,并将它们分别发送到P个计算子节点上,即Sharding((Sent(D1),(Sent(D2),…,Sent(Dp));
A2、并行计算:
在上述P个计算子节点上,对分配给它的数据集Di进行并行计算,统计各个项的数目,即Parallel(Count(D1),Count(D2),…,Count(Dn));
A3、发送项集计数:
各计算子节点P将它所统计的局部数据集中各个项集的计数结果发送到中心节点Master,即Parallel(Send(1),Send(2),…,Send(p));
A4、统计和分组:
中心节点Master对服务器发来的项集计数进行统计,依据最小支持度阈值删除非频繁项集后得到频繁项集F-list,然后利用基于贪心策略的节点负载优化算法将F-list中的项划分为Q个组,得到GF-list;对F-list的每一个频繁项目而言,其在GF-list中对应的组号是唯一的;
A5、发送条件模式基:
各计算子节点将根据GF-list表对数据集上的事务进行水平投影,使它们被分配到频繁项目的GroudId所指定的节点上,即Parallel(Send(1),Send(2),…, Send(p));
A6、构建局部FP-tree:
各个计算子节点将根据GF-list和水平投影后的数据集Di构造各个项目的条件模式树FP-tree,构建方法与传统的方法一样,即Parallel(Build_LT(D1), Build_LT(D2),…,Build_LT(Dp));
A7、挖掘频繁模式基:
各计算节点Pi对汇总到该节点的各个项目的条件FP-tree进行频繁模式挖掘,挖掘方法与传统FP-growth一样,即Parallel(Mining(1),Mining(2),…, Mining(p));
A8、生成关联规则:
各个计算节点Pi所挖掘到的关联规则聚集起来就是该数据集所有的频繁模式,即Parallel(Get_Rule(1),Get_Rule(2),…,Get_Rule(p))。
下面将具体地详述通过基于通信量优化的FP-growth并行TFP算法与分布式计算框架Hadoop的MapReduce编程模式有机结合,对社交网络用户个体及群体属性数据进行关联分析,挖掘出隐私信息的具体过程:
一)进行基于MapReduce的TFP算法:
1)统计计数获取频繁项集:
这个过程类似经典的词频统计——“WordCount”的过程,统计每一条样本数据中每一个项的出现频数;将频数小于最小支持度数的项删除;按照频数从大到小降序排列所有的项;
2)节点负载评估及分组:
调用基于贪心策略的负载优化分组算法,得到每一个项对应的组号,将这个组号与项之间形成投影表,即GF-List;
3)基于FP-growth的频繁模式挖掘:
这一步是复杂度最高的,决定了整个算法的运行时间,具体过程如下:
对于每一条样本数据,利用频繁项集找出其中的频繁项,并且利用生成的 GF-List表,将每一个项投影到某个组里,记为gid;对于每一个频繁项,找到以它为后缀模式的所有条件模式基;按照项对应的gid进行数据分发,即以gid 为key,全部的条件模式基为value;同一个gid的项以及它的条件模式基集合都会集中于一个reducer任务中,在reduce函数中,对条件模式基建立局部的条件模式树,递归调用FP-growth算法得到频繁项集,这个过程与传统FP-growth 算法相同;
4)整合结果
由最后一个节点将所有的频繁项集合并,然后输出到一个文件中。
二)并行计算框架MapReduce:
MapReduce是一种并行计算模型,通常被用于处理大规模数据集,它利用多台计算机组成的集群同时处理可并行化的问题。MapReduce包含Map和Reduce 两个阶段。Map阶段负责数据的映射,也叫做数据转换。Reduce阶段负责数据聚合。MapReduce的执行过程如图2所示,共有六步:
(1)将待执行的MapReduce程序复制到主节点Master与子节点Worker中;
(2)主节点Master决定子节点执行Map函数与Reduce函数;
(3)将位于HDFS上的文件进行分配,将数据集投影或者划分到各个子节点,并在子节点Worker中运行Map任务;
(4)将Map函数执行后的结果存入子节点所在的本地磁盘;
(5)子节点读取Map结果,对结果进行调整与排序,执行Reduce函数;
(6)输出最终结果并写回HDFS中。
分布式文件系统HDFS
传统的计算方式是在单个计算节点完成的,但并行化的计算方式会涉及到多个计算节点,由于这些节点之间相互独立,所以并行化系统的可靠性很难保证。因此,为了发挥并行化系统的优势,以及更好地解决系统可靠性问题,分布式平台下的文件系统将有别于单机上的文件系统。常见的分布式文件系统有:谷歌文件系统(GFS),Hadoop分布式文件系统(HDFS)等。
下面主要介绍HDFS。它的使用方式主要有2点:(1)适用于文件非常大的情况,如TB级别。(2)适用于文件很少被更新的情况。在HDFS中,文件被分为一个个的数据块,数据块的大小默认是64MB。为了保证数据安全性,通常每个数据块都会在不同的计算节点上存放其副本,这些计算节点一般是指不同的机器。存在副本的计算节点数和数据块的大小都是可以由用户自定义的。HDFS中的文件管理是由主节点NameNode和子节点DataNode负责的,文件系统的总目录存在于主节点中,这样方便寻找某个文件的数据块的存储位置。
上述中,实际应用的具体实现如下:
(1)生成频繁项列表
FreqItemCountJob用于生成频繁项集。即统计每个项的频数,并且删除小于最小支持度数的元素。Mapper类用来分割数据得到项的数组,并且把数组转换为项为key,以1为value的输出格式。Reducer类用来收集同一个项的value值,累计求和得到该项的频数,若频数大于最小支持度数,则输出结果,否则不输出。生成频繁项集中的Mapper和Reducer的输入、输出数据说明如表1所示:
Mapper | Reducer | |
输入 | HDFS上的数据集的分片:每行表示一条事务 | <key=item,List<value>> |
输出 | <key=item,value=1> | [item,count] |
表1 Mapper和Reducer的输入输出说明
(2)对频繁项列表进行排序
SortJob是对上面的输出结果进行排序,即把频繁项集合按照频数从大到小降序排列。因为Reducer在输出的时候自带有按照Key值排序的机制,所以利用这一机制实现排序。但因为Reducer是对Key值排除,所以需要在Mapper里调换Key和Value的位置,InverseMapper.class类是由Hadoop提供的类库,用来调换Key和Value。SortJob不需要Reducer类做额外的处理,所以只需要设置 sortJob.setNumReduceTasks(1)即可。频繁项列表进行排序的Mapper和Reducer 的输入、输出数据说明如表2所示:
Mapper | Reducer | |
输入 | FreqItemCountJob输出文件:每行表示为[item,count] | |
输出 | <key=count,value=item> | [count,item] |
表2 Mapper和Reducer在频繁项集排序中的输入输出
(3)基于负载和通信量估计的分组策略
GroupJob用来实现分组策略。该Job同样只需要Mapper任务,不需要Reducer 任务。Mapper读入排序后的频繁项集,并计算各个项的负载估计和通信量估计,并且利用负载均衡评估为项分配组号gid,最后以项为Key,gid为Value输出生成<item-gid>投影表。Mapper和Reducer的输入、输出数据说明如表3所示:
Mapper | Reducer | |
输入 | SortJob的输出文件:每行表示为[count,item] | |
输出 | <key=item,value=gid> | [item,gid] |
表3 Mapper和Reducer在负载均衡分组策略中的输入输出
(4)并行关联规则挖掘
FPgrowthJob用于并行挖掘关联规则。这是第二次扫描数据库,对于每一条事务,Mapper类将依次抽取每一个项的所有条件模式基,并按照以gid为Key,条件模式基为Value的格式输出。另外,Hadoop提供了全局变量的机制,即 DistributedCach,利用它所有的Mapper或Reducer都可以共享全局变量。因为 <item-gid>投影表不会很大,所以在Mapper类的setup函数中用 DistributedCache将投影表读入。Reducer类将同一组的项的条件模式基聚合在一起,建立局部条件模式树(Local FP-tree),利用传统的FP-growth对树进行规则挖掘,输出规则模式,以及规则的支持度。
其中,并行关联规则挖掘过程中的Mapper和Reducer的输入、输出数据说明如表4所示:
Mapper | Reducer | |
输入 | HDFS上的数据集的分片:每行表示一条事务 | <key=gid,List<conditionalpatternbase>> |
输出 | <key=gid,value=conditionalpatternbase> | <rules,freq> |
表4 Mapper和Reduce在并行关联规则挖掘过程中的输入输出
(5)合并结果
MergeJob仅仅用于合并结果到一个文件里,所以该Job只需要Mapper任务。合并结果中的Mapper函数输入、输出数据说明如表5所示:
Mapper | |
输入 | FPgrowthJob的输出文件:每行数据表示为<rules,freq> |
输出 | <allofrules,freq> |
表5 Mapper在合并结果中的输入输出
为证明本发明的有效性,下面进行基于Hadoop台的TFP算法的实验
(1)集群环境及数据说明
集群环境搭建在Hadoop平台上,节点个数为5,用于测试算法的硬件与软件环境的详细参数如表6和表7所示。
表6分布式集群的硬件环境
系统和应用 | 版本 |
Linux | Centos 6(x86_64) |
JDK | JDK-6u37-linux-i586 |
Apache | Apache-tomcat-6.0.37 |
Hadoop | Hadoop 2.3.0 |
表7分布式集群的软件环境
测试过程中,在本地使用Xshell软件下的ssh远程登录到服务器上,通过 scp命令将程序jar包、输入数据上传到服务器,并且利用dfs命令将输入数据上传到HDFS中。
(2)数据说明
本文实验采用关联规则挖掘领域经典的测试数据集accidents.dat和webdocs.dat,数据集的说明如表8所示:
表8数据集说明
(3)实验结果和分析
实验测试了传统FP-growth并行算法(PFP)和基于通信量优化的FP-growth 并行算法(TFP)的结果,为对比两种算法的优劣。因此,设计了不同的对比实验,以下将详细说明对比实验的结果。
不同Reduce数目下的对比实验
首先,本文用数据集accidents.dat进行实验,设定最小支持度为3%,TFP 算法的分组数为7组。在单机环境下,传统的FP-growth算法的运行时间是 183620ms。在分布式环境下,PFP算法和TFP算法的运行时间如表9所示,可以看出,当Reduce数大于1的时候,两种并行算法的运行时间都小于单机下的 FP-growth算法运行时间,说明并行算法确实可以提高时间效率。
Reduce数目 | PFP算法的运行时间 | TFP算法的运行时间 |
3 | 178476ms | 153787ms |
5 | 181645ms | 143573ms |
7 | 161082ms | 147800ms |
10 | 168674ms | 141691ms |
15 | 148460ms | 141884ms |
20 | 151769ms | 135358ms |
30 | 149122ms | 135229ms |
表9 PFP算法和TFP算法在数据集accidents.dat上的运行时间
PFP算法和TFP算法的运行时间随reduce数目的变化情况如图3所示,从图中能发现,TFP算法比PFP算法在运行时间方面的性能略好,但两者差别并不大,这是因为当数据量较小时,Job的调度时间占总运行时间的比例较大。并且,随着Reduce数增多,两种并行算法的时间减少得越来越慢,当Reduce数大于10 时,程序运行时间几乎保持不变。这是因为当Reduce数目增大时,通信开销也会增多。
从图3中的实验结果可以看出,由于数据集accidents.dat的数据量较小,并不能充分发挥负载优化在并行算法上的优势,因此,继续在数据集webdocs.dat 上进行实验,目的是在大数据集下对比PFP算法与TFP算法的性能。
因此,在节点的通信量优化算法,负载优化算法的基础之上,提出基于通信量优化的FP-growth并行算法,该算法不仅考虑了节点的负载均衡问题,同时也尽量减少了节点通信量消耗。
以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
Claims (4)
1.一种网络大数据隐私保护方法,其特征在于,通过基于通信量优化的FP-growth并行TFP算法与分布式计算框架Hadoop的MapReduce编程模式有机结合,对社交网络用户个体及群体属性数据进行关联分析,挖掘出隐私信息,最后将隐私信息进行隐藏。
2.根据权利要求1所述的一种网络大数据隐私保护方法,其特征在于,所述通过基于通信量优化的FP-growth并行TFP算法与分布式计算框架Hadoop的MapReduce编程模式有机结合,对社交网络用户个体及群体属性数据进行关联分析,挖掘出隐私信息的具体过程如下:
一)进行基于MapReduce的TFP算法:
1)统计计数获取频繁项集:
统计每一条样本数据中每一个项的出现频数;将频数小于最小支持度数的项删除;按照频数从大到小降序排列所有的项;
2)节点负载评估及分组:
调用基于贪心策略的负载优化分组算法,得到每一个项对应的组号,将这个组号与项之间形成投影表,即GF-List;
3)基于FP-growth的频繁模式挖掘:
对于每一条样本数据,利用频繁项集找出其中的频繁项,并且利用生成的GF-List表,将每一个项投影到某个组里,记为gid;对于每一个频繁项,找到以它为后缀模式的所有条件模式基;按照项对应的gid进行数据分发,即以gid为key,全部的条件模式基为value;同一个gid的项以及它的条件模式基集合都会集中于一个reducer任务中,在reduce函数中,对条件模式基建立局部的条件模式树,递归调用FP-growth算法得到频繁项集;
4)整合结果
由最后一个节点将所有的频繁项集合并,然后输出到一个文件中;
二)并行计算框架MapReduce:
(1)将待执行的MapReduce程序复制到主节点Master与子节点Worker中;
(2)主节点Master决定子节点执行Map函数与Reduce函数;
(3)将位于HDFS上的文件进行分配,将数据集投影或者划分到各个子节点,并在子节点Worker中运行Map任务;
(4)将Map函数执行后的结果存入子节点所在的本地磁盘;
(5)子节点读取Map结果,对结果进行调整与排序,执行Reduce函数;
(6)输出最终结果并写回HDFS中。
3.根据权利要求2所述的一种网络大数据隐私保护方法,其特征在于,所述基于通信量优化的FP-growth并行TFP算法具体为:
首先将原始大规模数据集划分为小的数据集,然后得到频繁项集列表F-list,再利用基于贪心策略的节点负载优化算法,将各个项目的条件模式基以组为单位水平投影到各个计算子节点上,并依据条件FP-tree代替全局FP-tree的理论基础,在各个计算子节点上构建该组所有项目的条件模式树FP-tree,并对该FP-tree进行关联规则挖掘,挖掘到的关联规则与全局FP-tree得到的关联规则相同。
A1、数据划分:
中心计算节点Master将数据库D划分为连续的P个部分,并将它们分别发送到P个计算子节点上,即Sharding((Sent(D1),(Sent(D2),…,Sent(Dp));
A2、并行计算:
在上述P个计算子节点上,对分配给它的数据集Di进行并行计算,统计各个项的数目,即Parallel(Count(D1),Count(D2),…,Count(Dn));
A3、发送项集计数:
各计算子节点P将它所统计的局部数据集中各个项集的计数结果发送到中心节点Master,即Parallel(Send(1),Send(2),…,Send(p));
A4、统计和分组:
中心节点Master对服务器发来的项集计数进行统计,依据最小支持度阈值删除非频繁项集后得到频繁项集F-list,然后利用基于贪心策略的节点负载优化算法将F-list中的项划分为Q个组,得到GF-list;对F-list的每一个频繁项目而言,其在GF-list中对应的组号是唯一的;
A5、发送条件模式基:
各计算子节点将根据GF-list表对数据集上的事务进行水平投影,使它们被分配到频繁项目的GroudId所指定的节点上,即Parallel(Send(1),Send(2),…,Send(p));
A6、构建局部FP-tree:
各个计算子节点将根据GF-list和水平投影后的数据集Di构造各个项目的条件模式树FP-tree,即Parallel(Build_LT(D1),Build_LT(D2),…,Build_LT(Dp));
A7、挖掘频繁模式基:
各计算节点Pi对汇总到该节点的各个项目的条件FP-tree进行频繁模式挖掘,即Parallel(Mining(1),Mining(2),…,Mining(p));
A8、生成关联规则:
各个计算节点Pi所挖掘到的关联规则聚集起来就是该数据集所有的频繁模式,即Parallel(Get_Rule(1),Get_Rule(2),…,Get_Rule(p))。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010249771.XA CN111475837B (zh) | 2020-04-01 | 2020-04-01 | 一种网络大数据隐私保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010249771.XA CN111475837B (zh) | 2020-04-01 | 2020-04-01 | 一种网络大数据隐私保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111475837A true CN111475837A (zh) | 2020-07-31 |
CN111475837B CN111475837B (zh) | 2023-04-07 |
Family
ID=71749473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010249771.XA Active CN111475837B (zh) | 2020-04-01 | 2020-04-01 | 一种网络大数据隐私保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111475837B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270470A (zh) * | 2020-10-23 | 2021-01-26 | 中国科学院电工研究所 | 一种危险驾驶场景数据分析方法及系统 |
CN114282076A (zh) * | 2022-03-04 | 2022-04-05 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序方法和系统 |
CN117149706A (zh) * | 2023-10-27 | 2023-12-01 | 山东大学 | 一种地震模拟数据的大规模并行优化方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761236A (zh) * | 2013-11-20 | 2014-04-30 | 同济大学 | 一种增量式频繁模式增长数据挖掘方法 |
WO2018152303A1 (en) * | 2017-02-15 | 2018-08-23 | Edgewise Networks, Inc. | Network application security policy generation |
CN109471877A (zh) * | 2018-11-01 | 2019-03-15 | 中南大学 | 面向流数据的增量式时态频繁模式并行挖掘方法 |
CN110232079A (zh) * | 2019-05-08 | 2019-09-13 | 江苏理工学院 | 一种基于Hadoop的改进型FP-Growth数据挖掘方法 |
-
2020
- 2020-04-01 CN CN202010249771.XA patent/CN111475837B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761236A (zh) * | 2013-11-20 | 2014-04-30 | 同济大学 | 一种增量式频繁模式增长数据挖掘方法 |
WO2018152303A1 (en) * | 2017-02-15 | 2018-08-23 | Edgewise Networks, Inc. | Network application security policy generation |
CN109471877A (zh) * | 2018-11-01 | 2019-03-15 | 中南大学 | 面向流数据的增量式时态频繁模式并行挖掘方法 |
CN110232079A (zh) * | 2019-05-08 | 2019-09-13 | 江苏理工学院 | 一种基于Hadoop的改进型FP-Growth数据挖掘方法 |
Non-Patent Citations (2)
Title |
---|
张稳等: "一种基于Spark框架的并行FP-Growth挖掘算法", 《计算机工程与科学》 * |
高权等: "基于增量式FP-Growth算法的关联规则挖掘模型设计", 《信息技术与信息化》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270470A (zh) * | 2020-10-23 | 2021-01-26 | 中国科学院电工研究所 | 一种危险驾驶场景数据分析方法及系统 |
CN112270470B (zh) * | 2020-10-23 | 2023-12-05 | 中国科学院电工研究所 | 一种危险驾驶场景数据分析方法及系统 |
CN114282076A (zh) * | 2022-03-04 | 2022-04-05 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序方法和系统 |
CN114282076B (zh) * | 2022-03-04 | 2022-06-14 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序方法和系统 |
CN117149706A (zh) * | 2023-10-27 | 2023-12-01 | 山东大学 | 一种地震模拟数据的大规模并行优化方法及系统 |
CN117149706B (zh) * | 2023-10-27 | 2024-03-19 | 山东大学 | 一种地震模拟数据的大规模并行优化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111475837B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10157429B2 (en) | Fast and scalable connected component computation | |
Lin | Mr-apriori: Association rules algorithm based on mapreduce | |
Zhang et al. | EAGRE: Towards scalable I/O efficient SPARQL query evaluation on the cloud | |
CN111475837B (zh) | 一种网络大数据隐私保护方法 | |
CN104809244B (zh) | 一种大数据环境下的数据挖掘方法和装置 | |
Raj et al. | A Spark-based Apriori algorithm with reduced shuffle overhead | |
Lee et al. | Efficient data partitioning model for heterogeneous graphs in the cloud | |
CN104834557B (zh) | 一种基于Hadoop的数据分析方法 | |
CN103258049A (zh) | 一种基于海量数据的关联规则挖掘方法 | |
Xiao et al. | SWEclat: a frequent itemset mining algorithm over streaming data using Spark Streaming | |
CN104820708A (zh) | 一种基于云计算平台的大数据聚类方法和装置 | |
Heintz et al. | MESH: A flexible distributed hypergraph processing system | |
Ansari et al. | Data categorization using Hadoop MapReduce-based parallel K-means clustering | |
Oruganti et al. | Exploring Hadoop as a platform for distributed association rule mining | |
CN108268614A (zh) | 一种森林资源空间数据的分布式管理方法 | |
Mazloumi et al. | Multilyra: Scalable distributed evaluation of batches of iterative graph queries | |
Apiletti et al. | Pampa-HD: A parallel MapReduce-based frequent pattern miner for high-dimensional data | |
Braun et al. | An innovative framework for supporting frequent pattern mining problems in IoT environments | |
Al-Hamodi et al. | An enhanced frequent pattern growth based on MapReduce for mining association rules | |
Mohamed et al. | A proposed hybrid algorithm for mining frequent patterns on Spark | |
Song et al. | Towards modeling large-scale data flows in a multidatacenter computing system with petri net | |
Afrati et al. | Meta-MapReduce: A technique for reducing communication in MapReduce computations | |
El-Shafeiy et al. | A big data framework for mining sensor data using Hadoop | |
Yamuna Devi | A Parallel Direct‐Vertical Map Reduce Programming model for an effective frequent pattern mining in a dispersed environment | |
CN111309786A (zh) | 基于MapReduce的并行频繁项集挖掘方法 |
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 |