Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD, DEVICE AND SYSTEM FOR REDIRECTING DATA SERVICE PROXY
Document Type and Number:
WIPO Patent Application WO/2015/061938
Kind Code:
A1
Abstract:
Disclosed is a method for redirecting a data service proxy, comprising: according to a data storage path carried in a received first data request message sent by a client, forwarding the first data request message to a data server; receiving a redirection response message sent by the data server, the redirection response message carrying a new path for storing requested data; according to the new path for storing the requested data, sending a second data request message to the data server indicated by the new path; and receiving data requested by the client, which is sent by the data server indicated by the new path, and sending the requested data to the client. In the method for redirecting a data service proxy provided in the embodiments of the present invention, a proxy server can act for a client to request data during a redirection process and send the acquired data to the client, thereby improving the efficiency for acquiring data, and thus reducing the time delay of a network.

Inventors:
XIA LINJIN (CN)
XIA YUAN (CN)
ZHOU JUNPING (CN)
Application Number:
PCT/CN2013/086050
Publication Date:
May 07, 2015
Filing Date:
October 28, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
H04L29/08
Foreign References:
CN1890942A2007-01-03
CN1421081A2003-05-28
CN101350833A2009-01-21
CN102143204A2011-08-03
Other References:
See also references of EP 3054650A4
Attorney, Agent or Firm:
SHENPAT INTELLECTUAL PROPERTY AGENCY (CN)
深圳市深佳知识产权代理事务所(普通合伙) (CN)
Download PDF:
Claims:
权 利 要 求

1、 一种重定向数据业务代理的方法, 其特征在于, 包括:

根据接收的用户端发送的第一数据请求消息中携带的数据存储路径,向数 据服务器转发所述第一数据请求消息,所述数据存储路径为所述用户端所请求 的数据的存储路径,所述第一数据请求消息用于向所述数据服务器请求所述用 户端所请求的数据;

接收所述数据服务器发送的重定向响应消息,所述重定向响应消息中携带 所述所请求的数据存储的新路径;

根据所述所请求的数据存储的新路径,向所述新路径所指示的数据服务器 发送第二数据请求消息,所述第二数据请求消息用于向所述新路径所指示的数 据服务器请求所述用户端所请求的数据;

接收所述新路径所指示的数据服务器发送的所述用户端所请求的数据,并 向所述用户端发送所述所请求的数据, 以使所述用户端获取所述所请求的数 据。

2、根据权利要求 1所述的方法, 其特征在于, 所述向所述新路径所指示的 数据服务器发送第二数据请求消息, 包括:

向所述新路径所指示的另一数据服务器发送第二数据请求消息; 对应的, 所述接收所述新路径对应的数据服务器发送的所述所请求的数 据, 包括:

接收所述另一数据服务器发送的所述所请求的数据。

3、根据权利要求 1所述的方法, 其特征在于, 所述向所述新路径对应的数 据服务器发送第二数据请求消息, 包括:

向所述新路径所指示的所述数据服务器发送第二数据请求消息; 对应的, 所述接收所述新路径对应的数据服务器发送的所述所请求的数 据, 包括:

接收所述数据服务器发送的所述所请求的数据,所述所请求的数据存储在 所述新路径所指示的文件路径下的。

4、 根据权利要求 1-3任一所述的方法, 其特征在于, 所述向数据服务器转 发所述第一数据请求消息的步骤之前, 所述方法还包括:

与所述用户端和所述数据服务器建立传输控制协议 TCP连接。

5、 根据权利要求 2或 4所述的方法, 其特征在于, 所述向所述新路径所 指示的另一数据服务器发送第二数据请求消息的步骤之前, 所述方法还包括: 与所述另一数据服务器建立 TCP连接。

6、 一种代理服务器, 其特征在于, 包括:

接收单元, 用于接收用户端发送的第一数据请求消息;

发送单元,用于根据所述接收单元接收的用户端发送的第一数据请求消息 中携带的数据存储路径, 向数据服务器转发所述第一数据请求消息, 所述数据 存储路径为所述用户端所请求的数据的存储路径,所述第一数据请求消息用于 向所述数据服务器请求所述用户端所请求的数据;

所述接收单元,还用于接收所述数据服务器发送的重定向响应消息, 所述 重定向响应消息中携带所述所请求的数据存储的新路径;

生成单元, 用于根据所述接收单元接收的所述重定向响应消息, 生成第二 数据请求消息;

所述发送单元,还用于根据所述所请求的数据存储的新路径, 向所述新路 径所指示的数据服务器发送所述生成单元生成的所述第二数据请求消息,所述 第二数据请求消息用于向所述新路径所指示的数据服务器请求所述用户端所 请求的数据;

所述接收单元,还用于接收所述新路径所指示的数据服务器发送的所述用 户端所请求的数据;

所述发送单元,还用于向所述用户端发送所述所请求的数据, 以使所述用 户端获取所述所请求的数据。

7、 根据权利要求 6所述的代理服务器, 其特征在于,

所述发送单元,用于向所述新路径所指示的另一数据服务器发送第二数据 请求消息;

所述接收单元, 用于接收所述另一数据服务器发送的所述所请求的数据。

8、 根据权利要求 6所述的代理服务器, 其特征在于, 所述发送单元,用于向所述新路径所指示的所述数据服务器发送第二数据 请求消息;

所述接收单元, 用于接收所述数据服务器发送的所述所请求的数据, 所述 所请求的数据存储在所述新路径所指示的文件路径下的。

9、 根据权利要求 6-8任一所述的代理服务器, 其特征在于, 所述代理服 务器还包括:

第一连接建立单元,用于在所述发送单元向数据服务器转发所述第一数据 请求消息之前, 与所述用户端和所述数据服务器建立传输控制协议 TCP连接。

