数据包的传输方法及装置制造方法

文档序号:7780920阅读:223来源:国知局
数据包的传输方法及装置制造方法
【专利摘要】本发明公开了一种数据包的传输方法及装置,属于互联网【技术领域】。所述方法包括:获取至少一个待发送的数据包,并获取RS码冗余度;根据获取到的RS码冗余度确定冗余包的个数;根据冗余包的个数和待发送的数据包的个数,按照RS算法对待发送的数据包进行编码,得到编码后的数据包;将编码后的数据包发送至接收端。本发明通过根据获取到的RS码冗余度确定冗余包的个数,根据冗余包的个数和待发送数据包的个数按RS算法对待发送的数据包进行编码后,将得到的编码后的数据包发送至接收端,使接收端可以在出现丢包时,根据接收到的发送端发送的数据包中的任意数据包即可恢复丢包数据,不仅恢复丢包的延迟较短,且恢复能力较强,使得数据包传输时的可靠性较高。
【专利说明】数据包的传输方法及装置
【技术领域】
[0001]本发明涉及互联网【技术领域】,特别涉及一种数据包的传输方法及装置。
【背景技术】
[0002]随着现在互联网的普及,网络中的数据包越来越多,在不同的网络应用业务中,数据包的传输质量直接影响着用户的对该网络应用的使用体验。其中,数据包在传输的过程中,数据包丢包严重影响着数据包的传输质量。例如,在进行视频数据包的传输时,若在传输过程中出现了视频数据包丢包的情况,则此时视频画面可能会出现花屏或停顿,这严重的影响了用户的视频观看效果。因此,为了解决上述问题,通常需要采取一定数据包传输方法让数据包在传输过程中可靠性更高。
[0003]现有技术中提供了一种数据包的传输方法,在该方法中,发送端获取待发送的数据包,对获取到的数据包进行FEC冗余编码。具体编码时一般可分为N*1模型和N*M模型。其中,N*1模型采用N个视频包编码一个FEC包,接收端收到N个视频包和FEC包即可最多恢复一个丢包;N*M模型将视频包组成矩阵块,每行每列都编码一个FEC包。接收端采用FEC算法进行迭代恢复。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]上述现有技术中,编码的冗余度取决于N,若要冗余低,N需要大,而恢复一个数据包需等N个数据包,导致延迟较长。且由于FEC编码一行或一列仅编码出一个冗余包,因此,同一行或同一列最多丢一个数据包,不能抵抗连续丢包。此外,即使是N*M模型通过迭代恢复达到能抵抗连续丢包,但可能需要N*M个恢复延迟,因此,现有技术提供的数据包的传输方法恢复丢包的延迟较长,恢复能力差。

【发明内容】

[0006]为了解决现有技术的问题,本发明实施例提供了一种数据包的传输方法及装置。所述技术方案如下:
[0007]—方面,提供了一种数据包的传输方法,所述方法包括:
[0008]获取至少一个待发送的数据包,并获取里德所罗门RS码冗余度;
[0009]根据获取到的RS码冗余度确定冗余包的个数;
[0010]根据所述冗余包的个数和所述待发送的数据包的个数,按照RS算法对所述待发送的数据包进行编码,得到编码后的数据包,所述编码后的数据包的数量为所述冗余包的个数和所述待发送的数据包的个数之和;
[0011]将所述编码后的数据包发送至接收端。
[0012]另一方面,提供了一种数据包的传输方法,所述方法包括:
[0013]接收发送端发送的至少一个编码后的数据包;
[0014]将所述编码后的数据包按照RS算法进行解码,得到解码后的数据包;
[0015]其中,所述编码后的数据包由所述发送端在根据获取到的RS码冗余度确定冗余包的个数后,根据待发送的数据包的个数及确定的冗余包的个数,按照所述RS算法对所述待发送的数据包进行编码得到的。
[0016]另一方面,提供了一种数据包的传输装置,所述装置包括:
[0017]获取模块,用于获取至少一个待发送的数据包,并获取里德所罗门RS码冗余度;
[0018]确定模块,用于根据获取到的RS码冗余度确定冗余包的个数;
[0019]编码模块,用于根据所述冗余包的个数和所述待发送的数据包的个数,按照RS算法对所述待发送的数据包进行编码,得到编码后的数据包,所述编码后的数据包的数量为所述冗余包的个数和所述待发送的数据包的个数之和;
[0020]发送模块,用于将所述编码后的数据包发送至接收端。
[0021]又一方面,提供了一种数据包的传输装置,所述装置包括:
[0022]接收模块,用于接收发送端发送的至少一个编码后的数据包;
[0023]解码模块,用于将所述编码后的数据包按照RS算法进行解码,得到解码后的数据包;
[0024]其中,所述编码后的数据包由所述发送端在根据获取到的RS码冗余度确定冗余包的个数后,根据待发送的数据包的个数及确定的冗余包的个数,按照所述RS算法对所述待发送的数据包进行编码得到的。
[0025]本发明实施例提供的技术方案带来的有益效果是:
[0026]通过根据获取到的RS码冗余度确定冗余包的个数,根据冗余包的个数和待发送数据包的个数按RS算法对待发送的数据包进行编码后,将得到的编码后的数据包发送至接收端,使接收端可以在出现丢包时,根据接收到的发送端发送的数据包中的任意数据包即可恢复丢包数据,不仅恢复丢包的延迟较短,且恢复能力较强,使得数据包传输时的可靠性较高。
【专利附图】

