预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN115941127A(43)申请公布日2023.04.07(21)申请号202211387220.5(22)申请日2022.11.07(71)申请人天津津航计算技术研究所地址300308天津市东丽区空港经济区保税路357号(72)发明人王雨龙(74)专利代理机构中国兵器工业集团公司专利中心11011专利代理师刘二格(51)Int.Cl.H04L1/1829(2023.01)H04L1/1867(2023.01)H04L1/1607(2023.01)权利要求书2页说明书3页附图1页(54)发明名称一种基于哈希表的报文协议超时重发管理方法(57)摘要本发明属于计算机控制技术领域,公开了一种基于哈希表的报文协议超时重发管理方法,基于哈希表数据结构,通过一种新型管理结构,将报文重发的过程信息全部记录到哈希表中,对于超时重发的管理仅需在定时器中不断查询关联容器中的报文应答状态,即可高效地完成超时应答管理。CN115941127ACN115941127A权利要求书1/2页1.一种基于哈希表的报文协议超时重发管理方法,其特征在于,包括以下步骤:S1:报文需要进行超时重发时,设计系统间报文协议以及在报文发送出去后目的节点接收到报文后需要回复的接收确认帧,即应答帧;S2:定义总线载体BusInfo,S3:定义重发管理结构体MainReSend,S4:定义一个哈希表类Hash型变量gSndQ,此哈希表用来存储帧发送出去的信息,S5:在发送报文端,报文内容填充完成并发送;S6:报文接收线程中,接收应答帧,并在哈希表中标记处理;S7:设置重发处理定时器,启动定时器,遍历重发管理结构体,判断是否重发,重发则转S8;S8:重发管理结构体变量中计数器进行加一操作,对报文进行重发。2.如权利要求1所述的基于哈希表的报文协议超时重发管理方法,其特征在于,步骤S1中,系统间报文协议定为变长协议,包括:两个字节的协议帧头FrmHead,四个字节的帧序号FrmNum,使用帧序号进行ID标记,帧序号是对应应答帧的唯一标识ID,一个字节的此标识ID重发次数ReCnt,两个字节的帧长度FrmLen,两个字节的帧类型FrmType,四个字节的目的地址FrmDst、四个字节的源地址FrmSrc,两个字节的应答标识FrmACKFlag,此标识用来表示该帧是否需要应答,两个字节的功能码FrmCode,字节数不定的负载内容FrmContent,两个字节的校验FrmChk,以及两个字节的帧结尾FrmTail。3.如权利要求2所述的基于哈希表的报文协议超时重发管理方法,其特征在于,步骤S1中,应答帧ACK的帧头部分和帧尾部分与上述报文一致,内容为四个字节的帧序号的帧序号,两个字节的功能码;发送帧与应答帧帧协议相互关联时以帧序号进行关联。4.如权利要求3所述的基于哈希表的报文协议超时重发管理方法,其特征在于,步骤S2中,总线载体BusInfo包含两个元素,分别为:①总线类型,此类型为枚举型,0表示以太网发送,1表示串口发送,2表示CAN总线发送;②需要发送数据的目的地址,类型为整型,根据总线类型确定为目的IP地址,串口端口号,以及CAN总线端口号。5.如权利要求4所述的基于哈希表的报文协议超时重发管理方法,其特征在于,步骤S3中,重发管理结构体MainReSend内容:①S2中定义的总线载体BusInfo,②要发送数据的内存地址Addr,类型为无符号指针型,③是否重发标志IsReSnd,设置为无符号字符型,值为1时表示需要重发,为0时表示不需要重发,④已发送次数计数HaSnCnt,设置为无符号整型,表示此数据已经发送的次数,⑤需要重发的次数NeSnCnt,此变量设置为无符号短整型。6.如权利要求5所述的基于哈希表的报文协议超时重发管理方法,其特征在于,步骤S4中,哈希表类Hash型变量gSndQ中,键key的类型设置为整型int型,这个值为发送帧的帧序号;值value设置为结构体类型,此结构体为S3中定义的重发管理结构体MainReSend。7.如权利要求6所述的基于哈希表的报文协议超时重发管理方法,其特征在于,步骤S5中,报文内容填充完成并发送时,判断应答标识FrmACKFlag是否为0xFF00,如果判断失败,表示此报文不需要根据应答重发;如果判断成功,则定义一个重发管理结构体变量gMReSend,以及SeqNum变量记录报文序号;根据选择的物理端口类型以及端口地址信息填充变量gMReSend中总线载体内容,将要发送的数据的首地址gDataAddr赋值给结构体中Addr内容,将结构体变量中的是否重发标2CN115941127A权利要求书2/2页志设置为TURE,结构体中已重发的次数HaSnCnt设置为0,将结构体变量中的