基于分布式模块化技术的PaaS平台服务管理系统和实现方法

文档序号:9274440阅读:649来源:国知局
基于分布式模块化技术的PaaS平台服务管理系统和实现方法
【技术领域】
[0001] 本发明涉及PaaS平台管理领域,具体涉及基于分布式模块化技术的PaaS平台服 务管理系统和实现方法。
【背景技术】
[0002] PaaS是Platform-as-a-Service的缩写,意思是平台即服务。把服务器平台和支 撑应用运行的相关服务作为一种服务提供的云计算模式。在此模型下用户通过平台提供的 工具或服务去创建自己的应用。用户可以自己控制应用的部署和环境的配置。平台提供网 络,服务器资源,存储和运行时环境等服务支撑用户应用的运行。
[0003] PaaS平台省去了用户购买硬件和维护服务器的成本和复杂性,方便了应用的开发 和部署。PaaS平台的一揽子解决方案具有低启动成本,计算资源按需增加,自助服务,内建 最佳实践和方案,资源共享,自动部署,管理和监控服务,生命周期管理等特性。同时PaaS 还可以提供应用设计,应用测试,协同开发,版本控制,web service整合,安全性,自动扩 展,灾备和恢复,开发者社区支持等服务。
[0004] 现代复杂大型系统设计一般采用模块化的架构设计,最典型的是的OSGi,业界中 最知名的Java模块化技术规范,其核心设计思想是面向服务的组件模型。但基于传统的 OSGi模型不能很好满足云计算领域的需求,具有以下缺点:难以应对超大规模分布式系统 对性能的要求;庞大的程序主体较难在复杂分布式环境中对运行时错误进行定位;不能支 持复杂的云服务运行环境;缺乏针对分布式环境的优化和PaaS业务特性的支持。

【发明内容】

