一种高级数据链路控制数据发送方法技术

技术编号:10901330 阅读:131 留言:0更新日期:2015-01-14 12:02
本发明专利技术提供了一种HDLC重发方法,该方法应用于发送端,在发送端发送数据包时,添加的包头中包括发包序号和发包类型,并通过HDLC发送所述数据包。接收到重发指令时,直接根据该重发指令获取待重发的数据包,并将该数据包重发,无需进行是否需要重传的判断,减少了重传过程对发送端的占用时间,不影响发送端发送数据的速度。并且,采用该方法只是将发包序号和发包类型添加到数据包中,无需对HDLC芯片进行改变,不会增加HDLC的成本。

【技术实现步骤摘要】

本专利技术涉及信息传输领域,更具体的说,是涉及。
技术介绍
HDLC(High-Level Data Link Control,高级数据链路控制)是一个在同步网上传输数据、面向比特的数据链路层协议,具有较高的传输效率,目前在轨道交通领域得到了比较广泛的应用。 但是,由于现有的HDLC芯片在运行过程中,HDLC数据存在一定的丢包现象,导致数据传输不稳定。由于轨道交通领域要求的高安全性和可靠性,使得需要有一种有效的重发方法,以保证HDLC通信的可靠性。 现有技术中,HDLC重发方法,是基于改进后的HDLC芯片增加的内部帧计数功能,发送端(即改进后的HDLC芯片)在发送每一帧数据时自动添加帧序号,由于接收端接收到数据时只反馈ACK (Acknowledgement,确认字符),则发送端根据接收到的ACK和该巾贞序号判断是否出现丢包情况,判断方式可以为根据帧序号计算发送帧数据个数,并将该帧数据个数与ACK个数比较是否一致,如果不一致则出现丢包现象,如果有丢包,重新发送数据。 然而采用该方法,需要在发送端将该数据的序号与反馈的ACK进行比对,导致重传过程较复杂,当发送数据较多时,比对过程耗时长,长期占用发送端,到导致影响发送端发送数据的进度,降低了 HDLC传输数据的速度。
技术实现思路
有鉴于此,本专利技术提供了一种HDLC数据发送方法,解决了现有的基于改进的HDLC芯片,由于根据ACK和该帧序号判断是否出现丢包情况的计算导致的重传过程复杂,耗时长的问题。 为实现上述目的,本专利技术提供如下技术方案: 一种高级数据链路控制HDLC数据发送方法,,应用于发送端,所述方法包括: 依据预设的组包规则,对待发送的数据打包得到数据包;所述数据包的包头中包括发包序号和发包类型,所述发包类型为正常发包; 通过HDLC发送所述数据包; 当接收到接收端反馈的重发指令时,依据所述重发指令获取待重发的数据包,所述待重发的数据包的包头中包括发包序号和发包类型,所述发包类型为重传包; 通过HDLC发送所述待重发的数据包。 上述的方法,优选的,所述依据预设的组包规则,对待发送数据打包得到数据包具体包括: 将所述HDLC的底层发送接收接口封装到所述待发送数据中; 按照预设的帧格式将所述待发送数据进行封包,得到数据包。 上述的方法,优选的,对待发送数据打包得到数据包之后,还包括: 缓存所述数据包至预设存储区域。 上述的方法,优选的,所述重发指令中携带待重发数据对应的数据包的指示信息,则所述依据所述重发指令获取待重发的数据包包括: 解析所述重发指令,得到待重发数据对应的数据包的指示信息; 依据所述指示信息,从所述预设存储区域获取与所述指示信息相应的数据包; 将所述数据包的包头中携带的发包类型由正常发包修改为重传包,得到待重发的数据包。 上述的方法,优选的,所述接收到接收端反馈的重发指令之后,依据所述重发指令获取待重发的数据包之前,还包括: 控制当前的数据包发送进程暂停。 一种HDLC数据发送方法,应用于接收端,包括: 通过HDLC接收发送端发送的数据包,所述数据包的包头中包括发包序号和发包类型; 分析所述数据包,并判断是否出现数据包传输错误; 如果传输错误,生成重发指令并反馈发送端。 上述的方法,优选的,所述分析所述数据包,并判断是否出现数据包传输错误包括: 解析所述数据包,得到所述包头中的发包序号和发包类型; 依据所述数据包的发包类型,判断所述数据包为正常发包的数据包,还是重发的数据包; 当所述数据包为正常发包的数据包时,依据所述正常发包的数据包中的发包序号,判断是否出现丢包,如果是,出现传输错误; 当所述数据包为重发的数据包时,依据所述重发的数据包中发包序号与所述接收端中存储的正常发包的数据包判断是否出现丢包,如果是,出现传输错误。 上述的方法,优选的,所述分析所述数据包,并判断是否出现数据包传输错误包括: 所述数据包的帧格式是否满足预设的帧格式; 如果不满足,则出现数据包传输错误。 上述的方法,优选的,所述数据包的包头中还包括:数据长度和发送数据,则分析所述数据包,并判断是否出现数据包传输错误包括: 分析所述数据包,确定所述发送数据中的实际数据长度; 将所述实际数据长度和所述数据包中的数据长度比对,得到比对结果; 当所述比对结果表示所述实际数据长度和所述数据包中的数据长度不同时,数据包传输错误。 上述的方法,优选的,所述生成重发指令包括: 依据接收到的数据包的发包序号确定被丢包的数据包的发包序号; 依据被丢包的数据包的发包序号生成重发指令。 经由上述的技术方案可知,与现有技术相比,本专利技术提供了一种HDLC数据发送方法,该方法应用于发送端,包括:依据预设的组包规则,对待发送的数据打包得到数据包;所述数据包的包头中包括发包序号和发包类型,所述发包类型为正常发包;通过HDLC发送所述数据包;当接收到接收端反馈的重发指令时,依据所述重发指令获取待重发的数据包,所述待重发的数据包的包头中包括发包序号和发包类型,所述发包类型为重传包;通过HDLC发送所述待重发的数据包。本专利技术中提供的HDLC重发方法,在发送端发送数据包时,添加的包头中包括发包序号和发包类型,并通过HDLC发送所述数据包。接收到重发指令时,直接根据该重发指令获取待重发的数据包,并将该数据包重发,无需进行是否需要重传的判断,减少了重传过程对发送端的占用时间,不影响发送端发送数据的速度。并且,采用该方法只是将发包序号和发包类型添加到数据包中,无需对HDLC芯片进行改变,不会增加HDLC的成本。 【附图说明】 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。 图1为本专利技术提供的一种HDLC数据发送方法实施例1的流程图; 图2为本专利技术提供的一种HDLC数据发送方法实施例2的流程图; 图3为本专利技术提供的一种HDLC数据发送方法实施例2的软件封装的关联关系图; 图4为本专利技术提供的一种HDLC数据发送方法实施例2的帧格式图; 图5为本专利技术提供的一种HDLC数据发送方法实施例3的流程图; 图6为本专利技术提供的一种HDLC数据发送方法实施例4的流程图; 图7为本专利技术提供的一种HDLC数据发送方法实施例5的流程图; 图8为本专利技术提供的一种HDLC数据发送方法实施例6的流程图; 图9为本专利技术提供的一种HDLC数据发送方法实施例7的流程图; 图10为本专利技术提供的一种HDLC数据发送方法实施例8的流程图。 【具体实施方式】 下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。 如图1示出了本专利技术提供的一种HDLC数据发送方法实施例1的流程图,该方法应用于发送端,本文档来自技高网...

