收藏 分享(赏)

硕士毕业论文范文——开发测试云平台的设计与实现 --权限管理 定时任务调度与工作负载管理模块.doc

上传人:wo7103235 文档编号:6151710 上传时间:2019-03-30 格式:DOC 页数:74 大小:7.68MB
下载 相关 举报
硕士毕业论文范文——开发测试云平台的设计与实现 --权限管理  定时任务调度与工作负载管理模块.doc_第1页
第1页 / 共74页
硕士毕业论文范文——开发测试云平台的设计与实现 --权限管理  定时任务调度与工作负载管理模块.doc_第2页
第2页 / 共74页
硕士毕业论文范文——开发测试云平台的设计与实现 --权限管理  定时任务调度与工作负载管理模块.doc_第3页
第3页 / 共74页
硕士毕业论文范文——开发测试云平台的设计与实现 --权限管理  定时任务调度与工作负载管理模块.doc_第4页
第4页 / 共74页
硕士毕业论文范文——开发测试云平台的设计与实现 --权限管理  定时任务调度与工作负载管理模块.doc_第5页
第5页 / 共74页
点击查看更多>>
资源描述

1、硕 士 专 业 学 位 论 文开发测试云平台的设计与实现权限管理、定时任务调度与工作负载管理模块Design and Implementation of Development-and-test Cloud Platform: Right Management, Job Scheduling and Workload Management Module作者:导师: 北京交通大学2019 年 3 月i学校代码: 密级:北京交通大学硕 士 专 业 学 位 论 文开发测试云平台的设计与实现权限管理、定时任务调度与工作负载管理模块Design and Implementation of Develop

2、ment-and-test Cloud Platform: Right Management, Job Scheduling and Workload Management Module作者姓名: 学 号:导师姓名: 职 称:工程硕士专业领域:软件工程 学位级别:硕士北京交通大学2019 年 3 月ii致谢本论文的工作是在本人的导师副教授的悉心指导下完成的,副教授严谨的治学态度和科学的工作方法给了本人极大的帮助和影响。在此衷心感谢两年来老师对本人的关心和指导。副教授悉心指导本人完成了企业的实习工作,在学习上和生活上都给予了本人很大的关心和帮助,在此向老师表示衷心的谢意。副教授对于本人的实习工作

3、和论文都提出了许多的宝贵意见,在此表示衷心的感谢。在企业实习及撰写论文期间,企业导师王红亮、同事江新根、樊龙、李金平、同学屈鹏琦等对本人论文中的需求分析、技术选型、设计与实现等工作给予了热情帮助,在此向他们表达本人的感激之情。另外也感谢家人,他们的理解和支持使本人能够在学校专心完成本人的学业。北京交通大学硕士专业学位论文 摘要iii摘要为了适应现代软件开发模型高速迭代的特性、满足多项目并行开发与测试的需要,在软件研发项目的开发与测试阶段,开发与测试环境具有需求量巨大、种类繁多、更迭频繁、时效性强、重用性高等特点。开发与测试环境是ICT(Information and Communication

4、s Technology,信息与通信技术)资源的科学配置与有机组合。而传统的 ICT 资源管理存在着资源的配置不灵活、部署周期长、利用率低下等诸多亟待解决的问题。开发测试云平台利用虚拟资源管理技术,通过网络整合 ICT 资源,构建共享虚拟资源池,并根据软件开发与测试需要,以动态、按需、可度量的方式向软件研发项目提供开发与测试环境的配置与管理服务,实现对开发和测试环境中的 ICT 资源的灵活配置、便捷部署与高效利用。开发测试云平台是云计算技术在软件开发测试环境配置领域的具体应用。本文从开发测试云平台出发,以权限管理、工作负载管理和定时任务调度三个模块作为切入点展开深入的分析与设计。权限管理是平台

