Electronic device and data analysis method thereof

The electronic device and method analyze service performance metrics from user terminals to identify and resolve delays, enhancing user experience by providing real-time notifications and performance insights.

WO2025164966A1PCT designated stage Publication Date: 2025-08-07COUPANG CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/096733
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-01
Filing Date
2024-12-11
Publication Date
2025-08-07

AI Technical Summary

Technical Problem

Application developers cannot verify the performance of their services as perceived by user terminals, leading to potential delays and unsatisfactory user experiences.

Method used

An electronic device and method for analyzing service provision performance by obtaining and processing log data from user terminals to generate performance metrics and provide notifications for delayed services.

Benefits of technology

Enables real-time monitoring and identification of service delays, allowing developers to address issues promptly and improve user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024096733_07082025_PF_FP_ABST
    Figure KR2024096733_07082025_PF_FP_ABST
Patent Text Reader

Abstract

Provided is a data analysis method of an electronic device. The data analysis method may comprise the steps of: obtaining first data regarding a response time to a service request for each service request of an application from a plurality of user terminals; generating second data regarding service provision performance for each service on the basis of the first data of the plurality of user terminals; and displaying a dashboard including the second data.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device and method for analyzing data thereof

[0001] The present disclosure relates to an electronic device and a data analysis method thereof for analyzing the service provision performance of an application service provided to a user terminal.

[0002] Application developers can monitor the performance of their application's backend services. However, there is no other way to verify the performance of the application's services as perceived by the user when they are actually provided to the user terminal. In other words, developers cannot verify whether loading or response delays occur when the service is actually provided to the user terminal in response to a service request. Therefore, to provide more satisfactory services to application users, developers need to develop a method for monitoring the performance of the service provided to the user terminal.

[0003] The disclosed embodiments provide an electronic device and a data analysis method thereof. More specifically, the present invention provides an electronic device and a control method thereof that enable application developers to analyze service provision performance based on log data stored in a database.

[0004] The technical tasks to be achieved by this embodiment are not limited to the technical tasks described above, and other technical tasks can be inferred from the following embodiments.

[0005] A method for analyzing data of an electronic device according to one embodiment may include: obtaining first data regarding a response time for a service request for each service request of an application from a plurality of user terminals; generating second data regarding service provision performance for each service based on the first data of the plurality of user terminals; and displaying a dashboard including the second data.

[0006] In one embodiment, the first data may include user terminal identification information, information about the requested service, and a response time for the service request.

[0007] In one embodiment, the response time for a service request may be the time from when the service is requested to when the service is provided to the user terminal.

[0008] According to one embodiment, the service of the application may include a service for providing a first page, and a response time for a service request may include a time from a time when provision of the first page is requested to a time when the first page is provided to a user terminal.

[0009] In one embodiment, the response time for a service request may be a time measured by the user terminal.

[0010] In one embodiment, the application may be an application that provides an e-commerce service.

[0011] According to one embodiment, the step of generating the second data may include the step of confirming information regarding a plurality of response times corresponding to the first service based on the first data of the plurality of user terminals; and the step of determining the service provision performance of the first service based on the information regarding the plurality of response times.

[0012] According to one embodiment, the step of determining the service provision performance of the first service may include the step of determining a representative response time of the first service based on information about a plurality of response times; and the step of determining the representative response time of the first service as the service provision performance of the first service.

[0013] According to one embodiment, the service of the application may include a first service providing a first page from a second page, and a second service providing a first page from a third page, and the second data may include data regarding service provision performance of the first service and data regarding service provision performance of the second service.

[0014] A method for analyzing data of an electronic device according to one embodiment further includes a step of identifying data exceeding a threshold based on second data; and a step of providing a notification regarding the data exceeding the threshold to a preset worker, wherein a worker to be provided with the notification may be set for each service of the application.

[0015] A data analysis method of an electronic device according to one embodiment may further include a step of identifying data exceeding a threshold based on second data; and a step of providing a notification to a user terminal corresponding to data exceeding the threshold.

[0016] According to one embodiment, the service of the application includes at least one backend service that is processed in a preset order, a type of at least one backend service that is to be processed, and a processing order of the at least one backend service are preset in response to a service request, and a threshold corresponding to the service request may be a value set based on a sum of processing times of the at least one backend service.

[0017] According to one embodiment, the method may include: providing a notification to a first worker when the second data includes data exceeding a threshold value, and when it is confirmed that the cause of the second data exceeding the threshold value is at least one of the processing times of each of the plurality of backend services; and providing a notification to a second worker when it is confirmed that the cause of the second data exceeding the threshold value is not the processing time of the backend service.

[0018] In one embodiment, the first worker may be a worker performing work related to application development, and the second worker may be a worker performing work related to network communication between the electronic device and the user terminal.

[0019] In one embodiment, the threshold may be a value determined based on the importance of the service.

[0020] A method for analyzing data of an electronic device according to one embodiment includes: a step of identifying third data satisfying a preset condition based on first data; and a step of displaying a dashboard including the third data, wherein the preset condition may include at least one of a condition regarding a date and a condition regarding identification information of a user terminal.

[0021] A non-transitory recording medium according to one embodiment may be a computer-readable non-transitory recording medium having recorded thereon a program for implementing a method performed by an electronic device.

[0022] An electronic device according to one embodiment includes a memory and a processor, wherein the processor obtains first data regarding a response time for a service request for each service request of an application from a plurality of user terminals, generates second data regarding service provision performance for each service based on the first data of the plurality of user terminals, and displays a dashboard including the second data.

