为准备高考,厦门松柏中学连续几天测试广播系统,所有功能均正常。6月6日下午4点, 考生熟悉考场,发现 BW-801播出的广播声音发生断续。
现场进行BW-801推送广播重复测试,教室中控和楼道广播节点持续出现声音断续现象,持续测试过程中,出现教室中控可以接收广播, 但是声音断续, 楼道广播节点无法进入广播接收的状态。同时, 一启动广播,服务器和控制台之间的连接就被中断。 上述问题,可归纳为2点: 1、BW-801推送广播时, BC节点无法接收到广播信号。 1、BW-801推送广播时,声音卡顿,控制台出现和服务器断连接的情况,且此时ping服务网ip地址反复出现短暂性ping不通现象。
服务器版本:R05.00.00 服务器IP:10.108.71.252/24 BW-801IP:10.108.70.115/24 BC节点版本:IAP4.6.1 广播系统的网络拓扑图如下:
网络拓扑图 为了便于定位问题,缩小故障范围。将服务器搬迁至广播室,此时服务器、BW-801、BC节点全部处于同一网段同一交换机上面。 服务器搬迁后的网络环境如下:
服务器搬迁后网络拓扑图 1、将服务器搬迁到广播室接入交换机,推送BW-801进行广播,BC节点依然没有声音。中控有声音但卡顿。 2、将广播室的接入交换机到汇聚交换机的网线拔掉,让服务器、BW-801、BC节点、测试笔记本处于同一于外界隔离的局域网,BC节点依然无法收到BW-801推送的广播。
问题一:BW-801推送广播,BC广播节点无法收到广播。 经过抓包分析, 服务器端有正常收到BW-801推送出的未丢包的udp音频报文,且中控可以接收到BW-801的推送广播,由此判断故障节点可能不在BW-801上面。
BW-801推音频流报文截图 经过进一步排除,发现问题根源为,服务器数据库中playsessions这张表对应的BW-801的StreamType字段的值由1变成127导致。由于数据库将BW-801的流媒体类型定义错误,而导致BC节点无法收到广播,把127改为1后,BC节点可以顺利收到广播,问题一的故障解除。 至于为什么数据中的流媒体类型会突然变掉,很有可能是现场测试时BW-801 不断被离线, 删除,然后上线重新配置,导致出错。该问题我司已经在实验室进行测试,看何种情况下会复现出数据库字段变掉的情况。
问题二:BW-801推送广播时,声音卡顿,控制台出现和服务器断连接的情况,且此时ping服务网ip地址反复出现短暂性ping不通现象。 排除过程如下:
1、交换机只留笔记本、服务器、BW-801、一个BC节点的情况下,笔记本ping服务器仍有明显丢包,且BC节点卡顿非常明显,但不接BC节点的情况下,没有卡顿。由此判断,故障节点不在BW-801端(如果故障节点在BW-801,那么拔掉所有BC节点网线,故障现象应该持续)。
2、更换BW-801网线及更换公司实验室发过来的BW-801,故障现象依旧。由此确定,故障节点不在BW-801。
3、将服务器网线插到另外一个备用网口,故障现象依旧。由此判断,故障节点不在服务器网卡上面。
4、虚拟机运行R05.00.05及D06.00.26版本,通过BW-801推广播,故障现象解除,且没有昨天出现的mac地址为全0的报文。由此推断,R05.00.00的服务器版本和BW-801交互或转发BW-801报文上存在异常。
现场实践:将现场服务器数据库及media媒体文件压缩拷贝至笔记本,并将服务器由R05.00.00升级到R05.00.05后,现场BW-801推送广播正常,不存在卡顿及丢包现象,故障解除。现场确定集控、定时广播、手机APP均ok。
疑点:为什么R05.00.00的版本推BW-801广播时,笔记本抓包会出现mac地址为全00的报文,且该报文只在BW-801推送广播期间出现,而R05.00.05的版本推送时无这种报文出现,如下图所示:
这个全0报文视乎和ping包卡顿存在某种关联。值得注意的是,终端ping服务器包卡顿(卡顿有时1-2s),这卡段的1-2秒钟,外接和服务器的交互服务器基本是不响应的,这也就导致控制台无法通过3306端口和服务器的数据库建立连接,最直观的表现就是控制台出现和服务器断连接的情况,广播节点卡顿。
但可以下结论的是,R05.00.00版本的服务器升级到R05.00.05后故障解除。但为什么R05.00.00这个版本在之前的长时间里都没有出现过问题,很有可能是这个版本的软件在长时间的运行后,出现了未知bug导致,需要我司在实验室搭建环境后,再分析根本原因。
1、BC节点无法收到BW-801推送广播的原因: 服务器数据库中playsessions这张表对应的BW-801的StreamType字段的值由1变成127导致。由于BW-801的流媒体类型定义错误,而导致BC节点无法收到广播,把127改为1后,BC节点可以顺利收到广播,故障解除。
2、BW-801推送广播卡顿的原因: 服务器R05.00.00版本的软件在运行过程中出现未知bug,导致在转发BW-801的广播报文时,造成系统异常。修复升级服务器版本至R05.00.05后故障解除。