5、的基础业务模块,提供以项目为边界的、基于角色的用户权限管理机制。工作负载管理是平台的核心业务模块,提供基于可重用的工作负载配置方案的虚拟服务器和应用程序部署业务,提供虚拟服务器的创建、启停、回收和虚拟桌面连接服务。定时任务调度是平台的关键技术模块,基于 Quartz Scheduler 框架提供静态配置的定时任务调度和动态生成的独立定时任务调度,并加以改进,实现了基于任务分发机制的链式定时任务调度。在需求分析阶段,本人独立完成了界面与交互原型的设计工作;在设计与实现阶段,本人独立完成了权限管理模块、工作负载管理模块、定时任务调度模块、项目资源管理子模块、登录控制子模块和系统部署升级子模块的设计

6、与实现,参与完成了数据库设计和配置方案管理模块的设计与实现。目前,该平台仍处在研发阶段。部署于测试环境中的开发测试云平台运行良好;本人完成的模块功能完善、运行稳定、实现了预期目标。关键词:开发测试云;ICT 资源;定时任务调度北京交通大学硕士专业学位论文 ABSTRACTivABSTRACTIn order to adapt to the rapid iteration of modern software development model, meet the needs for multi-project parallel development and testing, there is

7、 huge demand for diverse development and testing environments in development and testing phases of software research and development projects. These environments are time-sensitive, updated frequently and reusable. The development and testing environment is a well configured combination of ICT (Info

8、rmation and Communications Technology) resources. There are many problems to be solved in the traditional ICT resources management, such as rigid resource allocation, long deployment cycles and low utilization. Using virtual resource management techniques, development-and-test cloud platform integra

9、tes resources over the network to build a shared pool of virtual resources. According to software development and testing needs, development-and-test cloud platform provides development and testing environment configuration and management services to software research and development projects in a d

10、ynamic, on-demand and measurable way, to achieve flexible configuration, easy deployment and efficient use of ICT resources.The development-and-test cloud platform is the combination of cloud computing and environment configuration for software development and testing. The thesis focus on the analys

11、is and design of development-and-test cloud platform. The right management module, workload management module and job scheduling module act as the entry points. As a basic business module, right management module provides a role-based user right management mechanism within project boundary. As a cor

12、e business module, workload management module is able to deploy virtual servers and applications according to reusable workload configuration templates, is able to start, stop, terminate the virtual server and access the virtual server via virtual network computer technology. As a key technical modu

13、le, job scheduling module schedules jobs based on Quartz Scheduler framework. Jobs are registered by static configuration or generated dynamically at runtime. As an improvement of stand-alone job scheduling, a job queue scheduling based on job dispatching mechanism is proposed. In the requirements a

14、nalysis phase, the author completed interface and interaction prototype design independently. In the design and implementation phase, the author completed right management module, workload management module, job scheduling module, 北京交通大学硕士专业学位论文 ABSTRACTvproject resources management sub-module, logi

15、n control sub-module and system upgrade sub-module independently, participated in and completed the database design and workload configuration management module.The platform is still in the development stage currently. The development-and-test cloud platform deployed in the test environment runs wel

16、l. The modules implemented by the author are functional and stable, and the implementation of these modules achieves the desired objectives.KEYWORDS:Development-and-test Cloud; ICT Resources; Job Scheduling北京交通大学硕士专业学位论文 目录vi目录摘要 iiiABSTRACT .iv1 引言 .11.1 项目背景 11.2 项目意义与目的 21.3 国内外发展现状 41.4 论文主要工作 5

17、1.5 论文组织结构 61.6 本章小结 72 开发测试云平台关键技术分析 .82.1 服务器虚拟化技术 82.2 云计算平台 82.3 云应用管理平台 92.4 展现中间件技术 92.5 定时任务调度技术 102.6 本章小结 103 开发测试云平台需求分析 .113.1 开发测试云平台建设目标 113.2 开发测试云平台逻辑结构 123.3 开发测试云平台功能性需求分析 133.3.1 开发测试云平台用例分析 .133.3.2 权限管理用例分析 .143.3.3 工作负载管理用例分析 .153.3.4 定时任务调度用例分析 .163.4 开发测试云平台非功能性需求分析 173.5 本章小结

