KR20090001751A - User behavior analysis method and system - Google Patents

User behavior analysis method and system Download PDF

Info

Publication number
KR20090001751A
KR20090001751A KR1020070047895A KR20070047895A KR20090001751A KR 20090001751 A KR20090001751 A KR 20090001751A KR 1020070047895 A KR1020070047895 A KR 1020070047895A KR 20070047895 A KR20070047895 A KR 20070047895A KR 20090001751 A KR20090001751 A KR 20090001751A
Authority
KR
South Korea
Prior art keywords
user
flow field
log
processing
field
Prior art date
Application number
KR1020070047895A
Other languages
Korean (ko)
Other versions
KR100912177B1 (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 KR1020070047895A priority Critical patent/KR100912177B1/en
Priority to JP2008127801A priority patent/JP4938725B2/en
Publication of KR20090001751A publication Critical patent/KR20090001751A/en
Application granted granted Critical
Publication of KR100912177B1 publication Critical patent/KR100912177B1/en
Priority to JP2011263893A priority patent/JP5264981B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • 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/3438Recording 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 monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A user behavior analytical method and a system are provided to arrange user behaviors through a user log according to the order of time of each user, thereby conducting time-serial analysis on the user behaviors easily and simply . Through an LCS(Log Collection Server), user logs are collected(410). The user logs are converted into flow field formats to generate a flow field set(420). The flow field set is processed as a processing instruction on the flow field set is inputted(430).

Description

사용자 행동 분석 방법 및 시스템{USER BEHAVIOR ANALYSIS METHOD AND SYSTEM}USER BEHAVIOR ANALYSIS METHOD AND SYSTEM

도 1은 종래기술에 있어서, 사용자 행동 패턴을 측정하는 방법을 설명하기 위한 일례이다.1 is an example for explaining a method of measuring a user behavior pattern in the prior art.

도 2는 본 발명에 따른 사용자 행동 분석 방법의 개괄적인 모습을 설명하기 위한 일례이다.2 is an example for explaining an overview of a user behavior analysis method according to the present invention.

도 3은 본 발명에 따른 사용자 행동 분석 방법의 개괄적인 모습을 설명하기 위한 다른 예이다.3 is another example for explaining an overview of a user behavior analysis method according to the present invention.

도 4는 본 발명의 일실시예에 있어서, 사용자 행동 분석 방법을 도시한 흐름도이다.4 is a flowchart illustrating a user behavior analysis method according to an embodiment of the present invention.

도 5는 본 발명에 따른 사용자 로그 수집 방법을 설명하기 위한 일례이다.5 is an example for explaining a user log collection method according to the present invention.

도 6은 본 발명의 일실시예에 있어서, 유동 필드 집합을 생성하는 방법을 도시한 흐름도이다.6 is a flowchart illustrating a method of generating a floating field set according to an embodiment of the present invention.

도 7은 본 발명에 따른, 유동 필드 집합 및 유동 필드를 설명하기 위한 일례이다.7 is an example for explaining the flow field aggregation and flow field according to the present invention.

도 8은 본 발명에 따른, 유동 필드 집합의 일례이다.8 is an example of a flow field set, in accordance with the present invention.

도 9는 본 발명에 따른, 유동 필드 집합간의 분할 및 병합을 설명하기 위한 일례이다.9 is an example for explaining the splitting and merging between flow field sets according to the present invention.

도 10은 본 발명에 따른, 유동 필드 집합을 처리하는 일례이다.10 is an example of processing a flow field set in accordance with the present invention.

도 11은 본 발명의 따른, 처리 명령을 설명하기 위한 일례이다.11 is an example for explaining a processing instruction according to the present invention.

도 12는 본 발명의 다른 실시예에 있어서, 사용자 행동 분석 시스템의 내부 구성을 설명하기 위한 블록도이다.12 is a block diagram illustrating an internal configuration of a user behavior analysis system according to another embodiment of the present invention.

도 13은 본 발명에 따른 데이터의 분산 처리 방법을 설명하기 위한 일례이다.Fig. 13 is an example for explaining a method for distributing data according to the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

1200: 사용자 행동 분석 시스템1200: user behavior analysis system

1210: 로그 수집 서버1210: Log Collection Server

1211: 사용자 로그 수신부1211: user log receiver

1212: URL 변경부1212: URL change section

1213: STDB(Service Tree DataBase)1213: Service Tree Database (STDB)

1214: STMS(Service Tree Management System)1214: Service Tree Management System (STMS)

1220: 유동 필드 집합 생성부1220: floating field set generator

1230: 유동 필드 집합 처리부1230: flow field aggregation processing unit

온라인 비즈니스에서 사용자의 행동을 이해하는 것은 매우 중요하다. 유용 성의 관점에서 사용자 행동에 대한 분석은 온라인 서비스의 사용자 피드백(feedback)에 대한 중요한 근원(source)이다. 또한, 마케팅의 관점에서도 사용자 트랜드 즉, 위에서 설명한 상기 사용자 행동 분석은 사용자의 필요와 요구를 이해하는 척도가 될 수 있다. 뿐만 아니라, 상기 사용자 행동 분석은 시스템 관리의 측면에서도 자원의 할당 문제 등의 해결에 대한 기반이 될 수 있다.Understanding the behavior of users in an online business is very important. Analysis of user behavior in terms of usability is an important source of user feedback for online services. In addition, from a marketing perspective, the user trend, that is, the above-described user behavior analysis, may be a measure of understanding the needs and demands of the users. In addition, the user behavior analysis may be a basis for solving the problem of resource allocation in terms of system management.

종래기술에서는 이러한 사용자 행동을 분석하기 위한 방법으로 다양한 성능 지표를 이용하였다. 즉, 페이지뷰(page view), 순방문자수(unique visitor) 또는 쿼리 수 등과 같은 성능 지표를 통해 상기 사용자 행동을 분석하였고, 이러한 상기 성능 지표의 대부분은 웹상에서 각각의 페이지에서 발생하는 사용자 행동에 대한 카운팅을 통해 얻어질 수 있다.In the prior art, various performance indicators are used as a method for analyzing such user behavior. That is, the user behavior is analyzed through performance indicators such as page view, unique visitor, or query count, and most of the performance indicators are related to user behavior occurring on each page on the web. Can be obtained through counting.

도 1은 종래기술에 있어서, 사용자 행동을 분석하는 방법을 설명하기 위한 일례이다. 즉, 종래기술에서는 사용자들(101)의 로그인, 게임, 구매 또는 이벤트 참여 등과 같은 웹사이트 상에서의 활동(102)이 발생할 때마다 발생 횟수를 카운팅하여 게임지수, 매출지수, 웹이용지수 등의 각종 지수(103)를 측정할 수 있고, 이러한 지수(103)를 위에서 설명한 성능 지표로서 사용자들(101)의 행동을 분석하는데 이용할 수 있다.1 is an example for explaining a method of analyzing user behavior in the prior art. That is, the prior art counts the number of occurrences each time the activity 102 on the website such as login, game, purchase or event participation of the users 101 occurs, such as game index, sales index, web usage index, etc. The index 103 can be measured and can be used to analyze the behavior of the users 101 as the performance indicator described above.

그러나, 종래기술의 사용자 행동 분석 방법은, 성능 지표의 원인이 되는 사용자의 웹사이트 상에서의 상세 활동에 대한 이해가 어려운 문제점이 있다. 예를 들어, 위에서 설명한 게임지수, 매출지수, 웹이용지수 등의 지수만으로는 게임 사이트에서 사용자가 게임 머니를 모두 사용한 후 행동 패턴에 어떠한 변화가 있는지 또는 특정 구매 경로 상에서 매출 변화가 발생하는지와 같은, 사용자의 상세 활동에 대한 이해가 어렵다. 이러한 사용자의 상세 활동에 대한 이해의 어려움 즉, 사용자 행동 분석의 어려움은 성능 지표 등을 통해 웹사이트의 서비스를 개선하는데 어려움을 겪는 문제점으로 연결된다.However, the conventional user behavior analysis method has a problem that it is difficult to understand the detailed activity on the user's website which is the cause of the performance indicator. For example, indices such as the game index, sales index, and web usage index described above can only be used to determine how behavior patterns change after a user spends all of their game money on a game site, or if a change in sales occurs on a particular purchase path. It is difficult to understand the detailed activities of the user. The difficulty in understanding the detailed activities of the user, that is, the difficulty in analyzing the user behavior, leads to a problem in that it is difficult to improve the service of the website through performance indicators.

본 발명은 상기와 같은 종래기술의 문제점을 해결하기 위해, 사용자 행동 분석 방법 및 시스템에 관한 새로운 기술을 제안한다.The present invention proposes a new technology related to the user behavior analysis method and system in order to solve the above problems of the prior art.

본 발명은 사용자 로그를 통해 사용자 행동을 사용자별 그리고 시간의 순서에 따라 정렬함으로써 사용자 행동에 대한 시계열적 분석을 쉽고 간편하게 할 수 있는 사용자 행동 분석 방법 및 시스템을 제공한다.The present invention provides a method and system for analyzing user behavior that can easily and conveniently perform time series analysis of user behavior by sorting user behavior by user and by time order through user logs.

본 발명은 상기 사용자 행동을 시계열적으로 분석함으로써 구매경로, 특정 사건에 대한 회원행동 패턴과 같이 기존에 파악하기 힘들었던 웹사이트의 이용현황에 대한 원인을 분석하는 것이 가능한 사용자 행동 분석 방법 및 시스템을 제공한다.The present invention provides a method and system for analyzing user behavior by analyzing the user's behavior in time series and analyzing the cause of the website's usage status, which is difficult to grasp previously, such as a purchase path and a member behavior pattern for a specific event. do.

본 발명은 상기 웹사이트의 이용현황에 대한 원인을 분석함으로써 사용자 행동을 이해하고, 이를 통해 상기 웹사이트의 서비스를 개선할 수 있는 사용자 행동 분석 방법 및 시스템을 제공한다.The present invention provides a method and system for analyzing user behaviors by understanding the user behavior by analyzing the cause of the usage status of the website and thereby improving the service of the website.

본 발명은 로그 분석 서버가 포함할 수 있는 복수의 수집 서버를 이용함으로써 트래픽 증가의 문제를 해결하고, 복수의 컴퓨팅 클러스터를 이용한 분산 처리를 통해 사용자 행동에 대한 분석 시간을 단축할 수 있는 사용자 행동 분석 방법 및 시스템을 제공한다.The present invention solves the problem of traffic increase by using a plurality of collection servers that can be included in the log analysis server, user behavior analysis that can reduce the analysis time for the user behavior through distributed processing using a plurality of computing clusters Provide a method and system.

상기의 목적을 달성하고, 상술한 종래기술의 문제점을 해결하기 위하여, 본 발명의 일실시예에 따른 사용자 행동 분석 방법은, 로그 수집 서버(LCS: Log Collection Server)를 통해 사용자 로그를 수집하는 단계, 상기 사용자 로그를 유동 필드 포맷으로 변환하여 유동 필드 집합을 생성하는 단계 및 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리하는 단계를 포함한다. 이때, 상기 유동 필드 포맷은 유동 필드의 기선정된 포맷일 수 있고, 상기 유동 필드는 사용자를 식별하기 위한 사용자 식별 필드 및 상기 사용자 또는 시스템의 행동을 기록하는 행동 기록 필드로 분류로 분류될 수 있고, 상기 속성은 상기 속성을 분류하는 속성명 및 사용자 행동을 정의하는 속성값으로 구성될 수 있다.In order to achieve the above object and to solve the above-mentioned problems of the prior art, the user behavior analysis method according to an embodiment of the present invention, collecting the user log through a log collection server (LCS: Log Collection Server) Converting the user log into a floating field format to generate a floating field set, and processing the floating field set according to an input of a processing command for the floating field set. In this case, the flow field format may be a predetermined format of the flow field, and the flow field may be classified into a classification into a user identification field for identifying a user and a behavior recording field for recording the behavior of the user or the system. The attribute may be composed of an attribute name classifying the attribute and an attribute value defining user behavior.

본 발명의 일측에 따르면, 로그 수집 서버를 통해 사용자 로그를 수집하는 상기 단계는, 웹서버에서 제공하는 웹페이지를 통해 상기 사용자 로그를 수신하는 단계 및 상기 사용자 로그가 포함하는 URL을 STDB(Service Tree DataBase)를 이용하여 ST 명칭(Service Tree name)으로 변경하는 단계를 포함한다. 이때, 웹서버에서 제공하는 웹페이지를 통해 상기 사용자 로그를 수신하는 상기 단계는, 사용자의 웹브라우저 및 자바 스크립트 태그(java script tag)를 이용하여 상기 사용자 로그를 수신하거나 또는 클라이언트의 경우, 상기 로그 수집 서버에서 직접 상기 사용자 로그를 수신하는 단계일 수 있다.According to one aspect of the invention, the step of collecting the user log through the log collection server, the step of receiving the user log via a web page provided by a web server and the URL included in the user log STDB (Service Tree Changing to an ST name (Service Tree name) using a DataBase. In this case, the step of receiving the user log through a web page provided by a web server, the user log using the user's web browser and a java script tag (java script tag) or in the case of a client, the log It may be a step of receiving the user log directly at the collection server.

본 발명의 다른 측면에 따르면, 상기 사용자 로그를 유동 필드 포맷으로 변 환하여 유동 필드 집합을 생성하는 상기 단계는, 상기 사용자 로그 각각을 상기 유동 필드 포맷으로 변환하여 각각의 유동 필드를 생성하는 단계 및 상기 유동 필드를 사용자별로 시간의 순서에 따라 정렬하여 상기 유동 필드 집합을 생성하는 단계를 포함할 수 있다.According to another aspect of the present invention, the step of converting the user log into a flow field format to generate a flow field set, generating each flow field by converting each of the user logs into the flow field format; And arranging the flow field for each user in the order of time to generate the flow field set.

본 발명의 또 다른 측면에 따르면, 상기 처리 명령은 (1) 입력된 시간범위의 유동 필드를 추출하는 드로우(draw) 연산자, (2) 입력된 패턴에 맞는 유동 필드를 추출하는 필터(filter) 연산자 및 입력된 속성에 따라 상기 속성의 총합 또는 개수를 측정하는 집합(aggr) 연산자를 포함할 수 있고, 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리하는 상기 단계는, (1) 상기 드로우 연산자 또는 상기 필터 연산자에 따라 해당하는 유동 필드를 추출하거나 또는 (2) 상기 유동 필드 집합이나 상기 추출된 유동 필드 중에서 상기 집합 연산자에 해당하는 속성의 총합 또는 개수를 측정하는 단계일 수 있다.According to another aspect of the invention, the processing command is (1) a draw operator for extracting the flow field of the input time range, (2) a filter operator for extracting the flow field conforming to the input pattern And an aggr operator that measures the total or number of the attributes according to the input attributes, wherein the step of processing the floating field set in accordance with an input of a processing instruction for the floating field set includes: 1) extracting a corresponding flow field according to the draw operator or the filter operator, or (2) measuring the total or number of attributes corresponding to the set operator among the flow field set or the extracted flow field; have.

본 발명의 다른 실시예에 있어서, 사용자 행동 분석 시스템은, 사용자 로그를 수집하는 로그 수집 서버, 상기 사용자 로그를 유동 필드 포맷으로 변환하여 유동 필드 집합을 생성하는 유동 필드 집합 생성부 및 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리하는 유동 필드 집합 처리부를 포함한다.In another embodiment of the present invention, a user behavior analysis system, a log collection server for collecting user logs, a flow field set generation unit for generating a flow field set by converting the user log into a flow field format and the flow field set And a flow field aggregation processing unit for processing the flow field aggregation according to an input of a processing command for.

이하 첨부된 도면을 참조하여 본 발명에 따른 다양한 실시예를 상세히 설명하기로 한다.Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

웹서비스에서 사용자 행동의 패턴, 보다 자세하게, 상기 사용자 행동을 나열 한 시퀀스(sequence)는 많은 부분에서 유용하게 이용될 수 있다. 예를 들어, 상기 사용자 행동을 통해 방문자가 사이트에서 주어진 페이지에 어떻게 접속하였는지, 상기 사용자가 상기 페이지에 접속하기 위해 가장 자주 이용하는 경로는 무엇인지 또한, 상기 사용자가 상품 'A'의 구매 이후 구매한 상품은 무엇인지 등과 같은 시계열적 정보를 얻을 수 있다.The pattern of user behavior in web services, more specifically, the sequence listing the user behavior can be useful in many ways. For example, how the visitor accesses a given page on the site through the user behavior, what is the most frequently used path for the user to access the page, and the user purchased after purchasing the product 'A'. Time series information such as what the product is.

이러한 통계적 자료는 각각의 사용자의 행동을 추적하여 획득되기 때문에 단순히 각각의 페이지에 대한 입장한 방문자 수를 측정하는 등의 위에서 설명한 종래기술에서의 성능 지표와는 다르다. 이러한 통계적 자료는 사용자 로그 즉, 웹로그를 통해 수집할 수 있다.Since these statistical data are obtained by tracking each user's behavior, they are different from the performance indicators in the prior art described above, such as simply measuring the number of visitors entering each page. Such statistical data can be collected through user logs, that is, web logs.

도 2는 본 발명에 따른 사용자 행동 분석 방법의 개괄적인 모습을 설명하기 위한 일례이다.2 is an example for explaining an overview of a user behavior analysis method according to the present invention.

여기서, 도 2는 게임을 제공하는 웹서버에서 로그인, 게임, 올인, 구매, 로그아웃과 같이 분석목적과 시나리오에 따라 정의된 사용자 행동(201)과 사용자 'A'(202) 및 사용자 'B'(203)에 대한 각각의 사용자 행동을 나타낸다. 도 2를 살펴보면 사용자 'A'(202)는 로그인 후 게임을 진행하다 게임 머니의 올인 후 로그아웃 했음을 알 수 있고, 사용자 'B'(203)는 사용자 'A'(202)와 동일한 행동을 하다가 게임 머니의 올인 후 게임 머니를 구매하여 다시 게임을 하고, 그 이후의 시점에 로그아웃 했음을 알 수 있다.Here, FIG. 2 illustrates user behavior 201 and user 'A' 202 and user 'B' defined according to an analysis purpose and scenario such as login, game, all-in, purchase, and logout in a web server providing a game. Represent each user action for 203. Referring to FIG. 2, the user 'A' 202 proceeds to play the game after logging in. The user's 'B' 203 performs the same action as the user 'A' 202. You can see that after the game money is all-in, you purchase the game money, play the game again, and log out later.

즉, 이와 같이 사용자 로그를 이용하여 사용자별로 또한, 시간별로 사용자의 행위를 알 수 있다면, 상기 사용자의 행위를 이해할 수 있다. 다시 말해, 단순히 사용자의 로그인 횟수, 구매 횟수나 구매 금액만으로는 상기 사용자의 세부 행동을 이해하기 어렵지만, 게임 지수, 매출 지수 등과 같은 각종 성과 지표(204)뿐만 아니라 사용자 행동의 순서까지 알 수 있다면 상기 세부 행동을 쉽게 분석 및 이해할 수 있다.That is, if the user's actions can be known by user and by time using the user log in this way, the user's actions can be understood. In other words, it is difficult to understand the detailed behavior of the user simply by the number of logins, the number of purchases, or the purchase amount of the user. However, if the user can know not only various performance indicators 204 such as game index and sales index, but also the order of user behavior, Easily analyze and understand behavior.

이를 위해, 상기 사용자의 사용자 행동과 상기 사용자 행동 당시의 속성을 알 필요가 있고, 이러한 정보를 상기 사용자 로그를 통해 획득할 수 있다.To this end, it is necessary to know the user behavior of the user and the attributes at the time of the user behavior, and this information can be obtained through the user log.

도 3은 본 발명에 따른 사용자 행동 분석 방법의 개괄적인 모습을 설명하기 위한 다른 예이다.3 is another example for explaining an overview of a user behavior analysis method according to the present invention.

도면부호(310)은 4명의 사용자들이 게임 머니를 구매한 시점을 각각 나타내고 있다. 그러나, 도면부호(310)에서는 단순히 게임 머니를 구매한 시점만을 나타내고 상기 구매라는 행동의 전후 행동에 대해서는 전혀 알 수 없기 때문에 단순히 각각의 사용자에 대한 매출 금액 즉, 결과 중심의 데이터만을 얻을 수 있다.Reference numeral 310 represents the time point at which four users purchased the game money. However, the reference numeral 310 simply indicates the time point at which the game money was purchased, and since the behavior before and after the purchase action is not known at all, only the amount of sales for each user, that is, the result-oriented data, can be obtained.

그러나 도면부호(320)에서는 4명의 사용자들에 대해 각각의 시점에서 수행한 행동 즉, 시계열적 정보를 얻을 수 있기 때문에 구매의 전후 행동 예를 들어, '올인' 후 '구매' 그리고 다시 '게임'이라는 상황별 사용자 행동 패턴을 얻을 수 있고, 이를 분석함으로써 사용자 행동과 속성간의 변화를 파악하는 것이 가능해진다.However, in the reference numeral 320, since the actions performed at each time point for four users, that is, time series information, can be obtained, before and after the purchase, for example, 'all in' and 'purchase' and then 'game' Situational user behavioral pattern can be obtained, and by analyzing it, it becomes possible to grasp the change between user behavior and property.

이와 같이 사용자 행동을 사용자별로 그리고 시간에 따라 확인이 가능해지는 경우, 사용자 행동에 대한 원인 파악이 가능해지고, 이를 통해 종래에 성능 지표만으로 파악하기 어려웠던 구매경로분석, 특정 사건 발생 이후의 사용자 행동 패턴 분석 등이 가능해진다. 이러한 방법 및 시스템에 대해서 이후 도 4 내지 도 13을 통해 더욱 자세히 설명한다.As such, when user behavior can be checked by user and according to time, it is possible to identify the cause of user behavior, and through this, purchase path analysis, which is difficult to grasp conventionally using performance indicators, and user behavior pattern analysis after a specific event occurs. Etc. are possible. Such a method and system will be described in more detail later with reference to FIGS. 4 to 13.

도 4는 본 발명의 일실시예에 있어서, 사용자 행동 분석 방법을 도시한 흐름도이다.4 is a flowchart illustrating a user behavior analysis method according to an embodiment of the present invention.

단계(S410)에서 사용자 행동 분석 시스템은 로그 수집 서버를 통해 사용자 로그를 수집한다. 여기서, 상기 사용자 로그는 사용자로부터의 클릭, 키보드 입력 등과 같은 이벤트를 통해 발생하는 게임 머니의 구매, 게임 입장 등의 행동이나, 상기 게임 머니 올인으로 인해 상기 웹서버에서 발생하는 시스템의 행동 등을 모두 포함할 수 있다. 즉, 상기 사용자 행동 분석 시스템은 상기 로그 수집 서버를 통해 상기 사용자에게 별도의 행동을 요구하지 않고 상기 사용자 로그를 수집할 수 있다.In step S410, the user behavior analysis system collects user logs through a log collection server. Here, the user log includes all actions such as purchase of game money, entry into a game, and actions of a system generated by the web server due to the game money all-in, generated through events such as a click from a user and a keyboard input. It may include. That is, the user behavior analysis system may collect the user log without requiring a separate action from the user through the log collection server.

이때, 상기 사용자 로그는 웹서버가 생성하는 웹서버 로그를 포함할 수 있고, 로그 수집 서버를 통해 사용자 로그를 수집하는 상기 단계는, 상기 웹서버를 상기 로그 수집 서버로서 포함하여 상기 웹서버 로그를 생성하는 단계일 수 있다. 즉, 상기 사용자 행동 분석 시스템은 상기 웹서버를 포함할 수 있고, 상기 웹서버가 생성한 웹서버 로그를 상기 사용자 로그로서 이용할 수 있다.In this case, the user log may include a web server log generated by the web server, the step of collecting the user log through a log collection server, including the web server as the log collection server to the web server log It may be a step of generating. That is, the user behavior analysis system may include the web server and use the web server log generated by the web server as the user log.

이와는 다르게, 상기 사용자 행동 분석 시스템은 상기 로그 수집 서버에서 사용자의 브라우저를 통해 상기 사용자 로그를 수집하도록 할 수 있다. 이 경우, 도 4에 도시된 바와 같이 상기 사용자 행동 분석 시스템은 상기 사용자 로그를 수집하기 위해 단계(S411) 내지 단계(S413)을 포함하여 수행할 수 있다.Alternatively, the user behavior analysis system may allow the log collection server to collect the user log through the user's browser. In this case, as shown in FIG. 4, the user behavior analysis system may perform steps S411 to S413 to collect the user log.

단계(S411)에서 상기 사용자 행동 분석 시스템은 STMS(Service Tree Management System)에서 STDB를 관리 및 유지한다. 여기서, 상기 STDB는 URL과 상기 URL에 대응하는 ST 명칭이 서로 연관되어 저장될 수 있다. 즉, 상기 STDB는 상기 사용자가 웹서버를 통해 접근함으로써 상기 사용자에게 제공된 웹사이트와 연관된 각종 URL들을 포함하고, 상기 URL과 연관된 상기 ST 명칭을 상기 URL과 연관하여 저장하고 있다.In step S411, the user behavior analysis system manages and maintains an STDB in a service tree management system (STMS). Here, the STDB may be stored in association with the URL and the ST name corresponding to the URL. That is, the STDB includes various URLs associated with a website provided to the user by the user accessing through a web server, and stores the ST name associated with the URL in association with the URL.

단계(S412)에서 상기 사용자 행동 분석 시스템은 웹서버에서 제공하는 웹페이지를 통해 상기 사용자 로그를 수신한다. 즉, 상기 사용자 행동 분석 시스템은 상기 사용자 또는 상기 웹서버를 통해 상기 웹서버에 접근하여 의미 있는 행동 즉, 로그인, 로그아웃, 게임 머니의 구매 또는 올인 처리 절차 등과 같이 분석목적과 시나리오에 따라 정의된 사용자 행동이 발생하는 경우, 생성되는 상기 사용자 로그를 수신할 수 있다. 이때, 상기 사용자 행동 분석 시스템은 사용자의 웹브라우저 및 자바 스크립트 태그(java script tag)를 이용하여 상기 사용자 로그를 수신하거나 또는 클라이언트의 경우, 상기 로그 수집 서버에서 직접 상기 사용자 로그를 수신할 수 있다.In step S412, the user behavior analysis system receives the user log through a web page provided by a web server. That is, the user behavior analysis system accesses the web server through the user or the web server, and defines a meaningful behavior according to the analysis purpose and scenario, such as a login, logout, purchase of game money, or an all-in processing procedure. When a user action occurs, the generated user log may be received. In this case, the user behavior analysis system may receive the user log using a web browser of a user and a java script tag or, in the case of a client, the user log directly from the log collection server.

단계(S413)에서 상기 사용자 행동 분석 시스템은 상기 사용자 로그가 포함하는 URL을 상기 STDB를 이용하여 ST 명칭으로 변경한다. 이는 상기 URL을 통해 상기 사용자 행동이 발생하는 경로를 쉽게 파악하기 위한 것으로, 상기 URL에서 불필요한 요소를 제거하기 위함이다. 또한, 분석자가 상기 URL을 통해서는 상기 URL과 연관된 웹페이지를 쉽게 파악할 수 없기 때문에 상기 분석자가 상기 사용자 행동 분석 시스템의 결과를 쉽게 파악할 수 있도록 상기 URL을 상기 ST 명칭으로 변경할 수도 있다.In step S413, the user behavior analysis system changes the URL included in the user log to the ST name using the STDB. This is to easily identify the path through which the user action occurs through the URL, and to remove unnecessary elements from the URL. In addition, since the analyst cannot easily grasp the webpage associated with the URL through the URL, the URL may be changed to the ST name so that the analyst can easily grasp the result of the user behavior analysis system.

단계(S420)에서 상기 사용자 행동 분석 시스템은 상기 사용자 로그를 유동 필드 포맷으로 변환하여 유동 필드 집합을 생성한다. 이때, 상기 유동 필드 포맷은 유동 필드의 기선정된 포맷일 수 있고, 상기 유동 필드는 필드명 및 복수의 속성으로 구성될 수 있다.In step S420, the user behavior analysis system converts the user log into a flow field format to generate a flow field set. In this case, the flow field format may be a predetermined format of the flow field, and the flow field may include a field name and a plurality of attributes.

또한, 상기 유동 필드는 사용자를 식별하기 위한 사용자 식별 필드 및 상기 사용자 또는 시스템의 행동을 기록하는 행동 기록 필드로 분류될 수 있다. 또한, 상기 사용자 식별 필드는 상기 필드명에 따라 (1) 로그인명으로 분류된 사용자를 나타내는 로그인 필드 또는 (2) 브라우저마다 할당된 영구 쿠키별로 분류된 사용자를 나타내는 영구 쿠키 필드로 분류될 수 있고, 상기 행동 기록 필드는 (1) 사용자의 특정 페이지 방문을 나타내는 페이지 뷰 필드, (2) 사용자의 특정 링크에 대한 클릭을 나타내는 클릭 필드 또는 (3) 사용자에 대한 시스템의 행동(action)을 나타내는 행동 필드로 분류될 수 있다. 이때, 상기 사용자 식별 필드 및 상기 행동 기록 필드가 필요에 따라 보다 세부적인 필드로 분류될 수 있음은 당업자에 있어 자명하다.In addition, the flow field may be classified into a user identification field for identifying a user and a behavior recording field for recording a behavior of the user or the system. Further, the user identification field may be classified into (1) a login field representing a user classified as a login name or (2) a persistent cookie field representing a user classified by a persistent cookie assigned to each browser according to the field name. The action history field may include (1) a page view field indicating a user's visit to a particular page, (2) a click field indicating a click on a user's specific link, or (3) an action field indicating a system's action on the user. Can be classified as At this time, it will be apparent to those skilled in the art that the user identification field and the action recording field may be classified into more detailed fields as necessary.

상기 속성은 상기 속성을 분류하는 속성명 및 사용자 행동을 정의하는 속성값으로 구성될 수 있다.The attribute may be composed of an attribute name classifying the attribute and an attribute value defining user behavior.

뿐만 아니라, 상기 유동 필드는 상기 사용자 로그가 포함하는 사용자 행동의 발생 시각을 상기 속성으로서 포함할 수 있다. 즉, 모든 유동 필드는 상기 유동 필드와 연관된 사용자 행동의 발생 시각을 포함할 수 있다.In addition, the flow field may include the time of occurrence of user behavior included in the user log as the attribute. That is, every flow field may include the time of occurrence of user action associated with the flow field.

이러한 상기 유동 필드 집합을 생성하는 단계(S420)에 대해서는 도 6의 흐름도와 도 7 및 도 8의 예를 이용하여 더욱 자세히 설명한다.The step of generating the flow field set (S420) will be described in more detail using the flowchart of FIG. 6 and the examples of FIGS. 7 and 8.

단계(S430)에서 상기 사용자 행동 분석 시스템은 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리한다. 상기 유동 필드 집합은 필요에 따라 분할 및 병합이 가능하고, 이에 대해서는 도 9을 통해 더욱 자세히 설명한다. 또한, 상기 처리 명령은 (1) 전형적인 분석 질의, (2) 기선정된 연산자 또는 분석 스크립트를 포함할 수 있다.In step S430, the user behavior analysis system processes the flow field set according to an input of a processing command for the flow field set. The floating field set may be divided and merged as needed, which will be described in more detail with reference to FIG. 9. The processing instructions may also include (1) typical analysis queries, (2) pre-selected operators or analysis scripts.

첫 번째로, 상기 처리 명령이 전형적인 분석 질의인 경우, 유동 필드 집합을 처리하는 단계(S430)에서 상기 사용자 행동 분석 시스템은 상기 분석 질의가 포함하는 시간범위(time period), 패턴(pattern), 통계 함수(aggregation function) 또는 집단 구분 기준(grouping criteria)에 따라 해당하는 유동 필드를 추출하거나 상기 유동 필드가 포함하는 속성에 대한 처리 결과를 제공할 수 있다.First, if the processing instruction is a typical analysis query, in step S430 of processing the flow field set, the user behavior analysis system includes a time period, pattern, and statistics included in the analysis query. The corresponding flow field may be extracted according to an aggregation function or grouping criteria, or the processing result of the attribute included in the flow field may be provided.

두 번째로, 상기 처리 명령이 상기 기선정된 연산자 즉, (1) 입력된 시간범위의 유동 필드를 추출하는 드로우(draw) 연산자, (2) 입력된 패턴에 맞는 유동 필드를 추출하는 필터(filter) 연산자 및 입력된 속성에 따라 상기 속성의 총합 또는 개수를 측정하는 집합(aggr) 연산자를 포함하는 경우, 단계(S430)에서 상기 사용자 행동 분석 시스템은 (1) 상기 드로우 연산자 또는 상기 필터 연산자에 따라 해당하는 유동 필드를 추출하거나 또는 (2) 상기 유동 필드 집합이나 상기 추출된 유동 필드 중에서 상기 집합 연산자에 해당하는 속성의 총합 또는 개수를 측정할 수 있다.Secondly, the processing instruction is the pre-selected operator, that is, (1) a draw operator for extracting a flow field of the input time range, and (2) a filter for extracting a flow field that matches the input pattern. ) And an aggr operator that measures the sum or the number of the attributes according to the input attributes, in step S430 the user behavior analysis system performs (1) in accordance with the draw operator or the filter operator. A corresponding flow field may be extracted or (2) the total or number of attributes corresponding to the set operator may be measured among the flow field set or the extracted flow field.

