基于云计算的数据挖掘rest服务平台的制作方法

文档序号:9238243阅读:532来源:国知局
基于云计算的数据挖掘rest服务平台的制作方法
【技术领域】
[0001]本发明涉及数据挖掘技术领域,尤其是一种数据挖掘REST服务平台。
【背景技术】
[0002] 随着互联网及移动互联网、物联网的飞速发展,人类社会的数据种类和规模正以 前所未有的速度增长。据IDC的研宄报告显示:2013年中国产生的数据总量超过0. 8ZB(相 当于8亿TB),2倍于2012年,相当于2009年全球的数据总量。预计2020年,中国的数据 总量将是2013年的10倍,海量数据中如何提取有价值的信息将成为人们迫切要求解决的 问题。数据挖掘是从大量不完全有噪声的实际数据中提取隐含在其中的具有潜在实用信息 和知识的过程,它能有效发现大规模数据中有价值的信息。然而,传统的建立在关系型数据 库、数据仓库上的数据挖掘技术在进行数据分析和统计计算时需要大量的存储资源和计算 资源,在面对大规模异构、高维数据时很难完成高效的数据分析。
[0003]云计算是一种新兴的计算模式,它将计算任务分布在由大量计算节点组成的资源 池上,使各种应用系统能够根据需要获取计算能力、存储空间和信息服务。云计算的出现, 使得数据挖掘技术和平台有了新的发展方向,结合云计算的虚拟化、高扩展、高可用性构建 新一代的数据挖掘平台是一种趋势。
[0004]云计算是并行计算、分布式计算的发展,是解决海量数据挖掘任务,解决海量数据 挖掘的有效手段,在理论和实践上都已得到证实和广泛应用。Google提出的MapReduce框 架,是业界广泛认可的海量数据处理的并行计算模型,它对分布式操作如任务调度、节点通 信等细节进行了封装,提供了更高层次的编程接口。Hadoop作为MapReduce的开源实现,在 大数据挖掘领域得到广泛应用。迭代式计算框架Spark是一种分布式的内存计算平台,支 持MapReduce计算范式,同时提供了DAG计算引擎有效弥补了Hadoop对循环数据流计算的 不足。这些云计算框架的提出使用户不需要考虑计算的具体细节,而只要考虑任务间的逻 辑关系。这样不仅可以提高研发的效率,还可以降低系统维护的成本。
[0005] SaaS是Software-as-a-Service(软件即服务)的简称,是一种新的软件应用模 式。它是一种通过Internet提供软件的模式,用户可以根据自己的实际需求通过互联网获 取需要的服务。Rest作为Saas的一种实现,具有轻量、易懂、语义化等优点,软件系统的服 务化、Rest化易于企业内部多系统间的集成与联通。将基于云的数据挖掘平台提供的算法 能力采用服务的方式对外暴露,符合SaaS的设计理念,能对普通用户屏蔽云计算编程的复 杂性,同时方便不同业务系统的调用。
[0006]综上所述,传统的数据挖掘服务体系架构以无法应对海量数据的处理。

【发明内容】

