CN102937921A - 处理异常终止的方法和执行该方法的服务器 - Google Patents

处理异常终止的方法和执行该方法的服务器 Download PDF

Info

Publication number
CN102937921A
CN102937921A CN2012104590672A CN201210459067A CN102937921A CN 102937921 A CN102937921 A CN 102937921A CN 2012104590672 A CN2012104590672 A CN 2012104590672A CN 201210459067 A CN201210459067 A CN 201210459067A CN 102937921 A CN102937921 A CN 102937921A
Authority
CN
China
Prior art keywords
identification code
receives
program
wrong
library
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.)
Pending
Application number
CN2012104590672A
Other languages
English (en)
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.)
NEOWIZ CORP
Original Assignee
NEOWIZ CORP
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
Priority claimed from KR1020110118485A external-priority patent/KR101338150B1/ko
Priority claimed from KR1020120075210A external-priority patent/KR20140008108A/ko
Application filed by NEOWIZ CORP filed Critical NEOWIZ CORP
Publication of CN102937921A publication Critical patent/CN102937921A/zh
Pending legal-status Critical Current

Links

Images

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/0793Remedial or corrective actions

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)
  • Storage Device Security (AREA)

Abstract

本发明涉及处理异常终止的方法和执行该方法的服务器。一种处理异常终止的方法在能够连接到已经导致程序错误的用户终端的异常终止处理服务器中执行。处理异常终止的方法包括:接收基于用户终端的相应程序而获得的程序识别码和取决于在发生程序错误时生成的错误数据的错误识别码;以及,如果在临时错误库中发现接收到的程序识别码,则检查接收到的错误识别码是否已经与接收到的程序识别码关联地被接收到过。

Description

