KR20180037342A - 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법 - Google Patents

어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법 Download PDF

Info

Publication number
KR20180037342A
KR20180037342A KR1020160127331A KR20160127331A KR20180037342A KR 20180037342 A KR20180037342 A KR 20180037342A KR 1020160127331 A KR1020160127331 A KR 1020160127331A KR 20160127331 A KR20160127331 A KR 20160127331A KR 20180037342 A KR20180037342 A KR 20180037342A
Authority
KR
South Korea
Prior art keywords
error
application
information
management service
monitoring
Prior art date
Application number
KR1020160127331A
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 KR1020160127331A priority Critical patent/KR20180037342A/ko
Publication of KR20180037342A publication Critical patent/KR20180037342A/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/3452Performance evaluation by statistical analysis
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 어플리케이션 에러 모니터링 및 통계관리 서비스 및 그 방법에 관한 것으로, 더욱 상세하게는 사용자 단말기에서 발생하는 어플리케이션 에러를 트래킹하기 위한 SDK를 어플리케이션에 포함된 라이브러리 형태로 빌드, 배포하며 실시간 모니터링, 어플리케이션 에러 발생 시 해당 에러정보를 수집, 전송. 수집된 에러로그에 에러 모니터링 서비스에서 이미 제공된 개발자 ID와 어플리케이션 ID에 따라 사용자와 해당 어플리케이션을 구분하고 발현한 에러에 대하여 고유한 해쉬키를 생성하여 에러 발현의 다양성의 중복여부를 파악, 데이터베이스화 한 후 저장된 데이터를 각 용도에 따라 통계 처리하여 에러에 대한 통계 분석 웹 서비스를 제공하는 서비스 및 그 방법에 관한 것이다.

Description

