Funds association method, device and electronic device

By constructing a directed timing chart and using graph calculations, the problem of capital flow identification within the third-party payment platform is solved, and efficient marking of each fund and processing of massive transaction data is achieved.

CN113870028BActive Publication Date: 2025-02-28ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111188978.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-12
Publication Date
2025-02-28
Estimated Expiration
2041-10-12

AI Technical Summary

Technical Problem

It is difficult for the prior art to efficiently mark every fund within a third-party payment platform to identify the flow of each fund, especially when processing massive transaction data.

Method used

By obtaining at least two transaction data, a directed timing chart is constructed, and the advantages of graph calculations are used to process massive transaction data efficiently, and the outflow funds in the target transaction data are marked, and the marking results are sent to the node corresponding to the receipt user identification.

Benefits of technology

It has achieved efficient marking of each fund in a third-party payment platform, identifying the flow of each fund, and relying on the advantages of graph calculation, it can process massive transaction data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113870028B_ABST
    Figure CN113870028B_ABST
Patent Text Reader

Abstract

The embodiments of this specification propose a method, device and electronic device for associating funds, wherein in the above-mentioned method for associating funds, after the server obtains at least two transaction data, it uses the user identification and payment tool in the transaction data as nodes, and the transaction sequence number in the transaction data as edges, and constructs a directed time sequence graph according to the order of transaction times in the transaction data. Then, the starting node of the directed time sequence graph is obtained, and the current target transaction data to be marked is obtained from the transaction data associated with the starting node according to the order of transaction times. Finally, the outflow funds in the above-mentioned target transaction data are marked, and the fund marking result of the target transaction data is sent to the node corresponding to the receiving user identification in the above-mentioned target transaction data, so that each fund in the third-party payment platform can be marked to identify the flow direction of each fund, and relying on the advantages of graph computing, massive transaction data can be efficiently processed.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The embodiments of this specification relate to the field of Internet technology, and in particular, to a method, device and electronic device for associating funds. [Background technology]

[0002] Funds tracking is a tracing technology that can be based on certain rules. By merging and disassembling each fund in each account, it can connect the fund behaviors that occurred successively, thereby tracing the source of the funds and visually presenting the flow trajectory of the funds.

[0003] A large amount of funds flow through the third-party payment platform every day. These funds will pass through different products and services. Through funds, the relationship between various products and / or scenarios can be connected in series, and an overall view of the global funds in the third-party payment platform can be obtained. From this overall view, it can be clearly seen from which channel a certain amount of funds (for example, funds recharged from a bank card) flows into the Ant system, and then flows through which products or scenarios (for example, subscription, consumption or repayment), etc., and finally stays in the third-party payment platform or flows out to the bank card. The time difference between the funds flowing into the third-party payment platform and flowing out of the third-party payment platform can also be analyzed to obtain the length of stay of each amount of funds.

[0004] In order to obtain an overall view of all funds in the third-party payment platform, it is necessary to mark each fund in the third-party payment platform to identify the flow of each fund. [Summary of the invention]

[0005] The embodiments of this specification provide a method, device and electronic device for associating funds to achieve labeling of each fund in a third-party payment platform to identify the flow of each fund, and rely on the advantages of graph computing to efficiently process massive transaction data.

[0006] In a first aspect, an embodiment of the present specification provides a method for associating funds, comprising: obtaining at least two transaction data, wherein the at least two transaction data include a transaction time, a user identifier, a payment tool, an amount of outflow funds and a transaction sequence number; wherein the user identifier includes a recipient user identifier and a payee user identifier; taking the user identifier and the payment tool as nodes, and taking the transaction sequence numbers as edges, and according to the sequence of the transaction times, constructing a directed time sequence graph; obtaining a starting node of the directed time sequence graph, and obtaining the current target transaction data to be marked from the transaction data associated with the starting node in the sequence of the transaction times; wherein the starting node is a node corresponding to the payee user identifier in the target transaction data; marking the outflow funds in the target transaction data, and sending the fund marking result of the target transaction data to the node corresponding to the recipient user identifier in the target transaction data.

[0007] In the above-mentioned method for associating funds, after the server obtains at least two pieces of transaction data, it uses the user identifier and payment tool in the above-mentioned transaction data as nodes, and the transaction sequence number in the above-mentioned transaction data as edges, and constructs a directed time sequence graph according to the order of transaction times in the above-mentioned transaction data. Then, the starting node of the above-mentioned directed time sequence graph is obtained, and the current target transaction data to be marked is obtained from the transaction data associated with the above-mentioned starting node according to the order of transaction times. Finally, the outflow funds in the above-mentioned target transaction data are marked, and the fund marking result of the target transaction data is sent to the node corresponding to the receiving user identifier in the above-mentioned target transaction data, so that each fund in the third-party payment platform can be marked to identify the flow direction of each fund, and relying on the advantages of graph computing, massive transaction data can be efficiently processed.

