数据传送限制因素
概述
传输控制协定( TCP)是Internet 中使用最广泛的传输层协定。常见套用如HT T P、F TP、BitTorrent 等都使用它来传输数据。在传输过程中, 数据传送受到不止一种因素的限制,比如传送方、接收方和网路。当用户数据下载速率不快时,他们希望了解下载过程中限制数据传送的主要因素。 这是因为,一旦能够诊断出数据传输中的限制因素,用户就可以通过消除这种限制因素来提高连线的传输速率。比如当限制因素是接收方时,用户可以通过修改主机的配置来提高传输速率; 而当限制因素是传送方或者网路时,用户可以通过向服务提供商和ISP反映来解决问题。限制因素的诊断方法取决于测量点的位置。 当测量点在数据传送方时, Web100系统可以直接从数据传送方的TCP 协定栈读取数据传送限制因素。而普通用户没有从web或FTP伺服器直接读取其协定栈信息的许可权,因此他们只能根据在数据接收方或者网路中测量到的报文进行估计。在非数据传送方诊断数据传送限制因素的基本方法是在连线路径上的某一测量点监听报文,首先获取该连线每一时刻的飞行位元组数,然后通过分析飞行位元组数的动态变化规律来确定每一时刻的限制因素。在该方法中,因为飞行位元组数是后面分析的基础,所以準确估计飞行位元组数非常重要,但目前所有的工作都无法做到这一点。
对上面非数据传送方的诊断方法提出了2 点改进。首先,本文使用TCP时间戳选项来确定报文间的引发关係。无论测量点在什么位置,该方法都能準确地确定报文间的引发关係,从而计算出準确的飞行位元组数。其次,本文提出了一种相对鲁棒的方法通过分析飞行位元组数的变化规律来确定每一时刻的数据传送限制因素。
数据传送的限制因素
在一条TC P连线中,某一时刻的飞行位元组数是指当时在传送方看来那些已经传送但尚未被确认的总位元组数。TC P速率控制的基本原理是让传送方通过限制飞行位元组数来限制其数据传送速率。TC P批量数据传输是指在连线进行的过程中, 上层应用程式始终有新数据传送,数据传送方不会因缺少数据而暂停传送。很多重要的套用如HT TP、FTP都是这种类型,其飞行位元组数受下面3种因素的限制:
1)传送方快取: 上层套用的数据会首先被拷贝到传送方快取中,连线最大的飞行位元组数不可能大于传送方快取的大小。 当数据传送受传送方快取限制时,飞行位元组数将一直等于传送方快取。
2)接收方快取: 接收方快取也会限制飞行位元组数,当数据传送受接收方快取限制时,飞行位元组数将一直等于接收方快取。
3)拥塞视窗: 拥塞视窗是TCP协定为避免网路拥塞而用来限制飞行位元组数的视窗。 拥塞视窗随时间动态变化,在没有丢包的时候,拥塞视窗随时间不断增长。因此,当飞行位元组数受该因素限制时,它会随时间不断增长。
由上面的分析可知,当飞行位元组数受不同因素限制时,其变化规律是不一样的。因此,通过分析飞行位元组数的变化规律可以确定它的限制因素。
数据传送点的选择方法
概述
T D - S C D M A 系统中的切换是为保证移动用户通信的连续性或者基于网路负载和操作维护等原因,将用户从当前的通信链路转移到其他小区的过程。切换过程的最佳化设计对于任何一个蜂窝通信系统都十分重要。因为从网路效率的角度出发,当用户终端处于不适合的服务小区进行通信时,不仅会影响通信质量,同时也将增加整个网路的负荷,甚至造成干扰。移动用户应当使用网路中最最佳化的通信链路与相应的基站建立连线。
在第一代模拟系统和第二代 G S M 系统中都採用越区硬切换技术,硬切换的实现方式是 U E 需要先删除原有的无线链路(R L),然后启用新的无线链路与接入侧进行通信。该技术使系统在切换过程中大约丢失 300 ms 的信息,占用的信道资源较多。在 TD - SCDMA 系统中除採用硬切换外,还採用接力切换。接力切换是介于硬切换和软切换之间的一种新切换方法,具有较高的切换成功率、较低的掉话率及较小的上行干扰等,接力切换的突出优点是切换高成功率和信道高利用率。因此进一步最佳化接力切换的具体技术,是切换技术研究的一个热点。
TD-SCDMA接力切换原理
实现接力切换的必要条件 :网路要準确获得 U E 的位置信息,包括 U E 的信号到达方向 D O A, U E 与基站之间的距离。在 T D - S C D M A 系统中,由于採用了智慧型天线和上行同步技术,系统可以较为容易获得 UE 的位置信息。
接力切换分为 4 个步骤,即测量过程、预同步过程、判决过程和执行过程。接力切换利用智慧型天线和上行同步等技术,根据 U E 的方位以及 U E 和节点 B 间的距离作为辅助信息来判断目前 U E 是否移动到了可进行切换的相邻节点 B 的临近区域。如果 U E 进入切换区域,则无线网路控制器(R N C)通知该节点 B 做好切换準备,这个过程类似田径比赛中的接力赛跑传递接力棒,因而形象地称之为接力切换。在 U E 和节点 B 通信过程中,U E 需要对本小区节点 B 和相邻小区节点 B 的导频信号强度进行测量。U E 的测量是由 R N C 指定的,可以周期性进行,也可以由事件触发进行。接力切换的预同步过程属于开环预同步,在 U E 对本小区节点 B 和相邻小区节点 B 的导频信号强度进行测量的同时,记录来自各邻近小区节点 B 的信号与来自本小区节点 B 信号的时延差,预先取得与目标小区的同步参数,并通过开环方式保持与目标小区的同步。
目标小区确定后,R N C 根据目标小区与原小区的关係判决是硬切换(归属不同的 R N C)或者接力切换(归属同一个 R N C)。假设所有小区都归属同一 R N C, 即判决 U E 进行接力切换。R N C 将执行接力切换。首先对目标小区传送无线链路建立请求。当 R N C 收到目标小区的无线链路建立完成之后,向原小区和目标小区同时传送业务数据承载,这些数据从原小区和目标小区的空口传送出去,同时 R N C 向 U E 传送物理信道重配置讯息命令,即切换命令。
U E 接收到切换命令后,由原小区接收下行承载业务以及信令,而由目标小区发射上行的承载业务和信令。同时,利用事先获取的原小区和目标小区之间的功率差值△ P和时间差值△ t,通过开环同步和功率控制,在目标小区发射上行的承载业务和信令。持续一段时间后,开始使用新配置在目标小区接收下行数据,实现闭环功率和同步控制,中断从原小区接收下行数据,完成切换过程。在切换命令发出后,如 R N C 收到来自 U E 的切换成功讯息,则 RNC 向原小区发出请求,删除原小区的无线链路。
TD-SCDMA接力切换过程性能分析
根据以上介绍,可以总结接力切换的特徵有两点 :(1)在接力切换过程中,目标小区和原小区都在传送下行数据。(2)整个接力切换过程中,U E 只收到一次从 R N C 传送来的重配置命令,U E 根据该命令重配置自己的上行信道;但是下行信道的配置是根据经验值的定时来触发,也就是从接到重配置命令后,UE 自己设定一个定时器,定时器到时后,重配下行信道的配置。而对应第一个特徵,当同时向两条 R L 传送数据报文时,需要判断发送有效数据的时间点。如果在新 R L 刚建立时,立刻向下传送用户数据,该 R L 对应的基带侧将该用户数据在空口传送出去,这时传送的数据是在小区全向传送的,对于这条 RL 而言,其发射功率不能到达小区边缘,而切换时的 U E 大多数是在小区边缘。如果 U E 收不到数据,则该数据就无效;同时该数据在空口无效传送也会对其他 UE 造成干扰。
数据传送点选择方法的最佳化
为了解决在目标小区新 R L 刚建立时,U E 在切换区域接收不到目标小区传送的用户数据,同时该数据的无效传送也会对目标小区其他 U E 造成干扰的问题和不足,本文提出可提高新 R L 的发射功率,保证 U E 在切换区域接收到目标小区传送的用户数据,同时可避免对其他 U E 造成干扰的接力切换中目标小区用户数据传送点的选择方法。技术方案如下。
(1)U E 要切换的目标小区确定后,R N C 在发出切换命令之前,对目标小区传送无线链路建立请求。当 R N C 收到目标小区无线链路建立完成的讯息之后,向原小区的节点 A 和目标小区的节点 B 同时传送下行用户数据,由原小区的空口向移动终端传送该下行用户数据,目标小区的空口丢弃该下行用户数据,仅传送特殊突发。当节点 B 收到终端的上行信号后再开启功率进行数据下发,以此降低 U E 切换过程中目标小区无线链路对原小区无线链路的干扰。
(2)利用 T D - S C D M A 独特的帧结构,减少同频同时隙的干扰。即原小区与目标小区的业务承载信道可选择不同的时隙。例如 :原小区上行链路可以选择 T S2,下行链路选择 T S4,而目标小区则相应地选择 TS3 和 TS6。
(3)利用智慧型天线技术,R N C 通过原小区的 R L 向 U E 传送物理层重配置命令,该种配置命令包括物理信道重配置命令、传输信道重配置命令和无线承载(R B)重配置命令 ;U E 收到重配置命令后,根据重配置命令的参数判断此切换为接力切换时,对上行信道进行重配置,并向目标小区的节点 B 传送特殊突发,在可能的情况下 U E 可继续在原小区传送上行用户数据 ;所述目标小区的节点 B 根据该特殊突发信号的波束赋形,将其智慧型天线的主瓣方向对準移动终端,大大提高了新 R L的发射功率,可有效保证 U E 在切换区域接收到目标小区传送的用户数据,同时,避免了切换过程中该数据的无效传送对目标小区其他 U E 造成的干扰 ;然后目标小区的空口停止传送特殊突发,节点 B 开始传送下行用户数据,并在无下行用户数据时传送特殊突发。
数据传送器设计
概述
随着平板显示系统解析度的提高, 显示模式为SVGA(800×600, 数据传输率120Mb/ s)和XGA(1024×768, 数据传输率195Mb/s)的显示器已经产品化。设计高解析度平板显示界面最大的瓶颈, 莫过于在数据传输期间不可避免的电磁干扰, 数据满摆幅平行传输所带来的高功耗、低速也是传统数字视频界面难以解决的问题。 对系统高性能的要求促使微处理器及存储器有了飞速发展。然而, I/O的速度往往滞后于系统频宽的要求。 传统数字视频界面一般直接将主机LCD 控制器与平板显示器连线起来,大量并行传输线满摆幅传输视频信号。 平板显示器解析度的提高要求数据传输率也相应地提高, 然而, 大量并行的信号线及数据的满摆幅传输使得线间有较强的电磁干扰, 数据传输的可靠性较低。当数据传输率提高时, 高频率的数据切换使得该效应明显加强。同时, 高功耗也是该界面不可避免的问题。因此,本文针对传统数字视频界面在高速传输数据时难以克服的瓶颈, 给出了一种以ANSI/TIA/ EIA-644为性能指标参考的低压差分信号数据传输系统。低压差分信号LVDS 是一种以非常低的电压摆幅(约350mV)在差分PCB板线或平衡电缆上传输信号的通讯技术, 广泛地用于区域网路、PC等的通讯。它最主要的特性有:
(1)电流模、低摆幅意味着数据可高速、低功耗传输;
(2)较少的并行传输线数, 电磁辐射干扰小;
(3)差分传输线, 线间电磁干扰可部分补偿, 共模噪声抑制强;
(4)与传输线特徵阻抗匹配的端电阻减少了信号反射;
(5)标準 CMOS 工艺实现, 成本低。
提出的基于 LVDS 标準的传送器由 4 路通道构成 , 用以将 28 位并行红、绿、蓝数据及控制信号转换为 4路并行数据传输, 系统时钟为 32MHz ~ 112MHz , 故每一路通道的最大数据传输率为 784Mb/ s, 满足 SVGA , XGA , SXGA 等多种显示模式的要求。 少的并行传输线(仅 5 对电缆)及数据低电压摆幅串列传输(7 路并行数据串列化), 降低了电磁干扰和功耗, 提高了数据传输率。
系统结构
为解决传统的高解析度平板显示系统数据视频界面强电磁干扰、高功耗等问题。该传送系统包括4 个视频数据传送通道, 传统的数字视频界面随着数据传输率的提高, 会产生难以解决的高电磁干扰、高功耗问题。 电荷泵锁相环及参考源是公用的。每一路通道由7:1并-串转换器、低压差分电流模驱动器构成。系统时钟经电荷泵锁相环产生7相与系统时钟频率相同的时钟M -CLK(n)n=1, 2, … , 7, 用以控制7:1并-串转换器, 利用相邻两相时钟上升沿的间隔, 将7路并行数据转换为串列数据。 被串列化的数据控制低压差分电流模驱动器输出电流的方向, 在平衡电缆对上产生摆幅约350mV 的差分信号。系统时钟经第5 个驱动器也转换为LVDS 信号,与4 路低压差分数据及控制输出信号一起传送给平板显示控制专用晶片。 参考源为低压差分电流模驱动器提供稳定的参考电压, 并自适应地调节驱动器的输出电流, 使输出摆幅在工艺、电源电压、温度变化时仍能保持恆定。系统的时钟频率为32MHz ~112MHz ,7 :1 并-串转换器使每路通道数据传输率为224Mb/s ~784Mb/s,故系统总的数据传输率为112Mb/s ~392Mb/s,可满足高解析度如SXGA 显示器的要求。PWDN 信号为系统提供省电模式,4 个控制信号HSYNC 、VSYNC 、CNTL1、CNTL2 用于视频信号的水平、垂直同步及处理。24 位RGB 像素数据与4 位控制信号分为4 路并行传输。
整个系统採用0.18μm CMOS 工艺模型设计,并、串结合的体系结构及低摆幅差分输出驱动器, 使得该视频数据传送界面具有低成本、低功耗、高可靠性等特点, 适合于三维动画, 多媒体等高速、高清晰度视频系统的通讯接口要求。
电路设计
1.电荷泵锁相环
电荷泵锁相环由鑒相器、环滤波器、电荷泵、压控振荡器构成。 14 级压控振荡器产生 7 相与系统时钟同频率的时钟M -CLK(n )n =1 , 2,…, 7, 将时钟周期均分为 7 等份, 相邻时钟最小上升沿间隔为 1.27ns。 延迟单元採用全差分结构, 压控电流源和电流受环滤波器产生的控制信号的控制, 根据系统时钟的变化, 延迟单元差分输出的摆幅也相应地变化, 以跟蹤系统时钟的相位。7 相时钟由相间隔的延迟单元产生,压控振荡器主环路与多相时钟产生迴路相分离, 使每一个延迟单元的电容负载相同, 减小了压控振荡器的设计难度。与传统的产生多相时钟的压控振荡器相比, 该振荡器不需要多相时钟灵敏放大器和缓冲器, 减小了硬体複杂性和噪声敏感性。电荷泵採用两级负反馈机制, 自适应地调节环滤波器RC迴路的充放电,因此使锁相环具有很好的相位跟蹤特性和对时钟相位震颤噪声的抑制能力。 环滤波器中的电阻、电容分别採用传输门、NMOS 管实现,节省了晶片面积。图3 是在TTT(3.3V ,50℃,TT CMOS 模型)情况下用HSPICE 得到的仿真结果。结果表明产生的7 相时钟间隔均匀,相位震颤噪声小。
2.并-串转换器
并排的7 个功能块是数据选择单元, 由二级D触发器构成。它们的使能端分别接由电荷泵锁相环产生的7 相时钟。数据选择单元的另外两个输入端接两相同步时钟, 确保相邻并行数据在串列化时数据时序歪斜最小。并行数据在多相时钟的作用下,经数据选择单元转换为串列数据后, 经双端变单端的缓冲器, 将串列数据波形整型, 整型后的波形作为低压差分电流模驱动器的输入。
3.低压差分电流模驱动器
主要由电流切换开关,压控电流源, PVT自适应偏置构成。串列CMOS级数据经两路倒相缓冲器变为互补信号, 用以控制电流切换开关, 改变输出电流的方向, 输出电流在传输线端电阻产生所需的电压。输出电流典型值约为3.5mA ,跨接在传输线对上的端电阻典型值为100Ψ,因此输出的差分信号为350mV 。为了保证输出信号的电压摆幅在各种PVT 情况下保持恆定,驱动器的偏置採用反馈环路动态调节压控电流源的电流大小。 如图 5 所示,设偏置电路电晶体尺寸及电阻大小与对应的驱动器电流通路上的电晶体尺寸及电阻大小完全匹配, 两个运放的负向端分别接由参考源产生的恆定电压, 这两个电压的大小设定了驱动器输出电压所需的高低电平。 两个运放的正向输入端分别接在与传输线端电阻相匹配的外接电阻的两端, 输出端电压作为两个压控电流源的控制电压, 运放输入的虚地效应使得正、负向端的电平在反馈环路平衡态时相等。 由于偏置电路与驱动器电流通路完全匹配, 因此, 传输线端电阻的电压及电流与偏置电路外接电阻上的电压及电流分别相等。 外接电阻及传输线端电阻可以调节, 以匹配传输线特徵阻抗的变化, 减小输出信号的反射。当PVT 的波动引起外接电阻两端的电压发生变化时, 偏置电路的负反馈机制会动态调节该变化, 使外接电阻两端的电压与参考源产生的电压动态相等。因此, 传输线端电阻上电压及电流在PVT 发生变化时仍能
数据传送定时器
概述
测控通信软体是测控系统的核心与控制中枢, 其任务是以时间为基準, 由通信传输系统实时获取各测量设备对目标的测量数据, 经过合理性选择、误差修正后进行轨迹解算处理和推理判断做出实时决策, 将结果输出到显示、控制设备, 完成对被测目标的实时监控。一个健壮的测控通信软体必须注意下面几个问题:
①实时性, 即在给定的时间期限(< l00ms)内必须完成定量数据的网路通信和数据处理任务。结合宿主系统的硬体特性灵活套用高效率的网路通信技术。
②可靠性, 即测控通信软体是一个高风险系统,微小的差错将导致灾难性后果。特别要求软体注重容错设计, 不能有单点故障, 信号或事件的处理具有原子性。
③扩展性, 基于乙太网的测控通信软体应符合系统的松耦合特性, 儘量使设计的程式独立于网路规模的变化, 满足系统配置的灵活性要求。基于 Internet 的网路通信协定有两个 , 一个是TCP( Transfer Control Protocol, 传输控制协定 ) , 它是一种面向连线的协定 ; 另一个是 UDP(User DatagramProtocol, 用户数据报协定), 它是一种面向无连线的协定。基于 TCP 协定的网路通信曾是实时测控软体所使用的主要技术之一。然而, 它在系统的容错和可扩展性设计方面都或多或少存在着问题, 更重要的是不能满足测控通信软体的实时需求。因此, 本设计採用UDP 协定,突出的好处是: 基于UDP 协定的数据传输速率无阻碍, 能够儘可能地以全速传送数据(即充分发挥物理通信设备的速度),这点在测控通信系统中尤为重要。本设计考虑到UDP 不能保证数据可靠、无差错地传输, 也就是说数据在传输过程中有可能出现数据的丢失、差错、篡改等, 而使对方无法接收到正确的数据, 因此, 在软体中需要设计数据传送机制, 以保证数据传输的实时性和正确性。
数据传送定时器简介
传送定时器对传送的数据进行定时计数, 它是一种减法计数器, 当计数值变为0 时, 数据仍没有收到相应的应答, 表示传送的数据已经超过定时範围, 需要重发或丢弃。从常规上来说, 在传送一个数据的同时, 需要启动一个数据传送定时器, 如果在定时器时限範围内该数据被确认, 则关闭该定时器, 否则需要传送该数据( 并且该定时器重新开始计时) 。本文结合测控通信软体的特点, 传送定时器採用一种新的设计方法, 它包括传送缓冲区伫列、传送定时器的定时算法、传送定时器的定时值、传送缓冲区的空间收集等四个模组。2
数据传送定时器的设计
(1)数据传送缓冲区伫列
为了解决数据传送出现问题后重新传送数据, 创建一个传送缓冲区来存放数据副本。传送缓冲区伫列的记录由五个栏位组成, 如图1 所示, 它们分别为DevNo 栏位、Data 栏位、DataType 栏位、SendTimes 栏位和OverTime 栏位,传送缓冲区的大小由应用程式来决定。
①DevNo 栏位:传送数据目的终端编号。Data 栏位: 系统所要传送的数据; DataType 栏位: 记录当前项Data 栏位里数据的类型,用以加速与应答的匹配速度。
②SendTimes 栏位:主要用来记录Data 栏位中的数据可重发的次数, 同时它反映了相应数据项的状态, 数据每次重发一次, 它的值就会被减1。如果该栏位的值变为0,则表示数据无法到达目的地址,应该丢失该数据, 并向上层模组通知出错信息; 如果该栏位为- 1,则说明该数据已经成功到达对方并得到对方的应答; 如果数据传送逾时, 只要该栏位不为0, 即数据的重发次数没有超过规定的次数( 如: 3 次) , 数据将被重发, 并被重新压到伫列尾部。
③OverTime 栏位:说明该项数据距下次传送还剩余的时间单位数, 它是一个相对值。如果该栏位的值变为0 且SendTimes 不为0,则重发此数据。
( 2) 传送定时器的定时算法
由于定时器的精确度要求相对比较高, 且维护频率比较频繁, 如果对每个数据都进行独立的计数器管理, 则会消耗系统的大量CPU 资源, 从而影响整个测控通信系统的效率和吞吐率, 因此本测控通信系统採用相对定时的方法, 即每个数据项的实际定时时间是前面的所有项的定时时间与本身的定时时间的总和。如图2 中最后一项,它的相对定时时间为2 个时间单位, 而它实际的定时时间为10+8+2+3+2+5+2=32个时间单位。 数据项的二元组分别表示数据的相对定时时间和数据剩余传送次数, 如二元组( 10, 0) 表示该数据相对的定时时间为10 个时间单元,而它的重发机会只有0 次了。也就是说,数据如果在其定时器时限範围内不能收到应答, 就可断定数据无法到达目的地, 将被丢弃。由于测控系统一般网路结构不是太複杂, 所以数据传送定时时间设为固定值, 从而可知先入队的数据肯定先逾时, 不可能出现排在伫列后面的数据比先前的数据更早地逾时。这种计算定时时间的方法, 只有伫列头所对应数据的定时时间是绝对值, 而其他数据的定时值全是相对值, 所以无论缓冲伫列中有多少数据, 只要维护伫列头指针所对应的数据项的定时器, 就可以完成维护所有数据定时器的任务, 从而减少了维护定时器的频率, 减轻了系统的工作量。
(3)传送定时器的定时值
前面提到本设计的定时值是固定的, 那么这个值应该设为多长? 这个时隔短会引起不必要的传送, 正如Jacobson 记述的那样,当网路已经处于饱和状态时, 不必要的传送会增加网路的负载, 对网路而言这就像在火上浇油一样; 时隔长会影响测控性能。
从理论上这个问题的解决方法是根据网路性能的不断测定, 通过一种动态的算法来不断调整, 才能达到一种最佳效果。如TCP 通常採用的Jacobson 算法, 对于每一条连线, 它保存一个变数RTT, 存放当前到目的端往返时间最接近的估计值, 当传送一个数据段, 同时启动相应的定时器后, 如果时间太长就触发重发机制。如果在定时器超过定时值之前得到了确认, TCP 测量该确认花费了多长时间( 假定为M) , 那么根据公式RTT=σRTT+(1- σ)M 来修正原有的RTT值。σ是一个推荐值为0.9 的平滑因子(Smoothing Factor) ,决定以前的RTT 值的权值(即所占比例)。但由于本测控通信系统路由器和网路流量均变化很小,同时为了减小系统的複杂度, 所以採用固定的定时值。经过测试得到数据在网路中一个往返传输时间的机率密度, 如图 3, 显然将定时值设为 40毫秒较合理, 因为在这个时间内, 绝大部分数据在网路没有故障的情况下都能够收到应答。研究与开发
(4)传送定时器的定时改进算法
从上面的定时算法可以看出, 其时钟的维护频率为一个计时单位(1ms),这样维护频率显然还是比较高。为了进一步减少定时器计数的维护频率, 使用定製时钟的方法, 即将伫列头指针所对应的数据项的定时时间也改为相对值, 其值就是该项数据成为伫列头时的时间。也就是说, 当一个数据移到伫列头时, 就可以为其定製一个时钟, 其时钟的间隙即为该数据所对应的OverTime 栏位值,这个时钟维护信息一到,伫列头所对应数据肯定逾时, 这样一个数据在一次传送过程中最多只会引发一次时钟维护, 大大降低了定时时钟的维护频率。设数据入伫列的时刻为Ta,当前时刻为Tn,则当前数据已经逝去的时间为Tp=Tn- Ta。因此当数据入伫列时, 操作与先前有所不同, 不能简单根据所有的OverTime 累加值来计算自己的相对值,而必须考虑Tp值:当数据由于逾时重发而重新进入伫列时, Tn= Ta, 即Tp=0, 计算方法与改进前无变化; 当新的数据入伫列时, 则必须在改进前算法结果减去Tp值。如图2 再压入一个新的数据,则它的定时时间应为40- (10+8+2+3+2+5+2- Tp)=8+Tp。
当时钟维护信息到来时, 伫列头数据项可能出现三种不同的情况, 第一种情况如图4 的A, 数据已经收到应答, 但为了保持定时计数的準确性, 不是从缓冲伫列中删除, 而是将数据直接出队, 不再保留该项数据; 第二种情况如图4 的B, 数据没有收到相应的代应答, 但其传送次数没有超过规定次数( 如3 次) , 这计时将数据出队, 送到传送模组对数据进行传送, 数据
(5)传送定时器的传送缓冲区的空间收集
相对定时的算法有效地解决了维护多个定时器而使系统增加的系统运行压力, 同时也带来了一定的负面作用, 传送缓冲区伫列是一个有限的空间, 而相对定时算法, 其定时计算与它前面的数据项有着紧密的联繫, 因此不能随便地增减伫列中的数据项, 否则将引起系统定时的混乱。也就是说即使某项数据已经收到了应答, 也不能马上从伫列中删除, 所以在某些情况下会造成严重的资源浪费, 甚至会导致伫列空间的不足, 无法容纳更多需传送的数据。缓冲区空间收集就是解决这个问题的, 它会在需要的情况下对缓冲区伫列的空间进行重新整理,释放不必要的空间,以使缓冲区伫列拥有最大的可利用的空间。
整理缓冲区伫列空间最主要的整理对象就是那些已经收到应答, 但为了保持定时正确性而不得不留在缓冲区伫列中的数据项, 将它们所占用的空间释放出来, 同时必须保证定时器的正确性。当清除一项数据时,该数据所对应的OverTime 值必须累加到下一个数据项上。伫列的倒数第二项数据原来OverTime 值为10,在空间收集时,其前一数据项的空间被收集, 则前一项的相对定时值2被累加到该项上,故OverTime=OverTime+2=12。如果缓冲区伫列中所有数据项都收到了应答, 则将缓冲伫列清空。


