마지막으로, 상기 처리 명령이 상기 분석 스크립트인 경우, 단계(S430)에서 상기 사용자 행동 분석 시스템은 입력된 상기 분석 스크립트에 따라 상기 시간범위, 상기 패턴 또는 상기 속성 처리 명령에 따라 (1) 해당하는 유동 필드를 추출하거나 (2) 상기 유동 필드 집합이나 상기 추출된 유동 필드가 포함하는 속성 중에서 상기 처리 명령에 해당하는 속성의 합계 또는 개수를 측정할 수 있다.Finally, when the processing command is the analysis script, in step S430, the user behavior analysis system according to the input analysis script is input according to the time range, the pattern, or the attribute processing command. The field may be extracted or (2) the sum or the number of attributes corresponding to the processing instruction may be measured among the attributes included in the flow field set or the extracted flow field.

이와 같이 상기 유동 필드 집합을 처리하는 방법에 대해서는 도 10 의 일례를 통해 더욱 자세히 설명한다.As described above, a method of processing the floating field set will be described in more detail with reference to FIG. 10.

도 5는 본 발명에 따른 사용자 로그 수집 방법을 설명하기 위한 일례이다.5 is an example for explaining a user log collection method according to the present invention.

사용자는 브라우저(501)를 통해 웹서버(502)로 웹페이지를 요청할 수 있고, 웹서버(502)는 자바 스크립트 태그를 포함하는 웹페이지를 브라우저(501)로 전송할 수 있다. 즉, 웹서버(502)는 상기 자바 스크립트 태그를 통해 브라우저(501)에 로그인 영구 쿠키를 설정할 수 있고, 상기 로그인 영구 쿠키가 포함하는 로그 수집 서버(503)의 URL을 통해 상기 사용자 행동 분석 시스템이 상기 사용자 로그를 수신하도록 할 수 있다.The user may request a web page to the web server 502 through the browser 501, and the web server 502 may transmit a web page including the JavaScript tag to the browser 501. That is, the web server 502 may set a login persistent cookie in the browser 501 through the JavaScript tag, and the user behavior analysis system may set the URL through the URL of the log collection server 503 included in the login persistent cookie. The user log can be received.

