100%移植阿裏雲移動測試技術,竟僅需1周?!——移動測試專有雲(2)——架構詳解
移動測試的應用架構
作為一整個龐大的移動測試解決方案,MQC專有雲係統內部包含了非常多的軟硬件模塊,整個係統緊密高效的互相連接穩定配合。從模塊劃分上來看,主要包括:用戶交互平台、任務調度平台、移動終端控製係統、無線機房管理平台、自動化測試能力、中間件(數據庫、緩存、文件存儲)、無線機房硬件方案、專家支持服務。除了自動化測試能力,其他應用模塊構成專有雲基礎服務。
專有雲基礎服務是專有雲解決方案必須包含的一整套軟硬件方案,是整個專有雲係統的軟硬件基礎。基礎服務裏包含幾個重要平台:用戶交互平台、任務調度平台、移動終端控製係統、無線機房管理平台、中間件、無線機房硬件方案。
為了滿足潛在的支撐容量需求(比如支持的機型數量需要增加、使用的用戶增加、使用頻度增加),基礎服務所包含的平台都可以支持橫向熱擴展,並且擴展期間不會影響到原先整體服務的穩定性。整個係統在可擴展性上非常靈活,可以涵蓋潛在的大部分擴展需求。這也是這個方案的核心優勢之一。
1.用戶交互平台
用戶交互平台是企業內部用戶使用各個測試功能的WEB入口,內部用戶可以通過域名或者IP直接訪問用戶交互平台。該平台主要包含兩類功能:麵向普通用戶的移動測試相關功能;麵向管理員的配置管理功能。
普通用戶可以通過用戶交互平台使用專有雲購買的所有服務,比如企業購買了Android兼容性測試能力,那麼用戶可以通過Android兼容性測試提測頁麵進行測試任務的提交、通過測試報告頁查看完整的測試報告、通過App管理頁和測試管理頁管理自己提交的App和測試報告。
管理員可以通過用戶交互平台完成對整個係統的管理,比如對特定用戶增加黑名單,阻止其繼續使用服務等功能。
總之,用戶交互平台是基於Web提供給企業使用各項服務的窗口。
2. 任務調度平台
任務調度平台顧名思義是指整個係統的任務調度處理大腦。專有雲係統所有的任務創建、任務調度分派、任務結果收集、設備狀態管理、對外接口暴露都集中在任務調度平台上。
任務調度平台是以Web應用的方式部署在linux服務器上,對外隻暴露出必要的HTTP API,例如創建測試任務接口。同時在安全性上有足夠的保障,有一套嚴格的訪問鑒權方案。
任務調度平台對接口的請求流量實現了負載均衡,對測試任務的調度也考慮了任務優先級以及任務的執行情況,保障測試任務高效,有序地分發、執行。
3. 移動終端控製係統
移動終端控製係統是控製終端設備的樞紐,承載著移動終端設備接入、測試程序的執行的作用。
移動終端設備的接入:一個移動終端控製係統可以同時接入多個、多種移動終端設備,多個移動終端控製係統組成分布式移動終端測試執行體係。移動終端控製係統是直接對移動終端發送指令,並直接從移動終端獲取數據的係統,它負責對移動終端進行直接的控製、命令下達以及數據采集。不僅如此,移動終端控製係統還負責維護移動終端的生命周期,對移動終端的健康程度進行維護(比如清理移動終端的垃圾數據),以及對移動終端的在線情況進行監控。
測試程序的執行:測試程序的真正執行發生在移動終端控製係統,移動終端控製係統負責接收任務調度平台的指令,對所接入的指定終端執行測試程序,並對測試結果數據進行反饋。不同移動終端的測試程序環境相互隔離,互不幹擾。
4. 無線機房管理
由於移動終端種類繁多,數量龐大,對這些移動終端的統一管理是一個很繁重的工作。無線機房管理平台就是為了方便對無線終端、以及其他支持設備的統一管理。功能包括終端數據錄入、終端在線情況監控、終端在線運維工具、工單係統、借用功能。
終端數據錄入:好比圖書館對海量圖書進行分門別類,以書架為單位進行管理,每個書架都有編號,每本圖書也有位置編號。無線機房管理平台也支持對海量移動終端進行統一編號管理,以機架\機房為單元,每個移動終端都會由唯一的位置標號。方便對特定終端進行搜尋。係統支持錄入每台移動終端的基本數據(如係統版本、CPU型號等),方便按特定條件進行分組管理。
終端在線情況監控:移動終端存在較大的不穩定因素,長期在線運行也容易發生一些係統或硬件故障,從而引發掉線。係統支持對所有接入的移動終端的在線情況進行監控,通過監控大盤,可以直觀感知當前所有移動終端的掉線率,移動終端一旦發生掉線或其他異常,會自動報警。
終端在線運維工具:係統提供一些基本的在線運維功能,如:關機、重啟等。
運維工單係統:對設備的運維記錄通過工單係統進行沉澱,通過工單係統,可以有秩序地對移動終端進行運維,方便查看終端的運維曆史。
借用功能:對移動終端的外借及歸還,都需要在係統中進行登記,並明確借用人及歸還時間,確保移動終端不及發生丟失的情況。
5.數據庫、緩存、對象存儲
MQC使用了一些中間件/存儲軟件以確保係統能高效穩定地運行。
結構化持久存儲:係統使用了Mysql實現結構化持久存儲,主備庫的配置可以保證數據庫高性能、高可用。
數據緩存:係統使用了Redis來實現數據緩存,通過數據緩存機製的加入,大大提高了係統性能,降低了持久存儲的IO壓力。
對象存儲:在分布式場景下,需要對非結構化數據進行統一存儲和高效地讀寫。對於MQC專有雲,需要存儲移動應用安裝包數據、測試結果數據、測試腳本數據。係統采用了對象存儲方案,不僅滿足分布式文件存儲需求,也大大提高了讀寫效率,對數據安全性也有很大的保障。
6.無線機房硬件方案
移動測試機房不像傳統服務器機房,對智能設備的的無人托管具有很高的要求。MQC以多年的生產實踐經驗,打造出一套適用於托管智能設備的硬件產品:YUN-BOX(雲盒) 。雲盒可以給智能設備提供穩定的電源供應、網絡環境、安全保障,是智能設備接入雲服務的載體,具有低成本,高可靠,安全性高的特點。每個雲盒都是管理智能終端的最小單元,多個雲盒之間可以完美堆疊,可以靈活適應各種複雜的機房環境以及各種規模的智能終端接入。
更多移動測試專有雲的詳解續集,請繼續關注哦~~
第一篇 移動測試專有雲介紹
第三篇 專有雲測試內容詳解
第四篇 客戶案例和總結
更多精彩內容,請看下回分解~
聯係我們:
網站地址:https://mqc.aliyun.com
客服郵箱:mqc_group@service.alibaba.com;
更多精彩技術分享 歡迎關注 MQC公眾號
最後更新:2017-10-30 19:03:34