[0023] Specific details of the embodiments are included in the detailed description and drawings.

[0024] According to the proposed embodiment, one or more of the following effects can be expected.

[0025] According to the embodiments of this specification, the performance of the service provided to the user terminal can be monitored.

[0026] Additionally, according to the embodiment of the present specification, if the response time of a specific service is delayed, a notification is provided to the worker so that the cause of the delay can be identified.

[0027] The effects of the invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

[0028] Figure 1 illustrates a system according to one embodiment.

[0029] FIG. 2 is a diagram illustrating a process in which an electronic device analyzes data according to one embodiment.

[0030] FIG. 3 illustrates a flowchart of a data analysis method of an electronic device according to one embodiment.

[0031] Figure 4 illustrates an example of a dashboard according to one embodiment.

[0032] Figure 5 illustrates an example of a dashboard according to one embodiment.

[0033] FIG. 6 is a diagram for explaining a process in which a service is provided to a user terminal in response to a service request according to one embodiment.

[0034] Figure 7 illustrates a block diagram of an electronic device according to one embodiment.

[0035] The terms used in the examples have been selected from widely used, current terms, taking into account the functions of the present disclosure. However, these terms may vary depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, in which case their meanings will be described in detail in the relevant description. Therefore, the terms used in this disclosure should not be defined simply as names, but rather based on the meanings of the terms and the overall content of the present disclosure.

[0036] When a part of a specification is said to "include" a component, this does not mean that it excludes other components, but rather that it may include other components, unless otherwise stated.

[0037] The expression "at least one of a, b, and c" described throughout the specification may encompass 'a alone', 'b alone', 'c alone', 'a and b', 'a and c', 'b and c', or 'all of a, b, and c'.

[0038] The "terminal" mentioned below may be implemented as a computer or portable terminal that can connect to a server or other terminal via a network. Here, the computer includes, for example, a notebook, desktop, laptop, etc. equipped with a web browser, and the portable terminal may include, for example, a wireless communication device that guarantees portability and mobility, and may include all types of handheld-based wireless communication devices such as communication-based terminals such as IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), LTE (Long Term Evolution), smartphones, tablet PCs, etc.

[0039] Below, embodiments of the present disclosure are described in detail with reference to the attached drawings so that those skilled in the art can easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein.

[0040] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.

[0041] Figure 1 illustrates a system according to one embodiment.

[0042] Referring to FIG. 1, the system may include at least one of an electronic device (100), a first user terminal (120), a second terminal (140), a third user terminal (160), and a network (180). Meanwhile, the system illustrated in FIG. 1 only illustrates components related to the present embodiment. Therefore, those skilled in the art will appreciate that, in addition to the components illustrated in FIG. 1, other general-purpose components may be included.

[0043] An electronic device (100) is a device that configures and provides various types of information. The electronic device (100) may provide the configured information as a web page or application screen, or may provide the information in a form that can be displayed as a web page or application screen on a receiving terminal.

[0044] The application provided by the electronic device (100) may be, for example, an application that provides an e-commerce service. Hereinafter, the "service" of the application may refer to providing a specific page or a specific area included in a page requested by a user terminal to the user terminal. Specifically, the service may refer to providing a specific page or a specific area included in a page requested by a user, such as by pressing a button, banner, etc. within an application screen provided on the user terminal. That is, the service may include, for example, providing a search results page to the user terminal in response to a search result request regarding a specific search keyword entered into the user terminal, providing a detailed review list to the user terminal in response to a review list request regarding a specific product subject to e-commerce entered into the user terminal, providing the delivery status of an ordered product entered into the user terminal in response to a delivery status request, etc.

[0045] In one example, even if the page provided to the user terminal by the service request is the same, if the page provided to the user terminal before the service request is different, they may be different services. That is, if the page provided to the user terminal changes from page 2 to page 1 in response to the service 1 request from the user terminal, and if the page provided to the user terminal changes from page 3 to page 1 in response to the service 2 request from the user terminal, Service 1 and Service 2 may be different services even though they provide the same page 1. For example, a service in which page 1 is provided in response to a request for provision of a previous page from the user terminal (e.g., a request by a user's action of pressing a back button) and a service in which page 1 is provided in response to a request for provision of a page related to a specific store from the user terminal (e.g., a request by a user's action of pressing a banner of a specific store) may be different services.

[0046] In another example, information regarding the expected delivery time may be provided to the user terminal by a request for Service 1, information regarding a coupon (e.g., a coupon that states that a certain discount rate can be applied under certain conditions) may be provided to the user terminal by a request for Service 2, and information regarding the user's accumulated points may be provided to the user terminal by a request for Service 3. In this case, Service 1, Service 2, and Service 3 may be different services, and information regarding the expected delivery time provided by a request for Service 1, information regarding a coupon provided by a request for Service 2, and information regarding accumulated points provided by a request for Service 3 may constitute each area of ​​Page 1.

[0047] According to one embodiment, the electronic device (100) can analyze data by acquiring data and generating data to be analyzed based on the acquired data. For example, the electronic device (100) can acquire first data regarding the response time to a service request for each service request of an application from multiple user terminals, generate second data regarding the service provision performance for each service based on the first data of the multiple user terminals, and display a dashboard including the second data.

