Fund tracking method and device

By dividing the transaction network graph into a historical stock graph and a current incremental graph, and combining offline calculation with real-time calculation, the problem of time-consuming and labor-intensive transaction network graph calculation is solved, and the efficiency of fund tracking is improved.

CN120765249APending Publication Date: 2025-10-10ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510839579.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-20
Publication Date
2025-10-10

AI Technical Summary

Technical Problem

Existing technologies are time-consuming and labor-intensive when processing transaction network graphs, making it difficult to track funds efficiently.

Method used

The transaction network graph is divided into two parts for storage: the historical stock graph and the current incremental graph. When a fund tracking request is received, offline calculation and real-time calculation are combined to optimize the fund tracking process by tracking funds in the current incremental graph and querying the pre-stored historical fund tracking graph for merging.

Benefits of technology

By reducing graph data loading and calculation, the efficiency of fund tracking is significantly improved, especially when the tracking time range spans the current and historical periods, which reduces computing time and IO consumption and improves response speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120765249A_ABST
    Figure CN120765249A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a fund tracking method, which comprises the following steps of: receiving a fund tracking request which comprises a tracking time range and a first transaction; and under the condition that the starting time of the tracking time range is within the historical time period and the ending time is within the current time period, acquiring a current incremental graph corresponding to the current time period. And in the current incremental graph, performing fund tracking on the first transaction to obtain a first fund tracking graph. According to an initial account in the first fund tracking graph, a corresponding second fund tracking graph is inquired from a historical database, a plurality of historical fund tracking graphs corresponding to a plurality of accounts are recorded in the historical database, and a single historical fund tracking graph is stored in a historical stock graph corresponding to a historical period; and performing fund tracking on a transaction of the corresponding account. And fusing the first fund tracking graph and the second fund tracking graph to obtain a final fund tracking graph.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of this specification belong to the field of computer technology, and more particularly, to a fund tracking method and device. Background Art

[0002] Hundreds of billions of yuan in transactions occur daily in payment systems, linking complex relationships between users, merchants, and institutions. By abstracting and modeling transaction data, we can transform it into a transaction network graph. Behind this transaction network graph are the paths of capital flow, corresponding to the individual funds flowing in real life. Understanding the flow paths of each fund in the transaction network graph can provide valuable insights and analysis for reducing business risks, combating illegal and gray market activities, analyzing user intent, and ensuring financial risk and security. Typically, computations on the transaction network graph (also known as fund tracing) aim to provide a timely and complete understanding of the fund flow paths. However, in reality, computations on these graphs are often time-consuming and laborious, as transaction network graphs are often very large. Summary of the Invention

[0003] The present invention aims to provide a fund tracing method and device, which can improve the efficiency of fund tracing.

[0004] In a first aspect, this specification provides a fund tracing method, comprising:

[0005] receiving a funds tracing request, including the tracing timeframe and first transaction;

[0006] When the start time of the tracking time range is within the historical period and the end time is within the current period, obtain a current incremental graph corresponding to the current period, wherein a single edge represents a single transaction occurring within the current period, and a single node represents an account involved in the single transaction;

[0007] In the current incremental graph, funds tracing is performed on the first transaction to obtain a first funds tracing graph, in which a single edge represents a target transaction and a single node represents an account in the target transaction; the target transaction includes the first transaction or a previous transaction thereof;

[0008] Based on the starting account in the first fund tracking graph, a corresponding second fund tracking graph is retrieved from a historical database; the historical database contains multiple historical fund tracking graphs corresponding to multiple accounts; a single historical fund tracking graph is obtained by tracking funds for a transaction of the corresponding account in the historical stock graph corresponding to the historical period; a single edge in the historical stock graph represents a single transaction occurring within the historical period, and a single node represents an account involved in the single transaction;

[0009] The first funds tracking graph and the second funds tracking graph are merged to obtain a final funds tracking graph.

[0010] A second aspect of this specification provides a fund tracking device, comprising:

[0011] a receiving unit, configured to receive a funds tracing request, which includes a tracing time range and a first transaction;

[0012] an acquisition unit, configured to, when the start time of the tracking time range is within a historical period and the end time is within a current period, acquire a current incremental graph corresponding to the current period, wherein a single edge represents a single transaction occurring within the current period and a single node represents an account involved in the single transaction;

[0013] a tracking unit configured to perform fund tracking on the first transaction in the current incremental graph to obtain a first fund tracking graph, wherein a single edge represents a target transaction and a single node represents an account in the target transaction; the target transaction includes the first transaction or a previous transaction thereof;

[0014] a query unit configured to query a corresponding second funds tracing graph from a historical database based on a starting account in the first funds tracing graph; the historical database recording multiple historical funds tracing graphs corresponding to multiple accounts; a single historical funds tracing graph is obtained by tracing funds for a transaction of a corresponding account in a historical stock graph corresponding to the historical period; a single edge in the historical stock graph represents a single transaction occurring within the historical period, and a single node represents an account involved in the single transaction;

[0015] A fusion unit is configured to fuse the first funds tracking graph and the second funds tracking graph to obtain a final funds tracking graph.

[0016] A third aspect of this specification provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed in a computer, the computer is caused to execute the method described in the first aspect.

[0017] A fourth aspect of this specification provides a computing device, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method described in the first aspect is implemented.

[0018] A fifth aspect of this specification provides a computer program product, comprising a computer program / instruction, which implements the steps of the method described in the first aspect when executed by a processor.

[0019] The funds tracing method and apparatus provided in one or more embodiments of this specification divides a transaction network graph into two versions for storage based on time. One version, called the historical stock graph, is constructed based on each historical transaction that occurred within a historical period. Funds tracing can be pre-processed against this historical stock graph, resulting in multiple historical funds tracing graphs. The other version, called the current incremental graph, is constructed based on each real-time transaction that occurred within the current period. Subsequently, upon receiving a funds tracing request, if the corresponding tracing time range falls within both the current period and a historical period, funds tracing is first performed against the current incremental graph. Then, based on the resulting real-time funds tracing graph, multiple historical funds tracing graphs are queried. The resulting real-time funds tracing graph and the queried historical funds tracing graph are merged to produce the final funds tracing graph. This solution utilizes a combination of offline and real-time computation during the funds tracing process, which avoids loading large amounts of graph data and improves funds tracing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the technical solutions of the embodiments of this specification, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments recorded in this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0021] Figure 1 A schematic diagram showing a method for storing a transaction network graph in an example of this specification;