10、 根据权利要求 7或 9所述的代理服务器, 其特征在于, 所述代理服务 器还包括:

第二连接建立单元,用于在所述发送单元向所述新路径所指示的另一数据 服务器发送第二数据请求消息之前, 与所述另一数据服务器建立 TCP连接。

11、 一种代理服务器, 其特征在于, 包括: 输入设备、 输出设备、 处理器 和存储器,

其中, 所述输入设备, 用于接收用户端发送的第一数据请求消息; 所述输出设备, 用于转发用户端发送给数据服务器的第一数据请求消息; 所述输入设备,用于根据接收的用户端发送的第一数据请求消息中携带的 数据存储路径, 向数据服务器转发所述第一数据请求消息, 所述数据存储路径 为所述用户端所请求的数据的存储路径,所述第一数据请求消息用于向所述数 据服务器请求所述用户端所请求的数据;

所述输出设备,还用于接收所述数据服务器发送的重定向响应消息, 所述 重定向响应消息中携带所述所请求的数据存储的新路径;

所述处理器, 用于根据所述重定向响应消息, 生成第二数据请求消息; 所述输出设备,还用于根据所述所请求的数据存储的新路径, 向所述新路 径所指示的数据服务器发送第二数据请求消息,所述第二数据请求消息用于向 所述新路径所指示的数据服务器请求所述用户端所请求的数据;

所述输入设备,还用于接收所述新路径所指示的数据服务器发送的所述用 户端所请求的数据; 所述输出设备,还用于向所述用户端发送所述所请求的数据, 以使所述用 户端获取所述所请求的数据。

12、 根据权利要求 11所述的代理服务器, 其特征在于,

所述输出设备,用于向所述新路径所指示的另一数据服务器发送第二数据 请求消息;

所述输入设备, 用于接收所述另一数据服务器发送的所述所请求的数据。

13、 根据权利要求 11所述的代理服务器, 其特征在于,

所述输出设备,用于向所述新路径所指示的所述数据服务器发送第二数据 请求消息;

所述输入设备, 用于接收所述数据服务器发送的所述所请求的数据, 所述 所请求的数据存储在所述新路径所指示的文件路径下的。

14、 根据权利要求 11-13任一所述的代理服务器, 其特征在于,

所述处理器,还用于向数据服务器转发所述第一数据请求消息之前, 与所 述用户端和所述数据服务器建立传输控制协议 TCP连接。

15、 根据权利要求 12或 14所述的代理服务器, 其特征在于,

所述处理器,还用于向数据服务器转发所述第一数据请求消息之前, 与所 述用户端和所述数据服务器建立传输控制协议 TCP连接。

16、 一种数据获取系统, 其特征在于, 包括: 用户端、 代理服务器和数据 服务器;

所述用户端向代理服务器发送第一数据请求消息,所述第一数据请求消息 中携带的数据存储路径,所述数据存储路径为所述用户端所请求的数据的存储 路径;

所述数据服务器存储有用户端所请求的数据;

所述代理服务器为上述权利要求 6-10任一项所述的代理服务器。

Description:
一种重定向数据业务代理的方法、 设备及系统 技术领域

本发明涉及通信技术领域, 具体涉及一种重定向数据业务代理的方法、设 备及系统。

背景技术

在互联网中用户端通过统一资源定位符( Uniform Resource Locator, URL ) 作为地址来寻找服务器并获得所需的数据, 但目标服务器的网络互连协议 ( Internet Protocol, IP )地址并不是一成不变的, 服务器上存储的数据的路径 也会随着存储位置的改变而改变,当用户端想 要获取的数据的存储位置发生变 化,例如:不在原始服务器或者虽然在原始服 务器但不在原来存储的文件路径; 当用户端请求数据时,服务器会向终端发送一 个重定向响应消息,通过此重定 向响应消息告知用户端所请求的数据更新后的 存储路径,用户端再向这个新路 径重新发送数据请求, 以获得需要的数据。

在对现有技术的研究和实践过程中, 本发明的发明人发现, 当数据的存储 路径发生变化后, 用户端获得数据时, 增加了一次请求过程, 从而增加了网络 时延, 降低了用户的体验。

发明内容

本发明实施例提供一种重定向数据业务代理的 方法,可以在需要重定向的 场景中, 提高数据获取的效率, 从而降低了网络时延。 本发明实施例还提供了 相应的设备及系统。

本发明第一方面提供一种重定向数据业务代理 的方法, 包括:

根据接收的用户端发送的第一数据请求消息中 携带的数据存储路径,向数 据服务器转发所述第一数据请求消息,所述数 据存储路径为所述用户端所请求 的数据的存储路径,所述第一数据请求消息用 于向所述数据服务器请求所述用 户端所请求的数据;

接收所述数据服务器发送的重定向响应消息, 所述重定向响应消息中携带 所述所请求的数据存储的新路径; 根据所述所请求的数据存储的新路径,向所述 新路径所指示的数据服务器 发送第二数据请求消息,所述第二数据请求消 息用于向所述新路径所指示的数 据服务器请求所述用户端所请求的数据;

接收所述新路径所指示的数据服务器发送的所 述用户端所请求的数据,并 向所述用户端发送所述所请求的数据, 以使所述用户端获取所述所请求的数 据。

结合第一方面,在第一种可能的实现方式中, 所述向所述新路径所指示的 数据服务器发送第二数据请求消息, 包括:

向所述新路径所指示的另一数据服务器发送第 二数据请求消息; 对应的, 所述接收所述新路径对应的数据服务器发送的 所述所请求的数 据, 包括:

接收所述另一数据服务器发送的所述所请求的 数据。

