一道算法题

smartdu 2012-03-07 05:22:38
题目是这样的:
前端视频采集器,服务器中转,客户端。采集器通过服务器转发给各个客户端。
如果多个客户端观看同一个采集器,如果每个客户端都有丢包,如果服务器不做处理,则相同的重传包都传给采集器,这样采集器负担很重,考虑一种算法,让服务器过滤掉相同的重传包。
各位大牛,可有什么好的建议???
...全文
162 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qixing1115 2012-03-08
  • 打赏
  • 举报
回复
我是瞎忽悠的
qixing1115 2012-03-08
  • 打赏
  • 举报
回复
每个包根据里面数据计算一个值保存在服务器,有相同的过滤
ouyh12345 2012-03-08
  • 打赏
  • 举报
回复
实时视频的话,不需要保存很久的数据
oldm4n 2012-03-07
  • 打赏
  • 举报
回复
理论上还需要缓冲多个客户端在一个时间窗口内发来的重传请求,有命中的则不再转发给采集器,等待视频buffer被更新后从视频buffer中直接获取发送给客户端
[Quote=引用 3 楼 fetag 的回复:]

一个理论上可行的办法是,在服务器端为每个采集器预留一块buffer空间(类似于cache),数据从采集器传

到服务器以后,优先存到buffer里面去,然后再forward给客户端。然后按照一定的算法来更新buffer中的

数据,可以按照时间,按照访问频率等~~

如果客户端出现丢包,服务器端先到buffer中去找,有则直接重传给客户端;没有再通知采集器重传
[/Quote]
从头来过 2012-03-07
  • 打赏
  • 举报
回复
端口转发么,你把包用TCP协议拿到服务器好了
独孤过儿 2012-03-07
  • 打赏
  • 举报
回复
一个理论上可行的办法是,在服务器端为每个采集器预留一块buffer空间(类似于cache),数据从采集器传

到服务器以后,优先存到buffer里面去,然后再forward给客户端。然后按照一定的算法来更新buffer中的

数据,可以按照时间,按照访问频率等~~

如果客户端出现丢包,服务器端先到buffer中去找,有则直接重传给客户端;没有再通知采集器重传
smartdu 2012-03-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ouyh12345 的回复:]

在服务器上做转发,服务器上保存一段时间的视频数据
[/Quote]

如果还是在保存的视频数据里没找到,而且有多个客户端同时丢了数据包,那该怎么办了?相同的包发了两次。
ouyh12345 2012-03-07
  • 打赏
  • 举报
回复
在服务器上做转发,服务器上保存一段时间的视频数据

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