[0022] Figure 2 A schematic diagram showing a fund tracking method in one example of this specification;

[0023] Figure 3 A schematic diagram of a historical inventory diagram in one example of this specification is shown;

[0024] Figure 4 A schematic diagram of a historical inventory graph showing updates in one example of this specification;

[0025] Figure 5 A flow chart of a fund tracing method according to one embodiment of the present specification is shown;

[0026] Figure 6 A schematic diagram showing a current increment diagram in an example of this specification;

[0027] Figure 7 A schematic diagram showing a fund tracking method in one example of this specification;

[0028] Figure 8A schematic diagram of a fund tracking device according to one embodiment of the specification is shown. DETAILED DESCRIPTION

[0029] To help those skilled in the art better understand the technical solutions in this specification, the following will provide a clear and complete description of the technical solutions in the embodiments of this specification, in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of them. All other embodiments derived by those skilled in the art based on the embodiments in this specification without creative effort shall fall within the scope of protection of this specification.

[0030] As mentioned above, existing graph computing solutions are time-consuming and labor-intensive. To address this, this solution proposes to store the transaction network graph in different versions, which is explained in detail below.

[0031] Figure 1 A schematic diagram illustrating a method for storing a transaction network graph in an example of this specification. Figure 1 In the Transaction Network Graph, the transaction network graph is divided into two versions for storage based on time. One version is called the Historical Stock Graph, which is constructed based on each historical transaction that occurred within a historical period. The historical period here can refer to a time range of a first preset duration from the target time forward, where the first preset duration can be 62 days or 93 days, for example. The other version is called the Current Incremental Graph, which is constructed based on each real-time transaction that occurred within the current period. The current period here can refer to a time range of a second preset duration from the target time backward, where the second preset duration can be 24 hours or 48 hours, for example.

[0032] In one example, the above-mentioned target moment can move forward according to a preset time period (for example, 1 day). Since the above-mentioned current period and historical period will also change when the target moment changes, the current period and historical period can be regarded as sliding windows that slide forward periodically, and the sliding step is the above-mentioned preset time period.

[0033] In this solution, the above historical period and current period together constitute a valid period or valid window.

[0034] The current increment graph is first described below.

[0035] The current incremental graph may include multiple nodes and directed edges. A single directed edge represents a real-time transaction that occurred during the current time period and may have the following edge attributes: transaction time, transaction amount, transaction type (e.g., transfer, withdrawal, red envelope), etc. A single node represents the account involved in a single real-time transaction and may have the following node attributes: account type (e.g., merchant / personal account), account user information (e.g., identity, occupation, and hobbies, etc.).

[0036] It should be noted that to ensure the real-time nature of the current incremental graph, the current period can be set to include the current moment, meaning that the duration of the current period exceeds the duration between the target moment and the current moment. This ensures that the number of real-time transactions corresponding to the current period continuously increases. More specifically, each time a set of real-time transactions corresponding to a time segment is collected, the current incremental graph can be updated based on that set of real-time transactions. This means that nodes and directed edges related to each transaction in that set of real-time transactions are added to the current incremental graph.

[0037] In an example, the time segment here may be 1 minute or 10 minutes, etc., that is, it is a smaller sub-period obtained by dividing the current period.

[0038] In addition, as mentioned above, the current period will slide forward periodically, and some real-time transactions will be moved out of the current period. Therefore, the sub-graph corresponding to this part of the real-time transactions needs to be cropped from the current incremental graph.

[0039] Specifically, when the update time period of the current time period expires, based on multiple real-time transactions that occurred within the update time period, the target subgraph corresponding to the multiple transactions is determined from the current incremental graph, the target subgraph is cropped from the current incremental graph to obtain an updated current incremental graph, and the target subgraph is stored in the target storage space.

[0040] The above historical stock chart is explained below.

[0041] The historical inventory graph may include multiple nodes and directed edges. A single directed edge represents a historical transaction that occurred during the aforementioned historical period and may have the following edge attributes: transaction time, transaction amount, transaction type (e.g., transfer, withdrawal, red envelope), etc. Furthermore, a single node represents the account involved in a single historical transaction and may have the following node attributes: account type (e.g., merchant / personal account), account user information (e.g., identity, occupation, and hobbies, etc.).

[0042] As mentioned above, the historical period will also slide forward periodically. Since the target time is the end time of the historical period and the start time of the current period, the historical stock chart can be updated based on the target sub-chart corresponding to some real-time exchanges that are moved out of the current period.

[0043] Specifically, when the update time period of the historical period expires, the target subgraph is read from the target storage space, and based on the target subgraph, the historical stock graph is updated, that is, the target subgraph is added to the historical stock graph.

[0044] Of course, in practice, to control the data volume of the historical stock graph, the historical stock graph can also be cropped. For example, after the historical period is updated, for some historical transactions that have been removed from the historical period, the target subgraph corresponding to these historical transactions can be determined from the historical stock graph. This target subgraph can then be cropped from the historical stock graph to obtain the updated historical stock graph.

[0045] In one example, the current incremental graph or historical stock graph can be stored at a minute granularity. Experiments have shown that storing at a minute granularity can effectively balance graph computation and graph reuse.

[0046] After the transaction network diagram is stored in versions according to time, when a real-time fund tracking request is received for it, if the corresponding tracking time range falls within the current period, the fund tracking is performed based on the current incremental diagram; if the corresponding tracking time range falls within the historical period, the fund tracking is performed based on the historical incremental diagram; if the corresponding tracking time range falls within both the current period and the historical period, the fund tracking is first performed for the current incremental diagram and the historical incremental diagram respectively, and then the two tracking results are merged.

