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

文档序号:8398159阅读:292来源:国知局
传输数据报文的方法及装置的制造方法
【技术领域】
[0001]本发明涉及网络技术领域,特别是涉及一种传输数据报文的方法及装置。
【背景技术】
[0002]现有的网络技术中,通常采用UDP (User Datagram Protocol,用户数据报协议)协议传输音视频的数据报文。UDP协议是一种无连接的协议,实时性比TCP (Transmiss1nControl Protocol,传输控制协议)协议要高,但传统技术中基于UDP协议的数据报文传输方式无法确保数据报文到达目的地址,从而造成丢包率较高。

【发明内容】

[0003]基于此,有必要提供一种能够降低丢包率的传输数据报文的方法,以解决传统技术中传输UDP报文丢包率较高的问题。
[0004]一种传输数据报文的方法,包括:
[0005]第一服务器获取UDP报文,生成唯一不重复的标识号;
[0006]第一服务器通过在所述UDP报文中加入所述唯一不重复的标识号生成第一类UDP报文,生成所述第一类UDP报文的拷贝,并将所述第一类UDP报文及其拷贝一并发送给第二服务器;
[0007]所述第二服务器接收UDP报文,并从中取出标识号,判断缓存中是否已存在该标识号,若是,则将该UDP报文丢弃;否则,在缓存中存储该取出的标识号,且判定该UDP报文接收成功。
[0008]此外,还提供了一种能够降低丢包率的传输数据报文的系统,以解决传统技术中传输UDP报文丢包率较高的问题。
[0009]—种传输数据报文的系统,包括第一服务器和第二服务器,所述第一服务器用于获取UDP报文,生成唯一不重复的标识号;通过在所述UDP报文中加入所述唯一不重复的标识号生成第一类UDP报文,生成所述第一类UDP报文的拷贝,并将加入了所述第一类UDP报文及其拷贝一并发送给第二服务器;
[0010]所述第二服务器用于接收UDP报文,并从中取出标识号,判断缓存中是否已存在该标识号,若是,则将该UDP报文丢弃;否则,在缓存中存储该取出的标识号,且判定该UDP报文接收成功。
[0011]此外,还提供了一种能够降低丢包率的发送数据报文的方法。
[0012]一种发送数据报文的方法,包括:
[0013]获取UDP报文,生成唯一不重复的标识号;
[0014]通过在所述UDP报文中加入所述唯一不重复的标识号生成第一类UDP报文,生成所述第一类UDP报文的拷贝;
[0015]一并发送所述第一类UDP报文及其拷贝。
[0016]此外,还提供了一种能够降低丢包率的发送数据报文的装置。
[0017]一种发送数据报文的装置,包括:
[0018]标识号生成模块,用于获取UDP报文,生成唯一不重复的标识号;
[0019]数据报文拷贝模块,用于通过在所述UDP报文中加入所述唯一不重复的标识号生成第一类UDP报文,生成所述第一类UDP报文的拷贝;
[0020]数据报文发送模块,用于一并发送所述第一类UDP报文及其拷贝。
[0021 ] 此外,还提供了一种能够降低丢包率的接收数据报文的方法
[0022]一种接收数据报文的方法,包括:
[0023]接收UDP报文,并从中取出标识号;
[0024]判断缓存中是否已存在该标识号,若是,则将该UDP报文丢弃;
[0025]否则,在缓存中存储该取出的标识号,且判定该UDP报文接收成功。
[0026]此外,还提供了一种能够降低丢包率的接收数据报文的装置。
[0027]一种接收数据报文的装置,包括:
[0028]标识号提取模块,用于接收UDP报文,并从中取出标识号;
[0029]数据收拢模块,用于判断缓存中是否已存在该标识号,若是,则将该UDP报文丢弃;否则,在缓存中存储该取出的标识号,且判定该UDP报文接收成功。
[0030]上述传输数据报文的方法及系统中,第一服务器在将同一个UDP报文发送给第二服务器时,先在UDP报文中加入标识号区分每个UDP包,然后将UDP报文拷贝成多份发送。若丢包率为60% (即发送100个UDP报文时有60个UDP报文会在传输过程中遗失),拷贝后得到的具有相同标识号的UDP报文的份数为2,则该标识号对应的UDP包在传输中遗失的概率即为60%的平方,即36% (即两份UDP报文全部遗失的概率);若拷贝后得到的具有相同标识号的UDP报文的份数为n,则该标识号对应的UDP包在传输中遗失的概率即为60%的η次方,由于丢包率为小于I的值,因此实际丢包率较低。
【附图说明】
[0031]图1为一个实施例中传输数据报文的方法的流程图;
[0032]图2为一个实施例中传输数据报文的系统的结构示意图;
[0033]图3为一个实施例中UDP报文的数据结构示意图;
[0034]图4为一个实施例中传输数据报文的系统交互过程的时序图;
[0035]图5为一个实施例中第二服务器接收多个第一服务器的UDP报文的过程示意图;
[0036]图6为一个实施例中UDP报文的数据结构示意图;
[0037]图7为一个实施例中发送数据报文的方法的流程图;
[0038]图8为一个实施例中发送数据报文的装置的结构示意图;
[0039]图9为一个实施例中接收数据报文的方法的流程图;
[0040]图10为一个实施例中接收数据报文的装置的结构示意图;
[0041]图11为一个实施例中执行发送数据报文的方法或接收数据报文的方法的服务器硬件环境示意图。
【具体实施方式】
[0042]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0043]除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组口 ο
[0044]可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一服务器称为第二服务器,且类似地,可将第二服务器称为第一服务器。第一服务器和第二服务器两者都是服务器,但其不是同一服务器。
[0045]在一个实施例中,如图1和图2所示,一种传输数据报文的方法,该方法可运行于基于图2的通信系统上,该通信系统包括第一服务器10和第二服务器20,第一服务器10和第二服务器20皆可为广域网上的计算机设备或网关设备,且第一服务器10和第二服务器20之间数据传输协议为UDP协议。
[0046]该方法包括:
[0047]步骤S102,第一服务器获取UDP报文,生成唯一不重复的标识号。
[0048]步骤S104,第一服务器通过在所述UDP报文中加入所述唯一不重复的标识号生成第一类UDP报文,生成所述第一类UDP报文的拷贝,并将第一类UDP报文及其拷贝一并发送给第二服务器。
[0049]在本实施例中,如图3所示,第一服务器在UDP报文的正文部分中加入生成的唯一不重复的标识号,即加入的标识号与UDP报文的UDP协议头部无关,属于UDP报文的报文内容。广域网中的转发数据报文的网络设备(例如路由器、网桥、交换机等)不会因为UDP报文的正文部分中加入的标识号而对正常的UDP报文转发产生影响。
[0050]第一类UDP报文即为加入了标识号且加入的标识号为唯一不重复的标识号的UDP报文,相应的,下文中的第二类UDP报文即为加入了标识号且加入的标识号为预设的固定可重复的标识号的UDP报文。
[0051]在一个实施例中,第一服务器生成唯一不重复的标识号的步骤还包括:
[0052]第一服务器生成循环递增/递减的数字码,并获取与其对应机器识别码,并根据机器识别码和所述数字码生成唯一不重复的标识号。
[0053]循环递增/递减的数字码即第一服务器为每个待发送的UDP报文分配比前一个已发送的UDP报文对应的数字递增的数字。例如,若第一服务器获取到3个UDP报文待发送,则可为第一个待发送的UDP报文分配数字1,为第二个待发送的UDP报文分配数字2 (即在I的基础上递增1),为第三个待发送的m)P报文分配数字3 (即在2的基础上递增I)。
[0054]机器识别码可以是MAC地址、IP地址、机器名等区别计算机硬件设备的标识信息。
[0055]也就是说,标识号可包含两部分内容,一部分为机器识别码,另一部分即为前述的数字码。如图5所示,若A和B两个第一服务器均向第二服务器C发送第一类UDP报文,则A发出的第一类UDP报文中的标识号为标识A加数字的形式,其中,标识A即为第一服务器A的机器识别码;B发出的第一类UDP报文中的标识号为标识B加数字码的形式,其中,标识B即为第一服务器B的机器识别码。如图5所示,若A发出的某个第一类UDP报文A0003的数字码和B生成的某个第一类UDP报文B0003的数字码相同,则由于其标识号中的机器识别码不同,使得第二服务器C在接收到A0003后不会因为B0003的数字码与A0003相同而将其丢弃,从而保证了第二服务器在接收多个第一服务器发送的UDP报文时接收数据的准确性。
[0056]在另一个实施例中,标识号还可以是随机码。当随机码的位数较大时(例如128位或256位的长度),随机生成的标识号重复的概率较小,可视为唯一不重复。
[0057]在一个实施例中,数字码具有初始值。
[0058]第一服务器生成唯一不重复的标识号的步骤还包括:
[0059]若该数字码已循环递增/递减至预设的最大/最小值,则将其设置为初
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1