结合第一方面,在第二种可能的实现方式中, 所述向所述新路径对应的数 据服务器发送第二数据请求消息, 包括:

向所述新路径所指示的所述数据服务器发送第 二数据请求消息; 对应的, 所述接收所述新路径对应的数据服务器发送的 所述所请求的数 据, 包括:

接收所述数据服务器发送的所述所请求的数据 ,所述所请求的数据存储在 所述新路径所指示的文件路径下的。

结合第一方面、第一方面第一种或第二种可能 的实现方式中,在第三种可 能的实现方式中, 所述向数据服务器转发所述第一数据请求消息 的步骤之前, 所述方法还包括:

与所述用户端和所述数据服务器建立传输控制 协议 TCP连接。

结合第一方面第一种或第三种可能的实现方式 ,在第四种可能的实现方式 中,所述向所述新路径所指示的另一数据服务 器发送第二数据请求消息的步骤 之前, 所述方法还包括:

与所述另一数据服务器建立 TCP连接。

本发明第二方面提供一种代理服务器, 包括: 接收单元, 用于接收用户端发送的第一数据请求消息;

发送单元,用于根据所述接收单元接收的用户 端发送的第一数据请求消息 中携带的数据存储路径, 向数据服务器转发所述第一数据请求消息, 所述数据 存储路径为所述用户端所请求的数据的存储路 径,所述第一数据请求消息用于 向所述数据服务器请求所述用户端所请求的数 据;

所述接收单元,还用于接收所述数据服务器发 送的重定向响应消息, 所述 重定向响应消息中携带所述所请求的数据存储 的新路径;

生成单元, 用于根据所述接收单元接收的所述重定向响应 消息, 生成第二 数据请求消息;

所述发送单元,还用于根据所述所请求的数据 存储的新路径, 向所述新路 径所指示的数据服务器发送所述生成单元生成 的所述第二数据请求消息,所述 第二数据请求消息用于向所述新路径所指示的 数据服务器请求所述用户端所 请求的数据;

所述接收单元,还用于接收所述新路径所指示 的数据服务器发送的所述用 户端所请求的数据;

所述发送单元,还用于向所述用户端发送所述 所请求的数据, 以使所述用 户端获取所述所请求的数据。

结合第二方面, 在第一种可能的实现方式中,

所述发送单元,用于向所述新路径所指示的另 一数据服务器发送第二数据 请求消息;

所述接收单元, 用于接收所述另一数据服务器发送的所述所请 求的数据。 结合第二方面, 在第二种可能的实现方式中,

所述发送单元,用于向所述新路径所指示的所 述数据服务器发送第二数据 请求消息;

所述接收单元, 用于接收所述数据服务器发送的所述所请求的 数据, 所述 所请求的数据存储在所述新路径所指示的文件 路径下的。

结合第二方面、第二方面第一种或第二种可能 的实现方式,在第三种可能 的实现方式中, 所述代理服务器还包括:

第一连接建立单元,用于在所述发送单元向数 据服务器转发所述第一数据 请求消息之前, 与所述用户端和所述数据服务器建立传输控制 协议 TCP连接。

结合第二方面第一种或第三种可能的实现方式 ,在第四种可能的实现方式 中,

所述代理服务器还包括:

第二连接建立单元,用于在所述发送单元向所 述新路径所指示的另一数据 服务器发送第二数据请求消息之前, 与所述另一数据服务器建立 TCP连接。

本发明第三方面提供一种代理服务器, 包括: 输入设备、 输出设备、 处理 器和存储器,

其中, 所述输入设备, 用于接收用户端发送的第一数据请求消息; 所述输出设备, 用于转发用户端发送给数据服务器的第一数据 请求消息; 所述输入设备,用于根据接收的用户端发送的 第一数据请求消息中携带的 数据存储路径, 向数据服务器转发所述第一数据请求消息, 所述数据存储路径 为所述用户端所请求的数据的存储路径,所述 第一数据请求消息用于向所述数 所述输出设备,还用于接收所述数据服务器发 送的重定向响应消息, 所述 重定向响应消息中携带所述所请求的数据存储 的新路径;

所述处理器, 用于根据所述重定向响应消息, 生成第二数据请求消息; 所述输出设备,还用于根据所述所请求的数据 存储的新路径, 向所述新路 径所指示的数据服务器发送第二数据请求消息 ,所述第二数据请求消息用于向 所述新路径所指示的数据服务器请求所述用户 端所请求的数据;

所述输入设备,还用于接收所述新路径所指示 的数据服务器发送的所述用 户端所请求的数据;

所述输出设备,还用于向所述用户端发送所述 所请求的数据, 以使所述用 户端获取所述所请求的数据。

结合第三方面, 在第一种可能的实现方式中,

所述输出设备,用于向所述新路径所指示的另 一数据服务器发送第二数据 请求消息;

所述输入设备, 用于接收所述另一数据服务器发送的所述所请 求的数据。 结合第三方面, 在第二种可能的实现方式中,

所述输出设备,用于向所述新路径所指示的所 述数据服务器发送第二数据 请求消息;

所述输入设备, 用于接收所述数据服务器发送的所述所请求的 数据, 所述 所请求的数据存储在所述新路径所指示的文件 路径下的。

结合第三方面、 第三方面第一种或第二种, 在第三种可能的实现方式中, 所述处理器,还用于向数据服务器转发所述第 一数据请求消息之前, 与所 述用户端和所述数据服务器建立传输控制协议 TCP连接。

结合第三方面第一种或第三种, 在第四种可能的实现方式中,

所述处理器,还用于向数据服务器转发所述第 一数据请求消息之前, 与所 述用户端和所述数据服务器建立传输控制协议 TCP连接。