处理异常终止的方法和执行该方法的服务器
技术领域
本发明涉及一种用于处理异常终止的方法,并且更具体地,涉及处理异常终止的方法和执行该方法的异常终止处理服务器,使得程序开发者通过以下的方式基于根据程序版本和错误类型存储的错误信息迅速地处理程序错误,所述方式为从已经导致程序错误的用户终端接收程序识别码和错误识别码并且基于接收到的程序识别码将错误识别码存储到错误库和临时错误库中。
背景技术
当遭遇意想不到的程序错误时,用户首先请求程序开发者解决问题,程序开发者试图通过与各个用户的一对一的关系来解决问题。然而,从开发者的角度,由于在各个问题处理过程之间的重复,通过一对一的关系来解决各个用户的问题不可避免地造成了时间和资源的浪费,从用户的角度,因为程序开发者的回应被延迟,用户会不满意。
为了克服如此的情形,程序开发公司收集提取了程序的全部或部分的转储文件并且调试意想不到的错误,以便于程序错误收集、数据校验和备份等;然而,因为程序的源代码、版本、运行环境根据各个用户或服务提供商彼此不同,所以程序错误的有效处理是相当艰难的任务。
已经开发了各种技术来处理异常程序终止。下面介绍的专利全部与上述的技术相关。
韩国专利公开No.10-2009-0010458涉及根据连接的异常终止控制游戏角色的方法,更具体地,涉及在异常连接终止下控制游戏角色的方法,该方法能够在游戏程序的异常连接终止的情形中,通过采用人工智能,在预定时段内控制游戏角色的行为,从而避免角色死亡的惩罚。
韩国专利公开No.10-2002-0078230涉及在异常系统终止的情形中存储数据的方法,更具体地,涉及防止数据丢失的方法,该方法包括:启动阶段,其中,当接通电力时执行启动加载器并且通过将初始数据加载到RAM中来执行程序;数据召回阶段,其中,如果闪存包括来自之前任务的数据,则读入相应的数据并且启动相应的应用程序;和数据存储阶段,其中,如果在执行应用程序中发生了异常系统终止,则将暂时存储在RAM中的系统数据和应用程序数据存储在闪存中并且接下来终止。
现有技术提供了仅针对程序或系统的异常终止,防止程序用户的不可预测的数据丢失。然而,现有技术没有提供用于从程序开发者的角度分析和处理错误的原因的技术。
发明内容
技术问题
本发明试图提供一种用于处理异常终止的方法和执行该方法的异常终止处理服务器,使得程序开发者通过以下的方式基于根据程序版本和错误类型存储的错误信息迅速地处理程序错误,所述方式为从已经导致程序错误的用户终端接收程序识别码和错误识别码并且基于接收到的程序识别码将错误识别码存储到错误库和临时错误库中。
本发明试图提供一种处理异常终止的方法和执行该方法的异常终止处理服务器,能够通过从用户终端接收与程序相关联的散列码作为程序识别符码来检测由于黑客行为引起的程序修改。
本发明试图提供一种处理异常终止的方法和执行该方法的异常终止处理服务器,能够使得程序开发者通过接收在发生程序错误时的用户终端的系统信息以及通过将该系统信息与程序识别码和错误识别码关联的方式存储该系统信息而以特定的方式处理程序错误。
技术方案
在实施方式中,在能够连接到引起程序错误的用户终端的异常终止处理服务器中执行处理异常终止的方法。处理异常终止的方法包括:接收基于用户终端的相应程序而获得的程序识别码和取决于在发生程序错误时生成的错误数据的错误识别码;以及,如果在临时错误库中发现接收到的程序识别码,则检查接收到的错误识别码是否已经与接收到的程序识别码关联地被接收到过。
在一个实施方式中,处理异常终止的方法进一步包括:如果所述接收到的错误识别码已经被接收到过,则通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在错误库中。这里,处理异常终止的方法可以进一步包括:如果所述接收到的错误识别码还没有被接收到过,则通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在所述临时错误库中。
在一个实施方式中,处理异常终止的方法进一步包括:如果在所述临时错误库中没有发现所述接收到的程序识别码,则通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在所述临时错误库中。
在一个实施方式中,处理异常终止的方法进一步包括:如果在所述临时错误库中没有发现所述接收到的程序识别码,则检查是否已经在所述临时错误库中接收到过所述接收到的错误识别码;以及,如果所述接收到的错误识别码已经被接收到过,则通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在用于由被怀疑的黑客行为引起的错误的库中。
在一个实施方式中,所述程序识别码对应于与所述用户终端的所述相应程序关联的散列码。
在一个实施方式中,所述错误识别码对应于基于通过所述用户终端从所述错误数据提取的错误异常码和补偿码而生成的散列码。
在一个实施方式中,处理异常终止的方法进一步包括:接收在发生程序错误时的用户终端的系统信息并且将接收到的系统信息与接收到的错误识别码和接收到的程序识别码关联。这里,接收用户终端的系统信息可以进一步包括允许收集来自用户终端的特定系统信息。
在一个实施方式中,用户终端的系统信息包括发生程序错误时的过程信息、网络信息和屏幕显示信息以及用户终端的规格信息中的至少一个。
在实施方式中,异常终止处理服务器可以连接到导致程序错误的用户终端。异常终止处理服务器包括识别码接收单元,所述识别码接收单元接收基于所述用户终端的相应程序而获得的程序识别码和取决于在发生所述程序错误时生成的错误数据的错误识别码;和库搜索单元,如果在临时错误库中发现接收到的程序识别码,则所述库搜索单元检查接收到的错误识别码是否已经与所述接收到的程序识别码关联地被接收到过。
在一个实施方式中,所述异常终止处理服务器进一步包括错误存储单元,如果所述接收到的错误识别码已经被接收到过,则所述错误存储单元通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在错误库中。这里,如果所述接收到的错误识别码还没有被接收到过,则所述错误存储单元可以通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在所述临时错误库中。
在一个实施方式中,所述异常终止处理服务器进一步包括错误存储单元,如果在所述临时错误库中没有发现所述接收到的程序识别码,则所述错误存储单元通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在所述临时错误库中。
在一个实施方式中,如果在所述临时错误库中没有发现所述接收到的程序识别码,则库搜索单元检查是否已经在所述临时错误库中接收到过所述接收到的错误识别码;并且所述异常终止处理服务器进一步包括用于由被怀疑的黑客行为引起的错误的存储单元,如果所述接收到的错误识别码已经被接收到过,则所述用于由被怀疑的黑客行为引起的错误的存储单元通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在用于由被怀疑的黑客行为引起的错误的库中。
在一个实施方式中,所述程序识别码对应于与所述用户终端的所述相应程序关联的散列码。
在一个实施方式中,所述错误识别码对应于基于通过所述用户终端从所述错误数据提取的错误异常码和补偿码而生成的散列码。
在一个实施方式中,所述异常终止处理服务器进一步包括系统信息接收单元和系统信息存储单元,该系统信息接收单元接收在发生程序错误时的用户终端的系统信息,该系统信息存储单元将接收到的系统信息与接收到的错误识别码和接收到的程序识别码关联。这里,所述系统信息接收单元允许收集来自用户终端的特定系统信息。
在一个实施方式中,用户终端的系统信息包括发生程序错误时的过程信息、网络信息和屏幕显示信息以及用户终端的规格信息中的至少一个。
在实施方式中,一种存储与在异常终止处理服务器中执行的处理异常终止的方法相关的计算机程序的存储介质,所述存储介质包括:用于接收基于所述用户终端的相应程序而获得的程序识别码和取决于在发生所述程序错误时生成的错误数据的错误识别码的功能;和,用于如果在临时错误库中发现接收到的程序识别码,则检查接收到的错误识别码是否已经与所述接收到的程序识别码关联地被接收到过的功能。
有利效果
根据本发明的一个实施方式的用于处理异常终止的方法和与该方法相关的技术使得程序开发者能够通过以下的方式基于根据程序版本和错误类型存储的错误信息迅速地处理程序错误,所述方式为从已经导致程序错误的用户终端接收程序识别码和错误识别码并且基于接收到的程序识别码将错误识别码存储到错误库和临时错误库中。
根据本发明的一个实施方式的处理异常终止的方法和与该方法相关的技术允许通过从用户终端接收与程序关联的散列码作为程序识别符码来检测由于黑客行为引起的程序修改。
根据本发明的一个实施方式的处理异常终止的方法和与该方法相关的技术使得程序开发者能够通过接收在发生程序错误时的用户终端的系统信息以及通过将该系统信息与程序识别码和错误识别码关联的方式存储该系统信息而以特定的方式处理程序错误。
附图说明
被包括以提供对本发明的进一步理解并且被合并在本说明书中以构成其一部分的附图例示了本发明的实施方式,并且与说明书一起用来说明本发明的原理。
图1例示根据本发明的一个实施方式的异常终止处理系统;
图2是例示图1的异常终止处理服务器的框图;
图3a和3b例示错误数据库;以及
图4是例示在异常终止处理服务器中执行的异常终止处理过程的流程图。
具体实施方式
因为在该申请文件中描述的实施方式仅提供本发明的结构说明或功能说明,所以本发明的范围不应该理解成被限制到在该申请文件中描述的实施方式。换句话说,实施方式可以按照多种方式进行修改;因此,应该理解的是,本发明的范围包括实现本发明的技术原理的每一种可能的等价物。相似地,因为本发明的目的或效果不必要求具体的实施方式支持所有的目的或者仅揭示效果,所以本发明的技术范围将不被限制为在该申请文件中描述的目的或效果。
同时,在该申请文件中使用的术语应该被按照如下来理解。
词语“第一”、“第二”等被引入以将一个部件与其它部件区分;因此,本发明的技术范围不应该被那些术语所限制。例如,第一部件可以被指为第二部件并且反之亦然。
当部件被指为“连接到”另一个部件时,应该理解的是,第三部件可以存在以连接该两个部件,即使该两个部件可以直接地连接。另一方面,当部件被指为“直接地连接到”另一个部件时,应该理解的是,在该两个部件之间没有另外的部件。同时,描述在部件之间的关系的其它表述,即,“在......之间”和“直接在......之间”或者“与......相邻”和“直接地与......相邻”应该按照和上面相同的方式来理解。
单数表述应该被理解为包括复数表述,除非明确地以其它方式申明。诸如“包括”和“具有”这样的术语的意思是表示具体化的特性、数量、步骤、行为、部件、模块和其组合的存在,这应该被理解为一个或更多个特性、数量、步骤、行为、部件、模块和其组合的存在或增加的可能性不被事先排除。
为了描述的方便,引入了用于各个步骤的标识符号(例如,a、b、c等);符号不是要指示执行相应步骤的顺序,因此各个步骤可以根据与指定的顺序不同的顺序来执行,除非明确地以其它方式指示。换句话说,各个步骤可以按照与指定的顺序相同的顺序执行,或者实际上同时地执行,或者以相反的顺序执行。
本发明可以以在计算机可读存储介质中的计算机可读程序代码的形式来实现。计算机可读存储介质包括其中存储有可由计算机系统读取的数据的所有类型的存储装置。计算机可读的存储介质的示例包括ROM、RAM、CD-ROM、磁带、软盘、光学数据存储装置等。以载波的形式实现的存储介质(例如,通过互联网的数据传送)也包括在示例中。同时,计算机可读存储介质可以分布在通过网络相互连接的整个计算机系统中,并且计算机可读程序代码可以按照分布的方式存储和执行。
除非另外不同地定义,在该申请文件中使用的术语拥有与本发明所属的技术领域的技术人员理解的意义相同的意义。在普通词典中定义的那些术语应该理解为与在相关技术中使用的上下文意义一致。除非在该申请文件中另外明确地定义,否则那些术语不应该被理解为拥有理想的或过度正式的意义。
图1例示根据本发明的一个实施方式的异常终止处理系统。
参考图1,异常终止处理系统包括用户终端110和异常终止处理服务器120。这里,用户终端110可以通过网络(具体地,互联网)连接到异常终止处理服务器120。
用户终端110包括能够由用户执行程序的计算装置。例如,用户终端110可以对应于台式计算机、膝上型计算机、智能手机或平板个人计算机(PC)。
用户终端110将程序识别码和错误识别码发送到异常终止处理服务器120。
在一个实施方式中,用户终端110提取与程序相关联的散列码并且将该码发送到异常终止处理服务器120。这里,因为散列码针对具体的程序被赋予唯一的值,所以异常终止处理服务器120通过接收到的散列码确定程序的版本或者由于黑客行为引起的程序修改。
在一个实施方式中,用户终端110提取在程序错误发生时生成的错误数据并且将该错误数据发送到异常终止处理服务器120。
更具体地,错误数据对应于提取程序的全部或部分以用于程序错误校正、数据校验和备份的目的的文件。在一个实施方式中,迷你转储文件可以对应于包括与在执行程序的同时发生崩溃的情形中程序的异常终止相关的数据(例如,堆栈轨迹、堆)的文件。
用户终端110生成取决于在程序错误发生时生成的错误数据的错误识别码并且将生成的错误识别码发送到异常终止处理服务器120。
更具体地,用户终端110可以通过将散列函数应用到错误数据而生成与错误识别码相对应的散列码。在一个实施方式中,用户终端110可以通过从错误数据中提取错误异常码和补偿码而生成散列码。
这里,错误异常码执行当在执行程序的同时发生错误时终止该程序的功能,并且包括用于确定通过使用异常来生成错误的功能的码。补偿码对应于在程序的执行期间加载到存储器中的分段的地址,并且提供针对发生的错误算出存储器参考状态的功能。
用户终端110通过组合从错误数据提取的错误异常码和补偿码而生成组合码。例如,如果错误异常码是10位字母或数字的组合并且补偿码是6位字母或数字的组合,则用户终端110可以通过组合错误异常码和补偿码而生成16位字母或数字的串。用户终端110可以通过在将生成的16位字母或数字的串用作种子的情况下应用散列函数来生成与错误识别码相对应的散列码。此时,因为错误识别码与取决于错误数据的唯一的码对应,所以接收到错误识别码的异常终止处理服务器120可以通过错误识别码确定程序错误的类型。
在一个实施方式中,用户终端110将在发生程序错误时的系统信息发送到异常终止处理服务器120。此时,系统信息包括在发生程序错误时的过程信息(例如,过程ID和名称)、网络信息(例如,网络利用率或输入和输出数据包的量)、屏幕输出信息(例如,抓屏)和用户终端的规格信息(例如,CPU、RAM、OS信息、显卡和主板)中的至少一个。
异常终止处理服务器120对应于能够通过网络连接到用户终端110的计算装置。这里,异常终止处理服务器120可以通过程序开发公司、程序提供服务公司或程序管理服务公司来管理。将参考图2来描述错误处理服务器120。
图2是例示图1的异常终止处理服务器的框图。
参考图2,异常终止处理服务器120包括识别码接收单元210、库搜索单元220、错误存储单元230、用于由被怀疑的黑客行为引起的错误的存储单元240、系统信息接收单元250、系统信息存储单元260和控制器270。
识别码接收单元210从用户终端110接收基于已经导致错误的程序获得的程序识别码和取决于在发生程序错误时生成的错误数据的错误识别码。
在一个实施方式中,识别码接收单元210从用户终端110接收与程序相关联的散列码作为程序识别码。这里,因为散列码针对具体的程序被赋予唯一的值,所以识别码接收单元210通过接收到的程序识别码确定程序的版本或者由于黑客行为引起的程序修改。
在一个实施方式中,识别码接收单元210从用户终端110接收通过将散列函数应用到在发生程序错误时生成的错误数据而生成的散列码作为错误识别码。这里,错误识别码对应于基于从错误数据提取的错误异常码和补偿码而生成的散列码。
这里,因为错误识别码与取决于错误数据的唯一的码对应,所以识别码接收单元210可以通过错误识别码确定程序错误的类型。
库搜索单元220在错误数据库中搜索从用户终端110接收到的程序识别码和错误识别码中的至少一个。
错误存储单元230将从用户终端110接收到的程序识别码和错误识别码存储到错误数据库中。
将参考图3a和3b描述库搜索单元220和错误存储单元230。
图3a例示错误数据库。图3a示出在异常终止处理服务器120中包括的错误数据库并且不是要限制本发明的技术范围。换句话说,图3a旨在例示错误数据库的数据结构,其中,错误数据库可以通过根据程序识别码分类的一组数据来实现。
如在图3a中所示,错误数据库310包括错误库311、临时错误库312、和用于由被怀疑的黑客行为引起的错误的库313。
错误库311对应于如下的数据组,即,异常终止处理服务器120将在程序错误的情形中从用户终端收集的程序识别码和错误识别码存储在该数据组中。换句话说,异常终止处理服务器120根据程序版本对程序错误的类型进行分类,并且将所述码存储在错误库311中。
库搜索单元220在错误库311中搜索从用户终端110接收到的程序识别码。如果发现程序识别码存储在错误库311中,则错误存储单元230通过将错误识别码与该程序识别码关联的方式来将错误识别码存储在错误库311中。
例如,如在图3b中所示,在识别码接收单元210从用户终端110接收到与{A1}对应的程序识别码和与{B1}对应的错误识别码的情形中,库搜索单元220可以执行搜索以查看与{A1}对应的程序识别码是否存储在错误库311中。这里,如果库搜索单元220确定与{A1}对应的程序识别码的存在,则错误存储单元230通过将{A1}和{B1}相互关联的方式将{A1}和{B1}存储在错误库311中。换句话说,如果与特定程序版本相关的错误已经被存储在错误库311中,则错误存储单元230根据存在的程序版本存储接收到的程序识别码和错误识别码。
现在,库搜索单元220执行搜索以查看相同的错误识别码是否存储在错误库311中,如果已经存在相同的程序识别码和错误识别码,则错误存储单元230对相应的程序识别码和错误识别码的总累计数目进行计数和存储。换句话说,错误存储单元230可以存储与程序版本和错误类型相应的发生的数目。
库搜索单元220执行搜索以查看从用户终端110接收到的程序识别码是否存储在错误库311中;如果没有发现相同的程序识别码存储在错误库311中,则库搜索单元220搜索临时错误库312以查看该程序识别码是否存储在其中。
首先,如果库搜索单元220确定该程序识别码没有存储在临时错误库312中,则错误存储单元230通过将该程序识别码和错误识别码相互关联来将它们存储在临时错误库312中。即,在接收到没有被存储在错误库311和临时错误库312中的程序识别码的情形中,因为不能保证该程序识别码实际上指示新的程序版本或由于黑客行为引起的程序修改,所以错误存储单元230将该程序识别码和错误识别码存储在临时错误库312中。
例如,如在图3b中所示,在识别码接收单元210从用户终端110接收到与{A3}对应的程序识别码和与{B2}对应的错误识别码的情形中,库搜索单元220可以执行搜索以查看与{A3}对应的程序识别码是否存储在临时错误库312中而不是存储在错误库311中。这里,如果库搜索单元220确定与{A3}对应的程序识别码不存在于临时错误库312中,则错误存储单元230通过将{A3}和{B2}相互关联的方式将它们存储在错误库312中。
接着,如果库搜索单元220确定程序识别码存储在临时错误库312中,则库搜索单元220执行搜索以查看错误识别码是否与接收到的程序识别码关联地存储在临时错误库312中。
这里,如果库搜索单元220确定该错误识别码与接收到的程序识别码关联并且如此地存储在临时错误库312中,则错误存储单元230将该程序识别码和该错误识别码相互关联,并且将它们存储在错误库311中,然而,如果确定该错误识别码没有被存储在临时错误库312中,则错误存储单元230将该程序识别码和该错误识别码相互关联,并且将它们存储在临时错误库312中。
例如,如在图3b中所示,在识别码接收单元210从用户终端110接收到与{A4}对应的程序识别码和与{B1}对应的错误识别码的情形中,库搜索单元220确定与{A4}对应的程序识别码没有存储在错误库311中而是存储在临时错误库312中。
这里,如果库搜索单元220确定与{B1}对应的错误识别码和与{A4}对应的程序识别码关联并且已经存储在临时错误库312中,则错误存储单元230将{A4,B1}移动到错误库311并且将它们存储在其中。
更具体地,在特定版本的特定错误类型已经存储在临时错误库312中并且从用户终端110接收到相同的版本和错误类型的情形中,可认为是与新的程序版本相关的特定错误类型的发生;因此,错误存储单元230将与新的程序版本相关的错误类型存储在错误库311中。这是合理的情形,因为如果识别码接收单元210接收到在临时错误库312中存储的程序识别码和错误识别码两次或更多次,则可以认为是与新版本的程序相关的错误的发生而不是由于黑客行为引起的程序修改。
给出另一个示例,如在图3b中所示,在识别码接收单元210从用户终端110接收到与{A4}对应的程序识别码和与{B2}对应的错误识别码的情形中,库搜索单元220确定与{A4}对应的程序识别码没有存储在错误库311中而是存储在临时错误库312中。
这里,如果库搜索单元220确定与{B2}对应的错误识别码和与{A4}对应的程序识别码关联但是没有存储在临时错误库312中,则错误存储单元230将{A4,B2}存储在临时错误库312中。
上述情形假设错误识别码与存储在临时错误库312中的程序识别码相同但是错误类型不同。在那一情形中,不清楚是否发生了与新版本的程序相关的错误或者由于黑客行为引起的程序修改;错误存储单元230将接收到的程序识别码和错误识别码存储到临时错误库312中。
而且,参考图2,用于由被怀疑的黑客行为引起的错误的存储单元240将程序识别码和错误识别码相互关联并且将它们存储在临时错误库313中。
更具体地,库搜索单元220确定从用户终端110接收到的程序识别码没有存储在错误库311中,并且检查程序识别码是否存储在临时错误库312中。如果库搜索单元220确定该程序识别码没有存储在临时错误库312中,则错误存储单元230将该程序识别码和错误识别码关联并且将它们存储在临时错误库312中。
这里,库搜索单元220可以执行搜索以查看从用户终端110接收到的错误识别码是否存储在临时错误库312中。如果确定该错误识别码存储在临时错误库312中,则用于由被怀疑的黑客行为引起的错误的存储单元240将程序识别码和错误识别码相互关联并且将它们存储在用于由被怀疑的黑客行为引起的错误的库中。
例如,如在图3b中所示,在识别码接收单元210从用户终端110接收到与{A3}对应的程序识别码和与{B1}对应的错误识别码的情形中,库搜索单元220确定与{A3}对应的程序识别码既不存储在错误库311中也不存储在临时错误库312中。这里,如果库搜索单元220确定与{B1}对应的错误识别码存储在临时错误库312中,则用于由被怀疑的黑客行为引起的错误的存储单元240可以将{A3,B1}存储在用于由被怀疑的黑客行为引起的错误的库313中。
更具体地,在接收到既不存储在错误库311中也不存储在临时错误库312中的程序识别码的情形中,根据该程序识别码不清楚当前情形是否对应于新版本的程序或者由于黑客行为引起的程序修改。因此,错误存储单元230将该程序识别码和错误识别码存储在临时错误库312中。这里,如果相同的错误识别码已经存储在临时错误库312中,则指示相同类型的错误以前已经发生过但是程序识别码是不同的;因此,可以认为,因为由于黑客行为引起的程序修改而不是新版本的程序,已经使得程序识别码不同。在这点上,用于由被怀疑的黑客行为引起的错误的存储单元240将{A3,B1}存储到用于由被怀疑的黑客行为引起的错误的库中。
系统信息接收单元250从用户终端110接收在发生程序错误时的用户终端110的系统信息。
在一个实施方式中,系统信息包括在发生程序错误时的过程信息(例如,过程ID和名称)、网络信息(例如,网络利用率或输入和输出数据包的量)、屏幕输出信息(例如,抓屏)和用户终端的规格信息(例如,CPU、RAM、OS信息、显卡和主板)中的至少一个。
系统信息存储单元260可以通过将从用户终端110接收到的系统信息与在错误数据库310中存储的相互关联的程序识别码和错误识别码相关联的方式来将该系统信息存储在错误数据库310中。换句话说,通过另外地将与程序版本和错误类型对应的系统信息存储在根据程序版本和错误类型分类的错误数据库310中,系统信息存储单元260使得程序开发者可以分析在发生程序错误时的系统环境并且以特定的方式来处理具体的程序版本和具体的错误类型。
在一个实施方式中,系统信息接收单元250允许收集来自用户终端110的特定的系统信息。更具体地,在用户终端110收集在发生程序错误时的系统信息的同时,用户终端110可以将可以被收集的至少一条系统信息发送到系统信息接收单元250。这里,可以允许系统信息接收单元250收集特定的系统信息。换句话说,因为系统信息接收单元250被允许收集特定的系统信息,所以可以解决与收集个人信息相关的安全问题,并且程序开发者可以仅获得他或她感兴趣的系统信息。
控制器170控制识别码接收单元210、库搜索单元220、错误存储单元230、用于由被怀疑的黑客行为引起的错误的存储单元240、系统信息接收单元250和系统信息存储单元260的操作和数据流。
图4是例示在异常终止处理服务器中执行的异常终止处理过程的流程图。
识别码接收单元210从用户终端110接收基于已经导致错误的程序获得的程序识别码和取决于在发生程序错误时生成的错误数据的错误识别码(S410)。
在一个实施方式中,识别码接收单元210从用户终端110接收与程序相关联的散列码作为程序识别码。这里,因为散列码针对具体的程序被赋予唯一的值,所以识别码接收单元210通过接收到的程序识别码确定程序的版本或者由于黑客行为引起的程序修改。
在一个实施方式中,识别码接收单元210从用户终端110接收通过将散列函数应用到在发生程序错误时生成的错误数据而生成的散列码作为错误识别码。这里,错误识别码对应于基于从错误数据提取的错误异常码和补偿码而生成的散列码。
库搜索单元220在错误库311中搜索从用户终端110接收到的程序识别码(S420)。
如果发现该程序识别码存储在错误库311中,则错误存储单元230通过将该错误识别码与该程序识别码关联的方式来将错误识别码存储在错误库311中(S421)。换句话说,如果与特定程序版本相关的错误存储在错误库311中,则错误存储单元230将接收到的程序识别码和错误识别码存储在错误库311中。
库搜索单元220执行搜索以查看从用户终端110接收到的程序识别码是否存储在错误库311中;如果在错误库311中没有发现相同的程序识别码,则库搜索单元220搜索临时错误库312以查看该程序识别码是否存储在其中(S430)。
首先,如果库搜索单元220确定该程序识别码没有存储在临时错误库312中,则错误存储单元230通过将该程序识别码和错误识别码相互关联的方式将它们存储在临时错误库312中(S431)。即,在接收到没有被存储在错误库311和临时错误库312中的程序识别码的情形中,因为不能保证该程序识别码实际上指示新的程序版本或由于黑客行为引起的程序修改,所以错误存储单元230将该程序识别码和错误识别码存储在临时错误库312中。
这里,库搜索单元220可以执行搜索以查看从用户终端110接收到的错误识别码是否存储在临时错误库312中(S432)。如果确定该错误识别码存储在临时错误库312中,则用于由被怀疑的黑客行为引起的错误的存储单元240将程序识别码和错误识别码相互关联并且将它们存储在用于由被怀疑的黑客行为引起的错误的库中(S433)。换句话说,如果相同的错误识别码已经存储在临时错误库312中,则表明相同类型的错误以前已经发生过但是程序识别码是不同的;因此,可以认为,因为由于黑客行为引起的程序修改而不是新版本的程序,已经使得程序识别码不同。在这点上,用于由被怀疑的黑客行为引起的错误的存储单元240将{A3,B1}存储到用于由被怀疑的黑客行为引起的错误的库中。
如果库搜索单元220确定程序识别码存储在临时错误库312中,则库搜索单元220执行搜索以查看错误识别码是否与接收到的程序识别码关联地存储在临时错误库312中(S440)。
这里,如果库搜索单元220确定错误识别码与接收到的程序识别码关联但是没有存储在临时错误库312中,则错误存储单元230将该程序识别码和错误识别码相互关联并且将它们存储在临时错误库312中(S441)。上述情形认为错误识别码与存储在临时错误库312中的程序识别码相同但是错误类型不同。在那一情形中,不清楚是否发生了与新版本的程序相关的错误或者由于黑客行为引起的程序修改;错误存储单元230将接收到的程序识别码和错误识别码存储到临时错误库312中。
如果库搜索单元220确定错误识别码与接收到的程序识别码关联并且存储在临时错误库312中,则错误存储单元230将该程序识别码和错误识别码相互关联并且将它们存储在错误库311中(S450)。这是合理的情形,因为如果识别码接收单元210接收到在临时错误库312中存储的程序识别码和错误识别码两次或更多次,则可以认为是与新版本的程序相关的错误的发生而不是由于黑客行为引起的程序修改。
在一个实施方式中,系统信息接收单元250从用户终端110接收在发生程序错误时的用户终端110的系统信息。
在一个实施方式中,系统信息包括在发生程序错误时的过程信息(例如,过程ID和名称)、网络信息(例如,网络利用率或输入和输出数据包的量)、屏幕输出信息(例如,抓屏)和用户终端的规格信息(例如,CPU、RAM、OS信息、显卡和主板)中的至少一个。
在一个实施方式中,系统信息存储单元260可以通过将从用户终端110接收到的系统信息与在错误数据库310中存储的相互关联的程序识别码和错误识别码相关联的方式来将该系统信息存储在错误数据库310中。换句话说,通过另外地将与程序版本和错误类型相应的系统信息存储在根据程序版本和错误类型分类的错误数据库310中,系统信息存储单元260使得程序开发者可以分析在发生程序错误时的系统环境并且以特定的方式来处理特定的程序版本和特定的错误类型。
尽管已经参考优选实施方式描述了本发明,但是本领域技术人员应该理解的是,在不脱离由随附权利要求书限定的本发明的技术原理和范围的情况下,可以以各种方式修改和改变本发明。

