DPU-based order reporting method and device, electronic equipment and medium

By pre-sending the header information of the transaction order in the high-frequency trading system and sending service data according to the reception time of the order data, the problem of delay in the order transmission in the existing technology is solved, and a lower delay transaction order transmission is achieved .

CN119444417AActive Publication Date: 2025-02-14YUSUR TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411541454.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-31
Publication Date
2025-02-14
Estimated Expiration
2044-10-31

AI Technical Summary

Technical Problem

In high-frequency trading scenarios, the existing technology will generate transmission delays when sending transaction orders, and cannot achieve ultra-low delay transaction requirements.

Method used

When receiving static data sent based on the preset static report protocol, the static data is sent to the trading network port in advance, and the static data is sent to the trading network port according to the time of receiving the static report data, thereby reducing the delay of the static report link .

Benefits of technology

It realizes that transaction orders are sent to the exchange faster in the trading scenario, reducing the delay of the order report link and improving the performance of the trading system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119444417A_ABST
    Figure CN119444417A_ABST
Patent Text Reader

Abstract

The invention provides an order reporting method and device based on a DPU, electronic equipment and a medium, and the method comprises the steps: transmitting static data to a transaction network port in advance when the static data transmitted based on a preset order reporting protocol is received; the static data is used for representing header information of a current transaction report; sending the report data to a transaction network port according to the opportunity of receiving the report data; the report data is business data transmitted by each transaction report. According to the method, in a transaction scene, the delay of a report link can be reduced, and the transaction report can be sent to the exchange more quickly.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of order storage of financial trading systems such as securities and stocks, and in particular to a DPU-based order method, device, electronic equipment, and medium. Background Art

[0002] High-frequency trading in the financial trading field is an important application field of ultra-low latency, and it is also the field that pursues the most extreme performance. Financial institutions and exchanges need to trade at the level of subtle or even nanoseconds to gain market advantages. Therefore, it is crucial for trading platforms and network infrastructure to achieve ultra-low latency. In the field of high-frequency trading, with the popularization of ultra-low latency technology of DPU (Data Processing Unit), the development of ultra-low latency and high-speed trading systems based on DPU has become a consensus among financial institutions.

[0003] In the related technology, based on the low-latency network card / DPU acceleration card, the UDP data packet that conforms to the exchange order format is sent to the low-latency network card through the software protocol stack, and then the low-latency network card sends the data to the trading network, and finally transmits it to the exchange. When the trading strategy triggers the order, it is necessary to send a UDP (User Datagram Protocol) data packet in accordance with the protocol data format of the exchange. However, the existing solutions all start sending from the first byte of the UDP data packet at the moment the order data is received. This method will cause transmission delays in the order link. Therefore, in the trading scenario, how to send the trading order to the exchange faster is an urgent problem to be solved. Summary of the invention

[0004] In order to solve the above technical problems or at least partially solve the above technical problems, the present disclosure provides a DPU-based order submission method, device, electronic device, and medium, which can send transaction orders to the exchange more quickly in a transaction scenario.

[0005] In order to achieve the above objectives, the embodiments of the present disclosure provide the following technical solutions:

[0006] In a first aspect, an embodiment of the present disclosure provides a DPU-based order reporting method, the method comprising:

[0007] When receiving static data sent based on a preset order protocol, the static data is sent to the trading network port in advance; the static data is used to represent the header information of the current trading order;

[0008] According to the timing of receiving the order data, the order data is sent to the transaction network port; the order data is the business data transmitted for each transaction order.

[0009] As an optional implementation of the embodiment of the present disclosure, sending the order data to the transaction network port according to the timing of receiving the order data includes:

[0010] If the order data is received during the last clock cycle of sending the static data, the order data will be sent to the transaction network port starting from the next clock cycle.

[0011] As an optional implementation of the embodiment of the present disclosure, the sending of the order data to the transaction network port according to the timing of receiving the order data further includes:

[0012] If the order data is received during the process of sending the static data, the order data is cached in a first-in-first-out queue;

[0013] When the static data is sent completely, the order data is sent to the transaction network port.

[0014] As an optional implementation of the embodiment of the present disclosure, the sending of the order data to the transaction network port according to the timing of receiving the order data, and the sending of the order data further includes:

