KR102650041B1 - 오작동 정보 제공 방법 및 이를 위한 전자 장치 - Google Patents

오작동 정보 제공 방법 및 이를 위한 전자 장치 Download PDF

Info

Publication number
KR102650041B1
KR102650041B1 KR1020220142839A KR20220142839A KR102650041B1 KR 102650041 B1 KR102650041 B1 KR 102650041B1 KR 1020220142839 A KR1020220142839 A KR 1020220142839A KR 20220142839 A KR20220142839 A KR 20220142839A KR 102650041 B1 KR102650041 B1 KR 102650041B1
Authority
KR
South Korea
Prior art keywords
malfunction
information
page
user terminal
message
Prior art date
Application number
KR1020220142839A
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 KR1020220142839A priority Critical patent/KR102650041B1/ko
Priority to PCT/KR2022/017418 priority patent/WO2024096170A1/ko
Application granted granted Critical
Publication of KR102650041B1 publication Critical patent/KR102650041B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/321Display for diagnostics, e.g. diagnostic result display, self-test user interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • 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/3409Recording 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 for performance assessment
    • 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

Abstract

본 개시에 따르면, 사용자 단말에 제공된 페이지에 대한 오작동 메시지를 획득하는 단계 및 상기 오작동 메시지를 기반으로 상기 페이지에 대한 오작동 정보를 관리자 단말에 제공하는 단계를 포함하되, 상기 오작동 메시지는 상기 페이지에 대한 식별 정보, 오작동과 관련된 프로세스에 대한 정보 및 오작동의 이유에 대한 정보를 포함하는 오작동 정보 제공 방법 및 이를 위한 전자 장치가 개시된다.

Description

