Risk control system and method for multi-node parallel processing based on memory calculation
By using a multi-node parallel processing system based on memory computing, the performance and latency issues of single nodes in the risk control system were solved, thereby improving the speed and throughput of risk control processing.
Patent Information
- Application Number
- CN202511714385.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-21
- Publication Date
- 2026-02-10
AI Technical Summary
In existing risk control systems, a single risk control node cannot handle an increasing number of risk control rules, leading to performance and latency issues. Serial calls from multiple nodes increase latency and limit system throughput.
A multi-node parallel processing system based on memory computing is adopted. Through components such as a request receiving module, a node registration module, and a risk control processing module, parallel judgment and processing of multiple risk control nodes is realized, thereby reducing latency and improving throughput.
It reduces risk control processing latency, increases risk control processing speed, improves system throughput, and solves the challenges of single-node performance and latency.
Smart Images

Figure CN121501458A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of risk control technology in securities trading systems, and in particular to a risk control system and method based on in-memory computing and multi-node parallel processing. Background Technology
[0002] As the securities industry accelerates its digital transformation, various securities firms have widely adopted automated trading systems, achieving full automation of business operations. The rapid expansion of business scale has led to significant growth in trading instruments, models, quantities, and amounts. This trend has brought new challenges to risk control. In the past, before automated trading, risk control relied primarily on manual calculations by traders. This method was not only inefficient and error-prone, but also unable to support the calculation needs of complex risk indicators. Therefore, the industry has introduced specialized risk control systems, utilizing programmatic methods to manage trading risks efficiently and accurately.
[0003] In current risk control systems, all risk control rules are placed in a single risk control node. As the types and number of risk control rules continue to expand with business growth, a single risk control node can no longer handle the increasing number of rules, posing significant challenges to performance and latency. To reduce the overall latency of risk control processing, risk control rules can be split into nodes, distributing different types of rules across different nodes. This improves the overall management of risk control rules and the performance of risk control processing. However, it also introduces another problem: the issue of calling multiple risk control services. While serially calling multiple risk control service nodes in the process can meet business needs, the latency will increase significantly, severely limiting the system's throughput.
[0004] To solve the above problems, we must find a risk control system and method based on in-memory computing and multi-node parallel processing that can reduce the latency of risk control processing, increase the system throughput, and improve the speed of risk control processing. Summary of the Invention
[0005] The purpose of this invention is to provide a risk control system and method based on in-memory computing and multi-node parallel processing. This system can perform risk control judgment processing on target risk control requests in parallel across multiple risk control nodes, thereby reducing the latency of risk control processing, increasing the system throughput, and improving the speed of risk control processing.
[0006] To achieve the above objectives, the present invention employs the following technical solution: In a first aspect, the present invention provides a risk control system based on in-memory computing and multi-node parallel processing, comprising: The request receiving module is used to receive target risk control requests; The node registration module is used to register the configured risk control node information; The risk control processing module, connected to the data acquisition module and the node registration module, is used to perform parallel risk control judgment processing on the target risk control request based on the risk control node information, and obtain the final risk control result of the target risk control request, wherein the final risk control result is risk control passed or risk control failed.
[0007] Optionally, the risk control processing module includes: a risk control node module, a parallel asynchronous call management module, a splitting module and a result aggregation module connected to the asynchronous call management module, and a result generation module; The risk control node module includes several risk control nodes. Each risk control node is used to perform risk control judgment on risk control sub-requests and output the response result. The number of risk control nodes in the risk control node module and the preset rules corresponding to each risk control node are obtained based on the risk control node information configured in the node registration module. The splitting module is used to split the target risk control request into several risk control sub-requests based on the risk control node information. The parallel asynchronous call management module is used to receive several risk control sub-requests, call the risk control nodes in the risk control node module in parallel, and process several risk control sub-requests; it is also used to receive the response results output by the risk control nodes in the risk control node module and send them to the result aggregation module. The result aggregation module is used to verify and aggregate the response results, and output an aggregation success signal or an aggregation failure signal. The result generation module is connected to the result aggregation module and is used to receive aggregation success or aggregation failure signals, and generate risk control results of risk control pass or risk control failure.
[0008] Optionally, the result aggregation module includes a result verification unit and an aggregation unit connected in sequence; The result verification unit is used to verify the response result output by the risk control node sent by the parallel asynchronous call management module, and obtain the verified response result; wherein the verified response result is characterized as pass or fail; The aggregation unit is used to aggregate the verified response results. During the aggregation process, if any verified response result is characterized as unsuccessful, the aggregation is stopped and an aggregation failure signal is sent to the result generation module. If all verified response results are characterized as successful and the number of verified response results is consistent with the number of risk control nodes in the risk control node module, the aggregation is successful and an aggregation success signal is sent to the result generation module.
[0009] Optionally, the risk control processing module further includes a node processing module, which is connected to the result aggregation module and the parallel asynchronous call management module. The node processing module is used to receive the aggregation success signal and aggregation failure signal output by the result aggregation module, and send the corresponding occupation or rollback signal to the asynchronous call management module.
[0010] Optionally, the asynchronous call management module is also used to receive the occupation or rollback signal sent by the node processing module, and send the occupation or rollback signal to the risk control node module.
[0011] Optionally, the risk control node module is also used to receive the occupation or rollback signal sent by the asynchronous call management module. When the occupation signal is received, each risk control node in the risk control node module locks the risk control occupation resources for this calculation. When the rollback signal is received, each risk control node in the risk control node module releases the risk control occupation resources for this calculation and waits for the occupation of the calculation resources of the next risk control request.
[0012] Optionally, all calculation operations in the risk control processing module are pure memory calculations, without involving external storage or caching.
[0013] In a second aspect, the present invention provides a risk control method for a risk control system with multi-node parallel processing as described in the first aspect, characterized in that it includes: Receive target risk control requests and register the configured risk control node information; Based on the risk control node information, the target risk control request is processed in parallel by multiple risk control nodes to obtain the final risk control result of the target risk control request, which is either risk control passed or risk control failed.
[0014] Optionally, the step of performing parallel risk control judgment processing on the target risk control request based on the risk control node information to obtain the final risk control result of the target risk control request includes: Based on the risk control node information, the target risk control request is split into several risk control sub-requests; By using the parallel asynchronous call management module to call the risk control node in the risk control node module in parallel, several risk control sub-requests are processed and the response results of the risk control node are obtained. The response results are verified and aggregated to obtain an aggregation success signal or an aggregation failure signal; Based on the convergence success or convergence failure signal, the risk control result is obtained as either risk control passed or risk control failed.
[0015] Optionally, the risk control method further includes: When the result aggregation module outputs a successful aggregation signal, the node processing module sends a occupancy signal to the risk control node module through an asynchronous call to the management module; when the result aggregation module outputs a failed aggregation signal, the node processing module sends a rollback signal to the risk control node module through an asynchronous call to the management module. The risk control node module receives either an occupation or rollback signal from the asynchronous call management module. When it receives an occupation signal, each risk control node in the risk control node module locks the risk control occupation resources for this calculation. When it receives a rollback signal, each risk control node in the risk control node module releases the risk control occupation resources for this calculation and waits for the next risk control request to occupy the calculation resources.
[0016] Compared with the prior art, the beneficial effects achieved by the present invention are as follows: This invention provides a risk control system and method based on in-memory computing and multi-node parallel processing. The system receives target risk control requests through a request receiving module; registers configured risk control node information through a node registration module, facilitating subsequent parallel invocation of risk control nodes for processing based on risk control requests; and utilizes a risk control processing module to perform parallel risk control judgment processing on the target risk control request across multiple risk control nodes to obtain the final risk control result of the target risk control request. This reduces the latency of risk control processing, increases the system throughput, and improves the speed of risk control processing.
[0017] This invention provides a risk control system and method based on in-memory computing and multi-node parallel processing. The system includes a parallel asynchronous call management module for parallel invocation of several risk control nodes within the risk control node module. This module processes several risk control sub-requests split by the splitting module and feeds back the response results to the result aggregation module for aggregation calculation. Compared to existing risk control systems that use a single risk control node or serial invocation of multiple risk control nodes, this system uses a parallel asynchronous call management module to invocation of multiple risk control nodes in parallel. Simultaneously, it combines a splitting module, a result aggregation module, a result generation module, and a node processing module to jointly process the target risk control request, obtaining the final risk control result, increasing system throughput, and improving risk control processing speed. Attached Figure Description
[0018] Figure 1 The diagram shown is a block diagram of a risk control system with multi-node parallel processing in one embodiment of the present invention. Figure 2 The diagram shown is a flowchart of a parallel invocation process in one embodiment of the present invention. Detailed Implementation
[0019] The present invention will be further described below with reference to the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present invention, and should not be used to limit the scope of protection of the present invention.
[0020] Example 1
[0021] like Figure 1 As shown in the figure, this embodiment of the invention introduces a risk control system based on in-memory computing and multi-node parallel processing, including: The request receiving module is used to receive target risk control requests; The node registration module is used to register the configured risk control node information; The risk control processing module, connected to the data acquisition module and the node registration module, is used to perform parallel risk control judgment processing on the target risk control request based on the risk control node information, and obtain the final risk control result of the target risk control request, wherein the final risk control result is risk control passed or risk control failed.
[0022] In this embodiment, the risk control processing module includes: a risk control node module, a parallel asynchronous call management module, a splitting module and a result aggregation module connected to the asynchronous call management module, and a result generation module; Specifically, the risk control node module includes several risk control nodes. Each risk control node is used to perform risk control judgment on risk control sub-requests and output the response result. The number of risk control nodes in the risk control node module and the preset rules corresponding to each risk control node are obtained based on the risk control node information configured in the node registration module.
[0023] Specifically, the splitting module is connected to the request receiving module and is used to split the target risk control request into several risk control sub-requests based on the risk control node information. Specifically, the parallel asynchronous call management module is used to receive several risk control sub-requests, call the risk control nodes in the risk control node module in parallel, and process the several risk control sub-requests; it is also used to receive the response results output by the risk control nodes in the risk control node module and send them to the result aggregation module; in this embodiment, as... Figure 2 The flowchart of the parallel call process is shown. There are 4 risk control nodes. The parallel asynchronous call management module calls the four risk control nodes in parallel, receives the four risk control sub-requests split by the splitting module, performs the corresponding risk judgment, and transmits the response results to the result aggregation module.
[0024] Specifically, the result aggregation module is used to verify and aggregate the response results, and output an aggregation success signal or an aggregation failure signal; the result aggregation module includes a result verification unit and an aggregation unit connected in sequence. The result verification unit is connected to the parallel asynchronous call management module and is used to verify the response results output by the risk control node sent by the parallel asynchronous call management module to obtain the verified response result; wherein the verified response result is characterized as pass or fail. The aggregation unit, connected to the result verification unit, is used to aggregate verified response results. During the aggregation process, if any verified response result is marked as unsuccessful, aggregation is stopped and an aggregation failure signal is sent to the result generation module. If all verified response results are marked as successful and the number of verified response results is consistent with the number of risk control nodes in the risk control node module, aggregation is successful and an aggregation success signal is sent to the result generation module.
[0025] Specifically, the result generation module is connected to the result aggregation module to receive aggregation success or aggregation failure signals and generate risk control results of risk control pass or risk control failure.
[0026] In this embodiment, the risk control processing module further includes a node processing module, which is connected to the result aggregation module and the parallel asynchronous call management module. The node processing module is used to receive the aggregation success signal and aggregation failure signal output by the result aggregation module, and send the corresponding occupation or rollback signal to the asynchronous call management module.
[0027] The asynchronous call management module is also used to receive the occupation or rollback signal from the node processing module and send the occupation or rollback signal to the risk control node module.
[0028] Specifically, the node processing module is connected to the aggregation unit of the result aggregation module. If the node processing module receives an aggregation success signal, it sends an occupation signal to the risk control node module through a parallel asynchronous call to the management module. If the node processing module receives an aggregation failure signal, it sends a rollback signal to the risk control node module through a parallel asynchronous call to the management module. The risk control node module is also used to receive occupancy or rollback signals from the asynchronous call management module. When an occupancy signal is received, each risk control node in the risk control node module locks the risk control occupancy resources for this calculation. When a rollback signal is received, each risk control node in the risk control node module releases the risk control occupancy resources for this calculation and waits for the next risk control request to occupy the calculation resources.
[0029] In summary, the risk control system and method based on in-memory computing and multi-node parallel processing introduced in this embodiment solves the problem of high latency in current risk control systems and improves risk control efficiency.
[0030] In this embodiment, all calculation operations in the risk control processing module are pure memory calculations and do not involve external storage or caching.
[0031] It should be noted that the risk control system and method based on in-memory computing and multi-node parallel processing mentioned in this invention includes a risk control node module, a parallel asynchronous call management module, a splitting module and a result aggregation module connected to the asynchronous call management module, and a result generation module. The parallel asynchronous call management module calls the risk control nodes within the risk control node module, which is a distributed coordination call. However, mainstream solutions for distributed coordination calls on the market include TCC (Try-Confirm-Cancel), local message tables, and transactional messages. TCC is a compensatory transaction concept implemented at the business level, with a wider range of applications, but it is highly intrusive to the business logic, requiring the implementation of three corresponding methods for each operation. Local message tables and transactional messages are both eventually consistent transaction solutions. Existing transaction frameworks like TCC and local transaction tables suffer from high latency. TCC, represented by ByteTCC, and local transaction table solutions rely on database-driven processes, requiring table writing and scheduled task polling, resulting in significant performance overhead. Transactional messaging systems like RocketMQ require new middleware, increasing system complexity. Furthermore, the semi-message mode of transactional messaging is unsuitable for our multi-node risk control service call scenario, as risk control sub-requests need to be sent directly to the risk control node, rather than waiting for the local transaction to complete.
[0032] In this embodiment, the calling semantics of the risk control system are designed as shown in the table below: It's important to clarify here that the distributed semantics supporting REQUEST, COMMIT, and ROLLBACK constitute a lightweight two-phase commit. It doesn't require strong transaction consistency. The system will send COMMIT and ROLLBACK requests, but it doesn't need to worry about whether the risk control node executes successfully. We ensure eventual consistency through post-event auditing and compensation. This optimized lightweight two-phase commit achieves flexible transactions while significantly reducing latency.
[0033] Example 2
[0034] This embodiment describes a risk control method applied to the multi-node parallel processing risk control system described in Embodiment 1, including: Receive target risk control requests and register the configured risk control node information; Based on the risk control node information, the target risk control request is processed in parallel by multiple risk control nodes to obtain the final risk control result of the target risk control request, which is either risk control passed or risk control failed.
[0035] In this embodiment, the target risk control request is processed in parallel by multiple risk control nodes based on the risk control node information, and the final risk control result of the target risk control request includes: Based on the risk control node information, the target risk control request is split into several risk control sub-requests; By using the parallel asynchronous call management module to call the risk control node in the risk control node module in parallel, several risk control sub-requests are processed and the response results of the risk control node are obtained. The response results are verified and aggregated to obtain an aggregation success signal or an aggregation failure signal; Based on the convergence success or convergence failure signal, the risk control result is obtained as either risk control passed or risk control failed.
[0036] Specifically, the risk control method also includes: When the result aggregation module outputs a successful aggregation signal, the node processing module sends a occupancy signal to the risk control node module through an asynchronous call to the management module; when the result aggregation module outputs a failed aggregation signal, the node processing module sends a rollback signal to the risk control node module through an asynchronous call to the management module. The risk control node module receives either an occupation or rollback signal from the asynchronous call management module. When it receives an occupation signal, each risk control node in the risk control node module locks the risk control occupation resources for this calculation. When it receives a rollback signal, each risk control node in the risk control node module releases the risk control occupation resources for this calculation and waits for the next risk control request to occupy the calculation resources.
[0037] It's important to note that memory-level computations are typically on the nanosecond scale, and their impact on the overall system call latency is negligible. The system call latency primarily lies in the latency of risk control service requests. Therefore, we approximate the total latency of serial calls to multi-node risk control services as the sum of the latency of each risk control service processing its request. If there are n risk control services to call, and the processing latency of each service is t1, t2, ..., tn, the total latency of serial risk control service calls is t1 + t2 + ... + tn. The total latency of parallel risk control service calls is Max{t1, t2, ..., tn}. Max{t1, t2, ..., tn} < (t1 + t2 + ... + tn). Therefore, this system can improve system performance.
[0038] Example 3
[0039] Based on the risk control system and method described in Example 1, this example is as follows: The order service initiated a risk control request for a bond order. Before the input request receiving module, it needs to be preprocessed and encapsulated into a risk control request that can be processed by the risk control system of this invention. 2) Register the configured risk control node information. The configuration file is as follows: <bean id="asyncTransactionsNodeRegister" 事务管理节点注册器 class="com.htsc.ficc.oms.event.processing.riskchecking.transaction.AsyncTransactionsNodeRegister"> <property name="transactionsList"> / / Parameter: A list of nodes used to register risk control call nodes that require asynchronous transaction management. <list> <ref bean="concentrationRiskNode" / > / / Aggregated risk control node: Validation of concentration risk control node <ref bean="positionRiskNode" / > / / Aggregated risk control node: Verification of position risk control node <ref bean="dvbpRiskNode" / > / / Aggregated risk control node: Verify DVBP risk control node < / list> < / property> < / bean> 3) The target risk control request is further split into three risk control sub-requests by splitting the module. The number of sub-requests is consistent with the number of nodes in the configuration file.
[0040] 4) The management module is called in parallel and asynchronously to send the split risk control sub-requests to the three corresponding risk control nodes in parallel: concentration verification risk control node, position verification risk control node, and DVBP verification risk control node.
[0041] 5) Each of the three risk control nodes processes its own sub-requests and verifies the risk control rules configured in the risk control node. After verification, the risk control indicators are pre-allocated, and then the response result is returned.
[0042] 6) The parallel asynchronous call management module receives the response results returned by the three risk control nodes, and then sends the returned response results to the result aggregation module for processing. The result aggregation module will verify whether the response results returned by the risk control nodes pass or fail. If any of the verified response results are failed, the aggregation fails and an aggregation failure signal is sent to the node processing module and the result generation module. If all the verified response results are passed and the response results returned by the three risk control nodes are aggregated, the aggregation succeeds and an aggregation success signal is sent to the node processing module and the result generation module. 7) Based on the convergence success signal / convergence failure signal, the node processing module sends a submit signal (occupancy signal) / rollback signal to the three risk control nodes through parallel asynchronous calls to the management module, and saves / rolls back the pre-occupancy result.
[0043] 8) The result generation module generates the final risk control result as pass / fail based on the convergence success signal / convergence failure signal.
[0044] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of the present invention without departing from the spirit and scope of the claims. All of these forms are within the protection scope of the present invention.
Claims
1. A risk control system and method based on in-memory computing and multi-node parallel processing, characterized in that, include: The request receiving module is used to receive target risk control requests; The node registration module is used to register the configured risk control node information; The risk control processing module, connected to the data acquisition module and the node registration module, is used to perform parallel risk control judgment processing on the target risk control request based on the risk control node information, and obtain the final risk control result of the target risk control request, wherein the final risk control result is risk control passed or risk control failed.
2. The multi-node parallel processing risk control system according to claim 1, characterized in that, The risk control processing module includes: a risk control node module, a parallel asynchronous call management module, a splitting module and a result aggregation module connected to the asynchronous call management module, and a result generation module; The risk control node module includes several risk control nodes. Each risk control node is used to perform risk control judgment on risk control sub-requests and output the response result. The number of risk control nodes in the risk control node module and the preset rules corresponding to each risk control node are obtained based on the risk control node information configured in the node registration module. The splitting module is used to split the target risk control request into several risk control sub-requests based on the risk control node information. The parallel asynchronous call management module is used to receive several risk control sub-requests, call the risk control nodes in the risk control node module in parallel, and process several risk control sub-requests; it is also used to receive the response results output by the risk control nodes in the risk control node module and send them to the result aggregation module. The result aggregation module is used to verify and aggregate the response results, and output an aggregation success signal or an aggregation failure signal. The result generation module is connected to the result aggregation module and is used to receive aggregation success or aggregation failure signals, and generate risk control results of risk control pass or risk control failure.
3. The risk control system with multi-node parallel processing according to claim 2, characterized in that, The result aggregation module includes a result verification unit and an aggregation unit connected in sequence; The result verification unit is used to verify the response result output by the risk control node sent by the parallel asynchronous call management module, and obtain the verified response result; wherein the verified response result is characterized as pass or fail; The aggregation unit is used to aggregate the verified response results. During the aggregation process, if any verified response result is characterized as unsuccessful, the aggregation is stopped and an aggregation failure signal is sent to the result generation module. If all verified response results are characterized as successful and the number of verified response results is consistent with the number of risk control nodes in the risk control node module, the aggregation is successful and an aggregation success signal is sent to the result generation module.
4. The multi-node parallel processing risk control system according to claim 3, characterized in that, The risk control processing module also includes a node processing module, which is connected to the result aggregation module and the parallel asynchronous call management module. The node processing module is used to receive the aggregation success signal and aggregation failure signal output by the result aggregation module, and send the corresponding occupation or rollback signal to the asynchronous call management module.
5. The multi-node parallel processing risk control system according to claim 4, characterized in that, The asynchronous call management module is also used to receive the occupation or rollback signal sent by the node processing module, and send the occupation or rollback signal to the risk control node module.
6. The risk control system with multi-node parallel processing according to claim 5, characterized in that, The risk control node module is also used to receive the occupation or rollback signal sent by the asynchronous call management module. When the occupation signal is received, each risk control node in the risk control node module locks the risk control occupation resources for this calculation. When the rollback signal is received, each risk control node in the risk control node module releases the risk control occupation resources for this calculation and waits for the occupation of the calculation resources of the next risk control request.
7. The multi-node parallel processing risk control system according to claim 1, characterized in that, All calculations in the risk control processing module are pure memory calculations and do not involve external storage or caching.
8. A risk control method applied to a multi-node parallel processing risk control system as described in any one of claims 1-7, characterized in that, include: Receive target risk control requests and register the configured risk control node information; Based on the risk control node information, the target risk control request is processed in parallel by multiple risk control nodes to obtain the final risk control result of the target risk control request, which is either risk control passed or risk control failed.
9. The risk control system with multi-node parallel processing according to claim 8, characterized in that, The step of performing parallel risk control judgment processing on the target risk control request based on risk control node information to obtain the final risk control result of the target risk control request includes: Based on the risk control node information, the target risk control request is split into several risk control sub-requests; By using the parallel asynchronous call management module to call the risk control node in the risk control node module in parallel, several risk control sub-requests are processed and the response results of the risk control node are obtained. The response results are verified and aggregated to obtain an aggregation success signal or an aggregation failure signal; Based on the convergence success or convergence failure signal, the risk control result is obtained as either risk control passed or risk control failed.
10. The risk control system with multi-node parallel processing according to claim 9, characterized in that, The risk control method also includes: When the result aggregation module outputs a successful aggregation signal, the node processing module sends a occupancy signal to the risk control node module through an asynchronous call to the management module; when the result aggregation module outputs a failed aggregation signal, the node processing module sends a rollback signal to the risk control node module through an asynchronous call to the management module. The risk control node module receives either an occupation or rollback signal from the asynchronous call management module. When it receives an occupation signal, each risk control node in the risk control node module locks the risk control occupation resources for this calculation. When it receives a rollback signal, each risk control node in the risk control node module releases the risk control occupation resources for this calculation and waits for the next risk control request to occupy the calculation resources.