Data transmission path determination method, device and non-volatile storage medium
By obtaining node information in the data sharing platform and determining optimization goals, and determining the data transmission path that does not include the central node, the problem of excessive configuration requirements of central nodes is solved, and the stability and efficiency of data transmission are improved.
Patent Information
- Application Number
- CN202211656969.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-22
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2042-12-22
AI Technical Summary
In the prior art, the data transmission path must pass through the central node, resulting in excessive requirements for the central node configuration, which is prone to failure in data transmission due to insufficient central node configuration.
By obtaining the node information of each data node in the data sharing platform and determining the optimization target of the target data transmission path, the target data transmission path collection is determined based on the node information and optimization targets, where any data transmission path does not include the central node, and the node and the There are connection lines between the central nodes.
The configuration requirements of the central node are reduced, data transmission failure caused by insufficient configuration of the central node is avoided, and data transmission stability and efficiency are improved.
Smart Images

Figure CN116232975B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data transmission, and in particular, to a method and device for determining a data transmission path and a non-volatile storage medium. Background Art
[0002] In the related art, when transmitting data through a data sharing platform, data transmission between the data provider and the data acquirer needs to pass through the central node, which leads to overly high configuration requirements for the central node and easily causes data transmission failure due to insufficient configuration of the central node.
[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0004] The embodiments of the present application provide a method, device and non-volatile storage medium for determining a data transmission path, so as to at least solve the technical problem that the data transmission path in the related art must pass through the central node, which places too high requirements on the configuration of the central node.
[0005] According to one aspect of an embodiment of the present application, a method for determining a data transmission path is provided, including: obtaining node information of each data node in a data sharing platform, and determining an optimization target of a target data transmission path; determining a target data transmission path set based on the node information and the optimization target, wherein any data transmission path in the target data transmission path set does not include a central node in the data sharing platform, and there is a connection line between the node in any data transmission path and the central node; displaying the target data transmission path set to a target object, and determining the target data transmission path from the target data transmission path set based on a selection instruction of the target object.
[0006] Optionally, the step of determining a target data transmission path set based on node information and an optimization target includes: constructing a first data transmission path set based on the node information, wherein the node information includes the number of first-class nodes, second-class nodes, and third-class nodes, the first-class nodes are nodes connected to data providers, the second-class nodes are nodes connected to data acquirers, and the third-class nodes are intermediate nodes directly connected to at least two nodes; determining a first weight vector and a second weight vector based on the optimization target, wherein the first weight vector is a uniform weight vector, and the second weight vector is a preference reference vector determined based on the preference of the target object; optimizing the first data transmission path set based on the first weight vector and the second weight vector to obtain a target transmission path set.
[0007] Optionally, the step of optimizing the first data transmission path set according to the first weight vector and the second weight vector to obtain the target transmission path set includes: determining the first data transmission path set as the data transmission path set to be processed; repeatedly performing crossover operations and mutation operations on the data transmission path set to be processed, and after each crossover operation and mutation operation are performed on the first data transmission path set, performing a selection operation on the data transmission path set to be processed according to the first weight until a second data transmission path set is obtained, wherein the optimization index of the second data transmission path set is a first preset optimization index; determining the second data transmission path set as the data transmission path set to be processed; repeatedly performing crossover operations and mutation operations on the data transmission path set to be processed, and after each crossover operation and mutation operation are performed on the data transmission path set to be processed, performing a selection operation on the data transmission path set to be processed according to the second weight until a target data transmission path set is obtained, wherein the optimization index of the target data transmission path set is a second preset optimization index.
[0008] Optionally, the step of performing a cross operation on the set of data transmission paths to be processed includes: randomly selecting a first data transmission path and a second data transmission path from the set of data paths to be processed; randomly determining a first target node in the first data transmission path, and randomly determining a second target node in the second data transmission path, wherein the first target node and the second target node are transmission nodes; determining a third target node corresponding to the first target node in the second data transmission path, and determining a fourth target node corresponding to the second target node in the first data transmission path, wherein position information of the first target node in the first data transmission path is the same as position information of the third target node in the second data transmission path, and position information of the second target node in the second data transmission path is the same as position information of the fourth target node in the first data transmission path; exchanging the first target node and the third target node, and exchanging the second target node and the fourth target node to obtain a third data transmission path and a fourth data transmission path; adding the third data transmission path and the fourth data transmission path to the set of data transmission paths to be processed.
[0009] Optionally, the step of performing a mutation operation on the set of data transmission paths to be processed includes: randomly selecting a fifth data transmission path from the set of data paths to be processed; randomly determining at least one fifth target node from the fifth data transmission path, wherein the fifth target node is a preceding node; replacing each fifth target node in the at least one fifth target node with a randomly generated fourth target node to obtain a sixth transmission path; and adding the sixth transmission path to the set of data transmission paths to be processed.
[0010] Optionally, the step of performing a selection operation on the set of data transmission paths to be processed according to the first weight includes: determining a first weight vector corresponding to the first weight; determining the distance between each data transmission path in the set of data transmission paths to be processed and the first weight vector; and selecting a preset number of data transmission paths from the set of data transmission paths to be processed based on the distance; the step of performing a selection operation on the set of data transmission paths to be processed according to the second weight includes: determining a second weight vector corresponding to the second weight; determining the distance between each data transmission path in the set of data transmission paths to be processed and the second weight vector; and selecting a preset number of data transmission paths from the set of data transmission paths to be processed based on the distance.
[0011] Optionally, the first data transmission path set includes multiple initial data transmission paths, wherein, based on the node information, the step of constructing the first data transmission path set includes: determining multiple initial data transmission paths connecting data acquirers and data providers based on first-class nodes, second-class nodes, and third-class nodes, wherein the same first-class node, second-class node, or third-class node will not appear repeatedly in each of the multiple initial data transmission paths.
[0012] Optionally, the optimization objectives include minimizing the total path length, minimizing the data exchange time, and minimizing the load difference.
[0013] According to another aspect of an embodiment of the present application, a data transmission path determination device is also provided, including: an acquisition module, used to obtain node information of each data node in a data sharing platform, and determine the optimization target of the target data transmission path; a processing module, used to determine a target data transmission path set based on the node information and the optimization target, wherein any data transmission path in the target data transmission path set does not include a central node in the data sharing platform, and there is a connection line between the node in any data transmission path and the central node; an interaction module, used to display the target data transmission path set to the target object, and determine the target data transmission path from the target data transmission path set based on the selection instruction of the target object.
[0014] According to another aspect of an embodiment of the present application, a non-volatile storage medium is provided, in which a program is stored, wherein when the program is running, a device where the non-volatile storage medium is located is controlled to execute the data transmission path determination method.
[0015] According to another aspect of an embodiment of the present application, there is further provided an electronic device, including: a memory and a processor, wherein the processor is configured to run a program stored in the memory, wherein the method for determining a data transmission path is executed when the program is run.
[0016] In the embodiment of the present application, the node information of each data node in the data sharing platform is obtained, and the optimization target of the target data transmission path is determined; according to the node information and the optimization target, a target data transmission path set is determined, wherein any data transmission path in the target data transmission path set does not include the central node in the data sharing platform, and there is a connection line between the node in any data transmission path and the central node; the target data transmission path set is displayed to the target object, and the target data transmission path is determined from the target data transmission path set according to the selection instruction of the target object. In this way, the data transmission path that does not include the central node is determined according to the node information of the data node, so as to achieve the purpose of reducing the configuration requirements of the central node, thereby achieving the technical effect of avoiding data transmission failure caused by insufficient configuration of the central node, and further solving the technical problem of excessively high requirements for the configuration of the central node caused by the data transmission path in the related technology that must pass through the central node. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0018] Figure 1 It is an architectural diagram of a data sharing and exchange platform based on relevant technologies;
[0019] Figure 2 is a structural schematic diagram of a computer terminal according to an embodiment of the present application;
[0020] Figure 3 is a flow chart of a method for determining a data transmission path according to an embodiment of the present application;
[0021] Figure 4 is a flowchart of a multi-objective optimization algorithm according to an embodiment of the present application;
[0022] Figure 5 is a schematic diagram of a data transmission path set according to an embodiment of the present application;
[0023] Figure 6 is a schematic diagram of a data transmission path according to an embodiment of the present application;
[0024] Figure 7 is a schematic diagram of a data transmission path after cross processing according to an embodiment of the present application;
[0025] Figure 8 is a schematic diagram of a data transmission path after a variation process according to an embodiment of the present application;
[0026] Fig. 9is a schematic diagram of a target data transmission path set according to an embodiment of the present application;
[0027] Fig.10 It is a structural diagram of a data transmission path determination device according to an embodiment of the present application. DETAILED DESCRIPTION
[0028] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0029] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0030] In order to better understand the embodiments of the present application, the technical terms involved in the embodiments of the present application are explained as follows:
[0031] Multi-objective optimization algorithm: After the multi-objective optimization algorithm generates the initial population P through initialization operation, the fitness of each individual in P is evaluated. Afterwards, new offspring individuals are generated through crossover mutation operation, and the offspring individuals are compared with the parent individuals. After selecting the excellent individuals that meet the scale, it is determined whether the termination condition is met. If not, the next round of evolution is carried out until the algorithm termination condition is met. The multi-objective optimization algorithm always retains the optimal solution of the previous generation during the evolution process. Therefore, the new non-inferior solution is not worse than the optimal solution of the previous generation, and the algorithm will not degenerate.
[0032] In related technologies, such as Figure 1As shown, the data sharing platform consists of a three-layer architecture, and data exchange needs to pass through the front node, transmission node and central node. In the related art, the central node is responsible for realizing the central monitoring and data distribution of data exchange, and the data transmission path of each exchange task must pass through the central node. Therefore, the processing power and robustness of the central node determine the processing power and robustness of the entire data sharing exchange platform to a certain extent. When performing large-scale and large-capacity data exchange tasks, the central node becomes the bottleneck of the entire exchange. In order to meet the data transmission requirements, there is a problem that the hardware equipment configuration and performance of the central node have high requirements. In order to solve this problem, a relevant solution is provided in the embodiment of the present application, which is described in detail below.
[0033] According to an embodiment of the present application, a method embodiment of a method for determining a data transmission path is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0034] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Figure 2 FIG. 1 shows a hardware structure block diagram of a computer terminal (or mobile device) for implementing a method for determining a data transmission path. Figure 2 As shown, the computer terminal 10 (or mobile device 10) may include one or more (102a, 102b, ..., 102n are used to illustrate) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 104 for storing data, and a transmission module 106 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the BUS bus), a network interface, a power supply and / or a camera. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 1 More or fewer components as shown, or with Figure 2 Different configurations are shown.
[0035] It should be noted that the one or more processors 102 and / or other data processing circuits described above may generally be referred to herein as "data processing circuits". The data processing circuits may be embodied in whole or in part as software, hardware, firmware, or any other combination thereof. In addition, the data processing circuit may be a single independent processing module, or may be incorporated in whole or in part into any of the other components in the computer terminal 10 (or mobile device). As described in the embodiments of the present application, the data processing circuit acts as a processor control (e.g., selection of a variable resistor terminal path connected to an interface).
[0036] The memory 104 can be used to store software programs and modules of application software, such as program instructions / data storage devices corresponding to the data transmission path determination method in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, the data transmission path determination method of the above-mentioned application is realized. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the computer terminal 10 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0037] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the computer terminal 10. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0038] The display may be, for example, a touch screen liquid crystal display (LCD) that enables a user to interact with a user interface of the computer terminal 10 (or mobile device).
[0039] In the above operating environment, the embodiment of the present application provides a method for determining a data transmission path, such as Figure 3 As shown, the method comprises the following steps:
[0040] Step S302, obtaining node information of each data node in the data sharing platform, and determining an optimization target of a target data transmission path;
[0041] In the technical solution provided in step S302, the optimization objectives include minimizing the total path length, minimizing the data exchange time and minimizing the load difference.
[0042] Specifically, when determining the data transmission path, it is expected that the number of intermediate nodes passed is as small as possible to reduce the failure rate and ensure the stability of the system; at the same time, it is also expected that the data exchange speed is faster to ensure the efficiency of the system; considering the economic rationality, it is also expected that the load in each node is balanced. These three goals are somewhat conflicting and are typical multi-objective optimization problems. The decomposition-based multi-objective optimization algorithm has the advantages of low complexity and strong search ability. In order to meet multiple expectations at the same time in data sharing and exchange, the improved decomposition-based multi-objective optimization algorithm can be used to optimize the data transmission path.
[0043] Specifically, the above optimization objective can be expressed as the following mathematical model:
[0044] minf1=min K
[0045]
[0046]
[0047] in,
[0048]
[0049] In the above formula, K represents the number of intermediate nodes. and They represent the time spent on data transmission at the transmission node connected to the producer and the consumer and the total time spent on transmission at the intermediate node, Q i represents the load on the i-th node, Q represents the total load, V0 represents the transmission rate of the node when the load is 0, α represents the attenuation factor of the node transmission rate as the load increases, minf1 represents minimizing the path length, minf2 represents minimizing the data exchange time, and minf3 represents minimizing the load difference.
[0050] In addition, it should be noted that when obtaining the node information of each data node, since the node information will change, the node information of each data node can be periodically obtained according to a preset time period, so as to dynamically select the most appropriate data transmission path according to the real-time node information.
[0051] Step S304, determining a target data transmission path set according to the node information and the optimization target, wherein any data transmission path in the target data transmission path set does not include a central node in the data sharing platform, and there is a connection line between a node in any data transmission path and the central node;
[0052] In the technical solution provided in step S304, the step of determining the target data transmission path set based on the node information and the optimization target includes: constructing a first data transmission path set based on the node information, wherein the node information includes the number of first-class nodes, second-class nodes, and third-class nodes, the first-class nodes are nodes connected to the data provider, the second-class nodes are nodes connected to the data acquirer, and the third-class nodes are intermediate nodes directly connected to at least two nodes; determining a first weight vector and a second weight vector based on the optimization target, wherein the first weight vector is a uniform weight vector, and the second weight vector is a preference reference vector determined based on the preference of the target object; optimizing the first data transmission path set based on the first weight vector and the second weight vector to obtain the target transmission path set.
[0053] It should be noted that the first data transmission path set includes multiple initial data transmission paths, wherein, based on the node information, the step of constructing the first data transmission path set includes: determining multiple initial data transmission paths connecting data acquirers and data providers based on first-type nodes, second-type nodes, and third-type nodes, wherein the same first-type node, second-type node, or third-type node will not appear repeatedly in each of the multiple initial data transmission paths.
[0054] Specifically, the process of generating the first data transmission path set is to generate an initial parent generation individual set for evolution through encoding operations. In the embodiment of the present application, the chromosome gene encoding adopts a mixed encoding method. That is, it is assumed that there are N transmission nodes that can be connected to the producer, M transmission nodes that can be connected to the consumer, and K intermediate nodes that can be connected to each other. The nodes are represented by gene bits in the chromosome, which are one-to-one corresponding to each other. The transmission nodes that can be connected to the producer are arranged using N numbers numbered A1~AN, and the transmission nodes that can be connected to the consumer are arranged using M numbers numbered B1~BM; the intermediate nodes are represented by 1~K integers. The arrangement order corresponds to the order in which the data is transmitted through the nodes. The nodes that have not been passed are represented by 0, and except for the code 0, the remaining codes are not allowed to be repeated. At least two transmission nodes need to be passed between the consumer and the producer.
[0055] As an optional implementation, the step of optimizing the first data transmission path set according to the first weight vector and the second weight vector to obtain the target transmission path set includes: determining the first data transmission path set as the data transmission path set to be processed; repeatedly performing crossover operations and mutation operations on the data transmission path set to be processed, and after each crossover operation and mutation operation are performed on the first data transmission path set, performing a selection operation on the data transmission path set to be processed according to the first weight until a second data transmission path set is obtained, wherein the optimization index of the second data transmission path set is a first preset optimization index; determining the second data transmission path set as the data transmission path set to be processed; repeatedly performing crossover operations and mutation operations on the data transmission path set to be processed, and after each crossover operation and mutation operation are performed on the data transmission path set to be processed, performing a selection operation on the data transmission path set to be processed according to the second weight until a target data transmission path set is obtained, wherein the optimization index of the target data transmission path set is a second preset optimization index.
[0056] Specifically, the step of optimizing the first data transmission path set according to the first weight vector and the second weight vector to obtain the target transmission path set can be performed as follows: Figure 4 The multi-objective optimization algorithm based on decomposition is shown. Figure 4 The initialization population in is the first data transmission path set, the termination condition of the first stage is that the optimization index of the second data transmission path set is the first preset optimization index, and the termination condition of the second stage is that the optimization index is equal to the second preset optimization index.
[0057] As an optional implementation, the second preset optimization indicator can be the maximum evolutionary generation G, and the first preset optimization indicator can be obtained by multiplying the second preset optimization indicator by a preset coefficient, wherein the preset coefficient can be adjusted by the user, and the value range is any real number greater than zero and less than 1, such as 0.7G.
[0058] exist Figure 4 In the decomposition-based multi-objective optimization algorithm shown in , the decomposition-based multi-objective optimization algorithm used in the first stage of evolution fully utilizes the initial population data resources and improves the algorithm diversity. In the second stage of the algorithm, a preference reference vector is generated, and the solution closest to the preference weight vector is selected from the optimized solution set generated in the first stage as the parent individual. The preference reference vector is used to generate the optimal solution set that meets the decision maker's expectations. Considering the preference of the data sharing and exchange platform itself, using the preference reference vector to guide the population evolution is more in line with the actual application of the data sharing and exchange platform.
[0059] In addition, in some embodiments of the present application, the user can Figure 4The parameters of some algorithms shown in are set. For example, the target dimension can be set to 3, the initial population size to 300, and the maximum number of evolution generations to 200. Parameter settings of multi-objective optimization algorithm based on decomposition: domain T = 20. Mutation probability P m =0.1, crossover probability CR=1.0, penalty factor θ=5. Node parameter settings: The configuration ratio of front nodes, transmission nodes and intermediate nodes is 10:2:1. Here, the number of transmission nodes is set to 10 and the number of intermediate nodes is set to 5. The weight coefficient range of the preference weight vector is set as follows: λ1∈[0.3,0.8], λ2∈[0.1,0.6], λ3∈[0,0.3].
[0060] It can be understood that the above parameters are only used as illustrations in the embodiments of the present application, and do not mean that the above parameters must be used when adopting the multi-objective optimization algorithm provided in the embodiments of the present application.
[0061] When generating the first weight vector, the simplex grid point design method can be used. The specific formula is as follows:
[0062] λ1+λ2+…+λ m =1 or λ1 2 +λ2 2 +…+λ m 2 =1
[0063]
[0064] In the above formula, H is a user-defined positive integer, representing the number of samples required in each target direction. The number and value of weight vectors are determined by H. If the number of weight vectors is N and the target dimension is m, then N satisfies:
[0065]
[0066] Assuming H=23, the number of generated weight vectors is 300, and the generated uniform weight vector group is {0, 0, 1}, {0, 1 / 23, 22 / 23}, ..., {0, 1, 0} ..., {1, 0, 0}.
[0067] In some embodiments of the present application, the step of performing a cross operation on a set of data transmission paths to be processed includes: randomly selecting a first data transmission path and a second data transmission path from the set of data paths to be processed; randomly determining a first target node in the first data transmission path, and randomly determining a second target node in the second data transmission path, wherein the first target node and the second target node are transmission nodes; determining a third target node corresponding to the first target node in the second data transmission path, and determining a fourth target node corresponding to the second target node in the first data transmission path, wherein position information of the first target node in the first data transmission path is the same as position information of the third target node in the second data transmission path, and position information of the second target node in the second data transmission path is the same as position information of the fourth target node in the first data transmission path; exchanging the first target node and the third target node, and exchanging the second target node and the fourth target node to obtain a third data transmission path and a fourth data transmission path; adding the third data transmission path and the fourth data transmission path to the set of data transmission paths to be processed. In some embodiments of the present application, the step of performing a mutation operation on a set of data transmission paths to be processed includes: randomly selecting a fifth data transmission path from the set of data transmission paths to be processed; randomly determining at least one fifth target node from the fifth data transmission path, wherein the node type of the fifth target node is a pre-node, and the pre-node is a pre-node directly connected to a producer or a consumer; replacing each fifth target node in at least one fifth target node with a randomly generated fourth target node to obtain a sixth transmission path; and adding the sixth transmission path to the set of data transmission paths to be processed.
[0068] Specifically, Figure 5 is a schematic diagram of a part of data transmission paths in a first data transmission path set provided in an embodiment of the present application, Figure 6 is from Figure 5 The two initial data transmission paths determined in the partial data transmission path shown have path codes respectively:
[0069]
[0070] right Figure 6 After performing the cross operation on the two paths shown in Figure 7 The transmission paths shown have path codes:
[0071]
[0072]
[0073] Then, the mutation operation can be performed on the crossed paths to obtain Figure 8The transmission path shown, the offspring individuals are coded as follows:
[0074]
[0075] In some embodiments of the present application, the step of performing a selection operation on a set of data transmission paths to be processed based on a first weight includes: determining a first weight vector corresponding to the first weight; determining the distance between each data transmission path in the set of data transmission paths to be processed and the first weight vector; and selecting a preset number of data transmission paths from the set of data transmission paths to be processed based on the distance; the step of performing a selection operation on a set of data transmission paths to be processed based on a second weight includes: determining a second weight vector corresponding to the second weight; determining the distance between each data transmission path in the set of data transmission paths to be processed and the second weight vector; and selecting a preset number of data transmission paths from the set of data transmission paths to be processed based on the distance.
[0076] The calculation formula of the distance between the data transmission path and the weight vector is as follows:
[0077]
[0078] in, is a weight vector, z * As the reference point, Represents the data transmission path vector, ming PBI It means that the distance between the data transmission path vector and the weight vector can be calculated by using the penalty-based boundary intersection method, and the data transmission path vector can be obtained by code conversion corresponding to the data transmission path.
[0079] Since it is difficult to directly solve the distance d with the above formula, the distance d can be approximated by d1 and d2, where d1 represents the distance from the projection of the individual on the weight vector to the reference point, d2 represents the distance from the projection of the individual to the weight vector, and θ>0 is the preset penalty coefficient. The specific formula is as follows:
[0080]
[0081]
[0082]
[0083] Specifically, the penalty-based boundary crossover aggregation method can be used to select and retain solutions. After the crossover mutation operation, 300 offspring individuals are generated, and the parent individuals are merged with the offspring individuals. Using the above distance calculation formula, 300 individuals with the closest distance weight vectors (i.e., the best individuals of this generation) are selected from the at least individual solution set after the merger as the parent individuals of the next evolution.
[0084] Afterwards, the above-mentioned offspring individuals and parent individuals can be compared through the aggregation function. Through the comparison of the aggregation function, it can be seen that the newly generated offspring 2 individual is better than the parent 2 individual, and the distance to the distance weight vector of the parent 1 is closer. Therefore, the offspring 2 and the parent 1 individuals are retained, and together with the best individuals selected from other parents and offspring, they are used as the parent individuals of the next generation, and the iteration continues.
[0085] When the population evolves to the maximum number of evolutionary generations, 200, the evolutionary iteration ends. Fig. 9 The target data transmission path set is shown. Among them, 1, A1, B1, 7; 1, A5, B1, 7; 1, A5, B2, 7; 1, A1, B5, 7 are the four optimal paths with the least node preference. 1, A3, 6, B4, 7; 1, A4, 3, B4, 7; 1, A1, 2, B2, 7 are the three optimal paths with the fastest data transmission speed preference. 1, A2, 5, B3, 7; 1, A2, 4, B3, 7; 1, A3, 5, B3, 7 are the three optimal paths with load balancing preference for nodes.
[0086] In some embodiments of the present application, when using the preference weight vector to determine the target data transmission path, in order to reduce the difficulty of user selection and reduce the number of paths in the target data transmission path set, a smaller H value can be set, for example, H=2 can be set, so that the number of preference weight vectors generated is 12, that is, the number of optimal transmission paths ultimately generated by the algorithm is 12. The number of preference weight vectors and the specific vector set are determined by the user, as long as the generation conditions and parameter ranges are met.
[0087] It can be understood that the specific numbers and parameter values involved in the embodiments of the present application are for illustration only, and are not equivalent to the fact that the above parameter values must be adopted when applying the methods provided in the embodiments of the present application.
[0088] Step S306 , presenting the target data transmission path set to the target object, and determining the target data transmission path from the target data transmission path set according to the selection instruction of the target object.
[0089] Through the data transmission path determination method provided in the embodiment of the present application, the data transmission path can be dynamically selected, and the intermediate node is designed to be removed from the transmission path. The central node is responsible for the node monitoring and exchange task configuration of the data sharing exchange platform, and no longer transmits and backs up the data. The method of dynamically selecting the data transmission path needs to be implemented by a multi-objective optimization algorithm as support. First, after establishing the optimization goal, an appropriate mathematical model (i.e., the objective function) is established. Then, the data transmission path is selected and optimized using the information of each node obtained. Among them, the individual evolution direction is guided by the weight vector during the algorithm evolution process; the excellent individuals are selected and retained by the aggregation function (the present invention adopts a penalty-based boundary crossing aggregation method). Through the multi-objective optimization algorithm, multiple optimal path solution sets that meet user preferences can be obtained. Finally, decision makers can select a path from the optimized optimal path set for data transmission according to actual conditions.
[0090] In addition, a multi-objective optimization algorithm based on a conversion preference weight vector is also provided in an embodiment of the present application. Specifically, the multi-objective optimization algorithm based on decomposition decomposes a multi-objective optimization problem into a group of single-objective problems through an aggregation function, and the parallel mechanism of the algorithm itself can solve this group of single-objective problems at the same time. Adjacent sub-problems are determined by the Euclidean distance between the weight vectors corresponding to each sub-problem to form a neighborhood. In the evolutionary process, the multi-objective optimization algorithm based on decomposition performs genetic operations on individuals in the neighborhood, protects common genes between individuals, and accelerates the convergence speed of the population.
[0091] In summary, in the embodiment of the present application, by obtaining the node information of each data node in the data sharing platform and determining the optimization target of the target data transmission path; determining the target data transmission path set according to the node information and the optimization target, wherein any data transmission path in the target data transmission path set does not include the central node in the data sharing platform, and there is a connection line between the node in any data transmission path and the central node; displaying the target data transmission path set to the target object, and determining the target data transmission path from the target data transmission path set according to the selection instruction of the target object. In this way, the data transmission path that does not include the central node is determined according to the node information of the data node, so as to achieve the purpose of reducing the configuration requirements of the central node, thereby achieving the technical effect of avoiding data transmission failure due to insufficient configuration of the central node, and further solving the technical problem of excessively high requirements for the configuration of the central node caused by the data transmission path in the related technology that must pass through the central node.
[0092] The present application provides a device for determining a data transmission path. Fig.10 is a schematic diagram of the structure of a device for determining a data transmission path, such as Fig.10As shown, the device includes: a collection module 40, which is used to obtain node information of each data node in the data sharing platform, and determine the optimization target of the target data transmission path; a processing module 42, which is used to determine a target data transmission path set based on the node information and the optimization target, wherein any data transmission path in the target data transmission path set does not include a central node in the data sharing platform, and there is a connection line between the node in any data transmission path and the central node; an interaction module 44, which is used to display the target data transmission path set to the target object, and determine the target data transmission path from the target data transmission path set according to the selection instruction of the target object.
[0093] In some embodiments of the present application, the optimization objectives include minimizing the total path length, minimizing the data exchange time, and minimizing the load difference.
[0094] In some embodiments of the present application, the processing module 42 determines the target data transmission path set based on the node information and the optimization target, including: constructing a first data transmission path set based on the node information, wherein the node information includes the number of first-class nodes, second-class nodes, and third-class nodes, the first-class nodes are nodes connected to the data provider, the second-class nodes are nodes connected to the data acquirer, and the third-class nodes are intermediate nodes directly connected to at least two nodes; determining a first weight vector and a second weight vector based on the optimization target, wherein the first weight vector is a uniform weight vector, and the second weight vector is a preference reference vector determined based on the preference of the target object; optimizing the first data transmission path set based on the first weight vector and the second weight vector to obtain the target transmission path set.
[0095] In some embodiments of the present application, the processing module 42 optimizes the first data transmission path set based on the first weight vector and the second weight vector, and the step of obtaining the target transmission path set includes: determining the first data transmission path set as the data transmission path set to be processed; repeatedly performing crossover operations and mutation operations on the data transmission path set to be processed, and after each crossover operation and mutation operation are performed on the first data transmission path set, performing a selection operation on the data transmission path set to be processed according to the first weight until a second data transmission path set is obtained, wherein the optimization index of the second data transmission path set is a first preset optimization index; determining the second data transmission path set as the data transmission path set to be processed; repeatedly performing crossover operations and mutation operations on the data transmission path set to be processed, and after each crossover operation and mutation operation are performed on the data transmission path set to be processed, performing a selection operation on the data transmission path set to be processed according to the second weight until a target data transmission path set is obtained, wherein the optimization index of the target data transmission path set is a second preset optimization index.
[0096] In some embodiments of the present application, the step of the processing module 42 performing a cross operation on the set of data transmission paths to be processed includes: randomly determining a first target node in the first data transmission path, and randomly determining a second target node in the second data transmission path, wherein the first target node and the second target node are transmission nodes; determining a third target node corresponding to the first target node in the second data transmission path, and determining a fourth target node corresponding to the second target node in the first data transmission path, wherein the position information of the first target node in the first data transmission path is the same as the position information of the third target node in the second data transmission path, and the position information of the second target node in the second data transmission path is the same as the position information of the fourth target node in the first data transmission path; exchanging the first target node and the third target node, and exchanging the second target node and the fourth target node to obtain a third data transmission path and a fourth data transmission path; adding the third data transmission path and the fourth data transmission path to the set of data transmission paths to be processed.
[0097] In some embodiments of the present application, the step in which the processing module 42 performs a mutation operation on the set of data transmission paths to be processed includes: randomly selecting a fifth data transmission path from the set of data paths to be processed; randomly determining at least one fifth target node from the fifth data transmission path, wherein the fifth target node is a preceding node; replacing each fifth target node in the at least one fifth target node with a randomly generated fourth target node to obtain a sixth transmission path; and adding the sixth transmission path to the set of data transmission paths to be processed.
[0098] In some embodiments of the present application, the step in which the processing module 42 performs a selection operation on the set of data transmission paths to be processed based on the first weight includes: determining a first weight vector corresponding to the first weight; determining the distance between each data transmission path in the set of data transmission paths to be processed and the first weight vector; and selecting a preset number of data transmission paths from the set of data transmission paths to be processed based on the distance; the step in which the processing module 42 performs a selection operation on the set of data transmission paths to be processed based on the second weight includes: determining a second weight vector corresponding to the second weight; determining the distance between each data transmission path in the set of data transmission paths to be processed and the second weight vector; and selecting a preset number of data transmission paths from the set of data transmission paths to be processed based on the distance.
[0099] In some embodiments of the present application, the first data transmission path set of the processing module 42 includes multiple initial data transmission paths, wherein, based on the node information, the step of constructing the first data transmission path set includes: determining multiple initial data transmission paths connecting the data acquirer and the data provider based on the first type of nodes, the second type of nodes, and the third type of nodes, wherein the same first type of node, the second type of node, or the third type of node will not appear repeatedly in each of the multiple initial data transmission paths.
[0100] It should be noted that the various modules in the above-mentioned data transmission path determination device can be program modules (for example, a set of program instructions that implement a certain specific function) or hardware modules. For the latter, it can be expressed in the following forms, but is not limited to this: the expression form of each of the above-mentioned modules is a processor, or the functions of each of the above-mentioned modules are implemented by a processor.
[0101] According to an embodiment of the present application, a non-volatile storage medium is also provided. A program is stored in the non-volatile storage medium, wherein when the program is running, the device where the non-volatile storage medium is located is controlled to perform the following data transmission path determination method: obtaining node information of each data node in the data sharing platform, and determining the optimization target of the target data transmission path; determining a target data transmission path set based on the node information and the optimization target, wherein any data transmission path in the target data transmission path set does not include a central node in the data sharing platform, and there is a connection line between the node in any data transmission path and the central node; displaying the target data transmission path set to the target object, and determining the target data transmission path from the target data transmission path set based on the selection instruction of the target object.
[0102] According to an embodiment of the present application, an electronic device is also provided. The electronic device includes a processor and a memory, the processor is used to run a program stored in the memory, wherein the following data transmission path determination method is executed when the program is running: obtaining node information of each data node in the data sharing platform, and determining the optimization target of the target data transmission path; determining a target data transmission path set based on the node information and the optimization target, wherein any data transmission path in the target data transmission path set does not include a central node in the data sharing platform, and there is a connection line between the node in any data transmission path and the central node; displaying the target data transmission path set to the target object, and determining the target data transmission path from the target data transmission path set based on the selection instruction of the target object.
[0103] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0104] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.
[0105] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0106] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0107] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0108] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the relevant technology or all or part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, disk or optical disk, etc. Various media that can store program codes.
[0109] The above is only a preferred implementation 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 path, characterized in that: include: Obtain node information of each data node in the data sharing platform, and determine the optimization target of the target data transmission path; Determine a target data transmission path set according to the node information and the optimization target, wherein any data transmission path in the target data transmission path set does not include a central node in the data sharing platform, and there is a connection line between the node in the arbitrary data transmission path and the central node; present the target data transmission path set to the target object, and determine the target data transmission path from the target data transmission path set according to the selection instruction of the target object; The step of determining a target data transmission path set based on the node information and the optimization target includes constructing a first data transmission path set based on the node information, wherein the node information includes the number of first-class nodes, second-class nodes, and third-class nodes, the first-class nodes are nodes connected to a data provider, the second-class nodes are nodes connected to a data acquirer, and the third-class nodes are intermediate nodes directly connected to at least two nodes; determining a first weight vector and a second weight vector based on the optimization target, wherein the first weight vector is a uniform weight vector, and the second weight vector is a preference reference vector determined based on the preference of the target object; optimizing the first data transmission path set based on the first weight vector and the second weight vector to obtain the target data transmission path set; The step of optimizing the first data transmission path set according to the first weight vector and the second weight vector to obtain the target data transmission path set includes: determining the first data transmission path set as the data transmission path set to be processed; repeatedly performing crossover operations and mutation operations on the data transmission path set to be processed, and after each crossover operation and mutation operation are performed on the first data transmission path set, performing a selection operation on the data transmission path set to be processed according to the first weight until a second data transmission path set is obtained, wherein the optimization index of the second data transmission path set is a first preset optimization index; determining the second data transmission path set as the data transmission path set to be processed; repeatedly performing crossover operations and mutation operations on the data transmission path set to be processed, and after each crossover operation and mutation operation are performed on the data transmission path set to be processed, performing a selection operation on the data transmission path set to be processed according to the second weight until the target data transmission path set is obtained, wherein the optimization index of the target data transmission path set is a second preset optimization index.
2. The method for determining a data transmission path according to claim 1, characterized in that: The step of performing a cross operation on the set of data transmission paths to be processed comprises: Randomly selecting a first data transmission path and a second data transmission path from the set of data transmission paths to be processed; Randomly determine a first target node in the first data transmission path, and randomly determine a second target node in the second data transmission path, wherein the first target node and the second target node are transmission nodes; Determine a third target node corresponding to the first target node in the second data transmission path, and determine a fourth target node corresponding to the second target node in the first data transmission path, wherein position information of the first target node in the first data transmission path is the same as position information of the third target node in the second data transmission path, and position information of the second target node in the second data transmission path is the same as position information of the fourth target node in the first data transmission path; Exchanging the first target node and the third target node, and exchanging the second target node and the fourth target node, to obtain a third data transmission path and a fourth data transmission path; The third data transmission path and the fourth data transmission path are added to the to-be-processed data transmission path set.
3. The method for determining a data transmission path according to claim 1, characterized in that: The step of performing a mutation operation on the set of data transmission paths to be processed comprises: Randomly selecting a fifth data transmission path from the set of data transmission paths to be processed; Randomly determine at least one fifth target node from the fifth data transmission path, wherein the fifth target node is a preceding node; replacing each of the at least one fifth target node with a randomly generated fourth target node to obtain a sixth transmission path; The sixth transmission path is added to the set of data transmission paths to be processed.
4. The method for determining a data transmission path according to claim 1, characterized in that: The step of performing a selection operation on the set of data transmission paths to be processed according to the first weight comprises: Determine a first weight vector corresponding to the first weight; determine a distance between each data transmission path in the set of data transmission paths to be processed and the first weight vector; and select a preset number of data transmission paths from the set of data transmission paths to be processed based on the distance; The step of performing a selection operation on the set of data transmission paths to be processed according to the second weight comprises: Determine a second weight vector corresponding to the second weight; determine the distance between each data transmission path in the set of data transmission paths to be processed and the second weight vector; and select a preset number of data transmission paths from the set of data transmission paths to be processed based on the distance.
5. The method for determining a data transmission path according to claim 1, characterized in that: The first data transmission path set includes a plurality of initial data transmission paths, wherein the step of constructing the first data transmission path set according to the node information includes: The multiple initial data transmission paths connecting the data acquirer and the data provider are determined based on the first type of nodes, the second type of nodes, and the third type of nodes, wherein the same first type of node, the second type of node, or the third type of node will not appear repeatedly in each of the multiple initial data transmission paths.
6. The method for determining a data transmission path according to claim 1, characterized in that: The optimization objectives include minimizing the total path length, minimizing the data exchange time and minimizing the load difference.
7. A data transmission path determination device, characterized in that: include: The acquisition module is used to obtain the node information of each data node in the data sharing platform and determine the optimization target of the target data transmission path; a processing module, configured to determine a target data transmission path set according to the node information and the optimization target, wherein any data transmission path in the target data transmission path set does not include a central node in the data sharing platform, and a connection line exists between a node in any data transmission path and the central node; an interaction module, configured to display the target data transmission path set to a target object, and determine the target data transmission path from the target data transmission path set according to a selection instruction of the target object; Determining the target data transmission path set based on the node information and the optimization target includes constructing a first data transmission path set based on the node information, wherein the node information includes the number of first-class nodes, second-class nodes, and third-class nodes, the first-class nodes are nodes connected to a data provider, the second-class nodes are nodes connected to a data acquirer, and the third-class nodes are intermediate nodes directly connected to at least two nodes; determining a first weight vector and a second weight vector based on the optimization target, wherein the first weight vector is a uniform weight vector, and the second weight vector is a preference reference vector determined based on the preference of the target object; optimizing the first data transmission path set based on the first weight vector and the second weight vector to obtain the target data transmission path set; The optimizing the first data transmission path set according to the first weight vector and the second weight vector to obtain the target data transmission path set includes: determining the first data transmission path set as the data transmission path set to be processed; repeatedly performing crossover operations and mutation operations on the data transmission path set to be processed, and after each crossover operation and mutation operation are performed on the first data transmission path set, performing a selection operation on the data transmission path set to be processed according to the first weight until a second data transmission path set is obtained, wherein the optimization index of the second data transmission path set is a first preset optimization index; determining the second data transmission path set as the data transmission path set to be processed; repeatedly performing crossover operations and mutation operations on the data transmission path set to be processed, and after each crossover operation and mutation operation are performed on the data transmission path set to be processed, performing a selection operation on the data transmission path set to be processed according to the second weight until the target data transmission path set is obtained, wherein the optimization index of the target data transmission path set is a second preset optimization index.
8. A non-volatile storage medium, characterized in that: The non-volatile storage medium stores a program, wherein when the program is running, the device where the non-volatile storage medium is located is controlled to execute the data transmission path determination method according to any one of claims 1 to 6.
9. An electronic device, characterized in that: include: A memory and a processor, wherein the processor is used to run a program stored in the memory, wherein the program executes the data transmission path determination method according to any one of claims 1 to 6 when running.
Citation Information
Patent Citations
Data transmission method and system, electronic equipment and storage medium
CN110677343A
Transmission path allocation method and device for multi-user access
CN112769697A