基于hadoop的健康物联网数据挖掘算法研究与实现

基于hadoop的健康物联网数据挖掘算法研究与实现

ID:32965936

大小:11.73 MB

页数:76页

时间:2019-02-18

上传者:U-22505
基于hadoop的健康物联网数据挖掘算法研究与实现_第1页
基于hadoop的健康物联网数据挖掘算法研究与实现_第2页
基于hadoop的健康物联网数据挖掘算法研究与实现_第3页
基于hadoop的健康物联网数据挖掘算法研究与实现_第4页
基于hadoop的健康物联网数据挖掘算法研究与实现_第5页
资源描述:

《基于hadoop的健康物联网数据挖掘算法研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

万方数据分类号UDC密级学位论文基于Hadoop的健康物联网数据挖掘算法研究与实现作者姓名:杨维指导教师:申请学位级别:学科专业名称:论文提交日期:学位授予日期:评阅人:易秀双副教授东北大学计算中心硕士学科类别:工学计算机应用技术2013年6月论文答辩日期:2013年6月23日2013年7月答懒螂:黄卫祖黄卫祖、刘天华东北大学2013年6月 万方数据ThesisinComputerApplicationTechnologyResearchandImplementationoftheDataMiningAlgorithmsoftheInternetofThingsinHealthcareBasedonHadoopByYangWeiSupervisor:AssociateProfessorYiXiushuangNortheasternUniversityJune2013 万方数据独创性声明本人声明,所呈交的学位论文是在导师的指导下完成的。论文中取得的研究成果除加以标注和致谢的地方外,不包含其他人已经发表或撰写过的研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢二正思0学位论文作者签名:扬多证日期:乙口f;.6.西学位论文版权使用授权书本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部或部分内容编入有关数据库进行检索、交流。作者和导师同意网上交流的时间为作者获得学位后:半年口一年口一年半口f两年∥学位论文作者签名:枸兰1主一导师签名:签字日期:加f;.乡、才签字日期:.I. 万方数据东北大学硕士学位论文摘要基于Hadoop的健康物联网数据挖掘算法研究与实现摘要医疗卫生体系的发展水平直接关系到人民群众的身心健康和中国梦的实现,是全社会关注的热点。在如今医疗改革的关键时期,应紧密结合物联网和云计算技术,切实加强医疗健康领域的信息化水平。健康物联网旨在通过先进的感知技术实现医疗信息的准确、实时感知,通过便捷全方位的通信技术实现医疗健康领域的互联互通,通过高效的数据处理技术实现医疗健康信息的全面、科学分析和预测。健康物联网数据处理总体流程是通过接收健康物联网智能采集终端的海量异构数据,对数据进行分布式存储,过滤进而对其进行分布式数据挖掘,让医学专家更有效的对病情进行分析。基于Hadoop平台对健康物联网数据进行处理挖掘时,本文首先对Hadoop源码进行研究,设计实现了分布式数据清洗算法以过滤冗余数据;接着重点研究设计了若干分布式数据挖掘算法,并对这些分布式算法进行了正确性验证。通过对这些算法的设计实现,可以为上层的健康服务应用提供良好的预测模型。对生理数据进行分布式数据挖掘时,首先分析了分布式聚类算法,又结合了蚁群的核心思想设计实现了基于Hadoop的分布式DKBAC(DistributedKmeansBasedonAntClustering)聚类算法。本文对病理信息数据进行聚类,通过实验将DKBAC算法与相关分布式聚类算法在准确率、平均查全率及时间效率等性能指标上做了比较和分析。为满足健康物联网各种预测分析的需要,需研究实现更多数据挖掘算法和模型,本文主要研究了基于Hadoop的分布式随机森林分类算法与分布式关联规则算法,并对算法进行具体的分布式设计,将其在Hadoop下进行部署实现并与相关算法进行了性能指标的比较和分析。通过研究实现这些主要的分布式数据挖掘算法,本文总结出分布式数据挖掘算法的一般设计原则及适用范围,为后续实现更多健康物联网分布式数据挖掘算法指明了方向。关键词:健康物联网;Hadoop;分布式数据挖掘;DKBAC;随机森林.II. 万方数据ResearchandImplementationoftheDataMiningAlgoritllmsoftheInternetofThingsinHealthcareBasedonHadoopAbstractThedevelopmentlevelofmedicalandhealthsystemisdirectlyrelatedtopeople’ShealthandtherealizationoftheChinesedream,isalsoahottopicofthewholesociety.Inthekeyperiodofthehealmcarereform,combiningwiththetechnologyoftheInternetofthingsandcloudcomputing,thesocietyshouldstrengthenthelevelofinformatizationinthefieldofhealthcare.TheInternetofthingsinhealthcareshouldrealizeaccurateandreal。timeperceptionofmedicalinformationthroughthetechnologyofadvancedsensing,achieveinterconnectivitVinthefieldofhealthcarethroughtheconvenientcomprehensivecoⅡⅡnullicationtechnology,andCananalysisandforecasthealthdatathroughthetechnologyofefficientdataprocessing.ThedataprocessingflowoftheIntemetofthingsinhealthcareismainlyreceivinghealthdatawhichintelligentdataacquisitionterminalsends,storinghealthinformation,filteringdataandminingdatainadistributedformtomakemedicalexpertsanalyzetheconditionmoreefficient.ToanalyzeandminedataoftheIntemetofthingsinhealthcareinHadoop,thepaperresearchesandanalyzesthesourcecodeofHadoop,designsalgorithmsofdistributeddata6lteringtofilterredundantdata,researchesseveraldataminingalgorithms,andverifiestheresuItsright.Thesealgorithmsandmodelsprovideniceforecastingfunctionsforhealthyservice.Whenminingthehealthdata,firstthepaperderivestheideaofantcolony,designsandrealizesDKBACclusteringalgorithmindistributedformonHadoop.ThroughexperimentDKBACcompareswiththerelevantclusteringalgorithmsontheaccuracy,theaveragerecallrateandtimeforthehumanphysiologicaldata.TomeetthedemandofanalysisintheIntemetofthingsinhealthcare,itneedstostudyandachievemorealgorithmsandmodels.ThepaperI.esearchesanddesignsrandomforestandFP.GrowthinadistributedformonHadoop,whichcomparewithrelevantalgorithmsinperformanceforphysiologicaldata·Afterresearchingthesedistributedalgorithmsofdatamining,thepapersummarizesthegeneral 万方数据东北大学硕士学位论文A1咖tprinciplesandtheapplicablescopeofdesigningdistributedalgorithms,pointsoutthedirectionforresearchingmoredistributedalgorithmsintheIntemetofthingsinhealthcare.Keywords:TheInternetofthingsinhealthcare;Hadoop;Distributeddatamining;DKBAC;Randomforest.IV. 万方数据东北大学硕士学位论文目录目录独创性声明⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯I摘要⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯IIAbsl:I’act⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.III第1章绪论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.11.1研究背景和意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一11.2国内外研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一31.3本文主要研究内容及贡献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..71.4论文组织结构及课题来源⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一8第2章健康物联网及相关技术概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.92.1健康物联网及其体系结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一92.2健康物联网中间件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..:⋯⋯⋯⋯⋯⋯.102.3健康物联网感知层技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯112.4Hadoop及相关子模块概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯122.4.1分布式文件系统HDFS⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.122.4.2分布式编程模型MapReduce⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯132.4.3分布式数据仓库Hive⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯142.4.4Sqoop技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..162.5数据挖掘算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯162.6本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯16第3章健康物联网数据处理总体流程和设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯173.1健康物联网数据处理的总体流程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯173.2异构数据加载转换设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯183.3分布式数据清洗算法设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯203.3.1数据清洗的MR模型流程分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯213.3.2基于MR的数据清洗算法设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯22.V. 万方数据东北大学硕士学位论文目录3.3.3基于Hive的数据清洗设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯243.4分布式数据挖掘算法设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯253.4.1健康物联网数据挖掘的必要性⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.263.4.2数据挖掘模块算法设计与分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.283.5本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯30第4章基于Hadoop的DI①AC聚类算法设计与实现⋯⋯⋯⋯⋯⋯.314.1蚁群算法机制原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯314.2基于蚁群的KBAC聚类算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..324.3DKBAC聚类算法的正确性验证⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..334.4基于MapReduce的DKBAC算法的具体实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..344.4.1DKBAC算法中MapReduce任务的模型结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.354.4.2统计蚁群信息素阶段的设计与实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.354.4.3蚁群信息素聚类的设计与实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.384.4.4统计更新聚类中心阶段的设计与实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.394.5本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.40第5章基于Hadoop的数据挖掘算法设计与研究⋯⋯⋯⋯⋯⋯⋯⋯.415.1分布式随机森林算法设计与研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯415.1.1随机森林算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.415.1.2基于Hadoop的分布式随机森林算法设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..435.1.3分布式随机森林算法的评价分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.455.2基于Hadoop的分布式关联规则算法设计与研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.465.2.1FP.Growth算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.465.2.2基于Hadoop的分布式FP.Growth算法设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..475.2.3分布式关联规则算法的评价分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.485.3相关分布式数据挖掘算法及设计原则⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯495.3.1基于Hadoop的其他分布式数据挖掘算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..495.3.2基于Hadoop的数据挖掘算法设计原则⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..505.4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯50第6章实验部署及结果分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯51.VI. 万方数据东北大学硕士学位论文目录6.1Hadoop实验平台搭建⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯516.1.1软硬件环境⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.516.1.2Hadoop数据处理平台搭建及部署⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯516.2数据清洗算法测试结果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯546.2.1异常过滤清洗效果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.546.2.2时间过滤清洗效果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.546.2.3相似度过滤清洗效果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.556.3分布式数据挖掘算法的性能指标⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯556.4DKBAC数据聚类结果及分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..556.4.1分布式聚类结果分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.556.4.2分布式聚类算法的复杂度分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.576.5并行随机森林分类及关联规则结果分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯586.5.1基于Hadoop的随机森林算法测试分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..586.5.2基于Hadoop的FP.Growth算法测试分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..596.6本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯60第7章总结与展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯617.1工作总结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯617.2工作展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯62参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..63致谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一67.VII. 万方数据东北大学硕士学位论文第1章绪论1.1研究背景和意义物联网(Intemetofthings)是由美国Auto—ID实验室在1999年首先提出的概念,即是物物相连的互联网,被视为当今互联网的应用扩展,创新是物联网发展的核心,以用户服务质量为核心是物联网技术发展的灵魂。国际电信联盟(ITu)也成立了专门研究物联网的技术委员会(10TGSI)。并在2005开始发布了((ITU互联网报告:物联网》,工作任务是制定物联网的技术标准,促进物联网在全世界的发展。物联网是信息社会的全球基础设施,能够基于现有的和演变的互操作信息和通信技术将物理和虚拟的物体相互连接起来以提供高级的业务。物联网利用标识、数据采集、处理和通信能力,充分使用物体为各种应用提供服务,同时能够确保必要的隐私。目标是实现各种物体,包括实体及虚拟的物体,通过各种网络互相联系,交互,交流。总体上物联网有三个方面的特征:互联网特征,即这些物体之间的连接是基于现有的互联网的,感知和互通信的特征,这些物体之间可以互相感知及通信,智能化的特征,物联网物体之间的信息传递具有自主性,能够相互自动反馈信息。健康是人类追求的永恒话题,医疗健康问题涉及到亿万群众的根本利益。在物联网与云计算的快速发展时期,为了实现中国梦,应该将这两项前沿技术切实结合到健康领域,形成健康物联网,实现对人们的健康维护。健康物联网是由健康智能采集终端接收人体生理信息数据,通过互联网及其他网络传送到医疗健康云计算数据平台进行智能计算分析,各个社会成员,包括医护人员、患者、服务管理人员等共同参与的社会科技相互融合的智能平台。物联网的体系结构可以划分为三层:即感知层、网络层和应用层。感知层处在物联网体系的底层,主要由各种有线或无线传感器设备、RFID以及传感器网关构成,例如C02浓度传感器、室内温度传感器、RFID二维数据标签、体域网传感器、GPS等智能感知终端。感知层的接入功能对物联网的实现起着基础性的作用,它是物联网识别物体、收集信息的来源,主要功能就是识别相应物体及数据信息,对物体进行全面感知,即对其继续识别或是数据采集。网络层主要由局域网、互联网、有线和无线通信网、网络管理系统和云计算平台等组成,能够利用这些现在多种的有线及无线通讯网络将信息进行可信任的传输,通过泛在的网络技术可以为用户即时的提供服务,也可以利用多种网络技术的协同,智能的为用户选择接入网络模式。应用层是物联网的目标所在,只有实现物联网的应用与具体的行业需求相结合,这样才真正让物联网服务于我们。物联网的行 万方数据东北大学硕士学位论文第1章绪论业特性主要体现在其应用领域内,在物联网的产业结构发展上,每个环节的企业和组织一般都会从自己的角度去诠释发展自身行业的物联网。目前在绿色农业、工业监控、公共安全、城市管理、远程医疗、智能家居、智能交通和环境监测等各个行业均有物联网应用的尝试,许多行业都已经积累了不少前沿的案例。在物联网与云计算的快速发展趋势下,随着社会对身体健康问题的日益重视,形成了面向智慧医疗和健康物联网的应用研究,基于物联网的社会医疗健康服务网络主要面向社区和农村基层医疗单位,利用个人生理信息智能感知和采集设备,通过物联网应用中间件平台及接入网关,实现目标人群与后台医疗信息化服务及医疗服务资源的对接,真正实现物与物,物与人以及人与人的全面信息交换和服务网络。其中中间件数据处理平台是针对物联网应用特点而设计的开发平台和基础框架。它的主要作用是隔离底层传感网络与上层应用,屏蔽底层不同感知及识别设备在通信协议、数据格式等方面的差异,为上层应用开发提供统一的数据处理、网络监控、应用开发以及服务调度接口,从而简化传感器网络的部署和相关应用开发。物联网中存在着不同厂商的各种型号的传感器和RFID设备,而这些传感器协议不同、结构性能各异,其采集的数据结构也不尽相同。大型物联网的系统中一般都会有许多RFID标签,多种读写器设备,甚至来采用协议不同,自不同设备厂商。物联系统中的微型计算处理设备更是五花)kf-/,它们的数据结构也没有遵守一致结构。物联网系统模块间传送的数据格式也包括很多数据格式,或文本数据,或者图片形式、视频格式等多媒体类型的数据,有静态数据,也可能是流数据类型。数据的多态性、感知设备的异构性导致了数据的异构性【¨,物联网的应用模式和架构互不相同,没有可批量应用的系统方法,这是数据多态性和异构性的根本原因。显然,物联网中的结构越大,使用的智能采集终端结构类型就越多样化,协议和数据的异构性问题会越严重,大量的异构性特征极大增加了数据分析处理及系统研发的工作量和难度。物联网往往是由若干个无线识别的物体彼此连接和结合形成的动态网络。在医疗卫生监测等实时监控领域,如无线传感网就需记录多个节点的各种信息,数据量也是大的惊人,每天可达甚至能带到TB级别以上。目前流行的数据库管理模式和系统很难处理多源海量异构的数据、在储存及处理分析的过程中面临着很大的问题。信息爆炸,海量数据处理的出现,迫使传统数据库要在技术上进行革新,面向应用层面,海量数据处理已成为现在信息科学发现及研究的基础;面向技术层面,海量数据处理将会是传统数据库技术的一次变革,是物联网和云计算发展的必然趋势。在医疗健康领域,数据同样呈现为以下特点:数据源分散且海量数据;高度异构化;半结构无结构化。针对各个智能终端在数据采集过程的预处理还不够,针对海量异构数据,随着物联网应用,越来越多行业相关的海量数据产生。因而迫切需要引入新的计算技术对数据进行过滤清洗,数据分析挖掘处理。传统数据库对海量.2. 万方数据东北大学硕士学位论文第1章绪论数据的实时访问分析、恢复及备份、有效的数据挖掘等方面的需求还有很多的不足之处。针对海量数据存储也面临能耗及空间等制约因素。因此需要研究物联网具体应用中海量数据的存储机制,研究分布式文件系统及集群技术,研究快速检索技术,研究数据备份和数据归档的机制,研制大规模并行分布式的数据存储系统和数据处理系统。物联网,是一个汇聚了数据收集、数据交换、数据处理、具体业务应用的集成化平台,其应用的关键问题也是集成问题【lj,只有通过有效的技术集成将上述技术整合在一起,形成完整的数据采集、数据交换、数据处理、数据应用平台,才能实现物联网的真正应用。结合日益增长的数据量,在数据处理方面需要结合云计算的相关技术,在数据处理平台形成医疗健康云,健康云是基于个人健康记录,由卫生和健康服务部门在后端的云计算平台对收到的可用数据进行数据检索、数据分析、数据挖掘等工作。在云计算平台的支撑下,大量的健康监测数据不需要人工去计算和分析,通过在云数据处理平台研究开发面向大数据的分布式智能算法,可以快速转换成实用方便当健康指导信息,并可以按照需要发送给个人健康智能终端,适时提醒用户需要注意什么问题;还可以了解个人每天都运动量是否为合适状态,以便引导人们更健康的运动和健身。1.2国内外研究现状IBM对物联网方面的研究很早就开始了探索,并在2008年年底提出了智慧地球的概念,并且也形成了一个较为系统的理论,希望将新一代的IT技术应用到各行各业当中。智慧地球也被称为智能地球,就是把智能传感设备嵌入和装置到电网、铁路、桥梁、医疗、交通、食品等各项工程当中,并且被普遍连接,形成物物相互连接的网络,然后将这种网络与现有的互联网整合起来,实现社会与自然物理系统的整合。针对智慧地球的重要组成部分的智慧医疗,IBM提出了5个热点领域,分别为整合交付网络/整合交付系统IDN/IDS(IntegratedDeliveryNetwork/System)、医院资源规划管理ERP(EnterpriseResourcePlanning)、个人健康记录PHR(PersonalHealthRecord)/eHR/eMR、医院信息系统HIS及信息数字化医院,并针对健康保健、慢性病管理和社区医疗提出了“智慧的电子健康档案及基于循证医学的个人健康管理"方案。采用传感器、融合通信和移动数据库技术,提供便捷、即时、持续的医疗服务。IBM医疗信息交换平台HIE采用了IBMd的中间件产品和医疗卫生行业IHE规范,实现了对医疗卫生结构之间文档共享的管理。循证医学研究与应用可使人们智慧的应用医学健康知识,对患者提供有个性化的服务,BlueStore的分析结果可作为屏蔽药物不良反应的临床证据;BlueStore是IBM开发的基于云计算的数据分析平台,有对药物不良反应报告的高效分析能力,可以发现药物与不良反应的关联性。在美国,物联网已经有了充足的发展,在公共设施、传感设备技术,各行业发展程一3. 万方数据东北大学硕士学位论文第1章绪论度上,美国都走在当今世界的前沿,并且具备完善的通讯网络,创造了一个良好发展的物联网的机会。尤其在健康物联网方面,早在2004年,美国健康和国民服务部就设立了卫生信息技术协调官的职位,启动了全民电子健康档案项目,逐步建立了全国的健康信息网络。奥巴马上台后,推行了一系列医疗新政,宣布先期投资200亿美元来用于发展电子健康档案信息技术系统。欧盟也早已经体察到云计算和物联网基础平台在物联网结构中的核心重要性,是世界范围内第一个系统提出物联网发展和管理计划的机构。从2005年开始资助了Hydra项目,这是一个研发物联网基础平台和网络化嵌入式系统软件的组织,已经取得了不少成果。《欧盟物联网行动计划》在2009年也在欧盟开始执行,保证了物联网在欧洲发展的低位,并且规划了自己的发展战略,目标是在物联网智能设施上处于世界领先。随着物联网迅速发展及欧美各国相应的制定出符合其本身的物联网发展的国家战略,2009年,温家宝总理在无锡考察时对物联网的发展提出了三点要求,一是把传感系统和3G中的TD.SCDMA技术结合起来,二是在国家重大科技专项中,加快推进传感网的发展,三是加快速度建立适合中国的传感信息中心,或者叫感知中国中心【21。从这开始,我国开始把物联网作为我国未来重要的发展战略。目前在中国也有很多传感器、传感网、RFID研究中心及开发基地,许多研究人士都希望尽快建立相应的行业标准。由于中间件的数据处理在物联网整个系统架构中所处的重要地位,很多国家、企业以及一些组织都已经投入到了中间件的设计开发中,mM、Oracle、微软等软件巨头都是引领潮流的物联网中间件生产商,SAP等大型应用软件公司的产品也都着手于中间件产品,国内的许多软硬件厂商也开始着手进行了物联网中间件数据处理产品的研究和开发【2】。作为互联网的全新范例,对于物联网的研究还处于初级阶段。目前,一些物联网数据清洗和数据挖掘方面的研究,主要包括以下几个方面:在数据转换与过滤清洗问题,由于医疗健康数据很多是高维数据,在非结构的数据处理过程中,可参考XML数据清洗技术及降维处理方向进行研究。由于XML文档可以用树结构来描述,因此树相似度描述方法可以用来描述XML文档数据之间的相似性。树编辑距离是一种著名的衡量树之间相似度的方法,用于表示从一棵树变换到另外一棵树需要增加、删除或者修改标签的最少结点数量,Demaine等人提出了在O(n3)时间内计算出树编辑距离的方法【3】。Milano等人提出基于覆盖的XML对象距离的算法【4】,两颗XML树S和T之间的覆盖定义为可以建立的映射的最大结点数目,S中的S可以映射到T中的一个结点t,当且仅当它们从根到叶子的路径相同。XMLDup系统【5】贝IJ使用了贝叶斯的方式描述了XML数据的相似性,这个模型中的贝叶斯结构也可以表示成树结构,以两个XML数据叶子上值之间相似度作为贝叶斯结构当中叶子上的先验概率,..4.. 万方数据东北大学硕士学位论文第1章绪论对于两条数据来说,它们的相似性可表示称为一个概率,这个概率由这两个元素的子节点相似性对应的条件概率计算得到,故两个XML数据之间的相似性定义为其根结点的相似性即可。文献[6】就讨论了用贝叶斯网络描述XML文档相似性过程中的优化策略,其策略是将XML文档向量化,使用训练学习的方法确定文档的新结构。在数据分析工具的方面,如RieraLedesma针对数据数清洗时局部错误数据提出的分枝切割算法和启发式求解算法f_7】等;在ETL工具方面,Lee等人也根据数据挖掘过程的学习环境提出的诊断、预测与合成模型【8】等。在RFID数据流方面,HectorGonzalez等人提出一个存储RFID数据的独特模型【9J,能在保护对象转变同时提供重要的压缩和路径依赖总量,提出了RFID立方体保持了三个表:信息表,能储存产品的路径依赖信息,停留表,保存了数据所在位置信息,地图表,存储用于结构分析的路径信息。HectorGonzalez等人提出一种用来压缩概率工作流机制,能够捕捉运动和特殊的RFID流动异荆10】。ElioMasciari等人研究了RFID数据流的孤立点挖掘算法⋯J。ChenZhuxi等人提出了RFID应用的频繁闭合回路挖掘算法1121。JaeGilLee等人提出了对于运动目标的轨迹聚集提出了一个划分聚集的框架【l引。在对传感器数据的数据挖掘方面,JoydeepGhosh提出了一个一般的概率框架,在计算及记忆的约束条件下的监督性学习【l引。BetsyGeorge等人提出时空传感器模型(STSG)去模拟和挖掘传感器数据【l51,STSG模型能够发现不同类型的模式:位置异常模式,在每个时段集中定位和节点的未来热点。ParisaRashidi等人研究开放了一种对于传感器数据类型挖掘的新奇的自适应挖掘框架,以适应数据的变化【l引。在物联网网格数据挖掘模型中,P.Brezany等人提出一种叫做GridMiner的基础设施,它支持分散式的在线分析处理和数据挖掘fl71。A.Congiusta等人讨论了设计方面和服从WSRF网格服务的实施选择问题【l引。VladoStankovski等人提出的数据挖掘网格模型【191,并且利用Hadoop实现的调度算法,实现了MapReduce网格数据挖掘系统。在健康物联网的大量异构的数据中发现可利用的信息数据对实现智慧医疗上层应用起着基础性的作用,但是在健康物联网中,针对大量数据特征的数据处理和挖掘的方法肯定要区别于传统的数据挖掘方法。健康物联网海量数据的挖掘方法应面向具体医疗应用,采用改进的方法对各式各样的数据进行过滤清洗聚类、分类、频繁模式等方面的处理,为医护人员提供有效的健康数据信息。从全球范围来看,现代医学正在进入4P时代,非常重视社会的参与性。4P医学模式即预防性(Preventive)、预测性(Predictive)、个体化(Personalized)和参与性(Participatory),4P医学模式会更加强调人们的参与性,重视日常生活行为对疾病发生发展的重要性,强化对人们生活行为的干预以达到预防疾病、控制发展早期治疗的目标。由此带来的数字医疗和健康预防要向基层社区和家庭方向发展,越来越多的健康信息智能采集终端融合在我们身边,更加有利于重视发展健康一5. 万方数据东北大学硕士学位论文第1章绪论数据在传输、处理、挖掘和展现等相对较薄弱的领域研究。通过上面对健康物联网及数据处理目前发展状况的介绍,从中能看到针对健康物联网海量数据分析处理的研究获得了不少成绩。但是现有的健康物联网数据分析处理的研究主要还是面向某一具体方向的,例如针对RFID数据流的处理或面向无线传感器网络的数据处理,都还很少全面考虑物联网数据的复杂多源、异构和分布式等特点。而且现有的数据处理技术主要都是用于针对特定的数据格式的数据,不是对所有信息集合都有效,同时对目前的健康物联网海量数据处理技术的算法复杂度和效率分析也相对较少。由于对健康物联网海量异构的信息处理的研究还不具有一般的系统性,连贯性,这是下一步特别需要研究探讨的问题。要求信息化在继承已有成果、深化应用的基础上,进一步全面提升,再上水平。尤其对医疗健康物联网海量信息数据处理、数据搜索等提出很高的要求,为了应对智慧健康物联网对海量数据处理的迫切需求,本文通过对Hadoop的HDFS和MapReduce两个核心关键技术深入分析研究的基础上,提出了在虚拟化资源管理平台上搭建基于Hadoop的动态可伸缩的海量数据处理原型平台,并给出其技术架构、实施方案以及实例分析,最后对海量数据处理平台的优势进行分析。与传统基于物理机部署的Hadoop分布式并行计算系统相比,通过虚拟化平台创建Hadoop虚拟服务器模板,不仅可以快速完成Hadoop分布式并行计算系统的部署,而且可以有效利用计算资源。当前许多研究把MapReduce计算模型应用到数据挖掘中。比如,K.Cardona等人实现了基于MapReduce的网格数据挖掘系统,并用基于MapReduce的调度算法验证了该系统的高存储性和高运行速度特性【201。Joos.HendrikBose等人实现了几个基于在线MapReduce的并行的增量式数据挖掘算法,包括NaiveBayes、PCA,并验证了所提出方法可以大大加快大数据集交互分析并提高数据流挖掘的可伸缩性【2¨。Cheng-TaoChu等人使用MapReduce编程模型实现多个算法,包括LocallyWeightedLinearRegression,LogisticRegression,NaiveBayes,SVM,ICA,PCA,GaussianDiscriminantAnalysis,EM和Backpropagation,并在多核处理机上实现了一个简单的MapReduce系统【22】。Das等人使用MapReduce实现了MinHash聚类算法和ExpectationMaximization算法,并将它运用于推荐中,为客户提供经常关注的类似消息【231。TingLiu等人使用一个MapReduce集群上使用ANN算法(ApproximateNearestNeighboralgorithm)实现了图像聚类【24J,并在算法中使用了溢出树作为其数据结构。在健康物联网的分布式数据处理平台中,主要是基于云计算进行海量医疗信息的数据存储,实现数据的分布式存储和并行访问,通过业务协同等技术整合现有的医疗系统和平台,提供统一的远程数字医疗服务平台,建立智能化的数据仓库,利用数据挖掘智能分析技术,建立相关远程医疗和数字医疗的智能决策分析模型,通过研究分析现有医.6. 万方数据东北大学硕士学位论文第1章绪论学模型,综合智能算法、概率论与数理统计、聚类、分类、神经网络、机器学习等数据挖掘算法,对医疗健康数据进行进行分布式数据挖掘工作,发现共同特征,识别关键点,为上层应用对疾病的预测、分析与诊断治疗提供有效的参考。1.3本文主要研究内容及贡献面向医疗健康服务的通用健康物联网,本文主要设计研究的是健康物联网数据处理流程的中的若干主要的分布式数据挖掘算法,数据处理挖掘过程算法主要是基于Hadoop数据处理平台搭建的,实现主要功能是接收智能采集终端的生理信息数据,统一数据格式,过滤海量数据,快速挖掘产生有用信息,为上层医疗专家科学预测提供可信任的模型。数据处理过程主要包括对数据加载转换预处理,基于Hadoop数据清洗,重点研究分布式数据挖掘算法,包括分布式DKBAC聚类算法,分布式随机森林及分布式关联规则等主要数据挖掘算法。本文的研究内容主要包括以下几个方面:1.物联网数据处理的分析。从物联网的角度分析数据处理和挖掘的重要性,对已有的数据处理和数据挖掘方法进行分析。了解常用的数据处理和数据挖掘技术,并且介绍目前对于海量数据处理方法和实践。2.研究健康物联网和分布式数据处理、挖掘中算法实现的关键技术,特别是对进行数据处理的运行平台Hadoop进行详细研究,主要有Hadoop中HDFS模块,MapReduce模块,HBase模块及MapReduce编程模型在Hadoop平台中的实现。3.研究数据清洗模块算法设计及与Hadoop平台的结合问题,为分布式数据挖掘提供数据保证。这就是数据交换平台的数据处理,主要是针对大量的智能采集终端产生的大量重复,异常等冗余数据进行过滤处理。结合Hadoop的MapReduce及Hadoop的Hive模块研究海量数据的高效可行分布式数据清洗算法并进行过滤流程的设计。4.对过滤清洗后的人体生理信息数据进行基于Hadoop的分布式数据挖掘处理,首先主要结合了蚁群算法的特点,设计研究了基于Hadoop的DKBAC分布式聚类算法。该聚类算法主要是根据生理信息对病情聚类,主要分为三个阶段,每个阶段都是需要仔细设计分布式任务。5.为了对人体生理信息进行有知识的分类和对病情因素关联分析,研究了基于Hadoop的随机森林并行分类算法,基于Hadoop的FP.Growth并行关联规则算法。为了对以后医护应用快速开发模型算法,总结了基于Hadoop数据处理平台的编写数据挖掘算法的重点关心问题,提出了分布式数据挖掘算法的一般设计原则及适用范围。6.部署Hadoop及Hive等实验环境,基于此环境对所研究设计的各种分布式数据清洗算法、分布式数据挖掘算法进行了具体实现,并对本文介绍的分布式算法的性能指标进行比较测试分析和复杂度分析。.7. 万方数据东北大学硕士学位论文第1章绪论本文的主要贡献是对健康物联网的数据处理挖掘方面,在基于Hadoop的数据处理平台下对数据清洗、挖掘算法进行了总体设计,设计了异构数据加载预处理的方法,设计实现了分布式各类数据清洗算法,重点研究各种分布式数据挖掘算法,其中研究设计实现了基于Hadoop的分布式DKBAC聚类算法,并与分布式Kmeans与模糊K均值聚类算法进行性能指标的比较分析。针对分布式数据挖掘算法的不成熟性,具体设计研究了随机森林算法的分布式流程,分布式FP.Growth关联规则算法,设计MR流程,这里充分考虑了数据的完备性,在提升时间效率时,使其准确性和传统串行单机算法的结果保持一致,并通过这些分布式数据挖掘算法的研究,得出了设计实现分布式数据挖掘算法的一般性原则和适用范围,为以后实现更多分布式挖掘算法指明了方向。最后通过实验部署分布式环境,对其各种算法进行实现,对性能指标的进行测试分析比较。1.4论文组织结构及课题来源本文共分为七章,具体内容安排如下:第1章,绪论。首先介绍物联网中问件数据处理算法的开发背景,研究目的。分析国内外的研究现状,根据本课题,介绍课题研究内容,给出论文结构安排及课题来源。第2章,健康物联网相关技术概述。讨论研究健康物联网的体系结构,中间件,并对采用的Hadoop各模块原理进行介绍分析。第3章,健康物联网数据处理总体流程和设计。研究并设计了基于Hadoop的健康物联网数据处理流程所处的环境及平台,研究设计数据预处理加载,数据清洗算法,分析设计健康物联网的主要分布式数据挖掘算法。第4章,基于Hadoop的DKBAC聚类算法设计与实现。从普通数据挖掘扩展到基于Hadoop的分布式数据挖掘,并应用到健康物联网的数据处理平台,便于对智能采集终端采集的数据进行分布式数据挖掘,提高效率,并设计结合蚁群算法,提出了一种基于Hadoop的DKBAC聚类算法,并设计与分析实现。第5章,基于Hadoop的数据挖掘算法设计与研究。基于Hadoop设计研究了分布式随机森林分类算法和分布式FP.Growth关联规则等主要分布式数据挖掘算法,并对分布式数据挖掘算法的设计原则和适用范围做了分析研究。第6章,实验部署与结果分析。对实验环境进行部署系,对上述若干分布式数据挖掘算法进行分析测试评价,并对这些分布式算法根据性能指标进行分析评价。第7章,总结与展望。总结全文的内容和创新内容,并提出下一步研究目标。本文得到国家自然科学基金资助项目(61070162,61225012),部委高新技术项目(MOE—INTEL-2012—06,211-2010-jd-05,CNGl2012—08),国家重大专项课题项目(2011578)的资助。.R. 万方数据东北大学硕士学位论文第2章健康物联网及相关技术概述2.1健康物联网及其体系结构中国生物医学工程学会及中国电子学会健康物联专委会秘书长宋瑜研究员表示【251,健康物联网的核心指导思想始终是以人的健康为中心来解决人的健康问题,要把提高或恢复人与自然和谐相处的自身能力放在首位,而不是仅仅针对疾病本身,互联网解决了人与人之间的交流,物联网则是解决人与物甚至物与物之间的交流,极大地扩展了互联网的应用领域。健康物联网具备互连性、协作性、预防性、普及性、安全性以及创新性的特征。互联性指无论患者身在哪里,管理医生都可以通过物联网,查看患者的健康档案和病历,并与其他专家进行会诊,为患者提供最好的治疗和护理服务。协作性指通过专有的医疗网络,记录、整合和共享医疗信息和资源,实现不同医疗部门之间的信息交换和协同工作,为患者提供一体化服务。预防性指健康物联网能够根据对患者历史身体体征的挖掘预测,及时发现重大疾病即将发生的征兆,进而进行快速、有效的响应。普及性指能够突破大医院与普通医院的观念限制,提供全民性的高质量医疗服务。安全性是指在没有授权的情况下,确保个人医护信息的安全。创新性指健康物联网能够革新传统的医疗模式,激发更多健康领域的创新发展。加快研究实现具备这些特征健康物联网,实现健康国人的中国梦。基于物联网的社会医疗健康服务网络面向社区和农村基层医疗单位,利用个人生理信息智能感知和采集设备,通过物联网应用中间件平台及接入网关,实现目标人群与后台医疗信息化服务及医疗服务资源的对接,真正实现物与物,物与人以及人与人的全面信息交换和服务网络。健康服务的内容应该包含:个性化的健康检查、个人身体健康信息档案、针对慢性病健康跟进、健康信息维护方案、家庭健康远程监护、健康咨询和全程绿色就医等一系列人性化的服务。目标人群可以在任何地点,任何时间可以查看到所有采集、就诊、住院、体检信息;以智能算法为导向,用户可以实现对本人的健康状况及时掌握;同时,通过将采用物联网技术的医疗设备引入会员家庭,将专业医疗服务家庭化,让会员在家即可以向专业医生咨询,询问自己关注的医疗信息。故健康物联网应具有由智能采集终端组成的感知层,由Hadoop数据处理平台组成的数据层,以互联网技术为基础的网络层,实现各种功能预测的应用层,完成物联网的感知、传输、存储、数据处理、预测应用的一系列过程。基于Hadoop的健康服务物联网应用体系如下图2.1所示。一9. 万方数据东北大学硕士学位论文第2章健康物联网及相关技术概述网络运营服务平台嘲健康物联网。应用层、、-、i/、tj一互联网,移动网\i·⋯⋯一。...,‘≈.∥一÷t社区医疗图2.1健康物联网应用体系框架Fig.2.1Theapplicationsystemframeworkontheinternetofthingsinhealthcare信息感知和采集层主要由小型化多功能生理指标采集设备和装置和物联网应用中间件平台及网关组成,负责完成目标人群生理指标及健康参数的感知、采集、传递以及网络接入。支撑数据层,即基于Hadoop的数据处理平台,在健康物联网起着基础性的作用,基于医疗信息化基础设施及M2M等物联网应用支撑平台,通过数据中心、专家系统以及门户网站的建设,为医疗健康服务及扩展应用提供运行保障。在此层次上,重点解决医疗健康信息的融合及处理以及不同系统问的数据共享及分发技术,为上层医护应用提供科学预测提供数据和模型的支撑。健康服务应用层利用信息采集层的信息及支撑管理层平台的服务,实现对医疗资源的整合,并依据目标人群的实际情况和服务需求,提供个性化的医疗健康服务及应用。2.2健康物联网中间件中间件并不是健康物联网中的独有的概念,但是针对物联网应用特点,需要大量设计中间件部分的开发平台和基础框架。它的主要作用是隔离底层传感网络与上层应用,屏蔽底层不同智能感知设备在通信协议、数据格式等方面的差异,为上层应用开发提供统一的数据处理、网络监控、应用开发以及服务调度接口,从而简化健康物联网的部署和相关应用开发。健康物联网中间件是实现下层智能采集终端和上层医护服务系统之间的数据传送、过滤清洗、根据相应规范转换数据的中间部分,位处于健康物联网的服务应用层、感知层与网络层的ARM设备当中。本文探究的中间件为服务应用端数据处理一10一曩、帮隰一蚤 万方数据东北大学硕士学位论文第2章健康物联网及相关技术概述平台的中间件,也称为健康物联网业务基础中问件。物联网中间件扮演底层数据采集节点和应用程序之间的中介角色,中问件可以收集底层硬件节点采集的数据,并且对数据进行处理,将实体对象格式转化为信息环境下的虚拟对象;同时,上层医护服务端可以使用中间件平台所提供一系列通用的应用服务接口(API),即能连接,控制底层硬件节点。这样一来,即使存储信息的数据中心或上层支撑应用服务对软件程序进行更新,或者底层智能采集终端设备的数量改变等情况发生时,服务应用端不需要修改也能够处理,有效的把复杂的多对多连接问题简化处理,同时增强了服务应用的可复用性。本文研究的健康物联网数据处理平台可以看做是实现的一种中间件技术作为应用开发。2.3健康物联网感知层技术健康物联网感知层相关技术主要有RFID技术、无线传感网技术、低能耗通信技术、多业务用户体验质量控制技术、体域网技术、定位技术、安全技术及核心芯片研制技术等。在基础传感设备上,当前许多的芯片制造商,分别从他们各自擅长的领域积极参与到健康物联网和智慧医疗领域,促进了人体生理信息数据的采集技术成长很快。例如德州仪器MSP430系列芯片将传感信号采集和片上处理分析功能整合在一起;飞思卡尔也将在无线传感器方向的优势进一步加强和整合,加快推出了统一的集成传感器应用开发平台,比如开发的智能运动感知平台及高度平台等传感产品。感知层IEEE,ISO,ZigBee三大组织也积极参与到健康医疗的相关医疗标准的制定当中。健康物联网的信息传送和互联网类似,传输网络分为有线和无线两大类技术,结合现有的通信技术,分为四类基础网络。短距离有线通讯网,包括局域网、USB接口等;短距离无线通讯网,包括如蓝牙、RFID、Zigbee传感设备、传感网、无线局域网Wifi、WMN等方式;远距离无线通讯网,包括GPRS、3G、4G等蜂窝网技术以及真正的长距离GPS卫星移动通信网;远距离有线通讯网,包括Intemet,广播电视网和电信网络等基础网络。上面提到的低功耗的蓝牙与Zigbee传感器技术是两种短距离通信标准,相对于现有其他通信标准,具有良好的可易用性、电源功耗较低、传输速率较快和稳定性较好,更适宜部署。体域网,即无线躯体传感网【2刚,是附着在人体身上的一种网络,由一套小巧可移动、具有通信功能的传感器和一个身体主站(或称BAN协调器)组成,每~传感器既可佩戴在身上,也可植入体内。协调器是网络的管理器,也是BAN和外部网络(如3G、WiMAX、Wi.Fi等1之间的网关,使数据能够得以安全地传送和交换。用于连续长期的对人体生理信息(体温、血糖、血压、呼吸频率、心率等)进行无线监测,通过对数据的采集、融.11. 万方数据东北大学硕士学位论文第2章健康物联网及相关技术概述合和分析处理,实现对人体健康情况的实时监测和跟踪治疗。无线体域网相当于把人体看成通讯网络的一部分,在身体器官上部署各种智能采集终端,接收这种可穿戴,可移动的数据,这些将会随着健康物联网的普及,将融入人们的日常生活。体域网中传感器节点如图2.2。幽2.2体域网中传感器节点位置图Fig.2.2Thepositionofthesensoronbodyareanetwork2.4Hadoop及相关子模块概述现代社会的信息增长速度飞快,这些信息中又包含着大量有用数据。我们需要对这些数据进行分析处理,以获得更多有价值的信息。我们这时选用Hadoop系统存储管理和分析这些数据。Hadoop最早起源于Nutch,2008年1月,Hadoop成为Apache的顶级项目,迎来了它的快速发展期。Hadoop使用者完全不需要深入理解分布式系统内部的底层的具体实现细节,也不需要拥有深厚的分布式开发技术的情况下,同样的可以实现一个开源的分布式系统框架,完成自己的分布式程序开发的需求。该框架是参考Google云计算三驾马车MapReduce,GFS,Bigtable[27】的相关内容编码实现的。2.4.1分布式文件系统HDFSHDFS‘281(HadoopDistributedFileSystem):是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上,它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集(LargeDataSet)的应用处理带来了很多便利。.12. 万方数据东北大学硕士学位论文堑兰主堡垒塑壁堕型!茎垫查垫垄——————————————————————————__——————————-————————————————————————————————————————————一一Hadoop整合了许多文件系统,它定义了一个综合性的文件系统抽象,它提供了文件系统实现的各样接口,HDFS也是该文件系统抽象的一个实例。提供了一个高层的文件系统抽象类org.apache.hadoop.fs.FileSystem,该抽象类就是一个分布式文件系统的接口,从而可以进行具体的实现。HDFS是一个主从(Mater/Slave)体系结构【461,从最终用户的角度来看,它就像传统的文件系统一样,可以通过目录路径对文件执行CRUD(Create、Read、Update和Delete)操作。但由于分布式存储的性质,HDFS集群拥有一个NameNode和一些DataNode。NameNode管理文件系统的元数据,DataNode存储实际的数据。客户端通过同NameNode和DataNodes的交互访问文件系统。客户端联系NameNode是为了得到文件的元数据,而真正的文件输入输出操作是直接与DataNode进行交互的。2.4.2分布式编程模型MapReduceMapReduce采用的是分而治之的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单地说,MapReduce就是任务的分解与结果的汇总,在MapReduce领域许多学者结合各自领域做出了不少研究,ChristopherYang等人在分布式系统下实现了MapReduce的容错恢复机制【29】,AbouzeidAzza等人结合MapReduce技术和DBMS建立并行数据库模型,分析数据【30】,并在实际应用给出了案例[3l】。FriedmanE等人集合在MapReduce和SQL实现UDF(UserDefinedFunction)模型做了具体研列321。StonebrakerMichael等人在MapReduce和并行数据库之间做出了比较分析【3引。文献[34],[35]也在并行处理方面肯定了MapReduce的框架的数据处理能力。在Hadoop中,用于执行MapReduce任务的机器角色有两个:一个是JobTracker;另一个是TaskTracker,JobTracker是用于调度工作的,TaskTracker是用于执行工作的。一个Hadoop集群中只有一台JobTracker。在分布式计算中,MapReduce框架负责处理了并行编程中分布式存储、工作调度、负载均衡、容错均衡、容错处理以及网络通信等复杂问题,把处理过程高度抽象为两个Map和Reduce过程,Map主要负责把任务分解成为若干个任务,reduce负责把分解后多个任务处理的结果汇总规约起来【331。重点说明的是,使用用MapReduce框架来执行任务时,程序算法涉及的数据文件必须可以分解成若干小的数据分片,并且这些小数据分片都可能够在集群的各个节点分布式的并行运行。在Hadoop数据分析处理平台中,执行的每个MR任务都会被相应的初始化为一个Job,每个Job任务又可以分为两种阶段:Map阶段和Reduce阶段。这两个阶段分别用两个函数表示,也就是相应的map函数和reduce函数。map函数接收一个形式的输入【34】,然后同样产生一个形式的中间输出,Hadoop函数接收一个!tll形式的输入,然后对这个value集合进行处理,每个reduce产生O或1个输出,reduce的输出也是形式的。MapReduce的运行模型如下图。MappersReducers一一一一一一一.1厂——~。一一一一一⋯一⋯一厂—-。⋯一.~.]\、、一v一/\——V——/L飞——/、——V——7、——V’——√L—、‘——√InputMiddleResultOutput图2.3MapReduce的运行模型Fig.2.3TheoperationmodelofMapReduce2.4.3分布式数据仓库HiveHive[361是一个构建在Hadoop上的数据仓库平台,是Facebook的信息平台的重要组成部分,Facebook在2008年将其贡献给Apache,现已成为Apache旗下的~个独立子项目。Hive是基于Hadoop的一种类SQL数据仓库的基础设施,通过专注结构化数据,可以实现MapReduce一般不具有的一些优化与可用性功能,将Hadoop技术推广给更多的数据分析师和非分布式专业人士。Hive定义了简单的类SQL查询语言,称为HQL,HQL与SQL有着相似的操作,它允许熟悉SQL的编程的开发人员能够轻松向Hadoop平台转移。Hive平台提供了一个对SQL语句的解析过程,可以从外部输入接口获取命令,对用户输入的指令进行解析。Hive可将外部的指令解析成一个Map.Reduce可执行计划,并按照该计划生成的MapReduce任务后交给Hadoop集群进行处理。Hive的结构可以分为以下几部分:用户接口层:包括CLI,Client,WUI。其中最常用的是CLI,CLI启动的时候,会同时启动一个Hive副本。Client是Hive的客户端,用户连接至HiveServer。在启动Client模式的情况下,需要指出Hive服务器所在节点,并且在该节点启动HiveServer端【37】。WUI的功能则是通过浏览器的形式来访问Hive。Hive在元数据存储方面。通常是存储在标准的关系数据库如Mysql,Derby等.14. 万方数据东北大学硕士学位论文第2章健康物联网及相关技术概述RDBMS中。其中的Metastore是Hive元数据的集中存放位置,Hive分为三种模式连接到相应的数据库,分别是内嵌模式,独立模式,远程模式,这些通过具体的数据库位置和通过配置文件进行相应设置。解释器、编译器、优化器、执行器。主要完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS中,并在随后有MapReduce调用执行。Hadoop利用HDFS文件系统进行存储数据信息【371,首先,Hive没有自己独自的数据存储格式,也没有为数据建立相应的索引,用户可以非常自由的组织创建的Hive中的表,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。Hive中主要包含以下数据模型:表(Table),外部表(ExternalTable),分区fPartition),桶(Bucket)。其次,利用MapReduce进行计算Hive的数据存储在HDFS中,大部分的查询由MapReduce任务完成(包含一些的查询,比如select宰fromtbl就会生成相应的MapRedcue任务)。下面图2.4为Hive的基本框架图。图2.4Hive的基本框架图Fig.2.4ThebasicframeofHive由于Hadoop是海量数据处理系统,任务的延迟性比较大,所以每个MapReduce任务提交和执行的过程中会有一定的时间消耗。类似的,在Hive处理的数据集的过程.15. 万方数据东北大学硕士学位论文第2章健康物联网及相关技术概述中,在执行语句过程中同样的会有延迟的情况发生,这样,Hive的性能就不可能很好地和传统的MySQL等数据库进行比较了。Hive不能够对数据的排序和查询方面的功能,也不能够提供传统数据库能提供的在线事务处理分析的能力,尽管Hive也不提供实时的查询功能和记录的更新,但Hive确能够更好地处理不变的大规模数据集上的海量日志任务。所以,Hive最大的价值是具有很强的可扩展性,由于Hive是基于Hadoop数据处理平台的,故可以自动的适应集群节点数量和处理数据大小的动态变化;Hive结合了MapReduce和UDF的功能,故具有很强的可延展性,并且拥有良好的容错功能和较低约束的数据输入格式。2.4.4Sqoop技术Sqoop[381是一个开源工具,用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL,Oracle等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中,提供其进一步处理。Sqoop抽取出来的数据也可以被MapReduce程序或者上文提到的Hive模块分析处理。文献[39】.[43】也都从不同侧面研究了Hadoop的相关技术,包括数据处理能力,负载均衡等方面。2.5数据挖掘算法数据挖掘是在大型数据存储库中,自动的发现有用信息的过程,是大数据中知识发现必不可少的一部分,知识发现是将未加工的数据转换为有用信息的过程【471。厩对数据分析产生的伸缩性、多维性、异构和复杂性、数据所有权与分散性等各种问题,需要根据统计学,人工智能、最优化、信息论等知识建立相应的模型,对数据进行挖掘分析处理。数据挖掘可以分为两大类的任务,预测任务,这是根据其他属性的值,来预测特定属性的值;描述任务,这是导出概括数据中潜在联系的模式。2.6本章小结本章介绍了健康物联网应具备的基本特征,介绍了其体系结构,分析了物联网中间件的重要性,感知层的相关技术,尤其是体域网的重要性,对Hadoop及相关子模块,分布式文件系统HDFS,分布式编程模型MapReduce,分布式数据仓库Hive和其他健康物联网相关技术进行了概述。一16. 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程和设计3.1健康物联网数据处理的总体流程随着物联网和云计算技术在健康物联网中的广泛应用,特别在是通过感知层的智能采集终端自动识别采集医疗及病人信息并存档后,这些宝贵的健康信息对于疾病的诊断、治疗及医疗研究都有很大的价值。如何灵活利用这些信息,对这些数据进行数据处理、挖掘以达到记录、观察、分析、监控照护等功用,提升院内病患安全与院外病患健康,实现疾病治疗、预防、并最大限度的利用医疗资源,维护民众的健康,日益为大家所关注。可见数据处理部分是健康物联网核心技术中最为重要的一环。海量、实时的健康生理信息被智能采集终端传送到系统后,怎么对这些复杂、海量、异构的数据进行有效的清洗、处理、挖掘并得到相应的预测结果,这样就可以传达给监护医生有效的指标,医护人员将结合预测结果能够对病人进行有效的指导,这些将是健康物联网技术的核心。数据处理平台作为健康物联网智慧的来源,在高性能计算、云计算和普适计算的支撑下将网络内海量的信息通过计算分析,形成一个互联的大型健康智能网络,为上层服务管理和行业应用建立起一个高效、可靠和可信的技术支撑平台。利用云计算技术构建医疗数据库,使其能够更好的为数字医疗和远程医疗提供准确、全面的诊断信息和治疗措施。所以在数据处理平台中对医疗生理信息的数据挖掘至关重要,对健康信息进行数据预处理操作,信息融合,开发研究快速、鲁棒的挖掘算法,是健康物联网能否普及应用的关键。所以在数据处理中心设计研究高效率的数据处理算法非常关键。健康物联网数据处理挖掘工作主要是基于健康物联网数据处理平台进行研究实现的,这里采用云计算中的Hadoop分布式框架进行分布式数据处理,由于Hadoop分布式文件系统HDFS是以支持大数据集合为目标的,故利用HDFS对健康物联网产生的异构海量数据进行分布式存储;根据具体需求,分别采用Hive分布式数据仓库和MapReduce编程模型对智能终端采集的数据进行数据清洗过滤,删除冗余信息;由于采集到的数据背后隐藏着大量有用的信息,希望能够对其更高层次的分析,为医学人员提供科学的预测模型,需要对分布式存储的数据进行分布式数据处理挖掘,为上层医疗服务应用提供有用,高效,具有可预测的服务。下图3.1为健康物联网数据处理所在平台的总体框架图,这个框架主要描述了基于Hadoop数据处理的流程走向,通过数据加载转换为统一的数据格式,分布式存储,然后根据医疗需求对数据进行分布式数据清洗和分布式数据挖掘。一17. 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程和设计一/一———————————————、、hWeb服务接1:3j\\.—..............—...........—..一,77图3.1健康物联网数据处理总体流程Fig.3.1ThebasicflowofdataprocessingbasedontheInternetofthingsinhealthcare健康物联网数据处理平台的文件数据存储采用云计算技术,基于Hadoop集群的分布式文件系统HDFS进行存储,由于在海量异构智能采集终端收集的数据可能存在冗余,异常数据,故需要对数据进行分布式数据清洗,对清洗后的数据,可基于Hadoop数据处理平台设计分布式的数据处理算法,这里主要研究分布式数据挖掘算法,得到为上层应用需要的信息。对于具体的算法流程,主要是基于设计的健康物联网数据处理平台进行的,首先对于从智能采集终端采集的数据,加载预处理为统一数据格式的数据,基于Hadoop分分布式文件系统HDFS进行存储,根据具体的业务需求,对数据进行数据清洗预处理,把清洗后的数据进行分布式数据挖掘分析,这也是本文研究的重点,设计分布式的数据挖掘算法,以更高效率处理健康物联网中的海量数据,为上层提供更有效的分析与支撑。3.2异构数据加载转换设计由于健康物联网智能采集终端的多样性,采集到的信息大多可能是异构的,所以中间件数据处理数据加载转换模块应具有数据接收和转换功能。转换为针对某项应用的统一格式的XML数据或者有规范格式的数据库数据,为数据处理挖掘及上层应用屏蔽感知层不同硬件设备传输的差异。故针对不同数据协议设备发送的数据需编写XML转换配置文件接口,并建立面向不同应用的数据表示规范,供上层数据处理。结合XML与XMLSchema的优点,这里参照在互联网领域已有的一个数据交换接口标准XML(ExtensibleMarkupLanguage,扩展标识语言)研发形成统一的医疗健康数据交换接口。XML的模式XMLSchema支持各种各样的数据类型,用来描述XML的结.18. 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程和设计构和数据类型,它本身也是一种XML,可读性强。引入了命名空间,用户可自定义数据类型,通过建立相关的映射机制,可将不同的XMLSchema进行转换。这里当调用相应数据解析模块进行数据转换时,采用读取配置文件的方式进行。根据不同的智能终端感知层协议,编写相应的配置文件转换接口,这样只需要修改配置文件,就可以把数据转换为供数据处理的统一数据格式。为了提高了模块的可扩展性。故转换配置文件也采用XML文件进行描述。在这里针对配置文件及数据表示规范的XML设计应该满足下列几方面的条件:为了能够有效快速的解析XML文件信息,找到发送给上层应用所需要的数据,这里设计的XML要合理化,不需要嵌套过多的子标签;XML文件的标签名称能够明确反映出其所代表的内容信息,便于以后维护;XML文件储存内容也要尽量完整,信息要能反映出使用某种技术的节点的对应的相关解析方法。数据预处理转换模块的作用如图3.2所示。数据处理及上层服务应用JL基于业务规范的格式基于协议的数据转配置文件换配置文件JLRFI。螽集终ZIGBEE采集Bluetooth采l终端集终端图3.2数据预处理转换模块作用Fig.3.2Theroleofdatapreprocessingtransformationmodule图3.3血糖监测规范的XMLSchema设计Fig.3.3TheXMLSchemaofmonitoringglucose数据表示规范是数据在数据交换平台中的统一表示格式。数据表示规范制定的决定了数据转换任务的效率,数据交换规范要充分考虑到应用的扩展性,考虑到实际应用的可能性,为以后形成相关的行业标准打下基础,这样才能充分实现用户和服务的需求。根据真实世界对象和实体及分类的思想,应先使用XMLSchema进行相应业务规范配.19. 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程和设计置,建立各种针对各种应用服务的数据文档规范。如血糖监测业务的XMLSchema设计可如上图3.3所示:与此Schema相对应的XML数据表达格式大体如下:3</Uid>ZIGBEE</Node__protocol>Glucometer</Node_Application></Node——Info>2012-05—20T10:03:36</Data—time>张=</Data_person>6.6</Data—value></Data——Info></Node——Data>文件说明::根节点。:描述某采集终端的基本信息。其中子标签分别为终端唯一序号,使用的协议及终端用途。:描述采集终端传送的数据信息。其子标签分别表示是测量时间,被测量人及测量值。从上面XML数据文件得出的信息为:3号ZIGBEE类型终端血糖仪在2012.5—20日10:03:36测得张三的血糖值为6.6mmol/L。3.3分布式数据清洗算法设计健康物联网数据处理平台从智能采集终端中接收的海量异构数据中蕴含了大量信息,这些信息尽管是医疗健康服务的数据基础,但是健康物联网数据仓库系统中有可能存在着大量的脏数据,由于智能采集终端协议不同等原因导致的数据缺失属性值、时间间隔短、采集数据异常、有效数据值重复等错误。即使Hadoop健康数据处理平台非常成熟,处理效率很高,对于冗余数据也必须清洗,因为这些数据可能对上层医护预测带.20. 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程和设计来错误,为了清除脏数据,必须在数据处理平台当中进行数据清洗。其中可先利用基于MapReduce程序迸行数据清洗,清洗后的文件存入HDFS后,为了进行更加有针对性的数据挖掘研究,可以继续将数据导入Hive数据仓库,进行基于Hive数据清洗,为下面的数据挖掘工作打好基础。数据清洗平台基于总体框架的流程如下图3.4所示。图3.4数据清洗平台的流程Fig.3.4Theflowofplatformfordatacleaning数据过滤清洗就是读取加载的大量数据,根据某种原则,过滤掉许多多余冗余的数据,为上层打下坚实的数据基础。由于数据量很大,所以在集群中部署分布式数据清洗的方案。主要是基于MapReduce编程模型和具体的清洗规则进行相应的实现。3.3.1数据清洗的MR模型流程分析本文所设计的算法,包括数据清洗算法都是基于Hadoop的数据处理平台进行分布式设计与研究的,有必要详细分析下主要编程模型MapReduce的详细过程与源码【49,5们。每个具体的MapReduce任务主要包括作业的提交,Map任务的分配和执行,Reduce任务的分配和执行,作业的完成四个步骤。每个具体的任务又分:准备输入,算法的执行,输出结果三个过程。为了更加详细了Map和Reduce阶段的内部流程,需要详细分析内部伪代码。JobTracker是整个MapReduce计算框架的主服务,首先分析JobTracker的启动过程,具体的过程如下:步骤1:首先从HDFS读取作业对应的jobsplits,进而划分数据分片。步骤2:根据上一阶段划分信息设定Map任务的个数,并创建Map任务,为每个Map任务产生一个TasklnProgress处理输入的一个分片。步骤3:把MapTask放进nonRunningMapCache,这样方便在JobTracker向TaskTracker分配Map任务时候做好准备。步骤4:根据配置信息,设置ReduceTask的个数。步骤5:创建Reduce任务,将把ReduceTask放进nonRunningReduces中,这样方便在JobTracker向TaskTracker分配Reduce任务时候做好准备。步骤6:根据已经配置的信息,创建和初始化MapTask及ReduceTask。为了更好地了解Map阶段的内部流程,下图3.5详细描述了Map阶段的具体内部详细流程。·’1. 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程和设计图3.5Map阶段的具体执行流程Fig.3.5ThespecificimplementationprocessoftheMapphase3.3.2基于MR的数据清洗算法设计为了在健康物联网数据处理平台中建立数据清洗框架,这里使用基于Hadoop框架进行编码实现,通过分析过滤智能采集终端采集的数据,将原有的清洗过程转换为MapReduce模型进行并行数据清洗。由于具体业务需求不一致,可以根据具体业务需求编写具体的MapReduce任务进行数据清洗操作。如对于异常过滤器,Map阶段只需要判断划分的value值是否满足业务要求的长度,对于业务过滤器,M印阶段根据具体服务调用相应的属性值判断函数,判断value划分的值是否满足业务要求,对于时间过滤器,在Map阶段里通过判断相同id号划分Key值,在Reduce阶段通过相同Key值的比较对数据分析,同样在相似度过滤器中,可调用根据具体的value划分值(属性值)进行相似度判断函数。总体上设计的Map阶段处理数据分片主要划分相同Key值,在Combiner和Reduce阶段对相同Key值的数据依据各种原则进行过滤清洗处理。下面主要介绍Hadoop数据处理平台主要采用的几种过滤功能。.22. 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程和设计异常过滤器:对于待清洗数据,首先进行异常冗余数据的检验,这里主要对于数据是否完全重复且基于服务的数据长度是否一致进行判断。这里可采用轻量级的算法。具体的基于Hadoop的伪代码如下。算法3.1异常过滤算法垒!塑垒塑里三:!坠里垒!墅堕壁塑堕塑塑垒!鱼!堡生篁基于Hadoop的异常过滤Input:源数据文件(keyl,valuel)Output:输出的去重复及异常后文件(key2,value2)1:Mapper阶段:2:foreachuservaluelefiledo3:if(sLen(value1))then4:context.write(valuel,“”);//把value值转为key5:else6:return;7:endif8:endfor9:Reducer阶段:10:context,write(key,”’);∥按key值只输出一次,达到去重目的。业务过滤器:应与具体支撑应用平台密切相关,在上层应用中,系统使用者或许只关心有需求和有权限的信息,数据处理器响应具体Web服务时,根据用户传送来的标签进行匹配,匹配成功,则输出相关数据,不匹配则过滤掉查询到的信息。例如可以定义以下几个规则:只选定某个型号的智能终端的数据,产品号及版本号等信息;限定具体时间,地点以及应用人及相关信息。对于可能存在异常的孤立数据进行业务判定。对于不匹配的数据进行过滤处理。时间过滤器:根据数据的时间记录进行过滤,可以根据业务要求指定时间戳。不妨设交换平台收集到的数据可表示成(Uid,Protocol,Application,TimeStamp),四个标识分别代表唯一标识编号,应用协议,业务,时间戳。这里面Uid为面向各种应用的值采用的是同一标准编号,故可作为哈希表的Key值,根据定义的时间缓冲值TimeBuffer,当读取到新相似数据时,检查在哈希表中是否有同一Uid传送的数据,若存在且TimeStamp值差小于TimeBuffer,则,将此数据过滤处理,大于则认为是新收到的有用数据,并更新哈希表数据时间。若不存在此Uid,则将该节点插入到哈希表。相似过滤器设计:对于XML数据的清洗,检测相似重复数据是个重要的问题,而且相应业务标准XML可以表示为有序号树,每个节点对应相应数据节点,故可采用树.23— 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程和设计编辑距离算法或其他相关智能算法来判定相似性。当然,根据具体上层应用不同,数据清洗的流程应具体分析设计。下面是一种具体过滤清洗的流程。图3.6一种MR数据过滤清洗流程图Fig.3.6AkindoffilteringflowbasedonMR上面其中每个过滤器都是一个MapReduce过程,对于基于Hadoop的MR数据清洗工作,充分考虑了海量数据的特点。这里可以把各种基本的过滤器设计成接口形式,具体业务可以调用不同的接口,根据各种组合可以设置为不同的流程模式,进行具有针对性的流程化数据清洗。3.3.3基于Hive的数据清洗设计Hive是类SQL的MapReduce查询实现,它可以轻易的使用任何放置在HDFS中的文件作为源文件,进行快速的MapReduce操作。由于Hive的本质是将类SQL语句转换为一系列MapReduce程序,所以使用Hive进行数据清洗时,是一个基于Hadoop框架的并行化过程,其整体扩展能力,由Hadoop集群框架决定。Hive在Hadoop数据分析处理平台中负责对类似的SQL语句解析的过程,它提供了对外接El用来接收用户的指令,之后在对其指令进行分析,解析成一个MapReduce程序创建一个可执行任务,并依照这个任务生成相呼应的MR任务提交给Hadoop处理平台进行处理,执行结束得到相应结果。当Plan计划生成时xml的方式保存在HDFS文件系统中,共有两份,一份是存在HDFS中不删除,一份保存在HDFS缓存区内,执行结束后会删除。任务划由根任务与子任务构成,整个任务计划可能会包含多个MapReduce任务和非MapReduce任务,一个MapReduce任务中的执行计划也会包括子任务,当该MapReduce任务做为一个Job提交的时候会根据执行计划里的任务流程进.24. 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程和设计行MapReduce处理然后汇总进行下一步操作。在整个的任务执行中,经历了语法解析,生成执行Task树,生成执行计划,分发任务,MapReduce任务执行任务计划的这样一个过程。具体接收指令后的执行流程如下图。图3.7Hive接收HQL任务流程图Fig.3.7TheflowchartofreceivingHQLinHive为了在基于Hadoop的数据处理平台下实现基于Hive的数据清洗,需要执行以下几个步骤:1)在Hadoop集群中安装Hive支持。2)使用Hadoop内置命令行上传数据文件到HDFS中。3)在Hive中根据文件格式创建相应的表。4)编写HQL语句对数据进行清洗,选择具体子集,为下面的分布式数据挖掘做好准备。当在Hive集群中执行该语句后就可以在HDFS中配置的输出目录看到相应的输出文件,文件的输出的数目由设置的reduce数目来决定的。3.4分布式数据挖掘算法设计健康物联网的数据挖掘主要针对目标人群的长期健康档案。这些健康档案信息类似于现实中我们的档案,只是这里通过体域网技术,信息化记录了人们相应阶段的生理信息特征。包括基本身体健康信息数据,如身高、体重、生活习惯、疾病史、家族病史、用药史、治疗情况、病情衍变过程、各项健康指标的长期规律等。结合各项健康指数的变化规律,与数据库中已建立的疾病模型对照,及时科学的对可能产生的疾病进行预警,.25. 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程和设计并提出预防保健建议。对已出现的疾病的临床治疗提供帮助患者可以清晰地看出自己身体健康的情况,病情发展趋势、药物对自身的疗效等方面,来制定下一个阶段健康保健的决策。这将为早期诊断和早期治疗提供可能,并可以避免重复检查、重复用药和错误的病情判断。例如高血压疾病患者根据对自己血压值和血糖值的监测,系统结合医疗知识库中的“高血压疾病分析模型”为患者给出下一阶段降压方面健康建议。3.4.1健康物联网数据挖掘的必要性面向医疗健康领域物联网信息处理的知识发现有待研究。研究面向诊疗服务流程优化的知识发现技术,以获取系统且全面的观点或方法解决特定健康服务问题。医疗健康数据中存在着很多潜在的、不明显的、重要的信息。通过数据挖掘对医疗信息数据进行抽取、清洗、转换、规约,获取潜在价值的数据,建立起综合性,科学型,准确性的医疗信息知识库。在对特定目标病例数据的分析中,将疾病的数据特征化,使目标疾病的先期征兆,病情衍变史,并发症等治疗流程具有概念性和可比较性,为基层医护人员提供指导,缩小地区之间信息资源的分配不平等。使患者可自行根据知识库对照自我检查,以便警示隐患者有目标的就医检查,在病情的早期发现并得到治疗。基于数据库的知识发现(KDD,KnowledgeDiscoveryDatabase)的研究已经取得了不少进展,比如基于关联规则的方法、基于机器学习的方法、粗糙集及模糊集方法、智能计算方法等。出现了一些知识发现系统,比如IBM公司的Quest系统、GTE施压是的KEFIR系统、SKICAT系统等。这些系统实现总结性知识发现、相似模式挖掘、周期性知识发现等功能。健康生理信息的知识发现流程如下图3.8所示。在医疗健康领域,对数据源抽取出相应数据,对数据预处理操作,这包括把数据转换为统一的数据格式,过滤清洗冗余数据,接下来就是利用人工智能、概率论、数理统计相关知识建立相应的预测挖掘模型,研究数据挖掘算法,建成医疗健康信息知识库,本文采用分布式算法进行实施,当面向海量异构数据时,在基于Hadoop的分布式环境下进行分布式数据挖掘,大幅度提升了数据挖掘的速度,医学人员诊断的效率和有效性提升,从而快速对患者病情进行预测指导。医疗数据源抽取的数据预处理后的数据挖掘到的信息医疗健康信息鬻一撩》龟一翠数据抽取数据预处理知识发现知识表示图3.8医疗健康知识库的建立流程Fig.3.8Theestablishmentofthehealthknowledge一26. 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程和设计数据挖掘服务层数据清洗层数据管理层数据收集层图3.9基于云计算的数据挖掘服务模型Fig.3.9Dataminingservicemodelbasedoncloudcomputing由于健康物联网要挖掘的信息源中的数据大多是海量的,而且以指数级增长,因此扩展数据挖掘算法处理大规模数据的能力,提高运行速度和执行效率,已经成为一个不可忽视的问题。本文在云计算平台Hadoop基础上,设计研究并行分布式数据挖掘平台,提供了一系列分布式挖掘算法和ETL操作组件,开发的并行数据挖掘算法绝大多数达到了线性加速比;可实现TB级海量数据的并行挖掘分析处理,可运行在成百上千个节点组成的Linux集群环境下,具有高可扩展性;多个工作流任务可在Hadoop数据处理平台中的任意节点同时启动,互不干扰;利用心跳包技术,可自动处理失败节点,具有高容错能力;开放式架构,算法组件可通过简单配置方便地封装加载到平台中:Java开发,提供系统日志,可管理能力,具有较好的可移植性;基于云计算平台Hadoop的HDFS对数据进行管理和维护。基于Hadoop云计算的健康物联网数据挖掘服务模型框架如上图3.9所示。基于这个框架,对感知层采集终端传送来的数据,分布式数据过滤清洗后,需要设计若干快速、鲁棒的分布式数据挖掘算法,以为医学专家提供科学的预测模型,让远程医疗更具意义。.,7. 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程和设计3.4.2数据挖掘模块算法设计与分析基于Hadoop的数据处理平台的海量数据挖掘并行算法,由于关键是面向大量数据,核心研究方向就是数据挖掘算法的分布式研究。Hadoop处理平台主要采用的MapReduce编程模型对数据进行分析处理,需要对现有的数据挖掘算法进行改造,根据每个算法的具体特性,分析是否可以MR化,进而进行分布式编程,实现算法部署蛩]Hadoop平台,计算效率并改进模型及程序。基于Hadoop平台的分布式海量数据挖掘算法主要包含分布式关联规则算法、分布式分类算法和分布式聚类算法,利用这些算法进行有效的对数据找出关联规则、分类、聚类,找出依赖关系模型、发现异常和趋势等,从而为医护人员的分析提供数据和模型支撑。数据挖掘算法不可避免的要进行的迭代处理,Hadoop数据处理算法采用了不同的迭代方式,每轮迭代的输出又是下一轮迭代的输入。通过管理中间数据和每轮实现任务的位置可以获得较高的效率【42】。在文献【43】中讨论了基于MapReduce系统的多路连接算法的最优实现。在设计面向医疗健康物联网数据挖掘算法的过程中,首先根据具体业务需求设计传统的串行数据挖掘算法,为了能够对大数据量进行快速的处理,改进传统串行数据挖掘算法,分析设计为相应的分布式算法,在对分布式算法进行设计的过程中,需要仔细设计每个MR过程,确保各个数据分片的相对独立性,切断相互之间联系后能够通过相应算法设计进行修复,并证明与串行算法结果的一致性。然后在具体详细设计主要的分布式数据挖掘算法,部署实现及性能分析。下面对分布式的DKBAC算法,分布式随机森林算法、分布式关联规则等分布式算法进行设计。聚类分析郴l是根据在数据中发现的描述对象及其关系的信息,将一个将数据集划分为若干组或类的过程,并且能够使得同一个组内的数据对象具有较高的相似度,而不同组中的数据对象则是不相似的。相似或不相似的度量是基于数据对象描述的取值来确定的。通常就是利用对各对象间的距离来进行描述。聚类分析是一种观察式学习法(1eanlingbyobservation)。根据聚类算法所使用的两种不同的基本策略,可以把聚类算法分为两类。一类称为层次或凝聚式聚类算法。这类算法开始将每个点看成一个聚簇,簇与簇之间按照接近度来组合,这里的接近度可以根据不同的需要采用不同的策略定义。当进一步的组合导致非期望的结果时,组合过程结束。另一类算法主要是点的分配过程,即按照某个顺序依次考虑每个点,并将它分配到最合适的聚簇当中。目前在聚类算法中,面向海量数据聚类的分布式算法主要还是面向各种业务的K均值聚类算法,因为该算法部署简单,有效。由于Kmeans是随机初始化聚类中心,并且简单的根据欧式距离进行划分聚类,具有局限性。本文为了能够对海量健康数据进行更好的聚类,得出更好的结果,采用分布式Canopy算法初始化聚类中心,并结合蚁群信.28. 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程和设计息素的特点,利用人工蚁群中的状态转移矩阵进行改进聚类算法,这就是下一章详细设计的DKBAC聚类算法。并分别在Hadoop数据处理平台上实现两种聚类算法,对聚类算法的执行时间及准备率进行比较分析。在基于Hadoop的DKBAC分布式聚类算法中,主要是根据MapReduce模型进行编程,这时就需要仔细设计原始算法的流程,具体哪一步是适合MR模型的。本文分析DKBAC算法主要分为三个阶段。阶段一:为统计蚁群全局信息素的收集阶段,这个阶段是全局搜索各个聚簇相关的信息素信息,为下一阶段计算状态转移概率进行聚簇做好准备,这个算法基于一个MR编程模型执行的。阶段二:根据信息素计算得到的状态转移概率进行聚簇,更新信息素。这个阶段首次执行需要对数据转换数据结构,故需要两个Map和一个Reduce进行结合设计,以后的每次迭代都是因为上一阶段的输出已经是所需要的格式,故需要一次Map与Reduce即可。阶段三:统计更新聚类中心阶段,并与上一迭代过程生成的迭代中心进行比较,判断是否进行下一次迭代,这个阶段也是基于MR编程模型进行分布式设计。这里只是对本文提出的DKBAC聚类算法进行总体的研究分析,下面的第4章对该算法进行分布式验证,并对其详细研究设计与实现。为了更好的为医护人员提供模型支撑,本文在第五章设计了基于Hadoop的随机森林算法和FP.Growth频繁关联规则算法,这两类算法分别是把传统的串行算法部署到Hadoop数据处理平台之上,这就需要考虑分布式的特点,数据进行分片后,怎样设计算法过程能够保证结果的一致性。随机森林算法由于需要建立若干颗决策树,串行算法肯定存在它的局限性,故非常适合分布式并行设计执行。对每个数据分片进行建立决策树,从而设计相应的MapReduce程序,这就是建树过程,在预测阶段,对预测数据进行分布式的预测,在进行聚合,也非常适合分布式处理。分布式的FP.Growth关联规则算法,由于各个项目之间存在相互联系,如果简单粗暴的进行分片,聚合,那么会割裂数据的频繁项。所以这里的设计过程需要仔细研究,这里采用了分组的策略,对数据项进行分组处理,分配到不同分片,从而实现与单机关联规则算法结果的一致性,应用于医疗健康领域,不仅保证了结果的正确性,也大幅提升了时间效率,具体详细分析研究过程参考第五章的设计。通过研究这些基于Hadoop的主要的分布式数据挖掘算法,找出在Hadoop平台下设计分布式数据挖掘算法的一般性原则及适用范围,为研究其他快速、鲁棒的分布式数据挖掘算法提供参考。为健康物联网下医学专家提供更多的医学预测模型提供了理论基.29. 万方数据东北大学硕士学位论文第3章健康物联网数据处理总体流程扣设计础。3.5本章小结本章主要设计了健康物联网数据处理挖掘的总体流程,介绍了数据加载预处理的方案,提出了一种健康物联网的数据规范,并对转换配置文档提出的设计要求,根据业务需求对分布式数据清洗操作进行了详细描述,并对重点研究的分布式数据挖掘算法中的DKBAC聚类算法、分布式随机森林算法、分布式关联规则FP.Growh等算法进行了总体研究分析设计。.30. 万方数据东北大学硕士学位论文第4章基于Hadoop的DKBAC聚类算法设计与实现第4章基于Hadoop的DKBAC聚类算法设计与实现4.1蚁群算法机制原理1991年M.DIorigo等人利用蚂蚁的特性,用软件实施了一个以蚂蚁为基础的系统,被称为蚁群算法(AntColonyAlgorithm),以解决TSP问题。利用这个算法就能够把蚂蚁偏爱的路径结合成一条较短的完整路线。蚁群中,每个蚂蚁相互之间是通过一种称为信息素的物质进行信息传递的,蚂蚁在运动过程中,能够在它所经过的路径上留下信息素,每个蚂蚁在运动过程中能够感知这种物质,总是选择信息素浓度最大的路径,进而以此指导自己的前进方向,因此选择信息素浓度最大的路径的蚂蚁越来越多,从而更促进了该路径信息的浓度增快,因而蚁群智能一种信息正反馈系统【48】。我们因此可以根据这一特点模拟人工蚁群,人工蚁群相对实际的蚁群,具有信息素衰减的机制,具有记忆性,时间是离散的等特征。蚁群智能是多蚂蚁的聚集行为,信息素是这个系统的标石。基本蚁群算法的寻优机制主要包括两个基本阶段,即蚂蚁适应阶段和后期协作阶段。具体的人工蚁群的主要步骤如下:步骤l:初始化时间t和迭代步数nc为0,蚂蚁数量m和最大循环次数nmax,初始化r∥△f∥将m个蚂蚁置于n个顶点上。步骤2:将各蚂蚁的出发点置于解集中,对蚂蚁k(七=1,2,...,m)按转移概率磁转移到下一个顶点歹,更新解集(将J置于解集中)。蚂蚁k(k-1,2,...,m)根据各条路径上的信息量决定转移方向,t时刻蚂蚁k从地点i处转移到地点J处的状态转移概率露(t)计算式为黔裟警一,,礞(f)=等等等(4.1)厶一qlq在上式中,,∈allowedk,k∈allowedk,allowedk=徊,l,...,n-I}-tabut表示蚂蚁七下一步允许选择的节点。与自然蚁群系统不同之处在于人工蚁群系统具有一定的记忆力,tabu。(k-1,2,...,m)用于记录蚂蚁k所走过的地点,集合tabu。随着进化过程进行动态调整,叩“表示由地点i转到,的期望程度,可根据具体问题选择不同启发算法具体确定,这里采用算法为距离的倒数。_31— 万方数据东北大学硕士学位论文第4章基于Hadoop的DKBAC聚类算法设计与实现%=1/吒(4.2)步骤3:计算各蚂蚁的目标函数值(该次搜索经过的路径长度),记录最好解。步骤4:按照公式4.3更新信息素操作。ro(t+n)=pr{『(f)+(卜p)Ar妒(4.3)△fF=∑△呓(4.4)在上式中,△f;表示第k只蚂蚁在本次循环中留在路径(f,力上的信息素量,Ar盯表示本次循环中路径(f,/)上的信息素增量。△菇:援若第职蚂蚁在f删刻经过路礅D(4.5)【0否则在上式中,Q是1个常数,表示蚂蚁所留的信息素量,厶表示第k只蚂蚁在本次循环中所走路径的长度.在初始时刻,%(O)=C,Ar盯=O(f,歹=0,1,...,,l一1)。步骤5:1次搜索完成,将△%置O,咒c++。步骤6:若,zc,keyl值是每个数据的记录在数据分片的字节偏移量,数据类型是LongWritable,valuel值为每行数据的内容,数据类型为Text。首先调用setup函数,利用Configuration类传递变量聚簇半径R值和Distributedcache文件传递机制读取聚类中心文件数据到本地变量。map函数依次读取数据分片的每个数据对象,计算此对象到各个聚簇中心的距离,若到该聚簇中心的距离小于R,就将该对象划分到该聚簇中,并将该数据对象到此聚簇的信息素初始化为l,否则初始化为0,这里可能每个数据对象被划分到几个类中。非首次迭代时直接获取上一次迭代中更新的信息素信息,输出的数据记录格式为,key2为某聚类的标识,value2为数据结构DataPro格式。首次迭代Mapl阶段的主要伪代码如算法4.1所示。算法4.1统计蚁群信息素Map阶段算法垒!趔堕塑兰:!!堑丛望业璺堕殳!塑垡!堕塑殳!尘篁塑!地塑里竺呈垒!艘堕堕统计蚁群信息素Map阶段.Input:源数据文件(keyl,valuel)Output:(key2,value2)分别代表Clusterld和DataPro(Text,count,phe).1:setup()读取分布式缓存中心文件及配置参数RKⅣ2:fori=O;i,输出为(key3,value3),key3为某聚类的标识Clusterld,value3为数据结构Pheromone格式,主要包括信息素,能见度,对象个数。Combinerl阶段的主要伪代码如算法4.2所示。算法4.2统计蚁群信息素Combiner阶段算法垒!g鲤些坚垒:兰坠皇堡业堡竺也垒塑里£!堕!堑堕Q!塑型地墅翌旦堡垒!哑垫统计蚁群信息素CombinerS#段Input:(key2,value2)输入为信息收集Map阶段生成的输出Clusterld和DataPro.Output:(key3,value3)分别代表Clusterld和Pheromone(phe,visi,collnl).1:setup0读取分布式缓存中心文件及配置参数RjC’,V2:foreachuservalueEDataPro(Clusterld)do3:Distance=getEnumDistance(value,center);4:vim=Q/Distance;//计算能见度5:visisum=visisum+visi;//为更新信息素做准备6:phesum=phesum+computePheO;7:count++;8:endfor9:context,write(key3,value3);3)Reducel阶段:Reducel阶段任务是接收来自各个节点Combiner的输出,它按照键值对中的键值对输入的数据进行排序,并且将相同键值归并,然后调用setup()函数和reduce0函数。setupO函数对配置参数进行读取,reduce函数中输入输出数据结构都是为(key3,value3),key3为某聚类的标识Clusterld,value3为数据结构Pheromone格式。主要任务是聚合各节点每个聚簇的信息素与能见度乘积的和f善@7善(≠)与Q/%0)的和,并输出到相应文件,这都是为下一阶段计算状态转移概率与更新信息素做相应的准备。Reducel阶段的核心伪代码算法4.3所示。一37. 万方数据东北大学硕士学位论文第4章基于Hadoop的DKBAC聚类算法设计与实现算法4.3统计蚁群信息素Reduce阶段算法————...——..———.Algorithm4.3TheReducephaseofstatisticsoftheantpheromonealgorithm.......——....—.统计蚁群信息素Reduce阶段.Input:(key3,value3)输入为Combiner收集阶段的输出Clusterld和Pheromone.Output:(key3,value3)分别代表Clusterld和Pheromone(phe,visi,colInt).1:foreachuservalueDataPro(ClusterlcOdo2:visisum=yisisum+visf:3:phesum=phesum+phe;4:count++;5:endfor6:context。write(key3。value3);//输出每个聚类中心的信息素,并存储在HDFS4.4.3蚁群信息素聚类的设计与实现1)Map2阶段过程:首次迭代需要对源数据文件信息素初始化及预处理操作。输入的数据记录,keyl值是每个数据的记录在数据分片的字节偏移量,数据类型是LongWritable,Valuel值为每行数据的内容,数据类型为Text。首先调用setup函数,利用Configuration类传递变量聚簇半径R值和Distributedcache文件传递机制读取聚类中心文件数据到本地变量。map函数依次读取数据分片的每个数据对象,计算此对象到各个聚簇中心的距离,若到该聚簇中心的距离小于R,并将该数据对象到此聚簇的信息素初始化为l,否则初始化为0。输出的数据记录格式为,key2为字节偏移量,value2为数据结构DataPro格式。2)Map3阶段:这个阶段是算法的核心部分,主要是读取各个聚簇的全局信息素,计算根据各个数据对象到各个聚簇中心的状态转移概率足,把数据对象归类到状态转移概率最最大的类别,并更新各自到各个中心的信息素。首次迭代输入的格式为上一个Map2的输出,为(key2,value2),以后每次的输入文件为上一次迭代的输出,数据格式(key2,value2),setup()函数读取上一个阶段的全局信息素与能见度及相应聚类参数。map函数主要功能是根据状态转移概率B进行聚类。输出格式为(key2,value2)。具体的核心伪代码如算法4.4所示。3)Combiner3和Reduce3阶段这两个阶段的主要任务是接收Map3阶段的输出,按键值对数据进行归并输出处理。并将数据集存在HDFS上,为以后更新聚簇中心及迭代的输入数据做好数据准备。输入.38. 万方数据东北大学硕士学位论文第4章基于Hadoop的DKBAC聚类算法设计与实现和输出格式为(key2,value2)。算法4.4蚁群信息素聚类Map阶段算法—.———..——————..———Algorithm4.4TheMapphaseofclusteringoftheantpheromonealgorithm————...——.—...————蚁群信息素聚类Map阶段.Input:(key2,value2)输入为上一阶段生成的输出Clusterld和DataPro.Output:(key2,value2)分别代表Clusterld和尸heromone(phe,visi,Count).1:setup()读取分布式缓存中心文件,信息素文件及配置参数RⅨⅣ2:fori=0;ipMax)then5:Clusterld=f:6:pMax=p;7:endif8:updatePhe();//更新信息素9:endfor1O:context,write(key2,value2);4.4.4统计更新聚类中心阶段的设计与实现11Map4阶段这个阶段主要目的是计算更新各个聚簇的中心。建立数据结构ClusterCenter,其中的参数分别为咒,s。,s2。分别代表各个节点的权重和,s,表示每个聚簇各个节点的加权和,s,表示每个聚簇各个节点的平方的加权和,由这几个参数可以算法聚簇半径radius。n2善w(4.7)2己W,..、l=UI’T·,Js。=∑tWi(4.8)S22∑i=O#w(4.9)由上面三个公式可以计算得出center2SI/n(4.10)阳舭:巫豆,l(4.11)这个阶段主要根据上一阶段根据状态转移概率输出的聚簇情况,根据该簇的数据对象,计算每个局部聚类中心ClusterCenter信息。计算局部聚类中心Map阶段的伪代码.39. 万方数据东北大学硕士学位论文第4章基于Hadoop的DKBAC聚类算法设计与实现如算法4.5所示。算法4。5统计聚类中心Map阶段算法垒!盟巫堡坚堡:兰坠皇M箜然塑旦£!堕熊塑殳!堂璺型箜殳!!地坐堂竖璺!曼旦堕塑计算局部聚类中-t二,Map阶段Input:(key2,value2)输入为上面信息素聚类阶段的输出Clusterld和DataPro.Output:(key5,value5)分别代表Clusterld和ClusterCenter(n,sl,s2).I:count=O;2:foreachuservalue∈DataPro(Clusterld)do3:count+=value,getcountO.gP故);4:s1+=Value;5:s2+=value奉value;6:endfor7:newClusterCenter(count,sl,s2);8:context.write(key5,value5);//输出局部聚类中心的信息2)Reduce4阶段这个阶段主要归并同一Clusterld的ClusterCenter信息,根据公式(4.7),...,(4.11)几个公式计算更新的聚类中心和聚簇半径。Combiner4阶段负责本地归并处理,而Reduce4阶段是归并来自各个节点的数据。输入和输出的格式为(key5,value5)分别代表Clusterld,ClusterCenter数据结构。3)判断本次中心与上次迭代中心的误差,若误差小于给定的阈值或达到最大迭代次数,则退出,结束聚类过程,观察结果;否则,略改动Mapl阶段的功能,转到4.4.2节的Mapl,Reducel阶段执行收集全局信息素工作继续依次执行,直到满足结束为止。4.5本章小结本章主要是针对健康物联网接收清洗后的生理数据进行分布式聚类算法研究,分析汲取蚁群算法的分布式信息素的特点,结合Kmeans聚类算法,MapReduce编程模型设计研究了分布式的DKBAC聚类算法,对DKBAC的原理方法进行了具体分析设计,并给出了并行化结果的正确性验证,并对DKBAC算法的三个核心阶段进行了详细设计分析与实现。为健康物联网对疾病的预测提供了分布式聚类模型。..40.. 万方数据东北大学硕士学位论文第5章基于Hadoop的数据挖掘算法设计与研究第5章基于Hadoop的数据挖掘算法设计与研究本章主要设计研究基于Hadoop的一些分布式数据挖掘算法,如分布式随机森林算法,分布式FP.Growth关联规则算法。并根据这些分布式数据挖掘算法,对一般的分布式数据挖掘进行总结,并找出适合分布式数据挖掘算法的原则和适用范围。5.1分布式随机森林算法设计与研究随机森林算法,主要就是用随机的方式建立一个森林,这里的森林是由许多的决策树构成,其中的每一棵决策树之间是没有关联的。在建成森林之后,当对新的输入样本进行预测判断分类过程当中,这时就让上一阶段随机森林中建立的每一棵决策树分别进行判断,决定这个数据样本应该属于哪一具体分类,最后计算各个类别被选择的数量,选择类别最多者为预测这个样本为的一类。因此随机森林是一个包含多个决策树的分类器,并且针对每个数据样本其输出的类别是由随机森林中决策树决定类别票数而决定。由于随机森林的随机性特点,选取样本数和属性数的随机性,并且要建立多颗决策树,故非常适合并行化方法,在健康物联网数据处理的分类过程中,可采用基于Hadoop的并行随机森林算法对数据进行分类处理。5.1.1随机森林算法随机森林是一个树型分类器{h(x,厦,k=1,...,n)的集合,其中每个元分类器五(‘级)是用CART算法构建的没有剪枝的分类决策树,x是输入数据向量,厦是独立同分布的随机向量,决定了单颗决策树的生长过程,随机森林的输出采用多数投票法(针对分类来讲)来组合预测。随机森林的每颗决策树都需要首先从所有属性中随机选择M个属性,在这M个属性中选择信息增益最大的属性对决策树的节点进行划分。信息增益是一种衡量特征信息量大小的方法,也应用于特征选择【47】。不妨设某个特征是变量X,它有n个取值,分别是五,X2,...吒,取到每一个值的概率分别是:A,仍,...,磊。变量的熵可以定义如(5.1)所示:mx)---ZP,1092P,i=1那么对每个类别标签Y的熵可以定义为(5.2)式:..41..(5.1) 万方数据东北大学硕士学位论文笫5章基于Hadoop的数据挖掘算法设计与研究mr)=-ZP(Y;)l092P(Y;)(5.2)i=1当根据具体的特征X确定时,类别标签Y的熵为下式:H(Yx)=一≥:PiH(YX=‘)(5.3)f=i信息增益是针对数据集的每个属性,就是相当于计算一个属性x,我们比较父节点的不纯程度与子女节点的不纯程度,计算这两者之间的差值,这就是信息增益【471。决策树含有属性X但是还没有确定的时候信息量为H(x),它表示的是包含根据属性X划分前的决策树的信息量,而HⅣIX)表示属性X确定时候的信息量。所以,对属性x的信息增益值为(5.4)所示:/G(rI彳)=日(】,)一H(Yx)(5.4)在每颗决策树的建立过程当中,每次都需要挑选信息增益值最大的特征,即认为该特征对分类的帮助最大,最具有鉴别能力。下面介绍串行随机森林的具体算法过程。步骤1:输入N个数据样本,这就需要每次可放回的随机选择N个样本,下面就利用这N个数据样本用来训练生成森林中的决策树。步骤2:如每个数据样本的属性值有M个,这里再次随机产生小于M的m个属性作为该决策树划分的属性值。在针对具体决策树进行根据属性值分裂时,这里就根据从这m个属性中,利用上面介绍的选择信息增益最大的方法来选择某个属性作为该次结点的分裂属性。步骤3:下面具体决策树形成过程中每个结点都要按照步骤2来分裂划分,如果下一次该结点选出来的那一个属性是刚刚其父节点分裂时用过的属性,则该节点已经达到了叶子节点,无须继续分裂了。一直到不能够再分裂为止。这里整个决策树形成过程中没有进行剪枝。具体每颗决策树信息增益的生成过程如下:输入为:令X为R*M矩阵,R表示此分区样本数量,M表示样本属性个数。Z甜表示其中f个样本的第.,个特征属性值。Y为R*I的向量,其中Z表示第f个样本的类别标签值。输出为:一颗提供分类的决策树。具体每颗决策树过程如下:步骤3.1:如果X的所有样本值都相同,或Y的所有类别标签相同,或者R<2,则产生一个叶结点,该结点的类别即是X中最多数的类别。否则执行步骤3.2。步骤3.2:从M个特征中随机挑选m个,这m个特征中,根据公式5.4分别计算各特征的信息增益最大的记为P。这个特征就是我们选择的最佳划分属性。这里针对实值属性和分类属性的n(rfX:f)略有差别。步骤4:按照上面步骤递归建立大量的决策树,这样就构成了随机森林了。.42. 万方数据东北大学硕士学位论文笫5章基于Hadoop的数据挖掘算法设计与研究从上面的步骤可以看出,当建立每一棵决策树的具体过程中,需要注意两方面内容,分别是随机采样过程与完全分裂的过程。首先是两个随机采样的过程,随机森林对输入的训练数据样本要进行样本,属性的采样。对于样本采样,采用有放回的方式,也就是在采样得到的样本集合中,可能有重复的样本。假设训练的样本数量为N个,那么对于每颗决策树采样的样本数量也应该为N,这样可以使得在训练样本的时候,每一棵决策树的输入样本其实都不是全部的样本,使得相对不容易出现过分拟合的现象。然后进行属性值的采样,从M个属性特征中,选择m个(m小于M)。对于完全分裂的过程,就是对采样之后的数据使用完全分裂的方式建立出决策树,这样这颗决策树的某一个叶子节点要么是无法继续分裂的,要么里面的所有样本的都是指向的同一个分类。对于很多的决策树算法都一个重要的步骤,即剪枝的过程,但是随机森林里面构造的决策树不需要剪枝操作,这是因为之前的两个随机采样的过程保证了随机性,所以就算不剪枝,也不会出现过分拟合。按这种算法得到的随机森林中的每一棵决策树其实也是比较弱的,但是若干颗决策树组合起来,就能够预测正确的分类结果。每一棵决策树就是一个精通于某一个专项领域的专家,因为我们在总共M的属性值中只选择了m个属性进行分裂,这样就会生成很多个擅长不同专项属性值分类的决策,面向新的测试数据的时候,能够用不同的视野角度去预测,最后由各个专项领域的决策树,结果组合预测分类。5.1。2基于Hadoop的分布式随机森林算法设计由于随机森林需要随机生成若干颗决策树,而且这些决策树之间没有联系,采用串行的方法时间效率会很低,由算法特性可知,随机森林非常适合并行分布式处理。可以结合Hadoop数据处理平台,根据随机森林算法的特点,并行建立决策树,并存储在HDFS上,在预测过程中,同样采用并行预测过程,最后聚合,输出预测结果。结合Hadoop的分布式随机森林分类算法如下图5.1所示。5.1.2.1数据预处理由于输入的训练样本数据集有可能是混合型数据集,这就需要对数据样本的字段进行标识描述。对于输入的数据需要生成Data和Dataset其中Data中记录的是每一条数据点,Dataset中记录的是数据格式。Dataset主要是由五个数据类型的数据结构构成:ignored表示会分类会被忽略的属性值,values表示样本中为分类类型的具体值,nbinstance是输入训练样本的数据量,attribute保存的为样本个行列的数据类型,labelld保存的是具体类别在样本中具体列值。预处理阶段的具体过程如下:步骤1:从HDFS或其他途径读取训练样本,对每行数据生成String[]类型数据。步骤2:通过DataLoader类中的方法生成数据描述格式Dataset。.43. 万方数据东北大学硕士学位论文第5章基于Hadoop的数据挖掘算法设计与研究Datasetdataset=generateDataset0;步骤3:存储Dataset操作,并保存在HDFS文件系统相应路径中。图5.I基于Hadoop随机森林算法流程图Fig.5.1TheflowchartofrandomforestalgorithmbasedonHadoop5.1.2.2构建随机森林步骤1:创建DecisionTreeBuilder类型的对象,并设置相应参数如输入路径,选择的属性个数m值及并行配置参数conf,并通过分布式缓存文件读取上一阶段产生的描述文件来解析输入样本文件。步骤2:创建随机森林阶段。这个步骤要就是利用MR编程模型,在map函数对数据进行各个分片的数据进行转换,在clean函数进行建树处理。分布式建立决策树的相关数据结构和函数过程如下:步骤2.1:读取训练数据的描述文件,读取参数,如建树个数,随机选取的属性数,配置并行参数,新建Job任务。步骤2.2:map函数把该数据分片的输入样本,转化为数据格式instances,并构造..44.. 万方数据东北大学硕士学位论文第5章基于Hadoop的数据挖掘算法设计与研究成分类处理的Data格式。步骤2.3:从输入样本中有放回的随机选取等大小的N条数据进行返回。步骤2.4:首先判断这些随机抽取的数据是否属性值全相同,利用isldentical(data)进行判断,若相同,则此时输出叶子节点。步骤2.5:在进行类别的判断,如若该分支下所有数据的类别值是否相同,则判断为叶子节点,使用data.identicalLabel()方法来进行判断,如果符合条件,这些data都是属于同~个类别。步骤2.6:随机选取m个属性值,对数据进行分裂attributes=randomAttributes0,并计算这m个属性分别的信息增益值,作为分裂属性值记录。步骤2.7:取得步骤2.6所选属性的取值范围,并根据该属性把data分为几个部分。double[】values=data.values(best.getAttr);Data[】subsets=newData[values.1ength];subsets[index】=data.subset(Condition.equals(best.getAt仃0,values[index]));步骤2.8:下面递归对subsets[i]进行划分,找出他的最佳分裂属性,进行建造决策树。for(inti=0;i孝(孝被定义为最小支持度阈值)。给定一个DB和阈值孝,这个问题就可以描述为在DB中寻找频繁模式集合,即为频繁项集挖掘问题。众所周知,Apriori算法144】在产生频繁模式完全集前需要对数据库进行多次扫描,同时产生大量的候选频繁集,这就使Apriori算法时间和空间复杂度较大。但是Apriori算法中有一个很重要的性质:频繁项集的所有非空子集都必须也是频繁的。但是Apriori算法在挖掘较长频繁模式的时候性能往往低下,为了改善关联规则算法的性能,这时JiaweiHan提出了FP.Growth算法【451。FP—Growth算法是一种对输入的样本数据压缩表示的一种策略,这个算法一共就扫描两次数据文件,首次扫描数据集时,确定每个项目的支持度计数,根据这个计算进行从频繁到不频繁进行排列。第二次扫描中所有数据集,就是构建FP树的构建过程,在挖掘的过程中,根据频繁阈值,通过递归地寻找和创建树,找到频繁项目集。尽管FP-Growth算法比Apriori算法优化了许多,但是串行的步骤也不可避免的遇..46.. 万方数据东北大学硕士学位论文第5章基于Hadoop的数据挖掘算法设计与研究到许多挑战性问题:首先是存储方面的问题。当数据量很大,挖掘一个大型数据库的时候,FP树结构也会非常庞大,可能出现存储内存困难,这就迫切需要分布式的进行处理,把海量数据划分为若干块,每块在相应的节点内存中进行构建FP树;其次是并行计算的问题,就是在构建树时,能够并行处理;最后就是阈值的选择问题,需要按照实际需求和设计来进行确定。5.2.2基于Hadoop的分布式FP.Gro嘶h算法设计在健康物联网里,当面向应用时,医疗健康数据必然是海量的,基于Hadoop数据处理平台,迫切需要设计研究分布式的FP.Growth关联规则的算法。怎样在Hadoop集群对FP.Growth算法进行并行化呢?首先就需要把需要的大数据集根据Hadoop的分布式原理,分块到各个节点当中,进行分布式建树和挖掘之后,在聚合,求出频繁项结果输出。建树的过程当中,那么这些数据分块会之间会有联系吗,能够相互独立建树而不影响最终结果吗?这个时候就需要详细的设计分布式的方案。首先在第一次扫描数据集的时候,分布式的计算每个项目频繁项数据。然后根据单个项目的频繁数目,通过某种原则对项目进行分组,根据分组情况,再次扫描数据集,把各条数据分配到相应的数据分块当中,这样每个数据分块对应着一个分组数据,这就可以保证对每个组中某个项目而言,该分区是可以独立的,并且对最后的结果没有影响,能够和传统的串行方法的结果保持一致,并大幅提高了效率。下图5.2为基于Hadoop数据处理平台的FP.Growth算法流程图,下面详细介绍分布式算法具体执行过程。步骤1:对数据集进行分块分区操作,这里只需要根据Hadoop的Map阶段前的默认的进行数据分片即可。步骤2:这个阶段即为首次的MapReduce任务,各个节点根据接收各自的数据分片,对数据分片对每个项目进行支持度计数,最后在进行聚合处理。步骤3:这里进行分组操作,根据上次输出的项目计数列表划分为N个组,每个组有组号Gid,包含一系列的项目集合及相应的支持度。步骤4:分布式FPGrowth阶段。这个步骤是分布式FP树算法的关键,这里也是利用MapReduce进行建树操作。Map阶段:本次Map的主要任务就是根据步骤3的组别情况,依次查看数据集各个事务,遍历查看该事务项目,首先查询到某个项目,并根据该项目的分组,把该事务分给该组数据集,并在此数据集中删除此数据项当中属于该组的项目,依次遍历,直到该数据项发送完。这样具有某个组别的项目的数据集都被聚合到一起,形成了各个相对独立的数据集,准备各个数据集的建树处理。Reduce阶段:根据Map阶段形成的各个相对独立完整的数据集,分别进行本地的.47. 万方数据东北大学硕士学位论文第5章基于Hadoop的数据挖掘算法设计与研究局部FP.Growth算法,下面分别进行局部的FP建树过程和频繁项挖掘过程。步骤5:聚合操作,将各个节点的输出结果进行聚合,并输出最终频繁项集。图5.2基于Hadoop的FP.Growth算法流程图Fig.5.2TheflowchartofFP—GrowthalgorithmbasedonHadoop5.2.3分布式关联规则算法的评价分析基:Y"Hadoop的分布式FP.Growth算法在效率上比传统的串行算法有了很大的提升,但是其也有不足之处。在对项目集进行划分各个分组时候,应该选择具有负载均衡特性的思想,这是由于如果不采用某种策略的话,频繁项比较高的项目可能会都被分在一组里面,那么这一组接收到数据特别多,这个节点数据处理压力偏大,与其他机器相比任务过重,集群的执行效率也会下降。并且,在实际生活的应用当中,关联规则的频繁项.48. 万方数据东北大学硕士学位论文第5章基于Hadoop的数据挖掘算法设计与研究挖掘可能挖掘出的结果暗示性较低,大家会感觉没什么用。这也许是规则产生的有些多,并不见得都是可用有用处的,另外许多的规则并能像啤酒与尿布这种经典的规则。应该应用更多的技术与经验于关联规则频繁项分析当中,可以把一些数据分析,统计学的知识应用其中,发现某种规则。5.3相关分布式数据挖掘算法及设计原则5.3.1基于Hadoop的其他分布式数据挖掘算法这里介绍的是分布式贝叶斯分类算法,贝叶斯分类是一种利用概率统计方面的知识进行分类的统计学分类方法。方法包括两个重要的步骤:训练样本和分类。在基于Hadoop数据处理平台的MapReduce模型下,可以分布式执行,其实现需要多次MapReduce作业完成,以对文档信息进行分类为例,训练样本可以由三个MapReduce作业实现:第一次作业主要负责抽取文档的特征;第二次作业主要负责计算类别的先验概率,即统计出每个类别的文档的数目,并计算类别的相应概率;第三次作业计算每个单词或信息的条件概率,即统计在所在文档中出现的次数并计算信息的条件概率。分类过程由一个MapReduce作业完成,Map阶段负责计算每个待分类文档属于每个类别的概率,Reduce阶段则负责计算出每个文档概率最大的类别,并输出结果。其中流程如下图5.3所示。图5.3基于Hadoop的贝叶斯算法流程Fig.5.3TheflowchartofBayesianclassificationalgorithmbasedonHadoop这里贝叶斯的计算先验概率和条件概率MR过程都只依赖于抽取MR过程,故可以.49. 万方数据东北大学硕士学位论文第5章基于Hadoop的数据挖掘算法设计与研究设计组合式MR作业流程控制程序执行,使其无依赖关系的两个MR作业并行执行,充分体现Hadoop数据处理平台的并行执行特点。其实各种基于Hadoop数据处理平台数据挖掘算法,深入理解算法的实现原理后,结合Hadoop的MapReduce编程模型,分配实施MR任务,详细设计MR过程,就可以完成相应的分布式数据挖掘算法。5.3.2基于Hadoop的数据挖掘算法设计原则基于Hadoop的MapReduce研究分布式集群数据挖掘算法,可以解决的问题有个共同特点:任务可以被设计分解成多个子问题,并且这些子问题彼此相对独立,不会牵制过多,各个节点并行处理完这些子问题后,任务便被解决。并且设计的分布式数据挖掘算法需要针对分片的数据集,要保证自身的独立性,不能把相互联系的数据进行割裂分析,挖掘的结果和传统串行算法保持一致性,并需能够证明实验结果的一致有效性。但是有些问题在MapReduce编程模型下难以解决。如递归问题,每个计算的结果都依赖于上一次的输出,无法将该类问题划分成若干个互不相干的子问题,因此难以用MapReduce处理;层次聚类算法,是应用比较广泛的算法之一。层次聚类采用迭代控制策略,对数据集根据相似性的判断标准,合并最相似的部分或者分割相似性最差的部分,可分为分解型层次聚类法和凝结型层次聚类法两种。其中每次迭代时,需要计算每两个对象之间的相似性,相当于每个对象与全局其他所有对象都有关联性,故该类为题不能被分解成若干子问题,不能利用基于Hadoop的MapReduce模型解决。5.4本章小结本章主要是根据具体健康物联网的业务需求,设计研究了基于Hadoop的分布式随机森林算法,FP-Growth关联规则算法。并简单介绍了其他相关基于Hadoop的分布式数据挖掘算法,如分布式贝叶斯分类算法。根据研究这些分布式数据挖掘算法,总结出了一般的分布式算法设计原则,并给出了其适用范围,为以后的更深入研究指明了方向。.50. 万方数据东北大学硕士学位论文第6章实验部署及结果分析本章将介绍根据现有的实验条件搭建部署Hadoop集群系统,在此环境下编写MapReduce程序实现相应的分布式数据清洗,数据挖掘算法,最后对实验结果进行分析和评测。6.1Hadoop实验平台搭建由于实验条件限制,本论文所用实验平台是由4台机器构成的Hadoop分布式集群作为测试健康物联网的数据处理平台,一个节点被用来作为HDFS和MapReduce的Master主节点,即NameNode和JobTracker节点,主要负责分布式数据处理平台的元数据管理及任务调度工作。其他节点都是Slave工作节点,即DataNode和TaskTracker,主要负责数据存储和具体的分布式计算过程。6.1.1软硬件环境集群内4台PC,CPU为双核P43.0,内存4G,硬盘320G。每台机器装有Centos6.332biit的操作系统版本,Java执行环境为JDKl.6.37,Hadoop版本为1.0.2,SSHclient及server用来进行节点之间的通信。6.1.2Hadoop数据处理平台搭建及部署1.NameNode和DataNode规划如下表。三台节点,各节点部署完成后,首先要关闭三台节点的防火墙serviceiptablesstop。计划部署分配如表6.1所示:表6.1数据处理平台集群部署分配表!垒垒!!垒:!!皇皇璺!!巫翌坚里塑!竺!尘皇塑!垒鬯!里!!i坠塞望!璺!!lo坚IP地址主机名称集群用途2.配置Hadoop相关环境。1)首先在各节点安装jdkl.6.邺1,配置Java环境变量。2)设置hosts文件,在/etc/hosts文件中集群所有机器的IP与主机名。这样Master与所有的Slave机器之间可以通过主机名或者IP俩种方式进行通信。.51— 万方数据东北大学硕士学位论文第6章实验部署及结果分析3)配置启动SSH协议。步骤1:通过下面两条命令安装和启动各个节点的ssh服务。yuminstallsshservicesshdstart步骤2:配置Master机器无密码登陆所有的Slave。ssh-keygen-trsa-p”这是生成无密码密钥对生成的密钥对:idrsa和idrsa.pub,默认存储在“/home/hadoop/.ssh”目录下。步骤3:在Master节点上做如下配置,把idrsa.pub追加到授权的key里面命令为cat~|.ssh/idrsa.pub》~|.ssh/authorized_keys步骤4:上面无密码登陆本机已经设置完成,下面是把公钥复制到所有的Slave机器上,并追加权限。scp~}.ssh/idrsa.pubhadoop@192.168.200.86配置所有Slave机器无密码登陆Master机器采用类似的步骤。4)安装hadoop,修改配置文件,进入hadoop下的conf文件夹,在Hadoop—env.sh指定JDK的安装位置,在conf/core.site.xml下配置HDFS的地址和端口号,和hadoop.tmp.dir路径。在conf/mapred-site.xml下配置JobTracker所在的主节点地址和端口号,在conf/hdfs.site.xrnl下配置HDFS的备份参数。dfs.name.dir:NameNode上的本地文件路径,用于持久存储命名空间和日志信息文件等内容。该参数可以有多个值,值之间用逗号分割,表示文件映射关系信息将会被复制到每个目录中做冗余备份。5)测试运行Hadoop平台。格式化文件系统,并启动Hadoop;bin/hadoopnamenode-formatbin/start.a11.sh集群启动后的状态情况如图6.1。可以登陆浏览器,http://192.168.200.92:50070查看HDFS的状态视图。通过查看状态图,可以通览文件系统,检查集群每个DataNode的状态,并详细查看Hadoop守护进程的日志来判断集群当前运行是否正确。http://192.168.200.92:50030查看MapReduce作业运行状态图如图6.2所示。通过这个视图不仅可以查看MapReuduce中的运行时状态,也可以查看整个作业的详细报告。这些日志描述了哪个节点执行了哪些任务,以及需要完成每个任务所需的时间或资源比。这样可以合理地管理MapReduce程序,更好的利用集群的资源。.52. 万方数据东北大学硕士学位论文第6章实验部署及结果分析ConfigureclCapacity:1e3786865664{96。586B}PresentCapacity:86848418898{8e.69GB)DF5Remaining:84829267968(78.26GB)DFSUsed:261l王5013812.43GB)DFSUsed%:3.81%Underreplicatedblocks:0Blockswithcorruptreplicas:0Hissingbtocks:eDatanodesavailable:3{3total。Odead)Name:192。168。298.86:588leDecommissionStatus:NonnalConf蛔uredCapacity:2064213约韶{19。22GB)DFSUsed:872286336(831.8HBJNonDFSUsed:5043445760‘4.7GB)DFSRemaining:14726479872f13.72GB)DFSUsed%:4。23%DFSRemaininq%:71.34%Lastcontact:Tue3un1820:13:3辱CST28差3图6.1集群启动后的状态情况Fig.6.1TherunningstateofHadoopmasterHadoopMap/ReduceAdministration鬻蓦罄l嚣§鬟;j囊莩黪萋薹;。鬻錾*ll攀i纛蔫j誊i≯S睡:m¨邶轴拍吐TueJunl8街住34CST20{3Vendon:1.02r1304954Co嘲ed:Sat妇2423.5821UTC2012哺hoft耐Oh融№c2013∞182010爹萋霍i誊;鬻;鬻嚣鬻攀!篓鏊1;|||。》’;鬓辫萄鼹簿Clus协rS.mmryfHeapSizeis74.31MB/888.94Me)鼬喇嘲RmdngT制仉洲OccupiedR皓爿唰R∞e件酣_婶Reduce-脚ReduceNodes-I|pReduceaapReduceT|咄TaskAvg.斟《腑嘲甜删ExcludedTasksSubn蜘TiNodezNodes冀ab科出SlotsSIabC鳓C呐0O30O064伪叠Q立图6.2MapReduce作业运行状态图Fig.6.2TherunningstateofMapReduce3.Hive平台搭建1)安装Hive安装包,添加权限,配置Hive环境变量。2)安装MySQL客户端和服务器。3)为Hive建立相应的MySQL账户,并赋予足够的权限。CREATEUSER‘hive’IDENTIFIEDBY‘hadoop’GRANTALLPRIVILEGESON木.半TO‘hive’@’%’WITHGRANTOPTION4)配置Hive下的conf目录的hive—site.xml,这里配置独立安装模式。5)把MySQL的JDBC驱动包复制到Hive的lib目录下。.S3一 万方数据东北大学硕士学位论文第6章实验部署及结果分析6)启动HiveShell,测试环境。实验步骤的基本开发环境如图6.3所示。MySQL数据库及服务器/图6.3实验部署的基本场景Fig.6.3Thebasicexperimentaldeploymentenvironment6.2数据清洗算法测试结果6.2.1异常过滤清洗效果异常过滤器首先输入的数据格式为数据加载模块接收的智能采集终端传送的数据,这些数据可能是存在缺失值,完全重复的,冗余度很高。如处理的若干数据文件格式如下图。融曰1zIGBEE瀚重3q给堙l鞠:03-:强1'9080255澶◇董;蓍i譬j鼍鬃瀵潍藿鬻cOBlZ16BEE2013—05—2110:03:361∞00255土112131OD2RF工D2013一oS一2111:02:291∞294SS4S7103212002RF工D2013-eS一2111:92:29瑚25蚺554S7183212001Z工6BEE2013—9S一2110:03:361的∞255121312∞3Z工68EE2D13—0S一2110:04:371015425312312001Z工6BEE2013-0S一2110:03:3610自旧02S5121312003Z工6BEE2013一oS一2110:04:37101542S3土112312003Z工6BEE2813一05—2110:04:37101§42S31001Z工6BEE2013—0S一21均:93:3810DDe2SS121312001Z工6BEE2013一oS一2110:95:3810008255土1121312的3Z工68EE2913一eS一2110:94:445101S卑253王112312图6.4原始冗余数据Fig.6.4Theoriginalredundancydata首先对输入的数据使用异常过滤器对数据进行过滤清洗操作,过滤掉长度不符合要求,完全重复的数据,输出的结果数据如下:阳l怒GBEE瀚1黔鳞一翘鞠:03:粥14嘲Be25,s}豢彰彭霪i鬻鬻i繁灌瀵?i∞1Z'工GBEE2013-05—2110:93:3810嘲255121312D01Z工6BEE2013—0S一2110:05:38100∞25S11生2131王2802RF工D2013—0S一2111:92:291∞294SS4S7】国3212083Z工6BEE2秘13一gS一21均:94:371国1542S312312D03ZIGBEE2013-0S一21lD:04:46】D1S425312312图6.5异常过滤后数据Fig.6.5Thedataaftersimilarexceptionfiltering6.2.2时间过滤清洗效果54目 万方数据东北大学硕士学位论文第6章实验部署及结果分析从上面的输出结果作为本次的输入继续根据时间过滤,过滤掉同一Uid和日期,且时间小于lOs的数据。本次的输出结果数据格式如下:獭麟鬻鳓§蠢隧ii翻嘲晦蘩鬟囊麟赣麟i翮黛簇嘲黧霹麟,鬃鬃蕊凛鬻囊瀵i赣蒸≤黎潦081Z16BEE2e13—0S一2110:95:38leeee255121312e02廷F工D2013—0S一21ll:e2:291082945S457103212983ZIGBEE2013—0S一21lO:e4:371015425312312图6.6时间过滤后数据Fig.6.6Thedataaftertimefiltering6.2.3相似度过滤清洗效果这里过滤掉,同一Uid,但属性值相似的数据。输出结果如下:龋舔i舞国睡细豁每务2£1⋯0:03:;夔和蛹套黪szZzl2囊豢鬻囊※荔能2RFID2013—05—2111:02:291082945S4S7埔3212∞3Z16BEE2013—9S一21】白:《博:37101542S312312图6.7相似过滤后数据Fig.6.7Thedataaftersimilarfiltering为了更好的聚类等挖掘算法中挖掘生理信息数据,在Hive数据清洗阶段,选择若干属性进行聚类,这里利用HQL语句选择属性值为下面的聚类,分类,频繁项挖掘做好数据准备。这里主要根据自己的需要选择数据的若干属性进行数据挖掘,并存储到HDFS上。这里需要根据需求写成相应的HQL语句进行选择若干属性操作。6.3分布式数据挖掘算法的性能指标对于分布式数据处理,针对本文研究的分布式聚类、分类等算法,主要采用准确率,平均查全率,迭代次数,运行时间进行分析比较。准确率采用正确聚类的数据的数量与全部数据的比值。平均查全率是指正确划分到每个类别的数目占其该聚簇本应有的数据对象的比值的平均值,迭代次数指的是主算法运行需要迭代的次数。具体的准确率与平均查全率公式如(6.1),(6.2)所示:Pr∞垭伽2等qoo%c6∞Recall』1妻芒藏木100%k@2,:一y—’二量÷L木(6.2)急Na^a+Nn+b、。6.4DKBAC数据聚类结果及分析6.4.1分布式聚类结果分析从UCIMachineLearning上面选用BreastCancer数据集,BreastCancer数据集,每个样本含9ylJ)属性值,分为两类:良性和恶性。pima-indians.diabetes糖尿病数据集共每.55. 万方数据东北大学硕士学位论文第6章实验部署及结果分析个样本8条属性值,由于实验条件限制,这里把每个数据集采取复制处理对并行算法的聚类效果进行测试,数据量大小为1GB左右,样本数为千万级。使用相同聚类参数与相同方法的初始中心,通过集群实验分别对两个数据集在三种聚类算法的准确率,平均查全率,迭代次数及运行时间进行统一,结果如下表6.2,6.3所示。表6.2乳腺癌数据集的聚类结果比较表聚类算法并行Kmeans并行模糊K均值DKBAC表6.3糖尿病数据集的聚类结果比较表!!垒!!鱼:!堡!竺!!!堕里曼!:皇些!!里!坚望旦垒堕!旦璺望!!呈竺!旦!塑垒i翌鱼!垒坠兰坚i璺垒里!皇璺聚类算法并行Kmeans并行模糊K均值DKBAC上面对两种分布式聚类算法在两种数据集下的测试结果进行了对比分析,为了更清晰直观的看出各分布式聚类算法的对比情况,下图6.8为相关分布式聚类算法在同等初始条件下的准确率对比图。聚类算法准确率圈Kmeans■I:Kmean8四DKBACBreastCO.FICClP1nla数据集图6.8三种聚类算法准确率比较图Fig.6.8111ecomparisonchartofthreekindsofclusteringalgorithm’Sprecision图6.9为相关分布式聚类算法在同等初始条件下的平均查全率对比图。可以看出在两个不同数据集上,DKBAC平均查全率均优于另两种聚类算法。.56.。盯舛叭躲踮O0O辫羹 万方数据东北大学硕士学位论文第6章实验部署及结果分析聚类算法平均查全率对比数据集图6.9三种聚类算法平均查全率比较图Fig.6.9Thecomparisonchartofthreekindsofclusteringalgorithm’Srecall由实验结果得出的数据可知,在三个节点的测试集群下,分布式聚类算法比相同的串行内存算法运行速度快,在准确率及平均查全率方面方面,聚类中心选择一致的条件下,本文提出的DKBAC聚类算法要优于并行Krneans和模糊K均值算法,迭代次数上优于Kmeans聚类算法,但是与模糊Kmeans算法结果相同。但是,从测试结果中也看到了一些不足之处,如结果受原始生理数据集的影响比较大,下一步应结合经验知识,改善这一方面。6.4.2分布式聚类算法的复杂度分析对于基于Hadoop数据处理平台的任何并行和分布式的聚类算法都有两个方面的复杂度,即时间复杂度‰。和通信复杂度乙。。。。在计算过程中,主要的计算步骤是计算每一个数据点到相应聚簇中心的距离和状态转移概率;在通信过程当中,需要从一个节点到其他节点传送数据,聚簇中心和其他一些相关的信息。首先分析分布式聚类算法在每次重复步骤中的复杂度。设气胁为一个数据对象聚类所需的实际通行时间;乙一为建立连接所需要的时间。由于是并行执行,只需要传送一次数据,因此每步的运行时间为:Z拥。=巧细H+尼气船(6.3)类似的,设Z是每个数据对象输送的时间;n为平均每个节点的数据对象的个数,k为每个数据对象计算的次数。可以计算分片中每次迭代数据传输的通信时间为:乙。=砌乏(6.4)现在设m为并行聚类算法所需的循环次数,则整个算法的复杂度为‰。=聊(1m盯-I-kn死缸)(6.5)rco。。。=mknTc(6.6)由于局域网速度很快,建立连接的时间乃向一可以忽略不计。因此,分布式聚类算法.57.,卯舛叭罟8踮0O0斟稻露瞥 万方数据东北大学硕士学位论文第6章实验部署及结果分析的复杂度表达式可以写成一下形式:‰。=mkn毛船(6.7)TCOm。。=mknT。(6.8)在基于Hadoop的分布式环境下,利用了蚁群分布式搜索的特性,来改善传统的Kmeans算法常常易于陷入局部最优和单存使用欧式距离聚类的缺陷。DKBAC算法的核心思想是:将蚂蚁从食物源i到食物源{的转移概率引入到Kmeans聚类算法中,使得迭代次数降低,而且聚簇的速度较快,时间效率及准确率得到提升。同样,通过上面的测试实验结果可以得知,DKBAC聚类算法既改善了聚类的效果,时间略有提升,又没有增加额外负担,使其分布式聚类算法更有意义。6.5并行随机森林分类及关联规则结果分析6.5.1基于Hadoop的随机森林算法测试分析同样采用乳腺癌数据集和糖尿病进行测试,对数据样本进行划分为训练样本和测试样本对算法进行测试。训练数据集合及测试数据集分别为1GB左右,样本数为千万级,对并行随机森林与决策树算法进行结果比较,在并行集群上进行测试分析。具体结果如下表6.4,6.5所示。表6.4乳腺癌数据集分类结果比较表分类算法并行决策树并行随机森林表6.5糖尿病数据集分类结果比较表墅!!鱼:!堡!型垒堡翌坚塑婴堑璺竺堂曼竺!壁塑垒!塑!塑璺尘垦垒堂璺分类算法并行决策树并行随机森林为了更直观的看出分布式随机森林与决策树分类算法之间的对比,下图为基于Hadoop的并行随机森林与决策树分类算法的准确率与平均查全率比较图。.58. 万方数据东北大学硕士学位论文第6章实验部署及结果分析褂0.9臀姑0.85O.80.75Hadoop分类算法准确率决策树随机森林mlel-IStC;irl(’011I’ixna数据集图6.10两种分类算法准确率比较图Fig.6.10ThecomparisonchartoftwokindsofClassifyalgorithm’SprecisionHadoop分类算法平均查全率比较褂甜砌露睁策树机森林数据集图6.11两种分类算法平均查全率比较图Fig.6.11ThecomparisonchartoftwokindsofClassifyalgorithm’Srecall由实验结果得出的数据可知,在三个节点的测试集群下,并行分类算法比相同的串行内存算法运行速度快,并且并行随机森林算法在速度上相对最快;在分类准确率方面,本文提出的并行随机森林算法显然优于并行决策树分类算法。6.5.2基于Hadoop的FP—Growth算法测试分析采用IBM生成的数据测试,分别在Hadoop集群中针对50M,500M,1000M,2000M,3500M的数据量,对并行FP-Growth关联规则算法进行测试,并且与并行Aprior频繁项算法在运行速度上进行比较,具体测试时间比较如下图所示。由此看出,数据量越大,FP.Growth执行速度越快。由于实验条件限制这里集群规模比较小,时间性能只是一定限度地提升,如若集群规模更大,性能效果会更明显。.59. 万方数据东北大学硕士学位论文第6章实验部署及结果分析图6.12两种关联规则算法时I司性能比较图Fig.6.12Thecomparisonchartoftwokindsofassociationrulesalgorithm6.6本章小结本章主要是搭建部署了健康物联网数据处理测试平台,配置了Hadoop,Hive环境,针对健康物联网生理数据,对本文提出的基于Hadoop的DKBAC算法,分布式随机森林算法,FP.Growth算法进行了测试实现,对分布式聚类算法的算法复杂度进行分析,并将本文设计实现的分布式聚类、分类、关联规则等算法与其相类似算法在性能指标上进行了比较分析。.60. 万方数据东北大学硕士学位论文第7章总结与展望本章将对前面几章的内容进行总结,给出本文所做的工作,并指出本文的不足之处和下一步的工作方向。7.1工作总结健康物联网需要研究的问题有许多方面,本文主要对基于Hadoop的健康物联网数据处理流程进行了分析设计,重点研究实现分布式数据挖掘算法,通过对异构生理信息进行挖掘预测,为医学人员提供良好的预测模型。由于智能采集终端各种各样,数据处理平台需要接收不同数据格式的海量异构数据,通过配置文件接口转换数据格式,基于Hadoop云计算平台,对数据进行基于具体业务的数据清洗和基于Hive的数据清洗。对清洗过滤的人体生理数据,设计研究了基于Hadoop的DKBAC聚类算法,分布式随机森林分类算法,FP.Growth关联规则算法,为医疗专家提供了快速的病情预测模型,并对这些分布式数据挖掘算法进行了测试分析评价。本文的主要贡献和创新如下:基于物联网和云计算技术,分析设计了基于Hadoop的健康物联网数据处理的总体流程,在接收各种协议的异构数据时,分析了相应需求,针对不同数据协议设备发送的数据编写XML转换配置文件接口,提出了配置文档的设计要求,建立了面向应用的数据表示规范,供上层数据处理。在基于Hadoop处理平台中对数据编写有效的数据清洗算法进行过滤冗余数据,设计了云数据清洗的流程,根据分析的MapReduce流程的源码,基于该编程模型设计研究了基于具体业务的异常过滤,业务过滤,时间过滤和相似过滤等算法以完成相应的数据过滤清洗工作,为了进一步精简数据及和传统数据库结合,分析研究了基于本平台的Hive数据清洗工作。为了能够让医学专家快速通过人体生理数据对病情聚类,重点研究实现了Hadoop平台下的分布式数据挖掘算法中,结合蚁群信息素的特点,MapReduce分布式编程模型,研究设计了并行DKBAC聚类算法,首先验证了该算法并行化的正确性,并对该算法的三个重要阶段,统计蚁群信息素阶段,蚁群信息素聚类阶段,统计更新聚类中心阶段进行了详细的分布式设计。为了进一步在健康物联网进行深入数据挖掘,让医护人员能够进行对病情快速分类,找出病情重要诱因,本文结合知识库,研究设计了基于Hadoop的并行随机森林算法,FP.Growth并行频繁项挖掘算法,为了快速提供更多的医学生理数据模型,本文总.61. 万方数据东北大学硕士学位论文第7章总结与展望结了一系列分布式数据挖掘的特征,给出了基于Hadoop分布式数据挖掘算法的设计原则及适用范围。最后本文实验部署了Hadoop集群环境,搭建了MySQL数据库及Hive分布式数据仓库平台,对一系列数据处理算法进行了设计与实现,具体来说,重点对DKBAC聚类算法进行了聚类分析,并与经典聚类算法做了相应比较分析,设计并实现了分布式随机森林和FP.Growth关联规则算法,并对结果与相似算法进行了比较分析。7.2工作展望健康物联网是一个新的方向,还没有真正的大规模实际实施,各项基础研究测试还都是基于现有的互联网的环境当中,这些研究涉及到方方面面。由于课题工作量和时间的原因,本文的工作还不够完善,未来的研究工作还可以在以下方面进一步展开。继续完善健康物联网数据处理的设计方案,可以分析Hadoop开源平台,对MapReduce及其他模块源码进行改进,以设计完全符合自己要求的分布式系统。在分布式清洗过程中,结合具体业务,设计面向具体需求的清洗算法。研究更多的分布式数据处理算法,研究R语言,和Hadoop数据处理平台结合,实现更多的基于人体生理信息的分布式数据处理算法,为医护人员提供更快更多的预测模犁。.62. 万方数据东北大学硕士学位论文参考文献1.朱洪波,杨龙祥.物联网的技术思想与应用策略研究[J】,通信学报,2010,31(11).2.物联网技术,http://baike.baidu.corn/view/281815.htm.3.DemaineED,MozesS,RossmanB1.Anoptimaldecompositionalgorithmfortreeeditdistance[M],languagesandprogramming,SpringerBerlinHeidelberg,2007,146-157.4.MilanoD,ScannapiecoM,CatarciT.Structureawarexmlobjectidentification[C],VLDBWorkshoponCleanDatabases,Seoul,Korea,2006,1-8.5.LeitaoL,CaladoP,WeisM.Structure—basedinferenceofxmlsimilarityforfuzzyduplicatedetection[C],Proceedingsofthe16thACMConferenceonInformationandKnowledgeManagement,Lisbon,Portugal,2007,293—302.6.LeitaoL,CaladoP.Duplicatedetectionthroughstructureoptimization[C],Proceedingsofthe21thACMConferenceonInformationandKnowledgeManagement,Gloscow,Scntland,2011,215-327.7.RieraL,SalazarGAbranch—and—cutalgorithmforthecontinuouserrorlocalizationproblemindatacleaning[J],Computers&OperationsResearch,2007,34(9):2790-2804.8.LeeCS,Diagnostic.Predictiveandcompositionalmoddingwithdatamininginintegratedlearningenvironments[J],Computers&Education,2007,49(3):562—580.9.HectorGonzalez,JiaweiHan,XiaoleiLi,DiegoKlabjan.WarehousingandAnalyzingMassiveRFIDDataSets[C],ICDE,2006,83.10.HectorGonzalez,JiaweiHan,XiaoleiLi.MiningcompressedcommodityworkflowsfrommassiveRFIDdatasets[C],CIKM,2006,162—171.11.ElioMasciari.AFrameworkforOutlierMininginRFIDdata.The1lthInternationalDatabaseEngineeringandApplicationsSymposium[C],IDEAS,2007,263-267.12.ChenZhu-xi,HUKong-fa.Frequencyminingclosedpathalgorithmbasedinthemodemlogisticmanagementsystem[J],Computerintegratedmanufacturingsystems,2009,15(4).13.JaeGilLee,JiaweiHan,KyuYoungWhang.Trajectoryclustering:apartition—and—groupframework[J],SIGMOD,2007,593-604.14.JoydeepGhosh.AProbabilisticFrameworkforMiningDistributedSensoryDataunderDataSharingConstraints[C],FirstIntemationflWorkshoponKnowledgeDiscoveryfromSensorData,2007.15.BetsyGeorge,JamesM.Kang,ShashiShekhar.Spatio—TemporalSensorGraphs(STSG):Adatamodelforthediscoveryofspatio-temporalpatterns[J],IntelligentDataAnalysis,2009,13(3):457—475.16.ParisaRashidi,DianeJ.Cook.AnAdaptiveSensorMiningFrameworkforPervasive.63. 万方数据东北大学硕士学位论文参考文献ComputingApplications[C],The2ndInternationalWorkshoponKnowledgeDiscoveryfromSensorData,2008.17.PeterBrezany,IvanJanciak,A.MinTjoa.GridMiner:afundamentalinfrastructureforbuildingintelligentGridsystems[C],ProceedingsIEEE/WIC/ACMInternationalConferenceonWebIntelligence,2005,150—156.18.A.Congiusta,D.Talia,P.Trunfio.DistributeddataminingservicesleveragingWSRF[J],FutureGenerationComputerSystems,2007,23(1):34-41.19.VladoStankovski,MartinSwain.DiggingDeepintotheDataMinewithDataMiningGrid,IEEEIntemetComputing[J],2008,12(6).20.KelvinCardona,JimmySecretan,MichaelGeorgiopoulos,GAnagnostopoulos.AgridbasedsystemfordataminingusingMapReduce[J],TechnicalReport,2007,2.21.JoosHendrikBose,AYturAndrzejak,MikaelHogqvist.BeyondOnlineAggregation:ParallelandIncrementalDataMiningwithOnlineM印-Reduce[J],ProceedingsoftheWorkshoponMassiveDataAnalyticsontheCloud,ACM,2010,3.22.Cheng—TaoChu,SangKyunKim,Yi—AnLin.M印-Reduceformachinelearningonmulticore[C],IntheProceedingsofNIPS2006,19.23.DasAS,DatarM,GargA.Googlenewspersonalization:scalableonlinecollaborativefiltering[C],Proceedingsofthe16thinternationalconferenceonWorldWideWeb,ACM,2007:271.280.24.TingLiu,C.Rosenberg,H.A.Rowley.Clusteringbillionsofimageswithlargescalenearestneighborsearch[C],IEEEWorkshoponApplicationsofComputersVision,2007,28.25.健康物联网期待产业模式化,科技日报,2013.6.13.26.王娟,陈皇宇.基于智能健康管理系统新模式的进展与趋势[J】,微型电脑应用,2012,28(1):34—39.27.FayChang,JeffreyDean,sanjayGhemawat.Bigtable:Adistributedstoragesystemforstructureddata[J].ACMTransactionsonComputerSystems(TOCS),2008,26(2):4.28.HDFS.http://hadoop.apache.org/hdfs/.29.YangC,YenC,TanC.Osprey:ImplementingMapReduce-stylefaulttoleranceinashared-nothingdistributeddatabase[C],DataEngineering(ICDE),2010IEEE26thInternationalConferenceonIEEE,2010,657-668.30.AbouzeidA,Bajda-PawlikowskiK,AbadiD,SilberschatzA,RasinA.HadoopDB:AnarchitecturalhybridofMapReduceandDBMStechnologesforanalyticalworkloads[J],PVLDB,2009,2(1):922·933.31.AbouziedA,Bajda-PawlikowskiK,HuangJ.HadoopDBinaction:Buildingrealworld..64.. 万方数据东北大学硕士学位论文参考文献applications[C],Proceedingsof2010internationalconferenceonManagementofdata,ACM,2010,1111—1114.32.FriedmanE,PawlowskiP’CieslewiczJ.SQL/MapReduce:Apracticalapproachtoselfdescribing,polymorphic,andparallelizableuserdefinedfunctions[J].ProceedingsoftheVLDBEndowment,2009,2(2):1402-1413.33.StonebrakerM,AbadiD,DeWittDJ,MadenS,PaulsonE,PavloA,RasinA.MapReduceandparalldDBMSs:Friendsorfoes?[J],CommunicationsoftheACM,2010,53(1):64—71.34.DeanJ,GhemawatS.MapReduce:Aflexibledataprocessingtool[J],CommunicationsofACM,2010,53(1):72-77.35.XuYKostamaaP’GaoLK.IntegratinghadoopandparallelDBMS[J],ProceedingsoftheSIGMOD,2010:969—974.36.Hive.http://hive.apache.ore,/.37.TomWhite著,周敏奇,王晓玲,金澈清,钱卫宁译.Hadoop权威指南[M】,北京:清华大学出版社,2011.38.ChuckLam著,韩冀中译.Hadoop实战【M],北京:人民邮电出版社,2011.39.JorgeAmulfoQuianeRuiz,ChristophPinkel,JorgSchad,JensDittrich.RAFTingMapReduce:Fastrecoveryonthe凡虹Ⅱq,Proceedingsofthe27thInternationalConferenceonDataEngineering,Germany,Hannover,2011,4:11—16.40.BenjaminHindman,hndyKonwinski,M.Zaharia,A.Ghodsi,A.D.Joseph,R.Katz,S.Shenker,I.Stoica.Mesos:APlatformforFine-GrainedResourceSharingintheDataCenter[C],NetworkedSystemDesignandImplementation,2011,3.41.GhodsiA,ZahariaM,HindmanB.Dominantresourcefairness:fairallocationofmultipleresourcetypes[C],USENIXNSDI,2011.42.BuYHoweB,BalazinskaM.HaLoop:Efficientiterativedataprocessingonlargeclusters[J],ProceedingsoftheVLDBEndowment,2010,3(1·2):285-296.43.AfratiFN,UllmanJD.Optimizingjoinsinamap-reduceenvironment[C],Proceedingsofthe13thInternationalConferenceonExtendingDatabaseTechnology,ACM,2010,99-110.44.RakeshAgrawal,RamakrishnanSrikant.Fastalgorithmsforminingassociationrulesinlargedatabases[C],Proceedingsofthe20thIntemationalConferenceonVeryLargeDataBases,Santiago,Chile,1994,9:487-499.45.JHan,JPei,YYin.MiningFrequentpa_ttemswithoutcandidategeneration[C],ACMSIGMODRecord,2000,29(2):1-12.46.EricSammer.HadoopOperations[M],O'ReillyMedia,2012..65. 万方数据东北大学硕士学位论文参考文献47.Pang-NingTan著,范明,范宏建译.数据挖掘导论【M】,北京:人民邮电出版社,2011.48.孙丽娟,王汝传.基于蚁群算法和遗传算法融合的Qos组播路由问题求解[J】,电子学报,2006,8.49.SanjayGhcmawat,HowardGobioff,Shun—TakLeung.TheGooglefilesystemiC],ACMSIGOPSOpiatingSystemsReview,ACM,2003,37(5):29—43.50.DeanJ,GhemawatS.MapReduce:simplifieddataprocessingonlargeclusters[J],CommunicationsoftheACM,2008,51(1):107—113.一66— 万方数据东北大学硕士学位论文致谢致谢两年的研究生学习即将结束,在这份最后的答卷中,我要向所有帮助过我、关心过我的老师、同学和家人表达我最诚挚的谢意。首先,我要特别感谢我的导师易秀双,作为一名学识渊博、治学和工作严谨、品格优良的老师,在过去的两年时间里,不仅在学术研究上对我悉心指导,更是教导我掌握分析和解决问题的方法,培养我战胜困难的勇气和信心,教育我踏实做人、认真做事的人生态度,督促我在学习上更加自律,还有在生活上的对我无微不至的关心和帮助!让我记忆最深刻的是,易老师总是能用朴实的言语,教育我们深刻的人生哲理,从不缺少对学生热情的鼓励和殷切的期望。最让我感动的是,易老师在对学生严格要求的同时始终保持耐心,在我犯错的时候,总是在批评的同时肯定我的进步,总是创造条件锻炼自己的学生,从不放弃自己的学生。易老师一丝不苟、坚韧不拔、实事求是的人生态度时时刻刻影响着我,这些都将是我人生经历中的宝贵财富。其次,感谢网络中心的老师,感谢他们在这两年的时间里不辞辛苦地为我们创造的工作和学习环境所做的大量的工作。感谢实验室的伙伴,在平时的学习和生活中我们互相帮助、互相鼓励,他(她)们给予我许多启发和建议,使我始终感受集体的力量和温暖。再次,我要感谢我的父母,没有他们的养育之恩,我不能成长至今;没有他们的理解和支持,我不能安心地进行学习;没有他们的期望和鼓励,我不能保持良好的心态和充满干劲。最后,感谢所有参加论文评审和答辩的专家,感谢您们在百忙之中对我的论文提出批评指正。.67.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