一种1394总线多通道流数据并行组包方法技术

技术编号:14551896 阅读:72 留言:0更新日期:2017-02-05 01:02
本发明专利技术涉及一种1394总线多通道流数据并行组包方法,由多个节点并行发送至本节点的多路流数据可由硬件逻辑并行完成组包操作,不额外占用处理器资源,可实现多路流数据包并行接收。另外,本发明专利技术在流数据分包负载中设置心跳值,可用于标示同一通道号的同一条数据。如一条流数据在组包成功前,收到心跳值不同的新一条流数据,可直接切换保存缓冲区,直接丢弃组包失败的流数据。

1394 bus multi channel flow data parallel package method

The invention relates to a 1394 bus multi channel parallel data packet flow method, a plurality of nodes in parallel to the node transmitting a multiplexed data stream can be done in parallel by the hardware logic package group operations, does not occupy additional processor resources, multi-channel parallel receiving data packet flow. In addition, the invention provides a heartbeat value in the stream data packet load, which can be used to mark the same data of the same channel number. Such as a stream of data packets in the success of the group before the heartbeat value of a new stream of data, you can directly switch to save the buffer, the packet is discarded directly lost stream data.

【技术实现步骤摘要】

本专利技术属于计算机硬件技术,涉及一种1394总线多通道流数据并行组包方法
技术介绍
标准的IEEE1394总线协议对消息的最大负载有限制,不能满足军事航空领域对大数据量网络传输的要求,在标准协议的基础上,定义了流数据用于传输大数据量的网络消息,即在发送方将大数据包拆分为若干个小包(满足1394总线最大负载要求)通过1394总线传输,接受法收到这些小包后再组合成一条完整的消息传递给应用软件。同时为了满足消息的处理效率,要求流数据接收方的组包操作由硬件电路完成,在目前技术中,没有支持此类问题的解决方法和电路,本设计就此现状,提出了1394总线流数据组包方法,可以解决这类问题。
技术实现思路
本专利技术目的是提供一种1394总线多通道流数据并行组包方法,其解决了1394总线大数据量网络传输中发送方拆包方法及实现问题,不额外占用处理器资源。本专利技术的技术解决方案是:一种1394总线多通道流数据并行组包方法,包括步骤如下:步骤1:根据系统应用,驱动层在节点初始化时,将期望接收由哪些节点发送至本通道的流数据信息填入接收流数据配置表区;步骤2:驱动层为期望接收到的该节点的流数据在主存中申请A、B两个接收缓冲区,用于网络层设备的流数据接收控制;步骤3:硬件逻辑接收到数据包后,提取接收到消息的通道号;步骤4:判断接收到消息的通道号与当前调度配置表得到的期望接收消息通道号是否相同:如果都不相同,则直接丢弃并返回步骤3;如果相同,则转入步骤5;步骤5:将分包消息存入硬件逻辑内部对应数据接收缓存区;步骤6:提取流数据分包负载中的心跳值,如果心跳值与上次接收到相同通道的流数据分包的心跳值不同,则转入步骤7;否则,转入步骤8;所述流数据分包负载中的心跳值用于标示同一通道号的同一条流数据;步骤7:切换本条流数据在主存中的目标接收缓冲区,将该条流数据分包接收计数器清“0”,然后转入步骤8;步骤8:根据本条流数据分包负载中携带的分包序号信息(0、…、n、…、N),将其保存至主存当前消息“目标接收缓冲区A/B区起始地址+n*分包负载包长”中对应的位置;步骤9:将该条流数据分包接收计数器增“1”;步骤10:判断该流数据分包接收计数器是否计满,如不满则继续等待后续消息接收,如该计数器计满则表示该条流数据已接收完成,完成标识置位。上述步骤1中的接收流数据配置表区可填入多个不同的节点;上述步骤2中驱动层为期望接收到的不同节点的流数据在主存中均申请A、B两个接收缓冲区;上述步骤3至步骤10可对不同节点的流数据进行并行处理。本专利技术具有的有益效果:1、本专利技术在流数据分包负载中设置心跳值,可用于标示同一通道号的同一条数据。如一条流数据在组包成功前,收到心跳值不同的新一条流数据,可直接切换保存缓冲区,直接丢弃组包失败的流数据。2、本专利技术由于采用上述1394总线流数据组包方法,流数据可由硬件逻辑完成组包操作,不额外占用处理器资源,可实现大数据量包通过1394总线传输。附图说明图1为本专利技术的方法流程图。具体实施方式本专利技术1394总线多通道流数据并行组包方法,参照图1示例,处理步骤如下:步骤1:根据系统应用,驱动层在节点初始化时,将期望接收由哪些节点发送至本通道的流数据(由通道号标识)等信息填入接收流数据配置表区;步骤2:驱动层为期望接收到的每条流数据在主存中申请A、B两个接收缓冲区,用于网络层设备的流数据接收控制;步骤3:硬件逻辑接收到数据包后,提取接收到消息的通道号;步骤4:判断与当前调度配置表得到的期望接收消息通道号是否相同:如果都不相同,则直接丢弃并返回步骤3;如果相同,则转入下步;步骤5:将分包消息存入硬件逻辑内部对应数据接收缓存区;步骤6:提取流数据分包负载中的心跳值,如果心跳值与上次接收到相同属性(具有相同的通道号)分包的心跳值不同,表示此为同一通道的新一条流数据分包,转入步骤7处理;否则,此为同一条流数据分包,转入步骤8处理;步骤7:切换本条流数据在主存中的目标接收缓冲区(第一条消息保存至缓冲区A,后续流数据在A/B缓冲区间切换),将该条流数据分包接收计数器清“0”,转入步骤8处理;步骤8:根据本条流数据分包负载中携带的分包序号信息(0、…、n、…、N),将其保存至主存当前消息“目标接收缓冲区A/B区起始地址+n*分包负载包长”中对应的位置;步骤9:将该条流数据分包接收计数器增“1”;步骤10:判断该流数据分包接收计数器是否计满,如不满则继续等待后续消息接收,如该计数器计满则表示该条流数据已接收完成,完成标识置位。对于从不同节点发送至本通道的流数据分包组包操作,可采用上述的步骤3至步骤10并行处理,此时需要步骤1中的接收流数据配置表中填入多个不同的节点;步骤2中驱动层为期望接收到的不同节点的流数据在主存中均申请A、B两个接收缓冲区。本文档来自技高网...