本发明第四方面提供一种数据获取系统, 包括: 用户端、 代理服务器和数 据服务器;

所述用户端向代理服务器发送第一数据请求消 息,所述第一数据请求消息 中携带的数据存储路径,所述数据存储路径为 所述用户端所请求的数据的存储 路径;

所述数据服务器存储有用户端所请求的数据;

所述代理服务器为上述技术方案所述的代理服 务器。

本发明实施例采用根据接收的用户端发送的第 一数据请求消息中携带的 数据存储路径, 向数据服务器转发所述第一数据请求消息, 所述数据存储路径 为所述用户端所请求的数据的存储路径,所述 第一数据请求消息用于向所述数 据服务器请求所述用户端所请求的数据;接收 所述数据服务器发送的重定向响 应消息, 所述重定向响应消息中携带所述所请求的数据 存储的新路径; 根据所 述所请求的数据存储的新路径,向所述新路径 所指示的数据服务器发送第二数 据请求消息,所述第二数据请求消息用于向所 述新路径所指示的数据服务器请 求所述用户端所请求的数据;接收所述新路径 所指示的数据服务器发送的所述 用户端所请求的数据, 并向所述用户端发送所述所请求的数据, 以使所述用户 端获取所述所请求的数据。与现有技术中在重 定向场景中用户端需要再次向数 据服务器发送一次请求过程相比,本发明实施 例提供的重定向数据业务代理的 方法, 可以由代理服务器在重定向过程中代理用户端 请求数据, 并将获取到的 数据发送给用户端, 从而提高数据获取的效率, 从而降低了网络时延。

附图说明

为了更清楚地说明本发明实施例中的技术方案 ,下面将对实施例描述中所 需要使用的附图作筒单地介绍,显而易见地, 下面描述中的附图仅仅是本发明 的一些实施例, 对于本领域技术人员来讲, 在不付出创造性劳动的前提下, 还 可以根据这些附图获得其他的附图。

图 1是本发明实施例中重定向数据业务代理的方 的一实施例示意图; 图 2是本发明实施例中重定向数据业务代理的方 的另一实施例示意图; 图 3是本发明实施例中重定向数据业务代理的方 的另一实施例示意图; 图 4是本发明实施例中重定向数据业务代理的方 的另一实施例示意图; 图 5是本发明实施例中重定向数据业务代理的方 的另一实施例示意图; 图 6是本发明实施例中代理服务器的一实施例示 图;

图 7是本发明实施例中代理服务器的另一实施例 意图;

图 8是本发明实施例中代理服务器的另一实施例 意图;

图 9是本发明实施例中代理服务器的另一实施例 意图;

图 10是本发明实施例中数据获取系统的一实施例 意图。

具体实施方式

本发明实施例提供一种重定向数据业务代理的 方法,可以在需要重定向的 场景中, 提高数据获取的效率, 从而降低了网络时延。 本发明实施例还提供了 相应的设备及系统。 以下分別进行详细说明。

下面将结合本发明实施例中的附图,对本发明 实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域技术人员在没有作出创造性劳 动前提下所获得的所有其他实施例, 都属于本发明保护的范围。 参阅图 1 , 本发明实施例提供的重定向数据业务代理的方 法的一实施例包 括:

101、根据接收的用户端发送的第一数据请求消 息中携带的数据存储路径, 向数据服务器转发所述第一数据请求消息,所 述数据存储路径为所述用户端所 请求的数据的存储路径,所述第一数据请求消 息用于向所述数据服务器请求所 述用户端所请求的数据。

当用户端与数据服务器间的通信需要由代理服 务器来辅助完成时,用户端 向数据服务器请求数据时,需要在数据请求消 息中携带所请求的数据的存储路 径, 这样, 代理服务器就可以根据该存储路径, 找到对应的数据服务器, 将该 数据请求消息发送给该数据服务器。

102、 接收所述数据服务器发送的重定向响应消息, 所述重定向响应消息 中携带所述所请求的数据存储的新路径。

本发明实施例中, 当用户端所请求的数据的存储位置发生变动, 例如: 不 在原来的服务器, 或者在原来的服务器, 但不存储在原来的文件夹下时, 数据 服务器都会向代理服务器发送重定向响应消息 ,以通知用户端所请求的数据当 前存存储的新路径。

103、 根据所述所请求的数据存储的新路径, 向所述新路径所指示的数据 服务器发送第二数据请求消息,所述第二数据 请求消息用于向所述新路径所指 示的数据服务器请求所述用户端所请求的数据 。

代理服务器直接根据所请求的数据存储的新路 径,向该新路径所指示的服 务器发送数据请求消息。

104、 接收所述新路径所指示的数据服务器发送的所 述用户端所请求的数 据, 并向所述用户端发送所述所请求的数据, 以使所述用户端获取所述所请求 的数据。

新路径所指示的代理服务器接收到数据请求消 息后,会将所请求的数据发 送给代理服务器,代理服务器接收到所述用户 端所请求的数据后, 就会将该用 户端所请求的数据发送给用户端。

本发明实施例采用根据接收的用户端发送的第 一数据请求消息中携带的 数据存储路径, 向数据服务器转发所述第一数据请求消息, 所述数据存储路径 为所述用户端所请求的数据的存储路径,所述 第一数据请求消息用于向所述数 据服务器请求所述用户端所请求的数据;接收 所述数据服务器发送的重定向响 应消息, 所述重定向响应消息中携带所述所请求的数据 存储的新路径; 根据所 述所请求的数据存储的新路径,向所述新路径 所指示的数据服务器发送第二数 据请求消息,所述第二数据请求消息用于向所 述新路径所指示的数据服务器请 求所述用户端所请求的数据;接收所述新路径 所指示的数据服务器发送的所述 所请求的数据, 并向所述用户端发送所述用户端所请求的数据 , 以使所述用户 端获取所述所请求的数据。与现有技术中在重 定向场景中用户端需要再次向数 据服务器发送一次请求过程相比,本发明实施 例提供的重定向数据业务代理的 方法, 可以由代理服务器在重定向过程中代理用户端 请求数据, 并将获取到的 数据发送给用户端, 从而提高数据获取的效率, 从而降低了网络时延。