Claims (15)

1.一种在异常终止处理服务器中执行的处理异常终止的方法,所述异常终止处理服务器能够连接到已经导致程序错误的用户终端,所述处理异常终止的方法包括以下步骤:
接收基于所述用户终端的相应程序而获得的程序识别码和取决于在发生所述程序错误时生成的错误数据的错误识别码;以及
如果在临时错误库中发现接收到的程序识别码,则检查接收到的错误识别码是否已经与所述接收到的程序识别码相关联地被接收到过。
2.根据权利要求1所述的方法,所述方法进一步包括:如果所述接收到的错误识别码已经被接收到过,则通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在错误库中。
3.根据权利要求2所述的方法,所述方法进一步包括:如果所述接收到的错误识别码还没有被接收到过,则通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在所述临时错误库中。
4.根据权利要求1所述的方法,所述方法进一步包括:如果在所述临时错误库中没有发现所述接收到的程序识别码,则通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在所述临时错误库中。
5.根据权利要求1所述的方法,所述方法进一步包括以下步骤:
如果在所述临时错误库中没有发现所述接收到的程序识别码,则检查是否已经在所述临时错误库中接收到过所述接收到的错误识别码;以及
如果所述接收到的错误识别码已经被接收到过,则通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在用于由被怀疑的黑客行为引起的错误的库中。
6.根据权利要求1所述的方法,其中,所述程序识别码对应于与所述用户终端的所述相应程序关联的散列码。
7.根据权利要求1所述的方法,其中,所述错误识别码对应于基于通过所述用户终端从所述错误数据提取的错误异常码和补偿码而生成的散列码。
8.一种能够连接到已经导致程序错误的用户终端的异常终止处理服务器,所述异常终止处理服务器包括:
识别码接收单元,所述识别码接收单元接收基于所述用户终端的相应程序而获得的程序识别码和取决于在发生所述程序错误时生成的错误数据的错误识别码;和
库搜索单元,如果在临时错误库中发现接收到的程序识别码,则所述库搜索单元检查接收到的错误识别码是否已经与所述接收到的程序识别码相关联地被接收到过。
9.根据权利要求8所述的服务器,所述服务器进一步包括错误存储单元,如果所述接收到的错误识别码已经被接收到过,则所述错误存储单元通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在错误库中。
10.根据权利要求9所述的服务器,其中,如果所述接收到的错误识别码还没有被接收到过,则所述错误存储单元通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在所述临时错误库中。
11.根据权利要求8所述的服务器,所述服务器进一步包括错误存储单元,如果在所述临时错误库中没有发现所述接收到的程序识别码,则所述错误存储单元通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在所述临时错误库中。
12.根据权利要求8所述的服务器,其中,如果在所述临时错误库中没有发现所述接收到的程序识别码,则所述库搜索单元检查是否已经在所述临时错误库中接收到过所述接收到的错误识别码,所述服务器进一步包括:
用于由被怀疑的黑客行为引起的错误的存储单元,如果所述接收到的错误识别码已经被接收到过,则所述用于由被怀疑的黑客行为引起的错误的存储单元通过将所述接收到的错误识别码与所述接收到的程序识别码关联的方式将所述接收到的错误识别码存储在用于由被怀疑的黑客行为引起的错误的库中。
13.根据权利要求8所述的服务器,其中,所述程序识别码对应于与所述用户终端的所述相应程序关联的散列码。
14.根据权利要求8所述的服务器,其中,所述错误识别码对应于基于通过所述用户终端从所述错误数据提取的错误异常码和补偿码而生成的散列码。
15.一种存储与在异常终止处理服务器中执行的处理异常终止的方法相关的计算机程序的存储介质,所述存储介质存储与处理异常终止的方法相关的计算机程序,所述存储介质包括:
用于接收基于用户终端的相应程序而获得的程序识别码和取决于在发生程序错误时生成的错误数据的错误识别码的功能;和
用于如果在临时错误库中发现接收到的程序识别码,则检查接收到的错误识别码是否已经与所述接收到的程序识别码相关联地被接收到过的功能。
CN2012104590672A 2011-11-14 2012-11-14 处理异常终止的方法和执行该方法的服务器 Pending CN102937921A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2011-0118485 2011-11-14
KR1020110118485A KR101338150B1 (ko) 2011-11-14 2011-11-14 프로그램의 비정상적 종료에 대한 데이터 제공 및 수집 방법과 그 장치
KR10-2012-0075210 2012-07-10
KR1020120075210A KR20140008108A (ko) 2012-07-10 2012-07-10 비정상 종료 처리 방법, 이를 수행하는 비정상 종료 처리 서버 및 이를 저장한 기록 매체

