Financial risk control system, method and device based on NDPP and storage medium

Through the NDPP-based financial risk control system, the combination of FPGA and software platform is used to achieve fast and secure transaction processing, solving the problem of large data exchange delay in traditional financial risk control systems, and improving transaction efficiency and security.

CN120298101APending Publication Date: 2025-07-11YUSUR TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510390549.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-31
Publication Date
2025-07-11

AI Technical Summary

Technical Problem

Traditional financial risk control systems have too long rules verification links and large data exchange delays, making it difficult to ensure real-time and streaming processing of data, and cannot meet the needs of efficient and real-time financial transactions.

Method used

The financial risk control system based on NDPP is adopted, combined with FPGA and software platform, and the efficient distributed computing and parallel processing technology combined with software and hardware can be used to quickly analyze and identify abnormal transactions.

Benefits of technology

It improves transaction processing speed, ensures the security and accuracy of transactions, solves the problem of financial transaction delay, and provides efficient and real-time financial risk control solutions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120298101A_ABST
    Figure CN120298101A_ABST
Patent Text Reader

Abstract

The invention relates to a financial risk control system, method and device based on NDPP and a storage medium. The financial risk control system comprises an FPGA and a software platform, and the software platform is used for obtaining client data and rule data, processing the rule data into a target instruction which can be recognized and executed by the FPGA, and sending the client data and the target instruction to the FPGA; wherein the rule data is configuration data of a target risk control rule, and the target risk control rule corresponds to a target customer providing a target report; and the FPGA is used for performing risk control rule calculation on the received target instruction and the customer data to determine whether the target report conforms to the target risk control rule or not, and returning the obtained calculation result to the target customer through the software platform, thereby providing a more efficient and real-time financial risk control system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of financial risk control, and particularly relates to a financial risk control system, method, device and storage medium based on NDPP. Background Art

[0002] In the financial field, risk control (hereinafter referred to as risk control) has gradually become an important measure to be adopted in transactions, aiming to avoid or reduce various risks that may occur in transactions and reduce losses. Risk control involves various financial products, mainly controlling aspects such as account risk control, business risk control and transaction risk control, and evaluating the legality and risk of user transactions according to specific rules.

[0003] Currently, traditional risk control systems mainly rely on computer software for rule verification, risk interception and data management. However, such risk control systems still have some defects. For example, the rule verification link is too long, and it is also necessary to frequently switch between the operating system kernel layer and the application layer, making it difficult to ensure the real-time nature and streaming processing of data. Moreover, with the increasing requirements for financial technology, traditional risk control systems can no longer meet the needs. Therefore, there is an urgent need to provide a more efficient and real-time financial risk control system. Summary of the Invention

[0004] To solve the above technical problems, the embodiments of the present disclosure provide a financial risk control system, method, device and storage medium based on NDPP.

[0005] In a first aspect, the embodiments of the present disclosure provide a financial risk control system based on NDPP. The system includes an FPGA and a software platform, wherein:

[0006] The software platform is used to obtain customer data and rule data, process the rule data into target instructions recognizable and executable by the FPGA, and send the customer data and the target instructions to the FPGA; wherein, the rule data is the configuration data of the target risk control rule, and the target risk control rule corresponds to the target customer providing the target order.

[0007] The FPGA is used to perform risk control rule calculation on the received target instructions and customer data to determine whether the target order conforms to the target risk control rule, and return the obtained calculation result to the target customer through the software platform.

[0008] Optionally, the software platform includes a rule conversion module and a hardware communication module, wherein:

[0009] The rule conversion module is used to convert the rule data into the internal standard data structure of the system, and compile the converted rule data into target instructions recognizable and executable by the FPGA;

[0010] The hardware communication module is used to encapsulate the hardware communication channel to send customer data and target instructions to the FPGA; the hardware communication channel is used for data interaction between the software platform and the FPGA.

[0011] Optionally, the software platform further includes a data conversion module, where:

[0012] The data conversion module is used to convert customer data into the internal standard data structure of the system; the customer data includes market data and business data;

[0013] The hardware communication module is used to send the converted customer data to the FPGA so that the FPGA calculates risk control rules based on the converted customer data.

[0014] Optionally, the hardware communication module includes multiple communication interfaces, and the multiple communication interfaces include a downlink interface, a first uplink interface, a second uplink interface, and a third uplink interface, where:

[0015] The downlink interface is used to send customer data and target instructions from the software platform to the FPGA;

[0016] The first uplink interface is used to upload the internal receipt generated by the FPGA to the software platform;

[0017] The second uplink interface is used to upload the external receipt to be returned to an external system outside the system to the software platform;

[0018] The third uplink interface is used to upload the process data generated by the FPGA during the risk control rule calculation to the software platform.

[0019] Optionally, the FPGA includes a software communication module, a data table cache module, and a data processing module, where:

[0020] The software communication module is used to receive customer data and target instructions and communicate with the software platform;

[0021] The data processing module is used to calculate risk control rules based on customer data and target instructions and generate a calculation result;

[0022] The data table cache module is used to store the data received by the software communication module and the data generated by the data processing module.

[0023] Optionally, the data processing module includes a first processing sub-module, where:

[0024] The first processing sub-module is used to respond to the target instruction, perform target processing on the customer data, and obtain a calculation result; where the target processing is at least one of reset processing, global configuration, time synchronization, data backup / restore, order cancellation processing, deal processing, market data processing, and order placement processing.

[0025] Optionally, the data processing module further includes a second processing sub-module, where:

[0026] The second processing sub-module is used to perform deal preprocessing and / or market preprocessing on the acquired real-time data based on the calculation result, and generate a preprocessing result; wherein, the preprocessing result is used to be fed back to the target customer in real time.

