WO2006131037A1 - Systeme et procede de communication de donnees - Google Patents

Systeme et procede de communication de donnees Download PDF

Info

Publication number
WO2006131037A1
WO2006131037A1 PCT/CN2006/000428 CN2006000428W WO2006131037A1 WO 2006131037 A1 WO2006131037 A1 WO 2006131037A1 CN 2006000428 W CN2006000428 W CN 2006000428W WO 2006131037 A1 WO2006131037 A1 WO 2006131037A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
communication node
super
communication
network
Prior art date
Application number
PCT/CN2006/000428
Other languages
English (en)
French (fr)
Inventor
Ye Zhu
Baohe Zhang
Bo Wu
Haijun Wu
Bin Fang
Original Assignee
Tencent Technology (Shenzhen) Company Limited
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology (Shenzhen) Company Limited filed Critical Tencent Technology (Shenzhen) Company Limited
Priority to EP06722080.6A priority Critical patent/EP1890424B1/en
Priority to CA2611146A priority patent/CA2611146C/en
Priority to ES06722080.6T priority patent/ES2550431T3/es
Publication of WO2006131037A1 publication Critical patent/WO2006131037A1/zh
Priority to US11/951,787 priority patent/US7720978B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment

Definitions

  • the present invention relates to the field of data communication technologies, and more particularly to a system and method for implementing multi-party data communication using point-to-point (P2P) technology.
  • P2P point-to-point
  • a unified management mode is adopted for network information such as a port number and an IP address of each communication party, and the network information management server is used to uniformly store and manage the network information of each communication party.
  • each communication is performed.
  • the party obtains the network information of the other party from the network information management server, and establishes a data connection with the other party according to the network information, thereby realizing data communication with the other party.
  • the transit server has a large bandwidth, which increases the implementation cost of the transit server.
  • the transit server since the transit server itself has limited bandwidth, the transit server can only support data transfer between a limited number of communicating parties, if the number of communicating parties is large. , a large number of transit servers need to be invested, which further increases the implementation cost of data communication.
  • the transit server fails during the data communication process, the multi-party data communication forwarded by the transit server is interrupted, resulting in a certain range of data communication. Summary of the invention
  • the main object of the present invention is to provide a system for implementing data communication, which does not require a unified management manner for network information of each communication party, thereby avoiding the network information management server due to the unified management mode.
  • Another object of the present invention is to provide a method for implementing data communication, which does not need to adopt a unified management manner for network information of each communication party, thereby avoiding the failure of the network information management server due to the unified management mode.
  • Data communication is not a problem that cannot be achieved on a large scale.
  • the present invention provides a system for implementing data communication, the system includes respective communication nodes, and communication nodes establish connections according to network information and implement data communication by using the connection, and the system includes at least two super nodes. among them:
  • Each super node is used to store network information of the logically nearest communication node, and is also used for forwarding messages between the super nodes, and sends the saved network information of the destination communication node to the source communication node.
  • the super node is a part of the communication node in the communication node.
  • the super node is: a communication node whose network type is a public network type or a hybrid network address translation type.
  • the super node is:
  • a communication node whose bandwidth and online duration are greater than or equal to the set bandwidth and online duration.
  • the system further includes a central server, the central server is configured to collect network information of each super node, and instruct each super node to update its own routing table.
  • the invention also provides a method for implementing data communication, the method comprising:
  • Step A The source communication node sends a request for querying the destination communication node to the physically closest super node, and from the super node, finds the super node that is logically closest to the destination communication node, and the destination communication node is logically
  • the closest super node sends the network information of the destination communication node it saves to the source communication node;
  • Step B The source communication node uses the obtained network information of the destination communication node to establish a connection with the destination communication node, and transmits data through the connection to realize data communication.
  • step A the method further comprises:
  • Step a determining some communication nodes in the system as super nodes; wherein each super node stores routing information of the communication node or super node connected thereto;
  • Step b The communication node logs in with the physically closest super node. Starting from the super node, each super node uses the saved routing information to forward the network information of the registered communication node in turn until the registered communication is started. The network information of the node is forwarded and recorded to the super node that is logically closest to the registered communication node.
  • determining a part of the communication nodes in the system as the super node in the step a includes: Step al: sequentially reading information of each communication node in the network;
  • Step a2 determining, according to the information of the current communication node that is read, whether the network type of the current communication node is a public network or a hybrid network address translation. If yes, proceed to step a3. Otherwise, determine that the current communication node is not a super node, and then Returning to step a, continue to judge other communication nodes;
  • Step a3 determining whether the bandwidth of the current communication node and the online duration are greater than or equal to the preset The determined bandwidth and online duration, if yes, it is determined that the current i3 ⁇ 4 node is a super node, no, it is determined that the current communication node is not a super node, and then returns to step a, and continues to judge other communication nodes.
  • step b Includes:
  • Step bl After the communication node logs in to the system, log in to the physical super node of the communication node, and send its network information to the physical super node;
  • Step b2 The physical super node searches for the ID number closest to the ID number among the ID numbers of the saved communication node according to the ID number in the network information of the login communication node, and forwards the network information of the login communication node to the most The super node corresponding to the close ID number, the super node to which the network information is forwarded repeats the above forwarding process until the network information is forwarded to the logical super node of the communication node and saved.
  • the super node that is physically closest to the communication node is referred to as a physical super node of the communication node, and the nearest super node that is relocated with the communication node is referred to as a logical super node of the communication node, and the step includes :
  • Step A1 The source communication node sends a query request to the physical super node of the source communication node, where the query request includes an ID number of the destination communication node;
  • Step A2 The physical super node searches for the ID number closest to the ID number in each ID number held by the physical super node according to the ID number of the destination communication node, and then forwards the query request to the closest ID.
  • the super node corresponding to the number, the super node to which the query request is forwarded repeats the forwarding process until the query request is forwarded to the logical super node of the destination communication node;
  • Step A3 The logical super node of the destination communication node sends the network information of the destination communication node it saves to the source communication node.
  • the connection between the source communication node and the destination communication node in step B includes: the source communication node directly goes to the destination communication node according to the intranet IP address and port number in the network information of the obtained destination communication node.
  • the network IP address and port number send a connection request to establish a connection between the source communication node and the destination communication node.
  • step A the method further comprises:
  • the connection between the source communication node and the destination communication node in step B includes: the source communication node directly goes to the external network IP of the destination communication node according to the external network IP address and port number in the obtained network information of the destination communication node.
  • the address and port number send a connection request to establish a connection between the source communication node and the destination communication node.
  • step A the method further comprises:
  • the connection between the source communication node and the destination communication node in step B includes: The source communication node determines, according to its network type and the network type of the destination communication node, which way to connect:
  • the hybrid network address translation type party allows the other party to actively connect; if the two parties are neither the public network nor the hybrid network address translation type, the source communication node sends a traversal request to The physical super node of the destination communication node, the physical super node forwards the request to the source communication node and the destination communication node respectively, and the source communication node and the destination communication node respectively send the request to the external network IP address and port number of the other party after receiving the request.
  • UDP traversed packets to implement source communication nodes and destination communication sections Establish a connection between the points.
  • the connection between the source communication node and the destination communication node is as follows: The intranet direct connection, the external network direct connection, and the UDP traversal connection are used to establish a connection. Then stop using the rest of the way to establish a connection.
  • the method further includes: the source communication node sends a request for finding the transit seed to the super node to which it is connected, and the super node obtains data forwarding through the central server or other super node. The information of the communication node is then returned to the source communication node, and the source communication node establishes a relay channel according to the information, and establishes a connection with the destination communication node.
  • the source communication node establishes a transit channel including:
  • the method further includes:
  • the super node performs the forwarding by using the saved routing information, and the method further includes updating the routing information in each super node.
  • the updating the routing information includes:
  • the super node periodically sends a routing table update request to the central server, and the central server returns the latest routing table to the super node.
  • the updating the routing information includes:
  • Each super node exchanges routing information with each other to continuously update their respective routing tables. It can be seen that, by using the present invention, the network information of each communication party is dispersed in the super nodes that are closest to each other in logic, and the distributed management of the network information of each communication party is realized. In this case, even if a super node that holds network information fails, It will only affect the data communication of the communication node that is logically connected to the if node, and will not cause a large number of communication parties to establish a data connection, thereby improving the reliability of data communication. In addition, in the present invention, data is no longer forwarded by the relay server, and it is easy to cause a problem of a large range of data. BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic structural diagram of a system provided by the present invention.
  • FIG. 2 is a flow chart of an exemplary method of implementing the present invention.
  • FIG. 3 is an exemplary flow diagram for implementing step 201 of the present invention.
  • step 202 of the present invention is an exemplary flow diagram for implementing step 202 of the present invention.
  • FIG. 5 is an exemplary flow diagram for implementing step 203 of the present invention. Mode for carrying out the invention
  • the invention is a system and method for realizing data communication, and a part of a communication node (peer) in a communication system is determined as a super peer, and each super node forms a super node layer; when the communication node logs into the system: The communication node registers with the physically closest super node, and the physically closest super node registers the network information of the communication node to the super node closest to the ID of the communication node by forwarding between the super nodes.
  • the source communication node needs to send data to the destination communication node: The source communication node sends a query request to the physically closest super node, and the physically closest super node is forwarded locally through the super node.
  • the super node closest to the ID of the destination communication node returns the network information of the destination communication node to the source communication node, so that the source communication node can establish a network connection with the destination communication node according to the network information. Thereby achieving data communication.
  • the system provided by the present invention includes:
  • Each of the communication nodes for performing data communication includes a super node layer, each super node in the layer constitutes a super node layer as shown in FIG. 1, and each super node in the super node layer is used for forwarding a message to implement :
  • the network information of the communication node of the login system is saved to the super node that is logically closest to the communication node of the login system;
  • the network information of the destination communication node is returned to the super node that is logically closest to the destination communication node by message forwarding between the super nodes in the super node layer.
  • Source communication node when the source communication node queries the destination communication node, the network information of the destination communication node is returned to the super node that is logically closest to the destination communication node by message forwarding between the super nodes in the super node layer.
  • each super node has the following attributes:
  • the network type of the super node must be a public network type or a hybrid network address translation (Full Cone) type;
  • the bandwidth and online duration of the super node need to be greater than or equal to the preset bandwidth and online duration; wherein the preset online duration can be changed according to actual conditions, in the initial stage of network formation, the advance
  • the set online duration is small, and after the network is formed for a long time, the preset online duration should also be set to a relatively large value.
  • Each super node has a routing table in which the ID and network information of other super nodes connected to the super node are stored, and the network information is Including: network type, internal and external network IP address and port number, using the routing table, each super node in the super node layer can be based on the communication node of the login system or the destination communication node
  • the system provided by the present invention may further include a central server (Server), where the central server includes one or more servers for collecting network information of each super node, and instructing each super node to update its own routing table.
  • the system provided by the present invention may also not have the Server layer and does not affect the implementation of the present invention.
  • the method provided by the present invention includes:
  • Step 201 Determine a part of the communication nodes in the system as super nodes; wherein each super node stores routing information of a communication node or a super node connected thereto;
  • Step 202 The communication node logs in with the physically closest super node. Starting from the super node, each super node uses the saved routing information to sequentially forward the network information of the registered communication node until the registered communication is started. The network information of the node is forwarded and recorded to the super node that is logically closest to the registered communication node;
  • Step 203 The source communication node sends a request for querying the destination communication node to the super node that is physically closest thereto. Starting from the super node, each super node uses the saved routing information to forward the query request in turn, until The query request is forwarded to the super node that is logically closest to the destination communication node, and the super node sends the network information of the destination communication node it saves to the source communication node;
  • Step 204 The source communication node uses the obtained network information of the destination communication node to establish a connection with the destination communication node, and transmits data through the connection to implement data communication.
  • the ID number is used as the routing information of each communication node or super node
  • the super node that is logically closest to the communication node is the super node whose ID number is closest to the communication node; and, for the description Conveniently, the super node that is physically closest to the communication node is referred to as a physical super node (PSP) of the communication node, and the super node that is logically closest to the communication node is referred to as a logical super node of the communication node. ( LSP ).
  • PSP physical super node
  • step 201 is implemented by the following steps:
  • Step 301 sequentially reading information of each communication node in the network
  • Step 302 Determine, according to the information of the current communication node that is read, whether the network type of the current communication node is a public network or a Full Cone. If yes, continue to step 303, No, J, determine that the current communication node is not a super node. Then return to step 301 to continue to judge other communication nodes;
  • Step 303 Determine whether the bandwidth and the online duration of the current communication node are greater than or equal to a preset bandwidth and an online duration. If yes, determine that the current communication node is a super node, and then return to step 301 to continue to judge other communication nodes; otherwise , determining that the current communication node is not a super node, and then returning to step 301 to continue to judge other communication nodes; wherein, in this step, the preset online duration may be changed according to network operation: in the initial stage of network formation, the preset The fixed online duration is small, and the preset online duration is longer after the network is running for a period of time.
  • step 202 (ii) The specific implementation of step 202:
  • the implementation step 202 requires the following steps: Step 401: After logging in to the system, the communication node logs in to the PSP of the communication node by sending a Pub message to the PSP of the login communication node, and the The network information of the login communication node is sent to the PSP; Step 402: The PSP first searches for the network information of the destination communication node in the PSP according to the ID number in the network information of the login communication node, and if yes, directly returns the network information to the source communication node. And ending the process, otherwise, searching for the ID number closest to the ID number in each ID number saved by the PSP, and then routing the network information of the login communication node to the closest ID number by forwarding the Pub message. Corresponding super node;
  • Step 403 The currently-routed super node searches for the ID number closest to the login communication node in each of the ID numbers stored therein, and then, by forwarding the Pub message, routes the network information of the login communication node to the closest one.
  • Step 404 The currently-routed super node determines whether there is an ID number in the ID number stored by the node that is closer to the login communication node, and if yes, returns to step 403 until the ID number of all communication nodes of the network is found. The ID number closest to the ID number of the login communication node is performed, and then step 405 is performed. Otherwise, step 405 is directly performed.
  • Step 405 The super node currently routed as the LSP of the login communication node saves the network information of the login communication node.
  • step 203 requires the following steps:
  • Step 501 The source communication node sends a query request to the PSP of the source communication node, where the query request includes an ID number of the destination communication node.
  • Step 502 The PSP of the source communication node searches for the ID number closest to the ID number in each ID number held by the PSP according to the ID number of the destination communication node, and then routes the query request to the closest ID number.
  • Corresponding super node
  • Step 503 The currently-routed super node searches for the ID number closest to the destination communication node among the ID numbers it stores, and then routes the query request to the The super node corresponding to the closest ID number;
  • Step 504 The currently-routed super node determines whether there is an ID number of the ID number that is closer to the destination communication node in the saved ID number, and if yes, returns to step 503 until the ID number of all communication nodes of the network is found. The ID number closest to the ID number of the destination communication node is performed, and then step 505 is performed. Otherwise, step 505 is directly performed.
  • Step 505 The currently-routed super node is used as the LSP of the destination communication node, and the destination communication node it holds is saved. The network information is returned to the source communication node.
  • step 204 (iv) The specific implementation of step 204:
  • connection between the source communication node and the destination communication node may be established as follows:
  • the source communication node directly sends a connection request to the intranet IP address and port number of the destination communication node according to the intranet IP address and port number in the obtained network information of the destination communication node, thereby establishing a source communication node and a destination communication node.
  • the connection request may be sent through two forms: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP), and one of the options may be selected according to the specific application to send the connection request: For audio and video data
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • the communication is usually set to send the connection request preferentially by UDP. For some applications with high transmission reliability, the connection request is sent by TCP.
  • the UDP mode may be further attempted to establish a connection.
  • the connection request is sent by using the UDP method, the connection cannot be established.
  • a simple traversal (Stun) test of UDP to Network Address Translation (NAT) is required before the communication node logs in to the system to obtain the communication.
  • the external network IP address and port number of the node the login communication node adds the obtained external network IP address and port number to the network information; in this case, the network information of the destination communication node acquired by the source communication node Including the external network IP address and port number of the destination communication node, the source communication node directly sends a connection request to the external network IP address and port number of the destination communication node, thereby establishing a connection between the source communication node and the destination communication node, specifically
  • the implementation process is similar to the above process of establishing a connection through the intranet direct connection mode, and details are not described herein again.
  • the network information of the node includes the external network IP address, port number, and network type of the destination communication node, and the source communication node determines, according to its own network type and the network type of the destination communication node, which way to connect:
  • the FullCone-party can let the other party actively connect; if the two parties are neither the public network nor the FullCone, the source communication node sends the PSP that traverses the request to the destination communication node, and the destination communication node The PSP forwards the request to the source communication node and the destination communication node respectively. After receiving the request, the source communication node and the destination communication node respectively send UDP traversed data packets to the external network IP address and port number of the other party to implement the source communication node. Establish a connection with the destination communication node.
  • the above three connection modes are performed at the same time. If any of the modes is successfully established, the rest of the connection manners are used to establish a connection. If the three connection modes cannot establish a connection, the source communication node sends a search for the relay seed. Requesting to the super node to which it is connected, the super node obtains information of the communication node capable of data forwarding through the central server or other super node, and then returns the information to the source communication node, and the source communication node establishes a relay channel according to the information.
  • the information establishes multiple transit channels, one of which serves as the primary channel, and the remaining channels serve as the backup channel. If the primary channel is disconnected, it immediately switches to the remaining backup channels, thereby reducing the communication failure between the two parties due to the exit of the third-party communication node. problem.
  • Routing table update In the actual application, the routing table in each super node needs to be updated in each of the communication nodes in the system. Therefore, in the embodiment of the present invention, the following two methods may be used. Routing table update:
  • each super node is connected to the central server, the central server stores information of all super nodes, the super node periodically sends a routing table update request to the central server, and the central server returns the latest routing table to the Super node
  • each supernode exchanges routing information with each other, thereby continuously updating their respective routing tables.
  • multi-party communication can be realized, and its specific application mainly has two ways:
  • Point-to-point mode establishing a data channel between every two points, such as multi-person video:
  • the user establishes directly with all users who need to communicate data by using the method provided by the present invention, and then uses the connection to send application data.
  • A wants to see B and C videos, and A and B and C respectively establish data channels to achieve multi-person video communication.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