【技术保护点】
一种高级数据链路控制HDLC数据发送方法,其特征在于,应用于发送端,所述方法包括:依据预设的组包规则,对待发送的数据打包得到数据包;所述数据包的包头中包括发包序号和发包类型,所述发包类型为正常发包;通过HDLC发送所述数据包;当接收到接收端反馈的重发指令时,依据所述重发指令获取待重发的数据包,所述待重发的数据包的包头中包括发包序号和发包类型,所述发包类型为重传包;通过HDLC发送所述待重发的数据包。

【技术特征摘要】
1.一种高级数据链路控制HDLC数据发送方法,其特征在于,应用于发送端,所述方法包括: 依据预设的组包规则,对待发送的数据打包得到数据包;所述数据包的包头中包括发包序号和发包类型,所述发包类型为正常发包; 通过HDLC发送所述数据包; 当接收到接收端反馈的重发指令时,依据所述重发指令获取待重发的数据包,所述待重发的数据包的包头中包括发包序号和发包类型,所述发包类型为重传包; 通过HDLC发送所述待重发的数据包。2.根据权利要求1所述的方法,其特征在于,所述依据预设的组包规则,对待发送数据打包得到数据包具体包括: 将所述HDLC的底层发送接收接口封装到所述待发送数据中; 按照预设的帧格式将所述待发送数据进行封包,得到数据包。3.根据权利要求1所述的方法,其特征在于,对待发送数据打包得到数据包之后,还包括: 缓存所述数据包至预设存储区域。4.根据权利要求1所述的方法,其特征在于,所述重发指令中携带待重发数据对应的数据包的指示信息,则所述依据所述重发指令获取待重发的数据包包括: 解析所述重发指令,得到待重发数据对应的数据包的指示信息; 依据所述指示信息,从所述预设存储区域获取与所述指示信息相应的数据包; 将所述数据包的包头中携带的发包类型由正常发包修改为重传包,得到待重发的数据包。5.根据权利要求1所述的方法,其特征在于,所述接收到接收端反馈的重发指令之后,依据所述重发指令获取待重发的数据包之前,还包括: 控制当前的数据包发送进程暂停。6.一种HDLC数据发送方法,其特征在于,应用于接收端,包括: 通过HDLC接收...

【专利技术属性】
技术研发人员:杨卫峰粟爱军唐军王大君罗林蒋国涛邹智荣
申请(专利权)人:株洲南车时代电气股份有限公司
类型:发明
国别省市:湖南;43

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

1