[0027] Optionally, the data table caching module includes a first caching sub-module and a second caching sub-module, where:

[0028] The first caching sub-module is used to cache at least one of the hardware status table, account table, underlying table, parameter table, rule table, deal table, market table, and order table generated by the first processing sub-module;

[0029] The second caching sub-module is used to cache at least one of the market buffer table, proprietary deal buffer table, and loan assessment table generated by the second processing sub-module.

[0030] In a second aspect, an NDPP-based financial risk control method provided by an embodiment of the present disclosure is applied to the NDPP-based financial risk control system as described above. The system includes an FPGA and a software platform. The method includes:

[0031] Obtain customer data and rule data through the software platform, process the rule data into target instructions recognizable and executable by the FPGA, and send the customer data and the target instructions to the FPGA; wherein, the rule data is the configuration data of the target risk control rule, and the target risk control rule corresponds to the target customer providing the target order;

[0032] Perform risk control rule calculation on the received target instructions and customer data through the FPGA to determine whether the target order conforms to the target risk control rule, and return the obtained calculation result to the target customer through the software platform.

[0033] In a third aspect, an embodiment of the present disclosure provides an electronic device, including:

[0034] A memory;

[0035] A processor; and

[0036] A computer program;

[0037] Wherein, the computer program is stored in the memory and is configured to be executed by the processor to implement the NDPP-based financial risk control method as described above.

[0038] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the NDPP-based financial risk control method as described above are implemented.

[0039] The financial risk control system based on NDPP provided by the present disclosure includes an FPGA and a software platform, where: the software platform is used to obtain customer data and rule data, process the rule data into target instructions recognizable and executable by the FPGA, and send the customer data and the target instructions to the FPGA; wherein, the rule data is the configuration data of the target risk control rules, and the target risk control rules correspond to the target customers who provide target orders; the FPGA is used to perform risk control rule calculations on the received target instructions and customer data to determine whether the target orders comply with the target risk control rules, and return the obtained calculation results to the target customers through the software platform, providing a more efficient and real-time financial risk control system. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] The accompanying drawings herein are incorporated into the specification and form a part of the specification, showing embodiments consistent with the present disclosure, and are used together with the specification to explain the principles of the present disclosure.

[0041] To more clearly illustrate the technical solutions in the embodiments of the present disclosure or in the prior art, the following will briefly introduce the accompanying drawings required for use in the description of the embodiments or the prior art. Obviously, for those of ordinary skill in the art, other drawings can also be obtained based on these drawings without creative efforts.

[0042] Figure 1 It is a schematic structural diagram of the financial risk control system provided by the embodiment of the present disclosure;

[0043] Figure 2 It is a network topology diagram of the financial risk control system provided by the embodiment of the present disclosure;

[0044] Figure 3 It is an overall architecture diagram of the financial risk control system provided by the embodiment of the present disclosure;

[0045] Figure 4 It is a schematic structural diagram of the hardware communication module provided by the embodiment of the present disclosure;

[0046] Figure 5 It is a schematic structural diagram of the data processing module provided by the embodiment of the present disclosure;

[0047] Figure 6 It is a hardware architecture diagram of the financial risk control system provided by the embodiment of the present disclosure;

[0048] Figure 7 It is a schematic diagram of the financial transaction process provided by the embodiment of the present disclosure;

[0049] Figure 8 It is a schematic diagram of the process of the financial risk control method provided by the embodiment of the present disclosure;

[0050] Figure 9 Schematic diagram of the electronic device provided by the embodiment of the present disclosure. Detailed implementation manners

[0051] In order to more clearly understand the above objects, features and advantages of the present disclosure, the solutions of the present disclosure will be further described below. It should be noted that, without conflict, the embodiments of the present disclosure and the features in the embodiments may be combined with each other.

[0052] Many specific details are set forth in the following description in order to fully understand the present disclosure, but the present disclosure may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only a part of the embodiments of the present disclosure, rather than all the embodiments.

[0053] Specifically, most of the existing risk control systems are software-based. Securities companies will evaluate the legality and risk of user transactions according to specific rules. Institutional users need to report transaction information to the securities company through the network, and then the securities company will perform risk control screening on the orders provided by institutional users. If the order does not meet the risk control rules, it will be rejected. If it passes the screening, it will be submitted to the exchange. Once the exchange receives the order screened by the securities company and confirms that the transaction information is valid, the transaction will proceed. If the trading requirements of both parties are agreed, the transaction information will be fed back to the securities company after the transaction is successful.

[0054] However, there are some problems with the risk control solutions generated based on software. For example, there is a delay in data exchange between the network card and the CPU, and the delay of the index is also relatively large. These delay problems increase the operation delay of the entire process to the millisecond level, which significantly affects the performance of the system. At the same time, the processing delay of the CPU risk control rules has also increased sharply, which further reduces the efficiency of the system. These problems not only affect the customer experience, but also bring potential risks to the business of securities companies.

[0055] In view of the above technical problems, the embodiment of the present disclosure provides a financial risk control system with ultra-low latency and ultra-high parallelism (hereinafter referred to as the system). The system can maximize the trading processing speed while ensuring the security and accuracy of transactions. The system is provided with a software platform and an FPGA. Through the efficient distributed computing and parallel processing technology combining software and hardware, it can quickly analyze a large amount of data and accurately identify abnormal transactions, thereby effectively preventing risks. The system can also be seamlessly integrated with various systems, so as to quickly, efficiently and securely complete the financial transaction process, effectively solving the problem of transaction delay caused by limited resources and high timeliness requirements when financial transactions are carried out through the Internet. It will be described in detail through the following one or more embodiments.

