KR20140055282A - 사용자 단말에서의 웹 어플리케이션 오류 분석 시스템, 장치 및 방법 - Google Patents

사용자 단말에서의 웹 어플리케이션 오류 분석 시스템, 장치 및 방법 Download PDF

Info

Publication number
KR20140055282A
KR20140055282A KR1020120121895A KR20120121895A KR20140055282A KR 20140055282 A KR20140055282 A KR 20140055282A KR 1020120121895 A KR1020120121895 A KR 1020120121895A KR 20120121895 A KR20120121895 A KR 20120121895A KR 20140055282 A KR20140055282 A KR 20140055282A
Authority
KR
South Korea
Prior art keywords
error
user terminal
web application
user
web
Prior art date
Application number
KR1020120121895A
Other languages
English (en)
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
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to KR1020120121895A priority Critical patent/KR20140055282A/ko
Publication of KR20140055282A publication Critical patent/KR20140055282A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics

Abstract

본 발명은 사용자 단말에서 실행 중인 웹 어플리케이션이 비정상적으로 종료되거나 또는 동작이 중지되면 사용자 단말에서 웹 어플리케이션에서 발생한 오류 정보를 추출하여 오류 분석 장치로 전송하고 오류 분석 장치는 사용자 단말로부터 수신한 오류 정보에 의해 발생 원인을 명확하게 분석하고, 각 사용자가 자주 접속한 페이지, 접속 단말의 특성 등에 관한 사용자별 활동 패턴을 분석할 수 있는 사용자 단말에서의 웹 어플리케이션 오류 분석 시스템, 장치 및 방법을 제공한다.

Description

