基于Hadoop的大规模社交网络分析方法及其分析平台的制作方法

文档序号:9597935阅读:502来源:国知局
基于Hadoop的大规模社交网络分析方法及其分析平台的制作方法【
技术领域
】[0001]本发明涉及数据批量处理
技术领域
,具体涉及一种基于Hadoop的大规模社交网络分析方法及其分析平台。【
背景技术
】[0002]社交网络兴起产生海量用户数据,为提取出更进一步的有用信息,挖掘潜在商机提供了条件。随着互联网规模的不断扩大,用户数据规模不断增加,使得传统型单核处理的模式开始不适用于处理海量数据,它们在海量数据处理时往往出现存储和处理能力不足等方面的问题,这使得对大规模数据的分析变的更加的困难,同时现有的分布式处理平台面并未全部开源,所提供的算法在分析能力上往往存在限制。[0003]目前,绝大多数大数据分析平台都是在单核条件下运行的,依赖于算法本身进行分析,在海量数据处理时往往出现存储和处理能力不足等方面的问题,未充分利用系统资源,效率不高。同时现有的分布式处理平台面并未全部开源,所提供的算法在分析能力上往往存在限制,并不能充分的支持社会网络分析,以上为对社会网络分析带来了困难。并且现有大数据平台没有平衡硬件处理能力和算法分析能力。【
发明内容】[0004]针对上述缺陷或不足,本发明的目的在于提供一种基于Hadoop的大规模社交网络分析方法及其分析平台。[0005]为达到以上目的,本发明的技术方案为:[0006]一种基于Hadoop大规模社交网络分析方法,包括以下步骤:[0007]1)、获取社交网络中的原始数据,并将原始数据进行存储;[0008]2)、对所述原始数据进行统一化处理,使得原始数据生成固定格式的数据文件;[0009]3)、对数据文件进行预处理,使得数据文件转化为HNAP系统的数据格式,然后建立支持图论模型及分布式环境的数据模型;[0010]4)、利用HNAP系统算法库中的算法,对步骤3)数据模型的数据进行社会网络分析,并对分析后的输出结果进行整合,生成文档文件。[0011]所述步骤1)中获取社交网络中的原始数据的方法为网上爬取或利用开源数据库进行获取。[0012]所述步骤1)中将原始数据进行存储分布式存储。[0013]所述步骤3)中数据模型基于Hadoop海量数据集接口,满足分布式开发环境对数据处理的要求,社会网络关系通常以图论模型为基础进行表示,整个关系模型可以被看做是G=(V,E),其中V是节点集合,E是边的集合E={e(v_l,v_2)|v_leV,v_2eV},通过图论模型,表达社会网络中个体之间的关系。[0014]所述图论模型中图的存储方法为邻接矩阵存储和图的邻接表存储法。[0015]步骤4)中HNAP系统算法包括的社会网络分析算法。[0016]一种基于Hadoop大规模社交网络分析平台,包括Hadoop基础模块和HNAP实现模块;[0017]其中,所述Hadoop基础模块包含HDFS模块以及HNAP数据模块;[0018]所述HDFS模块,以分布式形式对数据进行存储;[0019]HNAP数据模块,用于对所述原始数据进行统一化处理,使得原始数据生成固定格式的数据文件;并对数据文件进行预处理,使得数据文件转化为HNAP系统的数据格式,然后建立支持图论模型及分布式环境的数据模型;[0020]所述HNAP实现模块,用于利用HNAP系统算法库中的算法,对步骤3)数据模型的数据进行社会网络分析,并对分析后的输出结果进行整合,生成文档文件。[0021]社交网络分析平台通过MapReduce编程模型实现。[0022]所示HNAP数据模块基于Hadoop海量数据集接口,满足分布式开发环境对数据处理的要求,社会网络关系通常以图论模型为基础进行表示,整个关系模型可以被看做是G=(V,E),其中V是节点集合,E是边的集合E={e(v_l,v_2)v_leV,v_2eV},通过图论模型,表达社会网络中个体之间的关系。[0023]所述HNAP实现模块中算法包括社会网络分析算法。[0024]与现有技术比较,本发明的有益效果为:[0025]本发明提供了一种基于Hadoop大规模社交网络分析方法,针现有现有大数据平台没有平衡硬件处理能力和算法分析能力,发明利用分布式数据处理分析工具,对所述原始数据进行统一化处理,使得原始数据生成固定格式的数据文件,并且对数据文件进行预处理,使得数据文件转化为HNAP系统的数据格式,然后建立支持图论模型及分布式环境的数据模型,使得能够利用分布式计算,获得分析结果,解决了单核处理能力不足的问题。[0026]本发明还提供给了一种基于Hadoop大规模社交网络分析平台,该社交网络分析平台在Hadoop平台下搭建,采用支持图论模型及分布式环境的数据模型,使得应用其具有海量存储能力和并行处理能力,执行效率明显高于单核条件下执行速率。系统在总体设计时,充分考虑了未来的扩展需求及通用性,预留接口,可以根据需求进行相应扩充,扩大了系统的适用范围。【附图说明】[0027]图1是本发明的基于Hadoop大规模社交网络分析方法流程框图;[0028]图2是本发明的系统主控程序类图;[0029]图3是本发明的HNAP系统架构图;[0030]图4是本发明的HNAP数据模型图;[0031]图5是AmericanCollegefootball数据集结果图;[0032]图6是Politicalblogs数据集结果图。【具体实施方式】[0033]下面结合附图对本发明做详细描述。[0034]如图1所示,本发明提供了一种基于Hadoop的大规模社交网络分析方法,包括以下步骤:[0035]1)、获取社交网络中的原始数据,并将原始数据进行存储;[0036]所述步骤1)中获取社交网络中的原始数据的方法为网上爬取或利用开源数据库进行获取,其获取的数据格式各有不同,要对数据进行统一化处理,处理成固定的格式的数据文件;原始数据采用分布式存储方式。[0037]2)、对所述原始数据进行统一化处理,使得原始数据生成固定格式的数据文件;[0038]3)、对数据文件进行预处理,使得数据文件转化为HNAP系统的数据格式,然后建立支持图论模型及分布式环境的数据模型;[0039]数据模型基于Hadoop海量数据集接口,满足分布式开发环境对数据处理的要求,社会网络关系通常以图论模型为基础进行表示,整个关系模型可以被看做是G=(V,E),其中V是节点集合,E是边的集合E={e(v_l,v_2)v_leV,v_2eV},通过图论模型,表达社会网络中个体之间的关系。通过图论模型,可以把社会网络中个体之间的关系更好的表达出来,利用一系列的社会网络分析算法进行分析和挖掘,在结果的表达上也更加的直观清晰。所述图论模型中图的存储方法有很多,最常用的是图的邻接矩阵存储和图的邻接表存储法。[0040]数据模型为了便于后期的扩展、增加新的元素,采用多态继承的形式。Element接口继承序列化接口Writable,其他元素继承Element接口成为可以在MapReduce时可以使用的数据类型。数据元素分为三大类,用以描述标签元素、邻接表元素、矩阵元素。标签元素承载结点或者边的附加信息,可以通过Labeling接口继续向下扩展。邻接表元素分为结点元素和边元素,结点元素通过继承派生出邻接表结点和标签化的邻接表结点,同时定义相应结点集合类是便于传递和统一处理,边元素也通过继承派生出邻接表边和标签化的邻接表边,这两种类型的边只标识边的一端,无法说明是起点还是终点,需要和结点元素结合使用,还有一种类型的边由起点和终点同时标示,用以直观表示有向边,同时也定义其相应的边集合便于操作,结点和边结合构成社会网络关系的直观表达。矩阵元素Matixkey和MatrixValue组成矩阵,包括有向矩阵和无向矩阵,同时可以与标签结合使用构成标签化的矩阵用于数据分析。[0041]4)、利用HNAP系统算法库中的算法,对步骤3)数据模型的数据进行社会网络分析,并对分析后的输出结果进行整合,生成文档文件。[0042]具体的,步骤4)中HNAP系统算法包括的社会网络分析算法。通过对处理模型的规划,设计出系统主控程序类图。如图2所示。主控程序中的核心是算法类,算法类为抽象类,由实际分析算法去继承派生,便于后期对分析算法进行扩展,采用策略模式,使AlgorithmContext类用一个实际分析算法类配置,维护一个对Algorithm对象的引用,Configurat1nManager为算法执行提供参数支持。算法类分析的数据来源于转换类转换后的数据,转换类也通过转换抽象类向下进行派生,把原始数据转换成系统定义的数据类型,便于操作,也采用策略模式,使TransformerContext用一个实际转换算法来配置,维护一个对Transformer对象的引用。考虑到一个分析算法或者数据转换可能需要多次执行MapReduce方法得到结果,设计JobChain类来控制多次MapReduce执行顺序,其中间产生的多次临时结果由TempResult类来进行维护。RunExecute类作为程序的入口,采用反射的方式,调用相应的数据转换或者分析算法。[0043]如图3所示,本发明还提供了一种基于Hadoop的大规模社交网络分析平台,其特征在于,包括Hadoop基础模块和HNAP实现模块;[0当前第1页1 2 
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1