一种记录异常数据的方法及装置的制作方法

文档序号:6601158阅读:467来源:国知局
专利名称:一种记录异常数据的方法及装置的制作方法
技术领域
本发明涉及嵌入式技术领域,尤其涉及一种记录异常数据的方法及装置。
背景技术
随着嵌入式技术的发展。嵌入式设备不仅能完成简单控制功能,已经能完成更多 更复杂的功能,例如各种信号处理算法、各类协议等。复杂的嵌入式设备被设计成由多处理 器组成的分布式架构,其对应的嵌入式系统更是复杂。对于如此复杂的嵌入式系统,虽然其 软件和硬件的各个模块都经过严格的测试,但缺陷在所难免。为了提高软件质量,在实际应 用中,检测到的缺陷一般都需要被记录下来。一种传统的异常记录方法是在异常发生后,在屏幕或终端打印异常相关数据,但 这种方法提供的异常信息量有限;另一种方法是如果嵌入是设备可以外接存储设备,则在 每次出现异常时,将异常相关数据转存到外部存储设备,由于对外部存储设置的访问速率 较低,一旦级别高的异常触发设备复位或重启,转存操作会大大延长系统复位或重启时间, 从而导致转存速度慢、效率低。针对相关技术中存在异常数据转存速度慢、效率低的问题,目前尚未提出有效的 解决方案。

