一种重复数据包检测方法及装置制造方法及图纸

技术编号:22104765 阅读:42 留言:0更新日期:2019-09-14 04:21
本申请公开了一种重复数据包检测方法及装置,其中,方法包括:在接收到任意一个RTP数据包的情况下,计算该RTP数据包的序列号与基准序列号的差值,基准序列号为预设的基准RTP数据包的序列号;依据差值和基准RTP数据包在预设的位图中对应的比特位,确定该RTP数据包在位图中对应的比特位;如果该RTP数据包在位图中对应的比特位为第一数值,则确定该RTP数据包为重复数据包,第一数值用于表示已接收过该RTP数据包。通过本申请,可以实现以较低的时间复杂度和空间复杂度检测重复RTP数据包。

A Method and Device for Detecting Duplicate Packets

【技术实现步骤摘要】
一种重复数据包检测方法及装置
本申请涉及电子信息领域,尤其涉及一种重复数据包检测方法及装置。
技术介绍
实时传输协议(Real-timeTransportProtocol,RTP)主要用于视音频等多媒体流的传输,尤其是RTPOverDUP技术在视频直播、视频监控、网络教育、即时通信等领域应用广泛。但RTPOverDUP技术为不可靠传输方式,即使用RTPOverDUP技术传输RTP数据包的情况下,接收端会接收到重复的RTP数据包。现有的检测或去除重复RTP数据包的方式,时间复杂度高或者空间复杂度高(即占用内存大),因此,如何以较低的时间复杂度和空间复杂度检测重复RTP数据包成为目前亟待解决的问题。
技术实现思路
本申请提供了一种重复数据包检测方法及装置,目的在于解决如何以较低的时间复杂度和空间复杂度检测重复RTP包的问题。为了实现上述目的,本申请提供了以下技术方案:一种重复数据包检测方法,包括:在接收到任意一个RTP数据包的情况下,计算该RTP数据包的序列号与基准序列号的差值,所述基准序列号为预设的基准RTP数据包的序列号,所述基准RTP数据包为已接收到的任意一个RTP数据包;依据所述差值和所述基准RTP数据包在预设的位图中对应的比特位,确定该RTP数据包在所述位图中对应的比特位;如果该RTP数据包在所述位图中对应的比特位为第一数值,则确定该RTP数据包为重复数据包,所述第一数值用于表示已接收过该RTP数据包。可选的,还包括:如果该RTP数据包在所述位图中对应的比特位为第二数值,则将该RTP数据包在所述位图中对应的比特位的数值更改为所述第一数值,所述第二数值用于表示未接收到该RTP数据包。可选的,设置所述预设的位图的过程包括:生成长度为m/8的位图,其中,m为所述任意一个RTP数据包和所述基准RTP数据包构成的数据包序列的长度;将所述位图中的任意一个比特位的初始值设置为所述第二数值。可选的,设置所述预设的位图的过程还包括:建立所述基准RTP数据包与所述位图中的第n/2个比特位的对应关系,其中n为所述位图的长度。可选的,所述依据所述差值和所述基准RTP数据包在预设的位图中对应的比特位,确定该RTP数据包在所述位图中对应的比特位包括:如果所述差值为负值,且所述差值的绝对值小于n/2,则该RTP数据包在所述位图中对应的比特位为n/2-abs(diff);如果所述差值为正值,且所述差值的绝对值小于n/2,则该RTP数据包在所述位图中对应的比特位为n/2+abs(diff);其中,abs()表示绝对值,diff表示所述差值。可选的,所述依据所述差值和所述基准RTP数据包在预设的位图中对应的比特位,确定该RTP数据包在所述位图中对应的比特位,还包括:如果所述差值为正值,且所述差值的绝对值不小于n/2,将该RTP数据包的序列号更新为所述基准序列号;将所述位图左移n-diff位;建立该RTP数据包与左移后的位图的第n/2个比特位的对应关系,以将所述左移后的位图的第n/2个比特位,作为所述基准RTP数据包在预设的位图中对应的比特位。可选的,在所述建立该RTP数据包与左移后的位图的第n/2个比特位的对应关系之后,还包括:将所述左移后的位图的第n/2个比特位设置为所述第一数值。一种重复数据包检测装置,包括:计算模块,用于在接收到任意一个RTP数据包的情况下,计算该RTP数据包的序列号与基准序列号的差值,所述基准序列号为预设的基准RTP数据包的序列号,所述基准RTP数据包为已接收到的任意一个RTP数据包;第一确定模块,用于依据所述差值和所述基准RTP数据包在预设的位图中对应的比特位,确定该RTP数据包在所述位图中对应的比特位;第二确定模块,用于如果该RTP数据包在所述位图中对应的比特位为第一数值,则确定该RTP数据包为重复数据包,所述第一数值用于表示已接收过该RTP数据包。可选的,还包括:更改模块,用于如果该RTP数据包在所述位图中对应的比特位为第二数值,则将该RTP数据包在所述位图中对应的比特位的数值更改为所述第一数值,所述第二数值用于表示未接收到该RTP数据包。可选的,还包括:位图设置模块,用于设置所述预设的位图;所述位图设置模块具体用于,生成长度为m/8的位图,其中,m为所述任意一个RTP数据包和所述基准RTP数据包构成的数据包序列的长度;将所述位图中的任意一个比特位的初始值设置为所述第二数值。可选的,所述位图设置模块还用于:建立所述基准RTP数据包与所述位图中的第n/2个比特位的对应关系,其中n为所述位图的长度。可选的,所述第一确定模块用于依据所述差值和所述基准RTP数据包在预设的位图中对应的比特位,确定该RTP数据包在所述位图中对应的比特位,包括:所述第一确定模块具体用于:如果所述差值为负值,且所述差值的绝对值小于n/2,则该RTP数据包在所述位图中对应的比特位为n/2-abs(diff);如果所述差值为正值,且所述差值的绝对值小于n/2,则该RTP数据包在所述位图中对应的比特位为n/2+abs(diff);其中,abs()表示绝对值,diff表示所述差值。可选的,所述第一确定模块还用于:如果所述差值为正值,且所述差值的绝对值不小于n/2,将该RTP数据包的序列号更新为所述基准序列号;将所述位图左移n-diff位;建立该RTP数据包与左移后的位图的第n/2个比特位的对应关系,以将所述左移后的位图的第n/2个比特位,作为所述基准RTP数据包在预设的位图中对应的比特位。可选的,所述第一确定模块还用于:在所述建立该RTP数据包与左移后的位图的第n/2个比特位的对应关系之后,将所述左移后的位图的第n/2个比特位设置为所述第一数值。本申请所述的方法及装置,在接收到任意一个RTP数据包的情况下,计算该RTP数据包的序列号与基准序列号的差值,所述基准序列号为预设的基准RTP数据包的序列号;依据所述差值和所述基准RTP数据包在预设的位图中对应的比特位,确定该RTP数据包在所述位图中对应的比特位;如果该RTP数据包在所述位图中对应的比特位为第一数值,则确定该RTP数据包为重复数据包。由于使用位图中的比特位标识RTP数据包是否被接收过,因此,在接收到一个RTP数据包的情况下,只需查询该RTP数据包对应的比特位的数值,即可确定该RTP数据包是否为重复接收的数据包。从时间复杂度方面分析,只需查询一个比特位的数值,而无需遍历所有的比特位,因此,与现有的遍历所有链表的方式相比,时间复杂度较低。从空间复杂度方面分析,比特位的数值标识RTP数据包是否被接收过,而无需遍历RTP数据包,因此,无需将RTP数据包读入内存,因此,能够降低内存使用量,空间复杂度极低。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例公开的重复数据包检测方法及装置的应用场景示例图;图2为本申请实施例公开的一种重复数据包检测方法的流程图;图3为本申请实施例公开的又一种重复数据包检测方法的流程图;图4(a)为本申请实施例生成的位图的示意图;图本文档来自技高网...