可选地, 在上述图 1对应的实施例的基础上, 本发明实施例提供的重定向 数据业务代理的方法的一可选实施例中,所述 向所述新路径所指示的数据服务 器发送第二数据请求消息, 可以包括:

向所述新路径所指示的另一数据服务器发送第 二数据请求消息;

对应的, 所述接收所述新路径对应的数据服务器发送的 所述所请求的数 据, 可以包括:

接收所述另一数据服务器发送的所述所请求的 数据。

本发明实施例中, 当数据存储的位置不在原来的服务器时,新路 径会指示 存储数据的新数据服务器, 这样,代理服务器就会向新路径所指示的新数 据服 务器发送第二数据请求消息, 然后从该新数据服务器上接收所述所请求的数 据。

例如: 原来存储用户端所请求的数据的数据服务器域 名为 www.abc.com, 数据存储位置变动后,该数据目前存储在域名 为 www.def.com的数据服务器上 , 那么代理服务器根据重定向响应消息中携带的 所请求的数据存储的新路径,得 知所述所请求的数据存储在域名为 www.def.com的数据服务器后, 就会向 www.def.com的数据服务器发送第二数据请求消息 , 然后, 接收来自域名为 www.def.com的数据服务器发送的所述所请求的数 。

可选地, 在上述图 1对应的实施例的基础上, 本发明实施例提供的重定向 数据业务代理的方法的另一可选实施例中,所 述向所述新路径所指示的数据服 务器发送第二数据请求消息, 可以包括:

向所述新路径所指示的所述数据服务器发送第 二数据请求消息;

对应的, 所述接收所述新路径对应的数据服务器发送的 所述所请求的数 据, 可以包括:

接收所述数据服务器发送的所述所请求的数据 ,所述所请求的数据存储在 所述新路径所指示的文件路径下的。

本发明实施例中, 当所述所请求的数据还在原来的数据服务器上 ,但不存 储在原来的文件路径下,例如:由原来命名为 /123的文件路径变动到命名为 /456 的文件路径下,那么代理服务器根据重定向响 应消息中携带的所述所请求的数 据存储的新路径, 获知数据在命名为 /456的文件路径下, 就会再次向该数据服 务器发送第二数据请求消息,请求命名为 /456的文件路径下的所述所请求的数 据。

可选地,在上述任一实施例的基石出上, 本发明实施例提供的重定向数据业 务代理的方法的另一可选实施例中,所述向数 据服务器转发所述第一数据请求 消息的步骤之前, 所述方法还可以包括:

与所述用户端和所述数据服务器建立传输控制 协议( Transmission Control Protocol , TCP )连接。

本发明实施例中, 代理服务器与用户端和所述数据服务器建立 TCP连接, 才能通过 TCP协议传输数据。

可选地,在上述任一实施例的基石出上, 本发明实施例提供的重定向数据业 务代理的方法的另一可选实施例中,所述向所 述新路径所指示的另一数据服务 器发送第二数据请求消息的步骤之前, 所述方法还可以包括:

与所述另一数据服务器建立 TCP连接。

本发明实施例中,当新路径指示所请求的数据 目前存储在另一数据服务器 上时, 代理服务器需要先与该另一数据服务器建 TCP连接, 以方便进行后数据 的数据通信。

为了便于理解, 下面以两个应用场景为例,说明本发明实施例 中重定向数 据业务代理的过程:

参阅图 2, 重定向到不同数据服务器的应用场景:

S100、 代理服务器与用户端和第一数据服务器建立第 一 TCP连接。

用户端 Client发起与第一数据服务器 server 1的 TCP建链, 代理服务器 PROXY分別与 client和 serverl建立 TCP连接。

S105-S110, 用户端向代理服务器发送第一数据请求消息, 代理服务器向 第一数据服务器转发所述第一数据请求消息。

第一数据请求消息用于向第一数据服务器请求 用户端所请求的数据。 用户端发送的第一数据请求消息中携带用户端 所请求的数据的存储路径, 代理服务器根据该存储路径转发所述第一数据 请求消息。

例如:用户端 Client向第一数据服务器 serverl发起到 www.abc.com的 HTTP 请求, 代理服务器根据 www .abc.com, 向 serverl转发第一数据请求消息。

S115、第一数据服务器向代理服务器发送重定 响应消息,所述重定向响 应消息中携带所述所请求的数据存储的新路径 。

第一数据服务器确定第一数据请求消息中所请 求的数据已经不存储在本 数据服务器后, 查找到所述所请求的数据目前存储的位置, 例如: 目前的存储 路径为 www.def.com , 则在所述重定向响应消息中携带 www.def.com。

第一数据服务器 serverl响应 30*(302/303/307),并在响应头域 location中注 明需要重定向的目的主机为 www.def.com。

S 120、 代理服务器与第二数据服务器建立第二 TCP连接。

代理服务器根据重定向响应消息中携带的新路 径,确定所述所请求的数据 目前存储在第二数据服务器, 则代理服务器 PROXY与第二数据服务器 server2 建链。

S 125、 代理服务器向第二数据服务器发送第二数据请 求消息。