어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법 {Application software error monitoring, statistics management service and solution method.}
본 발명은 어플리케이션 에러 모니터링 및 통계관리 서비스 및 그 방법에 관한 것으로, 더욱 상세하게는 사용자 단말기에서 발생하는 어플리케이션 에러를 트래킹하기 위한 SDK를 어플리케이션에 포함된 라이브러리 형태로 빌드, 배포하며 실시간 모니터링, 어플리케이션 에러 발생 시 해당 에러정보를 수집, 전송. 수집된 에러로그에 에러 모니터링 서비스에서 이미 제공된 개발자 ID와 어플리케이션 ID에 따라 사용자와 해당 어플리케이션을 구분하고 발현한 에러에 대하여 고유한 해쉬키를 생성하여 에러 발현의 다양성의 중복여부를 파악, 데이터베이스화 한 후 저장된 데이터를 각 용도에 따라 통계 처리하여 에러에 대한 통계 분석 웹 서비스를 제공하는 서비스 및 그 방법에 관한 것이다.
최근 들어 스마트 단말기의 보급이 확산되고 이에 다양한 카테고리의 어플리케이션이 개발되고 있으며 이를 기반으로 하는 다양한 서비스가 제공되어 사용자들은 구글 플레이, 앱 스토어 같은 어플리케이션 소프트웨어 (Application software)을 제공하는 서비스 또는 스토어를 통하여 게임, 생산성 향상, 일정관리, 메일 등의 어플리케이션을 단말기에 설치하여 사용하고 있다.
그러나 사용자 단말기를 통해 어플리케이션이 구동될 시 에러가 발생하게 되면 에러의 처리를 위한 해결방법이 해당 에러의 원인별, 개발사별, 어플리케이션의 구동방법 별로 달라 어플리케이션의 개발 이후 서비스 운영시점에서 에러의 발현에 따른 에러 솔루션을 개발, 적용하기 위한 통합관리에 어려움이 있다. 또한 대다수의 어플리케이션 에러처리 로직은 어플리케이션의 이벤트 처리 로직과 연관되어 있으므로 개발자가 예상하지 못한 에러가 발생했을 경우 어플리케이션 전체를 수정해야 하는 문제가 발생할 수 있으며 어플리케이션 서비스 뿐 아니라 향후 유지보수에도 어려움이 발생할 수 있다.
또한, 에러 발생 시 정확한 에러발생 포인트, 현상, 경로를 파악하기 어렵고 통상 사용자 단말기에서 어플리케이션의 비정상적 종료 등의 상황에서 어플리케이션 소스코드를 디버깅 후 해당 로그정보를 확보하여야 에러의 원인 파악이 가능하다, 따라서 디버깅이 불가능한 에러일 경우 원인 파악이 불가하며 디버깅 후에도 소스코드의 일부분을 유추하여 수정해야 함으로 또 다른 에러가 발생할 수 있는 문제를 잠재적으로 안고 있을 수 있다.
또한, 에러가 발생한 시점에 에러의 원인을 파악할 수 있도록 에러의 로그정보를 어플리케이션 서비스 운영자에게 전달하고 이를 통해 서비스 운영자가 에러의 원인을 분석할 수 있어야 하나 현재 해당 에러정보를 자동으로 알려주는 서비스가 없음으로 에러의 원인을 파악하여 해소하는데 많은 시간이 소요된다.
상기와 같이 어플리케이션 에러 발생 시 에러를 처리하는 방식이 정형화 되어 있는 않은 개발환경에서 에러의 발생원인의 정확한 파악이 어렵고 원인해결까지 많은 시간이 소요됨에 따라 실시간 에러관리 서비스의 개발이 요구된다.
(특허문건 0001) 한국공개특허 10-2015-0049201, 2015년 05월 08일 공개 (명칭: 어플리케이션 에러 관리를 위한 장치 및 방법) (특허문건 0002) 한국공개특허 10-2007-0015999, 2007년 02월 07일 공개 (명칭: 에러 관리 시스템 및 이를 이용한 에러 관리 방법) (특허문건 0003) 한국공개특허 10-2014-0055282, 2014년 05월 09일 공개 (명칭: 사용자 단말에서 웹 어플리케이션 오류 분석 시스템, 장치 및 방법)
본 발명은 상기 설명한 종래 기술의 문제점을 해결하기 위하여 제안된 것으로 사용자 단말기 어플리케이션에서 발생하는 에러를 효율적으로 수집하고 각 에러의 특성을 해쉬키로 구분, 에러의 발생내역을 데이터베이스 저장 후 에러의 원인요인 분석을 통계 처리하여 웹 서비스를 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 어플리케이션 에러 모니터링 및 통계관리 서비스는 어플리케이션에 대한 에러 발생 시 이를 실시간으로 트래킹 및 수집하기 위해 어플리케이션 라이브러리 형태로 배포되는 SDK; SDK의 API를 통해 어플리케이션에서 발생한 오류, 예외사항 또는 개발자가 임의로 정보를 수집코자 하는 상황에서 에러정보 및 사용자 단말기의 상태정보를 수집하고 내부 저장소에 임시 저장하고 전송처리하는 에러정보 발생부; 에러정보 발생부에서 전송된 에러로그를 메모리 기반 큐 시스템을 사용하여 저장하는 에러정보 수집부; 에러정보 수집부에 저장된 에러로그를 가져와 사용자별, 어플리케이션 별로 구분하고 동일 에러여부를 판단하여 에러 단계별 필요 데이터로 생산하는 에러정보 처리부; 에러정보 처리부에서 처리한 정보를 저장하는 데이터베이스로 구성되는 데이터 저장소(서버); 어플리케이션 모니터링 및 통계관리서비스 사용자에게 데이터 저장소에서 가져온 에러 데이터를 용도에 따라 통계처리 하여 정보를 제공하는 어플리케이션 에러 모니터링 및 통계관리 서비스(서버)를 포함하는 것을 특징으로 한다.
또한, 본 발명에서 에러정보를 트래킹 하는 SDK는 사용자 단말기 상에 설치되는 어플리케이션 내부에 포함되는 라이브러리 형태로 개발되며 에러 모니터링 및 통계관리 서비스를 필요로 하는 어플리케이션에 SDK에서 제공하는 API가 빌드되어 배포되고 해당 어플리케이션은 에러 모니터링 서비스가 제공하는 개발자 ID와 어플리케이션 ID를 부여받아 두 개의 ID를 에러 발생정보의 모니터링 및 통계관리서비스가 요구되는 어플리케이션 초기화 코드에 할당, 에러 정보를 트래킹 하고자 하는 어플리케이션 상의 특정코드에 SDK가 제공하는 함수를 적용하여 해당 어플리케이션에 빌드되어 앱스토어를 통해 사용자에게 배포되는 것을 특징으로 한다.
또한, 본 발명에서 에러정보의 수집 및 전송은 어플리케이션에서 발생한 오류, 예외상황 또는 개발자가 임의로 정보를 수집코자 하는 특정상황에서 발현되는 에러정보 및 사용자의 단말기 상태 정보를 수집하는 것으로서 해당 에러정보는 에러 모니터링 및 통계관리서비스를 필요로 하는 어플리케이션의 소스파일명, 클래스명, 메소드명, 에러발생 라인위치, 스택 트레이스(Stack Trace) 정보, 개발자가 명시적으로 남긴 메시지 등을 포함한 에러의 원인을 파악할 수 있는 정보를 포함한다. 디바이스 상태정보는 모델명, 통신사, 국가, 어플리케이션 버전, OS버전, 루팅여부, 백그라운드 실행여부, 네트워크 연결상태 등 에러가 발생한 시점의 디바이스 상태정보를 포함한다. 발현한 에러정보는 어플리케이션과 디바이스 성능의 영향을 최소화하기 위해 즉시 서버로 전송하지 않고 내부 저장소에 임시로 저장하는 특징을 가지며 데이터 전송부는 에러로 인하여 어플리케이션이 종료 또는 어플리케이션이 백그라운드 상태로 들어가거나 사용자가 화면을 끈 경우 등의 이벤트 및 디바이스의 명령수행 능력환경이 서비스에서 요구하는 사항에 일치하면 내부저장소에 임시로 저장되어 있던 에러 정보를 수집부(서버)로 전송하는 특징을 가진다.
또한, 본 발명에서 에러정보 수집부(서버)는 사용자 단말기에서 전송한 에러로그를 저장하는 용도로 사용되고 대용량의 데이터를 유실없이 신속하게 저정할 수 있도록 분산 시스템 환경의 메모리 기반 큐 시스템을 사용하여 구성하는 특징을 가진다.
또한, 본 발명에서 에러정보 처리부는 에러정보처리를 위한 서버로 구성되며 에러정보 수집부(서버)에 저장된 에러로그를 가져와 사용자별, 어플리케이션 별, 동일에러여부구분 및 용도별 데이터를 분리하여 통계관리 데이터베이스에 저장하는 역할을 수행하고 에러 로그에 저장된 개발자 ID와 어플리케이션 ID를 통해 사용자와 어플리케이션을 구분하며 이전에 발생한 이력이 있는 에러인지 구분하기 위해 고유한 에러를 구분하기 위한 해쉬키를 생성한다. 해쉬키는 파일명, 클래스명, 메소드명, 라인위치, 메시지 등을 포함한 동일에러 여부를 용이하게 구분 할 수 있도록 중복되지 않는 키로 생성을 한다. 해쉬키를 통해 신규 또는 중복 에러여부를 구분 후 에러 정보, 디바이스 상태정보, 스택정보로 세분화 하여 데이터 저장소의 데이터베이스로 저장하며 에러정보 처리부는 신속한 데이터의 처리를 위하여 다수의 노드로 구성된 분산환경 데이터 처리 시스템으로 구성하는 특징을 가진다.
또한, 본 발명에서 데이터 저장소는 에러정보 처리부에서 처리된 정보를 에러정보, 디바이스 상태정보, 스택정보로 저장하는 데이터베이스로 구성되는 특징을 가진다.
또한, 본 발명에서 에러 모니터링 및 통계관리 서비스는 데이터 저장소에 저장된 데이터를 에러 모니터링 및 통계관리 서비스를 제공받는 사용자에게 필요한 용도에 따라 통계처리된 정보를 제공하는 웹 서비스를 제공한다. 일자별 에러 발생수, 고유에러 발생수, 전체 에러발생 수 등 에러발생 빈도에 따른 정보 및 에러발생 원인별, 디바이스 별, 에러상태에 따른 에러발현 유사도 등 에러발생 환경과 시스템 정보, 에러현황 전체를 통계 처리하여 그래픽 또는 그래프를 통하여 UI환경에 따라 제공되는 웹 통계서비스를 특징으로 하며 사용자가 입력한 에러발생 시간과 빈도수에 도달할 경우 에러 모니터링 및 통계관리 서비스를 제공받는 사용자의 이메일, 외부 메시징 서비스를 통해 즉각적으로 해당 정보를 전달하는 특징을 가진다.
상술한 바와 같이 본 발명은 에러 모니터링 및 통계관리 서비스를 제공받는 사용자가 개발한 모든 어플리케이션에 대해서 에러 모니터링 및 통계관리서비스를 위한 시스템을 구비하므로 에러 발생 시 개발자가 쉽게 그 사실을 인지하고 해당 어플리케이션의 에러발생원인을 추적, 수정할 수 있는 체계화된 방안을 제시할 수 있는 이점이 있다.
또한, 본 발명에 따른 에러 모니터링 및 통계관리 서비스는 에러 발생 시 에러 정보를 단순히 발생현황 만을 서비스하는 것이 아니라 발생원인, 중복에러여부 등을 해쉬키를 통해 사전에 정렬하고 이를 통계서비스를 통하여 제공함으로 발생한 에러에 대하여 에러 모니터링 및 통계관리 서비스를 제공받는 사용자가 빠른 시간내 조치를 할 수 있는 정보를 제공하는 이점이 있다.
또한, 본 발명에 따른 에러 모니터링 및 통계관리 서비스는 어플리케이션 에러 발생 시 실시간으로 해당 내용을 임시저장하고 어플리케이션 및 디바이스의 사용이 일정조건에 부합 시 서버로 전송하고 시간 및 빈도 수에 따라 지정한 스케줄에 따라 에러 모니터링 및 통계관리 서비스를 제공받는 사용자가 이메일, 외부 메시징 서비스를 통해 즉각적으로 송출하여 에러 정보를 전달함으로써 에러 발생이 후 원인파악 및 솔루션 제시를 윈한 시간을 단축할 수 있는 이점이 있다.
또한, 본 발명은 발생할 수 있는 에러에 대하여 에러 모니터링 및 통계관리 서비스가 부여한 개발자ID, 어플리케이션 ID에 대하여 에러 별 고유 해쉬키를 SDK를 통해 제공함으로서 어플리케이션의 프레임워크(Framework)를 수정하지 않고, 해당 SDK를 라이브러리 형태의 함수로 지정함으로서 어플리케이션에 대한 운영 및 유지보수에도 큰 이점을 가진다.
이뿐만 아니라, 본 발명에서는 사용자 단말기에서 어플리케이션 에러 발생 시 에러로 인하여 어플리케이션이 종료 또는 어플리케이션이 백그라운드 상태로 들어가거나 사용자가 화면을 끈 경우 등의 이벤트 및 디바이스의 명령수행 능력환경이 서비스에서 요구하는 사항에 일치하면 내부저장소에 임시로 저장되어 있던 에러 정보를 수집부(서버)로 전송함으로서 디바이스나 네트워크 환경의 지정한 조건에 따라 안정성 있는 에라관리를 할 수 있게 된다.
또한, 본 발명에서의 에러 모니터링 및 통계관리 서비스는 데이터 저장소에 저장된 데이터를 에러 모니터링 및 통계관리 서비스를 제공받는 사용자에게 필요한 용도에 따라 통계 처리된 정보를 제공하는 웹 서비스를 제공함으로서 일자별 에러 발생수, 고유에러 발생수, 전체 에러발생 수 등 에러발생 빈도에 따른 정보 및 에러발생 원인별, 디바이스 별, 에러상태에 따른 에러발현 유사도 등 에러발생 환경과 시스템 정보, 에러현황 전체를 통계 처리하여 그래픽 또는 그래프를 통하여 UI환경에 따라 제공되는 웹 통계서비스를 특징으로 하며 사용자가 입력한 에러발생 시간과 빈도수에 도달할 경우 에러 모니터링 및 통계관리 서비스를 제공받는 사용자의 이메일, 외부 메시징 서비스를 통해 즉각적으로 해당 정보를 전달할 수 있도록 하여 효과적인 에러조치를 할 수 있는 이점이 있다.
도 1은 본 발명의 일 실시 예에 따른 에러 모니터링 및 통계관리 서비스의 주요 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 에러정보 수집 및 전송처리 블록도 이다.
도 3은 본 발명의 일 실시 예에 따른 에러정보 처리부의 프로세스 블록도 이다.
도 4는 본 발명의 일 실시 예에 따른 에러 모니터링 및 통계관리 서비스의 프로세스 블록도이다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 단, 하기의 설명 및 첨부된 도면에서 본 발명의 핵심적인 요소와 관계없는 구성에 대해서는 상세한 설명은 생략토록 한다. 또한, 도면 전체에 걸쳐 동일한 구성요소들은 가능한 동일한 도면부호로 나타낸다.
이하 본 발명의 명세서 및 청구범위에 사용되는 용어나 단어들은 통상적이거나 사전적인 의미로 한정해서 해석해서는 아니 되며 발명자가 발명을 가장 최선의 방법으로 설명코자 사용한 용어로서 적절하게 사용되며 본 발명의 기술적 사상에 부합하는 의미의 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 바람직한 일 실시예를 도식화 한 것이므로 기술의 변화에 따라 다양한 균등물과 변형의 예들이 있을 수 있음을 이해하여야 한다.
도 1은 본 발명의 일 실시예에 따른 어플리케이션 에러 모니터링 및 통계관리 서비스의 주요구성을 도시한 도면이다.
어플리케이션 에러 모니터링 및 통계관리 서비스(110)는 어플리케이션 에러 모니터링 및 통계관리 서비스를 받는 사용자(180)가 개발하는 어플리케이션이 설치되는 개별 사용자의 단말기(134)에서 발생하는 어플리케이션의 에러를 수집하기 위한 라이브러리 형태의 SDK(120)를 어플리케이션 에러 모니터링 및 통계관리 서비스(110)가 제공하고 어플리케이션 에러 모니터링 및 통계관리 서비스를 받는 사용자(180)가 빌드한 어플리케이션(121)이 네트워크(100)를 통해 설치된 개별 사용자의 단말기(134)에서 에러가 발생(131)하면 에러정보발생부(130)의 프로세스 절차에 따라 발현된 에러정보를 저장(132)하고 이를 차후 개발자가 지정한 특정시점에 네트워크(100)을 통해 어플리케이션 에러 모니터링 및 통계관리 서비스(110)의 에러정보수집부(140)의 로그저장소(141)로 전송하여 실시간으로 에러정보처리부(150)에서 개별 사용자의 단말기(134)와 어플리케이션(121)을 구분, 동일 에러 여부 및 데이터의 용도별로 분리 및 정보를 생산하여 데이터저장소(160)에 저장하게 되면 에러 모니터링 및 통계관리서비스(서버)가 해당 데이터를 데이터저장소(160)에서 가져와 모니터링 결과 및 에러 데이터에서 추출한 정보를 기준으로 어플리케이션 에러 모니터링 및 통계관리 서비스 사용자(180)이 요청하는 통계정보를 처리하여 어플리케이션 에러 모니터링 및 통계관리 서비스 사용자(180)의 단말기 상에 웹서비스를 하는 구조이다.
에러정보트래킹 SDK(120)은 앱에 포함할 수 있는 라이브러리 형태로 어플리케이션 에러 모니터링 및 통계관리 서비스(110)에서 제공되며 도 1의 어플리케이션 에러 모니터링 및 통계관리 서비스 사용자(180)는 어플리케이션(121) 개발 시 어플리케이션 에러 모니터링 및 통계관리 서비스(110)가 제공하는 개발자ID와 어플리케이션ID를 초기화 코드에 할당, 에러 발생정보를 트래킹하고자 하는 어플리케이션의 코드에 에러정보트래킹 SDK(120)에서 제공하는 API를 적용하여 네트워크(100)상의 앱스토어 등의 배포시스템을 통해 개별 사용자 단말기(134)에 배포한다.
에러정보발생부(130)는 적어도 하나 이상의 어플리케이션 에러정보를 실시간으로 감지한다.
에러정보발생부(130)는 어플리케이션(121)의 에러발생(131)시 어플리케이션에서 에러정보를 내부저장소에 저장(132)하고 프로세스 방침에 따라 네트워크(100)을 통해 에러정보수집부(140)으로 해당 데이터를 전송(133)한다.
에러정보수집부(140)의 로그저장소(141)는 개별사용자의 단말기(134)로부터 전송된 대용량의 에러로그 데이터를 유실없이 신속하게 저장할 수 있도록 분산 시스템 환경의 메모리기반 큐 시스템을 사용하여 구성한다.
에러정보처리부(150)는 에러정보수집부(140)의 로그저장소(141)에 저장된 에러로그를 가져와 개별사용자별, 어플리케이션(121)별로 구분하고 동일에러 여부 및 용도별 데이터로 분리하여 데이터저장소(160)에 해당 정보를 저장한다.
에러정보처리부(150)는 에러로그에 저장된 개발자 ID와 어플리케이션 ID를 통해 개별사용자와 어플리케이션(121)을 구분한다.
에러정보처리부(150)는 어플리케이션에서 발현한 에러가 이전에 발생한 이력이 있는 에러인지의 유무를 판단하기 위하여 에러별로 고유한 해쉬키를 생성한다.
에러정보처리부(150)는 해쉬키에 파일명, 클래스명, 메소드명, 라인위치, 메시지 등을 포함하여 생성하고 에러 발생 시 이전의 해쉬키와 비교하여 동일한 에러인지 여부를 확인하고 동일한 해쉬키가 없으면 신규 에러정보를 생성한다.
에러정보처리부(150)는 해쉬키를 통해 신규 또는 중복발생 에러여부를 구분한 후 에러정보, 상태정보, 스택정보로 에러데이터를 분리하여 데이터저장소(160)에 데이터를 저장한다.
에러정보처리부(150)는 신속한 데이터 처리를 위해 하나 이상의 노드로 구성된 분산환경의 데이터 처리 시스템으로 구성한다.
데이터저장소(160)는 에러정보처리부(150)에서 처리한 에러정보를 데이터베이스로 구성한다.
에러 모니터링 및 통계관리서비스(170)는 데이터저장소(160)에 저장된 데이터를 각 용도에 따라 통계처리하여 웹서비스 한다.
에러 모니터링 및 통계관리서비스(170)는 일자별 에러 발생수, 고유에러 발생수, 전체 에러발생 수 등의 에러발생빈도를 파악할 수 있는 정보를 어플리케이션 에러 모니터링 및 통계관리 서비스 사용자(180)에게 웹서비스로 제공한다.
에러 모니터링 및 통계관리서비스(170)는 개별사용자 단말기(134)에서 발생한 에러가 어플리케이션 에러 모니터링 및 통계관리 서비스 사용자(180)가 입력한 시간과 빈도 수에 도달할 경우 이메일, 외부메세징 서비스를 통해 어플리케이션 에러 모니터링 및 통계관리 서비스 사용자(180)에게 알림기능을 제공한다.
에러 모니터링 및 통계관리서비스(170)는 어플리케이션 에러 모니터링 및 통계관리 서비스 사용자(180)이 요청하는 통계정보를 데이터저장소(160)으로 부터 데이터를 가져와 처리하여 어플리케이션 에러 모니터링 및 통계관리 서비스 사용자(180)의 단말기 상에 웹서비스를 제공한다.
도 2는 본 발명의 일 실시 예에 따른 에러정보 수집 및 전송처리 블록도 이다.
개별사용자의 단말기(134)에서 어플리케이션(121) 에러 이벤트가 발생(131)하게 되면 어플리케이션 내 에러정보발생부에서 에러를 감지하여 어플리케이션 에러정보 및 개별 사용자의 단말기 상태정보를 수집(132)하게 된다. 어플리케이션의 에러정보는 소스파일명, 클래스명, 메소드명, 에러가 발생한 라인의 위치, Stack trace 정보, 개발자가 명시적으로 남긴 메시지 등을 포함한 에러의 원인을 파악할 수 있는 모든 정보를 포함하며 개별 사용자의 단말기 상태정보는 해당 단말기의 모델명, 통신사, 국가, 어플리케이션의 버전, OS버전, 루팅여부, 백그라운드 실행여부, 네트워크 연결상태 등 에러가 발생한 시점의 단말기의 상태정보를 모두 포함한다. 발생한 에러정보는 어플리케이션 성능의 영향을 최소화 하기 위해 즉시 어플리케이션 에러 모니터링 및 통계관리서비스(110)의 에러정보수집부(140)로 전송하지 않고 개별 사용자 단말기(134)의 내부저장소에 임시적으로 저장했다가 에러로 인해 어플리케이션이 종료 또는 어플리케이션이 백그라운드 상태로 진입, 사용자가 화면을 끄는 등의 이벤트가 발생할 경우 또는 디바이스 상태가 해당 정보를 보내기 용이한 개발자가 설정한 적정시점에 어플리케이션 에러 모니터링 및 통계관리서비스(110)의 에러정보수집부(140)으로 전송한다.
도 3은 본 발명의 일 실시 예에 따른 에러정보 처리부의 프로세스 블록도 이다.
어플리케이션 에러 모니터링 및 통계관리서비스(110)의 에러정보수집부(140)로그저장소(141)에 저장된 에러로그를 에러정보처리부(150)로 가져와 사용자별, 어플리케이션 별 구분을 우선하고 동일에러 여부를 구분하는 프로세스 처리(151)를 실시한다.
사용자 및 어플리케이션 별 구분은 에러로그에 저장된 개발자ID와 어플리케이션 ID를 통해 구분하며 동일에러 여부의 구분은 에러정보처리부의 해쉬키리스트(153)의 해쉬키 정보를 비교(152)하여 동일중복 에러일 경우에 발생카운터의 증가를 해당 에러 데이터에 저장하고 신규에러일 경우 파일명, 클래스명, 메소드명, 에러가 발생한 코드의 라인위치, 개발자가 명시적으로 남긴 메시지 등을 포함한 신규 해쉬키를 해쉬키리스트(153)에 저장한다.
해쉬키를 통해 신규 또는 중복에러인지 구분한 에러 데이터는 해당 에러의 정보, 상태정보 및 스택정보로 분리(154)되어 어플리케이션 에러 모니터링 및 통계관리서비스(110)의 데이터저장소(160)에 데이터베이스로 저장된다.
도 4는 본 발명의 일 실시 예에 따른 에러 모니터링 및 통계관리 서비스의 프로세스 블록도이다.
어플리케이션 에러 모니터링 및 통계관리서비스(110)의 에러 모니터링 통계서비스 서버(170)는 데이터저장소(160)에서 에러데이터를 입력(171)받아 어플리케이션 에러 모니터링 및 통계관리 서비스 사용자(180)의 요청에 따라 통계처리 및 UI 그래픽 처리(172)를 통하여 정보를 제공한다.
어플리케이션 에러 모니터링 및 통계관리서비스(110)의 에러 모니터링 통계서비스 서버(170)에서 제공되는 정보는 일자별 에러 발생 수, 고유 해쉬키 정보에 따른 에러 발생 수, 어플리케이션(141)의 전체 에러발생 수 등 에러 발생의 빈도에 따른 정보 및 에러발생 원인별, 디바이스 별, 에러상태에 따른 에러발현 유사도 등 에러발생 환경과 시스템 정보, 에러현황 전체를 통계 처리하여 그래픽 또는 그래프를 통하여 UI환경에 따라 제공되는 웹 통계서비스를 제공한다.
어플리케이션 에러 모니터링 및 통계관리서비스(110)의 에러 모니터링 통계서비스 서버(170)는 어플리케이션 에러 모니터링 및 통계관리 서비스 사용자(180)가 입력한 시간과 에러빈도수를 지정한 값과 에러 데이터가 일치할 경우 이메일, 외부 메시징 서비스를 통하여 어플리케이션 에러 모니터링 및 통계관리 서비스 사용자(180)에게 알림기능을 제공한다.
100: 네트워크 110: 어플리케이션 에러 모니터링 및 통계관리 서비스
120: 에러정보 트래킹 SDK 121: 어플리케이션
130: 에러정보발생부 131: 에러발생이벤트 132: 에러정보저장
133: 에러데이터 전송 134: 개별사용자의 단말기
140: 에러정보수집부(서버) 141: 로그저장소
150: 에러정보처리부 151: 에러요인구분프로세스
152: 해쉬키 정보비교 153: 해쉬키리스트
154: 에러정보데이터 (에러정보, 상태정보, 스택정보)
160: 데이터저장소
170: 에러모니터링 및 통계관리서비스(서버) 171: 에러데이터입력 프로세스
172: 에러데이터 통계처리프로세스 173: 이메일/외부메세징서비스 프로세스
180: 어플리케이션 에러 모니터링 및 통계관리 서비스 사용자