[0047] Figure 2 A schematic diagram illustrating a funds tracking method in one example of this specification. Figure 2 In the example, assume that the current time is 2024-01-14 15:00:01, and the current period is 48 hours from the target time 2024-01-13 00:00:00, that is, the end time is 2024-01-15 00:00:00, which includes the current time; the historical period is 62 days from the target time 2024-01-13 00:00:00.

[0048] Then, if the tracking time range corresponding to the real-time fund tracking request is: 2024-01-13 10:00:00 to 2024-01-13 11:00:00, which falls within the current time period, fund tracking is performed based on the current incremental graph.

[0049] If the tracking time range corresponding to the real-time fund tracking request is: 2024-01-10 10:00:00 to 2024-01-12 10:00:00, which falls within the historical period, fund tracking is performed based on the historical stock chart.

[0050] If the tracking time range for a real-time fund tracking request is 2024-01-10 10:00:00 to 2024-01-13 11:00:00, that is, the start time of the tracking time range falls within the historical period and the end time falls within the current period, that is, the tracking time range falls into both the current period and the historical period, then fund tracking is performed on the current incremental graph and the historical incremental graph separately, and then the two tracking results are merged.

[0051] However, the above solution can only improve the fund tracking efficiency when the tracking time range falls into the current period. When the tracking time range falls into the historical period or falls into both the current period and the historical period, the fund tracking process still has the problem of being time-consuming and laborious due to the need to load the historical stock chart.

[0052] To this end, this solution makes the following improvements to the above-mentioned version storage solution:

[0053] Specifically, funds tracking is performed in advance for each target historical transaction in the historical stock graph, thereby generating multiple corresponding historical funds tracking graphs. The corresponding relationship between each receiving account for each target historical transaction and each historical funds tracking graph can then be stored in a historical database for query purposes when responding to a funds tracking request.

[0054] In an example, the target historical transaction may refer to a historical transaction in which the node corresponding to the receiving account is a leaf node.

[0055] The single historical fund tracking graph described above can also be called a historical tracking path. It consists of multiple nodes, each connected end-to-end. For example, in the historical fund tracking graph corresponding to a specific target historical transaction, a single directed edge represents the target historical transaction or its preceding transaction, and a single node represents the account involved in the transaction.

[0056] In this solution, the funds tracing process for any target historical transaction can include multiple rounds of iterations. Specifically, the target historical transaction can be used as the initial transaction to iterate through multiple rounds of transaction searches. A single round of transaction search involves searching the historical inventory graph for a previous transaction with the current transaction's sending account as the receiving account, based on predetermined rules. The previous transaction found is then updated as the current transaction until the search termination condition is met. The previous transactions found are then sequentially concatenated with the target historical transaction, and the concatenation result is determined as the corresponding historical funds tracing graph.

[0057] Among them, in the first round of iteration, the above current transaction is the initial transaction (that is, the target historical transaction).

[0058] The above-mentioned predetermined rules may include at least one of a time-based rule and an amount-based rule, wherein the time-based rule is used to indicate that the transaction time of the previous transaction is earlier than the current transaction, and the difference in transaction time is less than a predetermined threshold; the amount-based rule is used to indicate that when there are multiple previous transactions, the previous transaction with the same or similar transaction amount as the current transaction is given priority.

[0059] Of course, in practice, there may be multiple previous transactions that meet the predetermined rules at the same time. At this time, the final previous transaction can be selected based on expert experience or the last-in-first-out rule, that is, the previous transaction with the closest transaction time to the current transaction is selected as the final previous transaction.

[0060] In addition, the above search end conditions may include that the node corresponding to the sending account of the current transaction is the first node, or the number of iteration rounds reaches a predetermined number, etc.

[0061] In one example, the previous transaction found in the last round can be ranked first, the previous transaction found in the next-last round can be ranked second, and so on, until the previous transaction found in the first round is reached. The target historical transaction is then ranked after the previous transaction found in the first round, thus obtaining the historical funds tracking graph corresponding to the target historical transaction. In other words, the target historical transaction is the last transaction in the corresponding historical funds tracking graph.

[0062] The following example illustrates the above historical funds tracking chart.

[0063] Figure 3 A schematic diagram of a historical inventory diagram in one example of this specification is shown. Figure 3 The historical transactions represented by the directed edges in are as follows:

[0064] Transaction 1: a->b (sending account a, receiving account b, transaction primary key ID: 1001, transaction time: 2024-12-2005:21:01, transaction amount: 1,000,030 yuan);

[0065] Transaction 2: b->c (sending account b, receiving account c, transaction primary key ID: 1002, transaction time: 2024-12-2006:59:01, transaction amount: 20 yuan);

[0066] Transaction 3: b->d (sending account b, receiving account d, transaction primary key ID: 1003, transaction time: 2024-12-2007:59:01, transaction amount: 5 yuan);

[0067] Transaction 4: b->e (sending account b, receiving account e, transaction primary key ID: 1004, transaction time: 2024-12-2008:00:01, transaction amount: 1,000,000 yuan);

[0068] Transaction 5: c->f (sending account c, receiving account f, transaction primary key ID: 1005, transaction time: 2024-12-2006:59:02, transaction amount: 5 yuan);

[0069] Transaction 6: c->h (sending account c, receiving account h, transaction primary key ID: 1006, transaction time: 2024-12-2006:59:03, transaction amount: 15 yuan);

[0070] Transaction 7: e->m1 (sending account e, receiving account m1, transaction primary key ID: 1007, transaction time: 2024-12-21 10:00:01, transaction amount: 1 yuan);

[0071] Transaction 8: e->m2 (sending account e, receiving account m2, transaction primary key ID: 1008, transaction time: 2024-12-21 10:00:02, transaction amount: 1 yuan); ...

[0073] Figure 3 In the example, you can select transactions 5, 6, 7, and 8 as target historical transactions. After tracking funds for these target historical transactions, you can get the following multiple historical fund tracking graphs:

[0074] Transaction 7: a->b->e->m1;