一种实现数据通讯的系统及其方法 技术领域
本发明涉及数据通讯技术领域, 更具体地说, 尤其涉及一种采用点 对点 (P2P )技术实现多方数据通讯的系统及其方法。 发明背景
当前, 随着数据通讯技术的不断发展, 已经能够实现多个通讯方之 间的多方数据通讯。 例如, 可以在多个通讯方之间进行音视频数据的传 输, 从而实现这些通讯方之间的影音交互。
在现有技术中,对于各个通讯方诸如端口号和 IP地址之类的网络信 息采用统一管理方式, 采用网络信息管理服务器统一保存和管理各个通 讯方的网络信息, 在数据通讯过程中, 各个通讯方从网络信息管理服务 器获得对方的网络信息, 以根据该网络信息与对方建立数据连接, 实现 和对方的数据通讯。
采用如上方式, '虽然能够实现数据通讯, 但是, 由于采用网络信息 管理服务器对各个通讯方的网络信息进行统一管理, 因此, 一旦该服务 器发生故障, 则会导致大量通讯方无法获得对方的网络信息, 无法建立 和目的通讯方的数据连接, 从而使得数据通讯在很大范围内不能得以实 现。
另外, 在现有技术中, 一部分数据通讯是通过中转服务器中转数据 得以实现。 采用中转服务器转发数据, 虽然能够实现数据通讯, 但是, 具有如下缺点:
由于在数据通讯过程中, 数据需要通过中转服务器进行中转, 而所 中转的数据通常又都是诸如音频、 视频等数据量较大的数据, 因此, 需 要中转服务器具有较大的带宽, 从而增加了中转服务器的实现成本, 另 外, 由于中转服务器自身带宽毕竟有限, 采用中转服务器只能支持有限 数量通讯方之间的数据中转, 如果通讯方数量较多, 则需投入大量的中 转服务器, 从而进一步增加了数据通讯的实现成本。 此外, 如果中转服 务器在数据通讯过程中发生.故障, 则会导致由该中转服务器转发的多方 数据通讯中断, 从而导致一定范围内的数据通讯瘫痪。 发明内容
有鉴于此, 本发明的主要目的在于提供一种实现数据通讯的系统, 无须对各个通讯方的网络信息釆用统一管理的方式, 从而避免由于该统 一管理方式所带来的由于网络信息管理服务器发生故障而使得数据通 讯在较大范围内无法实现的问题。
本发明的另一目的是提供一种实现数据通讯的方法, 无须对各个通 讯方的网络信息采用统一管理的方式, 从而避免由于该统一管理方式所 带来的由于网络信息管理服务器发生故障而使得数据通讯在较大范围 内无法实现的问题。
为实现上述目的, 本发明提供了一种实现数据通讯的系统, 该系统 包括各个通讯节点, 通讯节点之间根据网絡信息建立连接并利用该连接 实现数据通讯, 该系统包括至少两个超级节点, 其中:
各个超级节点用于保存与之逻辑上最临近的通讯节点的网络信息, 还用于进行超级节点之间的消息转发, 并将保存的目的通讯节点的网络 信息发送给源通讯节点。
其中, 所述超级节点为所述通讯节点中的部分通讯节点。
其中, 所述超级节点为: 网络类型为公网类型或者混合网络地址转 换类型的通讯节点。 其中, 所述超级节点为:
带宽和在线时长大于等于设定的带宽和在线时长的通讯节点。
其中, 该系统进一步包括中央服务器, 所述中央服务器用于收集各 个超级节点的网絡信息, 并指导各个超级节点更新自身的路由表。
本发明还提供了一种实现数据通讯的方法, 该方法包括:
步骤 A: 源通讯节点向与其物理上最临近的超级节点发送查询目的 通讯节点的请求, 自该超级节点开始, 查找到与目的通讯节点逻辑上最 接近的超级节点, 该与目的通讯节点逻辑上最接近的超级节点将其保存 的目的通讯节点的网络信息发送给源通讯节点;
步據 B: 源通讯节点利用得到的目的通讯节点的网络信息, 建立与 目的通讯节点之间的连接, 通过该连接传输数据, 实现数据通讯。
其中, 步骤 A之前, 该方法进一步包括:
步驟 a: 将系统中的部分通讯节点确定为超级节点; 其中,每个超级 节点中保存有与之连接的通讯节点或超级节点的路由信息;
步 b: 通讯节点登录与之物理上最临近的超级节点, 自该超级节 点开始, 各个超级节点之间利用各自所保存的路由信息, 依次转发登录 的通讯节点的网络信息, 直至将登录的通讯节点的网络信息转发并记录 到与该登录的通讯节点逻辑上最接近的超级节点中。
其中, 步驟 a中所述将系统中的部分通讯节点确定为超级节点包括: 步骤 al : 依次读取网络中各个通讯节点的信息;
步骤 a2: 根据读取的当前通讯节点的信息, 判断当前通讯节点的网 络类型是否为公网或混合网络地址转换, 如果是, 则继续执行步骤 a3 , 否则, 确定当前通讯节点不是超级节点, 然后返回步驟 al , 继续对其它 通讯节点进行判断;
步驟 a3: 判断当前通讯节点的带宽及在线时长是否大于等于预先设 定的带宽及在线时长, 如果是, 则确定当前 i¾讯节点为超级节点, 否贝' J , 确定当前通讯节点不是超级节点, 然后返回步骤 al , 继续对其它通讯节 点进行判断。
其中, 所述与通讯节点物理上最临近的超级节点称为该通讯节点的 物理超级节点, 将所述与通讯节点 辑上最临近的超級节点称为该通讯 节点的逻辑超级节点, 步據 b包括:
步骤 bl: 通讯节点登录系统后, 登录到该通讯节点的物理超级节点 上, 并将其网络信息发送到该物理超级节点上;
步驟 b2: 该物理超级节点根据该登录通讯节点网络信息中的 ID号 码, 查找得到其保存的各个 ID号码中与该 ID号码最接近的 ID号码, 并将 登录通讯节点的网络信息转发到该最接近的 ID号码所对应的超级节点 , 网络信息转发到的超级节点重复上述转发过程, 直至将所述网络信息转 发至所述通讯节点的逻辑超级节点上并保存。
其中, 所述与通讯节点物理上最临近的超级节点称为该通讯节点的 物理超级节点, 将所述与通讯节点遷辑上最临近的超级节点称为该通讯 节点的逻辑超级节点, 步 包括:
步骤 A1: 源通讯节点向该源通讯节点的物理超级节点发送查询请 求, 其中, 该查询请求中包括目的通讯节点的 ID号码;
步骤 A2: 该物理超级节点根据目的通讯节点的 ID号码, 在该物理超 级节点所保存的各个 ID号码中查找与该 ID号码最接近的 ID号码 , 然后, 将查询请求转发到该最接近的 ID号码所对应的超级节点, 查询请求转发 到的超级节点重复上述转发过程, 直至将查询请求转发到所述目的通讯 节点的逻辑超级节点;
步骤 A3:所述目的通讯节点的逻辑超级节点将其保存的目的通讯节 点的网络信息发送给源通讯节点。 其中, 步骤 B所述源通讯节点建立与目的通讯节点之间的连接包括: 源通讯节点根据获取得到的目的通讯节点的网络信息中的内网 IP地 址和端口号,直接向目的通讯节点的内网 IP地址和端口号发送连接请求, 建立源通讯节点和目的通讯节点之间的连接。
其中, 步骤 A之前, 该方法进一步包括:
对所述通讯节点进行简单穿越方式测试, 获取通讯节点的外网 IP地 址和端口号, 并将该外网 IP地址和端口号添加到该通讯节点的网络信息 中;
步 B所述源通讯节点建立与目的通讯节点之间的连接包括: 源通讯节点根据获取得到的目的通讯节点的网络信息中的外网 IP地 址和端口号,直接向目的通讯节点的外网 IP地址和端口号发送连接请求, 建立源通讯节点和目的通讯节点之间的连接。
其中, 步骤 A之前, 该方法进一步包括:
对所述通讯节点进行筒单穿越方式测试, 获取通讯节点的外网 IP地 址、 端口号、 和网络类型, 将该外网 IP地址、 端口号、 和网络类型添加 到该通讯节点的网络信息中;
步 B所述源通讯节点建立与目的通讯节点之间的连接包括: 源通讯节点根据自身的网络类型以及目的通讯节点的网络类型判 断采用何种方式进行连接:
如果一方是公网另一方是混合网络地址转换类型, 则混合网络地址 转换类型一方让另一方主动连接过来; 如果双方既不是公网也不是混合 网络地址转换类型, 则源通讯节点发送穿越请求给目的通讯节点的物理 超级节点, 该物理超级节点将该请求分别转发给源通讯节点和目的通讯 节点, 源通讯节点和目的通讯节点接收到请求后, 分别向对方的外网 IP 地址和端口号发送 UDP穿越的数据包, 以实现源通讯节点和目的通讯节 点之间建立连接。
其中, 步 B所述源通讯节点建立与目的通讯节点之间的连接包括: 同时采用内网直连、外网直连、以及通过 UDP穿越的方式建立连接, 如果任何一种方式建立连接成功, 则停止采用其余方式建立连接。
其中, 如果所述三种方式均不能建立连接, 该方法进一步包括: 源通讯节点发送查找中转种子的请求到其所连接的超级节点上, 超 級节点通过中央服务器或者其它超级节点获取能够进行数据转发的通 讯节点的信息, 然后将该信息返回给源通讯节点, 源通讯节点才艮据该信 息建立中转通道, 与目的通讯节点建立连接。
其中, 源通讯节点建立中转通道包括:
建立多条中转通道, 其中的一条通道作为主通道, 其余通道作为备 份通道;
该方法进一步包括:
如果进行数据通讯的主通道断开连接, 则立即将数据通讯切换到其 余备份通道。
其中, 超级节点利用其保存的路由信息进行所述转发, 该方法进一 步包括对各个超级节点中的路由信息进行更新。
其中 , 所述对路由信息进行更新包括:
超级节点定期向中央服务器发送路由表更新请求, 中央服务器返回 最新的路由表给该超级节点。
其中, 所述对路由信息进行更新包括:
各个超级节点之间相互交换路由信息以不断更新各自的路由表。 可见, 采用本发明, 将各个通讯方的网络信息分散在与各自逻辑上 最接近的超级节点中进行保存, 从而实现对于各个通讯方网络信息的分 散管理。 在此情况下, 即使保存有网络信息的某个超级节点发生故障, 则也只会影响到与该超級节点逻辑上最接 if的通讯节点的数据通讯, 不 会造成数量较多的通讯方无法实现建立数据连接, 从而提高了数据通讯 实现的可靠性。 另外, 在本发明中, 数据不再经过中转服务器转发, 从 加、 容易导致大范围数据瘫痪的问题。 附图简要说明
图 1为本发明所提供的系统的示范性结构示意图。
图 2为实现本发明的示范性方法流程图。
图 3为实现本发明步驟 201的示范性流程图。
图 4为实现本发明步骤 202的示范性流程图。
图 5为实现本发明步骤 203的示范性流程图。 实施本发明的方式
为使本发明的目的、 技术方案和优点表达得更加清楚明白, 下面结 合附图及具体实施例对本发明再作进一步详细的说明。
本发明为一种实现数据通讯的系统及其方法, 将通讯系统中的部分 通讯节点(peer )确定为超级节点(super peer ), 各个超级节点组成超级 节点层; 在通讯节点登录系统时: 每个通讯节点登录与其物理上最临近 的超级节点, 该物理上最临近的超级节点通过超级节点之间的转发, 将 该通讯节点的网络信息登记到与该通讯节点的 ID最临近的超级节点中; 在源通讯节点需要向目的通讯节点发送数据时: 源通讯节点向与其物理 上最临近的超级节点发送查询请求, 该物理上最临近的超级节点通过超 级节点之间的转发, 首先在本地进行查找, 如果查找不到目的通讯节点 的网络信息, 则将该查询请求发送至与目的通讯节点的 ID最临近的超 级节点上, 该与目的通讯节点的 ID最临近的超级节点将目的通讯节点 的网络信息返回给源通讯节点, 以使得源通讯节点能够根据该网络信息 建立与目的通讯节点之间的网絡连接, 从而实现数据通讯。
下面结合附图对本发明进行详细描述。
参见图 1, 本发明所提供的系统包括:
各个用于进行数据通讯的通讯节点, 其中, 包括超级节点层, 该层 中的各个超级节点组成图 1所示的超级节点层, 超级节点层中的各个超 级节点用于进行消息的转发以实现:
在通讯节点登录系统时, 通过超级节点层中的各个超级节点之间的 消息转发, 将该登录系统的通讯节点的网络信息保存到与登录系统的通 讯节点在逻辑上最临近的超级节点中;
以及, 在源通讯节点查询目的通讯节点时, 通过超级节点层中的各 个超级节点之间的消息转发, 将目的通讯节点的网络信息由与该目的通 讯节点在逻辑上最临近的超级节点返回给源通讯节点。
其中, 在该系统中, 各个超级节点具有如下属性:
1、为了保证进行数据传输的通讯节点都能够登录到超级节点上, 因 此, 超级节点的网络类型必须为公网类型或者混合网络地址转换(Full Cone )类型;
2、为了提高整个网絡的效率,超级节点的带宽和在线时长需要大于 等于预先设定的带宽和在线时长; 其中, 预先设定的在线时长可以根据 实际情况进行改变, 在网絡形成初期, 该预先设定的在线时长较小, 而 在网络形成较长时间后, 该预先设定的在线时长相应地也应设定为较大 的值。
其中, 每个超级节点都分别具有一张路由表, 在该路由表中保存着 与该超级节点连接的其它超级节点的 ID和网络信息, 所述的网絡信息 包括: 网络类型、 内外网 IP地址和端口号, 利用该路由表, 超级节点层 中的各个超级节点能够根据登录系统的通讯节点或者目的通讯节点的
ID号, 在路由表中查找该超级节点范围内与所述通讯节点在 ID号上最 接近的超级节点, 然后, 路由到该超级节点上, 该超级节点再利用其上 的路由表进行如上所述的查找及路由,直至路由到与所述通讯节点在 ID 号上最接近的超级节点上。
参见图 1 , 本发明所提供的系统还可以包括中央服务器(Server ), 该中央 Server包括一个或一个以上的服务器, 用于收集各个超级节点的 网络信息, 并指导各个超级节点更新自身的路由表; 本发明所提供的系 统也可不具有该 Server层, 并不影响本发明的实现。
下面结合附图, 对本发明所提供的方法进行详细介绍。
参见图 2, 本发明所提供的方法包括:
步骤 201: 将系统中的部分通讯节点确定为超级节点; 其中, 每个 超级节点中保存有与之连接的通讯节点或超级节点的路由信息;
步骤 202: 通讯节点登录与之物理上最临近的超级节点, 自该超级 节点开始, 各个超级节点之间利用各自所保存的路由信息, 依次转发登 录的通讯节点的网絡信息, 直至将登录的通讯节点的网络信息转发并记 录到与登录的通讯节点逻辑上最接近的超级节点中;
步骤 203: 源通讯节点向与其物理上最临近的超级节点发送查询目 的通讯节点的请求, 自该超级节点开始, 各个超级节点之间利用各自所 保存的路由信息, 依次转发该查询请求, 直至将该查询请求转发到与目 的通讯节点逻辑上最接近的超级节点中, 该超级节点将其保存的目的通 讯节点的网络信息发送给源通讯节点;
步骤 204: 源通讯节点利用得到的目的通讯节点的网络信息, 建立 与目的通讯节点之间的连接, 通过该连接传输数据, 实现数据通讯。 下面结合具体实例, 对以上步骤的具体实现进行详细介绍。 其中, 在该实例中, 采用 ID号作为各个通讯节点或超级节点的路由信息, 所 述与通讯节点逻辑上最接近的超級节点为 ID号与该通讯节点最接近的 超级节点; 并且, 为了描述方便, 将所述与通讯节点物理上最临近的超 级节点称为该通讯节点的物理超级节点(PSP ), 将所述与通讯节点逻辑 上最临近的超级节点称为该通讯节点的逻辑超级节点 ( LSP )。
(一) 步骤 201的具体实现: . 参见图 3 , 在本发明实施例中, 通过以下步驟实现步骤 201:
步骤 301: 依次读取网络中各个通讯节点的信息;
步骤 302: 根据读取的当前通讯节点的信息, 判断当前通讯节点的 网络类型是否为公网或 Full Cone, 如果是, 则继续执行步骤 303, 否贝,J, 确定当前通讯节点不是超级节点, 然后返回步骤 301 , 继续对其它通讯 节点进行判断;
步骤 303: 判断当前通讯节点的带宽及在线时长是否大于等于预先 设定的带宽及在线时长, 如果是, 则确定当前通讯节点为超级节点 , 然 后返回步骤 301 , 继续对其它通讯节点进行判断; 否则, 确定当前通讯 节点不是超级节点, 然后返回步驟 301 , 继续对其它通讯节点进行判断; 其中, 在本步驟中, 预先设定的在线时长可以根据网络运行情况改变: 在网络形成初期, 该预先设定的在线时长较小, 在网络运行一段时间之 后, 该预先设定的在线时长较长。
(二) 步驟 202的具体实现:
参见图 4, 在本发明实施例中, 实现步骤 202需要以下步骤: 步驟 401: 通讯节点登录系统后, 通过向该登录通讯节点的 PSP发 送 Pub消息登录到该通讯节点的 PSP上,并将该登录通讯节点的网络信 息发送到该 PSP上; 步骤 402: 所述的 PSP根据该登录通讯节点网络信息中的 ID号码, 首先在该 PSP本地查找是否保存有目的通讯节点的网络信息,如果存在, 则直接将该网络信息返回给源通讯节点,并结束本流程,否则,在该 PSP 所保存的各个 ID号码中查找与该 ID号码最接近的 ID号码, 然后, 通 过转发 Pub消息, 将登录通讯节点的网络信息路由到该最接近的 ID号 码所对应的超级节点;
步驟 403: 当前路由到的超级节点在其所保存的各个 ID号码中, 查 找得到与登录通讯节点最接近的 ID号码, 然后, 通过转发 Pub消息, 将登录通讯节点的网絡信息路由到该最接近的 ID号码所对应的超级节 点上;
步驟 404: 当前路由到的超级节点判断其保存的 ID号码中是否还有 更接近登录通讯节点的 ID号码的 ID号码, 如果是, 则返回步骤 403, 直至查找得到网络的所有通讯节点的 ID号码中与登录通讯节点的 ID号 码最接近的 ID号码, 然后执行步骤 405, 否则, 直接执行步骤 405; 步骤 405: 当前路由到的超級节点作为登录通讯节点的 LSP保存登 录通讯节点的网络信息。
(三) 步驟 203的具体实现:
参见图 5, 实现步驟 203需要以下步骤:
步骤 501: 源通讯节点向该源通讯节点的 PSP发送查询请求, 其中, 该查询请求中包括目的通讯节点的 ID号码;
步骤 502: 源通讯节点的 PSP根据目的通讯节点的 ID号码, 在该 PSP所保存的各个 ID号码中查找与该 ID号码最接近的 ID号码, 然后, 将查询请求路由到该最接近的 ID号码所对应的超级节点;
步骤 503: 当前路由到的超级节点在其所保存的各个 ID号码中, 查 找得到与目的通讯节点最接近的 ID号码, 然后, 将查询请求路由到该 最接近的 ID号码所对应的超级节点上;
步骤 504: 当前路由到的超级节点判断其保存的 ID号码中是否还有 更接近目的通讯节点的 ID号码的 ID号码, 如果是, 则返回步驟 503, 直至查找得到网络的所有通讯节点的 ID号码中与目的通讯节点的 ID号 码最接近的 ID号码, 然后执行步骤 505, 否则, 直接执行步驟 505; 步骤 505: 当前路由到的超级节点作为目的通讯节点的 LSP, 将其 所保存的目的通讯节点的网络信息返回给源通讯节点。
(四) 步骤 204的具体实现:
在本发明实施例中, 可以采用如下方式建立源通讯节点与目的通讯 节点之间的连接:
1、 通过内网直连建立连接:
源通讯节点根据获取得到的目的通讯节点的网络信息中的内网 IP 地址和端口号,直接向目的通讯节点的内网 IP地址和端口号发送连接请 求, 从而建立源通讯节点和目的通讯节点之间的连接; 其中, 所述连接 请求可以通过传输控制协议 ( TCP )和用户数据报协议 ( UDP ) 两种形 式进行发送, 可以根据具体应用选择其中的一种来发送连接请求: 对于 音视频数据通讯, 通常设置为优先采用 UDP 方式发送连接请求, 对于 一些传输可靠性要求较高的应用, 则优先采用 TCP方式发送连接请求。 在具体应用中, 如果优先采用 TCP发送连接请求, 则在采用 TCP方式 无法建立连接的情况下, 还可进一步尝试采用 UDP方式尝试建立连接, 同理, 如果优先采用 UDP方式发送连接请求而无法建立连接时, 同样 可以进一步采用 TCP方式尝试建立连接。
2、 通过外网直连建立连接:
采用此种方式建立连接, 需要在通讯节点登录系统前, 进行 UDP 对网络地址转换(NAT ) 的简单穿越方式(Stun ) 测试, 以获取该通讯 节点的外网 IP地址和端口号, 该登录通讯节点将获取得到的外网 IP地 址和端口号添加到其网絡信息中; 在此情况下, 源通讯节点所获取的目 的通讯节点的网络信息中包括有该目的通讯节点的外网 IP地址和端口 号,源通讯节点直接向目的通讯节点的外网 IP地址和端口号发送连接请 求, 从而建立源通讯节点和目的通讯节点之间的连接, 具体实现过程与 上述通过内网直连方式建立连接的过程类似, 在此不再赘述;
3、 通过 UDP穿越方式建立连接:
采用此种方式建立连接, 需要在通讯节点登录系统前, 进行 Stun测 试, 以获取该通讯节点的外网 IP地址、 端口号、 和网络类型; 在此情况 下, 源通讯节点所获取的目的通讯节点的网络信息中包括有该目的通讯 节点的外网 IP地址、 端口号、和网络类型, 源通讯节点根据自身的网络 类型以及目的通讯节点的网络类型判断采用何种方式进行连接:
如果一方是公网另一方是 FullCone, 则 FullCone—方可以让另一方 主动连接过来; 如果双方既不是公网也不是 FullCone, 则源通讯节点发 送穿越请求给目的通讯节点的 PSP, 目的通讯节点的 PSP将该请求分别 转发给源通讯节点和目的通讯节点, 源通讯节点和目的通讯节点接收到 请求后, 分别向对方的外网 IP地址和端口号发送 UDP穿越的数据包, 以实现源通讯节点和目的通讯节点之间建立连接。
在实际应用中, 上述三种连接方式同时进行, 如果任何一种方式建 立成功, 则停止采用其余的连接方式建立连接, 如果三种连接方式均不 能建立连接, 则源通讯节点发送查找中转种子的请求到其所连接的超级 节点上, 超级节点通过中央 Server或者其它超级节点获取能够进行数据 转发的通讯节点的信息, 然后将该信息返回给源通讯节点, 源通讯节点 根据该信息建立中转通道, 与目的通讯节点建立连接; 其中, 如果有多 个通讯节点能够进行数据转发, 则源通讯节点可以根据这些通讯节点的 信息建立多条中转通道, 其中的一条通道作为主通道, 其余通道作为备 份通道, 如果主通道断开连接则立即切换到其余备份通道, 从而减少由 于第三方通讯节点退出而引起的双方通讯失败的问题。
在实际应用中, 由于系统中的各个通讯节点会出现退出系统以及登 录系统的变化, 因此, 需要对各个超级节点中的路由表进行更新, 在本 发明实施例中, 可以采用以下两种方式进行路由表更新:
1、 在有中央 Server的情况下, 各个超级节点与中央 Server保持连 接,中央 Server保存有所有超级节点的信息,超级节点定期向中央 Server 发送路由表更新请求, 中央 Server返回最新的路由表给该超级节点;
2、 在没有中央 Server的情况下, 各个超级节点之间相互交换路由 信息, 从而不断更新各自的路由表。
采用本发明提供的系统和方法, 能够实现多方通讯, 其具体应用主 要有两种方式:
( 1 )会议模式,主席对各个参会人员的语音处理后中转给其他参会 人员, 以实现多人语音, 在其他人需要加入会议时, 首先查找主席, 然 后通过上面的方式和主席建立连接, 将自己的数据发送给主席, 主席进 行处理后转发给其他人, 主席可以对不同人的语音进行混音, 然后将混 音后的数据发送给其他人。
( 2 )点对点模式, 每两点间建立数据通道, 如多人视频:
用户采用本发明提供的方法直接和所有需要进行数据通讯的用户建 立, 然后利用该连接发送应用数据。 如多人的视频会议, A希望看到 B 和 C的视频, A分别和 B、 C建立数据通道, 以实现多人视频通讯。
以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡 在本发明的精神和原则之内, 所作的任何修改、 等同替换、 改进等, 均 应包含在本发明的保护范围之内。