이후, 상기 웹페이지를 통해 사용자 행위가 발생하는 경우, 로그 수집 서버(503)는 상기 자바 스크립트 태그에서 상기 로그인 영구 쿠키가 포함하는 상기 URL을 이용하여 브라우저(501)를 통해 전송한 상기 사용자 로그를 수신할 수 있다. 이때, 로그 수집 서버(503)는 상기 사용자가 로그인하지 않은 경우, 브라우저(501)를 식별하는 방법을 통해 상기 사용자를 식별할 수 있고, 이를 위해 브라우저(501)에 영구 쿠키(persistent cookie)를 설정할 수 있다. 즉, 상기 영구 쿠키는 로그 인하지 않은 사용자를 브라우저(501)를 통해 식별하기 위해 이용될 수 있다.Thereafter, when a user action occurs through the web page, the log collection server 503 uses the URL included in the login persistent cookie in the JavaScript tag to transmit the user log transmitted through the browser 501. Can be received. In this case, when the user is not logged in, the log collection server 503 may identify the user through a method of identifying the browser 501, and for this purpose, a persistent cookie may be set in the browser 501. Can be. That is, the persistent cookie may be used to identify a user who has not logged in through the browser 501.

도 6은 본 발명의 일실시예에 있어서, 유동 필드 집합을 생성하는 방법을 도시한 흐름도이다. 도 6에 도시된 바와 같이 단계(S601) 및 단계(S602)는 도 4를 통해 설명한 단계(S420)에 포함되어 수행될 수 있다.6 is a flowchart illustrating a method of generating a floating field set according to an embodiment of the present invention. As shown in FIG. 6, step S601 and step S602 may be included in step S420 described with reference to FIG. 4.

단계(S601)에서 상기 사용자 행동 분석 시스템은 상기 사용자 로그 각각을 상기 유동 필드 포맷으로 변환하여 각각의 유동 필드를 생성한다. 즉, 상기 사용자 로그는 상기 사용자 행동을 포함하고, 상기 사용자 행동 분석 시스템은 이러한 상기 사용자 로그를 상기 사용자 행동 분석 시스템이 사용할 수 있는 상기 유동 필드 포맷으로 변환할 수 있다. 위에서 설명한 바와 같이 상기 유동 필드 포맷은 유동 필드의 기선정된 포맷이기 때문에 상기 사용자 로그를 상기 유동 필드 포맷으로 변환하는 경우, 상기 사용자 로그는 상기 유동 필드로서 변환된다. 다시 말해, 상기 유동 필드를 생성할 수 있게 된다.In step S601, the user behavior analysis system converts each of the user logs into the flow field format to generate a respective flow field. That is, the user log includes the user behavior, and the user behavior analysis system may convert the user log into the floating field format that the user behavior analysis system can use. As described above, when converting the user log to the floating field format because the floating field format is a predetermined format of the floating field, the user log is converted as the floating field. In other words, it is possible to create the flow field.

