摘要
上一章节中讲解了巡检的设计方案,并实现了SSH执行器的连接功能,不过更为重要的还是希望培养大家一些基础的编程思想和良好的习惯;那么这一章节会着重讲解获取命令和设备的功能,并逐步完善SSH执行器。
一方面由于部分朋友第一次接触较为复杂的模块设计,其次这几个章节中还包含一些Python中较高级的用法,为了让大家便于理解,就先以文件为存储介质,实现命令筛选和设备筛选,后续的话会扩展到与Flask结合,并使用ORM来操作MySQL实现这些功能。
命令筛选
由于是巡检的场景,所以必然是有不同的巡检项的,这些巡检项不需要使用实际的命令行表示,而是统一使用通俗易懂的文字代替,比如:fans_check、power_check等,这样不同厂商实际的命令行就可以对外屏蔽了。
获取命令可以分为两种实现方式,分别是JSON文件和MySQL存储下的数据读写(本章节以JSON文件为主);虽然是两种实现方式,但理论上它们都应该具备“增删改查”的功能,这就恰好可以应用之前讲到的面向对象中的继承的概念。
首先定义一个ActionHandler
表示存储命令的抽象类,该类具有增删改查数据的方法,另外再分别实现ActionJSONHandler
和