KR20160101326A - Crash report processing system and apparatus for processing crash report in the system - Google Patents
Crash report processing system and apparatus for processing crash report in the system Download PDFInfo
- Publication number
- KR20160101326A KR20160101326A KR1020150023635A KR20150023635A KR20160101326A KR 20160101326 A KR20160101326 A KR 20160101326A KR 1020150023635 A KR1020150023635 A KR 1020150023635A KR 20150023635 A KR20150023635 A KR 20150023635A KR 20160101326 A KR20160101326 A KR 20160101326A
- Authority
- KR
- South Korea
- Prior art keywords
- crash report
- error
- report processing
- information
- crash
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
본 발명은 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치에 관한 것으로, 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 서버단으로 선택적으로 오류 전송을 하거나, 오버헤드 성격의 중복적인 단말로그를 보내지 않도록 하여 보다 효율적인 크래시 리포트를 할 수 있도록 하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치에 관한 것이다.The present invention relates to a crash report processing system and an apparatus for crash report processing in the crush report processing system, and more particularly, to a crash report processing system in which, when an application under execution by a user terminal capable of crash report on an application is abnormally terminated, The present invention relates to a crash report processing system and a device for performing crash report processing in the system.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information on the present embodiment and do not constitute the prior art.
통신 단말기는 휴대가 가능한 형태로 제작되면서 그 이용의 편리성과 휴대의 용이성 등으로 인하여 매우 폭넓은 분야에서 이용되고 있다. 이러한 통신 단말기는 최근 들어 다양한 사용자 기능을 탑재한 스마트폰의 형태로 발전하면서 편리성과 오락성을 제공하고 있다. 스마트폰은 고성능의 하드웨어가 장착된 단말기 형태로 제공되기 때문에 사용자들이 다양한 어플리케이션(이하 '앱'으로 기재하도록 함)을 다운로드 받아 설치할 수 있도록 지원한다. 이에 따라 최근에는 스마트폰에 적용되는 다양한 앱들이 개발 및 보급되고 있는 추세이다. 2. Description of the Related Art Communication terminals are manufactured in a portable form and are used in a wide variety of fields due to their ease of use and portability. Recently, such communication terminals have been developed in the form of smart phones equipped with various user functions to provide convenience and amusement. Since smart phones are provided as terminals equipped with high-performance hardware, users can download and install various applications (hereinafter referred to as "apps"). As a result, various apps that are applied to smartphones are being developed and distributed.
한편, 스마트폰의 하드웨어가 고성능으로 발전하고 있지만 그에 대응한 사용자들의 기기 변환 싸이클은 빠르지 않은 편이다. 예컨대 새로운 하드웨어를 장착한 스마트폰은 6개월 정도의 빠른 주기로 개발되고 배포되고 있지만, 사용자들의 기기 변환은 사용자들의 기호 등에 따라 다르지만 대체로 1년에서 2년 정도의 주기를 가지고 있다. 결과적으로 최신 스마트폰을 구매하였다 하더라도 수개월 후에는 구형 스마트폰을 사용하는 결과를 낳게 된다. 한편 제작 및 개발되는 앱들은 기본적으로 최신 스마트폰의 하드웨어를 주 타겟으로 하여 제작 및 개발되기 때문에 최신 앱은 최신 스마트폰에 최적화되거나 또는 최신 스마트폰에 국한되어 무리 없이 사용되는 경향이 있다. 따라서 최신 앱을 구형 스마트폰에 설치하는 경우 하드웨어적 영향에 의하여 해당 앱이 정상적으로 작동하지 못하고 비정상 종료되는 경우가 비일비재하게 발생하고 있다. 상술한 앱의 비정상 종료는 하드웨어적 영향뿐만 아니라 장착된 운영체제의 영향도 어느 정도 가지고 있다.On the other hand, although smartphone hardware has been developed to high performance, corresponding device conversion cycle of users is not fast. For example, a smartphone equipped with new hardware is developed and distributed at a rapid cycle of about six months, but the device conversion of users varies depending on the user's preferences, but generally has a cycle of about one year to two years. As a result, even if you purchase the latest smartphone, it will result in using the old smartphone in a few months. On the other hand, since the apps that are produced and developed are basically produced and developed using the latest smartphone hardware as the main target, the latest apps tend to be optimized for the latest smartphone or used without limitation to the latest smartphone. Therefore, when a newest app is installed in an old smartphone, the app may not operate normally due to hardware effects and abnormally occurs. Abnormal termination of the above-described app has not only a hardware effect but also some influence of the installed operating system.
한편 앱의 비정상 종료에 대한 정보는 앱을 개발하는 개발자나 운영체제를 개발하고 보완하는 개발자들에게는 매우 중요한 자료가 된다. 그러나 종래 휴대 단말기 사용자는 앱의 비정상 종료가 발생하더라도 해당 정보를 능동적으로 개발자들에게 제공하지 않고 있다. 이에 따라 앱 운용에 있어서 다양한 문제가 있지만 그러한 문제에 대한 정확한 사례에 대한 정보 수집이 어려운 문제점이 있으며, 결과적으로 그러한 정보 수집 미비로 인하여 적절한 앱 보완이나 갱신이 어려운 문제점이 있다.On the other hand, information about the abnormal termination of an app is very important for the developers who develop the app or the developers who develop and supplement the operating system. However, the conventional mobile terminal user does not actively provide the information to the developers even if the abnormal termination of the application occurs. As a result, there are various problems in application management, but it is difficult to collect accurate information on such problems. As a result, there is a problem that it is difficult to supplement or update appropriate apps due to lack of such information collection.
이를 보완하기 위해 앱 운용 중 비정상 종료에 따라 발생하는 크래시 리포트를 다양한 정책에 따라 동적으로 처리할 수 있도록 지원하는 다양한 기술이 개발되었고, 해당 앱에 대한 정확한 오류 정보 수집을 통해 앱의 보완이나 갱신을 보다 적절히 수행할 수 있도록 지원하고 있다.In order to compensate for this, a variety of technologies have been developed to support the processing of crash reports dynamically according to various policies in case of abnormal termination during app operation. So that it can be performed more appropriately.
한편, 현재 단말에 설치된 어플리케이션의 비 정상 종료 발생 시마다 어플리케이션의 오류 정보인 콜스택(Callstack), 어플리케이션명, 어플리케이션 버전과 같은 정보를 포함하는 어플리케이션 부가정보, 단말모델명, OS버전을 포함하는 단말부가정보, 비정상 종료시점의 단말 시스템 로그를 포함하는 단말 로그 정보를 모아서 서버에 전송하는 것이 일반적이다.On the other hand, every time an abnormal termination of an application installed in the current terminal occurs, terminal additional information including application additional information including information such as callstack, application name, and application version, which is error information of the application, , Terminal log information including the terminal system log at the abnormal end time is collected and transmitted to the server.
하지만, 단말 로그는 로그분석을 위해 한번만 필요하고 큰 데이터 사이즈를 차지함에 따라 매번 비 정상 종료 시마다 오버헤드(overhead) 성격의 중복적인 단말로그를 보내는 것은 네트워크 및 서버 운영측면에서 비효율적이다.However, since the terminal log is only needed once for log analysis and occupies a large data size, it is inefficient in terms of network and server operation to send overhead logs having overhead characteristics at every abnormal termination.
이에 따라 오버헤드 성격의 중복적인 단말로그를 보내지 않도록 하여 보다 효율적인 크래시 리포트를 할 수 있는 기술개발이 시급한 실정이다.Accordingly, it is urgently required to develop a technology that can perform a more efficient crash report by not transmitting redundant terminal logs having an overhead nature.
또한, 상기한 바와 같이 현재 단말에 설치된 어플리케이션의 비 정상 종료 발생 시의 어플리케이션에서 발생한 오류관련 로그를 서버에 전송하는 기술이 일반적이다.In addition, as described above, a technique of transmitting an error-related log generated in an application at the time of occurrence of an abnormal termination of an application installed in the current terminal to a server is common.
즉, 비정상 종료의 심각도가 높지 않은 경우 예를 들어, 화면이 없는 특정 프로세스가 백그라운드에서 비정상 종료되는 경우, 또는 단말플랫폼이 야기한 오류와 같은 어플리케이션의 디버깅이 불가능한 비 정상 종료되는 경우에도 오류관련 로그를 서버로 전송하고 있다. In other words, if the severity of the abnormal termination is not high. For example, if a specific process without a screen abnormally terminates in the background, or if an application such as an error caused by the terminal platform can not be debugged abnormally, Lt; / RTI >
이와 같이 심각도가 높지 않은 경우, 서비스의 중요도가 낮고 고객의 사용성에 영향을 주지 않은 비 정상 종료, 혹은 오류 디버깅이 불가능한 이미 알려진 비정상 종료의 경우 서버로 오류 정보를 전송하지 않고도 단말 자체적으로 처리 가능할 것이다.In the case where the severity is not high, abnormal termination which has low importance of service and does not affect the usability of the customer, or abnormal termination which is impossible to debug error can be handled by the terminal itself without transmitting error information to the server .
이에 따라 어플리케이션 비정상 종료가 발생할 시 오류 심각도에 따라 선택적으로 오류 보고를 할 수 있도록 하기 위한 기술 개발도 요구되고 있다.Therefore, it is required to develop a technique for selectively reporting an error according to the severity of an error when an abnormal termination of an application occurs.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 서버단으로 선택적으로 오류 전송을 할 수 있도록 하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치를 제공하는 데 목적이 있다.The present invention has been proposed in order to solve the above-mentioned problems of the prior art, and in particular, it is an object of the present invention to provide a method and system for crash report processing for allowing a user terminal capable of crash report on an application to selectively transmit an error to a server terminal System and a device for crash report processing in the system.
또한, 본 발명은 단말에 설치된 어플리케이션 비 정상 종료(Crash) 시 단말에서 서버로 전달되는 정보를 2단계로 나눠 전송함으로써 네트워크 및 서버 운영측면의 효율성을 제공하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치를 제공하는 데 목적이 있다.In addition, the present invention provides a crash report processing system for providing efficiency in terms of network and server operation by dividing information transmitted from a terminal to a server in two stages in case of application abnormal termination (Crash) An object of the present invention is to provide a device for crush report processing.
또한, 본 발명은 단말에 설치된 어플리케이션 비 정상 종료(Crash) 시 단말이 서버로 오류로그를 전달 보내는데 있어 필수단계(1차)와 옵션단계(2차)로 분리함으로써 네트워크와 트래픽(traffic)과 서버 시스템을 효율적으로 운영하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치를 제공하는 데 목적이 있다.In addition, the present invention separates the error log into a necessary step (primary) and an optional step (secondary) when the terminal sends an error log to the server in case of application abnormal termination (Crash) There is provided a crash report processing system for efficiently operating a system and an apparatus for crash report processing in the system.
또한, 본 발명은 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 오버헤드 성격의 중복적인 단말로그를 보내지 않도록 하여 보다 효율적인 크래시 리포트를 할 수 있도록 하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치를 제공하는 데 목적이 있다.In addition, the present invention provides a crash report processing system for enabling a more efficient crash report to be performed by preventing a redundant terminal log having an overhead nature from being transmitted when an application running on a crash reportable application for an application is abnormally terminated, and And an apparatus for processing a crash report in a system.
또한, 본 발명은 단말에 설치된 어플리케이션이 비 정상 종료(Crash) 될 때 어플리케이션의 종류/상태/오류필터에 따라, 단말이 어플리케이션의 오류 내용을 서버에 전달을 할 것인지 여부를 제어하여 서비스 운영의 유연성을 제공할 수 있도록 하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치를 제공하는 데 목적이 있다.In addition, according to the present invention, when the application installed in the terminal is abnormally terminated (Crash), it is controlled according to the type / status / error filter of the application whether the terminal transmits an error content of the application to the server, To provide a crash report processing system and a device for crash report processing in the system.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.However, the object of the present invention is not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood from the following description.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템은 어플리케이션 비정상 종료 발생에 따른 오류 정보를 포함하는 크래시 리포트를 수신하고, 수신한 크래시 리포트를 기반으로 오류를 처리하는 크래시 리포트 처리 서버; 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 오류 보고를 위한 크래시 리포트의 적어도 일부 정보를 선택적으로 상기 크래시 리포트 처리 서버로 전송하는 사용자 단말기를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a crash report processing system including: a crash report receiving unit for receiving a crash report including error information according to occurrence of an application abnormal termination; A report processing server; And a user terminal for selectively transmitting at least some information of a crash report for an error report to the crash report processing server when an abnormal termination occurs for a running application.
여기서, 상기 크래시 리포트는 콜스택, 단말 부가정보, 어플리케이션 부가정보, 비정상 종료 시점의 단말 로그 정보 중 적어도 하나의 정보를 포함하고, 상기 단말 부가정보는 단말 모델명, OS버젼 정보 중 적어도 하나의 정보를 포함하고, 상기 어플리케이션 부가정보는 어플리케이션명, 어플리케이션 버전정보 중 적어도 하나의 정보를 포함하는 것을 특징으로 한다.Here, the crash report includes at least one of a call stack, terminal side information, application side information, and terminal log information at an abnormal end time, and the terminal side information includes at least one of a terminal model name and OS version information And the application additional information includes at least one of an application name and application version information.
또한, 본 발명에 따른 상기 사용자 단말기는 상기 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 콜스택, 단말 부가정보, 어플리케이션 부가정보를 포함하는 1차 데이터를 상기 크래시 리포트 처리 서버로 전송하고, 상기 크래시 리포트 처리 서버로부터 단말 로그 정보에 대한 요청이 있으면, 단말 로그 정보를 포함하는 2차 데이터를 상기 크래시 리포트 처리 서버로 전송하는 것을 특징으로 한다.In addition, the user terminal according to the present invention transmits the primary data including the call stack, the terminal additional information and the application additional information to the crash report processing server at the time of the abnormal termination to the running application, And transmits the secondary data including the terminal log information to the crash report processing server when there is a request for terminal log information from the server.
또한, 본 발명에 따른 상기 사용자 단말기는 상기 사용자 단말기는, 상기 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 상기 크래시 리포트 처리 서버로 비정상 종료로그 전송여부에 대한 정책을 요청하고, 상기 크래시 리포트 처리 서버로부터 상기 정책이 수신되면 비정상 종료 시점의 오류 정보와 상기 정책과 비교한 후 정책에 부합하면 상기 크래시 리포트를 상기 크래시 리포트 처리 서버로 전송하는 것을 특징으로 한다.Further, in the user terminal according to the present invention, the user terminal requests a policy on whether to transmit an abnormal end log to the crash report processing server when an abnormal end occurs to the running application, When the policy is received, transmits the crash report to the crash report processing server if the policy information matches the policy information after comparing the error information with the policy and the policy.
또한, 본 발명에 따른 상기 크래시 리포트 처리 서버는, 상기 사용자 단말기로부터 상기 1차 데이터가 수신되면 상기 수신한 1차 데이터를 기반으로 해당 오류가 신규 오류인지 등록된 오류인지를 판단하고, 상기 판단 결과 신규 오류인 경우 상기 사용자 단말기로 2차 데이터를 요청하고, 상기 판단 결과 등록 오류인 경우 상기 사용자 단말기로 세션 종료를 요청하는 것을 특징으로 한다.When the primary data is received from the user terminal, the crash report processing server according to the present invention determines whether the corresponding error is a new error or a registered error based on the received primary data, Requesting secondary data to the user terminal if it is a new error, and requesting the user terminal to terminate the session if it is determined as a result of the determination.
또한, 본 발명에 따른 상기 크래시 리포트 처리 서버는, 상기 사용자 단말기로부터 비정상 종료로그 전송여부에 대한 정책 요청이 있으면, 미리 저장된 정책을 상기 사용자 단말기로 전송하는 것을 특징으로 한다.In addition, the crash report processing server according to the present invention transmits a previously stored policy to the user terminal when there is a policy request for whether or not the abnormal end log is transmitted from the user terminal.
여기서, 상기 비정상 종료로그 전송여부에 대한 정책은, 어플리케이션 별로 설정되고, 종류, 상태, 필터 중 적어도 하나의 설정 정보를 포함하고, 상기 종류 정보는 액티비티(Activity), 브로드캐스트 리시버인 경우에는 전송하도록 설정하고, 서비스이거나 컨텐츠 프로바이더인 경우에는 전송하지 않도록 설정한 정보이고, 상기 상태 정보는 포어 그라운드이면 전송하도록 설정하고, 포어 그라운드가 아니라면 전송하지 않도록 설정한 정보이고, 상기 필터 정보는 단말 플랫폼이 야기한 특정 오류 리스트에 포함되는 경우에는 전송하도록 설정한 정보인 것을 특징으로 한다.Here, the policy on whether to transmit the abnormal end log is set for each application, and includes at least one of configuration information, type, status, and filter, the type information is an activity, and if the broadcast receiver is a broadcast receiver, The status information is information that is set to be transmitted if it is a foreground and is not set to be not transmitted if it is not a foreground, and the filter information is information that the terminal platform And is set to be transmitted in the case of being included in the specific error list caused.
또한, 상기 비정상 종료로그 전송여부에 대한 정책은 연산 공식에 대한 정보를 더 포함하고, 상기 연산 공식은 상기 종류와 상기 상태가 전송하도록 설정된 조건에 해당되는 경우에만 상기 사용자 단말기가 오류 로그를 상기 크래시 리포트 처리 서버로 전송하도록 하며, 상기 필터에 명시된 오류 리스트는 상기 사용자 단말기에서 오류가 발생하더라고 오류 로그를 전송하지 않도록 설정된 공식인 것을 특징으로 한다.In addition, the policy on whether or not the abnormal end log transmission further includes information on an operation formula, and the operation formula may cause the error log to be displayed on the crash log only when the type and the condition are set to be transmitted, And transmits the error list to the report processing server. The error list specified in the filter is a formula set not to transmit an error log even if an error occurs in the user terminal.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 크래시 리포트 처리를 위한 장치는 크래시 리포트 처리 서버와의 통신을 위한 인터페이스부; 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 상기 통신 인터페이스를 통해 오류 보고를 위한 크래시 리포트의 적어도 일부 정보를 선택적으로 크래시 리포트 처리 서버로 전송하는 크래시 리포트 에이젼트를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided an apparatus for crash report processing, the apparatus comprising: an interface unit for communicating with a crash report processing server; And a crash report agent for selectively transmitting at least some information of a crash report for an error report to the crash report processing server through the communication interface when an abnormal termination occurs for a running application.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 크래시 리포트 처리를 위한 장치는 적어도 하나의 사용자 단말기와의 통신을 위한 통신 인터페이스; 어플리케이션 별로 비정상 종료로그 전송여부를 판단하기 위한 기준이 되는 정책을 저장하는 저장 모듈; 상기 통신 인터페이스를 통해 상기 사용자 단말기로부터 비정상 종료로그 전송여부에 대한 정책 요청이 있으면, 상기 저장 모듈에 저장된 정책을 상기 통신 인터페이스를 통해 상기 사용자 단말기로 전송하고, 상기 통신 인터페이스를 통해 상기 사용자 단말기로부터 오류 관련 필수 정보를 포함하는 1차 데이터가 수신되면 상기 수신한 1차 데이터를 기반으로 해당 오류가 신규 오류인지 등록된 오류인지를 판단하고, 상기 판단 결과 신규 오류인 경우 상기 통신 인터페이스를 통해 상기 사용자 단말기로 2차 데이터인 단말 로그 정보를 요청하고, 상기 판단 결과 등록 오류인 경우 상기 통신 인터페이스를 통해 상기 사용자 단말기로 세션 종료를 요청하는 크래시 리포트 처리 모듈을 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided an apparatus for crash report processing comprising: a communication interface for communication with at least one user terminal; A storage module for storing a policy serving as a criterion for determining whether or not an abnormal end log is transmitted for each application; If a policy request for transmitting an abnormal end log from the user terminal is received through the communication interface, the policy stored in the storage module is transmitted to the user terminal through the communication interface, When the primary data including the relevant essential information is received, it is determined whether the corresponding error is a new error or a registered error based on the received primary data, and if the error is a new error, And a crash report processing module for requesting the user terminal to terminate the session through the communication interface when the result of the determination is a registration error.
본 발명의 크래시 리포트 처리 시스템은 단말에 설치된 어플리케이션 비 정상 종료(Crash) 시 단말에서 서버로 전달되는 정보를 2단계 즉, 단말이 서버로 오류로그를 전달 보내는데 있어 필수단계(1차)와 옵션단계(2차)로 분리함으로써 네트워크와 트래픽(traffic)과 서버 시스템을 효율적으로 운영할 수 있는 이점이 있다.In the crash report processing system of the present invention, the information transmitted from the terminal to the server at the time of application abnormal termination (Crash) installed in the terminal is divided into two steps, namely, a necessary step (first step) (Secondary), it is advantageous to efficiently operate the network, traffic and server system.
또한, 본 발명은 단말에 설치된 어플리케이션이 비 정상 종료(Crash) 될 때 어플리케이션의 종류/상태/오류필터에 따라, 단말이 어플리케이션의 오류 내용을 서버에 전달을 할 것인지 여부를 제어하여 서비스 운영의 유연성을 제공할 수 있는 이점이 있다.In addition, according to the present invention, when the application installed in the terminal is abnormally terminated (Crash), it is controlled according to the type / status / error filter of the application whether the terminal transmits an error content of the application to the server, Can be provided.
즉, 본 발명은 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 오버헤드 성격의 중복적인 단말로그를 보내지 않도록 하여 보다 효율적인 크래시 리포트를 할 수 있게 된다.That is, according to the present invention, when an application being executed by a user terminal capable of crash report on an application is abnormally terminated, it is possible to prevent a redundant terminal log having an overhead nature from being sent, thereby enabling a more efficient crash report.
도 1은 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템 구조를 개략적으로 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 크래시 리포트 처리 서버의 구조를 도시한 예시도이다.
도 3은 본 발명의 다른 실시 예에 따른 크래시 리포트 처리 서버의 구조를 도시한 예시도이다.
도 4는 본 발명의 실시 예에 따른 사용자 단말의 주요 구성을 도시한 블록도이다.
도 5는 본 발명의 실시 예에 따른 크래시 리포트 처리 서버의 주요 구성을 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정을 도시하는 흐름도이다.
도 7은 본 발명의 다른 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정을 도시하는 흐름도이다.
도 8은 본 발명의 실시예에 따라 서버 관리 장치를 포함하는 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정을 도시하는 흐름도이다.
도 9는 본 발명의 일 실시 예에 따른 사용자 단말기에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.
도 10은 본 발명의 일 실시 예에 따른 크래시 리포트 처리 서버에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.
도 11은 본 발명의 다른 실시 예에 따른 사용자 단말기에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.
도 12는 본 발명의 다른 실시 예에 따른 크래시 리포트 처리 서버에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.
도 13은 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템에서 크래시 리포트 처리를 위한 장치의 오퍼레이팅 환경을 도시한 도면이다.FIG. 1 is a view for schematically explaining the structure of a crash report processing system according to an embodiment of the present invention.
2 is a diagram illustrating an example of a structure of a crash report processing server according to an embodiment of the present invention.
3 is a diagram illustrating an example of a structure of a crash report processing server according to another embodiment of the present invention.
4 is a block diagram illustrating a main configuration of a user terminal according to an embodiment of the present invention.
5 is a block diagram showing a main configuration of a crash report processing server according to an embodiment of the present invention.
6 is a flowchart illustrating a crash report processing process in a crash report processing system according to an embodiment of the present invention.
7 is a flowchart showing a crash report processing process in a crash report processing system according to another embodiment of the present invention.
8 is a flowchart showing a crash report processing process in a crash report processing system including a server management apparatus according to an embodiment of the present invention.
9 is a flowchart illustrating a process for processing a crash report in a user terminal according to an embodiment of the present invention.
10 is a flowchart illustrating a process for crash report processing in a crash report processing server according to an embodiment of the present invention.
11 is a flowchart illustrating a process for crash report processing in a user terminal according to another embodiment of the present invention.
12 is a flowchart illustrating a process for crash report processing in a crash report processing server according to another embodiment of the present invention.
13 is a diagram illustrating an operating environment of an apparatus for crash report processing in a crash report processing system according to an embodiment of the present invention.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다. BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the nature and advantages of the present invention, reference should be made to the following detailed description taken in conjunction with the accompanying drawings, in which:
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms and words used in the following description and drawings are not to be construed in an ordinary sense or a dictionary, and the inventor can properly define his or her invention as a concept of a term to be described in the best way It should be construed as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention, and not all of the technical ideas of the present invention are described. Therefore, It is to be understood that equivalents and modifications are possible.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.Also, terms including ordinal numbers such as first, second, etc. are used to describe various elements, and are used only for the purpose of distinguishing one element from another, Not used. For example, without departing from the scope of the present invention, the second component may be referred to as a first component, and similarly, the first component may also be referred to as a second component.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.In addition, when referring to an element as being "connected" or "connected" to another element, it means that it can be connected or connected logically or physically. In other words, it is to be understood that although an element may be directly connected or connected to another element, there may be other elements in between, or indirectly connected or connected.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Also, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. It is also to be understood that the terms such as " comprising "or" having ", as used herein, are intended to specify the presence of stated features, integers, It should be understood that the foregoing does not preclude the presence or addition of other features, numbers, steps, operations, elements, parts, or combinations thereof.
아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.In addition, embodiments within the scope of the present invention include computer-readable media having computer-executable instructions or data structures stored on computer-readable media. Such computer-readable media can be any available media that is accessible by a general purpose or special purpose computer system. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or in the form of computer- But is not limited to, a physical storage medium such as any other medium that can be used to store or communicate certain program code means of the general purpose or special purpose computer system, .
이하의 설명 및 특허 청구 범위에서, "네트워크"는 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 (유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다.In the following description and claims, the term "network" is defined as one or more data links that enable electronic data to be transmitted between computer systems and / or modules. When the information is transmitted or provided to a computer system via a network or other (wired, wireless, or a combination of wired or wireless) communication connection, the connection may be understood as a computer-readable medium. Computer readable instructions include, for example, instructions and data that cause a general purpose computer system or special purpose computer system to perform a particular function or group of functions. The computer executable instructions may be binary, intermediate format instructions, such as, for example, assembly language, or even source code.
아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서 실시될 수 있다. 본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.In addition, the invention may be practiced with other computer systems, including personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, a pager, and the like. < RTI ID = 0.0 > [0040] < / RTI > The invention may also be practiced in distributed systems environments where both local and remote computer systems linked by a combination of wired data links, wireless data links, or wired and wireless data links over a network perform tasks. In a distributed system environment, program modules may be located in local and remote memory storage devices.
이제, 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치에 대하여 도면을 참조하여 상세하게 설명하도록 한다.Now, a crash report processing system according to an embodiment of the present invention and an apparatus for crush report processing in the system will be described in detail with reference to the drawings.
먼저, 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템 구조에 대해 개략적으로 설명하도록 한다.First, a structure of a crash report processing system according to an embodiment of the present invention will be schematically described.
도 1은 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템 구조를 개략적으로 설명하기 위한 도면이다.FIG. 1 is a view for schematically explaining the structure of a crash report processing system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템은 어플리케이션 서비스 제공을 지원하는 복수의 사용자 단말기(100), 크래시 리포트 처리 서버(200)를 포함하여 구성될 수 있다. 그리고, 복수의 사용자 단말기(100), 크래시 리포트 처리 서버(200) 간의 정보의 송수신을 지원하는 통신망(300)을 포함하여 구성될 수 있다.Referring to FIG. 1, a crash report processing system according to an embodiment of the present invention may include a plurality of
이와 같은 구성을 가지는 본 발명의 크래시 리포트 처리 시스템은 사용자 단말기(100)가 특정 앱을 구동하는 과정에서 비정상 종료가 발생하는 경우, 해당 상황에 대한 크래시 리포트를 수집하고, 이를 크래시 리포트 처리 장치(200)에 제공하도록 지원한다.The crash report processing system according to the present invention having such a configuration collects a crash report for a situation when an abnormal termination occurs in the course of driving a specific app by the
이때 크래시 리포트 처리 시스템은 사용자 단말기(100)에 장착된 단말 플랫폼에서 구동 중이던 앱의 크래시 발생을 확인하고, 해당 시점의 앱 구동과 관련된 크래시 리포트를 수집하여 제공하도록 지원한다.At this time, the crash report processing system confirms occurrence of a crash of an app running on the terminal platform installed in the
특히 본 발명의 일실시 예에 따른 크래시 리포트 처리 시스템은 사용자 단말기(100)가 어플리케이션 비정상 종료 발생 시 종래와 같이 콜스택, 단말 부가정보, 앱 부가 정보, 단말 로그 정보를 모두 전송하는 것이 아니라, 1차 데이터로 콜스택, 단말 부가정보, 앱 부가 정보를 전송한다. 이후, 크래시 리포트 처리 서버(200)가 1차 데이터를 기반으로 2차 데이터가 필요한 지를 판단하고, 필요할 경우 사용자 단말기(100)로 2차 데이터를 요청한다. 그러면, 사용자 단말기(100)가 크래시 리포트 처리 서버(200)로부터 2차 데이터인 단말 로그 정보가 요청되면, 사용자 단말기(100)가 단말 로그 정보를 크래시 리포트 처리 서버(200)로 전송한다.In particular, the crash report processing system according to an exemplary embodiment of the present invention is configured such that the
또한, 본 발명의 다른 실시예에 따른 크래시 리포트 처리 시스템에서 사용자 단말기(100)는 어플리케이션 비정상 종료 발생 시 종류/상태/필터를 참조하여 선택적으로 오류 전송 여부를 판단한다. 판단결과 오류 전송이 필요하다고 판단된 경우 사용자 단말기(100)는 크래시 리포트를 크래시 리포트 처리 서버(200)로 전송한다.In addition, in the crash report processing system according to another embodiment of the present invention, the
이를 위해 사용자 단말기(100)는 비정상 종료 발생 시 크래시 리포트 처리 서버(200)로 비정상 종료 로그 전송 여부에 대한 정책을 요청한다. 이후, 크래시 리포트 처리 서버(200)로부터 비정상 종료 로그 전송 여부에 대한 정책을 수신하면, 수신한 정책과 비정상 종료 시점의 오류 정보를 비교하여 정책에 부합하면 크래시 정보 즉, 오류 로그를 전송하고, 그렇지 않으면 오류 로그를 전송하지 않고 세션을 종료한다.To this end, the
여기서, 비정상 종료 로그 전송 여부에 대한 정책은 어플리케이션 별로 설정된다.Here, the policy for whether an abnormal end log is transmitted is set for each application.
먼저, 종류에 있어서는 액티비티(Activity), 브로드캐스트 리시버인 경우에는 전송하도록 설정하고, 서비스이거나 컨텐츠 프로바이더인 경우에는 전송하지 않도록 설정한다.First, it is set such that it is transmitted as an activity in case of a kind, and in the case of a broadcast receiver, and is set not to be transmitted in case of a service or a content provider.
그리고, 상태에 있어서는 포어 그라운드이면 전송하도록 설정하고, 포어 그라운드가 아니라면 전송하지 않도록 설정한다.In the state, it is set to transmit if it is a foreground, and not to be transmitted if it is not a foreground.
또한, 필터에 있어서는 단말 플랫폼이 야기한 특정 오류 리스트에 포함되는 경우에는 전송하도록 설정한다.In addition, the filter is set to be transmitted when it is included in the specific error list caused by the terminal platform.
상기와 같이 전송 정책이 설정될 수 있고, 이에 한정되는 것은 아니고 조건은 추가 및 삭제 가능할 것이다.As described above, the transmission policy can be set, and the condition can be added and deleted without being limited thereto.
또한, 연산 공식은 종류와 상태가 전송하도록 설정된 조건에 해당되는 경우에만 사용자 단말기(100)가 오류 로그를 크래시 리포트 처리 서버(200)로 전송하도록 하며, 단 필터에 명시된 오류 리스트는 사용자 단말기(100)에서 오류가 발생하더라고 오류 로그를 전송하지 않도록 한다.In addition, the calculation formula allows the
이하, 본 발명의 실시 예에서는 사용자 단말기(100)에서 크래시 리포트를 크래시 리포트 처리 서버(200)로 어떤 방식으로 전송하고, 크래시 리포트 처리 서버(200)가 수신한 크래시 리포트를 어떻게 처리할 지에 따라 제1 및 제2 실시 예로 구분하여 설명하도록 한다.Hereinafter, in the embodiment of the present invention, the
그러면, 도 1을 참조하여 각 구성요소에 대해 개략적으로 설명하도록 한다.Hereinafter, each component will be schematically described with reference to FIG.
먼저, 본 발명의 사용자 단말기(100)는 사용자의 조작에 따라 통신망(300)을 경유하여 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미한다. 이러한 사용자 단말기(100)는 통신망(300)을 통해 음성 또는 데이터 통신을 수행할 수 있으며, 크래시 리포트 처리 서버(200)에 접근하여 크래시 리포트 처리 서버(200)가 전송하는 정보를 수신하고, 어플리케이션에 대한 크래시 리포트를 크래시 리포트 처리 서버(200)로 전송할 수 있다. 이를 위한 본 발명의 사용자 단말기(100)는 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다.First, the
특히, 본 발명의 실시 예에 따른 사용자 단말기(100)는 통신망(300)을 거쳐 사용자 단말기(100)는 통신망(300)을 통하여 크래시 리포트 처리 서버(200) 접속을 수행하고, 크래시 리포트 처리 서버(200)에 크래시 리포트를 제공하는 구성이다.In particular, the
이러한 사용자 단말기(100)는 우선적으로 통신망(300)에 접속된 앱 제공 장치(도면 미도시.) 예컨대 앱 스토어를 제공하는 앱 스토어 지원 장치에 접속을 수행하고 해당 앱 스토어 지원 장치로부터 앱을 수신하여 설치할 수 있다.The
또한 사용자 단말기(100)는 제작 과정에서 디폴트로 삽입되는 앱들을 설치하고, 사용자 요청에 따라 특정 앱들의 활성화 및 그에 따른 사용자 기능 제공을 지원한다. 즉, 본 발명의 사용자 단말기(100)는 크게 통신망(300)을 통하여 특정 앱 스토어 지원 장치가 제공하여 설치한 앱들 및 단말기 제작 과정에서 제공된 앱들에 대한 크래시 리포트 수집과 제공을 지원할 수 있다.In addition, the
이때 일 실시예에 따라 사용자 단말기(100)는 어플리케이션 비정상 종료 발생 시 종래와 같이 콜스택, 단말 부가정보, 앱 부가 정보, 단말 로그 정보를 모두 전송하는 것이 아니라, 1차 데이터로 콜스택, 단말 부가정보, 앱 부가 정보를 전송한다. 이후, 크래시 리포트 처리 서버(200)로부터 필요에 따라 2차 데이터인 단말 로그 정보가 요청되면, 사용자 단말기(100)가 단말 로그 정보를 크래시 리포트 처리 서버(200)로 전송한다.At this time, according to an embodiment, the
또한, 다른 실시예에 따라 사용자 단말기(100)는 어플리케이션 비정상 종료 발생 시 종류/상태/필터를 참조하여 선택적으로 오류 전송 여부를 판단한다. 판단결과 오류 전송이 필요하다고 판단된 경우 사용자 단말기(100)는 크래시 리포트를 크래시 리포트 처리 서버(200)로 전송한다.In addition, according to another embodiment, the
이러한, 사용자 단말기(100)의 크래시 리포트 전송과 관련된 설명은 도 4를 참조하여 보다 상세히 설명하기로 한다.The description related to the transmission of the crash reports of the
이러한 본 발명의 사용자 단말기(100)는 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 사용자 단말기(100)는 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수도 있다.The
또한, 본 발명의 사용자 단말기(100)는 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 사용자 단말기(100)로 사용될 수 있으며, 통신망(300)을 통해 크래시 리포트 처리 서버(200)와 정보를 송수신하면, 어플리케이션을 실행할 수 있고, 어플리케이션 실행 중 비정상 종료 시 크래시 리포트를 상기 크래시 리포트 처리 서버(200)로 전송할 수 있는 장치라면, 그 어떠한 장치도 본 발명의 실시 예에 따른 사용자 단말기(100)로 이용될 수 있다. Also, the
크래시 리포트 처리 서버(200)는 사용자 단말기(100)로부터 수신한 크래시 리포트를 처리하는 서버로, 통신망(300)을 통하여 적어도 하나의 사용자 단말기(100) 접속을 지원하고 사용자 단말기(100)가 제공하는 크래시 리포트를 저장 및 관리하고 관리자 요청에 따라 출력하도록 지원하는 구성이다.The crash
특히, 본 발명의 일실시 예에 따른 크래시 리포트 처리 서버(200)는 사용자 단말기(100)로부터 1차 데이터인 콜스택, 단말 부가정보, 어플리케이션 부가정보가 수신되면, 1차 데이터를 기반으로 해당 오류가 신규 오류인지 아니면 기존에 등록된 오류인지를 판단한다. 이후, 판단 결과 만약, 신규 오류인 경우에는 크래시 리포트 처리 서버(200)는 사용자 단말기(100)로 2차 데이터를 요청하고, 등록 오류의 경우에는 사용자 단말기(100)로 세션 종료를 요청한다.In particular, the crash
또한, 본 발명의 다른 실시 예에 따른 크래시 리퍼트 처리 서버(200)는 사용자 단말기(100)로부터 비정상 종료로그 전송여부에 대한 정책 요청이 있으면, 미리 저장된 정책을 사용자 단말기(100)로 전송한다.In addition, if there is a policy request for transmitting an abnormal end log from the
그러면, 크래시 리포트 처리 서버(200)는 사용자 단말기(100)로부터 정책에 부합한 경우의 오류에 대해서만 크래시 리포트를 수신하게 될 것이다.Then, the crash
상술한 바와 같은 본 발명의 사용자 단말기(100), 크래시 리포트 처리 서버(200)의 주요 구성 및 보다 구체적인 동작 방법에 대해서는 후술하여 설명하도록 하며, 본 발명의 실시 예에 따른 사용자 단말기(100), 크래시 리포트 처리 서버(200)에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.The main configuration and more specific operation method of the
아울러, 본 발명의 실시 예에 따른 통신망(300)은 크래시 리포트 처리 시스템의 각 구성들 간의 데이터 전달 및 신호 전달을 위한 통신 채널 형성을 지원할 수 있다. 즉 통신망(300)은 사용자 단말기(100)와 크래시 리포트 처리 서버(200)의 통신 채널을 형성하고, 사용자 단말기(100)와 크래시 리포트 처리 서버(200) 간의 데이터 송수신을 지원할 수 있다. 예컨대, 통신망(300)은 사용자 단말기(100)가 수집한 크래시 리포트를 크래시 리포트 처리 서버(200)로 전송할 수 있도록 지원한다.In addition, the
여기서 사용자 단말기(100)가 제공하는 크래시 리포트는 크래시 리포트 처리 서버(200)의 별도 접속 과정이나 인증 과정의 수행 없이 푸시 타입으로 크래시 리포트 처리 서버(200)에 제공되도록 지원할 수 있다.Here, the crash report provided by the
이러한 통신망(300)은 WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신 방식을 이용하는 것이 바람직하나, 이에 한정되는 것은 아니며, 시스템 구현 방식에 따라 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신 방식을 이용할 수도 있다.The
아울러, 본 발명의 통신망(300)은 예컨대, 다수의 접속망(미도시) 및 코어망(미도시)을 포함하며, 외부망, 예컨대 인터넷망(미도시)을 포함하여 구성될 수 있다. 여기서, 접속망(미도시)은 사용자 단말기(100)와 유무선 통신을 수행하는 접속망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. 또한, 전술한 바와 같이, 상기 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함과 무선 유니트(Radio Unit, 이하 RU라 함)으로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU(미도시)를 집중화된 DU(미도시)와 연결하여 구성할 수도 있다.The
또한, 접속망(미도시)과 함께 모바일 망을 구성하는 코어망(미도시)은 접속망(미도시)과 외부 망, 예컨대, 인터넷망(미도시)을 연결하는 역할을 수행한다.A core network (not shown) constituting a mobile network together with an access network (not shown) performs a role of connecting an access network (not shown) and an external network (not shown), for example, an Internet network (not shown).
이러한 코어망(미도시)은 앞서 설명한 바와 같이, 접속망(미도시) 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망(미도시)은 주파수간 이동성을 관리하고, 접속망(미도시) 및 코어망(미도시) 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망(미도시)과의 연동을 위한 역할을 수행할 수도 있다. 이러한 코어망(미도시)은 SGW(Serving GateWay), PGW(PDN GateWay), MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다.As described above, the core network (not shown) is a network system that performs main functions for mobile communication services such as mobility control and switching between access networks (not shown), and includes a circuit switching or a packet exchange and manages and controls the packet flow in the mobile network. The core network (not shown) manages inter-frequency mobility and plays a role for interworking with traffic in an access network (not shown) and a core network (not shown) and other networks such as the Internet It is possible. Such a core network (not shown) may further include an SGW (Serving Gate Way), a PGW (PDN GateWay), an MSC (Mobile Switching Center), a HLR (Home Location Register), a MME (Mobile Mobility Entity) .
또한, 인터넷망(미도시)은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미하는 것으로, 크래시 리포트 처리 서버(200)와 연결되며, 크래시 리포트 처리 서버(200)로부터 제공되는 정보를 코어망(미도시) 및 접속망(미도시)을 거쳐 사용자 단말기(100)로 제공할 수 있으며, 사용자 단말기(100)로부터 제공되는 정보를 접속망(미도시) 및 코어망(미도시)을 거쳐 크래시 리포트 처리 서버(200)로 제공할 수도 있다. 그러나, 이에 한정되는 것은 아니며, 크래시 리포트 처리 서버(200)는 코어망(미도시)과 일체로 구현될 수도 있다. The internet network (not shown) refers to a public network, that is, a public network, in which information is exchanged according to the TCP / IP protocol. The Internet network is connected to the crash
또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.In addition to the above-described communication methods, other widely known or later-developed communication methods may be included.
이하, 본 발명의 실시 예에 따른 크래시 리포트 처리 서버(200)의 구조에 대해 도 2 및 도 3을 참조하여 설명하도록 한다.Hereinafter, the structure of the crash
먼저 도 2를 참조하여 본 발명의 일 실시 예에 따른 크래시 리포트 처리 서버의 구조에 대하여 살펴보도록 한다.First, a structure of a crash report processing server according to an embodiment of the present invention will be described with reference to FIG.
도 2는 본 발명의 일 실시 예에 따른 크래시 리포트 처리 서버의 구조를 도시한 예시도이다. 2 is a diagram illustrating an example of a structure of a crash report processing server according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 크래시 리포트 처리 서버(200)는 적어도 하나의 크래시 리포트 처리 장치(210, 220, 이하 별도의 구분이 필요 없을 경우 200으로 지칭하도록 함)를 포함하여 구성될 수 있다. 특히, 본 발명의 실시 예에 따른 사용자 단말기(100)는 크래시 리포트 처리 장치(210, 220)에 연결되어, 어플리케이션에 대한 비정상 종료 발생 시 크래시 리포트를 크래시 리포트 처리 장치(210, 220)로 전송하고, 크래시 리포트 처리 장치(210, 220)는 수신한 크래시 리포트를 기반으로 오류를 처리하는 서비스를 제공할 수 있게 된다. Referring to FIG. 2, the crash
보다 구체적으로 설명하면, 일 실시 예에 따른 동작은 크래시 리포트 처리 장치(210)에서 처리하도록 설정하고, 다른 실시 예에 따른 동작은 크래시 리포트 처리 장치(200)에서 처리하도록 설정할 수 있을 것이다.More specifically, the operation according to one embodiment may be set to be processed in the crash
한편 상술한 설명에서는 크래시 리포트 처리 서버(200)를 각각 분산된 처리 장치로 구분하여 설명하였으나 본 발명이 이에 한정되는 것은 아니다. 즉 본 발명의 크래시 리포트 처리 서버(200)는 하나의 정보 처리 장치로 구성될 수 있다.In the above description, the crash
다음으로, 도 3을 참조하여 본 발명의 다른 실시 예에 따른 크래시 리포트 처리 서버의 구조에 대하여 살펴보도록 한다.Next, a structure of a crash report processing server according to another embodiment of the present invention will be described with reference to FIG.
도 3은 본 발명의 다른 실시 예에 따른 크래시 리포트 처리 서버의 구조를 도시한 예시도이다.3 is a diagram illustrating an example of a structure of a crash report processing server according to another embodiment of the present invention.
도 3을 참조하면, 본 발명의 크래시 리포트 처리 서버(200)는 서버 관리 장치(230), 적어도 하나의 크래시 리포트 처리 장치(210, 220, 이하 별도의 구분이 필요 없을 경우 200으로 지칭하도록 함)를 포함하여 구성될 수 있다. 특히, 본 발명의 실시 예에 따른 사용자 단말기(100)는 크래시 리포트 처리 장치(210, 220)에 연결되어, 어플리케이션에 대한 비정상 종료 발생 시 크래시 리포트를 크래시 리포트 처리 장치(210, 220)로 전송하고, 크래시 리포트 처리 장치(210, 220)는 수신한 크래시 리포트를 기반으로 오류를 처리하는 서비스를 제공할 수 있게 된다. 3, the crash
보다 구체적으로 설명하면, 서버 관리 장치(230)는 사용자 단말기(100)와 통신 연결되고, 사용자 단말기(100)로부터 수신되는 데이터가 크래시 리포트 인지 정책을 요구하는 데이터인지에 따라 제1 크래시 리포트 처리 장치(210) 또는 제2 크래시 리포트 처리 장치(220)로 데이터를 전달한다.More specifically, the
예를 들어, 사용자 단말기(100)로부터 수신되는 데이터가 크래시 리포트 데이터인 경우에는 제1 크래시 리포트 처리 장치(210)로 전달하고, 수신되는 데이터가 정책을 요구하는 데이터인 경우 제2 크래시 리포트 처리 장치(220)로 전달한다.For example, when the data received from the
이때, 제1 크래시 리포트 처리 장치(210)는 일실시 예에 따라 크래시 리포트를 처리하는 동작을 수행하고, 제2 크래시 리포트 처리 장치(220)는 다른 실시 예에 따른 크래시 리포트를 처리하는 동작을 수행할 것이다.At this time, the first crash
이상으로, 본 발명의 실시 예에 따른 크래시 리포트 처리 서버(200)에 대해 설명하였다.Thus, the crash
이하, 본 발명의 실시 예에 따른 사용자 단말기(100)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.Hereinafter, the main configuration and operation method of the
도 4는 본 발명의 실시 예에 따른 사용자 단말기의 주요 구성을 도시한 블록도이다. 4 is a block diagram illustrating a main configuration of a user terminal according to an embodiment of the present invention.
도 4를 참조하여 설명하기에 앞서, 도 4은 본 발명의 실시 예에 따른 사용자 단말기(100)를 기능상의 관점에서 주요 구성만을 도시한 것으로, 사용자 입력을 위한 입력부(미도시), 데이터 출력을 위한 출력부(미도시) 등과 같이 더 많은 구성을 포함하여 구성될 수 있음에 유념해야 한다. 4, only the main components of the
도 1 및 도 4를 참조하면, 본 발명의 실시 예에 따른 사용자 단말기(100)는 인터페이스부(110), 크래시 리포트 에이전트를 포함하는 앱(120) 및 단말 플랫폼(140)을 포함하여 구성될 수 있다. 도 4의 도면에는 도시하지 않았지만, 단말 플랫폼(140)은 앱 설치 관리 모듈을 포함할 수 있을 것이다.1 and 4, a
이 중, 인터페이스부(110)는 크래시 리포트 처리 서버(200)와의 통신을 위한 구성이다.Among them, the
앱(120)은 앱 설치 요청 모듈(도면 미 도시)에 의하여 앱 스토어 지원 장치 등이 제공한 앱 설치 정보에 의하여 설치되거나 단말기 제작 당시 설계자에 의하여 설치된 앱이 될 수 있다.The
이러한 앱(120)은 실행 아이콘의 형태로 사용자 단말기(100)의 표시부(도면 미도시) 등에 제공될 수 있으며, 해당 실행 아이콘 선택을 위한 입력 이벤트가 발생하면, 단말 플랫폼(140)은 해당 입력 이벤트에 따른 앱(120)을 저장부(도면 미도시)에서 호출하여 활성화하도록 지원할 수 있다. 이때 단말 플랫폼(140)은 앱(120) 구동에 따른 신호의 처리와 입력 이벤트의 적용 및 그에 따른 화면 변화 등을 제어하여 표시부에 출력하도록 지원하며, 통신 기능이 필요한 앱인 경우 사용자 단말기(100)에 마련된 통신부를 활성화하도록 지원할 수 있다.When the input event for selecting the execution icon is generated, the
이러한 앱(120)은 단말 플랫폼(140) 상에서 구동되는 과정 중 다양한 환경 조건 예컨대 통신 네트웍 상태 불량 등이나, 해당 앱(120) 구동을 위한 신호 처리 상의 인터럽트 불량 발생, 입력 이벤트 부하 등에 따라 비정상 종료될 수 있다.Such an
그러면 단말 플랫폼(140)은 앱(120)의 비정상 종료에 따른 콜스택 정보 및 시스템 로그 정보를 임시로 유지하도록 지원할 수 있다.Then, the
한편 앱(120)이 비정상 종료되는 경우 앱(120) 내에 포함된 크래시 리포트 에이젼트(130)에서 해당 앱(120)의 비정상 종료에 대한 정보를 수집한다.On the other hand, if the
또한, 수집된 크래시 리포트는 인터페이스부(110)를 통해 크래시 리포트 처리 서버(200)에 제공할 수 있다.In addition, the collected crash report can be provided to the crash
이때, 일 실시 예에 따라 크래시 리포트 에이젼트(130)는 어플리케이션 비정상 종료 발생 시 종래와 같이 콜스택, 단말 부가정보, 앱 부가 정보, 단말 로그 정보를 모두 전송하는 것이 아니라, 1차 데이터로 콜스택, 단말 부가정보, 앱 부가 정보를 전송한다.In this case, the
이후, 크래시 리포트 처리 서버(200)로부터 필요에 따라 2차 데이터인 단말 로그 정보가 요청되면, 크래시 리포트 에이젼트(130)는 단말 로그 정보를 크래시 리포트 처리 서버(200)로 전송한다.Thereafter, when the terminal log information, which is secondary data, is requested from the crash
다른 실시 예에 따라 크래시 리포트 에이젼트(130)는 어플리케이션 비정상 종료 발생 시 크래시 리포트 처리 서버(200)로 비정상 종료로그 전송여부에 대한 정책을 요청하고, 상기 정책을 제공받는다. 이후, 크래시 리포트 에이젼트(130)는 제공받은 정책에 포함된 종류/상태/필터 및 연산공식을 참조하여 선택적으로 오류 전송 여부를 판단한다. 판단결과 오류 전송이 필요하다고 판단된 경우 크래시 리포트 에이젼트(130)는 크래시 리포트를 크래시 리포트 처리 서버(200)로 전송한다.According to another embodiment, the
단말 플랫폼(140)은 사용자 단말기(100)의 다양한 사용자 기능 지원을 위한 전반적인 신호의 처리와 루틴의 처리, 데이터의 저장 제어와 전송 제어 등을 지원하는 구성이다. 단말 플랫폼(140)은 예컨대, iOS, Mac OS, 안드로이드 OS 등 다양한 플랫폼을 포함할 수 있다.The
이상으로, 본 발명의 실시 예에 따른 사용자 단말기(100)에 대해 설명하였다.The
이하, 본 발명의 실시 예에 따른 크래시 리포트 처리 서버(200)의 주요 구성 및 동작 방법에 대해 설명하도록 한다. Hereinafter, a main configuration and an operation method of the crash
도 5는 본 발명의 실시 예에 따른 크래시 리포트 처리 서버의 주요 구성을 도시한 블록도이다. 5 is a block diagram showing a main configuration of a crash report processing server according to an embodiment of the present invention.
도 5를 참조하여 설명하기에 앞서, 도 5는 도 2 및 도 3을 참조하여 설명한 본 발명의 실시 예에 따른 크래시 리포트 처리 서버(200)를 기능상의 관점에서 분류한 것이다.5, the crash
도 1 및 도 5를 참조하면, 본 발명의 실시 예에 따른 크래시 리포트 처리 서버(200)는 크래시 리포트 처리 모듈(500), 저장 모듈(520) 및 통신 인터페이스부(510)를 포함하여 구성될 수 있다. 아울러, 본 발명의 실시 예에 따른 각 구성은 모듈을 포함하여 구성될 수 있는데, 여기서, ‘모듈’은 각각 소정의 기능을 수행하는 구성 요소로서, 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 예를 들어, 상기 ‘모듈’은 프로그램 모듈을 의미할 수 있으며, 이는 프로세서(Processor)에 의해 실행되어 소정의 기능을 수행하는, 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.1 and 5, a crash
이하, 본 발명의 각 구성을 보다 구체적으로 설명하면, 먼저, 크래시 리포트 처리 모듈(500)는 크래시 리포트 처리 서버(200)에 접속한 사용자 단말에 대한 크래시 리포트를 관리 및 처리하는 모듈이다.Hereinafter, each configuration of the present invention will be described in more detail. First, the crash
이러한, 크래시 리포트 처리 모듈(500)은 본 발명의 실시 예에 따른 크래시 리포트 처리를 위한 사용자 인터페이스를 제공하는 역할을 수행하며 통신 인터페이스부(510)를 통해 사용자 단말기(100)로부터 크래시 리포트 및 크래시 리포트를 위한 정책요청을 수신하고, 사용자 단말기(100)로 응답을 전송하기 위한 과정 전반을 지원할 수 있다.The crash
또한, 크래시 리포트 처리 모듈(500)은 수신한 크래시 리포트에 대응하여 적절한 오류 처리 서비스를 제공하기 위한 기본적인 정보를 저장하고 관리하며, 사용자 단말기 별로 최적화된 사용자 인터페이스를 제공하기 위한 과정을 지원할 수 있다.In addition, the crash
통신 인터페이스(510)는 크래시 리포트 처리 서버(200)의 통신 기능 지원을 위한 구성이다.The
이러한 통신 인터페이스(510)는 크래시 리포트 처리 서버(200)가 다양한 형태 중 적어도 하나의 통신 형태를 가지는 통신망(300)과 통신 채널을 형성할 수 있도록 지원할 수 있다. 예컨대 통신 인터페이스(510)는 LTE 통신망, 3G 통신망, WLAN 통신망, WiFi 통신망 등 다양한 네트워크 타입의 통신망들로부터 데이터를 수신하고 또한 해당 통신망으로 데이터를 송출할 수 있는 형태로 마련될 수 있다. 이에 따라 통신 인터페이스(510)는 예컨대 서로 다른 통신 방식의 사용자 단말기들 간의 데이터 송수신이 가능하도록 지원할 수도 있다. The
한편 통신 인터페이스(510)는 사용자 단말기(100)와의 통신 채널 형성 후, 사용자 단말기(100)로부터 크래시 리포트 또는 정책 요청을 수신한다. 만약, 크래시 리포트가 수신되면, 수신된 크래시 리포트를 크래시 리포트 처리 모듈(500) 제어에 따라 저장 모듈(520)의 일정 위치에 저장한다. 또한, 정책 요청을 수신하면, 크래시 리포트 처리 모듈(500)이 요청에 따른 응답을 처리한다.Meanwhile, the
저장 모듈(520)은 크래시 리포트 처리 서버(200) 구동을 위한 다양한 응용 프로그램과 데이터를 저장하는 구성이다. 특히 저장 모듈(520)은 사용자 단말기(100)가 제공하는 크래시 리포트를 저장할 수 있다. The
크래시 리포트 처리 모듈(500)는 크래시 리포트 처리 서버(200) 운용과 관련된 다양한 신호의 처리와 전달을 수행하는 구성이다.The crash
특히, 본 발명의 일실시 예에 따른 크래시 리포트 처리 모듈(500)은 사용자 단말기(100)로부터 1차 데이터인 콜스택, 단말 부가정보, 어플리케이션 부가정보가 수신되면, 1차 데이터를 기반으로 해당 오류가 신규 오류인지 아니면 기존에 등록된 오류인지를 판단한다. 이후, 판단 결과 만약, 신규 오류인 경우에는 크래시 리포트 처리 모듈(500)은 사용자 단말기(100)로 2차 데이터를 요청하고, 등록 오류의 경우에는 사용자 단말기(100)로 세션 종료를 요청한다.In particular, the crash
또한, 다른 실시 예에 따른 크래시 리포트 처리 모듈(500)은 사용자 단말기(100)로부터 비정상 종료로그 전송여부에 대한 정책 요청이 있으면, 미리 저장된 정책을 사용자 단말기(100)로 전송한다.In addition, the crash
이후, 크래시 리포트 처리 모듈(500)은 사용자 단말기(100)로부터 정책에 부합한 경우의 오류에 대해서만 크래시 리포트를 수신하게 될 것이다.Thereafter, the crash
또한, 크래시 리포트 처리 모듈(500)은 실시간으로 특정 단말기에게 제공하여 정보 보고 시점이 지연되거나 누락되지 않도록 지원할 수 있다. 여기서 특정 단말기는 비정상 종료에 따른 크래시 이벤트가 발생한 앱과 관련된 인원의 단말기로서 앱 보완 및 갱신이나 에러 보정 등을 수행하는 단말기가 될 수 있다.In addition, the crash
이상으로 본 발명의 실시 예에 따른 크래시 리포트 서버(200)의 주요 구성 및 동작 방법에 대해 설명하였다.The main configuration and operation method of the
그러면 이제 도 6 내지 도 11을 참조하여 본 발명의 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정에 대하여 설명하도록 한다.6 to 11, a crash report processing process in the crash report processing system according to the embodiment of the present invention will be described.
먼저, 도 6을 참조하여 일 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정에 대하여 설명하도록 한다.First, a crash report process in the crash report processing system according to an embodiment will be described with reference to FIG.
도 6은 본 발명의 일 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정을 도시하는 흐름도이다.6 is a flowchart illustrating a crash report processing process in a crash report processing system according to an embodiment of the present invention.
도 6을 참조하면, 사용자 단말기(100)는 소정 어플리케이션 실행 중 비정상 종료 이벤트가 발생하면, 1차 데이터를 제1 크래시 리포트 처리 장치(210)로 전송한다.(S600, S602)6, when an abnormal end event occurs during execution of a predetermined application, the
이때, 1차 데이터는 크래시 리포트로, 콜스택, 단말 부가정보, 앱 부가정보를 포함하는 데이터이고, 단말 부가 정보는 단말 모델명, OS 버전 등의 정보를 포함하고, 앱 부가정보는 어플리케이션명, 어플리케이션 버전정보 등의 정보를 포함한다.In this case, the primary data is a crash report, and includes call stack, terminal side information and app side information. The terminal side information includes information such as terminal model name and OS version, and the app side information includes an application name, Version information, and the like.
그러면, 제1 크래시 리포트 처리 장치(210)는 수신한 1차 데이터를 기반으로 오류를 분석한다.(S604)Then, the first crash
이후, 제1 크래시 리포트 처리 장치(210)는 1차 데이터 기반으로 분석한 해당 오류가 신규 오류인지 아니면 기존에 등록된 오류인지를 판단한다.(S606)Thereafter, the first crash
만약, 신규 오류이면 사용자 단말기(100)로 2차 데이터를 요청한다.(S608)If it is a new error, the
하지만, 만약 등록 오류이면 사용자 단말기(100)로 세션 종료를 요청한다.(S614)However, if the registration error occurs, the
한편, 제1 크래시 리포트 처리 장치(210)로부터 2차 데이터 요청을 받은 사용자 단말기(100)는 2차 데이터를 제1 크래시 리포트 처리 장치(210)로 전송한다.On the other hand, the
이때, 2차 데이터는 단말 로그 정보를 포함하는 데이터이다. 즉, 단말 로그는 로그 분석을 위해 한번만 필요하고, 비교적 큰 데이터 사이즈를 차지하는 단말 로그는 필요 시에만 사용자 단말기(100)가 크래시 리포트 처리 서버(200) 단으로 전송하도록 함으로써 오버헤드를 줄일 수 있게 된다.At this time, the secondary data is data including terminal log information. That is, the terminal log is required only once for log analysis, and the terminal logs occupying a relatively large data size are transmitted to the terminal of the crash
이후, 제1 크래시 리포트 처리 장치(210)는 수신한 2차 데이터를 기반으로 오류를 분석한다.Thereafter, the first crash
다음으로, 도 7을 참조하여 다른 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정에 대하여 설명하도록 한다.Next, the crash report processing process in the crash report processing system according to another embodiment will be described with reference to FIG.
도 7은 본 발명의 다른 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정을 도시하는 흐름도이다.7 is a flowchart showing a crash report processing process in a crash report processing system according to another embodiment of the present invention.
도 7을 참조하면, 사용자 단말기(100)는 소정 어플리케이션 실행 중 비정상 종료 이벤트가 발생하면, 비 정상 종료 로그 전송 여부에 대한 정책 요청을 제2 크래시 리포트 처리 장치(220)로 전송한다.(S700, S702) 이때, 비 정상 종료 로그 전송 여부에 대한 정책이란 크래시 리포트 전송 여부를 판단하는 기준이 되는 정보를 말한다.Referring to FIG. 7, when an abnormal end event occurs during execution of a predetermined application, the
제2 크래시 리포트 처리 장치(220)는 사용자 단말기(100)로부터 정책 요청을 받으면, 미리 저장된 정책을 확인한다.(S704)Upon receipt of the policy request from the
이때, 비정상 종료 로그 전송 여부에 대한 정책은 어플리케이션 별로 설정되어 저장되어 있다. 예를 들어, 종류에 있어서는 액티비티(Activity), 브로드캐스트 리시버인 경우에는 전송하도록 설정하고, 서비스이거나 컨텐츠 프로바이더인 경우에는 전송하지 않도록 설정되어 있다. 또한, 상태에 있어서는 포어 그라운드이면 전송하도록 설정하고, 포어 그라운드가 아니라면 전송하지 않도록 설정되어 있다. 또한, 필터에 있어서는 단말 플랫폼이 야기한 특정 오류 리스트에 포함되는 경우에는 전송하도록 설정되어 있다.At this time, the policy for whether an abnormal end log is transmitted is set and stored for each application. For example, it is set such that it is transmitted as an activity in the category, and in the case of a broadcast receiver, and is set not to be transmitted in the case of a service or a content provider. In the state, it is set so as to transmit if it is a foreground, and is set not to be transmitted unless it is a foreground. The filter is set so as to be transmitted in the case where it is included in the specific error list caused by the terminal platform.
상기와 같이 전송 정책이 설정될 수 있고, 이에 한정되는 것은 아니고 조건은 추가 및 삭제 가능할 것이다. 또한, 연산 공식에 의해 전송 여부가 결정되는데, 연상 공식은 종류와 상태가 전송하도록 설정된 조건에 해당되는 경우에만 사용자 단말기(100)가 오류 로그를 크래시 리포트 처리 서버(200)로 전송하도록 하며, 단 필터에 명시된 오류 리스트는 사용자 단말기(100)에서 오류가 발생하더라고 오류 로그를 전송하지 않도록 한다.As described above, the transmission policy can be set, and the condition can be added and deleted without being limited thereto. In addition, the transmission formula is determined by the calculation formula. The association formula allows the
이와 같이 설정되어 저장된 정책을 제2 크래시 리포트 처리 장치(220)가 사용자 단말기(100)로 전송한다.(S706)The second crush
이와 같은 정책을 수신한 사용자 단말기(100)는 오류 정보를 정책과 비교한다.(S708)The
비교 결과, 정책에 부합되는지를 판단하여 오류 정보가 정책에 부합되면 제2 크래시 리포트 처리 장치(220)로 비정상 종료 로그 즉, 크래시 리포트를 전송한다.(S712)If the error information matches the policy, the second
하지만, 비교 결과 오류 정보가 정책에 부합되지 않으면 세션 종료를 시킨다.(S716)However, if the comparison result indicates that the error information does not match the policy, the session is terminated (S716)
크래시 리포트를 수신한 제2 크래시 리포트 처리 장치(220)는 수신한 로그 기반으로 오류를 분석한다.(S714)Upon receiving the crash report, the second
다음으로, 도 8을 참조하여 서버 관리 장치(230)을 포함하는 크래시 리포트 처리 시스템에서 본 발명의 실시 예에 따라 크래시 리포트 처리하는 과정에 대하여 설명하도록 한다.Next, a process of crash report processing according to an embodiment of the present invention in a crash report processing system including the
도 8은 본 발명의 실시예에 따라 서버 관리 장치를 포함하는 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정을 도시하는 흐름도이다.8 is a flowchart showing a crash report processing process in a crash report processing system including a server management apparatus according to an embodiment of the present invention.
사용자 단말기(100)는 소정 어플리케이션 실행 중 비정상 종료 이벤트가 발생하면, 1차 데이터 또는 비 정상 종료 로그 전송 여부에 대한 정책 요청을 크래시 리포트 처리 서버(200)의 서버 관리 장치(230)로 전송한다.(S800) 이때, 전송되는 데이터는 사용자 단말기(100)마다 다를 수도 있고, 앱 마다 다를 수도 있을 것이다.When an abnormal termination event occurs during execution of a predetermined application, the
서버 관리 장치(230)는 수신한 데이터를 확인하고, 수신한 데이터가 정책 요청 데이터인지 1차 데이터인지를 판단한다.(S804, S806, S808) The
판단 결과 수신한 데이터가 정책 요청 데이터이면, 서버 관리 장치(230)는 제2 크래시 리포트 처리 장치(220)로 수신한 요청 데이터를 전달한다.(S810)If the received data is the policy request data, the
그러면, 제2 크래시 리포트 처리 장치(220)는 수신한 정책 요청 데이터를 기반으로 크래시 리포트를 처리한다. 즉, 제2 크래시 리포트 처리 장치(220)는 미리 저장된 정책을 사용자 단말기(100)로 전송하고, 정책을 수신한 사용자 단말기(100)는 오류 정보를 정책과 비교한다. 비교 결과, 정책에 부합되는지를 판단하여 오류 정보가 정책에 부합되면 제2 크래시 리포트 처리 장치(220)로 비정상 종료 로그 즉, 크래시 리포트를 전송한다. 하지만, 비교 결과 오류 정보가 정책에 부합되지 않으면 세션 종료를 시킨다. 또한, 크래시 리포트를 수신한 제2 크래시 리포트 처리 장치(220)는 수신한 로그 기반으로 오류를 분석한다.Then, the second crash
한편, S808 판단 결과 전송된 데이터가 1차 데이터이면, 서버 관리 장치(230)는 데이터를 제1 크래시 리포트 처리 장치(210)로 전달한다.(S814)On the other hand, if it is determined in step S808 that the transmitted data is primary data, the
그러면, 제1 크래시 리포트 처리 장치(210)는 수신한 1차 데이터 기반으르 크래시 리포트를 처리한다.(S816) 즉, 제1 크래시 리포트 처리 장치(210)는 수신한 1차 데이터를 기반으로 오류를 분석하고, 분석한 해당 오류가 신규 오류인지 아니면 기존에 등록된 오류인지를 판단한다. 만약, 신규 오류이면 사용자 단말기(100)로 2차 데이터를 요청한다. 하지만, 만약 등록 오류이면 사용자 단말기(100)로 세션 종료를 요청한다.Then, the first
한편, 제1 크래시 리포트 처리 장치(210)로부터 2차 데이터 요청을 받은 사용자 단말기(100)는 2차 데이터를 제1 크래시 리포트 처리 장치(210)로 전송한다.On the other hand, the
이때, 2차 데이터는 단말 로그 정보를 포함하는 데이터이다. 즉, 단말 로그는 로그 분석을 위해 한번만 필요하고, 비교적 큰 데이터 사이즈를 차지하는 단말 로그는 필요 시에만 사용자 단말기(100)가 크래시 리포트 처리 서버(200) 단으로 전송하도록 함으로써 오버헤드를 줄일 수 있게 된다.At this time, the secondary data is data including terminal log information. That is, the terminal log is required only once for log analysis, and the terminal logs occupying a relatively large data size are transmitted to the terminal of the crash
이후, 제1 크래시 리포트 처리 장치(210)는 수신한 2차 데이터를 기반으로 오류를 분석한다.Thereafter, the first crash
도 9는 본 발명의 일 실시 예에 따른 사용자 단말기에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.9 is a flowchart illustrating a process for processing a crash report in a user terminal according to an embodiment of the present invention.
도 9를 참조하면, 사용자 단말기(100)는 소정의 어플리케이션 실행 중 비 정상 종료 이벤트가 발생하면, 1차 데이터를 크래시 리포트 처리 서버(200)로 전송한다.(S900 ~ S904) 이때, 1차 데이터는 크래시 리포트로, 콜스택, 단말 부가정보, 앱 부가정보를 포함하는 데이터이고, 단말 부가 정보는 단말 모델명, OS 버전 등의 정보를 포함하고, 앱 부가정보는 어플리케이션명, 어플리케이션 버전정보 등의 정보를 포함한다.9, when an abnormal end event occurs during execution of a predetermined application, the
이후, 사용자 단말기(100)는 크래시 리포트 처리 서버(200)로부터 2차 데이터 전송 요구가 있으면, 사용자 단말기(100)는 2차 데이터를 제1 크래시 리포트 처리 장치(210)로 전송한다.(S906, S910)Thereafter, when there is a secondary data transfer request from the crash
이때, 2차 데이터는 단말 로그 정보를 포함하는 데이터이다. 즉, 단말 로그는 로그 분석을 위해 한번만 필요하고, 비교적 큰 데이터 사이즈를 차지하는 단말 로그는 필요 시에만 사용자 단말기(100)가 크래시 리포트 처리 서버(200) 단으로 전송하도록 함으로써 오버헤드를 줄일 수 있게 된다.At this time, the secondary data is data including terminal log information. That is, the terminal log is required only once for log analysis, and the terminal logs occupying a relatively large data size are transmitted to the terminal of the crash
하지만, 만약 크래시 리포트 처리 서버(200)로부터 세션 종료 요구를 받으면, 사용자 단말기(100)는 크래시 리포트 처리 서버(200)와 연결된 세션을 종료시킨다.(S908)However, if a request to end the session is received from the crash
도 10은 본 발명의 일 실시 예에 따른 크래시 리포트 처리 서버에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.10 is a flowchart illustrating a process for crash report processing in a crash report processing server according to an embodiment of the present invention.
크래시 리포트 처리 서버(200)는 대기상태를 유지하다가, 사용자 단말기(100)로부터 1차 데이터가 수신되는지 검사한다.(S1000, S1002)The crash
만약, 사용자 단말기(100)로부터 1차 데이터가 수신되면, 크래시 리포트 처리 서버(200)는 수신한 1차 데이터를 기반으로 오류를 분석한다.(S1004)If the primary data is received from the
이후, 크래시 리포트 처리 서버(200)는 1차 데이터 기반으로 분석한 해당 오류가 신규 오류인지 아니면 기존에 등록된 오류인지를 판단한다.(S1006) 이를 위해 크래시 리포트 처리 서버(200)는 등록 오류에 대한 데이터를 미리 저장하고 있어야 할 것이다.Thereafter, the crash
검사 결과 만약, 신규 오류이면 크래시 리포트 처리 서버(200)는 사용자 단말기(100)로 2차 데이터를 요청한다.(S1008)As a result of the check, if a new error occurs, the crash
하지만, 검사 결과 만약 등록 오류이면 크래시 리포트 처리 서버(200)는 사용자 단말기(100)로 세션 종료를 요청한다.(S1014)However, if the result of the check is a registration error, the crash
한편, 크래시 리포트 처리 서버(200)은 사용자 단말기(100)로부터 2차 데이터가 수신되면 수신한 2차 데이터를 기반으로 오류를 분석한다.(S1012)On the other hand, when receiving the secondary data from the
도 11은 본 발명의 다른 실시 예에 따른 사용자 단말기에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.11 is a flowchart illustrating a process for crash report processing in a user terminal according to another embodiment of the present invention.
사용자 단말기(100)는 소정 어플리케이션 실행 중 비정상 종료 이벤트가 발생하면, 비 정상 종료 로그 전송 여부에 대한 정책 요청을 크래시 리포트 처리 서버(200)로 전송한다.(S1100 ~ S1104) 이때, 비 정상 종료 로그 전송 여부에 대한 정책이란 크래시 리포트 전송 여부를 판단하는 기준이 되는 정보를 말한다.When an abnormal end event occurs during execution of a predetermined application, the
이후, 크래시 리포트 처리 서버(200)로부터 정책이 수신되면, 사용자 단말기(100)는 비정상 종료 시점 오류 정보를 정책 결과와 비교한다. 이때, 정책은 상기에서 기재한 바와 같은 종류, 상태, 필터 및 연산공식에 따라 비정상 종료 로그 전송 여부를 결정하기 위한 정보를 포함하는 정책으로, 종류, 상태, 필터 및 연산공식은 상기에서 기재한 바와 같이 설정될 수 있을 것이다.Thereafter, when the policy is received from the crash
이와 같은 정책을 수신한 사용자 단말기(100)는 오류 정보를 정책과 비교한다.(S1108)The
비교 결과, 정책에 부합되는지를 판단하여 오류 정보가 정책에 부합되면 사용자 단말기(100)는 크래시 리포트 처리 서버(200)로 비정상 종료 로그 즉, 크래시 리포트를 전송한다.(S1110, 1112)If the error information matches the policy, the
하지만, 비교 결과 오류 정보가 정책에 부합되지 않으면 세션 종료를 시킨다.(S1110, S1114)However, if the comparison result indicates that the error information does not match the policy, the session is terminated (S1110, S1114)
도 12는 본 발명의 다른 실시 예에 따른 크래시 리포트 처리 서버에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.12 is a flowchart illustrating a process for crash report processing in a crash report processing server according to another embodiment of the present invention.
크래시 리포트 처리 서버(200)는 대기상태를 유지하다가, 사용자 단말기(100)로부터 정책 요청을 받으면, 미리 저장된 정책을 확인한다.(S1200 ~ S1204) 이때, 비정상 종료 로그 전송 여부에 대한 정책은 어플리케이션 별로 설정되어 저장되어 있다.The crash
이와 같이 설정되어 저장된 정책을 크래시 리포트 처리 서버(200)가 사용자 단말기(100)로 전송한다.(S1206)The thus set and stored policy is transmitted to the
이후, 크래시 리포트 처리 서버(200)가 사용자 단말기(100)로부터 비정상 종료 로그가 수신되면, 수신한 로그 기반으로 오류를 분석한다.(S1210)Thereafter, when the crash
이상으로 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템에서 크래시 리포트 처리를 위한 방법에 대해 설명하였다.The method for crash report processing in the crash report processing system according to the embodiment of the present invention has been described above.
상술한 바와 같은 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템에서 크래시 리포트 처리를 위한 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다.The method for crash report processing in the crash report processing system according to the embodiment of the present invention as described above may be provided in the form of a computer readable medium suitable for storing computer program instructions and data.
이때, 기록매체에 기록된 프로그램은 컴퓨터에서 읽히어 설치되고 실행됨으로써 전술한 기능들을 실행할 수 있다. At this time, the program recorded on the recording medium can be read and installed in the computer and executed, thereby executing the above-described functions.
여기서, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 기능들을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 컴퓨터의 장치 인터페이스(Interface)를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. In order to allow a computer to read a program recorded on a recording medium and to execute functions implemented by the program, the above-mentioned program may be stored in a computer-readable medium such as C, C ++, JAVA, machine language, and the like.
이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. 또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. 또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.The code may include a function code related to a function or the like that defines the functions described above and may include an execution procedure related control code necessary for the processor of the computer to execute the functions described above according to a predetermined procedure. In addition, such code may further include memory reference related code as to what additional information or media needed to cause the processor of the computer to execute the aforementioned functions should be referenced at any location (address) of the internal or external memory of the computer . In addition, when a processor of a computer needs to communicate with any other computer or server that is remote to execute the above-described functions, the code may be stored in a memory of the computer using a communication module of the computer, It may further include a communication-related code such as how to communicate with another computer or a server, and what information or media should be transmitted or received during communication.
이러한, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. Such computer-readable media suitable for storing computer program instructions and data include, for example, magnetic media such as hard disks, floppy disks and magnetic tape, compact disk read only memory (CD-ROM) Optical media such as a DVD (Digital Video Disk), a magneto-optical medium such as a floppy disk, and a ROM (Read Only Memory), a RAM , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), and EEPROM (Electrically Erasable Programmable ROM). The processor and memory may be supplemented by, or incorporated in, special purpose logic circuits.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.The computer readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner. The functional program for implementing the present invention and the related code and code segment may be implemented by programmers in the technical field of the present invention in consideration of the system environment of the computer that reads the recording medium and executes the program, Or may be easily modified or modified by the user.
이러한 본 발명의 실시 예들에 따른 각 단계는, 컴퓨터로 실행 가능한 명령어로 구현되어 컴퓨팅 시스템에 의해 실행될 수 있다. 여기서, "컴퓨팅 시스템"은 전자 데이터 상의 동작의 수행과 함께 동작하는 하나 이상의 소프트웨어 모듈, 하나 이상의 하드웨어 모듈, 또는 그 조합으로서 정의된다. 예를 들면, 컴퓨터 시스템의 정의는 퍼스널 컴퓨터의 오퍼레이팅 시스템과 같은 소프트웨어 모듈 및 퍼스널 컴퓨터의 하드웨어 컴포넌트를 포함한다. 모듈의 물리적인 레이아웃(layout)은 중요하지 않다. 컴퓨터 시스템은 네트워크를 통하여 연결된 하나 이상의 컴퓨터를 포함할 수 있다. Each step according to embodiments of the present invention may be implemented by a computer-executable instruction and executed by a computing system. As used herein, a "computing system" is defined as one or more software modules, one or more hardware modules, or a combination thereof that operate in conjunction with performing an operation on electronic data. For example, the definition of a computer system includes a software module such as a personal computer's operating system and a hardware component of a personal computer. The physical layout of the module is not important. The computer system may include one or more computers connected through a network.
마찬가지로, 컴퓨팅 시스템은 메모리 및 프로세서와 같은 내부 모듈이 전자 데이터 상의 동작의 수행과 함께 동작하는 하나의 물리적 장치로 구현될 수 있다.Likewise, a computing system may be implemented in a single physical device in which an internal module, such as a memory and a processor, operates in conjunction with performing an operation on the electronic data.
즉, 본 발명에 따른 크래시 리포트 처리 시스템에서 크래시 리포트 처리를 위한 장치, 예컨대 사용자 단말기(100), 크래시 리포트 처리 서버(200)는 이하에서 설명하는 컴퓨팅 시스템을 기반으로 상술한 실시 예들을 수행하도록 구현될 수 있다.That is, the apparatus for crash report processing in the crash report processing system according to the present invention, for example, the
도 13은 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템에서 크래시 리포트 처리를 위한 장치의 오퍼레이팅 환경을 도시한 도면이다. 13 is a diagram illustrating an operating environment of an apparatus for crash report processing in a crash report processing system according to an embodiment of the present invention.
도 13 및 이하의 설명은 본 발명이 구현될 수 있는 적절한 컴퓨팅 환경의 간단하고, 일반적인 설명을 제공하고자 한다. 요구사항은 아니지만, 본 발명은 컴퓨터 시스템에 의해 실행되고 있는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 컴퓨터 실행가능 명령어, 관련 데이터 구조, 및 프로그램 모듈은 본 명세서에 개시된 발명의 행위를 실행하는 프로그램 코드 수단의 예를 나타낸다.Figure 13 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented. Although not required, the invention may be described in connection with computer-executable instructions, such as program modules, being executed by a computer system. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The computer executable instructions, associated data structures, and program modules illustrate examples of program code means for carrying out the acts of the invention disclosed herein.
도 13을 참조하면, 본 발명을 구현하는 예시적인 컴퓨팅 시스템은 프로세싱 유닛(11), 시스템 메모리(12), 및 상기 시스템 메모리(12)를 포함하는 다양한 시스템 컴포넌트를 상기 프로세싱 유닛(11)에 연결시키는 시스템 버스(10)를 포함하는 형태로 된 컴퓨팅 장치를 포함한다. 13, an exemplary computing system embodying the present invention includes a
프로세싱 유닛(11)은 본 발명의 특징을 구현하도록 설계된 컴퓨터-실행가능 명령어를 실행시킬 수 있다. The
시스템 버스(10)는 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스, 주변 버스, 및 메모리 버스 또는 메모리 컨트롤러를 포함하는 몇 가지 유형의 버스 구조 중의 임의의 것일 수 있다. 시스템 메모리(12)는 ROM(Read Only Memory)(12a) 및 RAM(Random Access Memory)(12b)을 포함한다. 시동중과 같은 때에 컴퓨팅 시스템 내의 구성요소들 간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS)(13a)은 일반적으로 ROM(12a)에 저장될 수 있다.The
컴퓨팅 시스템은 저장 수단을 포함할 수 있는데, 예를 들어, 하드 하드 디스크로부터 정보를 판독하거나 그 하드 디스크에 정보를 기록하는 하드 디스크 드라이브(15), 자기 디스크로부터 정보를 판독하거나 그 자기 디스크에 정보를 기록하는 자기 디스크 드라이브(16), 및 예를 들면, CD-ROM 또는 기타 광 매체 등의 광 디스크로부터 정보를 판독하거나 그 광 디스크에 정보를 기록하는 광 디스크 드라이브(17)를 포함할 수 있다. 하드 디스크 드라이브(15), 자기 디스크 드라이브(16), 및 광 디스크 드라이브(17)는 각각 하드 디스크 드라이브 인터페이스(18), 자기 디스크 드라이브-인터페이스(19), 및 광 드라이브 인터페이스(20)에 의해 시스템 버스(10)에 접속된다. The computing system may include storage means, for example, a
또한, 컴퓨팅 시스템은, 저장 수단으로서 외장 메모리(21)를 더 구비할 수 있다. 상기 외장 메모리(21)는 입출력 인터페이스(24)를 통해서 시스템 버스(10)에 접속될 수 있다.Further, the computing system may further include an
상술한 드라이브 및 그 드라이브에 의해 판독 및 기록되는 관련 컴퓨터 판독가능 매체는 컴퓨터 실행가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 비휘발성 저장을 제공한다. 본 명세서에서 기술된 예시적인 환경은 하드 디스크(15), 자기 디스크(16) 및 광 디스크(17)를 예시하고 있으나, 이외에 자기 카세트, 플래쉬 메모리 카드, DVD, 베루누이 카트리지(Bernoulli cartridge), RAM, ROM, 등을 포함하는, 데이터를 저장하는 다른 유형의 컴퓨터 판독가능 매체가 이용될 수 있다.The above-described drives and their associated computer-readable media readable and writable by the drives provide non-volatile storage of computer-executable instructions, data structures, program modules and other data. The exemplary environment described herein illustrates a
상기 프로세싱 유닛(11)에 의해 로딩되어 실행되는, 오퍼레이팅 시스템(13b), 하나 이상의 애플리케이션 프로그램(13c), 기타 프로그램 모듈(13d), 및 프로그램 데이터(13c)를 포함하는 하나 이상의 프로그램 모듈을 포함하는 프로그램 코드 수단은 하드 디스크(15), 자기 디스크(16), 광 디스크(17), ROM(12a) 또는 RAM(12b)에 저장될 수 있다. Includes one or more program modules including an operating system 13b, one or
아울러, 상기 컴퓨팅 시스템은, 키보드, 포인팅 장치, 마이크로폰, 조이 스틱, 게임 패드, 스캐너, 등과 같은 기타 입력 장치(22)를 통해 사용자로부터 명령 및 정보를 입력받을 수 있다. 이들 입력 장치(22)는 시스템 버스(10)에 연결된 입출력 인터페이스(24)를 통해 프로세싱 유닛(11)에 접속될 수 있다. 입출력 인터페이스(24)는 예를 들면, 직렬 포트 인터페이스, PS/2 인터페이스, 병렬 포트 인터페이스, USB 인터페이스, IEEE(Institute of Electrical and Electronics Engineers) 1394 인터페이스(즉, 파이어와이어(FireWire) 인터페이스)와 같은 매우 다양한 서로 다른 인터페이스 중 임의의 것을 논리적으로 나타내거나, 다른 인터페이스의 조합까지도 논리적으로 나타낼 수 있다. In addition, the computing system may receive commands and information from a user through
더하여, 본 발명이 적용되는 컴퓨팅 시스템은, 모니터 혹은 LCD와 같은 디스플레이 장치(26) 또는 스피커나 마이크로폰과 같은 오디오 장치(27)를 더 포함할 수 있으며, 이들은, 비디오/오디오 인터페이스(25)를 통해서 시스템 버스(10)에 접속된다. 예를 들면, 스피커 및 프린터 등의 (도시되지 않은) 기타 주변 출력 장치가 컴퓨터 시스템(420)에 또한 접속될 수 있다. 상기 비디오/오디오 인터페이스부(25)는 HDMI(High Definition Multimedia Interface), GDI(Graphics Device Interface) 등을 포함할 수 있다.In addition, the computing system to which the present invention is applied may further include a
또한, 본 발명을 실행하는 컴퓨팅 시스템은, 예를 들면, 사무실-광역 또는 기업-광역 컴퓨터 네트워크, 홈 네트워크, 인트라넷, 및/또는 인터넷과 같은 네트워크에 접속 가능하다. 컴퓨터 시스템은 이러한 네트워크를 통해, 예를 들면, 원격 컴퓨터 시스템, 원격 애플리케이션, 및/또는 원격 데이터베이스와 같은 외부 소스들과의 데이터를 교환할 수 있다.Further, the computing system embodying the invention is connectable to a network such as, for example, an office-wide or enterprise-wide computer network, a home network, an intranet, and / or the Internet. The computer system may exchange data with external sources such as, for example, a remote computer system, a remote application, and / or a remote database.
이를 위해 본 발명이 적용되는 컴퓨팅 시스템은 외부 소스로부터 데이터를 수신하고/거나 외부 소스로 데이터를 전송하는 네트워크 인터페이스(27)를 포함한다. To this end, a computing system to which the present invention is applied includes a
본 발명에 있어서, 이러한 컴퓨팅 시스템은, 네트워크 인터페이스(27)를 통해서 원격지에 위치한 장치와 정보를 송수신할 수 있다. 예컨대, 컴퓨팅 시스템이 단말(100)을 의미하는 경우, 네트워크 인터페이스(27)를 통해 메신저 서비스 장치(200)와 정보를 송수신할 수 있다. 반면, 컴퓨팅 시스템이 메신저 서비스 장치(200)를 의미하는 경우, 네트워크 인터페이스(27)를 통해 단말(100)과 정보를 송수신할 수 있다. 네트워크 인터페이스(27)는, 예를 들면, 네트워크 인터페이스 카드 및 대응하는 네트워크 드라이버 인터페이스 사양(Network Driver Interface Specification: "NDIS") 스택과 같은 하나 이상의 소프트웨어 및/또는 하드웨어 모듈의 논리적 조합으로 나타낼 수 있다. In the present invention, such a computing system can transmit and receive information to and from a remote device via the
마찬가지로, 컴퓨터 시스템은 입출력 인터페이스(24)를 통해 외부 소스로부터 데이터를 수신하거나 외부 소스로 데이터를 전송한다. 입출력 인터페이스(24)는 모뎀(23)(예를 들면, 표준 모뎀, 케이블 모뎀, 또는 디지털 가입자선(digital subscriber line: “DSL”) 모뎀)에 연결될 수 있으며, 이러한 모뎀(23)을 통해 외부 소스로부터 데이터를 수신하고/거나 외부 소스로 데이터를 전송할 수 있다. Likewise, the computer system receives data from an external source via the input /
도 13은 본 발명에 적절한 오퍼레이팅 환경을 나타내지만, 본 발명의 원리는, 필요하다면 적절한 수정으로, 본 발명의 원리를 구현할 수 있는 임의의 시스템에 채용될 수 있다. 도 13에 도시된 환경은 단지 예시적이며 본 발명의 원리가 구현될 수 있는 매우 다양한 환경의 작은 일부도 나타내지 못한다.Although FIG. 13 shows an operating environment suitable for the present invention, the principles of the present invention may be employed with any system that can implement the principles of the present invention, with appropriate modifications if necessary. The environment shown in Figure 13 is illustrative only and does not represent a small portion of a very diverse environment in which the principles of the present invention may be implemented.
아울러, 본 발명의 크래시 리포트 처리 시스템에서 크래시 리포트 처리 과정 실행 시 발생되는 다양한 정보는 도 13과 같은 컴퓨팅 시스템에 관련된 임의의 컴퓨터 판독가능 매체에 저장되고 액세스될 수 있다. 예를 들면, 이러한 프로그램 모듈들의 일부 및 관련 프로그램 데이터의 일부는, 시스템 메모리(12)에 저장하기 위해, 오퍼레이팅 시스템(13b), 애플리케이션 프로그램(13c), 프로그램 모듈(13d), 및/또는 프로그램 데이터(13e)에 포함될 수 있다.In addition, various information generated in executing the crash report process in the crash report processing system of the present invention can be stored and accessed in any computer readable medium related to the computing system as shown in FIG. For example, a portion of these program modules and a portion of the associated program data may be stored in the
또한, 하드 디스크와 같은 대용량(mass) 저장 장치가 컴퓨팅 시스템에 연결되면, 이러한 프로그램 모듈 및 관련 프로그램 데이터는 대용량 저장 장치에 저장될 수 있다. 네트워크 환경에서, 본 발명과 관련된 프로그램 모듈 또는 그 일부는 입출력 인터페이스(24)의 모뎀(23) 또는 네트워크 인터페이스(25)를 통해 연결된 원격 컴퓨터 시스템에 저장될 수 있다. 이러한 모듈의 실행은 전술한 바와 같이 분산형 환경에서 수행될 수 있다.Further, when a mass storage device such as a hard disk is connected to the computing system, such program modules and related program data may be stored in the mass storage device. In a networked environment, program modules associated with the present invention, or portions thereof, may be stored in a remote computer system connected via a
이상에서 설명한 바와 같이, 본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.As described above, the present specification contains details of a number of specific implementations, but they should not be construed as being limitations on the scope of any invention or claimability, but rather on the particular embodiment of a particular invention But should be understood as an explanation of the features. Certain features described herein in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments, either individually or in any suitable subcombination. Further, although the features may operate in a particular combination and may be initially described as so claimed, one or more features from the claimed combination may in some cases be excluded from the combination, Or a variant of a subcombination.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.Likewise, although the operations are depicted in the drawings in a particular order, it should be understood that such operations must be performed in that particular order or sequential order shown to achieve the desired result, or that all illustrated operations should be performed. In certain cases, multitasking and parallel processing may be advantageous. Also, the separation of the various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems will generally be integrated together into a single software product or packaged into multiple software products It should be understood.
본 명세서에서 설명한 주제의 특정한 실시형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다. 예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.Certain embodiments of the subject matter described herein have been described. Other embodiments are within the scope of the following claims. For example, the operations recited in the claims may be performed in a different order and still achieve desirable results. By way of example, the process illustrated in the accompanying drawings does not necessarily require that particular illustrated or sequential order to obtain the desired results. In certain implementations, multitasking and parallel processing may be advantageous.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.The description sets forth the best mode of the invention, and is provided to illustrate the invention and to enable those skilled in the art to make and use the invention. The written description is not intended to limit the invention to the specific terminology presented. Thus, while the present invention has been described in detail with reference to the above examples, those skilled in the art will be able to make adaptations, modifications, and variations on these examples without departing from the scope of the present invention.
따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Therefore, the scope of the present invention should not be limited by the described embodiments but should be defined by the claims.
본 발명은 본 발명은 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치에 관한 것으로, 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 서버단으로 선택적으로 오류 전송을 하거나, 오버헤드 성격의 중복적인 단말로그를 보내지 않도록 하여 보다 효율적인 크래시 리포트를 할 수 있도록 하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치에 관한 것이다.The present invention relates to a crash report processing system and an apparatus for crash report processing in the crush report processing system. More particularly, the present invention relates to an apparatus for crash report processing in a crash report system, A crash report processing system and a device for crash report processing in the system, so that a more efficient crash report can be made by not transmitting redundant terminal logs of overhead nature.
본 발명에 의하면, 본 발명의 크래시 리포트 처리 시스템은 단말에 설치된 어플리케이션 비 정상 종료(Crash) 시 단말에서 서버로 전달되는 정보를 2단계 즉, 단말이 서버로 오류로그를 전달 보내는데 있어 필수단계(1차)와 옵션단계(2차)로 분리함으로써 네트워크와 트래픽(traffic)과 서버 시스템을 효율적으로 운영할 수 있다. 또한, 본 발명은 단말에 설치된 어플리케이션이 비 정상 종료(Crash) 될 때 어플리케이션의 종류/상태/오류필터에 따라, 단말이 어플리케이션의 오류 내용을 서버에 전달을 할 것인지 여부를 제어하여 서비스 운영의 유연성을 제공할 수 있다. 즉, 본 발명은 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 오버헤드 성격의 중복적인 단말로그를 보내지 않도록 하여 보다 효율적인 크래시 리포트를 할 수 있게 되며, 이를 통해 어플리케이션 서비스 산업의 발전에 이바지할 수 있다.According to the present invention, in the crash report processing system of the present invention, the information transmitted from the terminal to the server at the time of application abnormal termination (Crash) installed in the terminal is divided into two steps, Network and traffic and server system can be efficiently operated by separating the network and the optional step (secondary). In addition, according to the present invention, when the application installed in the terminal is abnormally terminated (Crash), it is controlled according to the type / status / error filter of the application whether the terminal transmits an error content of the application to the server, Can be provided. That is, according to the present invention, when an application running on a user terminal capable of crash report on an application is abnormally terminated, it is possible to perform a more efficient crash report by preventing redundant terminal logs having an overhead nature from being transmitted, We can contribute to development.
더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.In addition, since the present invention is not only possible to be marketed or operated, but also can be practically and practically carried out, it is industrially applicable.
100: 사용자 단말기 200: 크래시 리포트 처리 서버
300: 통신망 210: 제1 크래시 리포트 처리 장치
220: 제2 크래시 리포트 처리 장치 230: 서버 관리 장치
110: 인터페이스부 120: 앱
130: 크래시 리포트 에이젼트 140: 단말 플랫폼
510: 통신 인터페이스 520: 저장모듈
530: 크래시 리포트 처리 모듈
100: User terminal 200: Crash report processing server
300: Network 210: First Crash Report Processing Device
220: second crash report processing device 230: server management device
110: Interface part 120: App
130: Crash Report Agent 140: Terminal Platform
510: communication interface 520: storage module
530: crash report processing module
Claims (10)
실행 중인 어플리케이션에 대해 비정상 종료 발생 시 오류 보고를 위한 크래시 리포트의 적어도 일부 정보를 선택적으로 상기 크래시 리포트 처리 서버로 전송하는 사용자 단말기;
를 포함하는 것을 특징으로 하는 크래시 리포트 처리 시스템. A crash report processing server that receives a crash report including error information according to the occurrence of an application abnormal termination and processes an error based on the received crash report;
A user terminal for selectively transmitting at least some information of a crash report for an error report to the crash report processing server when an abnormal end occurs for a running application;
And a crash report processing system.
콜스택, 단말 부가정보, 어플리케이션 부가정보, 비정상 종료 시점의 단말 로그 정보 중 적어도 하나의 정보를 포함하고,
상기 단말 부가정보는 단말 모델명, OS버젼 정보 중 적어도 하나의 정보를 포함하고, 상기 어플리케이션 부가정보는 어플리케이션명, 어플리케이션 버전정보 중 적어도 하나의 정보를 포함하는 것을 특징으로 하는 크래시 리포트 처리 시스템. The crash report system according to claim 1,
A call stack, terminal additional information, application additional information, and terminal log information at an abnormal termination time,
Wherein the terminal additional information includes at least one of a terminal model name and OS version information, and the application additional information includes at least one of an application name and application version information.
상기 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 콜스택, 단말 부가정보, 어플리케이션 부가정보를 포함하는 1차 데이터를 상기 크래시 리포트 처리 서버로 전송하고, 상기 크래시 리포트 처리 서버로부터 단말 로그 정보에 대한 요청이 있으면, 단말 로그 정보를 포함하는 2차 데이터를 상기 크래시 리포트 처리 서버로 전송하는 것을 특징으로 하는 크래시 리포트 처리 시스템.3. The method of claim 2,
And transmits the primary data including the call stack, the terminal side information and the application side information to the crash report processing server when the abnormal termination occurs to the running application, and if there is a request for the terminal log information from the crash report processing server And transmits the secondary data including the terminal log information to the crash report processing server.
상기 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 상기 크래시 리포트 처리 서버로 비정상 종료로그 전송여부에 대한 정책을 요청하고, 상기 크래시 리포트 처리 서버로부터 상기 정책이 수신되면 비정상 종료 시점의 오류 정보와 상기 정책과 비교한 후 정책에 부합하면 상기 크래시 리포트를 상기 크래시 리포트 처리 서버로 전송하는 것을 특징으로 하는 크래시 리포트 처리 시스템.3. The method of claim 2,
Requesting a policy for transmitting an abnormal end log to the crash report processing server when an abnormal end occurs to the running application, and when the policy is received from the crash report processing server, comparing the error information of the abnormal end time with the policy And transmits the crash report to the crash report processing server if the policy report satisfies the policy.
상기 사용자 단말기로부터 상기 1차 데이터가 수신되면 상기 수신한 1차 데이터를 기반으로 해당 오류가 신규 오류인지 등록된 오류인지를 판단하고, 상기 판단 결과 신규 오류인 경우 상기 사용자 단말기로 2차 데이터를 요청하고, 상기 판단 결과 등록 오류인 경우 상기 사용자 단말기로 세션 종료를 요청하는 것을 특징으로 하는 크래시 리포트 처리 시스템. 4. The crash report processing system according to claim 3,
If the primary data is received from the user terminal, it is determined whether the corresponding error is a new error or a registered error based on the received primary data, and if the error is a new error, And requests the user terminal to terminate the session if the result of the determination is a registration error.
상기 사용자 단말기로부터 비정상 종료로그 전송여부에 대한 정책 요청이 있으면, 미리 저장된 정책을 상기 사용자 단말기로 전송하는 것을 특징으로 하는 크래시 리포트 처리 시스템.5. The crash report processing system according to claim 4,
And transmits a pre-stored policy to the user terminal if there is a policy request for whether to transmit an abnormal end log from the user terminal.
어플리케이션 별로 설정되고, 종류, 상태, 필터 중 적어도 하나의 설정 정보를 포함하고,
상기 종류 정보는 액티비티(Activity), 브로드캐스트 리시버인 경우에는 전송하도록 설정하고, 서비스이거나 컨텐츠 프로바이더인 경우에는 전송하지 않도록 설정한 정보이고,
상기 상태 정보는 포어 그라운드이면 전송하도록 설정하고, 포어 그라운드가 아니라면 전송하지 않도록 설정한 정보이고,
상기 필터 정보는 단말 플랫폼이 야기한 특정 오류 리스트에 포함되는 경우에는 전송하도록 설정한 정보인 것을 특징으로 하는 크래시 리포트 처리 시스템.5. The method of claim 4, wherein the policy on whether to transmit the abnormal end log comprises:
A setting unit configured to set at least one of a type, a status, and a filter,
The type information is set to be an activity, a broadcast receiver, and is set to be a service or a content provider so as not to be transmitted.
The status information is set to be transmitted if it is a foreground, and is set not to be transmitted if it is not a foreground,
Wherein the filter information is information set to be transmitted when the filter information is included in a specific error list caused by the terminal platform.
연산 공식에 대한 정보를 더 포함하고,
상기 연산 공식은 상기 종류와 상기 상태가 전송하도록 설정된 조건에 해당되는 경우에만 상기 사용자 단말기가 오류 로그를 상기 크래시 리포트 처리 서버로 전송하도록 하며, 상기 필터에 명시된 오류 리스트는 상기 사용자 단말기에서 오류가 발생하더라고 오류 로그를 전송하지 않도록 설정된 공식인 것을 특징으로 하는 크래시 리포트 처리 시스템.8. The method of claim 7, wherein the policy on whether to transmit the abnormal end log comprises:
And further includes information on the calculation formula,
Wherein the operation formula causes the user terminal to transmit an error log to the crash report processing server only when the type and condition are set to transmit, and the error list specified in the filter causes an error And the error log is not set to be transmitted even if the error log is transmitted.
실행 중인 어플리케이션에 대해 비정상 종료 발생 시 상기 통신 인터페이스를 통해 오류 보고를 위한 크래시 리포트의 적어도 일부 정보를 선택적으로 크래시 리포트 처리 서버로 전송하는 크래시 리포트 에이젼트;
를 포함하는 것을 특징으로 하는 크래시 리포트 처리를 위한 장치.An interface unit for communicating with the crash report processing server;
A crash report agent for selectively transmitting at least some information of a crash report for reporting an error via the communication interface to a crash report processing server when an abnormal termination is detected for a running application;
And an output unit for outputting the generated crash report.
어플리케이션 별로 비정상 종료로그 전송여부를 판단하기 위한 기준이 되는 정책을 저장하는 저장 모듈;
상기 통신 인터페이스를 통해 상기 사용자 단말기로부터 비정상 종료로그 전송여부에 대한 정책 요청이 있으면, 상기 저장 모듈에 저장된 정책을 상기 통신 인터페이스를 통해 상기 사용자 단말기로 전송하고, 상기 통신 인터페이스를 통해 상기 사용자 단말기로부터 오류 관련 필수 정보를 포함하는 1차 데이터가 수신되면 상기 수신한 1차 데이터를 기반으로 해당 오류가 신규 오류인지 등록된 오류인지를 판단하고, 상기 판단 결과 신규 오류인 경우 상기 통신 인터페이스를 통해 상기 사용자 단말기로 2차 데이터인 단말 로그 정보를 요청하고, 상기 판단 결과 등록 오류인 경우 상기 통신 인터페이스를 통해 상기 사용자 단말기로 세션 종료를 요청하는 크래시 리포트 처리 모듈;
을 포함하는 것을 특징으로 하는 크래시 리포트 처리를 위한 장치.A communication interface for communication with at least one user terminal;
A storage module for storing a policy serving as a criterion for determining whether or not an abnormal end log is transmitted for each application;
If a policy request for transmitting an abnormal end log from the user terminal is received through the communication interface, the policy stored in the storage module is transmitted to the user terminal through the communication interface, When the primary data including the relevant essential information is received, it is determined whether the corresponding error is a new error or a registered error based on the received primary data, and if the error is a new error, A crash report processing module for requesting terminal log information that is secondary data and requesting the user terminal to terminate the session through the communication interface if the result of the determination is a registration error;
And a crash report processing unit for generating a crash report.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150023635A KR20160101326A (en) | 2015-02-16 | 2015-02-16 | Crash report processing system and apparatus for processing crash report in the system |
PCT/KR2015/012729 WO2016133271A1 (en) | 2015-02-16 | 2015-11-25 | Crash report processing system and apparatus for processing crash report in same system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150023635A KR20160101326A (en) | 2015-02-16 | 2015-02-16 | Crash report processing system and apparatus for processing crash report in the system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160101326A true KR20160101326A (en) | 2016-08-25 |
Family
ID=56884521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150023635A KR20160101326A (en) | 2015-02-16 | 2015-02-16 | Crash report processing system and apparatus for processing crash report in the system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20160101326A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111786814A (en) * | 2020-06-05 | 2020-10-16 | 腾讯科技(深圳)有限公司 | Log processing method and device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050013713A (en) | 2003-07-29 | 2005-02-05 | 엘지전자 주식회사 | A method for real-time failure reporting of BTS and corrective action thereof |
-
2015
- 2015-02-16 KR KR1020150023635A patent/KR20160101326A/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050013713A (en) | 2003-07-29 | 2005-02-05 | 엘지전자 주식회사 | A method for real-time failure reporting of BTS and corrective action thereof |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111786814A (en) * | 2020-06-05 | 2020-10-16 | 腾讯科技(深圳)有限公司 | Log processing method and device |
CN111786814B (en) * | 2020-06-05 | 2024-05-28 | 腾讯科技(深圳)有限公司 | Log processing method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107872823B (en) | Method and system for identifying communication operation mode in mobile edge computing environment | |
US10664388B2 (en) | Continuous integration testing for network-based applications | |
US10440099B2 (en) | Accessing services provided by computing devices in a network | |
US11182210B2 (en) | Method for resource allocation and terminal device | |
US20140289719A1 (en) | Automatic version management | |
US10382922B2 (en) | Distributed testing of wireless networks | |
CN107291510A (en) | A kind of Linux inter-vehicle information systems quick start method | |
US8700030B1 (en) | Handset diagnostic tool | |
CN109246720B (en) | Method and terminal for determining establishment cause | |
US9930161B1 (en) | System and method of caching targeted internet protocol (IP) notifications to mobile communication devices | |
CN110297658A (en) | Functional unit sharing method, device and computer equipment | |
KR20160112151A (en) | Crash report processing system and apparatus for controlling crash report function in the system | |
KR20170048748A (en) | System for server management in middleware environment | |
KR20160101326A (en) | Crash report processing system and apparatus for processing crash report in the system | |
CN106060031B (en) | Multimedia communication control method, server and system | |
US10291498B1 (en) | Mobile communication device diagnostic client and error remediation sharing | |
US9301185B1 (en) | Mobile communication extended error codes and dynamic error handling | |
US20210049027A1 (en) | Systems and methods for automated monitoring and troubleshooting of unknown dependencies in a virtual infrastructure | |
CN116418791A (en) | Firmware upgrading method, firmware upgrading system, server and storage medium | |
CN105516926A (en) | Network positioning method, device and mobile terminal | |
CN115412993A (en) | Relay discovery method, system, device and storage medium | |
KR20160101327A (en) | Crash report processing system and apparatus for controlling crash report function in the system | |
US9332374B2 (en) | Communication interface method for SE equipped on mobile terminal and SE using the same | |
KR102083473B1 (en) | System and Method For Processing of Crash Information, and Apparatus and Device supporting the same | |
US20120324117A1 (en) | Electronic device and method for providing network connections using the electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |