[发明专利]一种数据传输方法和装置有效
申请号: | 201910712743.4 | 申请日: | 2019-08-02 |
公开(公告)号: | CN110401513B | 公开(公告)日: | 2021-12-17 |
发明(设计)人: | 史鑫;龙宇锋;李飞;王艳辉 | 申请(专利权)人: | 视联动力信息技术股份有限公司 |
主分类号: | H04L1/00 | 分类号: | H04L1/00;H04L29/06 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 100000 北京市东城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据传输 方法 装置 | ||
本发明实施例提供了一种数据传输方法和装置,应用于视联网中,包括:获取当前待重组的分片数据包的分片头中的分片序号、分片哈希值和待传输数据;在预先建立的集合中存在哈希值的情况下,组包信息变量中的期待分片序号与当前分片数据包的分片序号不同,则将乱序集合中的与期待分片序号相同的分片数据包的待传输数据放入组包信息变量数据部分中的对应位置,若所述当前分片数据包为未分片数据包的最后一片,则获得重组后的所述未分片数据包。通过建立数据包所持有的乱序集合,解决了数据包在重组过程中的乱序问题,以适应视联网的数据负载部分可以来自于IP协议栈的各个层的需求。
技术领域
本发明涉及视联网技术领域,特别是涉及一种数据传输方法和装置。
背景技术
随着网络科技的快速发展,视频会议、视频教学等双向通信在用户的生活、工作、学习等方面广泛普及,在双向通信的过程中,都会涉及到数据包的传输。
在数据包传输过程中,由于受到IP协议栈的各个层的最大负载或者是受到网络本身可传输负载的限制,单次发送的数据包的数据负载有上限限制若所需传输的数据包大于该负载上限,则发送数据包时需要拆包,在接收数据时就需要组包。
现有技术中还没有能够有效避免出现接收的数据包为乱序包的方案。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据传输方法和相应的一种数据传输装置。
本发明第一个方面提供一种数据传输方法,所述方法应用于视联网中,包括:
获取当前待重组的分片数据包的分片头中的分片序号、分片哈希值和待传输数据;
在预先建立的集合中存在所述哈希值的情况下,判断与所述哈希值相对应的组包信息变量中的期待分片序号是否与当前分片数据包的分片序号相同,其中,所述预先建立的集合中包括哈希值与组包信息变量,所述哈希值与所述组包信息变量相对应;
若所述组包信息变量中的期待分片序号与所述当前分片数据包的分片序号不同,则将乱序集合中的与所述期待分片序号相同的分片数据包的待传输数据放入所述组包信息变量数据部分中的对应位置,其中,所述乱序集合中存放在当前分片数据包之前接收到的分片数据包,且所述分片数据包的分片序号大于期待分片序号;
若所述当前分片数据包为未分片数据包的最后一片,则获得重组后的所述未分片数据包。
可选地,所述方法还包括:
获取待发送的数据包;
根据所述数据包的长度,计算所述数据包的分片数;
根据计算出的所述分片数,对所述数据包进行分片,其中,所述数据包包括分片头和待传输数据,所述分片头至少包括分片的源地址,目的地址、分片所属数据包的标识信息、分片的总片数,分片序号,分片的负载长度信息。
可选地,所述根据所述数据包的长度,计算所述数据包的分片数,包括:
分片数=(x+单次视联网最大负载-1)/单次视联网最大负载,其中,x表示待发送数据包的长度。
可选地,所述分片哈希值根据所述分片头中的源地址,目的地址和分片所属数据包的标识信息计算得到。
可选地,所述判断与所述哈希值相对应的组包信息变量中的期待分片序号是否与当前分片数据包的分片序号相同,还包括:
若所述组包信息变量中的期待分片序号与所述当前分片数据包的分片序号相同,则将所述当前分片数据包的待传输数据放入所述组包信息变量数据部分中的对应位置。
可选地,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于视联动力信息技术股份有限公司,未经视联动力信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910712743.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据包发送方法及装置
- 下一篇:一种计数方法及通信装置