[0048] The first user terminal (120), the second user terminal (140), and the third user terminal (160) are terminals used by each user, and the users can access services provided by the network (180) using their respective terminals. For example, the electronic device (100) can provide application services via the network (180), and users can request application services and use the provided application services using their respective terminals.

[0049] Meanwhile, although not illustrated in FIG. 1, the electronic device (100) may include a database. A database is a data structure implemented in a predetermined storage space, in which functions such as storing, searching, deleting, editing, or adding data can be freely performed. For example, the database may include fields or components for processing functions such as storing, searching, deleting, editing, or adding data.

[0050] The first user terminal (120), the second user terminal (140), the third user terminal (160) and the electronic device (100) can communicate with each other within the network (180). The network (180) includes a Local Area Network (LAN), a Wide Area Network (WAN), a Value Added Network (VAN), a mobile radio communication network, a satellite communication network and a combination thereof, and is a comprehensive data communication network that enables each network component illustrated in FIG. 1 to communicate smoothly with each other, and may include wired Internet, wireless Internet and a mobile radio communication network. Wireless communication may include, but is not limited to, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy, Zigbee, Wi-Fi Direct (WFD), ultra wideband (UWB), infrared communication (IrDA, infrared Data Association), NFC (Near Field Communication), etc., for example.

[0051] FIG. 2 is a drawing for explaining a process in which an electronic device (100) analyzes data according to one embodiment.

[0052] According to one embodiment, the electronic device (100) may obtain first data regarding the response time to a service request from multiple user terminals, for each service request of an application. The first data may include, for example, user terminal identification information, information regarding the requested service, and the response time to the service request. For example, when a service request is transmitted to a server by a user terminal, the service may be provided by the server's Application Programming Interface (API) regarding the requested service.

[0053] Accordingly, in FIG. 2, for convenience, the service is illustrated as an "API", and hereinafter, the service may be referred to as an "API". API 1, API 2, and API 3 represent different services. That is, referring to FIG. 2, based on an action in which users visit a page provided by an application using each of their user terminals (120, 140, 160, ...) and request a service on the visited page, the electronic device (100) may obtain first data regarding the response time for each API request of the application. Specifically, the electronic device (100) may obtain first data including pcid, which is user terminal identification information, information about the requested API, and cost, which is the response time for the API request, from a plurality of user terminals (120, 140, 160, ...).

[0054] The first data may be, for example, log data acquired in real time through Lumberjack. Lumberjack can collect, process, and transmit log data. Lumberjack's log data collection may be performed, for example, when a specific page is visited by a user terminal. Specifically, Lumberjack's log data collection may be performed whenever an HTTP (Hypertext Transfer Protocol) request is detected by an HTTP (Hypertext Transfer Protocol) Request Interceptor that detects an HTTP (Hypertext Transfer Protocol) request to a server from a user terminal included in an application's service request. The electronic device (100) can receive the first data collected by Lumberjack. Although Lumberjack is depicted as a component other than the electronic device (100) in FIG. 2 , FIG. 2 is merely an example, and in other examples, Lumberjack may be included in the electronic device (100) or the user terminal.

[0055] According to one embodiment, the first data acquired by the electronic device (100) is data regarding a response time for a service request, and the response time for the service request may be, for example, the time from the time the service is requested to the time the service is provided to the user terminal. For example, referring to FIG. 2, the first data may be the cost of API 1. Referring to FIG. 2, a set of a plurality of first data acquired from a plurality of user terminals through Lumberjack ({<API 1, cost, pcid, …> , < API 2, cost, pcid, … >, < API 3, cost, pcid, … >,…}). Here, the cost of API 1 may be the time from the time API 1 is requested to the time when the service according to API 1 is provided to the user terminal, the cost of API 2 may be the time from the time API 2 is requested to the time when the service according to API 2 is provided to the user terminal, and the cost of API 3 may be the time from the time API 3 is requested to the time when the service according to API 3 is provided to the user terminal.

[0056] The first data may further include information about the page. The information about the page may include at least one of information about the page visited by the user terminal (i.e., information about the page where the API request occurred) and information about the page provided to the user terminal according to the API request. For example, if API 1 is requested on page 1 visited by the user terminal, the first data may include<API 1, cost, pcid, page 1> It can be. Furthermore, when the page containing the specific area displayed according to the requested API 1 is page 2, the first data is<API 1, cost, pcid, page 1, page 2> It could be.

[0057] According to one embodiment, the service of the application may include a service for providing a first page, and a response time for a service request may include the time from the time when the provision of the first page is requested to the time when the first page is provided to the user terminal. The response time for a service request may be a time measured by the user terminal. For example, in FIG. 2, API 1 may refer to a service for providing Page 1 to the user terminal, and API 2 may refer to a service for providing Page 2 to the user terminal. Accordingly, the cost of API 1 may refer to the time from the time when the provision of Page 1 is requested from the user terminal to the time when Page 1 is provided to the user terminal, and may be a time measured by the user terminal.

[0058] Next, the electronic device (100) can generate second data regarding service provision performance for each service based on the first data of multiple user terminals, and display a dashboard (230) including the generated second data. Referring to FIG. 2, the electronic device (100) can process the first data through a Flink Streaming process, and can generate second data from the processed first data. The Flink Streaming process refers to a process of processing log data acquired in real time through Lumberjack using Flink. For example, log data can be processed (e.g., converted into a streaming data format) by the Flink Streaming process and stored in the first database (210), and information regarding the day can be added and stored during the processing. The second data generated from the first data can be stored in the second database (220).

