help:数据包的保序处理
时间:10-02
整理:3721RD
点击:
一堆数据包缓存,包长随机,有长有短,多路并行处理后,发送出去,怎样保序(先进先出)呢,而且速度要保证?
各位大侠支个招吧
目前方案是在包上添序号,出去时轮询查找,超出一定时间就丢包处理
回复看看
说点有用的呀
可以在输入端存包的时候做链表。不知道和你这个轮询查找复杂度上有多少差别。
能否设计成无论包的长短,都分配给固定的处理时间,然后就可以保证各个包按照顺序被处理完成,可以在不需要额外的存储资源的情况下保证包的顺序,代价是处理效率比较低。
存包做链表和加包序号最后出去处理是一样吧
中间处理之前串转并然后并行处理,最后再并转串出去,主要是包有长有短,如果等长都可以自然保序了
链表和在数据包中加序号不一样,链表不需要轮询,加需要你在包出口要轮询的。
