一种链路建立方法及设备 【技术领域】
本发明涉及网络通讯技术领域, 尤其涉及一种链路建立方法及设备。背景技术 当前是互联网的时代, 无论是商业运作还是个人之间的交流与娱乐都越来越多地 通过跨广域网的方式实现。如图 1 所示, 公司分支机构 11 与服务器 13 之间进行数据同步、 文件下载、 邮件的收发等等都需要通过跨广域网的方式实现。为了提高用户获取数据的速 度, 往往会在用户所在的网络侧设置一台或多台缓存设备 12, 特别的, 当在广域网加速系统 中, 会跨广域网部署多台缓存设备 12, 该缓存设备 12 中存储服务器 13 中的部分或全部数 据, 当缓存设备 12 存储用户 11 所需的数据时, 不需从服务器 13 中获取数据, 而是直接从该 缓存设备 12 中获取所需设备即可, 这样可以节约用户获取数据的时间。
在获取数据之前需要建立用户 11 与缓存设备 12、 缓存设备 12 与服务器 13 之间的 TCP 链路 ; 在链路建立成功后用户 11 可向缓存设备 12 中获取所需数据, 当缓存设备 12 未
存有用户 11 所需数据时, 该缓存设备 12 向服务器 13 获取数据, 然后将获取到的数据转发 给用户 11 ; 如图 2 所示, 用户 11 与缓存设备 12、 缓存设备 12 与服务器 13 之间的 TCP 链路 的建立过程如下 :
用户 11 向缓存设备 12 发送第一报文请求, 当缓存设备 12 接收到第一报文请求 后, 对该第一报文请求进行优化生成第二报文请求, 向服务器 13 发送第二报文请求 ; 当服 务器 13 接收到第二报文请求后, 向缓存设备 12 发送响应第二报文请求的第二应答 ; 当缓存 设备 12 接收到第二应答后, 向用户 11 发送第一应答, 同时向服务器 13 发送第二确认信息 ; 当用户 11 接收到第一应答时, 向缓存设备 12 发送第一确认信息, 至此, 用户 11 与缓存设备 12、 缓存设备 12 与服务器 13 之间的 TCP 链路建立完成。在链路建立完成之后, 用户 11 才 能向缓存设备 12 或服务器 13 获取所需数据 ;
如图 3 所示, 当在广域网中, 当服务器 13 与用户 11 之间存在多个缓存设备时, 此 处以两个缓存设备第一缓存设备 31 和第二缓存设备 32 为例, TCP 链路的建立过程如下 :
用户 11 向第一缓存设备 31 发送第一报文请求 ; 第一缓存设备 31 在接收到第一 报文请求后, 对其进行优化生成第二报文请求, 并将第二报文请求发送给第二缓存设备 32 ; 第二缓存设备 32 对第二报文请求进行优化生成第三报文请求, 并将第三报文请求发送给 服务器 13 ; 服务器 13 在接收到第三报文请求后生成响应该第三报文请求的第三应答, 并发 送给第二缓存设备 32 ; 第二缓存设备 32 接收到第三应答后向第一缓存设备 31 发送第二应 答, 同时向服务器 13 发送第三确认信息 ; 第一缓存设备 31 接收到第二应答后, 向用户 11 发 送第一应答, 同时向第二缓存设备 32 发送第二确认信息 ; 当用户 11 接收到第一应答后, 向 第一缓存设备 31 发送第一确认信息, 至此, 用户 11 到服务器 13 之间的 TCP 链路全部建立 完毕。
但本发明人发现现有技术存在如下问题 :
现有技术中, 无论在用户和服务器之间存在一个缓存设备还是多个缓存设备, 当用户希望获取的数据已经存储在缓存设备中时, 用户都必须等待用户到服务器之间的链路 全部建立完毕后, 才能从缓存设备中获取到所需数据 ; 尤其当用户与服务器之间存在多个 缓存服务器时, 该链路的建立将会浪费更多的时间, 因此而延缓用户获取数据的时间。 特别 的, 当在广域网加速系统中, 由于会跨广域网部署的多台缓存设备, 则用户获取数据时将会 等待更多的时间。 发明内容 本发明实施例提供一种链路建立方法及设备, 用于减少用户获取数据的时间。
一种链路建立方法, 所述方法包括 :
缓存设备接收到发送设备发来的第一链路建立请求后, 向所述发送设备发送第一 建立应答消息 ;
当所述缓存设备接收到所述发送设备发来的、 响应所述第一建立应答消息的第一 确认信息后, 建立所述缓存设备与所述发送设备之间的链路。
如上述链路建立的方法中, 在缓存设备接收到发送设备发来的第一链路建立请求 时, 向另一缓存设备发送第二链路建立请求 ;
当所述缓存设备接收到所述另一缓存设备发送的、 响应所述第二链路建立请求的 第二建立应答消息后, 向所述另一缓存设备发送第二确认信息, 建立所述缓存设备与所述 另一缓存设备之间的链路。
一种缓存设备, 所述设备包括 :
接收单元, 用于接收发送设备发来的第一链路建立请求 ; 接收所述发送设备发来 的、 响应所述第一建立应答消息的第一确认信息 ;
发送单元, 用于向所述发送设备发送第一建立应答消息 ;
建立单元, 用于在所述接收单元接收到所述发送设备发来的所述第一确认信息 后, 建立所述缓存设备与所述发送设备之间的链路。
可见, 本发明实施例提供的方法, 当接收到的第一链路建立请求时, 缓存设备立即 向发送该第一链路建立请求的一方发送第一建立应答消息, 当发送该第一链路建立请求的 一方接收到第一建立应答消息后向缓存设备发送确认信息, 至此, 缓存设备与发送该第一 链路建立请求的一方之间的链路建立完成, 如果发送该第一链路建立请求的一方为客户 端, 则用户可从缓存设备中获取所需数据, 可见, 该方法可大大缩减建立用户与缓存设备之 间链路的时间, 因此, 可大大减少用户获取数据的时间 ;
较佳的, 当缓存设备接收到第一链路建立请求时, 向远端缓存设备发送链路建立 请求, 即在缓存设备与发送设备建立链路的同时, 实现缓存设备与远端缓存设备之间链路 的建立 ; 因此, 本发明提供的方法是以并行的方式实现链路的创建, 即发送设备与缓存设 备、 缓存设备与远端缓存设备或服务器之间的链路同时创建 ; 该方法, 在用户所需数据并未 存储在缓存中时, 用户可通过现有方法从远端服务器或缓存设备中获取所需数据, 并且获 取数据的时间也不会大于现有技术所需时间。
附图说明
图 1 为现有技术中广域网的布局结构示意图 ;图 2 为现有技术中在广域网中建立链路的方法流程示意图 ; 图 3 为现有技术中在广域网中建立链路的方法流程示意图 ; 图 4 为本发明实施例提供的链路建立方法流程示意图 ; 图 5 为本发明实施例一提供的第一种链路建立方法流程示意图 ; 图 6 为本发明实施例二提供的第二种链路建立方法流程示意图 ; 图 7 为本发明实施例提供的缓存设备结构示意图。具体实施方式
本发明实施例提供一种链路建立方法及设备, 当接收到的第一链路建立请求时, 缓存设备立即向发送该第一链路建立请求的一方发送第一建立应答消息, 当发送该第一链 路建立请求的一方接收到第一建立应答消息后向缓存设备发送确认信息, 至此, 缓存设备 与发送该第一链路建立请求的一方之间的链路建立完成, 如果发送该第一链路建立请求的 一方为客户端, 则用户可从缓存设备中获取所需数据, 可见, 该方法可大大缩减建立用户与 缓存设备之间链路的时间, 因此, 可大大减少用户获取数据的时间。如图 4 所示, 具体步骤 如下 : 步骤 41, 缓存设备接收到发送设备发来的第一链路建立请求后, 向所述发送设备 发送第一建立应答消息 ;
步骤 42, 当所述缓存设备接收到所述发送设备发来的、 响应所述第一建立应答消 息的第一确认信息后, 建立所述缓存设备与所述发送设备之间的链路。
具体的, 当发送设备与服务器之间存在多个缓存设备时, 只需处于发送设备一侧 的缓存设备对接收到的报文请求立即响应即可, 其余的缓存设备可按现有技术完成链路创 建, 因此, 在在缓存设备接收到发送设备发来的第一链路建立请求后、 且在向所述发送设备 发送第一建立应答消息之前, 进一步包括 :
判断所述第一链路建立请求中是否携带优化信息 ;
具体的, 在确定所述第一链路建立请求中携带优化信息后、 且在向所述发送设备 发送第一建立应答消息之前, 进一步包括 :
从所述第一链路建立请求中解析出应用标识 ; 判断所述应用标识所对应的应用程 序是否可进行缓存优化操作 ; 此时, 向所述发送设备发送第一建立应答消息包括 :
在确定可进行缓存优化操作时, 向所述发送设备发送第一建立应答消息。
具体的, 该方法还包括 :
向所述发送设备发送第一建立应答消息, 同时向另一缓存设备或服务器发送第二 链路建立请求 ; 当所述缓存服务器接收到所述另一缓存设备或服务器发送的, 对所述第二 链路建立请求响应的第二建立应答消息后, 向所述另一缓存设备或服务器发送第二确认信 息, 建立所述缓存设备与所述另一缓存设备或服务器之间的链路。 以下以具体实施例说明。
实施例一 :
本发明实施例一提供第一种链路建立方法, 该方法适用于发送设备与服务器之间 只存在一个缓存设备的情况下, 图 5 为该方法的信息发送流程示意图, 具体过程如下 :
步骤 A, 缓存设备接收发送设备发来的第一链路建立请求 ; 发送设备可以为客户 端; 第一链路建立请求用于请求建立发送设备与缓存设备之间的链路 ;
步骤 B, 缓存设备在接收到第一链路建立请求后, 向所述发送设备发送第一建立应 答消息 ; 同时向服务器发送第二链路建立请求 ; 该第二链路建立请求用于请求建立缓存设 备与服务器之间的链路 ;
当发送设备, 即客户端接收到第一建立应答消息后, 向缓存设备发送响应第一建 立应答消息的第一确认信息 ;
当服务器接收到第二链路建立请求后, 向缓存设备发送响应第二链路建立请求的 第二建立应答消息 ;
步骤 C, 当缓存设备接收到第一确认信息后, 建立所述缓存设备与所述发送设备之 间的链路 ;
当缓存设备接收到第二建立应答消息后, 向服务器发送响应第二建立应答消息的 第二确认信息, 建立缓存设备与服务器之间的链路 ;
实施例二 :
如图 6 所示, 本发明实施例二提供第二种链路建立方法, 该方法适用于发送设备 与服务器之间存在多个缓存设备的情况, 为了方便介绍, 本实施例以存在两个缓存设备, 第 一缓存设备和第二缓存设备为例, 其中第一缓存设备临近客户端, 过程如下 : 第一缓存设备接收发送设备发来的第一链路建立请求 ; 发送设备可以为客户端 ; 第一链路建立请求用于请求建立发送设备与第一缓存设备之间的链路 ;
第一缓存设备判断所述第一链路建立请求中是否携带优化信息, 在确定未携带 时, 第一缓存设备向所述发送设备发送第一建立应答消息 ; 具体判断方法可按照现有技术 实现 ; 如果未携带, 则说明第一链路建立请求来自客户端, 因为, 经过缓存设备下发的请求 都是经过优化的, 即必定带有优化信息 ;
如果确定携带时, 则说明该第一链路建立请求是来自第二缓存设备或服务器, 可 按照现有技术实现第一缓存设备和第二缓存设备或服务器之间的链路建立 ;
较佳的, 在进行判断的同时, 或者在接收到第一链路建立请求之后、 且在进行判断 之前, 第一缓存设备对第一链路建立请求进行优化, 生成第二链路建立请求, 并向第二缓存 设备发送第二链路建立请求 ; 该第二链路建立请求用于请求建立第一缓存设备与第二缓存 设备之间的链路 ;
当发送设备, 即客户端接收到第一建立应答消息后, 向缓存设备发送第一确认信 息, 实现发送设备与第一缓存设备之间的链路建立 ;
当第二缓存设备接收到第二链路建立请求时, 对第二链路建立请求进行优化, 生 成第三链路建立请求, 并向服务器发送第三链路建立请求 ; 当服务器接收到第三链路建立 请求后, 向第二缓存设备发送第三建立应答消息, 完成第二缓存设备与服务器之间的链路 建立 ; 第二缓存设备接收到第三建立应答消息时向服务器发送第三确认信息, 建立第二缓 存设备与服务器之间的链路 ; 在第二缓存设备发送第三确认信息的同时, 向第一缓存设备 发送第二建立应答信息, 当第一缓存设备接收到第二建立应答消息后, 向第二缓存设备发 送第二确认信息, 至此完成客户端到服务器之间的全部链路的建立 ;
较佳的, 发送设备与服务器之间的每一个缓存设备都可以设置为在接收到链路建 立请求, 立即响应该链路建立请求, 并同时向另一缓存设备或服务器发送链路建立请求 ;
较佳的, 为了更好的实现发送设备与缓存设备、 缓存设备与远端缓存设备或服务
器之间的链路建立, 本发明提供的方法更佳适用于类似广域网中加速系统的应用 ;
较佳的, 当确定解析出的应用标识所对应的应用程序并不适用于进行优化缓存操 作时, 可按照现有技术进行处理。
如图 7 所示, 本发明实施例提供一种缓存设备, 所述设备包括 :
接收单元 71, 用于接收发送设备发来的第一链路建立请求 ; 接收所述发送设备发 来的、 响应所述第一建立应答消息的第一确认信息 ;
发送单元 73, 用于向所述发送设备发送第一建立应答消息 ;
建立单元 74, 用于在所述接收单元 71 接收到所述发送设备发来的所述第一确认 信息后, 建立所述缓存设备与所述发送设备之间的链路。
所述设备还包括 :
判断单元 72, 用于判断所述第一链路建立请求中是否携带优化信息 ;
所述发送单元 73 还用于, 在所述判断单元 72 确定所述第一链路建立请求中未携 带优化信息时, 向所述发送设备发送第一建立应答消息。
所述设备还包括 :
解析单元 75, 用于从所述第一链路建立请求中解析出应用标识 ; 所述判断单元 72 还用于, 判断所述应用标识所对应的应用程序是否可进行缓存 优化操作 ;
所述发送单元 73 具体用于, 在确定可进行缓存优化操作时, 向所述发送设备发送 第一建立应答消息。
所述发送单元 73 还用于 : 在所述接收单元接收发送设备发来的第一链路建立请 求时, 向另一缓存设备或服务器发送第二链路建立请求 ;
所述接收单元 71 还用于, 接收所述另一缓存设备或服务器发送、 响应所述第二链 路建立请求的第二建立应答消息 ;
所述发送单元 73 还用于, 在所述接收单元 71 接收到所述第二建立应答消息后, 向 所述另一缓存设备或服务器发送第二确认信息 ;
所述建立单元 74 还用于, 建立所述缓存设备与所述另一缓存设备或服务器之间 的链路。
综上所述, 有益效果 :
可见, 本发明实施例提供的方法, 当接收到的第一链路建立请求时, 缓存设备立即 向发送该第一链路建立请求的一方发送第一建立应答消息, 当发送该第一链路建立请求的 一方接收到第一建立应答消息后向缓存设备发送确认信息, 至此, 缓存设备与发送该第一 链路建立请求的一方之间的链路建立完成, 如果发送该第一链路建立请求的一方为客户 端, 则用户可从缓存设备中获取所需数据, 可见, 该方法可大大缩减建立用户与缓存设备之 间链路的时间, 因此, 可大大减少用户获取数据的时间 ;
较佳的, 当缓存设备接收到第一链路建立请求时, 向远端缓存设备发送链路建立 请求, 即在缓存设备与发送设备建立链路的同时, 实现缓存设备与远端缓存设备之间链路 的建立 ; 因此, 本发明提供的方法是以并行的方式实现链路的创建, 即发送设备与缓存设 备、 缓存设备与远端缓存设备或服务器之间的链路同时创建 ; 该方法, 在用户所需数据并未 存储在缓存中时, 用户可通过现有方法从远端服务器或缓存设备中获取所需数据, 并且获
取数据的时间也不会大于现有技术所需时间。
本领域内的技术人员应明白, 本发明的实施例可提供为方法、 系统、 或计算机程序 产品。因此, 本发明可采用完全硬件实施例、 完全软件实施例、 或结合软件和硬件方面的实 施例的形式。而且, 本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质 ( 包括但不限于磁盘存储器、 CD-ROM、 光学存储器等 ) 上实施的计算机程序产 品的形式。
本发明是参照根据本发明实施例的方法、 设备 ( 系统 )、 和计算机程序产品的流程 图和 / 或方框图来描述的。应理解可由计算机程序指令实现流程图和 / 或方框图中的每一 流程和 / 或方框、 以及流程图和 / 或方框图中的流程和 / 或方框的结合。可提供这些计算 机程序指令到通用计算机、 专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理 器以产生一个机器, 使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和 / 或方框图一个方框或多个方框中指定的功能 的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中, 使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品, 该指令装置实现在流程图一个流程或多个流程和 / 或方框图一个方框或 多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理, 从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和 / 或方框图 一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例, 但本领域内的技术人员一旦得知了基本创造 性概念, 则可对这些实施例作出另外的变更和修改。 所以, 所附权利要求意欲解释为包括优 选实施例以及落入本发明范围的所有变更和修改。
显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样, 倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内, 则本发明也意图包含这些改动和变型在内。