18、 184 开发测试云平台概要设计 .194.1 开发测试云平台架构设计 194.2 开发测试云平台功能模块设计 20北京交通大学硕士专业学位论文 目录vii4.3 开发测试云平台组件设计 214.4 开发测试云平台数据库设计 234.5 本章小结 245 开发测试云平台详细设计与实现 .265.1 权限管理模块详细设计与实现 265.1.1 用户管理子模块详细设计与实现 .265.1.2 角色管理子模块详细设计与实现 .285.1.3 权限管理子模块详细设计与实现 .305.2 定时任务调度模块详细设计与实现 335.2.1 定时任务调度模块详细设计思路 .335.2.2 配置型定时任务详细设

19、计与实现 .365.2.3 独立定时任务详细设计与实现 .375.2.4 链式定时任务详细设计与实现 .385.3 工作负载管理模块详细设计与实现 405.3.1 工作负载管理模块界面设计 .405.3.2 工作负载管理子模块详细设计与实现 .435.3.3 工作负载控制子模块详细设计与实现 .465.4 本章小结 486 开发测试云平台测试与运行结果 .506.1 开发测试云平台敏捷测试方案 506.2 权限管理模块测试与运行结果 516.3 工作负载管理模块测试与运行结果 526.4 工作负载并发部署性能测试 556.5 本章小结 577 结论 .59参考文献 .60作者简历及攻读硕士学位

20、期间取得的研究成果 .62北京交通大学硕士专业学位论文 引言11 引言在软件的开发与测试阶段,存在着开发与测试环境中的 ICT(Information and Communications Technology,信息与通信技术)资源配置不灵活、部署周期长、利用率低下等问题。开发测试云平台利用云计算技术,以动态、按需、可度量的方式向软件研发项目提供开发与测试环境的配置与管理服务,实现对开发和测试环境中的 ICT 资源的灵活配置、便捷部署与高效利用。本章将阐述项目的背景、意义与目的,介绍国内外发展现状、论文的主要工作和组织结构。1.1 项目背景在软件工程中,软件开发模型描述和表示软件生命周期中的各

21、个阶段之间的复杂关系与转化过程 1。瀑布模型和敏捷开发是被广泛实践的软件开发模型,两者对开发和测试环境的数量和种类均有着较高的要求。瀑布模型被诸多政府项目和大公司所采用 2。 “一次通过”是瀑布模型的本质,要求每个活动只做一次,并最终得到软件产品 3。在瀑布模型的软件实现和测试过程中,如果进行单元测试、集成测试、确认测试、系统测试、验收测试、回归测试、Alpha 测试、Beta 测试各一轮,则至少需要 1 个开发环境和 8 个测试环境。Scrum 是一个增量的、迭代的敏捷开发过程,由多个小的迭代周期组成,迭代周期通常固定在 2 至 6 周之间,迭代周期结束时产生可交付的产品增量 4。一个为期

22、3 个月的采用 Scrum 敏捷方法开发的软件项目支持 3 种运行平台和 24 种语言环境,开发过程中采用每日构建方式,并对其进行单元测试、集成测试、系统测试、功能测试、性能测试、配置测试、回归测试和全球化测试,则至少需要3 个开发环境和 33 个测试环境 5。假设一套开发与测试环境从提出申请到用毕拆除需要 10 人/日,则在一个为期 6 个月的采用瀑布过程的 10 人项目中,开发与测试环境管理的时间成本约占比 5%;而在一个为期 6 个月的采用 Scrum 过程的 10 人项目中,开发与测试环境管理的时间成本占比高达 20%。开发与测试环境是 ICT 资源的科学配置与有机组合。传统的 ICT

23、 资源管理难以应对迭代开发与并行测试的需求,存在诸多亟待解决的问题。(1)ICT 资源管理不灵活。开发与测试环境中的服务器、存储、操作系统和中间软件等 ICT 资源,通常由开发和测试人员申请与使用,由基础架构组负责运维北京交通大学硕士专业学位论文 引言2与管理。多项目开发与测试的并行、使用者与运维者的责权交叉致使企业资产管理中的 ICT 资源总量不清、借用与使用情况不明。(2)开发测试资源申请周期长。有数据显示,在为期 6 个月的开发测试项目中,花费在资源的申请、审批、等待、安装、配置、拆除和归还等重复性工作上的时间超过 1 个月。这类重复性工作直接影响了开发和测试工作的效率。(3)员工工作效

