[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101218927B1 - Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device - Google Patents

Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device Download PDF

Info

Publication number
KR101218927B1
KR101218927B1 KR1020110144331A KR20110144331A KR101218927B1 KR 101218927 B1 KR101218927 B1 KR 101218927B1 KR 1020110144331 A KR1020110144331 A KR 1020110144331A KR 20110144331 A KR20110144331 A KR 20110144331A KR 101218927 B1 KR101218927 B1 KR 101218927B1
Authority
KR
South Korea
Prior art keywords
time
computing device
user
transaction
user computing
Prior art date
Application number
KR1020110144331A
Other languages
Korean (ko)
Other versions
KR20120004953A (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 KR1020110144331A priority Critical patent/KR101218927B1/en
Publication of KR20120004953A publication Critical patent/KR20120004953A/en
Application granted granted Critical
Publication of KR101218927B1 publication Critical patent/KR101218927B1/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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 웹 서비스에 대한 성능 측정을 사용자가 체감할 수 있는 응답 시간으로서 측정할 수 있도록 하고, 응답 시간을 각 서비스 구간별로 분리하여 각 구간별 응답 시간의 구분적인 측정이 가능하도록 하는 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체, 컴퓨팅 장치 및 웹 어플리케이션 서버의 모니터링 모듈을 제공한다.
본 발명에 의한 웹 서비스의 사용자 체감 성능 모니터링 방법은, 사용자 컴퓨팅 장치에서 사용자의 그룹 단위 업무 요청시, 그룹 단위 업무가 측정 대상 설정 업무에 해당하는 경우 그룹 단위 업무의 요청 시간을 그룹 단위 업무 시작 시간으로 기록하는 제1단계와; 사용자 컴퓨팅 장치에서 그룹 단위 업무에 포함되는 트랜잭션 단위 업무의 HTTP 정보 요청을 웹 어플리케이션 서버에게 발생시, 사용자 컴퓨팅 장치의 플랫폼 엔진에 의해 트랜잭션 단위 업무의 HTTP 정보 요청 시간을 트랜잭션 단위 업무 시작 시간으로 기록하는 제2단계; 웹 어플리케이션 서버에서 트랜잭션 단위 업무의 HTTP 정보 요청에 대한 HTTP 정보 응답을 사용자 컴퓨팅 장치에게 전달하면, 사용자 컴퓨팅 장치에서 플랫폼 엔진에 의해 HTTP 정보 응답을 받은 응답 시간을 트랜잭션 단위 업무 종료 시간으로 기록하는 제3단계; 사용자 컴퓨팅 장치에서 그룹 단위 업무 종료시, 그룹 단위 업무 종료 시간을 그룹 단위 업무 종료 시간으로 기록하는 제4단계; 및 사용자 컴퓨팅 장치에서 저장된 그룹 단위 업무 시작 시간, 그룹 단위 업무 종료 시간, 트랙젝션 단위 업무 시작 시간 및 트랙젝션 단위 업무 종료 시간에 대한 정보를 웹 어플리케이션 서버에 제공하여 데이터베이스에 저장하는 제5단계;를 포함하여 이루어진다.
The present invention can measure the performance measurement of the web service as a response time that the user can feel, and the response time is separated by each service interval of the web service to enable the separate measurement of the response time for each section Provided are a monitoring module of a recording medium, a computing device, and a web application server in which a user experience performance monitoring method and a program therefor are recorded.
According to an exemplary embodiment of the present invention, a method for monitoring user experience performance of a web service includes requesting time of a group unit task when a group unit task corresponds to a measurement target setting task when a user unit task is requested by a user computing device. Recording with a first step; When requesting HTTP information of a transaction unit work included in a group unit work in a user computing device to a web application server, recording the HTTP information request time of a transaction unit work as a transaction unit work start time by the platform engine of the user computing device. Step 2; When the web application server delivers the HTTP information response to the HTTP request for the transaction unit work to the user computing device, the third computing unit records the response time of receiving the HTTP information response by the platform engine in the user computing device as the transaction unit end time. step; A fourth step of recording a group unit end time as a group end time at the end of group unit work in the user computing device; And a fifth step of providing the web application server with information on the group unit business start time, the group unit business end time, the transaction unit business start time, and the transaction unit business end time stored in the user computing device in a database. It is made to include.

Figure R1020110144331
Figure R1020110144331

Description

웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치{Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device}Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device}

본 발명은 인터넷 웹 서비스에 대한 사용자 체감의 응답 속도 및 각 구간별 구분 시간을 측정하기 위한 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치에 관한 것이다.The present invention relates to a method for monitoring user experience performance of a web service for measuring the response speed of user experience for Internet web service and the division time for each section, and a recording medium and a computing device in which a program therefor is recorded.

일반적으로 근래의 컴퓨팅 환경은 클라이언트와 웹 어플리케이션, 데이터베이스, 미들웨어, ERP(Enterprise Resource Plan), CRM(Customer Relationship Management) 솔루션 등 각종 서비스를 담당하는 서버들의 분산 환경으로 발전하고 있는 단계이다. In general, the computing environment is developing into a distributed environment of servers in charge of various services such as clients, web applications, databases, middleware, enterprise resource plans (ERPs), and customer relationship management (CRM) solutions.

종래의 클라이언트-서버 방식의 2단계 컴퓨팅환경에서는 시스템의 성능관리가 비교적 용이하였지만, 현재는 갈수록 대형화되고 복잡해지는 웹 기반 시스템 하에서 대량의 트랜잭션(Transaction)을 실시간으로 처리하는 OLPT(Online Transaction Processing) 환경이 확산되고 있는 추세이고, 웹을 이용한 수많은 동시 사용자에 의한 부하가 비정규적으로 발생할 수 있으며, 다수의 서버들이 분산되어 단계별로 클라이언트의 요청을 처리하여 마지막으로 결과를 클라이언트에게 전달하는 복잡한 환경에서 프로세스가 이루어지고 있다. In the conventional client-server two-stage computing environment, performance management of the system was relatively easy, but now, the OLPT (Online Transaction Processing) environment that processes a large amount of transactions in real time under an increasingly large and complex web-based system This is a proliferating trend, and the load by a large number of concurrent users using the web can occur irregularly, and in a complex environment in which a large number of servers are distributed to process client requests step by step and finally deliver the results to the client. Is being done.

그에 따라, 웹 어플리케이션의 처리를 담당하는 서버와, 데이터를 관리하는 데이터베이스 등에 대한 성능 관리가 필수적으로 이루어져야 하고, 그러한 성능 관리를 위한 성능 정보의 효과적인 모니터링이 필요한 시점이다. 즉, 시스템 모니터링은 거시적인 방향에서는 웹 서비스의 트랜드 분석을 위해 실시되고, 다른 방향에서는 현시점에서 네트워크 자원의 효율적 활용여부의 파악과, 시스템의 오류분석을 위해 실시된다.Accordingly, performance management for a server in charge of processing a web application, a database for managing data, and the like must be essentially performed, and it is time for effective monitoring of performance information for such performance management. In other words, system monitoring is carried out for the trend analysis of web services in the macro direction, and in other directions for the efficient use of network resources and error analysis of the system.

한편, 웹 서비스에 대한 응답 속도는 사용자에게 인지되는 서비스 품질을 측정하는 가장 보편적인 지표인 동시에, 정량적인 수치로 표현이 가능하므로 객관성을 확보해주는 중요한 관리 정보로서 활용되고 있다.On the other hand, the response speed to the web service is the most common index for measuring the service quality perceived by the user, and can be expressed as a quantitative value, so it is used as important management information to secure objectivity.

웹 서비스의 품질을 판단하기 위한 중요한 지표로서 서비스에 대한 응답 속도 및 응답 시간에 대한 모니터링을 위해, 최근에는 고가격대의 전문적인 툴(Tool)을 도입하여 응답 속도의 측정을 진행해오고 있는 바, 이러한 전문 툴들은 대부분 고가격대이므로 시스템 성능 관리를 위한 투자 비용이 상승한다는 단점이 있으며, 서버의 시스템 중심이나 네트워크 중심으로만 측정이 이루어질 수 있도록 되어 있기 때문에, 사용자가 느낄 수 있는 사용자 체감의 응답 속도를 측정하지 못한다는 문제점을 가지고 있다. In order to monitor the response speed and response time of the service as an important indicator for determining the quality of the web service, recently, a high-priced professional tool has been introduced to measure the response speed. Most of professional tools are expensive, so the investment cost for system performance management is increased, and the measurement can be made only at the system center or the network center of the server. There is a problem that can not measure.

게다가, 종래의 전문 툴들은 서버의 시스템 전반이나 네트워크 전반에 걸쳐서 측정이 이루어지기 때문에, 각 시스템 구간이나 네트워크의 구간별로 세부적인 구분 측정이 어렵도록 되어 있을 뿐만 아니라, URL이나 단위 트랜잭션 수준에서만 측정할 수 있도록 되어 있어서, 실질적인 업무 단위의 분석이 어렵도록 되어 있다는 문제점이 있다.In addition, the conventional tools are measured throughout the system or network of the server, so it is difficult to make detailed classification measurements for each system section or network section, and to measure only at the URL or unit transaction level. There is a problem in that it is difficult to analyze the actual work unit.

따라서, 본 발명은 상기한 종래의 문제점을 해결하기 위해 이루어진 것으로서, 그 목적은 웹 기반 서비스로서 일반적으로 도입되어 있는 X-인터넷 기반의 플랫폼 환경을 그대로 사용하여 고가의 비용을 투자하지 않고서도 웹 서비스의 성능 측정이 가능하도록 하는 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치를 제공하는 것이다.Accordingly, the present invention has been made to solve the above-mentioned conventional problems, and an object thereof is to use a X-Internet based platform environment, which is generally introduced as a web-based service, without using a high-cost web service. The present invention provides a method of monitoring a user's haptic performance of a web service and a recording medium and a computing device for recording a program therefor.

본 발명의 다른 목적은 웹 서비스에 대한 성능 측정을 사용자가 체감할 수 있는 응답 시간으로서 측정할 수 있도록 하고, 응답 시간을 각 서비스 구간별로 분리하여 각 구간별 응답 시간의 구분적인 측정이 가능하도록 하는 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치를 제공하는 것이다.Another object of the present invention is to measure the performance measurement of the web service as a response time that the user can feel, and to separate the response time for each service interval to enable the separate measurement of the response time for each section The present invention provides a method for monitoring user experience performance of a web service and a recording medium and a computing device in which a program for the same is recorded.

본 발명의 또 다른 목적은 측정 대상 사용자 시스템에 대한 실질적인 업무 단위의 측정이 가능하도록 하여 사용자 관점에서의 성능 관리가 가능하도록 하는 웹 서비스의 사용자 체감 성능 모니터링 방법과 이를 위한 프로그램이 기록된 기록매체 및 컴퓨팅 장치를 제공하는 것이다.It is still another object of the present invention to provide a method for monitoring user experience performance of a web service, a recording medium recording a program therefor, and a method for performing performance management from a user's point of view by enabling measurement of a practical business unit for a user system to be measured. It is to provide a computing device.

상기한 목적을 달성하기 위해 본 발명의 방법의 일예에 따르면, 본 발명에 의한 웹 서비스의 사용자 체감 성능 모니터링 방법은, 사용자 컴퓨팅 장치에서 사용자의 그룹 단위 업무 요청시, 상기 그룹 단위 업무가 측정 대상 설정 업무에 해당하는 경우 상기 그룹 단위 업무의 요청 시간을 그룹 단위 업무 시작 시간으로 기록하는 제1단계와; 상기 사용자 컴퓨팅 장치에서 상기 그룹 단위 업무에 포함되는 트랜잭션 단위 업무의 HTTP 정보 요청을 웹 어플리케이션 서버에게 발생시, 상기 사용자 컴퓨팅 장치의 플랫폼 엔진에 의해 상기 트랜잭션 단위 업무의 HTTP 정보 요청 시간을 트랜잭션 단위 업무 시작 시간으로 기록하는 제2단계; 상기 웹 어플리케이션 서버에서 상기 트랜잭션 단위 업무의 HTTP 정보 요청에 대한 HTTP 정보 응답을 상기 사용자 컴퓨팅 장치에게 전달하면, 상기 사용자 컴퓨팅 장치에서 상기 플랫폼 엔진에 의해 상기 HTTP 정보 응답을 받은 응답 시간을 트랜잭션 단위 업무 종료 시간으로 기록하는 제3단계; 상기 사용자 컴퓨팅 장치에서 상기 그룹 단위 업무 종료시, 상기 그룹 단위 업무 종료 시간을 그룹 단위 업무 종료 시간으로 기록하는 제4단계; 및 상기 사용자 컴퓨팅 장치에서 저장된 그룹 단위 업무 시작 시간, 그룹 단위 업무 종료 시간, 트랙젝션 단위 업무 시작 시간 및 트랙젝션 단위 업무 종료 시간에 대한 정보를 상기 웹 어플리케이션 서버에 제공하여 데이터베이스에 저장하는 제5단계;를 포함하여 이루어진다.According to one example of the method of the present invention to achieve the above object, the user experience performance monitoring method of the web service according to the present invention, when the user unit unit task request from the user computing device, the group unit task is set the measurement target A first step of recording a request time of the group unit task as a group unit task start time when the task corresponds to a task; When the user computing device generates an HTTP information request of a transaction unit task included in the group unit task to a web application server, the request time of the HTTP information of the transaction unit task is set by the platform engine of the user computing device. Recording in the second step; When the web application server transmits an HTTP information response to the HTTP information request of the transaction unit work to the user computing device, the response time of receiving the HTTP information response by the platform engine at the user computing device ends the transaction unit business end. A third step of recording in time; A fourth step of recording, by the user computing device, the group unit business end time as a group unit business end time when the group unit business ends; And a fifth step of providing the web application server with information about a group unit start time, a group unit end time, a traction unit start time, and a traction unit end time stored by the user computing device in a database. It includes;

상기한 목적을 달성하기 위해 본 발명의 컴퓨팅 장치의 일예에 따르면, 웹 어플리케이션 서버와의 HTTP 요청 및 응답에 따라 웹 서비스 관련 업무를 진행하는 컴퓨팅 장치는, 사용자 체감 응답 시간의 측정 대상 업무에 대응하는 그룹의 그룹 단위 데이터를 저장하는 임시 데이터 저장소와, 상기 그룹에 포함되는 복수 트랜잭션에 대한 각 트랜잭션 단위 데이터를 저장하는 임시 데이터 저장소를 생성하는 생성부와; 각 트랜잭션 별로 HTTP 요청을 상기 웹 어플리케이션 서버에 발생하는 요청 발생부; 상기 웹 어플리케이션 서버로부터의 HTTP 응답을 수신하는 응답 수신부; X-인터넷 기반의 플랫폼 엔진을 사용하여 그룹 단위 업무 요청 시간과 그룹단위 업무 종료 시간 및 상기 HTTP 요청의 발생 시간과, HTTP 응답 수신 시간을 그룹 단위 및 각 트랜잭션 단위의 임시 데이터 저장소에 저장하는 데이터 제공부; 및 상기 플랫폼 엔진을 사용하여 상기 임시 데이터 저장소에 저장된 시간 정보를 관리자 측에 전송하는 전송부를 포함하여 구성된다.According to an example of the computing device of the present invention to achieve the above object, a computing device that performs a web service-related business according to the HTTP request and response with the web application server, corresponding to the task to be measured of the user's haptic response time A generation unit for generating a temporary data store for storing group unit data of a group, and a temporary data store for storing each transaction unit data for a plurality of transactions included in the group; A request generator for generating an HTTP request to the web application server for each transaction; A response receiver for receiving an HTTP response from the web application server; By using the X-Internet based platform engine, data is stored in a temporary data store for each group and each transaction by storing the time of group work request, the time of group work, the time of occurrence of the HTTP request, and the time of receiving the HTTP response. study; And a transmission unit which transmits time information stored in the temporary data store to the manager side using the platform engine.

이상과 같이 본 발명에 따르면, 측정 대상 사용자가 측정 대상의 업무를 사용할때 사용자 체감의 응답 시점을 구분적으로 측정하고, 각 트랜잭션별 인지 시간중에서 어플리케이션 시간 및 네트워크 시간을 구분하고, 웹 서비스의 전체 응답 시간을 사용자 컴퓨팅 장치, 네트워크, 서버, 서버내의 각 구간 등 구간별로 구분하여 측정할 수 있도록 함에 따라, 고가격대의 성능 관리를 위한 전문 툴을 사용하지 않고서도 최소한의 비용 투자만으로 보다 정확하고 사용자 중심의 측정이 가능하고, 사용자가 느낄 수 있는 사용자 체감 응답 시간으로 측정이 이루어지도록 되어 있어서, 사용자 관점에서의 실질적인 체감 성능을 관리할 수 있다는 효과가 있다.As described above, according to the present invention, when the measurement target user uses the task of the measurement target, the response time of the user experience is measured separately, the application time and the network time are divided among the recognition time for each transaction, and the entire web service Response time can be measured by segmenting the user's computing device, network, server, and each section within the server, making it more accurate and user-friendly with minimal cost investment without using specialized tools for high performance management. The central measurement is possible, and the measurement is performed by the user's haptic response time that can be felt by the user, so that the actual haptic performance can be managed from the user's point of view.

또한, 서비스의 전체 응답 시간을 각 구간별로 구분하여 측정할 수 있도록 함에 의해, 응답 시간의 변동에 따라 발생되는 문제의 원인을 신속하고 정확하게 분석하여 대처할 수 있다는 효과가 있다. In addition, it is possible to measure and measure the overall response time of the service for each section, there is an effect that it is possible to quickly and accurately analyze and cope with the cause of the problem caused by the change in the response time.

도 1은 본 발명에 따른 웹 서비스의 사용자 체감 성능 모니터링 시스템에 대한 구성을 나타낸 도면,
도 2a 및 도 2b는 본 발명에 따라 그룹 단위 데이터와, 개별 트랜잭션 단위 데이터가 기록되는 상태를 나타낸 도면,
도 3은 본 발명의 바람직한 실시예에 따라 그룹과 개별 트랜잭션과의 관계를 보여주는 도면,
도 4는 본 발명에 따라 웹 서비스의 발생시 경과되는 각 레이어별 단계를 도식적으로 나타낸 도면,
도 5는 본 발명에 따라 웹 어플리케이션 서버의 모니터링 모듈에 의해 데이터베이스에 저장되는 정보의 형태를 나타낸 도면,
도 6은 본 발명에 따라 데이터베이스 내에서 원시 데이터간의 연결 관계를 도식적으로 나타낸 도면,
도 7은 본 발명의 바람직한 실시예에 따라 웹 서비스의 사용자 체감 시간 측정에 있어서 사용자 컴퓨팅 장치의 소요 시간을 분리하는 상태를 보여주는 도면,
도 8a 및 도 8b는 본 발명에 따라 트랜잭션이 중복적으로 발생한 경우에 각 구간별 소요시간이 분리되는 상태를 도식적으로 나타낸 도면,
도 9는 본 발명에 따른 웹 서비스의 사용자 체감 성능 모니터링 방법에 대한 동작을 설명하는 플로우차트이다.
1 is a diagram showing the configuration of a system for monitoring user experience performance of a web service according to the present invention;
2A and 2B illustrate a state in which group unit data and individual transaction unit data are recorded according to the present invention;
3 illustrates a relationship between a group and an individual transaction according to a preferred embodiment of the present invention;
4 is a diagram schematically illustrating the steps for each layer that elapses when a web service is generated according to the present invention;
5 is a diagram showing the form of information stored in a database by a monitoring module of a web application server according to the present invention;
6 is a diagram schematically illustrating a connection relationship between raw data in a database according to the present invention;
FIG. 7 is a diagram illustrating a state in which time required for a user computing device is separated in measuring user immersion time of a web service according to an exemplary embodiment of the present invention; FIG.
8a and 8b are diagrams showing a state in which the time required for each section is separated when a transaction occurs in duplicate according to the present invention;
9 is a flowchart illustrating the operation of the user experience performance monitoring method of the web service according to the present invention.

이하, 상기한 바와 같이 구성된 본 발명에 대해 첨부도면을 참조하여 상세히 설명한다. Hereinafter, the present invention configured as described above will be described in detail with reference to the accompanying drawings.

즉, 도 1은 본 발명에 따른 웹 서비스의 사용자 체감 성능 모니터링 시스템에 대한 구성을 나타낸 도면이다. That is, FIG. 1 is a diagram illustrating a configuration of a system for monitoring user experience performance of a web service according to the present invention.

도 1에 도시된 바와 같이, 본 발명에 따른 웹 서비스의 사용자 체감 성능 모니터링 시스템은, 관리자 컴퓨팅 장치(10)와, 사용자 컴퓨팅 장치(20), 데이터베이스(30), 웹 어플리케이션 서버(Web Application Server; WAS)(40), WAS 모니터링 모듈(50)로 구성된다. As illustrated in FIG. 1, a system for monitoring user experience performance of a web service according to the present invention includes an administrator computing device 10, a user computing device 20, a database 30, and a web application server; WAS) 40, and WAS monitoring module 50.