Claims (4)

  1. 어플리케이션 에러 모니터링 및 통계관리 서비스 및 그 방법에 있어서, 어플리케이션에 대한 에러 발생 시 이를 실시간으로 트래킹 및 수집하기 위해 어플리케이션 라이브러리 형태로 배포되는 SDK; SDK의 API를 통해 어플리케이션에서 발생한 오류, 예외사항 또는 개발자가 임의로 정보를 수집코자 하는 상황에서 에러정보 및 사용자 단말기의 상태정보를 수집하고 내부 저장소에 임시 저장하고 전송처리하는 에러정보 발생부; 에러정보 발생부에서 전송된 에러로그를 메모리 기반 큐 시스템을 사용하여 저장하는 에러정보 수집부; 에러정보 수집부에 저장된 에러로그를 가져와 사용자별, 어플리케이션 별로 구분하고 동일 에러여부를 판단하여 에러 단계별 필요 데이터로 생산하는 에러정보 처리부; 에러정보 처리부에서 처리한 정보를 저장하는 데이터베이스로 구성되는 데이터 저장소(서버); 어플리케이션 모니터링 및 통계관리서비스 사용자에게 데이터 저장소에서 가져온 에러 데이터를 용도에 따라 통계처리 하여 정보를 제공하는 어플리케이션 에러 모니터링 및 통계관리 서비스(서버)를 포함하는 것을 특징으로 하는 어플리케이션 에러 모니터링 및 통계관리 서비스.
  2. 1항에 있어서,
    상기 어플리케이션 에러 모니터링 및 통계관리 서비스의
    에러정보의 수집 및 전송은 어플리케이션에서 발생한 오류, 예외상황 또는 개발자가 임의로 정보를 수집코자 하는 특정상황에서 발현되는 에러정보 및 사용자의 단말기 상태 정보를 수집하는 것으로서 해당 에러정보는 에러 모니터링 및 통계관리서비스를 필요로 하는 어플리케이션의 소스파일명, 클래스명, 메소드명, 에러발생 라인위치, 스택 트레이스(Stack Trace) 정보, 개발자가 명시적으로 남긴 메시지 등을 포함한 에러의 원인을 파악할 수 있는 정보를 포함한다. 디바이스 상태정보는 모델명, 통신사, 국가, 어플리케이션 버전, OS버전, 루팅여부, 백그라운드 실행여부, 네트워크 연결상태 등 에러가 발생한 시점의 디바이스 상태정보를 포함한다. 발현한 에러정보는 어플리케이션과 디바이스 성능의 영향을 최소화하기 위해 즉시 서버로 전송하지 않고 내부 저장소에 임시로 저장하는 특징을 가지며 데이터 전송부는 에러로 인하여 어플리케이션이 종료 또는 어플리케이션이 백그라운드 상태로 들어가거나 사용자가 화면을 끈 경우 등의 이벤트 및 디바이스의 명령수행 능력환경이 서비스에서 요구하는 사항에 일치하면 내부저장소에 임시로 저장되어 있던 에러 정보를 수집부(서버)로 전송하는 특징으로 하는 어플리케이션 에러 모니터링 및 통계관리 서비스.
  3. 1항에 있어서,
    상기 어플리케이션 에러 모니터링 및 통계관리 서비스의
    에러정보 처리부는 에러정보처리를 위한 서버로 구성되며 에러정보 수집부(서버)에 저장된 에러로그를 가져와 사용자별, 어플리케이션 별, 동일에러 여부구분 및 용도별 데이터를 분리하여 통계관리 데이터베이스에 저장하는 역할을 수행하고 에러 로그에 저장된 개발자 ID와 어플리케이션 ID를 통해 사용자와 어플리케이션을 구분하며 이전에 발생한 이력이 있는 에러인지 구분하기 위해 고유한 에러를 구분하기 위한 해쉬키를 생성한다. 해쉬키는 파일명, 클래스명, 메소드명, 라인위치, 메시지 등을 포함한 동일에러 여부를 용이하게 구분 할 수 있도록 중복되지 않는 키로 생성을 한다. 해쉬키를 통해 신규 또는 중복 에러여부를 구분 후 에러 정보, 디바이스 상태정보, 스택정보로 세분화 하여 데이터 저장소의 데이터베이스로 저장하며 에러정보 처리부는 신속한 데이터의 처리를 위하여 다수의 노드로 구성된 분산환경 데이터 처리 시스템으로 구성하는 특징으로 하는 어플리케이션 에러 모니터링 및 통계관리 서비스.
  4. 상기 어플리케이션 에러 모니터링 및 통계관리 서비스는
    데이터 저장소에 저장된 데이터를 에러 모니터링 및 통계관리 서비스를 제공받는 사용자에게 필요한 용도에 따라 통계처리된 정보를 제공하는 웹 서비스를 제공한다. 일자별 에러 발생수, 고유에러 발생수, 전체 에러발생 수 등 에러발생 빈도에 따른 정보 및 에러발생 원인별, 디바이스 별, 에러상태에 따른 에러발현 유사도 등 에러발생 환경과 시스템 정보, 에러현황 전체를 통계 처리하여 그래픽 또는 그래프를 통하여 UI환경에 따라 제공되는 웹 통계서비스를 특징으로 하며 사용자가 입력한 에러발생 시간과 빈도수에 도달할 경우 에러 모니터링 및 통계관리 서비스를 제공받는 사용자의 이메일, 외부 메시징 서비스를 통해 즉각적으로 해당 정보를 전달하는 특징으로 하는 어플리케이션 에러 모니터링 및 통계관리 서비스.