[0008] In one possible implementation, after sending the funds marking result of the target transaction data to the node corresponding to the recipient user identifier in the target transaction data, it also includes: saving the funds marking result of the target transaction data in the historical asset list of the node corresponding to the recipient user identifier.

[0009] In one possible implementation, after sending the funds marking result of the target transaction data to the node corresponding to the recipient user identifier in the target transaction data, it also includes: determining whether the node corresponding to the recipient user identifier has become the starting node of the directed timing graph; if so, executing the step of obtaining the target transaction data to be marked currently in the starting node in the order of transaction time and its subsequent steps.

[0010] In one possible implementation method, after determining whether the node corresponding to the payment user identifier has become the starting node of the directed timing graph, it also includes: if the node corresponding to the payment user identifier is not the starting node of the directed timing graph, instructing the node corresponding to the payment user identifier to wait for receiving the funds marking result.

[0011] In one possible implementation, obtaining the starting node of the directed timing graph includes: determining whether there is a first type of transaction data in the transaction data associated with the first node of the directed timing graph; wherein the first type of transaction data includes transaction data with the first node as the node corresponding to the payment user identifier; if not, determining the first node as the starting node of the directed timing graph; or, if there is a first type of transaction data, but the minimum value of the transaction time in the first type of transaction data is greater than the maximum value of the transaction time in the second type of transaction data, determining the first node as the starting node of the directed timing graph; wherein the second type of transaction data includes transaction data with the first node as the node corresponding to the payment user identifier.

[0012] In one possible implementation, the marking of the outflow funds in the target transaction data includes: obtaining the transaction amount of the outflow funds in the target transaction data, and accumulating the amount of inflow funds in the historical asset list of the starting node in a predetermined order until the accumulated amount of inflow funds is equal to the transaction amount; adding identifiers for the outflow funds and the accumulated inflow funds in the target transaction data, and setting the parent node of the identifier of the outflow funds to point to the identifier of the accumulated inflow funds.

[0013] In one possible implementation, the obtaining of at least two pieces of transaction data includes: obtaining at least two pieces of transaction data within the current unit time; after constructing the directed time sequence graph, it also includes: associating the fund marking result of the previous unit time of the current unit time to the historical asset list of the node of the directed time sequence graph.

[0014] In a second aspect, an embodiment of the present specification provides a fund association device, comprising: an acquisition module, used to acquire at least two transaction data, wherein the at least two transaction data include a transaction time, a user identifier, a payment tool, an amount of outflow funds and a transaction sequence number; wherein the user identifier includes a receiving user identifier and a paying user identifier; a composition module, used to construct a directed time sequence graph with the user identifier and the payment tool as nodes and the transaction sequence number as edges according to the sequence of the transaction times; the acquisition module is also used to acquire the starting node of the directed time sequence graph, and acquire the current target transaction data to be marked from the transaction data associated with the starting node according to the sequence of the transaction times; wherein the starting node is the node corresponding to the paying user identifier in the target transaction data; a marking module, used to mark the outflow funds in the target transaction data; a sending module, used to send the fund marking result of the target transaction data to the node corresponding to the receiving user identifier in the target transaction data.

[0015] In one possible implementation method, the device also includes: a saving module, which is used to save the funds marking result of the target transaction data in the historical asset list of the node corresponding to the recipient user identifier after the sending module sends the funds marking result of the target transaction data to the node corresponding to the recipient user identifier in the target transaction data.

[0016] In one possible implementation, the device also includes: a judgment module, which is used to judge whether the node corresponding to the payment user identifier has become the starting node of the directed timing graph after the sending module sends the funds marking result of the target transaction data to the node corresponding to the payment user identifier in the target transaction data; the acquisition module is also used to execute the step of acquiring the target transaction data to be marked in the starting node according to the chronological order of transaction time when the node corresponding to the payment user identifier has become the starting node of the directed timing graph.

[0017] In one possible implementation, the device also includes: an indication module, which is used to indicate the node corresponding to the payment user identifier to wait for receiving the funds marking result if the node corresponding to the payment user identifier is not the starting node of the directed timing graph after the judgment module determines whether the node corresponding to the payment user identifier has become the starting node of the directed timing graph.

[0018] In one possible implementation, the acquisition module is specifically used to determine whether there is a first type of transaction data in the transaction data associated with the first node of the directed timing graph; wherein the first type of transaction data includes transaction data with the first node as the node corresponding to the payment user identifier; if not, the first node is determined to be the starting node of the directed timing graph; or, if the first type of transaction data exists, but the minimum value of the transaction time in the first type of transaction data is greater than the maximum value of the transaction time in the second type of transaction data, the first node is determined to be the starting node of the directed timing graph; wherein the second type of transaction data includes transaction data with the first node as the node corresponding to the payment user identifier.

