A method, client and system for gathering results of remote self-organizing networks

Through the off-site self-organization method, data resource aggregation is achieved in cross-regional, cross-business, and cross-department projects, the problem of data resource aggregation in traditional system integration solutions is solved, and flexible and low-complexity data transmission is achieved to avoid The distributed system crashes.

CN116132247BActive Publication Date: 2024-12-24HENAN DANFENG TECH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310112926.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-14
Publication Date
2024-12-24
Estimated Expiration
2043-02-14

AI Technical Summary

Technical Problem

Traditional system integration solutions have the problem of effective aggregation of project data resources across regions, across businesses and across departments, especially when the system complexity increases, it is easy to cause distributed systems to collapse.

Method used

Using the results aggregation method of off-site ad hoc network, register with the server through at least two local area networks, obtain the ad hoc network situation, and transmit the result data to other clients according to the ad hoc network situation to achieve aggregation, supporting direct transparency Data transmission or transmission through the third client is automatically adapted to network structure changes.

Benefits of technology

It realizes effective aggregation of cross-region, cross-service and cross-department data resources, strong flexibility and low complexity within the ad hoc network, avoiding the collapse of distributed systems due to excessive server bandwidth occupancy, transmission efficiency and security higher.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116132247B_ABST
    Figure CN116132247B_ABST
Patent Text Reader

Abstract

The present invention provides a method, client and system for aggregating results of a remote self-organizing network. The method comprises: after a first client in a first local area network and a second client in a second local area network of at least two local area networks successfully register with a server, obtaining the self-organizing network status of the first client and the second client; according to the self-organizing network status of the first client and the second client, transmitting the result data of the first client to the second client, so that the result data of the first client is aggregated in the second client; in the scheme of the present invention, each client in the self-organizing network can automatically adapt to changes in the network structure, with strong flexibility and low complexity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to a method, a client and a system for gathering results of a remote self-organizing network. Background Art

[0002] The system integration process has the characteristics of a large number of results, wide distribution, and large regional span. It is urgent to solve the problem of effectively gathering project data resources across regions, businesses, and departments, so as to realize the integration mechanism between various application systems and resource results, and collaborative work between multiple professional services.

[0003] Traditional system integration solutions generally adopt a tightly coupled approach for integration, but this design is not conducive to system development, upgrading and expansion, especially when adding new systems or data. It is very difficult, and as the complexity of the system increases, it may even cause the entire distributed system to collapse. Summary of the invention

[0004] The technical problem to be solved by the present invention is to provide a method, a client and a system for aggregating results of a remote self-organizing network, which solves the problem that cross-regional, cross-business and cross-departmental data resources cannot be effectively aggregated.

[0005] In order to solve the above technical problems, the technical solution of the present invention is as follows:

[0006] A method for aggregating results of a remote self-organizing network, applied to a client, includes:

[0007] After a first client in a first local area network and a second client in a second local area network of at least two local area networks successfully register with the server, obtaining the self-organizing network status of the first client and the second client;

[0008] According to the self-organizing network situation of the first client and the second client, the achievement data of the first client is transmitted to the second client, so that the achievement data of the first client is gathered in the second client.

[0009] Optionally, obtaining the self-organizing network status of the first client and the second client includes:

[0010] Obtaining a direct self-organizing network situation between the first client and the second client; or

[0011] Obtain the self-organizing network status of the first client and the second client through at least one third client in a third local area network.

[0012] Optionally, obtaining the direct self-organizing network status of the first client and the second client includes:

[0013] The first client sends a first communication request to the server for communicating with the second client; the first communication request carries a public network IP address of a first local area network where the first client is located and a first random port number assigned by a first router to which the first client belongs;

[0014] The first client receives the virtual IP address of the public network to which the second local area network to which the second client belongs and the first virtual port number allocated by the second router to which the second client belongs, which is fed back by the server according to the first communication request;

[0015] After the first client determines that it can communicate with the second client according to the first virtual port number, it is determined that the transparent transmission between the first client and the second client is successful; otherwise, it is determined that the transparent transmission between the first client and the second client fails.

[0016] Optionally, when the self-organizing network between the first client and the second client fails, the method further includes:

[0017] When transparent transmission between the first client and the second client fails, and both the first client and the second client fail to successfully transparently transmit data to clients in other local area networks, the first client transmits data to the second client through the server.

[0018] Optionally, the third client of the at least one third local area network is determined by the following process:

[0019] Acquire at least one pending client that can directly transparently transmit successfully with the first client and the second client at the same time;

[0020] Determine the link delay of all links between the first client and the second client through at least one pending client;

[0021] At least one pending client of the link with the smallest link delay is used as the third client.

[0022] Optionally, obtaining the self-organizing network status of the first client and the second client through a third client in a third local area network includes:

[0023] When the first client determines that transparent transmission between the first client and the third client is successful, and transparent transmission between the second client and the third client is successful, the first client transmits data to the second client through the third client, and determines that transparent transmission with the second client is successful.

[0024] Optionally, the first client determining that transparent transmission between the first client and the third client is successful includes:

