【技术实现步骤摘要】
一种通信方法和设备
[0001]本申请涉及通信
,尤其涉及一种通信方法和设备。
技术介绍
[0002]通信协议中一般都存在一个传输层,提供端到端的通信能力。目前,传输层协议可以包含可靠性传输协议和可靠性没有保证的传输层协议。例如,传输控制协议(transmission control protocol,TCP)是可靠性传输协议,当丢失数据包、数据包乱序时,TCP协议可以通过证实、重传、缓存排序、滑窗控制等技术保障数据包可以完整、有序的送达至应用层。用户数据报协议(user datagram protocol,UDP)是可靠性没有保证的传输层协议,当丢失数据包、数据包乱序时,UDP协议不做任何保障处理,只是简单的将数据包发送至应用层。
[0003]其中,可靠性传输协议可以使得数据包能够完整、有序的送达至应用层。但可靠性的保障处理增大了传输时延。例如,在用户使用播放视频业务时,可靠性的保障处理可能会导致用户出现视频卡顿的现象。然而,不可靠传输层协议由于不做任何保障处理,因此可以减少传输时延。但是,可能会影响数据的完整性。例如,在用户使用播放视频业务时,不做任何保障处理可能会造成播放的视频出现马赛克或者听不到声音等现象。
技术实现思路
[0004]本申请实施例提供一种通信方法和设备,用来同时支持可靠数据与不可靠数据传输。
[0005]第一方面,本申请实施例提供一种通信方法,该方法可以由本申请实施例提供的第一设备执行。其中,第一设备可以是终端设备或者服务器。该方法中,第一设备可以发送第一 ...
【技术保护点】
【技术特征摘要】
1.一种通信方法,其特征在于,包括:第一设备发送第一数据;所述第一数据包括多个报文包,每个所述报文包包含第一序号和第二序号;所述第一序号是可靠传输数据的编号,所述第二序号是非可靠传输数据的编号。2.根据权利要求1所述的方法,其特征在于,每个所述报文包包含指示信息,所述指示信息用于指示所述报文包中的数据是可靠传输数据,或者用于指示所述报文包中的数据是非可靠传输数据。3.根据权利要求1或2所述的方法,其特征在于:若所述第一数据包括的所述多个报文包中的数据是可靠传输数据,则所述多个报文包中的第一序号的取值递增,且所述第二序号不变;若所述第一数据包括的所述多个报文包是非可靠传输数据,则所述多个报文包第一序号不变,且所述多个报文包中的第二序号递增。4.根据权利要求1
‑
3任一所述的方法,其特征在于,还包括:所述第一设备接收来自第二设备的多个确认消息;所述每个确认消息包含所述与每个第一序号对应的不同的第一确认序号。5.根据权利要求1
‑
4任一所述的方法,其特征在于,所述报文包是可靠传输数据,所述第一设备发送第一数据,包括:所述第一设备将所述报文包发送至缓冲区;所述第一设备按照所述缓冲区内报文包的第一序号的顺序对所述缓冲区内的报文包进行发送;在所述第一设备接收到所述确认消息时,所述第一设备释放所述缓冲区中的所述第一确认序号所对应的所述报文包;在所述第一设备未接收到所述和所述报文包对应的确认消息,且所述第一数据满足预设的重传条件时,所述第一设备重传所述缓冲区中的所述报文包。6.根据权利要求1
‑
5任一所述的方法,其特征在于,所述报文包是非可靠传输数据,所述第一设备发送第一数据,包括:所述第一设备将所述报文包发送至缓冲区,所述第一设备按照所述缓冲区内报文包的第一序号的顺序对所述缓冲区内的报文包进行发送;所述第一设备释放所述缓冲区中的所述报文包。7.一种通信方法,其特征在于,包括:第二设备接收第一数据;所述第一数据包括多个报文包,每个所述报文包包含第一序号和第二序号;所述第一序号是可靠传输数据的编号,所述第二序号是非可靠传输数据的编号;所述第二设备将所述报文包发送给应用层。8.根据权利要求7所述的方法,其特征在于,每个所述报文包包含指示信息,所述指示信息用于指示所述报文包中的数据是可靠传输数据,或者用于指示所述报文包中的数据是非可靠传输数据。9.根据权利要求7或8所述的方法,其特征在于,所述第二设备将所述报文包发送给应用层,包括:所述第二设备将所述报文包的第一序号与记录的第一序号进行比较;
若所述报文包的第一序号与所述记录的第一序号连续,且所述报文包为可靠传输数据,则所述第二设备将所述报文包发送给所述应用层;所述第二设备将所述记录的第一序号刷新为所述报文包的第一序号;所述第二设备判断接收缓冲区中是否存在第一报文序列;所述接收缓冲区用于存储所述报文包;若所述第一报文序列中包含的报文包的第一序号与所述记录的第一序号相同,则所述第一报文序列为非可靠传输数据序列,在所述非可靠传输数据序列中包含多个报文包时,所述多个报文包的第一序号是相同的;若所述第一报文序列中包含的报文包的第一序号与所述记录的第一序号连续,则所述第一报文序列为可靠传输数据序列,在所述可靠传输数据序列中包含多个报文包时,所述多个报文包的第一序号是连续的且所述多个报文包的第二序号是相同的;若存在,所述第二设备将所述第一报文序列发送给所述应用层;若所述第一报文序列为可靠传输数据序列,所述第二设备将所述记录的第一序号刷新为所述第一报文序列中最后一个第一报文包的第一序号;所述第二设备返回执行判断所述接收缓冲区中是否存在第一报文序列的步骤,直至所述接收缓冲区不存在所述第一报文序列,所述第二设备返回执行所述接收所述第一数据的步骤;若不存在,所述第二设备返回执行接收所述第一数据的步骤。10.根据权利要求9所述的方法,其特征在于,还包括:若所述报文包的第一序号与所述记录的第一序号不连续,且所述报文包为可靠传输数据,则所述第二设备将所述报文包发送至所述接收缓冲区,所述第二设备返回执行所述接收所述第一数据的步骤。11.根据权利要求7
‑
10任一所述的方法,其特征在于,所述第二设备将所述报文包发送给应用层,包括:所述第二设备将所述报文包的第一序号与记录的第一序号进行比较;若所述报文包的第一序号与所述记录的第一序号是相同的,且所述报文包为非可靠传输数据,则所述第二设备将所述报文包发送给应用层,所述第二设备返回执行所述接收所述第一数据的步骤。12.根据权利要求9
‑
11任一所述的方法,其特征在于,所述第二设备将所述报文包发送给应用层,包括:所述第二设备将所述报文包的第一序号与记录的第一序号进行比较;若所述报文包的第一序号与所述记录的第一序号是不同的,且所述报文包为非可靠传输数据,则所述第二设备将所述报文包发送至所述接收缓冲区,所述第二设备返回执行所述接收所述第一数据的步骤。13.根据权利要求7
‑
10任一所述的方法,其特征在于,所述第二设备将所述报文包发送给应用层,包括:若所述报文包为非可靠传输数据,则所述第二设备将所述报文包发送给所述应用层。14.根据权利要求9所述的方法,其特征在于,还包括:若所述报文包的第一序号与所述记录的第一序号不连续,且所述报文包为可靠传输数据,或者所述报文包的第一序号与所述记录的第一序号不相同,且所述报文包为非可靠传
输数据,则所述第二设备将所述报文包发送至所述接收缓冲区;所述第二设备判断所述接收缓冲区中是否存在第二报文序列,所述第二报文序列包含至少一个可靠传输数据;其中,所述第二报文序列之前是第一序号与所述第二报文序列中第一个报文包的第一序号连续的报文包,所述第二报文序列之后是第一序号与所述第二报文序列中最后一个报文包的第一序号相同的非可靠传输数据;或者,所述第二报文序列之前是第一序号与所述第二报文序列中第一个报文包的第一序号连续的报文包,所述第二报文序列之后是第一序号与所述第二报文序列中最后一个报文包的第一序号连续的可靠传输数据;在所述第二报文序列中包含多个可靠传输数据时,所述多个可靠传输数据的第一序号是连续的且所述多个可靠传输数据的第二序号是相同的;若存在,所述第二设备将所述第二数据序列发送给所述应用层;所述第二设备将所述记录的第一序号刷新为所述第二报文序列中最后一个报文包的第一序号,所述第二设备返回执行所述判断所述接收缓冲区中是否存在所述第报文序列的步骤,直至所述接收缓冲区不存在所述第一报文序列,所述第二设备返回执行所述接收所述第一数据的步骤;若不存在,所述第二设备返回执行接收所述第一数据的步骤。15.根据权利要求14所述的方法,其特征在于,还包括:所述第二设备将所述第二报文序列之前的非可靠传输数据和可靠传输数据发送给所述应用层。16.一种第一设备,其特征在于,包括:处理单元和收发单元;所述处理单元,用于通过所述收发单元发送第一数据,所述第一数据包括多个报文包,每个所述报文包包含第一序号和第二序号;所述第一序号是可靠传输数据的编号,所述第二序号是非可靠传输数据的编号。17.根据权利要求16所述的设备,其特征在于,每个所述报文包包含指示信息,所...
【专利技术属性】
技术研发人员:林霖,杨军,张冠华,谢俊,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。