KR1020160127331A 2016-10-04 2016-10-04 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법 KR20180037342A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160127331A KR20180037342A (ko) 2016-10-04 2016-10-04 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160127331A KR20180037342A (ko) 2016-10-04 2016-10-04 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법

Publications (1)

Publication Number Publication Date
KR20180037342A true KR20180037342A (ko) 2018-04-12

Family

ID=61969200

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160127331A KR20180037342A (ko) 2016-10-04 2016-10-04 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법

Country Status (1)

Country Link
KR (1) KR20180037342A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102145403B1 (ko) * 2020-03-30 2020-08-18 주식회사 지에스아이티엠 익셉션 로그 빅데이터 분석에 의한 스마트 디바이스의 애플리케이션 모니터링 방법
CN111949421A (zh) * 2020-08-12 2020-11-17 北京奇艺世纪科技有限公司 Sdk调用方法、装置、电子设备和计算机可读存储介质
CN113138970A (zh) * 2021-04-23 2021-07-20 上海中通吉网络技术有限公司 实时的数据库错误日志的统计分析***及其方法
WO2022177061A1 (ko) * 2021-02-16 2022-08-25 삼성전자주식회사 비정상적인 앱을 백그라운드에서 미리 로딩하는 전자 장치 및 그의 동작 방법
KR102460638B1 (ko) * 2022-08-17 2022-10-28 (주)시큐레이어 에러 이벤트에 대한 가이드 정보를 제공하기 위한 방법 및 서버
CN115698946A (zh) * 2020-06-10 2023-02-03 斯纳普公司 软件开发工具包参与监测器
US12008340B2 (en) 2023-01-24 2024-06-11 Snap Inc. Software development kit engagement monitor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060061027A (ko) * 2004-12-01 2006-06-07 주식회사 팬택 이동 단말기에서 발생된 에러의 원인 분석 방법 및 시스템
KR20070015999A (ko) * 2005-08-02 2007-02-07 엔에이치엔(주) 에러 관리 시스템 및 이를 이용한 에러 관리 방법
JP2012234273A (ja) * 2011-04-28 2012-11-29 Kyocera Document Solutions Inc 情報処理装置、ログ解析システム、ログ解析方法、及び、ログ解析プログラム
KR20140055282A (ko) * 2012-10-31 2014-05-09 에스케이플래닛 주식회사 사용자 단말에서의 웹 어플리케이션 오류 분석 시스템, 장치 및 방법
KR20150049201A (ko) * 2013-10-29 2015-05-08 에스케이텔레콤 주식회사 어플리케이션 에러 관리를 위한 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060061027A (ko) * 2004-12-01 2006-06-07 주식회사 팬택 이동 단말기에서 발생된 에러의 원인 분석 방법 및 시스템
KR20070015999A (ko) * 2005-08-02 2007-02-07 엔에이치엔(주) 에러 관리 시스템 및 이를 이용한 에러 관리 방법
JP2012234273A (ja) * 2011-04-28 2012-11-29 Kyocera Document Solutions Inc 情報処理装置、ログ解析システム、ログ解析方法、及び、ログ解析プログラム
KR20140055282A (ko) * 2012-10-31 2014-05-09 에스케이플래닛 주식회사 사용자 단말에서의 웹 어플리케이션 오류 분석 시스템, 장치 및 방법
KR20150049201A (ko) * 2013-10-29 2015-05-08 에스케이텔레콤 주식회사 어플리케이션 에러 관리를 위한 장치 및 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102145403B1 (ko) * 2020-03-30 2020-08-18 주식회사 지에스아이티엠 익셉션 로그 빅데이터 분석에 의한 스마트 디바이스의 애플리케이션 모니터링 방법
CN115698946A (zh) * 2020-06-10 2023-02-03 斯纳普公司 软件开发工具包参与监测器
CN111949421A (zh) * 2020-08-12 2020-11-17 北京奇艺世纪科技有限公司 Sdk调用方法、装置、电子设备和计算机可读存储介质
CN111949421B (zh) * 2020-08-12 2023-09-05 北京奇艺世纪科技有限公司 Sdk调用方法、装置、电子设备和计算机可读存储介质
WO2022177061A1 (ko) * 2021-02-16 2022-08-25 삼성전자주식회사 비정상적인 앱을 백그라운드에서 미리 로딩하는 전자 장치 및 그의 동작 방법
CN113138970A (zh) * 2021-04-23 2021-07-20 上海中通吉网络技术有限公司 实时的数据库错误日志的统计分析***及其方法
KR102460638B1 (ko) * 2022-08-17 2022-10-28 (주)시큐레이어 에러 이벤트에 대한 가이드 정보를 제공하기 위한 방법 및 서버
US12008340B2 (en) 2023-01-24 2024-06-11 Snap Inc. Software development kit engagement monitor