第二数据请求消息用于向第二数据服务器请求 用户端所请求的数据。 第二数据请求消息中携带所请求的数据的信息 , 这样, 第二数据服务器就 会查找到所述所请求的数据。

S130、 第二数据服务器向代理服务器返回所述用户端 所请求的数据。

S140、 代理服务器向用户端返回用户端所请求的数据 。

S 145, 代理服务器释放第二 TCP连接。

代理服务器 PROXY接收来自第二数据服务器 server2的数据后, 拆除与

HTTP server2之间的 TCP连接, 以释放链路资源, 从而提高链路资源的利用效 率。

S150、 代理服务器释放第一 TCP连接。 serverl之间的 TCP连接, 以释放链路资源, 从而提高链路资源的利用效率。

本发明应用场景中描述了用户端所请求的数据 不存储在原来的第一数据 服务器的情况,这样,第一数据服务器就会向 代理服务器发送一个重定向响应, 以通知代理服务器用户端所请求的数据现在存 储的数据服务器的路径信息,也 就是第二数据服务器的路径信息,从而使代理 服务器可以向第二数据服务器请 求用户端所请求的数据。与现有技术中在重定 向场景中用户端需要再向数据服 务器发送一次请求过程相比, 本发明实施例提供的重定向数据业务代理的方 法, 可以由代理服务器在重定向过程中代理用户端 请求数据, 并将获取到的数 据发送给用户端, 从而提高数据获取的效率, 从而降低了网络时延。

参阅图 3, 重定向到相同数据服务器的应用场景:

S200、 代理服务器与用户端和数据服务器建立 TCP连接。

Client发起与 HTTP server 的 TCP建链, 代理服务器分別与 client和 server建 立 TCP连接。

S205-S210, 户端向代理服务器发送第一数据请求消息, 代理服务器向数 据服务器转发所述第一数据请求消息。

第一数据请求消息用于向代理服务器请求用户 端所请求的数据。

用户端发送的第一数据请求消息中携带用户端 所请求的数据的存储路径, 代理服务器根据该存储路径转发所述第一数据 请求消息。

例如: 用户端 Client向 HTTP server发起对 www.abc.com/123的 HTTP请求, 代理服务器根据 www.abc.com/123向 server转发第一数据请求消息。

S215、数据服务器向代理服务器发送重定向响 消息,所述重定向响应消 息中携带所述所请求的数据存储的新路径。

数据服务器确定第一数据请求消息中所请求的 数据在本数据服务器,但已 经不存储在原来的文件路径下, 查找到所述所请求的数据目前存储的文件路 径, 例如: 目前的存储路径为 www.abc.com/456, 则在所述重定向响应消息中 携带 www.abc.com/456。

数据服务器响应 30*(302/303/307), 并在响应头域 location中注明需要重定 向到本主机的 www.abc.com/456文件路径下;

S220、 代理服务器向数据服务器发送第二数据请求消 息。

第二数据请求消息用于向数据服务器 www . a bc.com/456文件路径请求用户 端所请求的数据。

代理服务器向数据服务器发起对 www.abc.com/456文件路径中所述所请求 的数据的请求。

第二数据请求中携带所请求的数据的信息, 这样, 第二数据服务器就会查 找到所述所请求的数据。

S225、 数据服务器向代理服务器返回所请求的数据。

S230、 代理服务器向用户端返回用户端所请求的数据 。

S235、 代理服务器释放 TCP连接。

代理服务器分別拆除与 client和 HTTP server之间的 TCP连接, 以释放链路 资源, 从而提高链路资源的利用效率。

与现有技术中在重定向场景中用户端需要再向 数据服务器发送一次请求 过程相比, 本发明实施例提供的重定向数据业务代理的方 法, 可以由代理服务 器在重定向过程中代理用户端请求数据, 并将获取到的数据发送给用户端,从 而提高数据获取的效率, 从而降低了网络时延。

当本发明实施例中的数据是超文本传输协议 (Hypertext transfer protocol, HTTP)数据时, 从用户端到代理服务器再到数据服务器的数据 封装过程可以 为: 参阅图 4, 重定向场景下 HTTP请求通过代理服务器 PROXY协议栈流程:

①箭头: 用户端 client发起对网络中数据的请求, 由 client的 HTTP层封装 HTTP请求报文, 按照协议栈往下经过 TCP层的分片封装、 网络互连协议

( Internet Protocol, IP )层分片封装; client发出的请求经过传输进入代理服务 器 PROXY的协议栈, 由于是与 client交互, 在 TCP建链过程 PROXY协议栈的服 务器 server侧会创建与之通信的栈 socket, 报文经过 TCP/IP解封装和重组后在 HTTP层被解析;

②箭头: HTTP请求需要由代理再发送给网络服务器, 由代理协议栈的 client侧基于协议栈结构一层一层封装数据和分 片, 同样 client侧的 socket在 TCP 建链过程已建立; HTTP请求进入网络服务器的协议栈中, IP/TCP/HTTP层处 理与 PROXY—致。 在智能重定向场景中, 网络服务器的 HTTP层解析请求报文 获取对象路径时发现用户端 client需要获取的对象数据已经不在本文件路径 下, 甚至已不在当前服务器。 到此 HTTP事务上行报文处理流程结束。

参阅图 5, 重定向场景下 HTTP响应通过代理服务器 PROXY协议栈流程: ①箭头: 在重定向场景中, 数据服务器的 HTTP层解析请求报文获取对象 路径时发现用户端 client需要获取的对象数据已经不在本文件路径 下, 甚至已 不在当前服务器。 因此网络服务器发出重定向响应报文;

②箭头: PROXY解析来自网络服务器的重定向响应后发起 重定向后的 服务器 (可以是原来的服务器,也可以是其他的数据 务器)之间的新 TCP连接, 并在此 TCP连接上发起获取新路径下数据内容的 HTTP请求;