[0025] The first client sends a second communication request to the server for communicating with the third client; the second communication request carries the public IP address of the first local area network to which the first client belongs and the first random port number assigned by the first router to which the first client belongs;

[0026] The first client receives the virtual IP address of the public network to which the third local area network where the third client is located belongs and the second virtual port number allocated by the third router to which the third client belongs, which are fed back by the server according to the second communication request;

[0027] After the first client determines that it can communicate with the third client according to the second virtual port number, it determines that the transparent transmission between the first client and the third client is successful.

[0028] Optionally, the second client and the third client transparently transmit successfully, including:

[0029] The second client sends a third communication request to the server for communicating with the third client; the third communication request carries the public IP address of the second local area network to which the second client belongs and the second random port number assigned by the second router to which the second client belongs;

[0030] The second client receives the virtual IP address of the public network to which the third local area network where the third client is located belongs and the second virtual port number allocated by the third router to which the third client belongs, which are fed back by the server according to the third communication request;

[0031] After the second client determines that it can communicate with the third client according to the second virtual port number, it determines that the transparent transmission between the second client and the third client is successful.

[0032] The present invention also provides a client, comprising:

[0033] A registration module, used for obtaining the self-organizing network status of a first client in a first local area network and a second client in a second local area network of at least two local area networks after the first client and the second client in a second local area network successfully register with the server;

[0034] The transmission module is used to transmit the achievement data of the first client to the second client according to the self-organizing network status of the first client and the second client, so that the achievement data of the first client is gathered in the second client.

[0035] The present invention also provides a remote self-organizing network achievement aggregation system, comprising: at least two local area networks and a server;

[0036] After the first client in the first local area network and the second client in the second local area network of the at least two local area networks successfully register with the server, the self-organizing network status of the first client and the second client is obtained; according to the self-organizing network status of the first client and the second client, the achievement data of the first client is transmitted to the second client, so that the achievement data of the first client is gathered in the second client.

[0037] The above solution of the present invention includes at least the following beneficial effects:

[0038] The above scheme of the present invention obtains the self-organizing network status of the first client and the second client after the first client in the first local area network and the second client in the second local area network of at least two local area networks successfully register with the server; according to the self-organizing network status of the first client and the second client, the achievement data of the first client is transmitted to the second client, so that the achievement data of the first client is aggregated in the second client; it solves the problem that cross-regional, cross-business and cross-departmental data resources cannot be effectively aggregated, and each client in the self-organizing network can automatically adapt to changes in the network structure, with strong flexibility and low complexity. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] Figure 1 It is a flow chart of a method for aggregating achievements of a remote ad hoc network according to an embodiment of the present invention;

[0040] Figure 2 It is a schematic diagram of a process of directly self-organizing a network between a first project client and a second project client in a specific embodiment provided by the present invention;

[0041] Figure 3 It is a structural diagram of a self-organizing network system composed of a client and a server in a specific embodiment provided by the present invention;

[0042] Figure 4 It is a schematic diagram of the structure of the client of an embodiment of the present invention. DETAILED DESCRIPTION

[0043] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.

[0044] like Figure 1 As shown, an embodiment of the present invention proposes a method for aggregating achievements of a remote ad hoc network, comprising:

[0045] Step 11, after a first client in a first local area network and a second client in a second local area network of at least two local area networks successfully register with a server, obtain the self-organizing network status of the first client and the second client;

[0046] Step 12: according to the self-organizing network status of the first client and the second client, the achievement data of the first client is transmitted to the second client, so that the achievement data of the first client is aggregated in the second client.

[0047] In this embodiment, the achievement data is preferably the relevant data of the application program of the B / S structure (Browser / Server, browser / server mode), and can also be the relevant data of the application program of the C / S (Client-Server, server-client) framework, and the present application is not limited thereto;

[0048] In order to transmit the achievement data in the first client to the second client so that the achievement data of the first client can be gathered at the second client, the first client and the second client in different local area networks are registered with the server. Successful registration indicates that the server has obtained the local information of the client and completed the direct registration. According to the self-organizing network situation between the first client and the second client, the achievement data of the first client can be transmitted to the second client. The self-organizing network here is composed of multiple successfully registered clients and servers. The self-organizing network situation can be used to indicate the data transmission method between the first client and the second client. The first local area network and the second local area network are not restricted by regions, businesses, departments, etc. Through the self-organizing network situation, the restrictions of regions, network environments, etc. are broken, and the problem that cross-regional, cross-business, and cross-departmental data resources cannot be effectively gathered is solved. The network changes between the clients in the self-organizing network (such as changes in addresses assigned by operators) can automatically adapt to changes in network structure without manual intervention, with strong flexibility and low complexity.

[0049] In the registration process between the client and the server, the client needs to provide the server with the corresponding local information, and the server sets the IP (Internet Protocol) address of the public network for the client, and the IP address is unique;

[0050] In a preferred implementation example, the server is deployed in the public network, and can provide data support for the self-organizing network status between the clients, and can also record the data records between the clients. At the same time, it can also record the self-organizing network status between the clients.