오작동 정보 제공 방법 및 이를 위한 전자 장치{MALFUNCTION INFORMATION PROVIDING METHOD AND ELECTRONIC DEVICE FOR THE SAME}
본 개시는 사용자 단말 상에 제공된 페이지에서 발생하는 오작동을 모니터링하여 오작동 정보를 관리자 단말에 제공하는 오작동 정보 제공 방법 및 이를 위한 전자 장치에 관한 것이다.
인터넷의 사용이 보편화됨에 따라 다양한 분야에서 인터넷 기반 서비스가 제공되고 있다. 특히, 구매자와 판매자가 단말을 통해 온라인 쇼핑몰에 접속하여 실시간으로 상품을 거래할 수 있는 전자상거래가 활성화되고 있다.
전자상거래를 위한 인터넷 기반 서비스를 운영함에 있어서, 사용자 단말에 제공되는 어플리케이션의 오작동(malfunction)을 모니터링하고 오작동이 발생한 경우 오작동의 원인을 파악하여 신속히 해결할 필요가 있다. 이에 따라, 사용자 단말에 제공되는 어플리케이션의 오작동을 모니터링하는 방법 및 오작동과 관련된 정보를 보고하는 방법에 대한 논의가 이루어지고 있다.
관련하여, KR 10-1655800 B1 건, KR 10-1202941 B1 건 등의 선행문헌들을 참조할 수 있다.
본 개시는 사용자 단말 상에 제공된 페이지에서 발생하는 오작동을 모니터링하여 오작동 정보를 관리자 단말에 제공하는 오작동 정보 제공 방법 및 이를 위한 전자 장치를 제공하는 것을 목적으로 한다.
본 개시에 의해 이루고자 하는 기술적 과제는 상술한 기술적 과제들로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
개시되는 일 실시 예에 따른 오작동 정보 제공 방법은 사용자 단말에 제공된 페이지에 대한 오작동 메시지를 획득하는 단계 및 상기 오작동 메시지를 기반으로 상기 페이지에 대한 오작동 정보를 관리자 단말에 제공하는 단계를 포함하되, 상기 오작동 메시지는 상기 페이지에 대한 식별 정보, 오작동과 관련된 프로세스에 대한 정보 및 오작동의 이유에 대한 정보를 포함할 수 있다.
상기 오작동 메시지는 상기 사용자 단말, 상기 사용자 단말에 상기 페이지를 제공하는 제1 서버 및 상기 페이지에 대한 사용자의 입력에 관한 정보를 처리하는 제2 서버 중 적어도 하나로부터 획득될 수 있다.
상기 오작동 메시지가 상기 사용자 단말로부터 획득되는 경우, 상기 오작동 메시지를 획득하는 단계는, 상기 페이지와 관련된 로그를 저장 및 전송하도록 구성된 상기 사용자 단말의 로그 센더로부터 상기 오작동 메시지를 획득하는 단계를 포함할 수 있다.
상기 오작동과 관련된 프로세스에 대한 정보는, 상기 사용자 단말이 상기 페이지의 요청을 위한 제1 데이터를 준비하는 제1 단계, 상기 사용자 단말이 상기 사용자 단말에 상기 페이지를 제공하는 제1 서버로 상기 제1 데이터를 전송하는 제2 단계, 상기 제1 서버가 상기 제1 데이터를 처리하여 상기 페이지와 관련된 제2 데이터를 생성하는 제3 단계, 상기 사용자 단말이 상기 제1 서버로부터 상기 제2 데이터를 수신하는 제4 단계 및 상기 사용자 단말이 상기 제2 데이터를 처리하는 제5 단계 중 적어도 하나와 관련된 정보를 포함할 수 있다.
상기 오작동 메시지를 획득하는 단계는, 상기 페이지에 포함된 적어도 하나의 UI와 관련된 정보를 획득하는 단계 및 상기 적어도 하나의 UI와 관련된 정보를 기반으로 오작동 여부를 감지하는 단계를 포함할 수 있다.
상기 적어도 하나의 UI와 관련된 정보를 획득하는 단계는, 시계열적으로 획득되는 상기 적어도 하나의 UI에 대한 복수의 사용자들의 복수의 입력들에 관한 통계 정보를 획득하는 단계를 포함할 수 있다.
상기 오작동 여부를 감지하는 단계는, 상기 통계 정보가 설정된 기준 범위 내에 있는지를 기반으로 오작동 여부를 확인하는 단계를 포함할 수 있다.
상기 설정된 기준 범위는 오작동의 종류에 따라 다를 수 있다.
상기 적어도 하나의 UI와 관련된 정보를 획득하는 단계는, 상기 적어도 하나의 UI를 포함하는 상기 페이지에 대한 캡처 이미지를 획득하는 단계를 포함할 수 있다.
상기 오작동 여부를 감지하는 단계는, 정상 작동 시의 기준 이미지 및 상기 캡처 이미지를 기반으로 오작동 여부를 확인하는 단계를 포함할 수 있다.
상기 오작동 메시지는 상기 관리자 단말과 대응하는 도메인 정보를 더 포함할 수 있다.
개시되는 일 실시 예에 따른 오작동 정보를 제공하는 전자 장치는 적어도 하나의 명령어를 저장하는 메모리 및 상기 적어도 하나의 명령어에 기초하여, 사용자 단말에 제공된 페이지에 대한 오작동 메시지를 획득하고, 상기 오작동 메시지를 기반으로 상기 페이지에 대한 오작동 정보를 관리자 단말에 제공하는 프로세서를 포함하되, 상기 오작동 메시지는 상기 페이지에 대한 식별 정보, 오작동과 관련된 프로세스에 대한 정보 및 오작동의 이유에 대한 정보를 포함할 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 개시에 따르면, 오작동의 발생 원인에 최적화된 방법으로 오작동을 감지하고 이에 대한 정보를 관리자 단말에 효율적으로 전달할 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 실시 예들에 따른 오작동 정보 제공 방법이 구현되는 전자 장치를 설명하기 위한 개념도이다.
도 2는 본 개시의 실시 예들에 따른 서버들 및 단말들을 설명하기 위한 개략적인 블록도이다.
도 3은 본 개시의 실시 예들에 따른 오작동 정보 제공 방법을 설명하기 위한 흐름도이다.
도 4는 오작동과 관련된 프로세스를 설명하기 위한 개념도이다.
도 5는 본 개시의 실시 예들에 따른 오작동 정보 제공 방법에서 오작동 메시지를 획득하는 단계를 설명하기 위한 페이지이다.
도 6 내지 도 9는 본 개시의 실시 예들에 따른 오작동 정보 제공 방법을 설명하기 위한 개념도들이다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “...부”, “...모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서 기재된 “a, b, 및 c 중 적어도 하나”의 표현은, ‘a 단독’, ‘b 단독’, ‘c 단독’, ‘a 및 b’, ‘a 및 c’, ‘b 및 c’, 또는 ‘a,b,c 모두’를 포괄할 수 있다.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하, 본 개시의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하의 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 명령어들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 명령어들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 명령어들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 명령어들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 명령어들은 흐름도 블록(들)에서 설명된 기능을 수행하는 명령어 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 명령어들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 명령어들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령어들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 1은 본 개시의 실시 예들에 따른 오작동 정보 제공 방법이 구현되는 전자 장치를 설명하기 위한 개념도이다.
도 1을 참조하면, 본 개시의 실시 예들에 따른 오작동 정보 제공 방법은 다양한 종류의 장치들에 구현될 수 있다. 예를 들어, 본 개시의 실시 예들에 따른 오작동 정보 제공 방법은 전자 장치(110)에 구현될 수 있다. 달리 말해, 전자 장치(110)는 구현된 오작동 정보 제공 방법을 기반으로, 본 개시의 실시 예들에 따른 동작을 수행할 수 있다. 한편, 본 개시의 실시 예들에 따른 오작동 정보 제공 방법은, 도 1에 도시된 바에 제한되지 않고, 다양한 전자 장치, 단말 및 서버에 구현될 수도 있다. 본 개시에서, 전자 장치(110)는 모니터링 서버일 수 있다.
본 개시의 실시 예들에 따른 전자 장치(110)는, 전자 장치(110)와 연동되는 적어도 하나의 장치와 유선 또는 무선 통신을 수행하며, 대단위의 저장 용량을 갖는 메모리를 포함하는 장치일 수 있다. 예를 들어, 전자 장치(110)는 적어도 하나의 장치와 연결된 클라우드 장치(cloud device)일 수 있다. 실시 예들에 따르면, 전자 장치(110)는 사용자 단말(120), 제1 서버(130), 제2 서버(140) 및 관리자 단말(150) 각각과 연동되며 유선 또는 무선 통신을 수행할 수 있다.
본 개시의 실시 예들에 따른 전자 장치(110)와 연동되는 사용자 단말(120) 및 관리자 단말(150) 각각은, 데스크탑 피시, 태블릿 피시 및 모바일 단말 중 적어도 하나일 수 있다. 이외에도 유사한 기능을 수행하는 다른 전자 장치들이 전자 장치(110)와 연동되는 사용자 단말(120) 및 관리자 단말(150)로 이용될 수 있다.
본 개시의 실시 예들에 따른 전자 장치(110) 및 사용자 단말(120)과 연동되는 제1 서버(130) 및 제2 서버(140) 각각은, 데스크탑 피시, 태블릿 피시 및 모바일 단말 중 적어도 하나일 수 있다. 이외에도 유사한 기능을 수행하는 다른 전자 장치들이 전자 장치(110) 및 사용자 단말(120)과 연동되는 제1 서버(130) 및 제2 서버(140)로 이용될 수 있다.
도 1에서 사용자 단말(120), 제1 서버(130) 및 제2 서버(140)는 관리자 단말(150)과 연동되지 않고, 전자 장치(110), 즉 모니터링 서버와 연동되는 것으로 도시되었으나, 이는 예시적인 것일 뿐 본 개시는 이에 제한되지 않는다. 다시 말하면, 사용자 단말(120), 제1 서버(130) 및 제2 서버(140) 중 적어도 하나는 관리자 단말(150)과 직접 연동되며 유선 또는 무선 통신을 수행할 수도 있다. 또한, 도 1에서 제1 서버(130) 및 제2 서버(140)는 서로 직접 연동되지 않고, 전자 장치(110) 및 사용자 단말(120)과 연동되는 것으로 도시되었으나, 이는 예시적인 것일 뿐 본 개시는 이에 제한되지 않는다. 다시 말하면, 제1 서버(130) 및 제2 서버(140)는 서로 직접 연동되며 유선 또는 무선 통신을 수행할 수도 있다.
본 개시의 실시 예들에 따른 동작을 위한 다양한 모듈들이 제공될 수 있다. 모듈들은 오작동 정보 제공 방법이 구현되는(또는, 물리적 장치에 포함되는) 물리적 장치(예를 들어, 전자 장치(110))가 지정된 동작을 수행할 수 있도록 구현된 컴퓨터 코드 내지는 하나 이상의 명령어일 수 있다. 다시 말하면, 오작동 정보 제공 방법이 구현되는 물리적 장치는 복수 개의 모듈들을 컴퓨터 코드 형태로 메모리에 저장하고, 메모리에 저장된 복수 개의 모듈들이 실행되는 경우 복수 개의 모듈들은 물리적 장치가 복수 개의 모듈들에 대응하는 지정된 동작들을 수행하도록 할 수 있다.
도 2는 본 개시의 실시 예들에 따른 전자 장치 및 작업자 단말을 설명하기 위한 개략적인 블록도이다.
도 2를 참조하면, 전자 장치(110) 및 전자 장치(110)와 연동되는 사용자 단말(120), 제1 서버(130), 제2 서버(140) 및 관리자 단말(150) 각각은 통신부(210), 메모리(220) 및 프로세서(230)를 포함할 수 있다.
실시 예들에 따르면, 전자 장치(110) 및 전자 장치(110)와 연동되는 사용자 단말(120), 제1 서버(130), 제2 서버(140) 및 관리자 단말(150) 각각은 입력부 및 출력부를 더 포함할 수도 있다. 입력부 및 출력부 각각은 사용자 입력을 받거나 또는 사용자에게 정보를 출력하는 각종 인터페이스나 연결 포트 등일 수 있다.
입력부는 입력 모듈을 포함할 수 있고, 입력 모듈은 사용자로부터 사용자 입력을 수신한다. 사용자 입력은 키 입력, 터치 입력, 음성 입력을 비롯한 다양한 형태로 이루어질 수 있다. 이러한 사용자 입력을 받을 수 있는 입력 모듈의 예로는 전통적인 형태의 키패드나 키보드, 마우스는 물론, 사용자의 터치를 감지하는 터치 센서, 음성 신호를 입력받는 마이크, 영상 인식을 통해 제스처 등을 인식하는 카메라, 사용자 접근을 감지하는 조도 센서나 적외선 센서 중 적어도 하나를 포함하는 근접 센서, 가속도 센서나 자이로 센서 등을 통해 사용자 동작을 인식하는 모션 센서 및 그 외의 다양한 형태의 사용자 입력을 감지하거나 입력받는 다양한 형태의 입력 수단이 있으며, 본 개시의 실시 예에 따른 입력 모듈은 위에 나열한 장치 중 적어도 하나를 포함할 수 있다. 여기서, 터치 센서는 디스플레이 패널에 부착되는 터치 패널이나 터치 필름을 통해 터치를 감지하는 압전식 또는 정전식 터치 센서, 광학적인 방식에 의해 터치를 감지하는 광학식 터치 센서 등으로 구현될 수 있다. 이외에도 입력 모듈은 자체적으로 사용자 입력을 감지하는 장치 대신 사용자 입력을 입력받는 외부의 입력 장치를 연결시키는 입력 인터페이스(USB 포트, PS/2 포트 등)의 형태로 구현될 수도 있다.
한편, 출력부는 출력 모듈을 포함할 수 있고, 출력 모듈은 각종 정보를 출력할 수 있다. 출력 모듈은 영상을 출력하는 디스플레이, 소리를 출력하는 스피커, 진동을 발생시키는 햅틱 장치 및 그 외의 다양한 형태의 출력 수단 중 적어도 하나를 포함할 수 있다. 이외에도 출력 모듈은 상술한 개별 출력 수단을 연결시키는 포트 타입의 출력 인터페이스의 형태로 구현될 수도 있다. 예를 들어, 디스플레이 형태의 출력 모듈은 텍스트, 정지 영상, 동영상을 디스플레이 할 수 있다. 디스플레이는 액정 디스플레이(LCD; Liquid Crystal Display), 발광 다이오드(LED; light emitting diode) 디스플레이, 유기 발광 다이오드(OLED; Organic Light Emitting Diode) 디스플레이, 평판 디스플레이(FPD; Flat Panel Display), 투명 디스플레이(transparent display), 곡면 디스플레이(Curved Display), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 홀로그래픽 디스플레이(holographic display), 프로젝터 및 그 외의 영상 출력 기능을 수행할 수 있는 다양한 형태의 장치 중 적어도 하나를 포함할 수 있다. 이러한 디스플레이는 입력 모듈의 터치 센서와 일체로 구성된 터치 디스플레이의 형태일 수도 있다.
통신부(210)는 다른 장치와 통신할 수 있다. 따라서, 전자 장치(110) 및 전자 장치(110)와 연동되는 사용자 단말(120), 제1 서버(130), 제2 서버(140) 및 관리자 단말(150) 각각은 통신부(210)를 통해 다른 장치와 정보를 송수신할 수 있다. 예를 들어, 전자 장치(110) 및 전자 장치(110)와 연동되는 사용자 단말(120), 제1 서버(130), 제2 서버(140) 및 관리자 단말(150) 각각은 통신부(210)를 이용해 상호 간 통신을 수행하거나, 기타 다른 장치와 통신을 수행할 수 있다.
여기서, 통신, 즉 데이터의 송수신은 유선 또는 무선으로 이루어질 수 있다. 이를 위해 통신부(210)는 LAN(Local Area Network)를 통해 인터넷 등에 접속하는 유선 통신 모듈, 이동 통신 기지국을 거쳐 이동 통신 네트워크에 접속하여 데이터를 송수신하는 이동 통신 모듈, 와이파이(Wi-Fi) 같은 WLAN(Wireless Local Area Network) 계열의 통신 방식이나 블루투스(Bluetooth), 직비(Zigbee)와 같은 WPAN(Wireless Personal Area Network) 계열의 통신 방식을 이용하는 근거리 통신 모듈, GPS(Global Positioning System)과 같은 GNSS(Global Navigation Satellite System)을 이용하는 위성 통신 모듈 또는 이들의 조합으로 구성될 수 있다.
메모리(220)는 각종 정보를 저장할 수 있다. 메모리(220)는 데이터를 임시적으로 또는 반영구적으로 저장할 수 있다. 예를 들어, 전자 장치(110)의 메모리(220)에는 전자 장치(110)를 구동하기 위한 운용 프로그램(OS; Operating System), 웹 사이트를 호스팅하기 위한 데이터나 점자 생성을 위한 프로그램 내지는 어플리케이션(예를 들어, 웹 어플리케이션)에 관한 데이터 등이 저장될 수 있다. 또, 메모리(220)는 상술한 바와 같이 모듈들을 컴퓨터 코드 형태로 저장할 수 있다.
메모리(220)의 예로는 하드 디스크(HDD; Hard Disk Drive), SSD(Solid State Drive), 플래쉬 메모리(flash memory), 롬(ROM; Read-Only Memory), 램(RAM; Random Access Memory) 등이 있을 수 있다. 이러한 메모리(220)는 내장 타입 또는 탈부착 가능한 타입으로 제공될 수 있다.
프로세서(230)는 전자 장치(110) 및 전자 장치(110)와 연동되는 사용자 단말(120), 제1 서버(130), 제2 서버(140) 및 관리자 단말(150) 각각의 전반적인 동작을 제어한다. 이를 위해 프로세서(230)는 각종 정보의 연산 및 처리를 수행하고 전자 장치(110)의 구성요소들의 동작을 제어할 수 있다. 예를 들어, 프로세서(230)는 페이지 정보 제공을 위한 프로그램 내지 어플리케이션을 실행시킬 수 있을 것이다. 프로세서(230)는 하드웨어, 소프트웨어 또는 이들의 조합에 따라 컴퓨터나 이와 유사한 장치로 구현될 수 있다. 하드웨어적으로 프로세서(230)는 전기적인 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태로 구현될 수 있으며, 소프트웨어적으로는 하드웨어적인 프로세서(230)를 구동시키는 프로그램 형태로 구현될 수 있다. 한편, 이하의 설명에서 특별한 언급이 없는 경우에는 전자 장치(110) 및 전자 장치(110)와 연동되는 사용자 단말(120), 제1 서버(130), 제2 서버(140) 및 관리자 단말(150) 각각의 동작은 프로세서(230)의 제어에 의해 수행되는 것으로 해석될 수 있다. 즉, 본 개시의 실시 예들에 따른 오작동 정보 제공 방법에 구현되는 모듈들이 실행되는 경우, 모듈들은 프로세서(230)가 전자 장치(110) 및 전자 장치(110)와 연동되는 사용자 단말(120), 제1 서버(130), 제2 서버(140) 및 관리자 단말(150) 각각이 오작동 정보 제공 방법의 단계들을 수행하도록 제어하는 것으로 해석될 수 있다.
요약하면, 다양한 실시 예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 다양한 실시 예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.
하드웨어에 의한 구현의 경우, 다양한 실시 예들에 따른 방법은 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 다양한 실시 예들에 따른 방법은 이하에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 예를 들어, 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 메모리는 프로세서 내부 또는 외부에 위치할 수 있으며, 이미 공지된 다양한 수단에 의해 프로세서와 데이터를 주고받을 수 있다.
이하에서 상술한 기술적 사상에 기반하여 다양한 실시 예들에 대해 보다 상세히 설명한다. 이하에서 설명되는 다양한 실시 예들에 대해서는 앞서 설명한 내용들이 적용될 수 있다. 예를 들어, 이하에서 설명되는 다양한 실시 예들에서 정의되지 않은 동작, 기능, 용어 등은 앞서 설명한 내용들에 기반하여 수행되고 설명될 수 있다.
이하에서, 전자 장치(110)가, 즉 모니터링 서버가 오작동 정보 제공 방법의 단계들을 수행함을 전제로 다양한 실시 예들에 대하여 설명하며, 다양한 실시 예들에 따르면, 전자 장치(110)는 오작동 정보 제공 방법의 단계들과 관련된 정보를 전자 장치(110)와 연동되는 사용자 단말(120), 제1 서버(130), 제2 서버(140) 및 관리자 단말(150) 중 어느 하나와 송수신할 수 있다.
도 3은 본 개시의 실시 예들에 따른 오작동 정보 제공 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 단계 S330에서, 모니터링 서버(110)는 사용자 단말(120)에 제공된 페이지에 대한 오작동 메시지를 획득할 수 있다. 오작동 메시지는 오작동이 발생한 페이지에 대한 식별 정보, 오작동과 관련된 프로세스에 대한 정보 및 오작동의 이유에 대한 정보를 포함할 수 있다.
실시 예들에 따르면, 단계 S330은, 사용자 단말(120), 제1 서버(130) 및 제2 서버(140) 중 적어도 하나로부터 획득될 수 있다.
단계 S330은 단계 S331, 단계 S332 내지 단계 S333을 포함할 수 있다. 단계 S331에서, 모니터링 서버(110)는 사용자 단말(120)로부터 제1 오작동 메시지를 획득할 수 있다. 제1 오작동 메시지는, 예를 들어, 페이지에 대한 식별 정보, 페이지에 포함된 적어도 하나의 UI와 관련된 정보, 오작동과 관련된 프로세스에 대한 정보 및 오작동의 이유에 대한 정보를 포함할 수 있다. 단계 S332에서, 모니터링 서버(110)는 제1 서버(130)로부터 제2 오작동 메시지를 획득할 수 있다. 제2 오작동 메시지는, 예를 들어, 오작동과 관련된 프로세스에 대한 정보 및 오작동의 이유에 대한 정보를 포함할 수 있다. 단계 S333에서, 모니터링 서버(110)는 제2 서버(140)로부터 제3 오작동 메시지를 획득할 수 있다. 제3 오작동 메시지는, 예를 들어, 페이지에 대한 사용자의 입력에 관한 정보를 포함할 수 있다.
실시 예들에 따르면, 단계 S331에서, 제1 오작동 메시지가 사용자 단말(120)로부터 획득되는 경우, 제1 오작동 메시지는 페이지와 관련된 로그를 저장 및 전송하도록 구성된 사용자 단말(120)의 로그 센더로부터 획득될 수 있다. 사용자 단말(120)의 로그 센더는 오작동 정보를 오작동의 종류에 따라 나누어 저장할 수 있다. 실시 예들에 따르면, 사용자 단말(120)의 로그 센더는 오작동 정보를 메시지 브로커 프로그램으로 일괄적으로 전송할 수 있다. 이때, 메시지 브로커 프로그램은 실시간으로 오작동 메시지의 특성에 따라 오작동 정보를 전송할 주체를 결정할 수 있다.
한편, 단계 S330은 페이지에 포함된 적어도 하나의 UI와 관련된 정보를 획득하는 단계 및 적어도 하나의 UI와 관련된 정보를 기반으로 오작동 여부를 감지하는 단계를 포함할 수 있다.
실시 예들에 따르면, 적어도 하나의 UI와 관련된 정보를 획득하는 단계는, 시계열적으로 획득되는 적어도 하나의 UI에 대한 복수의 사용자들의 복수의 입력들에 관한 통계 정보를 획득하는 단계를 포함할 수 있다. 이때, 오작동 여부를 감지하는 단계는, 통계 정보가 설정된 기준 범위 내에 있는지를 기반으로 오작동 여부를 확인하는 단계를 포함할 수 있다. 설정된 기준 범위는 오작동의 종류에 따라 다를 수 있다.
다른 실시 예들에 따르면, 적어도 하나의 UI와 관련된 정보를 획득하는 단계는, 적어도 하나의 UI를 포함하는 페이지에 대한 캡처 이미지를 획득하는 단계를 포함할 수 있다. 이때, 오작동 여부를 감지하는 단계는, 정상 작동 시의 기준 이미지 및 캡처 이미지를 기반으로 오작동 여부를 확인하는 단계를 포함할 수 있다.
단계 S340에서, 모니터링 서버(110)는 오작동 메시지를 기반으로 페이지에 대한 오작동 정보를 관리자 단말(150)에 제공할 수 있다. 실시 예들에 따르면, 관리자 단말(150)은 복수로 제공될 수 있다. 복수의 관리자 단말들(150) 각각은 서로 다른 종류의 오작동에 대응할 수 있다. 오작동 메시지는 관리자 단말(150)과 대응하는 도메인 정보를 포함할 수 있고, 이에 따라 오작동 메시지는 자동으로 대응하는 관리자 단말(150)로 전송될 수 있다.
한편, 단계 S310에서, 사용자 단말(120)은 제1 서버(130)로 페이지 제공 요청을 전송하고, 제1 서버(130)는 사용자 단말(120)에 페이지를 제공할 수 있다. 모니터링 서버(110)는 단계 S310에서 발생하는 오작동을 감지하고 이에 따른 오작동 메시지를 획득할 수 있다. 단계 S310은, 단계 S311 내지 단계 S315를 포함할 수 있다. 단계 S311 단계 S315에 대하여 도 4를 참조하여 상세히 설명한다. 오작동 메시지에 포함되는 오작동과 관련된 프로세스에 대한 정보는 단계 S311 단계 S315 중 적어도 하나와 관련된 정보를 포함할 수 있다.
단계 S320에서, 사용자 단말(120)은 제2 서버(140)로 페이지에 대한 사용자 입력에 관한 정보를 전송할 수 있다. 사용자 입력에 관한 정보는, 예를 들어, 시계열적으로 획득되는, 페이지의 적어도 하나의 UI에 대한 복수의 사용자들의 복수의 입력들에 관한 통계 정보를 포함할 수 있다. 다시 말하면, 제2 서버(140)는 사용자의 입력에 관한 통계 정보를 처리하는 서버일 수 있다. 제2 서버(140)는 단계 S333에서 처리된 통계 정보를 제3 오작동 메시지의 형태로 모니터링 서버(110)에 전송할 수 있다.
도 4는 오작동과 관련된 프로세스를 설명하기 위한 개념도이다.
도 3 및 도 4를 참조하면, 단계 S311에서, 사용자 단말(120)은 페이지의 요청을 위한 제1 데이터를 준비할 수 있다. 일 예로, 사용자 단말(120)에 제공된 페이지 상에 '장바구니 담기' 아이콘을 표시하기 위한 제1 데이터를 준비하는 과정에서 오작동이 발생할 수 있다. 이하에서, 단계 S310과 관련하여 사용자 단말(120)에 제공된 페이지 상에 '장바구니 담기' 아이콘을 표시하는 경우에 발생할 수 있는 오작동에 대하여 예시적으로 설명하나, 본 개시는 이에 제한되지 않는다. 단계 S311에서 발생하는 오작동에 관한 정보는 단계 S331에서 사용자 단말(120)에 의해 제1 오작동 메시지의 형태로 모니터링 서버(110)로 전송될 수 있다.
단계 S312에서, 사용자 단말(120)은 제1 서버(130)로 제1 데이터를 전송할 수 있다. 일 예로, 제1 데이터를 전송하기 위한 사용자 단말(120)과 제1 서버(130) 사이의 연결 과정의 오류로 제1 서버(130)에서 '장바구니 담기' 아이콘을 표시하기 위한 제1 데이터를 확인하지 못하는 오작동이 발생할 수 있다. 단계 S312에서 발생하는 오작동에 관한 정보는 단계 S331에서 사용자 단말(120)에 의해 제1 오작동 메시지의 형태로 모니터링 서버(110)로 전송될 수 있다.
단계 S313에서, 제1 서버(130)는 제1 데이터를 처리하여 페이지와 관련된 제2 데이터를 생성할 수 있다. 일 예로, 제1 서버(130)가 '장바구니 담기' 아이콘과 관련된 제1 데이터를 처리하는 과정 또는 제1 서버(130)가 '장바구니 담기' 아이콘과 관련된 제2 데이터를 생성하는 과정에서 오작동이 발생할 수 있다. 구체적으로, '장바구니 담기' 아이콘과 대응하는 상품이 판매 불가 상태(즉, invalid)이거나 품절 상태(즉, OOS; out of stock)인 경우 제1 데이터를 처리하는 과정 또는 제2 데이터를 생성하는 과정에서 오작동이 발생할 수 있다. 단계 S313에서 발생하는 오작동에 관한 정보는 단계 S332에서 제1 서버(130)에 의해 제2 오작동 메시지의 형태로 모니터링 서버(110)로 전송될 수 있다.
단계 S314에서, 사용자 단말(120)은 제1 서버(130)로부터 제2 데이터를 수신할 수 있다. 일 예로, 제2 데이터를 수신하기 위한 사용자 단말(120)과 제1 서버(130) 사이의 연결 과정의 오류로 사용자 단말(120)에서 '장바구니 담기' 아이콘을 표시하기 위한 제2 데이터를 확인하지 못하는 오작동이 발생할 수 있다. 구체적으로, http 응신이 에러 코드를 포함하는 경우, 제2 데이터가 상품이 판매 불가 상태이거나 품절 상태라는 정보를 포함하는 경우 및 역직렬화(deserialization) 과정에서 문제가 발생하는 경우 중 적어도 하나의 경우에, 사용자 단말(120)은 오작동이 발생한 것으로 인식할 수 있다. 단계 S314에서 발생하는 오작동에 관한 정보는 단계 S331에서 사용자 단말(120)에 의해 제1 오작동 메시지의 형태로 모니터링 서버(110)로 전송될 수 있다.
단계 S315에서, 사용자 단말(120)은 제2 데이터를 처리할 수 있다. 일 예로, '장바구니 담기' 아이콘을 표시하기 위한 제2 데이터를 처리하는 과정에서 오작동이 발생할 수 있다. 구체적으로, 사용자 단말(120)이 제2 데이터를 렌더링(rendering)하여 페이지 상에 '장바구니 담기' 아이콘을 표시하는 과정에서 오작동이 발생할 수 있다. 이때, 제1 서버(130) 측에서는 모든 과정이 성공적인 것으로 판단할 수 있으나, 사용자 단말(120)의 페이지 상에 '장바구니 담기' 아이콘이 표시되지 않을 수 있다. 단계 S315에서 발생하는 오작동에 관한 정보는 단계 S331에서 사용자 단말(120)에 의해 제1 오작동 메시지의 형태로 모니터링 서버(110)로 전송될 수 있다.
단계 S312 및 단계 S314에서 발생하는 오작동은 사용자 단말(120) 및 제1 서버(130) 사이의 네트워크 연결이 실패한 경우(connection failure), http 상태 오류가 발생한 경우(http status failure) 및 내부 응신의 사양의 오류가 발생한 경우(internal response body spec failure) 중 적어도 하나의 경우에 해당할 수 있다. 다만, 이는 예시적인 것일 뿐 본 개시는 이에 제한되지 않는다. 이때, 사용자 단말(120) 또는 제1 서버(130)는, 예를 들어, 네트워크 인터셉터(network interceptor)에 의해 오작동 여부를 감지할 수 있다.
단계 S311, 단계 S313 및 단계 S315에서 발생하는 오작동 중 일부는 제1 데이터를 준비 또는 처리하는 과정에서 오류가 발생한 경우 및 제2 데이터를 생성 또는 처리하는 과정에서 오류가 발생한 경우 중 적어도 하나의 경우에 해당할 수 있다. 보다 구체적으로, 제1 데이터 및 제2 데이터 중 적어도 하나와 관련한 오류가 발생한 경우는 데이터가 없는(empty) 경우, 데이터가 유효한 형식으로 제공되지 않는 경우 및 데이터의 일부가 유실된 경우 중 적어도 하나일 수 있다. 다만, 이는 예시적인 것일 뿐 본 개시는 이에 제한되지 않는다. 데이터가 없는(empty) 경우 및 데이터가 유효한 형식으로 제공되지 않는 경우, 사용자 단말(120) 또는 제1 서버(130)가 해당하는 데이터와 관련된 필드를 확인하여 데이터가 존재하는지, 유효한 형식을 갖추었는지 등을 정기적으로 확인하는 방식으로 오작동 여부를 감지할 수 있다. 또한, 다양한 종류의 오작동 중 적어도 일부는 사용자 단말(120)과 연동된 모니터링 서버(110)에 의해 확인될 수도 있다.
단계 S311, 단계 S313 및 단계 S315에서 발생하는 오작동 중 다른 일부는 시계열적으로 획득되는 적어도 하나의 UI에 대한 복수의 사용자들의 복수의 입력들에 관한 통계 정보가 설정된 기준 범위 내에 있는지를 기반으로 확인될 수 있다. 통계 정보를 이용하여 오작동 여부를 감지하는 방법에 대하여 도 5를 참조하여 상세히 설명한다.
단계 S311, 단계 S313 및 단계 S315에서 발생하는 오작동 중 또 다른 일부는 적어도 하나의 UI를 포함하는 페이지에 대한 캡처 이미지를 정상 작동 시의 기준 이미지와 비교하는 것에 의해 확인될 수 있다.
한편, 실시 예들에 따르면, 단계 S311 내지 단계 S315에서 발생하는 오작동 중 적어도 일부는 모니터링 서버(110)에 의해 수동적으로 또는 기계 학습을 이용하여 확인될 수 있다.
도 5는 본 개시의 실시 예들에 따른 오작동 정보 제공 방법에서 오작동 메시지를 획득하는 단계를 설명하기 위한 페이지이다.
도 5를 참조하면, 24시간 동안 시계열적으로 획득한 페이지에 대한 복수의 사용자들의 복수의 입력들에 관한 통계 정보를 나타낸 대시보드 페이지(500)가 도시된다. 대시보드 페이지(500)는, 예를 들어, 상품의 상세 정보 페이지에서 수행되는 동작들에 대한 통계 정보를 포함하는 제1 영역(510), 장바구니와 관련한 동작들에 대한 통계 정보를 포함하는 제2 영역(520) 및 결제와 관련한 동작들에 대한 통계 정보를 포함하는 제3 영역(530)을 포함할 수 있다. 제1 내지 제3 영역들(510, 520, 530) 각각은 24시간 이전부터 현재 시각까지의 동작들 각각에 대응하는 입력들의 수를 나타내는 그래프 및 기준 시각에서 동작들 각각의 성공률 정보를 포함할 수 있다. 이때, 동작들 각각에 대응하는 입력들의 수는, 예를 들어, 1분 단위로 확인될 수 있다. 이때, 동작들 각각의 성공률 정보는, 예를 들어, 현재 시각과 대응하는 다른 날짜의 입력들의 수의 평균에 대한 현재 시각의 입력들의 수의 비율일 수 있다.
예를 들어, 제1 영역(510)은 상품의 상세 정보 페이지의 랜딩 성공률 정보, '장바구니 담기' 아이콘과 대응하는 입력의 성공률 정보 및 '옵션 변경' 아이콘과 대응하는 입력의 성공률 정보를 포함할 수 있다. 예를 들어, 제2 영역(520)은 장바구니 페이지의 랜딩 성공률 정보, 결제 인증(checkout validation) 성공률 정보 등을 포함할 수 있다. 예를 들어, 제3 영역(530)은 직접 결제(direct checkout) 성공률 정보, 일반 결제(normal checkout) 성공률 정보 등을 포함할 수 있다.
페이지 자체 또는 페이지에 포함된 적어도 하나의 UI와 관련된 정보를 기반으로 오작동 여부를 감지하는 단계는, 대시보드 페이지(500)의 제1 내지 제3 영역들(510, 520, 530) 각각의 성공률 정보(즉, 통계 정보)가 설정된 기준 범위 내에 있는지를 기반으로 오작동 여부를 확인하는 단계를 포함할 수 있다. 예를 들어, '장바구니 담기' 아이콘과 대응하는 입력의 성공률 정보의 경우, 오작동 여부를 판별하는 기준이 되는 성공률의 범위가 95% 이상일 수 있다. 이때, 특정 시각에 '장바구니 담기' 아이콘과 대응하는 입력의 성공률 정보가 95% 미만이 되면 오작동이 감지될 수 있다. 오작동 여부를 판별하는 기준이 되는 성공률의 범위는 아이콘의 종류 및 확인하고자 하는 동작의 종류에 따라 다를 수 있다.
도 6 내지 도 9는 본 개시의 실시 예들에 따른 오작동 정보 제공 방법을 설명하기 위한 개념도들이다.
도 6 내지 도 9를 참조하면, 모니터링 서버(110)는 다양한 방법으로 사용자 단말(120)의 페이지와 관련된 오작동 정보를 관리자 단말(150)에 제공할 수 있다.
도 6을 참조하면, 본 개시의 일 실시 예에 따른 오작동 정보 제공 방법의 개념도가 도시된다. 사용자 단말(120)은, 예를 들어, 오작동 매니저(malfunction manager) 및 로그 센더를 포함할 수 있다. 로그 센더는 오작동 매니저로부터 오작동 정보를 수신하여 모니터링 서버(110)로 전송할 수 있다.
예를 들어, 역직렬화 과정(deserialization)에서 문제가 발생하는 경우, 네트워크 인터셉터에 의해 오작동이 감지되는 경우 및 로컬 로직에 문제가 발생하는 경우, 각각의 경우와 대응하는 오작동의 이유에 대한 정보(root cause)를 오작동 매니저가 획득할 수 있다. 또한, 예를 들어, 페이지 자체 또는 페이지에 포함된 적어도 하나의 구성요소(즉, UI)와 관련된 오작동이 감지되는 경우, 구성요소 훅(component hook) 방식으로 획득된 구성요소의 상태 정보를 오작동 매니저가 획득할 수 있다.
모니터링 서버(110)는, 예를 들어, 메시지 브로커 프로그램(예를 들어, KAFKA), 실시간 컨슈머(real time consumer), 온라인 스토리지 프로그램(예를 들어, S3), 시각화 프로그램(예를 들어, Grafana) 및 AMP(accelerated mobile page)를 포함할 수 있다. 메시지 브로커 프로그램은 로그 센더로부터 수신한 오작동 정보를 실시간 컨슈머 또는 온라인 스토리지 프로그램로 전송할 수 있다. 실시간 컨슈머는 실시간으로 오작동 정보를 시각화 프로그램을 통해 AMP로 전송할 수 있다. AMP는 대시보드, 리포트 또는 알림(alert)의 형식으로 오작동 정보를 관리자 단말(150)로 전송할 수 있다.
도 7을 참조하면, 본 개시의 다른 일 실시 예에 따른 오작동 정보 제공 방법의 개념도가 도시된다. 설명의 편의를 위하여 도 6을 참조하여 설명한 것과 실질적으로 동일한 사항에 대한 설명은 생략하고 차이점에 대하여 설명한다.
사용자 단말(120)에서, 페이지 자체와 관련된 오작동 정보는 라이프 사이클 콜백(lifecycle callback) 방식으로 획득되어 로그 센더로 전송될 수 있고, 페이지에 포함된 적어도 하나의 구성요소와 관련된 오작동 정보는 구성요소 훅(component hook) 방식으로 획득되어 로그 센더로 전송될 수 있다. 로그 센더는 상술한 방식으로 수신된 오작동 정보를 모니터링 서버(110)로 전송할 수 있다.
모니터링 서버(110)는, 예를 들어, 메시지 브로커 프로그램(예를 들어, KAFKA), 온라인 스토리지 프로그램(예를 들어, S3), 분산 데이터 스토어 프로그램(예를 들어, druid) 및 시각화 프로그램(예를 들어, Grafana)을 포함할 수 있다. 메시지 브로커 프로그램은 로그 센더로부터 수신한 오작동 정보를 온라인 스토리지 프로그램 또는 분산 데이터 스토어 프로그램으로 전송할 수 있다. 또한, 분산 데이터 스토어 프로그램은 처리된 오작동 정보를 온라인 스토리지 프로그램에 전송할 수 있다.
도 8을 참조하면, 본 개시의 또 다른 일 실시 예에 따른 오작동 정보 제공 방법의 개념도가 도시된다. 설명의 편의를 위하여 도 6 및 도 7을 참조하여 설명한 것과 실질적으로 동일한 사항에 대한 설명은 생략하고 차이점에 대하여 설명한다.
사용자 단말(120)은 복수로 제공될 수 있다. 복수의 사용자 단말들(120)은 서로 다른 방식 및 버전으로 개발된 어플리케이션들 중 어느 하나를 이용할 수 있다.
모니터링 서버(110)는 기계 학습 모델을 포함할 수 있다. 기계 학습 모델은, 예를 들어, YOLO(you only look once) 방식의 객체 감지 알고리즘을 이용할 수 있다. 모니터링 서버(110)의 기계 학습 모델은 복수의 사용자 단말들(120)에서 획득된 기준 페이지에 대한 캡처 이미지들을 기반으로 기준 페이지의 오작동 여부를 감지할 수 있다. 모니터링 서버(110)는 기계 학습 모델에 의해 감지된 오작동에 관한 정보를 관리자 단말(150)로 전송할 수 있다.
도 9를 참조하면, 본 개시의 또 다른 일 실시 예에 따른 오작동 정보 제공 방법의 개념도가 도시된다. 설명의 편의를 위하여 도 6, 도 7 및 도 8을 참조하여 설명한 것과 실질적으로 동일한 사항에 대한 설명은 생략하고 차이점에 대하여 설명한다.
사용자 단말(120)에서, 예를 들어, 게이트웨이 페이지, 검색 결과 페이지, 상품 리스트 페이지, 상세 정보 페이지, 장바구니 페이지 및 결제 페이지 각각에 대한 오작동 정보가 로그 센더로 전송될 수 있다. 사용자 단말(120)에 표시되는 페이지의 종류는 예시적인 것일 뿐 본 개시는 이에 제한되지 않는다.
모니터링 서버(110)의 AMP는 대시보드, 리포트 또는 알림(alert)의 형식으로 오작동 정보를 관리자 단말(150)로 전송할 수도 있고, 오작동 로그 서치 결과를 http 응신 형식으로 온라인 스토리지 프로그램으로 전송할 수도 있다.
한편, 본 명세서와 도면에는 본 개시의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 개시의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 개시의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 개시의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
상술한 실시 예들에 따른 전자 장치 또는 단말은, 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 설정 정보 저장 서버와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 프로세서 상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령어들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD; Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler), 파이썬(Python) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상술한 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
상술한 실시 예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시 예들이 구현될 수 있다.