[0005] 为了克服现有技术的不足,本发明的目的在于提供一种基于分布式模块化技术的 PaaS平台服务管理系统,设计了针对云计算PaaS平台的控制管理框架,控制管理框架通过 服务模板文件可在平台上快速部署和支持新的服务而无需改动或升级平台代码,还通过扩 展点接入机制实现控制管理框架中各个模块的功能扩展。
[0006] 为解决上述问题,本发明所采用的技术方案如下:
[0007] 方案一:
[0008] 基于分布式模块化技术的PaaS平台服务管理系统,包括:分布式组件库、控制管 理框架、分布式插件库和虚拟资源池,分布式组件库中包括组件,分布式插件库中包括插 件,控制管理框架包括可互相交互的前端管理模块、逻辑管理模块和资源管理模块,前端管 理模块、逻辑管理模块和资源管理模块分别设有对应的扩展点;前端管理模块用于控制前 端页面,资源管理模块用于控制虚拟资源池,逻辑管理模块用于加载和解析组件的内容, 生成组件指令,配合前端管理模块和虚拟资源管理模块执行组件指令,并将该组件部署至 PaaS平台上运行;逻辑管理模块还用于加载和解析插件的内容,生成插件指令,插件指令 包含有对应的扩展点信息,由对应的扩展点所在的管理模块执行插件指令。
[0009] 进一步地,组件包括组件代码、运行环境和服务模板文件,服务模板文件中包含了 该组件的服务配置信息。
[0010] 进一步地,逻辑管理模块加载组件中的内容,解析组件代码,以及服务模板文件中 的服务配置信息,生成组件指令。
[0011] 进一步地,服务模板文件中还包括插件配置信息,插件包括插件代码和插件配置 文件,插件配置文件中包含扩展点信息,插件配置信息与对应的插件配置文件关联;逻辑管 理模块解析服务模板文件中的插件配置信息,根据其对应的插件配置文件解析对应的插件 代码,生成插件指令。
[0012] 进一步地,执行组件指令时,生成一个对应于组件的组件副本,将组件副本部署至 PaaS平台上运行。
[0013] 进一步地,前端管理模块、逻辑管理模块和资源管理模块之间通过RPC机制进行 交互。
[0014] 方案二:
[0015] 一种应用于如权利要求1所述的PaaS平台服务管理系统的实现方法,包括组件部 署步骤:
[0016] S11 :逻辑管理模块从分布式组件库中加载用户指定的组件,组件中包含有组件代 码、运行环境和服务模板文件,服务模板文件中包含了该组件的服务配置信息;
[0017] S12 :逻辑管理模块解析服务模板文件中的服务配置信息,以及组件代码,生成组 件指令;
[0018] S13:逻辑管理模块分别向前端管理模块和资源管理模块转发组件指令中相应的 部分,由逻辑管理模块、前端管理模块和资源管理模块共同执行组件指令,以使组件部署至 PaaS平台上运行。
[0019] 还包括插件实现步骤:
[0020] S21 :在S12中,若服务模板文件中包含有插件配置信息,则执行S22 ;
[0021] S22:逻辑管理模块解析服务模板文件中的插件配置信息,根据其对应的插件配置 文件解析对应的插件代码,生成插件指令;其中,插件代码和插件配置文件均在插件中,插 件配置信息与对应的插件中的插件配置文件为关联关系;
[0022] S23 :由插件指令中的扩展点所对应的管理模块执行插件指令,以实现插件。
[0023] 进一步地,在S13中,执行组件指令时,生成一个对应于组件的组件副本,将组件 副本部署至PaaS平台上运行。
[0024] 进一步地,前端管理模块、逻辑管理模块和资源管理模块之间通过RPC机制进行 数据交互。
[0025] 相比现有技术,本发明的有益效果在于:模块化的控制管理框架给PaaS平台服务 提供了高可扩展性和灵活性,通过服务模板文件可在平台上快速部署和支持新的业务(云 服务)。开发者通过服务模板文件可以配置云服务的运行环境和定义服务的安装细节等,然 后通过控制管理框架自动处理和集成该服务到PaaS平台上。通过控制管理框架支持的组 件机制及其服务模板文件可以在线部署新的服务而无需改动或升级平台代码。控制管理框 架还通过分布式扩展点接入机制灵活支持框架内各个模块的功能扩展和配置,开发者通过 遵循预设的规范和约束条件开发插件便能很好地满足云服务的功能扩展和定制方面的需 求。
【附图说明】
[0026] 图1为本发明的云服务部署的模型图。
[0027] 图2为本发明的PaaS平台服务管理系统的架构图。
【具体实施方式】
[0028] 下面,结合附图以及【具体实施方式】,对本发明做进一步描述:
[0029] 参考图1-2, 一种基于分布式模块化技术的PaaS平台服务管理系统,包括:分布 式组件库、控制管理框架、分布式插件库和虚拟资源池。控制管理框架分为三层,分别包括 前端管理模块、逻辑管理模块和资源管理模块,逻辑管理模块是控制管理框架的控制中心, 再配合前端管理模块和资源管理模块执行相应的指令,其中,前端管理模块、逻辑管理模块 和资源管理模块之间通过RPC机制进行数据交互,前端管理模块还与前端页面进行数据交 互,资源管理模块还与虚拟资源池进行数据交互。
[0030] 本方案将服务组件化,也可理解为模块化,组件中的内容由用户遵循预设的规范 进行开发和定义,将其中的内容打包成压缩包形成组件,组件保存于分布式组件库中,包括 组件代码、运行环境和服务模板文件,当然根据不同服务的需要还可包括一些执行脚本。其 中组件代码指可执行的代码,运行环境指支撑该服务运行的环境,例如tomcat容器,服务 模板文件中包含了该组件的服务配置信息,服务配置信息定义有运行环境和安装步骤等配 置。当一个服务需要被部署至PaaS平台上时,通过逻辑管理模块加载代表该服务的组件 中的内容,解析其中的代码,以及服务模板文件中的服务配置信息,生成组件指令,再配合 前端管理模块和虚拟资源管理模块执行组件指令,把该组件部署至PaaS平台上运行。进一 步地,在执行组件指令时,会生成一个对应于该组件的组件副本,将该组件副本部署至PaaS 平台上运行。
[0031] 本方案还可实现插件扩展,前端管理模块、逻辑管理模块和资源管理模块分别设 有对应的扩展点,每个管理模块均可设置多个扩展点。扩展点可以理解为该控制管理框架 定义的可接入扩展的接口,通过声明各个扩展点的预定义的规范,就可以实现相应的扩展, 即扩展点是在框架中预定义的可以让开发者进行扩展的接口,扩展就是对扩展点的实现。 其中,由一个或多个扩展点对应的扩展组成的集合就是插件。
[0032] 插件也是由开发者遵循预设的规范进行开发和定义,保存于插件库中。至于如何 实现插件的加载和运行,在服务模板中还包括插件配置信息,在插件中包括插件代码和插 件配置文件,插件配置文件中包含有扩展点信息,服务模板中的插件配置信息与对应的插 件中的插件配置文件关联。当需要加载插件时,通过逻辑管理模块解析服务模板中的插件 配置信息,根据其对应的插件配置文件解析对应的插件代码,生成插件指令,再由对应的扩 展点所在的管理模块执行插件指令,即如果插件配置文件中包含有前端管理模块的其中一 个扩展点,便由前端管理模块执行插件指令。
[0033] 例如,开发者开发了一个可以通过Web界面修改Tomcat服务器配置参数的插件, 该插件包含了前端管理模块的PageSet扩展点和资源管理模块的ServerCommand扩展点 的实现,则该插件被加载和解析后,将会同时被前端管理模块和资源管理模块分别执行对 应的插件指令。用户在页面提交修改参数后,PageSet扩展点的实现代码把获取到的参数 通过RPC机制调用属于该用户的所有后端服务器上的ServerCommand扩展点的实现,通过 Serv
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1