[0015] If the static data has been sent and the order data has not been received, the static data is discarded.

[0016] As an optional implementation of the embodiment of the present disclosure, the method further includes:

[0017] Starting from the next clock cycle, the static data is pre-sent cyclically until the order data is received, and then the order data is sent to the transaction network port.

[0018] As an optional implementation of the embodiment of the present disclosure, the cyclic pre-sending of the static data starting from the next clock cycle includes:

[0019] Starting from the next clock cycle, the static data is pre-sent cyclically, and when the number of times the static data is sent is greater than a preset number, the pre-sending operation of the static data is stopped.

[0020] As an optional implementation of the embodiment of the present disclosure, the cyclic pre-sending of the static data starting from the next clock cycle further includes:

[0021] Starting from the next clock cycle, the static data is pre-sent cyclically, and when the order data is not received within a preset time, the pre-sending operation of the static data is stopped.

[0022] In a second aspect, an embodiment of the present disclosure provides an order placing device based on a DPU, comprising:

[0023] A pre-sending module, used for sending the static data to the trading network port in advance when receiving the static data sent based on the preset order protocol; the static data is used to represent the header information of the current trading order;

[0024] The decision module is used to send the order data to the transaction network port according to the timing of receiving the order data; the order data is the business data transmitted for each transaction order.

[0025] As an optional implementation of the embodiment of the present disclosure, the decision module is specifically used to:

[0026] If the order data is received during the last clock cycle of sending the static data, the order data will be sent to the transaction network port starting from the next clock cycle.

[0027] As an optional implementation of the embodiment of the present disclosure, the decision module is further specifically used for:

[0028] If the order data is received during the process of sending the static data, the order data is cached in a first-in-first-out queue;

[0029] When the static data is sent completely, the order data is sent to the transaction network port.

[0030] As an optional implementation of the embodiment of the present disclosure, the decision module is further specifically used for:

[0031] If the static data has been sent and the order data has not been received, the static data is discarded.

[0032] As an optional implementation of the embodiment of the present disclosure, the device further includes:

[0033] The circulation module is used to perform cyclic pre-sending of the static data starting from the next clock cycle until the order data is received, and then send the order data to the transaction network port.

[0034] As an optional implementation of the embodiment of the present disclosure, the circulation module is specifically used for:

[0035] Starting from the next clock cycle, the static data is pre-sent cyclically, and when the number of times the static data is sent is greater than a preset number, the pre-sending operation of the static data is stopped.

[0036] As an optional implementation of the embodiment of the present disclosure, the circulation module is further specifically used for:

[0037] Starting from the next clock cycle, the static data is pre-sent cyclically, and when the order data is not received within a preset time, the pre-sending operation of the static data is stopped.

[0038] In a third aspect, an embodiment of the present disclosure provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the DPU-based order submission method described in the first aspect or any embodiment of the first aspect is implemented.

[0039] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the DPU-based order submission method described in the first aspect or any embodiment of the first aspect is implemented.

[0040] The DPU-based order method provided by the present disclosure, when receiving static data sent based on a preset order protocol, sends the static data to the trading network port in advance, and sends the order data to the trading network port according to the timing of receiving the order data. Since the static data is used to represent the header information of the current transaction order, and the order data is the business data transmitted for each transaction order, by sending the header information of the current transaction order to the trading network port in advance, and then sending the order data according to the timing of receiving the order data, from receiving the order data to completely sending the entire transaction order, the delay of the order link can be reduced, and extremely fast order can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0042] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0043] Figure 1 A schematic diagram of a process of placing an order based on a DPU in an embodiment;

[0044] Figure 2a A schematic diagram of a UDP order structure of a DPU-based order method in an embodiment;

[0045] Figure 2b It is one of the clock cycle schematic diagrams of receiving order data at different times of the DPU-based order method in one embodiment;

[0046] Figure 2c This is a second schematic diagram of a clock cycle of order data transmission of an order placing method based on a DPU in one embodiment;

[0047] Figure 2d This is a third schematic diagram of a clock cycle of order data transmission of an order placing method based on a DPU in one embodiment;

