Method and device for determining data transmission link
By dividing storage nodes into groups and selecting target storage nodes that have both high performance and security, the problem of storage node transmission delay is solved, and an efficient and secure data transmission link is built.
Patent Information
- Application Number
- CN202510943788.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-09
- Publication Date
- 2025-09-12
AI Technical Summary
When using storage nodes for anonymous transmission, low-performance storage nodes in the transmission link may cause large transmission delays, affecting data transmission efficiency and security.
By obtaining a collection of storage nodes and user-customized parameters, they are divided into multiple node groups, and based on the target adjustment parameters and node performance data, target storage nodes with high performance and security are randomly selected to build a data transmission link.
It reduces transmission delay, improves data transmission efficiency, and realizes dynamic adjustment of transmission links on the basis of ensuring security to meet the needs of different users.
Smart Images

Figure CN120639680A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of data transmission, and in particular to a method and device for determining a data transmission link. Background Art
[0002] With the deep integration of financial technology and the internet, banking systems have fully transitioned to online operations. Various financial services, including cross-border payments, electronic banking, and securities trading, increasingly rely on networks for data exchange. Financial data transmission not only involves key information such as transaction amounts, account information, and payment instructions, but also contains sensitive customer identity information and financial trade secrets. The leakage of such information can result in significant financial losses and reputational risks.
[0003] To protect financial data from being leaked during transmission, anonymous transmission technology can be used. This technology primarily focuses on protecting metadata such as the identity of the transaction initiator, the path of funds flow, and system access frequency. Anonymous transmission conceals the identities and specific communication relationships of both parties through data forwarding, content encryption, and traffic obfuscation. Essentially, it is an overlay network that provides users with anonymous network data transmission by covering both the source and destination of communications. In financial scenarios, protecting the anonymity of both parties in a transaction not only prevents information leakage but also effectively avoids improper interference in the financial market through monitoring of trading behavior.
[0004] Some anonymous transmission technologies in related fields utilize multi-channel nodes, such as storage nodes, for anonymous transmission. This leverages the diverse nature of these nodes, their high traffic volume and high confidentiality, as well as the long-term data retention and ready accessibility, to build a low-cost, multi-channel, asynchronous anonymous transmission network. For financial data, this approach not only reduces operating costs but also provides more flexible transmission paths and enhanced confidentiality for cross-institutional and cross-regional financial transactions.
[0005] However, when selecting storage nodes for anonymous transmission, a large transmission delay may be generated due to the influence of low-performance storage nodes in the transmission link. Summary of the Invention
[0006] In order to reduce the transmission delay when using storage nodes for anonymous transmission, this application discloses the following technical solutions:
[0007] A first aspect of the present application provides a method for determining a data transmission link, comprising:
[0008] Obtaining a storage node set and user-customized parameters, wherein the storage node set includes multiple storage nodes, the user-customized parameters include the required number of nodes, the number of groups, and a target adjustment parameter, wherein the value of the target adjustment parameter is related to the security and transmission performance of the data transmission link;
[0009] Dividing the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups;
[0010] A plurality of target storage nodes corresponding to the required number of nodes are selected from the plurality of node groups according to the target adjustment parameters and pre-acquired node performance data, so as to establish a data transmission link based on the plurality of target storage nodes.
[0011] Optionally, selecting a plurality of target storage nodes corresponding to the required number of nodes from the plurality of node groups according to the target adjustment parameter and pre-acquired node performance data includes:
[0012] Randomly select one of the multiple node groups as the current node group;
[0013] Randomly generate a current random parameter for selecting the target storage node;
[0014] Determining a current grouping probability corresponding to the current node grouping according to the current random parameter and the target adjustment parameter;
[0015] Selecting a candidate storage node in the current node group according to the current grouping probability and node performance data of each storage node in the current node group;
[0016] If the candidate storage node is different from the determined target storage node, determining the candidate storage node as a target storage node;
[0017] Return to the step of randomly selecting one of the multiple node groups as the current node group until multiple target storage nodes corresponding to the required number of nodes are determined.
[0018] Optionally, selecting a candidate storage node in the current node group according to the current grouping probability and node performance data of each storage node in the current node group includes:
[0019] Adding the node performance data of each storage node in the current node group to obtain the group performance data of the current node group;
[0020] Determine a grouping performance threshold of the current node grouping according to the grouping performance data and the current grouping probability;
[0021] After sorting the storage nodes in the current node group in ascending order according to the node performance data, the node performance data of each storage node is accumulated in sequence until the accumulated performance data obtained is greater than the group performance threshold;
[0022] The last accumulated storage node is determined as a candidate storage node for the current node group.
[0023] Optionally, after selecting a candidate storage node in the current node group, the method further includes:
[0024] If the candidate storage node is the same as any of the determined target storage nodes, returning to the step of randomly selecting one of the multiple node groups as the current node group;
[0025] Alternatively, if the candidate storage node is the same as any determined target storage node, the previous storage node or the next storage node of the candidate storage node in the current node group is determined as a target storage node.
[0026] Optionally, dividing the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups includes:
[0027] Randomly dividing the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups;
[0028] Before returning to execute the step of randomly selecting one of the multiple node groups as the current node group, the method further includes:
[0029] The storage nodes contained in the storage node set are randomly divided into a plurality of node groups again according to the number of groups, wherein the plurality of node groups divided each time are different from each other.
[0030] A second aspect of the present application provides an apparatus for determining a data transmission link, including:
[0031] an obtaining unit, configured to obtain a storage node set and user-customized parameters, wherein the storage node set includes a plurality of storage nodes, and the user-customized parameters include a required number of nodes, a number of groups, and a target adjustment parameter, wherein the value of the target adjustment parameter is related to the security and transmission performance of the data transmission link;
[0032] a dividing unit, configured to divide the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups;
[0033] A selection unit is configured to select a plurality of target storage nodes corresponding to the required number of nodes from the plurality of node groups according to the target adjustment parameter and pre-acquired node performance data, so as to establish a data transmission link based on the plurality of target storage nodes.
[0034] Optionally, when the selection unit selects a plurality of target storage nodes corresponding to the required number of nodes from the plurality of node groups according to the target adjustment parameter and pre-acquired node performance data, it is configured to:
[0035] Randomly select one of the multiple node groups as the current node group;
[0036] Randomly generate a current random parameter for selecting the target storage node;
[0037] Determining a current grouping probability corresponding to the current node grouping according to the current random parameter and the target adjustment parameter;
[0038] Selecting a candidate storage node in the current node group according to the current grouping probability and node performance data of each storage node in the current node group;
[0039] If the candidate storage node is different from the determined target storage node, determining the candidate storage node as a target storage node;
[0040] Return to the step of randomly selecting one of the multiple node groups as the current node group until multiple target storage nodes corresponding to the required number of nodes are determined.
[0041] Optionally, when selecting a candidate storage node in the current node group based on the current grouping probability and the node performance data of each storage node in the current node group, the selection unit is configured to:
[0042] Adding the node performance data of each storage node in the current node group to obtain the group performance data of the current node group;
[0043] Determine a grouping performance threshold of the current node grouping according to the grouping performance data and the current grouping probability;
[0044] After sorting the storage nodes in the current node group in ascending order according to the node performance data, the node performance data of each storage node is accumulated in sequence until the accumulated performance data obtained is greater than the group performance threshold;
[0045] The last accumulated storage node is determined as a candidate storage node for the current node group.
[0046] Optionally, after selecting a candidate storage node in the current node group, the selection unit is further configured to:
[0047] If the candidate storage node is the same as any of the determined target storage nodes, returning to the step of randomly selecting one of the multiple node groups as the current node group;
[0048] Alternatively, if the candidate storage node is the same as any determined target storage node, the previous storage node or the next storage node of the candidate storage node in the current node group is determined as a target storage node.
[0049] Optionally, when the dividing unit divides the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups, it is configured to:
[0050] Randomly dividing the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups;
[0051] Before returning to execute the step of randomly selecting one of the multiple node groups as the current node group, the dividing unit is further configured to:
[0052] The storage nodes contained in the storage node set are randomly divided into a plurality of node groups again according to the number of groups, wherein the plurality of node groups divided each time are different from each other.
[0053] The beneficial effects of this program are:
[0054] On the one hand, the method of this embodiment determines the transmission link based on node performance data, which, to a certain extent, can ensure that the majority of nodes in the link have good performance, thereby helping to reduce transmission latency. On the other hand, by further considering user-customized parameters when selecting nodes that constitute the transmission link, it can also take into account security requirements and avoid selecting storage nodes based solely on node performance, which may result in poor transmission link security. Therefore, this solution can meet the different security and transmission performance requirements of different users for data transmission links through user-customized parameters, minimizing the transmission latency of the data transmission link while ensuring a certain level of security. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are merely embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without any creative work.
[0056] Figure 1 This is a flow chart of a method for determining a data transmission link provided by an embodiment of the present application;
[0057] Figure 2 This is a flow chart of a method for selecting a target storage node provided by an embodiment of the present application;
[0058] Figure 3This is a schematic diagram of the structure of a device for determining a data transmission link provided in an embodiment of the present application. DETAILED DESCRIPTION
[0059] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0060] To facilitate understanding of the technical solution of this application, some of the terms that may be involved are first explained.
[0061] Anonymous transmission: Anonymous transmission technology is designed to protect user privacy and anonymity. Its core goal is to prevent third-party identification, behavior tracking, and traffic analysis by concealing user identity, communication content, and behavior patterns. It is commonly used in internet communications to protect user privacy and communication security in various network environments.
[0062] The Onion Router (Tor): A distributed anonymous network technology that uses layered encryption to ensure data anonymity and untraceability. Its core concept is to randomize the data transmission path and relay it through multiple distributed nodes (Tor nodes), thereby making it impossible to directly connect the source and destination. Tor's core technology is "onion routing." Data packets undergo multiple encryption steps during transmission. Each Tor node can only decrypt its own layer, preventing it from obtaining the complete data packet.
[0063] Random link selection algorithm: The random link selection algorithm randomly selects the required number of nodes from all available network nodes. This method is simple to implement, highly random and has no fixed pattern, and can achieve better anonymity.
[0064] Bandwidth-weighted link selection algorithm: This algorithm measures node bandwidth capabilities and assigns higher weights to high-bandwidth nodes, increasing their probability of being selected as path nodes. This mechanism effectively reduces bottleneck nodes along the path and improves data transmission speeds. Furthermore, the bandwidth-weighted algorithm helps achieve load balancing, preventing some nodes from being overloaded while others are idle.
[0065] Research has found that due to the varying quality of storage nodes, using a simple random link selection algorithm to randomly select storage nodes for transmission can result in the overall transmission latency being limited by storage nodes with lower data transmission rates. While prioritizing storage nodes with higher bandwidth for data transmission based on their bandwidth can improve overall transmission efficiency, it can also be exploited by attackers to influence user node selection, thereby compromising system anonymity.
[0066] In order to solve the above problem, this embodiment provides a method for determining a data transmission link. Figure 1 , the method may include the following steps.
[0067] S101, obtain a storage node set and user customized parameters, the storage node set includes multiple storage nodes, the user customized parameters include the required number of nodes, the number of groups and target adjustment parameters, the value of the target adjustment parameter is related to the security and transmission performance of the data transmission link.
[0068] The storage node set may include all storage nodes that can be used for anonymous transmission, and each storage node may include one or more server devices.
[0069] Each storage node in the storage node set can correspond to a node performance data that characterizes the transmission performance of the storage node, denoted as P (Node). Node represents the storage node. The node performance data is related to the bandwidth of the corresponding storage node. The larger the bandwidth, the larger the node performance data, and the smaller the bandwidth, the smaller the node performance data.
[0070] The node performance data of a storage node can be determined based on the storage upload data rate and storage download data rate of the storage node. The specific method is not limited. As an example, the node performance data P (Node) can be calculated according to the following formula (1).
[0071]
[0072] R u Indicates the storage upload data rate of the storage node currently being calculated, R d Indicates the currently calculated storage download data rate of this storage node.
[0073] In S101, a prompt message may be output to prompt the user to enter user-customized parameters. The prompt message may include the names of the aforementioned user-customized parameters, namely, the number of required nodes, the number of groups, and the target adjustment parameter, and may also indicate the value ranges of these user-customized parameters. After the user enters data based on the prompt message, the user's input data is used as the corresponding user-customized parameters.
[0074] As an example, assuming that the storage node set includes N storage nodes, the required number of nodes can range from greater than 1 to less than or equal to N; the number of groups can range from greater than 1 to less than or equal to N; and the target adjustment parameter can range from greater than 0 to less than 2. N can be any integer, and its value is set as needed without limitation, such as 1000, 5000, etc.
[0075] S102: Divide the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups.
[0076] In step S102, all storage nodes in the storage node set may be divided into a corresponding number of node groups based on any division method. For example, if the number of groups is M, then M node groups may be divided. M may be 20, 100, or any other integer as long as it is less than the total number of nodes N in the storage node set.
[0077] The grouping method is not limited. For example, the storage node set can be evenly divided into M node groups, with each node group containing the same number of storage nodes. Alternatively, the storage node set can be randomly divided into M node groups. Alternatively, the grouping can be performed based on the node performance data of each storage node, such that the sum of the node performance data of all storage nodes in each node group is as consistent as possible.
[0078] The node groups obtained by division can be i Indicates that i is the number of the node group, so the M node groups obtained in S102 can be recorded as: {G1, G2, G3, ..., G M}.
[0079] In S102, when all N storage nodes in the storage node set are divided into M node groups, the number of all possible division situations is s, which can be calculated according to the following formula (2).
[0080]
[0081] The first C on the right side of the equal sign in formula (2) represents the number of all combinations of selecting N / M elements from N elements, and the second C represents the number of all combinations of selecting N / M elements from NN / M elements.
[0082] The performance data of each node group can be expressed as W, that is, the performance data of the i-th node group is recorded as W i , the performance data of the grouping of the above M nodes is recorded as: {W1, W2, W3, ..., W M The group performance data of a node group is equal to the sum of the node performance data of all storage nodes contained in the node group.
[0083] S103 , selecting a plurality of target storage nodes corresponding to the required number of nodes from a plurality of node groups according to the target adjustment parameter and pre-acquired node performance data, so as to establish a data transmission link based on the plurality of target storage nodes.
[0084] When selecting the target storage node, each node group has an equal probability of being selected, that is, the probability of the i-th node group being selected is P(G i ) can be calculated according to the following formula (3).
[0085]
[0086] For the i-th node group, assuming that the node group has K storage nodes, these storage nodes are arranged in ascending order according to the node performance data, that is, the nodes with smaller performance data are placed in the front and the larger ones are placed in the back, and the storage node sequence of the node group can be obtained {n1, n2, n3, ..., n K}, the node performance data of these K storage nodes can be recorded as P1 to P K , that is {P1, P2, P3, ..., P K}, where n1 represents the number of the first storage node in ascending order, and P1 represents the performance data of the storage node; n2 represents the number of the second storage node, and P2 represents the performance data of the storage node; and so on. K Indicates the number of the storage node ranked in the Kth position (i.e. the last one), P K Indicates the performance data of the K-th storage node.
[0087] For any selected node group G i If the probability of selecting a storage node is determined directly based on the node performance data of each storage node in the node group, then the storage node n in the node group k The probability of being selected P(n k |G i ) can be calculated according to the following formula (4).
[0088]
[0089] P k Represents storage node n k Node performance data.
[0090] It can be seen that if the probability of each storage node being selected is determined directly based on the node performance data, the probability of each storage node being selected is relatively fixed. This makes it easier for potential attackers to analyze the storage nodes that constitute the data transmission link, increasing the risk of financial data leakage transmitted in the data transmission link.
[0091] Therefore, in S103, the target adjustment parameters and node performance data can be combined to determine the probability of the target storage node being selected. In this way, different target adjustment parameters can be applied each time the data transmission link is determined, so that the probability of selecting the storage node each time is different, thereby increasing the difficulty of analyzing the storage nodes that constitute the data transmission link and achieving the effect of improving security.
[0092] The method for determining the data transmission link according to the selected target storage node in S103 can be found in the relevant description of the existing anonymous transmission technology and will not be described in detail.
[0093] The beneficial effects of this embodiment are:
[0094] On the one hand, the method of this embodiment determines the data transmission link based on node performance data, which, to a certain extent, can ensure that the majority of nodes in the link have good performance, thereby helping to reduce transmission latency. On the other hand, by further considering user-customized parameters when selecting nodes that constitute the transmission link, it can also take into account security requirements and avoid selecting storage nodes based solely on node performance, which could result in poor transmission link security. Therefore, this solution can meet the different security and transmission performance requirements of different users for data transmission links through user-customized parameters, minimizing transmission latency while ensuring a certain level of security.
[0095] Optionally, a method for selecting a plurality of target storage nodes corresponding to the required number of nodes from a plurality of node groups according to target adjustment parameters and pre-acquired node performance data may include: Figure 2 Steps shown.
[0096] S201: Randomly select one of multiple node groups as the current node group.
[0097] In S201, any random number generation algorithm can be used to generate a random integer within the range of the node group number, and the group corresponding to the random integer is used as the current node group. For example, if there are 50 node groups and the generated random integer is 29, the 29th node group is determined as the current node group. The current node group can be recorded as G s .
[0098] S202: Randomly generate a current random parameter for selecting a target storage node.
[0099] In step S202, a random number generator may be used to generate a random real number within a certain value range, for example, a random real number within the interval [0, 1] as a current random parameter, which is denoted as x. For example, x may be equal to 0.004.
[0100] S203: Determine the current grouping probability corresponding to the current node grouping according to the current random parameter and the target adjustment parameter.
[0101] In step S203, the target adjustment parameter can be substituted into the probability adjustment function shown in formula (5), and the current random parameter can be calculated based on the probability adjustment function to obtain the current grouping probability F(t, x).
[0102]
[0103] Where t represents the target adjustment parameter determined in S101, and its value range can be (0, 2). x is the aforementioned current random parameter, and its value range can be [0, 1]. It can be seen that when the target adjustment parameter is less than 1, the probability adjustment function is a concave function; when the target adjustment parameter is greater than 1, the probability adjustment function is a convex function; when the target adjustment parameter is equal to 1, the current grouping probability is equal to the current random parameter, that is, F(t, x) = x.
[0104] When the user requires the data transmission link to have the highest possible transmission performance, the target condition parameter can be set to be greater than 1. In this way, the calculated result of the current grouping probability will have a greater probability of falling close to 1, so that the selection method of this embodiment has a higher probability of selecting a storage node with larger node performance data and better transmission performance as the target storage node, thereby improving the transmission performance of the data transmission link.
[0105] When the user requires better anonymity and security for the data transmission link, the target adjustment parameter t can be set to less than 1, so that the selection method of this embodiment has a lower probability of selecting a high-performance node (i.e., a storage node with larger node performance data and better transmission performance) as the target storage node, thereby improving the security of the system.
[0106] Assume that the selected node n i The performance of P i The sum of the node performance data of all storage nodes in the storage node set before grouping is W, the number of groups is M, and the group performance data of the selected node group is the sum of the bandwidth values is W g , then select storage node n before grouping i The probability is P i / W, and after grouping, select storage node n i The probability is P i / (W g *M), when selecting a storage node with larger node performance data as the target storage node, since the number of storage nodes in each node group is basically the same, the group performance data W corresponding to the node group with high performance nodes is g will be relatively large, so for the number of groups M, it will be easy to satisfy M greater than W / Wg The condition that M can easily realize P i / W is greater than P i / (W g *M). Therefore, after grouping, the probability of selecting a high-performance node as the target storage node is much lower than the probability of selecting this node without grouping. By grouping, the differences in node performance are averaged, which to a certain extent reduces the degree to which the node performance data affects the selection of the target storage node.
[0107] S204 : Select a candidate storage node in the current node group according to the current grouping probability and the node performance data of each storage node in the current node group.
[0108] After the candidate storage node is selected, it can be determined whether the candidate storage node is the same as each of the determined target storage nodes, that is, whether the candidate storage node has been selected.
[0109] If the candidate storage node is different from any of the determined target storage nodes, step S205 is executed. If the candidate storage node is the same as any of the determined target storage nodes, the process returns to step S201.
[0110] Specifically, the node identifier of the alternative storage node can be compared with the node identifier of each determined target storage node. If the node identifier of the alternative storage node is the same as the node identifier of a determined target storage node, it is determined that the two are the same node, and the alternative storage node is the same as the target storage node. If the node identifier of the alternative storage node is different from the node identifier of each determined target storage node, it is determined that the alternative storage node is different from each determined target storage node.
[0111] The determined target storage node can be understood as the target storage node that has been determined in the process of determining the data transmission link this time.
[0112] S205: If the candidate storage node is different from the determined target storage node, determine the candidate storage node as a target storage node.
[0113] After executing S205 , the process may return to executing the step of randomly selecting one of the multiple node groups as the current node group until multiple target storage nodes corresponding to the required number of nodes are determined.
[0114] That is to say, each time a target storage node is determined, it can be determined whether the number of currently determined target storage nodes is less than the number of required nodes. If it is, return to step S201 and continue to determine the next target storage node. If the number of currently determined target storage nodes is equal to the number of required nodes, this method ends.
[0115] For example, the number of demand nodes can be recorded as Num, and the specific value is not limited, for example, it can be 40, 80. Figure 2 When selecting a target storage node by the method of selecting a target storage node, each time a target storage node is determined, it can be judged whether the number of currently determined target storage nodes Ns is less than Num or equal to Num. If Ns is less than Num, continue to press Figure 2 The next target storage node is determined by the method. If Ns is equal to Num, it means that Num target storage nodes have been determined, then the selection of target storage nodes is stopped, and the data transmission link is determined based on these Num target storage nodes.
[0116] Optionally, in step S204, a method for selecting a candidate storage node in the current node group according to the current grouping probability and the node performance data of each storage node in the current node group may be:
[0117] Adding the node performance data of each storage node in the current node group to obtain the group performance data of the current node group;
[0118] Determine the grouping performance threshold of the current node grouping based on the grouping performance data and the current grouping probability;
[0119] After sorting the storage nodes in the current node group in ascending order according to the node performance data, the node performance data of each storage node is accumulated in sequence until the accumulated performance data is greater than the group performance threshold;
[0120] The last accumulated storage node is determined as the candidate storage node for the current node group.
[0121] In the above embodiment, the group performance data W of the current node group can be obtained first. g , multiply the group performance data and the current group probability F(t, x), and the result is used as the group performance threshold y, that is, y=F(t, x)*W g The group performance data W of the current node group g Equal to the sum of the node performance data of all storage nodes contained in the current node group.
[0122] Arrange the K storage nodes contained in the current node group in ascending order according to the node performance data, and obtain the storage node sequence {n1, n2, n3, ..., n K}, the node performance data of these K storage nodes can be recorded as P1 to P K , that is {P1, P2, P3, ..., P K}. And, the performance data S is accumulated P Initialized to 0, that is, S P =0.
[0123] Then, select the first storage node n1 in the storage node sequence of the current node group, and add the corresponding node performance data P1 to S P In, that is, S P =S P +P1, after the accumulation is completed, judge the S at this time P Is it greater than the group performance threshold y?
[0124] If S P If the value is greater than the group performance threshold y, the last selected storage node, that is, storage node n1, is determined as a candidate storage node, and the method ends;
[0125] If S P If the performance threshold value is not greater than y, the next storage node will be selected according to the storage node sequence, that is, storage node n2 will be selected, and the corresponding node performance data will be accumulated to S P In the process, continue to judge the accumulated S P Is it greater than the group performance threshold y?
[0126] Repeat the above process until a certain accumulation is completed and the S at that time is determined. P If the performance threshold y is greater than the grouping performance threshold, the last selected storage node can be determined as a candidate storage node.
[0127] Optionally, as described above, after selecting an alternative storage node within the current node group, you can directly return to the step of selecting the current node group and reselect the current node group. That is to say, if the alternative storage node is the same as any of the determined target storage nodes, return to the step of randomly selecting one from multiple node groups as the current node group.
[0128] In some optional embodiments, if Figure 2 When determining the target storage node using the method, if the candidate storage node is found to be the same as any of the determined target storage nodes, the following steps can also be performed:
[0129] If the candidate storage node is identical to any of the determined target storage nodes, the previous storage node or the next storage node of the candidate storage node in the current node group is determined as a target storage node.
[0130] The previous storage node or the next storage node here refers to the previous storage node or the next storage node in the storage node sequence after the storage nodes grouped by the current node are arranged in ascending order according to the node performance data.
[0131] As an example, the K storage nodes contained in the current node group are arranged in ascending order according to the node performance data, and the storage node sequence {n1, n2, n3, ..., n K}, if n7 is selected as the candidate storage node, and comparison finds that n7 is the same as a determined target storage node, that is, n7 has been selected as the target storage node before, then the previous storage node of n7, that is, n6, can be selected as the target storage node, or the next storage node of n7, that is, n8, can be selected as the target storage node.
[0132] It should be noted that the premise of selecting the previous storage node or the next storage node as a target storage node is that the previous storage node or the next storage node is different from the determined target storage node. If they are the same, you can press Figure 2 reselect the target storage node.
[0133] The advantage of determining the target storage node in the above manner is that it can reduce Figure 2 The method is repeated the number of times of selection to more quickly determine the target storage node required to form the data transmission link.
[0134] In some optional embodiments, each press Figure 2 When selecting a target storage node using the method shown, the initially determined grouping result can be used. That is, in the process of determining the data transmission link, grouping is performed only once based on the number of groups, and then the target storage node is selected based on the multiple node groups divided this time. This helps to determine the data transmission link more quickly.
[0135] In some optional embodiments, the grouping may be re-performed before each target storage node selection. That is, the storage nodes contained in the storage node set are divided into multiple node groups according to the number of groups, which may include:
[0136] Randomly divide the storage nodes contained in the storage node set into multiple node groups according to the number of groups;
[0137] Correspondingly, in Figure 2 Before returning to the step of randomly selecting one of the multiple node groups as the current node group, the following steps may also be included:
[0138] The storage nodes contained in the storage node set are randomly divided into a plurality of node groups according to the number of groups, wherein the plurality of node groups divided each time are different from each other.
[0139] The process of determining the data transmission link according to the method of the above embodiment may be:
[0140] Perform a grouping operation and divide the storage node set into M node groups. Figure 2 The method selects a target storage node from the M node groups divided this time;
[0141] Perform another grouping to divide the storage node set into M node groups that are different from the previous ones. Figure 2 The method selects another target storage node from the M node groups divided this time;
[0142] And so on, until Num target storage nodes are selected.
[0143] In summary, the method for determining a data transmission link provided in this embodiment has at least the following advantages:
[0144] First, it can effectively utilize node performance to improve transmission efficiency. The method of this embodiment evaluates the performance of storage nodes to obtain corresponding node performance data. When selecting a link, it is more likely to select nodes with higher node performance data, thereby constructing a high-performance link and improving the efficiency of secure financial data transmission.
[0145] The second aspect is to achieve dynamic adjustment between high anonymity and low latency in the transmission link. The method of this embodiment adds the steps of dividing the nodes into groups and setting target condition parameters when selecting the target storage nodes that constitute the data transmission link. This increases the randomness of the target storage node selection. Users can achieve dynamic adjustment between high anonymity and low latency in the financial data transmission link by setting different group numbers and target adjustment parameter values.
[0146] This embodiment also provides a device for determining a data transmission link. Figure 3 , the device may include the following units.
[0147] An obtaining unit 301 is configured to obtain a storage node set and user-customized parameters. The storage node set includes multiple storage nodes. The user-customized parameters include the required number of nodes, the number of groups, and a target adjustment parameter. The value of the target adjustment parameter is related to the security and transmission performance of the data transmission link.
[0148] A division unit 302 is configured to divide the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups;
[0149] The selection unit 303 is configured to select a plurality of target storage nodes corresponding to the required number of nodes from the plurality of node groups according to the target adjustment parameter and pre-acquired node performance data, so as to establish a data transmission link based on the plurality of target storage nodes.
[0150] Optionally, when the selection unit 303 selects a plurality of target storage nodes corresponding to the required number of nodes from a plurality of node groups according to the target adjustment parameter and pre-acquired node performance data, it is configured to:
[0151] Randomly select one of the multiple node groups as the current node group;
[0152] Randomly generate a current random parameter for selecting the target storage node;
[0153] Determine the current grouping probability corresponding to the current node grouping based on the current random parameter and the target adjustment parameter;
[0154] Select a candidate storage node in the current node group based on the current grouping probability and the node performance data of each storage node in the current node group;
[0155] If the candidate storage node is different from the determined target storage node, the candidate storage node is determined as a target storage node;
[0156] Return to the step of randomly selecting one of the multiple node groups as the current node group until multiple target storage nodes corresponding to the required number of nodes are determined.
[0157] Optionally, when selecting a candidate storage node in the current node group based on the current grouping probability and the node performance data of each storage node in the current node group, the selection unit 303 is configured to:
[0158] Adding the node performance data of each storage node in the current node group to obtain the group performance data of the current node group;
[0159] Determine the grouping performance threshold of the current node grouping based on the grouping performance data and the current grouping probability;
[0160] After sorting the storage nodes in the current node group in ascending order according to the node performance data, the node performance data of each storage node is accumulated in sequence until the accumulated performance data is greater than the group performance threshold;
[0161] The last accumulated storage node is determined as the candidate storage node for the current node group.
[0162] Optionally, after selecting a candidate storage node in the current node group, the selection unit 303 is further configured to:
[0163] If the candidate storage node is the same as any of the determined target storage nodes, return to the step of randomly selecting one of the multiple node groups as the current node group;
[0164] Alternatively, if the candidate storage node is identical to any determined target storage node, the previous storage node or the next storage node of the candidate storage node in the current node group is determined as a target storage node.
[0165] Optionally, when the dividing unit 302 divides the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups, it is configured to:
[0166] Randomly divide the storage nodes contained in the storage node set into multiple node groups according to the number of groups;
[0167] Before returning to the step of randomly selecting one of the multiple node groups as the current node group, the dividing unit 302 is further configured to:
[0168] The storage nodes contained in the storage node set are randomly divided into a plurality of node groups according to the number of groups, wherein the plurality of node groups divided each time are different from each other.
[0169] The working principle of the device for determining a data transmission link in this embodiment can be found in the relevant steps of the method for determining a data transmission link in the aforementioned embodiment, and will not be described in detail.
[0170] It is understandable that before using the technical solutions disclosed in the embodiments of the present invention, the type, scope of use, usage scenarios, etc. of the personal information involved in the present invention should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0171] For example, in response to a user's active request, a prompt message is sent to the user to clearly inform the user that the operation requested will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the electronic device, application, server, storage medium, or other software or hardware that performs the operation of the technical solution of the present invention based on the prompt message.
[0172] As an optional but non-limiting implementation, in response to receiving a user's active request, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. Furthermore, the pop-up window may also contain a selection control for the user to select "agree" or "disagree" to provide personal information to the electronic device.
[0173] It is understandable that the above notification and user authorization process is merely illustrative and does not limit the implementation of the present invention. Other methods that comply with relevant laws and regulations may also be applied to the implementation of the present invention.
[0174] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.
[0175] It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the various embodiments can be referenced to each other.
[0176] For the convenience of description, the above systems or devices are described as being divided into various modules or units according to their functions. Of course, when implementing the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0177] Through the description of the above embodiments, it can be seen that those skilled in the art can clearly understand that the present application can be implemented by means of software plus the necessary general hardware platform. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product. The computer software product can be stored in a storage medium such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in various embodiments of the present application or certain parts of the embodiments.
[0178] Finally, it should be noted that, in this document, relational terms such as first, second, third, and fourth are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus comprising the element.
[0179] The above is only a preferred embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A method for determining a data transmission link, characterized in that: include: Obtaining a storage node set and user-customized parameters, wherein the storage node set includes multiple storage nodes, the user-customized parameters include the required number of nodes, the number of groups, and a target adjustment parameter, wherein the value of the target adjustment parameter is related to the security and transmission performance of the data transmission link; Dividing the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups; A plurality of target storage nodes corresponding to the required number of nodes are selected from the plurality of node groups according to the target adjustment parameters and pre-acquired node performance data, so as to establish a data transmission link based on the plurality of target storage nodes.
2. The method according to claim 1, characterized in that The selecting, from the plurality of node groups, a plurality of target storage nodes corresponding to the required number of nodes according to the target adjustment parameter and pre-acquired node performance data, comprises: Randomly select one of the multiple node groups as the current node group; Randomly generate a current random parameter for selecting the target storage node; Determining a current grouping probability corresponding to the current node grouping according to the current random parameter and the target adjustment parameter; Selecting a candidate storage node in the current node group according to the current grouping probability and node performance data of each storage node in the current node group; If the candidate storage node is different from the determined target storage node, determining the candidate storage node as a target storage node; Return to the step of randomly selecting one of the multiple node groups as the current node group until multiple target storage nodes corresponding to the required number of nodes are determined.
3. The method according to claim 2, characterized in that The selecting a candidate storage node in the current node group according to the current grouping probability and the node performance data of each storage node in the current node group includes: Adding the node performance data of each storage node in the current node group to obtain the group performance data of the current node group; Determine a grouping performance threshold of the current node grouping according to the grouping performance data and the current grouping probability; After sorting the storage nodes in the current node group in ascending order according to the node performance data, the node performance data of each storage node is accumulated in sequence until the accumulated performance data obtained is greater than the group performance threshold; The last accumulated storage node is determined as a candidate storage node for the current node group.
4. The method according to claim 2, characterized in that After selecting a candidate storage node in the current node group, the method further includes: If the candidate storage node is the same as any of the determined target storage nodes, returning to the step of randomly selecting one of the multiple node groups as the current node group; Alternatively, if the candidate storage node is the same as any determined target storage node, the previous storage node or the next storage node of the candidate storage node in the current node group is determined as a target storage node.
5. The method according to claim 2, characterized in that The dividing the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups includes: Randomly dividing the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups; Before returning to execute the step of randomly selecting one of the multiple node groups as the current node group, the method further includes: The storage nodes contained in the storage node set are randomly divided into a plurality of node groups again according to the number of groups, wherein the plurality of node groups divided each time are different from each other.
6. A device for determining a data transmission link, characterized in that: include: an obtaining unit, configured to obtain a storage node set and user-customized parameters, wherein the storage node set includes a plurality of storage nodes, and the user-customized parameters include a required number of nodes, a number of groups, and a target adjustment parameter, wherein the value of the target adjustment parameter is related to the security and transmission performance of the data transmission link; a dividing unit, configured to divide the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups; A selection unit is used to select a plurality of target storage nodes corresponding to the required number of nodes from the plurality of node groups according to the target adjustment parameters and pre-acquired node performance data, so as to establish a data transmission link based on the plurality of target storage nodes.
7. The device according to claim 6, characterized in that When the selection unit selects a plurality of target storage nodes corresponding to the required number of nodes from the plurality of node groups according to the target adjustment parameter and pre-acquired node performance data, it is configured to: Randomly select one of the multiple node groups as the current node group; Randomly generate a current random parameter for selecting the target storage node; Determining a current grouping probability corresponding to the current node grouping according to the current random parameter and the target adjustment parameter; Selecting a candidate storage node in the current node group according to the current grouping probability and node performance data of each storage node in the current node group; If the candidate storage node is different from the determined target storage node, determining the candidate storage node as a target storage node; Return to the step of randomly selecting one of the multiple node groups as the current node group until multiple target storage nodes corresponding to the required number of nodes are determined.
8. The device according to claim 7, characterized in that The selection unit is configured to select a candidate storage node in the current node group based on the current grouping probability and the node performance data of each storage node in the current node group: Adding the node performance data of each storage node in the current node group to obtain the group performance data of the current node group; Determine a grouping performance threshold of the current node grouping according to the grouping performance data and the current grouping probability; After sorting the storage nodes in the current node group in ascending order according to the node performance data, the node performance data of each storage node is accumulated in sequence until the accumulated performance data obtained is greater than the group performance threshold; The last accumulated storage node is determined as a candidate storage node for the current node group.
9. The device according to claim 7, characterized in that After selecting a candidate storage node in the current node group, the selection unit is further configured to: If the candidate storage node is the same as any of the determined target storage nodes, returning to the step of randomly selecting one of the multiple node groups as the current node group; Alternatively, if the candidate storage node is the same as any determined target storage node, the previous storage node or the next storage node of the candidate storage node in the current node group is determined as a target storage node.
10. The device according to claim 7, characterized in that When the dividing unit divides the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups, it is configured to: Randomly dividing the storage nodes contained in the storage node set into a plurality of node groups according to the number of groups; Before returning to execute the step of randomly selecting one of the multiple node groups as the current node group, the dividing unit is further configured to: The storage nodes contained in the storage node set are randomly divided into a plurality of node groups again according to the number of groups, wherein the plurality of node groups divided each time are different from each other.