[0007] 为了克服已有数据挖掘服务方式的无法应对海量数据处理、产品收益较低的不 足,本发明提供一种有效适用于海量数据处理、产品收益较高的基于云计算的数据挖掘 REST服务平台。
[0008] 本发明解决其技术问题所采用的技术方案是:
[0009] -种基于云计算的数据挖掘REST服务平台,包括:云计算集群层,用于提供云存 储及并行计算能力;算法引擎层,用于提供并行数据挖掘能力,提供各种并行算法库;数据 挖掘服务引擎层,用于对外提供挖掘云服务,所有服务以Restful接口对外暴露;云挖掘服 务SDK,用于提供一种本地调用挖掘云服务的方式,通过在其他业务系统中引入云挖掘服务 SDK,在业务系统中使用数据挖掘、数据分析功能;
[0010] 所述云计算集群层中,采用分布式计算平台作为运行支撑,使用Hadoop并以HDFS 作为其分布式存储系统;
[0011] 所述算法引擎层中,调用算法库来提供算法服务功能,算法库实现基于Hadoop、 Spark平台的并行关联规则分析、分类、聚类算法;
[0012] 所述数据挖掘服务引擎层中,提供的服务被封装成Restful接口;
[0013] 所述云挖掘服务SDK中,封装基于云的数据挖掘服务平台的Rest服务API接口以 供本地调用,在业务系统中引入SDK的开发包,调用SDK服务时实例化相关的Service对 象。
[0014] 进一步,所述数据挖掘服务引擎层中,基于REST提供的服务接口包括并行挖掘算 法服务,作业运行监控服务和日志管理服务,
[0015] 并行挖掘算法服务:向外暴露并行挖掘算法接口,算法服务资源的URI为/ algorithms/{algorithmID},algorithmID为对应算法的资源ID,在调用算法服务前,通过 查询算法资源下的info子资源获取该算法的调用参数信息;
[0016] 作业运行监控服务:向外暴露作业运行状态的查询接口,客户端根据作业名查询 指定作业的执行情况;
[0017] 日志管理服务:提供对集群作业的运行日志的管理,服务资源的URI为/logs/ {logID},logID为作业日志的ID。
[0018] 再进一步,所述并行挖掘算法服务中,同步模式下的服务请求处理,客户端的请求 连接在在单线程的服务端得到处理;
[0019] 调用异步模式的并行挖掘算法服务资源的URI为/algorithms/{algorithmID}/ run,当调用算法服务时通过Post请求向算法服务资源传递参数,参数值被封装在基于哈 希表实现的MapObject对象中,基于Jersey实现的服务端每接受到一个算法调用请求会创 建一个新线程负责执行相应的算法调用处理,同时会创建一个异步的Response对象交给 新创建的线程对象,当执行算法处理的线程运行完后会通过异步的Response对象向客户 端返回处理结果,处理结果以JS0N格式返回给客户端。
[0020] 所述作业运行监控服务中,该服务资源的URI为/jobs/ {jobName},jobName为要 查询运行状态的作业名,通过该服务资源查询到的作业的运行状态为总体的运行情况,由 于作业一般要有多个运行阶段(比如Hadoop作业分为Map、Shuffle、Reduce三个阶段), 若想详细查询每个阶段的执行状态,可通过该服务资源下的status子资源获取,查询结果 也以JS0N返回给客户端。
[0021] 所述日志管理服务中,允许根据作业名来查询作业的运行日志,也可进行日志 删除操作,Hadoop中MapReduce作业的服务日志有两大类,一类是运行节点的日志,包括 JobTracker日志和各个TaskTracker日志,这些日志文件每天生成一个,旧的日志后缀是 日期,当天的日志文件后缀是".log",另一类是作业运行日志,包括jobhistory日志和task日志两部分,其中,jobhistory日志是作业运行日志,包括作业启动时间、结束时间, 每个任务的启动时间、结束时间和各种counter信息,从这个日志中可以解析出作业运行 的各种信息,每个task日志存放在task运行节点上,包含三个日志文件,分别是stdout、 stderr和syslog;
[0022] 通过该服务进行日志管理时,会直接从集群节点上的logs目录读取日志信息然 后反序列化为JobHistory对象,JobHistory提供读写日志的方法,实现作业运行日志的查 看和删除操作。
[0023] 本发明的技术构思为:本发明结合当前主流的几种云计算技术设计实现了一个基 于云计算的数据挖掘Rest服务平台,该平台架构基于云计算的基础能力,并符合云计算软 件即服务(SaaS)的设计理念。同时平台能极大减少企业在数据挖掘技术上的投入并能加 快其数据产品的推出,缩短研发周期,进一步提高产品收益。
[0024] 本发明的有益效果主要表现在:(1)本发明基于Hadoop、Spark等云计算平台构建 的数据挖掘服务平台,充分利用底层云计算可扩展特性,可适应海量数据分析,同时提供了 Rest风格的简易调用接口,极大降低系统间的耦合性。
[0025] (2)本发明利用云计算平台可实现数据的分布式存储与挖掘的并行化计算,同时 采用REST服务的方式暴露数据挖掘算法能较好支持其它系统的使用,平台
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1