[0059] Specifically, the data stored in the first database (210) may be data in the form of first data acquired through the Flink Streaming process with information about the day added to it. The information about the day may include the date on which the user terminal requested the API, and may further include the time at which the API was requested. The processed first data stored in the first database (210) may be, for example, information about the cost of API 1 with a day added to it.<day, pcid, API 1, cost> Referring to FIG. 2, a set of multiple processed data ({) in which each of the first data acquired from multiple user terminals (120, 140, 160) is processed and stored in the first database (210)<day, pcid, API 1, cost, …> ,<day, pcid, API 2, cost, …> ,<day, pcid, API 3, cost, …> ,…}) can be checked. The electronic device (100) can check the cost of the API by the date on which a specific API is requested or by time zone, as shown in FIGS. 5 and 6 below, based on information about the day.

[0060] According to one embodiment, the electronic device (100) may generate second data by checking information about a plurality of response times corresponding to a first service based on first data of a plurality of user terminals and determining service provision performance of the first service based on the information about the plurality of response times. Specifically, the plurality of first data acquired from the plurality of user terminals may be<API 1, cost, pcid1, …> ,<API 1, cost, pcid2, …> Since it includes the cost of API 1 acquired for each different user terminal identification information that called API 1 and the cost of API 2 acquired for each different user terminal identification information that called API 2, the electronic device (100) can generate second data by, for example, checking multiple cost information corresponding to API 1 based on first data of multiple user terminals and determining cost1, which is the service provision performance of API 1, based on the multiple cost information. That is, the second data is<API 1, cost1> ,<API 2, cost2> ,<API 3, cost3> It can be a set of, etc., and in this case, cost1 can include cost information of multiple API 1 confirmed based on the first data, cost2, which is the service provision performance of API 2, can include cost information of multiple API 2 confirmed based on the first data, and cost3, which is the service provision performance of API 3, can include cost information of multiple API 3 confirmed based on the first data.

[0061] According to one embodiment, the electronic device (100) may determine a representative response time of the first service based on information about a plurality of response times, and may determine the representative response time of the first service as the service provision performance of the first service. The representative response time of the first service may be, for example, a response time corresponding to a preset percentile among a plurality of response times sorted in order of a small value to a large value. The preset percentile may be, for example, the 95th percentile (referring to a response time corresponding to the top 5%), the 90th percentile (referring to a response time corresponding to the top 10%), or the 50th percentile (referring to a response time corresponding to the top 50%). In another example, the representative response time of the first service may be an average value of the plurality of response times. For example, when determining cost1 of API 1, the electronic device (100) may determine a representative response time based on cost information of a plurality of API 1s confirmed based on first data of a plurality of user terminals, and may determine the determined representative response time as cost1. A specific embodiment of a dashboard including cost1 of the determined API 1 will be described in more detail with reference to FIG. 5 below.

[0062] According to one embodiment, the service of the application may include a first service that provides a first page from a second page, and a second service that provides a first page from a third page, and the second data may include data regarding service provision performance of the first service and data regarding service provision performance of the second service. Accordingly, the electronic device (100) may obtain first data regarding a response time for a service request for each service request of the application from a plurality of user terminals, and may generate second data including data regarding service provision performance of the first service and data regarding service provision performance of the second service based on the first data of the plurality of user terminals. For example, referring to FIG. 2, even though API 1, API 2, and API 3 are different services, if each of API 1 to API 3 provides a first page to the user terminal (i.e., if specific areas or pages that each of API 1 to API 3 provides to the user terminal are all included in the first page), the electronic device (100) may generate second data including a cost of API 1, a cost of API 2, and a cost of API 3. The electronic device (100) can generate second data based on information about a page included in each of the first data of a plurality of user terminals (e.g., information about a page provided to a user terminal according to an API request).

[0063] Next, the electronic device (100) can display a dashboard (230) including the second data. For example, the electronic device (100) can display a dashboard (230) including all of the cost of API 1, the cost of API 2, and the cost of API 3 included in the data regarding the performance of providing multiple services for providing the first page. In another example, the electronic device (100) can determine the maximum value among the cost of API 1, the cost of API 2, and the cost of API 3 as the data regarding the performance of providing multiple services for providing the first page, and display a dashboard (230) including the data regarding the performance of providing multiple services for providing the determined first page.

