100%移植阿里雲移動測試技術,竟僅需1周?!——移動測試專有云(2)——架構詳解

摘要: 移動測試的應用架構 做爲一整個龐大的移動測試解決方案,MQC專有云系統內部包含了很是多的軟硬件模塊,整個系統緊密高效的互相鏈接穩定配合。從模塊劃分上來看,主要包括:用戶交互平臺、任務調度平臺、移動終端控制系統、無線機房管理平臺、自動化測試能力、中間件(數據庫、緩存、文件存儲)、無線機房硬件方案、專家支持服務。linux

移動測試的應用架構
做爲一整個龐大的移動測試解決方案,MQC專有云系統內部包含了很是多的軟硬件模塊,整個系統緊密高效的互相鏈接穩定配合。從模塊劃分上來看,主要包括:用戶交互平臺、任務調度平臺、移動終端控制系統、無線機房管理平臺、自動化測試能力、中間件(數據庫、緩存、文件存儲)、無線機房硬件方案、專家支持服務。除了自動化測試能力,其餘應用模塊構成專有云基礎服務。sql

專有云基礎服務是專有云解決方案必須包含的一整套軟硬件方案,是整個專有云系統的軟硬件基礎。基礎服務裏包含幾個重要平臺:用戶交互平臺、任務調度平臺、移動終端控制系統、無線機房管理平臺、中間件、無線機房硬件方案。數據庫

爲了知足潛在的支撐容量需求(好比支持的機型數量須要增長、使用的用戶增長、使用頻度增長),基礎服務所包含的平臺均可以支持橫向熱擴展,而且擴展期間不會影響到原先總體服務的穩定性。整個系統在可擴展性上很是靈活,能夠涵蓋潛在的大部分擴展需求。這也是這個方案的核心優點之一。緩存

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(雲盒) 。雲盒能夠給智能設備提供穩定的電源供應、網絡環境、安全保障,是智能設備接入雲服務的載體,具備低成本,高可靠,安全性高的特色。每一個雲盒都是管理智能終端的最小單元,多個雲盒之間能夠完美堆疊,能夠靈活適應各類複雜的機房環境以及各類規模的智能終端接入。

圖片描述
點擊查看原文

相關文章
相關標籤/搜索