단계(S602)에서 상기 사용자 행동 분석 시스템은 상기 유동 필드를 사용자별로 시간의 순서에 따라 정렬하여 상기 유동 필드 집합을 생성한다. 이러한 각각의 유동 필드는 유동 필드 자체로서는 큰 의미가 없기 때문에 상기 유동 필드가 포함하는 상기 사용자 행동의 발생 시각과 상기 사용자를 기준으로 정렬되어 상기 유동 필드 집합을 생성한다. 이와 같은 상기 유동 필드 집합 및 상기 유동 필드에 대해서는 도 7 및 도 8을 통해 더욱 자세히 설명한다.In step S602, the user behavior analysis system creates the flow field set by arranging the flow field in order of time for each user. Each of these flow fields is not meaningful for the flow field itself, so that the flow field set is aligned with the time of occurrence of the user action included in the flow field and the user. Such a flow field set and the flow field will be described in more detail with reference to FIGS. 7 and 8.

도 7은 본 발명에 따른, 유동 필드 집합 및 유동 필드를 설명하기 위한 일례이다. 도 7은 사용자(701)별로 또한, 상기 사용자 행동의 발생 시간(702)의 순서 로 정렬된 복수의 유동 필드를 도시하고 있다. 이때, 유동 필드는 필드의 종류를 나타내는 필드명 및 상기 사용자 행동에 따른 속성으로 구성될 수 있다. 또한, 상기 속성은 속성명 및 속성값으로 구성될 수 있고, 복수개의 속성명 및 속성값의 집합으로 구성될 수도 있다.7 is an example for explaining the flow field aggregation and flow field according to the present invention. FIG. 7 illustrates a plurality of flow fields arranged by user 701 and in the order of occurrence time 702 of the user action. In this case, the floating field may include a field name indicating the type of field and an attribute according to the user's behavior. In addition, the attribute may be composed of an attribute name and an attribute value, or may be composed of a plurality of attribute names and attribute values.

즉, 도 7의 예에서 유동 필드(703)가 포함하는 필드명 'L'(704)은 로그인명으로 사용자를 분류하기 위한 필드로서 브라우저를 통해 사용자가 웹사이트에 로그인하는 경우, 생성되는 사용자 로그를 통해 생성될 수 있다. 또한, 속성 'id = xxxxxx ts = 1163168755'(705)은 속성명 'ts'(706) 및 속성값 '1163168755'(707)으로 구성될 수 있다. 도 7의 예에서는 두 개의 속성을 갖는 유동 필드(703)를 나타내고 있다. 이때, 첫 번째 속성은 상기 사용자의 로그인 아이디가 'xxxxxx'임을, 두 번째 속성은 상기 로그인의 발생 시기가 '1163168755'임을 의미할 수 있다.That is, the field name 'L' 704 included in the floating field 703 in the example of FIG. 7 is a field for classifying a user by a login name, and a user log generated when the user logs in to a website through a browser. Can be generated via In addition, the attribute 'id = xxxxxx ts = 1163168755' 705 may be composed of the attribute name 'ts' 706 and the attribute value '1163168755' 707. In the example of FIG. 7, a flow field 703 with two attributes is shown. In this case, the first attribute may mean that the login ID of the user is 'xxxxxx', and the second attribute may mean that the generation time of the login is '1163168755'.

이때, 유동 필드 집합의 하나의 행은 한 명의 사용자에 대한 사용자 행동을 시간의 순서에 따라 정렬한 것이기 때문에 상기 행의 첫 번째 원소 즉, 첫 번째 속성은 상기 사용자의 식별하기 위한 속성이 될 수 있다.In this case, since one row of the floating field set is a user action for one user in order of time, the first element of the row, that is, the first attribute, may be an attribute for identifying the user. .

도 8은 본 발명에 따른, 유동 필드 집합의 일례이다. 여기서, 도면부호(800)는 복수의 속성을 갖는 복수의 유동 필드를 나타내고 있다. 즉, 도 8의 예에서는 로그인 아이디 'xxxxxx'를 갖는 사용자가 게임 서버에 로그인하는 순간부터 로그아웃하는 순간까지의 사용자 행동을 포함하고 있다.8 is an example of a flow field set, in accordance with the present invention. Here, reference numeral 800 denotes a plurality of flow fields having a plurality of attributes. That is, the example of FIG. 8 includes user behavior from the moment a user having a login ID 'xxxxxx' logs in to the game server to the moment of logging out.

도 9는 본 발명에 따른, 유동 필드 집합간의 분할 및 병합을 설명하기 위한 일례이다.9 is an example for explaining the splitting and merging between flow field sets according to the present invention.

위에서 설명한 바와 같이 상기 유동 필드 집합은 사용자별로 그리고 시간의 순서에 따라 해당하는 일련의 정보인 상기 사용자 행동의 나열이다. 이러한 상기 유동 필드 집합을 분석하고자 할 때, 한 사용자의 1 주일간의 사용자 행동 패턴을 분석하거나 한달 이상의 기간에 대해서 분석하고자 하는 경우가 있을 수 있다. 이러한 경우, 상기 사용자에 대해 한달 이상의 기간에 대해서 상기 유동 필드 집합을 생성하고 모아 두어야 하는데, 보관상 또는 기술적인 이유로 이러한 전체를 하나의 유동 집합으로 생성해 두는 것보다 임의의 기간에 대한 상기 유동 필드 집합을 동적으로 생성하는 것이 편리하다.As described above, the floating field set is a list of user behaviors, which is a set of information corresponding to each user and in chronological order. When analyzing the flow field set, there may be a case where a user's behavioral pattern for a week or a month or more is to be analyzed. In this case, the flow field sets should be created and collected for the user for a period of more than one month, and for the sake of storage or technical reasons the flow field for any period of time rather than creating this whole in one flow set. It is convenient to create a set dynamically.

즉, 사용자에 대해 짧은 시간 단위로 복수개의 유동 필드 집합을 생성하고, 필요에 따라 조인(join) 연산자 또는 유니온(union) 연산자 등을 이용하여 상기 유동 필드 집합을 결합함으로써 원하는 시간 단위 동안의 상기 사용자의 사용자 행동에 대한 유동 필드 집합을 얻을 수 있다. 예를 들어, 유동 필드 집합(901 및 902)에서 상기 조인 연산자를 통해 병합하여 유동 필드 집합(903)을 생성하거나, 또는 유동 필드 집합(901 및 903)을 상기 유니온 연산자를 통해 병합하여 유동 필드 집합(905)을 생성할 수 있다. 즉, 유동 필드 집합(901, 902 또는 904)간의 병합을 통해 병합된 유동 필드 집합(903 및 905)를 생성할 수 있다.In other words, by generating a plurality of floating field sets for a user in a short time unit and combining the floating field sets using a join operator or a union operator as necessary, the user for a desired time unit. You can get a set of floating fields for the user behavior of. For example, the flow field set 901 and 902 can be merged through the join operator to generate the flow field set 903, or the flow field set 901 and 903 can be merged via the union operator to flow field set 905 may be generated. That is, merged flow field sets 903 and 905 may be generated by merging between flow field sets 901, 902, or 904.

또한, 이와는 반대로 큰 단위의 유동 필드 집합을 작은 단위의 유동 필드 집합으로 분리하는 것도 가능하다.On the contrary, it is also possible to separate large sets of flow fields into smaller units of flow fields.

상기 사용자 행동 분석 시스템은 (1) 전형적인 분석 질의의 형태로 입력된 처리 명령, (2) 상기 전형적인 분석 질의를 쉽게 처리하기 위해 기선정된 연산자를 포함하는 처리 명령 또는 (3) 상기 기선정된 연산자를 내포하면서도, 상기 전형적인 분석 질의의 형태로 표현 가능한 분석 스크립트를 이용한 처리 명령을 분석함으로써 상기 유동 필드 집합을 처리할 수 있다. 이와 같은 상기 전형적인 분석 질의, 상기 기선정된 연산자 및 상기 분석 스크립트의 관계에 대해서는 도 11을 통해 더욱 자세히 설명한다.The user behavior analysis system may comprise (1) a processing instruction entered in the form of a typical analysis query, (2) a processing instruction comprising a pre-selected operator for easily processing the typical analysis query, or (3) the pre-selected operator. In addition, the floating field set may be processed by analyzing a processing instruction using an analysis script that can be expressed in the form of the typical analysis query. The relationship between the typical analysis query, the predetermined operator and the analysis script will be described in more detail with reference to FIG. 11.

도 10은 본 발명에 따른, 유동 필드 집합을 처리하는 일례이다.10 is an example of processing a flow field set in accordance with the present invention.

우선, 상기 사용자 행동 분석 시스템에서 위에서 설명한 상기 기선정된 연산자 즉, 드로우 연산자, 필터 연산자 및 집합 연산자를 포함하는 처리 명령을 통해 상기 유동 필드 집합을 처리하는 방법의 일례를 설명한다.First, an example of a method of processing the floating field set through the processing instruction including the predetermined operator, that is, the draw operator, the filter operator and the set operator described above in the user behavior analysis system will be described.

우선 드로우 연산자(1001)가 입력되는 경우, 드로우 연산자(1001)가 포함하는 시간범위의 사용자 행동에 대한 기록 즉, 상기 시간범위에 해당하는 유동 필드를 유동 필드 집합(1002)에서 추출할 수 있다. 또한, 필터 연산자(1003)가 입력되는 경우, 상기 추출된 유동 필드에서 필터 연산자(1003)가 포함하는 패턴에 맞는 유동 필드를 추출할 수 있다. 마지막으로, 집합 연산자(1004)에 대해 상기 사용자 행동 분석 시스템은 필터 연산자(1003)에 의해 추출된 유동 필드에서 집합 연산자가 포함하는 속성에 해당하는 속성의 총합 또는 개수 등을 측정하는 분석자에게 제공할 수 있다.First, when the draw operator 1001 is input, the flow field set 1002 may extract a record of a user's behavior in a time range included in the draw operator 1001, that is, a flow field corresponding to the time range. In addition, when the filter operator 1003 is input, a flow field matching the pattern included in the filter operator 1003 may be extracted from the extracted flow field. Finally, for the set operator 1004, the user behavior analysis system may provide an analyst for measuring the total or number of attributes corresponding to the attributes included in the set operator in the flow field extracted by the filter operator 1003. Can be.

이때, 도 10에 도시된 바와 같이 입력되는 연산자에 따라 예를 들어, 드로우 연산자(1001)와 필터 연산자(1003)만이 입력된 경우 필터 연산자(1003)를 수행한 후 추출된 유동 필드를 상기 분석자에게 제공하는 것도 가능하다. 뿐만 아니라, 서로 다른 조건의 동일한 연산자를 연속으로 수행하거나 동일한 조건의 동일한 연산자를 반복 수행하는 것도 가능하다. 즉, 도 10은 유동 필드 집합을 처리하는 하나의 예로서 분석자로부터 입력되는 연산자의 순서 및 상기 연산자가 포함하는 시간범위 또는 패턴 등의 값에 따라 다양한 수정이 가능하다.In this case, for example, when only the draw operator 1001 and the filter operator 1003 are input according to the input operator as illustrated in FIG. 10, the flow field extracted after performing the filter operator 1003 is transmitted to the analyst. It is also possible to provide. In addition, it is also possible to perform the same operator in different conditions in succession or repeat the same operator in the same condition. That is, FIG. 10 is an example of processing a floating field set, and various modifications may be made according to values of an order of an operator input from an analyst and a time range or pattern included in the operator.

도 11은 본 발명에 따른, 처리 명령을 설명하기 위한 일례이다.11 is an example for explaining a processing instruction according to the present invention.

위에서 설명한 바와 같이 상기 사용자 행동 분석 시스템은 (1) 전형적인 분석 질의의 형태로 입력된 처리 명령, (2) 상기 전형적인 분석 질의를 쉽게 처리하기 위해 기선정된 연산자를 포함하는 처리 명령 또는 (3) 상기 기선정된 연산자를 내포하면서도, 상기 전형적인 분석 질의의 형태로 표현 가능한 분석 스크립트를 이용한 처리 명령 중 어느 하나를 통해 상기 유동 필드 집합을 처리하는 것이 가능하다.As described above, the user behavior analysis system may comprise (1) a processing instruction entered in the form of a typical analysis query, (2) a processing instruction comprising a pre-selected operator to easily process the typical analysis query or (3) the It is possible to process the floating field set through any one of the processing instructions using an analysis script that can be expressed in the form of the typical analysis query, while incorporating pre-defined operators.