Claims

权利要求书
1、一种实现数据通讯的系统, 该系统包括各个通讯节点, 通讯节点 之间根据网络信息建立连接并利用该连接实现数据通讯, 其特征在于 , 该系统包括至少两个超级节点, 其中: 各个超级节点用于保存与之逻辑 上最临近的通讯节点的网络信息, 还用于进行超级节点之间的消息转 发, 并将保存的目的通讯节点的网络信息发送给源通讯节点。
2、根据权利要求 1所述的系统, 其特征在于, 所述超级节点为所述 通讯节点中的部分通讯节点。
3、根据权利要求 1或 2所述的系统,其特征在于,所述超级节点为:
4、根据权利要求 1或 2所述的系统,其特征在于,所述超级节点为: 带宽和在线时长大于等于设定的带宽和在线时长的通讯节点。
5、根据权利要求 1所述的系统, 其特征在于, 该系统进一步包括中 央服务器,
所述中央服务器用于收集各个超级节点的网络信息, 并指导各个超 级节点更新自身的路由表。
6、 一种实现数据通讯的方法, 其特征在于, 该方法包括: 步驟 A: 源通讯节点向与其物理上最临近的超级节点发送查询目的 通讯节点的请求, 自该超级节点开始, 查找到与目的通讯节点逻辑上最 接近的超級节点, 该与目的通讯节点逻辑上最接近的超级节点将其保存 的目的通讯节点的网络信息发送给源通讯节点;
步骤 B: 源通讯节点利用得到的目的通讯节点的网络信息, 建立与 目的通讯节点之间的连接, 通过该连接传输数据, 实现数据通讯。
7、 根据权利要求 6所述的方法, 其特征在于, 步骤 A之前, 该方 法进一步包括: 步骤 a: 将系统中的部分通讯节点确定为超级节点; 其中, 每个超 级节点中保存有与之连接的通讯节点或超级节点的路由信息;
步骤 b: 通讯节点登录与之物理上最临近的超级节点, 自该超级节 点开始, 各个超级节点之间利用各自所保存的路由信息, 依次转发登录 的通讯节点的网络信息, 直至将登录的通讯节点的网络信息转发并记录 到与该登录的通讯节点逻辑上最接近的超级节点中。
8、根据权利要求 7所述的方法, 其特征在于, 步驟 a中所述将系统 中的部分通讯节点确定为超级节点包括:
步骤 al: 依次读取网络中各个通讯节点的信息;
步骤 a2: 根据读.取的当前通讯节点的信息, 判断当前通讯节点的网 络类型是否为公网或混合网络地址转换 , 如果是, 则继续执行步骤 a3 , 否则, 确定当前通讯节点不是超级节点, 然后返回步骤 al , 继续对其它 通讯节点进行判断;
步骤 a3: 判断当前通讯节点的带宽及在线时长是否大于等于预先设 定的带宽及在线时长, 如果是, 则确定当前通讯节点为超级节点, 否则, 确定当前通讯节点不是超级节点, 然后返回步骤 al , 继续对其它通讯节 点进行判断。
9、根据权利要求 7所述的方法, 其特征在于, 所述与通讯节点物理 上最临近的超级节点称为该通讯节点的物理超级节点, 将所述与通讯节 点逻辑上最临近的超级节点称为该通讯节点的逻辑超级节点, 步驟 b包 括:
步骤 M: 通讯节点登录系统后, 登录到该通讯节点的物理超级节点 上, 并将其网络信息发送到该物理超级节点上;
步骤 b2: 该物理超级节点根据该登录通讯节点网络信息中的 ID号 码, 查找得到其保存的各个 ID号码中与该 ID号码最接近的 ID号码, 并将登录通讯节点的网络信息转发到该最接近的 ID号码所对应的超級 节点, 网给信息转发到的超级节点重复上述转发过程, 直至将所述网络 信息转发至所述通讯节点的逻辑超级节点上并保存。
10、 根据权利要求 6所述的方法, 其特征在于, 所述与通讯节点物 理上最临近的超级节点称为该通讯节点的物理超级节点, 将所述与通讯 节点逻辑上最临近的超级节点称为该通讯节点的逻辑超级节点, 步骤 A 包括:
步骤 A1 : 源通讯节点向该源通讯节点的物理超级节点发送查询请 求, 其中, 该查询请求中包括目的通讯节点的 ID号码;
步骤 A2:所述物理超级节点在本地查找是否保存有目的通讯节点的 网絡信息, 如果存在, 则直接将该网络信息返回给源通讯节点, 并结束 本流程, 否则, 该物理超级节点根据目的通讯节点的 ID号码, 在该物 理超级节点所保存的各个 ID号码中查找与该 ID号码最接近的 ID号码, 然后, 将查询请求转发到该最接近的 ID号码所对应的超级节点, 查询 请求转发到的超级节点重复上述转发过程, 直至将查询请求转发到所述 目的通讯节点的逻辑超级节点;
步骤 A3:所述目的通讯节点的逻辑超级节点将其保存的目的通讯节 点的网络信息发送给源通讯节点。
11、 根据权利要求 6所述的方法, 其特征在于, 步驟 B所述源通讯 节点建立与目的通讯节点之间的连接包括:
源通讯节点根据获取得到的目的通讯节点的网络信息中的内网 IP 地址和端口号,直接向目的通讯节点的内网 IP地址和端口号发送连接请 求, 建立源通讯节点和目的通讯节点之间的连接。
12、 根据权利要求 6所述的方法, 其特征在于, 步驟 A之前, 该方 法进一步包括: 对所述通讯节点进行简单穿越方式测试,获取通讯节点的外网 IP地 址和端口号, 将该外网 IP地址和端口号添加到该通讯节点的网络信息 中;
步骤 B所述源通讯节点建立与目的通讯节点之间的连接包括: 源通讯节点根据获取得到的目的通讯节点的网络信息中的外网 IP 地址和端口号,直接向目的通讯节点的外网 IP地址和端口号发送连接请 求, 建立源通讯节点和目的通讯节点之间的连接。
13、 根据权利要求 6所述的方法, 其特征在于, 步骤 A之前, 该方 法进一步包括:
对所述通讯节点进行简单穿越方式测试,获取通讯节点的外网 IP地 址、 端口号、 和网络类型, 并将该外网 IP地址、 端口号、 和网絡类型添 加到该通讯节点的网络信息中;
步骤 B所述源通讯节点建立与目的通讯节点之间的连接包括: 源通讯节点根据自身的网絡类型以及目的通讯节点的网络类型判断 采用何种方式进行连接:
如果一方是公网另一方是混合网络地址转换类型, 则混合网络地址 转换类型一方让另一方主动连接过来; 如果双方既不是公网也不是混合 网络地址转换类型, 则源通讯节点发送穿越请求给目的通讯节点的物理 超级节点, 该物理超级节点将该请求分别转发给源通讯节点和目的通讯 节点, 源通讯节点和目的通讯节点接收到请求后, 分别向对方的外网 IP 地址和端口号发送 UDP 穿越的数据包, 以实现源通讯节点和目的通讯 节点之间建立连接。
14、 根据权利要求 6所述的方法, 其特征在于, 步骤 B所述源通讯 节点建立与目的通讯节点之间的连接包括:
同时采用内网直连、外网直连、以及通过 UDP穿越的方式建立连接, 如果任何一种方式建立连接成功, 则停止采用其余方式建立连接。
15、根据权利要求 14所述的方法, 其特征在于, 如果所述三种方式 均不能建立连接, 该方法进一步包括:
源通讯节点发送查找中转种子的请求到其所连接的超级节点上, 超 级节点通过中央服务器或者其它超级节点获取能够进行数据转发的通 讯节点的信息, 然后将该信息返回给源通讯节点, 源通讯节点 据该信 息建立中转通道, 与目的通讯节点建立连接。
16、根据权利要求 15所述的方法, 其特征在于, 源通讯节点建立中 转通道包括:
建立多条中转通道, 其中的一条通道作为主通道, 其余通道作为备 份通道;
该方法进一步包括:
如果进行数据通讯的主通道断开连接, 则立即将数据通讯切换到其 余备份通道。
17、 根据权利要求 6所述的方法, 其特征在于, 超级节点利用其保 存的路由信息进行所述转发, 该方法进一步包括对各个超级节点中的路 由信息进行更新。
18、根据权利要求 17所述的方法, 其特征在于, 所述对路由信息进 行更新包括:
超级节点定期向中央服务器发送路由表更新请求, 中央服务器返回 最新的路由表给该超级节点。
19、根据权利要求 17所述的方法, 其特征在于, 所述对路由信息进 行更新包括:
各个超级节点之间相互交换路由信息以不断更新各自的路由表。
PCT/CN2006/000428 2005-06-06 2006-03-20 Systeme et procede de communication de donnees WO2006131037A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP06722080.6A EP1890424B1 (en) 2005-06-06 2006-03-20 System and method for data communication
CA2611146A CA2611146C (en) 2005-06-06 2006-03-20 Method for data communication and system thereof
ES06722080.6T ES2550431T3 (es) 2005-06-06 2006-03-20 Sistema y procedimiento de comunicación de datos
US11/951,787 US7720978B2 (en) 2005-06-06 2007-12-06 Method for data communication and system thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200510074948.2 2005-06-06
CNB2005100749482A CN100479415C (zh) 2005-06-06 2005-06-06 一种实现数据通讯的系统及其方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/951,787 Continuation US7720978B2 (en) 2005-06-06 2007-12-06 Method for data communication and system thereof