[0056] The financial risk control method provided by the embodiments of the present disclosure is applicable to the financial risk control scenario. This method can be executed by a financial risk control system, which can be implemented in the form of software and / or hardware, and can be integrated into an electronic device. Among them, the electronic device can include, but is not limited to, mobile terminals such as smart phones, laptop computers, digital broadcast receivers, personal digital assistants (PDAs), tablet personal computers (Tablet PCs), portable multimedia players (PMPs), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), wearable devices, etc., and fixed terminals such as digital TVs, desktop computers, smart home devices, etc.

[0057] Figure 1 It is a schematic structural diagram of the financial risk control system provided by the embodiments of the present disclosure. The financial risk control system includes an FPGA and a software platform, where:

[0058] It can be understood that the financial risk control system can be deployed on an agile heterogeneous platform (NVIDIA Data Processing Platform, NDPP) with a central processing unit (Data Processing Unit, DPU) as the core. The computing architecture of NDPP aims to accelerate data processing tasks in the data center and improve efficiency, performance, and security through a specially designed hardware and software stack. In this embodiment, the software definition and editing of hardware risk control rules are realized through NDPP. NDPP supports the definition and conversion of partial software risk control rules, the TOE communication transmission between software and hardware, and the risk control instruction set at the FPGA layer. In addition, it also supports the static modification of risk control rules. For example, every time the risk control rules are updated, the financial risk control system needs to be restarted to re-initialize the new risk control rules onto the hardware, ensuring the accuracy of the execution of risk control rules.

[0059] The software platform is used to obtain customer data and rule data, process the rule data into target instructions recognizable and executable by the FPGA, and send the customer data and target instructions to the FPGA; among them, the rule data is the configuration data of the target risk control rules, and the target risk control rules correspond to the target customers who provide target orders.

[0060] The FPGA is used to perform risk control rule calculations on the received target instructions and customer data to determine whether the target order conforms to the target risk control rules, and return the obtained calculation results to the target customer through the software platform.

[0061] It is understandable that the real-time risk control system (financial risk control system) based on NDPP rules engine includes a software platform and a hardware module (FPGA). Among them, the software implementation of the system is carried out through the software platform. Specifically, the software platform is used to obtain customer data and rule data. Customer data refers to the data related to the target customer who provides the target order. Customer data includes account information, market data, and business data. The target customer refers to a financial institution or a securities merchant, etc. The target order refers to the order submitted by the institutional user (target user) of the target customer (target institution) to the financial exchange to purchase a certain financial resource. The target order includes transaction information, such as information like buy / sell direction, price type, price, quantity, etc.; Account information refers to the information related to the target institution and the target user. Among them, the target user is the institutional user who provides the target order to the target institution. For example, the object providing the order to the institution can be an individual, a unit, a company, a bank, a fund, etc.; Market data refers to the real-time or historical transaction information of various financial instruments (such as stocks, futures, foreign exchange, bonds, etc.) in the financial market, mainly provided by the target institution, which reflects the dynamic information of the financial market and can help with trading decisions, risk management, trend analysis, etc.; Business data refers to the data related to the financial resources involved in the target order; Rule data is the configuration data of the target risk control rules related to the target institution and the target customer. The risk control rules refer to a series of standards and guidelines established in the fields of finance, Internet services, etc. to prevent and control risks. They are usually used to evaluate potential risk factors and take corresponding measures to reduce the possibility of risk occurrence or reduce the losses caused by risks, that is, to evaluate whether there are risks in the target order. The software platform is also used to process the rule data into target instructions that can be recognized and executed by the FPGA, and send the customer data and the target instructions to the FPGA to achieve data interaction between software and hardware. The target instructions are used to instruct the FPGA to execute related tasks.

[0062] Exemplarily, refer to Figure 2 , Figure 2It is a network topology diagram of the financial risk control system provided by the embodiments of the present disclosure. The network topology of the financial risk control system includes a securities institution, a financial risk control system, a stock exchange, and an external system. Among them, the securities institution collects market data from the stock exchange and forwards the market data to the financial risk control system through a market data forwarding server; institutional users submit order information to the order server of the securities institution and receive receipt information feedback by the order server for the order information; the order server forwards the order information and transaction information to the trading gateway and receives receipt information and order cancellation information feedback by the trading gateway; the financial risk control system receives the order information, calculates risk control rules based on relevant information, order information, and market data obtained from the external system to evaluate whether there is a risk in the order information, and generates receipt information. The financial risk control system also communicates with the trading gateway for the interaction of transaction information and order cancellation information; the external system includes a rule library, a monitoring system, and a product library. The rule library is used to store risk control rules, the monitoring system is used to monitor the financial risk control system, and the product library is used to store information related to trading products. In addition, the financial risk control system includes a main server and at least one standby server. Multiple servers can be used to execute related operations such as risk rule calculation. In one possible case, only the main server executes risk rule calculation at the same time, and the standby server performs data backup, making the financial risk control system highly available.

[0063] Optionally, the software platform includes a rule conversion module and a hardware communication module, where: the rule conversion module is used to convert rule data into the internal standard data structure of the system and compile the converted rule data into target instructions recognizable and executable by the FPGA; the hardware communication module is used to encapsulate the hardware communication channel to send customer data and target instructions to the FPGA; the hardware communication channel is used for data interaction between the software platform and the FPGA.

