1.基于统计预测的丢包重传方法,步骤101:发送端窗口没满,则批量发送一批数据(1~
11);
步骤102:接收端从接收缓冲区接收所有报文,并处理已经递增连续的报文;
步骤103:通过TOP‑K算法,将最近的收到的K个报文放入TOP‑K容器中,同时将已经递增连续的报文从Top‑K容器删除;
步骤104:记录递增连续的最大报文号NOAcked;
步骤105:如果Top‑K容器已满K个,则比较最大递增报文号NOAcked和TOP‑K容器中的最小报文号NOTopk,如果不是连续的,则补缺NOAcked到NOTopk之间的所有报文;
步骤106:发送补缺请求,接收端收到后立刻补缺数据,同时将这个补缺序号放入持续补缺的补缺序号队列中。
2.根据权利要求1所述的基于统计预测的丢包重传方法,步骤201:重新创建一个用于补缺的Top‑K容器,其功能和常规补缺的功能一致,不过只处理补缺数据报文,同时创建一个补缺序号队列,只要通过常规补缺发现需要补缺的报文,就按序放入这个队列,这个步骤中,补缺数据10到来,发现10之前的数据都是连续的,则应该清空这个TOP‑K;
步骤202:从补缺序号队列头拿出11进行补缺,考虑到11的补缺请求和应答都可能丢包,所以还需要考虑11的后续补缺,根据窗口的设计,一次批量最多发送完整个窗口,在这里是16,所以,接收端缺少11号报文,发送端收到的连续ack也是11,发送端最多只能发送到
27,同时缺失报文13,15,23,24,27还在窗口范围内,也会直接补缺;
步骤203:因为发送端最多发送一个窗口,即11号缺失,只能发送到27号,所以直接将11号报文放入补缺序号队列尾部,当27号报文到达,如果11号补缺还没成功,则继续补缺11号报文,如果11号报文多次不成功,则进入等待状态,直到11号补缺完成。