[0051] In addition, it is worth noting that in order to ensure the security of the data transmission process, the data transmission between the first client and the second client is encrypted, including:

[0052] The second client generates a public key and a private key;

[0053] The second client shares the public key with the first client, so that the first client randomly generates a session key;

[0054] The first client uses the session key to encrypt the result data by symmetric encryption to obtain the encrypted result data, and the second client uses the public key of the first client to asymmetric encrypt the session key to obtain key information;

[0055] The first client then sends the encrypted result data and key information to the second client; the second client can use the private key to decrypt the key information and use the session key to decrypt the encrypted result data.

[0056] In an optional embodiment of the present invention, obtaining the self-organizing network status of the first client and the second client in step 11 includes:

[0057] Step 111, obtaining the direct self-organizing network status of the first client and the second client; or

[0058] Step 112, obtaining the self-organizing network status of the first client and the second client through at least one third client in a third local area network.

[0059] In the embodiment of the present invention, the direct self-organizing network situation between the first client and the second client means that the achievement data of the first client can be directly transparently transmitted to the second client without occupying the server bandwidth and without being transferred through a third party;

[0060] The first client and the second client form a self-organized network through the third client in the third local area network. In the case that the achievement data of the first client cannot be directly transparently transmitted to the second client, the achievement data is transparently transmitted to at least one third client in the third local area network first, and then the third client transparently transmits the achievement data to the second client, which also does not need to occupy the server bandwidth;

[0061] The above-mentioned self-organizing network situations do not need to occupy the server bandwidth, avoiding the distributed network system from being unable to access normally, downtime, congestion, etc. due to excessive server bandwidth occupancy, reducing the pressure on the server. At the same time, there is no need to occupy the server bandwidth, and the transmission efficiency is higher and the security is stronger, directly or through the third client.

[0062] In a possible implementation example, the third local area network where the third client is located and the second local area network where the second client is located may be the same local area network;

[0063] In another possible implementation example, when there is no direct self-organizing network between the first client and the second client, and the first client does not have a self-organizing network with the second client through a third client, you can choose to transmit the result data to the second client through the server as a relay. At this time, the server bandwidth needs to be occupied and the transmission efficiency is affected by the server bandwidth.

[0064] In an optional embodiment of the present invention, step 111 includes:

[0065] Step 1111, the first client sends a first communication request to the server for communicating with the second client; the first communication request carries the public IP address of the first local area network to which the first client belongs and the first random port number assigned by the first router to which the first client belongs;

[0066] Step 1112, the first client receives the virtual IP address of the public network to which the second local area network to which the second client belongs and the first virtual port number allocated by the second router to which the second client belongs, which are fed back by the server according to the first communication request;

[0067] Step 1113: after the first client determines that it can communicate with the second client based on the first virtual port number, it is determined that transparent transmission between the first client and the second client is successful; otherwise, it is determined that transparent transmission between the first client and the second client fails.

[0068] In an embodiment of the present invention, the IP address of the server is fixed, and the first client sends a first communication request to the server, and the first communication request carries the public network IP of the first local area network to which the first client belongs and the first random port number assigned by the first router to which the first client belongs; similarly, the server receives a communication request sent by the second client, and the communication request sent by the second client should be a communication interaction request between the second client and the first client, and the communication request carries the public network IP of the second local area network to which the second client belongs and the second random port number assigned by the second router to which the second client belongs;

[0069] The server generates a virtual IP address and allocates a virtual port number for the public IP of the first local area network where the first client is located, and generates a virtual IP address and allocates a first virtual port number for the public IP of the second local area network where the second client is located; here, the server generates a virtual IP address and allocates a virtual port number for the client to provide a virtual private network for another client interacting with the client;

[0070] According to the first communication request of the first client and the communication request sent by the second client, the server feeds back to the first client the virtual IP address of the public network to which the second local area network to which the second client belongs and the first virtual port number assigned by the second router to which the second client belongs. When the first client determines that it can communicate with the second client, it is determined that the direct transparent transmission between the first client and the second client is successful, that is, the achievement data of the first client can be directly transparently transmitted to the second client through the virtual IP address and the first virtual port number of the second client. Otherwise, it is determined that the transparent transmission between the first client and the second client fails.

[0071] The IP address of the public network to which the second local area network to which the second client belongs and the second random port number allocated by the second router to which the second client belongs may be sent to the server during registration, or may be carried in the communication request.

[0072] In an optional embodiment of the present invention, when the self-organizing network between the first client and the second client fails in step 111, the method further includes:

[0073] Step 1114: when transparent transmission between the first client and the second client fails and both the first client and the second client fail to successfully transparently transmit data to clients in other local area networks, the first client transmits data to the second client through the server.

