本发明属于计算机通信技术,涉及fc通信网络中的一种基于串口的fc交换机状态查询与控制方法。
背景技术:
在航电fc网络的开发、使用、试验和验证过程中,fc交换机作为网络中重要的数据转发设备,所有的数据都经过fc交换机进行路由转发,因此如果网络或应用出现问题,查看交换机对数据的处理情况和设置交换机的参数等操作可协助问题定位。交换机为独立设备,如需查看交换机的统计量等信息需要网络管理设备给交换机发送查询命令,交换机给网管设备发送应答消息。这种方式增加了操作的复杂性和人员的工作量,不能满足快速的排故需求。
为了支持在fc网络快速方便的排查问题和定位分析问题,本文提出了通过串口查询和控制交换机的一种方法,通过在fc交换机串口输入命令,查询交换机的各端口统计量,设置交换机的监控端口,给网络和系统排故提供极大的方便。
技术实现要素:
本发明的目的:
本发明提供通过串口查询和控制交换机的一种方法,用于分析和定位问题,给网络和系统排故提供极大的方便。
本发明的技术方案:
基于串口的fc交换机状态查询与控制方法,包括以下步骤:
第一步,在fc交换机中建立命令行数组,预先定义命令行,每条命令用字符串表示,每条命令在数组中对应一个位置号;
第二步,在交换机串口以接收一个字符的方式接收串口输入的字符,直到接收到回车字符或字符个数已达到最大长度,将字符串传入接收命令缓冲区;
第三步,解析接收命令缓冲区的字符,去除掉串口输入字符串的空格字符,将字符串拷贝到处理命令缓冲区,将处理命令缓冲区的字符串与命令行数组的字符串对比,获得该命令的位置号;
第四步,根据命令位置号调用对应处理函数,包括查询交换机统计量,设置交换机的监控端口;
第五步,显示交换机统计量,接收串口输入的字符串,将字符串转换成16进制数字,根据串口输入的端口编号查询该端口对应的所有统计量,通过串口显示;
第六步,设置交换机的监控端口,接收串口输入的字符串,将字符串转换成16进制数字,根据串口输入的端口编号设置交换机对应的监控端口寄存器。
本发明的优点:
通过在fc交换机串口输入命令,可以查询交换机的各端口统计量,设置交换机的监控端口,用于分析和定位问题,给网络和系统排故提供极大的方便。
附图说明:
附图1描述了串口接收字符流程;
附图2描述了对接收的字符进行解析,查找命令的流程;
附图3描述了根据命令编号显示端口统计量的流程。
具体实施方式:
下面结合具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
下面对本发明做进一步的描述:
第一步,在fc交换机中建立命令行数组,预先定义命令行,每条命令用字符串表示,每条命令在数组中对应一个位置号,显示交换机端口统计量命令对应位置号为0,设置交换机监控端口命令对应位置号为1;
第二步,在交换机串口接收输入的字符,流程见图1。以接收一个字符的方式接收串口输入的字符,对第一个字符进行判断,如输入字符为空格,不作为有效字符将其丢弃,继续接收;如输入的字符为回车,命令输入结束,返回无效命令;如接收到有效字符,将该字符传入接收命令缓冲区,继续接收下一个字符,直到接收到回车字符或字符个数已达到最大长度,期间接收到的空格作为有效字符传入接收命令缓冲区;
第三步,解析接收命令缓冲区的字符,根据解析后的字符查询对应的命令,流程见图2。判断接收命令缓冲区是否为空,如果为空返回无效;将接收命令缓冲区字符串前面的空格全部去除,判断接收命令缓冲区是否为空,如果为空返回无效;接收命令缓冲区字符串间的空格全部去除,与原字符串对比,如相等,将字符串拷贝到处理命令缓冲区;如不相等说明说明原来的字符串有空格,替换掉原来的字符串,将字符串拷贝到处理命令缓冲区。将处理命令缓冲区的字符串与命令行数组的字符串对比,获得该命令的位置号;如未找到相应命令返回特殊的位置号,返回位置号;
第四步,根据命令位置号进行命令操作,如命令位置号为0为查询交换机统计量命令,调用对应函数;如命令位置号为1为设置交换机的监控端口,调用对应函数;
第五步,显示交换机统计量,流程如图3,接收串口输入的字符串,将字符串转换成16进制数字,判断该数字是否在有效范围内;根据串口输入的端口编号查询该端口对应的所有统计量,通过串口显示;包含:
a.crc错误计数;
b.小于最小帧长度错误计数;
c.大于最大帧长度错误计数;
d.接收正确帧计数;
e.发送正确帧计数。
第六步,设置交换机的监控端口,接收串口输入的字符串,将字符串转换成16进制数字,判断该数字是否在有效范围内;根据串口输入的端口编号设置交换机对应的监控端口寄存器。