24、率低下。负责基础架构工作的工程师更加希望从事诸如错误诊断和性能调优等具有高附加值的工作,而非从事诸如制作软件镜像文件、更新服务器和更新硬件设备固件等重复性工作。这些重复性工作不仅影响工程师技能的提升,而且使其缺乏工作兴趣,继而影响其工作效率。(4)设备利用率低下。大量调研数据显示,开发测试所使用的服务器的CPU(Central Processing Unit,中央处理器)平均利用率不足 5%,以太网带宽利用率不足 10%。此类资源浪费现象阻碍了企业投资回报率的提升。可见,在软件研发项目的开发与测试阶段,其开发与测试环境具有需求量巨大、种类繁多、更迭频繁、时效性强、重用性高等特点。而传统的 IC

25、T 资源管理难以适应现代软件开发模型高速迭代的特性、不能满足多项目并行开发与测试的需要。云计算是一种通过网络统一组织和灵活调用各种 ICT 资源,实现大规模计算的信息处理方式 6。云计算利用虚拟资源管理与分布式计算等技术,通过网络将包括计算与存储、应用运行平台、软件等在内的分散的 ICT 资源整合形成共享的资源池,并以动态、按需、可度量的方式向用户提供服务。云计算为批量化和规模化的软件研发与测试业务提供了面向服务的、统一的、动态规划的基础平台,能够有效地将标准化、高质量的研发管理体系和管理思想落实到软件企业和组织的各个研发实体和研发人员身上,从而保障不同的研发项目均能获得同样高质量的成功。 “

26、开发测试云”即是这种通过云计算技术与软件研发管理的有力结合,为软件企业和组织建立起来的、可持续发展的基础的技术平台 7。1.2 项目意义与目的开发测试云具有利用宽带网络连接、支持 ICT 资源共享、提供快速按需与弹性服务以及服务可度量 4 个核心特征。服务的使用者与提供者之间、服务提供者内部的各个节点之间均通过高速网络相连。ICT 资源在云内可由全体用户共享。用户可以根据实际需求,迅速获取、释放资源,或对资源进行动态扩展,并跟据实际的资源使用量向服务提供者付费。按照服务提供的资源所在的层次分类,开北京交通大学硕士专业学位论文 引言3发测试云属于 IaaS(Infrastructure as a

27、 Service,基础设施即服务)和PaaS(Platform as a Service,平台即服务)的云计算。按照服务提供的对象与范围分类,开发测试云是面向机构内部提供服务的私有云。本开发测试云平台借助 CloudStack 完备的云平台管理功能与 AppStack 丰富的云应用程序管理功能,结合符合中国用户使用习惯的业务流程和用户界面,打造一款既提供便利的虚拟环境配置解决方案,又提供完备的虚拟资源申请、审批、监控功能的开发测试云服务。通过构建开发测试云平台,使 ICT 资源的管理脱离物理设备局限和束缚。将开发环境、测试环境的软件开发和测试的管理转变为虚拟环境的管理,将 ICT 资源的申请和

28、使用转变为虚拟资源的申请和使用。通过构建开发测试云平台,建立统一的虚拟资源申请、审批和使用流程。使资源总数、资源的利用情况和资源的借用、归还与回收情况等涉及资产管理的问题迎刃而解。通过构建开发测试云平台,缩短资源申请周期,减少重复性工作。开发测试资源的申请、审批和使用均是“所见即所得”的,申请的资源一旦通过审批,便立即可以投入使用;用户在提交资源使用申请之前或在等待审批结果的过程,可规划和设计虚拟环境解决方案,将所需的硬件资源、软件资源和配置信息等保存至虚拟环境解决方案;审批通过后,平台即可根据该解决方案生成虚拟环境,无需人为干预。资源使用完毕后,虚拟环境将被自动回收。最大程度上缩减资源的申请