상기 관리자 컴퓨팅 장치(10)는 상기 사용자 컴퓨팅 장치(20)를 측정 대상 사용자로서 설정하고, 사용자 컴퓨팅 장치(20)에서 진행되는 특정 업무를 측정 대상 업무로서 설정하여 사용자 체감 응답 시간의 측정이 가능하도록 하고, 사용자 체감 응답 시간 정보 및 트랜잭션 모니터링 값에 대한 정보를 조합하여 전체 응답 시간을 각 서비스 구간별로 구분할 수 있도록 함에 의해, 관리자가 확인 가능하게 표시한다.The manager computing device 10 sets the user computing device 20 as a measurement target user and sets a specific task performed in the user computing device 20 as a measurement target task so that the user's perceived response time can be measured. In addition, by combining user haptic response time information and transaction monitoring values, the total response time can be distinguished by each service interval, so that the administrator can display it.

상기 사용자 컴퓨팅 장치(20)는 상기 관리자 컴퓨팅 장치(10)의 측정 대상 사용자 및 측정 업무 설정시, 상기 설정된 업무를 진행하여 사용자 체감 서비스 시작 시간 및 종료 시간을 각각 기록하고, 각 시간 정보를 상기 웹 어플리케이션 서버(40)에 제공한다.When the user computing device 20 sets the measurement target user and the measurement task of the manager computing device 10, the user computing device 20 proceeds with the set task to record a user haptic service start time and an end time, and records each time information on the web. Provided to the application server 40.

