论文部分内容阅读
云计算的发展使得用户可以通过网络以自助服务的方式来获取自己所需的IT资源。借助于虚拟化技术,用户不需要关注具体的硬件,而只需要选择一家云服务提供商,登录到其云平台就可以购买和配置自己所需要的服务。这样的选择具有高度的扩展性,更加经济,也使得资源的利用率得到了明显改善。得益于云计算的发展,数据库技术也开始了从传统IT到云的转型。传统IT下的数据库需要管理员进行配置,数据库管理需要由专业的数据库管理员负责,数据库需要部署在大型机器上。而云计算下的DBaaS(数据库即服务)可以自助地进行服务配置,开发者可以管理自己的数据库服务,并且将其部署在虚拟化的机器上。为了满足用户在私有云平台上使用DBaaS服务的需求,本文以H3C私有云平台为基础,结合OpenStack Trove组件实现了该云平台的DBaaS服务模块,完成云数据库实例的生命周期管理和数据库管理等工作。本文首先对用户的需求进行了分析,云平台需要提供可扩展和可靠的云数据库给用户。接着介绍了当前私有云平台的架构和所采用的DBaaS后台方案,着重对OpenStack Trove组件创建数据库实例的原理进行了分析,并结合云平台进行了总体设计。然后对云平台上的DBaaS服务进行了详细设计与实现,因为涉及到多种服务的调用和数据的校验及组合,在代码实现上主要采用Java8提供的组合式异步编程方式对任务进行并发调用。由于数据库实例状态不能实时推送到前端页面,本文提出了一种基于WebSocket的状态推送方案解决此问题。最后对该云平台提供的DBaaS服务进行了系统测试。验证了该方案创建的数据库实例可以支持多种数据库类型和版本,用户在使用时可根据自己需求场景进行配置选择,并对数据库实例里的数据库和用户进行管理。