사용자 단말에서의 웹 어플리케이션 오류 분석 시스템, 장치 및 방법{WEB APPALICATION ERROR ANALISIS SYSTEM, APPARATUS AND METHOD FOR USER TERMINAL}
본 발명은 사용자 단말에서의 웹 어플리케이션 오류 분석 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 사용자 단말에서 실행 중인 웹 어플리케이션이 비정상적으로 종료되거나 혹은 동작이 중지된 경우 웹 어플리케이션의 오류 정보 및 로그 정보를 수집하여 오류의 발생 원인을 분석하고 각 사용자가 자주 접속하는 페이지, 접속 단말 등에 관한 활동 패턴을 분석할 수 있는 사용자 단말에서의 웹 어플리케이션 오류 분석 시스템, 장치 및 방법에 관한 것이다.
최근 사용자 단말에서 인터넷이 가능해지고 대중화되면서 다양한 웹 기반의 콘텐츠 산업과 웹 기반의 어플리케이션 산업이 활성화되고 있다.
이에 따라, 사용자 단말, 특히 모바일 단말에는 다양한 어플리케이션이 탑재되는데, 어플리케이션은 구현 방식에 따라 네이티브 어플리케이션(native application)과 웹 어플리케이션(web application)으로 구분할 수 있다.
네이티브 어플리케이션은 디바이스에 내장된 상태로 제공되는 응용 프로그램으로서 내장 어플리케이션(built-in application) 또는 시스템 어플리케이션(system application) 등으로 불리운다. 보통 네이티브 어플리케이션은 C 또는 C++ 등의 네이티브 코드로 작성되며 컴파일(compile)된 소프트웨어 로직(사용자 인터페이스(user interface: UI)에 대응되는 사용자 인터페이스 로직) 및 데이터 등이 어플리케이션에 포함되기 때문에, 어플리케이션의 실행 시 플랫폼에 기반하여 바로 실행된다.
웹 어플리케이션은 웹을 기반으로 실행되는 프로그램으로서, HTML(Hyper Text Markup Language), 자바스크립트(Javascript), CSS(Cascading Style Sheets) 등의 웹 코드로 작성된다. 따라서, 어플리케이션의 실행 시 사용자 단말은 브라우저 엔진(browser engine)을 통해 웹 코드를 해석하여 실행한다.
그런데, 웹 어플리케이션은 사용자의 요구에 맞추어 변형이 가능하다는 점에서 네이티브 어플리케이션에 비해 개발이 쉬운 장점이 있지만, 사용자의 실행 시 모든 기능들이 웹 브라우저를 경유해 간접적으로 실행되기 때문에 네이티브 어플리케이션에 비해 동작 속도가 느리다는 단점이 있다.
또한, 웹 어플리케이션은 네이티브 어플리케이션과 같이 각 디바이스 환경 특성(OS 등)에 맞추어서 설계되는 것이 아니므로, 개발하는 과정에서는 원활하게 동작하던 것이 직접 사용자 단말에 다운로드하여 실행하게 되면 예기치 못한 오류가 발생하는 경우가 많다.
이 경우, 사용자 단말에서 발생한 오류에 대하여 프로그램 관리자 게시판에 올린다든가 아니면 관리자에게 전자메일을 통하여 통보하는 등의 방법으로 에러를 신고하지 않으면 프로그램 개발자 측에서 에러 발생 여부를 알기 어렵고, 에러 발생 여부를 안다고 하더라도 그 에러가 특정 단말 환경에 기인한 것일 수 있어 그 에러를 정확히 재현해 내기 어렵다.
본 발명은 상기의 문제점을 해결하기 위해 창안된 것으로서, 사용자 단말에서 실행 중인 웹 어플리케이션이 비정상적으로 종료되거나 또는 동작이 중지되면 사용자 단말에서 웹 어플리케이션에서 발생한 오류 정보를 추출하여 오류 분석 장치로 전송하고 오류 분석 장치는 사용자 단말로부터 수신한 오류 정보에 의해 발생 원인을 명확하게 분석할 수 있는 웹 어플리케이션 오류 분석 시스템 및 방법을 제공하는 데 그 목적이 있다.
본 발명의 다른 목적은 웹 어플리케이션의 오류 발생시 사용자 단말로부터 수신한 오류 정보를 통해 각 사용자가 자주 접속하는 페이지, 접속 단말 등에 관한 사용자별 활동 패턴을 분석함으로써 사용자가 더 많이 이용하는 페이지에 광고를 삽입한다던가, 개발자가 원하는 페이지로 사용자를 유도하는 시나리오를 기획할 수 있는 등 웹 어플리케이션의 활용 방안을 예측, 기획할 수 있도록 제공하는 데 있다.
본 발명의 또 다른 목적은 오류 정보가 웹 어플리케이션의 오류 발생시에만 전송되기 때문에 평상시에는 웹 어플리케이션에서 발생하는 로그 정보를 수집하여 웹 어플리케이션의 오류 발생시가 아니더라도 사용자의 활동 패턴을 분석할 수 있도록 제공하는 데 있다.
이를 위하여, 본 발명의 제1 측면에 따른 사용자 단말에서의 웹 어플리케이션 오류 분석 시스템은, 실행 중인 웹 어플리케이션이 비정상적으로 종료되거나 또는 동작이 중지된 경우 상기 웹 어플리케이션에서 발생하는 오류 정보를 추출하여 전송하는 사용자 단말; 및 상기 사용자 단말로부터 수신한 오류 정보에 근거하여 상기 웹 어플리케이션의 오류 발생 원인을 분석하고 상기 오류 정보에 포함된 함수들 사이의 호출 관계를 통해 사용자별 활동 패턴을 분석하는 오류 분석 장치를 포함하는 것을 특징으로 한다.
본 발명의 제2 측면에 따른 오류 분석 장치는, 사용자 단말로부터 웹 어플리케이션에서 발생한 오류 정보를 수신하여 수집하는 데이터 수집부; 상기 데이터 수집부를 통해 수집한 오류 정보를 분석하여 상기 웹 어플리케이션의 비정상 종료 또는 동작 중지의 원인을 파악하는 오류 분석부; 및 상기 데이터 수집부를 통해 수집한 오류 정보에 포함된 함수들 사이의 호출 관계를 통해 사용자 단말이 자주 접속하는 페이지, 사용자 단말의 OS(Operating System) 및 사용자 단말 종류를 포함한 사용자별 활동 패턴을 분석하는 사용자 활동 분석부를 포함하는 것을 특징으로 한다.
본 발명의 제3 측면에 따른 사용자 단말은, 통신망을 통해 외부 장치와의 데이터 송수신을 인터페이스하는 통신 인터페이스부; 적어도 하나 이상의 웹 어플리케이션을 실행시키는 어플리케이션 실행부; 및 상기 어플리케이션 실행부를 통해 실행 중인 웹 어플리케이션이 비정상적으로 종료되거나 또는 동작이 중지된 경우 상기 웹 어플리케이션에서 발생하는 오류 정보를 추출하여 상기 통신 인터페이스부를 통해 외부 장치로 전송시키는 오류 처리부를 포함하는 것을 특징으로 한다.
본 발명의 제4 측면에 따른 오류 분석 방법은, 오류 분석 장치가 사용자 단말로부터 적어도 하나 이상의 웹 어플리케이션에서 발생한 오류 정보를 수신하여 수집하는 데이터 수집 단계; 상기 오류 분석 장치가 수집한 오류 정보를 분석하여 상기 웹 어플리케이션의 비정상 종료 또는 동작 중지의 원인을 파악하는 오류 분석 단계; 상기 오류 분석 장치가 상기 수집한 오류 정보로부터 사용자가 자주 방문하는 페이지, 사용자 단말의 OS(Operating System), 단말 종류를 포함한 사용자별 활동 패턴을 분석하는 사용자 활동 분석 단계; 및 상기 오류 분석 단계 및 상기 사용자 활동 패턴 분석 단계를 통해 각각 분석한 결과를 제공하는 결과 제공 단계를 포함하는 것을 특징으로 한다.
본 발명의 제5 측면에 따른 사용자 단말에서의 오류 분석 방법은, 사용자 단말에서 적어도 하나 이상의 웹 어플리케이션을 실행시키는 단계; 실행 중인 웹 어플리케이션이 비정상적으로 종료되거나 또는 동작이 중지된 경우 상기 사용자 단말이 해당 웹 어플리케이션에서 발생하는 오류 정보를 추출하는 단계; 및 상기 사용자 단말이 추출한 오류 정보를 통신망을 통해 외부의 오류 분석 장치로 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 사용자 단말에서 실행 중인 웹 어플리케이션이 비정상적으로 종료되거나 또는 동작이 중지되는 경우 사용자 단말이 웹 어플리케이션에서 발생한 오류 정보를 오류 분석 장치로 전송함으로써 오류 발생의 원인을 명확하게 분석하고 대처할 수 있는 효과가 있다.
또한, 본 발명은 웹 어플리케이션의 오류 발생시 사용자 단말로부터 수신한 오류 정보를 통해 각 사용자가 자주 접속하는 페이지, 접속 단말 등에 관한 사용자별 활동 패턴을 분석할 수 있으므로 사용자가 더 많이 이용하는 페이지에 광고를 삽입한다던가, 개발자가 원하는 페이지로 사용자를 유도하는 시나리오를 기획할 수 있는 등 웹 어플리케이션의 활용 방안을 예측, 기획할 수 있는 효과가 있다.
또한, 본 발명의 오류 정보가 웹 어플리케이션의 오류 발생시에만 전송되기 때문에 오류 발생 이외의 경우에는 웹 어플리케이션에서 발생하는 로그 정보를 수집하여 웹 어플리케이션의 오류 발생시가 아니더라도 사용자의 활동 패턴을 분석할 수 있도록 제공하는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 웹 어플리케이션 오류 분석 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 웹 어플리케이션 오류 분석 시스템의 사용자 단말을 나타낸 구성도이다.
도 3은 본 발명의 실시 예에 따른 웹 어플리케이션 오류 분석 시스템의 오류 분석 장치를 나타낸 구성도이다.
도 4는 본 발명의 실시 예에 따른 사용자 단말에서의 웹 어플리케이션 오류 분석 방법을 나타낸 흐름도이다.
도 5는 본 발명의 실시 예에 따른 오류 분석 장치에서의 웹 어플리케이션 오류 분석 방법을 나타낸 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명한다. 본 발명의 구성 및 그에 따른 작용 효과는 이하의 상세한 설명을 통해 명확하게 이해될 것이다. 본 발명의 상세한 설명에 앞서, 동일한 구성요소에 대해서는 다른 도면 상에 표시되더라도 가능한 동일한 부호로 표시하며, 공지된 구성에 대해서는 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 구체적인 설명은 생략하기로 함에 유의한다.
도 1은 본 발명의 실시 예에 따른 웹 어플리케이션 오류 분석 시스템의 구성을 나타낸 도면이다.
본 발명의 실시 예에 따른 웹 어플리케이션 오류 분석 시스템은 사용자 단말(100), 웹 서비스 장치(300), 오류 분석 장치(400) 등을 포함한다.
사용자 단말(100)은 통신망(200)을 통해 웹 서비스 장치(300)와 연결된다. 이때, 각 사용자 단말(100)에는 적어도 하나 이상의 웹 어플리케이션(100a)이 설치되어 각 웹 어플리케이션이 웹 서비스 장치(300)와 연동하여 동작한다. 예를 들어, 사용자 단말(100)이 내부에 설치된 제1 웹 어플리케이션을 실행하면 제1 웹 어플리케이션이 웹 서비스 장치(300)로 해당 페이지를 요청하고 웹 서비스 장치(300)는 제1 웹 어플리케이션의 요청을 받아서 요청된 페이지의 로직 및 데이터를 호출하여 사용자 단말(100)의 제1 웹 어플리케이션으로 전송한다. 이때, 각 웹 어플리케이션은 해당 페이지의 데이터 및 서비스를 요청할 웹 서비스 장치(300)가 미리 정해져 있다.
사용자 단말(100)은 휴대 가능한 모든 장치를 통칭한다. 예를 들어, 컴퓨터, 노트북, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 태블릿 PC, 휴대폰, 스마트폰 등을 포함할 수 있다.
특히, 본 발명의 실시 예에 따른 사용자 단말(100)은 웹 서비스 장치(300)와 연동하여 적어도 하나 이상의 웹 어플리케이션을 실행시키고, 실행 중인 웹 어플리케이션으로부터 오류가 발생하여 비정상적으로 종료되거나 혹은 동작 중지되는 경우에 오류가 발생한 웹 어플리케이션의 오류 정보를 추출한다. 그리고 추출한 오류 정보를 오류 분석 장치(400)로 전송하는 것을 특징으로 한다.
또한, 사용자 단말(100)은 실행 중인 웹 어플리케이션의 로그 정보를 수집하여 웹 서비스 장치(300) 또는 오류 분석 장치(400)로 전송할 수 있다. 로그 정보는 각 웹 어플리케이션에서 사용자가 접속(방문)한 페이지의 이력이 포함된다.
웹 서비스 장치(300)는 보통 웹 서버(Web Server), 웹 엔진(Web engine)이라 불리우며, 각 웹 어플리케이션로부터 웹 브라우저의 요청을 받아서 처리하고 그 처리의 작업 결과를 웹 브라우저에게 전송한다. 예컨대, 웹 서비스 장치(300)는 아파치(Apache), IIS(Internet Information Service) 등이 있다.
웹 서비스 장치(300)는 동작 방식에 따라 두 가지로 구분할 수 있다.
즉, CGI방식(실행코드 방식)으로 웹 서비스 장치(300)가 어플리케이션 프로그램을 직접 호출하는 구조이다. 사용자 단말의 요청에 대하여 해당 프로그램을 자체 내에서 생성하여 요청을 처리한 뒤 종료한다.
다른 방식으로는 웹 어플리케이션 서버 방식(또는 스크립트 코드 방식)이 있다. 웹 서비스 장치(300)와 웹 어플리케이션 서버를 별도로 두어 웹 서비스 장치(300)가 웹 어플리케이션 서버에게 처리를 넘겨주고 웹 어플리케이션 서버가 해당 어플리케이션의 프로그램을 처리한 뒤 웹 서비스 장치(300)로 전달해 주는 역할을 한다.
오류 분석 장치(400)는 사용자 단말(100)에서 실행 중인 웹 어플리케이션에 오류가 발생되면 통신망(200)을 통해 사용자 단말(100)로부터 오류 발생한 웹 어플리케이션의 오류 정보를 수신하여 수집한다.
그리고, 오류 분석 장치(400)는 수집한 오류 정보에 근거하여 사용자 단말(100)에서 오류 발생한 웹 어플리케이션에 대한 오류 발생 원인을 통계적으로 분석한다.
또한, 오류 분석 장치(400)는 수집한 오류 정보에 포함된 함수들 사이의 호출 관계를 통해 각 사용자 단말(100)이 접속한 페이지, 사용자 단말(100)의 운영체제(Operating System: OS) 등 사용자별 활동 패턴을 분석할 수 있다.
본 발명에서의 오류 정보는 웹 어플리케이션에 심각한 오류가 발생시에만 수집할 수 있으므로, 오류 분석 장치(400)는 오류 발생 이외의 경우에 사용자별 활동 패턴을 분석하려면 웹 어플리케이션에서 발생하는 로그 정보를 이용할 수 있다. 이에 대해서는 아래 상세 설명에서 자세히 설명한다.
통신망(200)은 사용자 단말(100)과 웹 서비스 장치(300)간, 사용자 단말(100)과 오류 분석 장치(400)간, 혹은 웹 서비스 장치(300)와 오류 분석 장치(400)간을 연결하여 상호 데이터 송수신을 수행한다.
이러한 통신망(200)은 2G, 3G, 4G, WiBro, WiMax, LTE 등 다양한 세대의 이동 통신 규격이나, 무선랜(WLAN), 와이파이(Wi-Fi), 블루투스(Bluetooth), 지그비(Zigbee) 등의 근거리 통신 규격, 또는 RFID, NFC(Near Field Communication) 등의 근접 또는 근방 통신 규격이 적용된 송수신 모듈 등으로 구성될 수 있다.
도 2는 본 발명의 실시 예에 따른 웹 어플리케이션 오류 분석 시스템의 사용자 단말을 나타낸 구성도이다.
본 발명의 실시 예에 따른 사용자 단말(100)은 통신 인터페이스부(110), 오류 처리부(120), 로그 수집부(130), 어플리케이션 실행부(140)를 포함한다.
통신 인터페이스부(110)는 통신망을 통해 외부 장치와의 데이터 송수신을 인터페이스한다. 외부 장치는 도 1의 시스템 구성에서 언급한 바와 같이 기본적으로 오류 분석 장치, 웹 서비스 장치를 포함한다.
어플리케이션 실행부(140)는 사용자 요청시 사용자 단말(100)에 설치된 웹 기반의 어플리케이션(웹 어플리케이션)들(140-1 내지 140-k)을 브라우저 엔진을 통해 웹 기반 언어를 해석하여 실행하는 기능을 수행한다.
오류 처리부(120)는 어플리케이션 실행부(140)를 통해 실행 중인 웹 어플리케이션이 비정상적으로 종료되거나 또는 동작이 중지된 경우 웹 어플리케이션의 오류 정보를 추출한다. 그리고 추출한 오류 정보를 통신 인터페이스부(110)로 전달하여 오류 분석 장치로 전송한다. 전송시 오류 정보를 그대로 전송할 수 있고 또는 소정의 포맷으로 변환하여 전송할 수 있다.
오류 정보는 기본적으로 웹 어플리케이션이 비정상적으로 종료되거나 또는 동작 중지된 시점의 시간, 오류가 발생한 어드레스 등에 관한 정보를 포함한다. 특히, 오류 정보는 웹 어플리케이션의 페이지와 관련된 함수들 사이의 호출 관계를 나타내는 콜스택(call stack) 정보를 포함할 수 있다.
예를 들어, 콜스택은 main 함수에서 print 함수를 호출하고 다시 print 함수에서 getdata 함수를 호출하는 관계일 수 있다. 이때, 오류 정보에 포함되는 콜스택은 각 함수의 주소값만을 전송할 수 있다. 그러면 오류 분석 장치는 각 함수에 상응하는 어드레스 정보를 이용하여 주소값에 해당하는 함수를 알아낼 수 있다. 예를 들어, 콜스택으로 "Ox04001000 Ox04000700 Ox04000103"을 전송하면 오류 분석 장치는 단말 관련 정보 등을 이용하여 'Ox04001000'를 GetData함수와, 'Ox04000700'를 Print함수와, 'Ox04000103'은 main함수와 각각 대응시킬 수 있다.
로그 수집부(130)는 사용자 단말(100)에 설치된 적어도 하나 이상의 웹 어플리케이션(140-1 내지 140-k)에서 발생하는 로그 정보를 수집한다. 그리고 수집한 로그 정보를 실시간 또는 일정 주기마다 통신 인터페이스부(110)로 전달하여 웹 서비스 장치 또는 오류 분석 장치로 전송한다. 이때 사용자 단말(100)로부터 전송하는 로그 정보에는 적어도 웹 어플리케이션에서 사용자가 방문한 페이지 정보, 사용자 단말 정보 등을 포함한다.
전송 시 로그 수집부(130)는 웹 서비스 장치 또는 오류 분석 장치로 로그 정보를 그대로 전송할 수 있고 또는 외부 장치의 포맷에 따라 소정의 포맷으로 변환하여 전송할 수 있을 것이다.
이렇게 구성되는 사용자 단말(100)은 오류 분석을 위해 다음과 같이 동작한다.
도 4를 참조하면, 사용자 단말(100)은 어플리케이션 실행부(140)를 통해 원하는 웹 어플리케이션을 실행한다(S100).
이후, 사용자 단말(100)은 실행 중인 웹 어플리케이션의 로그 정보를 수집한다(S110).
수집 과정에서, 사용자 단말(100)은 사용자로부터 페이지의 요청이 있으면 이에 대한 로그 정보를 업데이트하여 수집할 수 있다(S120, S130). 수집한 로그 정보에는 적어도 웹 어플리케이션에서 사용자가 접속(방문)한 페이지 정보 등이 포함될 수 있다. 따라서 로그 정보를 통해 사용자의 활동 패턴을 분석할 수 있다.
사용자 단말(100)은 수집한 로그 정보를 통신망을 통해 외부 장치로 즉, 웹 서비스 장치로 전송한다. 또는 수집한 로그 정보를 오류 분석 장치로 직접 전송할 수 있다(A).
이후, 사용자 단말(100)은 오류 처리부(120)에서, 실행 중인 웹 어플리케이션이 비정상적으로 종료되거나 또는 동작이 중지되는지를 확인한다(S140). 비정상 종료 또는 동작 중지는 웹 어플리케이션에 오류가 발생한 대표적인 현상을 포함하는 것으로 오류 발생 여부를 확인하는 과정으로 볼 수 있다.
확인 결과 오류가 발생하지 않았으면 사용자 단말(100)은 이전 상태를 유지한다(S150).
확인 결과 오류가 발생하면 사용자 단말(100)은 오류 발생한 웹 어플리케이션의 오류 정보를 추출한다(S160). 오류 정보는 콜스택 정보를 포함할 수 있다.
이후, 사용자 단말(100)은 추출한 오류 정보를 통신망을 통해 오류 분석 장치로 전송한다(S170).
이처럼, 본 발명의 실시 예에 따른 사용자 단말(100)은 웹 어플리케이션에서 발생하는 로그 정보를 웹 서비스 장치로 자동 전송하고, 실행 중인 웹 어플리케이션에 오류가 발생하면 발생시마다 오류 정보를 오류 분석 장치로 자동 전송하는 것을 특징으로 한다.
도 3은 본 발명의 실시 예에 따른 웹 어플리케이션 오류 분석 시스템의 오류 분석 장치를 나타낸 구성도이다.
본 발명의 실시 예에 따른 오류 분석 장치(400)는 데이터 수집부(410), 오류 정보 DB(420), 오류 분석부(430), 로그 정보 DB(440), 사용자 활동 분석부(450)를 포함한다.
여기서, 오류 정보 DB(420) 로그 정보 DB(440)는 데이터 수집부(410)에 포함하여 일체로 구성될 수 있다.
데이터 수집부(410)는 사용자 단말로부터 웹 어플리케이션에서 발생한 오류 정보 및 로그 정보를 수신하여 사용자별 또는 사용자 단말별로 수집한다. 일반적으로 하나의 사용자는 하나의 사용자 단말을 소지하지만 경우에 따라 두 대 이상의 사용자 단말을 소지할 수 있다. 이 경우, 데이터 수집부(410)는 사용자뿐만 아니라 사용자 단말에 따른 오류 정보를 관리할 필요가 있다.
그리고, 오류 정보는 웹 어플리케이션의 오류 발생시 수신하지만, 로그 정보는 오류 발생과 관계없이 수신할 수 있다. 로그 정보의 수신 방법은 데이터 수집부(410)가 사용자 단말(도 1의 100)로부터 이메일, 오픈 API 등을 통해 직접 제공받을 수 있고, 또는 웹 서비스 장치(도 1의 300)를 통해 제공받을 수 있다.
오류 정보 DB(420)는 데이터 수집부(410)를 통해 수집한 오류 정보를 사용자별로 저장하고 관리한다.
로그 정보 DB(440)는 데이터 수집부(410)를 통해 수집한 로그 정보를 사용자별로 저장하고 관리한다.
오류 분석부(430)는 데이터 수집부(410)를 통해 수집한 오류 정보를 분석하여 웹 어플리케이션의 비정상 종료 또는 동작 중지의 원인을 파악한다. 그리고, 오류 분석부(430)는 오류 분석 결과를 사용자 단말(100)에게 제공할 수 있다.
분석 과정은 웹 어플리케이션을 개발한 후 사용자들에게 릴리즈(release)하기 전 어플리케이션의 로그 정보를 통해 비교하면서 통계적으로 수행할 수 있다.
사용자 활동 분석부(450)는 데이터 수집부(410)를 통해 수집한 오류 정보를 분석하여 사용자의 활동 정보를 파악할 수 있다. 이를 테면, 오류 정보는 웹 어플리케이션에서 호출 함수들간 관계를 알 수 있는 콜스택 정보가 포함되기 때문에 콜스택 정보를 통해 사용자가 접속한 페이지, 이로부터 사용자가 자주 방문하는 페이지, 사용자 단말의 운영체제(어떤 OS에서 주로 이용하는지 등), 단말 종류(어떤 디바이스에서 접속하였는지 등)를 파악하여 사용자별 활동 패턴을 분석할 수 있다.
이로부터 오류 분석 장치(400)는 사용자의 활동 패턴에 기반한 서비스 구축시 근거 자료로 제시할 수 있다. 예를 들어, 사용자가 많이 이용하는 페이지에 광고를 삽입하거나, 개발자가 원하는 페이지로 사용자를 유도하는 시나리오를 기획하거나, 또는 사용자에게 공지사항을 알리는 등의 커뮤니케이션에 대하여 효율적인 구조를 예측할 수 있는 등에 활용할 수 있다.
또한, 사용자 활동 분석부(450)는 데이터 수집부(410)를 통해 수집한 사용자별 로그 정보를 통해서도 사용자의 활동 패턴을 분석할 수 있다. 이 경우, 사용자 활동 분석부(450)는 오류 분석부(430)와 같이 웹 어플리케이션의 오류 발생시와 동시에 이루어지지 않을 수 있다. 오류 발생 이외에도 분석이 가능하다.
그러면 이상의 오류 분석 장치(400)를 통해 웹 어플리케이션의 오류를 분석하는 방법을 전체적으로 도 5를 참조하여 설명한다.
도 5에 도시한 바와 같이 오류 분석 장치(400)가 먼저 웹 어플리케이션의 로그 정보를 수집한다(S400). 수집 방법은 사용자 단말로부터 실행 중인 웹 어플리케이션에서 발생하는 로그 정보를 실시간 제공받을 수 있고 또는 웹 서비스 장치를 통해 제공받을 수 있다.
또한, 오류 분석 장치(400)가 사용자 단말에서 실행 중인 웹 어플리케이션이 비정상적으로 종료되었거나 또는 동작 중지된 경우 사용자 단말로부터 오류 발생한 웹 어플리케이션의 오류 정보를 수집한다(S410).
그러면, 오류 분석 장치(400)는 수집한 로그 정보 또는 오류 정보를 사용자 단말별(또는 사용자별)로 저장하고 관리할 수 있다(S420).
이후, 오류 분석 장치(400)는 오류 분석부에서, 수집한 오류 정보를 토대로 웹 어플리케이션의 오류 발생에 대한 위치, 종류, 원인 등을 분석한다(S430).
그리고, 사용자 활동 분석부에서, 수집한 오류 정보를 토대로 사용자가 접속한 페이지, 방문 횟수, 접속한 사용자 단말의 운영체제 등을 포함한 단말 정보 등을 분석하고 이를 통해 사용자별 활동 패턴을 파악한다(S440).
이후, 오류 분석 장치(400)가 분석한 오류 발생 결과와 사용자별 활동 분석 결과를 사용자 단말에게 제공할 수 있다(S450).
이후, 분석 결과를 통해 프로그램 관리자가 웹 어플리케이션을 수정하여 다시 제공할 수 있고, 사용자 활동 패턴에 따른 웹 어플리케이션의 이용 패턴을 분석하고 광고 삽입, 웹 관련 최신 트렌드 등을 예측, 분석하는 객관적인 데이터로 활용할 수 있을 것이다.
한편, 본 발명은 상술한 오류 분석 방법을 소프트웨어적인 프로그램으로 구현하여 컴퓨터로 읽을 수 있는 소정 기록 매체에 기록해 둘 수 있다.
예컨대, 기록 매체는 각 재생 장치의 내장형으로 하드 디스크, 플래시 메모리, RAM, ROM 등이거나, 외장형으로 CD-R, CD-RW와 같은 광디스크, 콤팩트 플래시 카드, 스마트 미디어, 메모리 스틱, 멀티미디어 카드일 수 있다.
이 경우, 컴퓨터로 읽을 수 있는 기록 매체에 기록한 프로그램은, 사용자 단말로부터 적어도 하나 이상의 웹 어플리케이션에서 발생한 오류 정보를 수신하여 수집하는 과정과, 수집한 오류 정보를 분석하여 웹 어플리케이션의 비정상 종료 또는 동작 중지의 원인을 파악하는 과정과, 수집한 오류 정보로부터 사용자가 자주 방문하는 페이지, 사용자 단말의 OS(Operating System), 단말 종류를 포함한 사용자별 활동 패턴을 분석하는 과정, 및 분석한 결과를 제공하는 과정을 실행할 수 있다.
본 발명의 명세서에서 설명하는 기능적 동작과 구현물은 디지털 전자회로로 구현되거나 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나 이들 중 하나 이상의 조합으로 구현될 수 있다. 또한, 본 발명의 명세서에서 설명하는 구현물은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 데이터 처리 장치의 동작을 제어하기 위하여 또는 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다.
이상의 설명은 본 발명을 예시적으로 설명한 것에 불과하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술적 사상에서 벗어나지 않는 범위에서 다양한 변형이 가능할 것이다. 따라서 본 발명의 명세서에 개시된 실시 예들은 본 발명을 한정하는 것이 아니다. 본 발명의 범위는 아래의 특허청구범위에 의해 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술도 본 발명의 범위에 포함되는 것으로 해석해야 할 것이다.
100: 사용자 단말 200: 통신망
300: 웹 서비스 장치 400: 오류 분석 장치
110: 통신 인터페이스부 120: 오류 처리부
130: 로그 수집부 140: 어플리케이션 실행부
140-1, 140-k: 웹 어플리케이션 410: 데이터 수집부
420: 오류 정보 430: 오류 분석부
440: 로그 정보 450: 사용자 활동 분석부

