在之前的一篇文章Usb 摄像头绑定中,想要将实际 Usb 端口绑定到具体业务上,利用 Usb 端口在文件系统中的 index 来做的绑定。在外发的设备上暂时没有发现 index 发生变化的情况,所以就没处理了。但是最近还是有反馈说,设备重启后绑定关系就错了,应该就是 index 发生变化了。哎,该趟的坑一个都跑不掉啊。正如「墨菲定律」:如果事情有变坏的可能,不管这种可能性有多小,它总会发生。
那么还能采用什么方式来做这种绑定呢?查阅很多资料也找不到相关的讯息,只能自己慢慢研究了。通过查看系统文件,发现了一个可能用来做唯一标识的属性:serial,就像这样:
也不能确定是否能好使,只能先用了再说,看后续有没有反馈。相关代码由其他同事实现,本文摘录一下,方便后面使用。
1 | /** |
相关方法差不多就这些,主要就是遍历文件系统,找到对应的 Usb 端口的 serial,结合驱动来做一些判断。
至于这样的方案是不是真正解决问题了,就只能交给时间了。