[0048] Figure 3 It is a structural schematic diagram of an order placing device based on DPU in one embodiment;

[0049] Figure 4 It is a schematic diagram of the structure of the electronic device described in the embodiment of the present disclosure. DETAILED DESCRIPTION

[0050] In order to more clearly understand the above-mentioned objectives, features and advantages of the present disclosure, the scheme of the present disclosure will be further described below. It should be noted that the embodiments of the present disclosure and the features in the embodiments can be combined with each other without conflict.

[0051] In the following description, many specific details are set forth to facilitate a full understanding of the present disclosure, but the present disclosure may also be implemented in other ways different from those described herein; it is obvious that the embodiments in the specification are only part of the embodiments of the present disclosure, rather than all of the embodiments.

[0052] In the embodiments of the present disclosure, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present disclosure should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way. In addition, in the description of the embodiments of the present disclosure, unless otherwise specified, the meaning of "multiple" refers to two or more.

[0053] Glossary:

[0054] High-frequency trading (HFT) is an automated trading method that uses high-speed computer algorithms and network technology to conduct a large number of transactions in a very short period of time. This trading strategy relies on small market changes, such as small fluctuations in stock prices or price differences between different exchanges, to achieve profits. Characteristics of high-frequency trading include fast execution of trading orders, low-latency trading systems, and rapid response to market data. High-frequency trading (HFT) systems may use automated algorithms to quickly generate and execute trade orders to take advantage of small market fluctuations to profit.

[0055] DPU is a processor designed specifically for data centers to efficiently handle large-scale data workloads, including data transmission, protocol, protection, compression, analysis and encryption. Compared with traditional CPUs and GPUs, DPU focuses on data-centric workloads such as network, storage and security operations in data centers.

[0056] UDP is a connectionless network protocol used to transmit data in IP networks. It belongs to the transport layer protocol and is parallel to TCP (Transmission Control Protocol), but the main difference from the TCP protocol is that UDP is stateless and does not guarantee the order, integrity and reliability of data packets. UDP provides a simple way to send encapsulated IP data packets, but does not sort the data or ensure that they reach their destination.

[0057] Trading orders usually refer to instructions issued by investors or traders in the financial market to buy or sell securities, stocks, futures, foreign exchange and other financial products. These instructions contain detailed information about the transaction, such as the financial product code, transaction direction (buy or sell), transaction quantity, price, etc. The execution of trading orders is usually carried out through the trading system of the exchange, which determines the execution method of the order based on the type and duration of the order.

[0058] The basic types of trading orders include: market order, limit order, stop loss order, take profit order, iceberg order and other types. Among them, market order refers to an instruction to buy or sell immediately at the current market price. Limit order means setting a specific price, and the buy or sell will be executed only when the market price reaches or exceeds this price. Stop loss order means that when the market price reaches a certain level, the stop loss order will be triggered, usually used to limit losses. Take profit order is similar to stop loss order, but is used to lock in profits and is triggered when the price reaches a preset level. Iceberg order refers to a large transaction order, only a small part of the transaction volume is displayed, and the rest is hidden to avoid excessive impact on the market price.

[0059] Trading strategies refer to a set of rules and methods developed in order to achieve profit goals in the financial market. Different traders adopt different trading strategies based on their risk preferences, market analysis, money management capabilities and other factors.

[0060] RAM (Random Access Memory) is hardware used in computers and other electronic devices to temporarily store data and programs. It is the computer's primary memory, used to store data and instructions currently in use while the computer is running. RAM is usually volatile, meaning that when the power is turned off, the data stored in RAM is lost. RAM allows data to be read and written quickly, which allows computers to quickly access and process information.

[0061] In the related technology, based on the low-latency network card / DPU acceleration card, the UDP data packet that conforms to the exchange order format is sent to the low-latency network card through the software protocol stack, and then the low-latency network card sends the data to the trading network, and finally transmits it to the exchange. When the trading strategy triggers the order, it is necessary to send a UDP (User Datagram Protocol) data packet in accordance with the protocol data format of the exchange. However, the existing solutions all start sending from the first byte of the UDP data packet at the moment the order data is received. This method will cause transmission delays in the order link. Therefore, in the trading scenario, how to send the trading order to the exchange faster is an urgent problem to be solved.