Claims (15)

  1. 실행 중인 웹 어플리케이션이 비정상적으로 종료되거나 또는 동작이 중지된 경우 상기 웹 어플리케이션에서 발생하는 오류 정보를 추출하여 전송하는 사용자 단말; 및
    상기 사용자 단말로부터 수신한 오류 정보에 근거하여 상기 웹 어플리케이션의 오류 발생 원인을 분석하고 상기 오류 정보에 포함된 함수들 사이의 호출 관계를 통해 사용자별 활동 패턴을 분석하는 오류 분석 장치
    를 포함하는 것을 특징으로 하는 사용자 단말에서의 웹 어플리케이션 오류 분석 시스템.
  2. 사용자 단말로부터 웹 어플리케이션에서 발생한 오류 정보를 수신하여 수집하는 데이터 수집부;
    상기 데이터 수집부를 통해 수집한 오류 정보를 분석하여 상기 웹 어플리케이션의 비정상 종료 또는 동작 중지의 원인을 파악하는 오류 분석부; 및
    상기 데이터 수집부를 통해 수집한 오류 정보에 포함된 함수들 사이의 호출 관계를 통해 사용자 단말이 자주 접속하는 페이지, 사용자 단말의 OS(Operating System) 및 사용자 단말 종류를 포함한 사용자별 활동 패턴을 분석하는 사용자 활동 분석부
    를 포함하는 것을 특징으로 하는 오류 분석 장치.
  3. 제 2 항에 있어서,
    상기 오류 정보는
    상기 웹 어플리케이션의 오류 발생 당시의 시간, 발생 어드레스에 관한 정보를 포함하며, 웹 페이지와 관련된 함수들 사이의 호출 관계를 나타내는 콜스택(call stack) 정보를 포함하는 것을 특징으로 하는 오류 분석 장치.
  4. 제 2 항에 있어서,
    상기 데이터 수집부는 상기 웹 어플리케이션에서 발생하는 로그 정보를 수집하여 저장하고,
    상기 사용자 활동 분석부는 상기 웹 어플리케이션에 오류가 발생한 이외의 경우에 상기 데이터 수집부를 통해 수집한 로그 정보를 이용하여 사용자가 접속한 페이지, 사용자 단말 정보에 관한 사용자별 활동 패턴을 분석하는 것을 특징으로 하는 오류 분석 장치.
  5. 제 4 항에 있어서,
    상기 데이터 수집부는
    상기 로그 정보를 상기 사용자 단말로부터 직접, 또는 상기 웹 어플리케이션의 요청을 받고 해당 웹 페이지를 호출하여 제공하는 웹 서비스 장치로부터 제공받는 것을 특징으로 하는 오류 분석 장치.
  6. 제 2 항에 있어서,
    상기 데이터 수집부는
    상기 사용자 단말로부터 수집한 오류 정보를 사용자 단말별로 관리하는 것을 특징으로 하는 오류 분석 장치.
  7. 통신망을 통해 외부 장치와의 데이터 송수신을 인터페이스하는 통신 인터페이스부;
    적어도 하나 이상의 웹 어플리케이션을 실행시키는 어플리케이션 실행부; 및
    상기 어플리케이션 실행부를 통해 실행 중인 웹 어플리케이션이 비정상적으로 종료되거나 또는 동작이 중지된 경우 상기 웹 어플리케이션에서 발생하는 오류 정보를 추출하여 상기 통신 인터페이스부를 통해 외부 장치로 전송시키는 오류 처리부
    를 포함하는 것을 특징으로 하는 사용자 단말.
  8. 제 7 항에 있어서,
    상기 적어도 하나 이상의 웹 어플리케이션에서 발생하는 로그 정보를 수집하여 상기 통신 인터페이스부를 통해 외부 장치로 전송하는 로그 수집부
    를 더 포함하는 것을 특징으로 하는 사용자 단말.
  9. 사용자 단말에서 실행 중인 적어도 하나 이상의 웹 어플리케이션이 비정상적으로 종료되거나 또는 동작이 중지된 경우, 오류 분석 장치가 상기 사용자 단말로부터 상기 적어도 하나 이상의 웹 어플리케이션에서 발생한 오류 정보를 수신하여 수집하는 데이터 수집 단계;
    상기 오류 분석 장치가 수집한 오류 정보를 분석하여 상기 웹 어플리케이션의 비정상 종료 또는 동작 중지의 원인을 파악하는 오류 분석 단계;
    상기 오류 분석 장치가 상기 수집한 오류 정보로부터 사용자가 자주 방문하는 페이지, 사용자 단말의 OS(Operating System), 단말 종류를 포함한 사용자별 활동 패턴을 분석하는 사용자 활동 분석 단계; 및
    상기 오류 분석 단계 및 상기 사용자 활동 패턴 분석 단계를 통해 각각 분석한 결과를 제공하는 결과 제공 단계
    를 포함하는 것을 특징으로 하는 오류 분석 방법.
  10. 제 9 항에 있어서,
    상기 데이터 수집 단계는
    상기 오류 분석 장치가 적어도 하나 이상의 웹 어플리케이션에서 발생하는 로그 정보를 수신하여 수집하는 단계를 더 포함하는 것을 특징으로 하는 오류 분석 방법.
  11. 제 10 항에 있어서,
    상기 로그 정보의 수신은 상기 사용자 단말로부터 직접, 또는 상기 웹 어플리케이션의 요청을 받고 해당 웹 페이지를 호출하여 제공하는 웹 서비스 장치로부터 제공받는 것을 특징으로 하는 오류 분석 방법.
  12. 제 9 항에 있어서,
    상기 사용자 활동 분석 단계는
    상기 웹 어플리케이션에 오류가 발생한 이외의 경우에 상기 데이터 수집부를 통해 수집한 로그 정보로부터 사용자가 접속한 페이지 정보, 사용자 단말 정보를 분석하여 사용자별 활동 패턴을 파악하는 것을 특징으로 하는 오류 분석 방법.
  13. 사용자 단말에서 적어도 하나 이상의 웹 어플리케이션을 실행시키는 단계;
    실행 중인 웹 어플리케이션이 비정상적으로 종료되거나 또는 동작이 중지된 경우 상기 사용자 단말이 해당 웹 어플리케이션에서 발생하는 오류 정보를 추출하는 단계; 및
    상기 사용자 단말이 추출한 오류 정보를 통신망을 통해 외부의 오류 분석 장치로 전송하는 단계
    를 포함하는 것을 특징으로 하는 사용자 단말에서의 오류 분석 방법.
  14. 제 13 항에 있어서,
    상기 웹 어플리케이션을 실행하는 단계 이후에,
    상기 사용자 단말이 상기 실행 중인 웹 어플리케이션에서 발생하는 로그 정보를 수집하는 단계;
    상기 사용자 단말이 수집한 로그 정보를 통신망을 통해 상기 오류 분석 장치 또는 상기 웹 어플리케이션의 요청을 받고 해당 웹 페이지를 호출하여 제공하는 웹 서비스 장치로 전송하는 단계
    를 더 포함하는 것을 특징으로 하는 사용자 단말에서의 오류 분석 방법.
  15. 제 9 항 내지 제 12 항 중 어느 하나의 오류 분석 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020120121895A 2012-10-31 2012-10-31 사용자 단말에서의 웹 어플리케이션 오류 분석 시스템, 장치 및 방법 KR20140055282A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120121895A KR20140055282A (ko) 2012-10-31 2012-10-31 사용자 단말에서의 웹 어플리케이션 오류 분석 시스템, 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120121895A KR20140055282A (ko) 2012-10-31 2012-10-31 사용자 단말에서의 웹 어플리케이션 오류 분석 시스템, 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20140055282A true KR20140055282A (ko) 2014-05-09

Family

ID=50886967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120121895A KR20140055282A (ko) 2012-10-31 2012-10-31 사용자 단말에서의 웹 어플리케이션 오류 분석 시스템, 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20140055282A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016027923A1 (ko) * 2014-08-20 2016-02-25 주식회사 앤벗 어플리케이션 사용정보 분석자료 제공 방법 및 장치
KR20180037342A (ko) * 2016-10-04 2018-04-12 주식회사 리나소프트 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법
KR102266416B1 (ko) * 2020-09-29 2021-06-17 제이엠사이트 주식회사 장애 예측 방법, 그리고 이를 구현하기 위한 장치
WO2023149647A1 (ko) * 2022-02-04 2023-08-10 삼성전자주식회사 전자 장치 및 이의 동작 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016027923A1 (ko) * 2014-08-20 2016-02-25 주식회사 앤벗 어플리케이션 사용정보 분석자료 제공 방법 및 장치
KR20180037342A (ko) * 2016-10-04 2018-04-12 주식회사 리나소프트 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법
KR102266416B1 (ko) * 2020-09-29 2021-06-17 제이엠사이트 주식회사 장애 예측 방법, 그리고 이를 구현하기 위한 장치
WO2023149647A1 (ko) * 2022-02-04 2023-08-10 삼성전자주식회사 전자 장치 및 이의 동작 방법