[0019] In one possible implementation, the marking module includes: an amount acquisition submodule, used to obtain the transaction amount of outflow funds in the target transaction data; an accumulation submodule, used to accumulate the amount of inflow funds in the historical asset list of the starting node in a predetermined order until the accumulated amount of inflow funds is equal to the transaction amount; an identifier adding submodule, used to add identifiers to the outflow funds and the accumulated inflow funds in the target transaction data, and set the parent node of the identifier of the outflow funds to point to the identifier of the accumulated inflow funds.

[0020] In one possible implementation, the device also includes: an association module; the acquisition module is specifically used to obtain at least two transaction data within the current unit time; the association module is used to associate the fund marking result of the previous unit time of the current unit time with the historical asset list of the node of the directed time graph after the composition module constructs the directed time graph.

[0021] In a third aspect, an embodiment of the present specification provides an electronic device, comprising: at least one processor; and at least one memory communicatively connected to the processor, wherein: the memory stores program instructions executable by the processor, and the processor calls the program instructions to execute the method provided in the first aspect.

[0022] In a fourth aspect, an embodiment of the present specification provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions enable the computer to execute the method provided in the first aspect.

[0023] It should be understood that the second to fourth aspects of the embodiments of this specification are consistent with the technical solutions of the first aspect of the embodiments of this specification, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar and will not be repeated here.

Brief Description of the Drawings

[0024] In order to more clearly illustrate the technical solutions of the embodiments of this specification, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0025] Figure 1 A flowchart of a method for associating funds provided for one embodiment of this specification;

[0026] Figure 2 A flowchart of a method for associating funds provided in another embodiment of the present specification;

[0027] Figure 3 A schematic diagram of a method for associating funds provided in yet another embodiment of this specification;

[0028] Figure 4 A schematic diagram of a method for associating funds provided in yet another embodiment of this specification;

[0029] Figure 5 A schematic diagram of the structure of a fund association device provided for one embodiment of this specification;

[0030] Figure 6A schematic diagram of the structure of a fund association device provided in another embodiment of the present specification;

[0031] Figure 7 A schematic diagram of the structure of an electronic device provided in one embodiment of this specification. [Specific implementation method]

[0032] In order to better understand the technical solution of this specification, the embodiments of this specification are described in detail below with reference to the accompanying drawings.

[0033] It should be clear that the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this specification.

[0034] The terms used in the embodiments of this specification are only for the purpose of describing specific embodiments, and are not intended to limit this specification. The singular forms "a", "said" and "the" used in the embodiments of this specification and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings.

[0035] Funds tracking is a tracing technology that can be based on certain rules. By merging and disassembling each fund in each account, it can connect the fund behaviors that occurred successively, thereby tracing the source of the funds and visually presenting the flow trajectory of the funds.

[0036] In order to obtain an overall view of all funds in the third-party payment platform, it is necessary to mark each fund in the third-party payment platform to identify the flow of each fund.

[0037] Based on the above requirements, the embodiments of this specification provide a method for associating funds, which tags each fund in the third-party payment platform based on timing diagram calculation, and can efficiently associate each fund in the third-party payment platform.

[0038] Among them, graph computing is an abstract expression of a "graph" structure of the real world based on "graph theory", as well as a computing model based on this data structure. The timing graph is developed based on the directed graph. Each edge of the timing graph has a time attribute. During the calculation process, the timing graph needs to be calculated strictly according to the time order of the edges.

[0039] Figure 1 The flowchart of the method for associating funds provided in one embodiment of the present specification, the method for associating funds can be applied to a server, such as Figure 1 As shown, the methods of linking the above funds may include:

[0040] Step 102, obtaining at least two pieces of transaction data, wherein the at least two pieces of transaction data may include transaction time, user identification, payment tool, amount of outflow funds and transaction sequence number.

[0041] The user identification may include a payment receiving user identification and a payment paying user identification; the payment tool may be a payment tool used by the paying user during the transaction, such as account balance, bank card or credit payment.

[0042] Step 104, constructing a directed time sequence graph based on the sequence of the transaction times, with the user identification and the payment tool as nodes and the transaction sequence number as edges.

[0043] Step 106, obtaining the starting node of the directed time sequence graph.

[0044] The starting node is a node corresponding to the payment user identifier in the target transaction data.

[0045] Specifically, obtaining the starting node of the directed sequence graph may be: determining whether there is a first type of transaction data in the transaction data associated with the first node of the directed sequence graph; wherein the first type of transaction data includes transaction data with the first node as the node corresponding to the payment recipient user identifier;

[0046] If it does not exist, the first node is determined to be the starting node of the above-mentioned directed timing graph; or, if the first type of transaction data exists, but the minimum value of the transaction time in the first type of transaction data is greater than the maximum value of the transaction time in the second type of transaction data, the first node is determined to be the starting node of the directed timing graph; wherein the second type of transaction data includes transaction data with the first node as the node corresponding to the payment user identifier.