[0064] It can be understood that the software platform includes a rule conversion module and a hardware communication module. Among them, the rule conversion module is used to convert rule data of different types of risk control rules obtained from the gateway into the internal standard data structure of the system and compile the converted rule data into target instructions recognizable and executable by the FPGA. The hardware communication module is used to encapsulate the hardware communication module and send customer data and target instructions to the FPGA through the encapsulated channel, that is, it is responsible for encapsulating the hardware communication channel to realize information interaction between software and hardware modules.

[0065] Optionally, the software platform further includes a data conversion module, where: the data conversion module is used to convert customer data into the internal standard data structure of the system; the customer data includes market data and business data; the hardware communication module is used to send the converted customer data to the FPGA so that the FPGA calculates risk control rules based on the converted customer data.

[0066] It is understandable that the software platform further includes a data conversion module, which is used to convert customer data into a standard data structure within the system to obtain the converted customer data. Among them, the customer data includes market data and business data. The hardware communication module is used to send the converted customer data to the FPGA, so that the FPGA can perform risk control rule calculations based on the converted customer data and target instructions.

[0067] Optionally, the software platform further includes a data management module and a rule configuration module. Among them, the data management module and the rule configuration module are used to initialize the system. The rule configuration module also provides a configuration interface for risk control rules, which is used to obtain rule data from an external system of a securities firm or an exchange and write the obtained rules into the system. At the same time, target customers can also implement software definition and editing of hardware risk control rules through this configuration interface.

[0068] It is understandable that the software platform further includes a data management module and a rule configuration module. Among them, the data management module is used to initialize the underlying information and account information required in the entire financial risk control system. The rule configuration module provides a configuration interface for risk control rules, which is used to obtain rule data in real time. Target customers can implement software definition and editing of hardware risk control rules through this rule configuration module, support static modification of risk control rules, and ensure the accuracy of risk control rule execution.

[0069] Exemplarily, refer to Figure 3 , Figure 3This is the overall architecture diagram of the financial risk control system provided by the embodiments of the present disclosure. The overall architecture includes a software business layer, a software platform layer, a system communication layer, and a hardware layer. The software platform layer, the system communication layer, and the hardware layer are built based on the NDPP platform. Among them, the software platform layer refers to the control layer where the above-mentioned software platform is located, the hardware layer refers to the data layer where the above-mentioned FPGA is located, and the hardware communication layer is used to implement data communication between software and hardware. Among them, the hardware layer supports DDR-MGR, business data tables, rule calculation, PCIe channels, and secondary development interfaces. DDR usually refers to Double Data Rate Synchronous Dynamic Random Access Memory (Double Data Rate SDRAM), MGR usually refers to a combination of MapReduce, Grid, and Relational databases, and is commonly used for big data processing and distributed computing. The PCIe (Peripheral Component Interconnect Express) channel is a high-speed serial bus standard used to connect expansion cards and motherboards in modern computer systems. The system communication layer supports NOE-SDK, DMA, and Linux drivers. Among them, the NOE-SDK (Network Offload Engine Software Development Kit) is a software development kit used to develop and manage network offload engines; DMA (Direct Memory Access) is a hardware mechanism that allows external devices (such as network interface cards, disk controllers, etc.) to directly transfer data with the system memory without the intervention of the CPU, and the data can be directly transferred between the external device and the memory through DMA, thereby reducing the burden on the CPU and improving data transfer efficiency; the Linux driver is a software module running in the Linux kernel used to manage and control hardware devices. The software platform layer supports market management, rule management, business management, configuration management, log management, and communication management.The software business layer supports data interfaces, service management, and board management. Among them, service management is an optional service provided to users, supporting market data processing, rule processing, Proxy, alarm, and hardware services. Proxy is a network intermediary technology used to establish an intermediate layer between the client and the server for request forwarding and response return. Board management is used to initialize and monitor the status of the FPGA in the hardware layer, ensuring the stability and efficiency of the system. The data interface supports Insight, RCM SDK (Revenue Cycle Management Software Development Kit), RCMSSDK, Kafka, and logging interfaces. Among them, RCM SDK is an external system of a securities company / securities institution (securities firm). Its entity is a set of interfaces SO provided by the securities firm. The financial risk control system is integrated, developed, and data-interacted with the securities firm through interface SO. RCMSSDK is used for developing and integrating the remote configuration management system. Kafka is an open-source distributed stream processing platform. Insight is an interface for obtaining intermediate data generated during the calculation of risk control rules.

[0070] Understandably, the financial risk control system adopts, such as Figure 3The shown high-availability and high-performance technical architecture can be docked with institutional systems and upstream and downstream systems. The upstream and downstream systems include systems such as market quotation forwarding, order management, product management, rule management, monitoring, and alerting. At the same time, the data interface obtains market data, business data, and rule data through the RCM SDK or Kafka, ensuring the security and reliability of the data. Secondly, business management converts customer data into an internal standard data structure. The customer data includes market data and business data. This method of data conversion not only improves the readability and maintainability of the data but also facilitates subsequent data processing and utilization. At the same time, through the hardware communication module of the software platform layer, basic information, real-time information (market data and transaction data), and business data are sent to the hardware FPGA, and the hardware FPGA is initialized and its status is monitored, ensuring the stability and efficiency of the system. Thirdly, the software platform layer manages internal standard data, rule configurations, and the hardware FPGA. This unified management method not only improves the manageability and maintainability of the data but also facilitates subsequent data updates and expansions. At the same time, the system communication layer is used to encapsulate the hardware communication channels, including PCIe drivers, DMA drivers, DMA channels, and application layer communication interfaces, ensuring the stability and efficiency of data transmission. Finally, the hardware layer manages the DDR resources, converts the market data and business data sent by the software, and stores them in the business data table. This way of storing data in the data table not only improves the storability and manageability of the data but also facilitates subsequent data processing and utilization. At the same time, the risk control rule calculation obtains relevant calculation input data from the business data table stored in the DDR and performs risk control rule calculations through the rule calculation unit of the FPGA, ensuring the efficiency and accuracy of the calculations. The financial risk control system provided in this embodiment adopts an advanced design and architecture, ensuring the stability and efficiency of the system. At the same time, the system also has characteristics such as high availability, high performance, security, and reliability, and can meet the needs and requirements of customers.