도면부호(1110)은 전형적인 분석 질의의 일례이다. 이러한 상기 전형적인 분석 질의는 위에서 설명한 기선정된 연산자를 통해 즉, 'draw'로 표현될 수 있는 드로우 연산자를 통해 시간범위에 대한 처리가, 'regex'로 표현될 수 있는 필터 연산자를 통해 패턴에 대한 처리가, 그리고 'aggr'로 표현될 수 있는 집합 연산자를 통해 통계 함수(aggregation function) 또는 집단 구분 기준(grouping criteria)에 대한 처리가 각각 가능하다.Reference numeral 1110 is an example of a typical analysis query. This typical analytic query uses the pre-selected operator described above, i.e., a draw operator that can be expressed as 'draw', and a process for time ranges, and a filter operator that can be expressed as 'regex'. Processing can be performed on aggregate functions or grouping criteria, respectively, through the set operator, which can be expressed as 'aggr'.

도면부호(1120)은 상기 전형적인 분석 질의를 드로우 연산자(1121), 필터 연산자(1122) 및 집합 연산자(1123)를 통해 처리하는 일례를 나타내고 있다. 이때, 도면부호(1124 내지 1126)는 드로우 연산자(1121), 필터 연산자(1122) 및 집합 연 산자(1123)에 따른 처리 결과를 각각 나타낸다.Reference numeral 1120 denotes an example of processing the typical analysis query through a draw operator 1121, a filter operator 1122, and a set operator 1123. In this case, reference numerals 1124 to 1126 denote processing results according to the draw operator 1121, the filter operator 1122, and the set operator 1123, respectively.

도면부호(1130)은 상기 전형적인 분석 질의를 위에서 설명한 분석 스크립트로 표현한 일례이다. 상기 분석 스크립트는 상기 전형적인 분석 질의를 쉽게 처리하기 위해 만들어진 상기 기선정된 연산자를 내포하면서도 상기 기선정된 연산자의 기계적인 틀을 벗어나 상기 전형적인 분석 질의의 형태로 표현한 것으로서 사람이 쉽게 인식할 수 있도록 만들어진 스크립트이다.Reference numeral 1130 is an example of expressing the typical analysis query by the analysis script described above. The analysis script is designed to be easily recognized by a person as including the predetermined operator, which is designed to easily process the typical analysis query, but is expressed in the form of the typical analysis query beyond the mechanical framework of the predetermined operator. It is a script.

즉, 상기 사용자 행동 분석 시스템은 위에서 설명한 상기 전형적인 분석 질의, 상기 기선정된 연산자 또는 상기 분석 스크립트 중 어느 하나를 포함하는 처리 명령을 통해 상기 유동 필드 집합을 처리할 수 있다.That is, the user behavior analysis system may process the floating field set through a processing instruction including any one of the typical analysis query, the predetermined operator, or the analysis script described above.

이와 같이 본 발명에 따른 사용자 행동 분석 방법을 이용하면, 사용자 로그를 통해 사용자 행동을 사용자별 그리고 시간의 순서에 따라 정렬함으로써 사용자 행동에 대한 시계열적 분석을 쉽고 간편하게 할 수 있고, 상기 사용자 행동을 시계열적으로 분석함으로써 구매경로, 특정 사건에 대한 회원행동 패턴과 같이 기존에 파악하기 힘들었던 웹사이트의 이용현황에 대한 원인을 분석하는 것을 가능하게 할 수 있다.As described above, using the user behavior analysis method according to the present invention, time series analysis of user behavior can be easily and conveniently performed by aligning user behaviors by user and according to the order of time through the user log. By thermally analyzing, it is possible to analyze the causes of the use of the website, which was previously difficult to grasp, such as purchase paths and membership behavior patterns for specific events.

또한, 상기 웹사이트의 이용현황에 대한 원인을 분석함으로써 사용자 행동을 이해하고, 이를 통해 상기 웹사이트의 서비스를 개선할 수 있고, 로그 분석 서버가 포함할 수 있는 복수의 수집 서버를 이용함으로써 트래픽 증가의 문제를 해결하고, 복수의 컴퓨팅 클러스터를 이용한 분산 처리를 통해 사용자 행동에 대한 분석 시간을 단축할 수 있다.In addition, by analyzing the causes of the usage of the website, the user behavior can be understood, thereby improving the service of the website, and increasing traffic by using a plurality of collection servers that the log analysis server can include. In addition, the analysis time of the user's behavior can be shortened by solving the problem of distributed processing using a plurality of computing clusters.

도 12는 본 발명의 다른 실시예에 있어서, 사용자 행동 분석 시스템의 내부 구성을 설명하기 위한 블록도이다. 도 12에 도시된 바와 같이 사용자 행동 분석 시스템(1200)은 로그 수집 서버(1210), 유동 필드 집합 생성부(1220) 및 유동 필드 집합 처리부(1230)를 포함할 수 있다.12 is a block diagram illustrating an internal configuration of a user behavior analysis system according to another embodiment of the present invention. As illustrated in FIG. 12, the user behavior analysis system 1200 may include a log collection server 1210, a flow field set generation unit 1220, and a flow field set processing unit 1230.

로그 수집 서버(1210)는 사용자 로그를 수집한다. 여기서, 상기 사용자 로그는 사용자로부터의 클릭, 키보드 입력 등과 같은 이벤트를 통해 발생하는 게임 머니의 구매, 게임 입장 등의 행동이나, 상기 게임 머니 올인으로 인해 상기 웹서버에서 발생하는 시스템의 행동 등을 모두 포함할 수 있다. 즉, 로그 수집 서버(1210)는 상기 사용자에게 별도의 행동을 요구하지 않고 상기 사용자 로그를 수집할 수 있다. 이때, 도 12에 도시된 바와 같이 로그 수집 서버(1210)는 상기 사용자 로그를 수집하기 위해 사용자 로그 수신부(1211), URL 변경부(1212), STDB(1213) 및 STMS(1214)를 포함할 수 있다.The log collection server 1210 collects user logs. Here, the user log includes all actions such as purchase of game money, entry into a game, and actions of a system generated by the web server due to the game money all-in, generated through events such as a click from a user and a keyboard input. It may include. That is, the log collection server 1210 may collect the user log without requiring a separate action from the user. In this case, as shown in FIG. 12, the log collection server 1210 may include a user log receiver 1211, a URL changer 1212, an STDB 1213, and an STMS 1214 to collect the user log. have.

사용자 로그 수신부(1211)는 웹서버에서 제공하는 웹페이지를 통해 상기 사용자 로그를 수신한다. 즉, 사용자 로그 수신부(1211)는 상기 사용자 또는 상기 웹서버를 통해 상기 웹서버에 접근하여 의미 있는 행동 즉, 로그인, 로그아웃, 게임 머니의 구매 또는 올인 처리 절차 등과 같이 분석목적과 시나리오에 따라 정의된 사용자 행동이 발생하는 경우, 생성되는 상기 사용자 로그를 수신할 수 있다. 이때, 사용자 로그 수신부(1211)는 사용자의 웹브라우저 및 자바 스크립트 태그를 이용하여 상기 사용자 로그를 수신하거나 또는 클라이언트의 경우, 상기 로그 수집 서버에서 직접 상기 사용자 로그를 수신할 수 있다.The user log receiver 1211 receives the user log through a web page provided by a web server. That is, the user log receiving unit 1211 is defined according to the analysis purpose and scenarios such as access to the web server through the user or the web server, such as a login, logout, purchase of game money, or an all-in processing procedure. When the user action occurs, the generated user log may be received. In this case, the user log receiver 1211 may receive the user log using a web browser and a Javascript tag of the user or, in the case of a client, the user log directly from the log collection server.

URL 변경부(1212)는 상기 사용자 로그가 포함하는 URL을 STDB(1213)를 이용하여 ST 명칭으로 변경한다. 이는 상기 URL을 통해 상기 사용자 행동이 발생하는 경로를 쉽게 파악하기 위한 것으로, 상기 URL에서 불필요한 요소를 제거하기 위함이다. 또한, 분석자가 상기 URL을 통해서는 상기 URL과 연관된 웹페이지를 쉽게 파악할 수 없기 때문에 상기 분석자가 상기 사용자 행동 분석 시스템의 결과를 쉽게 파악할 수 있도록 상기 URL을 상기 ST 명칭으로 변경할 수도 있다.The URL changing unit 1212 changes the URL included in the user log to the ST name using the STDB 1213. This is to easily identify the path through which the user action occurs through the URL, and to remove unnecessary elements from the URL. In addition, since the analyst cannot easily grasp the webpage associated with the URL through the URL, the URL may be changed to the ST name so that the analyst can easily grasp the result of the user behavior analysis system.

STMS(1214)는 STDB(1213)를 관리 및 유지한다. 여기서, STMS(1214)에는 URL과 상기 URL에 대응하는 ST 명칭이 서로 연관되어 저장될 수 있다. 즉, STDB(1213)는 상기 사용자가 웹서버를 통해 접근함으로써 상기 사용자에게 제공된 웹사이트와 연관된 각종 URL들을 포함하고, 상기 URL과 연관된 상기 ST 명칭을 상기 URL과 연관하여 저장하고 있다.The STMS 1214 manages and maintains the STDB 1213. Here, the STMS 1214 may store the URL and the ST name corresponding to the URL in association with each other. That is, the STDB 1213 includes various URLs associated with a website provided to the user by the user accessing through a web server, and stores the ST name associated with the URL in association with the URL.

유동 필드 집합 생성부(1220)는 상기 사용자 로그를 유동 필드 포맷으로 변환하여 유동 필드 집합을 생성한다. 이때, 상기 유동 필드 포맷은 유동 필드의 기선정된 포맷일 수 있고, 상기 유동 필드는 필드명 및 복수의 속성으로 구성될 수 있다.The floating field set generation unit 1220 converts the user log into a floating field format to generate a floating field set. In this case, the flow field format may be a predetermined format of the flow field, and the flow field may include a field name and a plurality of attributes.

또한, 상기 유동 필드는 사용자를 식별하기 위한 사용자 식별 필드 및 상기 사용자 또는 시스템의 행동을 기록하는 행동 기록 필드로 분류될 수 있다. 또한, 상기 사용자 식별 필드는 상기 필드명에 따라 (1) 로그인명으로 분류된 사용자를 나타내는 로그인 필드 또는 (2) 브라우저마다 할당된 영구 쿠키별로 분류된 사용자를 나타내는 영구 쿠키 필드로 분류될 수 있고, 상기 행동 기록 필드는 (1) 사용자 의 특정 페이지 방문을 나타내는 페이지 뷰 필드, (2) 사용자의 특정 링크에 대한 클릭을 나타내는 클릭 필드 또는 (3) 사용자에 대한 시스템의 행동(action)을 나타내는 행동 필드로 분류될 수 있다.In addition, the flow field may be classified into a user identification field for identifying a user and a behavior recording field for recording a behavior of the user or the system. Further, the user identification field may be classified into (1) a login field representing a user classified as a login name or (2) a persistent cookie field representing a user classified by a persistent cookie assigned to each browser according to the field name. The action history field may include (1) a page view field indicating a user's visit to a particular page, (2) a click field indicating a click on a user's specific link, or (3) an action field indicating a system's action on the user. Can be classified as

상기 속성은 상기 속성을 분류하는 속성명 및 사용자 행동을 정의하는 속성값으로 구성될 수 있다.The attribute may be composed of an attribute name classifying the attribute and an attribute value defining user behavior.

뿐만 아니라, 상기 유동 필드는 상기 사용자 로그가 포함하는 사용자 행동의 발생 시각을 상기 속성으로서 포함할 수 있다. 즉, 모든 유동 필드는 상기 유동 필드와 연관된 사용자 행동의 발생 시각을 포함할 수 있다.In addition, the flow field may include the time of occurrence of user behavior included in the user log as the attribute. That is, every flow field may include the time of occurrence of user action associated with the flow field.

이러한 유동 필드 집합 생성부(1220)는 도 12에 도시된 바와 같이 유동 필드 생성부(1221) 및 정렬부(1222)를 포함할 수 있다.The flow field aggregation generator 1220 may include a flow field generator 1221 and an alignment unit 1222 as illustrated in FIG. 12.

