一种基于反向代理服务器处理请求的方法和装置的制造方法

文档序号:8301738阅读:525来源:国知局
一种基于反向代理服务器处理请求的方法和装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,特别是涉及一种基于反向代理服务器处理请求的方法和一种基于反向代理服务器处理请求的装置。
【背景技术】
[0002]反向代理(Reverse Proxy)方式是指以代理服务器来接受网络上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给网络上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
[0003]以下载请求为例,反向代理服务器对外提供文件下载服务,用户发起下载请求,发送到反向代理服务器,将请求下载的文件从后端文件系统集群拉取到反向代理服务器,发送到客户端。
[0004]如上所述,下载一个文件,一般存在从文件系统集群到反向代理服务器,从反向代理服务器到客户端的两个过程。
[0005]一方面,文件系统集群到反向代理服务器之间的网络,为局域网,速度较快,如lOM/s,当下载大文件时,可能会瞬间达到网卡最大带宽,下载大型文件时,容易导致反向代理服务器跟文件系统集群的网络I/O过高,资源消耗很大。
[0006]另一方面,反向代理服务器与客户端之间的网络,一般为互联网,速度较慢,如IM/S,远小于获取文件的速度,受限于数据的传输端口,不能及时发送到客户端的数据会在反向代理服务器上暂存,导致反向代理服务器的磁盘I/O负载过高,浪费大量的存储空间,系统资源消耗很大,效率很低。

【发明内容】

