数据存储的检测方法、装置、存储介质及电子装置与流程

文档序号:17762007发布日期:2019-05-24 21:46阅读:169来源:国知局
数据存储的检测方法、装置、存储介质及电子装置与流程

本发明涉及计算机领域,具体而言,涉及一种数据存储的检测方法、装置、存储介质及电子装置。



背景技术:

三态内容寻址存储器tcam内存的芯片,包括专用集成电路(applicationspecificintegratedcircuit,简称为asic芯片),网络处理器(networkprocessor,简称为np),现场可编程门阵列(fieldprogrammablegatearray,简称为fpga)等。在使用tcam的过程中,由于外界使用环境,有可能会发生tcam内存中发生错误。

针对上述技术问题,相关技术中尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种数据存储的检测方法、装置、存储介质及电子装置,以至少解决相关技术中不能快速检测出数据存储的正确性的问题。

根据本发明的一个实施例,提供了一种数据存储的检测方法,包括:确定当前周期内,内存中存储的第一数据的第一校验信息;比较第一校验信息和第二校验信息,得到校验结果,其中,第二校验信息为当前周期之前的周期内内存中存储的第二数据的校验信息;根据校验结果检测第二数据存储的正确性。

可选地,确定当前周期内,内存中存储的第一数据的第一校验信息之前,方法还包括:将第二数据写入内存;利用循环冗余校验码crc算法计算出第二数据的第二校验码,其中,第二校验码包括在第二校验信息中。

可选地,利用crc算法计算出第二数据的第二校验码之后,方法还包括:将第二校验码存储在存储器中。

可选地,确定当前周期内,内存中存储的第一数据的第一校验信息包括:在当前周期内,扫描内存,利用crc算法计算出第一数据的第一校验码,其中,第一校验码包括在第一校验信息中。

可选地,根据校验结果检测第二数据存储的正确性包括:在第一校验码与第二校验码不一致的情况下,确定内存存储的第二数据出现错误,得到错误信息。

可选地,得到错误信息之后,方法还包括:将错误信息以中断方式发送至中央处理器cpu,以指示cpu恢复第二数据在内存中的存储。

根据本发明的另一个实施例,提供了一种数据存储的检测装置,包括:第一确定模块,用于确定当前周期内,内存中存储的第一数据的第一校验信息;第二确定模块,用于比较第一校验信息和第二校验信息,得到校验结果,其中,第二校验信息为当前周期之前的周期内内存中存储的第二数据的校验信息;检测模块,用于根据校验结果检测第二数据存储的正确性。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,由于在确定的当前周期内,确定内存中存储的第一数据的第一校验信息;比较第一校验信息和第二校验信息,得到校验结果,其中,第二校验信息为当前周期之前的周期内内存中存储的第二数据的校验信息;根据校验结果检测数据存储的正确性。即可以实现快速的检测出数据的存储是否正确。因此,可以解决相关技术中不能快速检测出数据存储的正确性的问题,达到快速检测数据存储是否正确的效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种数据存储的检测方法的移动终端的硬件结构框图;

图2是根据本发明实施例的数据存储的检测方法的流程图;

图3是本实施例中的tcam内存快速检测纠正流程图;

图4是根据本发明实施例的数据存储的检测装置的结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种数据存储的检测方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据存储的检测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种数据存储的检测方法,图2是根据本发明实施例的数据存储的检测方法的流程图,如图2所示,该流程包括如下步骤:

步骤s202,确定当前周期内,内存中存储的第一数据的第一校验信息;

步骤s204,比较第一校验信息和第二校验信息,得到校验结果,其中,第二校验信息为当前周期之前的周期内内存中存储的第二数据的校验信息;

步骤s206,根据校验结果检测第二数据存储的正确性。

通过上述步骤,由于在确定的当前周期内,确定内存中存储的第一数据的第一校验信息;比较第一校验信息和第二校验信息,得到校验结果,其中,第二校验信息为当前周期之前的周期内内存中存储的第二数据的校验信息;根据校验结果检测第二数据存储的正确性。即可以实现快速的检测出数据存储是否正确。因此,可以解决相关技术中不能快速检测出数据存储的正确性的问题,达到快速检测数据存储是否正确的效果。

可选地,上述步骤的执行主体可以为终端等,但不限于此。

需要说明的是,上述中的第二数据是存储至内存之前的原始数据,第一数据是存储至内存之后的数据。

在一个可选的实施例中,确定当前周期内,内存中存储的第一数据的第一校验信息之前,需要将第二数据写入内存;利用循环冗余校验码crc算法计算出第二数据的第二校验码,其中,第二校验码包括在第二校验信息中。

需要说明的是,在将第二数据写入内存之前,cpu对tcam的内容进行数据的备份。

需要说明的是,crc校验是一种数据传输检错功能,本质是对数据进行多项式计算,并将得到的结果附在数据的后面。接收设备也执行相同的算法,如果计算得到的crc值和数据中的一致,则表明数据传输没有错误,否则认为数据传输错误。

crc校验包括以下步骤:

s1:根据数据进行多项式计算;

s2:将计算得到的校验码附在数据的最后位置;

s3:接收设备也执行相同的算法对数据进行多项式计算,得到校验码;

s4:比较两个校验码的值,若不一致,则数据出错。

在一个可选的实施例中,利用crc算法计算出第二数据的第二校验码之后,可以将第二校验码存储在存储器中。

需要说明的是,第二校验码可以看作是原始校验码。芯片将此校验码存储在(sramstatic,ram)静态随机存取存储器中。

在一个可选的实施例中,确定当前周期内,内存中存储的第一数据的第一校验信息包括:在当前周期内,扫描内存,利用crc算法计算出第一数据的第一校验码,其中,第一校验码包括在第一校验信息中。