[0064] According to one embodiment, if the service of the application includes a first service and a second service, and the page where the first service request occurred and the page where the second service request occurred are the same, the second data may include data regarding the service provision performance of the first service and data regarding the service provision performance of the second service. That is, if the service of the application includes a plurality of different services (specific pages provided according to service requests or specific areas included in the pages are different from each other), and the pages where service requests for each of the different services occurred are the same, the second data generated by the electronic device (100) from the first data of the plurality of user terminals may include data regarding the service provision performance of each service. The electronic device (100) may generate the second data based on information regarding pages included in the plurality of first data (for example, information regarding pages where a user's API request occurred).

[0065] For example, if the first data includes information about the cost of each of Service 1 for a specific keyword search result requested on page 1, Service 2 for a detailed description of a specific product requested on page 1, and Service 3 for a list of recommended stores requested on page 1, the second data (hereinafter referred to as “cost1 of page 1” for convenience) may include the cost of Service 1, the cost of Service 2, and the cost of Service 3. The electronic device (100) may display a dashboard (230) including cost1 of page 1. In another example, the electronic device (100) may determine the maximum value among the cost of Service 1, the cost of Service 2, and the cost of Service 3 as cost1 of page 1, and display a dashboard (230) including the determined cost1 of page 1. FIG. 3 is a flowchart of a data analysis method of an electronic device according to one embodiment. The above-described description may be applied to overlapping contents.

[0066] In step S300, the electronic device (100) can obtain first data regarding the response time to a service request from a plurality of user terminals, for each service request of an application.

[0067] In one embodiment, the first data may include user terminal identification information, information about the requested service, and a response time for the service request.

[0068] In one embodiment, the response time for a service request may be the time from when the service is requested to when the service is provided to the user terminal.

[0069] According to one embodiment, the service of the application may include a service for providing a first page, and a response time for a service request may include a time from a time when provision of the first page is requested to a time when the first page is provided to a user terminal.

[0070] In one embodiment, the response time for a service request may be a time measured by the user terminal.

[0071] In one embodiment, the application may be an application that provides an e-commerce service.

[0072] At step S320, the electronic device (100) can generate second data regarding service performance for each service based on first data of multiple user terminals.

[0073] According to one embodiment, when generating second data, the electronic device (100) may check information about a plurality of response times corresponding to the first service based on first data of a plurality of user terminals, and determine service provision performance of the first service based on the information about the plurality of response times.

[0074] According to one embodiment, when determining the service provision performance of the first service, the electronic device (100) may determine a representative response time of the first service based on information about a plurality of response times, and determine the representative response time of the first service as the service provision performance of the first service.

[0075] According to one embodiment, the service of the application may include a first service providing a first page from a second page, and a second service providing a first page from a third page, and the second data may include data regarding service provision performance of the first service and data regarding service provision performance of the second service.

[0076] At step S340, the electronic device (100) may display a dashboard including second data. A specific embodiment of the dashboard displayed by the electronic device (100) will be described in detail with reference to FIGS. 5 and 6 below.

[0077] According to one embodiment, the electronic device (100) may check for data exceeding a threshold based on the second data, and provide a notification regarding the data exceeding the threshold to a preset worker, and the preset worker may include a worker set for each service of the application. For example, the electronic device (100) may check through a dashboard that cost1 of API 1 exceeds a threshold, and provide a notification to a preset worker who is set to receive a notification regarding cost1 of API 1. The preset worker who is set to receive a notification regarding cost1 of API 1 may be, for example, a developer who monitors the service operation regarding API 1 among the backend services of the application. The content of the notification provided to the worker may include, for example, content regarding the occurrence of an abnormal delay in the provision of a specific service. Based on the notification received, the worker can identify a specific service with frequent delays in service provision, identify the cause, and resolve the delay problem in service provision.

[0078] According to one embodiment, the electronic device (100) may determine that data exceeds a threshold based on the second data, and provide a notification to a user terminal corresponding to the data exceeding the threshold. For example, the electronic device (100) may determine through a dashboard that cost2 of API 2 exceeds the threshold, and if the pcid corresponding to cost2 of API 2 is user terminal identification information indicating the first user terminal, the electronic device (100) may provide a notification to the first user terminal. The content of the notification provided to the user terminal may include, for example, content regarding the occurrence of an abnormal delay in the provision of a specific service.

[0079] In one embodiment, the threshold value may be determined based on the importance of the service. Typically, when a delay occurs in providing payment results for a specific product within an application, problems arise, such as users mistakenly believing the payment was completed even when the payment was not processed properly, or users mistakenly believing the payment was not completed even when the payment was processed properly. Thus, the impact and severity of the problems caused by delays in service provision vary across services. Therefore, considering the importance of the service, the threshold value may be lower for services with a relatively large impact from delays (e.g., a service providing a payment result page), and higher for services with a relatively small impact from delays (e.g., a service providing a search result page). Accordingly, the electronic device (100) may provide a notification to at least one of a preset operator and a user terminal based on the threshold value determined based on the importance of the service. For example, an operator who receives a notification that a payment result service, which is a relatively important service, has exceeded a relatively low threshold value can quickly resolve the delay issue in the payment result service and provide improved service. Users who have received notification via their terminal regarding a delay in the provision of payment result services can confirm that they can receive the services after waiting for a specified period of time.

[0080] FIG. 4 is a diagram for explaining a process in which a service is provided to a user terminal in response to a service request according to one embodiment.

[0081] According to one embodiment, the service of the application includes at least one backend service that is processed according to a preset order, and the type of at least one backend service to be processed and the processing order of the at least one backend service are preset in response to a service request, and a threshold corresponding to the service request may be set based on the sum of the processing times of the at least one backend service. For example, the service request of the application may include an HTTP request to a server by a user terminal, and the HTTP request may be transmitted to an API gateway through a network. A plurality of backend services of a backend unit for providing the requested service may be processed by the HTTP request transmitted to the API gateway. The plurality of backend services to be processed are backend services corresponding to the types set according to the requested service, and may be processed according to the processing order set according to the requested service. The threshold corresponding to the service request may be set based on the sum of the processing times of each of the backend services corresponding to the types set according to the requested service, and may be a value set by further considering, for example, the time it takes for the HTTP request to be transmitted to the API gateway.

[0082] Referring to FIG. 4, one can see an example of a process in which multiple backend services are processed according to a service request transmitted from a user terminal. Service A to Service H each represent a backend service, and the arrows between each backend service represent a series of order or sequential relationship in which multiple backend services are processed. Message Broker may be a message broker that stores messages received from Service A and forwards them to other backend services (Service C, Service D, Service E). The message may be a Kafka message containing an event or notification related to an API request by a user terminal, for example. DB is a database that stores data (for example, information about a user entered into an application), Redis is an in-memory data store that can store and manage data in the form of key-value pairs and is used for caching, session storage, etc., and Search provides data search results.

[0083] In the part expressed as Internet Facing, an HTTP request may be transmitted to the API gateway through the network in response to an application service request by the first user terminal (120). Subsequently, multiple backend services on the Internal Network (meaning the internal network where the backend service is processed) may be processed in response to the HTTP request transmitted to the API gateway. For example, if the HTTP request of the first user terminal (120) includes a page request regarding coupon information (hereinafter referred to as an “API 4 request” for convenience), the types of backend services are set to Service A, Service B, and Service G in response to the API 4 request, and it is set that Service A, Service B, and Service G should be processed in that order. At this time, Service G may be a service that provides data regarding coupon information by checking it from a database. Service A, Service B, and Service G are processed in accordance with the set types and processing order of backend services, and accordingly, a page including data regarding coupon information checked from the database is provided to the first user terminal (120), whereby the user can receive the requested service, API 4. The threshold corresponding to an API 4 request may be, for example, the sum of the processing times of each of Service A, Service B, and Service G, plus the typical time it takes for an HTTP request to be transmitted to the API gateway, plus the typical time it takes for an API to be provided from the API gateway to a user terminal as a response to the HTTP request, etc.

[0084] According to one embodiment, when the second data includes data exceeding a threshold value, the electronic device (100) may provide a notification to a first worker if it is determined that the cause of the second data exceeding the threshold value is at least one of the processing times of at least one backend service, and may provide a notification to a second worker if it is determined that the cause of the second data exceeding the threshold value is not the processing time of the backend service. Here, the first worker may be a worker performing work related to application development, and the second worker may be a worker performing work related to network communication between the electronic device and the user terminal.

[0085] For example, if the response time of API 4 includes a response time exceeding the threshold, the electronic device (100) can check the processing time of each of the backend services (Service A, Service B, Service G) included in API 4 to provide information about the cause of the threshold exceedance. Specifically, the electronic device (100) can compare the processing time of Service A with Time A, the processing time of Service B with Time B, and the processing time of Service G with Time G. Here, Time A may be a value set by adding an allowable amount of delay to the time normally taken to process Service A, Time B may be a value set by adding an allowable amount of delay to the time normally taken to process Service B, and Time G may be a value set by adding an allowable amount of delay to the time normally taken to process Service G. If it is confirmed that the processing time of Service A exceeds Time A, the electronic device (100) can provide a notification to the developer of the application about the delay in the response time of API 4. The developer who received the notification can improve the provision of API 4 by checking Service A, which is a backend service in the backend. Meanwhile, if it is confirmed that none of Service A, Service B, and Service G exceeds the respective standard time, the electronic device (100) determines that there is a problem with the Internet Facing part in FIG. 4 (i.e., a communication problem) and can provide a notification to a worker performing work related to communication between the electronic device (100) and the first user terminal (120). Accordingly, the electronic device (100) not only provides a notification regarding a delay in service provision, but also identifies the cause of the delay in service provision and provides a notification to a worker corresponding to the cause, thereby enabling faster and more accurate improvement in service provision performance.

[0086] FIG. 5 illustrates an example of a dashboard (230) according to one embodiment.

[0087] Referring to FIG. 5, a graph regarding cost1, which is the service provision performance of API 1, can be confirmed. The x-axis of the graph represents time, and the y-axis represents the value of cost1. That is, the graph of the dashboard (230) shows cost1 of API 1 confirmed over time from 10:00 a.m. on January 1, 2024. p95 on the upper right of the graph indicates that the preset percentile is the 95th percentile. That is, through the dashboard (230), the electronic device (100) can continuously display the value of cost1 of API 1, which is a response time corresponding to the 95th percentile among a plurality of response times corresponding to API 1 sorted in order from the smallest value to the largest value, every hour from 10:00 a.m. on January 1, 2024. The operator can monitor the distribution of the API provision performance of each API by date over time through the dashboard (230) displayed by the electronic device (100).

[0088] Meanwhile, 3ms represents a preset threshold. The electronic device (100) may provide a notification to a preset worker who is provided with a notification regarding cost1 of API 1 at 8:00 PM, which is included in a time zone with a cost1 value exceeding 3ms, for example. The worker who has received the notification may set a specific condition to check user terminal identification information corresponding to cost1 of API 1, and may check user terminal identification information corresponding to cost1 of API 1 through a dashboard (230) including data satisfying the set condition. An embodiment in which the electronic device (100) displays data according to a specific condition will be described in more detail with reference to FIG. 6 below. In addition, the electronic device (100) may check user terminal identification information corresponding to cost1 of API 1 at 8:00 PM, which has a cost1 value exceeding 3ms, and provide a notification to the identified user terminal.

[0089] FIG. 6 illustrates an example of a dashboard (230) according to one embodiment.

[0090] According to one embodiment, the electronic device (100) may identify third data that satisfies a preset condition based on the first data, and display a dashboard including the third data. Here, the preset condition may include at least one of a date condition and a condition regarding identification information of the user terminal. In addition, the preset condition may further include a time condition. The preset condition may be determined, for example, by a selection by an operator (e.g., an application developer) on the dashboard (230) provided by the electronic device (100), and may be used to extract data regarding a specific date and data regarding service use by a specific user. For example, the electronic device (100) may identify and display response times of multiple APIs requested on January 1, 2024, based on the acquired first data. In another example, the electronic device (100) may identify and display multiple response times that satisfy a condition in which the identification information of the user terminal includes pcid1, based on the first data. Accordingly, the worker can check the history of application service use or service use trends of the user terminal corresponding to pcid1.

[0091] Referring to FIG. 6, if January 1, 2024 is set as a condition by a worker who wants to analyze the provision performance of API 1 provided on January 1, 2024, the electronic device (100) can check multiple response time information corresponding to the conditional date in the first database (210) and display a dashboard that expresses multiple response times in the form of a graph. In addition, by setting the time from 2:00 PM to 4:00 PM as a condition, the worker can check multiple response times between 2:00 PM and 4:00 PM among the multiple response times of API 1 provided on January 1, 2024 through the dashboard (230). Depending on the date and time conditions set by the worker, the dashboard (230) can include the response times for each pcid between 2:00 PM and 4:00 PM on January 1, 2024, as shown in FIG. 6. As in the example in FIG. 5, 3 ms in FIG. 6 represents a preset threshold. The electronic device (100) can provide a notification to a preset operator regarding a response time exceeding 3 ms. In addition, the electronic device (100) can provide a notification to a user terminal corresponding to pcid2, which is a pcid having a response time exceeding 3 ms.

[0092] Meanwhile, in the example described above in FIG. 5, the worker who received the notification can check the user terminal identification information corresponding to cost1 of API 1 at 8:00 PM by setting the date condition to January 1, 2024 and additionally setting the time condition to from 7:30 PM to 8:30 PM, thereby checking multiple response times between 7:30 PM and 8:30 PM among the multiple response times of API 1 provided as of January 1, 2024 through the dashboard (230). Accordingly, the electronic device (100) can display multiple response times for each pcid that satisfy the conditions set by the worker, as shown in FIG. 5, through the dashboard (230), and the worker can check the user terminal identification information having a response time exceeding 3 ms. Through monitoring the dashboard (230), the worker can identify user terminals that frequently experience inconvenience due to delayed service provision, and can identify the cause of the delay in service provision to resolve the delay problem.

[0093] FIG. 7 shows a block diagram of an electronic device (100) according to one embodiment.

[0094] The electronic device (100) may include a processor (710) and a memory (720), according to one embodiment. The electronic device (100) illustrated in FIG. 7 only illustrates components related to the present embodiment. Therefore, those skilled in the art will understand that, in addition to the components illustrated in FIG. 7, other general components may be included. Descriptions of content overlapping with FIGS. 1 to 6 will be omitted.

[0095] The electronic device (100) may further include a communication unit. The communication unit may include a transceiver, and the transceiver is a device for performing wired / wireless communication and may communicate with an external electronic device. The external electronic device may be a terminal or a server. The communication technologies used by the transceiver may include GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), LTE (Long Term Evolution), 5G, WLAN (Wireless LAN), Wi-Fi (Wireless-Fidelity), Bluetooth™, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), ZigBee, NFC (Near Field Communication), etc.