유동 필드 생성부(1221)는 상기 사용자 로그 각각을 상기 유동 필드 포맷으로 변환하여 각각의 유동 필드를 생성한다. 즉, 상기 사용자 로그는 상기 사용자 행동을 포함하고, 상기 사용자 행동 분석 시스템은 이러한 상기 사용자 로그를 상기 사용자 행동 분석 시스템이 사용할 수 있는 상기 유동 필드 포맷으로 변환할 수 있다. 위에서 설명한 바와 같이 상기 유동 필드 포맷은 유동 필드의 기선정된 포맷이기 때문에 상기 사용자 로그를 상기 유동 필드 포맷으로 변환하는 경우, 상기 사용자 로그는 상기 유동 필드로서 변환된다. 다시 말해, 상기 유동 필드를 생성할 수 있게 된다.The floating field generator 1221 generates each floating field by converting each of the user logs into the floating field format. That is, the user log includes the user behavior, and the user behavior analysis system may convert the user log into the floating field format that the user behavior analysis system can use. As described above, when converting the user log to the floating field format because the floating field format is a predetermined format of the floating field, the user log is converted as the floating field. In other words, it is possible to create the flow field.

정렬부(1222)는 상기 유동 필드를 사용자별로 시간의 순서에 따라 정렬하여 상기 유동 필드 집합을 생성한다. 이러한 각각의 유동 필드는 유동 필드 자체로서 는 큰 의미가 없기 때문에 상기 유동 필드가 포함하는 상기 사용자 행동의 발생 시각과 상기 사용자를 기준으로 정렬되어 상기 유동 필드 집합을 생성한다.The alignment unit 1222 generates the flow field set by arranging the flow fields for each user in the order of time. Each of these flow fields does not have much meaning as the flow field itself, so that the flow field set is arranged based on the time of occurrence of the user action included in the flow field and the user.

유동 필드 집합 처리부(1230)는 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리한다. 상기 유동 필드 집합은 필요에 따라 분할 및 병합이 가능하고, 상기 처리 명령은 (1) 전형적인 분석 질의, (2) 기선정된 연산자 또는 분석 스크립트를 포함할 수 있다.The flow field aggregation processing unit 1230 processes the flow field aggregation according to an input of a processing command for the flow field aggregation. The floating field set may be divided and merged as needed, and the processing instruction may include (1) a typical analysis query, (2) a predetermined operator or an analysis script.

첫 번째로, 상기 처리 명령이 전형적인 분석 질의인 경우, 유동 필드 집합을 처리하는 유동 필드 집합 처리부(1230)는 상기 분석 질의가 포함하는 시간범위, 패턴, 통계 함수 또는 집단 구분 기준에 따라 해당하는 유동 필드를 추출하거나 상기 유동 필드가 포함하는 속성에 대한 처리 결과를 제공할 수 있다.First, when the processing command is a typical analysis query, the flow field set processing unit 1230 which processes the flow field set may have a corresponding flow according to the time range, pattern, statistical function, or group classification criteria included in the analysis query. The field may be extracted or the processing result of the attribute included in the floating field may be provided.

두 번째로, 상기 처리 명령이 상기 기선정된 연산자 즉, (1) 입력된 시간범위의 유동 필드를 추출하는 드로우 연산자, (2) 입력된 패턴에 맞는 유동 필드를 추출하는 필터 연산자 및 (3) 입력된 속성에 따라 상기 속성의 총합 또는 개수를 측정하는 집합 연산자를 포함하는 경우, 유동 필드 집합 처리부(1230)는 (1) 상기 드로우 연산자 또는 상기 필터 연산자에 따라 해당하는 유동 필드를 추출하거나 또는 (2) 상기 유동 필드 집합이나 상기 추출된 유동 필드 중에서 상기 집합 연산자에 해당하는 속성의 총합 또는 개수를 측정할 수 있다.Second, the processing instruction is the pre-selected operator, that is, (1) a draw operator for extracting a flow field of the input time range, (2) a filter operator for extracting a flow field conforming to the input pattern, and (3) In the case of including a set operator for measuring the total or the number of the attribute according to the input attribute, the flow field set processing unit 1230 (1) extracts the corresponding flow field in accordance with the draw operator or the filter operator or ( 2) The total or number of attributes corresponding to the set operator may be measured among the flow field set or the extracted flow field.

마지막으로, 상기 처리 명령이 상기 분석 스크립트인 경우, 유동 필드 집합 처리부(1230)는 입력된 상기 분석 스크립트에 따라 상기 시간범위, 상기 패턴 또는 상기 속성 처리 명령에 따라 (1) 해당하는 유동 필드를 추출하거나 (2) 상기 유동 필드 집합이나 상기 추출된 유동 필드가 포함하는 속성 중에서 상기 처리 명령에 해당하는 속성의 합계 또는 개수를 측정할 수 있다.Finally, when the processing command is the analysis script, the flow field set processing unit 1230 extracts a corresponding flow field according to the time range, the pattern, or the attribute processing command according to the input analysis script. Or (2) the total or number of attributes corresponding to the processing instruction among the attributes included in the flow field set or the extracted flow field.

또한, 사용자 행동 분석 시스템(1200)에서 데이터의 분산 처리를 위해 상기 로그 수집 서버는 복수의 수집 서버로 구성될 수 있고, 상기 사용자 로그는 상기 복수의 수집 서버에 분산 수집될 수 있다. 이 경우, 유동 필드 집합 처리부(1230)는 상기 유동 필드 집합을 처리하는 복수의 컴퓨팅 클러스터(미도시)를 포함할 수 있다.In addition, the log collection server may be configured with a plurality of collection servers for distributed processing of the data in the user behavior analysis system 1200, the user log may be collected distributed in the plurality of collection servers. In this case, the flow field aggregation processing unit 1230 may include a plurality of computing clusters (not shown) for processing the flow field aggregation.

즉, 동일한 사용자에 대한 유동 필드는 상기 복수의 컴퓨팅 클러스터 중 지정된 동일한 컴퓨팅 클러스터에서 상기 처리 명령에 따라 처리될 수 있고, 유동 필드 집합 처리부(1230)는, 상기 복수의 컴퓨팅 클러스터에서 상기 처리 명령에 따라 분산 처리된 결과를 통합하는 커맨더(commander)를 더 포함할 수 있다. 이와 같이 상기 분산 처리에 대해서는 도 13을 통해 더욱 자세히 설명한다.That is, the flow field for the same user may be processed according to the processing instruction in the designated computing cluster among the plurality of computing clusters, and the flow field aggregation processing unit 1230 may perform processing according to the processing instructions in the plurality of computing clusters. It may further include a commander for integrating the distributed processing result. As described above, the dispersion process will be described in more detail with reference to FIG. 13.

도 13은 본 발명에 따른 데이터의 분산 처리 방법을 설명하기 위한 일례이다.Fig. 13 is an example for explaining a method for distributing data according to the present invention.

단위 시간당 사용량이 많아지는 트래픽(traffic) 증가는 단위 시간 안에 너무 많은 사용자 로그가 입력되는 경우, 로그 수집 서버에 오버로드(overload)를 발생시키거나 혹은 일부 사용자 로그의 소실을 일으킬 수 있는 문제점이 있고, 기록 및 분석해야 하는 데이터가 많아지는 데이터의 증가는 상기 사용자 행동 분석의 시간의 증가로 이어지는 문제점이 있다.Increasing traffic usage per unit time may cause overloading of the log collection server or loss of some user logs if too many user logs are entered within the unit time. Increasing the amount of data that has to be recorded, analyzed, and the like has a problem that leads to an increase in time of the user behavior analysis.

따라서, 상기 사용자 행동을 시간 안에 처리하기 위해 도 13의 일례와 같은 구조를 이용할 수 있다.Thus, a structure such as the example of FIG. 13 can be used to process the user action in time.

도면부호(1300)는 상기 트래픽 증가 및 상기 데이터의 증가에 따른 문제점을 로그 수집 서버 및 컴퓨팅 유닛(computing unit) 즉, 상기 컴퓨팅 클러스터의 개수를 늘려 사용자 로그 및 상기 데이터를 분산 처리함으로써 해결할 수 있음을 보여준다. 예를 들어, 오전 0시와 같은 특정 시간 혹은 특정 이벤트 기간에만 사용자 로그가 약 10배 정도 급증하고 하루 전체의 사용자 로그양은 별 차이가 없다면 상기 컴퓨팅 클러스터의 숫자는 그대로 두고 상기 로그 수집 서버의 숫자만 늘려서 상기 트래픽 증가에 대한 문제점을 해결할 수 있다.Reference numeral 1300 may solve the problems caused by the traffic increase and the data increase by distributing user logs and the data by increasing the number of log collection servers and computing units, that is, the computing cluster. Shows. For example, if the user log spikes about 10 times only during a certain time period or a specific event period, such as 0:00 AM, and there is no significant difference in the amount of user logs throughout the day, the number of log collection servers is left alone. Increasing may solve the problem of traffic increase.

즉, 상기 로그 수집 서버는 복수의 수집 서버로 구성될 수 있고, 상기 사용자 로그는 상기 복수의 수집 서버에 분산 수집될 수 있다. 또한, 유동 필드 집합은 상기 사용자 로그를 통해 생성되어 사용자별로 분류되는 적어도 하나의 유동 필드를 포함하기 때문에 동일한 사용자에 대한 유동 필드를 상기 유동 필드 집합을 처리하는 복수의 컴퓨팅 클러스터 중 지정된 동일한 컴퓨팅 클러스터에서 상기 처리 명령에 따라 처리함으로써 상기 문제점을 해결할 수 있다.That is, the log collection server may be configured with a plurality of collection servers, and the user log may be collected in a distributed manner to the plurality of collection servers. In addition, since the floating field set includes at least one floating field generated through the user log and classified by the user, the floating field for the same user may be assigned to the designated computing cluster among a plurality of computing clusters processing the floating field set. The problem can be solved by processing in accordance with the processing instruction.

보다 자세하게는, 사용자 행동 분석 시스템은 상기 사용자 로그를 각각이 상기 로그 수집 서버와 동일하게 동작하는 복수의 수집 서버에 분산 기록하고, 해쉬함수와 같이 균일한 분산(uniform distribution)을 생성하는 함수를 통해 사용자별로 상기 컴퓨팅 클러스터를 지정함으로써 한 사용자에 대한 사용자 행동이 하나의 컴퓨팅 클러스터를 통해 처리되도록 할 수 있다. 이와 같이 한 명의 사용자에 대한 모든 데이터는 하나의 컴퓨팅 클러스터에서 처리되기 때문에 외부 호스트와의 통신이 불필요하고, 복수의 컴퓨터 클러스터에서 상기 유동 필드 집합을 처리하기 때문에 상기 유동 필드 집합을 처리하는 시간이 단축된다. 또한, 상기 복수의 수집 서버를 이용함으로써 트래픽 문제를 해결할 수 있다.More specifically, the user behavior analysis system distributes and records the user logs to a plurality of collection servers, each of which operates in the same manner as the log collection server, and generates a uniform distribution such as a hash function. By designating the computing cluster for each user, user behavior for one user can be handled through one computing cluster. As such, all data for one user is processed in one computing cluster, so communication with an external host is unnecessary, and the time for processing the floating field set is reduced because the floating field set is processed by a plurality of computer clusters. do. In addition, it is possible to solve the traffic problem by using the plurality of collection servers.

단순 횟수나 사용자 수를 세는 연산에 있어서는 각 컴퓨팅 클러스터별로 숫자를 세고, 그 숫자를 해당하는 그룹별로 합하면 전체 숫자가 계산될 수 있고, 이것은 숫자를 세는 연산(count) 및 합산 연산(sum)이 교환법칙과 결합법칙을 지킨다는 성질에서 비롯된다. 즉, 기존의 방식에서 순방문자수(unique visitor)를 구할 경우에는 같은 사용자를 세었는지 확인하기 위해 사용자 전체를 구성원으로 하는 집합을 유지하여야 하였으나, 처음에 사용자 별로 각 컴퓨팅 클러스터에 저장함으로써 해당 집합을 유지할 필요가 없는 효과가 있다.For simple counting or user counting operations, counting the number by each computing cluster and adding the number to the corresponding group can yield the total number, which is the number of counting and summating operations exchanged. It comes from the property of keeping the law of law and union. In other words, in case of obtaining unique visitor in the existing method, it is necessary to maintain the set of all users to check whether the same user is counted, but to maintain the set by storing each user in each computing cluster. There is no need to effect.

또한, 위에서 설명한 드로우 연산자, 필터 연산자 및 집합 연산자에 따른 연산은 모두 컴퓨팅 클러스터에서 실행될 수 있다. 이때, 각 컴퓨팅 클러스터의 결과를 병합하기 위해 도면부호(1300)에 도시된 커맨더를 이용하여 상기 집합 연산자에 따른 연산을 한번 더 수행할 수도 있다.In addition, the operations according to the draw operators, filter operators, and set operators described above may all be executed in the computing cluster. In this case, the operation according to the set operator may be performed once more by using the commander shown in reference numeral 1300 to merge the results of each computing cluster.

이와 같이 본 발명에 따른 사용자 행동 분석 시스템을 이용하면, 사용자 로그를 통해 사용자 행동을 사용자별 그리고 시간의 순서에 따라 정렬함으로써 사용자 행동에 대한 시계열적 분석을 쉽고 간편하게 할 수 있고, 상기 사용자 행동을 시계열적으로 분석함으로써 구매경로, 특정 사건에 대한 회원행동 패턴과 같이 기존에 파악하기 힘들었던 웹사이트의 이용현황에 대한 원인을 분석하는 것을 가능하게 할 수 있다.As described above, when using the user behavior analysis system according to the present invention, time series analysis of user behavior can be easily and conveniently performed by sorting user behaviors by user and according to the order of time through the user log. By thermally analyzing, it is possible to analyze the causes of the use of the website, which was previously difficult to grasp, such as purchase paths and membership behavior patterns for specific events.

또한, 상기 웹사이트의 이용현황에 대한 원인을 분석함으로써 사용자 행동을 이해하고, 이를 통해 상기 웹사이트의 서비스를 개선할 수 있고, 로그 분석 서버가 포함할 수 있는 복수의 수집 서버를 이용함으로써 트래픽 증가의 문제를 해결하고, 복수의 컴퓨팅 클러스터를 이용한 분산 처리를 통해 사용자 행동에 대한 분석 시간을 단축할 수 있다.In addition, by analyzing the causes of the usage of the website, the user behavior can be understood, thereby improving the service of the website, and increasing traffic by using a plurality of collection servers that the log analysis server can include. In addition, the analysis time of the user's behavior can be shortened by solving the problem of distributed processing using a plurality of computing clusters.

본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention can be implemented in the form of program instructions that can be executed by various computer means can be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한 정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.In the present invention as described above has been described by specific embodiments such as specific components and the like embodiments and drawings, but this is only provided to help a more general understanding of the present invention, the present invention is limited to the above embodiments In other words, various modifications and variations are possible to those skilled in the art to which the present invention pertains.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and all the things that are equivalent to or equivalent to the claims as well as the following claims will belong to the scope of the present invention. .

본 발명에 따르면, 사용자 로그를 통해 사용자 행동을 사용자별 그리고 시간의 순서에 따라 정렬함으로써 사용자 행동에 대한 시계열적 분석을 쉽고 간편하게 할 수 있다.According to the present invention, time series analysis of user behavior can be easily and conveniently by sorting user behavior by user and by time order through the user log.

본 발명에 따르면, 상기 사용자 행동을 시계열적으로 분석함으로써 구매경로, 특정 사건에 대한 회원행동 패턴과 같이 기존에 파악하기 힘들었던 웹사이트의 이용현황에 대한 원인을 분석하는 것을 가능하게 할 수 있다.According to the present invention, by analyzing the user's behavior in time series, it is possible to analyze the cause of the usage status of the website, which is difficult to grasp previously, such as a purchase path and a member behavior pattern for a specific event.

본 발명에 따르면, 상기 웹사이트의 이용현황에 대한 원인을 분석함으로써 사용자 행동을 이해하고, 이를 통해 상기 웹사이트의 서비스를 개선할 수 있다.According to the present invention, it is possible to understand the user behavior by analyzing the cause of the use status of the website, thereby improving the service of the website.

본 발명에 따르면, 로그 분석 서버가 포함할 수 있는 복수의 수집 서버를 이용함으로써 트래픽 증가의 문제를 해결하고, 복수의 컴퓨팅 클러스터를 이용한 분산 처리를 통해 사용자 행동에 대한 분석 시간을 단축할 수 있다.According to the present invention, it is possible to solve the problem of traffic increase by using a plurality of collection servers that can be included in the log analysis server, and to shorten the analysis time for user behavior through distributed processing using a plurality of computing clusters.

Claims (25)

사용자 행동 분석 방법에 있어서,In the user behavior analysis method, 로그 수집 서버(LCS: Log Collection Server)를 통해 사용자 로그를 수집하는 단계;Collecting user logs through a log collection server (LCS); 상기 사용자 로그를 유동 필드 포맷으로 변환하여 유동 필드 집합을 생성하는 단계; 및Converting the user log into a floating field format to generate a floating field set; And 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리하는 단계Processing the floating field set in accordance with an input of a processing instruction for the floating field set. 를 포함하는 사용자 행동 분석 방법.User behavior analysis method comprising a. 제1항에 있어서,The method of claim 1, 상기 유동 필드 포맷은 유동 필드의 기선정된 포맷이고,The floating field format is a predetermined format of the floating field, 상기 유동 필드는 필드명 및 복수의 속성으로 구성되는 사용자 행동 분석 방법.The flow field comprises a field name and a plurality of attributes. 제2항에 있어서,The method of claim 2, 상기 유동 필드는 사용자를 식별하기 위한 사용자 식별 필드 및 상기 사용자 또는 시스템의 행동을 기록하는 행동 기록 필드로 분류로 분류되고,The floating field is classified into a classification into a user identification field for identifying a user and a behavior recording field for recording the behavior of the user or system, 상기 속성은 상기 속성을 분류하는 속성명 및 사용자 행동을 정의하는 속성 값으로 구성되는 사용자 행동 분석 방법.And the attribute comprises an attribute name classifying the attribute and an attribute value defining user behavior. 제2항에 있어서,The method of claim 2, 상기 유동 필드는 상기 사용자 로그가 포함하는 사용자 행동의 발생 시각을 상기 속성으로서 포함하는 사용자 행동 분석 방법.And the flow field includes, as the attribute, an occurrence time of user behavior included in the user log. 제1항에 있어서,The method of claim 1, 상기 사용자 로그를 유동 필드 포맷으로 변환하여 유동 필드 집합을 생성하는 상기 단계는,The step of converting the user log into a floating field format to generate a floating field set, 상기 사용자 로그 각각을 상기 유동 필드 포맷으로 변환하여 각각의 유동 필드를 생성하는 단계; 및Converting each of the user logs into the flow field format to generate a respective flow field; And 상기 유동 필드를 사용자별로 시간의 순서에 따라 정렬하여 상기 유동 필드 집합을 생성하는 단계Generating the floating field set by arranging the floating fields in order of time for each user. 를 포함하는 사용자 행동 분석 방법.User behavior analysis method comprising a. 제1항에 있어서,The method of claim 1, 상기 처리 명령은 전형적인 분석 질의를 포함하고,The processing instruction comprises a typical analysis query, 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리하는 상기 단계는,The step of processing the flow field set in accordance with an input of a processing command for the flow field set, 상기 분석 질의가 포함하는 시간범위(time period), 패턴(pattern), 통계 함 수(aggregation function) 또는 집단 구분 기준(grouping criteria)에 따라 해당하는 유동 필드를 추출하거나 상기 유동 필드가 포함하는 속성에 대한 처리 결과를 제공하는 사용자 행동 분석 방법.Extract the corresponding flow field according to a time period, pattern, aggregation function, or grouping criteria included in the analysis query, or extract an attribute of the flow field. User behavior analysis method that provides the results of the processing. 제1항에 있어서,The method of claim 1, 상기 처리 명령은 (1) 입력된 시간범위의 유동 필드를 추출하는 드로우(draw) 연산자, (2) 입력된 패턴에 맞는 유동 필드를 추출하는 필터(filter) 연산자 및 입력된 속성에 따라 상기 속성의 총합 또는 개수를 측정하는 집합(aggr) 연산자를 포함하고,The processing instruction may include (1) a draw operator for extracting a flow field of an input time range, (2) a filter operator for extracting a flow field according to an input pattern, and a property of the attribute according to an input attribute. Includes an aggr operator that measures total or count, 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리하는 상기 단계는,The step of processing the flow field set in accordance with an input of a processing command for the flow field set, (1) 상기 드로우 연산자 또는 상기 필터 연산자에 따라 해당하는 유동 필드를 추출하거나 또는 (2) 상기 유동 필드 집합이나 상기 추출된 유동 필드 중에서 상기 집합 연산자에 해당하는 속성의 총합 또는 개수를 측정하는 사용자 행동 분석 방법.(1) a user action of extracting a corresponding floating field according to the draw operator or the filter operator, or (2) measuring the total or number of attributes corresponding to the set operator among the floating field set or the extracted floating field; Analytical Method. 제1항에 있어서,The method of claim 1, 상기 처리 명령은 시간범위, 패턴 또는 속성 처리 명령으로 구성된 분석 스크립트를 포함하고,The processing instruction comprises an analysis script consisting of a time range, pattern or attribute processing instruction, 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합 을 처리하는 상기 단계는,The step of processing the flow field set in accordance with an input of a processing instruction for the flow field set, 입력된 상기 분석 스크립트에 따라 상기 시간범위, 상기 패턴 또는 상기 속성 처리 명령에 따라 (1) 해당하는 유동 필드를 추출하거나 (2) 상기 유동 필드 집합이나 상기 추출된 유동 필드가 포함하는 속성 중에서 상기 처리 명령에 해당하는 속성의 합계 또는 개수를 측정하는 사용자 행동 분석 방법.According to the analysis script inputted according to the time range, the pattern or the attribute processing command (1) extract the corresponding flow field, or (2) the processing from among the attributes of the flow field set or the extracted flow field; A method of analyzing user behavior that measures the sum or count of attributes corresponding to a command. 제1항에 있어서,The method of claim 1, 로그 수집 서버를 통해 사용자 로그를 수집하는 상기 단계는,The above step of collecting the user log through the log collection server, 웹서버에서 제공하는 웹페이지를 통해 상기 사용자 로그를 수신하는 단계; 및Receiving the user log through a web page provided by a web server; And 상기 사용자 로그가 포함하는 URL을 STDB(Service Tree DataBase)를 이용하여 ST 명칭(Service Tree name)으로 변경하는 단계Changing the URL included in the user log to an ST tree name using a service tree database (STDB); 를 포함하는 사용자 행동 분석 방법.User behavior analysis method comprising a. 제9항에 있어서,The method of claim 9, 웹서버에서 제공하는 웹페이지를 통해 상기 사용자 로그를 수신하는 상기 단계는,The step of receiving the user log through a web page provided by a web server, 사용자의 웹브라우저 및 자바 스크립트 태그(java script tag)를 이용하여 상기 사용자 로그를 수신하거나 또는 클라이언트의 경우, 상기 로그 수집 서버에서 직접 상기 사용자 로그를 수신하는 사용자 행동 분석 방법.Receiving the user log using a user's web browser and java script tag (java script tag) or, in the case of a client, the user behavior analysis method directly receiving the user log from the log collection server. 제9항에 있어서,The method of claim 9, 상기 STDB는 URL과 상기 URL에 대응하는 ST 명칭이 서로 연관되어 저장되고,The STDB is stored in association with the URL and the ST name corresponding to the URL, 로그 수집 서버를 통해 사용자 로그를 수집하는 상기 단계는,The above step of collecting the user log through the log collection server, STMS(Service Tree Management System)에서 상기 STDB를 관리 및 유지하는 단계Managing and maintaining the STDB in the Service Tree Management System (STMS) 를 더 포함하는 사용자 행동 분석 방법.User behavior analysis method further comprising. 제1항에 있어서,The method of claim 1, 상기 사용자 로그는 웹서버가 생성하는 웹서버 로그를 포함하고The user log includes a web server log generated by the web server 로그 수집 서버를 통해 사용자 로그를 수집하는 상기 단계는,The above step of collecting the user log through the log collection server, 상기 웹서버를 상기 로그 수집 서버로서 포함하여 상기 웹서버 로그를 생성하는 사용자 행동 분석 방법.And generating the web server log by including the web server as the log collection server. 제1항에 있어서,The method of claim 1, 상기 로그 수집 서버는 복수의 수집 서버로 구성되고,The log collection server is composed of a plurality of collection servers, 상기 사용자 로그는 상기 복수의 수집 서버에 분산 수집되는 사용자 행동 분석 방법.The user log is collected and distributed to the plurality of collection server user behavior analysis method. 제13항에 있어서,The method of claim 13, 상기 유동 필드 집합은 상기 사용자 로그를 통해 생성되어 사용자별로 분류되는 적어도 하나의 유동 필드를 포함하고,The flow field set includes at least one flow field generated through the user log and classified for each user, 동일한 사용자에 대한 유동 필드는 상기 유동 필드 집합을 처리하는 복수의 컴퓨팅 클러스터 중 지정된 동일한 컴퓨팅 클러스터에서 상기 처리 명령에 따라 처리되는 사용자 행동 분석 방법.The flow field for the same user is processed according to the processing instruction in the designated computing cluster of the plurality of computing clusters processing the flow field set. 제1항 내지 제14항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.A computer-readable recording medium in which a program for executing the method of any one of claims 1 to 14 is recorded. 사용자 행동 분석 시스템에 있어서,In the user behavior analysis system, 사용자 로그를 수집하는 로그 수집 서버;A log collection server collecting user logs; 상기 사용자 로그를 유동 필드 포맷으로 변환하여 유동 필드 집합을 생성하는 유동 필드 집합 생성부; 및A flow field set generation unit for converting the user log into a flow field format to generate a flow field set; And 상기 유동 필드 집합에 대한 처리 명령의 입력에 따라 상기 유동 필드 집합을 처리하는 유동 필드 집합 처리부Flow field set processing unit for processing the flow field set in accordance with the input of the processing command for the flow field set 를 포함하는 사용자 행동 분석 시스템.User behavior analysis system comprising a. 제16항에 있어서,The method of claim 16, 상기 유동 필드 포맷은 유동 필드의 기선정된 포맷이고,The floating field format is a predetermined format of the floating field, 상기 유동 필드는 필드명 및 복수의 속성으로 구성되는 사용자 행동 분석 시 스템.The flow field comprises a field name and a plurality of attributes. 제17항에 있어서,The method of claim 17, 상기 유동 필드는 사용자를 식별하기 위한 사용자 식별 필드 및 상기 사용자 또는 시스템의 행동을 기록하는 행동 기록 필드로 분류로 분류되고,The floating field is classified into a classification into a user identification field for identifying a user and a behavior recording field for recording the behavior of the user or system, 상기 속성은 상기 속성을 분류하는 속성명 및 사용자 행동을 정의하는 속성값으로 구성되는 사용자 행동 분석 시스템.And the attribute comprises an attribute name classifying the attribute and an attribute value defining user behavior. 제16항에 있어서,The method of claim 16, 상기 유동 필드 집합 생성부는,The floating field set generation unit, 상기 사용자 로그 각각을 상기 유동 필드 포맷으로 변환하여 각각의 유동 필드를 생성하는 유동 필드 생성부; 및A flow field generator for converting each of the user logs into the flow field format to generate respective flow fields; And 상기 유동 필드를 사용자별로 시간의 순서에 따라 정렬하여 상기 유동 필드 집합을 생성하는 유동 필드 정렬부Flow field alignment unit for generating the flow field set by arranging the flow field by the user in order of time 를 포함하는 사용자 행동 분석 시스템.User behavior analysis system comprising a. 제16항에 있어서,The method of claim 16, 상기 처리 명령은 (1) 입력된 시간범위의 유동 필드를 추출하는 드로우(draw) 연산자, (2) 입력된 패턴에 맞는 유동 필드를 추출하는 필터(filter) 연산자 및 입력된 속성에 따라 상기 속성의 총합 또는 개수를 측정하는 집합(aggr) 연산자를 포함하고,The processing instruction may include (1) a draw operator for extracting a flow field of an input time range, (2) a filter operator for extracting a flow field according to an input pattern, and a property of the attribute according to an input attribute. Includes an aggr operator that measures total or count, 상기 유동 필드 집합 처리부는,The floating field aggregation processing unit, (1) 상기 드로우 연산자 또는 상기 필터 연산자에 따라 해당하는 유동 필드를 추출하거나 또는 (2) 상기 유동 필드 집합이나 상기 추출된 유동 필드 중에서 상기 집합 연산자에 해당하는 속성의 총합 또는 개수를 측정하는 사용자 행동 분석 시스템.(1) a user action of extracting a corresponding flow field according to the draw operator or the filter operator, or (2) measuring the total or number of attributes corresponding to the set operator among the flow field set or the extracted flow field; Analysis system. 제16항에 있어서,The method of claim 16, 상기 로그 수집 서버는The log collection server 웹서버에서 제공하는 웹페이지를 통해 상기 사용자 로그를 수신하는 사용자 로그 수신부; 및A user log receiver configured to receive the user log through a web page provided by a web server; And 상기 사용자 로그가 포함하는 URL을 STDB를 이용하여 ST 명칭으로 변경하는 URL 변경부URL changing unit for changing the URL included in the user log to the ST name using STDB 를 포함하는 사용자 행동 분석 시스템.User behavior analysis system comprising a. 제21항에 있어서,The method of claim 21, 상기 STDB는 URL과 상기 URL에 대응하는 ST 명칭이 서로 연관되어 저장되고,The STDB is stored in association with the URL and the ST name corresponding to the URL, 상기 로그 수집 서버는,The log collection server, 상기 STDB를 관리 및 유지하는 STMS;An STMS for managing and maintaining the STDB; 를 더 포함하는 사용자 행동 분석 시스템.User behavior analysis system further comprising. 제16항에 있어서,The method of claim 16, 상기 로그 수집 서버는 복수의 수집 서버로 구성되고,The log collection server is composed of a plurality of collection servers, 상기 사용자 로그는 상기 복수의 수집 서버에 분산 수집되는 사용자 행동 분석 시스템.The user log is collected and distributed to the plurality of collection server user behavior analysis system. 제23항에 있어서,The method of claim 23, wherein 상기 유동 필드 집합은 상기 사용자 로그를 통해 생성되어 사용자별로 분류되는 적어도 하나의 유동 필드를 포함하고,The flow field set includes at least one flow field generated through the user log and classified for each user, 상기 유동 필드 집합 처리부는 상기 유동 필드 집합을 처리하는 복수의 컴퓨팅 클러스터를 포함하는 사용자 행동 분석 시스템.The floating field set processing unit includes a plurality of computing clusters for processing the floating field set. 제24항에 있어서,The method of claim 24, 동일한 사용자에 대한 유동 필드는 상기 복수의 컴퓨팅 클러스터 중 지정된 동일한 컴퓨팅 클러스터에서 상기 처리 명령에 따라 처리되고,The floating field for the same user is processed according to the processing instruction in the designated same computing cluster among the plurality of computing clusters, 상기 유동 필드 집합 처리부는,The floating field aggregation processing unit, 상기 복수의 컴퓨팅 클러스터에서 상기 처리 명령에 따라 분산 처리된 결과를 통합하는 커맨더(commander)Commander for integrating the results distributed in accordance with the processing command in the plurality of computing clusters 를 더 포함하는 사용자 행동 분석 시스템.User behavior analysis system further comprising.
KR1020070047895A 2007-05-17 2007-05-17 User behavior analysis method and system KR100912177B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070047895A KR100912177B1 (en) 2007-05-17 2007-05-17 User behavior analysis method and system
JP2008127801A JP4938725B2 (en) 2007-05-17 2008-05-15 User behavior analysis method and user behavior analysis system
JP2011263893A JP5264981B2 (en) 2007-05-17 2011-12-01 User behavior analysis method and user behavior analysis system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070047895A KR100912177B1 (en) 2007-05-17 2007-05-17 User behavior analysis method and system

