WO2014205827A1 - 一种连接恢复的方法、装置及系统 - Google Patents

一种连接恢复的方法、装置及系统 Download PDF

Info

Publication number
WO2014205827A1
WO2014205827A1 PCT/CN2013/078478 CN2013078478W WO2014205827A1 WO 2014205827 A1 WO2014205827 A1 WO 2014205827A1 CN 2013078478 W CN2013078478 W CN 2013078478W WO 2014205827 A1 WO2014205827 A1 WO 2014205827A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
recovery
connection
candidate
identifier
Prior art date
Application number
PCT/CN2013/078478
Other languages
English (en)
French (fr)
Inventor
胡彬
陈鑫
徐明远
晏强
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP13887638.8A priority Critical patent/EP2993854B1/en
Priority to PCT/CN2013/078478 priority patent/WO2014205827A1/zh
Priority to CN201380001316.6A priority patent/CN104662859B/zh
Publication of WO2014205827A1 publication Critical patent/WO2014205827A1/zh
Priority to US14/978,947 priority patent/US9893931B2/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/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Definitions

  • the present invention relates to the field of communications, and in particular, to a method, device and system for connection recovery. Background technique
  • NAT Network Address Translation
  • Es tabl i shment can integrate various NAT traversal technologies to enable SIP-based clients to traverse firewalls.
  • the main process of the ICE includes: collecting address information of both ends of the communication; exchanging address information of both parties of the communication; pairing the address information of the two communication parties to form a connectivity test list, and determining the address pairs in the list by four handshakes in sequence Its connectivity.
  • the optimal network route is selected based on connectivity test results and selection criteria.
  • an embodiment of the present invention provides a method for connection recovery, where the method includes: searching, by a first terminal, a recovery candidate corresponding to a disconnected connection, where the recovery candidate includes connection information and a identifier for The recovery identifier of the connection information;
  • the first terminal selects one of the recovered candidates as the first recovery candidate, and the first recovery candidate includes the first recovery identifier and the first connection information;
  • the first terminal After receiving the matching success message, the first terminal transmits data to the second terminal according to the first connection information.
  • the recovery candidate further includes a generation time, when the recovery candidate corresponding to the disconnected connection found by the first terminal is greater than or equal to two, The first recovery candidate is the recovery candidate with the latest generation time.
  • connection information includes the address and port of the local end required for data transmission, and the address and port of the opposite end.
  • the transmitting, by the first terminal, the data to the second terminal according to the first connection information includes: the first terminal And extracting, by the first connection information, an address and a port of the local end, and an address and a port of the opposite end, and transmitting data to the second terminal.
  • the second recovery candidate further includes a second connection that matches the first connection information
  • the second terminal extracts the address and port of the local end from the second connection information, and the address and port of the opposite end, and transmits data to the first terminal.
  • the recovery candidate further includes an application identifier and a user identifier
  • the negotiation request further includes a first application identifier and a first user identifier of the recovery candidate
  • the second recovery candidate further includes a second application identifier and a second user identifier
  • the method further includes: the second terminal searching for, in a storage record matching the first application identifier and the first user identifier, a second recovery candidate having the same recovery identifier as the first restoration candidate;
  • the first user of the first application running on the first terminal and the second user of the second application running on the second terminal are connected by using the connection data transmission.
  • the method before the first terminal searches for the recovery candidate corresponding to the disconnected connection, the method further includes: the first terminal detecting the reason for the disconnection For abnormal interruption, the cause of the abnormal interruption includes browser refresh or client software failure.
  • the method before the disconnecting, the method further includes: the first terminal storing the connection corresponding to The first recovery candidate.
  • the storing, by the first terminal, the recovery candidate corresponding to the connection further includes: The first terminal acquires address information of the local terminal, and receives address information of the second terminal sent by the second terminal;
  • the first terminal initiates a connectivity test to the second terminal according to the address information of the two parties, and selects an optimal route as the first connection information of the connection;
  • the first terminal generates a first restoration identifier for the first connection information, and stores the first restoration identifier and the first connection information as the first restoration candidate.
  • the method further includes: The first terminal sends the first recovery identifier to the second terminal, so that the second terminal uses the first recovery identifier as a recovery identifier corresponding to the second connection information of the connection acquired by the local end.
  • the second terminal uses the first recovery identifier as a second connection information pair of the connection acquired by the local end After the identifier is restored, the method further includes: the second terminal storing the first recovery identifier and the second connection information as a second recovery candidate locally.
  • the first terminal sends the first recovery identifier to the location by using a NAT session transmission application STUN message Said second terminal.
  • the negotiation request includes a type attribute and an identifier field, where the type attribute is used to indicate that the negotiation request is used for connection recovery, and the identifier field is used to carry the The recovery identifier of the first recovery candidate.
  • the negotiation request is an Offer message
  • the type attribute is an extended ice-opt ions attribute
  • the method before the first terminal transmits data to the second terminal by using the first connection information, the method further includes: a first terminal and a second The terminal performs connectivity testing on the first connection information and the second connection information.
  • the first terminal selects a recovery other than the first recovery candidate The candidate performs a recovery candidate match with the second terminal.
  • the method further includes the following at least one recovery candidate modification manner:
  • the first terminal When the first terminal receives the matching failure message returned by the second terminal, the first terminal deletes the first recovery candidate
  • the first terminal and the second terminal perform a connectivity test on the successfully matched recovery candidate, and delete the connectivity test result as a failed recovery candidate;
  • the first terminal or the second terminal initiates an ICE Res tart process to modify the connection information
  • the first terminal and the second terminal refresh the connection information included in the respective saved recovery candidates into the modification.
  • Post connection information
  • the first terminal and the second terminal clear the recovery candidates saved during the session
  • the first terminal or the second terminal periodically clears the saved recovery candidate, and clears the recovery candidate whose generation duration exceeds the keep-alive duration according to the generation time of the recovery candidate;
  • the first terminal After restoring the connection using the first recovery candidate, the first terminal updates the generation time of the first recovery candidate.
  • the method further includes: when the first terminal cannot find the recovery candidate corresponding to the disconnected connection, the first terminal initiates an interaction
  • the connection recovery ICE process reconstructs the connection between the first terminal and the second terminal.
  • the embodiment of the present invention further provides a method for generating a recovery candidate in a connection establishment process, including:
  • the first terminal acquires the address information of the local end, and sends the obtained address information of the local end to the second terminal;
  • the first terminal receives the address information of the second terminal that is sent by the second terminal;
  • the first terminal initiates a connectivity test according to the obtained address information of the two parties, and selects an optimal route as the connection.
  • a connection information ;
  • the first terminal generates a first recovery identifier for the first connection information, and sends the first recovery identifier to the second terminal, so that the second terminal uses the first recovery identifier as the local And the second connection information is obtained by the second terminal in the connectivity test process;
  • an embodiment of the present invention provides another method for generating a recovery candidate in a connection establishment process, including:
  • the second terminal acquires the address information of the local end, and sends the obtained address information of the local end to the first terminal;
  • the second terminal receives the address information of the first terminal sent by the first terminal; the second terminal initiates a connectivity test according to the obtained address information of the two parties, and selects an optimal route as the connection.
  • Two connection information Two connection information;
  • the second terminal receives the first recovery identifier sent by the first terminal, and uses the first recovery identifier as a recovery identifier corresponding to the second connection information of the connection acquired by the local end, where the first recovery And identifying, by the first terminal, a recovery identifier generated by the first connection information of the connection obtained by the first terminal; the second terminal storing the first recovery identifier and the second connection information as a second recovery candidate locally.
  • the embodiment of the present invention further provides a connection recovery terminal, including:
  • a search unit configured to search for a recovery candidate corresponding to the disconnected connection, where the recovery candidate includes connection information and a recovery identifier for identifying the connection information, and using the found one candidate for recovery as the first recovery candidate
  • the first recovery candidate includes a first recovery identifier and first connection information
  • a negotiation request sending unit is configured to send a negotiation request to the second terminal, where the negotiation request includes the first recovery of the selected first recovery candidate.
  • a matching message receiving unit configured to receive a matching success message returned by the second terminal, where the matching success message is used to indicate that the second terminal finds a second recovery that has the same recovery identifier as the first recovery candidate Candidate;
  • the recovery candidate further includes a generation time, when the recovery candidate corresponding to the disconnected connection found by the searching unit is greater than or equal to two, the searching unit Specifically, the recovery candidate with the latest generation time is used as the first recovery candidate.
  • the connection information includes an address and a port of the local end required for data transmission, and an address and a port of the peer end, where the data transmission unit Specifically, the address and the port of the local end are extracted from the first connection information, and the address and port of the opposite end are used to transmit data to the second terminal.
  • the terminal further includes an interrupt detecting unit, configured to detect that the disconnection is caused by an abnormal interruption The reason for the abnormal interruption is browser refresh or client software failure.
  • the terminal further includes a storage unit, configured to store the first recovery candidate corresponding to the connection.
  • the terminal further includes:
  • An address information obtaining unit configured to acquire address information of the local end, and receive address information of the second terminal sent by the second terminal;
  • test unit configured to initiate a connectivity test to the second terminal according to the address information of the two parties acquired by the address obtaining unit, and select an optimal route as the first connection information of the connection;
  • a recovery candidate generating unit configured to generate a first restoration identifier for the first connection information, and use the first restoration identifier and the first connection information as the first restoration candidate.
  • the terminal further includes: a recovery identifier sending unit, configured to send the first recovery identifier to the second terminal And causing, by the second terminal, the first recovery identifier to be a recovery identifier corresponding to the second connection information of the connection acquired by the local end.
  • a recovery identifier sending unit configured to send the first recovery identifier to the second terminal And causing, by the second terminal, the first recovery identifier to be a recovery identifier corresponding to the second connection information of the connection acquired by the local end.
  • the recovery identifier sending unit is specifically configured to send the first recovery identifier to the application by using a NAT session transmission application STUN message The second terminal.
  • the testing unit is further configured to perform connectivity testing on the first connection information and the second connection information with the second terminal.
  • the searching unit is further configured to select the first recovery candidate Other recovery candidates than the second terminal perform recovery candidate matching.
  • the terminal further includes: a management unit, configured to manage the recovery candidate stored by the storage unit in at least one of the following manners:
  • the first terminal or the second terminal initiates an ICE Res tar t process to modify the connection information
  • the first connection information included in the saved recovery candidate is refreshed into the modified connection information
  • the recovery candidate saved during the session is cleared;
  • an embodiment of the present invention further provides a recovery candidate in a connection establishment process. Terminals, including:
  • the address information acquiring unit is configured to obtain the address information of the local end, and send the obtained address information of the local end to the second terminal, and receive the address information of the second terminal sent by the second terminal; And the method is used to initiate a connectivity test according to the obtained address information of the two parties, and select an optimal route as the first connection information of the connection;
  • a recovery candidate generating unit configured to generate a first recovery identifier for the first connection information, and after receiving the response message returned by the second terminal, using the first recovery identifier and the first connection information as the first A recovery candidate is stored locally.
  • a recovery identifier sending unit configured to send the first recovery identifier to the second terminal, so that the second terminal uses the first recovery identifier as the second connection information of the connection acquired by the local end a recovery identifier, where the second connection information is obtained by the second terminal during the connectivity test;
  • the embodiment of the present invention further provides another terminal that generates a recovery candidate in the connection establishment process, including:
  • the address information obtaining unit is configured to obtain the address information of the local end, and send the obtained address information of the local end to the first terminal, and receive the address information of the first terminal sent by the first terminal; And the method is used to initiate a connectivity test according to the obtained address information of the two parties, and select an optimal route as the second connection information of the connection;
  • a recovery identifier receiving unit configured to receive a first recovery identifier sent by the first terminal, and use the first recovery identifier as a recovery identifier corresponding to the second connection information of the connection acquired by the local end, where a recovery identifier generated by the first terminal for obtaining the first connection information of the connection obtained by the first terminal;
  • a restoration candidate generating unit configured to store the first restoration identifier and the second connection information as a second restoration candidate locally.
  • the embodiment of the present invention further provides a connection recovery system, including at least a first terminal and a second terminal,
  • the first terminal is configured to search for a recovery candidate corresponding to the disconnected connection, where the recovery candidate includes connection information and a recovery identifier used to identify the connection information, and select a search candidate that is found as the first a candidate for recovery, the first recovery candidate includes a first recovery identifier and first connection information, and sends a negotiation request to the second terminal, where the negotiation request includes the first 'f gray complex identifier of the selected first recovery candidate ;
  • the second terminal is configured to search for a second recovery candidate that has the same recovery identifier as the first recovery candidate, and return a matching success message to the first terminal;
  • the first terminal and the second terminal respectively transmit data to the opposite end according to the first connection information and the second connection information.
  • connection information includes an address and a port of the local end required for data transmission, and an address and a port of the peer end, where the first terminal is further used to A connection information extracts the address and port of the local end, and the address and port of the opposite end, and transmits data to the second terminal.
  • the recovery candidate further includes an application identifier and a user identifier
  • the negotiation request further includes a first recovery candidate
  • the second recovery candidate further includes a second application identifier and a second user identifier
  • the second terminal is further configured to search, in a storage record that matches the first application identifier and the first user identifier, a second recovery candidate that has the same recovery identifier as the first recovery candidate.
  • the first terminal stores a first recovery candidate corresponding to the connection; There is a second recovery candidate corresponding to the connection.
  • the first terminal is further configured to obtain address information of the local end, and send the obtained address information of the local end Receiving, by the second terminal, the address information of the second terminal that is sent by the second terminal; the second terminal is further configured to obtain the address information of the local end, and send the obtained address information of the local end to The first terminal receives the address information of the first terminal that is sent by the first terminal, and the first terminal is further configured to initiate a connectivity test according to the obtained address information of the two parties, and select an optimal route as the The first connection information of the connection;
  • the second terminal is further configured to initiate a connectivity test according to the obtained address information of the two parties, and select an optimal route as the second connection information of the connection;
  • the first terminal is further configured to generate a first recovery identifier for the first connection information, and send the first recovery identifier to the second terminal;
  • the second terminal is further configured to receive the first recovery identifier sent by the first terminal, and use the first recovery identifier as a recovery identifier corresponding to the second connection information of the connection acquired by the local end,
  • the first recovery identifier and the second connection information are stored locally as a second recovery candidate, and the response message is sent to the first terminal;
  • the first terminal further receives the response message returned by the second terminal, and stores the first recovery identifier and the first connection information as a first recovery candidate locally.
  • the first terminal and the second terminal are further configured to manage the stored recovery candidate in at least one of the following manners:
  • the connection information included in the saved recovery candidate is refreshed into the modified connection information; After the session between the second terminal and the second terminal ends, the recovery candidate saved during the session is cleared;
  • the present invention discloses the following technical effects:
  • one of the communication parties initiates a connection recovery process, and searches for the first recovery candidate corresponding to the connection saved in advance, and obtains the first recovery from the first recovery candidate.
  • the first connection information is sent to the second terminal, so that the second terminal can have the second recovery candidate with the same recovery identifier according to the first recovery identifier according to the first recovery identifier. Therefore, the recovery candidate negotiation of both communication parties is completed, so that the two parties can perform data transmission by using the connection information among the recovery candidates determined through negotiation.
  • the embodiment of the present invention performs two time-consuming operations, such as an address collection process and a connectivity test on the collected effective address, in the connection recovery process, thereby speeding up the connection recovery after the abnormal interruption.
  • FIG. 1 is a schematic flowchart of a method for connection recovery according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of another method for connection recovery according to an embodiment of the present invention
  • FIG. 3 is a schematic flowchart of a method for generating a recovery candidate according to an embodiment of the present invention
  • Communication connection diagram ;
  • FIG. 5 is a schematic flowchart of a method for generating a recovery candidate in a connection establishment process according to an embodiment of the present invention
  • FIG. 6 is a schematic flowchart of another method for generating a recovery candidate in a connection establishment process according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a terminal for connection recovery according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a terminal for generating a recovery candidate in a connection establishment process according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of another terminal structure for generating a recovery candidate in a connection establishment process according to an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of a system for connection recovery according to an embodiment of the present invention.
  • FIG. 11 is a schematic diagram of a hardware configuration of a terminal according to an embodiment of the invention. detailed description
  • FIG. 1 is a schematic flowchart of a method for connection recovery according to an embodiment of the present invention, including:
  • Step 101 The first terminal searches for a recovery candidate corresponding to the disconnected connection, and the recovery candidate And including connection information and a recovery identifier for identifying the connection information;
  • Step 1 02 The first terminal selects a search candidate that is found as a first recovery candidate, where the first recovery candidate includes a first recovery identifier and first connection information;
  • Step 1 03 The first terminal sends a negotiation request to the second terminal, where the negotiation request includes a first recovery identifier of the selected first recovery candidate.
  • Step 1104 The first terminal receives a matching success message returned by the second terminal, where the matching success message is used to indicate that the second terminal finds the same recovery identifier as the first recovery candidate. Second recovery candidate;
  • Step 1 05 After receiving the matching success message, the first terminal transmits data to the second terminal according to the first connection information.
  • one of the two communication parties initiates a connection recovery process, and searches for a first recovery candidate corresponding to the connection saved in advance, and obtains the first one from the first recovery candidate. Recovering the identifier and the first connection information, and sending the first recovery identifier to the second terminal, so that the second terminal may have the second recovery candidate with the same recovery identifier according to the first recovery identifier and the first recovery candidate. Therefore, the recovery candidate negotiation of the two communication parties is completed, so that the two parties can perform data transmission by using the connection information among the recovery candidates determined through negotiation.
  • the embodiment of the present invention does not need to perform an address collection process during the connection recovery process and a connection test for the collected effective address, that is, the negotiation of the addressable address and the port is not required, thereby Speed up connection recovery after aborting.
  • the recovery candidate stored on the first terminal side is used as the first recovery candidate
  • the recovery candidate stored in the second terminal side is used as the second recovery candidate.
  • the first restoration candidate includes a first restoration identifier and first connection information
  • the second restoration candidate includes a second restoration identifier and second connection information.
  • the first connection information and the second connection information also have corresponding mappings.
  • the relationship, the first connection information and the second connection information are addresses and ports used when the first terminal and the second terminal perform data transmission to the other party before the connection is disconnected.
  • FIG. 2 is a schematic flowchart of another method for connection recovery according to an embodiment of the present invention, which specifically includes the following steps:
  • Step 201 The two parties (the first terminal communicates with the second terminal as an example) are disconnected during the communication, and the first terminal detects that the connection is disconnected due to abnormal disconnection, and the first terminal initiates the connection. Recovery process.
  • the communication process may be point-to-point video communication.
  • the first terminal determines the The communication connection is abnormally interrupted, and the connection recovery process is initiated.
  • the first terminal is a connection recovery initiator.
  • connection disconnection cause detection may be performed by using an existing technology, for example, a mouse motion detection or the like, which is not limited by the embodiment of the present invention.
  • Step 202 The first terminal searches for a recovery candidate corresponding to the connection, and determines whether the connection supports fast recovery. If the first terminal finds a recovery candidate, it indicates that the connection supports fast recovery. Then, the first terminal selects one recovery candidate from the stored recovery candidates to perform a connection recovery operation; if the terminal cannot find the recovery candidate, it indicates that the connection does not support fast recovery, and continues to perform a standard ICE process. The connection is restored.
  • the recovery candidate includes at least the following: a recovery identifier, and an address and port (i.e., connection information) used by the first terminal or the second terminal to perform data transmission through the connection before the connection is disconnected.
  • a recovery identifier i.e., an address and port (i.e., connection information) used by the first terminal or the second terminal to perform data transmission through the connection before the connection is disconnected.
  • the recovery candidate is preferably stored locally in the first terminal.
  • the content of the recovery candidate may further include a generation time.
  • the recovery candidate corresponding to the disconnected connection found by the first terminal is greater than or equal to two, the first terminal preferably generates the latest time. Recovery candidates are used for connection recovery.
  • the recovery candidate may further include an application identifier (user id) and a user identifier (App id).
  • the recovery candidate may not include an application identifier; when the user identifier is unique in a single application, the recovery candidate includes an application identifier.
  • Step 203 The first terminal sends a negotiation request to the second terminal, where the negotiation request includes the recovered recovery identifier of the restored candidate.
  • the first terminal may send the identifier of the selected recovery candidate to the second terminal by using an Offer message.
  • the extension type attribute ie, the ice-opt ions attribute
  • the ice-opt ions recovery is used to indicate that the Of message is a negotiation request; and the identifier field is added in the Offer message (ie, the ice_recovery_id field) ), the field is used to carry the recovery identifier of the recovery candidate.
  • the content of the extended offer message provided by the embodiment of the present invention is as follows, and includes an ice-opt ions attribute and an ice-recovery-id field.
  • the negotiation request further includes an application identifier and a user identifier.
  • the first terminal and the second terminal may establish a signaling connection through the application server, so as to implement the negotiation of the recovery candidate, and may also adopt other existing methods. This is not limited.
  • Step 204 The second terminal receives the negotiation request, and determines, according to the recovery identifier of the received recovery candidate, whether the same recovery candidate as the recovery identifier is stored, and if yes, the second terminal returns to the first terminal.
  • the matching success message is used to indicate that the recovery identifier is successfully matched, and the step 205 is continued. If no, the second terminal returns a failure message to the first terminal, which is used to instruct the first terminal to initiate a standard ICE process to perform connection recovery.
  • the recovery candidate may be stored locally on the second terminal or on the network side that the second terminal can query.
  • the matching success message or the matching failure message may be a reply message, and the embodiment of the present invention carries the recovery identifier matching result by extending the Answer message.
  • the ice-opt ions attribute is also extended in the answer message to indicate that the answer message is a fast recovery response, and a new field is added in the answer message: ice-recovery-response, which is used to indicate the search result of the recovery identifier.
  • the search succeeds, that is, the second terminal also finds the same recovery candidate as the recovery identifier of the recovery candidate carried in the negotiation request; when the value of the ice-recovery-response is If it is ERROR, it indicates that the search fails, and the second terminal side does not find the recovery candidate with the same recovery identifier as the recovery candidate i carried in the negotiation request message. There is also no candidate information in the answer.
  • a candida te: 3051601105 1 udp 2113937151 10. 166. 41. 134 60453 typ hos t genera t ion 0
  • the second terminal searches for a storage record matching the application identifier and the user identifier to find whether the same recovery identifier is stored. Restore candidates.
  • Step 205 The first terminal and the second terminal send a Keepa ives message to each other and start to transmit the media stream. At this point, the media stream is theoretically interoperable.
  • the second terminal after the second terminal returns a success message to the first terminal, the local terminal address and port used for data transmission, and the peer address and port are extracted from the recovery candidate found by the local terminal.
  • the second terminal sends the Keepa ives message and the media stream.
  • the second terminal After receiving the success message, the second terminal sends a Keepa ives message and a media stream to the peer address and the port in the recovery candidate found by the local terminal.
  • the first terminal since the first terminal stores the recovery candidate corresponding to the abnormally disconnected connection, the first terminal does not need to access the STUN/TURN (Ses s ion Traversa l Ut ilit ies for NAT /Traversa l Us ing Relay NAT, NAT Session Transfer Application/Forward NAT Traversal Protocol) server collects address information, which can reduce the pressure on the STUN/TURN server.
  • STUN/TURN Ses s ion Traversa l Ut ilit ies for NAT /Traversa l Us ing Relay NAT, NAT Session Transfer Application/Forward NAT Traversal Protocol
  • the first terminal may preferentially select the connection information for data transmission by reading the connection information included in the stored recovery candidate.
  • the embodiment of the present invention performs two time-consuming operations, such as an address collection process and a connectivity test on the collected effective address, in the connection recovery process, thereby speeding up the connection recovery after the abnormal interruption.
  • the method for recovering the connection further includes:
  • Step 206 The first terminal and the second terminal perform connectivity detection on the connection information included in the recovery candidate. If the detection fails, the recovery candidate corresponding to the recovery identifier saved by both parties is deleted, and the error processing flow is entered. Step 207. It should be noted that the connectivity test may use the test method in the standard ICE process, which is not limited by the present invention.
  • Step 207 The initiator deletes the recovery candidate corresponding to the recovery identifier used for the connection recovery, and continues to find whether there are other recovery candidates. If there are other recovery candidates, step 202-204 is repeated until the search is found. The valid recovery candidate or all recovery candidates are invalid; if there are no other recovery candidates, the initiator initiates a standard ICE reconnection process.
  • FIG. 3 is a schematic flowchart of a method for generating a recovery candidate according to an embodiment of the present invention. , including:
  • Step 301 During the establishment of the communication connection, the two parties perform address collection and receive The address information of the collected local end is sent to the peer end. The communication parties perform connectivity tests based on the acquired address information of both parties to determine the optimal route used by the communication connection. After the connectivity test phase is completed, the first terminal generates a recovery identifier (recovery id) for the first connection information that is tested through the connectivity test;
  • FIG. 4 it is a schematic diagram of a communication connection provided by an embodiment of the present invention.
  • the first terminal and the second terminal are connected to each other through a STUN server through respective NATs.
  • A: a is the internal address and internal port of the first terminal
  • B: b is the external address and external port of the first terminal on the first NAT
  • C: c is the relay address of the first terminal on the STUN server.
  • X: x is the internal address and internal port of the second terminal
  • Y: y is the external address and external port of the second terminal on the second NAT
  • Z: z is the relay address and the second terminal on the STUN server. Following the port.
  • the first terminal and the second terminal send an address obtaining request to the STUN server to collect respective address information, where the address information collected by the first terminal is A: a, 8 and (: (;, the address information collected by the second terminal is X) :x, ⁇ : and 2: ⁇ , the first terminal and the second terminal exchange the collected address information, initiate a connectivity test procedure for the address pair of the communication parties, and determine the connection information of the data transmission.
  • the two communication parties may be under different NATs, or under the same NAT, or only one of them is under the NAT. Therefore, the address and port of the communication parties included in the connection information may be an intranet address and an intranet port, an external network address and an external network port, or a relay address and a relay port of the TURN server.
  • the specific address collection process and the connectivity test process can refer to the standard ICE process, which is not limited by the present invention.
  • Step 302 The first terminal sends the recovery identifier to the peer end in the notification message, and instructs the second terminal to use the received recovery identifier as the recovery identifier of the connection information recorded by the local terminal.
  • the notification message may be a STUN request message, and may be carried by extending the message body in the STUN request message.
  • the embodiment of the present invention further provides an extended example of the STUN message, which is a schematic diagram of the RECOVERY attribute format in the extended STUN message provided by the embodiment of the present invention:
  • the embodiment of the present invention extends the STUN message, adds a RECOVERY attribute to the STUN message, and carries a recovery identifier (RECOVERY ID) in the RECOVERY attribute.
  • the value of the RECOVERY attribute is 0x0050, and further includes a Length attribute for indicating the length of the RECOVERY attribute.
  • the RECOVERY attribute has a length of 16 bits.
  • the RECOVERY attribute can contain one or more sub-attributes.
  • the embodiment of the present invention is not limited to the STUN message, and the recovery identifier is sent to the peer end to enable the communication parties to store the connection information having the same recovery identifier.
  • Step 303 After receiving the notification message, the second terminal uses the received recovery identifier as the recovery identifier of the second connection information that is recorded by the local end through the connectivity test, and uses the recovery identifier and the second connection information as recovery candidates. It is saved in the storage NE on the local or network side.
  • the recovery identifier (Recovery ID) is randomly generated and unique by the first terminal during the connection establishment process, and is used as a credential for both parties to determine the same recovery candidate when the connection is restored;
  • the second connection information includes an address and a port used by the local data transmission, and an address and a port of the opposite end, and are used to determine the address and port of both parties of the communication when the connection is restored.
  • the address or port used for data transmission on the local end or the peer end may be a public network or a private network, and is determined according to a specific network environment during the ICE negotiation process, which is not limited by the present invention.
  • the recovery candidate further includes a generation time, that is, a local time at which the recovery candidate is generated.
  • the generation time is used for the recovery initiator to find the latest recovery candidate corresponding to the connection when initiating the connection recovery.
  • the recovery candidate may further include an application identifier (user id) and a user identifier (App id).
  • the recovery candidate may not include an application identifier; when the user identifier is unique in a single application, the recovery candidate includes an application identifier.
  • Step 304 The second terminal returns a response message to the first terminal.
  • Step 305 After receiving the response message returned by the second terminal, the first terminal stores the connection information and the recovery identifier as recovery candidates in a local or network storage unit. Further, the recovery candidate may further include at least one of a generation time, a user identifier, and an application identifier. The content types of the recovery candidates saved by the first terminal and the second terminal may be consistent.
  • a schematic diagram of a format for storing a recovery candidate using the HTML5 Loca l Sorage technology is provided in an embodiment of the present invention.
  • Cand i da te L indicates the local address and port of the connection information
  • Cand i da te R indicates the peer address and port of the connection information.
  • the embodiment of the present invention provides a method for generating a recovery candidate, which completes the generation of a recovery candidate during the establishment of the connection. After the connection is abnormally interrupted, the saved recovery candidate can be used for connection recovery.
  • the management manner of the recovery candidate includes at least one of the following:
  • Manner 1 In the connection recovery process, when the first terminal receives the matching failure message returned by the second terminal, the first terminal deletes the recovery candidate that fails to match;
  • Manner 2 The first terminal and the second terminal perform a connectivity test on the successfully matched recovery candidate, and delete the connectivity test result as a failed recovery candidate.
  • Manner 3 When the first terminal or the second terminal initiates an ICE Re st ar process to modify the connection information, the first terminal and the second terminal respectively include the recovery candidates included in the recovery The connection information is refreshed to the modified connection information;
  • Manner 5 setting a clearing period and a keep-alive duration, the first terminal or the second terminal periodically clearing the saved recovery candidate, and clearing the recovery time longer than the keep-alive duration according to the generation time of the recovery candidate Candidate;
  • the communication parties store the recovery candidates saved in the connection establishment process.
  • the first terminal may preferentially select the connection information for data transmission by reading the connection information included in the stored recovery candidate.
  • the embodiment of the present invention does not need to perform an address collection process during the connection recovery process and performs connectivity tests on the collected effective addresses. Operation, that is, no negotiation of the addressable address and port is required, thereby speeding up the connection recovery after the abnormal interruption.
  • Further embodiments of the present invention also provide a management method for recovering candidates, which ensures the timeliness of recovery candidates.
  • a schematic flowchart of a method for generating a recovery candidate in a connection establishment process includes:
  • Step 501 The first terminal acquires the address information of the local end, and sends the obtained address information of the local end to the second terminal.
  • Step 502 The first terminal receives address information of the second terminal sent by the second terminal.
  • Step 503 The first terminal initiates a connectivity test according to the obtained address information of the two parties, and selects an optimal route as the first connection information of the connection.
  • Step 504 The first terminal generates a first recovery identifier for the first connection information, and sends the first recovery identifier to the second terminal, so that the second terminal restores the first terminal. Identifying a recovery identifier corresponding to the second connection information of the connection obtained by the local end, where the second connection information is obtained by the second terminal during the connectivity test process;
  • Step 505 The first terminal receives the response message returned by the second terminal, and stores the first recovery identifier and the first connection information as a first recovery candidate locally.
  • FIG. 6 is a schematic flowchart of another method for generating a recovery candidate in a connection establishment process according to an embodiment of the present invention, which is characterized in that:
  • Step 601 The second terminal acquires the address information of the local end, and sends the obtained address information of the local end to the first terminal.
  • Step 602 The second terminal receives the address information of the first terminal sent by the first terminal.
  • Step 603 The second terminal initiates a connectivity test according to the obtained address information of the two parties, and selects an optimal route as the second connection information of the connection.
  • Step 604 The second terminal receives the first recovery identifier sent by the first terminal, and uses the first recovery identifier as a recovery identifier corresponding to the second connection information of the connection acquired by the local end, where The first recovery identifier is a recovery identifier generated by the first terminal for the acquired first connection information of the connection;
  • Step 605 The second terminal stores the first recovery identifier and the second connection information as a second recovery candidate locally.
  • the embodiment of the present invention provides a method for generating a recovery candidate in a connection establishment process, where the first terminal generates a recovery identifier for the connection information corresponding to the optimal route determined by the two parties in the connectivity test process, and sends the recovery identifier to the The second terminal, the second terminal is configured to allocate the recovery identifier to the connection information determined by the local end for the connection, and the communication parties save the recovery candidate, including the recovery identifier and the connection information determined by the two parties respectively, so that when the connection is When the abnormality is interrupted, one of the communication can initiate a connection recovery process, and the communication information saved in the embodiment is used to resume communication, and the communication parties do not need to perform address collection, thereby speeding up the connection recovery after the abnormal interruption.
  • a schematic structural diagram of a connection recovery terminal according to an embodiment of the present invention includes:
  • the searching unit 701 is configured to search for a recovery candidate corresponding to the disconnected connection, where the recovery candidate includes a recovery identifier and connection information, and the first recovery candidate that is found as the first recovery candidate, the first recovery candidate The first recovery identifier and the first connection information are included;
  • the negotiation request sending unit 702 is configured to send a negotiation request to the second terminal, where the negotiation request includes the first recovery identifier of the selected first recovery candidate;
  • the matching message receiving unit 703 is configured to receive a matching success message returned by the second terminal, where the matching success message is used to indicate that the second terminal finds the second that has the same recovery identifier as the first recovery candidate. Recovery candidate;
  • the data transmission unit 704 is configured to transmit data to the second terminal according to the first connection information. Further, the recovery candidate further includes a generation time. When the recovery candidate corresponding to the disconnected connection found by the searching unit 701 is greater than or equal to two, the searching unit 701 is specifically configured to use the recovery candidate with the latest generation time. As the first recovery candidate.
  • connection information includes an address and a port of the local end required for data transmission, and an address and a port of the peer end, where the data transmission unit 704 is specifically configured to extract an address and a port of the local end from the first connection information, and The address and port of the peer end transmit data to the second terminal.
  • the terminal further includes an interrupt detecting unit 705, configured to detect that the disconnection is caused by an abnormal interrupt, and the cause of the abnormal interrupt includes a browser refresh or a client software failure.
  • a storage unit 706 is further included, configured to store a first recovery candidate corresponding to the connection.
  • the terminal further includes:
  • the address information obtaining unit 707 is configured to obtain address information of the local end, and receive address information of the second terminal sent by the second terminal.
  • the testing unit 708 is configured to initiate a connectivity test to the second terminal according to the address information of the two parties acquired by the address obtaining unit, and select an optimal route as the first connection information of the connection;
  • the restoration candidate generating unit 709 is configured to generate a first restoration identifier for the first connection information, and use the first restoration identifier and the first connection information as the first restoration candidate.
  • a recovery identifier sending unit 710 configured to send the first recovery identifier to the second terminal, so that the second terminal uses the first recovery identifier as the second connection information of the connection acquired by the local end Corresponding recovery ID.
  • the recovery identifier sending unit 710 is specifically configured to send the first recovery identifier to the second terminal by using a NAT session transmission application STUN message.
  • the testing unit is further configured to perform connectivity testing on the first connection information and the second connection information with the second terminal.
  • the searching unit 701 is further configured to select a recovery candidate other than the first recovery candidate to perform a recovery candidate matching with the second terminal.
  • the terminal further includes a management unit 711, configured to manage recovery candidates stored in the storage unit in at least one of the following manners:
  • the first terminal When the first terminal receives the matching failure message returned by the second terminal, deleting the first recovery candidate; Delete the connectivity test result as a failed recovery candidate;
  • the first terminal or the second terminal initiates an ICE Res tar t process to modify the connection information
  • the first connection information included in the saved recovery candidate is refreshed into the modified connection information
  • the recovery candidate saved during the session is cleared;
  • the generation time of the first restoration candidate is updated.
  • one of the two communication parties initiates a connection recovery process, and searches for a first recovery candidate corresponding to the connection saved in advance, and obtains the first one from the first recovery candidate. Recovering the identifier and the first connection information, and sending the first recovery identifier to the second terminal, so that the second terminal may have the second recovery candidate with the same recovery identifier according to the first recovery identifier and the first recovery candidate. Therefore, the recovery candidate negotiation of the two communication parties is completed, so that the two parties can perform data transmission by using the connection information among the recovery candidates determined through negotiation.
  • the embodiment of the present invention does not need to perform an address collection process during the connection recovery process and a connection test for the collected effective address, that is, the negotiation of the addressable address and the port is not required, thereby Speed up connection recovery after aborting.
  • a schematic structural diagram of a terminal for generating a recovery candidate in a connection establishment process includes:
  • the address information obtaining unit 801 is configured to obtain the address information of the local end, and send the obtained address information of the local end to the second terminal, and receive the address information of the second terminal sent by the second terminal;
  • the testing unit 802 is configured to initiate a connectivity test according to the obtained address information of the two parties, and select an optimal route as the first connection information of the connection;
  • a recovery candidate generating unit 803 configured to generate a first recovery identifier for the first connection information, and after the response message receiving unit 805 receives the response message returned by the second terminal, the first recovery identifier and The first connection information is stored locally as the first recovery candidate.
  • a recovery identifier sending unit 804 configured to send the first recovery identifier to the second terminal, so that the second terminal uses the first recovery identifier as the second connection information of the connection acquired by the local end Corresponding recovery identifier, where the second connection information is obtained by the second terminal during the connectivity test process;
  • the response message receiving unit 805 is configured to receive a response message returned by the second terminal.
  • FIG. 9 another schematic diagram of a terminal structure for generating a recovery candidate in a connection establishment process according to an embodiment of the present invention includes:
  • the address information obtaining unit 901 is configured to obtain the address information of the local end, and send the obtained address information of the local end to the first terminal, and receive the address information of the first terminal sent by the first terminal;
  • the testing unit 902 is configured to initiate a connectivity test according to the obtained address information of the two parties, and select an optimal route as the second connection information of the connection; a recovery identifier receiving unit 903, configured to receive a first recovery identifier sent by the first terminal, where the first recovery identifier is used as a recovery identifier corresponding to the second connection information of the connection acquired by the local end, where The first recovery identifier is a recovery identifier generated by the first terminal for the acquired first connection information of the connection;
  • the restoration candidate generating unit 904 is configured to store the first restoration identifier and the second connection information as a second restoration candidate locally.
  • the embodiment of the present invention provides a terminal for generating a recovery candidate in a connection establishment process, where the first terminal generates a recovery identifier for the connection information corresponding to the optimal route determined by the two parties in the connectivity test process, and sends the recovery identifier to the
  • the second terminal the second terminal is configured to allocate the recovery identifier to the connection information determined by the local end for the connection, and the communication parties save the recovery candidate, including the recovery identifier and the connection information determined by the two parties respectively, so that when the connection is When the abnormality is interrupted, one of the communication can initiate a connection recovery process, and the communication information saved in the embodiment is used to resume communication, and the communication parties do not need to perform address collection, thereby speeding up the connection recovery after the abnormal interruption.
  • a schematic structural diagram of a connection recovery system includes a first terminal 1 001 and a second terminal 1002.
  • the first terminal 1001 is configured to search for a recovery candidate corresponding to the disconnected connection, where the recovery candidate includes a recovery identifier and connection information, and select one of the restored candidate candidates as the first recovery candidate, where the first terminal a recovery candidate includes a first recovery identifier and first connection information, and sends a negotiation request to the second terminal 1002, where the negotiation request includes a first recovery identifier of the selected first recovery candidate;
  • the second terminal 1002 is configured to search for a second recovery candidate that has the same recovery identifier as the first recovery candidate, and return a matching success message to the first terminal 1001.
  • the first terminal 1001 and the second terminal 1002 respectively transmit data to the opposite end according to the first connection information and the second connection information.
  • the connection information includes an address and a port of the local end, and an address and a port of the peer end, where the first terminal 1001 is further configured to extract the address and port of the local end and the address of the peer end from the first connection information. And a port, transmitting data to the second terminal 1002.
  • the recovery candidate further includes an application identifier and a user identifier.
  • the negotiation request further includes a first application identifier and a first user identifier of the first recovery candidate
  • the second recovery candidate further includes a second Application identifier and second user identifier
  • the second terminal 1002 is further configured to search, in the storage record that matches the first application identifier and the first user identifier, a second recovery candidate that has the same recovery identifier as the first recovery candidate.
  • the first terminal 1001 stores a first recovery candidate corresponding to the connection; and the second terminal 1002 stores a second recovery candidate corresponding to the connection.
  • the first terminal 1001 is further configured to obtain the address information of the local end, and send the obtained address information of the local end to the second terminal 1002, and receive the second terminal 1002 sent by the second terminal 1002. Address information;
  • the second terminal 1002 is further configured to obtain the address information of the local end, and send the obtained address information of the local end to the first terminal 1001, and receive the first terminal 1001 sent by the first terminal 1001. Address information;
  • the first terminal 1001 is further configured to initiate a connectivity test according to the obtained address information of the two parties, and select an optimal route as the first connection information of the connection;
  • the second terminal 1002 is further configured to initiate a connectivity test according to the obtained address information of the two parties, and select an optimal route as the second connection information of the connection;
  • the first terminal 1001 is further configured to generate a first restoration identifier for the first connection information, and send the first restoration identifier to the second terminal 1002.
  • the second terminal 1002 is further configured to receive the first recovery identifier sent by the first terminal 1001, and use the first recovery identifier as a recovery identifier corresponding to the second connection information of the connection acquired by the local end,
  • the first recovery identifier and the second connection information are stored locally as a second recovery candidate, and the response message is sent to the first terminal 1001.
  • the first terminal 1001 further receives the response message returned by the second terminal 1002, and stores the first recovery identifier and the first connection information as a first recovery candidate locally.
  • the first terminal 1001 and the second terminal 1002 are further configured to manage the stored recovery candidates in at least one of the following manners:
  • connection information included in the saved recovery candidate is refreshed into the modified connection information
  • the generation time of the recovery candidate is updated.
  • the first terminal since the first terminal stores the recovery candidate corresponding to the abnormally disconnected connection, the first terminal does not need to access the STUN/TURN (Ses s ion Traversa l Ut ilit ies for NAT /Traversa l Us ing Relay NAT, NAT Session Transfer Application/Forward NAT Traversal Protocol) server collects address information, which can reduce the pressure on the STUN/TURN server.
  • the first terminal may preferentially select the connection information for data transmission by reading the connection information included in the stored recovery candidate.
  • the embodiment of the present invention performs two time-consuming operations, such as an address collection process and a connectivity test on the collected effective address, in the connection recovery process, thereby speeding up the connection recovery after the abnormal interruption.
  • the embodiment of the present invention provides a hardware configuration diagram of a terminal.
  • At least one processor e.g., a CPU
  • at least one network interface or other communication interface may be included for enabling connection communication between the devices.
  • the processor is configured to execute an executable module, such as a computer program, stored in the memory.
  • the memory may include a high speed random access memory (RAM: Random Acces s Memory), and may also include a non-volat memory, such as at least one disk memory.
  • the communication connection between the system gateway and at least one other network element may be implemented through at least one network interface (which may be wired or wireless), and may use an Internet, a wide area network, a local network, a metropolitan area network, or the like.
  • the program instructions are stored in the memory, and the program instructions may be executed by the processor.
  • the program instructions may include the various units indicated in the foregoing embodiments of the present invention. For the specific implementation of each unit, refer to the foregoing implementation of the present invention. The corresponding content in the example will not be described here.
  • the technical solution of the present invention may be embodied in the form of a software product in essence or in the form of a software product, which may be stored in a storage medium such as a ROM/RAM or a disk. , an optical disk, etc., comprising instructions for causing a computer device (which may be a personal computer, a resource management server, or a network communication device such as a media gateway, etc.) to perform portions of various embodiments or embodiments of the present invention. The method described.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种连接恢复的方法、装置和系统。其中,所述方法包括:第一终端查找断开的连接对应的恢复候选者,所述恢复候选者包括恢复标识和连接信息;所述第一终端选择查找到的一个恢复候选者作为第一恢复候选者,所述第一恢复候选者包括第一恢复标识和第一连接信息;所述第一终端向第二5 终端发送协商请求,所述协商请求包括选中的第一恢复候选者的第一恢复标识;所述第一终端接收所述第二终端返回的匹配成功消息,所述匹配成功消息用于表示所述第二终端查找到与所述第一恢复候选者具备相同恢复标识的第二恢复候选者;所述第一终端根据所述第一连接信息向所述第二终端传输数据。本发明实施例在连接恢复过程中无需进行的地址收集过程以及对收集到的有效地址进行连通性测试这两项费时的操作,从而加快异常中断后进行连接恢复的速度。

Description

一种连接恢复的方法、 装置及系统
技术领域
本发明涉及通信领域, 尤其是涉及一种连接恢复的方法、 装置及系统。 背景技术
网络地址转换(NAT, Network Addres s Trans la t ion)是一种将私网地址转 化为公网 IP地址的转换技术, 它被广泛应用于各种类型的网络接入方式和各种 类型的网络中。 交互式连接恢复( ICE, Interact ive Connect iv i ty
Es tabl i shment )作为一种常用的综合性的 NAT穿越技术, 可整合各种 NAT穿越技 术, 使得基于 SIP的客户端穿越防火墙。
ICE的主要流程包括: 收集通信双方两端的地址信息; 交换通信双方的地址 信息; 将通信双方的地址信息进行配对, 形成连通性测试列表, 对列表中的地 址对按顺序通过四次握手来确定其连通性。 根据连通性测试结果和选择标准选 择最优的网络路线。
当由于客户端崩溃或用户误操作等原因导致连接断开时, 通信双方需要按 照上述 ICE流程进行连接恢复,由于仍然需要进行通信双方的地址收集以及连通 性测试, 导致连接恢复时间长, 严重影响了用户体验。 发明内容
本发明的目的在于提供一种连接恢复的方法、 装置及系统, 以提高连接断 开后完成连接恢复的速度。
第一方面, 本发明实施例提供了一种连接恢复的方法, 所述方法包括: 第一终端查找断开的连接对应的恢复候选者, 所述恢复候选者包括包括连 接信息和用于标识所述连接信息的恢复标识;
所述第一终端选择查找到的一个恢复候选者作为第一恢复候选者, 所述第 一恢复候选者包括第一恢复标识和第一连接信息;
所述第一终端向第二终端发送协商请求, 所述协商请求包括选中的第一恢 复候选者的第一恢复标识;
所述第一终端接收所述第二终端返回的匹配成功消息, 所述匹配成功消息 用于表示所述第二终端查找到与所述第一恢复候选者具备相同恢复标识的第二 恢复候选者;
所述第一终端在收到匹配成功消息后,根据所述第一连接信息向所述第二 终端传输数据。
在第一方面的第一种可能的实现方式中,所述恢复候选者还包括生成时间, 当所述第一终端查找到的断开的连接对应的恢复候选者大于或等于两个时, 所 述第一恢复候选者为生成时间最新的恢复候选者。
结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所 述连接信息包括数据传输需要的本端的地址和端口, 以及对端的地址和端口。 结合第一方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所 述第一终端根据所述第一连接信息向所述第二终端传输数据包括: 所述第一终 端从所述第一连接信息中提取本端的地址和端口, 以及对端的地址和端口, 向 所述第二终端传输数据。
结合第一方面或第一方面的第三种任一可能的实现方式, 在第四种可能的 实现方式中, 所述第二恢复候选者还包括与所述第一连接信息匹配的第二连接 信息, 所述第二终端从所述第二连接信息中提取本端的地址和端口, 以及对端 的地址和端口, 向所述第一终端传输数据。 结合第一方面的第一至第四种可能的实现方式, 在第五种可能的实现方式 中, 所述恢复候选者还包括应用标识和用户标识, 相应的, 所述协商请求中还 包括第一恢复候选者的第一应用标识和第一用户标识, 所述第二恢复候选者还 包括第二应用标识和第二用户标识,
所述方法还包括: 所述第二终端在与所述第一应用标识和第一用户标识匹 配的存储记录中查找与所述第一恢复候选者具备相同恢复标识的第二恢复候选 者;
其中, 在所述连接断开前, 所述第一终端上运行的所述第一应用的第一用 户与所述第二终端上运行的所述第二应用的第二用户通过所述连接进行数据传 输。
在第一方面的第六种可能的实现方式中, 在第一终端查找断开的连接对应 的恢复候选者之前, 所述方法还包括: 所述第一终端检测到所述连接断开的原 因为异常中断, 所述异常中断的原因包括浏览器刷新或客户端软件故障。
结合第一方面的第一至第六种可能的实现方式, 在第七种可能的实现方式 中, 在所述连接断开之前, 所述方法还包括: 所述第一终端存储所述连接对应 的第一恢复候选者。
结合第一方面的第七种可能的实现方式, 在第八种可能的实现方式中, 在 所述连接断开之前, 所述第一终端存储所述连接对应的恢复候选者还包括: 所述第一终端获取本端的地址信息, 接收所述第二终端发送的所述第二终 端的地址信息;
所述第一终端根据双方的地址信息向所述第二终端发起连通性测试, 选择 最优路线作为所述连接的第一连接信息;
所述第一终端为所述第一连接信息生成第一恢复标识, 将所述第一恢复标 识和第一连接信息作为所述第一恢复候选者进行存储。
结合第一方面的第八种可能的实现方式, 在第九种可能的实现方式中, 在 所述第一终端为所属第一连接信息生成第一恢复标识后, 所述方法还包括: 所 述第一终端将所述第一恢复标识发送到所述第二终端, 以使得所述第二终端将 所述第一恢复标识作为本端获取的所述连接的第二连接信息对应的恢复标识。
结合第一方面的第九种可能的实现方式, 在第十种可能的实现方式中, 在 所述第二终端将所述第一恢复标识作为本端获取的所述连接的第二连接信息对 应的恢复标识后, 所述方法还包括: 所述第二终端将所述第一恢复标识和第二 连接信息作为第二恢复候选者存储在本地。
结合第一方面的第九或第十种可能的实现方式, 在第十一种可能的实现方 式中,所述第一终端通过 NAT会话传输应用程序 STUN消息将所述第一恢复标识 发送给所述第二终端。
在第一方面的第十二种可能的实现方式中, 所述协商请求包括类型属性和 标识字段, 所述类型属性用于表示所述协商请求用于连接恢复, 所述标识字段 用于携带所述第一恢复候选者的恢复标识。
结合第一方面的第十二种可能的实现方式,在第十三种可能的实现方式中, 所述协商请求为 Offer消息, 所述类型属性为扩展的 ice-opt ions属性。
在第一方面的第十四种可能的实现方式中, 在所述第一终端通过所述第一 连接信息向所述第二终端传输数据之前, 所述方法还包括: 第一终端和第二终 端对所述第一连接信息和第二连接信息进行连通性测试。
结合第一方面的第十四种可能的实现方式,在第十五种可能的实现方式中, 当连通性测试失败时, 所述第一终端选择除所述第一恢复候选者以外的其他恢 复候选者与所述第二终端进行恢复候选者匹配。
在第一方面的第十六种可能的实现方式中, 所述方法还包括以下至少一种 恢复候选者修改方式:
当所述第一终端收到所述第二终端返回的匹配失败消息时, 所述第一终端 删除所述第一恢复候选者;
所述第一终端和所述第二终端对匹配成功的恢复候选者进行连通性测试, 删除连通性测试结果为失败的恢复候选者;
当所述第一终端或所述第二终端发起 ICE Res tart流程对连接信息进行修 改时, 所述第一终端和所述第二终端将各自保存的恢复候选者中包含的连接信 息刷新为修改后的连接信息;
当所述第一终端和所述第二终端之间的会话结束后, 所述第一终端和所述 第二终端清除本次会话过程中保存的恢复候选者;
设定清除周期和保活时长, 所述第一终端或所述第二终端对保存的恢复候 选者进行周期性清除, 根据恢复候选者的生成时间清除生成时长超过保活时长 的恢复候选者;
使用第一恢复候选者对连接进行恢复后, 所述第一终端更新所述第一恢复 候选者的生成时间。
在第一方面的第十七种可能的实现方式中, 所述方法还包括: 当所述第一 终端查找不到所述断开的连接对应的恢复候选者时, 所述第一终端发起交互式 连接恢复 ICE流程重建所述第一终端与第二终端之间的连接。 第二方面, 本发明实施例还提供了一种在连接建立过程中生成恢复候选者 的方法, 包括:
第一终端获取本端的地址信息, 并将获取到的所述本端的地址信息发送到 第二终端; 所述第一终端接收所述第二终端发送的所述第二终端的地址信息; 所述第一终端根据获取到的双方的地址信息发起连通性测试, 选择最优路 线作为所述连接的第一连接信息;
所述第一终端为所述第一连接信息生成第一恢复标识, 并将所述第一恢复 标识发送到所述第二终端, 以使得所述第二终端将所述第一恢复标识作为本端 获取的所述连接的第二连接信息对应的恢复标识, 其中, 所述第二连接信息为 所述第二终端在所述连通性测试过程中获取到的;
所述第一终端接收所述第二终端返回的响应消息, 将所述第一恢复标识和 第一连接信息作为第一恢复候选者存储在本地。 第三方面, 本发明实施例还提供了另一种在连接建立过程中生成恢复候选 者的方法, 包括:
第二终端获取本端的地址信息, 并将获取到的所述本端的地址信息发送到 第一终端;
所述第二终端接收所述第一终端发送的所述第一终端的地址信息; 所述第二终端根据获取到的双方的地址信息发起连通性测试, 选择最优路 线作为所述连接的第二连接信息;
所述第二终端接收所述第一终端发送的第一恢复标识, 将所述第一恢复标 识作为本端获取的所述连接的第二连接信息对应的恢复标识, 其中, 所述第一 恢复标识为所述第一终端为获取的所述连接的第一连接信息生成的恢复标识; 所述第二终端将所述第一恢复标识和第二连接信息作为第二恢复候选者存 储在本地。 第四方面, 本发明实施例还提供了一种连接恢复的终端, 包括:
查找单元, 用于查找断开的连接对应的恢复候选者, 所述恢复候选者包括 连接信息和用于标识所述连接信息的恢复标识, 将查找到的一个恢复候选者作 为第一恢复候选者, 所述第一恢复候选者包括第一恢复标识和第一连接信息; 协商请求发送单元, 用于向第二终端发送协商请求, 所述协商请求包括选 中的第一恢复候选者的第一恢复标识;
匹配消息接收单元, 用于接收所述第二终端返回的匹配成功消息, 所述匹 配成功消息用于表示所述第二终端查找到与所述第一恢复候选者具备相同恢复 标识的第二恢复候选者;
数据传输单元, 用于根据所述第一连接信息向所述第二终端传输数据。 在第四方面的第一种可能的实现方式中,所述恢复候选者还包括生成时间, 当所述查找单元查找到的断开的连接对应的恢复候选者大于或等于两个时, 查 找单元具体用于将生成时间最新的恢复候选者作为所述第一恢复候选者。
结果第四方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所 述连接信息包括数据传输需要的本端的地址和端口, 以及对端的地址和端口, 所述数据传输单元具体用于从所述第一连接信息中提取本端的地址和端口, 以 及对端的地址和端口, 向所述第二终端传输数据。 结果第四方面的第一或第二种可能的实现方式, 在第三种可能的实现方式 中,所述终端还包括中断检测单元,用于检测所述连接断开的原因为异常中断, 所述异常中断的原因包括浏览器刷新或客户端软件故障。
结果第四方面的第一至第三种任一可能的实现方式, 在第四种可能的实现 方式中,所述终端还包括存储单元,用于存储所述连接对应的第一恢复候选者。
结果第四方面的第四种可能的实现方式, 在第五种可能的实现方式中, 所 述终端还包括:
地址信息获取单元, 用于获取本端的地址信息, 接收所述第二终端发送的 所述第二终端的地址信息;
测试单元, 用于根据所述地址获取单元获取的双方的地址信息向所述第二 终端发起连通性测试, 选择最优路线作为所述连接的第一连接信息;
恢复候选者生成单元, 用于为所述第一连接信息生成第一恢复标识, 将所 述第一恢复标识和第一连接信息作为所述第一恢复候选者。
结合第四方面的第五种可能的实现方式, 在第六种可能的实现方式中, 所 述终端还包括: 恢复标识发送单元, 用于将所述第一恢复标识发送到所述第二 终端, 以使得所述第二终端将所述第一恢复标识作为本端获取的所述连接的第 二连接信息对应的恢复标识。
结合第四方面的第六种可能的实现方式, 在第七种可能的实现方式中, 所 述恢复标识发送单元,具体用于通过 NAT会话传输应用程序 STUN消息将所述第 一恢复标识发送给所述第二终端。
在第四方面的第八种可能的实现方式中, 所述测试单元, 还用于与所述第 二终端对所述第一连接信息和第二连接信息进行连通性测试。
结合第四方面的第八种可能的实现方式, 在第九种可能的实现方式中, 当 所述连通性测试结果为失败时, 所述查找单元还用于选择除所述第一恢复候选 者以外的其他恢复候选者与所述第二终端进行恢复候选者匹配。
在第四方面的第十种可能的实现方式中, 所述终端还包括: 管理单元, 用 于采用以下至少一种方式对存储单元存储的恢复候选者进行管理:
当所述第一终端收到所述第二终端返回的匹配失败消息时, 删除所述第一 恢复候选者;
删除连通性测试结果为失败的恢复候选者;
当所述第一终端或所述第二终端发起 ICE Res tar t流程对连接信息进行修 改时, 将保存的恢复候选者中包含的第一连接信息刷新为修改后的连接信息; 当所述第一终端和所述第二终端之间的会话结束后, 清除本次会话过程中 保存的恢复候选者;
设定清除周期和保活时长, 对保存的恢复候选者进行周期性清除, 根据恢 复候选者的生成时间清除生成时长超过保活时长的恢复候选者;
在使用第一恢复候选者对连接进行恢复后, 更新所述第一恢复候选者的生 成时间。 第五方面, 本发明实施例还提供了一种在连接建立过程中生成恢复候选者 的终端, 包括:
地址信息获取单元, 用于获取本端的地址信息, 并将获取到的所述本端的 地址信息发送到第二终端,接收所述第二终端发送的所述第二终端的地址信息; 测试单元, 用于根据获取到的双方的地址信息发起连通性测试, 选择最优 路线作为所述连接的第一连接信息;
恢复候选者生成单元, 用于为所述第一连接信息生成第一恢复标识, 并在 收到所述第二终端返回的响应消息后, 将所述第一恢复标识和第一连接信息作 为第一恢复候选者存储在本地。
恢复标识发送单元, 用于将所述第一恢复标识发送到所述第二终端, 以使 得所述第二终端将所述第一恢复标识作为本端获取的所述连接的第二连接信息 对应的恢复标识, 其中, 所述第二连接信息为所述第二终端在所述连通性测试 过程中获取到的;
响应消息接收单元, 用于接收所述第二终端返回的响应消息。 第六方面, 本发明实施例还提供了另一种在连接建立过程中生成恢复候选 者的终端, 包括:
地址信息获取单元, 用于获取本端的地址信息, 并将获取到的所述本端的 地址信息发送到第一终端,接收所述第一终端发送的所述第一终端的地址信息; 测试单元, 用于根据获取到的双方的地址信息发起连通性测试, 选择最优 路线作为所述连接的第二连接信息;
恢复标识接收单元, 用于接收所述第一终端发送的第一恢复标识, 将所述 第一恢复标识作为本端获取的所述连接的第二连接信息对应的恢复标识,其中, 所述第一恢复标识为所述第一终端为获取的所述连接的第一连接信息生成的恢 复标识;
恢复候选者生成单元, 用于将所述第一恢复标识和第二连接信息作为第二 恢复候选者存储在本地。 第七方面, 本发明实施例还提供了一种连接恢复的系统, 至少包括第一终 端和第二终端,
所述第一终端, 用于查找断开的连接对应的恢复候选者, 所述恢复候选者 包括连接信息和用于标识所述连接信息的恢复标识, 选择查找到的一个恢复候 选者作为第一恢复候选者, 所述第一恢复候选者包括第一恢复标识和第一连接 信息, 向第二终端发送协商请求, 所述协商请求包括选中的第一恢复候选者的 第一' f灰复标识;
所述第二终端, 用于查找与所述第一恢复候选者具备相同恢复标识的第二 恢复候选者, 并向所述第一终端返回匹配成功消息;
所述第一终端和所述第二终端分别根据所述第一连接信息和所述第二连接 信息向对端传输数据。
在第七方面的第一种可能的实现方式中, 所述连接信息包括数据传输需要 的本端的地址和端口, 以及对端的地址和端口, 所述第一终端还用于从所述第 一连接信息中提取本端的地址和端口, 以及对端的地址和端口, 向所述第二终 端传输数据。
结合第七方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所 述恢复候选者还包括应用标识和用户标识, 相应的, 所述协商请求中还包括第 一恢复候选者的第一应用标识和第一用户标识, 所述第二恢复候选者还包括第 二应用标识和第二用户标识,
所述第二终端还用于在与所述第一应用标识和第一用户标识匹配的存储记 录中查找与所述第一恢复候选者具备相同恢复标识的第二恢复候选者。
结合第七方面的第一或第二种可能的实现方式, 在第三种可能的实现方式 中, 所述第一终端存储有所述连接对应的第一恢复候选者; 所述第二终端存储 有所述连接对应的第二恢复候选者。
结合第七方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述第一终端, 还用于获取本端的地址信息, 并将获取到的所述本端的地 址信息发送到第二终端, 接收所述第二终端发送的所述第二终端的地址信息; 所述第二终端, 还用于获取本端的地址信息, 并将获取到的所述本端的地 址信息发送到第一终端, 接收所述第一终端发送的所述第一终端的地址信息; 所述第一终端, 还用于根据获取到的双方的地址信息发起连通性测试, 选 择最优路线作为所述连接的第一连接信息;
所述第二终端, 还用于根据获取到的双方的地址信息发起连通性测试, 选 择最优路线作为所述连接的第二连接信息;
所述第一终端, 还用于为所述第一连接信息生成第一恢复标识, 将所述第 一恢复标识发送到所述第二终端;
所述第二终端, 还用于接收所述第一终端发送的第一恢复标识, 将所述第 一恢复标识作为本端获取的所述连接的第二连接信息对应的恢复标识, 将所述 第一恢复标识和第二连接信息作为第二恢复候选者存储在本地, 向所述第一终 端发送响应消息;
所述第一终端, 还用接收所述第二终端返回的响应消息, 将所述第一恢复 标识和第一连接信息作为第一恢复候选者存储在本地。
在第七方面的第五种可能的实现方式中, 所述第一终端和所述第二终端, 还用于采用以下至少一种方式对存储的恢复候选者进行管理:
删除连通性测试结果为失败的恢复候选者;
当所述第一终端或所述第二终端发起 ICE Res tar t流程对连接信息进行修 改时, 将保存的恢复候选者中包含的连接信息刷新为修改后的连接信息; 当所述第一终端和所述第二终端之间的会话结束后, 清除本次会话过程中 保存的恢复候选者;
设定清除周期和保活时长, 对保存的恢复候选者进行周期性清除, 根据恢 复候选者的生成时间清除生成时长超过保活时长的恢复候选者;
在使用恢复候选者对连接进行恢复后, 更新所述恢复候选者的生成时间。 根据本发明提供的具体实施例, 本发明公开了以下技术效果: 在本发明实施例中, 通信连接中断后, 通信双方中的一方发起连接恢复流 程, 查找预先保存的所述连接对应的第一恢复候选者, 从所述第一恢复候选者 中获取第一恢复标识和第一连接信息, 将所述第一恢复标识发送到第二终端, 使得第二终端可以根据所述第一恢复标识与所述第一恢复候选者具备相同恢复 标识的第二恢复候选者, 从而完成通信双方的恢复候选者协商, 使得双方可以 通过协商确定的恢复候选者中连接信息进行数据传输。 通过上述方式, 本发明 实施例在连接恢复过程中无需进行的地址收集过程以及对收集到的有效地址进 行连通性测试这两项费时的操作, 从而加快异常中断后进行连接恢复的速度。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施 例中所需要使用的附图作筒单地介绍, 显而易见地, 下面描述中的附图仅仅是 本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性 的前提下, 还可以根据这些附图获得其他的附图。
图 1是本发明实施例提供的一种连接恢复的方法流程示意图;
图 2是本发明实施例提供的另一种连接恢复的方法流程示意图; 图 3是本发明实施例提供的一种恢复候选者的生成方法流程示意图; 图 4是本发明实施例提供的一种通信连接示意图;
图 5是本发明实施例提供的一种在连接建立过程中生成恢复候选者的方法 流程示意图;
图 6是本发明实施例提供的另一种在连接建立过程中生成恢复候选者的方 法流程示意图;
图 7是发明实施例提供的一种连接恢复的终端结构示意图;
图 8是本发明实施例提供的一种在连接建立过程中生成恢复候选者的终端 结构示意图;
图 9是本发明实施例提供的另一种在连接建立过程中生成恢复候选者的终 端结构示意图;
图 10是本发明实施例提供的一种连接恢复的系统结构示意图;
图 11是发明实施例提供了一种终端的硬件构成示意图。 具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
如图 1所示, 为本发明实施例提供的一种连接恢复的方法流程示意图, 包 括:
步骤 101 : 第一终端查找断开的连接对应的恢复候选者, 所述恢复候选者 包括连接信息和用于标识所述连接信息的恢复标识;
步骤 1 02 : 所述第一终端选择查找到的一个恢复候选者作为第一恢复候选 者, 所述第一恢复候选者包括第一恢复标识和第一连接信息;
步骤 1 03 : 所述第一终端向第二终端发送协商请求, 所述协商请求包括选 中的第一恢复候选者的第一恢复标识;
步骤 1 04 : 所述第一终端接收所述第二终端返回的匹配成功消息, 所述匹 配成功消息用于表示所述第二终端查找到与所述第一恢复候选者具备相同恢复 标识的第二恢复候选者;
步骤 1 05 : 所述第一终端在收到匹配成功消息后,根据所述第一连接信息向 所述第二终端传输数据。
在本发明实施例中, 通信连接断开后, 通信双方中的一方发起连接恢复流 程, 查找预先保存的所述连接对应的第一恢复候选者, 从所述第一恢复候选者 中获取第一恢复标识和第一连接信息, 将所述第一恢复标识发送到第二终端, 使得第二终端可以根据所述第一恢复标识与所述第一恢复候选者具备相同恢复 标识的第二恢复候选者, 从而完成通信双方的恢复候选者协商, 使得双方可以 通过协商确定的恢复候选者中连接信息进行数据传输。 通过上述方式, 本发明 实施例在连接恢复过程中无需进行的地址收集过程以及对收集到的有效地址进 行连通性测试这两项费时的操作, 即不需要进行可通讯地址和端口的协商, 从 而加快异常中断后进行连接恢复的速度。
需要说明的是, 为了进行区别, 在本发明实施例中, 存储在第一终端侧的 恢复候选者作为第一恢复候选者, 存储在第二终端侧的恢复候选者作为第二恢 复候选者, 第一恢复候选者包括第一恢复标识和第一连接信息, 第二恢复候选 者包括第二恢复标识和第二连接信息。 在恢复候选者协商流程中, 如果第一恢 复候选者和第二恢复候选者匹配成功 (即第一恢复标识与第二恢复标识相同), 第一连接信息与第二连接信息也存在对应的映射关系, 第一连接信息和第二连 接信息即为连接断开前, 第一终端和第二终端向对方进行数据传输时使用的地 址和端口。
如图 2所示, 为本发明实施例提供的另一种连接恢复的方法流程示意图, 具体包括下述步骤:
步骤 201 : 通信双方 (以第一终端与第二终端进行通信为例)在通信过程 中连接断开, 第一终端检测到该连接断开的原因为异常断开, 所述第一终端发 起连接恢复流程。
在一种具体场景中, 该通信过程可以为点对点视频通信, 第一终端的用户 由于操作失误(例如, 浏览器刷新或第一终端软件故障等)导致点对点视频通 信终止后, 第一终端确定该通信连接为异常中断, 发起连接恢复流程。 所述第 一终端为连接恢复发起方。
需要说明的是, 连接断开原因检测可以采用现有的技术, 例如, 鼠标动作 检测等, 本发明实施例对此并不进行限定。
步骤 202 : 第一终端查找该连接对应的恢复候选者, 确定该连接是否支持 快速恢复,如果所述第一终端查找到恢复候选者, 则表示该连接支持快速恢复, 则所述第一终端从存储的恢复候选者中选择一个恢复候选者进行连接恢复操 作; 如果所述终端查找不到恢复候选者, 则表示该连接不支持快速恢复, 继续 执行标准的 ICE流程进行连接恢复。
所述恢复候选者至少包括以下内容: 恢复标识, 以及所述第一终端或第二 终端在该连接断开前通过该连接进行数据传输时使用的地址和端口 (即连接信 息)。
需要说明的是, 恢复候选者优选的存储在所述第一终端本地。 所述恢复候 选者的内容进一步的还可以包括生成时间, 当所述第一终端查找到的断开的连 接对应的恢复候选者大于或等于两个时, 所述第一终端优选生成时间最新的恢 复候选者用于连接恢复。
进一步的, 在具体应用场景中, 第一终端或第二终端上可能运行有多个应 用, 每个应用包含多个用户, 每个应用中的用户均分配有唯一的用户标识。 为 识别异常中断的连接, 需要明确使用该连接进行通信的应用和用户, 以及该连 接两端的地址和端口。 因此, 除连接信息、 恢复标识和生成时间外, 所述恢复 候选者还可以包括应用标识(user id )和用户标识 (App id )。 具体的, 当用 户标识在所有应用中均唯一时, 所述恢复候选者可以不包括应用标识; 当用户 标识在单个应用中唯一时, 所述恢复候选者包括应用标识。 需要说明的是, 当 不同应用之间可以进行数据传输时, 通信双方存储的恢复候选者中的应用标识 可能不同, 本发明对此并不进行限定。
步骤 203: 第一终端向第二终端发送协商请求, 所述协商请求包括查找到 的所述恢复候选者的恢复标识;
在一种场景中, 第一终端可以通过 Offer消息将选中的恢复候选者的标识 发送到第二终端。 具体的, 在 Offer消息中扩展类型属性(即 ice-opt ions属 性), 采用 ice-opt ions: recovery来表示该 Of f er消息为协商请求; 同时在 Offer消息中新增标识字段(即 ice_recovery_id字段), 该字段用于携带所述 恢复候选者的恢复标识。
本发明实施例提供的扩展后的 offer消息的部分内容如下样例所示, 其中 包括 ice-opt ions属性和 ice-recovery-id字段。
v=0
o=- 4252590694 2 IN IP4 127. 0. 0. 1
s=- t=0 0
a=group: BUNDLE audio video
a=ms id- semant ic: WMS 32KS iGEuoocLuCIbBrSRbJhBuWQhL09C500C m=audio 1 RTP/SAVPF 111 103 104 0 8 107 106 105 13 126 c=IN IP4 0. 0. 0. 0
a=r tcp: 1 IN IP4 0. 0. 0. 0
a=ice-uf rag: Dq2Hm+ngyeZfFb8D
a=ice-pwd: XqxuE iWD74 InoOWCFcmKMc9M
a=ice-opt ions: recovery a= ice-recovery- id: ak83 iLWzr0sf d62P ld5kg
a=sendrecv 在一种具体的场景中, 所述协商请求中还包括应用标识和用户标识。
需要说明的是, 在本步骤中, 所述第一终端和所述第二终端可以通过应用 服务器建立信令连接, 以实现恢复候选者的协商,也可以采用现有的其他方式, 本发明对此并不进行限定。
步骤 204: 第二终端接收所述协商请求, 根据接收到的恢复候选者的恢复 标识, 确定是否存储有与所述恢复标识相同的恢复候选者, 如果是, 则第二终 端向第一终端返回匹配成功消息, 用于指示恢复标识匹配成功, 继续执行步骤 205 ; 如果否, 则第二终端向第一终端返回失败消息, 用于指示所述第一终端发 起标准的 ICE流程进行连接恢复。
具体的, 恢复候选者可以存储在第二终端本地或者第二终端可以查询的网 络侧。
进一步的,所述匹配成功消息或匹配失败消息可以采用 Answer消息,本发 明实施例通过对 Answer消息进行扩展来携带恢复标识匹配结果。 例如, 在 answer消息中也扩展 ice-opt ions属性,用于表示该 answer消息为快速恢复响 应, 同时在 answer消息中新增字段: ice-recovery-response , 用于表示恢复 标识的查找结果,当所述 ice_recovery_response取值为 0K时,表示查找成功, 即第二终端也查找到与所述协商请求中携带的恢复候选者的恢复标识相同的恢 复候选者; 当所述 ice-recovery-response取值为 ERROR时, 表示查找失败, 第二终端侧没有查找到与所述协商请求消息中携带的恢复候选者具 i相同恢复 标识的恢复候选者。 answer中也不携带任何候选者信息。
本发明实施例提供的一个扩展后的 Answer消息的部分内容如下样例所示: V=0
o=- 1914227327 2 IN IP4 127. 0. 0. 1
s=- t=0 0
a=group: BUNDLE audio video
a=ms id- semant ic: WMS c3E2b7ZmdYl jMTGsupAK8EG2cglQZoZ4sV06 m=audio 1 RTP/SAVPF 111 103 104 0 8 107 106 105 13 126 c=IN IP4 0. 0. 0. 0
a=r tcp: 1 IN IP4 0. 0. 0. 0
a=candida te: 3051601105 1 udp 2113937151 10. 166. 41. 134 60453 typ hos t genera t ion 0
a=candida te: 4217389089 1 tcp 1509957375 10. 166. 41. 134 60747 typ hos t genera t ion 0
a=ice-ufrag: Gyd8HOyLRA8gU4G8
a=ice-pwd: 0 i zAaoCbwA 1 TaEuQ08huxETk
a=ice-opt ions: recovery a= ice-recovery-response: OK
a=sendrecv 进一步的, 当所述协商请求中还包括了应用标识和用户标识时, 所述第 二终端在与所述应用标识和用户标识匹配的存储记录中查找是否存储有具备相 同恢复标识的恢复候选者。
步骤 205 : 第一终端与第二终端互相发送 Keepa l ives消息并开始传输媒体 流。 此时理论上媒体流已经可以互通。
在本发明实施例中, 第二终端向第一终端返回成功消息后, 从本端查找到 的恢复候选者中提取数据传输时使用的本端地址和端口,以及对端地址和端口, 向第二终端发送 Keepa l ives消息和媒体流; 第二终端在收到所述成功消息后, 向本端查找到的恢复候选者中的对端地址和端口发送 Keepa l ives消息和媒体 流。
在本发明实施例中, 由于第一终端存储有该异常断开的连接对应的恢复候 选者, 第一终端不需要访问 STUN/TURN ( Ses s ion Traversa l Ut i l i t ies for NAT /Traversa l Us ing Re lay NAT, NAT会话传输应用程序 /转发 NAT穿越协议)服 务器来收集地址信息, 从而能够减少 STUN/TURN服务器的压力。 当双方的连接 由于用户误操作或者客户端软件故障等其他原因导致异常断开时, 第一终端可 以通过读取存储的恢复候选者中包括的连接信息, 优先选择该连接信息进行数 据的传输。 通过上述方式, 本发明实施例在连接恢复过程中无需进行的地址收 集过程以及对收集到的有效地址进行连通性测试这两项费时的操作, 从而加快 异常中断后进行连接恢复的速度。
进一步的, 当连接异常中断发生后, 如果网络环境发生了改变, 可能导致 该恢复候选者中保存的连接两端的地址和端口不可用。 因此,在步骤 205之前, 所述连接恢复的方法还包括:
步骤 206: 第一终端和第二终端对恢复候选者中包含的连接信息进行连通 性检测, 如果检测失败, 则删除双方保存的所述恢复标识对应的恢复候选者, 并进入错误处理流程, 即步骤 207。 需要说明的是, 连通性测试可以采用标准 ICE流程中的测试方法, 本发明对此并不进行限定。
步骤 207: 发起方删除本次连接恢复使用的恢复标识对应的恢复候选者, 继续查找是否存在其他的恢复候选者, 如果存在其他的恢复候选者, 则重复执 行步骤 202-步骤 204 , 直到查找到有效的恢复候选者或所有恢复候选者均无效 为止; 如果不存在其他的恢复候选者, 则发起方发起标准的 ICE重连流程。
在本发明上述实施例中, 只有在恢复发起方优选的恢复候选者未通过连通 性测试的情况下, 才会使用其他的恢复候选者进行连接恢复。 通过上述方式, 使得在保证连接恢复效率的同时, 可以尽量提高连接恢复的成功率。
连接断开发生前, 需要在该连接的建立流程中存储确定的连接信息 (即生 成恢复候选者),如图 3所示, 为本发明实施例提供的一种恢复候选者的生成方 法流程示意图, 包括:
步骤 301 : 在通信双方连接建立过程中, 通信双方进行地址收集, 并将收 集到的本端的地址信息发送到对端。 通信双方根据获取的双方的地址信息进行 连通性测试, 确定通信连接使用的最优路线。 当连通性测试阶段完毕后, 第一 终端为通过连通性测试的第一连接信息生成恢复标识(recovery id);
具体的, 如图 4所示, 为本发明实施例提供的一种通信连接示意图, 第一 终端与第二终端通过各自的 NAT, 经由 STUN服务器相连。 其中, A:a为第一终 端的内部地址和内部端口, B: b为第一终端在第一 NAT上的外部地址和外部端 口, C: c为第一终端在 STUN服务器上的中继地址和中继端口。 X:x为第二终端 的内部地址和内部端口, Y: y为第二终端在第二 NAT上的外部地址和外部端口, Z: z为第二终端在 STUN服务器上的中继地址和中继端口。
第一终端和第二终端向 STUN服务器发送地址获取请求收集各自的地址信 息, 第一终端收集到的地址信息为 A: a, 8 和(:(;, 第二终端收集到的地址信 息为 X:x, ¥: 和2:∑, 第一终端和第二终端交换收集到的地址信息, 针对通信 双方的地址对发起连通性测试流程, 确定数据传输的连接信息。
需要说明的是,通信双方可能分别处在不同的 NAT下,或者处在同一个 NAT 下, 或者只有其中一方处在 NAT下。 因此, 连接信息包括的通信双方的地址和 端口既可以是内网地址和内网端口, 也可以是外网地址和外网端口, 还可以是 TURN服务器的中继地址和中继端口。 具体的地址收集过程及连通性测试过程可 以参考标准的 ICE流程, 本发明对此并不进行限定。
步骤 302: 第一终端将恢复标识携带在通知消息中发送到对端, 指示所述 第二终端将接收到的恢复标识作为本端记录的连接信息的恢复标识。 具体的, 该通知消息可以优选 STUN请求消息, 可以通过在 STUN请求消息中扩展消息体 的方式携带该恢复标识。
具体的, 本发明实施例还提供了一种 STUN消息的扩展实例, 如下所示, 为 本发明实施例提供的扩展后的 STUN消息中 RECOVERY属性格式的示意图:
0 1 2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
6 7 8 9 0 1
+-+ -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -+-+-+-+-+-+-+
RECOVERY (Type) | Length
+-+ -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+-+-+-+-+-+-+
I ID (Recovery type) | ID
Length
+-+ -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+-+-+-+-+-+-+
Value +-+ -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-+-+-+-+-+-+-+
本发明实施例扩展了 STUN消息,在 STUN消息中增加了 RECOVERY属性,在 所述 RECOVERY属性中携带恢复标识 ( RECOVERY ID )。
进一步的, 所述 RECOVERY属性的值为 0x0050 , 其后还包括 Leng th属性, 用于表示所述 RECOVERY属性的长度。 优选的, RECOVERY属性的长度为 16位。 进一步的, RECOVERY属性可包含一个或多个子属性。
需要说明的, 本发明实施例并不限定于 STUN消息,将恢复标识发送到对端 以实现通信双方存储具备相同恢复标识的连接信息即可。
步骤 303: 当第二终端接收到所述通知消息后, 将接收到的恢复标识作为 本端记录的通过连通性测试的第二连接信息的恢复标识, 将恢复标识和第二连 接信息作为恢复候选者保存在本地或网络侧的存储网元中。
具体的:
恢复标识( Recovery id )在连接建立过程中由第一终端随机生成并且唯一, 用作连接恢复时双方确定同一恢复候选者的凭据;
第二连接信息包括本端数据传输使用的地址和端口, 以及对端的地址、 端 口,用于连接恢复时确定通信双方的地址和端口。 需要说明的是, 本端或对端 数据传输使用的地址或端口可以为公网或私网, 由 ICE协商过程中根据具体的 网络环境确定, 本发明对此并不进行限定。
进一步的, 所述恢复候选者还包括及生成时间, 即生成该恢复候选者的本 地时间。 所述生成时间用于恢复发起方在发起连接恢复时, 查找所述连接对应 的最新的恢复候选者。
更进一步的, 在具体应用场景中, 第一终端或第二终端上可能运行有多个 应用, 每个应用包含多个用户, 每个应用中的用户均分配有唯一的用户标识。 为识别异常中断的连接, 需要明确使用该连接进行通信的应用和用户, 以及该 连接两端的地址和端口。 因此, 除连接信息、 恢复标识和生成时间外, 所述恢 复候选者还可以包括应用标识 (user id )和用户标识 ( App id )。 具体的, 当 用户标识在所有应用中均唯一时, 所述恢复候选者可以不包括应用标识; 当用 户标识在单个应用中唯一时, 所述恢复候选者包括应用标识。 需要说明的是, 当不同应用之间可以进行数据传输时, 通信双方存储的恢复候选者中的应用标 识可能不同, 本发明对此并不进行限定。
步骤 304 : 第二终端向第一终端返回响应消息。
步骤 305 : 第一终端接收到第二终端返回的响应消息后, 将连接信息、 恢 复标识作为恢复候选者存储到本地或网络侧的存储单元中。 进一步的, 所述恢 复候选者还可以包括生成时间, 用户标识和应用标识中的至少一个。 第一终端 和第二终端保存的恢复候选者的内容类型可以保持一致。
如下所示, 为本发明实施例提供的一种使用 HTML5 Loca l S torage技术存储 恢复候选者的格式示意图。 其中, Cand i da te L表示连接信息的本端地址和端 口, Cand i da te R表示连接信息的对端地址和端口。 [0]
1
Figure imgf000017_0001
[1 恢复候逸者数据结构 需要说明的是, 本发明实施例对通信双方存储恢复候选者的存储方式并不 进行限定。
本发明实施例提供了一种恢复候选者的生成方法, 在连接的建立过程中完 成恢复候选者的生成, 当连接发生异常中断后, 可以使用保存的恢复候选者进 行连接恢复。
进一步的, 为保持通信双方保持的恢复候选者的有效性, 本发明实施例提 供的恢复候选者的管理方式包括以下至少一种:
方式一: 在连接恢复流程中, 当所述第一终端收到所述第二终端返回的匹 配失败消息时, 所述第一终端删除匹配失败的所述恢复候选者;
方式二: 所述第一终端和所述第二终端对匹配成功的恢复候选者进行连通 性测试, 删除连通性测试结果为失败的恢复候选者;
方式三: 当所述第一终端或所述第二终端发起 ICE Re s t ar t流程对连接信 息进行修改时, 所述第一终端和所述第二终端将各自保存的恢复候选者中包含 的连接信息刷新为修改后的连接信息;
方式四: 当所述第一终端和所述第二终端之间的会话结束后, 所述第一终 端和所述第二终端清除本次会话过程中保存的恢复候选者;
方式五: 设定清除周期和保活时长, 所述第一终端或所述第二终端对保存 的恢复候选者进行周期性清除, 根据恢复候选者的生成时间清除生成时长超过 保活时长的恢复候选者;
方式六: 使用复候选者对连接进行恢复成功后, 所述第一终端和所述第二 终端更新所述恢复候选者的生成时间。
在本发明实施例中, 通信双方存储有连接建立流程中保存的恢复候选者。 当双方的连接由于用户误操作或者客户端软件故障等其他原因导致异常断开 时, 第一终端可以通过读取存储的恢复候选者中包括的连接信息, 优先选择该 连接信息进行数据的传输。 通过上述方式, 本发明实施例在连接恢复过程中无 需进行的地址收集过程以及对收集到的有效地址进行连通性测试这两项费时的 操作, 即不需要进行可通讯地址和端口的协商, 从而加快异常中断后进行连接 恢复的速度。 进一步的本发明实施例还提供了恢复候选者的管理方式, 保证了 恢复候选者的时效性。
如图 5所示, 为本发明实施例提供的一种在连接建立过程中生成恢复候选 者的方法流程示意图, 包括:
步骤 501 : 第一终端获取本端的地址信息, 并将获取到的所述本端的地址 信息发送到第二终端;
步骤 502: 所述第一终端接收所述第二终端发送的所述第二终端的地址信 息;
步骤 503: 所述第一终端根据获取到的双方的地址信息发起连通性测试, 选择最优路线作为所述连接的第一连接信息;
步骤 504: 所述第一终端为所述第一连接信息生成第一恢复标识, 并将所 述第一恢复标识发送到所述第二终端, 以使得所述第二终端将所述第一恢复标 识作为本端获取的所述连接的第二连接信息对应的恢复标识, 其中, 所述第二 连接信息为所述第二终端在所述连通性测试过程中获取到的;
步骤 505 : 所述第一终端接收所述第二终端返回的响应消息, 将所述第一 恢复标识和第一连接信息作为第一恢复候选者存储在本地。
如图 6所示, 为本发明实施例提供的另一种在连接建立过程中生成恢复候 选者的方法流程示意图, 其特征在于, 包括:
步骤 601 : 第二终端获取本端的地址信息, 并将获取到的所述本端的地址 信息发送到第一终端;
步骤 602: 所述第二终端接收所述第一终端发送的所述第一终端的地址信 息;
步骤 603: 所述第二终端根据获取到的双方的地址信息发起连通性测试, 选择最优路线作为所述连接的第二连接信息;
步骤 604: 所述第二终端接收所述第一终端发送的第一恢复标识, 将所述 第一恢复标识作为本端获取的所述连接的第二连接信息对应的恢复标识,其中, 所述第一恢复标识为所述第一终端为获取的所述连接的第一连接信息生成的恢 复标识;
步骤 605 : 所述第二终端将所述第一恢复标识和第二连接信息作为第二恢 复候选者存储在本地。
本发明实施例提供了一种在连接建立流程中生成恢复候选者的方法, 第一 终端为双方在连通性测试过程中确定的最优路线对应的连接信息生成恢复标 识, 并将恢复标识发送到第二终端, 使得第二终端将所述恢复标识分配给本端 为所述连接确定的连接信息, 通信双方保存恢复候选者, 包括所述恢复标识和 双方分别确定的连接信息, 从而使得当连接异常中断时, 通信的其中一方可以 发起连接恢复流程, 使用本实施例中保存的连接信息恢复通信, 通信双方不需 要进行地址收集, 从而加快异常中断后进行连接恢复的速度。
与上述方法实施例相对应, 本发明实施例还提供了对应的装置和系统实施 例。 如图 7所示, 为本发明实施例提供的一种连接恢复的终端结构示意图, 包 括:
查找单元 701 , 用于查找断开的连接对应的恢复候选者, 所述恢复候选者 包括恢复标识和连接信息, 将查找到的一个恢复候选者作为第一恢复候选者, 所述第一恢复候选者包括第一恢复标识和第一连接信息;
协商请求发送单元 702 , 用于向第二终端发送协商请求, 所述协商请求包 括选中的第一恢复候选者的第一恢复标识;
匹配消息接收单元 703 , 用于接收所述第二终端返回的匹配成功消息, 所 述匹配成功消息用于表示所述第二终端查找到与所述第一恢复候选者具备相同 恢复标识的第二恢复候选者;
数据传输单元 704 , 用于根据所述第一连接信息向所述第二终端传输数据。 进一步的, 恢复候选者还包括生成时间, 当所述查找单元 701查找到的断 开的连接对应的恢复候选者大于或等于两个时, 查找单元 701具体用于将生成 时间最新的恢复候选者作为所述第一恢复候选者。
进一步的, 所述连接信息包括数据传输需要的本端的地址和端口, 以及对 端的地址和端口, 所述数据传输单元 704具体用于从所述第一连接信息中提取 本端的地址和端口, 以及对端的地址和端口, 向所述第二终端传输数据。
所述终端还包括中断检测单元 705 , 用于检测所述连接断开的原因为异常 中断, 所述异常中断的原因包括浏览器刷新或客户端软件故障。
还包括存储单元 706 , 用于存储所述连接对应的第一恢复候选者。
进一步的, 所述终端还包括:
地址信息获取单元 707 , 用于获取本端的地址信息, 接收所述第二终端发 送的所述第二终端的地址信息;
测试单元 708 , 用于根据所述地址获取单元获取的双方的地址信息向所述 第二终端发起连通性测试, 选择最优路线作为所述连接的第一连接信息;
恢复候选者生成单元 709 , 用于为所述第一连接信息生成第一恢复标识, 将所述第一恢复标识和第一连接信息作为所述第一恢复候选者。
恢复标识发送单元 710 , 用于将所述第一恢复标识发送到所述第二终端, 以使得所述第二终端将所述第一恢复标识作为本端获取的所述连接的第二连接 信息对应的恢复标识。
所述恢复标识发送单元 710 , 具体用于通过 NAT会话传输应用程序 STUN消 息将所述第一恢复标识发送给所述第二终端。
所述测试单元, 还用于与所述第二终端对所述第一连接信息和第二连接信 息进行连通性测试。
当所述连通性测试结果为失败时, 所述查找单元 701还用于选择除所述第 一恢复候选者以外的其他恢复候选者与所述第二终端进行恢复候选者匹配。
所述终端还包括管理单元 711 , 用于采用以下至少一种方式对存储单元存 储的恢复候选者进行管理:
当所述第一终端收到所述第二终端返回的匹配失败消息时, 删除所述第一 恢复候选者; 删除连通性测试结果为失败的恢复候选者;
当所述第一终端或所述第二终端发起 ICE Res tar t流程对连接信息进行修 改时, 将保存的恢复候选者中包含的第一连接信息刷新为修改后的连接信息; 当所述第一终端和所述第二终端之间的会话结束后, 清除本次会话过程中 保存的恢复候选者;
设定清除周期和保活时长, 对保存的恢复候选者进行周期性清除, 根据恢 复候选者的生成时间清除生成时长超过保活时长的恢复候选者;
在使用第一恢复候选者对连接进行恢复后, 更新所述第一恢复候选者的生 成时间。
在本发明实施例中, 通信连接断开后, 通信双方中的一方发起连接恢复流 程, 查找预先保存的所述连接对应的第一恢复候选者, 从所述第一恢复候选者 中获取第一恢复标识和第一连接信息, 将所述第一恢复标识发送到第二终端, 使得第二终端可以根据所述第一恢复标识与所述第一恢复候选者具备相同恢复 标识的第二恢复候选者, 从而完成通信双方的恢复候选者协商, 使得双方可以 通过协商确定的恢复候选者中连接信息进行数据传输。 通过上述方式, 本发明 实施例在连接恢复过程中无需进行的地址收集过程以及对收集到的有效地址进 行连通性测试这两项费时的操作, 即不需要进行可通讯地址和端口的协商, 从 而加快异常中断后进行连接恢复的速度。
如图 8所示, 为本发明实施例提供的一种在连接建立过程中生成恢复候选 者的终端结构示意图, 包括:
地址信息获取单元 801 , 用于获取本端的地址信息, 并将获取到的所述本 端的地址信息发送到第二终端, 接收所述第二终端发送的所述第二终端的地址 信息;
测试单元 802 , 用于根据获取到的双方的地址信息发起连通性测试, 选择 最优路线作为所述连接的第一连接信息;
恢复候选者生成单元 803 , 用于为所述第一连接信息生成第一恢复标识, 并在响应消息接收单元 805收到所述第二终端返回的响应消息后, 将所述第一 恢复标识和第一连接信息作为第一恢复候选者存储在本地。
恢复标识发送单元 804 , 用于将所述第一恢复标识发送到所述第二终端, 以使得所述第二终端将所述第一恢复标识作为本端获取的所述连接的第二连接 信息对应的恢复标识, 其中, 所述第二连接信息为所述第二终端在所述连通性 测试过程中获取到的;
响应消息接收单元 805 , 用于接收所述第二终端返回的响应消息。
如图 9所示, 为本发明实施例提供的另一种在连接建立过程中生成恢复候 选者的终端结构示意图, 其特征在于, 包括:
地址信息获取单元 901 , 用于获取本端的地址信息, 并将获取到的所述本 端的地址信息发送到第一终端, 接收所述第一终端发送的所述第一终端的地址 信息;
测试单元 902 , 用于根据获取到的双方的地址信息发起连通性测试, 选择 最优路线作为所述连接的第二连接信息; 恢复标识接收单元 903 , 用于接收所述第一终端发送的第一恢复标识, 将 所述第一恢复标识作为本端获取的所述连接的第二连接信息对应的恢复标识, 其中, 所述第一恢复标识为所述第一终端为获取的所述连接的第一连接信息生 成的恢复标识;
恢复候选者生成单元 904 , 用于将所述第一恢复标识和第二连接信息作为 第二恢复候选者存储在本地。
本发明实施例提供了一种在连接建立流程中生成恢复候选者的终端, 第一 终端为双方在连通性测试过程中确定的最优路线对应的连接信息生成恢复标 识, 并将恢复标识发送到第二终端, 使得第二终端将所述恢复标识分配给本端 为所述连接确定的连接信息, 通信双方保存恢复候选者, 包括所述恢复标识和 双方分别确定的连接信息, 从而使得当连接异常中断时, 通信的其中一方可以 发起连接恢复流程, 使用本实施例中保存的连接信息恢复通信, 通信双方不需 要进行地址收集, 从而加快异常中断后进行连接恢复的速度。
如图 10所示, 为本发明实施例提供的一种连接恢复的系统结构示意图, 包 括第一终端 1 001和第二终端 1002 ,
所述第一终端 1001 , 用于查找断开的连接对应的恢复候选者, 所述恢复候 选者包括恢复标识和连接信息, 选择查找到的一个恢复候选者作为第一恢复候 选者, 所述第一恢复候选者包括第一恢复标识和第一连接信息, 向第二终端 1002发送协商请求, 所述协商请求包括选中的第一恢复候选者的第一恢复标 识;
所述第二终端 1002 , 用于查找与所述第一恢复候选者具备相同恢复标识的 第二恢复候选者, 并向所述第一终端 1001返回匹配成功消息;
所述第一终端 1001和所述第二终端 1002分别根据所述第一连接信息和所 述第二连接信息向对端传输数据。
所述连接信息包括数据传输需要的本端的地址和端口, 以及对端的地址和 端口, 所述第一终端 1001还用于从所述第一连接信息中提取本端的地址和端 口, 以及对端的地址和端口, 向所述第二终端 1002传输数据。
所述恢复候选者还包括应用标识和用户标识, 相应的, 所述协商请求中还 包括第一恢复候选者的第一应用标识和第一用户标识, 所述第二恢复候选者还 包括第二应用标识和第二用户标识,
所述第二终端 1002还用于在与所述第一应用标识和第一用户标识匹配的 存储记录中查找与所述第一恢复候选者具备相同恢复标识的第二恢复候选者。
所述第一终端 1001存储有所述连接对应的第一恢复候选者;所述第二终端 1002存储有所述连接对应的第二恢复候选者。
所述第一终端 1001 , 还用于获取本端的地址信息, 并将获取到的所述本端 的地址信息发送到第二终端 1002 , 接收所述第二终端 1002发送的所述第二终 端 1002的地址信息;
所述第二终端 1002 , 还用于获取本端的地址信息, 并将获取到的所述本端 的地址信息发送到第一终端 1001 , 接收所述第一终端 1001发送的所述第一终 端 1001的地址信息; 所述第一终端 1001 , 还用于根据获取到的双方的地址信息发起连通性测 试, 选择最优路线作为所述连接的第一连接信息;
所述第二终端 1002 , 还用于根据获取到的双方的地址信息发起连通性测 试, 选择最优路线作为所述连接的第二连接信息;
所述第一终端 1001 , 还用于为所述第一连接信息生成第一恢复标识, 将所 述第一恢复标识发送到所述第二终端 1002 ;
所述第二终端 1002 , 还用于接收所述第一终端 1001发送的第一恢复标识, 将所述第一恢复标识作为本端获取的所述连接的第二连接信息对应的恢复标 识, 将所述第一恢复标识和第二连接信息作为第二恢复候选者存储在本地, 向 所述第一终端 1001发送响应消息;
所述第一终端 1001 , 还用接收所述第二终端 1002返回的响应消息, 将所 述第一恢复标识和第一连接信息作为第一恢复候选者存储在本地。
所述第一终端 1001和所述第二终端 1002 , 还用于采用以下至少一种方式 对存储的恢复候选者进行管理:
删除连通性测试结果为失败的恢复候选者;
当所述第一终端 1001或所述第二终端 1002发起 ICE Res tar t流程对连接 信息进行修改时, 将保存的恢复候选者中包含的连接信息刷新为修改后的连接 信息;
当所述第一终端 1001和所述第二终端 1002之间的会话结束后, 清除本次 会话过程中保存的恢复候选者;
设定清除周期和保活时长, 对保存的恢复候选者进行周期性清除, 根据恢 复候选者的生成时间清除生成时长超过保活时长的恢复候选者;
在使用恢复候选者对连接进行恢复后, 更新所述恢复候选者的生成时间。 在本发明实施例中, 由于第一终端存储有该异常断开的连接对应的恢复候 选者, 第一终端不需要访问 STUN/TURN ( Ses s ion Traversa l Ut i l i t ies for NAT /Traversa l Us ing Re lay NAT, NAT会话传输应用程序 /转发 NAT穿越协议)服 务器来收集地址信息, 从而能够减少 STUN/TURN服务器的压力。 当双方的连接 由于用户误操作或者客户端软件故障等其他原因导致异常断开时, 第一终端可 以通过读取存储的恢复候选者中包括的连接信息, 优先选择该连接信息进行数 据的传输。 通过上述方式, 本发明实施例在连接恢复过程中无需进行的地址收 集过程以及对收集到的有效地址进行连通性测试这两项费时的操作, 从而加快 异常中断后进行连接恢复的速度。
进一步地,如图 11所示,本发明实施例提供了一种终端的硬件构成示意图。 可包括至少一个处理器(例如 CPU ), 至少一个网络接口或者其他通信接口, 存 储器, 和至少一个通信总线, 用于实现这些装置之间的连接通信。 处理器用于 执行存储器中存储的可执行模块, 例如计算机程序。 存储器可能包含高速随机 存取存储器(RAM: Random Acces s Memory ), 也可能还包括非不稳定的存储器 ( non-volat i le memory ), 例如至少一个磁盘存储器。 通过至少一个网络接口 (可以是有线或者无线)实现该系统网关与至少一个其他网元之间的通信连接, 可以使用互联网, 广域网, 本地网, 城域网等。 在一些实施方式中, 存储器中存储了程序指令, 程序指令可以被处理器执 行, 其中, 程序指令可包括本发明上述实施例中指出的各个单元, 各单元具体 的实现方式可参见本发明上述实施例中的相应内容, 这里不再赘述。
通过以上的实施方式的描述可知, 本领域的技术人员可以清楚地了解到上 述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来 实现。 基于这样的理解, 本发明的技术方案本质上或者说对现有技术做出贡献 的部分可以以软件产品的形式体现出来, 该计算机软件产品可以存储在存储介 质中, 如 R0M/RAM、磁碟、 光盘等, 包括若干指令用以使得一台计算机设备(可 以是个人计算机, 资源管理服务器, 或者诸如媒体网关等网络通信设备, 等等) 执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是, 本说明书中的各个实施例均采用递进的方式描述, 各个实 施例之间相同相似的部分互相参见即可, 每个实施例重点说明的都是与其他实 施例的不同之处。 尤其, 对于设备及系统实施例而言, 由于其基本相似于方法 实施例, 所以描述得比较筒单, 相关之处参见方法实施例的部分说明即可。 以 上所描述的设备及系统实施例仅仅是示意性的, 其中作为分离部件说明的单元 可以是或者也可以不是物理上分开的, 作为单元显示的部件可以是或者也可以 不是物理单元, 即可以位于一个地方, 或者也可以分布到多个网络单元上。 可 以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。 本领域普通技术人员在不付出创造性劳动的情况下, 即可以理解并实施。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。 凡在本发明的精神和原则之内所作的任何修改、 等同替换、 改进等, 均包含在 本发明的保护范围内。

Claims

权 利 要 求
1、 一种连接恢复方法, 其特征在于, 包括:
第一终端查找断开断开的连接对应的恢复候选者, 所述恢复候选者包括连 接信息和用于标识所述连接信息的恢复标识;
所述第一终端选择查找到的一个恢复候选者作为第一恢复候选者, 所述第 一恢复候选者包括第一恢复标识和第一连接信息;
所述第一终端向第二终端发送协商请求, 所述协商请求包括选中的第一恢 复候选者的第一恢复标识;
所述第一终端接收所述第二终端返回的匹配成功消息, 所述匹配成功消息 用于表示所述第二终端查找到与所述第一恢复候选者具备相同恢复标识的第二 恢复候选者;
所述第一终端在收到匹配成功消息后,根据所述第一连接信息向所述第二 终端传输数据。
2、 如权利要求 1所述的方法, 其特征在于, 所述恢复候选者还包括生成时 间, 断开当所述第一终端查找到的断开的连接对应的恢复候选者大于或等于两 个时, 所述第一恢复候选者为生成时间最新的恢复候选者。
3、 如权利要求 1或 2所述的方法, 其特征在于, 所述连接信息包括数据传 输需要的本端的地址和端口, 以及对端的地址和端口。
4、 如权利要求 3所述的方法, 其特征在于, 所述第一终端根据所述第一连 接信息向所述第二终端传输数据包括:
所述第一终端从所述第一连接信息中提取本端的地址和端口, 以及对端的 地址和端口, 向所述第二终端传输数据。
5、 如权利要求 4所述的方法, 其特征在于, 所述第二恢复候选者还包括与 所述第一连接信息匹配的第二连接信息,
所述第二终端从所述第二连接信息中提取本端的地址和端口, 以及对端的 地址和端口, 向所述第一终端传输数据。
6、 如权利要求 1-5任一所述的方法, 其特征在于, 所述恢复候选者还包括 应用标识和用户标识, 相应的, 所述协商请求中还包括第一恢复候选者的第一 应用标识和第一用户标识, 所述第二恢复候选者还包括第二应用标识和第二用 户标识,
所述方法还包括: 所述第二终端在与所述第一应用标识和第一用户标识匹 配的存储记录中查找与所述第一恢复候选者具备相同恢复标识的第二恢复候选 者;
其中, 在所述连接断开前, 所述第一终端上运行的所述第一应用的第一用 户与所述第二终端上运行的所述第二应用的第二用户通过所述连接进行数据传 输。
7、 如权利要求 1所述的方法, 其特征在于, 在第一终端查找断开的连接对 应的恢复候选者之前, 所述方法还包括: 所述第一终端检测到所述连接断开的原因为异常中断, 所述异常中断的原 因包括浏览器刷新或客户端软件故障。
8、 如权利要求 1-7任一所述的方法, 其特征在于, 在所述连接断开之前, 所述方法还包括: 所述第一终端存储所述连接对应的第一恢复候选者。
9、 如权利要求 8所述的方法, 其特征在于, 在所述连接断开之前, 所述第 一终端存储所述连接对应的恢复候选者还包括:
所述第一终端获取本端的地址信息, 接收所述第二终端发送的所述第二终 端的地址信息;
所述第一终端根据双方的地址信息向所述第二终端发起连通性测试, 选择 最优路线作为所述连接的第一连接信息;
所述第一终端为所述第一连接信息生成第一恢复标识, 将所述第一恢复标 识和第一连接信息作为所述第一恢复候选者进行存储。
10、 如权利要求 9所述的方法, 其特征在于, 在所述第一终端为所属第一 连接信息生成第一恢复标识后, 所述方法还包括:
所述第一终端将所述第一恢复标识发送到所述第二终端, 以使得所述第二 终端将所述第一恢复标识作为本端获取的所述连接的第二连接信息对应的恢复 标识。
11、 如权利要求 10所述的方法, 其特征在于, 在所述第二终端将所述第一 恢复标识作为本端获取的所述连接的第二连接信息对应的恢复标识后, 所述方 法还包括:
所述第二终端将所述第一恢复标识和第二连接信息作为第二恢复候选者存 储在本地。
12、如权利要求 10或 11所述的方法,其特征在于,所述第一终端通过 NAT 会话传输应用程序 STUN消息将所述第一恢复标识发送给所述第二终端。
1 3、 如权利要求 1所述的方法, 其特征在于, 所述协商请求包括类型属性 和标识字段, 所述类型属性用于表示所述协商请求用于连接恢复, 所述标识字 段用于携带所述第一恢复候选者的恢复标识。
14、如权利要求 1 3所述的方法,其特征在于,所述协商请求为 Offer消息, 所述类型属性为扩展的 i ce-opt ions属性。
15、 如权利要求 1所述的方法, 其特征在于, 在所述第一终端通过所述第 一连接信息向所述第二终端传输数据之前, 所述方法还包括:
第一终端和第二终端对所述第一连接信息和第二连接信息进行连通性测 试。
16、 如权利要求 15所述的方法, 其特征在于, 当连通性测试失败时, 所述 第一终端选择除所述第一恢复候选者以外的其他恢复候选者与所述第二终端进 行恢复候选者匹配。
17、 如权利要求 1所述的方法, 所述方法还包括以下至少一种恢复候选者 修改方式:
当所述第一终端收到所述第二终端返回的匹配失败消息时, 所述第一终端 删除所述第一恢复候选者; 所述第一终端和所述第二终端对匹配成功的恢复候选者进行连通性测试, 删除连通性测试结果为失败的恢复候选者;
当所述第一终端或所述第二终端发起 ICE Res tart流程对连接信息进行修 改时, 所述第一终端和所述第二终端将各自保存的恢复候选者中包含的连接信 息刷新为修改后的连接信息;
当所述第一终端和所述第二终端之间的会话结束后, 所述第一终端和所述 第二终端清除本次会话过程中保存的恢复候选者;
设定清除周期和保活时长, 所述第一终端或所述第二终端对保存的恢复候 选者进行周期性清除, 根据恢复候选者的生成时间清除生成时长超过保活时长 的恢复候选者;
使用第一恢复候选者对连接进行恢复后, 所述第一终端更新所述第一恢复 候选者的生成时间。
18、 如权利要求 1所述的方法, 其特征在于, 所述方法还包括: 当所述第 一终端查找不到所述断开的连接对应的恢复候选者时, 所述第一终端发起交互 式连接恢复 ICE流程重建所述第一终端与第二终端之间的连接。
19、 一种在连接建立过程中生成恢复候选者的方法, 其特征在于, 包括: 第一终端获取本端的地址信息, 并将获取到的所述本端的地址信息发送到 第二终端;
所述第一终端接收所述第二终端发送的所述第二终端的地址信息; 所述第一终端根据获取到的双方的地址信息发起连通性测试, 选择最优路 线作为所述连接的第一连接信息;
所述第一终端为所述第一连接信息生成第一恢复标识, 并将所述第一恢复 标识发送到所述第二终端, 以使得所述第二终端将所述第一恢复标识作为本端 获取的所述连接的第二连接信息对应的恢复标识, 其中, 所述第二连接信息为 所述第二终端在所述连通性测试过程中获取到的;
所述第一终端接收所述第二终端返回的响应消息, 将所述第一恢复标识和 第一连接信息作为第一恢复候选者存储在本地。
20、 一种在连接建立过程中生成恢复候选者的方法, 其特征在于, 包括: 第二终端获取本端的地址信息, 并将获取到的所述本端的地址信息发送到 第一终端;
所述第二终端接收所述第一终端发送的所述第一终端的地址信息; 所述第二终端根据获取到的双方的地址信息发起连通性测试, 选择最优路 线作为所述连接的第二连接信息;
所述第二终端接收所述第一终端发送的第一恢复标识, 将所述第一恢复标 识作为本端获取的所述连接的第二连接信息对应的恢复标识, 其中, 所述第一 恢复标识为所述第一终端为获取的所述连接的第一连接信息生成的恢复标识; 所述第二终端将所述第一恢复标识和第二连接信息作为第二恢复候选者存 储在本地。 21、 一种连接恢复的终端, 其特征在于, 包括:
查找单元, 用于查找断开的连接对应的恢复候选者, 所述恢复候选者包括 连接信息和用于标识所述连接信息的恢复标识, 将查找到的一个恢复候选者作 为第一恢复候选者, 所述第一恢复候选者包括第一恢复标识和第一连接信息; 协商请求发送单元, 用于向第二终端发送协商请求, 所述协商请求包括选 中的第一恢复候选者的第一恢复标识;
匹配消息接收单元, 用于接收所述第二终端返回的匹配成功消息, 所述匹 配成功消息用于表示所述第二终端查找到与所述第一恢复候选者具备相同恢复 标识的第二恢复候选者;
数据传输单元, 用于根据所述第一连接信息向所述第二终端传输数据。
11、 如权利要求 21所述的终端, 其特征在于, 所述恢复候选者还包括生成 时间, 当所述查找单元查找到的断开的连接对应的恢复候选者大于或等于两个 时,查找单元具体用于将生成时间最新的恢复候选者作为所述第一恢复候选者。
23、 如权利要求 21或 22所述的终端, 其特征在于, 所述连接信息包括数 据传输需要的本端的地址和端口, 以及对端的地址和端口, 所述数据传输单元 具体用于从所述第一连接信息中提取本端的地址和端口, 以及对端的地址和端 口, 向所述第二终端传输数据。
24、 如权利要求 21-23任一所述的终端, 其特征在于, 所述终端还包括中 断检测单元, 用于检测所述连接断开的原因为异常中断, 所述异常中断的原因 包括浏览器刷新或客户端软件故障。
25、 如权利要求 21-24任一所述的终端, 其特征在于, 还包括存储单元, 用于存储所述连接对应的第一恢复候选者。
26、 如权利要求 25所述的终端, 其特征在于, 还包括:
地址信息获取单元, 用于获取本端的地址信息, 接收所述第二终端发送的 所述第二终端的地址信息;
测试单元, 用于根据所述地址获取单元获取的双方的地址信息向所述第二 终端发起连通性测试, 选择最优路线作为所述连接的第一连接信息;
恢复候选者生成单元, 用于为所述第一连接信息生成第一恢复标识, 将所 述第一恢复标识和第一连接信息作为所述第一恢复候选者。
27、 如权利要求 26所述的终端, 其特征在于, 还包括:
恢复标识发送单元, 用于将所述第一恢复标识发送到所述第二终端, 以使 得所述第二终端将所述第一恢复标识作为本端获取的所述连接的第二连接信息 对应的恢复标识。
28、 如权利要求 27所述的终端, 其特征在于, 所述恢复标识发送单元, 具 体用于通过 NAT会话传输应用程序 STUN消息将所述第一恢复标识发送给所述第 二终端。
29、 如权利要求 21所述的终端, 其特征在于,
所述测试单元, 还用于与所述第二终端对所述第一连接信息和第二连接信 息进行连通性测试。 30、 如权利要求 29所述的终端, 其特征在于,
当所述连通性测试结果为失败时, 所述查找单元还用于选择除所述第一恢 复候选者以外的其他恢复候选者与所述第二终端进行恢复候选者匹配。
31、 如权利要求 21所述的终端, 其特征在于, 还包括: 管理单元, 用于采 用以下至少一种方式对存储单元存储的恢复候选者进行管理:
当所述第一终端收到所述第二终端返回的匹配失败消息时, 删除所述第一 恢复候选者;
删除连通性测试结果为失败的恢复候选者;
当所述第一终端或所述第二终端发起 ICE Res tar t流程对连接信息进行修 改时, 将保存的恢复候选者中包含的第一连接信息刷新为修改后的连接信息; 当所述第一终端和所述第二终端之间的会话结束后, 清除本次会话过程中 保存的恢复候选者;
设定清除周期和保活时长, 对保存的恢复候选者进行周期性清除, 根据恢 复候选者的生成时间清除生成时长超过保活时长的恢复候选者;
在使用第一恢复候选者对连接进行恢复后, 更新所述第一恢复候选者的生 成时间。
32、 一种在连接建立过程中生成恢复候选者的终端, 其特征在于, 包括: 地址信息获取单元, 用于获取本端的地址信息, 并将获取到的所述本端的 地址信息发送到第二终端,接收所述第二终端发送的所述第二终端的地址信息; 测试单元, 用于根据获取到的双方的地址信息发起连通性测试, 选择最优 路线作为所述连接的第一连接信息;
恢复候选者生成单元, 用于为所述第一连接信息生成第一恢复标识, 并在 收到所述第二终端返回的响应消息后, 将所述第一恢复标识和第一连接信息作 为第一恢复候选者存储在本地。
恢复标识发送单元, 用于将所述第一恢复标识发送到所述第二终端, 以使 得所述第二终端将所述第一恢复标识作为本端获取的所述连接的第二连接信息 对应的恢复标识, 其中, 所述第二连接信息为所述第二终端在所述连通性测试 过程中获取到的;
响应消息接收单元, 用于接收所述第二终端返回的响应消息。
33、 一种在连接建立过程中生成恢复候选者的终端, 其特征在于, 包括: 地址信息获取单元, 用于获取本端的地址信息, 并将获取到的所述本端的 地址信息发送到第一终端,接收所述第一终端发送的所述第一终端的地址信息; 测试单元, 用于根据获取到的双方的地址信息发起连通性测试, 选择最优 路线作为所述连接的第二连接信息;
恢复标识接收单元, 用于接收所述第一终端发送的第一恢复标识, 将所述 第一恢复标识作为本端获取的所述连接的第二连接信息对应的恢复标识,其中, 所述第一恢复标识为所述第一终端为获取的所述连接的第一连接信息生成的恢 复标识; 恢复候选者生成单元, 用于将所述; 一恢复标识和第二连接信息作为第二
Figure imgf000029_0001
34、 一种连接恢复的系统, 其特征在于, 包括第一终端和第二终端, 所述第一终端, 用于查找断开的连接对应的恢复候选者, 所述恢复候选者 包括连接信息和用于标识所述连接信息的恢复标识, 选择查找到的一个恢复候 选者作为第一恢复候选者, 所述第一恢复候选者包括第一恢复标识和第一连接 信息, 向第二终端发送协商请求, 所述协商请求包括选中的第一恢复候选者的 所述第二终端, 用于查找与所述第一恢复候选者具备相同恢复标识的第二 恢复候选者, 并向所述第一终端返回匹配成功消息;
所述第一终端和所述第二终端分别根据所述第一连接信息和所述第二连接 信息向对端传输数据。
35、 如权利要求 34所述的系统, 其特征在于, 所述连接信息包括数据传输 需要的本端的地址和端口, 以及对端的地址和端口, 所述第一终端还用于从所 述第一连接信息中提取本端的地址和端口, 以及对端的地址和端口, 向所述第 二终端传输数据。
36、 如权利要求 34或 35所述的系统, 其特征在于, 所述恢复候选者还包 括应用标识和用户标识, 相应的, 所述协商请求中还包括第一恢复候选者的第 一应用标识和第一用户标识, 所述第二恢复候选者还包括第二应用标识和第二 用户标识,
所述第二终端还用于在与所述第一应用标识和第一用户标识匹配的存储记 录中查找与所述第一恢复候选者具备相同恢复标识的第二恢复候选者。
37、 如权利要求 34-36任一所述的系统, 其特征在于, 所述第一终端存储 有所述连接对应的第一恢复候选者; 所述第二终端存储有所述连接对应的第二 恢复候选者。
38、 如权利要求 37所述的系统, 其特征在于,
所述第一终端, 还用于获取本端的地址信息, 并将获取到的所述本端的地 址信息发送到第二 ;冬端, 接收所述第二终端发送的所述第二终端的地址信息; 所述第二终端 还用于获取本端的地址信息, 并将获取到的所述本端的地 址信息发送到第一 ;冬端, 接收所述第一终端发送的所述第一终端的地址信息; 所述第一终端 还用于根据获取到的双方的地址信息发起连通性测试, 选 择最优路线作为所述连接的第一连接信息;
所述第二终端 还用于根据获取到的双方的地址信息发起连通性测试, 选 择最优路线作为所述连接的第二连接信息; 端发送响应消息;
所述第一终端, 还用接收所述第二终端返回的响应消息, 将所述第一恢复 标识和第一连接信息作为第一恢复候选者存储在本地。
39、 如权利要求 33所述的系统, 其特征在于, 所述第一终端和所述第二终 端, 还用于采用以下至少一种方式对存储的恢复候选者进行管理:
删除连通性测试结果为失败的恢复候选者;
当所述第一终端或所述第二终端发起 ICE Res tar t流程对连接信息进行修 改时, 将保存的恢复候选者中包含的连接信息刷新为修改后的连接信息; 当所述第一终端和所述第二终端之间的会话结束后, 清除本次会话过程中 保存的恢复候选者;
设定清除周期和保活时长, 对保存的恢复候选者进行周期性清除, 根据恢 复候选者的生成时间清除生成时长超过保活时长的恢复候选者;
在使用恢复候选者对连接进行恢复后, 更新所述恢复候选者的生成时间。
PCT/CN2013/078478 2013-06-29 2013-06-29 一种连接恢复的方法、装置及系统 WO2014205827A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP13887638.8A EP2993854B1 (en) 2013-06-29 2013-06-29 Connection recovery method, device and system
PCT/CN2013/078478 WO2014205827A1 (zh) 2013-06-29 2013-06-29 一种连接恢复的方法、装置及系统
CN201380001316.6A CN104662859B (zh) 2013-06-29 2013-06-29 一种连接恢复的方法、装置及系统
US14/978,947 US9893931B2 (en) 2013-06-29 2015-12-22 Connection recovery method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/078478 WO2014205827A1 (zh) 2013-06-29 2013-06-29 一种连接恢复的方法、装置及系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/978,947 Continuation US9893931B2 (en) 2013-06-29 2015-12-22 Connection recovery method, apparatus, and system

Publications (1)

Publication Number Publication Date
WO2014205827A1 true WO2014205827A1 (zh) 2014-12-31

Family

ID=52140897

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/078478 WO2014205827A1 (zh) 2013-06-29 2013-06-29 一种连接恢复的方法、装置及系统

Country Status (4)

Country Link
US (1) US9893931B2 (zh)
EP (1) EP2993854B1 (zh)
CN (1) CN104662859B (zh)
WO (1) WO2014205827A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9608859B2 (en) * 2013-10-25 2017-03-28 Aruba Networks, Inc. System, apparatus and method for reducing failover time through redundancy using virtual access points
US9450915B1 (en) * 2014-01-02 2016-09-20 vIPtela Inc. Bi-directional NAT traversal using endpoint assigned discriminators
CN105516429B (zh) * 2015-12-07 2019-12-17 腾讯科技(深圳)有限公司 一种终端掉线处理方法及系统
KR102475937B1 (ko) 2016-01-22 2022-12-09 삼성전자주식회사 네트워크 연결을 위한 전자 장치 및 방법
CN109905345B (zh) * 2017-12-07 2021-02-09 华为技术有限公司 通信方法、通信装置和通信设备
JP6860176B2 (ja) * 2019-07-02 2021-04-14 Necプラットフォームズ株式会社 接続制御装置、接続制御方法及び接続制御プログラム
CN111540458B (zh) * 2020-04-02 2023-07-25 出门问问信息科技有限公司 一种信息处理方法和装置、电子设备和计算机存储介质
CN112291442B (zh) * 2020-10-29 2021-10-08 迈普通信技术股份有限公司 电话通话处理方法、装置、电子设备及存储介质
CN112464593B (zh) * 2020-11-25 2022-09-02 海光信息技术股份有限公司 Rom位映射关系生成方法、装置、处理器芯片及服务器
CN113114702B (zh) * 2021-05-13 2023-05-09 上海井星信息科技有限公司 一种IOS端基于SIP协议交互的WebRTC通信方法和系统
US20230018433A1 (en) * 2021-07-13 2023-01-19 Vmware, Inc. Accessing corporate resources through an enrolled user device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459689A (zh) * 2007-12-13 2009-06-17 阿尔卡特朗讯 建立连接的方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3438105B2 (ja) * 1994-03-18 2003-08-18 富士通株式会社 迂回経路探索方法
US6075766A (en) * 1996-11-26 2000-06-13 Mci Communications Corporation Method and apparatus for identifying restoral routes in a network
US6442614B1 (en) * 1999-12-22 2002-08-27 At&T Corp. Method and apparatus for lost connectivity recovery
JP2002344484A (ja) * 2001-05-21 2002-11-29 Nec Corp ネットワークの接続復旧方法及びシステム
JP2004173136A (ja) * 2002-11-22 2004-06-17 Fujitsu Ltd ネットワーク管理装置
US7747244B2 (en) * 2003-01-23 2010-06-29 Research In Motion Limited Methods and apparatus for re-establishing communication for a wireless communication device after a communication loss in a wireless communication network
JP5068023B2 (ja) * 2006-03-29 2012-11-07 株式会社日立製作所 計算機システム及び論理パス切替方法
US8826077B2 (en) * 2007-12-28 2014-09-02 International Business Machines Corporation Defining a computer recovery process that matches the scope of outage including determining a root cause and performing escalated recovery operations
US8180891B1 (en) * 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US9438448B2 (en) * 2009-08-18 2016-09-06 Microsoft Technology Licensing, Llc Maintaining communication connections during temporary network disruptions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459689A (zh) * 2007-12-13 2009-06-17 阿尔卡特朗讯 建立连接的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
J. ROSENBERG.: "INTERACTIVE CONNECTIVITY ESTABLISHMENT (ICE): A PROTOCOL FOR NETWORK ADDRESS TRANSLATOR ( NAT ) TRAVERSAL FOR OFFER/ANSWER PROTOCOLS.", IETF RFC 5245., April 2010 (2010-04-01), pages 1 - 117, XP055154341, Retrieved from the Internet <URL:http://www.rfc-editor.org/rfc/pdfrfc/rfc5245.txt.pdf> *
SHITAO. LI.: "ICE NEGOTIATION WHEN PAGE RELOAD IN RTCWEB DRAFT-LI-RTCWEB-ICE-PAGE-RELOAD-02.", RTCWEB., 22 October 2012 (2012-10-22), pages 1 - 7, XP015088388, Retrieved from the Internet <URL:http://tools.ietf.org/pdf/draft-li-rtcweb-ice-page-reload-02.pdf> *

Also Published As

Publication number Publication date
EP2993854A4 (en) 2016-06-29
US20160112250A1 (en) 2016-04-21
CN104662859A (zh) 2015-05-27
US9893931B2 (en) 2018-02-13
CN104662859B (zh) 2017-12-05
EP2993854B1 (en) 2019-12-04
EP2993854A1 (en) 2016-03-09

Similar Documents

Publication Publication Date Title
WO2014205827A1 (zh) 一种连接恢复的方法、装置及系统
CN107483260B (zh) 故障处理方法及装置、电子设备
CN107682470B (zh) 一种检测nat地址池中公网ip可用性的方法及装置
WO2015062201A1 (zh) 数据查询方法、装置、服务器及系统
CN112995352B (zh) 基于流量分析的IPv6网络空间测绘系统及测绘方法
CN110839046B (zh) 多协议的互通方法和系统
US10015204B2 (en) Method, terminal, and server for restoring transmission of session content
CN111030999B (zh) 一种基于网络数据包提取文件的方法
CN107566213B (zh) 一种保活检测方法和装置
CN106603588B (zh) 服务器节点的处理方法及装置
CN106131039A (zh) Syn洪泛攻击的处理方法及装置
CN112543351A (zh) 一种网络视频数据处理方法和处理系统
US10375175B2 (en) Method and apparatus for terminal application accessing NAS
JP2022525205A (ja) 異常ホストのモニタニング
CN115190042B (zh) 一种网络靶场靶标接入状态探测系统与方法
CN107454178B (zh) 数据传输方法及装置
US9674052B2 (en) Data packet stream fingerprint
JP6605149B2 (ja) 共有端末の検出方法及びその装置
CN115037537A (zh) 异常流量拦截、异常域名识别方法、装置、设备及介质
KR101670699B1 (ko) 웹 페이지들 간에 통신하기 위한 방법 및 시스템
CN112559134A (zh) 一种分布式WebSocket集群构建方法、装置、系统及存储介质
CN112118284A (zh) 一种面向网关设备的http数据请求方法、设备及介质
CN108848175A (zh) 一种创建tcp连接的方法及装置
CN113992583B (zh) 一种表项维护方法及装置
CN117424928B (zh) 网络设备和资源分享的方法

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: 13887638

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2013887638

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE