[发明专利]基于环形队列的数据传输方法、系统、终端及存储介质在审
申请号: | 202010988263.3 | 申请日: | 2020-09-18 |
公开(公告)号: | CN112272205A | 公开(公告)日: | 2021-01-26 |
发明(设计)人: | 张君龙 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F12/0866;G06F12/123 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 孙玉营 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 环形 队列 数据传输 方法 系统 终端 存储 介质 | ||
本发明提供一种基于环形队列的数据传输方法、系统、终端及存储介质,包括:选取缓存中的环形队列中的空闲数据帧;CPU在读取缓存数据之后将所述空闲数据帧标记为特定值;光纤卡向所述环形队列写入数据导致所述空闲数据帧的特定值置零;CPU在读取缓存数据之前判断所述空闲数据帧是否被标定为特定值:若否,则判定缓存数据已刷新,CPU读取缓存数据。本发明能够保证cache和内存的一致性,并增加了重试的机制,以纠正cache和内存的不一致问题,方法简单,效果明显。
技术领域
本发明涉及数据传输技术领域,具体涉及一种基于环形队列的数据传输方法、系统、终端及存储介质。
背景技术
在云计算时代,海量数据需要写入和读取,而FC具备通道和网络的双重优势,具备高带宽、高可靠性、高稳定性,抵抗电磁干扰等优点,能够支持多种拓扑结构,能够提供非常稳定可靠的光纤连接,容易构建大型的数据传输和通信网络。而FC卡(光纤卡)因为需要在短时间内进行大量的数据传输,所以在传输过程中需要利用DMA机制,但是DMA传输过程中有一个很致命的问题,就是不易保证内存中的数据一致性,容易造成传输数据的异常,产生严重的后果。对于这个问题使用环形队列在DMA内存下进行数据传输的FC卡反应尤为突出。当FC卡写数据到DMA内存中,但是并没有通过环形队列更新到缓存cache中时,如果CPU在这时从cache上读取数据,就会读取到cache内存的上一次数据而导致出错。
发明内容
针对现有技术的上述不足,本发明提供一种基于环形队列的数据传输方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种基于环形队列的数据传输方法,包括:
选取缓存中的环形队列中的空闲数据帧;
CPU在读取缓存数据之后将所述空闲数据帧标记为特定值;
光纤卡向所述环形队列写入数据导致所述空闲数据帧的特定值置零;
CPU在读取缓存数据之前判断所述空闲数据帧是否被标定为特定值:
若否,则判定缓存数据已刷新,CPU读取缓存数据。
进一步的,所述方法还包括:
在CPU读取缓存数据之前若所述空闲数据帧被标定为特定值,则重新采集所述空闲数据帧的标记,直至采集到的标记不为特定值。
进一步的,所述方法还包括:
设定重新采集所述标记的次数阈值;
若重新采集所述标记的次数达到所述次数阈值,则输出错误日志。
进一步的,所述CPU在读取缓存数据之后将所述空闲数据帧标记为特定值,包括
预先设定特定值;
所述CPU在读取缓存数据之后,向所述缓存写入数据,并在写操作完成之后将所述空闲数据帧标记为预设的特定值。
第二方面,本发明提供一种基于环形队列的数据传输系统,包括:
空闲选取单元,配置用于选取缓存中的环形队列中的空闲数据帧;
特定标记单元,配置用于CPU在读取缓存数据之后将所述空闲数据帧标记为特定值;
标记置零单元,配置用于光纤卡向所述环形队列写入数据导致所述空闲数据帧的特定值置零;
标记判断单元,配置用于CPU在读取缓存数据之前判断所述空闲数据帧是否被标定为特定值;
数据读取单元,配置用于若所述空闲数据帧未被标定为特定值,则判定缓存数据已刷新,CPU读取缓存数据。
进一步的,所述系统还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010988263.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种土木工程用管道放置架
- 下一篇:机载监控系统和其监控方法