浅谈
本章节主要讲解上传视频到点播 VOD 存储时,控制台上显示的状态异常问题排查。
案例分析
案例
用户调用 createuploadvideoauth 获取上传凭证成功后,开始上传点播存储,发现大量的视频都是上传中的状态
排查
1)先了解下用户点播上传凭证上传的流程
- 先通过 CreateUploadVideo 接口获取一个有效的上传地址。
- 然后再通过 OSS 上传文件到点播的存储 bucket
在这个过程中当获取的点播上传凭证后 ,控制台就会把视频的状态改为上传中。当用户使用上传凭证开始上传到点播存储 bucket 成功后,视频的状态才会变为已经上传。如果只是获取的上传凭证而没有上传视频的话,状态就是一直上传中,造成的误判就是点播上传任务堆积。
2)了解了上面的流程后我们展开分析。
- 既然已经出现了上传中的状态说明点播凭证肯定是获取到了。那我关键就是判断下是否发起了上传的操作。
- 经过客户端沟通反馈是已经发起了上传操作,但是如何证明呢?让客户端在本地使用 wireshark 进行了抓包,wireshark 的使用方式可以 Google 看下;
3)分析抓包结果
通过抓包可以看到客户端的上行 SYN 包一直发不出来,而且并不想网络丢包,从重传的规律看像是被安全策略或者路由不通导致的重传。
于是让客户端做了基本的 ping 测试,发现连 ping 都失败。
4)原因确定
经过和用户的沟通发现,客户端是有网络出口的安全策略,必须加白才能正常访问。客户是获取上传凭证,但是发起上传时一直没有成功,但是用户还没有基本的网络知识导致了问题的拖延。
5)视频一直上传中的状态如何清理
- 1、 先调用这个接口。https://help.aliyun.com/document_detail/52838.html?spm=a2c4g.11186623.6.679.7fbd10d5VVkEQg
设置 status 参数为上传中,会获取到所有上传中视频的 videoid 。 - 2、然后调用这个接口去删除上传中的 videoid https://help.aliyun.com/document_detail/52837.html?spm=a2c4g.11186623.6.678.1a552b29OTV5Ya
总结: 遇到类似问题,一定要先排除客户端能否正常的获取上传凭证,获取上传凭证后能否正常上传到点播存储,一步步进行排除。
另外排查过程中一定要借助网络知识快速的定位问题。比如,Windows 端的 Wireshark ,Linux 端的 tcpdump。