29、、审批、等待、安装、配置、拆除、归还和盘点等重复性工作。通过构建开发测试云平台,增强员工工作积极性,提升工作效率。开发测试云平台将物理环境和虚拟环境隔离开来,负责进行资源维护的基础架构工作组只需关注物理环境,潜心钻研错误诊断、性能调优等高附加值的工作。开发测试人员则利用开发测试云平台提供的操作系统模板、应用软件模板、虚拟环境配置方案模板等实现开发和测试环境的快速构建。通过构建开发测试云平台,提高设备利用率,提升投资回报率。在硬件资源一定的情况下,开发测试云平台通过虚拟化技术实现对硬件资源使用率的最大化,有效减少硬件资源的闲置率;虚拟化技术的使用使得动态、按需扩展硬件资源成为可能,用户不必担心追

30、加的硬件投入与实际需求量不匹配,也无需担心对硬件资源的扩展会影响正在使用的开发和测试环境,因为虚拟化技术使得硬件资源的改动对虚拟环境是透明的。高效的资源管理流程,便捷的虚拟环境生成策略,积极的工作态度和高速的工作效率,共同助力缩短软件的开发和测试周期、提高软件开发和测试工作的质量、提升投资回报率。北京交通大学硕士专业学位论文 引言41.3 国内外发展现状开发测试云这一概念在学术研究和工程实践领域都具有较高的研究与实践热度。在学术研究领域,有学者分析了云计算对软件测试领域的影响,阐述以基于云计算的软件测试和面向云计算的软件测试的异同与联系,并重点分析在云计算时代软件测试的新方向及需要重点突破的关

31、键技术 8;也有学者提出了集测试资源管理、测试任务管理和测试报告管理于一身的基于云计算的测试管理平台的设计理念 9;国内外科研机构对“测试即服务” (Testing as a Service,TaaS)进行了大量研究,提出了云测试的主要步骤 10-12;国外学者也提出了新一代云开发平台的概念 13,国内也有研究人员从事企业云开发平台的研究工作 14。在软件研发企业中,开发测试云等技术和产品也层出不穷 15。微软、IBM、 VMware 和惠普等大型公司都提出了自己的开发测试云平台解决方案,并推出了自己的开发测试云产品。中国银行等商业银行 16, 17、中石化等国内大型企业也相继推出了适合于自身

32、业务诉求的开发测试云 18。(1) 微软开发测试云。该开发测试云解决方案基于微软服务器平台构建,利用其 Hyper-V 虚拟化技术将底层的计算资源虚拟化,提供动态化、端到端的管理、监控、部署和配置服务,从而形成动态化的资源池 19。该资源池提供虚拟测试管理服务和动态资源分配服务,并允许用户构建云服务。该解决方案为用户提供自助服务门户,所有功能均以 Web 形式提供给最终用户。解决方案包含软件生命周期管理功能,并允许用户对功能模块进行自定义,既满足用户需要,又避免用户直接接触数据中心基础架构,实现安全、高效、快速的软件开发测试 20。(2) IBM 开发测试云。该开发测试云解决方案利用 Powe

33、rVM 和 Xen 虚拟化技术建设标准化的软件、硬件资源池。其云管理平台,提供服务目录、资源管理流程和资源调度集成功能 21。整个开发测试过程对基础资源池的要求均以服务形式提供,并提供资源申请、审批、使用、提示、回收、盘点等资源生命周期各阶段所涉及到的组织、人贸、权限、安全、计费、审计等一系列管理流程,并将标准化资源池底层管理软件与云管理平台软件集成至云管理平台。该解决方案还提供与身份认证系统监控及流程系统、计费系统等的系统集成功能,以及将现有的开发测试项目迁移到开发测试云平台上的系统迁移功能。(3) VMware 开发测试云。该开发测试云通过 VMware vSphere 在云计算基础架构之

