云计算已经成为一种流行的高性能计算模型,其中资源以Web服务的形式提供。用户开始在数据挖掘应用中采用云模型。然而,由于并行计算和云计算的复杂性,普通用户很难有效地利用云中的并行计算模式。为了简化用户使用并行和云编程的复杂性,提出了一种名为DM中间件的解决方案。该中间件通过一组用户编程API自动启动映射器,从而将MapReduce编程的细节隐藏起来。基于指令的并行化方案能够自动将串行程序转换为基于SMP或Multicore的并行程序。用户可以通过API调用异构计算资源来执行并行计算。为了最大化云系统的吞吐量,提出了两阶段调度方案。通过在私有云中运行典型的数据挖掘算法来评估DM中间件,实验结果表明其具有良好的可伸缩性和适应性。