[0007]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于反向代理服务器处理请求的方法和相应的一种基于反向代理服务器处理请求的装置。
[0008]依据本发明的一个方面,提供了一种基于反向代理服务器处理请求的方法,包括:
[0009]接收客户端的处理请求;
[0010]将所述处理请求按照串行模式分拆成一个或多个处理子请求,以依次从服务器获取响应所述一个或多个处理子请求的一个或多个响应信息;以及
[0011]将所述一个或多个响应信息返回所述客户端。
[0012]可选地,所述处理请求包括下载请求,所述下载请求用于请求下载文件;
[0013]所述将所述处理请求按照串行模式分拆成一个或多个处理子请求,以依次从服务器获取与一个或多个响应信息的步骤进一步包括:
[0014]确定当前请求下载的文件的数据范围;
[0015]将所述数据范围添加到所述下载请求中,以生成处理子请求;
[0016]将所述处理子请求发送至服务器;
[0017]接收所述服务器针对所述处理子请求返回的响应信息,其中所述响应信息中包括所述数据范围对应的数据块;
[0018]判断当前是否获取文件完成;以及
[0019]当获取文件未完成时,返回执行所述确定当前请求下载的文件的数据范围的步骤。
[0020]可选地,所述确定当前请求下载的文件的数据范围的步骤进一步包括:
[0021]将初始的数据范围设置为当前请求下载的文件的数据范围;以及
[0022]和/ 或,
[0023]将与上一数据范围相邻的数据范围设置为当前请求下载的文件的数据范围。
[0024]可选地,所述将所述处理子请求发送至服务器的步骤进一步包括:
[0025]通过负载均衡将所述处理子请求发送至服务器。
[0026]可选地,所述判断当前是否获取文件完成的步骤进一步包括:
[0027]从所述响应信息中提取当前返回的数据块的数据范围、所述文件的长度;
[0028]确定当前返回的数据块的数据范围与所述文件的长度是否匹配;以及
[0029]若是,则判断获取文件完成,否则,判断获取文件未完成。
[0030]可选地,所述将所述一个或多个响应信息返回所述客户端的步骤进一步包括:
[0031]从所述响应信息中删除当前返回的数据块的数据范围;以及
[0032]将删除当前返回的数据块的数据范围之后的响应信息返回所述客户端。
[0033]根据本发明的另一方面,提供了一种基于反向代理服务器处理请求的装置,包括:
[0034]处理请求接收模块,适于接收客户端的处理请求;
[0035]请求分拆响应模块,适于将所述处理请求按照串行模式分拆成一个或多个处理子请求,以依次从服务器获取响应所述一个或多个处理子请求的一个或多个响应信息;以及
[0036]响应信息返回模块,适于将所述一个或多个响应信息返回所述客户端。
[0037]可选地,所述处理请求包括下载请求,所述下载请求用于请求下载文件;所述请求分拆响应模块还适于:
[0038]确定当前请求下载的文件的数据范围;
[0039]将所述数据范围添加到所述下载请求中,以生成处理子请求;
[0040]将所述处理子请求发送至服务器;
[0041]接收所述服务器针对所述处理子请求返回的响应信息;所述响应信息中包括所述数据范围对应的数据块;
[0042]判断当前是否获取文件完成;以及
[0043]当获取文件未完成时,返回执行所述确定当前请求下载的文件的数据范围的步骤。
[0044]可选地,所述请求分拆响应模块还适于:
[0045]将初始的数据范围设置为当前请求下载的文件的数据范围;以及
[0046]和/ 或,
[0047]将与上一数据范围相邻的数据范围设置为当前请求下载的文件的数据范围。
[0048]可选地,所述请求分拆响应模块还适于:
[0049]通过负载均衡将所述处理子请求发送至服务器。
[0050]可选地,所述请求分拆响应模块还适于:
[0051]从所述响应信息中提取当前返回的数据块的数据范围、所述文件的长度;
[0052]确定当前返回的数据块的数据范围与所述文件的长度是否匹配;以及
[0053]若是,则判断获取文件完成,否则,判断获取文件未完成。
[0054]可选地,所述响应信息返回模块还适于:
[0055]从所述响应信息中删除当前返回的数据块的数据范围;以及
[0056]将删除当前返回的数据块的数据范围之后的响应信息返回所述客户端。
[0057]本发明实施例将客户端的处理请求分拆为一个或多个处理子请求,以串行模式逐次响应,一方面,反向代理服务器与服务器之间交互处理子请求对应的响应信息,降低了响应信息的数据量,降低了反向代理服务器与服务器的网络1/0,降低了资源消耗,另一方面,由于响应信息的数据量减少了,可以减少在反向代理服务器暂存的数据量,降低反向代理服务器的磁盘1/0,减少存储空间的浪费,进一步降低资源消耗,提高了处理请求的效率。
[0058]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0059]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0060]图1为根据本发明一个实施例的一种基于反向代理服务器处理请求的方法实施例I的步骤流程图;
[0061]图2为根据本发明一个实施例的一种基于反向代理服务器的系统架构示意图;
[0062]图3为根据本发明一个实施例的一种基于反向代理服务器处理请求的方法实施例2的步骤流程图;以及
[0063]图4为根据本发明一个实施例的一种基于反向代理服务器处理请求的装置实施例的方块示意图。
【具体实施方式】
[0064]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0065]参照图1,示出了根据本发明一个实施例的一种基于反向代理服务器处理请求的方法实施例1的步骤流程图,具体可以包括如下步骤:
[0066]步骤101,接收客户端的处理请求;
[0067]步骤102,将所述处理请求按照串行模式分拆成一个或多个处理子请求,以依次从服务器获取响应所述一个或多个处理子请求的一个或多个响应信息;
[0068]步骤103,将所述一个或多个响应信息返回所述客户端。
[0069]如图2所示,反向代理服务器201可以代理外部网络(如因特网Internet 204)上的主机,如客户端(Client) 205、客户端(Client) 206、客户端(Client) 207等,访问内部网络(如WEB服务器202、文件服务器203等)时,这种代理服务的方式称为反向代理服务。
[0070]此时,反向代理服务器201对外可以表现为一个应用服务器(如WEB服务器),外部网络的主机可以简单把它当作一个标准的应用服务器而不需要特定
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1