[0062] In order to solve the above problems, the present disclosure proposes a DPU-based order method. When receiving static data sent based on a preset order protocol, the static data is sent to the trading network port in advance, and the order data is sent to the trading network port according to the timing of receiving the order data. Since the static data is used to represent the header information of the current transaction order, and the order data is the business data transmitted for each transaction order, by sending the header information of the current transaction order to the trading network port in advance, and then sending the order data according to the timing of receiving the order data, from receiving the order data to completely sending the entire transaction order, the delay of the order link can be reduced, and extremely fast order can be achieved.

[0063] Reference Figure 1 As shown, Figure 1 The flowchart of the order placing method based on DPU is shown in FIG. 1 , and the method includes the following steps S11-S12:

[0064] S11. When receiving static data sent based on a preset order protocol, the static data is sent to the transaction network port in advance.

[0065] Wherein, the static data is used to represent the header information of the current transaction order. The static data includes: Ethernet frame header data, IP header data, the preset order protocol header data and message header data. Wherein, the Ethernet frame header data includes: Ethernet type, source MAC address, destination MAC address. The IP header data includes: IP protocol version, IP header length, service type, total length, identifier, source IP address, destination IP address, etc. The UDP header data includes: source port, destination port, length, checksum, etc. The message header part is used to distinguish different types of message information, such as stop loss order, take profit order, iceberg order and other types.

[0066] The preset order reporting protocol may be, but is not limited to, UDP protocol, TCP protocol, etc. In the embodiment of the present disclosure, the UDP protocol is taken as an example to illustrate the order reporting method based on UDP.

[0067] Specifically, when the low-latency network card / DPU accelerator card receives static data sent based on the UDP protocol, the static data is sent to the trading network port in advance. When using the UDP protocol for data transmission, the data packet will be encapsulated in the Ethernet frame (Ethernet Frame), IP (Internet Protocol) header and UDP header in turn. The header information of the current transaction order includes source MAC, destination MAC, source port, destination port, message format, message length and other contents. Since the header information of the current transaction order does not change with the specific transaction order, it can be pre-configured and issued in the form of initialization parameters in the initialization module.

[0068] For example, refer to Figure 2a As shown in the figure, a typical UDP order structure includes: Frame Header, IP Header, UDP Header, UDP data (PayloadHeader+Payload data). UDP order refers to trading instructions or quotation information transmitted using the UDP protocol. In this case, the order structure is defined at the application level, not the UDP protocol itself. The payload data part usually consists of a message header and a message content field. The message header is used to distinguish different types of message information and has nothing to do with the specific order transaction content. It can be pre-configured and issued in the initialization module in the form of initialization parameters; the message content field is the data field actually transmitted for each transaction order.

[0069] Assuming that the transaction order is sent through a 10Gbs network port and the main frequency of the business logic is 322MHz, 32 bits, or 4 bytes of data, can be sent per clock cycle. Assuming that the payload part contains 64 bytes (i.e. 16 clock cycles), of which the message header part is 16 bytes (i.e. 4 clock cycles) and the message content is 48 bytes (i.e. 12 clock cycles). The Frame Header, IPHeader and UDP Header parts are 42 bytes (i.e. 11 clock cycles). According to the traditional hardware order method, starting from the receipt of the order data, it is sent in the format of a UDP packet, which requires a total of 27 clock cycles (11 clock cycles for header information + 16 clock cycles for payload data), about 83ns, such as Figure 2a shown.

[0070] The data transmitted in the first 15 clock cycles does not depend on the specific transaction content, and only the last 48 bytes of the message content are related to the transaction content (i.e., the received order data part). Therefore, the information Frame Header, IP Header, UDP Header, and Payload Header of the UDP packet header can be collectively referred to as static data, which can be sent to the RAM (Random Access Memory) on the accelerator card in a pre-configured manner for caching.

[0071] S12. Send the order data to the transaction network port according to the timing of receiving the order data.

[0072] The order data is the business data transmitted for each transaction order. The order data is used to describe the detailed information of the transaction, including, for example, the financial product code of the transaction, the transaction direction, the transaction quantity, the price, the time when the order was generated, the order ID, the validity period of the order, etc.