【附图说明】
[0027]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028]图I是本发明实施例一提供的一种数据包的传输方法流程图;
[0029]图2是本发明实施例二提供的一种数据包的传输方法流程图;
[0030]图3是本发明实施例三提供的一种数据包的传输方法流程图;
[0031]图4是本发明实施例四提供的一种数据包的传输装置结构示意图;
[0032]图5是本发明实施例五提供的一种数据包的传输装置结构示意图;
[0033]图6是本发明实施例五提供的另一种数据包的传输装置结构示意图。
【具体实施方式】
[0034]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0035]实施例一[0036]由于在不同时刻网络环境是不同的,因此,数据包在通过网络进行传输的过程中,若此时网络环境较差,则可能出现数据包丢包的现象,使得接收端接收到的数据包缺失,从而导致传输的数据包可靠性不高。
[0037]为了预防上述情况,本发明实施例提供了一种数据包的传输方法,该方法可应用于需进行网络传输的设备,该设备包括但不限于终端、服务器等等,本实施例对此不作具体限定。参见图1,以数据包的发送端作为执行主体为例,本实施例提供的方法流程包括:
[0038]101 :获取至少一个待发送的数据包,并获取RS码冗余度;
[0039]其中,获取RS码冗余度,包括但不限于:
[0040]接收接收端发送的冗余度确认信息;
[0041]根据冗余度确认信息确定RS冗余度,并将确定的冗余度作为获取到的RS码冗余度。
[0042]获取RS码冗余度,包括但不限于:
[0043]检索本地存储的RS码冗余度,并将检索到的RS码冗余度作为获取到的RS码冗余度,检索到RS码冗余度为根据之前接收到的接收端发送的冗余度确认信息计算并存储的。
[0044]102 :根据获取到的RS码冗余度确定冗余包的个数;
[0045]103 :根据冗余包的个数和待发送的数据包的个数,按照RS算法对待发送的数据包进行编码,得到编码后的数据包,编码后的数据包的数量为冗余包的个数和待发送的数据包的个数之和;
[0046]104 :将编码后的数据包发送至接收端。
[0047]本实施例提供的方法,通过根据获取到的RS码冗余度确定冗余包的个数,根据冗余包的个数和待发送数据包的个数按RS算法对待发送的数据包进行编码后,将得到的编码后的数据包发送至接收端,使接收端可以在出现丢包时,根据接收到的发送端发送的数据包中的任意数据包即可恢复丢包数据,不仅恢复丢包的延迟较短,且恢复能力较强,使得数据包传输时的可靠性较高。
[0048]实施例二
[0049]本发明实施例提供了一种数据包的传输方法,结合上述实施例一的内容,本实施例以执行主体为接收端为例,对本实施例提供的方法进行举例说明。参见图2,本实施例提供的方法流程包括:
[0050]201 :接收发送端发送的至少一个编码后的数据包;
[0051]其中,由上述实施例一中发送端发送数据包的过程可知,编码后的数据包由发送端在根据获取到的RS码冗余度确定冗余包的个数后,根据待发送的数据包的个数及确定的冗余包的个数,按照RS算法对待发送的数据包进行编码得到。
[0052]可选地,为了使发送端能够根据具体的丢包情况对待发送的数据包进行编码,本实施例提供的方法中,接收端在接收发送端发送的至少一个编码后的数据包之前,还包括:
[0053]根据之前接收到的编码后的数据包确定冗余度确认信息;
[0054]将确定的冗余度确认信息发送至发送端,使发送端根据冗余度确认信息获取RS码冗余度。
[0055]202 :将编码后的数据包按照RS算法进行解码,得到解码后的数据包。[0056]本实施例提供的方法,由于接收到的数据包是发送端根据获取到的RS码冗余度确定冗余包的个数,根据冗余包的个数和待发送数据包的个数按RS算法对待发送的数据包进行编码得到,因此,若数据包在传输过程中出现了丢包的现象,根据接收到的发送端发送的数据包中的任意数据包即可恢复丢包数据,不仅恢复丢包的延迟较短,且恢复能力较强,使得数据包传输时的可靠性较高。
[0057]实施例三
[0058]本发明实施例提供了一种数据包的传输方法,结合上述实施例一及实施例二的内容,对本实施例提供的方法进行举例说明。参见图3,本实施例提供的方法流程包括:
[0059]301:发送端获取至少一个待发送的数据包;
[0060]具体地,本实施例不对获取至少一个待发送的数据包的方式作具体限定,包括但不限于发送端根据自身业务逻辑组织数据包中的数据,同时根据实际情况确定待发送的数据包的个数,从而确定待发送的数据包,并将确定的待发送的数据包作为获取到的数据包。
[0061]进一步地,该步骤中发送端获取到的待发送的数据包为本次即将发送的数据包,由于发送端发送数据包至接收端时,每次发送的数据包的个数会对接收端获取数据包的内容及数据包的传输产生一定的影响,因此,在操作过程中需要根据实际情况来确定每次发送的待发送的数据包的个数,进而确定发送端获取到的待发送的数据包的个数。
[0062]例如,发送端在确定每次发送的待发送的数据包的个数时,待发送的数据包的个数越少,则接收端在获取数据包的内容时,需要等待的时间越短,即获取数据包的内容越快。但如果发送端确定每次发送的待发送的数据包的个数过少,在发送相同数量的数据包情形下,会增加发送数据包的次数,从而使得发送数据包时消耗的资源较多。例如,发送端需要向接收端发送100个数据包,如果每次获取到的待发送的数据包为10个,即发送端每次向接收端发送10个数据包,则发送端需要向接收端发送数据包的次数为10次;如果每次获取到的待发送的数据包为50个,即发送端每次向接收端发送50个数据包,则发送端需要向接收端发送数据包的次数为2次。
[0063]因此,结合上述两点,为了在数据包传输过程中取得最佳效果,需要根据实际情况确定待发送数据包的个数,进而确定发送端获取到的待发送数据包的个数。
[0064]如当传输的数据包为视频数据包时,在该情形下,接收端可能要求视频数据包传输质量高,或者传输延迟小,则此时可以将每组待发送数据包设置为较少的个数,以保证接收端能够及时获取每个数据包中的内容。反之,若接收端没有类似的具体要求,为了节省网络带宽,则此时可以将每组待发送数据包设置为较多的个数,本实施例不对确定的待发送数据包的个数作具体限定。
[0065]302:获取RS码冗余度;
[0066]具体地,本实施例不对获取RS码冗余度的方式作具体限定,包括但不限于如下三种方式:
[0067]第一种方式:接收接收端发送的冗余度确认信息;根据冗余度确认信息确定RS冗余度,并将确定的冗余度作为获取到的RS码冗余度。
[0068]其中,冗余度确认信息包括但不限于丢包率及每种丢包种类下的丢包总数占总丢包数的百分比等。当然,冗余度确认信息还可以为其它信息,本实施例对此不作具体限定。RS码冗余度可以为一个百分比数,可按照冗余包个数/原始数据包个数*100%的计算方式来计算,当然冗余度还可以表示其它含义,并采用对应的方式进行计算,本实施例对此也不作具体限定。发送端在接收到接收端发送的冗余度确认信息之前,冗余度确认信息可以按照预先设置的协议以数据包的方式进行传输,本实施例对此也不作具体限定。无论接收端向发送端发送哪种冗余度确认信息,发送端根据冗余度确认信息确定RS冗余度时,具体实现方式包括但不限于:发送端根据接收到的冗余度确认信息查询发送端预先存储的网络丢包模型确定RS冗余度。
[0069]该发送端预先存储的网络丢包模型包括但不限于如下三种中的任意一种:
[0070]第一种网络丢包模型:丢包率与冗余度之间的对应关系,例如,以如下表1所示为例;以及丢包率与每种丢包种类下的丢包总数占总丢包数的百分比之间的对应关系,以如下表2所示为例。
[0071]表1
[0072]
【权利要求】
1.一种数据包的传输方法,其特征在于,所述方法包括: 获取至少一个待发送的数据包,并获取里德所罗门RS码冗余度; 根据获取到的RS码冗余度确定冗余包的个数; 根据所述冗余包的个数和所述待发送的数据包的个数,按照RS算法对所述待发送的数据包进行编码,得到编码后的数据包,所述编码后的数据包的数量为所述冗余包的个数和所述待发送的数据包的个数之和; 将所述编码后的数据包发送至接收端。
2.根据权利要求1所述的方法,其特征在于,所述获取里德所罗门RS码冗余度,包括: 接收所述接收端发送的冗余度确认信息; 根据所述冗余度确认信息确定所述RS冗余度,并将确定的冗余度作为获取到的RS码冗余度。
3.根据权利要求1所述的方法,其特征在于,所述获取里德所罗门RS码冗余度,包括: 检索本地存储的RS码冗余度,并将检索到的RS码冗余度作为获取到的RS码冗余度,所述检索到RS码冗余度为根据之前接收到的所述接收端发送的冗余度确认信息计算并存储的。
4.一种数据包的传输方法,其特征在于,所述方法包括: 接收发送端发送的至少一个编码后的数据包; 将所述编码后的数据包按照RS算法进行解码,得到解码后的数据包; 其中,所述编码后的数据包由所述发送端在根据获取到的RS码冗余度确定冗余包的个数后,根据待发送的数据包的个数及确定的冗余包的个数,按照所述RS算法对所述待发送的数据包进行编码得到的。
5.根据权利要求4所述的方法,其特征在于,所述接收发送端发送的至少一个编码后的数据包之前,还包括: 根据之前接收到的编码后的数据包确定冗余度确认信息; 将确定的冗余度确认信息发送至发送端,使所述发送端根据所述冗余度确认信息获取RS码冗余度。
6.一种数据包的传输装置,其特征在于,所述装置包括: 获取模块,用于获取至少一个待发送的数据包,并获取里德所罗门RS码冗余度; 确定模块,用于根据获取到的RS码冗余度确定冗余包的个数; 编码模块,用于根据所述冗余包的个数和所述待发送的数据包的个数,按照RS算法对所述待发送的数据包进行编码,得到编码后的数据包,所述编码后的数据包的数量为所述冗余包的个数和所述待发送的数据包的个数之和; 发送模块,用于将所述编码后的数据包发送至接收端。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,用于接收所述接收端发送的冗余度确认信息;根据所述冗余度确认信息确定所述RS冗余度,并将确定的冗余度作为获取到的RS码冗余度。
8.根据权利要求6所述的装置,其特征在于,所述获取模块,用于检索本地存储的RS码冗余度,并将检索到的RS码冗余度作为获取到的RS码冗余度,所述检索到RS码冗余度为根据之前接收到的所述接收端发 送的冗余度确认信息计算并存储的。
9.一种数据包的传输装置,其特征在于,所述装置包括: 接收模块,用于接收发送端发送的至少一个编码后的数据包; 解码模块,用于将所述编码后的数据包按照RS算法进行解码,得到解码后的数据包;其中,所述编码后的数据包由所述发送端在根据获取到的RS码冗余度确定冗余包的个数后,根据待发送的数据包的个数及确定的冗余包的个数,按照所述RS算法对所述待发送的数据包进行编码得到的。
10.根据权利要求9所述的装置,其特征在于,所述传输装置,还包括: 确定模块,用于根据之前接收到的编码后的数据包确定冗余度确认信息; 发送模块,用于将确定的冗余度确认信息发送至发送端,使所述发送端根据所述冗余度确认信息获取RS码冗余度。
【文档编号】H04N21/238GK103716718SQ201310695349
【公开日】2014年4月9日 申请日期:2013年12月16日 优先权日:2013年12月16日
【发明者】成家雄, 胡建强, 刘丽, 张帆, 马跃, 宋思超 申请人:广州华多网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1