Publications (1)

Publication Number Publication Date
CN102937921A true CN102937921A (zh) 2013-02-20

Family

ID=47696820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012104590672A Pending CN102937921A (zh) 2011-11-14 2012-11-14 处理异常终止的方法和执行该方法的服务器

Country Status (3)

Country Link
CN (1) CN102937921A (zh)
TW (1) TW201321057A (zh)
WO (1) WO2013073761A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103841239B (zh) * 2014-03-12 2016-08-24 北京安兔兔科技有限公司 终端真伪验证方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070033281A1 (en) * 2005-08-02 2007-02-08 Hwang Min J Error management system and method of using the same
CN101027647A (zh) * 2004-09-25 2007-08-29 罗伯特·博世有限公司 在计算机系统上执行计算机程序的方法
KR20080022889A (ko) * 2006-09-08 2008-03-12 삼성전자주식회사 임베디드 시스템에서 디버깅 파일 생성 방법 및 장치
CN101499933A (zh) * 2008-02-03 2009-08-05 突触计算机系统(上海)有限公司 一种在网络系统中用于错误控制的方法和装置
JP2010102454A (ja) * 2008-10-22 2010-05-06 Fuji Xerox Co Ltd 情報処理装置、情報処理プログラム
KR100964643B1 (ko) * 2008-06-17 2010-06-22 주식회사 두림시스템 엘이디 조명등의 효율성을 배가하는 보안등의 방열판 구조
CN102043712A (zh) * 2009-10-19 2011-05-04 杭州华三通信技术有限公司 错误信息输出方法及装置
US20110150507A1 (en) * 2009-12-17 2011-06-23 Samsung Electronics Co., Ltd Systems and methods of managing errors of an image forming apparatus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253151B1 (en) * 2000-06-23 2001-06-26 Navigation Technologies Corp. Navigation system with feature for reporting errors
KR100717242B1 (ko) * 2005-08-11 2007-05-11 엔에이치엔(주) 디버깅 정보를 제공하는 에러 관리 시스템 및 이를 이용한에러 관리 방법
KR100717241B1 (ko) * 2005-08-02 2007-05-11 엔에이치엔(주) 에러 관리 시스템 및 이를 이용한 에러 관리 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101027647A (zh) * 2004-09-25 2007-08-29 罗伯特·博世有限公司 在计算机系统上执行计算机程序的方法
US20070033281A1 (en) * 2005-08-02 2007-02-08 Hwang Min J Error management system and method of using the same
KR20080022889A (ko) * 2006-09-08 2008-03-12 삼성전자주식회사 임베디드 시스템에서 디버깅 파일 생성 방법 및 장치
CN101499933A (zh) * 2008-02-03 2009-08-05 突触计算机系统(上海)有限公司 一种在网络系统中用于错误控制的方法和装置
KR100964643B1 (ko) * 2008-06-17 2010-06-22 주식회사 두림시스템 엘이디 조명등의 효율성을 배가하는 보안등의 방열판 구조
JP2010102454A (ja) * 2008-10-22 2010-05-06 Fuji Xerox Co Ltd 情報処理装置、情報処理プログラム
CN102043712A (zh) * 2009-10-19 2011-05-04 杭州华三通信技术有限公司 错误信息输出方法及装置
US20110150507A1 (en) * 2009-12-17 2011-06-23 Samsung Electronics Co., Ltd Systems and methods of managing errors of an image forming apparatus

