CN105354105B - 软件异常处理系统及方法 - Google Patents

软件异常处理系统及方法 Download PDF

Info

Publication number
CN105354105B
CN105354105B CN201510713896.2A CN201510713896A CN105354105B CN 105354105 B CN105354105 B CN 105354105B CN 201510713896 A CN201510713896 A CN 201510713896A CN 105354105 B CN105354105 B CN 105354105B
Authority
CN
China
Prior art keywords
abnormal
unit
anomaly
processing
table unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510713896.2A
Other languages
English (en)
Other versions
CN105354105A (zh
Inventor
李小庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DMS Corp.
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201510713896.2A priority Critical patent/CN105354105B/zh
Publication of CN105354105A publication Critical patent/CN105354105A/zh
Application granted granted Critical
Publication of CN105354105B publication Critical patent/CN105354105B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种软件异常处理系统及方法,包括异常处理模块以及异常分析模块;异常处理模块还包括;异常任务设置单元、异常任务处理单元以及异常函数表单元;异常分析模块还包括;异常分析单元以及异常节点表单元;所述异常任务设置单元分别与异常任务处理单元以及异常函数表单元连接;所述异常任务处理单元分别与异常函数表单元以及异常节点表单元连接;所述异常分析单元与异常节点表单元连接。本发明主要通过将异常任务处理单元运行在不同于应用程序运行的执行流程中的技术方案,能够实现降低高速缓存的损害以及提高CPU使用率的技术效果。

Description

软件异常处理系统及方法
技术领域
本发明涉一种软件异常处理系统及方法。
背景技术
CPU早已迈入了多核时代,操作系统也已经最大程度地支持多执行流程并行运行,但是传统应用程序仍然是基于单处理流程设计的,软件异常系统更是如此,并没有充分利用多核CPU带来的性能提升。
传统应用程序是基于单处理流程设计,操作系统的软件异常系统也是单处理流程的,异常处理代码与应用程序代码在同一个流程中运行会损害高速缓存,也没能充分利用多核CPU带来的性能提升。
发明内容
本发明的目的是提供一种软件异常处理系统及方法,以解决异常处理代码与应用程序代码在同一个流程中运行损害高速缓存以及未充分利用多核CPU提高性能的技术问题。
为实现以上发明目的,一方面,本发明提供一种软件异常处理系统,包括异常处理模块以及异常分析模块;其中,异常处理模块还包括;异常任务设置单元、异常任务处理单元以及异常函数表单元;异常分析模块还包括;异常分析单元以及异常节点表单元;
所述异常任务设置单元,用于设置异常函数表单元以及在异常任务处理单元中创建执行流程;
所述异常任务处理单元,用于获取异常节点表单元中内容并通过异常函数表单元对异常进行处理;
所述异常函数表单元,用于保存处理异常的函数;
所述异常分析单元,用于分析异常并将异常分析信息存入异常节点表单元;
所述异常节点表单元,用于保存异常分析信息。
所述异常任务设置单元分别与异常任务处理单元以及异常函数表单元连接;所述异常任务处理单元分别与异常函数表单元以及异常节点表单元连接;所述异常分析单元与异常节点表单元连接。
进一步地,所述异常节点表是队列式表单。
进一步地,所述异常函数表单元是键值对表,其中键值(key)列保存异常标号;值(value)列保存与异常标号相对应的异常处理函数。
另一方面,本发明还提供了一种软件异常处理方法,包括如下步骤:
步骤S1:异常任务设置单元开启一个新执行流程,在该执行流程中运行异常任务处理单元,并设置执行流程优先级为实时优先级;
步骤S2:通过异常任务设置单元在异常函数表单元中设置异常处理函数;
步骤S3:异常分析单元对异常进行分析,并执行步骤S301;
异常任务处理模块对异常节点表单元进行查询,并执行步骤302;
步骤S301:当异常发生时,异常分析单元对异常进行分析,并将异常保存进异常节点表单元;
步骤S302:异常任务处理单元查询异常节点表单元是否有异常;
当有异常时,执行不走S30205;
当没有异常时,执行步骤S302;
步骤S30204:异常任务处理单元将异常从异常节点表单元中取出;
步骤S30205:异常任务处理单元将异常与异常函数表单元中设置的异常进行比较,并找出对应的异常处理函数;
步骤S30206:异常任务处理单元根据步骤S30205中找出的异常处理函数对异常进行处理;
步骤S30207:异常任务处理单元对异常处理完成后,执行步骤S302。
进一步地,所述步骤S301中异常分析单元对异常进行分析包括如下步骤:
步骤S30101:异常分析单元判断异常类型;
当异常属于重度异常时,则执行步骤S3010101;
当异常属于中度异常时,则执行步骤S3010102;
当异常属于轻度异常时,则执行步骤S3010103;
步骤S3010101:终止当前运行的应用程序;
步骤S3010102:唤醒和/或关闭相关应用程序,并将异常保存进异常节点表单元;
步骤S3010103:将异常保存进异常节点表单元。
与现有技术相比,本发明的有益效果是:
1.本发明运用新建执行流程运行异常任务处理单元,并以实时优先级运行的技术方案,获得了降低高速缓存的损害以及提高CPU使用率的技术效果。
2.本发明运用对异常分类的技术方案,获得了系统相关的操作在核内运行,应用相关的操作交由异常处理模块运行的技术效果。
附图说明
图1是本发明的软件异常处理系统的框图;
图2是本发明的软件异常处理方法的流程图;
图3是本发明的软件异常处理方法的具体实施例的流程图。
图中,
异常处理模块1;异常任务设置单元101、异常任务处理单元102、异常函数表单元103
异常分析模块2;异常分析单元201、异常节点表单元202。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
具体实施例1:
如图1所示,本发明提供了一种软件异常处理系统,包括异常处理模块1以及异常分析模块2;其中,异常处理模块1还包括;异常任务设置单元101、异常任务处理单元102以及异常函数表单元103;异常分析模块2还包括;异常分析单元201以及异常节点表单元202;
异常任务设置单元101,用于设置异常函数表单元103以及在异常任务处理单元102中创建执行流程;
异常任务处理单元102,用于获取异常节点表单元202中内容并通过异常函数表单元103对异常进行处理;
异常函数表单元103,用于保存处理异常的函数;
异常分析单元201,用于分析异常并将异常分析信息存入异常节点表单元202;
异常节点表单元202,用于保存异常分析信息。
异常任务设置单元101分别与异常任务处理单元102以及异常函数表单元103连接;异常任务处理单元102分别与异常函数表单元103以及异常节点表单元202连接;异常分析单元201与异常节点表单元202连接。
具体实施例2:
如图2所示,本发明提供了一种软件异常处理方法,包括如下步骤:
步骤S1:异常任务设置单元101开启一个新执行流程,在该执行流程中运行异常任务处理单元102,并设置执行流程优先级为实时优先级;
步骤S2:通过异常任务设置单元101在异常函数表单元103中设置异常处理函数;
步骤S3:异常分析单元201对异常进行分析,并执行步骤S301;
异常任务处理模块102对异常节点表单元进行查询,并执行步骤S302;
步骤S301:当异常发生时,异常分析单元201对异常进行分析,并将异常保存进异常节点表单元202;
步骤S302:异常任务处理单元102查询异常节点表单元202是否有异常;
当有异常时,执行不走S30205;
当没有异常时,执行步骤S302;
步骤S30204:异常任务处理单元102将异常从异常节点表单元202中取出;
步骤S30205:异常任务处理单元102将异常与异常函数表单元103中设置的异常进行比较,并找出对应的异常处理函数;
步骤S30206:异常任务处理单元102根据步骤S30205中找出的异常处理函数对异常进行处理;
步骤S30207:异常任务处理单元102对异常处理完成后,执行步骤S302。
结合具体实施例1与具体实施例2具体来说,当应用程序启动前异常任务设置单元新建立一个与提供应用程序运行的执行流程不同的执行流程,供给异常任务处理单元进行运行。此时应用程序与异常任务处理单元在CPU中属于并行状态。设计人员可以根据要求,通过异常任务设置单元在异常函数表单元中设置异常处理函数。当应用程序出现异常时,异常分析单元对异常进行分析,并将异常保存进异常节点表单元。由于异常任务处理单元是在时刻查询异常节点表单元中是否有异常存在的,同时,在设置执行流程时设置了执行流程是实时优先级的执行流程,即优先其他流程执行的执行流程,所以,当异常被保存进异常节点表单元中时,异常任务处理单元就能实时获知有异常出现,并及时处理异常。异常任务处理单元将异常从异常节点表单元中取出,并在异常函数表单元中查询相应的处理函数,根据处理函数对异常进行处理。
具体实施例3:
如图3所示,本发明提供了一种软件异常处理方法,包括如下步骤:
步骤A1:异常任务设置单元101开启一个新执行流程,在该执行流程中运行异常任务处理单元102,并设置执行流程优先级为实时优先级;
步骤A2:通过异常任务设置单元101在异常函数表单元103中设置异常处理函数;
步骤A3:异常分析单元201对异常进行分析,并执行步骤A30101;
异常任务处理模块102对异常节点表单元进行查询,并执行步骤A302;
步骤A30101:异常分析单元201判断异常类型;
当异常属于重度异常时,则执行步骤A3010101;
当异常属于中度异常时,则执行步骤A3010102;
当异常属于轻度异常时,则执行步骤A3010103;
步骤A3010101:终止当前运行的应用程序;
步骤A3010102:唤醒和/或关闭相关应用程序,并将异常保存进异常节点表单元202;
步骤A3010103:将异常保存进异常节点表单元202;
步骤A302:异常任务处理单元102查询异常节点表单元202是否有异常;
当有异常时,执行不走A30205;
当没有异常时,执行步骤A302;
步骤A30204:异常任务处理单元102将异常从异常节点表单元202中取出;
步骤A30205:异常任务处理单元102将异常与异常函数表单元103中设置的异常进行比较,并找出对应的异常处理函数;
步骤A30206:异常任务处理单元102根据步骤A30205中找出的异常处理函数对异常进行处理;
步骤A30207:异常任务处理单元102对异常处理完成后,执行步骤A302。
其中,将具体实施例2中的步骤S301具体化为步骤A301、A3010101、A3010102以及A3010103。
本具体实施例以键值对表作为异常函数表单元的具体化实施,以队列表作为异常节点表单元的具体化实施。
具体来说,当应用程序启动前异常任务设置单元新建立一个与提供应用程序运行的执行流程不同的执行流程,供给异常任务处理单元进行运行。此时应用程序与异常任务处理单元在CPU中属于并行状态。设计人员可以根据要求,通过异常任务设置单元在键值对表中设置异常处理函数,将异常标号作为键值对表中的键值(key)列,将异常函数作为键值对表中的值(vaule)列,例如:异常标号“0”;对应异常函数“记录报错信息”,异常标号“1”;对应异常函数“显示报错”等。当应用程序出现异常时,异常分析单元对异常进行分析,此时,将异常分成三类异常:
第一类异常与当前应用程序高度关联,并且已经或即将破坏应用程序的数据;
第二类异常与当前应用程序相关联,需要唤醒相关的睡眠应用程序,并且应用程序的系统调用会以出错的形式返回,相关的代码检查到这个出错退出后,可以选择退出应用程序或重新执行系统调用;
第三类异常与当前应用程序无关,只是刚好发生在应用程序运行时;
异常分析单元对第一类异常做出终止应用程序的操作;对第二类异常做出唤醒和/或关闭相关应用程序,并将异常标号保存进队列表队尾;对第三类异常标号做出直接保存进队列表队尾。
由于异常任务处理单元是在时刻查询队列表中是否有异常存在的,同时,在设置执行流程时设置了执行流程是实时优先级的执行流程,即优先其他流程执行的执行流程,所以,当异常被保存进队列表中时,异常任务处理单元就能实时获知有异常出现,并及时处理异常。异常任务处理单元将异常从队列表队首中取出,并在键值对表中查询相应的处理函数,例如:当异常分析单元分析出异常标号是“0”时,异常任务处理单元根据异常标号“0”在键值对表中查询出异常处理函数“记录报错信息”,根据处理函数对异常进行处理。
除上述实施例外,本发明还可以有其他实施方式,凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围内。

Claims (5)

1.软件异常处理系统,其特征在于,包括异常处理模块以及异常分析模块;其中,异常处理模块还包括:异常任务设置单元、异常任务处理单元以及异常函数表单元;异常分析模块还包括:异常分析单元以及异常节点表单元;
所述异常任务设置单元,用于设置异常函数表单元以及在异常任务处理单元中创建执行流程;
所述异常任务处理单元,用于获取异常节点表单元中内容并通过异常函数表单元对异常进行处理;
所述异常函数表单元,用于保存处理异常的函数;
所述异常分析单元,用于分析异常并将异常分析信息存入异常节点表单元;
所述异常节点表单元,用于保存异常分析信息;
所述异常任务设置单元分别与异常任务处理单元以及异常函数表单元连接;
所述异常任务处理单元分别与异常函数表单元以及异常节点表单元连接;所述异常分析单元与异常节点表单元连接。
2.如权利要求1所述的软件异常处理系统,其特征在于,所述异常节点表是队列式表单。
3.如权利要求1或2中任一所述的软件异常处理系统,其特征在于,所述异常函数表单元是键值对表,其中键值(key)列保存异常标号;值(value)列保存与异常标号相对应的异常处理函数。
4.软件异常处理方法,其特征在于,所述软件异常处理方法应用于如权利要求1-3中任一所述的软件异常处理系统,包括如下步骤:
步骤S1:异常任务设置单元开启一个新执行流程,在该执行流程中运行异常任务处理单元,并设置执行流程优先级为实时优先级;
步骤S2:通过异常任务设置单元在异常函数表单元中设置异常处理函数;
步骤S3:异常分析单元对异常进行分析,并执行步骤S301;
异常任务处理模块对异常节点表单元进行查询,并执行步骤S302;
步骤S301:当异常发生时,异常分析单元对异常进行分析,并将异常保存进异常节点表单元;
步骤S302:异常任务处理单元查询异常节点表单元是否有异常;
当有异常时,执行步骤S30204;
当没有异常时,执行步骤S302;
步骤S30204:异常任务处理单元将异常从异常节点表单元中取出;
步骤S30205:异常任务处理单元将异常与异常函数表单元中设置的异常进行比较,并找出对应的异常处理函数;
步骤S30206:异常任务处理单元根据步骤S30205中找出的异常处理函数对异常进行处理;
步骤S30207:异常任务处理单元对异常处理完成后,执行步骤S302。
5.如权利要求4所述的软件异常处理方法,其特征在于,所述步骤S301中异常分析单元对异常进行分析包括如下步骤:
步骤S30101:异常分析单元判断异常类型;
当异常属于重度异常时,则执行步骤S3010101;
当异常属于中度异常时,则执行步骤S3010102;
当异常属于轻度异常时,则执行步骤S3010103;
步骤S3010101:终止当前运行的应用程序;
步骤S3010102:唤醒和/或关闭相关应用程序,并将异常保存进异常节点表单元;
步骤S3010103:将异常保存进异常节点表单元。
CN201510713896.2A 2015-10-28 2015-10-28 软件异常处理系统及方法 Active CN105354105B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510713896.2A CN105354105B (zh) 2015-10-28 2015-10-28 软件异常处理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510713896.2A CN105354105B (zh) 2015-10-28 2015-10-28 软件异常处理系统及方法

Publications (2)

Publication Number Publication Date
CN105354105A CN105354105A (zh) 2016-02-24
CN105354105B true CN105354105B (zh) 2018-04-06

Family

ID=55330079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510713896.2A Active CN105354105B (zh) 2015-10-28 2015-10-28 软件异常处理系统及方法

Country Status (1)

Country Link
CN (1) CN105354105B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452420A (zh) * 2008-12-30 2009-06-10 中兴通讯股份有限公司 一种嵌入式软件异常监控和处理装置及其方法
CN101599039A (zh) * 2008-06-03 2009-12-09 华为技术有限公司 嵌入式c语言环境下异常处理方法及装置
CN102422261A (zh) * 2009-05-06 2012-04-18 微软公司 对所引起的异常的通知

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352921B2 (en) * 2007-11-02 2013-01-08 Klocwork Corp. Static analysis defect detection in the presence of virtual function calls
WO2014166526A1 (de) * 2013-04-09 2014-10-16 Siemens Aktiengesellschaft Mehrkern-prozessorsystem mit fehleranalysefunktion

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599039A (zh) * 2008-06-03 2009-12-09 华为技术有限公司 嵌入式c语言环境下异常处理方法及装置
CN101452420A (zh) * 2008-12-30 2009-06-10 中兴通讯股份有限公司 一种嵌入式软件异常监控和处理装置及其方法
CN102422261A (zh) * 2009-05-06 2012-04-18 微软公司 对所引起的异常的通知

Also Published As

Publication number Publication date
CN105354105A (zh) 2016-02-24

Similar Documents

Publication Publication Date Title
US20200073712A1 (en) Method, apparatus, device and medium for processing topological relation of tasks
CN107526645B (zh) 一种通信优化方法及系统
CN100504827C (zh) 在次序混乱的dma命令队列中建立命令次序
CN105488185B (zh) 一种知识库的优化方法和装置
US20180212986A1 (en) Network attack detection method and device
CN106603264A (zh) 一种定位故障根源的方法和设备
CN110019133A (zh) 数据在线迁移方法和装置
CN115150471B (zh) 数据处理方法、装置、设备、存储介质及程序产品
CN109726004B (zh) 一种数据处理方法及装置
US20150089415A1 (en) Method of processing big data, apparatus performing the same and storage media storing the same
CN106126601A (zh) 一种社保大数据分布式预处理方法及系统
CN105260238B (zh) 一种多进程提升性能部署的方法
CN106682036A (zh) 一种数据交换系统及其交换方法
CN106484425B (zh) 一种基于策略配置的异常处理方法
US9965252B2 (en) Method and system for generating stateflow models from software requirements
CN111914010B (zh) 业务处理的方法、装置、设备以及存储介质
CN108255467A (zh) 按照工作流顺序执行服务的方法、装置及系统
CN104184601B (zh) 用户在线时长的获取方法及装置
WO2020015215A1 (zh) 工作流引擎的管理方法及装置、存储介质、计算机设备
WO2021012861A1 (zh) 数据查询耗时评估方法、装置、计算机设备和存储介质
US20150026115A1 (en) Creation of change-based data integration jobs
CN103377292B (zh) 数据库结果集缓存方法及设备
US9910882B2 (en) Isolation anomaly quantification through heuristical pattern detection
Li et al. Quantitative analysis of a transfer production line with Andon
CN105354105B (zh) 软件异常处理系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201204

Address after: Room 10242, No. 260, Jiangshu Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou Jiji Intellectual Property Operation Co., Ltd

Address before: 201616 Shanghai city Songjiang District Sixian Road No. 3666

Patentee before: Phicomm (Shanghai) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201211

Address after: 313300 Sunshine Industrial Park, Dipu Town, Anji County, Huzhou City, Zhejiang Province

Patentee after: Zhejiang Anji chair Technology Co.,Ltd.

Address before: Room 10242, No. 260, Jiangshu Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: Hangzhou Jiji Intellectual Property Operation Co., Ltd

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210902

Address after: 321, floor 3, building 8, Zhongguancun Software Park, No. 8, Dongbeiwang West Road, Haidian District, Beijing 100089

Patentee after: DMS Corp.

Address before: 313300 Sunshine Industrial Park, Dipu Town, Anji County, Huzhou City, Zhejiang Province

Patentee before: Zhejiang Anji chair Technology Co.,Ltd.