[0075] Transaction 8: a->b->e->m2;

[0076] Transaction 9: a->b->e->m3;

[0077] Transaction 10: a->b->e->m4;

[0078]

[0079] Afterwards, the following correspondence can be stored in the historical database:

[0080] m1: a->b->e->m1;

[0081] m2: a->b->e->m2;

[0082] m3: a->b->e->m3;

[0083] m4: a->b->e->m4;

[0084]

[0085] In the first row, m1 is the receiving account of the last transaction in the historical fund tracing graph: a->b->e->m1. In the second row, m2 is the receiving account of the last transaction in the historical fund tracing graph: a->b->e->m2, and so on.

[0086] It should be understood that this is only an exemplary description. In practice, the corresponding tracking amount (usually the transaction amount of the last transaction) may also be stored in the historical database, and this specification does not limit this.

[0087] It should be noted that the content in the above historical database will change as the historical stock map is updated.

[0088] Specifically, after updating the historical stock graph based on the target subgraph read from the target storage space, funds tracking can be performed on the target new transactions in the updated historical stock graph to obtain the corresponding new funds tracking graph, and then the historical database can be updated based on the new funds tracking graph.

[0089] In an example, the above-mentioned target new transaction may satisfy the following conditions: the corresponding directed edge is a new edge of the historical stock graph, and the node pointed to by the directed edge is a leaf node.

[0090] The funds tracking process for a target new transaction is similar to the funds tracking process for a target historical transaction described above. First, the target new transaction is used as the initial transaction, and multiple rounds of searching for previous transactions are performed within the updated historical inventory graph. Then, the previous transactions found in these multiple iterations are sequentially concatenated with the target new transaction to generate the new funds tracking graph for the target new transaction.

[0091] Unlike the aforementioned fund tracking process for target historical transactions, fund tracking for target new transactions can reuse the historical database. For example, in each iteration, after finding the previous transaction, it can be determined whether the sending account of the previous transaction has a corresponding target fund tracking diagram in the historical database. If not, the next iteration is entered; if so, the iteration ends.

[0092] In other words, the search end condition for the funds tracking of the target new transaction includes: the sending account of the previous transaction has a corresponding target funds tracking map in the history database.

[0093] It should be understood that in this search end condition, the above target fund tracking graph can be read, and the above obtained new fund tracking graph is spliced in front of the read target fund tracking graph to obtain an updated fund tracking graph. Then, the updated fund tracking graph can be used to replace the target fund tracking graph.

[0094] Of course, in practice, according to actual needs, the above target fund tracking graph can also be retained, that is, the updated fund tracking graph is added to the historical database, and the present specification does not limit this.

[0095] In addition, the account corresponding to the target fund tracking graph also needs to be replaced, for example, replaced by the receiving account of the last transaction in the updated fund tracking graph.

[0096] For example, it is assumed that after updating the historical inventory graph shown in Figure 3 , the updated historical inventory graph shown in Figure 4 is obtained, and the transaction "t1->t2" can be determined as a target new transaction and its fund tracking is performed.

[0097] Specifically, in Figure 4 , after a round of transaction search on the target new transaction "t1->t2", the preceding transaction "m1->t1" can be found, and since the sending account of the preceding transaction exists in the historical database corresponding to the target fund tracking graph "a->b->e->m1", the search end condition is met. Then, the preceding transaction "m1->t1" and the target new transaction "t1->t2" are sequentially concatenated to obtain a new fund tracking graph "m1->t1->t2". Finally, the new fund tracking graph "m1->t1->t2" is spliced in front of the target fund tracking graph "a->b->e->m1" to obtain an updated fund tracking graph "a->b->e->m1->t1->t2", and the target fund tracking graph is replaced by the updated fund tracking graph, thereby obtaining the following updated historical database:

[0098] t2: a->b->e->m1->t1->t2;

[0099] m2: a->b->e->m2;

[0100] m3: a->b->e->m3;

[0101] m4: a->b->e->m4;

[0102]

[0103] In the first row, t1 is the receiving account of the last transaction in the updated fund tracking graph a->b->e->m1->t1->t2.

[0104] In addition, after cropping the target subgraph from the historical stock graph, the corresponding historical tracking path can also be deleted from the historical stock graph to always maintain the corresponding relationship between the historical stock graph and the historical database.

[0105] It should be understood that, in the case where each target historical transaction is tracked in advance and multiple corresponding historical funds tracking graphs are obtained, if the tracking time range corresponding to the received real-time funds tracking request falls within the historical period, then the corresponding final funds tracking graph can be directly queried from the multiple historical funds tracking graphs.

[0106] If the tracking time range corresponding to the received real-time fund tracking request falls within both the historical period and the current period, then fund tracking can be performed first on the current incremental graph, and then multiple historical fund tracking graphs can be queried based on the obtained real-time fund tracking graph. The obtained real-time fund tracking graph and the queried historical fund tracking graphs are then merged to obtain the final fund tracking graph.

[0107] In summary, in this solution, the transaction network graph is divided into two versions according to time (i.e., the current incremental graph and the historical stock graph), and the two versions are stored separately. In addition, offline calculations (i.e., fund tracking) are performed in advance for the historical stock graph. This allows the results of offline calculations to be reused to the greatest extent, preventing the loading of large amounts of graph data and time-consuming calculations when responding to fund tracking requests, thereby significantly improving the response speed.

[0108] In short, in the improved solution, when responding to a real-time fund tracking request, there is no need to fully load the historical inventory chart, which can greatly improve the efficiency of fund tracking.

[0109] Figure 5 The flowchart of the fund tracking method according to one embodiment of the present specification is shown. The method can be executed by any device, equipment, platform, or device cluster with computing and processing capabilities. Figure 5 As shown, the method may include the following steps:

[0110] Step S502: Receive a fund tracing request, which includes a tracing time range and transaction Tx1.

[0111] The start time and end time of the tracking time range can be expressed in the following format: "yyyy-mm-ddhh:mm:ss". Of course, in practice, it can also include only the year, month, and day, and this specification does not limit this.