【技术保护点】
一种1394总线多通道流数据并行组包方法,其特征在于:包括步骤如下:步骤1:根据系统应用,驱动层在节点初始化时,将期望接收由哪些节点发送至本通道的流数据信息填入接收流数据配置表区;步骤2:驱动层为期望接收到的该节点的流数据在主存中申请A、B两个接收缓冲区,用于网络层设备的流数据接收控制;步骤3:硬件逻辑接收到数据包后,提取接收到消息的通道号;步骤4:判断接收到消息的通道号与当前调度配置表得到的期望接收消息通道号是否相同:如果都不相同,则直接丢弃并返回步骤3;如果相同,则转入步骤5;步骤5:将分包消息存入硬件逻辑内部对应数据接收缓存区;步骤6:提取流数据分包负载中的心跳值,如果心跳值与上次接收到相同通道的流数据分包的心跳值不同,则转入步骤7;否则,转入步骤8;所述流数据分包负载中的心跳值用于标示同一通道号的同一条流数据;步骤7:切换本条流数据在主存中的目标接收缓冲区,将该条流数据分包接收计数器清“0”,然后转入步骤8;步骤8:根据本条流数据分包负载中携带的分包序号信息(0、…、n、…、N),将其保存至主存当前消息“目标接收缓冲区A/B区起始地址+n*分包负载包长”中对应的位置;步骤9:将该条流数据分包接收计数器增“1”;步骤10:判断该流数据分包接收计数器是否计满,如不满则继续等待后续消息接收,如该计数器计满则表示该条流数据已接收完成,完成标识置位。...

【技术特征摘要】
1.一种1394总线多通道流数据并行组包方法,其特征在于:包括步骤如
下:
步骤1:根据系统应用,驱动层在节点初始化时,将期望接收由哪些节点发
送至本通道的流数据信息填入接收流数据配置表区;
步骤2:驱动层为期望接收到的该节点的流数据在主存中申请A、B两个接
收缓冲区,用于网络层设备的流数据接收控制;
步骤3:硬件逻辑接收到数据包后,提取接收到消息的通道号;
步骤4:判断接收到消息的通道号与当前调度配置表得到的期望接收消息通
道号是否相同:如果都不相同,则直接丢弃并返回步骤3;如果相同,则转入步
骤5;
步骤5:将分包消息存入硬件逻辑内部对应数据接收缓存区;
步骤6:提取流数据分包负载中的心跳值,如果心跳值与上次接收到相同通
道的流数据分包的心跳值不同,则转入步骤7;否则,转入步骤8;所述流数据
分包负载中的心跳值用于标示同一通道号的...

【专利技术属性】
技术研发人员:王宣明田泽杨峰王绮卉赵彬
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西;61

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

1