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

文档序号:9238243阅读:来源:国知局
针对每个资源的方法(GET,POST,PUT,DELETE等)。
[0090] 5、REST操作请求定义:基于每个方法,可以多个请求操作,这些请求操作才是被 SoapM所调用执行的。每个请求可以设置很多的参数,例如Acc印t类型,请求的Header信 息,运行该请求以后,就能以各种方式查看运行结果。
[0091] 在测试平台的各Rest服务接口时,首先右击要测试接口的URI路径,比如选择/ HDAPCluster/info资源下的getAlgorithmlnfo方法,弹出创建Request的窗口,输入测试 Request的名称。在Accept选项中选择返回值类型application/json,在Request栏中设 置相应的参数。点击执行按钮,得到Rest服务返回值。返回结果显示在窗口的右侧,在此 可查看服务接口的返回值。
[0092] 以在SoapUI中分别测试基于Hadoop和Spark的并行AP聚类的Rest接口为例, 选择公开的KDD99数据样本集,两种平台下的Rest接口的服务时间如下表7 :
[0093]
[0094] 农 7
[0095] 通过以上测试结果可知,基于Spark的Rest服务接口性能更好,但在测试时 Hadoop的Rest接口更加稳定。Spark中的多线程模型在运行时要使用更多的内存,所以容 易出现内存溢出问题。最后总体来看,迭代次数越多,数据量越大,Spark平台的加速效果 远远好于Hadoop平台。
[0096] 云挖掘服务SDK测试:云挖掘服务SDK使用JUnit进行测试,基于JUnit提供的 TestSuite测试套件可以对多个SDK服务测试。在JUnit框架中,一个TestSuite对应一个 复合测试脚本,它运行测试用例集合。TestSuite测试套件把一个测试集合内的全部Case 放在一起测试,而不用单个用例分别来运行。
[0097] 在进行测试时,定义一个TestAll的测试套件,使用注解Suite. SuiteClasses({* *ServiceTest, JobMonitorServiceTest, LogServiceTest})定义测试程序的集合。
[0098] 以测试云聚类服务的SDK接口为例,以10000条KDD99样本做为输入,首先指定云 聚类SDK接口的输入参数,这里对并行AP聚类的一些运行参数进行设置如迭代的最大次 数、阻尼系数等。执行TestAll测试套件,在Console控制台可以看到聚类分析的结果。
[0099] 由于本发明实现的并行云聚类服务是一种异步服务,服务端定义了服务的超时时 间(默认为2小时),若超过此时间服务端仍没有运行完算法,会向客户端返回一个超时的 异常,此时在Console控制台会看到超时的结果。
[0100] 通过对云挖掘服务SDK的测试,该SDK提供了完善的并行挖掘算法服务接口,用户 指定输入数据集后,云挖掘服务SDK通过RPC调用云挖掘服务平台实现的并行算法进行分 析,最后可在控制台看到并行算法执行后的结果。
【主权项】
1. 一种基于云计算的数据挖掘REST服务平台,其特征在于:所述数据挖掘REST服务 平台包括:云计算集群层,用于提供云存储及并行计算能力;算法引擎层,用于提供并行数 据挖掘能力,提供各种并行算法库;数据挖掘服务引擎层,用于对外提供挖掘云服务,所有 服务以Restful接口对外暴露;云挖掘服务SDK,用于提供一种本地调用挖掘云服务的方 式,通过在其他业务系统中引入云挖掘服务SDK,在业务系统中使用数据挖掘、数据分析功 能; 所述云计算集群层中,采用分布式计算平台作为运行支撑,Hadoop以HDFS作为其分布 式存储系统; 所述算法引擎层中,调用算法库来提供算法服务功能,算法库实现基于Hadoop、Spark 平台的并行关联规则分析、分类、聚类算法; 所述数据挖掘服务引擎层中,提供的服务被封装成Restful接口; 所述云挖掘服务SDK中,封装基于云的数据挖掘服务平台的Rest服务API接口以供本 地调用,在业务系统中引入SDK的开发包,调用SDK服务时实例化相关的Service对象。2. 如权利要求1所述的基于云计算的数据挖掘REST服务平台,其特征在于:所述数据 挖掘服务引擎层中,基于REST提供的服务接口包括并行挖掘算法服务,作业运行监控服务 和志管理服务, 并行挖掘算法服务:向外暴露并行挖掘算法接口,算法服务资源的URI为/ algorithms/{algorithmID},algorithmID为对应算法的资源ID,在调用算法服务前,通过 查询算法资源下的info子资源获取该算法的调用参数信息; 作业运行监控服务:向外暴露作业运行状态的查询接口,客户端根据作业名查询指定 作业的执行情况; 日志管理服务:提供对集群作业的运行日志的管理,服务资源的URI为/logs/ {logID},IogID为作业日志的ID。3. 如权利要求2所述的基于云计算的数据挖掘REST服务平台,其特征在于:所述并行 挖掘算法服务中,同步模式下的服务请求处理,客户端的请求连接在在单线程的服务端得 到处理; 调用异步模式的并行挖掘算法服务资源的URI为/algorithms/{algorithmID}/run, 当调用算法服务时通过Post请求向算法服务资源传递参数,参数值被封装在基于哈希表 实现的MapOb ject对象中,基于Jersey实现的服务端每接受到一个算法调用请求会创建一 个新线程负责执行相应的算法调用处理,同时会创建一个异步的Response对象交给新创 建的线程对象,当执行算法处理的线程运行完后会通过异步的Response对象向客户端返 回处理结果,处理结果以JSON格式返回给客户端。4. 如权利要求2或3所述的基于云计算的数据挖掘REST服务平台,其特征在于:所述 作业运行监控服务中,该服务资源的URI为/jobs/IJobName},jobName为要查询运行状态 的作业名,通过该服务资源查询到的作业的运行状态为总体的运行情况,由于作业一般要 有多个运行阶段(比如Hadoop作业分为Map、Shuffle、Reduce三个阶段),若想详细查询 每个阶段的执行状态,可通过该服务资源下的status子资源获取,查询结果也以JSON返回 给客户端。5. 如权利要求2或3所述的基于云计算的数据挖掘REST服务平台,其特征在于:所述 日志管理服务中,允许根据作业名来查询作业的运行日志,同时进行日志删除操作,Hadoop 中MapReduce作业的服务日志有两大类,一类是运行节点的日志,包括JobTracker日志和 各个TaskTracker日志,这些日志文件每天生成一个,旧的日志后缀是日期,当天的日志文 件后缀是log",另一类是作业运行日志,包括jobhistory日志和task日志两部分,其中, jobhi story日志是作业运行日志,包括作业启动时间、结束时间,每个任务的启动时间、结 束时间和各种counter信息,从这个日志中可以解析出作业运行的各种信息,每个task日 志存放在task运行节点上,包含三个日志文件,分别是stdout、stderr和syslog ; 通过该服务进行日志管理时,会直接从集群节点上的logs目录读取日志信息然后反 序列化为JobHistory对象,JobHistory提供读写日志的方法,实现作业运行日志的查看和 删除操作。
【专利摘要】一种基于云计算的数据挖掘REST服务平台,包括:云计算集群层,用于提供云存储及并行计算能力;算法引擎层,用于提供并行数据挖掘能力,提供各种并行算法库;数据挖掘服务引擎层,用于对外提供挖掘云服务,所有服务以Restful接口对外暴露;云挖掘服务SDK,用于提供一种本地调用挖掘云服务的方式,通过在其他业务系统中引入云挖掘服务SDK,在业务系统中使用数据挖掘、数据分析功能。本发明有效适用于海量数据处理、产品收益较高。
【IPC分类】H04L29/08
【公开号】CN104954453
【申请号】CN201510297442
【发明人】陈铁明, 张旭
【申请人】浙江工业大学
【公开日】2015年9月30日
【申请日】2015年6月2日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1