需要说明的是,芯片会定时扫描tcam,根据当前tcam内容通过相同的crc算法计算得到校验码。

在一个可选的实施例中,在第一校验码与第二校验码不一致的情况下,确定内存存储的第二数据出现错误,得到错误信息;基于错误信息确定内存中存储的数据出现问题。将错误信息以中断方式发送至中央处理器cpu,以指示cpu恢复第二数据在内存中的存储。cpu收到中断后,根据之前备份的数据对tcam内存进行恢复。

图3是本实施例中的tcam内存快速检测纠正流程图,如图3所示,包括以下步骤:

s301:cpu写tcam内存时,备份一份数据放在cpu内存中。

s302-s303:写tcam内存时,芯片需要自动的计算一个crc校验码,并存放在芯片自己的sram中。

s304:芯片定时扫描tcam,计算crc校验码,并和之前存储的crc校验码比较。

s305:通过比较crc校验码就能得知tcam内存是否出错。

s306:在出错的情况下,cpu根据备份的数据重写tcam。

综上所述,本实施例在写tcam时,根据crc校验原理计算校验码并保存到芯片中,定时的扫描tcam内存计算校验码,并用新的校验码和原始校验码做比较,以此实现tcam内存的错误检测。另外利用cpu中备份的数据对tcam内存进行备份。在芯片设计中不保存整个tcam内存的备份数据,而是仅保存crc校验码,利用crc校验码能快速检测出tcam内存的错误。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种数据存储的检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图4是根据本发明实施例的数据存储的检测装置的结构框图,如图4所示,该装置包括:第一确定模块42、第二确定模块44以及检测模块46,下面对该装置进行详细说明:

第一确定模块42,用于确定当前周期内,内存中存储的第一数据的第一校验信息;

第二确定模块44,连接至上述中的第一确定模块42,用于比较第一校验信息和第二校验信息,得到校验结果,其中,第二校验信息为当前周期之前的周期内内存中存储的第二数据的校验信息;

检测模块46,连接至上述中的第二确定模块,用于根据校验结果检测第二数据存储的正确性。

通过上述步骤,由于在确定的当前周期内,确定内存中存储的第一数据的第一校验信息;比较第一校验信息和第二校验信息,得到校验结果,其中,第二校验信息为当前周期之前的周期内内存中存储的第二数据的校验信息;根据校验结果检测第二数据存储的正确性。即可以实现快速的检测出内存存储的数据是否正确。因此,可以解决相关技术中不能快速检测出内存存储的数据的正确性的问题,达到快速检测内存存储的数据的正确性的效果。

可选地,上述步骤的执行主体可以为终端等,但不限于此。

需要说明的是,上述中的第二数据是存储至内存之前的原始数据,第一数据是存储至内存之后的数据。

在一个可选的实施例中,确定当前周期内,内存中存储的第一数据的第一校验信息之前,需要将第二数据写入内存;利用循环冗余校验码crc算法计算出第二数据的第二校验码,其中,第二校验码包括在第二校验信息中。

需要说明的是,在将第二数据写入内存之前,cpu对tcam的内容进行数据的备份。

需要说明的是,crc校验是一种数据传输检错功能,本质是对数据进行多项式计算,并将得到的结果附在数据的后面。接收设备也执行相同的算法,如果计算得到的crc值和数据中的一致,则表明数据传输没有错误,否则认为数据传输错误。

crc校验包括以下步骤:

s1:根据数据进行多项式计算;

s2:将计算得到的校验码附在数据的最后位置;

s3:接收设备也执行相同的算法对数据进行多项式计算,得到校验码;

s4:比较两个校验码的值,若不一致,则数据出错。

在一个可选的实施例中,利用crc算法计算出第二数据的第二校验码之后,可以将第二校验码存储在存储器中。

需要说明的是,第二校验码可以看作是原始校验码。芯片将此校验码存储在(sramstatic,ram)静态随机存取存储器中。

在一个可选的实施例中,确定当前周期内,内存中存储的第一数据的第一校验信息包括:在当前周期内,扫描内存,利用crc算法计算出第一数据的第一校验码,其中,第一校验码包括在第一校验信息中。

需要说明的是,芯片会定时扫描tcam,根据当前tcam内容通过相同的crc算法计算得到校验码。

在一个可选的实施例中,在第一校验码与第二校验码不一致的情况下,确定内存存储的第二数据出现错误,得到错误信息;基于错误信息确定内存存储的数据出现问题。将错误信息以中断方式发送至中央处理器cpu,以指示cpu恢复第二数据在内存中的存储。cpu收到中断后,根据之前备份的数据对tcam内存进行恢复。

图3是本实施例中的tcam内存快速检测纠正流程图,如图3所示,包括以下步骤:

s301:cpu写tcam内存时,备份一份数据放在cpu内存中。

s302-s303:写tcam内存时,芯片需要自动的计算一个crc校验码,并存放在芯片自己的sram中。

s304:芯片定时扫描tcam,计算crc校验码,并和之前存储的crc校验码比较。

s305:通过比较crc校验码就能得知tcam内存是否出错。

s306:在出错的情况下,cpu根据备份的数据重写tcam。

综上所述,本实施例在写tcam时,根据crc校验原理计算校验码并保存到芯片中,定时的扫描tcam内存计算校验码,并用新的校验码和原始校验码做比较,以此实现tcam内存的错误检测。另外利用cpu中备份的数据对tcam内存进行备份。在芯片设计中不保存整个tcam内存的备份数据,而是仅保存crc校验码,利用crc校验码能快速检测出tcam内存的错误。

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以上各步骤的计算机程序。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以上各步骤。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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