여기서, 상기 사용자 컴퓨팅 장치(20)에는 X-인터넷(eXecutable Internet 또는 eXtended Internet) 기반의 플랫폼 엔진(Platform Engine)이 설치되어 있는 바, 웹 기반 서비스의 제공을 위해 클라이언트-서버 방식의 장점과 웹의 장점을 혼합한 플랫폼 엔진으로서, 예컨대 주식회사 투비소프트에서 제작한 "마이플랫폼(Miplatform)"을 적용하기로 하고, 상기 "마이플랫폼"과 같은 플랫폼 엔진을 기반으로 하여 사용자 체감 응답 시간의 측정 메카니즘을 적용하기로 한다. 한편, 본 발명에서는 "마이플랫폼"을 플랫폼 엔진으로서 적용하고 있지만, 이에 한정되지는 않는 것으로서 다른 어떠한 종류의 범용 플랫폼 엔진을 적용하여도 본 발명의 구성 및 작용이 동일하게 구현 가능하다. Here, the user computing device 20 is provided with a platform engine based on an X-Internet (eXecutable Internet or eXtended Internet), and provides advantages of a client-server method and a web-based service. As a platform engine that combines the advantages, for example, "Miplatform" manufactured by Tobysoft Co., Ltd. is applied, and a measurement mechanism of user's haptic response time is applied based on a platform engine such as "My Platform". Let's do it. Meanwhile, in the present invention, the "my platform" is applied as a platform engine, but the present invention is not limited thereto, and the configuration and operation of the present invention may be equally implemented by applying any other general purpose platform engine.

상기 관리자 컴퓨팅 장치(10)와 상기 사용자 컴퓨팅 장치(20)는 데스크탑 컴퓨터 단말과, 노트북 컴퓨터 단말, 넷북 컴퓨터 단말 등의 컴퓨팅 기기와, 이동통신 단말기, 스마트폰, PDA(Portable Digital Assistant) 단말기 등의 무선 통신 단말기가 모두 적용 가능하다. The administrator computing device 10 and the user computing device 20 may include a desktop computer terminal, a computing device such as a laptop computer terminal, a netbook computer terminal, a mobile communication terminal, a smartphone, a portable digital assistant (PDA) terminal, or the like. All wireless communication terminals are applicable.

상기 데이터베이스(30)는 상기 관리자 컴퓨팅 장치(10)로부터 설정되는 측정 대상 사용자 및 측정 대상 업무의 설정 정보를 저장하고, 상기 웹 어플리케이션 서버(40)로부터 제공되는 사용자 체감의 시간 정보와, 트랜잭션 모니터링 정보를 저장함과 더불어, 전체 응답 시간의 각 구간별 구분을 위해 상기 시간 정보 및 트랜잭션 모니터링 정보를 상기 관리자 컴퓨팅 장치(10)에서 조합할 수 있도록 제공한다. The database 30 stores setting information of the measurement target user and the measurement target task set from the manager computing device 10, time information of the user experience provided from the web application server 40, and transaction monitoring information. In addition, the manager computing device 10 may combine the time information and the transaction monitoring information with each other in order to store each and every section of the overall response time.

상기 웹 어플리케이션 서버(40)는 상기 사용자 컴퓨팅 장치(20)의 특정 업무 개시에 따라 HTTP 요청(Request)를 받고 그에 대한 HTTP 응답(Response) 정보를 제공하여 서비스 시작 시간 및 종료 시간이 산정되도록 하고, 상기 서비스 시간 정보를 상기 데이터베이스(30)에 제공한다. The web application server 40 receives an HTTP request according to a specific business start of the user computing device 20 and provides HTTP response information to calculate a service start time and an end time. The service time information is provided to the database 30.

상기 WAS 모니터링 모듈(50)은 상기 웹 어플리케이션 서버(40)에 내장되어, 웹 서비스를 기반으로 하는 해당 웹 어플리케이션 서버(40)의 HTTP 요청 인입 및 응답 전송 시점을 인지하여 그 결과에 따라 트랜잭션 처리에 소요되는 시간을 나타내는 HTTP 트랜잭션 모니터링 정보를 상기 데이터베이스(30)에 제공한다. The WAS monitoring module 50 is embedded in the web application server 40 to recognize the timing of HTTP request incoming and response transmission of the corresponding web application server 40 based on the web service, and accordingly the transaction processing is performed according to the result. HTTP transaction monitoring information indicating the time required is provided to the database 30.

여기서, 상기 WAS 모니터링 모듈(50)은 상기 웹 어플리케이션 서버(40) 내에 내장되어 있도록 하고 있지만, 본 발명은 이에 한정되지는 않는 것으로서, 상기 웹 어플리케이션 서버(40)와는 별도로 모니터링을 위한 모듈 장치 형태로 구비할 수도 있고, 상기 웹 어플리케이션 서버(40)와는 별도의 다른 응용 서버에 구비하는 것도 얼마든지 가능함은 물론이다. Here, the WAS monitoring module 50 is to be embedded in the web application server 40, but the present invention is not limited to this, in the form of a module device for monitoring separately from the web application server 40. It may be provided, of course, it is also possible to include in any other application server separate from the web application server 40.

본 발명에서는 첫째로, 사용자 체감 응답 시간의 측정을 진행하기 앞서 상기 사용자 컴퓨팅 장치(20)의 플랫폼 엔진 단에서 해당 사용자 컴퓨팅 장치(20)의 로컬(Local) 임시 데이터 저장 영역에 체감 시간 측정과 관련된 데이터를 저장할 수 있는 임시 저장소를 생성하는 사용자 페이지의 구성 과정을 우선적으로 진행한 다음에, 둘째로, 상기 관리자 컴퓨팅 장치(10)에서 응답 시간의 측정 대상자를 선정하고, 측정 대상 업무를 온/오프(On/Off) 제어를 통해 선택할 수 있도록 하며, 셋째로 상기 WAS 모니터링 모듈(50)에서 해당 웹 어플리케이션 서버(40)에 대한 서비스 소요시간을 인지하여 저장하도록 하고, 넷째로, 상기 데이터베이스(30)에 저장된 원시 데이터를 조합하여 사용자 체감 응답시간을 연산하도록 한다. First, in the present invention, before the measurement of the user haptic response time, the platform engine stage of the user computing device 20 relates to the haptic time measurement in the local temporary data storage area of the user computing device 20. First, the configuration process of a user page for creating a temporary storage for storing data is first performed, and secondly, the manager computing device 10 selects a measurement target of response time and turns on / off a measurement target task. Third, the WAS monitoring module 50 recognizes and stores the service time required for the web application server 40. Fourth, the database 30 may be selected through control (On / Off). Combine the raw data stored in to calculate the user's haptic response time.

도 2a에 도시된 바와 같이, 상기 사용자 컴퓨팅 장치(20)는 소정의 로컬 임시 데이터 저장소에 그룹 단위의 데이터(즉, 그룹 ID, 업무 코드, 시작 시간, 종료 시간 등)를 기록할 수 있는 저장 영역을 생성하고, 도 2b에 도시된 바와 같이 상기 그룹에 속하는 개별 트랜잭션 단위의 데이터(즉, 그룹 ID, 트랜잭션 ID, 시작 시간, 종료 시간, 네트워크(NW) 시작 시간, 네트워크(NW) 종료 시간 등)를 기록할 수 있는 저장 영역을 생성한다. 단, 상기 도 2a 및 도 2b에 도시된 레코드(Record)의 수가 제한적으로 예시되었지만, 이에 한정되지는 않는 것으로 레코드의 수는 HTTP 트랜잭션의 발생에 따라 가변적으로 가감 적용될 수 있다. As shown in FIG. 2A, the user computing device 20 may store a group unit of data (ie, group ID, work code, start time, end time, etc.) in a predetermined local temporary data store. 2b, data of individual transaction units belonging to the group (ie, group ID, transaction ID, start time, end time, network (NW) start time, network (NW) end time, etc.) as shown in FIG. Create a storage area where you can record. However, although the number of records shown in FIGS. 2A and 2B is exemplarily limited, the present invention is not limited thereto. The number of records may be variably applied or decremented according to the occurrence of an HTTP transaction.

상기 "그룹(Group)"은 측정 대상으로 설정되는 각 업무의 단위를 의미하는 것으로서, 사용자의 관점에서는 개별 트랜잭션 단위가 아니라 해당 업무 단위로 파악할 수 있기 때문에 그룹의 개념을 도입하기로 한다. 또한, 상기 "트랜잭션(Transaction)"은 특정 업무의 진행시 해당 업무에 대해 가질 수 있는 복수개의 개별 HTTP 트랜잭션 단위를 의미하는 것이다. The term "group" refers to a unit of each task set as a measurement target, and from the user's point of view, the concept of a group will be introduced because it can be understood as a unit of a task rather than an individual transaction unit. In addition, the "transaction" refers to a plurality of individual HTTP transaction units that can have a corresponding task in the progress of a particular task.

