前言
近年來,各大公司都青睞於在企業內部搭建大規模的設備集群,方便它們開展各種自動化測試實踐。並且,這些設備集群的形態不一,有的僅僅是搭建在普通的機架上面,有的是搭建在專業的設備機櫃上面。
(圖1:各種形態的設備集群)
但我們在長期使用過程中發現,大規模的設備集群長期在線,使我們不得不面臨頻發的電池鼓漲或者電池老化等問題。
(圖2:電池鼓漲的手機)
這無疑會給我們的集群運營增加很大的維修成本。
電池鼓包/電池老化的原因
那么究其根本,是什么導致了頻發的設備電池漲殼問題呢?原因主要有2點:
- ① 電池環境溫度過高
- ② 電池過充(長時間充電)
1)電池環境溫度過高
那電池環境溫度過高的話,我們可以通過降低設備集群所處空間(一般是設備機房)的溫度來減少環境溫度過高的情況。
比如可以通過空調、風扇、散熱板等物理形式,來降低設備電池所處環境的溫度;甚至我們還可以配上遠程的溫濕度監控系統,來監控環境溫度,溫度出現警報時及時進行處理。
(圖3:DeviceKeeper的溫度監控功能)
2)電池過充
而在機櫃集群上解決電池過充的問題就比較復雜了。機櫃上面的的設備都是長時間插着USB線的,除非我們人為給機櫃斷電,或者拔掉設備的USB線,否則的話,設備都是處於通電狀態的。
白天的話,設備集群一般都處於工作狀態,這時候給它斷電的話,很容易導致設備電量不足,運行任務失敗的情況。
那深夜無測試任務時斷電的話,設備管理員大半夜還要爬起來到公司機房給設備斷電,就非常折磨。
智能控電系統介紹
因此,我們就需要一套智能控電系統,能實現 “遠程” 對機櫃集群進行充放電控制,甚至能做到 “定時” 對設備進行充放電管理,減少設備過充的情況,延長設備電池的壽命。
為了實現這樣一個智能控電系統,我們進行了大量的實驗,最終成功定制出了 “程控版” 的USB-hub。
設備通過USB線連接到這個hub上面,然后我們就可以通過程序遠程控制該hub上面的設備充放電情況。
(圖4:定制的程控版hub)
不僅如此,在實驗過程中,我們還額外實現了控制hub上面設備的數據傳輸,也就是通過程序實現模擬USB的拔插操作。模擬USB拔插操作這個功能的意義非常大:
- ① 首先是方便設備管理員遠程維護集群上面不穩定的設備。有些設備因數據傳輸不穩定掉線,就需要管理員到現場拔插下設備才能讓其上線。這里直接程序控制,就非常方便了。
- ② 其次是方便一些硬件測試,比如U盤熱拔插的數據穩定性測試,就可以通過這個模擬USB拔插操作來進行。
最終,我們把這些功能集成到了我們的設備管理系統DeviceKeeper上,至此,對設備進行遠程批量的充放電管理和模擬USB拔插操作就非常容易了:
(圖5:DeviceKeeper的智能控電功能)
智能控電系統演示
這里我們通過幾張圖片來看一下,程序控制hub工作的效果:
小結
傳統的機櫃,散熱不足加上設備長時間在線,對設備電池的傷害非常大,維修成本相對較高,整個設備集群的運營成本就上來了。
加上智能控電系統的機櫃,配合良好的物理散熱措施,將大大減少設備電池鼓漲/老化情況,延長集群設備的使用壽命,降低整個運營成本。
Airtest官網:http://airtest.netease.com/
Airtest教程官網:https://airtest.doc.io.netease.com/
搭建企業私有雲服務:https://airlab.163.com/b2b
官方答疑 Q 群:654700783
呀,這么認真都看到這里啦,幫忙點個推薦支持一下唄,灰常感謝~