软件异常处理系统及方法

文档序号:9597743阅读:748来源:国知局
软件异常处理系统及方法
【技术领域】
[0001]本发明涉一种软件异常处理系统及方法。
【背景技术】
[0002]CPU早已迈入了多核时代,操作系统也已经最大程度地支持多执行流程并行运行,但是传统应用程序仍然是基于单处理流程设计的,软件异常系统更是如此,并没有充分利用多核CPU带来的性能提升。
[0003]传统应用程序是基于单处理流程设计,操作系统的软件异常系统也是单处理流程的,异常处理代码与应用程序代码在同一个流程中运行会损害高速缓存,也没能充分利用多核CPU带来的性能提升。

【发明内容】

[0004]本发明的目的是提供一种软件异常处理系统及方法,以解决异常处理代码与应用程序代码在同一个流程中运行损害高速缓存以及未充分利用多核CPU提高性能的技术问题。
[0005]为实现以上发明目的,一方面,本发明提供一种软件异常处理系统,包括异常处理模块以及异常分析模块;其中,异常处理模块还包括;异常任务设置单元、异常任务处理单元以及异常函数表单元;异常分析模块还包括;异常分析单元以及异常节点表单元;
[0006]所述异常任务设置单元,用于设置异常函数表单元以及在异常任务处理单元中创建执行流程;
[0007]所述异常任务处理单元,用于获取异常节点表单元中内容并通过异常函数表单元对异常进行处理;
[0008]所述异常函数表单元,用于保存处理异常的函数;
[0009]所述异常分析单元,用于分析异常并将异常分析信息存入异常节点表单元;
[0010]所述异常节点表单元,用于保存异常分析信息。
[0011]所述异常任务设置单元分别与异常任务处理单元以及异常函数表单元连接;所述异常任务处理单元分别与异常函数表单元以及异常节点表单元连接;所述异常分析单元与异常节点表单元连接。
[0012]进一步地,所述异常节点表是队列式表单。
[0013]进一步地,所述异常函数表单元是键值对表,其中键值(key)列保存异常标号;值(value)列保存与异常标号相对应的异常处理函数。
[0014]另一方面,本发明还提供了一种软件异常处理方法,包括如下步骤:
[0015]步骤S1:异常任务设置单元开启一个新执行流程,在该执行流程中运行异常任务处理单元,并设置执行流程优先级为实时优先级;
[0016]步骤S2:通过异常任务设置单元在异常函数表单元中设置异常处理函数;
[0017]步骤S3:异常分析单元对异常进行分析,并执行步骤S301 ;
[0018]异常任务处理模块对异常节点表单元进行查询,并执行步骤302 ;
[0019]步骤S301:当异常发生时,异常分析单元对异常进行分析,并将异常保存进异常节点表单元;
[0020]步骤S302:异常任务处理单元查询异常节点表单元是否有异常;
[0021]当有异常时,执行不走S30205 ;
[0022]当没有异常时,执行步骤S302 ;
[0023]步骤S30204:异常任务处理单元将异常从异常节点表单元中取出;
[0024]步骤S30205:异常任务处理单元将异常与异常函数表单元中设置的异常进行比较,并找出对应的异常处理函数;
[0025]步骤S30206:异常任务处理单元根据步骤S30205中找出的异常处理函数对异常进行处理;
[0026]步骤S30207:异常任务处理单元对异常处理完成后,执行步骤S302。
[0027]进一步地,所述步骤S301中异常分析单元对异常进行分析包括如下步骤:
[0028]步骤S30101:异常分析单元判断异常类型;
[0029]当异常属于重度异常时,则执行步骤S3010101 ;
[0030]当异常属于中度异常时,则执行步骤S3010102 ;
[0031]当异常属于轻度异常时,则执行步骤S3010103 ;
[0032]步骤S3010101:终止当前运行的应用程序;
[0033]步骤S3010102:唤醒和/或关闭相关应用程序,并将异常保存进异常节点表单元;
[0034]步骤S3010103:将异常保存进异常节点表单元。
[0035]与现有技术相比,本发明的有益效果是:
[0036]1.本发明运用新建执行流程运行异常任务处理单元,并以实时优先级运行的技术方案,获得了降低高速缓存的损害以及提高CPU使用率的技术效果。
[0037]2.本发明运用对异常分类的技术方案,获得了系统相关的操作在核内运行,应用相关的操作交由异常处理模块运行的技术效果。
【附图说明】
[0038]图1是本发明的软件异常处理系统的框图;
[0039]图2是本发明的软件异常处理方法的流程图;
[0040]图3是本发明的软件异常处理方法的具体实施例的流程图。
[0041 ]图中,
[0042]异常处理模块1 ;异常任务设置单元101、异常任务处理单元102、异常函数表单元103
[0043]异常分析模块2 ;异常分析单元201、异常节点表单元202。
【具体实施方式】
[0044]下面结合附图和具体实施例对本发明作进一步说明。
[0045]具体实施例1:
[0046]如图1所示,本发明提供了一种软件异常处理系统,包括异常处理模块1以及异常分析模块2 ;其中,异常处理模块1还包括;异常任务设置单元101、异常任务处理单元102以及异常函数表单元103 ;异常分析模块2还包括;异常分析单元201以及异常节点表单元202 ;
[0047]异常任务设置单元101,用于设置异常函数表单元103以及在异常任务处理单元102中创建执行流程;
[0048]异常任务处理单元102,用于获取异常节点表单元202中内容并通过异常函数表单元103对异常进行处理;
[0049]异常函数表单元103,用于保存处理异常的函数;
[0050]异常分析单元201,用于分析异常并将异常分析信息存入异常节点表单元202 ;
[0051]异常节点表单元202,用于保存异常分析信息。
[0052]异常任务设置单元101分别与异常任务处理单元102以及异常函数表单元103连接;异常任务处理单元102分别与异常函数表单元103以及异常节点表单元202连接;异常分析单元201与异常节点表单元202连接。
[0053]具体实施例2:
[0054]如图2所示,本发明提供了一种软件异常处理方法,包括如下步骤:
[0055]步骤S1:异常任务设置单元101开启一个新执行流程,在该执行流程中运行异常任务处理单元102,并设置执行流程优先级为实时优先级;
[0056]步骤S2:通过异常任务设置单元101在异常函数表单元103中设置异常处理函数;
[0057]步骤S3:异常分析单元201对异常进行分析,并执行步骤S301 ;
[0058]异常任务处理模块102对异常节点表单元进行查询,并执行步骤S302 ;
[0059]步骤S301:当异常发生时,异常分析单元201对异常进行分析,并将异常保存进异常节点表单元202 ;
[0060]步骤S302:异常任务处理单元102查询异常节点表单元202是否有异常;
[0061]当有异常时,执行不走S30205 ;
[0062]当没有异常时,执行步骤S302 ;
[0063]步骤S30204:异常任务处理单元102将异常从异常节点表单元202中取出;
[0064]步骤S30205:异常任务处理单元102将异常与异常函数表单元103中设置的异常进行比较,并找出对应的异常处理函数;
[0065]步骤S30206:异常任务处理单元102根据步骤S30205中找出的异常处理函数对异常进行处理;
[0066]步骤S30207:异常任务处理单元102对异常处理完成后,执行步骤S302。
[0067]结合具体实施例1与具体实施例2具体来说,当应用程序启动前异常任务设置单元新建立一个与提供应用程序运行的执行流程不同的执行流程,供给异常任务处理单元进行运行。此时应用程序与异常任务处理单元在CPU中属于并行状态。设计人员可以根据要求,通过异常任务设置单元在异常函数表单元中设置异常处理函数。当应用程序出现异常时,异常分析单元对异常进行分析,并将异常保存进异常节点表单元。由于异常任务处理单元是在时刻查询异常节点表单元中是否有异常存在的,同时,在设置
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1