③箭头: 新路径的网络服务器基于请求内容找到要获取 的对象后封装 HTTP响应返回给 PROXY;

④箭头: PROXY代理数据服务器基于 PROXY的 server侧与用户端 Client的 连接上将获取到的正确的响应数据后返回给用 户端 client解析和显示。 到此被 代理通过重定向优化的 HTTP事务下行处理流程结束。

参阅图 6, 本发明实施例提供的代理服务器的一实施例包 括:

接收单元 301 , 用于接收用户端发送的第一数据请求消息;

发送单元 302,用于根据所述接收单元 301接收的用户端发送的第一数据请 求消息中携带的数据存储路径, 向数据服务器转发所述第一数据请求消息, 所 述数据存储路径为所述用户端所请求的数据的 存储路径,所述第一数据请求消 息用于向所述数据服务器请求所述用户端所请 求的数据;

所述接收单元 301 , 还用于接收所述数据服务器发送的重定向响应 消息, 所述重定向响应消息中携带所述所请求的数据 存储的新路径;

生成单元 303 , 用于根据所述接收单元 301接收的所述重定向响应消息, 生 成第二数据请求消息;

所述发送单元 302, 还用于根据所述所请求的数据存储的新路径, 向所述 新路径所指示的数据服务器发送所述生成单元 生成的所述第二数据请求消息, 所述第二数据请求消息用于向所述新路径所指 示的数据服务器请求所述用户 端所请求的数据;

所述接收单元 301 , 还用于接收所述新路径所指示的数据服务器发 送的所 述所请求的数据;

所述发送单元 302, 还用于向所述用户端发送所述所请求的数据, 以使所 述用户端获取所述所请求的数据。

本发明实施例中, 接收单元 301接收用户端发送的第一数据请求消息; 发 送单元 302根据所述接收单元 301接收的用户端发送的第一数据请求消息中携 带的数据存储路径, 向数据服务器转发所述第一数据请求消息, 所述数据存储 路径为所述用户端所请求的数据的存储路径, 所述第一数据请求消息用于向所 述数据服务器请求所述用户端所请求的数据; 所述接收单元 301还接收所述数 据服务器发送的重定向响应消息,所述重定向 响应消息中携带所述所请求的数 据存储的新路径;生成单元 303根据所述接收单元 301接收的所述重定向响应消 息, 生成第二数据请求消息, 所述第二数据请求消息用于向所述新路径所指 示 的数据服务器请求所述用户端所请求的数据; 所述发送单元 302还根据所述所 请求的数据存储的新路径,向所述新路径所指 示的数据服务器发送所述生成单 元生成的所述第二数据请求消息; 所述接收单元 301还接收所述新路径所指示 的数据服务器发送的所述所请求的数据; 所述发送单元 302还向所述用户端发 送所述所请求的数据, 以使所述用户端获取所述所请求的数据。 与现有技术中 在重定向场景中用户端需要再向数据服务器发 送一次请求过程相比,本发明实 施例提供的代理服务器, 可以在重定向过程中代理用户端请求数据, 并将获取 到的数据发送给用户端, 从而提高数据获取的效率, 从而降低了网络时延。

在上述图 6对应的实施例的基础上, 本发明实施例提供的代理服务器的另 一实施例中,

所述发送单元 302, 用于向所述新路径所指示的另一数据服务器发 送第二 数据请求消息;

所述接收单元 301 , 用于接收所述另一数据服务器发送的所述所请 求的数 据。

在上述图 6对应的实施例的基础上, 本发明实施例提供的代理服务器的另 一实施例中,

所述发送单元 302, 用于向所述新路径所指示的所述数据服务器发 送第二 数据请求消息;

所述接收单元 301 , 用于接收所述数据服务器发送的所述所请求的 数据, 所述所请求的数据存储在所述新路径所指示的 文件路径下的。

在上述图 6对应的实施例的基础上, 参阅图 7, 本发明实施例提供的代理服 务器的另一实施例中,

所述代理服务器 30还包括:

第一连接建立单元 304, 用于在所述发送单元向数据服务器转发所述第 一 数据请求消息之前, 与所述用户端和所述数据服务器建立传输控制 协议 TCP连 接。

在上述图 6对应的实施例的基石出上, 参阅图 8, 本发明实施例提供的代理 服务器的另一实施例中, 所述代理服务器还包括:

第二连接建立单元 305 , 用于在所述发送单元向所述新路径所指示的另 一 数据服务器发送第二数据请求消息之前, 与所述另一数据服务器建立 TCP连 接。 本发明还提供一种计算机存储介质, 该介质存储有程序, 该程序执行时包 括上述重定向数据业务代理的方法中的部分或 者全部步骤。

图 9是本发明实施例代理服务器 30的结构示意图。 代理服务器 30可包括输 入设备 310、 输出设备 320、 处理器 330和存储器 340。

存储器 340可以包括只读存储器和随机存取存储器,并 向处理器 330提供指 令和数据。 存储器 340的一部分还可以包括非易失性随机存取存储 器 ( NVRAM )。

存储器 340存储了如下的元素, 可执行模块或者数据结构, 或者它们的子 集, 或者它们的扩展集:

操作指令: 包括各种操作指令, 用于实现各种操作。

操作系统: 包括各种系统程序, 用于实现各种基础业务以及处理基于硬件 的任务。

在本发明实施例中,处理器 330通过调用存储器 340存储的操作指令(该操 作指令可存储在操作系统中), 执行如下操作:

