WO2016133271A1 - Crash report processing system and apparatus for processing crash report in same system - Google Patents

Crash report processing system and apparatus for processing crash report in same system Download PDF

Info

Publication number
WO2016133271A1
WO2016133271A1 PCT/KR2015/012729 KR2015012729W WO2016133271A1 WO 2016133271 A1 WO2016133271 A1 WO 2016133271A1 KR 2015012729 W KR2015012729 W KR 2015012729W WO 2016133271 A1 WO2016133271 A1 WO 2016133271A1
Authority
WO
WIPO (PCT)
Prior art keywords
crash report
information
crash
user terminal
application
Prior art date
Application number
PCT/KR2015/012729
Other languages
French (fr)
Korean (ko)
Inventor
최윤석
Original Assignee
에스케이플래닛 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020150023635A external-priority patent/KR20160101326A/en
Priority claimed from KR1020150023636A external-priority patent/KR20160101327A/en
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Publication of WO2016133271A1 publication Critical patent/WO2016133271A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Definitions

  • the present invention relates to a crash report processing system and an apparatus for processing a crash report in the system, and when an application running a user terminal capable of crash report for an application is abnormally terminated, an error transmission is selectively made to the server side or is over.
  • the present invention relates to a crash report processing system and a device for crash report processing in the system to avoid a duplicate terminal log of the head characteristics to enable a more efficient crash report.
  • communication terminals are manufactured in a portable form, they are used in a wide range of fields due to their convenience and ease of use. These communication terminals have recently been developed in the form of smart phones equipped with various user functions, providing convenience and entertainment. Since smartphones are provided in the form of terminals equipped with high-performance hardware, users can download and install various applications (hereinafter referred to as 'apps'). Accordingly, in recent years, various apps applied to smartphones have been developed and spread.
  • the hardware of smartphones is developing with high performance, the device conversion cycle of users corresponding to them is not fast.
  • smartphones equipped with new hardware are being developed and distributed in a fast cycle of about six months, but the user's device conversion varies from one year to two years, depending on the user's preference.
  • apps that are produced and developed are built and developed primarily based on the hardware of the latest smartphones, so the latest apps tend to be optimized for the latest smartphones or limited to the latest smartphones. Therefore, when installing the latest app on the old smart phone, the app does not work normally due to hardware effects and abnormal termination occurs frequently.
  • the abnormal termination of the above-described app has some influence not only on the hardware but also on the installed operating system.
  • the information about abnormal termination of the app is very important for the developer who develops the app or the developer who develops and supplements the operating system.
  • the conventional mobile terminal user does not actively provide the developer with the corresponding information even if an abnormal termination of the app occurs. Accordingly, there are various problems in the operation of the app, but there is a problem that it is difficult to collect information about the exact case for such a problem, and as a result there is a problem that it is difficult to properly supplement or update the app due to the lack of such information collection.
  • application additional information including information such as a call stack, application name, and application version, which are error information of the application
  • terminal additional information including a terminal model name and an OS version.
  • the terminal log information including the terminal system log at the abnormal end point is collected and transmitted to the server.
  • an abnormal termination of an application may cause the terminal to be unavailable due to frequent crash and repetitive crash in a specific terminal model or all terminals, and crash due to excessive traffic. This can lead to server shutdowns or performance degradation for managing and processing reports.
  • terminal log is needed only once for log analysis and occupies a large data size, it is inefficient in terms of network and server operation to send an overlapping terminal log having an overhead characteristic at every abnormal termination.
  • the abnormal severity is not high, for example, if a certain screenless process is abnormally terminated in the background, or if an abnormal termination of the application, such as an error caused by the terminal platform, is impossible to debug, the error log is displayed. Sending to server
  • the abnormal shutdown which does not affect the serviceability of the customer and does not affect the usability of the customer, or the known abnormal shutdown that cannot be debugged may be handled by the terminal itself without transmitting error information to the server. .
  • the present invention has been proposed to solve the above-mentioned conventional problem, and in particular, a crash report processing for enabling a user to selectively send an error to a server side when an application running a user terminal capable of crash reporting for an application is abnormally terminated. It is an object of the present invention to provide a system and an apparatus for crash report processing in the system.
  • the present invention provides a crash report processing system and system for providing efficiency in terms of network and server operation by transmitting the information transmitted from the terminal to the server in two stages when the application is abnormally terminated (Crash) installed in the terminal
  • An object is to provide an apparatus for crash report processing.
  • the present invention is to separate the network and the traffic (traffic) and server by separating the essential step (1st) and the optional step (secondary) in the terminal to send the error log to the server when the application is abnormally terminated (Crash) installed in the terminal
  • An object of the present invention is to provide a crash report processing system for efficiently operating a system and a crash report processing system in the system.
  • the present invention also provides a crash report processing system for enabling a crash report more efficiently by preventing a user terminal capable of crash reporting of an application from sending a duplicate terminal log having an overhead characteristic when an application running abnormally terminates.
  • An object of the present invention is to provide an apparatus for crash report processing in a system.
  • the present invention provides flexibility of service operation by controlling whether the terminal delivers the error content of the application to the server according to the type / status / error filter of the application when the application installed in the terminal is crashed. It is an object of the present invention to provide a crash report processing system and a device for crash report processing in the system to provide a.
  • crash report processing system and crash report function in the system to prevent the occurrence of a trouble situation that is difficult to service normally to the server that manages and processes the terminal and crash report when abnormal termination occurs excessively and frequently It is an object to provide a device for control.
  • the present invention also provides a crash report processing system for controlling an on / off of a crash report function for performing an error information transmission operation when an application running a user terminal capable of crash reporting for an application is abnormally terminated.
  • An apparatus for controlling a crash report function in the system is not limited to, but not limited to, but not limited to, but not limited to, but not limited to, but not limited to, but not limited to, but not limited to, but not limited to, but not limited to the system.
  • Crash report processing system for achieving the object as described above receives a crash report containing error information according to the application abnormal termination occurs, the crash processing error based on the received crash report Report processing server; And a user terminal for selectively transmitting at least some information of the crash report for error reporting to the crash report processing server when an abnormal termination occurs for a running application.
  • the crash report includes at least one of call stack, terminal additional information, application additional information, and terminal log information at abnormal termination time
  • the terminal additional information includes at least one of terminal model name and OS version information
  • the application additional information may include at least one of application name and application version information.
  • the user terminal transmits primary data including call stacks, terminal additional information, and application additional information to the crash report processing server when abnormal termination occurs for the running application, and processes the crash report.
  • the secondary data including the terminal log information is transmitted to the crash report processing server.
  • the user terminal when the abnormal termination occurs for the running application, the user terminal requests a policy for the abnormal termination log transmission to the crash report processing server, the crash report processing server from the When a policy is received, the crash report is compared to the error information at the abnormal termination time and the policy, and if the policy is met, the crash report is transmitted to the crash report processing server.
  • the crash report processing server when the primary data is received from the user terminal determines whether the error is a new error or a registered error based on the received primary data, the determination result In the case of a new error, the secondary data is requested to the user terminal, and if the registration error is a result of the determination, the user terminal is requested to terminate the session.
  • the crash report processing server may transmit a pre-stored policy to the user terminal when a policy request for abnormal termination log transmission is received from the user terminal.
  • the policy on whether to send the abnormal termination log is set for each application, and includes at least one setting information of a type, a state, and a filter, and the type information is transmitted when the activity is a broadcast receiver.
  • Information is set to not be transmitted when the service is a service provider or a content provider.
  • the status information is information which is set to be transmitted if it is foreground, and not to be transmitted if it is not the foreground.
  • the filter information is set by the terminal platform. When included in the specific error list caused, the information is set to be transmitted.
  • the policy on whether or not the abnormal termination log transmission further includes information on the operation formula, the operation formula is crashed only when the user terminal is the error log when the type and the condition set to transmit the error log
  • the error list specified in the filter is a formula set to not transmit an error log even if an error occurs in the user terminal.
  • an apparatus for crash report processing may include an interface unit for communication with a crash report processing server; And a crash report agent that selectively transmits at least some information of the crash report for error reporting to the crash report processing server through the communication interface when an abnormal termination occurs for the running application.
  • An apparatus for processing a crash report includes 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 to transmit abnormal termination log for each application; If there is a policy request for transmission of abnormal termination log from the user terminal through the communication interface, the policy stored in the storage module is transmitted to the user terminal through the communication interface, and an error is received from the user terminal through the communication interface.
  • 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 when the determination result is a new error, the user terminal through the communication interface.
  • a crash report processing module for requesting terminal log information, which is secondary data, and requesting session termination to the user terminal through the communication interface in case of registration error.
  • the crash report processing system includes a user terminal for transmitting a crash report for the crash report to the crash report processing server when an abnormal termination occurs for the running application;
  • a crash report is received from the user terminal, it is determined whether the application in error is set as an application requiring the crash report function off control by referring to some error information included in the received crash report.
  • a crash report processing server which generates off-response information for controlling to turn off the crash report function as response data and transmits it to the user terminal when the crash report function off control is required.
  • the crash report includes at least one of call stack, terminal additional information, application additional information, and terminal log information at abnormal termination time.
  • the terminal additional information may include at least one information of a terminal model name and OS version information
  • the application additional information may include at least one of application name and application version information.
  • the crash report processing server when the crash report processing server according to an embodiment of the present invention receives a crash report from the user terminal, the crash report function is turned off by referring to the application additional information and the call stack included in the received crash report. It is characterized by determining whether or not the control is set to the application.
  • the user terminal when the user terminal receives the response data from the crash report processing server, the user terminal checks off control information included in the received response data to turn off the crash report function for the corresponding application. It is characterized by setting.
  • the crash report processing server may generate off control information including off valid period information in the off control information when generating off control information for controlling to turn off the crash report function as response data. It is characterized by.
  • the user terminal when the user terminal receives the response data from the crash report processing server, the user terminal checks off control information included in the received response data to turn off the crash report function for the corresponding application. And when the off validity period information is included in the off control information, setting the crash report function for the corresponding application to be turned off only during the validity period.
  • an apparatus for crash report processing may include an interface unit for communication with a crash report processing server; Off control information for transmitting a crash report for error reporting to a crash report processing server through the communication interface when an abnormal termination occurs for a running application, and turning off the crash report function for an error application from the crash report processing server.
  • the response data including a, characterized in that it comprises a crash report agent for setting the crash report function for the application off.
  • the crash report agent checks off control information included in the received response data to set the crash report function for the corresponding application to off, and when the off control information includes off valid period information for the corresponding application. Set the crash report function to be turned off only during the valid period.
  • An apparatus for processing a crash report includes a communication interface for communication with at least one user terminal; A storage module that stores setting information about an application requiring crash report function off control; When the crash report is received from the user terminal through the communication interface, the application side information and the call stack included in the received crash report are referred to to determine whether the error application is set as an application requiring the crash report function off control. If it is determined that the crash report function off control is required for the application in which the error occurs, the crash report process of generating off control information for controlling to turn off the crash report function as response data and transmitting the response data to the user terminal through the communication interface. It characterized in that it comprises a module.
  • the crash report processing module may further include off valid period information in the off control information when generating off control information for controlling to turn off the crash report function as response data. It is characterized by generating by including.
  • the crash report processing system of the present invention has two steps of information transmitted from the terminal to the server when an application crash is installed in the terminal, that is, a mandatory step (primary) and an optional step in transmitting an error log to the server. Separation (secondary) has the advantage of efficient operation of network, traffic and server system.
  • the present invention provides flexibility of service operation by controlling whether the terminal delivers the error content of the application to the server according to the type / status / error filter of the application when the application installed in the terminal is crashed. There is an advantage that can provide.
  • the present invention enables a crash report for an application to be more efficiently crash report by not sending a duplicate terminal log of the overhead characteristics when the running application is abnormally terminated.
  • the crash agent embedded in the application is crash stack error information, call stack and terminal additional information (terminal model name, OS version).
  • the application additional information application name, application version information
  • other terminal logs are transmitted to the crash report processing server. Then, it is determined whether the crash report function needs to be turned off in the corresponding application by referring to the application additional information and the call stack information from the error information received by the crash report processing server, and if the off application is determined to be off, Off information of the crash report function is generated in the response data and then transmitted to the user terminal.
  • the user terminal receives such response data, confirms crash report function control information included in the response data, and turns off the crash report function if the control information includes information for turning off the crash report function. In addition, if the crash report function is turned off in this manner, even if an application abnormal termination event occurs, the crash report is not transmitted. In addition, if the crash report function control information includes the valid period information for the off, the user terminal turns off the crash report function only for the set valid period. That is, the user terminal 100 turns on the crash report function again when the set validity period expires, and then generates an abnormal termination log and transmits it to the crash report processing server when an abnormal termination event for a predetermined application occurs.
  • the terminal can not be used due to frequent crashes and repetitive crashes in a specific terminal model or all terminals, and the crash report server due to excessive traffic This can solve the problem of shutdown or crash report server performance.
  • the terminal and the crash report server may be in a trouble situation in which service is difficult, so that the crash report server may provide a function of turning off the crash report function. This will increase the availability of servers and servers.
  • FIG. 1 is a view for schematically explaining a crash report processing system structure according to an embodiment of the present invention.
  • FIG. 2 is an exemplary diagram illustrating a structure of a crash report processing server according to an embodiment of the present invention.
  • FIG. 3 is an exemplary view showing the structure of a crash report processing server according to another embodiment of the present invention.
  • FIG. 4 is a block diagram showing the main configuration of a user terminal according to an embodiment of the present invention.
  • FIG. 5 is a block diagram showing a main configuration of a crash report processing server according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a crash report processing process in the crash report processing system according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a crash report processing procedure in the crash report processing system according to another embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a crash report processing procedure in the crash report processing system including a server management apparatus according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a process of processing a crash report in a user terminal according to an exemplary embodiment.
  • FIG. 10 is a flowchart illustrating a process of processing a crash report in the crash report processing server according to an embodiment of the present invention.
  • FIG. 11 is a flowchart illustrating a process of processing a crash report in a user terminal according to another embodiment of the present invention.
  • FIG. 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.
  • FIG. 13 is a flowchart illustrating a flow of signals transmitted and received between a user terminal and a crash report processing server for controlling a crash report function in a crash report processing system according to another exemplary embodiment of the present invention.
  • FIG. 14 is a flowchart illustrating a process for controlling a crash report function in a user terminal according to another embodiment of the present invention.
  • FIG. 15 is a flowchart illustrating a process for controlling a crash report function in a crash report processing server according to another embodiment of the present invention.
  • 16 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.
  • first and second are used to describe various components, and are used only to distinguish one component from another component, and to limit the components. Not used.
  • the second component may be referred to as the first component, and similarly, the first component may also be referred to as the second component.
  • a component when referred to as being "connected” or “connected” to another component, it means that it may be connected or connected logically or physically. In other words, although a component may be directly connected or connected to other components, it should be understood that other components may exist in the middle, and may be connected or connected indirectly.
  • embodiments within the scope of the present invention include computer readable media having or conveying computer executable instructions or data structures stored on the computer readable medium.
  • Such computer readable media can be any available media that can be accessed by a general purpose or special purpose computer system.
  • Such computer readable media may be in the form of RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or computer executable instructions, computer readable instructions or data structures. And may include, but are not limited to, any other medium that can be used to store or deliver certain program code means, and can be accessed by a general purpose or special purpose computer system. .
  • network is defined as one or more data links that enable the transfer of electronic data between computer systems and / or modules.
  • this connection can be understood as a computer-readable medium.
  • Computer-readable instructions include, for example, instructions and data that cause a general purpose or special purpose computer system to perform a particular function or group of functions.
  • the computer executable instructions may be, for example, binary, intermediate format instructions such as assembly language, or even source code.
  • the present invention relates to personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile phones, PDAs, pagers It may be practiced in a network computing environment having various types of computer system configurations, including (pager) and the like.
  • the invention may also be practiced in distributed system environments where both local and remote computer systems that are linked via wired networks, wireless data links, or combinations of wired and wireless data links perform tasks.
  • program modules may be located in both local and remote memory storage devices.
  • FIG. 1 is a view for schematically explaining a crash report processing system structure according to an embodiment of the present invention.
  • the crash report processing system may include a plurality of user terminals 100 and a crash report processing server 200 supporting application service provision.
  • the communication network 300 may be configured to support transmission and reception of information between the plurality of user terminals 100 and the crash report processing server 200.
  • the crash report processing system of the present invention having such a configuration collects a crash report of a corresponding situation when an abnormal termination occurs while the user terminal 100 runs a specific app, and the crash report processing apparatus 200 To be provided).
  • the crash report processing system checks the occurrence of the crash of the app running on the terminal platform mounted on the user terminal 100, and supports to collect and provide a crash report related to driving the app at the time.
  • the crash report processing system does not transmit all of the call stack, terminal additional information, app additional information, and terminal log information when the user terminal 100 abnormally terminates an application, as in the prior art.
  • the call stack, terminal additional information, and app additional information are transmitted as difference data.
  • the crash report processing server 200 determines whether secondary data is required based on the primary data, and requests the secondary data from the user terminal 100 if necessary. Then, when the terminal log information, which is secondary data, is requested from the crash report processing server 200, the user terminal 100 transmits the terminal log information to the crash report processing server 200.
  • the user terminal 100 when an abnormal termination of an application occurs, the user terminal 100 selectively determines whether an error is transmitted by referring to a type / status / filter. If it is determined that error transmission is necessary, the user terminal 100 transmits a crash report to the crash report processing server 200.
  • the user terminal 100 requests a policy on whether the abnormal termination log is transmitted to the crash report processing server 200. Subsequently, when receiving a policy on whether to send an abnormal termination log from the crash report processing server 200, the received policy is compared with the error information at the abnormal termination time, and if the policy is met, the crash information, that is, the error log is transmitted. If not, terminate the session without sending an error log.
  • a policy regarding whether to send an abnormal termination log is set for each application.
  • a broadcast receiver is set to transmit, and in the case of a service or a content provider, it is set not to transmit.
  • the filter is set to transmit when included in the specific error list caused by the terminal platform.
  • the transmission policy may be set, but the present invention is not limited thereto, and the condition may be added and deleted.
  • the operation formula causes the user terminal 100 to transmit the error log to the crash report processing server 200 only when the type and state correspond to a condition set to be transmitted, except that the error list specified in the filter is the user terminal 100. ) Do not send an error log even if an error occurs.
  • the crash agent embedded in the application is crash report error information, call stack and terminal additional information (terminal).
  • the model name, OS version), application additional information (application name, application version information), and other terminal logs are transmitted to the crash report processing server 200.
  • the crash report processing server 200 refers to the application additional information and the call stack information from the received error information. If it is set by the server administrator that the crash report function needs to be turned off in the corresponding application, the crash report processing server 200 generates the crash report function off information for the corresponding application in the response data. Transmit to the user terminal 100.
  • the response data may include valid period information for turning off the crash report function.
  • valid period information may be set variously according to an error.
  • the user terminal 100 When the user terminal 100 receives the response data, the user terminal 100 checks the crash report function control information included in the response data, and if the control information includes information for turning off the crash report function, the crash report function is turned off. In addition, if the crash report function is turned off in this manner, even if an application abnormal termination event occurs, the crash report is not transmitted.
  • the user terminal 100 turns off the crash report function only for the set valid period.
  • the user terminal 100 turns on the crash report function again when the set validity period expires, and then generates an abnormal termination log and transmits it to the crash report processing server 200 when an abnormal termination event for a predetermined application occurs.
  • the crash report is transmitted from the user terminal 100 to the crash report processing server 200, and the crash report received by the crash report processing server 200 may be processed according to how.
  • the description will be made separately from the first and second embodiments.
  • the user terminal 100 of the present invention refers to a user's device capable of transmitting and receiving various data via the communication network 300 according to the user's operation.
  • the user terminal 100 may perform voice or data communication through the communication network 300, access the crash report processing server 200, receive information transmitted by the crash report processing server 200, and transmit the information to the application.
  • the crash report may be sent to the crash report processing server 200.
  • the user terminal 100 of the present invention for this purpose may include a browser for transmitting and receiving information, a memory for storing programs and protocols, a microprocessor for executing and controlling various programs, and the like.
  • the user terminal 100 via the communication network 300, the user terminal 100 performs the crash report processing server 200 through the communication network 300, the crash report processing server ( 200) to provide a crash report.
  • the user terminal 100 first accesses an app providing device (not shown) connected to the communication network 300, for example, an app store supporting device that provides an app store, and receives an app from the app store supporting device. Can be installed.
  • an app providing device not shown
  • an app store supporting device that provides an app store
  • the user terminal 100 installs apps that are inserted by default in the production process, and supports activation of specific apps and the provision of user functions according to user requests. That is, the user terminal 100 of the present invention may support collecting and providing crash reports for apps provided and installed by a specific app store supporting device through the communication network 300 and apps provided in the terminal manufacturing process.
  • the user terminal 100 when an abnormal termination of an application occurs, the user terminal 100 does not transmit all of the call stack, the terminal additional information, the application additional information, and the terminal log information as in the related art. Information, app additional information. Subsequently, when terminal log information, which is secondary data, is requested from the crash report processing server 200, the user terminal 100 transmits the terminal log information to the crash report processing server 200.
  • the user terminal 100 selectively determines whether an error is transmitted by referring to a type / state / filter when an application abnormal termination occurs. If it is determined that error transmission is necessary, the user terminal 100 transmits a crash report to the crash report processing server 200.
  • the user terminal 100 transmits a call stack, terminal additional information, app additional information, and terminal log information to the crash report processing server 200 when an application abnormal termination occurs.
  • the user terminal 100 transmits error information to the crash report processing server 200 when an abnormal application termination event is executed.
  • the error information is a crash report and includes a call stack, a terminal model name, terminal additional information including an OS version, an application name, application additional information including application version information, and other terminal logs.
  • the user terminal 100 checks whether the response data is received from the crash report processing server 200. If response data is received from the crash report processing server 200, it is determined whether the crash information includes the off information as the crash report function control information.
  • the user terminal 100 determines whether the off information includes the valid period for the off.
  • the user terminal 100 turns off the crash report function only for the set valid period, and sets the crash report function to on again after the valid period expires.
  • the user terminal 100 sets the crash report function to off.
  • the user terminal 100 will set the crash report function turned off.
  • the user terminal 100 of the present invention may be implemented in various forms.
  • the user terminal 100 described herein may be a mobile terminal such as a smart phone, a tablet PC, a personal digital assistant (PDA), a portable multimedia player (PMP), or an MP3 player.
  • a mobile terminal such as a smart phone, a tablet PC, a personal digital assistant (PDA), a portable multimedia player (PMP), or an MP3 player.
  • PDA personal digital assistant
  • PMP portable multimedia player
  • MP3 player MP3 player
  • a fixed terminal such as a smart TV, a desktop computer, or the like may be used.
  • the user terminal 100 according to the convergence (convergence) trend of the digital device of the present invention can not enumerate all because the variations of the mobile device is very diverse, but the unit equivalent to the above-mentioned units in the present invention It can be used as a user terminal according to the 100, and send and receive information with the crash report processing server 200 through the communication network 300, the application can be executed, the crash report processing server when the abnormal termination during the application execution If the device can transmit to the device 200, any device may be used as the user terminal 100 according to an embodiment of the present invention.
  • the crash report processing server 200 is a server that processes a crash report received from the user terminal 100.
  • the crash report processing server 200 supports access to at least one user terminal 100 through the communication network 300 and is provided by the user terminal 100. This configuration supports storing and managing crash reports and outputting them upon administrator request.
  • the crash report processing server 200 when the crash report processing server 200 according to an embodiment of the present invention receives the primary data call stack, terminal additional information, and application additional information from the user terminal 100, the corresponding error is based on the primary data. Determines whether is a new error or an existing error. Subsequently, as a result of the determination, if there is a new error, the crash report processing server 200 requests the secondary data to the user terminal 100 and requests the end of the session to the user terminal 100 in the case of a registration error.
  • the crash repert processing server 200 transmits a pre-stored policy to the user terminal 100 when there is a policy request for whether or not the abnormal termination log is transmitted from the user terminal 100.
  • the crash report processing server 200 will receive a crash report only for errors in the case of meeting the policy from the user terminal 100.
  • the crash report processing server 200 receives error information from the user terminal 100, whether the report function is turned off by referring to the application additional information and the call stack information included in the error information. Check. To this end, the crash report processing server 200 will store reference information for determining whether the report function is off.
  • the crash report processing server 200 determines that the crash report function is required to be turned off, the crash report processing server 200 includes the off information as response data and generates the crash report function control information.
  • the crash report processing server 200 transmits the response data generated in this way to the user terminal 100.
  • the crash report processing server 200 performs a general error processing operation.
  • the crash report processing server 200 separately manages information on user terminals controlled by the crash report function off, and turns the crash report function back on to the user terminals when a failure situation or a load falls below a preset criterion.
  • the crash report function may be turned on by transmitting data including control information for setting.
  • the processor mounted in the report processing server 200 may process program instructions for executing the method according to the present invention.
  • this processor may be a single-threaded processor, and in other implementations, the processor may be a multithreaded processor.
  • the processor is capable of processing instructions stored on memory or storage devices.
  • the communication network 300 may support the formation of a communication channel for data transmission and signal transmission between components of the crash report processing system. That is, the communication network 300 may establish a communication channel between the user terminal 100 and the crash report processing server 200, and may support data transmission and reception between the user terminal 100 and the crash report processing server 200. For example, the communication network 300 supports transmitting the crash report collected by the user terminal 100 to the crash report processing server 200.
  • the crash report provided by the user terminal 100 may support the crash report processing server 200 to be provided in a push type without performing a separate connection process or an authentication process of the crash report processing server 200.
  • the communication network 300 preferably uses a wireless communication method such as WLAN (Wireless LAN), Wi-Fi, Wibro, Wimax, High Speed Downlink Packet Access (HSDPA), but is not limited thereto.
  • WLAN Wireless LAN
  • Wi-Fi Wireless Fidelity
  • Wibro Wireless Fidelity
  • Wimax Wimax
  • wired communication methods such as Ethernet, xDSL (ADSL, VDSL), Hybrid Fiber Coaxial Cable (HFC), Fiber to The Curb (FTTC), and Fiber To The Home (FTTH) It can also be used.
  • HFC Hybrid Fiber Coaxial Cable
  • FTTC Fiber to The Curb
  • FTTH Fiber To The Home
  • the communication network 300 of the present invention includes, for example, a plurality of access networks (not shown) and a core network (not shown), and may be configured to include an external network such as the Internet network (not shown).
  • the access network is a connection network for performing wired and wireless communication with the user terminal 100, for example, a plurality of base stations such as a base station (BS), a base transceiver station (BTS), a NodeB, an eNodeB, and a BSC. (Base Station Controller), RNC (Radio Network Controller) may be implemented as a base station controller.
  • the digital signal processing unit and the wireless signal processing unit which are integrally implemented in the base station, are divided into digital units (hereinafter referred to as DUs and radio units (hereinafter referred to as RUs)).
  • DUs and radio units hereinafter referred to as RUs
  • a plurality of RUs may be respectively installed in a plurality of areas, and a plurality of RUs (not shown) may be connected to a centralized DU (not shown).
  • the core network (not shown) constituting the mobile network together with the access network (not shown) serves to connect the access network (not shown) and the external network, for example, the Internet network (not shown).
  • the core network is a network system that performs a main function for mobile communication services such as mobility control and switching between access networks (not shown), and includes circuit switching or packet switching. switching, and manages and controls the packet flow in the mobile network.
  • the core network manages inter-frequency mobility and performs a role for interworking with traffic in the access network (not shown) and the core network (not shown) and other networks such as the Internet network (not shown). It may be.
  • the core network (not shown) further includes Serving GateWay (SGW), PDN GateWay (PGW), Mobile Switching Center (MSC), Home Location Register (HLR), Mobile Mobility Entity (MME), and Home Subscriber Server (HSS). It may be configured to include.
  • SGW Serving GateWay
  • PGW PDN GateWay
  • MSC Mobile Switching Center
  • HLR Home Location Register
  • MME Mobile Mobility Entity
  • HSS Home Subscriber Server
  • the Internet network refers to a conventional public communication network, that is, a public network, in which information is exchanged according to the TCP / IP protocol, and is connected to the crash report processing server 200 and the crash report processing server 200.
  • Information provided from the user terminal 100 may be provided to the user terminal 100 via a core network (not shown) and an access network (not shown), and information provided from the user terminal 100 may be provided to the user network 100 (not shown) and the core network (not shown). It may be provided to the crash report processing server 200 via the (not shown).
  • the present invention is not limited thereto, and the crash report processing server 200 may be integrated with a core network (not shown).
  • FIG. 2 is an exemplary diagram illustrating a structure of a crash report processing server according to an embodiment of the present invention.
  • the crash report processing server 200 of the present invention may include at least one crash report processing device 210 or 220 (hereinafter referred to as 200 if no separate classification is necessary). .
  • the user terminal 100 is connected to the crash report processing apparatuses 210 and 220, and transmits a crash report to the crash report processing apparatuses 210 and 220 when abnormal termination of an application occurs.
  • the crash report processing apparatuses 210 and 220 may provide a service for handling an error based on the received crash report.
  • an operation according to an exemplary embodiment may be set to be processed by the crash report processing apparatus 210, and an operation according to another exemplary embodiment may be set to be processed by the crash report processing apparatus 200.
  • the crash report processing server 200 is described by being divided into distributed processing apparatuses, but the present invention is not limited thereto. That is, the crash report processing server 200 of the present invention may be configured as one information processing device.
  • FIG. 3 is an exemplary view showing the structure of a crash report processing server according to another embodiment of the present invention.
  • the crash report processing server 200 of the present invention may be referred to as a server management device 230 and at least one crash report processing device 210 or 220 (or 200 if no separate classification is necessary). It may be configured to include.
  • the user terminal 100 according to the embodiment of the present invention is connected to the crash report processing apparatuses 210 and 220, and transmits a crash report to the crash report processing apparatuses 210 and 220 when abnormal termination of an application occurs.
  • the crash report processing apparatuses 210 and 220 may provide a service for handling an error based on the received crash report.
  • the server management apparatus 230 is connected to the user terminal 100 and the first crash report processing apparatus according to whether the data received from the user terminal 100 is a crash report or data requesting a policy.
  • the data is transmitted to the 210 or the second crash report processing apparatus 220.
  • the data received from the user terminal 100 is crash report data
  • the data is transmitted to the first crash report processing apparatus 210, and when the received data is data requesting a policy, the second crash report processing apparatus. Forward to 220.
  • the first crash report processing apparatus 210 performs an operation of processing a crash report
  • the second crash report processing apparatus 220 performs an operation of processing a crash report according to another embodiment. something to do.
  • crash report processing server 200 according to an embodiment of the present invention has been described.
  • FIG. 4 is a block diagram showing the main configuration of a user terminal according to an embodiment of the present invention.
  • FIG. 4 illustrates only a main configuration of a user terminal 100 according to an embodiment of the present invention from a functional point of view, and includes an input unit (not shown) and data output for a user input. It should be noted that it may be configured to include more components, such as an output unit (not shown).
  • the user terminal 100 may include an interface unit 110, an app 120 including a crash report agent, and a terminal platform 140. have.
  • the terminal platform 140 may include an app installation management module.
  • the interface unit 110 is a configuration for communication with the crash report processing server 200.
  • the app 120 may be installed by app installation information provided by an app store supporting device by an app installation request module (not shown) or may be an app installed by a designer at the time of manufacturing a terminal.
  • the app 120 may be provided to a display unit (not shown) of the user terminal 100 in the form of an execution icon, and when an input event for selecting the execution icon occurs, the terminal platform 140 may input the corresponding event.
  • App 120 according to the storage unit (not shown) can be supported by calling to activate.
  • the terminal platform 140 controls the processing of the signal according to the driving of the app 120, the application of the input event, the screen change according to the control, etc., and outputs it to the display unit. It can support to activate the prepared communication unit.
  • the app 120 may be abnormally terminated due to various environmental conditions such as a bad communication network state, an interrupt failure in signal processing for driving the app 120, an input event load, etc. during the process running on the terminal platform 140. Can be.
  • the terminal platform 140 may support to temporarily maintain the call stack information and system log information according to abnormal termination of the app 120.
  • the crash report agent 130 included in the app 120 collects information on abnormal termination of the app 120.
  • the collected crash report may be provided to the crash report processing server 200 through the interface unit 110.
  • the crash report agent 130 when the application abnormal termination occurs, the crash report agent 130 does not transmit all of the call stack, the terminal additional information, the application additional information, and the terminal log information as in the prior art. Terminal additional information, app additional information is transmitted.
  • the crash report agent 130 transmits the terminal log information to the crash report processing server 200.
  • the crash report agent 130 requests a policy on whether to send an abnormal termination log to the crash report processing server 200 when an application abnormal termination occurs, and receives the policy. Thereafter, the crash report agent 130 selectively determines whether to transmit an error with reference to the type / state / filter and calculation formula included in the provided policy. If it is determined that error transmission is necessary, the crash report agent 130 transmits the crash report to the crash report processing server 200.
  • the crash report agent 130 transmits error information to the crash report processing server 200 when an abnormal execution event of the running application occurs.
  • the error information is a crash report and includes a call stack, a terminal model name, terminal additional information including an OS version, an application name, application additional information including application version information, and other terminal logs.
  • the crash report agent 130 checks whether the response data is received from the crash report processing server 200. If response data is received from the crash report processing server 200, it is determined whether the crash information includes the off information as the crash report function control information.
  • the crash report agent 130 determines whether the off information includes the valid period for the off.
  • the crash report agent 130 turns off the crash report function only for the set validity period, and sets the crash report function back to on after the validity period has passed.
  • the crash report agent 130 sets the crash report function to off.
  • the crash report agent 130 may set the crash report function turned off.
  • the terminal platform 140 is a component that supports overall signal processing and routine processing, data storage control and transmission control for supporting various user functions of the user terminal 100.
  • the terminal platform 140 may include various platforms such as iOS, Mac OS, and Android OS.
  • the user terminal 100 according to an embodiment of the present invention has been described.
  • FIG. 5 is a block diagram showing a main configuration of a crash report processing server according to an embodiment of the present invention.
  • FIG. 5 is a crash report processing server 200 according to the embodiment of the present invention described with reference to FIGS. 2 and 3 are classified from a functional point of view.
  • the crash report processing server 200 may include a crash report processing module 500, a storage module 520, and a communication interface unit 510. have.
  • each component can be configured to include a module, wherein the 'module' is a component that performs a predetermined function, respectively, implemented in hardware, software, or a combination of hardware and software Can be.
  • the 'module' may mean a program module, which is executed by a processor to perform a predetermined function, software components, object-oriented software components, class components and Components such as task components, processes, functions, properties, procedures, subroutines, segments of program code, drivers, data, databases, data structures, tables, arrays , And variables.
  • the functions provided in the components and ' ⁇ modules' may be combined into a smaller number of components and ' ⁇ modules' or further separated into additional components and ' ⁇ modules'.
  • the crash report processing module 500 is a module that manages and processes crash reports for user terminals connected to the crash report processing server 200.
  • the crash report processing module 500 serves to provide a user interface for crash report processing according to an exemplary embodiment of the present invention, and the crash report and the crash report from the user terminal 100 through the communication interface 510. Receive a policy request for and can support the overall process for transmitting a response to the user terminal (100).
  • the crash report processing module 500 may store and manage basic information for providing an appropriate error handling service in response to the received crash report, and may support a process for providing an optimized user interface for each user terminal.
  • the crash report processing module 500 when the crash report processing module 500 receives the error information from the user terminal 100 in the standby state according to another embodiment of the present invention, the crash report processing module 500 refers to the app additional information and the call stack information included in the error information. Check whether a function off is required.
  • the crash report processing module 500 determines that the crash report function is required to be turned off, the crash report processing module 500 generates the crash information by including the off information as response data in the response data.
  • the crash report processing module 500 transmits the response data generated as described above to the user terminal 100.
  • the crash report processing module 500 performs a general error processing operation.
  • the crash report processing module 500 separately manages information on the user terminals controlled by the crash report function off, and turns on the crash report function to the user terminals again when the failure situation or the load falls below a preset criterion.
  • the crash report function may be turned on by transmitting data including control information for setting.
  • the crash report processing module 500 may provide a specific terminal in real time to support a delay or omission of an information reporting time point.
  • the specific terminal may be a terminal of a person related to an app in which a crash event occurs due to abnormal termination, and may be a terminal for supplementing and updating an app or correcting an error.
  • the communication interface 510 is a component for supporting a communication function of the crash report processing server 200.
  • the communication interface 510 may support the crash report processing server 200 to form a communication channel with the communication network 300 having at least one communication type among various types.
  • the communication interface 510 may be provided in a form capable of receiving data from various network type communication networks, such as LTE communication network, 3G communication network, WLAN communication network, WiFi communication network, and transmitting data to the corresponding communication network.
  • the communication interface 510 may support data transmission and reception between user terminals of different communication methods, for example.
  • the communication interface 510 receives a crash report or a policy request from the user terminal 100 after establishing a communication channel with the user terminal 100 according to an embodiment of the present invention. If the crash report is received, the received crash report is stored in a predetermined position of the storage module 520 under the control of the crash report processing module 500. In addition, upon receiving the policy request, the crash report processing module 500 processes a response according to the request.
  • the communication interface 510 receives a crash report from the user terminal 100 after forming a communication channel with the user terminal 100 according to another embodiment of the present invention, and receives the response data generated based on the crash report. Transmit to the user terminal 100.
  • the storage module 520 is a component that stores various application programs and data for driving the crash report processing server 200.
  • the storage module 520 may store a crash report provided by the user terminal 100 according to an embodiment of the present invention, and according to another embodiment of the present invention, the crash report provided by the user terminal 100 and Criteria information for determining whether the crash report function is required may be stored.
  • the crash report processing module 500 is a component that performs processing and transfer of various signals related to the operation of the crash report processing server 200.
  • the crash report processing module 500 when the crash report processing module 500 according to an embodiment of the present invention receives the first data call stack, the terminal additional information, and the application additional information from the user terminal 100, the corresponding error is based on the primary data. Determines whether is a new error or an existing error. Subsequently, as a result of determination, in the case of a new error, the crash report processing module 500 requests the secondary data to the user terminal 100 and requests the end of the session to the user terminal 100 in the case of a registration error.
  • the crash report processing module 500 transmits a pre-stored policy to the user terminal 100 when there is a policy request for whether or not the abnormal termination log is transmitted from the user terminal 100.
  • the crash report processing module 500 will receive a crash report only for an error in the case of conforming to a policy from the user terminal 100.
  • the crash report processing module 500 may provide a specific terminal in real time to support a delay or omission of an information reporting time point.
  • the specific terminal may be a terminal of a person related to an app in which a crash event occurs due to abnormal termination, and may be a terminal for supplementing and updating an app or correcting an error.
  • crash report server 200 The main configuration and operation method of the crash report server 200 according to the embodiment of the present invention have been described above.
  • FIG. 6 is a flowchart illustrating a crash report processing process in the crash report processing system according to an embodiment of the present invention.
  • the user terminal 100 transmits primary data to the first crash report processing apparatus 210 (S600 and S602).
  • the primary data is a crash report, and includes data including call stack, terminal additional information and app additional information, and terminal additional information includes information such as a terminal model name and an OS version, and the application additional information includes an application name and an application. Includes information such as version information.
  • the first crash report processing apparatus 210 analyzes the error based on the received primary data (S604).
  • the first crash report processing apparatus 210 determines whether the corresponding error analyzed based on the primary data is a new error or an existing registered error (S606).
  • the user terminal 100 requests the end of the session (S614).
  • the user terminal 100 receiving the secondary data request from the first crash report processing apparatus 210 transmits the secondary data to the first crash report processing apparatus 210.
  • the secondary data is data including terminal log information. That is, the terminal log is needed only once for log analysis, and the terminal log, which occupies a relatively large data size, can reduce overhead by having the user terminal 100 transmit the crash log to the crash report processing server 200 only when necessary. .
  • the first crash report processing apparatus 210 analyzes the error based on the received secondary data.
  • FIG. 7 is a flowchart illustrating a crash report processing procedure in the crash report processing system according to another embodiment of the present invention.
  • the user terminal 100 transmits a policy request regarding whether to transmit abnormal termination logs to the second crash report processing apparatus 220.
  • the policy on whether or not the abnormal termination log is transmitted refers to information that is a criterion for determining whether to send a crash report.
  • the second crash report processing apparatus 220 checks the stored policy in advance (S704).
  • the policy on whether to send the abnormal termination log is set and stored for each application.
  • a broadcast receiver is set to transmit, and in the case of a service or a content provider, it is set not to transmit.
  • the filter is set to transmit when included in the specific error list caused by the terminal platform.
  • the transmission policy may be set, but the present invention is not limited thereto, and the condition may be added and deleted.
  • the associative formula allows the user terminal 100 to transmit the error log to the crash report processing server 200 only when the type and state is set to transmit, but The error list specified in the filter does not transmit an error log even if an error occurs in the user terminal 100.
  • the second crash report processing apparatus 220 transmits the set and stored policy to the user terminal 100 in operation S706.
  • the user terminal 100 receiving the policy compares the error information with the policy (S708).
  • the abnormal crash log that is, the crash report is transmitted to the second crash report processing apparatus 220 (S712).
  • the second crash report processing apparatus 220 After receiving the crash report, the second crash report processing apparatus 220 analyzes the error based on the received log (S714).
  • FIG. 8 is a flowchart illustrating a crash report processing procedure in the crash report processing system including a server management apparatus according to an embodiment of the present invention.
  • the user terminal 100 When an abnormal termination event occurs while executing a predetermined application, the user terminal 100 transmits a policy request for whether to transmit primary data or abnormal termination log to the server management apparatus 230 of the crash report processing server 200.
  • the transmitted data may be different for each user terminal 100 or may be different for each app.
  • the server management apparatus 230 checks the received data and determines whether the received data is policy request data or primary data. (S804, S806, S808).
  • the server management apparatus 230 transmits the received request data to the second crash report processing apparatus 220 (S810).
  • the second crash report processing device 220 processes the crash report based on the received policy request data. That is, the second crash report processing apparatus 220 transmits the pre-stored policy to the user terminal 100, and the user terminal 100 receiving the policy compares the error information with the policy. As a result of the comparison, it is determined whether the policy is satisfied, and if the error information satisfies the policy, the abnormal crash log, that is, the crash report is transmitted to the second crash report processing apparatus 220. However, if the error information does not meet the policy result, the session is terminated. In addition, the second crash report processing apparatus 220 that receives the crash report analyzes the error based on the received log.
  • the server management apparatus 230 transmits the data to the first crash report processing apparatus 210 (S814).
  • the first crash report processing apparatus 210 processes the crash report based on the received primary data (S816). That is, the first crash report processing apparatus 210 receives an error based on the received primary data. Analyze and determine whether the analyzed error is a new error or an existing registered error. If the error is new, the secondary data is requested to the user terminal 100. However, if the registration error, the user terminal 100 requests the end of the session.
  • the user terminal 100 receiving the secondary data request from the first crash report processing apparatus 210 transmits the secondary data to the first crash report processing apparatus 210.
  • the secondary data is data including terminal log information. That is, the terminal log is needed only once for log analysis, and the terminal log, which occupies a relatively large data size, can reduce overhead by having the user terminal 100 transmit the crash log to the crash report processing server 200 only when necessary. .
  • the first crash report processing apparatus 210 analyzes the error based on the received secondary data.
  • FIG. 9 is a flowchart illustrating a process of processing a crash report in a user terminal according to an exemplary embodiment.
  • the user terminal 100 transmits primary data to the crash report processing server 200.
  • primary data Is a crash report, which is data including call stack, terminal additional information, and app additional information
  • the terminal additional information includes information such as a terminal model name and an OS version
  • the app additional information includes information such as an application name and application version information. It includes.
  • the user terminal 100 transmits the secondary data to the first crash report processing apparatus 210. (S906, S910)
  • the secondary data is data including terminal log information. That is, the terminal log is needed only once for log analysis, and the terminal log, which occupies a relatively large data size, can reduce overhead by having the user terminal 100 transmit the crash log to the crash report processing server 200 only when necessary. .
  • the user terminal 100 terminates the session connected to the crash report processing server 200 (S908).
  • FIG. 10 is a flowchart illustrating a process of processing a crash report in the crash report processing server according to an embodiment of the present invention.
  • the crash report processing server 200 maintains the standby state and checks whether primary data is received from the user terminal 100. (S1000, S1002)
  • the crash report processing server 200 analyzes an error based on the received primary data. (S1004)
  • the crash report processing server 200 determines whether the corresponding error analyzed based on the primary data is a new error or an existing registered error (S1006). For this purpose, the crash report processing server 200 may register a registration error. You will have to store the data in advance.
  • the crash report processing server 200 requests the secondary data to the user terminal 100. (S1008)
  • the crash report processing server 200 requests the user terminal 100 to terminate the session. (S1014)
  • the crash report processing server 200 analyzes an error based on the received secondary data when the secondary data is received from the user terminal 100. (S1012)
  • FIG. 11 is a flowchart illustrating a process of processing a crash report in a user terminal according to another embodiment of the present invention.
  • the user terminal 100 transmits a policy request for whether to transmit an abnormal termination log to the crash report processing server 200.
  • the abnormal termination log The policy on whether or not to transmit means information that is a criterion for determining whether to send a crash report.
  • the user terminal 100 compares abnormal termination time error information with a policy result.
  • the policy is a policy including information for determining whether to send abnormal termination log according to the kind, state, filter, and operation formula as described above, and the type, state, filter, and operation formula are described above. May be set together.
  • the user terminal 100 compares the error information with the policy (S1108).
  • the user terminal 100 transmits an abnormal termination log, that is, a crash report, to the crash report processing server 200 (S1110 and 1112).
  • FIG. 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.
  • the crash report processing server 200 maintains the standby state and, upon receiving a policy request from the user terminal 100, checks a pre-stored policy. (S1200 to S1204) In this case, the policy on whether to send an abnormal termination log is for each application. It is set and stored.
  • the crash report processing server 200 transmits the policy set and stored in this way to the user terminal 100. (S1206)
  • the crash report processing server 200 analyzes an error based on the received log.
  • crash report processing method in the crash report processing system according to the embodiment of the present invention has been described above.
  • FIG. 13 is a flowchart illustrating a crash report function control process in the crash report processing system according to the embodiment of the present invention.
  • the user terminal 100 transmits error information to the crash report processing server 200 (S1300 and S1302).
  • the error information is a crash report and includes a call stack, a terminal model name, terminal additional information including an OS version, an application name, application additional information including application version information, and other terminal logs.
  • the crash report processing server 200 When the crash report processing server 200 receives the error information from the user terminal 100, the crash report processing server 200 refers to the app additional information and the call stack information included in the error information and checks whether or not the report function is turned off (S1304).
  • the crash report processing server 200 will store reference information for determining whether the report function is off.
  • the crash report processing server 200 determines that the crash report function is required to be turned off, the crash report processing server 200 generates the crash report function control information by including the off information in the response data (S1306 and S1308).
  • the crash report processing server 200 transmits the response data generated as described above to the user terminal 100 (S1312).
  • the crash report processing server 200 performs a general error processing operation (S1310).
  • the user terminal 100 receiving the response data checks the crash report function control information included in the response data to control the crash report function (S1314).
  • crash report function control information includes off information
  • the user terminal 100 sets the crash report function to off.
  • the crash report function is turned off only for the set validity period, and after the validity period, the crash report function is set to on again.
  • FIG. 14 is a flowchart illustrating a process for controlling a crash report function in a user terminal according to an embodiment of the present invention.
  • the user terminal 100 transmits error information to the crash report processing server 200 when a running application abnormal termination event occurs. (S1400 to S1404).
  • the error information is a crash report and includes a call stack, a terminal model name, terminal additional information including an OS version, an application name, application additional information including application version information, and other terminal logs.
  • the user terminal 100 checks whether the response data is received from the crash report processing server 200 (S1406).
  • response data is received from the crash report processing server 200, it is determined whether the off information is included as the crash report function control information in the received response data (S1408).
  • the user terminal 100 determines whether the off information includes the valid period for the off (S1410).
  • the user terminal 100 turns off the crash report function only for the set valid period, and sets the crash report function to on again after the valid period expires.
  • the user terminal 100 sets the crash report function to off.
  • the user terminal 100 will set the crash report function turned off.
  • FIG. 15 is a flowchart illustrating a process for controlling a crash report function in a crash report processing server according to an embodiment of the present invention.
  • the crash report processing server 200 When the crash report processing server 200 receives the error information from the user terminal 100 in the standby state, the crash report processing server 200 refers to the app additional information and the call stack information included in the error information to determine whether the report function is off. ⁇ S1504)
  • the crash report processing server 200 will store reference information for determining whether the report function is off.
  • the crash report processing server 200 determines that the crash report function is required to be turned off, the crash report processing server 200 generates the crash report function control information by including the off information in the response data (S1506 and S1508).
  • the crash report processing server 200 transmits the response data generated as described above to the user terminal 100 (S1510).
  • step S1506 when it is determined in step S1506 that the crash report function is not necessary, the crash report processing server 200 performs a general error processing operation (S1512).
  • the crash report processing server 200 separately manages information on user terminals controlled by the crash report function off, and turns the crash report function back on to the user terminals when a failure situation or a load falls below a preset criterion.
  • the crash report function may be turned on by transmitting data including control information for setting.
  • crash report processing method 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.
  • the program recorded in the recording medium may be read from a computer, installed and executed to execute the above functions.
  • the above-described program may include C, C ++, and the like, which the computer's processor (CPU) can read through the computer's device interface.
  • Code may be coded in a computer language such as JAVA or machine language.
  • Such code may include a function code associated with a function or the like that defines the above-described functions, and may include execution procedure-related control code necessary for a processor of the computer to execute the above-described functions according to a predetermined procedure.
  • the code may further include memory reference-related code for additional information or media required for a processor of the computer to execute the above-described functions at which location (address address) of the computer's internal or external memory. .
  • the code may be used to determine which computer the processor of the computer uses the communication module of the computer on the remote. It may further include communication-related codes such as how to communicate with other computers or servers, and what information or media should be transmitted and received during communication.
  • Such computer-readable media suitable for storing computer program instructions and data include, for example, recording media comprising magnetic media, such as hard disks, floppy disks, and magnetic tape, and compact disk read only memory (CD-ROM). , Optical media such as Digital Video Disk (DVD), magneto-optical media such as Floppy Disk, and ROM (Read Only Memory), RAM And a semiconductor memory such as a random access memory, a flash memory, an erasable programmable ROM (EPROM), and an electrically erasable programmable ROM (EEPROM).
  • the processor and memory can be supplemented by or integrated with special purpose logic circuitry.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • a functional program for implementing the present invention codes and code segments associated therewith may be used in consideration of a system environment of a computer that reads a recording medium and executes the program. It may be easily inferred or changed by.
  • 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 the performance of an operation on electronic data.
  • the definition of a computer system includes software modules, such as an operating system of a personal computer, and hardware components of the personal computer. The physical layout of the module is not important.
  • the computer system may include one or more computers connected via a network.
  • a computing system may be implemented as one physical device in which internal modules such as memory and processors operate in conjunction with the performance of operations on electronic data.
  • an apparatus for crash report processing for example, the user terminal 100 and the crash report processing server 200 may be implemented to perform the above-described embodiments based on the computing system described below. Can be.
  • 16 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.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • Computer-executable instructions, associated data structures, and program modules represent examples of program code means for carrying out the operations of the invention disclosed herein.
  • an exemplary computing system implementing the present invention connects various system components including processing unit 11, system memory 12, and system memory 12 to the processing unit 11. And a computing device in the form including a system bus 10 for the purpose of designing a system.
  • Processing unit 11 may execute computer-executable instructions designed to implement features of the present invention.
  • System bus 10 may be any of several types of bus structures, including a local bus, a peripheral bus, and a memory bus or memory controller using any of a variety of bus architectures.
  • the system memory 12 includes a read only memory (ROM) 12a and a random access memory (RAM) 12b.
  • ROM read only memory
  • RAM random access memory
  • a basic input / output system (BIOS) 13a which includes basic routines that help transfer information between components within the computing system, such as during startup, can generally be stored in ROM 12a.
  • the computing system may comprise storage means, for example, a hard disk drive 15 that reads information from or writes information to a hard disk, information in or reads from a magnetic disk.
  • the hard disk drive 15, the magnetic disk drive 16, and the optical disk drive 17 are each configured by a hard disk drive interface 18, a magnetic disk drive-interface 19, and an optical drive interface 20. It is connected to the bus 10.
  • the computing system may further include an external memory 21 as a storage means.
  • the external memory 21 may be connected to the system bus 10 through the input / output interface 24.
  • the drive described above and associated computer readable medium read and written by the drive provide for nonvolatile storage of computer executable instructions, data structures, program modules, and other data.
  • the exemplary environment described herein illustrates a hard disk 15, a magnetic disk 16, and an optical disk 17, but in addition to magnetic cassettes, flash memory cards, DVDs, Bernoulli cartridges, RAM Other types of computer readable media may be used to store data, including, ROM, and the like.
  • One or more program modules including an operating system 13b, one or more application programs 13c, other program modules 13d, and program data 13c, which are loaded and executed by the processing unit 11.
  • the program code means may be stored in the hard disk 15, the magnetic disk 16, the optical disk 17, the ROM 12a or the RAM 12b.
  • the computing system may receive commands and information from the user through other input devices 22 such as keyboards, pointing devices, microphones, joy sticks, game pads, scanners, and the like.
  • These input devices 22 may be connected to the processing unit 11 via an input / output interface 24 connected to the system bus 10.
  • the input / output interface 24 may be, for example, a high-end device such as a serial port interface, a PS / 2 interface, a parallel port interface, a USB interface, an Institute of Electrical and Electronics Engineers (IEEE) 1394 interface (ie, a FireWire interface). Any of a variety of different interfaces can be represented logically, or even a combination of different interfaces.
  • the computing system to which the present invention is applied may further include a display device 26 such as a monitor or LCD or an audio device 27 such as a speaker or a microphone, which may be connected via a video / audio interface 25. It is connected to the system bus 10.
  • a display device 26 such as a monitor or LCD
  • an audio device 27 such as a speaker or a microphone
  • the video / audio interface unit 25 may include a high definition multimedia interface (HDMI), a graphics device interface (GDI), or the like.
  • HDMI high definition multimedia interface
  • GDI graphics device interface
  • computing systems implementing the present invention may be connected to networks such as, for example, office-wide or enterprise-wide computer networks, home networks, intranets, and / or the Internet.
  • the computer system may exchange data with such external sources as, for example, a remote computer system, a remote application, and / or a remote database.
  • a computing system to which the present invention is applied comprises a network interface 27 for receiving data from and / or transmitting data from an external source.
  • such a computing system can transmit and receive information to and from devices located remotely through the network interface 27.
  • the computing system refers to the user terminal 100
  • information may be exchanged with the crash report processing server 200 through the network interface 27.
  • the computing system refers to the crash report processing server 200
  • it can transmit and receive information with the user terminal 100 through the network interface (27).
  • Network interface 27 may be represented by a logical combination of one or more software and / or hardware modules, such as, for example, a network interface card and a corresponding Network Driver Interface Specification (“NDIS”) stack.
  • NDIS Network Driver Interface Specification
  • the computer system receives data from or transmits data to an external source via input / output interface 24.
  • the input / output interface 24 may be connected to a modem 23 (eg, a standard modem, cable modem, or digital subscriber line (“DSL”) modem), through which the external source may be connected.
  • a modem 23 eg, a standard modem, cable modem, or digital subscriber line (“DSL”) modem
  • DSL digital subscriber line
  • FIG. 16 illustrates an operating environment suitable for the present invention, the principles of the present invention may be employed in any system capable of implementing the principles of the present invention, with appropriate modifications as necessary.
  • the environment shown in FIG. 16 is merely illustrative and does not represent a small portion of the wide variety of environments in which the principles of the present invention may be implemented.
  • various information generated when the crash report processing process is executed in the crash report processing system of the present invention may be stored and accessed in any computer readable medium related to the computing system of FIG. 16.
  • some of these program modules and some of the associated program data may be stored in system memory 12 for operating system 13b, application program 13c, program module 13d, and / or program data. It may be included in (13e).
  • program modules and associated program data may be stored in the mass storage device.
  • program modules associated with the present invention, or portions thereof may be stored in a remote computer system connected via a modem 23 or network interface 25 of an input / output interface 24. Execution of such modules may be performed in a distributed environment as described above.
  • the present invention relates to a crash report processing system and an apparatus for processing a crash report in the system, and when the application running the user terminal capable of crash report for the application is abnormally terminated, error transmission to the server end selectively Or a crash report that enables more efficient crash reports by not sending an overlapping terminal log of an overhead nature, or performs an error information transmission operation when an application running a user terminal capable of crash reports is abnormally terminated.
  • a crash report processing system for controlling on / off of a function and an apparatus for crash report processing in the system.
  • the crash report processing system of the present invention is an essential step in transmitting information transmitted from the terminal to the server in two steps, that is, the terminal transmits an error log to the server at the time of an application crash installed in the terminal (1).
  • the present invention provides flexibility of service operation by controlling whether the terminal delivers the error content of the application to the server according to the type / status / error filter of the application when the application installed in the terminal is crashed. Can be provided.
  • the present invention enables a crash report on an application to be prevented from sending a duplicate terminal log of an overhead when the running application is abnormally terminated, thereby enabling a more efficient crash report. It can contribute to development.
  • the crash agent embedded in the application causes the call stack, crash report error information, terminal additional information (terminal model name and version), and application additional information (application name and application version information).
  • terminal additional information terminal model name and version
  • application additional information application name and application version information
  • the user terminal receives such response data, confirms crash report function control information included in the response data, and turns off the crash report function if the control information includes information for turning off the crash report function. In addition, if the crash report function is turned off in this manner, even if an application abnormal termination event occurs, the crash report is not transmitted. In addition, if the crash report function control information includes the valid period information for the off, the user terminal turns off the crash report function only for the set valid period. That is, the user terminal 100 turns on the crash report function again when the set validity period expires, and then generates an abnormal termination log and transmits it to the crash report processing server when an abnormal termination event for a predetermined application occurs.
  • the terminal can not be used due to frequent crashes and repetitive crashes in a specific terminal model or all terminals, and the crash report server due to excessive traffic This can solve the problem of shutdown or crash report server performance.
  • the terminal and the crash report server may be in a trouble situation in which service is difficult, so that the crash report server may provide a function of turning off the crash report function. This will increase the availability of servers and servers.
  • the present invention has industrial applicability because the present invention is not only sufficiently commercially available or commercially viable, but also practically clearly implemented.

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