Publications (1)

Publication Number Publication Date
WO2006131037A1 true WO2006131037A1 (fr) 2006-12-14

Family

ID=37498106

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2006/000428 WO2006131037A1 (fr) 2005-06-06 2006-03-20 Systeme et procede de communication de donnees

Country Status (6)

Country Link
US (1) US7720978B2 (zh)
EP (1) EP1890424B1 (zh)
CN (1) CN100479415C (zh)
CA (1) CA2611146C (zh)
ES (1) ES2550431T3 (zh)
WO (1) WO2006131037A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123100B (zh) * 2008-02-05 2013-06-12 华为技术有限公司 一种维护路由信息的方法及装置
CN101505263B (zh) * 2008-02-05 2011-10-26 华为技术有限公司 一种选择超级维护节点的方法及装置
CN101478619B (zh) * 2009-01-05 2011-11-23 腾讯科技(深圳)有限公司 实现多路语音混音的方法、系统及节点设备
CN101772096B (zh) * 2009-01-07 2014-06-04 华为技术有限公司 一种信息获取方法、设备和系统
US9083762B2 (en) * 2010-05-28 2015-07-14 Greg Saunders System and method for providing hybrid on demand services to a work unit
US8611540B2 (en) * 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
CN102742225A (zh) * 2011-03-30 2012-10-17 青岛海信传媒网络技术有限公司 P2p网络中的通信方法、网络节点及网络超级节点
CN103368764B (zh) * 2012-04-10 2018-05-04 中兴通讯股份有限公司 一种虚拟网络的实现方法及网络管理系统
US9277013B2 (en) * 2012-05-10 2016-03-01 Qualcomm Incorporated Storing local session data at a user equipment and selectively transmitting group session data to group session targets based on dynamic playback relevance information
US9444564B2 (en) 2012-05-10 2016-09-13 Qualcomm Incorporated Selectively directing media feeds to a set of target user equipments
JP5880526B2 (ja) * 2013-11-28 2016-03-09 オンキヨー&パイオニアテクノロジー株式会社 情報共有システム
CN109936603B (zh) * 2017-12-18 2022-07-01 本无链科技(深圳)有限公司 一种基于http非直联网络通信方法
WO2019232750A1 (zh) * 2018-06-07 2019-12-12 Guan Chi 一种网络通信方法、对等体及系统
CN109981794B (zh) * 2019-04-09 2021-08-17 广州蚁比特区块链科技有限公司 基于区块链节点网络的处理方法、装置及电子设备
CN110365771A (zh) * 2019-07-16 2019-10-22 深圳市网心科技有限公司 一种数据获取方法、装置、系统和计算机可读存储介质
CN112492053B (zh) * 2019-08-20 2023-04-07 本无链科技(深圳)有限公司 一种用于p2p网络的跨网穿透方法及系统
CN112565796A (zh) * 2019-09-25 2021-03-26 北京硬核聚视科技有限公司 一种视频内容去中心化存取方法和系统
CN111491126A (zh) * 2020-04-10 2020-08-04 贵州新致普惠信息技术有限公司 提高多人联机视频语音稳定性的方法、系统以及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0634725A1 (fr) * 1993-07-15 1995-01-18 Bull S.A. Noeud de processeurs
EP1160679A2 (en) * 2000-06-02 2001-12-05 Mitsubishi Denki Kabushiki Kaisha Method for modelling a probabilistic system
US20040196841A1 (en) * 2003-04-04 2004-10-07 Tudor Alexander L. Assisted port monitoring with distributed filtering

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU664864B2 (en) * 1991-10-01 1995-12-07 Broadcom Corporation A radio frequency local area network
US6691173B2 (en) * 1999-07-06 2004-02-10 Widcomm, Inc. Distributed management of an extended network containing short-range wireless links
US6980537B1 (en) * 1999-11-12 2005-12-27 Itt Manufacturing Enterprises, Inc. Method and apparatus for communication network cluster formation and transmission of node link status messages with reduced protocol overhead traffic
GB9928936D0 (en) * 1999-12-07 2000-02-02 Pathfinder Tech Resources Ltd Domestic communication and entertainment system
JP3726613B2 (ja) * 2000-02-04 2005-12-14 コニカミノルタビジネステクノロジーズ株式会社 情報機器システム、情報機器管理装置、情報機器管理方法および情報機器管理プログラムを記録したコンピュータ読取可能な記録媒体
US6798777B1 (en) * 2000-04-17 2004-09-28 Juniper Networks, Inc. Filtering and route lookup in a switching device
US7403980B2 (en) * 2000-11-08 2008-07-22 Sri International Methods and apparatus for scalable, distributed management of virtual private networks
GB0028474D0 (en) * 2000-11-22 2001-01-10 Raekanet Ltd Improved computer network architecture and associated method and system
JP2002198900A (ja) * 2000-12-27 2002-07-12 Fujitsu Ltd 下り送信電力制御方法、移動通信システム、基地局、移動局、交換局側装置
US6950855B2 (en) * 2002-01-18 2005-09-27 International Business Machines Corporation Master node selection in clustered node configurations
US7571251B2 (en) * 2002-05-06 2009-08-04 Sandvine Incorporated Ulc Path optimizer for peer to peer networks
US7289520B2 (en) * 2002-11-20 2007-10-30 Hewlett-Packard Development Company, L.P. Method, apparatus, and system for expressway routing among peers
AU2003903967A0 (en) * 2003-07-30 2003-08-14 Canon Kabushiki Kaisha Distributed data caching in hybrid peer-to-peer systems
US7443803B2 (en) * 2004-03-23 2008-10-28 Fujitsu Limited Estimating and managing network traffic
US20070198675A1 (en) * 2004-10-25 2007-08-23 International Business Machines Corporation Method, system and program product for deploying and allocating an autonomic sensor network ecosystem
US7461130B1 (en) * 2004-11-24 2008-12-02 Sun Microsystems, Inc. Method and apparatus for self-organizing node groups on a network
DE102005008590B3 (de) * 2005-02-24 2006-03-23 Siemens Ag Verfahren zum Aufnehmen einer VoIP-Kommunikation mittels einer Peer-to-Peer-Datenbank
US20060293053A1 (en) * 2005-06-27 2006-12-28 Zanaty Farouk M Silent wireless communication system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0634725A1 (fr) * 1993-07-15 1995-01-18 Bull S.A. Noeud de processeurs
EP1160679A2 (en) * 2000-06-02 2001-12-05 Mitsubishi Denki Kabushiki Kaisha Method for modelling a probabilistic system
US20040196841A1 (en) * 2003-04-04 2004-10-07 Tudor Alexander L. Assisted port monitoring with distributed filtering

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BASET S A ET AL., AN ANALYSIS OF THE SKYPE PEER-TO-PEER INTERNET TELEPHONY PROTOCOL
LI Z.-P. ET AL.: "The research for peer to peer network model", COMPUTER ENGINEERING, no. PART 2, June 2004 (2004-06-01), XP008073529 *
See also references of EP1890424A4 *
SINGH K ET AL., PEER-TO-PEER INTERNET TELEPHONY USING SIP
YIN LI ET AL., BUILDING EFFICIENT SUPER-PEER OVERLAY NETWORK FOR DHT SYSTEMS

