• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于云计算的数据挖掘平台架构及其关键技术研究

基于云计算的数据挖掘平台架构及其关键技术研究

录入:edatop.com     点击:

随着互联网尤其是移动互联网、物联网的快速发展,目前我们已处于数据、信息过载的海量信息时代。据数据调查公司IDC 研究报告显示:2011 年全球被创建和复制的数据总量为1.8 ZB,较去年同期,这一数据上涨了1 ZB,全球信息总量每过两年就会增长1 倍。用户面对海量信息却很难找到自己真正感兴趣的内容[1]。同时随着运营商逐渐推出移动互联网产品应用商店、阅读、游戏、社区等产品,如何分析挖掘这些产品生成的海量数据,将成为运营商迫切需要解决的问题。

云计算的出现,使得数据挖掘平台有了新的发展方向,也使得新一代的数据挖掘平台成为可能。云计算是能够提供动态资源、虚拟化和高可用的计算平台。云计算平台可被用来开发高性能的应用程序[2-3]。但是对于数据挖掘来说,海量数据本身具有噪声、异构、算法复杂、技术复杂等问题,而现在的云计算开发平台并没有提供数据规约等功能。因此文章通过对于数据挖掘、云计算的详细描述和分析,提出了基于云计算的数据挖掘平台。该平台架构基于云计算的基础能力,并符合云计算软件即服务(SaaS)的设计理念。该平台还能极大减少运营商、企业在数据挖掘技术上的投入并能加快其挖掘业务的推出,缩短研发周期,进一步提高产品收益。

1 基于云计算的数据挖掘策略

1.1 数据挖掘

数据挖掘[4-6]是一个从大量的、不完全的、有噪声的、模糊的、随机的实际数据中提取隐含在其中的但具有潜在实用信息和知识的过程。从数据挖掘的定义可以看出数据挖掘是知识发现领域的一个重要技术,它涉及到人工智能、机器学习、模式识别、统计学等高技术领域,具体技术包括特征化、关联、聚类、预测分析等。数据挖掘在互联网、移动互联网、电信、金融、科学研究等领域得到了广泛的应用,例如Facebook 的好友推荐、和淘宝网的商品推荐、银行的防欺诈分析等。传统的数据挖掘技术建立在关系型数据库、数据仓库之上的,对数据进行计算,找出隐藏在数据中的模型或关系,并在大规模的数据上进行数据访问和统计计算,整个挖掘的过程需要消耗大量的计算资源以及存储资源[7]。

随着云时代的到来和移动互联网的快速发展,数据规模从MB、级发展到TB、PB 级甚至EB、ZB 级,并且面临着TB 级的增长速度,数据挖掘的要求和环境也变得越来越复杂,从而形成"数据量的急剧膨胀"和" 数据深度分析需求的增长"这两大趋势,使得40 年来一直适用的数据库系统架构在海量数据挖掘方面显得力不从心[8]。

综合上述,传统的数据挖掘技术及其体系架构在云时代的海量数据中已经出现了不少问题,其中首先是挖掘效率的问题,传统的基于单机的挖掘算法或基于数据库、数据仓库的挖掘技术及并行挖掘已经很难高效地完成海量数据的分析;其次高昂的软硬件成本也阻止了云时代数据挖掘系统的发展;最后传统的体系架构不能完成挖掘算法能力的提供,基本是在以单个算法为整体模块,用户只能使用已有的算法或重新编写算法完成自己独特的业务。

云计算云计算[9-10]是一种商业计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。同时云计算是并行计算、分布式计算和网格计算的发展,或者说是这些计算科学概念的商业实现。

通常认为云计算包括以下3 个层次的服务:基础设施即服务(IaaS)、平台即服务(PaaS)、SaaS;其中IaaS 提供以硬件设备为基础的计算、存储和网络服务,实现了对硬件资源的抽象并服务化提供,使得分布式计算和分布式存储成为现实。

云计算具有一些特点[10-11]:

(1)虚拟化。云计算支持用户在任意位置使用各种终端以获取应用服务,所请求的资源来自云而不是固定的、有形的实体,并且对于用户来说只需要使用云提供的服务即可。

(2)通用性。云计算不针对特定的应用,而是可以在云的支撑下构造出千变万化的应用,同一个云可以同时支撑不同的应用运行。

