一种可自动恢复正常的以太网数据存储方法及装置与流程

文档序号:37013349发布日期:2024-02-09 13:02阅读:12来源:国知局
一种可自动恢复正常的以太网数据存储方法及装置与流程

本技术涉及以太网通信,尤其涉及一种可自动恢复正常的以太网数据存储方法及装置。


背景技术:

1、在以太网逻辑电路中,交换等处理需要缓存以太网包数据。但电路在实际运行过程中因各种原因,如电磁干扰、雷击、甚至太空中强辐射单粒子效应等原因,可能导致计数器异常而带来连锁反应,导致系统崩溃。此外,以太网包,包间隔包长等都是随机的,当短包中夹杂一个长包时,如果处理不周,如等收完一个包后才对外发送数据,会导致缓存区写速度快而读数据慢,降低了电路有效通信速度。

2、在现有技术中,一件申请号为cn202211397502.3的专利将缓存以预设的最小单元或最小单元的整数倍划分成多个块,接收输入端口的数据包,将接收的数据存入相应的缓存中,有效地提高缓存空间的利用率和存取速度。但这专利存在明显不足,如雷击等干扰导致缓存读写地址的某个比特异常翻转,无法自动恢复正常,需要复位或断电重启。对以太网包,无法确保其经过缓存后包的完整性准确无误。此外,当写入缓存的数据小于预设最小单元的缓存空间时,将造成缓存资源的浪费。


技术实现思路

1、本技术实施例通过提供一种可自动恢复正常的以太网数据存储方法及装置,解决了现有技术中缓存读写地址的某个比特异常翻转,无法自动恢复正常的问题,实现了当电路受异常干扰瞬间异常后无需任何外力干预,能够自动恢复正常的以太网高速缓存。

2、第一方面,本技术实施例提供了一种可自动恢复正常的以太网数据存储方法,包括:获取以太网包并将其进行分段得到子以太网包;将子以太网包数据写入随机缓存,并记录所述子以太网包的索引信息;其中,所述索引信息包括所述子以太网包的包头信息、包尾信息、长度以及所述子以太网包在所述随机缓存的首地址;每当所述子以太网包数据写入完毕后将对应所述索引信息写入存储器,并检测所述存储器的空信号;若检测到所述存储器的所述空信号为低,则在所述存储器中读取一个所述索引信息,并对所述索引信息进行解析;将解析后的当前所述索引信息中的所述首地址作为缓存读取地址读取所述随机缓存中的数据,且每读取一个所述子以太网包数据所述缓存读取数据地址增一直至所述缓存读取地址等于所述子以太网包的长度;若检测到所述存储器的所述空信号为高,则停止读取。

3、结合第一方面,在第一种可能的实现方式中,所述获取以太网包并将其进行分段得到子以太网包,包括:获取所述以太网包的长度,并确定所述以太网包的分段数量;根据所述分段数量确定所分的所述子以太网包的长度。

4、结合第一方面,在第二种可能的实现方式中,所述读取所述存储器中的任一所述索引信息,包括:启动读控制,向所述存储器发出读脉冲并读取其中一个所述索引信息。

5、结合第一方面,在第三种可能的实现方式中,所述读取所述随机缓存中的数据,还包括:读控制模块在数据读取完毕前检测当前所述空信号是否为低;若当前所述空信号为低,则继续读取数据,并根据当前所述子以太网包的所述索引信息,标记所述子以太网包的包头包尾;若当前所述空信号为高,则停止读取数据。

6、结合第一方面,在第四种可能的实现方式中,所述将对应所述索引信息写入存储器,还包括:为所述存储器设计写索引;所述写索引用于存储每个所述子以太网包写入所述存储器的首地址、长度与包头标识或包尾标识。

7、结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述检测所述存储器的空信号,包括:获取当前所述写索引;若当前所述写索引为包头标记,则对应所述子以太网包的所述空信号为高;若当前所述写索引为包尾标记,则对应所述子以太网包的所述空信号为低。

8、结合第一方面的第三种可能的实现方式,在第六种可能的实现方式中,所述读控制模块内设置有读地址计数器。

9、第二方面,本技术实施例提供了一种可自动恢复正常的以太网数据存储装置,其特征在于,包括:分段模块,用于获取以太网包并将其进行分段得到子以太网包;写入模块,用于将子以太网包数据写入随机缓存,并记录所述子以太网包的索引信息;其中,所述索引信息包括所述子以太网包的包头信息、包尾信息、长度以及所述子以太网包在所述随机缓存的首地址;检测模块,用于每当子以太网包数据写入完毕后将对应所述索引信息写入存储器,并检测所述存储器的空信号;第一读取模块,用于若检测到所述存储器的所述空信号为低,则在所述存储器中读取一个所述索引信息,并对所述索引信息进行解析;第二读取模块,用于将解析后的当前所述索引信息中的所述首地址作为缓存读取地址读取所述随机缓存中的数据,且每读取一个所述子以太网包数据所述缓存读取数据地址增一直至所述缓存读取地址等于所述子以太网包的长度;停止模块,用于若检测到所述存储器的所述空信号为高,则停止读取。

10、结合第二方面,在第一种可能的实现方式中,所述获取以太网包并将其进行分段得到子以太网包,包括:获取所述以太网包的长度,并确定所述以太网包的分段数量;根据所述分段数量确定所分的所述子以太网包的长度。

11、结合第二方面,在第二种可能的实现方式中,所述读取所述存储器中的任一所述索引信息,包括:启动读控制,向所述存储器发出读脉冲并读取其中一个所述索引信息。

12、结合第二方面,在第三种可能的实现方式中,所述读取所述随机缓存中的数据,还包括:读控制模块在数据读取完毕前检测当前所述空信号是否为低;若当前所述空信号为低,则继续读取数据,并根据当前所述子以太网包的所述索引信息,标记所述子以太网包的包头包尾;若当前所述空信号为高,则停止读取数据。

13、结合第二方面,在第四种可能的实现方式中,所述将对应所述索引信息写入存储器,还包括:为所述存储器设计写索引;所述写索引用于存储每个所述子以太网包写入所述存储器的首地址、长度与包头标识或包尾标识。

14、结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述检测所述存储器的空信号,包括:获取当前所述写索引;若当前所述写索引为包头标记,则对应所述子以太网包的所述空信号为高;若当前所述写索引为包尾标记,则对应所述子以太网包的所述空信号为低。

15、结合第二方面的第三种可能的实现方式,在第六种可能的实现方式中,所述读控制模块内设置有读地址计数器。

16、第三方面,本技术实施例提供了一种设备,所述设备包括:处理器;用于存储处理器可执行指令的存储器;所述处理器执行所述可执行指令时,实现如第一方面或第一方面任一种可能实现的方式所述的方法。

17、第四方面,本技术实施例提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质包括用于存储计算机程序或指令,当该计算机程序或指令被执行时,使如第一方面或第一方面任一种可能实现的方式所述的方法被实现。

18、本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

19、本技术实施例通过索引信息能够提升数据的读取效率;通过存储器空信号的高低儿控制是否读取数据,能够确保以太网包的完整性;通过在随机缓存与存储器,能够在系统异常后自动恢复完整的以太网包。有效解决了现有技术中缓存读写地址的某个比特异常翻转后,无法自动恢复正常的问题,实现了当电路受异常干扰瞬间异常后无需任何外力干预,能够自动恢复正常的以太网高速缓存,并保证以太网包的完整性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1