Publications (2)

Publication Number Publication Date
KR20090001751A true KR20090001751A (en) 2009-01-09
KR100912177B1 KR100912177B1 (en) 2009-08-14

Family

ID=40147340

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070047895A KR100912177B1 (en) 2007-05-17 2007-05-17 User behavior analysis method and system

Country Status (2)

Country Link
JP (2) JP4938725B2 (en)
KR (1) KR100912177B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010129555A2 (en) * 2009-05-04 2010-11-11 Visa International Service Association Frequency-based transaction prediction and processing
US11272022B2 (en) 2020-03-31 2022-03-08 Coupang Corp. Server for generating integrated usage log data and operating method thereof

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106502103B (en) * 2015-09-06 2019-03-01 深圳会当科技有限公司 A kind of analysis method of user behavior
JP2017220099A (en) * 2016-06-09 2017-12-14 株式会社Jsol System for acquiring user's browsing behavior information in web page through network
EP3746895B1 (en) * 2018-01-30 2023-09-13 Celonis SE Method for generating process protocols in a distributed it infrastructure
CN111339387B (en) * 2018-12-18 2023-06-09 阿里巴巴集团控股有限公司 Click feedback acquisition method and device based on information template and electronic equipment
CN110109814B (en) * 2019-05-15 2023-07-21 恒生电子股份有限公司 User behavior data correction method and device
WO2020245966A1 (en) * 2019-06-06 2020-12-10 日本電信電話株式会社 Ip address assigning device, ip address assigning method, and program

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3778652B2 (en) * 1997-04-18 2006-05-24 株式会社日立製作所 Log data collection management method and apparatus
JP2001306947A (en) * 2000-04-20 2001-11-02 Ntt Data Corp System and method for analyzing access and recording medium
KR20010097408A (en) * 2000-04-22 2001-11-08 이태균 Method and system for analyzing user behavior
JP2001350875A (en) * 2000-06-07 2001-12-21 Nippon Telegr & Teleph Corp <Ntt> Trend item predicting method and system device
JP2002041456A (en) * 2000-07-25 2002-02-08 Nri & Ncc Co Ltd Journal management server, log collecting method and recording medium
JP2002230417A (en) * 2000-11-20 2002-08-16 Nippon Telegr & Teleph Corp <Ntt> Method and device for introducing recommended item, and recording medium with the recorded recommended item introducing program
JP2002342211A (en) * 2001-05-17 2002-11-29 Accent:Kk Access action analyzing system
JP3626458B2 (en) * 2001-06-04 2005-03-09 株式会社ソニー・コンピュータエンタテインメント Log collection analysis system, log collection method, log collection program to be executed by computer, log analysis method, log analysis program to be executed by computer, log collection device, log analysis device, log collection terminal, log server
JP2002366838A (en) * 2001-06-06 2002-12-20 Toshiba Corp Recommendation method, server system, and program
JP2003030403A (en) * 2001-07-12 2003-01-31 Sumisho Computer Systems Corp Device and method for collecting profile, system for supporting sales promotion, program and recording medium
JP2004295303A (en) * 2003-03-26 2004-10-21 Nri & Ncc Co Ltd Log collection management system, log collection management method and computer program
JP2005234689A (en) * 2004-02-17 2005-09-02 Hitachi Ltd Community evaluation support method and apparatus
JP2006295232A (en) * 2005-04-05 2006-10-26 Lac Co Ltd Security monitoring apparatus, and security monitoring method and program
JP2006323629A (en) * 2005-05-19 2006-11-30 Kan:Kk Server analyzing information for page update of web server, web server, and method for updating page

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010129555A2 (en) * 2009-05-04 2010-11-11 Visa International Service Association Frequency-based transaction prediction and processing
WO2010129555A3 (en) * 2009-05-04 2011-03-03 Visa International Service Association Frequency-based transaction prediction and processing
US8352315B2 (en) 2009-05-04 2013-01-08 Visa International Service Association Pre-authorization of a transaction using predictive modeling
US9489674B2 (en) 2009-05-04 2016-11-08 Visa International Service Association Frequency-based transaction prediction and processing
US9773246B2 (en) 2009-05-04 2017-09-26 Visa International Service Association Pre-authorization of a transaction using predictive modeling
US11272022B2 (en) 2020-03-31 2022-03-08 Coupang Corp. Server for generating integrated usage log data and operating method thereof

Also Published As

Publication number Publication date
JP5264981B2 (en) 2013-08-14
JP2012069151A (en) 2012-04-05
JP4938725B2 (en) 2012-05-23
JP2008287720A (en) 2008-11-27
KR100912177B1 (en) 2009-08-14

Similar Documents

Publication Publication Date Title
KR100912177B1 (en) User behavior analysis method and system
USRE48681E1 (en) System and method for tracking web interactions with real time analytics
CN111581054B (en) Log embedded point service analysis alarm system and method based on ELK
EP2088711B1 (en) A log analyzing method and system based on distributed compute network
US7165105B2 (en) System and method for logical view analysis and visualization of user behavior in a distributed computer network
US20170109657A1 (en) Machine Learning-Based Model for Identifying Executions of a Business Process
US20100318527A1 (en) Dynamically generating aggregate tables
US11042899B2 (en) System and method for tracking users across a plurality of media platforms
US20180046956A1 (en) Warning About Steps That Lead to an Unsuccessful Execution of a Business Process
US20170109639A1 (en) General Model for Linking Between Nonconsecutively Performed Steps in Business Processes
US9607081B2 (en) Ontology based categorization of users
CN107733902A (en) A kind of monitoring method and device of target data diffusion process
Fenner et al. Code of practice for research data usage metrics release 1
CN106250397A (en) A kind of analysis method and device of user behavior feature
US20170109637A1 (en) Crowd-Based Model for Identifying Nonconsecutive Executions of a Business Process
US20170109670A1 (en) Crowd-Based Patterns for Identifying Executions of Business Processes
Frhan Website clickstream data visualization using improved Markov chain modelling in apache flume
CN116089490A (en) Data analysis method, device, terminal and storage medium
Canay et al. An innovative data collection method to eliminate the preprocessing phase in web usage mining
CN112862598A (en) Channel information management method and device, electronic equipment and medium
Gonzales Analyzing EZproxy SPU logs using Python data analysis tools
De Santana et al. Modeling task deviations as eccentricity distribution peaks
KR102200249B1 (en) Log management system
KR101845208B1 (en) Performance Improving Method Based Web for Database and Application
CN117093758A (en) User screening method, device, terminal equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120705

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130626

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150722

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160725

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190701

Year of fee payment: 11