一种开发测试云的硬件系统的制作方法

文档序号:7870689阅读:271来源:国知局
专利名称:一种开发测试云的硬件系统的制作方法
技术领域
本发明公开了一种开发测试云的硬件系统,涉及一种软件开发测试的云服务系统,具体而言涉及一种效率更高、资源配置更优化的基础云架构,属于软件测试技术领域。
背景技术
背景技术
当前,云计算技术成为IT领域的研究热点。目前的云计算产品和技术方案层出不穷,国内外研究机构、IT软硬件厂家、标准化组织、开源软件组织都在十分积极的推出云计算产品和技术解决方案。本报告在学习和了解相关云计算技术资料、产品白皮书以及软件手册的基础上,希望对现有产品和技术解决方案给予归纳、整理和分析,实现对各类产品的清晰认识,以便于选择和使用。云计算是网格计算、分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡等传统计算机技术和网络技术发展融合的产物。它旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的完美系统,并借助SaaS、PaaS, IaaS, MSP等先进的商业模式把这强大的计算能力分布到终端用户手中。Cloud Computing的一个核心理念就是通过不断提高“云”的处理能力,进而减少用户终端的处理负担,最终使用户终端简化成一个单纯的输入输出设备,并能按需享受“云”的强大计算处理能力。新世纪以来,中国经济呈现高速增长的态势,经济总量从世界第六位上升到第四位,有100多种产品产量居于世界前列;一些重大技术装备的制造和研发获得了实质性进展;高技术产业规模居世界第三,出`口规模列世界第二。中国巨大的内需市场、丰富的行业应用,吸引了大量跨国企业布局中国服务外包市场,从而提升了中国承接国际服务外包的能力,推动了中国服务外包市场的应用和产业发展。Gartner研究报告表明,中国是一个新兴的、但却是被分割开的外包市场。极少有本地的中国公司外包其IT运营业务,然而许多跨国公司正在进入中国市场,它们把其IT运营外包给了全球性服务提供商,其中大多数提供商都在中国建立了强大的业务基础。虽然遭受金融危机的冲击,但国家工业和信息化部数据显示,中国软件业仍一支独秀,增幅继续保持在20%以上的高位运行。历次全球经济危机都是在科技创新的带动下走出,并催生出一些新的产业。2008年,IBM提出的〃智慧的地球(Smarter Planet) 〃发展战略,受到美国政府的高度重视,已上升为美国的国家战略。“智慧的地球”提出“把感应器嵌入和装备到电网、铁路、桥梁、隧道、公路、建筑、供水系统、大坝、油气管道等各种物体中,并且被普遍连接,形成所谓“物联网”。并通过超级计算机和云计算将“物联网”整合起来,实现人类社会与物理系统的整合;2009年11月,中国将“智能电网”、“信息网络”列入未来重点发展的七大战略性新兴产业。随着美国、中国国家战略的实施,与这一战略相关的〃智慧〃基础设施,将远远超过互联网。因此,以云计算、物联网、智能电网行业应用等为重要方向的中国服务外包新兴市场也将迎来爆炸性发展机会。
中国人正在从温饱向小康生活进军,人们更注重生活质量的提高一追求并享受更多省时、省力、轻松、愉快的各种服务方式。互联网、传感器、无线通信经过几十年的迅猛发展,其应用已经进入到服务人们社会生活的各个角落之中。经历了计算机向通信工具的变革,传感器向替代人的各种感觉进化,无线通信使得人类沟通更为方便和容易,每一次变革都使人们的服务感受获得前所未有的满足和提高,反过来推动信息技术服务市场的进一步发展。计算机、互联网、无线通信的应用更为简单而便捷,如上网获取各种信息、无处没有无时不在的联络手段、自动化无人化的工业生产方式、宽带的通信能力和传感器小型化广泛性等,还是对复合技术应用于新型服务内容,如声、光、电、磁等先进技术综合运用于金融、交通、能源、学习、娱乐等服务领域,如何降低成本,适应大量服务业的需求,尤其对数据的安全性、隐私性,以及集中化超大系统(云计算、物联网)运营的可靠性、通用性、维修性、兼容性、互用性和测试性等,都提出了更高的要求。然而,目前快速发展信息技术在应用于生产和生活环节过程中暴露出许多不足之处,亟待加以改进和完善,比如信息服务需求的表达和挖掘、信息服务市场的细分和开发、信息技术向实用的快速转移、信息服务知识和技能的交付能力等等。因此,未来的十年,基于环境保护和节约资源的考虑,消耗人力和资源为主的产品制造业会快速向信息技术驱动的服务业转移,产品将仅是作为一个服务载体的形式出现,信息技术的复杂性和多变性必须要求服务供应商提供及时的、细致的、无微不至、贴心的服务。包括云计算和物联网在内的综合信息服务系统将向着更加综合化、大型化、通用化、模块化及智能化的方向发展,在综合信息服务系统中的功能、性能以及可靠性、维修性、保障性、测试性和综合效能也将出现突破性的飞跃,信息服务综合化技术将向人类生产生活的深度和广度发展。随着云计算技术的不断发展,社会化、集约化的软件服务系统已经成为实现信息服务综合化、智能化的基础,也是信息服务系统的核心。以下载为形式的商业服务模式直接关系到软件产业的发展模式,如何从市场调研、服务设计中进一步提高软件服务系统的实用性、适应性和时效性,是摆在我们面前需要研究和解决新的课题。软件作为人脑和人手的延长,如何更加密切地为人类提供并解决许多类型各异、细致微小但又非常实用的信息工具——软件。需要大量的知识劳动、专家系统、服务市场学研究、服务心理分析和面向服务的软件架构创新。

物联网承担着产品制造业向服务转化的重要历程一感知、传输和智能。由于采用替代人感觉的理化传感器获取信息,使得原本依靠人重复劳动的方式得到根本的改善。然而正是机器不能完全代替人脑工作一样,传感器的可靠性,一致性,数据采集的系统性以及准确传输后的数据整理、挖掘,甚至智能化的开发、分析和运用原始数据成为物联网真正能够获得巨大成功的市场条件。传统意义中的产品在物联网的深入应用中获得服务价值的巨大提升一智能电网、智能交通、智能医疗、智能家居、智能商业无不是产品智能化后的服务体现。从物联网的感知端开始做好嵌入式软件开发、中间件、数据库、高端应用系统、物物相连的信息通信服务、行业应用集成服务都存在着研究领域的巨大挑战,需要在不断行进中获取经验。云计算产品大体分软件和硬件产品两大类。其中硬件产品是主要依赖于大型服务器设备的提供商实现的面向云特征的具有分布式并行计算能力的设备,代表有IBM、SUM、曙光机等。软件产品是云计算产品的主流,包括虚拟机管理平台、数据存储平台、分布式计算平台等,主要有的平台有Google应用软件引擎(Google App Engine)、微软的Azure平台、亚马逊网络服务(Amazon AWS)、IBM蓝云、Platform Computing的ISF以及VMware的云产品。同时,国内的友友系统和美地森公司在云存储方面也走在了云技术发展的前沿。从Google提出云计算技术,到现在,国际上几乎所有一线的IT企业都积极参与进入这块新兴领域,并依据自己传统的技术领域和市场策略提出自己的云计算架构。他们通过深挖技术基础,把大量以前的产品和技术的云计算特征挖掘出来,如软件的虚拟化、分布式存储系统,在此基础上建立自己的云计算产品线。Google App Engine没有使用虚拟化技术,其云计算理念是与主流公司的战略是相反的,其现阶段提供的平台虽然可以为用户提供现成的在线的应用套件,但还受到很多的限制,其中支持的编程语言(只支持Java和Python)太少就是其很大的劣势。而且,由于没有本地端,应用程序只能通过提供的网址抓取和电子邮件服务访问互联网中的计算机,这也给用户带来一定的不便。同Google —样,Amazon的产品在国内没有销售。但值得一提的是Amazon作为电子商务公司,它的云平台的安全性做的很出色,对于平台的配置上也给了用户更多的选择权。另外,Amazon自己作为应用者,其平台具有高度的开放性,但是不支持菲关系型数据库,也不支持虚拟化技术,此外,Amazon有一些特殊的存储要求,需要考虑应用所需的带宽大小和计算时间。微软的云平台最大的特色是它的“云+端”思想,Azure服务平台既可以在云端下被调用,也可以被本地系统调用,也就是说用户可以在VS. NET2008以上的版本+Cloudservice+AzureSdk下实现云计算开发。但总体上来说,微软云平台的软件过于“Microsoft化”,对于其他公司产 品的兼容性较差,例如不支持Java,也不支持非关系型数据库。从应用上看,EC2主要是吸引资源密集型软件,如企业应用等,而Azure的应用主要是服务于LAN或工作组模式的用户群体。VMware的云计算的核心是虚拟化,虚拟架构技术做的很好,但是开放性弱,不支持特定开发。Platform在HPC领域有着很强的技术力量,正将自身定位从网格计算过渡到云计算,它在国内的应用有北京超算中心,但是超算中心主要以数学计算为主,数据量比较小,计算的种类也相对集中,参考性不大。IBM的ComputingonDemand主要针对高性能计算,诸如汽车和航天工业模拟计算、生命科学领域的染色体组建模等等。并且,它的定位是高端服务器,相比与其他公司的方案,性价比难说。从云存储方面看,国内的两个公司均做的很出色。但友友系统有一个明显的优势它的DataCell DB尤其适用于海量小文件存储与访问的应用场景。这是其他的文件分块存储系统所不具备的。现有技术领域存在一些云平台,例如,Salesforce CRM (客户关系管理)属于云计算中的SaaS层,主要是通过在云中部署可定制化的CRM应用,来让企业用户在很低初始投入的情况下使用上CRM,并且可根据自身的流程来进行灵活地定制,而且只需接入网络就能使用。这个云平台的鉴权算法部署在管理层,安全强度较低;它的数据架构并未采用清晰的三横一纵体系。在软件开发测试领域,业界尚未公开任何云服务平台。借鉴非软件开发测试领域的云架构,构建一个全新的软件开发测试云,这是本领域的一项技术难题。为政府和企业搭建“开发测试云”解决方案Proof of Conc印t环境,能确保其可以对外进行软件演示,为软件开发测试提供虚拟的硬件和软件环境,减少软件开发测试的成本。此外,现有技术还没有公开为第三方用户开放远程测试用户开发的软件的接口,所述用户无法向所述第三方用户开放远程测试权限;现有技术没有为第三方用户开放远程观摩或浏览用户开发的软件的测试过程的接口,所述用户无权向所述第三方用户开放所述远程观摩或浏览的权限。现有技术的框架设计、伸缩性、扩展性、数据耦合性、自适应性与安全机制,也存在很多缺陷。总之,现有技术不能实现软件开发、测试、远程分布式授权测试、测试观摩统一于一个平台的需求,不能自动配置、扩展用户需求的软硬件开发环境。

发明内容
本发明公开了一种开发测试云的硬件系统,其特征在于,所述硬件系统包括服务器和终端机,所述服务器通过网络连接,分为集群化的基础云服务器存储区、集群化的操作云服务器存储区,前者包括共享内存的开发虚拟机存储单元、知识组件存储单元、共享内存的测虚拟机存储单元;后者包括各种虚拟机的存储单元;合作开发人员的终端机,根据授权访问集群化的操作云服务器存储区中的一台或者多台虚拟机的存储单元,终端机通过硬件加密设备访问各自在集群化的操作云服务器存储区创建的虚拟机;任意用户访问集群化的基础云服务器存储区中的知识组件存储单元,上传或下载知识组件;共享内存的测试虚拟机存储单元对远程测试人员的终端机、远程观摩人员的终端机开放接口,后者测试、观摩的权限由共享内存的测试虚拟机存储单元授予;集群化的操作云服务器中的虚拟机存储单元创建、维持、扩展、修改软件开发、 测试的软硬件环境,这些存储单元产生的开发、测试数据存储在集群化的基础云服务器存储区的共享内存的开发虚拟机存储单元、共享内存的测试虚拟机存储单元;所述知识组件存储单元存放软件开发、测试需要的应用、数据、程序、插件、知识组合;共享内存的开发虚拟机存储单元与应用程序商店服务器连接,前者向后者发布应用,或者从后者购买应用;所述集群化的基础云服务器存储区、集群化的操作云服务器存储区之间设置有数据映射、冗余机制,所述集群化的基础云服务器存储区与所述集群化的操作云服务器存储区上的界面、流程、工具、数据、方法、操作相互映射到对方的存储器上,实现软硬件环境的虚拟化应用,所述集群化的操作云服务器存储区对终端机的操作记录建立日志审计机制,并把数据进行冗余备份,供所述终端机的用户恢复或找回历史数据。所述的一种开发测试云的硬件系统,其特征在于,所述集群化的操作云服务器中的虚拟机存储单元向所述终端机提供显示层服务,显示层用HTML显示页面,用JavaScript丰富Web页面的功能,用CSS控制Web页面的外观,用RIACRich Internet Applications)技术,包括Flash技术提高HTML技术的页面展示效果,用Silverlight丰富C#的页面编程;所述集群化的操作云服务器中的虚拟机存储单元向所述终端机提供中间件层服务,包括缓存服务和REST服务,而且这些服务既可用于支撑显示层,也可以直接让用户调用,中间件层用多租户技术让一个单独的应用实例为多个组织服务,用分布式缓存技术,降低后台服务器的压力,提供了不同用户和不同应用同时使用相同缓存的机制,并对不同用户和不同应用,根据权限进行数据隔离;所述集群化的操作云服务器中的虚拟机存储单元向所述终端机提供基础设施层服务,给上面的中间件层或者用户准备其所需的计算和存储资源,用关系型数据库技术在原有的关系型数据库基础上做了扩展和管理优化,包括创建微内核架构,使原有的关系型数据库微模块化;设置更多接口,如为认证和日志记录增加接口 ;使数据高度面向文件,使开发环境高度面向对象,构建高度伸缩的应用程序和服务;基础设施层还用NoSQL技术实现关系数据库所无法满足的目标,把它用在云平台的后端,构建了对共享标准、第三方AP1、第三方查询接口的缓冲平台,不但负责过滤第三方应用,还负责启闭第三方应用,避免对第三方应用的处置冲击整个数据库的稳定性;所述集群化的操作云服务器中的虚拟机存储单元向所述终端机提供管理层服务,用SLA监控工具对各个层次运行的虚拟机,服务和应用进行性能监控,使它们都能在满足预先设定的SLA (Service LevelAgreement)的情况下运行;管理层用计费管理工具对每个用户所消耗的存储、计算、时间、应用、服务资源进行统计,确立向用户收取费用的标准。所述的一种开发测试云的硬件系统,其特征在于,所述服务器和终端机有无线或有线网络连接;所述服务器通过虚拟机向终端机提供软件开发测试的硬件环境、软件环境,所述终端机用于显示开发测试人机界面,接收开发测试指令;所述人机界面包括如下功能模块的快捷操作方式虚拟机设置、重新连接、启动、重启、停止、关机、保存、恢复;所述界面还包括如下说明信息租户名称、项目名称、用户名称、操作系统、CPU、内存、硬盘;所述服务器包括四个应用层显示层、中间件层、基础设施层、管理层;前三层是横向的,用于提供云计算能力和用户界面;第四层是纵向的,用于管理和维护前三层;所述系统的鉴权算法部署在所述基础设施层或者中间件层;
所述硬件系统的安全认证机制包括终端机通过网络访问所述开发测试云的硬件系统的服务器端时,所述服务器访问所述终端机连接或者配载的所述硬件加密设备,进行身份认证。所述的一种开发测试云的硬件系统,其特征在于,所述硬件加密设备在用户输入口令后启动,并在用户扫描 真皮层指纹后调取存储在所述硬件加密设备中的鉴权信息进行远程身份认证。所述的一种开发测试云的硬件系统,其特征在于,所述网络连接包括局域网、互联网、VPN、电信网、广电网、3G网、4G网、无线互联网。所述的一种开发测试云的硬件系统,其特征在于,所述服务器包括计算机、云服务器、智能上网设备。所述的一种开发测试云的硬件系统,其特征在于,所述终端机包括计算机、笔记本电脑、智能手机、游戏机、电视机。所述的一种开发测试云的硬件系统,其特征在于,所述应用程序商店服务器是第三方服务器。所述的一种开发测试云的硬件系统,其特征在于,所述软件开发是自然语言编程的软件开发。所述的一种开发测试云的硬件系统,其特征在于,所述软件测试由所述集群化的操作云服务器存储区中的虚拟机调配测试的硬件环境和软件环境,用户对调配的资源付费后,所述测试才能启动;所述终端机对软件开发或者测试的软件或硬件需求定制完成后,所述服务器自动为所述终端机创建进行所述软件开发或者测试的虚拟机;在所述虚拟机的用户支付购买费用后,所述虚拟机对应的运行环境、功能组件、数据、工具或系统被统一存储、安装、运行在一个独立硬件设备上,并提供给所述用户;所述用户在所述独立硬件设备上的软件开发、测试数据在所述独立硬件设备通过网络接入所述服务器后,自动同步到所述虚拟机;后者产生的软件开发、测试数据也在所述独立硬件设备通过网络接入所述服务器后自动同步到所述独立硬件设备上。本发明还开发了一种测试云系统,其特征在于,所述云系统包括服务器和终端机,所述服务器和终端机有无线或有线网络连接;所述服务器通过虚拟机向终端机提供软件开发测试的硬件环境、软件环境,所述终端机用于显示开发测试人机界面,接收开发测试指令;所述人机界面包括如下功能模块的快捷操作方式虚拟机设置、重新连接、启动、重启、停止、关机、保存、恢复;所述界面还包括如下说明信息租户名称、项目名称、用户名称、操作系统、CPU、内存、硬盘;所述服务器包括四个应用层显示层、中间件层、基础设施层、管理层;前三层是横向的,用于提供云计算能力和用户界面;第四层是纵向的,用于管理和维护前三层;所述系统的鉴权算法部署在所述基础设施层或者中间件层;所述开发测试云系统的操作方法,包括如下步骤
第一,终端机通过安全认证登录服务器;
第二,用户通过终端机在服务器上配置软件开发的硬件和软件环境,完成第一虚拟机设置;
第三,用户在第一虚拟机上进行软件开发;
第四,用户通过终端机在服务器上配置软件测试的硬件和软件环境,完成第二虚拟机设置;
第五,用户在第二虚拟机上进行软件测试; 第六,用户下载其开发的软件,或者把所述软件分布到至少一个APP商店;
所述系统为第三方用户开放远程测试所述用户开发的软件的接口,所述用户有权向所述第三方用户开放远程测试权限;
所述系统为第三方用户开放远程观摩或浏览所述用户开发的软件的测试过程的接口,所述用户有权向所述第三方用户开放所述远程观摩或浏览的权限;
所述系统提供一些封装的知识组件供所述用户免费或付费使用,所述知识组件包括数据、程序、文档、插件、模块、工具;所述系统向所述用户开放上传、发布其他知识组件的接Π ;
所述系统对用户使用的计算、存储、时间、网络资源、应用、服务、知识组件实行预付费、绑定银行卡委托扣款、用户确认账单后付款三种方式;
所述系统的安全机制包括终端机通过网络访问所述开发测试云系统的服务器端时,系统的客户端采用系统后台集中控制的安全配置进行管理,包括浏览器砂箱、安全信道、成员资格证明三种安全配置技术,所述资格证明技术采用红外扫描手指真皮层指纹的方式进行安全认证;所述终端机用户通过服务器获取基于web 2. O的智能aaS(Intelligence-aas)服务,后者通过通信接口控制确保网络服务商提供信息的真实性、中立性、开放性;智能aaS的下一层SaaS包括安全作为服务的Security-aaS服务,后者包括杀毒作为服务、防火墙作为服务、加密作为服务、安全认证作为服务、数字签名作为服务的机制,不但保护软件自身的安全,还保护终端用户的数据、权限、通信安全;SaaS下面的PaaS服务,包括后端隔离安全服务;PaaS下面后台服务端和数据中心的IaaS安全机制包括基础设施的安全控制、资源虚拟化的安全控制、网络管理的安全控制、云存储的安全控制、云后端的系统升级和安全补丁控制、防止提供商攻击的安全控制、可信的虚拟化技术、可信的数据保护技术、可信的云计算架构技术。所述的一种开发测试云系统,其特征在于,所述网络连接包括局域网、互联网、VPN、电信网、广电网、3G网、4G网、无线互联网;所述显示层用HTML、JavaScript、CSS进行页面设计和控制。所述的一种开发测试云系统,其特征在于,所述服务器包括计算机、云服务器;所述显示层还用Flash、RIA、Silverlight进行页面设计和控制。所述的一种开发测试云系统,其特征在于,所述终端机包括计算机、笔记本电脑、智能手机、游戏机、服务器、电视机;所述中间件层负责提供分布式缓存服务和REST服务。所述的一种开发测试云系统,其特征在于,所述中间件层还负责提供多租户服务。所述的一种开发测试云系统,其特征在于,所述中间件层负责提供并行处理服务。所述的一种开发测试云系统,其特征在于,所述基础设施层用虚拟化技术、分布式存储技术、关系型数据库技术为中间件层或者用户准备其所需的计算和存储资源。所述的一种开发测试云系统,其特征在于,所述管理层包括帐号管理、SLA监控、计费管理、安全管理、负载均衡管理子模块。所述的一种开发测试云系统,其特征在于,所述系统在底层服务器硬件、存储和网络以及负载均衡设备的基础上,利用微软的Hyper-V虚拟化技术,将底层的计算资源虚拟化。

所述的一种开发测试云系统,其特征在于,所述系统通过Active Directory进行统一的身份认证管理,以微软企业级的System Center系统运维套件进行动态化、端到端的管理、监控、部署和配置,从而形成动态化的资源池;所述系统在构建好的所述资源池中提供Visual Studio Team Foundation托管服务,并利用Lab Management提供虚拟测试管理;软件研发团队的项目主管可将所述资源池中的资源动态地分配给项目成员,所述项目成员可直接使用所述资源进行需求管理、代码开发、软件测试和项目管理;所述系统的动态数据模块由微软Dynamic Datacenter Toolkit构建;所述开发测试云的用户可通过自助服务门户访问动态数据中心提供的各项功能并通过ALM完成软件生命周期管理中的各项工作任务;所述系统通过微软Dynamic Datacenter Toolkit提供的API对上层的自助服务门户以及ALM功能模块进行自定义,以满足不同的项目需求,使所有功能都通过自助服务门户以Web的形式提供给最终用户,在满足用户软件开发测试硬件和软件环境的同时避免最终用户直接接触数据中心基础架构。具体而言,本发明公开了一种开发测试云系统,其特征在于,所述云系统包括四个应用层显示层、中间件层、基础设施层、管理层;前三层是横向的,用于提供云计算能力和用户界面;第四层是纵向的,用于管理和维护前三层。所述显示层用HTML、JavaScript、CSS进行页面设计和控制。所述显示层还用Flash、RIA、Silverlight进行页面设计和控制。所述中间件层负责提供分布式缓存服务和REST服务。
所述中间件层还负责提供多租户服务。所述中间件层负责提供并行处理服务。所述基础设施层用虚拟化技术、分布式存储技术、关系型数据库技术为中间件层或者用户准备其所需的计算和存储资源。所述管理层包括帐号管理、SLA监控、计费管理、安全管理、负载均衡管理子模块。所述系统在底层服务器硬件、存储和网络以及负载均衡设备的基础上,利用微软的Hyper-V虚拟化技术,将底层的计算资源虚拟化。所述系统通过Active Directory进行统一的身份认证管理,以微软企业级的System Center系统运维套件进行动态化、端到端的管理、监控、部署和配置,从而形成动态化的资源池。所述系统在构建好的所述资源池中提供Visual Studio Team Foundation托管服务,并利用Lab Management提供虚拟测试管理;软件研发团队的项目主管可将所述资源池中的资源动态地分配给项目成员,所述项目成员可直接使用所述资源进行需求管理、代码开发、软件测试和项目管理。所述系统的动态数据模块由微软Dynamic Datacenter Toolkit构建。所述开发测试云的用户可通过自助服务门户访问动态数据中心提供的各项功能并通过ALM完成软件生命周期管理中的各项工作任务。所述系统通过微软Dynamic Datacenter Toolkit提供的API对上层的自助服务门户以及ALM功能模块进行自定义,以满足不同的项目需求,使所有功能都通过自助服务门户以Web的形式提供给最终用户,在满足用户需要的同时避免最终用户直接接触数据中心基础架构,实现安全高效快速的软件开发测试。


图1是本发明实施例2的系统架构图。
具体实施例方式实施例1
本实施例公开了一种开发测试云的硬件系统,其特征在于,所述硬件系统包括服务器和终端机,所述终端机对软件或硬件需求定制完成后,所述服务器自动为所述终端机创建远程虚拟机;在所述虚拟机的用户支付购买费用后,所述虚拟机关联的运行环境、功能组件、数据、知识组件、工具、应用程序组合或操作系统被统一存储、安装、运行在一个独立硬件设备上,并提供给所述用户;所述用户在所述独立硬件设备上的操作数据在所述独立硬件设备通过网络接入所述服务器后,自动同步到所述虚拟机;后者产生的操作数据也在所述独立硬件设备通过网络接入所述服务器后自动同步到所述独立硬件设备上。所述的一种开发测试云的硬件系统不局限于软件的开发、测试。特定软硬件配置的电子设备远程定制、统一购买需求也可应用本实施例的技术,也纳入本专利的保护范围,即从网上定制一个电子设备的软硬件配置,然后购买这个电子设备,也落入本专利的保护范围。本实施例还公开了一种开发测试云系统,其特征在于,所述云系统包括服务器和终端机,所述服务器和终 端机有无线或有线网络连接;所述服务器通过虚拟机向终端机提供软件开发测试的硬件环境、软件环境,所述终端机用于显示开发测试人机界面,接收开发测试指令;所述人机界面包括如下功能模块的快捷操作方式虚拟机设置、重新连接、启动、重启、停止、关机、保存、恢复;所述界面还包括如下说明信息租户名称、项目名称、用户名称、操作系统、CPU、内存、硬盘;所述服务器包括四个应用层显示层、中间件层、基础设施层、管理层;前三层是横向的,用于提供云计算能力和用户界面;第四层是纵向的,用于管理和维护前三层;所述系统的鉴权算法部署在所述基础设施层或者中间件层;所述开发测试云系统的操作方法,包括如下步骤
第一,终端机通过安全认证登录服务器;
第二,用户通过终端机在服务器上配置软件开发的硬件和软件环境,完成第一虚拟机设置;
第三,用户在第一虚拟机上进行软件开发;
第四,用户通过终端机在服务器上配置软件测试的硬件和软件环境,完成第二虚拟机设置;
第五,用户在第二虚拟机上进行软件测试;
第六,用户下载其开发的软件,或者把所述软件分布到至少一个APP商店;
所述系统为第三方用户开放远程测试所述用户开发的软件的接口,所述用户有权向所述第三方用户开放远程测试权限;
所述系统为第三方用户开放远程观摩或浏览所述用户开发的软件的测试过程的接口,所述用户有权向所述第三方用户开放所述远程观摩或浏览的权限;
所述系统提供一些封装 的知识组件供所述用户付费使用,所述知识组件包括数据、程序、文档、插件、模块、工具;所述系统向所述用户开放上传、发布其他知识组件的接口 ;所述系统对用户使用的计算、存储、时间、网络资源、应用、服务、知识组件实行绑定银行卡委托扣款的方式收取费用;
所述系统的安全机制包括终端机通过网络访问所述开发测试云系统的服务器端时,系统的客户端采用系统后台集中控制的安全配置进行管理,包括浏览器砂箱、安全信道、成员资格证明三种安全配置技术,所述资格证明技术采用红外扫描手指真皮层指纹的方式进行安全认证;所述终端机用户通过服务器获取基于web 2. O的智能aaS(Intelligence-aas)服务,后者通过通信接口控制确保网络服务商提供信息的真实性、中立性、开放性;智能aaS的下一层SaaS包括安全作为服务的Security-aaS服务,后者包括杀毒作为服务、防火墙作为服务、加密作为服务、安全认证作为服务、数字签名作为服务的机制,不但保护软件自身的安全,还保护终端用户的数据、权限、通信安全;SaaS下面的PaaS服务,包括后端隔离安全服务;PaaS下面后台服务端和数据中心的IaaS安全机制包括基础设施的安全控制、资源虚拟化的安全控制、网络管理的安全控制、云存储的安全控制、云后端的系统升级和安全补丁控制、防止提供商攻击的安全控制、可信的虚拟化技术、可信的数据保护技术、可信的云计算架构技术。所述的一种开发测试云系统,其特征在于,所述网络连接为互联网;所述显示层用HTML、JavaScript、CSS进行页面设计和控制。所述的一种开发测试云系统,其特征在于,所述服务器包括计算机、云服务器;所述显示层还用Flash、RIA、Silverlight进行页面设计和控制。
所述的一种开发测试云系统,其特征在于,所述终端机包括计算机、笔记本电脑、智能手机、游戏机、服务器、电视机;所述中间件层负责提供分布式缓存服务和REST服务。所述的一种开发测试云系统,其特征在于,所述中间件层还负责提供多租户服务。所述的一种开发测试云系统,其特征在于,所述中间件层负责提供并行处理服务。所述的一种开发测试云系统,其特征在于,所述基础设施层用虚拟化技术、分布式存储技术、关系型数据库技术为中间件层或者用户准备其所需的计算和存储资源。所述的一种开发测试云系统,其特征在于,所述管理层包括帐号管理、SLA监控、计费管理、安全管理、负载均衡管理子模块。所述的一种开发测试云系统,其特征在于,所述系统在底层服务器硬件、存储和网络以及负载均衡设备的基础上,利用微软的Hyper-V虚拟化技术,将底层的计算资源虚拟化。所述的一种开发测试云系统,其特征在于,所述系统通过Active Directory进行统一的身份认证管理,以微软企业级的System Center系统运维套件进行动态化、端到端的管理、监控、部署和配置,从而 形成动态化的资源池;所述系统在构建好的所述资源池中提供Visual Studio Team Foundation托管服务,并利用Lab Management提供虚拟测试管理;软件研发团队的项目主管可将所述资源池中的资源动态地分配给项目成员,所述项目成员可直接使用所述资源进行需求管理、代码开发、软件测试和项目管理;所述系统的动态数据模块由微软Dynamic Datacenter Toolkit构建;所述开发测试云的用户可通过自助服务门户访问动态数据中心提供的各项功能并通过ALM完成软件生命周期管理中的各项工作任务;所述系统通过微软Dynamic Datacenter Toolkit提供的API对上层的自助服务门户以及ALM功能模块进行自定义,以满足不同的项目需求,使所有功能都通过自助服务门户以Web的形式提供给最终用户,在满足用户软件开发测试硬件和软件环境的同时避免最终用户直接接触数据中心基础架构。本实施例的系统架构主要可分为四层,其中有三层是横向的,分别是显示层、中间件层和基础设施层,通过这三层技术能够提供非常丰富的云计算能力和友好的用户界面,还有一层是纵向的,称为管理层,是为了更好地管理和维护横向的三层而存在的。本实施例的开发测试云系统包括一个自服务门户,用于操作管理、审批流程、项目进度报表、资源仪表盘、安全控制、告警、通知;所述自服务门户接入动态数据中心模块、ALM模块;所述的ALM模块,用于执行项目管理、需求管理、版本控制、测试管理、自动构建、报表,还用于接入微软Visual Studio;所述的动态数据中心模块,用于监控、部署、配置、安全;所述的动态数据中心模块、ALM模块接入基础架构层,所述基础架构层连接服务器、存储器、网络设备、负载均衡设备。本系统的安全机制包括终端用户通过网络访问本开发测试云系统的服务器端,客户端采用后台集中控制的安全配置管理,采用浏览器砂箱、安全信道、成员资格证明技术。终端用户主要可见基于web 2.0的智能&&3 (Intelligence-aas)服务,它确保网络服务商提供信息的真实性、中立性、开放性。它的下一层是SaaS服务,包括安全作为服务的Security-aaS服务,即杀毒作为服务、防火墙作为服务、加密作为服务、安全认证作为服务、签名作为服务,不但确保软件自身的安全,还确保终端用户的数据、权限、通信的安全。SaaS下面是PaaS服务,包括后端隔离安全服务。PaaS下面是后台服务端和数据中心的IaaS安全技术,包括基础设施的安全技术、资源虚拟化的安全技术、网络管理技术、云存储的安全技术、云后端的系统升级和安全补丁技术、纺织提供商攻击的安全技术、可信的虚拟化技术、可信的数据保护技术、可信的云计算架构。实施例2
本实施例涉及一种开发测试云的硬件系统,如图1,其特征在于,所述硬件系统包括服务器和终端机,所述服务器通过网络连接,分为集群化的基础云服务器存储区、集群化的操作云服务器存储区,前者包括共享内存的开发虚拟机存储单元、知识组件存储单元、共享内存的测虚拟机存储单元;后者包括各种虚拟机的存储单元;合作开发人员的终端机,根据授权访问集群化的操作云服务器存储区中的一台或者多台虚拟机的存储单元,终端机通过硬件加密设备访问各自在集群化的操作云服务器存储区创建的虚拟机;任意用户访问集群化的基础云服务器存储区中的知识组件存储单元,上传或下载知识组件;共享内存的测试虚拟机存储单元对远程测试人员的终端机、远程观摩人员的终端机开放接口,后者测试、观摩的权限由共享内存的测试虚拟机存储单元授予;集群化的操作云服务器中的虚拟机存储单元创建、维持、扩展、修改软件开发、测试的软硬件环境,这些存储单元产生的开发、测试数据存储在集群化的基础云服务器存储区的共享内存的开发虚拟机存储单元、共享内存的测试虚拟机存储单元;所述知识组件存储单元存放软件开发、测试需要的应用、数据、程序、插件、知识组合;共享内存的开发虚拟机存储单元与应用程序商店服务器连接,前者向后者发布应用,或者从后者购买应用;所述集群化的基础云服务器存储区、集群化的操作云服务器存储区之间设置有数据映射、冗余机制,所述集群化的基础云服务器存储区与所述集群化的操作云服务器存储区上的·界面、流程、工具、数据、方法、操作相互映射到对方的存储器上,实现软硬件环境的虚拟化应用,所述集群化的操作云服务器存储区对终端机的操作记录建立日志审计机制,并把数据进行冗余备份,供所述终端机的用户恢复或找回历史数据。所述的一种开发测试云的硬件系统,其特征在于,所述集群化的操作云服务器中的虚拟机存储单元向所述终端机提供显示层服务,显示层用HTML显示页面,用JavaScript丰富Web页面的功能,用CSS控制Web页面的外观,用RIACRich Internet Applications)技术,包括Flash技术提高HTML技术的页面展示效果,用Silverlight丰富C#的页面编程;所述集群化的操作云服务器中的虚拟机存储单元向所述终端机提供中间件层服务,包括缓存服务和REST服务,而且这些服务既可用于支撑显示层,也可以直接让用户调用,中间件层用多租户技术让一个单独的应用实例为多个组织服务,用分布式缓存技术,降低后台服务器的压力,提供了不同用户和不同应用同时使用相同缓存的机制,并对不同用户和不同应用,根据权限进行数据隔离;所述集群化的操作云服务器中的虚拟机存储单元向所述终端机提供基础设施层服务,给上面的中间件层或者用户准备其所需的计算和存储资源,用关系型数据库技术在原有的关系型数据库基础上做了扩展和管理优化,包括创建微内核架构,使原有的关系型数据库微模块化;设置更多接口,如为认证和日志记录增加接口 ;使数据高度面向文件,使开发环境高度面向对象,构建高度伸缩的应用程序和服务;基础设施层还用NoSQL技术实现关系数据库所无法满足的目标,把它用在云平台的后端,构建了对共享标准、第三方AP1、第三方查询接口的缓冲平台,不但负责过滤第三方应用,还负责启闭第三方应用,避免对第三方应用的处置冲击整个数据库的稳定性;所述集群化的操作云服务器中的虚拟机存储单元向所述终端机提供管理层服务,用SLA监控工具对各个层次运行的虚拟机,服务和应用进行性能监控,使它们都能在满足预先设定的SLA (Service LevelAgreement)的情况下运行;管理层用计费管理工具对每个用户所消耗的存储、计算、时间、应用、服务资源进行统计,确立向用户收取费用的标准。所述的一种开发测试云的硬件系统,其特征在于,所述服务器和终端机有无线或有线网络连接;所述服务器通过虚拟机向终端机提供软件开发测试的硬件环境、软件环境,所述终端机用于显示开发测试人机界面,接收开发测试指令;所述人机界面包括如下功能模块的快捷操作方式虚拟机设置、重新连接、启动、重启、停止、关机、保存、恢复;所述界面还包括如下说明信息租户名称、项目名称、用户名称、操作系统、CPU、内存、硬盘;所述服务器包括四个应用层显示层、中间件层、基础设施层、管理层;前三层是横向的,用于提供云计算能力和用户界面;第四层是纵向的,用于管理和维护前三层;所述系统的鉴权算法部署在所述基础设施层或者中间件层;
所述硬件系统的安全认证机制包括终端机通过网络访问所述开发测试云的硬件系统的服务器端时,所述服务器访问所述终端机连接或者配载的所述硬件加密设备,进行身份认证。所述的一种开发测试云的硬件系统,其特征在于,所述硬件加密设备在用户输入口令后启动,并在用户扫描真皮层指纹后调取存储在所述硬件加密设备中的鉴权信息进行远程身份认证。所述的一种开发测试云的硬件系统,其特征在于,所述网络连接包括局域网。所述的一种开发测试云 的硬件系统,其特征在于,所述服务器包括云服务器。所述的一种开发测试云的硬件系统,其特征在于,所述终端机包括计算机。所述的一种开发测试云的硬件系统,其特征在于,所述应用程序商店服务器是第三方服务器。所述的一种开发测试云的硬件系统,其特征在于,所述软件开发是自然语言编程的软件开发。所述的一种开发测试云的硬件系统,其特征在于,所述软件测试由所述集群化的操作云服务器存储区中的虚拟机调配测试的硬件环境和软件环境,用户对调配的资源付费后,所述测试才能启动;所述终端机对软件开发或者测试的软件或硬件需求定制完成后,所述服务器自动为所述终端机创建进行所述软件开发或者测试的虚拟机;在所述虚拟机的用户支付购买费用后,所述虚拟机对应的运行环境、功能组件、数据、工具或系统被统一存储、安装、运行在一个独立硬件设备上,并提供给所述用户;所述用户在所述独立硬件设备上的软件开发、测试数据在所述独立硬件设备通过网络接入所述服务器后,自动同步到所述虚拟机;后者产生的软件开发、测试数据也在所述独立硬件设备通过网络接入所述服务器后自动同步到所述独立硬件设备上。本实施例的软件部分利用Visual Studio 2010进行云计算环境搭建的开发测试云系统。它的显示层以友好的方式展现用户所需的内容,并会利用到下面中间件层提供的多种服务,显示层用HTML显示页面,标准的Web页面技术,现在主要以HTML4为主,但是将要推出的HTML5会在很多方面推动Web页面的发展,比如视频和本地存储等方面。显示层用JavaScript丰富Web页面的功能它是一种用于Web页面的动态语言,主要框架有jQuery和Prototype,本实施例选用eQuery。显示层用CSS控制Web页面的外观,使页面的内容与其表现形式之间进行可控的优雅与美化分离。显示层用RIA (Rich InternetApplications)技术,包括Flash技术提高HTML技术的页面展示效果。显示层还用Silverlight丰富C#的页面编程。本实施例的中间件层承上启下,在下面的基础设施层所提供资源的基础上提供了多种服务,包括缓存服务和REST服务,而且这些服务即可用于支撑显示层,也可以直接让用户调用,主要使用五种技术中间件层通过REST技术,方便和优雅地将中间件层所支撑的部分服务提供给调用者。中间件层用多租户技术让一个单独的应用实例可以为多个组织服务,而且保持良好的隔离性和安全性,并且通过这种技术,能有效地降低应用的购置和维护成本。中间件层用并行处理技术处理海量的数据,利用庞大的X86集群进行规模巨大的并行处理。中间件层用应用服务器在原有的应用服务器的基础上为云计算做一定程度的优化,用于Google App Engine的Jetty应用服务器就是这类服务器,可以部署在本实施例的中间件层。中间件层用分布式缓存技术,降低后台服务器的压力,加快相应的反应速度,最著名的分布式缓存例子莫过于Memcached。本实施例的分布式缓存提供了不同用户和不同应用同时使用相同缓存的技术,并对不同用户和不同应用,根据权限进行数据隔离,在确保数据安全的情况下大大减少了缓存的数据压力。基础设施层给上面的中间件层或者用户准备其所需的计算和存储等资源,主要应用了四种技术虚拟化技术匹配基础设施层的“多租户”,因为通过虚拟化技术,能够在一个物理服务器上生成多个虚拟机,并且能在这些虚拟机之间实现全面的隔离,这样不仅能减低服务器的购置成本,而且还能同时降低服务器的运维成本。基础设施层用分布式存储承载海量的数据,同时也要保证这些数据的可管理性,所以需要一整套分布式的存储系统;本实施例在Google的GFS分布式存储技术上开发了数据片段比对融合技术,减少对相同数据片段的重复存储次数。基础设施层用关系型数据库技术在原有的关系型数据库的基础上做了扩展和管理等方面的优化,使其更适应在云中管理数据,主要包括创建微内核架构,使原有的关系型数据库微模块化;设置更多接口,如为认证和日志记录增加接口 ;使数据高度面向文件,使开发环境高度面向对象,构建高度伸缩的应用程序和服务。基础设施层用NoSQL技术满足一些关系数据库`所无法满足的目标,比如支撑海量的数据服务等。一些公司特地设计了一批不是基于关系模型的数据库,比如Google的BigTable和Facebook的Cassandra等。它们用于支撑海量的非关系型数据存储。本实施例与它们的最大区别是,NoSQL主要应用在云平台的后端,并且在应用流行的键/值数据库技术时,构建了对共享标准、第三方AP1、第三方查询接口的缓冲平台,不但负责过滤第三方应用,还负责启闭第三方应用,避免对第三方应用的处置冲击整个数据库的稳定性。管理层为上述三层服务,并给这三层提供多种管理和维护等方面的工具,主要有下面这六个方面的工具帐号管理工具通过可选的安全认证模式,实现帐号管理和登录,而且更安全的生物认证为默认的安全认证模式;所述生物认证优选为红外线扫描真皮层指纹数据的安全认证,并不读取表皮指纹数据,也不读取非肉体的指纹数据。管理层用SLA监控工具对各个层次运行的虚拟机,服务和应用等进行性能方面的监控,使它们都能在满足预先设定的SLA (Service Level Agreement)的情况下运行。管理层用计费管理工具对每个用户所消耗的存储、计算、时间、应用、服务资源等进行统计,来准确地向用户收取费用,该计费管理工具提供一个中性的计算和收费平台,允许任何存储、计算、时间、应用、服务资源的供应商对用户操作进行费用核算与收费,从而确保平台的无限扩展性。管理层的安全管理工具对数据、应用和帐号等IT资源采取全面的保护,使其免受犯罪分子和恶意程序的侵害,该安全管理工具不但允许任何存储、计算、时间、应用、服务资源的供应商在其平台上启用各自的安全机制,并且允许它们从其平台上选择通用的安全管理工具。管理层的负载均衡工具通过将流量分发给一个应用或者服务的多个实例来应对突发情况,实现负载均衡。管理层的运维管理工具使运维操作尽可能地专业和自动化,降低云计算中心的运维成本。实施例3
本实施例涉及一种面向微软开发团队的开发测试云系统。本实施例中的SaaS层,通过在云中部署可定制化的CRM应用,来让企业用户在很低初始投入的情况下使用CRM,并且可根据自身的流程来进行灵活地定制,而且只需接入网络就能使用。它各个操作层采用的主要技术包括显示层基于HTML、JavaScript和CSS开发。中间件层在此层,引入多租户内核和为支撑此内核运行而经过定制的应用服务器。基础设施层在后端还是使用在企业环境中很常见的Oracle数据库,但是其为了支撑上层的多租户内核做了很多云计算结构优化。管理层在安全管理方面,本实施例提供多层保护,并支持SSL加密技术,除此之外,在账号管理、计费管理和负载均衡这三方面应用实施例1的技术。本实施例搭建的的开发环境如下
硬件要求
1.CPU P4
2.内存2G
3.硬盘120G
4.服务器=IIS 软件要求
(1)Visual Studio . NET 2008/2010
(2). NET Framework 3. 5
(3)Windows Communications Foundation
(4)ADO. NET
(5)ADO. NET Data Services
(6)Web services (REST, SOAP)
(7)XML
(8)ASP. NET
(9). NET security
(10)SQL Server database development
VS 2010提供了云计算开发、调试、部署、管理的整套工具,可以大幅缩短云应用的开发周期。不仅如此,VS2010还包括了以下云应用开发工具
(1)C#以及VB云服务项目的模版;
(2)更改ServiceRole设置的工具;
(3)本地开发整合Development Fabric 以及 Development Storage 服务;
(4)在Development Fabric 下的对 Cloud Service Roles 的调试;(5)建立云服务软件包;
(6)浏览Azure Services Developer Portal。本实施例的开发测试云解决方案基于微软服务器平台构建,在底层服务器硬件、存储和网络以及负载均衡设备的基础上,利用微软的Hyper-V虚拟化技术,将底层的计算资源虚拟化,通过Active Directory进行统一的身份认证管理,以微软企业级的SystemCenter系统运维套件进行动态化、端到端的管理、监控、部署和配置,从而形成动态化的资源池。在构建好的资源池中提供了 Visual Studio Team Foundation托管服务,并利用Lab Management提供虚拟测试管理。软件研发团队的项目主管可以将资源池中的资源动态的分配给项目员,项目成员可以直接使用这些虚机资源进行需求管理、代码开发、软件测试和项目管理等工作。动态数据模块由微软免费提供的动态数据中心工具包(Dynamic DatacenterToolkit)构建,DDTK包括一些相关的代码,框架的指导及文档,使用户可以快速的在Hyper-V虚拟化和System Center的基础上构建云服务。开发测试云的用户可以用过自助服务门户访问动态数据中心提供的各项功能并通过ALM完成软件生命周期管理中的各项工作任务。可通过DDTK中提供的API对上层的自服务门户以及ALM功能模块进行自定义,以满足不同的项目需求,使所有功能都通过自服务门户以Web的形式提供给最终用户,在满足用户需要的同时避免了最终用户直接接触数据中心基础架构,实现安全高效快速的软件开发测试。本实施例提供的自助服务使消 费者和服务提供商可以通过自助化的系统管理和提供云服务。通过使用自助服务门户,可以实现资源审批流程的控制。自助服务中的资源使用仪表盘可以将资源池使用情况、项目资源使用情况以及成员资源使用情况以图形化的形式直观的展示给数据中心管理员以及项目组的相关人员。数据中心管理员可以结合企业自身需要定义审批流程,实现自动化的资源审批。开发或测试人员可以根据自己在开发或测试过程中对于计算资源的需求快速的通过自助服务门户申请所需的计算资源,该申请过程具备足够的自主性,项目相关人员可以针对如处理器配额、内存配额以及硬盘配额等进行设置,使生成的虚拟环境可以充分满足其各自的需求。数据中心管理员、项目负责人、项目经理及项目开发者等不同的角色都可以通过自助服务门户审批、申请使用和调整所需的资源,为IT资源的管理者和使用者带来了极大的便利。本实施例可以自动化地将资源能力迅速的调配以满足不断增长的需求,同时还可以抵消需求下降对服务的影响。在实际中,多数软件开发项目根据客户的要求可能会经常出现变更,变更可能会对开发项目带来一系列的问题与挑战,增加开发项目中的不确定因素。本实施例的开发测试云提供了充分的弹性来帮助项目成员应对这些问题与挑战,当项目变更引发开发环境的资源需求变更时,任何项目参与者可以随时通过自助服务门户提交资源变更申请,数据中心管理员可以快速的通过自助服务门户或电子邮件来审核并批准相应的申请,使开发和测试人员快速的实现资源的动态调整,获取工作所需的计算资源。如在开发项目的后期需要进行大量的压力测试,之前已申请的资源无法满足压力测试的需求,测试人员在该阶段就可以通过自助服务门户动态的申请更多地资源用于测试。本实施例的开发测试云解决方案为软件研发团队提供了虚拟化的测试与管理。方案集成了 Visual Studio 2010 Lab Management, Visual Studio Lab Management 2OlO将虚拟化与应用程序生命周期管理相结合,可以更加容易的创建虚拟环境和改善开发人员/测试人员协作。使用Visual Studio Lab Management 2010,开发和测试人员可以快速创建多机器虚拟环境,部署所需的应用程序,运行测试,以及归档各种重要Bug。Visual StudioLab Management 构建在 System Center Virtual Machine Manager 之上,可以在数分钟内即可创建包含多个虚拟机的虚拟环境。此外,开发和测试人员也可为同一环境创建多个网络隔离副本,以便在不会发生IP或机器名冲突的情况下复制虚拟机。在虚拟环境中构建、部署和测试应用程序时开发测试人员可以设置一个工作流来使用虚拟环境,以及配置如何运行程序的内部版本,然后将应用程序部署到该环境中。然后开发和测试人员可以在该环境中运行自动测试并检查这些测试的结果。这使自动化应用程序的部署和测试真正变得简单,进而提高了开发人员和测试人员的生产力。构建成功的应用程序需要为所有团队参与者带来便利顺畅的流程。因此,本实施例的开发测试云提供了对生命周期环境的完整支持,集成了 Visual Studio TeamFoundation Server平台,其中的软件生命周期管理(ALM)工具可帮助组织在各个层面上高效协作和通信,洞察实际项目状态,从而确保能够在降低成本的同时提供高质量的解决方案。ALM提供了自动化的配置项目流程。在项目启动之前可以根据项目的特点由项目相关责任人选择符合需求的生命周期管理流程。ALM同时提供了敏捷、CMM1.Scrum等多种项目流程模板,可以满足不同的软件项目和开发人员的需求,同时开发人员还可以根据自己的需求自定义项目流程模板,为开发人员提供的最大的灵活度。由于微软开发测试云与VisualStudio Team Foundation Server和Visual Studio的紧密结合,使其可以支持大型研发团队的版本控制环境,对进行中的项目进行实时追踪,并可以为项目相关人员提供多种形式的项目报表。本实施例中,软件测试由图1中集群化的操作云服务器存储区中的虚拟机调配测试的硬件环境和软件环境,用户对调配的资源付费后,所述测试才能启动;所述终端机对软件开发或者测试的软件或硬件需求定制完成后,所述服务器自动为所述终端机创建进行所述软件开发或者测试的虚拟机;在所述虚拟机的用户支付购买费用后,所述虚拟机对应的运行环境、功能组件 、数据、工具或系统被统一存储、安装、运行在一个独立硬件设备上,并提供给所述用户;所述用户在所述独立硬件设备上的软件开发、测试数据在所述独立硬件设备通过网络接入所述服务器后,自动同步到所述虚拟机;后者产生的软件开发、测试数据也在所述独立硬件设备通过网络接入所述服务器后自动同步到所述独立硬件设备上。这样,原先的计算机、手机、平板电脑裸机销售,就会变为软硬件网络定制后的集成化销售,能彻底改变电子、软件、IT、互联网产业的销售模式。本实施例的好处在于
降低维护成本
在开发测试云解决方案中高效的工具用来简化开发测试环境的管理。这些工具包括自助服务门户、自动化的资源管理以及高度的灵活性与可扩展性。软件开发与测试人员可以通过自助门户以按需的形式快速的构建并访问相关资源,减少了在环境构建中的人工干预环节,有效地提升了软件企业IT部门和开发部门的工作效率。据研究,在应用开发测试云之后软件企业的平均硬件利用率从25%提升到50%以上,在硬件利用率上升的同时降低整体运行能耗,实现绿色的IT软件开发。提升团队效率
微软开发测试云通过快速部署的虚拟化开发与测试环境,加速了应用程序的开发过程。在开发测试云中项目工件都存储在统一数据库中,可促进团队协作,这就减少了团队成员在交接任务上花费的时间,并简化了开发过程,使每个角色都可以专注于在自己的工作价值,无缝衔接上下手的工作。此外Visual Studio Team Foundation Server和SharePoint提供的丰富团队协作功能可以有效地提升开发与测试团队效率,缩短应用程序交付时间。提高软件质量
通过应用微软开发测试云解决方案,可以利用自动化流程管理,在System Center提供的实时监控基础上构建高度可控的开发与测试环境。同时,利用Visual Studio提供的自动捕获可扩展且丰富的诊断信息,比如 IntelliTrace 日志、索引视频、每个新错误的屏幕截图以及丰富的报表。当与测试管理一起使用时,环境快照可以附加到bug中,使开发人员可以连接到测试环境。现在可以有效地减少在无休止的〃重复错误〃上耗费的精力,使〃无法重现〃的错误成为过去。通过内置的功能收集TestImpact数据,可以获得由于修改代码而建议进行测试的清单,知道在给定的版本中可以解决哪些bug。现在,可以在何时使用新版本的问题上做出正确的决定,大大减少了时间和精力的浪费。同时提高软件的质量,充分满足软件开发项目的需求。与传统的开发模式不同,云计算时代的开发强调的是任何人,在任何地点都可以进行开发,代码编写、协作、调试、测试、部署、运行都在云端完成。云计算提供了更多的存储和处理能力。从根本上说,它消除了开发的局限,开发者再也不用忍受有限物理资源的约束。本实施例的微软开 发测试云解决方案可以应用于以下常见的软件开发场景中
服务于成长型软件公司和创业团队的软件园
软件园可以通过使用微软开发测试云解决方案构建全面的公共服务平台,由软件园集中采购硬件设备并组成计算资源池,利用软件园服务器平台构建的开发测试云环境可以承载园区内软件创业团队和成长型企业的开发与测试工作负载,这样软件园园区内的创业团队和成长型企业就能实现以最低的成本使用开发和测试过程中所需的软件和硬件,解决中小型企业在发展中面临的资金难题,帮助中小型软件开发企业快速成长。由于微软开发与测试云采用隔离的多租户方式以及按资源使用量的方式付费,可以充分的保障各软件企业的代码安全,此外还可以免除企业在软件开发过程中的硬件采购以及折旧成本。另一方面,软件园区也可以利用微软云解决方案的灵活性优势构建高度灵活和扩展的培训中心,使园区内的软件企业不仅可以享受云中开发的优势,还可以在云中学习最新的软件开发技术与流程,提升园区及软件企业的整体竞争力。大型企业自身业务应用开发
针对需要开发符合其自身需求应用的大型企业来讲,开发环境的独立与安全至关重要,需要把开发与测试过程对于生产环境的影响降到最低。微软开发测试云解决方案利用微软成熟的服务器平台云计算模式构建,大型企业可以利用现有的微软基础架构实现开发测试云环境,在云中进行企业应用的开发与测试,即使将软件项目外包给第三方的合同承包商,利用云环境所提供的完整审批、管理与监控流程,企业可以全面控制代码安全并保证其遵循相关的IT与软件开发规章。开发测试云提供的虚拟化隔离使开发测试环境与生产环境彼此独立,既可以满足软件开发与测试的需求,又不会干扰生产环境的正常运行。独立软件提供商
软件开发企业在多年的项目中积累下了各种资源,这些资源包括软件代码、流程以及硬件资源。在微软的开发测试云解决方案推出后,软件开发企业可以将内部所有的硬件设备进行整合与集中管理。企业内的各项目部们可以通过自助服务门户根据其各自的需要申请相应的资源用于开发和测试,由于整个过程采用自助门户,自动审批并以虚拟化的形式进行,在项目结束后相关的资源可以有效地被回收并提供给其他的项目使用,可以充分的利用企业现有的硬件资源,减少企业采购成本,并提供了额外的扩展性,降低了开发和测试环境构建的复杂度,加速应用环境部署上线的效率。它集成Visual Studio Team Foundation Server平台,设计的软件生命周期管理(ALM)工具帮助组织在各个层面上高效协作和通信,洞察实际项目状态,从而确保能够在降低成本的同时提供高质量的解决方案。ALM提供了自动化的配置项目流程。在项目启动之前可以根据项目的特点由项目相关责任人选择符合需求的生命周期管理流程。ALM同时提供了敏捷、CMM1、Scrum等多种项目流程模板,可以满足不同的软件项目和开发人员的需求,同时开发人员还可以根据自己的需求自定义项目流程模板,为开发人员提供的最大的灵活度。本实施例的开发测试云与Visual Studio Team Foundation Server和Visual Studio紧密结合,使其可以支持大型研发团队的版本控制环境,对进行中的项目进行实时追踪,并可以为项目相关人员提供多种形式的项目报表。可以自动化的将资源能力迅速的调配以满足不断增长的需求,同时还可以抵消需求下降对服务的影响。在实际中,多数软件开发项目根据客户的要求可能会经常出现变更,变更可能会对开发项目带来一系列的问题与挑战,增加开发项目中的不确定因素。本发明的开发测试云提供了充分的弹性来帮助项目成员应对这些问题与挑战,当项目变更引发开发环境的资源需求变更时,任何 项目参与者可随时通过自助服务门户提交资源变更申请,数据中心管理员可快速的通过自助服务门户或电子邮件来审核并批准相应的申请,使开发和测试人员快速的实现资源的动态调整,获取工作所需的计算资源。如在开发项目的后期需要进行大量的压力测试,之前已申请的资源无法满足压力测试的需求,测试人员在该阶段就可以通过自助服务门户动态的申请更多地资源用于测试。本实施例的系统架构也分为四层,其中有三层是横向的,分别是显示层、中间件层和基础设施层,通过这三层技术能够提供非常丰富的云计算能力和友好的用户界面,还有一层是纵向的,称为管理层,是为了更好地管理和维护横向的三层而存在的。本实施例还有一个最大的优点,就是能帮助用户远程定制软硬件配置,实现开发、测试工具的一揽子购买,彻底改变电子、IT、软件行业的销售模式。
权利要求
1.一种开发测试云的硬件系统,其特征在于,所述硬件系统包括服务器和终端机,所述终端机对软件或硬件需求定制完成后,所述服务器自动为所述终端机创建远程虚拟机;在所述虚拟机的用户支付购买费用后,所述虚拟机关联的运行环境、功能组件、数据、知识组件、工具、应用程序组合或操作系统被统一存储、安装、运行在一个独立硬件设备上,并提供给所述用户;所述用户在所述独立硬件设备上的操作数据在所述独立硬件设备通过网络接入所述服务器后,自动同步到所述虚拟机;后者产生的操作数据也在所述独立硬件设备通过网络接入所述服务器后自动同步到所述独立硬件设备上。
2.一种开发测试云的硬件系统,其特征在于,所述硬件系统包括服务器和终端机,所述服务器通过网络连接,分为集群化的基础云服务器存储区、集群化的操作云服务器存储区,前者包括共享内存的开发虚拟机存储单元、知识组件存储单元、共享内存的测虚拟机存储单元;后者包括各种虚拟机的存储单元;合作开发人员的终端机,根据授权访问集群化的操作云服务器存储区中的一台或者多台虚拟机的存储单元,终端机通过硬件加密设备访问各自在集群化的操作云服务器存储区创建的虚拟机;任意用户访问集群化的基础云服务器存储区中的知识组件存储单元,上传或下载知识组件;共享内存的测试虚拟机存储单元对远程测试人员的终端机、远程观摩人员的终端机开放接口,后者测试、观摩的权限由共享内存的测试虚拟机存储单元授予;集群化的操作云服务器中的虚拟机存储单元创建、维持、扩展、修改软件开发、测试的软硬件环境,这些存储单元产生的开发、测试数据存储在集群化的基础云服务器存储区的共享内存的开发虚拟机存储单元、共享内存的测试虚拟机存储单元;所述知识组件存储单元存放软件开发、测试需要的应用、数据、程序、插件、知识组合;共享内存的开发虚拟机存储单元与应用程序商店服务器连接,前者向后者发布应用,或者从后者购买应用;所述集群化的基础云服务器存储区、集群化的操作云服务器存储区之间设置有数据映射、冗余机制,所述集群化的基础云服务器存储区与所述集群化的操作云服务器存储区上的界面、流程、工具、数据、方法、操作相互映射到对方的存储器上,实现软硬件环境的虚拟化应用,所述集群化的操作云服务器存储区对终端机的操作记录建立日志审计机制,并把数据进行冗余备份,供所述终端机的用户恢复或找回历史数据。
3.根据权利要求2所述的一种开发测试云的硬件系统,其特征在于,所述集群化的操作云服务器中的虚拟机存储单元向所述终端机提供显示层服务,显示层用HTML显示页面,用JavaScript丰富Web页面的功能,用CSS控制Web页面的外观,用RIA (Rich InternetApplications)技术,包括Flash技术提高HTML技术的页面展示效果,用Silverlight丰富C#的页面编程;所述集群化的操作云服务器中的虚拟机存储单元向所述终端机提供中间件层服务,包括缓存服务和REST服务,而且这些服务既可用于支撑显示层,也可以直接让用户调用,中间件层用多租户技术让一个单独的应用实例为多个组织服务,用分布式缓存技术,降低后台服务器的压力,提供了不同用户和不同应用同时使用相同缓存的机制,并对不同用户和不同应用,根据权限进行数据隔离;所述集群化的操作云服务器中的虚拟机存储单元向所述终端机提供基础设施层服务,给上面的中间件层或者用户准备其所需的计算和存储资源,用关系型数据库技术在原有的关系型数据库基础上做了扩展和管理优化,包括创建微内核架构,使原有的关系型数据库微模块化;设置更多接口,如为认证和日志记录增加接口 ;使数据高度面向文件,使开发环境高度面向对象,构建高度伸缩的应用程序和服务;基础设施层还用NoSQL技术实现关系数据库所无法满足的目标,把它用在云平台的后端,构建了对共享标准、第三方AP1、第三方查询接口的缓冲平台,不但负责过滤第三方应用,还负责启闭第三方应用,避免对第三方应用的处置冲击整个数据库的稳定性;所述集群化的操作云服务器中的虚拟机存储单元向所述终端机提供管理层服务,用SLA监控工具对各个层次运行的虚拟机,服务和应用进行性能监控,使它们都能在满足预先设定的SLA(Service Level Agreement)的情况下运行;管理层用计费管理工具对每个用户所消耗的存储、计算、时间、应用、服务资源进行统计,确立向用户收取费用的标准。
4.根据权利要求3所述的一种开发测试云的硬件系统,其特征在于,所述服务器和终端机有无线或有线网络连接;所述服务器通过虚拟机向终端机提供软件开发测试的硬件环境、软件环境,所述终端机用于显示开发测试人机界面,接收开发测试指令;所述人机界面包括如下功能模块的快捷操作方式虚拟机设置、重新连接、启动、重启、停止、关机、保存、恢复;所述界面还包括如下说明信息租户名称、项目名称、用户名称、操作系统、CPU、内存、硬盘;所述服务器包括四个应用层显示层、中间件层、基础设施层、管理层;前三层是横向的,用于提供云计算能力和用户界面;第四层是纵向的,用于管理和维护前三层;所述系统的鉴权算法部署在所述基础设施层或者中间件层; 所述硬件系统的安全认证机制包括终端机通过网络访问所述开发测试云的硬件系统的服务器端时,所述服务器访问所述终端机连接或者配载的所述硬件加密设备,进行身份认证。
5.根据权利要求4所述的一种开发测试云的硬件系统,其特征在于,所述硬件加密设备在用户输入口令后启动,并在用户扫描真皮层指纹后调取存储在所述硬件加密设备中的鉴权信息进行远程身份认证。
6.根据权利要求1至5的任一项所述的一种开发测试云的硬件系统,其特征在于,所述网络连接包括局域网、互联网、VPN、电信网、广电网、3G网、4G网、无线互联网。
7.根据权利要求6所述的一种开发测试云的硬件系统,其特征在于,所述服务器包括计算机、云服务器、智能上网设备。
8.根据权利要求7所述的一种开发测试云的硬件系统,其特征在于,所述终端机包括计算机、笔记本电脑、智能手机、游戏机、电视机。
9.根据权利要求5所述的一种开发测试云的硬件系统,其特征在于,所述应用程序商店服务器是第三方服务器。
10.根据权利要求9所述的一种开发测试云的硬件系统,其特征在于,所述软件开发是自然语言编程的软件开发;所述软件测试由所述集群化的操作云服务器存储区中的虚拟机调配测试的硬件环境和软件环境,用户对调配的资源付费后,所述测试才能启动。
全文摘要
本发明公开了一种开发测试云的硬件系统,其特征在于,终端机对软件开发或者测试的软件或硬件需求定制完成后,所述服务器自动为所述终端机创建进行所述软件开发或者测试的虚拟机;在所述虚拟机的用户支付购买费用后,所述虚拟机对应的运行环境、功能组件、数据、工具或系统被统一存储、安装、运行在一个独立硬件设备上,并提供给所述用户;所述用户在所述独立硬件设备上的软件开发、测试数据在所述独立硬件设备通过网络接入所述服务器后,自动同步到所述虚拟机;后者产生的软件开发、测试数据也在所述独立硬件设备通过网络接入所述服务器后自动同步到所述独立硬件设备上。本发明的技术能把软件开发、测试工作统一放到一个云平台上进行;而且通过远程定制软硬件配置来订购设备,能彻底改变计算机、手机、平板电脑、移动电视、智能电视、游戏机等软硬件一体设备的销售模式。
文档编号H04L29/08GK103067502SQ20121058362
公开日2013年4月24日 申请日期2012年12月31日 优先权日2012年12月31日
发明者不公告发明人 申请人:博彦科技(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1