[0112] In an example, the transaction Tx1 can be expressed as follows: “t1->t2”, where t1 is the sending account of the transaction Tx1 and t2 is the receiving account of the transaction Tx1.

[0113] Of course, in practice, the above transaction Tx1 can also be replaced with the corresponding transaction primary key ID, and this specification does not limit this.

[0114] Step S504 : when the start time of the tracking time range is within the historical period and the end time is within the current period, obtain a current incremental graph corresponding to the current period.

[0115] As mentioned above, the historical period may refer to a time range of a first preset duration from the target time forward, i.e., the end time of the historical period is the target time, and the first preset duration may be 62 days or 93 days, etc. The current period may refer to a time range of a second preset duration from the target time backward, i.e., the start time of the current period is the target time, and the second preset duration may be 24 hours or 48 hours, etc.

[0116] Since the end time of the above historical period is the same as the start time of the current period, it can be considered that the current period continues the historical period, and the two periods together constitute the effective time of this solution.

[0117] In addition, as mentioned above, the target time periodically moves forward, and the target time affects both the current period and the historical period. Therefore, it can be considered that the historical period and the current period are switched in a coordinated manner. Moreover, through the coordinated switching of the historical period and the current period, the coordinated switching of storage / computation between multiple versions of the transaction network graph can be realized, thereby optimizing the efficiency of graph data storage / computation.

[0118] For example, assuming that the real-time transactions occurring in the current period are as follows: "m1->t1", "t1->t2", then the corresponding current incremental graph can be as follows Figure 6 As shown, the two directed edges represent two real-time transactions: "m1->t1" and "t1->t2", and the nodes represent the accounts involved in the two real-time transactions.

[0119] In step S506, in the current incremental graph, funds tracking is performed on transaction Tx1 to obtain a funds tracking graph G1, in which a single edge represents a target transaction, and a single node represents an account involved in the target transaction. The target transaction includes transaction Tx1 or a previous transaction of transaction Tx1.

[0120] In one example, funds tracing for transaction Tx1 is performed using a similar method to funds tracing for the target historical transaction. This involves using transaction Tx1 as the initial transaction and performing multiple rounds of searches for previous transactions within the current incremental graph. The previous transactions found in these multiple rounds are then sequentially concatenated with transaction Tx1 to generate the funds tracing graph G1 for transaction Tx1.

[0121] by Figure 6 Taking the current incremental graph shown as an example, if transaction Tx1 is: "t1->t2", then the resulting fund tracking graph G1 is: "m1->t1->t2".

[0122] Of course, in practice, funds tracking for transaction Tx1 may also be performed based on expert experience, and this specification does not limit this.

[0123] Step S508: According to the starting account in the fund tracking graph G1, the corresponding fund tracking graph G2 is searched from the historical database.

[0124] The above starting account can also be understood as the sending account of the starting transaction in the fund tracking graph G1. Taking the above fund tracking graph G1 as an example, the corresponding starting account is "m1".

[0125] The above-mentioned historical database records multiple historical fund tracking graphs corresponding to multiple accounts. A single historical fund tracking graph is obtained by tracking funds for a transaction with the corresponding account as the receiving account in the historical stock graph corresponding to the historical period.

[0126] In one example, the historical fund tracking diagrams in the above historical database may be as follows:

[0127] m1: a->b->e->m1;

[0128] m2: a->b->e->m2;

[0129] m3: a->b->e->m3;

[0130] m4: a->b->e->m4;

[0131] Among them, the historical fund tracking graph in the first row is obtained by tracing funds for the transaction: "e->m1", the historical fund tracking graph in the second row is obtained by tracing funds for the transaction: "e->m2", the historical fund tracking graph in the third row is obtained by tracing funds for the transaction: "e->m3", and the historical fund tracking graph in the fourth row is obtained by tracing funds for the transaction: "e->m4".

[0132] In the above example, the fund tracking graph G2 found based on the starting account: "m1" is: "a->b->e->m1".

[0133] Of course, in practice, the same account may correspond to multiple historical fund tracking graphs in the historical database. For example, the content of the above historical database may also be as follows:

[0134] m1: a->b->e->m1;

[0135] m1 : a -> b -> f -> m1 ;

[0136] m2 : a -> b -> e -> m2 ;

[0137] m3 : a -> b -> e -> m3 ;

[0138] m4 : a -> b -> e -> m4 ;

[0139] In the case where the same account corresponds to multiple historical fund tracking graphs, the target fund tracking graph can be determined from the multiple historical fund tracking graphs based on expert experience. Of course, the target fund tracking graph can also be selected based on the last-in first-out rule, that is, the historical fund tracking graph in which the transaction time of each transaction is closest to the transaction Txl is selected from the multiple historical tracking graphs as the target fund tracking graph.

[0140] In step S510, the fund tracking graph G1 and the fund tracking graph G2 are fused to obtain the final fund tracking graph G'.

[0141] For example, the fund tracking graph G1 can be concatenated at the end of the fund tracking graph G2 to obtain the final fund tracking graph.

[0142] In the foregoing example, the fund tracking graph G1: "m1 -> t1 -> t2" can be concatenated at the end of the fund tracking graph: "a -> b -> e -> m1" to obtain the final fund tracking graph: "a -> b -> e -> m1 -> t1 -> t2".

[0143] The above is a description of the tracking time range falling within both the current period and the historical period. In the case where the tracking time range only falls within the current period, that is, the start time and the end time of the tracking time range are within the current period, the current increment graph corresponding to the current period can be obtained, and the fund tracking of the transaction Txl is performed in the current increment graph to obtain the fund tracking graph G1, and the fund tracking graph G1 is determined as the final fund tracking graph.

[0144] In addition, in the case where the tracking time range only falls within the historical period, that is, the start time and the end time of the tracking time range are within the historical period, the corresponding historical fund tracking graph can be queried from the historical database based on the receiving account of Txl, and then the found historical fund tracking graph is determined as the final fund tracking graph.