[0047] That is to say, for the first node in the directed timing graph, if the first node does not have transaction data with the first node as the corresponding node of the payment user identifier, then the first node is determined to be the starting node of the directed timing graph; if the first node has both transaction data with the first node as the corresponding node of the payment user identifier and transaction data with the first node as the corresponding node of the payment user identifier, then when the earliest collection time in the first node is later than the latest payment time of the first node, the first node can also be determined to be the starting node of the directed timing graph.

[0048] Step 108, obtaining the target transaction data to be marked from the transaction data associated with the above starting node in the order of transaction time.

[0049] Step 110, marking the outflow funds in the above target transaction data, and sending the fund marking result of the target transaction data to the node corresponding to the payment recipient user identifier in the above target transaction data.

[0050] Specifically, marking the outflow funds in the above-mentioned target transaction data can be as follows: obtaining the transaction amount of the outflow funds in the target transaction data, and accumulating the amount of the inflow funds in the historical asset list of the above-mentioned starting node in a predetermined order until the accumulated amount of the inflow funds is equal to the above-mentioned transaction amount; adding identifiers to the outflow funds and the accumulated inflow funds in the above-mentioned target transaction data, and setting the parent node of the identifier of the above-mentioned outflow funds to point to the identifier of the above-mentioned accumulated inflow funds.

[0051] The predetermined order may be from front to back or from back to front according to the transaction time. This embodiment does not limit the predetermined order.

[0052] Furthermore, after step 110, the following steps may also be included:

[0053] Step 112, determine whether the node corresponding to the payment receiving user ID has become the starting node of the directed time sequence graph. If yes, return to step 108; if the node corresponding to the payment receiving user ID is not the starting node of the directed time sequence graph, execute step 114.

[0054] Step 114, instructing the node corresponding to the above payment recipient user ID to wait for receiving the funds marking result.

[0055] In this embodiment, after step 114, if the node corresponding to the payment receiving user identifier receives the funds marking result again, the process returns to step 112.

[0056] In this embodiment, after the funds involved in the transaction data associated with all nodes of the directed time sequence graph have been marked, the server can export and save the fund marking results of all nodes of the directed time sequence graph.

[0057] In specific implementation, the server can obtain the end point of the above-mentioned directed time sequence graph. After marking the funds involved in the transaction data associated with the end point of the above-mentioned directed time sequence graph, the server can determine that the funds involved in the transaction data associated with all nodes of the above-mentioned directed time sequence graph have been marked.

[0058] The server may obtain the end point of the directed sequence graph by: determining whether the transaction data associated with the second node of the directed sequence graph includes transaction data of the third type; wherein the transaction data of the third type includes transaction data corresponding to the node with the second node as the payment user identifier;

[0059] If not, and the second node has received the fund marking result of the fourth type of transaction data, the server may determine that the second node is the end point of the directed time series graph; wherein, the fourth type of transaction data includes transaction data corresponding to the node with the second node as the receiving user identifier.

[0060] In the above fund association method, after the server obtains at least two pieces of transaction data, using the user identifier and payment tool in the transaction data as nodes, and using the transaction serial number in the transaction data as edges, a directed time series graph is constructed according to the chronological order of the transaction times in the transaction data. Then, the starting node of the directed time series graph is obtained, and the target transaction data to be marked currently is obtained from the transaction data associated with the starting node in chronological order. Finally, the out-flowing funds in the target transaction data are marked, and the fund marking result of the target transaction data is sent to the node corresponding to the receiving user identifier in the target transaction data, so that each fund in the third-party payment platform can be marked to identify the flow direction of each fund, and relying on the advantages of graph computing, a large amount of transaction data can be processed efficiently.

[0061] Figure 2 The flowchart of the fund association method provided by another embodiment of this specification is as Figure 2 shown. In the embodiment shown in this specification Figure 1 after step 110, it may further include:

[0062] Step 202, save the fund marking result of the target transaction data in the historical asset list of the node corresponding to the receiving user identifier.

[0063] Next, in combination with Figure 3 an example is given to illustrate the fund association method provided by the embodiment of this specification. Figure 3 The schematic diagram of the fund association method provided by still another embodiment of this specification.

[0064] Refer to Figure 3 Suppose there are currently 3 pieces of transaction data, namely A pays B, B pays C, and B pays D. Among them, the transaction times are t1 < t2 <= t3. The transaction directed graph formed by these 3 pieces of transaction data is as Figure 3 shown in the upper part, which involves 3 edges, namely A->B, B->C, and B->D, and involves 4 nodes, namely A, B, C, and D.

[0065] Next, according to the method of distributed graph construction, the 4 nodes A, B, C, and D are distributed on 4 computing nodes, namely computing node 1, computing node 2, computing node 3, and computing node 4, as Figure 3 shown in the lower part.

[0066] After the graph calculation is started, the server obtains the starting node of the graph calculation (for example, node A). The method of obtaining the starting node can refer to this specification. Figure 1 The description of step 106 of the illustrated embodiment will not be repeated here.