The present invention relates to a crash report processing system, and an apparatus for processing a crash report in the system. The crash report processing system according to an embodiment of the present invention comprises: a crash report processing server for receiving a crash report and processing an error on the basis of the received crash report; and a user terminal for selectively transmitting, to the crash report processing server, at least some information of the crash report for error reporting when an abnormal termination of a running application occurs, wherein when a running application is abnormally terminated, a user terminal capable of performing a crash report on an application selectively transmits an error to a server stage, or the user terminal does not transmit an overhead-heavy overlapping terminal log, thereby enabling a more efficient crash report.

Description

크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치Crash Report Processing System and Apparatus for Crash Report Processing in the System
본 발명은 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치에 관한 것으로, 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 서버단으로 선택적으로 오류 전송을 하거나, 오버헤드 성격의 중복적인 단말로그를 보내지 않도록 하여 보다 효율적인 크래시 리포트를 할 수 있도록 하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치에 관한 것이다.The present invention relates to a crash report processing system and an apparatus for processing a crash report in the system, and when an application running a user terminal capable of crash report for an application is abnormally terminated, an error transmission is selectively made to the server side or is over. The present invention relates to a crash report processing system and a device for crash report processing in the system to avoid a duplicate terminal log of the head characteristics to enable a more efficient crash report.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information on the present embodiment and do not constitute a prior art.
통신 단말기는 휴대가 가능한 형태로 제작되면서 그 이용의 편리성과 휴대의 용이성 등으로 인하여 매우 폭넓은 분야에서 이용되고 있다. 이러한 통신 단말기는 최근 들어 다양한 사용자 기능을 탑재한 스마트폰의 형태로 발전하면서 편리성과 오락성을 제공하고 있다. 스마트폰은 고성능의 하드웨어가 장착된 단말기 형태로 제공되기 때문에 사용자들이 다양한 어플리케이션(이하 '앱'으로 기재하도록 함)을 다운로드 받아 설치할 수 있도록 지원한다. 이에 따라 최근에는 스마트폰에 적용되는 다양한 앱들이 개발 및 보급되고 있는 추세이다. As communication terminals are manufactured in a portable form, they are used in a wide range of fields due to their convenience and ease of use. These communication terminals have recently been developed in the form of smart phones equipped with various user functions, providing convenience and entertainment. Since smartphones are provided in the form of terminals equipped with high-performance hardware, users can download and install various applications (hereinafter referred to as 'apps'). Accordingly, in recent years, various apps applied to smartphones have been developed and spread.
한편, 스마트폰의 하드웨어가 고성능으로 발전하고 있지만 그에 대응한 사용자들의 기기 변환 싸이클은 빠르지 않은 편이다. 예컨대 새로운 하드웨어를 장착한 스마트폰은 6개월 정도의 빠른 주기로 개발되고 배포되고 있지만, 사용자들의 기기 변환은 사용자들의 기호 등에 따라 다르지만 대체로 1년에서 2년 정도의 주기를 가지고 있다. 결과적으로 최신 스마트폰을 구매하였다 하더라도 수개월 후에는 구형 스마트폰을 사용하는 결과를 낳게 된다. 한편 제작 및 개발되는 앱들은 기본적으로 최신 스마트폰의 하드웨어를 주 타겟으로 하여 제작 및 개발되기 때문에 최신 앱은 최신 스마트폰에 최적화되거나 또는 최신 스마트폰에 국한되어 무리 없이 사용되는 경향이 있다. 따라서 최신 앱을 구형 스마트폰에 설치하는 경우 하드웨어적 영향에 의하여 해당 앱이 정상적으로 작동하지 못하고 비정상 종료되는 경우가 비일비재하게 발생하고 있다. 상술한 앱의 비정상 종료는 하드웨어적 영향뿐만 아니라 장착된 운영체제의 영향도 어느 정도 가지고 있다.On the other hand, although the hardware of smartphones is developing with high performance, the device conversion cycle of users corresponding to them is not fast. For example, smartphones equipped with new hardware are being developed and distributed in a fast cycle of about six months, but the user's device conversion varies from one year to two years, depending on the user's preference. As a result, even if you purchase the latest smartphone, it will result in using an older smartphone after several months. On the other hand, apps that are produced and developed are built and developed primarily based on the hardware of the latest smartphones, so the latest apps tend to be optimized for the latest smartphones or limited to the latest smartphones. Therefore, when installing the latest app on the old smart phone, the app does not work normally due to hardware effects and abnormal termination occurs frequently. The abnormal termination of the above-described app has some influence not only on the hardware but also on the installed operating system.
한편 앱의 비정상 종료에 대한 정보는 앱을 개발하는 개발자나 운영체제를 개발하고 보완하는 개발자들에게는 매우 중요한 자료가 된다. 그러나 종래 휴대 단말기 사용자는 앱의 비정상 종료가 발생하더라도 해당 정보를 능동적으로 개발자들에게 제공하지 않고 있다. 이에 따라 앱 운용에 있어서 다양한 문제가 있지만 그러한 문제에 대한 정확한 사례에 대한 정보 수집이 어려운 문제점이 있으며, 결과적으로 그러한 정보 수집 미비로 인하여 적절한 앱 보완이나 갱신이 어려운 문제점이 있다.On the other hand, the information about abnormal termination of the app is very important for the developer who develops the app or the developer who develops and supplements the operating system. However, the conventional mobile terminal user does not actively provide the developer with the corresponding information even if an abnormal termination of the app occurs. Accordingly, there are various problems in the operation of the app, but there is a problem that it is difficult to collect information about the exact case for such a problem, and as a result there is a problem that it is difficult to properly supplement or update the app due to the lack of such information collection.
이를 보완하기 위해 앱 운용 중 비정상 종료에 따라 발생하는 크래시 리포트를 다양한 정책에 따라 동적으로 처리할 수 있도록 지원하는 다양한 기술이 개발되었고, 해당 앱에 대한 정확한 오류 정보 수집을 통해 앱의 보완이나 갱신을 보다 적절히 수행할 수 있도록 지원하고 있다.In order to compensate for this, various technologies have been developed to dynamically handle crash reports caused by abnormal termination during the operation of the app according to various policies, and the application can be supplemented or updated by collecting accurate error information about the app. It supports more appropriately.
한편, 현재 단말에 설치된 어플리케이션의 비 정상 종료 발생 시마다 어플리케이션의 오류 정보인 콜스택(Callstack), 어플리케이션명, 어플리케이션 버전과 같은 정보를 포함하는 어플리케이션 부가정보, 단말모델명, OS버전을 포함하는 단말부가정보, 비정상 종료시점의 단말 시스템 로그를 포함하는 단말 로그 정보를 모아서 서버에 전송하는 것이 일반적이다.On the other hand, whenever an abnormal termination of an application currently installed in the terminal occurs, application additional information including information such as a call stack, application name, and application version, which are error information of the application, terminal additional information including a terminal model name and an OS version. In general, the terminal log information including the terminal system log at the abnormal end point is collected and transmitted to the server.
하지만, 특정 단말의 특성 혹은 애플리케이션의 잘못된 배포 등으로 애플리케이션의 비정상 종료가 특정 단말모델 혹은 모든 단말에서 빈번히 과다 크래시(Crash) 및 반복적 크래시에 따라 단말기를 사용할 수 없는 상황, 그리고 이에 따른 트래픽 과다로 크래시 리포트를 관리 및 처리하는 서버의 셧다운 혹은 성능 저하 등으로 이어질 수 있다.However, due to the characteristics of a specific terminal or incorrect distribution of an application, an abnormal termination of an application may cause the terminal to be unavailable due to frequent crash and repetitive crash in a specific terminal model or all terminals, and crash due to excessive traffic. This can lead to server shutdowns or performance degradation for managing and processing reports.
이에 따라 비정상 종료가 과다하게 그리고 빈번하게 발생하는 경우 단말과 크래시 리포트를 관리 및 처리하는 서버에 정상적으로 서비스가 어려운 장애상황 발생을 방지하기 위한 기술 개발이 요구되고 있다.Accordingly, when abnormal termination occurs excessively and frequently, there is a demand for a technology development for preventing occurrence of a trouble situation in which a terminal and a server which manages and processes a crash report are difficult to service normally.
또한, 단말 로그는 로그분석을 위해 한번만 필요하고 큰 데이터 사이즈를 차지함에 따라 매번 비 정상 종료 시마다 오버헤드(overhead) 성격의 중복적인 단말로그를 보내는 것은 네트워크 및 서버 운영측면에서 비효율적이다.In addition, since the terminal log is needed only once for log analysis and occupies a large data size, it is inefficient in terms of network and server operation to send an overlapping terminal log having an overhead characteristic at every abnormal termination.
이에 따라 오버헤드 성격의 중복적인 단말로그를 보내지 않도록 하여 보다 효율적인 크래시 리포트를 할 수 있는 기술개발이 시급한 실정이다.Accordingly, there is an urgent need to develop a technology that enables a more efficient crash report by not sending a duplicate terminal log of an overhead characteristic.
또한, 상기한 바와 같이 현재 단말에 설치된 어플리케이션의 비 정상 종료 발생 시의 어플리케이션에서 발생한 오류관련 로그를 서버에 전송하는 기술이 일반적이다.In addition, as described above, a technique for transmitting an error related log generated in an application when an abnormal termination of an application currently installed in a terminal occurs to a server is common.
즉, 비정상 종료의 심각도가 높지 않은 경우 예를 들어, 화면이 없는 특정 프로세스가 백그라운드에서 비정상 종료되는 경우, 또는 단말플랫폼이 야기한 오류와 같은 어플리케이션의 디버깅이 불가능한 비 정상 종료되는 경우에도 오류관련 로그를 서버로 전송하고 있다. That is, if the abnormal severity is not high, for example, if a certain screenless process is abnormally terminated in the background, or if an abnormal termination of the application, such as an error caused by the terminal platform, is impossible to debug, the error log is displayed. Sending to server
이와 같이 심각도가 높지 않은 경우, 서비스의 중요도가 낮고 고객의 사용성에 영향을 주지 않은 비 정상 종료, 혹은 오류 디버깅이 불가능한 이미 알려진 비정상 종료의 경우 서버로 오류 정보를 전송하지 않고도 단말 자체적으로 처리 가능할 것이다.In this case, if the severity is not high, the abnormal shutdown which does not affect the serviceability of the customer and does not affect the usability of the customer, or the known abnormal shutdown that cannot be debugged may be handled by the terminal itself without transmitting error information to the server. .
이에 따라 어플리케이션 비정상 종료가 발생할 시 오류 심각도에 따라 선택적으로 오류 보고를 할 수 있도록 하기 위한 기술 개발도 요구되고 있다.Accordingly, there is a demand for a technology development for selectively reporting an error according to an error severity when an application abnormal termination occurs.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 서버단으로 선택적으로 오류 전송을 할 수 있도록 하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치를 제공하는 데 목적이 있다.The present invention has been proposed to solve the above-mentioned conventional problem, and in particular, a crash report processing for enabling a user to selectively send an error to a server side when an application running a user terminal capable of crash reporting for an application is abnormally terminated. It is an object of the present invention to provide a system and an apparatus for crash report processing in the system.
또한, 본 발명은 단말에 설치된 어플리케이션 비 정상 종료(Crash) 시 단말에서 서버로 전달되는 정보를 2단계로 나눠 전송함으로써 네트워크 및 서버 운영측면의 효율성을 제공하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치를 제공하는 데 목적이 있다.In addition, the present invention provides a crash report processing system and system for providing efficiency in terms of network and server operation by transmitting the information transmitted from the terminal to the server in two stages when the application is abnormally terminated (Crash) installed in the terminal An object is to provide an apparatus for crash report processing.
또한, 본 발명은 단말에 설치된 어플리케이션 비 정상 종료(Crash) 시 단말이 서버로 오류로그를 전달 보내는데 있어 필수단계(1차)와 옵션단계(2차)로 분리함으로써 네트워크와 트래픽(traffic)과 서버 시스템을 효율적으로 운영하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치를 제공하는 데 목적이 있다.In addition, the present invention is to separate the network and the traffic (traffic) and server by separating the essential step (1st) and the optional step (secondary) in the terminal to send the error log to the server when the application is abnormally terminated (Crash) installed in the terminal An object of the present invention is to provide a crash report processing system for efficiently operating a system and a crash report processing system in the system.
또한, 본 발명은 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 오버헤드 성격의 중복적인 단말로그를 보내지 않도록 하여 보다 효율적인 크래시 리포트를 할 수 있도록 하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치를 제공하는 데 목적이 있다.The present invention also provides a crash report processing system for enabling a crash report more efficiently by preventing a user terminal capable of crash reporting of an application from sending a duplicate terminal log having an overhead characteristic when an application running abnormally terminates. An object of the present invention is to provide an apparatus for crash report processing in a system.
또한, 본 발명은 단말에 설치된 어플리케이션이 비 정상 종료(Crash) 될 때 어플리케이션의 종류/상태/오류필터에 따라, 단말이 어플리케이션의 오류 내용을 서버에 전달을 할 것인지 여부를 제어하여 서비스 운영의 유연성을 제공할 수 있도록 하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치를 제공하는 데 목적이 있다.In addition, the present invention provides flexibility of service operation by controlling whether the terminal delivers the error content of the application to the server according to the type / status / error filter of the application when the application installed in the terminal is crashed. It is an object of the present invention to provide a crash report processing system and a device for crash report processing in the system to provide a.
또한, 비정상 종료가 과다하게 그리고 빈번하게 발생하는 경우 단말과 크래시 리포트를 관리 및 처리하는 서버에 정상적으로 서비스가 어려운 장애상황 발생을 방지할 수 있도록 하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 기능 제어를 위한 장치를 제공하는 데 목적이 있다.In addition, the crash report processing system and crash report function in the system to prevent the occurrence of a trouble situation that is difficult to service normally to the server that manages and processes the terminal and crash report when abnormal termination occurs excessively and frequently It is an object to provide a device for control.
또한, 본 발명은 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 오류 정보 전송 동작을 수행하는 크래시 리포트 기능의 온/오프(On/OFF)를 제어하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 기능 제어를 위한 장치에 관한 것이다.The present invention also provides a crash report processing system for controlling an on / off of a crash report function for performing an error information transmission operation when an application running a user terminal capable of crash reporting for an application is abnormally terminated. An apparatus for controlling a crash report function in the system.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.However, the object of the present invention is not limited to the above object, and other objects not mentioned will be clearly understood from the following description.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템은 어플리케이션 비정상 종료 발생에 따른 오류 정보를 포함하는 크래시 리포트를 수신하고, 수신한 크래시 리포트를 기반으로 오류를 처리하는 크래시 리포트 처리 서버; 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 오류 보고를 위한 크래시 리포트의 적어도 일부 정보를 선택적으로 상기 크래시 리포트 처리 서버로 전송하는 사용자 단말기를 포함하는 것을 특징으로 한다.Crash report processing system according to an embodiment of the present invention for achieving the object as described above receives a crash report containing error information according to the application abnormal termination occurs, the crash processing error based on the received crash report Report processing server; And a user terminal for selectively transmitting at least some information of the crash report for error reporting 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 call stack, terminal additional information, application additional information, and terminal log information at abnormal termination time, and the terminal additional information includes at least one of terminal model name and OS version information. The application additional information may include at least one of application name and application version information.
또한, 본 발명에 따른 상기 사용자 단말기는 상기 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 콜스택, 단말 부가정보, 어플리케이션 부가정보를 포함하는 1차 데이터를 상기 크래시 리포트 처리 서버로 전송하고, 상기 크래시 리포트 처리 서버로부터 단말 로그 정보에 대한 요청이 있으면, 단말 로그 정보를 포함하는 2차 데이터를 상기 크래시 리포트 처리 서버로 전송하는 것을 특징으로 한다.The user terminal according to the present invention transmits primary data including call stacks, terminal additional information, and application additional information to the crash report processing server when abnormal termination occurs for the running application, and processes the crash report. When there is a request for terminal log information from a server, the secondary data including the terminal log information is transmitted to the crash report processing server.
또한, 본 발명에 따른 상기 사용자 단말기는 상기 사용자 단말기는, 상기 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 상기 크래시 리포트 처리 서버로 비정상 종료로그 전송여부에 대한 정책을 요청하고, 상기 크래시 리포트 처리 서버로부터 상기 정책이 수신되면 비정상 종료 시점의 오류 정보와 상기 정책과 비교한 후 정책에 부합하면 상기 크래시 리포트를 상기 크래시 리포트 처리 서버로 전송하는 것을 특징으로 한다.In addition, the user terminal according to the present invention, when the abnormal termination occurs for the running application, the user terminal requests a policy for the abnormal termination log transmission to the crash report processing server, the crash report processing server from the When a policy is received, the crash report is compared to the error information at the abnormal termination time and the policy, and if the policy is met, the crash report is transmitted to the crash report processing server.
또한, 본 발명에 따른 상기 크래시 리포트 처리 서버는, 상기 사용자 단말기로부터 상기 1차 데이터가 수신되면 상기 수신한 1차 데이터를 기반으로 해당 오류가 신규 오류인지 등록된 오류인지를 판단하고, 상기 판단 결과 신규 오류인 경우 상기 사용자 단말기로 2차 데이터를 요청하고, 상기 판단 결과 등록 오류인 경우 상기 사용자 단말기로 세션 종료를 요청하는 것을 특징으로 한다.In addition, the crash report processing server according to the present invention, when the primary data is received from the user terminal determines whether the error is a new error or a registered error based on the received primary data, the determination result In the case of a new error, the secondary data is requested to the user terminal, and if the registration error is a result of the determination, the user terminal is requested to terminate the session.
또한, 본 발명에 따른 상기 크래시 리포트 처리 서버는, 상기 사용자 단말기로부터 비정상 종료로그 전송여부에 대한 정책 요청이 있으면, 미리 저장된 정책을 상기 사용자 단말기로 전송하는 것을 특징으로 한다.The crash report processing server according to the present invention may transmit a pre-stored policy to the user terminal when a policy request for abnormal termination log transmission is received from the user terminal.
여기서, 상기 비정상 종료로그 전송여부에 대한 정책은, 어플리케이션 별로 설정되고, 종류, 상태, 필터 중 적어도 하나의 설정 정보를 포함하고, 상기 종류 정보는 액티비티(Activity), 브로드캐스트 리시버인 경우에는 전송하도록 설정하고, 서비스이거나 컨텐츠 프로바이더인 경우에는 전송하지 않도록 설정한 정보이고, 상기 상태 정보는 포어 그라운드이면 전송하도록 설정하고, 포어 그라운드가 아니라면 전송하지 않도록 설정한 정보이고, 상기 필터 정보는 단말 플랫폼이 야기한 특정 오류 리스트에 포함되는 경우에는 전송하도록 설정한 정보인 것을 특징으로 한다.Here, the policy on whether to send the abnormal termination log is set for each application, and includes at least one setting information of a type, a state, and a filter, and the type information is transmitted when the activity is a broadcast receiver. Information is set to not be transmitted when the service is a service provider or a content provider. The status information is information which is set to be transmitted if it is foreground, and not to be transmitted if it is not the foreground. The filter information is set by the terminal platform. When included in the specific error list caused, the information is set to be transmitted.
또한, 상기 비정상 종료로그 전송여부에 대한 정책은 연산 공식에 대한 정보를 더 포함하고, 상기 연산 공식은 상기 종류와 상기 상태가 전송하도록 설정된 조건에 해당되는 경우에만 상기 사용자 단말기가 오류 로그를 상기 크래시 리포트 처리 서버로 전송하도록 하며, 상기 필터에 명시된 오류 리스트는 상기 사용자 단말기에서 오류가 발생하더라고 오류 로그를 전송하지 않도록 설정된 공식인 것을 특징으로 한다.In addition, the policy on whether or not the abnormal termination log transmission further includes information on the operation formula, the operation formula is crashed only when the user terminal is the error log when the type and the condition set to transmit the error log The error list specified in the filter is a formula set to not transmit an error log even if an error occurs in the user terminal.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 크래시 리포트 처리를 위한 장치는 크래시 리포트 처리 서버와의 통신을 위한 인터페이스부; 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 상기 통신 인터페이스를 통해 오류 보고를 위한 크래시 리포트의 적어도 일부 정보를 선택적으로 크래시 리포트 처리 서버로 전송하는 크래시 리포트 에이젼트를 포함하는 것을 특징으로 한다.According to an embodiment of the present invention, an apparatus for crash report processing may include an interface unit for communication with a crash report processing server; And a crash report agent that selectively transmits at least some information of the crash report for error reporting to the crash report processing server through the communication interface when an abnormal termination occurs for the running application.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 크래시 리포트 처리를 위한 장치는 적어도 하나의 사용자 단말기와의 통신을 위한 통신 인터페이스; 어플리케이션 별로 비정상 종료로그 전송여부를 판단하기 위한 기준이 되는 정책을 저장하는 저장 모듈; 상기 통신 인터페이스를 통해 상기 사용자 단말기로부터 비정상 종료로그 전송여부에 대한 정책 요청이 있으면, 상기 저장 모듈에 저장된 정책을 상기 통신 인터페이스를 통해 상기 사용자 단말기로 전송하고, 상기 통신 인터페이스를 통해 상기 사용자 단말기로부터 오류 관련 필수 정보를 포함하는 1차 데이터가 수신되면 상기 수신한 1차 데이터를 기반으로 해당 오류가 신규 오류인지 등록된 오류인지를 판단하고, 상기 판단 결과 신규 오류인 경우 상기 통신 인터페이스를 통해 상기 사용자 단말기로 2차 데이터인 단말 로그 정보를 요청하고, 상기 판단 결과 등록 오류인 경우 상기 통신 인터페이스를 통해 상기 사용자 단말기로 세션 종료를 요청하는 크래시 리포트 처리 모듈을 포함하는 것을 특징으로 한다.An apparatus for processing a crash report according to an embodiment of the present invention for achieving the above object includes 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 to transmit abnormal termination log for each application; If there is a policy request for transmission of abnormal termination log from the user terminal through the communication interface, the policy stored in the storage module is transmitted to the user terminal through the communication interface, and an error is received from 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 when the determination result is a new error, the user terminal through the communication interface. And a crash report processing module for requesting terminal log information, which is secondary data, and requesting session termination to the user terminal through the communication interface in case of registration error.
또한, 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템은 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 오류 보고를 위한 크래시 리포트를 크래시 리포트 처리 서버로 전송하는 사용자 단말기; 상기 사용자 단말기로부터 크래시 리포트를 수신하면, 상기 수신한 크래시 리포트에 포함된 일부 오류 정보를 참조하여 오류 발생한 어플리케이션이 크래시 리포트 기능 오프 제어가 필요한 어플리케이션으로 설정되어 있는지 판단하고, 판단 결과 상기 오류 발생한 어플리케이션에 대한 크래시 리포트 기능 오프 제어가 필요한 경우 상기 크래시 리포트 기능을 오프하도록 제어하기 위한 오프 제어 정보를 응답 데이터로 생성하여 상기 사용자 단말기로 전송하는 크래시 리포트 처리 서버를 포함하는 것을 특징으로 한다.In addition, the crash report processing system according to an embodiment of the present invention includes a user terminal for transmitting a crash report for the crash report to the crash report processing server when an abnormal termination occurs for the running application; When the crash report is received from the user terminal, it is determined whether the application in error is set as an application requiring the crash report function off control by referring to some error information included in the received crash report. And a crash report processing server which generates off-response information for controlling to turn off the crash report function as response data and transmits it to the user terminal when the crash report function off control is required.
여기서, 상기 크래시 리포트는 콜스택, 단말 부가정보, 어플리케이션 부가정보, 비정상 종료 시점의 단말 로그 정보 중 적어도 하나의 정보를 포함한다.Here, the crash report includes at least one of call stack, terminal additional information, application additional information, and terminal log information at abnormal termination time.
또한, 상기 단말 부가정보는 단말 모델명, OS버젼 정보 중 적어도 하나의 정보를 포함하고, 상기 어플리케이션 부가정보는 어플리케이션명, 어플리케이션 버전정보 중 적어도 하나의 정보를 포함하는 것을 특징으로 한다.The terminal additional information may include at least one information of a terminal model name and OS version information, and the application additional information may include at least one of application name and application version information.
또한, 본 발명의 실시예에 따른 상기 크래시 리포트 처리 서버는 상기 사용자 단말기로부터 크래시 리포트를 수신하면, 상기 수신한 크래시 리포트에 포함된 어플리케이션 부가정보와 콜스택을 참조하여 오류 발생한 어플리케이션이 크래시 리포트 기능 오프 제어가 필요한 어플리케이션으로 설정되어 있는지 판단하는 것을 특징으로 한다.In addition, when the crash report processing server according to an embodiment of the present invention receives a crash report from the user terminal, the crash report function is turned off by referring to the application additional information and the call stack included in the received crash report. It is characterized by determining whether or not the control is set to the application.
또한, 본 발명의 실시예에 따른 상기 사용자 단말기는, 상기 크래시 리포트 처리 서버로부터 상기 응답 데이터를 수신하면, 수신한 응답 데이터에 포함된 오프 제어 정보를 확인하여 해당 어플리케이션에 대한 크래시 리포트 기능을 오프로 설정하는 것을 특징으로 한다.Further, when the user terminal receives the response data from the crash report processing server, the user terminal checks off control information included in the received response data to turn off the crash report function for the corresponding application. It is characterized by setting.
또한, 본 발명의 실시예에 따른 상기 크래시 리포트 처리 서버는, 상기 크래시 리포트 기능을 오프하도록 제어하기 위한 오프 제어 정보를 응답 데이터로 생성할 시 상기 오프 제어 정보에 오프 유효 기간 정보도 포함시켜 생성하는 것을 특징으로 한다.In addition, the crash report processing server according to an embodiment of the present invention may generate off control information including off valid period information in the off control information when generating off control information for controlling to turn off the crash report function as response data. It is characterized by.
또한, 본 발명의 실시예에 따른 상기 사용자 단말기는, 상기 크래시 리포트 처리 서버로부터 상기 응답 데이터를 수신하면, 수신한 응답 데이터에 포함된 오프 제어 정보를 확인하여 해당 어플리케이션에 대한 크래시 리포트 기능을 오프로 설정하고, 상기 오프 제어 정보에 오프 유효 기간 정보가 포함된 경우 해당 어플리케이션에 대한 크래시 리포트 기능을 상기 유효 기간 동안만 오프시키도록 설정하는 것을 특징으로 한다.Further, when the user terminal receives the response data from the crash report processing server, the user terminal checks off control information included in the received response data to turn off the crash report function for the corresponding application. And when the off validity period information is included in the off control information, setting the crash report function for the corresponding application to be turned off only during the validity period.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 크래시 리포트 처리를 위한 장치는 크래시 리포트 처리 서버와의 통신을 위한 인터페이스부; 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 오류 보고를 위한 크래시 리포트를 상기 통신 인터페이스를 통해 크래시 리포트 처리 서버로 전송하고, 상기 크래시 리포트 처리 서버로부터 오류 발생한 어플리케이션에 대한 크래시 리포트 기능을 오프하기 위한 오프 제어 정보를 포함하는 응답 데이터를 수신하면, 해당 어플리케이션에 대한 크래시 리포트 기능을 오프로 설정하는 크래시 리포트 에이젼트를 포함하는 것을 특징으로 한다.According to an embodiment of the present invention, an apparatus for crash report processing may include an interface unit for communication with a crash report processing server; Off control information for transmitting a crash report for error reporting to a crash report processing server through the communication interface when an abnormal termination occurs for a running application, and turning off the crash report function for an error application from the crash report processing server. When receiving the response data including a, characterized in that it comprises a crash report agent for setting the crash report function for the application off.
여기서, 크래시 리포트 에이젼트는 상기 수신한 응답 데이터에 포함된 오프 제어 정보를 확인하여 해당 어플리케이션에 대한 크래시 리포트 기능을 오프로 설정하고, 상기 오프 제어 정보에 오프 유효 기간 정보가 포함된 경우 해당 어플리케이션에 대한 크래시 리포트 기능을 상기 유효 기간 동안만 오프시키도록 설정하는 것을 특징으로 한다.Here, the crash report agent checks off control information included in the received response data to set the crash report function for the corresponding application to off, and when the off control information includes off valid period information for the corresponding application. Set the crash report function to be turned off only during the valid period.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 크래시 리포트 처리를 위한 장치는 적어도 하나의 사용자 단말기와의 통신을 위한 통신 인터페이스; 크래시 리포트 기능 오프 제어가 필요한 어플리케이션에 대한 설정 정보를 저장하는 저장 모듈; 상기 통신 인터페이스를 통해 상기 사용자 단말기로부터 크래시 리포트를 수신하면, 상기 수신한 크래시 리포트에 포함된 어플리케이션 부가정보와 콜스택을 참조하여 오류 발생한 어플리케이션이 크래시 리포트 기능 오프 제어가 필요한 어플리케이션으로 설정되어 있는지 판단하고, 판단 결과 상기 오류 발생한 어플리케이션에 대한 크래시 리포트 기능 오프 제어가 필요한 경우 상기 크래시 리포트 기능을 오프하도록 제어하기 위한 오프 제어 정보를 응답 데이터로 생성하여 상기 통신 인터페이스를 통해 상기 사용자 단말기로 전송하는 크래시 리포트 처리 모듈을 포함하는 것을 특징으로 한다.An apparatus for processing a crash report according to an embodiment of the present invention for achieving the above object includes a communication interface for communication with at least one user terminal; A storage module that stores setting information about an application requiring crash report function off control; When the crash report is received from the user terminal through the communication interface, the application side information and the call stack included in the received crash report are referred to to determine whether the error application is set as an application requiring the crash report function off control. If it is determined that the crash report function off control is required for the application in which the error occurs, the crash report process of generating off control information for controlling to turn off the crash report function as response data and transmitting the response data to the user terminal through the communication interface. It characterized in that it comprises a module.
또한, 본 발명에 따른 크래시 리포트 처리를 위한 장치에서 상기 크래시 리포트 처리 모듈은, 상기 크래시 리포트 기능을 오프하도록 제어하기 위한 오프 제어 정보를 응답 데이터로 생성할 시 상기 오프 제어 정보에 오프 유효 기간 정보도 포함시켜 생성하는 것을 특징으로 한다.Further, in the apparatus for crash report processing according to the present invention, the crash report processing module may further include off valid period information in the off control information when generating off control information for controlling to turn off the crash report function as response data. It is characterized by generating by including.
본 발명의 크래시 리포트 처리 시스템은 단말에 설치된 어플리케이션 비 정상 종료(Crash) 시 단말에서 서버로 전달되는 정보를 2단계 즉, 단말이 서버로 오류로그를 전달 보내는데 있어 필수단계(1차)와 옵션단계(2차)로 분리함으로써 네트워크와 트래픽(traffic)과 서버 시스템을 효율적으로 운영할 수 있는 이점이 있다.The crash report processing system of the present invention has two steps of information transmitted from the terminal to the server when an application crash is installed in the terminal, that is, a mandatory step (primary) and an optional step in transmitting an error log to the server. Separation (secondary) has the advantage of efficient operation of network, traffic and server system.
또한, 본 발명은 단말에 설치된 어플리케이션이 비 정상 종료(Crash) 될 때 어플리케이션의 종류/상태/오류필터에 따라, 단말이 어플리케이션의 오류 내용을 서버에 전달을 할 것인지 여부를 제어하여 서비스 운영의 유연성을 제공할 수 있는 이점이 있다.In addition, the present invention provides flexibility of service operation by controlling whether the terminal delivers the error content of the application to the server according to the type / status / error filter of the application when the application installed in the terminal is crashed. There is an advantage that can provide.
즉, 본 발명은 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 오버헤드 성격의 중복적인 단말로그를 보내지 않도록 하여 보다 효율적인 크래시 리포트를 할 수 있게 된다.In other words, the present invention enables a crash report for an application to be more efficiently crash report by not sending a duplicate terminal log of the overhead characteristics when the running application is abnormally terminated.
또한, 본 발명의 크래시 리포트 처리 시스템에 의하면, 사용자 단말기에 설치된 소정의 어플리케이션이 비정상적으로 종료하면, 어플리케이션에 내장된 크래시 에이젼트가 크래시 리포트 오류정보인 콜스택, 단말부가정보(단말모델명, OS버젼), 어플리케이션부가정보(어플리케이션명, 어플리케이션 버전정보), 기타 단말 로그를 크래시 리포트 처리 서버로 전송한다. 그러면, 크래시 리포트 처리 서버가 수신한 오류정보에서 어플리케이션 부가정보와 콜스택 정보를 참조하여 해당 어플리케이션에서 크래시 리포트 기능의 오프(Off)가 필요한지 여부를 판단하고, 오프가 필요하다고 판단된 경우에는 해당 어플리케이션에 대해 크래시 리포트 기능의 오프 정보를 응답 데이터에 생성한 후 사용자 단말기로 전송한다. 또한, 사용자 단말기가 이와 같은 응답 데이터를 수신하여, 응답 데이터에 포함된 크래시 리포트 기능 제어 정보를 확인하고, 제어 정보가 크래시 리포트 기능을 오프시키기 위한 정보가 포함되어 있다면 크래시 리포트 기능을 오프시킨다. 또한, 이와 같이 크래시 리포트 기능이 오프되면, 어플리케이션 비정상 종료 이벤트가 발생해도 크래시 리포트를 전송하지 않는다. 또한, 만약 크래시 리포트 기능 제어 정보에 오프에 대한 유효 기간 정보가 포함되어 있다면, 사용자 단말기는 설정된 유효 기간 동안만 크래시 리포트 기능을 오프시킨다. 즉, 사용자 단말기(100)는 설정된 유효 기간이 만료하면 다시 크래시 리포트 기능을 온 시키고, 이후 소정 어플리케이션에 대한 비정상 종료 이벤트가 발생할 시 비정상 종료 로그를 생성하여 크래시 리포트 처리 서버로 전송한다.In addition, according to the crash report processing system of the present invention, when a predetermined application installed in a user terminal terminates abnormally, the crash agent embedded in the application is crash stack error information, call stack and terminal additional information (terminal model name, OS version). The application additional information (application name, application version information) and other terminal logs are transmitted to the crash report processing server. Then, it is determined whether the crash report function needs to be turned off in the corresponding application by referring to the application additional information and the call stack information from the error information received by the crash report processing server, and if the off application is determined to be off, Off information of the crash report function is generated in the response data and then transmitted to the user terminal. In addition, the user terminal receives such response data, confirms crash report function control information included in the response data, and turns off the crash report function if the control information includes information for turning off the crash report function. In addition, if the crash report function is turned off in this manner, even if an application abnormal termination event occurs, the crash report is not transmitted. In addition, if the crash report function control information includes the valid period information for the off, the user terminal turns off the crash report function only for the set valid period. That is, the user terminal 100 turns on the crash report function again when the set validity period expires, and then generates an abnormal termination log and transmits it to the crash report processing server when an abnormal termination event for a predetermined application occurs.
이렇게 함으로써, 특정 단말의 특성 혹은 애플리케이션의 잘못된 배포 등으로 애플리케이션의 비정상 종료가 특정 단말모델 혹은 모든 단말에서 빈번히 과다 크래시 및 반복적 크래시에 따라 단말기를 사용할 수 없는 상황, 그리고 이에 따른 트래픽 과다로 크래시 리포트 서버의 셧다운 혹은 크래시 리포트 서버 성능 저하의 문제점을 해결할 수 있다.By doing so, the abnormal termination of the application due to the characteristics of the specific terminal or the wrong distribution of the application, the terminal can not be used due to frequent crashes and repetitive crashes in a specific terminal model or all terminals, and the crash report server due to excessive traffic This can solve the problem of shutdown or crash report server performance.
또한, 비정상 종료가 과다하게 그리고 빈번하게 발생하는 경우 단말과 크래시 리포트 서버에 정상적으로 서비스가 어려운 장애상황이 발생할 수 있음에 따라, 크래시 리포트 서버에서 크래시 리포트 기능을 오프(off) 시키는 기능을 제공하여 단말과 서버의 가용성을 높일 수 있게 된다.In addition, when abnormal termination occurs excessively and frequently, the terminal and the crash report server may be in a trouble situation in which service is difficult, so that the crash report server may provide a function of turning off the crash report function. This will increase the availability of servers and servers.
즉, 사용자 단말기의 어플리케이션에서 비정상 오류가 지나치게 많이 발생하는 경우 서버에 과부하를 줌에 따라 정상적인 서버 운영이 되지 못하는 문제점을 크래시 리포트 기능 온(on)/오프(off) 제어 방식을 도입함으로써 과부하 이슈를 사전에 예방할 수 있는 이점이 있다.In other words, if an excessive number of abnormal errors occur in the application of the user terminal, the crash report function on / off control method is introduced. There is an advantage that can be prevented in advance.
도 1은 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템 구조를 개략적으로 설명하기 위한 도면이다. 1 is a view for schematically explaining a crash report processing system structure according to an embodiment of the present invention.
도 2는 본 발명의 일 실시 예에 따른 크래시 리포트 처리 서버의 구조를 도시한 예시도이다. 2 is an exemplary diagram illustrating a structure of a crash report processing server according to an embodiment of the present invention.
도 3은 본 발명의 다른 실시 예에 따른 크래시 리포트 처리 서버의 구조를 도시한 예시도이다.3 is an exemplary view showing the structure of a crash report processing server according to another embodiment of the present invention.
도 4는 본 발명의 실시 예에 따른 사용자 단말의 주요 구성을 도시한 블록도이다.4 is a block diagram showing the main configuration of a user terminal according to an embodiment of the present invention.
도 5는 본 발명의 실시 예에 따른 크래시 리포트 처리 서버의 주요 구성을 도시한 블록도이다. 5 is a block diagram showing a main configuration of a crash report processing server according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정을 도시하는 흐름도이다.6 is a flowchart illustrating a crash report processing process in the crash report processing system according to an embodiment of the present invention.
도 7은 본 발명의 다른 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정을 도시하는 흐름도이다.7 is a flowchart illustrating a crash report processing procedure in the crash report processing system according to another embodiment of the present invention.
도 8은 본 발명의 실시예에 따라 서버 관리 장치를 포함하는 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정을 도시하는 흐름도이다.8 is a flowchart illustrating a crash report processing procedure in the crash report processing system including a server management apparatus according to an embodiment of the present invention.
도 9는 본 발명의 일 실시 예에 따른 사용자 단말기에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.9 is a flowchart illustrating a process of processing a crash report in a user terminal according to an exemplary embodiment.
도 10은 본 발명의 일 실시 예에 따른 크래시 리포트 처리 서버에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.10 is a flowchart illustrating a process of processing a crash report in the crash report processing server according to an embodiment of the present invention.
도 11은 본 발명의 다른 실시 예에 따른 사용자 단말기에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.11 is a flowchart illustrating a process of processing a crash report in a user terminal according to another embodiment of the present invention.
도 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.
도 13은 본 발명의 또 다른 실시 예에 따른 크래시 리포트 처리 시스템에서 크래시 리포트 기능을 제어하기 위한 사용자 단말과 크래시 리포트 처리 서버 간에 송수신되는 신호의 흐름을 도시하는 흐름도이다.FIG. 13 is a flowchart illustrating a flow of signals transmitted and received between a user terminal and a crash report processing server for controlling a crash report function in a crash report processing system according to another exemplary embodiment of the present invention.
도 14는 본 발명의 또 다른 실시 예에 따른 사용자 단말기에서 크래시 리포트 기능을 제어하기 위한 과정을 나타내는 흐름도이다.14 is a flowchart illustrating a process for controlling a crash report function in a user terminal according to another embodiment of the present invention.
도 15는 본 발명의 또 다른 실시 예에 따른 크래시 리포트 처리 서버에서 크래시 리포트 기능을 제어하기 위한 과정을 나타내는 흐름도이다.15 is a flowchart illustrating a process for controlling a crash report function in a crash report processing server according to another embodiment of the present invention.
도 16은 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템에서 크래시 리포트 처리를 위한 장치의 오퍼레이팅 환경을 도시한 도면이다. 16 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 To make the features and advantages of the present invention more clear, the present invention will be described in more detail with reference to specific embodiments shown in the accompanying drawings.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.However, in the following description and the accompanying drawings, detailed descriptions of well-known functions or configurations that may obscure the subject matter of the present invention will be omitted. In addition, it should be noted that like elements are denoted by the same reference numerals as much as possible throughout the drawings.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms or words used in the following description and drawings should not be construed as being limited to the ordinary or dictionary meanings, and the inventors may appropriately define the concept of terms for explaining their own invention in the best way. It should be interpreted as meaning and concept corresponding to the technical idea of the present invention based on the principle that the present invention. Therefore, the embodiments described in the present specification and the configuration shown in the drawings are only the most preferred embodiments of the present invention, and do not represent all of the technical ideas of the present invention, and various alternatives may be substituted at the time of the present application. It should be understood that there may be equivalents and variations.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.In addition, terms including ordinal numbers, such as first and second, are used to describe various components, and are used only to distinguish one component from another component, and to limit the components. Not used. For example, without departing from the scope of the present invention, the second component may be referred to as the first component, and similarly, the first component may also be referred to as the second component.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.In addition, when a component is referred to as being "connected" or "connected" to another component, it means that it may be connected or connected logically or physically. In other words, although a component may be directly connected or connected to other components, it should be understood that other components may exist in the middle, and may be connected or connected indirectly.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In addition, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In addition, the terms "comprises" or "having" described herein are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or the same. It is to be understood that the present invention does not exclude in advance the possibility of the presence or the addition of other features, numbers, steps, operations, components, parts, or a combination thereof.
아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.In addition, embodiments within the scope of the present invention include computer readable media having or conveying computer executable instructions or data structures stored on the computer readable medium. Such computer readable media can be any available media that can be accessed by a general purpose or special purpose computer system. By way of example, such computer readable media may be in the form of RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or computer executable instructions, computer readable instructions or data structures. And may include, but are not limited to, any other medium that can be used to store or deliver certain program code means, and can be accessed by a general purpose or special purpose computer system. .
이하의 설명 및 특허 청구 범위에서, "네트워크"는 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 (유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다.In the following description and claims, “network” is defined as one or more data links that enable the transfer of electronic data between computer systems and / or modules. When information is transmitted or provided to a computer system via a network or other (wired, wireless, or a combination of wired or wireless) communication connections, this connection can be understood as a computer-readable medium. Computer-readable instructions include, for example, instructions and data that cause a general purpose or special purpose computer system to perform a particular function or group of functions. The computer executable instructions may be, for example, binary, intermediate format instructions such as assembly language, or even source code.
아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서 실시될 수 있다. 본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.In addition, the present invention relates to personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile phones, PDAs, pagers It may be practiced in a network computing environment having various types of computer system configurations, including (pager) and the like. The invention may also be practiced in distributed system environments where both local and remote computer systems that are linked via wired networks, wireless data links, or combinations of wired and wireless data links perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.
이제, 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치에 대하여 도면을 참조하여 상세하게 설명하도록 한다.Now, a crash report processing system and an apparatus for crash report processing in the system according to an embodiment of the present invention will be described in detail with reference to the drawings.
먼저, 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템 구조에 대해 개략적으로 설명하도록 한다.First, a crash report processing system structure according to an embodiment of the present invention will be described in brief.
도 1은 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템 구조를 개략적으로 설명하기 위한 도면이다.1 is a view for schematically explaining a crash report processing system structure according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템은 어플리케이션 서비스 제공을 지원하는 복수의 사용자 단말기(100), 크래시 리포트 처리 서버(200)를 포함하여 구성될 수 있다. 그리고, 복수의 사용자 단말기(100), 크래시 리포트 처리 서버(200) 간의 정보의 송수신을 지원하는 통신망(300)을 포함하여 구성될 수 있다.Referring to FIG. 1, the crash report processing system according to an exemplary embodiment of the present invention may include a plurality of user terminals 100 and a crash report processing server 200 supporting application service provision. The communication network 300 may be configured to support transmission and reception of information between the plurality of user terminals 100 and the crash report processing server 200.
이와 같은 구성을 가지는 본 발명의 크래시 리포트 처리 시스템은 사용자 단말기(100)가 특정 앱을 구동하는 과정에서 비정상 종료가 발생하는 경우, 해당 상황에 대한 크래시 리포트를 수집하고, 이를 크래시 리포트 처리 장치(200)에 제공하도록 지원한다.The crash report processing system of the present invention having such a configuration collects a crash report of a corresponding situation when an abnormal termination occurs while the user terminal 100 runs a specific app, and the crash report processing apparatus 200 To be provided).
이때 크래시 리포트 처리 시스템은 사용자 단말기(100)에 장착된 단말 플랫폼에서 구동 중이던 앱의 크래시 발생을 확인하고, 해당 시점의 앱 구동과 관련된 크래시 리포트를 수집하여 제공하도록 지원한다.At this time, the crash report processing system checks the occurrence of the crash of the app running on the terminal platform mounted on the user terminal 100, and supports to collect and provide a crash report related to driving the app at the time.
특히 본 발명의 일 실시 예에 따른 크래시 리포트 처리 시스템은 사용자 단말기(100)가 어플리케이션 비정상 종료 발생 시 종래와 같이 콜스택, 단말 부가정보, 앱 부가 정보, 단말 로그 정보를 모두 전송하는 것이 아니라, 1차 데이터로 콜스택, 단말 부가정보, 앱 부가 정보를 전송한다. 이후, 크래시 리포트 처리 서버(200)가 1차 데이터를 기반으로 2차 데이터가 필요한 지를 판단하고, 필요할 경우 사용자 단말기(100)로 2차 데이터를 요청한다. 그러면, 사용자 단말기(100)가 크래시 리포트 처리 서버(200)로부터 2차 데이터인 단말 로그 정보가 요청되면, 사용자 단말기(100)가 단말 로그 정보를 크래시 리포트 처리 서버(200)로 전송한다.In particular, the crash report processing system according to an embodiment of the present invention does not transmit all of the call stack, terminal additional information, app additional information, and terminal log information when the user terminal 100 abnormally terminates an application, as in the prior art. The call stack, terminal additional information, and app additional information are transmitted as difference data. Thereafter, the crash report processing server 200 determines whether secondary data is required based on the primary data, and requests the secondary data from the user terminal 100 if necessary. Then, when the terminal log information, which is secondary data, is requested from the crash report processing server 200, the user terminal 100 transmits the terminal log information to the crash report processing server 200.
또한, 본 발명의 다른 실시 예에 따른 크래시 리포트 처리 시스템에서 사용자 단말기(100)는 어플리케이션 비정상 종료 발생 시 종류/상태/필터를 참조하여 선택적으로 오류 전송 여부를 판단한다. 판단결과 오류 전송이 필요하다고 판단된 경우 사용자 단말기(100)는 크래시 리포트를 크래시 리포트 처리 서버(200)로 전송한다.In addition, in the crash report processing system according to another exemplary embodiment of the present invention, when an abnormal termination of an application occurs, the user terminal 100 selectively determines whether an error is transmitted by referring to a type / status / filter. If it is determined that error transmission is necessary, the user terminal 100 transmits a crash report to the crash report processing server 200.
이를 위해 사용자 단말기(100)는 비정상 종료 발생 시 크래시 리포트 처리 서버(200)로 비정상 종료 로그 전송 여부에 대한 정책을 요청한다. 이후, 크래시 리포트 처리 서버(200)로부터 비정상 종료 로그 전송 여부에 대한 정책을 수신하면, 수신한 정책과 비정상 종료 시점의 오류 정보를 비교하여 정책에 부합하면 크래시 정보 즉, 오류 로그를 전송하고, 그렇지 않으면 오류 로그를 전송하지 않고 세션을 종료한다.To this end, when the abnormal termination occurs, the user terminal 100 requests a policy on whether the abnormal termination log is transmitted to the crash report processing server 200. Subsequently, when receiving a policy on whether to send an abnormal termination log from the crash report processing server 200, the received policy is compared with the error information at the abnormal termination time, and if the policy is met, the crash information, that is, the error log is transmitted. If not, terminate the session without sending an error log.
여기서, 비정상 종료 로그 전송 여부에 대한 정책은 어플리케이션 별로 설정된다.Here, a policy regarding whether to send an abnormal termination log is set for each application.
먼저, 종류에 있어서는 액티비티(Activity), 브로드캐스트 리시버인 경우에는 전송하도록 설정하고, 서비스이거나 컨텐츠 프로바이더인 경우에는 전송하지 않도록 설정한다.First, in the case of an activity, a broadcast receiver is set to transmit, and in the case of a service or a content provider, it is set not to transmit.
그리고, 상태에 있어서는 포어 그라운드이면 전송하도록 설정하고, 포어 그라운드가 아니라면 전송하지 않도록 설정한다.In the state, it is set to transmit if it is foreground, and it is set not to transmit unless it is foreground.
또한, 필터에 있어서는 단말 플랫폼이 야기한 특정 오류 리스트에 포함되는 경우에는 전송하도록 설정한다.In addition, the filter is set to transmit when included in the specific error list caused by the terminal platform.
상기와 같이 전송 정책이 설정될 수 있고, 이에 한정되는 것은 아니고 조건은 추가 및 삭제 가능할 것이다.As described above, the transmission policy may be set, but the present invention is not limited thereto, and the condition may be added and deleted.
또한, 연산 공식은 종류와 상태가 전송하도록 설정된 조건에 해당되는 경우에만 사용자 단말기(100)가 오류 로그를 크래시 리포트 처리 서버(200)로 전송하도록 하며, 단 필터에 명시된 오류 리스트는 사용자 단말기(100)에서 오류가 발생하더라고 오류 로그를 전송하지 않도록 한다.In addition, the operation formula causes the user terminal 100 to transmit the error log to the crash report processing server 200 only when the type and state correspond to a condition set to be transmitted, except that the error list specified in the filter is the user terminal 100. ) Do not send an error log even if an error occurs.
본 발명의 또 다른 실시 예에 따른 크래시 리포트 처리 시스템은 사용자 단말기(100)에 설치된 소정의 어플리케이션이 비정상적으로 종료하면, 어플리케이션에 내장된 크래시 에이젼트가 크래시 리포트 오류정보인 콜스택, 단말부가정보(단말모델명, OS버젼), 어플리케이션부가정보(어플리케이션명, 어플리케이션 버전정보), 기타 단말 로그를 크래시 리포트 처리 서버(200)로 전송한다.In a crash report processing system according to another embodiment of the present invention, if a predetermined application installed in the user terminal 100 ends abnormally, the crash agent embedded in the application is crash report error information, call stack and terminal additional information (terminal). The model name, OS version), application additional information (application name, application version information), and other terminal logs are transmitted to the crash report processing server 200.
그러면, 크래시 리포트 처리 서버(200)는 수신한 오류정보에서 어플리케이션 부가정보와 콜스택 정보를 참조한다. 만약, 서버 관리자에 의해 해당 어플리케이션에서 크래시 리포트 기능의 오프(Off)가 필요하다고 설정되어 있는 경우에는 크래시 리포트 처리 서버(200)는 해당 어플리케이션에 대해 크래시 리포트 기능의 오프 정보를 응답 데이터에 생성한 후 사용자 단말기(100)로 전송한다.Then, the crash report processing server 200 refers to the application additional information and the call stack information from the received error information. If it is set by the server administrator that the crash report function needs to be turned off in the corresponding application, the crash report processing server 200 generates the crash report function off information for the corresponding application in the response data. Transmit to the user terminal 100.
이때, 응답 데이터에는 크래시 리포트 기능 오프에 대한 유효 기간 정보가 포함될 수 있다. 이러한 유효 기간 정보는 오류에 따라 다양하게 설정할 수도 있을 것이다.In this case, the response data may include valid period information for turning off the crash report function. Such valid period information may be set variously according to an error.
사용자 단말기(100)가 이와 같은 응답 데이터를 수신하면, 응답 데이터에 포함된 크래시 리포트 기능 제어 정보를 확인하고, 제어 정보가 크래시 리포트 기능을 오프시키기 위한 정보가 포함되어 있다면 크래시 리포트 기능을 오프시킨다. 또한, 이와 같이 크래시 리포트 기능이 오프되면, 어플리케이션 비정상 종료 이벤트가 발생해도 크래시 리포트를 전송하지 않는다.When the user terminal 100 receives the response data, the user terminal 100 checks the crash report function control information included in the response data, and if the control information includes information for turning off the crash report function, the crash report function is turned off. In addition, if the crash report function is turned off in this manner, even if an application abnormal termination event occurs, the crash report is not transmitted.
또한, 만약 크래시 리포트 기능 제어 정보에 오프에 대한 유효 기간 정보가 포함되어 있다면, 사용자 단말기(100)는 설정된 유효 기간 동안만 크래시 리포트 기능을 오프시킨다.In addition, if the crash report function control information includes the valid period information for the off, the user terminal 100 turns off the crash report function only for the set valid period.
즉, 사용자 단말기(100)는 설정된 유효 기간이 만료하면 다시 크래시 리포트 기능을 온 시키고, 이후 소정 어플리케이션에 대한 비정상 종료 이벤트가 발생할 시 비정상 종료 로그를 생성하여 크래시 리포트 처리 서버(200)로 전송한다.That is, the user terminal 100 turns on the crash report function again when the set validity period expires, and then generates an abnormal termination log and transmits it to the crash report processing server 200 when an abnormal termination event for a predetermined application occurs.
이하, 본 발명의 실시 예에서는 사용자 단말기(100)에서 크래시 리포트를 크래시 리포트 처리 서버(200)로 어떤 방식으로 전송하고, 크래시 리포트 처리 서버(200)가 수신한 크래시 리포트를 어떻게 처리할 지에 따라 제1 및 제2 실시 예로 구분하여 설명하도록 한다.Hereinafter, according to an embodiment of the present invention, the crash report is transmitted from the user terminal 100 to the crash report processing server 200, and the crash report received by the crash report processing server 200 may be processed according to how. The description will be made separately from the first and second embodiments.
그러면, 도 1을 참조하여 각 구성요소에 대해 개략적으로 설명하도록 한다.Then, with reference to Figure 1 will be described schematically for each component.
먼저, 본 발명의 사용자 단말기(100)는 사용자의 조작에 따라 통신망(300)을 경유하여 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미한다. 이러한 사용자 단말기(100)는 통신망(300)을 통해 음성 또는 데이터 통신을 수행할 수 있으며, 크래시 리포트 처리 서버(200)에 접근하여 크래시 리포트 처리 서버(200)가 전송하는 정보를 수신하고, 어플리케이션에 대한 크래시 리포트를 크래시 리포트 처리 서버(200)로 전송할 수 있다. 이를 위한 본 발명의 사용자 단말기(100)는 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다.First, the user terminal 100 of the present invention refers to a user's device capable of transmitting and receiving various data via the communication network 300 according to the user's operation. The user terminal 100 may perform voice or data communication through the communication network 300, access the crash report processing server 200, receive information transmitted by the crash report processing server 200, and transmit the information to the application. The crash report may be sent to the crash report processing server 200. The user terminal 100 of the present invention for this purpose may include a browser for transmitting and receiving information, a memory for storing programs and protocols, a microprocessor for executing and controlling various programs, and the like.
특히, 본 발명의 실시 예에 따른 사용자 단말기(100)는 통신망(300)을 거쳐 사용자 단말기(100)는 통신망(300)을 통하여 크래시 리포트 처리 서버(200) 접속을 수행하고, 크래시 리포트 처리 서버(200)에 크래시 리포트를 제공하는 구성이다.In particular, the user terminal 100 according to an embodiment of the present invention via the communication network 300, the user terminal 100 performs the crash report processing server 200 through the communication network 300, the crash report processing server ( 200) to provide a crash report.
이러한 사용자 단말기(100)는 우선적으로 통신망(300)에 접속된 앱 제공 장치(도면 미도시.) 예컨대 앱 스토어를 제공하는 앱 스토어 지원 장치에 접속을 수행하고 해당 앱 스토어 지원 장치로부터 앱을 수신하여 설치할 수 있다.The user terminal 100 first accesses an app providing device (not shown) connected to the communication network 300, for example, an app store supporting device that provides an app store, and receives an app from the app store supporting device. Can be installed.
또한 사용자 단말기(100)는 제작 과정에서 디폴트로 삽입되는 앱들을 설치하고, 사용자 요청에 따라 특정 앱들의 활성화 및 그에 따른 사용자 기능 제공을 지원한다. 즉, 본 발명의 사용자 단말기(100)는 크게 통신망(300)을 통하여 특정 앱 스토어 지원 장치가 제공하여 설치한 앱들 및 단말기 제작 과정에서 제공된 앱들에 대한 크래시 리포트 수집과 제공을 지원할 수 있다.In addition, the user terminal 100 installs apps that are inserted by default in the production process, and supports activation of specific apps and the provision of user functions according to user requests. That is, the user terminal 100 of the present invention may support collecting and providing crash reports for apps provided and installed by a specific app store supporting device through the communication network 300 and apps provided in the terminal manufacturing process.
이때 일 실시예에 따라 사용자 단말기(100)는 어플리케이션 비정상 종료 발생 시 종래와 같이 콜스택, 단말 부가정보, 앱 부가 정보, 단말 로그 정보를 모두 전송하는 것이 아니라, 1차 데이터로 콜스택, 단말 부가정보, 앱 부가 정보를 전송한다. 이후, 크래시 리포트 처리 서버(200)로부터 필요에 따라 2차 데이터인 단말 로그 정보가 요청되면, 사용자 단말기(100)가 단말 로그 정보를 크래시 리포트 처리 서버(200)로 전송한다.In this case, according to an exemplary embodiment, when an abnormal termination of an application occurs, the user terminal 100 does not transmit all of the call stack, the terminal additional information, the application additional information, and the terminal log information as in the related art. Information, app additional information. Subsequently, when terminal log information, which is secondary data, is requested from the crash report processing server 200, the user terminal 100 transmits the terminal log information to the crash report processing server 200.
또한, 다른 실시예에 따라 사용자 단말기(100)는 어플리케이션 비정상 종료 발생 시 종류/상태/필터를 참조하여 선택적으로 오류 전송 여부를 판단한다. 판단결과 오류 전송이 필요하다고 판단된 경우 사용자 단말기(100)는 크래시 리포트를 크래시 리포트 처리 서버(200)로 전송한다.In addition, according to another exemplary embodiment, the user terminal 100 selectively determines whether an error is transmitted by referring to a type / state / filter when an application abnormal termination occurs. If it is determined that error transmission is necessary, the user terminal 100 transmits a crash report to the crash report processing server 200.
본 발명의 또 다른 실시 예에 따라 사용자 단말기(100)는 어플리케이션 비정상 종료 발생 시 콜스택, 단말 부가정보, 앱 부가 정보, 단말 로그 정보를 크래시 리포트 처리 서버(200)로 전송한다.According to another embodiment of the present invention, the user terminal 100 transmits a call stack, terminal additional information, app additional information, and terminal log information to the crash report processing server 200 when an application abnormal termination occurs.
사용자 단말기(100)는 실행 중인 어플리케이션 비 정상 종료 이벤트가 발생하면, 오류 정보를 크래시 리포트 처리 서버(200)로 전송한다. 이때, 오류 정보는 크래시 리포트로서, 콜스택, 단말 모델명, OS 버전을 포함하는 단말 부가정보, 어플리케이션명, 어플리케이션 버전정보를 포함하는 어플리케이션 부가정보, 기타 단말 로그를 포함한다.The user terminal 100 transmits error information to the crash report processing server 200 when an abnormal application termination event is executed. In this case, the error information is a crash report and includes a call stack, a terminal model name, terminal additional information including an OS version, an application name, application additional information including application version information, and other terminal logs.
이후, 사용자 단말기(100)는 크래시 리포트 처리 서버(200)로부터 응답 데이터가 수신되는지 확인한다. 만약, 크래시 리포트 처리 서버(200)로부터 응답 데이터가 수신되면, 수신한 응답 데이터 내에 크래시 리포트 기능 제어 정보로 오프 정보가 포함되어 있는지 판단한다.Thereafter, the user terminal 100 checks whether the response data is received from the crash report processing server 200. If response data is received from the crash report processing server 200, it is determined whether the crash information includes the off information as the crash report function control information.
만약, 크래시 리포트 기능 제어 정보로 오프 정보가 포함되어 있다면, 사용자 단말기(100)는 오프 정보에 오프에 대한 유효 기간이 포함되어 있는지도 판단한다.If the crash report function control information includes the off information, the user terminal 100 also determines whether the off information includes the valid period for the off.
판단 결과 유효 기간에 대한 정보가 포함되어 있으면, 사용자 단말기(100)는 크래시 리포트 기능을 설정된 유효 기간 동안만 오프 시키고, 유효 기간이 지나면 크래시 리포트 기능을 다시 온으로 설정한다. As a result of the determination, if the information on the valid period is included, the user terminal 100 turns off the crash report function only for the set valid period, and sets the crash report function to on again after the valid period expires.
또한, 판단 결과 유효 기간에 대한 정보가 포함되어 있지 않으면, 사용자 단말기(100)는 크래시 리포트 기능을 오프로 설정한다.In addition, if the determination result does not include the information on the valid period, the user terminal 100 sets the crash report function to off.
이후, 만약 크래시 리포트 처리 서버(200)로부터 크래시 리포트 기능을 온 시키기 위한 제어를 위한 데이터가 수신되면, 사용자 단말기(100)는 오프된 크래시 리포트 기능을 온으로 설정할 것이다.Thereafter, if data for control for turning on the crash report function is received from the crash report processing server 200, the user terminal 100 will set the crash report function turned off.
이러한, 사용자 단말기(100)의 크래시 리포트 전송과 관련된 설명은 도 4를 참조하여 보다 상세히 설명하기로 한다.Such a description related to the crash report transmission of the user terminal 100 will be described in more detail with reference to FIG. 4.
이러한 본 발명의 사용자 단말기(100)는 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 사용자 단말기(100)는 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수도 있다.The user terminal 100 of the present invention may be implemented in various forms. For example, the user terminal 100 described herein may be a mobile terminal such as a smart phone, a tablet PC, a personal digital assistant (PDA), a portable multimedia player (PMP), or an MP3 player. Of course, a fixed terminal such as a smart TV, a desktop computer, or the like may be used.
또한, 본 발명의 사용자 단말기(100)는 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 사용자 단말기(100)로 사용될 수 있으며, 통신망(300)을 통해 크래시 리포트 처리 서버(200)와 정보를 송수신하면, 어플리케이션을 실행할 수 있고, 어플리케이션 실행 중 비정상 종료 시 크래시 리포트를 상기 크래시 리포트 처리 서버(200)로 전송할 수 있는 장치라면, 그 어떠한 장치도 본 발명의 실시 예에 따른 사용자 단말기(100)로 이용될 수 있다. In addition, the user terminal 100 according to the convergence (convergence) trend of the digital device of the present invention can not enumerate all because the variations of the mobile device is very diverse, but the unit equivalent to the above-mentioned units in the present invention It can be used as a user terminal according to the 100, and send and receive information with the crash report processing server 200 through the communication network 300, the application can be executed, the crash report processing server when the abnormal termination during the application execution If the device can transmit to the device 200, any device may be used as the user terminal 100 according to an embodiment of the present invention.
크래시 리포트 처리 서버(200)는 사용자 단말기(100)로부터 수신한 크래시 리포트를 처리하는 서버로, 통신망(300)을 통하여 적어도 하나의 사용자 단말기(100) 접속을 지원하고 사용자 단말기(100)가 제공하는 크래시 리포트를 저장 및 관리하고 관리자 요청에 따라 출력하도록 지원하는 구성이다.The crash report processing server 200 is a server that processes a crash report received from the user terminal 100. The crash report processing server 200 supports access to at least one user terminal 100 through the communication network 300 and is provided by the user terminal 100. This configuration supports storing and managing crash reports and outputting them upon administrator request.
특히, 본 발명의 일 실시 예에 따른 크래시 리포트 처리 서버(200)는 사용자 단말기(100)로부터 1차 데이터인 콜스택, 단말 부가정보, 어플리케이션 부가정보가 수신되면, 1차 데이터를 기반으로 해당 오류가 신규 오류인지 아니면 기존에 등록된 오류인지를 판단한다. 이후, 판단 결과 만약, 신규 오류인 경우에는 크래시 리포트 처리 서버(200)는 사용자 단말기(100)로 2차 데이터를 요청하고, 등록 오류의 경우에는 사용자 단말기(100)로 세션 종료를 요청한다.In particular, when the crash report processing server 200 according to an embodiment of the present invention receives the primary data call stack, terminal additional information, and application additional information from the user terminal 100, the corresponding error is based on the primary data. Determines whether is a new error or an existing error. Subsequently, as a result of the determination, if there is a new error, the crash report processing server 200 requests the secondary data to the user terminal 100 and requests the end of the session to the user terminal 100 in the case of a registration error.
또한, 본 발명의 다른 실시 예에 따른 크래시 리퍼트 처리 서버(200)는 사용자 단말기(100)로부터 비정상 종료로그 전송여부에 대한 정책 요청이 있으면, 미리 저장된 정책을 사용자 단말기(100)로 전송한다.In addition, the crash repert processing server 200 according to another embodiment of the present invention transmits a pre-stored policy to the user terminal 100 when there is a policy request for whether or not the abnormal termination log is transmitted from the user terminal 100.
그러면, 크래시 리포트 처리 서버(200)는 사용자 단말기(100)로부터 정책에 부합한 경우의 오류에 대해서만 크래시 리포트를 수신하게 될 것이다.Then, the crash report processing server 200 will receive a crash report only for errors in the case of meeting the policy from the user terminal 100.
본 발명의 또 다른 실시 예에 따른 크래시 리포트 처리 서버(200)는 사용자 단말(100)로부터 오류 정보가 수신되면, 오류 정보 내에 포함된 앱 부가 정보와 콜스택 정보를 참조하여 리포트 기능 오프가 필요한지 여부를 확인한다. 이를 위해 크래시 리포트 처리 서버(200)는 리포트 기능 오프가 필요한지 여부를 판단하기 위한 기준 정보를 저장할 것이다.If the crash report processing server 200 according to another embodiment of the present invention receives error information from the user terminal 100, whether the report function is turned off by referring to the application additional information and the call stack information included in the error information. Check. To this end, the crash report processing server 200 will store reference information for determining whether the report function is off.
이후, 크래시 리포트 처리 서버(200)는 확인 결과 크래시 리포트 기능 오프가 필요하다고 판단한 경우 크래시 리포트 기능 제어 정보로 오프 정보를 응답 데이터에 포함시켜 생성한다.Thereafter, when the crash report processing server 200 determines that the crash report function is required to be turned off, the crash report processing server 200 includes the off information as response data and generates the crash report function control information.
크래시 리포트 처리 서버(200)는 이와 같이 생성된 응답 데이터를 사용자 단말기(100)로 전송한다.The crash report processing server 200 transmits the response data generated in this way to the user terminal 100.
하지만, 판단 결과 크래시 리포트 기능 오프가 필요하지 않다고 판단되면, 크래시 리포트 처리 서버(200)는 일반적인 오류 처리 동작을 수행한다.However, if it is determined that the crash report function is not necessary, the crash report processing server 200 performs a general error processing operation.
또한, 크래시 리포트 처리 서버(200)는 크래시 리포트 기능 오프로 제어한 사용자 단말기들에 대한 정보를 별도로 관리하고, 장애 상황 또는 로드가 미리 설정된 기준 이하가 되면 사용자 단말기들로 크래시 리포트 기능을 다시 온으로 설정하기 위한 제어 정보를 포함하는 데이터를 전송하여 크래시 리포트 기능을 온 시킬 수도 있을 것이다.In addition, the crash report processing server 200 separately manages information on user terminals controlled by the crash report function off, and turns the crash report function back on to the user terminals when a failure situation or a load falls below a preset criterion. The crash report function may be turned on by transmitting data including control information for setting.
상술한 바와 같은 본 발명의 사용자 단말기(100), 크래시 리포트 처리 서버(200)의 주요 구성 및 보다 구체적인 동작 방법에 대해서는 후술하여 설명하도록 하며, 본 발명의 실시 예에 따른 사용자 단말기(100), 크래시 리포트 처리 서버(200)에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.The main configuration of the user terminal 100 and the crash report processing server 200 of the present invention as described above and a more specific operation method will be described later, and the user terminal 100 and the crash according to an embodiment of the present invention. The processor mounted in the report processing server 200 may process program instructions for executing the method according to the present invention. In one implementation, this processor may be a single-threaded processor, and in other implementations, the processor may be a multithreaded processor. Furthermore, the processor is capable of processing instructions stored on memory or storage devices.
아울러, 본 발명의 실시 예에 따른 통신망(300)은 크래시 리포트 처리 시스템의 각 구성들 간의 데이터 전달 및 신호 전달을 위한 통신 채널 형성을 지원할 수 있다. 즉 통신망(300)은 사용자 단말기(100)와 크래시 리포트 처리 서버(200)의 통신 채널을 형성하고, 사용자 단말기(100)와 크래시 리포트 처리 서버(200) 간의 데이터 송수신을 지원할 수 있다. 예컨대, 통신망(300)은 사용자 단말기(100)가 수집한 크래시 리포트를 크래시 리포트 처리 서버(200)로 전송할 수 있도록 지원한다.In addition, the communication network 300 according to an embodiment of the present invention may support the formation of a communication channel for data transmission and signal transmission between components of the crash report processing system. That is, the communication network 300 may establish a communication channel between the user terminal 100 and the crash report processing server 200, and may support data transmission and reception between the user terminal 100 and the crash report processing server 200. For example, the communication network 300 supports transmitting the crash report collected by the user terminal 100 to the crash report processing server 200.
여기서 사용자 단말기(100)가 제공하는 크래시 리포트는 크래시 리포트 처리 서버(200)의 별도 접속 과정이나 인증 과정의 수행 없이 푸시 타입으로 크래시 리포트 처리 서버(200)에 제공되도록 지원할 수 있다.Here, the crash report provided by the user terminal 100 may support the crash report processing server 200 to be provided in a push type without performing a separate connection process or an authentication process of the crash report processing server 200.
이러한 통신망(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 communication network 300 preferably uses a wireless communication method such as WLAN (Wireless LAN), Wi-Fi, Wibro, Wimax, High Speed Downlink Packet Access (HSDPA), but is not limited thereto. Depending on the system implementation, wired communication methods such as Ethernet, xDSL (ADSL, VDSL), Hybrid Fiber Coaxial Cable (HFC), Fiber to The Curb (FTTC), and Fiber To The Home (FTTH) It can also be used.
아울러, 본 발명의 통신망(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(미도시)와 연결하여 구성할 수도 있다.In addition, the communication network 300 of the present invention includes, for example, a plurality of access networks (not shown) and a core network (not shown), and may be configured to include an external network such as the Internet network (not shown). Here, the access network (not shown) is a connection network for performing wired and wireless communication with the user terminal 100, for example, a plurality of base stations such as a base station (BS), a base transceiver station (BTS), a NodeB, an eNodeB, and a BSC. (Base Station Controller), RNC (Radio Network Controller) may be implemented as a base station controller. In addition, as described above, the digital signal processing unit and the wireless signal processing unit, which are integrally implemented in the base station, are divided into digital units (hereinafter referred to as DUs and radio units (hereinafter referred to as RUs)). A plurality of RUs (not shown) may be respectively installed in a plurality of areas, and a plurality of RUs (not shown) may be connected to a centralized DU (not shown).
또한, 접속망(미도시)과 함께 모바일 망을 구성하는 코어망(미도시)은 접속망(미도시)과 외부 망, 예컨대, 인터넷망(미도시)을 연결하는 역할을 수행한다.In addition, the core network (not shown) constituting the mobile network together with the access network (not shown) serves to connect the access network (not shown) and the external network, for example, the 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 a main function for mobile communication services such as mobility control and switching between access networks (not shown), and includes circuit switching or packet switching. switching, and manages and controls the packet flow in the mobile network. In addition, the core network (not shown) manages inter-frequency mobility and performs a role for interworking with traffic in the access network (not shown) and the core network (not shown) and other networks such as the Internet network (not shown). It may be. The core network (not shown) further includes Serving GateWay (SGW), PDN GateWay (PGW), Mobile Switching Center (MSC), Home Location Register (HLR), Mobile Mobility Entity (MME), and Home Subscriber Server (HSS). It may be configured to include.
또한, 인터넷망(미도시)은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미하는 것으로, 크래시 리포트 처리 서버(200)와 연결되며, 크래시 리포트 처리 서버(200)로부터 제공되는 정보를 코어망(미도시) 및 접속망(미도시)을 거쳐 사용자 단말기(100)로 제공할 수 있으며, 사용자 단말기(100)로부터 제공되는 정보를 접속망(미도시) 및 코어망(미도시)을 거쳐 크래시 리포트 처리 서버(200)로 제공할 수도 있다. 그러나, 이에 한정되는 것은 아니며, 크래시 리포트 처리 서버(200)는 코어망(미도시)과 일체로 구현될 수도 있다. In addition, the Internet network (not shown) refers to a conventional public communication network, that is, a public network, in which information is exchanged according to the TCP / IP protocol, and is connected to the crash report processing server 200 and the crash report processing server 200. Information provided from the user terminal 100 may be provided to the user terminal 100 via a core network (not shown) and an access network (not shown), and information provided from the user terminal 100 may be provided to the user network 100 (not shown) and the core network (not shown). It may be provided to the crash report processing server 200 via the (not shown). However, the present invention is not limited thereto, and the crash report processing server 200 may be integrated with a core network (not shown).
또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.Further, in addition to the above-described communication method, it may include all other types of communication methods that are well known or developed in the future.
이하, 본 발명의 실시 예에 따른 크래시 리포트 처리 서버(200)의 구조에 대해 도 2 및 도 3을 참조하여 설명하도록 한다.Hereinafter, the structure of the crash report processing server 200 according to an embodiment of the present invention will be described with reference to FIGS. 2 and 3.
먼저 도 2를 참조하여 본 발명의 일 실시 예에 따른 크래시 리포트 처리 서버의 구조에 대하여 살펴보도록 한다.First, the structure of the crash report processing server according to an exemplary embodiment of the present invention will be described with reference to FIG. 2.
도 2는 본 발명의 일 실시 예에 따른 크래시 리포트 처리 서버의 구조를 도시한 예시도이다. 2 is an exemplary diagram illustrating 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 report processing server 200 of the present invention may include at least one crash report processing device 210 or 220 (hereinafter referred to as 200 if no separate classification is necessary). . In particular, the user terminal 100 according to the embodiment of the present invention is connected to the crash report processing apparatuses 210 and 220, and transmits a crash report to the crash report processing apparatuses 210 and 220 when abnormal termination of an application occurs. The crash report processing apparatuses 210 and 220 may provide a service for handling an error based on the received crash report.
보다 구체적으로 설명하면, 일 실시 예에 따른 동작은 크래시 리포트 처리 장치(210)에서 처리하도록 설정하고, 다른 실시 예에 따른 동작은 크래시 리포트 처리 장치(200)에서 처리하도록 설정할 수 있을 것이다.In more detail, an operation according to an exemplary embodiment may be set to be processed by the crash report processing apparatus 210, and an operation according to another exemplary embodiment may be set to be processed by the crash report processing apparatus 200.
한편 상술한 설명에서는 크래시 리포트 처리 서버(200)를 각각 분산된 처리 장치로 구분하여 설명하였으나 본 발명이 이에 한정되는 것은 아니다. 즉 본 발명의 크래시 리포트 처리 서버(200)는 하나의 정보 처리 장치로 구성될 수 있다.Meanwhile, in the above description, the crash report processing server 200 is described by being divided into distributed processing apparatuses, but the present invention is not limited thereto. That is, the crash report processing server 200 of the present invention may be configured as one information processing device.
다음으로, 도 3을 참조하여 본 발명의 다른 실시 예에 따른 크래시 리포트 처리 서버의 구조에 대하여 살펴보도록 한다.Next, the structure of the crash report processing server according to another embodiment of the present invention will be described with reference to FIG. 3.
도 3은 본 발명의 다른 실시 예에 따른 크래시 리포트 처리 서버의 구조를 도시한 예시도이다.3 is an exemplary view showing the 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)는 수신한 크래시 리포트를 기반으로 오류를 처리하는 서비스를 제공할 수 있게 된다. Referring to FIG. 3, the crash report processing server 200 of the present invention may be referred to as a server management device 230 and at least one crash report processing device 210 or 220 (or 200 if no separate classification is necessary). It may be configured to include. In particular, the user terminal 100 according to the embodiment of the present invention is connected to the crash report processing apparatuses 210 and 220, and transmits a crash report to the crash report processing apparatuses 210 and 220 when abnormal termination of an application occurs. The crash report processing apparatuses 210 and 220 may provide a service for handling an error based on the received crash report.
보다 구체적으로 설명하면, 서버 관리 장치(230)는 사용자 단말기(100)와 통신 연결되고, 사용자 단말기(100)로부터 수신되는 데이터가 크래시 리포트 인지 정책을 요구하는 데이터인지에 따라 제1 크래시 리포트 처리 장치(210) 또는 제2 크래시 리포트 처리 장치(220)로 데이터를 전달한다.More specifically, the server management apparatus 230 is connected to the user terminal 100 and the first crash report processing apparatus according to whether the data received from the user terminal 100 is a crash report or data requesting a policy. The data is transmitted to the 210 or the second crash report processing apparatus 220.
예를 들어, 사용자 단말기(100)로부터 수신되는 데이터가 크래시 리포트 데이터인 경우에는 제1 크래시 리포트 처리 장치(210)로 전달하고, 수신되는 데이터가 정책을 요구하는 데이터인 경우 제2 크래시 리포트 처리 장치(220)로 전달한다.For example, when the data received from the user terminal 100 is crash report data, the data is transmitted to the first crash report processing apparatus 210, and when the received data is data requesting a policy, the second crash report processing apparatus. Forward to 220.
이때, 제1 크래시 리포트 처리 장치(210)는 일실시 예에 따라 크래시 리포트를 처리하는 동작을 수행하고, 제2 크래시 리포트 처리 장치(220)는 다른 실시 예에 따른 크래시 리포트를 처리하는 동작을 수행할 것이다.In this case, the first crash report processing apparatus 210 performs an operation of processing a crash report, and the second crash report processing apparatus 220 performs an operation of processing a crash report according to another embodiment. something to do.
이상으로, 본 발명의 실시 예에 따른 크래시 리포트 처리 서버(200)에 대해 설명하였다.In the above, the crash report processing server 200 according to an embodiment of the present invention has been described.
이하, 본 발명의 실시 예에 따른 사용자 단말기(100)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.Hereinafter, the main configuration and operation method of the user terminal 100 according to an embodiment of the present invention.
도 4는 본 발명의 실시 예에 따른 사용자 단말기의 주요 구성을 도시한 블록도이다. 4 is a block diagram showing the main configuration of a user terminal according to an embodiment of the present invention.
도 4를 참조하여 설명하기에 앞서, 도 4은 본 발명의 실시 예에 따른 사용자 단말기(100)를 기능상의 관점에서 주요 구성만을 도시한 것으로, 사용자 입력을 위한 입력부(미도시), 데이터 출력을 위한 출력부(미도시) 등과 같이 더 많은 구성을 포함하여 구성될 수 있음에 유념해야 한다. Before describing with reference to FIG. 4, FIG. 4 illustrates only a main configuration of a user terminal 100 according to an embodiment of the present invention from a functional point of view, and includes an input unit (not shown) and data output for a user input. It should be noted that it may be configured to include more components, such as an output unit (not shown).
도 1 및 도 4를 참조하면, 본 발명의 실시 예에 따른 사용자 단말기(100)는 인터페이스부(110), 크래시 리포트 에이전트를 포함하는 앱(120) 및 단말 플랫폼(140)을 포함하여 구성될 수 있다. 도 4의 도면에는 도시하지 않았지만, 단말 플랫폼(140)은 앱 설치 관리 모듈을 포함할 수 있을 것이다.1 and 4, the user terminal 100 according to an exemplary embodiment of the present invention may include an interface unit 110, an app 120 including a crash report agent, and a terminal platform 140. have. Although not illustrated in FIG. 4, the terminal platform 140 may include an app installation management module.
이 중, 인터페이스부(110)는 크래시 리포트 처리 서버(200)와의 통신을 위한 구성이다.Among these, the interface unit 110 is a configuration for communication with the crash report processing server 200.
앱(120)은 앱 설치 요청 모듈(도면 미 도시)에 의하여 앱 스토어 지원 장치 등이 제공한 앱 설치 정보에 의하여 설치되거나 단말기 제작 당시 설계자에 의하여 설치된 앱이 될 수 있다.The app 120 may be installed by app installation information provided by an app store supporting device by an app installation request module (not shown) or may be an app installed by a designer at the time of manufacturing a terminal.
이러한 앱(120)은 실행 아이콘의 형태로 사용자 단말기(100)의 표시부(도면 미도시) 등에 제공될 수 있으며, 해당 실행 아이콘 선택을 위한 입력 이벤트가 발생하면, 단말 플랫폼(140)은 해당 입력 이벤트에 따른 앱(120)을 저장부(도면 미도시)에서 호출하여 활성화하도록 지원할 수 있다. 이때 단말 플랫폼(140)은 앱(120) 구동에 따른 신호의 처리와 입력 이벤트의 적용 및 그에 따른 화면 변화 등을 제어하여 표시부에 출력하도록 지원하며, 통신 기능이 필요한 앱인 경우 사용자 단말기(100)에 마련된 통신부를 활성화하도록 지원할 수 있다.The app 120 may be provided to a display unit (not shown) of the user terminal 100 in the form of an execution icon, and when an input event for selecting the execution icon occurs, the terminal platform 140 may input the corresponding event. App 120 according to the storage unit (not shown) can be supported by calling to activate. In this case, the terminal platform 140 controls the processing of the signal according to the driving of the app 120, the application of the input event, the screen change according to the control, etc., and outputs it to the display unit. It can support to activate the prepared communication unit.
이러한 앱(120)은 단말 플랫폼(140) 상에서 구동되는 과정 중 다양한 환경 조건 예컨대 통신 네트웍 상태 불량 등이나, 해당 앱(120) 구동을 위한 신호 처리 상의 인터럽트 불량 발생, 입력 이벤트 부하 등에 따라 비정상 종료될 수 있다.The app 120 may be abnormally terminated due to various environmental conditions such as a bad communication network state, an interrupt failure in signal processing for driving the app 120, an input event load, etc. during the process running on the terminal platform 140. Can be.
그러면 단말 플랫폼(140)은 앱(120)의 비정상 종료에 따른 콜스택 정보 및 시스템 로그 정보를 임시로 유지하도록 지원할 수 있다.Then, the terminal platform 140 may support to temporarily maintain the call stack information and system log information according to abnormal termination of the app 120.
한편 앱(120)이 비정상 종료되는 경우 앱(120) 내에 포함된 크래시 리포트 에이젼트(130)에서 해당 앱(120)의 비정상 종료에 대한 정보를 수집한다.Meanwhile, when the app 120 is abnormally terminated, the crash report agent 130 included in the app 120 collects information on abnormal termination of the app 120.
또한, 수집된 크래시 리포트는 인터페이스부(110)를 통해 크래시 리포트 처리 서버(200)에 제공할 수 있다.In addition, the collected crash report may be provided to the crash report processing server 200 through the interface unit 110.
이때, 일 실시 예에 따라 크래시 리포트 에이젼트(130)는 어플리케이션 비정상 종료 발생 시 종래와 같이 콜스택, 단말 부가정보, 앱 부가 정보, 단말 로그 정보를 모두 전송하는 것이 아니라, 1차 데이터로 콜스택, 단말 부가정보, 앱 부가 정보를 전송한다.In this case, according to an exemplary embodiment, when the application abnormal termination occurs, the crash report agent 130 does not transmit all of the call stack, the terminal additional information, the application additional information, and the terminal log information as in the prior art. Terminal additional information, app additional information is transmitted.
이후, 크래시 리포트 처리 서버(200)로부터 필요에 따라 2차 데이터인 단말 로그 정보가 요청되면, 크래시 리포트 에이젼트(130)는 단말 로그 정보를 크래시 리포트 처리 서버(200)로 전송한다.Subsequently, when terminal log information, which is secondary data, is requested from the crash report processing server 200, the crash report agent 130 transmits the terminal log information to the crash report processing server 200.
다른 실시 예에 따라 크래시 리포트 에이젼트(130)는 어플리케이션 비정상 종료 발생 시 크래시 리포트 처리 서버(200)로 비정상 종료로그 전송여부에 대한 정책을 요청하고, 상기 정책을 제공받는다. 이후, 크래시 리포트 에이젼트(130)는 제공받은 정책에 포함된 종류/상태/필터 및 연산공식을 참조하여 선택적으로 오류 전송 여부를 판단한다. 판단결과 오류 전송이 필요하다고 판단된 경우 크래시 리포트 에이젼트(130)는 크래시 리포트를 크래시 리포트 처리 서버(200)로 전송한다.According to another exemplary embodiment, the crash report agent 130 requests a policy on whether to send an abnormal termination log to the crash report processing server 200 when an application abnormal termination occurs, and receives the policy. Thereafter, the crash report agent 130 selectively determines whether to transmit an error with reference to the type / state / filter and calculation formula included in the provided policy. If it is determined that error transmission is necessary, the crash report agent 130 transmits the crash report to the crash report processing server 200.
본 발명의 또 다른 실시 예에 따라 크래시 리포트 에이젼트(130)는 실행 중인 어플리케이션 비 정상 종료 이벤트가 발생하면, 오류 정보를 크래시 리포트 처리 서버(200)로 전송한다. 이때, 오류 정보는 크래시 리포트로서, 콜스택, 단말 모델명, OS 버전을 포함하는 단말 부가정보, 어플리케이션명, 어플리케이션 버전정보를 포함하는 어플리케이션 부가정보, 기타 단말 로그를 포함한다.According to another embodiment of the present invention, the crash report agent 130 transmits error information to the crash report processing server 200 when an abnormal execution event of the running application occurs. In this case, the error information is a crash report and includes a call stack, a terminal model name, terminal additional information including an OS version, an application name, application additional information including application version information, and other terminal logs.
이후, 크래시 리포트 에이젼트(130)는 크래시 리포트 처리 서버(200)로부터 응답 데이터가 수신되는지 확인한다. 만약, 크래시 리포트 처리 서버(200)로부터 응답 데이터가 수신되면, 수신한 응답 데이터 내에 크래시 리포트 기능 제어 정보로 오프 정보가 포함되어 있는지 판단한다.Thereafter, the crash report agent 130 checks whether the response data is received from the crash report processing server 200. If response data is received from the crash report processing server 200, it is determined whether the crash information includes the off information as the crash report function control information.
만약, 크래시 리포트 기능 제어 정보로 오프 정보가 포함되어 있다면, 크래시 리포트 에이젼트(130)는 오프 정보에 오프에 대한 유효 기간이 포함되어 있는지도 판단한다.If the crash report function control information includes off information, the crash report agent 130 also determines whether the off information includes the valid period for the off.
판단 결과 유효 기간에 대한 정보가 포함되어 있으면, 크래시 리포트 에이젼트(130)는 크래시 리포트 기능을 설정된 유효 기간 동안만 오프 시키고, 유효 기간이 지나면 크래시 리포트 기능을 다시 온으로 설정한다. If the determination result includes the information on the validity period, the crash report agent 130 turns off the crash report function only for the set validity period, and sets the crash report function back to on after the validity period has passed.
또한, 판단 결과 유효 기간에 대한 정보가 포함되어 있지 않으면, 크래시 리포트 에이젼트(130)는 크래시 리포트 기능을 오프로 설정한다.If the determination result does not include information on the validity period, the crash report agent 130 sets the crash report function to off.
이후, 만약 크래시 리포트 처리 서버(200)로부터 크래시 리포트 기능을 온 시키기 위한 제어를 위한 데이터가 수신되면, 크래시 리포트 에이젼트(130)는 오프된 크래시 리포트 기능을 온으로 설정할 것이다.Thereafter, if data for control for turning on the crash report function is received from the crash report processing server 200, the crash report agent 130 may set the crash report function turned off.
단말 플랫폼(140)은 사용자 단말기(100)의 다양한 사용자 기능 지원을 위한 전반적인 신호의 처리와 루틴의 처리, 데이터의 저장 제어와 전송 제어 등을 지원하는 구성이다. 단말 플랫폼(140)은 예컨대, iOS, Mac OS, 안드로이드 OS 등 다양한 플랫폼을 포함할 수 있다.The terminal platform 140 is a component that supports overall signal processing and routine processing, data storage control and transmission control for supporting various user functions of the user terminal 100. The terminal platform 140 may include various platforms such as iOS, Mac OS, and Android OS.
이상으로, 본 발명의 실시 예에 따른 사용자 단말기(100)에 대해 설명하였다.In the above, the user terminal 100 according to an embodiment of the present invention has been described.
이하, 본 발명의 실시 예에 따른 크래시 리포트 처리 서버(200)의 주요 구성 및 동작 방법에 대해 설명하도록 한다. Hereinafter, the main configuration and operation method of the crash report processing server 200 according to an embodiment of the present invention will be described.
도 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)를 기능상의 관점에서 분류한 것이다.Before describing with reference to FIG. 5, FIG. 5 is a crash report processing server 200 according to the embodiment of the present invention described with reference to FIGS. 2 and 3 are classified from a functional point of view.
도 1 및 도 5를 참조하면, 본 발명의 실시 예에 따른 크래시 리포트 처리 서버(200)는 크래시 리포트 처리 모듈(500), 저장 모듈(520) 및 통신 인터페이스부(510)를 포함하여 구성될 수 있다. 1 and 5, the crash report processing server 200 according to an embodiment of the present invention may include a crash report processing module 500, a storage module 520, and a communication interface unit 510. have.
아울러, 본 발명의 실시 예에 따른 각 구성은 모듈을 포함하여 구성될 수 있는데, 여기서, ‘모듈’은 각각 소정의 기능을 수행하는 구성 요소로서, 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 예를 들어, 상기 ‘모듈’은 프로그램 모듈을 의미할 수 있으며, 이는 프로세서(Processor)에 의해 실행되어 소정의 기능을 수행하는, 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.In addition, each component according to an embodiment of the present invention can be configured to include a module, wherein the 'module' is a component that performs a predetermined function, respectively, implemented in hardware, software, or a combination of hardware and software Can be. For example, the 'module' may mean a program module, which is executed by a processor to perform a predetermined function, software components, object-oriented software components, class components and Components such as task components, processes, functions, properties, procedures, subroutines, segments of program code, drivers, data, databases, data structures, tables, arrays , And variables. In addition, the functions provided in the components and '~ modules' may be combined into a smaller number of components and '~ modules' or further separated into additional components and '~ modules'.
이하, 본 발명의 각 구성을 보다 구체적으로 설명하면, 먼저, 크래시 리포트 처리 모듈(500)는 크래시 리포트 처리 서버(200)에 접속한 사용자 단말에 대한 크래시 리포트를 관리 및 처리하는 모듈이다.Hereinafter, the respective configurations of the present invention will be described in more detail. First, the crash report processing module 500 is a module that manages and processes crash reports for user terminals connected to the crash report processing server 200.
이러한, 크래시 리포트 처리 모듈(500)은 본 발명의 실시 예에 따른 크래시 리포트 처리를 위한 사용자 인터페이스를 제공하는 역할을 수행하며 통신 인터페이스부(510)를 통해 사용자 단말기(100)로부터 크래시 리포트 및 크래시 리포트를 위한 정책요청을 수신하고, 사용자 단말기(100)로 응답을 전송하기 위한 과정 전반을 지원할 수 있다.The crash report processing module 500 serves to provide a user interface for crash report processing according to an exemplary embodiment of the present invention, and the crash report and the crash report from the user terminal 100 through the communication interface 510. Receive a policy request for and can support the overall process for transmitting a response to the user terminal (100).
또한, 크래시 리포트 처리 모듈(500)은 수신한 크래시 리포트에 대응하여 적절한 오류 처리 서비스를 제공하기 위한 기본적인 정보를 저장하고 관리하며, 사용자 단말기 별로 최적화된 사용자 인터페이스를 제공하기 위한 과정을 지원할 수 있다.In addition, the crash report processing module 500 may store and manage basic information for providing an appropriate error handling service in response to the received crash report, and may support a process for providing an optimized user interface for each user terminal.
또한, 크래시 리포트 처리 모듈(500)은 본 발명의 또 다른 실시 예에 따라 대기 상태에서 사용자 단말(100)로부터 오류 정보가 수신되면, 오류 정보 내에 포함된 앱 부가 정보와 콜스택 정보를 참조하여 리포트 기능 오프가 필요한지 여부를 확인한다.In addition, when the crash report processing module 500 receives the error information from the user terminal 100 in the standby state according to another embodiment of the present invention, the crash report processing module 500 refers to the app additional information and the call stack information included in the error information. Check whether a function off is required.
이후, 크래시 리포트 처리 모듈(500)는 확인 결과 크래시 리포트 기능 오프가 필요하다고 판단한 경우 크래시 리포트 기능 제어 정보로 오프 정보를 응답 데이터에 포함시켜 생성한다.Thereafter, when the crash report processing module 500 determines that the crash report function is required to be turned off, the crash report processing module 500 generates the crash information by including the off information as response data in the response data.
크래시 리포트 처리 모듈(500)는 이와 같이 생성된 응답 데이터를 사용자 단말기(100)로 전송한다.The crash report processing module 500 transmits the response data generated as described above to the user terminal 100.
하지만, 판단 결과 크래시 리포트 기능 오프가 필요하지 않다고 판단되면, 크래시 리포트 처리 모듈(500)는 일반적인 오류 처리 동작을 수행한다.However, if it is determined that the crash report function is not necessary, the crash report processing module 500 performs a general error processing operation.
또한, 크래시 리포트 처리 모듈(500)는 크래시 리포트 기능 오프로 제어한 사용자 단말기들에 대한 정보를 별도로 관리하고, 장애 상황 또는 로드가 미리 설정된 기준 이하가 되면 사용자 단말기들로 크래시 리포트 기능을 다시 온으로 설정하기 위한 제어 정보를 포함하는 데이터를 전송하여 크래시 리포트 기능을 온 시킬 수도 있을 것이다.In addition, the crash report processing module 500 separately manages information on the user terminals controlled by the crash report function off, and turns on the crash report function to the user terminals again when the failure situation or the load falls below a preset criterion. The crash report function may be turned on by transmitting data including control information for setting.
또한, 크래시 리포트 처리 모듈(500)은 실시간으로 특정 단말기에게 제공하여 정보 보고 시점이 지연되거나 누락되지 않도록 지원할 수 있다. 여기서 특정 단말기는 비정상 종료에 따른 크래시 이벤트가 발생한 앱과 관련된 인원의 단말기로서 앱 보완 및 갱신이나 에러 보정 등을 수행하는 단말기가 될 수 있다.In addition, the crash report processing module 500 may provide a specific terminal in real time to support a delay or omission of an information reporting time point. In this case, the specific terminal may be a terminal of a person related to an app in which a crash event occurs due to abnormal termination, and may be a terminal for supplementing and updating an app or correcting an error.
통신 인터페이스(510)는 크래시 리포트 처리 서버(200)의 통신 기능 지원을 위한 구성이다.The communication interface 510 is a component for supporting a communication function of the crash report processing server 200.
이러한 통신 인터페이스(510)는 크래시 리포트 처리 서버(200)가 다양한 형태 중 적어도 하나의 통신 형태를 가지는 통신망(300)과 통신 채널을 형성할 수 있도록 지원할 수 있다. 예컨대 통신 인터페이스(510)는 LTE 통신망, 3G 통신망, WLAN 통신망, WiFi 통신망 등 다양한 네트워크 타입의 통신망들로부터 데이터를 수신하고 또한 해당 통신망으로 데이터를 송출할 수 있는 형태로 마련될 수 있다. 이에 따라 통신 인터페이스(510)는 예컨대 서로 다른 통신 방식의 사용자 단말기들 간의 데이터 송수신이 가능하도록 지원할 수도 있다. The communication interface 510 may support the crash report processing server 200 to form a communication channel with the communication network 300 having at least one communication type among various types. For example, the communication interface 510 may be provided in a form capable of receiving data from various network type communication networks, such as LTE communication network, 3G communication network, WLAN communication network, WiFi communication network, and transmitting data to the corresponding communication network. Accordingly, the communication interface 510 may support data transmission and reception between user terminals of different communication methods, for example.
한편 통신 인터페이스(510)는 본 발명의 일 실시 예에 따라 사용자 단말기(100)와의 통신 채널 형성 후, 사용자 단말기(100)로부터 크래시 리포트 또는 정책 요청을 수신한다. 만약, 크래시 리포트가 수신되면, 수신된 크래시 리포트를 크래시 리포트 처리 모듈(500) 제어에 따라 저장 모듈(520)의 일정 위치에 저장한다. 또한, 정책 요청을 수신하면, 크래시 리포트 처리 모듈(500)이 요청에 따른 응답을 처리한다.Meanwhile, the communication interface 510 receives a crash report or a policy request from the user terminal 100 after establishing a communication channel with the user terminal 100 according to an embodiment of the present invention. If the crash report is received, the received crash report is stored in a predetermined position of the storage module 520 under the control of the crash report processing module 500. In addition, upon receiving the policy request, the crash report processing module 500 processes a response according to the request.
또한, 통신 인터페이스(510)는 본 발명의 또 다른 실시 예에 따라 사용자 단말기(100)와의 통신 채널 형성 후, 사용자 단말기(100)로부터 크래시 리포트를 수신하고, 크래시 리포트에 기반하여 생성된 응답 데이터를 사용자 단말기(100)로 전송한다.In addition, the communication interface 510 receives a crash report from the user terminal 100 after forming a communication channel with the user terminal 100 according to another embodiment of the present invention, and receives the response data generated based on the crash report. Transmit to the user terminal 100.
저장 모듈(520)은 크래시 리포트 처리 서버(200) 구동을 위한 다양한 응용 프로그램과 데이터를 저장하는 구성이다. 특히 저장 모듈(520)은 본 발명의 일 실시 예에 따라 사용자 단말기(100)가 제공하는 크래시 리포트를 저장할 수 있고, 본 발명의 또 다른 실시 예에 따라 사용자 단말기(100)가 제공하는 크래시 리포트 및 크래시 리포트 기능 오프가 필요한지 여부를 판단하기 위한 기준 정보를 저장할 수 있다.The storage module 520 is a component that stores various application programs and data for driving the crash report processing server 200. In particular, the storage module 520 may store a crash report provided by the user terminal 100 according to an embodiment of the present invention, and according to another embodiment of the present invention, the crash report provided by the user terminal 100 and Criteria information for determining whether the crash report function is required may be stored.
크래시 리포트 처리 모듈(500)는 크래시 리포트 처리 서버(200) 운용과 관련된 다양한 신호의 처리와 전달을 수행하는 구성이다.The crash report processing module 500 is a component that performs processing and transfer of various signals related to the operation of the crash report processing server 200.
특히, 본 발명의 일실시 예에 따른 크래시 리포트 처리 모듈(500)은 사용자 단말기(100)로부터 1차 데이터인 콜스택, 단말 부가정보, 어플리케이션 부가정보가 수신되면, 1차 데이터를 기반으로 해당 오류가 신규 오류인지 아니면 기존에 등록된 오류인지를 판단한다. 이후, 판단 결과 만약, 신규 오류인 경우에는 크래시 리포트 처리 모듈(500)은 사용자 단말기(100)로 2차 데이터를 요청하고, 등록 오류의 경우에는 사용자 단말기(100)로 세션 종료를 요청한다.In particular, when the crash report processing module 500 according to an embodiment of the present invention receives the first data call stack, the terminal additional information, and the application additional information from the user terminal 100, the corresponding error is based on the primary data. Determines whether is a new error or an existing error. Subsequently, as a result of determination, in the case of a new error, the crash report processing module 500 requests the secondary data to the user terminal 100 and requests the end of the session to the user terminal 100 in the case of a registration error.
또한, 다른 실시 예에 따른 크래시 리포트 처리 모듈(500)은 사용자 단말기(100)로부터 비정상 종료로그 전송여부에 대한 정책 요청이 있으면, 미리 저장된 정책을 사용자 단말기(100)로 전송한다.In addition, the crash report processing module 500 according to another embodiment transmits a pre-stored policy to the user terminal 100 when there is a policy request for whether or not the abnormal termination log is transmitted from the user terminal 100.
이후, 크래시 리포트 처리 모듈(500)은 사용자 단말기(100)로부터 정책에 부합한 경우의 오류에 대해서만 크래시 리포트를 수신하게 될 것이다.Thereafter, the crash report processing module 500 will receive a crash report only for an error in the case of conforming to a policy from the user terminal 100.
또한, 크래시 리포트 처리 모듈(500)은 실시간으로 특정 단말기에게 제공하여 정보 보고 시점이 지연되거나 누락되지 않도록 지원할 수 있다. 여기서 특정 단말기는 비정상 종료에 따른 크래시 이벤트가 발생한 앱과 관련된 인원의 단말기로서 앱 보완 및 갱신이나 에러 보정 등을 수행하는 단말기가 될 수 있다.In addition, the crash report processing module 500 may provide a specific terminal in real time to support a delay or omission of an information reporting time point. In this case, the specific terminal may be a terminal of a person related to an app in which a crash event occurs due to abnormal termination, and may be a terminal for supplementing and updating an app or correcting an error.
이상으로 본 발명의 실시 예에 따른 크래시 리포트 서버(200)의 주요 구성 및 동작 방법에 대해 설명하였다.The main configuration and operation method of the crash report server 200 according to the embodiment of the present invention have been described above.
그러면 이제 도 6 내지 도 12를 참조하여 본 발명의 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정에 대하여 설명하도록 한다.Next, the crash report processing in the crash report processing system according to the embodiment of the present invention will now be described with reference to FIGS. 6 to 12.
먼저, 도 6을 참조하여 일 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정에 대하여 설명하도록 한다.First, the crash report processing in the crash report processing system according to an embodiment will be described with reference to FIG. 6.
도 6은 본 발명의 일 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정을 도시하는 흐름도이다.6 is a flowchart illustrating a crash report processing process in the crash report processing system according to an embodiment of the present invention.
도 6을 참조하면, 사용자 단말기(100)는 소정 어플리케이션 실행 중 비정상 종료 이벤트가 발생하면, 1차 데이터를 제1 크래시 리포트 처리 장치(210)로 전송한다.(S600, S602)Referring to FIG. 6, when an abnormal termination event occurs while executing a predetermined application, the user terminal 100 transmits primary data to the first crash report processing apparatus 210 (S600 and S602).
이때, 1차 데이터는 크래시 리포트로, 콜스택, 단말 부가정보, 앱 부가정보를 포함하는 데이터이고, 단말 부가 정보는 단말 모델명, OS 버전 등의 정보를 포함하고, 앱 부가정보는 어플리케이션명, 어플리케이션 버전정보 등의 정보를 포함한다.In this case, the primary data is a crash report, and includes data including call stack, terminal additional information and app additional information, and terminal additional information includes information such as a terminal model name and an OS version, and the application additional information includes an application name and an application. Includes information such as version information.
그러면, 제1 크래시 리포트 처리 장치(210)는 수신한 1차 데이터를 기반으로 오류를 분석한다.(S604)Then, the first crash report processing apparatus 210 analyzes the error based on the received primary data (S604).
이후, 제1 크래시 리포트 처리 장치(210)는 1차 데이터 기반으로 분석한 해당 오류가 신규 오류인지 아니면 기존에 등록된 오류인지를 판단한다.(S606)Thereafter, the first crash report processing apparatus 210 determines whether the corresponding error analyzed based on the primary data is a new error or an existing registered error (S606).
만약, 신규 오류이면 사용자 단말기(100)로 2차 데이터를 요청한다.(S608)If it is a new error, the secondary data is requested to the user terminal 100. (S608)
하지만, 만약 등록 오류이면 사용자 단말기(100)로 세션 종료를 요청한다.(S614)However, if the registration error, the user terminal 100 requests the end of the session (S614).
한편, 제1 크래시 리포트 처리 장치(210)로부터 2차 데이터 요청을 받은 사용자 단말기(100)는 2차 데이터를 제1 크래시 리포트 처리 장치(210)로 전송한다.Meanwhile, the user terminal 100 receiving the secondary data request from the first crash report processing apparatus 210 transmits the secondary data to the first crash report processing apparatus 210.
이때, 2차 데이터는 단말 로그 정보를 포함하는 데이터이다. 즉, 단말 로그는 로그 분석을 위해 한번만 필요하고, 비교적 큰 데이터 사이즈를 차지하는 단말 로그는 필요 시에만 사용자 단말기(100)가 크래시 리포트 처리 서버(200) 단으로 전송하도록 함으로써 오버헤드를 줄일 수 있게 된다.In this case, the secondary data is data including terminal log information. That is, the terminal log is needed only once for log analysis, and the terminal log, which occupies a relatively large data size, can reduce overhead by having the user terminal 100 transmit the crash log to the crash report processing server 200 only when necessary. .
이후, 제1 크래시 리포트 처리 장치(210)는 수신한 2차 데이터를 기반으로 오류를 분석한다.Thereafter, the first crash report processing apparatus 210 analyzes the error based on the received secondary data.
다음으로, 도 7을 참조하여 다른 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정에 대하여 설명하도록 한다.Next, the crash report processing in the crash report processing system according to another embodiment will be described with reference to FIG. 7.
도 7은 본 발명의 다른 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정을 도시하는 흐름도이다.7 is a flowchart illustrating a crash report processing procedure in the 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 termination event occurs while executing a predetermined application, the user terminal 100 transmits a policy request regarding whether to transmit abnormal termination logs to the second crash report processing apparatus 220. In this case, the policy on whether or not the abnormal termination log is transmitted refers to information that is a criterion for determining whether to send a crash report.
제2 크래시 리포트 처리 장치(220)는 사용자 단말기(100)로부터 정책 요청을 받으면, 미리 저장된 정책을 확인한다.(S704)When the second crash report processing device 220 receives the policy request from the user terminal 100, the second crash report processing apparatus 220 checks the stored policy in advance (S704).
이때, 비정상 종료 로그 전송 여부에 대한 정책은 어플리케이션 별로 설정되어 저장되어 있다. 예를 들어, 종류에 있어서는 액티비티(Activity), 브로드캐스트 리시버인 경우에는 전송하도록 설정하고, 서비스이거나 컨텐츠 프로바이더인 경우에는 전송하지 않도록 설정되어 있다. 또한, 상태에 있어서는 포어 그라운드이면 전송하도록 설정하고, 포어 그라운드가 아니라면 전송하지 않도록 설정되어 있다. 또한, 필터에 있어서는 단말 플랫폼이 야기한 특정 오류 리스트에 포함되는 경우에는 전송하도록 설정되어 있다.At this time, the policy on whether to send the abnormal termination log is set and stored for each application. For example, in the case of an activity, a broadcast receiver is set to transmit, and in the case of a service or a content provider, it is set not to transmit. In the state, it is set to transmit if it is foreground, and it is set not to transmit unless it is foreground. In addition, the filter is set to transmit when included in the specific error list caused by the terminal platform.
상기와 같이 전송 정책이 설정될 수 있고, 이에 한정되는 것은 아니고 조건은 추가 및 삭제 가능할 것이다. 또한, 연산 공식에 의해 전송 여부가 결정되는데, 연상 공식은 종류와 상태가 전송하도록 설정된 조건에 해당되는 경우에만 사용자 단말기(100)가 오류 로그를 크래시 리포트 처리 서버(200)로 전송하도록 하며, 단 필터에 명시된 오류 리스트는 사용자 단말기(100)에서 오류가 발생하더라고 오류 로그를 전송하지 않도록 한다.As described above, the transmission policy may be set, but the present invention is not limited thereto, and the condition may be added and deleted. In addition, whether or not the transmission is determined by the calculation formula, the associative formula allows the user terminal 100 to transmit the error log to the crash report processing server 200 only when the type and state is set to transmit, but The error list specified in the filter does not transmit an error log even if an error occurs in the user terminal 100.
이와 같이 설정되어 저장된 정책을 제2 크래시 리포트 처리 장치(220)가 사용자 단말기(100)로 전송한다.(S706)The second crash report processing apparatus 220 transmits the set and stored policy to the user terminal 100 in operation S706.
이와 같은 정책을 수신한 사용자 단말기(100)는 오류 정보를 정책과 비교한다.(S708)The user terminal 100 receiving the policy compares the error information with the policy (S708).
비교 결과, 정책에 부합되는지를 판단하여 오류 정보가 정책에 부합되면 제2 크래시 리포트 처리 장치(220)로 비정상 종료 로그 즉, 크래시 리포트를 전송한다.(S712)As a result of the comparison, if it is determined that the policy meets the policy and the error information meets the policy, the abnormal crash log, that is, the crash report is transmitted to the second crash report processing apparatus 220 (S712).
하지만, 비교 결과 오류 정보가 정책에 부합되지 않으면 세션 종료를 시킨다.(S716)However, if the result of the comparison does not meet the policy, the session is terminated (S716).
크래시 리포트를 수신한 제2 크래시 리포트 처리 장치(220)는 수신한 로그 기반으로 오류를 분석한다.(S714)After receiving the crash report, the second crash report processing apparatus 220 analyzes the error based on the received log (S714).
다음으로, 도 8을 참조하여 서버 관리 장치(230)을 포함하는 크래시 리포트 처리 시스템에서 본 발명의 실시 예에 따라 크래시 리포트 처리하는 과정에 대하여 설명하도록 한다.Next, a process of crash report processing according to an embodiment of the present invention in the crash report processing system including the server management apparatus 230 will be described with reference to FIG. 8.
도 8은 본 발명의 실시예에 따라 서버 관리 장치를 포함하는 크래시 리포트 처리 시스템에서의 크래시 리포트 처리 과정을 도시하는 흐름도이다.8 is a flowchart illustrating a crash report processing procedure in the 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 while executing a predetermined application, the user terminal 100 transmits a policy request for whether to transmit primary data or abnormal termination log to the server management apparatus 230 of the crash report processing server 200. In this case, the transmitted data may be different for each user terminal 100 or may be different for each app.
서버 관리 장치(230)는 수신한 데이터를 확인하고, 수신한 데이터가 정책 요청 데이터인지 1차 데이터인지를 판단한다.(S804, S806, S808) The server management apparatus 230 checks the received data and determines whether the received data is policy request data or primary data. (S804, S806, S808).
판단 결과 수신한 데이터가 정책 요청 데이터이면, 서버 관리 장치(230)는 제2 크래시 리포트 처리 장치(220)로 수신한 요청 데이터를 전달한다.(S810)If the received data is policy request data as a result of the determination, the server management apparatus 230 transmits the received request data to the second crash report processing apparatus 220 (S810).
그러면, 제2 크래시 리포트 처리 장치(220)는 수신한 정책 요청 데이터를 기반으로 크래시 리포트를 처리한다. 즉, 제2 크래시 리포트 처리 장치(220)는 미리 저장된 정책을 사용자 단말기(100)로 전송하고, 정책을 수신한 사용자 단말기(100)는 오류 정보를 정책과 비교한다. 비교 결과, 정책에 부합되는지를 판단하여 오류 정보가 정책에 부합되면 제2 크래시 리포트 처리 장치(220)로 비정상 종료 로그 즉, 크래시 리포트를 전송한다. 하지만, 비교 결과 오류 정보가 정책에 부합되지 않으면 세션 종료를 시킨다. 또한, 크래시 리포트를 수신한 제2 크래시 리포트 처리 장치(220)는 수신한 로그 기반으로 오류를 분석한다.Then, the second crash report processing device 220 processes the crash report based on the received policy request data. That is, the second crash report processing apparatus 220 transmits the pre-stored policy to the user terminal 100, and the user terminal 100 receiving the policy compares the error information with the policy. As a result of the comparison, it is determined whether the policy is satisfied, and if the error information satisfies the policy, the abnormal crash log, that is, the crash report is transmitted to the second crash report processing apparatus 220. However, if the error information does not meet the policy result, the session is terminated. In addition, the second crash report processing apparatus 220 that receives the crash report analyzes the error based on the received log.
한편, S808 판단 결과 전송된 데이터가 1차 데이터이면, 서버 관리 장치(230)는 데이터를 제1 크래시 리포트 처리 장치(210)로 전달한다.(S814)On the other hand, if the data transmitted as a result of the determination in S808 is primary data, the server management apparatus 230 transmits the data to the first crash report processing apparatus 210 (S814).
그러면, 제1 크래시 리포트 처리 장치(210)는 수신한 1차 데이터 기반으르 크래시 리포트를 처리한다.(S816) 즉, 제1 크래시 리포트 처리 장치(210)는 수신한 1차 데이터를 기반으로 오류를 분석하고, 분석한 해당 오류가 신규 오류인지 아니면 기존에 등록된 오류인지를 판단한다. 만약, 신규 오류이면 사용자 단말기(100)로 2차 데이터를 요청한다. 하지만, 만약 등록 오류이면 사용자 단말기(100)로 세션 종료를 요청한다.Then, the first crash report processing apparatus 210 processes the crash report based on the received primary data (S816). That is, the first crash report processing apparatus 210 receives an error based on the received primary data. Analyze and determine whether the analyzed error is a new error or an existing registered error. If the error is new, the secondary data is requested to the user terminal 100. However, if the registration error, the user terminal 100 requests the end of the session.
한편, 제1 크래시 리포트 처리 장치(210)로부터 2차 데이터 요청을 받은 사용자 단말기(100)는 2차 데이터를 제1 크래시 리포트 처리 장치(210)로 전송한다.Meanwhile, the user terminal 100 receiving the secondary data request from the first crash report processing apparatus 210 transmits the secondary data to the first crash report processing apparatus 210.
이때, 2차 데이터는 단말 로그 정보를 포함하는 데이터이다. 즉, 단말 로그는 로그 분석을 위해 한번만 필요하고, 비교적 큰 데이터 사이즈를 차지하는 단말 로그는 필요 시에만 사용자 단말기(100)가 크래시 리포트 처리 서버(200) 단으로 전송하도록 함으로써 오버헤드를 줄일 수 있게 된다.In this case, the secondary data is data including terminal log information. That is, the terminal log is needed only once for log analysis, and the terminal log, which occupies a relatively large data size, can reduce overhead by having the user terminal 100 transmit the crash log to the crash report processing server 200 only when necessary. .
이후, 제1 크래시 리포트 처리 장치(210)는 수신한 2차 데이터를 기반으로 오류를 분석한다.Thereafter, the first crash report processing apparatus 210 analyzes the error based on the received secondary data.
도 9는 본 발명의 일 실시 예에 따른 사용자 단말기에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.9 is a flowchart illustrating a process of processing a crash report in a user terminal according to an exemplary embodiment.
도 9를 참조하면, 사용자 단말기(100)는 소정의 어플리케이션 실행 중 비 정상 종료 이벤트가 발생하면, 1차 데이터를 크래시 리포트 처리 서버(200)로 전송한다.(S900 ~ S904) 이때, 1차 데이터는 크래시 리포트로, 콜스택, 단말 부가정보, 앱 부가정보를 포함하는 데이터이고, 단말 부가 정보는 단말 모델명, OS 버전 등의 정보를 포함하고, 앱 부가정보는 어플리케이션명, 어플리케이션 버전정보 등의 정보를 포함한다.Referring to FIG. 9, when a non-normal termination event occurs during execution of a predetermined application, the user terminal 100 transmits primary data to the crash report processing server 200. (S900 to S904) In this case, primary data Is a crash report, which is data including call stack, terminal additional information, and app additional information, and the terminal additional information includes information such as a terminal model name and an OS version, and the app additional information includes information such as an application name and application version information. It includes.
이후, 사용자 단말기(100)는 크래시 리포트 처리 서버(200)로부터 2차 데이터 전송 요구가 있으면, 사용자 단말기(100)는 2차 데이터를 제1 크래시 리포트 처리 장치(210)로 전송한다.(S906, S910)Thereafter, if the secondary data transmission request is received from the crash report processing server 200, the user terminal 100 transmits the secondary data to the first crash report processing apparatus 210. (S906, S910)
이때, 2차 데이터는 단말 로그 정보를 포함하는 데이터이다. 즉, 단말 로그는 로그 분석을 위해 한번만 필요하고, 비교적 큰 데이터 사이즈를 차지하는 단말 로그는 필요 시에만 사용자 단말기(100)가 크래시 리포트 처리 서버(200) 단으로 전송하도록 함으로써 오버헤드를 줄일 수 있게 된다.In this case, the secondary data is data including terminal log information. That is, the terminal log is needed only once for log analysis, and the terminal log, which occupies a relatively large data size, can reduce overhead by having the user terminal 100 transmit the crash log to the crash report processing server 200 only when necessary. .
하지만, 만약 크래시 리포트 처리 서버(200)로부터 세션 종료 요구를 받으면, 사용자 단말기(100)는 크래시 리포트 처리 서버(200)와 연결된 세션을 종료시킨다.(S908)However, if the session termination request is received from the crash report processing server 200, the user terminal 100 terminates the session connected to the crash report processing server 200 (S908).
도 10은 본 발명의 일 실시 예에 따른 크래시 리포트 처리 서버에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.10 is a flowchart illustrating a process of processing a crash report in the crash report processing server according to an embodiment of the present invention.
크래시 리포트 처리 서버(200)는 대기상태를 유지하다가, 사용자 단말기(100)로부터 1차 데이터가 수신되는지 검사한다.(S1000, S1002)The crash report processing server 200 maintains the standby state and checks whether primary data is received from the user terminal 100. (S1000, S1002)
만약, 사용자 단말기(100)로부터 1차 데이터가 수신되면, 크래시 리포트 처리 서버(200)는 수신한 1차 데이터를 기반으로 오류를 분석한다.(S1004)If primary data is received from the user terminal 100, the crash report processing server 200 analyzes an error based on the received primary data. (S1004)
이후, 크래시 리포트 처리 서버(200)는 1차 데이터 기반으로 분석한 해당 오류가 신규 오류인지 아니면 기존에 등록된 오류인지를 판단한다.(S1006) 이를 위해 크래시 리포트 처리 서버(200)는 등록 오류에 대한 데이터를 미리 저장하고 있어야 할 것이다.Thereafter, the crash report processing server 200 determines whether the corresponding error analyzed based on the primary data is a new error or an existing registered error (S1006). For this purpose, the crash report processing server 200 may register a registration error. You will have to store the data in advance.
검사 결과 만약, 신규 오류이면 크래시 리포트 처리 서버(200)는 사용자 단말기(100)로 2차 데이터를 요청한다.(S1008)As a result of the check, if the error is a new error, the crash report processing server 200 requests the secondary data to the user terminal 100. (S1008)
하지만, 검사 결과 만약 등록 오류이면 크래시 리포트 처리 서버(200)는 사용자 단말기(100)로 세션 종료를 요청한다.(S1014)However, if the check result is a registration error, the crash report processing server 200 requests the user terminal 100 to terminate the session. (S1014)
한편, 크래시 리포트 처리 서버(200)은 사용자 단말기(100)로부터 2차 데이터가 수신되면 수신한 2차 데이터를 기반으로 오류를 분석한다.(S1012)Meanwhile, the crash report processing server 200 analyzes an error based on the received secondary data when the secondary data is received from the user terminal 100. (S1012)
도 11은 본 발명의 다른 실시 예에 따른 사용자 단말기에서 크래시 리포트 처리하기 위한 과정을 나타내는 흐름도이다.11 is a flowchart illustrating a process of processing a crash report in a user terminal according to another embodiment of the present invention.
사용자 단말기(100)는 소정 어플리케이션 실행 중 비정상 종료 이벤트가 발생하면, 비 정상 종료 로그 전송 여부에 대한 정책 요청을 크래시 리포트 처리 서버(200)로 전송한다.(S1100 ~ S1104) 이때, 비 정상 종료 로그 전송 여부에 대한 정책이란 크래시 리포트 전송 여부를 판단하는 기준이 되는 정보를 말한다.If an abnormal termination event occurs while executing a predetermined application, the user terminal 100 transmits a policy request for whether to transmit an abnormal termination log to the crash report processing server 200. (S1100 to S1104) In this case, the abnormal termination log The policy on whether or not to transmit means information that is a criterion for determining whether to send a crash report.
이후, 크래시 리포트 처리 서버(200)로부터 정책이 수신되면, 사용자 단말기(100)는 비정상 종료 시점 오류 정보를 정책 결과와 비교한다. 이때, 정책은 상기에서 기재한 바와 같은 종류, 상태, 필터 및 연산공식에 따라 비정상 종료 로그 전송 여부를 결정하기 위한 정보를 포함하는 정책으로, 종류, 상태, 필터 및 연산공식은 상기에서 기재한 바와 같이 설정될 수 있을 것이다.Subsequently, when a policy is received from the crash report processing server 200, the user terminal 100 compares abnormal termination time error information with a policy result. At this time, the policy is a policy including information for determining whether to send abnormal termination log according to the kind, state, filter, and operation formula as described above, and the type, state, filter, and operation formula are described above. May be set together.
이와 같은 정책을 수신한 사용자 단말기(100)는 오류 정보를 정책과 비교한다.(S1108)Receiving such a policy, the user terminal 100 compares the error information with the policy (S1108).
비교 결과, 정책에 부합되는지를 판단하여 오류 정보가 정책에 부합되면 사용자 단말기(100)는 크래시 리포트 처리 서버(200)로 비정상 종료 로그 즉, 크래시 리포트를 전송한다.(S1110, 1112)As a result of the comparison, if the error information matches the policy, the user terminal 100 transmits an abnormal termination log, that is, a crash report, to the crash report processing server 200 (S1110 and 1112).
하지만, 비교 결과 오류 정보가 정책에 부합되지 않으면 세션 종료를 시킨다.(S1110, S1114)However, if the result of the comparison does not comply with 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 report processing server 200 maintains the standby state and, upon receiving a policy request from the user terminal 100, checks a pre-stored policy. (S1200 to S1204) In this case, the policy on whether to send an abnormal termination log is for each application. It is set and stored.
이와 같이 설정되어 저장된 정책을 크래시 리포트 처리 서버(200)가 사용자 단말기(100)로 전송한다.(S1206)The crash report processing server 200 transmits the policy set and stored in this way to the user terminal 100. (S1206)
이후, 크래시 리포트 처리 서버(200)가 사용자 단말기(100)로부터 비정상 종료 로그가 수신되면, 수신한 로그 기반으로 오류를 분석한다.(S1210)Thereafter, when the crash report processing server 200 receives the abnormal termination log from the user terminal 100, the crash report processing server 200 analyzes an error based on the received log.
이상으로 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템에서 크래시 리포트 처리를 위한 방법에 대해 설명하였다.The crash report processing method in the crash report processing system according to the embodiment of the present invention has been described above.
그러면 이제 도 13 내지 도 15을 참조하여 본 발명의 또 다른 실시 예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 기능 제어 과정에 대하여 설명하도록 한다.Next, a crash report function control process in the crash report processing system according to another embodiment of the present invention will now be described with reference to FIGS. 13 to 15.
먼저, 도 13을 참조하여 본 발명의 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 기능 제어 과정에 대하여 설명하도록 한다.First, the crash report function control process in the crash report processing system according to the embodiment of the present invention will be described with reference to FIG. 13.
도 13은 본 발명의 실시예에 따른 크래시 리포트 처리 시스템에서의 크래시 리포트 기능 제어 과정을 도시하는 흐름도이다.13 is a flowchart illustrating a crash report function control process in the crash report processing system according to the embodiment of the present invention.
도 13을 참조하면, 사용자 단말기(100)는 실행 중인 어플리케이션 비 정상 종료 이벤트가 발생하면, 오류 정보를 크래시 리포트 처리 서버(200)로 전송한다.(S1300, S1302)Referring to FIG. 13, when an abnormal application termination event is executed, the user terminal 100 transmits error information to the crash report processing server 200 (S1300 and S1302).
이때, 오류 정보는 크래시 리포트로서, 콜스택, 단말 모델명, OS 버전을 포함하는 단말 부가정보, 어플리케이션명, 어플리케이션 버전정보를 포함하는 어플리케이션 부가정보, 기타 단말 로그를 포함한다.In this case, the error information is a crash report and includes a call stack, a terminal model name, terminal additional information including an OS version, an application name, application additional information including application version information, and other terminal logs.
크래시 리포트 처리 서버(200)는 사용자 단말(100)로부터 오류 정보가 수신되면, 오류 정보 내에 포함된 앱 부가 정보와 콜스택 정보를 참조하여 리포트 기능 오프가 필요한지 여부를 확인한다.(S1304)When the crash report processing server 200 receives the error information from the user terminal 100, the crash report processing server 200 refers to the app additional information and the call stack information included in the error information and checks whether or not the report function is turned off (S1304).
이를 위해 크래시 리포트 처리 서버(200)는 리포트 기능 오프가 필요한지 여부를 판단하기 위한 기준 정보를 저장할 것이다.To this end, the crash report processing server 200 will store reference information for determining whether the report function is off.
이후, 크래시 리포트 처리 서버(200)는 확인 결과 크래시 리포트 기능 오프가 필요하다고 판단한 경우 크래시 리포트 기능 제어 정보로 오프 정보를 응답 데이터에 포함시켜 생성한다.(S1306, S1308)Thereafter, when the crash report processing server 200 determines that the crash report function is required to be turned off, the crash report processing server 200 generates the crash report function control information by including the off information in the response data (S1306 and S1308).
크래시 리포트 처리 서버(200)는 이와 같이 생성된 응답 데이터를 사용자 단말기(100)로 전송한다.(S1312)The crash report processing server 200 transmits the response data generated as described above to the user terminal 100 (S1312).
하지만, 확인 결과 크래시 리포트 기능 오프가 필요하지 않다고 판단되면, 크래시 리포트 처리 서버(200)는 일반적인 오류 처리 동작을 수행한다.(S1310)However, if it is determined that the crash report function is not required to be turned off, the crash report processing server 200 performs a general error processing operation (S1310).
한편, 응답 데이터를 수신한 사용자 단말기(100)는 응답 데이터 내에 포함된 크래시 리포트 기능 제어 정보를 확인하여 크래시 리포트 기능을 제어한다.(S1314)On the other hand, the user terminal 100 receiving the response data checks the crash report function control information included in the response data to control the crash report function (S1314).
만약, 크래시 리포트 기능 제어 정보로 오프 정보가 포함되어 있다면, 사용자 단말기(100)는 크래시 리포트 기능을 오프로 설정한다.If the crash report function control information includes off information, the user terminal 100 sets the crash report function to off.
또한, 만약 오프 정보에 오프에 대한 유효 기간이 포함되어 있다면 크래시 리포트 기능을 설정된 유효 기간 동안만 오프 시키고, 유효 기간이 지나면 크래시 리포트 기능을 다시 온으로 설정한다. In addition, if the off information includes the validity period for the off, the crash report function is turned off only for the set validity period, and after the validity period, the crash report function is set to on again.
도 14는 본 발명의 실시 예에 따른 사용자 단말기에서 크래시 리포트 기능을 제어하기 위한 과정을 나타내는 흐름도이다.14 is a flowchart illustrating a process for controlling a crash report function in a user terminal according to an embodiment of the present invention.
사용자 단말기(100)는 실행 중인 어플리케이션 비 정상 종료 이벤트가 발생하면, 오류 정보를 크래시 리포트 처리 서버(200)로 전송한다.(S1400 ~ S1404)The user terminal 100 transmits error information to the crash report processing server 200 when a running application abnormal termination event occurs. (S1400 to S1404).
이때, 오류 정보는 크래시 리포트로서, 콜스택, 단말 모델명, OS 버전을 포함하는 단말 부가정보, 어플리케이션명, 어플리케이션 버전정보를 포함하는 어플리케이션 부가정보, 기타 단말 로그를 포함한다.In this case, the error information is a crash report and includes a call stack, a terminal model name, terminal additional information including an OS version, an application name, application additional information including application version information, and other terminal logs.
이후, 사용자 단말기(100)는 크래시 리포트 처리 서버(200)로부터 응답 데이터가 수신되는지 확인한다.(S1406)Thereafter, the user terminal 100 checks whether the response data is received from the crash report processing server 200 (S1406).
만약, 크래시 리포트 처리 서버(200)로부터 응답 데이터가 수신되면, 수신한 응답 데이터 내에 크래시 리포트 기능 제어 정보로 오프 정보가 포함되어 있는지 판단한다.(S1408)If response data is received from the crash report processing server 200, it is determined whether the off information is included as the crash report function control information in the received response data (S1408).
만약, 크래시 리포트 기능 제어 정보로 오프 정보가 포함되어 있다면, 사용자 단말기(100)는 오프 정보에 오프에 대한 유효 기간이 포함되어 있는지도 판단한다.(S1410)If the crash report function control information includes the off information, the user terminal 100 also determines whether the off information includes the valid period for the off (S1410).
판단 결과 유효 기간에 대한 정보가 포함되어 있으면, 사용자 단말기(100)는 크래시 리포트 기능을 설정된 유효 기간 동안만 오프 시키고, 유효 기간이 지나면 크래시 리포트 기능을 다시 온으로 설정한다. As a result of the determination, if the information on the valid period is included, the user terminal 100 turns off the crash report function only for the set valid period, and sets the crash report function to on again after the valid period expires.
또한, 판단 결과 유효 기간에 대한 정보가 포함되어 있지 않으면, 사용자 단말기(100)는 크래시 리포트 기능을 오프로 설정한다.In addition, if the determination result does not include the information on the valid period, the user terminal 100 sets the crash report function to off.
이후, 만약 크래시 리포트 처리 서버(200)로부터 크래시 리포트 기능을 온 시키기 위한 제어를 위한 데이터가 수신되면, 사용자 단말기(100)는 오프된 크래시 리포트 기능을 온으로 설정할 것이다.Thereafter, if data for control for turning on the crash report function is received from the crash report processing server 200, the user terminal 100 will set the crash report function turned off.
도 15는 본 발명의 실시 예에 따른 크래시 리포트 처리 서버에서 크래시 리포트 기능을 제어하기 위한 과정을 나타내는 흐름도이다.15 is a flowchart illustrating a process for controlling a crash report function in a crash report processing server according to an embodiment of the present invention.
크래시 리포트 처리 서버(200)는 대기 상태에서 사용자 단말(100)로부터 오류 정보가 수신되면, 오류 정보 내에 포함된 앱 부가 정보와 콜스택 정보를 참조하여 리포트 기능 오프가 필요한지 여부를 확인한다.(S1500 ~ S1504)When the crash report processing server 200 receives the error information from the user terminal 100 in the standby state, the crash report processing server 200 refers to the app additional information and the call stack information included in the error information to determine whether the report function is off. ~ S1504)
이를 위해 크래시 리포트 처리 서버(200)는 리포트 기능 오프가 필요한지 여부를 판단하기 위한 기준 정보를 저장할 것이다.To this end, the crash report processing server 200 will store reference information for determining whether the report function is off.
이후, 크래시 리포트 처리 서버(200)는 확인 결과 크래시 리포트 기능 오프가 필요하다고 판단한 경우 크래시 리포트 기능 제어 정보로 오프 정보를 응답 데이터에 포함시켜 생성한다.(S1506, S1508)Then, when the crash report processing server 200 determines that the crash report function is required to be turned off, the crash report processing server 200 generates the crash report function control information by including the off information in the response data (S1506 and S1508).
크래시 리포트 처리 서버(200)는 이와 같이 생성된 응답 데이터를 사용자 단말기(100)로 전송한다.(S1510)The crash report processing server 200 transmits the response data generated as described above to the user terminal 100 (S1510).
하지만, S1506 단계 판단 결과 크래시 리포트 기능 오프가 필요하지 않다고 판단되면, 크래시 리포트 처리 서버(200)는 일반적인 오류 처리 동작을 수행한다.(S1512)However, when it is determined in step S1506 that the crash report function is not necessary, the crash report processing server 200 performs a general error processing operation (S1512).
또한, 크래시 리포트 처리 서버(200)는 크래시 리포트 기능 오프로 제어한 사용자 단말기들에 대한 정보를 별도로 관리하고, 장애 상황 또는 로드가 미리 설정된 기준 이하가 되면 사용자 단말기들로 크래시 리포트 기능을 다시 온으로 설정하기 위한 제어 정보를 포함하는 데이터를 전송하여 크래시 리포트 기능을 온 시킬 수도 있을 것이다.In addition, the crash report processing server 200 separately manages information on user terminals controlled by the crash report function off, and turns the crash report function back on to the user terminals when a failure situation or a load falls below a preset criterion. The crash report function may be turned on by transmitting data including control information for setting.
이상으로 본 발명의 또 다른 실시 예에 따른 크래시 리포트 처리 시스템에서 크래시 리포트 기능 제어를 위한 방법에 대해 설명하였다.As described above, the method for controlling the crash report function in the crash report processing system according to another embodiment of the present invention has been described.
상술한 바와 같은 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템에서 크래시 리포트 처리를 위한 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다.The crash report processing method 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.
이때, 기록매체에 기록된 프로그램은 컴퓨터에서 읽히어 설치되고 실행됨으로써 전술한 기능들을 실행할 수 있다. In this case, the program recorded in the recording medium may be read from a computer, installed and executed to execute the above functions.
여기서, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 기능들을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 컴퓨터의 장치 인터페이스(Interface)를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. Herein, in order for a computer to read a program recorded on a recording medium and execute functions implemented as a program, the above-described program may include C, C ++, and the like, which the computer's processor (CPU) can read through the computer's device interface. Code may be coded in a computer language such as JAVA or machine language.
이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. 또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. 또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.Such code may include a function code associated with a function or the like that defines the above-described functions, and may include execution procedure-related control code necessary for a processor of the computer to execute the above-described functions according to a predetermined procedure. In addition, the code may further include memory reference-related code for additional information or media required for a processor of the computer to execute the above-described functions at which location (address address) of the computer's internal or external memory. . In addition, if the processor of the computer needs to communicate with any other computer or server on the remote in order to execute the above functions, the code may be used to determine which computer the processor of the computer uses the communication module of the computer on the remote. It may further include communication-related codes such as how to communicate with other computers or servers, and what information or media should be transmitted and 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, recording media comprising magnetic media, such as hard disks, floppy disks, and magnetic tape, and compact disk read only memory (CD-ROM). , Optical media such as Digital Video Disk (DVD), magneto-optical media such as Floppy Disk, and ROM (Read Only Memory), RAM And a semiconductor memory such as a random access memory, a flash memory, an erasable programmable ROM (EPROM), and an electrically erasable programmable ROM (EEPROM). The processor and memory can be supplemented by or integrated with special purpose logic circuitry.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. In addition, a functional program for implementing the present invention, codes and code segments associated therewith may be used in consideration of a system environment of a computer that reads a recording medium and executes the program. It may be easily inferred or changed by.
이러한 본 발명의 실시 예들에 따른 각 단계는, 컴퓨터로 실행 가능한 명령어로 구현되어 컴퓨팅 시스템에 의해 실행될 수 있다. 여기서, "컴퓨팅 시스템"은 전자 데이터 상의 동작의 수행과 함께 동작하는 하나 이상의 소프트웨어 모듈, 하나 이상의 하드웨어 모듈, 또는 그 조합으로서 정의된다. 예를 들면, 컴퓨터 시스템의 정의는 퍼스널 컴퓨터의 오퍼레이팅 시스템과 같은 소프트웨어 모듈 및 퍼스널 컴퓨터의 하드웨어 컴포넌트를 포함한다. 모듈의 물리적인 레이아웃(layout)은 중요하지 않다. 컴퓨터 시스템은 네트워크를 통하여 연결된 하나 이상의 컴퓨터를 포함할 수 있다. Each of the steps according to the embodiments of the present invention may be implemented by computer-executable instructions to be executed by the computing system. Here, 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 the performance of an operation on electronic data. For example, the definition of a computer system includes software modules, such as an operating system of a personal computer, and hardware components of the personal computer. The physical layout of the module is not important. The computer system may include one or more computers connected via a network.
마찬가지로, 컴퓨팅 시스템은 메모리 및 프로세서와 같은 내부 모듈이 전자 데이터 상의 동작의 수행과 함께 동작하는 하나의 물리적 장치로 구현될 수 있다.Similarly, a computing system may be implemented as one physical device in which internal modules such as memory and processors operate in conjunction with the performance of operations on electronic data.
즉, 본 발명에 따른 크래시 리포트 처리 시스템에서 크래시 리포트 처리를 위한 장치, 예컨대 사용자 단말기(100), 크래시 리포트 처리 서버(200)는 이하에서 설명하는 컴퓨팅 시스템을 기반으로 상술한 실시 예들을 수행하도록 구현될 수 있다.That is, in the crash report processing system according to the present invention, an apparatus for crash report processing, for example, the user terminal 100 and the crash report processing server 200 may be implemented to perform the above-described embodiments based on the computing system described below. Can be.
도 16은 본 발명의 실시 예에 따른 크래시 리포트 처리 시스템에서 크래시 리포트 처리를 위한 장치의 오퍼레이팅 환경을 도시한 도면이다. 16 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.
도 16 및 이하의 설명은 본 발명이 구현될 수 있는 적절한 컴퓨팅 환경의 간단하고, 일반적인 설명을 제공하고자 한다. 요구사항은 아니지만, 본 발명은 컴퓨터 시스템에 의해 실행되고 있는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 컴퓨터 실행가능 명령어, 관련 데이터 구조, 및 프로그램 모듈은 본 명세서에 개시된 발명의 행위를 실행하는 프로그램 코드 수단의 예를 나타낸다.16 and the following description are intended to provide a simple, general description of a suitable computing environment in which the present invention may be implemented. Although not required, the invention may be described in the context of 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. Computer-executable instructions, associated data structures, and program modules represent examples of program code means for carrying out the operations of the invention disclosed herein.
도 16을 참조하면, 본 발명을 구현하는 예시적인 컴퓨팅 시스템은 프로세싱 유닛(11), 시스템 메모리(12), 및 상기 시스템 메모리(12)를 포함하는 다양한 시스템 컴포넌트를 상기 프로세싱 유닛(11)에 연결시키는 시스템 버스(10)를 포함하는 형태로 된 컴퓨팅 장치를 포함한다. Referring to FIG. 16, an exemplary computing system implementing the present invention connects various system components including processing unit 11, system memory 12, and system memory 12 to the processing unit 11. And a computing device in the form including a system bus 10 for the purpose of designing a system.
프로세싱 유닛(11)은 본 발명의 특징을 구현하도록 설계된 컴퓨터-실행가능 명령어를 실행시킬 수 있다. Processing unit 11 may execute computer-executable instructions designed to implement features of the present invention.
시스템 버스(10)는 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스, 주변 버스, 및 메모리 버스 또는 메모리 컨트롤러를 포함하는 몇 가지 유형의 버스 구조 중의 임의의 것일 수 있다. 시스템 메모리(12)는 ROM(Read Only Memory)(12a) 및 RAM(Random Access Memory)(12b)을 포함한다. 시동중과 같은 때에 컴퓨팅 시스템 내의 구성요소들 간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS)(13a)은 일반적으로 ROM(12a)에 저장될 수 있다. System bus 10 may be any of several types of bus structures, including a local bus, a peripheral bus, and a memory bus or memory controller using any of a variety of bus architectures. The system memory 12 includes a read only memory (ROM) 12a and a random access memory (RAM) 12b. A basic input / output system (BIOS) 13a, which includes basic routines that help transfer information between components within the computing system, such as during startup, can generally be stored in ROM 12a.
컴퓨팅 시스템은 저장 수단을 포함할 수 있는데, 예를 들어, 하드 하드 디스크로부터 정보를 판독하거나 그 하드 디스크에 정보를 기록하는 하드 디스크 드라이브(15), 자기 디스크로부터 정보를 판독하거나 그 자기 디스크에 정보를 기록하는 자기 디스크 드라이브(16), 및 예를 들면, CD-ROM 또는 기타 광 매체 등의 광 디스크로부터 정보를 판독하거나 그 광 디스크에 정보를 기록하는 광 디스크 드라이브(17)를 포함할 수 있다. 하드 디스크 드라이브(15), 자기 디스크 드라이브(16), 및 광 디스크 드라이브(17)는 각각 하드 디스크 드라이브 인터페이스(18), 자기 디스크 드라이브-인터페이스(19), 및 광 드라이브 인터페이스(20)에 의해 시스템 버스(10)에 접속된다. The computing system may comprise storage means, for example, a hard disk drive 15 that reads information from or writes information to a hard disk, information in or reads from a magnetic disk. A magnetic disk drive 16 for recording the data, and an optical disk drive 17 for reading information from or writing information to the optical disk, for example, a CD-ROM or other optical medium. . The hard disk drive 15, the magnetic disk drive 16, and the optical disk drive 17 are each configured by a hard disk drive interface 18, a magnetic disk drive-interface 19, and an optical drive interface 20. It is connected to the bus 10.
또한, 컴퓨팅 시스템은, 저장 수단으로서 외장 메모리(21)를 더 구비할 수 있다. 상기 외장 메모리(21)는 입출력 인터페이스(24)를 통해서 시스템 버스(10)에 접속될 수 있다.In addition, the computing system may further include an external memory 21 as a storage means. The external memory 21 may be connected to the system bus 10 through the input / output interface 24.
상술한 드라이브 및 그 드라이브에 의해 판독 및 기록되는 관련 컴퓨터 판독가능 매체는 컴퓨터 실행가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 비휘발성 저장을 제공한다. 본 명세서에서 기술된 예시적인 환경은 하드 디스크(15), 자기 디스크(16) 및 광 디스크(17)를 예시하고 있으나, 이외에 자기 카세트, 플래쉬 메모리 카드, DVD, 베루누이 카트리지(Bernoulli cartridge), RAM, ROM, 등을 포함하는, 데이터를 저장하는 다른 유형의 컴퓨터 판독가능 매체가 이용될 수 있다.The drive described above and associated computer readable medium read and written by the drive provide for nonvolatile storage of computer executable instructions, data structures, program modules, and other data. The exemplary environment described herein illustrates a hard disk 15, a magnetic disk 16, and an optical disk 17, but in addition to magnetic cassettes, flash memory cards, DVDs, Bernoulli cartridges, RAM Other types of computer readable media may be used to store data, including, ROM, and the like.
상기 프로세싱 유닛(11)에 의해 로딩되어 실행되는, 오퍼레이팅 시스템(13b), 하나 이상의 애플리케이션 프로그램(13c), 기타 프로그램 모듈(13d), 및 프로그램 데이터(13c)를 포함하는 하나 이상의 프로그램 모듈을 포함하는 프로그램 코드 수단은 하드 디스크(15), 자기 디스크(16), 광 디스크(17), ROM(12a) 또는 RAM(12b)에 저장될 수 있다. One or more program modules including an operating system 13b, one or more application programs 13c, other program modules 13d, and program data 13c, which are loaded and executed by the processing unit 11. The program code means may be stored in the hard disk 15, the magnetic disk 16, the optical disk 17, the ROM 12a or the RAM 12b.
아울러, 상기 컴퓨팅 시스템은, 키보드, 포인팅 장치, 마이크로폰, 조이 스틱, 게임 패드, 스캐너, 등과 같은 기타 입력 장치(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 the user through other input devices 22 such as keyboards, pointing devices, microphones, joy sticks, game pads, scanners, and the like. These input devices 22 may be connected to the processing unit 11 via an input / output interface 24 connected to the system bus 10. The input / output interface 24 may be, for example, a high-end device such as a serial port interface, a PS / 2 interface, a parallel port interface, a USB interface, an Institute of Electrical and Electronics Engineers (IEEE) 1394 interface (ie, a FireWire interface). Any of a variety of different interfaces can be represented logically, or even a combination of different interfaces.
더하여, 본 발명이 적용되는 컴퓨팅 시스템은, 모니터 혹은 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 display device 26 such as a monitor or LCD or an audio device 27 such as a speaker or a microphone, which may be connected via a video / audio interface 25. It is connected to the system bus 10. For example, other peripheral output devices (not shown), such as speakers and printers, may also be connected to the computer system 420. The video / audio interface unit 25 may include a high definition multimedia interface (HDMI), a graphics device interface (GDI), or the like.
또한, 본 발명을 실행하는 컴퓨팅 시스템은, 예를 들면, 사무실-광역 또는 기업-광역 컴퓨터 네트워크, 홈 네트워크, 인트라넷, 및/또는 인터넷과 같은 네트워크에 접속 가능하다. 컴퓨터 시스템은 이러한 네트워크를 통해, 예를 들면, 원격 컴퓨터 시스템, 원격 애플리케이션, 및/또는 원격 데이터베이스와 같은 외부 소스들과의 데이터를 교환할 수 있다.In addition, computing systems implementing the present invention may be connected to networks such as, for example, office-wide or enterprise-wide computer networks, home networks, intranets, and / or the Internet. The computer system may exchange data with such external sources 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 comprises a network interface 27 for receiving data from and / or transmitting data from an external source.
본 발명에 있어서, 이러한 컴퓨팅 시스템은, 네트워크 인터페이스(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 devices located remotely through the network interface 27. For example, when the computing system refers to the user terminal 100, information may be exchanged with the crash report processing server 200 through the network interface 27. On the other hand, when the computing system refers to the crash report processing server 200, it can transmit and receive information with the user terminal 100 through the network interface (27). Network interface 27 may be represented by a logical combination of one or more software and / or hardware modules, such as, for example, a network interface card and a corresponding Network Driver Interface Specification (“NDIS”) stack.
마찬가지로, 컴퓨터 시스템은 입출력 인터페이스(24)를 통해 외부 소스로부터 데이터를 수신하거나 외부 소스로 데이터를 전송한다. 입출력 인터페이스(24)는 모뎀(23)(예를 들면, 표준 모뎀, 케이블 모뎀, 또는 디지털 가입자선(digital subscriber line: “DSL”) 모뎀)에 연결될 수 있으며, 이러한 모뎀(23)을 통해 외부 소스로부터 데이터를 수신하고/거나 외부 소스로 데이터를 전송할 수 있다. Similarly, the computer system receives data from or transmits data to an external source via input / output interface 24. The input / output interface 24 may be connected to a modem 23 (eg, a standard modem, cable modem, or digital subscriber line (“DSL”) modem), through which the external source may be connected. Receive data from and / or transmit data to an external source.
도 16은 본 발명에 적절한 오퍼레이팅 환경을 나타내지만, 본 발명의 원리는, 필요하다면 적절한 수정으로, 본 발명의 원리를 구현할 수 있는 임의의 시스템에 채용될 수 있다. 도 16에 도시된 환경은 단지 예시적이며 본 발명의 원리가 구현될 수 있는 매우 다양한 환경의 작은 일부도 나타내지 못한다.16 illustrates an operating environment suitable for the present invention, the principles of the present invention may be employed in any system capable of implementing the principles of the present invention, with appropriate modifications as necessary. The environment shown in FIG. 16 is merely illustrative and does not represent a small portion of the wide variety of environments in which the principles of the present invention may be implemented.
아울러, 본 발명의 크래시 리포트 처리 시스템에서 크래시 리포트 처리 과정 실행 시 발생되는 다양한 정보는 도 16과 같은 컴퓨팅 시스템에 관련된 임의의 컴퓨터 판독가능 매체에 저장되고 액세스될 수 있다. 예를 들면, 이러한 프로그램 모듈들의 일부 및 관련 프로그램 데이터의 일부는, 시스템 메모리(12)에 저장하기 위해, 오퍼레이팅 시스템(13b), 애플리케이션 프로그램(13c), 프로그램 모듈(13d), 및/또는 프로그램 데이터(13e)에 포함될 수 있다.In addition, various information generated when the crash report processing process is executed in the crash report processing system of the present invention may be stored and accessed in any computer readable medium related to the computing system of FIG. 16. For example, some of these program modules and some of the associated program data may be stored in system memory 12 for operating system 13b, application program 13c, program module 13d, and / or program data. It may be included in (13e).
또한, 하드 디스크와 같은 대용량(mass) 저장 장치가 컴퓨팅 시스템에 연결되면, 이러한 프로그램 모듈 및 관련 프로그램 데이터는 대용량 저장 장치에 저장될 수 있다. 네트워크 환경에서, 본 발명과 관련된 프로그램 모듈 또는 그 일부는 입출력 인터페이스(24)의 모뎀(23) 또는 네트워크 인터페이스(25)를 통해 연결된 원격 컴퓨터 시스템에 저장될 수 있다. 이러한 모듈의 실행은 전술한 바와 같이 분산형 환경에서 수행될 수 있다.In addition, when a mass storage device such as a hard disk is connected to the computing system, such program modules and associated 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 modem 23 or network interface 25 of an input / output interface 24. Execution of such modules may be performed in a distributed environment as described above.
이상에서 설명한 바와 같이, 본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.As described above, the specification includes the details of a number of specific implementations, but these should not be understood as being limited to the scope of any invention or claimable, but rather may be specific to a particular embodiment of a particular invention. It should be understood as a description of the features. Certain features that are described in this specification in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable subcombination. Furthermore, while the features may operate in a particular combination and may be initially depicted as so claimed, one or more features from the claimed combination may in some cases be excluded from the combination, the claimed combination being a subcombination Or a combination of subcombinations.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.Likewise, although the operations are depicted in the drawings in a specific order, it should not be understood that such operations must be performed in the specific order or sequential order shown in order to obtain desirable results or that all illustrated operations must be performed. In certain cases, multitasking and parallel processing may be advantageous. Moreover, 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 that it can.
본 명세서에서 설명한 주제의 특정한 실시형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다. 예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.Specific embodiments of the subject matter described in this specification have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order but still achieve desirable results. As an example, the process depicted in the accompanying drawings does not necessarily require that particular illustrated or sequential order to obtain desirable results. In certain implementations, multitasking and parallel processing may be advantageous.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.The foregoing description presents the best mode of the invention, and provides examples to illustrate the invention and to enable those skilled in the art to make and use the invention. The specification thus produced is not intended to limit the invention to the specific terms presented. Thus, while the present invention has been described in detail with reference to the above examples, those skilled in the art can make modifications, changes, and variations to the examples without departing from the scope of the invention.
따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Therefore, the scope of the present invention should be determined by the claims rather than by the described embodiments.
본 발명은 본 발명은 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치에 관한 것으로, 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 서버단으로 선택적으로 오류 전송을 하거나, 오버헤드 성격의 중복적인 단말로그를 보내지 않도록 하여 보다 효율적인 크래시 리포트를 할 수 있도록 하거나, 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 오류 정보 전송 동작을 수행하는 크래시 리포트 기능의 온/오프(On/OFF)를 제어하기 위한 크래시 리포트 처리 시스템 및 그 시스템에서의 크래시 리포트 처리를 위한 장치에 관한 것이다. The present invention relates to a crash report processing system and an apparatus for processing a crash report in the system, and when the application running the user terminal capable of crash report for the application is abnormally terminated, error transmission to the server end selectively Or a crash report that enables more efficient crash reports by not sending an overlapping terminal log of an overhead nature, or performs an error information transmission operation when an application running a user terminal capable of crash reports is abnormally terminated. A crash report processing system for controlling on / off of a function and an apparatus for crash report processing in the system.
본 발명에 의하면, 본 발명의 크래시 리포트 처리 시스템은 단말에 설치된 어플리케이션 비 정상 종료(Crash) 시 단말에서 서버로 전달되는 정보를 2단계 즉, 단말이 서버로 오류로그를 전달 보내는데 있어 필수단계(1차)와 옵션단계(2차)로 분리함으로써 네트워크와 트래픽(traffic)과 서버 시스템을 효율적으로 운영할 수 있다. 또한, 본 발명은 단말에 설치된 어플리케이션이 비 정상 종료(Crash) 될 때 어플리케이션의 종류/상태/오류필터에 따라, 단말이 어플리케이션의 오류 내용을 서버에 전달을 할 것인지 여부를 제어하여 서비스 운영의 유연성을 제공할 수 있다. 즉, 본 발명은 어플리케이션에 대한 크래시 리포트 가능한 사용자 단말이 실행중인 어플리케이션이 비정상 종료될 시 오버헤드 성격의 중복적인 단말로그를 보내지 않도록 하여 보다 효율적인 크래시 리포트를 할 수 있게 되며, 이를 통해 어플리케이션 서비스 산업의 발전에 이바지할 수 있다.According to the present invention, the crash report processing system of the present invention is an essential step in transmitting information transmitted from the terminal to the server in two steps, that is, the terminal transmits an error log to the server at the time of an application crash installed in the terminal (1). By dividing into 2) and optional (secondary), network, traffic and server system can be operated efficiently. In addition, the present invention provides flexibility of service operation by controlling whether the terminal delivers the error content of the application to the server according to the type / status / error filter of the application when the application installed in the terminal is crashed. Can be provided. In other words, the present invention enables a crash report on an application to be prevented from sending a duplicate terminal log of an overhead when the running application is abnormally terminated, thereby enabling a more efficient crash report. It can contribute to development.
또한, 사용자 단말기에 설치된 소정의 어플리케이션이 비정상적으로 종료하면, 어플리케이션에 내장된 크래시 에이젼트가 크래시 리포트 오류정보인 콜스택, 단말부가정보(단말모델명, 버젼), 어플리케이션부가정보(어플리케이션명, 어플리케이션 버전정보), 기타 단말 로그를 크래시 리포트 처리 서버로 전송한다. 그러면, 크래시 리포트 처리 서버가 수신한 오류정보에서 어플리케이션 부가정보와 콜스택 정보를 참조하여 해당 어플리케이션에서 크래시 리포트 기능의 오프(Off)가 필요한지 여부를 판단하고, 오프가 필요하다고 판단된 경우에는 해당 어플리케이션에 대해 크래시 리포트 기능의 오프 정보를 응답 데이터에 생성한 후 사용자 단말기로 전송한다. 또한, 사용자 단말기가 이와 같은 응답 데이터를 수신하여, 응답 데이터에 포함된 크래시 리포트 기능 제어 정보를 확인하고, 제어 정보가 크래시 리포트 기능을 오프시키기 위한 정보가 포함되어 있다면 크래시 리포트 기능을 오프시킨다. 또한, 이와 같이 크래시 리포트 기능이 오프되면, 어플리케이션 비정상 종료 이벤트가 발생해도 크래시 리포트를 전송하지 않는다. 또한, 만약 크래시 리포트 기능 제어 정보에 오프에 대한 유효 기간 정보가 포함되어 있다면, 사용자 단말기는 설정된 유효 기간 동안만 크래시 리포트 기능을 오프시킨다. 즉, 사용자 단말기(100)는 설정된 유효 기간이 만료하면 다시 크래시 리포트 기능을 온 시키고, 이후 소정 어플리케이션에 대한 비정상 종료 이벤트가 발생할 시 비정상 종료 로그를 생성하여 크래시 리포트 처리 서버로 전송한다.In addition, when a predetermined application installed in the user terminal is abnormally terminated, the crash agent embedded in the application causes the call stack, crash report error information, terminal additional information (terminal model name and version), and application additional information (application name and application version information). ) And other terminal logs to the crash report processing server. Then, it is determined whether the crash report function needs to be turned off in the corresponding application by referring to the application additional information and the call stack information from the error information received by the crash report processing server, and if the off application is determined to be off, Off information of the crash report function is generated in the response data and then transmitted to the user terminal. In addition, the user terminal receives such response data, confirms crash report function control information included in the response data, and turns off the crash report function if the control information includes information for turning off the crash report function. In addition, if the crash report function is turned off in this manner, even if an application abnormal termination event occurs, the crash report is not transmitted. In addition, if the crash report function control information includes the valid period information for the off, the user terminal turns off the crash report function only for the set valid period. That is, the user terminal 100 turns on the crash report function again when the set validity period expires, and then generates an abnormal termination log and transmits it to the crash report processing server when an abnormal termination event for a predetermined application occurs.
이렇게 함으로써, 특정 단말의 특성 혹은 애플리케이션의 잘못된 배포 등으로 애플리케이션의 비정상 종료가 특정 단말모델 혹은 모든 단말에서 빈번히 과다 크래시 및 반복적 크래시에 따라 단말기를 사용할 수 없는 상황, 그리고 이에 따른 트래픽 과다로 크래시 리포트 서버의 셧다운 혹은 크래시 리포트 서버 성능 저하의 문제점을 해결할 수 있다.By doing so, the abnormal termination of the application due to the characteristics of the specific terminal or the wrong distribution of the application, the terminal can not be used due to frequent crashes and repetitive crashes in a specific terminal model or all terminals, and the crash report server due to excessive traffic This can solve the problem of shutdown or crash report server performance.
또한, 비정상 종료가 과다하게 그리고 빈번하게 발생하는 경우 단말과 크래시 리포트 서버에 정상적으로 서비스가 어려운 장애상황이 발생할 수 있음에 따라, 크래시 리포트 서버에서 크래시 리포트 기능을 오프(off) 시키는 기능을 제공하여 단말과 서버의 가용성을 높일 수 있게 된다.In addition, when abnormal termination occurs excessively and frequently, the terminal and the crash report server may be in a trouble situation in which service is difficult, so that the crash report server may provide a function of turning off the crash report function. This will increase the availability of servers and servers.
즉, 사용자 단말기의 어플리케이션에서 비정상 오류가 지나치게 많이 발생하는 경우 서버에 과부하를 줌에 따라 정상적인 서버 운영이 되지 못하는 문제점을 크래시 리포트 기능 온(on)/오프(off) 제어 방식을 도입함으로써 과부하 이슈를 사전에 예방할 수 있으며, 이를 통해 어플리케이션 서비스 산업의 발전에 이바지할 수 있다.In other words, if an excessive number of abnormal errors occur in the application of the user terminal, the crash report function on / off control method is introduced. This can be prevented in advance, thereby contributing to the development of the application services industry.
더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.In addition, the present invention has industrial applicability because the present invention is not only sufficiently commercially available or commercially viable, but also practically clearly implemented.

Claims (20)

  1. 어플리케이션 비정상 종료 발생에 따른 오류 정보를 포함하는 크래시 리포트를 수신하고, 수신한 크래시 리포트를 기반으로 오류를 처리하는 크래시 리포트 처리 서버;A crash report processing server configured to receive a crash report including error information according to an application abnormal termination and to process an error based on the received crash report;
    실행 중인 어플리케이션에 대해 비정상 종료 발생 시 오류 보고를 위한 크래시 리포트의 적어도 일부 정보를 선택적으로 상기 크래시 리포트 처리 서버로 전송하는 사용자 단말기;A user terminal for selectively transmitting at least some information of a crash report for error reporting to a crash report processing server when an abnormal termination occurs for a running application;
    를 포함하는 것을 특징으로 하는 크래시 리포트 처리 시스템. Crash report processing system comprising a.
  2. 제1항에 있어서, 상기 크래시 리포트는,The method of claim 1, wherein the crash report,
    콜스택, 단말 부가정보, 어플리케이션 부가정보, 비정상 종료 시점의 단말 로그 정보 중 적어도 하나의 정보를 포함하고,And at least one of call stack, terminal additional information, application additional information, and terminal log information at an abnormal termination point.
    상기 단말 부가정보는 단말 모델명, OS버젼 정보 중 적어도 하나의 정보를 포함하고, 상기 어플리케이션 부가정보는 어플리케이션명, 어플리케이션 버전정보 중 적어도 하나의 정보를 포함하는 것을 특징으로 하는 크래시 리포트 처리 시스템. And the terminal additional information includes at least one information of a terminal model name and OS version information, and the application additional information includes at least one of application name and application version information.
  3. 제2항에 있어서, 상기 사용자 단말기는,The method of claim 2, wherein the user terminal,
    상기 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 콜스택, 단말 부가정보, 어플리케이션 부가정보를 포함하는 1차 데이터를 상기 크래시 리포트 처리 서버로 전송하고, 상기 크래시 리포트 처리 서버로부터 단말 로그 정보에 대한 요청이 있으면, 단말 로그 정보를 포함하는 2차 데이터를 상기 크래시 리포트 처리 서버로 전송하는 것을 특징으로 하는 크래시 리포트 처리 시스템.When abnormal termination occurs for the running application, the primary data including call stack, terminal additional information, and application additional information is transmitted to the crash report processing server, and if there is a request for terminal log information from the crash report processing server. And transmitting secondary data including terminal log information to the crash report processing server.
  4. 제2항에 있어서, 상기 사용자 단말기는,The method of claim 2, wherein the user terminal,
    상기 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 상기 크래시 리포트 처리 서버로 비정상 종료로그 전송여부에 대한 정책을 요청하고, 상기 크래시 리포트 처리 서버로부터 상기 정책이 수신되면 비정상 종료 시점의 오류 정보와 상기 정책과 비교한 후 정책에 부합하면 상기 크래시 리포트를 상기 크래시 리포트 처리 서버로 전송하는 것을 특징으로 하는 크래시 리포트 처리 시스템.Requests a policy for whether or not an abnormal termination log is transmitted to the crash report processing server when an abnormal termination occurs for the running application, and compares the error information at the abnormal termination time with the policy when the policy is received from the crash report processing server. And sending the crash report to the crash report processing server if it meets the policy.
  5. 제3항에 있어서, 상기 크래시 리포트 처리 서버는, The crash report processing server of claim 3, wherein the crash report processing server comprises:
    상기 사용자 단말기로부터 상기 1차 데이터가 수신되면 상기 수신한 1차 데이터를 기반으로 해당 오류가 신규 오류인지 등록된 오류인지를 판단하고, 상기 판단 결과 신규 오류인 경우 상기 사용자 단말기로 2차 데이터를 요청하고, 상기 판단 결과 등록 오류인 경우 상기 사용자 단말기로 세션 종료를 요청하는 것을 특징으로 하는 크래시 리포트 처리 시스템. When 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 result is the new error, request the secondary data from the user terminal. And requesting the end of the session to the user terminal if the registration result is a registration error.
  6. 제4항에 있어서, 상기 크래시 리포트 처리 서버는, The method of claim 4, wherein the crash report processing server,
    상기 사용자 단말기로부터 비정상 종료로그 전송여부에 대한 정책 요청이 있으면, 미리 저장된 정책을 상기 사용자 단말기로 전송하는 것을 특징으로 하는 크래시 리포트 처리 시스템.And transmitting a pre-stored policy to the user terminal when a policy request is received from the user terminal for transmission of an abnormal termination log.
  7. 제4항에 있어서, 상기 비정상 종료로그 전송여부에 대한 정책은,The method of claim 4, wherein the policy on whether or not to send the abnormal termination log is
    어플리케이션 별로 설정되고, 종류, 상태, 필터 중 적어도 하나의 설정 정보를 포함하고,It is set for each application, and includes at least one setting information of type, state, filter,
    상기 종류 정보는 액티비티(Activity), 브로드캐스트 리시버인 경우에는 전송하도록 설정하고, 서비스이거나 컨텐츠 프로바이더인 경우에는 전송하지 않도록 설정한 정보이고,The type information is information set to be transmitted in case of activity and broadcast receiver, and not set to be transmitted in case of service or content provider.
    상기 상태 정보는 포어 그라운드이면 전송하도록 설정하고, 포어 그라운드가 아니라면 전송하지 않도록 설정한 정보이고,The state information is information set to transmit if the foreground, and not set to transmit if not the foreground,
    상기 필터 정보는 단말 플랫폼이 야기한 특정 오류 리스트에 포함되는 경우에는 전송하도록 설정한 정보인 것을 특징으로 하는 크래시 리포트 처리 시스템.And 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. 제7항에 있어서, 상기 비정상 종료로그 전송여부에 대한 정책은,The method of claim 7, wherein the policy on whether or not to transmit abnormal termination log,
    연산 공식에 대한 정보를 더 포함하고,Further includes information about the operation formula,
    상기 연산 공식은 상기 종류와 상기 상태가 전송하도록 설정된 조건에 해당되는 경우에만 상기 사용자 단말기가 오류 로그를 상기 크래시 리포트 처리 서버로 전송하도록 하며, 상기 필터에 명시된 오류 리스트는 상기 사용자 단말기에서 오류가 발생하더라고 오류 로그를 전송하지 않도록 설정된 공식인 것을 특징으로 하는 크래시 리포트 처리 시스템.The operation formula causes the user terminal to transmit an error log to the crash report processing server only when the type and the condition are set to transmit, and the error list specified in the filter causes an error in the user terminal. The crash report processing system, characterized in that the formula is set not to send the error log.
  9. 크래시 리포트 처리 서버와의 통신을 위한 인터페이스부;An interface unit for communicating with a crash report processing server;
    실행 중인 어플리케이션에 대해 비정상 종료 발생 시 상기 통신 인터페이스를 통해 오류 보고를 위한 크래시 리포트의 적어도 일부 정보를 선택적으로 크래시 리포트 처리 서버로 전송하는 크래시 리포트 에이젼트;A crash report agent that selectively transmits at least some information of a crash report for error reporting to the crash report processing server through the communication interface when an abnormal termination occurs for a running application;
    를 포함하는 것을 특징으로 하는 크래시 리포트 처리를 위한 장치.Apparatus for crash report processing comprising a.
  10. 적어도 하나의 사용자 단말기와의 통신을 위한 통신 인터페이스;A communication interface for communicating with at least one user terminal;
    어플리케이션 별로 비정상 종료로그 전송여부를 판단하기 위한 기준이 되는 정책을 저장하는 저장 모듈;A storage module for storing a policy serving as a criterion for determining whether to transmit abnormal termination log for each application;
    상기 통신 인터페이스를 통해 상기 사용자 단말기로부터 비정상 종료로그 전송여부에 대한 정책 요청이 있으면, 상기 저장 모듈에 저장된 정책을 상기 통신 인터페이스를 통해 상기 사용자 단말기로 전송하고, 상기 통신 인터페이스를 통해 상기 사용자 단말기로부터 오류 관련 필수 정보를 포함하는 1차 데이터가 수신되면 상기 수신한 1차 데이터를 기반으로 해당 오류가 신규 오류인지 등록된 오류인지를 판단하고, 상기 판단 결과 신규 오류인 경우 상기 통신 인터페이스를 통해 상기 사용자 단말기로 2차 데이터인 단말 로그 정보를 요청하고, 상기 판단 결과 등록 오류인 경우 상기 통신 인터페이스를 통해 상기 사용자 단말기로 세션 종료를 요청하는 크래시 리포트 처리 모듈;If there is a policy request for transmission of abnormal termination log from the user terminal through the communication interface, the policy stored in the storage module is transmitted to the user terminal through the communication interface, and an error is received from 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 when the determination result is a new error, the user terminal through the communication interface. A crash report processing module for requesting terminal log information, which is secondary data, to request session termination to the user terminal through the communication interface if the registration result is a registration error;
    을 포함하는 것을 특징으로 하는 크래시 리포트 처리를 위한 장치.Apparatus for crash report processing comprising a.
  11. 실행 중인 어플리케이션에 대해 비정상 종료 발생 시 오류 보고를 위한 크래시 리포트를 크래시 리포트 처리 서버로 전송하는 사용자 단말기;A user terminal for transmitting a crash report for crash reporting to a crash report processing server when an abnormal termination occurs for a running application;
    상기 사용자 단말기로부터 크래시 리포트를 수신하면, 상기 수신한 크래시 리포트에 포함된 일부 오류 정보를 참조하여 오류 발생한 어플리케이션이 크래시 리포트 기능 오프 제어가 필요한 어플리케이션으로 설정되어 있는지 판단하고, 판단 결과 상기 오류 발생한 어플리케이션에 대한 크래시 리포트 기능 오프 제어가 필요한 경우 상기 크래시 리포트 기능을 오프하도록 제어하기 위한 오프 제어 정보를 응답 데이터로 생성하여 상기 사용자 단말기로 전송하는 크래시 리포트 처리 서버;When the crash report is received from the user terminal, it is determined whether the application in error is set as an application requiring the crash report function off control by referring to some error information included in the received crash report. A crash report processing server for generating off response information for controlling to turn off the crash report function as response data and transmitting the response report to the user terminal when the crash report function off control is required;
    를 포함하는 것을 특징으로 하는 크래시 리포트 처리 시스템. Crash report processing system comprising a.
  12. 제11항에 있어서, 상기 크래시 리포트는,The method of claim 11, wherein the crash report,
    콜스택, 단말 부가정보, 어플리케이션 부가정보, 비정상 종료 시점의 단말 로그 정보 중 적어도 하나의 정보를 포함하고,And at least one of call stack, terminal additional information, application additional information, and terminal log information at an abnormal termination point.
    상기 단말 부가정보는 단말 모델명, OS버젼 정보 중 적어도 하나의 정보를 포함하고, 상기 어플리케이션 부가정보는 어플리케이션명, 어플리케이션 버전정보 중 적어도 하나의 정보를 포함하는 것을 특징으로 하는 크래시 리포트 처리 시스템. And the terminal additional information includes at least one information of a terminal model name and OS version information, and the application additional information includes at least one of application name and application version information.
  13. 제12항에 있어서, 상기 크래시 리포트 처리 서버는, The method of claim 12, wherein the crash report processing server,
    상기 사용자 단말기로부터 크래시 리포트를 수신하면, 상기 수신한 크래시 리포트에 포함된 어플리케이션 부가정보와 콜스택을 참조하여 오류 발생한 어플리케이션이 크래시 리포트 기능 오프 제어가 필요한 어플리케이션으로 설정되어 있는지 판단하는 것을 특징으로 하는 크래시 리포트 처리 시스템.When the crash report is received from the user terminal, the crash may be determined by referring to the application additional information and the call stack included in the received crash report to determine whether the crashed application is set as an application requiring the crash report function off control. Report processing system.
  14. 제11항에 있어서, 상기 사용자 단말기는,The method of claim 11, wherein the user terminal,
    상기 크래시 리포트 처리 서버로부터 상기 응답 데이터를 수신하면, 수신한 응답 데이터에 포함된 오프 제어 정보를 확인하여 해당 어플리케이션에 대한 크래시 리포트 기능을 오프로 설정하는 것을 특징으로 하는 크래시 리포트 처리 시스템.And receiving the response data from the crash report processing server, checking the off control information included in the received response data, and setting the crash report function for the corresponding application to off.
  15. 제11항에 있어서, 상기 크래시 리포트 처리 서버는, The method of claim 11, wherein the crash report processing server,
    상기 크래시 리포트 기능을 오프하도록 제어하기 위한 오프 제어 정보를 응답 데이터로 생성할 시 상기 오프 제어 정보에 오프 유효 기간 정보도 포함시켜 생성하는 것을 특징으로 하는 크래시 리포트 처리 시스템.And generating off validity period information in the off control information when generating off control information as response data for controlling to turn off the crash report function.
  16. 제15항에 있어서, 상기 사용자 단말기는,The method of claim 15, wherein the user terminal,
    상기 크래시 리포트 처리 서버로부터 상기 응답 데이터를 수신하면, 수신한 응답 데이터에 포함된 오프 제어 정보를 확인하여 해당 어플리케이션에 대한 크래시 리포트 기능을 오프로 설정하고, 상기 오프 제어 정보에 오프 유효 기간 정보가 포함된 경우 해당 어플리케이션에 대한 크래시 리포트 기능을 상기 유효 기간 동안만 오프시키도록 설정하는 것을 특징으로 하는 크래시 리포트 처리 시스템.Upon receiving the response data from the crash report processing server, the off control information included in the received response data is checked to set the crash report function for the corresponding application to off, and the off control period information includes off valid period information. The crash report function for the corresponding application only to be turned off during the valid period.
  17. 크래시 리포트 처리 서버와의 통신을 위한 인터페이스부;An interface unit for communicating with a crash report processing server;
    실행 중인 어플리케이션에 대해 비정상 종료 발생 시 오류 보고를 위한 크래시 리포트를 상기 통신 인터페이스를 통해 크래시 리포트 처리 서버로 전송하고, 상기 크래시 리포트 처리 서버로부터 오류 발생한 어플리케이션에 대한 크래시 리포트 기능을 오프하기 위한 오프 제어 정보를 포함하는 응답 데이터를 수신하면, 해당 어플리케이션에 대한 크래시 리포트 기능을 오프로 설정하는 크래시 리포트 에이젼트;Off control information for transmitting a crash report for error reporting to a crash report processing server through the communication interface when an abnormal termination occurs for a running application, and turning off the crash report function for an error application from the crash report processing server. Receiving response data including a crash report agent to turn off the crash report function for the application;
    를 포함하는 것을 특징으로 하는 크래시 리포트 처리를 위한 장치.Apparatus for crash report processing comprising a.
  18. 제17항에 있어서, 크래시 리포트 에이젼트는,18. The crash report agent of claim 17 wherein the crash report agent is
    상기 수신한 응답 데이터에 포함된 오프 제어 정보를 확인하여 해당 어플리케이션에 대한 크래시 리포트 기능을 오프로 설정하고, 상기 오프 제어 정보에 오프 유효 기간 정보가 포함된 경우 해당 어플리케이션에 대한 크래시 리포트 기능을 상기 유효 기간 동안만 오프시키도록 설정하는 것을 특징으로 하는 크래시 리포트 처리를 위한 장치.Check the off control information included in the received response data to set the crash report function for the corresponding application to off, and if the off control information includes off valid period information, the crash report function for the corresponding application is valid. Apparatus for crash report processing characterized in that it is set to be turned off only for a period of time.
  19. 적어도 하나의 사용자 단말기와의 통신을 위한 통신 인터페이스;A communication interface for communicating with at least one user terminal;
    크래시 리포트 기능 오프 제어가 필요한 어플리케이션에 대한 설정 정보를 저장하는 저장 모듈;A storage module that stores setting information about an application requiring crash report function off control;
    상기 통신 인터페이스를 통해 상기 사용자 단말기로부터 크래시 리포트를 수신하면, 상기 수신한 크래시 리포트에 포함된 어플리케이션 부가정보와 콜스택을 참조하여 오류 발생한 어플리케이션이 크래시 리포트 기능 오프 제어가 필요한 어플리케이션으로 설정되어 있는지 판단하고, 판단 결과 상기 오류 발생한 어플리케이션에 대한 크래시 리포트 기능 오프 제어가 필요한 경우 상기 크래시 리포트 기능을 오프하도록 제어하기 위한 오프 제어 정보를 응답 데이터로 생성하여 상기 통신 인터페이스를 통해 상기 사용자 단말기로 전송하는 크래시 리포트 처리 모듈;When the crash report is received from the user terminal through the communication interface, the application side information and the call stack included in the received crash report are referred to to determine whether the error application is set as an application requiring the crash report function off control. If it is determined that the crash report function off control is required for the application in which the error occurs, the crash report process of generating off control information for controlling to turn off the crash report function as response data and transmitting the response data to the user terminal through the communication interface. module;
    을 포함하는 것을 특징으로 하는 크래시 리포트 처리를 위한 장치.Apparatus for crash report processing comprising a.
  20. 제19항에 있어서, 상기 크래시 리포트 처리 모듈은,The method of claim 19, wherein the crash report processing module,
    상기 크래시 리포트 기능을 오프하도록 제어하기 위한 오프 제어 정보를 응답 데이터로 생성할 시 상기 오프 제어 정보에 오프 유효 기간 정보도 포함시켜 생성하는 것을 특징으로 하는 크래시 리포트 처리를 위한 장치.And generating off valid period information in the off control information when generating off control information for controlling to turn off the crash report function as response data.
