[发明专利]一种接收数据的处理方法、装置及存储介质有效
申请号: | 202111253406.7 | 申请日: | 2021-10-27 |
公开(公告)号: | CN114125081B | 公开(公告)日: | 2023-09-22 |
发明(设计)人: | 秦忠华;徐红娟;李贵薪;刘祖智;刘培勇;陆丽 | 申请(专利权)人: | 桂林长海发展有限责任公司 |
主分类号: | H04L69/22 | 分类号: | H04L69/22;H04L69/163;G06F9/54 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 韩冰 |
地址: | 541001 广西*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 接收 数据 处理 方法 装置 存储 介质 | ||
本发明涉及一种接收数据的处理方法、装置及存储介质,属于软件开发领域。方法包括:获取接收缓冲区的首个包开始标志所对应的包头结构数据;从所述接收缓冲区中获取所述包头结构数据所对应的接收数据,获取所述包头结构数据中的包类型信息所对应的包处理任务节点,将所述接收数据拷贝至所述包处理任务节点;获取所述包处理任务节点中存储的数据,得到所述包头结构数据所对应的接收数据包。本发明通过建立包处理任务节点以完成对接收数据的粘包及分包处理,能够快速得到完整的接收数据包,且不影响正常的网络数据接收,有利于提高网络数据传输效率及实时性。
背景技术
对接收数据的粘包及分包的处理是在网络数据传输过程中必不可少的处理环节,其设计的合理性是决定网络数据高并发、时效性的关键。粘包是指发送方发送的若干数据包到接收方接收时粘成一包,使得接收方的系统接收缓冲区中后一包数据的头紧接着前一包数据的尾。网络分包是指接收方接收到的单个数据包是不完整的,需要对接收到的多个包数据进行合并成一个完整的接收数据包。
相关技术中,接收方对于接收数据的处理,通常包括:将发送方发送的一包数据按结构字段,由接收方控制分多次接收及合并的方式,以得到完整的接收数据包。但现有的接收数据的处理方法虽然能一定程度避免粘包和分包,但存在不利于网络数据传输效率及实时性的弊端。
发明内容
为了解决现有的接收数据的处理方法存在不利于网络数据传输效率及实时性的缺陷,本发明提供了一种接收数据的处理方法、装置及存储介质。
第一方面,为了解决上述技术问题,本发明提供了一种接收数据的处理方法,包括:
获取接收缓冲区的首个包开始标志所对应的包头结构数据;
从所述接收缓冲区中获取所述包头结构数据所对应的接收数据,获取所述包头结构数据中的包类型信息所对应的包处理任务节点,将所述接收数据拷贝至所述包处理任务节点;
获取所述包处理任务节点中存储的数据,得到所述包头结构数据所对应的接收数据包。
本发明的有益效果是:通过建立包处理任务节点以完成对接收数据的粘包及分包处理,能够快速得到完整的接收数据包,且不影响正常的网络数据接收,有利于提高网络数据传输效率及实时性。
进一步,所述获取所述包头结构数据中的包类型信息所对应的包处理任务节点,将所述接收数据拷贝至所述包处理任务节点,包括:
检测包处理任务列表中是否存在所述包头结构数据中的包类型信息所对应的第一包处理任务节点,若是,则将所述接收数据拷贝至所述第一包处理任务节点的数据末尾,若否,则在所述包处理任务列表中建立所述包类型信息所对应的第二包处理任务节点,将所述接收数据拷贝至所述第二包处理任务节点。
采用上述改进方案的有益效果是:根据包类型信息,能够建立不同接收数据包所对应的包处理任务节点,从而能够基于包处理任务节点进行粘包或分包处理,快速完成对各个接收数据包的组包。
进一步,所述获取所述包处理任务节点中存储的数据,得到所述包头结构数据所对应的接收数据包之前,还包括:
获取所述包处理任务节点的第一数据长度信息;
判断所述第一数据长度信息与所述包头结构数据中的数据长度信息是否相同,若否,则将所述包头结构数据所对应的接收数据从所述接收缓冲区中删除,并转至获取接收缓冲区的首个包开始标志所对应的包头结构数据的步骤。
采用上述改进方案的有益效果是:通过包头结构数据中的数据长度信息,判断包处理任务节点是否完成组包,并对未完成组包的包处理任务节点继续进行处理,从而能够对包含半包的接收数据对应进行分包处理。
进一步,所述获取所述包处理任务节点中存储的数据,得到所述包头结构数据所对应的接收数据包之前,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于桂林长海发展有限责任公司,未经桂林长海发展有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111253406.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置