发明内容
本发明的主要目的在于提供一种记录异常数据的方法及装置,以解决现有技术中 异常数据转存速度慢、效率低的问题。根据本发明的一个方面,提供了一种记录异常数据的方法,包括嵌入式设备中的 处理器检测到嵌入式设备发生异常;将异常数据存储至嵌入式设备的内存中的存储区;以 及若符合转存条件,将存储区中的数据转存至与嵌入式设备连接的外部存储器。根据本发明的另一个方面,提供了一种记录异常数据的装置,包括检测模块,用 于检测嵌入式设备的异常,并触发暂存模块;暂存模块,用于将异常数据存储至嵌入式设备 的内存中的存储区;转存模块,用于依据转存条件,将存储区中的数据转存至与嵌入式设备 连接的外部存储器。通过本发明,通过设置转存条件,触发异常数据转存操作,解决了现有技术中每次 出现异常都需转存异常数据,导致的转存操作存在的速度慢、效率低的问题。根据本发明的 技术方案,可以确定合适的转存时机,避免异常数据存储区溢出,避免异常数据反复转存, 从而减少了 CPU访问外接设备的频率,大大节省了设备资源,并且应用范围广,可以适用于 分布式嵌入式设备。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中
图1是根据本发明实施例一的嵌入式设备的结构示意图;图2是根据本发明实施例二的嵌入式设备的结构示意图;图3是根据本发明实施例三的定时触发转存方法的流程图;图4是根据本发明实施例四的空间使用率触发转存方法的流程图;图5是根据本发明实施例五的分布式嵌入式设备的结构示意图;图6是根据本发明实施例六的应用于分布式嵌入式设备的转存方法流程图;图7是根据本发明实施例七的记录异常数据的装置的结构框图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。实施例一本实施例,提供了 一种记录异常数据的方法。图1是根据本发明实施例一的嵌入式设备的结构示意图,图1中示出了与本发明 实施例的记录异常数据的方法相关的硬件,其中,嵌入式设备10包括处理器101、存储介 质(内存)102、模块103、以及耦接嵌入式设备10的外部存储器20 (例如,可以但不限于是 硬盘、U盘等低速存储器),存储区1020在存储介质102中。结合图1,本实施例提供的记录异常数据的方法包括步骤S102,处理器101检测到嵌入式设备10发生异常,例如模块103发生异常;步骤S104,实时地将与异常相关的异常数据存储至存储介质102中的存储区 1020 ;以及步骤S106,判断存储区1020符合转存条件,将存储区1020中的数据转存至外部存 储器20。由于现有技术中,嵌入式设备的CPU每次检测到系统出现异常,都需要将异常数 据转存至外接存储介质。CPU频繁控制外部存储介质的读写操作,占用了大量的CPU资源, 一旦级别高的异常触发设备复位或重启,转存操作会大大延长系统复位或重启时间,从而 导致转存速度慢、效率低。本实施提供的上述记录异常数据的方法,在CPU 10检测到设备异常(例如是模块 103发生异常)后,并不立即将相关的异常数据转存至外部存储器20,而是将异常数据记录 在设备的内置存储介质的特定存储区1020中,该存储区专用于存储设备异常的相关数据, 在设备启动时,由CPU申请,当该特定存储区1020满足转存条件时,触发转存操作,在实施 过程中,可以根据设备的特点设置转存条件,例如可以但不限于根据设备的存储空间的使 用率设置空间转存条件,或者根据CPU的处理速度设置定时触发转存的转存条件,也可以 结合上述两种因素设置转存条件。在实施过程中,上述步骤S 102中,处理器101检测到嵌入式设备发生异常可以但 不限于以下两种情况(1)主动检测到的异常,例如通过主动轮询机制实施检测发现的异 常。(2)被动接收到的异常。在实施过程中,上述步骤S104中,可以将上述特定存储区1020划分为多个子区 域,例如按照异常对应的任务、模块或流程划分子区域,发生异常后,异常数据存储在相应的子分区中。需要说明的是,如果设置空间转存条件,则可以在每次执行步骤S104之后,执行 步骤S106,如果设置定时转存条件,则步骤S106的触发条件是定时到时,步骤S106与步骤 S104没有严格的先后顺序。本实施例提供的上述记录异常数据的方法,通过设置转存条件,由设备的处理器 判断特定存储区是否满足转存条件,如果是,则触发异常数据的转存操作,否则,不作转存 操作,直到特定存储区满足转存条件,才触发异常数据的转存操作。从而解决了现有技术中 异常数据的转存操作存在的速度慢、效率低的问题。减少了 CPU访问外接设备的频率,大大 节省了设备资源。实施例二在本实施例中,提供了 一种优选的记录异常数据的方法。图2是根据本发明实施例二的嵌入式设备的结构示意图。如图2所示,内置存储 介质102包括非易失存储介质104和易失存储介质105,在本实施例中,主存储区1020在易 失存储介质105中,备份区1021在非易失存储介质104中。结合图2,本实施例提供的优选的记录异常数据的方法除包括上述实施例一的所 有技术特征之外,还包括处理器101将异常数据存储至主存储区1020的同时,将异常数据 存储至备份区1021中;如果异常导致设备重启,则在重启后,处理器101将备份区1021的 数据拷贝到主存储区1020中。在异常之后,如果设备不得不重启,那么仅将异常数据存储至易失存储介质,在设 备重启后整块易失性内存将被清零。为解决这个问题,可以设备内置的非易失性内存中申 请一个备份区域,将异常数据同时写入该备份区,在重启后,再将备份区的数据写回存储 区,从而保证异常数据不丢失。需要说明的是,备份区的存储空间可以根据设备的资源特点 申请,可以但不限于将备份区设置为与上述存储区的大小相同,也可以小于上述存储区的 大小,只要保证能够存储最近的异常数据即可。实施例三上述实施例一中提到,可以根据设备的特点设置转存条件,本实施例提供的优选 的记录异常数据的方法,应用于图2所示嵌入式设备,采用的转存条件如下处理器101计 时累计达到预设的时间间隔时,主存储区1020的已用空间不为0,如果处理器101计时累计 达到预设的时间间隔且主存储区1020的已用空间为0,则不转存。在实施过程中,处理器101在设备10启动时开始计时,处理器101在计时累计达 到时间间隔时,重新开始计时。通过上述手段,可以根据处理器的处理速度,在不影响设备正常工作的前提下,利 用处理器中的定时装置,合理设置定时的时间间隔,充分利用了设备的现有资源设置转发 条件,确定触发时机,便于实现。在实施过程中,主存储区1020的数据转存至外部存储器20之后,处理器101清空 主存储区1020,以避免主存储区1020溢出,或避免主存储区1020存储的数据被多次转存至 外部存储器20。图3是根据本发明实施例三的定时触发转存方法的流程图,该流程包括步骤S301,设备启动时,启动定时器开始计时;
5
步骤S302,定时器到时,停止计时,检查主存储区1020是否为空,如果是,则执行 步骤S304,否则执行步骤S303 ;步骤S303,触发CPU 101将主存储区1020的异常数据转存至外部存储器20,并执 行步骤S304 ;步骤S304,定时器重新计时,并清空主存储区1020。实施例四上述实施例一中提到,可以根据设备的特点设置转存条件,本实施例提供的优选 的记录异常数据的方法,应用于图2所示嵌入式设备,采用的转存条件如下存储区1020的 已用空间达到或超过阈值。采用这种手段设置转存条件,主要是从主存储区1020的空间使 用率上考虑,为了避免主存储区1020出现数据溢出,通过设置合适的阈值作为数据转存的 触发条件,在实施过程中,该阈值可以根据主存储区1020的总空间以及每次异常的异常数 据的大小来确定,可以但不限于将上述阈值设置为主存储区1020的总空间的一半,在提高 了转出效率的同时,避免了主存储区1020出现数据溢出。图4是根据本发明实施例四的空间使用率触发转存方法的流程图,包括步骤S401,设备系统启动后,在易失内存105中申请主存储区1020,用于异常信息 的快速记录;步骤S402,将非易失内存104中的备份区1021的异常数据拷贝入主存储区1020 中。保证重启前的最后若干条异常数据被保留下来;步骤S403,通过主动轮询检测异常或者被动接收异常通知的方法发现异常;步骤S404,生成异常的分类及描述信息;步骤S405,将异常记录到主存储区1020中;步骤S406,同时将异常记录到备份区1021中;步骤S407,检查主存储区1020的已用空间是否达到或超过存储区1020总空间的
一半;步骤S408,如果条件满足则将主存储区1020的数据转存至外部存储器20 ;步骤S409,清空主存储区1020 ;等待下一次异常的发现,重复步骤S403到步骤S409。实施例五本实施例提供的优选的记录异常数据的方法,应用于图2所示嵌入式设备,采用 的转存条件包括处理器101计时累计达到预设的时间间隔时,主存储区1020的已用空间 不为0,或者处理器101在设备10启动时开始计时,处理器101在计时累计达到时间间隔 时,重新开始计时。 本实施例采用的转存条件结合了上述实施例三和实施例四的两种转存条件,在实 施过程中,处理器101在设备启动后启动计时器开始计时,在计时到时后,无论当前是否有 异常发生,都根据计时转存条件判断是否触发异常数据转存。在每次发生异常时,将异常数 据存储至主存储区1020之后,都根据空间转存条件判断是否触发异常数据转存。结合计时 转存条件和空间转存条件,使得触发异常数据转存操作的时机更加合理。实施例六随着嵌入式技术的发展,嵌入式设备已经发展到具有多个处理器的分布式结构,对于分布式嵌入式设备,多个处理器各有分工,并协同工作。往往只会设计成一个或部分处 理器可以直接访问外部存储设备。没有外部存储设备的处理器一般不能直接对内存数据进 行转存。而由于异常的发生,通往其他处理器的通道可能也已经不可使用,也就是说,异常 数据也无法发送到其他处理器进行转存。图5是根据本发明实施例六的分布式嵌入式设备的结构示意图。如图5所示,分 布式嵌入式设备10还包括处理器106,其他处理器未示出。各处理器使用各自的内存(非 共享),非易失内存存储的内容掉电不丢失;处理器106可以直接访问外部存储器20,处理 器101不能直接访问外部存储器20,处理器101和处理器106之间可以通信,通过处理器 106间接访问外部存储器20。本实施例提供的记录异常数据的方法,适用于分布嵌入式设备,如果处理器101 不能直接访问外部存储器20,则如图6所示,处理器101可以但不限于通过以下方法,将主 存储区1020的异常数据转存至外部存储器20 S601,处理器101将主存储区1020的数据发送至处理器106 ;S602,处理器106结合计时转存条件和/或空间转存条件,将数据转存至所述外部 存储器20。与现 有技术相比,本实施例提供的记录异常数据的方法,支持分布式嵌入式设备, 提高了该方法的适用范围。实施例七本实施例,提供了 一种记录异常数据的装置。图7是根据本发明实施例七的记录异常数据的装置的结构框图,如图7,该装置包 括检测模块70、暂存模块72、转存模块74。其中,检测模块70,用于检测嵌入式设备的异 常,并触发暂存模块72;暂存模块72,用于将异常数据存储至嵌入式设备的内存中的存储 区;转存模块74,用于依据转存条件,将所述存储区中的数据转存至与所述嵌入式设备连 接的外部存储器。本实施例提供的上述记录异常数据的装置,通过设置转存条件,由设备的处理器 判断特定存储区是否满足转存条件,如果是,则触发异常数据的转存操作,否则,不作转存 操作,直到特定存储区满足转存条件,才触发异常数据的转存操作。从而解决了现有技术中 异常数据的转存操作存在的速度慢、效率低的问题。减少了 CPU访问外接设备的频率,大大 节省了设备资源。从以上的描述中,可以看出,本发明解决了现有技术中异常数据的转存操作存在 的速度慢、效率低的问题。实现了如下技术效果1、减少了 CPU访问外接设备的频率,大大 节省了设备资源。2、设备重启后,异常数据不丢失。3、灵活的转存触发条件,避免异常数据 存储区溢出。4、灵活的转存触发条件,避免异常数据反复转存。5、适用范围广,支持分布式 嵌入式设备。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种记录异常数据的方法,其特征在于,包括嵌入式设备中的处理器检测到所述嵌入式设备发生异常;将异常数据存储至所述嵌入式设备的内存中的存储区;以及若符合转存条件,将所述存储区中的数据转存至与所述嵌入式设备连接的外部存储器。
2.根据权利要求1所述的方法,其特征在于,所述内存中的存储区分为包括非易失内存备份区和易失内存主存储区;所述处理器将所述异常数据存储至易失内存主存储区的同时,将所述异常数据存储至 非易失内存备份区。
3.根据权利要求2所述的方法,其特征在于,还包括若所述异常导致所述嵌入式设备重启,则在重启后,所述处理器将所述备份区的数据 拷贝到所述易失内存主存储区。
4.根据权利要求1所述的方法,其特征在于,所述转存条件为所述处理器计时累计达到预设的时间间隔或所述存储区的已用空间达到或超过阈值。
5.根据权利要求4所述的方法,其特征在于,所述处理器计时累计达到预设的时间间 隔且所述存储区的已用空间为0,则不转存。
6.根据权利要求4所述的方法,其特征在于,所述阈值为所述存储区的总空间的一半。
7.根据权利要求1所述的方法,其特征在于,还包括在所述存储区的数据转存至所述 外部存储器之后,所述处理器清空所述存储区。
8.根据权利要求1所述的方法,其特征在于,所述外部存储器通过另一处理器与所述 处理器连接。
9.根据权利要求8所述的方法,其特征在于,所述处理器将所述存储区中的数据发送至所述另一处理器;以及所述另一处理器结合转存条件,将所述数据转存至所述外部存储器。
10.一种记录异常数据的装置,其特征在于,包括检测模块,用于检测嵌入式设备的异常,并触发暂存模块;所述暂存模块,用于将异常 数据存储至所述嵌入式设备的内存中的存储区;转存模块,用于依据转存条件,将所述存储区中的数据转存至与所述嵌入式设备连接 的外部存储器。
全文摘要
本发明公开了一种记录异常数据的方法及装置,包括嵌入式设备中的处理器检测到嵌入式设备发生异常;将异常数据存储至嵌入式设备的内存中的存储区;若符合转存条件,将存储区中的数据转存至与嵌入式设备连接的外部存储器。根据本发明的技术方案,可以确定合适的转存时机,避免异常数据存储区溢出,避免异常数据反复转存,从而减少了CPU访问外接设备的频率,大大节省了设备资源,并且应用范围广,可以适用于分布式嵌入式设备。
文档编号G06F11/22GK101853196SQ20101015376
公开日2010年10月6日 申请日期2010年4月21日 优先权日2010年4月21日
发明者徐融, 王立春 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1