云计算环境下物流路径数据挖掘研究

云计算环境下物流路径数据挖掘研究

ID:32965519

大小:3.06 MB

页数:63页

时间:2019-02-18

上传者:U-22505
云计算环境下物流路径数据挖掘研究_第1页
云计算环境下物流路径数据挖掘研究_第2页
云计算环境下物流路径数据挖掘研究_第3页
云计算环境下物流路径数据挖掘研究_第4页
云计算环境下物流路径数据挖掘研究_第5页
资源描述:

《云计算环境下物流路径数据挖掘研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

云计算环境下物流路径数据挖掘研究DataMiningofLogisticalPathundertheCloudComputing1n●EnVlrOnment2013年4月 合肥工业大学本论文经答辩委员会全体委员审查,确认符合合肥工业大学硕士学位论文质量要求。答辩委员会签名:(工作单位、职称)主席:j;沙中(日哳极乞}翻缸殷委贝[c:zl:书域吴铤兮肥L业大孚酬数枥爱晖导师:铆巴础戈皆引杈掘明∥0 独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得金目曼王些太堂或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。学位论文作者签字:何袖襄签字日期:加圬年甲月刁日学位论文版权使用授权书本学位论文作者完全了解金g巴王些太堂有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。本人授权金月曼王些厶堂可以将学位论文的全部或部分论文内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解密后适用本授权书)学位论文作者签名l何栩烫签字日期:2。7;年十fiJ刁日学位论文作者毕业后去向:工作单位:通讯地址:⋯名:印丑记签字日期.≯f;年。月刁日电话:邮编: 云计算环境下物流路径数据挖掘研究摘要随着企业物流信息化水平不断提高,互联网的普遍运用,产生了海量的物流数据,大量的数据中隐藏着重要的信息。为了提高企业的核心竞争力,给客户提供更优质的物流服务,物流企业需要不断提高决策效率,因此如何从大量的物流数据中获取有价值的信息,辅助企业日常经营活动中的决策,成为企业面临的一个重要问题。通过对物流的路径数据进行数据挖掘分析,发现频繁移动的路径模式,从而获取关于货物流向的知识,预测货物的移动信息,找出异常的移动货物。通过频繁的路径模式,还可以深入了解物品在移动过程中的详细情况,以及这些频繁的路径隐含着的一些移动趋势信息。通过发现的频繁路径模式,可以为企业物流业务经营提供有力的决策支持,从而优化物流环节,从而降低整个物流成本。本文在系统的介绍了数据挖掘、云计算和物流路径相关理论基础上,阐述了物流路径频繁模式挖掘理论知识,并针对物流路径数据特点,采用云计算的MapReduce模型对数据挖掘的序列模式基本算法进行并行化改进,最后用改进的算法对物流路径进行挖掘分析,发现频繁路径模式。在相关研究理论的基础上,本文首先对物流路径频繁模式挖掘进行了相关研究。先阐述了物流路径频繁模式应用,接着,由于物流路径是一种序列数据,参考序列模式的相关定义,定义了物流路径频繁模式挖掘的相关概念,并采用序列模式挖掘算法中的基于Apriori思想的算法发现物流路径频繁模式。接着针对物流路径数据的特点,采用了MapReduce并行计算模型,对序列模式挖掘的基本算法AprioriAll进行改进。由于基于Apriori思想的序列模式挖掘算法对物流路径数据进行分析时,需要多次扫描数据库,并且会产生大量无用的候选序列,当数据量很大时,会占用大量的计算资源。MapReduce是云计算环境的并行计算模型,本文将序列模式挖掘的算进进行并行化改进,使之能适用于MapReduce计算模型。最后将改进的算法用于物流路径频繁模式发现,研究结果表明本文的研究思想是可行的。关键词:物流路径;云计算;数据挖掘;序列模式 DataMiningofLogisticalPathundertheCloudComputingEnvironmentABSTRACTWiththeimprovementoftheenterprise’slogisticsinformationtechnologyandthewidespreaduseoftheInternet,amassivelogisticsdatahasbeenproduced,andthereisimportantinformationhiddeninthedata.Inordertoimprovethecorecompetitivenessandtoprovidecustomerswithmorequalitylogisticsservices,thelogisticsenterpriseneedtoconstantlyimprovetheefficiencyofdecision‘making,SOhowtoobtainvaluableinformationfromalargenumberoflogisticsdatatosupportthedailydecision—makingbecomesanimportantissue·Miningthelogisticspathdatatofindthefrequentlymovingpathpattern,youcangainknowledgeabouttheflowofgoods,predictthemovementinformationofgoodsandidentifyunusualmovinggoods.Withthefrequentpathpattern,youcandeeplyunderstandthedetailinformationabouttheproductsduringthemovementandtheimpliedmovingtrendinformation.Thefoundfrequentpathpatterncanbepowerfultoprovideapowerfuldecisionsupportforenterpriselogisticsbusiness,thentooptimizethelogisticschain,toreducetheoveralllogisticscosts,andtoimprovethecorecompetitivenessforlogisticenterprise.BaseonthesystematicintroductiontoMining,CloudComputingandLogisticspaththeory,thepaperelaboratesthetheoryabouttheminingoflogisticsfrequentpath.Consideringthepathdata’Scharacteristics,anparallelizationofsequentialpatternofMinghasbeengivenbytheuseofCloudComputing‘SMapReducemodel,andtominetheLogisticalpathtofindthefrequentpathpattern.Basedonsomerelevanttheory,thepaperfirstlyresearchestheproblemoflogisticalpath’Sfrequentpattern.Theapplicationoflogisticalpath’Sfrequentpattemisintroducedatthefirst,then,forlogisticalpathisakindofsequentialdata,therelevantdefinitionsoflogisticalpath’Sfrequentpatternaregivenbythereferencetothesequentialpattern,andakindofsequentialpatternminingaIgorithmbasedonAprioriideasisusedtofindthefrequentpatternoflogisticalpath.Secondly,consideringthepathdata’Scharacteristics,anparallelizationimprovementofAprioriAll,whichisthefundamentalalgorithmofsequentialpattern,isgivenbyadoptingtheCloudComputing‘SMapReducemodel.ItneedsIl toscanthedatabasemanytimesusealgorithmbasedonAprioriAllanalysisthelogisticalpathdata,andalotofunusefulcandidateSequencesareproduced,SOwhenrequireddealwithalargeamountofdate.itwilltakeupa10tofcomputingresources.MapReduceisaparallelcomputingmodeloftheCloudComputingenvironment,anparallelizationimprovementofsequentialpatternmininghasbeengiven,SOthatitcanapplytheMapReducecomputationmodel.Finally,theimprovedalgorithmisusedfindthelogisticspath’Sfrequentpatternfound,anttheresultsshowsthattheideaiSfeasible.Keywords:logisticalpath;datamining;cloudcomputing;sequentialpatternIII 致谢三年的研究生生活,转瞬即逝。三年来的收获远非文字和语言所能表达的,然而毕业论文毕竟是一种很好的总结。在本文即将完成之际,我衷心的感谢研究生的三年学习生活中给予我帮助的各位老师和同学们。当我完成毕业论文时,最先想到的是,同时也是最想感谢的是我的导师胡小建教授。三年来,胡老师在学业上给予不倦的教诲,论文从选题、构思、查阅文献、修改、定稿,每一步都熔铸着导师的殷切期望和精心指导。胡老师以他求实的科学态度、渊博的学术知识对新领域研究的敏锐性启迪奠定了我的开发思维和工作信心,以他丰富的实践经验、周密细致的工作安排以及在这一领域的造诣,对指导我最终能完成学业起了巨大作用,为我的学业发展创造了良好的条件,提供了广阔的发展空间。使得我对研究方向上的前沿技术有了进一步的了解和认识,最终能够完成毕业论文的写作。在此衷心感谢我的导师胡小建教授!衷心感谢曾经指导过我学业的管理学院学院的各位老师,他们严谨的治学态度,敏锐的思维方式,勤勉的务实开拓进取精神以及对管理学科的热爱,让我更加坚定了作为学生的信心和决心。在此向所有给我授过课和帮助过我的教授、老师们表示我最衷心的感谢。由衷地感谢物流与物联网研究所的各位老师,他们治学严谨、平易近人,在论文写作时给了我最贴切的建议和意见,使我在课题研究中受益匪浅,并感谢他们一直以来对我的勉励。还要感谢我同门的师兄弟们,大家在研究课题时相互交流、相互帮助,塑造了一个良好的学术环境。我们平时的关系也非常融洽,体现了师门情谊,希望以后的师弟师妹们能相处的更好。在学习和工作的研究生生活中,还要感谢寝室里和班级里的其他同学,使他们的热情帮助给我营造了良好的学习科研的氛围和愉快的生活环境,在这里我向他们表示感谢。感谢我的家人和亲戚,是他们在物质上给我帮助,使我能拥有读书的机会,并且一路支持我的选择。感谢默默为我付出、给予我帮助的亲戚朋友们,在我困难的时候总是能得到他们的帮助。感谢评阅本论文的专家学者,感谢你们在百忙之中审阅了本论文并提出建议和指导。作者:铜麴靶日期:乃D7又多少.27IV 目录第一章绪论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11.1研究背景⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.11.2国内外研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..21.2。1数据挖掘技术研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.21.2.2物流路径数据研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯31.2.3云计算研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯41.3主要内容和组织架构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.5第二章相关理论基础⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.62.1数据挖掘理论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..62.1.1数据挖掘概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯62.1.2数据挖掘分类⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯62.1.3数据挖掘步骤⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.72.1.4数据挖掘在物流中的应用⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯72.2物流路径数据理论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..82.2.1物流和物流信息化⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯82.2.2物流路径数据理论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一92.3云计算理论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..112.3.1云计算定义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯112.3.2云计算特点⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯112.3.3云计算体系架构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯122.3.4云计算关键技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.142。4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯15第三章序列模式挖掘基本理论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。163.1序列模式基本原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯163.2序列模式基本概念⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯163.3序列模式发现算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯173,4序列模式的应用和发展⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯203.5本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.21第四章物流路径频繁模式挖掘⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯224.1频繁模式挖掘应用⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一224.2频繁路径挖掘⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯234.2.1物流路径相关概念⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯234.2.2物流路径数据特性⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.244.3RFID数据⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯254.4基于Apriori思想的频繁路径模式挖掘⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯26V 4.5本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯29第五章云计算环境下物流路径频繁模式挖掘⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯305.1MapReduce计算模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯305.1.1MapReduce计算模型简介⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一305.1.2MapReduce计算模型过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯315.1.3MapReduce处理数据流程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..3l5.2基于MapReduce的序列模式算法改进⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.325.2.1基于MapReduce的AprioriAll算法并行改进⋯⋯⋯⋯⋯⋯⋯325.2.2改进的算法与MapReduce结合⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯335.2.3改进算法优势分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.355.2.4算法在物流路径数据分析应用意义分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯355.3应用实例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯355.3.11.频繁序列挖掘过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..375.3.22.频繁序列挖掘过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯405.3.33.频繁序列挖掘过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.435.3.4计算结果分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯455.4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.45第六章结论与展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯466.1结论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.466.2展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯46参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..47攻读硕士学位期间发表的论文⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.51特别声明⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯52VI 插图清单图2.1数据挖掘过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.7图2—2云计算的体系⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯12图2.3HDFS体系结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯14图5.1MapReduce处理数据集过程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..32VII 表格清单表3.1顾客交易数据库示例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯16表3.2顾客序列数据库示例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..16表3.3大项集⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯18表3.4转换后的数据库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..19表4.1物流活动数据库示例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯24表4.2路径序列数据库示例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯24表4.3路径序列数据库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一26表4.4候选1.序列⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯26表4.5频繁l一序列⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一27表4-6转换后的路径数据库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.27表4.7过度候选2序列⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯28表4.8频繁2.序列⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯28表5.1物流活动数据库D⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯36表5.2路径序列数据库PD⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..37表5.3转换后的路径序列数据库PD⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.37表5-4候选1一序列⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯40表5.5频繁1.序列⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯40表5-6候选2.序列⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯43表5.7频繁2.序列⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..43表5.8候选3序列⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.45表5-9频繁3.序列⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..45VIII 第一章绪论1.1研究背景随着物流信息化水平不断提高,物联网技术的不断发展和应用,GIS、GPS和RFID等技术广泛应用于物流行业,产生了海量的物流信息数据,将GIS、GPS和RFID等技术引入物流供应链管理,可以跟踪物流网络中移动物品的运动轨迹,获取物流路径数据。数据挖掘DM(DataMining),就是借助一系列信息技术对多个大型异构或同构数据库或数据仓库中的数据进行分析,从中获取对人们有用的或者感兴趣的信息和知识,这些信息和知识是隐含的、事先未知、潜在有用的,提取的知识可以用模式、规则、概念和规律等形式进行表示。数据挖掘的目标是从海量的历史数据中获取有用的、感兴趣的信息和知识。这些知识和信息,对于决策具有相当大的潜在价值。利用获取的信息和知识,能够根据已掌握的数据对即将可能发生的行为做出结果预测,从而为企业的经营决策和市场策划等提供决策依据。通过对物流数据进行数据挖掘分析,可以获取潜在的、有用的信息,为物流业务活动提供决策支持。对物流路径数据进行挖掘分析,找出频繁路径信息,获取关于货物流向的知识,用户能够进一步了解货物的移动趋势,预测货物的移动信息,找出异常的移动货物,可以优化物流环节,从而降低整个物流成本,为用户物流业务经营提供有力的决策支持。云计算(CloudComputing)是一种全新的计算模式,利用这种方式,可以有效的整合各类资源,实现软硬件资源和信息的共享,这些资源和信息可以以按需的方式提供给用户、计算机和其他设备。随着信息技术的普遍应用和高速发展,数据呈现以GB、TB再到PB级的方式爆炸增长,这给数据挖掘技术带来了极大的挑战。数据挖掘面临的两个最重要的问题是:一是如何对海量数据进行存储和计算,二是如何快速、高效、低成本的从这些数据中挖掘出新颖的、有潜在价值的信息和知识。云计算的出现为数据挖掘技术的发展带来了机遇。云计算技术通过使存储和计算能力均匀的分布到集群中的多个存储和计算节点上,实现对超大数据集的巨大的存储和计算能力。由于可以使用大量的廉价计算机通过集群来代替价格高昂的服务器,云计算大大的降低了成本。使用云计算技术提供的巨大的存储能力和计算能力,数据挖掘技术进入了基于云计算的数据挖掘时代。本文正是基于上述研究背景,对物流路径数据频繁模式挖掘问题进行系统研究。采用数据挖掘的序列模式挖掘算法对物流路径数据进行频繁模式挖掘,同时借助云计算环境的MapReduce编程模式,针对路径数据特点,研究适合物流路径的频繁模式挖掘问题。 1.2国内外研究现状1.2。1数据挖掘技术研究现状在激烈的市场竞争中,信息对于企业的生存和发展起着愈来愈关键的作用,随着企业信息水平的不断发展和提高,数据库技术的快速发展,企业数据库中存储的数据量随着时间增长和业务扩大不断增加,人们对于数据的需求不仅仅是简单的查询和统计,而是有更进一步的需求,希望从大量的历史数据中发现规则和关系,从而可以用来辅助决策和研究。目前数据库系统无法有效从大量的数据中发现隐含的规律和模式,因此出现了“数据爆炸但知识贫乏”的状况,从而导致了知识发现和数据挖掘技术的出现。数据挖掘,又称数据库中的知识发现(KDD),是一门从丰富的历史数据中发现其隐含规律的技术,融合了数据库、统计学、人工智能等多门技术。数据挖掘这个词语第一次出现是在第11届国际联合人工智能学术会议(1989年8月),1995年举行了第一届KDD国际学术会议。然后在多个学科领域(如数据库、知识工程、信息处理和人工智能等)的学术刊物上出现了专门的KDD刊物和专栏⋯。近年来,在GartnerGroup在一次高级技术调查中,数据挖掘和人工智能被列为“未来三到五年内将对工业产生深远影响的五大关键技术”之首,同时,数据挖掘和并行处理体系被列为未来五年内投资焦点的十大新兴技术前两位。最近Gartner的一份HPC研究表明,“随着数据捕获、传输和存储技术的快速发展,大型系统用户将更多地需要采用新技术来挖掘市场以外的价值,采用更为广阔的并行处理系统来创建新的商业增长点”。目前,国外专家对数据挖掘主要研究方面有:将统计学回归方法运用于数据挖掘;对知识发现方法的进一步研究,如将遗传算法运用到知识发现中;将数据挖掘和数据库紧密结合等。在应用方面主要包括:不断生产和完善数据挖掘商业软件工具,注重系统而不是孤立的解决问题过程。数据挖掘软件用户主要集中在电信公司、保险公司、大型百货公司、大型银行和销售业等。国外许多IT企业都非常注重数据挖掘的开发和应用,成立了数据挖掘研究中心,例如IBM和微软。目前市面上比较常见的数据挖掘软件有SAS公司的EnterpriseMiner,IBM公司的SPSSClementine,SGI公司的SetMiner等。同国外相比,国内对DM的研究较晚,从事DM研究的人员主要分布在研究所、在高校和部分企业。目前,对数据挖掘技术的主要研究方面有:数据挖掘算法优化【21、基于Web的数据挖掘【3】、数据挖掘中的隐私保护[41、目标客户发现【5】、购物篮分析等。此外,随着云计算的不断成熟和广泛应用,基于云计算的数据挖掘成为一个研究热点,主要是数据挖掘算法的并行化问题【6J。因此,未来几十年,不管是从理论研究角度还是从企业实际发展角度来看,数据挖掘毫无疑问将会是学术科研和企业应用领域共同关注的热门焦点。随着2 企业信息化水平的不断提高,数据挖掘理论研究的不断丰富和完善,企业对数据挖掘的需求必将日益增加,数据挖掘技术的应用会愈来愈广泛。1.2.2物流路径数据研究现状传统的物流路径问题是指由Dantzing和Ramser[7J提出的VRP(VehicleRoutingProblem,车辆路径问题),主要是研究基于一定约束条件下的,多目标优化问题,即在满足一定的约束条件下,为了达到目标最优而选择合适的路径。本文研究的是关于物品在流通过程中的路径问题,这里的物流路径指的是,移动的物品随时间变换而地理位置随之变换形成的运动轨迹,通过先进的信息技术识别和追踪移动物品的位置信息,获取物品的移动路径信息。随着各种先进的数据采集技术(GPS,GIS和RFID技术等)用于对移动的物品进行识别和追踪,为了对这些移动的数据进行管理,提出了移动对象数据库的概念¨J。物品移动路径数据信息获取主要依赖于先进的数据采集技术,由于具有无接触、能穿透非金属介质、识别距离大、精度高以及信息收集处理快捷等优点,RFID(radiofrequencyidentification,无线射频识别)技术作为一种主要的数据采集技术用于识别和跟踪移动物品,以此获取物流路径数据。RFID最早发明于第二次世界大战期间,将RFID标签和阅读器安装在飞机上,用来辨别敌我。从20世纪90年代开始,RFID技术逐渐用于物流供应链管理【9J,通过RFID技术可以识别和跟踪移动的物品,从而可以实时的了解物品在物流的那个节点上,实现供应链的可视化和信息共享,提高物流运作效率。对于物流信息获取问题,文献【101研究了如何用电子标签技术来追踪移动物品的物流路径信息,从而获取移动物品的路径数据。进而文献[11]提出对这些海量的移动路径数据信息进行分析,从而获取物品的移动趋势信息。随着物流信息化水平的不断提高,数据采集技术的发展和更新,产生了大量的数据,这里面就包含了物品的移动路径数据,由于海量的数据中隐含着具有潜在价值的信息,通过采用数据挖掘技术来获取这些信息,可以提高物流管理效率,提升企业竞争力【I2|。对海量的移动物品的路径进行数据分析,常见的挖掘任务有聚类分析、异常检测和序列模式挖掘等。文献【13】针对路径数据的特点,对序列模式挖掘算法GSP进行改进,用于发现频繁物流路径。文献[14】针对现代物流系统提出了一种基于路径数据的频繁封闭路径挖掘算法。文献【l5】在借鉴了DNA序列研究的基础上,对路径数据进行了聚类分析。文献【16】主要研究了路径数据的异常检测问题。 对物品移动路径的挖掘分析,虽然最近几年才开始研究,但是随着物联网技术的不断发展,云计算的技术的不断成熟,必将成为企业界和学术界的一个愈来愈感兴趣的热门研究领域。1.2.3云计算研究现状21世纪初,由于互联网的飞速发展,作为搜索领域的领军企业Google公司搜索量急剧增长,原有的服务器无法满足海量搜索的需求,为此技术天才JeffDean设计出了一种全新的技术架构,一次满足快速增长的搜索需求,由此云计算概念诞生。自Google公司于2007年最早提出云计算的概念,亚马逊于2007年7月第一个发布面向企业服务的云计算应用服务,短短的六年时间,云计算成为许多研究机构和IT厂商的重点发展战略之一,云计算已经由概念转变为大规模应用,成为目前互联网和信息技术领域的一个研究热点。在科学研究领域,来自美国伯克利大学的学者Berkeley迈克.阿姆布鲁斯特在《AbovetheClouds:ABerkeleyViewofCloud》【l7】一文中,概括的阐述了云计算的历史、概念、意义、商业应用和价值、障碍和展望等方面。另外来自美国加州斯坦福大学的学者安迪.贝克托姆尔则从云计算服务提供者和服务客户的角度做了一个类似的简要概述。此外,学术界还举办了针对云计算的研讨会;2009年1月在印度班加罗尔举办了第一届云计算专题研讨会,IBM、甲骨文和SAP实验室等齐聚一堂分享了印度云计算专家的经验【l引。2009年10月在德国慕尼黑举办了首届国际云计算大会,会议主题包含了云计算自动平台、基础设施和云计算应用等方面。2012年10月11日,全球最大的专业技术人员协会电气电子工程师学会,在印度班加罗尔召开了首届IEEE新兴市场云计算大会fIEEECloudComputingforEmergingMarketsConference)t19】。在云计算商业应用和价值方面,许多IT企业都推出了自己的云计划:IBM主要针对企业级云计算市场,于2007年8月提出了“蓝云”计划;Google公司则以互联网的每一个终端用户为自己的客户群,于2007年10月提出了“消费云”计划;亚马逊公司则基于互联网应用软件,提出了“弹性云”计划,既瞄准了企业用户又瞄准了互联网终端的每一个用户。同国外相比,国内对云计算的研究虽然较晚,不过对云计算的研究非常重视,云计算在国内的发展速度飞快,2009年5月22号,在相关政府部门的指导下举办了“首届中国云计算大会"【20】大会,主要探讨了云计算的实质内涵和发展趋势及其对社会发展、教育和产业等带来的影响,分享了云计算的最新研究成果。此外,很多企业都提出了自己的云计算建设方案,IBM在中国无锡建立了国内第一个云计算中心,已经于2008年5月投入使用;阿里巴巴集团旗下子公司阿里软件宣布将筹建多个“电子商务云计算中心”【211,首个云计算中心将于2009年初落户江苏南京;在国内产商中,华为则在2011年第一个发布了4 其云服务“cloud+”[221,华为的could+云月艮务内置在华为的云手机上,主要包含四个组成部分,分别是智慧云、Cloud+网盘、全备份和安全卫士。1.3主要内容和组织架构本文主要研究云计算环境下物流路径数据挖掘算法,就是在云计算MapReduce计算模式下,针对路径数据特点,对序列模式挖掘算法进行一定的改进,使之适用于物流路径频繁模式发现。在总结了前人研究经验的基础上,通过对经典算法的研究,借鉴了云计算的MapReduce计算模式,对序列模式挖掘算法进行了基于MapReduce的并行化改进,最终实现了云计算环境下序列模式挖掘理论在物流频繁路径模式中的应用,本文组织结构安排如下:第一章绪论。主要介绍了研究背景以及国内外研究现状,本文研究内容和组织结构。第二章相关理论基础。为后续内容作铺垫,首先介绍了数据挖掘的基本定义,数据挖掘的分类,数据挖掘的一般步骤和其在物流领域的应用情况;随后介绍了物流数据路径理论,包括物流和物流信息,物流路径数据的表示及其分类,简单介绍了几种路径挖掘任务;最后介绍了云计算的定义、特点、体系结构和关键技术第三章序列模式挖掘基本理论。详细介绍了序列模式的基本原理、概念和发现算法等,在序列模式基本原理介绍中着重强调了序列的顺序和时间属性,这是序列模式理论可以用于分析物流频繁路径的理论基础。第四章物流路径频繁模式挖掘。主要介绍了物流路径的概念,物流路径频繁模式发现算法以及物流路径频繁模式应用情况,重点强调了由于路径实质上是一种序列数据,故可以采用序列模式挖掘的AprioriAll算法用于发现频繁路径,用传统的序列模式算法挖掘路径频繁模式时,会产生大量无用的候选序列,且需要对数据进行多次扫描,因此可以借鉴云计算的MapReduce计算模式进行并行化改进。第五章云计算环境下的物流路径频繁模式挖掘。详细的介绍了云计算的MapReduce计算模型的计算过程和处理数据流程,主要介绍了基于MapReduce的AprioriAll算法的改进,并且用改进的算法对物流路径进行频繁模式分析,研究结果表明本文的研究思想是可行的。第六章结论与展望。首先总结了本课题的主要研究成果,然后对该研究领域中仍然存在的研究方向和内容进行了一定的展望。 第二章相关理论基础2.1数据挖掘理论2.1.1数据挖掘概述数据挖掘(DM,DataMining),也称“数据库中的知识发现”,指从大量的、不完全的、有噪声的、模糊的、随机的数据中,发现隐含的、先前未知的、有潜在价值的知识的过程。数据挖掘是一门交叉学科,融合了统计学、机器学习、人工智能和数据库等多门学科。随着信息技术的发展,大量的数据能够被记录下来,迫切需要从这些大量的数据中获取有用的信息,数据挖掘作为一种新型的数据分析技术,必将成为未来一段时间内信息技术产业的一个研究重点。2.1.2数据挖掘分类按照数据挖掘功能,分类如下:(1)关联分析:寻找数据子集间的关联关系或者一些数据与其他数据之间的派生关系,最常见的是关联规则挖掘。关联规则挖掘是由Agrawal[23】等人首先提出的,用于发现顾客购买不同商品之间的关系。一个关联规则的例子“85%的顾客购买了打印机和电脑同时会购买内存条’’。(2)分类分析:找出描述和区分数据类或概念的模型(或函数),以便能够使用模型预测类标号未知的对象【241,即通过对训练数据集进行分析获得一定的分类规则,以此对新的数据集进行分类。常见的分类方法包括决策树、神经网络、贝叶斯网络、支持向量机和粗糙集等。(3)聚类分析:把数据按相似性分成不同类别,类内数据之间的相似性尽量大,不同类的数据间的相似性尽量小。同分类分析不同的是,聚类分析没有目标属性用于指导聚类过程,是一种无监督学习过程。常见的聚类方法有K—means算法等。(4)序列分析:用于发现序列数据库中相对时间或是发生顺序所出现的高频率子序列。序列模式的一个例子是“租客租用了《天龙八部》和《神雕英雄传》很可能在一个月之后租用《神雕侠侣》”。序列模式挖掘可用于DNA分析、Web访问模式分析、天气预报和网络入侵检测等领域。(5)孤立点分析:用于发现异常的事件或行为。孤立点(或离群点)指的是数据集中某些与其他数据行为不一致的数据。孤立点分析主要有两个任务,第一是如何定义孤立点;第二是如何找出数据集中的孤立点。孤立点分析可用于欺骗检测、网络入侵检测等领域。(6)概念描述:概念描述就是概括某类对象的相关特征,用一定的规则对该类对象的内涵进行描述。概念描述主要分为两类描述:区别性描述和特征性描述。区别性描述主要描述不同类之间的区别特性,特征描述主要描述某一类6 对象共有的特征。有多种方法来生成不同类的区别性描述,例如遗传算法、决策树方法等;生成一个类的特征性描述只涉及该类对象中所有对象的共性。2.1.3数据挖掘步骤第一步是数据清洗与集成,数据清洗一般包括消除噪声、推导计算缺值数据、消除重复记录、完成数据类型转换等,其目的是消除噪声和不一致的数据;数据集成是将来自不同数据源中的相关数据进行组合。第二步是数据选择与变换,选择合适的数据来进行分析,其目的是确定发现数据挖掘作对象,即目标数据,它是根据数据挖掘任务从经过数据清理和集成的数据库中抽取的一组数据;数据变换的目的将数据变换或统一成合适形式。第三步是发现模式,选择合适的模型对目标数据集的数据进行挖掘分析,发现模式。第四步是结果评估,对于挖掘分析出的模式,根据一定的评估标准对其进行评估,踢出冗余和无关的规则,某些模式可能与实际不相符或是不能满足用户需求,因此需要返回到前面几个步骤,重新进行数据挖掘。因此数据挖掘的过程是多次迭代的,直到有意义的知识被提取出来。数据预肄理数据选择与变换挖掘分析结果评估i.⋯一一一一一一一一一一...⋯.一一一一一一一......⋯一一一一一一一一一.......!一一一......一一..⋯⋯一一一一一一一...一..一.⋯一一....!⋯.......⋯.......一一一一一....⋯一一.,童,.⋯一一一一..一.....图2.1数据挖掘过程2.1.4数据挖掘在物流中的应用目前,物流领域成为数据挖掘技术的非常重要的应用领域。随着条形码技术的广泛应用,RFID技术的不断发展,物流信息化水平的不断提高,物流企业收集和存储了大量关于货物进出历史记录、货物运输记录、货物库存记录和采购记录等物流信息,积累了大量的数据;另一方面,物流企业为了更好得为客户提供优质服务,降低物流成本,需要在平时的物流经营活动中,进行高效的决策。数据挖掘技术的目的是从大量的数据中获取潜在价值的知识,因此采用数据挖掘技术对物流历史数据进行挖掘分析,获取关于配送模式和趋势、运输行为、库存采购等相关知识,可以用于指导改进配送模式、运输路线和库存管理等,从而提高企业核心竞争力。下面简单介绍数据挖掘技术在物流领域的几个应用方面: (1)优化物流配送在物流系统中,物流中心的选址问题是一个非常重要的问题,最优的方案可以使商品在流通的整个环节实现最大效益,选址问题是一个NP难问题【2引,利用数据挖掘中的遗传算法,对其改进,可以较为快速的获取最佳选址中心。此外在进行物流配送时,可以对可户进行分类,然后再针对性的进行路径安排,从而可以提高配送效率。(2)优化库存决策采用数据挖掘技术对运输数据和库存数据进行分析,决定发货顺序,从而保证一定的库存。通过对库存历史数据进行关联规则分析,可以获取某些货物之间的关联规则,从而可以为库存和采购提供依据,对某货物的库存数据进行分析,还可以预测其需求量,从而及时调整库存,降低供应链成本。(3)优化运输决策随着GPS和GIS等技术在运输监控中的应用,存储了大量关于货物运输的信息,对其进行关联分析,可以获取运输货物之间的关联性,即运输某种货物的顾客可能需要运输其他某种货物。利用这些信息,可以构建货物推荐,优化运输配置和货物组合,为客户提供更加优质的服务。(4)市场和趋势分析利用数据挖掘技术对历史物流数据进行分析挖掘,获取客户的运输习惯和货物趋势等其他重要信息。收集一定时间内的存储的物流数据,对季节性货物的运输量和库存趋势等进行挖掘分析,获取其趋势信息,从而为确定风险货物及运输量和库存运作决策提供支持。(5)货物流向分析随着物联网技术的发展,RFID技术的应用,产生了大量关于货物路径的数据。RFID数据包含着关于某种货物的路径数据信息,RFID数据的特点是数据量庞大性和实时性,传统的查询方法难以获取精准信息,因此需要借助数据挖掘技术对其进行分析,获取物品的移动趋势。利用数据挖掘技术中的序列模式挖掘,对物品的移动路径进行分析,可以获取物品的移动趋势信息,获取货物的流向知识,本文正是研究序列模式挖掘在物流路径数据挖掘中的的应用,利用物流路径频繁模式挖掘频繁路径,可以发现某类货物的货物流向情况。2.2物流路径数据理论2.2.1物流和物流信息化对于物流的理论研究始于20世纪初的美国,1916年美国学者Arch.Shaw首次将物流称为PhysicalDistribution。在他的著作《市场流通中的若干问题》中,Arch.Shaw首次阐述了物流在流通领域的作用,书中指出“物资经过时间或空间的转移,会产生附加值’’。当时的物流被理解为“在连接生产和消费间对 物流履行保管、运输、装卸、包装、加工等功能,以及支持控制这些功能的信息功能,它在物资销售中起到桥梁作用”。随着对物流认识的加深,对物流概念的定义也在不断演进,美国物流管理协会(CLM)对物流进行了多次定义,1986年CLM对于物流的定义是“对物品、服务及相关信息,从起源地到消费地的有效率地、有效益地流动和存储,进行计划、执行和控制,以满足顾客要求的过程”,最新一次在2003年,CLM将物流定义修整为“物流是供应链活动的一部分,是对货物、服务及相关信息从起源到消费地的有效率、有效益的正向和反向流动和储存进行的计划、执行和控制、以满足顾客要求"。物流信息是指反映物流各种活动内容中有关的知识、资料、图象、数据、文件的总称【261,物流信息是物流企业在经营物流活动(如包装、运输、存储、包装和装卸等)而产生的,因此精准和及时的物流信息对物流活动的有效控制具有很重要的意义,物流信息业被称为现代物流的神经中枢。物流信息化是通过使用现代信息技术和开发利用信息资源,对供应链各个企业的计划、协调、客户服务和控制活动进行有效的管理【27|。物流信息化包含两层含义:信息成为物流业务中商流、物流和资金流的载体,通过网络技术进行信息传递;通过信息交换实现物流业务的管理,将现代信息技术应用于整个物流领域以实现物流管理的全面信息化。2.2.2物流路径数据理论2.2.2.1路径数据表示在现代物流中,存在着大量移动的物品,通过数据采集技术记录物品的运动轨迹,产生了大量的路径数据信息。为了管理和应用这些数据,有必要研究路径数据的表示方法。(1)基于线段表示为了准确的获取物品移动过程中的路径信息,需要记录移动物品任意时刻的位置,但是在实际应用中,由于服务器和网络等的限制,一般采取隔一段时间定位移动物品的位置信息。基于线段的路径表示指的是,对移动物品的信息进行采样,每隔一定的时间段来获取移动物品的位置和速度等信息,然后再采样点之间采用线性插值的方式来得到对象的完整路径。文献【28】对于这种表示方法做出了如下定义:采用形如MO=(ID,P,f)的数据元组来记录某一移动物品的位置信息,,其中肋是移动物体的唯一标识符,P是标识为仞的物品在t时刻的位置信息,t为移动物品的记录时间。其中P采用二元组表示,P=仁,yJ,x和Y分别表示二维空间里的横纵坐标值。9 路径则表示为一系列采样点的位置信息,即MOP=(MOl,M02⋯.,MOn),其中n表示采样的个数。在得到移动对象的采样点之后,在采样点之间采用线性插值方法进行连接,则得到对移动物品的完整痕迹。采用这种方法来表示物品的路径数据,和物品的路径数据有一定的误差。(2)基于移动模式串的表示采用基于线段的表示方法,不能准确的记录物品的路径数据信息,存在一定的误差,随着数据采集技术的不断更新,RFID技术用于物流供应链管理,通过将运输的物品贴上RFID标签,物品经过物流的某个节点时,RFID阅读器会记录此时的详细位置信息和时间信息,因此能够完整的获取物品移动的路径信息,Chen[29】等人提出了用一系列位置构成序列的移动模式串方法来表示路径数据。物品的位置信息描述为形如(ID,Location,t)的数据元组,ID是物品的唯一标识符,Location表示t时间所处位置信息,t表示记录的时间,其中Location是逻辑地点或业务阶段的标识符,可以表示仓库、配送中心和零售商等。考虑对某个地点信息记录一次,按照时间顺序对一些关于某个物品的记录信息排序,则得到该物体的移动路径表示为ID(Locationl,Location2,⋯,Locationm)的序列。如某物品先后经过物流节点s1,s2,s5,s6则该物品的路径表示为(sl,‘s2,s5,s6),关于路径数据的概念在第四章有较为详细的介绍。本文采用基于移动模式串的表示方法,因为该表示方法能够更加精准的描述物品的路径信息,便于对路径数据进行数据挖掘分析,但是对于网络和服务器的性能有更高的要求,因此本文研究云计算环境下的物流路径数据分析工作。2.2.2.2路径数据类型(1)简单的路径数据某移动物品的路径表示为形如ID(Locationl,Location2,⋯,Locationm)的数据,称为简单路径数据。这里ID表示移动物品的标识,Location表示物品路径节点。实际上路径数据是由一系列路径节点按照时间顺序组成的,因此实质上属于序列数据。这里的路径节点只是位置的标识符。本文研究简单路径数据的数据挖掘分析,是路径数据挖掘的探索性研究。(2)复杂的路径数据复杂的路径数据是指除简单路径数据之外的还包含了时间信息,位置详细信息和物品多维信息等的路径数据[151。例如包含时间信息的路径数据表示为ID<(Locationl,t1),(Location2,t2),⋯,(Locationm,tm)>。10 2.2.2.3路径数据挖掘(1)路径聚类分析,根据路径之间的相似性,对路径数据分簇,是簇内相似性最大,簇间相似性最小,对路径数据进行聚类分析可以发现路径的分布模式,和路径之间的关系。路径聚类分析的关键问题是相似性度量。(2)异常路径分析,用数据挖掘中的孤立点分析方法来发现异常路径,异常路径分析用于物流的货物流向分析时,异常路径可能是货物丢失和不能按时到达的原因。(3)路径频繁模式分析,由于路径其实是一种序列数据,因此用序列模式挖掘方法发现频繁出现的的路径序列。本文研究的正是路径频繁模式挖掘问题。2.3云计算理论2.3.1云计算定义云计算这个概念首先由Google公司的首席执行官EricSchmidt于2006年提出的,短短几年时间,云计算在企业界和学术界掀起了一股应用和研究热潮。根据ISO组织2009年的调查,云计算的定义多达20种。目前唯一一个得到广泛认可和支持的定义是由NIST(NationalInstituteofStandardsandTechnology,美国国家标准和技术研究院)提出的云计算的定义。2009年4月NIST的PeterMell和TimGrance提出的云计算定义【3o】:“云计算是一种能通过网络以便利的、按需付费的方式来获取计算资源(包括网络、服务器、存储、应用和服务等)并提高其可用性的模式,这些资源来自以共享的、可配置的资源池,并能够以最省力和无人干预的方式来获取和释放”。在云计算中,大量的软、硬件资源被整合在一起,以分布式共享的形式存在,可以动态的扩展和配置,最终以服务的形式提供给用户。用户按需租用云中的资源,无需了解云内部细节,也无需管理,只需按使用量付费即可。云计算是一种新的商业模式,它不同于传统的IT运用模式,许多专家认为云计算可能改变整个互联网的产业结构。2.3.2云计算特点云计算具有如下特点:(1)超大规模“云”具有相当大规模[311,Google公司的云计算中心已经拥有100多万台服务器,IBM、Amazon、Microsof和雅虎等企业也具有相当规模的云计算中心。云计算能为用户提供强大的存储功能和计算能力。(2)虚拟化虚拟化‘321是云计算最突出的特点之一。虚拟化技术云计算的重要根基,它把各种IT资源、软件、硬件、操作系统和存储网络等要素都进行虚拟化,放在云 计算平台中统一管理。云计算中所有应用的物理平台和部署环境都依赖虚拟平台的管理、扩展、迁移和备份,各操作都通过虚拟化层次完成。(3)可伸缩性可以快速、弹性的给用户提供服务,“云”的规模能能快速的扩展,以满足应用的需求,也可以迅速的释放,实现缩小。对用户来讲,可以申请的服务看起来是无限的,可以在任何时间购买任何数量的服务。(4)面向服务特性在云计算中,通过开发的标准和协议,软、硬件资源被抽象成资源,并以服务的形式提供给客户。(5)通用性云计算并不局限于某一个应用,在云计算平台下,可以为用户构造多种应用,可以同时支撑不同的应用运行。(6)低费用云计算通过整合分散的、甚至是闲置的资源来提供服务,这种模式能够降低成本是显然和必然的,资源共享还能实现节能和减排。(7)安全性云计算中的各种资源在物理上是以分布式存在的,即云计算系统在物理上是一个分布式系统,对信息安全和灾害防御等问题有更严格的要求,因此更需要先进的技术来保证安全性。2.3.3云计算体系架构云计算是一种崭新的计算模式,是分布式计算、并行计算和网格计算等信息技术的进一步发展。按照NSIT对云计算的定义,云计算的体系如图2.1所图2-2云计算的体系架构12 (1)IaaS(InfrastructureasaService,基础即服务):交付给客户的服务是各种基础设施资源的运用,包括网络、存储和计算等。利用这些基础设施资源,用户可以部署和运行操作系统和应用程序。由供应商管理和操控各种底层云计算基础设施,客户可以控制操作系统的选择、存储空间、部署的应用。在这种服务模式下,客户无需购买硬件设备和相关软件,也无需考虑各种维护方法,通过租用云计算提供的相应的基础设施,即满足自己的需求。IaaS的典型实例有:AmazonEC2,S3。AmazonEC2采用Xen虚拟化技术,以Xen虚拟机的形式动态的为用户提供计算资源。Amazon公司还为用户提供简单存储服务(SimpleStorageService,S3)。(2)PaaS(PlatformasaService,平台即服务):采用提供的某种开发语言和工具,客户开发应用程序,将应用程序部署到供应商提供的云计算基础设施上。供应商提供的服务包括运行时环境、共享服务及自动化管理服务等。客户无需考虑底层基础设施,但是可以控制部署在基础设施上的应用程序。同传统的开发模式相比,采用PaaS服务模式开发应用程序,为软件开发和应用带来了很大的便利,一方面,由于PaaS提供的高级编程接口简单易懂,可以大大缩短软件开发周期;同时采用同一平台开发和运行应用程序,兼容性问题也大大减少。典型的PaaS实例有Google公司的GoogleAPPEngine和微软公司的windowsAzurePlatfonil,GoogleAPPEngine为用户提供了支持java和Python开发Web应用;WindowsAzurePlatforill,运行在微软数据中心的服务器和网络基础设施上,通过互联网来对外提供服务。(3)SAAS(SoftwareasaService,软件即服务):交付给客户的服务是云计算基础设施上运行的应用程序,即软件提供方按照客户的需求,将应用程序租用给客户,客户通过瘦客户端界面即可访问和使用。SaaS云供应商负责管理和维护云中的各种软硬件设施,用户无需考虑软件的安装、升级和病毒防御问题。与传统的桌面软件相比,SaaA服务模式的优势体现在:首先使用简单,客户无需安装应用软件的副本,也无需考虑维护和升级等问题,无论何时何地,只要连接网络就可以访问自己定制的服务;其次SaaS支持公开协议,现有的SaaS服务支持公开协议(HTML4/HTML5),因此用户只需通过浏览器就能访问和使用SaaS服务;SaaS服务初始成本低,用户以租用的形式就可以得到自己所需的SaaS服务,无需在使用前支付昂贵的许可证等费用。SaaS服务产品众多,具有代表性的有Google公司和GoogleApps和微软公司的OfficeWebApps。 2.3.4云计算关键技术云计算是一种新型的超级计算方式,以数据为中心,是一种数据密集型的超级计算【331。许多企业推出了自己的云计算平台,虽然业界对于云计算还未统一标准,但基本上都涉及了虚拟化技术、资源管理技术和任务管理等技术,其中云计算较为独特的技术有数据存储、数据管理和编程模式,本文从以上三个技术来介绍云计算的关键技术。2.3.4.1数据存储技术云计算环境采用分布式和冗余方式来存储数据,采用分布式能实现对海量数据的存储,并且经济可行;采用为同一数据备份这种冗余存储方式,能够保证数据的可靠性。为了保证对海量数据的访问和使用,云计算的数据存储技术必须具备高容错、高可靠性、高扩展性、高获得性和高吞吐率等特征。目前,云计算数据存储技术主要有Google公司开发的GFS(GoogleFileSystem)[34】和Apache基金会开发的Hadoop实现的HDFS(HadoopDistributedFileSystem)[351。大部分IT商,包括雅虎、英特尔的云平台采用的是HDFS对数据进行存储。HDFS是基于GFS的开源实现,是一个主/从(maser/slave)体系结构,如图2.2所示。HDFS集群拥有一个NameNode和很多个DataNode,可以被多个客户端(Client)同时访问。NameNode部署在一个专门的机器上,可以看成是HDFS的管理者,主要负责管理文件的系统命名空间,记录元数据的变换,协调客户端对文件的访问等。DataNode存储实际数据,HDFS的数据通常是按照64MB被分成不同的数据块,每个数据块分散的储存在不同的DataNode。客户端要访问数据时,先与NameNode通信,获取文件的的数据块位置,然后直接从DataNode上读取文件。HDFSArchiteeture图2-3HDFS体系结构14 2.3.4.2数据管理技术云计算显著优势之一是能对海量数据进行存储和处理分析,从而为客户提供优质服务。虽然GFS和HDFS等分布式文件系统较好的解决了海量数据的文件组织问题,但若要实现大数据集的高效管理、快速定位等问题,需要开发专门的数据管理系统来实现对云计算环境下结构化数据的管理。目前较为成熟的云计算数据管理系统有谷歌的BigTable[36]并1]Hadoop的子项目Hbase【3列。Hbase是较为成熟的支持结构化数据的云数据管理系统之一,是GoogleBigTable的开源实现。Hbase是一个稀疏的、长期存储的(存在硬盘上)、多维度的、排序的映射表。每张表元素由行健(row)、列(column)(<列簇(family)>:<限定符(qualifier)>)和时间戳(timestamp)唯一确定。每个值是一个不解释的字符数组,数据都是字符串。2.3.4.3编程模式云计算技术面临的又一个重要问题是如何对大量的数据进行计算,一般采用的方法是并行计算。现阶段,对于很多开发人员,并行计算还是一个较为棘手的问题,特别是在分布式环境下。为了使一般的开发人员都能享受云计算带来的好处,云计算主要采用MapReduce[弼】编程模型。MapReduce是一种简化的并行计算的编程模型,它屏蔽了底层并行计算的诸多细节问题,开发人员只需设定Map和Reduce两个函数即可。关于MapReduce,本文第五章节有详细介绍。2.4本章小结基本理论介绍,本章首先介绍了数据挖掘的基本定义,数据挖掘的分类,数据挖掘的一般步骤和其在物流领域的应用情况;随后介绍了物流数据路径理论,包括物流和物流信息,物流路径数据的表示及其分类,简单介绍了几种路径挖掘任务,最后介绍了云计算的定义、特点、体系结构和关键技术。 第三章序列模式挖掘基本理论3.1序列模式基本原理随着数据挖掘在DNA分析和Web访问等领域的研究和应用,序列数据中的知识发现问题成为数据挖掘一个活跃的研究分支。序列模式问题最早由Aarawal和Srikant[”】于1995年提出,最初提出是想通过在顾客交易序列数据库中挖掘频繁序列,从而发现一段时间内顾客的购买活动规律。例如顾客购买办公设备时,先买了联想的一套台式机,两个月之后可能会购买内存条,一个月之后购买打印机。序列模式类似于关联规则,不过其更强调事件的顺序和时间属性。3.2序列模式基本概念Aarawal和Srikant[”】给出关于序列模式的主要概念如下:给定一个顾客交易数据库D,每项交易包含如下字段:顾客标识(customer.id),交易时间(transaction.time),以及在每次交易中购买的商品项(items)。假定在同一交易时间同一顾客只进行一次交易,每次交易不考虑所购买项的数量,只考虑一个项是否购买。表3.1顾客交易数据库示例CidTidItem22013.01.10a,b52013.01.11C22013.01.13d22013.01.14e.{,g42013.01.15d32013.01.16d,h,g12013.01.18d12013.01.20C42013.01.22e,g42013.01.26C表3-2顾客序列数据库示例CidItemSet1<(d),《c)>2<(a。b),《d)-(e,f,g)>3<《d.h。g)>4<(d),(e.g)t《c)>5<纠>16 定义3.1(项集)设I={‘,f2,...,f。)是项的集合,其中it,是数据项(item)。项集是非空的项的集合。定义3.2(序列)序列是由若干项集组成的有序队列,记作一条序列S为,其中s七是一个项集。定义3.3(子序列)A=<以J,a小⋯Om>,序列B=<6J,b2,...,6。>,若存在一组正整数il<如<⋯<如,满足q∈‰,口:∈bi,,..。,am£包,则序列A包含于序列B,或称A是B的子序列。例如<(4)(5,6)(2,3)>包含于序yIJ<(4,5)(5,6,8)(2,3,4)(2)>,因为(4)∈(4,5),(5,6)∈(5,6,8),(2,3)≤(2,3,4)。在一个序列的集合中,若序列S不包含于任何其他的序列,则称序列S为极大序列。定义3.4(序列长度)一条序列所包含项集的个数为序列的长度。长度为k的序列成为k序列。一个顾客的所有交易可以组成一条序列,每次交易看成是一个项集,所有的交易按照时间升序排列,则称之为顾客序列。记乃,乃,⋯乃,为顾客的交易时间,乃记为第i次交易时间。记ItemSet(Ti)为乃时间的交易项。则该顾客的顾客序列为.所有顾客的顾客序列构成顾客序列数据库DB,如表3.2所示。定义3.5(支持度)若序列S包含于某顾客序列中,则称该顾客序列支持序列S,序列S的支持度(support)定义为顾客序列数据库DB中支持S的顾客数(也称S的支持数,记为count(S))与DB中顾客总数量之比,即Support(S)=eount(S)/IDBI,定义3.6(频繁序列)在一个顾客交易数据库中,给定一个最小支持度阈值(minsup),其支持度大于阈值的序列,成为频繁序列。在一个交易数据数据库中,用户指定一个最小支持度阈值,序列模式挖掘问题就是找出所有满足最小支持度阈值的序列中,发现最大序列,这种最大序列也成为序列模式。3.3序列模式发现算法序列模式挖掘算法主要分为两大类,一类是基于Apriori[401性质的。例如AprioriAll,GSP算法等等。另一类是由Han[41】等人提出的基于模式增长方法。例如Prefixfan等。Apriori类算法这类算法主要有Agralwan等人提出,主要分为两大步,第一步扫描数据库,生成候选序列,第二步基于Apriori性质进行剪枝。Apriori性质:频繁项集的所有非空子集也是频繁的。在顾客序列中,则表现为频繁序列的非空子序列也是频繁的。基于以下观察,若某顾客序列支持序列S,则必然支持S的子序列,因此子序列的支持度不小于S的支持度。 Apriori类算法主要分为以下几个阶段:(1)排序阶段(sortphase)这一阶段通过排序将顾客交易数据库转换为顾客序列数据库,排序规则是以Cid为主键,Tid为次键排序,表3.2是表3—1排序之后得到的顾客序列数据库。(2)大项目集阶段(1itemsetphase)这一阶段用于发现所有的频繁1序列,首先扫描数据库,对每个项集的支持度进行计数,通过与最小支持度阈值比较,找出所有的频繁项集(也称大项集),由每一个频繁项集则构成的长度为一的序列则为频繁1序列。在进行关联规则挖掘时,也需首先找到所有的频繁项集。两者的计算过程类似,其区别在于对项集的支持度定义不一样。因此可以采用关联规则挖掘算法来发现频繁项集,不过因为前者的支持度定义为序列数据库中支持该项集的顾客数,而后者的支持度定义为支持该项集的交易个数,因此在支持数计数上应做些相应的改动。对发现的所有频繁项集。每次扫描数据库时,为了降低检查一个候选序列是否包含于一个顾客序列的时间,可以将发现的频繁项集将其至一个连续整数的集合。假定最小支持度阈值25%,则表3.2顾客序列数据库的大项目集和一个可能的连续整数映射如表3.3所示。表3-3大项目集频繁项集映射(d)l(e)2(g)3(e。g)4《c)5(3)转换阶段(transformationphase)由于在序列阶段,需要重复地判断一个给定候选序列集合中的哪一个被包含于一个顾客序列。为了快速的完成这个过程,可以将顾客序列进行转换。转换的规则如下:在一个转换后的顾客序列中,每个交易被包含于该交易中所有频繁项集的所替换。若一个交易不包含任何频繁项集,则在所转换后的序列中不保留该交易;若一个顾客序列不包含任何频繁项集,则从转换后的数据库中删除该顾客序列(但是总的顾客数不变)。 表3.4转换后的数据库原始顾客序列转换后的顾客序列映射后((d),《c)><{(d)(c)}><{1){5}><(8.b),(d),(e,f,g)><{(d)}{(e).《g).(e.g)}><{1},{2,3,4)><《d.h.g)><{《d).(g》}><{1,3}><《d),(e.g),《c)><{(d)}.{(e).(g).(e.g)}。{(c)}><{1}{2,3,4){5)><俐><{(c)}><{5)>(4)序列阶段(sequencephase):用符号三后表示所有k频繁序列集合,C篁表示所有候选k序列集合。类Apriori算法如下所示,每次计算都利用前一次计算的频繁序列来产生候选序列,然后通过遍历整个数据库后计算每个候选序列的支持数,从而判断是否为频繁序列,在第一次计算中,大项目阶段输出的用来初始化频繁1序列集合。1)算法的框架如下:三,:{所有频繁1序列)//大项目阶段的输出结果for(k=2;Lk.,≠囝;七++)dobeginCk=apriori.generate(L,一J)表示从三¨中产生的新的候选序列;for在数据库中的每个顾客序列Cdo对于每个被C包含的并且属于G的候选序列的计数增加1;L七=G中最小支持度大约最小支持度阈值的候选序列endanswer=U止七?2)候选序列产生候选序列产生,主要是借鉴Apriori性质的反单调性,即若一个序列不是频繁的,则包含他的任意序列也不是频繁的。生成候选序列函数apriori-generate以所有的七一J频繁序列作为其输入参数,主要通过自连接和剪枝两步来实现,计算过程如下自连接:insertintoCkselectP.1temsetl,P.1itemset2,⋯,P.1itemsetk.1,g.1itemsetk.1,fromPqwhereP.1itemseh=g.1itemsetl,P.1itemset2=q.1itemset2,⋯,P.1itemsetk.2=q.1itemsetk.2剪枝:对于中c∈伉若c的某个后一?子序列不存在三¨中,则删除候选序列C。19 for所有C∈Ct的序列doforC的k.J序列PdoIf(P诺Lk.J)thendelete来自于G的c3)子序列函数,对产生的候选序列集的每个序列,通过扫描顾客序列数据库,进行计数。每扫描到一条顾客序列,则对于其包含的所有候选序列的支持数增加一。因此,对于给定的一个顾客序列S和候选序列集合G,子序列函数须对所有属于Q且被S包含的候选序列。算法主要利用hash函数来组织候选序列,从而减少了待检查候选序列的数量。哈希树的叶节点包含了候选序列的列表,hash函数的内部节点包含一个hash表。4)最大序列阶段(maximalphase)若序列模式挖掘的目的是要挖掘出所有的最大频繁序列,则算法将包含最大序列阶段。由于在序列阶段,所有的频繁序列的集合三都被发现,可以运用下列算法来发现最大序列。假定最长的频繁序列的长度为n,则for(k=-n,k>l,J卜一一)dofor(每个k频繁序列P七∈L)do从£中删除P七的所有子序列;3.4序列模式的应用和发展自从Aarawal和Srikantl995年提出序列模式挖掘的概念以来,短短几十年时间序列模式挖掘得到了广泛的应用,下面简单的介绍序列模式在以下几个领域的应用情况”21。(1)客户购买行为序列分析。主要应用在零售业中,收集顾客购买商品序列数据同时对其进行序列模式挖掘分析,发现顾客购物的频繁序列模式,依据分析得到的频繁模式信息对顾客购物行为进行预测,从而可以制定相应的精准营销策略,以此引导顾客消费行为,最终可以增加零售业的销售额的同时提高顾客消费体验。(2)Web挖掘:通过Web日志和相关数据来收集顾客浏览网页数据,并对其分析,以此获取顾客的浏览网页的行为习惯,发现竞争对手和客户等信息,依据顾客浏览网页信息,可以不断改善网站的布局和机构,优化网络平台,提高网络服务质量;通过Web挖掘分析用户浏览网页数据,可以发现用户偏好,发现潜在客户、用户和市场。(3)DNA序列模式分析:DNA和蛋白质序列是基本的的生物学数据,数据量巨大,简单的数据统计分析难以有效高速地处理这些大量的数据。DNA序列模式挖掘是指从某一指定的DNA序列中寻找重复模式,或是从多条DNA序20 列组成的序列集合中挖掘出保守模式。因此,DNA序列模式分析技术可以用于辅助发现生物生命特征本质,同时可以用于帮助分析生物进化趋势。(4)入侵检测。由于黑客攻击技术的不断提高,大多数入侵行为不仅仅是由单一的事件构成,而是由一系列按时间或相关顺序组成的攻击步骤,针对这种连续类型的入侵攻击,采用关联规则、分类分析等的数据挖掘算法就显力不从心。由于序列模式挖掘是与事件发生顺序即时间相关的技术,因此,在入侵检测中运用序列模式挖掘算法,可以反映出这种攻击在时间顺序上的前后相关性,从而可以挖掘出入侵行为的序列特征规则。针对不同的商业应用,对序列模式挖掘也有进一步研究,下面主要从以下几个方面介绍序列模式挖掘的研究情况。(1)基本算法研究。传统的序列模式挖掘算法,其本身固有的缺点有:需要多次扫描数据库,当模式较长时会产生很多的无用序列和候选序列等。目前序列模式挖掘算法主要包含两类:一类是基于Apriori思想,一类是基于模式增长,两类算法各有优缺点,如何取长补短是科研人员面临的一个重要问题,其次,由于云计算技术的成熟和应用,如何对传统算法进行并行化改进,使之能能够在云计算平台下运行也是一个研究重点,本文正是从这方面研究序列模式挖掘的基本算法AprioriAll的。(2)基于约束条件。在实际应用中,进行序列模式挖掘有一定的约束条件,约束条件可由用户或专家指定,而且若是没有一定的约束条件,序列模式挖掘过程中可能会产生很多无意义的模式,从而降低了挖掘的效率和挖掘结果的可用性,因此有必要研究基于一定约束条件的序列模式挖掘。现今序列模式挖掘的约束条件主要有数据项约束、正则表达式约束和可变支持度约束。(3)增量式更新研究。由于数据采集技术的发展,许多数据处于动态的变化中,同时由于及时决策的需求,需要对动态数据进行序列模式挖掘,而现有的很多的序列模式算法都是研究静态数据的,因此可以预见序列模式增量式更新研究将成为序列模式研究人员的一个研究热点。3.5本章小结这一章主要详细的介绍了序列模式挖掘的相关问题,首先介绍了序列模式的基本原理和基本概念,随后详细介绍了基本的序列模式挖掘算法.类Apriori算法,最后概括的介绍了序列模式挖掘在的应用领域情况和序列模式挖掘未来主要发展方向。2l 第四章物流路径频繁模式挖掘物流路径数据实质是一种序列数据。物流频繁路径数据挖掘是指从物流历史运行数据中发现频繁出现的路径序列或者其子路径序列,物流路径频繁模式挖掘具有重要的应用价值,这是因为,通过路径频繁模式挖掘可以从大型的物流数据库和数据集中发现频繁出现的路径等信息,从而获取到商品移动过程的情况和其表现出来的移动趋势信息,用这些信息可以支撑相关决策,优化规划设计等,最终实现降低物流成本的目的。本节研究物流频繁路径挖掘问题。4.1频繁模式挖掘应用物流路径频繁模式挖掘,可以辅助优化和调整供应链,可以优化物流配送等,在物流经营活动中具有重要的应用意义。通过对物品路径数据对象进行挖掘分析可以发现物品移动的路径频繁模式,从而可以深入了解物品在移动过程中的详细情况,以及这些频繁的路径隐含着的的一些移动趋势信息。从全局的角度来看,从路径频繁模式可以帮助企业认识哪些区域上的哪些物品移动比较频繁,以及物流路径频繁模式是的分布情况等重要信息。单就从某物品的某个局部的路径节点信息来看,从出现的路径频繁模式可以判断是否有某种物品频繁地经过这个节点,还可以获取到这些物品以何种方式,即以何种路径频繁模式通过进入这个节点,以及通过哪种路径频繁模式离开这个节点,若是从单个节点进行分析是无法获取这些信息的,必须基于整个物流路径进行分析而获取。这些频繁路径隐藏的信息可以帮助企业了解当前状况,发现目前面临问题,改良当下的状况,更重要的是可以辅助企业制定一段时间内的相关规划设计和提供决策支持。(1)车辆运输。频繁路径模式可以应用于车辆路径记录时,车辆的移动的频繁路径可以用于发现出哪些行车线路比较繁忙,哪些路线过往车辆比较多,即哪些路线比较受到青睐,被大量的车辆采用,因此可以用于预测哪些行车路线出现堵塞的可能性大小。对车辆路径进行频繁模式挖掘时,可以基于不同类型车辆进行频繁路径模式挖掘,例如出租车,客车,货车,公交车,私家车行车路线等分别进行频繁模式挖掘,挖掘出它们不同的频繁行车路线信息。对在频繁行车路线上的某个检测节点进行分析,频繁路径模式可以发现这个节点是否会出现高流量,同时发现什么类型的车辆以何种行车路线进入这个节点,以及这种类型的车辆又是以何种行车线路离开这个节点的,若是从单个检测节点进行车流分析是无法获取这些信息的,必须基于整个行车路径进行分析而获取。这些关于车流量的繁线路信息,可以用于帮助进行车流信息采集,辅助道路设计、合理规划交通,对改善交通等都具有重要的应用意义。(2)货物流向分析。通过对路径数据对象进行频繁模式挖掘,发现频繁出现的路径模式,从中可以帮助企业了解到哪些商品出现哪种频繁转移路径信 息。这里的路径指的是由供应链中各个节点组成的序列。同时可以挖掘分析基于某种商品或是某类品牌的路径频繁模式,从而了解这种商品或是这种品牌的商品的流动趋势情况。或是对同类商品的不同品牌进行路径频繁模式挖掘,借此来了解同类商品的不同品牌之间流通状况等信息。频繁路径模式挖掘还可以用于百货商场,通过RFID标签,可以完整的收集顾客在商场购物的路径和购物模式数据,对这些数据进行分析,可以发现超市频繁出现的行驶路线和频繁购物模式【44|。这里只是简短的介绍了物流路径频繁模式挖掘的一小部分应用,随着GPS,GIS和RFID等技术的普遍应用,会产生愈来愈多的路径数据。对这些路径数据进行频繁模式挖掘,将会获取更多有用的知识,这些知识将会辅助企业降低物流成本,提高物流服务水平。4.2频繁路径挖掘4.2.1物流频繁路径挖掘相关概念一个物流活动数据库LDB由以下字段组成:物品标签(ProductCode),时间字段(Tid),以及在每次活动中位于的地点字段(10cation)。即每条记录形如(Pc,location,Tid),假定每次活动只记录一次时间。一个物流活动数据库示例如表4一l。定义4.1(路径)一个物品的所有活动记录放在一起可以看做是一条序列,其中每一个活动记录对应着一个地点(Location),将此序列按照时间升序排列则构成一条路径(path),记作一条路径为P=,每个表示地点信息的字段认为是一个路径节点。一个物流活动数据库中的所有物流活动数据路径构成路径序列数据库,表4.2为由表4.1转换的物流路径序列数据库(LPDB)。定义4。2(子路径与超路径)假设两条路径S=,P=,m。定义4.3(路径序列长度)一条路径序列所包含路径节点个数为路径序列的长度。长度为k的路径序列称为k路径序列。定义4.4(支持度)若路径P是路径序列数据库记录d?路径数据的的子路径,则称该路径序列支持路径P,路径尸的支持度(support)定义为路径序列数据库LPDB中支持P的记录数(也称尸的支持数,记为count(P))与LPDB中序列总数量之比。support(P)=count(P)/ILPDB其中ILPDB[是路径序列数据库中记录总个数。 定义4.5(频繁路径)假定一个最小支持度阈值min—support,若路径P的支持度support(P)不小于最小支持度阈值,即support(P)≥min—support,则称路径P为频繁路径。表4.1物流活动数据库示例PcTidloc12013.01.0l合肥22013.01.03上海32013.01.03上海l2013.01.04南京32013.01.06杭州32013.01—07宁波22013.01.09南京22013.01.11宁波定义4.6(封闭频繁路径)若路径尸为频繁路径,且不存在路径P’,P、的support(P)=support(P、),且pC_p、,则P为封闭频繁路径。通过以上对物流路径的定义可知,路径数据其实是一种序列数据。频繁路径挖掘也有其Apriori性质。性质4.1若一条路径P不是频繁路径,即P的支持度小于给定的最小支持度阈值(minsuppport),则路径尸的任意超路径都不是频繁路径。表4-2路径序列数据库示例PcPath1<合肥,南京>2<上海,南京,宁波>3<上海,杭州,宁波>因为路径数据其实是一种特殊的序列数据,则频繁路径的挖掘方法,可以采用序列模式挖掘方法。关于序列模式挖掘的理论知识、方法已经在第二章介绍。4.2.2物流路径数据特性从上面分析可知,路径是一种序列数据,不过物流中某类或某个物品的移动路径数据有自己的特性‘14】。 (1)路径序列中每一个项集都是由一个元素组成的项集,这为计算带来了方便;(2)物品的移动路径位置往往不会重复,因此一般的移动路径不会形成回路;(3)用户更关心位置数据。从上面的几个特性考虑生成候选序列,可以减少无用的候选序列。4.3RFID数据(1)RFID技术无线射频识别(radiofrequencyidentification,RFID)技术,是一种非接触的自动识别技术。它通过传播和接收无线电讯号,从而识别特定目标并读写相关数据,其优点之一是,识别系统和所识别的目标之间不需要建立机械或光学接触。一个RFID系统通常由三大基本部分组成,分别是应答器、阅读器和应用软件系统。一般由带有唯一电子编码的标签作为应答器,应答器附在特定目标上,用于标识目标对象;阅读器是可以读取(或写入)标签的设备,可以是手持式RFID阅读器或固定读写器;应用软件系统,主要是对收集到的数据进行处理,从而可以供人使用。RFID读取数据的一般过程为,当贴有RFID标签的物体进入到RFID阅读器可读写范围时,RFID阅读器就会自动记录RFID标签中的数据信息,同时产生由逐条RFID数据记录构成的RFID数据集。近年来,随着RFID技术的不断发展和成熟,RFID技术越来越受到产业界和学术节的关注,RFID技术普遍用于商品的整个供应链传输过程中,用于识别追踪商品的移动数据,获取商品的路径数据,发现商品的移动趋势等信息,从而优化物流管理,提高经营效率。(2)RFID数据RFID设备阅读器隔一段时间扫描一次范围内的RFID标签,则会产生一条条形如(EPC,location,time)形式元组的RFID数据记录[43】,EPC(EctronicProductCode,产品电子代码)是由国际条码组织推出的新一代产品编码体系,其载体是RFID标签,可以唯一的标识一个物体;location表示物品被扫描时记录的地点信息,time表示物品被扫描时所记录的时间信息。由于某个物品可能在某个地点停留一定的时间,会产生多个(EPC,location,time)的数据,因此可以对数据进行一定的处理,将数据记录为(EPC,location,duration),其中duration表示某物体停留在某地的持续时间,将具有相同EPC记录的多个数据(EPC,location,duration)按照时间的先后顺序组合起来则得到一种序列数据(10cationl,location2,⋯,locationk)。 通过RFID技术可以识别和追踪物品的移动数据,因此可以作为物流路径数据频繁模式挖掘的数据来源之一。4.4基于Apriori思想的频繁路径模式挖掘由于路径序列作为一种序列数据,因此可以直接使用序列模式挖掘基本思想,采用AprioriAll基本算法进行频繁路径挖掘,其频繁路径挖掘过程大致如下。表4.3是一个经过排序后的路径数据库示例,设其最小支持数是2。路径P=<北京,济南>是频繁路径,因为记录S004、S005、S008和S009包含该路径,即其支持数count(尸)=4,满足频繁路径定义,但是路径<北京,济南>不是封闭频繁路径,因为路径<北京、济南、南京>包含该路径,且其支持数是2。对于该路径数据库,利用序列模式挖掘发现频繁路径模式过程如下:(1)排序阶段,由于给出的是路径序列数据库,无需重复这个过程表4-3路径序列数据库Sid路径序列S001北京,南京,扬州S002北京,上海S003济南,扬州S004北京,济南,南京S005北京,济南S006济南,上海,扬州S007天津,上海S008北京,济南,上海,南京S009北京,济南,上海(2)大项目集阶段,扫描路径数据库,对每条记录进行计数,获得频繁项集支持数,如表4.4所示。表4.4候选1序列项集支持数北京6济南6上海5南京3扬州3天津1 通过比较给定的最小支持数,删除非频繁项集,得到频繁1序列,同时将其映射到字符串,映射关系如表4.5所示。(3)转换阶段,按照第三章3.3节的转换规则,得到转换后后的序列数据库如表4-6所示。表4.5频繁1序列频繁项集映射北京sl济南s2上海s3扬州s4南京s5表4-6转换后的路径数据库原始路径序列转换后的路径序列映射后<北京,南京,扬州><{北京,南京,扬州}><北京,上海><{北京,上海)><济南,扬州><{济南,扬州}><{北京,济南,南京}><{北京,济南)><济南,上海,扬州><{济南,上海}><天津,上海><{上海)><北京,济南,上海,南京><{北京,济南,上海,南京}><北京,济南,上海><{北京,济南,上海)>(4)序列阶段第一步,基于Apriori思想,从频繁l序列集合中生成候选2序列,扫描数据库,计算支持数,结果如表4—7所示。基于给定的最小支持数,删除候选2序列集合中的非频繁序列,得到频繁2路径序列集合,如表4.8所示这种频繁路径序列挖掘方法,直接利用了Apriori性质,从上面表4.7运算结果可知,生成了大量无用的候选序列,例如候选2序列(s1)(s1),是无意义的,因为根据4.2.2的物流路径数据的特性(2)一路径无回路。除了算法本身固有的缺点之外,其实并未并针对路径数据特性,进行一定的改进。此外,由于基于Apriori思想的序列模式挖掘是通过扫描数据库来发现频繁序列,因此当数据量激增时,需多次扫描数据库,这无疑将需要巨大的内存空 间和计算时间。云计算环境下,采用MapReduce计算模式,因此需要对其改进使之适用于MapReduee并行计算模式,能够在云计算环境进行频繁路径挖掘。表4.7候选2序列候选序列支持数《s1)(Si)0(S1)(S2)4(S1)(s3)3《S1)(s4)3(s1)(s5)1(s2)(s1)0(S2)(S2)0(s2)《s3)3《s2)(s4)2《S2)(s5)2(s3)(s1)0(s3)(S2)0ts3、(s3)0(S3)(S4)1(s3)《s5)l(s4)(s1)0表4-8频繁2.序列频繁2序列支持数<北京,济南>4<北京,上海>3<北京,南京>3<济南,上海>328 4.5本章小结主要介绍了物流路径挖掘的相关理论和频繁路径模式发现基本算法,先介绍物流路径频繁模式的应用情况,接着介绍了进行物流路径频繁模式挖掘的相关概念和性质,并且介绍了物流路径数据的主要来源一RFID数据,由于物流路径数据作为一种序列数据,本章的最后通过一个应用案例展示了AprioriAll挖掘算法发现物流路径频繁模式的过程。 第五章云计算环境下物流路径频繁模式挖掘云计算(CloudComputing)是一种全新的计算模式,利用这种方式,可以有效的整合各类资源,实现软硬件资源和信息的共享,这些资源和信息可以按需的方式提供给用户、计算机和其他设备。随着信息技术的普遍应用和高速发展,数据呈现以GB、TB再到PB级的方式爆炸增长,这给数据挖掘技术带来了极大的挑战。数据挖掘面临的两个最重要的问题是:一是如何对海量数据的进行存储和计算,其次是如何快速、高效同时低成本的从这些数据中挖掘出新颖的、有潜在价值的信息和知识。云计算的出现为数据挖掘技术的发展带来了机遇。云计算技术通过使存储和计算能力均匀的分布到集群中的多个存储和计算节点上,从而实现了对超大数据集的巨大的存储和计算能力。由于可以使用大量的廉价计算机通过集群来代替价格高昂的服务器,云计算大大的降低了成本。使用云计算技术提供的巨大的存储能力和计算能力,数据挖掘技术进入了基于云计算的数据挖掘时代。此外,由于物流信息化水平提高,数据采集技术的更新和发展,对于产生的海量数据需要借助云计算平台进行存储,因此非常有必要借助云计算这个环境来研究物流路径频繁模式挖掘问题。云计算环境下,对物流路径数据进行序列模式挖掘时,由于云计算采用MapReduce的并行分布模式进行编程,因此有必要对序列模式挖掘算法进行并行化改进,使之符合MapReduce模式,能够在云计算分布式环境下进行。本节研究云计算环境下物流路径频繁模式挖掘问题。5.1MapReduce计算模型5.1.1MapReduce计算模型简介MapReduce是云计算的关键技术,最早由Google工程师提出的一种并行编程模型和计算模型[45],这个概念最早来源于函数式语言(比如Lisp)中的Map和Reduce概念的抽象,主要用于大规模数据集处理和计算。MapReduce用于处理大规模数据集时,先将任务分配到由主节点(Master)统一管理的若干个节点,然后通过对各个从节点(Slave)的结果进行汇总,得到最后的结果。简而言之,MapReduce是“任务分解与合并”,它将数据处理过程抽象为Map和Reduce函数,Map函数处理输入的数据对(key,value)(键,值)对,并生成中间(key,value)对,Reduce函数负责合并具有相同key值的中间(key,value)对的value部分进行汇总,生成输出数据,得到最终结果。MapReduce计算模型,用户只需设定两个函数Map和Reduce。而无需考虑并行过程中的其他问题,如分布式存储、工作调度、负载均衡等,因此易于实现和运用。其次,现实生活中,很多的问题都可以通过“任务的分解和合并”进行处理,因此MapReduce具有普遍的适用性。同时,MapReduce模型可以用于基于大量普通PC机组建的超大集群上并发执行,对硬件要求低。30 5.1.2MapReduce计算模型过程Mapreduce的计算原理如下:第一划分阶段,用户程序根据所在的分布式环境和数据集特点,合理的将大数据分成M个数据块。第二任务分配阶段,MapReduce框架为每一个数据块产生一个Map任务,同时产生尺个Reduce任务,Maser节点将M个Map任务和R个Reduce任务分配到空闲的工作节点。(此处M的大小取决于数据块的个数,即一个数据块产生一个Map任务,尺的大小取决于工作节点的个数)。第三Map阶段,被分配任务的节点进行Map运算,根据用户定义的Map函数,处理输入的数据键值对(key,value),同时解析出中间键值对(key,value)。第四Combine阶段,当Map阶段输出的数据量很大时,用户可设置Combine函数,对具有相同key值的中间键值对进行汇总,降低数据传输的开销。此过程不是必须的,视具体应用场景而定。第五Reduce阶段用户程序接受Map阶段的输出键值对(key,value),对结果进行合并。Map和Reduce阶段的输入输出键值对应满足如下要求:Map(k1.v1)一list(k2.v2)Reduce(k2。list(v2))_liSt(v2)当设置了combine函数时,应满足:Map做i.v1)一List(k2。v2)Combine(k2。list(v2))_list(k2。v3)Reduce(k2、list(v3))_list◇3)5.1.3MapReduce处理数据流程MapReduce框架通常有一个主(Master)节点和若干个从(Slave)节点构成,MapReduce中,一个应用程序称为一个工作,一个工作分解成若干个任务,主节点负责调控一个工作的任务构成,任务分配和监督任务执行情况:任务分配在从节点上,从节点负责任务执行。MapReduce处理数据集流程如图5.1所示:(1)MapReduce将输入文件分块,每个数据分块规模相当,彼此独立。(2)Master节点根据任务的执行情况和每个Worker节点的空闲情况,分配Map任务和Reduce任务。(3)被分配了Map任务的Worker节点读取数据(MapReduce采取本地计算方式,这是因为通常计算节点和数据节点置于同一计算机上),将输入的数据块解析成(kl,v1)形式,交给用户定义的Map函数进行处理,得到输出结果(k2,v2)形式,并写入本地的缓存。 (4)写入缓存中的中间结果会定时被写入到本地硬盘。(5)执行Reduce任务的Worker节点接到Master的指派后,从Master节点处获取相应的Map任务的输出信息,调用远程程序获取执行Map任务Worker节点的本地文件,当获取所有Map输出后,进入排序过程,将所有Map输出合并为交大的排序好的文件,最后将数据以(k2,v矽的形式交给Reduce函数进行处理。(6)将Reduce函数处理后的结果写入到文件中。@f1)forkl图5.1MapReduce处理数据集过程㈣州t叵5.2基于MapReduce的序列模式算法改进通过第四章的介绍,AprioriAll算法进行序列模式挖掘时,会产生大量无用的候选序列,别且需要多次扫描数据库,现代物流系统,物流信息量激增,数据量非常庞大,多次迭代扫描的代价无疑会非常大。近年来,数据挖掘算法的并行化成为研究的一个热点[40,41】。因此本节提出基于MapReduce的AprioriAll算法改进。5.2.1基于MapReduce的AprioriAll算法并行改进本文提出基于MapReduce的AprioriAll算法并行改进思路如下:(1)数据划分,将数据库合理的分割成M个数据块;(2)产生k序列,每个工作节点扫描一个数据块,生产候选k序列集合,每个k序列的支持度计数为1。(3)分配节点,将M个节点生成的k序列集合按照相同序列发送到R个工作节点,一般选用Hash函数:32 (4)产生频繁序列,R个节点对结果进行汇总,将相同序列的支持度计数进行累加,产生最终的实际支持度计数,与用户给定的支持度阈值进行比较,判定是否为频繁序列。(5)产生频繁k序列集合,把尺个站点输出结果进行合并,产生频繁k序列集合。改进的AprioriAll算法,充分借鉴了MapReduce计算模型,利用了云计算提供的分布式并行计算功能。这里的k值取从1开始,直到所有频繁序列被找出的整数,也可以取其中的某个数值,进行k频繁序列查找。其优势体现在,产生k序列和k+l序列是并行的,是完全独立的。5.2.2改进的算法与MapReduce结合将上一节描述的改进算法与MapReduce结合,具体过程如下。(1)用户程序将待处理的序列数据库,划分为M个规模相当的数据分块。(2)并行计算的Map任务对每个数据分块进行Map函数运算,扫描数据分块,生成k序列集合,记为三七,每个k序列支持度计数为1。Map函数运算后解析出的键值对形式为(L七,1)。Map函数的算法描述:输入:某数据分块的序列数据库DB输出:<所有k序列,1>foreachtransactioninDBLk=generator(k)Answer=;(3)对Map运算阶段输出的结果进行合并。当序列数据库的数据量庞大时,划分后的数据分块会产生大量的相同的k序列,即可能会产生大量的<三七,l>重复数据。由于Map输出的结果会先存储在某个服务器的硬盘,Reduce通过网络传输协议请求Map输出文件,因此可以在某个执行Map任务的服务器添加一个Combine过程,先在本地对Map输出结果中重复的的项进行合并,这样可以有效的减少中间结果数量,从而减少数据传输过程中的网络开销。Combine过程运算后的输出是<£七,以>,n为某Map任务中三七出现的个数。Combine过程算法描述:输入:Map阶段的输出结果输出:所有<三bSUmk>foreachLkinSkSUmk+=1Answer=所有的。(4)将Combine过程后的输出结果按照key值,分成R份(R是预先定义的Reduce的个数),每份会作为Reduce函数的输出进行处理。由于MapReduce 计算模型一般采用HaJh函数,同时借鉴文献‘401,本文定义Hash函数定义如下:kHash(iI,之,...,i,)=(>-]10k-j/])mod(R)j=l(5)负责Reduce任务的工作节点,接收经过Map任务节点和Combine过程处理后的数据<三七,sumk>。由于多个不同的Map任务节点的数据可能会对应到一个Reduce任务节点,因此,先依据三七对<三七,sumk>进行排序,这样具有相同三七值的sumk聚在一起,形成。负责Reduce任务的工作节点,将数据传递给Reduce函数进行处理,Reduce函数对k序列的支持度进行计数,获取k序列在序列数据库的实际支持度计数,并与给定的支持度阈值minsup进行比较,判定是否为频繁k序列,对所有k序列进行判断,则获得局部频繁k序列集合。(6)将尺个负责Reduce任务的工作节点的输出结果进行合并,获得的所有的频繁k序列集合。(7)k值进行递增直到候选k序列为空,至此所有频繁k序列被找出。物流路径候选序列生成函数在第四章本文介绍了物流路径数据作为一种序列数据有其自己的特性,充分考虑物流路径数据的特性,可以一定程度上减少无用候选序列的生成,提高计算效率。则在路径候选序列生成函数中(1)考虑到物流路径不会形成回路,则在生成的候选序列中不会有重复的项;(2)因为路径序列是移动的物体的一系列路径节点按时间升序构成的序列数据,则在生成的候选序列中,路径节点之间的相对位置和原来的序列保持一致。在数据块中生成k序列集合时,因考虑到路径序列存在一定的时间关系,即生成的k序列{sl,s2⋯.sk),记time(sk)为s七发生的时间,必有time(s1)北京,上海济南,扬州北京,济南,南京北京,济南济南,上海,扬州天津,上海北京,济南,上海,南京北京,济南,上海5.3.11.频繁序列挖掘过程假定k=l,频繁路径挖掘过程如下:(1)将路径序列库PD分成三个数据子块PDl{soo』,S002,S003’,PD2{S004,S005,S006},PD3{S007,S008,S009)。(2)将三个数据子块PDl,PD2,PD3分别发送到分配了Map任务的工作节点,三个工作节点分别同时对数据进行解析,得到形式为的中间结果。工作节点1:>,>,>:37 工作节点2:>。>,>;工作节点3:>。>,>;(3)Map任务工作节点进行Map函数运算,得到支持度计数为1的候选序列集合。工作节点1:Map(S001,/)_<,J>,<,J>,<,J>;Map(S002,)_<.1>,<.1>;Map(S003,)---*<.1>,<.1>;Map(S004,)_<.i>,<.i>,<.i>;Map(S005,)_÷<,J>,<,』>;Map(S006,/)叶<,J>,<,』>,<,J>;工作节点3:Map(S007,/)—’<,』>,<,J>;Map(S008,)---’-<,l>,<.1>,<.1>,<.1>;Map(S009,)_<.i>,<.1>,<.】>;(4)利用Combine函数对同一工作节点的Map函数输出进行合并:工作节点Combine1:(。(,(.(.(.Combine(.(,(.(,(,list(1.1))_<,2>:list(1))_<.1>;list(1))_<.1>:list(1.1))_<.2>;list(1))_<,i>:list(1.1))_<。2>:list(1。1。1))_<,3>:list(1))_<。1>;list(I))一<。1>;list(1))一<,1>:38 工作节点3:Combine(,list(1,1))_<,2>;Combine(.1ist(1。l。1))_<,3>;Combine(,list(1,1))_<,2>;Combine(.1ist(1))_<,l>:Combine(.1ist(1))_<.i>;(5)将Combine过程后的键值对(key,value)按照key值进行分区,利用分区函数Hash(key)mod2将中间结果分成2个不同分区。Hash()rood2:lrood2=l;Hash()mod2=2rood2=o:Hash()rood2=3mod2=l:Hash()rood2=4mod2=o:Hash()mod2=5rood2=i;根据以上的运算结果,将键为的键值对发送到分配了Reduce任务的工作节点1,键为的键值对发送到分配了Reduce任务的工作节点0。(6)执行Reduce任务的工作节点,对接收至lJ的数据进行运算,对候选1序列进行支持度计算。工作节点0:Reduce(,list(1,3.2))_<,6>oReduce(,list(2,1))_<,3>;工作节点1:Reduce(,listReduce(,listReduce(,list2,2))---..<,6>:l,3))---}<,5>;l,1))_<,3>;因此1序列的及其支持数如表5.4所示。由于假定最小支持数2,故得到频繁序列集合岐=水S2>,},&={},将两个工作节点的输出结果进行合并,可以得到最后的频繁1序列集合£={}39Qn 表5—4候选1.序列频繁项集支持数北京以J)6济南(s2,)6上海(s3)5扬嫩(s4)3南京(s5)3天津(S6)1表5-5频繁1.序列1序列支持数北京6济南6上海5扬州3南京35.3.22.频繁序列挖掘过程k=-2时,频繁路径挖掘过程如下:(1)(2)步在1一频繁序列挖掘过程时已经进行,直接进行(3)计算。(3)Map任务工作节点进行Map函数运算,得到支持度计数为1的候选2序列集合。工作节点l:Map(S001。)_<.1>,<.1>,<.i>:Map(S002,)_<,l>;Map(S003,)---’<,1>;工作节点2:Map(S004,)_<.1>,<.】>,<.1>:Map(S005,)_<,l>;Map(S006,)---}<,I>,<.i>,<.i>;工作节点3:Map(S007,)---'<,l>:Map(S008,)---’.<.j>,<.i>,<.I>, <,J>,<,J>,<,J>;Map(S009,/)叶<,J>,<,J>,<,J>;(4)利用Combine函数对同一工作节点的Map函数输出进行合并:工作节点1:Combine(,list(1))一<,l>:Combine(,list(i))一<,i>:Combinet,list(1))一<,l>:Combine(>.1ist(i))_<.1>:Combine(,list(1))_<,l>;工作节点Combine2:(,list(1,1))_<>。2>;(,list(i))_<,l>;(,list(1))一<,1>:(,list(1))_<.1>;(.1ist(1))_<,l>:(,list(1))_<,1>:工作节点3:Combine(,list(i,1))_<,2>;Combine(,list(1,1))_<>,2>:Combine(。list(1))_<.1>:Combine(,list(1。1))一<,2>;Combine(,list(1))_<.1>:Combine(.1ist(1))—’<。l>:Combine(,list(1))一<,l>;(5)将Combine过程后的键值对(key,value)按照key值进行分区,利用分区函数Hash(key)rood2将中间结果分成2个不同分区。Hash()rood2:(1Xl0+5)rood2=l:Hash()rood2=(1x10+4)rood2=o:Hash()rood2=(1X10+4)rood2=o;Hash()mod2=(1xl0+3)rood2=l:HaLsh()mod2=(2×10+4)rood2:o:HaIsh()rood2=(1X10+2)rood2=o;Halsh()rood2=(2×10+5)rood2=1:Hash()rood2=(2X10+3)rood2=l:4l Hash()mod2=(3x10+4)rood2=o:Hash()rood2=(3xlO+5)rood2=i:Hash()rood2=(6xlO+3)rood2=l:根据以上的运算结果,将键为,的键值对发送到分配了Reduce任务的工作节点O,键为的键值对发送到分配了Reduce任务的工作节点1。(6)执行Reduce任务的工作节点,对接收至tJ的数据进行运算,对候选2序列进行支持度计算。工作节点0:Reduce(,list(2。2))_<,4>;Reduce(,list(1))一<,l>:Reduce(。list(1.i))_<.2>:Reduce(,list(1。11)_<。2>:Reduce(,list(1))_<.I>:工作节点1:Reduce(,listH,2))_<,3>:Reduce(.1ist(1.1,1))---}<.3>:Reduce(,list(1,2))---}<。3>:Reduce(,list(1,1))一<,2>;Reduce(,list(1))_<,l>:Reduce(.1ist(1))_(<。l>:候选2序列及其支持数如表5-6所示。由于假定最小支持数2,故得到频繁序列集合ro={}.毫={}将两个工作节点的输出结果进行合并,可以得到最后的频繁2序列集合,L2={}因此频繁2序列及其支持数如表5.7所示。42 表5-6候选2.序列候选2序列支持数<北京,济南>4<北京,扬州>1<济南,扬州>2<上海,扬州>3<南京,扬州>1<北京,上海>3<北京,南京>3<济南,上海>3<济南,南京>2<上海,南京>1<天津,上海>l表5.7频繁2.序列2序列支持度<北京,济南>4<上海,扬州>3<北京,上海>3<北京,南京>3<济南,上海>3<济南,南京>2<济南,扬州>25.3.33.频繁序列挖掘过程k=-3时,频繁路径挖掘过程如下:(1)(2)步在1频繁序列挖掘过程时已经进行,直接进行(3)计算。(3)Map任务工作节点进行Map函数运算,得到支持度计数为l的候选3序列集合。此处a表示无返回结果。工作节点1:Map(S001,)—’<,l>:Map(S002,)_仍;Map(S003,)_囝:43 工作节点2:Map(S004,)叶<,Map(S005,)_仍:Map(S006,)叶<,工作节点3:Map(S007,)_仍;Map(S008,)_<.1>,<.1>,<.i>:Map(S009,)叶<.1>;(4)利用Combine函数对同一工作节点的Map函数输出进行合并:工作节点1:Combine(,list(1))一<.1>;Combine(.1ist(1))一<,i>;工作节点3:Combine(,list(1.1))_<.2>:Combine(.1ist(1))_<,l>;Combine(,list(1))_<,l>;(5)将Combine过程后的键值对(key,value)按照key值进行分区,利用分区函数Hash(key)mod2将中间结果分成2个不同分区。Hash()rood2=(1x100+2x10+4)mod2=o:Hash()mod2=(1x100+2x10+5)mod2=l;Hash()mod2=(1x100+2X10+3)mod2=1:Hash()mod2=(2x100+3x10+5)mod2=l:根据以上的运算结果,将键为的键值对发送到分配了Reduce任务的工作节点0,键为的键值对发送到分配了Reduce任务的工作节点1。(6)执行Reduce任务的工作节点,对接收至lJ的数据进行运算,对候选3序列进行支持度计算。工作节点0:Reduce(,list(1))_<。l>;工作节点1:Reduce(,list(2))_<,2>;Reduce(.1ist(1。1))_<,2>: Reduce(<>,list(1))_<,l>;因此候选3序列的支持度计数分别为1,1,2和1,如表5.8所示。由于假定最小支持数2,故得到频繁3序列集合嵌=仍,政={}将两个工作节点的输出结果进行合并,可以得到最后的频繁3序列集合,k={}因此频繁3序列及其支持数如表5-9所示。表5-8候选3序列3.序列支持数<北京,济南,扬州>1<北京,济南,上海>2<北京,济南,南京>2<济南,上海,南京>l表5-9频繁3.序列3.序列支持数<北京,济南,上海>2<北京,济南,南京>25.3.4计算结果分析上述应用实例的运算表明,采用基于MapReduce的AprioriAll改进算法,和传统的AprioriAll算法,对同一路径数据库进行挖掘分析,挖掘的结果一致。比较表4.7和表5.7,可以看出改进的算法减少了无用候选序列的数目。通过实例可以看出采用基于MapReduce的AprioriAll改进算法,发现k频繁序列和k+l频繁序列是独立的,是可以并行的执行的,而传统的AprioriAll算法是依靠k频繁序列来生成候选k+l频繁序列。改进的算法即减少了无用候选序列,又可以并行执行,因此可以提高发现路径频繁模式的效率。5.4本章小结这一章详细的首先介绍了云计算的MapReduce计算模型的计算过程和处理数据流程,针对物流路径数据特点,提出了基于MapReduee的AprioriAll算法的并行化改进,运用一个应用实例演示了该改进算法的计算过程,计算结果表明了该改进算法的可行性。45 第六章结论与展望6.1结论数据挖掘在物流中的应用理论研究是一个比较受企业和学术界关注的课题,本文主要研究了序列模式在物流中的应用,更具体的是序列模式挖掘在物流路径数据频繁模式挖掘中的应用研究,以及在云计算环境下的物流路径数据频繁模式挖掘研究,序列模式作为数据挖掘的一个重要研究分支,近年来愈来愈受到关注,众多学者投入到这个研究领域,并取了一系列引人注目的成果。本文在广泛借鉴了国内外许多研究成果基础上,系统的介绍了数据挖掘、序列模式、云计算的MapReduce并行计算模型和物流路径相关理论知识,采用MapReduce模型对序列模式基本算法进行并行化改进,并用改进的算法对物流路径进行挖掘分析,发现频繁路径模式。本文工作主要体现在以下几方面,(1)借鉴前人研究基础上,总结了数据挖掘、序列模式、云计算的相关理论知识。(2)在对国内外相关文献进行查阅和分析的基础上,借鉴序列模式挖掘理论,总结了物流路径频繁模式挖掘的相关概念、定义、挖掘方法和应用意义。(3)针对路径数据特点,基于MapReduce并行计算模型,提出了针对物流路径的序列模式改进算法,并将改进的挖掘方法用于物流路径频繁模式挖掘。6.2展望本文集中的探讨了数据挖掘的序列模式理论在物流中应用研究,这一领域还有许多问题有待深入研究,在本文的理论上,可以进一步展开的研究工作有:(1)本文只是针对最基本序列模式算法进行了并行化改进,未来可以对序列模式的GSP等算法进行并行化改进,使之适用于发现物流路径频繁模式。(2)本文研究的物流路径数据只是考虑了地点信息,对于复杂的路径数据还包含了时间信息,可以研究对时间序列的频繁模式发现研究,或是结合位置序列和时间序列进行研究。 [2][3】【4][5][6】[7][8][9][10][11][12】【13】[14】参考文献祖巧红.基于实例的OLAM技术及其多维可视化研究[D].武汉:武汉理工大学,2007.]inR,YangG,AgrawaG.Sharedmemoryparallelizationofdataminingalgorithms:techniques,programminginterface,andperformance[J].IEEETRANSACTIONSONKNOWLEDGEANDDATAENGINEERING,2005,17(11:71—89.陈莉,焦李成.Internet/Web数据挖掘研究现状及最新进展[J】.西安电子科技大学学报,2001(01).马进,李锋,李建华.分布式数据挖掘中基于扰乱的隐私保护方法[J】.浙江大学学报工学版,2010(2):276.282.KimY,StreetW.Anintelligentsystemforcustomertargeting:adataminingapproach[J].DecisionSupportSystems,2004,37(2):215-228.何元.基于云计算的海量数据挖掘分类算法研究[D].西安:电子科技大学,2011.DantzigGB,RamserJH.TheTruckDispatchingProblem[J].ManagementScience,1959(6):80-91.陈浩然.面向移动区域的移动对象数据库研究[D】.合肥:中国科技大学,2008.Choy,K.L.;Lau,C.W.;Leung,Y.K.TheimpactofRFIDtechnologyontheformulationoflogisticsstrategy[C].//Proceedingofthe2008PortlandInternationalConfereceonManagementofEngineering&Technology,2008:1673一1680.谢勇,王红卫,李再进.基于电子标签的物流路径跟踪系统研究[J】.物流技术,2005(12):27.30.Z.Chen,K.Hu,Y.Sun,eta1.Researchonminingfrequencypathincompressedpathdata[C】.//Proceedingofthe2008InternatioanlConferenceonMachineLearningandCybernetics.2008:314—319HBaars,HGKemper,MSiegel.CombiningRFIDtechnologyandbusinessintelligenceforsupplychainoptimizationscenariosforretaillogistics[C].//Proceedingsofthe41stAnnualHawaiiInternationalConferenceonSystemSciences,2008:73胡孔法,张长海,陈岐,等.达庆利.一种面向物流数据分析的路径序列挖掘算法ImGSP[J].东南大学学报(自然科学版),2008,38(6):970.974.陈竹西,胡孔法,陈峻..现代物流系统中的频繁封闭路径挖掘算法[J].计算机集成制造系统,2009,15(4):809.816.47 [15][16】林国省.RFID路径数据聚类分析与频繁模式挖掘[D】.广州:华南理工大学,2010.汤欣妍.移动对象路径聚类和异常路径检测算法研究[D】.广州:华南理工大学,2011.7]A.Fox,R.Griffitheta1.”Abovetheclouds:Aberkeleyviewofcloud8]【19][20][21][22][23][24][25][26][27】[28][29】computing"Dept.ElectricalEng.andComputSciences,UniversityofCalifornia,Berkeley,Tech.Rep.UCB/EECS,v01.28,2009.周倩。云计算:中小企业的助推器[[D].华东师范大学,2010.PRNewswire.电气工程师学会将在印度班加罗尔召开云计算大会【EB/OL].[http://www.indiacn.com/edu/zixun/1754.html].2012-02-12.CSDN.2011云服务计算国际会议:信息为行业架构带来变革『EB/OL].【http://www.csdn.net/anicle/2012-03—01/312602].2012-03-01.江南时报(南京).首个电子商务云计算中心落户南京[EB/OL].[2013—03—15].http://tech.163.corn/08/123I/09/4UGOKSRP000915BF.html.Cloud+.[EB/OL]-【2013·03—12].https://wwwl.hicloud.com/login.AgrawalR,TomaszImielifisk,SwamiA.Miningassociationrulesbetweensetsofitemsinlargedatabases[C].//Proceedingsofthe1993ACMSIGMODinternationalconferenceonManagementofdata,NewYork,NY,USA:ACM,1993:207.216.HanJ,KamberM.数据挖掘概念与技术[M】.第二版.北京:机械工业出版社,2011:184.197.段刚,余贴鑫.电力系统NP难问题全局优化算法的研究[J】.电力系统自动化,2001,25(5):14—18.琚春华,蒋长兵,彭扬.现代物流信息系统[M】.北京:科学出版社,2005:12.15.李俊森.物流与企业信息化[J】.中国物流与采购,2002(16):7.10.ThanasisH.,JohnF.R..AdvanceinSpatialandTemporalDatabases[J]。LecturenotesinComputerScience,2003(3):24—27.ChenL,M.TamerOzsu,OriaV.Symbolicrepresentationandretrievalofmovingobjecttrajectories[C].//Proceedingsofthe6thACMSIGMMinternationalworkshoponMultimediainformationretrieval,ACM,2004:227—234.[30】MellP,GranceT.heNISTDefinitionofCloudComputing[R].NationalInstituteofStandardsandTechnology,2011.[31]刘鹏.云计算[M].第二版.北京:电子工业出版社,2012:2.3.48 『321JieTao,KunzeM.,CastellanosA.C.,et.a1.ScientificCloudComputing:EarlyDefinitionandExperience[C].//InlOthIEEEInternationalSymposiumonHighPerformanceComputingandCommunications,IEEE,2008:825—830.[33]RANDALE,Bryant.Data.Intensivesupercomputing:thecaseforDISC[R].CMUTechnicalReportCMU.CS.07.128.May10,2007[34】GhemawatS,GobioffH,LeungS.TheGooglefilesystem[C].//ProceedingsofthenineteenthACMsymposiumonOperatingsystemsprinciples,NewYork:ACMPress,2003:29—43.[35]ApacheHadoop.Hadoop[EB/OL].[2013·01—14].http://hadoop.apache.org/.[36]ChangF,DeanJ,GhemawatS,eta1.Bigtable:ADistributedStorageSystemforStructuredData[J].ACMTransactionsonComputerSystems,2008,26(2):1—26.[37】HadoopDevelopmentTeam.HBase:Bigtable—likestructuredstorageforHadoopHDFS[EB/OL].2013—01-1412012].http://wiki.apache.org/hadoop/Hbase.[38]DeanJ,GhemawatS.MapReduce:simplifieddataprocessingonlargeclusters[C].//Proceddingofthe6thSymposiumonOperatingSystemDesignandImplemenntion,SanFrancisco,California:USENIXAssociation,2004:137.150.[39】AgrawalR,SrikantR。MiningSequentialPatterns[C].//Proceedingsofthe7thInternationalConferenceonDataEngineering,Taipei,Taiwan:1995:3—14.[40]AgrawalR,SrikantR.Fastalgorithmforminingassociationrulesinlargedatabases[C].//Proceedingofthe20thInternationalConferenceOilVeryLargeDataBases(VLDB’1994),1994:487-499.[41]HanJ,PeiJ,eta1.FreeSpan:frequentpattern—projectedsequentialpatternmining[C].//ProceedingsofthesixthACMSIGKDDinternationalconferenceonKnowledgediscoveryanddatamining,NewYork,NY,USA:ACMPress,2000:355.359.[42】JacquemontS.,JacquenetF.,SebbanM.SequenceMiningWithoutSequences:ANewWayforPrivacyPreserving[C].//In18thIEEEInternationalConferenceonToolswithArtificialIntelligence,IEEE,2006:347-354.【43】HectorGonzalez,JiaweiHan,XiaoleiLi.MiningcompressedcommodityworkflowsfrommassiveRFIDdatasets[C].//Proceedingsofthe15thACMinternationalconferenceonInformationandknowledgemanagement.,NewYork,USA:NewYork,USA,2006:162.171.49 [44]JeffreyS.Larson,EricT.Bradlow,PeterS.Fader.Anexploratorylookatsupermarketshoppingpaths[J].InternationalJournalofResearchinMarketing,2005,22(4):395·414.[45】DeanJ,ChemawatS.MapReduce:Simplif论ddataprocssingonlargeclusters[C]//Proceddingsofthe6thSymposiumonOperatingSystemDesignandImplemenntion.SanFrancisco,California,USA:USENIXAssociation,2004:137.150.[46]T.Shintani,M.Kitsuregawa.MingingalgorithmsforSequentialPatternsinParallel:HashBasedApproach[C].//Proceedingsof2ndPacific—AsiaConferenceonKnowledgeDiscoveryandDataMining,Melbourne,Australia:1998:283—294.[47]赵峰,李庆华.行序列挖掘的一种改进算法【J].华中科技大学学报(自然科学版),2003,31(10):38—40.50 攻读硕士学位期间发表的论文1.何柏英.带有费用约束和广告投入的Newsboy模型[J].企业科技与发展,2013(2):67—70. 特别声明本学位论文是在我的导师指导下独立完成的。在研究生学习期间,我的导师要求我坚决抵制学术不端行为。在此,我郑重声明,本论文无任何学术不端行为,如果被发现有任何学术不端行为,一切责任完全由本人承担。学位论文作者签名:彳司膏籀驾l签字日期:z口侈年中月刁日52

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

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

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