[0071] Optionally, the hardware communication module includes multiple communication interfaces. The multiple communication interfaces include a downstream interface, a first upstream interface, a second upstream interface, and a third upstream interface, where: the downstream interface is used to send customer data and target instructions from the software platform to the FPGA; the first upstream interface is used to upload the internal receipt generated by the FPGA to the software platform; the second upstream interface is used to upload the external receipt to be returned to an external system outside the system to the software platform; the third upstream interface is used to upload the process data generated by the FPGA during the risk control rule calculation to the software platform.

[0072] It is understandable that the hardware communication module includes multiple communication interfaces, which are used to implement data communication between the software platform layer and the hardware layer. Specifically, the multiple communication interfaces include a downlink interface in the downlink direction and a first uplink interface, a second uplink interface, and a third uplink interface in the uplink direction. Among them, the downlink direction refers to the software platform transmitting data to the FPGA, and the uplink direction refers to the FPGA transmitting data to the software platform. The downlink interface is used to receive the target instruction issued by the software platform and parse and distribute the target instruction to the FPGA. The hardware communication module further includes a receipt aggregation module, which is used to distribute the received receipts. The first uplink interface is used to upload the internal receipt generated by the FPGA to the software platform. The second uplink interface is used to upload the external receipt to be transmitted to the external system and generated by the FPGA to the software platform, and the software platform transmits the external receipt to the external system. The third uplink interface is used to upload any intermediate data / process data generated by the FPGA during the risk control rule calculation process to the software platform, facilitating subsequent relevant institutions to obtain the intermediate data.

[0073] Exemplarily, refer to Figure 4 , Figure 4 FIG. [FIG. NUMBER] is a schematic structural diagram of the hardware communication module provided by the embodiments of the present disclosure. The hardware communication module includes a downlink DMA (downlink interface), an uplink DMA0 (first uplink interface), an uplink DMA1 (second uplink interface), an uplink DMA2 (third uplink interface), and a PIO (Programmed Input / Output). The downlink DMA transmits instructions, the uplink DMA0 transmits internal receipts, the uplink DMA1 transmits external receipts, the uplink DMA2 is a secondary interface for transmitting intermediate data, and the PIO transmits data to the registers (Registers). After receiving the instruction, the FPGA performs logical processing and transmits the receipt obtained after the logical processing to each uplink DMA through the receipt aggregation quality assurance.

[0074] Please note that the "FIG. [FIG. NUMBER]" in the translation of should be replaced with the actual figure number in the original text. Since the figure number is not provided in the original text you gave, I left it as a placeholder here.It is understandable that the main function of the hardware communication module is to act as an interface for interacting with other functional modules, so as to write instructions to the hardware and communicate with the hardware. Other functional modules can use the habitual interface to send instructions to the hardware to execute specific tasks or operations, such as writing market data to the hardware. The hardware communication module is also responsible for reading the hardware receipt instructions, which will trigger the callback function in the hardware communication module, and the callback function will trigger the data processing module in the hardware to process these tasks. That is to say, the hardware communication module acts as a bridge between other modules and the hardware, enabling them to communicate with each other and work together. In terms of implementation, the hardware communication module interacts with the hardware based on the NOE SDK and the driver library, and the driver or library provides the basic functions required for communicating with the hardware, such as writing instructions and reading receipt instructions. By using the driver or library, the hardware communication module can send instructions to the hardware and obtain the results of the hardware executing tasks.

[0075] It is understandable that in addition to providing an interface and reading receipt instructions, the receipt instructions of the hardware communication module will also trigger the callback function to process tasks through the data processing module in the FPGA to ensure the smooth progress of data processing and instruction execution. The data processing module will be described in detail through the following embodiments.

[0076] Optionally, the FPGA includes a software communication module, a data table cache module, and a data processing module, where: the software communication module is used to receive customer data and target instructions and communicate with the software platform; the data processing module is used to calculate risk control rules based on the customer data and target instructions and generate calculation results; the data table cache module is used to store the data received by the software communication module and the data generated by the data processing module.

[0077] It is understandable that the FPGA includes a software communication module (TOE (TCP Offload Engine, network acceleration) module), a data table cache module (Cache module), and a data processing module (RULE module). Among them, the software communication module is responsible for controlling the access of network transaction data (customer data) and the data communication between software and hardware, and the software communication module is connected to the hardware communication module. The data processing module is used to complete the risk control rule calculation of the risk control rule engine at the hardware layer, and the data table cache module is used to store the information required in risk control processing, such as various types of data tables.

[0078] Optionally, the data processing module includes a first processing sub-module, where: the first processing sub-module is used to respond to the target instruction, perform target processing on the customer data, and obtain a calculation result; where the target processing is at least one of reset processing, global configuration, time synchronization, data backup / restore, order cancellation processing, trade processing, market data processing, and order placement processing.

[0079] It is understandable that the data processing module includes a first processing sub-module. The first processing sub-module responds to a target instruction, performs target processing on customer data, and obtains a calculation result. Among them, the target processing is at least one of reset processing, global configuration, time synchronization, data backup / restore, order cancellation processing, trade processing, market condition processing, and order placement processing. Each processing method corresponds to a processing result, and multiple processing results can be combined to obtain the calculation result. The calculation result refers to the risk control rule calculation result, and based on the calculation result, it can be determined whether the order complies with the target risk control rule.

