近年来,各大公司都青睐于在企业内部搭建大规模的设备集群,方便它们开展各种自动化测试实践。并且,这些设备集群的形态不一,有的仅仅是搭建在普通的机架上面,有的是搭建在专业的设备机柜上面。
(图 1:各种形态的设备集群)
但我们在长期使用过程中发现,大规模的设备集群长期在线,使我们不得不面临频发的电池鼓涨或者电池老化等问题。
(图 2:电池鼓涨的手机)
这无疑会给我们的集群运营增加很大的维修成本。
那么究其根本,是什么导致了频发的设备电池涨壳问题呢?原因主要有 2 点:
那电池环境温度过高的话,我们可以通过降低设备集群所处空间(一般是设备机房)的温度来减少环境温度过高的情况。
比如可以通过空调、风扇、散热板等物理形式,来降低设备电池所处环境的温度;甚至我们还可以配上远程的温湿度监控系统,来监控环境温度,温度出现警报时及时进行处理。
(图 3:DeviceKeeper 的温度监控功能)
而在机柜集群上解决电池过充的问题就比较复杂了。机柜上面的的设备都是长时间插着 USB 线的,除非我们人为给机柜断电,或者拔掉设备的 USB 线,否则的话,设备都是处于通电状态的。
白天的话,设备集群一般都处于工作状态,这时候给它断电的话,很容易导致设备电量不足,运行任务失败的情况。
那深夜无测试任务时断电的话,设备管理员大半夜还要爬起来到公司机房给设备断电,就非常折磨。
因此,我们就需要一套智能控电系统,能实现 “远程” 对机柜集群进行充放电控制,甚至能做到 “定时” 对设备进行充放电管理,减少设备过充的情况,延长设备电池的寿命。
为了实现这样一个智能控电系统,我们进行了大量的实验,最终成功定制出了 “程控版” 的 USB-hub。
设备通过 USB 线连接到这个 hub 上面,然后我们就可以通过程序远程控制该 hub 上面的设备充放电情况。
(图 4:定制的程控版 hub)
不仅如此,在实验过程中,我们还额外实现了控制 hub 上面设备的数据传输,也就是通过程序实现模拟 USB 的拔插操作。模拟 USB 拔插操作这个功能的意义非常大:
最终,我们把这些功能集成到了我们的设备管理系统 DeviceKeeper 上,至此,对设备进行远程批量的充放电管理和模拟 USB 拔插操作就非常容易了:
(图 5:DeviceKeeper 的智能控电功能)
这里我们通过一些图片来看一下,程序控制 hub 工作的效果:
传统的机柜,散热不足加上设备长时间在线,对设备电池的伤害非常大,维修成本相对较高,整个设备集群的运营成本就上来了。
加上智能控电系统的机柜,配合良好的物理散热措施,将大大减少设备电池鼓涨/老化情况,延长集群设备的使用寿命,降低整个运营成本。
Airtest 官网:https://airtest.netease.com/
Airtest 教程官网:https://airtest.doc.io.netease.com/
搭建企业私有云服务:https://airlab.163.com/b2b
官方答疑 Q 群:654700783
呀~这么认真都看到这里啦,帮忙点击左下角的爱心,给我点个赞支持一下把,灰常感谢~