[0096] The processor (710) can control the overall operation of the electronic device (100) and process data and signals. The processor (710) can be composed of at least one hardware unit. In addition, the processor (710) can operate by one or more software modules generated by executing program codes stored in the memory (720). The processor (710) can include a memory, and the processor (710) can control the overall operation of the electronic device (100) and process data and signals by executing the program codes stored in the memory.

[0097] The processor (710) may be implemented as a computer or similar device based on hardware, software, or a combination thereof. In terms of hardware, the processor (710) may be implemented in the form of an electronic circuit that processes electrical signals to perform control functions, and in terms of software, the processor (710) may be implemented in the form of a program that drives the hardware processor (710). Meanwhile, unless otherwise specified in the above description, the operation of the electronic device may be interpreted as being performed under the control of the processor (710). That is, when the modules implemented in the system for analyzing the above-described data are executed, the modules may be interpreted as controlling the processor (710) to perform the above-described operations of the electronic device.

[0098] For example, the processor (710) may obtain first data regarding the response time to a service request from a plurality of user terminals, for each service request of an application, through the communication unit. In addition, the processor (710) may generate second data regarding the service provision performance for each service based on the first data of the plurality of user terminals, and display a dashboard including the second data through a display included in the electronic device (100) or a separate display connected to the electronic device (100).