Similar Documents

Publication Publication Date Title
KR20180037342A (ko) 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법
US10761913B2 (en) System and method for real-time asynchronous multitenant gateway security
US7689688B2 (en) Multiple-application transaction monitoring facility for debugging and performance tuning
CN110232006B (zh) 设备告警方法及相关装置
CN113645230B (zh) 一种节点的可信值分析***及方法
US11449488B2 (en) System and method for processing logs
CN109460307B (zh) 基于日志埋点的微服务调用跟踪方法及其***
CN107544832A (zh) 一种虚拟机进程的监控方法、装置和***
CN112395177A (zh) 业务数据的交互处理方法、装置、设备及存储介质
CN112954031B (zh) 一种基于云手机的设备状态通知方法
US11086919B2 (en) Service regression detection using real-time anomaly detection of log data
CN110851471A (zh) 分布式日志数据处理方法、装置以及***
CN113452607A (zh) 分布式链路采集的方法、装置、计算设备和存储介质
CN110290190A (zh) 一种采集数据的方法、被监控设备及监控服务器
CN114595127A (zh) 日志异常处理方法、装置、设备和存储介质
US8671314B2 (en) Real-time diagnostics pipeline for large scale services
US20210266238A1 (en) Operation device and operation method
CN114780214A (zh) 任务处理方法、装置、***及设备
CN113672452A (zh) 一种数据采集任务的运行监控方法、***
CN107426012B (zh) 一种基于超融合架构的故障恢复方法及其装置
KR20170122874A (ko) 데이터 분산 서비스 기반의 응용 시스템의 통합 로그 관리 장치
KR101288535B1 (ko) 통신 시스템 모니터링 방법 및 이를 위한 장치
US20180123866A1 (en) Method and apparatus for determining event level of monitoring result
CN110928679B (zh) 一种资源分配方法及装置
CN110362464B (zh) 软件分析方法及设备

Legal Events

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