상기 로컬 임시 데이터 저장소에서는 트랜잭션의 발생시마다 시작 시간과 종료 시간을 저장할 수 있도록 되어 있는 바, 주기적으로 백그라운드(Back-Ground) HTTP 요청이 발생할때마다 해당 로컬 임시 데이터 저장소의 데이터를 읽어들여서 상기 웹 어플리케이션 서버(40)에 전송함에 의해 상기 데이터가 데이터베이스(30)에 저장될 수 있도록 하고, 상기 데이터베이스(30)로 전송이 완료된 데이터는 해당 임시 데이터 저장소에서 소거 처리될 수 있도록 한다. The local temporary data store stores a start time and an end time for each transaction occurrence. Whenever a back-ground HTTP request occurs, the web application reads data from the local temporary data store periodically. The data is transmitted to the server 40 so that the data can be stored in the database 30, and the data transferred to the database 30 can be erased in the temporary data store.

상기 사용자 컴퓨팅 장치(20)에서는 그룹 단위의 시작 시점과 종료 시점 간의 시간 간격을 구하는 작업을 수행하게 되는 바, 이는 통상적으로 사용자가 인터넷 웹페이지의 조회 등과 같은 특정 업무를 진행할때 프로그램 메뉴의 선택이나 웹페이지내 링크 버튼의 클릭 시점을 시작 시점으로 하고, 해당 업무가 종료되었다고 판단되는 시점이 컴퓨터의 모니터 화면 상에 해당 웹페이지가 완전히 로딩되어 표시되는 시점으로 하는 것을 전제로 한다. The user computing device 20 performs a task of obtaining a time interval between a start point and an end point of a group unit, which is typically selected by a program menu when a user performs a specific task such as inquiry of an Internet web page. It is assumed that the point in time when the link button in the web page is clicked is a start point, and the point in time when it is determined that the task is finished is a point in time when the corresponding web page is completely loaded and displayed on the monitor screen of the computer.

이를 위해, 상기 사용자 컴퓨팅 장치(20)에서는 상기 웹 어플리케이션 서버(40)와의 작업에 따라 그룹 단위의 데이터 관리를 위해 시작 시간과 종료 시간을 기록하는 함수를 생성하게 되는 바, 하기한 표 1에서는 그룹 단위의 시작 시간 및 종료 시간을 기록하기 위한 의사 로직(Pseudo Logic)을 나타내고 있다. To this end, the user computing device 20 generates a function for recording a start time and an end time for managing data in a group unit according to the work with the web application server 40. Pseudo logic for recording the start time and end time of the unit is shown.


StartGroup(업무코드) {
시작시간 생성; // 호출시간, 1/1000초 단위 그룹ID
생성; // IP, 현재시간, 시퀀스 조합 임시 데이터 저
장소에 레코드 생성 및 저장; 글로벌 변수에 그룹ID
저장;
}

StartGroup (business code) {
Start time generation; // call time, group ID in 1/1000 second
produce; // save temporary data of IP, current time, sequence combination
Creating and storing records in place; Group ID in global variable
Save;
}

EndGroup(업무코드) {
종료시간 생성; // 호출시간, 1/1000초 단위 임시
데이터 저장소에 동일 그룹ID 레코드에 종료시간
업데이트; 글로벌 변수 clear;
}

EndGroup (work code) {
End time generation; // call time, temporary in 1/1000 second
End time in the same group ID record in the data store
update; Global variable clear;
}

상기 표 1에 나타낸 두가지의 함수는 공통 라이브러리로 생성하며, 소스상 필요한 곳에서 호출할 수 있도록 한다. The two functions shown in Table 1 are created as a common library and can be called from where they are needed in the source.

상기 의사 로직에서는 업무가 시작되는 시점에 해당 소스에서 StartGroup() 함수를 호출함으로써 사용자 체감 응답 시간 측정을 개시하도록 하고, 업무가 완전히 종료되는 소스상의 위치에서 EndGroup() 함수를 호출함에 의해 사용자 체감 시간을 구하도록 한다. 사용자 체감의 종료 시간은 해당 업무에 대한 결과 페이지가 상기 사용자 컴퓨팅 장치(20)의 모니터 화면 상에 최종적으로 출력되는 시점 또는 업무의 처리 완료를 알리는 팝업창(Pop-Up Window)이 표출되는 시점에 해당된다. In the pseudo logic, the user's haptic time is measured by calling the StartGroup () function at the source when the task starts, and the EndGroup () function is called at the position on the source where the task is completely terminated. To get. The end time of the user experience corresponds to a point in time when a result page of the task is finally output on the monitor screen of the user computing device 20 or a point of time when a pop-up window indicating the completion of the task is displayed. do.

한편, 상기 그룹 ID는 상기 데이터베이스(30) 내에서 유일하게 보장될 수 있는 인덱스에 해당되는 것으로서, StartGroup() 함수에서 그룹 ID를 생성하는 경우에는, IP와 현재 시간, 상기 사용자 컴퓨팅 장치(20) 내에서 자체 관리하는 시퀀스(Sequence)를 조합하여 적어도 25자리 이상의 코드 조합으로 생성한다. 업무 코드는 사전적으로 정의되며, 해당 업무에 일치하는 소스상의 위치에서는 정해진 업무 코드로 StartGroup() 함수를 호출하도록 한다. Meanwhile, the group ID corresponds to an index which can be guaranteed only in the database 30. When generating a group ID in the StartGroup () function, the group ID is the IP, the current time, and the user computing device 20. It generates a combination of at least 25 digits or more by combining sequences managed by itself. The task code is defined in advance, and the StartGroup () function should be called with the designated task code at a location matching the task.

또한, 상기 사용자 컴퓨팅 장치(20)는 각 그룹에 포함되는 복수개의 단위 트랜잭션에 대한 데이터 관리를 위해 개별 트랜잭션이 발생하는 시점과 종료되는 시점을 기록하는 함수를 생성하게 되는 바, 하기한 표 2에서는 트랜잭션 단위의 시작 시점 및 종료 시점을 기록하기 위한 의사 로직을 나타내고 있다. In addition, the user computing device 20 generates a function for recording a time point at which an individual transaction occurs and an end time point for data management of a plurality of unit transactions included in each group. Pseudo logic for recording the start and end points of a transaction unit is shown.


StartTransaction() {
시작시간 생성; // 호출시간, 1/1000초 단위 트랜잭션ID
생성; // IP, 현재시간, 시퀀스 조합 임시 데이터 저
장소에 레코드 생성 및 저장; 어트리뷰트 설정 (trid); // http request에 삽입
}

StartTransaction () {
Start time generation; // call time, transaction ID in 1/1000 second
produce; // save temporary data of IP, current time, sequence combination
Creating and storing records in place; Attribute setting (trid); // insert into http request
}

EndTransaction() {
종료시간 생성; // 호출시간, 1/1000초 단위 임시
데이터 저장소에 동일 그룹ID 레코드에 종료시간
업데이트;
}

EndTransaction () {
End time generation; // call time, temporary in 1/1000 second
End time in the same group ID record in the data store
update;
}

상기 표 2에서 두가지의 함수는 공통 라이브러리로 생성하고, 소스상 필요한 곳에서 호출할 수 있도록 되어 있다.In Table 2, the two functions are created as a common library and can be called from the source.

각 업무에는 복수개의 요청(Request) 처리로 이루어질 수 있고, 그룹이 사용자 체감 업무의 시작과 종료를 표현하는 반면에, 개별 트랜잭션의 경우는 실제적인 HTTP 트랜잭션을 지칭한다. 개별 트랜잭션이 발생하는 시점에서 StartTransaction() 함수를 호출하여 도 2b에 도시된 바와 같은 로컬 임시 데이터 저장소에 시작 시간을 기록하고, 서버로부터의 응답(Response)을 수신하여 콜백(Callback)이 호출되는 시점에 EndTransaction() 함수를 호출하여 종료 시간을 기록한다. Each task can consist of multiple request processing, while the group represents the start and end of user experience tasks, while the individual transaction refers to the actual HTTP transaction. When individual transactions occur, call StartTransaction () to record the start time in the local temporary data store as shown in Figure 2b, and when the callback is called by receiving a response from the server. Call the EndTransaction () function to record the end time.

상기 트랜잭션 ID의 생성은 상기 그룹 ID의 생성 방식과 동일하게, StartTransaction() 함수에서 IP와, 현재 시간, 해당 사용자 컴퓨팅 장치(20) 내의 자체 관리 시퀀스를 조합하여 적어도 25자리 이상의 코드를 생성하고, StartTransaction()에서는 로컬 임시 데이터 저장소에 시간을 기록할때 글로벌 변수에 기록되어 있는 그룹 ID를 함께 저장하여, 해당 트랜잭션이 속하는 그룹을 정확히 인식할 수 있도록 한다. The generation of the transaction ID is the same as the method of generating the group ID, in the StartTransaction () function combines the IP, the current time, the self-managed sequence in the user computing device 20 generates at least 25 digits of code, StartTransaction () saves the group ID recorded in the global variable when recording the time in the local temporary data store, so that the group to which the transaction belongs can be recognized correctly.

또한, 상기 표 2에서는 개별 트랜잭션이 발생하는 시점에서 어트리뷰트 설정인 setAttribute()를 통해 HTTP 요청 오브젝트에 어트리뷰트(Attribute)를 삽입할 수 있도록 표현할 수 있고, 이는 "trid(트랜잭션 ID)"와 같은 이름으로 어트리뷰트를 설정하며, 각 어트리뷰트 이름은 trid에만 한정되지 않고 다양하게 설정이 가능하다. In addition, in Table 2, when an individual transaction occurs, an attribute setting, setAttribute (), can be expressed so that an attribute can be inserted into an HTTP request object, which is named as “trid (transaction ID)”. Set the attribute. Each attribute name is not limited to trid but can be configured in various ways.

한편, 도 3에서는 그룹과 트랜잭션과의 관계를 예시적으로 나타내고 있는데, 하나의 그룹에 2개의 개별 트랜잭션이 존재하는 경우를 일예로 하여 나타낸 것이다. 동 도면에서는 하나의 그룹에 대한 시작 시간에서의 StartGroup() 함수 호출로부터 종료 시간에서의 EndGroup() 함수 호출의 시점 사이에, 각 개별 트랜잭션 별로 시작 시점에서의 StartTransaction() 호출과, 종료 시점에서의 EndTransaction() 함수 호출을 진행한다. Meanwhile, FIG. 3 exemplarily shows a relationship between a group and a transaction, and illustrates an example in which two separate transactions exist in one group. In the figure, between the call of the StartGroup () function at the start time for one group to the time of the EndGroup () function call at the end time, the StartTransaction () call at the start time for each individual transaction and the Proceed with calling EndTransaction () function.

