System for providing data collection service and service server control method of system
The system automatically generates codes for data collection based on customer segments using a segment service server with a user interface and parallel processing, addressing manual code writing issues and memory constraints, enhancing efficiency and reliability.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-05
- Publication Date
- 2026-03-12
AI Technical Summary
Current data collection systems require manual code writing for segment requests, leading to increased time and risk of human error, and consume significant runtime memory, potentially causing crashes due to memory limitations.
A system that automatically generates codes for data collection based on customer-defined segments using a segment service server, which includes a user interface for parameter input, template codes, and parallel processing of units to reduce runtime memory requirements.
This approach significantly reduces code generation time, minimizes human error, and prevents memory-related crashes by executing units as subprocesses, thereby optimizing memory usage and processing speed.
Smart Images

Figure KR2024013441_12032026_PF_FP_ABST
Abstract
Description
A system providing data collection services and a method for controlling a service server of the system
[0001] The present invention relates to a system for providing a data collection service that collects data according to a segment, which is a service measurement item according to a Service Level Agreement (SLA), and a method for controlling a service server that provides the data collection service according to the segment in the system.
[0002] Typically, a Service Level Agreement (SLA) refers to a contract to provide a predefined level of service to customers. These SLAs can provide collected data on metrics desired by customers to indicate the level of service provided.
[0003] To provide the above-described collected data, the business operator may receive request information from the customer, including measurement items, i.e., segments. Based on the segment request information, the business operator may generate codes for data collection, collect data based on the generated codes, and process the collected data into a format desired by the customer before providing it. The customer may then receive the processed data collection results in response to the segment request information provided, and based on the received data collection results, evaluate the level of service provided.
[0004] However, to collect data based on this segment request information, the current system requires workers to manually write code. This increases the time required to provide the collected data corresponding to the segment request information. Furthermore, manually writing code increases the risk of human error in the resulting code, and the verification process for these errors also increases the time required to verify the existence of such errors.
[0005] Accordingly, more effective methods are being actively researched to provide customers with data collection results based on segment request information more quickly, while reducing the burden on workers due to code writing and lowering the possibility of human error due to the code writing.
[0006] Meanwhile, the service for collecting data based on the segment request information can be performed through a search request to a collection server storing various raw data. The raw data may be data collected from a service provider providing the data collection service, i.e., multiple service devices providing any service related to the provider. For example, the raw data may include extensive data related to communication services or multimedia services provided by the provider to users of any service device.
[0007] Therefore, the data customers typically request from businesses via segments can be massive in volume. When customers request multiple segments, executing the codes required for these segment requests requires a significant amount of runtime memory. This presents a problem: if available memory runs out, the process can terminate or freeze, potentially resulting in a crash.
[0008] However, physically expanding memory not only presents cost issues, but also limits the size of expandable memory. Therefore, a method is needed to reduce the runtime memory required to execute the codes for data collection in response to segment requests, thereby enabling the codes for data collection in response to segment requests to be executed even with limited memory.
[0009] The present invention aims to solve the above-mentioned problems and other problems, and provides a system for providing a data collection service that can automatically generate codes capable of collecting data according to a type or kind of segment requested by a customer, and a method for controlling a service server constituting the system.
[0010] In addition, the present invention aims to provide a data collection service providing system capable of reducing the size of runtime memory resulting from the execution of codes for collecting data according to a segment request, and a method for controlling a service server constituting the system.
[0011] According to one aspect of the present invention to achieve the above or other purposes, a data collection service providing system that provides data detection results of service devices matching a segment requested by a customer according to an embodiment of the present invention is characterized by including at least one collection server that collects data related to the states of the plurality of service devices from a plurality of service devices, a segment service server that provides a user interface capable of receiving parameters of a segment including standardized measurement items, generates at least one segment by type according to at least one type parameter included in the parameters of the segment input through the user interface, detects data corresponding to each of the segments from the at least one collection server, and generates the detected data as response data corresponding to the segment, and a customer terminal that receives the user interface from the segment service server, transmits the parameters of the segment input or selected through the user interface to the segment service server, and receives the response data from the segment service server in response to the transmission of the segment parameters.
[0012] In one embodiment, the segment service server is characterized in that it creates one segmented segment for different segments having the same type parameter among a plurality of segments received from the customer terminal.
[0013] In one embodiment, the segment service server is characterized in that, when a segment is generated for a plurality of segments having the same type parameter, the parameters of each of the plurality of segments having the same type parameter are applied to each of the generated segments, and each time the applied parameters are different, the segment service server detects data according to each of the segments from the at least one collection server, thereby detecting data corresponding to each of the plurality of segments having the same type parameter.
[0014] In one embodiment, the segment service server is characterized in that it detects at least one template code corresponding to one of the segments based on a type parameter corresponding to one of the segments, generates at least one unit for executing each of the detected at least one template code, and changes a parameter input to the template code of each of the generated at least one unit, thereby detecting data corresponding to each of a plurality of segments having the same type parameter by overlappingly using the at least one unit.
[0015] In one embodiment, the unit includes a sub-process module capable of executing the template code as a new process, and the segment service server is characterized in that it executes a plurality of units as a plurality of different sub-processes that are processed in parallel.
[0016] In one embodiment, at least one of the plurality of segments is a composite segment in which a plurality of subdivided segments are combined through a logical combination relationship, and the segment service server is characterized in that it detects data corresponding to each of the plurality of subdivided segments having the logical combination relationship from the at least one collection server, and performs logical operations on the detected data according to the logical combination relationship between the plurality of segments to generate response data according to the composite segment.
[0017] In one embodiment, the logical association relationship is characterized by including at least one of union, intersection, difference, and complement.
[0018] In one embodiment, the parameters of the segment include a type parameter defining a specific state of the service device, a target parameter defining a service device that detects data matching the segment, and at least one target parameter defining a determination criterion for determining a specific state of the service device according to the type parameter or a local condition or a temporal condition for detecting the data, and the user interface is characterized in that it is a user interface that includes standardized items in which values selectable by a user of the customer terminal are preset for at least one of the parameters of the segment, and can receive a value of one item selected by the user as a parameter of a specific segment.
[0019] In one embodiment, the user interface is characterized by including, as standardized items for the type parameter, items that allow selection of whether a particular application is installed or not and items that allow selection of whether a particular application is in use or not.
[0020] In one embodiment, the user interface is characterized in that it includes at least one of items for selecting an operating system version of different service devices and items for selecting a type of different service devices as standardized items for the target parameter.
[0021] In one embodiment, the user interface is characterized in that it includes at least one of the following items as standardized items for the target parameter: items for selecting unique information or a name of a preset specific application, items for selecting a region for detecting data of service devices matching the segment, and items for selecting a period for detecting data of service devices matching the segment.
[0022] In one embodiment, the segment service server is characterized in that it processes data detected from the at least one collection server into response data representing the regional distribution status and changes over time of service devices matching the segment by classifying the data by region or time, and transmits the processed response data to the customer terminal in response to transmission of the segment parameters.
[0023] In one embodiment, the at least one collection server is a server that is each communicably connected to at least one service device and provides content or data requested from at least one service device to which the communication is connected, and the data collected by the collection server includes specification information or history information of the service device for reproducing or executing the content or data provided by the collection server.
[0024] In one embodiment, the data collection service providing system is classified according to the characteristics of the service device that collects data, and includes a plurality of collection servers that collect data related to the status of the service device from service devices each having different characteristics, and the segment service server defines characteristics of service devices that detect data according to parameters of segments input through the user interface and collection servers corresponding to the characteristics, and is characterized in that data of service devices having different characteristics are detected simultaneously from a plurality of different collection servers.
[0025] In addition, according to an embodiment of the present invention, in a system including a collection server that collects status-related data from a plurality of service devices, and a segment service server that receives a request from a customer terminal for a segment defining a status of a specific service device and provides data of service devices matching the segment from the collection server, a method for controlling the segment service server is characterized by including the steps of: providing a user interface for receiving parameters of a segment including standardized measurement items to the customer terminal; receiving parameters of the segment input or selected through the user interface from the customer terminal; generating at least one segment divided by type according to at least one type parameter included in the parameters of the received segment; detecting status-related data matching each of the segments from status-related data collected by the collection server; processing the detected status-related data into a form requested by the customer terminal to generate response data; and providing the response data to the customer terminal in response to transmission of the parameters of the segment.
[0026] In one embodiment, at least one of the segmented segments corresponds to a plurality of different segments having the same type parameter, and the step of detecting state-related data matching each of the segmented segments includes the steps of: applying parameters of each of the plurality of different segments having the same type parameter to any one of the segmented segments corresponding to the plurality of different segments having the same type parameter; applying parameters of each of the plurality of different segments having the same type parameter to any one of the segmented segments; and detecting state-related data according to any one of the segmented segments from the at least one collection server each time the applied parameters change, thereby detecting state-related data corresponding to each of the plurality of different segments having the same type parameter.
[0027] In one embodiment, the step of generating at least one segment includes the step of detecting at least one template code corresponding to the segmented segment based on a segment type parameter of the segmented segment, and the step of generating at least one unit including a sub-process module capable of executing the detected at least one template code as a new process, and the step of detecting state-related data matching each of the segmented segments includes the step of inputting parameters of the segmented segment into the template code of each of the at least one generated units, and the step of individually executing at least one unit including the template code into which the parameters are input to detect state-related data according to the execution of each unit from the collection server.
[0028] In one embodiment, the step of detecting status-related data according to the execution of each unit from the collection server is characterized in that the step of executing at least some of the at least one unit simultaneously through parallel processing.
[0029] According to at least one of the embodiments of the present invention, the present invention provides an API (Application Programming Interface) for standardizing a segment requested by a customer, receives information on types and parameters of the standardized segment from the customer through the API, and automatically generates a code capable of collecting data according to the segment request by inputting the parameters into a preset template code according to the type of the standardized segment. Accordingly, there is an advantage in that the time for generating codes according to the segment request can be greatly shortened. In addition, by inputting the received parameters into a preset template code according to the type of the standardized segment to generate the codes, there is an effect in that the possibility of human error can be greatly reduced.
[0030] Furthermore, the present invention segments customer-requested segments and generates execution blocks, or units, based on the template code for each segment. Furthermore, when identical or similar segments exist, the units are executed with only different parameters, allowing the same unit to be used repeatedly across different segments. Accordingly, the present invention eliminates the duplication of codes for collecting data in response to segment requests, thereby reducing the size of runtime memory.
[0031] Furthermore, the present invention enables each unit to be executed in a subprocess state by equipping each unit with a subprocess module. Accordingly, the runtime memory used for executing the subprocess of each unit can be returned whenever the execution of each unit is completed. Accordingly, the present invention has the effect of reducing the size of the runtime memory required to execute codes for collecting data according to segment requests, and preventing crashes due to insufficient memory.
[0032] FIG. 1 is a diagram illustrating the configuration of a system that provides a service for collecting data according to a segment request, according to an embodiment of the present invention.
[0033] FIG. 2 is a configuration diagram illustrating a configuration of a segment service server that receives segment request information and provides data collection results corresponding to the segment request information in a system according to an embodiment of the present invention.
[0034] FIG. 3 is a flowchart illustrating an operation process in which a segment service server according to an embodiment of the present invention provides data collection results according to segment request information received from a customer.
[0035] Figure 4 is an example diagram providing an example of an API that can standardize a segment requested by a customer, provided by the segment service server.
[0036] FIG. 5 is an exemplary diagram illustrating an example in which a segment service server according to an embodiment of the present invention determines units corresponding to multiple segments.
[0037] FIG. 6 is an exemplary diagram showing examples of units generated with template codes in a segment service server according to an embodiment of the present invention.
[0038] FIG. 7 is a flowchart illustrating an operation process in which a segment service server according to an embodiment of the present invention processes data collection results for each unit and provides the results to a customer according to a customer's request.
[0039] FIGS. 8 to 13 are exemplary diagrams illustrating examples of response data processed by a segment service server according to an embodiment of the present invention based on data collection results according to a requested segment, according to a customer's request.
[0040] FIG. 14 illustrates an example in which multiple collection servers are provided, in which multiple collection servers of a data collection system according to an embodiment of the present invention are provided for each OS version of the application target.
[0041] It should be noted that the technical terms used herein are used merely to describe specific embodiments and are not intended to limit the present invention. Furthermore, singular expressions used herein include plural expressions unless the context clearly dictates otherwise. The suffixes "module" and "part" used in the following description for components are assigned or used interchangeably solely for the convenience of writing the specification, and do not in themselves have distinct meanings or roles.
[0042] In this specification, the terms “comprises” or “includes” should not be construed to necessarily include all of the components or steps described in the specification, and some of the components or steps may not be included, or additional components or steps may be included.
[0043] In addition, when describing the technology disclosed in this specification, if it is determined that a detailed description of a related known technology may obscure the gist of the technology disclosed in this specification, the detailed description is omitted.
[0044] In addition, the attached drawings are only intended to facilitate easy understanding of the embodiments disclosed in this specification, and the technical ideas disclosed in this specification are not limited by the attached drawings, and should be understood to include all modifications, equivalents, or substitutes included in the spirit and technical scope of the present invention. In addition, not only each embodiment described below, but also a combination of embodiments may correspond to the spirit and technical scope of the present invention as modifications, equivalents, or substitutes included in the spirit and technical scope of the present invention.
[0045] Hereinafter, embodiments disclosed in this specification will be described in detail with reference to the attached drawings.
[0046] FIG. 1 is a diagram illustrating the configuration of a system (1) that provides a service for collecting data according to a segment request, according to an embodiment of the present invention.
[0047] Referring to FIG. 1, a system (1) that provides a service that provides a data collection result according to a segment request according to an embodiment of the present invention, i.e., a segment data collection service, may include a collection server (30) that collects data related to the provided service from various service devices.
[0048] Here, the service devices (50-1, 50-2, 50-3) provide various services according to the user's request, and can be categorized in various ways depending on the service provided. For example, the service device may be a video device providing video content or an audio device providing audio content. In other words, the service device may be a multimedia device providing a service that provides multimedia content.
[0049] Here, the multimedia content provided by the service devices (50-1, 50-2, 50-3) may include broadcast content. In this case, the multimedia device may be a broadcast receiving device, a satellite or terrestrial broadcast receiving terminal, or a TV device. Alternatively, the service devices (50-1, 50-2, 50-3) may be a streaming device that receives and plays streaming broadcasts. Accordingly, as shown in FIG. 1, various devices such as a TV, a digital broadcasting terminal, or a PMP that receives and plays broadcast content may be included in the service device.
[0050] Alternatively, the service device may be a device capable of installing and executing a specific communication service or a specific application, and providing a service based on the execution of the specific application. For example, various devices capable of installing and executing applications or programs, such as a smartphone, a laptop computer, a slate PC, a tablet PC, or an ultrabook, may be included in the service device (50-1, 50-2, 50-3).
[0051] In addition, with the advancement of technology, a separate device or component that provides various multimedia services can be installed in a vehicle. In this way, a device or component installed in a vehicle can be equipped with the function of receiving and playing back not only multimedia content but also broadcast content. In addition, a device or component installed in a vehicle can be configured to install an application or program that can execute an arbitrary function (e.g., a game function or a multimedia content playback function) according to a user's request, separately from the vehicle's control system, and when an application or program is installed, the functions of the installed application or program can be provided to the vehicle's passengers. In this case, a device or component integrated with the vehicle that is installed in the vehicle and provides multimedia content, broadcast content, or a service according to the execution of the application or program can be included in the service device (50-1, 50-2, 50-3).
[0052] Meanwhile, the service device (50-1, 50-2, 50-3) may be a device that provides a service provided by at least one collection server (30). For example, the service device (50-1, 50-2, 50-3) may be a device that requests content from the collection server (30), receives the content accordingly, and plays the content, or receives application or program data from the collection server (30) to provide the service.
[0053] In this case, the collection server (30) can obtain data of a service device (50-1, 50-2, 50-3) requesting the multimedia content, broadcast content, application or program data while providing data for the multimedia content, broadcast content, application or program data requested by the service device. For example, the collection server (30) can obtain data of the multimedia content or broadcast content requested by the service device (50-1, 50-2, 50-3), and may be history information or specification information for playing the multimedia content or broadcast content in the service device (50-1, 50-2, 50-3). For example, information of an application or program for playing the multimedia content or broadcast content, information of an operating system, or history information of content or data requested by the service device (50-1, 50-2, 50-3) can be collected by the collection server (30).
[0054] In this case, the collected information may be information necessary to determine whether the service requested by the service device (50-1, 50-2, 50-3) can be provided by the service device (50-1, 50-2, 50-3). Accordingly, the acquired information may be information that the collection server (30) naturally receives from the service device (50-1, 50-2, 50-3) in order to provide the service requested by the service device (50-1, 50-2, 50-3), or may be information provided by the user of the service device (50-1, 50-2, 50-3). Alternatively, the information obtained above may be information obtained from the service device (50-1, 50-2, 50-3) by the collection server (30) in return for providing a service, such as content or application requested by the service device (50-1, 50-2, 50-3).
[0055] For example, while providing a service requested by the service device (50-1, 50-2, 50-3), the collection server (30) may obtain information on whether a specific application or program is installed and the last time the specific application or program was used. In this case, if the specific application or program is currently in use, information at the current time may be obtained as information at the last time of use.
[0056] Meanwhile, the collection server (30) can obtain various information related to the service devices (50-1, 50-2, 50-3) as described above, for example, a TV device or a TV platform (50-1), a mobile device (50-2) such as a smart phone, a separate service device mounted on a car, or a service device (50-3) such as a component integrated with a car control system. In this case, the obtained information may include specification information of each service device for playing or executing specific content on each service device, information on an application or program for playing or executing the specific content on each service device, or information on whether a specific application or program is installed on each service device or the usage status of the specific application or program.
[0057] These pieces of information are data generated by the service devices in a digital environment, and the collection server (30) can collect the information for providing content or data related to applications or programs requested by each service device, or as compensation for providing the content or data. To this end, the collection server (30) can be linked to at least one content provision server or data provision server (not shown) that provides multimedia content, broadcast content, or data related to a specific application or program.
[0058] And when a request for multimedia content, broadcast content, or data related to an application or program is received from the above service devices, specification information for playing the content or executing the application or program may be requested from the service devices, and the information received from the service devices may be collected as data of the service devices. In this case, both the specification information received from each service device and the request for multimedia content, broadcast content, or data related to an application or program received from each service device may be collected as data of the service devices.
[0059] In response to a request for data related to the multimedia content, broadcast content, or application or program, the collection server (30) may request at least one server capable of providing the multimedia content, broadcast content, or application or program-related data to provide the requested content or data. Then, in response to the request from the collection server (30), at least one content providing server or data providing server may provide the requested content or data to the service device.
[0060] Meanwhile, the segment service server (20) may retrieve data from the collection server (30) according to a customer's request and provide the data retrieval results as a response to the customer's request. In this case, the customer's request may include at least one measurement item to indicate the level of service provided to the customer. Hereinafter, measurement items according to the customer's request for detecting data matching the customer's desired conditions, such as the number of service devices by region or time that match the customer's desired conditions, from the data of the service devices collected by the collection server (30) will be referred to as segments.
[0061] The segment service server (20) can analyze a customer's request, i.e., a segment, and detect data of service devices matching the segment among data of service devices stored in the collection server (30). The data detection results can be processed into a format according to the customer's request and provided to the customer. For example, the segment service server (20) can process the data detection results into a regional distribution status of service devices matching the customer's request and provide the processed data to the customer. Alternatively, the segment service server (20) can process the data detection results into a graph showing how the number of service devices matching the customer's request changes over time and provide the processed data to the customer.
[0062] Meanwhile, since the services typically provided by businesses are limited, the types and kinds of segments requested by customers are also limited. Therefore, the segment service server (20) can standardize identical or similar segments according to type, subject, and target, and provide an API capable of standardizing segments to the terminal (10) of the customer requesting the segment by accessing the segment service server (20). That is, when the customer makes a request, the segment service server (20) provides a user interface (UI) capable of generating a standardized segment to the customer terminal (10), and the customer can input information about the type of the standardized segment, the subject of the segment, and the segment target through the user interface provided by the segment service server (20), i.e., the API.
[0063] Here, the customer terminal (10) is a device for accessing the segment service server (20) to request a segment, and various devices such as a smart phone, a laptop computer, a PDA (personal digital assistant), a slate PC, a tablet PC, an ultrabook, etc. can be used. The customer terminal (10) may include a communication unit that enables wired or wireless communication with the segment service server (20), and when communication with the segment service server (20) is established, data for generating an API can be received from the segment service server (20), and the API can be generated based on the received data and displayed on the display unit.
[0064] And, through the API displayed on the display unit of the customer terminal (10), information input or selected by the customer, such as the type of standardized segment input or selected by the customer, the segment target, and segment target information, can be transmitted to the segment service server (20) as parameters for the standardized segment. In order to provide and process such API, the segment service server (20) can be equipped with an API provision / processing unit (22).
[0065] Here, the segment type parameter may indicate the type of data desired by the customer. For example, information regarding the status of a specific service device desired by the customer may be included in the segment type. For example, the segment type may include a state in which a specific application is installed or not installed, or a state in which the specific application is used or not used. Depending on the segment type, data of service devices that have the specific application installed or not installed, or service devices that use or not use the specific application, may be detected from the collection server (30) according to the segment type.
[0066] Meanwhile, the target parameter of the above segment may refer to a service device that detects the data desired by the customer. In other words, it may be used to define a service device for detecting the desired data. For example, the target of the above segment may include information about the type of service device or operating system (OS) version information.
[0067] The target parameter of the segment may refer to a target or period of time that serves as the customer's desired data goal or purpose. For example, if the segment type is a state in which a specific application is installed or not installed, or a state in which the specific application is being used or not being used, information about the specific application may be entered as the segment target parameter. In this case, unique information, such as the name or ID of the specific application, may be entered as the segment target parameter.
[0068] Here, the segment target parameter may not be limited to information about a specific application. For example, if the segment type relates to whether a specific associated device is used in conjunction with a service device, the segment target may be the specific associated device.
[0069] Additionally, the segment target parameter may include information regarding a period desired by the customer. In this case, for example, the customer may select and designate a certain period as the segment target parameter, and the segment service server (20) may provide the customer, through the customer terminal (10), with the data collected by the collection server (30) during the designated period, the data collection results detected according to a segment type that reflects the segment target parameter input by the customer and other segment target parameters.
[0070] An example of an API that is provided to a customer terminal (10) by a segment service server (20) in this way so that a standardized segment can be received from a customer will be examined in more detail with reference to FIG. 4 below.
[0071] Meanwhile, as described above, the segment service server (20) of the present invention provides at least one segment information including a segment type parameter, a segment target parameter, and a segment target parameter in a formatted manner so that a standardized segment can be requested from a customer. Accordingly, instead of the customer directly inputting the type, target, or target of a segment, the segment service server (20) can present selectable standardized items to the customer, and provide an API to the customer through the customer terminal (10) that can input a parameter according to one of the items selected by the customer as the standardized segment type, target, or target.
[0072] In this case, when a parameter for a segment item is selected or entered by a customer, the API may change at least one parameter selectable by the customer in another segment item associated with the item entered by the customer. For example, the segment target parameter is a parameter associated with the segment type, and when the segment type is changed, the segment target selectable by the customer may change.
[0073] For example, if the customer-selected segment type relates to the installation or use of a specific application, the API may display selectable items, such as the application's name or ID, as input for segment target parameters. Conversely, if the customer-selected segment type relates to the use of a specific linked device, the API may display selectable items, such as information about various linked devices that can be linked to the service device, as segment targets.
[0074] In this way, when a customer's input, i.e., a parameter, for each item of a standardized segment is received through an API, the segment service server (20) can generate codes for detecting data of service devices according to the segment based on each item of the standardized segment and the parameter corresponding to each item. In this case, the segment service server (20) can automatically generate codes for detecting data of service devices matching the received customer request, i.e., the segment, by using template codes preset for each item of the standardized segment.
[0075] And the segment service server (20) can execute the generated codes to detect data of service devices matching the segment from the collection server (30) and provide the detected data collection results to the customer terminal (10) as a response to the segment. To this end, the segment service server (20) can be equipped with a segment operation unit (21) for processing the segment requested by the customer and providing the data collection results matching the segment.
[0076] Here, a customer can request data of service devices including at least one segment from a segment service server (20) via a customer terminal (10). That is, a customer's request may be a request including one or more segments, and a customer's request including at least one segment will hereinafter be referred to as a segment request.
[0077] In this way, when a segment request is received from a customer terminal (10), the segment operation unit (21) can segment the segment request into at least one segment and generate codes for detecting data of service devices for each segment.
[0078] For example, the segment operation unit (21) can detect the type of segment from the type parameter of the segment selected by the customer for each segment, and can detect a template code according to the detected segment type among template codes written in advance according to each segment type.
[0079] Here, the template code may refer to a code in which values corresponding to the parameters of the segment are not entered. Accordingly, the segment operation unit (21) may generate a code, i.e., a unit, for detecting data of service devices corresponding to any one of the segments by inputting other parameters entered by the customer, such as the target parameter of the segment or the segment target parameter, into the detected template code.
[0080] In this case, if a single segment includes multiple status conditions for a service device, it can be subdivided into multiple segment types according to each status condition. Furthermore, if it includes multiple segment types, a respective template code can be detected for each segment type, and units can be generated based on each template code. In this case, a single segment can be subdivided into multiple segments, and thus, multiple units can be generated by the single segment.
[0081] Here, the unit may mean a state in which the parameters of the segment are input into a template code according to the type of a specific segment. Accordingly, the unit may be a single completed code capable of collecting data of service devices according to any one of the segments. In addition, the segment operation unit (21) may individually execute each unit to collect data of service devices corresponding to each of the segments. In this way, since the units can be individually executed, the segment operation unit (21) may simultaneously execute multiple units through parallel processing.
[0082] Meanwhile, each of the above units may include a subprocess module capable of creating a subprocess. In this case, the subprocess module is connected to the main process via input / output pipes, so that when the execution of the subprocess is completed, the execution result of the subprocess can be returned to the main process. When each unit is executed in the form of a subprocess in this way, the subprocess returns the runtime memory it occupies when the execution is completed, so that the runtime memory occupied for the execution of each unit can be returned whenever the execution of each unit is completed.
[0083] Therefore, unlike when the entire code is executed as a single process, which requires a large amount of runtime memory because memory is occupied until the entire code completes execution, executing it as a subprocess unit like this has the advantage of being able to reuse the memory returned upon completion of each subprocess. This significantly reduces the amount of runtime memory required for code execution.
[0084] Furthermore, by subdividing segments into individual units and executing them as subprocesses, execution occurs individually for each subdivided unit, reducing the required runtime memory. Furthermore, since each unit can be individually processed in parallel, processing speed can be improved compared to processing the entire segment sequentially.
[0085] The above segment operation unit (21) executes each unit in the form of a sub-process, and when the execution results of each unit are collected, the collected execution results of each unit can be combined to produce a data collection result corresponding to the segment. For example, the segment operation unit (21) can combine the execution results of each unit based on the combination conditions of each unit according to the segment.
[0086] In this case, the above combination condition may include a logical operation such as and or or. Accordingly, the segment operation unit (21) may perform a logical operation on the execution results of each unit according to the combination condition included in the segment, and may produce the logical operation result as a data collection result according to the segment.
[0087] Meanwhile, the segment operation unit (21), when the data collection results according to the segment are produced, can process the produced data collection results into a format desired by the customer and provide them. For example, the segment operation unit (21) can classify the data collection results by region or time, and process the data collection results in the form of visual information including graphic objects representing the data collection results classified by region or time. In addition, when the data collection results corresponding to the segment are processed in the segment operation unit (21), the API provision / processing unit (22) can provide the data collection results processed by the segment operation unit (21) to the customer terminal (10) in response to the segment requested by the customer.
[0088] FIG. 2 is a diagram illustrating a more detailed configuration of the segment service server (20) that receives segment request information and provides data collection results corresponding to the segment request information in the system according to the embodiment of the present invention described above.
[0089] Referring to FIG. 2, the segment service server (20) of the system (1) according to an embodiment of the present invention may be configured to include an API providing / processing unit (22) that provides an API to a customer terminal (10) for receiving parameter information of a standardized segment, such as a type, target, and other information of the standardized segment, from the customer terminal (10), and a segment operation unit (21) that provides data collection results of service devices corresponding to the segment according to customer request information including the type and parameters of the standardized segment, i.e., segment request information.
[0090] Here, the segment operation unit (21) may be configured to include a control unit (200), a segment detection unit (210), a memory (220), and a processing unit (230). Here, the components of the segment operation unit (21) illustrated in FIG. 2 are not essential for implementing the segment operation unit (21), and thus, the segment operation unit (21) described in this specification may have more or fewer components than the components listed in FIG. 2.
[0091] More specifically, among the above components, the segment detection unit (210) can perform a communication connection with at least one collection server (30) and detect data matching a customer's segment through at least one collection server (30) connected to the communication. In this case, the segment detection unit (210) can request the detection of data matching each unit that subdivides the segment to the at least one collection server (30) under the control of the control unit (200), and can receive the data detection result for each unit. Here, the segment detection unit (210) can request the data detection result for a plurality of units simultaneously to at least one collection server (30) according to the parallel processing of the control unit (200), and can also receive the data detection result for each of the plurality of units simultaneously from the at least one collection server (30).
[0092] Meanwhile, the memory (220) can store data that supports the functions of the segment operation unit (21). The memory (220) can store instructions or data for executing a program or application for executing functions that can be provided by the segment operation unit (21). It can also temporarily store input / output data.
[0093] As data to support the function of the segment operation unit (21), the memory (220) can store pre-written codes, i.e., template codes, according to each different type of segmented segment. Here, the codes may be codes for detecting segments requested by a customer. In addition, the template codes may be codes for detecting data of service devices in a specific state and may not include parameters for defining the specific state.
[0094] For example, the template code may be a code for detecting a service device on which application A is installed or a service device on which application A is not installed among the data of service devices collected by the collection server (30). In this case, the template code may be a code in which the 'specific application' is not described, and may be a code that does not include parameter information corresponding to a segment target, which is standardized segment information input through the API, and parameter information corresponding to a segment target.
[0095] Meanwhile, the types of standardized segments can vary greatly. For example, there may be various segment types based on different segment targets, such as whether a specific application is installed, whether the specific application has been used, or whether a specific linked device is used. In this case, template codes may correspond to each of the different segment types. Furthermore, the template code storage unit (221) may include template codes corresponding to each of the different segment types.
[0096] Meanwhile, the memory (220) can store parameters extracted from segment information input by the customer through the API provided to the customer terminal (10). For example, the segment type parameter, segment target parameter, and segment target parameter input through the API can be stored in the parameter storage unit (222).
[0097] Hereinafter, an area on the memory (220) where the above template codes are stored will be referred to as a template code storage unit (221), and an area on the memory (220) where the parameters of the segment are stored will be referred to as a parameter storage unit (222).
[0098] Meanwhile, the memory (220) can store the data detection results of the collection server (30) detected by the segment detection unit (210) according to the execution results of the above units as data corresponding to the customer's segment. To store such data detection results, the memory (220) can be equipped with a segment storage unit (223), and the control unit (200) can process the data detection results stored in the segment storage unit (223) and provide them to the customer terminal (10).
[0099] And the control unit (200) can control the overall function of the segment operation unit (21). Furthermore, the control unit (200) may be a control unit that controls the function of the segment service server (20), and in this case, the control unit (200) can control the function of not only the segment operation unit (21) but also the API provision / processing unit (22).
[0100] First, when the customer terminal (10) is connected to the communication, the control unit (200) controls the API provision / processing unit (22) to provide data for generating an API including items of a standardized segment to the customer terminal (10) in order to obtain each parameter of the segment. Then, the customer terminal (10) generates an API including a user interface including items of a standardized segment based on the generated data and displays it on the display unit, and the customer can input parameters for generating a segment by selecting or inputting items of each standardized segment of the API, for example, the type, object, and target of the segment. In addition, the input parameters can be received from the customer terminal (10) as information of a segment requested by the customer, i.e., segment request information.
[0101] To this end, the segment service server (20) may be equipped with a communication unit (not shown) including a communication module capable of performing a communication connection with a customer terminal (10) and at least one collection server (30).
[0102] Meanwhile, when parameters of a standardized segment received from the customer terminal (10), i.e., segment type parameters, segment target parameters, and segment target parameters, are received, the control unit (200) can generate a code for detecting data of service devices matching the segment from at least one collection server (30) based on each of the received parameters.
[0103] First, the control unit (200) can segment each of the multiple segments received from the customer into separate segments. For example, if the customer transmits a segment request containing three segments, the control unit (200) can segment the three segments included in the segment request information into separate segments.
[0104] Additionally, if a single segment includes multiple status conditions, i.e. multiple segment type parameters, the control unit (200) can subdivide the single segment into the multiple segment types. In this case, each of the subdivided segments can be distinguished as a separate segment.
[0105] In this case, at least some of the segmented segments or subdivided segments may have a logical connection relationship with other segmented segments or subdivided segments. For example, if the segment requested by the customer is 'Application A is installed and a service device using Application A', the control unit (200) may subdivide the segment into 'Application A is installed' and 'Application A is used'. In this case, the segmented segments may have a logical connection relationship of 'and', i.e., a logical connection relationship of 'sum', with each other.
[0106] Meanwhile, if at least one segment is generated according to the customer's segment request information, the control unit (200) can detect a template code corresponding to the segment type parameter of each of the at least one segment from the template code storage unit (221). In this case, if there are multiple segments having the same segment type parameter, the control unit (200) can detect only one template code corresponding to the segment type parameter of the multiple segments. Accordingly, only one template code can be detected for overlapping segment type parameters.
[0107] When a template code corresponding to each segment type parameter is detected, the control unit (200) can generate units including a sub-process module that generates each detected template code as a sub-process. Then, a unit matching the type of each segment (segment type parameter) can be detected, and other parameters of each segment, i.e., a segment target parameter and a segment target parameter, can be input to the detected unit. Then, at least one unit into which parameters have been input can be executed, and a data detection result according to the execution result of each unit can be received from the collection server (30).
[0108] Meanwhile, the control unit (200) can detect whether there are segments having a logical connection relationship. If there are segments having a logical connection relationship, the control unit can perform a logical operation on the data detection results according to the execution results of the units corresponding to each segment according to the logical connection relationship of the segments to generate a data detection result matching the segment requested by the customer.
[0109] The control unit (200) can process the generated data detection results according to the customer's request. For example, the control unit (200) can classify the data detection results by region or time. In this case, the data detection results can be processed into information indicating the regional distribution status of service devices matching the segment requested by the customer, or changes in the number of service devices matching the segment requested by the customer over time. The control unit (200) can then provide the processed information to the customer terminal (10) in response to the segment request.
[0110] For processing of the data detection results, the segment operation unit (21) may further include a processing unit (230). The processing unit (230) may process the data detection results under the control of the control unit (200) and perform a function to display the data detection results, which are digitized or classified by region or time, etc., as visual information such as graphic objects.
[0111] Meanwhile, in the above description, the API providing / processing unit (22) is integrated with the segment operation unit (21) and is configured to be controlled by the control unit (200) of the segment operation unit (21). However, the API providing / processing unit (22) may be configured separately from the segment operation unit (21). For example, the API providing / processing unit (22) may be implemented as a separate web server distinct from the segment operation unit (21).
[0112] In this case, the segment service server (20) can perform the function of the segment operation unit (21). In addition, a separate server can be provided between the segment service server (20) and the customer terminal (10) that provides the customer terminal (10) with an API for providing standardized segment items to the customer and that performs the function of the API provision / processing unit (22) that provides the segment service server (20) with information on segment items entered by the customer through the API, i.e., parameters.
[0113] Meanwhile, FIG. 3 is a flowchart illustrating the operation process of the segment service server (20) according to the embodiment of the present invention described above, which provides data collection results according to segments received from customers. FIG. 4 is an exemplary diagram showing an example of an API provided by the segment service server that can standardize segments requested by customers. FIG. 5 is an exemplary diagram illustrating examples of forming units that can be repeatedly used in multiple segments requested by customers, and FIG. 6 is an exemplary diagram illustrating examples of units generated using template codes.
[0114] First, referring to FIG. 3, when a segment creation request is received from a customer terminal (10) connected to communication, a segment service server (20) according to an embodiment of the present invention can provide data for creating an API for providing items of a standardized segment to the customer terminal (10) (S300).
[0115] In this case, if the API provision / processing unit (22) is implemented as a separate server, the server performing the role of the API provision / processing unit (22) can provide data for API generation to the customer terminal (10) instead of the segment service server (20).
[0116] Then, the customer terminal (10) can generate an API having a user interface including standardized segment items based on the received data, display the API on the display unit, and receive selection of standardized segment items from the customer.
[0117] Figure 4 is an example diagram providing an example of an API that can standardize a segment requested by a customer, provided by the segment service server.
[0118] Referring to FIG. 4, a customer can select each standardized segment item through the user interface of the API or directly input the contents of a segment item. For example, in the user interface shown in FIG. 4, the 'type' segment item (401) is an item for receiving a parameter for the status condition of the service device from which data will be collected (e.g., whether installed or in use), that is, the type of segment, and the 'country' segment item (402) may be an item for setting a regional condition as a parameter for the segment target. In addition, the 'product' segment item (403) may be a parameter for receiving information on the type of service device from which data corresponding to the segment will be collected or the operating system (OS) version of the service device as a parameter for the target of the segment. In addition, the 'App ID' segment item (404) and the 'Target App Name' segment item (405) may be parameters for defining the target that is the purpose of data collection as parameters for the segment target. For example, as shown in Fig. 4, it may be a parameter for receiving unique information of a specific application and the name of the specific application. In addition, the 'Lookback Period value' segment item (406) may be an item for setting a time condition as a parameter for a segment target.
[0119] As shown in the above drawing 4, the API provided by the segment service server (20) can be configured to allow a customer to input parameters (401) for the type of segment and parameters (403) for the segment target. In addition, as parameters for the segment target, the API can be configured to allow input of parameters (402, 406) for setting the regional conditions and temporal conditions of the segment, and at least one parameter (404, 405) for defining the target that is the purpose of data collection.
[0120] Here, the API may display pre-formatted parameters to the customer in the form of a list for at least one segment item, and may also receive input of the selected parameter when the customer selects a specific parameter. For example, as shown in the 'type' segment item (401) of FIG. 4, the API may display a scroll object (411), and when the customer selects the scroll object (411), display a plurality of preset parameters for the segment type in the form of a list. In addition, when any parameter is selected from the displayed list, the selected parameter may be input as a parameter according to the customer's selection. In this way, the API may standardize the customer's segment type in a way that allows the customer to select any one of a plurality of preset segment types.
[0121] Meanwhile, the API can be standardized by providing a list of preset parameters for one or more segment items, as described above. For example, as shown in the "country" segment item (402) of FIG. 4, the API can use a scroll object (412) to allow a customer to select one of a number of preset regions. Accordingly, segment target parameters for setting regional conditions can also be standardized.
[0122] In addition, the above API may display multiple parameters that the customer can select, such as the 'product' segment item (403) and the 'Lookback Period value' segment item (406), and may have the customer select any one of the displayed multiple parameters. In addition, the API may include an input area where the customer can directly input information, such as the 'App ID' segment item (404) and the 'Target App Name' segment item (405), and may also receive information directly entered by the customer through the input area as a segment parameter.
[0123] As shown in Fig. 4, a customer can select or input parameters for each item of a segment through an API displayed on the customer terminal (10). Then, the parameters of each segment item input to the customer terminal (10) through the API can be transmitted to the segment service server (20). Hereinafter, information including segment parameters transmitted by the customer terminal (10) to the segment service server (20) will be referred to as segment request information.
[0124] Here, the API can input parameters for one or more segments and transmit the input parameters to the segment server. For example, a customer can input parameters for multiple segments, respectively, to create multiple segments. In this case, the customer terminal (10) can transmit segment request information including parameters corresponding to multiple segments to the segment service server (20). In this case, the parameters can be classified by corresponding segment and transmitted to the segment service server (20). In this case, if the API providing / processing unit (22) is implemented as a separate server, the server performing the role of the API providing / processing unit (22) can receive the segment request information from the customer terminal (10) and transmit it to the segment service server (20).
[0125] Additionally, customers can create composite segments by logically combining multiple segments through the API. For example, customers can create a first segment by entering parameters for one segment, and a second segment by entering parameters for another segment. Furthermore, a composite segment can be created by combining the first and second segments using a pre-defined logical association relationship, such as a logical operator like "and" or "or." Although the composite segment is a combination of multiple segments, it can be treated as a single segment that produces a single data detection result.
[0126] Meanwhile, the segment service server (20) may receive segment request information from the customer terminal (10) or the server performing the role of the API provision / processing unit (22) (S302). In this case, the segment request information may include parameters corresponding to multiple segments, as described above. Furthermore, at least one of the multiple segments may be a composite segment.
[0127] Then, the segment service server (20) can segment the composite segment included in the received segment request information into individual segments (S304). Accordingly, the segment request information can be segmented into individual segments. In addition, if the segment request information includes composite segments, the segment service server (20) can segment multiple segments combined through the logical connection relationship into individual segments.
[0128] The segment service server (20) can detect template codes corresponding to the type parameters of each segment for each segment (S306). In this case, the segment service server (20) can detect one template code for multiple segments having the same segment type parameter. Accordingly, one template code can be detected for duplicate segment types. In other words, one template code can be detected for each type of segment type parameter.
[0129] Then, the segment service server (20) can generate a unit including a sub-process module for executing each template code as a sub-process for each of the detected template codes (S308). In this case, the sub-process module can generate a new process (sub-process) for executing the template code and generate a pipe for connecting the input and output of the generated process. To this end, the sub-process module can include functions and objects for generating and managing the sub-process, controlling the input / output stream, and returning the output of the sub-process.
[0130] In this way, each unit is equipped with a subprocess module, allowing each template code to be executed as a subprocess. In this case, each process is managed individually, allowing each unit to execute independently. Furthermore, when each process completes, the memory occupied for its execution is returned. Therefore, each unit can have its memory returned upon completion. Consequently, memory utilization can be improved.
[0131] And the segment service server (20) can determine the units corresponding to each segment according to the segment type parameter of each segment (S310). In this case, if the segment type parameter is the same, even if the segments are different, the same unit can be determined as a unit corresponding to different segments. In other words, the same unit can overlap and correspond to different segments. And the segment service server (20) can input the parameters of each segment into the units corresponding to each segment. And by individually executing the units into which the parameters have been input, the data of the service devices matching each segment can be detected from the collection server (30) (S314).
[0132] In this case, the segment service server (20) can use the same unit repeatedly to detect data of service devices that match segments of the same segment type. That is, in the case of segments of the same segment type, the segment service server (20) can execute the same unit repeatedly by inputting only different parameters into the same unit and executing it.
[0133] Figures 5 and 6 illustrate examples of inputting only different parameters to the same unit in order to detect data of service devices matching different segments with the same segment type.
[0134] First, FIG. 5 is an exemplary diagram showing an example in which a segment service server (20) according to an embodiment of the present invention determines units corresponding to a plurality of different segments.
[0135] Referring to (a) of FIG. 5, (a) of FIG. 5 shows an example in which segment request information (500) received from a specific customer includes three segments (first segment, second segment, third segment).
[0136] For example, the first segment (501) may be a composite segment for detecting a service device that has installed application A for the past 20 days (and condition) and used application A for 10 days. In addition, the second segment (502) may be a segment for detecting a service device that has not used application A for the past 2 months. In addition, the third segment (503) may be a segment for detecting a service device that is the first segment (and condition) and has performed RF over-the-air viewing between March 4, 2024 and May 2, 2024.
[0137] In this case, the first segment (501) may be a composite segment in which the 1-1 segment (a service device that used application A for 10 days) and the 1-2 segment (a service device that used application A for 10 days) are connected by a logical combination relationship (and). In addition, the 1-1 segment may be a segment having a type parameter of 'application installation' and a target parameter of '20 days' and 'Application A', and the 1-2 segment may be a segment having a type parameter of 'application use' and a target parameter of '10 days' and 'Application A'. In addition, the second segment (502) may be a segment having a type parameter of 'application non-use' and a target parameter of '2 months' and 'Application A'. And the third segment (503) may be a segment having the parameters of the first-1 segment and the first-2 segment, a type parameter called 'RF over-the-air viewing', and a target parameter called 'from March 4, 2024 to May 2, 2024'.
[0138] Accordingly, the segment service server (20) can detect a template code corresponding to a segment type called 'installation of application' according to the 1-1 segment and generate a first unit (UnitSeg-0001 (511)) for executing the detected template code as a sub-process. In addition, the segment service server (20) can detect a template code corresponding to a segment type called 'use of application' according to the 1-2 segment and generate a second unit (UnitSeg-0002 (512)) for executing the detected template code as a sub-process.
[0139] And the segment service server (20) can detect a template code corresponding to a segment type called 'application unused' according to the second segment (502) and generate a third unit (UnitSeg-0003 (513)) for executing the detected template code as a sub-process. Finally, the segment service server (20) can detect a template code corresponding to a segment type called 'RF over-the-air viewing' according to the third segment (503) and generate a fourth unit (UnitSeg-0004 (514)) for executing the detected template code as a sub-process. Here, the segment type can be determined according to a type parameter.
[0140] In this case, since the third segment (503) is a composite segment including the first segment (501), template codes corresponding to the type of the first segment (501), i.e., the 1-1 segment and the 1-2 segment, can be detected. However, since the template codes corresponding to the type of the 1-1 segment and the 1-2 segment have already been detected, the segment service server (20) can detect only the template code corresponding to the type parameter of the segment type not detected so far, i.e., 'RF terrestrial broadcast viewing', and generate it as the fourth unit (UnitSeg-0004 (514)).
[0141] And the segment service server (20) can input parameters of each segment to each unit and execute at least one unit. That is, the segment service server (20) can input other parameters of the 1-1 segment, for example, segment target parameters, to the first unit (UnitSeg-0001(511)) to execute the first unit (UnitSeg-0001(511)) in order to obtain data collection results according to the first segment (501). And, the segment service server (20) can input target parameters of the 1-2 segment to the second unit (UnitSeg-0002(512)) to execute the second unit (UnitSeg-0002(512)).
[0142] And the segment service server (20) can input the target parameters of the second segment (502) into the third unit (UnitSeg-0003(513)) and execute the third unit (UnitSeg-0003(513)) to obtain the data collection result according to the second segment (502). In addition, the segment service server (20) can input the target parameters of the third segment (503) into the first unit (UnitSeg-0002(511)), the second unit (UnitSeg-0002(512)), and the fourth unit (UnitSeg-0004(514)) and execute them, respectively, to obtain the data collection result according to the third segment (503).
[0143] That is, in order to obtain the data collection results of the first to third segments (501 to 503), the first unit (UnitSeg-0001 (511)) and the second unit (UnitSeg-0002 (512)) may be used in duplicate, and the third unit (UnitSeg-0003 (513)) and the fourth unit (UnitSeg-0004 (514)) may each be executed once. In this case, since each unit creates and executes an individual process (sub-process), the segment service server (20) can process and execute at least one different unit simultaneously through process parallel processing.
[0144] Meanwhile, (a) of the above-described Fig. 5 illustrates an example of creating units for segments included in a single segment request information (500) and inputting parameters of each segment into each unit. However, in cases where multiple segment requests are received and the segment types of segments of different segment request information overlap, it goes without saying that template codes corresponding to the segment types can be overlapped and used.
[0145] Referring to (b) of FIG. 5, (b) of FIG. 5 illustrates an example in which second segment request information (560) is received in addition to first segment request information (550) received from a customer.
[0146] When segment request information is received, the service server (20) can segment the segments included in each segment request information. FIG. 5 (b) shows the segmented segments included in each segment request information (550, 560) classified by segment type.
[0147] For example, the first segment request information (500) can be subdivided into first to third segments (551, 552, 553). And each segment can be classified into a first type (A-0001) (571), a second type (A-0003) (572), and a third type (A-0003) (573) according to the included segment type parameter.
[0148] In addition, the second segment request information (560) can be subdivided into fourth to sixth segments (561, 562, 563). The type parameter of the fourth segment (561) can be the same as the type parameter of the first segment (551), and the type parameter of the fifth segment (562) can be the same as the type parameter of the second segment (552). That is, the fourth segment (561) and the fifth segment (562) can be segments that have the same segment type parameter as the first segment (551) and the second segment (552), respectively, and at least one other parameter is different from each other.
[0149] Accordingly, the fourth segment (561) and the fifth segment (562) can be classified into the first type (A-0001) (571) and the second type (A-0002) (572), respectively, similarly to the first segment (551) and the second segment (552). In addition, the non-overlapping sixth segment (563) can be classified into the fourth type (A-0004) (574). Accordingly, even when the segment request information is different, if the segment types included in the segment request information overlap, the segment service server (20) can use the same segments overlappingly.
[0150] For example, the segment service server (20) can detect template codes corresponding to each segment type. Then, a unit including a sub-process module for executing the detected template code as a sub-process can be created for each detected template code.
[0151] In this case, if the first segment (551) to the third segment (553) are the same as the first to third segments (501 to 503) of (a) of FIG. 5, the segment service server (20) can associate the first unit (511) and the second unit (512) with the first segment (551), as described in (a) of FIG. 5. In addition, the third unit (513) can be associated with the second segment (552), and the first unit (511), the second unit (512), and the fourth unit (514) can be associated with the third segment (553).
[0152] Meanwhile, since the fourth segment (561) and the fifth segment (562) correspond to the first type (A-0001) (571) and the second type (A-0002) (572), respectively, similarly to the first segment (551) and the second segment (552), the segment service server (20) can associate the first unit (511) and the second unit (512) with the fourth segment (561). In addition, the third unit (513) can be associated with the fifth segment (562). In addition, in the case of the sixth segment (563), the segment service server (20) can associate the second unit (512), that is, the unit for executing the template code according to the segment type parameter (A-0004) (574) of the sixth segment (563). In this case, since the second unit (512) according to the template code according to the segment type parameter (A-0004) (574) of the sixth segment (563) has already been created, the segment service server (20) can match the already created second unit (512) to the sixth segment (563).
[0153] And the segment service server (20) can input parameters for each item of each segment into the unit corresponding to each segment and execute them. In this case, since each unit is executed as an independent process, the segment service server (20) can execute at least one unit simultaneously by processing it in parallel.
[0154] Meanwhile, FIG. 6 is an exemplary diagram showing examples of units in which parameters of each segment are input into a template code detected according to the type of each segment in a segment service server (20) according to an embodiment of the present invention.
[0155] Referring to FIG. 6, FIG. 6 shows examples of first and second segment request information having the same segment type but having the same segment target. For example, the first segment request may include a first segment (A-0001-0001) for searching for 'service devices that installed and used application A in the United States in the past 60 days' and a second segment (A-0001-0002) for searching for 'service devices that installed but did not use application A in the United States in the past 30 days'. In addition, the second segment request may include a third segment (B-0001-0001) for searching for 'service devices that installed and used application B in Canada in the past 3 months' and a fourth segment (B-0001-0002) for searching for 'service devices that installed but did not use application B in Canada in the past 6 months'.
[0156] In this case, the first and third segments may correspond to the first segment type (Segment_0001_0001) (601) that 'installed and used a specific application', and the second and fourth segments may correspond to the second segment type (Segment_0001_0002) (602) that 'installed but did not use a specific application'.
[0157] Meanwhile, the first segment type (601) can be further subdivided into the 'install a specific application' and 'use a specific application' types. Accordingly, the segment service server (20) can detect a first template code corresponding to the segment type of 'install a specific application' for the first segment type (601) and generate a first unit (Unit_segment_install_0001) (611) for executing the detected first template code as a sub-process. In addition, the segment service server can detect a second template code corresponding to the segment type of 'use a specific application' and generate a second unit (Unit_segment_use_0001) (612) for executing the detected second template code as a sub-process.
[0158] And the second segment type (602) can be subdivided into the types of 'installing a specific application' and 'not using (unused) a specific application'. Accordingly, the segment service server (20) can detect a template code corresponding to the segment type of 'installing a specific application' for the first segment type (602). However, since the first unit (611) for executing the template code corresponding to the type of 'installing a specific application' as a sub-process has already been created, the segment service server (20) may not create a unit according to the segment type of 'installing a specific application'.
[0159] Meanwhile, the segment service server (20) can detect a third template code corresponding to the segment type that "does not use a specific application." In this case, since the segment type that "does not use a specific application" is a segment type for which no unit has been created to date, the segment service server (20) can create a third unit (Unit_segment_dnuse_0001) (613) to execute the detected third template code as a sub-process.
[0160] Then, the segment service server (20) can match units corresponding to the segments included in each segment request information. In this case, if the first segment request information includes a first segment (A-0001-0001) for searching for 'service devices that used application A in the United States for the past 60 days' and a second segment (A-0001-0002) for searching for 'service devices that installed but did not use application A in the United States for the past 30 days', and the second segment request information includes a third segment (B-0001-0001) for searching for 'service devices that installed and used application B in Canada for the past 3 months' and a fourth segment (B-0001-0002) for searching for 'service devices that installed but did not use application B in Canada for the past 6 months', the segment service server (20) can correspond the first segment (A-0001-0001) and the third segment (B-0001-0001) to the first segment type (601). Additionally, the second segment (A-0001-0002) and the fourth segment (B-0001-0002) can be corresponded to the second segment type (602).
[0161] In this case, the first segment type (601) may correspond to the first unit (611) and the second unit (612) as shown in FIG. 6. Accordingly, the segment service server (20) may input the parameters of the first segment (A-0001-0001) into the first unit (611) and the second unit (612) in order to collect service device data according to the first segment (A-0001-0001). In more detail, the segment service server (20) may input the parameters of 'United States', '30 days', and 'Application A', and execute the first unit (611) and the second unit (612) into which the parameters have been input, respectively.
[0162] The first unit code (621) illustrated in FIG. 6 illustrates an example in which parameters of the first segment (A-0001-0001) according to the segment type (0001-0001) are input. In this case, since the segment type (0001-0001) corresponds to the first unit (611) and the second unit (612), the parameters input to the first unit code (621) can be input to the first unit (611) and the second unit (612).
[0163] Meanwhile, as described above, the first segment type (601) may correspond not only to the first segment (A-0001-0001) but also to the third segment (B-0001-0001). Accordingly, the segment service server (20) may input parameters of the third segment (B-0001-0001) to the first unit (611) and the second unit (612) in order to collect service device data according to the third segment (B-0001-0001). In more detail, the segment service server (20) may input parameters of 'Canada', '3 months', and 'B application', and execute the first unit (611) and the second unit (612) into which the parameters have been input, respectively.
[0164] That is, the segment service server (20) can execute the first unit (611) and the second unit (612) with only different parameters in order to detect data of service devices matching the first segment (A-0001-0001) and the third segment (B-0001-0001). The third unit code (623) illustrated in FIG. 6 illustrates an example in which parameters of the third segment (B-0001-0001) according to the segment type (0001-0001) are input. In this case, since the segment type (0001-0001) corresponds to the first unit (611) and the second unit (612), the parameters input to the third unit code (623) can be input to the first unit (611) and the second unit (612).
[0165] Meanwhile, the second segment type (602) may correspond to the first unit (611) and the third unit (613) as shown in FIG. 6. Accordingly, the segment service server (20) may input parameters of the second segment (A-0001-0002) into the first unit (611) and the third unit (613) in order to collect service device data according to the second segment (A-0001-0002). More specifically, the segment service server (20) may input parameters of 'Canada', '3 months', and 'B application', and execute the first unit (611) and the third unit (613) into which the parameters have been input, respectively.
[0166] The second unit code (622) illustrated in Fig. 6 illustrates an example in which parameters of the second segment (A-0001-0002) according to the segment type (0001-0002) are input. In this case, since the segment type (0001-0002) corresponds to the first unit (611) and the third unit (613), the parameters input to the second unit code (622) can be input to the first unit (611) and the third unit (613).
[0167] Meanwhile, as described above, the second segment type (602) may correspond not only to the second segment (A-0001-0002) but also to the fourth segment (B-0001-0002). Accordingly, the segment service server (20) may input the parameters of the fourth segment (B-0001-0002) to the first unit (611) and the third unit (613) in order to collect service device data according to the fourth segment (B-0001-0002). In more detail, the segment service server (20) may input the parameters of 'Canada', '6 months', and 'B application', and execute the first unit (611) and the third unit (613) into which the parameters have been input, respectively.
[0168] That is, the segment service server (20) can detect data of service devices matching the second segment (A-0001-0002) and the fourth segment (B-0001-0002) by executing the first unit (611) and the third unit (613) with only different parameters. The fourth unit code (624) illustrated in FIG. 6 illustrates an example in which parameters of the fourth segment (B-0001-0002) according to the segment type (0001-0002) are input. In this case, since the segment type (0001-0002) corresponds to the first unit (611) and the third unit (613), the parameters input to the fourth unit code (624) can be input to the first unit (611) and the third unit (613).
[0169] Meanwhile, if each unit is executed in the form of a sub-process in step S314 of the above-described FIG. 3, the segment service server (20) can receive data according to the execution results of the units into which the parameters of each segment have been input from the collection server (30), i.e., the data collection results of the service devices matching the segment. In this case, each data collection result can correspond to each segment. Then, the segment service server (20) can provide the data collection results corresponding to each segment to the customer corresponding to each segment request information as a response to the segment request information (S316).
[0170] Meanwhile, it has been mentioned that the segment request information may include multiple segments, and among the multiple segments, there may be a composite segment in which multiple segments are combined in a logical combination relationship. Accordingly, the segment service server (20) may process the data collection results detected from the collection server (30) according to the execution results of each unit in step S316 of FIG. 3 as the result of the segment requested by the customer by performing logical operations according to the logical combination relationship of the composite segment.
[0171] In addition, the segment service server (20) can process the data collected as a result of each segment into a format desired by the customer and provide it to the customer. Fig. 7 illustrates an operation process in which the data collection results detected by the collection server (30) as a result of the execution of each unit are processed into the results of a segment requested by the customer and provided.
[0172] FIG. 7 is a flowchart illustrating an operation process of processing data collection results for each unit according to a customer's request and providing the results to the customer in a segment service server (20) according to an embodiment of the present invention.
[0173] Referring to FIG. 7, when step S316 of FIG. 3 is performed, the segment service server (20) can store the data collection results detected from the collection server (30) as execution results of each unit so that they correspond to each segment according to each segment request information (S700). Accordingly, when one segment corresponds to multiple units, multiple data collection results according to execution results of the multiple units can be stored so as to correspond to one segment.
[0174] Then, the segment service server (20) can check whether, among the segment request information received from the customer, there is a composite segment in which multiple segments are combined according to a logical combination relationship (S702). If there is a composite segment, the data collection results of each segment constituting the composite segment can be combined according to the logical combination conditions of the segments constituting the composite segment (S704).
[0175] For example, if the logical combination relationship is a union condition (or), the segment service server (20) can generate a union of data collection results corresponding to each of the segments constituting the composite segment as a data collection result for the composite segment. Alternatively, if the logical combination relationship is an intersection condition (and), the segment service server (20) can generate a intersection of data collection results corresponding to each of the segments constituting the composite segment as a data collection result for the composite segment.
[0176] Meanwhile, when the data collection results of the composite segment generated through the above step S704 and the data collection results corresponding to a single segment that is not a composite segment are all generated, the segment service server (20) can process the data collection results of each segment included in the segment request information according to the customer's request and generate response data (S706).
[0177] Here, the customer request may be included in the segment request information. For example, while requesting data collection results by segment, the customer may request data collection results categorized according to at least one condition. For example, the customer may request data collection results categorized by region or time, or data collection results categorized by a specific target, such as the type of operating system or service device. Based on the customer request included in the segment request information, the segment service server (20) may process the data collection results detected for each segment into at least one response data item.
[0178] FIGS. 8 to 13 are exemplary diagrams showing examples of response data processed by a segment service server (20) according to an embodiment of the present invention based on data collection results according to a requested segment, according to a customer's request.
[0179] First, referring to FIG. 8, FIG. 8 illustrates examples of processed response data to be provided to a customer when the customer requests data collection results classified according to a specific target. As shown in FIG. 8, the segment service server (20) can process the data collection results corresponding to at least one segment into a graph showing the number (size) of service devices in each country by operating system version of the service devices. In addition, as shown in FIG. 8, the processed data collection results can be provided to the customer as response data through the customer terminal (10).
[0180] Meanwhile, while Fig. 8 shows the data collection results classified by region and operating system version of each service device, Fig. 9 shows the detection results of service devices matching a specific segment during a specified period (1 week) classified by country.
[0181] Meanwhile, Fig. 10 shows an example of response data generated in the form of a table showing the number of service devices equipped with each operating system. Furthermore, Fig. 11 shows the regional distribution of service devices equipped with a specific operating system on a map image. In this case, the segment service server (20) can display each region with different colors or different intensities of color depending on the number of service devices equipped with a specific operating system, thereby indicating the regional distribution of service devices matching the segment requested by the customer.
[0182] In addition, as shown in FIG. 12, the segment service server (20) may classify the number of service devices matching the segment requested by the customer by time, and display the change in the number of service devices matching the segment requested by the customer over time. In addition, as shown in FIG. 13, the number of service devices matching the segment requested by the customer may be classified by time and country, and display the change in the number of service devices matching the segment requested by the customer in each country over time.
[0183] Meanwhile, in the description of FIG. 1 described above, only one collection server (30) is illustrated, but it goes without saying that the data collection system (1) according to an embodiment of the present invention may include multiple collection servers. In this case, the multiple collection servers may be classified according to the characteristics of the service devices that collect data. For example, the multiple collection servers may be classified according to the operating system or type of the service devices that collect data, or may be classified by region or time of the service devices that collect data.
[0184] Accordingly, the segment service server (20) can define the characteristics of service devices that will detect data according to the target or object (target parameter or target parameter) included in the parameter of each segment through the execution of the unit, and a plurality of collection servers that will detect data according to the characteristics of the service devices. Then, from the data collected by the defined plurality of collection servers, data matching the segment according to the customer's request can be detected for each collection server. In this case, since data is detected simultaneously in the plurality of collection servers, the data detection process is processed in parallel, so that the speed of generating a response result corresponding to each segment can be further improved.
[0185] Meanwhile, Fig. 14 illustrates an example in which multiple collection servers are provided, in which multiple collection servers of a data collection system (1) according to an embodiment of the present invention are provided for each OS version of the application target.
[0186] Referring to Figure 14, Figure 14 illustrates an example in which collection servers are provided to collect data from service devices each equipped with different operating system versions.
[0187] For example, the first server (1401) can collect data from service devices equipped with operating system 1.0. In addition, the second server (1402) and the third server (1403) can collect data from service devices equipped with operating system version 1.1 and operating system version 1.2, respectively. In addition, the fourth server (1404) and the fifth server (1405) can collect data from service devices equipped with operating system version 2.0 and operating system version 3.0, respectively. For example, each service device can request data for providing a service (e.g., multimedia service) according to the operating system version equipped on it to a server (e.g., collection server) that provides service data according to its operating system version. Therefore, each collection server can collect data from service devices equipped with different operating system versions.
[0188] In this case, the segment service server (20) can detect data of service devices from at least one collection server according to the segment at the customer's request. In this case, if the target parameter included in the segment does not specify a specific operating system version (including all operating systems) or includes multiple operating system versions as the target parameter of the segment, the segment service server (20) can detect data of service devices matching the segment from data collected in multiple collection servers corresponding to the versions of each operating system according to the target parameter.
[0189] Accordingly, data from different service devices (operating system versions) matching a segment can be simultaneously detected from multiple collection servers. In other words, data collection in response to segment requests can be parallelized. Consequently, data collection results from service devices matching the customer-requested segment can be detected more quickly.
[0190] While the above-described description of the present invention has described specific embodiments, various modifications can be implemented without departing from the scope of the present invention. In particular, the embodiments of the present invention have been described assuming the installation or use of a specific application as the type of segment, but it is to be understood that the present invention is not limited thereto. Furthermore, the above-described description has described that the target of a segment can include the operating system version of the service devices and the type of the service devices, but it is to be understood that the present invention is not limited thereto. Furthermore, the target of a segment can also be set in various ways, different from what is assumed in the above-described specification of the present invention.
[0191] Furthermore, the above description only mentioned union and intersection as examples of logical connection relationships between the data collection results of each segment constituting the composite segment. However, it is of course possible for the composite segment to be formed through other logical connection relationships. For example, the logical connection relationships may include not only union and intersection, but also difference or complement.
[0192] The present invention described above can be implemented as computer-readable code on a medium in which a program is recorded. The computer-readable medium includes all types of recording devices that store data that can be read by a computer system. Examples of the computer-readable medium include hard disk drives (HDDs), solid state disks (SSDs), silicon disk drives (SDDs), ROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, etc., and also includes media implemented in the form of carrier waves (e.g., transmission via the Internet). In addition, the computer may include a control unit (200) of a segment operation unit (21). Therefore, the above detailed description should not be construed as limiting in all respects, but should be considered as illustrative. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are intended to be included in the scope of the present invention.
Claims
1. At least one collection server that collects data related to the status of a plurality of service devices from a plurality of service devices; A segment service server that provides a user interface that can input parameters of a segment including standardized measurement items, generates at least one segment by type according to at least one type parameter included in the parameters of the segment input through the user interface, detects data corresponding to each of the segments from the at least one collection server, and generates the detected data as response data corresponding to the segment; and A data collection service providing system characterized by including a customer terminal that receives the user interface from the segment service server, transmits parameters of the segment input or selected through the user interface to the segment service server, and receives the response data from the segment service server in response to the transmission of the segment parameters.
2. In paragraph 1, the segment service server, A data collection service providing system characterized in that it creates a single segment for different segments having the same type parameter among a plurality of segments received from the customer terminal.
3. In the second paragraph, the segment service server, When a single segment is created for multiple segments with the same type parameters, A data collection service providing system characterized in that the parameters of each of the plurality of segments having the same type parameters are applied to each of the generated segments, and data according to each of the segments is detected from at least one collection server whenever the applied parameters change, thereby detecting data corresponding to each of the plurality of segments having the same type parameters.
4. In the third paragraph, the segment service server, A data collection service providing system characterized in that, based on a type parameter corresponding to any one of the segments, at least one template code corresponding to any one of the segments is detected, at least one unit is generated for executing each of the detected at least one template code, and a parameter input to each of the template codes of the generated at least one unit is changed, thereby detecting data corresponding to each of a plurality of segments having the same type parameter by overlappingly using the at least one unit.
5. In paragraph 4, The above unit is, Includes a subprocess module that can execute the above template code as a new process, The above segment service server, A data collection service providing system characterized by executing multiple units as multiple different sub-processes that are processed in parallel.
6. In paragraph 2, At least one of the above multiple segments, A composite segment is a combination of multiple segments that are combined through logical association relationships. The above segment service server, A data collection service providing system characterized in that data corresponding to each of a plurality of segments having the above logical combination relationship is detected from at least one collection server, and response data according to the composite segment is generated by performing logical operations on the detected data according to the logical combination relationship between the plurality of segments.
7. In paragraph 6, the logical combination relationship is: A data collection service providing system characterized by including at least one of a union, an intersection, a difference, and a complement.
8. In paragraph 1, The parameters of the above segment are: It includes a type parameter defining a specific state of the service device, a target parameter defining a service device to detect data matching the segment, and at least one target parameter defining a determination criterion for determining a specific state of the service device according to the type parameter or a local condition or a temporal condition for detecting the data. The above user interface, A data collection service providing system characterized in that, for at least one of the parameters of the segment, the user of the customer terminal includes preset standardized items with selectable values, and the user interface is capable of receiving the value of any one item selected by the user as a parameter of a specific segment.
9. In paragraph 8, the user interface, A data collection service providing system characterized in that it includes items for selecting whether a specific application is installed or not and items for selecting whether a specific application is being used or not as standardized items for the type parameter.
10. In paragraph 8, the user interface, A data collection service providing system characterized in that it includes at least one item among items that can select an operating system version of different service devices and items that can select a type of different service devices as standardized items for the target parameter.
11. In paragraph 8, the user interface, A data collection service providing system characterized in that it includes at least one of the following items as standardized items for the target parameter: items for selecting unique information or names of preset specific applications, items for selecting regions for detecting data of service devices matching the segment, and items for selecting periods for detecting data of service devices matching the segment.
12. In paragraph 8, the segment service server, A data collection service providing system characterized in that the data detected from at least one collection server is classified by region or time, processed into response data indicating the regional distribution status of service devices matching the segment and changes over time, and the processed response data is transmitted to the customer terminal in response to the transmission of the segment parameters.
13. In paragraph 1, At least one collection server, A server that is connected to at least one service device and provides content or data requested from at least one service device connected to the communication, The data collected by the above collection server is: A data collection service providing system characterized by including specification information or history information of the service device for playing or executing content or data provided by the collection server.
14. In paragraph 1, The above data collection service provision system, It is classified according to the characteristics of the service device that collects data, and has multiple collection servers that collect data related to the status of the service device from service devices that each have different characteristics. The above segment service server, A data collection service providing system characterized in that it defines a collection server corresponding to the characteristics and characteristics of service devices that detect data according to the parameters of a segment input through the user interface, and simultaneously detects data of service devices having different characteristics from a plurality of different collection servers.
15. In a system including a collection server that collects status-related data from a plurality of service devices, and a segment service server that receives a request for a segment defining the status of a specific service device from a customer terminal and provides data of service devices matching the segment from the collection server, in a control method of the segment service server, A step of providing a user interface for inputting parameters of a segment including standardized measurement items to the customer terminal; A step of receiving parameters of the segment input or selected through the user interface from the customer terminal; A step of generating at least one segment segment by type according to at least one type parameter included in the parameters of the received segment; A step of detecting status-related data matching each of the segmented segments from the status-related data collected by the above collection server; A step of processing the detected status-related data into a requested format through the customer terminal to generate response data; and, A control method of a segment service server, characterized in that it comprises a step of providing the response data to the customer terminal in response to transmission of the parameters of the segment.
16. In paragraph 15, At least one of the above segments, Corresponds to multiple different segments with the same type parameters, The step of detecting status-related data matching each of the above-detailed segments is: A step of applying parameters of each of the plurality of different segments having the same type parameter to a single segment corresponding to each of the plurality of different segments having the same type parameter; A step of applying parameters of each of the plurality of different segments having the same type parameter to each of the segments; and A control method of a segment service server, characterized in that it comprises a step of detecting status-related data according to each of the above-mentioned segments from at least one collection server each time the applied parameters change, and detecting status-related data corresponding to each of a plurality of different segments having the same type of parameters.
17. In paragraph 15, The step of generating at least one segmented segment comprises: A step of detecting at least one template code corresponding to the segmented segment based on a segment type parameter of the segmented segment; and, A step of generating at least one unit including a subprocess module capable of executing at least one detected template code as a new process, The step of detecting status-related data matching each of the above-detailed segments is: A step of inputting parameters of the segmented segment into the template code of each of at least one unit generated; and, A control method of a segment service server, characterized in that it includes a step of individually executing at least one unit including a template code into which the above parameters are input, and detecting status-related data according to the execution of each unit from the collection server.
18. In the 17th paragraph, the step of detecting status-related data according to the execution of each unit from the collection server is, A method for controlling a segment service server, characterized in that it is a step of executing at least some of the above at least one unit simultaneously through parallel processing.
Citation Information
Patent Citations
System and method for monitoring a computer application
KR1020050007307A
System for offering service information respond of mobile application analysis and method therefor
KR1020120063315A
Techniques for improved energy-savings management
KR1020140108320A
System and method for service execution quality of application
KR1020150086572A
Application configuring
US20150280979A1