[0074] In an embodiment of the present invention, when data cannot be transmitted between the first client and the second client by direct transparent transmission, a third client can be selected to exchange data with the second client, but the third client should meet the condition of being able to directly transparently transmit data with the first client and the second client at the same time. If there is no third client that meets the condition, the server is used as a relay, and the first client transmits data to the second client through the server. In this way, the data transmission between the first client and the second client is only limited by the bandwidth provided by the operator. The server only needs to perform data transmission when direct or indirect transparent transmission cannot be performed between the two clients. The pressure on the server is greatly reduced, and at the same time, the bandwidth resources of each client are fully utilized.

[0075] In an optional embodiment of the present invention, the third client of the third local area network in step 112 is determined by the following process:

[0076] Step 112a, obtaining at least one pending client that can directly transparently transmit successfully with the first client and the second client at the same time;

[0077] Step 112b, determining the link delay of all links between the first client and the second client through at least one pending client;

[0078] Step 112c: select at least one pending client of the link with the smallest link delay as the third client.

[0079] In an embodiment of the present invention, when the first client and the second client cannot directly transparently transmit data, but there are multiple pending clients that can successfully transparently transmit data with the first client and the second client at the same time, the first client receives a list of at least one pending client that can successfully transparently transmit data with the first client and the second client at the same time, sent by the server, the list includes at least one pending client, the virtual IP address and the virtual port number of the pending client, and detects the link delay of all links between the first client and the second client through each pending client, and the link delay can be used to screen the best link;

[0080] It is worth noting that the first client exchanges data with the second client through at least one third client. At this time, the at least one third client acts as a relay between the first client and the second client. There are two situations in which the at least one third client is selected as a relay:

[0081] When the number of at least one third client is 1, the third client must meet the following conditions: (11) direct transparent transmission between the first client and the third client is successful; (12) direct transparent transmission between the second client and the third client is successful.

[0082] In a specific embodiment, the target data of client A is transmitted to client B, and the status of client A and client B is obtained. The transparent transmission between client A and client B fails, but there is a client C that satisfies the above conditions (11) and (12), that is, client C can successfully transparently transmit with client A and client B at the same time. Then client C can serve as a relay node for data interaction between the first client and the second client.

[0083] When the number of at least one third client is greater than 1, the n third clients must meet the following conditions (n>1):

[0084] (21) Direct transparent transmission between n third clients is successful in sequence;

[0085] (22) At least one of the n third clients successfully transparently transmits data between the first client and the third client;

[0086] (23) At least one of the n third clients has successful direct transparent transmission with the second client.

[0087] In a specific embodiment, the target data of client A is transmitted to client B, and the situations of client A and client B are obtained. The transparent transmission between client A and client B fails, but there are clients C1, C2 and C3, which meet the above conditions (21), (22) and (23), that is, the direct transparent transmission between client C1 and client C2 is successful, the direct transparent transmission between client C3 and client C2 is successful, the direct transparent transmission between client C1 and client A is successful, and the direct transparent transmission between client C3 and client B is successful. Then, clients C1, C2 and C3 can be used as relay nodes for data interaction between the first client and the second client.

[0088] Based on the above two relay selection situations, at least one link between the first client and the second client can be formed, and the link delay of each link is calculated by the following process:

[0089] The first client obtains the virtual IP address and virtual port number of each third client; measures the delay or overhead to each third client; constructs a packet, which includes all received delay test information, and the delay test information indicates the delay between other clients and the current third client; sends this packet to other third clients, calculates the shortest path to the second client, stores the shortest path from each third client to each client in a selection table, and determines the link with the smallest link delay between the first client and the second client based on the selection table of each third client.

[0090] In a possible implementation example, after the first client and the second client cannot successfully transmit information, the server and / or the third client may be determined as a relay node between the first client and the second client through the following process:

[0091] The achievement aggregation system of the remote self-organizing network composed of the server, the first client, the second client and other clients is detected by a preset network tool to obtain target information; the preset network tool can determine the target information in the system through protocol analysis and network monitoring; the target information includes fault diagnosis information, performance analysis information and security analysis information, etc.;

[0092] Based on the detection of the preset network tool system, the bandwidth resource status of each client and / or server can be determined in the process of the first client sending the result data to the second client; when the pressure in the link process is too great and the bandwidth resources are insufficient, the link can be switched based on the shortest path selection table.

[0093] In an optional embodiment of the present invention, step 112 includes:

[0094] Step 1121: When the first client determines that transparent transmission between the first client and the third client is successful and transparent transmission between the second client and the third client is successful, the first client transmits data to the second client through the third client and determines that transparent transmission with the second client is successful.

[0095] In an embodiment of the present invention, when the first client and the second client cannot transparently transmit data, and there is a third client, the third client can transparently transmit data with the first client and the second client at the same time. At this time, the third client is used as a relay node between the first client and the second client, and the result data of the first client can be transmitted to the second client through the third client. Similarly, data transmission through the third client does not need to occupy the bandwidth resources of the server, further reducing the pressure on the server.

[0096] In an optional embodiment of the present invention, in step 112, the first client determines that the first client and the third client successfully form a self-organized network, including:

[0097] Step 1121, the first client sends a second communication request to the server for communicating with the third client; the second communication request carries the public IP address of the first local area network to which the first client belongs and the first random port number assigned by the first router to which the first client belongs;