[0145] Figure 7 A fund tracking method is shown in one example of the present specification. Figure 7In the example, assume that the current time is 2024-01-14 15:00:01, the current period is 48 hours from the target time 2024-01-13 00:00:00, and the historical period is 62 days from the target time 2024-01-13 00:00:00.

[0146] So, if the tracking time range corresponding to the currently received fund tracking request is: 2024-01-13 10:00:00 to 2024-01-13 11:00:00, and the target transaction is: "t1->t2", then because the tracking time range only falls into the current period, in the current incremental graph, fund tracking is performed on the target transaction: "t1->t2", and the fund tracking graph: "m1->t1->t2" is obtained, and this fund tracking graph is the final fund tracking graph.

[0147] In addition, if the tracking time range corresponding to the currently received fund tracking request is: 2024-01-10 10:00:00 to 2024-01-12 10:00:00, and the target transaction is: "e->m1", then because the tracking time range only falls into the historical period, based on the receiving account m1 of the target transaction: "e->m1", the corresponding historical fund tracking graph: "a->b->e->m1" is queried from the historical database, and this historical fund tracking graph is used as the final fund tracking graph.

[0148] Finally, if the time range for the currently received funds tracing request is 2024-01-10 10:00:00 to 2024-01-13 11:00:00, and the target transaction is "t1->t2," then because the start time of the tracing time range falls within the historical period and the end time falls within the current period, i.e., the tracing time range falls within both the current and historical periods, funds tracing is first performed on the target transaction "t1->t2" in the current incremental graph, resulting in a funds tracing graph: "m1->t1->t2." Then, based on the starting account m1 of this funds tracing graph, the corresponding historical funds tracing graph: "a->b->e->m1" is retrieved from the historical database. Finally, the two funds tracing graphs are merged to obtain the final funds tracing graph: "a->b->e->m1->t1->t2."

[0149] In summary, the fund tracing method provided in the embodiments of this specification can match the corresponding version of the transaction network graph based on the request time range in the fund tracing request, and load historical and real-time graph data at the smallest granularity. This can reduce the scale of graph data calculation, thereby reducing computational time and I / O consumption, and improving the timeliness of responses. Experiments have shown that this solution can significantly improve the response speed of fund tracing requests for transaction network graphs with hotspots (nodes whose loading and computation consume a considerable amount of time). Furthermore, due to the high response speed of this solution, it is also suitable for graph computation scenarios that are sensitive to response timeliness.

[0150] Corresponding to the above-mentioned fund tracing method, an embodiment of this specification also provides a fund tracing device, such as Figure 8 As shown, the device may include:

[0151] A receiving unit 802 is configured to receive a funds tracing request, which includes a tracing time range and a first transaction;

[0152] The acquisition unit 804 is configured to acquire a current incremental graph corresponding to the current period when the start time of the tracking time range is within the historical period and the end time is within the current period, wherein a single edge represents a single transaction occurring within the current period and a single node represents an account involved in the single transaction;

[0153] A tracking unit 806 is configured to perform fund tracking on the first transaction in the current incremental graph to obtain a first fund tracking graph, wherein a single edge represents a target transaction, and a single node represents an account in the target transaction, wherein the target transaction includes the first transaction or a previous transaction thereof;

[0154] A query unit 808 is configured to query a corresponding second fund tracking graph from a historical database based on the starting account in the first fund tracking graph. The historical database contains multiple historical fund tracking graphs corresponding to multiple accounts. A single historical fund tracking graph is obtained by tracking funds for a transaction of the corresponding account in a historical stock graph corresponding to a historical period. A single edge in the historical stock graph represents a single transaction occurring within the historical period, and a single node represents an account involved in the single transaction.

[0155] The fusion unit 810 is configured to fuse the first funds tracking graph and the second funds tracking graph to obtain a final funds tracking graph.

[0156] In one embodiment, the apparatus further includes: a determining unit 812;

[0157] The query unit 808 is further configured to query a corresponding third funds tracking graph from the historical database based on the receiving account of the first transaction when the start time and the end time of the tracking time range are both within the historical period;

[0158] The determining unit 812 is configured to determine the third funds tracing graph as the final funds tracing graph.

[0159] In one embodiment, the determining unit 812 is further configured to determine the first funds tracking graph as the final funds tracking graph when the start time and the end time of the tracking time range are both within the current time period.

[0160] In one embodiment, the current time period is updated according to a first time period, and the apparatus further includes: a clipping unit 814;

[0161] The determining unit 812 is further configured to determine, when the first time period expires, based on the multiple transactions occurring within the first time period, a target subgraph corresponding to the multiple transactions from the current incremental graph;

[0162] The clipping unit 814 is configured to clip a target subgraph from the current incremental graph and store the target subgraph into a target storage space.

[0163] In one embodiment, the historical period is updated according to a second time period, and the apparatus further includes: a reading unit 816 and an updating unit 818;

[0164] a reading unit 816, configured to read the target subgraph from the target storage space when the second time period expires;

[0165] An updating unit 818, configured to update the historical stock graph based on the target subgraph;

[0166] The tracking unit 806 is further configured to perform fund tracking on the target new transaction in the updated historical stock graph to obtain a fourth fund tracking graph;

[0167] The updating unit 818 is further configured to update the history database based on the fourth funds tracking graph.

[0168] In one embodiment, the first time period is the same as the second time period.

[0169] In one embodiment, the tracking unit 806 includes:

[0170] Execution submodule 8062 is configured to iteratively perform multiple rounds of transaction searches using the target new transaction as the initial transaction. A single round of transaction searches includes: based on predetermined rules, searching the updated historical inventory graph for a previous transaction with the sending account of the current transaction as the receiving account, and updating the current transaction to the previous transaction until a search termination condition is met;

[0171] A concatenation submodule 8064 is configured to sequentially concatenate the previous transactions found and the target new transaction, and determine the concatenation result as a fourth funds tracking graph;

[0172] The updating unit 818 is specifically configured to:

[0173] Update the history database based on the concatenation results.