[0067] The server marks the outflow funds in the transaction data associated with node A, and then sends the fund marking result to the node corresponding to the receiving user ID (for example: node B). For the specific fund marking method, please refer to this manual Figure 1 The description of steps 108 to 110 of the illustrated embodiment will not be repeated here.

[0068] After sending the fund marking result to node B, the server saves the fund marking result in the historical asset list of node B, and then determines whether node B has become the starting node.

[0069] Next, if node B has become the starting node, the server marks the outflow funds in the transaction data associated with node B, and then sends the funds marking result to the node corresponding to the receiving user ID, for example: node C or node D; if node B is not the starting node, the server instructs node B to continue waiting to receive the funds marking result.

[0070] After all outflow funds in the transaction data associated with all nodes in the graph have been marked, the server can export and save the fund marking results of all nodes.

[0071] In addition, this manual Figure 1 and Figure 2 In the illustrated embodiment, obtaining at least two pieces of transaction data may include: obtaining at least two pieces of transaction data within a current unit time. Specifically, the current unit time may be the current day or the current hour, and the embodiment does not limit the length of the current unit time.

[0072] In this way, after constructing the directed time sequence graph, the fund marking result of the previous unit time of the current unit time can also be associated with the historical asset list of the node of the directed time sequence graph.

[0073] Figure 4 This is a schematic diagram of a method for associating funds provided in another embodiment of this specification. This embodiment is described by taking the current unit time length as the current day as an example. Specifically, Figure 4 As shown, the methods of linking the above funds may include:

[0074] Step 401, obtain the transaction data of day T and the fund marking result of day T-1.

[0075] Step 402, split the transaction data of day T into hot nodes.

[0076] Specifically, in the embodiments of this specification, the vertices of the directed time sequence graph are aggregated according to the granularity of the user identification and the payment instrument. In the actual transaction process, some users have a large number of collection and / or expenditure transactions, for example, reaching more than one million. Then this node will become a hot node in the process of graph calculation and become a global computing bottleneck. Therefore, it is necessary to optimize the hot node. The hard splitting method can be used to force the hot nodes in the directed time sequence graph to be split into a predetermined number of nodes and distinguish them, so as to prevent the emergence of hot nodes. Among them, the size of the above-mentioned predetermined number can be set by itself during the specific implementation, and this embodiment does not limit the size of the above-mentioned predetermined number.

[0077] Step 403, based on the transaction data on day T, with the user identifier and the payment tool as nodes, the transaction sequence number as edges, and the order of the transaction times, a directed time series graph is constructed.

[0078] Step 404, associate the fund marking result of day T-1 with the historical asset list of the node of the directed time series graph.

[0079] Step 405, graph calculation is started, and the calculation process of the directed time sequence graph is cyclically executed, which may specifically include:

[0080] Step 4051, obtaining the starting node of the directed sequence graph.

[0081] Step 4052, obtaining the target transaction data to be marked from the transaction data associated with the above-mentioned starting node in the order of transaction time.

[0082] Step 4053, marking the outflow funds in the above target transaction data, and sending the fund marking result of the target transaction data to the node corresponding to the payment recipient user identifier in the above target transaction data.

[0083] Step 4054, iterate the next node.

[0084] The specific calculation process of the above directed timing diagram can be found in this manual Figure 1 and Figure 2 The description of the illustrated embodiment will not be repeated here.

[0085] Step 406, after the calculation is completed, the fund marking results are exported and saved.

[0086] Step 407, wait for the scheduling of T+1 day, and continue to execute step 401.

[0087] The fund association method provided in the embodiments of this specification forms a directed graph with a time-series relationship from massive transaction data, thereby converting fund tracking into a time-series graph computing model, which can give full play to the advantages of graph computing. Moreover, relying on the advantages of distributed computing of graph computing, it can efficiently process massive transaction data.

[0088] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0089] Figure 5 A schematic diagram of a fund association device provided in one embodiment of this specification, such as Figure 5 As shown, the above-mentioned fund association device may include: an acquisition module 51, a composition module 52, a marking module 53 and a sending module 54;

[0090] The acquisition module 51 is used to acquire at least two pieces of transaction data, wherein the at least two pieces of transaction data include the transaction time, user identification, payment tool, amount of outflow funds and transaction sequence number; wherein the user identification includes a receiving user identification and a paying user identification;

[0091] A graph construction module 52, configured to construct a directed time sequence graph with the user identifier and the payment tool as nodes and the transaction sequence number as edges according to the sequence of the transaction moments;

[0092] The acquisition module 51 is further used to acquire the starting node of the directed time sequence graph, and acquire the target transaction data to be marked from the transaction data associated with the starting node in the order of transaction time; wherein the starting node is the node corresponding to the payment user identifier in the target transaction data;

[0093] A marking module 53, used for marking the outflow funds in the above target transaction data;