Claims (13)

  1. 전자 장치가 오작동 정보를 제공하는 방법에 있어서,
    사용자 단말에 제공된 페이지에 대한 오작동 메시지를 획득하는 단계; 및
    상기 오작동 메시지를 기반으로 상기 페이지에 대한 오작동 정보를 관리자 단말에 제공하는 단계를 포함하되,
    상기 오작동 메시지는 상기 페이지에 대한 식별 정보, 오작동과 관련된 프로세스에 대한 정보 및 오작동의 이유에 대한 정보를 포함하고,
    상기 오작동 메시지를 획득하는 단계는:
    상기 페이지에 포함된 적어도 하나의 UI와 관련된 동작의 성공률 정보를 획득하는 단계; 및
    상기 적어도 하나의 UI와 관련된 동작의 성공률 정보를 기반으로 오작동 여부를 감지하는 단계를 포함하고,
    상기 적어도 하나의 UI와 관련된 동작의 성공률 정보를 획득하는 단계는, 시계열적으로 획득되는 상기 적어도 하나의 UI에 대한 복수의 사용자들의 복수의 입력들에 대응하는 동작의 성공률 정보를 획득하는 단계를 포함하는,
    오작동 정보 제공 방법.
  2. 제1항에 있어서,
    상기 오작동 메시지는 상기 사용자 단말, 상기 사용자 단말에 상기 페이지를 제공하는 제1 서버 및 상기 페이지에 대한 사용자의 입력에 관한 정보를 처리하는 제2 서버 중 적어도 하나로부터 획득되는,
    오작동 정보 제공 방법.
  3. 제2항에 있어서,
    상기 오작동 메시지가 상기 사용자 단말로부터 획득되는 경우, 상기 오작동 메시지를 획득하는 단계는, 상기 페이지와 관련된 로그를 저장 및 전송하도록 구성된 상기 사용자 단말의 로그 센더로부터 상기 오작동 메시지를 획득하는 단계를 포함하는,
    오작동 정보 제공 방법.
  4. 제1항에 있어서,
    상기 오작동과 관련된 프로세스에 대한 정보는:
    상기 사용자 단말이 상기 페이지의 요청을 위한 제1 데이터를 준비하는 제1 단계,
    상기 사용자 단말이 상기 사용자 단말에 상기 페이지를 제공하는 제1 서버로 상기 제1 데이터를 전송하는 제2 단계,
    상기 제1 서버가 상기 제1 데이터를 처리하여 상기 페이지와 관련된 제2 데이터를 생성하는 제3 단계,
    상기 사용자 단말이 상기 제1 서버로부터 상기 제2 데이터를 수신하는 제4 단계, 및
    상기 사용자 단말이 상기 제2 데이터를 처리하는 제5 단계,
    중 적어도 하나와 관련된 정보를 포함하는,
    오작동 정보 제공 방법.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 오작동 여부를 감지하는 단계는, 상기 성공률 정보가 설정된 기준 범위 내에 있는지를 기반으로 오작동 여부를 확인하는 단계를 포함하는,
    오작동 정보 제공 방법.
  8. 제7항에 있어서,
    상기 설정된 기준 범위는 오작동의 종류에 따라 다른,
    오작동 정보 제공 방법.
  9. 삭제
  10. 삭제
  11. 제1항에 있어서,
    상기 오작동 메시지는 상기 관리자 단말과 대응하는 도메인 정보를 더 포함하는,
    오작동 정보 제공 방법.
  12. 제1항 내지 제4항, 제7항 내지 제8항, 및 제11항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 저장 매체.
  13. 오작동 정보를 제공하는 전자 장치에 있어서,
    적어도 하나의 명령어를 저장하는 메모리; 및
    상기 적어도 하나의 명령어에 기초하여, 사용자 단말에 제공된 페이지에 대한 오작동 메시지를 획득하고, 상기 오작동 메시지를 기반으로 상기 페이지에 대한 오작동 정보를 관리자 단말에 제공하는 프로세서를 포함하되,
    상기 오작동 메시지는 상기 페이지에 대한 식별 정보, 오작동과 관련된 프로세스에 대한 정보 및 오작동의 이유에 대한 정보를 포함하고,
    상기 오작동 메시지는, 상기 페이지에 포함된 적어도 하나의 UI와 관련된 동작의 성공률 정보를 획득하고, 상기 적어도 하나의 UI와 관련된 동작의 성공률 정보를 기반으로 오작동 여부를 감지함으로써 획득되고,
    상기 적어도 하나의 UI와 관련된 동작의 성공률 정보는, 시계열적으로 획득되는 상기 적어도 하나의 UI에 대한 복수의 사용자들의 복수의 입력들에 대응하는 동작의 성공률 정보를 획득함으로써 획득되는,
    전자 장치.