[0174] In one embodiment, the above-mentioned predetermined rules include at least one of a time-based rule and an amount-based rule; the time-based rule is used to indicate that the transaction time of the previous transaction is earlier than the current transaction, and the difference in transaction time is less than a predetermined threshold; the amount-based rule is used to indicate that when there are multiple previous transactions, the previous transaction with the same or similar transaction amount as the current transaction is given priority.

[0175] In one embodiment, the search end condition includes: the sending account of the previous transaction has a corresponding target funds tracking map in the history database;

[0176] The updating unit 818 includes:

[0177] A splicing submodule (not shown in the figure) is used to splice the concatenation result at the front end of the target funds tracking graph to obtain an updated funds tracking graph;

[0178] The replacement submodule (not shown in the figure) is used to replace the target funds tracking graph with the updated funds tracking graph.

[0179] In one embodiment, the current period includes the current time;

[0180] The acquisition unit 804 is further configured to acquire a set of real-time transactions, wherein the transaction time of each transaction in the set of real-time transactions occurs within a target time segment, and the target time segment is included in the current time period;

[0181] The updating unit 818 is further configured to update the current incremental graph based on each transaction in the set of real-time transactions.

[0182] The functions of the functional units of the device in the above embodiment of this specification can be implemented through the steps of the above method embodiment. Therefore, the specific working process of the device provided by one embodiment of this specification will not be repeated here.

[0183] A fund tracking device provided in one embodiment of this specification can improve the efficiency of fund tracking.

[0184] According to another embodiment, there is also provided a computer readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to execute a combination of Figure 5 The method described.

[0185] According to another embodiment, a computing device is provided, including a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the system realizes the combination of Figure 5 The method described.

[0186] The various embodiments in this specification are described in a progressive manner. Similar portions between the various embodiments can be referenced to each other. Each embodiment focuses on the differences between the other embodiments. In particular, the description of the medium or device embodiments is relatively simple because they are generally similar to the method embodiments. For relevant portions, refer to the description of the method embodiments.

[0187] The steps of the method or algorithm described in conjunction with the disclosure of this specification can be implemented in hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, which can be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, mobile hard disk, CD-ROM or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and storage medium can be located in an ASIC. In addition, the ASIC can be located in a server. Of course, the processor and storage medium can also exist in the server as discrete components.

[0188] In the 1990s, it was quite obvious to distinguish whether an improvement in a technology was in hardware (e.g., improvement in circuit structures of diodes, transistors, switches, etc.) or in software (improvement in method flow). However, as technology has evolved, many improvements in method flow today can be considered as direct improvements in hardware circuit structures. Designers almost always obtain the corresponding hardware circuit structures by programming the improved method flow into hardware circuits. Therefore, it cannot be said that an improvement in a method flow cannot be implemented by hardware entity modules. For example, a programmable logic device (PLD) (e.g., a field programmable gate array (FPGA)) is an integrated circuit whose logic function is determined by user programming of the device. A digital system is "integrated" on a PLD by the designer programming it, rather than by asking a chip manufacturer to design and fabricate a custom integrated circuit chip. Moreover, instead of manually fabricating integrated circuit chips, this programming is now mostly implemented by "logic compiler" software, which is similar to software compilers used in program development, and the original code to be compiled is written in a specific programming language, which is called a hardware description language (HDL), and there are many such languages, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., and the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should be aware that, as long as the method flow is logically programmed in the above-mentioned hardware description languages and programmed into an integrated circuit, a hardware circuit implementing the logical method flow can be easily obtained.

[0189] The controller can be implemented in any suitable manner. For example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26k20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also know that in addition to implementing the controller in a purely computer-readable program code format, the controller can be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, such a controller can be considered a hardware component, and the means for implementing various functions included therein can also be considered as structures within the hardware component. Or even, the means for implementing various functions can be considered as both a software module for implementing the method and a structure within the hardware component.

[0190] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a server system. Of course, this application does not exclude that with the future development of computer technology, the computer that implements the functions of the above embodiments may be, for example, a personal computer, a laptop computer, an in-vehicle human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0191] Although one or more embodiments of this specification provide method operation steps as described in the embodiments or flow charts, more or fewer operation steps may be included based on conventional or non-creative means. The order of steps listed in the embodiments is only one way of executing the order of many steps and does not represent the only execution order. When the device or terminal product in practice is executed, it can be executed in sequence or in parallel according to the method shown in the embodiments or the drawings (for example, a parallel processor or a multi-threaded processing environment, or even a distributed data processing environment). The term "comprise", "include" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, product or equipment including a series of elements includes not only those elements, but also includes other elements that are not clearly listed, or also includes elements inherent to such process, method, product or equipment. In the absence of more restrictions, it is not excluded that there are other identical or equivalent elements in the process, method, product or equipment including the elements. For example, if the words first, second, etc. are used to represent the name, they do not represent any particular order.

[0192] For the convenience of description, the above devices are described in terms of functions divided into various modules. Of course, when implementing one or more of the present specifications, the functions of each module can be implemented in the same or multiple software and / or hardware, or the module that implements the same function can be implemented by a combination of multiple sub-modules or sub-units, etc. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0193] The present invention is described with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0194] These computer program instructions can also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the Figure 1 function specified in the flow or flows and / or blocks Figure 1 of the block or blocks.

[0195] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the Figure 1 function specified in the flow or flows and / or blocks Figure 1 of the block or blocks.

[0196] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0197] The memory can include non-persistent memory and / or volatile memory, such as random access memory (RAM) and / or cache memory, non-volatile memory, such as read-only memory (ROM), EPROM, and / or flash memory. The memory is an example of computer-readable media.

[0198] Computer-readable media includes permanent and non-permanent, removable and non-removable media implemented in any method or technology for storage of information such as 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 disc read-only memory (CD-ROM), digital versatile disc (DVD), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage, graphene storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible to computing devices. According to the definition herein, computer-readable media does not include transitory media, such as modulated data signals and carrier waves.