34、上搭建虚拟化平台,利用 VMware vCenter Server 进行虚拟化管理,使用VMware vCloud Director 提供云计算服务平台,并在云计算服务平台之上构筑云基础架构运营平台。该平台提供从硬件资源到虚拟服务器、虚拟应用的安全管理北京交通大学硕士专业学位论文 引言5策略;提供基于流程的管理策略,通过审核资源使用申请,灵活地提供计算资源;为终端用户提供灵活、便捷、安全的桌面云服务,可以实现远程办公,并且快速部署桌面应用;提供包括全面的状态监控,性能检测,健康检查及趋势分析,以及系统运行报告在内的运营管理服务;提供端到端的性能预警及前瞻性能分析,提供从架构至代码一级的性能管理

35、;提供完善的云开发环境和应用管理平台 22。(4) 惠普开发测试云。该开发测试云基于惠普融合基础设施架构的虚拟资源池,通过 HP CloudSystem 实现虚拟化和自动化,并集成服务管理和自动化部署。在此之上通过自助服务门户提供操作系统和应用管理 23。(5) 中国银行开发测试私有云。中国银行信息中心构建了以云计算技术为载体、以虚拟化架构为基础、以自动化部署为核心、以标准化操作为准绳的私有云,并以此实现资源的最大化利用、软件的自动化部署与系统的实时性监控,建设针对开发测试环境大规模应用的“开发测试私有云” 24。该开发测试云投入使用后,资源使用的业务流程得以改善;申请流程得以简化,管理水平得

36、以提升,资源拨付效率提升 33%,人力资源节省 50%;网络、设备和系统利用率提升均超过60%24。从技术角度分析,以上五款开发测试云解决方案均利用虚拟化技术整合 ICT资源、构建 ICT 资源池,通过 Web 端或桌面客户端向用户提供管理入口,部分提供了用户身份认证系统等外部外部系统的整合服务;从业务角度分析,以上五款开发测试云解决方案均提供资源申请与管理的自助服务,部分提供计费、动态迁移、状态监控和桌面云服务。1.4 论文主要工作开发测试云平台面向最终用户提供基于项目的用户-角色-权限管理机制,提供面向项目的虚拟资源的申请与审批流程,提供虚拟服务器及应用程序的创建、配置、管理和回收功能;面

37、向平台管理者,提供虚拟资源池管理和监控功能。本人在立项伊始即投入到该开发测试云平台的研发工作中,参与了从需求分析到设计与实现的全部环节。本人在需求分析阶段,独立完成了界面与交互原型的设计工作;在设计与实现阶段,独立完成了权限管理模块、工作负载管理模块、定时任务调度模块、项目资源管理子模块、登录控制子模块和系统部署升级子模块设计与实现工作,参与完成了数据库设计工作和配置方案管理模块的设计与实现工作。由于篇幅有限,本文仅选取权限管理、工作负载管理和定时任务管理三个模块作为平台基础业务、核心业务与关键技术的典型代表,加以深入分析、详细设北京交通大学硕士专业学位论文 引言6计并实现。权限管理是平台的基

38、础业务模块。该模块以页面的可访问性和页面元素的可见性作为权限管理的最小单位,通过基于角色的用户权限管理机制,控制项目成员的访问与操作权限。工作负载管理是平台的核心业务模块。使用预先定制的工作负载配置方案,或在其基础上稍作调整,即可根据配置方案部署虚拟服务器和安装应用程序至服务器。实现了对虚拟服务器的创建、启停、回收和虚拟桌面连接操作。作为平台中业务逻辑最为复杂、使用率最高的模块,其界面设计、交互设计和最终实现均独具匠心。定时任务调度是平台的关键技术模块。基于 Quartz Scheduler 任务调度框架并结合具体的业务需求,不断更新设计与实现思路,形成了“静态配置型定时任务与动态注册型定时任

39、务相互搭配,从依靠硬编码链接的独立定时任务向基于任务分发机制的链式定时任务不断进化”的设计与实现思路。1.5 论文组织结构本文共分为 7 个章节:第 1 章,引言。主要介绍开发测试云平台项目的背景、意义与目的,以及国内外同类产品的发展现状,介绍本文的主要工作和论文的组织结构。第 2 章,开发测试云平台关键技术。主要针对开发测试云平台在服务器虚拟化、云计算平台、云应用管理平台、展现中间件和定时任务调度框架五方面的关键技术进行了同类技术对比与分析。第 3 章,开发测试云平台需求分析。从开发测试云平台的建设目标入手分析得出开发测试云平台的逻辑结构、功能性需求和非功能性需求,分析开发测试云平台的整体需