(3)高可扩展性及超大规模。云的规模可以动态扩展,并且这种动态扩展对用户是透明的,并且不影响用户的业务和应用。同时这种扩展是超大规模的,如Google 云计算已经拥有上百万台服务器,Amazon、IBM、微软等也拥有几十万台服务器。

(4)可靠性高。云计算使用多副本容错、多计算节点同构可互换等措施来保障服务的高可靠性。

(5)经济性好。云的特殊容错机制导致可以采用廉价的节点来构成云,而云的自动化集中式管理使得大量企业无需负担日益高昂的数据中心管理成本。云的通用性使资源的利用率较之传统系统大幅提升,因此用户可以充分享受云的低成本优势。

1.3 数据挖掘云化策略

云计算的出现即给数据挖掘带来了问题和挑战,也给数据挖掘带来新的机遇—— 数据挖掘技术将会出现基于云计算的新模式。如何构建基于云计算的数据挖掘平台也将是业界面临的主要问题之一,创建一个用户参与、开发技术要求不高的、快速响应的数据挖掘平台也是迫切需要解决的问题。

从业界对云计算的理解来看,云计算动态的、可伸缩的计算能力使得高效的海量数据挖掘成为可能。云计算SaaS 功能的理解和标准化,使得基于的数据挖掘SaaS 化有了技术和理论的支持,也将使得数据挖掘面向大众化和企业化。文章主要是从基于云计算平台的数据挖掘服务化、挖掘算法并行化、挖掘算法组件化角度进行构建数据挖掘SaaS 平台,如图所示。

如图1 所示,文章提出的基于云计算的数据挖掘平台架构采用分层的思想:首先底层支撑采用云计算平台,并使用云计算平台提供的分布存储以及分布式计算能力完成数据挖掘计算能力的并行实现;其次数据挖掘平台在设计上采用分布式、可插拔组件化思路,支持多算法部署、调度等;最后数据挖掘平台提供的算法能力采用服务的方式对外暴露,并支持不同业务系统的调用,从而较方便地实现业务系统的推荐、挖掘等相关功能需求。

\

2 数据挖掘平台云架构

云计算的分布式存储和分布式计算促使了新一代数据挖掘平台的变革。图2 是基于云的数据挖掘平台架构。考虑到挖掘算法和推荐算法的并行化和分布化是一个专门的、大的课题,因此文章暂不包含具体算法的并行化和云化的内容。

如图2 所示,该平台是基于云计算平台实现的数据挖掘云服务平台,采用分层设计的思想以及面向组件的设计思路,总体上分为3 层,自下向上依次为:云计算支撑平台层、数据挖掘能力层、数据挖掘云服务层。

\

•云计算支撑平台层

云计算支撑平台层主要是提供分布式文件存储、数据库存储以及计算能力。中兴通讯有自主研发的云计算平台,该架构可以基于企业自主研发的云计算平台,也可以基于第三方提供的云计算平台。

•数据挖掘能力层

数据挖掘能力层主要是提供挖掘的基础能力,包含算法服务管理、调度引起、数据并行处理框架,并提供对数据挖掘云服务层的能力支撑。该层可以支持第三方挖掘算法工具的接入,例如Weka、Mathout 等分布式算法库,同时也可以提供内部的数据挖掘算法和推荐算法库。

•数据挖掘云服务层

云服务层主要是对外提供数据挖掘云服务,服务能力封装的接口形式可以是多样的,包括基于简单对象访问协议(SOAP) 的Webservice、、HTTP、XML 或本地应用程序编程接口(API) 等多种形式。云服务层也可以支持基于结构化查询语言语句的访问,并提供解析引擎,以自动调用云服务。各个业务系统可以根据数据和业务的需要调用、组装数据挖掘云服务。

文章提出的基于云计算的数据挖掘平台与传统的数据挖掘系统架构相比有高可扩展性、海量数据处理能力、面向服务、硬件成本低廉等优越性,可以支持大范围分布式数据挖掘的设计和应用。

3 基于云计算数据挖掘平台的关键技术

3.1 云计算技术

分布式计算是解决海量数据挖掘任务,提高海量数据挖掘的有效手段之一,在理论和实践上已经获得证实。分布式计算包含了分布式存储和并行计算两个层面的内容,而云计算平台提供了分布式文件存储和并行的计算能力,因此很好地解决了这两个层面的内容。下面主要分析几个主流的分布式文件系统和分布式并行计算框架,以更好地构建云计算数据挖掘平台的核心支撑能力。

