首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于哈希表的报文协议超时重发管理方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:天津津航计算技术研究所

摘要:本发明属于计算机控制技术领域,公开了一种基于哈希表的报文协议超时重发管理方法,基于哈希表数据结构,通过一种新型管理结构,将报文重发的过程信息全部记录到哈希表中,对于超时重发的管理仅需在定时器中不断查询关联容器中的报文应答状态,即可高效地完成超时应答管理。

主权项:1.一种基于哈希表的报文协议超时重发管理方法,其特征在于,包括以下步骤:S1:报文需要进行超时重发时,设计系统间报文协议以及在报文发送出去后目的节点接收到报文后需要回复的接收确认帧,即应答帧;S2:定义总线载体BusInfo,S3:定义重发管理结构体MainReSend,S4:定义一个哈希表类Hash型变量gSndQ,此哈希表用来存储帧发送出去的信息,S5:在发送报文端,报文内容填充完成并发送;S6:报文接收线程中,接收应答帧,并在哈希表中标记处理;S7:设置重发处理定时器,启动定时器,遍历重发管理结构体,判断是否重发,重发则转S8;S8:重发管理结构体变量中计数器进行加一操作,对报文进行重发;步骤S1中,系统间报文协议定为变长协议,包括:两个字节的协议帧头FrmHead,四个字节的帧序号FrmNum,使用帧序号进行ID标记,帧序号是对应应答帧的唯一标识ID,一个字节的此标识ID重发次数ReCnt,两个字节的帧长度FrmLen,两个字节的帧类型FrmType,四个字节的目的地址FrmDst、四个字节的源地址FrmSrc,两个字节的应答标识FrmACKFlag,此标识用来表示该帧是否需要应答,两个字节的功能码FrmCode,字节数不定的负载内容FrmContent,两个字节的校验FrmChk,以及两个字节的帧结尾FrmTail;步骤S1中,应答帧ACK的帧头部分和帧尾部分与上述报文一致,内容为四个字节的帧序号的帧序号,两个字节的功能码;发送帧与应答帧帧协议相互关联时以帧序号进行关联;步骤S2中,总线载体BusInfo包含两个元素,分别为:①总线类型,此类型为枚举型,0表示以太网发送,1表示串口发送,2表示CAN总线发送;②需要发送数据的目的地址,类型为整型,根据总线类型确定为目的IP地址,串口端口号,以及CAN总线端口号;步骤S3中,重发管理结构体MainReSend内容:①S2中定义的总线载体BusInfo,②要发送数据的内存地址Addr,类型为无符号指针型,③是否重发标志IsReSnd,设置为无符号字符型,值为1时表示需要重发,为0时表示不需要重发,④已发送次数计数HaSnCnt,设置为无符号整型,表示此数据已经发送的次数,⑤需要重发的次数NeSnCnt,此变量设置为无符号短整型;步骤S7中,定时器设置周期时间为RATES,在定时器回调函数中,通过匹配帧序号遍历重发管理结构体变量的键,对于遍历到的每一个帧序号,通过gSndQ下标索引方式判断其中gMReSend中是否重发标志是否为FALSE,若为FALSE则使用哈希表Hash中的移除remove方法,将该序号对应内容全部从队列中移除;如果为TRUE,则转到S8;步骤S8中,重发管理结构体变量中gMReSend计数器进行加一操作,重发管理结构体变量中的计数器对TIMES_SET进行取余操作,当这个值为TIMES_SET-1的时候,对报文进行重发,将要发送的数据以及发送的总线信息,传入到系统底层的发送函数中进行发送,同时将重发结构体变量中的发送次数进行加一操作;在定时器触发的过程中,周期性进行S8的操作,每次重发结构体发送次数进行加一操作,如果重发过程中查询到帧序号匹配,则重发结束,将键值对从gSndQ中移除;否则移植进行重发操作,当重发次数达到预设次数TIMES_SEND时,将该键值对从gSndQ中移除,表示重发已经达到最大次数,对超时未应答进行提示。

全文数据:

权利要求:

百度查询: 天津津航计算技术研究所 一种基于哈希表的报文协议超时重发管理方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。