CN104662859A - 一种连接恢复的方法、装置及系统 - Google Patents
一种连接恢复的方法、装置及系统 Download PDFInfo
- Publication number
- CN104662859A CN104662859A CN201380001316.6A CN201380001316A CN104662859A CN 104662859 A CN104662859 A CN 104662859A CN 201380001316 A CN201380001316 A CN 201380001316A CN 104662859 A CN104662859 A CN 104662859A
- Authority
- CN
- China
- Prior art keywords
- terminal
- candidate
- recovery
- link information
- mark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
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
本发明公开了一种连接恢复的方法、装置和系统。其中,所述方法包括:第一终端查找断开的连接对应的恢复候选者,所述恢复候选者包括恢复标识和连接信息;所述第一终端选择查找到的一个恢复候选者作为第一恢复候选者,所述第一恢复候选者包括第一恢复标识和第一连接信息;所述第一终端向第二终端发送协商请求,所述协商请求包括选中的第一恢复候选者的第一恢复标识;所述第一终端接收所述第二终端返回的匹配成功消息,所述匹配成功消息用于表示所述第二终端查找到与所述第一恢复候选者具备相同恢复标识的第二恢复候选者;所述第一终端根据所述第一连接信息向所述第二终端传输数据。本发明实施例在连接恢复过程中无需进行的地址收集过程以及对收集到的有效地址进行连通性测试这两项费时的操作,从而加快异常中断后进行连接恢复的速度。
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
[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)
- 权 利 要 求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、 一种在连接建立过程中生成恢复候选者的终端, 其特征在于, 包括: 地址信息获取单元, 用于获取本端的地址信息, 并将获取到的所述本端的 地址信息发送到第一终端,接收所述第一终端发送的所述第一终端的地址信息; 测试单元, 用于根据获取到的双方的地址信息发起连通性测试, 选择最优 路线作为所述连接的第二连接信息;恢复标识接收单元, 用于接收所述第一终端发送的第一恢复标识, 将所述 第一恢复标识作为本端获取的所述连接的第二连接信息对应的恢复标识,其中, 所述第一恢复标识为所述第一终端为获取的所述连接的第一连接信息生成的恢 复标识; 恢复候选者生成单元, 用于将所述; 一恢复标识和第二连接信息作为第二34、 一种连接恢复的系统, 其特征在于, 包括第一终端和第二终端, 所述第一终端, 用于查找断开的连接对应的恢复候选者, 所述恢复候选者 包括连接信息和用于标识所述连接信息的恢复标识, 选择查找到的一个恢复候 选者作为第一恢复候选者, 所述第一恢复候选者包括第一恢复标识和第一连接 信息, 向第二终端发送协商请求, 所述协商请求包括选中的第一恢复候选者的 所述第二终端, 用于查找与所述第一恢复候选者具备相同恢复标识的第二 恢复候选者, 并向所述第一终端返回匹配成功消息;所述第一终端和所述第二终端分别根据所述第一连接信息和所述第二连接 信息向对端传输数据。35、 如权利要求 34所述的系统, 其特征在于, 所述连接信息包括数据传输 需要的本端的地址和端口, 以及对端的地址和端口, 所述第一终端还用于从所 述第一连接信息中提取本端的地址和端口, 以及对端的地址和端口, 向所述第 二终端传输数据。36、 如权利要求 34或 35所述的系统, 其特征在于, 所述恢复候选者还包 括应用标识和用户标识, 相应的, 所述协商请求中还包括第一恢复候选者的第 一应用标识和第一用户标识, 所述第二恢复候选者还包括第二应用标识和第二 用户标识,所述第二终端还用于在与所述第一应用标识和第一用户标识匹配的存储记 录中查找与所述第一恢复候选者具备相同恢复标识的第二恢复候选者。37、 如权利要求 34-36任一所述的系统, 其特征在于, 所述第一终端存储 有所述连接对应的第一恢复候选者; 所述第二终端存储有所述连接对应的第二 恢复候选者。38、 如权利要求 37所述的系统, 其特征在于,所述第一终端, 还用于获取本端的地址信息, 并将获取到的所述本端的地 址信息发送到第二 ;冬端, 接收所述第二终端发送的所述第二终端的地址信息; 所述第二终端 还用于获取本端的地址信息, 并将获取到的所述本端的地 址信息发送到第一 ;冬端, 接收所述第一终端发送的所述第一终端的地址信息; 所述第一终端 还用于根据获取到的双方的地址信息发起连通性测试, 选 择最优路线作为所述连接的第一连接信息;所述第二终端 还用于根据获取到的双方的地址信息发起连通性测试, 选 择最优路线作为所述连接的第二连接信息; 端发送响应消息;所述第一终端, 还用接收所述第二终端返回的响应消息, 将所述第一恢复 标识和第一连接信息作为第一恢复候选者存储在本地。39、 如权利要求 33所述的系统, 其特征在于, 所述第一终端和所述第二终 端, 还用于采用以下至少一种方式对存储的恢复候选者进行管理:删除连通性测试结果为失败的恢复候选者;当所述第一终端或所述第二终端发起 ICE Res tar t流程对连接信息进行修 改时, 将保存的恢复候选者中包含的连接信息刷新为修改后的连接信息; 当所述第一终端和所述第二终端之间的会话结束后, 清除本次会话过程中 保存的恢复候选者;设定清除周期和保活时长, 对保存的恢复候选者进行周期性清除, 根据恢 复候选者的生成时间清除生成时长超过保活时长的恢复候选者;在使用恢复候选者对连接进行恢复后, 更新所述恢复候选者的生成时间。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/078478 WO2014205827A1 (zh) | 2013-06-29 | 2013-06-29 | 一种连接恢复的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104662859A true CN104662859A (zh) | 2015-05-27 |
CN104662859B CN104662859B (zh) | 2017-12-05 |
Family
ID=52140897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380001316.6A Active CN104662859B (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) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516429A (zh) * | 2015-12-07 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种终端掉线处理方法及系统 |
CN108702694A (zh) * | 2016-01-22 | 2018-10-23 | 三星电子株式会社 | 用于网络连接的方法和电子装置 |
CN109905345A (zh) * | 2017-12-07 | 2019-06-18 | 华为技术有限公司 | 通信方法、通信装置和通信设备 |
CN112291442A (zh) * | 2020-10-29 | 2021-01-29 | 迈普通信技术股份有限公司 | 电话通话处理方法、装置、电子设备及存储介质 |
CN112464593A (zh) * | 2020-11-25 | 2021-03-09 | 海光信息技术股份有限公司 | Rom位映射关系生成方法、装置、处理器芯片及服务器 |
CN113114702A (zh) * | 2021-05-13 | 2021-07-13 | 上海井星信息科技有限公司 | 一种IOS端基于SIP协议交互的WebRTC通信方法和系统 |
Families Citing this family (6)
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 |
CN111787038B (zh) * | 2019-04-04 | 2022-05-17 | 华为云计算技术有限公司 | 一种提供边缘服务的方法、系统及计算设备 |
JP6860176B2 (ja) * | 2019-07-02 | 2021-04-14 | Necプラットフォームズ株式会社 | 接続制御装置、接続制御方法及び接続制御プログラム |
CN111540458B (zh) * | 2020-04-02 | 2023-07-25 | 出门问问信息科技有限公司 | 一种信息处理方法和装置、电子设备和计算机存储介质 |
US20230018433A1 (en) * | 2021-07-13 | 2023-01-19 | Vmware, Inc. | Accessing corporate resources through an enrolled user device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5513345A (en) * | 1994-03-18 | 1996-04-30 | Fujitsu Limited | Searching system for determining alternative routes during failure in a network of links and nodes |
WO1998024244A2 (en) * | 1996-11-26 | 1998-06-04 | Mci Communications Corporation | Method and apparatus for identifying restoral routes in a network |
US20040103210A1 (en) * | 2002-11-22 | 2004-05-27 | Yasuki Fujii | Network management apparatus |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 | ネットワークの接続復旧方法及びシステム |
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 | 株式会社日立製作所 | 計算機システム及び論理パス切替方法 |
EP2071809A1 (en) | 2007-12-13 | 2009-06-17 | Alcatel Lucent | Method of establishing a connection in a peer-to-peer network with network address translation (NAT) |
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 |
-
2013
- 2013-06-29 CN CN201380001316.6A patent/CN104662859B/zh active Active
- 2013-06-29 WO PCT/CN2013/078478 patent/WO2014205827A1/zh active Application Filing
- 2013-06-29 EP EP13887638.8A patent/EP2993854B1/en active Active
-
2015
- 2015-12-22 US US14/978,947 patent/US9893931B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5513345A (en) * | 1994-03-18 | 1996-04-30 | Fujitsu Limited | Searching system for determining alternative routes during failure in a network of links and nodes |
WO1998024244A2 (en) * | 1996-11-26 | 1998-06-04 | Mci Communications Corporation | Method and apparatus for identifying restoral routes in a network |
US20040103210A1 (en) * | 2002-11-22 | 2004-05-27 | Yasuki Fujii | Network management apparatus |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516429A (zh) * | 2015-12-07 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种终端掉线处理方法及系统 |
CN105516429B (zh) * | 2015-12-07 | 2019-12-17 | 腾讯科技(深圳)有限公司 | 一种终端掉线处理方法及系统 |
CN108702694A (zh) * | 2016-01-22 | 2018-10-23 | 三星电子株式会社 | 用于网络连接的方法和电子装置 |
US11219081B2 (en) | 2016-01-22 | 2022-01-04 | Samsung Electronics Co., Ltd. | Method and electronic device for network connection |
CN109905345A (zh) * | 2017-12-07 | 2019-06-18 | 华为技术有限公司 | 通信方法、通信装置和通信设备 |
CN109905345B (zh) * | 2017-12-07 | 2021-02-09 | 华为技术有限公司 | 通信方法、通信装置和通信设备 |
CN112291442A (zh) * | 2020-10-29 | 2021-01-29 | 迈普通信技术股份有限公司 | 电话通话处理方法、装置、电子设备及存储介质 |
CN112291442B (zh) * | 2020-10-29 | 2021-10-08 | 迈普通信技术股份有限公司 | 电话通话处理方法、装置、电子设备及存储介质 |
CN112464593A (zh) * | 2020-11-25 | 2021-03-09 | 海光信息技术股份有限公司 | Rom位映射关系生成方法、装置、处理器芯片及服务器 |
CN112464593B (zh) * | 2020-11-25 | 2022-09-02 | 海光信息技术股份有限公司 | Rom位映射关系生成方法、装置、处理器芯片及服务器 |
CN113114702A (zh) * | 2021-05-13 | 2021-07-13 | 上海井星信息科技有限公司 | 一种IOS端基于SIP协议交互的WebRTC通信方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2014205827A1 (zh) | 2014-12-31 |
EP2993854A1 (en) | 2016-03-09 |
US9893931B2 (en) | 2018-02-13 |
EP2993854A4 (en) | 2016-06-29 |
US20160112250A1 (en) | 2016-04-21 |
CN104662859B (zh) | 2017-12-05 |
EP2993854B1 (en) | 2019-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104662859A (zh) | 一种连接恢复的方法、装置及系统 | |
CN103067534B (zh) | 一种NAT实现系统、方法及Openflow交换机 | |
CN104618243B (zh) | 路由方法、装置及系统、网关调度方法及装置 | |
CN101841484B (zh) | 一种在结构化p2p网络中实现nat穿越的方法和系统 | |
CN107682470B (zh) | 一种检测nat地址池中公网ip可用性的方法及装置 | |
JP4971312B2 (ja) | Sctp基盤のハンドオーバ機能を具備した端末装置及びハンドオーバ方法 | |
CN102413044B (zh) | 一种DHCP Snooping绑定表生成的方法、装置、设备及系统 | |
CN103269278A (zh) | 一种基于sdn的终端设备实时接入、离开感知方法 | |
CN110839046B (zh) | 多协议的互通方法和系统 | |
RU2571729C2 (ru) | Способ защиты интерфейса ethernet и устройство сетевой стороны | |
CN104506567A (zh) | 一种物联网网关与服务端的数据交换方法 | |
CN105009529A (zh) | 一种处理报文的方法和转发器 | |
CN111030999B (zh) | 一种基于网络数据包提取文件的方法 | |
CN107979619B (zh) | 一种twamp会话协商方法、客户端及服务端 | |
CN106656659A (zh) | 一种网络路径的选择方法以及网络硬盘录像机 | |
JP2022525205A (ja) | 異常ホストのモニタニング | |
JP2016092485A (ja) | 情報処理システム、管理装置及び情報処理システムの制御方法 | |
CN104301221A (zh) | 一种路由消息的方法及装置 | |
CN108293075B (zh) | 共享终端检测方法以及为此的设备 | |
CN103107991B (zh) | 一种多nvt事件处理方法、nvc及安防监控平台 | |
CN108924237A (zh) | 一种信息传输方法、服务器、系统及计算机存储介质 | |
CN102904776B (zh) | 一种虚拟局域网中的探测方法、装置和设备 | |
CN103051499B (zh) | 一种检测报文的方法和装置 | |
JP5278358B2 (ja) | ネットワ−ク接続装置 | |
CN105025028A (zh) | 基于流量分析的ip黑洞发现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |