System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据传输,更具体地,涉及一种数据包拼合的芯片间数据传输方法、设备及存储介质。
技术介绍
1、网络通信设备部署在公用网络上对接收到的数据进行特定协议要求的处理后再转发出去,为满足降低开发周期、提升处理性能、控制硬件成本、保障隔离安全等需求,通常会采用多芯片协调的硬件架构,涉及到通用处理器、网络专用处理器、可编程逻辑器件等硬件芯片,芯片间多采用dma技术进行芯片间的数据搬移。
2、dma技术在传输过程中,cpu首先配置dma控制器,设定传输参数,如源地址、目标地址和传输字节数。当源芯片准备好数据时,它向dma控制器发出请求。dma控制器在获得总线控制权后,开始控制数据总线、地址总线和控制总线,进行数据传输。传输完成后,dma控制器释放总线控制权,并可能产生中断信号通知cpu。这种技术减少了cpu的负担,提高了数据传输的效率和整个系统的性能。
3、但是,现行的基于以太网技术的数据传输多存在握手、ack、心跳等较短长度的数据包,受限于dma的固定准备周期和释放周期,针对较多短数据包通信场景,大量的处理时间花费在了控制收发而非数据搬移本身,拉低了网络通信设备的整体数据处理能力,导致网络实际通信速率低、时延大等问题。
技术实现思路
1、针对现有技术的至少一个缺陷或改进需求,本专利技术提供了一种数据包拼合的芯片间数据传输方法、设备及存储介质,用于解决现有技术中受限于dma的固定准备周期和释放周期,在面对较多短数据包通信场景时,大量的处理时间花费在了控制数据的收发
2、为实现上述目的,按照本专利技术的第一个方面,提供了一种数据包拼合的芯片间数据传输方法,该方法包括:
3、解析待传输网络数据获取待传输数据包,将待传输数据包映射至若干个数据流队列;
4、构建初始dma片将数据流队列中的待传输数据包进行拼包处理得到链式dma片;
5、若链式dma片的缓存长度超过预设缓存长度或当前拼包时间超过预设等待时间,则将链式dma片传输至下一芯片;
6、若链式dma片传输至出口芯片,则从链式dma片中获取所有待传输数据包并进行发包处理。
7、在一种可能的实现方式中,解析待传输网络数据获取待传输数据包,将待传输数据包映射至若干个数据流队列,还包括:
8、对待传输网络数据进行解析处理获取数据包参数;
9、根据数据包参数计算数据包hash值,并将数据包hash值保存至待传输数据包;
10、基于数据包hash值将待传输数据包映射至若干个数据流队列,相同hash值的数据报按序入列。
11、在一种可能的实现方式中,构建初始dma片将数据流队列中的待传输数据包进行拼包处理得到链式dma片,还包括:
12、为每一个待传输数据包构建一个对应的初始dma片;
13、将待传输数据包的地址信息赋值给对应的初始dma片;
14、将赋值后的初始dma片按照赋值顺序依次链接得到链式dma片。
15、在一种可能的实现方式中,若链式dma片的缓存长度超过预设缓存长度或当前拼包时间超过预设等待时间,则将链式dma片传输至下一芯片,还包括:
16、若链式dma片的总长度与预设dma片头部长度以及当前待传输数据包长度之和超过预设缓存长度,则停止拼包处理并将链式dma片传输至下一芯片;
17、根据链式dma片的总长度、预设数据转发速率、第一次拼包的时间戳和当前拼包时间戳计算当前拼包时间,若当前拼包时间超过预设等待时间,则将链式dma片传输至下一芯片。
18、在一种可能的实现方式中,解析待传输网络数据获取待传输数据包,将待传输数据包映射至若干个数据流队列,还包括:
19、若数据流队列的最长深度或者平均深度超过预设流队列深度,扩充数据流队列的总数量;
20、提取所有数据包hash值将待传输数据包重新映射至扩充后的数据流队列。
21、在一种可能的实现方式中,解析待传输网络数据获取待传输数据包,将待传输数据包映射至若干个数据流队列,还包括:
22、根据数据包hash值为数据流队列设置优先级权值;
23、基于优先级权值确定映射至数据流队列的待传输数据包数量。
24、在一种可能的实现方式中,待传输数据包包含控制字段标识;若链式dma片传输至出口芯片,则从链式dma片中获取所有待传输数据包并进行发包处理,还包括:
25、根据控制字段标识对链式dma片进行拆包处理得到待传输数据包;
26、根据优先级权值获取对应数量的待传输数据包进行发包处理。
27、在一种可能的实现方式中,解析待传输网络数据获取待传输数据包,将待传输数据包映射至若干个数据流队列,之后还包括:
28、根据数据包hash值建立hash值缓存库;
29、基于预设策略规则对数据流队列中的待传输数据包进行处理,将处理结果存储至hash值缓存库。
30、按照本专利技术的第二个方面,还提供了一种数据包拼合的芯片间数据传输设备,其包括至少一个处理单元、以及至少一个存储单元,其中,存储单元存储有计算机程序,当计算机程序被处理单元执行时,使得处理单元执行上述任一项数据包拼合的芯片间数据传输方法的步骤。
31、按照本专利技术的第三个方面,还提供了一种存储介质,其存储有可由访问认证设备执行的计算机程序,当所述计算机程序在访问认证设备上运行时,使得所述访问认证设备执行上述任一项所述数据包拼合的芯片间数据传输方法的步骤。
32、总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
33、本专利技术提供的一种数据包拼合的芯片间数据传输方法,支持将数据包映射到多个数据流队列,通过将待传输数据包映射到多个数据流队列,该方法能够并行处理数据,减少等待时间,从而提高数据传输的吞吐量,同时基于hash值的数据流队列保证有序传输。在面对较多短数据包通信场景时,通过拼包处理,将多个数据包合并成一个链式dma片进行传输,可以显著减少传输次数和传输开销,从而提高整体传输效率,在出口芯片处,所有待传输数据包可以一次性从链式dma片中提取并进行发包处理,进一步减少了处理时间和延迟。通过将数据包以链式dma片的形式传输,减少了数据包在芯片间的传输次数和等待时间,减少了数据包在传输过程中的丢失和损坏的风险,提高了数据传输的完整性和准确性。
本文档来自技高网...【技术保护点】
1.一种数据包拼合的芯片间数据传输方法,其特征在于,该方法包括:
2.如权利要求1所述的数据包拼合的芯片间数据传输方法,其特征在于,所述解析待传输网络数据获取待传输数据包,将所述待传输数据包映射至若干个数据流队列,还包括:
3.如权利要求1所述的数据包拼合的芯片间数据传输方法,其特征在于,所述构建初始DMA片将所述数据流队列中的待传输数据包进行拼包处理得到链式DMA片,还包括:
4.如权利要求1所述的数据包拼合的芯片间数据传输方法,其特征在于,所述若所述链式DMA片的缓存长度超过预设缓存长度或当前拼包时间超过预设等待时间,则将所述链式DMA片传输至下一芯片,还包括:
5.如权利要求2所述的数据包拼合的芯片间数据传输方法,其特征在于,所述解析待传输网络数据获取待传输数据包,将所述待传输数据包映射至若干个数据流队列,还包括:
6.如权利要求2所述的数据包拼合的芯片间数据传输方法,其特征在于,所述解析待传输网络数据获取待传输数据包,将所述待传输数据包映射至若干个数据流队列,还包括:
7.如权利要求6所述的数据包拼合
8.如权利要求1所述的数据包拼合的芯片间数据传输方法,其特征在于,所述解析待传输网络数据获取待传输数据包,将所述待传输数据包映射至若干个数据流队列,之后还包括:
9.一种数据包拼合的芯片间数据传输设备,其特征在于,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述计算机程序被所述处理单元执行时,使得所述处理单元执行权利要求1~8任一项所述数据包拼合的芯片间数据传输方法的步骤。
10.一种存储介质,其特征在于,其存储有可由访问认证设备执行的计算机程序,当所述计算机程序在访问认证设备上运行时,使得所述访问认证设备执行权利要求1~8任一项所述数据包拼合的芯片间数据传输方法的步骤。
...【技术特征摘要】
1.一种数据包拼合的芯片间数据传输方法,其特征在于,该方法包括:
2.如权利要求1所述的数据包拼合的芯片间数据传输方法,其特征在于,所述解析待传输网络数据获取待传输数据包,将所述待传输数据包映射至若干个数据流队列,还包括:
3.如权利要求1所述的数据包拼合的芯片间数据传输方法,其特征在于,所述构建初始dma片将所述数据流队列中的待传输数据包进行拼包处理得到链式dma片,还包括:
4.如权利要求1所述的数据包拼合的芯片间数据传输方法,其特征在于,所述若所述链式dma片的缓存长度超过预设缓存长度或当前拼包时间超过预设等待时间,则将所述链式dma片传输至下一芯片,还包括:
5.如权利要求2所述的数据包拼合的芯片间数据传输方法,其特征在于,所述解析待传输网络数据获取待传输数据包,将所述待传输数据包映射至若干个数据流队列,还包括:
6.如权利要求2所述的数据包拼合的芯片间数据传输方法,其特征在于,所述解析待传输网络数据获取待传输数据包,将所述待传输...
【专利技术属性】
技术研发人员:刘慧,江国兵,伍力伟,刘雄,刘四超,张伟,李杨,龚爽,李朝阳,董宝江,黄钟,周确,张琼宇,刘莹,黄制兵,刘灵通,余文亮,张乐,高博约,陆捷,许利刚,周函锦,裴佩,周喻,丁力,
申请(专利权)人:武汉船舶通信研究所中国船舶集团有限公司第七二二研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。