[0098] Step 1122, the first client receives the virtual IP address of the public network to which the third local area network where the third client is located belongs and the second virtual port number allocated by the third router to which the third client belongs, which are fed back by the server according to the second communication request;

[0099] Step 1123: After the first client determines that it can communicate with the third client based on the second virtual port number, it is determined that transparent transmission between the first client and the third client is successful.

[0100] In an embodiment of the present invention, the first client sends a second communication request to the server, and the second communication request carries the public network IP of the first local area network to which the first client belongs and the first random port number assigned by the first router to which the first client belongs; similarly, the server receives a communication request sent by the third client, and the communication request sent by the third client should be a communication interaction request between the third client and the first client, and the communication request carries the public network IP of the third local area network to which the third client belongs and the third random port number assigned by the third router to which the third client belongs;

[0101] The server generates a virtual IP address and allocates a virtual port number for the public IP of the first local area network where the first client is located, and generates a virtual IP address and allocates a second virtual port number for the public IP of the third local area network where the third client is located; here, the server generates a virtual IP address and allocates a virtual port number for the client to provide a virtual private network for another client interacting with the client;

[0102] According to the second communication request of the first client and the communication request sent by the third client, the server feeds back to the first client the virtual IP address of the public network to which the third local area network where the third client is located and the second virtual port number assigned by the third router to which the third client belongs. When the first client determines that it can communicate with the third client, it is determined that the direct transparent transmission between the first client and the third client is successful, that is, the achievement data of the first client can be directly transparently transmitted to the third client through the virtual IP address and the second virtual port number of the third client. Otherwise, it is determined that the transparent transmission between the first client and the third client fails.

[0103] The IP address of the public network to which the third local area network where the third client is located and the third random port number allocated by the third router to which the third client belongs may be sent to the server during registration, or may be carried in the communication request.

[0104] In an optional embodiment of the present invention, the second client and the third client successfully form a self-network in step 112, including:

[0105] Step 1124, the second client sends a third communication request to the server for communicating with the third client; the third communication request carries the public IP address of the second local area network to which the second client belongs and the second random port number assigned by the second router to which the second client belongs;

[0106] Step 1125, the second client receives the virtual IP address of the public network to which the third local area network where the third client is located belongs and the second virtual port number allocated by the third router to which the third client belongs, which are fed back by the server according to the third communication request;

[0107] Step 1126: After the second client determines that it can communicate with the third client based on the second virtual port number, it determines that transparent transmission between the second client and the third client is successful.

[0108] In an embodiment of the present invention, the second client sends a third communication request to the server, and the third communication request carries the public network IP of the second local area network to which the second client belongs and the second random port number assigned by the second router to which the second client belongs; similarly, the server receives the communication request sent by the third client, and the communication request sent by the third client should be a communication interaction request between the third client and the second client, and the communication request carries the public network IP of the third local area network to which the third client belongs and the third random port number assigned by the third router to which the third client belongs;

[0109] The server generates a virtual IP address for the public IP of the second local area network where the second client is located and allocates a first virtual port number, and generates a virtual IP address for the public IP of the third local area network where the third client is located and allocates a second virtual port number; here, the server generates a virtual IP address for the client and allocates a virtual port number to provide a virtual private network for another client interacting with the client;

[0110] According to the third communication request of the second client and the communication request sent by the third client, the server feeds back to the second client the virtual IP address of the public network to which the third local area network where the third client is located and the second virtual port number assigned by the third router to which the third client belongs. When the second client determines that it can communicate with the third client, it is determined that the second client directly transparently transmits data with the third client, that is, the achievement data of the third client can be directly transparently transmitted to the second client through the virtual IP address of the second client and the first virtual port number. Otherwise, it is determined that the transparent transmission between the third client and the second client fails.

[0111] The IP address of the public network to which the third local area network where the third client is located and the first random port number allocated by the second router to which the second client belongs may be sent to the server during registration, or may be carried in the communication request.

[0112] In a specific embodiment, ITS (Intelligent Transport System) is deployed in all cities in province A. The ITS is equipped with a project client in each city to manage the operation of the city's intelligent transportation. Due to geographical and business restrictions, the project clients cannot directly access each other, but need to use a server deployed on the public network to realize cross-regional self-organizing network. The process of self-organizing network between project clients in each city is described below:

[0113] The first project client is set in city A, and the second project client is in city B. The two cities are hundreds of kilometers apart. In order to realize the smart transportation project data transmission between the first project client and the second project client, a server is deployed on the public network. Through the networking application, the local information of the first project client and the second project client is obtained, and the direct connection registration on the server is completed respectively based on the local information;

[0114] When the first project client needs to transmit the smart transportation project data to the second project client, the first project IP address and the first project port number of the public network to which the first project client belongs will be set on the server through the networking application. Similarly, the second project IP address and the second project port number of the public network to which the second project client belongs will be set on the server through the networking application.

