发明名称 支持报文交叉存储的动态共享缓冲方法
摘要 本发明公开了一种支持报文交叉存储的动态共享缓冲方法,其实施步骤如下:1)预先建立缓冲区和寄存器组;2)判断新报文切片的类型,根据类型分配缓冲地址、分配或更新寄存器组,修改缓冲区中前一个报文切片的下级切片地址指针,将新报文切片写入缓冲地址;如果寄存器组非空,则执行下一步;3)从缓冲区选择当前报文切片并判断其类型,根据当前报文切片的类型与下一级节点进行通讯来实现对当前报文切片的流控,如果当前报文切片符合流控条件则执行下一步;4)对当前报文切片进行仲裁,仲裁成功则将当前报文切片流出并更新对应寄存器项,仲裁不成功则返回步骤3)。本发明具有数据传输性能好、资源利用率高、通用性好的优点。
申请公布号 CN103220230A 申请公布日期 2013.07.24
申请号 CN201310176871.4 申请日期 2013.05.14
申请人 中国人民解放军国防科学技术大学 发明人 徐炜遐;肖灿文;王永庆;刘路;张鹤颖;沈胜宇;张磊;戴艺;伍楠;曹继军;高蕾
分类号 H04L12/861(2013.01)I;H04L12/741(2013.01)I 主分类号 H04L12/861(2013.01)I
代理机构 湖南兆弘专利事务所 43008 代理人 赵洪;谭武艺
主权项 一种支持报文交叉存储的动态共享缓冲方法,其特征在于实施步骤如下:1)预先建立用于存储流入报文切片的缓冲区和用于存储流入报文的路由信息的寄存器组,所述缓冲区缓存的报文切片项包括报文切片本身和指向报文切片对应报文中下一个报文切片的下级切片地址指针,所述寄存器组缓存的寄存器项与缓冲区中尚未全部流出报文一一对应,所述寄存器项包括报文路由信息和指向报文中将流出的报文切片的待流出切片地址指针;当前节点在接收到上一级节点发送的新报文切片时,跳转执行下一步; 2)当前节点判断所述新报文切片的类型,如果新报文切片为头切片,则在缓冲区中为新报文切片分配缓冲地址、在寄存器组中为新报文切片分配寄存器项,将新报文切片携带的路由信息和缓冲地址写入所述寄存器项中,并将新报文切片写入所述缓冲地址中;如果新报文切片为体切片或尾切片,则在缓冲区中为新报文切片分配缓冲地址,确定新报文切片对应的寄存器项,根据寄存器项的待流出切片地址指针在缓冲区找到新报文切片对应报文的前一个报文切片,修改所述前一个报文切片的下级切片地址指针将其指向分配给新报文切片的缓冲地址,将新报文切片写入分配给新报文切片的缓冲地址;同时,定时判断所述寄存器组是否为空,如果为空则继续等待;如果寄存器组非空,则跳转执行步骤3);3)当前节点从所述缓冲区选择一个报文切片作为当前报文切片并判断当前报文切片的类型,如果当前报文切片为头切片,则当前节点获取下一级节点缓冲区可存储的报文切片数量和寄存器组中的空闲寄存器项数量,如果下一级节点缓冲区可存储的报文切片数量大于或等于1且下一级节点寄存器组中的空闲寄存器项数量大于或等于1,跳转执行步骤4);如果当前报文切片为体切片或者尾切片,则当前节点获取下一级节点寄存器组中的空闲寄存器项数量,如果下一级节点寄存器组中的空闲寄存器项数量大于或等于1,跳转执行步骤4);4)当前节点对当前报文切片进行仲裁,如果当前报文切片仲裁成功,则首先判断当前报文切片的类型,如果当前报文切片为尾切片则删除当前报文切片对应的寄存器项,如果当前报文切片为头切片或者体切片,则根据当前报文切片的下级切片地址指针获取当前报文切片对应报文中下一个报文切片缓冲地址,修改当前报文切片对应寄存器项的待流出切片地址指针将其指向所述当前报文切片对应报文中下一个报文切片缓冲地址,然后将当前报文切片通过网络流出至下一级节点;如果当前报文仲裁不成功,则等待下一个周期返回重新执行步骤4)。
地址 410073 湖南省长沙市砚瓦池正街47号中国人民解放军国防科学技术大学计算机学院