一种交换机外部设备管理方法、系统、设备及存储介质技术方案

技术编号:26222583 阅读:14 留言:0更新日期:2020-11-04 10:53
本发明专利技术公开了一种交换机外部设备管理方法、系统、设备及存储介质,所述方法包括:交换机后台进程定时访问交换机的外部设备,将得到的数据写入数据库;当用户要求读取交换机外部设备信息时,根据用户要求读取数据库中存储的对应的外部设备状态信息。所述系统包括:数据库,用于存储交换机外部设备状态信息;后台程序模块,用于定时访问交换机的外部设备,将得到的数据写入数据库;命令行程序模块,用于监听用户读取交换机外部设备信息的要求,根据用户要求读取数据库中存储的对应的外部设备状态信息,并在命令行向用户回显。本发明专利技术能够使用一个后台进程管理同一I2C总线下挂载的多个外部设备,防止不同进程访问同一总线引入的冲突问题。

【技术实现步骤摘要】
一种交换机外部设备管理方法、系统、设备及存储介质
本专利技术涉及交换机设计领域,具体涉及一种交换机外部设备管理方法、系统、设备及存储介质。
技术介绍
一个完整的交换机包括多种可更换的外部设备,比如线卡,风扇、电源等,交换机在正常工作状态下,其端口还会挂载若干光模块。这些外部设备一般都会通过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.一种交换机外部设备管理方法,其特征在于,包括:/n交换机后台进程定时访问交换机的外部设备,将得到的数据写入数据库;/n当用户要求读取交换机外部设备信息时,根据用户要求读取数据库中存储的对应的外部设备状态信息。/n

【技术特征摘要】
1.一种交换机外部设备管理方法,其特征在于,包括:
交换机后台进程定时访问交换机的外部设备,将得到的数据写入数据库;
当用户要求读取交换机外部设备信息时,根据用户要求读取数据库中存储的对应的外部设备状态信息。


2.根据权利要求1所述的交换机外部设备管理方法,其特征在于,所述交换机后台进程通过I2C总线访问交换机外部设备。


3.根据权利要求1所述的交换机外部设备管理方法,其特征在于,所述数据库根据不同的外部设备建立不同的索引。


4.根据权利要求1所述的交换机外部设备管理方法,其特征在于,所述外部设备包括光模块和电源。


5.根据权利要求1所述的交换机外部设备管理方法,其特征在于,所述用户要求读取的交换机外部设备信息包括用户待读取外部设备的名称和待读取的设备参数。


6.根据权利要求1所述的交换机外部设备管理方法,其...

【专利技术属性】
技术研发人员:樊立鹏
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1