Similar Documents

Publication Publication Date Title
CN106598868B (zh) 对客户端的应用程序动态埋点的方法及系统
CN107783899B (zh) 应用程序中h5页面的测试方法、装置和计算机设备
CN102724322B (zh) 一种实现远程操控的方法及装置
CN102087615A (zh) 消息队列中逻辑关联的消息的自动合并
CN104821954A (zh) 一种跨平台远程过程调用方法
CN102831021A (zh) 插件拦截或清理的方法及装置
CN109542427A (zh) 一种系统定制方法、装置及电子设备和存储介质
CN105205144A (zh) 用于数据诊断优化的方法和系统
KR20140055282A (ko) 사용자 단말에서의 웹 어플리케이션 오류 분석 시스템, 장치 및 방법
CN103268183A (zh) 信息上报处理方法和装置
CN103838799A (zh) 一种推荐安装软件的方法、终端设备、云端服务器及系统
CN109831351B (zh) 链路跟踪方法、装置、终端及存储介质
CN105573733A (zh) 浏览器与web前端通信的方法、web前端及系统
EP2770768A2 (en) Method and system for replacing an se key of a mobile terminal
CN103810086A (zh) 使浏览器崩溃的网址的处理方法、装置及系统
CN106454403B (zh) 数据显示方法、设备及系统
CN103473035A (zh) 截屏方法和装置
CN110659021A (zh) 一种移动端内微应用的开发及测试系统
CN106412296A (zh) 终端设备控制方法及装置
CN117041234A (zh) web端与原生端的交互方法及终端设备
CN111158777B (zh) 组件调用方法、装置及计算机可读存储介质
KR20120071175A (ko) 웹 플랫폼이 탑재된 이동통신 단말기와 이를 이용한 로그 정보 제공 방법 및 웹 플랫폼에 대한 검증 시스템과 이를 이용한 검증 방법
CN102148869B (zh) Java应用程序向本地传递信息的方法及设备
CN111371586B (zh) 日志数据传输方法、装置和设备
CN110851346A (zh) 查询语句边界问题的检测方法、装置、设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application