Also Published As

Publication number Publication date
CA2611146A1 (en) 2006-12-14
US7720978B2 (en) 2010-05-18
ES2550431T3 (es) 2015-11-06
EP1890424A1 (en) 2008-02-20
CA2611146C (en) 2011-05-10
EP1890424A4 (en) 2011-02-02
CN1878118A (zh) 2006-12-13
EP1890424B1 (en) 2015-09-09
CN100479415C (zh) 2009-04-15
US20090119406A1 (en) 2009-05-07

Similar Documents

Publication Publication Date Title
WO2006131037A1 (fr) Systeme et procede de communication de donnees
US7936750B2 (en) Packet transfer device and communication system
JP4516397B2 (ja) レイヤ2スイッチ
JP6047229B2 (ja) 情報中心ネットワークにおける名前ベースの近隣探索及びマルチホップサービス探索
US7623476B2 (en) System and method for conferencing in a peer-to-peer hybrid communications network
US20080098121A1 (en) P2p sip enabled multimedia network communication system
US9614687B2 (en) Dynamic configuration of a conference system with distributed media agents
US9357076B2 (en) Load balancing of distributed media agents in a conference system
US8650312B2 (en) Connection establishing management methods for use in a network system and network systems using the same
JP2004179811A (ja) パケット中継装置
WO2012048613A1 (zh) 支持nat穿越的集中式p2p系统、nat穿越的方法
WO2013040970A1 (zh) 中继节点选择方法及装置
US20140019549A1 (en) Control System for Conferencing Applications in Named-Data Networks
WO2008138245A1 (fr) Procédé de mise en oeuvre d'un routage de couche d'application de passerelle interfonctionnelle, système et contrôleur de session en périphérie associés
WO2009059525A1 (fr) Méthode, dispositif et système de demande et de réponse dans un réseau de recouvrement p2p
WO2023173720A1 (zh) 应用访问方法、云端代理及节点代理组件、设备、介质
WO2009000181A1 (fr) Procédé servant à acquérir des ressources transversales, un nœud pair à pair et un système pair à pair
US8233400B2 (en) Methods, systems, and computer readable media for verifying the availability of an internet protocol (IP) media router during a call setup
WO2009024054A1 (fr) Procédé, dispositif et système pour réaliser l'agent de protocole de gestion pour des membres dans un groupe de multidiffusion
CN101674297A (zh) 分布式业务网络、核心服务设备及协议报文处理方法
JP2004129159A (ja) パケット変換方法、パケット通信システム、パケット変換装置、パケット変換プログラムおよび記録媒体
JP4362087B2 (ja) マルチキャスト負荷分散方式およびマルチキャスト負荷分散方法
TWI231695B (en) Routing protocol device integrated with a VoIP call server
WO2011097997A1 (zh) 基于reload的客户端接入对等网络的方法和系统
WO2013004139A1 (zh) 一种对等网中消息交互的方法及装置、系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2611146

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWE Wipo information: entry into national phase

Ref document number: 2006722080

Country of ref document: EP

Ref document number: 5801/CHENP/2007

Country of ref document: IN

WWP Wipo information: published in national office

Ref document number: 2006722080

Country of ref document: EP