[0199] Those skilled in the art will appreciate that one or more embodiments of this specification may be provided as a method, system, or computer program product. Thus, one or more embodiments of this specification may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, one or more embodiments of this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0200] One or more embodiments of this specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. One or more embodiments of this specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communications network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0201] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between the various embodiments can be referenced across them. Each embodiment focuses on the differences from the other embodiments. In particular, since the system embodiments are generally similar to the method embodiments, their description is relatively simple. For relevant parts, reference can be made to the description of the method embodiments. Throughout this specification, reference to the terms "one embodiment," "some embodiments," "examples," "specific examples," or "some examples" means that the specific features, structures, materials, or characteristics described in conjunction with that embodiment or example are included in at least one embodiment or example of this specification. In this specification, the schematic representations of these terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, those skilled in the art may combine and integrate the different embodiments or examples, and features of different embodiments or examples, described in this specification, without conflict.

[0202] The foregoing description is merely an example of one or more embodiments of this specification and is not intended to limit the one or more embodiments of this specification. Those skilled in the art will appreciate that various modifications and variations of one or more embodiments of this specification are possible. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of this specification are intended to be included within the scope of the claims.

Claims

1. A funds tracing method comprising: receiving a funds tracing request, including the tracing timeframe and first transaction; When the start time of the tracking time range is within the historical period and the end time is within the current period, obtain a current incremental graph corresponding to the current period, wherein a single edge represents a single transaction occurring within the current period, and a single node represents an account involved in the single transaction; In the current incremental graph, funds tracing is performed on the first transaction to obtain a first funds tracing graph, in which a single edge represents a target transaction and a single node represents an account in the target transaction; the target transaction includes the first transaction or a previous transaction thereof; Based on the starting account in the first fund tracking graph, a corresponding second fund tracking graph is retrieved from a historical database; the historical database contains multiple historical fund tracking graphs corresponding to multiple accounts; a single historical fund tracking graph is obtained by tracking funds for a transaction of the corresponding account in the historical stock graph corresponding to the historical period; a single edge in the historical stock graph represents a single transaction occurring within the historical period, and a single node represents an account involved in the single transaction; The first funds tracking graph and the second funds tracking graph are merged to obtain a final funds tracking graph.

2. The method according to claim 1, further comprising: When the start time and the end time of the tracking time range are both within the historical period, querying the historical database for a corresponding third funds tracking graph based on the receiving account of the first transaction; The third funds tracking graph is determined as a final funds tracking graph.

3. The method according to claim 1, further comprising: When the start time and the end time of the tracking time range are both within the current time period, the first funds tracking graph is determined as the final funds tracking graph.

4. The method according to claim 1, wherein The current time period is updated according to a first time period; the method further includes: When the first time period expires, based on a plurality of transactions occurring within the first time period, determining a target subgraph corresponding to the plurality of transactions from the current incremental graph; The target subgraph is cropped from the current incremental graph, and the target subgraph is stored in a target storage space.

5. The method according to claim 4, wherein The historical period is updated according to a second time period; the method further includes: When the second time period expires, reading the target subgraph from the target storage space; Based on the target subgraph, updating the historical stock graph; Perform fund tracking on the target new transaction in the updated historical stock graph to obtain a fourth fund tracking graph; Based on the fourth funds tracking graph, the historical database is updated.

6. The method according to claim 5, wherein: The first time period is the same as the second time period.

7. The method according to claim 5, wherein: The fund tracking of the target new transaction in the updated historical stock graph includes: Iteratively performing multiple rounds of transaction searches using the target newly added transaction as the initial transaction, wherein a single round of transaction search includes: based on predetermined rules, searching for a previous transaction in an updated historical inventory graph with the sending account of the current transaction as the receiving account, and updating the current transaction to the previous transaction until a search termination condition is met; sequentially concatenating the previous transactions found and the target new transaction, and determining the concatenation result as the fourth funds tracking graph; The updating of the historical database comprises: The history database is updated based on the concatenation result.

8. The method according to claim 7, wherein: The predetermined rule includes at least one of a time-based rule and an amount-based rule; the time-based rule is used to indicate that the transaction time of the previous transaction is earlier than the current transaction, and the difference in transaction time is less than a predetermined threshold; the amount-based rule is used to indicate that when there are multiple previous transactions, the previous transaction with the same transaction amount as the current transaction is given priority.

9. The method according to claim 7, wherein: The search end condition includes: the sending account of the previous transaction has a corresponding target funds tracking map in the historical database; The updating of the history database based on the concatenation result includes: splicing the concatenation result to the front end of the target funds tracking graph to obtain an updated funds tracking graph; The target funds tracking graph is replaced with the updated funds tracking graph.

10. The method according to claim 1, wherein The current time period includes the current time; the method further includes: Obtain a set of real-time transactions; each transaction in the set of real-time transactions occurs within a target time segment, and the target time segment is included in the current time period; The current incremental graph is updated based on each transaction in the set of real-time transactions.

11. A funds tracking device comprising: a receiving unit, configured to receive a funds tracing request, which includes a tracing time range and a first transaction; an acquisition unit, configured to, when the start time of the tracking time range is within a historical period and the end time is within a current period, acquire a current incremental graph corresponding to the current period, wherein a single edge represents a single transaction occurring within the current period and a single node represents an account involved in the single transaction; a tracking unit configured to perform fund tracking on the first transaction in the current incremental graph to obtain a first fund tracking graph, wherein a single edge represents a target transaction and a single node represents an account in the target transaction; the target transaction includes the first transaction or a previous transaction thereof; a query unit configured to query a corresponding second funds tracing graph from a historical database based on a starting account in the first funds tracing graph; the historical database recording multiple historical funds tracing graphs corresponding to multiple accounts; a single historical funds tracing graph is obtained by tracing funds for a transaction of a corresponding account in a historical stock graph corresponding to the historical period; a single edge in the historical stock graph represents a single transaction occurring within the historical period, and a single node represents an account involved in the single transaction; A fusion unit is configured to fuse the first funds tracking graph and the second funds tracking graph to obtain a final funds tracking graph.

12. A computing device comprising a memory and a processor, wherein the memory stores executable code, and when the processor executes the executable code, the method according to any one of claims 1 to 10 is implemented.