分布式文件系统有效地解决了海量数据存储问题,并实现了位置透明、移动透明、性能透明、扩展透明、高容错、高安全、高性能等关键功能。目前业界比较流行分布式文件系统有Google 文件系统(GFS)、分布式文件系统(HDFS)、文件系统(KFS),这3 种分布式文件系统都是基于Goolgle 提出的分布式文件系统理论进行研发的。Google提出的GFS 就是解决其海量数据存储和搜索、分析等问题,而和KFS 是基于GFS 理论基础上实现的开源系统,并且在商业和学术领域得到了广泛的应用。

分布式并行计算框架对于高效完成数据挖掘计算任务极其重要,并且它对分布式计算的一些技术细节进行了封装,例如数据分布、任务并行、任务调度、负载平衡、任务容错、系统容错等,使用户不需要考虑这些细节,而只要考虑任务间的逻辑关系。这样不仅可以提高研发的效率,还可以降低系统维护的成本。目前典型的分布式计算框架有:

。MapReduce 是提出的一个并行计算框架,它可以在大量PC 机上并行执行海量数据的收集和分析任务。它把如何进行任务并行执行、如何进行数据分布、如何容错、网络带宽时延等问题的解决方案编码,并封装在了一个库里面,使用户只需要执行数据运算即可,而不必关心并行计算、容错、数据分布、负载均衡等复杂的细节。同时它又对上层应用提供良好简单的抽象接口。MapReduce 主要应用在搜索、数据仓库、数据挖掘领域。

。Pregel 是Google 提出的迭代处理计算框架,它具有高效、可扩展和容错的特性,并隐藏了分布式相关的细节,展现给人们的仅仅是一个表现力很强、很容易编程的大型图算法处理的计算框架。Pregel 的主要应用场景是大型的图计算,例如交通线路、疾病爆发路径、WEB 搜索等相关领域。

。Dryad 是微软硅谷研究院创建的研究项目,主要用来提供一个基于windows 操作系统的分布式计算平台,总体用来支持有向无环图类 型数据流的并行程序。微软于年宣布,停止对Dryad 进行版本升级,转投Hadoop 即MapReduce 计算框架。

目前业界开源的云计算平台平台, 包含HDFS 和MapReduce,为海量数据挖掘平台提供完备的云计算平台支撑平台[12]。

3.2 数据汇集调度中心

数据汇集调度中心实现对接入本平台的业务数据的汇集,可以解决不同数据的规约问题,并支持各种不同的源数据格式。源数据格式支持联机事务处理系统(OLTP)数据、联机分析处理系统(OLAP)数据、各种日志数据、爬虫数据等,同时要提供多种数据同步方式,例如数据库实时同步、socket 消息同步、文件传输协议同步等各种各样的方式,如图3所示。

\

数据汇集调度中心主要是完成对不同类型数据的汇集。本数据汇集调度中心采用模板化设计技术,支持新数据的模板和元数据配置以达到不同业务数据的统一收集和规约。

3.3 服务调度和服务管理技术

为了能够让不同的业务系统使用本计算平台,平台必须要提供服务调度和服务管理功能。服务调度根据服务的优先级以及服务和资源的匹配情况等进行调度,解决服务的并行互斥、隔离等,保证数据挖掘平台的云服务是安全、可靠的,并根据服务管控进行调度控制。

服务管理实现统一的服务注册、服务暴露等功能,不仅支持本地服务能力的暴露,也支持第三方数据挖掘能力的接入,很好地扩展数据挖掘平台的服务能力。

3.4 挖掘算法并行化技术

挖掘算法并行化是有效利用云计算平台提供的基础能力的关键技术之一,涉及到算法是否可以并行、以及并行策略的选择等技术。文章通过K-means 聚类算法并行化并行计算框架来说明挖掘算法的并行化技术[13]。

3.4.1 K-means 算法的主要思想

