專利名稱:一種開發測試云的硬件系統的制作方法
技術領域:
本發明公開了一種開發測試云的硬件系統,涉及一種軟件開發測試的云服務系統,具體而言涉及一種效率更高、資源配置更優化的基礎云架構,屬于軟件測試技術領域。
背景技術:
背景技術:
當前,云計算技術成為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日
發明者不公告發明人 申請人:博彥科技(上海)有限公司