PCT/KR2015/012729 2015-02-16 2015-11-25 Crash report processing system and apparatus for processing crash report in same system WO2016133271A1 (en)

Applications Claiming Priority (4)

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
KR10-2015-0023636 2015-02-16
KR1020150023636A KR20160101327A (en) 2015-02-16 2015-02-16 Crash report processing system and apparatus for controlling crash report function in the system
KR10-2015-0023635 2015-02-16

Publications (1)

Publication Number Publication Date
WO2016133271A1 true WO2016133271A1 (en) 2016-08-25

Family

ID=56692692

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/012729 WO2016133271A1 (en) 2015-02-16 2015-11-25 Crash report processing system and apparatus for processing crash report in same system

Country Status (1)

Country Link
WO (1) WO2016133271A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108132852A (en) * 2018-01-08 2018-06-08 有米科技股份有限公司 Collapse method, apparatus, computer equipment and storage medium that exception information is collected
CN110362464A (en) * 2018-04-11 2019-10-22 腾讯科技(深圳)有限公司 Software analysis method and equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020062690A (en) * 2001-01-23 2002-07-29 코닌클리케 필립스 일렉트로닉스 엔.브이. Method of reporting errors occurring in the execution of a program in an electronic terminal
US20040205421A1 (en) * 2000-06-23 2004-10-14 Microsoft Corporation Method and system for reporting failures of a program module in a corporate environment
US20050066234A1 (en) * 2003-09-24 2005-03-24 International Business Machines Corporation Method and system for identifying errors in computer software
KR20100085127A (en) * 2007-10-23 2010-07-28 콸콤 인코포레이티드 Management of failures in wireless field devices
US20110271341A1 (en) * 2010-04-28 2011-11-03 Symantec Corporation Behavioral signature generation using clustering

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205421A1 (en) * 2000-06-23 2004-10-14 Microsoft Corporation Method and system for reporting failures of a program module in a corporate environment
KR20020062690A (en) * 2001-01-23 2002-07-29 코닌클리케 필립스 일렉트로닉스 엔.브이. Method of reporting errors occurring in the execution of a program in an electronic terminal
US20050066234A1 (en) * 2003-09-24 2005-03-24 International Business Machines Corporation Method and system for identifying errors in computer software
KR20100085127A (en) * 2007-10-23 2010-07-28 콸콤 인코포레이티드 Management of failures in wireless field devices
US20110271341A1 (en) * 2010-04-28 2011-11-03 Symantec Corporation Behavioral signature generation using clustering

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108132852A (en) * 2018-01-08 2018-06-08 有米科技股份有限公司 Collapse method, apparatus, computer equipment and storage medium that exception information is collected
CN108132852B (en) * 2018-01-08 2022-03-11 有米科技股份有限公司 Method and device for collecting crash exception information, computer equipment and storage medium
CN110362464A (en) * 2018-04-11 2019-10-22 腾讯科技(深圳)有限公司 Software analysis method and equipment

