WO2012075853A1 - Peer-to-peer communication method, apparatus, and system - Google Patents
Peer-to-peer communication method, apparatus, and system Download PDFInfo
- Publication number
- WO2012075853A1 WO2012075853A1 PCT/CN2011/080648 CN2011080648W WO2012075853A1 WO 2012075853 A1 WO2012075853 A1 WO 2012075853A1 CN 2011080648 W CN2011080648 W CN 2011080648W WO 2012075853 A1 WO2012075853 A1 WO 2012075853A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- server
- client
- tcp connection
- shared file
- connection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/1085—Resource delivery mechanisms involving dynamic management of active down- or uploading connections
Definitions
- the present invention relates to the field of communications technologies, and in particular, to a point-to-point communication method, apparatus, and system.
- Scenery technology relates to the field of communications technologies, and in particular, to a point-to-point communication method, apparatus, and system.
- Peer-to-peer also known as peer-to-peer networking technology, relies on the computing power and bandwidth of participants in the network, rather than concentrating on a small number of servers. Clients of resources and servers that provide shared resources. All clients can provide resources, including bandwidth, storage space and computing power. Such networks can be used for a variety of purposes.
- Various file sharing software has been widely used. Use, including open source free P2P file sharing software such as eMule and eDonkey.
- the client can establish a Transmission Control Protocol (TCP) connection and a user datagram protocol (UDP, User Datagram) with the server. Protocol) Messages communicate interactively.
- TCP Transmission Control Protocol
- UDP User Datagram
- UDP User Datagram
- the node list that owns the shared file is obtained from the server, and it can also be understood that the node list of the shared file can be provided; Then, according to the acquired node The list downloads the shared file from the node in the node list. After the client downloads the shared file, the shared file can also be provided to the node that needs the shared file as the node that owns the shared file. In practical applications, because a shared file is large, a file is usually divided into multiple file segments for download.
- the node To implement the shared file fragment to other nodes, the node first publishes the shared file information in the server.
- the shared file information includes the address of the node, the identifier of the shared file that the node can provide, and so on.
- the client when providing the shared file information, the client needs to issue the shared file information to the server through the TCP connection, but the client only establishes a TCP connection with one server for communication, and communicates with other servers through UDP message interaction. Therefore, when publishing shared file information, the client only issues shared file information to one server through TCP, but does not publish shared file information to other servers.
- the embodiment of the invention provides a peer-to-peer communication method, device and system, which can improve the speed at which a client downloads a file and uploads a file.
- the peer-to-peer communication method provided by the embodiment of the present invention includes: acquiring connection state information with each server; determining, according to the connection state information, whether the number of connections between the client and the each server for the transmission control protocol TCP connection reaches the first pre- Setting a threshold value; if the first preset threshold is not reached, selecting at least one server that does not establish a TCP connection with the client according to the connection state information, and establishing a TCP connection with the selected server;
- the shared file information is issued to a server that has established a TCP connection with the client.
- the peer-to-peer communication device includes: an obtaining unit, configured to acquire connection state information with each server; and a determining unit, configured to determine, according to the connection state information, a transmission control protocol between the client and each server Whether the number of connections of the TCP connection reaches the first preset threshold; establishing a connection unit, if the first preset threshold is not reached, according to the connection
- the connection status information selects at least one server that does not establish a TCP connection with itself and establishes a TCP connection with the selected server.
- the publishing unit is configured to issue shared file information to a server that establishes a TCP connection with the client.
- the peer-to-peer communication system provided by the embodiment of the present invention includes: a server and the foregoing client.
- the client first obtains connection state information with each server, and judges and performs with each server according to the connection state information.
- the number of connections of the TCP connection reaches the first preset threshold. If not, select at least one server that does not establish a TCP connection with itself according to the status connection information, and establish a TCP connection with the selected server, and then The server that establishes the TCP connection itself issues the shared file information. Because the client can perform a TCP connection with multiple servers in the technical solution, the client that downloads the shared file is added, so that the download speed of all the clients that download the shared file can be improved. Provide the upload speed of the shared file client.
- FIG. 1 is a schematic diagram of an embodiment of a point-to-point communication method according to an embodiment of the present invention
- FIG. 2a is a schematic diagram of another embodiment of a point-to-point communication method according to an embodiment of the present invention
- FIG. 2b is a schematic diagram of another embodiment of a point-to-point communication method according to an embodiment of the present invention
- FIG. 4 is a schematic diagram of a point-to-point communication method for optimizing a network connection according to an embodiment of the present invention
- FIG. 5 is a schematic diagram of another embodiment of a point-to-point communication method according to an embodiment of the present invention
- FIG. 7 is a schematic diagram of an embodiment of a point-to-point communication system according to an embodiment of the present invention. detailed description
- a node In a P2P environment, a node only stores a partial fragment file of a shared file. In the process of acquiring the entire shared file, the node provides the other node with the fragment file of the shared file owned by the other node, and also from other nodes. Get other clip files that have not yet been obtained.
- the file filel has a total of 10 fragment files, which are denoted as filel_p0 ⁇ filel_p9.
- the A node has filel_p0 ⁇ filel_p4, and the A node publishes the shared file information on the server.
- the node B Based on the shared file information posted by the node A on the server, the node B knows that the node A has the file filel, and learns that the node A has filel_p0 ⁇ filel_p4 through message interaction with the node A, and then the node B downloads the filel_p0 of filel from the node A. Filel_p4.
- the A node can learn from the message interaction that the B node owns filel_p5 ⁇ filel_p9, so that the A node can obtain filel_p5 ⁇ filel_p9 directly from the B node.
- the more nodes including the B node learn the shared file information of the A node, which not only speeds up the downloading of shared files by other nodes, but also speeds up the download of the A node to the entire shared file. speed.
- the embodiment of the present invention provides a peer-to-peer communication method, device, and system.
- the client can perform a TCP connection with multiple servers, and increase the number of clients that download the shared file, so as to improve the download speed of all clients that download the shared file.
- the point-to-point communication method, device and system provided by the embodiments of the present invention are described in detail below.
- the point-to-point communication protocol uses the eMule protocol as an example, and can also be applied to other point-to-point protocols, such as the eDonkey protocol, the Ares protocol, and the BT protocol.
- an embodiment of a peer-to-peer communication method includes:
- a server connection pool module is added to the client, including obtaining a single
- the unit, the judging unit, the establishing unit, the issuing unit, the control unit and the sending unit are responsible for the connection with each server, including the TCP connection and the UDP session, and are responsible for publishing the shared file information to the server, when other modules of the client are downloading the file.
- you need to query the list of nodes that can provide shared files you must use the server connection pool module to schedule when to decide whether to issue TCP query messages or UDP query messages.
- the client obtains connection state information of each server that has a connection relationship with the client, and the connection state information includes a case where each server performs a TCP connection and a UDP session with the client.
- a node that provides a shared file and a downloaded shared file is referred to as a client
- a server that establishes a TCP connection with the client and can provide a node list query function is referred to as a primary server.
- the client can determine whether the number of connections (the number of connections with the primary server) for which the server performs TCP connection with each server reaches the first preset threshold, because the client is When the shared file information is published, the shared file information is only released to the primary server through TCP, and is not released to other servers. Therefore, the number of servers that the client makes a TCP connection with the server directly affects the scope of the client to publish the shared file information.
- the first preset threshold is set by the system.
- the first preset threshold may be set in the range of 300 to 500. If the first preset threshold is set too large, the established threshold is established. The number of TCP connections is too large and the system resources are occupied. If the first preset threshold is set too small, the number of established TCP connections is too small to affect the transmission speed of the shared file.
- the first preset threshold can be based on actual conditions.
- the application process is set, which is not limited here.
- step 103 is performed.
- connection status information At least one server that does not establish a transmission control protocol connection with the client and establish a transmission control protocol connection with the server;
- the client determines that the number of connections between the server and each server is not up to the first
- the threshold is set
- the status of the connection information with each server is queried, and a server that does not establish a TCP connection with itself is selected according to the status of the connection information and a TCP connection is established therewith.
- the client can select one and not established according to the status of the connection information.
- the client can also simultaneously
- the method of establishing a TCP connection with multiple servers to make the number of connections of the server to the TCP connection reaches the first preset threshold, and the manner of establishing the connection is not limited herein.
- the specific way of selecting a TCP connection may be to select a server to respond to the speed of the response, such as preferentially selecting a server with a fast response to establish a TCP connection, or In other ways, for example, a server that does not establish a TCP connection with the client is randomly selected to establish a TCP connection.
- the specific selection method is related to the actual application process, which is not limited herein.
- the response speed of the above server can be detected by using UDP packets as probe messages.
- the server may return the server information, and the client may also select according to the server information returned by the server.
- the number of users of the server included in the server information the client according to the number of users of the server is at least In order, a server with a large number of users is preferentially established to establish a TCP connection.
- the client may issue shared file information to the server that establishes a TCP connection with the client, where the shared file information includes the address of the client, the name of the shared file owned, Information such as size, release time, etc.
- the shared file information includes the address of the client, the name of the shared file owned, Information such as size, release time, etc.
- Other clients can find all the nodes that save the shared file by querying the node list. The more nodes are found, the faster the client downloads the shared file, and the client issues the share to the primary server. The specific process of the file information will be described in detail in the subsequent embodiments.
- the client first obtains connection state information with each server, and then determines, according to the connection state information, whether the number of connections for performing TCP connection with each server reaches the first preset. Threshold value, if not, select at least one server that does not establish a TCP connection with itself according to the status connection information, establish a TCP connection with the selected server, and then issue shared file information to all servers that establish a TCP connection with itself. Since the client can make a TCP connection with more servers, so that more other clients have the opportunity to know that the client can provide shared files, and increase the number of potential clients that download the shared file, thereby improving the download of the shared file.
- any client with its main server can get the node address in the query of the first node list, increase The number of nodes, which in turn increases the download speed of all clients that download the shared file.
- another embodiment of the peer-to-peer communication method in the embodiment of the present invention includes:
- step 201 in the embodiment of the present invention refers to the related description of the step 101 in the foregoing embodiment of the present invention, and details are not described herein again.
- step 203 is performed, if the client determines that the number of connections between the server and each server reaches the first preset threshold. For the value, go to step 204.
- the client determines that the number of connections between the server and the server for the TCP connection does not reach the first preset threshold
- the status of the connection information with each server is selected according to the state of the connection information.
- step 204 is performed.
- the specific setting of the first preset threshold is related to the actual application process, and is not limited herein.
- the client issues shared file information to all the primary servers that have established a TCP connection with itself.
- the client obtains the shared file information stored on the primary server. If the client does not obtain the shared file information on a primary server, it may determine that there is no shared file on the primary server, if such a primary server exists. , the client issues shared file information to the primary server that has not published the shared file.
- the client records the shared file information that has been published to each primary server. If it is determined according to the record that a shared server does not include the shared file information to be published, the client issues the location to the primary server. The shared file information to be published.
- the shared file information previously issued by the client to the primary server includes only the information of the file B, the identifier of the file C, the release time, and the like.
- the client determines that the shared file information of the file A has not been released to the primary server according to the record, the client The terminal issues the shared file information of file A to the primary server.
- the client sends a User Datagram Protocol UDP message to all servers except the TCP connection, and requests to establish a UDP session with the server.
- the client can also communicate with other servers through the UDP message session mode. , but does not publish shared file information to servers other than the primary server.
- the client issues shared file information to all the primary servers, which can be After the release, the shared file information can be released at a certain interval.
- the specific release mode is related to the actual application process, and is not limited herein.
- the client obtains the node number information of the shared file in the locally downloaded node list, and determines whether the number of nodes is smaller than the second preset threshold according to the quantity information. If not, the server selects the query message of the query node.
- the client preferentially sends a query message to the primary server that has not queried the node list within a certain period of time. If there is no primary server that meets the requirements, the client sends a UDP to the server that does not establish a TCP connection. Query the message and query the node list of the files on other servers that do not have a TCP connection established.
- the first time can be set by the internal program of the system, and is generally set to be more than 1 minute.
- the main reason is to prevent the query message from being sent too frequently, which may be considered as malicious sending information, and the client that sends the query message is used by the system. Shielding can be set according to the actual situation, so that the client will not send the query message to the main server because the setting time is too long, and the client will not be blocked by the system because the setting time is too short. limited.
- the next query message may be sent after waiting for the feedback result of the queried server, and the query message may be simultaneously sent to multiple servers at the same time, and wait until the queried server
- the feedback result is executed in the next step, and the specific query situation is related to the actual application process, which is not limited herein.
- the client determines, according to the information displayed in the locally downloaded node list, whether the number of nodes of the shared file recorded in the locally downloaded node list exceeds a second preset threshold. 207.
- the second preset threshold is set by the system.
- the second threshold setting may be set in a range of 200 to several thousand, and may or may not be equal to the first preset threshold.
- the number of nodes affects the speed at which the shared file is downloaded, so the specific setting of the second preset threshold is set. It is related to the download speed to be shared by the actual application, which is not limited here.
- the client when the number of nodes sharing the file exceeds the second preset threshold, the client does not send the information of the query node list to each server, and stops querying the node of the shared file.
- the quantity when it is determined in step 206 that the number of nodes of the shared file recorded in the locally downloaded node list is lower than the second preset threshold, the information of the query node list is sent to each server, and the number of nodes for querying the shared file is started.
- the client obtains the number of nodes of the shared file in the locally downloaded node list, and determines whether the number of nodes is smaller than the second preset threshold. If it is smaller, the client preferentially selects no query for a certain period of time.
- the primary server of the node list performs the query. Since the client and the primary server are in TCP mode communication, the reliability is high, and the correctness of the transmitted data can be ensured.
- the request information of the node list and the response information of the server are not lost. Therefore, the client can be effectively prevented from losing the opportunity to obtain a large number of nodes, thereby affecting the download speed of all clients downloading the shared file and the download speed of the shared file downloaded by the client.
- the client sends a UDP query message to the server that does not establish a TCP connection, and queries the node list of the file on the other server that does not establish a TCP connection, which can effectively increase the chance of querying other nodes, and improve the client. Download the download speed of the shared file. Further, the client determines, according to the number of nodes of the shared file in the locally downloaded node list, whether the number of nodes having the shared file recorded in the locally downloaded node list exceeds a second preset threshold, and if so, indicates the number of nodes. Sufficiently, there is no need to send a query request to the server to query the node list to increase the number of nodes as the download source, and the client no longer queries the server for the node list.
- FIG. 2b is a flowchart of a peer-to-peer communication method in a scenario in which a client only has a partial file segment in a shared file to be downloaded, and needs to download other file segments from other nodes to obtain a complete shared file to be downloaded.
- the client performs the following steps 211 to 217, where the steps 211 to 214 are basically similar to the steps 201 to 204 in FIG. 2a, and are only briefly described herein: Step 211: The client acquires connection state information with each server;
- Step 212 the client determines whether the number of connections with each server for TCP connection reaches the first a preset threshold; if the first preset threshold is reached, step 214 is performed, otherwise step 213 is performed; step 213, if the number of connections between the client and each server for TCP connection does not reach the first preset threshold a value, according to the connection status information, selecting at least one server that does not establish a TCP connection with the client and establishing a TCP connection with the server;
- Step 214 The client issues shared file information to a server that establishes a TCP connection with the client; the client owns a part of the file segment in the shared file;
- Step 215 Determine, according to the locally saved node list of the file segment of the shared file to be downloaded, whether the number of nodes in the node list of the shared file that has the shared file to be downloaded is smaller than the second preset threshold. Proceed to step 216; if greater than the second preset threshold, proceed to step 219;
- the locally saved node list of the file segment having the shared file to be downloaded is generated according to the shared file information of other nodes stored locally;
- Step 216 Send a query message for querying the node list to the server, where the node list includes a node that has a shared file to be downloaded, where the query message includes the identifier of the shared file to be downloaded;
- a partial server may be selected to send a query message, and a selection policy when selecting a server is as described in step 205.
- Step 217 Receive a query result returned by the server, that is, return a node list of the node that has the shared file to be downloaded, and merge the returned node list with the previously locally saved node list to update the locally saved node list, and return to step 215. ;
- step 218 the node that owns the shared file to be downloaded is obtained from the locally saved node list, and the remaining fragment files of the shared file to be downloaded are downloaded from the obtained node, thereby obtaining the entire shared file to be downloaded.
- the client can issue shared file information to a larger number of primary servers through the first four steps, thereby increasing the chances of other clients from More primary servers are aware of the client's opportunity to share file information.
- the download speed is increased by increasing the number of clients that download the shared file;
- the client since other clients download the file fragments of the shared file from the client and interact with each other's file fragments, the client can download other file fragments from other clients as soon as possible, shortening the client. The time it takes to download to the full shared file.
- the client that publishes the shared file information does not obtain the remaining file fragments from other clients during the process of downloading the shared file fragments from the client, and may go through steps 215 to 218. Speed up the process of getting the rest of the file fragments from other clients.
- FIG. 3 For the network diagram in the prior art, refer to FIG. 3.
- FIG. 4 For the network diagram optimized by the embodiment of the present invention, refer to FIG. 4, where 301 and 401 are eMule network servers, 302 and 402 are eMule network clients, 303 and 403 is a node in the eMule network.
- the solid line in the connection between the eMule network server, the eMule network client, and the nodes in the eMule network indicates the connection of the TCP connection mode, and the dotted line indicates the connection of other connection methods.
- another embodiment of the peer-to-peer communication method according to the embodiment of the present invention includes:
- step 501 in the embodiment For the content of the step 501 in the embodiment, refer to the related description of the step 101 in the foregoing embodiment of the present invention, and details are not described herein again.
- the first server may be a server that establishes a TCP connection with the client
- the second server may be a server that does not establish a TCP connection with the client.
- the server may also be Other types of devices, if applied to the Ares protocol, the client establishes a connection with the super node. If the BT protocol is applied, the client establishes a connection with the tracker server, and the specific device is related to the actual application process, which is not limited herein.
- the client can determine whether the number of connections between the TCP connection and each server reaches the first preset threshold.
- the server is selected to establish a TCP connection with the server that has not established a TCP connection with itself, and the number of established TCP connections reaches the first pre-establishment.
- the threshold is set, the shared file information is published to the primary server.
- the client determines that the number of connections between the TCP connection and the server is up to the first preset threshold according to the obtained connection status information
- the client issues the shared file information to the primary server, and other clients can query the shared file by querying the shared file.
- Information finds all servers that store shared file information. The more servers you find, the faster the client downloads the shared file.
- step 204 For the specific process of publishing the shared file information in the embodiment of the present invention, refer to the description related to step 204 in the embodiment of FIG. 2, and details are not described herein again.
- the client obtains the number of nodes of the shared file in the locally downloaded node list, and determines whether the number of nodes is smaller than the second preset threshold according to the number of nodes. If the query is too frequent, the client has a query message. It may be blocked by the system as maliciously sent information. Therefore, the client prefers to send a query message to the primary server that has not queried the node list within a certain period of time. If there is no primary server that meets the requirements, the client does not establish a TCP connection. The server sends a UDP query message to query the list of nodes that have shared files on other servers that do not have a TCP connection established.
- step 205 For the specific process of querying the node list in the embodiment of the present invention, refer to the description related to step 205 in the foregoing embodiment of FIG. 2, and details are not described herein again.
- the client determines whether the number of nodes having the shared file to be downloaded exceeds the second preset threshold according to the number of nodes in the locally downloaded node list that have the shared file to be downloaded. More, no need to establish a TCP connection with the server to increase the section If the number of nodes of the shared file is less than the second preset threshold, the number of nodes of the shared file is not queried. Then, the information of the query node list is sent to each server, and the list of nodes having the shared file to be downloaded is started to be queried.
- the second preset threshold may or may not be equal to the first preset threshold. Because the number of nodes affects the speed of downloading the shared file, the specific setting of the second preset threshold is It is related to the download speed to be shared by the actual application, which is not limited here.
- an embodiment of the point-to-point communication device in the embodiment of the present invention includes:
- the obtaining unit 601 is configured to obtain connection state information with each server.
- the determining unit 602 is configured to determine, according to the connection state information, whether the number of connections between the client and each server for the transmission control protocol TCP connection reaches a first preset threshold;
- Establishing a connection unit 603, configured to: if the first preset threshold is not reached, select at least one server that does not establish a TCP connection with the client according to the connection status information, and establish a TCP connection with the selected server;
- the issuing unit 604 is configured to issue shared file information to a server that establishes a TCP connection with the client.
- the issuing unit 604 is further configured to: if the determining result of the determining unit 602 is that the first preset threshold is reached, issue the shared file information to all servers that establish a TCP connection with the client.
- the obtaining unit 601 is further configured to obtain a locally saved node list of the node that has the shared file to be downloaded;
- the determining unit 602 is further configured to determine whether the number of nodes in the node list is less than a second preset threshold
- the sending unit 605 is configured to: when the determination result of the determining unit 602 is less than the second preset threshold, send a TCP query message to the server that establishes the TCP connection, to all but the establishment of the TCP.
- the server sends a UDP query message, where the query message is used to query a node list that has a shared file to be downloaded;
- the determining unit 602 determines that the number of nodes having the shared file in the locally saved node list is less than the second preset threshold, sending the TCP to the server establishing the TCP connection according to the connection state information with the server.
- Query messages send UDP query messages to all servers except TCP.
- the control unit 606 is configured to merge the node list returned by the server with the locally saved node list to update the locally saved node list, and if the determining unit 602 determines that the number of nodes in the updated locally saved node list exceeds the second preset Threshold, the number of nodes that stop querying the shared file.
- the obtaining unit 601 first acquires connection state information with each server, and the connection state information includes a case where each server performs a TCP connection and a UDP session with the client.
- the server that establishes a TCP connection with the client may be referred to as a primary server.
- the determining unit 602 determines whether the number of connections between the TCP connection and the server is up to the first preset threshold according to the connection status information. For the specific determination process, refer to the description in the embodiment shown in FIG. 1 above. Let me repeat.
- the specific setting of the first preset threshold is related to the actual application process, and may be arbitrarily set according to the expected speed of the shared file required by the client, which is not limited herein.
- the establishing connection unit 603 selects at least one server that does not establish a TCP connection with itself and establishes a TCP connection with it, and when establishing When the number of TCP connections reaches the first preset threshold, the issuing unit 604 issues the shared file information to all the main servers, and if the determining unit 602 determines that the number of connections between the client and each server for the TCP connection reaches the first preset gate The limit value is also issued by the issuing unit 604 to all the main servers to share the file information.
- the publishing unit 604 advertises the shared file information to all the main servers, which may be advertised at the same time, and the shared file information may be advertised at a certain time interval.
- the specific publishing method is related to the actual application process, and is not limited herein.
- the sending unit 605 sends a UDP message to all servers except the established TCP connection, and requests to establish a UDP message session with the server for subsequent communication with the server that establishes the UDP message session.
- the obtaining unit 601 When the node list is queried, the obtaining unit 601 first obtains the node number information of the shared file to be downloaded in the locally saved node list, and according to the node quantity information, the determining unit 602 determines whether the number of nodes is less than the second preset threshold. If not, the establishing connection unit 603 preferentially sends a query message to the primary server that has not queried the node list within a certain period of time, and the query message is used to query the node list that has the shared file to be downloaded, if there is no primary server that meets the requirements, The sending unit 605 sends a UDP query message to the server that does not establish a TCP connection, and queries the node list of files on other servers that do not establish a TCP connection.
- the certain time can be set by the internal program of the system, generally set to more than 1 minute, mainly to prevent the query message from being sent too frequently, which may be considered as malicious sending information, and the client sending the query message is blocked by the system. Therefore, the certain time can be specifically set according to the actual situation, and the setup unit 603 does not send the query message to the primary server due to the set time, and the client is not blocked by the system because the set time is too short.
- the specific time is not limited here.
- the sending unit 605 issues a query list of the node list for querying the node list that has the shared file to be downloaded
- the query message may be sent after the query result of the queryed server, and then the next query message may be sent.
- the server sends the query message at the same time, and waits for the feedback result of the queried server to execute the next step.
- the specific query is related to the actual application process, which is not limited herein.
- the determining unit 602 is configured according to the shared text in the obtained locally downloaded node list.
- the number of nodes of the device determines whether the number of nodes sharing the file exceeds the second preset threshold. If it exceeds, it indicates that the number of nodes is sufficient, and there is no need to establish a TCP connection with the server to add a node, and the control unit 606 no longer
- the server sends a query message of the query node list, and stops querying the number of nodes of the shared file.
- the server sends a query node to each server.
- the list of query messages the number of nodes that started querying shared files.
- the specific setting of the second preset threshold is related to the actual application process, and is not limited herein.
- the obtaining unit 601 first obtains connection state information with each server, and according to the connection state information, the determining unit 602 determines whether the number of connections for performing TCP connection with each server reaches a first preset threshold.
- the shared file information is issued by the issuing unit 604 to all the primary servers. If not, the establishing connection unit 603 selects at least one server that does not establish a TCP connection with itself according to the state connection information, and establishes a TCP connection with the selected server, and the issuing unit The 604 issues the shared file information to all the main servers.
- the client can make a TCP connection with more servers, the client that downloads the shared file is added, so that the download speed of all the clients that download the shared file can be improved, and since The server that establishes the TCP connection publishes the shared file information, so that any client with its main server can obtain the node address in the query of the first node list, increase the number of nodes, and thereby improve all the users who download the shared file. Download speed of clients. Further, the determining unit 602 determines, according to the node number information of the shared file in the locally downloaded node list acquired by the obtaining unit 601, whether the number of nodes of a shared file exceeds a second preset threshold, and if so, indicates the number of nodes. Sufficiently, the sending unit 605 does not need to send a query message again.
- an embodiment of the point-to-point communication system in the embodiment of the present invention includes:
- the client 701 is configured to obtain connection state information with each server, and determine, according to the connection state information, whether the number of connections between the server and the server for the transmission control protocol TCP connection is A first preset threshold is reached. If the first preset threshold is not reached, at least one server that does not establish a TCP connection with the server is selected according to the connection status information, and a TCP connection is established with the selected server. The server that established the TCP connection publishes the shared file information.
- the server 702 is a high-performance computer in a network environment. It receives service requests submitted by other computers (clients) on the network, and provides corresponding services. It is a computer that manages resources and provides services for users. The specific working process of the server is Common sense, no more details here.
- the medium can be a read only memory, a magnetic disk or a compact disk or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
一种点对点通信方法、 装置及系统 本申请要求于 2010 年 12 月 8 日提交中国专利局、 申请号为 201010579035.7、 发明名称为 "一种点对点通信方法、 装置及系统" 的中国专 利申请的优先权, 其全部内容通过引用结合在本申请中。 技术领域 Method, device and system for peer-to-peer communication. The present application claims priority to Chinese patent application filed on December 8, 2010, the Chinese Patent Office, Application No. 201010579035.7, entitled "A Peer-to-Peer Communication Method, Apparatus and System" The entire contents of which are incorporated herein by reference. Technical field
本发明涉及通信技术领域, 尤其涉及一种点对点通信方法、 装置及系统。 皆景技术 The present invention relates to the field of communications technologies, and in particular, to a point-to-point communication method, apparatus, and system. Scenery technology
点对点技术(peer-to-peer, P2P ) 又称对等互联网络技术, 依赖网络中参 与者的计算能力和带宽, 而不是把依赖都聚集在较少的几台服务器上, 节点 同时作为下载共享资源的客户端和提供共享资源的服务器端, 所有的客户端 都能提供资源, 包括带宽, 存储空间和计算能力, 这类网络可以用于多种用 途, 各种文件共享软件已经得到了广泛的使用, 包括 eMule及 eDonkey等开 源免费的 P2P文件共享软件, 在这些文件共享软件中, 客户端可以通过与服 务器建立传输控制协议 ( TCP, Transmission Control Protocol )连接及用户数 据报协议( UDP , User Datagram Protocol )消息交互进行通信, TCP是面向连 接(连接导向) 的、 可靠的、 基于字节流的运输层通信协议, UDP是无连接 的传输层协议 , 提供面向事务的简单不可靠信息传送服务。 Peer-to-peer (P2P), also known as peer-to-peer networking technology, relies on the computing power and bandwidth of participants in the network, rather than concentrating on a small number of servers. Clients of resources and servers that provide shared resources. All clients can provide resources, including bandwidth, storage space and computing power. Such networks can be used for a variety of purposes. Various file sharing software has been widely used. Use, including open source free P2P file sharing software such as eMule and eDonkey. In these file sharing software, the client can establish a Transmission Control Protocol (TCP) connection and a user datagram protocol (UDP, User Datagram) with the server. Protocol) Messages communicate interactively. TCP is a connection-oriented (connection-oriented), reliable, byte-stream-based transport layer communication protocol. UDP is a connectionless transport layer protocol that provides transaction-oriented simple unreliable information transfer services.
节点作为客户端在获取需要的共享文件时, 需要执行以下两个过程: 首 先从服务器获取拥有该共享文件的节点列表, 也可以理解是能提供该共享文 件的节点列表; 然后, 根据获取的节点列表, 从节点列表中的节点下载共享 文件, 在该客户端下载到了该共享文件后, 也可以作为拥有该共享文件的节 点向其他需要该共享文件的节点提供该共享文件。 在实际应用中, 由于共享 文件较大, 通常将一个文件分为多个文件片段来进行下载。 When the node as the client obtains the required shared file, the following two processes need to be performed: First, the node list that owns the shared file is obtained from the server, and it can also be understood that the node list of the shared file can be provided; Then, according to the acquired node The list downloads the shared file from the node in the node list. After the client downloads the shared file, the shared file can also be provided to the node that needs the shared file as the node that owns the shared file. In practical applications, because a shared file is large, a file is usually divided into multiple file segments for download.
在 P2P技术中, 客户端在下载共享文件时, 能够提供该共享文件的节点 列表中节点的数目越多, 下载速度越快。 In P2P technology, when a client downloads a shared file, it can provide a node of the shared file. The more nodes in the list, the faster the download speed.
节点要实现向其他节点提供共享文件片段, 首先要在服务器中发布共享 文件信息, 共享文件信息包括该节点的地址、 以及该节点能够提供的共享文 件的标识等等。 To implement the shared file fragment to other nodes, the node first publishes the shared file information in the server. The shared file information includes the address of the node, the identifier of the shared file that the node can provide, and so on.
现有技术中, 客户端在提供共享文件信息时, 需通过 TCP连接向服务器 发布共享文件信息, 但客户端都是只与一个服务器建立 TCP连接进行通信, 而同其他服务器通过 UDP消息交互进行通信, 因此在发布共享文件信息时, 客户端只通过 TCP向一个服务器发布共享文件信息, 但并不会向其他服务器 发布共享文件信息。 In the prior art, when providing the shared file information, the client needs to issue the shared file information to the server through the TCP connection, but the client only establishes a TCP connection with one server for communication, and communicates with other servers through UDP message interaction. Therefore, when publishing shared file information, the client only issues shared file information to one server through TCP, but does not publish shared file information to other servers.
在上述现有技术中, 由于节点在提供共享文件片段时, 只向一个与自身 建立了 TCP连接的服务器发布共享文件信息, 这将造成能够获取该节点的共 享文件信息, 并继而依据该节点的共享文件信息, 从该节点下载该共享文件 片段的客户端较少, 进而影响到下载该共享文件所有客户端的下载速度。 发明内容 In the above prior art, since the node issues shared file information only to a server that establishes a TCP connection with itself when providing the shared file fragment, this will result in the acquisition of the shared file information of the node, and then according to the node. Sharing file information, there are fewer clients downloading the shared file fragment from the node, which in turn affects the download speed of all clients downloading the shared file. Summary of the invention
本发明实施例提供了一种点对点通信方法、 装置及系统, 能够提高客户 端下载文件和上传文件的速度。 The embodiment of the invention provides a peer-to-peer communication method, device and system, which can improve the speed at which a client downloads a file and uploads a file.
本发明实施例提供的点对点通信方法, 包括: 获取与各服务器的连接状 态信息; 根据所述连接状态信息, 判断客户端与所述各服务器进行传输控制 协议 TCP连接的连接数量是否达到第一预置门限值; 若未达到所述第一预置 门限值, 则根据所述连接状态信息选择至少一个与所述客户端未建立 TCP连 接的服务器并与所述选择的服务器建立 TCP 连接; 向与所述客户端建立了 TCP连接的服务器发布共享文件信息。 The peer-to-peer communication method provided by the embodiment of the present invention includes: acquiring connection state information with each server; determining, according to the connection state information, whether the number of connections between the client and the each server for the transmission control protocol TCP connection reaches the first pre- Setting a threshold value; if the first preset threshold is not reached, selecting at least one server that does not establish a TCP connection with the client according to the connection state information, and establishing a TCP connection with the selected server; The shared file information is issued to a server that has established a TCP connection with the client.
本发明实施例提供的点对点通信装置, 包括: 获取单元, 用于获取与各 服务器的连接状态信息; 判断单元, 用于根据所述连接状态信息, 判断客户 端与所述各服务器进行传输控制协议 TCP连接的连接数量是否达到第一预置 门限值; 建立连接单元, 用于若未达到所述第一预置门限值, 则根据所述连 接状态信息选择至少一个与自身未建立 TCP连接的服务器并与所述选择的服 务器建立 TCP连接; 发布单元, 用于向与所述客户端建立了 TCP连接的服务 器发布共享文件信息。 The peer-to-peer communication device provided by the embodiment of the present invention includes: an obtaining unit, configured to acquire connection state information with each server; and a determining unit, configured to determine, according to the connection state information, a transmission control protocol between the client and each server Whether the number of connections of the TCP connection reaches the first preset threshold; establishing a connection unit, if the first preset threshold is not reached, according to the connection The connection status information selects at least one server that does not establish a TCP connection with itself and establishes a TCP connection with the selected server. The publishing unit is configured to issue shared file information to a server that establishes a TCP connection with the client.
本发明实施例提供的点对点通信系统, 包括: 服务器以及上述客户端。 从以上技术方案可以看出, 本发明实施例具有以下优点: 客户端首先获 取与各服务器的连接状态信息, 根据该连接状态信息判断与各服务器进行 The peer-to-peer communication system provided by the embodiment of the present invention includes: a server and the foregoing client. As can be seen from the above technical solutions, the embodiment of the present invention has the following advantages: The client first obtains connection state information with each server, and judges and performs with each server according to the connection state information.
TCP 连接的连接数量是否达到第一预置门限值, 若未达到, 则根据状态连接 信息至少选择一个未与其自身建立 TCP连接的服务器, 并与该选择的服务器 建立 TCP连接,然后向所有与自身建立 TCP连接的服务器发布共享文件信息, 由于本技术方案中, 客户端可与多个服务器进行 TCP连接, 增加下载该共享 文件的客户端, 因此可提高下载该共享文件所有客户端的下载速度和提供该 共享文件客户端的上传速度。 附图说明 Whether the number of connections of the TCP connection reaches the first preset threshold. If not, select at least one server that does not establish a TCP connection with itself according to the status connection information, and establish a TCP connection with the selected server, and then The server that establishes the TCP connection itself issues the shared file information. Because the client can perform a TCP connection with multiple servers in the technical solution, the client that downloads the shared file is added, so that the download speed of all the clients that download the shared file can be improved. Provide the upload speed of the shared file client. DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面 描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。 In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below. Obviously, the drawings in the following description are only It is a certain embodiment of the present invention, and other drawings can be obtained from those skilled in the art without any inventive labor.
图 1为本发明实施例中点对点通信方法的一个实施例示意图; 1 is a schematic diagram of an embodiment of a point-to-point communication method according to an embodiment of the present invention;
图 2a为本发明实施例中点对点通信方法的另一个实施例示意图; 图 2b为本发明实施例中点对点通信方法的另一个实施例示意图; 图 3为现有技术中网络连接示意图; 2a is a schematic diagram of another embodiment of a point-to-point communication method according to an embodiment of the present invention; FIG. 2b is a schematic diagram of another embodiment of a point-to-point communication method according to an embodiment of the present invention;
图 4为本发明实施例中点对点通信方法对网络连接进行优化后的示意图; 图 5为本发明实施例中点对点通信方法的另一个实施例示意图; 图 6为本发明实施例中点对点通信装置的一个实施例示意图; 4 is a schematic diagram of a point-to-point communication method for optimizing a network connection according to an embodiment of the present invention; FIG. 5 is a schematic diagram of another embodiment of a point-to-point communication method according to an embodiment of the present invention; FIG. Schematic diagram of an embodiment;
图 7为本发明实施例中点对点通信系统的一个实施例示意图。 具体实施方式 FIG. 7 is a schematic diagram of an embodiment of a point-to-point communication system according to an embodiment of the present invention. detailed description
下面结合附图和具体实施例进一步说明本发明实施例的技术方案, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。 基于本 发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得 的所有其他实施例, 都属于本发明保护的范围。 The technical solutions of the embodiments of the present invention are further described below with reference to the accompanying drawings and specific embodiments. It is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
在 P2P环境中, 一个节点上往往只保存某个共享文件的部分片段文件, 在获取整个共享文件的过程中, 该节点既向其他节点提供自身拥有的该共享 文件的片段文件, 也从其他节点获取尚未获得的其他片段文件。 例如, 文件 filel共有 10个片段文件, 记为 filel_p0〜filel_p9。 其中, A节点拥有 filel_p0〜filel_p4, A节点将共享文件信息发布在服务器上。 B节点根据 A节 点发布在服务器上的共享文件信息, 得知 A节点拥有文件 filel之后, 通过与 A节点进行消息交互得知 A节点拥有 filel_p0〜filel_p4, 于是 B节点从 A节 点下载 filel的 filel_p0〜filel_p4。 A节点可以通过消息交互获知 B节点拥有 filel_p5〜filel_p9, 这样 A节点可以直接从 B节点获得 filel_p5〜filel_p9。 In a P2P environment, a node only stores a partial fragment file of a shared file. In the process of acquiring the entire shared file, the node provides the other node with the fragment file of the shared file owned by the other node, and also from other nodes. Get other clip files that have not yet been obtained. For example, the file filel has a total of 10 fragment files, which are denoted as filel_p0~filel_p9. Among them, the A node has filel_p0~filel_p4, and the A node publishes the shared file information on the server. Based on the shared file information posted by the node A on the server, the node B knows that the node A has the file filel, and learns that the node A has filel_p0~filel_p4 through message interaction with the node A, and then the node B downloads the filel_p0 of filel from the node A. Filel_p4. The A node can learn from the message interaction that the B node owns filel_p5~filel_p9, so that the A node can obtain filel_p5~filel_p9 directly from the B node.
因此, 在 P2P环境中, 有数目越多的包括 B节点在内的其他节点获知 A 节点的共享文件信息, 不但可以加快其他节点下载共享文件的速度, 还可以 加快 A节点下载到整个共享文件的速度。 Therefore, in a P2P environment, the more nodes including the B node learn the shared file information of the A node, which not only speeds up the downloading of shared files by other nodes, but also speeds up the download of the A node to the entire shared file. speed.
本发明实施例提供了一种点对点通信方法、 装置及系统, 客户端可与多 个服务器进行 TCP连接, 增加下载该共享文件的客户端数目, 用于提高下载 该共享文件所有客户端的下载速度, 下面对本发明实施例提供的点对点通信 方法、 装置及系统进行详细描述。 The embodiment of the present invention provides a peer-to-peer communication method, device, and system. The client can perform a TCP connection with multiple servers, and increase the number of clients that download the shared file, so as to improve the download speed of all clients that download the shared file. The point-to-point communication method, device and system provided by the embodiments of the present invention are described in detail below.
在本发明实施例中, 点对点通信协议以 eMule协议为例, 也可以应用于 其他点对点协议中, 例如 eDonkey协议、 Ares协议及 BT协议等。 In the embodiment of the present invention, the point-to-point communication protocol uses the eMule protocol as an example, and can also be applied to other point-to-point protocols, such as the eDonkey protocol, the Ares protocol, and the BT protocol.
请参阅图 1 , 本发明实施例的点对点通信方法的一个实施例包括: Referring to FIG. 1, an embodiment of a peer-to-peer communication method according to an embodiment of the present invention includes:
101、 获取与各服务器的连接状态信息; 101. Obtain connection state information with each server.
本发明实施例中, 在客户端增加了一个服务器连接池模块, 包括获取单 元、 判断单元、 建立连接单元、 发布单元、 控制单元及发送单元, 负责同各 服务器的连接, 包括 TCP连接及 UDP会话,并负责向服务器发布共享文件信 息, 当客户端其他模块在下载文件时, 需要查询能够提供共享文件的节点列 表时, 必须通过该服务器连接池模块进行调度, 由其决定何时发出 TCP查询 消息或 UDP查询消息。 In the embodiment of the present invention, a server connection pool module is added to the client, including obtaining a single The unit, the judging unit, the establishing unit, the issuing unit, the control unit and the sending unit are responsible for the connection with each server, including the TCP connection and the UDP session, and are responsible for publishing the shared file information to the server, when other modules of the client are downloading the file. When you need to query the list of nodes that can provide shared files, you must use the server connection pool module to schedule when to decide whether to issue TCP query messages or UDP query messages.
首先, 客户端获取与该客户端有连接关系的各服务器的连接状态信息, 在连接状态信息中包括各服务器与客户端进行 TCP连接及 UDP会话的情况。 First, the client obtains connection state information of each server that has a connection relationship with the client, and the connection state information includes a case where each server performs a TCP connection and a UDP session with the client.
需要说明的是, 在本实施例中将提供共享文件和下载共享文件的节点都 称为客户端, 与客户端建立 TCP连接的、 可以提供节点列表查询功能的服务 器称作主服务器。 It should be noted that, in this embodiment, a node that provides a shared file and a downloaded shared file is referred to as a client, and a server that establishes a TCP connection with the client and can provide a node list query function is referred to as a primary server.
102、 判断客户端与各服务器进行传输控制协议连接的连接数量是否达到 第一预置门限值; 102. Determine whether the number of connections between the client and each server for the transmission control protocol connection reaches a first preset threshold.
本发明实施例中, 根据获取的连接状态信息, 客户端可以判断其自身与 各服务器进行 TCP连接的连接数量(与主服务器的连接数量)是否达到第一 预置门限值, 由于客户端在发布共享文件信息时, 只会通过 TCP向主服务器 发布共享文件信息,而不会向其他服务器发布,因此客户端同服务器进行 TCP 连接的服务器数量直接影响客户端发布共享文件信息的范围。 In the embodiment of the present invention, according to the obtained connection state information, the client can determine whether the number of connections (the number of connections with the primary server) for which the server performs TCP connection with each server reaches the first preset threshold, because the client is When the shared file information is published, the shared file information is only released to the primary server through TCP, and is not released to other servers. Therefore, the number of servers that the client makes a TCP connection with the server directly affects the scope of the client to publish the shared file information.
需要说明的是, 该第一预置门限值由系统设置, 例如第一预置门限值可 以设置的范围为 300〜500, 若第一预置门限值设置过大, 则因建立的 TCP连 接数量过多而占用系统资源, 若第一预置门限值设置过小, 则因建立的 TCP 连接数量过少影响共享文件的传输速度, 该第一预置门限值具体可以根据实 际应用过程进行设置, 此处不作限定。 It should be noted that the first preset threshold is set by the system. For example, the first preset threshold may be set in the range of 300 to 500. If the first preset threshold is set too large, the established threshold is established. The number of TCP connections is too large and the system resources are occupied. If the first preset threshold is set too small, the number of established TCP connections is too small to affect the transmission speed of the shared file. The first preset threshold can be based on actual conditions. The application process is set, which is not limited here.
若客户端判断自身与各服务器进行 TCP连接的连接数量是否达到第一预 置门限值的结果是未达到, 则执行步骤 103。 If the client determines that the number of connections for which the TCP connection is made with each server reaches the first preset threshold, the result is not reached, and then step 103 is performed.
103、 根据连接状态信息选择至少一个与客户端未建立传输控制协议连接 的服务器并与其建立传输控制协议连接; 103. Select, according to the connection status information, at least one server that does not establish a transmission control protocol connection with the client and establish a transmission control protocol connection with the server;
如果客户端判断自身与各服务器进行 TCP连接的连接数量未达到第一预 置门限值, 则查询与各服务器的连接信息状态, 根据连接信息状态选择与自 身未建立 TCP连接的服务器并与其建立 TCP连接。 If the client determines that the number of connections between the server and each server is not up to the first When the threshold is set, the status of the connection information with each server is queried, and a server that does not establish a TCP connection with itself is selected according to the status of the connection information and a TCP connection is established therewith.
需要说明的是, 客户端可以根据连接信息状态选择一个与自身未建立 It should be noted that the client can select one and not established according to the status of the connection information.
TCP连接的服务器,并与其建立 TCP连接,然后选择下一个与自身未建立 TCP 连接的服务器进行 TCP连接,直到与服务器进行 TCP连接的连接数量达到第 一预置门限值, 客户端也可以同时与多个服务器建立 TCP连接以使得服务器 进行 TCP连接的连接数量达到第一预置门限值, 具体建立连接的方式此处不 作限定。 TCP connection server, and establish a TCP connection with it, and then select the next TCP connection with the server that does not establish a TCP connection, until the number of connections with the server TCP connection reaches the first preset threshold, the client can also simultaneously The method of establishing a TCP connection with multiple servers to make the number of connections of the server to the TCP connection reaches the first preset threshold, and the manner of establishing the connection is not limited herein.
需要进一步说明的是, 选择将要建立 TCP连接的具体方式可以是根据客 户端发出探测消息后, 服务器响应速度的从快到慢进行选择, 如优先选择响 应速度快的服务器建立 TCP连接, 也可以是以其他选择方式, 如随机选择一 个未与客户端建立 TCP连接的服务器建立 TCP连接,具体选择方式与实际应 用过程相关, 此处不作限定。 上述服务器的响应速度可以用 UDP包作为探测 消息来进行探测。 It should be further noted that the specific way of selecting a TCP connection may be to select a server to respond to the speed of the response, such as preferentially selecting a server with a fast response to establish a TCP connection, or In other ways, for example, a server that does not establish a TCP connection with the client is randomly selected to establish a TCP connection. The specific selection method is related to the actual application process, which is not limited herein. The response speed of the above server can be detected by using UDP packets as probe messages.
另外, 服务器接收到探测消息后, 可以返回服务器信息, 客户端也可以 根据服务器返回的服务器信息来选择, 例如服务器信息中包含该服务器的用 户数量, 则客户端根据服务器的用户数量由多至少的顺序, 优先选择用户数 量多的服务器建立 TCP连接。 In addition, after receiving the probe message, the server may return the server information, and the client may also select according to the server information returned by the server. For example, the number of users of the server included in the server information, the client according to the number of users of the server is at least In order, a server with a large number of users is preferentially established to establish a TCP connection.
104、 向与客户端建立了传输控制协议连接的服务器发布共享文件信息。 本发明实施例中, 在客户端与服务器建立 TCP连接后, 客户端可以向与 自身建立了 TCP连接的服务器发布共享文件信息, 该共享文件信息包括该客 户端的地址、 拥有的共享文件的名称、 大小、 发布时间等信息, 其他客户端 可通过查询节点列表查找到所有保存共享文件的节点, 查找到的节点数目越 多, 客户端下载该共享文件时速度越快, 客户端向主服务器发布共享文件信 息的具体过程将在后续实施例中进行详细说明。 104. Publish shared file information to a server that establishes a transmission control protocol connection with the client. In the embodiment of the present invention, after the client establishes a TCP connection with the server, the client may issue shared file information to the server that establishes a TCP connection with the client, where the shared file information includes the address of the client, the name of the shared file owned, Information such as size, release time, etc. Other clients can find all the nodes that save the shared file by querying the node list. The more nodes are found, the faster the client downloads the shared file, and the client issues the share to the primary server. The specific process of the file information will be described in detail in the subsequent embodiments.
本发明实施例中, 客户端首先获取与各服务器的连接状态信息, 再根据 该连接状态信息判断与各服务器进行 TCP连接的连接数量是否达到第一预置 门限值, 若未达到, 则根据状态连接信息选择至少一个未与其自身建立 TCP 连接的服务器, 并与该选择的服务器建立 TCP连接, 然后向所有与自身建立 TCP 连接的服务器发布共享文件信息, 由于客户端可与更多的服务器进行 TCP连接,使得有更多的其他客户端有机会获知该客户端能够提供共享文件, 增加下载该共享文件的潜在客户端的数量, 因此可提高下载该共享文件所有 客户端的下载速度, 并且由于可以向多个建立 TCP连接的服务器发布共享文 件信息, 使得任何一个以其为主服务器的客户端都能够在第一次的节点列表 的查询中得到节点地址, 增加节点数量, 进而提高下载该共享文件所有客户 端的下载速度。 In the embodiment of the present invention, the client first obtains connection state information with each server, and then determines, according to the connection state information, whether the number of connections for performing TCP connection with each server reaches the first preset. Threshold value, if not, select at least one server that does not establish a TCP connection with itself according to the status connection information, establish a TCP connection with the selected server, and then issue shared file information to all servers that establish a TCP connection with itself. Since the client can make a TCP connection with more servers, so that more other clients have the opportunity to know that the client can provide shared files, and increase the number of potential clients that download the shared file, thereby improving the download of the shared file. The download speed of all clients, and since the shared file information can be issued to multiple servers establishing TCP connections, any client with its main server can get the node address in the query of the first node list, increase The number of nodes, which in turn increases the download speed of all clients that download the shared file.
为了便于理解, 下面以另一实施例对本发明实施例中的点对点通信方法 进行描述, 请参阅图 2a, 本发明实施例中点对点通信方法的另一个实施例包 括: For ease of understanding, the peer-to-peer communication method in the embodiment of the present invention is described below with reference to another embodiment. Referring to FIG. 2a, another embodiment of the peer-to-peer communication method in the embodiment of the present invention includes:
201、 获取与各服务器的连接状态信息; 201. Obtain connection state information with each server.
本发明实施例中,步骤 201的内容请参见前述图 1所示实施例中步骤 101 的相关的描述内容, 此处不再贅述。 For the content of the step 201 in the embodiment of the present invention, refer to the related description of the step 101 in the foregoing embodiment of the present invention, and details are not described herein again.
202、 判断客户端与各服务器进行传输控制协议连接的连接数量是否达到 第一预置门限值; 202. Determine whether the number of connections between the client and each server for the transmission control protocol connection reaches a first preset threshold.
如果客户端判断自身与各服务器进行 TCP连接的连接数量未达到第一预 置门限值, 则执行步骤 203 , 如果客户端判断自身与各服务器进行 TCP连接 的连接数量达到第一预置门限值, 则执行步骤 204。 If the client determines that the number of connections between the server and the server does not reach the first preset threshold, step 203 is performed, if the client determines that the number of connections between the server and each server reaches the first preset threshold. For the value, go to step 204.
具体判断过程请参见上述图 1 所示实施例中相关的描述内容, 此处不再 贅述。 For the specific judgment process, refer to the related description in the embodiment shown in Figure 1 above, and details are not described herein again.
203、 根据连接状态信息选择至少一个与客户端未建立传输控制协议连接 的服务器并与其建立传输控制协议连接; 203. Select at least one server that does not establish a transmission control protocol connection with the client according to the connection state information, and establish a transmission control protocol connection with the server;
本发明实施例中,若在步骤 202中,客户端判断自身与各服务器进行 TCP 连接的连接数量没有达到第一预置门限值, 则查询与各服务器的连接信息状 态, 根据连接信息状态选择与自身未建立 TCP连接的服务器并与其建立 TCP 连接, 建立 TCP连接的具体过程请参见上述图 1所示的实施例中的相关的描 述内容, 此处不再贅述。 In the embodiment of the present invention, if the client determines that the number of connections between the server and the server for the TCP connection does not reach the first preset threshold, the status of the connection information with each server is selected according to the state of the connection information. Establish a TCP with a server that does not have a TCP connection with itself For the specific process of establishing a TCP connection, refer to the related description in the embodiment shown in FIG. 1 , and details are not described herein again.
当客户端与服务器建立的 TCP连接的连接数量达到第一门限值, 则执行 步骤 204。 When the number of connections of the TCP connection established by the client and the server reaches the first threshold, step 204 is performed.
需要说明的是, 该第一预置门限值的具体设置与实际应用过程相关, 此 处不作限定。 It should be noted that the specific setting of the first preset threshold is related to the actual application process, and is not limited herein.
需要进一步说明的是, 选择与自身未建立 TCP连接的服务器的具体方式 与实际应用过程相关, 此处不作限定。 It should be further noted that the specific manner of selecting a server that does not establish a TCP connection with itself is related to the actual application process, and is not limited herein.
204、 向所有与客户端建立了传输控制协议连接的服务器发布共享文件信 息; 204. Publish shared file information to all servers that have a transmission control protocol connection with the client;
本发明实施例中, 客户端向所有与自身建立了 TCP连接的所有主服务器 发布共享文件信息。 In the embodiment of the present invention, the client issues shared file information to all the primary servers that have established a TCP connection with itself.
具体为, 客户端获取主服务器上存有的共享文件信息, 若客户端在某个 主服务器上没有获取到共享文件信息, 则可判断出该主服务器上没有共享文 件, 如果存在这样的主服务器, 则客户端向未发布共享文件的主服务器发布 共享文件信息。 Specifically, the client obtains the shared file information stored on the primary server. If the client does not obtain the shared file information on a primary server, it may determine that there is no shared file on the primary server, if such a primary server exists. , the client issues shared file information to the primary server that has not published the shared file.
另一种情况是: 客户端中记录向每个主服务器已发布过的共享文件信息, 若根据记录确定某个主服务器上未包含待发布的共享文件信息, 则客户端向 该主服务器发布所述待发布的共享文件信息。 In another case, the client records the shared file information that has been published to each primary server. If it is determined according to the record that a shared server does not include the shared file information to be published, the client issues the location to the primary server. The shared file information to be published.
例如, 客户端之前向主服务器发布的共享文件信息中只包含文件 B、 文 件 C的标识、 发布时间等信息, 当客户端根据记录确定未向主服务器发布过 文件 A的共享文件信息时,客户端向该主服务器发布文件 A的共享文件信息。 For example, the shared file information previously issued by the client to the primary server includes only the information of the file B, the identifier of the file C, the release time, and the like. When the client determines that the shared file information of the file A has not been released to the primary server according to the record, the client The terminal issues the shared file information of file A to the primary server.
进一步的, 客户端向除了建立 TCP连接以外的其他所有服务器发送用户 数据包协议 UDP消息, 请求与服务器建立 UDP会话, 除了与主服务器进行 通信以外, 通过 UDP消息会话方式也可以与其他服务器进行通信, 但不向除 主服务器以外的其他服务器发布共享文件信息。 Further, the client sends a User Datagram Protocol UDP message to all servers except the TCP connection, and requests to establish a UDP session with the server. In addition to communicating with the primary server, the client can also communicate with other servers through the UDP message session mode. , but does not publish shared file information to servers other than the primary server.
需要说明的是, 客户端向所有主服务器发布共享文件信息, 可以是同时 发布, 也可以经过一定的时间间隔发布共享文件信息, 具体发布方式与实际 应用过程有关, 此处不作限定。 It should be noted that the client issues shared file information to all the primary servers, which can be After the release, the shared file information can be released at a certain interval. The specific release mode is related to the actual application process, and is not limited herein.
205、 查询节点列表; 205. Query a node list.
首先, 客户端获取本地下载的节点列表中的共享文件的节点数量信息, 根据该数量信息判断节点数量是否小于第二预置门限值, 如果小于, 则选择 服务器发送查询节点的查询消息。 First, the client obtains the node number information of the shared file in the locally downloaded node list, and determines whether the number of nodes is smaller than the second preset threshold according to the quantity information. If not, the server selects the query message of the query node.
具体的, 为防止被服务器屏蔽, 客户端优先选择向在一定时间内没有查 询过节点列表的主服务器发送查询消息, 如果没有符合要求的主服务器, 则 客户端向未建立 TCP连接的服务器发送 UDP查询消息, 查询未建立 TCP连 接的其他服务器上文件的节点列表。 Specifically, in order to prevent being blocked by the server, the client preferentially sends a query message to the primary server that has not queried the node list within a certain period of time. If there is no primary server that meets the requirements, the client sends a UDP to the server that does not establish a TCP connection. Query the message and query the node list of the files on other servers that do not have a TCP connection established.
需要说明的是, 该第一时间可以由系统内部程序设定, 一般设置在 1 分 钟以上, 主要是防止过于频繁发送查询消息可能会被认为是恶意发送信息而 导致发送查询消息的客户端被系统屏蔽, 可根据实际情况具体设置, 使得既 不会因设置的时间过长而影响客户端向主服务器发送查询消息, 也不会因设 置的时间过短而使得客户端被系统屏蔽, 具体时间不作限定。 It should be noted that the first time can be set by the internal program of the system, and is generally set to be more than 1 minute. The main reason is to prevent the query message from being sent too frequently, which may be considered as malicious sending information, and the client that sends the query message is used by the system. Shielding can be set according to the actual situation, so that the client will not send the query message to the main server because the setting time is too long, and the client will not be blocked by the system because the setting time is too short. limited.
需要进一步说明的是, 每次发出节点列表的查询消息可以是等到所查询 的服务器的回馈结果之后, 再发送下一个查询消息, 也可以同时向多个服务 器同时发送查询消息, 等到所查询的服务器的回馈结果再执行后一个步骤, 具体查询情况与实际应用过程相关, 此处不作限定。 It should be further explained that each time the query message of the node list is sent, the next query message may be sent after waiting for the feedback result of the queried server, and the query message may be simultaneously sent to multiple servers at the same time, and wait until the queried server The feedback result is executed in the next step, and the specific query situation is related to the actual application process, which is not limited herein.
206、 判断本地下载的节点列表中共享文件的节点数量是否超过第二预置 门限值; 206. Determine whether the number of nodes sharing the file in the locally downloaded node list exceeds a second preset threshold;
本发明实施例中, 客户端根据本地下载的节点列表中所显示的信息, 判 断本地下载的节点列表中记载的共享文件的节点数量是否超过第二预置门限 值, 若超过, 则执行步骤 207。 In the embodiment of the present invention, the client determines, according to the information displayed in the locally downloaded node list, whether the number of nodes of the shared file recorded in the locally downloaded node list exceeds a second preset threshold. 207.
需要说明的是, 该第二预置门限值由系统进行设置, 例如第二门限值设 置可以设置的范围为 200到几千, 可以等于也可以不等于第一预置门限值, 由于节点数量影响下载共享文件的速度, 所以该第二预置门限值的具体设置 与实际应用中共享文件所要达到的下载速度相关, 此处不作限定。 It should be noted that the second preset threshold is set by the system. For example, the second threshold setting may be set in a range of 200 to several thousand, and may or may not be equal to the first preset threshold. The number of nodes affects the speed at which the shared file is downloaded, so the specific setting of the second preset threshold is set. It is related to the download speed to be shared by the actual application, which is not limited here.
207、 停止查询共享文件的节点数量。 207. Stop the number of nodes that query the shared file.
根据本地下载节点列表中共享文件的节点数量信息, 当共享文件的节点 数量超过第二预置门限值时, 客户端不再向各服务器发送查询节点列表的信 息, 停止查询该共享文件的节点数量, 待到步骤 206判断本地下载的节点列 表中记载的共享文件的节点数量低于第二预置门限值时, 再向各服务器发送 查询节点列表的信息, 启动查询共享文件的节点数量。 According to the number of nodes of the shared file in the local download node list, when the number of nodes sharing the file exceeds the second preset threshold, the client does not send the information of the query node list to each server, and stops querying the node of the shared file. The quantity, when it is determined in step 206 that the number of nodes of the shared file recorded in the locally downloaded node list is lower than the second preset threshold, the information of the query node list is sent to each server, and the number of nodes for querying the shared file is started.
本发明实施例中, 客户端获取本地下载的节点列表中的共享文件的节点 数量信息, 并判断节点数量是否小于第二预置门限值, 如果小于, 则优先选 择向在一定时间内没有查询过节点列表的主服务器进行查询, 由于客户端与 主服务器是 TCP方式的通信, 具有高可靠性, 能够确保传输数据的正确性, 获取节点列表的请求信息及服务器的响应信息不会出现丟失, 因此能够有效 避免客户端丧失获得大量节点的机会, 进而影响下载该共享文件所有客户端 的下载速度和该客户端下载该共享文件的下载速度。 如果没有符合要求的主 服务器,则客户端向未建立 TCP连接的服务器发送 UDP查询消息, 查询未建 立 TCP连接的其他服务器上文件的节点列表, 能够有效增加查询到其他节点 的机会, 提高客户端下载该共享文件的下载速度。 进一步的, 客户端根据本 地下载的节点列表中共享文件的节点数量信息, 判断本地下载的节点列表中 记载的拥有共享文件的节点数量是否超过第二预置门限值, 若超过, 表示节 点数量足够多, 不需要再向服务器发送查询请求, 以查询节点列表以增加作 为下载来源的节点数目, 则客户端不再向各服务器查询节点列表。 In the embodiment of the present invention, the client obtains the number of nodes of the shared file in the locally downloaded node list, and determines whether the number of nodes is smaller than the second preset threshold. If it is smaller, the client preferentially selects no query for a certain period of time. The primary server of the node list performs the query. Since the client and the primary server are in TCP mode communication, the reliability is high, and the correctness of the transmitted data can be ensured. The request information of the node list and the response information of the server are not lost. Therefore, the client can be effectively prevented from losing the opportunity to obtain a large number of nodes, thereby affecting the download speed of all clients downloading the shared file and the download speed of the shared file downloaded by the client. If there is no primary server that meets the requirements, the client sends a UDP query message to the server that does not establish a TCP connection, and queries the node list of the file on the other server that does not establish a TCP connection, which can effectively increase the chance of querying other nodes, and improve the client. Download the download speed of the shared file. Further, the client determines, according to the number of nodes of the shared file in the locally downloaded node list, whether the number of nodes having the shared file recorded in the locally downloaded node list exceeds a second preset threshold, and if so, indicates the number of nodes. Sufficiently, there is no need to send a query request to the server to query the node list to increase the number of nodes as the download source, and the client no longer queries the server for the node list.
附图 2b为, 在客户端只拥有待下载的共享文件中的部分文件片段, 需要 从其他节点下载其他文件片段, 以获得完整的待下载的共享文件的场景下, 点对点通信方法的流程图,客户端执行以下步骤 211〜步骤 217,其中步骤 211〜 步骤 214与附图 2a中的步骤 201〜步骤 204基本类似, 这里仅作简单描述: 步骤 211 , 客户端获取与各服务器的连接状态信息; FIG. 2b is a flowchart of a peer-to-peer communication method in a scenario in which a client only has a partial file segment in a shared file to be downloaded, and needs to download other file segments from other nodes to obtain a complete shared file to be downloaded. The client performs the following steps 211 to 217, where the steps 211 to 214 are basically similar to the steps 201 to 204 in FIG. 2a, and are only briefly described herein: Step 211: The client acquires connection state information with each server;
步骤 212, 客户端判断与各服务器进行 TCP连接的连接数量是否达到第 一预置门限值; 若达到第一预置门限值, 则执行步骤 214, 否则执行步骤 213; 步骤 213 , 若客户端与各服务器进行 TCP连接的连接数量未达到第一预 置门限值, 则根据所述连接状态信息, 选择至少一个与客户端未建立 TCP连 接的服务器并与其建立 TCP连接; Step 212, the client determines whether the number of connections with each server for TCP connection reaches the first a preset threshold; if the first preset threshold is reached, step 214 is performed, otherwise step 213 is performed; step 213, if the number of connections between the client and each server for TCP connection does not reach the first preset threshold a value, according to the connection status information, selecting at least one server that does not establish a TCP connection with the client and establishing a TCP connection with the server;
步骤 214, 客户端向与客户端建立了 TCP连接的服务器发布共享文件信 息; 客户端拥有所述共享文件中的部分文件片段; Step 214: The client issues shared file information to a server that establishes a TCP connection with the client; the client owns a part of the file segment in the shared file;
步骤 215 , 根据本地保存的拥有待下载的共享文件的文件片段的节点列 表, 判断本地保存的拥有待下载的共享文件的节点列表中节点数目是否小于 第二预置门限值, 若小于, 则进入步骤 216; 若大于第二预置门限值, 则进入 步骤 219; Step 215: Determine, according to the locally saved node list of the file segment of the shared file to be downloaded, whether the number of nodes in the node list of the shared file that has the shared file to be downloaded is smaller than the second preset threshold. Proceed to step 216; if greater than the second preset threshold, proceed to step 219;
其中, 所述本地保存的拥有待下载的共享文件的文件片段的节点列表是 根据本地保存的其他节点的共享文件信息, 生成的; The locally saved node list of the file segment having the shared file to be downloaded is generated according to the shared file information of other nodes stored locally;
步骤 216, 向服务器发送用于查询节点列表的查询消息, 所述节点列表中 包含拥有待下载共享文件的节点, 该查询消息中包含待下载的共享文件的标 识; Step 216: Send a query message for querying the node list to the server, where the node list includes a node that has a shared file to be downloaded, where the query message includes the identifier of the shared file to be downloaded;
可选地, 可以选择部分服务器发送查询消息, 选择服务器时的选择策略 请参照步骤 205中的描述。 Optionally, a partial server may be selected to send a query message, and a selection policy when selecting a server is as described in step 205.
步骤 217,接收服务器返回的查询结果, 即返回的拥有待下载的共享文件 的节点的节点列表, 将返回的节点列表与此前本地保存的节点列表进行合并 从而更新本地保存的节点列表, 返回步骤 215; Step 217: Receive a query result returned by the server, that is, return a node list of the node that has the shared file to be downloaded, and merge the returned node list with the previously locally saved node list to update the locally saved node list, and return to step 215. ;
步骤 218,从本地保存的节点列表中获取拥有所述待下载的共享文件的节 点, 从获取的节点中下载待下载共享文件的其余片段文件, 从而获得整个所 述待下载的共享文件。 In step 218, the node that owns the shared file to be downloaded is obtained from the locally saved node list, and the remaining fragment files of the shared file to be downloaded are downloaded from the obtained node, thereby obtaining the entire shared file to be downloaded.
在附图 2a、附图 2b提供的实施例中,通过前 4个步骤,与现有技术相比, 客户端能够向数目更多的主服务器发布共享文件信息, 从而增加其他客户端 有机会从更多的主服务器获知该客户端的共享文件信息的机会, 在此基础上 一方面, 由于增加了下载该共享文件的客户端的数目, 提高了下载速度; 另 一方面, 由于其他客户端从该客户端下载该共享文件的文件片段时会相互交 互各自所拥有的文件片段, 该客户端能够尽快从其他客户端中下载到其他文 件片段, 缩短了该客户端下载到完整的共享文件所需花费的时间。 In the embodiment provided in FIG. 2a and FIG. 2b, the client can issue shared file information to a larger number of primary servers through the first four steps, thereby increasing the chances of other clients from More primary servers are aware of the client's opportunity to share file information. On the one hand, on the one hand, the download speed is increased by increasing the number of clients that download the shared file; On the one hand, since other clients download the file fragments of the shared file from the client and interact with each other's file fragments, the client can download other file fragments from other clients as soon as possible, shortening the client. The time it takes to download to the full shared file.
在最差的情况下, 发布共享文件信息的客户端没有在其他客户端从该客 户端下载共享文件片段过程中, 从其他客户端中获得其余的文件片段, 则可 以通过步骤 215〜步骤 218, 加快从其他客户端中获得其余文件片段的速度。 现有技术中的网络图请参见图 3 ,经过本发明实施例优化后的网络图请参 见图 4, 其中, 301及 401均为 eMule 网络服务器, 302及 402均为 eMule网 络客户端, 303及 403均为 eMule 网络中的节点, eMule 网络服务器、 eMule 网络客户端以及 eMule 网络中的节点之间的连线中的实线表示 TCP连接方式 的连接, 虚线表示其他连接方式的连接。 In the worst case, the client that publishes the shared file information does not obtain the remaining file fragments from other clients during the process of downloading the shared file fragments from the client, and may go through steps 215 to 218. Speed up the process of getting the rest of the file fragments from other clients. For the network diagram in the prior art, refer to FIG. 3. For the network diagram optimized by the embodiment of the present invention, refer to FIG. 4, where 301 and 401 are eMule network servers, 302 and 402 are eMule network clients, 303 and 403 is a node in the eMule network. The solid line in the connection between the eMule network server, the eMule network client, and the nodes in the eMule network indicates the connection of the TCP connection mode, and the dotted line indicates the connection of other connection methods.
为便于理解, 下面以一具体应用场景对客户端的工作流程进行详细描述, 请参阅图 5 , 本发明实施例的点对点通信方法另一实施例包括: For ease of understanding, the workflow of the client is described in detail in a specific application scenario. Referring to FIG. 5, another embodiment of the peer-to-peer communication method according to the embodiment of the present invention includes:
501、 获取连接状态信息; 501. Obtain connection status information.
本实施例中的步骤 501的内容请参见前述图 1所示实施例中步骤 101的 相关的描述内容, 此处不再贅述。 For the content of the step 501 in the embodiment, refer to the related description of the step 101 in the foregoing embodiment of the present invention, and details are not described herein again.
需要说明的是, 其中, 第一服务器可以为与客户端建立 TCP连接的服务 器, 第二服务器可以为与客户端未建立 TCP连接的服务器, 可以理解的是, 在实际应用中, 服务器还可以是其他类型的设备, 如果应用于 Ares协议, 客 户端与超级结点建立连接, 如果应用于 BT协议, 客户端与 Tracker服务器建 立连接, 具体设备与实际应用过程相关, 具体此处不作限定。 It should be noted that, the first server may be a server that establishes a TCP connection with the client, and the second server may be a server that does not establish a TCP connection with the client. It may be understood that, in actual applications, the server may also be Other types of devices, if applied to the Ares protocol, the client establishes a connection with the super node. If the BT protocol is applied, the client establishes a connection with the tracker server, and the specific device is related to the actual application process, which is not limited herein.
502、 判断客户端与各服务器进行传输控制协议连接的连接数量是否达到 第一预置门限值; 502. Determine whether the number of connections between the client and each server for the transmission control protocol connection reaches a first preset threshold.
客户端可以根据获取的连接状态信息, 判断其自身与各服务器进行 TCP 连接的连接数量是否达到第一预置门限值。 Based on the obtained connection status information, the client can determine whether the number of connections between the TCP connection and each server reaches the first preset threshold.
503、 若未达到, 则选择与客户端未建立传输控制协议连接的服务器并与 其建立传输控制协议连接; 503. If not, select a server that does not establish a transmission control protocol connection with the client and It establishes a transmission control protocol connection;
若客户端判断自身与各服务器进行 TCP连接的连接数量未达到第一预置 门限值, 则选择与自身未建立 TCP连接的服务器并与其建立 TCP连接, 当建 立的 TCP连接数量达到第一预置门限值时, 向主服务器发布共享文件信息。 If the number of connections that the client determines to make a TCP connection with each server does not reach the first preset threshold, the server is selected to establish a TCP connection with the server that has not established a TCP connection with itself, and the number of established TCP connections reaches the first pre-establishment. When the threshold is set, the shared file information is published to the primary server.
504、 若达到, 则选择与客户端建立传输控制协议连接的服务器发布共享 文件信息; 504. If yes, select a server that establishes a transmission control protocol connection with the client to issue shared file information.
若客户端根据获取的连接状态信息, 判断其自身与各服务器进行 TCP连 接的连接数量若达到第一预置门限值, 则向主服务器发布共享文件信息, 其 他客户端可通过查询该共享文件信息查找到所有保存共享文件信息的服务 器, 查找到的服务器越多, 客户端下载该共享文件时速度越快。 If the client determines that the number of connections between the TCP connection and the server is up to the first preset threshold according to the obtained connection status information, the client issues the shared file information to the primary server, and other clients can query the shared file by querying the shared file. Information finds all servers that store shared file information. The more servers you find, the faster the client downloads the shared file.
本发明实施例中, 发布共享文件信息的具体过程请参见上述图 2所述实 施例中步骤 204相关的描述内容, 此处不再贅述。 For the specific process of publishing the shared file information in the embodiment of the present invention, refer to the description related to step 204 in the embodiment of FIG. 2, and details are not described herein again.
505、 查询节点列表; 505. Query a node list.
首先, 客户端获取本地下载的节点列表中的共享文件的节点数量信息, 根据该节点数量信息判断节点数量是否小于第二预置门限值, 如果小于, 由 于过于频繁发送查询消息, 客户端有可能被当作恶意发送信息而被系统屏蔽, 所以客户端优先选择向在一定时间内没有查询过节点列表的主服务器发送查 询消息, 如果没有符合要求的主服务器, 则客户端向未建立 TCP连接的服务 器发送 UDP查询消息,查询未建立 TCP连接的其他服务器上拥有共享文件的 节点列表。 First, the client obtains the number of nodes of the shared file in the locally downloaded node list, and determines whether the number of nodes is smaller than the second preset threshold according to the number of nodes. If the query is too frequent, the client has a query message. It may be blocked by the system as maliciously sent information. Therefore, the client prefers to send a query message to the primary server that has not queried the node list within a certain period of time. If there is no primary server that meets the requirements, the client does not establish a TCP connection. The server sends a UDP query message to query the list of nodes that have shared files on other servers that do not have a TCP connection established.
本发明实施例中, 查询节点列表的具体过程请参见上述图 2所述实施例 中步骤 205相关的描述内容, 此处不再贅述。 For the specific process of querying the node list in the embodiment of the present invention, refer to the description related to step 205 in the foregoing embodiment of FIG. 2, and details are not described herein again.
506、 判断本地下载的节点列表中的拥有待下载共享文件的节点数量是否 超过第二预置门限值, 若超过则停止查询共享文件的节点数量。 506. Determine whether the number of nodes in the locally downloaded node list that have the shared file to be downloaded exceeds a second preset threshold, and if so, stop querying the number of nodes sharing the file.
本发明实施例中, 客户端根据本地下载的节点列表中拥有待下载共享文 件的节点数量, 判断拥有待下载共享文件的节点数量是否超过第二预置门限 值, 若超过, 表示节点数量足够多, 不需要再与服务器建立 TCP连接增加节 点, 则客户端不再向各服务器发送查询节点列表的信息, 停止查询共享文件 的节点数量, 待本地下载的节点列表中记载的共享文件的节点数量低于第二 预置门限值时, 再向各服务器发送查询节点列表的信息, 启动查询拥有待下 载共享文件的节点列表。 In the embodiment of the present invention, the client determines whether the number of nodes having the shared file to be downloaded exceeds the second preset threshold according to the number of nodes in the locally downloaded node list that have the shared file to be downloaded. More, no need to establish a TCP connection with the server to increase the section If the number of nodes of the shared file is less than the second preset threshold, the number of nodes of the shared file is not queried. Then, the information of the query node list is sent to each server, and the list of nodes having the shared file to be downloaded is started to be queried.
需要说明的是, 该第二预置门限值可以等于也可以不等于第一预置门限 值, 由于节点数量影响下载共享文件的速度, 所以该第二预置门限值的的具 体设置与实际应用中共享文件所要达到的下载速度相关, 此处不作限定。 It should be noted that the second preset threshold may or may not be equal to the first preset threshold. Because the number of nodes affects the speed of downloading the shared file, the specific setting of the second preset threshold is It is related to the download speed to be shared by the actual application, which is not limited here.
下面对本发明实施例中点对点通信装置进行描述,请参阅图 6, 本发明实 施例中点对点通信装置的一个实施例包括: The following describes a point-to-point communication device in the embodiment of the present invention. Referring to FIG. 6, an embodiment of the point-to-point communication device in the embodiment of the present invention includes:
获取单元 601 , 用于获取与各服务器的连接状态信息。 The obtaining unit 601 is configured to obtain connection state information with each server.
判断单元 602, 用于根据连接状态信息, 判断客户端与各服务器进行传输 控制协议 TCP连接的连接数量是否达到第一预置门限值; The determining unit 602 is configured to determine, according to the connection state information, whether the number of connections between the client and each server for the transmission control protocol TCP connection reaches a first preset threshold;
建立连接单元 603 , 用于若未达到该第一预置门限值, 则根据连接状态信 息选择至少一个与客户端未建立 TCP连接的服务器并与该选择的服务器建立 TCP连接; Establishing a connection unit 603, configured to: if the first preset threshold is not reached, select at least one server that does not establish a TCP connection with the client according to the connection status information, and establish a TCP connection with the selected server;
发布单元 604, 用于向与客户端建立了 TCP连接的服务器发布共享文件 信息。 The issuing unit 604 is configured to issue shared file information to a server that establishes a TCP connection with the client.
可选地, 所述发布单元 604还用于若判断单元 602的判断结果为达到所 述第一预置门限值, 则向所有与所述客户端建立了 TCP连接的服务器发布共 享文件信息。 Optionally, the issuing unit 604 is further configured to: if the determining result of the determining unit 602 is that the first preset threshold is reached, issue the shared file information to all servers that establish a TCP connection with the client.
可选地, 为了能够进一步缩短客户端下载到整个共享文件的时间, 所述 获取单元 601 , 还用于获取本地保存的拥有待下载共享文件的节点的节点列 表; Optionally, in order to further shorten the time for the client to download to the entire shared file, the obtaining unit 601 is further configured to obtain a locally saved node list of the node that has the shared file to be downloaded;
判断单元 602 ,还用于判断所述节点列表中的节点数目是否小于第二预置 门限值; The determining unit 602 is further configured to determine whether the number of nodes in the node list is less than a second preset threshold;
发送单元 605 ,用于在判断单元 602的判断结果为小于第二预置门限值时, 向建立 TCP连接的服务器发送 TCP查询消息, 向除了建立 TCP以外的所有 服务器发送 UDP查询消息, 所述查询消息用于查询拥有待下载共享文件的节 点列表; The sending unit 605 is configured to: when the determination result of the determining unit 602 is less than the second preset threshold, send a TCP query message to the server that establishes the TCP connection, to all but the establishment of the TCP. The server sends a UDP query message, where the query message is used to query a node list that has a shared file to be downloaded;
具体地, 用于当判断单元 602判断出本地保存的节点列表中拥有共享文 件的的节点数量小于第二预置门限值时, 根据与服务器的连接状态信息, 向 建立 TCP连接的服务器发送 TCP查询消息, 向除了建立 TCP以外的所有服 务器发送 UDP查询消息。 Specifically, when the determining unit 602 determines that the number of nodes having the shared file in the locally saved node list is less than the second preset threshold, sending the TCP to the server establishing the TCP connection according to the connection state information with the server. Query messages, send UDP query messages to all servers except TCP.
控制单元 606,用于将服务器返回的节点列表与本地保存的节点列表进行 合并从而更新本地保存的节点列表, 若判断单元 602判断更新后的本地保存 的节点列表中的节点数量超过第二预置门限值, 则停止查询该共享文件的节 点数量。 The control unit 606 is configured to merge the node list returned by the server with the locally saved node list to update the locally saved node list, and if the determining unit 602 determines that the number of nodes in the updated locally saved node list exceeds the second preset Threshold, the number of nodes that stop querying the shared file.
为便于理解, 下面以一具体应用场景对本发明实施例中点对点通信装置 内的各单元之间的联系进行说明: For ease of understanding, the following describes the relationship between the units in the point-to-point communication device in the embodiment of the present invention in a specific application scenario:
本实施例中, 获取单元 601 首先获取与各服务器的连接状态信息, 在连 接状态信息中包括各服务器与客户端进行 TCP连接及 UDP会话的情况。 In this embodiment, the obtaining unit 601 first acquires connection state information with each server, and the connection state information includes a case where each server performs a TCP connection and a UDP session with the client.
需要说明的是, 与客户端建立 TCP连接的服务器可以称作主服务器。 判断单元 602根据连接状态信息, 判断自身与各服务器进行 TCP连接的 连接数量是否达到第一预置门限值, 具体判断过程请参见上述图 1 所示实施 例中相关的描述内容, 此处不再贅述。 It should be noted that the server that establishes a TCP connection with the client may be referred to as a primary server. The determining unit 602 determines whether the number of connections between the TCP connection and the server is up to the first preset threshold according to the connection status information. For the specific determination process, refer to the description in the embodiment shown in FIG. 1 above. Let me repeat.
需要说明的是, 该第一预置门限值的具体设置与实际应用过程有关, 可 以根据客户端所需要的发布共享文件的预计速度任意设置, 此处不作限定。 It should be noted that the specific setting of the first preset threshold is related to the actual application process, and may be arbitrarily set according to the expected speed of the shared file required by the client, which is not limited herein.
如果判断单元 602判断客户端与各服务器进行 TCP连接的连接数量未达 到第一预置门限值, 建立连接单元 603选择至少一个与自身未建立 TCP连接 的服务器并与其建立 TCP连接,并且当建立的 TCP连接数量达到该第一预置 门限值时, 发布单元 604 向所有主服务器发布共享文件信息, 如果判断单元 602判断客户端与各服务器进行 TCP连接的连接数量达到该第一预置门限值, 也由发布单元 604向所有主服务器发布共享文件信息。 If the determining unit 602 determines that the number of connections between the client and each server for TCP connection does not reach the first preset threshold, the establishing connection unit 603 selects at least one server that does not establish a TCP connection with itself and establishes a TCP connection with it, and when establishing When the number of TCP connections reaches the first preset threshold, the issuing unit 604 issues the shared file information to all the main servers, and if the determining unit 602 determines that the number of connections between the client and each server for the TCP connection reaches the first preset gate The limit value is also issued by the issuing unit 604 to all the main servers to share the file information.
本实施例中, 建立 TCP连接的具体过程以及发布共享文件信息的具体过 程请参见上述图 2所述实施例中步骤 204〜205相关的描述内容, 此处不再贅 述。 In this embodiment, the specific process of establishing a TCP connection and the specificity of publishing the shared file information For details, refer to the descriptions of steps 204 to 205 in the embodiment of FIG. 2, and details are not described herein again.
需要说明的是, 发布单元 604 向所有主服务器发布共享文件信息, 可以 是同时发布, 也可以经过一定的时间间隔发布共享文件信息, 具体发布方式 与实际应用过程有关, 此处不作限定。 It is to be noted that the publishing unit 604 advertises the shared file information to all the main servers, which may be advertised at the same time, and the shared file information may be advertised at a certain time interval. The specific publishing method is related to the actual application process, and is not limited herein.
进一步的, 发送单元 605向除了建立 TCP连接以外的其他所有服务器发 送 UDP消息, 请求与服务器建立 UDP消息会话, 以便后续与建立 UDP消息 会话的服务器进行通信。 Further, the sending unit 605 sends a UDP message to all servers except the established TCP connection, and requests to establish a UDP message session with the server for subsequent communication with the server that establishes the UDP message session.
查询节点列表时, 获取单元 601 首先获取本地保存的节点列表中的拥有 待下载的共享文件的节点数量信息, 根据该节点数量信息, 判断单元 602判 断节点数量是否小于第二预置门限值, 如果小于, 建立连接单元 603优先选 择向在一定时间内没有查询过节点列表的主服务器发送查询消息, 该查询消 息用于查询拥有待下载共享文件的节点列表, 如果没有符合要求的主服务器, 则发送单元 605向未建立 TCP连接的服务器发送 UDP查询消息,查询未建立 TCP连接的其他服务器上文件的节点列表。 When the node list is queried, the obtaining unit 601 first obtains the node number information of the shared file to be downloaded in the locally saved node list, and according to the node quantity information, the determining unit 602 determines whether the number of nodes is less than the second preset threshold. If not, the establishing connection unit 603 preferentially sends a query message to the primary server that has not queried the node list within a certain period of time, and the query message is used to query the node list that has the shared file to be downloaded, if there is no primary server that meets the requirements, The sending unit 605 sends a UDP query message to the server that does not establish a TCP connection, and queries the node list of files on other servers that do not establish a TCP connection.
需要说明的是, 该一定时间可以由系统内部程序设定, 一般设置在 1 分 钟以上, 主要是防止过于频繁发送查询消息可能会被认为是恶意发送信息而 导致发送查询消息的客户端被系统屏蔽, 因此该一定时间可根据实际情况具 体设置, 既不会因设置的时间过长而影响建立单元 603 向主服务器发送查询 消息, 也不会因设置的时间过短而使得客户端被系统屏蔽, 具体时间此处不 作限定。 It should be noted that the certain time can be set by the internal program of the system, generally set to more than 1 minute, mainly to prevent the query message from being sent too frequently, which may be considered as malicious sending information, and the client sending the query message is blocked by the system. Therefore, the certain time can be specifically set according to the actual situation, and the setup unit 603 does not send the query message to the primary server due to the set time, and the client is not blocked by the system because the set time is too short. The specific time is not limited here.
进一步的, 每次发送单元 605发出节点列表的用于查询拥有待下载共享 文件的节点列表的查询消息可以是等到所查询的服务器的回馈结果之后, 再 发送下一个查询消息, 也可以同时向多个服务器同时发送查询消息, 等到所 查询的服务器的回馈结果再执行后一个步骤, 具体查询情况与实际应用过程 相关, 此处不作限定。 Further, each time the sending unit 605 issues a query list of the node list for querying the node list that has the shared file to be downloaded, the query message may be sent after the query result of the queryed server, and then the next query message may be sent. The server sends the query message at the same time, and waits for the feedback result of the queried server to execute the next step. The specific query is related to the actual application process, which is not limited herein.
本实施例中, 判断单元 602根据获取的本地下载的节点列表中的共享文 件的节点数量信息, 判断共享文件的节点数量是否超过第二预置门限值, 若 超过, 则表示节点数量足够多, 不需要再与服务器建立 TCP连接增加节点, 则控制单元 606不再向服务器发送查询节点列表的查询消息, 停止查询该共 享文件的节点数量, 待本地下载的节点列表中记载的共享文件的节点数量低 于第二预置门限值时, 再向各服务器发送查询节点列表的查询消息, 启动查 询共享文件的节点数量。 In this embodiment, the determining unit 602 is configured according to the shared text in the obtained locally downloaded node list. The number of nodes of the device determines whether the number of nodes sharing the file exceeds the second preset threshold. If it exceeds, it indicates that the number of nodes is sufficient, and there is no need to establish a TCP connection with the server to add a node, and the control unit 606 no longer The server sends a query message of the query node list, and stops querying the number of nodes of the shared file. When the number of nodes of the shared file recorded in the locally downloaded node list is lower than the second preset threshold, the server sends a query node to each server. The list of query messages, the number of nodes that started querying shared files.
需要说明的是, 该第二预置门限值的具体设置与实际应用过程相关, 此 处不作限定。 It should be noted that the specific setting of the second preset threshold is related to the actual application process, and is not limited herein.
本发明实施中, 获取单元 601 首先获取与各服务器的连接状态信息, 根 据该连接状态信息, 判断单元 602判断与各服务器进行 TCP连接的连接数量 是否达到第一预置门限值, 若达到, 由发布单元 604向所有主服务器发布共 享文件信息, 若未达到, 则建立连接单元 603根据状态连接信息至少选择一 个未与其自身建立 TCP连接的服务器, 并与该选择的服务器建立 TCP连接, 发布单元 604向所有主服务器发布共享文件信息, 由于客户端可与更多的服 务器进行 TCP连接, 增加下载该共享文件的客户端, 因此可提高下载该共享 文件所有客户端的下载速度, 并且由于可以向多个建立 TCP连接的服务器发 布共享文件信息, 使得任何一个以其为主服务器的客户端都能够在第一次的 节点列表的查询中得到节点地址, 增加节点数量, 进而提高下载该共享文件 所有客户端的下载速度。 进一步的, 判断单元 602根据获取单元 601获取的 本地下载的节点列表中的共享文件的节点数量信息, 判断某个共享文件的节 点数量是否超过第二预置门限值, 若超过, 表示节点数量足够多, 发送单元 605不需要再发送查询消息。 In the implementation of the present invention, the obtaining unit 601 first obtains connection state information with each server, and according to the connection state information, the determining unit 602 determines whether the number of connections for performing TCP connection with each server reaches a first preset threshold. The shared file information is issued by the issuing unit 604 to all the primary servers. If not, the establishing connection unit 603 selects at least one server that does not establish a TCP connection with itself according to the state connection information, and establishes a TCP connection with the selected server, and the issuing unit The 604 issues the shared file information to all the main servers. Since the client can make a TCP connection with more servers, the client that downloads the shared file is added, so that the download speed of all the clients that download the shared file can be improved, and since The server that establishes the TCP connection publishes the shared file information, so that any client with its main server can obtain the node address in the query of the first node list, increase the number of nodes, and thereby improve all the users who download the shared file. Download speed of clients. Further, the determining unit 602 determines, according to the node number information of the shared file in the locally downloaded node list acquired by the obtaining unit 601, whether the number of nodes of a shared file exceeds a second preset threshold, and if so, indicates the number of nodes. Sufficiently, the sending unit 605 does not need to send a query message again.
下面介绍本发明实施例中的点对点通信系统, 请参阅图 7, 本发明实施例 中的点对点通讯系统的一个实施例包括: The following describes a point-to-point communication system in the embodiment of the present invention. Referring to FIG. 7, an embodiment of the point-to-point communication system in the embodiment of the present invention includes:
客户端 701以及服务器 702; Client 701 and server 702;
其中, 客户端 701 用于获取与各服务器的连接状态信息, 根据连接状态 信息, 判断自身与所述各服务器进行传输控制协议 TCP连接的连接数量是否 达到第一预置门限值, 若未达到所述第一预置门限值, 则根据连接状态信息 选择至少一个与自身未建立 TCP连接的服务器并与选择的服务器建立 TCP连 接, 向与自身建立了 TCP连接的服务器发布共享文件信息。 The client 701 is configured to obtain connection state information with each server, and determine, according to the connection state information, whether the number of connections between the server and the server for the transmission control protocol TCP connection is A first preset threshold is reached. If the first preset threshold is not reached, at least one server that does not establish a TCP connection with the server is selected according to the connection status information, and a TCP connection is established with the selected server. The server that established the TCP connection publishes the shared file information.
本发明实施例中, 客户端 701具体执行过程请参见前述图 2所示实施例 中相关部分的描写, 此处不再贅述。 For the specific implementation process of the client 701, refer to the description of related parts in the foregoing embodiment shown in FIG. 2, and details are not described herein again.
服务器 702是网络环境中的高性能计算机, 它接收网络上的其他计算机 (客户端)提交的服务请求, 并提供相应的服务, 是管理资源并为用户提供 服务的计算机, 服务器的具体工作过程为公知常识, 此处不再贅述。 The server 702 is a high-performance computer in a network environment. It receives service requests submitted by other computers (clients) on the network, and provides corresponding services. It is a computer that manages resources and provides services for users. The specific working process of the server is Common sense, no more details here.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤 是可以通过程序来指令相关的硬件完成, 所述的程序可以存储于一种计算机 可读存储介质中, 上述提到的存储介质可以是只读存储器, 磁盘或光盘等。 A person skilled in the art can understand that all or part of the steps of implementing the above embodiments can be completed by a program to instruct related hardware, and the program can be stored in a computer readable storage medium, the above mentioned storage. The medium can be a read only memory, a magnetic disk or a compact disk or the like.
以上对本发明所提供的一种点对点通信的方法、 装置及系统进行了详细 介绍, 对于本领域的一般技术人员, 依据本发明实施例的思想, 在具体实施 方式及应用范围上均会有改变之处, 综上所述, 本说明书内容不应理解为对 本发明的限制。 The method, the device and the system for the peer-to-peer communication provided by the present invention are described in detail above. For those skilled in the art, according to the idea of the embodiment of the present invention, the specific implementation manner and the application range may be changed. In the above, the contents of this specification are not to be construed as limiting the invention.
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201010579035.7 | 2010-12-08 | ||
| CN2010105790357A CN102025782A (en) | 2010-12-08 | 2010-12-08 | Point-to-point communication method, device and system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012075853A1 true WO2012075853A1 (en) | 2012-06-14 |
Family
ID=43866628
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2011/080648 Ceased WO2012075853A1 (en) | 2010-12-08 | 2011-10-11 | Peer-to-peer communication method, apparatus, and system |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN102025782A (en) |
| WO (1) | WO2012075853A1 (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102025782A (en) * | 2010-12-08 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | Point-to-point communication method, device and system |
| CN102523531A (en) * | 2011-12-08 | 2012-06-27 | 深圳市同洲视讯传媒有限公司 | Access entity which processes session in video on demand system and method thereof |
| CN102594926B (en) * | 2011-12-22 | 2015-04-22 | 华中科技大学 | Heterogeneous wireless peer-to-peer (P2P) network file sharing system and file transmission acceleration method |
| CN103716340B (en) * | 2012-09-28 | 2017-08-25 | 联想(北京)有限公司 | Terminal device and information processing method |
| CN103024081B (en) * | 2013-01-04 | 2016-01-20 | 福建星网锐捷通讯股份有限公司 | Be applicable to the terminal scheduling method of the point-to-point communication of effective guarantee communication system |
| CN104461710A (en) * | 2014-12-12 | 2015-03-25 | 北京国双科技有限公司 | Method and device for processing tasks |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101227460A (en) * | 2007-01-19 | 2008-07-23 | 秦晨 | Method for uploading and downloading distributed document and apparatus and system thereof |
| CN102025782A (en) * | 2010-12-08 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | Point-to-point communication method, device and system |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100372310C (en) * | 2006-04-25 | 2008-02-27 | 清华大学 | P2P Network Management Method Based on Federation Model |
| CN101577671A (en) * | 2008-05-07 | 2009-11-11 | 北京启明星辰信息技术股份有限公司 | Method and system for automatically controlling flow of peer-to-peer networking service |
| CN101437051B (en) * | 2008-12-04 | 2011-09-28 | 四川长虹电器股份有限公司 | Method for downloading network resource |
| CN101631056A (en) * | 2009-08-18 | 2010-01-20 | 腾讯科技(深圳)有限公司 | Method and device for constructing seed group in peer-to-peer application |
-
2010
- 2010-12-08 CN CN2010105790357A patent/CN102025782A/en active Pending
-
2011
- 2011-10-11 WO PCT/CN2011/080648 patent/WO2012075853A1/en not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101227460A (en) * | 2007-01-19 | 2008-07-23 | 秦晨 | Method for uploading and downloading distributed document and apparatus and system thereof |
| CN102025782A (en) * | 2010-12-08 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | Point-to-point communication method, device and system |
Also Published As
| Publication number | Publication date |
|---|---|
| CN102025782A (en) | 2011-04-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5855867B2 (en) | Service virtualization via content-centric network | |
| US9037628B2 (en) | Intelligent establishment of peer-to-peer communication | |
| US10893031B2 (en) | Dynamically serving digital certificates based on secure session properties | |
| US10331501B2 (en) | USB device redirection for remote systems | |
| US9191219B2 (en) | Network multicast peer discovery methods | |
| JP2003016036A (en) | Verifying system and method for reliability status of peer in peer-to-peer network environment | |
| WO2012075853A1 (en) | Peer-to-peer communication method, apparatus, and system | |
| WO2010028590A1 (en) | Method for providing address list, peer-to-peer network and scheduling method thereof | |
| CN106302230A (en) | A kind of data transmission method and device | |
| CN110417905B (en) | A contract publishing method, device, equipment and alliance chain system | |
| US20130054691A1 (en) | Flexible rule based multi-protocol peer-to-peer caching | |
| CN101146130A (en) | A method and system for transmitting data between clients | |
| CN107667513A (en) | System and method for remote topology discovery | |
| CN114731297B (en) | Ad hoc network groups for computing message limits for device peer matching | |
| US8145698B1 (en) | Self organizing peer-to-peer system, method, and/or apparatus | |
| CN102651757A (en) | Method and system for distributing peer-to-peer (P2P) contents | |
| US8832281B2 (en) | Utilizing resources of a peer-to-peer computer environment | |
| JP5945367B2 (en) | Method and system for communicating between web pages | |
| KR101364927B1 (en) | Method for preventing of torrent traffic in network | |
| Lim | CMSNS: a communication middleware for social networking and networked multimedia systems | |
| CN101789914B (en) | Peer-to-peer communication device and method using peer-to-peer proxy service | |
| CN101789913A (en) | Proxy service device and method using temporary storage management and data transmission load balance | |
| Oliveros et al. | A P2P network booting scheme using a BitTorrent-like protocol | |
| WO2017198088A1 (en) | Resource subscription method, resource subscription device, and resource subscription system | |
| CN118250348A (en) | Data upload method, device, equipment, medium and product |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11847585 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 11847585 Country of ref document: EP Kind code of ref document: A1 |