[0094] The sending module 54 is used to send the fund marking result of the above target transaction data to the node corresponding to the payment user identifier in the above target transaction data.

[0095] Figure 5 The embodiment shown provides a fund association device that can be used to implement the present description Figure 1 The technical solution of the method embodiment shown, its implementation principle and technical effects can be further referred to the relevant description in the method embodiment.

[0096] Figure 6 A schematic diagram of a fund association device provided in another embodiment of this specification, and Figure 5 The associated means of funds shown are compared to Figure 6 The funds association device shown may also include: a storage module 55;

[0097] The saving module 55 is used to save the fund marking result of the above target transaction data in the historical asset list of the node corresponding to the above payment user identifier after the sending module 54 sends the fund marking result of the above target transaction data to the node corresponding to the payment user identifier in the above target transaction data.

[0098] Furthermore, the fund association device may further include: a judgment module 56;

[0099] A judging module 56, configured to judge whether the node corresponding to the payment receiving user identifier has become the starting node of the directed time sequence graph after the sending module 54 sends the fund marking result of the target transaction data to the node corresponding to the payment receiving user identifier in the target transaction data;

[0100] The acquisition module 51 is also used to execute the step of acquiring the target transaction data to be marked in the above starting node according to the order of transaction time when the node corresponding to the above payment user identification has become the starting node of the directed time sequence graph.

[0101] Furthermore, the fund association device may further include: an indication module 57;

[0102] The indication module 57 is used to indicate the node corresponding to the above-mentioned payment user identifier to wait for receiving the fund marking result if the node corresponding to the above-mentioned payment user identifier is not the starting node of the directed timing graph after the judgment module 56 judges whether the node corresponding to the above-mentioned payment user identifier has become the starting node of the directed timing graph.

[0103] In this embodiment, the acquisition module 51 is specifically used to determine whether there is a first type of transaction data in the transaction data associated with the first node of the directed timing graph; wherein the first type of transaction data includes transaction data with the first node as the node corresponding to the payment user identifier; if not, the first node is determined to be the starting node of the above-mentioned directed timing graph; or, if the first type of transaction data exists, but the minimum value of the transaction time in the first type of transaction data is greater than the maximum value of the transaction time in the second type of transaction data, then the first node is determined to be the starting node of the above-mentioned directed timing graph; wherein the second type of transaction data includes transaction data with the first node as the node corresponding to the payment user identifier.

[0104] The marking module 53 may include: an amount acquisition submodule 531, an accumulation submodule 532, and an identification adding submodule 533;

[0105] The amount acquisition submodule 531 is used to acquire the transaction amount of the outflow funds in the above target transaction data;

[0106] The accumulation submodule 532 is used to accumulate the amount of inflow funds in the historical asset list of the above-mentioned starting node in a predetermined order until the accumulated amount of inflow funds is equal to the above-mentioned transaction amount;

[0107] The identifier adding submodule 533 is used to add identifiers to the outflow funds and the accumulated inflow funds in the target transaction data, and set the parent node of the identifier of the outflow funds to point to the identifier of the accumulated inflow funds.

[0108] Furthermore, the fund association device may further include: an association module 58;

[0109] The acquisition module 51 is specifically used to acquire at least two pieces of transaction data within the current unit time length;

[0110] The association module 58 is used to associate the fund marking result of the previous unit time length of the current unit time length with the historical asset list of the node of the directed time sequence graph after the graphing module 52 constructs the directed time sequence graph.

[0111] Figure 6 The embodiment shown provides a fund association device that can be used to implement the present description. Figure 1 to Figure 4 The technical solution of the method embodiment shown, its implementation principle and technical effects can be further referred to the relevant description in the method embodiment.

[0112] Figure 7 A schematic diagram of the structure of an electronic device provided in one embodiment of this specification, such as Figure 7 As shown, the electronic device may include at least one processor; and at least one memory connected to the processor in communication, wherein: the memory stores program instructions executable by the processor, and the processor calls the program instructions to execute the instructions of this specification. Figure 1 to Figure 4 The illustrated embodiment provides a method for associating funds.

[0113] The electronic device may be a server, such as a graph computing server. The server may be arranged in the cloud. This embodiment does not limit the form of the electronic device.

[0114] Figure 7 A block diagram of an exemplary electronic device suitable for implementing the embodiments of the present description is shown. Figure 7The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of this specification.

[0115] like Figure 7 As shown, the electronic device is in the form of a general computing device. The components of the electronic device may include, but are not limited to: one or more processors 410, a communication interface 420, a memory 430, and a communication bus 440 connecting different components (including the memory 430, the communication interface 420 and the processing unit 410).

[0116] The communication bus 440 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, or a local bus using any of a variety of bus structures. For example, the communication bus 440 may include, but is not limited to, an industry standard architecture (ISA) bus, a micro channel architecture (MAC) bus, an enhanced ISA bus, a video electronics standards association (VESA) local bus, and a peripheral component interconnection (PCI) bus.

