报文传输方法及装置制造方法

文档序号:7807732阅读:162来源:国知局
报文传输方法及装置制造方法
【专利摘要】本发明提供报文传输方法及装置,所述方法包括:客户端设备与服务器之间建立用于传输直播业务的数据报文的TCP连接,接收所述服务器通过所述TCP连接持续传输的数据报文;判断接收的数据报文的丢包率是否小于丢包阈值;当小于所述丢包阈值时,根据接收的数据报文直接播放所述直播业务;当不小于所述丢包阈值时,向所述服务器请求重传丢失的数据报文。应用本发明实施例,客户端设备可以在数据报文丢包较少时,避免因为请求重传而产生的延迟,从而提高了直播业务的实时性。
【专利说明】报文传输方法及装置【技术领域】
[0001 ] 本发明涉及网络通信【技术领域】,尤其涉及报文传输方法及装置。
【背景技术】
[0002]随着数据通信与多媒体业务需求的发展,适应移动数据、移动计算及移动多媒体运作需要的第四代移动通信(4G)开始兴起,其使得人们能够通过网络实现各种直播业务,例如,随时随地的视频交流,以及网上观看电影等。在实现直播业务时,用户的客户端设备可以与支持直播业务的服务器之间建立TCP (Transmiss1n Control Protocol,传输控制协议)连接,然后由服务器通过该TCP连接向客户端设备传输直播业务的数据报文。
[0003]在传输数据报文的过程中,当由于网络拥塞或网络不稳定造成数据报文丢失时,TCP重传机制支持服务器向客户端设备重传丢失的数据报文,即当服务器未接收到客户端设备返回的数据报文的应答报文时,服务器会向客户端重传数据报文。但是,当重传的数据报文数量较少时,重传过程仍然需要客户端设备进行等待,由此使得客户端设备上的直播业务产生延迟,严重时可能中断直播业务,导致直播业务的实时性不高。

【发明内容】

[0004]本发明提供报文传输方法及装置,以解决现有TCP重传机制会造成直播业务延迟,导致直播业务的实时性不高的问题。
[0005]根据本发明实施例的第一方面,提供一种报文传输方法,所述方法应用在用于实现直播业务的客户端设备上,所述客户端设备与服务器之间建立用于传输所述直播业务的数据报文的TCP连接,所述方法包括:
[0006]接收所述服务器通过所述TCP连接持续传输的数据报文;
[0007]判断接收的数据报文的丢包率是否小于丢包阈值;
[0008]当小于所述丢包阈值时,根据接收的数据报文直接播放所述直播业务;当不小于所述丢包阈值时,向所述服务器请求重传丢失的数据报文。
[0009]根据本发明实施例的第二方面,提供一种报文传输方法,所述方法应用在用于实现直播业务的服务器上,所述服务器与客户端设备之间建立用于传输所述直播业务的数据报文的TCP连接,所述方法包括:
[0010]判断是否接收到所述客户端设备的重传请求,所述重传请求为所述客户端设备在接收的数据报文的丢包率不小于丢包阈值时发送的请求;
[0011]当未接收到所述重传请求时,通过所述TCP连接向所述客户端设备持续传输数据报文,当接收到所述重传请求时,向所述客户端设备发送重传的数据报文。
[0012]根据本发明实施例的第三方面,提供一种报文传输装置,所述装置应用在用于实现直播业务的客户端设备上,所述装置包括:
[0013] 建立单元,用于在所述客户端设备与服务器之间建立用于传输所述直播业务的数据报文的TCP连接;[0014]接收单元,用于接收所述服务器通过所述TCP连接持续传输的数据报文;
[0015]判断单元,用于判断接收的数据报文的丢包率是否小于丢包阈值;
[0016]执行单元,用于当小于所述丢包阈值时,根据接收的数据报文直接播放所述直播业务;当不小于所述丢包阈值时,向所述服务器请求重传丢失的数据报文。
[0017]根据本发明实施例的第四方面,提供一种报文传输装置,所述装置应用在用于实现直播业务的服务器上,所述装置包括:
[0018]建立单元,用于在所述服务器与客户端设备之间建立用于传输所述直播业务的数据报文的TCP连接;
[0019]判断单元,用于判断是否接收到所述客户端设备的重传请求,所述重传请求为所述客户端设备在接收的数据报文的丢包率不小于丢包阈值时发送的请求;
[0020]执行单元,用于当未接收到所述重传请求时,通过所述TCP连接向所述客户端设备持续传输数据报文,当接收到所述重传请求时,向所述客户端设备发送重传的数据报文。
[0021]本发明实施例中,当客户端设备与服务器之间建立TCP连接后,服务器可以持续向客户端设备传输数据报文,而客户端设备在数据报文的丢包率小于丢包阈值时,无需请求重传数据报文,而是根据接收的数据报文直接播放直播业务,因此使得客户端设备在数据报文丢包较少时,避免了因为请求重传而产生的延迟,从而提高了直播业务的实时性。
【专利附图】

【附图说明】
[0022]图1是应用本发明实施例实现直播业务的应用场景示意图;
[0023]图2是本发明报文传输方法的一个实施例流程图;
[0024]图3是本发明报文传输方法的另一个实施例流程图;
[0025]图4是本发明报文传输方法的另一个实施例流程图;
[0026]图5是本发明报文传输控制装置所在设备的一种硬件结构图;
[0027]图6是本发明报文传输装置的一个实施例框图;
[0028]图7是本发明报文传输装置的另一个实施例框图。
【具体实施方式】
[0029]为了使本【技术领域】的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
[0030]参见图1,为应用本发明实施例实现直播业务的应用场景示意图:
[0031]图1中,服务器作为数据报文发送方,客户端设备作为数据报文接收方,该客户端设备可以具体为手机、PC (Personal Computer,个人计算机)等。其中,客户端设备与服务器之间建立TCP连接后,通过接收服务器传输的数据报文实现直播业务。本发明实施例中,客户端设备可以无需在接收到数据报文时返回应答报文,因此服务器可以持续向客户端设备传输直播业务的数据报文,当客户端设备检测到数据报文的丢包率较小时,可以不请求重传数据报文,而是直接播放直播业务,从而在丢包率较小的情况下,客户端设备上的直播业务不会延迟,以此保证直播业务的实时性。
[0032]参见图2,为本发明报文传输方法的一个实施例流程图,该实施例从客户端设备侧进行描述,包括以下步骤:
[0033]步骤201:客户端设备与服务器之间建立用于传输直播业务的数据报文的TCP连接。
[0034]本实施例中,客户端设备与服务器之间可以采用现有方式完成TCP连接的建立,在此不再赘述。
[0035]步骤202:客户端设备接收服务器通过TCP连接持续传输的数据报文。
[0036]本实施例中,客户端设备可以预先与服务器协商报文传输非应答机制,即客户端设备接收服务器发送的TCP协商报文,该TCP协商报文的TCP选项中可以携带用于指示所述TCP协商报文的第一类型值,以及重传阈值,客户端设备可以根据该重传阈值确定丢包阈值,然后向服务器返回TCP协商应答报文,所述TCP协商应答报文中携带第一类型值,以使服务器根据该第一类型值确定与客户端设备协商成功。
[0037]协商成功后,客户端设备在接收到数据报文后,不再向服务器返回应答报文,而服务器可以在不接收应答报文的情况下,持续向客户端设备传输数据报文。
[0038]步骤203:客户端设备判断接收的数据报文的丢包率是否小于丢包阈值,若是,则执行步骤204 ;否则,执行步骤205。
[0039]本实施例中,客户端设备可以按照预设的传输周期对丢包率进行判断,在每个传输周期开始时,客户端设备接收服务器传输的TCP保活报文,该TCP保活报文的TCP选项中携带用于指示该TCP保活报文的第二类型值,以及该传输周期内首个数据报文的序列号;客户端设备将首个数据报文的序列号作为统计值的初始值,每接收到一个数据报文时,将统计值加一,当所述传输周期到达时,根据统计值获得传输周期内数据报文的实际接收数量,然后根据该传输周期内数据报文的实际接收数量和数据报文的应接收数量统计该传输周期内数据报文的丢包率。
[0040]步骤204:根据接收的数据报文直接播放直播业务,结束当前流程。
[0041]步骤205:向服务器请求重传丢失的数据报文,结束当前流程。
[0042]本实施例中,当客户端设备判断接收的数据报文的丢包率不小于丢包阈值时,说明当前客户端设备侧丢包率较高,因此客户端设备可以向服务器发送TCP重传请求报文,TCP重传请求报文的TCP选项中携带用于指示该TCP重传请求报文的第三类型值,以及请求重传的数据报文的重传序列号,并接收服务器根据重传序列号返回的数据报文。
[0043]由上述实施例可见,当客户端设备与服务器之间建立TCP连接后,服务器可以持续向客户端设备传输数据报文,而客户端设备在数据报文的丢包率小于丢包阈值时,无需请求重传数据报文,而是根据接收的数据报文直接播放直播业务,因此使得客户端设备在数据报文丢包较少时,避免了因为请求重传而产生的延迟,从而提高了直播业务的实时性。
[0044]参见图3,为本发明报文传输方法的另一个实施例流程图,该实施例从服务器侧进行描述,包括以下步骤:
[0045]步骤301:服务器与客户端设备之间建立用于传输直播业务的数据报文的TCP连接。
[0046]步骤302:判断是否接收到客户端设备的重传请求,若是,则执行步骤303 ;否则,执行步骤304。
[0047]所述重传请求为所述客户端设备在接收的数据报文的丢包率不小于丢包阈值时发送的请求
[0048]步骤303:通过TCP连接向客户端设备持续传输数据报文,结束当前流程。
[0049]步骤304:向所述客户端设备发送重传的数据报文,结束当前流程。
[0050]图3所示实施例与前述图2所示实施例的描述一致,其区别仅在于执行主体不同,在此不再赘述。
[0051]由上述实施例可见,当客户端设备与服务器之间建立TCP连接后,服务器可以持续向客户端设备传输数据报文,而客户端设备在数据报文的丢包率小于丢包阈值时,无需请求重传数据报文,而是根据接收的数据报文直接播放直播业务,因此使得客户端设备在数据报文丢包较少时,避免了因为请求重传而产生的延迟,从而提高了直播业务的实时性。
[0052]参见图4,为本发明报文传输方法的另一个实施例流程图,该实施例通过客户端设备与服务器之间的交互,详细描述了本发明实施例的报文传输过程:
[0053]步骤400:服务器与客户端设备之间建立TCP连接。
[0054]本实施例中,客户端设备与服务器之间可以采用现有技术中的三次握手过程完成TCP连接的建立,在此不再赘述。
[0055]步骤401:服务器向客户端设备发送TCP协商报文。 [0056]本实施例中,服务器上可以预先配置一条“TCP NO ACK”命令,即“传输非应答”命令。根据该命令,当客户端设备连接到服务器时,服务器与该客户端设备协商“传输非应答机制”,即客户端设备不向服务器返回数据报文的应答报文,而服务器持续传输数据报文。
[0057]在协商时,服务器首先向客户端设备发送TCP协商报文,该TCP协商报文中的TCP选项中携带用于指示该TCP协商报文的第一类型值和重传阈值。如下表1所示,为一种TCP协商报文中的TCP选项示例:
[0058]表1
[0059]
【权利要求】
1.一种报文传输方法,所述方法应用在用于实现直播业务的客户端设备上,所述客户端设备与服务器之间建立用于传输所述直播业务的数据报文的TCP连接,其特征在于,所述方法包括: 接收所述服务器通过所述TCP连接持续传输的数据报文; 判断接收的数据报文的丢包率是否小于丢包阈值; 当小于所述丢包阈值时,根据接收的数据报文直接播放所述直播业务;当不小于所述丢包阈值时,向所述服务器请求重传丢失的数据报文。
2.根据权利要求1所述的方法,其特征在于,所述接收所述服务器通过所述TCP连接持续传输的数据报文之前,所述方法还包括: 与所述服务器协商报文传输非应答机制,以使所述客户端设备在协商成功后不向所述服务器返回数据报文的应答报文; 所述接收所述服务器通过所述TCP连接持续传输的数据报文包括:接收所述服务器根据所述报文传输非应答机制,通过所述TCP连接向所述客户端设备持续传输的数据报文。
3.根据权利要求2所述的方法,其特征在于,所述与所述服务器协商报文传输非应答机制包括: 接收所述服务器发送的TCP协商报文,所述TCP协商报文的TCP选项中携带用于指示所述TCP协商报文的第一类型值,以及重传阈值; 根据所述重传阈值确定所述丢包阈值; 向所述服务器返回TCP协商应答报文,所述TCP协商应答报文中携带所述第一类型值,以使所述服务器根据所述第一类型值确定与所述客户端设备协商成功。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 在每个传输周期开始时,接收所述服务器传输的TCP保活报文,所述TCP保活报文的TCP选项中携带用于指示所述TCP保活报文的第二类型值,以及所述传输周期内首个数据报文的序列号; 所述判断接收的数据报文的丢包率是否小于丢包阈值包括: 根据所述TCP保活报文获得每个传输周期内接收的数据报文的丢包率; 按照所述传输周期判断丢包率是否小于丢包阈值。
5.根据权利要求4所述的方法,其特征在于,所述根据所述TCP保活报文获得每个传输周期内接收的数据报文的丢包率包括: 在每个传输周期内,将所述首个数据报文的序列号作为统计值的初始值,每接收到一个数据报文时,将所述统计值加一; 当所述传输周期到达时,根据所述统计值获得所述传输周期内数据报文的实际接收数量; 根据所述传输周期内数据报文的实际接收数量和所述数据报文的应接收数量统计所述传输周期内数据报文的丢包率。
6.根据权利要求1至5任一所述的方法,其特征在于,所述向所述服务器请求重传丢失的数据报文包括: 向所述服务器发送TCP重传请求报文,所述TCP重传请求报文的TCP选项中携带用于指示所述TCP重传请求报文的第三类型值,以及请求重传的数据报文的重传序列号;接收所述服务器根据所述重传序列号返回的数据报文。
7.一种报文传输方法,所述方法应用在用于实现直播业务的服务器上,所述服务器与客户端设备之间建立用于传输所述直播业务的数据报文的TCP连接,其特征在于,所述方法包括: 判断是否接收到所述客户端设备的重传请求,所述重传请求为所述客户端设备在接收的数据报文的丢包率不小于丢包阈值时发送的请求; 当未接收到所述重传请求时,通过所述TCP连接向所述客户端设备持续传输数据报文,当接收到所述重传请求时,向所述客户端设备发送重传的数据报文。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括: 与所述客户端设备协商报文传输非应答机制,以使所述客户端设备在协商成功后不向所述服务器返回数据报文的应答报文; 所述通过所述TCP连接向所述客户端设备持续传输数据报文包括:根据所述报文传输非应答机制,通过所述TCP连接向所述客户端设备持续传输数据报文。
9.根据权利要求8所述的方法,其特征在于,所述与所述客户端设备协商报文传输非应答机制包括: 向所述客户端设备发 送TCP协商报文,所述TCP协商报文的TCP选项中携带用于指示所述TCP协商报文的第一类型值,以及重传阈值,以使所述客户端设备根据所述重传阈值确定所述丢包阈值; 当接收到所述客户端设备返回的TCP协商应答报文后,根据所述TCP协商应答报文中携带的所述第一类型值确定与所述客户端设备协商成功。
10.根据权利要求7至9任一所述的方法,其特征在于,所述方法还包括: 在每个传输周期开始时,向所述客户端设备传输TCP保活报文,所述TCP保活报文的TCP选项中携带用于指示所述TCP保活报文的第二类型值,以及所述传输周期内首个数据报文的序列号,以使所述客户端设备根据所述TCP保活报文获得每个传输周期内接收的数据报文的丢包率,并按照所述传输周期判断丢包率是否小于丢包阈值。
11.一种报文传输装置,所述装置应用在用于实现直播业务的客户端设备上,其特征在于,所述装置包括: 建立单元,用于在所述客户端设备与服务器之间建立用于传输所述直播业务的数据报文的TCP连接; 接收单元,用于接收所述服务器通过所述TCP连接持续传输的数据报文; 判断单元,用于判断接收的数据报文的丢包率是否小于丢包阈值; 执行单元,用于当小于所述丢包阈值时,根据接收的数据报文直接播放所述直播业务;当不小于所述丢包阈值时,向所述服务器请求重传丢失的数据报文。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括: 协商单元,用于与所述服务器协商报文传输非应答机制,以使所述客户端设备在协商成功后不向所述服务器返回数据报文的应答报文; 所述接收单元,具体用于接收所述服务器根据所述报文传输非应答机制,通过所述TCP连接向所述客户端设备持续传输的数据报文。
13.根据权利要求12所述的装置,其特征在于,所述协商单元包括:报文接收子单元,用于接收所述服务器发送的TCP协商报文,所述TCP协商报文的TCP选项中携带用于指示所述TCP协商报文的第一类型值,以及重传阈值; 阈值确定子单元,用于根据所述重传阈值确定所述丢包阈值; 报文应答子单元,用于向所述服务器返回TCP协商应答报文,所述TCP协商应答报文中携带所述第一类型值,以使所述服务器根据所述第一类型值确定与所述客户端设备协商成功。
14.根据权利要求11所述的装置,其特征在于, 所述接收单元,还用于在每个传输周期开始时,接收所述服务器传输的TCP保活报文,所述TCP保活报文的TCP选项中携带用于指示所述TCP保活报文的第二类型值,以及所述传输周期内首个数据报文的序列号; 所述判断单元包括: 丢包率获得子单元,用于根据所述TCP保活报文获得每个传输周期内接收的数据报文的丢包率; 丢包阈值判断子单元,用于按照所述传输周期判断丢包率是否小于丢包阈值。
15.根据权利要求14所述的方法,其特征在于,所述丢包率获得子单元包括: 序列号统计模块,用 于在每个传输周期内,将所述首个数据报文的序列号作为统计值的初始值,每接收到一个数据报文时,将所述统计值加一; 报文数量获得模块,用于当所述传输周期到达时,根据所述统计值获得所述传输周期内数据报文的实际接收数量; 丢包率统计模块,用于根据所述传输周期内数据报文的实际接收数量和所述数据报文的应接收数量统计所述传输周期内数据报文的丢包率。
16.根据权利要求11至15任一所述的装置,其特征在于,所述执行单元包括: 重传请求子单元,用于向所述服务器发送TCP重传请求报文,所述TCP重传请求报文的TCP选项中携带用于指示所述TCP重传请求报文的第三类型值,以及请求重传的数据报文的重传序列号; 重传接收子单元,用于接收所述服务器根据所述重传序列号返回的数据报文。
17.一种报文传输装置,其特征在于,所述装置应用在用于实现直播业务的服务器上,所述装置包括: 建立单元,用于在所述服务器与客户端设备之间建立用于传输所述直播业务的数据报文的TCP连接; 判断单元,用于判断是否接收到所述客户端设备的重传请求,所述重传请求为所述客户端设备在接收的数据报文的丢包率不小于丢包阈值时发送的请求; 执行单元,用于当未接收到所述重传请求时,通过所述TCP连接向所述客户端设备持续传输数据报文,当接收到所述重传请求时,向所述客户端设备发送重传的数据报文。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括: 协商单元,用于与所述客户端设备协商报文传输非应答机制,以使所述客户端设备在协商成功后不向所述服务器返回数据报文的应答报文; 所述执行单元,具体用于根据所述报文传输非应答机制,通过所述TCP连接向所述客户端设备持续传输数据报文。
19.根据权利要求18所述的装置,其特征在于,所述协商单元包括: 报文发送子单元,用于向所述客户端设备发送TCP协商报文,所述TCP协商报文的TCP选项中携带用于指示所述TCP协商报文的第一类型值,以及重传阈值,以使所述客户端设备根据所述重传阈值确定所述丢包阈值; 协商确认子单元,用于当接收到所述客户端设备返回的TCP协商应答报文后,根据所述TCP协商应答报文中携带的所述第一类型值确定与所述客户端设备协商成功。
20.根据权利要求17至19任一所述的装置,其特征在于,所述装置还包括: 传输单元,用于在每个传输周期开始时,向所述客户端设备传输TCP保活报文,所述TCP保活报文的TCP选项中携带用于指示所述TCP保活报文的第二类型值,以及所述传输周期内首个数据报文的序列号,以使所述客户端设备根据所述TCP保活报文获得每个传输周期内接收的数据报文的丢包率,并按照所述传输周期判断丢包率是否小于丢包阈值。
【文档编号】H04N21/647GK104038845SQ201410306557
【公开日】2014年9月10日 申请日期:2014年6月30日 优先权日:2014年6月30日
【发明者】徐燕成, 罗潇, 王伟 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1