通过输入设备 310接收用户端发送的第一数据请求消息,通过 输出设备 320 转发用户端发送给数据服务器的第一数据请求 消息, 通过输入设备 310根据接 收的用户端发送的第一数据请求消息中携带的 数据存储路径,所述第一数据请 求消息用于向所述数据服务器请求所述用户端 所请求的数据,向数据服务器转 发所述第一数据请求消息,所述数据存储路径 为所述用户端所请求的数据的存 储路径, 通过输出设备 320接收所述数据服务器发送的重定向响应消息 , 所述 重定向响应消息中携带所述所请求的数据存储 的新路径, 通过输出设备 320根 据所述所请求的数据存储的新路径,向所述新 路径所指示的数据服务器发送第 二数据请求消息,所述第二数据请求消息用于 向所述新路径所指示的数据服务 器请求所述用户端所请求的数据, 通过输入设备 310接收所述新路径所指示的 数据服务器发送的所述所请求的数据, 通过输出设备 320向所述用户端发送所 述所请求的数据, 以使所述用户端获取所述所请求的数据。

与现有技术中在重定向场景中用户端需要再向 数据服务器发送一次请求 过程相比,本发明实施例提供的由代理服务器 在重定向过程中代理用户端请求 数据, 并将获取到的数据发送给用户端, 从而提高数据获取的效率, 从而降低 了网络时延。

处理器 330控制代理服务器 30的操作, 处理器 330还可以称为 CPU ( Central Processing Unit, 中央处理单元)。 存储器 340可以包括只读存储器和随机存取 存储器, 并向处理器 330提供指令和数据。存储器 340的一部分还可以包括非易 失性随机存取存储器 (NVRAM )。 具体的应用中, 代理服务器 30的各个组件 通过总线系统 350耦合在一起, 其中总线系统 350除包括数据总线之外,还可以 包括电源总线、控制总线和状态信号总线等。 但是为了清楚说明起见, 在图中 将各种总线都标为总线系统 350。

上述本发明实施例揭示的方法可以应用于处理 器 330中,或者由处理器 330 实现。 处理器 330可能是一种集成电路芯片, 具有信号的处理能力。 在实现过 件形式的指令完成。 上述的处理器 330可以是通用处理器、 数字信号处理器 ( DSP )、 专用集成电路(ASIC )、 现成可编程门阵列 (FPGA )或者其他可编 程逻辑器件、 分立门或者晶体管逻辑器件、 分立硬件组件。 可以实现或者执行 本发明实施例中的公开的各方法、 步骤及逻辑框图。通用处理器可以是微处理 器或者该处理器也可以是任何常规的处理器等 。结合本发明实施例所公开的方 法的步骤可以直接体现为硬件译码处理器执行 完成,或者用译码处理器中的硬 件及软件模块组合执行完成。 软件模块可以位于随机存储器, 闪存、 只读存储 器, 可编程只读存储器或者电可擦写可编程存储器 、寄存器等本领域成熟的存 储介质中。 该存储介质位于存储器 340, 处理器 330读取存储器 340中的信息, 结合其硬件完成上述方法的步骤。

可选地, 所述输出设备 320, 用于向所述新路径所指示的另一数据服务器 发送第二数据请求消息;

所述输入设备 310, 用于接收所述另一数据服务器发送的所述所请 求的数 据。

可选地, 所述输出设备 320, 用于向所述新路径所指示的所述数据服务器 发送第二数据请求消息;

所述输入设备 310, 用于接收所述数据服务器发送的所述所请求的 数据, 所述所请求的数据存储在所述新路径所指示的 文件路径下的。

可选地, 所述处理器 330, 用于向数据服务器转发所述第一数据请求消息 之前, 与所述用户端和所述数据服务器建立传输控制 协议 TCP连接。

可选地, 所述处理器 330, 还用于向数据服务器转发所述第一数据请求消 息之前, 与所述用户端和所述数据服务器建立传输控制 协议 TCP连接。

参阅图 10, 本法实施例提供的数据获取系统的一实施例包 括: 用户端 20、 代理服务器 30和数据服务器 40;

所述用户端 20向代理服务器 30发送第一数据请求消息,所述第一数据请 求消息中携带的数据存储路径,所述数据存储 路径为所述用户端所请求的数据 的存储路径,所述第一数据请求消息用于向所 述数据服务器请求所述用户端所 请求的数据;

所述数据服务器 40存储有用户端所请求的数据;

代理服务器 30,用于根据接收的用户端发送的第一数据请求 消息中携带的 数据存储路径, 向数据服务器转发所述第一数据请求消息, 所述数据存储路径 为所述用户端所请求的数据的存储路径,接收 所述数据服务器发送的重定向响 应消息, 所述重定向响应消息中携带所述所请求的数据 存储的新路径,根据所 述所请求的数据存储的新路径,向所述新路径 所指示的数据服务器发送第二数 据请求消息,所述第二数据请求消息用于向所 述新路径所指示的数据服务器请 求所述用户端所请求的数据,接收所述新路径 所指示的数据服务器发送的所述 所请求的数据, 并向所述用户端发送所述所请求的数据, 以使所述用户端获取 所述所请求的数据。 本领域普通技术人员可以理解上述实施例的各 种方法中的全部或部分步 骤是可以通过程序来指令相关的硬件来完成, 该程序可以存储于一计算机可读 存储介质中, 存储介质可以包括: ROM、 RAM, 磁盘或光盘等。

以上对本发明实施例所提供的重定向数据业务 代理的方法、设备以及系统 述, 以上实施例的说明只是用于帮助理解本发明的 方法及其核心思想; 同时, 对于本领域的一般技术人员,依据本发明的思 想,在具体实施方式及应用范围 上均会有改变之处, 综上所述, 本说明书内容不应理解为对本发明的限制。