[0117] Electronic devices typically include a variety of computer system readable media. These media can be any available media that can be accessed by the electronic device, including volatile and non-volatile media, removable and non-removable media.

[0118] The memory 430 may include a computer system readable medium in the form of a volatile memory, such as a random access memory (RAM) and / or a cache memory. The memory 430 may include at least one program product having a set (e.g., at least one) of program modules configured to execute the instructions of the present invention. Figure 1 to Figure 4 Functionality of the illustrated embodiment.

[0119] A program / utility having a set (at least one) of program modules may be stored in the memory 430, such program modules including - but not limited to - an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include the implementation of a network environment. The program modules generally execute the instructions in this specification. Figure 1 to Figure 4 The functions and / or methods in the described embodiments.

[0120] The processor 410 executes various functional applications and data processing by running the programs stored in the memory 430, such as implementing the present specification. Figure 1 to Figure 4 The illustrated embodiment provides a method for associating funds.

[0121] The embodiment of the present specification provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, wherein the computer instructions enable the computer to execute the present specification. Figure 1 to Figure 4 The illustrated embodiment provides a method for associating funds.

[0122] The above-mentioned non-transient computer-readable storage medium can adopt any combination of one or more computer-readable media. Computer-readable media can be computer-readable signal media or computer-readable storage media. Computer-readable storage media can be, for example, - but not limited to - electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any combination of the above. More specific examples (non-exhaustive lists) of computer-readable storage media include: electrical connections with one or more wires, portable computer disks, hard disks, random access memories (RAM), read-only memories (read only memory, ROM), erasable programmable read-only memories (erasable programmable read only memory, EPROM) or flash memory, optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In this document, computer-readable storage media can be any tangible medium containing or storing programs, which can be used by instruction execution systems, devices or devices or used in combination with them.

[0123] Computer-readable signal media may include a data signal propagated in baseband or as part of a carrier wave, which carries a computer-readable program code. Such propagated data signals may take a variety of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0124] The program code embodied on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wire, optical cable, radio frequency (RF), etc., or any suitable combination of the foregoing.

[0125] Computer program code for performing the operations of the present specification may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0126] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0127] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of this specification. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, unless they are contradictory.

[0128] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the description of this specification, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.

[0129] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a custom logical function or process, and the scope of the preferred embodiments of this specification includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of this specification belong.

[0130] The word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to determining" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)", depending on the context.

[0131] It should be noted that the terminals involved in the embodiments of this specification may include but are not limited to personal computers (PCs), personal digital assistants (PDAs), wireless handheld devices, tablet computers, mobile phones, MP3 players, MP4 players, etc.

[0132] In the several embodiments provided in this specification, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, 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 through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0133] In addition, each functional unit in each embodiment of this specification may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0134] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform some steps of the method described in each embodiment of this specification. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, and other media that can store program codes.

[0135] The above description is only a preferred embodiment of this specification and is not intended to limit this specification. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this specification should be included in the scope of protection of this specification.

Claims

1. A method for associating funds, comprising: Acquire at least two pieces of transaction data, wherein the at least two pieces of transaction data include a transaction time, a user ID, a payment instrument, an amount of outflow funds, and a transaction sequence number; wherein the user ID includes a receiving user ID and a paying user ID; Taking the user identification and payment tool as nodes and the transaction sequence number as edges, a directed time sequence graph is constructed according to the sequence of the transaction moments; Obtaining the starting node of the directed time sequence graph, and obtaining the current target transaction data to be marked from the transaction data associated with the starting node in the order of transaction time; wherein the starting node is the node corresponding to the payment user identifier in the target transaction data; Marking the outflow funds in the target transaction data, and sending the fund marking result of the target transaction data to the node corresponding to the payment receiving user identifier in the target transaction data; Wherein, the obtaining of the starting node of the directed timing graph includes: Determine whether there is a first type of transaction data in the transaction data associated with the first node of the directed time sequence graph; wherein the first type of transaction data includes transaction data with the first node as the node corresponding to the payment recipient user identifier; If it does not exist, the first node is determined to be the starting node of the directed timing graph; or, if the first type of transaction data exists, but the minimum transaction time in the first type of transaction data is greater than the maximum transaction time in the second type of transaction data, the first node is determined to be the starting node of the directed timing graph; wherein the second type of transaction data includes transaction data with the first node as the node corresponding to the payment user identifier.

2. The method according to claim 1, wherein: After sending the funds marking result of the target transaction data to the node corresponding to the payment user identifier in the target transaction data, the method further includes: The fund marking result of the target transaction data is stored in the historical asset list of the node corresponding to the payment user identifier.

3. The method according to claim 1, wherein: After sending the funds marking result of the target transaction data to the node corresponding to the payment user identifier in the target transaction data, the method further includes: Determine whether the node corresponding to the payment receiving user identifier has become the starting node of the directed time sequence graph; If yes, the step of acquiring the target transaction data to be marked in the starting node in the order of transaction time and its subsequent steps are executed.