[0115] Generate virtual network cards for the first project client and the second project client in the local adapter of the server respectively, set the first project virtual IP address, the first project virtual port number, the second project virtual IP address and the second project virtual port number respectively, and the virtual IP addresses and virtual port numbers of each project are not repeated;

[0116] like Figure 2 As shown, the self-organizing network status of the first project client and the second project client is obtained. When the server receives the first project communication request of the first project client and the second project communication request of the second project client, the first project client and the second project client can be allowed to transparently transmit data, that is, the smart transportation project application of the second project client can successfully access the first project client and understand the operation status of the ITS project of city A; after the first project client and the second project client can directly transparently transmit data, the smart transportation project data can be transmitted through the TCP (Transmission Control Protocol) protocol;

[0117] If the transparent transmission between the first project client and the second project client fails, at least one other client and / or server may be selected as a relay node so that the second project client and the first project client can perform service data transmission;

[0118] like Figure 3As shown, when a third project client is also provided, the third project client is provided in city C, the third project client completes direct connection registration on the server, and the third project IP address and the third project port number of the public network to which the third project client belongs are set on the server through the networking application; a virtual network card is generated for the third project client in the local adapter of the server, and the third project virtual IP address and the third project virtual port number are set; when the server receives the first project communication request of the first project client and the third project communication request of the third project client, the self-networking of the first project client and the third project client can be successful, and the smart transportation project application of the third project client can successfully access the first project client through UDP (User Datagram Protocol) to understand the operation status of the ITS project in city A;

[0119] If data cannot be directly transmitted between the second project client and the third project client, the second project client can be selected as a node relay to enable the smart transportation project application of the second project client to successfully access the third project client through the first project client;

[0120] If the fourth project client (the client is set in city D) and the fifth project client (the client is set in city E) have completed direct registration on the server, the fourth project client and the fifth project client cannot directly transmit data, and there is no project client that can successfully self-network with the fourth project client and the fifth project client at the same time, then the server deployed on the public network can be used as a relay node to realize the smart transportation project data transmission between the fifth project client and the fourth project client;

[0121] Furthermore, the local area network to which the fifth project client belongs is also connected to other servers, and the fourth project client can also transmit smart transportation project data with the fifth project client through the other servers;

[0122] In this way, the first project client, the second project client, the third project client, the fourth project client and the fifth project client can be integrated into a convergence system for the smart transportation project results of the remote self-organizing network, that is, the project clients in different cities can be formed into a virtual local area network. The bandwidth is limited by the bandwidth of the operator, which solves the problem that cross-regional, cross-business and cross-departmental data resources cannot be effectively converged. The project clients in the self-organizing network can automatically adapt to changes in the network structure, with strong flexibility and low complexity.

[0123] The embodiments of the present invention are compatible with both IPV4 (Internet Protocol version 4) and IPV6 (Internet Protocol version 6) network environments. After a first client in a first local area network and a second client in a second local area network of at least two local area networks successfully register with a server, the self-organizing network status of the first client and the second client is obtained. According to the self-organizing network status of the first client and the second client, the achievement data of the first client is transmitted to the second client, so that the achievement data of the first client is aggregated in the second client, thereby solving the problem that cross-regional, cross-business, and cross-departmental data resources cannot be effectively aggregated. The clients in the self-organizing network can automatically adapt to changes in the network structure, with strong flexibility and low complexity.

[0124] like Figure 4 As shown, an embodiment of the present invention further provides a client 40, including:

[0125] A registration module 41, configured to obtain the self-organizing network status of a first client in a first local area network and a second client in a second local area network of at least two local area networks after the first client and the second client in a second local area network successfully register with the server;

[0126] The transmission module 42 is used to transmit the achievement data of the first client to the second client according to the self-organizing network status of the first client and the second client, so that the achievement data of the first client is gathered in the second client.

[0127] Optionally, obtaining the self-organizing network status of the first client and the second client includes:

[0128] Obtaining a direct self-organizing network situation between the first client and the second client; or

[0129] Obtain the self-organizing network status of the first client and the second client through at least one third client in a third local area network.

[0130] Optionally, obtaining the direct self-organizing network status of the first client and the second client includes:

[0131] The first client sends a first communication request to the server for communicating with the second client; the first communication request carries a public network IP address of a first local area network where the first client is located and a first random port number assigned by a first router to which the first client belongs;

[0132] The first client receives the virtual IP address of the public network to which the second local area network to which the second client belongs and the first virtual port number allocated by the second router to which the second client belongs, which is fed back by the server according to the first communication request;

[0133] After the first client determines that it can communicate with the second client according to the first virtual port number, it is determined that the transparent transmission between the first client and the second client is successful; otherwise, it is determined that the transparent transmission between the first client and the second client fails.

[0134] Optionally, when the self-organizing network between the first client and the second client fails, the method further includes:

[0135] When transparent transmission between the first client and the second client fails, and both the first client and the second client fail to successfully transparently transmit data to clients in other local area networks, the first client transmits data to the second client through the server.

[0136] Optionally, the third client of the at least one third local area network is determined by the following process:

[0137] Acquire at least one pending client that can directly transparently transmit successfully with the first client and the second client at the same time;