[0099] The memory (720) can store various types of information. The memory (720) can store data temporarily or semi-permanently. For example, the memory (720) of the electronic device (100) can store an operating system (OS) for operating the electronic device (100), data for hosting a website, a program for generating Braille, or data related to an application (e.g., a web application). In addition, the memory (720) can store modules in the form of computer code, as described above.

[0100] Examples of memory (720) may include a hard disk drive (HDD), a solid state drive (SSD), flash memory, read-only memory (ROM), random access memory (RAM), etc. Such memory (720) may be provided as a built-in type or a detachable type.

[0101] In summary, the various embodiments may be implemented through various means. For example, the various embodiments may be implemented through hardware, firmware, software, or a combination thereof.

[0102] In the case of hardware implementation, the methods according to various embodiments may be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, etc.

[0103] When implemented via firmware or software, the methods according to various embodiments may be implemented in the form of modules, procedures, or functions that perform the functions or operations described above. For example, software code may be stored in memory and executed by a processor. The memory may be located within or outside the processor and may exchange data with the processor via various known means.

[0104] The electronic device according to the above-described embodiments may include a processor, a memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with an external device, a user interface device such as a touch panel, a key, a button, etc. The methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program instructions executable on the processor. Here, the computer-readable recording medium includes a magnetic storage medium (e.g., read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and an optical reading medium (e.g., CD-ROM, DVD: Digital Versatile Disc)). The computer-readable recording medium may be distributed to computer systems connected to a network, so that the computer-readable code may be stored and executed in a distributed manner. The medium may be readable by a computer, stored in a memory, and executed by a processor.