[0080] Optionally, the data processing module further includes a second processing sub-module, where: the second processing sub-module is used to perform trade preprocessing and / or market condition preprocessing on the acquired real-time data based on the calculation result, and generate a preprocessing result; among them, the preprocessing result is used to be fed back to the target customer in real time.

[0081] It is understandable that the data processing module further includes a second processing sub-module. The second processing sub-module is used to continue performing trade preprocessing and / or market condition preprocessing on the real-time data based on the calculation result, generate a preprocessing result, or update the calculation result according to the real-time data, and then feedback the preprocessing result to the relevant institution through the third uplink interface.

[0082] Optionally, the data table caching module includes a first caching sub-module and a second caching sub-module, where: the first caching sub-module is used to cache at least one of the hardware status table, account table, underlying table, parameter table, rule table, trade table, market condition table, and order placement table generated by the first processing sub-module; the second caching sub-module is used to cache at least one of the market condition buffer table, proprietary trade buffer table, and loan assessment table generated by the second processing sub-module.

[0083] Exemplarily, see Figure 5 , Figure 5Schematic diagram of the data processing module provided by the embodiments of the present disclosure. The software platform issues initialization configuration information, rule data, market data, and business data to the TOE module of the FPGA through the PCIe Pipeline (pipeline), and receives the business receipt feedback from the TOE module. On the other hand, it also issues instructions to the TOE module through the PCIe Pipeline and receives the instruction receipt. The TOE module issues instructions to the PCIe in the FPGA and receives the instruction receipt. After the PCIe receives the instruction, it executes the processing indicated by the instruction. For example, reset processing, global configuration, time synchronization, data backup / restore, order cancellation processing, trade processing, market processing, and order placement processing, etc. The data tables generated after processing are the hardware status table, account table, underlying table, parameter table, rule table, trade table, market table, and order placement table, etc. If it receives the data acquisition instruction issued by the relevant institution, it will feedback the market buffer table, proprietary trade buffer table, and / or loan evaluation table (LPB (Loan Performance by Bucket) / HPS (Historical Payment Status Table) buffer table) to the relevant institution.

[0084] Exemplarily, refer to Figure 6 , Figure 6 Hardware architecture diagram of the financial risk control system provided by the embodiments of the present disclosure. Instructions are issued and calculation results are uploaded between the software and hardware of the financial risk control system through the DMA channel / PCIe. After receiving the data, it can perform main operations such as configuration initialization, order placement processing, order cancellation processing, trade processing, and market processing. The financial risk control system can also manage data access through the database access engine. For example, it can access data tables such as the account table, underlying table, parameter table, trade table, market table, and order placement table. Various business data tables are stored in the RAM or DDR memory. The financial risk control system also provides a customer module, which is used to transmit intermediate data to the relevant institution, that is, a module for customer secondary development. In a possible scenario, if the upstream and downstream systems need to obtain a certain data table stored in the database, it can be achieved through the customer module. Some interfaces will be opened in the customer module for customer secondary development, such as the acquisition of data tables. That is to say, the financial risk control system can directly access the database, while the upstream and downstream external systems cannot directly access the database and need to be implemented through the customer module provided by the financial risk control system.

[0085] Exemplarily, refer to Figure 7 , Figure 7Schematic diagram of the financial transaction process provided by the embodiments of the present disclosure, mainly involving the processing process between the FPGA rule engine, user institutions (securities companies), and exchanges. Specifically, institutional users send transaction information to the securities company through the network, and the securities company performs risk control calculations on the order through the FPGA rule engine. If the order does not meet the risk control rules, it will be rejected and the calculation result that does not meet the risk control rules will be fed back to the securities company; if it meets the risk control rules, the calculation result will be submitted to the exchange. The exchange receives the order screened by the securities company and confirms that the transaction information is valid, then the transaction can be carried out, and the success of the order will be fed back to the securities company through the FPGA rule engine. If the two parties reach a consistent transaction demand, after the transaction is successful, the transaction information will also be fed back to the securities company through the FPGA rule engine. If the exchange feeds back that the order fails, the FPGA rule engine will feed back the results of the order failure and the transaction failure to the securities company.

[0086] The financial risk control system provided by the embodiments of the present disclosure includes a software platform and an FPGA. The data stream of the hardware communication module deployed through the software platform can directly enter the FPGA for processing without going through the switching between the operating system layer and the application layer, realizing rule verification at the microsecond level. At the same time, through the data management module of the software platform, the internal data stream can be precisely controlled, enabling the data to complete rule verification and be processed in a very short time, which also helps to ensure the security of business data.

[0087] Based on the above embodiments, Figure 8 Schematic diagram of the process of the financial risk control method provided by the embodiments of the present disclosure, applied to the above financial risk control system. The system includes an FPGA and a software platform. The financial risk control method specifically includes the following steps:

[0088] S801. Obtain customer data and rule data through the software platform, process the rule data into target instructions that can be recognized and executed by the FPGA, and send the customer data and target instructions to the FPGA.

[0089] Among them, the rule data is the configuration data of the target risk control rules, and the target risk control rules correspond to the target customers who provide target orders.

[0090] It can be understood that the rule data is used to configure the target risk control rules. The target risk control rules correspond to the order behavior of the target customers, and the submitted orders will be evaluated for the risk and legality of the transaction through the corresponding risk control rules. Specifically, the target risk control rules supported by the financial risk control system are used to detect the abnormal transaction behaviors of the target customers (such as false reports, etc.), and corresponding risk control measures are executed when the target risk control rules are triggered.