[0138] Determine the link delay of all links between the first client and the second client through at least one pending client;

[0139] At least one pending client of the link with the smallest link delay is used as the third client.

[0140] Optionally, obtaining the self-organizing network status of the first client and the second client through a third client in a third local area network includes:

[0141] When the first client determines that transparent transmission between the first client and the third client is successful, and transparent transmission between the second client and the third client is successful, the first client transmits data to the second client through the third client, and determines that transparent transmission with the second client is successful.

[0142] Optionally, the first client determining that transparent transmission between the first client and the third client is successful includes:

[0143] The first client sends a second communication request to the server for communicating with the third client; the second communication request carries the public IP address of the first local area network to which the first client belongs and the first random port number assigned by the first router to which the first client belongs;

[0144] The first client receives the virtual IP address of the public network to which the third local area network where the third client is located belongs and the second virtual port number allocated by the third router to which the third client belongs, which are fed back by the server according to the second communication request;

[0145] After the first client determines that it can communicate with the third client according to the second virtual port number, it determines that the transparent transmission between the first client and the third client is successful.

[0146] Optionally, the second client and the third client transparently transmit successfully, including:

[0147] The second client sends a third communication request to the server for communicating with the third client; the third communication request carries the public IP address of the second local area network to which the second client belongs and the second random port number assigned by the second router to which the second client belongs;

[0148] The second client receives the virtual IP address of the public network to which the third local area network where the third client is located belongs and the second virtual port number allocated by the third router to which the third client belongs, which are fed back by the server according to the third communication request;

[0149] After the second client determines that it can communicate with the third client according to the second virtual port number, it determines that the transparent transmission between the second client and the third client is successful.

[0150] It should be noted that the client is a client corresponding to the above method, and all implementation methods in the above method embodiments are applicable to the embodiments of the client and can achieve the same technical effects.

[0151] The embodiment of the present invention also provides a remote self-organizing network achievement aggregation system, comprising: at least two local area networks and a server;

[0152] After the first client in the first local area network and the second client in the second local area network of the at least two local area networks successfully register with the server, the self-organizing network status of the first client and the second client is obtained; according to the self-organizing network status of the first client and the second client, the achievement data of the first client is transmitted to the second client, so that the achievement data of the first client is gathered in the second client.

[0153] It should be noted that the system is a system corresponding to the above method, and all implementation methods in the above method embodiments are applicable to the embodiments of the system and can achieve the same technical effects.

[0154] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0155] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0156] In the embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0157] 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 network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0158] In addition, each functional unit in each embodiment of the present invention 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.

[0159] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, ROM, RAM, magnetic disks, or optical disks.

[0160] In addition, it should be noted that in the apparatus and method of the present invention, it is obvious that each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent schemes of the present invention. Moreover, the steps of performing the above-mentioned series of processing can naturally be performed in chronological order according to the order of description, but it is not necessary to perform them in chronological order, and some steps can be performed in parallel or independently of each other. For those of ordinary skill in the art, it is understood that all or any steps or components of the method and apparatus of the present invention can be implemented in any computing device (including processors, storage media, etc.) or a network of computing devices in hardware, firmware, software or a combination thereof, which can be achieved by those of ordinary skill in the art using their basic programming skills after reading the description of the present invention.

[0161] Therefore, the purpose of the present invention can also be achieved by running a program or a group of programs on any computing device. The computing device can be a well-known general device. Therefore, the purpose of the present invention can also be achieved by simply providing a program product containing a program code that implements the method or device. That is to say, such a program product also constitutes the present invention, and the storage medium storing such a program product also constitutes the present invention. Obviously, the storage medium can be any well-known storage medium or any storage medium developed in the future. It should also be pointed out that in the device and method of the present invention, it is obvious that each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent schemes of the present invention. In addition, the steps of performing the above-mentioned series of processing can naturally be performed in chronological order according to the order of description, but it is not necessary to perform them in chronological order. Some steps can be performed in parallel or independently of each other.

[0162] The above is a preferred embodiment of the present invention. 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 invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A method for aggregating results of remote ad hoc networks, characterized in that: Applied to the client, including: After a first client in a first local area network and a second client in a second local area network of at least two local area networks successfully register with the server, obtaining the self-organizing network status of the first client and the second client; According to the self-organizing network situation of the first client and the second client, the achievement data of the first client is transmitted to the second client, so that the achievement data of the first client is aggregated in the second client; Wherein, obtaining the self-organizing network status of the first client and the second client includes: Obtaining a direct self-organizing network situation between the first client and the second client; or Obtaining a self-organized network situation between the first client and the second client through at least one third client in a third local area network; Obtaining the direct self-organizing network status between the first client and the second client, including: The first client sends a first communication request to the server for communicating with the second client; the first communication request carries a public network IP address of a first local area network where the first client is located and a first random port number assigned by a first router to which the first client belongs; The first client receives the virtual IP address of the public network to which the second local area network to which the second client belongs and the first virtual port number allocated by the second router to which the second client belongs, which is fed back by the server according to the first communication request; After the first client determines that it can communicate with the second client according to the first virtual port number, it is determined that the transparent transmission between the first client and the second client is successful; otherwise, it is determined that the transparent transmission between the first client and the second client fails.