KR1020220142839A 2022-10-31 2022-10-31 오작동 정보 제공 방법 및 이를 위한 전자 장치 KR102650041B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220142839A KR102650041B1 (ko) 2022-10-31 2022-10-31 오작동 정보 제공 방법 및 이를 위한 전자 장치
PCT/KR2022/017418 WO2024096170A1 (ko) 2022-10-31 2022-11-08 오작동 정보 제공 방법 및 이를 위한 전자 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220142839A KR102650041B1 (ko) 2022-10-31 2022-10-31 오작동 정보 제공 방법 및 이를 위한 전자 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020240037112A Division KR20240063058A (ko) 2024-03-18 오작동 정보 제공 방법 및 이를 위한 전자 장치

Publications (1)

Publication Number Publication Date
KR102650041B1 true KR102650041B1 (ko) 2024-03-22

Family

ID=90480941

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220142839A KR102650041B1 (ko) 2022-10-31 2022-10-31 오작동 정보 제공 방법 및 이를 위한 전자 장치

Country Status (2)

Country Link
KR (1) KR102650041B1 (ko)
WO (1) WO2024096170A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000054324A (ko) * 2000-02-24 2000-09-05 이장혁 네트워크 사이트 감시 방법 및 장치
JP2002236626A (ja) * 2000-12-06 2002-08-23 Site Rock Corp サイト監視方法、および、サイト監視システム
KR20030084091A (ko) * 2002-04-24 2003-11-01 정보통신연구진흥원 웹사이트 에러처리시스템 및 그 처리방법
JP2004157906A (ja) * 2002-11-08 2004-06-03 Fujitsu Ltd 不具合情報管理サーバ、端末装置、不具合通報方法、およびコンピュータプログラム
KR101443071B1 (ko) * 2013-12-10 2014-09-22 주식회사 브이시스템즈 웹페이지의 에러 체크 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000054324A (ko) * 2000-02-24 2000-09-05 이장혁 네트워크 사이트 감시 방법 및 장치
JP2002236626A (ja) * 2000-12-06 2002-08-23 Site Rock Corp サイト監視方法、および、サイト監視システム
KR20030084091A (ko) * 2002-04-24 2003-11-01 정보통신연구진흥원 웹사이트 에러처리시스템 및 그 처리방법
JP2004157906A (ja) * 2002-11-08 2004-06-03 Fujitsu Ltd 不具合情報管理サーバ、端末装置、不具合通報方法、およびコンピュータプログラム
KR101443071B1 (ko) * 2013-12-10 2014-09-22 주식회사 브이시스템즈 웹페이지의 에러 체크 시스템