상기 사용자 컴퓨팅 장치(20)는 플랫폼 엔진 단에서 HTTP 요청 및 응답이 발생되는 경우에 소요되는 시간을 측정하게 되는 바, 도 4에 도시된 바와 같이 HTTP 요청 및 응답이 발생할때 어플리케이션 레이어로부터 플랫폼 엔진 레이어를 거쳐서 TCP 네트워크 연동을 진행하게 된다. 상기 사용자 컴퓨팅 장치(20)에서의 그룹 단위 시작 시간 및 종료 시간은 도면의 제1시점에 해당되고, 개별 트랜잭션 단위의 시작 시간 및 종료 시간은 도면의 제2시점에 해당된다. The user computing device 20 measures the time required when an HTTP request and response are generated in the platform engine. As shown in FIG. TCP network interworking will proceed through. The group unit start time and end time in the user computing device 20 correspond to the first point in the drawing, and the start time and end time of the individual transaction unit correspond to the second point in the drawing.

즉, 상기 사용자 컴퓨팅 장치(20)에서 개별 트랜잭션 별로 StartTransaction()을 호출하는 경우에도 실질적으로 플랫폼 엔진 레이어를 거치게 되며, 이 경우에 플랫폼 엔진에서의 로직에 의해 최종적으로 네트워크 인터페이스 카드(Network Interface Card; NIC)로 요청이 발생할 때의 시점을 기록할 수 있도록 한다. That is, even when the user computing device 20 calls StartTransaction () for each transaction, the user computing device 20 substantially passes through the platform engine layer. In this case, a network interface card is finally generated by logic in the platform engine. NIC) allows you to record when a request occurs.

상기 사용자 컴퓨팅 장치(20)는 요청을 발생할때와 응답을 수신할 때마다 도 2b에 도시된 로컬 임시 데이터 저장소의 동일 그룹 ID 및 트랜잭션 ID를 갖는 레코드에 네트워크 시작 시간과, 네트워크 종료 시간을 업데이트하도록 한다. The user computing device 20 updates the network start time and the network end time in a record having the same group ID and transaction ID of the local temporary data store shown in FIG. 2B each time a request is made and a response is received. do.

또한, 상기 사용자 컴퓨팅 장치(20)는 플랫폼 엔진 하에서 주기적으로 백그라운드 HTTP 요청을 발생시켜서 임시 데이터 저장소에 저장된 정보가 상기 데이터베이스(30)에 저장되도록 하게 되는데, 백그라운드 HTTP 요청이 발생하는 시점에서 임시 데이터 저장소 내의 각 레코드별 컬럼이 채워지지 않으면, 해당 정보를 상기 데이터베이스(30)에 전송하지 않는 대신에 다음 주기가 돌아올때 전송하도록 한다. In addition, the user computing device 20 periodically generates a background HTTP request under a platform engine so that the information stored in the temporary data store is stored in the database 30. At the time of the background HTTP request, the temporary data store is generated. If the column for each record in the table is not filled, the corresponding information is not transmitted to the database 30, but is transmitted when the next cycle returns.

상기 WAS 모니터링 모듈(50)은 상기 웹 어플리케이션 서버(40)에서의 트랜잭션 처리 과정을 모니터링하기 위한 것인 바, 상기 웹 어플리케이션 서버(40)에 인입되는 요청에서 "trid"(즉, 어트리뷰트 이름)가 발견되면, 해당 트랜잭션이 사용자 체감 응답 시간 대상자인 상기 사용자 컴퓨팅 장치(20)에서 발생한 것으로 인식하여 상기 웹 어플리케이션 서버(40) 내에서 소요되는 시간(즉, HTTP 요청이 발생하는 시점으로부터 HTTP 응답이 발생하는 시점까지의 소요 시간)을 상기 데이터베이스(30)에 추가적으로 저장하도록 한다. The WAS monitoring module 50 is for monitoring a transaction processing process in the web application server 40. In the request incoming to the web application server 40, "trid" (that is, attribute name) is added. If found, the transaction is recognized as occurring in the user computing device 20, which is a user response response time subject, and the HTTP response occurs from the time when the HTTP request occurs in the web application server 40. The time required until the time) to be additionally stored in the database (30).

또한, 상기 WAS 모니터링 모듈(50)은 웹 어플리케이션 서버(40) 내에서 소요되는 시간을 인지하는 기능 뿐만 아니라, 해당 웹 어플리케이션 서버(40) 내에서 처리에 소요되는 시간을 구간별로 구분할 수 있도록 하는데, 구간별 구분 요소는 SQL(Structured Query Language) 실행 시간, 데이터베이스 대기 시간, 비지니스 로직 처리 시간, 레거시 시스템(Legacy System) 연동 시간 등을 주요 요소로서 설정하는 것이 바람직하고, 상기 데이터베이스(30)로의 정보 전송은 건별로 실시간으로 전송할 수도 있고, 일정 주기마다 전송할수도 있다.In addition, the WAS monitoring module 50 not only functions to recognize the time required in the web application server 40, but also allows to distinguish the time required for processing in the corresponding web application server 40 by section. As the division element for each section, it is preferable to set the structured query language (SQL) execution time, database wait time, business logic processing time, legacy system (Legacy System) interworking time, etc. as main factors, and transmit information to the database 30. Can be transmitted in real time on a case-by-case basis, or can be transmitted at regular intervals.

도 7에서는 상기 WAS 모니터링 모듈(50)로부터 전송된 정보가 상기 데이터베이스(30)에 저장된 형태를 나타낸 것으로서, 각 레코드별로 트랜잭션 ID와, 웹 어플리케이션 서버의 총 소요시간, 각 구간별 소요시간을 기록할 수 있도록 한다. In FIG. 7, the information transmitted from the WAS monitoring module 50 is stored in the database 30. The transaction ID, total time required of the web application server, and time required for each section may be recorded for each record. To help.

그에 따라, 상기 데이터베이스(30)에는 도 2a 및 도 2b에 도시된 바와 같은 그룹 단위의 응답 시간 데이터와 개별 트랜잭션 단위의 응답 시간 데이터가 저장됨과 더불어, 상기 WAS 모니터링 모듈(50)에서 측정된 웹 어플리케이션 서버 내의 처리 시간에 대한 데이터가 저장되어 있다. Accordingly, the database 30 stores the response time data in group units and the response time data in individual transaction units as shown in FIGS. 2A and 2B, and the web application measured by the WAS monitoring module 50. Data on the processing time in the server is stored.

도 6에는 상기 데이터베이스(30)에 형성되어 있는 그룹 데이터 저장 테이블(Group_Data_Table)과, 개별 트랜잭션 데이터 저장 테이블(Transaction_Data_Table), 웹 어플리케이션 서버(WAS) 처리 데이터 저장 테이블(WAS_Data_Table)이 나타나 있다. 6 shows a group data storage table (Group_Data_Table), an individual transaction data storage table (Transaction_Data_Table), and a web application server (WAS) process data storage table (WAS_Data_Table) formed in the database 30.

상기 관리자 컴퓨팅 장치(10)는 도 6에 도시되어 있는 데이터베이스(30)의 데이터 저장 테이블 중에서, 그룹 데이터 저장 테이블만으로 사용자 체감 응답 시간을 구할 수 있고, 그룹 데이터 저장 테이블과 개별 트랜잭션 데이터 저장 테이블 간의 그룹 ID를 이용한 연결(Join) 처리와, 개별 트랜잭션 데이터 저장 테이블과 WAS 처리 데이터 저장 테이블 간의 트랜잭션 ID를 이용한 연결(Join) 처리를 통해서 각 구간별 소요시간을 구할 수 있도록 하고 있어서, 이를 통해 관리자가 사용자 체감 응답 시간의 변동이나, 문제가 발생된 구간 및 해당 문제 구간의 원인까지 파악이 가능하다. The manager computing device 10 may obtain the user's haptic response time only from the group data storage table among the data storage tables of the database 30 shown in FIG. 6, and between the group data storage table and the individual transaction data storage table. Join processing using ID and join processing using transaction ID between individual transaction data storage table and WAS processing data storage table allow time to be calculated for each section. It is possible to determine the fluctuation of haptic response time, the section where the problem occurs, and the cause of the problem section.

트랜잭션의 네트워크 구간과 서버 구간을 분리하고자 하는 경우에는, 트랜잭션 데이터 테이블에서 1개의 트랜잭션이 발생할 때마다 상기 사용자 컴퓨팅 장치(20)의 플랫폼 엔진단에서 측정되는 네트워크 시작 시간과 네트워크 종료 시간(도 2b 참조) 사이의 차이로부터 "네트워크 구간 + 서버 구간"의 소요시간을 구하고, WAS 처리 데이터 저장 테이블로부터 웹 어플리케이션 서버(40) 내에서 소요되는 총 시간 및 웹 어플리케이션 서버(40) 내에서의 구간별 시간을 분리한다(도 5 참조). When the network section and the server section of the transaction are to be separated, the network start time and the network end time measured by the platform engine terminal of the user computing device 20 whenever one transaction occurs in the transaction data table (see FIG. 2B). The time required for the "network section + server section" is obtained from the difference between the above and the WAS processing data storage table, and the total time spent in the web application server 40 and the time for each section in the web application server 40 are calculated. Remove (see FIG. 5).

웹 어플리케이션 서버의 총 시간을 서버 시간으로 한 상태에서, 개별 트랜잭션 데이터 저장 테이블과 WAS 처리 데이터 저장 테이블을 연결하면, 네트워크 구간의 시간과 서버 구간의 시간을 분리해낼 수 있는 것이다. 단, 웹 서비스를 위해서는 여타 웹 서비스용 웹서버(도시되지 않음)를 경유하도록 되어 있어서, 실질적으로 웹 어플리케이션 서버 내의 소요 시간과 웹서버에서 소요된 시간을 포함하는 것이 정확하지만, 웹서버에서 소요되는 시간은 웹 어플리케이션 서버의 소요시간에 비해서 상대적으로 상당히 작기 때문에 무시하도록 한다. By connecting the individual transaction data storage table and the WAS processing data storage table with the total time of the web application server as the server time, it is possible to separate the time between the network section and the server section. However, since the web service is provided through a web server for other web services (not shown), it is accurate to include the time spent in the web application server and the time spent in the web server. The time is relatively small compared to the web application server time, so it should be ignored.