40、求,并对权限管理、工作负载管理和定时任务调度等典型业务进行了需求分析。第 4 章,开发测试云平台概要设计。结合需求分析,对开发测试云平台进行概要设计。设计从开发测试云平台的架构设计入手,通过分析得到功能模块设计和组件设计,并据此进行数据库设计。第 5 章,开发测试云平台详细设计与实现。根据需求分析和概要设计结果,对权限管理模块、工作负载管理模块和定时任务调度模块进行详细设计并实现。针对工作负载模块调用定时任务调度模块中出现的定时任务耦合性高、难以复用的实际问题,对定时任务调度逻辑加以改进,实现了基于任务分发机制的链式定时任务调度策略。北京交通大学硕士专业学位论文开发测试云平台关键技术分析7第

41、6 章,开发测试云平台测试与运行结果。针对敏捷开发特点,制定了敏捷测试方案。并对权限管理模块和工作负载管理模块进行了功能性测试,并结合测试过程展示了权限管理和工作负载管理模块的运行情况。通过分析工作负载并发测试结果,确定了影响工作负载并发部署性能的瓶颈因素。第 7 章,结论。对开发测试云平台分析、设计与实现的全过程进行回顾与总结,提出了改进建议。1.6 本章小结本章分析了软件开发与测试环境需求量巨大、种类繁多、更迭频繁、时效性强、重用性高的原因。分析了传统的 ICT 资源管理难以应对迭代开发与并行测试的需求,存在资源的配置不灵活、部署周期长、利用率低下等问题的项目背景。基于该背景,提出了利用云

42、计算技术搭建开发测试云平台,阐述了开发测试云平台的项目意义与开发目标。本章介绍了国内外同类产品的研发现状。列举和分析了微软、IBM、 VMware、HP 和中国银行等知名厂商同类产品的技术架构、产品功能和研发成果。最后,本章介绍了论文的主要工作与组织结构。介绍了作者在开发测试云平台中的主要工作。北京交通大学硕士专业学位论文开发测试云平台关键技术分析82 开发测试云平台关键技术分析开发测试云平台的关键技术包括服务器虚拟化技术、云计算平台、云应用管理平台、展现中间件和定时任务调度技术。其中,服务器虚拟化技术、云计算平台和云应用管理平台用于构建云平台,提供核心技术支持;展现中间件技术和定时任务调度技

43、术用于实现开发测试云平台的核心业务逻辑,以及以 Web 形式提供平台自助管理服务。2.1 服务器虚拟化技术服务器虚拟化技术允许多台虚拟机在单一物理服务器上运行。虚拟机之间被完全隔离开来,虚拟机与基础主机之间通过系统管理程序的软件层分离开来 25。因此,不同的虚拟机能够运行不同的操作系统和应用程序。由于虚拟机与基础主机不存在依赖关系,所以虚拟机可以实时迁移,即在物理服务器间移动而无需中断运行。目前,主流的服务器虚拟化技术包括 VMware ESXi、Critrix XenServer、Microsoft Hyper-V 和 KVM(Kernel-based Virtual Machine,基于内

44、核的虚拟机)等。VMware ESXi 与 Microsoft Hyper-V 是完全虚拟化技术的代表,该技术允许任何操作系统在不加改动的情况下运行,但有一定的性能损耗,商用需付费;Critrix XenServer 是一种准虚拟化技术,性能优异且开源免费;KVM 是一种操作系统层虚拟化技术,所有虚拟服务器必须运行同一操作系统,灵活性较差,但性能较高 26。经对比分析,结合建设成本控制要求和虚拟机必须支持多种操作系统的业务需求,开发测试云平台选取开源免费的 XenServer 作为平台的服务器虚拟化技术。2.2 云计算平台目前主流的提供虚拟资源管理的云计算平台有 CloudStack 和 Op

