A method, apparatus, storage medium, and electronic device for business risk control.
By creating a preceding vertex for hotspot vertices and adjusting the transaction graph data, the problem of excessive server load on hotspot vertices was solved, achieving server load balancing and improved business risk control efficiency.
Patent Information
- Application Number
- CN202410987014.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-19
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2044-07-19
AI Technical Summary
In business risk control, excessive server load at hotspot peaks leads to high communication overhead and affects overall prevention and control efficiency.
Create several preceding vertices for hot vertices and connect them to their upstream adjacent vertices. Adjust the original transaction graph data to achieve server load balancing. The transaction links are jointly calculated by the servers of the preceding vertices and hot vertices.
This reduces the load on hotspot vertex servers, improves the efficiency of business risk control, and makes the server load on each vertex more balanced.
Smart Images

Figure CN118864111B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of computer technology, and in particular to a method, apparatus, storage medium, and electronic device for business risk control. Background Technology
[0002] In most businesses involving financial transactions, suspicious fund flows are unavoidable. These suspicious flows not only leak users' personal information and endanger their financial security, but also cause significant harm to social security and result in huge losses for all industries. Therefore, monitoring suspicious fund flows has always been a crucial step in creating a secure operating environment for business development across all sectors.
[0003] Currently, a relatively effective method for monitoring suspicious fund flow paths is to treat individual or business accounts involved in fund transactions as vertices and connect vertices with fund transactions to construct a graph data structure. Suspicious fund flow paths are then obtained by traversing the fund transaction paths of high-risk vertices within this graph data structure.
[0004] However, when the number of transactions involving an individual or business account considered a vertex becomes excessively large, that vertex becomes a hotspot vertex. Correspondingly, in a graph data structure, the number of connections (edges) between a hotspot vertex and other vertices will also be enormous. This leads to significant communication overhead and load on the server responsible for maintaining hotspot vertices when monitoring suspicious paths in fund flows, while servers responsible for maintaining ordinary vertices may experience substantial idle time. This significantly slows down business risk control and impacts overall prevention and control efficiency.
[0005] Therefore, how to balance the load of the servers responsible for maintaining each vertex in business risk control and improve the efficiency of business risk control is an urgent problem to be solved. Summary of the Invention
[0006] This specification provides a method, apparatus, storage medium, and electronic device for business risk control, which partially solves the aforementioned problems existing in the prior art.
[0007] The following technical solution is adopted in this specification:
[0008] This manual provides a business risk control method, including:
[0009] Obtain the original transaction graph data, wherein the original transaction graph data contains multiple vertices, each vertex is used to represent a transaction object, and any two transaction objects with a transaction relationship are connected by edges.
[0010] Based on the original transaction graph data, hotspot vertices are determined from the vertices contained in the original transaction graph data;
[0011] The vertex information of several preceding vertices created for the hot spot vertex is stored in at least one server selected from the preset server cluster. The original transaction graph data is adjusted according to the several preceding vertices to obtain the adjusted graph data. For each preceding vertex, the hot spot vertex is connected to the upstream adjacent vertex of the hot spot vertex in the original transaction graph data through the preceding vertex. The at least one server is not exactly the same as the server storing the hot spot vertex.
[0012] In response to triggering a risk control task, the starting vertex is determined from the adjusted graph data;
[0013] A first transaction link is determined between the starting vertex and the plurality of preceding vertices, and a second transaction link is determined between the plurality of preceding vertices and the hotspot vertex. Based on the first transaction link and the second transaction link, a target transaction link is determined, and business risk control is performed based on the target transaction link. For each preceding vertex, the first transaction link between the starting vertex and the preceding vertex is determined by a server that stores the vertex information of the preceding vertex, and the second transaction link between the preceding vertex and the hotspot vertex is determined by a server that stores the vertex information of the hotspot vertex.
[0014] Optionally, based on the original transaction graph data, hotspot vertices are determined from the vertices contained in the original transaction graph data, specifically including:
[0015] Based on the original transaction graph data, determine the number of edges connected to each vertex in the original transaction graph data;
[0016] For each vertex in the original transaction graph data, if the number of edges connected to that vertex exceeds a preset threshold, then that vertex is designated as a hotspot vertex.
[0017] Optionally, the starting vertex is determined from the adjusted graph data, specifically including:
[0018] Obtain the object information of the transaction object represented by each vertex in the adjusted graph data;
[0019] Based on the object information of the transaction objects represented by each vertex in the adjusted graph data, the vertices in the adjusted graph data are filtered using preset filtering conditions to select the starting vertex from the adjusted graph data.
[0020] Optionally, for each preceding vertex, the server storing the vertex information of the preceding vertex receives and stores the edge information between the preceding vertex and its upstream adjacent vertices in the adjusted graph data, as well as the edge information between all upstream vertices located at the upstream adjacent vertex. The server storing the hotspot vertex only receives and stores the edge information between the preceding vertex and the hotspot vertex sent by the server corresponding to the preceding vertex.
[0021] Optionally, the adjusted graph data is a directed graph, and the edge information between any two vertices in the adjusted graph data is used to characterize the flow of funds between the trading objects corresponding to those two vertices during the transaction.
[0022] Determining the first transaction link formed between the starting vertex and the plurality of preceding vertices specifically includes:
[0023] For each preceding vertex, according to the direction of fund flow from the starting vertex to the hotspot vertex, determine the vertices passed through when pointing from the starting vertex to the preceding vertex, so as to obtain the first transaction link formed between the starting vertex and the preceding vertex.
[0024] This specification provides a business risk control device, including:
[0025] The acquisition module is used to acquire the original transaction graph data, wherein the original transaction graph data contains multiple vertices, each vertex is used to represent a transaction object, and any two transaction objects with a transaction relationship are connected by edges.
[0026] The determination module is used to determine hotspot vertices from the vertices contained in the original transaction graph data based on the original transaction graph data.
[0027] The processing module is used to store vertex information of a plurality of preceding vertices created for the hot spot vertex in at least one server selected from a preset server cluster, so as to adjust the original transaction graph data according to the plurality of preceding vertices to obtain adjusted graph data. For each preceding vertex, the hot spot vertex is connected to the upstream adjacent vertex of the hot spot vertex in the original transaction graph data through the preceding vertex. The at least one server is not exactly the same as the server storing the hot spot vertex.
[0028] The response module is used to determine the starting vertex from the adjusted graph data in response to the triggering of the risk control task;
[0029] An execution module is configured to determine a first transaction link formed between the starting vertex and the plurality of preceding vertices, and a second transaction link formed between the plurality of preceding vertices and the hotspot vertex, and to determine a target transaction link based on the first transaction link and the second transaction link, so as to perform business risk control based on the target transaction link. Specifically, for each preceding vertex, the first transaction link formed between the starting vertex and that preceding vertex is determined by a server storing vertex information of that preceding vertex, and the second transaction link formed between that preceding vertex and the hotspot vertex is determined by a server storing vertex information of that hotspot vertex.
[0030] Optionally, the determining module is specifically used to determine the number of edges connected to each vertex in the original transaction graph data based on the original transaction graph data; and for each vertex in the original transaction graph data, if the number of edges connected to the vertex exceeds a preset threshold, then the vertex is designated as a hotspot vertex.
[0031] Optionally, the response module is specifically used to: obtain the object information of the transaction object represented by each vertex in the adjusted graph data; and filter each vertex in the adjusted graph data according to the object information of the transaction object represented by each vertex in the adjusted graph data using preset filtering conditions, so as to select the starting vertex from the adjusted graph data.
[0032] Optionally, the execution module is specifically used to determine, for each preceding vertex, the vertices traversed when pointing from the starting vertex to the preceding vertex according to the direction of fund flow from the starting vertex to the hotspot vertex, so as to obtain the first transaction link formed between the starting vertex and the preceding vertex.
[0033] This specification provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the aforementioned business risk control method.
[0034] This specification provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the aforementioned business risk control method.
[0035] The above-mentioned technical solutions adopted in this specification can achieve the following beneficial effects:
[0036] The business risk control method provided in this specification first acquires the original transaction graph data and, based on the original transaction graph data, identifies hotspot vertices from the vertices contained in the original transaction graph data. At least one server is selected from a preset server cluster, and the selected server stores several preceding vertices created for the hotspot vertices. Based on these preceding vertices, the original transaction graph data is adjusted to obtain adjusted graph data. For each preceding vertex, the hotspot vertex is connected to its upstream adjacent vertex in the original transaction graph data through this preceding vertex. The selected server is not entirely the same as the server storing the hotspot vertices. Finally, in response to triggering a risk control task, a starting vertex is determined from the adjusted graph data. For each preceding vertex, a first transaction link between the starting vertex and the preceding vertex is determined using the server storing the vertex information of the preceding vertex. A second transaction link between the preceding vertex and the hotspot vertex is determined using the server storing the vertex information of the hotspot vertex. Based on the first and second transaction links, a target transaction link between the starting vertex and the hotspot vertex is determined, and business risk control is performed based on the target transaction link.
[0037] As can be seen from the above method, this specification can adjust the acquired original transaction graph data, identify hotspot vertices in the original transaction graph data, create a preset number of predecessor vertices for the hotspot vertices, and insert the preset number of predecessor vertices between the hotspot vertices and the upstream vertices that originally connected the hotspot vertices, forming the adjusted graph data. In the adjusted graph data, the target transaction link between the starting vertex and the hotspot vertex, which should originally be calculated by the server corresponding to the hotspot vertex, is replaced by the server corresponding to the preset number of predecessor vertices and the server corresponding to the hotspot vertex jointly calculating it. This significantly reduces the load on the server at the hotspot vertex, making the load on the server responsible for maintaining each vertex more balanced in the entire business risk control process, and improving the efficiency of business risk control. Attached Figure Description
[0038] The accompanying drawings, which are included to provide a further understanding of this specification and form part of this specification, illustrate exemplary embodiments and are used to explain this specification, but do not constitute an undue limitation thereof. In the drawings:
[0039] Figure 1 This is a flowchart illustrating a business risk control process provided in this specification;
[0040] Figure 2 This is a schematic diagram of the upstream vertices in the original transaction graph data provided in this specification;
[0041] Figure 3 This is a schematic diagram provided in this specification showing the adjustment of hotspot vertices in the original transaction graph data;
[0042] Figure 4 This is a schematic diagram illustrating the transmission and storage of path information between vertices, as provided in this specification.
[0043] Figure 5 This is a schematic diagram of a business risk control device provided in this specification;
[0044] Figure 6 The one provided in this specification should be used in Figure 1 A schematic diagram of the structure of an electronic device. Detailed Implementation
[0045] To make the objectives, technical solutions, and advantages of this specification clearer, the technical solutions of this specification will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of them. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this specification.
[0046] The technical solutions provided in the various embodiments of this specification are described in detail below with reference to the accompanying drawings.
[0047] Figure 1 This is a flowchart illustrating a business risk control method provided in this specification, including the following steps:
[0048] S101: Obtain the original transaction graph data, wherein the original transaction graph data contains multiple vertices, each vertex is used to represent a transaction object, and the vertices corresponding to any two transaction objects with a transaction relationship are connected by an edge.
[0049] Currently, suspicious fund flows inevitably occur in many industries, which not only endanger users' personal and property safety, but also cause significant damage to social security, resulting in huge losses for all sectors.
[0050] Currently, a relatively effective way to monitor suspicious paths of fund flows is to treat individual or business accounts involved in fund transactions as vertices and connect vertices with fund transactions to construct a graph data structure. However, when the number of transactions involved in an individual or business account regarded as a vertex is too large, the number of edges connected to this vertex in the graph data structure will also be very large. When conducting business risk control, the server responsible for maintaining hot vertices will generate huge communication overhead and load, which will seriously slow down the progress of business risk control and affect the overall prevention and control efficiency.
[0051] Based on this, this specification provides a business risk control method that creates several pre-vertices for hotspot vertices and transfers the communication overhead and load generated on the server storing hotspot vertices to the server storing the pre-vertices. This makes the load of the server responsible for maintaining each vertex more balanced in business risk control and improves the efficiency of business risk control.
[0052] It should be noted that the execution subject of the business risk control method used in this specification can be a designated device such as a server, a terminal device such as a desktop computer or a laptop computer, or a client installed on a terminal device. For ease of description, this specification will only use the server as the execution subject as an example to illustrate one business risk control method provided in this specification.
[0053] In this specification, the server can obtain raw transaction graph data, which contains multiple vertices, each representing a transaction object. Vertices corresponding to any two transaction objects with a transaction relationship are connected by edges. Transaction objects can specifically include personal or commercial accounts. For any two transaction objects, if there is a flow of funds between them, this specification considers them to have a transaction relationship, and the corresponding vertices in the raw transaction graph data are connected by edges. The server can obtain the raw transaction graph data from a specified storage space through a preset interface and store it in local space for subsequent processing.
[0054] S102: Based on the original transaction graph data, determine the hotspot vertices from the vertices contained in the original transaction graph data.
[0055] The server can identify hotspot vertices from the vertices contained in the original transaction graph data. Specifically, the server can determine the number of edges connected to each vertex in the original transaction graph data and designate vertices whose number of connected edges exceeds a preset threshold as hotspot vertices. It's important to note that the preset threshold needs to be flexibly set according to the actual business requirements.
[0056] The server can also identify hotspot vertices from the vertices in the original transaction graph data through other methods. For example, the server can obtain the object information of the transaction objects represented by each vertex in the original transaction graph data, and based on the object information of the transaction objects represented by each vertex in the original transaction graph data, first identify the hotspot transaction objects, and then use the vertices corresponding to the hotspot transaction objects in the original transaction graph data as the hotspot vertices. Here, object information refers to the specific information of the transaction objects represented by each vertex in the original transaction graph data in reality. For example, if a vertex represents a business account, the object information of the transaction object represented by that vertex can include the business account's transaction history, owner information, transaction type, transaction size, and other information.
[0057] Specifically, the server can determine the transaction size of each transaction object represented by each vertex in the original transaction graph data based on the object information of the transaction objects represented by each vertex. Vertices corresponding to transaction objects with transaction sizes exceeding a preset size are then designated as hotspot vertices. Generally, the larger the transaction size of an object, the higher the number of transactions associated with that object tends to be. Therefore, the transaction size can, to some extent, assess the number of transactions for an object. Thus, designating vertices corresponding to transaction objects with transaction sizes exceeding a preset size as hotspot vertices is one method of identifying hotspot vertices.
[0058] S103: Store vertex information of several preceding vertices created for the hotspot vertex in at least one server selected from a preset server cluster, so as to adjust the original transaction graph data according to the several preceding vertices to obtain adjusted graph data. For each preceding vertex, the hotspot vertex is connected to the upstream adjacent vertex of the hotspot vertex in the original transaction graph data through the preceding vertex. The at least one server is not exactly the same as the server storing the hotspot vertex.
[0059] After identifying the hotspot vertices, the server can store vertex information of several preceding vertices created for the hotspot vertices in at least one server selected from the preset server cluster. Based on these preceding vertices, the original transaction graph data can be adjusted to obtain the adjusted graph data.
[0060] For each preceding vertex, the hotspot vertex is connected to its upstream adjacent vertex in the original transaction graph data through the preceding vertex. The upstream adjacent vertex of the hotspot vertex in the original transaction graph data refers to the vertex that is directly connected to the hotspot vertex through an edge and is located upstream of the hotspot vertex.
[0061] To more clearly describe the concept of "upstream" in the original transaction graph data, this specification provides a schematic diagram of the upstream vertices in the original transaction graph data, such as... Figure 2 As shown.
[0062] Figure 2 This is a schematic diagram of the upstream vertices in the original transaction graph data provided in this specification.
[0063] in, Figure 2 The diagram contains eight vertices, labeled A through H. Each vertex can represent any type of vertex. The arrow direction of each edge indicates the trading direction of the two vertices connected by that edge, i.e., the direction of fund inflow. For vertex E, vertices D and H are adjacent vertices of vertex E. Based on the arrow directions, it can be seen that the funds of all other vertices ultimately flow into the trading object represented by vertex E. Therefore, all other vertices are upstream vertices of vertex E. For vertex D, only the funds of the trading objects represented by vertices A, B, and C flow into the trading object represented by vertex D. Therefore, only vertices A, B, and C are upstream vertices of vertex D. The trading objects represented by vertices F, G, and H do not have a fund flow relationship with the trading object represented by vertex D. Therefore, vertices F, G, and H are neither upstream nor downstream vertices of vertex D. The funds of the trading object represented by vertex D flow into the trading object represented by vertex E. Therefore, vertex E is a downstream vertex of vertex D.
[0064] In other words, for a hotspot vertex, several preceding vertices will be inserted between the hotspot vertex and its upstream adjacent vertices in the original transaction graph data. Upstream vertices originally directly connected to the hotspot vertex will, after adjustment, first connect to one of the preceding vertices, and then indirectly connect to the hotspot vertex through these connected preceding vertices. The server storing the vertex information of the preceding vertices is not entirely the same as the server storing the hotspot vertex, and the upstream adjacent vertices of the hotspot vertex connected to by different preceding vertices in the original transaction graph data are not entirely the same. Generally, the upstream vertices originally directly connected to the hotspot vertex will, after adjustment, be evenly and randomly connected to several preceding vertices.
[0065] To describe in more detail the process of adjusting hotspot vertices in the original transaction graph data, this specification provides a schematic diagram showing the adjusted hotspot vertices in the original transaction graph data, such as... Figure 3 As shown.
[0066] Figure 3 This is a schematic diagram provided in this specification showing the adjustment of hotspot vertices in the original transaction graph data.
[0067] like Figure 3 As shown, vertex H is the hotspot vertex, H1 and H2 are the preceding vertices of the hotspot vertex H (for ease of description, only two preceding vertices are used as examples here), and vertices 1 to N are the upstream adjacent vertices of the hotspot vertex H in the original transaction graph data. It can be seen that the upstream vertices that were originally directly connected to the hotspot vertex will be evenly and randomly connected to several preceding vertices after adjustment, and several preceding vertices will be inserted between the hotspot vertex and the upstream adjacent vertices of the hotspot vertex in the original transaction graph data.
[0068] It is important to note that the hotspot vertex identified in the original transaction graph data can be one or more. For each hotspot vertex, the pre-selected server will create several corresponding predecessor vertices for that hotspot vertex and make the same adjustments in the original transaction graph data. After all the hotspot vertices identified in the original transaction graph data have been adjusted, the final adjusted graph data is obtained. Note that the server that creates the predecessor vertices and the server that stores the vertex information of the predecessor vertices are not necessarily the same server.
[0069] S104: In response to triggering a risk control task, determine the starting vertex from the adjusted graph data.
[0070] After adjusting the original transaction graph data to obtain the adjusted graph data, the server can respond to the triggered risk control task and determine the starting vertex from the adjusted graph data.
[0071] The server can obtain the object information of the transaction objects represented by each vertex in the adjusted graph data. The "object information" of the transaction objects represented by each vertex in the adjusted graph data has the same meaning as the "object information" of the transaction objects represented by each vertex in the original transaction graph data, and will not be repeated here.
[0072] The server filters the vertices in the adjusted graph data based on the object information of the transaction objects represented by each vertex, using preset filtering criteria to select the starting vertex. These preset filtering criteria are flexibly determined based on actual business needs, aiming to identify transaction objects involved in suspicious fund flows as much as possible. For example, in real life, people over 60 years old are more vulnerable to illegal property infringement, so "whether the age is greater than 60" can be used as a filtering criterion. Similarly, in real life, most individuals conduct a limited number of transactions per month, so "whether the number of transactions per month exceeds a preset threshold" can be used as a filtering criterion. Furthermore, for a business account, which may exhibit abnormal transaction behavior, "whether the business account exhibits abnormal transaction behavior" can be used as a filtering criterion.
[0073] S105: Determine the first transaction link formed between the starting vertex and the plurality of preceding vertices, and the second transaction link formed between the plurality of preceding vertices and the hotspot vertex, and determine the target transaction link based on the first transaction link and the second transaction link, so as to perform business risk control based on the target transaction link. Specifically, for each preceding vertex, the first transaction link formed between the starting vertex and the preceding vertex is determined by a server storing the vertex information of the preceding vertex, and the second transaction link formed between the preceding vertex and the hotspot vertex is determined by a server storing the vertex information of the hotspot vertex.
[0074] After determining the starting vertex, the server can determine the first transaction link formed between the starting vertex and several preceding vertices, and the second transaction link formed between several preceding vertices and hotspot vertices. Based on the first and second transaction links, the server can determine the target transaction link and perform business risk control accordingly.
[0075] It is important to note that after determining the starting vertex and before determining the target transaction link, the server can transmit and store path information between the starting vertex and the hotspot vertex. Based on the path information stored at each vertex involved between the starting vertex and the hotspot vertex, the server can determine the first transaction link formed between the starting vertex and several preceding vertices, and the second transaction link formed between several preceding vertices and the hotspot vertex, thereby determining the target transaction link.
[0076] To describe in more detail the process of transferring and storing path information between vertices, this specification provides a schematic diagram of the transfer and storage of path information between vertices, such as... Figure 4 As shown.
[0077] Figure 4 This is a schematic diagram illustrating the transmission and storage of path information between vertices, as provided in this specification.
[0078] In this diagram, E is a hotspot vertex, D and H are the preceding vertices of hotspot vertex E (for simplicity, only two preceding vertices are used as an example), A is the starting vertex, and the remaining vertices are ordinary vertices. Numbers 1 to 9 represent the IDs of the corresponding edges. During the transmission and storage of path information between vertices, the server corresponding to each vertex between the starting vertex and the preceding vertex (excluding the starting vertex and the preceding vertex) can receive the path information sent by the server corresponding to the previous level vertex and store the received path information locally. Then, the locally stored path information is combined with the IDs of the edges between the next level vertices connected to that vertex and the vertex itself to obtain new path information for each of the next level vertices connected to that vertex. This new path information is then sent to the servers corresponding to the respective next level vertices.
[0079] It is important to note that in this specification, each edge in the original and adjusted transaction chart data can contain two attributes: an ID attribute and a direction attribute. The ID attribute is a unique identifier for each edge, and the direction attribute (as in...) Figure 2 , Figure 3 , Figure 4 The path information (represented by "arrow direction") is used to characterize the flow of funds between the two vertices connected by each edge, representing the trading objects they represent. For any two connected vertices in the original or adjusted trading graph data, the direction attribute of the edge between these two vertices is called the edge information between them. During the transmission and storage of path information between vertices, the path information represents the link of fund flow between the trading objects represented by each vertex. This link of fund flow can be determined in the adjusted graph data based on the unique identifier of each edge, i.e., the ID attribute. Therefore, the path information can be represented based on the ID attribute of each edge in the adjusted graph data.
[0080] Based on the above principles, Figure 4Starting from the initial vertex A, the server corresponding to vertex A sends the ID of the edge between them (the number "1") to the server corresponding to vertex B, and the ID of the edge between them (the number "5") to the server corresponding to vertex F. The server corresponding to vertex B sends the path information of vertex C (the numbers "1" and "2") to the server corresponding to vertex C, and so on. The server corresponding to the preceding vertex D receives the path information as "1, 2, 3", and the server corresponding to the preceding vertex H receives the path information as "5, 6, 7". At this point, for the preceding vertices, the server corresponding to the preceding vertex stores the received path information locally and does not send it to the server corresponding to the hotspot vertex. Instead, it only sends the ID of the edge between the hotspot vertex and the preceding vertex. That is, the server corresponding to the hotspot vertex E will only receive the number "4" from the server corresponding to the preceding vertex D and the number "8" from the server corresponding to the preceding vertex H, and stores the numbers "4, 8" locally. Here, each server corresponds to a vertex and represents a server storing the vertex information for that vertex.
[0081] In this way, for each preceding vertex, the server storing the vertex information of the preceding vertex receives and stores the edge information between the preceding vertex and its upstream neighboring vertices in the adjusted graph data, as well as the edge information between all upstream vertices located at the preceding neighboring vertex. The server storing hotspot vertices only receives and stores the edge information between the preceding vertex and the hotspot vertex sent by the server corresponding to the preceding vertex. This transfers the communication overhead of the server storing hotspot vertices to several servers corresponding to the preceding vertices, greatly reducing the communication overhead of the server storing hotspot vertices.
[0082] It is important to note that the adjusted graph data are all directed graphs. The edge information between any two connected vertices in the adjusted graph data is used to represent the flow of funds in the transaction objects corresponding to those two vertices during the transaction. After the path information is transferred and stored between the starting vertex and the hotspot vertex, for each preceding vertex, the server can determine the vertices passed from the starting vertex to the preceding vertex according to the direction of fund flow from the starting vertex to the hotspot vertex, and reconstruct the first transaction link formed between the starting vertex and the preceding vertex based on the path information stored locally on the server for each vertex.
[0083] The server storing hotspot vertices can reconstruct and calculate the second transaction links formed between several preceding vertices and hotspot vertices based on the path information stored locally. Then, based on the first and second transaction links, the target transaction link between the starting vertex and the hotspot vertex can be determined, and business risk control can be performed based on the target transaction link.
[0084] In other words, during the process of determining the target transaction link, the server storing hotspot vertices determines the second transaction link formed between several preceding vertices and hotspot vertices based only on the path information stored locally. In this way, the computational overhead of the server storing hotspot vertices will be greatly reduced, thus reducing the load on the server storing hotspot vertices.
[0085] It is important to note that the starting vertex identified in the adjusted graph data can be one or more. For each starting vertex, the transmission of path information and the restoration of the target transaction link are identical. Furthermore, in actual business operations, a termination vertex is often identified in the adjusted graph data. There is generally only one termination vertex, and the transaction object represented by the termination vertex is often an individual or business account that has been identified as risky. In this specification, at least one hotspot vertex exists among the vertices involved between the starting and termination vertices. There are no preceding vertices between the hotspot vertex and the termination vertex, and the method of transmitting path information between the vertices involved between the hotspot vertex and the termination vertex is the same as described above, and will not be repeated here. After determining the target transaction link between the starting and hotspot vertices, the transaction link between the hotspot vertex and the termination vertex is determined using the same method. Based on the target transaction link between the starting and hotspot vertices, and the transaction link between the hotspot vertex and the termination vertex, a complete transaction link from the starting vertex to the termination vertex is determined. Finally, business risk control is performed based on the complete transaction link.
[0086] As can be seen from the above method, this specification can create several corresponding predecessor vertices for hotspot vertices. In the transmission of path information between the starting vertex and the ending vertex and the restoration of the transaction link, the communication overhead and computing overhead that should originally be handled by the server corresponding to the hotspot vertex are transferred in a large and even manner to the servers corresponding to the several predecessor vertices corresponding to the hotspot vertex. This significantly reduces the load on the servers corresponding to the hotspot vertex and improves the efficiency of business risk control.
[0087] The above describes one or more methods for implementing business risk control as outlined in this manual. Based on the same approach, this manual also provides corresponding business risk control devices, such as... Figure 5 As shown.
[0088] Figure 5 A schematic diagram of a model training apparatus provided in this specification includes:
[0089] The acquisition module 501 is used to acquire the original transaction graph data, wherein the original transaction graph data contains multiple vertices, each vertex is used to represent a transaction object, and any two transaction objects with a transaction relationship are connected by an edge.
[0090] The determining module 502 is used to determine hotspot vertices from the vertices contained in the original transaction graph data based on the original transaction graph data.
[0091] Processing module 503 is used to store vertex information of a plurality of preceding vertices created for the hot spot vertex in at least one server selected from a preset server cluster, so as to adjust the original transaction graph data according to the plurality of preceding vertices to obtain adjusted graph data. For each preceding vertex, the hot spot vertex is connected to the upstream adjacent vertex of the hot spot vertex in the original transaction graph data through the preceding vertex. The at least one server is not exactly the same as the server storing the hot spot vertex.
[0092] Response module 504 is used to determine the starting vertex from the adjusted graph data in response to the triggering of a risk control task;
[0093] The execution module 505 is used to determine a first transaction link formed between the starting vertex and the plurality of preceding vertices, and a second transaction link formed between the plurality of preceding vertices and the hotspot vertex, and to determine a target transaction link based on the first transaction link and the second transaction link, so as to perform business risk control based on the target transaction link. Specifically, for each preceding vertex, the first transaction link formed between the starting vertex and the preceding vertex is determined by a server storing vertex information of the preceding vertex, and the second transaction link formed between the preceding vertex and the hotspot vertex is determined by a server storing vertex information of the hotspot vertex.
[0094] Optionally, the determining module 502 is specifically used to determine the number of edges connected to each vertex in the original transaction graph data based on the original transaction graph data; and for each vertex in the original transaction graph data, if the number of edges connected to the vertex exceeds a preset threshold, then the vertex is designated as a hotspot vertex.
[0095] Optionally, the response module 504 is specifically used to: obtain the object information of the transaction object represented by each vertex in the adjusted graph data; and filter each vertex in the adjusted graph data according to the object information of the transaction object represented by each vertex in the adjusted graph data using preset filtering conditions, so as to filter out the starting vertex from the adjusted graph data.
[0096] Optionally, the execution module 505 is specifically used to, for each preceding vertex, determine the vertices passed through when pointing from the starting vertex to the preceding vertex according to the direction of fund flow from the starting vertex to the hotspot vertex, so as to obtain the first transaction link formed between the starting vertex and the preceding vertex.
[0097] This specification also provides a computer-readable storage medium storing a computer program that can be used to execute the above-described... Figure 1 This provides a method for business risk control.
[0098] This manual also provides a corresponding figure shown in the diagram. Figure 1 A schematic diagram of the structure of an electronic device. (e.g.) Figure 6 As shown.
[0099] Figure 6 The one provided in this specification should be used in Figure 1 A schematic diagram of the structure of an electronic device.
[0100] As shown in the figure, at the hardware level, this electronic device includes a processor, internal bus, network interface, memory, and non-volatile memory, and may also include other hardware required for the business logic. The processor reads the corresponding computer program from the non-volatile memory into memory and then executes it to achieve the above-mentioned functions. Figure 1 The aforementioned business risk control methods.
[0101] Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of hardware and software. In other words, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0102] Improvements in a technology can be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many improvements to the methodology can now be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that an improvement in methodology cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, 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, and RHDL (Ruby Hardware Description Language). Currently, VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog are the most commonly used. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.
[0103] The controller can be implemented in any suitable manner. For example, it 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 Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0104] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.
[0105] For ease of description, the above devices are described in terms of function, divided into various units. Of course, in implementing this specification, the functions of each unit can be implemented in one or more software and / or hardware components.
[0106] Those skilled in the art will understand that embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0107] This specification is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this specification. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations 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, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a machine for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0108] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0109] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0110] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0111] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0112] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, 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 technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0113] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0114] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0115] This specification can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This specification can also be practiced in distributed computing environments, where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0116] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.
[0117] The above description is merely an embodiment of this specification and is not intended to limit this specification. Various modifications and variations can be made to this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims of this specification.
Claims
1. A business risk control method, comprising: Obtain the original transaction graph data, wherein the original transaction graph data contains multiple vertices, each vertex is used to represent a transaction object, and any two transaction objects with a transaction relationship are connected by edges. Based on the original transaction graph data, hotspot vertices are determined from the vertices contained in the original transaction graph data; The vertex information of several preceding vertices created for the hot spot vertex is stored in at least one server selected from the preset server cluster. The original transaction graph data is adjusted according to the several preceding vertices to obtain the adjusted graph data. For each preceding vertex, the hot spot vertex is connected to the upstream adjacent vertex of the hot spot vertex in the original transaction graph data through the preceding vertex. The at least one server is not exactly the same as the server storing the hot spot vertex. In response to triggering a risk control task, the starting vertex is determined from the adjusted graph data; A first transaction link is determined between the starting vertex and the plurality of preceding vertices, and a second transaction link is determined between the plurality of preceding vertices and the hotspot vertex. Based on the first transaction link and the second transaction link, a target transaction link is determined, and business risk control is performed based on the target transaction link. For each preceding vertex, the first transaction link between the starting vertex and the preceding vertex is determined by a server that stores the vertex information of the preceding vertex, and the second transaction link between the preceding vertex and the hotspot vertex is determined by a server that stores the vertex information of the hotspot vertex.
2. The method as described in claim 1, wherein hotspot vertices are determined from the vertices contained in the original transaction graph data based on the original transaction graph data, specifically including: Based on the original transaction graph data, determine the number of edges connected to each vertex in the original transaction graph data; For each vertex in the original transaction graph data, if the number of edges connected to that vertex exceeds a preset threshold, then that vertex is designated as a hotspot vertex.
3. The method as described in claim 1, wherein determining the starting vertex from the adjusted graph data specifically includes: Obtain the object information of the transaction object represented by each vertex in the adjusted graph data; Based on the object information of the transaction objects represented by each vertex in the adjusted graph data, the vertices in the adjusted graph data are filtered using preset filtering conditions to select the starting vertex from the adjusted graph data.
4. The method as described in claim 1, wherein for each preceding vertex, the server storing the vertex information of the preceding vertex receives and stores the edge information between the preceding vertex and its upstream adjacent vertices in the adjusted graph data, as well as the edge information between all upstream vertices located at the upstream adjacent vertex; the server storing the hotspot vertex only receives and stores the edge information between the preceding vertex and the hotspot vertex sent by the server corresponding to the preceding vertex.
5. The method as described in claim 1, wherein the adjusted graph data is a directed graph, and the edge information between any two vertices in the adjusted graph data is used to characterize the flow of funds between the trading objects corresponding to those two vertices during the transaction. Determining the first transaction link formed between the starting vertex and the plurality of preceding vertices specifically includes: For each preceding vertex, according to the direction of fund flow from the starting vertex to the hotspot vertex, determine the vertices passed through when pointing from the starting vertex to the preceding vertex, so as to obtain the first transaction link formed between the starting vertex and the preceding vertex.
6. A business risk control device, comprising: The acquisition module is used to acquire the original transaction graph data, wherein the original transaction graph data contains multiple vertices, each vertex is used to represent a transaction object, and any two transaction objects with a transaction relationship are connected by edges. The determination module is used to determine hotspot vertices from the vertices contained in the original transaction graph data based on the original transaction graph data. The processing module is used to store vertex information of a plurality of preceding vertices created for the hot spot vertex in at least one server selected from a preset server cluster, so as to adjust the original transaction graph data according to the plurality of preceding vertices to obtain adjusted graph data. For each preceding vertex, the hot spot vertex is connected to the upstream adjacent vertex of the hot spot vertex in the original transaction graph data through the preceding vertex. The at least one server is not exactly the same as the server storing the hot spot vertex. The response module is used to determine the starting vertex from the adjusted graph data in response to the triggering of the risk control task; An execution module is configured to determine a first transaction link formed between the starting vertex and the plurality of preceding vertices, and a second transaction link formed between the plurality of preceding vertices and the hotspot vertex, and to determine a target transaction link based on the first transaction link and the second transaction link, so as to perform business risk control based on the target transaction link. Specifically, for each preceding vertex, the first transaction link formed between the starting vertex and that preceding vertex is determined by a server storing vertex information of that preceding vertex, and the second transaction link formed between that preceding vertex and the hotspot vertex is determined by a server storing vertex information of that hotspot vertex.
7. The apparatus of claim 6, wherein the determining module is specifically configured to: determine the number of edges connected to each vertex in the original transaction graph data based on the original transaction graph data; and for each vertex in the original transaction graph data, if the number of edges connected to the vertex exceeds a preset threshold, then the vertex is designated as a hotspot vertex.
8. The apparatus of claim 6, wherein the response module is specifically configured to: obtain object information of the transaction object represented by each vertex in the adjusted graph data; and filter each vertex in the adjusted graph data according to the object information of the transaction object represented by each vertex in the adjusted graph data using preset filtering conditions, so as to filter out the starting vertex from the adjusted graph data.
9. The apparatus of claim 6, wherein the execution module is specifically configured to, for each preceding vertex, determine, according to the direction of fund flow from the starting vertex to the hotspot vertex, the vertices traversed when pointing from the starting vertex to the preceding vertex, so as to obtain a first transaction link formed between the starting vertex and the preceding vertex.
10. A computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described in any one of claims 1 to 5.
11. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the method described in any one of claims 1 to 5.
Citation Information
Patent Citations
Banking business data sorting and processing system based on image information
CN101504754A
Public chain fragmentation method and system based on graph division algorithm
CN117389741A