[0091] S802. Use the FPGA to perform risk control rule calculations on the received target instructions and customer data to determine whether the target order complies with the target risk control rules, and return the calculated results to the target customer through the software platform.

[0092] Optionally, the software platform includes a rule conversion module and a hardware communication module, where:

[0093] The rule conversion module converts the rule data into the internal standard data structure of the system, and compiles the converted rule data into target instructions recognizable and executable by the FPGA; the hardware communication module encapsulates the hardware communication channel to send the customer data and target instructions to the FPGA; the hardware communication channel is used for data interaction between the software platform and the FPGA.

[0094] Optionally, the software platform further includes a data conversion module, where:

[0095] The data conversion module converts the customer data into the internal standard data structure of the system; the customer data includes market data and business data; the converted customer data is sent to the FPGA through the hardware communication module, so that the FPGA performs risk control rule calculations based on the converted customer data.

[0096] Optionally, the hardware communication module includes multiple communication interfaces, and the multiple communication interfaces include a downlink interface, a first uplink interface, a second uplink interface, and a third uplink interface, where: the customer data and target instructions are sent from the software platform to the FPGA through the downlink interface; the internal receipt generated by the FPGA is uploaded to the software platform through the first uplink interface; the external receipt to be returned to an external system outside the system is uploaded to the software platform through the second uplink interface; the process data generated by the FPGA during the risk control rule calculation is uploaded to the software platform through the third uplink interface.

[0097] Optionally, the FPGA includes a software communication module, a data table cache module, and a data processing module, where: the customer data and target instructions are received through the software communication module for data communication with the software platform; the risk control rule calculations are performed based on the customer data and target instructions through the data processing module, and calculation results are generated; the data received by the software communication module and the data generated by the data processing module are stored through the data table cache module.

[0098] Optionally, the data processing module includes a first processing sub-module, where: the first processing sub-module responds to the target instructions to perform target processing on the customer data to obtain calculation results; where the target processing is at least one of reset processing, global configuration, time synchronization, data backup / restore, order cancellation processing, trade processing, market data processing, and order placement processing.

[0099] Optionally, the data processing module further includes a second processing sub-module, where: based on the calculation result, the second processing sub-module performs deal preprocessing and / or market condition preprocessing on the acquired real-time data to generate a preprocessing result; wherein, the preprocessing result is used to be fed back to the target customer in real time.

[0100] Optionally, the data table caching module includes a first caching sub-module and a second caching sub-module, where: the first caching sub-module caches at least one of the hardware status table, account table, underlying table, parameter table, rule table, deal table, market condition table, and order table generated by the first processing sub-module; the second caching sub-module caches at least one of the market condition buffer table, proprietary deal buffer table, and loan assessment table generated by the second processing sub-module.

[0101] It is understandable that the specific descriptions of the various steps involved in the above financial risk control method can be referred to the above embodiments, and will not be elaborated here.

[0102] The financial risk control method provided by the present disclosure is applied to a financial risk control system, effectively solving the problem of large delay in existing software risk control processing and providing efficient computing power support for securities trading.

[0103] Figure 9 It is a schematic structural diagram of an electronic device provided by an embodiment of the present disclosure. Specifically refer to Figure 9 , which shows a schematic structural diagram of an electronic device 900 suitable for implementing the present disclosure. The electronic device 900 in the embodiments of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Tablet Computers), PMPs (Portable Multimedia Players), vehicle terminals (such as vehicle navigation terminals), wearable electronic devices, etc., and fixed terminals such as digital TVs, desktop computers, smart home devices, etc. Figure 9 The electronic device shown is only an example and should not bring any limitation to the functions and usage scope of the embodiments of the present disclosure.

[0104] As Figure 9 shown, the electronic device 900 may include a processing device 901 (such as a central processing unit, a graphics processing unit, etc.), which may perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 902 or the program loaded from the storage device 908 into the random access memory (RAM) 903 to implement the financial risk control method of the embodiments as described in the present disclosure. In the RAM 903, various programs and data required for the operation of the electronic device 900 are also stored. The processing device 901, the ROM 902, and the RAM 903 are connected to each other through a bus 904. The input / output (I / O) interface 905 is also connected to the bus 904.

[0105] Typically, the following devices can be connected to the I / O interface 905: an input device 906 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 907 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 908 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 909. The communication device 909 can allow the electronic device 900 to communicate with other devices wirelessly or wiredly to exchange data. Although Figure 9 the electronic device 900 with various devices is shown, it should be understood that it is not required to implement or have all the shown devices. Instead, more or fewer devices can be implemented or had.

[0106] Specifically, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes program codes for executing the method shown in the flowchart, so as to implement the financial risk control method as described above. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 909, or installed from the storage device 908, or installed from the ROM 902. When the computer program is executed by the processing device 901, the above functions defined in the method of the embodiment of the present disclosure are executed.

[0107] It should be noted that the computer-readable medium described above in the present disclosure may be a computer-readable signal medium, a computer-readable storage medium, or any combination of the two. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, apparatus, or device. In the present disclosure, the computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium may also be any computer-readable medium other than the computer-readable storage medium, and this computer-readable signal medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0108] In some embodiments, the client and the server can communicate using any currently known or future-developed network protocol such as HTTP (HyperText Transfer Protocol), and can be interconnected with digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include local area networks (“LAN”), wide area networks (“WAN”), the Internet (e.g., the Internet), and end-to-end networks (e.g., ad hoc end-to-end networks), as well as any currently known or future-developed network.

[0109] The above computer-readable medium may be included in the above electronic device; or it may exist separately without being assembled into the electronic device.