Also Published As

Publication number Publication date
WO2013073761A1 (ko) 2013-05-23
TW201321057A (zh) 2013-06-01

Similar Documents

Publication Publication Date Title
US9201793B2 (en) Facilitating profiling of applications for efficient loading
CN110474900B (zh) 一种游戏协议测试方法及装置
CN103595774A (zh) 终端基于服务器端的系统应用卸载方法与装置
CN109871290B (zh) 应用于Java的调用堆栈追踪方法、装置和存储介质
EP3438845A1 (en) Data updating method and device for a distributed database system
CN105022694A (zh) 用于移动终端测试的测试用例生成方法及系统
US20100333066A1 (en) Method and system for managing software issues
CN112099880B (zh) 场景驱动的应用程序约减方法和系统
CN107025145B (zh) 错误码解析方法及装置
US8799716B2 (en) Heap dump occurrence detection
KR101421136B1 (ko) 악성 프로그램을 검사하기 위하여 컴퓨터 프로그램의행동을 모델링하는 방법 및 장치
CN109815697A (zh) 误报行为处理方法及装置
EP4318283A1 (en) Detection of malicious behavior of applet
US11341842B2 (en) Metering data management system and computer readable recording medium
CN116324773A (zh) 用于保护智能合约免受攻击的方法和装置
CN111352631B (zh) 一种接口兼容性检测方法及装置
CN110362416A (zh) 页面组件加载方法及装置、电子设备、存储介质
CN109857716B (zh) 系统交互日志记录方法、装置及存储介质、服务器
CN102937921A (zh) 处理异常终止的方法和执行该方法的服务器
CN116578282A (zh) 代码生成方法、装置、电子设备及介质
US11514163B2 (en) Terminal device, method for control of report of operation information performed by terminal device, and recording medium storing therein program for control of report of operation information performed by terminal device
CN112464103A (zh) 业务处理方法、装置、服务器及存储介质
CN106528577B (zh) 一种设置待清理文件的方法和装置
CN117688564B (zh) 一种用于智能合约事件日志的检测方法、装置和存储介质
CN113721916B (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130220