K-means算法的主要思想是基于使聚类性能指标最小化。这里所用的聚类准则函数是聚类集中每一样本点到该类簇中心点距离平方之和,并使它最小化。如图4 所示,K 均值算法的处理流程如下:首先,随机地选择k 个对象,每个对象代表一个簇的初始均值和中心;对剩余的每个对象,则根据其与各个簇的均值距离,将它指派到最相似的簇;然后计算每个簇的新均值。这个过程不断重复,直到准则函数收敛。通常,采用平方误差准则,其定义如(1):\

其中,E 是数据集中所有对象的平方误差和,p 是空间中的点,表示给定的对象,mi 是簇Ci 的均值。对于每个簇中的每个对象,首先要求出对象到其簇中心的均值的平方,然后再求和。

\

3.4.2 K-means 并行化思路

是以聚类中心来划分聚类的,一旦k 个聚类中心确定了,聚类可立即完成。因此,这里主要讲述如何并行实现更新聚类中心[14]。

在随机的初始化k 个聚类中心以后,每一次任务的执行都会更新当前个聚类中心的值。在映射阶段,对于每一个样本O S ,需要计算与其最近的聚类中心O i (0≤i ≤,然后输出<i , O S >键值对。

在化简(Reducer) 阶段,框架会收集属于相同键的值,相当于对每个聚类中心O i (0≤i ≤k -1) ,而离它最近的样本都会作为值收集起来。这样Reducer 里就可以利用这些样本重新估计出k 个聚类中心,如所示:\

这样,在一轮MapReduce 完成后,新的聚类中心也已经计算出来。通过比较本轮聚类中心与上一轮聚类中心差异度,可确定算法是否收敛。

4 结束语

文章通过对数据挖掘和云计算技术的发展分析,提出了基于云计算的数据挖掘平台架构以及数据挖掘服务化的思路。本平台不仅仅是基于云计算实现了一个数据挖掘平台,同时也对数据挖掘平台进行了化。本平台可以为运营商、企业提供效益增值的数据挖掘应用,同时也减少了运营商、企业在数据挖掘技术上的投入。运营商、企业即可以创建自己内部的数据挖掘私有云,为内部产品提供数据挖掘服务,也可以提供数据挖掘公用云,为不同的企业提供数据挖掘服务。

参考文献

[1] 云时代企业数据挖掘面临的挑战(1)[EB/OL].http://cloud.watchstor.com/storage-134538_1.htm

[2] 陈康,郑纬民. 云计算:系统实例与研究现状[J].软件学报,2009,20(5):1337-1348.

[3] 纪俊.一种基于云计算的数据挖掘平台架构设计与实现[D].青岛:青岛大学,2009.

[4] J Han, M Kamber. Data mining concepts and techniques[M].Third Edition.San Francisco,CA,USA:Morgan Kaufmann Publishers,2012.

[5] 邵峰晶,于忠清.数据挖掘原理与算法[M].北京:科学出版社,2009.

[6] 商琳,骆斌.一种基于数据仓库的数据挖掘系统的结构框架[J].计算机应用研究,2000,17(9):63-65.

[7] 杨舰友, 唐彦. 云计算总体架构及其应用与商业模式探讨[J]. 数字通信,2012,(3):3-6.

[8] 何清. 基于云计算的海量数据挖掘[C/OL]//第二届中国云计算大会,2010 年5 月21-22 日,北京.http://blog.sina.com.cn/s/blog_66248a9e0100z38d.html

[9] 杨勇,董振江,陆平. 具备云计算特性的业务交付平台及其关键技术研究[J]. 中兴通讯技术,2011,17(5):55-57.

[10] 吴朱华.云计算核心技术剖析[M].北京:人民邮电出版社,2011.

[11] 刘鹏.云计算[M]. 北京:电子工业出版社,2011.

[12] 夏英, 杨选伦. 云环境中基于金字塔模型的影像数据存储方法[J]. 重庆邮电大学学报(自然科学版),2012,24(6):669-674.

[13] 余永红,向晓军,高阳等. 面向服务的云数据挖掘引擎的研究[J]. 计算机科学与探索,2012,6(1),46-57.

[14]李智龙宿绍莹唐鹏飞陈曾平. 基于数字信道化的正弦信号快速测频方法[J]. 雷达科学与技术, 2011,9(5):55-58.

作者:丁岩 杨庆平 钱煜明   来源:中兴通讯技术

上一篇:新铜线焕发新的生命力
下一篇:BYOD带领移动应用进入企业 其政策制定面临考验

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图