`

滑动窗口算法在应用软件系统中的应用- -

 
阅读更多
今天在看USSD相关的资料,对网络传输部分的信息进行了回顾,忍不住又看了一遍通信中用的非常多的滑动窗口算法。滑动窗口算法主要是用来解决系统间通信的时候的流量拥塞及控制问题,一个好的实现既可以提高网络通信的数据流量,同时又能提高通信质量和解决拥塞控制问题。

简要描述一下该算法:

1、将需要传递的信息编码为一个有序的帧序列;

2、发送方设置一个滑动窗口(缓冲区),该窗口大小为最大发送帧数(N)。该缓冲区采用先进先出队列机制,首先发送N帧信息,每帧都有一个定时器,当超时还没有收到接收方的应答帧时,则重发该帧;

3、接收方设置一接收队列,对接收到的每帧入队列。如果该帧是编号最小的帧,则发送该帧收到的应答帧给发送方;

4、发送方如果收到接收方的某帧的应答消息,则判断,如果是队列的第一个帧,则该帧出列。队列空出一位,再发送一帧,否则记录其为可出列标记。

利用滑动窗口算法原理,可以保证一堆数据在有序发送的情况下,顺利的达到接收方。

通过对滑动窗口算法原理的分析,可以将该算法应用在如下场景:

A系统需要给B系统发送大量的资料,这些资料需要拆分为M次才能发送完成,考虑到网络流量问题,不能一次性的就全部把M个数据块发送给B系统。较好的处理方式是设置符合网络流量大小的值N,做为A系统一次发送的数据块个数。N作为滑动窗口的长度。采用滑动窗口算法来完成A、B系统的数据发送,考虑到发送的数据可以是无序(既数据没有先后之分)的情况。需要对该算法略加修改,即发送队列中的任何一个数据块如果收到应答信息,队列都向前滑动一格,并允许立即发送一个新的数据块。就可以很好的解决这个问题。
分享到:
评论

相关推荐

    AWTK开发手册-AWTK开发实践指南-中文手册.pdf

    AWTK开发手册-AWTK开发实践指南-中文手册.pdf ...采用LGPL协议开源发布,在商业软件中使用时无需付费。 目前核心功能已经完成,内部开始在实际项目中使用了,欢迎有兴趣的朋友评估和尝试,期待您的反馈。

    论文研究 - 具有HW / SW协同设计的基于FPGA的人为检测HOG加速器及其在人群密度估计中的应用

    人体检测在许多应用中都很重要,并且在过去十年中引起了极大的关注。 定向梯度直方图(HOG)作为有效的局部描述符与二进制滑动窗口机制一起使用,可实现良好的检测性能。 然而,在这样的框架下HOG的计算约为十亿次,...

    毕业设计-基于Haar特征与AdaBoost算法的人脸检测系统(源码+使用说明+6000个人脸样本数据集).zip

    通过在图像上滑动不同大小和形状的窗口,并计算窗口内部的Haar特征,可以得到一组特征向量。 3. 使用AdaBoost算法进行特征选择和分类器训练:AdaBoost算法是一种集成学习算法,通过迭代选择最优特征和最优阈值,并...

    vc++ 应用源码包_1

    DOM应用---遍历网页中的元素 dshowplayer 媒体播放器的实现,实现了VMR7、VMR9、EVR方式。 DSoundManager 实现了声音管理。 Excel文件的导入和导出操作 主要的实现在CMyExcel类中。 expclass_src dll库的演示。 ...

    vc++ 开发实例源码包

    DOM应用---遍历网页中的元素 如题。 dshowplayer 媒体播放器的实现,实现了VMR7、VMR9、EVR方式。 DSoundManager 实现了声音管理。 Excel文件的导入和导出操作 如题。主要的实现在CMyExcel类中。 expclass_src ...

    vc++ 应用源码包_2

    DOM应用---遍历网页中的元素 dshowplayer 媒体播放器的实现,实现了VMR7、VMR9、EVR方式。 DSoundManager 实现了声音管理。 Excel文件的导入和导出操作 主要的实现在CMyExcel类中。 expclass_src dll库的演示。 ...

    vc++ 应用源码包_3

    DOM应用---遍历网页中的元素 dshowplayer 媒体播放器的实现,实现了VMR7、VMR9、EVR方式。 DSoundManager 实现了声音管理。 Excel文件的导入和导出操作 主要的实现在CMyExcel类中。 expclass_src dll库的演示。 ...

    vc++ 应用源码包_6

    DOM应用---遍历网页中的元素 dshowplayer 媒体播放器的实现,实现了VMR7、VMR9、EVR方式。 DSoundManager 实现了声音管理。 Excel文件的导入和导出操作 主要的实现在CMyExcel类中。 expclass_src dll库的演示。 ...

    VC与Labview、Matlab编程论文资料[2].rar

    VC_环境下基于MapX控件的GIS应用软件的开发.pdf VC_环境下实现的GPIB通讯设计.pdf VC_直接调用MatLab数学函数库的关键.pdf VC_编程实现图像梯度锐化.pdf VC_访问数据库的方法研究.pdf VC_读写软件配置参数的若干方法...

    VC与Labview、Matlab编程论文资料

    VC_环境下基于MapX控件的GIS应用软件的开发.pdf VC_环境下实现的GPIB通讯设计.pdf VC_直接调用MatLab数学函数库的关键.pdf VC_编程实现图像梯度锐化.pdf VC_访问数据库的方法研究.pdf VC_读写软件配置参数的若干方法...

    vc++ 应用源码包_5

    DOM应用---遍历网页中的元素 dshowplayer 媒体播放器的实现,实现了VMR7、VMR9、EVR方式。 DSoundManager 实现了声音管理。 Excel文件的导入和导出操作 主要的实现在CMyExcel类中。 expclass_src dll库的演示。 ...

    VC与Labview、Matlab编程论文资料[4].rar

    VC_环境下基于MapX控件的GIS应用软件的开发.pdf VC_环境下实现的GPIB通讯设计.pdf VC_直接调用MatLab数学函数库的关键.pdf VC_编程实现图像梯度锐化.pdf VC_访问数据库的方法研究.pdf VC_读写软件配置参数的若干方法...

    西南大学2019年春季作业参考0087]《计算机网络》.docx

    阀值 接收窗口 拥塞窗口 滑动窗口 21、网络拓扑对网络性能与网络_____有很大的影响。 A. 主从关系 造价 控制关系 结构 西南大学2019年春季作业参考0087]《计算机网络》全文共9页,当前为第4页。西南大学2019年春季...

    R语言与网站分析

    2687.2.2 朴素贝叶斯分类器 2707.3 支持向量机SVM 2717.3.1 原理 2717.3.2 在 R 语言中实现非线性SVM 分析 2737.4 人工神经网络 2747.4.1 神经元 2747.4.2 两层网络 2757.4.3 反向传播算法 2767.4.4 R 语言...

Global site tag (gtag.js) - Google Analytics