[0073] Specifically, when the order data is not received, the header information is sent to the network port in advance, and the following situations are classified according to the situation of receiving the order data.

[0074] In some embodiments, the above step S12 (sending the order data to the trading network port according to the timing of receiving the order data) can be implemented as follows:

[0075] If the order data is received during the last clock cycle of sending the static data, the order data will be sent to the transaction network port starting from the next clock cycle.

[0076] Specifically, the order data is received in the last clock cycle of sending the static data, and the Payload Data data is sent from the next clock cycle.

[0077] For example, refer to Figure 2b As shown, in this scenario, from receiving the order data to sending the message completely, only 12 clock cycles are needed, which saves 15 clock cycles compared with the traditional method.

[0078] In some embodiments, the above step S12 (sending the order data to the trading network port according to the timing of receiving the order data) can also be implemented in the following way:

[0079] If the order data is received during the process of sending the static data, the order data is cached in a first-in-first-out queue;

[0080] When the static data is sent completely, the order data is sent to the transaction network port.

[0081] Specifically, if Payload Data is received during the process of sending static data, Payload Data is cached in a first-in-first-out queue FIFO, and Payload Data continues to be sent after the static data is sent.

[0082] For example, refer to Figure 2c As shown, assuming that the static data is sent 4 clock cycles before the order data is received, it only takes 23 clock cycles from receiving the order data to the complete sending of the message, which saves 4 clock cycles compared to the traditional method.

[0083] In some embodiments, the above step S12 (sending the order data to the trading network port according to the timing of receiving the order data) can also be implemented in the following way:

[0084] If the static data has been sent and the order data has not been received, the static data is discarded.

[0085] Specifically, if the static data has been sent and the order data has not been received, the sending will be terminated immediately. The sent data packet will be identified as an incomplete data packet in the transmission link and discarded due to the length error (i.e., the 48 bytes of data of PayloadData are missing).

[0086] Further, in some embodiments, after executing the above steps (if the static data has been sent and the order data has not been received, the static data is discarded), the following steps may also be executed:

[0087] Starting from the next clock cycle, the static data is pre-sent cyclically until the order data is received, and then the order data is sent to the transaction network port.

[0088] Specifically, if the order data has not been received in the last clock cycle of the first pre-sending, the sending of the current data packet is terminated; and the second pre-sending is cyclically performed from the next clock cycle until the order data is received.

[0089] For example, refer to Figure 2d As shown, if the order data is not received in the last clock cycle of the first pre-sending, the first sending of static data is terminated. The second pre-sending of static data is cyclically performed from the next clock cycle until the order data is received and the order data is sent to the trading network port.

[0090] Optionally, the above step (starting from the next clock cycle, cyclically pre-sending the static data until the order data is received, and then sending the order data to the transaction network port) can be implemented in the following two ways:

[0091] Mode 1: Starting from the next clock cycle, the static data is pre-sent cyclically, and when the number of times the static data is sent is greater than a preset number, the pre-sending operation of the static data is stopped.

[0092] Among them, the preset number of times can be set according to the actual application scenario. For example, the preset number of times can be 5 times, 10 times, etc., or other reasonable values, and no specific restrictions are made here.

[0093] Specifically, if the order data is not received in the last clock cycle of the first pre-sending, the first sending of static data is terminated. The second pre-sending of static data is cyclically performed from the next clock cycle. When the number of sending of static data is greater than the preset number, the pre-sending operation of static data is stopped, and the whole process ends.

[0094] For example, assuming that the preset number of times is 5 times, if the order data is not received in the last clock cycle of the first pre-sending, the first sending of static data is terminated. The second pre-sending of static data is cyclically performed from the next clock cycle. When the number of sending of static data is greater than 5 times, the pre-sending operation of static data is stopped, and the whole process ends.

[0095] Mode 2: Starting from the next clock cycle, the static data is pre-sent cyclically, and when the order data is not received within a preset time, the pre-sending operation of the static data is stopped.

[0096] Among them, the preset time can be set according to the actual application scenario. For example, the preset time can be 10 milliseconds, 20 milliseconds, 50 milliseconds, etc., or other reasonable values, and no specific restrictions are made here.

