网络数据传输方法

文档序号:9237896阅读:510来源:国知局
网络数据传输方法
【技术领域】
[0001]本发明涉及数据传输领域,且特别涉及一种网络数据传输方法。
【背景技术】
[0002]随着网络信息的不断发展,人们对网络数据传输的可靠性和传输速率提出了更高的要求。目前广播电视网络的数据传输采用的传输协议包括TCP协议、SCTP协议等。
[0003]数据传输的最小单位为数据包,在采用上述两种协议进行数据传输时,其中一种情况是,当某一数据包在接收端出现接收错误或者丢失时,系统会将所有的数据重新进行传输且一边发送数据一边等待确认。另一种情况是,一旦法相接收错误的数据包或丢失的数据包,则重新发送接收错误的数据包或丢失的数据包后的所有数据。上述两种数据传输方式,重新发送的数据量很大,不仅增加了额外的数据通信量,导致信道的利用率降低,同时也极大影响了数据的传输速率。

【发明内容】

[0004]本发明为了克服现有的网络数据传输技术,额外增加的数据通信量大且传输效率低的问题,提供一种具有高可靠性的且传输速率高的网络数据传输方法。
[0005]为了实现上述目的,本发明一种网络数据传输方法包括:
[0006]数据发送端发送数据包并启动超时计时器;
[0007]数据接收端接收数据包,判断接收到的数据包是否正确并形成确认信息或否认信息,将确认信息或否认信息返回至数据发送端;
[0008]判断数据发送端是否接收到数据包的否认信息,若是,则重新发送与否认信息相对应的数据包并重新启动超时计时器;若数据发送端未接收到否认信息且在超时计时器超时还未接收到数据包的确认信息,则重新发送该数据包并重新启动超时计时器。
[0009]于本发明一实施例中,数据发送端发送数据包的同时将数据包保存在缓冲区内,当需重新发送数据包时,从缓冲区内将相应的数据包发送至数据接收端。
[0010]于本发明一实施例中,当发送端接收到数据包的确认信息后,从缓冲区内删除与确认信息相对应的数据包。
[0011]于本发明一实施例中,每重新发送数据包一次,该数据包的重传次数加一,当该数据包的重传次数超过设定阈值时,数据发送端断开与数据接收端的连接,取消数据传送。
[0012]于本发明一实施例中,数据接收端通过校验信息判断接收到的数据包是否正确。
[0013]于本发明一实施例中,数据发送端通过单向保序通道或IP双向通道发送数据包至数据接收端,数据接收端通过IP双向通道返回确认信息或否认信息至数据发送端。
[0014]于本发明一实施例中,数据发送端为应用服务器或internet服务器,数据接收端为机顶盒STB。
[0015]于本发明一实施例中,数据接收端在接收到数据包后首先启动接收确认定时器,当数据接收端完成对接收到的数据包是否正确的判断后,判断确认定时器是否有效,有效,则将确认信息或否认信息返回至数据发送端。
[0016]于本发明一实施例中,确认定时器包括RC定时器、ACK定时器、NAK定时器、EXP定时器。
[0017]本发明提供的网络数据传输方法,通过在数据接收端对接收到的数据包是否正确进行判断并将判断结果返回至数据发送端。数据发送端根据判断结果重新发送接收不正确或丢失的数据包。本发明提供的网络数据传输方法中,数据发送端只发送接收不正确或丢失的数据包,而对于接收正确的数据包则不再重新发送,相比传统的数据传输方法可大幅度减小因传输错误而产生的额外的数据通信量,大大提高了数据的传输速度。对每个数据包进行确认并重新发送接收不正确或丢失的数据包,确保数据接收端接收的每个数据包均正确,保证数据传输的稳定性和可靠性。
[0018]此外,为进一步提高数据的传输效率,在数据发送端发送数据包的同时将数据包保存到缓冲区内,一旦数据接收端接收该数据包产生错误,则直接从缓冲区内调取数据包并重新发送,提高了数据包的获取速度,从而提高数据传输效率。而当数据接收端确定数据包接收正确后,从缓冲区内删除该数据包,减小缓冲区的内存。在数据传输时,对数据包的重传次数进行限制,当重传次数达到上限时,取消发送。该设置不仅可有效避免因网络故障等问题而产生的无限次数据传输,同时也可加快网络故障的发现和排查。
[0019]为让本发明的上述和其它目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下。
【附图说明】
[0020]图1所示为本发明一实施例提供的网络数据传输方法的流程图。
【具体实施方式】
[0021]如图1所示,本发明提供的网络数据传输方法,包括:
[0022]数据发送端发送数据包并启动超时计时器(步骤S10)。数据包是网络数据传输的单位,数据包主要由“目的IP地址”、“源IP地址”、“净载数据”等部分构成,其中目的IP地址指的是数据接收端的地址,源IP地址指的是数据发送端的地址。数据包包括包头和包体,包头是固定长度,包体的长度不定,数据发送端发送数据包和数据接收端回复的应答数据包的包头结构是一致的。
[0023]于本实施例中,数据发送端通过单向保序通道下发包含多个数据包的数据,如有线电视的单向保序通道。在下发数据的同时,将数据存储在数据发送端缓冲区内。利用数据发送端缓冲区来存储已发送的数据包,方便后续这些数据包的重新发送的调取,大大提高数据的传输效率。然而,本发明对此不作任何限定。
[0024]数据接收端接收数据包,判断接收到的数据包是否正确并形成确认信息或否认信息,将确认信息或否认信息返回至数据发送端。
[0025]于本实施例中,为确认接收数据是否有效,避免因数据流速低或传输拥堵而引起的不可靠传输,设置数据接收端接收数据包并启动接收确认定时器(步骤S21)。数据接收端判断数据包是否正确,形成确认信息和否认信息(步骤S22)后,查询接收确认定时器并判断接收确认定时器是否有效(步骤S23)。有效,则将判断形成的确认信息和否认信息返回至数据发送端(步骤S24);否则,重新接收数据。于本实施例中,确认定时器包括RC定时器、ACK定时器、NAK定时器、EXP定时器。RC定时器用来触发速率控制事件,ACK定时器用来触发应答事件,NAK定时器用来触发丢失应答事件,EXP定时器用来触发超时重传事件。
[0026]于本实施例中,当数据接收端接收到数据包后通过校验信息判断接收到的数据包是否正确。所述校验信息包含在数据包内,于本实施例中,校验信息为放置在数据包字节流末尾的累加和校验码。当数据接收端接收到数据包后,数据接收端计算去除累加和校验码后的数据之和,当计算的结果与累加和校验码相同时,判断接收到的数据是正确的,形成确认信息。否则,判断接收到的数据为错误,形成否认信息。本发明对校验信息不作
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1