Also Published As

Publication number Publication date
WO2024096170A1 (ko) 2024-05-10

Similar Documents

Publication Publication Date Title
US20230097483A1 (en) Mobile computing device with data cognition software
US10382719B2 (en) Method and apparatus for sharing information during video call
US20140085309A1 (en) Quick response code display for communications and error handling
US10372774B2 (en) Anticipatory contextual notifications
US11593769B2 (en) Task identification from electronic user communications using a shared conversational context
KR102558164B1 (ko) 콜 백 알림 서비스 방법 및 전자 장치
KR102545665B1 (ko) 알림 정보 표시 방법 및 장치
US20160212090A1 (en) System and method for tracking conversations
CN112420217B (zh) 消息推送方法、装置、设备及存储介质
US20230171217A1 (en) System and method for notification transmission and confirmation management
CN108984417B (zh) 软件测试方法、装置、终端及存储介质
EP3652899B1 (en) Event tracking for messaging platform
CN107844645B (zh) 基于bim的协作发起方法及装置
KR102650041B1 (ko) 오작동 정보 제공 방법 및 이를 위한 전자 장치
US10824655B2 (en) Data models for geo-enriched data
KR20240063058A (ko) 오작동 정보 제공 방법 및 이를 위한 전자 장치
US11576021B2 (en) Data processing system for detecting events and providing notifications
US11341017B1 (en) Staged release of updates with anomaly monitoring
JP2014102572A (ja) テストシステム及びテストプログラム
US20210194943A1 (en) Reporting platform system
KR20240009181A (ko) 아이템 리스트 정보 제공 방법 및 이를 위한 전자 장치
US20230319154A1 (en) Tracking session events for a webpage iframe
WO2021150216A1 (en) Interacting with accessibility events of a computing device
US20230216835A1 (en) Masking private information while streaming a live session
KR20230163145A (ko) 아이템 정보 검색 방법 및 이를 위한 전자 장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant