一种交换机外部设备管理方法、系统、设备及存储介质与流程

文档序号:22795933发布日期:2020-11-04 03:48阅读:137来源:国知局
一种交换机外部设备管理方法、系统、设备及存储介质与流程

本发明涉及交换机设计领域,具体涉及一种交换机外部设备管理方法、系统、设备及存储介质。



背景技术:

一个完整的交换机包括多种可更换的外部设备,比如线卡,风扇、电源等,交换机在正常工作状态下,其端口还会挂载若干光模块。这些外部设备一般都会通过i2c总线与交换机的主控cpu(centralprocessingunit,中央处理器)相连。交换机在正常的使用环境中,用户会经常读取这些外部设备的信息或者配置这些设备的状态,比如读取当前线卡的状态、风扇的转速、配置光模块的工作模式等等。当用户需要读写这些外部设备信息的时候,cpu会通过i2c总线来读写这些设备。

现有技术方案中,当设备根据用户指令需要访问i2c设备的时候,设备会执行不同的二进制程序,该程序一般是该外部设备的管理程序。不同的外部设备对应不同的二进制程序,所以交换机的操作系统中会存在多个程序或者多个进程用来响应用户对i2c设备的操作。

当多个用户同时在管理交换机并且读取交换机外部设备信息的时候,会导致频繁地访问i2c总线。由于i2c总线本身不具备自我保护功能,并且i2c总线同一个时间段只允许一次访问,所以当多个用户同时读取同一i2c总线下的i2c设备信息的时候,容易出现i2c冲突,导致设备的驱动程序容易出错,影响了交换机系统的稳定性,而且访问的速度也会变慢。



技术实现要素:

为了解决上述技术问题,本发明提出了一种交换机外部设备管理方法、系统、设备及存储介质,能够使用一个后台进程管理同一i2c总线下挂载的多个外部设备,防止不同进程访问同一总线引入的冲突问题。

为实现上述目的,本发明采用以下技术方案:

一种交换机外部设备管理方法,包括:

交换机后台进程定时访问交换机的外部设备,将得到的数据写入数据库;

当用户要求读取交换机外部设备信息时,根据用户要求读取数据库中存储的对应的外部设备状态信息。

进一步地,所述交换机后台进程通过i2c总线访问交换机外部设备。

进一步地,所述数据库根据不同的外部设备建立不同的索引。

进一步地,所述外部设备包括光模块和电源。

进一步地,所述用户要求读取的交换机外部设备信息包括用户待读取外部设备的名称和待读取的设备参数。

进一步地,通过命令行程序监听用户的要求,根据用户要求读取数据库中存储的对应的外部设备状态信息,并在命令行向用户回显。

本发明还提出了一种交换机外部设备管理系统,包括:

数据库,用于存储交换机外部设备状态信息;

后台程序模块,用于定时访问交换机的外部设备,将得到的数据写入数据库;

命令行程序模块,用于监听用户读取交换机外部设备信息的要求,根据用户要求读取数据库中存储的对应的外部设备状态信息,并在命令行向用户回显。

本发明还提出了一种交换机外部设备管理设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上所述交换机外部设备管理方法的步骤。

本发明还提出了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述交换机外部设备管理方法的步骤。

本发明的有益效果是:

本发明通过提出一种交换机外部设备管理方法、系统、设备及存储介质,解决了交换机外部设备管理同一i2c总线下设备时容易出现冲突,访问速度慢的问题。本发明引入数据库设计,能够使用一个后台进程管理同一i2c总线下挂载的多个外部设备,防止多用户同时操作时不同进程同时访问同一总线引入的冲突问题,提高了系统的性能和稳定性。当用户需要读取外部设备信息的时候,只需要读取数据库存放的该设备的信息即可。由于后台是单一进程一直在执行,就决定了i2c总线同一时间只会访问一种设备,避免了之前多用户访问导致的i2c总线冲突的问题,即使再多的用户同时访问外部设备信息,也不会出现i2c总线访问冲突。而且,操作系统直接从数据库返回结果,加快了用户的访问速度。

附图说明

图1是本发明交换机外部设备管理方法流程示意图;

图2是本发明交换机外部设备管理系统框架示意图。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

如图1所示,本发明实施例公开了一种交换机外部设备管理方法,包括:

交换机后台进程定时访问交换机的外部设备,将得到的数据写入数据库;

当用户要求读取交换机外部设备信息时,根据用户要求读取数据库中存储的对应的外部设备状态信息。

具体地,本发明后台进程用于访问同一i2c总线下的外部设备,所述方法需构建数据库,所述数据库用于存储用户关心的交换机外部设备的信息数据,根据不同的外部设备建立不同的索引。

交换机后台进程定时不间断访问交换机的外部设备,将得到的数据写入数据库,供命令行读取。

命令行程序监听用户的要求,即用户传入参数,根据用户要求读取数据库中存储的对应的外部设备状态信息,并在命令行向用户回显。所述用户要求读取的交换机外部设备信息包括用户待读取外部设备的名称和待读取的设备参数。

优选地,所述外部设备包括光模块、电源等。

以目前已经被广泛使用的sonic系统为例,对本发明提出的交换机外部设备管理方法的具体步骤说明如下:

s1)在sonic系自带的redis-db中,构建名称为hwmgr的数据表,并根据用户关心的外部设备的数据定义好各个字段。

s2)sonic系统对交换机光模块、电源的管理在platformmonitor的容器中,移出该容器下原有的分别对应光模块和电源的daemon进程的两个程序xcvrd和psud,构建后台程序hwmgrd进程,定时访问光模块和电源,并将得到的数据按照数据库之前的定义,将数据保存至hwmgr的数据表。

s3)命令行程序持续监听用户的输入,例如,用户需要读取电源信息,输入showplatformpsuinfo命令。

s4)命令行读取hwmgr的数据表,读取对应信息并在命令行回显给用户。

以上实施例通过构建数据库,并且用一个后台进程来访问同一总线下所有的外部设备并更新数据库,防止了总线冲突并提高了系统性能。

如图2所示,本发明还提出了一种交换机外部设备管理系统,包括:

数据库,用于存储交换机外部设备状态信息;

后台程序模块,用于定时访问交换机的外部设备,将得到的数据写入数据库;

命令行程序模块,用于监听用户读取交换机外部设备信息的要求,根据用户要求读取数据库中存储的对应的外部设备状态信息,并在命令行向用户回显。

本发明还提出了一种交换机外部设备管理设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上所述交换机外部设备管理方法的步骤。

本发明还提出了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述交换机外部设备管理方法的步骤。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1