[0097] Specifically, if the order data is not received in the last clock cycle of the first pre-sending, the first sending of static data is terminated. The second pre-sending of static data is cyclically performed from the next clock cycle. If the order data is not received within the preset time, the pre-sending operation of static data is stopped, and the whole process ends.

[0098] For example, assuming that the preset time is 20 milliseconds, if the order data is not received in the last clock cycle of the first pre-sending, the first sending of static data is terminated. The second pre-sending of static data is performed cyclically from the next clock cycle. When the order data is not received within 20 milliseconds, the pre-sending operation of static data is stopped, and the whole process ends.

[0099] The embodiment of the present disclosure should be used. The DPU-based order method provided by the present disclosure, when receiving static data sent based on a preset order protocol, sends the static data to the transaction network port in advance, and sends the order data to the transaction network port according to the timing of receiving the order data. Since the static data is used to represent the header information of the current transaction order, and the order data is the business data transmitted for each transaction order, by sending the header information of the current transaction order to the transaction network port in advance, and then sending the order data according to the timing of receiving the order data, from receiving the order data to completely sending the entire transaction order, the delay of the order link can be reduced, and extremely fast order can be achieved.

[0100] In one embodiment, Figure 3 As shown, a DPU-based order placing device 300 is provided, comprising:

[0101] The pre-sending module 310 is used to send the static data to the trading network port in advance when receiving the static data sent based on the preset order protocol; the static data is used to represent the header information of the current trading order;

[0102] The decision module 320 is used to send the order data to the transaction network port according to the timing of receiving the order data; the order data is the business data transmitted for each transaction order.

[0103] As an optional implementation of the embodiment of the present disclosure, the decision module is specifically used to:

[0104] If the order data is received during the last clock cycle of sending the static data, the order data will be sent to the transaction network port starting from the next clock cycle.

[0105] As an optional implementation of the embodiment of the present disclosure, the decision module is further specifically used for:

[0106] If the order data is received during the process of sending the static data, the order data is cached in a first-in-first-out queue;

[0107] When the static data is sent completely, the order data is sent to the transaction network port.

[0108] As an optional implementation of the embodiment of the present disclosure, the decision module is further specifically used for:

[0109] If the static data has been sent and the order data has not been received, the static data is discarded.

[0110] As an optional implementation of the embodiment of the present disclosure, the device further includes:

[0111] The circulation module is used to perform cyclic pre-sending of the static data starting from the next clock cycle until the order data is received, and then send the order data to the transaction network port.

[0112] As an optional implementation of the embodiment of the present disclosure, the circulation module is specifically used for:

[0113] Starting from the next clock cycle, the static data is pre-sent cyclically, and when the number of times the static data is sent is greater than a preset number, the pre-sending operation of the static data is stopped.

[0114] As an optional implementation of the embodiment of the present disclosure, the circulation module is further specifically used for:

[0115] Starting from the next clock cycle, the static data is pre-sent cyclically, and when the order data is not received within a preset time, the pre-sending operation of the static data is stopped.

[0116] By applying the embodiments of the present disclosure, the DPU-based order placing device provided by the present disclosure, when receiving static data sent based on a preset order placing protocol, sends the static data to the trading network port in advance, and sends the order data to the trading network port according to the timing of receiving the order data. Since the static data is used to represent the header information of the current transaction order, and the order data is the business data transmitted for each transaction order, by sending the header information of the current transaction order to the trading network port in advance, and then sending the order data according to the timing of receiving the order data, from receiving the order data to completely sending the entire transaction order, the delay of the order placing link can be reduced, and extremely fast order placing can be achieved.

[0117] For the specific limitations of the DPU-based order placing device, please refer to the limitations of the DPU-based order placing method above, which will not be repeated here. Each module in the above-mentioned DPU-based order placing device can be implemented in whole or in part by software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor of the electronic device in the form of hardware, or can be stored in the processor of the electronic device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0118] The present disclosure also provides an electronic device, Figure 4 This is a schematic diagram of the structure of an electronic device provided by an embodiment of the present disclosure. Figure 4As shown, the electronic device provided in this embodiment includes: a memory 41 and a processor 42, the memory 41 is used to store a computer program; the processor 42 is used to execute the steps performed by any embodiment of the DPU-based order reporting method provided in the above method embodiment when calling the computer program. The electronic device includes a processor, a memory, a communication interface, a display screen and an input device connected through a system bus. Among them, the processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. When the computer program is executed by the processor, a DPU-based order reporting method is implemented. The display screen of the electronic device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the electronic device can be a touch layer covered on the display screen, or a key, trackball or touchpad set on the housing of the computer device, or an external keyboard, touchpad or mouse.