Similar Documents

Publication Publication Date Title
WO2013154380A1 (en) Method for operating software defined radio application
WO2019124981A1 (en) Method for providing communication service using secure element and electronic device thereof
WO2015108283A1 (en) Application error detection method for cloud streaming service, and apparatus and system therefor
WO2013058423A1 (en) Electronic device and method for operating the electronic device
WO2016032231A1 (en) Method for managing beacon, terminal device, server and storage medium
WO2018028135A1 (en) Downlink data information feedback method and relevant device
WO2018143674A1 (en) Electronic apparatus and controlling method thereof
WO2016064250A2 (en) Device and method for adaptively changing task-performing subjects
WO2017104925A1 (en) Wireless mesh network management method, device therefor, and recording medium in which computer program for executing same is recorded
WO2020022578A1 (en) Electronic device using wireless charging to control communication channel, and method for operation of electronic device
WO2019045271A1 (en) Battery mounting structure and electronic device having the same
WO2019143081A1 (en) Method and electronic device for controlling data communication
WO2016036069A1 (en) Method and electronic device for providing data
WO2019139247A1 (en) Electronic device for managing embedded subscriber identification module and method for same
WO2021201620A1 (en) Electronic device for performing edge computing service and method for the same
WO2019066343A1 (en) Method and device for communication between electronic devices
WO2017080403A1 (en) Projection equipment control method, projection equipment and smart terminal
WO2022055291A1 (en) Electronic device and method for updating electronic device
WO2020149722A1 (en) Working environment provisioning method and apparatus for execution of application program between electronic device and external server
WO2013187719A1 (en) A method and system to notify users activity during an ongoing communication session
WO2016133271A1 (en) Crash report processing system and apparatus for processing crash report in same system
WO2017080409A1 (en) Method of transferring digital media content playback and associated apparatus
WO2020101288A1 (en) User equipment, server, control method of the user equipment and control method of the server
WO2015093790A1 (en) Method and apparatus for controlling virtual switching
WO2021054705A1 (en) Dynamic reconfiguration method of functional blocks constituting radio application in reconfigurable radio device having plurality of radio computers

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15882804

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15882804

Country of ref document: EP

Kind code of ref document: A1