2. The method for gathering achievements of remote ad hoc networks according to claim 1, characterized in that: When the self-organizing network between the first client and the second client fails, the method further includes: When transparent transmission between the first client and the second client fails, and both the first client and the second client fail to successfully transparently transmit data to clients in other local area networks, the first client transmits data to the second client through the server.

3. The method for gathering achievements of remote ad hoc networks according to claim 1, characterized in that: The third client of the at least one third local area network is determined by the following process: Acquire at least one pending client that can directly transparently transmit successfully with the first client and the second client at the same time; Determine the link delay of all links between the first client and the second client through at least one pending client; At least one pending client of the link with the smallest link delay is used as the third client.

4. The method for gathering achievements of remote ad hoc networks according to claim 1, characterized in that: Obtaining the self-organizing network status of the first client and the second client through the third client in the third local area network, including: When the first client determines that transparent transmission between the first client and the third client is successful, and transparent transmission between the second client and the third client is successful, the first client transmits data to the second client through the third client, and determines that transparent transmission with the second client is successful.

5. The method for gathering achievements of remote ad hoc networks according to claim 4, characterized in that: The first client determines that transparent transmission between the first client and the third client is successful, including: The first client sends a second communication request to the server for communicating with the third client; the second communication request carries the public IP address of the first local area network to which the first client belongs and the first random port number assigned by the first router to which the first client belongs; The first client receives the virtual IP address of the public network to which the third local area network where the third client is located belongs and the second virtual port number allocated by the third router to which the third client belongs, which are fed back by the server according to the second communication request; After the first client determines that it can communicate with the third client according to the second virtual port number, it determines that the transparent transmission between the first client and the third client is successful.

6. The method for gathering achievements of remote ad hoc networks according to claim 4, characterized in that: The second client and the third client transparently transmit successfully, including: The second client sends a third communication request to the server for communicating with the third client; the third communication request carries the public IP address of the second local area network to which the second client belongs and the second random port number assigned by the second router to which the second client belongs; The second client receives the virtual IP address of the public network to which the third local area network where the third client is located belongs and the second virtual port number allocated by the third router to which the third client belongs, which are fed back by the server according to the third communication request; After the second client determines that it can communicate with the third client according to the second virtual port number, it determines that the transparent transmission between the second client and the third client is successful.

7. A client, characterized in that: include: A registration module, used for obtaining the self-organizing network status of a first client in a first local area network and a second client in a second local area network of at least two local area networks after the first client and the second client in a second local area network successfully register with the server; A transmission module, configured to transmit the achievement data of the first client to the second client according to the self-organizing network status of the first client and the second client, so that the achievement data of the first client is aggregated in the second client; Wherein, obtaining the self-organizing network status of the first client and the second client includes: Obtaining a direct self-organizing network situation between the first client and the second client; or Obtaining a self-organized network situation between the first client and the second client through at least one third client in a third local area network; Obtaining the direct self-organizing network status between the first client and the second client, including: The first client sends a first communication request to the server for communicating with the second client; the first communication request carries a public network IP address of a first local area network where the first client is located and a first random port number assigned by a first router to which the first client belongs; The first client receives the virtual IP address of the public network to which the second local area network to which the second client belongs and the first virtual port number allocated by the second router to which the second client belongs, which is fed back by the server according to the first communication request; After the first client determines that it can communicate with the second client according to the first virtual port number, it is determined that the transparent transmission between the first client and the second client is successful; otherwise, it is determined that the transparent transmission between the first client and the second client fails.

8. A remote ad hoc network achievement aggregation system, characterized in that: include: At least two LANs and servers; After a first client in a first local area network and a second client in a second local area network of the at least two local area networks successfully register with the server, obtaining the self-organizing network status of the first client and the second client, and transmitting the achievement data of the first client to the second client according to the self-organizing network status of the first client and the second client, so that the achievement data of the first client is aggregated in the second client; Wherein, obtaining the self-organizing network status of the first client and the second client includes: Obtaining a direct self-organizing network situation between the first client and the second client; or Obtaining a self-organized network situation between the first client and the second client through at least one third client in a third local area network; Obtaining the direct self-organizing network status between the first client and the second client, including: The first client sends a first communication request to the server for communicating with the second client; the first communication request carries a public network IP address of a first local area network where the first client is located and a first random port number assigned by a first router to which the first client belongs; The first client receives the virtual IP address of the public network to which the second local area network to which the second client belongs and the first virtual port number allocated by the second router to which the second client belongs, which is fed back by the server according to the first communication request; After the first client determines that it can communicate with the second client according to the first virtual port number, it is determined that the transparent transmission between the first client and the second client is successful; otherwise, it is determined that the transparent transmission between the first client and the second client fails.

Citation Information

Patent Citations

  • NAT (Network Address Translation) traversal method, client and system

    CN115022281A