4. The method according to claim 3, wherein: After determining whether the node corresponding to the payment receiving user identifier has become the starting node of the directed time sequence graph, the method further includes: If the node corresponding to the payment receiving user identifier is not the starting node of the directed time sequence graph, the node corresponding to the payment receiving user identifier is instructed to wait for receiving the funds marking result.

5. The method according to claim 1, wherein: The marking of the outflow funds in the target transaction data includes: Obtaining the transaction amount of the outflow funds in the target transaction data, and accumulating the amount of the inflow funds in the historical asset list of the starting node in a predetermined order until the accumulated amount of the inflow funds is equal to the transaction amount; Add identifiers for the outflow funds and the accumulated inflow funds in the target transaction data, and set the parent node of the identifier of the outflow funds to point to the identifier of the accumulated inflow funds.

6. The method according to any one of claims 1 to 5, wherein: The obtaining of at least two pieces of transaction data includes: Get at least two transaction data within the current unit time; After constructing the directed timing graph, the method further includes: The fund marking result of the previous unit time length of the current unit time length is associated with the historical asset list of the node of the directed time sequence graph.

7. A fund association device, comprising: An acquisition module, used to acquire at least two pieces of transaction data, wherein the at least two pieces of transaction data include a transaction time, a user identifier, a payment instrument, an amount of outflow funds, and a transaction sequence number; wherein the user identifier includes a receiving user identifier and a paying user identifier; A graph construction module, used to construct a directed time sequence graph based on the sequence of the transaction moments, using the user identifier and the payment tool as nodes and the transaction sequence number as edges; The acquisition module is further used to acquire the starting node of the directed time sequence graph, and acquire the current target transaction data to be marked from the transaction data associated with the starting node in the order of transaction time; wherein the starting node is the node corresponding to the payment user identifier in the target transaction data; A marking module, used for marking the outflow funds in the target transaction data; A sending module, used to send the fund marking result of the target transaction data to the node corresponding to the payment user identifier in the target transaction data; The acquisition module is specifically used to determine whether there is a first type of transaction data in the transaction data associated with the first node of the directed timing graph; wherein the first type of transaction data includes transaction data with the first node as the node corresponding to the payment user identifier; if not, the first node is determined to be the starting node of the directed timing graph; or, if the first type of transaction data exists, but the minimum value of the transaction time in the first type of transaction data is greater than the maximum value of the transaction time in the second type of transaction data, the first node is determined to be the starting node of the directed timing graph; wherein the second type of transaction data includes transaction data with the first node as the node corresponding to the payment user identifier.

8. The device according to claim 7, wherein: Also includes: The saving module is used to save the fund marking result of the target transaction data in the historical asset list of the node corresponding to the payment user identifier after the sending module sends the fund marking result of the target transaction data to the node corresponding to the payment user identifier in the target transaction data.

9. The device according to claim 7, wherein: Also includes: A judgment module, configured to judge whether the node corresponding to the payment receiving user identifier has become the starting node of the directed time sequence graph after the sending module sends the fund marking result of the target transaction data to the node corresponding to the payment receiving user identifier in the target transaction data; The acquisition module is also used to execute the step of acquiring the target transaction data to be marked in the starting node according to the sequence of transaction times when the node corresponding to the payment user identifier has become the starting node of the directed time sequence graph.

10. The device according to claim 9, wherein: Also includes: An indication module is used to indicate the node corresponding to the payment user identifier to wait for receiving the funds marking result if the node corresponding to the payment user identifier is not the starting node of the directed timing graph after the judgment module determines whether the node corresponding to the payment user identifier has become the starting node of the directed timing graph.

11. The device according to claim 7, wherein: The marking module comprises: An amount acquisition submodule is used to acquire the transaction amount of outflow funds in the target transaction data; An accumulation submodule, used to accumulate the amount of inflow funds in the historical asset list of the starting node in a predetermined order until the accumulated amount of inflow funds is equal to the transaction amount; The identifier adding submodule is used to add identifiers to the outflow funds and the accumulated inflow funds in the target transaction data, and set the parent node of the identifier of the outflow funds to point to the identifier of the accumulated inflow funds.

12. The device according to any one of claims 7 to 11, wherein: Also includes: Association module; The acquisition module is specifically used to acquire at least two pieces of transaction data within the current unit time length; The association module is used to associate the fund marking result of the previous unit time length of the current unit time length with the historical asset list of the node of the directed time sequence graph after the graph composition module constructs the directed time sequence graph.

13. An electronic device comprising: at least one processor; as well as at least one memory in communication with the processor, wherein: The memory stores program instructions executable by the processor, and the processor can execute the method according to any one of claims 1 to 6 by calling the program instructions.

14. A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions enable the computer to execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Data association method and device and electronic equipment

    CN111784320A