一种从cpu异常处理方法及装置的制造方法

文档序号:9547150阅读:197来源:国知局
一种从cpu异常处理方法及装置的制造方法
【技术领域】
[0001]本发明涉及电子技术领域,尤其涉及一种从CPU异常处理方法及装置。
【背景技术】
[0002]随着电子技术的不断提升,多核的使用已经越来越普遍,如安防行业中的NVR(Network Video Recorder,网络硬盘录像机),DC(解码器)等设备都已经使用多核,即从原来的一个CPU (Center Process Unit,中央处理单元)增加至两个或者更多CPU,其中,包括一个主CPU,以及一个或多个从CPU (多个从CPU中通常一个处于工作状态,其余处于冗余备份状态),主CPU负责业务处理,从CPU负责算法处理。
[0003]然而实践发现,在现有多核设备中,当从CPU发生异常(如从CPU挂死)时,主CPU无法获知从CPU发生异常,因而,主CPU无法采取任何措施进行异常恢复处理。

【发明内容】

[0004]本发明提供一种从CPU异常处理方法及装置,以解决现有技术中从CPU发生异常时主CPU无法对从CPU进行异常恢复处理的问题。
[0005]根据本发明实施例的第一方面,提供一种从CPU异常处理方法,应用于包括主CPU和至少一个从CPU的多核设备,包括:
[0006]检测共享缓存区中是否存在数据;
[0007]若存在,将所述数据存储到本地缓存区;
[0008]根据所述数据判断从CPU是否发生异常;
[0009]若从CPU发生异常,重启所述从CPU。
[0010]根据本发明实施例的第二方面,提供一种从CPU异常处理方法,应用于包括主CPU和至少一个从CPU的多核设备,包括:
[0011]检测从CPU是否发生异常;
[0012]当从CPU发生异常时,将异常信息对应的数据发送至共享缓存区,以使主CPU根据共享缓存区中的数据确定所述从CPU异常时,重启所述从CPU。
[0013]根据本发明实施例的第三方面,提供一种从CPU异常处理装置,应用于包括主CPU和至少一个从CPU的多核设备中的主CPU,包括:
[0014]检测单元,用于检测共享缓存区中是否存在数据;
[0015]存储单元,用于当所述共享缓存区中存在数据时,将所述数据存数到本地缓存区;
[0016]判断单元,用于根据所述数据判断从CPU是否发生异常;
[0017]异常处理单元,用于当从CPU发生异常时,重启所述从CPU。
[0018]根据本发明实施例的第四方面,提供一种从CPU异常处理装置,应用于包括主CPU和至少一个从CPU的多核设备中的从CPU,包括:
[0019]检测单元,用于检测从CPU是否发生异常;
[0020]发送单元,用于当从CPU发生异常时,将异常信息对应的数据发送至共享缓存区,以使主CPU根据共享缓存区中的数据确定所述从CPU异常时,重启所述从CPU。
[0021]应用本发明实施例,通过设置共享缓存区,该共享缓存区中可以存储从CPU的异常信息对应的数据;当主CPU检测到该共享缓存区中存在数据,可以将该数据存储到本地缓存区,并根据该数据判断从CHJ是否发生异常,若从CPU发生异常,则重启从CPU,从而,保证了主CPU能够及时发现从CPU发生异常,并进行相应的异常恢复处理。
【附图说明】
[0022]图1是本发明实施例提供的一种从CPU异常处理方法的流程示意图;
[0023]图2是本发明实施例提供的另一种从CPU异常处理方法的流程示意图;
[0024]图3是本发明实施例提供的一种从CPU异常处理装置的结构示意图;
[0025]图4是本发明实施例提供的另一种从CPU异常处理装置的结构示意图;
[0026]图5是本发明实施例提供的另一种从CPU异常处理装置的结构示意图;
[0027]图6是本发明实施例提供的一种从CPU异常处理装置的结构示意图。
【具体实施方式】
[0028]为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
[0029]请参见图1,图1为本发明实施例提供的一种从CPU异常处理方法的流程示意图,其中,该从CPU异常处理方法可以应用于包括主CPU和至少一个从CPU的多核设备,如图1所示,该从CPU异常处理方法可以包括以下步骤:
[0030]需要说明的是,本发明实施例中,步骤101?步骤104的执行主体为多核设备中的主 CPU。
[0031]步骤101、检测共享缓存区中是否存在数据。若是,转至步骤102 ;否则,结束当前流程。
[0032]本发明实施例中,考虑到现有技术中从CPU发生异常时,主CPU无法获知从CPU异常,因而,可以在多核设备中新增共享缓存区,多核设备中主CPU和从CPU均可以对该共享缓存区进行读写;当从CPU发生异常时,从CPU可以将异常信息对应的数据写入到该共享缓存区中,进而主CPU可以通过读取该共享缓存区中的数据,以确定从CPU是否发生异常。
[0033]相应地,在本发明实施例中,主CPU可以定时或周期性地扫描共享缓存区,以检测该共享缓存区中是否存在数据。
[0034]步骤102、将共享缓存区中的数据存储到本地缓存区。
[0035]本发明实施例中,当主CPU通过扫描共享缓存区检测到共享缓存区中存在数据时,主CPU可以将该共享缓存区中的数据存储到本地缓存区,如内核信息缓存区。
[0036]步骤103、根据该数据判断从CPU是否发生异常。若是,转至步骤104 ;否则,结束当前流程。
[0037]本发明实施例中,主CPU将共享缓存区中的数据存储到本地缓存区之后,可以对该数据进行分析,以确定从CPU是否发生异常。
[0038]作为一种可选的实施方式,在上述步骤102中,将共享缓存区中的数据存储到本地缓存区之后,还可以包括以下步骤:
[0039]创建一个文件节点,将本地缓存区中的数据存入该文件节点中。
[0040]在该实施方式中,为了避免主CPU由于掉电等原因导致本地缓存区中的数据丢失,主CPU将共享缓存区中的数据存储至本地缓存区之后,可以创建一个文件节点,并将本地缓存区中的数据存入该文件节点中,进而,主CPU可以将该文件节点存储到闪存或设备磁盘等存储区,以保证上述数据不受主CPU或/和设备掉电影响。
[0041]相应地,在步骤103中,根据数据判断从CPU是否发生异常,可以包括:
[0042]根据该文件节点中的数据判断从CPU是否发生异常。
[0043]步骤104、重启从CPU。
[0044]本发明实施例中,当主CPU根据获取到的数据确定从CPU发生异常时,为了保证业务能够正常运行,主CPU可以重启从CPU。
[0045]作为一种可选的实施方式,在本发明实施例中,若多核设备包括多个从CPU,上述步骤104中,重启从CPU之后,还可以包括:
[0046]启用冗余的从CPU。
[0047]在该实施方式中,当多核设备中包括多个从CPU时,主CPU在确定当前处于工作状态的从CPU发生异常,并重启该从CPU后,还可以启用冗余的从CPU,以保证业务的正常运行。
[0048]其中,当冗余的从CPU为一个时,主CPU可以直接启用该冗余的从CPU ;当冗余的从CPU为多个时,主CPU可以从该多个冗余的从CPU中选择一个启用,其具体的选择策略本发明实施例不做限定。
[0049]作为另一种可选的实施方式,在本发明实施例中,若多核设备未包括多个从CPU,上述步骤104中,重启从CPU之后,还可以包括:
[0050]根据预先存储的业务关系,重新建立主CPU与重启后的从CPU之间的业务关系。
[0051]在该实施方式中,当多核设备正常运行业务时,主CPU会根据当前正在运行的业务,将主CPU与从CPU之间的业务关系进行存储;当多核设备中仅包括一个从CPU时,主CPU在确定该从CPU发生异常,并重启该从CPU之后,还可以根据预先存储的业务关系,重新建立主CPU与重启后的从CPU之间的业务关系。
[0052]进一步地,在本发明实施例中,当主CPU确定从CPU发生异常之后,还可以根据该异常信息生成错误日志,并将该错误日志保存至flash(闪存)或本地磁盘等存储区,以便运维人员后续能够查看相关异常信息,对设备进行维护。
[0053]可见,在图1所描述的方法流程中,通过设置共享缓存区,该共享缓存区中可以存储从CPU的异常信息对应的数据;当主CPU检测到该共享缓存区中存在数据,可以将该数据存储到本地缓存区,并根据该数据判断从CPU是否发生异常,若从CPU发生异常,则重启从CPU,从而,保证了主CPU能够及时发现从CPU发生异常,并进行相应的异常恢复处理。
[0054]请参见图2,图2为本发明实施例提供的另一种从CPU异常处理方法的流程示意图,其中,该从CPU异常处理方法可以应用于包括主CPU和至少一个从CPU的多核设备,如图2所示,该从CPU异常处理方法可以包括以下步骤:
[0055]需要说明的是,在本发明实施例中,步骤201?步骤202的执行主体为多核设备中的从CPU。
[0056]步骤201、检测从CPU是否发生异常。
[0057]步骤202、当从CPU发生异常时,将异常信息对应的数据发送至共享缓存区,以使主CPU根据共享缓存区中的数据确定从CPU异常时,重启该从CPU。
[0058]本发明实施例中,考虑到现有技术中从CPU发生异常时,主CPU无法获知从CPU异常,因而,可以在多核设备中新增共享缓存区,多核设备中主CPU和从CPU均可以对该共享缓存区进行读写;当从CPU发生异常时,从CPU可以将异常信息对应的数据写入到该共享缓存区中,进而主CPU可以通过读取该共享缓存区中的数据,以确定从CPU是否发生异常。
[0059]相应地,在本发明实施例中,当从CPU发生异常时,从CPU可以将异常信息对应的数据发送至共享缓存区;当主CPU检测到共享缓存区中存在数据,并根据该数据确定从CPU发生异常时,主CPU可以重启该从CPU,以实现从CPU异常恢复。
[0060]具体地,在本发明实施例中,当从CPU发生异常时,可以将异常信息对应的数据存储到本地缓存区,并通过专门的发送线程将本地缓存区中的数据发送至共享缓存区。
[0061]为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体的应用场景对本发明实施例提供的技术方案进行描述。
[00
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1