또한, 트랜잭션이 중복됨이 없이 순차적으로 발생하는 상태에서 상기 사용자 컴퓨팅 장치(20)에 대한 소요 시간을 분리하고자 하는 경우에, 상기 관리자 컴퓨팅 장치(10)에서는 상기 데이터베이스(30)의 그룹 데이터 저장 테이블과 개별 트랜잭션 데이터 저장 테이블을 조합함에 의해 측정 대상인 사용자 컴퓨팅 장치의 소요 시간을 구할수 있게 되는 바, 전체 그룹의 시작 시점과 종료 시점 사이에서 개별 트랜잭션이 차지하는 시간을 제외한 나머지 시간을 사용자 컴퓨팅 장치의 소요 시간으로서 산정할 수 있다. In addition, in the case where the transaction time is to be separated and the time required for the user computing device 20 is sequentially separated, the manager computing device 10 may store the group data storage table of the database 30. By combining the table with the individual transaction data storage table, the time required for the user computing device to be measured can be obtained. The time required for the user computing device for the remaining time except the time taken by the individual transaction between the start point and the end point of the entire group can be obtained. It can be calculated as time.

사용자 컴퓨팅 장치의 소요 시간에는 순전히 사용자 컴퓨팅 장치에서 소요되는 애플리케이션 처리시간(예를 들면 자바스크립트 로직 처리 등)이 포함되는데, 측정대상 업무의 사용자 체감 시간을 측정하는데 있어 무시할 수 없는 요소이다.The time required for the user computing device includes application processing time (for example, JavaScript logic processing, etc.) that is purely spent on the user computing device, which cannot be ignored in measuring the user experience time of the task to be measured.

한편, 사용자 컴퓨팅 장치(20)에서 소요되는 시간을 분리하는 것은 두가지 방식으로 나누어질 수 있는데, 도 7에 도시된 바와 같이 첫째로, 어플리케이션 처리 시간(a + d + g)과 플랫폼 엔진 처리시간(b + c + e + f)으로부터 분리하거나, 둘째로 전체 시간(a + b + c + d + e + f + g)에서 사용자 컴퓨팅 장치에서 소요되는 시간만을 고려할 수 있다. 이는 선호도에 따라 첫번째 방식 또는 두번째 방식을 선택적으로 사용할 수 있다. On the other hand, separating the time spent in the user computing device 20 can be divided into two ways, as shown in Figure 7, first, the application processing time (a + d + g) and the platform engine processing time ( b + c + e + f) or, secondly, only the time spent on the user computing device in the total time (a + b + c + d + e + f + g). This may selectively use the first method or the second method according to the preference.

그 반면에, 복수개의 트랜잭션이 중복적으로 발생하는 상태에서, 상기 사용자 컴퓨터 장치(20)의 소요 시간을 분리하고자 하는 경우에, 도 8a에 도시된 바와 같이 웹 서비스시에 전체 사용자 체감 응답 시간에 대해서 비동기적인 형태로 개별적 트랜잭션이 중복적으로 발생하는 것이 예시적으로 나타나 있다. On the other hand, in a state where a plurality of transactions occur in duplicate, and when the time required of the user computer device 20 is to be separated, as shown in FIG. It is shown by way of example that an individual transaction overlaps in an asynchronous manner.

도 8a에 도시된 바와 같이 복수개의 트랜잭션이 중복적으로 발생하는 상태에서는, 5가지의 절차를 진행하여 구간별 소요시간을 계산하게 된다. As shown in FIG. 8A, in a state in which a plurality of transactions are overlapped, five procedures are performed to calculate a time required for each section.

1) 도 8b에 도시된 바와 같이, 각 개별 트랜잭션 응답 시간을 중복이 없이 순차적으로 발생하는 것으로 가정하여 재배열함에 의해 중복이 없는 상태로 일렬로 나열하게 된다.1) As shown in FIG. 8B, it is assumed that each individual transaction response time is sequentially generated without overlap, and arranged in a line without overlap by rearranging.

2) 그후, 중복없이 일렬로 나열된 각 트랜잭션 시간의 합(이하, "T"라 함)을 전체 사용자 체감 응답 시간과 비교하여, "T"가 전체 사용자 체감 응답 시간보다 크면 상기 "T"(즉, 각 트랜잭션 시간의 합)를 기준 시간으로 설정하고, "T"가 전체 사용자 체감 응답 시간보다 작으면 상기 전체 사용자 체감 응답 시간을 기준 시간으로 설정한다. 2) Thereafter, the sum of each transaction time listed in a line without duplication (hereinafter referred to as "T") is compared with the total user experience response time, and if "T" is greater than the total user experience response time, the "T" (i.e., , Sum of each transaction time) is set as the reference time, and if "T" is less than the total user haptic response time, the total user haptic response time is set as the reference time.

3) 그 다음에, 도 7에 도시된 것과 동일한 방식으로, 전체 사용자 체감 응답 시간 또는 "T"에 의해 결정되는 기준 시간에서 사용자 컴퓨팅 장치(20)의 어플리케이션 소요 시간과, 네트워크 소요 시간, 서버 시간을 각 구간별로 분리하게 되는데, 만일 "T"가 전체 사용자 체감 응답 시간보다 작아서 전체 사용자 체감 응답 시간이 기준 시간으로 설정된 경우에는, 전체 사용자 응답 시간에서 각 트랜잭션 시간의 합인 "T"를 감산(사용자 체감 응답 시간 - T)하고, 그 감산 결과로 산출된 시간을 사용자 컴퓨팅 장치(20)의 어플리케이션 소요 시간에 포함시킨 상태에서, 도 7과 같이 각 시간을 구간별로 분리한다. 3) Then, in the same manner as shown in FIG. 7, the application time of the user computing device 20, the network time, and the server time at the reference time determined by the overall user haptic response time or "T". If the "T" is smaller than the total user haptic response time and the total user haptic response time is set as the reference time, "T" which is the sum of each transaction time is subtracted from the total user response time (user Sensory response time-T), and the time calculated as a result of the subtraction is included in the application required time of the user computing device 20, and each time is separated for each section as shown in FIG.

4) 또한, 상기 2)번 절차에서 기준값으로 설정된 기준 시간을 대상으로 하여 압축률을 계산하게 되는 바, 복수개의 트랜잭션이 순차적으로 발생하는데 소요된 시간을 "N"으로 정의하고, 트랜잭션이 중복적으로 겹쳐서 발생함에 의한 실제 체감 시간을 "M"으로 정의한 경우, "M/N"을 압축률로 정의하여 해당 압축률을 산출한다. 즉, 기준 시간을 분모로 하고, 사용자 체감 응답 시간을 분자로 하여 나누게 되면, 압축률이 계산될 수 있다.4) In addition, the compression rate is calculated based on the reference time set as the reference value in step 2). As a result, the time taken for the plural transactions to occur sequentially is defined as "N", and the transaction is duplicated. When the actual haptic time due to overlapping is defined as "M", the compression rate is calculated by defining "M / N" as the compression rate. That is, when the reference time is used as the denominator and the user's haptic response time is divided by the numerator, the compression ratio can be calculated.

5) 그 다음에, 상기 4)번 절차에서 구해진 압축률에 따라서 상기 3)번 절차에서 계산한 각 구간별 소요시간을 재 계산하게 되는 바, 상기 3)번 절차에서 각각 계산한 구간별 소요시간에 상기 압축률을 곱하여 구간별 시간을 재 계산한다. 5) Next, the time required for each section calculated in step 3) is recalculated according to the compression rate obtained in step 4). The time required for each section calculated in step 3) is recalculated. The time for each section is recalculated by multiplying the compression rate.

여기서, 상기 압축률이란, 각 개별 트랜잭션의 소요 시간의 합이 실제 소요된사용자 체감의 응답시간보다 큰 경우, 개별 트랜잭션이 일렬로 나열되어 호출된 것처럼 가정하여 각 구간별 소요 시간을 계산하고, 실제 응답 시간에 맞게 그 비율만큼 줄여야 한다는 것을 의미하는 것이다.In this case, the compression ratio means that when the sum of the time required for each individual transaction is larger than the response time of the actual user experience, the time required for each section is calculated on the assumption that the individual transactions are listed and arranged in a line, and the actual response. That means reducing that ratio in time.

이어, 상기한 바와 같이 이루어진 본 발명의 동작에 대해 도 9의 플로우차트를 참조하여 상세히 설명한다. Next, the operation of the present invention made as described above will be described in detail with reference to the flowchart of FIG.

먼저, 관리자 컴퓨팅 장치(10)에서는 측정 대상 사용자로서 사용자 컴퓨팅 장치(20)를 설정하고, 해당 사용자 컴퓨팅 장치(20)의 측정 대상 업무를 설정하여 그 설정 정보를 데이터베이스(30)에 저장한다(단계 S10).First, the manager computing device 10 sets the user computing device 20 as a measurement target user, sets a measurement target task of the user computing device 20, and stores the setting information in the database 30 (step). S10).

상기 사용자 컴퓨팅 장치(20)는 도 2a에 도시된 바와 같이 그룹 단위의 데이터가 저장될 수 있도록 하고, 도 2b에 도시된 바와 같이 그룹에 포함되는 개별 트랜잭션 단위 데이터가 저장될 수 있도록 하기 위해, 내부의 메모리 영역에 로컬 임시 데이터 저장소를 생성한 상태에서, 상기 관리자 컴퓨팅 장치(10)에서 측정 대상 업무로서 설정된 그룹 단위의 업무를 시작하게 되고, 해당 그룹 단위 업무에 대한 업무 시작 시간을 로컬 임시 데이터 저장소에 기록하여 저장한다(단계 S11).The user computing device 20 may be configured to store data in group units as shown in FIG. 2A and to store individual transaction unit data included in a group as shown in FIG. 2B. In the state where the local temporary data store is created in the memory area of the manager, the manager computing device 10 starts a task of a group unit set as a task to be measured, and sets a start time of a task for the group unit task to a local temporary data store. The data is recorded and stored in step S11.

그 상태에서, 상기 사용자 컴퓨팅 장치(20)는 상기 그룹단위 업무에 포함되는 트랜잭션에 대한 HTTP 요청 발생시에 트랜잭션 단위의 업무 시작 시간을 로컬 임시 데이터 저장소에 기록하여 저장하고(단계 S12), 트랜잭션의 HTTP 요청을 웹 어플리케이션 서버(40)에 전송한다(단계 S13).In this state, the user computing device 20 records and stores the work start time of a transaction unit in a local temporary data store when an HTTP request for a transaction included in the group unit work is generated (step S12), and the HTTP of the transaction is stored. The request is sent to the web application server 40 (step S13).