45、enStack27。这类云计算平台在功能上与单机操作系统类似,承担着向下控制底层资源,向上提供计算、存储等资源接口的责任,因此也被称为“云操作系统” ,其主要关键技术包括实现底层资源池化管理的“资源池”管理技术和向用户提供大规模存储、计算能力的分布式任务和数据管理技术 28。北京交通大学硕士专业学位论文开发测试云平台关键技术分析9CloudStack 和 OpenStack 均采用开源许可证,可以免费使用,均支持KVM、 XenServer、VMware 、Oracle VM、Xen 等主流的服务器虚拟化技术 29。CloudStack 部署便捷,可通过现存基础架构创建云服务,全部功能均可以通

46、过基于浏览器的界面完成;OpenStack 的部署相对复杂,大部分管理操作需在命令行下完成 30, 31。经对比分析,综合考虑部署与维护成本,选取开源的具有友好的管理界面的CloudStack 作为云计算平台。2.3 云应用管理平台在复杂的云环境中部署应用程序时,系统配置管理工具是不可或缺的。目前应用较为广泛的系统配置软件包括 Chef 和 Puppet 等 32。AppStack 是由 AppCara 公司研发的一款云应用管理平台,用以简化在多种公有云或私有云中配置和管理复杂的应用程序。AppStack 的架构采用数据模型驱动技术,该技术使得 AppStack 可以将绝大多数的应用程序的管理

47、任务高度的自动化。AppStack 利用一个动态的配置仓库(数据引擎)采集工作负载中的全部组件的配置信息,并将其组装至数据模型。此数据模型采集工作负载相关的全部元素的信息,包括虚拟服务器、虚拟服务器中的软件包、应用程序的配置参数和设置,以及众多组件间的依赖关系。当用户利用 AppStack 的门户对工作负载做出修改时,AppStack 会实时追踪工作负载中的全部信息。得益于 AppStack 的代理软件,AppStack 可以更新工作负载中正在运行的实例的系统参数和配置,无需用户手动登入虚拟服务器更新配置文件。AppStack 云应用管理平台较 Chef 和 Puppet 更为先进。该平台基于

48、 Puppet 构建,提供多种云应用的管理与部署功能,支持自定义应用程序的发布。为了提供功能强大、运行稳定的云应用管理功能,开发测试云平台选取了具有商业许可的 AppStack 作为云应用管理平台。2.4 展现中间件技术为了构建开发测试云平台的管理服务端,平台采用 Java EE 技术搭建了专门的 Web 应用程序,提供基于浏览器端的平台管理界面。该 Web 应用程序采用Spring MVC 技术和 Hibernate 技术。在 Web 表现层框架选取过程中,主要从学习成本的角度对 Dojo 框架和Dorado 框架进行了取舍。 Dorado 框架是源代码开放的展现层中间件,提供强大北京交通大

49、学硕士专业学位论文开发测试云平台需求分析10的中文交流社区。Dorado 能够与 Spring 技术和 Hibernate 技术完美结合,使用三种技术完成的系统具有良好的用户体验、可维护性以及可扩展性,开发效率高 33。利用 Dorado 展现中间件可以创建更加美观、更加人性化的 Web 操作界面,可以提升表现层开发效率 34。Dorado 展现中间件,提供利用 JavaScript 搭建的纯浏览器前端展现系统,兼容主流浏览器;提供与后台系统集成的服务端引擎,辅助界面自动生成,客户端与服务端的数据通信、状态同步;提供基于 Eclipse 的集成开发工具,辅助对Dorado 界面及其他相关配置进行快速定制 35。为了提升开发效率、降低学习成本,开发测试云平台选取 Dorado 作为展现中间件。2.5 定时任务调度技术目前,使用 Java 语言实现定时任务调度的技术有三种。利用 Java 语言提供的 java.util.Timer 类可实现以一定频率执行任务,但不能定时执行,也不支持任务的持久化;Spring 框架提供的 Spring Task 是轻量级的定时任务调度技术,支持使用注解和配置文件定义定时任务,但不支持任务持久化;Quartz Sch

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报