Queue separation method for analyzing transaction on basis of distributed workflow and apparatus for performing same method
The queue separation method for analyzing transactions using distributed workflow and adaptive resource distribution addresses the limitations of existing FDS by enabling faster and more efficient transaction analysis, improving the detection of fraudulent activities in financial services.
Patent Information
- Application Number
- PCT/KR2023/011889
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-02
- Filing Date
- 2023-08-10
- Publication Date
- 2025-02-06
AI Technical Summary
Current Fraud Detection Systems (FDS) in financial services rely on rule-based systems and struggle to effectively detect intelligent and advanced fraudulent transactions, necessitating an evolutionary model with predictive capabilities using artificial intelligence to enhance transaction analysis efficiency.
A queue separation method for analyzing transactions based on distributed workflow, which involves monitoring cue separation information and adaptive distribution of computing resources for artificial intelligence engines to facilitate faster transaction analysis, allowing for professional and efficient processing of transactions.
This approach enables faster and more effective analysis of transactions by optimizing resource allocation and improving the performance of artificial intelligence engines, thereby enhancing the detection of fraudulent activities in real-time.
Smart Images

Figure KR2023011889_06022025_PF_FP_ABST
Abstract
Description
A method for separating queues for analyzing transactions based on distributed workflows and a device for performing the method.
[0001] The present invention relates to a queue separation method for analyzing transactions based on a distributed workflow, and to a device for performing such a method. More specifically, the present invention relates to a method for performing queue separation to analyze transactions occurring during financial settlements through a distributed workflow based on specialized separation, and to a device for performing such a method.
[0002] With the increasing complexity and diversification of financial services and products, and the surge in various financial frauds and voice phishing, the importance of introducing a Fraud Detection System (FDS) to prevent damage by detecting abnormal transactions in real time is being emphasized once again.
[0003] For a long time, the insurance industry has been implementing FDS in subscription screening and payment screening to detect cases of unfair claims for insurance money due to intentional accidents or unfair subscriptions and claims that take advantage of loopholes in insurance that are not at the level of common sense. Almost all insurance companies have established and are operating their own FDS.
[0004] Credit card companies, banks, and securities firms have also adopted FDS. The principle of FDS is to model the characteristics of each type of fraud or abnormal transaction and pre-define the transaction patterns that emerge when such fraud or abnormal transactions occur. When a transaction with this pattern occurs, managers can analyze and determine whether it is fraudulent or legitimate and respond accordingly.
[0005] Therefore, the most crucial part of building an FDS is modeling abnormal or fraudulent transactions and then incorporating these patterns into the FDS system. A significant portion of FDS systems still use this rule-based system.
[0006] However, in order to prevent increasingly sophisticated and sophisticated fraudulent and abnormal transactions, an evolved and advanced model is needed compared to existing models. To this end, attempts are being made to create and apply predictive models using artificial intelligence capable of learning, but there is still much room for improvement in their effectiveness.
[0007] This invention is a technology developed through the Seoul Business Agency's 2022 Fintech Blockchain Technology Commercialization Support Project, "Development of AI Detection Solutions Specialized in Voice Phishing and Anti-Money Laundering (AML)."
[0008] Related technology includes Korean patent application 10-2020-0162698.
[0009] The purpose of the present invention is to solve all of the above-described problems.
[0010] In addition, the present invention aims to perform analysis on transactions more quickly through specialized separation and queue separation.
[0011] In addition, the present invention aims to perform analysis on transactions more quickly by adaptively distributing computing resources for an artificial intelligence engine.
[0012] A representative configuration of the present invention to achieve the above purpose is as follows.
[0013] According to one embodiment of the present invention, a queue separation method for analyzing a transaction based on a distributed workflow may include a step in which a queue monitoring unit of a distributed transaction analysis system monitors queue separation reference information and sub-request transaction information, and a step in which the distributed transaction analysis system determines a queue for an analysis group through queue separation based on the queue separation reference information and the sub-request transaction information.
[0014] Meanwhile, the above queue separation reference information may include information about changes in the analysis group, changes in the processing volume of the analysis group, and changes in the artificial intelligence engine corresponding to the analysis group, and the above sub-request transaction information may include information about sub-request transactions input to the queue.
[0015] Additionally, the sub-request transaction can be generated by separating the request transaction into a specialized transaction by the codec of the distributed transaction analysis system.
[0016] According to another embodiment of the present invention, a distributed transaction analysis system that performs queue separation for analyzing a transaction based on a distributed workflow includes a queue monitoring unit that monitors queue separation reference information and sub-request transaction information, and the distributed transaction analysis system can be implemented to determine a queue for an analysis group through queue separation based on the queue separation reference information and the sub-request transaction information.
[0017] Meanwhile, the above queue separation reference information may include information about changes in the analysis group, changes in the processing volume of the analysis group, and changes in the artificial intelligence engine corresponding to the analysis group, and the above sub-request transaction information may include information about sub-request transactions input to the queue.
[0018] Additionally, the sub-request transaction can be generated by separating the request transaction into a specialized transaction by the codec of the distributed transaction analysis system.
[0019] According to the present invention, analysis of transactions can be performed more quickly through specialized separation and queue separation.
[0020] In addition, according to the present invention, computing resources for the artificial intelligence engine can be adaptively distributed so that analysis of transactions can be performed more quickly.
[0021] Figure 1 is a conceptual diagram illustrating a distributed transaction analysis system according to an embodiment of the present invention.
[0022] FIG. 2 is a conceptual diagram illustrating the specialized separation operation of a codec according to an embodiment of the present invention.
[0023] FIG. 3 is a conceptual diagram illustrating request and response operations based on specialized separation of codecs according to an embodiment of the present invention.
[0024] Figure 4 is a conceptual diagram illustrating queue separation according to an embodiment of the present invention.
[0025] FIG. 5 is a conceptual diagram illustrating a method for providing an artificial intelligence engine as an analysis group according to an embodiment of the present invention.
[0026] Figure 6 is a conceptual diagram illustrating a specialized separation method according to an embodiment of the present invention.
[0027] Figure 7 is a conceptual diagram illustrating queue separation according to an embodiment of the present invention.
[0028] Figure 8 is a conceptual diagram illustrating a method for allocating computing resources to an analysis group according to an embodiment of the present invention.
[0029] Figure 9 is a conceptual diagram illustrating a method for replacing an artificial intelligence engine according to an embodiment of the present invention.
[0030] Figure 10 is a conceptual diagram showing an artificial intelligence engine differentiation method according to an embodiment of the present invention.
[0031] FIG. 11 is a conceptual diagram illustrating the operation of a distributed transaction analysis system based on multiple transaction service units according to an embodiment of the present invention.
[0032] The following detailed description of the present invention refers to the accompanying drawings, which illustrate specific embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention, while different from each other, are not necessarily mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be modified and implemented from one embodiment to another without departing from the spirit and scope of the present invention. Furthermore, it should be understood that the positions or arrangements of individual components within each embodiment may also be modified without departing from the spirit and scope of the present invention. Accordingly, the following detailed description is not to be taken in a limiting sense, and the scope of the present invention is to be construed to encompass the scope of the claims and all equivalents thereof. Like reference numerals in the drawings represent the same or similar elements throughout the several aspects.
[0033] Hereinafter, various preferred embodiments of the present invention will be described in detail with reference to the attached drawings so that a person having ordinary skill in the art to which the present invention pertains can easily practice the present invention.
[0034]
[0035] For convenience of explanation, the following embodiments of the present invention primarily assume that transactions are financial transaction information (e.g., card payments). However, transactions can include information related to various other transactions, such as cryptocurrency transaction information and battery transaction information.
[0036]
[0037] Figure 1 is a conceptual diagram illustrating a distributed transaction analysis system according to an embodiment of the present invention.
[0038] In Fig. 1, a distributed transaction analysis system for analyzing transactions is disclosed.
[0039] Referring to FIG. 1, the distributed transaction analysis system may include a transaction service unit (100), a codec (110), a queue separation unit (120), a worker unit (130), a database (140), an artificial intelligence engine generation unit (150), and an SCM (serving container manager) (160).
[0040] The transaction service unit (100) can be implemented to generate transactions based on services and transmit them to a codec for analysis of transactions based on the service. For example, the transaction service unit (100) can transmit transactions resulting from card payments from a specific card company to a distributed transaction analysis system. The transaction service unit (100) can also be interpreted as a service unit that performs a specific transaction service.
[0041] The transaction service unit (100) can transmit a request transaction to the codec (110) to request analysis. After analyzing the request transaction, the transaction service unit (100) can receive a response transaction from the codec (110) that has completed the analysis based on the request transaction.
[0042] The codec (110) may be implemented to perform specialized separation of request transactions and specialized combination for generating response transactions. For example, the codec (110) may separate necessary information from a request transaction through specialized separation of the request transaction to generate multiple sub-request transactions. Alternatively, the codec (110) may convert a single request transaction into multiple request transactions. For example, if multiple analyses (e.g., domestic abnormal transaction analysis, overseas abnormal transaction analysis, overseas transaction election (preemptive payment rejection) analysis, etc.) are required based on a transaction, multiple sub-request transactions containing necessary information for each of the multiple analyses may be generated by the codec (110).
[0043] Additionally, the codec (110) can generate a response transaction by expertly combining a plurality of sub-response transactions that include analysis results generated based on analysis of a plurality of sub-request transactions of each of a plurality of analysis groups.
[0044] The codec (110) can specialize request transactions based on changes in analysis groups, such as analysis group updates, additions, or changes. Changes in analysis groups may be caused by changes in the analysis target or the AI engine performing the analysis, and the codec (110) can specialize request transactions by taking these changes into account.
[0045] A queue separation unit (120) may be implemented to separate queues according to analysis groups. Multiple analysis groups may be included in the worker unit (130), and multiple queues may be separately allocated to input sub-request transactions to each of the multiple analysis groups. Sub-request transactions for each analysis group may be delivered to the analysis group through separate queues.
[0046] The queue separation unit (120) can separate queues based on the processing volume required for each analysis group. The queue separation unit (120) can allocate relatively more queues to analysis groups with relatively higher processing volumes. Conversely, the queue separation unit (120) can allocate relatively fewer queues to analysis groups with relatively lower processing volumes.
[0047] The worker unit (130) may be implemented to perform analysis based on sub-request transactions. The worker unit (130) may include multiple analysis groups, each of which may receive a plurality of sub-request transactions and perform analysis based on each of the plurality of sub-request transactions. Each of the multiple analysis groups may include an endpoint worker, and the endpoint worker may be a sub-request transaction analysis unit that includes an artificial intelligence engine.
[0048] For example, a request transaction can be specialized into sub-request transaction 1, sub-request transaction 2, and sub-request transaction 3 by the codec (110). Sub-request transaction 1, sub-request transaction 2, and sub-request transaction 3 can each be transmitted to analysis group 1, analysis group 2, and analysis group 3 based on a separate queue (e.g., a first queue, a second queue, a third queue). Analysis group 1 can output a first analysis result (e.g., an overseas election day analysis result), analysis group 2 can output a second analysis result (e.g., an abnormal transaction analysis result), analysis group 3 can output a third analysis result (e.g., an illegal affiliate transaction analysis result), etc.
[0049] Each of the multiple analysis groups may include an AI engine for generating analysis results. The AI engine may be generated by an AI engine generation unit and transmitted to each of the multiple analysis groups.
[0050] The AI engines included in each of the multiple analysis groups can be replaced based on performance. Each of the multiple analysis groups can include at least one AI engine for generating specific analysis results, and at least one AI engine can be replaced based on a comparison of its analysis performance with a new AI engine.
[0051] Additionally, computing resources can be allocated differently for multiple analysis groups depending on processing volume. For example, if Analysis Group 1 performs essential analysis and outputs analysis results for all transactions, it may be allocated relatively more computing resources. Analysis Group 2, which performs selective analysis when foreign transactions occur, may be allocated relatively fewer computing resources.
[0052] Computing resources may include the number of artificial intelligence engines, GPUs (graphic processing units), memory resources, etc. In the present invention, the analysis groups of the worker unit (130) can be uploaded and operated on memory for rapid analysis, and the allocation of these memory resources can be adaptively performed differently for each analysis group, taking into account the processing capacity of each analysis group.
[0053] The database (140) can serve as a data storage for the operations of the worker unit (130) and the artificial intelligence engine generation unit (150). The database (140) can store information on transactions that have occurred, and the stored transactions can be used for analysis in the analysis group of the worker unit (130) and for learning of the candidate artificial intelligence engine (140) within the artificial intelligence engine generation unit (150).
[0054] The AI engine generation unit (150) may be implemented to generate an AI engine for transaction analysis. The AI engine generation unit (150) may generate various AI engines for generating analysis results based on transactions accumulated in the database (140).
[0055] A performance comparison is performed between a new candidate artificial intelligence engine generated by the artificial intelligence engine generation unit (150) and a target artificial intelligence engine currently used in the analysis group, and the candidate artificial intelligence engine and the target artificial intelligence engine may be replaced in consideration of performance improvement.
[0056] The SCM (160) can be implemented to control the analysis group and the codec (110). The SCM (160) can perform the replacement of the artificial intelligence engine within the analysis group, addition, deletion, change, etc. of the analysis group on the worker unit (130). In addition, the SCM (160) can control the specialized separation and specialized combination of the transaction of the codec (110) by interworking with the codec (110) to generate a sub-request transaction corresponding to the analysis group. For example, when an analysis group is added, information on the sub-request transaction to be generated is transmitted to the codec (110) to generate a sub-request transaction to be input to the additional analysis group, and the codec (110) can specialized separate the request transaction based on the information on the request transaction to generate the sub-request transaction.
[0057] The specialized separation and specialized combination based on the codec (110) are described in detail below.
[0058] Transactions per second (TPS) can be improved through resource allocation that takes into account the processing capacity of the analysis group as described above and through independent processing of transactions based on specialized separation and specialized combination.
[0059]
[0060] FIG. 2 is a conceptual diagram illustrating the specialized separation operation of a codec according to an embodiment of the present invention.
[0061] In Figure 2, the specialized separation operation of a request transaction performed in the codec is disclosed.
[0062] Referring to FIG. 2, the codec (200) can perform specialized separation for each request transaction (205) based on the identification information of the request transaction (205) transmitted by the transaction service department.
[0063] Analysis can be performed by passing the request transaction (205) to different analysis groups. For example, based on the identifier of the request transaction (205), the codec (200) can distinguish the request transaction type and perform specialized separation by considering the analysis required for the request transaction (205) according to the request transaction type. The transaction type can also be distinguished based on information within the request transaction (205) itself, rather than the identifier.
[0064] For example, a first type request transaction (210) may be a domestic card transaction transaction, and a second type request transaction (220) may be an overseas card transaction. The first type request transaction (210) and the second type request transaction (220) are distinguished based on a request transaction identifier, and the codec may perform different specialized separations for each of the first type request transaction (210) and the second type request transaction (220) based on the request transaction identifier, thereby generating a plurality of first type sub-request transactions (250) and a plurality of second type sub-request transactions (260).
[0065] A plurality of first type sub-request transactions (250) may be determined based on information to be input into the analysis group through a separate queue, taking into account the analysis required for the first type request transaction (210). A plurality of second type sub-request transactions (260) may be determined based on information to be input into the analysis group through a separate queue, taking into account the analysis required for the second type request transaction (220).
[0066] For example, a first type request transaction (210) can be divided into three first type sub-request transactions (first type sub-request transaction 1, first type sub-request transaction 2, first type sub-request transaction 3) (250), and each of the three first type sub-request transactions (250) can be transmitted to each of analysis group 1 (241), analysis group 2 (242), and analysis group 3 (243). Each of the three first type sub-request transactions (250) can be transmitted to each of analysis group 1 (241), analysis group 2 (242), and analysis group 3 (243) through separate queues (first queue (231), second queue (232), and third queue (233)) corresponding to each of analysis group 1 (241), analysis group 2 (242), and analysis group 3 (243).
[0067] The second type request transaction (220) can be divided into two second type sub-request transactions (second type sub-request transaction 1, second type sub-request transaction 2) (260), and each of the two second type sub-request transactions (260) can be transmitted to each of analysis group 3 (243) and analysis group 4 (244). Each of the two second type sub-request transactions (260) can be transmitted to each of analysis group 3 (243) and analysis group 4 (244) through separate queues (third queue (233), fourth queue (234)) corresponding to each of analysis group 3 (243) and analysis group 4 (244).
[0068]
[0069] FIG. 3 is a conceptual diagram illustrating request and response operations based on specialized separation of codecs according to an embodiment of the present invention.
[0070] In FIG. 3, a method for processing requests and responses for multiple specialized sub-transactions is disclosed.
[0071] Transactions passed from the transaction service unit to the codec can be referred to as request transactions, and those passed from the codec to the transaction generation unit can be referred to as response transactions. Furthermore, sub-transactions passed from the codec to the analysis group can be referred to as sub-request transactions, and those passed from the analysis group to the codec can be referred to as sub-response transactions.
[0072] Referring to FIG. 3, a specific type of request transaction (310) can be separated into multiple sub-request transactions via a codec (350). The multiple sub-request transactions can also be expressed as a term of multiple sub-request transactions. Sub-request transactions 1 to 2 are input to multiple separate request queues (360), and can be input to endpoint workers (380) on each of analysis groups 1 to 3 on the multiple separate request queues (360). The endpoint worker (380) can be interpreted as a module that outputs analysis results including an artificial intelligence engine operating within an analysis group.
[0073] The endpoint worker (380) on each of analysis group 1 to analysis group n can generate analysis result 1 to analysis result n based on the input sub-request transaction. Analysis result 1 to analysis result n can be transmitted to the codec (350) as multiple sub-response transactions. The multiple sub-response transactions can be expressed as multiple response transactions. The multiple sub-response transactions can be combined into a single transaction in the codec (350) and transmitted to the transaction service unit (300) as a response transaction (320).
[0074] Processing times for multiple sub-request transactions may vary. For example, the time it takes for multiple sub-request transactions to be transmitted to the codec (350) may vary due to a relatively large number of pre-allocated sub-request transactions in a separate queue corresponding to a specific analysis group, or differences in the processing speed of the AI engine corresponding to the endpoint worker (380) of the analysis group.
[0075] According to an embodiment of the present invention, multiple sub-request transactions can be identified based on an identification value, such as a hash value, upon separation to determine which transaction is a specialized sub-transaction. Based on this identification value, a response transaction (320), which is a specialized combination of multiple sub-response transactions input with a time difference from the codec (350), can be transmitted to the transaction service unit (300).
[0076] A timeout period is set on the codec (350), and if a subordinate response transaction is not received within the timeout period, it is excluded, and the remaining subordinate response transactions can be combined into a single response transaction and transmitted to the transaction service unit (300). For example, if subordinate response transaction 3 is not transmitted during the timeout period among subordinate response transaction 1, subordinate response transaction 2, and subordinate response transaction 3, only subordinate response transaction 1 and subordinate response transaction 2 can be combined into a single response transaction and transmitted to the transaction service unit (300) as a single response transaction (320).
[0077] The timeout period may be determined by considering the service of the transaction service, analysis group processing time information, which is information about the time required for each of multiple analysis groups to generate analysis results, and analysis group queue waiting information, which is information about the volume of sub-request transactions waiting in the queue for each unit of time in the analysis group.
[0078] Additionally, the timeout period can be set differently depending on the importance of each analysis result. Analysis results with higher importance for determining whether to approve a transaction may have a higher importance value. For analysis results that require faster delivery among multiple analysis results for a single request transaction, a separate, faster timeout period, faster than the standard timeout period, can be set. If other analysis results are not delivered within the faster timeout period, the result can be generated as a single, faster response transaction and delivered to the transaction service department.
[0079] Alternatively, according to an embodiment of the present invention, multiple sub-request transactions of a single request transaction may be set as multiple sub-request transaction groups and input as an analysis group. Different timeout periods may be set for each of the multiple sub-request transaction groups. For example, a request transaction may be separated into a first sub-request transaction group and a second sub-request transaction group through a codec. Individual timeout periods may be set for sub-response transactions for the first and second sub-request transaction groups. The sub-request transactions included in the first sub-request transaction group and the sub-request transactions included in the second sub-request transaction group may be separately separated based on different identifiers (e.g., hash values) and may be separately combined and transmitted to the transaction service unit later. In this way, sub-request transactions that require relatively fast analysis results and sub-request transactions that require relatively slow analysis results may be separately grouped to generate a response transaction and transmitted to the transaction service unit.
[0080] In addition, according to an embodiment of the present invention, even when divided into multiple sub-request transaction groups, a group identifier (e.g., a group hash value) capable of expertly combining the multiple sub-request transaction groups is separately assigned, and when a sub-response transaction for each of the multiple sub-request transaction groups comes within a set group expert combining time, the sub-response transaction for each of the multiple sub-request transaction groups can be expertly combined to generate a response transaction and transmitted.
[0081] Additionally, whether to create a sub-request transaction group can be determined by considering the current analysis group processing time information and analysis group queue waiting information. If the predicted generation time of a sub-response transaction exceeds a threshold timeout period based on the current analysis group processing time information and analysis group queue waiting information, a sub-request transaction group can be created to create a faster response transaction. Sub-request transactions for which the predicted generation time of a sub-response transaction is predicted to be longer than the threshold timeout period can be determined as a separate sub-request transaction group through grouping.
[0082] In this way, analysis results for transactions can be delivered quickly through analysis of independent and individual sub-request transactions.
[0083]
[0084] Figure 4 is a conceptual diagram illustrating queue separation according to an embodiment of the present invention.
[0085] In Figure 4, a queue separation operation for processing a sub-request transaction is initiated.
[0086] Referring to FIG. 4, multiple sub-request transactions can be input into an analysis group through a separate queue corresponding to the analysis group.
[0087] For example, a request transaction can be generated into sub-request transaction 1, sub-request transaction 2, and sub-request transaction 3 through specialized separation on the codec.
[0088] It can be assumed that sub-request transaction 1, sub-request transaction 2, and sub-request transaction 3 are input to analysis group 1, analysis group 2, and analysis group 3, respectively. Sub-request transaction 1, sub-request transaction 2, and sub-request transaction 3 can be assigned to separate first queue, second queue, and third queue, respectively.
[0089] Pre-entered sub-request transactions may be located on the first, second, and third queues. Sub-request transactions 1, 2, and 3 located on the first, second, and third queues, respectively, may be entered into Analysis Group 1, Analysis Group 2, and Analysis Group 3 for processing according to the processing of each queue.
[0090] According to an embodiment of the present invention, the setting of the queue can be performed by taking into consideration changes in the analysis group (addition, deletion), changes in the analysis group processing volume, changes in the artificial intelligence engine corresponding to the analysis group, etc.
[0091] The queue monitoring unit can monitor queue separation reference information (410). Alternatively, the queue monitoring unit can also monitor information (420) about sub-request transactions accumulating in the queue. Based on the monitored queue separation reference information (410), a queue corresponding to an analysis group can be assigned. The queue separation reference information (410) can include changes in the analysis group (addition, deletion), changes in the processing capacity of the analysis group, changes in the artificial intelligence engine corresponding to the analysis group, etc.
[0092] For example, the number of endpoint workers (or AI engines) included in an analysis group can be adaptively adjusted by the SCM, and / or analysis groups can be added and removed. As the number of endpoint workers (or AI engines) is adjusted and analysis groups are added and removed, the allocated queues can be adjusted or new queues can be allocated.
[0093] Within an analysis group, there may be identical AI engines generating identical analysis results. However, there may also be different versions of AI engines, such as an AI engine before and after retraining. If different first and second AI engines exist within an analysis group, different queues may be assigned to input sub-request transactions to different AI engines within a single analysis group.
[0094] Different AI engines within an analysis group may operate independently to produce individual analysis results (independent analysis), or conversely, different AI engines within an analysis group may operate dependently to produce dependent analysis results (dependent analysis).
[0095] When performing independent analysis, the assigned queue for a single analysis group is divided into individual subqueues for each AI engine, allowing sub-request transactions to be delivered to each AI engine. If a specific AI engine is later deleted, the corresponding subqueue is deleted. If a specific AI engine is later added, a subqueue corresponding to the added AI engine may be added.
[0096] When performing dependent analysis, the assigned queue for one analysis group is replicated, and the replicated replicated queues are connected to each of the different AI engines to transmit the same sub-request transactions. The replicated queue can be a queue that transmits the same sub-request transactions as the queue that is the replication target (the original queue). The replicated queues can transmit the same sub-request transactions to different AI engines by synchronizing. During dependent analysis, the original queue and the replicated queue can transmit sub-request transactions by setting a sync range so that the analysis results of different AI engines can be generated within a certain time range, taking into account the analysis result generation times of different AI engines. Individual sub-queues, original queues, and replicated queues can correspond to the default queue, which will be described later.
[0097]
[0098] FIG. 5 is a conceptual diagram illustrating a method for providing an artificial intelligence engine as an analysis group according to an embodiment of the present invention.
[0099] In Fig. 5, a method for replacing an artificial intelligence engine is disclosed.
[0100] Referring to Figure 5, the artificial intelligence engine generation unit can generate multiple artificial intelligence engines through learning about accumulated transactions.
[0101] The AI engine can be trained to generate analysis results that are identical or similar to the analysis results currently extracted from the analysis group.
[0102] For example, let's assume that Analysis Group 1 generates analysis results based on Target AI Engine 1 for overseas election day judgment. The AI engine currently used in the Analysis Group can be referred to as the "Target AI Engine."
[0103] The number of target AI engines included in analysis group 1 can be adaptively adjusted in consideration of the amount of sub-request transactions input to analysis group 1, and the number of allocated queues can also be adaptively adjusted according to the number of target AI engines.
[0104] By comparing the performance of the target AI engine 1 and the newly learned and generated candidate AI engine 1, the target AI engine 1 can be replaced with the candidate AI engine 1.
[0105] The artificial intelligence engine generation unit can generate a candidate artificial intelligence engine corresponding to the target artificial intelligence engine of the analysis group in order to replace the target artificial intelligence engine located in each analysis group.
[0106] If the performance of the target AI engine has a higher reliability than that of the candidate AI engine by a threshold score or more based on the performance of the candidate AI engine and the performance (e.g., reliability) of the target AI engine, the target AI engine is replaced with the candidate AI engine, and the candidate AI engine can operate as the new target AI engine.
[0107] The artificial intelligence engine generation unit can generate at least one candidate artificial intelligence engine corresponding to a target artificial intelligence engine corresponding to each analysis group, and at least one candidate artificial intelligence engine can be set as a new target artificial intelligence engine through a performance comparison with the target artificial intelligence engine.
[0108] Additionally, the AI engine generation unit can also perform training on an AI engine that will be used for an analysis group that generates analysis results other than the currently used analysis group.
[0109] As in the present invention, only the AI engine for generating specific analysis results is allocated to each analysis group, and the number of allocated AI engines and the computing resources used by the AI engines are adaptively set according to the processing volume, thereby resolving the problem of stepwise increase in used memory and improving memory usage by adaptively adjusting the memory load of the AI engine for each analysis group. For example, a relatively larger number of replicated AI engines may be allocated to an analysis group that receives a relatively large number of sub-request transactions, thereby allocating more computing resources.
[0110]
[0111] Figure 6 is a conceptual diagram illustrating a specialized separation method according to an embodiment of the present invention.
[0112] In Fig. 6, a specialized separation method for a transaction is disclosed.
[0113] Referring to Figure 6, a request transaction may include information about an analysis identifier and a model identifier. The analysis identifier may include information about the analysis to be performed on the request transaction. The model identifier may include information about the artificial intelligence model to be applied to the request transaction.
[0114] Request transactions are specialized and separated based on analysis identifiers and model identifiers and converted into sub-request transactions, and the sub-request transactions can be input to the AI engine of the analysis group and processed through a separate queue for each analysis group.
[0115] According to another embodiment, a request transaction includes a transaction identifier, and the codec may perform specialized separation into sub-request transactions by setting the analysis group required for the request transaction based on the transaction identifier.
[0116] Specialized separation of transactions can be performed in two types:
[0117] Type 1 specialized separation is a specialized separation that creates multiple identical request transactions based on copies of the request transaction, without extracting separate information from the request transaction. In other words, Type 1 specialized separation creates multiple sub-request transactions by copying the request transaction in the same number of copies, taking into account the number of sub-request transactions required for the request transaction.
[0118] Type 2 specialized separation extracts only the information necessary for the analysis group from the request transaction and generates sub-request transactions. For example, Type 2 specialized separation can generate multiple sub-request transactions by extracting only the information necessary for the AI engine within the analysis group based on the analysis identifier and model identifier.
[0119] Another type of specialized separation might be to create a sub-request transaction without extracting information from the request transaction, and instead including it as null data for any information that is not needed.
[0120] Type 1 specialized separation can be performed when there is a separate AI engine for the request transaction, so that the preprocessing procedure for extracting the necessary information for the sub-request transaction can be performed by the AI engine itself, or when the AI engine is trained based on separate, unpreprocessed request transactions.
[0121] The second type of specialized separation is to generate standardized sub-request transactions by considering the formats of different request transactions, and separate preprocessing for sub-request transactions input to the artificial intelligence engine may be performed at the codec stage.
[0122] When a new type of payment transaction occurs, analysis results can be generated by extracting only the necessary information from the new payment transaction based on the second type of specialized separation for analysis using the existing artificial intelligence engine.
[0123] Afterwards, an AI engine for a new type of payment transaction can be trained separately as a candidate AI engine, and then a separate analysis group can be created as a target AI engine solely for the analysis of the new type of payment transaction. In this case, sub-request transactions can be generated and input to the AI engine without any separate preprocessing at the codec stage through the first type of specialized separation.
[0124]
[0125] Figure 7 is a conceptual diagram illustrating queue separation according to an embodiment of the present invention.
[0126] In Fig. 7, a queue separation method for a sub-request transaction is disclosed.
[0127] Referring to Fig. 7, queue separation by analysis group can be performed based on the queue monitoring results.
[0128] As described above, the queue monitoring unit can monitor queue separation reference information (700) and sub-request transaction information (720). The queue separation reference information (700) can include information about changes in analysis groups (addition, deletion), changes in processing volume of analysis groups, changes in artificial intelligence engines corresponding to analysis groups, etc. The sub-request transaction information (720) can include information about sub-request transactions input to the queue.
[0129] First, a default queue (710) may be determined based on queue separation reference information (700). A default queue (710) may be determined and assigned based on the queue separation reference information. For example, if three AI engines are assigned to analysis group 1, three queues for each of the three AI engines may be assigned to analysis group 1 as default queues (710). As another example, if an analysis group is added, a default queue (710) may be assigned to the added analysis group in consideration of the number of initial AI engines assigned to the added analysis group, and if an analysis group is deleted, the default queue (710) may be set to '0' for the deleted analysis group. If the number of AI engines changes, the number of default queues (710) may be reset according to the number of AI engines.
[0130] The secondarily set default queue (710) can be determined as the final separation queue (730) based on the sub-request transaction information (720) transmitted through the default queue (710). The accumulated information on the sub-request transactions accumulating in the default queue (710) can be monitored as the sub-request transaction information (720). If the number of times that sub-request transactions exceeding a first threshold are accumulated in the default queue (710) is equal to or greater than the first threshold number, a queue can be added to the default queue (710) and determined as the final separation queue (730). Conversely, if the number of times that sub-request transactions below a second threshold are accumulated in the default queue (710) is equal to or greater than the second threshold number, a part of the default queue (710) can be deleted to determine the final separation queue (730). If the final separation queue (730) is determined, the artificial intelligence engine can be copied or deleted according to the final separation queue (730) and added to the analysis group to be loaded into memory or deleted from memory.
[0131]
[0132] Figure 8 is a conceptual diagram illustrating a method for allocating computing resources to an analysis group according to an embodiment of the present invention.
[0133] In Fig. 8, a method for allocating computing resources considering the processing capacity of the artificial intelligence engine of the analysis group is disclosed.
[0134] Referring to FIG. 8, the number of sub-request transactions input for each analysis group may vary, and the throughput of sub-request transactions may vary for each analysis group. Accordingly, according to an embodiment of the present invention, the number of AI engines allocated to each analysis group and the computing resources (GPU (graphics processing unit), CPU (central processing unit), memory, etc.) allocated to each analysis group may be adaptively set to be different from each other.
[0135] The SCM can receive analysis group processing time information (810) and analysis group queue waiting information (820) input by time, and allocate computing resources. The analysis group processing time information (810) can include information about the time it takes for a sub-request transaction to be processed after the sub-request transaction is input to the analysis group. The analysis group queue waiting information (820) can include information about the volume of sub-request transactions waiting in the queue by time unit in the analysis group.
[0136] SCM can adaptively adjust time units to allocate computing resources to analysis groups and control the number of AI engines in an analysis group.
[0137] The hourly resource allocation (815) can be reset to the first cycle based on the analysis group processing time information (810).
[0138] The first cycle can be adaptively set based on transaction information input hourly. For example, card payment transactions occurring domestically and internationally may have different transaction volumes generated hourly. Therefore, the transaction volume can be analyzed based on transaction identification information or the transaction analysis identifier and model identifier, and default computing resources can be allocated for each first cycle. After setting the default computing resources, computing resources can be reallocated for each analysis group based on analysis processing time information for each analysis group.
[0139] A limit analysis time can be set for each analysis group, and if analysis results are output for a specific analysis group beyond the limit analysis time, additional computing resources can be allocated.
[0140] The limit analysis time of an analysis group can be determined by considering the analysis group association information between the analysis group and other analysis groups. For example, analysis group 1 can work with analysis group 2 and analysis group 3 to generate analysis results for multiple sub-request transactions 1, 2, and 3 for a request transaction. Since a response transaction is generated through a specialized combination of multiple sub-request transactions, the analysis results of analysis group 1, 2, and 3 must all be generated within the critical time. In this case, analysis group 1 is associated with other analysis groups, analysis group 2 and 3, for processing the request transaction, and the limit analysis time of analysis group 1 can be set to the longest time among default analysis time 1, default analysis time 2, and default analysis time 3 required to generate analysis results when analysis group 1, analysis group 2, and analysis group 3 each use individually allocated default computing resources.
[0141] Additional computing resources may be allocated taking into account the additional analysis time added to the limit analysis time.
[0142] Additional computing resources may be returned if the processing time of the analysis group allocated additional computing resources remains below the threshold analysis time limit for the specified period of time. In other words, if the processing time of the analysis group allocated additional computing resources remains below the threshold analysis time limit for the specified period of time, the analysis group may return to operating based on the default computing resources.
[0143] The number of artificial intelligence engines (825) within an analysis group can be determined by considering analysis group queue waiting information (820).
[0144] Analysis group queue waiting information (820) may be information about the volume of sub-request transactions waiting in the queue by time unit in the analysis group.
[0145] Within an analysis group, there may be at least one AI engine that generates the same analysis result. While analysis results are generated within the input sub-request analysis time limit, if the queue waiting time for input is long, the actual generation of analysis results may be delayed. Therefore, based on analysis group queue waiting information (820), if the time for which sub-request transactions accumulate in the queue exceeds the first cumulative threshold time exceeds the first cumulative threshold number of times, an AI engine may be added to the analysis group.
[0146] The first cumulative threshold count, first cumulative threshold time, and first cumulative threshold count used to determine whether to add an AI engine may be set differently for each analysis group. The threshold response time required for a response transaction to be returned may be set for each request transaction. The shorter the threshold response time for a request transaction, the smaller the first cumulative threshold count, first cumulative threshold time, and first cumulative threshold count may be set.
[0147] Conversely, if the number of sub-request transactions less than the second cumulative threshold is accumulated for a period longer than the second cumulative threshold time, the AI engine may be deleted from the analysis group.
[0148]
[0149] Figure 9 is a conceptual diagram illustrating a method for replacing an artificial intelligence engine according to an embodiment of the present invention.
[0150] In Fig. 9, a method for replacing an artificial intelligence engine is disclosed by comparing the performance between artificial intelligence engines.
[0151] Referring to FIG. 9, an artificial intelligence engine is generated for each analysis group, and a performance comparison can be performed between the target artificial intelligence engine currently used in the analysis group and the candidate artificial intelligence engine generated by the artificial intelligence engine generation unit.
[0152] For example, the target AI engine and candidate AI engines can be trained by time period and variable, and the AI engine with the highest score based on the analysis results can operate as the target AI engine. The target and candidate AI engines can be retrained periodically, and the scores of the retrained target and candidate AI engines can be compared.
[0153] In the present invention, score comparison can be performed by time and by variable, and the artificial intelligence engine with the highest score by time and by variable can operate as the target artificial intelligence engine.
[0154] The target AI engine in the analysis group may vary depending on the time the transaction is input, or may be set in consideration of the input transaction. For example, AI Engine A may operate as the target AI engine in the first time interval, and AI Engine B may operate as the target AI engine in the second time interval. In addition, if a specific analysis group must output analysis results based on input for sub-request transactions generated by different transaction service units (the first transaction service unit and the second transaction service unit), the specific analysis group may have AI Engine C for processing sub-request transactions of the first transaction service unit and AI Engine D for processing sub-request transactions of the second transaction service unit operating together.
[0155] The target AI engine according to time and the AI engine according to the transaction service department can be set based on the aforementioned scores.
[0156] Additionally, according to an embodiment of the present invention, retraining may be performed to update the artificial intelligence engine over time.
[0157] A candidate AI engine for a target AI engine may include an engine that performs retraining on the target AI engine. Therefore, the retraining results of the target AI engine can be compared with those of the candidate AI engine, which has not undergone retraining, to determine whether to replace it.
[0158]
[0159] Figure 10 is a conceptual diagram showing an artificial intelligence engine differentiation method according to an embodiment of the present invention.
[0160] In Figure 10, the differentiation of the artificial intelligence engine for generating analysis results within the analysis group is initiated.
[0161] Referring to Figure 10, differentiation of the AI engine can be achieved when the target AI engine has different scores for specific variables.
[0162] For example, the analysis results of the existing target AI engine for transactions related to card transactions across all age groups did not differ by age group, but the analysis results scores for a specific age group may be relatively lower due to a specific issue (change in consumption patterns of a specific age group).
[0163] In this case, the target artificial intelligence engine can be differentiated into a first differentiated target artificial intelligence engine (1010) for age groups excluding a specific age group and a second differentiated target artificial intelligence engine (1020) that can relatively increase the score of the analysis result for a specific age group.
[0164] A differentiated target AI engine created by differentiating a target AI engine can be expressed by the term differentiated target AI engine.
[0165] When a target AI engine is differentiated and a differentiated target AI engine is created, the candidate AI engines for each differentiated target AI engine can also be differentiated separately and separate learning can be performed.
[0166] After a target AI engine is differentiated to generate multiple differentiated target AI engines, during a critical differentiation period, the scores of the multiple differentiated target AI engines and the candidate AI engines for the multiple differentiated target AI engines can be determined for all differentiated variables. For example, it can be assumed that there is a first differentiated target AI engine (1010) applicable to age groups other than those in their 20s and a second differentiated target AI engine (1020) targeting those in their 20s. In this case, there may be first candidate AI engines (1050) for the first differentiated target AI engine (1010) and second candidate AI engines (1060) for the second differentiated target AI engine (1020).
[0167] For transactions in their 20s, they may be scored not only for the second differentiation target AI engine and the second candidate AI engines during the critical differentiation period, but also for the first differentiation target AI engine and the first candidate AI engines.
[0168] If, as a result of the scoring, there is an AI engine that shows a higher score than the second differentiation target AI engine and the second candidate AI engine among the first differentiation target AI engine and the first candidate AI engine, the differentiated first differentiation target AI engine and the second differentiation target AI engine can be merged again.
[0169] Conversely, if during the critical differentiation period, there is no AI engine among the first differentiation target AI engine and the first candidate AI engine that shows a higher score than the second differentiation target AI engine and the second candidate AI engine in the scoring results, differentiation is confirmed, and the first differentiation target AI engine and the second differentiation target AI engine can operate as separate target AI engines by creating separate candidate AI engines. At this time, transactions for differentiated variables can only be scored for the separate differentiation target AI engine and the candidate AI engine of the differentiation target AI engine.
[0170] This method can improve the performance of transaction analysis when temporary transaction changes occur, and prevent unnecessary differentiation of artificial intelligence engines, thereby preventing waste of computing resources.
[0171]
[0172] FIG. 11 is a conceptual diagram illustrating the operation of a distributed transaction analysis system based on multiple transaction service units according to an embodiment of the present invention.
[0173] In Figure 11, the operation of a distributed transaction analysis system for providing analysis results for multiple transaction services is disclosed.
[0174] Referring to Figure 11, the distributed transaction analysis system can perform learning based on an artificial intelligence engine by creating analysis groups according to analysis results required for each of multiple transaction services.
[0175] For analysis groups that generate identical variables and analysis results, the distributed transaction analysis system can generate candidate AI engines by performing separate training on transactions generated by each of multiple transaction services. Additionally, it can also generate candidate AI engines by training on all transactions received from multiple transaction services.
[0176] A candidate artificial intelligence engine generated by performing learning based on transactions occurring in one transaction service can be expressed as a candidate artificial intelligence engine (individual) (1110, 1130), and a candidate artificial intelligence engine generated by performing learning based on transactions occurring in multiple transaction services can be expressed as a candidate artificial intelligence engine (integrated) (1120).
[0177] When comparing scores with the target AI engine, not only the candidate AI engines (individual) (1110, 1130) but also the candidate AI engine (integrated) (1130) can be compared, and if the candidate AI engine (integrated) (1130) has a relatively high score, the candidate AI engine (integrated) (1130) can be replaced with the target AI engine.
[0178] As more transaction services participate in the system in this way, more reliable analysis results can be provided through the integrated use of learning data.
[0179]
[0180] The embodiments of the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., either singly or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention or may be known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specifically configured to store and execute program instructions, such as ROMs, RAMs, and flash memories. Examples of program instructions include not only machine language codes generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc. Hardware devices may be changed into one or more software modules to perform processing according to the present invention, and vice versa.
[0181] Although the present invention has been described above with specific details such as specific components and limited examples and drawings, these are provided only to help a more general understanding of the present invention, and the present invention is not limited to the above examples, and those with ordinary knowledge in the technical field to which the present invention pertains can make various modifications and changes based on this description.
[0182] Therefore, the idea of the present invention should not be limited to the embodiments described above, and not only the scope of the patent claims described below but also all scopes equivalent to or equivalently modified from the scope of the patent claims are considered to fall within the scope of the idea of the present invention.
Claims
1. A queue separation method for analyzing transactions based on distributed workflows. A step for the queue monitoring unit of the distributed transaction analysis system to monitor queue separation reference information and sub-request transaction information; and A queue separation method characterized in that the distributed transaction analysis system includes a step of determining a queue for an analysis group through queue separation based on the queue separation reference information and the sub-request transaction information.
2. In paragraph 1, The above queue separation reference information includes information about changes in the analysis group, changes in the processing capacity of the analysis group, and changes in the artificial intelligence engine corresponding to the analysis group. A queue separation method, characterized in that the above sub-request transaction information includes information about a sub-request transaction input into a queue.
3. In paragraph 2, A queue separation method characterized in that the above sub-request transaction is generated by separating the request transaction by a codec of the distributed transaction analysis system.
4. A distributed transaction analysis system that performs queue separation to analyze transactions based on distributed workflows. Includes a queue monitoring unit that monitors queue separation reference information and sub-request transaction information, A distributed transaction analysis system characterized in that the above distributed transaction analysis system is implemented to determine a queue for an analysis group through queue separation based on the queue separation reference information and the sub-request transaction information.
5. In paragraph 4, The above queue separation reference information includes information about changes in the analysis group, changes in the processing capacity of the analysis group, and changes in the artificial intelligence engine corresponding to the analysis group. A distributed transaction analysis system, characterized in that the above sub-request transaction information includes information about sub-request transactions input to a queue.
6. In paragraph 5, A distributed transaction analysis system characterized in that the above sub-request transaction is generated by specializing and separating the request transaction by the codec of the distributed transaction analysis system.
Citation Information
Patent Citations
Interface device and system including the same
KR1020120046461A
A data processing system and method for handling multiple transactions
KR1020160107233A
Threading bolt and core stacking table, building platform, stacking device or the like comprising at least one threading bolt
KR1020200023216A
System interconnect and operating method of system interconnect
KR102206313B1
Bridging module, data transmission system, and data transmission method
US20230138839A1