[0105] The present embodiment may be represented by functional block configurations and various processing steps. These functional blocks may be implemented by various hardware and / or software configurations that perform specific functions. For example, the embodiment may employ direct circuit configurations such as memory, processing, logic, look-up tables, etc., which may perform various functions under the control of one or more microprocessors or other control devices. Similarly, the present embodiment may be implemented in a programming or scripting language such as C, C++, Java, assembler, etc., including various algorithms implemented as a combination of data structures, processes, routines, or other programming configurations. Functional aspects may be implemented as algorithms that execute on one or more processors. Furthermore, the present embodiment may employ conventional techniques for electronic configuration, signal processing, and / or data processing. Terms such as "mechanism," "element," "means," and "composition" can be used broadly and are not limited to mechanical or physical structures. These terms can also encompass a series of software routines, such as those associated with a processor.

[0106] The above-described embodiments are merely examples, and other embodiments may be implemented within the scope of the claims set forth below.

Claims

1. In a method for analyzing data of an electronic device, A step of obtaining first data regarding a response time for a service request from a plurality of user terminals, for each service request of the application; A step of generating second data regarding service provision performance for each service based on first data of the plurality of user terminals; and A data analysis method comprising the step of displaying a dashboard including the second data.

2. In paragraph 1, The above first data is, A data analysis method comprising user terminal identification information, information about requested services, and response times for service requests.

3. In paragraph 1, A data analysis method wherein the response time for the above service request is the time from the time the service is requested to the time the service is provided to the user terminal.

4. In paragraph 1, The services of the above application are: Includes services that provide the first page, The response time for the above service request is: A data analysis method including the time from the time when provision of the first page is requested to the time when the first page is provided to the user terminal.

5. In paragraph 1, A data analysis method wherein the response time for the above service request is the time measured by the user terminal.

6. In paragraph 1, The above application is a data analysis method for an application that provides an e-commerce service.

7. In paragraph 1, The step of generating the above second data is: A step of confirming information about a plurality of response times corresponding to a first service based on the first data of the plurality of user terminals; and A data analysis method comprising a step of determining the service provision performance of the first service based on information about the plurality of response times.

8. In paragraph 7, The step of determining the service provision performance of the above first service is: A step of determining a representative response time of the first service based on information about the plurality of response times; and A data analysis method comprising a step of determining a representative response time of the first service as a service provision performance of the first service.

9. In paragraph 1, The services of the above application are: A first service providing the first page from the second page, and a second service providing the first page from the third page, The above second data is, A data analysis method comprising data regarding the service provision performance of the first service and data regarding the service provision performance of the second service.

10. In paragraph 1, The above data analysis method is, A step of checking data exceeding a threshold based on the second data; and Further comprising the step of providing a notification to a preset worker regarding data exceeding the threshold, A data analysis method, wherein the above-described preset worker includes a worker set for each service of the application.

11. In paragraph 1, The above data analysis method is, A step of checking data exceeding a threshold based on the second data; and A data analysis method further comprising the step of providing a notification to a user terminal corresponding to data exceeding the above threshold.

12. In paragraph 10, The service of the above application includes at least one backend service that is processed in a preset order, At least one type of backend service to be processed, and the processing order of said at least one backend service are preset in response to said service request, A data analysis method, wherein a threshold corresponding to the above service request is set based on the sum of the processing times of at least one backend service.

13. In paragraph 12, If the above second data includes data exceeding the threshold value, If it is confirmed that the cause of the second data exceeding the threshold is at least one of the processing times of the at least one backend service, a step of providing a notification to the first worker; and A data analysis method comprising the step of providing a notification to a second worker when it is confirmed that the cause of exceeding the above threshold is not the processing time of the backend service.

14. In Article 13 The above first worker is a worker who performs work related to the development of the above application, A data analysis method, wherein the second worker is a worker who performs work related to network communication between the electronic device and the user terminal.

15. In paragraph 10, The above threshold is an analysis method determined based on the importance of the service.

16. In paragraph 1, A step of confirming third data that satisfies a preset condition based on the first data; and A step of displaying a dashboard including the third data, The above-mentioned conditions are: A data analysis method comprising at least one of a condition regarding a date and a condition regarding identification information of a user terminal.

17. A non-transitory computer-readable recording medium having recorded thereon a program for executing the method of paragraph 1 on a computer.

18. As an electronic device, memory; and A processor comprising: Obtaining first data regarding the response time for each service request of an application from multiple user terminals, Generate second data regarding service provision performance for each service based on first data of the plurality of user terminals, and An electronic device that displays a dashboard including the second data.

Citation Information

Patent Citations

  • Method and system for analyzing performance ofproviding services to client terminal

    KR1020070080313A

  • Operating method for electronic apparatus for providing information and electronic apparatus supporting thereof

    KR102618465B1

  • Distributed tracing for application performance monitoring

    US11240126B2

  • Network management device, network management system and network management method

    US20220116296A1

  • KR20220125176A