Server and its information management method
The server information management method addresses the challenge of managing diverse events in large-scale online services by classifying and archiving them hierarchically, enhancing data accessibility and reducing database load through a distributed column-based database system.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- COUPANG CORP
- Filing Date
- 2023-07-18
- Publication Date
- 2026-04-28
AI Technical Summary
Large-scale online services face challenges in efficiently managing diverse and numerous events occurring during service operations due to the difficulty in integrating distributed systems, which often impose a significant load on the system.
A server information management method that involves generating event messages with multi-layered classification information, storing these chronologically on a streaming server, and then archiving them in a database based on classification, using a distributed column-based database to facilitate efficient data retrieval and management.
This approach allows for easy access to events by category, minimizes database load during querying, and enables efficient management of data with shared expiration periods, improving user convenience and operational efficiency.
Smart Images

Figure 2026513495000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a server and an information management method therefor, which facilitate information management by hierarchically classifying and storing various events occurring during a service.
Background Art
[0002] In the case of large-scale online services, since the events occurring during the service are very diverse and numerous, being able to easily check these in chronological order can greatly assist in service operation. However, in such large-scale services, generally borrowing a distributed system and integrally managing the events occurring in each of the plurality of distributed systems is quite difficult and may impose a considerable load on the system at the same time. Therefore, a system that can efficiently integrally manage events even under a distributed system while reducing the load is required.
[0003] In relation to this, prior art documents such as Korean Patent Publication No. 10-1549220 can be referred to.
Summary of the Invention
Problems to be Solved by the Invention
[0004] The disclosed embodiments seek to provide an electronic device and an information providing method therefor. More specifically, an object is to provide a server and an information management method therefor that facilitate information management by hierarchically classifying and storing various events occurring during a service.
[0005] The technical problems to be achieved by this embodiment are not limited to the above technical problems, and further other technical problems can be inferred from the following embodiments.
Means for Solving the Problems
[0006] One aspect of this disclosure is that, in a server information management method, when an event occurs on a source server, the method includes the steps of: generating an event message containing multi-layered classification information, each layer containing at least one category; storing the event message chronologically on a streaming server; and, after retrieving the event message chronologically from the streaming server, storing it in an archive database based on the classification information.
[0007] In one embodiment of the present disclosure, a server information management method can be provided in which the event is detected by the execution of at least one of a first event listener that is executed in accordance with a transaction scenario on a source database included in the source server and a second event listener that responds to changes in values on the source database.
[0008] Furthermore, in one embodiment of the present disclosure, the first event listener is executed in binding to at least a portion of a series of transactions when a series of transactions are executed according to a pre-configured transaction scenario, and the second event listener is executed as a change detection callback when a change is detected in at least a portion of the field values on the source database, thereby providing a server information management method.
[0009] Furthermore, in one embodiment of this disclosure, the event message, along with the classification information obtained by calling at least a portion of the classification function in response to the occurrence of the event, includes event field information whose format is determined in correspondence with the classification information and which relates to the content of the event, providing a server information management method.
[0010] Furthermore, in one embodiment of this disclosure, the event message is generated in a state in which at least a portion of the event field information is masked when the classification information corresponds to a masking category set for at least a portion of the categories, thereby providing a server information management method.
[0011] Furthermore, in one embodiment of the present disclosure, the step of saving the event messages to the archive database further includes the steps of: obtaining the event messages stored in a message queue included in the streaming server in chronological order from the message queue; identifying and classifying the classification information of the event messages using a classifier included in the archive database; and saving the event messages in chronological order to a table on the archive database determined by referring to the classification information.
[0012] Furthermore, in one embodiment of the present disclosure, a server information management method can be provided in which the table on the archive database is determined to be a table mapped to specific category information indicating which category the event message belongs to at a particular level of the hierarchy.
[0013] Furthermore, in one embodiment of this disclosure, a server information management method can be provided in which tables on the archive database are mapped according to validity periods set for specific categories at a specific hierarchy.
[0014] Furthermore, in one embodiment of this disclosure, the archive database can be a distributed column-based database, and a method for managing server information can be provided.
[0015] Furthermore, in one embodiment of the present disclosure, when a user data request is input to the archive database, a server information management method can be provided that further includes the steps of: obtaining a user query to obtain information corresponding to the data request; and obtaining response data corresponding to the data request by connecting to at least a portion of the distributed columns included in the archive database selected according to the user query, and then providing this to the user.
[0016] Furthermore, in one embodiment of this disclosure, a server information management method can be provided in which tables on the archive database are mapped according to validity periods set for specific categories at a specific hierarchy.
[0017] Furthermore, in one embodiment of this disclosure, the archive database can be a distributed column-based database, and a method for managing server information can be provided.
[0018] Furthermore, in one embodiment of the present disclosure, when a user data request is input to the archive database, a server information management method can be provided that further includes the steps of: obtaining a user query to obtain information corresponding to the data request; and obtaining response data corresponding to the data request by connecting to at least a portion of the distributed columns included in the archive database selected according to the user query, and then providing this to the user.
[0019] Furthermore, in one embodiment of the present disclosure, a server information provision method can be provided in which the step of obtaining the user query includes the step of analyzing the data request to identify a specific category that corresponds to at least a portion of the at least one category included in each of the hierarchy, and the step of obtaining the user query that includes access to a specific column designated so that information corresponding to the specific category can be obtained.
[0020] Furthermore, in one embodiment of the present disclosure, the data request can be obtained through a separate first UI that allows the user to select at least a portion of the at least one category included in each of the respective hierarchies, thereby providing a method for managing server information.
[0021] Furthermore, in one embodiment of the present disclosure, the user query can provide a server information management method that includes additional specific conditional information relating to at least some of the particular columns, which is entered by the user through a separate second UI.
[0022] Furthermore, in one embodiment of the present disclosure, a server information management method can be provided in which the event messages are adjusted by referencing configuration information, including classification adjustment information for each of the hierarchy and categories, and field adjustment information for event field information, through a separate third UI configured to be adjustable by the user.
[0023] Another aspect of this disclosure includes a transceiver, one or more processors, and storage for storing one or more instructions executed by the one or more processors, wherein when an event occurs on a source server, the one or more processors generate an event message containing multi-tiered classification information, each tier having at least one category; store the event message chronologically on a streaming server; and retrieve the event message chronologically from the streaming server and then store it in an archive database based on the classification information.
[0024] Another aspect of this disclosure is that it may provide a computer-readable non-temporary recording medium that contains a program for causing a computer to execute the server information management method described above.
[0025] Specific details of other embodiments are included in the detailed description and drawings.
Advantages of the Invention
[0026] In the case of the proposed embodiment, one or more of the following effects can be expected.
[0027] In the case of the embodiment of this specification, by classifying various events that occur during the service into categories and storing them in chronological order, it is possible to provide easy access to events according to various operational needs.
[0028] Also, in the case of the embodiment of this specification, by classifying various events by domain and storing data included in domains with the same expiration period on the same table, the data can be easily managed.
[0029] Also, in the case of the embodiment of this specification, when the user queries data to check information related to an event, by generating a query that minimizes the load on the database, the convenience of the user can be improved.
[0030] The effects of the invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description of the claims.
Brief Description of the Drawings
[0031] [Figure 1] Shows a system for managing information according to an embodiment. [Figure 2] A flowchart for explaining an information providing method according to an embodiment in the relationship between an electronic device and a user terminal. [Figure 3] A multi-layer structure diagram of classification information according to an embodiment. [Figure 4] A block diagram showing the process of storing an event message in a table according to an embodiment. [Figure 5]This is a flowchart illustrating the process of generating user queries according to one embodiment. [Figure 6] This is an illustrative diagram of a UI that allows users to easily view data according to one embodiment. [Figure 7] A block diagram of a server according to one embodiment is shown. [Modes for carrying out the invention]
[0032] The terminology used in the embodiments has been selected as widely used and general terms as possible, taking into account the function described herein, although this may change depending on the intent of engineers in the art, case law, the emergence of new technologies, etc. In some cases, the applicant has arbitrarily selected terms, in which case their meaning will be described in detail in the relevant section of the explanation. Therefore, the terminology used in this disclosure should not be simply the names of terms, but should be defined based on the meaning of the term and the overall content of this disclosure.
[0033] When a part of the specification "includes" a certain component, unless otherwise stated, this does not mean that other components are excluded, but rather that other components may be further included.
[0034] Throughout the specification, the expression “at least one of a, b, and c” may encompass “a alone,” “b alone,” “c alone,” “a and b,” “a and c,” “b and c,” or “all of a, b, and c.”
[0035] The term "terminal" as used below can be embodied in computers or portable terminals that can connect to servers or other terminals via a network. Here, computers include, for example, laptops, desktops, and laptops equipped with a web browser, and portable terminals include, for example, all types of handheld-based wireless communication devices that guarantee portability and mobility, such as communication infrastructure terminals for IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), and LTE (Long Term Evolution), as well as smartphones and tablet PCs.
[0036] The embodiments of this disclosure will be described below in detail, with reference to the attached drawings, so that they can be easily implemented by a person with ordinary skill in the art to which this disclosure pertains. However, this disclosure can be embodied in a variety of different forms and is not limited to the embodiments described herein.
[0037] The embodiments of this disclosure will be described in detail below with reference to the drawings.
[0038] Figure 1 shows a system that provides information according to one embodiment.
[0039] Referring to Figure 1, the system may include at least one of the following: an archive server 100, a streaming server 200, and a source server 300. However, the system shown in Figure 1 only shows the components relevant to this embodiment. Therefore, it will be understood by those skilled in the art related to this embodiment that other general components may be included in addition to the components shown in Figure 1.
[0040] On the other hand, while Figure 1 shows each archive server 100 as a single server, this is only one embodiment, and the archive server 100 can represent a server group including multiple servers located in different locations. For example, when the archive server 100 receives a query for the archive database from a user terminal, the server closest to the user terminal among the multiple servers included in the archive server 100 can send a response to the query to the user terminal. Similarly, the streaming server 200 and source server 300 are shown as single servers, but this is only one embodiment, and they can also represent a server group.
[0041] The archive server 100, streaming server 200, and source server 300 can communicate with each other within the network. The network is a comprehensive data communication network that enables each network component shown in Figure 1 to communicate smoothly with each other, and includes local area networks (LANs), wide area networks (WANs), value-added networks (VANs), mobile radio communication networks, satellite communication networks, content delivery networks (CDNs), and combinations thereof. It may include wired internet, wireless internet, and mobile wireless communication networks. Wireless communication may include, but is not limited to, wireless LAN (Wi-Fi), Bluetooth®, Bluetooth Low Energy®, ZigBee, WFD (Wi-Fi Direct), UWB (ultra wideband), infrared communication (IrDA, infrared Data Association), NFC (Near Field Communication), etc.
[0042] Figure 2 is a flowchart illustrating an information provision method according to one embodiment, showing the relationships between the archive server 100, the streaming server 200, and the source server 300.
[0043] In step S210, when an event occurs on the source server 300, an event message can be generated that includes multi-layered classification information, with each layer containing at least one category. In step S220, the event messages can be stored chronologically on the streaming server 200. In step S230, after retrieving the event messages chronologically from the streaming server 200, they can be stored in an archive database based on the classification information.
[0044] The following provides a detailed explanation of each stage.
[0045] First, to explain stage 210, let's describe the source server 300. The source server 300 can be a service server used while the system provides a distributed online service, and it includes a source database and can manage the information used for the service. Of course, it is not limited to this, and the source server 300 could be each terminal used to provide the distributed online service. Here, an example of a distributed online service could be an item delivery platform service.
[0046] Such a source server 300 can sense various events occurring in the source database and send event messages containing information about them. Here, two embodiments for sensing events are described as examples.
[0047] First, in one embodiment, a first event listener may be executed according to a transaction scenario, and an event may be detected. The first event listener may be executed bound to at least a portion of a series of transactions that occur as a pre-configured transaction scenario, among the various transactions that occur in the database. For example, when a specific event occurs during service and is recorded in the database, a specific transaction included in a specific transaction scenario executed in response to this event, which is bound to the first event listener, may be executed, thereby detecting the event and generating an event message.
[0048] In another embodiment, a second event listener may be executed as a change detection callback for field values in the database, and events may be detected. The second event listener may be executed in conjunction with the detection of changes to at least some of the field values in the source database, and according to one embodiment of the Java-based system, it may be bound to changes in field values detected by JPA dirty checks.
[0049] Either one of the two embodiments described above may be used, both may be used, or other embodiments may be used. In the following description, an embodiment that uses both of the two embodiments described above in combination will be assumed as an example.
[0050] When at least one of the first and second event listeners described above is executed and an event is detected, an event message may be generated, which may include classification information and event field information. Figure 3 is shown here to illustrate the classification information and event field information.
[0051] Figure 3 is a multi-layered structure diagram of classification information according to one embodiment.
[0052] As mentioned above, classification information can have a multi-layered structure with at least one category at each level. Figure 3 shows a three-layered structure according to one embodiment, and the content of the categories may correspond to when the system provides an item delivery platform service. This is merely an example, and it is of course possible to have other structures or to include content corresponding to other services.
[0053] To explain the example in Figure 3 in more detail, the classification information may have a structure of first to third levels (310 to 330). The first level 310 may be the level that provides the aforementioned item delivery platform service and includes the largest category of events that occur, which is the first category. The diagram illustrates three categories: ACCOUNT, MANAGEMENT, and DELIVERY. The second level 320 is a lower level of the first level 310 and may include the second category, which is a subcategory of each of the first categories that has been separated from the first level 310. Finally, the third level 330 is the lowest level and may include the most subdivided third category.
[0054] Such a structure can be referenced to generate classification information and event field information included in event messages. That is, at least some of the classification functions corresponding to such a structure can be called to generate classification information and determine the format of the event field information. For example, if an event occurs that falls under the third category ARRIVED in the third layer 330 of Figure 3, a classification function can be called to generate classification information having a three-tier structure of DELIVERY-TASK-ARRIVED, and the event field information can be in a format corresponding to ARRIVED, for example, a format that includes task ID, delivery person ID, customer ID, and delivery completion time information.
[0055] According to one embodiment, an event message may include information about the domain hierarchy, which is the highest-level category of various events occurring in the aforementioned item delivery platform service, as the highest-level category of the classification information. That is, an event message may be generated that includes classification information that divides the various detailed services that should be performed when providing the item delivery platform service into domains that can be broadly divided among them.
[0056] As an additional configuration, event messages may be generated with at least a portion of the event field information masked if the classification information corresponds to a masking category set for at least a portion of the category. For example, in Figure 3 mentioned above, events included in the REGISTRATION 2nd category of the 2nd tier 32, namely SIGN_UP, WITHDRAWN, DORMANT, and REACTIVATE, may contain personal information in their event field information. In such cases, if the REGISTRATION 2nd category is set as a masking category, and an event under that 2nd category occurs, the portion of the event field information containing personal information may be masked.
[0057] Once an event message is generated through the above embodiments, the source server 300 can transmit it to the streaming server 200. The streaming server 200 may have a configuration similar to a distributed message streaming platform, where the message producer and consumer are separated. More specifically, the streaming server 200 may be similar to, but not limited to, the widely known Kafka Message Platform. The streaming server 200 may include a message queue (not shown) internally. The message queue is in the form of a queue and may have a first-in, first-out structure. This allows the streaming server 200 to receive event messages from the source server 300 and store them sequentially in the message queue. Due to the characteristics of a queue with a one-dimensional sequential storage structure, event messages can be stored chronologically.
[0058] According to one embodiment, there may be multiple message queues, and these multiple message queues may be designated according to the domains mentioned above. For example, event messages whose classification information points to a first domain may be stored in the first message queue, and event messages pointing to a second domain may be stored in the second message queue. In such an embodiment, it may be even easier to manage event messages for each domain. Of course, this does not mean that there should not be multiple message queues; it is also possible to implement the streaming server 200 using a single message queue.
[0059] Thereafter, the archive server 100 can acquire event messages chronologically from the message queue of the streaming server 200. Here, the archive server 100 acquires event messages chronologically because it acquires them from pre-entered event messages on the opposite side of the source server 300 with respect to the message queue. The archive server 100 may include an archive database, but according to one embodiment, the archive database may be a distributed column-based database. Thereafter, the archive server 100 can refer to the classification information contained in the event messages and store them chronologically in a table on the determined archive database. Here, since the archive server 100 acquires and classifies event messages sequentially, it is obvious that event messages are stored chronologically in each table. The archive server 100 can classify event messages through a classifier included in the archive database. To explain this, refer to Figure 4.
[0060] Figure 4 is a block diagram showing the process by which event messages are saved to a table according to one embodiment.
[0061] As described above, event messages containing classification information and event field information are stored chronologically in a message queue 210 on the streaming server 200 by the source server 300 and can be sequentially transmitted to the archive database 110. In one embodiment, the archive database 110 may be implemented via a table engine (not shown) commonly used to access the distributed messaging platform described above.
[0062] The archive database 110 can verify the classification information of acquired event messages through the classifier 111. The classifier 111 may operate similarly to a Materialized View commonly used in databases, but for example, it may sense, via communication with a table engine, whether a new event message has been entered into the message queue 210. If a new event message has been entered, it may acquire it, save it to a temporary table, and then verify the classification information. Subsequently, the classifier 111 can route the event message to a table 112 mapped to specific category information, which indicates which category information the event message belongs to at a particular hierarchy, as verified through the classification information. In one embodiment, there may be tables designated for each first category in the first hierarchy 310. In another embodiment, categories with the same expiration date within the first category may be designated to the same table. For example, if there are five first-level categories such as ACCOUNT, MANAGEMENT, INSURANCE, DELIVERY, and MISSION in the first level, and ACCOUNT and MANAGEMENT have an expiration period of 12 months, INSURANCE has 6 months, and DELIVERY and MISSION have 2 months, then event messages belonging to ACCOUNT and MANAGEMENT can be stored in the first table, event messages belonging to INSURANCE in the second table, and event messages belonging to DELIVERY and MISSION in the third table. Of course, it is also possible to have a different implementation where the tables are specified differently based on the second or third category.
[0063] According to one embodiment, the tables of the archive database 110 can be implemented in a Mergetree form, which allows for periodic management of the tables and automatic deletion of expired data.
[0064] The following describes how the system works when a user attempts to access data in archive database 110. As mentioned earlier, archive database 110 can be a distributed column-based database, but due to the characteristics of column-based databases, accessing many columns can result in a very high load. Therefore, it is important to ensure that queries are performed efficiently, and this is explained below.
[0065] First, according to one embodiment, a user's data request can be obtained through a separate first UI that allows the user to select at least some of the at least one categories included in each hierarchy. That is, a user's data request can be obtained through a first UI that allows the user to select a specific first category, which is one of the first categories; a specific second category, which is one of the second categories; and a specific third category, which is one of the third categories. In this case, the specific first to third categories may be selected to match the multi-hierarchical structure described above. For example, as illustrated in Figure 3, the category MANAGEMENT-ACCOUNT_STAT-DEACTIVATED may be selected. Furthermore, an embodiment is possible in which, when the third category of the third hierarchy is selected, the first to second categories of the first and second hierarchies are automatically selected accordingly. For example, when DEACTIVATED is selected in Figure 3, MANAGEMENT-ACCOUNT_STAT is automatically selected. It is also possible to select only categories belonging to higher hierarchies. For example, only a specific first category may be selected, and all data for categories below it may be requested, or specific first or second categories may be selected, and all data for categories below the specific second category may be requested. For example, if you select only MANAGEMENT in Figure 3, all the data for its subordinates ACTIVITY, QUALIFICATION, ACCOUNT_STAT, and PAYOUT will be requested. If you select MANAGEMENT-ACTIVITY, all the data for ON_DUTY, OFF_DUTY, TOGGLE_NOA_V1, and TOGGLE_NOA_V2 may be requested.
[0066] Once a user's data request is input in this manner, it can be used to generate a user query. According to one embodiment, the data request can be analyzed to identify specific categories that correspond to at least some of the at least one categories included in each hierarchy. Subsequently, a user query can be obtained that includes access to specific columns, which are at least some of the distributed columns, designated to retrieve information corresponding to the specific category. Here, the specific columns may be determined by referring to the format information of the event field information designated for the category in question. According to one embodiment, the specific columns may include columns that are included as the basis of the user query and columns that correspond to the format information of the event field information. Figure 5 is used to illustrate one embodiment of such a process.
[0067] Figure 5 is a flowchart illustrating the process of generating user queries according to one embodiment.
[0068] First, Figure 5 assumes that the first, second, and third layers are named the domain layer, event type layer, and event detail type layer, respectively. In this case, if the user's data request is DELIVERY-DELIVERY_TASK-ACCEPTED or PICKED_UP, query optimization can generate a user query that includes access to the domain, event_type, event_detail_type, and event_date_time_between fields, as well as the partner_id, delivery_task_id, and order_id fields. Here, the domain, event_type, event_detail_type, and event_date_time_between fields are basically fields that can be included in the user query regardless of what data request is entered. The partner_id, delivery_task_id, and order_id fields may be fields that are configured to include event field information when an ACCEPTED or PICKED_UP event message is generated. Fields corresponding to the format information of such event field information, namely the partner_id, delivery_task_id, and order_id fields, may be included in the user query when the ACCEPTED or PICKED_UP category is selected. The user query thus generated can be transmitted to the archive database 110.
[0069] Subsequently, the archive server 100 can connect to at least some of the distributed columns selected by the user query, obtain response data corresponding to the data request, and then provide it to the user. Refer to Figure 6 to see one embodiment of the UI related to such a series of data provision processes.
[0070] Figure 6 is an illustrative diagram of a UI that allows users to easily view data according to one embodiment.
[0071] Referring to Figure 6, the user can select at least some of the categories from the first to third levels through the category input unit 620. Subsequently, the user can view the response data corresponding to the selected specific category, which is displayed through the data provision unit 610.
[0072] Additionally, user queries may include additional specific conditional information regarding at least some of the values of specific columns, entered by the user through an additional second UI not shown in Figure 6. For example, in Figure 6, if a user wants to view only the data for contract_result_id:13710070 in chronological order, they can enter a condition for contract_result_id through the second UI to include that condition in the user query. According to one embodiment, the values that can be entered through the second UI may generally be similar to conditional statements entered in a where clause.
[0073] Furthermore, according to one embodiment, the above event messages may be adjusted by referring to configuration information obtained through a predetermined third UI. For example, classification adjustment information for each hierarchy and category, and field adjustment information for event field information may be obtained through the third UI. Classification adjustment information may include settings related to adding a new hierarchy or deleting an existing hierarchy, or adding a new category or deleting an existing category. Field adjustment information may include settings related to adding a new field or deleting an existing field, relating to the fields set for each category.
[0074] Figure 7 is a block diagram illustrating an electronic device for managing data related to a service according to one embodiment.
[0075] The archive server 100 in Figure 7 may correspond to an electronic device in this specification. In one embodiment, the archive server 100 may include a transceiver 101, storage 102, and one or more processors 103. The archive server 100 shown in Figure 7 only shows components relevant to this embodiment. Therefore, it will be understood by those skilled in the art related to this embodiment that other general components may be included in addition to the components shown in Figure 7.
[0076] For example, the archive server 100 may include a transceiver 101 in one embodiment. The transceiver 101 is a device for wired / wireless communication and can communicate with an external electronic device. The external electronic device may be a terminal 120. The communication technologies used by the transceiver 101 may include GSM (global system for mobile communication), CDMA (Code division multi access), LTE (long term evolution), 5G, WLAN (wireless LAN), Wi-Fi (wireless fidelity), Bluetooth®, RFID (radio frequency identification), infrared data association (IrDA), ZigBee, NFC (near field communication), etc.
[0077] In one embodiment, the transceiver 101 can receive information about queries from a terminal, and the terminal can provide information about response data corresponding to the queries.
[0078] The storage 102 may store information for performing at least one of the methods described above through Figures 1 to 7. The storage 102 may store one or more instructions executed by one or more processors 103. The storage 102 may be called memory and may be volatile memory or non-volatile memory. The storage 102 may contain information about a set of matrices, and information about multiple time units for each matrix.
[0079] One or more processors 103 can control the overall operation of the electronic device 100 and process data and signals. One or more processors 103 can perform one of the methods described above through Figures 1 to 7. One or more processors 103 may consist of at least one hardware unit. Alternatively, one or more processors 103 may operate with one or more software modules generated by executing one or more instructions stored in the storage 102. One or more processors 103 can control embodiments performed by the electronic device 100 through interaction with the transceiver 101 and the storage 102, and further with components that the electronic device 100 may further include.
[0080] According to one embodiment, the processor 103 includes storage for storing one or more instructions executed by the one or more processors by executing one or more instructions, and when an event occurs in the source server 300, the one or more processors generate an event message including multi-layered classification information with at least one category in each layer, store the event message chronologically in the streaming server 200, and after retrieving the event message chronologically from the streaming server 200, store it in an archive database based on the classification information.
[0081] On the other hand, while preferred embodiments of the present invention are disclosed in this specification and drawings, and specific terms are used, these are merely general terms used to facilitate the explanation of the technical content of the invention and to aid in its understanding, and are not intended to limit the scope of the invention. It will be obvious to those ordinary skill in the art to which the invention pertains that other modifications based on the technical idea of the invention are also possible, in addition to the embodiments disclosed herein.
[0082] The electronic device according to the above-described embodiment may include a processor, memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with external devices, and user interface devices such as a touch panel, keys, and buttons. The method embodied in the software module or algorithm is computer-readable code or program instructions executable on the processor, which can be stored on a computer-readable recording medium. Here, computer-readable recording media include magnetic recording media (e.g., ROM (read-only memory), RAM (random-access memory), floppy disks, hard disks, etc.) and optical reading media (e.g., CD-ROM, DVD (Digital Versatile Disc)). The computer-readable recording media are distributed across a network of computer systems, and computer-readable code can be stored and executed in a distributed manner. The medium is computer-readable, can be stored in memory, and can be executed on the processor.
[0083] This embodiment can be represented by a functional block configuration and various processing stages. Such a functional block can be embodied by various numbers of hardware and / or software configurations that perform a particular function. For example, the embodiment may employ an integrated circuit configuration such as memory, processing, logic, look-up table, etc., which can perform various functions under the control of one or more microprocessors or other control devices. Just as the components can be executed by software programming or software elements, this embodiment includes various algorithms embodied by combinations of data structures, processes, routines or other programming configurations, and can be embodied in programming or scripting languages such as C, C++, Java, assembler, etc. Functional aspects can be embodied by algorithms executed by one or more processors. Furthermore, this embodiment can employ prior art for electronic environment configuration, signal processing, and / or data processing, etc. Terms such as “mechanism,” “element,” “means,” and “configuration” can be used broadly and are not limited to mechanical and physical configurations. The terms can also include the meaning of a series of software processes (routines) in conjunction with a processor, etc.
[0084] The embodiments described above are merely illustrative examples, and other embodiments may be realized within the scope of the claims described later. [Explanation of Symbols]
[0085] 100 Archive Servers 101 Transceiver 102 storage 103 Processors 110 Archive Databases 111 Classifier 112 Tables 200 streaming servers 210 Message Queue 300 source servers
Claims
1. A method for managing server information, When an event occurs on the source server, the process involves generating an event message containing multi-layered classification information, with each layer containing at least one category. The steps include saving the event messages in chronological order on the streaming server, The process includes the step of acquiring the event messages from the streaming server in chronological order and then saving them to an archive database based on the classification information. How to manage server information.
2. The event is detected by the execution of at least one of the following: a first event listener which is executed according to a transaction scenario on the source database included in the source server, and a second event listener which is executed in response to a change in a field value on the source database. The server information management method described in claim 1.
3. The first event listener is executed in binding to at least a portion of the series of transactions when a series of transactions are executed according to a pre-configured transaction scenario. The second event listener is executed as a change detection callback when it detects a change in at least some of the field values in the source database. The server information management method according to claim 2.
4. The event message includes, along with the classification information obtained when at least a portion of the classification function is called upon by the occurrence of the event, event field information whose format is determined in accordance with the classification information and which relates to the content of the event. The server information management method described in claim 1.
5. The event message is generated with at least a portion of the event field information masked when the classification information corresponds to a masking category set for at least a portion of the categories. The server information management method according to claim 4.
6. The step of saving the event message to the archive database is: The steps include: obtaining the event messages stored in the message queue included in the streaming server in chronological order from the message queue, and then using a classifier included in the archive database to identify and classify the classification information of the event messages; The step further includes storing the event messages chronologically in a table on the archive database determined by referring to the classification information, The server information management method described in claim 1.
7. The table on the archive database is determined to be a table mapped to specific category information that indicates which category the event message belongs to at a particular level of the hierarchy. The server information management method according to claim 6.
8. The tables on the aforementioned archive database are mapped according to the validity period set for each specific category in the specific hierarchy. The server information management method according to claim 7.
9. The aforementioned archive database is a distributed column-based database. The server information management method described in claim 1.
10. When a user data request is entered into the aforementioned archive database, the process involves obtaining a user query to acquire information corresponding to the request, The further step includes: connecting to at least some of the distributed columns included in the archive database, selected in response to the user query, to obtain response data corresponding to the data request, and then providing this to the user. The server information management method according to claim 9.
11. The step of obtaining the aforementioned user query is, The steps include: analyzing the data request to identify a specific category that corresponds to at least a part of the at least one category included in each of the aforementioned hierarchies; The step of obtaining the user query, which includes accessing a specific column designated to obtain information corresponding to the specific category, The server information management method according to claim 10.
12. The aforementioned data request is obtained through a separate first UI that allows the user to select at least part of the at least one category included in each of the aforementioned hierarchies. The server information management method according to claim 11.
13. The user query includes additional specific conditional information relating to at least some of the specific columns, which is entered by the user through a separate second UI. The server information management method according to claim 12.
14. The event message is adjusted by referring to configuration information, which includes classification adjustment information for each of the hierarchy and category, and field adjustment information for event field information, obtained through a separate third UI configured to be adjustable by the user. The server information management method described in claim 1.
15. A computer-readable non-temporary recording medium that stores a program for causing a computer to perform the method according to any one of claims 1 to 14.
16. It is a server, A walkie-talkie and One or more processors, Includes storage for storing one or more instructions executed by the one or more processors, When an event occurs on the source server, one or more of the aforementioned processors generate an event message containing multi-layered classification information, each layer containing at least one category. The event messages are stored chronologically on the streaming server. A server that retrieves the event messages from the streaming server in chronological order and then stores them in an archive database based on the classification information.