한편, 웹 어플리케이션 서버(40)를 모니터링하는 WAS 모니터링 모듈(50)에서는, 상기 사용자 컴퓨팅 장치(20)로부터의 HTTP 요청이 서버에 인입되는 시점을 인지하게 되고(단계 S14), 그동안 상기 웹 어플리케이션 서버(40)는 상기 사용자 컴퓨팅 장치(10)에 HTTP 응답을 전달한다(단계 S15). Meanwhile, in the WAS monitoring module 50 for monitoring the web application server 40, the WAS monitoring module 50 recognizes a time point at which the HTTP request from the user computing device 20 enters the server (step S14), during which the web application server is detected. 40 transmits an HTTP response to the user computing device 10 (step S15).

상기 WAS 모니터링 모듈(50)은 상기 웹 어플리케이션 서버(40)가 HTTP 응답을 전송하는 시점을 인지하고(단계 S16), 이를 통해 HTTP 요청의 인입 시점으로부터 HTTP 응답의 전송 시점까지의 웹 어플리케이션 서버(40)에서 소요되는 시간과, 그 서버 소요 시간을 서버 내의 각 구간(예컨대 SQL 실행 시간, 데이터베이스 대기 시간, 비지니스 로직 처리 시간, 레거시 시스템 연동 시간 등) 별로 구분한 시간을 포함하는 HTTP 트랜잭션 모니터링 정보를 형성한다The WAS monitoring module 50 recognizes the point in time when the web application server 40 transmits the HTTP response (step S16), and through this, the web application server 40 from the time point at which the HTTP request is received to the time point at which the HTTP response is transmitted. ), And HTTP server monitoring information including the time spent in the server and the server time divided by each section (eg, SQL execution time, database wait time, business logic processing time, legacy system interworking time, etc.). do

한편, 상기 사용자 컴퓨팅 장치(20)는 그 플랫폼 엔진 단을 통하여 로컬 임시 데이터 저장소에 트랜잭션 단위의 업무 종료 시간을 기록하여 저장하게 되고(단계 S17), 상기 트랜잭션을 포함하는 그룹 단위의 업무에 대한 종료 시간을 기록하여 저장한다(단계 S18).On the other hand, the user computing device 20 records and stores the business end time of a transaction unit in a local temporary data store through the platform engine stage (step S17), and terminates the work of a group unit including the transaction. The time is recorded and stored (step S18).

그 상태에서, 상기 사용자 컴퓨팅 장치(20)는 해당 로컬 임시 데이터 저장소에 저장된 시간 정보(즉, 그룹 단위별, 각 트랜잭션 별 시작 시간 및 종료 시간)를 상기 웹 어플리케이션 서버(40)에 제공하고(단계 S19), 상기 웹 어플리케이션 서버(40)는 상기 사용자 컴퓨팅 장치(20)로부터 제공받은 시간 정보를 상기 데이터베이스(30)에 저장한다(단계 S20). In this state, the user computing device 20 provides the web application server 40 with time information (that is, start time and end time for each transaction, for each group) stored in the corresponding local temporary data store (step S19), the web application server 40 stores the time information provided from the user computing device 20 in the database 30 (step S20).

상기 데이터베이스(30)는 상기 웹 어플리케이션 서버(40)를 통해 전송되는 상기 사용자 컴퓨팅 장치(20)로부터의 시간 정보를 그룹 데이터 저장 테이블과 개별 트랜잭션 데이터 저장 테이블에 레코드 별로 저장한다. The database 30 stores time information from the user computing device 20 transmitted through the web application server 40 in a group data storage table and a separate transaction data storage table for each record.

또한, 상기 WAS 모니터링 모듈(50)은 상기 웹 어플리케이션 서버(40)의 소요 시간과 그 서버 내의 각 구간별 구분 시간을 포함하는 HTTP 트랜잭션 모니터링 정보를 상기 데이터베이스(30)에 전송하여 저장하게 되는데(단계 S21), 상기 데이터베이스(30)는 상기 HTTP 트랜잭션 모니터링 정보를 도 5에 도시된 형태로 저장하되, WAS 처리 데이터 저장 테이블에 레코드 별로 저장한다. In addition, the WAS monitoring module 50 transmits and stores the HTTP transaction monitoring information including the time required for the web application server 40 and the division time for each section in the server to the database 30 (step) S21), the database 30 stores the HTTP transaction monitoring information in the form shown in FIG. 5, and stores the HTTP transaction monitoring information for each record in the WAS processing data storage table.

상기 관리자 컴퓨팅 장치(10)는 상기 데이터베이스(30)의 그룹 데이터 저장 테이블과, 개별 트랜잭션 데이터 저장 테이블, WAS 처리 데이터 저장 테이블로부터 원시 데이터로서 시간 정보 및 트랜잭션 모니터링 정보를 제공받아 조회할 수 있게 되고(단계 S22), 상기 그룹 데이터 저장 테이블과 상기 개별 트랜잭션 데이터 저장 테이블을 그룹 ID에 따라 연결(Join)하고, 상기 개별 트랜잭션 데이터 저장 테이블과 상기 WAS 처리 데이터 저장 테이블을 트랜잭션 ID에 따라 연결함에 의해, 전체의 사용자 체감 응답 시간을 구할 수 있고, 네트워크 구간과 서버 구간 등의 각 구간별로 시간을 구분할 수 있을 뿐만 아니라, 웹 어플리케이션 서버(40) 내에서의 각 처리 구간별 시간도 분리할 수 있도록 하는데, 이러한 전체의 사용자 체감 응답 시간과 각 구간별로 구분된 시간은 관리자 컴퓨팅 장치(10)의 모니터 화면을 통해 관리자가 조회할 수 있다(단계 S23).The manager computing device 10 may receive and query time information and transaction monitoring information as raw data from the group data storage table, the individual transaction data storage table, and the WAS processing data storage table of the database 30 ( Step S22), by joining the group data storage table and the individual transaction data storage table according to the group ID, and connecting the individual transaction data storage table and the WAS processing data storage table according to the transaction ID, It is possible to obtain the user's haptic response time of, not only to distinguish the time for each section such as the network section and the server section, but also to separate the time for each processing section in the web application server 40. Overall user experience response time and each section The liver can be viewed on a monitor screen of the Manager administrator computing device 10 (step S23).