【技术保护点】
1.一种重复数据包检测方法,其特征在于,包括:在接收到任意一个RTP数据包的情况下,计算该RTP数据包的序列号与基准序列号的差值,所述基准序列号为预设的基准RTP数据包的序列号,所述基准RTP数据包为已接收到的任意一个RTP数据包;依据所述差值和所述基准RTP数据包在预设的位图中对应的比特位,确定该RTP数据包在所述位图中对应的比特位;如果该RTP数据包在所述位图中对应的比特位为第一数值,则确定该RTP数据包为重复数据包,所述第一数值用于表示已接收过该RTP数据包。

【技术特征摘要】
1.一种重复数据包检测方法,其特征在于,包括:在接收到任意一个RTP数据包的情况下,计算该RTP数据包的序列号与基准序列号的差值,所述基准序列号为预设的基准RTP数据包的序列号,所述基准RTP数据包为已接收到的任意一个RTP数据包;依据所述差值和所述基准RTP数据包在预设的位图中对应的比特位,确定该RTP数据包在所述位图中对应的比特位;如果该RTP数据包在所述位图中对应的比特位为第一数值,则确定该RTP数据包为重复数据包,所述第一数值用于表示已接收过该RTP数据包。2.根据权利要求1所述的方法,其特征在于,还包括:如果该RTP数据包在所述位图中对应的比特位为第二数值,则将该RTP数据包在所述位图中对应的比特位的数值更改为所述第一数值,所述第二数值用于表示未接收到该RTP数据包。3.根据权利要求2所述的方法,其特征在于,设置所述预设的位图的过程包括:生成长度为m/8的位图,其中,m为所述任意一个RTP数据包和所述基准RTP数据包构成的数据包序列的长度;将所述位图中的任意一个比特位的初始值设置为所述第二数值。4.根据权利要求3所述的方法,其特征在于,设置所述预设的位图的过程还包括:建立所述基准RTP数据包与所述位图中的第n/2个比特位的对应关系,其中n为所述位图的长度。5.根据权利要求4所述的方法,其特征在于,所述依据所述差值和所述基准RTP数据包在预设的位图中对应的比特位,确定该RTP数据包在所述位图中对应的比特位包括:如果所述差值为负值,且所述差值的绝对值小于n/2,则该RTP数据包在所述位图中对应的比特位为n/2-abs(diff);如果所述差值为正值,且所述差值的绝对值小于n/2,则该RTP数据包在所述位图中对应的比特位为n/2+abs(diff);其中,abs()表示绝对值,diff表示所述差值。6.根据权利要求5所述的方法,其特征在于,所述依据所述差值和所述基准RTP数据包在预设的位图中对应的比特位,确定该RTP数据包在所述位图中对应的比特位,还包括:如果所述差值为正值,且所述差值的绝对值不小于n/2,将该RTP数据包的序列号更新为所述基准序列号;将所述位图左移n-diff位;建立该RTP数据包与左移后的位图的第n/2个比特位的对应关系,以将所述左移后的位图的第n/2个比特位,作为所述基准RTP数据包在预设的位图中对应的比特位。7.根据权利要求6所示的方法,其特征在于,在所述建立该RTP数据包与左移后的位图的第n/2个比特位的对应关系之后,还包括:将所述左移后的位图的第n/2个比特位设置为所述第一数值。8.一种重复数据包检测装置,其特征在于,...

【专利技术属性】
技术研发人员:李小君
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1