[0110] Optionally, when the above one or more programs are executed by the electronic device, the electronic device may also perform the other steps described in the above embodiments.

[0111] Computer program code for performing the operations of this disclosure may be written in one or more programming languages or combinations thereof. The foregoing programming languages include, but are not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0112] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur in a different order than noted in the drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or by a combination of dedicated hardware and computer instructions.

[0113] The units described in the embodiments of the present disclosure may be implemented in software or in hardware. In some cases, the name of the unit does not constitute a limitation on the unit itself.

[0114] The functions described above herein may be performed, at least in part, by one or more hardware logic components. By way of example, and without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGA), application specific integrated circuits (ASIC), application specific standard products (ASSP), system on a chip (SOC), complex programmable logic devices (CPLD), and the like.

[0115] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include electrical connections based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0116] It should be noted that, in this document, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variation thereof is intended to cover a non-exclusive inclusion, such that a process, method, article or gateway comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or gateway. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, article or gateway comprising the element.

[0117] The above are only specific embodiments of the present disclosure, enabling those skilled in the art to understand or implement the present disclosure. Various modifications to these embodiments will be obvious to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure will not be limited to the embodiments described herein, but rather to the broadest scope consistent with the principles and novel features disclosed herein.

Claims

1. A financial risk control system based on NDPP, characterized in that, The system includes an FPGA and a software platform, where: The software platform is used to obtain customer data and rule data, process the rule data into target instructions recognizable and executable by the FPGA, and send the customer data and the target instructions to the FPGA; among them, the rule data is the configuration data of the target risk control rule, and the target risk control rule corresponds to the target customer who provides the target order; The FPGA is used to perform risk control rule calculations on the received target instructions and customer data to determine whether the target order complies with the target risk control rule, and return the obtained calculation result to the target customer through the software platform.

2. The system according to claim 1, wherein The software platform includes a rule conversion module and a hardware communication module, where: The rule conversion module is used to convert the rule data into the internal standard data structure of the system, and compile the converted rule data into target instructions recognizable and executable by the FPGA; The hardware communication module is used to encapsulate the hardware communication channel to send the customer data and the target instructions to the FPGA; the hardware communication channel is used for data interaction between the software platform and the FPGA.

3. The system according to claim 2, wherein The software platform further includes a data conversion module, where: The data conversion module is used to convert the customer data into the internal standard data structure of the system; the customer data includes market data and business data; The hardware communication module is used to send the converted customer data to the FPGA so that the FPGA performs risk control rule calculations based on the converted customer data.

4. The system according to claim 2, wherein The hardware communication module includes multiple communication interfaces, and the multiple communication interfaces include a downlink interface, a first uplink interface, a second uplink interface, and a third uplink interface, where: The downlink interface is used to send the customer data and the target instructions from the software platform to the FPGA; The first uplink interface is used to upload the internal receipt generated by the FPGA to the software platform; The second uplink interface is used to upload the external receipt to be returned to an external system outside the system to the software platform; The third uplink interface is used to upload the process data generated by the FPGA during the risk control rule calculation to the software platform.

5. The system according to claim 1, wherein The FPGA includes a software communication module, a data table cache module, and a data processing module, where: The software communication module is used to receive the customer data and the target instructions and communicate with the software platform; The data processing module is used to perform risk control rule calculations based on the customer data and the target instructions and generate a calculation result; The data table cache module is used to store the data received by the software communication module and the data generated by the data processing module.

6. The system according to claim 5, characterized in that, The data processing module includes a first processing sub-module, where: The first processing sub-module is used to respond to the target instruction, perform target processing on the customer data, and obtain a calculation result; wherein, the target processing is at least one of reset processing, global configuration, time synchronization, data backup / restore, order cancellation processing, deal processing, market condition processing, and order placement processing.

7. The system according to claim 6, wherein The data processing module further includes a second processing sub-module, wherein: The second processing sub-module is used to perform deal preprocessing and / or market condition preprocessing on the acquired real-time data based on the calculation result, and generate a preprocessing result; wherein, the preprocessing result is used to be fed back to the target customer in real time.

8. The system according to claim 7, wherein The data table cache module includes a first cache sub-module and a second cache sub-module, wherein: The first cache sub-module is used to cache at least one of the data tables such as the hardware status table, account table, underlying table, parameter table, rule table, deal table, market condition table, and order placement table generated by the first processing sub-module; The second cache sub-module is used to cache at least one of the data tables such as the market condition buffer table, proprietary deal buffer table, and loan assessment table generated by the second processing sub-module.

9. A financial risk control method based on NDPP, characterized in that Applied to the NDPP-based financial risk control system as described in any one of claims 1-8, the system includes an FPGA and a software platform, and the method includes: Obtain customer data and rule data through the software platform, process the rule data into a target instruction recognizable and executable by the FPGA, and send the customer data and the target instruction to the FPGA; wherein, the rule data is the configuration data of the target risk control rule, and the target risk control rule corresponds to the target customer providing the target order; Perform risk control rule calculation on the received target instruction and the customer data through the FPGA to determine whether the target order conforms to the target risk control rule, and return the obtained calculation result to the target customer through the software platform.

10. An electronic device, characterized in that, Including: A memory; A processor; And A computer program; Wherein, the computer program is stored in the memory and is configured to be executed by the processor to implement the NDPP-based financial risk control method as described in claim 9.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the NDPP-based financial risk control method as described in claim 9.

Citation Information

Patent Citations

  • Risk control detection system based on FPGA rule expression

    CN112348522A

  • Financial risk control system based on FPGA acceleration card

    CN112541822A