[0119] Those skilled in the art will understand that Figure 4 The structure shown in the figure is only a block diagram of a part of the structure related to the scheme of the present disclosure, and does not constitute a limitation on the computer device to which the scheme of the present disclosure is applied. The specific electronic device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0120] In one embodiment, the DPU-based order placing device provided by the present disclosure can be implemented in the form of a computer, and the computer program can be used in the following manner: Figure 4 The memory of the electronic device can store various program modules constituting the DPU-based order placing device of the electronic device.

[0121] An embodiment of the present disclosure also provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the DPU-based order submission method provided in the above method embodiment is implemented.

[0122] Those skilled in the art will appreciate that the embodiments of the present disclosure may be provided as methods, systems, or computer program products. Therefore, the present disclosure may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present disclosure may take the form of a computer program product implemented on one or more computer-usable storage media containing computer-usable program code.

[0123] The processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0124] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0125] Computer readable media include permanent and non-permanent, removable and non-removable storage media. Storage media can be implemented by any method or technology to store information, and the information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0126] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0127] The above description is only a specific embodiment of the present disclosure, so that those skilled in the art can understand or implement the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may 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 will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A DPU-based order submission method, characterized in that: The method comprises: When receiving static data sent based on a preset order protocol, the static data is sent to the trading network port in advance; the static data is used to represent the header information of the current trading order; According to the timing of receiving the order data, the order data is sent to the transaction network port; the order data is the business data transmitted for each transaction order.

2. The method according to claim 1, characterized in that: The sending of the order data to the trading network port according to the timing of receiving the order data comprises: If the order data is received during the last clock cycle of sending the static data, the order data will be sent to the transaction network port starting from the next clock cycle.

3. The method according to claim 1, characterized in that The step of sending the order data to the trading network port according to the timing of receiving the order data further includes: If the order data is received during the process of sending the static data, the order data is cached in a first-in-first-out queue; When the static data is sent completely, the order data is sent to the transaction network port.

4. The method according to claim 1, characterized in that: The step of sending the order data to the trading network port according to the timing of receiving the order data, and sending the order data, further comprises: If the static data has been sent and the order data has not been received, the static data is discarded.

5. The method according to claim 4, characterized in that The method further comprises: Starting from the next clock cycle, the static data is pre-sent cyclically until the order data is received, and then the order data is sent to the transaction network port.

6. The method according to claim 5, characterized in that The step of cyclically pre-sending the static data starting from the next clock cycle includes: Starting from the next clock cycle, the static data is pre-sent cyclically, and when the number of times the static data is sent is greater than a preset number, the pre-sending operation of the static data is stopped.

7. The method according to claim 5, characterized in that The cyclic pre-sending of the static data starting from the next clock cycle also includes: Starting from the next clock cycle, the static data is pre-sent cyclically, and when the order data is not received within a preset time, the pre-sending operation of the static data is stopped.

8. A DPU-based order placing device, characterized in that: include: A pre-sending module, configured to, when receiving static data sent based on a preset order protocol, pre-send the static data to the trading network port; The static data is used to represent the header information of the current transaction order; The decision module is used to send the order data to the transaction network port according to the timing of receiving the order data; the order data is the business data transmitted for each transaction order.

9. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the DPU-based order placing method described in any one of claims 1 to 7 is implemented.

10. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and when the computer program is executed by a processor, the DPU-based order submission method described in any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Network message sending method and device and network processor

    CN112350957A

  • Method and device for sending fragmented message

    CN112968844A

  • Data transmission method and related device

    CN116095197A

  • Docking message processing method and system

    CN117255144A

  • Network security protection method and device based on network port lock, equipment and medium

    CN118509268A