한편, 상술한 본 발명의 실시예는 개인용 컴퓨터를 포함한 범용 컴퓨터에서 사용되는 매체에 기록될 수 있다. 상기 매체는 마그네틱 기록매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독매체(예를 들면, 씨디롬, 디브이디 등), 전기적 기록매체(예를 들면, 플레쉬 메모리, 메모리 스틱 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 기록매체를 포함한다.Meanwhile, the embodiments of the present invention described above may be recorded in a medium used in a general purpose computer including a personal computer. The medium may be a magnetic recording medium (e.g., ROM, floppy disk, hard disk, etc.), an optical reading medium (e.g., CD-ROM, DVD, etc.), an electrical recording medium (e.g., flash memory, memory stick, etc.) And record carriers such as carrier waves (eg, transmission over the Internet).

상기에서 본 발명의 특정한 실시예가 설명 및 도시되었지만, 본 발명이 당업자에 의해 다양하게 변형되어 실시될 가능성이 있는 것은 자명한 일이다. 이와 같은 변형된 실시예들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안되며, 본 발명에 첨부된 청구범위 안에 속한다고 해야 할 것이다.While specific embodiments of the invention have been described and shown above, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the invention. Such modified embodiments should not be understood individually from the technical idea and viewpoint of the present invention, but should be regarded as belonging to the claims attached hereto.

10:관리자 컴퓨팅 장치, 20:사용자 컴퓨팅 장치,
30:데이터베이스, 40:웹 어플리케이션 서버(WAS),
50:WAS 모니터링 모듈.
10: administrator computing device, 20: user computing device,
30: database, 40: web application server (WAS),
50: WAS monitoring module.

Claims (11)

사용자 컴퓨팅 장치에서 사용자의 그룹 단위 업무 요청시, 상기 그룹 단위 업무가 측정 대상 설정 업무에 해당하는 경우 상기 그룹 단위 업무의 요청 시간을 그룹 단위 업무 시작 시간으로 기록하는 제1단계와;
상기 사용자 컴퓨팅 장치에서 상기 그룹 단위 업무에 포함되는 트랜잭션 단위 업무의 HTTP 정보 요청을 웹 어플리케이션 서버에게 발생시, 상기 사용자 컴퓨팅 장치의 플랫폼 엔진에 의해 상기 트랜잭션 단위 업무의 HTTP 정보 요청 시간을 트랜잭션 단위 업무 시작 시간으로 기록하는 제2단계;
상기 웹 어플리케이션 서버에서 상기 트랜잭션 단위 업무의 HTTP 정보 요청에 대한 HTTP 정보 응답을 상기 사용자 컴퓨팅 장치에게 전달하면, 상기 사용자 컴퓨팅 장치에서 상기 플랫폼 엔진에 의해 상기 HTTP 정보 응답을 받은 응답 시간을 트랜잭션 단위 업무 종료 시간으로 기록하는 제3단계;
상기 사용자 컴퓨팅 장치에서 상기 그룹 단위 업무 종료시, 상기 그룹 단위 업무 종료 시간을 그룹 단위 업무 종료 시간으로 기록하는 제4단계;
상기 사용자 컴퓨팅 장치에서 저장된 그룹 단위 업무 시작 시간, 그룹 단위 업무 종료 시간, 트랙젝션 단위 업무 시작 시간 및 트랙젝션 단위 업무 종료 시간에 대한 정보를 상기 웹 어플리케이션 서버에 제공하여 데이터베이스에 저장하는 제5단계; 및
관리자 컴퓨팅 장치에서 상기 데이터베이스를 조회하여 사용자 체감 응답 시간과 구간별 소요시간을 구분하여 조회하는 제6단계;를 포함하여 이루어지고,
상기 제1단계 이전에, 상기 관리자 컴퓨팅 장치에서 측정 대상 사용자의 컴퓨팅 장치와 측정 대상 업무를 각각 설정하여, 상기 사용자 컴퓨팅 장치가 사용자 체감 응답 시간의 측정이 가능하도록 하는 단계를 더 포함하여 이루어지고,
상기 제6단계는 복수의 트랜잭션이 중복적으로 발생하는 경우, 중복된 복수의 트랜잭션이 중복 없이 일렬로 재배열된 시간의 합과 사용자 체감 응답 시간 중 큰 값을 기준 시간으로 설정하고, 상기 기준 시간을 사용자 체감 응답 시간과 나누어 계산한 압축률을 구간별 소요 시간에 곱하여 구간별 소요 시간을 재계산하는 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
A first step of recording a request time of the group unit task as a group unit task start time when the group unit task corresponds to a measurement target setting task when a user unit task is requested by the user computing device;
When the user computing device generates an HTTP information request of a transaction unit task included in the group unit task to a web application server, the request time of the HTTP information of the transaction unit task is set by the platform engine of the user computing device. Recording in the second step;
When the web application server transmits an HTTP information response to the HTTP information request of the transaction unit work to the user computing device, the response time of receiving the HTTP information response by the platform engine at the user computing device ends the transaction unit business end. A third step of recording in time;
A fourth step of recording, by the user computing device, the group unit business end time as a group unit business end time when the group unit business ends;
A fifth step of providing the web application server with information about a group unit business start time, a group unit business end time, a traction unit business start time, and a traction unit business end time stored in the user computing device in a database; And
And a sixth step of dividing the user haptic response time and the time required for each section by inquiring the database from a manager computing device.
Before the first step, the manager computing device further comprises the step of setting each of the computing device and the measurement target task of the measurement target user, so that the user computing device can measure the user's haptic response time,
In the sixth step, when a plurality of transactions occur in duplicate, the reference time is set to a larger value of the sum of the times when the plurality of duplicate transactions are rearranged in a line without duplication and the user haptic response time. The user experience performance monitoring method of the web service, characterized in that the time required by the interval by multiplying the compression ratio calculated by dividing the user experience response time by the time.
제1항에 있어서, 상기 제2단계 이후에,
상기 웹 플랫폼 엔진에 의해 네트워크 인터페이스 카드로 요청이 발생할 때의 시점을 대응하는 트랜잭션 단위 업무의 네트워크 시작 시간으로 기록하는 제2-1단계; 및
상기 웹 플랫폼 엔진이 상기 네트워크 인터페이스 카드로부터 응답을 수신할 때의 시점을 대응하는 트랜잭션 단위 업무의 네트워크 종료 시간으로 기록하는 제2-2단계;를 더 포함하여 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
The method of claim 1, wherein after the second step,
A step 2-1 of recording a time point when a request is made to a network interface card by the web platform engine as a network start time of a corresponding transaction unit task; And
Step 2-2 of recording the time when the web platform engine receives the response from the network interface card as the network end time of the corresponding transaction unit work; further comprising the user experience of the web service How to monitor performance.
제 1 항 또는 제 2 항에 있어서,
상기 플랫폼 엔진은 X-인터넷 기반의 웹 서비스를 진행하는 플랫폼 엔진인 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
3. The method according to claim 1 or 2,
Wherein the platform engine is a platform engine for performing a web service based on the X-Internet user experience performance monitoring method.
삭제delete 제 1 항 또는 제 2 항에 있어서,
상기 제4단계에서, 상기 사용자 컴퓨팅 장치는 임시 데이터 저장소에 기록되는 시간 정보를 상기 데이터베이스에 주기적으로 전송하고, 전송이 완료된 시간 정보를 임시 데이터 저장소에서 소거하도록 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
3. The method according to claim 1 or 2,
In the fourth step, the user computing device is configured to periodically transmit the time information recorded in the temporary data store to the database, and to delete the time information, which has been completed, from the temporary data store. How to monitor performance.
제 2 항에 있어서,
상기 제5단계에서, 상기 데이터베이스에는 그룹 데이터 저장 테이블에 그룹 단위 업무 시작 시간 및 그룹 단위 업무 종료 시간을 저장하고, 개별 트랜잭션 데이터 저장 테이블에 트랜잭션 단위 업무 시작 시간, 트랜잭션 단위 업무 종료 시간, 네트워크 시작 시간 및 네트워크 종료 시간을 저장하도록 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
The method of claim 2,
In the fifth step, the database stores the unit business start time and the group business end time in the group data storage table, and the transaction unit business start time, transaction unit business end time, network start time in the individual transaction data storage table. And storing network termination time.
삭제delete 제 1 항 또는 제 2 항에 있어서, 복수의 트랜잭션이 중복없이 순차적으로 발생하는 경우,
상기 제 6 단계는 상기 관리자 컴퓨팅 장치에 의해,
상기 데이터베이스의 저장 정보를 사용하여 측정 대상 업무에 대한 전체 그룹의 시작 시점과 종료 시점 사이에서 개별 트랜잭션이 차지하는 시간 이외의 나머지 시간을 상기 사용자 컴퓨팅 장치의 소요 시간으로 분리하는 단계를 포함하여 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
The method of claim 1 or 2, wherein when a plurality of transactions occur sequentially without duplication,
The sixth step is performed by the manager computing device,
And dividing the remaining time other than the time occupied by the individual transaction between the start time and the end time of the entire group for the measurement task by the time required of the user computing device by using the stored information of the database. To monitor the user experience of web services.
제 1 항 또는 제 2 항에 있어서, 복수의 트랜잭션이 중복적으로 발생하는 경우,
상기 제 6 단계는 상기 관리자 컴퓨팅 장치에 의해,
중복된 복수의 트랜잭션을 중복없이 일렬로 재배열하는 단계와,
각 트랜잭션 시간의 합을 사용자 체감 응답 시간과 비교하여 그 비교 결과에 따라 각 트랜잭션을 합한 시간 또는 사용자 체감 응답 시간을 기준 시간으로 설정하는 단계,
상기 사용자 컴퓨팅 장치 내에서의 소요 시간과, 네트워크의 소요 시간, 서버 내에서의 소요 시간으로 각 구간별 소요 시간을 분리하되, 각 트랜잭션 시간의 합이 사용자 체감 응답 시간보다 작은 경우 그 차이값을 상기 사용자 컴퓨팅 장치 내에서의 소요 시간에 포함시키는 단계,
상기 기준 시간을 사용자 체감 응답 시간과 나누어 압축률을 계산하는 단계, 및
상기 분리된 구간별 소요 시간에 상기 압축률에 곱하여 구간별 소요 시간을 재계산하는 단계를 포함하여 이루어진 것을 특징으로 하는 웹 서비스의 사용자 체감 성능 모니터링 방법.
The method of claim 1 or 2, wherein when a plurality of transactions occur in duplicate,
The sixth step is performed by the manager computing device,
Rearranging the plurality of duplicate transactions in a row without duplication;
Comparing the sum of each transaction time with the user haptic response time and setting the sum of each transaction or the user haptic response time as a reference time according to the comparison result;
The time required for each section is divided into the time required in the user computing device, the time required for the network, and the time required in the server, and when the sum of each transaction time is smaller than the user response time, the difference value is recalled. Including in time spent within the user computing device,
Calculating a compression ratio by dividing the reference time by a user haptic response time; and
And recalculating the time required for each section by multiplying the separated time required for each section by the compression rate.
제 1 항 또는 제 2 항의 방법이 구현된 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.A computer-readable recording medium recording a program in which the method of claim 1 or 2 is implemented. 삭제delete
KR1020110144331A 2011-12-28 2011-12-28 Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device KR101218927B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110144331A KR101218927B1 (en) 2011-12-28 2011-12-28 Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110144331A KR101218927B1 (en) 2011-12-28 2011-12-28 Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020090082269A Division KR101115907B1 (en) 2009-09-02 2009-09-02 Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device

Publications (2)

Publication Number Publication Date
KR20120004953A KR20120004953A (en) 2012-01-13
KR101218927B1 true KR101218927B1 (en) 2013-01-21

Family

ID=45611303

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110144331A KR101218927B1 (en) 2011-12-28 2011-12-28 Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device

Country Status (1)

Country Link
KR (1) KR101218927B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101869490B1 (en) 2018-01-11 2018-06-21 주식회사 모비젠 Apparatus for analyzing anomality of streaming data processing system and method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104463565A (en) * 2014-12-22 2015-03-25 上海中信信息发展股份有限公司 Time computing method for service grade management
CN115801608A (en) * 2021-09-10 2023-03-14 中国移动通信集团北京有限公司 Service perception evaluation method and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060063236A (en) * 2004-12-07 2006-06-12 (주)인포그레스 Analysis method of distributed application transaction performance based on analysis of traffic data file
KR100803889B1 (en) * 2006-02-07 2008-02-14 주식회사 케이티프리텔 Method and system for analyzing performance of providing services to client terminal

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060063236A (en) * 2004-12-07 2006-06-12 (주)인포그레스 Analysis method of distributed application transaction performance based on analysis of traffic data file
KR100803889B1 (en) * 2006-02-07 2008-02-14 주식회사 케이티프리텔 Method and system for analyzing performance of providing services to client terminal

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101869490B1 (en) 2018-01-11 2018-06-21 주식회사 모비젠 Apparatus for analyzing anomality of streaming data processing system and method thereof
WO2019139189A1 (en) * 2018-01-11 2019-07-18 주식회사 모비젠 Device and method for analyzing anomaly action of streaming data processing system

Also Published As

Publication number Publication date
KR20120004953A (en) 2012-01-13

Similar Documents

Publication Publication Date Title
US10740711B2 (en) Optimization of a workflow employing software services
US10291704B2 (en) Networked solutions integration using a cloud business object broker
US8078628B2 (en) Streaming faceted search
CN110321273A (en) A kind of business statistical method and device
US20120278354A1 (en) User analysis through user log feature extraction
US20170011039A1 (en) Methods for assessing and scoring user proficiency in topics determined by data from social networks and other sources
US9244998B2 (en) Extending olap navigation employing analytic workflows
CN110245145A (en) Structure synchronization method and apparatus of the relevant database to Hadoop database
JP2012069098A5 (en) Method for managing quality of service for network participants in a networked business process, and computer readable recording medium storing instructions that can cause a computer to perform operations for managing
CN110851485B (en) Social relation mining method and device, computer equipment and readable medium
KR101218927B1 (en) Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device
CN111414410A (en) Data processing method, device, equipment and storage medium
US11016934B2 (en) Automated content-based and context-based file organizational structuring
US20180267995A1 (en) Contextual and cognitive metadata for shared photographs
US10311160B2 (en) Cloud search analytics
CN104239423A (en) Personal connection distance obtaining method and system
KR101115907B1 (en) Method for Monitoring User Sensory Performance of Web Service and Recording Medium Therefore and Computing Device
CN110909072B (en) Data table establishment method, device and equipment
CN113326418A (en) Method and device for determining webpage information source and webpage quality
US11599521B2 (en) Systems and methods for providing real-time discrepancies between disparate execution platforms
CN109389271B (en) Application performance management method and system
CN112783754B (en) Method and device for testing page
CN116680480A (en) Product recommendation method and device, electronic equipment and readable storage medium
CN116610667A (en) Service data processing method, device, computer equipment and storage medium
CN106611100B (en) User behavior analysis method and device

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181113

Year of fee payment: 9